Function at 0x180020f70
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 [0x18013c030]
xor rax, rsp
mov qword [rbp - 0x10], rax
xor ecx, ecx
mov eax, 6
xor ebx, ebx
mov dword [rbp - 0x20], eax
mov dword [rbp - 0x1c], 0x2a231c4d
mov r9b, 0xdb
mov dword [rbp - 0x18], 0x24ff3926
mov r8b, 0x24
mov byte [rbp - 0x14], r9b
mov edx, ebx
mov word [rbp - 0x13], cx
mov byte [rbp - 0x11], cl
test eax, eax
je 0x180020ff9
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 0x180020ff9
movzx r9d, byte [rbp - 0x14]
movzx r8d, byte [rbp - 0x15]
jmp 0x180020fd0
mov rdi, qword [0x18013d928]
mov byte [rbp + rax - 0x1c], bl
lea rcx, [rdi + 0x4450]
call fcn.1800867a0
mov ecx, eax
test eax, eax
je 0x180021034
lea rax, [rdi + 0x4440]
cmp ecx, 0xf
jle 0x18002102a
mov rcx, rax
call fcn.180086790
mov rcx, rax
call fcn.1800867d0
jmp 0x18002103b
lea rax, str.null
lea rdx, [rbp - 0x1c]
mov rcx, rax
call fcn.1800866a0
test al, al
je 0x180021512
mov edi, 7
mov dword [rbp - 0x1c], 0x2a231c4d
mov eax, edi
mov r8b, 0x24
mov dword [rbp - 0x20], eax
mov r9b, 0xdb
mov dword [rbp - 0x18], 0xff503926
mov edx, ebx
mov dword [rbp - 0x14], 0xdb24
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 0x1800210a9
movzx r9d, byte [rbp - 0x13]
movzx r8d, byte [rbp - 0x14]
jmp 0x180021080
movdqa xmm0, xmmword [0x180128630]
mov r8b, 0x24
mov byte [rbp + rax - 0x1c], bl
mov r9b, 0xdb
movdqu xmmword [rbp - 0x4c], xmm0
mov dword [rbp - 0x50], 0x11
mov edx, ebx
mov dword [rbp - 0x3c], 0xdb24ff28
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 0x1800210f9
movzx r9d, byte [rbp - 0x39]
movzx r8d, byte [rbp - 0x3a]
jmp 0x1800210d0
mov rcx, qword [0x18013d930]
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], 0x2a231c4d
mov r8b, 0x24
test eax, eax
mov dword [rbp - 0x58], 0xff4e3926
mov eax, edi
mov r9b, 0xdb
setne byte [0x18013d521]
mov dword [rbp - 0x60], eax
mov dword [rbp - 0x54], 0xdb24
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 0x180021169
movzx r9d, byte [rbp - 0x53]
movzx r8d, byte [rbp - 0x54]
jmp 0x180021140
movdqa xmm0, xmmword [0x180128630]
mov r8b, 0x24
mov byte [rbp + rax - 0x5c], bl
mov r9b, 0xdb
movdqu xmmword [rbp - 0x34], xmm0
mov dword [rbp - 0x38], 0x11
mov edx, ebx
mov dword [rbp - 0x24], 0xdb24ff28
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 0x1800211b9
movzx r9d, byte [rbp - 0x21]
movzx r8d, byte [rbp - 0x22]
jmp 0x180021190
mov rcx, qword [0x18013d930]
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], 0x2a231c4d
mov r8b, 0x24
test eax, eax
mov dword [rbp - 0x18], 0xff3c3926
mov eax, edi
mov r9b, 0xdb
setne byte [0x18013d523]
mov dword [rbp - 0x20], eax
mov dword [rbp - 0x14], 0xdb24
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 0x180021229
movzx r9d, byte [rbp - 0x13]
movzx r8d, byte [rbp - 0x14]
jmp 0x180021200
movdqa xmm0, xmmword [0x180128630]
mov r8b, 0x24
mov byte [rbp + rax - 0x1c], bl
mov r9b, 0xdb
movdqu xmmword [rbp - 0x4c], xmm0
mov dword [rbp - 0x50], 0x11
mov edx, ebx
mov dword [rbp - 0x3c], 0xdb24ff28
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 0x180021279
movzx r9d, byte [rbp - 0x39]
movzx r8d, byte [rbp - 0x3a]
jmp 0x180021250
mov rcx, qword [0x18013d930]
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, 0x24
test eax, eax
mov dword [rbp - 0x5c], 0x2a231c4d
mov dword [rbp - 0x58], 0xff513926
mov r9b, 0xdb
setne byte [0x18013d520]
mov dword [rbp - 0x54], 0xdb24
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 0x1800212e9
movzx r9d, byte [rbp - 0x53]
movzx r8d, byte [rbp - 0x54]
jmp 0x1800212c0
movdqa xmm0, xmmword [0x180128630]
mov dl, 0x24
mov byte [rbp + rdi - 0x5c], bl
mov r8b, 0xdb
movdqu xmmword [rbp - 0x34], xmm0
mov dword [rbp - 0x38], 0x11
mov dword [rbp - 0x24], 0xdb24ff28
nop dword [rax]
mov eax, ebx
lea rcx, [rbp - 0x34]
add rcx, rax
inc ebx
movzx eax, byte [rcx]
sub al, r8b
xor al, dl
mov byte [rcx], al
mov eax, dword [rbp - 0x38]
cmp ebx, eax
jae 0x180021337
movzx r8d, byte [rbp - 0x21]
movzx edx, byte [rbp - 0x22]
jmp 0x180021310
mov rcx, qword [0x18013d930]
lea r9, [rbp - 0x34]
xor r8d, r8d
mov byte [rbp + rax - 0x34], 0
lea rdx, [rbp - 0x5c]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov rdx, qword [0x18013dc40]
test eax, eax
lea rax, [0x180020990]
setne byte [0x18013d52c]
mov qword [rbp - 0x20], rax
cmp rdx, qword [0x18013dc48]
je 0x180021385
mov qword [rdx], rax
add qword [0x18013dc40], 8
jmp 0x180021395
lea r8, [rbp - 0x20]
lea rcx, [0x18013dc38]
call fcn.180002720
mov rdx, qword [0x18013ddf0]
lea rbx, [0x180020240]
cmp rdx, qword [0x18013ddf8]
mov qword [rbp - 0x20], rbx
je 0x1800213bd
mov qword [rdx], rbx
add qword [0x18013ddf0], 8
jmp 0x1800213cd
lea r8, [rbp - 0x20]
lea rcx, [0x18013dde8]
call fcn.180002720
mov rdx, qword [0x18013de38]
cmp rdx, qword [0x18013de40]
mov qword [rbp - 0x20], rbx
je 0x1800213ee
mov qword [rdx], rbx
add qword [0x18013de38], 8
jmp 0x1800213fe
lea r8, [rbp - 0x20]
lea rcx, [0x18013de30]
call fcn.180002720
mov rdx, qword [0x18013de08]
cmp rdx, qword [0x18013de10]
mov qword [rbp - 0x20], rbx
je 0x18002141f
mov qword [rdx], rbx
add qword [0x18013de08], 8
jmp 0x18002142f
lea r8, [rbp - 0x20]
lea rcx, [0x18013de00]
call fcn.180002720
mov rdx, qword [0x18013dda8]
cmp rdx, qword [0x18013ddb0]
mov qword [rbp - 0x20], rbx
je 0x180021450
mov qword [rdx], rbx
add qword [0x18013dda8], 8
jmp 0x180021460
lea r8, [rbp - 0x20]
lea rcx, [0x18013dda0]
call fcn.180002720
mov rdx, qword [0x18013dcb8]
lea rax, [0x18001f160]
cmp rdx, qword [0x18013dcc0]
mov qword [rbp - 0x20], rax
je 0x180021488
mov qword [rdx], rax
add qword [0x18013dcb8], 8
jmp 0x180021498
lea r8, [rbp - 0x20]
lea rcx, [0x18013dcb0]
call fcn.180002720
mov rdx, qword [0x18013dd90]
lea rax, [0x18001f590]
cmp rdx, qword [0x18013dd98]
mov qword [rbp - 0x20], rax
je 0x1800214ca
mov qword [rdx], rax
mov rdx, qword [0x18013dd90]
add rdx, 8
mov qword [0x18013dd90], rdx
jmp 0x1800214e1
lea r8, [rbp - 0x20]
lea rcx, [0x18013dd88]
call fcn.180002720
mov rdx, qword [0x18013dd90]
cmp rdx, qword [0x18013dd98]
lea rax, [0x180020330]
mov qword [rbp - 0x20], rax
je 0x180021502
mov qword [rdx], rax
add qword [0x18013dd90], 8
jmp 0x180021512
lea r8, [rbp - 0x20]
lea rcx, [0x18013dd88]
call fcn.180002720
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.180118810
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret