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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x79
push 0
push 0
dec ecx
jne 0x4979ad
xchg dword [ebp - 4], ecx
push ebx
push esi
mov esi, ecx
mov ebx, edx
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
call fcn.004052ec
xor eax, eax
push ebp
push 0x497eb3
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00499c58
test al, al
je 0x497bfa
lea eax, [ebp - 0x39c]
push eax
lea eax, [ebp - 0x3a0]
mov ecx, 0x497ec4
mov edx, dword [ebp - 4]
call fcn.0040504c
mov eax, dword [ebp - 0x3a0]
call fcn.00404fd0
push eax
call dword [0x51a708]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
je 0x497e44
xor eax, eax
push ebp
push 0x497bf3
push dword fs:[eax]
mov dword fs:[eax], esp
test bl, bl
je 0x497ac8
test byte [ebp - 0x39c], 0x10
je 0x497ac8
push 0x497ed0
lea eax, [ebp - 0x370]
push eax
call dword [0x51a720]
test eax, eax
je 0x497bba
push 0x497ed4
lea eax, [ebp - 0x370]
push eax
call dword [0x51a720]
test eax, eax
je 0x497bba
test byte [ebp - 0x39b], 4
jne 0x497bba
push dword [ebp - 4]
push 0x497ee0
lea eax, [ebp - 0x3a8]
lea edx, [ebp - 0x370]
mov ecx, 0x104
call fcn.00404fa4
push dword [ebp - 0x3a8]
lea eax, [ebp - 0x3a4]
mov edx, 3
call fcn.004050b0
mov eax, dword [ebp - 0x3a4]
mov ecx, esi
mov edx, ebx
call fcn.004979a4
jmp 0x497bba
push 0
push 0xffffffffffffffff
mov eax, dword [ebp - 0x380]
xor edx, edx
call fcn.004058d0
add eax, dword [esi]
adc edx, dword [esi + 4]
push edx
push eax
mov eax, dword [ebp - 0x37c]
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x497bba
test bl, bl
je 0x497b8b
test byte [ebp - 0x39c], 0x10
je 0x497b8b
push 0x497ed0
lea eax, [ebp - 0x370]
push eax
call dword [0x51a720]
test eax, eax
je 0x497bba
push 0x497ed4
lea eax, [ebp - 0x370]
push eax
call dword [0x51a720]
test eax, eax
je 0x497bba
test byte [ebp - 0x39b], 4
jne 0x497bba
push dword [ebp - 4]
push 0x497ee0
lea eax, [ebp - 0x3b0]
lea edx, [ebp - 0x370]
mov ecx, 0x104
call fcn.00404fa4
push dword [ebp - 0x3b0]
lea eax, [ebp - 0x3ac]
mov edx, 3
call fcn.004050b0
mov eax, dword [ebp - 0x3ac]
mov ecx, esi
mov edx, ebx
call fcn.004979a4
jmp 0x497bba
push 0
push 0xffffffffffffffff
mov eax, dword [ebp - 0x380]
xor edx, edx
call fcn.004058d0
add eax, dword [esi]
adc edx, dword [esi + 4]
push edx
push eax
mov eax, dword [ebp - 0x37c]
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov dword [esi], eax
mov dword [esi + 4], edx
lea eax, [ebp - 0x39c]
push eax
mov eax, dword [ebp - 8]
push eax
call dword [0x51a70c]
test eax, eax
je 0x497bdc
cmp byte [0x51a820], 0
je 0x497afc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x497e44
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_FindClose_1
ret
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 4]
call fcn.00404990
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x3b4]
mov ecx, 0x497eec
mov edx, dword [ebp - 0xc]
call fcn.00404a14
mov eax, dword [ebp - 0x3b4]
call fcn.00404bc8
push eax
call sub.kernel32.dll_FindFirstFileA_1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
je 0x497e44
xor eax, eax
push ebp
push 0x497e3d
push dword fs:[eax]
mov dword fs:[eax], esp
test bl, bl
je 0x497cf8
test byte [ebp - 0x14c], 0x10
je 0x497cf8
push 0x497ed0
lea eax, [ebp - 0x120]
push eax
call sub.kernel32.dll_lstrcmpiA
test eax, eax
je 0x497e05
push 0x497ef4
lea eax, [ebp - 0x120]
push eax
call sub.kernel32.dll_lstrcmpiA
test eax, eax
je 0x497e05
test byte [ebp - 0x14b], 4
jne 0x497e05
push dword [ebp - 0xc]
push 0x497f00
lea eax, [ebp - 0x3c0]
lea edx, [ebp - 0x120]
mov ecx, 0x104
call fcn.00404978
push dword [ebp - 0x3c0]
lea eax, [ebp - 0x3bc]
mov edx, 3
call fcn.00404a88
mov edx, dword [ebp - 0x3bc]
lea eax, [ebp - 0x3b8]
call fcn.00404fc0
mov eax, dword [ebp - 0x3b8]
mov ecx, esi
mov edx, ebx
call fcn.004979a4
jmp 0x497e05
push 0
push 0xffffffffffffffff
mov eax, dword [ebp - 0x130]
xor edx, edx
call fcn.004058d0
add eax, dword [esi]
adc edx, dword [esi + 4]
push edx
push eax
mov eax, dword [ebp - 0x12c]
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x497e05
test bl, bl
je 0x497dd6
test byte [ebp - 0x14c], 0x10
je 0x497dd6
push 0x497ed0
lea eax, [ebp - 0x120]
push eax
call sub.kernel32.dll_lstrcmpiA
test eax, eax
je 0x497e05
push 0x497ef4
lea eax, [ebp - 0x120]
push eax
call sub.kernel32.dll_lstrcmpiA
test eax, eax
je 0x497e05
test byte [ebp - 0x14b], 4
jne 0x497e05
push dword [ebp - 0xc]
push 0x497f00
lea eax, [ebp - 0x3cc]
lea edx, [ebp - 0x120]
mov ecx, 0x104
call fcn.00404978
push dword [ebp - 0x3cc]
lea eax, [ebp - 0x3c8]
mov edx, 3
call fcn.00404a88
mov edx, dword [ebp - 0x3c8]
lea eax, [ebp - 0x3c4]
call fcn.00404fc0
mov eax, dword [ebp - 0x3c4]
mov ecx, esi
mov edx, ebx
call fcn.004979a4
jmp 0x497e05
push 0
push 0xffffffffffffffff
mov eax, dword [ebp - 0x130]
xor edx, edx
call fcn.004058d0
add eax, dword [esi]
adc edx, dword [esi + 4]
push edx
push eax
mov eax, dword [ebp - 0x12c]
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov dword [esi], eax
mov dword [esi + 4], edx
lea eax, [ebp - 0x14c]
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_FindNextFileA
test eax, eax
je 0x497e26
cmp byte [0x51a820], 0
je 0x497d2c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x497e44
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_FindClose_1
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x497eba
lea eax, [ebp - 0x3cc]
mov edx, 2
call fcn.0040471c
lea eax, [ebp - 0x3c4]
call fcn.00404dec
lea eax, [ebp - 0x3c0]
mov edx, 2
call fcn.0040471c
lea eax, [ebp - 0x3b8]
call fcn.00404dec
lea eax, [ebp - 0x3b4]
call fcn.004046f8
lea eax, [ebp - 0x3b0]
mov edx, 5
call fcn.00404e04
lea eax, [ebp - 0xc]
call fcn.004046f8
lea eax, [ebp - 4]
call fcn.00404dec
ret