Function at 0x40a550
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x490fed
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x4b0300]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
mov edi, dword [ebp + 8]
cmp dword [eax], 0xffffffff
mov ebx, dword [ebp + 0x18]
mov esi, dword [ebp + 0x1c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x2c], edx
je 0x40a608
mov ecx, dword [0x4b0db0]
mov eax, dword [0x4b0db4]
cmp ecx, 0x257edfd1
jne 0x40a5b8
cmp eax, 0xb2ab117a
je 0x40a5c7
cmp ecx, 0x257edfd0
jne 0x40a5cb
cmp eax, 0xb2ab117a
jne 0x40a5cb
mov al, 1
jmp 0x40a5dc
mov eax, dword [0x4b0da8]
mov ecx, 0x4b0da8
push 1
mov eax, dword [eax + 0x18]
call eax
movzx ecx, al
mov dword [ebp - 0x1c], 1
add ecx, 2
mov dword [ebp - 0x18], 0x4b0da8
movq xmm0, qword [ebp - 0x1c]
movq qword [esi], xmm0
mov dword [esi + 8], ecx
movq qword [edi], xmm0
mov dword [edi + 8], ecx
jmp 0x40a79c
push 1
push 0
push 0
push ebx
push edx
push ecx
call dword [sym.imp.WS2_32.dll_WSASocketW]
mov ebx, eax
mov ecx, esi
cmp ebx, 0xffffffff
sete dl
call fcn.004063a0
cmp ebx, 0xffffffff
jne 0x40a62f
or ebx, ebx
jmp 0x40a64d
cmp dword [ebp - 0x20], 0x17
jne 0x40a64d
push 4
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0
push eax
push 0x1b
push 0x29
push ebx
call dword [sym.imp.WS2_32.dll_setsockopt]
mov dword [ebp - 4], 0
cmp ebx, 0xffffffff
jne 0x40a669
movq xmm0, qword [esi]
movq qword [edi], xmm0
mov eax, dword [esi + 8]
jmp 0x40a799
mov eax, dword [ebp - 0x28]
push 0
push 0
mov eax, dword [eax + 4]
push dword [eax + 0x14]
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateIoCompletionPort]
test eax, eax
jne 0x40a6ed
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov edx, dword [0x4b0e00]
mov ecx, eax
mov eax, dword [0x4b0e04]
mov dword [ebp - 0x28], ecx
cmp edx, 0x257edfd1
jne 0x40a6a6
cmp eax, 0xb2ab117a
je 0x40a6b5
cmp edx, 0x257edfd0
jne 0x40a6bc
cmp eax, 0xb2ab117a
jne 0x40a6bc
test ecx, ecx
setne al
jmp 0x40a6cf
mov eax, dword [0x4b0df8]
push ecx
mov ecx, 0x4b0df8
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [ebp - 0x28]
movzx eax, al
mov dword [ebp - 0x1c], ecx
add eax, 2
mov dword [ebp - 0x18], 0x4b0df8
movq xmm0, qword [ebp - 0x1c]
movq qword [esi], xmm0
mov dword [esi + 8], eax
jmp 0x40a6fb
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
movq xmm0, qword [esi]
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x14], eax
test al, 1
je 0x40a754
cmp eax, 1
jne 0x40a71e
cmp dword [ebp - 0x1c], 0
setne al
test al, al
je 0x40a754
movq xmm0, qword [esi]
lea edx, [ebp - 0x21]
movq qword [edi], xmm0
mov ecx, ebx
mov eax, dword [esi + 8]
xorps xmm0, xmm0
mov dword [edi + 8], eax
lea eax, [ebp - 0x1c]
push eax
push 1
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x14], 0
mov byte [ebp - 0x21], 0
call fcn.004064d0
add esp, 8
jmp 0x40a79c
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x28], 0xffffffff
mov dword [eax], ebx
sub ecx, 1
je 0x40a779
sub ecx, 1
je 0x40a773
mov byte [eax + 4], 0
jmp 0x40a77d
mov byte [eax + 4], 0x20
jmp 0x40a77d
mov byte [eax + 4], 0x10
push dword [ebp - 0x2c]
push ecx
lea ecx, [eax + 8]
call fcn.00411f40
xorps xmm0, xmm0
xor eax, eax
movq qword [esi], xmm0
mov dword [esi + 8], eax
movq qword [edi], xmm0
mov dword [edi + 8], eax
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00469231
mov esp, ebp
pop ebp
ret 0x18