Function at 0x41a190
Capabilities:
Set socket configuration

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
mov esi, dword [esp + 0x24]
mov ebp, 4
push edi
movzx ebx, word [esi + 0x110]
lea ecx, [ebp + 0xc]
movzx eax, word [esi + 0x180]
cmp bx, ax
jne 0x41a245
cmp eax, 0x17
mov edi, ebp
cmove edi, ecx
xor edx, edx
cmp eax, 0x17
sete dl
xor ecx, ecx
lea edx, [edx*4 + 0x184]
add edx, esi
cmp ebx, 0x17
sete cl
lea ecx, [ecx*4 + 0x114]
add ecx, esi
sub edi, ebp
jb 0x41a1f6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x41a1fb
add ecx, ebp
add edx, ebp
sub edi, ebp
jae 0x41a1e8
cmp edi, 0xfffffffc
je 0x41a228
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x41a245
cmp edi, 0xfffffffd
je 0x41a228
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x41a245
cmp edi, 0xfffffffe
je 0x41a228
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x41a245
cmp edi, 0xffffffff
je 0x41a228
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x41a245
mov ax, word [esi + 0x112]
cmp ax, word [esi + 0x182]
jne 0x41a245
pop edi
pop esi
pop ebp
mov eax, 0x207
pop ebx
add esp, 0x14
ret
mov eax, dword [esi + 0x6c]
cmp eax, 0x1000000
je 0x41a67e
cmp eax, 0x100000
je 0x41a67e
cmp eax, 2
je 0x41a67e
cmp eax, 4
je 0x41a67e
mov ecx, dword [esi + 0x40]
lea edx, [esi + 0x164]
cmp ecx, 0xffffffff
je 0x41a2ae
mov eax, dword [esi + 0xc]
lea edi, [esp + 0x28]
push edi
push edx
push ecx
push dword [esi + 8]
mov dword [esp + 0x38], 0x1c
mov eax, dword [eax + 0x1c]
call eax
cmp eax, 0xffffffff
jne 0x41a67e
pop edi
pop esi
pop ebp
mov eax, 0xe
pop ebx
add esp, 0x14
ret
mov edi, dword [0x4531c0]
mov eax, 1
mov word [esp + 0x10], ax
mov ebx, ebp
mov ax, word [0x453230]
mov word [esp + 0x12], ax
movzx eax, word [edx]
mov edx, edi
mov ecx, eax
cmp eax, 0x17
mov dword [esp + 0x28], ecx
mov ecx, 0x10
cmove ebx, ecx
xor ecx, ecx
cmp eax, 0x17
sete cl
lea ecx, [ecx*4 + 0x168]
add ecx, esi
sub ebx, ebp
jb 0x41a304
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x41a309
add ecx, ebp
add edx, ebp
sub ebx, ebp
jae 0x41a2f6
cmp ebx, 0xfffffffc
je 0x41a33d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x41a336
cmp ebx, 0xfffffffd
je 0x41a33d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x41a336
cmp ebx, 0xfffffffe
je 0x41a33d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x41a336
cmp ebx, 0xffffffff
je 0x41a33d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x41a33d
sbb eax, eax
or eax, 1
jmp 0x41a33f
xor eax, eax
mov ecx, dword [esp + 0x28]
movzx ecx, cx
test eax, eax
jne 0x41a413
movzx ebx, word [esi + 0x180]
mov ecx, 0x10
cmp ebx, 0x17
mov eax, ebp
cmove eax, ecx
xor ecx, ecx
cmp ebx, 0x17
mov dword [esp + 0x28], eax
mov edx, eax
sete cl
lea ecx, [ecx*4 + 0x184]
add ecx, esi
sub edx, ebp
jb 0x41a38e
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x41a393
add ecx, ebp
add edi, ebp
sub edx, ebp
jae 0x41a380
cmp edx, 0xfffffffc
je 0x41a406
mov al, byte [ecx]
cmp al, byte [edi]
jne 0x41a3c0
cmp edx, 0xfffffffd
je 0x41a406
mov al, byte [ecx + 1]
cmp al, byte [edi + 1]
jne 0x41a3c0
cmp edx, 0xfffffffe
je 0x41a406
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x41a3c0
cmp edx, 0xffffffff
je 0x41a406
mov al, byte [ecx + 3]
cmp al, byte [edi + 3]
je 0x41a406
push dword [esp + 0x28]
xor eax, eax
mov word [esi + 0x164], bx
cmp ebx, 0x17
sete al
lea eax, [eax*4 + 0x184]
add eax, esi
push eax
xor eax, eax
cmp ebx, 0x17
sete al
lea eax, [eax*4 + 0x168]
add eax, esi
push eax
call fcn.00423770
movzx ecx, word [esi + 0x164]
lea ebx, [esi + 0x164]
add esp, 0xc
jmp 0x41a419
pop edi
pop esi
pop ebp
mov eax, 0x64
pop ebx
add esp, 0x14
ret
lea ebx, [esi + 0x164]
cmp word [esi + 0x166], 0
movzx edx, cx
jne 0x41a434
mov ax, word [esi + 0x182]
mov word [esi + 0x166], ax
mov ecx, dword [esi + 0xc]
mov edi, 0x17
push 6
cmp edx, edi
mov eax, 2
push 1
cmove eax, edi
push eax
push dword [esi + 8]
mov eax, dword [ecx + 8]
call eax
mov dword [esp + 0x14], eax
mov dword [esi + 0x40], eax
cmp eax, 0xffffffff
jne 0x41a46a
lea eax, [edi - 0xc]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
movzx eax, word [esi + 0x148]
lea edi, [esi + 0x148]
mov edx, dword [0x4531c0]
cmp eax, 0x17
mov ecx, 0x10
cmove ebp, ecx
xor ecx, ecx
cmp eax, 0x17
sete cl
lea ecx, [ecx*4 + 0x14c]
add ecx, esi
sub ebp, 4
jb 0x41a4b1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x41a4b6
add ecx, 4
add edx, 4
sub ebp, 4
jae 0x41a4a0
cmp ebp, 0xfffffffc
je 0x41a4e3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x41a52b
cmp ebp, 0xfffffffd
je 0x41a4e3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x41a52b
cmp ebp, 0xfffffffe
je 0x41a4e3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x41a52b
cmp ebp, 0xffffffff
je 0x41a4e3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x41a52b
cmp word [ebx], 0x17
mov eax, dword [esi + 0xc]
jne 0x41a50b
movups xmm0, xmmword [eax + 0x10c]
movups xmmword [edi], xmm0
movq xmm0, qword [eax + 0x11c]
movq qword [edi + 0x10], xmm0
mov eax, dword [eax + 0x124]
jmp 0x41a528
movups xmm0, xmmword [eax + 0x128]
movups xmmword [edi], xmm0
movq xmm0, qword [eax + 0x138]
movq qword [edi + 0x10], xmm0
mov eax, dword [eax + 0x140]
mov dword [edi + 0x18], eax
xor eax, eax
mov word [esi + 0x14a], ax
mov eax, dword [esi + 0xc]
push dword [eax + 0xc4]
push dword [esp + 0x18]
call fcn.004038a0
mov eax, dword [esi + 0xc]
lea ecx, [esp + 0x18]
add esp, 8
mov eax, dword [eax + 0x28]
push 4
push ecx
push 0x80
push 0xffff
push dword [esi + 0x40]
push dword [esi + 8]
call eax
cmp word [edi], 0x17
mov ebp, 0x10
mov ecx, dword [esi + 0xc]
mov edx, 0x1c
mov eax, ebp
cmove eax, edx
push eax
mov eax, dword [ecx + 0x10]
push edi
push dword [esi + 0x40]
push dword [esi + 8]
call eax
cmp eax, 0xffffffff
jne 0x41a59b
pop edi
pop esi
lea eax, [ebp - 4]
pop ebp
pop ebx
add esp, 0x14
ret
mov eax, dword [esi + 0x6c]
cmp eax, 0x100
jge 0x41a5ad
test al, 1
je 0x41a650
cmp word [ebx], 0x17
mov eax, 0x1c
mov dword [esp + 0x14], 1
cmove ebp, eax
lea eax, [esp + 0x14]
push eax
push 0x8004667e
mov dword [esp + 0x20], ebp
mov ebp, dword [esi + 0x40]
push ebp
call dword [sym.imp.WS2_32.dll_ioctlsocket]
push dword [esp + 0x18]
mov eax, dword [esi + 0xc]
push ebx
push ebp
push dword [esi + 8]
mov eax, dword [eax + 0x18]
call eax
mov ebx, dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x41a604
call ebx
cmp eax, 0x2733
je 0x41a604
call ebx
cmp eax, 0x70
jne 0x41a643
call ebx
test eax, eax
je 0x41a650
xorps xmm0, xmm0
lea ecx, [esp + 0x1c]
movlpd qword [esp + 0x1c], xmm0
mov eax, 0x310
push 0x1f40
mov word [esp + 0x24], ax
mov eax, dword [esi + 0xc]
push 1
push ecx
push dword [esi + 8]
mov dword [esp + 0x2c], ebp
mov eax, dword [eax + 0x2c]
call eax
test eax, eax
jle 0x41a643
test byte [esp + 0x22], 0x10
jne 0x41a650
pop edi
pop esi
pop ebp
mov eax, 0xd
pop ebx
add esp, 0x14
ret
mov eax, dword [esi + 0xc]
lea ecx, [esp + 0x28]
push ecx
push edi
push dword [esi + 0x40]
mov dword [esp + 0x34], 0x1c
push dword [esi + 8]
mov eax, dword [eax + 0x20]
call eax
cmp eax, 0xffffffff
jne 0x41a67e
pop edi
pop esi
pop ebp
mov eax, 0xf
pop ebx
add esp, 0x14
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret