Function at 0x140059910
Capabilities:
Read .ini file

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rbp, r9
mov r14, r8
mov r15, rcx
call fcn.140054c04
mov rbx, rax
mov qword [rsp + 0x40], rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
xor esi, esi
cmp r14, rsi
jne 0x14005998c
lea r8, str.GetPrivateProfileStringA___lpDefaultNULL____
lea rdx, str._s_failed_n
lea rcx, [0x14010f570]
call fcn.14004b7ec
nop
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
jmp 0x14005a29f
cmp rbp, rsi
jne 0x1400599bc
lea r8, str.GetPrivateProfileStringA____lpReturnedStringNULL___
lea rdx, str._s_failed_n
lea rcx, [0x14010f570]
call fcn.14004b7ec
nop
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
jmp 0x14005a29f
mov eax, dword [rsp + 0x100]
cmp eax, esi
jne 0x1400599f2
lea r8, str.GetPrivateProfileStringA_____nSize0__
lea rdx, str._s_failed_n
lea rcx, [0x14010f570]
call fcn.14004b7ec
nop
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
jmp 0x14005a29f
mov rdi, qword [rsp + 0x108]
cmp rdi, rsi
jne 0x140059a2a
lea r8, str.GetPrivateProfileStringA______pFileNameNULL_
lea rdx, str._s_failed_n
lea rcx, [0x14010f570]
call fcn.14004b7ec
nop
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
jmp 0x14005a29f
mov r12, rax
mov qword [rsp + 0x30], rax
mov rcx, r14
call fcn.1400980d0
cmp rax, r12
jb 0x140059a5f
lea r8, str.GetPrivateProfileStringA___checking_strlen_lpDefault____nSize
lea rdx, str._s_failed_n
lea rcx, [0x14010f570]
call fcn.14004b7ec
nop
jmp 0x14005a294
mov r8, r14
mov rdx, r12
mov rcx, rbp
call fcn.1400986e0
mov rcx, rbp
call fcn.1400980d0
cmp byte [rax + rbp], 0x20
jne 0x140059a8d
mov byte [rax + rbp], sil
cmp rax, rsi
je 0x140059a8d
dec rax
cmp byte [rax + rbp], 0x20
je 0x140059a7b
mov r8, rbp
lea rdx, str.GetPrivateProfileStringA___built_the_default_value:___s__n
lea rcx, [0x14010f570]
call fcn.14004b9f0
mov rcx, rdi
call fcn.140058df8
cmp eax, esi
je 0x140059ac8
cmp qword [0x1401200f8], rsi
jne 0x140059ac8
mov rcx, rbp
call fcn.1400980d0
nop
mov esi, eax
jmp 0x14005a294
mov qword [rsp + 0x90], reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x88], rsi
mov byte [rsp + 0x78], sil
mov rcx, rdi
call fcn.1400980d0
mov r8, rax
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.14000352c
nop
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x50]
mov rcx, qword [0x1401200f8]
call fcn.140055724
nop
cmp qword [rsp + 0x90], 0x10
jb 0x140059b26
mov rcx, qword [rsp + 0x78]
call fcn.14006127c
mov qword [rsp + 0xf0], rsi
mov rax, qword [0x1401200f8]
mov rbp, qword [rax + 0x30]
mov r13, qword [rsp + 0x50]
cmp r13, rsi
je 0x140059b48
cmp r13, qword [rax]
je 0x140059b4d
call fcn.14009861c
mov r12, qword [rsp + 0x58]
cmp r12, rbp
je 0x14005a284
cmp r13, rsi
jne 0x140059b6a
call fcn.14009861c
mov r11, rsi
jmp 0x140059b6e
mov r11, qword [r13]
cmp r12, qword [r11 + 0x30]
jne 0x140059b79
call fcn.14009861c
cmp dword [r12 + 0x48], 0xffdc
jae 0x140059bd9
call fcn.14004c7b0
cmp eax, esi
je 0x140059bd9
lea r8, str.GetPrivateProfileString_redirected_to_native
mov edx, 0x20
lea rcx, [0x14010f570]
call fcn.140001000
mov qword [rsp + 0x28], rdi
mov eax, dword [rsp + 0x100]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0xf8]
mov r8, r14
mov rdx, qword [rsp + 0xe8]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
nop
mov esi, eax
jmp 0x14005a294
cmp r15, rsi
je 0x14005a050
mov ebp, reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x88], rsi
mov byte [rsp + 0x78], sil
mov rcx, r15
call fcn.1400980d0
mov r8, rax
mov rdx, r15
lea rcx, [rsp + 0x70]
call fcn.14000352c
nop
cmp r13, rsi
jne 0x140059c24
call fcn.14009861c
mov r11, rsi
jmp 0x140059c28
mov r11, qword [r13]
cmp r12, qword [r11 + 0x30]
jne 0x140059c33
call fcn.14009861c
lea rcx, [r12 + 0x50]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x60]
call fcn.140055658
movdqu xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x50], xmm0
cmp qword [rsp + 0x90], 0x10
jb 0x140059c66
mov rcx, qword [rsp + 0x78]
call fcn.14006127c
cmp r13, rsi
jne 0x140059c75
call fcn.14009861c
mov r11, rsi
jmp 0x140059c79
mov r11, qword [r13]
cmp r12, qword [r11 + 0x30]
jne 0x140059c84
call fcn.14009861c
mov rdi, qword [r12 + 0x80]
mov r13, qword [rsp + 0x50]
cmp r13, rsi
je 0x140059c9d
cmp r13, qword [r12 + 0x50]
je 0x140059ca2
call fcn.14009861c
mov r12, qword [rsp + 0x58]
cmp r12, rdi
je 0x14005a284
mov rdi, qword [rsp + 0xe8]
cmp rdi, rsi
je 0x140059e05
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x88], rsi
mov byte [rsp + 0x78], sil
mov rcx, rdi
call fcn.1400980d0
mov r8, rax
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.14000352c
nop
cmp r13, rsi
jne 0x140059cfe
call fcn.14009861c
mov r11, rsi
jmp 0x140059d02
mov r11, qword [r13]
cmp r12, qword [r11 + 0x30]
jne 0x140059d0d
call fcn.14009861c
lea rcx, [r12 + 0x78]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x60]
call fcn.14000ca58
movdqu xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x50], xmm0
cmp qword [rsp + 0x90], 0x10
jb 0x140059d40
mov rcx, qword [rsp + 0x78]
call fcn.14006127c
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x88], rsi
mov byte [rsp + 0x78], sil
cmp r13, rsi
jne 0x140059d64
call fcn.14009861c
mov r11, rsi
jmp 0x140059d68
mov r11, qword [r13]
cmp r12, qword [r11 + 0x30]
jne 0x140059d73
call fcn.14009861c
mov r13, qword [r12 + 0xa8]
mov rbp, qword [rsp + 0x50]
cmp rbp, rsi
je 0x140059d8c
cmp rbp, qword [r12 + 0x78]
je 0x140059d91
call fcn.14009861c
mov rdi, qword [rsp + 0x58]
cmp rdi, r13
je 0x14005a284
cmp rbp, rsi
jne 0x140059dae
call fcn.14009861c
mov r11, rsi
jmp 0x140059db2
mov r11, qword [rbp]
cmp rdi, qword [r11 + 0x30]
jne 0x140059dbd
call fcn.14009861c
cmp qword [rdi + 0x60], 0x10
jb 0x140059dca
mov r8, qword [rdi + 0x48]
jmp 0x140059dce
lea r8, [rdi + 0x48]
mov eax, dword [rsp + 0x100]
dec eax
mov edi, eax
mov r9d, eax
mov rdx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0xf8]
mov rcx, rbp
call fcn.140097ed0
mov byte [rdi + rbp], sil
mov rcx, rbp
call fcn.1400980d0
nop
mov esi, eax
jmp 0x14005a294
cmp r13, rsi
jne 0x140059e14
call fcn.14009861c
mov r11, rsi
jmp 0x140059e18
mov r11, qword [r13]
cmp r12, qword [r11 + 0x30]
jne 0x140059e23
call fcn.14009861c
mov rax, qword [r12 + 0x68]
mov rcx, qword [rax]
mov qword [rsp + 0x58], rcx
mov rax, qword [r12 + 0x40]
mov qword [rsp + 0x50], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm0
mov rbp, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
mov r15, qword [rsp + 0xf8]
cmp r13, rsi
jne 0x140059e66
call fcn.14009861c
mov r11, rsi
jmp 0x140059e6a
mov r11, qword [r13]
cmp r12, qword [r11 + 0x30]
jne 0x140059e75
call fcn.14009861c
mov r14, qword [r12 + 0x68]
cmp rbp, rsi
je 0x140059e86
cmp rbp, qword [r12 + 0x40]
je 0x140059e8b
call fcn.14009861c
cmp rdi, r14
je 0x14005a043
cmp rbp, rsi
jne 0x140059ea3
call fcn.14009861c
mov r11, rsi
jmp 0x140059ea7
mov r11, qword [rbp]
cmp rdi, qword [r11 + 0x28]
jne 0x140059eb2
call fcn.14009861c
mov rax, qword [rdi + 0x28]
mov rdx, qword [rsp + 0x30]
mov r14, rdx
mov rcx, qword [rsp + 0xf0]
sub r14, rcx
inc rax
cmp r14, rax
jbe 0x140059f8a
cmp rbp, rsi
jne 0x140059ee4
call fcn.14009861c
mov r11, rsi
jmp 0x140059ee8
mov r11, qword [rbp]
cmp rdi, qword [r11 + 0x28]
jne 0x140059ef3
call fcn.14009861c
cmp qword [rdi + 0x30], 0x10
jb 0x140059f00
mov r8, qword [rdi + 0x18]
jmp 0x140059f04
lea r8, [rdi + 0x18]
mov rcx, qword [rsp + 0xf0]
add rcx, r15
mov rdx, r14
call fcn.1400986e0
cmp rbp, rsi
jne 0x140059f26
call fcn.14009861c
mov r11, rsi
jmp 0x140059f2a
mov r11, qword [rbp]
cmp rdi, qword [r11 + 0x28]
jne 0x140059f35
call fcn.14009861c
cmp qword [rdi + 0x30], 0x10
jb 0x140059f42
mov rcx, qword [rdi + 0x18]
jmp 0x140059f46
lea rcx, [rdi + 0x18]
call fcn.1400980d0
mov rcx, qword [rsp + 0xf0]
lea rcx, [rcx + rax + 1]
mov qword [rsp + 0xf0], rcx
mov byte [rcx + r15], sil
cmp rbp, rsi
jne 0x140059f73
call fcn.14009861c
mov r11, rsi
jmp 0x140059f77
mov r11, qword [rbp]
cmp rdi, qword [r11 + 0x28]
jne 0x140059f82
call fcn.14009861c
mov rdi, qword [rdi]
jmp 0x140059e57
cmp rdx, rcx
jbe 0x14005a021
sub rdx, rcx
mov qword [rsp + 0x30], rdx
mov r12, rdx
cmp rbp, rsi
jne 0x140059fad
call fcn.14009861c
mov r11, rsi
jmp 0x140059fb1
mov r11, qword [rbp]
cmp rdi, qword [r11 + 0x28]
jne 0x140059fbc
call fcn.14009861c
cmp qword [rdi + 0x30], 0x10
jb 0x140059fc9
mov rcx, qword [rdi + 0x18]
jmp 0x140059fcd
lea rcx, [rdi + 0x18]
call fcn.1400980d0
cmp rax, r12
jb 0x140059fda
dec r12
cmp rbp, rsi
jne 0x140059fe9
call fcn.14009861c
mov r11, rsi
jmp 0x140059fed
mov r11, qword [rbp]
cmp rdi, qword [r11 + 0x28]
jne 0x140059ff8
call fcn.14009861c
cmp qword [rdi + 0x30], 0x10
jb 0x14005a005
mov r8, qword [rdi + 0x18]
jmp 0x14005a009
lea r8, [rdi + 0x18]
mov rcx, qword [rsp + 0xf0]
add rcx, r15
mov r9, r12
mov rdx, qword [rsp + 0x30]
call fcn.140097ed0
mov edx, dword [rsp + 0x100]
lea eax, [rdx - 1]
mov byte [rax + r15], sil
cmp edx, 2
jb 0x14005a03b
lea eax, [rdx - 2]
mov byte [rax + r15], sil
lea esi, [rdx - 2]
jmp 0x14005a294
mov rsi, qword [rsp + 0xf0]
jmp 0x14005a294
cmp r13, rsi
jne 0x14005a05f
call fcn.14009861c
mov r11, rsi
jmp 0x14005a063
mov r11, qword [r13]
cmp r12, qword [r11 + 0x30]
jne 0x14005a06e
call fcn.14009861c
mov rax, qword [r12 + 0x80]
mov rcx, qword [rax]
mov qword [rsp + 0x58], rcx
mov rax, qword [r12 + 0x50]
mov qword [rsp + 0x50], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm0
mov r15, qword [rsp + 0xf8]
cmp r13, rsi
jne 0x14005a0aa
call fcn.14009861c
mov r11, rsi
jmp 0x14005a0ae
mov r11, qword [r13]
cmp r12, qword [r11 + 0x30]
jne 0x14005a0b9
call fcn.14009861c
mov r14, qword [r12 + 0x80]
mov rbp, qword [rsp + 0x50]
cmp rbp, rsi
je 0x14005a0d2
cmp rbp, qword [r12 + 0x50]
je 0x14005a0d7
call fcn.14009861c
mov rdi, qword [rsp + 0x58]
cmp rdi, r14
je 0x14005a27a
cmp rbp, rsi
jne 0x14005a0f4
call fcn.14009861c
mov r11, rsi
jmp 0x14005a0f8
mov r11, qword [rbp]
cmp rdi, qword [r11 + 0x30]
jne 0x14005a103
call fcn.14009861c
mov rax, qword [rdi + 0x30]
mov rdx, qword [rsp + 0x30]
mov r14, rdx
mov rcx, qword [rsp + 0xf0]
sub r14, rcx
inc rax
cmp r14, rax
jbe 0x14005a1c4
cmp rbp, rsi
jne 0x14005a135
call fcn.14009861c
mov r11, rsi
jmp 0x14005a139
mov r11, qword [rbp]
cmp rdi, qword [r11 + 0x30]
jne 0x14005a144
call fcn.14009861c
cmp qword [rdi + 0x38], 0x10
jb 0x14005a151
mov r8, qword [rdi + 0x20]
jmp 0x14005a155
lea r8, [rdi + 0x20]
mov rcx, qword [rsp + 0xf0]
add rcx, r15
mov rdx, r14
call fcn.1400986e0
cmp rbp, rsi
jne 0x14005a177
call fcn.14009861c
mov r11, rsi
jmp 0x14005a17b
mov r11, qword [rbp]
cmp rdi, qword [r11 + 0x30]
jne 0x14005a186
call fcn.14009861c
cmp qword [rdi + 0x38], 0x10
jb 0x14005a193
mov rcx, qword [rdi + 0x20]
jmp 0x14005a197
lea rcx, [rdi + 0x20]
call fcn.1400980d0
mov rcx, qword [rsp + 0xf0]
lea rcx, [rcx + rax + 1]
mov qword [rsp + 0xf0], rcx
mov byte [rcx + r15], sil
lea rcx, [rsp + 0x50]
call fcn.1400553e8
jmp 0x14005a09b
cmp rdx, rcx
jbe 0x14005a25b
sub rdx, rcx
mov qword [rsp + 0x30], rdx
mov r12, rdx
cmp rbp, rsi
jne 0x14005a1e7
call fcn.14009861c
mov r11, rsi
jmp 0x14005a1eb
mov r11, qword [rbp]
cmp rdi, qword [r11 + 0x30]
jne 0x14005a1f6
call fcn.14009861c
cmp qword [rdi + 0x38], 0x10
jb 0x14005a203
mov rcx, qword [rdi + 0x20]
jmp 0x14005a207
lea rcx, [rdi + 0x20]
call fcn.1400980d0
cmp rax, r12
jb 0x14005a214
dec r12
cmp rbp, rsi
jne 0x14005a223
call fcn.14009861c
mov r11, rsi
jmp 0x14005a227
mov r11, qword [rbp]
cmp rdi, qword [r11 + 0x30]
jne 0x14005a232
call fcn.14009861c
cmp qword [rdi + 0x38], 0x10
jb 0x14005a23f
mov r8, qword [rdi + 0x20]
jmp 0x14005a243
lea r8, [rdi + 0x20]
mov rcx, qword [rsp + 0xf0]
add rcx, r15
mov r9, r12
mov rdx, qword [rsp + 0x30]
call fcn.140097ed0
mov edx, dword [rsp + 0x100]
lea eax, [rdx - 1]
mov byte [rax + r15], sil
cmp edx, 2
jb 0x14005a275
lea eax, [rdx - 2]
mov byte [rax + r15], sil
lea esi, [rdx - 2]
jmp 0x14005a294
mov rsi, qword [rsp + 0xf0]
jmp 0x14005a294
mov rcx, qword [rsp + 0xf8]
call fcn.1400980d0
nop
mov esi, eax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, esi
mov rbx, qword [rsp + 0xe0]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret