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

Disassembly:
sub esp, 0x6c
mov eax, dword [0x54e864]
xor eax, esp
mov dword [esp + 0x68], eax
push ebp
push edi
mov edi, ecx
lea eax, [edi + 0x24]
push eax
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebp, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebp
sub eax, dword [edi + 0x3c]
cmp eax, 0x3e8
jbe 0x46c97f
push ebx
push esi
call ebp
mov dword [edi + 0x3c], eax
mov eax, dword [edi]
mov esi, dword [eax]
cmp esi, eax
je 0x46c926
lea esp, [esp]
mov ecx, dword [esi + 8]
call fcn.0046dc30
cmp al, 1
je 0x46c7e4
mov ecx, dword [esi + 8]
call fcn.0046dc30
cmp al, 2
je 0x46c7e4
mov ecx, dword [esi + 8]
call fcn.0046dc30
cmp al, 3
je 0x46c7e4
mov ecx, dword [esi + 8]
call fcn.0046dc30
cmp al, 4
jne 0x46c89b
mov ecx, dword [esi + 8]
call fcn.0046dd50
mov ebx, eax
call ebp
sub eax, ebx
cmp eax, 0x6d60
jbe 0x46c89b
mov ebx, dword [esi + 8]
mov ecx, ebx
call fcn.0046dd30
test eax, eax
je 0x46c81e
mov ecx, ebx
call fcn.0046dd30
push eax
mov ecx, edi
call fcn.0046bc10
mov ebp, eax
jmp 0x46c820
xor ebp, ebp
mov esi, dword [esi]
lea eax, [esp + 0x14]
push eax
mov ecx, ebx
call fcn.0046dc40
mov ecx, ebx
call fcn.0046dd30
mov ecx, ebx
test eax, eax
je 0x46c85f
call fcn.0046dd30
push eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebx
call fcn.0046dc20
push eax
push 0x4fad50
push 0
call fcn.0042a000
add esp, 0x14
jmp 0x46c879
lea edx, [esp + 0x14]
push edx
call fcn.0046dc20
push eax
push str.Syncro:_Timeout_en_maquina__s._Estado_actual:__s
push 0
call fcn.0042a000
add esp, 0x10
mov ecx, ebx
call fcn.0046dd30
push eax
mov ecx, ebx
call fcn.0046dc20
push eax
mov ecx, ebx
call fcn.0046dd10
push eax
call fcn.00461770
add esp, 0xc
jmp 0x46c902
mov ecx, dword [esi + 8]
call fcn.0046dc30
cmp al, 5
jne 0x46c91c
mov ecx, dword [esi + 8]
call fcn.0046dd50
mov ebx, eax
call ebp
sub eax, ebx
cmp eax, 0x895440
jbe 0x46c91c
mov ebx, dword [esi + 8]
mov ecx, ebx
call fcn.0046dd30
push eax
mov ecx, edi
call fcn.0046bc10
mov esi, dword [esi]
mov ebp, eax
lea eax, [esp + 0x14]
push eax
mov ecx, ebx
call fcn.0046dc40
mov ecx, ebx
call fcn.0046dd30
push eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebx
call fcn.0046dc20
push eax
push str.Syncro:_Timeout_en_maquina__s._Estado_actual:__s._Partida:__d.
push 0
call fcn.0042a000
add esp, 0x14
push 1
push ebx
mov ecx, edi
call fcn.0046bc50
push ebp
mov ecx, edi
call fcn.0046bb60
mov ebp, dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x46c91e
mov esi, dword [esi]
cmp esi, dword [edi]
jne 0x46c7b0
mov eax, dword [edi + 0xc]
mov esi, dword [eax]
cmp esi, eax
je 0x46c97d
nop
mov ecx, dword [esi + 8]
call fcn.0046db40
mov ebx, eax
call ebp
sub eax, ebx
cmp eax, 0x895440
jbe 0x46c976
mov ecx, dword [esi + 8]
call fcn.0046daa0
push eax
push str.Syncro:_Timeout_en_partida__d
push 0
call fcn.0042a000
mov ebx, dword [esi + 8]
mov esi, dword [esi]
add esp, 0xc
push ebx
mov ecx, edi
call fcn.0046bd50
push 1
push ebx
mov ecx, edi
call fcn.0046bb00
jmp 0x46c978
mov esi, dword [esi]
cmp esi, dword [edi + 0xc]
jne 0x46c930
pop esi
pop ebx
mov edx, dword [esp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x70]
pop edi
pop ebp
xor ecx, esp
call fcn.004c6212
add esp, 0x6c
ret