Function at 0x14002a87e
Capabilities:
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
mov rbx, r9
mov r15, r8
mov r14, rdx
mov rsi, rcx
movzx ebp, word [rdx]
test bp, bp
mov eax, 2
mov edi, 0x17
cmove edi, eax
mov rax, qword [0x140122168]
cmp rax, 3
jne 0x14002ab9c
mov dword [rsp + 0x28], 0x81
mov dword [rsp + 0x20], 0
mov ecx, edi
mov edx, 1
mov r8d, 6
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_WSASocketW]
cmp rax, 0xffffffffffffffff
je 0x14002a951
mov rdi, rax
lea r8, [rsp + 0x58]
mov dword [r8], 1
mov rcx, rax
mov edx, 0x8004667e
call qword [sym.imp.ws2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
je 0x14002a9b6
mov r13d, dword [r15 + 0x48]
cmp r13d, 0x3b9aca00
je 0x14002aa80
mov r12, qword [r15 + 0x40]
mov rcx, rdi
mov edx, 8
mov r8d, 1
call fcn.14009431d
test rax, rax
je 0x14002a9f4
mov rcx, rax
call fcn.14002ada1
jmp 0x14002aa80
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
lea rdi, [rax + 2]
mov ecx, 0xe
call fcn.14003699c
mov rbx, rdx
movabs rax, 0x6e65706f20706374
mov qword [rdx], rax
movabs rax, 0x726f727265206e65
mov qword [rdx + 6], rax
mov rcx, rdi
call fcn.14002d5ac
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], 0xe
mov qword [rsi + 0x20], rax
lea rax, fcn.14002d5ee
mov qword [rsi + 0x28], rax
mov dword [rsi + 8], 0x3b9aca01
jmp 0x14002ad7a
call qword [sym.imp.kernel32.dll_GetLastError]
mov r12d, eax
shl r12, 0x20
or r12, 2
mov r14d, 0x19
mov ecx, 0x19
call fcn.14003699c
mov rbx, rdx
movups xmm0, xmmword [str.tcp_set_nonblocking_errortcp_bind_local_error]
movups xmmword [rdx], xmm0
movups xmm0, xmmword [0x1400d5439]
movups xmmword [rdx + 9], xmm0
jmp 0x14002ac5d
mov ecx, 0x3e8
mov rax, r12
mul rcx
mov ecx, r13d
imul rcx, rcx, 0x431bde83
shr rcx, 0x32
add rcx, rax
adc rdx, 0
mov eax, 0xffffffff
cmp rcx, rax
cmovae rcx, rax
xor eax, eax
neg rdx
mov edx, 0
sbb edx, edx
or edx, ecx
lea r8, [rsp + 0x58]
mov dword [r8], 1
mov dword [r8 + 4], edx
mov dword [r8 + 8], eax
lea rcx, [rsp + 0x54]
mov dword [rcx], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0x98000004
mov r9d, 0xc
call qword [sym.imp.ws2_32.dll_WSAIoctl]
cmp eax, 0xffffffff
je 0x14002ad8e
test bp, bp
je 0x14002aaef
cmp byte [r15 + 0x56], 0
je 0x14002ab42
movsd xmm0, qword [r15 + 0x5b]
movss xmm1, dword [r15 + 0x63]
shufps xmm1, xmm0, 0xd4
movss xmm2, dword [r15 + 0x57]
unpcklps xmm2, xmm0
shufps xmm2, xmm1, 0x24
lea rdx, [rsp + 0x58]
movups xmmword [rdx + 8], xmm2
mov qword [rdx], 0x17
xorps xmm0, xmm0
movups xmmword [rdx + 0x68], xmm0
movups xmmword [rdx + 0x58], xmm0
movups xmmword [rdx + 0x48], xmm0
movups xmmword [rdx + 0x38], xmm0
movups xmmword [rdx + 0x28], xmm0
movups xmmword [rdx + 0x18], xmm0
mov qword [rdx + 0x78], 0
mov dword [rdx + 0x80], 0x1c
jmp 0x14002ac29
cmp byte [r15 + 0x51], 0
je 0x14002abd2
mov eax, dword [r15 + 0x52]
xorps xmm0, xmm0
lea rdx, [rsp + 0x58]
movups xmmword [rdx + 0x70], xmm0
movups xmmword [rdx + 0x60], xmm0
movups xmmword [rdx + 0x50], xmm0
movups xmmword [rdx + 0x40], xmm0
movups xmmword [rdx + 0x30], xmm0
movups xmmword [rdx + 0x20], xmm0
movups xmmword [rdx + 0x10], xmm0
mov dword [rdx], 2
mov dword [rdx + 4], eax
mov qword [rdx + 8], 0
mov dword [rdx + 0x80], 0x10
jmp 0x14002ac29
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x58], 0x17
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x80], xmm0
movups xmmword [rsp + 0x90], xmm0
movups xmmword [rsp + 0xa0], xmm0
movups xmmword [rsp + 0xb0], xmm0
movups xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 0
mov dword [rsp + 0xd8], 0x1c
jmp 0x14002ac24
lea rax, [rsp + 0x54]
mov byte [rax], 1
lea r8, [rsp + 0x58]
mov qword [r8], rax
lea rax, str.C:Usersoracl.cargo_registry_src_rsproxy.cn_0dccff568467c15b_socket2_0.5.6_src_syswindows.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x140122168]
lea r9, [0x1400ee088]
xor edx, edx
call fcn.1400baa30
jmp 0x14002a8c1
xorps xmm0, xmm0
movups xmmword [rsp + 0xc8], xmm0
movups xmmword [rsp + 0xb8], xmm0
movups xmmword [rsp + 0xa8], xmm0
movups xmmword [rsp + 0x98], xmm0
movups xmmword [rsp + 0x88], xmm0
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x58], 2
mov qword [rsp + 0x60], 0
mov dword [rsp + 0xd8], 0x10
lea rdx, [rsp + 0x58]
mov rcx, rdi
call fcn.14009435d
mov r12, rax
test rax, rax
je 0x14002ac8a
mov r14d, 0x14
mov ecx, 0x14
call fcn.14003699c
mov rbx, rdx
movups xmm0, xmmword [0x1400d5449]
movups xmmword [rdx], xmm0
mov dword [rdx + 0x10], 0x726f7272
mov rcx, r12
call fcn.14002d5ac
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], r14
mov qword [rsi + 0x20], rax
mov qword [rsi + 0x28], rdx
mov dword [rsi + 8], 0x3b9aca01
mov rcx, rdi
call qword [sym.imp.ws2_32.dll_closesocket]
jmp 0x14002ad7a
cmp byte [r15 + 0x68], 0
je 0x14002acb1
mov rcx, rdi
mov edx, 4
mov r8d, 1
call fcn.14009431d
test rax, rax
je 0x14002acb1
mov rcx, rax
call fcn.14002ada1
cmp qword [r15], 0
je 0x14002ace8
mov rax, qword [r15 + 8]
mov rcx, rax
shr rcx, 0x20
xor r8d, r8d
neg rcx
sbb r8d, r8d
or r8d, eax
mov rcx, rdi
mov edx, 0x1001
call fcn.14009431d
test rax, rax
je 0x14002ace8
mov rcx, rax
call fcn.14002ada1
mov ebp, dword [rsp + 0x170]
cmp qword [r15 + 0x10], 0
je 0x14002ad27
mov rax, qword [r15 + 0x18]
mov rcx, rax
shr rcx, 0x20
xor r8d, r8d
neg rcx
sbb r8d, r8d
or r8d, eax
mov rcx, rdi
mov edx, 0x1002
call fcn.14009431d
test rax, rax
je 0x14002ad27
mov rcx, rax
call fcn.14002ada1
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rsp + 0xf8], xmm1
movups xmmword [rsp + 0xe8], xmm0
mov eax, dword [rsp + 0x104]
mov dword [rsi + 0x2c], eax
movups xmm0, xmmword [rsp + 0xf4]
movups xmmword [rsi + 0x1c], xmm0
movups xmm0, xmmword [rsp + 0xe4]
movups xmmword [rsi + 0xc], xmm0
mov qword [rsi], rbx
mov dword [rsi + 8], ebp
mov qword [rsi + 0x30], rdi
xor eax, eax
mov byte [rsi + 0x88], al
mov byte [rsi + 0x90], al
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
jmp 0x14002a944