Function at 0x5c9f40
Capabilities:
Reference http user-agent string

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x5caab2
push rbp
mov rbp, rsp
sub rsp, 0x78
mov qword [rsp + 0x88], rax
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x40], rdx
cmp byte [rdx + 0x18], 0
je 0x5ca240
nop
mov word [rsp + 0x30], 0
mov byte [rsp + 0x31], 5
cmp qword [rax], 0
nop
jne 0x5ca0db
cmp qword [rax + 0x30], 0
jne 0x5caa9e
mov r8, qword [rax + 0x18]
add r8, 2
cmp r8, 2
jge 0x5c9ff4
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006da8fc]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov rdx, qword [rsp + 0x88]
mov qword [rdx], rcx
cmp dword [0x0098c4d0], 0
je 0x5c9fe8
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov r8, qword [rdx + 8]
mov qword [r11 + 8], r8
mov qword [rdx + 8], rax
mov rax, rdx
mov rdx, qword [rsp + 0x40]
cmp byte [rax + 0x28], 0
je 0x5ca062
mov r8, qword [rax + 0x18]
add r8, 2
cmp qword [rax + 0x20], r8
jge 0x5ca062
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov rdx, qword [rsp + 0x88]
mov qword [rdx], rcx
cmp dword [0x0098c4d0], 0
nop
je 0x5ca052
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov r8, qword [rdx + 8]
mov qword [r11 + 8], r8
mov qword [rdx + 8], rax
mov rax, rdx
mov rdx, qword [rsp + 0x40]
nop
jmp 0x5ca0db
mov rcx, qword [rax + 0x20]
mov rbx, qword [rax + 0x18]
lea r8, [rbx + 2]
mov r9, qword [rax + 0x10]
cmp rcx, r8
jae 0x5ca0ab
mov qword [rsp + 0x38], rbx
mov rax, r9
mov rbx, r8
mov edi, 2
lea rsi, [0x0067b400]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x40]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x38]
movzx r10d, word [rsp + 0x30]
mov word [r9 + rbx], r10w
mov qword [rax + 0x18], r8
mov qword [rax + 0x20], rcx
cmp dword [0x0098c4d0], 0
je 0x5ca0d7
call sym.runtime.gcWriteBarrier2
mov qword [r11], r9
mov r8, qword [rax + 0x10]
mov qword [r11 + 8], r8
mov qword [rax + 0x10], r9
nop
mov word [rsp + 0x2e], 0
cmp qword [rax], 0
jne 0x5ca240
cmp qword [rax + 0x30], 0
jne 0x5caa8b
mov r8, qword [rax + 0x18]
add r8, 2
cmp r8, 2
jge 0x5ca15c
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006da8fc]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov rdx, qword [rsp + 0x88]
mov qword [rdx], rcx
cmp dword [0x0098c4d0], 0
je 0x5ca150
nop
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov r8, qword [rdx + 8]
mov qword [r11 + 8], r8
mov qword [rdx + 8], rax
mov rax, rdx
mov rdx, qword [rsp + 0x40]
cmp byte [rax + 0x28], 0
je 0x5ca1c7
mov r8, qword [rax + 0x18]
add r8, 2
cmp qword [rax + 0x20], r8
jge 0x5ca1c7
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov rdx, qword [rsp + 0x88]
mov qword [rdx], rcx
cmp dword [0x0098c4d0], 0
je 0x5ca1b9
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov r8, qword [rdx + 8]
mov qword [r11 + 8], r8
mov qword [rdx + 8], rax
mov rax, rdx
mov rdx, qword [rsp + 0x40]
jmp 0x5ca240
mov rcx, qword [rax + 0x20]
mov rbx, qword [rax + 0x18]
lea r8, [rbx + 2]
mov r9, qword [rax + 0x10]
cmp rcx, r8
jae 0x5ca210
mov qword [rsp + 0x38], rbx
mov rax, r9
mov rbx, r8
mov edi, 2
lea rsi, [0x0067b400]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x40]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x38]
movzx r10d, word [rsp + 0x2e]
mov word [r9 + rbx], r10w
mov qword [rax + 0x18], r8
mov qword [rax + 0x20], rcx
cmp dword [0x0098c4d0], 0
je 0x5ca23c
call sym.runtime.gcWriteBarrier2
mov qword [r11], r9
mov r8, qword [rax + 0x10]
mov qword [r11 + 8], r8
mov qword [rax + 0x10], r9
cmp byte [rdx + 0x19], 0
je 0x5ca520
nop
mov word [rsp + 0x2c], 0
mov byte [rsp + 0x2d], 0x12
cmp qword [rax], 0
nop dword [rax + rax]
jne 0x5ca3bb
cmp qword [rax + 0x30], 0
jne 0x5caa78
mov r8, qword [rax + 0x18]
add r8, 2
cmp r8, 2
jge 0x5ca2d4
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006da8fc]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov rdx, qword [rsp + 0x88]
mov qword [rdx], rcx
cmp dword [0x0098c4d0], 0
je 0x5ca2c8
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov r8, qword [rdx + 8]
mov qword [r11 + 8], r8
mov qword [rdx + 8], rax
mov rax, rdx
mov rdx, qword [rsp + 0x40]
cmp byte [rax + 0x28], 0
je 0x5ca342
mov r8, qword [rax + 0x18]
add r8, 2
cmp qword [rax + 0x20], r8
jge 0x5ca342
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov rdx, qword [rsp + 0x88]
mov qword [rdx], rcx
cmp dword [0x0098c4d0], 0
nop
je 0x5ca332
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov r8, qword [rdx + 8]
mov qword [r11 + 8], r8
mov qword [rdx + 8], rax
mov rax, rdx
mov rdx, qword [rsp + 0x40]
nop
jmp 0x5ca3bb
mov rcx, qword [rax + 0x20]
mov rbx, qword [rax + 0x18]
lea r8, [rbx + 2]
mov r9, qword [rax + 0x10]
cmp rcx, r8
jae 0x5ca38b
mov qword [rsp + 0x38], rbx
mov rax, r9
mov rbx, r8
mov edi, 2
lea rsi, [0x0067b400]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x40]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x38]
movzx r10d, word [rsp + 0x2c]
mov word [r9 + rbx], r10w
mov qword [rax + 0x18], r8
mov qword [rax + 0x20], rcx
cmp dword [0x0098c4d0], 0
je 0x5ca3b7
call sym.runtime.gcWriteBarrier2
mov qword [r11], r9
mov r8, qword [rax + 0x10]
mov qword [r11 + 8], r8
mov qword [rax + 0x10], r9
nop
mov word [rsp + 0x2a], 0
cmp qword [rax], 0
jne 0x5ca520
cmp qword [rax + 0x30], 0
jne 0x5caa65
mov r8, qword [rax + 0x18]
add r8, 2
cmp r8, 2
jge 0x5ca43c
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006da8fc]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov rdx, qword [rsp + 0x88]
mov qword [rdx], rcx
cmp dword [0x0098c4d0], 0
je 0x5ca430
nop
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov r8, qword [rdx + 8]
mov qword [r11 + 8], r8
mov qword [rdx + 8], rax
mov rax, rdx
mov rdx, qword [rsp + 0x40]
cmp byte [rax + 0x28], 0
je 0x5ca4a7
mov r8, qword [rax + 0x18]
add r8, 2
cmp qword [rax + 0x20], r8
jge 0x5ca4a7
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov rdx, qword [rsp + 0x88]
mov qword [rdx], rcx
cmp dword [0x0098c4d0], 0
je 0x5ca499
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov r8, qword [rdx + 8]
mov qword [r11 + 8], r8
mov qword [rdx + 8], rax
mov rax, rdx
mov rdx, qword [rsp + 0x40]
jmp 0x5ca520
mov rcx, qword [rax + 0x20]
mov rbx, qword [rax + 0x18]
lea r8, [rbx + 2]
mov r9, qword [rax + 0x10]
cmp rcx, r8
jae 0x5ca4f0
mov qword [rsp + 0x38], rbx
mov rax, r9
mov rbx, r8
mov edi, 2
lea rsi, [0x0067b400]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x40]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x38]
movzx r10d, word [rsp + 0x2a]
mov word [r9 + rbx], r10w
mov qword [rax + 0x18], r8
mov qword [rax + 0x20], rcx
cmp dword [0x0098c4d0], 0
je 0x5ca51c
call sym.runtime.gcWriteBarrier2
mov qword [r11], r9
mov r8, qword [rax + 0x10]
mov qword [r11 + 8], r8
mov qword [rax + 0x10], r9
cmp qword [rdx + 0x28], 0
je 0x5ca6d2
nop
mov word [rsp + 0x36], 0
mov byte [rsp + 0x37], 0xd
cmp qword [rax], 0
nop dword [rax]
jne 0x5ca69a
cmp qword [rax + 0x30], 0
jne 0x5caa51
mov r8, qword [rax + 0x18]
add r8, 2
cmp r8, 2
jge 0x5ca5b4
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006da8fc]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov rdx, qword [rsp + 0x88]
mov qword [rdx], rcx
cmp dword [0x0098c4d0], 0
je 0x5ca5a8
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov r8, qword [rdx + 8]
mov qword [r11 + 8], r8
mov qword [rdx + 8], rax
mov rax, rdx
mov rdx, qword [rsp + 0x40]
cmp byte [rax + 0x28], 0
je 0x5ca622
mov r8, qword [rax + 0x18]
add r8, 2
cmp qword [rax + 0x20], r8
jge 0x5ca622
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov rdx, qword [rsp + 0x88]
mov qword [rdx], rcx
cmp dword [0x0098c4d0], 0
nop
je 0x5ca612
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rsi, qword [rdx + 8]
mov qword [r11 + 8], rsi
mov qword [rdx + 8], rax
mov rax, rdx
mov rdx, qword [rsp + 0x40]
nop
jmp 0x5ca69a
mov rcx, qword [rax + 0x20]
mov rbx, qword [rax + 0x18]
lea r8, [rbx + 2]
mov r9, qword [rax + 0x10]
cmp rcx, r8
jae 0x5ca66b
mov qword [rsp + 0x38], rbx
mov rax, r9
mov rbx, r8
mov edi, 2
lea rsi, [0x0067b400]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x40]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x38]
movzx esi, word [rsp + 0x36]
mov word [r9 + rbx], si
mov qword [rax + 0x18], r8
mov qword [rax + 0x20], rcx
cmp dword [0x0098c4d0], 0
je 0x5ca696
call sym.runtime.gcWriteBarrier2
mov qword [r11], r9
mov rsi, qword [rax + 0x10]
mov qword [r11 + 8], rsi
mov qword [rax + 0x10], r9
movups xmmword [rsp + 0x68], xmm15
lea rsi, [sym.crypto_tls._certificateRequestMsgTLS13_.marshal.func1.1.1]
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rdx
mov ebx, 2
xor ecx, ecx
lea rdi, [rsp + 0x68]
nop dword [rax]
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x40]
cmp qword [rdx + 0x40], 0
je 0x5ca881
nop
mov word [rsp + 0x34], 0
mov byte [rsp + 0x35], 0x32
cmp qword [rax], 0
jne 0x5ca84c
cmp qword [rax + 0x30], 0
jne 0x5caa3e
mov r8, qword [rax + 0x18]
add r8, 2
cmp r8, 2
jge 0x5ca762
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006da8fc]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov rdx, qword [rsp + 0x88]
mov qword [rdx], rcx
cmp dword [0x0098c4d0], 0
je 0x5ca756
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov r8, qword [rdx + 8]
mov qword [r11 + 8], r8
mov qword [rdx + 8], rax
mov rax, rdx
mov rdx, qword [rsp + 0x40]
cmp byte [rax + 0x28], 0
je 0x5ca7d0
mov r8, qword [rax + 0x18]
add r8, 2
cmp qword [rax + 0x20], r8
jge 0x5ca7d0
lea rax, [0x006951a0]
nop dword [rax]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov rdx, qword [rsp + 0x88]
mov qword [rdx], rcx
cmp dword [0x0098c4d0], 0
je 0x5ca7c2
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rsi, qword [rdx + 8]
mov qword [r11 + 8], rsi
mov qword [rdx + 8], rax
mov rax, rdx
mov rdx, qword [rsp + 0x40]
jmp 0x5ca84c
mov rcx, qword [rax + 0x20]
mov rbx, qword [rax + 0x18]
lea r8, [rbx + 2]
mov r9, qword [rax + 0x10]
cmp rcx, r8
jae 0x5ca81d
mov qword [rsp + 0x38], rbx
mov rax, r9
mov rbx, r8
mov edi, 2
lea rsi, [0x0067b400]
nop dword [rax]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x40]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x38]
movzx esi, word [rsp + 0x34]
mov word [r9 + rbx], si
mov qword [rax + 0x18], r8
mov qword [rax + 0x20], rcx
cmp dword [0x0098c4d0], 0
je 0x5ca848
call sym.runtime.gcWriteBarrier2
mov qword [r11], r9
mov rsi, qword [rax + 0x10]
mov qword [r11 + 8], rsi
mov qword [rax + 0x10], r9
movups xmmword [rsp + 0x58], xmm15
lea rsi, [sym.crypto_tls._certificateRequestMsgTLS13_.marshal.func1.1.2]
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], rdx
mov ebx, 2
xor ecx, ecx
lea rdi, [rsp + 0x58]
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x40]
cmp qword [rdx + 0x58], 0
je 0x5caa25
nop
mov word [rsp + 0x32], 0
mov byte [rsp + 0x33], 0x2f
cmp qword [rax], 0
nop dword [rax]
jne 0x5ca9fa
cmp qword [rax + 0x30], 0
jne 0x5caa2b
mov r8, qword [rax + 0x18]
add r8, 2
cmp r8, 2
jge 0x5ca914
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006da8fc]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov rdx, qword [rsp + 0x88]
mov qword [rdx], rcx
cmp dword [0x0098c4d0], 0
je 0x5ca908
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov r8, qword [rdx + 8]
mov qword [r11 + 8], r8
mov qword [rdx + 8], rax
mov rax, rdx
mov rdx, qword [rsp + 0x40]
cmp byte [rax + 0x28], 0
je 0x5ca982
mov r8, qword [rax + 0x18]
add r8, 2
cmp qword [rax + 0x20], r8
jge 0x5ca982
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov rdx, qword [rsp + 0x88]
mov qword [rdx], rcx
cmp dword [0x0098c4d0], 0
nop
je 0x5ca972
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rsi, qword [rdx + 8]
mov qword [r11 + 8], rsi
mov qword [rdx + 8], rax
mov rax, rdx
mov rdx, qword [rsp + 0x40]
nop
jmp 0x5ca9fa
mov rcx, qword [rax + 0x20]
mov rbx, qword [rax + 0x18]
lea r8, [rbx + 2]
mov r9, qword [rax + 0x10]
cmp rcx, r8
jae 0x5ca9cb
mov qword [rsp + 0x38], rbx
mov rax, r9
mov rbx, r8
mov edi, 2
lea rsi, [0x0067b400]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x40]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x38]
movzx esi, word [rsp + 0x32]
mov word [r9 + rbx], si
mov qword [rax + 0x18], r8
mov qword [rax + 0x20], rcx
cmp dword [0x0098c4d0], 0
je 0x5ca9f6
call sym.runtime.gcWriteBarrier2
mov qword [r11], r9
mov rsi, qword [rax + 0x10]
mov qword [r11 + 8], rsi
mov qword [rax + 0x10], r9
movups xmmword [rsp + 0x48], xmm15
lea rsi, [sym.crypto_tls._certificateRequestMsgTLS13_.marshal.func1.1.3]
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rdx
mov ebx, 2
xor ecx, ecx
lea rdi, [rsp + 0x48]
nop dword [rax]
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
add rsp, 0x78
pop rbp
ret
lea rax, [0x0067b380]
lea rbx, [0x00757000]
call sym.runtime.gopanic
lea rax, [0x0067b380]
lea rbx, [0x00757000]
call sym.runtime.gopanic
lea rax, [0x0067b380]
lea rbx, [0x00757000]
nop
call sym.runtime.gopanic
lea rax, [0x0067b380]
lea rbx, [0x00757000]
call sym.runtime.gopanic
lea rax, [0x0067b380]
lea rbx, [0x00757000]
call sym.runtime.gopanic
lea rax, [0x0067b380]
lea rbx, [0x00757000]
call sym.runtime.gopanic
lea rax, [0x0067b380]
lea rbx, [0x00757000]
call sym.runtime.gopanic
nop
mov qword [rsp + 8], rax
call sym.runtime.morestack.abi0
mov rax, qword [rsp + 8]
jmp sym.crypto_tls._certificateRequestMsgTLS13_.marshal.func1.1