Function at 0x18009cd60
Capabilities:
Read .ini file

Disassembly:
test rcx, rcx
je 0x18009d0dd
mov rax, rsp
push rsi
push rdi
push r12
sub rsp, 0x190
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov rax, qword [0x1801dc960]
xor rax, rsp
mov qword [rsp + 0x180], rax
mov rbx, rdx
mov rdi, rcx
test rdx, rdx
je 0x18009d0b6
mov byte [rsp + 0x70], 0
xor edx, edx
mov r8d, 0x103
lea rcx, [rsp + 0x71]
call fcn.1800f4fb0
lea rcx, [rsp + 0x70]
sub rcx, rbx
nop dword [rax + rax]
movzx eax, byte [rbx]
mov byte [rcx + rbx], al
inc rbx
test al, al
jne 0x18009cdd0
cmp dword [0x1802210f4], 0
je 0x18009d0b6
mov r12d, 1
mov r8d, r12d
lea rdx, str.TipConfig.ini
lea rcx, [rsp + 0x40]
call fcn.18001f690
nop
cmp qword [rax + 0x20], 0x10
jb 0x18009ce12
mov r9, qword [rax + 8]
jmp 0x18009ce16
lea r9, [rax + 8]
xor r8d, r8d
lea rdx, str.MOVE_TIP
lea rcx, [0x180162144]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ebx, eax
cmp qword [rsp + 0x60], 0x10
jb 0x18009ce41
mov rcx, qword [rsp + 0x48]
call fcn.1800f4b9c
mov qword [rsp + 0x60], 0xf
xor ebp, ebp
mov qword [rsp + 0x58], rbp
mov byte [rsp + 0x48], bpl
cmp ebx, 1
jne 0x18009d0b6
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [0x1801deeb0]
lea ebx, [rax + 1]
movsxd rcx, ebx
call fcn.1800f9438
mov rsi, rax
mov r9d, ebx
mov r8, rax
xor edx, edx
mov rcx, rdi
call qword [0x1801deeb0]
test rsi, rsi
je 0x18009d0b6
mov edi, ebp
mov ebx, ebp
cmp dword [0x1802211f8], ebx
je 0x18009ced8
lea rcx, [rsp + 0x70]
call fcn.1800658c0
test eax, eax
jne 0x18009cec0
movzx ecx, byte [rsp + 0x70]
call fcn.180065cb0
test eax, eax
je 0x18009ced8
mov r8d, r12d
mov rdx, rsi
lea rcx, [0x1802211fc]
call fcn.18008f400
test eax, eax
cmovne edi, r12d
cmp dword [0x1802216ac], ebx
je 0x18009cf10
mov rcx, rsi
call fcn.1800658c0
test eax, eax
jne 0x18009cef8
movzx ecx, byte [rsi]
call fcn.180065cb0
test eax, eax
je 0x18009cf10
xor r8d, r8d
mov rdx, rsi
lea rcx, [0x18022138c]
call fcn.18008f400
test eax, eax
cmovne ebx, r12d
test edi, edi
je 0x18009cf1e
test ebx, ebx
jne 0x18009d0ae
jmp 0x18009cf26
test ebx, ebx
je 0x18009d0ae
mov byte [rsp + 0x70], bpl
xor edx, edx
mov r8d, 0x103
lea rcx, [rsp + 0x71]
call fcn.1800f4fb0
test edi, edi
je 0x18009cff8
mov r8d, r12d
lea rdx, str.TipConfig.ini
lea rcx, [rsp + 0x40]
call fcn.18001f690
nop
cmp qword [rax + 0x20], 0x10
jb 0x18009cf67
mov rax, qword [rax + 8]
jmp 0x18009cf6b
add rax, 8
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x70]
lea rbx, [0x180152644]
mov r8, rbx
lea rdx, str.MOVE_IN
lea rcx, [0x180162144]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
nop
cmp qword [rsp + 0x60], 0x10
jb 0x18009cfae
mov rcx, qword [rsp + 0x48]
call fcn.1800f4b9c
mov qword [rsp + 0x60], 0xf
mov qword [rsp + 0x58], rbp
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x38], ebp
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0x10
mov r9d, 3
xor r8d, r8d
xor edx, edx
lea rcx, [0x1801554c0]
call fcn.18008e860
jmp 0x18009d0ae
test ebx, ebx
je 0x18009d0ae
mov r8d, r12d
lea rdx, str.TipConfig.ini
lea rcx, [rsp + 0x40]
call fcn.18001f690
nop
cmp qword [rax + 0x20], 0x10
jb 0x18009d022
mov rax, qword [rax + 8]
jmp 0x18009d026
add rax, 8
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x70]
lea rbx, [0x180152644]
mov r8, rbx
lea rdx, str.MOVE_OUT
lea rcx, [0x180162144]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
nop
cmp qword [rsp + 0x60], 0x10
jb 0x18009d069
mov rcx, qword [rsp + 0x48]
call fcn.1800f4b9c
mov qword [rsp + 0x60], 0xf
mov qword [rsp + 0x58], rbp
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x38], ebp
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0x10
mov r9d, 3
xor r8d, r8d
xor edx, edx
lea rcx, [0x1801554c0]
call fcn.18008e860
mov rcx, rsi
call fcn.1800f93a8
mov rcx, qword [rsp + 0x180]
xor rcx, rsp
call fcn.1800f4f80
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r12
pop rdi
pop rsi
repz ret