
//alloc(newmem,2048,"DiabloImmortal.exe"+FFAB2D)
//alloc(newmem,2048,"DiabloImmortal.exe"+100910D)
//alloc(newmem,2048,"DiabloImmortal.exe"+10055DD)
//alloc(newmem,2048,"DiabloImmortal.exe"+100665D)
alloc(newmem,2048,"DiabloImmortal.exe"+11753D0)

label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:

// asm_render_mini_tiled03.CEA find shadow mini map

//movss [rdi+14],xmm0
//mov [rdi+10],ecx
movss xmm1,[rbx+50]
// movss xmm0,[rbx+4C]
// mov eax,[rbx+48]


push rax // address
mov rax,newmem+500 // address 0x0 value vtmem

cmp [rbx+50],00000000 // Portal
jne exit01
//cmp [rbx+C],7F000000 // shadow mini map
//je exit01
cmp [rbx+C],BF000000 // shadow map
jne exit01
mov [rax+8*1],rbx
exit01:


//cmp [rbx+C],7F000000 // shadow mini map
//jne exit02
//cmp [rbx+24],7F000000 // shadow mini map
//jne exit02
//cmp [rbx+3C],7F000000 // shadow mini map
//jne exit02
//cmp [rbx+54],7F000000 // shadow mini map
//jne exit02
//mov [rax+8*3],rbx

//mov [rbx+C],FFFFFFFF // default 7F000000
//mov [rbx+24],FFFFFFFF // default 7F000000
//mov [rbx+3C],FFFFFFFF // default 7F000000
//mov [rbx+54],FFFFFFFF // default 7F000000
//exit02:

// shadow mini map
cmp [rbx-C],(float)334 // 354-20
jb exit03
cmp [rbx-C],(float)374 // 354+20
ja exit03
cmp [rbx-8],(float)216 // 236-20
jb exit03
cmp [rbx-8],(float)256 // 236+20
ja exit03
cmp [rbx+C],7F000000 // shadow map
jne exit03
mov [rax+8*3],rbx

mov [rbx+C],FFFFFFFF // default 7F000000
mov [rbx+24],FFFFFFFF // default 7F000000
mov [rbx+3C],FFFFFFFF // default 7F000000
mov [rbx+54],FFFFFFFF // default 7F000000
exit03:



// shadow map
cmp [rbx-C],(float)1314 // 1334-20
jb exit04
cmp [rbx-C],(float)1354 // 1334+20
ja exit04
cmp [rbx-8],(float)910 // 930-20
jb exit04
cmp [rbx-8],(float)950 // 930+20
ja exit04
cmp [rbx+C],BF000000 // shadow map
jne exit04
mov [rax+8*4],rbx

mov [rbx+C],FFFFFFFF // default BF000000
mov [rbx+24],FFFFFFFF // default BF000000
mov [rbx+3C],FFFFFFFF // default BF000000
mov [rbx+54],FFFFFFFF // default BF000000
exit04:

pop rax

exit:
jmp returnhere




//"DiabloImmortal.exe"+FFAB2D:
//"DiabloImmortal.exe"+100910D:
//"DiabloImmortal.exe"+10055DD:
//"DiabloImmortal.exe"+100665D:
"DiabloImmortal.exe"+11753D0:


jmp newmem
returnhere:

