Function at 0x421154
Capabilities:
Check for time delay via gettickcount
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov dword [ebp - 0x2c], ecx
mov byte [ebp - 0x28], 0xfc
mov byte [ebp - 0x27], 0xcf
mov byte [ebp - 0x26], 0x55
mov byte [ebp - 0x25], 0xc
mov byte [ebp - 0x24], 0
mov byte [ebp - 0x23], 0
mov byte [ebp - 0x22], 0xcf
mov byte [ebp - 0x21], 0xfc
mov word [ebp - 0x20], 8
mov eax, dword [ebp - 0x20]
and eax, 0xffff
push eax
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [ebp - 0x2c]
call fcn.0041e3eb
and eax, 0xff
test eax, eax
jne 0x4211a9
xor ax, ax
jmp 0x4213e2
mov byte [ebp - 0x10], 0
mov word [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc], eax
mov edx, 1
test edx, edx
je 0x42122b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0xc]
cmp eax, 0x3e8
jb 0x4211e3
xor ax, ax
jmp 0x4213e2
push 1
lea ecx, [ebp - 0x10]
push ecx
mov ecx, dword [ebp - 0x2c]
call fcn.0041e45f
and eax, 0xff
test eax, eax
jne 0x4211fc
jmp 0x4211bc
mov edx, dword [ebp - 4]
and edx, 0xffff
shl edx, 8
mov eax, dword [ebp - 0x10]
and eax, 0xff
or edx, eax
mov word [ebp - 4], dx
mov ecx, dword [ebp - 4]
and ecx, 0xffff
cmp ecx, 0xfccf
jne 0x421229
jmp 0x42122b
jmp 0x4211bc
mov word [ebp - 0x1c], 0
mov byte [ebp - 0x18], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc], eax
mov edx, 1
test edx, edx
je 0x4212b3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0xc]
cmp eax, 0x3e8
jbe 0x421265
xor ax, ax
jmp 0x4213e2
push 1
lea ecx, [ebp - 0x10]
push ecx
mov ecx, dword [ebp - 0x2c]
call fcn.0041e45f
and eax, 0xff
test eax, eax
jne 0x42127e
jmp 0x42123e
mov edx, dword [ebp - 0x1c]
and edx, 0xffff
shl edx, 8
mov eax, dword [ebp - 0x10]
and eax, 0xff
or edx, eax
mov word [ebp - 0x1c], dx
mov cl, byte [ebp - 0x18]
add cl, 1
mov byte [ebp - 0x18], cl
mov edx, dword [ebp - 0x18]
and edx, 0xff
cmp edx, 2
jne 0x4212b1
jmp 0x4212b3
jmp 0x42123e
mov eax, dword [ebp - 0x1c]
and eax, 0xffff
test eax, eax
jne 0x4212c7
xor ax, ax
jmp 0x4213e2
mov word [ebp - 8], 0
jmp 0x4212db
mov cx, word [ebp - 8]
add cx, 1
mov word [ebp - 8], cx
mov edx, dword [ebp - 8]
and edx, 0xffff
mov eax, dword [ebp - 0x1c]
and eax, 0xffff
cmp edx, eax
jge 0x42134e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc], eax
mov ecx, 1
test ecx, ecx
je 0x42134c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0xc]
cmp edx, 0x3e8
jbe 0x421321
xor ax, ax
jmp 0x4213e2
push 1
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x2c]
call fcn.0041e45f
and eax, 0xff
test eax, eax
jne 0x42133a
jmp 0x4212f9
mov ecx, dword [ebp - 8]
and ecx, 0xffff
mov edx, dword [ebp + 8]
mov al, byte [ebp - 0x10]
mov byte [edx + ecx], al
jmp 0x4212cf
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc], eax
mov ecx, 1
test ecx, ecx
je 0x4213c3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0xc]
cmp edx, 0x3e8
jbe 0x42137c
xor ax, ax
jmp 0x4213e2
push 1
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x2c]
call fcn.0041e45f
and eax, 0xff
test eax, eax
jne 0x421395
jmp 0x421357
mov ecx, dword [ebp - 4]
and ecx, 0xffff
shl ecx, 8
mov edx, dword [ebp - 0x10]
and edx, 0xff
or ecx, edx
mov word [ebp - 4], cx
mov eax, dword [ebp - 4]
and eax, 0xffff
cmp eax, 0xcffc
jne 0x4213c1
jmp 0x4213c3
jmp 0x421357
mov cl, byte [ebp - 0x1c]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x2c]
call fcn.0041fe50
push 0x43db40
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ax, word [ebp - 0x1c]
mov esp, ebp
pop ebp
ret 4