Function at 0x180020700
Capabilities:
Read .ini file

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x180147030]
xor rax, rsp
mov qword [rbp - 8], rax
xor ecx, ecx
mov eax, 6
xor ebx, ebx
mov dword [rbp - 0x20], eax
mov dword [rbp - 0x1c], 0x4a20284c
mov r9b, 0xe0
mov dword [rbp - 0x18], 0x27073026
mov r8b, 0x27
mov byte [rbp - 0x14], r9b
mov edx, ebx
mov word [rbp - 0x13], cx
mov byte [rbp - 0x11], cl
test eax, eax
je 0x180020789
nop dword [rax]
nop dword [rax + rax]
mov eax, edx
lea rcx, [rbp - 0x1c]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp - 0x20]
cmp edx, eax
jae 0x180020789
movzx r9d, byte [rbp - 0x14]
movzx r8d, byte [rbp - 0x15]
jmp 0x180020760
mov rdi, qword [0x180148968]
mov byte [rbp + rax - 0x1c], bl
lea rcx, [rdi + 0x4310]
call fcn.18008f520
mov ecx, eax
test eax, eax
je 0x1800207c4
lea rax, [rdi + 0x4300]
cmp ecx, 0xf
jle 0x1800207ba
mov rcx, rax
call fcn.18008f510
mov rcx, rax
call fcn.18008f550
jmp 0x1800207cb
lea rax, str.null
lea rdx, [rbp - 0x1c]
mov rcx, rax
call fcn.18008f420
test al, al
je 0x180020c3d
mov edi, 7
mov dword [rbp - 0x1c], 0x4a20284c
mov eax, edi
mov r8b, 0x27
mov dword [rbp - 0x20], eax
mov r9b, 0xe0
mov dword [rbp - 0x18], 0x7563026
mov edx, ebx
mov dword [rbp - 0x14], 0xe027
nop word [rax + rax]
mov eax, edx
lea rcx, [rbp - 0x1c]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp - 0x20]
cmp edx, eax
jae 0x180020839
movzx r9d, byte [rbp - 0x13]
movzx r8d, byte [rbp - 0x14]
jmp 0x180020810
movdqa xmm0, xmmword [0x180133840]
mov r8b, 0x27
mov byte [rbp + rax - 0x1c], bl
mov r9b, 0xe0
movdqu xmmword [rbp - 0x4c], xmm0
mov dword [rbp - 0x50], 0x11
mov edx, ebx
mov dword [rbp - 0x3c], 0xe027072e
mov eax, edx
lea rcx, [rbp - 0x4c]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp - 0x50]
cmp edx, eax
jae 0x180020889
movzx r9d, byte [rbp - 0x39]
movzx r8d, byte [rbp - 0x3a]
jmp 0x180020860
mov rcx, qword [0x180148970]
lea r9, [rbp - 0x4c]
xor r8d, r8d
mov byte [rbp + rax - 0x4c], bl
lea rdx, [rbp - 0x1c]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbp - 0x5c], 0x4a20284c
mov r8b, 0x27
test eax, eax
mov dword [rbp - 0x58], 0x7503026
mov eax, edi
mov r9b, 0xe0
setne byte [0x180148522]
mov dword [rbp - 0x60], eax
mov dword [rbp - 0x54], 0xe027
mov edx, ebx
mov eax, edx
lea rcx, [rbp - 0x5c]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp - 0x60]
cmp edx, eax
jae 0x1800208f9
movzx r9d, byte [rbp - 0x53]
movzx r8d, byte [rbp - 0x54]
jmp 0x1800208d0
movdqa xmm0, xmmword [0x180133840]
mov r8b, 0x27
mov byte [rbp + rax - 0x5c], bl
mov r9b, 0xe0
movdqu xmmword [rbp - 0x34], xmm0
mov dword [rbp - 0x38], 0x11
mov edx, ebx
mov dword [rbp - 0x24], 0xe027072e
mov eax, edx
lea rcx, [rbp - 0x34]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp - 0x38]
cmp edx, eax
jae 0x180020949
movzx r9d, byte [rbp - 0x21]
movzx r8d, byte [rbp - 0x22]
jmp 0x180020920
mov rcx, qword [0x180148970]
lea r9, [rbp - 0x34]
xor r8d, r8d
mov byte [rbp + rax - 0x34], bl
lea rdx, [rbp - 0x5c]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbp - 0x1c], 0x4a20284c
mov r8b, 0x27
test eax, eax
mov dword [rbp - 0x18], 0x7423026
mov eax, edi
mov r9b, 0xe0
setne byte [0x180148528]
mov dword [rbp - 0x20], eax
mov dword [rbp - 0x14], 0xe027
mov edx, ebx
mov eax, edx
lea rcx, [rbp - 0x1c]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp - 0x20]
cmp edx, eax
jae 0x1800209b9
movzx r9d, byte [rbp - 0x13]
movzx r8d, byte [rbp - 0x14]
jmp 0x180020990
movdqa xmm0, xmmword [0x180133840]
mov r8b, 0x27
mov byte [rbp + rax - 0x1c], bl
mov r9b, 0xe0
movdqu xmmword [rbp - 0x4c], xmm0
mov dword [rbp - 0x50], 0x11
mov edx, ebx
mov dword [rbp - 0x3c], 0xe027072e
mov eax, edx
lea rcx, [rbp - 0x4c]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp - 0x50]
cmp edx, eax
jae 0x180020a09
movzx r9d, byte [rbp - 0x39]
movzx r8d, byte [rbp - 0x3a]
jmp 0x1800209e0
mov rcx, qword [0x180148970]
lea r9, [rbp - 0x4c]
xor r8d, r8d
mov byte [rbp + rax - 0x4c], bl
lea rdx, [rbp - 0x1c]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbp - 0x60], edi
mov r8b, 0x27
test eax, eax
mov dword [rbp - 0x5c], 0x4a20284c
mov dword [rbp - 0x58], 0x7553026
mov r9b, 0xe0
setne byte [0x180148520]
mov dword [rbp - 0x54], 0xe027
mov edx, ebx
nop
mov eax, edx
lea rcx, [rbp - 0x5c]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov edi, dword [rbp - 0x60]
cmp edx, edi
jae 0x180020a79
movzx r9d, byte [rbp - 0x53]
movzx r8d, byte [rbp - 0x54]
jmp 0x180020a50
movdqa xmm0, xmmword [0x180133840]
mov r8b, 0x27
mov byte [rbp + rdi - 0x5c], bl
mov r9b, 0xe0
movdqu xmmword [rbp - 0x34], xmm0
mov dword [rbp - 0x38], 0x11
mov edx, ebx
mov dword [rbp - 0x24], 0xe027072e
mov eax, edx
lea rcx, [rbp - 0x34]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp - 0x38]
cmp edx, eax
jae 0x180020ac9
movzx r9d, byte [rbp - 0x21]
movzx r8d, byte [rbp - 0x22]
jmp 0x180020aa0
mov rcx, qword [0x180148970]
lea r9, [rbp - 0x34]
xor r8d, r8d
mov byte [rbp + rax - 0x34], bl
lea rdx, [rbp - 0x5c]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov r9b, 0xe0
mov dword [rbp - 0x1c], 0x4a20284c
test eax, eax
mov dword [rbp - 0x18], 0xb07c3026
mov eax, 0xa
mov r8b, 0x27
setne byte [0x180148521]
mov dword [rbp - 0x20], eax
xor ecx, ecx
mov dword [rbp - 0x14], 0x270776ce
mov byte [rbp - 0x10], r9b
mov edx, ebx
mov word [rbp - 0xf], cx
mov byte [rbp - 0xd], cl
test eax, eax
je 0x180020b59
nop dword [rax]
nop dword [rax + rax]
mov eax, edx
lea rcx, [rbp - 0x1c]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp - 0x20]
cmp edx, eax
jae 0x180020b59
movzx r9d, byte [rbp - 0x10]
movzx r8d, byte [rbp - 0x11]
jmp 0x180020b30
movdqa xmm0, xmmword [0x180133840]
mov dl, 0x27
mov byte [rbp + rax - 0x1c], bl
mov r8b, 0xe0
movdqu xmmword [rbp - 0x4c], xmm0
mov dword [rbp - 0x50], 0x11
mov dword [rbp - 0x3c], 0xe027072e
nop dword [rax]
mov eax, ebx
lea rcx, [rbp - 0x4c]
add rcx, rax
inc ebx
movzx eax, byte [rcx]
sub al, r8b
xor al, dl
mov byte [rcx], al
mov eax, dword [rbp - 0x50]
cmp ebx, eax
jae 0x180020ba7
movzx r8d, byte [rbp - 0x39]
movzx edx, byte [rbp - 0x3a]
jmp 0x180020b80
mov rcx, qword [0x180148970]
lea r9, [rbp - 0x4c]
xor r8d, r8d
mov byte [rbp + rax - 0x4c], 0
lea rdx, [rbp - 0x1c]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov rdx, qword [0x180148cd8]
test eax, eax
lea rax, [0x18001ffb0]
setne byte [0x180148523]
mov qword [rbp - 0x20], rax
cmp rdx, qword [0x180148ce0]
je 0x180020bf5
mov qword [rdx], rax
add qword [0x180148cd8], 8
jmp 0x180020c05
lea r8, [rbp - 0x20]
lea rcx, [0x180148cd0]
call fcn.180002710
mov rdx, qword [0x180148e28]
lea rax, [0x18001f920]
cmp rdx, qword [0x180148e30]
mov qword [rbp - 0x20], rax
je 0x180020c2d
mov qword [rdx], rax
add qword [0x180148e28], 8
jmp 0x180020c3d
lea r8, [rbp - 0x20]
lea rcx, [0x180148e20]
call fcn.180002710
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.180123e40
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret