Function at 0x18001c640
Capabilities:
Read .ini file

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x3158
call fcn.180110950
sub rsp, rax
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov rax, qword [0x180185680]
xor rax, rsp
mov qword [rsp + 0x3140], rax
mov rbx, r9
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], rdx
mov r13, rcx
call fcn.1800f3548
mov rcx, rax
test rax, rax
je 0x18001c9c3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
xor edx, edx
mov r8d, 0x2ee0
lea rcx, [rsp + 0x260]
call fcn.180113150
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x50]
call fcn.180113150
mov r9, r13
mov r8d, 0x1770
lea rdx, [rsp + 0x260]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
xor ebp, ebp
mov ebx, ebp
lea rax, [rsp + 0x260]
cmp word [rax], bp
jne 0x18001c6fd
cmp bp, word [rax + 2]
je 0x18001c70b
inc ebx
add rax, 2
cmp ebx, 0x1770
jl 0x18001c6f2
inc ebx
mov rsi, 0xffffffffffffffff
mov r8, rsi
xor edx, edx
mov rcx, qword [r13 + 0x218]
call fcn.1800f4ae0
mov r8, rsi
xor edx, edx
mov rcx, qword [r13 + 0x220]
call fcn.1800f4ae0
movsxd r12, ebx
test ebx, ebx
jle 0x18001c957
mov rcx, rbp
mov r15, rbp
nop word [rax + rax]
movzx eax, word [rsp + r15*2 + 0x260]
mov word [rsp + rcx*2 + 0x50], ax
inc rcx
test ax, ax
jne 0x18001c94b
lea rcx, [rsp + 0x50]
mov rax, rsi
inc rax
cmp word [rcx + rax*2], 0
jne 0x18001c772
mov r8d, eax
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x48]
call fcn.180007b10
mov rbx, qword [rsp + 0x48]
cmp dword [rbx - 0x10], 0
jge 0x18001c79d
mov eax, esi
jmp 0x18001c7bb
lea rdx, [0x180155dc8]
mov rcx, rbx
call fcn.18011273c
test rax, rax
jne 0x18001c7b5
mov eax, esi
jmp 0x18001c7bb
sub rax, rbx
sar rax, 1
mov edi, ebp
test eax, eax
cmovns edi, eax
lea r14, [rbx - 0x18]
cmp edi, dword [rbx - 0x10]
jl 0x18001c7de
mov rcx, r14
call fcn.18000f360
add rax, 0x18
mov qword [rsp + 0x20], rax
jmp 0x18001c813
mov rcx, qword [r14]
test rcx, rcx
je 0x18001c7f1
mov rax, qword [rcx]
call qword [rax + 0x20]
test rax, rax
jne 0x18001c7ff
call fcn.1800f3548
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov r9, rax
mov r8d, edi
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.18001cbf0
nop
mov rcx, qword [r13 + 0x218]
lea r8, [rsp + 0x20]
mov rdx, qword [rcx + 0x10]
call fcn.1800f49f4
nop
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x18001c847
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdi, qword [rsp + 0x48]
cmp dword [rbx - 0x10], 0
jge 0x18001c856
mov eax, esi
jmp 0x18001c874
lea rdx, [0x180155dc8]
mov rcx, rdi
call fcn.18011273c
test rax, rax
jne 0x18001c86e
mov eax, esi
jmp 0x18001c874
sub rax, rdi
sar rax, 1
mov r8d, dword [rbx - 0x10]
mov ecx, r8d
mov ebx, ebp
add eax, 1
cmovns ebx, eax
mov edx, ebp
sub ecx, eax
cmovns edx, ecx
mov eax, 0x7fffffff
sub eax, ebx
cmp eax, edx
jl 0x18001c9ce
lea eax, [rbx + rdx]
cmp eax, r8d
jle 0x18001c8a6
mov edx, r8d
sub edx, ebx
cmp ebx, r8d
cmovle ebp, edx
test ebx, ebx
jne 0x18001c8c8
cmp ebp, r8d
jne 0x18001c8c8
mov rcx, r14
call fcn.18000f360
add rax, 0x18
mov qword [rsp + 0x28], rax
jmp 0x18001c901
mov rcx, qword [r14]
test rcx, rcx
je 0x18001c8db
mov rax, qword [rcx]
call qword [rax + 0x20]
test rax, rax
jne 0x18001c8e9
call fcn.1800f3548
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
movsxd rcx, ebx
lea rdx, [rdi + rcx*2]
mov r9, rax
mov r8d, ebp
lea rcx, [rsp + 0x28]
call fcn.18001cbf0
nop
mov rcx, qword [r13 + 0x220]
lea r8, [rsp + 0x28]
mov rdx, qword [rcx + 0x10]
call fcn.1800f49f4
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x18001c935
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
xor edx, edx
mov r8d, 0x104
lea rcx, [rsp + 0x50]
call fcn.180113150
xor ebp, ebp
mov ecx, ebp
inc r15
cmp r15, r12
jl 0x18001c750
mov rax, qword [r13 + 0x218]
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rax
mov rax, qword [r13 + 0x220]
mov rcx, qword [rsp + 0x38]
mov qword [rcx], rax
mov rax, qword [r13 + 0x218]
mov rbx, qword [rax + 0x10]
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x18001c99d
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
mov eax, ebx
mov rcx, qword [rsp + 0x3140]
xor rcx, rsp
call fcn.18010faf0
add rsp, 0x3158
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov ecx, 0x80004005
call fcn.180007f70
nop
mov ecx, 0x80070216
call fcn.180007f70
int3