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

Disassembly:
lea r12, [rsp - 0x128]
cmp r12, qword [r14 + 0x10]
jbe 0x452368
push rbp
mov rbp, rsp
sub rsp, 0x1a0
mov rcx, qword [r14 + 0x30]
mov rdx, qword [rcx + 0x18]
mov rsi, rdx
cmp qword [rdx + 0x10], 0xfffffffffffffb2e
je 0x452356
mov qword [rsp + 0xc0], r14
mov rax, qword [rcx + 0x90]
mov qword [rsp + 0x198], rax
cmp rdx, rax
jne 0x45220f
cmp byte [rax + 0xb7], 0
nop dword [rax]
jne 0x451ed6
mov rdx, qword [rcx + 8]
mov qword [rsp + 0xd0], rdx
movups xmm0, xmmword [rcx + 0x10]
movups xmmword [rsp + 0xd8], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rsp + 0xe8], xmm0
movups xmm0, xmmword [rcx + 0x30]
movups xmmword [rsp + 0xf8], xmm0
mov rcx, qword [r14 + 0x30]
mov qword [rcx + 0x10], 0
mov rcx, qword [r14 + 0x30]
mov qword [rcx + 0x30], 0
mov rcx, qword [r14 + 0x30]
mov qword [rcx + 8], 0
mov rcx, qword [r14 + 0x30]
mov qword [rcx + 0x18], 0
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0xb8], rcx
cmp rcx, 0xfffffffffffffade
jne 0x4518a7
mov rdx, qword [r14 + 0x30]
cmp dword [rdx + 0xd8], 0
jne 0x451868
cmp dword [rdx + 0xc0], 0
jne 0x451868
cmp qword [rdx + 0xd0], 0
jne 0x451868
mov rdx, qword [rdx + 0xa0]
cmp dword [rdx + 4], 1
je 0x4518a7
mov rcx, qword [rax]
add rcx, 0x13a0
mov qword [rax + 0x10], rcx
lea rcx, [rax + 0x38]
mov qword [rsp], rcx
nop
call sym.runtime.gogo.abi0
xorps xmm15, xmm15
mov r14, qword [0x0098c2c8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x198]
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rax]
test rdx, rdx
je 0x451ec5
mov rsi, qword [rax + 0x38]
lea rdi, [rsi - 8]
mov qword [rsp + 0x30], rdi
cmp rdx, rdi
jbe 0x451aa0
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0xa8], rsi
mov rcx, qword [rax + 8]
mov qword [rsp + 0xa0], rcx
mov rdx, qword [rsp + 0xd8]
mov qword [rsp + 0x98], rdx
mov rbx, qword [rsp + 0xd0]
mov qword [rsp + 0x90], rbx
mov rsi, qword [rsp + 0xf8]
mov qword [rsp + 0x88], rsi
mov rdi, qword [rax + 0x40]
mov qword [rsp + 0x80], rdi
mov r8, qword [rax + 0x60]
mov qword [rsp + 0x78], r8
mov r9, qword [rax + 0x50]
mov qword [rsp + 0x190], r9
call sym.runtime.printlock
lea rax, [0x006d6a93]
mov ebx, 0x15
call sym.runtime.printstring
mov rax, qword [rsp + 0x30]
call sym.runtime.printhex
lea rax, [0x006d1a4d]
mov ebx, 8
call sym.runtime.printstring
mov rax, qword [rsp + 0xb0]
call sym.runtime.printhex
lea rax, [0x006d0ba2]
mov ebx, 2
call sym.runtime.printstring
mov rax, qword [rsp + 0xa0]
call sym.runtime.printhex
lea rax, [0x006d3ebb]
mov ebx, 0xf
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0x98]
call sym.runtime.printhex
lea rax, [0x006d0f02]
mov ebx, 4
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0x90]
call sym.runtime.printhex
lea rax, [0x006d0f06]
mov ebx, 4
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0x88]
call sym.runtime.printhex
lea rax, [0x006d33a5]
mov ebx, 0xd
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0x80]
call sym.runtime.printhex
lea rax, [0x006d0f02]
mov ebx, 4
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0xa8]
call sym.runtime.printhex
lea rax, [0x006d0f06]
mov ebx, 4
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0x78]
call sym.runtime.printhex
lea rax, [0x006d1368]
mov ebx, 6
nop dword [rax + rax]
call sym.runtime.printstring
mov rax, qword [rsp + 0x190]
call sym.runtime.printpointer
lea rax, [0x006d0bc4]
mov ebx, 2
nop
call sym.runtime.printstring
call sym.runtime.printunlock
mov rax, qword [rsp + 0x198]
mov rcx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0x30]
nop
cmp qword [rax], rdi
ja 0x451db6
cmp rcx, 0xfffffffffffffade
jne 0x451b39
mov rdx, qword [rsp + 0xc0]
mov rdx, qword [rdx + 0x30]
cmp qword [rdx], rax
je 0x451da5
cmp qword [rdx + 0xa0], 0
jne 0x451ae6
cmp dword [rdx + 0xd8], 0
nop dword [rax]
je 0x451d92
cmp byte [rax + 0xb3], 0
je 0x451b10
mov byte [rax + 0xb3], 0
call sym.runtime.shrinkstack
mov rax, qword [rsp + 0x198]
mov rcx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0x30]
cmp byte [rax + 0xb2], 0
je 0x451b26
call sym.runtime.preemptPark
mov rax, qword [rsp + 0x198]
nop
mov ebx, 1
call sym.runtime.goschedImpl
mov rax, qword [rsp + 0x198]
mov rcx, qword [rax + 8]
sub rcx, qword [rax]
mov qword [rsp + 0x48], rcx
mov rdx, qword [rax + 0x40]
mov rax, rdx
call sym.runtime.findfunc
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
shl rcx, 1
nop dword [rax]
test rax, rax
je 0x451b93
mov qword [rsp + 0x70], rcx
call sym.runtime.funcMaxSPDelta
movsxd rcx, eax
mov rax, qword [rsp + 0x198]
mov rdx, qword [rax + 8]
add rcx, 0x13a0
sub rdx, qword [rax + 0x38]
mov rsi, qword [rsp + 0x70]
jmp 0x451d75
mov rsi, qword [0x008ce4e0]
mov rdi, qword [rsp + 0xb8]
cmp rdi, 0xfffffffffffffeed
cmove rcx, rdx
cmp rsi, rcx
jb 0x451c42
nop word [rax + rax]
nop
cmp qword [0x008ce4e8], rcx
jb 0x451c42
mov qword [rsp + 0x50], rcx
mov rax, qword [rsp + 0x198]
mov ebx, 2
mov ecx, 8
call sym.runtime.casgstatus
mov rax, qword [rsp + 0x198]
mov rbx, qword [rsp + 0x50]
call sym.runtime.copystack
mov rax, qword [rsp + 0x198]
mov ebx, 8
mov ecx, 2
call sym.runtime.casgstatus
mov rdx, qword [rsp + 0x198]
add rdx, 0x38
mov qword [rsp], rdx
call sym.runtime.gogo.abi0
xorps xmm15, xmm15
mov r14, qword [0x0098c2c8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
add rsp, 0x1a0
pop rbp
ret
cmp qword [0x008ce4e8], rsi
jbe 0x451d2c
call sym.runtime.printlock
lea rax, [0x006de09e]
mov ebx, 0x21
call sym.runtime.printstring
mov rax, qword [0x008ce4e0]
call sym.runtime.printuint
lea rax, [0x006d2e08]
mov ebx, 0xc
nop dword [rax]
call sym.runtime.printstring
call sym.runtime.printunlock
mov rax, qword [rsp + 0x198]
mov rcx, qword [rax]
mov qword [rsp + 0xb0], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0xa8], rax
call sym.runtime.printlock
lea rax, [0x006d2e14]
mov ebx, 0xc
call sym.runtime.printstring
mov rax, qword [rsp + 0x30]
call sym.runtime.printhex
lea rax, [0x006d1a4d]
mov ebx, 8
call sym.runtime.printstring
mov rax, qword [rsp + 0xb0]
call sym.runtime.printhex
lea rax, [0x006d0ba2]
mov ebx, 2
call sym.runtime.printstring
mov rax, qword [rsp + 0xa8]
call sym.runtime.printhex
lea rax, [0x006d0bc6]
mov ebx, 2
call sym.runtime.printstring
call sym.runtime.printunlock
lea rax, [0x006d393d]
mov ebx, 0xe
call sym.runtime.throw
call sym.runtime.printlock
lea rax, [0x006de09e]
mov ebx, 0x21
nop dword [rax]
call sym.runtime.printstring
mov rax, qword [0x008ce4e8]
call sym.runtime.printuint
lea rax, [0x006d2e08]
mov ebx, 0xc
nop dword [rax]
call sym.runtime.printstring
call sym.runtime.printunlock
jmp 0x451c8a
shl rdi, 1
mov rsi, rdi
mov rdi, rsi
sub rsi, rdx
nop dword [rax + rax]
cmp rsi, rcx
jb 0x451d6f
mov rdx, qword [rsp + 0x48]
mov rcx, rdi
jmp 0x451b93
lea rax, [0x006deaef]
mov ebx, 0x22
nop
call sym.runtime.throw
lea rax, [0x006d59bc]
mov ebx, 0x13
call sym.runtime.throw
nop
mov ecx, dword [rax + 0x90]
mov dword [rsp + 0x2c], ecx
mov rdx, qword [rax + 0x98]
mov qword [rsp + 0xb8], rdx
call sym.runtime.printlock
lea rax, [0x006d2ce8]
mov ebx, 0xc
call sym.runtime.printstring
mov rax, qword [rsp + 0x198]
call sym.runtime.printpointer
lea rax, [0x006d15a9]
mov ebx, 7
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0xb8]
call sym.runtime.printuint
lea rax, [0x006d33b2]
mov ebx, 0xd
nop
call sym.runtime.printstring
mov eax, dword [rsp + 0x2c]
mov eax, eax
call sym.runtime.printhex
lea rax, [0x006d0bca]
mov ebx, 2
nop dword [rax]
call sym.runtime.printstring
call sym.runtime.printunlock
mov rax, qword [rsp + 0x198]
mov rax, qword [rax]
mov qword [rsp + 0xb0], rax
nop dword [rax]
call sym.runtime.printlock
lea rax, [0x006dce15]
mov ebx, 0x1f
call sym.runtime.printstring
mov rax, qword [rsp + 0x30]
nop dword [rax + rax]
call sym.runtime.printhex
lea rax, [0x006d0c8f]
mov ebx, 3
call sym.runtime.printstring
mov rax, qword [rsp + 0xb0]
nop
call sym.runtime.printhex
call sym.runtime.printnl
call sym.runtime.printunlock
lea rax, [0x006db9b8]
mov ebx, 0x1d
nop dword [rax + rax]
call sym.runtime.throw
lea rax, [0x006d9256]
mov ebx, 0x19
call sym.runtime.throw
mov rdx, qword [rcx + 8]
mov qword [rsp + 0x108], rdx
movups xmm0, xmmword [rcx + 0x10]
movups xmmword [rsp + 0x110], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rsp + 0x120], xmm0
movups xmm0, xmmword [rcx + 0x30]
movups xmmword [rsp + 0x130], xmm0
mov rcx, qword [rsp + 0x108]
mov qword [rax + 0x70], rcx
mov rcx, qword [rsp + 0x110]
mov qword [rax + 0x78], rcx
mov rcx, qword [rax + 0x40]
mov rax, rcx
call sym.runtime.findfunc
test rax, rax
jne 0x4521b6
mov eax, 9
lea rcx, [0x006d1e7f]
xor edx, edx
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0xc8], rcx
mov rbx, qword [rsp + 0x198]
mov rsi, qword [rbx + 0x38]
mov qword [rsp + 0xb0], rsi
mov rdi, qword [rbx]
mov qword [rsp + 0xa8], rdi
mov r8, qword [rbx + 8]
mov qword [rsp + 0xa0], r8
mov r9, qword [rsp + 0x110]
mov qword [rsp + 0x98], r9
mov r10, qword [rsp + 0x108]
mov qword [rsp + 0x90], r10
mov r11, qword [rsp + 0x130]
mov qword [rsp + 0x88], r11
mov r12, qword [rbx + 0x40]
mov qword [rsp + 0x80], r12
mov r13, qword [rbx + 0x60]
mov qword [rsp + 0x78], r13
mov r15, qword [rbx + 0x50]
mov qword [rsp + 0x190], r15
call sym.runtime.printlock
lea rax, [0x006d6a7e]
mov ebx, 0x15
call sym.runtime.printstring
mov rax, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0x40]
call sym.runtime.printstring
lea rax, [0x006d0b08]
mov ebx, 1
call sym.runtime.printstring
mov rax, qword [rsp + 0x38]
call sym.runtime.printhex
lea rax, [0x006d0efe]
mov ebx, 4
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0xb0]
call sym.runtime.printhex
lea rax, [0x006d1a4d]
mov ebx, 8
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0xa8]
call sym.runtime.printhex
lea rax, [0x006d0ba2]
mov ebx, 2
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0xa0]
call sym.runtime.printhex
lea rax, [0x006d3ebb]
mov ebx, 0xf
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0x98]
call sym.runtime.printhex
lea rax, [0x006d0f02]
mov ebx, 4
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0x90]
call sym.runtime.printhex
lea rax, [0x006d0f06]
mov ebx, 4
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0x88]
call sym.runtime.printhex
lea rax, [0x006d33a5]
mov ebx, 0xd
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0x80]
call sym.runtime.printhex
lea rax, [0x006d0f02]
mov ebx, 4
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0xb0]
call sym.runtime.printhex
lea rax, [0x006d0f06]
mov ebx, 4
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0x78]
call sym.runtime.printhex
lea rax, [0x006d1368]
mov ebx, 6
nop dword [rax + rax]
call sym.runtime.printstring
mov rax, qword [rsp + 0x190]
call sym.runtime.printpointer
lea rax, [0x006d0bc4]
mov ebx, 2
nop
call sym.runtime.printstring
call sym.runtime.printunlock
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 0x30]
mov byte [rax + 0xf1], 2
mov rax, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x130]
mov rdi, qword [rsp + 0x198]
xor esi, esi
nop
call sym.runtime.traceback1
lea rax, [0x006dd612]
mov ebx, 0x20
call sym.runtime.throw
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rax
mov ecx, dword [rax + 4]
nop
mov rax, rbx
mov ebx, ecx
call sym.runtime._moduledata_.funcName
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x40], rbx
mov rcx, qword [rsp + 0x60]
mov ecx, dword [rcx]
mov rax, qword [rsp + 0x68]
mov ebx, ecx
call sym.runtime._moduledata_.textAddr
mov rcx, qword [rsp + 0x198]
mov rdx, qword [rcx + 0x40]
sub rdx, rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0xc8]
jmp 0x451f41
mov qword [rsp + 0x188], rcx
mov qword [rsp + 0x58], rsi
mov rax, qword [rcx]
mov qword [rsp + 0x180], rax
mov rdx, qword [rcx + 0x50]
mov qword [rsp + 0x178], rdx
call sym.runtime.printlock
lea rax, [0x006dd5f2]
mov ebx, 0x20
call sym.runtime.printstring
mov rax, qword [rsp + 0x58]
call sym.runtime.printhex
lea rax, [0x006d0efa]
mov ebx, 4
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0x188]
call sym.runtime.printpointer
lea rax, [0x006d1e76]
mov ebx, 9
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0x198]
call sym.runtime.printpointer
lea rax, [0x006d1612]
mov ebx, 7
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0x180]
call sym.runtime.printpointer
lea rax, [0x006d2dfc]
mov ebx, 0xc
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0x178]
call sym.runtime.printpointer
call sym.runtime.printnl
call sym.runtime.printunlock
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 0x30]
test byte [rax], al
mov rcx, qword [rax + 8]
mov qword [rsp + 0x140], rcx
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rsp + 0x148], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rsp + 0x158], xmm0
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rsp + 0x168], xmm0
mov rax, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x168]
mov rdi, qword [rsp + 0x150]
xor esi, esi
nop dword [rax]
call sym.runtime.traceback1
lea rax, [0x006dfb99]
mov ebx, 0x24
call sym.runtime.throw
lea rax, [0x006d7ed6]
mov ebx, 0x17
call sym.runtime.throw
nop
call sym.runtime.morestack_noctxt.abi0
jmp sym.runtime.newstack