Function at 0x4f0480
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x63aed8
mov eax, dword fs:[0]
push eax
sub esp, 0xa4
mov eax, dword [0x6d5600]
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 eax, ecx
mov dword [ebp - 0xa4], eax
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0xac], edi
call fcn.004f0c00
mov ecx, esi
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4f04e5
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00451ee0
mov esi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 4], 0
test esi, esi
je 0x4f0644
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x28]
cmp ebx, 0x10
cmovae eax, ecx
cmp byte [eax + esi - 1], 0x5c
je 0x4f0644
cmp esi, ebx
jae 0x4f0542
lea eax, [esi + 1]
cmp ebx, 0x10
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x28]
cmovae eax, ecx
mov word [eax + esi], 0x5c
jmp 0x4f063e
mov ecx, SysReAllocString
mov eax, ecx
sub eax, esi
cmp eax, 1
jb 0x4f0be9
lea edi, [esi + 1]
or edi, 0xf
cmp edi, ecx
jbe 0x4f0570
mov eax, connect
mov edi, ecx
push eax
call fcn.0044f5f0
add esp, 4
jmp 0x4f05bc
mov eax, ebx
shr eax, 1
sub ecx, eax
cmp ebx, ecx
jbe 0x4f058f
mov eax, connect
mov edi, SysReAllocString
push eax
call fcn.0044f5f0
add esp, 4
jmp 0x4f05bc
add eax, ebx
cmp edi, eax
cmovb edi, eax
lea eax, [edi + 1]
cmp eax, 0x1000
jb 0x4f05ab
push eax
call fcn.0044f5f0
add esp, 4
jmp 0x4f05bc
test eax, eax
je 0x4f05ba
push eax
call fcn.00599754
add esp, 4
jmp 0x4f05bc
xor eax, eax
mov dword [ebp - 0x14], edi
lea ecx, [esi + 1]
mov dword [ebp - 0xa8], eax
lea edi, [eax + esi]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xb0], edi
push esi
cmp ebx, 0x10
jb 0x4f061d
mov edi, dword [ebp - 0x28]
push edi
push eax
call fcn.005d5670
mov eax, dword [ebp - 0xb0]
inc ebx
add esp, 0xc
mov word [eax], 0x5c
cmp ebx, 0x1000
jb 0x4f0611
mov ecx, dword [edi - 4]
add ebx, 0x23
sub edi, ecx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x4f0bee
mov edi, ecx
push ebx
push edi
call fcn.005994f5
add esp, 8
jmp 0x4f062f
lea ecx, [ebp - 0x28]
push ecx
push eax
call fcn.005d5670
add esp, 0xc
mov word [edi], 0x5c
mov eax, dword [ebp - 0xa8]
mov edi, dword [ebp - 0xac]
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
cmp ebx, 0x10
mov byte [ebp - 4], 1
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x70]
push esi
push eax
call fcn.00451d50
push 3
push 0x6517d4
lea ecx, [ebp - 0x70]
call fcn.00451d50
mov ecx, dword [ebp - 0xa4]
lea eax, [ebp - 0x70]
add ecx, 4
push ecx
or dword [ecx], 0x10
cmp dword [ebp - 0x5c], 0x10
cmovae eax, dword [ebp - 0x70]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, dword [ebp - 0xa4]
mov dword [esi + 0x144], eax
cmp eax, 0xffffffff
je 0x4f0b4b
lea ebx, [esi + 0x30]
mov dword [ebp - 0xa8], ebx
cmp byte [ebx], 0x2e
je 0x4f0b33
mov ecx, esi
call fcn.004f0c50
test al, al
je 0x4f0703
mov ecx, dword [ebp - 0xa4]
cmp dword [ebp - 0x14], 0x10
push ebx
mov eax, dword [ecx]
mov edx, dword [eax + 4]
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
push edi
call edx
test al, al
je 0x4f0bbb
mov esi, dword [ebp - 0xa4]
jmp 0x4f0b33
push 0x2e
push ebx
call fcn.005d6210
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4f0b30
cmp dword [ebp + 0x10], 0
je 0x4f0aa2
mov ecx, edi
mov dword [ebp - 0x58], 0
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 0x4f0740
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x58]
call fcn.00451ee0
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 0x4f077f
push eax
push 0x3b
push edi
call fcn.005d5db0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4f077f
sub esi, edi
jmp 0x4f0782
or esi, 0xffffffff
mov edi, dword [ebp - 0xac]
test esi, esi
jle 0x4f0ad5
mov ecx, edi
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4f07b0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x40]
call fcn.00451ee0
cmp dword [ebp - 0x30], esi
lea eax, [ebp - 0x40]
mov ecx, esi
mov dword [ebp - 0x88], 0
cmovb ecx, dword [ebp - 0x30]
cmp dword [ebp - 0x2c], 0x10
push ecx
cmovae eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x88]
push eax
mov byte [ebp - 4], 3
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
call fcn.00451ee0
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 5
cmp ecx, 0x10
jb 0x4f083f
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f0835
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f0bee
push ecx
push edx
call fcn.005994f5
add esp, 8
mov ecx, edi
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4f0860
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x40]
call fcn.00451ee0
mov ecx, edi
mov byte [ebp - 4], 6
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4f0880
mov eax, dword [ebp - 0x30]
inc esi
sub ecx, edx
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
cmp eax, esi
jb 0x4f0bf3
sub eax, esi
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push ecx
add eax, esi
lea ecx, [ebp - 0xa0]
push eax
call fcn.00451ee0
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 5
cmp ecx, 0x10
jb 0x4f090c
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f0902
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f0bee
push ecx
push edx
call fcn.005994f5
add esp, 8
lea esi, [ebx + 1]
push esi
lea ecx, [ebp - 0x88]
call fcn.0045f9e0
test eax, eax
je 0x4f09f5
push esi
lea ecx, [ebp - 0xa0]
call fcn.0045f9e0
test eax, eax
je 0x4f09f5
mov ecx, dword [ebp - 0x8c]
cmp ecx, 0x10
jb 0x4f0971
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f0967
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f0bee
push ecx
push edx
call fcn.005994f5
add esp, 8
mov ecx, dword [ebp - 0x74]
mov byte [ebp - 4], 2
cmp ecx, 0x10
jb 0x4f09ac
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f09a2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f0bee
push ecx
push edx
call fcn.005994f5
add esp, 8
mov ecx, dword [ebp - 0x44]
mov byte [ebp - 4], 1
cmp ecx, 0x10
jb 0x4f09e4
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f09da
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f0bee
push ecx
push edx
call fcn.005994f5
add esp, 8
mov esi, dword [ebp - 0xa4]
mov ebx, dword [ebp - 0xa8]
jmp 0x4f0b33
mov ecx, dword [ebp - 0x8c]
cmp ecx, 0x10
jb 0x4f0a2f
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f0a25
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f0bee
push ecx
push edx
call fcn.005994f5
add esp, 8
mov ecx, dword [ebp - 0x74]
mov byte [ebp - 4], 2
cmp ecx, 0x10
jb 0x4f0a6a
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f0a60
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f0bee
push ecx
push edx
call fcn.005994f5
add esp, 8
mov ecx, dword [ebp - 0x44]
mov byte [ebp - 4], 1
cmp ecx, 0x10
jb 0x4f0aa2
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f0a98
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f0bee
push ecx
push edx
call fcn.005994f5
add esp, 8
mov ecx, dword [ebp - 0xa4]
cmp dword [ebp - 0x14], 0x10
mov eax, dword [ecx]
lea ebx, [ecx + 0x30]
push ebx
mov edx, dword [eax + 8]
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call edx
test al, al
je 0x4f0bbb
mov edi, dword [ebp - 0xac]
mov esi, dword [ebp - 0xa4]
jmp 0x4f0b33
lea eax, [ebx + 1]
push edi
push eax
call fcn.005e934d
add esp, 8
test eax, eax
je 0x4f0a6a
mov ecx, dword [ebp - 0x44]
mov byte [ebp - 4], 1
cmp ecx, 0x10
jb 0x4f09e4
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f0b18
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f0bee
push ecx
push edx
call fcn.005994f5
mov esi, dword [ebp - 0xa4]
add esp, 8
mov ebx, dword [ebp - 0xa8]
jmp 0x4f0b33
lea ebx, [esi + 0x30]
lea eax, [esi + 4]
push eax
push dword [esi + 0x144]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4f06c1
mov bl, 1
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x4f0b81
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f0b77
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f0bee
push ecx
push edx
call fcn.005994f5
add esp, 8
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
cmp ecx, 0x10
jb 0x4f0bc9
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4f0bbf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f0bee
jmp 0x4f0bbf
xor bl, bl
jmp 0x4f0b4d
push ecx
push edx
call fcn.005994f5
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.005994b1
mov esp, ebp
pop ebp
ret 0xc
call fcn.0044f9e0
call fcn.005e01aa
call fcn.0047e330
int3