Function at 0x140005e00
Capabilities:
Check if file exists
Enumerate files on windows
Enumerate files recursively

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
mov eax, 0x84c0
call fcn.140021230
sub rsp, rax
mov rax, qword [0x1401507e0]
xor rax, rsp
mov qword [rsp + 0x84b0], rax
mov qword [rsp + 0x38], rcx
mov ebx, r8d
mov qword [rsp + 0x30], rdx
lea rcx, [rsp + 0x1a1]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x1a0], 0
call fcn.140013580
lea rcx, [rsp + 0x2b1]
xor edx, edx
mov r8d, 0x40ff
mov byte [rsp + 0x2b0], 0
call fcn.140013580
lea rcx, [rsp + 0x43b1]
xor edx, edx
mov r8d, 0x40ff
mov byte [rsp + 0x43b0], 0
call fcn.140013580
mov r8, qword [rsp + 0x38]
or rcx, 0xffffffffffffffff
xor edx, edx
xor eax, eax
mov rdi, r8
repne scasb al, byte [rdi]
mov ebp, edx
mov esi, edx
not rcx
mov dword [rsp + 0x20], edx
dec rcx
mov rdi, rcx
mov qword [rsp + 0x50], rcx
test r8, r8
je 0x140006275
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x140006275
test rcx, rcx
je 0x140006275
lea rcx, [rsp + 0x1a0]
mov byte [rax], dl
mov rdx, r8
sub rcx, r8
nop word [rax + rax]
movzx eax, byte [rdx]
inc rdx
mov byte [rcx + rdx - 1], al
test al, al
jne 0x140005ef0
cmp byte [rsp + rdi + 0x19f], 0x5c
je 0x140005f23
xor eax, eax
lea rdi, [rsp + 0x1a0]
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
movzx eax, word [0x14002267c]
mov word [rdi - 1], ax
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x1a0]
repne scasb al, byte [rdi]
mov eax, dword [0x140022680]
lea rcx, [rsp + 0x60]
xor edx, edx
mov r8d, 0x140
mov dword [rdi - 1], eax
call fcn.140013580
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov qword [rsp + 0x28], rax
cmp rax, 0xffffffffffffffff
je 0x140006275
mov rdi, qword [rsp + 0x28]
lea rax, [rsp + 0x43b0]
dec rax
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x2b0]
dec rax
mov qword [rsp + 0x48], rax
test byte [rsp + 0x60], 6
jne 0x14000619a
cmp byte [rsp + 0x8c], 0x2e
je 0x14000619a
lea rcx, [rsp + 0x8c]
call fcn.140005660
test eax, eax
jne 0x14000619a
test byte [rsp + 0x60], 0x10
je 0x140006083
test ebx, ebx
je 0x140006083
mov rdx, qword [rsp + 0x38]
movsxd rdi, ebp
mov rax, rdi
mov rcx, rdx
imul rax, rax, 0x104
sub rax, rdx
lea rdx, [rsp + rax + 0x2b0]
nop word [rax + rax]
movzx eax, byte [rcx]
inc rcx
mov byte [rdx + rcx - 1], al
test al, al
jne 0x140006000
mov r8, qword [rsp + 0x48]
imul rdi, rdi, 0x104
or rcx, 0xffffffffffffffff
lea rdx, [rsp + rdi + 0x2b0]
xor eax, eax
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
cmp byte [rcx + r8 - 1], 0x5c
je 0x14000604c
mov rdi, rdx
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
movzx eax, word [0x14002267c]
mov word [rdi - 1], ax
mov rdi, rdx
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor ecx, ecx
lea rdx, [rsp + 0x8c]
movzx eax, byte [rdx + rcx]
inc rcx
mov byte [rdi + rcx - 2], al
test al, al
jne 0x140006061
inc ebp
add r8, 0x104
mov qword [rsp + 0x48], r8
jmp 0x140006195
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x8c]
repne scasb al, byte [rdi]
not rcx
lea eax, [rcx - 6]
lea r8, [rcx - 1]
cmp eax, 0xf
ja 0x140006195
mov rcx, qword [rsp + 0x38]
movsxd rdi, esi
mov rax, rdi
mov rdx, rcx
imul rax, rax, 0x104
sub rax, rcx
lea rcx, [rsp + rax + 0x43b0]
nop word [rax + rax]
movzx eax, byte [rdx]
inc rdx
mov byte [rcx + rdx - 1], al
test al, al
jne 0x1400060d0
imul rdi, rdi, 0x104
xor eax, eax
or rcx, 0xffffffffffffffff
lea rsi, [rsp + rdi + 0x43b0]
mov rdi, rsi
repne scasb al, byte [rdi]
mov rax, qword [rsp + 0x40]
not rcx
cmp byte [rcx + rax - 1], 0x5c
je 0x14000611d
xor eax, eax
mov rdi, rsi
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
movzx eax, word [0x14002267c]
mov word [rdi - 1], ax
movsxd rcx, r8d
mov rdi, rsi
mov eax, dword [rsp + rcx + 0x88]
mov dword [rsp + rcx + 0x87], eax
mov byte [rsp + rcx + 0x8b], 0
or rcx, 0xffffffffffffffff
xor eax, eax
repne scasb al, byte [rdi]
lea rcx, [rsp + 0x8c]
xor edx, edx
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
inc rdx
mov byte [rdi + rdx - 2], al
test al, al
jne 0x140006150
mov rcx, rsi
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x140006182
xor edx, edx
mov r8d, 0x104
mov rcx, rsi
call fcn.140013580
mov esi, dword [rsp + 0x20]
jmp 0x140006195
mov esi, dword [rsp + 0x20]
inc esi
add qword [rsp + 0x40], 0x104
mov dword [rsp + 0x20], esi
mov rdi, qword [rsp + 0x28]
lea rdx, [rsp + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x1400061ba
cmp ebp, 0x40
jge 0x1400061ba
cmp esi, 0x40
jl 0x140005f95
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
test ebp, ebp
jne 0x1400061cf
test esi, esi
je 0x140006275
test ebx, ebx
je 0x14000629a
test ebp, ebp
je 0x14000629a
call fcn.140013e44
mov rdx, qword [rsp + 0x50]
movsxd rcx, ebp
cdqe
add rax, rdx
xor edx, edx
div rcx
cmp edx, ebp
mov rsi, rdx
mov edi, edx
jge 0x140006235
nop
lea r8d, [rbx - 1]
test ebx, ebx
jne 0x14000620b
mov r8d, ebx
mov rdx, qword [rsp + 0x30]
movsxd rax, edi
imul rax, rax, 0x104
lea rcx, [rsp + rax + 0x2b0]
call fcn.140005e00
test eax, eax
jne 0x140006300
inc edi
cmp edi, ebp
jl 0x140006200
test esi, esi
jle 0x140006275
xor edi, edi
nop dword [rax + rax]
lea r8d, [rbx - 1]
test ebx, ebx
jne 0x14000624b
mov r8d, ebx
mov rdx, qword [rsp + 0x30]
movsxd rax, edi
imul rax, rax, 0x104
lea rcx, [rsp + rax + 0x2b0]
call fcn.140005e00
test eax, eax
jne 0x140006300
inc edi
cmp edi, esi
jl 0x140006240
xor eax, eax
mov rcx, qword [rsp + 0x84b0]
xor rcx, rsp
call fcn.140013680
mov rbx, qword [rsp + 0x84f8]
add rsp, 0x84c0
pop rdi
pop rsi
pop rbp
ret
test esi, esi
je 0x140006275
call fcn.140013e44
mov rdx, qword [rsp + 0x50]
movsxd r8, esi
movsxd rdi, eax
add rdi, rdx
xor edx, edx
mov rax, rdi
div r8
mov rax, rdi
movsxd rcx, edx
xor edx, edx
div r8
lea rax, [rsp + 0x43b0]
imul rcx, rcx, 0x104
lea r9, [rsp + rcx + 0x43b0]
mov rcx, qword [rsp + 0x30]
imul rdx, rdx, 0x104
sub rcx, rdx
sub rcx, rax
nop dword [rax]
movzx eax, byte [r9]
inc r9
mov byte [rcx + r9 - 1], al
test al, al
jne 0x1400062f0
mov eax, 1
jmp 0x140006277