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

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
lea rbp, [rax - 0x298]
sub rsp, 0x378
mov qword [rbp - 0x70], 0xfffffffffffffffe
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x14017c430]
xor rax, rsp
mov qword [rbp + 0x240], rax
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x78], r8
mov rbx, rdx
mov qword [rbp - 0x78], rcx
lea rdx, [rbp - 0x10]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov qword [rsp + 0x70], rax
cmp rax, 0xffffffffffffffff
je 0x140073d54
xor esi, esi
movsd xmm7, qword [0x140132ba8]
nop dword [rax]
test byte [rbp - 0x10], 0x10
je 0x140073a81
lea rsi, [rbp + 0x1c]
lea rdi, [0x14012ffcc]
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x140073d38
lea rsi, [rbp + 0x1c]
lea rdi, [0x14012ffd0]
mov ecx, 3
repe cmpsw word [rsi], word [rdi]
je 0x140073d38
lea rcx, [0x14017bd30]
mov rax, qword [0x14017bd30]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x20], rax
test rbx, rbx
je 0x1400739c9
test rbx, 0xffffffffffff0000
jne 0x1400739b5
movzx edi, bx
mov ecx, edi
call fcn.140002830
test rax, rax
je 0x1400739dc
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.1400029f0
jmp 0x1400739dc
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
jmp 0x1400739cb
xor ecx, ecx
mov r8d, ecx
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.140002120
nop
mov rax, qword [rsp + 0x20]
mov edx, dword [rax - 0x10]
dec edx
mov r8d, 1
lea rcx, [rsp + 0x20]
call fcn.14005d700
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x1c]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rbp + 0x1c]
lea rcx, [rsp + 0x20]
call fcn.14003bd50
mov r8d, 2
lea rdx, [0x14012ffc4]
lea rcx, [rsp + 0x20]
call fcn.14003bd50
mov rdi, qword [rsp + 0x20]
cmp dword [rdi - 8], 1
jle 0x140073a4c
mov edx, dword [rdi - 0x10]
lea rcx, [rsp + 0x20]
call fcn.140001fb0
mov rdi, qword [rsp + 0x20]
mov r9, qword [rsp + 0x58]
mov r8, qword [rsp + 0x78]
mov rdx, rdi
mov rcx, qword [rbp - 0x78]
call fcn.1400738c0
nop
lea rdx, [rdi - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140073d38
mov rcx, qword [rdx]
jmp 0x140073d32
lea rcx, [0x14017bd30]
mov rax, qword [0x14017bd30]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x28], rax
test rbx, rbx
je 0x140073ade
test rbx, 0xffffffffffff0000
jne 0x140073aca
movzx edi, bx
mov ecx, edi
call fcn.140002830
test rax, rax
je 0x140073af1
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.1400029f0
jmp 0x140073af1
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
jmp 0x140073ae0
mov ecx, esi
mov r8d, ecx
mov rdx, rbx
lea rcx, [rsp + 0x28]
call fcn.140002120
nop
mov rax, qword [rsp + 0x28]
mov edx, dword [rax - 0x10]
dec edx
mov r8d, 1
lea rcx, [rsp + 0x28]
call fcn.14005d700
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x1c]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rbp + 0x1c]
lea rcx, [rsp + 0x28]
call fcn.14003bd50
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
mov qword [rbp - 0x58], 0
movaps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x40], xmm0
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x40]
call qword [sym.imp.OLEAUT32.dll_VariantTimeToSystemTime]
movsd xmm6, qword [rsp + 0x30]
test eax, eax
je 0x140073b7b
movzx eax, word [rbp - 0x32]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm7
addsd xmm6, xmm0
movsd qword [rsp + 0x30], xmm6
lea rdx, [rbp - 0x20]
movapd xmm0, xmm6
call qword [sym.imp.OLEAUT32.dll_UnRegisterTypeLib]
test eax, eax
je 0x140073b9d
mov r8d, eax
lea rdx, [rbp - 0x20]
movapd xmm0, xmm6
call fcn.140016470
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov eax, reloc.WS2_32.dll_socket
mov word [rbp - 0x58], ax
mov dword [rbp - 0x56], 0x3b003b
mov eax, 0x3e7
mov word [rbp - 0x52], ax
movaps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x50], xmm0
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x50]
call qword [sym.imp.OLEAUT32.dll_VariantTimeToSystemTime]
movsd xmm6, qword [rsp + 0x38]
test eax, eax
je 0x140073c00
movzx eax, word [rbp - 0x42]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm7
addsd xmm6, xmm0
movsd qword [rsp + 0x38], xmm6
lea rdx, [rbp - 0x30]
movapd xmm0, xmm6
call qword [sym.imp.OLEAUT32.dll_UnRegisterTypeLib]
test eax, eax
je 0x140073c22
mov r8d, eax
lea rdx, [rbp - 0x30]
movapd xmm0, xmm6
call fcn.140016470
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
lea rdx, [rbp - 0xc]
lea rcx, [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_CompareFileTime]
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0xc]
call qword [sym.imp.KERNEL32.dll_CompareFileTime]
mov dword [rsp + 0x44], eax
lea rcx, [0x14017bd30]
mov rdx, qword [0x14017bd30]
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
mov rdx, qword [rsp + 0x28]
lea rsi, [rdx - 0x18]
lea rdi, [rax - 0x18]
cmp rsi, rdi
je 0x140073cd5
cmp dword [rdi + 0x10], 0
jl 0x140073cc7
mov rax, qword [rdi]
cmp qword [rsi], rax
jne 0x140073cc7
mov rcx, rsi
call fcn.140001d80
mov qword [rsp + 0x68], rax
or ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140073cbc
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + VariantCopy]
mov rax, qword [rsp + 0x68]
add rax, 0x18
mov qword [rsp + 0x48], rax
jmp 0x140073cd5
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x48]
call fcn.140002120
cmp dword [rsp + 0x40], 1
jge 0x140073ce8
cmp dword [rsp + 0x44], 1
mov byte [rsp + 0x50], 1
jl 0x140073ced
mov byte [rsp + 0x50], 0
lea rdx, [rsp + 0x48]
mov rcx, qword [rsp + 0x58]
call fcn.14007a510
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140073d1e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
or eax, 0xffffffff
lock xadd dword [rsi + 0x10], eax
dec eax
test eax, eax
jg 0x140073d38
mov rcx, qword [rsi]
mov rdx, rsi
mov rax, qword [rcx]
call qword [rax + VariantCopy]
lea rdx, [rbp - 0x10]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
mov esi, 0
jne 0x140073930
mov rcx, qword [rbp + 0x240]
xor rcx, rsp
call fcn.1400d4d90
movaps xmm6, xmmword [rsp + 0x360]
movaps xmm7, xmmword [rsp + 0x350]
add rsp, 0x378
pop rdi
pop rsi
pop rbx
pop rbp
ret