Function at 0x4063f0
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47e71d
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x49d980]
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 0x4064a8
mov ecx, dword [0x49da08]
mov eax, dword [0x49da0c]
cmp ecx, 0x257edfd1
jne 0x406458
cmp eax, 0xb2ab117a
je 0x406467
cmp ecx, 0x257edfd0
jne 0x40646b
cmp eax, 0xb2ab117a
jne 0x40646b
mov al, 1
jmp 0x40647c
mov eax, dword [0x49da00]
mov ecx, 0x49da00
push 1
mov eax, dword [eax + 0x18]
call eax
movzx ecx, al
mov dword [ebp - 0x1c], 1
add ecx, 2
mov dword [ebp - 0x18], 0x49da00
movq xmm0, qword [ebp - 0x1c]
movq qword [esi], xmm0
mov dword [esi + 8], ecx
movq qword [edi], xmm0
mov dword [edi + 8], ecx
jmp 0x40663c
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.00404e30
cmp ebx, 0xffffffff
jne 0x4064cf
or ebx, ebx
jmp 0x4064ed
cmp dword [ebp - 0x20], 0x17
jne 0x4064ed
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 0x406509
movq xmm0, qword [esi]
movq qword [edi], xmm0
mov eax, dword [esi + 8]
jmp 0x406639
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 0x40658d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [0x49da58]
mov ecx, eax
mov eax, dword [0x49da5c]
mov dword [ebp - 0x28], ecx
cmp edx, 0x257edfd1
jne 0x406546
cmp eax, 0xb2ab117a
je 0x406555
cmp edx, 0x257edfd0
jne 0x40655c
cmp eax, 0xb2ab117a
jne 0x40655c
test ecx, ecx
setne al
jmp 0x40656f
mov eax, dword [0x49da50]
push ecx
mov ecx, 0x49da50
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], 0x49da50
movq xmm0, qword [ebp - 0x1c]
movq qword [esi], xmm0
mov dword [esi + 8], eax
jmp 0x40659b
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 0x4065f4
cmp eax, 1
jne 0x4065be
cmp dword [ebp - 0x1c], 0
setne al
test al, al
je 0x4065f4
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.00404ec0
add esp, 8
jmp 0x40663c
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x28], 0xffffffff
mov dword [eax], ebx
sub ecx, 1
je 0x406619
sub ecx, 1
je 0x406613
mov byte [eax + 4], 0
jmp 0x40661d
mov byte [eax + 4], 0x20
jmp 0x40661d
mov byte [eax + 4], 0x10
push dword [ebp - 0x2c]
push ecx
lea ecx, [eax + 8]
call fcn.0040bd50
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.0047cd55
mov esp, ebp
pop ebp
ret 0x18