Function at 0x140008c80
Capabilities:
Read .ini file

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov rax, qword [0x140021350]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov r13, r9
mov r12, r8
mov qword [rsp + 0x40], rdx
mov r15, rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x58], rcx
xor ecx, ecx
mov dword [rsp + 0x38], ecx
mov rdi, qword [0x140021018]
mov qword [rsp + 0x30], rdi
test r8, r8
je 0x140008e88
cmp word [r8], cx
je 0x140008e88
mov r9, rdx
lea r8d, [rcx + 3]
lea rdx, [rsp + 0x60]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
test eax, eax
je 0x140008e88
cmp word [r12], 0
je 0x140008e74
test r13, r13
je 0x140008e74
cmp word [r13], 0
je 0x140008e74
mov r14d, 0x200
mov r15, qword [rsp + 0x40]
nop
add r14d, r14d
lea rbx, [rdi - 0xc]
cmp dword [rbx], 1
jg 0x140008d42
cmp r14d, dword [rdi - 4]
jle 0x140008d9a
mov ebp, dword [rdi - 8]
mov edx, r14d
cmp r14d, ebp
cmovl edx, ebp
lea rcx, [rsp + 0x30]
call fcn.140001290
mov rdi, qword [rsp + 0x30]
test eax, eax
jne 0x140008d66
xor r9d, r9d
jmp 0x140008d9d
lea eax, [rbp + 1]
movsxd r8, eax
add r8, r8
lea rdx, [rbx + 0xc]
mov rcx, rdi
call fcn.14000a3a0
mov dword [rdi - 8], ebp
cmp rbx, qword [0x140021010]
je 0x140008d9a
lock add dword [rbx], 0xffffffff
jg 0x140008d95
mov rcx, rbx
call fcn.14000a238
mov rdi, qword [rsp + 0x30]
mov r9, rdi
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r14d
lea r8, [0x140015ff4]
mov rdx, r13
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ebp, eax
lea rbx, [rdi - 0xc]
cmp dword [rbx], 1
jle 0x140008e15
cmp rbx, qword [0x140021010]
je 0x140008de8
lock add dword [rbx], 0xffffffff
jg 0x140008ddc
mov rcx, rbx
call fcn.14000a238
mov rax, qword [0x140021018]
mov qword [rsp + 0x30], rax
mov edx, dword [rbx + 4]
lea rcx, [rsp + 0x30]
call fcn.140001290
mov rdi, qword [rsp + 0x30]
test eax, eax
je 0x140008e15
mov eax, dword [rbx + 4]
inc eax
movsxd r8, eax
add r8, r8
lea rdx, [rbx + 0xc]
mov rcx, rdi
call fcn.14000a3a0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rdi - 8], eax
movsxd rcx, eax
xor eax, eax
mov word [rdi + rcx*2], ax
lea eax, [r14 - 1]
cmp ebp, eax
je 0x140008d30
lea rbx, [rdi - 0xc]
cmp dword [rbx], 0
mov r15, qword [rsp + 0x48]
jl 0x140008e4f
mov qword [r15], rdi
lock inc dword [rbx]
jmp 0x140008f1e
mov rax, qword [0x140021018]
mov qword [r15], rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rdi
mov edx, eax
mov rcx, r15
call fcn.140001320
jmp 0x140008f1e
lea rbx, [rdi - 0xc]
cmp dword [rbx], 0
jl 0x140008e4f
mov qword [r15], rdi
lock inc dword [rbx]
jmp 0x140008f1e
cmp byte [rsp + 0xe0], 0
jne 0x140008eed
mov rax, qword [0x140021018]
mov qword [rsp + 0x40], rax
mov r8, r12
lea rdx, str.Section__s_does_not_exist_
lea rcx, [rsp + 0x40]
call fcn.140004510
mov r9d, 0x10
lea r8, str.Error
mov rbx, qword [rsp + 0x40]
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
nop
lea rcx, [rbx - 0xc]
cmp rcx, qword [0x140021010]
je 0x140008eed
lock add dword [rcx], 0xffffffff
jg 0x140008ee8
call fcn.14000a238
mov rdi, qword [rsp + 0x30]
lea rbx, [rdi - 0xc]
cmp dword [rbx], 0
jl 0x140008efe
mov qword [r15], rdi
lock inc dword [rbx]
jmp 0x140008f1e
mov rax, qword [0x140021018]
mov qword [r15], rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rdi
mov edx, eax
mov rcx, r15
call fcn.140001320
mov dword [rsp + 0x38], 1
cmp rbx, qword [0x140021010]
je 0x140008f3d
lock add dword [rbx], 0xffffffff
jg 0x140008f3d
mov rcx, rbx
call fcn.14000a238
mov rax, r15
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.14000b350
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret