Function at 0x423f20
Capabilities:
Check for time delay via gettickcount
Enumerate files on windows
Enumerate files recursively
Set file attributes

Disassembly:
push ebp
lea ebp, [esp - 0x64]
sub esp, 0x3b4
push ebx
push esi
mov esi, dword [ebp + 0x70]
xor ebx, ebx
push edi
inc ebx
xor edi, edi
cmp byte [ebp + 0x7c], 0
mov dword [ebp + 0x54], ecx
jne 0x423f60
mov ecx, dword [0x464c98]
push ebx
push edi
push 0xffffffffffffffff
push 0x458f24
call fcn.0040152b
cmp byte [esi], 0
je 0x423f6e
cmp dword [ebp + 0x74], edi
jne 0x423f60
mov dword [ebp + 0x74], ebx
push esi
call fcn.00454880
cmp eax, 0x104
pop ecx
jb 0x423f75
xor eax, eax
jmp 0x42444d
push 0x40
push dword [ebp + 0x6c]
lea eax, [ebp - 0x148]
push eax
call fcn.0043880f
lea eax, [ebp - 0x350]
push esi
push eax
call fcn.00454650
lea eax, [ebp - 0x24c]
push esi
push eax
call fcn.00454650
lea eax, [ebp - 0x24c]
push 0x5c
push eax
call fcn.004550c0
add esp, 0x24
cmp eax, edi
je 0x423fc8
mov byte [eax + 1], 0
lea eax, [ebp - 0x24c]
push eax
call fcn.00454880
pop ecx
jmp 0x423fd1
mov byte [ebp - 0x24c], 0
xor eax, eax
lea ecx, [ebp + eax - 0x24c]
mov dword [ebp + 0x5c], ecx
mov ecx, 0x103
sub ecx, eax
lea eax, [ebp - 0x350]
push 0x5c
push eax
mov dword [ebp + 0x6c], ecx
call fcn.004550c0
cmp eax, edi
pop ecx
pop ecx
je 0x423ffc
inc eax
jmp 0x424002
lea eax, [ebp - 0x350]
push 0x45c17c
push eax
mov dword [ebp + 0x60], eax
call fcn.00438acb
test eax, eax
pop ecx
pop ecx
jne 0x42401d
mov dword [ebp + 0x74], 2
mov ebx, dword [sym.imp.KERNEL32.DLL_FindFirstFileA]
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x350]
push eax
xor esi, esi
mov dword [ebp + 0x70], edi
call ebx
cmp eax, 0xffffffff
mov dword [ebp + 0x58], eax
je 0x424315
jmp 0x424048
xor edi, edi
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
sub eax, dword [0x4652cc]
cmp eax, dword [0x464360]
jbe 0x424087
push edi
push edi
push edi
push edi
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x42407c
push 1
push 0xffffffffffffffff
call fcn.0040be3b
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [0x4652cc], eax
test byte [ebp - 0xec], 0x10
je 0x4240c7
cmp byte [ebp - 0xc0], 0x2e
jne 0x4240bc
cmp byte [ebp - 0xbf], 0
je 0x4242f4
cmp byte [ebp - 0xbf], 0x2e
jne 0x4240bc
cmp byte [ebp - 0xbe], 0
je 0x4242f4
cmp dword [ebp + 0x74], 1
jne 0x4240d1
jmp 0x4242f4
cmp dword [ebp + 0x74], 3
je 0x4242f4
lea eax, [ebp - 0xc0]
push eax
call fcn.00454880
cmp eax, dword [ebp + 0x6c]
pop ecx
ja 0x4242f1
lea eax, [ebp - 0xc0]
push eax
push dword [ebp + 0x5c]
call fcn.00454650
cmp byte [ebp - 0x148], 0
pop ecx
pop ecx
lea edi, [ebp - 0x148]
je 0x4242da
movsx eax, byte [edi]
push eax
call fcn.004418c7
cmp eax, 0x4f
pop ecx
jg 0x424239
je 0x4241ff
sub eax, 0x2b
je 0x4241f7
push 2
pop ecx
sub eax, ecx
je 0x4241f0
sub eax, 0x14
je 0x4241ba
sub eax, 7
je 0x424185
sub eax, 6
jne 0x4242d0
cmp esi, 1
jne 0x42415c
or byte [ebp - 0xec], 0x80
jmp 0x4242d0
cmp esi, 2
jne 0x42416d
and byte [ebp - 0xec], 0x7f
jmp 0x4242d0
cmp esi, 3
jne 0x4242d0
xor dword [ebp - 0xec], 0x80
jmp 0x4242d0
cmp esi, 1
jne 0x424195
or dword [ebp - 0xec], ecx
jmp 0x4242d0
cmp esi, ecx
jne 0x4241a5
and dword [ebp - 0xec], 0xfffffffd
jmp 0x4242d0
cmp esi, 3
jne 0x4242d0
xor dword [ebp - 0xec], 2
jmp 0x4242d0
cmp esi, 1
jne 0x4241cb
or dword [ebp - 0xec], 0x20
jmp 0x4242d0
cmp esi, ecx
jne 0x4241db
and dword [ebp - 0xec], 0xffffffdf
jmp 0x4242d0
cmp esi, 3
jne 0x4242d0
xor dword [ebp - 0xec], 0x20
jmp 0x4242d0
mov esi, ecx
jmp 0x4242d0
xor esi, esi
inc esi
jmp 0x4242d0
cmp esi, 1
jne 0x424210
or byte [ebp - 0xeb], 0x10
jmp 0x4242d0
cmp esi, 2
jne 0x424221
and byte [ebp - 0xeb], 0xef
jmp 0x4242d0
cmp esi, 3
jne 0x4242d0
xor dword [ebp - 0xec], 0x1000
jmp 0x4242d0
sub eax, 0x52
je 0x4242a9
dec eax
je 0x42427f
dec eax
je 0x424252
sub eax, 0xa
jne 0x4242d0
push 3
pop esi
jmp 0x4242d0
cmp esi, 1
jne 0x424260
or byte [ebp - 0xeb], 1
jmp 0x4242d0
cmp esi, 2
jne 0x42426e
and byte [ebp - 0xeb], 0xfe
jmp 0x4242d0
cmp esi, 3
jne 0x4242d0
xor dword [ebp - 0xec], 0x100
jmp 0x4242d0
cmp esi, 1
jne 0x42428d
or dword [ebp - 0xec], 4
jmp 0x4242d0
cmp esi, 2
jne 0x42429b
and dword [ebp - 0xec], 0xfffffffb
jmp 0x4242d0
cmp esi, 3
jne 0x4242d0
xor dword [ebp - 0xec], 4
jmp 0x4242d0
cmp esi, 1
jne 0x4242b6
or dword [ebp - 0xec], esi
jmp 0x4242d0
cmp esi, 2
jne 0x4242c4
and dword [ebp - 0xec], 0xfffffffe
jmp 0x4242d0
cmp esi, 3
jne 0x4242d0
xor dword [ebp - 0xec], 1
inc edi
cmp byte [edi], 0
jne 0x42410b
push dword [ebp - 0xec]
lea eax, [ebp - 0x24c]
push eax
call dword [sym.imp.KERNEL32.DLL_SetFileAttributesA]
test eax, eax
jne 0x4242f4
inc dword [ebp + 0x70]
lea eax, [ebp - 0xec]
push eax
push dword [ebp + 0x58]
call dword [sym.imp.KERNEL32.DLL_FindNextFileA]
test eax, eax
jne 0x424046
push dword [ebp + 0x58]
call dword [sym.imp.KERNEL32.DLL_FindClose]
cmp byte [ebp + 0x78], 0
je 0x424436
cmp dword [ebp + 0x6c], 2
jbe 0x424436
push 0x459b38
push dword [ebp + 0x5c]
call fcn.00454650
pop ecx
pop ecx
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x24c]
push eax
call ebx
mov esi, eax
cmp esi, 0xffffffff
je 0x424436
push dword [ebp + 0x60]
call fcn.00454880
mov ebx, dword [sym.imp.KERNEL32.DLL_GetTickCount]
pop ecx
mov edi, eax
call ebx
sub eax, dword [0x4652cc]
cmp eax, dword [0x464360]
jbe 0x42439d
xor eax, eax
push eax
push eax
push eax
push eax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x424396
push 1
push 0xffffffffffffffff
call fcn.0040be3b
pop ecx
pop ecx
call ebx
mov dword [0x4652cc], eax
test byte [ebp - 0xec], 0x10
je 0x424419
cmp byte [ebp - 0xc0], 0x2e
jne 0x4243ca
cmp byte [ebp - 0xbf], 0
je 0x424419
cmp byte [ebp - 0xbf], 0x2e
jne 0x4243ca
cmp byte [ebp - 0xbe], 0
je 0x424419
lea eax, [ebp - 0xc0]
push eax
call fcn.00454880
add eax, edi
cmp eax, dword [ebp + 0x6c]
pop ecx
jae 0x424419
push dword [ebp + 0x60]
lea eax, [ebp - 0xc0]
push eax
push 0x45953c
push dword [ebp + 0x5c]
call fcn.00440d7f
mov ecx, dword [ebp + 0x54]
add esp, 0x10
push 1
push dword [ebp + 0x78]
lea eax, [ebp - 0x24c]
push dword [ebp + 0x74]
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.00423f20
add dword [ebp + 0x70], eax
lea eax, [ebp - 0xec]
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_FindNextFileA]
test eax, eax
jne 0x424364
push esi
call dword [sym.imp.KERNEL32.DLL_FindClose]
cmp byte [ebp + 0x7c], 0
jne 0x42444a
push dword [ebp + 0x70]
mov ecx, dword [0x464c98]
call fcn.00401861
mov eax, dword [ebp + 0x70]
pop edi
pop esi
pop ebx
add ebp, 0x64
leave
ret 0x14