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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
mov eax, dword [0x57f7c4]
xor eax, esp
mov dword [esp + 0x28], eax
push ebx
push esi
mov ebx, ecx
mov eax, dword [ebx + 0x57f4]
xor esi, esi
push edi
mov edi, edx
cmp eax, esi
jne 0x474a80
mov eax, 0xa301
cmp word [edi], ax
jne 0x474a15
mov eax, dword [edi + 2]
cmp eax, esi
je 0x474a15
mov esi, dword [0x587960]
lea ecx, [esp + 0x10]
push ecx
add esi, 0xa0
mov dword [esp + 0x14], eax
call fcn.00415480
test eax, eax
jne 0x474a15
cmp dword [ebx + 0x582c], eax
jne 0x474a15
mov edx, dword [edi + 2]
mov ecx, dword [ebx + 0x57f8]
mov dword [ebx + 0x582c], edx
mov edx, dword [ebx + 0x70]
mov dword [esp + 0x16], ecx
mov ecx, dword [edi + 6]
mov eax, 0x801
mov dword [esp + 0x1a], edx
mov edx, dword [edi + 0xa]
mov word [esp + 0x14], ax
mov eax, dword [edi + 2]
mov dword [esp + 0x22], ecx
mov ecx, dword [edi + 0x12]
mov dword [esp + 0x26], edx
mov dword [esp + 0x1e], eax
mov eax, dword [edi + 0xe]
push 0x1e
lea edx, [esp + 0x18]
mov dword [esp + 0x32], ecx
mov ecx, dword [0x587968]
push edx
mov dword [esp + 0x32], eax
call fcn.004ed2d0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x58b0]
movzx edx, word [edi]
push eax
mov eax, dword [0x587970]
lea ecx, [ebx + 0x184]
push ecx
push edx
add eax, 0xe0
push str.WHERE_CONNECT_Error_Packet_x__Char_s__Cnt_d
push eax
call fcn.004efdc0
mov eax, dword [ebx + 0x58b0]
add esp, 0x14
cmp eax, 0xa
jae 0x474a63
inc eax
mov dword [ebx + 0x58b0], eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
push 0
push 0x65
mov ecx, ebx
call fcn.004ec760
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
mov edx, 1
cmp eax, edx
jne 0x474abb
mov cx, word [edi]
mov edx, 0xff00
and cx, dx
mov eax, 0x100
cmp cx, ax
jne 0x4750d3
mov esi, ebx
call fcn.0047a220
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
cmp eax, 3
jne 0x474b9a
movzx edx, word [edi]
movzx ecx, dx
mov eax, ecx
and eax, 0xff00
cmp eax, 0x3100
jg 0x474b3d
je 0x474fda
cmp eax, 0x200
je 0x474b16
cmp eax, 0x1100
jne 0x4750d3
cmp dword [ebx + 0x1818], esi
je 0x4750d3
push ebx
mov ebx, edi
call fcn.0047f400
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
mov ecx, 0x201
cmp dx, cx
jne 0x4750d3
mov eax, ebx
call fcn.00456910
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
cmp eax, 0xb100
je 0x474b75
cmp eax, 0xf100
jne 0x4750d3
cmp dword [ebx + 0x1818], esi
je 0x4750d3
push ebx
mov ecx, edi
call fcn.0047fd10
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
cmp ecx, 0xb106
jne 0x474d6b
mov edi, ebx
call fcn.004dc090
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
cmp eax, 4
jne 0x4750d3
cmp dword [ebx + 0xe0], esi
je 0x4750d3
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xff00
cmp eax, 0x1c00
jg 0x474efb
je 0x474ee3
cmp eax, 0xa00
jg 0x474e22
je 0x474e07
cmp eax, 0x500
jg 0x474da1
je 0x474d87
cmp eax, 0x100
je 0x474c3a
cmp eax, 0x200
je 0x474c20
cmp eax, 0x300
jne 0x474d6b
mov ecx, edi
mov edi, ebx
call fcn.00477a50
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
push ebx
mov ecx, edi
call fcn.00476070
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
mov eax, 0x10b
cmp cx, ax
jne 0x474cb7
cmp byte [edi + 2], 0x80
jae 0x474d6b
xor ecx, ecx
mov dword [ebx + 0xec0], esi
cmp byte [edi + 2], cl
jbe 0x474c9e
lea eax, [edi + 5]
lea esi, [ebx + 0xec4]
cmp byte [eax], 0xff
jne 0x474c6e
cmp byte [esi], 0xa
jb 0x474c8f
movzx edx, byte [eax - 2]
mov byte [esi], dl
movzx edx, byte [eax - 1]
mov byte [esi + 1], dl
movzx edx, byte [eax]
mov byte [esi + 2], dl
mov dx, word [eax + 1]
mov word [esi + 4], dx
inc dword [ebx + 0xec0]
movzx edx, byte [edi + 2]
inc ecx
add eax, 5
add esi, 6
cmp ecx, edx
jl 0x474c64
mov eax, ebx
call fcn.0047ace0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
mov eax, 0x107
cmp cx, ax
jne 0x474d12
cmp byte [ebx + 0x144c], dl
jne 0x4750d3
cmp dword [ebx + 0x587c], esi
jne 0x4750d3
cmp dword [ebx + 0x68], 0xffffffff
je 0x4750d3
mov dword [ebx + 0x5878], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add eax, 0x2710
mov dword [ebx + 0x587c], eax
mov dword [ebx + 0x58b8], esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
mov eax, 0x10d
cmp cx, ax
jne 0x474d6b
cmp byte [ebx + 0x144c], dl
jne 0x4750d3
cmp dword [ebx + 0x587c], esi
jne 0x4750d3
cmp dword [ebx + 0x68], 0xffffffff
je 0x4750d3
mov dword [ebx + 0x5878], 2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add eax, 0x2710
mov dword [ebx + 0x587c], eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
push esi
push 9
mov ecx, ebx
call fcn.004ec760
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
push edi
mov ecx, ebx
call fcn.00478490
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
cmp eax, 0x700
je 0x474dec
cmp eax, 0x800
je 0x474dd1
cmp eax, 0x900
jne 0x474d6b
mov eax, edi
mov ecx, ebx
call fcn.0047a080
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
mov eax, edi
mov ecx, ebx
call fcn.00479f90
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
mov edx, edi
mov ecx, ebx
call fcn.00479220
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
mov edx, edi
mov ecx, ebx
call fcn.0047d940
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
cmp eax, 0xf00
jg 0x474eb2
je 0x474e97
cmp eax, 0xb00
je 0x474e7d
cmp eax, 0xd00
je 0x474e63
cmp eax, 0xe00
jne 0x474d6b
mov eax, edi
mov edi, ebx
call fcn.004750f0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
push ebx
mov ecx, edi
call fcn.00484fc0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
push ebx
mov ecx, edi
call fcn.004752b0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
mov eax, edi
mov esi, ebx
call fcn.00475150
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
cmp eax, 0x1100
je 0x474afc
cmp eax, 0x1200
jne 0x474d6b
mov eax, edi
mov ecx, ebx
call fcn.0047fcc0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
push edi
call fcn.004862b0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
cmp eax, 0xf100
jg 0x475010
je 0x474b5b
cmp eax, 0x2500
jg 0x474f99
je 0x474f80
cmp eax, 0x2200
je 0x474f66
cmp eax, 0x2300
je 0x474f4c
cmp eax, 0x2400
jne 0x474d6b
push ebx
mov ecx, edi
call fcn.0048bde0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
push ebx
mov ecx, edi
call fcn.00487370
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
push ebx
mov ecx, edi
call fcn.00484360
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
push edi
push ebx
call fcn.0048c950
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
cmp eax, 0x2600
je 0x474ff5
cmp eax, 0x3100
je 0x474fcc
cmp eax, 0xb100
jne 0x474d6b
push edi
mov ecx, ebx
call fcn.004648f0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
mov edx, 0x3101
cmp cx, dx
jne 0x4750d3
mov eax, edi
mov ecx, ebx
call fcn.00486cf0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
mov edx, edi
mov ecx, ebx
call fcn.00487f20
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
cmp eax, 0xf800
jg 0x47509f
je 0x475085
cmp eax, 0xf200
je 0x47506a
cmp eax, 0xf600
je 0x475050
cmp eax, 0xf700
jne 0x474d6b
push edi
mov ecx, ebx
call fcn.00480d20
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
push ebx
mov ecx, edi
call fcn.00480ab0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
mov eax, edi
mov ecx, ebx
call fcn.00480610
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
push ebx
mov ecx, edi
call fcn.00481f50
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
cmp eax, 0xf900
je 0x4750cb
cmp eax, 0xfa00
jne 0x474d6b
push ebx
mov ecx, edi
call fcn.00483430
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret
push edi
mov ecx, ebx
call fcn.00482630
mov ecx, dword [esp + 0x34]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret