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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x20
cmp dword [0x4f2334], 0
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x14], ecx
je 0x42ae38
mov ebx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x4f233c
call ebx
mov eax, dword [0x4f2330]
mov eax, dword [eax]
mov esi, 0x4f232c
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], eax
jmp 0x42ac14
mov ecx, 0x4f232c
call fcn.0042de40
jmp 0x42ac10
mov esi, dword [esp + 0x20]
test esi, esi
mov edi, dword [0x4f2330]
je 0x42ac26
cmp esi, 0x4f232c
je 0x42ac2b
call fcn.00433e3c
mov ebp, dword [esp + 0x24]
cmp ebp, edi
je 0x42accf
test esi, esi
jne 0x42ac40
call fcn.00433e3c
cmp ebp, dword [esi + 4]
jne 0x42ac4a
call fcn.00433e3c
mov esi, dword [ebp + 0x14]
lea ecx, [esp + 0x20]
call fcn.00429f00
cmp byte [esi + 0x60], 0
je 0x42ac8d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0x64]
cmp eax, 0x7d0
jbe 0x42ac10
push 5
push str.infant_socket__delete
mov ecx, esi
call fcn.0042b5d0
mov ecx, dword [esi + 0xb4]
mov edx, dword [esi + 0xb0]
push ecx
push edx
jmp 0x42ac01
cmp dword [esi + 0xac], 2
jne 0x42ac10
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0x68]
cmp eax, 0x7d0
jbe 0x42ac10
push 5
push str.infant_half_connected_socket__delete
mov ecx, esi
call fcn.0042b5d0
mov eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xb0]
push eax
push ecx
jmp 0x42ac01
push 0x4f233c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [0x4f2334], 0
je 0x42ae38
cmp dword [0x4f2320], 0
jne 0x42acfd
cmp dword [0x4f12d4], 0
je 0x42ae38
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x10]
push 0x32
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [0x4f2320], 0
jne 0x42ad23
cmp dword [0x4f12d4], 0
je 0x42ae38
cmp eax, 0xffffffff
jne 0x42ad33
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x42ae23
cmp eax, 0x102
je 0x42ae2b
push 0x4f233c
xor ebp, ebp
call ebx
mov ecx, dword [0x4f2330]
mov edi, dword [ecx]
mov esi, 0x4f232c
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], esi
jmp 0x42ad68
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
test esi, esi
mov ebx, dword [0x4f2330]
je 0x42ad7a
cmp esi, 0x4f232c
je 0x42ad7f
call fcn.00433e3c
cmp edi, ebx
je 0x42ae14
test esi, esi
jne 0x42ad90
call fcn.00433e3c
cmp edi, dword [esi + 4]
jne 0x42ad9a
call fcn.00433e3c
mov esi, dword [edi + 0x14]
lea ecx, [esp + 0x28]
call fcn.00429f00
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedExchange]
push 0
lea edx, [esi + 0x6c]
push edx
call edi
test eax, eax
push 0
lea eax, [esi + 0x70]
setg bl
push eax
mov byte [esp + 0x24], bl
call edi
push 0
lea ecx, [esi + 0x74]
test eax, eax
push ecx
setg byte [esp + 0x18]
call edi
test eax, eax
setg al
test bl, bl
mov byte [esp + 0x18], al
jne 0x42adf5
cmp byte [esp + 0x10], bl
jne 0x42adf5
test al, al
jne 0x42adf5
cmp dword [esi + 0x5c], 0
jne 0x42ad60
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
push edx
push eax
push ecx
lea ecx, [esi + 0x58]
add ebp, 1
call fcn.0042a9f0
jmp 0x42ad60
push 0x4f233c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test ebp, ebp
jne 0x42ae2b
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x4f2334], 0
jne 0x42abde
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret