Function at 0x402410
Capabilities:
Enumerate files on windows

Disassembly:
mov eax, 0x1085c
call fcn.0040ab40
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x10870]
xor ebx, ebx
cmp edi, ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], ebx
je 0x40245b
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x46c]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ebp, [esp + 0x46c]
or ecx, 0xffffffff
mov edi, ebp
xor eax, eax
lea edx, [esp + 0x228]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
shr ecx, 2
mov edi, edx
lea edx, [esp + 0x228]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x41907c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x228]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x4191d4
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [esp + 0x32c]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x22c]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [esp + 0x18], eax
je 0x40270b
mov edx, ebx
shl edx, 6
add edx, ebx
lea ebx, [esp + edx*4 + 0x46c]
lea edi, [esp + 0x358]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x20]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, byte [esp + 0x32c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [0x419170]
test al, 0x10
lea eax, [esp + 0x20]
je 0x402639
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40257e
test cl, cl
je 0x40257a
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40257e
add eax, 2
add esi, 2
test cl, cl
jne 0x40255a
xor eax, eax
jmp 0x402583
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4026e1
mov esi, dword [0x41916c]
lea eax, [esp + 0x20]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4025b9
test cl, cl
je 0x4025b5
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4025b9
add eax, 2
add esi, 2
test cl, cl
jne 0x402595
xor eax, eax
jmp 0x4025be
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4026e1
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x124]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x124]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x20]
push ecx
push edx
call fcn.00401d00
mov edx, dword [esp + 0x1c]
add esp, 8
lea edi, [esp + 0x124]
or ecx, 0xffffffff
xor eax, eax
inc edx
add ebx, 0x104
mov dword [esp + 0x14], edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4026e1
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40265d
test cl, cl
je 0x402659
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40265d
add eax, 2
add esi, 2
test cl, cl
jne 0x402639
xor eax, eax
jmp 0x402662
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4026e1
mov esi, dword [0x41916c]
lea eax, [esp + 0x20]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x402694
test cl, cl
je 0x402690
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x402694
add eax, 2
add esi, 2
test cl, cl
jne 0x402670
xor eax, eax
jmp 0x402699
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4026e1
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x124]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x124]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x20]
push ecx
push edx
call fcn.00401d00
mov eax, dword [esp + 0x18]
add esp, 8
inc eax
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x32c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x402519
mov edx, dword [esp + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
lea ecx, [ebx + 1]
inc eax
add ebp, 0x104
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x402462
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1085c
ret