Function at 0x424453
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 0x424493
mov ecx, dword [0x463c78]
push ebx
push edi
push 0xffffffffffffffff
push 0x457f24
call fcn.00401525
cmp byte [esi], 0
je 0x4244a1
cmp dword [ebp + 0x74], edi
jne 0x424493
mov dword [ebp + 0x74], ebx
push esi
call fcn.00453b00
cmp eax, 0x104
pop ecx
jb 0x4244a8
xor eax, eax
jmp 0x424980
push 0x40
push dword [ebp + 0x6c]
lea eax, [ebp - 0x148]
push eax
call fcn.00438c34
lea eax, [ebp - 0x350]
push esi
push eax
call fcn.004538d0
lea eax, [ebp - 0x24c]
push esi
push eax
call fcn.004538d0
lea eax, [ebp - 0x24c]
push 0x5c
push eax
call fcn.00454340
add esp, 0x24
cmp eax, edi
je 0x4244fb
mov byte [eax + 1], 0
lea eax, [ebp - 0x24c]
push eax
call fcn.00453b00
pop ecx
jmp 0x424504
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.00454340
cmp eax, edi
pop ecx
pop ecx
je 0x42452f
inc eax
jmp 0x424535
lea eax, [ebp - 0x350]
push 0x45b17c
push eax
mov dword [ebp + 0x60], eax
call fcn.00438ef0
test eax, eax
pop ecx
pop ecx
jne 0x424550
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 0x424848
jmp 0x42457b
xor edi, edi
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
sub eax, dword [0x4642ac]
cmp eax, dword [0x463340]
jbe 0x4245ba
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 0x4245af
push 1
push 0xffffffffffffffff
call fcn.0040bd90
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [0x4642ac], eax
test byte [ebp - 0xec], 0x10
je 0x4245fa
cmp byte [ebp - 0xc0], 0x2e
jne 0x4245ef
cmp byte [ebp - 0xbf], 0
je 0x424827
cmp byte [ebp - 0xbf], 0x2e
jne 0x4245ef
cmp byte [ebp - 0xbe], 0
je 0x424827
cmp dword [ebp + 0x74], 1
jne 0x424604
jmp 0x424827
cmp dword [ebp + 0x74], 3
je 0x424827
lea eax, [ebp - 0xc0]
push eax
call fcn.00453b00
cmp eax, dword [ebp + 0x6c]
pop ecx
ja 0x424824
lea eax, [ebp - 0xc0]
push eax
push dword [ebp + 0x5c]
call fcn.004538d0
cmp byte [ebp - 0x148], 0
pop ecx
pop ecx
lea edi, [ebp - 0x148]
je 0x42480d
movsx eax, byte [edi]
push eax
call fcn.00441cd7
cmp eax, 0x4f
pop ecx
jg 0x42476c
je 0x424732
sub eax, 0x2b
je 0x42472a
push 2
pop ecx
sub eax, ecx
je 0x424723
sub eax, 0x14
je 0x4246ed
sub eax, 7
je 0x4246b8
sub eax, 6
jne 0x424803
cmp esi, 1
jne 0x42468f
or byte [ebp - 0xec], 0x80
jmp 0x424803
cmp esi, 2
jne 0x4246a0
and byte [ebp - 0xec], 0x7f
jmp 0x424803
cmp esi, 3
jne 0x424803
xor dword [ebp - 0xec], 0x80
jmp 0x424803
cmp esi, 1
jne 0x4246c8
or dword [ebp - 0xec], ecx
jmp 0x424803
cmp esi, ecx
jne 0x4246d8
and dword [ebp - 0xec], 0xfffffffd
jmp 0x424803
cmp esi, 3
jne 0x424803
xor dword [ebp - 0xec], 2
jmp 0x424803
cmp esi, 1
jne 0x4246fe
or dword [ebp - 0xec], 0x20
jmp 0x424803
cmp esi, ecx
jne 0x42470e
and dword [ebp - 0xec], 0xffffffdf
jmp 0x424803
cmp esi, 3
jne 0x424803
xor dword [ebp - 0xec], 0x20
jmp 0x424803
mov esi, ecx
jmp 0x424803
xor esi, esi
inc esi
jmp 0x424803
cmp esi, 1
jne 0x424743
or byte [ebp - 0xeb], 0x10
jmp 0x424803
cmp esi, 2
jne 0x424754
and byte [ebp - 0xeb], 0xef
jmp 0x424803
cmp esi, 3
jne 0x424803
xor dword [ebp - 0xec], 0x1000
jmp 0x424803
sub eax, 0x52
je 0x4247dc
dec eax
je 0x4247b2
dec eax
je 0x424785
sub eax, 0xa
jne 0x424803
push 3
pop esi
jmp 0x424803
cmp esi, 1
jne 0x424793
or byte [ebp - 0xeb], 1
jmp 0x424803
cmp esi, 2
jne 0x4247a1
and byte [ebp - 0xeb], 0xfe
jmp 0x424803
cmp esi, 3
jne 0x424803
xor dword [ebp - 0xec], 0x100
jmp 0x424803
cmp esi, 1
jne 0x4247c0
or dword [ebp - 0xec], 4
jmp 0x424803
cmp esi, 2
jne 0x4247ce
and dword [ebp - 0xec], 0xfffffffb
jmp 0x424803
cmp esi, 3
jne 0x424803
xor dword [ebp - 0xec], 4
jmp 0x424803
cmp esi, 1
jne 0x4247e9
or dword [ebp - 0xec], esi
jmp 0x424803
cmp esi, 2
jne 0x4247f7
and dword [ebp - 0xec], 0xfffffffe
jmp 0x424803
cmp esi, 3
jne 0x424803
xor dword [ebp - 0xec], 1
inc edi
cmp byte [edi], 0
jne 0x42463e
push dword [ebp - 0xec]
lea eax, [ebp - 0x24c]
push eax
call dword [sym.imp.KERNEL32.DLL_SetFileAttributesA]
test eax, eax
jne 0x424827
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 0x424579
push dword [ebp + 0x58]
call dword [sym.imp.KERNEL32.DLL_FindClose]
cmp byte [ebp + 0x78], 0
je 0x424969
cmp dword [ebp + 0x6c], 2
jbe 0x424969
push 0x458b38
push dword [ebp + 0x5c]
call fcn.004538d0
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 0x424969
push dword [ebp + 0x60]
call fcn.00453b00
mov ebx, dword [sym.imp.KERNEL32.DLL_GetTickCount]
pop ecx
mov edi, eax
call ebx
sub eax, dword [0x4642ac]
cmp eax, dword [0x463340]
jbe 0x4248d0
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 0x4248c9
push 1
push 0xffffffffffffffff
call fcn.0040bd90
pop ecx
pop ecx
call ebx
mov dword [0x4642ac], eax
test byte [ebp - 0xec], 0x10
je 0x42494c
cmp byte [ebp - 0xc0], 0x2e
jne 0x4248fd
cmp byte [ebp - 0xbf], 0
je 0x42494c
cmp byte [ebp - 0xbf], 0x2e
jne 0x4248fd
cmp byte [ebp - 0xbe], 0
je 0x42494c
lea eax, [ebp - 0xc0]
push eax
call fcn.00453b00
add eax, edi
cmp eax, dword [ebp + 0x6c]
pop ecx
jae 0x42494c
push dword [ebp + 0x60]
lea eax, [ebp - 0xc0]
push eax
push 0x45853c
push dword [ebp + 0x5c]
call fcn.0044118f
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.00424453
add dword [ebp + 0x70], eax
lea eax, [ebp - 0xec]
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_FindNextFileA]
test eax, eax
jne 0x424897
push esi
call dword [sym.imp.KERNEL32.DLL_FindClose]
cmp byte [ebp + 0x7c], 0
jne 0x42497d
push dword [ebp + 0x70]
mov ecx, dword [0x463c78]
call fcn.0040185b
mov eax, dword [ebp + 0x70]
pop edi
pop esi
pop ebx
add ebp, 0x64
leave
ret 0x14