alloc(newmem,4048,"DiabloImmortal.exe"+1A8DC8F)
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:


// mov [rsp+0000013C],r15d
// mov [rsp+00000140],r15d
movzx eax,byte ptr [r12+00000148]
// mov [rsp+000000A0],al
// mov [rsp+000000A0],al




push rax
mov rax,newmem+1000 // vtmem

// Party
// Codex
// Settings
// World Map
// Westmarch
// Blacksmith
cmp byte ptr [r12+14D],00 // text LU CODEX + SKILL + SETTING + BLACKSMITH [rcx+B0]+50
je if00
cmp [r12+100],(float)47 // 67-20
jb if00
cmp [r12+100],(float)87 // 67+20
ja if00
cmp [r12+104],(float)405 // 425-20
jb if00
cmp [r12+104],(float)445 // 425+20
ja if00
mov [rax+8*0],1
if00:



pop rax






// rcx+133 = 1 tat = 0
// [rcx+B0]+50 = text
// rcx+C0 = text
// rcx+70 = float x min
// rcx+74 = float y min ( y = 500-y CT )

// rcx+50 = float x max ( x = x )
// rcx+54 = float y max ( y = 500-y CT )

// new func 2 tim ten Blacksmith > find out what movzx r9d,word ptr [rcx+rdx]

// r12+148 = bat1 = 0 tat1 = 1 > no gan text font
// khi bat "00 00 00 00 00 01 00 00"
// khi bat "00 00 00 00 00 02 00 00"
// khi tat "01 00 00 00 00 01 00 00"
// khi tat "01 00 00 00 00 02 00 00"

// r12+0 = 00007FF6486BCF48
// r12+1B8 > rax+10 = text fontC fontD, bat font tat .ont
// [r12+198] > [rax+0] = color + text wchar unicode
// r12+1A8 = string len , bat <> 0 tat = 0
// r12+100 > rax+5C = float x min
// r12+104 > rax+60 = float y min ( y = 500-y CT )


// r12+14D = bat2 = 0 tat2 = 1 > no gan text font

// [r12+198]+0 = color + text wchar unicode
// text all [rcx+B0]+[50]+[0]



exit:
jmp returnhere

"DiabloImmortal.exe"+1A8DC8F:
jmp newmem
nop
nop
nop
nop
returnhere:

