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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x140]
sub rsp, 0x240
mov rax, qword [0x180053038]
xor rax, rsp
mov qword [rbp + 0x130], rax
mov r15, r8
mov qword [rsp + 0x28], r8
mov rbx, rdx
mov qword [rsp + 0x20], rdx
mov r13, rcx
mov qword [rbp - 0x18], rcx
mov qword [rbp + 0xb0], rdx
mov qword [rbp + 0xb8], r8
xor r12d, r12d
mov dword [rsp + 0x30], r12d
xorps xmm0, xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xf8], xmm1
mov ecx, r12d
mov qword [rsp + 0x68], rcx
mov qword [rbp + 0x108], rcx
movdqu xmmword [rbp + 0xc0], xmm1
mov esi, r12d
mov qword [rbp + 0xd0], r12
movups xmmword [r13], xmm0
mov qword [r13], r12
mov qword [r13 + 8], r12
mov qword [r13 + 0x10], r12
mov dword [rsp + 0x30], 1
mov r9, rdx
cmp qword [rdx + 0x18], 8
jb 0x180004182
mov r9, qword [rdx]
mov rcx, qword [0x180055798]
mov rax, qword [rcx]
mov r8d, 2
lea rdx, str.Searching_for_all_files_in__s
call qword [rax]
mov rdx, rbx
lea rcx, [rbp - 0x38]
call fcn.180007670
lea r8, [0x180003cb0]
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.180014100
lea rcx, [rbp + 0xf8]
cmp rcx, rax
je 0x1800041f9
mov rdi, qword [rax]
mov qword [rbp + 0xf8], rdi
mov r14, qword [rax + 8]
mov qword [rbp + 0x100], r14
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x68], rcx
mov qword [rbp + 0x108], rcx
mov qword [rax], r12
mov qword [rax + 8], r12
mov qword [rax + 0x10], r12
jmp 0x180004207
mov r14, qword [rbp + 0x100]
mov rdi, qword [rbp + 0xf8]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], r14
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x18000426e
mov rdx, qword [rsp + 0x50]
call fcn.180008130
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x48]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000425b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800049da
call fcn.180019f00
mov qword [rsp + 0x48], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov r9, r14
sub r9, rdi
sar r9, 5
mov rcx, qword [0x180055798]
mov rax, qword [rcx]
mov r8d, 2
lea rdx, str.Number_of_entities_in_current_directory__d
call qword [rax + 0x10]
mov r12, rdi
mov qword [rsp + 0x60], rdi
cmp rdi, r14
mov r14, qword [rbp + 0xc0]
je 0x18000486b
nop word [rax + rax]
mov rdx, r12
lea rcx, [rbp + 0x110]
call fcn.180007670
nop
lea rax, [rbp - 0x80]
mov qword [rbp - 0x40], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xor eax, eax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rax
lea r15, [rbp + 0x110]
cmp qword [rbp + 0x128], 8
cmovae r15, qword [rbp + 0x110]
mov rdi, qword [rbp + 0x120]
movabs rcx, 0x7ffffffffffffffe
cmp rdi, rcx
ja 0x180004a16
mov qword [rbp - 0x68], 7
cmp rdi, 8
jae 0x180004329
mov qword [rbp - 0x70], rdi
movups xmm0, xmmword [r15]
movups xmmword [rbp - 0x80], xmm0
jmp 0x1800043d5
mov rbx, rdi
or rbx, 7
cmp rbx, rcx
jbe 0x180004348
mov rbx, rcx
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
jmp 0x180004378
cmp rbx, 0xa
mov ecx, 0xa
cmovb rbx, rcx
lea rcx, [rbx + 1]
movabs rdx, 0x7fffffffffffffff
cmp rcx, rdx
ja 0x180004a10
add rcx, rcx
cmp rcx, 0x1000
jb 0x1800043a7
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180004a10
mov rcx, rax
call fcn.180019f08
mov rcx, rax
test rax, rax
je 0x1800049e6
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1800043b1
test rcx, rcx
je 0x1800043b1
call fcn.180019f08
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], rbx
lea r8, [rdi*2 + 2]
mov rdx, r15
mov rcx, rax
call fcn.18001c210
mov rbx, qword [rsp + 0x20]
mov rdx, rbx
lea rcx, [rbp - 0x10]
call fcn.180007670
nop
lea r8, [rbp - 0x80]
mov rdx, rax
lea rcx, [rbp + 0xd8]
call fcn.180013b00
nop
lea rcx, [rbp + 0xd8]
cmp qword [rbp + 0xf0], 8
cmovae rcx, qword [rbp + 0xd8]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x18000468a
test al, 0x10
je 0x18000468a
lea rax, [rbp + 0x50]
mov qword [rsp + 0x70], rax
lea rax, [rbp + 0x10]
mov qword [rbp - 0x40], rax
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x10]
call fcn.180007670
mov rbx, rax
mov rdx, qword [rsp + 0x28]
lea rcx, [rbp + 0x30]
call fcn.180007670
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x50]
call fcn.180013b00
mov r12, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
xor eax, eax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
lea r15, [rbp + 0xd8]
cmp qword [rbp + 0xf0], 8
cmovae r15, qword [rbp + 0xd8]
mov rdi, qword [rbp + 0xe8]
movabs rcx, 0x7ffffffffffffffe
cmp rdi, rcx
ja 0x1800049f8
mov qword [rbp - 0x48], 7
cmp rdi, 8
jae 0x1800044ca
mov qword [rbp - 0x50], rdi
movups xmm0, xmmword [r15]
movups xmmword [rbp - 0x60], xmm0
jmp 0x180004572
mov rbx, rdi
or rbx, 7
cmp rbx, rcx
jbe 0x1800044e9
mov rbx, rcx
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
jmp 0x180004519
cmp rbx, 0xa
mov ecx, 0xa
cmovb rbx, rcx
lea rcx, [rbx + 1]
movabs rdx, 0x7fffffffffffffff
cmp rcx, rdx
ja 0x1800049f2
add rcx, rcx
cmp rcx, 0x1000
jb 0x180004548
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800049f2
mov rcx, rax
call fcn.180019f08
mov rcx, rax
test rax, rax
je 0x1800049ec
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180004552
test rcx, rcx
je 0x180004552
call fcn.180019f08
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x48], rbx
lea r8, [rdi*2 + 2]
mov rdx, r15
mov rcx, rax
call fcn.18001c210
nop
mov r8, r12
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x48]
call fcn.1800040d0
mov rbx, rax
lea rax, [rbp + 0xc0]
cmp rax, rbx
je 0x18000460c
test r14, r14
je 0x1800045dd
mov rdx, qword [rbp + 0xc8]
mov rcx, r14
call fcn.180008130
sub rsi, r14
and rsi, 0xffffffffffffffe0
mov rax, r14
cmp rsi, 0x1000
jb 0x1800045d2
add rsi, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800049ec
mov rdx, rsi
mov rcx, r14
call fcn.180019f00
mov r14, qword [rbx]
mov qword [rbp + 0xc0], r14
mov rdi, qword [rbx + 8]
mov qword [rbp + 0xc8], rdi
mov rsi, qword [rbx + 0x10]
mov qword [rbp + 0xd0], rsi
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
jmp 0x180004613
mov rdi, qword [rbp + 0xc8]
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x180004662
mov rdx, qword [rsp + 0x50]
call fcn.180008130
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x48]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000465d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800049ec
call fcn.180019f00
mov r9, rdi
sub r9, r14
sar r9, 5
mov rdx, qword [r13 + 8]
mov r8, r14
mov rcx, r13
call fcn.180008a20
mov r12, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x20]
jmp 0x1800047c0
lea rcx, [rbp + 0xd8]
cmp qword [rbp + 0xf0], 8
cmovae rcx, qword [rbp + 0xd8]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1800046b4
test al, 0x10
jne 0x1800046b4
mov al, 1
jmp 0x1800046b6
xor al, al
test al, al
je 0x180004790
lea rax, [rbp + 0x70]
mov qword [rsp + 0x78], rax
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x70]
call fcn.180007670
mov rbx, rax
mov r15, qword [rsp + 0x28]
mov rdx, r15
lea rcx, [rbp + 0x90]
call fcn.180007670
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp - 0x38]
call fcn.180013b00
nop
mov rdx, qword [r13 + 8]
cmp rdx, qword [r13 + 0x10]
je 0x18000473d
xorps xmm0, xmm0
movups xmmword [rdx], xmm0
xor ecx, ecx
mov qword [rdx + 0x10], rcx
mov qword [rdx + 0x18], rcx
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x10], xmm1
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], 7
mov word [rax], cx
add qword [r13 + 8], 0x20
jmp 0x180004749
mov r8, rax
mov rcx, r13
call fcn.180009070
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 8
jb 0x180004789
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180004784
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800049fe
call fcn.180019f00
mov rbx, qword [rsp + 0x20]
jmp 0x1800047c5
lea r9, [rbp + 0xd8]
cmp qword [rbp + 0xf0], 8
cmovae r9, qword [rbp + 0xd8]
mov rcx, qword [0x180055798]
mov rax, qword [rcx]
mov r8d, 2
lea rdx, str.Unsupported_file__s
call qword [rax]
mov r15, qword [rsp + 0x28]
mov rdx, qword [rbp + 0xf0]
cmp rdx, 8
jb 0x18000480c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xd8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180004806
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004a04
call fcn.180019f00
nop
mov rdx, qword [rbp + 0x128]
cmp rdx, 8
jb 0x180004852
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000484d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004a0a
call fcn.180019f00
add r12, 0x20
mov qword [rsp + 0x60], r12
cmp r12, qword [rsp + 0x38]
jne 0x1800042b0
mov rdi, qword [rsp + 0x40]
test r14, r14
je 0x1800048b7
mov rdx, qword [rbp + 0xc8]
mov rcx, r14
call fcn.180008130
sub rsi, r14
and rsi, 0xffffffffffffffe0
mov rax, r14
cmp rsi, 0x1000
jb 0x1800048ab
add rsi, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800049e0
mov rdx, rsi
mov rcx, r14
call fcn.180019f00
nop
test rdi, rdi
je 0x180004906
mov rdx, qword [rsp + 0x38]
mov rcx, rdi
call fcn.180008130
mov rcx, qword [rsp + 0x68]
sub rcx, rdi
and rcx, 0xffffffffffffffe0
mov rax, rdi
cmp rcx, 0x1000
jb 0x1800048fa
add rcx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180004a1c
mov rdx, rcx
mov rcx, rdi
call fcn.180019f00
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 8
jb 0x180004945
mov rcx, qword [rbx]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x180004940
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800049ce
mov rcx, r8
call fcn.180019f00
xor edi, edi
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], 7
mov word [rbx], di
mov rdx, qword [r15 + 0x18]
cmp rdx, 8
jb 0x180004991
lea rdx, [rdx*2 + 2]
mov rcx, qword [r15]
cmp rdx, 0x1000
jb 0x18000498c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800049d4
mov rcx, r8
call fcn.180019f00
mov qword [r15 + 0x10], rdi
mov qword [r15 + 0x18], 7
mov word [r15], di
mov rax, r13
mov rcx, qword [rbp + 0x130]
xor rcx, rsp
call fcn.180019ee0
mov rbx, qword [rsp + 0x298]
add rsp, 0x240
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180020f44
nop
call fcn.180020f44
nop
call fcn.180020f44
nop
call fcn.180020f44
nop
call fcn.180020f44
nop
call fcn.180020f44
int3
call fcn.180003440
int3
call fcn.1800034e0
nop
call fcn.180020f44
nop
call fcn.180020f44
nop
call fcn.180020f44
nop
call fcn.180003440
int3
call fcn.1800034e0
nop
call fcn.180020f44
int3