Function at 0x4bb300
Capabilities:
Get socket status

Disassembly:
mov eax, 0x603c
call fcn.004c4780
mov eax, dword [0x53c074]
xor eax, esp
mov dword [esp + 0x6034], eax
push ebx
push ebp
mov ebp, ecx
mov dword [esp + 0xc], 0
push esi
mov esi, edx
mov dword [esp + 0x14], 0
push edi
cmp byte [ebp + 0xc4], 0
mov dword [esp + 0x1c], esi
jne 0x4bb6c2
xor ecx, ecx
or ebx, 0xffffffff
xor edi, edi
mov dword [esp + 0x28], ecx
test dword [ebp + 0xe4], 0x2000
mov dword [esp + 0x4038], ecx
mov dword [esp + 0x2030], ecx
je 0x4bb386
mov ecx, ebp
call fcn.004ba8b0
mov ecx, dword [esp + 0x28]
cmp eax, 1
jne 0x4bb386
test byte [ebp + 0xe4], 4
mov eax, edi
cmove esi, eax
mov dword [esp + 0x1c], esi
test dword [ebp + 0xe4], 4
mov eax, dword [sym.imp.WS2_32.dll___WSAFDIsSet]
jne 0x4bb688
cmp byte [ebp + 0xc4], 0
mov dword [esp + 0x10], 1
jne 0x4bb66c
mov esi, dword [ebp + 0xb4]
cmp esi, 0xffffffff
je 0x4bb410
cmp byte [ebp + 0xc5], 0
jne 0x4bb410
mov ecx, dword [esp + 0x28]
cmp ecx, 0x800
jb 0x4bb3e6
lea ecx, [esp + 0x28]
push ecx
push esi
call eax
mov ecx, dword [esp + 0x28]
test eax, eax
jne 0x4bb3e6
mov dword [esp + 0x10], edi
jmp 0x4bb414
xor eax, eax
test ecx, ecx
je 0x4bb3fb
nop dword [eax]
cmp esi, dword [esp + eax*4 + 0x2c]
je 0x4bb3fb
inc eax
cmp eax, ecx
jb 0x4bb3f0
cmp eax, ecx
jne 0x4bb40c
mov dword [esp + ecx*4 + 0x2c], esi
mov ecx, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x28], ecx
mov ebx, esi
jmp 0x4bb414
mov ecx, dword [esp + 0x28]
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x4bb661
nop
mov eax, dword [esi + 0xb0]
mov edi, dword [esi + 4]
sub eax, 0
je 0x4bb560
sub eax, 1
je 0x4bb4bf
sub eax, 1
jne 0x4bb5c1
mov esi, dword [esi + 0xa0]
cmp esi, 0xffffffff
je 0x4bb5b9
cmp dword [esp + 0x2030], 0x800
jb 0x4bb47b
lea eax, [esp + 0x2030]
push eax
push esi
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
mov ecx, dword [esp + 0x28]
test eax, eax
je 0x4bb5b9
xor eax, eax
cmp dword [esp + 0x2030], eax
jbe 0x4bb499
cmp esi, dword [esp + eax*4 + 0x2034]
je 0x4bb499
inc eax
cmp eax, dword [esp + 0x2030]
jb 0x4bb486
mov edx, dword [esp + 0x2030]
cmp eax, edx
jne 0x4bb5ac
mov dword [esp + edx*4 + 0x2034], esi
inc dword [esp + 0x2030]
mov ecx, dword [esp + 0x28]
jmp 0x4bb5ac
mov esi, dword [esi + 0xa0]
cmp esi, 0xffffffff
je 0x4bb54f
cmp dword [esp + 0x4038], 0x800
jb 0x4bb4f2
lea eax, [esp + 0x4038]
push eax
push esi
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
mov ecx, dword [esp + 0x28]
test eax, eax
je 0x4bb54f
xor eax, eax
cmp dword [esp + 0x4038], eax
jbe 0x4bb513
nop dword [eax]
cmp esi, dword [esp + eax*4 + 0x403c]
je 0x4bb513
inc eax
cmp eax, dword [esp + 0x4038]
jb 0x4bb500
mov edx, dword [esp + 0x4038]
cmp eax, edx
jne 0x4bb530
mov dword [esp + edx*4 + 0x403c], esi
inc dword [esp + 0x4038]
mov ecx, dword [esp + 0x28]
cmp esi, ebx
ja 0x4bb539
cmp ebx, 0xffffffff
jne 0x4bb53b
mov ebx, esi
mov edx, 1
xor eax, eax
test edx, edx
cmovne eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
jmp 0x4bb5c1
xor edx, edx
xor eax, eax
test edx, edx
cmovne eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
jmp 0x4bb5c1
mov esi, dword [esi + 0xa0]
cmp esi, 0xffffffff
je 0x4bb5b9
cmp ecx, 0x800
jb 0x4bb587
lea eax, [esp + 0x28]
push eax
push esi
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
mov ecx, dword [esp + 0x28]
test eax, eax
je 0x4bb5b9
xor eax, eax
test ecx, ecx
je 0x4bb59b
nop dword [eax]
cmp esi, dword [esp + eax*4 + 0x2c]
je 0x4bb59b
inc eax
cmp eax, ecx
jb 0x4bb590
cmp eax, ecx
jne 0x4bb5ac
mov dword [esp + ecx*4 + 0x2c], esi
mov ecx, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x28], ecx
cmp esi, ebx
ja 0x4bb5b5
cmp ebx, 0xffffffff
jne 0x4bb5c1
mov ebx, esi
jmp 0x4bb5c1
mov dword [esp + 0x10], 0
mov esi, edi
test edi, edi
jne 0x4bb420
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x4bb661
nop word [eax + eax]
mov edi, dword [esi + 4]
mov esi, dword [esi + 0xa0]
cmp esi, 0xffffffff
je 0x4bb657
cmp dword [esp + 0x2030], 0x800
jb 0x4bb60e
lea eax, [esp + 0x2030]
push eax
push esi
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
je 0x4bb657
xor eax, eax
cmp dword [esp + 0x2030], eax
jbe 0x4bb633
nop dword [eax]
cmp esi, dword [esp + eax*4 + 0x2034]
je 0x4bb633
inc eax
cmp eax, dword [esp + 0x2030]
jb 0x4bb620
mov edx, dword [esp + 0x2030]
cmp eax, edx
jne 0x4bb64c
mov dword [esp + edx*4 + 0x2034], esi
inc dword [esp + 0x2030]
cmp esi, ebx
ja 0x4bb655
cmp ebx, 0xffffffff
jne 0x4bb657
mov ebx, esi
mov esi, edi
test edi, edi
jne 0x4bb5e0
mov ecx, dword [esp + 0x28]
cmp dword [esp + 0x10], 0
jne 0x4bb70a
push str.Could_not_obtain_daemon_fdsets
push ebp
call fcn.004c1e90
mov ecx, dword [esp + 0x30]
add esp, 8
mov edi, 1
jmp 0x4bb70c
mov esi, dword [ebp + 0xb4]
cmp esi, 0xffffffff
je 0x4bb711
cmp byte [ebp + 0xc5], 0
mov ecx, dword [esp + 0x28]
jne 0x4bb711
cmp ecx, 0x800
jb 0x4bb6e1
lea ecx, [esp + 0x28]
push ecx
push esi
call eax
test eax, eax
jne 0x4bb6dd
push str.Could_not_add_listen_socket_to_fdset
push ebp
call fcn.004c1e90
add esp, 8
xor eax, eax
mov ecx, dword [esp + 0x6044]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004c3717
add esp, 0x603c
ret
mov ecx, dword [esp + 0x28]
xor eax, eax
test ecx, ecx
je 0x4bb6f2
cmp esi, dword [esp + eax*4 + 0x2c]
je 0x4bb6f2
inc eax
cmp eax, ecx
jb 0x4bb6e7
cmp eax, ecx
mov eax, dword [sym.imp.WS2_32.dll___WSAFDIsSet]
jne 0x4bb711
mov dword [esp + ecx*4 + 0x2c], esi
mov ecx, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x28], ecx
jmp 0x4bb711
xor edi, edi
mov eax, dword [sym.imp.WS2_32.dll___WSAFDIsSet]
mov esi, dword [ebp + 0xbc]
cmp esi, 0xffffffff
je 0x4bb80c
cmp ecx, 0x800
jb 0x4bb7ea
lea ecx, [esp + 0x28]
push ecx
push esi
call eax
test eax, eax
jne 0x4bb7e6
mov eax, dword [ebp + 0xb4]
cmp eax, 0xffffffff
je 0x4bb7e0
cmp byte [ebp + 0xc5], 0
jne 0x4bb7e0
mov ecx, dword [esp + 0x28]
xor edx, edx
test ecx, ecx
je 0x4bb78f
cmp dword [esp + edx*4 + 0x2c], eax
je 0x4bb76f
inc edx
cmp edx, ecx
jb 0x4bb762
jmp 0x4bb78f
lea eax, [ecx - 1]
cmp edx, eax
jae 0x4bb78a
mov eax, dword [esp + edx*4 + 0x30]
mov dword [esp + edx*4 + 0x2c], eax
inc edx
mov ecx, dword [esp + 0x28]
lea eax, [ecx - 1]
cmp edx, eax
jb 0x4bb776
dec ecx
mov dword [esp + 0x28], ecx
mov esi, dword [ebp + 0xbc]
cmp esi, 0xffffffff
je 0x4bb7cd
cmp ecx, 0x800
jb 0x4bb7b6
lea eax, [esp + 0x28]
push eax
push esi
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
je 0x4bb7cd
mov ecx, dword [esp + 0x28]
xor eax, eax
test ecx, ecx
je 0x4bb7fb
nop dword [eax]
cmp esi, dword [esp + eax*4 + 0x2c]
je 0x4bb7fb
inc eax
cmp eax, ecx
jb 0x4bb7c0
jmp 0x4bb7fb
push str.Could_not_add_control_inter_thread_communication_channel_FD_to_fdset
push ebp
call fcn.004c1e90
add esp, 8
mov edi, 1
mov ecx, dword [esp + 0x28]
jmp 0x4bb80c
mov ecx, dword [esp + 0x28]
xor eax, eax
test ecx, ecx
je 0x4bb7fb
cmp esi, dword [esp + eax*4 + 0x2c]
je 0x4bb7fb
inc eax
cmp eax, ecx
jb 0x4bb7f0
cmp eax, ecx
jne 0x4bb80c
mov dword [esp + ecx*4 + 0x2c], esi
mov ecx, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x28], ecx
mov esi, dword [ebp + 0xb4]
cmp esi, 0xffffffff
je 0x4bb86d
cmp dword [ebp + 0xbc], 0xffffffff
je 0x4bb86d
mov eax, dword [ebp + 0xcc]
cmp eax, dword [ebp + 0xd0]
je 0x4bb837
cmp byte [ebp + 0xc6], 0
je 0x4bb86d
xor edx, edx
test ecx, ecx
je 0x4bb86d
nop dword [eax]
cmp dword [esp + edx*4 + 0x2c], esi
je 0x4bb84d
inc edx
cmp edx, ecx
jb 0x4bb840
jmp 0x4bb86d
lea eax, [ecx - 1]
cmp edx, eax
jae 0x4bb868
mov eax, dword [esp + edx*4 + 0x30]
mov dword [esp + edx*4 + 0x2c], eax
inc edx
mov ecx, dword [esp + 0x28]
lea eax, [ecx - 1]
cmp edx, eax
jb 0x4bb854
dec ecx
mov dword [esp + 0x28], ecx
xor eax, eax
xor esi, esi
cmp edi, 1
cmovne eax, dword [esp + 0x1c]
test eax, eax
jne 0x4bb88b
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], esi
lea esi, [esp + 0x14]
jmp 0x4bb8ed
test dword [ebp + 0xe4], 4
jne 0x4bb8ed
lea edx, [esp + 0x20]
mov ecx, ebp
call fcn.004bb050
cmp eax, 1
jne 0x4bb8e9
mov esi, dword [esp + 0x20]
push 0
push 0x3e8
push dword [esp + 0x2c]
push esi
call fcn.004c4180
imul ecx, eax, 0x3e8
sub esi, ecx
imul ecx, esi, 0x3e8
mov dword [esp + 0x18], ecx
test edx, edx
jne 0x4bb8dd
mov dword [esp + 0x14], eax
cmp eax, 0x7fffffff
jbe 0x4bb8e5
mov dword [esp + 0x14], connect
lea esi, [esp + 0x14]
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x4bb930
cmp dword [esp + 0x4038], ecx
jne 0x4bb930
cmp dword [esp + 0x2030], ecx
jne 0x4bb930
test esi, esi
jne 0x4bb90b
xor eax, eax
jmp 0x4bb94e
mov eax, 0x10624dd3
imul dword [esi + 4]
imul eax, dword [esi], 0x3e8
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add ecx, eax
push ecx
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
jmp 0x4bb94e
push esi
lea eax, [esp + 0x2034]
push eax
lea eax, [esp + 0x4040]
push eax
lea eax, [esp + 0x34]
push eax
push 0
call dword [sym.imp.WS2_32.dll_select]
cmp byte [ebp + 0xc4], 0
jne 0x4bb6c2
test eax, eax
jns 0x4bb987
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
je 0x4bb9ae
mov ecx, eax
call fcn.004c1690
push eax
push str.select_failed:__s_n
push ebp
call fcn.004c1e90
add esp, 0xc
jmp 0x4bb6c2
lea eax, [esp + 0x2030]
mov ecx, ebp
push eax
lea eax, [esp + 0x403c]
push eax
lea edx, [esp + 0x30]
call fcn.004bb1f0
add esp, 8
cmp eax, 1
jne 0x4bb6c2
xor eax, eax
test edi, edi
sete al
jmp 0x4bb6c4