Function at 0x1400394c8
Capabilities:
Read .ini file

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
xor ebx, ebx
mov rcx, r8
mov edi, ebx
mov rsi, r8
mov ebp, 1
call fcn.14000c138
test eax, eax
je 0x14003984b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, 0x18
mov rcx, rax
lea r12d, [r8 - 0x10]
mov edx, r12d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov r14, rax
test rax, rax
je 0x1400396c1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, 0x10000
mov edx, r12d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rdi, rax
test rax, rax
je 0x1400396c1
lea r15, str.CompressionExclusionList
mov dword [r14], 5
mov qword [r14 + 8], r15
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
lea r8d, [r12 + 0x48]
mov edx, r12d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [r14 + 0x10], rax
mov eax, ebx
mov dword [rsp + 0x24], ebx
cmp dword [r14], ebx
jbe 0x14003981e
mov ecx, eax
mov r9, rsi
mov r13d, eax
mov r8d, 0x8000
shl r13, 4
mov rdx, rdi
add r13, qword [r14 + 0x10]
mov rcx, qword [r15 + rcx*8]
mov dword [rsp + 0x98], ebx
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
nop dword [rax + rax]
xor r9d, r9d
mov dword [rsp + 0x20], eax
mov rcx, rdi
mov r15d, eax
mov r8d, eax
test eax, eax
je 0x140039633
cmp word [rcx], r9w
je 0x14003962c
or rdx, 0xffffffffffffffff
inc rdx
cmp word [rcx + rdx*2], r9w
jne 0x1400395fd
or eax, 0xffffffff
sub eax, edx
add r8d, eax
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r9w
jne 0x140039613
lea rcx, [rcx + rax*2]
add ebx, ebp
add rcx, 2
test r8d, r8d
jne 0x1400395f3
mov dword [rsp + 0x98], ebx
mov dword [r13], ebx
mov ebx, ebx
shl rbx, 3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
mov edx, r12d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor ebx, ebx
mov qword [r13 + 8], rax
test rax, rax
je 0x1400396c1
mov rsi, rdi
mov r12d, ebx
test r15d, r15d
je 0x1400397a1
or rdx, 0xffffffffffffffff
cmp word [rsi], bx
je 0x1400397a1
cmp r12d, dword [rsp + 0x98]
jae 0x1400396d2
cmp word [rsi], 0x5c
mov r15d, r12d
jne 0x1400396ea
mov rcx, qword [rsp + 0x80]
mov rdx, rsi
call fcn.14000c2d8
mov rcx, rax
mov rax, qword [r13 + 8]
mov qword [rax + r15*8], rcx
mov rax, qword [r13 + 8]
cmp qword [rax + r15*8], rbx
jne 0x14003975f
mov ecx, 0xe
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop dword [rax + rax]
mov rcx, r14
call fcn.140039864
mov ebp, ebx
test rdi, rdi
je 0x140039849
jmp 0x140039829
mov rbx, rdx
xor r9d, r9d
inc rbx
cmp word [rsi + rbx*2], r9w
jne 0x1400396f0
lea rbx, [rbx*2 + 2]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rcx, rax
xor ebx, ebx
mov rax, qword [r13 + 8]
mov qword [rax + r15*8], rcx
mov rax, qword [r13 + 8]
mov rcx, qword [rax + r15*8]
test rcx, rcx
je 0x1400396c1
or rdx, 0xffffffffffffffff
inc rdx
cmp word [rsi + rdx*2], bx
jne 0x140039743
add rdx, rbp
mov r8, rsi
call fcn.140001008
mov ebx, eax
test eax, eax
js 0x1400397ca
xor ebx, ebx
add r12d, ebp
or rdx, 0xffffffffffffffff
mov rcx, rdx
inc rcx
cmp word [rsi + rcx*2], bx
jne 0x140039769
mov r15d, dword [rsp + 0x20]
or eax, 0xffffffff
sub eax, ecx
add r15d, eax
mov rax, rdx
mov dword [rsp + 0x20], r15d
inc rax
cmp word [rsi + rax*2], bx
jne 0x140039787
lea rsi, [rsi + rax*2]
add rsi, 2
test r15d, r15d
jne 0x14003967c
mov eax, dword [rsp + 0x24]
add eax, ebp
mov dword [rsp + 0x24], eax
cmp eax, dword [r14]
jae 0x14003981e
mov rsi, qword [rsp + 0x90]
lea r15, str.CompressionExclusionList
mov r12d, 8
jmp 0x1400395af
mov ecx, ebx
bt ebx, 0x1c
jae 0x1400397f7
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
nop dword [rax + rax]
cmp eax, 0x13d
je 0x140039809
mov ecx, ebx
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
nop dword [rax + rax]
mov ebx, eax
jmp 0x140039809
and ecx, 0x1fff0000
movzx eax, bx
cmp ecx, 0x70000
cmove ebx, eax
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop dword [rax + rax]
xor ebx, ebx
jmp 0x1400396d2
mov rax, qword [rsp + 0x88]
mov qword [rax], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov eax, ebp
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret