Function at 0x424520
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 0x424560
mov ecx, dword [0x466b78]
push ebx
push edi
push 0xffffffffffffffff
push 0x45af3c
call fcn.0040187e
cmp byte [esi], 0
je 0x42456e
cmp dword [ebp + 0x74], edi
jne 0x424560
mov dword [ebp + 0x74], ebx
push esi
call fcn.00457520
cmp eax, 0x104
pop ecx
jb 0x424575
xor eax, eax
jmp 0x424a5e
push 0x40
push dword [ebp + 0x6c]
lea eax, [ebp - 0x148]
push eax
call fcn.004392af
lea eax, [ebp - 0x350]
push esi
push eax
call fcn.004572f0
lea eax, [ebp - 0x24c]
push esi
push eax
call fcn.004572f0
lea eax, [ebp - 0x24c]
push 0x5c
push eax
call fcn.00457cb0
add esp, 0x24
cmp eax, edi
je 0x4245c8
mov byte [eax + 1], 0
lea eax, [ebp - 0x24c]
push eax
call fcn.00457520
pop ecx
jmp 0x4245d1
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.00457cb0
cmp eax, edi
pop ecx
pop ecx
je 0x4245fc
inc eax
jmp 0x424602
lea eax, [ebp - 0x350]
push 0x45e4f0
push eax
mov dword [ebp + 0x60], eax
call fcn.0043956b
test eax, eax
pop ecx
pop ecx
jne 0x42461d
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 0x42491b
jmp 0x424648
xor edi, edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x4671ac]
mov ecx, dword [0x464108]
cmp eax, dword [ecx + 0xac]
jbe 0x42468d
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 0x424682
push 1
push 0xffffffffffffffff
call fcn.0040dca7
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x4671ac], eax
test byte [ebp - 0xec], 0x10
je 0x4246cd
cmp byte [ebp - 0xc0], 0x2e
jne 0x4246c2
cmp byte [ebp - 0xbf], 0
je 0x4248fa
cmp byte [ebp - 0xbf], 0x2e
jne 0x4246c2
cmp byte [ebp - 0xbe], 0
je 0x4248fa
cmp dword [ebp + 0x74], 1
jne 0x4246d7
jmp 0x4248fa
cmp dword [ebp + 0x74], 3
je 0x4248fa
lea eax, [ebp - 0xc0]
push eax
call fcn.00457520
cmp eax, dword [ebp + 0x6c]
pop ecx
ja 0x4248f7
lea eax, [ebp - 0xc0]
push eax
push dword [ebp + 0x5c]
call fcn.004572f0
cmp byte [ebp - 0x148], 0
pop ecx
pop ecx
lea edi, [ebp - 0x148]
je 0x4248e0
movsx eax, byte [edi]
push eax
call fcn.0044234f
cmp eax, 0x4f
pop ecx
jg 0x42483f
je 0x424805
sub eax, 0x2b
je 0x4247fd
push 2
pop ecx
sub eax, ecx
je 0x4247f6
sub eax, 0x14
je 0x4247c0
sub eax, 7
je 0x42478b
sub eax, 6
jne 0x4248d6
cmp esi, 1
jne 0x424762
or byte [ebp - 0xec], 0x80
jmp 0x4248d6
cmp esi, 2
jne 0x424773
and byte [ebp - 0xec], 0x7f
jmp 0x4248d6
cmp esi, 3
jne 0x4248d6
xor dword [ebp - 0xec], 0x80
jmp 0x4248d6
cmp esi, 1
jne 0x42479b
or dword [ebp - 0xec], ecx
jmp 0x4248d6
cmp esi, ecx
jne 0x4247ab
and dword [ebp - 0xec], 0xfffffffd
jmp 0x4248d6
cmp esi, 3
jne 0x4248d6
xor dword [ebp - 0xec], 2
jmp 0x4248d6
cmp esi, 1
jne 0x4247d1
or dword [ebp - 0xec], 0x20
jmp 0x4248d6
cmp esi, ecx
jne 0x4247e1
and dword [ebp - 0xec], 0xffffffdf
jmp 0x4248d6
cmp esi, 3
jne 0x4248d6
xor dword [ebp - 0xec], 0x20
jmp 0x4248d6
mov esi, ecx
jmp 0x4248d6
xor esi, esi
inc esi
jmp 0x4248d6
cmp esi, 1
jne 0x424816
or byte [ebp - 0xeb], 0x10
jmp 0x4248d6
cmp esi, 2
jne 0x424827
and byte [ebp - 0xeb], 0xef
jmp 0x4248d6
cmp esi, 3
jne 0x4248d6
xor dword [ebp - 0xec], 0x1000
jmp 0x4248d6
sub eax, 0x52
je 0x4248af
dec eax
je 0x424885
dec eax
je 0x424858
sub eax, 0xa
jne 0x4248d6
push 3
pop esi
jmp 0x4248d6
cmp esi, 1
jne 0x424866
or byte [ebp - 0xeb], 1
jmp 0x4248d6
cmp esi, 2
jne 0x424874
and byte [ebp - 0xeb], 0xfe
jmp 0x4248d6
cmp esi, 3
jne 0x4248d6
xor dword [ebp - 0xec], 0x100
jmp 0x4248d6
cmp esi, 1
jne 0x424893
or dword [ebp - 0xec], 4
jmp 0x4248d6
cmp esi, 2
jne 0x4248a1
and dword [ebp - 0xec], 0xfffffffb
jmp 0x4248d6
cmp esi, 3
jne 0x4248d6
xor dword [ebp - 0xec], 4
jmp 0x4248d6
cmp esi, 1
jne 0x4248bc
or dword [ebp - 0xec], esi
jmp 0x4248d6
cmp esi, 2
jne 0x4248ca
and dword [ebp - 0xec], 0xfffffffe
jmp 0x4248d6
cmp esi, 3
jne 0x4248d6
xor dword [ebp - 0xec], 1
inc edi
cmp byte [edi], 0
jne 0x424711
push dword [ebp - 0xec]
lea eax, [ebp - 0x24c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
jne 0x4248fa
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 0x424646
push dword [ebp + 0x58]
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp byte [ebp + 0x78], 0
je 0x424a42
cmp dword [ebp + 0x6c], 2
jbe 0x424a42
push 0x45babc
push dword [ebp + 0x5c]
call fcn.004572f0
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 0x424a42
push dword [ebp + 0x60]
call fcn.00457520
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
pop ecx
mov edi, eax
call ebx
sub eax, dword [0x4671ac]
mov ecx, dword [0x464108]
cmp eax, dword [ecx + 0xac]
jbe 0x4249a9
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 0x4249a2
push 1
push 0xffffffffffffffff
call fcn.0040dca7
pop ecx
pop ecx
call ebx
mov dword [0x4671ac], eax
test byte [ebp - 0xec], 0x10
je 0x424a25
cmp byte [ebp - 0xc0], 0x2e
jne 0x4249d6
cmp byte [ebp - 0xbf], 0
je 0x424a25
cmp byte [ebp - 0xbf], 0x2e
jne 0x4249d6
cmp byte [ebp - 0xbe], 0
je 0x424a25
lea eax, [ebp - 0xc0]
push eax
call fcn.00457520
add eax, edi
cmp eax, dword [ebp + 0x6c]
pop ecx
jae 0x424a25
push dword [ebp + 0x60]
lea eax, [ebp - 0xc0]
push eax
push 0x45b4d4
push dword [ebp + 0x5c]
call fcn.0040a5ef
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.00424520
add dword [ebp + 0x70], eax
lea eax, [ebp - 0xec]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x42496a
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp byte [ebp + 0x7c], 0
jne 0x424a5b
mov eax, dword [ebp + 0x70]
mov ecx, dword [0x466b78]
cdq
push 0x18
push edx
push eax
call fcn.00401c4f
mov eax, dword [ebp + 0x70]
pop edi
pop esi
pop ebx
add ebp, 0x64
leave
ret 0x14