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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1e0]
sub rsp, 0x2e0
mov rax, qword [0x1404e1800]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
mov rbx, r8
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rcx
xor r15d, r15d
xor r12d, r12d
mov qword [rsp + 0x78], rbx
xor edx, edx
mov qword [rsp + 0x40], r15
mov r8d, 0x250
mov qword [rsp + 0x50], r12
lea rcx, [rbp - 0x80]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rcx, qword [rsp + 0x68]
xor edi, edi
or qword [rsp + 0x70], 0xffffffffffffffff
xor esi, esi
xor r13d, r13d
mov qword [rsp + 0x38], rdi
xor r14d, r14d
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x48], r14
test rcx, rcx
je 0x140313f31
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x140313f31
test rbx, rbx
je 0x140313ccc
mov rdx, rbx
call fcn.1403139dc
mov ebx, eax
test eax, eax
jns 0x140313ca1
mov edx, eax
jmp 0x140313f38
mov rdx, qword [rsp + 0x78]
lea r8, [rsp + 0x40]
mov rcx, qword [rsp + 0x60]
call fcn.140314788
mov ebx, eax
test eax, eax
jns 0x140313cde
mov edx, eax
call fcn.1403489e4
mov r15, qword [rsp + 0x40]
jmp 0x140313f3d
xor r8d, r8d
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.140314134
jmp 0x140313cb5
mov r15, qword [rsp + 0x40]
lea r8, [rsp + 0x50]
mov rcx, r15
lea rdx, [0x1403bb73c]
call fcn.140314788
mov ebx, eax
test eax, eax
jns 0x140313d0e
mov edx, eax
call fcn.1403489e4
mov r12, qword [rsp + 0x50]
jmp 0x140313f3d
mov r12, qword [rsp + 0x50]
lea rdx, [0x1403ade78]
mov rcx, r12
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
jne 0x140313d2b
mov r13, r12
jmp 0x140313d5b
lea r8, [rsp + 0x58]
mov rdx, r12
lea rcx, [0x1403ade78]
call fcn.140314788
mov ebx, eax
test eax, eax
jns 0x140313d56
mov edx, eax
call fcn.1403489e4
mov r13, qword [rsp + 0x58]
jmp 0x140313f3d
mov r13, qword [rsp + 0x58]
lea rdx, [rbp - 0x80]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
nop dword [rax + rax]
mov qword [rsp + 0x70], rax
cmp rax, 0xffffffffffffffff
jne 0x140313d9d
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jle 0x140313f36
movzx ebx, ax
or ebx, 0x80070000
jmp 0x140313f36
lea rdx, [0x1403a9f84]
lea rcx, [rbp - 0x54]
call fcn.1403141fc
test eax, eax
jne 0x140313eea
lea rdx, [0x1403a9cb0]
lea rcx, [rbp - 0x54]
call fcn.1403141fc
test eax, eax
jne 0x140313eea
lea rdx, [0x1403e7168]
lea rcx, [rbp - 0x54]
call fcn.1403141fc
test eax, eax
jne 0x140313eea
lea r8, [rsp + 0x38]
mov rcx, r15
lea rdx, [rbp - 0x54]
call fcn.140314788
mov ebx, eax
test eax, eax
js 0x140313e55
mov rcx, qword [rsp + 0x78]
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x54]
call fcn.140314788
mov ebx, eax
test eax, eax
js 0x140313f1e
test byte [rbp - 0x80], 0x10
mov rdi, qword [rsp + 0x38]
je 0x140313e66
mov rsi, qword [rsp + 0x30]
lea r9, [0x1403bb73c]
mov rdx, qword [rsp + 0x60]
mov eax, 1
mov rcx, qword [rsp + 0x68]
mov r8, rsi
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
call fcn.140313be4
mov ebx, eax
test eax, eax
jns 0x140313ebc
mov edx, eax
call fcn.1403489e4
mov rdi, qword [rsp + 0x38]
jmp 0x140313f3d
lea rdx, [0x1403ade78]
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
jne 0x140313e7e
mov r14, rdi
jmp 0x140313e9d
lea r8, [rsp + 0x48]
mov rdx, rdi
lea rcx, [0x1403ade78]
call fcn.140314788
mov ebx, eax
test eax, eax
js 0x140313f0b
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x30]
mov rdx, r14
mov rcx, qword [rsp + 0x68]
mov r8, rsi
call fcn.140313aac
mov ebx, eax
test eax, eax
js 0x140313c9a
mov rcx, rdi
call fcn.140113400
mov rcx, rsi
call fcn.140113400
mov rcx, r14
call fcn.140113400
xor edi, edi
xor esi, esi
xor r14d, r14d
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x30], rsi
mov rcx, qword [rsp + 0x70]
lea rdx, [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
nop dword [rax + rax]
test eax, eax
jne 0x140313d9d
xor ebx, ebx
jmp 0x140313f3d
mov edx, eax
call fcn.1403489e4
mov rsi, qword [rsp + 0x30]
mov r14, qword [rsp + 0x48]
jmp 0x140313f3d
mov edx, eax
call fcn.1403489e4
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
jmp 0x140313f3d
mov ebx, 0x80070057
mov edx, ebx
call fcn.1403489e4
mov rcx, r15
call fcn.140113400
mov rcx, r12
call fcn.140113400
mov rcx, r13
call fcn.140113400
mov rcx, rdi
call fcn.140113400
mov rcx, rsi
call fcn.140113400
mov rcx, r14
call fcn.140113400
mov rax, qword [rsp + 0x70]
cmp rax, 0xffffffffffffffff
je 0x140313f87
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindClose]
nop dword [rax + rax]
mov eax, ebx
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.140112420
mov rbx, qword [rsp + 0x338]
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret