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

Disassembly:
lea r12, [rsp - 0x50]
cmp r12, qword [r14 + 0x10]
jbe 0x45316b
push rbp
mov rbp, rsp
sub rsp, 0xc8
mov rdx, qword [rax + 0x18]
nop
test rdx, rdx
je 0x452e3a
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x48], rdx
mov rcx, qword [rax]
mov qword [rsp + 0x80], rcx
mov rdx, qword [rax + 8]
mov qword [rsp + 0x78], rdx
mov ebx, dword [rcx]
mov rax, rdx
call sym.runtime._moduledata_.textAddr
mov rdi, qword [rsp + 0x48]
cmp rax, rdi
jne 0x452ba5
mov eax, 0xffffffff
jmp 0x452bca
dec rdi
mov qword [rsp + 0x48], rdi
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x78]
mov ecx, 1
nop
call sym.runtime.pcdatavalue
mov rdi, qword [rsp + 0x48]
mov qword [rsp + 0x48], rdi
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rcx + 0x38]
sub rdx, qword [rcx + 0x28]
cmp eax, 0xffffffff
mov esi, 0
cmove eax, esi
mov dword [rsp + 0x20], eax
test rdx, rdx
jbe 0x452c9a
mov rsi, qword [rsp + 0x80]
cmp byte [rsi + 0x2b], 1
ja 0x452c0f
mov r9, qword [rsp + 0x78]
xor r8d, r8d
jmp 0x452c43
lea r8, [rsi + 0x2b]
mov r9d, dword [rsi + 0x1c]
lea r8, [r8 + r9*4]
lea r8, [r8 + 5]
mov r8d, dword [r8]
mov r9, qword [rsp + 0x78]
mov r10d, r8d
add r8, qword [r9 + 0x140]
cmp r10d, 0xffffffff
sete r10b
movzx r10d, r10b
dec r10
and r8, r10
mov qword [rsp + 0x50], rdx
test r8, r8
je 0x4530bb
mov r10d, dword [r8]
test r10d, r10d
jle 0x4530bb
mov edx, dword [r8 + 4]
test edx, edx
jle 0x452c94
mov qword [rsp + 0xb8], r8
test eax, eax
jl 0x452fea
cmp r10d, eax
jle 0x452fea
lea ebx, [rdx + 7]
sar ebx, 3
imul ebx, eax
movsxd rbx, ebx
lea rbx, [r8 + rbx]
lea rbx, [rbx + 8]
jmp 0x452c9e
xor edx, edx
xor ebx, ebx
jmp 0x452c9e
xor edx, edx
xor ebx, ebx
mov qword [rsp + 0xc0], rbx
mov dword [rsp + 0x24], edx
mov rax, rcx
call sym.runtime._stkframe_.argMapInternal
test eax, eax
jle 0x452d7c
test rbx, rbx
je 0x452cd4
mov rdx, qword [rsp + 0x80]
mov r11, qword [rsp + 0x78]
mov r12d, eax
jmp 0x452d8c
mov rdx, qword [rsp + 0x80]
cmp byte [rdx + 0x2b], 0
ja 0x452cec
mov r11, qword [rsp + 0x78]
xor r10d, r10d
jmp 0x452d20
lea r10, [rdx + 0x2b]
mov r11d, dword [rdx + 0x1c]
lea r10, [r10 + r11*4]
lea r10, [r10 + 1]
mov r10d, dword [r10]
mov r11, qword [rsp + 0x78]
mov r12d, r10d
add r10, qword [r11 + 0x140]
cmp r12d, 0xffffffff
sete r12b
movzx r12d, r12b
dec r12
and r10, r12
test r10, r10
je 0x452f3b
mov r12d, dword [r10]
test r12d, r12d
jle 0x452f3b
mov qword [rsp + 0xb0], r10
mov r13d, dword [rsp + 0x20]
test r13d, r13d
jl 0x452e5e
cmp r12d, r13d
jle 0x452e5e
mov r12d, dword [r10 + 4]
test r12d, r12d
jne 0x452d62
xor r12d, r12d
jmp 0x452d8c
lea r15d, [r12 + 7]
sar r15d, 3
imul r13d, r15d
movsxd r13, r13d
lea rbx, [r10 + r13]
lea rbx, [rbx + 8]
jmp 0x452d8c
mov rdx, qword [rsp + 0x80]
mov r11, qword [rsp + 0x78]
mov r12d, eax
test cl, cl
je 0x452d9f
mov r10d, 1
lea r11, [0x0098c500]
jmp 0x452e16
cmp byte [rdx + 0x2b], 2
ja 0x452da9
xor edx, edx
jmp 0x452dd6
lea r10, [rdx + 0x2b]
mov edx, dword [rdx + 0x1c]
lea rdx, [r10 + rdx*4]
lea rdx, [rdx + 9]
mov edx, dword [rdx]
mov r10d, edx
add rdx, qword [r11 + 0x140]
cmp r10d, 0xffffffff
sete r10b
movzx r10d, r10b
dec r10
and rdx, r10
test rdx, rdx
je 0x452e10
mov r10, qword [rdx]
nop
nop
test r10, r10
jl 0x452e59
mov qword [rsp + 0xa8], rdx
mov eax, 0x10
mul r10
jo 0x452e54
mov rdx, qword [rsp + 0xa8]
add rdx, 8
mov r11, rdx
neg rdx
cmp rax, rdx
jbe 0x452e16
jmp 0x452e54
xor r10d, r10d
xor r11d, r11d
mov eax, dword [rsp + 0x24]
mov ecx, r12d
mov rdi, rbx
mov rsi, r11
mov r8, r10
mov r9, r8
mov rbx, qword [rsp + 0xc0]
add rsp, 0xc8
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov ecx, eax
mov rdi, rbx
xor esi, esi
xor r8d, r8d
mov r9, r8
add rsp, 0xc8
pop rbp
ret
call sym.runtime.panicunsafeslicelen
call sym.runtime.panicunsafeslicelen
movsxd rcx, r13d
mov qword [rsp + 0x70], rcx
mov ebx, dword [rdx + 4]
mov rax, r11
call sym.runtime._moduledata_.funcName
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x28], rbx
mov rcx, qword [rsp + 0xb0]
movsxd rcx, dword [rcx]
mov qword [rsp + 0x68], rcx
call sym.runtime.printlock
lea rax, [0x006d59cf]
mov ebx, 0x13
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0x70]
call sym.runtime.printint
lea rax, [0x006d10fe]
mov ebx, 5
nop dword [rax + rax]
call sym.runtime.printstring
mov rax, qword [rsp + 0x68]
call sym.runtime.printint
lea rax, [0x006db0d5]
mov ebx, 0x1c
nop dword [rax + rax]
call sym.runtime.printstring
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x28]
call sym.runtime.printstring
lea rax, [0x006d27ce]
mov ebx, 0xb
call sym.runtime.printstring
mov rax, qword [rsp + 0x48]
call sym.runtime.printhex
lea rax, [0x006d0bb8]
mov ebx, 2
nop
call sym.runtime.printstring
call sym.runtime.printunlock
lea rax, [0x006d456a]
mov ebx, 0x10
call sym.runtime.throw
shl eax, 3
movsxd rcx, eax
mov qword [rsp + 0x60], rcx
mov ebx, dword [rdx + 4]
mov rax, r11
call sym.runtime._moduledata_.funcName
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x30], rbx
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx + 0x40]
mov qword [rsp + 0x58], rcx
call sym.runtime.printlock
lea rax, [0x006d3ed9]
mov ebx, 0xf
call sym.runtime.printstring
mov rax, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x30]
call sym.runtime.printstring
lea rax, [0x006d394b]
mov ebx, 0xe
call sym.runtime.printstring
mov rax, qword [rsp + 0x58]
call sym.runtime.printhex
lea rax, [0x006d0b08]
mov ebx, 1
nop
call sym.runtime.printstring
mov rax, qword [rsp + 0x60]
call sym.runtime.printhex
call sym.runtime.printnl
call sym.runtime.printunlock
lea rax, [0x006d455a]
mov ebx, 0x10
call sym.runtime.throw
movsxd rcx, eax
mov qword [rsp + 0x70], rcx
mov ebx, dword [rsi + 4]
mov rax, r9
call sym.runtime._moduledata_.funcName
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x38], rbx
mov rcx, qword [rsp + 0xb8]
movsxd rcx, dword [rcx]
mov qword [rsp + 0x68], rcx
call sym.runtime.printlock
lea rax, [0x006d59cf]
mov ebx, 0x13
call sym.runtime.printstring
mov rax, qword [rsp + 0x70]
call sym.runtime.printint
lea rax, [0x006d10fe]
mov ebx, 5
call sym.runtime.printstring
mov rax, qword [rsp + 0x68]
call sym.runtime.printint
lea rax, [0x006dc3f1]
mov ebx, 0x1e
call sym.runtime.printstring
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x38]
call sym.runtime.printstring
lea rax, [0x006d27ce]
mov ebx, 0xb
call sym.runtime.printstring
mov rax, qword [rsp + 0x48]
call sym.runtime.printhex
lea rax, [0x006d0bb8]
mov ebx, 2
nop
call sym.runtime.printstring
call sym.runtime.printunlock
lea rax, [0x006d456a]
mov ebx, 0x10
call sym.runtime.throw
mov ebx, dword [rsi + 4]
mov rax, r9
call sym.runtime._moduledata_.funcName
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x40], rbx
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx + 0x38]
mov qword [rsp + 0x58], rcx
call sym.runtime.printlock
lea rax, [0x006d3ed9]
mov ebx, 0xf
call sym.runtime.printstring
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x40]
call sym.runtime.printstring
lea rax, [0x006d454a]
mov ebx, 0x10
call sym.runtime.printstring
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
sub rax, rcx
call sym.runtime.printhex
lea rax, [0x006d0b08]
mov ebx, 1
nop dword [rax + rax]
call sym.runtime.printstring
mov rax, qword [rsp + 0x50]
call sym.runtime.printhex
call sym.runtime.printnl
call sym.runtime.printunlock
lea rax, [0x006d455a]
mov ebx, 0x10
call sym.runtime.throw
nop
mov qword [rsp + 8], rax
mov byte [rsp + 0x10], bl
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
movzx ebx, byte [rsp + 0x10]
jmp sym.runtime._stkframe_.getStackMap