alloc(newmem,2048,"DiabloImmortal.exe"+6ABB9D) 
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:

// rcx + 59 = bat 1 tat 0
// rcx + 50 > float hp xy + float xy enemy

//rcx + 60 = size y (float)25
//rcx + 64 = size x (float)90
//rcx + 68 = size z (float)2

//rcx + 70 = size hex 3FEF1633  player
//rcx + 74 = size hex BB0C0CE9  enemy

// cmp byte ptr [rcx+59],00 // > ko du byte > movss xmm2,[rcx+60]

//movss [rsp+38],xmm2
movss xmm2,[rcx+60]
//mulss xmm1,xmm2
//movaps xmm6,xmm2


push rax // address
mov rax,newmem+500 // address 0x0 value vtmem





cmp [rcx+60],(float)25 // 67-20
jne if00
cmp [rcx+64],(float)90 // 67+20
jne if00
cmp [rcx+68],(float)2 // 425-20
jne if00
cmp [rcx+70],(float)4 // player chinh = 4
je if00

mov [rax+8*0],rcx
if00:


cmp [rcx+60],(float)25 // 67-20
jne if01
cmp [rcx+64],(float)90 // 67+20
jne if01
cmp [rcx+68],(float)2 // 425-20
jne if01
cmp [rcx+70],(float)4 // player chinh = 4
je if01

cmp [rcx+70],(float)2.2 // 67-20
jb if01
cmp [rcx+70],(float)2.4 // 67+20
ja if01

mov [rax+8*1],rcx
if01:




pop rax



exit:
jmp returnhere

"DiabloImmortal.exe"+6ABB9D:
jmp newmem
returnhere:

