alloc(newmem,2048,"DiabloImmortal.exe"+632744) 
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:

// cach tim ma #8c774a > find what > [r10]>0>0 #8c774a
// [r10]>0>0 = #8c774a
// [rcx]>0 = #8c774a

//lea r14,[rcx+000000C0]
//mov r9,[r10+10]
mov rcx,r10
mov r11,[r10+18]
//mov r11,[r10+18]

push rax
push rcx
mov rax,newmem+500 // vtmem



mov rcx,[r10]
movzx rdx, byte ptr [rcx]
cmp dl, 0x20
jb exit03
cmp dl, 0x7E
ja exit03
cmp [rcx+0],00380023 // #8c774a  Elder Rift + Westmarch + Challenge Rift
jne exit03
cmp [rcx+4],00370063 // #8c774a  Elder Rift + Westmarch + Challenge Rift
jne exit03
mov [rax+8*10],r10
exit03:

pop rcx
pop rax


exit:
jmp returnhere

"DiabloImmortal.exe"+632744:
jmp newmem
nop
nop
returnhere:

