Function at 0x40bbc0
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
mov eax, dword [0x47c894]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x10c], 0xffffffff
cmp dword [ebp + 0x14], 0
je 0x40bbec
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
cmp dword [ebp + 0x18], 0
je 0x40bbfb
mov ecx, dword [ebp + 0x18]
mov dword [ecx], 0
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0x118]
push eax
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040b600
add esp, 0x10
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x110], 0
jmp 0x40bc35
mov edx, dword [ebp - 0x110]
add edx, 1
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x110]
cmp eax, dword [ebp - 0x120]
jge 0x40bdc6
movsd xmm0, qword [ebp + 0xc]
ucomisd xmm0, qword [0x469310]
lahf
test ah, 0x44
jnp 0x40bc66
mov dword [ebp - 0x11c], 1
jmp 0x40bc70
mov dword [ebp - 0x11c], 0
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp - 0x11c]
push eax
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0x118]
mov eax, dword [edx + ecx*4]
push eax
call fcn.0040ba90
add esp, 0x10
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0
jl 0x40bdb6
movsd xmm0, qword [ebp + 0xc]
ucomisd xmm0, qword [0x469310]
lahf
test ah, 0x44
jnp 0x40bdb6
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x114], 0
jmp 0x40bce6
mov ecx, dword [ebp - 0x114]
add ecx, 1
mov dword [ebp - 0x114], ecx
mov edx, dword [ebp - 0x114]
cmp edx, dword [ebp - 0x108]
jae 0x40bd0d
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp + eax*4 - 0x104]
cmp ecx, dword [ebp - 0x10c]
jne 0x40bd0b
jmp 0x40bd0d
jmp 0x40bcd7
mov edx, dword [ebp - 0x114]
cmp edx, dword [ebp - 0x108]
jne 0x40bd46
cmp dword [ebp - 0x108], 0x40
jae 0x40bd46
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x10c]
mov dword [ebp + eax*4 - 0x104], ecx
mov edx, dword [ebp - 0x108]
add edx, 1
mov dword [ebp - 0x108], edx
xor eax, eax
jne 0x40bccb
cvttsd2si ecx, qword [ebp + 0xc]
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x128], 0
lea edx, [ebp - 0x12c]
push edx
push 0
lea eax, [ebp - 0x108]
push eax
push 0
mov ecx, dword [ebp - 0x10c]
add ecx, 1
push ecx
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 0
jg 0x40bdb6
mov edx, dword [ebp - 0x10c]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
cmp dword [ebp + 0x14], 0
je 0x40bdac
mov eax, dword [ebp + 0x14]
mov dword [eax], 2
mov dword [ebp - 0x10c], 0xffffffff
cmp dword [ebp - 0x10c], 0
jl 0x40bdc1
jmp 0x40bdc6
jmp 0x40bc26
mov dword [ebp - 0x110], 0
jmp 0x40bde1
mov ecx, dword [ebp - 0x110]
add ecx, 1
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp - 0x110]
cmp edx, dword [ebp - 0x120]
jge 0x40be09
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x118]
mov edx, dword [ecx + eax*4]
push edx
call fcn.0042f891
add esp, 4
jmp 0x40bdd2
mov eax, dword [ebp - 0x118]
push eax
call fcn.0042f891
add esp, 4
cmp dword [ebp - 0x10c], 0
jle 0x40be45
movsd xmm0, qword [ebp + 0xc]
comisd xmm0, xmmword [0x469310]
jbe 0x40be45
cvttsd2si ecx, qword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x10c]
push edx
call fcn.0040ca30
add esp, 8
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040ee13
mov esp, ebp
pop ebp
ret