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

Disassembly:
sub esp, 0x244
mov eax, dword [0x4de8bc]
xor eax, esp
mov dword [esp + 0x240], eax
push ebx
mov ebx, dword [esp + 0x24c]
push ebp
push esi
mov esi, dword [esp + 0x258]
push edi
lea eax, [ebx + 4]
mov edi, ecx
push eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x24], esi
call fcn.00424e40
mov ebp, dword [sym.imp.WS2_32.dll_ntohl]
add esp, 4
push eax
call ebp
cmp dword [esi + 4], 0
mov ecx, eax
mov dword [esp + 0x1c], ecx
je 0x42a430
mov edx, dword [edi + 0x2c]
mov eax, edx
sub eax, ecx
test eax, eax
jle 0x42a41e
mov eax, dword [edi + 0x50]
push eax
push edx
push ecx
push str.Drop_acked_retransmition__sending_x__sendSeqAcked_x__writeQ_d
lea ecx, [esp + 0x60]
push ecx
call fcn.0042f6b4
add esp, 0x14
cmp dword [edi + 0x50], 0
jne 0x42a6d7
mov ecx, edi
call fcn.00428930
jmp 0x42a6d7
cmp ecx, dword [edi + 0x54]
je 0x42a430
mov eax, dword [edi + 0x50]
push eax
push edx
push ecx
push str.Drop_in_queue_retransmition__sending_x__sendSeqAcked_x__writeQ_d
jmp 0x42a3fb
add ebx, 8
push ebx
call fcn.00424e40
add esp, 4
push eax
call ebp
mov edx, dword [edi + 0x3c]
lea esi, [edi + 0x38]
mov ebp, eax
mov eax, dword [edx]
mov ebx, esi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ebx
test ebx, ebx
mov ecx, dword [esi + 4]
mov dword [esp + 0x28], ecx
je 0x42a466
cmp ebx, esi
je 0x42a46b
call fcn.004309cc
mov edx, dword [esp + 0x28]
cmp dword [esp + 0x18], edx
je 0x42a528
test ebx, ebx
jne 0x42a482
call fcn.004309cc
mov eax, dword [esp + 0x18]
cmp eax, dword [ebx + 4]
jne 0x42a490
call fcn.004309cc
mov eax, dword [esp + 0x18]
cmp eax, dword [ebx + 4]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x10], ecx
jne 0x42a4a5
call fcn.004309cc
mov edx, dword [esp + 0x18]
mov ebx, dword [edx + 0x10]
lea ecx, [esp + 0x14]
call fcn.004263c0
cmp dword [esp + 0x10], ebp
jae 0x42a528
push ebx
call fcn.0042f66f
add esp, 4
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x3c]
push ecx
mov ecx, esi
call fcn.00426ef0
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
push edx
lea eax, [esp + 0x14]
push eax
push edi
push ebp
push ebx
push ecx
mov dword [esp + 0x28], 0
call fcn.00426cf0
mov edx, dword [esp + 0x50]
add esp, 0x18
push edi
push ebp
push ebx
push edx
lea eax, [esp + 0x58]
push eax
mov ecx, esi
call fcn.00427210
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
jmp 0x42a457
mov ecx, dword [edi + 0x44]
test ecx, ecx
je 0x42a546
mov eax, ebp
sub eax, ecx
test eax, eax
setge cl
push str.Ack_seq_going_backward_
push ecx
call fcn.004251b0
add esp, 8
cmp byte [edi + 0xc4], 0
mov ebx, dword [esp + 0x20]
jne 0x42a61a
cmp dword [ebx + 4], 0
jne 0x42a61a
cmp ebp, dword [edi + 0x44]
jne 0x42a61a
cmp dword [edi + 0xc8], 0
je 0x42a588
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 0xc8]
cmp eax, 0x32
jb 0x42a6d7
push ebp
lea edx, [esp + 0x54]
push str.duplicated_acked_number__x__something_is_lost._Resending_3
push edx
call fcn.0042f6b4
mov eax, dword [esi + 4]
mov ebx, dword [eax]
mov ebp, esi
add esp, 0xc
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ebp
test ebp, ebp
mov ecx, dword [esi + 4]
mov dword [esp + 0x28], ecx
je 0x42a5c1
cmp ebp, esi
je 0x42a5c6
call fcn.004309cc
cmp ebx, dword [esp + 0x28]
je 0x42a609
cmp dword [esp + 0x10], 3
jge 0x42a609
test ebp, ebp
jne 0x42a5dc
call fcn.004309cc
cmp ebx, dword [ebp + 4]
jne 0x42a5e6
call fcn.004309cc
add ebx, 0x10
push ebx
mov ecx, edi
call fcn.004281b0
lea ecx, [esp + 0x14]
call fcn.004263c0
add dword [esp + 0x10], 1
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
jmp 0x42a5b2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0xc8], eax
jmp 0x42a6d7
mov eax, dword [edi + 0x30]
sub eax, ebp
test eax, eax
setge dl
push str.m_recvSeqNum___m_recvSeqNumAcked
mov dword [edi + 0xc8], 0
mov dword [edi + 0x44], ebp
push edx
call fcn.004251b0
mov eax, dword [esp + 0x3c]
add eax, 0xe
push eax
call fcn.00424e30
add esp, 0xc
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
cmp byte [edi + 0xc4], 0
movzx ecx, ax
lea eax, [ecx + ebp]
mov dword [edi + 0x34], eax
je 0x42a692
mov edx, dword [edi + 0x30]
mov ecx, eax
sub ecx, edx
cmp ecx, 0x400
jl 0x42a692
push ebp
push eax
lea edx, [esp + 0x158]
push str.Receive_window_unlocked._maxRecvReq_x_ackedReq_x
push edx
call fcn.0042f6b4
add esp, 0x10
mov byte [edi + 0xc4], 0
cmp dword [edi + 0x8c], 0
je 0x42a6a5
push 0
lea ecx, [edi + 0x58]
call fcn.00425f60
cmp dword [edi + 0xb8], 2
jne 0x42a6be
push 3
mov ecx, edi
call fcn.00428130
mov dword [edi + 0x68], 0
cmp dword [ebx + 4], 0
je 0x42a6d7
cmp dword [edi + 0x5c], 0
je 0x42a6d7
mov eax, dword [esp + 0x1c]
push ebx
push eax
mov ecx, edi
call fcn.00429dd0
mov ecx, dword [esp + 0x250]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0042e636
add esp, 0x244
ret 8