Function at 0x5e9b70
Capabilities:
Enumerate files on windows

Disassembly:
mov eax, 0x58
call fcn.00693bc0
sub rsp, rax
test rcx, rcx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rbp
mov rbp, rcx
mov rbx, rdx
je 0x5e9eb1
test rdx, rdx
je 0x5e9eb1
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x48], r13
call sub.msvcrt.dll__errno
xor esi, esi
mov dword [rax], esi
mov rcx, qword [rbp]
test rcx, rcx
jne 0x5e9e08
mov eax, esi
mov r13, rsi
mov rcx, rbx
cmp byte [rbx], al
je 0x5e9be6
cmp eax, 0x80000000
jae 0x5e9be6
inc rcx
inc eax
cmp byte [rcx], sil
jne 0x5e9bd5
mov edi, eax
and edi, 0x7fffffff
jne 0x5e9c20
call sub.msvcrt.dll__errno
mov dword [rax], 2
xor eax, eax
mov r12, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x70]
mov r13, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
add rsp, 0x58
ret
mov ecx, 0x358
call sub.msvcrt.dll_malloc
test rax, rax
mov qword [rbp], rax
je 0x5e9d5f
xor edx, edx
mov r8d, 0x358
mov rcx, rax
call sub.msvcrt.dll_memset
cmp byte [rdi + rbx - 1], 0x2a
je 0x5e9d0f
lea rcx, [rdi + 3]
call sub.msvcrt.dll_malloc
test rax, rax
mov r13, rax
je 0x5e9d52
movzx eax, byte [rdi + rbx - 1]
cmp al, 0x2f
je 0x5e9cc1
cmp al, 0x5c
je 0x5e9cc1
mov rcx, r13
sub rcx, rbx
nop
nop
movzx eax, byte [rbx]
inc rbx
test al, al
mov byte [rcx + rbx - 1], al
jne 0x5e9c80
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, r13
repne scasb al, byte [rdi]
mov rbx, r13
lea rdx, [0x0074e6e0]
xor ecx, ecx
nop
nop
movzx eax, byte [rdx + rcx]
inc rcx
test al, al
mov byte [rdi + rcx - 2], al
jne 0x5e9cb0
jmp 0x5e9d0f
mov rcx, r13
sub rcx, rbx
nop
nop
nop
movzx eax, byte [rbx]
inc rbx
test al, al
mov byte [rcx + rbx - 1], al
jne 0x5e9cd0
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, r13
repne scasb al, byte [rdi]
mov rbx, r13
lea rdx, [0x0074e6e4]
xor ecx, ecx
nop
nop
movzx eax, byte [rdx + rcx]
inc rcx
test al, al
mov byte [rdi + rcx - 2], al
jne 0x5e9d00
mov eax, esi
mov rcx, rbx
cmp byte [rbx], al
je 0x5e9d29
cmp eax, 0x80000000
jae 0x5e9d29
inc rcx
inc eax
cmp byte [rcx], sil
jne 0x5e9d18
btr eax, 0x1f
mov edx, 2
inc eax
mov ecx, eax
mov edi, eax
call sub.msvcrt.dll_calloc
test rax, rax
mov r12, rax
jne 0x5e9d71
test r13, r13
je 0x5e9d52
mov rcx, r13
call sub.msvcrt.dll_free
mov rcx, qword [rbp]
call sub.msvcrt.dll_free
mov qword [rbp], rsi
call sub.msvcrt.dll__errno
mov dword [rax], reloc.WS2_32.dll_inet_ntoa
xor eax, eax
jmp 0x5e9bfd
mov r9d, edi
mov r8, rbx
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jne 0x5e9db2
test rdi, rdi
mov rcx, rsi
je 0x5e9db2
nop
nop
nop
movsx eax, byte [rcx + rbx]
inc rcx
cmp rcx, rdi
mov word [r12 + rcx*2 - 2], ax
jb 0x5e9da0
mov rdx, qword [rbp]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rcx, qword [rbp]
mov qword [rcx + 0x250], rax
mov rcx, r12
call sub.msvcrt.dll_free
test r13, r13
je 0x5e9ddf
mov rcx, r13
call sub.msvcrt.dll_free
mov rcx, qword [rbp]
cmp qword [rcx + 0x250], 0xffffffffffffffff
jne 0x5e9e20
call sub.msvcrt.dll_free
mov qword [rbp], rsi
call sub.msvcrt.dll__errno
mov dword [rax], reloc.WS2_32.dll_shutdown
xor eax, eax
jmp 0x5e9bfd
mov rdx, rcx
mov rcx, qword [rcx + 0x250]
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x5e9bfb
mov rax, qword [rbp]
mov rdi, rsi
cmp word [rax + 0x2c], si
lea rbx, [rax + 0x2c]
je 0x5e9e43
cmp rdi, 0xff
jae 0x5e9e43
inc rdi
cmp word [rbx + rdi*2], si
jne 0x5e9e31
mov qword [rsp + 0x38], rsi
add rax, 0x258
mov qword [rsp + 0x30], rsi
inc rdi
mov r8, rbx
xor edx, edx
xor ecx, ecx
mov r9d, edi
mov dword [rsp + 0x28], 0x100
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jne 0x5e9e97
test rdi, rdi
je 0x5e9e97
nop
movzx eax, byte [rbx + rsi*2]
mov rcx, qword [rbp]
inc rsi
cmp rsi, rdi
mov byte [rcx + rsi + 0x257], al
jb 0x5e9e80
mov rax, qword [rbp]
mov byte [rax + 0x357], 0
mov rax, qword [rbp]
add rax, 0x258
jmp 0x5e9bfd
call sub.msvcrt.dll__errno
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov dword [rax], reloc.WS2_32.dll_shutdown
xor eax, eax
add rsp, 0x58
ret