alloc(newmem,2048,"DiabloImmortal.exe"+10F39F5) 
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:
sub rcx,rdx
// nop [rax+rax+00000000] // dong này báo lỗi đổi thành 8 nop thay thế
db 0F 1F 84 00 00 00 00 00 // opcode cua nop [rax+rax+00000000]

//movzx r9d,word ptr [rcx+rdx]
//cmp r9w,[rdx]


// new func 1 RCX bi doi thanh RDX


push rax
mov rax,newmem+500 // vtmem

cmp [rdx+0],00380023 // ok #8c774a  Elder Rift + Westmarch + Challenge Rift
jne exit01
cmp [rdx+4],00370063 // #8c774a  Elder Rift + Westmarch + Challenge Rift
jne exit01
mov [rax+8*20],1
mov [rax+8*21],rdx
exit01:

cmp [rdx+E],0069004B // ok  Kill the Rift Guardian
jne exit02
cmp [rdx+20],00690052 // Rift
jne exit02
mov [rax+8*0],2
mov [rax+8*1],rdx
exit02:


cmp [rdx+E],006E0049 // ok Inventory Full
jne exit03
cmp [rdx+22],00750046 // Full
jne exit03
mov [rax+8*10],3
mov [rax+8*11],rdx
exit03:



cmp [rdx+0],0061004E // ok Navigation Paused
jne exit06
cmp [rdx+16],00610050 // Paused
jne exit06
mov [rax+8*50],6
mov [rax+8*51],rdx
exit06:


cmp [rdx+E],0069004B // ok Kill enemies quickly
jne exit10
cmp [rdx+28],00750071 // quickly
jne exit10
mov [rax+8*0],2
mov [rax+8*1],rdx
exit10:


cmp [rdx+0],00300023 // ok #00ff2aClosing in: 02:23
jne exit14
cmp [rdx+10],006F006C // losi
jne exit14
cmp [rdx+20],003A006E // n: 0
jne exit14
mov [rax+8*81],rdx
exit14:


cmp [rdx+0],006C0043 // ok Clans unlocked
jne exit15
cmp [rdx+C],006E0075 // unlo
jne exit15
mov [rax+8*60],7
mov [rax+8*61],rdx
exit15:



// #8c774a > _8c774aElder Riftt xoa name map
cmp [rdx+0],00380023 // Elder Rift
jne exit08
cmp [rdx+1A],00690052 // Rift
jne exit08
mov byte ptr[rdx+E],00
mov [rax+8*20],1
mov [rax+8*21],rdx
exit08:


// #8c774a > _8c774 get xoa name map
cmp [rdx+0],00380023 // Elder Rift
jne exit09
cmp [rdx+10],0064006C // Elder Rift
jne exit09
mov [rax+8*20],1
mov [rax+8*21],rdx
exit09:


// #a79973Time expired
cmp [rdx+E],00690054 // Time expired
jne exit17
cmp [rdx+18],00780065 // expired
jne exit17
mov [rax+8*70],3
mov [rax+8*71],rdx
exit17:

pop rax



exit:
jmp returnhere

"DiabloImmortal.exe"+10F39F5:
jmp newmem
nop
nop
nop
nop
nop
nop
returnhere:

