Function at 0x444bb0
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x330
mov eax, dword [0x612678]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0xc]
mov edx, 1
mov eax, dword [ebp + 8]
mov dword [ebp - 0x330], eax
push ebx
lea eax, [ecx + 8]
xor ebx, ebx
push esi
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x328], eax
mov al, byte [eax]
mov dword [ebp - 0x320], esi
mov esi, dword [ecx + 0x18]
push edi
xor edi, edi
movzx eax, al
test esi, esi
mov dword [ebp - 0x32c], esi
mov dword [ebp - 8], edi
cmovne edx, eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x31c], edx
mov edx, dword [ecx + 0x10]
cmp edx, esi
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x31c]
cmovae edx, esi
mov esi, dword [ecx + 0x14]
xor ecx, ecx
mov dword [ebp - 0x318], ecx
mov dword [ebp - 0xc], ebx
test al, al
jne 0x444cab
cmp ebx, 0x40
jae 0x444cab
mov eax, dword [ebp - 0x324]
mov dword [ebp + ebx*8 - 0x208], eax
mov dword [ebp + ebx*8 - 0x20c], edx
mov edi, dword [ebp - 8]
add edi, edx
mov dword [ebp - 8], edi
cmp esi, dword [ebp - 0x328]
je 0x444c97
lea ebx, [edx + ecx]
mov ecx, dword [ebp - 0x32c]
cmp ebx, ecx
jae 0x444c97
mov eax, esi
mov dword [ebp - 0x318], ebx
sub ecx, ebx
add esi, 8
mov ebx, dword [ebp - 0xc]
mov edx, dword [eax + 4]
cmp edx, ecx
mov eax, dword [eax]
cmovae edx, ecx
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x31c]
inc ebx
mov ecx, dword [ebp - 0x318]
jmp 0x444c2b
mov ebx, dword [ebp - 0xc]
mov al, 1
mov ecx, dword [ebp - 0x318]
inc ebx
mov dword [ebp - 0x31c], eax
jmp 0x444c2b
mov eax, dword [ebp - 0x330]
mov esi, dword [ebp - 0x320]
mov cl, byte [eax + 4]
mov eax, dword [eax]
mov byte [ebp - 0x311], cl
mov dword [ebp - 0x318], eax
cmp eax, 0xffffffff
jne 0x444cf0
call fcn.0053de50
mov dword [esi], 0x2719
mov dword [esi + 4], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00556510
mov esp, ebp
pop ebp
ret 0x10
test edi, edi
jne 0x444d02
test cl, 0x10
je 0x444d02
call fcn.0053de50
mov dword [esi], edi
jmp 0x444cd8
mov edi, dword [ebp - 0x318]
lea eax, [ebp - 0x20c]
push esi
push dword [ebp + 0x10]
push ebx
push eax
push edi
call fcn.00450990
add esp, 0x14
test eax, eax
jns 0x444cdd
mov cl, byte [ebp - 0x311]
and cl, 1
mov byte [ebp - 0x311], cl
test cl, cl
jne 0x444cdb
call fcn.0053de50
cmp dword [esi + 4], eax
jne 0x444d46
cmp dword [esi], 0x2733
je 0x444d58
call fcn.0053de50
cmp dword [esi + 4], eax
jne 0x444cdb
cmp dword [esi], 0x4d5
jne 0x444cdb
push 0
mov dword [ebp - 0x30c], edi
mov dword [ebp - 0x310], 1
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push 0
push 0
lea eax, [ebp - 0x310]
push eax
push 0
lea eax, [edi + 1]
push eax
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 0x320], eax
call fcn.0053de50
mov edi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [esi + 4], edi
mov edi, dword [ebp - 0x320]
mov dword [esi], eax
test edi, edi
jne 0x444db5
call fcn.0053de50
mov dword [esi], edi
mov dword [esi + 4], eax
jmp 0x444dcd
jle 0x444dc5
call fcn.0053de50
mov dword [esi], 0
mov dword [esi + 4], eax
test edi, edi
js 0x444cdb
mov edi, dword [ebp - 0x318]
lea eax, [ebp - 0x20c]
push esi
push dword [ebp + 0x10]
push ebx
push eax
push edi
call fcn.00450990
mov cl, byte [ebp - 0x311]
add esp, 0x14
test eax, eax
js 0x444d30
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00556510
mov esp, ebp
pop ebp
ret 0x10