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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x290
mov rax, qword [0x14005b080]
xor rax, rsp
mov qword [rsp + 0x280], rax
mov rsi, rcx
xor edx, edx
mov rcx, qword [0x140060380]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x140021297
nop
mov rcx, qword [0x140060338]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x140021360
lea rcx, [0x140060340]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
movsxd rdx, dword [0x14006037c]
lea rcx, [0x140060340]
mov rax, qword [0x140060370]
mov rbx, qword [rax + rdx*8]
lea eax, [rdx + 1]
cdq
idiv dword [0x140060368]
mov dword [0x14006037c], edx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [0x140060330]
xor r8d, r8d
lea edx, [r8 + 1]
call qword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
test rbx, rbx
je 0x140021360
mov rcx, qword [0x140060328]
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140021210
lea rcx, [0x140060390]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor r8d, r8d
test rsi, rsi
je 0x140021316
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [rax*2 + 2]
movsxd rdi, eax
nop
mov rcx, qword [0x140060328]
lea r8, [rdi + 0x40]
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r8, rax
test rax, rax
je 0x1400212c0
mov dword [rsp + 0x20], 0
movsxd rcx, dword [rsp + 0x20]
cmp rcx, rdi
jae 0x140021316
movsxd rdx, dword [rsp + 0x20]
movsxd rcx, dword [rsp + 0x20]
movzx eax, byte [rdx + rsi]
mov byte [rcx + r8], al
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
movsxd rax, dword [rsp + 0x20]
cmp rax, rdi
jb 0x1400212f0
movsxd rdx, dword [0x1400603c8]
lea rcx, [0x140060390]
mov rax, qword [0x1400603c0]
mov qword [rax + rdx*8], r8
mov eax, dword [0x1400603c8]
inc eax
cdq
idiv dword [0x1400603b8]
mov dword [0x1400603c8], edx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [0x140060388]
xor r8d, r8d
lea edx, [r8 + 1]
call qword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
nop
mov rcx, qword [0x140060328]
mov edx, 8
mov r8d, 0x10040
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
je 0x140021360
mov rdx, rsi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, [0x140053498]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x140021415
test byte [rsp + 0x30], 0x10
je 0x1400213fa
lea rcx, [rsp + 0x5c]
call fcn.14001f6e0
test eax, eax
je 0x1400213fa
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, [0x14005349c]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, [rsp + 0x5c]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov rcx, rbx
call fcn.1400211d0
lea rdx, [rsp + 0x30]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x1400213b3
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rcx, qword [0x140060328]
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.14002a2c0
lea r11, [rsp + 0x290]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret