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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x5a0f8e
push rbp
mov rbp, rsp
sub rsp, 0x48
mov qword [rsp + 0x60], rbx
mov rdx, qword [rax + 0x58]
movzx esi, byte [rax + 0x30]
neg esi
movzx esi, sil
mov r8, qword [rax + 0x10]
imul rsi, r8
add rsi, rdx
cmp rcx, rsi
jg 0x5a0d4d
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x68], rcx
mov rsi, qword [rax + 0x50]
cmp rcx, rdx
mov r8, rcx
cmovg r8, rdx
cmp rbx, rsi
je 0x5a0d28
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x20], r8
mov rax, rbx
mov rbx, rsi
mov rcx, r8
call sym.runtime.memmove
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x70]
mov r8, qword [rsp + 0x20]
cmp rcx, r8
jb 0x5a0f85
sub rdi, r8
mov rdx, rdi
neg rdi
sar rdi, 0x3f
and rdi, r8
mov rsi, rcx
sub rcx, r8
lea r9, [rbx + rdi]
jmp 0x5a0dac
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006dab9f]
mov qword [rax], rcx
lea rbx, [0x00758260]
mov rcx, rax
xor eax, eax
add rsp, 0x48
pop rbp
ret
mov r10, qword [rsp + 0x38]
sub r10, rcx
mov r11, r10
neg r10
sar r10, 0x3f
and r10, rcx
sub rax, rcx
lea r9, [rsi + r10]
mov rsi, qword [rsp + 0x68]
mov rdx, r11
mov r8, rcx
mov rcx, rax
mov rax, qword [rsp + 0x58]
test rcx, rcx
je 0x5a0f14
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x40], r9
cmp byte [rax + 0x30], 1
jbe 0x5a0ddf
mov rcx, qword [rax + 8]
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x20]
mov rax, rcx
call rdx
mov rax, qword [rsp + 0x58]
mov rdx, qword [rax]
mov rsi, qword [rax + 8]
mov rdx, qword [rdx + 0x38]
mov rbx, qword [rax + 0x38]
mov rcx, qword [rax + 0x40]
mov rdi, qword [rax + 0x48]
mov rax, rsi
call rdx
mov rdx, qword [rsp + 0x58]
mov rsi, qword [rdx]
mov rax, qword [rdx + 8]
mov rsi, qword [rsi + 0x38]
mov rbx, qword [rdx + 0x18]
mov rcx, qword [rdx + 0x20]
mov rdi, qword [rdx + 0x28]
call rsi
lea rax, [0x0067eb80]
call sym.runtime.newobject
mov rdx, qword [rsp + 0x58]
movzx esi, byte [rdx + 0x30]
mov byte [rax], sil
mov rsi, qword [rdx]
mov r8, qword [rdx + 8]
mov rsi, qword [rsi + 0x38]
mov rbx, rax
mov ecx, 1
mov rdi, rcx
mov rax, r8
call rsi
mov rdx, qword [rsp + 0x58]
mov rax, qword [rdx + 8]
mov rsi, qword [rdx]
mov rsi, qword [rsi + 0x30]
mov rbx, qword [rdx + 0x38]
mov rdi, qword [rdx + 0x48]
xor ecx, ecx
call rsi
mov rdx, qword [rsp + 0x58]
mov qword [rdx + 0x40], rbx
mov qword [rdx + 0x48], rcx
cmp dword [0x0098c4d0], 0
je 0x5a0e90
nop
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rsi, qword [rdx + 0x38]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x38], rax
movzx esi, byte [rdx + 0x30]
inc esi
mov byte [rdx + 0x30], sil
mov rsi, qword [rdx + 0x40]
mov r8, qword [rdx + 0x48]
mov rbx, qword [rdx + 0x38]
mov qword [rdx + 0x58], rsi
mov qword [rdx + 0x60], r8
mov rax, qword [rsp + 0x30]
cmp rax, rsi
mov rcx, rax
cmovg rcx, rsi
cmp dword [0x0098c4d0], 0
je 0x5a0eda
call sym.runtime.gcWriteBarrier2
mov qword [r11], rbx
mov rsi, qword [rdx + 0x50]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x50], rbx
mov rsi, qword [rsp + 0x40]
cmp rsi, rbx
je 0x5a0f09
mov qword [rsp + 0x28], rcx
mov rax, rsi
call sym.runtime.memmove
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x40]
cmp rax, rcx
jae 0x5a0d7d
jmp 0x5a0f72
mov rcx, qword [rax + 0x58]
cmp r8, rcx
ja 0x5a0f6a
mov rdx, qword [rax + 0x50]
mov rdi, qword [rax + 0x60]
sub rdi, r8
sub rcx, r8
mov qword [rax + 0x58], rcx
mov qword [rax + 0x60], rdi
neg rdi
sar rdi, 0x3f
and r8, rdi
add rdx, r8
cmp dword [0x0098c4d0], 0
je 0x5a0f59
call sym.runtime.gcWriteBarrier2
mov qword [r11], rdx
mov rdi, qword [rax + 0x50]
mov qword [r11 + 8], rdi
mov qword [rax + 0x50], rdx
mov rax, rsi
xor ebx, ebx
xor ecx, ecx
add rsp, 0x48
pop rbp
ret
mov rax, r8
call sym.runtime.panicSliceB
mov rdx, rax
mov rax, rcx
mov rcx, rdx
nop dword [rax + rax]
call sym.runtime.panicSliceB
mov rax, r8
call sym.runtime.panicSliceB
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
nop dword [rax + rax]
jmp sym.vendor_golang.org_x_crypto_hkdf._hkdf_.Read