alloc(newmem,2048,"DiabloImmortal.exe"+2D9C9F) 
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:
mov rax,[rbx+38]
mov rsi,[rax]
//  mov rax,[r15]

// movss xmm1,[rax+10]
// ucomiss xmm1,xmm0

// [rbx+38] = id enemy
// [rax] = [enemy id]
// rsi = id enemy
// rbx+A8 = 736E6F4D Monster
// rbx+C8 = float x
// rbx+D0 = float y

// monter ngoai man hinh > "DiabloImmortal.exe"+2D9CA3 loi
// chuyen sang "DiabloImmortal.exe"+2D9C96

push rax // address
mov rax,newmem+500 // address 0x0 value vtmem

//mov byte ptr [rcx+6C],01 // test

cmp byte ptr[rsi+1],00 // id enemy
jne exit01
cmp byte ptr[rsi+5],00 // id enemy
jne exit01

cmp [rbx+A8],736E6F4D // Monster
jne exit01
cmp [rbx+AC],00726574 // Monster
jne exit01

cmp [rax+8*1],000000 // reset
jne if01
mov [rax+8*1],rbx // rbx+38 = id enemy //mov [rax+8],rsi
cmp [rax+8*1],000000 // reset
jne exit01 // exit loop chua kip check cmp moi
if01:

cmp [rax+8*2],000000 // reset
jne if02
mov [rax+8*2],rbx // rbx+38 = id enemy //mov [rax+8],rsi
cmp [rax+8*2],000000 // reset
jne exit01 // exit loop chua kip check cmp moi
if02:

cmp [rax+8*3],000000 // reset
jne if03
mov [rax+8*3],rbx // rbx+38 = id enemy //mov [rax+8],rsi
cmp [rax+8*3],000000 // reset
jne exit01 // exit loop chua kip check cmp moi
if03:

cmp [rax+8*4],000000 // reset
jne if04
mov [rax+8*4],rbx // rbx+38 = id enemy //mov [rax+8],rsi
cmp [rax+8*4],000000 // reset
jne exit01 // exit loop chua kip check cmp moi
if04:

cmp [rax+8*5],000000 // reset
jne if05
mov [rax+8*5],rbx // rbx+38 = id enemy //mov [rax+8],rsi
cmp [rax+8*5],000000 // reset
jne exit01 // exit loop chua kip check cmp moi
if05:

cmp [rax+8*6],000000 // reset
jne if06
mov [rax+8*6],rbx // rbx+38 = id enemy //mov [rax+8],rsi
cmp [rax+8*6],000000 // reset
jne exit01 // exit loop chua kip check cmp moi
if06:

cmp [rax+8*7],000000 // reset
jne if07
mov [rax+8*7],rbx // rbx+38 = id enemy //mov [rax+8],rsi
cmp [rax+8*7],000000 // reset
jne exit01 // exit loop chua kip check cmp moi
if07:

cmp [rax+8*8],000000 // reset
jne if08
mov [rax+8*8],rbx // rbx+38 = id enemy //mov [rax+8],rsi
cmp [rax+8*8],000000 // reset
jne exit01 // exit loop chua kip check cmp moi
if08:

cmp [rax+8*9],000000 // reset
jne if09
mov [rax+8*9],rbx // rbx+38 = id enemy //mov [rax+8],rsi
cmp [rax+8*9],000000 // reset
jne exit01 // exit loop chua kip check cmp moi
if09:

exit01:








pop rax


exit:
jmp returnhere

"DiabloImmortal.exe"+2D9C9F:
jmp newmem
nop
nop
returnhere:

