Function at 0x14000a654
Capabilities:
Check if file exists
Read .ini file

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x38]
sub rsp, 0x110
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x14006d9f8]
xor rax, rsp
mov qword [rbp + 8], rax
mov r14, rcx
lea r9, [rcx + 0x40]
cmp qword [r9 + 0x18], 8
jb 0x14000a69f
mov r9, qword [r9]
mov esi, 1
mov r8d, esi
lea rdx, str.strategy
lea rcx, [0x140060648]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
movsxd rdi, eax
xor r13d, r13d
cmp qword [0x1400716b0], r13
je 0x14000a6ed
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r9d, eax
mov dword [rsp + 0x20], edi
lea r8, str._INFO___d___read_cfg_strategy__d_.
lea edx, [rsi + 2]
mov rcx, qword [0x1400716b0]
call fcn.14000d154
xor eax, eax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r13
lea rcx, [r14 + 0x20]
lea rdx, [rbp - 0x30]
call fcn.1400024e0
mov qword [rbp - 0x38], 7
mov qword [rbp - 0x40], r13
mov word [rbp - 0x50], r13w
xor eax, eax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], r13
mov rbx, qword [rbp - 0x30]
or rax, 0xffffffffffffffff
cmp rbx, qword [rbp - 0x28]
je 0x14000a9c3
mov r15, rdi
mov qword [rbp - 0x70], 7
mov qword [rbp - 0x78], r13
mov word [rsp + 0x78], r13w
mov r9, rax
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.14000584c
nop
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 8
cmovae rdx, qword [rsp + 0x78]
mov r9, qword [rbp - 0x78]
xor r8d, r8d
lea rcx, [r14 + 0x80]
call fcn.14000598c
cmp rax, 0xffffffffffffffff
jne 0x14000a99a
lea r8, [r14 + 0x60]
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x58]
call fcn.14000c6b4
nop
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rcx, qword [rsp + 0x58]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
movzx edi, r13b
test eax, eax
cmovne edi, esi
test dil, dil
jne 0x14000a89b
lea rdx, [rbp - 0x18]
call fcn.1400094cc
nop
cmp qword [rbp - 8], r13
je 0x14000a882
lea r8, [rbp - 0x18]
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x30]
call fcn.14000c6b4
mov rsi, rax
lea rax, [rsp + 0x58]
cmp rax, rsi
je 0x14000a84b
cmp qword [rsp + 0x70], 8
jb 0x14000a82a
mov rcx, qword [rsp + 0x58]
call fcn.14003440c
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], r13
mov word [rsp + 0x58], r13w
mov rdx, rsi
lea rcx, [rsp + 0x58]
call fcn.1400057dc
cmp qword [rsp + 0x48], 8
jb 0x14000a85d
mov rcx, qword [rsp + 0x30]
call fcn.14003440c
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rcx, qword [rsp + 0x58]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
movzx edi, dil
test eax, eax
mov esi, 1
cmovne edi, esi
cmp qword [rbp], 8
jb 0x14000a892
mov rcx, qword [rbp - 0x18]
call fcn.14003440c
test dil, dil
je 0x14000a987
lea rdx, [rsp + 0x78]
test r15, r15
jne 0x14000a8da
lea rcx, [rbp - 0x68]
call fcn.140003bb8
nop
cmp qword [rsp + 0x70], 8
jb 0x14000a8c1
mov rcx, qword [rsp + 0x58]
call fcn.14003440c
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], r13
mov word [rsp + 0x58], r13w
jmp 0x14000a99a
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
cmp qword [rbp - 0x70], 8
cmovae rdx, qword [rsp + 0x78]
mov r9, qword [rbp - 0x40]
mov r8, r9
mov r10, qword [rbp - 0x78]
cmp r10, r9
cmovb r8, r10
test r8, r8
jmp 0x14000a91d
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x14000a921
add rdx, 2
add rcx, 2
sub r8, rsi
jne 0x14000a90a
jmp 0x14000a92a
sbb eax, eax
and eax, 0xfffffffe
add eax, esi
jmp 0x14000a92d
mov eax, r13d
movsxd rcx, eax
mov eax, r13d
cmp r10, r9
setne al
cmp r10, r9
mov rdi, 0xffffffffffffffff
cmovb eax, edi
test rcx, rcx
cmovne eax, ecx
test eax, eax
jns 0x14000a960
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x68]
call fcn.140003bb8
jmp 0x14000a987
test r9, r9
je 0x14000a972
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x68]
call fcn.140003bb8
mov r9, rdi
xor r8d, r8d
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x50]
call fcn.14000584c
nop
cmp qword [rsp + 0x70], 8
jb 0x14000a99a
mov rcx, qword [rsp + 0x58]
call fcn.14003440c
nop
cmp qword [rbp - 0x70], 8
jb 0x14000a9ab
mov rcx, qword [rsp + 0x78]
call fcn.14003440c
add rbx, 0x20
cmp rbx, qword [rbp - 0x28]
mov rax, 0xffffffffffffffff
jne 0x14000a754
or rax, rax
mov rbx, qword [rbp - 0x68]
jmp 0x14000aa80
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], r13
mov word [rsp + 0x58], r13w
mov r9, rax
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.14000584c
nop
lea rcx, [rsp + 0x58]
call fcn.140003204
mov esi, eax
cmp qword [0x1400716b0], r13
je 0x14000aa63
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x30]
call fcn.1400026bc
mov rdi, rax
cmp qword [rax + 0x18], 0x10
jb 0x14000aa25
mov rdi, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r9d, eax
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rdi
lea r8, str._INFO___d___delete_old_version__path__s___ret__d_.
mov edx, 3
mov rcx, qword [0x1400716b0]
call fcn.14000d154
nop
cmp qword [rsp + 0x48], 0x10
jb 0x14000aa63
mov rcx, qword [rsp + 0x30]
call fcn.14003440c
nop
cmp qword [rsp + 0x70], 8
jb 0x14000aa75
mov rcx, qword [rsp + 0x58]
call fcn.14003440c
add rbx, 0x20
mov rax, 0xffffffffffffffff
cmp rbx, qword [rbp - 0x60]
jne 0x14000a9cc
lea rcx, [rbp - 0x68]
call fcn.14000bfec
nop
cmp qword [rbp - 0x38], 8
jb 0x14000aaa4
mov rcx, qword [rbp - 0x50]
call fcn.14003440c
mov qword [rbp - 0x38], 7
mov qword [rbp - 0x40], r13
mov word [rbp - 0x50], r13w
lea rcx, [rbp - 0x30]
call fcn.14000bfec
mov al, 1
mov rcx, qword [rbp + 8]
xor rcx, rsp
call fcn.1400326d0
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret