Function at 0x424065
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 0x4240a5
mov ecx, dword [0x465b20]
push ebx
push edi
push 0xffffffffffffffff
push 0x459f14
call fcn.00401592
cmp byte [esi], 0
je 0x4240b3
cmp dword [ebp + 0x74], edi
jne 0x4240a5
mov dword [ebp + 0x74], ebx
push esi
call fcn.00455c50
cmp eax, 0x104
pop ecx
jb 0x4240ba
xor eax, eax
jmp 0x424592
push 0x40
push dword [ebp + 0x6c]
lea eax, [ebp - 0x148]
push eax
call fcn.00438c79
lea eax, [ebp - 0x350]
push esi
push eax
call fcn.00455a20
lea eax, [ebp - 0x24c]
push esi
push eax
call fcn.00455a20
lea eax, [ebp - 0x24c]
push 0x5c
push eax
call fcn.00456490
add esp, 0x24
cmp eax, edi
je 0x42410d
mov byte [eax + 1], 0
lea eax, [ebp - 0x24c]
push eax
call fcn.00455c50
pop ecx
jmp 0x424116
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.00456490
cmp eax, edi
pop ecx
pop ecx
je 0x424141
inc eax
jmp 0x424147
lea eax, [ebp - 0x350]
push 0x45ce5c
push eax
mov dword [ebp + 0x60], eax
call fcn.00438f35
test eax, eax
pop ecx
pop ecx
jne 0x424162
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 0x42445a
jmp 0x42418d
xor edi, edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x466154]
cmp eax, dword [0x4651e4]
jbe 0x4241cc
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 0x4241c1
push 1
push 0xffffffffffffffff
call fcn.0040b5c4
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x466154], eax
test byte [ebp - 0xec], 0x10
je 0x42420c
cmp byte [ebp - 0xc0], 0x2e
jne 0x424201
cmp byte [ebp - 0xbf], 0
je 0x424439
cmp byte [ebp - 0xbf], 0x2e
jne 0x424201
cmp byte [ebp - 0xbe], 0
je 0x424439
cmp dword [ebp + 0x74], 1
jne 0x424216
jmp 0x424439
cmp dword [ebp + 0x74], 3
je 0x424439
lea eax, [ebp - 0xc0]
push eax
call fcn.00455c50
cmp eax, dword [ebp + 0x6c]
pop ecx
ja 0x424436
lea eax, [ebp - 0xc0]
push eax
push dword [ebp + 0x5c]
call fcn.00455a20
cmp byte [ebp - 0x148], 0
pop ecx
pop ecx
lea edi, [ebp - 0x148]
je 0x42441f
movsx eax, byte [edi]
push eax
call fcn.00441c9f
cmp eax, 0x4f
pop ecx
jg 0x42437e
je 0x424344
sub eax, 0x2b
je 0x42433c
push 2
pop ecx
sub eax, ecx
je 0x424335
sub eax, 0x14
je 0x4242ff
sub eax, 7
je 0x4242ca
sub eax, 6
jne 0x424415
cmp esi, 1
jne 0x4242a1
or byte [ebp - 0xec], 0x80
jmp 0x424415
cmp esi, 2
jne 0x4242b2
and byte [ebp - 0xec], 0x7f
jmp 0x424415
cmp esi, 3
jne 0x424415
xor dword [ebp - 0xec], 0x80
jmp 0x424415
cmp esi, 1
jne 0x4242da
or dword [ebp - 0xec], ecx
jmp 0x424415
cmp esi, ecx
jne 0x4242ea
and dword [ebp - 0xec], 0xfffffffd
jmp 0x424415
cmp esi, 3
jne 0x424415
xor dword [ebp - 0xec], 2
jmp 0x424415
cmp esi, 1
jne 0x424310
or dword [ebp - 0xec], 0x20
jmp 0x424415
cmp esi, ecx
jne 0x424320
and dword [ebp - 0xec], 0xffffffdf
jmp 0x424415
cmp esi, 3
jne 0x424415
xor dword [ebp - 0xec], 0x20
jmp 0x424415
mov esi, ecx
jmp 0x424415
xor esi, esi
inc esi
jmp 0x424415
cmp esi, 1
jne 0x424355
or byte [ebp - 0xeb], 0x10
jmp 0x424415
cmp esi, 2
jne 0x424366
and byte [ebp - 0xeb], 0xef
jmp 0x424415
cmp esi, 3
jne 0x424415
xor dword [ebp - 0xec], 0x1000
jmp 0x424415
sub eax, 0x52
je 0x4243ee
dec eax
je 0x4243c4
dec eax
je 0x424397
sub eax, 0xa
jne 0x424415
push 3
pop esi
jmp 0x424415
cmp esi, 1
jne 0x4243a5
or byte [ebp - 0xeb], 1
jmp 0x424415
cmp esi, 2
jne 0x4243b3
and byte [ebp - 0xeb], 0xfe
jmp 0x424415
cmp esi, 3
jne 0x424415
xor dword [ebp - 0xec], 0x100
jmp 0x424415
cmp esi, 1
jne 0x4243d2
or dword [ebp - 0xec], 4
jmp 0x424415
cmp esi, 2
jne 0x4243e0
and dword [ebp - 0xec], 0xfffffffb
jmp 0x424415
cmp esi, 3
jne 0x424415
xor dword [ebp - 0xec], 4
jmp 0x424415
cmp esi, 1
jne 0x4243fb
or dword [ebp - 0xec], esi
jmp 0x424415
cmp esi, 2
jne 0x424409
and dword [ebp - 0xec], 0xfffffffe
jmp 0x424415
cmp esi, 3
jne 0x424415
xor dword [ebp - 0xec], 1
inc edi
cmp byte [edi], 0
jne 0x424250
push dword [ebp - 0xec]
lea eax, [ebp - 0x24c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
jne 0x424439
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 0x42418b
push dword [ebp + 0x58]
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp byte [ebp + 0x78], 0
je 0x42457b
cmp dword [ebp + 0x6c], 2
jbe 0x42457b
push 0x45aab8
push dword [ebp + 0x5c]
call fcn.00455a20
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 0x42457b
push dword [ebp + 0x60]
call fcn.00455c50
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
pop ecx
mov edi, eax
call ebx
sub eax, dword [0x466154]
cmp eax, dword [0x4651e4]
jbe 0x4244e2
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 0x4244db
push 1
push 0xffffffffffffffff
call fcn.0040b5c4
pop ecx
pop ecx
call ebx
mov dword [0x466154], eax
test byte [ebp - 0xec], 0x10
je 0x42455e
cmp byte [ebp - 0xc0], 0x2e
jne 0x42450f
cmp byte [ebp - 0xbf], 0
je 0x42455e
cmp byte [ebp - 0xbf], 0x2e
jne 0x42450f
cmp byte [ebp - 0xbe], 0
je 0x42455e
lea eax, [ebp - 0xc0]
push eax
call fcn.00455c50
add eax, edi
cmp eax, dword [ebp + 0x6c]
pop ecx
jae 0x42455e
push dword [ebp + 0x60]
lea eax, [ebp - 0xc0]
push eax
push 0x45a4a4
push dword [ebp + 0x5c]
call fcn.00409d3b
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.00424065
add dword [ebp + 0x70], eax
lea eax, [ebp - 0xec]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4244a9
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp byte [ebp + 0x7c], 0
jne 0x42458f
push dword [ebp + 0x70]
mov ecx, dword [0x465b20]
call fcn.004018c8
mov eax, dword [ebp + 0x70]
pop edi
pop esi
pop ebx
add ebp, 0x64
leave
ret 0x14