Function at 0x6dc21c8c
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x248
cmp dword [ebp + 0x14], 0
je 0x6dc21cab
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1064]
test eax, eax
setne al
jmp 0x6dc21cb6
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
test eax, eax
setne al
test al, al
je 0x6dc21cdb
mov eax, dword [ebp + 8]
add eax, 0xc
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov eax, dword [sym.imp.libwinpthread_1.dll_pthread_cond_wait]
call eax
mov eax, 1
jmp 0x6dc21f69
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x10], 0
jmp 0x6dc21d08
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + eax*4 - 0x118]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
cmp edx, eax
jne 0x6dc21d04
jmp 0x6dc21d13
add dword [ebp - 0x10], 1
mov eax, dword [ebp - 0x11c]
cmp eax, dword [ebp - 0x10]
ja 0x6dc21cee
mov eax, dword [ebp - 0x11c]
cmp eax, dword [ebp - 0x10]
jne 0x6dc21d4a
mov eax, dword [ebp - 0x11c]
cmp eax, 0x3f
ja 0x6dc21d4a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov edx, eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x118], edx
mov eax, dword [ebp - 0x11c]
add eax, 1
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
lea edx, [eax + 1]
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], edx
mov dword [ebp - 0x220], 0
cmp dword [ebp + 0x14], 0
je 0x6dc21de3
mov dword [ebp - 0x14], 0
jmp 0x6dc21d8c
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + eax*4 - 0x21c]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
cmp edx, eax
jne 0x6dc21d88
jmp 0x6dc21d97
add dword [ebp - 0x14], 1
mov eax, dword [ebp - 0x220]
cmp eax, dword [ebp - 0x14]
ja 0x6dc21d72
mov eax, dword [ebp - 0x220]
cmp eax, dword [ebp - 0x14]
jne 0x6dc21dce
mov eax, dword [ebp - 0x220]
cmp eax, 0x3f
ja 0x6dc21dce
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov edx, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x21c], edx
mov eax, dword [ebp - 0x220]
add eax, 1
mov dword [ebp - 0x220], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1064]
lea edx, [eax + 1]
mov eax, dword [ebp + 8]
mov dword [eax + 0x1064], edx
mov eax, dword [ebp + 8]
add eax, 0xc
mov dword [esp], eax
mov eax, dword [sym.imp.libwinpthread_1.dll_pthread_mutex_unlock]
call eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
lea edx, [eax + 1]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
lea eax, [ebp - 0x220]
mov dword [esp + 8], eax
lea eax, [ebp - 0x11c]
mov dword [esp + 4], eax
mov dword [esp], edx
mov eax, dword [sym.imp.WS2_32.dll_select]
call eax
sub esp, 0x14
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffff
jne 0x6dc21e44
mov eax, dword [sym.imp.msvcrt.dll__errno]
call eax
mov eax, dword [eax]
cmp eax, 4
je 0x6dc21df3
cmp dword [ebp - 0xc], 0
jns 0x6dc21e64
mov dword [esp + 4], 1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.libxcb_1.dll__xcb_conn_shutdown
mov dword [ebp - 0xc], 0
mov eax, dword [ebp + 8]
add eax, 0xc
mov dword [esp], eax
mov eax, dword [sym.imp.libwinpthread_1.dll_pthread_mutex_lock]
call eax
cmp dword [ebp - 0xc], 0
je 0x6dc21f3c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
cmp eax, 1
je 0x6dc21e8f
cmp dword [ebp + 0x14], 0
jne 0x6dc21e96
mov eax, 1
jmp 0x6dc21e9b
mov eax, 0
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x6dc21ee9
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov edx, eax
lea eax, [ebp - 0x11c]
mov dword [esp + 4], eax
mov dword [esp], edx
call sub.WS2_32.dll___WSAFDIsSet
sub esp, 8
test eax, eax
je 0x6dc21ee9
cmp dword [ebp - 0xc], 0
je 0x6dc21ee1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.libxcb_1.dll__xcb_in_read
test eax, eax
je 0x6dc21ee1
mov eax, 1
jmp 0x6dc21ee6
mov eax, 0
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov edx, eax
lea eax, [ebp - 0x220]
mov dword [esp + 4], eax
mov dword [esp], edx
call sub.WS2_32.dll___WSAFDIsSet
sub esp, 8
test eax, eax
je 0x6dc21f3c
cmp dword [ebp - 0xc], 0
je 0x6dc21f34
mov eax, dword [ebp + 0x14]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6dc218cb
test eax, eax
je 0x6dc21f34
mov eax, 1
jmp 0x6dc21f39
mov eax, 0
mov dword [ebp - 0xc], eax
cmp dword [ebp + 0x14], 0
je 0x6dc21f57
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1064]
lea edx, [eax - 1]
mov eax, dword [ebp + 8]
mov dword [eax + 0x1064], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
lea edx, [eax - 1]
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0xc]
leave
ret