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

Disassembly:
mov r11, rsp
sub rsp, 0x6e8
mov rax, qword [0x00522be8]
xor rax, rsp
mov qword [rsp + 0x6b0], rax
mov qword [rsp + 0x30], rcx
mov qword [r11 - 0x10], rbp
lea rcx, [r11 - 0x458]
mov qword [r11 - 0x18], rsi
mov rsi, qword [rsp + 0x710]
mov rbp, rdx
sub rcx, r8
nop
movzx eax, word [r8]
add r8, 2
test ax, ax
mov word [rcx + r8 - 2], ax
jne 0x4930c0
test r9, r9
mov edx, dword [0x004e8098]
mov qword [rsp + 0x6c8], rdi
je 0x493143
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, r9
repne scasw ax, word [rdi]
not rcx
cmp rcx, 1
je 0x493143
cmp word [r9], 0x5c
je 0x49311a
lea rdi, [rsp + 0x290]
mov rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
mov dword [rdi - 2], edx
xor eax, eax
lea rdi, [rsp + 0x290]
mov rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
xor ecx, ecx
movzx eax, word [r9 + rcx]
add rcx, 2
test ax, ax
mov word [rdi + rcx - 4], ax
jne 0x493130
mov qword [rsp + 0x6e0], rbx
xor ebx, ebx
mov rcx, rbx
movzx eax, word [rsp + rcx + 0x290]
add rcx, 2
test ax, ax
mov word [rsp + rcx + 0x49e], ax
jne 0x493150
test rsi, rsi
je 0x4931d2
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
cmp rcx, 1
je 0x4931d2
cmp word [rsi], 0x5c
je 0x4931a1
lea rdi, [rsp + 0x290]
mov rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
mov dword [rdi - 2], edx
xor eax, eax
lea rdi, [rsp + 0x290]
mov rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
xor ecx, ecx
nop
nop
nop
movzx eax, word [rsi + rcx]
add rcx, 2
test ax, ax
mov word [rdi + rcx - 4], ax
jne 0x4931c0
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x290]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp rax, 0xffffffffffffffff
mov rdi, rax
je 0x49324f
mov rsi, qword [rsp + 0x30]
test byte [rsp + 0x40], 0x10
jne 0x493221
lea rax, [rsp + 0x40]
lea r9, [rsp + 0x6c]
lea r8, [rsp + 0x4a0]
mov rdx, rbp
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.00491ad0
mov ebx, 1
lea rdx, [rsp + 0x40]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x4931f3
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
test ebx, ebx
je 0x49324f
lea rdx, [0x004ef1bc]
mov rcx, rbp
call fcn.004ac020
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x290]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp rax, 0xffffffffffffffff
mov rbx, rax
je 0x49331a
nop
test byte [rsp + 0x40], 0x10
je 0x4932fb
lea rsi, [rsp + 0x6c]
lea rdi, [0x004e8b88]
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x4932fb
lea rsi, [rsp + 0x6c]
lea rdi, [0x004f5998]
mov ecx, 3
repe cmpsw word [rsi], word [rdi]
je 0x4932fb
lea r9, [rsp + 0x6c]
lea r8, [rsp + 0x4a0]
lea rdx, str._s_s_n
mov rcx, rbp
call fcn.004ac020
cmp dword [rsp + 0x718], 0
je 0x4932fb
mov rcx, qword [rsp + 0x30]
lea rax, str..
lea r9, [rsp + 0x6c]
lea r8, [rsp + 0x4a0]
mov rdx, rbp
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rax
call fcn.00493080
lea rdx, [rsp + 0x40]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x493270
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rdi, qword [rsp + 0x6c8]
mov rsi, qword [rsp + 0x6d0]
mov rbp, qword [rsp + 0x6d8]
mov rbx, qword [rsp + 0x6e0]
mov rcx, qword [rsp + 0x6b0]
xor rcx, rsp
call fcn.004a7100
add rsp, 0x6e8
ret