Function at 0x4012b0
Capabilities:
Enumerate files on windows
Enumerate files recursively

Disassembly:
push 0xffffffffffffffff
push 0x443c6d
mov eax, dword fs:[0]
push eax
sub esp, 0x1ec
mov eax, dword [0x457640]
xor eax, esp
mov dword [esp + 0x1e8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x457640]
xor eax, esp
push eax
lea eax, [esp + 0x200]
mov dword fs:[0], eax
mov eax, dword [esp + 0x214]
mov esi, dword [esp + 0x210]
mov ebp, dword [esp + 0x218]
xor ebx, ebx
mov dword [esp + 0x28], eax
mov eax, esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x1c], ebp
mov byte [esp + 0x17], bl
mov dword [esp + 0x80], 0xf
mov dword [esp + 0x7c], ebx
mov byte [esp + 0x6c], bl
lea ecx, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x401330
sub eax, ecx
push eax
push esi
lea ecx, [esp + 0x70]
call fcn.004026a0
mov dword [esp + 0x208], ebx
mov eax, dword [esp + 0x7c]
cmp eax, ebx
je 0x40138c
lea esi, [eax - 1]
cmp eax, esi
ja 0x40135f
call fcn.00441f16
cmp dword [esp + 0x80], 0x10
mov eax, dword [esp + 0x6c]
jae 0x401371
lea eax, [esp + 0x6c]
mov al, byte [eax + esi]
cmp al, 0x2f
je 0x40138c
cmp al, 0x5c
je 0x40138c
push 1
push 0x44a860
lea eax, [esp + 0x70]
call fcn.00401fb0
cmp ebp, ebx
je 0x4014f2
mov ecx, dword [ebp + 0x10]
sub ecx, dword [ebp + 0xc]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4014f2
cmp eax, ebx
jbe 0x4014f2
mov byte [esp + 0x18], 0x5c
mov ecx, dword [esp + 0x7c]
push 1
lea edx, [esp + 0x1c]
add ecx, 0xfffffffe
push edx
lea edi, [esp + 0x70]
call fcn.00402300
mov edi, eax
cmp edi, 0xffffffff
je 0x4014ce
push ebx
mov eax, ebp
call fcn.00401e70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], 0xf
mov dword [esp + 0x50], 0
mov byte [esp + 0x40], 0
call fcn.00402150
mov byte [esp + 0x208], 1
mov eax, dword [esp + 0x44]
test eax, eax
je 0x401453
lea esi, [eax - 1]
cmp eax, esi
ja 0x401429
call fcn.00441f16
cmp dword [esp + 0x48], 0x10
mov eax, dword [esp + 0x34]
jae 0x401438
lea eax, [esp + 0x34]
mov al, byte [eax + esi]
cmp al, 0x2f
je 0x401453
cmp al, 0x5c
je 0x401453
push 1
push 0x44a860
lea eax, [esp + 0x38]
call fcn.00401fb0
mov eax, dword [esp + 0x7c]
sub eax, edi
inc eax
push eax
lea ecx, [edi + 1]
lea esi, [esp + 0x50]
lea edx, [esp + 0x6c]
call fcn.00401d90
lea eax, [esp + 0x30]
mov edx, esi
mov byte [esp + 0x208], 2
call fcn.00402ec0
mov esi, 0x10
test al, al
jne 0x4015b0
cmp dword [esp + 0x64], esi
jb 0x40149e
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0040fc42
add esp, 4
mov byte [esp + 0x208], 0
mov dword [esp + 0x64], 0xf
mov dword [esp + 0x60], 0
mov byte [esp + 0x50], 0
cmp dword [esp + 0x48], esi
jb 0x4014ce
mov edx, dword [esp + 0x34]
push edx
call fcn.0040fc42
add esp, 4
mov ecx, dword [ebp + 0x10]
sub ecx, dword [ebp + 0xc]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc ebx
add eax, edx
cmp ebx, eax
jb 0x4013c0
xor ebx, ebx
push 1
push 0x44a84c
lea eax, [esp + 0x70]
call fcn.00401fb0
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x70]
push ecx
lea ecx, [esp + 0x90]
mov dword [esp + 0xa8], 0xf
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x94], 0
call fcn.00402150
mov byte [esp + 0x208], 3
cmp dword [esp + 0x9c], 0x10
mov eax, dword [esp + 0x88]
jae 0x401550
lea eax, [esp + 0x88]
lea edx, [esp + 0xbc]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [esp + 0x24], eax
cmp eax, 0xffffffff
je 0x4019bf
lea esp, [esp]
test byte [esp + 0xbc], 0x10
je 0x4019a2
mov ecx, 0x44a858
lea eax, [esp + 0xe8]
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40160d
test dl, dl
je 0x4015ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40160d
add eax, 2
add ecx, 2
test dl, dl
jne 0x401590
xor eax, eax
jmp 0x401612
cmp dword [esp + 0x64], esi
jb 0x4015c3
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0040fc42
add esp, 4
xor ebx, ebx
mov edi, 0xf
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], ebx
mov byte [esp + 0x50], bl
cmp dword [esp + 0x48], esi
jb 0x4015e9
mov edx, dword [esp + 0x34]
push edx
call fcn.0040fc42
add esp, 4
mov dword [esp + 0x48], edi
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], 0
cmp dword [esp + 0x80], esi
jb 0x401a22
mov eax, dword [esp + 0x6c]
push eax
jmp 0x401a1a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4019a2
mov ecx, 0x44a85c
lea eax, [esp + 0xe8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401646
test dl, dl
je 0x401642
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401646
add eax, 2
add ecx, 2
test dl, dl
jne 0x401626
xor eax, eax
jmp 0x40164b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4019a2
mov esi, dword [esp + 0x2c]
xor ebx, ebx
mov eax, esi
mov dword [esp + 0x48], 0xf
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x401670
sub eax, edx
push eax
push esi
lea ecx, [esp + 0x38]
call fcn.004026a0
mov byte [esp + 0x208], 4
mov eax, dword [esp + 0x44]
cmp eax, ebx
je 0x4016ca
lea esi, [eax - 1]
cmp eax, esi
ja 0x4016a0
call fcn.00441f16
cmp dword [esp + 0x48], 0x10
mov eax, dword [esp + 0x34]
jae 0x4016af
lea eax, [esp + 0x34]
mov al, byte [eax + esi]
cmp al, 0x2f
je 0x4016ca
cmp al, 0x5c
je 0x4016ca
push 1
push 0x44a860
lea eax, [esp + 0x38]
call fcn.00401fb0
lea eax, [esp + 0xe8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4016d4
sub eax, edx
push eax
lea eax, [esp + 0xec]
push eax
lea eax, [esp + 0x38]
call fcn.00401fb0
mov eax, dword [esp + 0x44]
cmp eax, ebx
je 0x40172d
lea esi, [eax - 1]
cmp eax, esi
ja 0x401703
call fcn.00441f16
cmp dword [esp + 0x48], 0x10
mov eax, dword [esp + 0x34]
jae 0x401712
lea eax, [esp + 0x34]
mov al, byte [eax + esi]
cmp al, 0x2f
je 0x40172d
cmp al, 0x5c
je 0x40172d
push 1
push 0x44a860
lea eax, [esp + 0x38]
call fcn.00401fb0
mov ebp, dword [esp + 0x1c]
cmp ebp, ebx
je 0x401959
mov ecx, dword [ebp + 0x10]
sub ecx, dword [ebp + 0xc]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x401959
mov dword [esp + 0x20], ebx
cmp eax, ebx
jbe 0x4018de
mov ecx, dword [esp + 0x44]
push 1
dec ecx
push 0x44a860
lea edi, [esp + 0x70]
call fcn.00402300
mov esi, eax
cmp esi, 0xffffffff
je 0x4018b4
push ebx
mov eax, ebp
call fcn.00401e70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x58]
mov dword [esp + 0x70], 0xf
mov dword [esp + 0x6c], 0
mov byte [esp + 0x5c], 0
call fcn.00402150
mov byte [esp + 0x208], 5
mov eax, dword [esp + 0x60]
test eax, eax
je 0x4017f5
lea edi, [eax - 1]
cmp eax, edi
ja 0x4017cb
call fcn.00441f16
cmp dword [esp + 0x64], 0x10
mov eax, dword [esp + 0x50]
jae 0x4017da
lea eax, [esp + 0x50]
mov al, byte [eax + edi]
cmp al, 0x2f
je 0x4017f5
cmp al, 0x5c
je 0x4017f5
push 1
push 0x44a860
lea eax, [esp + 0x54]
call fcn.00401fb0
mov ecx, dword [esp + 0x44]
sub ecx, esi
inc ecx
push ecx
lea ecx, [esi + 1]
lea esi, [esp + 0xa4]
lea edx, [esp + 0x34]
call fcn.00401d90
cmp dword [esp + 0x64], 0x10
mov ecx, dword [esp + 0x50]
jae 0x40181f
lea ecx, [esp + 0x50]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0x60]
mov eax, esi
cmp esi, edi
jb 0x401832
mov eax, edi
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0xa4]
mov edx, ebp
cmp ebx, 0x10
jae 0x40184e
lea edx, [esp + 0xa4]
call section..text
test eax, eax
jne 0x401868
cmp esi, edi
jb 0x401868
cmp esi, edi
setne al
test eax, eax
je 0x40190e
cmp ebx, 0x10
jb 0x401876
push ebp
call fcn.0040fc42
add esp, 4
mov byte [esp + 0x208], 4
cmp dword [esp + 0x64], 0x10
mov dword [esp + 0xb8], 0xf
mov dword [esp + 0xb4], 0
mov byte [esp + 0xa4], 0
jb 0x4018b0
mov edx, dword [esp + 0x50]
push edx
call fcn.0040fc42
add esp, 4
mov ebp, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x10]
sub ecx, dword [ebp + 0xc]
mov ebx, dword [esp + 0x20]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc ebx
add eax, edx
mov dword [esp + 0x20], ebx
cmp ebx, eax
jb 0x401764
cmp byte [esp + 0x17], 0
je 0x401955
cmp byte [esp + 0x17], 0
mov byte [esp + 0x208], 3
sete dl
cmp dword [esp + 0x48], 0x10
mov byte [esp + 0x17], dl
jb 0x4019a2
mov eax, dword [esp + 0x34]
push eax
jmp 0x40199a
mov byte [esp + 0x17], 1
cmp ebx, 0x10
jb 0x401921
push ebp
call fcn.0040fc42
add esp, 4
cmp dword [esp + 0x64], 0x10
mov dword [esp + 0xb8], 0xf
mov dword [esp + 0xb4], 0
mov byte [esp + 0xa4], 0
jb 0x4018e5
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0040fc42
add esp, 4
jmp 0x4018e5
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
lea ecx, [esp + 0x30]
push ecx
call fcn.00401f10
mov eax, dword [esp + 0x34]
mov esi, 0x10
cmp dword [esp + 0x48], esi
jae 0x40197a
lea eax, [esp + 0x34]
push 1
push ebp
push ebx
push eax
call fcn.004012b0
add esp, 0x10
mov byte [esp + 0x208], 3
cmp dword [esp + 0x48], esi
jb 0x4019a2
mov edx, dword [esp + 0x34]
push edx
call fcn.0040fc42
add esp, 4
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0xbc]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x401570
jmp 0x4019c5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [esp + 0x24]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov esi, 0x10
cmp dword [esp + 0x9c], esi
jb 0x4019ee
mov eax, dword [esp + 0x88]
push eax
call fcn.0040fc42
add esp, 4
mov dword [esp + 0x9c], 0xf
mov dword [esp + 0x98], 0
mov byte [esp + 0x88], 0
cmp dword [esp + 0x80], esi
jb 0x401a22
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.0040fc42
add esp, 4
mov ecx, dword [esp + 0x200]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1e8]
xor ecx, esp
call int.0042c7ef
add esp, 0x1f8
ret