Function at 0x1400152e0
Capabilities:
Read .ini file

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x308
vmovaps xmmword [rsp + 0x2f0], xmm6
mov rdi, r8
mov r15, rdx
mov r12, qword [rsp + 0x370]
mov rax, qword [0x140114500]
xor rax, rsp
mov qword [rsp + 0x2e8], rax
test r9b, r9b
je 0x1400153af
mov rax, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x140015333
mov rcx, qword [rcx]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
call fcn.1400a2460
lea r14, [rsp + 0x140]
lea r8, [rsp + 0x40]
mov rcx, r14
mov edx, eax
call fcn.140008310
cmp qword [rsp + 0x158], 8
jb 0x14001536c
mov r14, qword [rsp + 0x140]
lea rbx, [rsp + 0x40]
mov rcx, r14
mov rdx, rbx
mov r8d, 3
mov r9d, 0xffffffff
call fcn.1400a2138
xor esi, esi
cmp eax, 0x34
jg 0x140015440
lea ecx, [rax - 2]
cmp ecx, 2
jb 0x14001544e
test eax, eax
jne 0x140016547
mov sil, 1
jmp 0x14001544e
mov rax, qword [rcx + 0x30]
cmp qword [rcx + 0x38], 0x10
jb 0x1400153c0
mov rcx, qword [rcx + 0x20]
jmp 0x1400153c4
add rcx, 0x20
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
call fcn.1400a2460
lea r14, [rsp + 0x140]
lea r8, [rsp + 0x40]
mov rcx, r14
mov edx, eax
call fcn.140008310
cmp qword [rsp + 0x158], 8
jb 0x1400153fd
mov r14, qword [rsp + 0x140]
lea rbx, [rsp + 0x40]
mov rcx, r14
mov rdx, rbx
mov r8d, 3
mov r9d, 0xffffffff
call fcn.1400a2138
xor esi, esi
cmp eax, 0x34
jg 0x140015522
lea ecx, [rax - 2]
cmp ecx, 2
jb 0x140015530
test eax, eax
jne 0x140016547
mov sil, 1
jmp 0x140015530
cmp eax, 0x35
je 0x14001544e
cmp eax, 0x7b
jne 0x140016547
mov rax, qword [rsp + 0x158]
cmp rax, 8
jb 0x14001549c
mov rcx, qword [rsp + 0x140]
lea rdx, [rax*2 + 2]
cmp rdx, 0x1000
jb 0x140015497
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140016539
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
test sil, sil
je 0x140016484
vmovss xmm0, dword [rdi + 0xc]
vcvtss2sd xmm6, xmm0, xmm0
lea rcx, [0x1400b0c30]
vmovaps xmm1, xmm6
vmovq rdx, xmm6
call fcn.140038fe0
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rsp + 0x140], ymm0
test eax, eax
js 0x14001653f
movsxd r14, eax
cmp eax, 0xf
mov qword [rsp + 0x38], r15
ja 0x1400156cc
mov qword [rsp + 0x150], r14
mov qword [rsp + 0x158], 0xf
lea rcx, [rsp + 0x140]
xor edx, edx
mov r8, r14
vzeroupper
call sub.VCRUNTIME140.dll_memset
lea r15, [rsp + r14]
add r15, 0x140
jmp 0x140015776
cmp eax, 0x35
je 0x140015530
cmp eax, 0x7b
jne 0x140016547
mov rax, qword [rsp + 0x158]
cmp rax, 8
jb 0x14001557e
mov rcx, qword [rsp + 0x140]
lea rdx, [rax*2 + 2]
cmp rdx, 0x1000
jb 0x140015579
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140016539
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
test sil, sil
je 0x140016484
cmp qword [r12 + 0x18], 0x10
mov rax, r12
jb 0x140015596
mov rax, qword [r12]
movabs rcx, 0x9b7bd94a92d6eed1
mov qword [rsp + 0x2c0], rcx
movabs rcx, 0xe0253c635429c410
mov qword [rsp + 0x2c8], rcx
movabs rdx, 0x9b7bd94ade9abb9f
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
mov r8, rbx
vmovaps xmm0, xmmword [rsp + 0x2c0]
vxorps xmm0, xmm0, xmmword [r8]
vmovaps xmmword [rsp + 0x2c0], xmm0
cmp qword [r15 + 0x18], 0x10
jb 0x1400155f2
mov r15, qword [r15]
movabs r8, 0x9b08b725b7eecbf0
mov qword [rsp + 0x290], r8
mov qword [rsp + 0x298], rcx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
vmovaps xmm0, xmmword [rsp + 0x290]
vxorps xmm0, xmm0, xmmword [rbx]
vmovaps xmmword [rsp + 0x290], xmm0
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x64
lea rcx, [rsp + 0x290]
lea r8, [rsp + 0x2c0]
lea r9, [rsp + 0x140]
mov rdx, r15
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x140016484
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rsp + 0x2c0], ymm0
lea rcx, [rsp + 0x140]
vzeroupper
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x14001653f
mov rsi, rax
cmp rax, 0xf
ja 0x140015703
mov qword [rsp + 0x2d0], rsi
mov qword [rsp + 0x2d8], 0xf
lea rcx, [rsp + 0x2c0]
lea rdx, [rsp + 0x140]
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add rsi, rsp
add rsi, 0x2c0
jmp 0x14001627f
mov rax, r14
or rax, 0xf
cmp rax, 0x17
mov esi, 0x16
cmovae rsi, rax
cmp rsi, 0xfff
jb 0x14001573f
lea rcx, [rsi + 0x28]
vzeroupper
call fcn.1400a1c64
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x14001574e
mov rax, rsi
or rax, 0xf
cmp rax, 0x17
mov r14d, 0x16
cmovae r14, rax
cmp r14, 0xfff
jb 0x140016245
lea rcx, [r14 + 0x28]
call fcn.1400a1c64
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140016251
lea rcx, [rsi + 1]
vzeroupper
call fcn.1400a1c64
mov r15, rax
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x150], r14
mov qword [rsp + 0x158], rsi
mov rcx, r15
xor edx, edx
mov r8, r14
call sub.VCRUNTIME140.dll_memset
add r15, r14
mov byte [r15], 0
inc r14
cmp qword [rsp + 0x158], 0x10
jb 0x140015792
mov rcx, qword [rsp + 0x140]
jmp 0x14001579a
lea rcx, [rsp + 0x140]
lea r15, [0x1400b0c30]
mov rdx, r14
mov r8, r15
vmovaps xmm3, xmm6
vmovq r9, xmm6
call fcn.140039060
movabs rsi, 0x9b7bd94ade9abbbf
mov qword [rsp + 0x2b0], rsi
movabs r13, 0xe0253c635429c410
mov qword [rsp + 0x2b8], r13
movabs rbp, 0x9b7bd94ade9abb9f
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], r13
mov rax, rbx
vmovaps xmm0, xmmword [rsp + 0x2b0]
vxorps xmm0, xmm0, xmmword [rax]
vmovaps xmmword [rsp + 0x2b0], xmm0
vmovss xmm0, dword [rdi + 8]
vcvtss2sd xmm6, xmm0, xmm0
mov rcx, r15
vmovaps xmm1, xmm6
vmovq rdx, xmm6
call fcn.140038fe0
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rsp + 0x270], ymm0
test eax, eax
js 0x14001653f
movsxd r14, eax
cmp eax, 0xf
ja 0x140015873
mov qword [rsp + 0x280], r14
mov qword [rsp + 0x288], 0xf
lea rcx, [rsp + 0x270]
xor edx, edx
mov r8, r14
vzeroupper
call sub.VCRUNTIME140.dll_memset
lea r15, [rsp + r14]
add r15, 0x270
jmp 0x1400158ef
mov r12, rbp
mov rax, r14
or rax, 0xf
cmp rax, 0x17
mov ebp, 0x16
cmovae rbp, rax
cmp rbp, 0xfff
jb 0x1400158ad
lea rcx, [rbp + 0x28]
vzeroupper
call fcn.1400a1c64
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x1400158bc
lea rcx, [rbp + 1]
vzeroupper
call fcn.1400a1c64
mov r15, rax
mov qword [rsp + 0x270], r15
mov qword [rsp + 0x280], r14
mov qword [rsp + 0x288], rbp
mov rcx, r15
xor edx, edx
mov r8, r14
call sub.VCRUNTIME140.dll_memset
add r15, r14
mov rbp, r12
mov r12, qword [rsp + 0x370]
mov byte [r15], 0
inc r14
cmp qword [rsp + 0x288], 0x10
jb 0x14001590b
mov rcx, qword [rsp + 0x270]
jmp 0x140015913
lea rcx, [rsp + 0x270]
lea r15, [0x1400b0c30]
mov rdx, r14
mov r8, r15
vmovaps xmm3, xmm6
vmovq r9, xmm6
call fcn.140039060
mov qword [rsp + 0x240], rsi
mov qword [rsp + 0x248], r13
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], r13
mov rax, rbx
vmovaps xmm0, xmmword [rsp + 0x240]
vxorps xmm0, xmm0, xmmword [rax]
vmovaps xmmword [rsp + 0x240], xmm0
vmovss xmm0, dword [rdi + 4]
vcvtss2sd xmm6, xmm0, xmm0
mov rcx, r15
vmovaps xmm1, xmm6
vmovq rdx, xmm6
call fcn.140038fe0
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rsp + 0x200], ymm0
test eax, eax
js 0x14001653f
movsxd r14, eax
cmp eax, 0xf
ja 0x1400159d1
mov qword [rsp + 0x210], r14
mov qword [rsp + 0x218], 0xf
lea rcx, [rsp + 0x200]
xor edx, edx
mov r8, r14
vzeroupper
call sub.VCRUNTIME140.dll_memset
lea r15, [rsp + r14]
add r15, 0x200
jmp 0x140015a5b
mov qword [rsp + 0x30], r13
mov r13, rdi
mov rdi, r12
mov r12, rbp
mov rax, r14
or rax, 0xf
cmp rax, 0x17
mov ebp, 0x16
cmovae rbp, rax
cmp rbp, 0xfff
jb 0x140015a16
lea rcx, [rbp + 0x28]
vzeroupper
call fcn.1400a1c64
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x140015a25
lea rcx, [rbp + 1]
vzeroupper
call fcn.1400a1c64
mov r15, rax
mov qword [rsp + 0x200], r15
mov qword [rsp + 0x210], r14
mov qword [rsp + 0x218], rbp
mov rcx, r15
xor edx, edx
mov r8, r14
call sub.VCRUNTIME140.dll_memset
add r15, r14
mov rbp, r12
mov r12, rdi
mov rdi, r13
mov r13, qword [rsp + 0x30]
mov byte [r15], 0
inc r14
cmp qword [rsp + 0x218], 0x10
jb 0x140015a77
mov rcx, qword [rsp + 0x200]
jmp 0x140015a7f
lea rcx, [rsp + 0x200]
lea r15, [0x1400b0c30]
mov rdx, r14
mov r8, r15
vmovaps xmm3, xmm6
vmovq r9, xmm6
call fcn.140039060
mov qword [rsp + 0x1d0], rsi
mov qword [rsp + 0x1d8], r13
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], r13
vmovaps xmm0, xmmword [rsp + 0x1d0]
vxorps xmm0, xmm0, xmmword [rbx]
vmovaps xmmword [rsp + 0x1d0], xmm0
vmovss xmm0, dword [rdi]
vcvtss2sd xmm6, xmm0, xmm0
mov rcx, r15
vmovaps xmm1, xmm6
vmovq rdx, xmm6
call fcn.140038fe0
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rsp + 0x1b0], ymm0
test eax, eax
js 0x14001653f
movsxd rdi, eax
cmp eax, 0xf
mov r14, qword [rsp + 0x38]
ja 0x140015b3b
mov qword [rsp + 0x1c0], rdi
mov qword [rsp + 0x1c8], 0xf
lea rcx, [rsp + 0x1b0]
xor edx, edx
mov r8, rdi
vzeroupper
call sub.VCRUNTIME140.dll_memset
lea rbx, [rsp + rdi]
add rbx, 0x1b0
jmp 0x140015ba9
mov rax, rdi
or rax, 0xf
cmp rax, 0x17
mov esi, 0x16
cmovae rsi, rax
cmp rsi, 0xfff
jb 0x140015b72
lea rcx, [rsi + 0x28]
vzeroupper
call fcn.1400a1c64
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140015b81
lea rcx, [rsi + 1]
vzeroupper
call fcn.1400a1c64
mov rbx, rax
mov qword [rsp + 0x1b0], rbx
mov qword [rsp + 0x1c0], rdi
mov qword [rsp + 0x1c8], rsi
mov rcx, rbx
xor edx, edx
mov r8, rdi
call sub.VCRUNTIME140.dll_memset
add rbx, rdi
mov byte [rbx], 0
inc rdi
cmp qword [rsp + 0x1c8], 0x10
jb 0x140015bc4
mov rcx, qword [rsp + 0x1b0]
jmp 0x140015bcc
lea rcx, [rsp + 0x1b0]
lea r8, [0x1400b0c30]
mov rdx, rdi
vmovaps xmm3, xmm6
vmovq r9, xmm6
call fcn.140039060
lea rcx, [rsp + 0x1d0]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, qword [rsp + 0x1c0]
mov rdx, qword [rsp + 0x1c8]
mov r8, rdx
sub r8, rcx
cmp r8, rax
jae 0x140015c2e
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x1b0]
lea r9, [rsp + 0x1d0]
mov rdx, rax
call fcn.1400079a0
mov rdi, rax
jmp 0x140015c6c
mov rsi, rax
add rsi, rcx
mov qword [rsp + 0x1c0], rsi
lea rdi, [rsp + 0x1b0]
mov rbx, rdi
cmp rdx, 0x10
jb 0x140015c55
mov rbx, qword [rsp + 0x1b0]
add rcx, rbx
lea rdx, [rsp + 0x1d0]
mov r8, rax
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rsi], 0
vmovups ymm0, ymmword [rdi]
vmovups ymmword [rsp + 0x1e0], ymm0
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
lea rdi, [rsp + 0x220]
lea r8, [rsp + 0x1e0]
lea r9, [rsp + 0x200]
mov rcx, rdi
vzeroupper
call fcn.1400390e0
lea rcx, [rsp + 0x240]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, qword [rsp + 0x230]
mov rdx, qword [rsp + 0x238]
mov r8, rdx
sub r8, rcx
cmp r8, rax
jae 0x140015cf9
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x220]
lea r9, [rsp + 0x240]
mov rdx, rax
call fcn.1400079a0
mov rdi, rax
jmp 0x140015d2f
mov rsi, rax
add rsi, rcx
mov qword [rsp + 0x230], rsi
mov rbx, rdi
cmp rdx, 0x10
jb 0x140015d18
mov rbx, qword [rsp + 0x220]
add rcx, rbx
lea rdx, [rsp + 0x240]
mov r8, rax
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rsi], 0
vmovups ymm0, ymmword [rdi]
vmovups ymmword [rsp + 0x250], ymm0
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
lea rdi, [rsp + 0x290]
lea r8, [rsp + 0x250]
lea r9, [rsp + 0x270]
mov rcx, rdi
vzeroupper
call fcn.1400390e0
lea rcx, [rsp + 0x2b0]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, qword [rsp + 0x2a0]
mov rdx, qword [rsp + 0x2a8]
mov r8, rdx
sub r8, rcx
cmp r8, rax
jae 0x140015dbc
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x290]
lea r9, [rsp + 0x2b0]
mov rdx, rax
call fcn.1400079a0
mov rdi, rax
jmp 0x140015df2
mov rsi, rax
add rsi, rcx
mov qword [rsp + 0x2a0], rsi
mov rbx, rdi
cmp rdx, 0x10
jb 0x140015ddb
mov rbx, qword [rsp + 0x290]
add rcx, rbx
lea rdx, [rsp + 0x2b0]
mov r8, rax
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rsi], 0
vmovups ymm0, ymmword [rdi]
vmovups ymmword [rsp + 0x2c0], ymm0
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
lea rdi, [rsp + 0x40]
lea r8, [rsp + 0x2c0]
lea rbx, [rsp + 0x140]
mov rcx, rdi
mov r9, rbx
vzeroupper
call fcn.1400390e0
mov rax, qword [rsp + 0x2d8]
cmp rax, 0x10
jb 0x140015e7c
mov rcx, qword [rsp + 0x2c0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140015e77
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140016539
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
mov qword [rsp + 0x2d0], 0
mov qword [rsp + 0x2d8], 0xf
mov byte [rsp + 0x2c0], 0
mov rax, qword [rsp + 0x2a8]
cmp rax, 0x10
jb 0x140015ee3
mov rcx, qword [rsp + 0x290]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140015ede
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140016539
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
mov qword [rsp + 0x2a0], 0
mov qword [rsp + 0x2a8], 0xf
mov byte [rsp + 0x290], 0
mov rax, qword [rsp + 0x268]
cmp rax, 0x10
jb 0x140015f4a
mov rcx, qword [rsp + 0x250]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140015f45
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140016539
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
mov qword [rsp + 0x260], 0
mov qword [rsp + 0x268], 0xf
mov byte [rsp + 0x250], 0
mov rax, qword [rsp + 0x238]
cmp rax, 0x10
jb 0x140015fb1
mov rcx, qword [rsp + 0x220]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140015fac
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140016539
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
mov qword [rsp + 0x230], 0
mov qword [rsp + 0x238], 0xf
mov byte [rsp + 0x220], 0
mov rax, qword [rsp + 0x1f8]
cmp rax, 0x10
jb 0x140016018
mov rcx, qword [rsp + 0x1e0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140016013
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140016539
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
mov qword [rsp + 0x1f0], 0
mov qword [rsp + 0x1f8], 0xf
mov byte [rsp + 0x1e0], 0
mov rax, qword [rsp + 0x1c8]
cmp rax, 0x10
jb 0x14001607f
mov rcx, qword [rsp + 0x1b0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14001607a
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140016539
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
mov rax, qword [rsp + 0x218]
cmp rax, 0x10
jb 0x1400160c6
mov rcx, qword [rsp + 0x200]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400160c1
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140016539
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
mov rax, qword [rsp + 0x288]
cmp rax, 0x10
jb 0x14001610d
mov rcx, qword [rsp + 0x270]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140016108
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140016539
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
mov rax, qword [rsp + 0x158]
cmp rax, 0x10
jb 0x140016154
mov rcx, qword [rsp + 0x140]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14001614f
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140016539
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
cmp qword [r12 + 0x18], 0x10
mov r9, r12
jb 0x140016224
mov r9, qword [r12]
cmp qword [rsp + 0x58], 0x10
jae 0x140016230
cmp qword [r14 + 0x18], 0x10
jb 0x14001617d
mov r14, qword [r14]
movabs rax, 0x9b08b725b7eecbf0
mov qword [rsp + 0x2c0], rax
mov qword [rsp + 0x2c8], r13
mov qword [rsp + 0x140], rbp
mov qword [rsp + 0x148], r13
vmovaps xmm0, xmmword [rsp + 0x2c0]
vxorps xmm0, xmm0, xmmword [rbx]
vmovaps xmmword [rsp + 0x2c0], xmm0
lea rcx, [rsp + 0x2c0]
mov rdx, r14
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov esi, eax
mov rax, qword [rsp + 0x58]
cmp rax, 0x10
jb 0x140016214
mov rcx, qword [rsp + 0x40]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14001620f
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140016539
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
test esi, esi
je 0x140016484
mov sil, 1
jmp 0x140016486
cmp qword [rsp + 0x58], 0x10
jb 0x140016173
mov rdi, qword [rsp + 0x40]
cmp qword [r14 + 0x18], 0x10
jae 0x14001617a
jmp 0x14001617d
lea rcx, [r14 + 1]
call fcn.1400a1c64
mov rbx, rax
mov qword [rsp + 0x2c0], rbx
mov qword [rsp + 0x2d0], rsi
mov qword [rsp + 0x2d8], r14
lea rdx, [rsp + 0x140]
mov rcx, rbx
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add rsi, rbx
mov byte [rsi], 0
lea rsi, [rsp + 0x40]
lea rdx, [rsp + 0x2c0]
mov rcx, rsi
mov r8d, 3
mov r9d, 1
call fcn.140016580
mov rcx, rsi
mov rdx, rdi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::operator___float____ptr64____ptr64]
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::fail_void_const___ptr64]
test al, al
jne 0x14001630d
lea rdx, [rdi + 4]
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::operator___float____ptr64____ptr64]
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::fail_void_const___ptr64]
test al, al
jne 0x14001630d
lea rdx, [rdi + 8]
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::operator___float____ptr64____ptr64]
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::fail_void_const___ptr64]
test al, al
je 0x14001650c
xor esi, esi
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
lea rcx, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + rax + 0x40], rcx
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0x98]
mov dword [rsp + rax + 0x3c], ecx
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + 0x58], rax
test byte [rsp + 0xc8], 1
je 0x1400163b2
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
mov ecx, 0x70
test rax, rax
jne 0x140016372
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov ecx, 0x68
mov rcx, qword [rsp + rcx + 0x40]
movsxd rdx, dword [rcx]
add rdx, rax
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1400163ad
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140016539
add rdx, 0x27
mov rcx, rax
call fcn.1400a1ca8
lea rdi, [rsp + 0xd8]
lea rcx, [rsp + 0x58]
mov rax, qword [rsp + 0x70]
mov qword [rax], 0
mov rax, qword [rsp + 0x90]
mov qword [rax], 0
mov rax, qword [rsp + 0xa8]
mov dword [rax], 0
mov rax, qword [rsp + 0x78]
mov qword [rax], 0
mov rax, qword [rsp + 0x98]
mov qword [rax], 0
mov rax, qword [rsp + 0xb0]
mov dword [rax], 0
mov qword [rsp + 0xc0], 0
and byte [rsp + 0xc8], 0xfe
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void____ptr64]
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::ios_base::destructor_void____ptr64]
mov rax, qword [rsp + 0x2d8]
cmp rax, 0x10
jb 0x14001647b
mov rcx, qword [rsp + 0x2c0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140016476
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140016539
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
test sil, sil
jne 0x14001621c
xor esi, esi
mov rax, qword [r12 + 0x18]
cmp rax, 0x10
jb 0x1400164c6
mov rcx, qword [r12]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400164c1
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140016539
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a1ca8
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x18], 0xf
mov byte [r12], 0
mov rcx, qword [rsp + 0x2e8]
xor rcx, rsp
call fcn.1400a1e40
mov eax, esi
vmovaps xmm6, xmmword [rsp + 0x2f0]
add rsp, 0x308
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add rdi, 0xc
lea rcx, [rsp + 0x40]
mov rdx, rdi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::operator___float____ptr64____ptr64]
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::fail_void_const___ptr64]
mov esi, eax
xor sil, 1
jmp 0x14001630f
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 + 0x140]
call fcn.140006a60
int3