Function at 0x14003f330
Capabilities:
Enumerate files on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x398]
sub rsp, 0x498
mov rax, qword [0x1405c7418]
xor rax, rsp
mov qword [rbp + 0x380], rax
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x50], r8
mov rbx, rdx
xor r12d, r12d
mov dword [rsp + 0x20], r12d
movabs rax, 0x7ffffffffffffffe
movzx r13d, byte [rbp + 0x400]
test r13b, r13b
je 0x14003f430
mov qword [rbp + 0x1c0], r12
mov qword [rbp + 0x1d0], r12
mov qword [rbp + 0x1d8], r12
mov rdi, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 8
jb 0x14003f3b0
mov rbx, qword [rdx]
cmp rdi, 8
jae 0x14003f3d5
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x1c0], xmm0
mov esi, 7
mov qword [rbp + 0x1d8], rsi
mov r15, qword [rbp + 0x1c0]
jmp 0x14003f417
mov rsi, rdi
or rsi, 7
cmp rsi, rax
cmova rsi, rax
lea rdx, [rsi + 1]
lea rcx, [rbp + 0x1c0]
call fcn.140007f70
mov r15, rax
mov qword [rbp + 0x1c0], rax
lea r8, [rdi*2 + 2]
mov rdx, rbx
mov rcx, rax
call fcn.1400ad430
mov qword [rbp + 0x1d8], rsi
mov qword [rbp + 0x1d0], rdi
lea r14, [rbp + 0x1c0]
mov edi, 1
mov dword [rsp + 0x20], edi
jmp 0x14003f474
mov r8, rdx
mov rdx, rcx
lea rcx, [rbp + 0x200]
call fcn.14003c310
nop
mov dword [rsp + 0x20], 2
mov rdx, rax
lea rcx, [rbp + 0x1e0]
call fcn.14003ce20
mov r14, rax
mov edi, 6
mov dword [rsp + 0x20], edi
mov rsi, qword [rbp + 0x1d8]
mov r15, qword [rbp + 0x1c0]
mov qword [rbp + 0x220], r12
mov qword [rbp + 0x230], r12
mov qword [rbp + 0x238], r12
mov r12, qword [r14 + 0x10]
cmp qword [r14 + 0x18], 8
jb 0x14003f497
mov r14, qword [r14]
cmp r12, 8
jae 0x14003f4b5
movups xmm0, xmmword [r14]
movups xmmword [rbp + 0x220], xmm0
mov qword [rbp + 0x238], 7
jmp 0x14003f4fe
mov rbx, r12
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rbp + 0x220]
call fcn.140007f70
mov qword [rbp + 0x220], rax
lea r8, [r12*2 + 2]
mov rdx, r14
mov rcx, rax
call fcn.1400ad430
mov qword [rbp + 0x238], rbx
mov qword [rbp + 0x230], r12
test dil, 4
je 0x14003f577
and edi, 0xfffffffb
mov dword [rsp + 0x20], edi
mov rdx, qword [rbp + 0x1f8]
cmp rdx, 8
jb 0x14003f558
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003f553
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003fd7a
call fcn.1400ab1c4
xor r14d, r14d
mov qword [rbp + 0x1f0], r14
mov qword [rbp + 0x1f8], 7
mov word [rbp + 0x1e0], r14w
jmp 0x14003f57a
xor r14d, r14d
test dil, 2
je 0x14003f5e7
and edi, 0xfffffffd
mov dword [rsp + 0x20], edi
mov rdx, qword [rbp + 0x218]
cmp rdx, 8
jb 0x14003f5cd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x200]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003f5c8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003fd80
call fcn.1400ab1c4
mov qword [rbp + 0x210], r14
mov qword [rbp + 0x218], 7
mov word [rbp + 0x200], r14w
test dil, 1
je 0x14003f649
and edi, 0xfffffffe
mov dword [rsp + 0x20], edi
cmp rsi, 8
jb 0x14003f62f
lea rdx, [rsi*2 + 2]
mov rax, r15
cmp rdx, 0x1000
jb 0x14003f627
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003fd86
mov rcx, r15
call fcn.1400ab1c4
mov qword [rbp + 0x1d0], r14
mov qword [rbp + 0x1d8], 7
mov word [rbp + 0x1c0], r14w
test r13b, r13b
je 0x14003f66f
mov r8b, 1
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x220]
call fcn.14003ddc0
mov rbx, rax
mov qword [rsp + 0x28], rax
jmp 0x14003f76e
mov qword [rbp + 0x200], r14
mov qword [rbp + 0x210], r14
mov qword [rbp + 0x218], r14
mov qword [rbp + 0x210], r14
mov qword [rbp + 0x218], 7
mov word [rbp + 0x200], r14w
mov r8d, 3
lea rdx, [0x1403f2d70]
lea rcx, [rbp + 0x200]
call fcn.140008280
nop
or edi, 8
mov dword [rsp + 0x20], edi
lea r8, [rbp + 0x200]
lea rdx, [rbp + 0x220]
lea rcx, [rbp + 0x1e0]
call fcn.14003c310
nop
lea rcx, [rbp + 0x1e0]
cmp qword [rbp + 0x1f8], 8
cmovae rcx, qword [rbp + 0x1e0]
lea rdx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rbx, rax
mov qword [rsp + 0x28], rax
cmp rax, 0xffffffffffffffff
je 0x14003fd8c
mov rdx, qword [rbp + 0x1f8]
cmp rdx, 8
jb 0x14003f754
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003f74f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003fe46
call fcn.1400ab1c4
mov qword [rbp + 0x1f0], r14
mov qword [rbp + 0x1f8], 7
mov word [rbp + 0x1e0], r14w
mov qword [rsp + 0x60], rbx
test dil, 8
je 0x14003f7e0
and edi, 0xfffffff7
mov dword [rsp + 0x20], edi
mov rdx, qword [rbp + 0x218]
cmp rdx, 8
jb 0x14003f7c6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x200]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003f7c1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003fe4c
call fcn.1400ab1c4
mov qword [rbp + 0x210], r14
mov qword [rbp + 0x218], 7
mov word [rbp + 0x200], r14w
mov eax, dword [rbp - 0x70]
lea rcx, [rsp + 0x7c]
test byte [rsp + 0x70], 0x10
je 0x14003fb29
mov r13d, dword [rbp - 0x74]
shl r13, 0x20
or r13, rax
call fcn.14003d170
mov qword [rsp + 0x48], rax
lea rcx, [rbp - 0x7c]
call fcn.14003d170
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x74]
call fcn.14003d170
mov qword [rsp + 0x38], rax
mov r15d, dword [rsp + 0x70]
shr r15d, 0xa
and r15b, 1
test dword [rsp + 0x70], 0x400
je 0x14003f84a
test dword [rbp - 0x6c], 0x20000000
je 0x14003f84a
mov sil, 1
jmp 0x14003f84d
xor sil, sil
mov qword [rbp + 0x1c0], r14
mov qword [rbp + 0x1d0], r14
mov qword [rbp + 0x1d8], r14
mov qword [rbp + 0x1d0], r14
mov qword [rbp + 0x1d8], 7
mov word [rbp + 0x1c0], r14w
lea rax, [rbp - 0x64]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x14003f890
lea rdx, [rbp - 0x64]
lea rcx, [rbp + 0x1c0]
call fcn.140008280
nop
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x30], eax
mov qword [rbp + 0x240], r14
mov qword [rbp + 0x250], r14
mov qword [rbp + 0x258], r14
lea r12, [rbp + 0x1c0]
mov rbx, qword [rbp + 0x1d8]
cmp rbx, 8
setae byte [rsp + 0x24]
mov rdi, qword [rbp + 0x1c0]
cmovae r12, rdi
mov r14, qword [rbp + 0x1d0]
cmp r14, 8
jae 0x14003f911
movups xmm0, xmmword [r12]
movaps xmmword [rbp + 0x240], xmm0
mov qword [rbp + 0x258], 7
jmp 0x14003f965
mov rbx, r14
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rbp + 0x240]
call fcn.140007f70
mov qword [rbp + 0x240], rax
lea r8, [r14*2 + 2]
mov rdx, r12
mov rcx, rax
call fcn.1400ad430
mov qword [rbp + 0x258], rbx
mov eax, dword [rsp + 0x30]
mov rbx, qword [rbp + 0x1d8]
mov qword [rbp + 0x250], r14
mov dword [rbp + 0x260], eax
mov byte [rbp + 0x264], sil
test r15b, r15b
jne 0x14003f987
test sil, sil
jne 0x14003f987
xor al, al
jmp 0x14003f989
mov al, 1
mov byte [rbp + 0x265], al
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x268], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x270], rax
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x278], rax
mov qword [rbp + 0x280], r13
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14003fa5f
mov qword [rsp + 0x68], rdx
xor r14d, r14d
mov qword [rdx], r14
mov qword [rdx + 0x10], r14
mov qword [rdx + 0x18], r14
movaps xmm0, xmmword [rbp + 0x240]
movups xmmword [rdx], xmm0
movaps xmm1, xmmword [rbp + 0x250]
movups xmmword [rdx + 0x10], xmm1
mov qword [rbp + 0x250], r14
mov qword [rbp + 0x258], 7
mov word [rbp + 0x240], r14w
mov eax, dword [rbp + 0x260]
mov dword [rdx + 0x20], eax
movzx eax, byte [rbp + 0x264]
mov byte [rdx + 0x24], al
movzx eax, byte [rbp + 0x265]
mov byte [rdx + 0x25], al
mov rax, qword [rbp + 0x268]
mov qword [rdx + 0x28], rax
mov rax, qword [rbp + 0x270]
mov qword [rdx + 0x30], rax
mov rax, qword [rbp + 0x278]
mov qword [rdx + 0x38], rax
mov rax, qword [rbp + 0x280]
mov qword [rdx + 0x40], rax
add qword [rcx + 8], 0x48
jmp 0x14003fa6e
lea r8, [rbp + 0x240]
call fcn.14003b000
xor r14d, r14d
mov rdx, qword [rbp + 0x258]
cmp rdx, 8
jb 0x14003fab4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x240]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003faaf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003fe52
call fcn.1400ab1c4
mov qword [rbp + 0x250], r14
mov qword [rbp + 0x258], 7
mov word [rbp + 0x240], r14w
cmp byte [rsp + 0x24], 0
je 0x14003fb0a
lea rdx, [rbx*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14003fb02
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003fd6e
mov rcx, rdi
call fcn.1400ab1c4
mov qword [rbp + 0x1d0], r14
mov qword [rbp + 0x1d8], 7
mov word [rbp + 0x1c0], r14w
jmp 0x14003fcdb
mov r14d, dword [rbp - 0x74]
shl r14, 0x20
or r14, rax
call fcn.14003d170
mov r15, rax
lea rcx, [rbp - 0x7c]
call fcn.14003d170
mov r12, rax
lea rcx, [rsp + 0x74]
call fcn.14003d170
mov r13, rax
mov esi, dword [rsp + 0x70]
shr esi, 0xa
and sil, 1
test dword [rsp + 0x70], 0x400
je 0x14003fb78
test dword [rbp - 0x6c], 0x20000000
je 0x14003fb78
mov dil, 1
jmp 0x14003fb7b
xor dil, dil
xor eax, eax
mov qword [rbp + 0x1e0], rax
mov qword [rbp + 0x1f0], rax
mov qword [rbp + 0x1f8], rax
mov qword [rbp + 0x1f0], rax
mov qword [rbp + 0x1f8], 7
mov word [rbp + 0x1e0], ax
lea rax, [rbp - 0x64]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x14003fbc0
lea rdx, [rbp - 0x64]
lea rcx, [rbp + 0x1e0]
call fcn.140008280
nop
mov ebx, dword [rsp + 0x70]
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp + 0x290]
call fcn.1400053c0
nop
mov dword [rbp + 0x2b0], ebx
mov byte [rbp + 0x2b4], dil
test sil, sil
jne 0x14003fc0f
test dil, dil
jne 0x14003fc0f
xor al, al
jmp 0x14003fc11
mov al, 1
mov byte [rbp + 0x2b5], al
mov qword [rbp + 0x2b8], r13
mov qword [rbp + 0x2c0], r12
mov qword [rbp + 0x2c8], r15
mov qword [rbp + 0x2d0], r14
mov rbx, qword [rsp + 0x58]
mov rax, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
je 0x14003fc58
lea rdx, [rbp + 0x290]
mov rcx, rax
call fcn.14003be20
add qword [rbx + 8], 0x48
jmp 0x14003fc6b
lea r8, [rbp + 0x290]
mov rdx, rax
mov rcx, rbx
call fcn.14003b000
nop
lea rcx, [rbp + 0x290]
call fcn.140007ea0
nop
mov rdx, qword [rbp + 0x1f8]
cmp rdx, 8
jb 0x14003fcbe
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003fcb9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003fd74
call fcn.1400ab1c4
xor r14d, r14d
mov qword [rbp + 0x1f0], r14
mov qword [rbp + 0x1f8], 7
mov word [rbp + 0x1e0], r14w
lea rdx, [rsp + 0x70]
mov rbx, qword [rsp + 0x28]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x14003f7e0
cmp rbx, 0xffffffffffffffff
je 0x14003fd0e
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
mov qword [rsp + 0x60], 0xffffffffffffffff
mov r8, qword [rbp + 0x238]
cmp r8, 8
jb 0x14003fd31
inc r8
mov rdx, qword [rbp + 0x220]
lea rcx, [rbp + 0x220]
call fcn.1400095a0
mov qword [rbp + 0x230], r14
mov qword [rbp + 0x238], 7
mov word [rbp + 0x220], r14w
mov rcx, qword [rbp + 0x380]
xor rcx, rsp
call fcn.1400ab7b0
add rsp, 0x498
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1400b1d8c
nop
call fcn.1400b1d8c
nop
call fcn.1400b1d8c
nop
call fcn.1400b1d8c
nop
call fcn.1400b1d8c
nop
lea rdx, str.RunTime::File::findFirstFile
lea rcx, [rbp + 0x1c0]
call fcn.140005380
nop
lea rcx, [rbp + 0x2e0]
call fcn.140005740
nop
mov r9d, 0x3f2
lea r8, [rbp + 0x1c0]
mov rdx, rax
lea rcx, [rbp + 0x290]
call fcn.1400057f0
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp + 0x300]
call fcn.14003efa0
nop
mov rcx, rax
call fcn.1400083b0
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x28]
lea rdx, str.Unable_to_read_directory___s_
lea rcx, [rbp + 0x320]
call fcn.1400048b0
mov rbx, rax
lea rcx, [rbp + 0x340]
call fcn.140005740
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x360]
call fcn.1400033e0
nop
mov rcx, rax
call fcn.1400083b0
mov r8, rsi
mov edx, edi
mov rcx, rax
call fcn.14001f0f0
nop
call fcn.1400b1d8c
nop
call fcn.1400b1d8c
nop
call fcn.1400b1d8c
int3