Function at 0x1401b5660
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov rax, qword [rdx + 8]
mov r14, r8
mov r15, rdx
mov rdi, rcx
cmp qword [rdx], rax
jne 0x1401b5697
mov rax, qword [r8 + 8]
cmp qword [r8], rax
je 0x1401b5697
mov al, 1
jmp 0x1401b5699
xor al, al
xor ebx, ebx
mov byte [rcx + 0x30], al
mov ebp, reloc.WS2_32.dll_recv
test al, al
je 0x1401b56f1
mov rax, qword [r8]
mov rsi, qword [r8 + 8]
sub rsi, rax
sar rsi, 3
cmp rsi, 1
jne 0x1401b56bf
mov edx, ebx
jmp 0x1401b56ce
call fcn.140193358
cdqe
xor edx, edx
div rsi
mov rax, qword [r14]
mov rsi, qword [rax + rdx*8]
mov r8d, 0x2d
add rsi, 0x20
lea rdx, [rdi + 0x4033]
mov rcx, qword [rsi]
add rcx, 8
call fcn.140052c70
jmp 0x1401b5737
mov rax, qword [rdx]
mov rsi, qword [rdx + 8]
sub rsi, rax
sar rsi, 3
cmp rsi, 1
jne 0x1401b570a
mov rdx, rbx
jmp 0x1401b5719
call fcn.140193358
cdqe
xor edx, edx
div rsi
mov rax, qword [r15]
mov rsi, qword [rax + rdx*8]
mov r8, rbp
add rsi, 0x20
lea rdx, [rdi + 0x4033]
mov rcx, qword [rsi]
add rcx, 4
call fcn.140052bd0
cmp dword [rdi + 0x4a08], 2
mov rsi, qword [rsi]
je 0x1401b574d
mov dword [rdi + 0x4a08], 2
movzx ecx, word [rdi + 0x49a8]
call qword [sym.imp.WS2_32.dll_htons]
mov ecx, 0x80
mov word [rsi + 2], ax
call fcn.140189154
mov rcx, qword [rdi + 0x4a40]
mov r14, rax
mov qword [rax], rcx
mov ecx, 0x140
call fcn.140189154
mov r8, qword [0x140296878]
mov rcx, qword [rdi + 0x4a40]
mov qword [rdi + 0x4b38], rax
mov qword [rax], rcx
test r8, r8
jne 0x1401b57b8
call fcn.140047a30
test eax, eax
je 0x1401b57aa
mov r8, rbx
jmp 0x1401b57b8
lea r8, [0x140296880]
mov qword [0x140296878], r8
mov rdx, qword [rdi + 0x4b38]
lea rax, [r8 + 0x10]
mov qword [rdx + 8], r8
lea rcx, [rdx + 0x20]
mov dword [rdx + 0x10], recv
mov dword [rdx + 0x58], 8
mov qword [rcx], rax
mov rax, qword [r8 + 0x18]
mov qword [rdx + 0x28], rax
mov qword [rax], rcx
mov qword [r8 + 0x18], rcx
mov dword [rdx + 0x30], 0xffffffff
mov qword [rdx + 0x60], rbx
mov qword [rdx + 0x78], 0
mov qword [rdx + 0x108], rbx
mov dword [rdx + 0x100], ebx
mov dword [rdx + 0x88], recv
mov qword [rdx + 0xc0], rbx
mov qword [rdx + 0xf0], rbx
mov qword [rdx + 0xf8], 0xffffffffffffffff
mov qword [rdx + 0x80], rdx
mov qword [rdx + 0x120], rbx
mov qword [rdx + 0x110], 0xffffffffffffffff
mov qword [rdx + 0x138], rbx
mov qword [rdx + 0x130], rbx
mov dword [rdx + 0x128], ebx
mov dword [rdx + 0x118], ebx
mov rbx, qword [rdi + 0x4b38]
mov rcx, qword [rbx + 0x110]
cmp rcx, 0xffffffffffffffff
je 0x1401b58a8
mov edx, 6
mov dword [rsp + 0x50], 1
lea r9, [rsp + 0x50]
mov dword [rsp + 0x20], 4
lea r8d, [rdx - 5]
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
jne 0x1401b58a8
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
jne 0x1401b58af
or dword [rbx + 0x58], 0x1000000
mov rdx, qword [rdi + 0x4b38]
cmp dword [rdx + 0x10], 0xc
jne 0x1401b58de
movzx eax, word [rsi]
cmp ax, 2
je 0x1401b58d0
cmp ax, 0x17
jne 0x1401b58de
mov ebp, 0x1c
mov r9d, ebp
mov r8, rsi
mov rcx, r14
call fcn.140051480
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop rdi
ret