Function at 0x14005dd80
Capabilities:
Enumerate files on windows

Disassembly:
push rbx
push r14
push r15
sub rsp, 0x2f0
mov rax, qword [0x14012df80]
xor rax, rsp
mov qword [rsp + 0x2b0], rax
mov rax, qword [rsp + 0x338]
xor r14d, r14d
mov qword [rsp + 0x40], r9
cmp qword [rcx + 8], r14
mov qword [rsp + 0x48], r8
mov rbx, rdx
mov qword [rsp + 0x50], rax
mov r15, rcx
jne 0x14005ddcc
xor eax, eax
jmp 0x14005e060
lea rdx, [rsp + 0x60]
mov rcx, rbx
mov qword [rsp + 0x2c8], r13
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp rax, 0xffffffffffffffff
mov r13, rax
je 0x14005e055
test rbx, rbx
mov qword [rsp + 0x2e8], rbp
mov qword [rsp + 0x2e0], rsi
mov qword [rsp + 0x2d8], rdi
mov qword [rsp + 0x2d0], r12
je 0x14005de54
mov ecx, 0x7fffffff
mov rax, rbx
xor edx, edx
nop
cmp word [rax], dx
je 0x14005de38
add rax, 2
sub rcx, 1
jne 0x14005de20
mov edx, 0x80070057
xor eax, eax
jmp 0x14005de4e
test rcx, rcx
jne 0x14005de46
mov edx, 0x80070057
xor eax, eax
jmp 0x14005de4e
mov eax, 0x7fffffff
sub rax, rcx
test edx, edx
jns 0x14005de5b
jmp 0x14005de59
mov edx, 0x80070057
xor eax, eax
xor edi, edi
test edx, edx
mov rcx, 0xffffffffffffffff
cmovns rdi, rax
mov eax, 2
add rdi, 1
mul rdi
cmovo rax, rcx
mov rcx, rax
call fcn.1400913a4
test rdi, rdi
mov rsi, rax
je 0x14005ded3
cmp rdi, 0x7fffffff
ja 0x14005ded3
mov r8d, 0x7ffffffe
mov rdx, rdi
mov rcx, rax
sub r8, rdi
sub rbx, rax
lea rax, [r8 + rdx]
test rax, rax
je 0x14005dec6
movzx eax, word [rbx + rcx]
test ax, ax
je 0x14005dec6
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14005dea5
jmp 0x14005decb
test rdx, rdx
jne 0x14005decf
sub rcx, 2
mov word [rcx], r14w
mov rcx, rsi
call fcn.1400201b0
mov ebp, dword [rsp + 0x340]
mov r12d, dword [rsp + 0x330]
nop
nop
test byte [rsp + 0x60], 0x10
jne 0x14005e00e
mov ecx, 0x7fffffff
lea rax, [rsp + 0x8c]
xor r8d, r8d
nop
nop
cmp word [rax], r8w
je 0x14005df2a
add rax, 2
sub rcx, 1
jne 0x14005df10
xor edx, edx
mov r8d, 0x80070057
jmp 0x14005df41
test rcx, rcx
jne 0x14005df39
xor edx, edx
mov r8d, 0x80070057
jmp 0x14005df41
mov edx, 0x7fffffff
sub rdx, rcx
xor eax, eax
test r8d, r8d
cmovns rax, rdx
lea rcx, [rax + rdi + 1]
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400913a4
test rdi, rdi
mov rbx, rax
je 0x14005dfc0
cmp rdi, 0x7fffffff
ja 0x14005dfc0
mov r8d, 0x7ffffffe
mov r9, rsi
mov rdx, rdi
sub r8, rdi
sub r9, rax
mov rcx, rax
lea rax, [r8 + rdx]
test rax, rax
je 0x14005dfb2
movzx eax, word [r9 + rcx]
test ax, ax
je 0x14005dfb2
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14005df90
jmp 0x14005dfb7
test rdx, rdx
jne 0x14005dfbb
sub rcx, 2
mov word [rcx], 0
lea rdx, [rsp + 0x8c]
mov rcx, rbx
call fcn.1400202c0
mov rax, qword [rsp + 0x50]
mov r11, qword [r15]
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov dword [rsp + 0x38], ebp
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
mov rdx, rbx
mov rcx, r15
mov dword [rsp + 0x20], r12d
call qword [r11 + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rbx
add r14, rax
call fcn.1400913ac
lea rdx, [rsp + 0x60]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x14005def0
mov rcx, rsi
call fcn.1400913ac
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindClose]
mov r12, qword [rsp + 0x2d0]
mov rdi, qword [rsp + 0x2d8]
mov rsi, qword [rsp + 0x2e0]
mov rbp, qword [rsp + 0x2e8]
mov r13, qword [rsp + 0x2c8]
mov rax, r14
mov rcx, qword [rsp + 0x2b0]
xor rcx, rsp
call fcn.1400cd6e0
add rsp, 0x2f0
pop r15
pop r14
pop rbx
ret