Function at 0x180020ff0
Capabilities:
Read .ini file

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x180141030]
xor rax, rsp
mov qword [rbp - 0x10], rax
xor ebx, ebx
mov dword [rbp - 0x20], 9
mov edx, ebx
mov dword [rbp - 0x1c], 0xfcf5fedc
mov dword [rbp - 0x18], 0xf5fef3ef
mov r8b, 0x5d
mov dword [rbp - 0x14], 0xc25d1ff8
mov r9b, 0xc2
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 0x180021069
movzx r9d, byte [rbp - 0x11]
movzx r8d, byte [rbp - 0x12]
jmp 0x180021040
mov rdi, qword [0x180142948]
mov byte [rbp + rax - 0x1c], bl
lea rcx, [rdi + 0x4570]
call fcn.18008bbd0
mov ecx, eax
test eax, eax
je 0x1800210a4
lea rax, [rdi + 0x4560]
cmp ecx, 0xf
jle 0x18002109a
mov rcx, rax
call fcn.18008bbc0
mov rcx, rax
call fcn.18008bc00
jmp 0x1800210ab
lea rax, str.null
lea rdx, [rbp - 0x1c]
mov rcx, rax
call fcn.18008bad0
test al, al
je 0x1800215aa
mov edi, 0xc
mov dword [rbp - 0x4c], 0xfcf5fedc
mov eax, edi
mov r8b, 0x5d
mov dword [rbp - 0x50], eax
mov r9b, 0xc2
mov dword [rbp - 0x48], 0xf5fef3ef
mov edx, ebx
mov dword [rbp - 0x44], 0xcedbe0f8
mov dword [rbp - 0x40], 0xc25d1f
nop dword [rax]
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 0x180021119
movzx r9d, byte [rbp - 0x3e]
movzx r8d, byte [rbp - 0x3f]
jmp 0x1800210f0
mov byte [rbp + rax - 0x4c], bl
mov r8b, 0x5d
mov dword [rbp - 0x20], 9
mov r9b, 0xc2
mov dword [rbp - 0x1c], 0xfcf5fedc
mov edx, ebx
mov dword [rbp - 0x18], 0xf5fef3ef
mov dword [rbp - 0x14], 0xc25d1ff8
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 0x18002116a
movzx r9d, byte [rbp - 0x11]
movzx r8d, byte [rbp - 0x12]
jmp 0x180021141
movdqa xmm0, xmmword [0x18012e440]
mov r8b, 0x5d
mov byte [rbp + rax - 0x1c], bl
mov r9b, 0xc2
movdqu xmmword [rbp - 0x34], xmm0
mov dword [rbp - 0x38], 0x11
mov edx, ebx
mov dword [rbp - 0x24], 0xc25d1ff6
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 0x1800211ba
movzx r9d, byte [rbp - 0x21]
movzx r8d, byte [rbp - 0x22]
jmp 0x180021191
lea r9, [rbp - 0x34]
mov byte [rbp + rax - 0x34], bl
xor r8d, r8d
lea rdx, [rbp - 0x4c]
lea rcx, [rbp - 0x1c]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbp - 0x4c], 0xfcf5fedc
mov r8b, 0x5d
test eax, eax
mov dword [rbp - 0x48], 0xf5fef3ef
mov eax, edi
mov r9b, 0xc2
setne byte [0x180142526]
mov dword [rbp - 0x50], eax
mov dword [rbp - 0x44], 0xccdbe0f8
mov edx, ebx
mov dword [rbp - 0x40], 0xc25d1f
nop word [rax + rax]
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 0x180021239
movzx r9d, byte [rbp - 0x3e]
movzx r8d, byte [rbp - 0x3f]
jmp 0x180021210
mov byte [rbp + rax - 0x4c], bl
mov r8b, 0x5d
mov dword [rbp - 0x20], 9
mov r9b, 0xc2
mov dword [rbp - 0x1c], 0xfcf5fedc
mov edx, ebx
mov dword [rbp - 0x18], 0xf5fef3ef
mov dword [rbp - 0x14], 0xc25d1ff8
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 0x18002128a
movzx r9d, byte [rbp - 0x11]
movzx r8d, byte [rbp - 0x12]
jmp 0x180021261
movdqa xmm0, xmmword [0x18012e440]
mov r8b, 0x5d
mov byte [rbp + rax - 0x1c], bl
mov r9b, 0xc2
movdqu xmmword [rbp - 0x34], xmm0
mov dword [rbp - 0x38], 0x11
mov edx, ebx
mov dword [rbp - 0x24], 0xc25d1ff6
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 0x1800212da
movzx r9d, byte [rbp - 0x21]
movzx r8d, byte [rbp - 0x22]
jmp 0x1800212b1
lea r9, [rbp - 0x34]
mov byte [rbp + rax - 0x34], bl
xor r8d, r8d
lea rdx, [rbp - 0x4c]
lea rcx, [rbp - 0x1c]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbp - 0x4c], 0xfcf5fedc
mov r8b, 0x5d
test eax, eax
mov dword [rbp - 0x48], 0xf5fef3ef
mov eax, edi
mov r9b, 0xc2
setne byte [0x180142527]
mov dword [rbp - 0x50], eax
mov dword [rbp - 0x44], 0xdadbe0f8
mov edx, ebx
mov dword [rbp - 0x40], 0xc25d1f
nop word [rax + rax]
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 0x180021359
movzx r9d, byte [rbp - 0x3e]
movzx r8d, byte [rbp - 0x3f]
jmp 0x180021330
mov byte [rbp + rax - 0x4c], bl
mov r8b, 0x5d
mov dword [rbp - 0x20], 9
mov r9b, 0xc2
mov dword [rbp - 0x1c], 0xfcf5fedc
mov edx, ebx
mov dword [rbp - 0x18], 0xf5fef3ef
mov dword [rbp - 0x14], 0xc25d1ff8
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 0x1800213aa
movzx r9d, byte [rbp - 0x11]
movzx r8d, byte [rbp - 0x12]
jmp 0x180021381
movdqa xmm0, xmmword [0x18012e440]
mov r8b, 0x5d
mov byte [rbp + rax - 0x1c], bl
mov r9b, 0xc2
movdqu xmmword [rbp - 0x34], xmm0
mov dword [rbp - 0x38], 0x11
mov edx, ebx
mov dword [rbp - 0x24], 0xc25d1ff6
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 0x1800213fa
movzx r9d, byte [rbp - 0x21]
movzx r8d, byte [rbp - 0x22]
jmp 0x1800213d1
lea r9, [rbp - 0x34]
mov byte [rbp + rax - 0x34], bl
xor r8d, r8d
lea rdx, [rbp - 0x4c]
lea rcx, [rbp - 0x1c]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbp - 0x50], edi
mov r8b, 0x5d
test eax, eax
mov dword [rbp - 0x4c], 0xfcf5fedc
mov dword [rbp - 0x48], 0xf5fef3ef
mov r9b, 0xc2
setne byte [0x18014252c]
mov dword [rbp - 0x44], 0xd1dbe0f8
mov dword [rbp - 0x40], 0xc25d1f
mov edx, ebx
nop dword [rax]
nop word [rax + rax]
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 edi, dword [rbp - 0x50]
cmp edx, edi
jae 0x180021479
movzx r9d, byte [rbp - 0x3e]
movzx r8d, byte [rbp - 0x3f]
jmp 0x180021450
mov byte [rbp + rdi - 0x4c], bl
mov r8b, 0x5d
mov dword [rbp - 0x20], 9
mov r9b, 0xc2
mov dword [rbp - 0x1c], 0xfcf5fedc
mov edx, ebx
mov dword [rbp - 0x18], 0xf5fef3ef
mov dword [rbp - 0x14], 0xc25d1ff8
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 0x1800214ca
movzx r9d, byte [rbp - 0x11]
movzx r8d, byte [rbp - 0x12]
jmp 0x1800214a1
movdqa xmm0, xmmword [0x18012e440]
mov dl, 0x5d
mov byte [rbp + rax - 0x1c], bl
mov r8b, 0xc2
movdqu xmmword [rbp - 0x34], xmm0
mov dword [rbp - 0x38], 0x11
mov dword [rbp - 0x24], 0xc25d1ff6
nop
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 0x180021517
movzx r8d, byte [rbp - 0x21]
movzx edx, byte [rbp - 0x22]
jmp 0x1800214f0
lea r9, [rbp - 0x34]
mov byte [rbp + rax - 0x34], 0
xor r8d, r8d
lea rdx, [rbp - 0x4c]
lea rcx, [rbp - 0x1c]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov rdx, qword [0x180142c78]
test eax, eax
lea rax, [0x1800208d0]
setne byte [0x180142525]
mov qword [rbp - 0x20], rax
cmp rdx, qword [0x180142c80]
je 0x180021562
mov qword [rdx], rax
add qword [0x180142c78], 8
jmp 0x180021572
lea r8, [rbp - 0x20]
lea rcx, [0x180142c70]
call fcn.180002720
mov rdx, qword [0x180142dc8]
lea rax, [0x180020770]
cmp rdx, qword [0x180142dd0]
mov qword [rbp - 0x20], rax
je 0x18002159a
mov qword [rdx], rax
add qword [0x180142dc8], 8
jmp 0x1800215aa
lea r8, [rbp - 0x20]
lea rcx, [0x180142dc0]
call fcn.180002720
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.18011e040
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret