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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
mov eax, dword [0x68cb64]
mov ecx, dword [eax]
push ebx
mov ebx, dword [ebp + 0x14]
push esi
push edi
movzx edx, bx
push edx
push str.Receiving_a_message_using_protocol__0x_hx_...
push str.MThree::dsapiReceiveMessage
push 3
push eax
mov eax, dword [ecx]
call eax
mov edi, dword [ebp + 0xc]
add esp, 0x14
mov dword [edi], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [ebp + 0x2c]
mov dword [esp + 0x28], eax
test esi, esi
jne 0x48bd90
mov ecx, dword [ebp + 0x18]
mov dword [ebp + 0x2c], ecx
mov esi, ecx
mov eax, ebx
and eax, 0x50
mov dword [esp + 0x14], 0
mov dword [esp + 0x2c], eax
cmp ax, 0x50
je 0x48be03
mov edx, ebx
and edx, 0x210
cmp edx, 0x210
je 0x48be03
mov al, bl
and al, 0x30
cmp al, 0x30
jne 0x48bdd8
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x10]
push ecx
push esi
push ebx
mov ebx, dword [ebp + 8]
push edx
push edi
push ebx
call fcn.0048d030
add esp, 0x18
jmp 0x48be24
test bl, 0x10
je 0x48bdf6
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
push eax
push esi
push ebx
push ecx
push edi
push edx
call fcn.0048ca00
add esp, 0x18
jmp 0x48be21
mov dword [esp + 0x10], reloc.WS2_32.dll_bind
jmp 0x48bf1e
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 8]
push ecx
mov ecx, dword [ebp + 0x24]
push esi
push ebx
push edx
push edi
push eax
call fcn.0048c080
add esp, 0x1c
mov ebx, dword [ebp + 8]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x48bf1b
cmp byte [ebp + 0x28], al
je 0x48bf1b
mov edx, dword [ebx]
push eax
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
lea eax, [esp + 0x1c]
lea edi, [esp + 0x24]
xor esi, esi
call fcn.00486820
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
js 0x48bf57
cmp word [esp + 0xc], 2
jne 0x48bf57
mov esi, dword [esp + 0x18]
push esi
call dword [sym.imp.MSVCR90.dll_malloc]
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x48befb
mov edi, dword [ebx]
push esi
push edi
push eax
call sub.MSVCR90.dll_memcpy
add esp, 0xc
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], edi
test edi, edi
je 0x48bec5
mov ebx, dword [ebp + 0x14]
lea esi, [esp + 0x1c]
call fcn.004867d0
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x24]
push 0xa
push ecx
call fcn.00485e90
mov ebx, dword [ebp + 8]
mov esi, dword [esp + 0x24]
add esp, 0xc
mov edx, dword [ebx]
push esi
mov esi, dword [esp + 0x28]
push esi
push edx
call sub.MSVCR90.dll_memcpy
add esp, 0xc
cmp dword [esp + 0x14], 0x7f0000ff
jne 0x48bef2
mov eax, dword [ebx]
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov dword [ebx], 0
push esi
call dword [sym.imp.MSVCR90.dll_free]
jmp 0x48bf12
mov ecx, dword [ebx]
push ecx
mov dword [esp + 0x18], reloc.WS2_32.dll_closesocket
call dword [sym.imp.MSVCR90.dll_free]
mov dword [ebx], 0
mov esi, dword [ebp + 0x2c]
mov edi, dword [ebp + 0xc]
add esp, 4
mov ebx, dword [ebp + 0x14]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esp + 0x28]
sub eax, ecx
cmp byte [ebp + 0x28], 0
je 0x48bf57
cmp dword [esp + 0x14], 0x7f0000ff
jne 0x48bf6d
cmp dword [esp + 0x10], 0
jne 0x48bf61
mov edx, dword [ebp + 0x18]
imul edx, edx, 0x3e8
cmp eax, edx
jae 0x48bf61
mov eax, dword [esp + 0x2c]
jmp 0x48bda1
cmp dword [esp + 0x14], 0x7f0000ff
jne 0x48bf6d
mov eax, 9
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret