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

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x130
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
mov rax, qword [0x1800f0938]
xor rax, rsp
mov qword [rsp + 0x120], rax
mov r12, rcx
mov qword [r11 - 0xc0], 7
xor r13d, r13d
mov qword [r11 - 0xc8], r13
mov word [r11 - 0xd8], r13w
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rcx
lea rcx, [rsp + 0x78]
call fcn.1800030f0
nop
mov rdx, r12
lea rcx, [rsp + 0x50]
call fcn.1800047f0
nop
cmp qword [rsp + 0x68], r13
je 0x180016f11
mov r8d, dword [rsp + 0x90]
sub r8d, dword [rsp + 0x68]
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0xa0]
call fcn.180001a10
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.1800030f0
nop
cmp qword [rsp + 0xc0], 8
jb 0x180016f11
mov rcx, qword [rsp + 0xa8]
call fcn.180098980
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], r13
mov word [rsp + 0x30], 0
mov ebp, 1
lea rbx, [0x1800cbdd0]
movabs r14, 0x7ffffffffffffffe
nop
lea r9, [rsp + 0xa0]
movsxd r8, ebp
mov rdi, r13
movabs r15, 0xcccccccccccccccd
nop
nop
mov rax, r15
mul r8
shr rdx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [rsp + rdi*2 + 0xe0], r8w
add rdi, 1
mov r8, rdx
test rdx, rdx
jne 0x180016f60
lea r15, [0x1800cbdd4]
nop
sub rdi, 1
movzx eax, word [rsp + rdi*2 + 0xe0]
mov word [r9], ax
add r9, 2
test rdi, rdi
jg 0x180016fa0
mov word [r9], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x28]
call fcn.1800030f0
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov r10, qword [rsp + 0x48]
cmp r10, 8
cmovae rdx, rcx
mov r9, qword [rsp + 0x40]
cmp rbx, rdx
jb 0x18001714c
lea rax, [rsp + 0x30]
cmp r10, 8
cmovae rax, rcx
lea rax, [rax + r9*2]
cmp rax, rbx
jbe 0x18001714c
lea rax, [rsp + 0x30]
cmp r10, 8
cmovae rax, rcx
mov rsi, rbx
sub rsi, rax
sar rsi, 1
cmp r9, rsi
jae 0x18001703e
call fcn.180097800
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
mov rax, r9
sub rax, rsi
mov ebx, 1
cmp rax, rbx
cmovb rbx, rax
or rax, 0xffffffffffffffff
sub rax, r9
cmp rax, rbx
jbe 0x180017065
lea rax, [r9 + rbx]
cmp rax, r9
jae 0x180017074
call fcn.180097730
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
test rbx, rbx
je 0x180017225
lea rdi, [r9 + rbx]
cmp rdi, r14
jbe 0x180017095
call fcn.180097730
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
cmp r10, rdi
jae 0x1800170b6
mov r8, r9
mov rdx, rdi
lea rcx, [rsp + 0x28]
call fcn.180003d30
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
jmp 0x1800170e1
test rdi, rdi
jne 0x1800170e1
mov qword [rsp + 0x40], r13
lea rax, [rsp + 0x30]
cmp r10, 8
cmovae rax, qword [rsp + 0x30]
mov word [rax], di
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
jmp 0x180017225
test rdi, rdi
je 0x180017225
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
cmp r10, 8
cmovae rdx, rcx
lea rax, [rsp + 0x30]
cmp r10, 8
cmovae rax, rcx
sub r10, r9
lea rcx, [rax + r9*2]
lea r9, [rbx + rbx]
lea r8, [rdx + rsi*2]
lea rdx, [r10 + r10]
call fcn.180098b20
mov qword [rsp + 0x40], rdi
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rax, qword [rsp + 0x30]
mov word [rax + rdi*2], 0
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
jmp 0x180017225
or rax, 0xffffffffffffffff
sub rax, r9
cmp rax, 1
jbe 0x180017162
lea rax, [r9 + 1]
cmp rax, r9
jae 0x180017171
call fcn.180097730
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
lea rdi, [r9 + 1]
cmp rdi, r14
jbe 0x180017189
call fcn.180097730
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
cmp r10, rdi
jae 0x1800171aa
mov r8, r9
mov rdx, rdi
lea rcx, [rsp + 0x28]
call fcn.180003d30
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
jmp 0x1800171d2
test rdi, rdi
jne 0x1800171d2
mov qword [rsp + 0x40], r13
lea rax, [rsp + 0x30]
cmp r10, 8
cmovae rax, qword [rsp + 0x30]
mov word [rax], di
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
jmp 0x180017225
test rdi, rdi
je 0x180017225
lea rax, [rsp + 0x30]
cmp r10, 8
cmovae rax, qword [rsp + 0x30]
sub r10, r9
lea rcx, [rax + r9*2]
lea rdx, [r10 + r10]
mov r9d, 2
mov r8, rbx
call fcn.180098b20
mov qword [rsp + 0x40], rdi
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rax, qword [rsp + 0x30]
mov word [rax + rdi*2], 0
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0xa0]
repne scasw ax, word [rdi]
not rcx
lea rdi, [rcx - 1]
lea rax, [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
cmp r10, 8
cmovae rax, rcx
lea rdx, [rsp + 0xa0]
cmp rdx, rax
jb 0x1800173ba
lea rax, [rsp + 0x30]
cmp r10, 8
cmovae rax, rcx
lea rax, [rax + r9*2]
lea rdx, [rsp + 0xa0]
cmp rax, rdx
jbe 0x1800173ba
lea rax, [rsp + 0x30]
cmp r10, 8
cmovae rax, rcx
lea rsi, [rsp + 0xa0]
sub rsi, rax
sar rsi, 1
cmp r9, rsi
jae 0x1800172b1
call fcn.180097800
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
mov rax, r9
sub rax, rsi
cmp rax, rdi
cmovb rdi, rax
or rax, 0xffffffffffffffff
sub rax, r9
cmp rax, rdi
jbe 0x1800172d3
lea rax, [r9 + rdi]
cmp rax, r9
jae 0x1800172e2
call fcn.180097730
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
test rdi, rdi
je 0x18001749e
lea rbx, [r9 + rdi]
cmp rbx, r14
jbe 0x180017303
call fcn.180097730
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
cmp r10, rbx
jae 0x180017324
mov r8, r9
mov rdx, rbx
lea rcx, [rsp + 0x28]
call fcn.180003d30
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
jmp 0x18001734f
test rbx, rbx
jne 0x18001734f
mov qword [rsp + 0x40], r13
lea rax, [rsp + 0x30]
cmp r10, 8
cmovae rax, qword [rsp + 0x30]
mov word [rax], bx
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
jmp 0x18001749e
test rbx, rbx
je 0x18001749e
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
cmp r10, 8
cmovae rdx, rcx
lea rax, [rsp + 0x30]
cmp r10, 8
cmovae rax, rcx
sub r10, r9
lea rcx, [rax + r9*2]
lea r9, [rdi + rdi]
lea r8, [rdx + rsi*2]
lea rdx, [r10 + r10]
call fcn.180098b20
mov qword [rsp + 0x40], rbx
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rax, qword [rsp + 0x30]
mov word [rax + rbx*2], 0
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
jmp 0x18001749e
or rax, 0xffffffffffffffff
sub rax, r9
cmp rax, rdi
jbe 0x1800173cf
lea rax, [r9 + rdi]
cmp rax, r9
jae 0x1800173de
call fcn.180097730
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
test rdi, rdi
je 0x18001749e
lea rbx, [r9 + rdi]
cmp rbx, r14
jbe 0x1800173ff
call fcn.180097730
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
cmp r10, rbx
jae 0x180017420
mov r8, r9
mov rdx, rbx
lea rcx, [rsp + 0x28]
call fcn.180003d30
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
jmp 0x180017448
test rbx, rbx
jne 0x180017448
mov qword [rsp + 0x40], r13
lea rax, [rsp + 0x30]
cmp r10, 8
cmovae rax, qword [rsp + 0x30]
mov word [rax], bx
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
jmp 0x18001749e
test rbx, rbx
je 0x18001749e
lea rax, [rsp + 0x30]
cmp r10, 8
cmovae rax, qword [rsp + 0x30]
sub r10, r9
lea rcx, [rax + r9*2]
lea r9, [rdi + rdi]
lea rdx, [r10 + r10]
lea r8, [rsp + 0xa0]
call fcn.180098b20
mov qword [rsp + 0x40], rbx
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rax, qword [rsp + 0x30]
mov word [rax + rbx*2], 0
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
lea rax, [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
cmp r10, 8
cmovae rax, rcx
cmp r15, rax
jb 0x18001760b
lea rax, [rsp + 0x30]
cmp r10, 8
cmovae rax, rcx
lea rax, [rax + r9*2]
cmp rax, r15
jbe 0x18001760b
lea rax, [rsp + 0x30]
cmp r10, 8
cmovae rax, rcx
mov rsi, r15
sub rsi, rax
sar rsi, 1
cmp r9, rsi
jae 0x1800174fd
call fcn.180097800
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
mov rax, r9
sub rax, rsi
mov ebx, 1
cmp rax, rbx
cmovb rbx, rax
or rax, 0xffffffffffffffff
sub rax, r9
cmp rax, rbx
jbe 0x180017524
lea rax, [r9 + rbx]
cmp rax, r9
jae 0x180017533
call fcn.180097730
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
test rbx, rbx
je 0x1800176e4
lea rdi, [r9 + rbx]
cmp rdi, r14
jbe 0x180017554
call fcn.180097730
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
cmp r10, rdi
jae 0x180017575
mov r8, r9
mov rdx, rdi
lea rcx, [rsp + 0x28]
call fcn.180003d30
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
jmp 0x1800175a0
test rdi, rdi
jne 0x1800175a0
mov qword [rsp + 0x40], r13
lea rax, [rsp + 0x30]
cmp r10, 8
cmovae rax, qword [rsp + 0x30]
mov word [rax], di
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
jmp 0x1800176e4
test rdi, rdi
je 0x1800176e4
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
cmp r10, 8
cmovae rdx, rcx
lea rax, [rsp + 0x30]
cmp r10, 8
cmovae rax, rcx
sub r10, r9
lea rcx, [rax + r9*2]
lea r9, [rbx + rbx]
lea r8, [rdx + rsi*2]
lea rdx, [r10 + r10]
call fcn.180098b20
mov qword [rsp + 0x40], rdi
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rax, qword [rsp + 0x30]
mov word [rax + rdi*2], 0
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
jmp 0x1800176e4
or rax, 0xffffffffffffffff
sub rax, r9
cmp rax, 1
jbe 0x180017621
lea rax, [r9 + 1]
cmp rax, r9
jae 0x180017630
call fcn.180097730
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
lea rdi, [r9 + 1]
cmp rdi, r14
jbe 0x180017648
call fcn.180097730
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
cmp r10, rdi
jae 0x180017669
mov r8, r9
mov rdx, rdi
lea rcx, [rsp + 0x28]
call fcn.180003d30
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
jmp 0x180017691
test rdi, rdi
jne 0x180017691
mov qword [rsp + 0x40], r13
lea rax, [rsp + 0x30]
cmp r10, 8
cmovae rax, qword [rsp + 0x30]
mov word [rax], di
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
jmp 0x1800176e4
test rdi, rdi
je 0x1800176e4
lea rax, [rsp + 0x30]
cmp r10, 8
cmovae rax, qword [rsp + 0x30]
sub r10, r9
lea rcx, [rax + r9*2]
lea rdx, [r10 + r10]
mov r9d, 2
mov r8, r15
call fcn.180098b20
mov qword [rsp + 0x40], rdi
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rax, qword [rsp + 0x30]
mov word [rax + rdi*2], 0
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
or rbx, 0xffffffffffffffff
mov rax, qword [rsp + 0x68]
cmp rax, rbx
cmovb rbx, rax
or rax, 0xffffffffffffffff
sub rax, r9
cmp rax, rbx
jbe 0x180017709
lea rax, [r9 + rbx]
cmp rax, r9
jae 0x180017718
call fcn.180097730
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
test rbx, rbx
je 0x1800177d7
lea rdi, [r9 + rbx]
cmp rdi, r14
jbe 0x180017739
call fcn.180097730
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
cmp r10, rdi
jae 0x18001775a
mov r8, r9
mov rdx, rdi
lea rcx, [rsp + 0x28]
call fcn.180003d30
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
jmp 0x18001777d
test rdi, rdi
jne 0x18001777d
mov qword [rsp + 0x40], r13
lea rax, [rsp + 0x30]
cmp r10, 8
cmovae rax, qword [rsp + 0x30]
mov word [rax], di
mov r10, qword [rsp + 0x48]
jmp 0x1800177d7
test rdi, rdi
je 0x1800177d7
lea r8, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae r8, qword [rsp + 0x58]
lea rax, [rsp + 0x30]
cmp r10, 8
cmovae rax, qword [rsp + 0x30]
sub r10, r9
lea rcx, [rax + r9*2]
lea r9, [rbx + rbx]
lea rdx, [r10 + r10]
call fcn.180098b20
mov qword [rsp + 0x40], rdi
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rax, qword [rsp + 0x30]
mov word [rax + rdi*2], 0
mov r10, qword [rsp + 0x48]
lea rcx, [rsp + 0x30]
cmp r10, 8
cmovae rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x180017875
add ebp, 1
cmp ebp, 0x100000
lea rbx, [0x1800cbdd0]
jle 0x180016f40
cmp qword [rsp + 0x48], 8
jb 0x18001781d
mov rcx, qword [rsp + 0x30]
call fcn.180098980
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], r13
mov word [rsp + 0x30], 0
cmp qword [rsp + 0x70], 8
jb 0x180017844
mov rcx, qword [rsp + 0x58]
call fcn.180098980
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], r13
mov word [rsp + 0x58], 0
cmp qword [rsp + 0x98], 8
jb 0x180017871
mov rcx, qword [rsp + 0x80]
call fcn.180098980
xor al, al
jmp 0x1800178f2
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x28]
mov rcx, r12
call fcn.1800030f0
nop
cmp qword [rsp + 0x48], 8
jb 0x18001789c
mov rcx, qword [rsp + 0x30]
call fcn.180098980
mov qword [rsp + 0x48], 7
mov qword [rsp + 0x40], r13
mov word [rsp + 0x30], 0
cmp qword [rsp + 0x70], 8
jb 0x1800178c3
mov rcx, qword [rsp + 0x58]
call fcn.180098980
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], r13
mov word [rsp + 0x58], 0
cmp qword [rsp + 0x98], 8
jb 0x1800178f0
mov rcx, qword [rsp + 0x80]
call fcn.180098980
mov al, 1
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.180099050
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret