
//alloc(newmem,2048,"DiabloImmortal.exe"+DDD7E5)
//alloc(newmem,2048,"DiabloImmortal.exe"+F72465)
//alloc(newmem,2048,"DiabloImmortal.exe"+FA09D5)
alloc(newmem,2048,"DiabloImmortal.exe"+FA3395)


label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:
lea r9,[rbp-18]
mov r8,[r15+78] // goc ko du byte > lui ve lea r9,[rbp-20] > lea r9,[rbp-18] ( moi )
//mov rdx,[rbp-78]
//mov rcx,r14

// [r15+70] > 0 > 0 = gui_img_map34_standard
// [r8+8] > 0 = gui_img_map34_standard
// r8+C4 = zoom > FC
// r8+C8 = float x > 100

// r15+90 = address
// r15+240 = float y size 101.6419678
// r15+244 = float x size 482.7202454
// r15+248 = float y size 72.19429779
// r15+24C = float x size 453.272583


push rax // address
mov rax,newmem+500 // address 0x0 value vtmem

cmp [r8+FC],3F800000 // zoom
jne exit01
cmp [r8+100],440F0000 // floay x
jne exit01
mov [rax+8*0],r15
mov [rax+8*1],r8
mov [rax+8*2],r8
exit01:


cmp [r15+240],(float)81 // 101-20
jb exit04
cmp [r15+240],(float)121 // 101+20
ja exit04
cmp [r15+244],(float)462 // 482-20
jb exit04
cmp [r15+244],(float)502 // 482+20
ja exit04
mov [rax+8*4],r15

exit04:


pop rax

exit:
jmp returnhere


//"DiabloImmortal.exe"+DDD7E5:
//"DiabloImmortal.exe"+F72465:
//"DiabloImmortal.exe"+FA09D5:
"DiabloImmortal.exe"+FA3395:

jmp newmem
nop
nop
nop
returnhere:

