alloc(newmem,2048,"DiabloImmortal.exe"+D31AD7) 
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:
// rbx+48 = x
// rbx+4C = y
// rbx+58 = id boss red 3F7C0000
// 3F730000 enemy xanh
// 3EF80000 portal

// rbx+58 = id portal 3EF80000
// rbx+5C = id portal 3F310000

// ui/Mapicon6_ui  enemy xanh


// movss xmm1,[rbx+50]
// movss xmm0,[rbx+4C]
mov eax,[rbx+48]
movss [rdi+24],xmm0

push rax // address
mov rax,newmem+500 // address 0x0 value vtmem

cmp [rbx+58],3F7C0000 // boss red 3F7C0000
jne exit01
mov [rax+8*0],rbx
exit01:

cmp [rbx+58],3EF80000 // 3EF80000 portal
jne exit02
mov [rax+8*1],rbx
exit02:


cmp [rbx+58],3F7C0000 // Elder Rift + Westmarch + Challenge Rift
je exit09
mov [rax+8*2],rbx
mov [rax+8*3],rbx
exit09:


pop rax


exit:
jmp returnhere

"DiabloImmortal.exe"+D31AD7:
jmp newmem
nop
nop
nop
returnhere:

