Function at 0x1800222f0
Capabilities:
Read .ini file

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0x90
mov rax, qword [0x180146030]
xor rax, rsp
mov qword [rbp + 0x47], rax
xor ebx, ebx
mov dword [rbp + 0x2f], 9
mov edx, ebx
mov dword [rbp + 0x33], 0xdcd7e0b3
mov dword [rbp + 0x37], 0xded9e4b6
mov r8b, 0x9a
mov dword [rbp + 0x3b], 0xe59a7fd7
mov r9b, 0xe5
nop dword [rax + rax]
mov eax, edx
lea rcx, [rbp + 0x33]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp + 0x2f]
cmp edx, eax
jae 0x180022369
movzx r9d, byte [rbp + 0x3e]
movzx r8d, byte [rbp + 0x3d]
jmp 0x180022340
mov rdi, qword [0x180147960]
mov byte [rbp + rax + 0x33], bl
lea rcx, [rdi + 0x42e8]
call fcn.18008eb70
mov ecx, eax
test eax, eax
je 0x1800223a4
lea rax, [rdi + 0x42d8]
cmp ecx, 0xf
jle 0x18002239a
mov rcx, rax
call fcn.18008eb60
mov rcx, rax
call fcn.18008eba0
jmp 0x1800223ab
lea rax, str.null
lea rdx, [rbp + 0x33]
mov rcx, rax
call fcn.18008ea70
test al, al
je 0x18002292d
xor ecx, ecx
mov dword [rbp - 0x15], 0xdcd7e0b3
mov edi, 0xa
mov dword [rbp - 0x11], 0xded9e4b6
mov eax, edi
mov r9b, 0xe5
mov dword [rbp - 0x19], eax
mov r8b, 0x9a
mov dword [rbp - 0xd], 0x9a7fb0d7
mov edx, ebx
mov byte [rbp - 9], r9b
mov word [rbp - 8], cx
mov byte [rbp - 6], cl
nop dword [rax]
nop word [rax + rax]
mov eax, edx
lea rcx, [rbp - 0x15]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp - 0x19]
cmp edx, eax
jae 0x180022429
movzx r9d, byte [rbp - 9]
movzx r8d, byte [rbp - 0xa]
jmp 0x180022400
movdqa xmm0, xmmword [0x1801333f0]
mov r8b, 0x9a
mov byte [rbp + rax - 0x15], bl
mov r9b, 0xe5
movdqu xmmword [rbp + 3], xmm0
mov dword [rbp - 1], 0x11
mov edx, ebx
mov dword [rbp + 0x13], 0xe59a7fd8
mov eax, edx
lea rcx, [rbp + 3]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp - 1]
cmp edx, eax
jae 0x180022479
movzx r9d, byte [rbp + 0x16]
movzx r8d, byte [rbp + 0x15]
jmp 0x180022450
mov rcx, qword [0x180147968]
lea r9, [rbp + 3]
xor r8d, r8d
mov byte [rbp + rax + 3], bl
lea rdx, [rbp - 0x15]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov r9b, 0xe5
mov dword [rbp + 0x33], 0xdcd7e0b3
test eax, eax
mov dword [rbp + 0x37], 0xded9e4b6
mov eax, 0xe
mov r8b, 0x9a
setne byte [0x18014752c]
mov dword [rbp + 0x2f], eax
xor ecx, ecx
mov dword [rbp + 0x3b], 0xd9d8dbd7
mov dword [rbp + 0x3f], 0x9a7fb0d6
mov edx, ebx
mov byte [rbp + 0x43], r9b
mov word [rbp + 0x44], cx
mov byte [rbp + 0x46], cl
test eax, eax
je 0x180022509
nop dword [rax + rax]
mov eax, edx
lea rcx, [rbp + 0x33]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp + 0x2f]
cmp edx, eax
jae 0x180022509
movzx r9d, byte [rbp + 0x43]
movzx r8d, byte [rbp + 0x42]
jmp 0x1800224e0
movdqa xmm0, xmmword [0x1801333f0]
mov r8b, 0x9a
mov byte [rbp + rax + 0x33], bl
mov r9b, 0xe5
movdqu xmmword [rbp + 0x1b], xmm0
mov dword [rbp + 0x17], 0x11
mov edx, ebx
mov dword [rbp + 0x2b], 0xe59a7fd8
mov eax, edx
lea rcx, [rbp + 0x1b]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp + 0x17]
cmp edx, eax
jae 0x180022559
movzx r9d, byte [rbp + 0x2e]
movzx r8d, byte [rbp + 0x2d]
jmp 0x180022530
mov rcx, qword [0x180147968]
lea r9, [rbp + 0x1b]
xor r8d, r8d
mov byte [rbp + rax + 0x1b], bl
lea rdx, [rbp + 0x33]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov r9b, 0xe5
mov dword [rbp - 0x15], 0xdcd7e0b3
test eax, eax
mov dword [rbp - 0x11], 0xded9e4b6
mov eax, edi
mov r8b, 0x9a
setne byte [0x18014752d]
mov dword [rbp - 0x19], eax
xor ecx, ecx
mov dword [rbp - 0xd], 0x9a7fb2d7
mov word [rbp - 8], cx
mov edx, ebx
mov byte [rbp - 6], cl
mov byte [rbp - 9], r9b
nop dword [rax]
mov eax, edx
lea rcx, [rbp - 0x15]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp - 0x19]
cmp edx, eax
jae 0x1800225d9
movzx r9d, byte [rbp - 9]
movzx r8d, byte [rbp - 0xa]
jmp 0x1800225b0
movdqa xmm0, xmmword [0x1801333f0]
mov r8b, 0x9a
mov byte [rbp + rax - 0x15], bl
mov r9b, 0xe5
movdqu xmmword [rbp + 3], xmm0
mov dword [rbp - 1], 0x11
mov edx, ebx
mov dword [rbp + 0x13], 0xe59a7fd8
mov eax, edx
lea rcx, [rbp + 3]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp - 1]
cmp edx, eax
jae 0x180022629
movzx r9d, byte [rbp + 0x16]
movzx r8d, byte [rbp + 0x15]
jmp 0x180022600
mov rcx, qword [0x180147968]
lea r9, [rbp + 3]
xor r8d, r8d
mov byte [rbp + rax + 3], bl
lea rdx, [rbp - 0x15]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov r9b, 0xe5
mov dword [rbp + 0x33], 0xdcd7e0b3
test eax, eax
mov dword [rbp + 0x37], 0xded9e4b6
mov eax, edi
mov r8b, 0x9a
setne byte [0x18014752f]
mov dword [rbp + 0x2f], eax
xor ecx, ecx
mov dword [rbp + 0x3b], 0x9a7fc4d7
mov word [rbp + 0x40], cx
mov edx, ebx
mov byte [rbp + 0x42], cl
mov byte [rbp + 0x3f], r9b
nop dword [rax]
mov eax, edx
lea rcx, [rbp + 0x33]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp + 0x2f]
cmp edx, eax
jae 0x1800226a9
movzx r9d, byte [rbp + 0x3f]
movzx r8d, byte [rbp + 0x3e]
jmp 0x180022680
movdqa xmm0, xmmword [0x1801333f0]
mov r8b, 0x9a
mov byte [rbp + rax + 0x33], bl
mov r9b, 0xe5
movdqu xmmword [rbp + 0x1b], xmm0
mov dword [rbp + 0x17], 0x11
mov edx, ebx
mov dword [rbp + 0x2b], 0xe59a7fd8
mov eax, edx
lea rcx, [rbp + 0x1b]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp + 0x17]
cmp edx, eax
jae 0x1800226f9
movzx r9d, byte [rbp + 0x2e]
movzx r8d, byte [rbp + 0x2d]
jmp 0x1800226d0
mov rcx, qword [0x180147968]
lea r9, [rbp + 0x1b]
xor r8d, r8d
mov byte [rbp + rax + 0x1b], bl
lea rdx, [rbp + 0x33]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov r9b, 0xe5
mov dword [rbp - 0x19], edi
test eax, eax
mov dword [rbp - 0x15], 0xdcd7e0b3
mov dword [rbp - 0x11], 0xded9e4b6
mov r8b, 0x9a
setne byte [0x180147527]
mov dword [rbp - 0xd], 0x9a7fadd7
xor eax, eax
mov byte [rbp - 9], r9b
mov word [rbp - 8], ax
mov edx, ebx
mov byte [rbp - 6], al
nop dword [rax + rax]
mov eax, edx
lea rcx, [rbp - 0x15]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov edi, dword [rbp - 0x19]
cmp edx, edi
jae 0x180022779
movzx r9d, byte [rbp - 9]
movzx r8d, byte [rbp - 0xa]
jmp 0x180022750
movdqa xmm0, xmmword [0x1801333f0]
mov r8b, 0x9a
mov byte [rbp + rdi - 0x15], bl
mov r9b, 0xe5
movdqu xmmword [rbp + 3], xmm0
mov dword [rbp - 1], 0x11
mov edx, ebx
mov dword [rbp + 0x13], 0xe59a7fd8
mov eax, edx
lea rcx, [rbp + 3]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp - 1]
cmp edx, eax
jae 0x1800227c9
movzx r9d, byte [rbp + 0x16]
movzx r8d, byte [rbp + 0x15]
jmp 0x1800227a0
mov rcx, qword [0x180147968]
lea r9, [rbp + 3]
xor r8d, r8d
mov byte [rbp + rax + 3], bl
lea rdx, [rbp - 0x15]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbp + 0x33], 0xdcd7e0b3
mov r8b, 0x9a
test eax, eax
mov dword [rbp + 0x37], 0xded9e4b6
mov eax, 0xb
mov r9b, 0xe5
setne byte [0x18014752e]
mov dword [rbp + 0x2f], eax
mov dword [rbp + 0x3b], 0x7fadb0d7
mov edx, ebx
mov dword [rbp + 0x3f], 0xe59a
test eax, eax
je 0x180022849
nop
mov eax, edx
lea rcx, [rbp + 0x33]
add rcx, rax
inc edx
movzx eax, byte [rcx]
sub al, r9b
xor al, r8b
mov byte [rcx], al
mov eax, dword [rbp + 0x2f]
cmp edx, eax
jae 0x180022849
movzx r9d, byte [rbp + 0x40]
movzx r8d, byte [rbp + 0x3f]
jmp 0x180022820
movdqa xmm0, xmmword [0x1801333f0]
mov dl, 0x9a
mov byte [rbp + rax + 0x33], bl
mov r8b, 0xe5
movdqu xmmword [rbp + 0x1b], xmm0
mov dword [rbp + 0x17], 0x11
mov dword [rbp + 0x2b], 0xe59a7fd8
nop dword [rax]
mov eax, ebx
lea rcx, [rbp + 0x1b]
add rcx, rax
inc ebx
movzx eax, byte [rcx]
sub al, r8b
xor al, dl
mov byte [rcx], al
mov eax, dword [rbp + 0x17]
cmp ebx, eax
jae 0x180022897
movzx r8d, byte [rbp + 0x2e]
movzx edx, byte [rbp + 0x2d]
jmp 0x180022870
mov rcx, qword [0x180147968]
lea r9, [rbp + 0x1b]
xor r8d, r8d
mov byte [rbp + rax + 0x1b], 0
lea rdx, [rbp + 0x33]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov rdx, qword [0x180147cd0]
test eax, eax
lea rax, [0x180021970]
setne byte [0x180147538]
mov qword [rbp + 0x2f], rax
cmp rdx, qword [0x180147cd8]
je 0x1800228e5
mov qword [rdx], rax
add qword [0x180147cd0], 8
jmp 0x1800228f5
lea r8, [rbp + 0x2f]
lea rcx, [0x180147cc8]
call fcn.180002710
mov rdx, qword [0x180147e20]
lea rax, [0x180021560]
cmp rdx, qword [0x180147e28]
mov qword [rbp + 0x2f], rax
je 0x18002291d
mov qword [rdx], rax
add qword [0x180147e20], 8
jmp 0x18002292d
lea r8, [rbp + 0x2f]
lea rcx, [0x180147e18]
call fcn.180002710
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.180122d60
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret