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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x250]
sub rsp, 0x350
mov qword [rbp - 0x80], 0xfffffffffffffffe
mov qword [rsp + 0x3a8], rbx
mov rax, qword [0x1402a98a8]
xor rax, rsp
mov qword [rbp + 0x240], rax
mov r14, r8
mov qword [rsp + 0x60], r8
mov rdi, rdx
mov rsi, rcx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x20], xmm0
movdqa xmm1, xmmword [0x1401e5030]
movdqu xmmword [rbp - 0x20], xmm1
xor r13d, r13d
mov word [rbp - 0x30], r13w
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rdx + r8*2], r13w
jne 0x140107ab0
lea rcx, [rbp - 0x30]
call fcn.140006d70
nop
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
cmp word [rdi + rcx*2 - 2], 0x5c
je 0x140107aee
mov r8d, 1
lea rdx, [0x1401e62c8]
lea rcx, [rbp - 0x30]
call fcn.140006aa0
mov r8d, 3
lea rdx, [0x1401e62d0]
lea rcx, [rbp - 0x30]
call fcn.140006aa0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r13
lea rcx, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rcx, qword [rbp - 0x30]
lea rdx, [rbp - 0x10]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rbx, rax
mov qword [rsp + 0x78], rax
cmp rbx, 0xffffffffffffffff
je 0x140107d8b
mov ecx, dword [rbp - 0x10]
test cl, 0x10
je 0x140107c9d
test cl, 2
jne 0x140107d76
lea rdx, [0x1401e5cd0]
lea rcx, [rbp + 0x1c]
call fcn.1400279d0
test eax, eax
je 0x140107d76
lea rdx, [0x1401e62d8]
lea rcx, [rbp + 0x1c]
call fcn.1400279d0
test eax, eax
je 0x140107d76
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], r13w
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdi + r8*2], 0
jne 0x140107ba1
mov rdx, rdi
lea rcx, [rbp - 0x50]
call fcn.140006d70
nop
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
cmp word [rdi + rcx*2 - 2], 0x5c
je 0x140107be3
mov r8d, 1
lea rdx, [0x1401e62c8]
lea rcx, [rbp - 0x50]
call fcn.140006aa0
lea rax, [rbp + 0x1c]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x140107bf0
lea rdx, [rbp + 0x1c]
lea rcx, [rbp - 0x50]
call fcn.140006aa0
mov r8d, 1
lea rdx, [0x1401e62c8]
lea rcx, [rbp - 0x50]
call fcn.140006aa0
lea r8, [rbp + 0x1c]
mov rdx, r14
mov rcx, rsi
call fcn.1401041f0
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rdx, qword [rbp - 0x50]
mov r8, rax
mov rcx, rsi
call fcn.140107a40
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x140107c87
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140107c82
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401080cc
call fcn.1401812c4
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], r13w
jmp 0x140107d76
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x58], 7
mov word [rbp - 0x70], r13w
lea rax, [rbp + 0x1c]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x140107cc1
lea rdx, [rbp + 0x1c]
lea rcx, [rbp - 0x70]
call fcn.140006d70
nop
mov rdx, qword [rsp + 0x38]
cmp qword [rsp + 0x40], rdx
je 0x140107d16
mov qword [rdx + 0x10], r13
mov qword [rdx + 0x18], r13
movups xmm0, xmmword [rbp - 0x70]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 0x60]
movups xmmword [rdx + 0x10], xmm1
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x58], 7
mov word [rbp - 0x70], r13w
add qword [rsp + 0x38], 0x20
jmp 0x140107d25
lea r8, [rbp - 0x70]
lea rcx, [rsp + 0x30]
call fcn.140001d70
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x140107d65
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140107d60
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401080d2
call fcn.1401812c4
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x58], 7
mov word [rbp - 0x70], r13w
lea rdx, [rbp - 0x10]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x140107b32
mov r12, r13
mov qword [rsp + 0x50], r13
mov rax, qword [rsp + 0x38]
sub rax, qword [rsp + 0x30]
sar rax, 5
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140107fd3
lea rbx, [rsi + 0x190]
mov qword [rsp + 0x58], rbx
lea rax, [rsi + 0x88]
mov qword [rsp + 0x68], rax
mov r15, r13
mov qword [rsp + 0x48], r13
nop
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x58], 7
mov word [rbp - 0x70], r13w
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdi + r8*2], 0
jne 0x140107df0
mov rdx, rdi
lea rcx, [rbp - 0x70]
call fcn.140006d70
nop
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
cmp word [rdi + rcx*2 - 2], 0x5c
je 0x140107e32
mov r8d, 1
lea rdx, [0x1401e62c8]
lea rcx, [rbp - 0x70]
call fcn.140006aa0
mov r8, qword [rsp + 0x30]
add r8, r15
mov rdx, r8
cmp qword [r8 + 0x18], 8
jb 0x140107e47
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
lea rcx, [rbp - 0x70]
call fcn.140006aa0
mov ecx, 0x20
call fcn.140181288
mov rsi, rax
mov qword [rbp - 0x78], rax
mov r13, qword [rbp - 0x58]
mov r14, qword [rbp - 0x70]
test rax, rax
je 0x140107f0e
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
lea r15, [rbp - 0x70]
cmp r13, 8
cmovae r15, r14
mov r12, qword [rbp - 0x60]
cmp r12, 8
jae 0x140107ebb
movups xmm0, xmmword [r15]
movups xmmword [rax], xmm0
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov r15, qword [rsp + 0x48]
mov r12, qword [rsp + 0x50]
jmp 0x140107f10
mov rbx, r12
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
mov rcx, rsi
call fcn.1400069a0
mov qword [rsi], rax
lea r8, [r12*2 + 2]
mov rdx, r15
mov rcx, rax
call fcn.14019f8d0
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], rbx
mov rbx, qword [rsp + 0x58]
mov r15, qword [rsp + 0x48]
mov r12, qword [rsp + 0x50]
jmp 0x140107f10
xor esi, esi
mov qword [rsp + 0x48], rsi
mov rdx, qword [rbx + 8]
cmp qword [rbx + 0x10], rdx
je 0x140107f29
mov qword [rdx], rsi
add qword [rbx + 8], 8
jmp 0x140107f36
lea r8, [rsp + 0x48]
mov rcx, rbx
call fcn.14001c1e0
mov rdx, qword [rsp + 0x30]
add rdx, r15
cmp qword [rdx + 0x18], 8
jb 0x140107f48
mov rdx, qword [rdx]
mov qword [rsp + 0x20], rsi
mov r9d, 5
mov r8, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
call fcn.140127000
nop
cmp r13, 8
jb 0x140107f9e
lea rdx, [r13*2 + 2]
mov rax, r14
cmp rdx, 0x1000
jb 0x140107f96
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401080de
mov rcx, r14
call fcn.1401812c4
xor r13d, r13d
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x58], 7
mov word [rbp - 0x70], r13w
inc r12
mov qword [rsp + 0x50], r12
add r15, 0x20
mov qword [rsp + 0x48], r15
cmp r12, qword [rsp + 0x70]
jb 0x140107dd0
mov rbx, qword [rsp + 0x78]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x14010804e
mov rdi, qword [rsp + 0x38]
cmp rbx, rdi
je 0x140108007
mov rcx, rbx
call fcn.1400068d0
add rbx, 0x20
cmp rbx, rdi
jne 0x140107ff1
mov rbx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x40]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x140108038
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401080d8
mov rcx, rbx
call fcn.1401812c4
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r13
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x14010808a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140108085
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401080c6
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x30], r13w
mov rcx, qword [rbp + 0x240]
xor rcx, rsp
call fcn.1401813e0
mov rbx, qword [rsp + 0x3a8]
add rsp, 0x350
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
int3