Function at 0x1800051ac
Capabilities:
Enumerate files on windows

Disassembly:
mov r9, r8
xor r8d, r8d
jmp 0x1800051f8
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x600]
sub rsp, 0x700
mov rax, qword [0x180017008]
xor rax, rsp
mov qword [rbp + 0x5f0], rax
mov r15b, r8b
mov rsi, rdx
mov r12, rcx
mov r13d, 0x104
mov r8d, r13d
lea rcx, [rbp + 0x2d0]
xor edx, edx
mov r14, r9
call sub.msvcrt.dll_memset
test rsi, rsi
je 0x180005450
mov r8d, r13d
lea rcx, [rbp + 0x1c0]
xor edx, edx
call sub.msvcrt.dll_memset
call fcn.1800051ec
lea rcx, [rbp + 0x2d0]
mov byte [rbp + 0x1c0], al
lea r8, [rbp + 0x1c0]
mov rdx, rsi
call qword [sym.imp.SHLWAPI.dll_PathCombineA]
test rax, rax
je 0x18000544a
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x2d0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x18000544a
xor edx, edx
lea r8d, [r13 - 1]
lea rcx, [rbp + 0x3e1]
call sub.msvcrt.dll_memset
mov r8d, r13d
lea rcx, [rbp + 0x4e4]
xor edx, edx
call sub.msvcrt.dll_memset
call fcn.1800051e4
mov byte [rbp + 0x3e0], al
call fcn.1800051e4
mov byte [rbp + 0x4e4], al
call fcn.1800051e4
lea rcx, [rbp + 0xb0]
mov byte [rbp + 0x4e5], al
mov r8d, r13d
xor edx, edx
call sub.msvcrt.dll_memset
xor ebx, ebx
movsxd rax, ebx
lea rdx, [rbp + 0x3e0]
imul rcx, rax, 0x104
add rdx, rcx
lea rcx, [rbp - 0x64]
call qword [sym.imp.msvcrt.dll_strcmp]
test eax, eax
je 0x180005426
inc ebx
cmp ebx, 2
jl 0x180005306
mov r8, r13
lea rcx, [rbp + 0xb0]
xor edx, edx
call qword [sym.imp.msvcrt.dll_memset]
lea r8, [rbp - 0x64]
mov rdx, rsi
lea rcx, [rbp + 0xb0]
call qword [sym.imp.SHLWAPI.dll_PathCombineA]
test rax, rax
je 0x180005426
mov ebx, dword [rsp + 0x70]
shr ebx, 4
and bl, 1
je 0x180005388
test r15b, r15b
je 0x180005388
mov r9, r14
lea rdx, [rbp + 0xb0]
mov r8b, 1
mov rcx, r12
call 0x1800051f8
xor edx, edx
lea rcx, [rsp + 0x48]
lea r8d, [rdx + 0x10]
call qword [sym.imp.msvcrt.dll_memset]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x7c]
call qword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
cmp eax, 1
jne 0x180005446
xor edx, edx
lea r8d, [rax + 0xf]
lea rcx, [rsp + 0x58]
call qword [sym.imp.msvcrt.dll_memset]
lea r8, [rsp + 0x58]
xor ecx, ecx
lea rdx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_SystemTimeToTzSpecificLocalTime]
cmp eax, 1
jne 0x180005446
xor edx, edx
lea r8d, [rax + 7]
lea rcx, [rsp + 0x40]
call qword [sym.imp.msvcrt.dll_memset]
mov eax, dword [rbp - 0x70]
lea r8, [rbp - 0x64]
mov dword [rsp + 0x40], eax
mov r9b, bl
mov eax, dword [rbp - 0x74]
mov rdx, rsi
mov dword [rsp + 0x44], eax
mov rcx, qword [rsp + 0x40]
mov rax, qword [r14]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x20], rcx
mov rcx, r14
mov rax, qword [rax + 8]
call qword [0x180012470]
lea rdx, [rsp + 0x70]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
cmp eax, 1
je 0x180005304
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
jmp 0x180005453
call qword [sym.imp.KERNEL32.dll_GetLastError]
or eax, 0xffffffff
mov rcx, qword [rbp + 0x5f0]
xor rcx, rsp
call fcn.180010ab0
mov rbx, qword [rsp + 0x750]
add rsp, 0x700
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret