Function at 0x140029a90
Capabilities:
Check if file exists
Delete file
Read file on windows

Disassembly:
push rbx
push rsi
push rdi
push r14
push r15
mov eax, 0x1be0
call fcn.14005a020
sub rsp, rax
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov rax, qword [0x140092690]
xor rax, rsp
mov qword [rsp + 0x1bd0], rax
mov r14, r8
mov rsi, rdx
mov rbx, rcx
mov qword [rsp + 0x50], rcx
mov edi, 0x80043298
lea rax, vtable.CEncrypter.0
mov qword [rsp + 0x60], rax
mov rcx, qword [rcx + 0x510]
test rcx, rcx
je 0x140029b19
mov edx, 1
call fcn.140025ed0
lea rdx, str._t_CProfileConverter::ConvertLastAppliedProfile___started_
mov rcx, qword [rbx + 0x510]
call fcn.140025be0
mov edx, 1
mov rcx, qword [rbx + 0x510]
call fcn.140025ed0
or r9, 0xffffffffffffffff
mov r8, rsi
mov edx, 0x104
lea rcx, [rsp + 0x10c0]
call qword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbcpy_s]
lea rdx, str.LastProfile.txt
lea rcx, [rsp + 0x10c0]
call qword [sym.imp.SHLWAPI.dll_PathAppendA]
lea rcx, [rsp + 0x10c0]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x140029b64
mov eax, 0x8004329e
jmp 0x140029dea
xor r15d, r15d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x8000080
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80000000
lea rcx, [rsp + 0x10c0]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rsi, rax
mov qword [rsp + 0x48], rax
cmp rax, 0xffffffffffffffff
je 0x140029de8
mov dword [rsp + 0x40], r15d
xor edx, edx
mov r8d, 0x200
lea rcx, [rsp + 0x11d0]
call sub.VCRUNTIME140.dll_memset
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x40]
mov r8d, 0x1ff
lea rdx, [rsp + 0x11d0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140029cf3
cmp dword [rsp + 0x40], r15d
jbe 0x140029cf3
xor r8d, r8d
mov rdx, r14
mov rcx, rbx
call fcn.14002df70
cmp eax, 0x43297
je 0x140029c18
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140029de8
xor edx, edx
mov r8d, 0xe4c
lea rcx, [rsp + 0x270]
call sub.VCRUNTIME140.dll_memset
or r9, 0xffffffffffffffff
lea r8, [rsp + 0x11d0]
lea edx, [r9 + 0x41]
lea rcx, [rsp + 0x274]
call qword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbcpy_s]
mov qword [rsp + 0x20], r15
mov r9d, 1
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call sub.PfMgrApi.dll_Ordinal_50
cmp eax, 0x43297
jne 0x140029cd1
lea rdx, [rsp + 0x270]
mov rcx, rbx
call fcn.14002fce0
mov edi, eax
call sub.PfMgrApi.dll_Ordinal_52
cmp edi, 0x43297
jne 0x140029cd1
cmp qword [rbx + 0x510], 0
je 0x140029cd1
lea rax, [rsp + 0x274]
mov qword [rsp + 0x20], rax
lea r9, str._tSuccessfully_saved_the_last_applied_profile__s
or r8, 0xffffffffffffffff
mov edx, 0x800
lea rcx, [rsp + 0x13d0]
call fcn.140008c50
lea rdx, [rsp + 0x13d0]
mov rcx, qword [rbx + 0x510]
call fcn.140025be0
nop
mov rcx, rbx
call fcn.14002bbd0
jmp 0x140029d46
cmp qword [rbx + 0x510], r15
je 0x140029d46
lea rax, [rsp + 0x10c0]
mov qword [rsp + 0x20], rax
lea r9, str._t_FAILED__Failed_to_read_the_last_applied_profile_from_file_named__s
or r8, 0xffffffffffffffff
mov edx, 0x800
lea rcx, [rsp + 0x13d0]
call fcn.140008c50
lea rdx, [rsp + 0x13d0]
mov rcx, qword [rbx + 0x510]
call fcn.140025be0
mov rcx, qword [rbx + 0x510]
call fcn.140025dc0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp edi, 0x43297
jne 0x140029dad
cmp qword [rbx + 0x510], 0
je 0x140029d9f
lea rax, [rsp + 0x10c0]
mov qword [rsp + 0x20], rax
lea r9, str._tDeleting_the_last_applied_profile_file_named__s
or r8, 0xffffffffffffffff
mov edx, 0x800
lea rcx, [rsp + 0x13d0]
call fcn.140008c50
lea rdx, [rsp + 0x13d0]
mov rcx, qword [rbx + 0x510]
call fcn.140025be0
lea rcx, [rsp + 0x10c0]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov rcx, qword [rbx + 0x510]
test rcx, rcx
je 0x140029de8
mov edx, 1
call fcn.140025ed0
lea rdx, str._t_CProfileConverter::ConvertLastAppliedProfile___completed_
mov rcx, qword [rbx + 0x510]
call fcn.140025be0
mov edx, 1
mov rcx, qword [rbx + 0x510]
call fcn.140025ed0
nop
mov eax, edi
mov rcx, qword [rsp + 0x1bd0]
xor rcx, rsp
call fcn.140059ef0
add rsp, 0x1be0
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret