Function at 0x18000d090
Capabilities:
Read .ini file

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xffc0]
mov eax, 0x100c0
call fcn.18001d500
sub rsp, rax
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rsp + 0x10110], rbx
mov rax, qword [0x1800760b0]
xor rax, rsp
mov qword [rbp + 0xffb0], rax
mov r15, rdx
mov rbx, rcx
cmp qword [rcx + 0x10], 0
jbe 0x18000d4fc
cmp qword [rcx + 0x30], 0
jbe 0x18000d4fc
xor r12d, r12d
cmp qword [rdx + 8], r12
jbe 0x18000d11f
mov rdx, qword [rdx]
mov rdx, qword [rdx + 8]
mov rcx, r15
call fcn.18000e240
mov rax, qword [r15]
mov qword [rax + 8], rax
mov rax, qword [r15]
mov qword [rax], rax
mov rax, qword [r15]
mov qword [rax + 0x10], rax
mov qword [r15 + 8], r12
mov word [rbp - 0x50], r12w
xor edx, edx
mov r8d, 0xfffc
lea rcx, [rbp - 0x4e]
call fcn.18001d560
mov qword [rsp + 0x68], r12
mov qword [rbp - 0x78], 7
mov qword [rbp - 0x80], r12
mov word [rsp + 0x70], r12w
mov qword [rbp - 0x58], 7
mov qword [rbp - 0x60], r12
mov word [rbp - 0x70], r12w
lea r9, [rbx + 0x20]
cmp qword [r9 + 0x18], 8
jb 0x18000d16b
mov r9, qword [r9]
cmp qword [rbx + 0x18], 8
jb 0x18000d175
mov rbx, qword [rbx]
mov r8d, 0x7fff
lea rdx, [rbp - 0x50]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
lea r14, [rbp - 0x50]
cmp word [rbp - 0x50], 0
je 0x18000d4bc
or r13, 0xffffffffffffffff
nop dword [rax + rax]
mov rsi, r13
lea rsi, [rsi + 1]
cmp word [r14 + rsi*2], 0
jne 0x18000d1a3
lea r8, [rsp + 0x68]
lea rdx, [0x180065f44]
mov rcx, r14
call fcn.18001bef8
mov rbx, rax
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], r12
mov word [rsp + 0x30], r12w
cmp word [rax], 0
jne 0x18000d1e5
mov r8, r12
jmp 0x18000d1fb
mov r8, r13
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x18000d1f0
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.180008eb0
cmp qword [rbp - 0x78], 8
jb 0x18000d219
mov rcx, qword [rsp + 0x70]
call fcn.18001b768
mov qword [rbp - 0x78], 7
mov qword [rbp - 0x80], r12
mov word [rsp + 0x70], r12w
mov rcx, qword [rsp + 0x48]
cmp rcx, 8
jae 0x18000d259
mov r8, qword [rsp + 0x40]
inc r8
je 0x18000d263
add r8, r8
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x70]
call fcn.18001ad50
mov rcx, qword [rsp + 0x48]
jmp 0x18000d263
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rcx
mov rax, r13
lea rax, [rax + 1]
cmp word [rbx + rax*2], 0
jne 0x18000d273
lea rdx, [rax + 1]
lea rdx, [rbx + rdx*2]
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], r12
mov word [rsp + 0x30], r12w
cmp word [rdx], 0
jne 0x18000d2a5
mov r8, r12
jmp 0x18000d2bb
mov r8, r13
nop dword [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x18000d2b0
lea rcx, [rsp + 0x30]
call fcn.180008eb0
cmp qword [rbp - 0x58], 8
jb 0x18000d2d5
mov rcx, qword [rbp - 0x70]
call fcn.18001b768
mov qword [rbp - 0x58], 7
mov qword [rbp - 0x60], r12
mov word [rbp - 0x70], r12w
mov rcx, qword [rsp + 0x48]
cmp rcx, 8
jae 0x18000d313
mov r8, qword [rsp + 0x40]
inc r8
je 0x18000d31c
add r8, r8
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x70]
call fcn.18001ad50
mov rcx, qword [rsp + 0x48]
jmp 0x18000d31c
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x70], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rcx
mov rax, qword [r15]
mov r10, qword [rax + 8]
mov rbx, rax
mov rdi, qword [rbp - 0x80]
cmp byte [r10 + 0x19], 0
jne 0x18000d3d3
lea rcx, [r10 + 0x20]
lea r8, [rsp + 0x70]
cmp qword [rbp - 0x78], 8
cmovae r8, qword [rsp + 0x70]
mov r11, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 8
jb 0x18000d364
mov rcx, qword [rcx]
mov r9, rdi
cmp r11, rdi
cmovb r9, r11
test r9, r9
jmp 0x18000d398
movzx edx, word [r8]
cmp word [rcx], dx
jne 0x18000d389
add rcx, 2
add r8, 2
dec r9
jmp 0x18000d398
mov r9d, 1
cmp word [rcx], dx
cmovb r9d, r13d
jmp 0x18000d39d
jne 0x18000d373
mov r9d, r12d
movsxd rcx, r9d
test r9d, r9d
jne 0x18000d3b8
cmp r11, rdi
jae 0x18000d3af
mov ecx, r13d
jmp 0x18000d3b8
mov ecx, r12d
cmp r11, rdi
setne cl
test ecx, ecx
jns 0x18000d3c2
mov r10, qword [r10 + 0x10]
jmp 0x18000d3c8
mov rbx, r10
mov r10, qword [r10]
cmp byte [r10 + 0x19], 0
je 0x18000d342
cmp rbx, rax
je 0x18000d458
lea rcx, [rbx + 0x20]
mov r9, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 8
jb 0x18000d3ee
mov rcx, qword [rcx]
lea rdx, [rsp + 0x70]
cmp qword [rbp - 0x78], 8
cmovae rdx, qword [rsp + 0x70]
mov r8, r9
cmp rdi, r9
cmovb r8, rdi
test r8, r8
jmp 0x18000d434
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x18000d425
add rdx, 2
add rcx, 2
dec r8
jmp 0x18000d434
mov r8d, 1
cmp word [rdx], ax
cmovb r8d, r13d
jmp 0x18000d439
jne 0x18000d410
mov r8d, r12d
movsxd rax, r8d
test r8d, r8d
jne 0x18000d454
cmp rdi, r9
jae 0x18000d44b
mov eax, r13d
jmp 0x18000d454
mov eax, r12d
cmp rdi, r9
setne al
test eax, eax
jns 0x18000d48d
lea rax, [rsp + 0x70]
mov qword [rsp + 0x50], rax
lea r8, [rsp + 0x50]
mov rcx, r15
call fcn.18000e8d0
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
mov r8, rbx
lea rdx, [rsp + 0x58]
mov rcx, r15
call fcn.18000e970
mov rbx, qword [rsp + 0x58]
lea rcx, [rbx + 0x40]
lea rax, [rbp - 0x70]
cmp rcx, rax
je 0x18000d4a9
mov r9, r13
xor r8d, r8d
lea rdx, [rbp - 0x70]
call fcn.180008820
lea r14, [r14 + rsi*2]
add r14, 2
cmp word [r14], 0
jne 0x18000d1a0
mov ebx, r12d
cmp qword [r15 + 8], rbx
seta bl
cmp qword [rbp - 0x58], 8
jb 0x18000d4d6
mov rcx, qword [rbp - 0x70]
call fcn.18001b768
mov qword [rbp - 0x58], 7
mov qword [rbp - 0x60], r12
mov word [rbp - 0x70], r12w
cmp qword [rbp - 0x78], 8
jb 0x18000d4f8
mov rcx, qword [rsp + 0x70]
call fcn.18001b768
mov eax, ebx
jmp 0x18000d4fe
xor eax, eax
mov rcx, qword [rbp + 0xffb0]
xor rcx, rsp
call fcn.18001a840
mov rbx, qword [rsp + 0x10110]
add rsp, 0x100c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret