Function at 0x48aaf7
Capabilities:
Get socket status

Disassembly:
sub esp, 0x3e0
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 0x6c]
push eax
call dword [sym.imp.WS2_32.dll_ntohl]
xor ebx, ebx
push ebx
push ebx
mov ecx, esi
call fcn.0048ad80
push ebx
push ebx
mov ecx, esi
mov dword [esi + 0x5c], eax
call fcn.0048ad80
cmp dword [esi + 0x5c], 0xffffffff
mov dword [esi + 0x60], eax
je 0x48ad16
cmp eax, 0xffffffff
je 0x48ad16
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x74]
mov edx, dword [esi + 0x78]
push ebp
push ebx
push eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x30], ebx
mov byte [esp + 0x3a], bl
mov byte [esp + 0x37], bl
mov byte [esp + 0x39], bl
mov byte [esp + 0x38], bl
mov byte [esp + 0x36], bl
mov byte [esp + 0x34], 1
mov byte [esp + 0x35], 1
mov word [esp + 0x15c], bx
mov word [esp + 0x25e], bx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x48aca9
mov ebp, dword [sym.imp.WS2_32.dll_select]
jmp 0x48abb0
mov eax, dword [esi + 0x5c]
xor ecx, ecx
mov dword [esp + 0x25c], eax
inc eax
cmp eax, ebx
mov dword [esp + 0x258], 1
jbe 0x48abce
mov ecx, eax
mov edx, dword [esi + 0x60]
xor eax, eax
cmp dword [esp + eax*4 + 0x25c], edx
je 0x48abe2
inc eax
cmp eax, 1
jb 0x48abd3
cmp eax, 1
jne 0x48abf9
mov dword [esp + 0x260], edx
mov dword [esp + 0x258], 2
lea eax, [edx + 1]
cmp eax, ecx
jbe 0x48ac02
mov ecx, eax
lea edx, [esp + 0xc]
push edx
push ebx
push ebx
lea eax, [esp + 0x264]
push eax
push ecx
call ebp
cmp eax, 0xffffffff
je 0x48acd9
cmp eax, ebx
jne 0x48ac42
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
call fcn.0048a680
cmp eax, ebx
je 0x48aca9
cmp eax, 0xffffffff
jne 0x48ac96
pop ebp
pop esi
xor eax, eax
pop ebx
add esp, 0x3e0
ret
jle 0x48ac96
mov eax, dword [esi + 0x5c]
lea edx, [esp + 0x258]
push edx
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x48ac6d
mov ecx, dword [esi + 0x5c]
push ecx
lea edx, [esp + 0x18]
push edx
mov ecx, esi
call fcn.0048a520
test eax, eax
je 0x48aca9
mov ecx, dword [esi + 0x60]
lea eax, [esp + 0x258]
push eax
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x48ac96
mov edx, dword [esi + 0x60]
push edx
lea eax, [esp + 0x18]
push eax
mov ecx, esi
call fcn.0048a520
test eax, eax
je 0x48aca9
mov ecx, dword [esi + 0xc]
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x48abb0
cmp byte [esp + 0x2e], bl
je 0x48ac36
cmp byte [esp + 0x2f], bl
je 0x48ac36
mov edx, dword [esp + 0x40]
push edx
push ebx
mov ecx, esi
call fcn.0048ad80
cmp eax, 0xffffffff
je 0x48acee
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov byte [esp + 0x2c], bl
push str.binding_worked__n
jmp 0x48acf8
call sub.WS2_32.dll_WSAGetLastError
push eax
push str._select_failed____d_n
call fcn.00488820
add esp, 8
jmp 0x48aca9
mov byte [esp + 0x2c], 1
push str.binding_failed__n
call fcn.00488820
add esp, 4
lea eax, [esp + 0x14]
push eax
mov ecx, esi
call fcn.00489580
pop ebp
pop esi
pop ebx
add esp, 0x3e0
ret
pop esi
xor eax, eax
pop ebx
add esp, 0x3e0
ret