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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
xor eax, eax
push esi
push edi
mov dword [esp + 0x14], eax
imul edi, eax, 0x69c
call ebx
sub eax, dword [edi + 0x57b0a8]
cmp eax, 0x3e8
jb 0x40df24
cmp dword [esp + 0x14], 0
jne 0x40dc68
cmp dword [0xbdae0c], 0
jne 0x40dc47
mov eax, dword [0xbd8ef4]
cmp eax, 0xffffffff
je 0x40dc6d
mov dword [0xbd8ef4], 0xffffffff
jmp 0x40dc8a
cmp dword [edi + 0x57b098], 1
jne 0x40dc5d
mov eax, dword [edi + 0x57b0a0]
mov dword [0xbd8ef4], eax
jmp 0x40dc6d
mov eax, dword [0xbd8ef4]
test eax, eax
jne 0x40dc80
jmp 0x40dc6d
mov eax, dword [0xbd8ef4]
test eax, eax
jle 0x40dc8a
mov eax, dword [edi + 0x57b098]
cmp eax, 1
je 0x40dc8a
test eax, eax
je 0x40dc8a
mov dword [0xbd8ef4], 0
call ebx
push 0
mov dword [edi + 0x57b0a8], eax
call fcn.0052d9f5
add esp, 4
mov esi, eax
mov eax, dword [edi + 0x57b0a4]
push edx
cdq
push esi
push edx
push eax
call fcn.0052d9b0
add esp, 0x10
call fcn.00545cc0
mov dword [edi + 0x57b0a0], eax
mov eax, dword [edi + 0x57b098]
cmp eax, 4
ja case.0x40dccb.0
jmp dword [eax*4 + 0x40df40]
lea eax, [edi + 0x57b094]
push eax
call fcn.0040df60
jmp case.0x40dccb.0
lea eax, [edi + 0x57b094]
push eax
call fcn.0040f4e0
xor edx, edx
lea esi, [edi + 0x57b0dc]
mov eax, esi
lea ebx, [edx + 0x32]
nop dword [eax]
mov ecx, dword [eax]
test ecx, ecx
js 0x40dd0f
cmp ecx, 0x1194
jge 0x40dd0f
inc edx
add eax, 0x10
sub ebx, 1
jne 0x40dd00
test edx, edx
jne 0x40dd27
lea eax, [edi + 0x57b094]
push eax
jmp 0x40de9c
mov eax, dword [edi + 0x57b0a0]
test eax, eax
jle 0x40dd8e
cmp eax, 0x1e
jg case.0x40dccb.0
cmp dword [edi + 0x57b0b4], 0
jne case.0x40dccb.0
mov dword [esp + 0xc], 0x49204c1
mov ebx, 0x32
mov eax, dword [esi]
test eax, eax
js 0x40dd6e
cmp eax, 0x1194
jge 0x40dd6e
push 4
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.005192f0
add esi, 0x10
sub ebx, 1
jne 0x40dd54
mov eax, dword [edi + 0x57b0a0]
mov dword [edi + 0x57b0b4], 1
test eax, eax
jg case.0x40dccb.0
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 3
push eax
lea eax, [esp + 0x20]
mov ecx, 0xa9b83c
push eax
call fcn.00405650
mov eax, dword [esp + 0x24]
mov ecx, dword [0xa9b83c]
cmp byte [eax + 0xd], 0
jne 0x40ddc0
cmp dword [eax + 0x10], 3
jle 0x40ddc2
mov eax, ecx
cmp eax, ecx
jne 0x40dde2
push 3
push str.Could_not_find_message__d_
push 0xa9b7bc
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, 0xa9b7bc
jmp 0x40dde5
add eax, 0x18
push eax
push 0
lea ebx, [edi + 0x57b094]
push ebx
push 0x57b090
call fcn.004106e0
add esp, 0x10
mov dword [edi + 0x57b098], 3
mov ecx, 0x57b090
push ebx
call fcn.0040e970
jmp case.0x40dccb.0
lea eax, [edi + 0x57b094]
push eax
call fcn.0040e1d0
jmp case.0x40dccb.0
lea ebx, [edi + 0x57b094]
push ebx
call fcn.0040f4e0
mov eax, dword [edi + 0x57b0a0]
dec eax
cmp eax, 0x1d
ja 0x40de92
cmp dword [edi + 0x57b0b4], 0
jne 0x40de92
mov dword [esp + 0x10], 0x69204c1
lea esi, [edi + 0x57b0dc]
mov ebx, 0x32
nop dword [eax + eax]
mov eax, dword [esi]
test eax, eax
js 0x40de7a
cmp eax, 0x1194
jge 0x40de7a
push 4
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.005192f0
add esi, 0x10
sub ebx, 1
jne 0x40de60
mov dword [edi + 0x57b0b4], 1
lea ebx, [edi + 0x57b094]
cmp dword [edi + 0x57b0a0], 0
jg case.0x40dccb.0
push ebx
mov ecx, 0x57b090
mov dword [edi + 0x57b098], 1
call fcn.0040e570
mov esi, dword [edi + 0x57b724]
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp esi, dword [edi + 0x57b728]
je 0x40df24
call ebx
sub eax, dword [esi]
cmp eax, 0x1f40
jae 0x40ded4
add esi, 0x28
jmp 0x40df1c
mov ecx, dword [esi + 4]
test ecx, ecx
js 0x40deff
cmp ecx, 0x1194
jge 0x40deff
mov eax, dword [ecx*4 + 0x20a514c]
cmp dword [eax + 4], 3
jne 0x40deff
movzx eax, byte [esi + 9]
push eax
lea eax, [esi + 8]
push eax
push ecx
call fcn.005192f0
mov eax, dword [edi + 0x57b728]
lea ecx, [esi + 0x28]
sub eax, ecx
push eax
push ecx
push esi
call fcn.0052b7a0
add esp, 0xc
add dword [edi + 0x57b728], 0xffffffd8
cmp esi, dword [edi + 0x57b728]
jne 0x40dec4
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, 8
jl 0x40dc08
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret