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

Disassembly:
sub esp, 0x280
mov edx, dword [0x798490]
push ebx
push ebp
mov ebp, ecx
push esi
push edi
test edx, edx
mov dword [esp + 0x20], ebp
je 0x47b462
mov edi, 0x6b93f8
or ecx, 0xffffffff
xor eax, eax
mov byte [0x797e00], 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [0x797e04], 0
jne 0x47ade0
push 1
push str.NoNameEntered
call fcn.0048dc10
add esp, 4
push eax
call fcn.0048dcc0
add esp, 8
push eax
lea eax, [esp + 0x28]
push eax
call fcn.004b0670
add esp, 8
lea ecx, [esp + 0x24]
push ecx
call fcn.00492880
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret 8
mov cx, word [0x4e3b10]
movsx eax, cx
dec eax
je 0x47b02e
sub eax, 2
je 0x47b02e
dec eax
jne 0x47b462
mov edx, dword [esp + 0x298]
push 0
push edx
mov ecx, ebp
call fcn.004795f0
mov esi, eax
test esi, esi
je 0x47afee
mov ax, word [esi + 0x7e8]
cmp ax, 1
jbe 0x47afee
mov ecx, dword [esi + 0x794]
dec eax
and eax, 0xffff
mov edx, dword [ecx + eax*4]
mov ecx, ebp
push edx
call fcn.0047a2b0
mov ecx, dword [esi + 0x794]
mov bl, al
mov ax, word [esi + 0x7e8]
dec ax
and eax, 0xffff
mov edx, dword [ecx + eax*4]
mov ecx, ebp
push edx
call fcn.0047a320
cmp bl, 6
mov byte [esp + 0x13], al
jb 0x47ae9b
push 1
push str.GameIsFull
call fcn.0048dc10
add esp, 4
push eax
call fcn.0048dcc0
add esp, 8
push eax
lea eax, [esp + 0x28]
push eax
call fcn.004b0670
add esp, 8
lea ecx, [esp + 0x24]
push ecx
jmp 0x47aeca
test al, al
jne 0x47aed2
push 1
push str.NameIsUsed
call fcn.0048dc10
add esp, 4
push eax
call fcn.0048dcc0
add esp, 8
lea edx, [esp + 0x24]
push eax
push edx
call fcn.004b0670
add esp, 8
lea eax, [esp + 0x24]
push eax
call fcn.00492880
add esp, 4
cmp bl, 6
jae 0x47b462
mov al, byte [esp + 0x13]
test al, al
je 0x47b462
mov cx, word [esi + 0x7e8]
mov edx, dword [esi + 0x794]
mov al, byte [0x6b9844]
dec cx
and ecx, 0xffff
push eax
mov esi, dword [edx + ecx*4]
push esi
call fcn.00491a10
add esp, 8
mov byte [0x6b9844], al
call fcn.00492b60
push 1
push esi
push 0
mov byte [0x4e3b0c], 0
call fcn.00491740
mov ecx, dword [0x798490]
add esp, 8
push eax
call fcn.004a1570
push esi
mov ecx, ebp
call fcn.0047a3e0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x24]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x798490]
mov dword [esp + 0xf4], 2
add ecx, 0x418
push ecx
call fcn.004916b0
mov ecx, dword [0x798490]
add esp, 4
mov edi, eax
call fcn.004a04c0
mov ecx, dword [0x798490]
push 0
call fcn.004a07a0
mov esi, eax
test esi, esi
je 0x47afcd
mov edx, dword [esi + 8]
push edx
call fcn.004916b0
add esp, 4
cmp eax, edi
jne 0x47afc7
mov eax, dword [esi + 4]
lea ecx, [esp + 0xec]
push eax
push ecx
call fcn.0048e630
add esp, 8
mov esi, dword [esi]
test esi, esi
jne 0x47afa3
push 0
mov ecx, ebp
call fcn.004749c0
push 0
push str.CLIENTMULTIPLAYER
mov byte [0x7984c4], 1
push 0xe0
jmp 0x47b457
push 1
push str.NoGameSelected
call fcn.0048dc10
add esp, 4
push eax
call fcn.0048dcc0
add esp, 8
lea edx, [esp + 0x24]
push eax
push edx
call fcn.004b0670
add esp, 8
lea eax, [esp + 0x24]
push eax
call fcn.00492880
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret 8
cmp cx, 1
jne 0x47b072
mov edi, 0x797960
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x47b072
mov ecx, dword [0x79759c]
push eax
push str.NO_NUMBER
push 0xe0
call fcn.00473840
push 1
call fcn.00492a70
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret 8
push 0
push 1
push 2
push 0
mov ecx, edx
mov byte [0x7984c0], 2
mov byte [0x797e20], 0
call fcn.0049fde0
mov ecx, ebp
call fcn.004799d0
mov ecx, dword [0x798490]
call fcn.004a0430
mov ecx, dword [0x798490]
push 0
call fcn.004a0510
cmp word [0x4e3b10], 1
mov edi, eax
mov dword [esp + 0x14], edi
push 0
jne 0x47b0c7
push str.MODEM_DIALING
jmp 0x47b0cc
push str.SERIAL_CONNECTING
mov ecx, dword [0x79759c]
push 0xe0
call fcn.00473840
mov esi, fcn.008d76a6
nop
call esi
mov dword [esp + 0x1c], eax
call esi
mov dword [esp + 0x18], eax
mov al, byte [0x797e20]
xor bl, bl
test al, al
mov byte [esp + 0x13], bl
jne 0x47b2d9
test edi, edi
je 0x47b111
mov byte [0x797e20], 1
jmp 0x47b2cc
test bl, bl
jne 0x47b18b
call esi
mov ecx, dword [esp + 0x18]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xea60
jle 0x47b15a
cmp word [0x4e3b10], 1
mov byte [esp + 0x13], 1
push 0
jne 0x47b143
push str.MODEM_PROBLEM
jmp 0x47b148
push str.SERIAL_PROBLEM
mov ecx, dword [0x79759c]
push 0xdc
call fcn.00473840
jmp 0x47b18b
test bl, bl
jne 0x47b18b
call esi
mov edx, dword [esp + 0x1c]
sub edx, eax
mov eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x2710
jle 0x47b18b
call esi
mov ecx, dword [0x798490]
push 0
mov dword [esp + 0x20], eax
call fcn.004a0510
mov dword [esp + 0x14], eax
mov ecx, dword [0x79759c]
push str.MODEM_DIALING
xor ebp, ebp
call fcn.00470f10
test eax, eax
je 0x47b1a8
push str.MODEM_DIALING
jmp 0x47b1c1
mov ecx, dword [0x79759c]
push str.SERIAL_CONNECTING
call fcn.00470f10
test eax, eax
je 0x47b1df
push str.SERIAL_CONNECTING
mov ecx, dword [0x79759c]
call fcn.00470f10
mov ecx, dword [0x79759c]
push eax
push str.timeleft
call fcn.004797d0
mov ebp, eax
test ebp, ebp
je 0x47b2ba
call esi
mov ecx, dword [esp + 0x18]
mov esi, 0x3c
sub ecx, eax
mov eax, ecx
cdq
mov ecx, eax
mov eax, 0x10624dd3
xor ecx, edx
sub ecx, edx
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
sub esi, edx
jns 0x47b216
xor esi, esi
jmp 0x47b220
cmp esi, 0x3c
jle 0x47b220
mov esi, 0x3c
push 1
push str.SecondsRemaining
call fcn.0048dc10
add esp, 4
push eax
call fcn.0048dcc0
add esp, 8
lea ecx, [esp + 0x24]
push eax
push esi
push str._d__s
push ecx
call fcn.004b0670
lea edx, [ebp + 0x790]
add esp, 0x10
lea esi, [esp + 0x24]
mov eax, edx
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x47b27c
test cl, cl
je 0x47b278
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x47b27c
add eax, 2
add esi, 2
test cl, cl
jne 0x47b258
xor eax, eax
jmp 0x47b281
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x47b2b4
lea edi, [esp + 0x24]
or ecx, 0xffffffff
xor eax, eax
mov byte [ebp + 0x858], 1
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp + 0x18], 1
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
push 1
call fcn.00492a70
mov edi, dword [esp + 0x18]
mov bl, byte [esp + 0x17]
add esp, 4
mov al, byte [0x797e20]
test al, al
je 0x47b101
test edi, edi
je 0x47b462
mov ecx, dword [0x798490]
xor bl, bl
mov ebp, 1
xor edi, edi
call fcn.004a04c0
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
mov ecx, dword [0x798490]
push edx
call fcn.004a07a0
mov esi, eax
test esi, esi
je 0x47b337
mov eax, dword [esi + 8]
push eax
call fcn.004916b0
mov ecx, dword [esi + 8]
add esp, 4
mov ebp, eax
push ecx
call fcn.00491600
mov esi, dword [esi]
add esp, 4
and eax, 0xff
inc bl
test esi, esi
mov edi, eax
jne 0x47b30e
cmp bl, 2
jb 0x47b378
push 1
push str.GameIsFull
call fcn.0048dc10
add esp, 4
push eax
call fcn.0048dcc0
add esp, 8
lea edx, [esp + 0x24]
push eax
push edx
call fcn.004b0670
add esp, 8
lea eax, [esp + 0x24]
push eax
call fcn.00492880
add esp, 4
cmp bl, 2
jae 0x47b462
mov al, byte [0x6b9844]
xor ecx, ecx
mov cl, al
cmp edi, ecx
jne 0x47b3b0
xor edx, edx
mov dl, al
cmp edi, edx
je 0x47b395
cmp al, 4
je 0x47b395
cmp al, 7
jne 0x47b3b0
push 0x1974
push str.C:MsDevProjectsJuly2000codeUIManager.cpp
call fcn.00448460
add esp, 8
and al, 7
mov byte [0x6b9844], al
jmp 0x47b385
call fcn.00492b60
mov ebx, dword [esp + 0x20]
push 0
mov ecx, ebx
call fcn.004749c0
mov eax, dword [esp + 0x14]
or ecx, 0xffffffff
mov edi, dword [eax + 8]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov al, byte [0x6b9844]
mov edx, ecx
mov esi, edi
mov edi, 0x6b9468
push eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [0x7984c4], 1
call fcn.00491a10
add esp, 8
mov byte [0x6b9844], al
call fcn.00492b60
push 0
push 0x6b9468
push ebp
push 0
call fcn.00491740
mov ecx, dword [0x798490]
add esp, 8
push eax
call fcn.0049fe30
push 0
push str.Joining
push 0
mov ecx, ebx
call fcn.0047bda0
cmp word [0x4e3b10], 3
push str.JOIN_MP2
jne 0x47b44d
push str.CONNECTION_TYPE
jmp 0x47b452
push str.MODEM_JOIN
push 0xe4
mov ecx, dword [0x79759c]
call fcn.00473840
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x280
ret 8