Function at 0x140158720
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 - 0x388]
sub rsp, 0x488
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov rax, qword [0x1402a98a8]
xor rax, rsp
mov qword [rbp + 0x370], rax
mov r13, r9
mov rsi, r8
mov qword [rsp + 0x30], r8
mov r12, rdx
mov qword [rsp + 0x40], rcx
xor r14d, r14d
cmp qword [r9 + 0x30], r14
jne 0x140158849
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xe8], xmm0
movdqa xmm1, xmmword [0x1401e5030]
movdqu xmmword [rbp + 0xe8], xmm1
mov word [rbp + 0xd8], r14w
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], r14w
jne 0x1401587a0
lea rcx, [rbp + 0xd8]
call fcn.140006d70
nop
lea rcx, [r13 + 0x58]
lea rax, [rbp + 0xd8]
cmp rcx, rax
je 0x1401587eb
lea rdx, [rbp + 0xd8]
cmp qword [rbp + 0xf0], 8
cmovae rdx, qword [rbp + 0xd8]
mov r8, qword [rbp + 0xe8]
call fcn.140006d70
nop
mov rdx, qword [rbp + 0xf0]
cmp rdx, 8
jb 0x140158831
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xd8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015882c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14015939e
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rbp + 0xe8], xmm0
mov word [rbp + 0xd8], r14w
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], r14
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], 7
mov word [rbp + 0x10], r14w
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [r12 + r8*2], 0
jne 0x140158870
mov rdx, r12
lea rcx, [rbp + 0x10]
call fcn.140006d70
nop
lea rcx, [rbp + 0x10]
cmp qword [rbp + 0x28], 8
cmovae rcx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x20]
cmp word [rcx + rax*2 - 2], 0x5c
je 0x1401588b8
mov r8d, 1
lea rdx, [0x1401e62c8]
lea rcx, [rbp + 0x10]
call fcn.140006aa0
mov r8d, 3
lea rdx, [0x1401e62d0]
lea rcx, [rbp + 0x10]
call fcn.140006aa0
lea rcx, [rbp + 0x10]
cmp qword [rbp + 0x28], 8
cmovae rcx, qword [rbp + 0x10]
lea rdx, [rbp + 0x120]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov qword [rsp + 0x38], rax
cmp rax, 0xffffffffffffffff
je 0x140158d4b
mov ecx, dword [rbp + 0x120]
test cl, 0x10
je 0x140158c8b
movzx edi, byte [rbp + 0x3f8]
test dil, dil
jne 0x14015891c
test cl, 2
jne 0x140158d52
movzx ebx, byte [rbp + 0x3f0]
test bl, bl
je 0x140158d59
lea rdx, [0x1401e5cd0]
lea rcx, [rbp + 0x14c]
call fcn.1400279d0
test eax, eax
je 0x140158d59
lea rdx, [0x1401e62d8]
lea rcx, [rbp + 0x14c]
call fcn.1400279d0
test eax, eax
je 0x140158d59
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], r14w
mov r8, 0xffffffffffffffff
inc r8
cmp word [r12 + r8*2], 0
jne 0x140158981
mov rdx, r12
lea rcx, [rbp - 0x30]
call fcn.140006d70
nop
lea rcx, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x20]
cmp word [rcx + rax*2 - 2], 0x5c
je 0x1401589c9
mov r8d, 1
lea rdx, [0x1401e62c8]
lea rcx, [rbp - 0x30]
call fcn.140006aa0
lea rax, [rbp + 0x14c]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1401589e0
lea rdx, [rbp + 0x14c]
lea rcx, [rbp - 0x30]
call fcn.140006aa0
mov r8d, 1
lea rdx, [0x1401e62c8]
lea rcx, [rbp - 0x30]
call fcn.140006aa0
xorps xmm0, xmm0
movdqu xmmword [rbp], xmm0
movdqa xmm1, xmmword [0x1401e5030]
movdqu xmmword [rbp], xmm1
mov word [rbp - 0x10], r14w
lea rax, [rbp + 0x14c]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140158a40
lea rdx, [rbp + 0x14c]
lea rcx, [rbp - 0x10]
call fcn.140006d70
nop
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], r14
mov qword [rbp + 0x48], r14
movdqa xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], r13
mov qword [rbp + 0x78], r14
mov qword [rbp + 0x80], r14
lea r14, [rbp - 0x10]
mov rdi, qword [rbp - 0x10]
mov r15, qword [rbp + 8]
cmp r15, 8
cmovae r14, rdi
mov rsi, qword [rbp]
cmp rsi, 8
jae 0x140158ab3
movups xmm0, xmmword [r14]
movups xmmword [rbp + 0x68], xmm0
mov qword [rbp + 0x80], 7
jmp 0x140158afd
mov rbx, rsi
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rbp + 0x68]
call fcn.1400069a0
mov qword [rbp + 0x68], rax
lea r8, [rsi*2 + 2]
mov rdx, r14
mov rcx, rax
call fcn.14019f8d0
mov qword [rbp + 0x80], rbx
movzx ebx, byte [rbp + 0x3f0]
mov qword [rbp + 0x78], rsi
xor r14d, r14d
mov qword [rbp + 0x98], r14
mov qword [rbp + 0xa0], r14
mov qword [rbp + 0x98], r14
mov qword [rbp + 0xa0], 7
mov word [rbp + 0x88], r14w
cmp r15, 8
jb 0x140158b67
lea rdx, [r15*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140158b5f
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401593a4
mov rcx, rdi
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rbp], xmm0
mov word [rbp - 0x10], r14w
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rdx, qword [rbp - 0x30]
movzx edi, byte [rbp + 0x3f8]
mov byte [rsp + 0x28], dil
mov byte [rsp + 0x20], bl
lea r9, [rbp + 0x30]
mov rsi, qword [rsp + 0x30]
mov r8, rsi
mov rcx, qword [rsp + 0x40]
call fcn.140158720
lea rax, [rsp + 0x58]
mov qword [rsp + 0x48], rax
lea rdx, [rbp + 0x30]
lea rcx, [rsp + 0x58]
call fcn.140156990
nop
lea rdx, [rbp + 0x48]
lea rcx, [rsp + 0x70]
call fcn.1401568e0
nop
mov rax, qword [rbp + 0x60]
mov qword [rbp - 0x78], rax
lea rdx, [rbp + 0x68]
lea rcx, [rbp - 0x70]
call fcn.140002f50
nop
lea rdx, [rbp + 0x88]
lea rcx, [rbp - 0x50]
call fcn.140002f50
nop
lea rdx, [rsp + 0x58]
mov rcx, r13
call fcn.140157db0
nop
lea rcx, [rbp + 0x88]
call fcn.1400068d0
nop
lea rcx, [rbp + 0x68]
call fcn.1400068d0
nop
lea rcx, [rbp + 0x48]
call fcn.1400a3690
nop
lea rcx, [rbp + 0x30]
call fcn.140156f90
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x140158c75
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140158c70
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401593aa
call fcn.1401812c4
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], r14w
jmp 0x140158d59
mov rdx, rsi
lea rcx, [rbp + 0x14c]
call fcn.14002a570
test al, al
je 0x140158d4b
xorps xmm0, xmm0
movdqu xmmword [rbp], xmm0
movdqa xmm1, xmmword [0x1401e5030]
movdqu xmmword [rbp], xmm1
mov word [rbp - 0x10], r14w
lea rax, [rbp + 0x14c]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140158cd0
lea rdx, [rbp + 0x14c]
lea rcx, [rbp - 0x10]
call fcn.140006d70
nop
lea rdx, [rbp - 0x10]
mov rcx, r13
call fcn.140157040
nop
mov rdx, qword [rbp + 8]
cmp rdx, 8
jb 0x140158d39
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140158d34
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401593b0
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rbp], xmm0
mov word [rbp - 0x10], r14w
movzx edi, byte [rbp + 0x3f8]
movzx ebx, byte [rbp + 0x3f0]
lea rdx, [rbp + 0x120]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x14015931c
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rbp + 0x120]
test al, 0x10
je 0x140159132
test dil, dil
jne 0x140158d9b
test al, 2
jne 0x1401592fa
test bl, bl
je 0x1401592fa
lea rdx, [0x1401e5cd0]
lea rcx, [rbp + 0x14c]
call fcn.1400279d0
test eax, eax
je 0x1401592fa
lea rdx, [0x1401e62d8]
lea rcx, [rbp + 0x14c]
call fcn.1400279d0
test eax, eax
je 0x1401592fa
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], r14w
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [r12 + r8*2], 0
jne 0x140158e00
mov rdx, r12
lea rcx, [rbp - 0x30]
call fcn.140006d70
nop
lea rcx, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x20]
cmp word [rcx + rax*2 - 2], 0x5c
je 0x140158e48
mov r8d, 1
lea rdx, [0x1401e62c8]
lea rcx, [rbp - 0x30]
call fcn.140006aa0
lea rax, [rbp + 0x14c]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140158e60
lea rdx, [rbp + 0x14c]
lea rcx, [rbp - 0x30]
call fcn.140006aa0
mov r8d, 1
lea rdx, [0x1401e62c8]
lea rcx, [rbp - 0x30]
call fcn.140006aa0
mov qword [rbp + 0x108], r14
mov qword [rbp + 0x110], r14
mov qword [rbp + 0x108], r14
mov qword [rbp + 0x110], 7
mov word [rbp + 0xf8], r14w
lea rax, [rbp + 0x14c]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140158ed0
lea rdx, [rbp + 0x14c]
lea rcx, [rbp + 0xf8]
call fcn.140006d70
nop
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], r14
mov qword [rbp + 0x48], r14
movdqa xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], r13
mov qword [rbp + 0x78], r14
mov qword [rbp + 0x80], r14
lea r14, [rbp + 0xf8]
mov rdi, qword [rbp + 0xf8]
mov r15, qword [rbp + 0x110]
cmp r15, 8
cmovae r14, rdi
mov rsi, qword [rbp + 0x108]
cmp rsi, 8
jae 0x140158f52
movups xmm0, xmmword [r14]
movups xmmword [rbp + 0x68], xmm0
mov qword [rbp + 0x80], 7
jmp 0x140158f9c
mov rbx, rsi
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rbp + 0x68]
call fcn.1400069a0
mov qword [rbp + 0x68], rax
lea r8, [rsi*2 + 2]
mov rdx, r14
mov rcx, rax
call fcn.14019f8d0
mov qword [rbp + 0x80], rbx
movzx ebx, byte [rbp + 0x3f0]
mov qword [rbp + 0x78], rsi
xor r14d, r14d
mov qword [rbp + 0x98], r14
mov qword [rbp + 0xa0], r14
mov qword [rbp + 0x98], r14
mov qword [rbp + 0xa0], 7
mov word [rbp + 0x88], r14w
cmp r15, 8
jb 0x140159006
lea rdx, [r15*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140158ffe
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401593b6
mov rcx, rdi
call fcn.1401812c4
mov qword [rbp + 0x108], r14
mov qword [rbp + 0x110], 7
mov word [rbp + 0xf8], r14w
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rdx, qword [rbp - 0x30]
movzx edi, byte [rbp + 0x3f8]
mov byte [rsp + 0x28], dil
mov byte [rsp + 0x20], bl
lea r9, [rbp + 0x30]
mov rsi, qword [rsp + 0x30]
mov r8, rsi
mov rcx, qword [rsp + 0x40]
call fcn.140158720
lea rax, [rsp + 0x58]
mov qword [rsp + 0x48], rax
lea rdx, [rbp + 0x30]
lea rcx, [rsp + 0x58]
call fcn.140156990
nop
lea rdx, [rbp + 0x48]
lea rcx, [rsp + 0x70]
call fcn.1401568e0
nop
mov rax, qword [rbp + 0x60]
mov qword [rbp - 0x78], rax
lea rdx, [rbp + 0x68]
lea rcx, [rbp - 0x70]
call fcn.140002f50
nop
lea rdx, [rbp + 0x88]
lea rcx, [rbp - 0x50]
call fcn.140002f50
nop
lea rdx, [rsp + 0x58]
mov rcx, r13
call fcn.140157db0
nop
lea rcx, [rbp + 0x88]
call fcn.1400068d0
nop
lea rcx, [rbp + 0x68]
call fcn.1400068d0
nop
lea rcx, [rbp + 0x48]
call fcn.1400a3690
nop
lea rcx, [rbp + 0x30]
call fcn.140156f90
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x14015911c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140159117
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401593bc
call fcn.1401812c4
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], r14w
jmp 0x1401592fa
mov rdx, rsi
lea rcx, [rbp + 0x14c]
call fcn.14002a570
test al, al
je 0x1401592fa
mov qword [rbp], r14
mov qword [rbp + 8], r14
mov qword [rbp], r14
mov qword [rbp + 8], 7
mov word [rbp - 0x10], r14w
lea rax, [rbp + 0x14c]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x140159170
lea rdx, [rbp + 0x14c]
lea rcx, [rbp - 0x10]
call fcn.140006d70
nop
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0xc8], r14
mov qword [rbp + 0xd0], r14
lea r14, [rbp - 0x10]
mov rdi, qword [rbp - 0x10]
mov r15, qword [rbp + 8]
cmp r15, 8
cmovae r14, rdi
mov rsi, qword [rbp]
cmp rsi, 8
jae 0x1401591d7
movups xmm0, xmmword [r14]
movups xmmword [rbp + 0xb8], xmm0
mov qword [rbp + 0xd0], 7
jmp 0x140159220
mov rbx, rsi
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rbp + 0xb8]
call fcn.1400069a0
mov qword [rbp + 0xb8], rax
lea r8, [rsi*2 + 2]
mov rdx, r14
mov rcx, rax
call fcn.14019f8d0
mov qword [rbp + 0xd0], rbx
mov qword [rbp + 0xc8], rsi
lea rcx, [r13 + 0x18]
mov rdx, qword [rcx + 8]
cmp qword [rcx + 0x10], rdx
je 0x140159286
mov qword [rsp + 0x48], rdx
mov rax, qword [rbp + 0xb0]
mov qword [rdx], rax
xor r14d, r14d
mov qword [rdx + 0x18], r14
mov qword [rdx + 0x20], r14
movups xmm0, xmmword [rbp + 0xb8]
movups xmmword [rdx + 8], xmm0
movups xmm1, xmmword [rbp + 0xc8]
movups xmmword [rdx + 0x18], xmm1
mov qword [rbp + 0xc8], r14
mov qword [rbp + 0xd0], 7
mov word [rbp + 0xb8], r14w
add qword [rcx + 8], 0x28
jmp 0x140159295
lea r8, [rbp + 0xb0]
call fcn.1401563c0
xor r14d, r14d
lea rcx, [rbp + 0xb8]
call fcn.1400068d0
nop
cmp r15, 8
jb 0x1401592dd
lea rdx, [r15*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1401592d5
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401593c2
mov rcx, rdi
call fcn.1401812c4
mov qword [rbp], r14
mov qword [rbp + 8], 7
mov word [rbp - 0x10], r14w
movzx edi, byte [rbp + 0x3f8]
mov rsi, qword [rsp + 0x30]
lea rdx, [rbp + 0x120]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x14015931c
movzx ebx, byte [rbp + 0x3f0]
jmp 0x140158d80
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 8
jb 0x140159364
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14015935f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140159398
call fcn.1401812c4
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], 7
mov word [rbp + 0x10], r14w
mov rcx, qword [rbp + 0x370]
xor rcx, rsp
call fcn.1401813e0
add rsp, 0x488
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1401a2d8c
int3
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
int3
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
int3
call fcn.1401a2d8c
int3