Function at 0x140014550
Capabilities:
Read .ini file

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x100
vmovaps xmmword [rsp + 0xf0], xmm6
mov rdi, r8
mov rsi, rdx
mov r15, qword [rsp + 0x160]
mov rax, qword [0x140114500]
xor rax, rsp
mov qword [rsp + 0xe8], rax
test r9b, r9b
je 0x14001461d
mov rax, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x1400145a1
mov rcx, qword [rcx]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
call fcn.1400a2460
lea r14, [rsp + 0xc0]
lea r8, [rsp + 0x40]
mov rcx, r14
mov edx, eax
call fcn.140008310
cmp qword [rsp + 0xd8], 8
jb 0x1400145da
mov r14, qword [rsp + 0xc0]
lea rbx, [rsp + 0x40]
mov rcx, r14
mov rdx, rbx
mov r8d, 3
mov r9d, 0xffffffff
call fcn.1400a2138
xor ebp, ebp
cmp eax, 0x34
jg 0x1400146aa
lea ecx, [rax - 2]
cmp ecx, 2
jb 0x1400146b8
test eax, eax
jne 0x140014c57
mov bpl, 1
jmp 0x1400146b8
mov rax, qword [rcx + 0x30]
cmp qword [rcx + 0x38], 0x10
jb 0x14001462e
mov rcx, qword [rcx + 0x20]
jmp 0x140014632
add rcx, 0x20
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
call fcn.1400a2460
lea rbx, [rsp + 0xc0]
lea r8, [rsp + 0x40]
mov rcx, rbx
mov edx, eax
call fcn.140008310
cmp qword [rsp + 0xd8], 8
jb 0x14001466b
mov rbx, qword [rsp + 0xc0]
lea rdx, [rsp + 0x40]
mov rcx, rbx
mov r8d, 3
mov r9d, 0xffffffff
call fcn.1400a2138
xor ebx, ebx
cmp eax, 0x34
jg 0x140014777
lea ecx, [rax - 2]
cmp ecx, 2
jb 0x140014785
test eax, eax
jne 0x140014c57
mov bl, 1
jmp 0x140014785
cmp eax, 0x35
je 0x1400146b8
cmp eax, 0x7b
jne 0x140014c57
mov rax, qword [rsp + 0xd8]
cmp rax, 8
jb 0x140014706
mov rcx, qword [rsp + 0xc0]
lea rdx, [rax*2 + 2]
cmp rdx, 0x1000
jb 0x140014701
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140014c49
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
test bpl, bpl
je 0x140014ad0
vmovss xmm0, dword [rdi]
vcvtss2sd xmm6, xmm0, xmm0
lea rcx, [0x1400b0c30]
vmovaps xmm1, xmm6
vmovq rdx, xmm6
call fcn.140038fe0
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rsp + 0x40], ymm0
test eax, eax
js 0x140014c4f
movsxd rdi, eax
cmp eax, 0xf
ja 0x14001491d
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], 0xf
lea rcx, [rsp + 0x40]
xor edx, edx
mov r8, rdi
vzeroupper
call sub.VCRUNTIME140.dll_memset
lea r14, [rsp + rdi]
add r14, 0x40
jmp 0x1400149c2
cmp eax, 0x35
je 0x140014785
cmp eax, 0x7b
jne 0x140014c57
mov rax, qword [rsp + 0xd8]
cmp rax, 8
jb 0x1400147d3
mov rcx, qword [rsp + 0xc0]
lea rdx, [rax*2 + 2]
cmp rdx, 0x1000
jb 0x1400147ce
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140014c49
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
test bl, bl
je 0x140014ad0
cmp qword [r15 + 0x18], 0x10
mov rax, r15
jb 0x1400147e8
mov rax, qword [r15]
movabs rcx, 0x9b7bd94a92d6eed1
mov qword [rsp + 0xb0], rcx
movabs rcx, 0xe0253c635429c410
mov qword [rsp + 0xb8], rcx
movabs rdx, 0x9b7bd94ade9abb9f
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], rcx
lea rbx, [rsp + 0xc0]
mov r8, rbx
vmovaps xmm0, xmmword [rsp + 0xb0]
vxorps xmm0, xmm0, xmmword [r8]
vmovaps xmmword [rsp + 0xb0], xmm0
cmp qword [rsi + 0x18], 0x10
jb 0x140014852
mov rsi, qword [rsi]
movabs r8, 0x9b08b725b7eecbf0
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], rcx
mov rcx, rbx
vmovaps xmm0, xmmword [rsp + 0x30]
vxorps xmm0, xmm0, xmmword [rcx]
vmovaps xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x64
lea rcx, [rsp + 0x30]
lea r8, [rsp + 0xb0]
lea r9, [rsp + 0x40]
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x140014ad0
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rsp + 0xc0], ymm0
lea rcx, [rsp + 0x40]
vzeroupper
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x140014c4f
mov rsi, rax
cmp rax, 0xf
ja 0x140014956
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xd8], 0xf
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x40]
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add rsi, rsp
add rsi, 0xc0
jmp 0x140014b33
mov rax, rdi
or rax, 0xf
cmp rax, 0x17
mov r12d, 0x16
cmovae r12, rax
cmp r12, 0xfff
jb 0x140014993
lea rcx, [r12 + 0x28]
vzeroupper
call fcn.1400a1c64
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x1400149a3
mov rax, rsi
or rax, 0xf
cmp rax, 0x17
mov r12d, 0x16
cmovae r12, rax
cmp r12, 0xfff
jb 0x140014afb
lea rcx, [r12 + 0x28]
call fcn.1400a1c64
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x140014b08
lea rcx, [r12 + 1]
vzeroupper
call fcn.1400a1c64
mov r14, rax
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], r12
mov rcx, r14
xor edx, edx
mov r8, rdi
call sub.VCRUNTIME140.dll_memset
add r14, rdi
mov byte [r14], 0
inc rdi
cmp qword [rsp + 0x58], 0x10
mov rcx, rbx
jb 0x1400149d9
mov rcx, qword [rsp + 0x40]
lea r8, [0x1400b0c30]
mov rdx, rdi
vmovaps xmm3, xmm6
vmovq r9, xmm6
call fcn.140039060
cmp qword [r15 + 0x18], 0x10
mov r9, r15
jae 0x140014ad7
cmp qword [rsp + 0x58], 0x10
jae 0x140014ae6
cmp qword [rsi + 0x18], 0x10
jb 0x140014a15
mov rsi, qword [rsi]
movabs rax, 0x9b08b725b7eecbf0
mov qword [rsp + 0xb0], rax
movabs rax, 0xe0253c635429c410
mov qword [rsp + 0xb8], rax
movabs rcx, 0x9b7bd94ade9abb9f
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0xc0]
vmovaps xmm0, xmmword [rsp + 0xb0]
vxorps xmm0, xmm0, xmmword [rax]
vmovaps xmmword [rsp + 0xb0], xmm0
lea rcx, [rsp + 0xb0]
mov rdx, rsi
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov esi, eax
mov rax, qword [rsp + 0x58]
cmp rax, 0x10
jb 0x140014ac8
mov rcx, qword [rsp + 0x40]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140014ac3
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140014c49
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
test esi, esi
jne 0x140014bcb
xor esi, esi
jmp 0x140014bce
mov r9, qword [r15]
cmp qword [rsp + 0x58], 0x10
jb 0x140014a0b
mov rbx, qword [rsp + 0x40]
cmp qword [rsi + 0x18], 0x10
jae 0x140014a12
jmp 0x140014a15
lea rcx, [r12 + 1]
call fcn.1400a1c64
mov r14, rax
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xd8], r12
lea rdx, [rsp + 0x40]
mov rcx, r14
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add rsi, r14
mov byte [rsi], 0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rsi, rax
cmp qword [rsp + 0xd8], 0x10
jb 0x140014b52
mov rbx, qword [rsp + 0xc0]
mov dword [rsi], 0
lea rdx, [rsp + 0xb0]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtof]
cmp rbx, qword [rsp + 0xb0]
je 0x140014c80
cmp dword [rsi], 0x22
je 0x140014c8c
vmovss dword [rdi], xmm0
mov rax, qword [rsp + 0xd8]
cmp rax, 0x10
jb 0x140014bcb
mov rcx, qword [rsp + 0xc0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140014bc6
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140014c49
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
mov sil, 1
mov rax, qword [r15 + 0x18]
cmp rax, 0x10
jb 0x140014c08
mov rcx, qword [r15]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140014c03
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140014c49
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
mov qword [r15 + 0x10], 0
mov qword [r15 + 0x18], 0xf
mov byte [r15], 0
mov rcx, qword [rsp + 0xe8]
xor rcx, rsp
call fcn.1400a1e40
mov eax, esi
vmovaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x100
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
vzeroupper
call fcn.140006a40
mov dword [rsp + 0x40], eax
lea rax, str.xC_n_
mov qword [rsp + 0x48], rax
lea rcx, str.exists
lea rdx, [rsp + 0x40]
lea r8, [rsp + 0xc0]
call fcn.140006a60
lea rcx, str.invalid_stof_argument
call sub.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_
lea rcx, str.stof_argument_out_of_range
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_
int3