Function at 0x10040cd0
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x140
mov eax, dword [0x101cd100]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 0x20]
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x11c], ecx
cmp esi, 0xffffffff
jne 0x10040d81
mov ecx, dword [0x101ad290]
mov eax, dword [0x101ad294]
cmp ecx, 0x257edfd1
jne 0x10040d17
cmp eax, 0xb2ab117a
je 0x10040d26
cmp ecx, 0x257edfd0
jne 0x10040d2a
cmp eax, 0xb2ab117a
jne 0x10040d2a
mov al, 1
jmp 0x10040d46
mov eax, dword [0x101ad288]
push 0x2719
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x101653ec]
mov ecx, 0x101ad288
call esi
movzx eax, al
mov dword [ebp - 0x128], 0x2719
add eax, 2
mov dword [ebp - 0x124], 0x101ad288
movq xmm0, qword [ebp - 0x128]
movq qword [ebx], xmm0
mov dword [ebx + 8], eax
xor eax, eax
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10132a90
mov esp, ebp
pop ebp
ret
mov al, byte [ebp + 0xc]
and al, 0x10
cmp byte [ebp + 0x1c], 0
mov byte [ebp - 0x109], al
je 0x10040db6
test al, al
je 0x10040dbc
xorps xmm0, xmm0
xor eax, eax
movq qword [ebx], xmm0
pop esi
mov dword [ebx + 8], 0
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10132a90
mov esp, ebp
pop ebp
ret
mov byte [ebp - 0x109], al
push edi
nop dword [eax]
push ebx
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push ecx
push esi
call fcn.1003d850
add esp, 0x14
cmp byte [ebp - 0x109], 0
je 0x10040de2
test eax, eax
je 0x10040f67
test eax, eax
jns 0x10040ffc
test byte [ebp + 0xc], 1
jne 0x10040ffa
mov edi, dword [0x101ad290]
mov esi, dword [0x101ad294]
cmp edi, 0x257edfd1
jne 0x10040e10
cmp esi, 0xb2ab117a
je 0x10040e20
cmp edi, 0x257edfd0
jne 0x10040e24
cmp esi, 0xb2ab117a
jne 0x10040e24
mov al, 1
jmp 0x10040e4c
mov eax, dword [0x101ad288]
push 0x2733
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x101653ec]
mov ecx, 0x101ad288
call esi
mov esi, dword [0x101ad294]
mov edi, dword [0x101ad290]
movzx eax, al
add eax, 2
mov dword [ebp - 0x128], 0x2733
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x134]
push eax
mov dword [ebp - 0x124], 0x101ad288
movq xmm0, qword [ebp - 0x128]
push ebx
movq qword [ebp - 0x134], xmm0
call fcn.10020280
add esp, 8
test al, al
jne 0x10040f1c
cmp edi, 0x257edfd1
jne 0x10040ea4
cmp esi, 0xb2ab117a
je 0x10040eb4
cmp edi, 0x257edfd0
jne 0x10040eb8
cmp esi, 0xb2ab117a
jne 0x10040eb8
mov al, 1
jmp 0x10040ed4
mov eax, dword [0x101ad288]
push 0x4d5
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x101653ec]
mov ecx, 0x101ad288
call esi
movzx eax, al
add eax, 2
mov dword [ebp - 0x140], 0x4d5
mov dword [ebp - 0x110], eax
lea eax, [ebp - 0x118]
push eax
mov dword [ebp - 0x13c], 0x101ad288
movq xmm0, qword [ebp - 0x140]
push ebx
movq qword [ebp - 0x118], xmm0
call fcn.10020280
add esp, 8
test al, al
je 0x10040ffa
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x108]
push 0
push 0
push 0
push eax
lea eax, [esi + 1]
mov dword [ebp - 0x104], esi
push eax
mov dword [ebp - 0x108], 1
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
js 0x10040fd5
mov ecx, dword [ebp - 0x11c]
xorps xmm0, xmm0
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
jmp 0x10040dc0
mov ecx, dword [0x101ad2f8]
mov eax, dword [0x101ad2fc]
cmp ecx, 0x257edfd1
jne 0x10040f81
cmp eax, 0xb2ab117a
je 0x10040f90
cmp ecx, 0x257edfd0
jne 0x10040f94
cmp eax, 0xb2ab117a
jne 0x10040f94
mov al, 1
jmp 0x10040fad
mov eax, dword [0x101ad2f0]
push 2
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x101653ec]
mov ecx, 0x101ad2f0
call esi
mov dword [ebp - 0x118], 2
mov dword [ebp - 0x114], 0x101ad2f0
movq xmm0, qword [ebp - 0x118]
movzx eax, al
add eax, 2
movq qword [ebx], xmm0
jmp 0x10040ff7
push 0x101ad288
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
lea ecx, [ebp - 0x118]
call fcn.1001be50
movq xmm0, qword [eax]
movq qword [ebx], xmm0
mov eax, dword [eax + 8]
mov dword [ebx + 8], eax
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10132a90
mov esp, ebp
pop ebp
ret