
//alloc(newmem,2048,"DiabloImmortal.exe"+3CB1BE)
//alloc(newmem,2048,"DiabloImmortal.exe"+3C5BCE)
//alloc(newmem,2048,"DiabloImmortal.exe"+3C6D0E)
alloc(newmem,2048,"DiabloImmortal.exe"+438E59)

label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:

// gia tri duoc tim bang x cua text name

// movups xmm0,[rsp+30]
movups [rdx+08],xmm0 // > lui ve movups xmm0,[rsp+30] vi tri nay bi crack
movups xmm1,[rsp+40]
// movups [rdx+18],xmm1
// mov [rdx+38],rdx
//add qword ptr [rcx+08],40

// rbx = xmm0 = rdx+8
// rdx+8 > 0 = text name
// rdx+8 > 90 = text fontC
// rdx+8 > 10C = text font size
// rdx+8 > 108 = tat = 00000101 bat = 01000000

// rdx+8 > 130 = color hex
// 756F6853 // color text vang npc nguoi choi
// 3F6DEDEE // color text trang nguoi choi
// 3F6FEFF0 color text vang item
// 3EC2C2C3 do xanh
// 3F2DADAE // color xanh name Guild

// [rdx+0] > 8 > 108 > tat = 00000101
// [rdx+8] > 0 > 0 = text name
// rdx+10 = float x
// rdx+14 = float y
// rdx+8 > 0 = text name > \Char\mon\devi
// [rbx+10] = string len


// new [rdx+8]>0>0 text name = text name  >>  [rbx+0]>0 = text name
// new rdx+10 = float x
// new rdx+14 = float y
// new [rdx+8]>E0 = color hex  >>  [rbx+E0] = color hex
// new [rdx+8]>B8 = tat = 00000101 bat = 01000000  >>  [rbx+B8] = bat tat
// new [rdx+8]>10  string len  >>  [rbx+10] = string len

push rax
push rcx


mov rax,newmem+500 // vtmem

//mov [rax+0],0 // reset = 0
cmp [rbx+B8],01000000 // color text name = 1
jne exit01

cmp [rbx+E0],3F2DADAE // color xanh name Guild
je exit01

cmp [rbx+E0],3F70F0F1 // color trang player + item
je exit01

cmp [rbx+E0],3F48C8C9 // color vang npc01
je exit01

cmp [rbx+E0],3F3EBEBF // color vang npc02
je exit01

cmp [rbx+E0],3F5ADADB // color xanh npc01
je exit01

cmp [rbx+E0],3F3EBEBF // color ko ro
je exit01

cmp [rbx+E0],3EFAFAFB // color ko ro
je exit01

cmp [rbx+E0],540993C0 // color ko ro
je exit01

cmp [rbx+0],006F0047 // Gold
je exit01

cmp [rbx+6],006F0047 // Gold
je exit01

cmp [rbx+8],006F0047 // Gold
je exit01

cmp [rbx+A],006F0047 // Gold
je exit01

cmp [rbx+C],006F0047 // Gold
je exit01

mov [rax+8*0],rdx
mov [rax+8*1],rbx

cmp [rbx+10],00000011 // string len 16+1 Rift Progress Orb
jne exit01
mov [rax+8*20],rdx
mov [rax+8*21],rbx
exit01:

// loi thoat gan cho market
//mov rcx, [rbx]
//cmp rcx, 0x10000000
//jb exit02
//cmp rcx, 0x7FFFFFFFFFFF
//ja exit02
//cmp [rcx+0],0042005B // [Blacksmith]
//jne exit02
//cmp [rcx+4],0061006C // [Blacksmith]
//jne exit02
//mov [rax+8*10],rdx
//mov [rax+8*11],rbx
//exit02:

cmp [rbx+B8],01000000 // color text name = 1
jne exit02
cmp [rbx+E0],3F48C8C9 // color text name [Blacksmith]
jne exit02
cmp [rbx+10],0000000C // [Blacksmith] stringlen
jne exit02
mov [rax+8*10],rdx
mov [rax+8*11],rbx
exit02:


cmp [rbx+B8],01000000 // color text name = 1
jne exit03
cmp [rbx+E0],3EECECED // color text name tim boss
jne exit03
mov [rax+8*10],rdx
mov [rax+8*11],rbx
exit03:

cmp [rbx+0],00000045 // #E   Return to Westmarch
je exit04
cmp [rbx+10],00000013 // 19 len Return to Westmarch
jne exit04
cmp [rbx+B8],01000000 // color text name = 1
jne exit04
cmp [rbx+E0],3F70F0F1 // color xanh name Guild
jne exit04
mov [rax+8*12],rdx
mov [rax+8*13],rbx
exit04:

//cmp [rbx+0],72616843 // follow > Charsi
//jne exit05
//cmp [rbx+2],69737261 // follow > Charsi
//jne exit05
//mov [rax+8*30],rdx
//mov [rax+8*31],rbx
//exit05:

//cmp [rbx+0],73796C41 // follow > Alyssa
//jne exit06
//cmp [rbx+2],61737379 // follow > Alyssa
//jne exit06
//mov [rax+8*30],rdx
//mov [rax+8*31],rbx
//exit06:

cmp byte ptr[rax+8*42],01 // color text name = 1
jne exit07
cmp [rbx+B8],01000000 // color text name = 1
jne exit07
cmp [rbx+0],00000045 // color text name tim boss
jne exit07
cmp [rbx+E0],3F6FEFF0 // color text name tim boss
jne exit07
mov [rax+8*40],rdx
mov [rax+8*41],rbx
mov [rbx+B8],00000101 // color text name = 1
exit07:




//Energy Globe
//Rift Progress Orb


pop rcx
pop rax



exit:
jmp returnhere




//"DiabloImmortal.exe"+3CB1BE:
//"DiabloImmortal.exe"+3C5BCE:
//"DiabloImmortal.exe"+3C6D0E:
"DiabloImmortal.exe"+438E59:


jmp newmem
nop
nop
nop
nop
returnhere:

