Function at 0x431a51
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, 0x744
call ebx
sub eax, dword [edi + 0x5d9c18]
cmp eax, 0x3e8
jb 0x431ac5
call ebx
push 0
mov dword [edi + 0x5d9c18], eax
call fcn.0052d9f5
add esp, 4
mov esi, eax
mov eax, dword [edi + 0x5d9c14]
push edx
cdq
push esi
push edx
push eax
call fcn.0052d9b0
add esp, 0x10
call fcn.00545cc0
cmp dword [esp + 0x14], 0
mov dword [edi + 0x5d9c10], eax
jne 0x431834
cmp dword [0xbdae6c], 0
jne 0x431819
mov eax, dword [0xbd8efc]
cmp eax, 0xffffffff
je 0x431839
mov dword [0xbd8efc], 0xffffffff
jmp 0x431856
cmp dword [edi + 0x5d9c08], 1
jne 0x431829
mov dword [0xbd8efc], eax
jmp 0x431839
mov eax, dword [0xbd8efc]
test eax, eax
jne 0x43184c
jmp 0x431839
mov eax, dword [0xbd8efc]
test eax, eax
jle 0x431856
mov eax, dword [edi + 0x5d9c08]
cmp eax, 1
je 0x431856
test eax, eax
je 0x431856
mov dword [0xbd8efc], 0
mov eax, dword [edi + 0x5d9c08]
cmp eax, 4
ja case.0x431865.0
jmp dword [eax*4 + 0x431ae0]
lea eax, [edi + 0x5d9c04]
push eax
call fcn.00431b00
jmp case.0x431865.0
lea eax, [edi + 0x5d9c04]
push eax
call fcn.00432e50
xor edx, edx
lea esi, [edi + 0x5d9c34]
mov eax, esi
lea ebx, [edx + 0x46]
mov ecx, dword [eax]
test ecx, ecx
js 0x4318a5
cmp ecx, 0x1194
jge 0x4318a5
inc edx
add eax, 0x14
sub ebx, 1
jne 0x431896
cmp edx, dword [0xbdae70]
jge 0x4318c1
lea eax, [edi + 0x5d9c04]
push eax
jmp 0x431a3d
mov eax, dword [edi + 0x5d9c10]
test eax, eax
jle 0x43192a
cmp eax, 0x1e
jg case.0x431865.0
cmp dword [edi + 0x5d9c24], 0
jne case.0x431865.0
mov dword [esp + 0xc], 0xb9204c1
mov ebx, 0x46
nop
mov eax, dword [esi]
test eax, eax
js 0x43190a
cmp eax, 0x1194
jge 0x43190a
push 4
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.005192f0
add esi, 0x14
sub ebx, 1
jne 0x4318f0
mov eax, dword [edi + 0x5d9c10]
mov dword [edi + 0x5d9c24], 1
test eax, eax
jg case.0x431865.0
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x13
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 0x43195c
cmp dword [eax + 0x10], 0x13
jle 0x43195e
mov eax, ecx
cmp eax, ecx
jne 0x43197e
push 0x13
push str.Could_not_find_message__d_
push 0xa9b7bc
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, 0xa9b7bc
jmp 0x431981
add eax, 0x18
push eax
push 0
lea ebx, [edi + 0x5d9c04]
push ebx
push 0x5d9c00
call fcn.004338e0
add esp, 0x10
mov dword [edi + 0x5d9c08], 3
mov ecx, 0x5d9c00
push ebx
call fcn.00432870
jmp case.0x431865.0
lea eax, [edi + 0x5d9c04]
push eax
call fcn.00431d40
jmp case.0x431865.0
lea ebx, [edi + 0x5d9c04]
push ebx
call fcn.00432e50
mov eax, dword [edi + 0x5d9c10]
test eax, eax
jle 0x431a3c
cmp eax, 0x1e
jg case.0x431865.0
cmp dword [edi + 0x5d9c24], 0
jne case.0x431865.0
mov dword [esp + 0x10], 0xd9204c1
lea esi, [edi + 0x5d9c34]
mov ebx, 0x46
nop word [eax + eax]
mov eax, dword [esi]
test eax, eax
js 0x431a1a
cmp eax, 0x1194
jge 0x431a1a
push 4
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.005192f0
add esi, 0x14
sub ebx, 1
jne 0x431a00
mov eax, dword [edi + 0x5d9c10]
lea ebx, [edi + 0x5d9c04]
mov dword [edi + 0x5d9c24], 1
test eax, eax
jg case.0x431865.0
push ebx
mov ecx, 0x5d9c00
mov dword [edi + 0x5d9c08], 1
call fcn.00432500
mov esi, dword [edi + 0x5da33c]
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp esi, dword [edi + 0x5da340]
je 0x431ac5
call ebx
sub eax, dword [esi]
cmp eax, 0x1f40
jae 0x431a75
add esi, 0x28
jmp 0x431abd
mov ecx, dword [esi + 4]
test ecx, ecx
js 0x431aa0
cmp ecx, 0x1194
jge 0x431aa0
mov eax, dword [ecx*4 + 0x20a514c]
cmp dword [eax + 4], 3
jne 0x431aa0
movzx eax, byte [esi + 9]
push eax
lea eax, [esi + 8]
push eax
push ecx
call fcn.005192f0
mov eax, dword [edi + 0x5da340]
lea ecx, [esi + 0x28]
sub eax, ecx
push eax
push ecx
push esi
call fcn.0052b7a0
add esp, 0xc
add dword [edi + 0x5da340], 0xffffffd8
cmp esi, dword [edi + 0x5da340]
jne 0x431a65
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, 7
jl 0x4317a8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret