Function at 0x4010f0
Capabilities:
Enumerate files on windows
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x390
mov ecx, dword [ebp + 0xc]
push ebx
xor ebx, ebx
lea eax, [ebp - 0x230]
push eax
push ecx
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x4c], ebx
mov byte [ebp - 0xcc], bl
mov byte [ebp - 0x40], bl
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp + 0xc], eax
cmp eax, 0xffffffff
jne 0x401196
mov edx, dword [str._]
mov ecx, dword [0x405234]
mov eax, dword [0x405230]
push ebx
push ebx
mov dword [ebp - 0xcc], edx
mov edx, dword [0x405238]
mov dword [ebp - 0xc4], ecx
push 0xb8
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xc0], edx
mov edx, dword [ebp + 8]
mov dword [ebp - 0xc8], eax
mov al, byte [0x40523c]
push ecx
push edx
mov dword [ebp - 0xd0], 1
mov byte [ebp - 0xbc], al
mov dword [ebp - 0x1c], 1
call fcn.00401800
pop ebx
mov esp, ebp
pop ebp
ret 8
push edi
mov edi, dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
lea ecx, [ecx]
push 0x160
lea eax, [ebp - 0x390]
push ebx
push eax
call sub.MSVCR100.dll_memset
add esp, 0xc
push 0x510
push 0x160
lea ecx, [ebp - 0x390]
push ecx
push 0x80
lea edx, [ebp - 0x204]
push edx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
xor eax, eax
lea ebx, [ebx]
mov cl, byte [ebp + eax - 0x204]
mov byte [ebp + eax - 0xcc], cl
inc eax
cmp cl, bl
jne 0x4011e0
movzx eax, byte [ebp - 0x230]
mov ecx, dword [ebp - 0x210]
sub ecx, dword [ebp - 0x214]
shr eax, 4
and eax, 1
lea edx, [ebp - 0x18]
mov dword [ebp - 0x20], eax
shr ecx, 0xa
push edx
lea eax, [ebp - 0x21c]
inc ecx
push eax
mov dword [ebp - 0x4c], ecx
call edi
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
movzx eax, word [ebp - 4]
movzx ecx, word [ebp - 6]
movzx edx, word [ebp - 8]
push eax
movzx eax, word [ebp - 0xa]
push ecx
movzx ecx, word [ebp - 0xe]
push edx
movzx edx, word [ebp - 0x10]
push eax
push ecx
push edx
lea eax, [ebp - 0xf0]
push str._4d__02d__02d__02d:_02d:_02d
push eax
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x20
xor eax, eax
jmp 0x401270
mov cl, byte [ebp + eax - 0xf0]
mov byte [ebp + eax - 0x40], cl
inc eax
cmp cl, bl
jne 0x401270
mov dword [ebp - 0x1c], 1
mov ecx, 0x405260
lea eax, [ebp - 0x204]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4012b2
cmp dl, bl
je 0x4012ae
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4012b2
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x401292
xor eax, eax
jmp 0x4012b7
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x401311
mov ecx, 0x405264
lea eax, [ebp - 0x204]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4012e6
cmp dl, bl
je 0x4012e2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4012e6
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x4012c6
xor eax, eax
jmp 0x4012eb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x401311
mov edx, dword [ebp + 8]
push ebx
push ebx
push 0xb8
lea ecx, [ebp - 0xd0]
push ecx
push edx
call fcn.00401800
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
je 0x40132a
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x230]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4011a0
mov eax, dword [ebp + 8]
push ebx
push ebx
push 0xb8
lea edx, [ebp - 0xd0]
push edx
push eax
mov dword [ebp - 0x1c], ebx
call fcn.00401800
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 8