Function at 0x14023f820
Capabilities:
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov rbx, qword [rcx + 0x20]
mov r12, rcx
test byte [rcx + 0x140], 0x10
je 0x14023f85b
movzx esi, byte [r12 + 0x1193]
mov edx, dword [r12 + 0x140]
test sil, sil
jne 0x14023f882
jmp 0x14023f8b0
call fcn.14022f9a0
test al, al
je 0x14023f843
xor edx, edx
mov rcx, r12
call fcn.140229c10
mov rcx, r12
call fcn.14022fa10
mov r13d, eax
test eax, eax
je 0x14023f843
jmp 0x14023fed2
test sil, 1
je 0x14023f88d
test dl, 0x10
je 0x14023f8a5
test sil, 2
je 0x14023f898
test dl, 0x20
je 0x14023f8a5
and dl, 0x30
je 0x14023f8a5
xor r13d, r13d
jmp 0x14023fed2
mov byte [r12 + 0x1193], 0
jmp 0x14023f8e5
mov eax, edx
or rcx, 0xffffffffffffffff
and eax, 0x15
dec eax
jne 0x14023f8c4
mov rcx, qword [rbx + 0x368]
and edx, 0x2a
or r8, 0xffffffffffffffff
cmp edx, 2
jne 0x14023f8d7
mov r8, qword [rbx + 0x370]
xor r9d, r9d
or rdx, 0xffffffffffffffff
call fcn.140241900
mov esi, eax
cmp esi, 4
jne 0x14023f904
lea rdx, str.select_poll_returned_error
mov rcx, r12
mov r13d, 0x37
call fcn.140232170
jmp 0x14023fed2
mov ebx, dword [r12 + 0x140]
and ebx, 1
je 0x14023faed
mov ebx, esi
and ebx, 1
je 0x14023faed
mov rax, qword [r12 + 0x20]
lea rdx, [rsp + 0x90]
lea r8, [rsp + 0x98]
mov rcx, r12
mov qword [rsp + 0x58], rax
call fcn.14023ba00
mov r13d, eax
test eax, eax
jne 0x14023fa44
lea rax, [rsp + 0xa0]
xor r14d, r14d
xor edi, edi
xor r15d, r15d
mov qword [rsp + 0x60], rax
mov ebp, 0xa
test dil, dil
jne 0x14023f97a
mov rcx, qword [rsp + 0x58]
xor edx, edx
call fcn.140229f20
mov edi, eax
mov r8, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x90]
test r8, r8
je 0x14023fa48
mov rax, qword [r12 + 0x320]
test rax, rax
je 0x14023fec4
test r15, r15
jne 0x14023f9b5
cmp r8, rax
cmova r8, rax
jmp 0x14023fec4
mov ebx, r14d
test ebp, ebp
jne 0x14023f9de
mov eax, dword [r12 + 0x140]
mov byte [r12 + 0x1193], 1
and eax, 0x2a
cmp eax, 2
jne 0x14023f9de
mov byte [r12 + 0x1193], 3
mov eax, dword [r12 + 0x140]
and eax, 3
cmp eax, 2
jne 0x14023fac5
mov rax, qword [rsp + 0x58]
test byte [rax + 0x340], 0x40
jne 0x14023fa09
test dil, dil
je 0x14023fac5
test byte [r12 + 0x986], 0x20
je 0x14023fa36
mov rax, qword [r12 + 0x1120]
test rax, rax
je 0x14023fa27
cmp dword [rax + 8], 0
jle 0x14023fa36
lea rdx, str.we_are_done_reading_and_this_is_set_to_close__stop_send
mov rcx, r12
call fcn.140239c50
and dword [r12 + 0x140], 0xffffffdd
jmp 0x14023fac5
xor ebx, ebx
jmp 0x14023fac5
test dil, dil
jne 0x14023fdda
test byte [r12 + 0x1d4], 1
jne 0x14023fdd1
mov rax, qword [r12 + 0xf0]
cmp rax, 0xffffffffffffffff
je 0x14023fdd1
sub rax, qword [r12 + 0x100]
test rax, rax
jle 0x14023fdda
cmp rax, r8
jge 0x14023fdd1
mov r8, rax
mov r9, qword [rsp + 0x60]
mov rcx, r12
mov qword [rsp + 0x68], rdx
call fcn.140247d10
mov rdx, qword [rsp + 0x68]
test eax, eax
jne 0x14023fddf
mov r10, qword [rsp + 0xa0]
test r10, r10
jns 0x14023fdf0
xor r13d, r13d
mov ebx, r14d
mov rdx, qword [rsp + 0x90]
mov rcx, r12
call fcn.14023bb50
test r13d, r13d
jne 0x14023fed2
test byte [r12 + 0x1d4], 2
jne 0x14023f89d
mov eax, dword [r12 + 0x140]
test al, 2
je 0x14023faff
and sil, 2
jne 0x14023fb07
test al, 0x40
je 0x14023fc09
test al, 0x20
jne 0x14023fc09
mov rcx, r12
call fcn.140240050
test al, al
jne 0x14023fc09
mov rcx, r12
call fcn.140240380
mov r13d, eax
test eax, eax
jne 0x14023fed2
lea r13, [rsp + 0x80]
mov rcx, r13
call fcn.14023bdd0
mov rax, qword [r12 + 0x20]
mov rcx, r13
lea rdx, [rsp + 0x70]
mov r14, qword [rsp + 0x80]
mov r15, qword [rsp + 0x88]
movups xmm0, xmmword [rax + 0x3f8]
movups xmmword [rsp + 0x70], xmm0
call fcn.140243ec0
cmp rax, 0x3e8
jle 0x14023fc06
mov rax, qword [r12 + 0x20]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x4004747b
lea rsi, [rsp + 0x98]
mov r13, qword [rax + 0x370]
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], rax
mov rcx, r13
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rsi
call qword [sym.imp.WS2_32.dll_WSAIoctl]
test eax, eax
jne 0x14023fbf3
mov dword [rsp + 0x20], 4
mov r9, rsi
mov edx, 0xffff
mov rcx, r13
mov r8d, 0x1001
call qword [sym.imp.WS2_32.dll_setsockopt]
mov rax, qword [r12 + 0x20]
mov qword [rax + 0x3f8], r14
mov qword [rax + 0x400], r15
or ebx, 2
lea r14, [rsp + 0x80]
mov rcx, r14
call fcn.14023bdd0
movups xmm1, xmmword [rsp + 0x80]
movups xmmword [rsp + 0xa0], xmm1
test ebx, ebx
je 0x14023fc3b
mov rcx, r12
call fcn.14023e160
test eax, eax
jne 0x14023fc9b
jmp 0x14023fc4f
mov rcx, r12
call fcn.140229be0
mov r13d, eax
test eax, eax
je 0x14023fc2d
jmp 0x14023fed2
movups xmm2, xmmword [rsp + 0xa0]
mov rdx, r14
mov rcx, r12
movups xmmword [rsp + 0x80], xmm2
call fcn.140241d80
mov r13d, eax
test eax, eax
jne 0x14023fed2
cmp dword [r12 + 0x140], 0
jne 0x14023fca6
cmp byte [r12 + 0x1d5], 0
jns 0x14023fd82
mov rcx, r12
call fcn.14023e160
test eax, eax
je 0x14023fcbe
mov r13d, 0x2a
jmp 0x14023fed2
xor r8d, r8d
lea rdx, [rsp + 0xa0]
mov rcx, r12
call fcn.140243fd0
test rax, rax
js 0x14023fcdb
test byte [r12 + 0x140], 0x3f
jne 0x14023f89d
or byte [r12 + 0x1d4], 2
jmp 0x14023fed2
mov rsi, qword [r12 + 0xf0]
mov rcx, qword [r12 + 0xa40]
lea rdx, [rsp + 0x70]
mov r9, qword [r12 + 0x100]
mov r10, qword [rsp + 0xa0]
mov r11, qword [rsp + 0xa8]
cmp rsi, 0xffffffffffffffff
mov qword [rsp + 0x70], rcx
mov rcx, r14
mov rbx, qword [r12 + 0xa48]
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x80], r10
mov qword [rsp + 0x88], r11
mov qword [rsp + 0x78], rbx
je 0x14023fd5b
call fcn.140243ec0
mov qword [rsp + 0x20], rsi
mov r9, qword [rsp + 0x58]
mov rcx, r12
mov r8, rax
lea rdx, str.Operation_timed_out_after__lld_milliseconds_with__lld_out_of__lld_bytes_received
call fcn.140232170
jmp 0x14023fd77
call fcn.140243ec0
mov r9, qword [rsp + 0x58]
lea rdx, str.Operation_timed_out_after__lld_milliseconds_with__lld_bytes_received
mov rcx, r12
mov r8, rax
call fcn.140232170
mov r13d, 0x1c
jmp 0x14023fed2
mov r8, qword [r12 + 0xf0]
cmp r8, 0xffffffffffffffff
je 0x14023fc8f
mov rax, qword [r12 + 0x100]
cmp r8, rax
je 0x14023fc8f
cmp qword [r12 + 0x1b8], 0
jne 0x14023fc8f
sub r8, rax
lea rdx, str.transfer_closed_with__lld_bytes_remaining_to_read
mov rcx, r12
mov r13d, 0x12
call fcn.140232170
jmp 0x14023fed2
test r8, r8
jne 0x14023fa8f
mov r9b, 1
jmp 0x14023fdf9
mov ebx, r14d
cmp eax, 0x51
je 0x14023f9b8
jmp 0x14023feb4
mov r14, r10
sete r9b
jne 0x14023fe17
and dword [r12 + 0x140], 0xfffffffc
test byte [r12 + 0x1d4], 0x10
jne 0x14023f9b8
xor r10d, r10d
xor r14d, r14d
and r9d, 1
mov r8, r14
mov rcx, r12
mov qword [rsp + 0x68], r10
call fcn.140247f30
test eax, eax
jne 0x14023feb4
mov al, byte [r12 + 0x1d4]
test al, 2
jne 0x14023febc
test dil, dil
mov r10, qword [rsp + 0x68]
jne 0x14023fe4d
test al, 8
jne 0x14023fe52
test r10, r10
jne 0x14023fe5b
and dword [r12 + 0x140], 0xfffffffe
mov eax, dword [r12 + 0x140]
and eax, 0x11
dec eax
jne 0x14023f9b8
sub ebp, 1
jb 0x14023f9bc
mov rax, qword [r12 + 0x20]
mov edx, 1
mov rax, qword [rax + 0x348]
mov eax, dword [rax + 0x8c]
test al, 0xc
jne 0x14023fea3
test al, 0x30
je 0x14023fea1
add r15, r14
mov r14d, ebx
jmp 0x14023f967
xor edx, edx
mov rcx, r12
call fcn.140229ae0
test al, al
jne 0x14023fe96
jmp 0x14023f9b8
mov r13d, eax
jmp 0x14023fac5
xor r13d, r13d
jmp 0x14023fac5
test dil, dil
jne 0x14023fa8f
jmp 0x14023fa51
mov eax, r13d
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret