Function at 0x140029bf0
Capabilities:
Check if file exists
Copy file
Delete file
Get common file path
Get file attributes

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x7b8]
sub rsp, 0x890
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1401750a0]
xor rax, rsp
mov qword [rbp + 0x780], rax
mov r15, rcx
mov byte [rcx + 0xc9], 0
add rcx, 0xa8
call sym.OverwolfLauncher.exe_public:_char_const____ptr64___cdecl_Json::StaticString::operator_char_const____ptr64_void_const___ptr64
test rax, rax
je 0x140029f9f
xor r12d, r12d
cmp byte [r15 + 0xc8], r12b
jne 0x140029d00
lea rcx, [r15 + 0xa8]
call sym.OverwolfLauncher.exe_public:_char_const____ptr64___cdecl_Json::StaticString::operator_char_const____ptr64_void_const___ptr64
lea rcx, [rax + 8]
call fcn.140002e40
mov rcx, rax
call fcn.140030c20
mov rdi, rax
mov qword [rsp + 0x50], rax
test rax, rax
jne 0x140029c8d
xor bl, bl
jmp 0x140029cd8
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x140029cf3
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x30], r12
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
mov r9d, 1
lea r8d, [r9 + 0x11]
lea rdx, str.PRAGMA_synchronous
call fcn.140092130
mov ebx, eax
mov rcx, qword [rsp + 0x48]
call fcn.14005b670
cmp ebx, 5
je 0x140029cf3
mov bl, 1
test rdi, rdi
je 0x140029ceb
mov r8, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [r8]
movzx eax, bl
jmp 0x140029f9f
mov rax, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [rax]
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x80]
call fcn.1400dfb10
lea rdx, [rbp - 0x80]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x140029d29
mov rbx, r12
jmp 0x140029d8c
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x60]
call fcn.140002e90
nop
lea rcx, [0x1401380f8]
call fcn.1400042c0
mov r8, rax
lea rdx, [0x1401380f8]
lea rcx, [rsp + 0x60]
call fcn.140007160
mov ecx, 0x88
call fcn.1400dd794
mov rbx, rax
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x60]
call fcn.140002e40
mov rdx, rax
mov rcx, rbx
call fcn.1400180b0
mov rbx, rax
lea rcx, [rsp + 0x60]
call fcn.140002e50
mov qword [rsp + 0x48], rbx
lea rcx, [rsp + 0x48]
call sym.OverwolfLauncher.exe_public:_class_Json::CharReader____ptr64___cdecl_Json::CharReader::operator_class_Json::CharReader_const____ptr64____ptr64
mov rcx, qword [rax]
mov qword [rsp + 0x40], rcx
lea rcx, [rsp + 0x40]
call sym.OverwolfLauncher.exe_public:_char_const____ptr64___cdecl_Json::StaticString::operator_char_const____ptr64_void_const___ptr64
mov r13, rax
cmp byte [0x14017d4a0], 0
jne 0x140029dcf
mov byte [0x14017d4a0], 1
xor ecx, ecx
call fcn.1400e9380
mov rcx, rax
call fcn.1400e941c
call fcn.1400e93f0
lea esi, [rax + 1]
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp - 0x80]
call fcn.1400dfb10
lea rcx, [r13 + 0x48]
call fcn.140002e40
mov rdi, rax
lea rcx, [r13 + 0x28]
call fcn.140002e40
mov rbx, rax
lea rcx, [r13 + 0x68]
call fcn.140002e40
mov r8, rax
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], esi
mov r9, rbx
lea rdx, str._s_s__x_s
lea rcx, [rbp - 0x80]
call fcn.140018470
mov ecx, 0x88
call fcn.1400dd794
mov rbx, rax
mov qword [rsp + 0x50], rax
lea rax, vtable.base::File.0
mov qword [rbx], rax
lea rcx, [rbx + 8]
lea rdx, [rbp - 0x80]
call fcn.140002e90
nop
lea rcx, [rbx + 0x28]
call fcn.140009ab0
nop
lea rcx, [rbx + 0x48]
call fcn.140009ab0
nop
lea rcx, [rbx + 0x68]
call fcn.140009ab0
nop
mov rcx, rbx
call fcn.1400182d0
nop
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.14000aaa0
lea rcx, [rsp + 0x40]
call sym.OverwolfLauncher.exe_public:_char_const____ptr64___cdecl_Json::StaticString::operator_char_const____ptr64_void_const___ptr64
lea rcx, [rax + 8]
call fcn.140002e40
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140029ecc
lea rcx, [rsp + 0x40]
call sym.OverwolfLauncher.exe_public:_char_const____ptr64___cdecl_Json::StaticString::operator_char_const____ptr64_void_const___ptr64
lea rcx, [rax + 8]
call fcn.140002e40
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp eax, 1
jne 0x140029f8e
lea rcx, [rsp + 0x40]
call sym.OverwolfLauncher.exe_public:_char_const____ptr64___cdecl_Json::StaticString::operator_char_const____ptr64_void_const___ptr64
mov rdx, rax
lea rcx, [r15 + 0xa8]
call sym.OverwolfLauncher.exe_public:_char_const____ptr64___cdecl_Json::StaticString::operator_char_const____ptr64_void_const___ptr64
mov rdi, rax
test rdx, rdx
je 0x140029f8e
lea rcx, [rdx + 8]
call fcn.140002e40
mov rbx, rax
lea rcx, [rdi + 8]
call fcn.140002e40
mov rcx, rax
xor r8d, r8d
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_CopyFileW]
cmp eax, 1
jne 0x140029f8e
lea rcx, [r15 + 0xa8]
call sym.OverwolfLauncher.exe_public:_char_const____ptr64___cdecl_Json::StaticString::operator_char_const____ptr64_void_const___ptr64
lea rcx, [rax + 8]
call fcn.140002e40
mov rcx, rax
call fcn.140030c20
mov rbx, rax
mov qword [rsp + 0x50], rax
test rax, rax
jne 0x140029f49
xor dil, dil
jmp 0x140029f7a
lea rcx, [rsp + 0x40]
call sym.OverwolfLauncher.exe_public:_char_const____ptr64___cdecl_Json::StaticString::operator_char_const____ptr64_void_const___ptr64
mov rdx, rax
lea rcx, [rsp + 0x40]
call sym.OverwolfLauncher.exe_public:_class_Json::CharReader____ptr64___cdecl_Json::CharReader::operator_class_Json::CharReader_const____ptr64____ptr64
mov qword [rax], r12
lea rcx, [r15 + 0xa8]
call fcn.14000aaa0
mov byte [r15 + 0xc9], 1
mov dil, 1
test rbx, rbx
je 0x140029f91
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
jmp 0x140029f91
xor dil, dil
lea rcx, [rsp + 0x40]
call fcn.14000aad0
movzx eax, dil
mov rcx, qword [rbp + 0x780]
xor rcx, rsp
call fcn.1400dd420
lea r11, [rsp + 0x890]
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