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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
mov eax, dword [0x57a040]
xor eax, esp
mov dword [esp + 0x28], eax
push ebx
push esi
push edi
call fcn.0041f960
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
sub eax, dword [0x5d8ff8]
cmp eax, 0x3e8
jl 0x41ab66
push 0
call fcn.0052d9f5
add esp, 4
mov esi, eax
mov eax, dword [0x5d8ff4]
push edx
cdq
push esi
push edx
push eax
call fcn.0052d9b0
fmul qword [0x56a7f0]
add esp, 0x10
fstp qword [esp + 0x10]
cvttsd2si eax, qword [esp + 0x10]
mov dword [0x5d8ff0], eax
call edi
mov dword [0x5d8ff8], eax
call edi
sub eax, dword [0x5d9028]
cmp eax, 0x1388
jbe 0x41a9ca
call fcn.0041da40
call edi
mov dword [0x5d9028], eax
call edi
sub eax, dword [0x5d9038]
mov ebx, 0xe10
cmp eax, 0x2bf20
jbe 0x41aa2b
mov ecx, dword [0x5d8ff0]
cmp ecx, 0x2bf20
jle 0x41aa2b
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
idiv ebx
mov ecx, edx
mov ebx, eax
mov eax, 0x88888889
imul ecx
lea esi, [ecx + edx]
mov cl, bl
sar esi, 5
mov edx, esi
shr edx, 0x1f
add edx, esi
call fcn.004ece60
call edi
mov dword [0x5d9038], eax
mov ebx, 0xe10
cmp dword [0x5d8ff0], 0x2bf20
jg 0x41aa84
call edi
sub eax, dword [0x5d9038]
cmp eax, 0xea60
jbe 0x41aa84
mov eax, 0x10624dd3
imul dword [0x5d8ff0]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
idiv ebx
mov ecx, edx
mov ebx, eax
mov eax, 0x88888889
imul ecx
lea esi, [ecx + edx]
mov cl, bl
sar esi, 5
mov edx, esi
shr edx, 0x1f
add edx, esi
call fcn.004ece60
call edi
mov dword [0x5d9038], eax
cmp dword [0x5d9030], 3
jae 0x41aab3
call edi
sub eax, dword [0x5d902c]
cmp eax, 0x2710
jbe 0x41aab3
mov ecx, 0x5d8f88
call fcn.0041f1a0
call edi
inc dword [0x5d9030]
mov dword [0x5d902c], eax
call edi
sub eax, dword [0x5d9034]
cmp eax, 0xbb8
jbe 0x41aace
call fcn.00420840
call edi
mov dword [0x5d9034], eax
call edi
sub eax, dword [0x5d9024]
cmp eax, 0x1b7740
jbe 0x41ab66
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x1a7
push eax
lea eax, [esp + 0x24]
mov ecx, 0xa9b83c
push eax
call fcn.00405650
mov eax, dword [esp + 0x28]
mov ecx, dword [0xa9b83c]
cmp byte [eax + 0xd], 0
jne 0x41ab16
cmp dword [eax + 0x10], 0x1a7
jle 0x41ab18
mov eax, ecx
cmp eax, ecx
jne 0x41ab3b
push 0x1a7
push str.Could_not_find_message__d_
push 0xa9b7bc
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, 0xa9b7bc
jmp 0x41ab40
add eax, 0x18
je 0x41ab5f
mov ecx, dword [0xa0cdb0]
test ecx, ecx
jne 0x41ab4f
or ecx, 0xffffffff
jmp 0x41ab53
movzx ecx, byte [ecx + 8]
push eax
sub esp, 0x14
call fcn.00472920
add esp, 0x18
call edi
mov dword [0x5d9024], eax
cmp dword [0x5d8ff0], 0
jg 0x41ac70
mov ecx, 0x5d8f88
call fcn.0041fd80
cmp eax, 1
jne 0x41aba9
mov eax, dword [0x5d8fa0]
test eax, eax
js 0x41aba9
mov word [esp + 0x14], ax
mov ecx, 0x7509e0
push 6
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0x198006c1
push eax
call fcn.00440610
push 0
call fcn.00420390
cmp byte [0x5d9062], 1
jne 0x41abfb
mov eax, dword [0x5d8fa0]
test eax, eax
js 0x41abfb
mov ecx, dword [0x5d9067]
mov word [esp + 0x24], ax
mov eax, dword [0x5d9063]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x20]
push 0x14
mov dword [esp + 0x34], ecx
mov ecx, 0x7509e0
push eax
mov dword [esp + 0x28], 0xc8014c1
mov dword [esp + 0x30], 1
call fcn.00440610
mov eax, dword [0x5d8fa0]
test eax, eax
js 0x41ac2a
mov word [esp + 0x14], ax
mov ecx, 0x7509e0
push 0xc
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0xb800cc1
push eax
mov dword [esp + 0x20], 1
call fcn.00440610
mov ecx, 0x5d8f88
call fcn.0041d2e0
push 0
call fcn.00420740
mov eax, dword [0x5d8fa0]
test eax, eax
js 0x41ac62
mov word [esp + 0x14], ax
mov ecx, 0x7509e0
push 6
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0x1a8006c1
push eax
call fcn.00440610
push 1
push 8
mov ecx, 0x5d8f88
call fcn.00419460
mov ecx, dword [esp + 0x34]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret