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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x700
mov rax, qword [0x140070070]
xor rax, rsp
mov qword [rsp + 0x6f0], rax
mov rdi, rcx
mov r13, qword [rsp + 0x750]
mov r12, qword [rsp + 0x758]
xor esi, esi
cmp dword [0x140073334], esi
jne 0x14001647c
call fcn.140032038
mov r14, rax
test rdi, rdi
je 0x14001647c
test rax, rax
je 0x14001647c
test r13, r13
je 0x14001647c
mov r8, rdi
mov edx, 0x7fffffff
lea rcx, [rsp + 0x68]
call fcn.140025498
mov rbx, qword [rsp + 0x68]
mov r8, rbx
lea rdx, str._r_n_s_r_n_r_n
mov rcx, qword [r13 + 8]
call fcn.140016d7c
lea rdx, [rbx - 0x18]
or rbx, 0xffffffffffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x140016051
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, rdi
lea rcx, [rsp + 0x4e0]
call fcn.140040d50
mov eax, 0x5c
cmp word [rdi + r14*2 - 2], ax
je 0x140016082
lea rdx, [0x140061004]
lea rcx, [rsp + 0x4e0]
call fcn.140040d6c
lea rdx, [0x14006195c]
lea rcx, [rsp + 0x4e0]
call fcn.140040d6c
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x4e0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov r15, rax
cmp rax, rbx
jne 0x1400160c2
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x14001647c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
mov ecx, 0x18
call fcn.14002be78
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x48], rax
mov ecx, esi
test ecx, ecx
jne 0x1400163b3
cmp dword [0x140073334], esi
jne 0x1400163b3
mov rdx, rdi
lea rcx, [rsp + 0x2d0]
call fcn.140040d50
mov eax, 0x5c
cmp word [rdi + r14*2 - 2], ax
je 0x140016128
lea rdx, [0x140061004]
lea rcx, [rsp + 0x2d0]
call fcn.140040d6c
lea rdx, [rsp + 0xac]
lea rcx, [rsp + 0x2d0]
call fcn.140040d6c
test byte [rsp + 0x80], 0x10
je 0x140016391
lea rdx, [0x140060fa0]
lea rcx, [rsp + 0xac]
call fcn.14003f094
test eax, eax
je 0x140016374
lea rdx, [0x140060fa4]
lea rcx, [rsp + 0xac]
call fcn.14003f094
test eax, eax
je 0x140016374
mov rax, qword [r12 + 8]
cmp qword [r12], rax
je 0x1400162d4
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x30]
call fcn.14000d338
nop
mov edx, 0x5c
mov rcx, qword [rsp + 0x30]
call fcn.14002de38
mov rcx, rax
test rax, rax
mov rax, qword [rsp + 0x30]
jne 0x1400161c5
mov ecx, ebx
jmp 0x1400161cb
sub rcx, rax
sar rcx, 1
lea r8d, [rcx + 1]
mov r9d, dword [rax - 0x10]
sub r9d, r8d
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x30]
call fcn.14000da04
nop
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x30]
call fcn.14000d250
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x140016215
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rcx, [rsp + 0x30]
call fcn.14000d1d8
mov rbx, qword [r12]
mov rsi, qword [r12 + 8]
cmp rbx, rsi
je 0x1400162b5
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.14000d3c8
nop
lea rcx, [rsp + 0x40]
call fcn.14000d1d8
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x1400164a9
mov rcx, qword [rsp + 0x30]
call fcn.14003f094
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
test eax, eax
jne 0x140016296
or rbx, 0xffffffffffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
xor esi, esi
test eax, eax
jg 0x14001628c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x30]
jmp 0x14001635a
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400162ac
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
add rbx, 8
jmp 0x140016228
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400162d4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x60]
call fcn.14000d338
nop
mov rsi, qword [rsp + 0x48]
movabs rax, 0xaaaaaaaaaaaaaaa
cmp qword [rsp + 0x50], rax
je 0x1400164b4
lea rax, [rsp + 0x48]
mov qword [rsp + 0x70], rax
and qword [rsp + 0x78], 0
mov ecx, 0x18
call fcn.14002be78
mov rbx, rax
mov qword [rsp + 0x78], rax
lea rcx, [rax + 0x10]
lea rdx, [rsp + 0x60]
call fcn.14000d3c8
nop
inc qword [rsp + 0x50]
mov rax, qword [rsi + 8]
mov qword [rbx], rsi
mov qword [rbx + 8], rax
and qword [rsp + 0x78], 0
mov qword [rsi + 8], rbx
mov qword [rax], rbx
mov rdx, qword [rsp + 0x60]
or rbx, 0xffffffffffffffff
xor esi, esi
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x140016374
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rdx, [rsp + 0x80]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
mov ecx, esi
test eax, eax
sete cl
jmp 0x1400160e3
mov r9, r13
mov r8, qword [rsp + 0x94]
lea rdx, [rsp + 0xac]
lea rcx, [rsp + 0x2d0]
call fcn.1400164d0
jmp 0x140016374
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rdi, qword [rsp + 0x48]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x140016471
lea rdx, [rbx + 0x10]
lea rcx, [rsp + 0x38]
call fcn.14000d3c8
nop
mov rcx, qword [rsp + 0x38]
cmp dword [rcx - 8], 1
jle 0x1400163f9
mov edx, dword [rcx - 0x10]
lea rcx, [rsp + 0x38]
call fcn.140005fc0
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r13
lea r9, [fcn.1400164d0]
mov edx, 1
mov r8d, edx
call fcn.140015f98
mov rcx, qword [rsp + 0x38]
movsxd rdx, dword [rcx - 0xc]
call fcn.140032164
test eax, eax
js 0x1400164c1
mov rcx, qword [rsp + 0x38]
cmp eax, dword [rcx - 0xc]
jg 0x1400164c1
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
mov word [rax + rcx*2], si
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016469
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rbx]
jmp 0x1400163c4
lea rcx, [rsp + 0x48]
call fcn.14000ca94
nop
mov rcx, qword [rsp + 0x6f0]
xor rcx, rsp
call fcn.14002b930
lea r11, [rsp + 0x700]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov ecx, 0x80004005
call fcn.140006280
nop
lea rcx, str.list_too_long
call fcn.14002b8c4
nop
mov ecx, 0x80070057
call fcn.140006280
int3