Function at 0x40a5a6
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x690
mov byte [ebp - 1], 1
and dword [ebp - 0x68c], 0
jmp 0x40a5c9
mov eax, dword [ebp - 0x68c]
inc eax
mov dword [ebp - 0x68c], eax
mov ecx, dword [ebp + 0x10]
call fcn.004011f7
cmp dword [ebp - 0x68c], eax
jge 0x40a8e8
push dword [ebp - 0x68c]
mov ecx, dword [ebp + 0x10]
call fcn.00401ccc
push dword [eax]
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x427238
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0x460]
push eax
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x464], eax
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x464], 0xffffffff
jne 0x40a644
jmp 0x40a5bc
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x480]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x40a67d
push 0
push 0
push 0
lea eax, [ebp - 0x480]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
lea eax, [ebp - 0x480]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp + 0x18]
imul eax, eax, 0xa0
cmp dword [eax + 0x432120], 0
je 0x40a6ba
push dword [ebp - 0x464]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp + 0x14]
call fcn.00401ca3
mov al, 1
jmp 0x40a8fd
push dword [ebp - 0x68c]
mov ecx, dword [ebp + 0x10]
call fcn.00401ccc
push dword [eax]
lea eax, [ebp - 0x688]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x426f7c
lea eax, [ebp - 0x688]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0x434]
push eax
lea eax, [ebp - 0x688]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov eax, dword [ebp - 0x460]
and eax, 0x10
jne 0x40a7f2
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x460]
push eax
push dword [ebp - 0x68c]
mov ecx, dword [ebp + 0x10]
call fcn.00401ccc
push dword [eax]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040221e
add esp, 0x14
movzx eax, al
test eax, eax
je 0x40a7c0
push dword [ebp + 0x18]
push 0x40a546
lea eax, [ebp - 0x460]
push eax
lea eax, [ebp - 0x688]
push eax
push 0x70941102
push 0x70941101
mov ecx, dword [ebp + 8]
call fcn.00412619
movzx eax, al
test eax, eax
je 0x40a7c0
push dword [ebp - 8]
push dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
call fcn.004159a1
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x43210c]
mov ecx, dword [0x43210c]
inc ecx
mov dword [0x43210c], ecx
cmp eax, 0x1b58
jbe 0x40a7ad
mov al, 1
jmp 0x40a8fd
cmp dword [0x432110], 0x4600000
jbe 0x40a7c0
mov al, 1
jmp 0x40a8fd
mov eax, dword [ebp + 0x18]
imul eax, eax, 0xa0
cmp dword [eax + 0x432120], 0
je 0x40a7ed
push dword [ebp - 0x464]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp + 0x14]
call fcn.00401ca3
mov al, 1
jmp 0x40a8fd
jmp 0x40a8ac
push 0x427240
lea eax, [ebp - 0x434]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x40a81e
push 0x427244
lea eax, [ebp - 0x434]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x40a823
jmp 0x40a8bc
and dword [ebp - 0x690], 0
jmp 0x40a839
mov eax, dword [ebp - 0x690]
inc eax
mov dword [ebp - 0x690], eax
mov eax, dword [ebp - 0x690]
cmp eax, dword [0x432104]
jae 0x40a886
push dword [ebp - 0x690]
mov ecx, 0x434640
call fcn.00401ccc
push dword [eax]
lea edx, [ebp - 0x688]
mov ecx, dword [ebp + 8]
call fcn.004134ac
movzx eax, al
test eax, eax
je 0x40a874
mov byte [ebp - 1], 0
jmp 0x40a886
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x40a82c
movzx eax, byte [ebp - 1]
test eax, eax
je 0x40a8a8
push 0
lea edx, [ebp - 0x688]
mov ecx, dword [ebp + 8]
call fcn.00413434
mov edx, eax
mov ecx, dword [ebp + 0x14]
call fcn.00401cb4
mov byte [ebp - 1], 1
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x460]
push eax
push dword [ebp - 0x464]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x40a644
push dword [ebp - 0x464]
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x40a5bc
mov ecx, dword [ebp + 0x14]
call fcn.00401ce5
movzx eax, al
test eax, eax
je 0x40a8fb
mov al, 1
jmp 0x40a8fd
xor al, al
leave
ret