Function at 0x180003e60
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 [0x18000f5f0]
mov rsi, rcx
mov rcx, qword [0x18000f5b0]
mov eax, 0xee553a4a
xor edx, edx
xor ebx, ebx
xor r8, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
cmp rax, rbx
mov rbp, rax
je 0x180004003
mov r8d, dword [0x18000f5f0]
mov rcx, qword [0x18000f5b0]
mov edi, 0xee553b43
xor r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
cmp rax, rbx
mov r13, rax
je 0x180003ff1
mov r8d, dword [0x18000f5f0]
xor edx, edx
mov rcx, rax
xor r8, rdi
call sub.ntdll.dll_memset
lea rcx, [0x180011481]
call fcn.180005358
cmp rax, rbx
mov rbp, rax
je 0x180003fdf
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]
cmp rax, 0xffffffffffffffff
mov rdi, rax
je 0x180003f77
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]
mov r8w, 0x5c
xor edx, edx
mov rcx, rbp
call qword [sym.imp.SHLWAPI.dll_StrRChrA]
lea rdx, [0x1800114a2]
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]
cmp rax, 0xffffffffffffffff
mov r12, rax
jne 0x180004062
mov rcx, qword [0x18000f5b0]
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [0x18000f5b0]
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 0x180004062
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 0x180004020
mov edi, ebx
cmp edi, r15d
jbe 0x18000408b
cmp edi, esi
ja 0x18000412b
cmp edi, r15d
je 0x180004091
cmp edi, esi
jne 0x1800040e0
lea rcx, [rsp + 0x6c]
mov dx, 0x2e
call qword [sym.imp.SHLWAPI.dll_StrChrA]
mov rsi, rax
lea rax, [rsp + 0x6c]
sub esi, eax
cmp r14d, ebx
mov eax, ebx
je 0x1800040b9
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 0x18000410c
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 0x1800040e0
add edi, 1
jmp 0x18000407b
mov rax, qword [rsp + 0x1c8]
mov rcx, r12
mov ebx, 1
mov qword [rax], r13
call qword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x180003ff1