Function at 0x14001ef10
Capabilities:
Enumerate files on windows
Enumerate files recursively

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2b8]
sub rsp, 0x3b8
mov rax, qword [0x1401c4de0]
xor rax, rsp
mov qword [rbp + 0x2a0], rax
mov r14, r9
mov qword [rbp - 0x70], r9
mov rbx, r8
mov qword [rsp + 0x40], rbx
mov r12, rdx
mov r15, rcx
mov qword [rbp - 0x58], rcx
xor edi, edi
mov r13d, edi
mov dword [r8], edi
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], 7
mov word [rsp + 0x20], di
lea r8d, [rdi + 1]
lea rdx, [0x1401a138c]
lea rcx, [rsp + 0x20]
call fcn.140012600
nop
mov rdx, r15
lea rcx, [rbp - 0x50]
call fcn.1400181d0
nop
lea r8, [rsp + 0x20]
mov rdx, rax
lea rcx, [rbp + 0x30]
call fcn.1400191b0
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x14001efeb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001efe6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f69d
call fcn.1401420dc
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], di
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x14001f03d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f038
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f6a3
call fcn.1401420dc
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], rax
mov qword [rbp - 0x78], rdi
cmp qword [sym.imp.KERNEL32.dll_FindClose], rax
je 0x14001f084
lea rax, vtable.std::_Func_impl_no_alloc_int____cdecl___void____ptr64___int__void____ptr64_.0
mov qword [rsp + 0x50], rax
mov rax, qword [sym.imp.KERNEL32.dll_FindClose]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x50]
mov qword [rbp - 0x78], rax
lea rax, [rsp + 0x50]
mov qword [rbp - 0x30], rax
lea rcx, [rbp + 0x30]
cmp qword [rbp + 0x48], 8
cmovae rcx, qword [rbp + 0x30]
lea rdx, [rbp + 0x50]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
nop
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x18]
mov qword [rsp + 0x48], rax
mov rcx, rdi
mov qword [rbp + 0x20], rcx
mov r8, qword [rbp - 0x78]
test r8, r8
je 0x14001f0e1
mov rax, qword [r8]
lea rdx, [rbp - 0x18]
mov rcx, r8
mov rax, qword [rax]
call qword [case.0x1400c8de2.0]
mov rcx, rax
mov qword [rbp + 0x20], rax
mov r8, qword [rbp - 0x78]
test r8, r8
je 0x14001f105
mov rax, qword [r8]
lea rcx, [rsp + 0x50]
cmp r8, rcx
setne dl
mov rcx, r8
mov rax, qword [rax + 0x20]
call qword [case.0x1400c8de2.0]
mov rcx, qword [rbp + 0x20]
cmp qword [rbp - 0x20], 0xffffffffffffffff
je 0x14001f5e6
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], di
test byte [rbp + 0x50], 0x10
je 0x14001f563
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], 7
lea rax, [rbp + 0x7c]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x14001f150
lea rdx, [rbp + 0x7c]
lea rcx, [rsp + 0x20]
call fcn.140012600
lea r9, [rsp + 0x20]
mov rsi, qword [rsp + 0x38]
cmp rsi, 8
setae dil
mov r10, qword [rsp + 0x20]
cmovae r9, r10
mov r11, qword [rsp + 0x30]
cmp r11, 1
jne 0x14001f1d0
mov r8, r11
lea rbx, [0x1401a1330]
mov rax, rbx
movzx ecx, word [r9]
mov edx, 0x2e
cmp cx, dx
jb 0x14001f1d0
sub r9, rbx
cmp cx, dx
ja 0x14001f1d0
cmp r8, 1
je 0x14001f420
dec r8
add rax, 2
movzx ecx, word [rax + r9]
movzx edx, word [rax]
cmp cx, dx
jae 0x14001f1b0
lea r9, [rsp + 0x20]
test dil, dil
cmovne r9, r10
cmp r11, 2
jne 0x14001f223
mov r8, r11
lea r11, [0x1401a1334]
mov rax, r11
movzx ecx, word [r9]
mov edx, 0x2e
cmp cx, dx
jb 0x14001f223
sub r9, r11
cmp cx, dx
ja 0x14001f223
cmp r8, 1
je 0x14001f420
dec r8
add rax, 2
movzx ecx, word [rax + r9]
movzx edx, word [rax]
cmp cx, dx
jae 0x14001f203
mov bl, 1
test dil, dil
je 0x14001f25f
lea rdx, [rsi*2 + 2]
mov rax, r10
cmp rdx, 0x1000
jb 0x14001f257
add rdx, 0x27
mov r10, qword [r10 - 8]
sub rax, r10
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f6af
mov rcx, r10
call fcn.1401420dc
xor edi, edi
test bl, bl
je 0x14001f55c
mov dword [rbp - 0x30], edi
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], 7
mov word [rsp + 0x20], di
lea rax, [rbp + 0x7c]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], di
jne 0x14001f290
lea rdx, [rbp + 0x7c]
lea rcx, [rsp + 0x20]
call fcn.140012600
nop
lea r8, [rsp + 0x20]
mov rdx, r15
lea rcx, [rsp + 0x50]
call fcn.1400191b0
mov rbx, rax
lea rax, [rbp - 0x50]
cmp rax, rbx
je 0x14001f335
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x14001f307
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f302
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f6b5
call fcn.1401420dc
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], di
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x40], xmm1
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], 7
mov word [rbx], di
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x14001f377
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f372
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f6b5
call fcn.1401420dc
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], 7
mov word [rsp + 0x50], di
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x14001f3cc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f3c7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f6bb
call fcn.1401420dc
mov r9, r14
lea r8, [rbp - 0x30]
mov rdx, r12
lea rcx, [rbp - 0x50]
call fcn.14001ef10
mov r14, rax
mov r15d, dword [rbp - 0x30]
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rdi
mov rdi, qword [rbp - 0x40]
lea rsi, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rsi, qword [rbp - 0x50]
cmp rdi, 8
jae 0x14001f427
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x38], 7
jmp 0x14001f46a
xor bl, bl
jmp 0x14001f225
mov rbx, rdi
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rsp + 0x20]
call fcn.140012f90
mov qword [rsp + 0x20], rax
lea r8, [rdi*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.1401441e0
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rdi
lea rax, [rsp + 0x20]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x50]
call fcn.1400130b0
mov qword [rsp + 0x70], r14
mov dword [rsp + 0x78], r15d
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x14001f4d4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f4cf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f6c1
call fcn.1401420dc
xor edi, edi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], 7
mov word [rsp + 0x20], di
mov rbx, qword [r12]
movabs rax, 0x3ffffffffffffff
cmp qword [r12 + 8], rax
je 0x14001f6c7
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x60], rdi
lea ecx, [rdi + 0x40]
call fcn.1401420a0
mov rcx, rax
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rax + 0x10], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rax + 0x20], xmm1
mov qword [rax + 0x30], r14
mov dword [rax + 0x38], r15d
inc qword [r12 + 8]
mov rax, qword [rbx + 8]
mov qword [rcx], rbx
mov qword [rcx + 8], rax
mov qword [rbp - 0x60], rdi
mov qword [rbx + 8], rcx
mov qword [rax], rcx
add r13, r14
mov rbx, qword [rsp + 0x40]
mov r14, qword [rbp - 0x70]
mov r15, qword [rbp - 0x58]
jmp 0x14001f573
mov rbx, qword [rsp + 0x40]
jmp 0x14001f575
mov ecx, dword [rbp + 0x6c]
shl rcx, 0x20
mov eax, dword [rbp + 0x70]
add r13, rax
add r13, rcx
inc dword [rbx]
test r14, r14
je 0x14001f58c
xor edx, edx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x14001f5a2
lea rdx, [rbp + 0x50]
mov rcx, qword [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x14001f124
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x14001f5e2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f5dd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f6a9
call fcn.1401420dc
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp - 0x20]
test rax, rax
je 0x14001f615
mov qword [rbp - 0x58], rax
test rcx, rcx
je 0x14001f6d4
mov rax, qword [rcx]
lea rdx, [rbp - 0x58]
mov rax, qword [rax + 0x10]
call qword [case.0x1400c8de2.0]
mov qword [rbp - 0x20], rdi
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x14001f635
mov rax, qword [rcx]
lea rdx, [rbp - 0x18]
cmp rcx, rdx
setne dl
mov rax, qword [rax + 0x20]
call qword [case.0x1400c8de2.0]
mov qword [rbp + 0x20], rdi
mov rdx, qword [rbp + 0x48]
cmp rdx, 8
jb 0x14001f671
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f66c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f697
call fcn.1401420dc
mov rax, r13
mov rcx, qword [rbp + 0x2a0]
xor rcx, rsp
call fcn.140142180
add rsp, 0x3b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140149044
nop
call fcn.140149044
nop
call fcn.140149044
nop
call fcn.140149044
nop
call fcn.140149044
nop
call fcn.140149044
nop
call fcn.140149044
int3
call fcn.140149044
nop
lea rcx, str.list_too_long
call fcn.14011a5e8
nop
call fcn.14011a5a4
int3