Function at 0x416da0
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x138
mov eax, dword [0x4ad100]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
mov al, dl
mov ecx, dword [ebp + 8]
mov byte [ebp - 0x112], al
mov dword [ebp - 0x118], ebx
mov dword [ebp - 0x11c], ecx
push esi
mov esi, dword [ebp + 0x18]
push edi
cmp ebx, 0xffffffff
jne 0x416e2c
mov ecx, dword [0x4adc10]
mov eax, dword [0x4adc14]
cmp ecx, 0x257edfd1
jne 0x416df1
cmp eax, 0xb2ab117a
je 0x416e00
cmp ecx, 0x257edfd0
jne 0x416e0d
cmp eax, 0xb2ab117a
jne 0x416e0d
mov al, 1
mov dword [esi], 0x2719
jmp 0x417078
mov eax, dword [0x4adc08]
mov ecx, 0x4adc08
push 0x2719
mov eax, dword [eax + 0x18]
call eax
mov dword [esi], 0x2719
jmp 0x417078
and al, 0x10
cmp byte [ebp + 0x14], 0
mov byte [ebp - 0x111], al
je 0x416e5f
test al, al
je 0x416e65
xorps xmm0, xmm0
xor eax, eax
movq qword [esi], xmm0
mov dword [esi + 8], 0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00466048
mov esp, ebp
pop ebp
ret
mov byte [ebp - 0x111], al
push esi
push ecx
push dword [ebp + 0xc]
mov edx, ecx
mov ecx, ebx
call fcn.00416b90
add esp, 0xc
cmp byte [ebp - 0x111], 0
je 0x416e87
test eax, eax
je 0x416fd4
test eax, eax
jns 0x41708a
test byte [ebp - 0x112], 1
jne 0x417088
mov ebx, dword [0x4adc10]
mov edi, dword [0x4adc14]
cmp ebx, 0x257edfd1
jne 0x416eb8
cmp edi, 0xb2ab117a
je 0x416ec8
cmp ebx, 0x257edfd0
jne 0x416ecc
cmp edi, 0xb2ab117a
jne 0x416ecc
mov al, 1
jmp 0x416eec
mov eax, dword [0x4adc08]
mov ecx, 0x4adc08
push 0x2733
mov eax, dword [eax + 0x18]
call eax
mov edi, dword [0x4adc14]
mov ebx, dword [0x4adc10]
movzx eax, al
lea edx, [ebp - 0x128]
add eax, 2
mov dword [ebp - 0x128], 0x2733
mov ecx, esi
mov dword [ebp - 0x124], 0x4adc08
mov dword [ebp - 0x120], eax
call fcn.004165d0
test al, al
jne 0x416f8a
cmp ebx, 0x257edfd1
jne 0x416f2d
cmp edi, 0xb2ab117a
je 0x416f3d
cmp ebx, 0x257edfd0
jne 0x416f41
cmp edi, 0xb2ab117a
jne 0x416f41
mov al, 1
jmp 0x416f55
mov eax, dword [0x4adc08]
mov ecx, 0x4adc08
push 0x4d5
mov eax, dword [eax + 0x18]
call eax
movzx eax, al
lea edx, [ebp - 0x134]
add eax, 2
mov dword [ebp - 0x134], 0x4d5
mov ecx, esi
mov dword [ebp - 0x130], 0x4adc08
mov dword [ebp - 0x12c], eax
call fcn.004165d0
test al, al
je 0x417088
mov ebx, dword [ebp - 0x118]
lea eax, [ebp - 0x110]
push 0
push 0
push 0
push eax
lea eax, [ebx + 1]
mov dword [ebp - 0x10c], ebx
push eax
mov dword [ebp - 0x110], 1
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
js 0x41702e
mov ecx, dword [ebp - 0x11c]
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], 0
jmp 0x416e65
mov ecx, dword [0x4adbb8]
mov eax, dword [0x4adbbc]
cmp ecx, 0x257edfd1
jne 0x416fee
cmp eax, 0xb2ab117a
je 0x416ffd
cmp ecx, 0x257edfd0
jne 0x41700e
cmp eax, 0xb2ab117a
jne 0x41700e
mov dword [esi], 2
mov al, 1
mov dword [esi + 4], 0x4adbb0
jmp 0x41707f
mov eax, dword [0x4adbb0]
mov ecx, 0x4adbb0
push 2
mov eax, dword [eax + 0x18]
call eax
mov dword [esi], 2
mov dword [esi + 4], 0x4adbb0
jmp 0x41707f
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, dword [0x4adc10]
mov edi, eax
mov eax, dword [0x4adc14]
cmp ecx, 0x257edfd1
jne 0x417050
cmp eax, 0xb2ab117a
je 0x41705f
cmp ecx, 0x257edfd0
jne 0x417066
cmp eax, 0xb2ab117a
jne 0x417066
test edi, edi
setne al
jmp 0x417076
mov eax, dword [0x4adc08]
mov ecx, 0x4adc08
push edi
mov eax, dword [eax + 0x18]
call eax
mov dword [esi], edi
mov dword [esi + 4], 0x4adc08
movzx eax, al
add eax, 2
mov dword [esi + 8], eax
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00466048
mov esp, ebp
pop ebp
ret