alloc(newmem,2048,"DiabloImmortal.exe"+251DA35) 
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:

// byte ptr [rdi+158],3F > 0F tat fog

// byte ptr [rdi+228],20 = bat 00 = tat

//[rdi+298] = float X LEFT+UP 511
//[rdi+29C] = float Y LEFT+UP 510

//[rdi+2E0] = float X RIGHT+DOWN 677
//[rdi+2E4] = float Y RIGHT+DOWN 383


push rax // address
mov rax,newmem+500 // address 0x0 value vtmem +500 ko du > +1000

cmp rdi,0 // address check
je if01
cmp byte ptr [rdi+158],3F // 425+20
jne if01
cmp [rdi+70],(float)572 // 425+20 > 28C > 70
jne if01
cmp byte ptr [rdi+000001D0],20
jne if01
mov byte ptr [rdi+158],0F // number map
if01:



pop rax

//mov [rdi+000002C0],rbx  //mov [rdi+00000320],rbx ( cu )
mov r14,[rsp+00000188]
//mov r15,[rsp+38]
//mov bpl,01
//test byte ptr [rdi+000001D0],20  //test byte ptr [rdi+00000228],20 ( cu ) // ko du byte > mov r14,[rsp+00000188]





exit:
jmp returnhere

"DiabloImmortal.exe"+251DA35:
jmp newmem
nop
nop
nop
returnhere:

