Function at 0x46437c
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x30
push 0
push 0
dec ecx
jne 0x464385
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00403e24
xor eax, eax
push ebp
push 0x464660
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
call fcn.0046c924
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x15c]
mov ecx, 0x464678
mov edx, dword [ebp - 4]
call fcn.00403cbc
mov eax, dword [ebp - 0x15c]
call fcn.00403e34
push eax
call sub.kernel32.dll_FindFirstFileA_1
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
setne al
xor ebx, ebx
jmp 0x464619
inc ebx
mov al, 1
mov edx, dword [ebp - 0x158]
test edx, 0x106
je 0x464408
xor eax, eax
test al, al
je 0x464603
test dl, 0x10
je 0x464570
lea eax, [ebp - 0x18]
lea edx, [ebp - 0x12c]
mov ecx, 0x104
call fcn.00403c20
mov eax, dword [ebp - 0x18]
mov edx, 0x464688
call fcn.00403d80
je 0x464603
mov eax, dword [ebp - 0x18]
mov edx, 0x464694
call fcn.00403d80
je 0x464603
lea eax, [ebp - 0x160]
mov ecx, dword [ebp - 0x18]
mov edx, 0x4646a0
call fcn.00403cbc
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0x14]
mov eax, dword [ebp - 8]
mov esi, dword [eax]
call dword [esi + 0x78]
test al, al
jne 0x4644d8
lea eax, [ebp - 0x18]
call fcn.0046c924
lea eax, [ebp - 0x164]
mov ecx, dword [ebp - 0x18]
mov edx, 0x4646a0
call fcn.00403cbc
mov edx, dword [ebp - 0x164]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x34]
push eax
push 0x4646a0
push dword [ebp - 4]
push 0x4646ac
push dword [ebp - 0x18]
lea eax, [ebp - 0x168]
mov edx, 4
call fcn.00403d30
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0xc]
pop edx
mov esi, dword [eax]
call dword [esi + 0x54]
jmp 0x464603
lea eax, [ebp - 0x18]
call fcn.0046c924
lea eax, [ebp - 0x16c]
push eax
lea ecx, [ebp - 0x170]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x170]
mov ecx, 1
mov edx, 1
call fcn.00403e78
mov eax, dword [ebp - 0x16c]
mov edx, 0x4646a0
call fcn.00403d80
jne 0x464603
lea ecx, [ebp - 0x178]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov esi, dword [eax]
call dword [esi + 0xc]
push dword [ebp - 0x178]
push 0x4646b8
push dword [ebp - 4]
push 0x4646ac
push dword [ebp - 0x18]
lea eax, [ebp - 0x174]
mov edx, 5
call fcn.00403d30
mov ecx, dword [ebp - 0x174]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov esi, dword [eax]
call dword [esi + 0x20]
jmp 0x464603
lea eax, [ebp - 0x17c]
lea edx, [ebp - 0x12c]
mov ecx, 0x104
call fcn.00403c20
mov edx, dword [ebp - 0x17c]
lea ecx, [ebp - 0x14]
mov eax, dword [ebp - 8]
mov esi, dword [eax]
call dword [esi + 0x78]
test al, al
jne 0x464603
lea eax, [ebp - 0x180]
lea edx, [ebp - 0x12c]
mov ecx, 0x104
call fcn.00403c20
mov edx, dword [ebp - 0x180]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x34]
push eax
push dword [ebp - 4]
push 0x4646ac
lea eax, [ebp - 0x188]
lea edx, [ebp - 0x12c]
mov ecx, 0x104
call fcn.00403c20
push dword [ebp - 0x188]
lea eax, [ebp - 0x184]
mov edx, 3
call fcn.00403d30
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xc]
pop edx
mov esi, dword [eax]
call dword [esi + 0x54]
lea eax, [ebp - 0x158]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll_FindNextFileA
neg eax
sbb eax, eax
neg eax
test al, al
je 0x464629
cmp ebx, 0x5dc
jl 0x4643f5
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll_FindClose_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x464667
lea eax, [ebp - 0x188]
mov edx, 0xc
call fcn.00403a14
lea eax, [ebp - 0x18]
call fcn.004039f0
lea eax, [ebp - 4]
call fcn.004039f0
ret