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

Disassembly:
lea r12, [rsp - 0x88]
cmp r12, qword [r14 + 0x10]
jbe 0x62297e
push rbp
mov rbp, rsp
sub rsp, 0x100
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x128], rdi
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x118], rbx
cmp byte [rax + 0x40], 0
jne 0x6222c7
xor edx, edx
jmp 0x622340
mov rbx, qword [rax + 0x60]
lea rcx, [0x006d207f]
mov edi, 0xa
lea rax, [0x006bd880]
nop
call sym.runtime.mapaccess1_faststr
cmp qword [rax + 8], 0
je 0x6222f8
mov rdx, qword [rax]
mov rsi, qword [rdx + 8]
mov rdx, qword [rdx]
jmp 0x6222fc
xor esi, esi
xor edx, edx
mov rax, rdx
mov rbx, rsi
lea rcx, [0x006d105e]
mov edi, 5
call sym.net_http.hasToken
xor eax, 1
mov rcx, qword [rsp + 0x120]
mov rbx, qword [rsp + 0x118]
mov rdi, qword [rsp + 0x128]
mov edx, eax
mov rax, qword [rsp + 0x110]
nop dword [rax + rax]
test dl, dl
je 0x6223da
mov rax, rbx
mov rbx, rcx
lea rcx, [0x006d5ced]
mov edi, 0x13
call sym.io.WriteString
nop
test rbx, rbx
jne 0x6226b5
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x6223d2
cmp qword [rcx + 0x60], 0
je 0x6223d2
lea rax, [0x0067db00]
call sym.runtime.newobject
mov qword [rax + 8], 5
lea rcx, [0x006d105e]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x128]
mov rdx, qword [rcx + 0x60]
mov rbx, qword [rdx]
mov edi, 1
mov rsi, rdi
mov r8, rax
lea rax, [0x006d207f]
mov r9, rbx
mov ebx, 0xa
mov rcx, r8
call r9
mov rcx, qword [rsp + 0x128]
mov rax, qword [rsp + 0x110]
call sym.net_http._transferWriter_.shouldSendContentLength
nop
test al, al
jne 0x6224ef
mov rdx, qword [rsp + 0x110]
cmp qword [rdx + 0x50], 0
je 0x6224e2
mov rsi, qword [rdx + 0x48]
cmp qword [rsi + 8], 7
jne 0x6224e2
mov rsi, qword [rsi]
cmp dword [rsi], 0x6e756863
jne 0x6224e2
cmp word [rsi + 4], 0x656b
nop
jne 0x6224e2
cmp byte [rsi + 6], 0x64
jne 0x6224e2
mov rax, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x120]
lea rcx, [0x006db33d]
mov edi, 0x1c
call sym.io.WriteString
test rbx, rbx
jne 0x6224d3
mov rdx, qword [rsp + 0x128]
nop
test rdx, rdx
je 0x622615
cmp qword [rdx + 0x60], 0
je 0x622615
lea rax, [0x0067db00]
nop dword [rax + rax]
call sym.runtime.newobject
mov qword [rax + 8], 7
lea rcx, [0x006d16f9]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x128]
mov rdx, qword [rcx + 0x60]
mov rbx, qword [rdx]
mov edi, 1
mov rsi, rdi
mov r8, rax
lea rax, [0x006d4d07]
mov r9, rbx
mov ebx, 0x11
mov rcx, r8
call r9
mov rdx, qword [rsp + 0x128]
jmp 0x622615
mov rax, rbx
mov rbx, rcx
add rsp, 0x100
pop rbp
ret
mov rdx, qword [rsp + 0x128]
jmp 0x622615
mov rax, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x120]
lea rcx, [0x006d42da]
mov edi, 0x10
call sym.io.WriteString
test rbx, rbx
jne 0x6226a6
mov rcx, qword [rsp + 0x110]
mov rax, qword [rcx + 0x38]
mov ebx, 0xa
call sym.strconv.FormatInt
mov rcx, rbx
lea rdi, [0x006d0b92]
mov esi, 2
mov rbx, rax
xor eax, eax
call sym.runtime.concatstring2
mov rcx, rax
mov rdi, rbx
mov rax, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x120]
nop
call sym.io.WriteString
test rbx, rbx
jne 0x622697
mov rdx, qword [rsp + 0x128]
test rdx, rdx
je 0x622615
cmp qword [rdx + 0x60], 0
je 0x622615
mov rcx, qword [rsp + 0x110]
mov rax, qword [rcx + 0x38]
mov ebx, 0xa
nop dword [rax + rax]
call sym.strconv.FormatInt
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x78], rax
lea rax, [0x0067db00]
call sym.runtime.newobject
mov rcx, qword [rsp + 0x58]
mov qword [rax + 8], rcx
cmp dword [0x0098c4d0], 0
jne 0x6225d4
mov r8, qword [rsp + 0x78]
jmp 0x6225e1
call sym.runtime.gcWriteBarrier1
mov r8, qword [rsp + 0x78]
mov qword [r11], r8
mov qword [rax], r8
mov r8, qword [rsp + 0x128]
mov rdx, qword [r8 + 0x60]
mov r9, qword [rdx]
mov ebx, 0xe
mov rcx, rax
mov edi, 1
mov rsi, rdi
lea rax, [0x006d378b]
call r9
mov rdx, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x110]
mov rdi, qword [rsi + 0x68]
test rdi, rdi
je 0x6226c4
mov rcx, qword [rdi]
mov qword [rsp + 0x48], rcx
lea rax, [0x0067b380]
xor ebx, ebx
nop dword [rax + rax]
call sym.runtime.makeslice
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x110]
mov rbx, qword [rdx + 0x68]
lea rdi, [rsp + 0xa0]
lea rdi, [rdi - 0x20]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046c82b
mov rbp, qword [rbp]
lea rcx, [rsp + 0xa0]
lea rax, [0x006bd880]
call sym.runtime.mapiterinit
xor eax, eax
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x70]
jmp 0x6226f6
mov rax, rbx
mov rbx, rcx
add rsp, 0x100
pop rbp
ret
mov rax, rbx
mov rbx, rcx
add rsp, 0x100
pop rbp
ret
mov rax, rbx
mov rbx, rcx
add rsp, 0x100
pop rbp
ret
xor eax, eax
xor ebx, ebx
add rsp, 0x100
pop rbp
ret
mov qword [rsp + 0x60], rsi
mov qword [rsi + rdi], rax
lea rax, [rsp + 0xa0]
call sym.runtime.mapiternext
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x60], rdx
mov rsi, qword [rsp + 0xa0]
test rsi, rsi
je 0x6228af
mov rax, qword [rsi]
mov rbx, qword [rsi + 8]
nop
nop
call sym.net_textproto.CanonicalMIMEHeaderKey
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x68], rax
cmp rbx, 7
jne 0x622750
cmp dword [rax], 0x69617254
jne 0x6227a9
cmp word [rax + 4], 0x656c
jne 0x6227a9
cmp byte [rax + 6], 0x72
jne 0x6227a9
jmp 0x622825
cmp rbx, 0xe
jne 0x622780
movabs rdx, 0x2d746e65746e6f43
cmp qword [rax], rdx
jne 0x6227a9
cmp dword [rax + 8], 0x676e654c
jne 0x6227a9
cmp word [rax + 0xc], 0x6874
jne 0x6227a9
jmp 0x622825
cmp rbx, 0x11
jne 0x6227a9
lea rbx, [0x006d4d07]
mov ecx, 0x11
call sym.runtime.memequal
test al, al
jne 0x622825
mov rax, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x40]
inc rdx
mov rcx, qword [rsp + 0x48]
cmp rcx, rdx
jb 0x6227c2
mov rsi, qword [rsp + 0x60]
jmp 0x6227eb
mov rax, qword [rsp + 0x60]
mov rbx, rdx
mov edi, 1
lea rsi, [0x0067b380]
call sym.runtime.growslice
mov rsi, rax
mov rdx, rbx
mov rax, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
lea rdi, [rdx - 1]
shl rdi, 4
mov qword [rsi + rdi + 8], rbx
cmp dword [0x0098c4d0], 0
je 0x6226d1
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rbx, qword [rsi + rdi]
mov qword [r11 + 8], rbx
nop
jmp 0x6226d1
movups xmmword [rsp + 0x80], xmm15
movups xmmword [rsp + 0x90], xmm15
lea rax, [0x006d5d00]
mov ebx, 0x13
call sym.runtime.convTstring
lea rcx, [0x0067b380]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x50]
call sym.runtime.convTstring
lea rcx, [0x0067b380]
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], rax
lea rax, [0x006d1199]
mov ebx, 5
lea rcx, [rsp + 0x80]
mov edi, 2
mov rsi, rdi
call sym.fmt.Errorf
add rsp, 0x100
pop rbp
ret
test rax, rax
je 0x6226c4
nop
mov rbx, rax
mov rax, rdx
nop
call sym.sort.stringsImpl
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
lea rdi, [0x00755018]
mov esi, 1
call sym.strings.Join
mov ecx, 9
mov rdi, rax
mov rsi, rbx
lea r8, [0x006d0b92]
mov r9d, 2
xor eax, eax
lea rbx, [0x006d1f2a]
call sym.runtime.concatstring3
mov rcx, rax
mov rdi, rbx
mov rax, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x120]
call sym.io.WriteString
test rbx, rbx
jne 0x62296f
mov r8, qword [rsp + 0x128]
test r8, r8
je 0x6226c4
mov rdx, qword [r8 + 0x60]
test rdx, rdx
je 0x6226c4
mov r8, qword [rdx]
lea rax, [0x006d1697]
mov ebx, 7
mov rcx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
call r8
jmp 0x6226c4
mov rax, rbx
mov rbx, rcx
add rsp, 0x100
pop rbp
ret
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]
jmp sym.net_http._transferWriter_.writeHeader