Function at 0x45bb50
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 0x45bb8f
mov esi, dword [esp + 0x33c]
xor eax, eax
cmp esi, ebx
jbe 0x45bb8f
mov ecx, edi
cmp dword [ecx], 0xffffffff
jne 0x45bbaa
inc eax
add ecx, 8
cmp eax, esi
jb 0x45bb82
mov eax, dword [esp + 0x340]
push eax
call fcn.0045b810
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x324
ret
mov eax, dword [esp + 0x340]
cmp eax, ebx
jle 0x45bbc6
mov dword [esp + 0x10], eax
call fcn.00444e40
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 0x45bcd3
mov bx, word [edi + 4]
test bl, 7
je 0x45bccd
cmp edx, eax
jbe 0x45bc05
mov dword [esp + 0x14], edx
test bl, 1
je 0x45bc55
mov ecx, dword [esp + 0x12c]
xor eax, eax
test ecx, ecx
jbe 0x45bc2f
lea ecx, [esp + 0x130]
cmp dword [ecx], edx
je 0x45bc2f
inc eax
add ecx, 4
cmp eax, dword [esp + 0x12c]
jb 0x45bc1e
mov ecx, dword [esp + 0x12c]
cmp eax, ecx
jne 0x45bc55
cmp ecx, 0x40
jae 0x45bc55
mov dword [esp + eax*4 + 0x130], edx
mov eax, dword [esp + 0x12c]
inc eax
mov dword [esp + 0x12c], eax
test bl, 4
je 0x45bc90
mov ecx, dword [esp + 0x28]
xor eax, eax
test ecx, ecx
jbe 0x45bc76
lea ecx, [esp + 0x2c]
cmp dword [ecx], edx
je 0x45bc76
inc eax
add ecx, 4
cmp eax, dword [esp + 0x28]
jb 0x45bc68
mov ecx, dword [esp + 0x28]
cmp eax, ecx
jne 0x45bc90
cmp ecx, 0x40
jae 0x45bc90
mov dword [esp + eax*4 + 0x2c], edx
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
test bl, 2
je 0x45bccd
xor eax, eax
test ebp, ebp
jbe 0x45bcae
lea ecx, [esp + 0x234]
cmp dword [ecx], edx
je 0x45bcae
inc eax
add ecx, 4
cmp eax, ebp
jb 0x45bca2
cmp eax, ebp
jne 0x45bccd
cmp ebp, 0x40
jae 0x45bccd
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 0x45bbe1
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 0x45bd45
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 0x45bd4f
jne 0x45bd4f
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 0x45bdb8
call ebp
test eax, eax
je 0x45bd7a
cmp eax, 0x2714
jne 0x45bdbc
mov eax, dword [esp + 0x340]
test eax, eax
jle 0x45bd03
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
call fcn.00444e40
push edx
push eax
call fcn.00444e70
mov ecx, dword [esp + 0x350]
add esp, 0x10
sub ecx, eax
test ecx, ecx
mov dword [esp + 0x10], ecx
jle 0x45bdbc
jmp 0x45bd03
test eax, eax
jge 0x45bdca
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x324
ret
jne 0x45bdd9
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 0x45be42
lea ecx, [esp + 0x12c]
push ecx
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x45be0e
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 0x45be23
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 0x45be3b
or byte [esi], 2
cmp word [esi], 0
je 0x45be42
inc ebx
add esi, 8
dec edi
jne 0x45bdec
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x324
ret