Function at 0x424ec0
Capabilities:
Get socket status

Disassembly:
sub esp, 0x324
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x338]
xor ebx, ebx
cmp edi, ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], ebx
je 0x424eff
mov esi, dword [esp + 0x33c]
xor eax, eax
cmp esi, ebx
jbe 0x424eff
mov ecx, edi
cmp dword [ecx], 0xffffffff
jne 0x424f1a
inc eax
add ecx, 8
cmp eax, esi
jb 0x424ef2
mov eax, dword [esp + 0x340]
push eax
call fcn.00424e90
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x324
ret
mov eax, dword [esp + 0x340]
cmp eax, ebx
jle 0x424f36
mov dword [esp + 0x10], eax
call fcn.004232c0
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
xor ebp, ebp
or eax, 0xffffffff
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x230], ebp
mov dword [esp + 0x14], eax
mov word [edi + 6], bx
mov edx, dword [edi]
cmp edx, 0xffffffff
je 0x425043
mov bx, word [edi + 4]
test bl, 7
je 0x42503d
cmp edx, eax
jbe 0x424f75
mov dword [esp + 0x14], edx
test bl, 1
je 0x424fc5
mov ecx, dword [esp + 0x12c]
xor eax, eax
test ecx, ecx
jbe 0x424f9f
lea ecx, [esp + 0x130]
cmp dword [ecx], edx
je 0x424f9f
inc eax
add ecx, 4
cmp eax, dword [esp + 0x12c]
jb 0x424f8e
mov ecx, dword [esp + 0x12c]
cmp eax, ecx
jne 0x424fc5
cmp ecx, 0x40
jae 0x424fc5
mov dword [esp + eax*4 + 0x130], edx
mov eax, dword [esp + 0x12c]
inc eax
mov dword [esp + 0x12c], eax
test bl, 4
je 0x425000
mov ecx, dword [esp + 0x28]
xor eax, eax
test ecx, ecx
jbe 0x424fe6
lea ecx, [esp + 0x2c]
cmp dword [ecx], edx
je 0x424fe6
inc eax
add ecx, 4
cmp eax, dword [esp + 0x28]
jb 0x424fd8
mov ecx, dword [esp + 0x28]
cmp eax, ecx
jne 0x425000
cmp ecx, 0x40
jae 0x425000
mov dword [esp + eax*4 + 0x2c], edx
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
test bl, 2
je 0x42503d
xor eax, eax
test ebp, ebp
jbe 0x42501e
lea ecx, [esp + 0x234]
cmp dword [ecx], edx
je 0x42501e
inc eax
add ecx, 4
cmp eax, ebp
jb 0x425012
cmp eax, ebp
jne 0x42503d
cmp ebp, 0x40
jae 0x42503d
mov dword [esp + eax*4 + 0x234], edx
mov ebp, dword [esp + 0x230]
inc ebp
mov dword [esp + 0x230], ebp
mov eax, dword [esp + 0x14]
xor ebx, ebx
add edi, 8
dec esi
jne 0x424f51
mov ebp, dword [esp + 0x340]
xor ecx, ecx
cmp ebp, ebx
mov edi, dword [sym.imp.WS2_32.dll_select]
mov ebp, dword [sym.imp.WS2_32.dll_WSAGetLastError]
lea edx, [esp + 0x20]
setl cl
dec ecx
lea ebx, [eax + 1]
and ecx, edx
mov esi, ecx
mov eax, dword [esp + 0x340]
xor ecx, ecx
cmp eax, ecx
jle 0x4250b5
mov ecx, dword [esp + 0x10]
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov dword [esp + 0x20], edx
mov ecx, 0x3e8
cdq
idiv ecx
lea eax, [edx + edx*4]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
shl edx, 3
mov dword [esp + 0x24], edx
jmp 0x4250bf
jne 0x4250bf
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
lea eax, [esp + 0x230]
push esi
lea ecx, [esp + 0x2c]
push eax
lea edx, [esp + 0x134]
push ecx
push edx
push ebx
call edi
cmp eax, 0xffffffff
jne 0x425128
call ebp
test eax, eax
je 0x4250ea
cmp eax, 0x2714
jne 0x42512c
mov eax, dword [esp + 0x340]
test eax, eax
jle 0x425073
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
call fcn.004232c0
push edx
push eax
call fcn.004232f0
mov ecx, dword [esp + 0x350]
add esp, 0x10
sub ecx, eax
test ecx, ecx
mov dword [esp + 0x10], ecx
jle 0x42512c
jmp 0x425073
test eax, eax
jge 0x42513a
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x324
ret
jne 0x425149
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x324
ret
mov edx, dword [esp + 0x338]
mov edi, dword [esp + 0x33c]
xor ebx, ebx
lea esi, [edx + 6]
mov word [esi], 0
mov eax, dword [esi - 6]
cmp eax, 0xffffffff
je 0x4251b2
lea ecx, [esp + 0x12c]
push ecx
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x42517e
or byte [esi], 1
mov eax, dword [esi - 6]
lea edx, [esp + 0x28]
push edx
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x425193
or byte [esi], 4
mov edx, dword [esi - 6]
lea ecx, [esp + 0x230]
push ecx
push edx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4251ab
or byte [esi], 2
cmp word [esi], 0
je 0x4251b2
inc ebx
add esi, 8
dec edi
jne 0x42515c
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x324
ret