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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x128
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xa0], rdx
mov qword [rbp + 0x30], rcx
mov eax, dword [0x1800145b0]
lea rax, [rax + rax*8]
add rax, 0xf
and rax, 0xfffffffffffffff0
sub rsp, rax
mov r9, rsp
sub rsp, 0x20
lea rcx, [0x1800143a0]
lea rdx, [0x1800143a9]
push 9
pop r14
mov r8d, r14d
call fcn.180010cab
add rsp, 0x20
mov qword [rbp + 0x38], rax
sub rsp, 0x20
lea rcx, [0x1800143aa]
lea rdx, [0x1800143b3]
lea r9, [rbp + 0x15]
mov r8d, r14d
call fcn.180010cab
add rsp, 0x20
mov qword [rbp + 0x48], rax
sub rsp, 0x20
lea rcx, [0x1800143c0]
lea rdx, [0x1800143df]
push 0x1f
pop r8
lea r9, [rbp - 0x2e]
call fcn.180010cab
add rsp, 0x20
mov qword [rbp + 0x40], rax
mov eax, dword [0x1800145b8]
xor eax, dword [0x1800145b4]
add rax, rax
add rax, 0xf
and rax, 0xfffffffffffffff0
sub rsp, rax
mov r9, rsp
mov r8d, dword [0x1800145bc]
sub rsp, 0x20
lea rcx, [0x1800143e0]
lea rdx, [0x1800143e2]
call fcn.180010cab
add rsp, 0x20
mov qword [rbp + 0x50], rax
sub rsp, 0x20
lea rcx, [0x1800143e3]
lea rdx, [0x1800143ed]
push 0xa
pop r8
lea r9, [rbp + 0xb]
call fcn.180010cab
add rsp, 0x20
mov qword [rbp + 0x88], rax
mov r8d, dword [0x1800145c0]
sub rsp, 0x20
lea rcx, [0x1800143f0]
lea rdx, [0x18001440a]
lea r9, [rbp - 0xf]
call fcn.180010cab
add rsp, 0x20
mov rsi, rax
sub rsp, 0x20
lea rcx, [0x18001440b]
lea rdx, [0x180014414]
lea r9, [rbp + 0x1e]
mov r8d, r14d
call fcn.180010cab
add rsp, 0x20
mov rdi, rax
sub rsp, 0x20
lea rcx, [0x180014420]
lea rdx, [0x180014440]
push 0x20
pop r8
lea r9, [rbp - 0x4e]
call fcn.180010cab
add rsp, 0x20
mov r15, rax
mov eax, dword [0x1800145c4]
lea rax, [rax + rax*8]
add rax, 0xf
and rax, 0xfffffffffffffff0
sub rsp, rax
mov r9, rsp
mov r8d, dword [0x1800145c8]
sub rsp, 0x20
lea rcx, [0x180014441]
lea rdx, [0x18001444a]
call fcn.180010cab
add rsp, 0x20
mov r12, rax
mov eax, dword [0x1800145d0]
xor eax, dword [0x1800145cc]
imul rax, rax, 0x24
add rax, 0xf
and rax, 0xfffffffffffffff0
sub rsp, rax
mov r9, rsp
sub rsp, 0x20
lea rcx, [0x180014450]
lea rdx, [0x180014474]
push 0x24
pop rbx
mov r8d, ebx
call fcn.180010cab
add rsp, 0x20
mov r13, rax
sub rsp, 0x20
lea rcx, [0x180014475]
lea rdx, [0x18001447e]
lea r9, [rbp + 0x27]
mov r8d, r14d
call fcn.180010cab
add rsp, 0x20
mov r14, rax
sub rsp, 0x20
lea rcx, [0x180014480]
lea rdx, [0x1800144a4]
lea r9, [rbp - 0x72]
mov r8d, ebx
call fcn.180010cab
mov r8, qword [rbp + 0xa0]
add rsp, 0x20
mov ecx, dword [0x1800145d4]
lea rcx, [rcx*8 + 0xf]
and rcx, 0xfffffffffffffff0
sub rsp, rcx
mov r9, rsp
mov ecx, dword [r8 + 8]
cmp ecx, dword [0x180017298]
jne 0x1800037e8
xor eax, eax
jmp 0x180003b07
mov qword [rbp + 0x98], r14
mov r14, qword [rbp + 0x40]
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x58], rdi
mov rdx, qword [rbp + 0x38]
mov qword [rbp + 0x90], r15
mov rdi, qword [rbp + 0x30]
mov ecx, 0x6e70ebed
add ecx, dword [0x1800145d8]
cmp ecx, 0x5ec5dc05
ja 0x18000381f
jmp 0x18000381d
mov qword [rbp + 0x70], r9
mov qword [rbp + 0x80], rax
mov rbx, qword [r8 + 0x18]
mov r12, qword [r8 + 0x20]
mov rax, qword [r8 + 0x28]
mov qword [rbp + 0x78], rax
mov eax, dword [r8 + 0x30]
mov qword [rbp + 0x68], rax
test rbx, rbx
mov r15, rdx
je 0x180003884
sub rsp, 0x20
mov rcx, r15
call fcn.180009b15
mov ecx, eax
call fcn.180009ba0
mov rcx, rbx
call rax
add rsp, 0x20
cmp rax, qword [0x1800172a0]
jbe 0x180003884
sub rsp, 0x20
mov rcx, rbx
call fcn.180007056
add rsp, 0x20
mov rbx, rax
jmp 0x1800038be
sub rsp, 0x20
mov ecx, 0x104
call fcn.180007003
add rsp, 0x20
mov rbx, rax
sub rsp, 0x20
mov rcx, qword [rbp + 0x48]
call fcn.180009b15
mov ecx, eax
call fcn.180009ba0
xor ecx, ecx
mov rdx, rbx
mov r8d, 0x104
call rax
add rsp, 0x20
sub rsp, 0x20
mov rcx, rbx
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
add rsp, 0x20
cmp eax, 0xffffffff
je 0x180003a7e
test r12, r12
je 0x18000393b
sub rsp, 0x20
mov rcx, r15
call fcn.180009b15
mov ecx, eax
call fcn.180009ba0
mov rcx, r12
call rax
add rsp, 0x20
test rax, rax
je 0x18000393b
sub rsp, 0x20
mov rcx, rbx
mov rdx, qword [rbp + 0x50]
call fcn.18000895f
add rsp, 0x20
mov r15, rax
sub rsp, 0x20
mov rcx, rax
mov rdx, r12
call fcn.18000895f
add rsp, 0x20
mov rbx, rax
sub rsp, 0x20
mov rcx, r15
call sub.msvcrt.dll_free
add rsp, 0x20
mov r15, qword [rbp + 0x90]
mov rdx, qword [rbp + 0x88]
mov r14, qword [rbp + 0x98]
mov rcx, qword [rdi + 0x18]
sub rsp, 0x20
mov r8, rbx
call fcn.18000201d
add rsp, 0x20
test rax, rax
je 0x180003a98
mov rdi, rax
sub rsp, 0x20
mov rcx, rax
call fcn.1800021ec
add rsp, 0x20
mov rax, qword [rdi + 0x30]
mov r12, qword [rax + 8]
sub rsp, 0x20
mov rcx, qword [rbp + 0x58]
call fcn.180009b15
mov ecx, eax
call fcn.180009ba0
add rsp, 0x20
mov rcx, qword [r12 + 0x50]
sub rsp, 0x30
mov dword [rsp + 0x20], 0x40
xor edx, edx
mov rsi, qword [rbp + 0x68]
mov r8, rsi
mov r9d, 0x3000
call rax
add rsp, 0x30
test rax, rax
je 0x180003aaf
mov rbx, rax
sub rsp, 0x20
mov rcx, qword [rbp + 0x60]
call fcn.180009b15
mov ecx, eax
call fcn.180009ba0
add rsp, 0x20
mov rcx, qword [r12 + 0x50]
sub rsp, 0x30
mov r15, rsi
mov rsi, qword [rbp + 0x70]
mov qword [rsp + 0x20], rsi
mov rdx, rbx
mov r8, qword [rbp + 0x78]
mov r9, r15
call rax
add rsp, 0x30
cmp qword [rsi], r15
jne 0x180003acc
sub rsp, 0x20
mov rcx, r14
call fcn.180009b15
mov ecx, eax
call fcn.180009ba0
add rsp, 0x20
mov rcx, qword [r12 + 0x50]
sub rsp, 0x40
and qword [rsp + 0x30], 0
and dword [rsp + 0x28], 0
and qword [rsp + 0x20], 0
xor edx, edx
xor r8d, r8d
mov r9, rbx
call rax
add rsp, 0x40
mov qword [r12 + 0x48], rax
mov rcx, qword [rbp + 0xa0]
movzx esi, word [rcx]
test rax, rax
je 0x180003ae9
movzx edx, word [rdi]
sub rsp, 0x20
mov ecx, esi
call fcn.180003fa5
jmp 0x180003b03
mov rax, qword [rbp + 0xa0]
movzx ecx, word [rax]
movzx edx, word [0x1800145dc]
sub rsp, 0x20
mov r8, r14
jmp 0x180003afe
mov rax, qword [rbp + 0xa0]
movzx ecx, word [rax]
sub rsp, 0x20
mov dx, 0xffff
mov r8, rsi
jmp 0x180003afe
mov rax, qword [rbp + 0xa0]
movzx esi, word [rax]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.DLL_GetLastError]
mov ecx, esi
mov edx, eax
mov r8, r15
jmp 0x180003afe
mov rax, qword [rbp + 0xa0]
movzx esi, word [rax]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.DLL_GetLastError]
mov ecx, esi
mov edx, eax
mov r8, r13
jmp 0x180003afe
sub rsp, 0x20
call qword [sym.imp.KERNEL32.DLL_GetLastError]
mov ecx, esi
mov edx, eax
mov r8, qword [rbp + 0x80]
call fcn.180004004
add rsp, 0x20
lea rsp, [rbp + 0xa8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret