Function at 0x4c77a0
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x60892b
mov eax, dword fs:[0]
push eax
sub esp, 0xc4
mov eax, dword [0x697398]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0xcc], ecx
mov ecx, eax
call fcn.004c7ea0
push esi
lea ecx, [ebp - 0x28]
call fcn.0043e500
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0
test esi, esi
je 0x4c7977
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x28]
cmp edi, 0x10
cmovae eax, ecx
cmp byte [esi + eax - 1], 0x5c
je 0x4c7977
cmp esi, edi
jae 0x4c783b
lea eax, [esi + 1]
cmp edi, 0x10
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x28]
cmovae eax, ecx
mov word [eax + esi], 0x5c
jmp 0x4c7971
mov edx, closesocket
mov eax, edx
sub eax, esi
cmp eax, 1
jb 0x4c7e8b
lea ecx, [esi + 1]
or ecx, 0xf
cmp ecx, edx
jbe 0x4c7877
mov eax, edx
mov dword [ebp - 0xc0], eax
mov eax, closesocket
push eax
call fcn.0043d6d0
mov ecx, dword [ebp - 0xc0]
add esp, 4
mov edx, eax
jmp 0x4c78ed
mov eax, edi
shr eax, 1
sub edx, eax
cmp edi, edx
jbe 0x4c78a4
mov eax, closesocket
mov dword [ebp - 0xc0], eax
mov eax, closesocket
push eax
call fcn.0043d6d0
mov ecx, dword [ebp - 0xc0]
add esp, 4
mov edx, eax
jmp 0x4c78ed
add eax, edi
cmp ecx, eax
cmovb ecx, eax
mov dword [ebp - 0xc0], ecx
lea eax, [ecx + 1]
cmp eax, 0x1000
jb 0x4c78ce
push eax
call fcn.0043d6d0
mov ecx, dword [ebp - 0xc0]
add esp, 4
mov edx, eax
jmp 0x4c78ed
test eax, eax
je 0x4c78eb
push eax
call fcn.0056a5b5
mov ecx, dword [ebp - 0xc0]
add esp, 4
mov edx, eax
mov dword [ebp - 0xc8], eax
jmp 0x4c78f3
xor edx, edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0x14], ecx
lea eax, [esi + 1]
mov dword [ebp - 0x18], eax
lea eax, [edx + esi]
mov dword [ebp - 0xc0], eax
push esi
cmp edi, 0x10
jb 0x4c7950
mov eax, dword [ebp - 0x28]
mov esi, eax
push esi
push edx
call fcn.005a5e20
mov eax, dword [ebp - 0xc0]
inc edi
add esp, 0xc
mov word [eax], 0x5c
cmp edi, 0x1000
jb 0x4c7944
mov ecx, dword [esi - 4]
add edi, 0x23
sub esi, ecx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x4c7e90
mov esi, ecx
push edi
push esi
call fcn.0056a59a
add esp, 8
jmp 0x4c7968
lea eax, [ebp - 0x28]
push eax
push edx
call fcn.005a5e20
mov eax, dword [ebp - 0xc0]
add esp, 0xc
mov word [eax], 0x5c
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x28], eax
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edi, 0x10
mov byte [ebp - 4], 1
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push esi
push eax
cmp esi, 0xf
ja 0x4c79bb
lea eax, [ebp - 0x40]
mov dword [ebp - 0x30], esi
push eax
call fcn.005a5e20
add esp, 0xc
mov byte [ebp + esi - 0x40], 0
jmp 0x4c79ca
push dword [ebp - 0xd0]
lea ecx, [ebp - 0x40]
push esi
call fcn.0043e200
mov edx, dword [ebp - 0x2c]
mov eax, edx
mov ecx, dword [ebp - 0x30]
sub eax, ecx
push 3
push 0x64a0d4
cmp eax, 3
jb 0x4c7a01
cmp edx, 0x10
lea esi, [ebp - 0x40]
lea eax, [ecx + 3]
cmovae esi, dword [ebp - 0x40]
add esi, ecx
mov dword [ebp - 0x30], eax
push esi
call fcn.005a5e20
add esp, 0xc
mov byte [esi + 3], 0
jmp 0x4c7a11
push dword [ebp - 0xd0]
lea ecx, [ebp - 0x40]
push 3
call fcn.0043e200
mov ecx, dword [ebp - 0xc4]
lea eax, [ebp - 0x40]
add ecx, 4
push ecx
or dword [ecx], 0x10
cmp dword [ebp - 0x2c], 0x10
cmovae eax, dword [ebp - 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, dword [ebp - 0xc4]
mov dword [esi + 0x144], eax
cmp eax, 0xffffffff
je 0x4c7cde
lea edi, [esi + 0x30]
mov dword [ebp - 0xc0], edi
nop
cmp byte [edi], 0x2e
je 0x4c7cc6
mov ecx, esi
call fcn.004c7ef0
test al, al
je 0x4c7a97
mov ecx, dword [ebp - 0xc4]
cmp dword [ebp - 0x14], 0x10
push edi
mov eax, dword [ecx]
mov edx, dword [eax + 4]
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
push dword [ebp - 0xcc]
call edx
test al, al
jne 0x4c7cc0
mov byte [ebp - 0xb9], al
jmp 0x4c7ce5
push 0x2e
push edi
call fcn.005a5710
add esp, 8
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x4c7cc6
cmp dword [ebp + 0x10], 0
je 0x4c7e31
push dword [ebp - 0xcc]
lea ecx, [ebp - 0x58]
call fcn.0043e500
cmp dword [ebp - 0x44], 0x10
lea edi, [ebp - 0x58]
mov eax, dword [ebp - 0x48]
cmovae edi, dword [ebp - 0x58]
mov byte [ebp - 4], 2
test eax, eax
je 0x4c7af4
push eax
push 0x3b
push edi
call fcn.005a63a0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4c7af4
sub esi, edi
jmp 0x4c7af7
or esi, 0xffffffff
test esi, esi
jle 0x4c7dd9
mov edi, dword [ebp - 0xcc]
lea ecx, [ebp - 0x70]
push edi
call fcn.0043e500
push esi
push 0
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 3
push ecx
mov ecx, eax
call fcn.004c7f00
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 5
cmp ecx, 0x10
jb 0x4c7b5b
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4c7b51
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c7e90
push ecx
push edx
call fcn.0056a59a
add esp, 8
push edi
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
call fcn.0043e500
mov edx, eax
mov ecx, edi
mov byte [ebp - 4], 6
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c7b84
sub ecx, edi
lea eax, [esi + 1]
push ecx
push eax
lea eax, [ebp - 0x88]
mov ecx, edx
push eax
call fcn.004c7f00
mov ecx, dword [ebp - 0xa4]
mov byte [ebp - 4], 5
cmp ecx, 0x10
jb 0x4c7bde
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4c7bd4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c7e90
push ecx
push edx
call fcn.0056a59a
add esp, 8
mov esi, dword [ebp - 0xc8]
lea ecx, [ebp - 0xa0]
inc esi
push esi
call fcn.004486a0
test eax, eax
je 0x4c7d62
push esi
lea ecx, [ebp - 0x88]
call fcn.004486a0
test eax, eax
je 0x4c7d62
mov ecx, dword [ebp - 0x74]
cmp ecx, 0x10
jb 0x4c7c44
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4c7c3a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c7e90
push ecx
push edx
call fcn.0056a59a
add esp, 8
mov ecx, dword [ebp - 0x8c]
mov byte [ebp - 4], 2
cmp ecx, 0x10
jb 0x4c7c82
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4c7c78
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c7e90
push ecx
push edx
call fcn.0056a59a
add esp, 8
mov ecx, dword [ebp - 0x44]
mov byte [ebp - 4], 1
cmp ecx, 0x10
jb 0x4c7cba
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4c7cb0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c7e90
push ecx
push edx
call fcn.0056a59a
add esp, 8
mov edi, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xc4]
lea eax, [esi + 4]
push eax
push dword [esi + 0x144]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4c7a50
mov byte [ebp - 0xb9], 1
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x4c7d19
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4c7d0f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c7e90
push ecx
push edx
call fcn.0056a59a
add esp, 8
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp ecx, 0x10
jb 0x4c7e68
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4c7e5e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c7e90
jmp 0x4c7e5e
mov ecx, dword [ebp - 0x74]
cmp ecx, 0x10
jb 0x4c7d99
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4c7d8f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c7e90
push ecx
push edx
call fcn.0056a59a
add esp, 8
mov ecx, dword [ebp - 0x8c]
mov byte [ebp - 4], 2
cmp ecx, 0x10
jb 0x4c7df7
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4c7dcd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c7e90
push ecx
push edx
call fcn.0056a59a
add esp, 8
jmp 0x4c7df7
mov eax, dword [ebp - 0xc8]
push dword [ebp - 0xcc]
inc eax
push eax
call fcn.005b9022
add esp, 8
test eax, eax
jne 0x4c7c82
mov ecx, dword [ebp - 0x44]
mov byte [ebp - 4], 1
cmp ecx, 0x10
jb 0x4c7e2b
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4c7e21
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4c7e90
push ecx
push edx
call fcn.0056a59a
add esp, 8
mov edi, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
cmp dword [ebp - 0x14], 0x10
push edi
mov eax, dword [ecx]
mov edx, dword [eax + 8]
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call edx
test al, al
jne 0x4c7cc0
mov byte [ebp - 0xb9], al
jmp 0x4c7ce5
push ecx
push edx
call fcn.0056a59a
add esp, 8
mov al, byte [ebp - 0xb9]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0056a569
mov esp, ebp
pop ebp
ret 0xc
call fcn.0043d580
call fcn.005b0360
int3