Function at 0x1400277ea
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 [0x140195048]
cmp rax, 3
jne 0x140027afe
mov dword [rsp + 0x28], 0x81
mov dword [rsp + 0x20], 0
mov ecx, edi
mov edx, 1
mov r8d, 6
xor r9d, r9d
call sub.ws2_32.dll_WSASocketW
cmp rax, 0xffffffffffffffff
je 0x1400278c0
mov rdi, rax
lea r8, [rsp + 0x58]
mov dword [r8], 1
mov rcx, rax
mov edx, 0x8004667e
call sub.ws2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x140027926
mov r13d, dword [r15 + 0x48]
cmp r13d, 0x3b9aca00
je 0x1400279f0
mov r12, qword [r15 + 0x40]
mov rcx, rdi
mov edx, 8
mov r8d, 1
call fcn.1400a1471
test rax, rax
je 0x140027965
lea rcx, [rsp + 0x58]
mov qword [rcx], rax
call fcn.140024ece
jmp 0x1400279f0
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
lea rdi, [rax + 2]
mov ecx, 0xe
xor edx, edx
call fcn.14003636a
mov rbx, rdx
movabs rax, 0x6e65706f20706374
mov qword [rdx], rax
movabs rax, 0x726f727265206e65
mov qword [rdx + 6], rax
mov rcx, rdi
call fcn.140024f54
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], 0xe
mov qword [rsi + 0x20], rax
lea rax, fcn.140024ece
mov qword [rsi + 0x28], rax
mov dword [rsi + 8], 0x3b9aca01
jmp 0x140027cfe
call sub.KERNEL32.dll_GetLastError
mov r12d, eax
shl r12, 0x20
or r12, 2
mov r14d, 0x19
mov ecx, 0x19
xor edx, edx
call fcn.14003636a
mov rbx, rdx
movups xmm0, xmmword [0x14014cd2e]
movups xmmword [rdx], xmm0
movups xmm0, xmmword [0x14014cd37]
movups xmmword [rdx + 9], xmm0
jmp 0x140027bcc
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 sub.ws2_32.dll_WSAIoctl
cmp eax, 0xffffffff
je 0x140027d12
test bp, bp
je 0x140027a5f
cmp byte [r15 + 0x56], 0
je 0x140027ab2
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 0x140027b96
cmp byte [r15 + 0x51], 0
je 0x140027b34
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 0x140027b96
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
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 eax, 0x1c
mov cx, 0x17
jmp 0x140027b7b
lea rax, [rsp + 0x54]
mov byte [rax], 1
lea r8, [rsp + 0x58]
mov qword [r8], rax
lea rax, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_socket2_0.5.7_src_syswindows.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x140195048]
lea r9, [0x1401747a0]
xor edx, edx
call fcn.1400ac7f0
jmp 0x14002782d
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 + 0x60], 0
mov eax, 0x10
mov cx, 2
lea rdx, [rsp + 0x58]
mov word [rdx], cx
mov word [rdx + 2], 0
mov dword [rdx + 4], 0
mov dword [rdx + 0x80], eax
mov rcx, rdi
call fcn.1400a1621
mov r12, rax
test rax, rax
je 0x140027bff
mov r14d, 0x14
mov ecx, 0x14
xor edx, edx
call fcn.14003636a
mov rbx, rdx
movups xmm0, xmmword [0x14014cd47]
movups xmmword [rdx], xmm0
mov dword [rdx + 0x10], 0x726f7272
mov rcx, r12
call fcn.140024f54
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], r14
mov qword [rsi + 0x20], rax
lea rax, fcn.140024ece
mov qword [rsi + 0x28], rax
mov dword [rsi + 8], 0x3b9aca01
mov rcx, rdi
call sub.ws2_32.dll_closesocket
jmp 0x140027cfe
cmp byte [r15 + 0x68], 0
je 0x140027c2b
mov rcx, rdi
mov edx, 4
mov r8d, 1
call fcn.1400a1471
test rax, rax
je 0x140027c2b
lea rcx, [rsp + 0x58]
mov qword [rcx], rax
call fcn.140024ece
cmp qword [r15], 0
je 0x140027c67
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.1400a1471
test rax, rax
je 0x140027c67
lea rcx, [rsp + 0x58]
mov qword [rcx], rax
call fcn.140024ece
mov ebp, dword [rsp + 0x170]
cmp qword [r15 + 0x10], 0
je 0x140027cab
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.1400a1471
test rax, rax
je 0x140027cab
lea rcx, [rsp + 0x58]
mov qword [rcx], rax
call fcn.140024ece
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 + 0x80], al
mov byte [rsi + 0x88], al
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
jmp 0x1400278ae