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

Disassembly:
push rbp
push rsi
sub rsp, 0x2f8
mov rax, qword [0x14012df80]
xor rax, rsp
mov qword [rsp + 0x2d0], rax
cmp qword [rcx + 8], 0
mov rax, qword [rsp + 0x330]
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x340]
mov rbp, r8
mov rsi, rdx
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], 0
jne 0x14005d662
xor eax, eax
jmp 0x14005dd62
test rdx, rdx
mov qword [rsp + 0x2f0], rbx
mov qword [rsp + 0x2e8], rdi
je 0x14005d6b5
mov rax, rdx
mov ecx, 0x7fffffff
xor edx, edx
cmp word [rax], dx
je 0x14005d699
add rax, 2
sub rcx, 1
jne 0x14005d681
mov edx, 0x80070057
xor eax, eax
jmp 0x14005d6af
test rcx, rcx
jne 0x14005d6a7
mov edx, 0x80070057
xor eax, eax
jmp 0x14005d6af
mov eax, 0x7fffffff
sub rax, rcx
test edx, edx
jns 0x14005d6bc
jmp 0x14005d6ba
mov edx, 0x80070057
xor eax, eax
xor r8d, r8d
test edx, edx
cmovns r8, rax
add r8, 1
test rbp, rbp
je 0x14005d71f
mov ecx, 0x7fffffff
mov rax, rbp
xor r9d, r9d
nop
nop
cmp word [rax], r9w
je 0x14005d6fa
add rax, 2
sub rcx, 1
jne 0x14005d6e0
xor edx, edx
mov r9d, 0x80070057
jmp 0x14005d711
test rcx, rcx
jne 0x14005d709
xor edx, edx
mov r9d, 0x80070057
jmp 0x14005d711
mov edx, 0x7fffffff
sub rdx, rcx
xor eax, eax
test r9d, r9d
cmovns rax, rdx
lea r8, [r8 + rax + 1]
mov ecx, 0x7fffffff
lea rax, [0x1400fb380]
xor r9d, r9d
nop
cmp word [rax], r9w
je 0x14005d74a
add rax, 2
sub rcx, 1
jne 0x14005d730
xor edx, edx
mov r9d, 0x80070057
jmp 0x14005d761
test rcx, rcx
jne 0x14005d759
xor edx, edx
mov r9d, 0x80070057
jmp 0x14005d761
mov edx, 0x7fffffff
sub rdx, rcx
xor eax, eax
test r9d, r9d
mov rcx, 0xffffffffffffffff
cmovns rax, rdx
lea rbx, [r8 + rax + 1]
mov eax, 2
mul rbx
cmovo rax, rcx
mov rcx, rax
call fcn.1400913a4
test rbx, rbx
mov rdi, rax
mov qword [rsp + 0x78], rax
je 0x14005d7e1
cmp rbx, 0x7fffffff
ja 0x14005d7e1
mov edx, 0x7ffffffe
mov r8, rsi
mov rcx, rax
sub rdx, rbx
sub r8, rax
lea rax, [rdx + rbx]
test rax, rax
je 0x14005d7d3
movzx eax, word [r8 + rcx]
test ax, ax
je 0x14005d7d3
mov word [rcx], ax
add rcx, 2
sub rbx, 1
jne 0x14005d7b1
jmp 0x14005d7d8
test rbx, rbx
jne 0x14005d7dc
sub rcx, 2
mov word [rcx], 0
test rbp, rbp
je 0x14005d7f1
mov rdx, rbp
mov rcx, rdi
call fcn.1400202c0
lea rdx, [0x1400fb380]
mov rcx, rdi
call fcn.1400202c0
lea rdx, [rsp + 0x80]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp rax, 0xffffffffffffffff
mov qword [rsp + 0x50], rax
je 0x14005dd45
mov ebx, dword [rsp + 0x338]
mov rdi, rax
nop
nop
test byte [rsp + 0x80], 0x10
je 0x14005db3a
test bl, 1
je 0x14005dd1e
lea rdx, [0x1400fc3b0]
lea rcx, [rsp + 0xac]
call fcn.1400cdd20
test eax, eax
je 0x14005dd1e
lea rdx, [0x1400fc3b4]
lea rcx, [rsp + 0xac]
call fcn.1400cdd20
test eax, eax
je 0x14005dd1e
xor r8d, r8d
test rbp, rbp
je 0x14005d8c9
mov ecx, 0x7fffffff
mov rax, rbp
xor edx, edx
cmp word [rax], dx
je 0x14005d8a9
add rax, 2
sub rcx, 1
jne 0x14005d891
mov edx, 0x80070057
xor eax, eax
jmp 0x14005d8bf
test rcx, rcx
jne 0x14005d8b7
mov edx, 0x80070057
xor eax, eax
jmp 0x14005d8bf
mov eax, 0x7fffffff
sub rax, rcx
test edx, edx
cmovns r8, rax
add r8, 1
mov ecx, 0x7fffffff
lea rax, [rsp + 0xac]
xor r9d, r9d
nop
nop
cmp word [rax], r9w
je 0x14005d8fa
add rax, 2
sub rcx, 1
jne 0x14005d8e0
xor edx, edx
mov r9d, 0x80070057
jmp 0x14005d911
test rcx, rcx
jne 0x14005d909
xor edx, edx
mov r9d, 0x80070057
jmp 0x14005d911
mov edx, 0x7fffffff
sub rdx, rcx
xor eax, eax
test r9d, r9d
mov rdi, 0xffffffffffffffff
cmovns rax, rdx
lea rbx, [r8 + rax + 1]
mov eax, 2
mul rbx
cmovo rax, rdi
mov rcx, rax
call fcn.1400913a4
test rbp, rbp
mov word [rax], 0
mov rsi, rax
je 0x14005d996
test rbx, rbx
je 0x14005d996
cmp rbx, 0x7fffffff
ja 0x14005d996
mov edx, 0x7ffffffe
mov r8, rbp
mov rcx, rax
sub rdx, rbx
sub r8, rax
lea rax, [rdx + rbx]
test rax, rax
je 0x14005d988
movzx eax, word [r8 + rcx]
test ax, ax
je 0x14005d988
mov word [rcx], ax
add rcx, 2
sub rbx, 1
jne 0x14005d966
jmp 0x14005d98d
test rbx, rbx
jne 0x14005d991
sub rcx, 2
mov word [rcx], 0
lea rdx, [rsp + 0xac]
mov rcx, rsi
call fcn.1400202c0
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x14005d9eb
mov ecx, 0x7fffffff
xor edx, edx
cmp word [rax], dx
je 0x14005d9cf
add rax, 2
sub rcx, 1
jne 0x14005d9b7
mov edx, 0x80070057
xor eax, eax
jmp 0x14005d9e5
test rcx, rcx
jne 0x14005d9dd
mov edx, 0x80070057
xor eax, eax
jmp 0x14005d9e5
mov eax, 0x7fffffff
sub rax, rcx
test edx, edx
jns 0x14005d9f2
jmp 0x14005d9f0
mov edx, 0x80070057
xor eax, eax
xor r8d, r8d
test edx, edx
mov ecx, 0x7fffffff
cmovns r8, rax
lea rax, [rsp + 0xac]
xor r9d, r9d
nop
nop
cmp word [rax], r9w
je 0x14005da2a
add rax, 2
sub rcx, 1
jne 0x14005da10
xor edx, edx
mov r9d, 0x80070057
jmp 0x14005da41
test rcx, rcx
jne 0x14005da39
xor edx, edx
mov r9d, 0x80070057
jmp 0x14005da41
mov edx, 0x7fffffff
sub rdx, rcx
xor eax, eax
test r9d, r9d
cmovns rax, rdx
lea rbx, [r8 + rax + 2]
mov eax, 2
mul rbx
cmovo rax, rdi
mov rcx, rax
call fcn.1400913a4
test rbx, rbx
mov rdi, rax
je 0x14005dab7
cmp rbx, 0x7fffffff
ja 0x14005dab7
mov r8, qword [rsp + 0x48]
mov edx, 0x7ffffffe
mov rcx, rax
sub rdx, rbx
sub r8, rax
lea rax, [rdx + rbx]
test rax, rax
je 0x14005daa9
movzx eax, word [r8 + rcx]
test ax, ax
je 0x14005daa9
mov word [rcx], ax
add rcx, 2
sub rbx, 1
jne 0x14005da87
jmp 0x14005daae
test rbx, rbx
jne 0x14005dab2
sub rcx, 2
mov word [rcx], 0
lea rdx, [rsp + 0xac]
mov rcx, rdi
call fcn.1400202c0
mov ecx, dword [rsp + 0x338]
mov edx, dword [rsp + 0x348]
mov r9, qword [rsp + 0x60]
mov dword [rsp + 0x38], edx
mov rdx, qword [rsp + 0x68]
test cl, 2
mov rax, rdi
mov r8, rsi
cmovne rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
call fcn.14005d600
mov rcx, rsi
add qword [rsp + 0x40], rax
call fcn.1400913ac
mov rcx, rdi
call fcn.1400913ac
mov rsi, qword [rsp + 0x68]
mov ebx, dword [rsp + 0x338]
mov rdi, qword [rsp + 0x50]
jmp 0x14005dd1e
test rsi, rsi
je 0x14005db84
mov ecx, 0x7fffffff
mov rax, rsi
xor edx, edx
nop
nop
cmp word [rax], dx
je 0x14005db68
add rax, 2
sub rcx, 1
jne 0x14005db50
mov edx, 0x80070057
xor eax, eax
jmp 0x14005db7e
test rcx, rcx
jne 0x14005db76
mov edx, 0x80070057
xor eax, eax
jmp 0x14005db7e
mov eax, 0x7fffffff
sub rax, rcx
test edx, edx
jns 0x14005db8b
jmp 0x14005db89
mov edx, 0x80070057
xor eax, eax
xor r9d, r9d
test edx, edx
cmovns r9, rax
add r9, 1
test rbp, rbp
je 0x14005dbe7
mov ecx, 0x7fffffff
mov rax, rbp
xor r8d, r8d
cmp word [rax], r8w
je 0x14005dbc2
add rax, 2
sub rcx, 1
jne 0x14005dba8
xor edx, edx
mov r8d, 0x80070057
jmp 0x14005dbd9
test rcx, rcx
jne 0x14005dbd1
xor edx, edx
mov r8d, 0x80070057
jmp 0x14005dbd9
mov edx, 0x7fffffff
sub rdx, rcx
xor eax, eax
test r8d, r8d
cmovns rax, rdx
lea r9, [r9 + rax + 1]
mov ecx, 0x7fffffff
lea rax, [rsp + 0xac]
xor r8d, r8d
cmp word [rax], r8w
je 0x14005dc11
add rax, 2
sub rcx, 1
jne 0x14005dbf7
xor edx, edx
mov r8d, 0x80070057
jmp 0x14005dc28
test rcx, rcx
jne 0x14005dc20
xor edx, edx
mov r8d, 0x80070057
jmp 0x14005dc28
mov edx, 0x7fffffff
sub rdx, rcx
xor eax, eax
test r8d, r8d
mov rcx, 0xffffffffffffffff
cmovns rax, rdx
lea rbx, [r9 + rax + 1]
mov eax, 2
mul rbx
cmovo rax, rcx
mov rcx, rax
call fcn.1400913a4
test rbx, rbx
mov rdi, rax
je 0x14005dca3
cmp rbx, 0x7fffffff
ja 0x14005dca3
mov edx, 0x7ffffffe
mov r8, rsi
mov rcx, rax
sub rdx, rbx
sub r8, rax
lea rax, [rdx + rbx]
test rax, rax
je 0x14005dc95
movzx eax, word [r8 + rcx]
test ax, ax
je 0x14005dc95
mov word [rcx], ax
add rcx, 2
sub rbx, 1
jne 0x14005dc73
jmp 0x14005dc9a
test rbx, rbx
jne 0x14005dc9e
sub rcx, 2
mov word [rcx], 0
test rbp, rbp
je 0x14005dcb3
mov rdx, rbp
mov rcx, rdi
call fcn.1400202c0
lea rdx, [rsp + 0xac]
mov rcx, rdi
call fcn.1400202c0
mov eax, dword [rsp + 0x348]
mov rcx, qword [rsp + 0x58]
mov r11, qword [rcx]
mov r9, qword [rsp + 0x70]
mov r8, qword [rsp + 0x60]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x338]
mov rdx, rdi
mov dword [rsp + 0x20], eax
call qword [r11 + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rdi
add qword [rsp + 0x40], rax
call fcn.1400913ac
mov ebx, dword [rsp + 0x338]
mov rdi, qword [rsp + 0x50]
lea rdx, [rsp + 0x80]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x14005d830
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rdi, qword [rsp + 0x78]
mov rcx, rdi
call fcn.1400913ac
mov rax, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x2e8]
mov rbx, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x2d0]
xor rcx, rsp
call fcn.1400cd6e0
add rsp, 0x2f8
pop rsi
pop rbp
ret