Function at 0x423f50
Capabilities:
Check for time delay via gettickcount
Get socket status

Disassembly:
mov eax, 0x1120
call fcn.00458680
mov al, byte [0x494b70]
push ebx
push ebp
push esi
mov ebp, ecx
push edi
mov byte [esp + 0x12c], al
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x12d]
xor esi, esi
mov dword [esp + 0x20], 1
rep stosd dword es:[edi], eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], 0x1000
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x1134]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x24]
cmp eax, 0xffffffff
je 0x423ff9
mov edx, dword [ebp + 4]
lea ecx, [eax*8]
sub ecx, eax
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*8]
mov ecx, dword [edx + 0x364d8]
mov edx, dword [edx + 0x209fc]
lea eax, [ecx + eax*4]
cmp edx, 1
mov ecx, dword [eax + 0x170]
mov eax, dword [eax + 0x16c]
lea edi, [eax + ecx]
mov dword [esp + 0x14], edi
jne 0x423ff0
mov dword [esp + 0x14], ecx
cmp edx, 2
jne 0x423ff9
mov dword [esp + 0x14], eax
cmp dword [esi + 0x1c], 2
jne 0x4242fe
mov eax, dword [ebp + 8]
test eax, eax
je 0x4242fe
mov edi, dword [esp + 0x1138]
mov dword [esp + 0x28], 1
mov dword [esp + 0x2c], edi
xor eax, eax
lea ecx, [esp + 0x2c]
mov ebx, dword [esp + 0x113c]
mov edx, dword [ecx]
cmp edx, ebx
je 0x42403d
inc eax
add ecx, 4
cmp eax, 1
jb 0x424027
cmp eax, 1
jne 0x42404e
mov dword [esp + 0x30], ebx
mov dword [esp + 0x28], 2
lea edx, [esp + 0x20]
lea eax, [esp + 0x28]
push edx
push 0
push 0
push eax
push 0xffffffffffffffff
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jne 0x424090
mov ecx, dword [ebp + 4]
mov eax, dword [ecx + 0xa9b8]
cmp eax, 0xffffffff
je 0x4242f4
mov ecx, dword [esp + 0x1c]
inc ecx
cmp ecx, eax
mov dword [esp + 0x1c], ecx
jg 0x4243ac
jmp 0x4242f4
test eax, eax
mov dword [esp + 0x1c], 0
jl 0x424310
mov ecx, dword [esi + 0x24]
cmp ecx, 0xffffffff
je 0x424198
mov edx, dword [ebp + 4]
lea eax, [ecx*8]
sub eax, ecx
mov edx, dword [edx + 0x364d8]
lea eax, [eax + eax*2]
lea ecx, [ecx + eax*8]
mov eax, dword [edx + ecx*4 + 0x160]
cmp eax, 0xffffffff
jle 0x424198
test eax, eax
je 0x424322
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esi + 0x24]
mov edx, dword [ebp + 4]
mov ebx, eax
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax + eax*2]
lea ecx, [ecx + eax*8]
mov eax, dword [edx + 0x364d8]
mov edx, dword [edx + 0x209fc]
mov edi, dword [eax + ecx*4 + 0x16c]
lea ecx, [eax + ecx*4]
cmp edx, 1
mov eax, dword [ecx + 0x170]
lea esi, [edi + eax]
jne 0x42411f
mov esi, eax
cmp edx, 2
jne 0x424126
mov esi, edi
mov edx, dword [esp + 0x14]
cmp esi, edx
jae 0x42413a
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x14]
lea eax, [esi + esi*4]
lea edx, [edx + edx*4]
mov edi, dword [esp + 0x18]
lea eax, [eax + eax*4]
lea edx, [edx + edx*4]
lea eax, [eax + eax*4]
lea edx, [edx + edx*4]
shl eax, 3
shl edx, 3
sub eax, edx
xor edx, edx
div dword [ecx + 0x160]
mov ecx, ebx
sub ecx, edi
cmp ecx, eax
jae 0x424183
sub eax, ebx
mov edx, edi
add eax, edx
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x1134]
mov edi, dword [esp + 0x1138]
mov ebx, dword [esp + 0x113c]
lea edx, [esp + 0x28]
push edx
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x42424e
lea eax, [esp + 0x10]
push 0
lea ecx, [esp + 0x130]
push eax
push ecx
push esi
push edi
mov ecx, ebp
mov dword [esp + 0x24], 0x1000
mov byte [esp + 0x140], 0
call fcn.0041c7d0
test eax, eax
mov eax, dword [esp + 0x10]
je 0x424334
test eax, eax
jle 0x4243ac
mov eax, dword [esp + 0x1140]
test eax, eax
je 0x42420a
lea edx, [esp + 0x12c]
push eax
push edx
mov ecx, ebp
call fcn.00426910
test eax, eax
jne 0x424348
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x12c]
push eax
push ecx
push ebx
mov ecx, ebp
call fcn.0041c6a0
test eax, eax
je 0x424449
mov eax, dword [esi + 0x24]
cmp eax, 0xffffffff
je 0x4242f4
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 4]
push 0
push edx
push eax
add ecx, 0x241e0
call fcn.004066c0
jmp 0x4242f4
lea eax, [esp + 0x28]
push eax
push ebx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4242f4
lea ecx, [esp + 0x10]
push 0
lea edx, [esp + 0x130]
push ecx
push edx
push esi
push ebx
mov ecx, ebp
mov dword [esp + 0x24], 0x1000
mov byte [esp + 0x140], 0
call fcn.0041c7d0
test eax, eax
je 0x4243bb
cmp dword [esi + 0x24], 0xffffffff
je 0x4242d3
mov eax, dword [esp + 0x1140]
test eax, eax
je 0x4242ba
push eax
lea eax, [esp + 0x130]
push eax
mov ecx, ebp
call fcn.00426910
test eax, eax
jne 0x4243d3
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + 0x24]
push 1
push ecx
mov ecx, dword [ebp + 4]
push edx
add ecx, 0x241e0
call fcn.004066c0
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x4242f4
push eax
lea eax, [esp + 0x130]
push eax
push edi
mov ecx, ebp
call fcn.0041c6a0
test eax, eax
je 0x42445b
cmp dword [esi + 0x1c], 2
je 0x424003
pop edi
pop esi
pop ebp
mov eax, 0x10
pop ebx
add esp, 0x1120
ret 0x10
pop edi
pop esi
pop ebp
mov eax, 0xa
pop ebx
add esp, 0x1120
ret 0x10
pop edi
pop esi
pop ebp
mov eax, 0xd
pop ebx
add esp, 0x1120
ret 0x10
neg eax
pop edi
pop esi
sbb eax, eax
pop ebp
and eax, 0xd
pop ebx
add esp, 0x1120
ret 0x10
mov eax, dword [ebp + 4]
mov edx, dword [eax + 0x20b4]
test edx, edx
jne 0x424433
add eax, 0x1cb4
lea ecx, [esp + 0x12c]
push eax
push 0x48e48c
push ecx
call fcn.004585a3
lea edi, [esp + 0x138]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [esp + 0x12c]
push ecx
mov dword [esp + 0x14], ecx
push edx
push ebx
mov ecx, ebp
call fcn.0041c6a0
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x1120
ret 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1120
ret 0x10
mov eax, dword [esp + 0x10]
pop edi
neg eax
sbb eax, eax
pop esi
pop ebp
and eax, 0xe
pop ebx
add esp, 0x1120
ret 0x10
mov eax, dword [ebp + 4]
mov edx, dword [eax + 0x20b4]
test edx, edx
jne 0x424433
add eax, 0x1cb4
push eax
lea eax, [esp + 0x130]
push 0x48e48c
push eax
call fcn.004585a3
lea edi, [esp + 0x138]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x10], ecx
push ecx
lea ecx, [esp + 0x130]
push ecx
push ebx
mov ecx, ebp
call fcn.0041c6a0
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x1120
ret 0x10
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
push ebx
mov ecx, ebp
call fcn.0041c6a0
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x1120
ret 0x10
pop edi
pop esi
pop ebp
mov eax, 0xf
pop ebx
add esp, 0x1120
ret 0x10