Function at 0x5067a0
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x516855
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x234
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x1c], 0x80
xor edi, edi
mov dword [ebp - 4], edi
mov eax, dword [ebp - 0x1c]
push eax
push edi
mov ecx, dword [ebp + 0xc]
push ecx
call sub.MSVCR100.dll_memset
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x240], edx
mov dword [ebp - 0x14], edi
mov ebx, dword [sym.imp.WS2_32.dll___WSAFDIsSet]
cmp edi, dword [esi + 0x158]
jge 0x506826
lea edx, [ebp - 0x240]
push edx
mov eax, dword [esi + edi*4 + 0x58]
push eax
call ebx
test eax, eax
jne 0x50681a
inc edi
mov dword [ebp - 0x14], edi
mov edx, dword [ebp - 0x240]
jmp 0x5067f4
mov edx, dword [ebp - 0x240]
cmp edi, dword [esi + 0x158]
jne 0x506a0f
xor ecx, ecx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [esi + 0x158]
jge 0x506876
xor eax, eax
mov dword [ebp - 0x20], eax
cmp eax, edx
jae 0x506854
mov edi, dword [ebp + eax*4 - 0x23c]
cmp edi, dword [esi + ecx*4 + 0x58]
je 0x506852
inc eax
jmp 0x50683b
cmp eax, edx
jne 0x506873
cmp edx, 0x40
jae 0x506873
mov edx, dword [esi + ecx*4 + 0x58]
mov dword [ebp + eax*4 - 0x23c], edx
mov edx, dword [ebp - 0x240]
inc edx
mov dword [ebp - 0x240], edx
inc ecx
jmp 0x50682e
push 0
push 0
push 0
lea eax, [ebp - 0x240]
push eax
mov ecx, dword [esi + 0x158]
push ecx
call dword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
jne 0x506906
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
lea edx, [ebp - 0x5c]
push edx
call fcn.004ef520
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x3c]
push eax
mov edx, str.select___failed_with_error_:
call fcn.00413910
mov byte [ebp - 4], 2
push 0
push 0x20000000
push eax
push 0xba
push str.ubserver::accept_new_client
call fcn.0044d970
add esp, 0x24
mov byte [ebp - 4], 1
lea esi, [ebp - 0x3c]
call fcn.004150b0
mov byte [ebp - 4], 0
lea esi, [ebp - 0x5c]
call fcn.004150b0
mov eax, 0x64
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
xor edi, edi
mov dword [ebp - 0x14], edi
cmp edi, dword [esi + 0x158]
jge 0x506a0f
lea ecx, [ebp - 0x240]
push ecx
mov edx, dword [esi + edi*4 + 0x58]
push edx
call ebx
test eax, eax
je 0x5069f4
xor eax, eax
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x240]
cmp eax, ecx
jae 0x506978
mov edx, dword [ebp + eax*4 - 0x23c]
cmp edx, dword [esi + edi*4 + 0x58]
jne 0x5069eb
lea ecx, [ecx]
lea edx, [ecx - 1]
cmp eax, edx
jae 0x506971
mov ecx, dword [ebp + eax*4 - 0x238]
mov dword [ebp + eax*4 - 0x23c], ecx
inc eax
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x240]
jmp 0x506950
dec ecx
mov dword [ebp - 0x240], ecx
cmp edi, dword [esi + 0x158]
jge 0x506a0f
lea edx, [ebp - 0x1c]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [esi + edi*4 + 0x58]
push ecx
call dword [sym.imp.WS2_32.dll_accept]
mov edx, dword [ebp + 8]
mov dword [edx], eax
cmp eax, 0xffffffff
jne 0x5069fa
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.004ef520
mov bl, 3
mov byte [ebp - 4], bl
push eax
lea ecx, [ebp - 0x3c]
push ecx
mov edx, str.accept___failed_with_error_:
call fcn.00413910
mov byte [ebp - 4], 4
push 0
push 0x20000000
push eax
push 0xcd
push str.ubserver::accept_new_client
call fcn.0044d970
add esp, 0x24
mov byte [ebp - 4], bl
jmp 0x5068da
inc eax
mov dword [ebp - 0x18], eax
jmp 0x506938
inc edi
jmp 0x506908
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov dword [ebp - 4], 0xffffffff
jmp 0x5068ee