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

Disassembly:
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x1f0]
sub rsp, 0x2f0
mov qword [rbp - 0x78], 0xfffffffffffffffe
mov qword [rsp + 0x328], rbx
mov rax, qword [0x14026fdb0]
xor rax, rsp
mov qword [rbp + 0x1e0], rax
mov edi, r8d
mov dword [rsp + 0x50], r8d
mov qword [rsp + 0x48], rdx
mov rsi, rcx
mov qword [rsp + 0x60], rcx
xor r8d, r8d
lea rdx, str.Tool_FindAllFilesInFolder
lea rcx, [rsp + 0x70]
call fcn.140001190
nop
mov dword [rsp + 0x20], edi
mov r9, rsi
lea r8, str.lpszDirectory___s__bFindSubDirectory___d
mov edx, 1
lea rcx, [rsp + 0x70]
call fcn.140001370
xor eax, eax
mov edi, eax
mov dword [rsp + 0x38], eax
test rsi, rsi
je 0x140033fa3
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.1400054e0
nop
mov edx, 0x5c
mov rcx, qword [rsp + 0x40]
call fcn.14019a074
mov rdx, rax
mov rax, qword [rsp + 0x40]
or rbx, 0xffffffffffffffff
test rdx, rdx
jne 0x140033cce
mov edx, ebx
jmp 0x140033cd4
sub rdx, rax
sar rdx, 1
mov ecx, dword [rax - 0x10]
dec ecx
cmp edx, ecx
je 0x140033cf4
mov r8d, 1
lea rdx, [0x14021d21c]
lea rcx, [rsp + 0x40]
call fcn.14000bed0
mov r8d, 3
lea rdx, [0x1402224c8]
lea rcx, [rsp + 0x40]
call fcn.14000bed0
xor edx, edx
mov r8d, 0x250
lea rcx, [rbp - 0x70]
call fcn.14019d7c0
lea rdx, [rbp - 0x70]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov qword [rbp - 0x80], rax
cmp rax, 0xffffffffffffffff
je 0x140033f82
mov dword [rsp + 0x38], 1
call fcn.140056384
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
je 0x140033f77
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
test rsi, 0xffffffffffff0000
jne 0x140033d92
movzx edi, si
mov ecx, edi
call fcn.140056158
test rax, rax
je 0x140033db2
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140005730
jmp 0x140033db2
xor eax, eax
mov rcx, rbx
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.1400059f0
nop
xor eax, eax
mov rcx, rbx
lea rdi, [rbp - 0x44]
repne scasw ax, word [rdi]
not rcx
dec rcx
lea rax, [rbp - 0x44]
mov qword [rsp + 0x68], rax
lea rsi, [rbp - 0x44]
mov rax, qword [rsp + 0x30]
sub rsi, rax
sar rsi, 1
mov ebx, dword [rax - 0x10]
xor edi, edi
mov eax, edi
test ecx, ecx
setns al
test eax, eax
je 0x140033f6c
movsxd rdx, ecx
lea rcx, [rbp - 0x44]
call fcn.140199d34
mov r8, rax
mov qword [rsp + 0x58], rax
mov eax, 0x7fffffff
sub eax, r8d
mov ecx, edi
cmp eax, ebx
setge cl
test ecx, ecx
je 0x140033f61
lea edi, [rbx + r8]
test edi, edi
js 0x140033f56
mov rax, qword [rsp + 0x30]
mov edx, 1
sub edx, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, edi
or ecx, edx
jge 0x140033e53
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.140005ae0
mov rax, qword [rsp + 0x30]
mov r8, qword [rsp + 0x58]
cmp rsi, rbx
lea r10, [rax + rsi*2]
jbe 0x140033e61
mov r10, qword [rsp + 0x68]
movsxd rdx, r8d
add rdx, rdx
lea rcx, [rax + rbx*2]
mov r9, rdx
mov r8, r10
call fcn.140199918
mov rdx, qword [rsp + 0x30]
cmp edi, dword [rdx - 0xc]
jg 0x140033f4b
mov dword [rdx - 0x10], edi
movsxd rcx, edi
mov rax, qword [rsp + 0x30]
xor edx, edx
mov word [rax + rcx*2], dx
mov edi, dword [rsp + 0x50]
test edi, edi
je 0x140033ee2
test byte [rbp - 0x70], 0x10
je 0x140033ee2
lea rdx, [0x14021dab4]
lea rcx, [rbp - 0x44]
call fcn.140199570
test eax, eax
je 0x140033ee2
lea rdx, [0x14021fe4c]
lea rcx, [rbp - 0x44]
call fcn.140199570
test eax, eax
je 0x140033ee2
mov r8d, edi
mov rdi, qword [rsp + 0x48]
mov rdx, rdi
mov rcx, qword [rsp + 0x30]
call fcn.140033c10
jmp 0x140033ee7
mov rdi, qword [rsp + 0x48]
test byte [rbp - 0x70], 0x10
jne 0x140033eff
lea r8, [rsp + 0x30]
mov rdx, qword [rdi + 0x10]
mov rcx, rdi
call fcn.140059134
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
or rbx, 0xffffffffffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140033f22
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, [rbp - 0x70]
mov rdi, qword [rbp - 0x80]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
mov rsi, qword [rsp + 0x60]
jne 0x140033d41
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x140033f82
mov ecx, 0x80070057
call fcn.140004550
int3
mov ecx, 0x80070057
call fcn.140004550
int3
mov ecx, 0x80070057
call fcn.140004550
int3
mov ecx, 0x80070057
call fcn.140004550
nop
mov ecx, 0x80004005
call fcn.140004550
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140033f9f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edi, dword [rsp + 0x38]
mov r9d, edi
lea r8, str.return___08x
mov edx, 2
lea rcx, [rsp + 0x70]
call fcn.140001370
nop
lea rcx, [rsp + 0x70]
call fcn.140001320
mov eax, edi
mov rcx, qword [rbp + 0x1e0]
xor rcx, rsp
call fcn.140198b40
mov rbx, qword [rsp + 0x328]
add rsp, 0x2f0
pop rdi
pop rsi
pop rbp
ret