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

Disassembly:
lea r12, [rsp - 0x140]
cmp r12, qword [r14 + 0x10]
jbe 0x612858
push rbp
mov rbp, rsp
sub rsp, 0x1b8
mov qword [rsp + 0x1e0], rdi
mov qword [rax + 0x148], 0
mov qword [rax + 0x158], 0
mov byte [rax + 0x160], 0
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x6120c4
mov qword [rsp + 0x1c8], rax
mov qword [rsp + 0x1d0], rbx
mov byte [rsp + 0x1d8], cl
mov qword [rsp + 0x1f0], r8
mov qword [rsp + 0x1e8], rsi
mov qword [rsp + 0x1e0], rdi
mov r9, qword [rbx + 0x88]
mov r10, qword [rbx + 0x80]
test r9, r9
jne 0x612095
mov r10, qword [rdx + 0x28]
mov r9, qword [rdx + 0x30]
mov rax, r10
mov rbx, r9
nop dword [rax + rax]
call sym.vendor_golang.org_x_net_http_httpguts.PunycodeHostPort
test rcx, rcx
jne 0x6120ae
xor ecx, ecx
jmp 0x6120e5
xor eax, eax
xor ebx, ebx
mov rsi, rdi
mov rdi, rcx
mov rcx, rbx
add rsp, 0x1b8
pop rbp
ret
mov rdi, qword [0x008f5560]
mov rsi, qword [0x008f5568]
xor eax, eax
xor ebx, ebx
mov rcx, rbx
add rsp, 0x1b8
pop rbp
ret
inc rcx
cmp rbx, rcx
jle 0x612135
movzx edx, byte [rax + rcx]
lea rsi, [0x008d0e00]
movzx edx, byte [rsi + rdx]
test dl, dl
jne 0x6120e2
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1a
lea rcx, [0x006d9f83]
mov qword [rax], rcx
xor ebx, ebx
mov rcx, rbx
lea rdi, [0x00758260]
mov rsi, rax
xor eax, eax
add rsp, 0x1b8
pop rbp
ret
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0xa0], rax
mov rdx, qword [rsp + 0x1d0]
cmp qword [rdx + 8], 7
jne 0x61216e
mov rsi, qword [rdx]
cmp dword [rsi], 0x4e4e4f43
jne 0x61216e
cmp word [rsi + 4], 0x4345
jne 0x61216e
cmp byte [rsi + 6], 0x54
je 0x61238c
mov rax, qword [rdx + 0x10]
call sym.net_url._URL_.RequestURI
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x90], rax
test rbx, rbx
je 0x6121a6
cmp byte [rax], 0x2f
je 0x61226b
cmp rbx, 1
jne 0x6121a6
cmp byte [rax], 0x2a
nop dword [rax + rax]
je 0x61226b
mov rdx, qword [rsp + 0x1d0]
mov r10, qword [rdx + 0x10]
mov rbx, qword [r10]
mov rcx, qword [r10 + 8]
lea rax, [rsp + 0x38]
lea rdi, [0x006d0da3]
mov esi, 3
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x78]
call sym.runtime.concatstring3
mov rcx, qword [rsp + 0x68]
cmp rbx, rcx
jle 0x6121ea
xor eax, eax
jmp 0x61220f
mov qword [rsp + 0x60], rbx
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x90]
nop dword [rax]
call sym.runtime.memequal
mov rcx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
test al, al
je 0x61223d
cmp rbx, rcx
ja 0x61284f
mov rdx, rcx
sub rcx, rbx
mov rsi, rcx
neg rcx
sar rcx, 0x3f
and rbx, rcx
mov rax, qword [rsp + 0x90]
lea r8, [rbx + rax]
jmp 0x61224e
mov rax, qword [rsp + 0x90]
mov rdx, rcx
mov rsi, rdx
mov r8, rax
test rsi, rsi
je 0x61227e
cmp byte [r8], 0x2f
je 0x612265
cmp rsi, 1
jne 0x61227e
cmp byte [r8], 0x2a
jne 0x61227e
mov rbx, rsi
mov rax, r8
mov rdx, qword [rsp + 0x1d0]
mov rcx, rbx
mov rsi, rax
jmp 0x612390
mov rcx, qword [rsp + 0x1d0]
mov rsi, qword [rcx + 0x10]
cmp qword [rsi + 0x18], 0
je 0x61232d
movups xmmword [rsp + 0x118], xmm15
movups xmmword [rsp + 0x128], xmm15
mov rbx, rdx
call sym.runtime.convTstring
lea rcx, [0x0067b380]
mov qword [rsp + 0x118], rcx
mov qword [rsp + 0x120], rax
mov rdx, qword [rsp + 0x1d0]
mov rdx, qword [rdx + 0x10]
mov rax, qword [rdx + 0x10]
mov rbx, qword [rdx + 0x18]
call sym.runtime.convTstring
lea rcx, [0x0067b380]
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0x130], rax
lea rax, [0x006e451d]
mov ebx, 0x2d
lea rcx, [rsp + 0x118]
mov edi, 2
mov rsi, rdi
call sym.fmt.Errorf
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
add rsp, 0x1b8
pop rbp
ret
movups xmmword [rsp + 0x108], xmm15
mov rbx, rdx
call sym.runtime.convTstring
lea rcx, [0x0067b380]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
lea rax, [0x006d8b04]
mov ebx, 0x18
lea rcx, [rsp + 0x108]
mov edi, 1
mov rsi, rdi
call sym.fmt.Errorf
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
add rsp, 0x1b8
pop rbp
ret
xor ecx, ecx
xor esi, esi
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x90], rsi
mov rbx, qword [rdx + 0x38]
lea rdi, [rsp + 0xa8]
lea rdi, [rdi - 0x20]
nop word [rax + rax]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046c82b
mov rbp, qword [rbp]
lea rax, [0x006bd880]
lea rcx, [rsp + 0xa8]
call sym.runtime.mapiterinit
jmp 0x6123f6
lea rax, [rsp + 0xa8]
call sym.runtime.mapiternext
mov rsi, qword [rsp + 0xa8]
nop
test rsi, rsi
je 0x612475
mov rbx, qword [rsi + 8]
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rsi]
mov rsi, qword [rdx]
mov rdx, qword [rdx + 8]
nop dword [rax + rax]
test rbx, rbx
jne 0x612430
lea r9, [0x008d02e0]
xor ecx, ecx
jmp 0x612468
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x98], rax
xor ecx, ecx
jmp 0x6126d3
lea r9, [0x008d02e0]
xor ecx, ecx
jmp 0x612468
lea r9, [0x008d02e0]
mov ecx, 1
test cl, cl
je 0x61273c
jmp 0x6127a2
lea rdi, [rsp + 0x168]
lea rdi, [rdi - 0x30]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046c830
mov rbp, qword [rbp]
lea rcx, [sym.net_http._http2ClientConn_.encodeHeaders.func1]
mov qword [rsp + 0x168], rcx
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x178], rcx
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 0x170], rcx
mov rcx, qword [rsp + 0x1d0]
mov qword [rsp + 0x180], rcx
mov rbx, qword [rsp + 0x68]
mov qword [rsp + 0x190], rbx
mov rbx, qword [rsp + 0x90]
mov qword [rsp + 0x188], rbx
mov rbx, qword [rsp + 0x1e8]
mov qword [rsp + 0x1a0], rbx
mov rbx, qword [rsp + 0x1e0]
mov qword [rsp + 0x198], rbx
mov rbx, qword [rsp + 0x1f0]
mov qword [rsp + 0x1a8], rbx
movzx ebx, byte [rsp + 0x1d8]
mov byte [rsp + 0x1b0], bl
mov qword [rsp + 0x80], 0
movups xmmword [rsp + 0x158], xmm15
lea rbx, [sym.net_http._http2ClientConn_.encodeHeaders.func2]
mov qword [rsp + 0x158], rbx
lea rbx, [rsp + 0x80]
mov qword [rsp + 0x160], rbx
mov rbx, qword [rsp + 0x168]
lea rax, [rsp + 0x158]
lea rdx, [rsp + 0x168]
call rbx
mov rcx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x1c8]
cmp qword [rbx + 0x100], rcx
jb 0x6126aa
mov rdx, qword [rsp + 0x1d0]
mov rsi, qword [rdx + 0xe8]
test rsi, rsi
je 0x6125b4
mov rdx, qword [rdx + 0xf0]
jmp 0x6125c2
lea rsi, [0x0075a050]
lea rdx, [0x0098c060]
mov rsi, qword [rsi + 0x30]
mov rax, rdx
lea rbx, [0x0068c3e0]
lea rcx, [0x0098c060]
call rsi
lea rdx, [0x00690aa0]
cmp rax, rdx
je 0x6125e7
xor ebx, ebx
nop
test rbx, rbx
je 0x6125f7
cmp qword [rbx + 0x60], 0
setne cl
jmp 0x6125f9
xor ecx, ecx
movups xmmword [rsp + 0x138], xmm15
mov byte [rsp + 0x148], 0
mov qword [rsp + 0x150], 0
lea rsi, [sym.net_http._http2ClientConn_.encodeHeaders.func3]
mov qword [rsp + 0x138], rsi
mov rsi, qword [rsp + 0x1c8]
mov qword [rsp + 0x140], rsi
mov byte [rsp + 0x148], cl
mov qword [rsp + 0x150], rbx
mov rcx, qword [rsp + 0x168]
lea rax, [rsp + 0x138]
lea rdx, [rsp + 0x168]
call rcx
mov rcx, qword [rsp + 0x1c8]
mov rbx, qword [rcx + 0x148]
mov rax, qword [rcx + 0x158]
cmp rbx, rax
jb 0x6126c8
mov rdx, qword [rcx + 0x140]
mov rcx, qword [rcx + 0x150]
sub rcx, rax
sub rbx, rax
mov r8, rcx
neg r8
sar r8, 0x3f
and rax, r8
add rax, rdx
xor edi, edi
xor esi, esi
add rsp, 0x1b8
pop rbp
ret
mov rdi, qword [0x008f5590]
mov rsi, qword [0x008f5598]
xor eax, eax
xor ebx, ebx
mov rcx, rbx
add rsp, 0x1b8
pop rbp
ret
mov rcx, rbx
call sym.runtime.panicSliceB
mov rcx, r8
cmp rcx, rbx
jge 0x61245c
movzx edi, byte [rax + rcx]
cmp edi, 0x80
jge 0x6126ee
lea r8, [rcx + 1]
jmp 0x612712
call sym.runtime.decoderune
mov rdx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x88]
mov edi, eax
mov r8, rbx
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x70]
movsxd rdi, edi
cmp rdi, 0x7f
jge 0x612451
nop
jae 0x612842
lea r9, [0x008d02e0]
movzx edi, byte [r9 + rdi]
test dil, dil
jne 0x6126d0
jmp 0x612458
movups xmmword [rsp + 0x108], xmm15
call sym.runtime.convTstring
lea rcx, [0x0067b380]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
lea rax, [0x006da9d4]
mov ebx, 0x1b
lea rcx, [rsp + 0x108]
mov edi, 1
mov rsi, rdi
nop dword [rax]
call sym.fmt.Errorf
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
add rsp, 0x1b8
pop rbp
ret
lea rsi, [rcx + 0x10]
dec rdx
test rdx, rdx
jle 0x6123e9
mov rcx, rsi
mov rdi, qword [rsi]
mov rsi, qword [rsi + 8]
xor r8d, r8d
jmp 0x6127c0
inc r8
nop dword [rax]
cmp r8, rsi
jge 0x61279b
movzx r10d, byte [r8 + rdi]
cmp r10b, 0x20
jb 0x6127da
cmp r10b, 0x7f
jne 0x6127ba
cmp r10b, 0x20
je 0x6127ba
nop dword [rax]
cmp r10b, 9
je 0x6127ba
movups xmmword [rsp + 0x108], xmm15
call sym.runtime.convTstring
lea rcx, [0x0067b380]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
lea rax, [0x006e16d7]
mov ebx, 0x27
lea rcx, [rsp + 0x108]
mov edi, 1
mov rsi, rdi
call sym.fmt.Errorf
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
add rsp, 0x1b8
pop rbp
ret
mov rax, rdi
mov ecx, 0x7f
call sym.runtime.panicIndex
mov rax, rbx
call sym.runtime.panicSliceB
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov byte [rsp + 0x18], cl
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
movzx ecx, byte [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jmp sym.net_http._http2ClientConn_.encodeHeaders