Function at 0x4a8810
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e6633
mov eax, dword fs:[0]
push eax
sub esp, 0xa4
mov eax, dword [0x651ea8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xac], ecx
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0xa8], eax
call fcn.004a8d00
mov ecx, esi
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a8870
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00406cf0
mov esi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x28]
mov dword [ebp - 4], 0
test esi, esi
je 0x4a8998
cmp ebx, 0x10
lea eax, [ebp - 0x28]
cmovae eax, edi
mov al, byte [esi + eax - 1]
cmp al, 0x5c
je 0x4a8998
cmp esi, ebx
jae 0x4a88d1
lea eax, [esi + 1]
cmp ebx, 0x10
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x28]
cmovae eax, edi
mov word [eax + esi], 0x5c
mov edi, dword [ebp - 0x28]
jmp 0x4a8992
mov edx, closesocket
mov eax, edx
sub eax, esi
cmp eax, 1
jb 0x4a8ce7
lea ecx, [esi + 1]
or ecx, 0xf
cmp ecx, edx
jbe 0x4a88f1
mov ecx, edx
jmp 0x4a8909
mov eax, ebx
shr eax, 1
sub edx, eax
cmp ebx, edx
jbe 0x4a8902
mov ecx, closesocket
jmp 0x4a8909
add eax, ebx
cmp ecx, eax
cmovb ecx, eax
lea eax, [ecx + 1]
mov dword [ebp - 0xa4], ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.00406c90
mov edi, eax
lea eax, [esi + 1]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x14], eax
push esi
cmp ebx, 0x10
jb 0x4a897c
mov eax, dword [ebp - 0x28]
push eax
push edi
mov dword [ebp - 0xa4], eax
call fcn.0058f3f0
mov eax, dword [ebp - 0xa4]
inc ebx
add esp, 0xc
mov word [esi + edi], 0x5c
cmp ebx, 0x1000
jb 0x4a8970
mov ecx, dword [eax - 4]
add ebx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a8cec
mov eax, ecx
push ebx
push eax
call fcn.00552cbd
add esp, 8
jmp 0x4a898f
lea eax, [ebp - 0x28]
push eax
push edi
call fcn.0058f3f0
add esp, 0xc
mov word [esi + edi], 0x5c
mov dword [ebp - 0x28], edi
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp ebx, 0x10
mov byte [ebp - 4], 1
lea eax, [ebp - 0x28]
cmovae eax, edi
lea ecx, [ebp - 0x40]
push esi
push eax
call fcn.00407a40
push 3
push 0x61f4fc
lea ecx, [ebp - 0x40]
call fcn.00407a40
mov ebx, dword [ebp - 0xac]
lea eax, [ebp - 0x40]
or dword [ebx + 4], 0x10
lea ecx, [ebx + 4]
cmp dword [ebp - 0x2c], 0x10
push ecx
cmovae eax, dword [ebp - 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebx + 0x144], eax
cmp eax, 0xffffffff
je 0x4a8c4d
mov esi, dword [ebp - 0xa8]
lea edi, [ebx + 0x30]
mov dword [ebp - 0xa4], edi
nop
cmp byte [edi], 0x2e
je 0x4a8c35
mov ecx, ebx
call fcn.004a8d50
test al, al
je 0x4a8a40
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
mov eax, dword [ebx]
cmovae ecx, dword [ebp - 0x28]
push edi
push ecx
mov eax, dword [eax + 4]
mov ecx, ebx
push esi
call eax
jmp 0x4a8c31
push 0x2e
push edi
call fcn.0058ece0
add esp, 8
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x4a8c35
cmp dword [ebp + 0x10], 0
je 0x4a8c1b
mov ebx, dword [ebp - 0xa8]
mov ecx, ebx
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a8a80
sub ecx, edx
push ecx
push ebx
lea ecx, [ebp - 0x70]
call fcn.00406cf0
cmp dword [ebp - 0x5c], 0x10
lea esi, [ebp - 0x70]
mov eax, dword [ebp - 0x60]
cmovae esi, dword [ebp - 0x70]
mov byte [ebp - 4], 2
test eax, eax
je 0x4a8abf
push eax
push 0x3b
push esi
call fcn.0058fef0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4a8abf
sub edi, esi
jmp 0x4a8ac2
or edi, 0xffffffff
test edi, edi
jle 0x4a8be8
mov ecx, ebx
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a8ae1
sub ecx, edx
push ecx
push ebx
lea ecx, [ebp - 0x58]
call fcn.00406cf0
push edi
push 0
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x58]
call fcn.00453e80
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 5
call fcn.00406ed0
mov esi, ebx
lea ecx, [esi + 1]
nop dword [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x4a8b20
sub esi, ecx
mov dword [ebp - 0x48], 0
mov ecx, ebx
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], al
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a8b40
sub ecx, edx
push ecx
push ebx
lea ecx, [ebp - 0x58]
call fcn.00406cf0
push esi
lea eax, [edi + 1]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x58]
call fcn.00453e80
lea ecx, [ebp - 0x58]
call fcn.00406ed0
mov esi, dword [ebp - 0xb0]
lea ecx, [ebp - 0xa0]
inc esi
push esi
call fcn.00416930
test eax, eax
je 0x4a8bd0
push esi
lea ecx, [ebp - 0x88]
call fcn.00416930
test eax, eax
je 0x4a8bd0
lea ecx, [ebp - 0x88]
call fcn.00406ed0
lea ecx, [ebp - 0xa0]
call fcn.00406ed0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 1
call fcn.00406ed0
mov esi, dword [ebp - 0xa8]
mov ebx, dword [ebp - 0xac]
mov edi, dword [ebp - 0xa4]
jmp 0x4a8c35
lea ecx, [ebp - 0x88]
call fcn.00406ed0
lea ecx, [ebp - 0xa0]
call fcn.00406ed0
jmp 0x4a8bfd
mov eax, dword [ebp - 0xb0]
inc eax
push ebx
push eax
call fcn.005a11a3
add esp, 8
test eax, eax
jne 0x4a8bb0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 1
call fcn.00406ed0
mov esi, dword [ebp - 0xa8]
mov ebx, dword [ebp - 0xac]
mov edi, dword [ebp - 0xa4]
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
mov eax, dword [ebx]
cmovae ecx, dword [ebp - 0x28]
push edi
push ecx
mov eax, dword [eax + 8]
mov ecx, ebx
call eax
test al, al
je 0x4a8c77
lea eax, [ebx + 4]
push eax
push dword [ebx + 0x144]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4a8a10
mov bl, 1
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x4a8c85
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4a8c7b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a8cec
jmp 0x4a8c7b
xor bl, bl
jmp 0x4a8c4f
push edx
push ecx
call fcn.00552cbd
add esp, 8
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x4a8cc7
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4a8cbd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a8cf1
push edx
push ecx
call fcn.00552cbd
add esp, 8
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00552cac
mov esp, ebp
pop ebp
ret 0xc
call fcn.00406c80
call fcn.005984ba
call fcn.005984ba
int3