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

Disassembly:
push 0xffffffffffffffff
push 0x100132ce
mov eax, dword fs:[0]
push eax
sub esp, 0x4b8
mov eax, dword [0x1001842c]
xor eax, esp
mov dword [esp + 0x4b4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1001842c]
xor eax, esp
push eax
lea eax, [esp + 0x4cc]
mov dword fs:[0], eax
push 0xc8
xor ebx, ebx
push ebx
call fcn.10002fe0
mov ecx, dword [0x1001a4f0]
cmp ecx, ebx
je 0x10007673
mov ebp, dword [sym.imp.USER32.dll_MessageBeep]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
test al, al
je 0x10007673
lea ecx, [esp + 0x28]
call fcn.10007b80
lea eax, [esp + 0x18]
push eax
push ebx
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [0x1001a4f0]
call fcn.10005450
test al, al
je case.0x100070da.3
mov eax, dword [esp + 0x28]
mov ecx, eax
and ecx, 0xf
cmp ecx, 0xa
ja case.0x100070da.3
jmp dword [ecx*4 + 0x100076f8]
cmp byte [0x1001a4f4], bl
je 0x100072f6
cmp byte [0x1001a6c8], bl
jne case.0x100070da.3
mov ecx, dword [0x1001a6c0]
cmp ecx, 0xffffffff
jne 0x10007207
test byte [esp + 0x28], 0xf0
jne case.0x100070da.3
mov ecx, dword [0x1001a4f0]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x18]
push eax
call edx
push 0x1001a69e
lea ecx, [esp + 0x2c]
call fcn.10008000
lea eax, [esp + 0x448]
push eax
lea ecx, [esp + 0x2c]
call fcn.10007f60
lea ecx, [esp + 0x448]
push ecx
push 0x1001a69e
push str.Connection_Request_from__s___s_.._Waiting_for_reconfirmation...
call fcn.10003cd0
add esp, 0xc
mov ecx, 0x1001a57c
lea eax, [esp + 0x448]
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10007190
cmp dl, bl
je 0x1000718c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10007190
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x10007170
xor eax, eax
jmp 0x10007195
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x100071a3
push str.Emulator_version_difference_alert__Game_may_desync_
call fcn.10006700
lea ecx, [esp + 0x130]
call fcn.10007b80
mov edx, dword [esp + 0x130]
and edx, 0xffffff10
or edx, 0x10
push 0x1001a67e
lea ecx, [esp + 0x134]
mov dword [esp + 0x134], edx
call fcn.10007cb0
push 0x1001a5fc
lea ecx, [esp + 0x134]
call fcn.10007c70
mov ecx, dword [0x1001a4f0]
lea eax, [esp + 0x130]
push eax
call fcn.100063e0
mov eax, dword [esp + 0x28]
mov dword [0x1001a6c0], ebx
jmp 0x1000720f
cmp ecx, ebx
jne case.0x100070da.3
mov ecx, eax
and cl, 0xf0
cmp cl, 0x10
jne 0x100072d3
lea ecx, [esp + 0x130]
mov byte [0x1001a6c8], 1
call fcn.10007b80
mov edx, dword [esp + 0x130]
and edx, 0xffffff01
or edx, 1
push 0x1001a4f0
lea ecx, [esp + 0x134]
mov dword [esp + 0x134], edx
call fcn.10007c70
mov ecx, dword [0x1001a4f0]
lea eax, [esp + 0x130]
push eax
call fcn.100063e0
call edi
sub eax, dword [0x1001a4e8]
push str.Using_version:_v0r6__Jul_19_2011____Things_may_behave_in_an_unexpected_manner_if_different_versions_are_used
mov dword [0x1001a4e0], eax
call fcn.10006700
push ebx
call ebp
cmp byte [0x1001a67c], bl
je 0x100072c3
lea ecx, [esp + 0x238]
call fcn.10007b80
mov ecx, dword [esp + 0x238]
and ecx, 0xffffff02
or ecx, 2
lea edx, [esp + 0x238]
mov dword [esp + 0x238], ecx
mov ecx, dword [0x1001a4f0]
push edx
call fcn.100063e0
cmp dword [0x1001a6c0], ebx
jne case.0x100070da.3
mov eax, dword [esp + 0x28]
and al, 0xf0
cmp al, 0x20
jne case.0x100070da.3
push str.Peer_dropped_P2PCORE.connection__probbly_doensot_have_the_game_
mov dword [0x1001a6c0], 0xffffffff
call fcn.10003cd0
jmp 0x10007662
cmp byte [0x1001a6c8], bl
jne case.0x100070da.3
cmp dword [0x1001a6c0], 0xffffffff
jne case.0x100070da.3
mov ecx, eax
and cl, 0xf0
cmp cl, 0x10
jne 0x1000740f
push 0x1001a69e
lea ecx, [esp + 0x2c]
call fcn.10008000
push 0x1001a5fc
lea ecx, [esp + 0x2c]
call fcn.10007f60
push 0x1001a5fc
push 0x1001a69e
push str.Peer_replied:__s___s_
call fcn.10003cd0
add esp, 0xc
push 0x1001a5fc
mov byte [0x1001a6c8], 1
call fcn.10004a30
lea ecx, [esp + 0x238]
call fcn.10007b80
mov edx, dword [esp + 0x238]
mov ecx, dword [0x1001a4f0]
and edx, 0xffffff10
lea eax, [esp + 0x238]
or edx, 0x10
push eax
mov dword [esp + 0x23c], edx
call fcn.100063e0
lea ecx, [esp + 0x130]
mov dword [0x1001a6c0], ebx
call fcn.10007b80
mov ecx, dword [esp + 0x130]
and ecx, 0xffffff01
or ecx, 1
mov dword [esp + 0x130], ecx
push 0x1001a4f0
lea ecx, [esp + 0x134]
call fcn.10007c70
mov ecx, dword [0x1001a4f0]
lea edx, [esp + 0x130]
push edx
call fcn.100063e0
call edi
sub eax, dword [0x1001a4e8]
push str.Using_version:_v0r6__Jul_19_2011_
mov dword [0x1001a4e0], eax
call fcn.10006700
push ebx
call ebp
cmp dword [0x1001a6c0], 0xffffffff
jne case.0x100070da.3
mov eax, dword [esp + 0x28]
and al, 0xf0
cmp al, 0x20
jne case.0x100070da.3
push str.Peer_dropped_connection__Probably_different_emu_version_
call fcn.10003cd0
mov dword [0x1001a6c0], 0xffffffff
jmp 0x10007662
lea eax, [esp + 0x28]
push eax
call fcn.100058a0
jmp case.0x100070da.3
test byte [esp + 0x28], 0xf0
jne 0x10007486
mov cl, byte [esp + 0x12d]
mov esi, dword [0x1001a4f0]
and eax, 0xffffff1f
or eax, 0x10
mov byte [esp + 0x12c], cl
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], eax
call fcn.10007c10
movzx edx, al
push edx
lea eax, [esp + 0x2c]
push eax
mov ecx, esi
call fcn.10006110
jmp case.0x100070da.3
call edi
sub eax, dword [0x1001a4e8]
sub eax, dword [0x1001a4e0]
push eax
mov dword [0x1001a6c0], eax
call fcn.100035d0
jmp case.0x100070da.3
test byte [esp + 0x28], 0xf0
sete al
mov byte [0x1001a67d], al
cmp al, bl
mov eax, str.ready
jne 0x100074bf
mov eax, str.not_ready
push eax
push 0x1001a69e
push str._s_is__s
call fcn.10003cd0
add esp, 0xc
cmp byte [0x1001a67c], bl
je case.0x100070da.3
cmp byte [0x1001a67d], bl
je case.0x100070da.3
push str.both_players_are_ready__starting_game
call fcn.10006700
lea ecx, [esp + 0x340]
call fcn.10007b80
mov ecx, dword [esp + 0x340]
mov esi, dword [0x1001a4f0]
and ecx, 0xffffff05
or ecx, 5
mov dword [esp + 0x340], ecx
lea ecx, [esp + 0x340]
call fcn.10007c10
movzx edx, al
push edx
lea eax, [esp + 0x344]
push eax
mov ecx, esi
call fcn.10006110
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
xor ecx, ecx
cmp byte [0x1001a4f4], bl
push 2
sete cl
inc ecx
push ecx
push 0x1001a5fc
call fcn.10003670
jmp case.0x100070da.3
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
xor edx, edx
cmp byte [0x1001a4f4], bl
push 2
sete dl
inc edx
push edx
push 0x1001a5fc
call fcn.10003670
jmp case.0x100070da.3
push str.Peer_left
call fcn.10003cd0
xor eax, eax
add esp, 4
cmp byte [0x1001a4f4], bl
mov byte [0x1001a6c8], bl
setne al
mov dword [0x1001a6cc], eax
cmp eax, ebx
je case.0x100070da.3
push str.Re_Initializing_server...
call fcn.10003cd0
mov ecx, dword [0x1001a4f0]
add esp, 4
mov esi, ecx
cmp ecx, ebx
je 0x100075e0
call fcn.100031a0
push esi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
push 0x40b4
mov dword [0x1001a4f0], ebx
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x4d4], ebx
cmp eax, ebx
je 0x1000760b
mov ecx, eax
call fcn.10005a70
jmp 0x1000760d
xor eax, eax
mov ecx, dword [0x1001a4f8]
mov dword [0x1001a4f0], eax
mov edx, dword [eax]
mov edx, dword [edx + 4]
push 0x8000
push ecx
or esi, 0xffffffff
mov ecx, eax
mov dword [esp + 0x4dc], esi
call edx
test al, al
jne 0x1000763c
push str.Error_initializing_socket_at_specified_port
jmp 0x10007641
push str.Done
call fcn.10003cd0
mov dword [0x1001a6cc], 1
mov dword [0x1001a6c0], esi
mov byte [0x1001a67c], bl
mov byte [0x1001a67d], bl
add esp, 4
mov ecx, dword [0x1001a4f0]
cmp ecx, ebx
jne 0x10007092
cmp dword [0x1001c6f8], ebx
jle 0x100076cf
jmp 0x10007680
mov eax, 0x1001a67e
cmp byte [0x1001a6fc], bl
jne 0x10007692
mov eax, 0x1001a69e
push 0x1001a6fd
push eax
call fcn.10003da0
mov eax, dword [0x1001c6f8]
cmp eax, ebx
jle 0x100076cf
lea esi, [eax - 1]
cmp esi, ebx
je 0x100076c5
mov eax, esi
shl eax, 8
push eax
push 0x1001a7f8
push 0x1001a6f8
call sub.MSVCR90.dll_memcpy
add esp, 0xc
cmp esi, ebx
mov dword [0x1001c6f8], esi
jg 0x10007680
mov ecx, dword [esp + 0x4cc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4b4]
xor ecx, esp
call fcn.10012622
add esp, 0x4c4
ret