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 = x id boss red 3F7C0000
// rbx+5C = y
// 3F730000 enemy xanh
// 3EF80000 portal

// rbx+58 = id portal 3EF80000 x 609
// rbx+5C = id portal 3F310000 y 453
// rbx+60 = id portal C1C58F08

// 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],3EF80000 // C1C58F08 portal
jne exit03
cmp [rbx+5C],3F310000 // C1C58F08 portal
jne exit03
mov [rax+8*3],rbx
exit03:

cmp [rbx+0],(float)590 // 67-20
jb exit04
cmp [rbx+0],(float)640 // 67+20
ja exit04
cmp [rbx+4],(float)405 // 425-20
jb exit04
cmp [rbx+4],(float)500 // 425+20
ja exit04
mov [rax+8*4],rbx
exit04:

cmp [rbx+58],3F7D0000 // C1C58F08 Player
jne exit05
cmp [rbx+5C],3F200000 // C1C58F08 Player
jne exit05
mov [rax+8*5],rbx
exit05:


cmp [rbx+58],3F800000 // C1C58F08 Titled
jne exit06
cmp [rbx+5C],3F800000 // C1C58F08 Titled
jne exit06
cmp [rbx+128],440F0000 // 572 titled
je exit06
mov [rax+8*6],rbx
exit06:

pop rax


exit:
jmp returnhere

"DiabloImmortal.exe"+D31AD7:
jmp newmem
nop
nop
nop
returnhere:

