Function at 0x4176b0
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x489dd1
mov eax, dword fs:[0]
push eax
sub esp, 0x6d0
mov eax, dword [0x4c9080]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x6d0], ecx
mov dword [ecx], 0
xor ecx, ecx
push 0xffffffffffffffff
push ecx
mov word [ebp - 0x43c], cx
lea ecx, [ebp - 0x43c]
mov dword [ebp - 0x42c], 0
mov dword [ebp - 0x428], 0
push eax
mov dword [ebp - 0x428], 7
mov dword [ebp - 0x42c], 0
call fcn.0040c8c7
mov dword [ebp - 4], 0
lea esi, [ebp - 0x43c]
cmp dword [ebp - 0x428], 8
mov edx, 1
cmovae esi, dword [ebp - 0x43c]
cmp dword [ebp - 0x42c], edx
cmovb edx, dword [ebp - 0x42c]
test edx, edx
je 0x417781
mov ecx, 0x4b86c8
sub esi, ecx
nop dword [eax]
mov ax, word [ecx + esi]
cmp ax, word [ecx]
jne 0x417781
add ecx, 2
sub edx, 1
jne 0x417770
xor eax, eax
mov dword [ebp - 0x45c], 0
push 0xffffffffffffffff
push eax
mov dword [ebp - 0x458], 0
lea ecx, [ebp - 0x46c]
push edi
mov dword [ebx], 0
mov dword [ebp - 0x458], 7
mov dword [ebp - 0x45c], 0
mov word [ebp - 0x46c], ax
call fcn.0040c8c7
mov byte [ebp - 4], 1
mov edx, 7
mov dword [ebp - 0x440], 0
xor eax, eax
mov dword [ebp - 0x440], edx
mov esi, dword [ebp - 0x45c]
add esi, dword [ebp - 0x42c]
mov dword [ebp - 0x444], 0
mov dword [ebp - 0x444], 0
mov word [ebp - 0x454], ax
cmp esi, edx
je 0x41787c
cmp esi, 0x7ffffffe
jbe 0x41781f
push str.string_too_long
call fcn.00439ca9
cmp esi, edx
jbe 0x417839
push 0
push esi
lea ecx, [ebp - 0x454]
call fcn.0040d7e7
mov edx, dword [ebp - 0x440]
jmp 0x417859
cmp esi, 8
jae 0x417846
mov dword [ebp - 0x440], edx
jmp 0x41784a
test esi, esi
jne 0x41785d
mov dword [ebp - 0x444], eax
xor eax, eax
mov word [ebp - 0x454], ax
test esi, esi
je 0x41787c
cmp edx, 8
mov dword [ebp - 0x444], 0
lea eax, [ebp - 0x454]
cmovae eax, dword [ebp - 0x454]
xor ecx, ecx
mov word [eax], cx
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x46c]
push eax
lea ecx, [ebp - 0x454]
call fcn.0040d569
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x43c]
push eax
lea ecx, [ebp - 0x454]
call fcn.0040d569
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x428]
cmp eax, 8
jb 0x41790e
mov ecx, dword [ebp - 0x43c]
inc eax
cmp eax, 0x7fffffff
jbe 0x4178ca
call fcn.0044cbda
add eax, eax
cmp eax, 0x1000
jb 0x417905
test byte [ebp - 0x43c], 0x1f
je 0x4178e1
call fcn.0044cbda
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x4178ed
call fcn.0044cbda
sub ecx, eax
cmp ecx, 4
jae 0x4178f9
call fcn.0044cbda
cmp ecx, 0x23
jbe 0x417903
call fcn.0044cbda
mov ecx, eax
push ecx
call fcn.0043ae70
add esp, 4
xor eax, eax
mov dword [ebp - 0x428], 7
mov word [ebp - 0x43c], ax
lea ecx, [ebp - 0x43c]
lea eax, [ebp - 0x454]
mov dword [ebp - 0x42c], 0
push eax
call fcn.0040c95c
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x440]
cmp eax, 8
jb 0x4179a3
mov ecx, dword [ebp - 0x454]
inc eax
cmp eax, 0x7fffffff
jbe 0x41795f
call fcn.0044cbda
add eax, eax
cmp eax, 0x1000
jb 0x41799a
test byte [ebp - 0x454], 0x1f
je 0x417976
call fcn.0044cbda
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x417982
call fcn.0044cbda
sub ecx, eax
cmp ecx, 4
jae 0x41798e
call fcn.0044cbda
cmp ecx, 0x23
jbe 0x417998
call fcn.0044cbda
mov ecx, eax
push ecx
call fcn.0043ae70
add esp, 4
xor eax, eax
mov dword [ebp - 0x440], 7
cmp dword [ebp - 0x428], 8
mov word [ebp - 0x454], ax
lea eax, [ebp - 0x43c]
cmovae eax, dword [ebp - 0x43c]
push eax
lea eax, [ebp - 0x424]
mov dword [ebp - 0x444], 0
push str._s.
push eax
call fcn.0040bc9c
mov edi, dword [sym.imp.KERNEL32.dll_FindFirstFileW]
lea eax, [ebp - 0x6cc]
add esp, 0xc
push eax
lea eax, [ebp - 0x424]
push eax
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x417a5b
nop dword [eax]
lea ecx, [ebp - 0x6a0]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x417a20
sub ecx, edx
sar ecx, 1
cmp ecx, 2
ja 0x417a3e
cmp word [ebp - 0x6a0], 0x2e
je 0x417a46
mov eax, dword [ebp - 0x6d0]
inc dword [eax]
lea eax, [ebp - 0x6cc]
push eax
push esi
call ebx
test eax, eax
jne 0x417a10
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ebx, dword [ebp - 0x6d0]
imul eax, dword [ebx], 0x5f8
push eax
call fcn.0044cc2a
imul ecx, dword [ebx], 0x5f8
mov esi, eax
mov dword [ebp - 0x6d8], esi
push ecx
push 0
push esi
call fcn.0043dd90
add esp, 0x10
mov dword [ebp - 0x6d0], 0
lea eax, [ebp - 0x6cc]
push eax
lea eax, [ebp - 0x424]
push eax
call edi
mov edi, eax
cmp edi, 0xffffffff
je 0x417c1e
mov eax, 0x2f0
lea ecx, [ebp - 0x6a0]
add esi, 0x4f0
sub eax, ecx
mov dword [ebp - 0x6d4], eax
nop word [eax + eax]
lea ecx, [ebp - 0x6a0]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x417ae0
sub ecx, edx
sar ecx, 1
cmp ecx, 2
ja 0x417b02
cmp word [ebp - 0x6a0], 0x2e
je 0x417bfb
lea eax, [ebp - 0x47c]
push eax
lea eax, [ebp - 0x6b8]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
movzx eax, word [ebp - 0x470]
push eax
movzx eax, word [ebp - 0x472]
push eax
movzx eax, word [ebp - 0x474]
push eax
movzx eax, word [ebp - 0x476]
push eax
movzx eax, word [ebp - 0x47a]
push eax
movzx eax, word [ebp - 0x47c]
push eax
lea eax, [esi + 8]
push str._04d_02d_02d__02d_02d_02d
push eax
call fcn.0040bcca
add esp, 0x20
lea edx, [esi - 0x4f0]
test byte [ebp - 0x6cc], 0x10
je 0x417b86
movq xmm0, qword [str.folder]
movq qword [edx], xmm0
mov eax, dword [0x4b9858]
mov dword [edx + 8], eax
mov ax, word [0x4b985c]
mov word [edx + 0xc], ax
jmp 0x417b9c
movq xmm0, qword [str.file]
movq qword [edx], xmm0
mov ax, word [0x4b98bc]
mov word [edx + 8], ax
add edx, dword [ebp - 0x6d4]
lea ecx, [ebp - 0x6a0]
nop dword [eax + eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x417bb0
mov eax, dword [ebp - 0x6b0]
mov cl, 0x20
mov dword [esi + 4], 0
mov edx, dword [esi + 4]
call fcn.004878b0
mov dword [esi], eax
mov dword [esi + 4], edx
mov eax, dword [ebp - 0x6ac]
or dword [esi], eax
add esi, 0x5f8
mov eax, dword [ebp - 0x6d0]
inc eax
mov dword [ebp - 0x6d0], eax
cmp eax, dword [ebx]
je 0x417c11
lea eax, [ebp - 0x6cc]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x417ad0
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov esi, dword [ebp - 0x6d8]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x458]
cmp eax, 8
jb 0x417c84
mov ecx, dword [ebp - 0x46c]
inc eax
cmp eax, 0x7fffffff
jbe 0x417c40
call fcn.0044cbda
add eax, eax
cmp eax, 0x1000
jb 0x417c7b
test byte [ebp - 0x46c], 0x1f
je 0x417c57
call fcn.0044cbda
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x417c63
call fcn.0044cbda
sub ecx, eax
cmp ecx, 4
jae 0x417c6f
call fcn.0044cbda
cmp ecx, 0x23
jbe 0x417c79
call fcn.0044cbda
mov ecx, eax
push ecx
call fcn.0043ae70
add esp, 4
xor eax, eax
mov dword [ebp - 0x458], 7
mov word [ebp - 0x46c], ax
mov dword [ebp - 0x45c], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x428]
cmp eax, 8
jb 0x417d0a
mov ecx, dword [ebp - 0x43c]
inc eax
cmp eax, 0x7fffffff
jbe 0x417cc6
call fcn.0044cbda
add eax, eax
cmp eax, 0x1000
jb 0x417d01
test byte [ebp - 0x43c], 0x1f
je 0x417cdd
call fcn.0044cbda
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x417ce9
call fcn.0044cbda
sub ecx, eax
cmp ecx, 4
jae 0x417cf5
call fcn.0044cbda
cmp ecx, 0x23
jbe 0x417cff
call fcn.0044cbda
mov ecx, eax
push ecx
call fcn.0043ae70
add esp, 4
xor eax, eax
mov dword [ebp - 0x428], 7
mov word [ebp - 0x43c], ax
mov eax, esi
mov dword [ebp - 0x42c], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0043b37f
mov esp, ebp
pop ebp
ret 0xc