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

Disassembly:
lea r12, [rsp - 0x70]
cmp r12, qword [r14 + 0x10]
jbe 0x5ffd93
push rbp
mov rbp, rsp
sub rsp, 0xe8
mov qword [rsp + 0xf8], rax
mov rbx, rax
lea rcx, [0x006d231d]
mov edi, 0xa
lea rax, [0x006bd880]
call sym.runtime.mapaccess1_faststr
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x5ff0fd
mov qword [rsp + 0x68], rcx
lea rax, [0x0068eda0]
xor ebx, ebx
call sym.runtime.makeslice
mov qword [rsp + 0xe0], rax
mov rbx, qword [rsp + 0xf8]
lea rcx, [0x006d231d]
mov edi, 0xa
lea rax, [0x006bd880]
nop dword [rax]
call sym.runtime.mapaccess1_faststr
mov rdx, qword [rax]
mov rsi, qword [rax + 8]
mov rdi, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x68]
xor eax, eax
jmp 0x5ff135
lea rax, [0x0098c060]
xor ebx, ebx
mov rcx, rbx
add rsp, 0xe8
pop rbp
ret
mov r9, qword [rsp + 0xe0]
add r9, 0x10
mov rsi, qword [rsp + 0x78]
dec rsi
mov rdi, rdx
mov rdx, r9
mov rbx, rcx
mov rcx, rax
mov rax, rbx
test rsi, rsi
jle 0x5ff247
mov r9, qword [rdx]
mov r10, qword [rdx + 8]
nop
mov rbx, r10
mov r8, r9
jmp 0x5ff26a
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0xd8], r8
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0x78], rsi
jmp 0x5ff2a0
nop
mov rax, r9
mov rbx, r10
lea rcx, [0x00755050]
mov edi, 1
xor esi, esi
mov r8, 0xffffffffffffffff
call sym.strings.genSplit
cmp rbx, 1
jne 0x5ff1ca
cmp qword [rax + 8], 0
jne 0x5ff1ca
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0xc0]
jmp 0x5ff112
test rbx, rbx
jbe 0x5ffd88
mov rdx, qword [rax]
mov rsi, qword [rax + 8]
jmp 0x5ff2e5
mov qword [rsp + 0x40], rbx
mov qword [rax + 8], rsi
cmp dword [0x0098c4d0], 0
je 0x5ff200
call sym.runtime.gcWriteBarrier2
mov qword [r11], rdx
mov r8, qword [rax]
mov qword [r11 + 8], r8
mov qword [rsp + 0x88], rax
mov qword [rax], rdx
mov rbx, rsi
lea rcx, [0x00755060]
mov edi, 1
mov rax, rdx
nop dword [rax]
call sym.strings.Cut
test sil, sil
je 0x5ff230
nop
jmp 0x5ff350
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0xc0]
jmp 0x5ff112
mov rbx, rax
mov rax, rdi
add rsp, 0xe8
pop rbp
ret
dec r10
mov r11, r10
neg r11
sar r11, 0x3f
and r11d, 1
add r9, r11
test r10, r10
je 0x5ff151
movzx r11d, byte [r9]
cmp r11b, 0x20
je 0x5ff256
nop dword [rax]
cmp r11b, 9
je 0x5ff256
cmp r11b, 0xa
je 0x5ff256
cmp r11b, 0xd
je 0x5ff256
jmp 0x5ff151
dec r10
nop word [rax + rax]
test r10, r10
je 0x5ff185
movzx r11d, byte [r9 + r10 - 1]
cmp r11b, 0x20
je 0x5ff297
cmp r11b, 9
je 0x5ff297
nop dword [rax + rax]
cmp r11b, 0xa
je 0x5ff297
cmp r11b, 0xd
je 0x5ff297
jmp 0x5ff185
dec rsi
mov r8, rsi
neg r8
sar r8, 0x3f
and r8d, 1
add rdx, r8
test rsi, rsi
je 0x5ff311
movzx r8d, byte [rdx]
cmp r8b, 0x20
je 0x5ff2d1
cmp r8b, 9
je 0x5ff2d1
nop word [rax + rax]
cmp r8b, 0xa
je 0x5ff2d1
cmp r8b, 0xd
je 0x5ff2d1
jmp 0x5ff311
dec rsi
test rsi, rsi
je 0x5ff1df
movzx r8d, byte [rsi + rdx - 1]
cmp r8b, 0x20
je 0x5ff30e
cmp r8b, 9
je 0x5ff30e
cmp r8b, 0xa
je 0x5ff30e
cmp r8b, 0xd
je 0x5ff30e
jmp 0x5ff1df
dec rbx
mov rdx, rbx
neg rdx
sar rdx, 0x3f
and edx, 1
add rax, rdx
test rbx, rbx
je 0x5ff374
movzx edx, byte [rax]
cmp dl, 0x20
je 0x5ff33d
nop dword [rax]
cmp dl, 9
je 0x5ff33d
cmp dl, 0xa
je 0x5ff33d
cmp dl, 0xd
je 0x5ff33d
jmp 0x5ff374
dec rbx
test rbx, rbx
je 0x5ff397
movzx edx, byte [rbx + rax - 1]
nop
cmp dl, 0x20
je 0x5ff371
cmp dl, 9
je 0x5ff371
cmp dl, 0xa
je 0x5ff371
cmp dl, 0xd
je 0x5ff371
test rbx, rbx
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x58], rbx
jne 0x5ff3aa
xor edx, edx
jmp 0x5ff3e5
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x90], rcx
lea rcx, sym.net_http.isNotToken
nop
call sym.strings.IndexFunc
test rax, rax
setl dl
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x48]
test dl, dl
je 0x5ff416
cmp rdi, 1
jle 0x5ff412
cmp byte [rcx], 0x22
jne 0x5ff412
movzx edx, byte [rcx + rdi - 1]
cmp dl, 0x22
jne 0x5ff412
add rdi, 0xfffffffffffffffe
mov rdx, rdi
neg rdx
sar rdx, 0x3f
and edx, 1
add rcx, rdx
xor edx, edx
jmp 0x5ff430
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0xc0]
jmp 0x5ff112
inc rdx
cmp rdx, rdi
jge 0x5ff474
movzx r9d, byte [rdx + rcx]
lea r10d, [r9 - 0x20]
nop
cmp r10b, 0x5f
jae 0x5ff467
cmp r9b, 0x22
je 0x5ff462
cmp r9b, 0x3b
je 0x5ff45d
cmp r9b, 0x5c
jne 0x5ff42d
cmp rdx, rdi
jmp 0x5ff46a
cmp rdx, rdi
jmp 0x5ff46a
cmp rdx, rdi
jmp 0x5ff46a
cmp rdx, rdi
mov ecx, 0
mov edi, 0
jge 0x5ff48d
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0xc0]
jmp 0x5ff112
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0xd0], rcx
lea rax, [0x006c0ee0]
call sym.runtime.newobject
mov rcx, qword [rsp + 0x58]
mov qword [rax + 8], rcx
cmp dword [0x0098c4d0], 0
jne 0x5ff4d2
mov rdx, qword [rsp + 0xb8]
mov r9, qword [rsp + 0xd0]
mov r10, qword [rsp + 0xd8]
jmp 0x5ff4fa
call sym.runtime.gcWriteBarrier3
mov rdx, qword [rsp + 0xb8]
mov qword [r11], rdx
mov r9, qword [rsp + 0xd0]
mov qword [r11 + 8], r9
mov r10, qword [rsp + 0xd8]
mov qword [r11 + 0x10], r10
mov qword [rsp + 0xc8], rax
mov qword [rax], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rax + 0x18], rdx
mov qword [rax + 0x10], r9
mov rdx, qword [rsp + 0x80]
mov qword [rax + 0x88], rdx
mov qword [rax + 0x80], r10
mov rdx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x88]
mov ecx, 1
jmp 0x5ff540
lea rcx, [r10 + 1]
cmp rdx, rcx
jle 0x5ff5fd
mov r10, rcx
shl rcx, 4
mov r11, qword [r9 + rcx]
mov r12, qword [r9 + rcx + 8]
jmp 0x5ff680
mov qword [r9 + rcx + 8], r12
cmp dword [0x0098c4d0], 0
jne 0x5ff571
test r12, r12
jmp 0x5ff58a
mov rbx, r11
call sym.runtime.gcWriteBarrier2
mov qword [r11], rbx
mov r13, qword [r9 + rcx]
mov qword [r11 + 8], r13
test r12, r12
mov r11, rbx
mov qword [r9 + rcx], r11
je 0x5ff53c
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x70], r10
mov rax, r11
mov rbx, r12
lea rcx, [0x00755060]
mov edi, 1
call sym.strings.Cut
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0x50], rdi
call sym.net_http_internal_ascii.ToLower
test cl, cl
je 0x5ff5de
mov rdx, qword [rsp + 0x98]
mov r9, qword [rsp + 0x50]
xor ecx, ecx
jmp 0x5ff6e0
mov rax, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x88]
mov r10, qword [rsp + 0x70]
jmp 0x5ff53c
mov rbx, qword [rsp + 0x60]
inc rbx
mov rcx, qword [rsp + 0x68]
cmp rcx, rbx
jb 0x5ff619
mov rdx, qword [rsp + 0xc0]
jmp 0x5ff63d
mov rax, qword [rsp + 0xc0]
mov edi, 1
lea rsi, [0x0068eda0]
call sym.runtime.growslice
mov rdx, rax
mov rax, qword [rsp + 0xc8]
cmp dword [0x0098c4d0], 0
je 0x5ff657
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov r9, qword [rdx + rbx*8 - 8]
mov qword [r11 + 8], r9
mov qword [rdx + rbx*8 - 8], rax
mov rax, rcx
mov rcx, rbx
jmp 0x5ff112
dec r12
mov r13, r12
neg r13
sar r13, 0x3f
and r13d, 1
add r11, r13
nop dword [rax + rax]
test r12, r12
je 0x5ff6ab
movzx r13d, byte [r11]
cmp r13b, 0x20
je 0x5ff667
cmp r13b, 9
je 0x5ff667
cmp r13b, 0xa
je 0x5ff667
nop dword [rax + rax]
cmp r13b, 0xd
je 0x5ff667
jmp 0x5ff6ab
dec r12
test r12, r12
je 0x5ff55e
movzx r13d, byte [r11 + r12 - 1]
nop word [rax + rax]
cmp r13b, 0x20
je 0x5ff6a8
cmp r13b, 9
je 0x5ff6a8
cmp r13b, 0xa
je 0x5ff6a8
cmp r13b, 0xd
je 0x5ff6a8
jmp 0x5ff55e
inc rcx
cmp r9, rcx
jle 0x5ff729
movzx r10d, byte [rcx + rdx]
lea r11d, [r10 - 0x20]
cmp r11b, 0x5f
jae 0x5ff71b
cmp r10b, 0x22
je 0x5ff716
nop word [rax + rax]
cmp r10b, 0x3b
je 0x5ff711
cmp r10b, 0x5c
jne 0x5ff6dd
cmp r9, rcx
jmp 0x5ff71e
cmp r9, rcx
jmp 0x5ff71e
cmp r9, rcx
jmp 0x5ff71e
cmp r9, rcx
mov edx, 0
mov r9d, 0
jle 0x5ff825
mov rdx, qword [rsp + 0xc8]
mov rcx, qword [rdx + 0xa0]
mov rbx, qword [rdx + 0x98]
inc rbx
mov rax, qword [rdx + 0x90]
mov r9, qword [rsp + 0x80]
mov r10, qword [rsp + 0x88]
mov r11, qword [r10 + r9]
mov r9, qword [r10 + r9 + 8]
cmp rcx, rbx
jae 0x5ff7d8
mov qword [rsp + 0xd8], r11
mov qword [rsp + 0x80], r9
mov edi, 1
lea rsi, [0x0067b380]
call sym.runtime.growslice
mov rdx, qword [rsp + 0xc8]
mov qword [rdx + 0xa0], rcx
cmp dword [0x0098c4d0], 0
je 0x5ff7b9
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov r9, qword [rdx + 0x90]
mov qword [r11 + 8], r9
mov qword [rdx + 0x90], rax
mov r9, qword [rsp + 0x80]
mov r10, qword [rsp + 0x88]
mov r11, qword [rsp + 0xd8]
mov qword [rdx + 0x98], rbx
lea r12, [rbx - 1]
shl r12, 4
mov qword [rax + r12 + 8], r9
cmp dword [0x0098c4d0], 0
je 0x5ff80b
mov rcx, r11
call sym.runtime.gcWriteBarrier2
mov qword [r11], rcx
mov r9, qword [rax + r12]
mov qword [r11 + 8], r9
mov r11, rcx
mov qword [rax + r12], r11
mov rax, rdx
mov rdx, qword [rsp + 0x40]
mov r9, r10
mov r10, qword [rsp + 0x70]
nop
jmp 0x5ff53c
cmp rbx, 6
jg 0x5ff929
cmp rbx, 4
jne 0x5ff88e
cmp dword [rax], 0x68746170
nop dword [rax + rax]
jne 0x5ffc86
mov r10, qword [rsp + 0xc8]
mov qword [r10 + 0x28], r9
cmp dword [0x0098c4d0], 0
je 0x5ff870
nop dword [rax + rax]
call sym.runtime.gcWriteBarrier2
mov qword [r11], rdx
mov r9, qword [r10 + 0x20]
mov qword [r11 + 8], r9
mov qword [r10 + 0x20], rdx
mov rax, r10
mov rdx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x88]
mov r10, qword [rsp + 0x70]
jmp 0x5ff53c
cmp rbx, 6
jne 0x5ffc86
cmp dword [rax], 0x616d6f64
nop
jne 0x5ff8ee
cmp word [rax + 4], 0x6e69
jne 0x5ff8ee
mov r10, qword [rsp + 0xc8]
mov qword [r10 + 0x38], r9
cmp dword [0x0098c4d0], 0
je 0x5ff8d0
nop
call sym.runtime.gcWriteBarrier2
mov qword [r11], rdx
mov r9, qword [r10 + 0x30]
mov qword [r11 + 8], r9
mov qword [r10 + 0x30], rdx
mov rax, r10
mov rdx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x88]
mov r10, qword [rsp + 0x70]
jmp 0x5ff53c
cmp dword [rax], 0x75636573
jne 0x5ffc86
cmp word [rax + 4], 0x6572
jne 0x5ffc86
mov rax, qword [rsp + 0xc8]
mov byte [rax + 0x70], 1
mov rdx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x88]
mov r10, qword [rsp + 0x70]
jmp 0x5ff53c
cmp rbx, 7
jne 0x5ffb60
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x98], rdx
cmp dword [rax], 0x69707865
jne 0x5ffac7
cmp word [rax + 4], 0x6572
jne 0x5ffac7
cmp byte [rax + 6], 0x73
nop dword [rax]
jne 0x5ffac7
mov rsi, qword [rsp + 0xc8]
mov qword [rsi + 0x60], r9
cmp dword [0x0098c4d0], 0
je 0x5ff990
nop dword [rax + rax]
call sym.runtime.gcWriteBarrier2
mov qword [r11], rdx
mov r8, qword [rsi + 0x58]
mov qword [r11 + 8], r8
mov qword [rsi + 0x58], rdx
lea rax, [0x006dbbdf]
mov ebx, 0x1d
mov rcx, rdx
mov rdi, r9
call sym.time.Parse
test rdi, rdi
je 0x5ffa05
lea rax, [0x006dbbfc]
mov ebx, 0x1d
mov rcx, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x50]
call sym.time.Parse
test rdi, rdi
je 0x5ffa05
mov rdx, qword [rsp + 0xc8]
movups xmmword [rdx + 0x40], xmm15
cmp dword [0x0098c4d0], 0
je 0x5ff9f5
mov r9, qword [rdx + 0x50]
call sym.runtime.gcWriteBarrier1
mov qword [r11], r9
mov qword [rdx + 0x50], 0
nop dword [rax]
jmp 0x5ffc8e
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb0], rcx
nop
nop
bt rax, 0x3f
jae 0x5ffa54
mov rdx, rax
and eax, 0x3fffffff
shl rdx, 1
shr rdx, 0x1f
movabs r9, 0xdd7b17f80
add rdx, r9
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0xa0], rax
jmp 0x5ffa5e
movabs r9, 0xdd7b17f80
mov qword [rsp + 0xb0], 0
mov rdx, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xa8]
mov r11, qword [rsp + 0xc8]
mov qword [r11 + 0x40], rdx
mov qword [r11 + 0x48], r10
cmp dword [0x0098c4d0], 0
je 0x5ffaa5
mov rdx, qword [r11 + 0x50]
mov rax, r11
call sym.runtime.gcWriteBarrier1
mov qword [r11], rdx
mov r11, rax
mov qword [r11 + 0x50], 0
mov rax, r11
mov rdx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x88]
mov r10, qword [rsp + 0x70]
jmp 0x5ff53c
cmp dword [rax], 0x2d78616d
jne 0x5ffc86
cmp word [rax + 4], 0x6761
jne 0x5ffc86
cmp byte [rax + 6], 0x65
jne 0x5ffc86
mov rax, rdx
mov rbx, r9
call sym.strconv.Atoi
test rbx, rbx
jne 0x5ffb19
test rax, rax
je 0x5ffb29
mov rdx, qword [rsp + 0x50]
test rdx, rdx
jbe 0x5ffd7e
mov rdx, qword [rsp + 0x98]
cmp byte [rdx], 0x30
jne 0x5ffb26
mov rdx, qword [rsp + 0xc8]
jmp 0x5ffc8e
test rax, rax
mov r8, 0xffffffffffffffff
cmovle rax, r8
mov r11, qword [rsp + 0xc8]
mov qword [r11 + 0x68], rax
mov rax, r11
mov rdx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x88]
mov r10, qword [rsp + 0x70]
jmp 0x5ff53c
cmp rbx, 8
jne 0x5ffc86
movabs r10, 0x796c6e6f70747468
cmp qword [rax], r10
jne 0x5ffb9c
mov rax, qword [rsp + 0xc8]
mov byte [rax + 0x71], 1
mov rdx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x88]
mov r10, qword [rsp + 0x70]
jmp 0x5ff53c
movabs r11, 0x65746973656d6173
cmp qword [rax], r11
jne 0x5ffc86
mov rax, rdx
mov rbx, r9
call sym.net_http_internal_ascii.ToLower
nop word [rax + rax]
test cl, cl
je 0x5ffc5f
cmp rbx, 3
jne 0x5ffbed
cmp word [rax], 0x616c
jne 0x5ffc35
cmp byte [rax + 2], 0x78
jne 0x5ffc35
mov rdx, qword [rsp + 0xc8]
mov qword [rdx + 0x78], 2
jmp 0x5ffc45
cmp rbx, 4
jne 0x5ffc0d
cmp dword [rax], 0x656e6f6e
jne 0x5ffc35
mov rdx, qword [rsp + 0xc8]
mov qword [rdx + 0x78], 4
jmp 0x5ffc45
cmp rbx, 6
jne 0x5ffc35
cmp dword [rax], 0x69727473
jne 0x5ffc35
cmp word [rax + 4], 0x7463
jne 0x5ffc35
mov rdx, qword [rsp + 0xc8]
mov qword [rdx + 0x78], 3
jmp 0x5ffc45
mov rdx, qword [rsp + 0xc8]
mov qword [rdx + 0x78], 1
mov rax, rdx
mov rdx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x88]
mov r10, qword [rsp + 0x70]
jmp 0x5ff53c
mov rax, qword [rsp + 0xc8]
mov qword [rax + 0x78], 1
mov rdx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x88]
mov r10, qword [rsp + 0x70]
jmp 0x5ff53c
mov rdx, qword [rsp + 0xc8]
mov rcx, qword [rdx + 0xa0]
mov rbx, qword [rdx + 0x98]
inc rbx
mov rax, qword [rdx + 0x90]
mov r9, qword [rsp + 0x80]
mov r10, qword [rsp + 0x88]
mov r11, qword [r10 + r9]
mov r9, qword [r10 + r9 + 8]
nop
cmp rcx, rbx
jae 0x5ffd32
mov qword [rsp + 0x80], r9
mov qword [rsp + 0xd8], r11
mov edi, 1
lea rsi, [0x0067b380]
call sym.runtime.growslice
mov rdx, qword [rsp + 0xc8]
mov qword [rdx + 0xa0], rcx
cmp dword [0x0098c4d0], 0
je 0x5ffd13
nop
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov r9, qword [rdx + 0x90]
mov qword [r11 + 8], r9
mov qword [rdx + 0x90], rax
mov r9, qword [rsp + 0x80]
mov r10, qword [rsp + 0x88]
mov r11, qword [rsp + 0xd8]
mov qword [rdx + 0x98], rbx
lea r12, [rbx - 1]
shl r12, 4
mov qword [rax + r12 + 8], r9
cmp dword [0x0098c4d0], 0
je 0x5ffd65
mov rcx, r11
call sym.runtime.gcWriteBarrier2
mov qword [r11], rcx
mov r9, qword [rax + r12]
mov qword [r11 + 8], r9
mov r11, rcx
mov qword [rax + r12], r11
mov rax, rdx
mov rdx, qword [rsp + 0x40]
mov r9, r10
mov r10, qword [rsp + 0x70]
jmp 0x5ff53c
xor eax, eax
mov rcx, rax
call sym.runtime.panicIndex
xor eax, eax
mov rcx, rax
call sym.runtime.panicIndex
nop
mov qword [rsp + 8], rax
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
jmp sym.net_http.readSetCookies