Function at 0x410a50
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x168
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
push edi
push 0x430778
mov ecx, ebx
call fcn.0041d420
test eax, eax
jne 0x410cff
push 0x430774
mov ecx, ebx
call fcn.0041d420
test eax, eax
jne 0x410cff
add ebx, 4
push 0x167
lea eax, [ebp - 0x168]
push ebx
push eax
call fcn.00421320
lea ecx, [ebp - 0x168]
push 0x5c
push ecx
mov byte [ebp - 1], 0
call fcn.0041c5a0
add esp, 0x14
test eax, eax
je 0x410b0a
push 0x3a
push eax
call fcn.0041c5a0
mov edi, eax
add esp, 8
test edi, edi
je 0x410b0a
push edi
call dword [sym.imp.USER32.dll_CharNextA]
push 0
lea edx, [ebp - 0x168]
push eax
push edx
mov byte [edi], 0
call fcn.00420910
add esp, 0xc
test eax, eax
jne 0x410af6
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp + 0xc]
pop edi
pop esi
pop ebx
mov dword [eax], 3
xor eax, eax
mov esp, ebp
pop ebp
ret 8
lea edi, [esi + 0x18]
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
mov dword [esi + 0x158], eax
mov eax, ecx
test eax, eax
je 0x410b47
cmp byte [esi + 0x44], 0x2e
jne 0x410b43
mov edx, dword [esi + 0x158]
push edi
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x410b29
jmp 0x410b47
test eax, eax
jne 0x410b7a
mov eax, dword [ebp + 8]
mov ecx, esi
push eax
call fcn.00410f70
test eax, eax
jne 0x410b7f
test byte [esi + 0x15c], 1
jne 0x410b7f
mov ecx, dword [esi + 0x158]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 8
test byte [edi], 0x10
jne 0x410b92
mov edx, dword [ebp + 8]
mov ecx, esi
push edx
call fcn.00410f70
test eax, eax
je 0x410cde
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [eax], 2
call fcn.0041d450
cmp byte [eax], 0x5c
je 0x410c0d
mov ecx, 0x43045c
test ecx, ecx
je 0x410c0d
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x43045c
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
add edx, ecx
cmp edx, 0x168
jb 0x410be9
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, 0x167
sub eax, ecx
jmp 0x410bfa
mov edi, 0x43045c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, ecx
test eax, eax
je 0x410c0d
push eax
push 0x43045c
push ebx
call fcn.00421950
add esp, 0xc
mov eax, 0x430770
test eax, eax
je 0x410c72
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x430770
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
add edx, ecx
cmp edx, 0x168
jb 0x410c4e
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, 0x167
sub eax, ecx
jmp 0x410c5f
mov edi, 0x430770
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, ecx
test eax, eax
je 0x410c72
push eax
push 0x430770
push ebx
call fcn.00421950
add esp, 0xc
mov eax, dword [esi + 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
lea edi, [esi + 0x18]
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
mov dword [esi + 0x158], eax
mov eax, ecx
test eax, eax
je 0x410cb6
cmp byte [esi + 0x44], 0x2e
jne 0x410cb6
mov edx, dword [esi + 0x158]
push edi
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x410c9e
test byte [esi + 0x15c], 2
jne 0x410ce7
test eax, eax
jne 0x410ce7
mov eax, dword [esi + 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
pop esi
mov eax, 2
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0
mov edx, dword [esi + 0x158]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp + 0xc]
lea edi, [esi + 0x18]
add ebx, 4
push edi
push ebx
mov dword [eax], 1
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
mov dword [esi + 0x158], eax
mov eax, ecx
test eax, eax
je 0x410d44
mov ebx, dword [sym.imp.KERNEL32.dll_FindNextFileA]
cmp byte [esi + 0x44], 0x2e
jne 0x410d44
mov edx, dword [esi + 0x158]
push edi
push edx
call ebx
test eax, eax
jne 0x410d30
test byte [esi + 0x15c], 2
je 0x410d65
mov eax, dword [esi + 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8
test eax, eax
jne 0x410ce7
mov ecx, dword [esi + 0x158]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
pop esi
mov eax, 2
pop ebx
mov esp, ebp
pop ebp
ret 8