Function at 0x45e7b4
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 3
add esp, 0xfffff004
push eax
dec eax
jne 0x45e7bd
mov eax, dword [ebp - 4]
add esp, 0xfffffea0
push ebx
push esi
push edi
mov eax, 0x51c711
call fcn.004d08c0
mov word [ebp - 0x14], 8
push 0x2001
push 0
call fcn.00452e78
mov edi, eax
xor eax, eax
add esp, 8
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x1024]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
lea eax, [ebp - 0x1024]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
test eax, eax
je 0x45e860
lea edx, [ebp - 0x1024]
push edx
call fcn.004cdfec
pop ecx
test eax, eax
je 0x45e860
lea ecx, [ebp - 0x1024]
push ecx
call fcn.004cdfec
pop ecx
movsx eax, byte [ebp + eax - 0x1025]
cmp eax, 0x5c
je 0x45e860
push 0x5d5f36
lea edx, [ebp - 0x1024]
push edx
call fcn.004cdf10
add esp, 8
push 0x5d5f38
lea ecx, [ebp - 0x1024]
push ecx
call fcn.004cdf10
add esp, 8
test byte [0x516435], 4
je 0x45e896
lea eax, [ebp - 0x1024]
push eax
push 0x5d5f3e
push 0x516438
call fcn.00451598
add esp, 0xc
lea edx, [ebp - 0x3164]
push edx
lea ecx, [ebp - 0x1024]
push ecx
call sub.KERNEL32.dll_FindFirstFileA
mov esi, eax
cmp esi, 0xffffffff
je 0x45eac0
push 0x2001
push 0
call fcn.00452e78
add esp, 8
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
push esi
lea esi, [ebp - 0x1024]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebp - 0x1024]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
test eax, eax
je 0x45e933
lea edx, [ebp - 0x1024]
push edx
call fcn.004cdfec
pop ecx
test eax, eax
je 0x45e933
lea ecx, [ebp - 0x1024]
push ecx
call fcn.004cdfec
pop ecx
movsx eax, byte [ebp + eax - 0x1025]
cmp eax, 0x5c
je 0x45e933
push 0x5d5f57
lea edx, [ebp - 0x1024]
push edx
call fcn.004cdf10
add esp, 8
lea ecx, [ebp - 0x3138]
push ecx
lea eax, [ebp - 0x1024]
push eax
call fcn.004cdf10
add esp, 8
xor eax, eax
lea edi, [ebp - 0x1024]
or ecx, 0xffffffff
push esi
lea esi, [ebp - 0x2024]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebp - 0x2024]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
push eax
call fcn.004cdfec
pop ecx
mov ebx, eax
push 0x5d5f59
call fcn.004cdfec
pop ecx
cmp eax, ebx
jae 0x45e99f
push 0x5d5f5e
call fcn.004cdfec
pop ecx
sub ebx, eax
mov byte [ebp + ebx - 0x2024], 0
lea eax, [ebp - 0x2024]
lea edx, [ebp - 0x1024]
push eax
push edx
lea ecx, [ebp - 0x3024]
push 0x5d5f63
push ecx
call fcn.004d26c8
add esp, 0x10
lea eax, [ebp - 0x3024]
push 0
push eax
push 0x5d5f6f
call fcn.004ba55c
add esp, 0xc
lea edx, [ebp - 0x2024]
push edx
push 0x5d5f7d
lea ecx, [ebp - 0x3024]
push ecx
call fcn.004d26c8
add esp, 0xc
test byte [0x516435], 4
je 0x45ea1c
lea eax, [ebp - 0x2024]
push eax
push 0x5d5f84
push 0x516438
call fcn.00451598
add esp, 0xc
push 1
call fcn.004d9f54
pop ecx
lea edx, [ebp - 0x3024]
push edx
call fcn.00404c28
pop ecx
lea ecx, [ebp - 0x3024]
push ecx
lea eax, [ebp - 0x2024]
push eax
call fcn.0040581c
add esp, 8
lea edx, [ebp - 0x3024]
push edx
call fcn.00404c28
pop ecx
push 0
lea ecx, [ebp - 0x2024]
push ecx
lea eax, [ebp - 0x1024]
push eax
call fcn.00436af0
add esp, 0xc
test eax, eax
je 0x45ea7f
lea edx, [ebp - 0x1024]
push edx
call fcn.004d21a8
pop ecx
jmp 0x45eaa5
push 0x10000
lea ecx, [ebp - 0x2024]
push ecx
push 0x5d5f8b
call fcn.004ba55c
add esp, 0xc
lea eax, [ebp - 0x1024]
push eax
call fcn.004d21a8
pop ecx
lea edx, [ebp - 0x3164]
push edx
push esi
call sub.KERNEL32.dll_FindNextFileA
test eax, eax
jne 0x45e8b4
push esi
call sub.KERNEL32.dll_FindClose
push 0
push 0x2001
push 0x5d5f9e
lea ecx, [ebp - 0x2024]
push ecx
call fcn.00453684
add esp, 0x10
lea eax, [ebp - 0x2024]
push eax
push 0x5d5fa8
lea edx, [ebp - 0x1024]
push edx
call fcn.004d26c8
add esp, 0xc
push 0x2100
lea ecx, [ebp - 0x2024]
push ecx
call fcn.00405b9c
add esp, 8
test eax, eax
jne 0x45eb60
push 0x2100
lea eax, [ebp - 0x1024]
push eax
call fcn.00405b9c
add esp, 8
test eax, eax
je 0x45eb60
test byte [0x516435], 4
je 0x45eb48
lea edx, [ebp - 0x2024]
push edx
push 0x5d5faf
push 0x516438
call fcn.00451598
add esp, 0xc
push 0
lea ecx, [ebp - 0x2024]
push ecx
lea eax, [ebp - 0x1024]
push eax
call fcn.00436af0
add esp, 0xc
push 0
push 0x2001
push 0x5d5fbe
lea edx, [ebp - 0x2024]
push edx
call fcn.00453684
add esp, 0x10
lea ecx, [ebp - 0x2024]
push ecx
push 0x5d5fca
lea eax, [ebp - 0x1024]
push eax
call fcn.004d26c8
add esp, 0xc
push 0x2100
lea edx, [ebp - 0x2024]
push edx
call fcn.00405b9c
add esp, 8
test eax, eax
jne 0x45ec00
push 0x2100
lea ecx, [ebp - 0x1024]
push ecx
call fcn.00405b9c
add esp, 8
test eax, eax
je 0x45ec00
test byte [0x516435], 4
je 0x45ebe8
lea eax, [ebp - 0x2024]
push eax
push 0x5d5fd1
push 0x516438
call fcn.00451598
add esp, 0xc
push 0
lea edx, [ebp - 0x2024]
push edx
lea ecx, [ebp - 0x1024]
push ecx
call fcn.00436af0
add esp, 0xc
push 0
call fcn.004ba7f4
pop ecx
mov word [ebp - 0x14], 0
jmp 0x45ec2f
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
mov esp, ebp
mov edi, dword [ebp - 0x3170]
mov esi, dword [ebp - 0x316c]
mov ebx, dword [ebp - 0x3168]
pop ebp
ret