Function at 0x412a97
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x104
push edi
mov ax, word [ebp + 0xc]
mov word [ebp - 0x34], ax
mov byte [ebp - 0x100], 0xfc
mov byte [ebp - 0xff], 0xcf
mov byte [ebp - 0xfe], 0x55
mov byte [ebp - 0xfd], 6
mov byte [ebp - 0xfc], 0xc1
mov byte [ebp - 0xfb], 0xc2
mov ecx, 0x30
xor eax, eax
lea edi, [ebp - 0xfa]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov byte [ebp - 0x38], 0
mov byte [ebp - 0x18], 0
xor ecx, ecx
mov dword [ebp - 0x17], ecx
mov dword [ebp - 0x13], ecx
mov dword [ebp - 0xf], ecx
mov dword [ebp - 0xb], ecx
mov word [ebp - 7], cx
mov byte [ebp - 5], cl
mov byte [ebp - 0x24], 0
mov edx, dword [ebp - 0x34]
and edx, 0xffff
shl edx, 1
sar edx, 8
mov byte [ebp - 0xfc], dl
mov eax, dword [ebp - 0x34]
and eax, 0xffff
shl eax, 1
mov byte [ebp - 0xfb], al
mov byte [ebp - 0x38], 6
lea ecx, [ebp + 0x10]
mov dword [ebp - 0x30], ecx
mov word [ebp - 0x20], 0
jmp 0x412b47
mov dx, word [ebp - 0x20]
add dx, 1
mov word [ebp - 0x20], dx
mov eax, dword [ebp - 0x20]
and eax, 0xffff
mov ecx, dword [ebp - 0x34]
and ecx, 0xffff
cmp eax, ecx
jge 0x412bb6
mov edx, dword [ebp - 0x30]
add edx, 4
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
mov cx, word [eax - 4]
mov word [ebp - 0x104], cx
movsx edx, word [ebp - 0x104]
sar edx, 8
mov eax, dword [ebp - 0x38]
and eax, 0xff
mov byte [ebp + eax - 0x100], dl
mov cl, byte [ebp - 0x38]
add cl, 1
mov byte [ebp - 0x38], cl
mov edx, dword [ebp - 0x38]
and edx, 0xff
mov al, byte [ebp - 0x104]
mov byte [ebp + edx - 0x100], al
mov cl, byte [ebp - 0x38]
add cl, 1
mov byte [ebp - 0x38], cl
jmp 0x412b3b
mov dword [ebp - 0x30], 0
mov edx, dword [ebp - 0x38]
and edx, 0xff
mov byte [ebp + edx - 0x100], 0xcf
mov al, byte [ebp - 0x38]
add al, 1
mov byte [ebp - 0x38], al
mov ecx, dword [ebp - 0x38]
and ecx, 0xff
mov byte [ebp + ecx - 0x100], 0xfc
mov dl, byte [ebp - 0x38]
add dl, 1
mov byte [ebp - 0x38], dl
mov eax, dword [ebp - 0x38]
and eax, 0xff
push eax
lea ecx, [ebp - 0x100]
push ecx
mov ecx, 0x43e508
call fcn.0041e3eb
and eax, 0xff
test eax, eax
jne 0x412c1c
or ax, 0xffff
jmp 0x412d96
mov byte [ebp - 0x2c], 0
mov word [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x412ca8
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x1c]
cmp eax, 0x3e8
jb 0x412c5e
xor ax, ax
jmp 0x412d96
push 1
lea ecx, [ebp - 0x24]
push ecx
mov ecx, 0x43e508
call fcn.0041e45f
and eax, 0xff
test eax, eax
jne 0x412c79
jmp 0x412c2f
mov edx, dword [ebp - 4]
and edx, 0xffff
shl edx, 8
mov eax, dword [ebp - 0x24]
and eax, 0xff
or edx, eax
mov word [ebp - 4], dx
mov ecx, dword [ebp - 4]
and ecx, 0xffff
cmp ecx, 0xfccf
jne 0x412ca6
jmp 0x412ca8
jmp 0x412c2f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x412d5d
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x1c]
cmp eax, 0x3e8
jbe 0x412ce4
xor ax, ax
jmp 0x412d96
push 1
lea ecx, [ebp - 0x24]
push ecx
mov ecx, 0x43e508
call fcn.0041e45f
and eax, 0xff
test eax, eax
jne 0x412cff
jmp 0x412cb1
mov edx, dword [ebp - 0x2c]
and edx, 0xff
mov al, byte [ebp - 0x24]
mov byte [ebp + edx - 0x18], al
mov cl, byte [ebp - 0x2c]
add cl, 1
mov byte [ebp - 0x2c], cl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
cmp edx, 0x14
jl 0x412d2b
xor ax, ax
jmp 0x412d96
mov eax, dword [ebp - 4]
and eax, 0xffff
shl eax, 8
mov ecx, dword [ebp - 0x24]
and ecx, 0xff
or eax, ecx
mov word [ebp - 4], ax
mov edx, dword [ebp - 4]
and edx, 0xffff
cmp edx, 0xcffc
jne 0x412d58
jmp 0x412d5d
jmp 0x412cb1
mov eax, dword [ebp - 0x18]
and eax, 0xff
cmp eax, 0x80
jne 0x412d7a
mov ecx, dword [ebp - 0x17]
and ecx, 0xff
cmp ecx, 1
je 0x412d80
or ax, 0xffff
jmp 0x412d96
mov edx, dword [ebp - 0x16]
and edx, 0xff
test edx, edx
je 0x412d93
or ax, 0xffff
jmp 0x412d96
xor ax, ax
pop edi
mov esp, ebp
pop ebp
ret