Function at 0x4158e0
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88c
mov dword [ebp - 4], 0
mov dword [ebp - 0x880], 0
mov dword [ebp - 0x56c], 0
mov dword [ebp - 0x87c], 0
mov dword [ebp - 0x888], 0
mov dword [ebp - 0x884], 0
mov dword [ebp - 0x25c], 0xffffffff
mov dword [ebp - 0x258], 0xffffffff
mov dword [ebp - 0x88c], 0
push 0x30c
push 0
lea eax, [ebp - 0x878]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
push 0x30c
push 0
lea ecx, [ebp - 0x568]
push ecx
call sub.MSVCRT.dll_memset
add esp, 0xc
cmp dword [ebp + 8], 0
jne 0x415979
mov dword [ebp + 8], 0x42eef0
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x878]
push eax
call sub.MSVCRT.dll_strcpy
add esp, 8
cmp dword [ebp + 0xc], 0
je 0x4159a5
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x878]
push edx
call sub.MSVCRT.dll_strcat
add esp, 8
push 0x104
lea eax, [ebp - 0x568]
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x878]
push ecx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0x2a
lea edx, [ebp - 0x568]
push edx
call dword [sym.imp.MSVCRT.dll_wcschr]
add esp, 8
test eax, eax
jne 0x415a28
push 0x2e
lea eax, [ebp - 0x568]
push eax
call dword [sym.imp.MSVCRT.dll_wcschr]
add esp, 8
mov dword [ebp - 0x88c], eax
cmp dword [ebp - 0x88c], 0
je 0x415a28
lea ecx, [ebp - 0x568]
push ecx
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
shl eax, 1
mov edx, dword [ebp - 0x88c]
lea ecx, [ebp - 0x568]
sub edx, ecx
sub eax, edx
shr eax, 1
mov dword [ebp - 0x25c], eax
push 0x250
push 0
lea edx, [ebp - 0x254]
push edx
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebp - 0x568]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
jne 0x415a62
xor eax, eax
jmp 0x415c26
push 1
push 0x1c
call dword [sym.imp.MSVCRT.dll_calloc]
add esp, 8
mov dword [ebp - 0x880], eax
mov dword [ebp - 0x888], 0
jmp 0x415a90
mov edx, dword [ebp - 0x888]
add edx, 1
mov dword [ebp - 0x888], edx
cmp dword [ebp - 0x888], 0x7fffffff
jge 0x415b60
cmp dword [ebp - 0x25c], 0xffffffff
je 0x415b12
push 0x2e
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.MSVCRT.dll_wcschr]
add esp, 8
mov dword [ebp - 0x88c], eax
cmp dword [ebp - 0x88c], 0
je 0x415b12
lea ecx, [ebp - 0x228]
push ecx
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
shl eax, 1
mov edx, dword [ebp - 0x88c]
lea ecx, [ebp - 0x228]
sub edx, ecx
sub eax, edx
shr eax, 1
cmp dword [ebp - 0x25c], eax
je 0x415b12
lea edx, [ebp - 0x254]
push edx
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x415b0d
jmp 0x415b60
jmp 0x415a81
lea ecx, [ebp - 0x254]
push ecx
mov edx, dword [ebp - 0x880]
push edx
call fcn.00415c2a
add esp, 8
test eax, eax
je 0x415b2e
jmp 0x415b60
push 0x250
push 0
lea eax, [ebp - 0x254]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x254]
push ecx
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x415b5b
jmp 0x415b60
jmp 0x415a81
cmp dword [ebp - 4], 0xffffffff
je 0x415b70
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp - 0x880]
cmp dword [ecx], 0
jle 0x415c20
mov edx, dword [ebp - 0x880]
mov eax, dword [edx]
push eax
push 4
call dword [sym.imp.MSVCRT.dll_calloc]
add esp, 8
mov ecx, dword [ebp - 0x880]
mov dword [ecx + 0xc], eax
mov dword [ebp - 0x87c], 0
mov edx, dword [ebp - 0x880]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x56c], eax
jmp 0x415bd4
mov ecx, dword [ebp - 0x56c]
mov edx, dword [ecx]
mov dword [ebp - 0x56c], edx
mov eax, dword [ebp - 0x87c]
add eax, 1
mov dword [ebp - 0x87c], eax
cmp dword [ebp - 0x56c], 0
je 0x415bf7
mov ecx, dword [ebp - 0x880]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0x87c]
mov ecx, dword [ebp - 0x56c]
mov dword [edx + eax*4], ecx
jmp 0x415bb7
cmp dword [ebp + 0x10], 0
je 0x415c20
push 0x4164f8
push 4
mov edx, dword [ebp - 0x880]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x880]
mov edx, dword [ecx + 0xc]
push edx
call dword [sym.imp.MSVCRT.dll_qsort]
add esp, 0x10
mov eax, dword [ebp - 0x880]
mov esp, ebp
pop ebp
ret