Function at 0x180063900
Capabilities:
Read .ini file

Disassembly:
push rdi
push r13
push r14
sub rsp, 0x70
mov r14, rcx
mov rax, r8
xor ecx, ecx
mov qword [rsp + 0x28], rax
mov r13d, r9d
mov rdi, rdx
test r8, r8
je 0x180063926
mov word [r8], cx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x48], r15
test rdi, rdi
je 0x180063b89
mov r12d, ecx
mov dword [rsp + 0x20], ecx
mov ecx, 0x402
mov r15, rax
mov ebx, 0x200
call fcn.1800f27b0
mov r9, qword [r14 + 8]
mov r8d, ebx
mov rdx, rax
mov rcx, rdi
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
mov esi, eax
add eax, 2
cmp eax, ebx
jb 0x1800639d9
mov r12, 0xffffffffffffffff
nop word [rax + rax]
mov rcx, rbp
add ebx, 0x200
call fcn.1800f2740
lea ecx, [rbx + 1]
mov eax, 2
mul rcx
cmovo rax, r12
mov rcx, rax
call fcn.1800f27b0
mov r9, qword [r14 + 8]
mov r8d, ebx
mov rdx, rax
mov rcx, rdi
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
mov esi, eax
add eax, 2
cmp eax, ebx
jae 0x180063990
mov r12d, dword [rsp + 0x20]
mov rcx, rbp
call fcn.1800f2740
add esi, 2
je 0x180063b89
mov rcx, 0xffffffffffffffff
lea edx, [rsi + 1]
mov eax, 2
mul rdx
cmovo rax, rcx
mov rcx, rax
call fcn.1800f27b0
mov rbx, rax
mov qword [rsp + 0x20], rax
xor eax, eax
mov r8d, esi
mov rdx, rbx
mov rcx, rdi
mov word [rbx], ax
mov r9, qword [r14 + 8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
mov rdi, 0xffffffffffffffff
mov rsi, rbx
mov rbp, rdi
inc rbp
cmp word [rbx + rbp*2], 0
jne 0x180063a35
test ebp, ebp
je 0x180063b69
test rsi, rsi
je 0x180063b64
mov edx, 0x3d
mov rcx, rsi
call fcn.1800f4b58
mov rbx, rax
test rax, rax
je 0x180063b41
cmp rax, rsi
je 0x180063b41
mov rcx, rdi
inc rcx
cmp word [rsi + rcx*2], 0
jne 0x180063a75
inc rcx
mov eax, 2
mul rcx
cmovo rax, rdi
mov rcx, rax
call fcn.1800f27b0
xor edi, edi
mov r14, rax
mov r8d, edi
mov r9d, edi
cmp rsi, rbx
jae 0x180063ace
mov r10, rsi
mov rdx, rax
sub r10, rax
nop
movzx eax, word [r10 + rdx]
inc r8d
mov word [rdx], ax
lea rdx, [rdx + 2]
movsxd rax, r8d
inc r9
lea rcx, [rsi + rax*2]
cmp rcx, rbx
jb 0x180063ab0
mov rcx, r14
mov word [r14 + r9*2], di
call fcn.180063d80
mov rbx, 0xffffffffffffffff
inc rbx
cmp word [r14 + rbx*2], di
jne 0x180063ae2
test r15, r15
je 0x180063b2c
cmp r13d, 1
jbe 0x180063b02
lea eax, [r13 - 1]
cmp ebx, eax
cmovae ebx, eax
jmp 0x180063b04
mov ebx, edi
mov r8d, ebx
mov rdx, r14
mov rcx, r15
mov edi, ebx
call fcn.18011d598
xor eax, eax
mov word [r15 + rdi*2], ax
lea eax, [rbx + 1]
lea r15, [r15 + rax*2]
mov eax, 0xffffffff
sub eax, ebx
add r13d, eax
mov rcx, r14
call fcn.1800f2740
inc r12d
mov rdi, 0xffffffffffffffff
add r12d, ebx
lea eax, [rbp + 1]
lea rsi, [rsi + rax*2]
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rsi + rax*2], 0
jne 0x180063b50
mov ebp, eax
test eax, eax
jne 0x180063a47
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
call fcn.1800f2740
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x180063b84
mov ecx, r12d
xor edx, edx
mov word [rax + rcx*2], dx
mov eax, r12d
jmp 0x180063b8b
xor eax, eax
mov r15, qword [rsp + 0x48]
mov r12, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
add rsp, 0x70
pop r14
pop r13
pop rdi
ret