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

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x100142128]
xor rax, rsp
mov qword [rsp + 0xc8], rax
mov r12, r9
mov esi, r8d
mov r14, rdx
mov r13, rcx
xor r15d, r15d
mov ebx, r15d
mov rbp, r15
mov edi, r15d
cmp r8d, r15d
jbe 0x1000472fc
mov rax, qword [r14 + 8]
lea rdx, [rax + rbp*2]
mov qword [rsp + 0x98], 7
mov qword [rsp + 0x90], r15
mov word [rsp + 0x80], r15w
lea rcx, [rsp + 0x78]
call fcn.10002c1f4
nop
mov rax, qword [rsp + 0x90]
lea rbp, [rax + rbp + 1]
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], r15
mov word [rsp + 0x30], r15w
mov rdx, r13
lea rcx, [rsp + 0x28]
call fcn.10002c1f4
nop
lea rcx, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x40]
cmp word [rcx + rax*2 - 2], 0x5c
je 0x100046feb
lea rdx, [0x100001f74]
lea rcx, [rsp + 0x28]
call fcn.100048c48
lea rdx, [0x100004d48]
lea rcx, [rsp + 0x28]
call fcn.100048c48
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x28]
call fcn.100048b5c
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], r15
mov word [rsp + 0x58], r15w
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x50]
call fcn.10002a644
nop
lea rdx, [0x100004d70]
lea rcx, [rsp + 0x50]
call fcn.100048c48
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x100047109
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
cmp eax, r15d
cmovle ebx, eax
cmp qword [rsp + 0x70], 8
jb 0x100047095
mov rcx, qword [rsp + 0x58]
call sub.msvcrt.dll_free
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], r15
mov word [rsp + 0x58], r15w
cmp qword [rsp + 0x48], 8
jb 0x1000470bb
mov rcx, qword [rsp + 0x30]
call sub.msvcrt.dll_free
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], r15
mov word [rsp + 0x30], r15w
cmp qword [rsp + 0x98], 8
jb 0x1000470e7
mov rcx, qword [rsp + 0x80]
call sub.msvcrt.dll_free
mov qword [rsp + 0x98], 7
mov qword [rsp + 0x90], r15
mov word [rsp + 0x80], r15w
jmp 0x10004722a
mov qword [rsp + 0xc0], 7
mov qword [rsp + 0xb8], r15
mov word [rsp + 0xa8], r15w
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0xa0]
call fcn.10002a644
nop
lea rdx, [0x100004d98]
lea rcx, [rsp + 0xa0]
call fcn.100048c48
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x100047239
cmp qword [rsp + 0xc0], 8
jb 0x10004718c
mov rcx, qword [rsp + 0xa8]
call sub.msvcrt.dll_free
mov qword [rsp + 0xc0], 7
mov qword [rsp + 0xb8], r15
mov word [rsp + 0xa8], r15w
cmp qword [rsp + 0x70], 8
jb 0x1000471bb
mov rcx, qword [rsp + 0x58]
call sub.msvcrt.dll_free
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], r15
mov word [rsp + 0x58], r15w
cmp qword [rsp + 0x48], 8
jb 0x1000471e1
mov rcx, qword [rsp + 0x30]
call sub.msvcrt.dll_free
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], r15
mov word [rsp + 0x30], r15w
cmp qword [rsp + 0x98], 8
jb 0x10004720d
mov rcx, qword [rsp + 0x80]
call sub.msvcrt.dll_free
mov qword [rsp + 0x98], 7
mov qword [rsp + 0x90], r15
mov word [rsp + 0x80], r15w
inc edi
cmp edi, esi
jb 0x100046f5d
jmp 0x1000472fc
mov ebx, r15d
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x78]
mov rcx, r12
call fcn.10002a644
nop
cmp qword [rsp + 0xc0], 8
jb 0x100047269
mov rcx, qword [rsp + 0xa8]
call sub.msvcrt.dll_free
mov edi, 7
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0xb8], r15
mov word [rsp + 0xa8], r15w
cmp qword [rsp + 0x70], 8
jb 0x100047299
mov rcx, qword [rsp + 0x58]
call sub.msvcrt.dll_free
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x68], r15
mov word [rsp + 0x58], r15w
cmp qword [rsp + 0x48], 8
jb 0x1000472bb
mov rcx, qword [rsp + 0x30]
call sub.msvcrt.dll_free
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], r15
mov word [rsp + 0x30], r15w
cmp qword [rsp + 0x98], 8
jb 0x1000472e3
mov rcx, qword [rsp + 0x80]
call sub.msvcrt.dll_free
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0x90], r15
mov word [rsp + 0x80], r15w
mov eax, ebx
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.1000c8b30
mov rbx, qword [rsp + 0x120]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret