Function at 0x140017fe0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0xcd8]
sub rsp, 0xdd0
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
mov rax, qword [0x14006a080]
xor rax, rsp
mov qword [rbp + 0xcc0], rax
xor edx, edx
xor ecx, ecx
call fcn.140003ed0
mov rcx, rax
lea rdx, str.MergeZip
call fcn.140005c50
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x690]
call fcn.1400220d0
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x8a0]
call fcn.1400220d0
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0xab0]
call fcn.1400220d0
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x270]
call fcn.1400220d0
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x480]
call fcn.1400220d0
lea rax, str.ROGLSLoader1.enc
mov qword [rsp + 0x20], rax
lea r9, [0x14006dab0]
lea r8, str._s_s
mov edx, 0x104
lea rcx, [rbp + 0x8a0]
call fcn.1400011b0
lea rax, str.ROGLSLoader1.tmp
mov qword [rsp + 0x20], rax
lea r9, [0x14006dab0]
lea r8, str._s_s
mov edx, 0x104
lea rcx, [rbp + 0xab0]
call fcn.1400011b0
lea rax, str.ROGLSLoader1.dat
mov qword [rsp + 0x20], rax
lea r9, [0x14006dab0]
lea r8, str._s_s
mov edx, 0x104
lea rcx, [rbp + 0x270]
call fcn.1400011b0
lea rax, str.ROGLSLoader2.dat
mov qword [rsp + 0x20], rax
lea r9, [0x14006dab0]
lea r8, str._s_s
mov edx, 0x104
lea rcx, [rbp + 0x480]
call fcn.1400011b0
lea rax, str.ROGLSLoader
mov qword [rsp + 0x20], rax
lea r9, [0x14006dab0]
lea r8, str._s_s.zip
mov edx, 0x104
lea rcx, [rbp + 0x690]
call fcn.1400011b0
lea rcx, [rbp + 0x270]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140018185
test al, 0x10
je 0x1400181a3
lea rcx, [rbp + 0x480]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400183c8
test al, 0x10
jne 0x1400183c8
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x160]
call fcn.1400220d0
lea rdx, [rbp + 0x270]
lea rcx, [rbp + 0x160]
call fcn.14001a100
nop
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x50]
call fcn.1400220d0
lea rdx, [rbp + 0x480]
lea rcx, [rbp + 0x50]
call fcn.14001a100
nop
xor edx, edx
mov r8d, 0x108
lea rcx, [rsp + 0x40]
call fcn.1400220d0
lea rdx, [rbp + 0x690]
lea rcx, [rsp + 0x40]
call fcn.140019f70
nop
lea rdx, [rbp + 0x170]
lea rcx, [rsp + 0x40]
call fcn.14001adf0
mov rcx, rax
lea rdx, [rbp + 0x60]
call fcn.14001adf0
lea rcx, [rbp + 0x690]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140018263
test al, 0x10
jne 0x140018263
xor edx, edx
xor ecx, ecx
call fcn.140003ed0
mov rcx, rax
lea rdx, str.Merge_Success
call fcn.140005c50
mov ebx, 1
jmp 0x14001827d
xor edx, edx
xor ecx, ecx
call fcn.140003ed0
mov rcx, rax
lea rdx, str.Merge_Fail
call fcn.140005c50
xor ebx, ebx
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x40], rax
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x3c], edx
lea rcx, [rsp + 0x48]
call fcn.14001ad10
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x40], rax
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0x3c], edx
lea r14, vtable.std::ios_base.0
mov qword [rbp - 0x18], r14
lea rcx, [rbp - 0x18]
call fcn.14001e48c
nop
mov rax, qword [rbp + 0x50]
movsxd rcx, dword [rax + 4]
lea rsi, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x50], rsi
mov rax, qword [rbp + 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x4c], edx
lea rcx, [rbp + 0x60]
call fcn.14001ad10
mov rax, qword [rbp + 0x50]
movsxd rcx, dword [rax + 4]
lea rdi, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x50], rdi
mov rax, qword [rbp + 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx + 0x4c], edx
mov qword [rbp + 0x100], r14
lea rcx, [rbp + 0x100]
call fcn.14001e48c
nop
mov rax, qword [rbp + 0x160]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x160], rsi
mov rax, qword [rbp + 0x160]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x15c], edx
lea rcx, [rbp + 0x170]
call fcn.14001ad10
mov rcx, qword [rbp + 0x160]
movsxd rdx, dword [rcx + 4]
mov qword [rbp + rdx + 0x160], rdi
mov rcx, qword [rbp + 0x160]
movsxd rdx, dword [rcx + 4]
lea r8d, [rdx - 0x18]
mov dword [rbp + rdx + 0x15c], r8d
mov qword [rbp + 0x210], r14
lea rcx, [rbp + 0x210]
call fcn.14001e48c
nop
mov eax, ebx
jmp 0x1400183ca
xor eax, eax
mov rcx, qword [rbp + 0xcc0]
xor rcx, rsp
call fcn.14001f550
lea r11, [rsp + 0xdd0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret