//alloc(newmem,2048,"DiabloImmortal.exe"+D175C3)
alloc(newmem,2048,"DiabloImmortal.exe"+D2D4C3)

label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:
//movss xmm9,[r15+10] > movss xmm9,[r15+14]
//movss xmm10,[r15+18]
//movss xmm11,[r15+1C]
movss xmm13,[r15-34]
movss xmm14,[r15-30]
movss xmm15,[r15-2C]

push rax // address

mov rax,newmem+500 // address 0x0 value vtmem

//cmp [r15-34],00
//je exit01

// x = 62.22008896
// y = 436.6488647

// 659.9868164 potion
// 141.2221985


cmp [r15-34],(float)627// 633-20
jb exit01
cmp [r15-34],(float)636 // 633+20
ja exit01
cmp [r15-30],(float)72 // 75-20
jb exit01
cmp [r15-30],(float)78 // 75+20
ja exit01
cmp [r15-34-C],(float)160 // 165-20
jb exit01
cmp [r15-34-C],(float)170 // 165+20
ja exit01

mov [r15-34+0],(float)400
mov [r15-34+4],(float)550
mov [r15-34+18],(float)400
mov [r15-34+1C],(float)300
mov [r15-34+30],(float)1200
mov [r15-34+34],(float)300
mov [r15-34+48],(float)1800
mov [r15-34+4C],(float)500

mov [rax+0],r15 // 6C bat = 0 tat = 1, +2C x y hps
mov [rax+8],r15 //  [rbx-8] = float x float y

exit01:

pop rax


exit:
jmp returnhere

//  7FF6F5FDD055

//"DiabloImmortal.exe"+D175C3:
"DiabloImmortal.exe"+D2D4C3:

jmp newmem
nop
returnhere:

