Function at 0x1800186ec
Capabilities:
Enumerate files on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x180
mov r8d, dword [0x180039d14]
mov rsi, rcx
mov rcx, qword [0x180039b48]
xor edx, edx
xor r8, 0x73686d74
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbp, rax
cmp rax, rbx
je 0x18001888d
mov r8d, dword [0x180039d14]
mov rcx, qword [0x180039b48]
mov edi, 0x73686c7d
xor r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r13, rax
cmp rax, rbx
je 0x18001887b
mov r8d, dword [0x180039d14]
xor edx, edx
mov rcx, rax
xor r8, rdi
call sub.ntdll.dll_memset
lea rcx, [0x18003e32e]
call fcn.180018474
mov rbp, rax
cmp rax, rbx
je 0x180018869
or eax, 0xffffffff
mov qword [rsp + 0x30], rbx
lea r8d, [rbx + 1]
xor r9d, r9d
mov edx, 0x80000000
mov rcx, rbp
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x1d8], eax
mov dword [rsp + 0x1dc], eax
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x180018802
lea rdx, [rsp + 0x1d8]
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileTime]
movabs r11, 0xc92a69c000
mov rcx, rdi
add qword [rsp + 0x1d8], r11
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor edx, edx
mov rcx, rbp
lea r8d, [rdx + 0x5c]
call qword [sym.imp.SHLWAPI.dll_StrRChrA]
lea rdx, [0x18003e8be]
mov rcx, rbp
mov byte [rax], bl
mov eax, dword [rsi]
mov r14d, ebx
imul eax, eax, 0x19660d
add eax, 0x3c6ef35f
movzx r15d, al
imul eax, eax, 0x19660d
add eax, 0x3c6ef35f
mov dword [rsi], eax
movzx esi, al
mov dword [rsp + 0x1d0], esi
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rdx, [rsp + 0x40]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov r12, rax
cmp rax, 0xffffffffffffffff
jne 0x1800188ec
mov rcx, qword [0x180039b48]
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [0x180039b48]
mov r8, rbp
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, ebx
mov rbx, qword [rsp + 0x1c0]
add rsp, 0x180
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rdx, [rsp + 0x40]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
cmp eax, ebx
jne 0x1800188ec
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FindClose]
lea rdx, [rsp + 0x40]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov r12, rax
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x1dc], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x1d8], eax
lea rdx, [rsp + 0x1d8]
lea rcx, [rsp + 0x54]
call qword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, ebx
jg 0x1800188aa
mov edi, ebx
cmp edi, r15d
jbe 0x180018915
cmp edi, esi
ja 0x1800189b5
cmp edi, r15d
je 0x18001891b
cmp edi, esi
jne 0x18001896b
lea rcx, [rsp + 0x6c]
mov edx, 0x2e
call qword [sym.imp.SHLWAPI.dll_StrChrA]
mov rsi, rax
lea rax, [rsp + 0x6c]
sub esi, eax
mov eax, ebx
cmp r14d, ebx
je 0x180018944
lea eax, [rsi - 4]
cmp eax, esi
cmova eax, ebx
mov ecx, 4
lea rdx, [rsp + rax + 0x6c]
cmp esi, ecx
cmova esi, ecx
mov ecx, r14d
add rcx, r13
mov r8d, esi
call sub.ntdll.dll_memcpy
add r14d, esi
mov esi, dword [rsp + 0x1d0]
lea rdx, [rsp + 0x40]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
cmp eax, ebx
jne 0x180018997
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FindClose]
lea rdx, [rsp + 0x40]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov r12, rax
lea rdx, [rsp + 0x1d8]
lea rcx, [rsp + 0x54]
call qword [sym.imp.KERNEL32.dll_CompareFileTime]
cmp eax, ebx
jg 0x18001896b
inc edi
jmp 0x180018905
mov rax, qword [rsp + 0x1c8]
mov rcx, r12
mov ebx, 1
mov qword [rax], r13
call qword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x18001887b