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

Disassembly:
mov eax, 0x1120
call fcn.00457d20
mov al, byte [0x493b50]
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 0x423a9c
mov ecx, dword [ebp + 4]
lea edx, [eax + eax*2]
shl edx, 6
mov eax, dword [ecx + 0x275c8]
mov ecx, dword [ecx + 0x209fc]
add eax, edx
cmp ecx, 1
mov edx, dword [eax + 0x80]
mov eax, dword [eax + 0x7c]
lea edi, [eax + edx]
mov dword [esp + 0x14], edi
jne 0x423a93
mov dword [esp + 0x14], edx
cmp ecx, 2
jne 0x423a9c
mov dword [esp + 0x14], eax
cmp dword [esi + 0x1c], 2
jne 0x423d84
mov eax, dword [ebp + 8]
test eax, eax
je 0x423d84
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 0x423ae0
inc eax
add ecx, 4
cmp eax, 1
jb 0x423aca
cmp eax, 1
jne 0x423af1
mov dword [esp + 0x30], ebx
mov dword [esp + 0x28], 2
lea ecx, [esp + 0x20]
lea edx, [esp + 0x28]
push ecx
push 0
push 0
push edx
push 0xffffffffffffffff
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jne 0x423b33
mov eax, dword [ebp + 4]
mov eax, dword [eax + 0xa9b8]
cmp eax, 0xffffffff
je 0x423d7a
mov ecx, dword [esp + 0x1c]
inc ecx
cmp ecx, eax
mov dword [esp + 0x1c], ecx
jg 0x423e32
jmp 0x423d7a
test eax, eax
mov dword [esp + 0x1c], 0
jl 0x423d96
mov eax, dword [esi + 0x24]
cmp eax, 0xffffffff
je 0x423c1e
mov ecx, dword [ebp + 4]
lea edx, [eax + eax*2]
shl edx, 6
mov eax, dword [ecx + 0x275c8]
mov eax, dword [eax + edx + 0x70]
cmp eax, 0xffffffff
jle 0x423c1e
test eax, eax
je 0x423da8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esi + 0x24]
mov edi, eax
mov eax, dword [ebp + 4]
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + 0x275c8]
mov eax, dword [eax + 0x209fc]
shl ecx, 6
add ecx, edx
cmp eax, 1
mov edx, dword [ecx + 0x80]
mov ebx, dword [ecx + 0x7c]
lea esi, [ebx + edx]
jne 0x423ba8
mov esi, edx
cmp eax, 2
jne 0x423baf
mov esi, ebx
mov edx, dword [esp + 0x14]
cmp esi, edx
jae 0x423bc3
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x14]
lea eax, [esi + esi*4]
lea edx, [edx + edx*4]
mov ebx, 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 + 0x70]
mov ecx, edi
sub ecx, ebx
cmp ecx, eax
jae 0x423c09
sub eax, edi
mov edx, ebx
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 0x423cd4
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.0041c300
test eax, eax
mov eax, dword [esp + 0x10]
je 0x423dba
test eax, eax
jle 0x423e32
mov eax, dword [esp + 0x1140]
test eax, eax
je 0x423c90
lea edx, [esp + 0x12c]
push eax
push edx
mov ecx, ebp
call fcn.00426310
test eax, eax
jne 0x423dce
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x12c]
push eax
push ecx
push ebx
mov ecx, ebp
call fcn.0041c1d0
test eax, eax
je 0x423ecf
mov eax, dword [esi + 0x24]
cmp eax, 0xffffffff
je 0x423d7a
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 4]
push 0
push edx
push eax
add ecx, 0x241e0
call fcn.00406430
jmp 0x423d7a
lea eax, [esp + 0x28]
push eax
push ebx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x423d7a
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.0041c300
test eax, eax
je 0x423e41
cmp dword [esi + 0x24], 0xffffffff
je 0x423d59
mov eax, dword [esp + 0x1140]
test eax, eax
je 0x423d40
push eax
lea eax, [esp + 0x130]
push eax
mov ecx, ebp
call fcn.00426310
test eax, eax
jne 0x423e59
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.00406430
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x423d7a
push eax
lea eax, [esp + 0x130]
push eax
push edi
mov ecx, ebp
call fcn.0041c1d0
test eax, eax
je 0x423ee1
cmp dword [esi + 0x1c], 2
je 0x423aa6
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 0x423eb9
add eax, 0x1cb4
lea ecx, [esp + 0x12c]
push eax
push 0x48d48c
push ecx
call fcn.00457c43
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.0041c1d0
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 0x423eb9
add eax, 0x1cb4
push eax
lea eax, [esp + 0x130]
push 0x48d48c
push eax
call fcn.00457c43
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.0041c1d0
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.0041c1d0
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