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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0x90
mov r14, rcx
mov r8, qword [rcx + 0x10]
mov rdx, rcx
mov r9, qword [rcx + 0x18]
cmp r9, 8
jb 0x14002067b
mov rdx, qword [rcx]
mov rsi, 0xffffffffffffffff
test r8, r8
je 0x1400206b7
lea rcx, [r8 - 1]
mov rax, rsi
cmp rcx, rax
cmovb rax, rcx
lea rbx, [rdx + rax*2]
cmp word [rbx], 0x2e
je 0x1400206af
nop
cmp rbx, rdx
je 0x1400206b7
sub rbx, 2
cmp word [rbx], 0x2e
jne 0x1400206a0
sub rbx, rdx
sar rbx, 1
jmp 0x1400206ba
mov rbx, rsi
xor r13d, r13d
mov qword [rbp + 0x27], r13
mov qword [rbp + 0x2f], 7
mov word [rbp + 0x17], r13w
mov qword [rbp + 7], r13
mov qword [rbp + 0xf], 7
mov word [rbp - 9], r13w
cmp rbx, 0xffffffffffffffff
je 0x14002087c
mov qword [rbp - 0x19], r13
mov qword [rbp - 0x11], 7
mov word [rbp - 0x29], r13w
mov rax, rbx
cmp r8, rbx
cmovb rax, r8
mov rdx, r14
cmp r9, 8
jb 0x140020710
mov rdx, qword [r14]
mov r8, rax
lea rcx, [rbp - 0x29]
call fcn.140014b30
mov rdx, qword [rbp + 0x2f]
cmp rdx, 8
jb 0x14002075c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x17]
cmp rdx, 0x1000
jb 0x140020757
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140020a7e
mov rcx, r8
call fcn.14003f8c0
movups xmm0, xmmword [rbp - 0x29]
movups xmmword [rbp + 0x17], xmm0
movups xmm1, xmmword [rbp - 0x19]
movups xmmword [rbp + 0x27], xmm1
mov qword [rbp - 0x11], 7
mov word [rbp - 0x29], r13w
mov rax, qword [r14 + 0x10]
cmp rax, rbx
jb 0x140020a6c
sub rax, rbx
mov r15, rsi
cmp rax, rsi
cmovb r15, rax
mov rax, r14
cmp qword [r14 + 0x18], 8
jb 0x1400207a0
mov rax, qword [r14]
lea r12, [rax + rbx*2]
cmp r15, 7
ja 0x1400207c9
mov qword [rbp - 0x19], r15
lea rbx, [r15 + r15]
mov r8, rbx
mov rdx, r12
lea rcx, [rbp - 0x29]
call fcn.140043700
mov word [rbp + rbx - 0x29], r13w
jmp 0x14002082a
movabs rbx, 0x7ffffffffffffffe
cmp r15, rbx
ja 0x140020a72
mov rax, r15
or rax, 7
cmp rax, rbx
ja 0x1400207f7
mov rbx, rax
mov ecx, 0xa
cmp rax, rcx
cmovb rbx, rcx
lea rdx, [rbx + 1]
lea rcx, [rbp - 0x29]
call fcn.140014940
mov rdi, rax
mov qword [rbp - 0x19], r15
mov qword [rbp - 0x11], rbx
lea rbx, [r15 + r15]
mov r8, rbx
mov rdx, r12
mov rcx, rax
call fcn.140043700
mov word [rbx + rdi], r13w
mov qword [rbp - 0x29], rdi
mov rdx, qword [rbp + 0xf]
cmp rdx, 8
jb 0x14002086a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 9]
cmp rdx, 0x1000
jb 0x140020865
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140020a7e
mov rcx, r8
call fcn.14003f8c0
movups xmm0, xmmword [rbp - 0x29]
movups xmmword [rbp - 9], xmm0
movups xmm1, xmmword [rbp - 0x19]
movups xmmword [rbp + 7], xmm1
jmp 0x14002089a
lea rax, [rbp + 0x17]
cmp rax, r14
je 0x14002089a
mov rdx, r14
cmp r9, 8
jb 0x140020891
mov rdx, qword [r14]
lea rcx, [rbp + 0x17]
call fcn.140014b30
mov r15, qword [r14 + 0x10]
add r15, 4
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x29], xmm0
mov rdi, r13
mov qword [rbp - 0x19], r13
je 0x1400208fa
movabs rax, 0x7fffffffffffffff
cmp r15, rax
ja 0x140020a78
mov rdx, r15
lea rcx, [rbp - 0x29]
call fcn.140014940
mov rbx, rax
mov qword [rbp - 0x29], rax
lea rdi, [rax + r15*2]
mov qword [rbp - 0x19], rdi
mov r8, rdi
sub r8, rax
xor edx, edx
mov rcx, rax
call fcn.140043b10
mov r15, rdi
mov qword [rbp - 0x21], rdi
jmp 0x140020902
mov r15, qword [rbp - 0x21]
mov rbx, qword [rbp - 0x29]
mov r12d, r13d
sub r15, rbx
sar r15, 1
nop dword [rax + rax]
lea rax, [rbp - 9]
cmp qword [rbp + 0xf], 8
cmovae rax, qword [rbp - 9]
inc r12d
lea r9, [rbp + 0x17]
cmp qword [rbp + 0x2f], 8
cmovae r9, qword [rbp + 0x17]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
lea r8, [0x140089c80]
mov rdx, r15
mov rcx, rbx
call fcn.140014d00
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140020960
test al, 0x10
je 0x140020910
nop dword [rax]
inc rsi
cmp word [rbx + rsi*2], 0
jne 0x140020960
mov r8, rsi
mov rdx, rbx
mov rcx, r14
call fcn.140014b30
nop
test rbx, rbx
je 0x1400209b6
sub rdi, rbx
sar rdi, 1
lea rdx, [rdi + rdi]
cmp rdx, 0x1000
jb 0x1400209ad
add rdx, 0x27
mov rcx, qword [rbx - 8]
sub rbx, rcx
lea rax, [rbx - 8]
cmp rax, 0x1f
ja 0x140020a7e
mov rbx, rcx
mov rcx, rbx
call fcn.14003f8c0
nop
mov rdx, qword [rbp + 0xf]
cmp rdx, 8
jb 0x1400209f2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 9]
cmp rdx, 0x1000
jb 0x1400209ed
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140020a60
mov rcx, r8
call fcn.14003f8c0
mov qword [rbp + 7], r13
mov qword [rbp + 0xf], 7
mov word [rbp - 9], r13w
mov rdx, qword [rbp + 0x2f]
cmp rdx, 8
jb 0x140020a3f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x17]
cmp rdx, 0x1000
jb 0x140020a3a
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140020a66
mov rcx, r8
call fcn.14003f8c0
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14004df0c
nop
call fcn.14004df0c
nop
call fcn.14002c190
int3
call fcn.1400119b0
int3
call fcn.14002c170
int3
call fcn.14004df0c
int3