Function at 0x46a68f
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov dword [ebp - 4], 0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 8], eax
cmp dword [ebp + 8], 0
jne 0x46a70b
mov dword [ebp - 4], 0x80203bfd
cmp dword [ebp + 0x10], 0
je 0x46a700
cmp dword [ebp + 0x10], 0xffffe7e0
je 0x46a700
mov dword [esp + 4], 2
mov eax, dword [ebp + 0x10]
add eax, 0x1820
mov dword [esp], eax
call fcn.00461239
test eax, eax
je 0x46a700
mov eax, dword [ebp - 4]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 8], eax
mov dword [esp + 4], str.RvSocketSetTypeOfService_sock0_typeOfService_d__d
mov eax, dword [ebp + 0x10]
add eax, 0x1820
mov dword [esp], eax
call fcn.0046157e
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
jmp 0x46a94b
cmp dword [ebp + 0x10], 0
je 0x46a75e
cmp dword [ebp + 0x10], 0xffffe7e0
je 0x46a75e
mov dword [esp + 4], 0x20
mov eax, dword [ebp + 0x10]
add eax, 0x1820
mov dword [esp], eax
call fcn.00461239
test eax, eax
je 0x46a75e
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp + 8], eax
mov dword [esp + 4], str.RvSocketSetTypeOfService_sock_d__typeOfService_d_
mov eax, dword [ebp + 0x10]
add eax, 0x1820
mov dword [esp], eax
call fcn.00461652
call fcn.0046bf37
test eax, eax
jne 0x46a7b6
cmp dword [ebp + 0x10], 0
je 0x46a7aa
cmp dword [ebp + 0x10], 0xffffe7e0
je 0x46a7aa
mov dword [esp + 4], 4
mov eax, dword [ebp + 0x10]
add eax, 0x1820
mov dword [esp], eax
call fcn.00461239
test eax, eax
je 0x46a7aa
mov dword [esp + 4], str.RvSocketSetTypeOfService_is_not_supported_on_this_OS_or_under_the_current_configuration
mov eax, dword [ebp + 0x10]
add eax, 0x1820
mov dword [esp], eax
call fcn.004615b3
mov dword [ebp - 0x10], 0x80203bf9
jmp 0x46a94b
lea eax, [ebp - 0xc]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046bd40
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x46a7e3
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
jmp 0x46a94b
cmp dword [ebp - 0xc], 1
je 0x46a838
cmp dword [ebp + 0x10], 0
je 0x46a82c
cmp dword [ebp + 0x10], 0xffffe7e0
je 0x46a82c
mov dword [esp + 4], 2
mov eax, dword [ebp + 0x10]
add eax, 0x1820
mov dword [esp], eax
call fcn.00461239
test eax, eax
je 0x46a82c
mov dword [esp + 4], str.RvSocketSetTypeOfService_is_supported_only_for_IPv4
mov eax, dword [ebp + 0x10]
add eax, 0x1820
mov dword [esp], eax
call fcn.0046157e
mov dword [ebp - 0x10], 0x80203bf9
jmp 0x46a94b
mov dword [esp + 0x10], 4
lea eax, [ebp - 8]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 3
mov dword [esp + 4], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp], eax
call sub.WS2_32.DLL_setsockopt
sub esp, 0x14
test eax, eax
je 0x46a872
mov dword [ebp - 4], 0x80203bff
cmp dword [ebp - 4], 0
jne 0x46a8e0
cmp dword [ebp + 0x10], 0
je 0x46a945
cmp dword [ebp + 0x10], 0xffffe7e0
je 0x46a945
mov dword [esp + 4], 0x40
mov eax, dword [ebp + 0x10]
add eax, 0x1820
mov dword [esp], eax
call fcn.00461239
test eax, eax
je 0x46a945
mov eax, dword [ebp - 4]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp + 8], eax
mov dword [esp + 4], str.RvSocketSetTypeOfService_sock_d__typeOfService_d__d
mov eax, dword [ebp + 0x10]
add eax, 0x1820
mov dword [esp], eax
call fcn.00461687
jmp 0x46a945
cmp dword [ebp + 0x10], 0
je 0x46a945
cmp dword [ebp + 0x10], 0xffffe7e0
je 0x46a945
mov dword [esp + 4], 2
mov eax, dword [ebp + 0x10]
add eax, 0x1820
mov dword [esp], eax
call fcn.00461239
test eax, eax
je 0x46a945
call sub.WS2_32.DLL_WSAGetLastError
mov edx, eax
mov eax, dword [ebp - 4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp + 8], eax
mov dword [esp + 4], str.RvSocketSetTypeOfService_sock_d__typeOfService_d__errno_d__d
mov eax, dword [ebp + 0x10]
add eax, 0x1820
mov dword [esp], eax
call fcn.0046157e
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
leave
ret