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

Disassembly:
mov r11, rsp
sub rsp, 0x6e8
mov rax, qword [0x00507af8]
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 0x484880
test r9, r9
mov edx, dword [0x004d1028]
mov qword [rsp + 0x6c8], rdi
je 0x484903
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, r9
repne scasw ax, word [rdi]
not rcx
cmp rcx, 1
je 0x484903
cmp word [r9], 0x5c
je 0x4848da
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 0x4848f0
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 0x484910
test rsi, rsi
je 0x484992
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
cmp rcx, 1
je 0x484992
cmp word [rsi], 0x5c
je 0x484961
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 0x484980
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x290]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp rax, 0xffffffffffffffff
mov rdi, rax
je 0x484a0f
mov rsi, qword [rsp + 0x30]
test byte [rsp + 0x40], 0x10
jne 0x4849e1
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.00482e90
mov ebx, 1
lea rdx, [rsp + 0x40]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x4849b3
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
test ebx, ebx
je 0x484a0f
lea rdx, [0x004d804c]
mov rcx, rbp
call fcn.004954f0
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x290]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp rax, 0xffffffffffffffff
mov rbx, rax
je 0x484ada
nop
test byte [rsp + 0x40], 0x10
je 0x484abb
lea rsi, [rsp + 0x6c]
lea rdi, [0x004d78ec]
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x484abb
lea rsi, [rsp + 0x6c]
lea rdi, [0x004ddf50]
mov ecx, 3
repe cmpsw word [rsi], word [rdi]
je 0x484abb
lea r9, [rsp + 0x6c]
lea r8, [rsp + 0x4a0]
lea rdx, str._s_s_n
mov rcx, rbp
call fcn.004954f0
cmp dword [rsp + 0x718], 0
je 0x484abb
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.00484840
lea rdx, [rsp + 0x40]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x484a30
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.004902e0
add rsp, 0x6e8
ret