Function at 0x140135864
Capabilities:
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x348
mov rbx, rdx
movzx eax, byte [rdx + 0x390]
test eax, eax
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x168], r8
je 0x1401358bb
cmp eax, 3
jne case.default.0x1401358b9
mov r15, r8
lea r13, [rbx + 0x200]
movzx eax, byte [rbx + 0x290]
lea rcx, [0x1401a600c]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rax, qword [rbx]
mov rcx, qword [rbx + 8]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rcx
and qword [rbx + 0x20], 0
mov qword [rbx + 0x40], rax
jmp 0x1401358e1
lea rcx, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_hyper_0.14.31_src_client_connect_http.rs
call fcn.14006ff40
mov rcx, qword [rax + 8]
cmp rcx, qword [rax + 0x18]
je 0x140135aa7
lea rdx, [rcx + 0x20]
mov qword [rax + 8], rdx
movzx r13d, word [rcx]
movups xmm0, xmmword [rcx + 0x10]
movups xmmword [rsp + 0x1be], xmm0
movups xmm0, xmmword [rcx + 2]
movaps xmmword [rsp + 0x1b0], xmm0
cmp r13w, 2
je 0x140135aa7
lea rax, [rbx + 0x48]
mov qword [rsp + 0x160], rax
mov word [rbx + 0x48], r13w
movaps xmm0, xmmword [rsp + 0x1b0]
movups xmmword [rbx + 0x4a], xmm0
movups xmm0, xmmword [rsp + 0x1be]
movups xmmword [rbx + 0x58], xmm0
mov rax, qword [rbx + 0x10]
mov rbp, qword [rbx + 0x18]
mov r15, qword [rax + 0x20]
mov r14d, dword [rax + 0x28]
test r13b, 1
mov eax, 0x17
mov esi, 2
cmovne esi, eax
mov eax, dword [0x1402a6068]
cmp eax, 3
jne 0x140135ad2
mov dword [rsp + 0x28], 0x81
and dword [rsp + 0x20], 0
mov ecx, esi
mov edx, 1
mov r8d, 6
xor r9d, r9d
call sub.ws2_32.dll_WSASocketW
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x140135a13
lea rsi, [rsp + 0x88]
mov dword [rsi], 1
mov rcx, r12
mov edx, 0x8004667e
mov r8, rsi
call sub.ws2_32.dll_ioctlsocket
xor edx, edx
cmp eax, 0xffffffff
jne 0x1401359cf
call fcn.140130dd2
mov rdx, rax
lea r8, [0x1401f06ee]
lea rdi, [rsp + 0xd0]
mov r9d, 0x19
mov rcx, rdi
call fcn.1400964bd
mov rdi, qword [rdi]
test rdi, rdi
je 0x140135a5f
mov rsi, qword [rsp + 0xd8]
movups xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x60], xmm0
mov r13, qword [rsp + 0x58]
jmp 0x140135d6e
call fcn.140130dd2
lea rdx, str.tcp_open_errortcp_set_nonblocking_errortcp_bind_local_error
lea rsi, [rsp + 0xd0]
mov r8d, 0xe
mov rcx, rsi
mov r9, rax
call fcn.1400962ed
mov rdi, qword [rsi]
mov r12, qword [rsi + 8]
test rdi, rdi
je 0x1401359a2
movups xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x60], xmm0
mov r13, qword [rsp + 0x58]
jmp 0x140135d79
mov edi, dword [rbp + 0x48]
cmp edi, 0x3b9aca00
je 0x140135ba1
mov rax, qword [rbp + 0x40]
mov qword [rsp + 0x158], rax
mov rcx, r12
mov edx, 8
mov r8d, 1
call fcn.140153544
test rax, rax
je 0x140135b0b
lea rcx, [rsp + 0xd0]
mov qword [rcx], rax
call fcn.1401014ca
jmp 0x140135ba1
cmp qword [rbx + 0x20], 0
je 0x1401362a5
lea rax, [rbx + 0x20]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x1a0], xmm1
movaps xmmword [rsp + 0x190], xmm0
jmp 0x1401362d6
lea rax, [rsp + 0x57]
mov byte [rax], 1
lea r8, [rsp + 0x88]
mov qword [r8], rax
lea rax, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_socket2_0.5.8_src_sys_windows.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x1402a6068]
lea r9, [0x14027cf78]
xor edx, edx
call fcn.1401551d0
jmp 0x140135977
mov ecx, 0x3e8
mov rax, qword [rsp + 0x158]
mul rcx
mov rcx, rax
mov r8, rdx
xor r9d, r9d
mov r10d, 0xf4240
mov eax, edi
xor edx, edx
div r10d
add rax, rcx
adc r8, 0
mov ecx, 0xffffffff
cmp rax, rcx
cmovae rax, rcx
neg r8
sbb r9d, r9d
or r9d, eax
lea r8, [rsp + 0xd0]
mov dword [r8], 1
mov dword [r8 + 4], r9d
and dword [r8 + 8], 0
and dword [rsp + 0x88], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
and dword [rsp + 0x28], 0
mov qword [rsp + 0x30], rsi
and qword [rsp + 0x20], 0
mov rcx, r12
mov edx, 0x98000004
mov r9d, 0xc
call sub.ws2_32.dll_WSAIoctl
cmp eax, 0xffffffff
je 0x14013631b
test r13w, r13w
je 0x140135c08
cmp byte [rbp + 0x56], 0
mov r13, qword [rsp + 0x58]
je 0x140135c5e
mov eax, dword [rbp + 0x57]
lea rdx, [rsp + 0xd0]
mov dword [rdx + 8], eax
mov rax, qword [rbp + 0x5b]
mov qword [rdx + 0xc], rax
mov eax, dword [rbp + 0x63]
mov dword [rdx + 0x14], eax
xorps xmm0, xmm0
movups xmmword [rdx + 0x18], xmm0
movups xmmword [rdx + 0x28], xmm0
movups xmmword [rdx + 0x38], xmm0
movups xmmword [rdx + 0x48], xmm0
and qword [rdx + 0x78], 0
movups xmmword [rdx + 0x58], xmm0
movups xmmword [rdx + 0x68], xmm0
mov qword [rdx], 0x17
mov dword [rdx + 0x80], 0x1c
jmp 0x140135d25
cmp byte [rbp + 0x51], 0
mov r13, qword [rsp + 0x58]
je 0x140135cbe
mov eax, dword [rbp + 0x52]
xorps xmm0, xmm0
lea rdx, [rsp + 0xd0]
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
and qword [rdx + 0x78], 0
movups xmmword [rdx + 8], xmm0
mov dword [rdx], 2
mov dword [rdx + 4], eax
mov dword [rdx + 0x80], 0x10
jmp 0x140135d25
and dword [rsp + 0xd8], 0
and qword [rsp + 0xdc], 0
and dword [rsp + 0xe4], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xe8], xmm0
movups xmmword [rsp + 0xf8], xmm0
movups xmmword [rsp + 0x108], xmm0
movups xmmword [rsp + 0x118], xmm0
and qword [rsp + 0x148], 0
movups xmmword [rsp + 0x128], xmm0
movups xmmword [rsp + 0x138], xmm0
mov eax, 0x1c
mov cx, 0x17
jmp 0x140135d0b
xorps xmm0, xmm0
movups xmmword [rsp + 0x138], xmm0
movups xmmword [rsp + 0x128], xmm0
movups xmmword [rsp + 0x118], xmm0
movups xmmword [rsp + 0x108], xmm0
movups xmmword [rsp + 0xf8], xmm0
and qword [rsp + 0x148], 0
movups xmmword [rsp + 0xe8], xmm0
movups xmmword [rsp + 0xd8], xmm0
mov eax, 0x10
mov cx, 2
lea rdx, [rsp + 0xd0]
mov word [rdx], cx
and word [rdx + 2], 0
and dword [rdx + 4], 0
mov dword [rdx + 0x80], eax
mov rcx, r12
call fcn.140153520
lea r8, [0x1401f0707]
lea rsi, [rsp + 0x88]
mov r9d, 0x14
mov rcx, rsi
mov rdx, rax
call fcn.1400964bd
mov rdi, qword [rsi]
test rdi, rdi
je 0x140136187
mov rsi, qword [rsp + 0x90]
movups xmm0, xmmword [rsp + 0x98]
movaps xmmword [rsp + 0x60], xmm0
mov rcx, r12
call fcn.14019f88c
mov r12, rsi
movabs rax, 0xffffffff00000000
and rax, r12
mov cl, 1
mov r14d, r12d
mov r12, r13
mov r15, rdi
lea rbp, [rbx + 0x70]
mov qword [rbx + 0x70], r15
mov edx, r14d
or rdx, rax
mov qword [rbx + 0x78], rdx
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rbx + 0x80], xmm0
test cl, cl
jne 0x140136274
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [rbx + 0x90], xmm0
mov qword [rbx + 0xa0], r12
lea rdi, [rbx + 0xa8]
lea rsi, [rsp + 0x1d0]
mov ecx, 0xa
rep movsq qword [rdi], qword [rsi]
xor eax, eax
mov byte [rbx + 0xf8], al
mov ecx, dword [rsp + 0xc9]
mov edx, dword [rsp + 0xcc]
mov dword [rbx + 0xf9], ecx
mov dword [rbx + 0xfc], edx
mov byte [rbx + 0x100], al
lea rcx, [rbx + 0x101]
lea rdx, [rsp + 0x248]
mov r8d, 0xff
call sub.msvcrt.dll_memcpy
and qword [rbx + 0x68], 0
lea r13, [rbx + 0x200]
mov r8d, 0x190
mov rcx, r13
mov rdx, rbp
call sub.msvcrt.dll_memcpy
movzx eax, byte [rbx + 0x290]
lea rcx, [0x1401a600c]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
mov qword [rsp + 0x58], r12
mov r15, qword [rsp + 0x168]
jmp rax
mov ebp, dword [rbx + 0x208]
cmp ebp, 0x3b9aca00
jne 0x140135eea
lea rsi, [rbx + 0x210]
lea rdi, [rbx + 0x298]
mov ecx, 0x10
rep movsq qword [rdi], qword [rsi]
lea rsi, [rbx + 0x298]
lea rdi, [rsp + 0x248]
mov rcx, rdi
mov rdx, rsi
mov r8, r15
call fcn.140136537
mov r14, qword [rdi]
cmp r14, 3
je 0x140136256
mov rdi, qword [rsp + 0x250]
movups xmm0, xmmword [rsp + 0x258]
movaps xmmword [rsp + 0xb0], xmm0
mov rax, qword [rsp + 0x268]
mov qword [rsp + 0xc0], rax
mov rcx, rsi
call fcn.1401364de
jmp 0x1401360b7
mov r12, qword [rbx + 0x200]
lea rsi, [rbx + 0x210]
lea rdi, [rsp + 0xd0]
mov ecx, 0x10
rep movsq qword [rdi], qword [rsi]
call fcn.140155e20
mov rcx, rax
mov r8, r12
mov r9d, ebp
call fcn.140187fb0
cmp edx, 0x3b9aca00
jne 0x140135f32
lea rcx, [rsp + 0x1d0]
call fcn.140195930
jmp 0x140135f4c
mov r8d, edx
lea r9, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_hyper_0.14.31_src_client_connect_http.rs
lea rcx, [rsp + 0x1d0]
mov rdx, rax
call fcn.14019584f
lea rdi, [rsp + 0x2c0]
lea rsi, [rsp + 0xd0]
mov ecx, 0x10
rep movsq qword [rdi], qword [rsi]
lea rdx, [rsp + 0x248]
lea rsi, [rsp + 0x1d0]
mov ecx, 0xf
mov rdi, rdx
rep movsq qword [rdi], qword [rsi]
lea rcx, [rbx + 0x298]
mov r8d, 0xf8
call sub.msvcrt.dll_memcpy
lea rsi, [rbx + 0x298]
lea r12, [rbx + 0x310]
call fcn.14018e8cd
mov edi, eax
lea rbp, [rsp + 0xd0]
mov rcx, rbp
mov rdx, r12
mov r8, r15
call fcn.140136537
mov r14, qword [rbp]
cmp r14, 3
jne 0x140136024
cmp dil, 2
sete bpl
call fcn.14018e8cd
cmp al, 2
je 0x14013605c
test al, 1
jne 0x14013605c
or bpl, dil
test bpl, 1
je 0x14013605c
call fcn.14010654f
mov dil, 2
test rax, rax
je 0x140136001
mov dil, byte [rax + 0x44]
mov bpl, byte [rax + 0x45]
mov byte [rax + 0x44], 0
mov rcx, rsi
mov rdx, r15
call fcn.1401909b1
mov r12d, eax
mov ecx, edi
mov edx, ebp
call fcn.140136fd7
test r12b, r12b
je 0x14013606b
mov al, 3
jmp 0x140136258
mov rdi, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xf0]
movups xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rax
mov rcx, rsi
call fcn.1401364fe
cmp r14d, 2
jne 0x14013609d
mov r14d, 2
jmp 0x1401360b7
mov rcx, rsi
mov rdx, r15
call fcn.1401909b1
test al, al
jne 0x14013601d
mov rax, qword [rsp + 0x1e0]
mov qword [rsp + 0x70], rax
movaps xmm0, xmmword [rsp + 0x1d0]
movaps xmmword [rsp + 0x60], xmm0
mov rcx, rsi
call fcn.1401364fe
mov r14d, 2
call fcn.140136f79
mov rdi, rax
jmp 0x1401360b7
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xc0], rax
movaps xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
cmp r14d, 2
jne 0x1401360dc
lea rcx, [rsp + 0x90]
lea rdx, [0x14027489b]
mov r8d, 0x11
mov r9, rdi
call fcn.1400962ed
jmp 0x140136104
mov qword [rsp + 0x90], rdi
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [rsp + 0x98], xmm0
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xa8]
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x178], rcx
mov qword [rsp + 0x180], rdx
mov qword [rsp + 0x188], r8
mov byte [rbx + 0x290], 1
mov rcx, r13
call fcn.14013649c
cmp r14d, 2
jne 0x14013624c
lea rcx, [rbx + 0x20]
call fcn.1401364d3
movaps xmm0, xmmword [rsp + 0x170]
movaps xmm1, xmmword [rsp + 0x180]
movups xmmword [rbx + 0x30], xmm1
movups xmmword [rbx + 0x20], xmm0
mov rax, qword [rbx + 0x40]
jmp 0x1401358e1
cmp byte [rbp + 0x68], 0
je 0x1401361b5
mov rcx, r12
mov edx, 4
mov r8d, 1
call fcn.140153544
test rax, rax
je 0x1401361b5
lea rcx, [rsp + 0xd0]
mov qword [rcx], rax
call fcn.1401014ca
test byte [rbp], 1
je 0x1401361ee
mov rax, qword [rbp + 8]
mov r8d, 0xffffffff
cmp rax, r8
cmovb r8, rax
mov rcx, r12
mov edx, 0x1001
call fcn.140153544
test rax, rax
je 0x1401361ee
lea rcx, [rsp + 0xd0]
mov qword [rcx], rax
call fcn.1401014ca
test byte [rbp + 0x10], 1
je 0x140136227
mov rax, qword [rbp + 0x18]
mov r8d, 0xffffffff
cmp rax, r8
cmovb r8, rax
mov rcx, r12
mov edx, 0x1002
call fcn.140153544
test rax, rax
je 0x140136227
lea rcx, [rsp + 0xd0]
mov qword [rcx], rax
call fcn.1401014ca
mov rax, qword [rsp + 0x160]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [rbx + 0x58]
movaps xmmword [rsp + 0xb0], xmm0
xor eax, eax
xor ecx, ecx
jmp 0x140135d91
lea rbp, [rsp + 0x170]
jmp 0x140136282
mov al, 4
mov byte [rbx + 0x290], al
mov rax, qword [rsp + 0x80]
mov qword [rax], 3
mov al, 3
jmp 0x140136301
mov qword [rbx + 0x68], 1
mov r14d, 2
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
movaps xmmword [rsp + 0x1a0], xmm1
movaps xmmword [rsp + 0x190], xmm0
lea rcx, [rbx + 0x20]
call fcn.1401364d3
jmp 0x1401362dc
lea rdx, str.Network_unreachabletcp_connect_error
mov r8d, 0x13
mov cl, 7
call fcn.140152fc8
lea rdx, [0x14027489b]
lea rcx, [rsp + 0x190]
mov r8d, 0x11
mov r9, rax
call fcn.1400962ed
mov r14d, 2
mov rax, qword [rsp + 0x80]
mov qword [rax], r14
movaps xmm0, xmmword [rsp + 0x190]
movaps xmm1, xmmword [rsp + 0x1a0]
movups xmmword [rax + 8], xmm0
movups xmmword [rax + 0x18], xmm1
mov al, 1
mov byte [rbx + 0x390], al
add rsp, 0x348
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.140130dd2
jmp 0x140135a92
lea rcx, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_hyper_0.14.31_src_client_connect_http.rs
call fcn.14006ff40
ud2