Function at 0x14004a020
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov rsi, rcx
mov rax, qword [0x1403ac028]
xor rax, rsp
mov qword [rsp + 0xb0], rax
cmp r8, 7
jbe 0x14004a0d5
mov r14, r8
mov rbx, rdx
mov eax, dword [rdx]
cmp rax, r8
jne 0x14004a0d5
movzx ebp, word [rbx + 6]
xor r13d, r13d
test bp, bp
cmovne r13, rbx
test r13, r13
je 0x14004a095
movzx r15d, word [r13 + 4]
cmp r15d, 0x10
jb 0x14004a0d5
cmp dword [r13], r15d
jb 0x14004a0d5
test r15b, 7
jne 0x14004a0d5
lea rax, [r15 - 0x10]
sub r14, r15
add r15, rbx
jmp 0x14004a09f
add r14, 0xfffffffffffffff8
lea r15, [rbx + 8]
xor eax, eax
lea rcx, [r13 + 8]
lea rdx, [rbx + 4]
test r13, r13
mov qword [rsp + 0x38], rcx
cmove rcx, rdx
cmp rax, 0x103
ja 0x14004a0d5
mov r12, rax
shr r12, 2
movzx edi, word [rcx]
cmp edi, r12d
ja 0x14004a0d5
cmp r9d, 1
jne 0x14004a103
test di, di
je 0x14004a103
mov qword [rsi], 0
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.140203460
mov rax, rsi
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movzx ecx, byte [0x1403c07d8]
cmp rax, 3
mov qword [rsp + 0x30], rdx
ja 0x14004a1fc
lea rax, [r14 + 0x10]
cmp rax, 0xf0
ja 0x14004a1fc
and cl, 1
je 0x14004a1fc
xor eax, eax
test bp, bp
setne al
lea rcx, [r14 + rax*8]
add rcx, 8
cmp rcx, 0xf0
ja 0x14004a1fc
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x28], rcx
mov ecx, 0x100
call fcn.14020216c
lea rcx, fcn.14004bea0
mov qword [rax], rcx
xorps xmm0, xmm0
movups xmmword [rax + 0x14], xmm0
movups xmmword [rax + 0x24], xmm0
movups xmmword [rax + 0x34], xmm0
movups xmmword [rax + 0x44], xmm0
movups xmmword [rax + 0x54], xmm0
movups xmmword [rax + 0x64], xmm0
movups xmmword [rax + 0x74], xmm0
movups xmmword [rax + 0x84], xmm0
movups xmmword [rax + 0x94], xmm0
movups xmmword [rax + 0xa4], xmm0
movups xmmword [rax + 0xb4], xmm0
movups xmmword [rax + 0xc4], xmm0
movups xmmword [rax + 0xd4], xmm0
movups xmmword [rax + 0xe4], xmm0
movups xmmword [rax + 0xf0], xmm0
mov rcx, qword [rsp + 0x28]
mov qword [rax + 8], rcx
mov dword [rax + 0x10], ecx
mov word [rax + 0x16], bp
test bp, bp
je 0x14004a1ed
mov rcx, qword [rsp + 0x40]
lea rdx, [rcx*8 + 8]
lea rcx, [rax + 0x14]
mov word [rcx], dx
mov qword [rsp + 0x28], rax
test rax, rax
mov rax, qword [rsp + 0x30]
jne 0x14004a226
mov ecx, 0x48
call fcn.14020216c
mov word [rsp + 0x20], bp
mov qword [rsp + 0x28], rax
mov rcx, rax
mov rdx, r14
mov r8, r14
mov r9, r12
call fcn.140049c60
mov rax, qword [rsp + 0x30]
test r14, r14
je 0x14004a248
mov rcx, qword [rsp + 0x28]
call fcn.14004a540
mov rcx, rax
mov rdx, r15
mov r8, r14
call fcn.140204f20
mov rax, qword [rsp + 0x30]
test r13, r13
je 0x14004a2c7
mov r13, qword [rsp + 0x28]
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
mov rcx, r13
call qword [case.0x1400f45b0.0]
cmp word [rax + 4], 0x10
je 0x14004a2a8
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
mov rcx, r13
call qword [case.0x1400f45b0.0]
lea r14, [rax + 0x10]
add rbx, 0x10
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
mov rcx, r13
call qword [case.0x1400f45b0.0]
movzx r8d, word [rax + 4]
add r8, 0xfffffffffffffff0
mov rcx, r14
mov rdx, rbx
call fcn.140204f20
mov rax, qword [rsp + 0x38]
movzx ebx, word [rax]
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
mov rcx, r13
call qword [case.0x1400f45b0.0]
mov word [rax + 8], bx
jmp 0x14004a2e4
movzx ebx, word [rax]
mov r13, qword [rsp + 0x28]
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
mov rcx, r13
call qword [case.0x1400f45b0.0]
mov word [rax + 4], bx
test rdi, rdi
je 0x14004a470
lea rax, [rdi*8]
lea r14, [rax + rax*4]
mov rcx, r14
call fcn.14020216c
mov r12, rax
lea r15, [rax + r14]
xor ebx, ebx
nop word [rax + rax]
mov rcx, r12
add rcx, rbx
je 0x14004a510
call fcn.140075370
add rbx, 0x28
cmp r14, rbx
jne 0x14004a310
test di, di
je 0x14004a4e3
mov qword [rsp + 0x30], r15
xor r15d, r15d
lea rbp, [rsp + 0x88]
mov qword [rsp + 0x38], r12
mov rbx, r12
jmp 0x14004a39f
mov r12, rdi
lea rdi, [rsp + 0x60]
mov rcx, rdi
mov rdx, r13
call fcn.140075920
mov rcx, rbp
mov rdx, rdi
mov rdi, r12
call fcn.1400753a0
cmp r15, r12
jae 0x14004a444
mov rcx, rbx
mov rdx, rbp
call fcn.1400754c0
mov rcx, rbp
call fcn.140075580
mov r13, qword [rsp + 0x28]
inc r15
add rbx, 0x28
cmp rdi, r15
je 0x14004a4d9
mov rax, qword [r13 + 0x40]
movsxd r13, dword [rax + r15*4]
mov rcx, r13
call fcn.140075910
test al, al
jne 0x14004a478
mov r8, qword [rsp + 0x120]
test r8, r8
jne 0x14004a34d
mov qword [rsp + 0x70], 0
test r13d, r13d
je 0x14004a41e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
mov rax, qword [rsp + 0x70]
inc rax
cmp rax, 2
jb 0x14004a401
call fcn.14011dc90
mov rcx, qword [rsp + 0x70]
call fcn.1400f41d0
mov qword [rsp + 0x70], 0
lea rax, [r13 + 1]
cmp rax, 2
jb 0x14004a415
mov qword [rsp + 0x70], r13
call fcn.14011dc90
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r13, [rsp + 0x78]
mov rcx, r13
lea rdx, [rsp + 0x70]
call fcn.14014335c
mov rcx, rbp
mov rdx, r13
call fcn.1400753a0
cmp r15, rdi
jb 0x14004a377
lea rax, str.vector___index_out_of_bounds
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_vector
lea r9, str.__n___size__
mov r8d, 0x5b5
call fcn.14004460c
xor r15d, r15d
xor r12d, r12d
jmp 0x14004a4e3
mov qword [rsi], 0
mov r12, qword [rsp + 0x38]
test r12, r12
mov r15, qword [rsp + 0x28]
je 0x14004a4b7
neg r14
lea rax, [rdi + rdi*4]
lea rbx, [r12 + rax*8]
add rbx, 0xffffffffffffffd8
mov rcx, rbx
call fcn.140075580
add rbx, 0xffffffffffffffd8
add r14, 0x28
jne 0x14004a49d
mov rcx, r12
call fcn.1402021a8
test r15, r15
je 0x14004a0dc
mov rax, qword [r15]
mov rax, qword [rax]
mov rcx, r15
mov edx, 1
call qword [case.0x1400f45b0.0]
jmp 0x14004a0dc
mov r15, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
mov rax, qword [r13]
mov rax, qword [rax + 0x28]
lea rdx, [rsp + 0x48]
mov rcx, r13
call qword [case.0x1400f45b0.0]
mov qword [rsi], r13
jmp 0x14004a0dc
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x25
call fcn.14004460c
int3