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

Disassembly:
lea r12, [rsp - 0xa0]
cmp r12, qword [r14 + 0x10]
jbe 0x462dc6
push rbp
mov rbp, rsp
sub rsp, 0x118
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rbx
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rbx
lea rax, [0x00689940]
mov rbx, rcx
lea rcx, [rsp + 0x108]
call sym.runtime.mapaccess2
nop dword [rax]
test bl, bl
jne 0x4627ba
mov rdx, qword [rsp + 0x128]
mov qword [rsp + 0x108], rdx
mov rsi, qword [rsp + 0x130]
mov qword [rsp + 0x110], rsi
lea rax, [0x00689940]
mov rbx, qword [rsp + 0x138]
lea rcx, [rsp + 0x108]
nop
call sym.runtime.mapassign
test byte [rax], al
mov rdx, qword [rsp + 0x130]
mov rax, qword [rsp + 0x128]
nop word [rax + rax]
cmp rdx, rax
je 0x4627ac
movzx ecx, byte [rax + 0x17]
mov ebx, ecx
and ecx, 0x1f
movzx esi, byte [rdx + 0x17]
and esi, 0x1f
nop dword [rax]
cmp sil, cl
jne 0x4627a1
mov byte [rsp + 0x1f], bl
mov byte [rsp + 0x1e], cl
call sym.runtime.rtype.string
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x130]
call sym.runtime.rtype.string
mov rcx, qword [rsp + 0x78]
cmp rbx, rcx
jne 0x462795
mov rbx, rax
mov rax, qword [rsp + 0x100]
call sym.runtime.memequal
test al, al
je 0x462795
mov rax, qword [rsp + 0x128]
movzx edx, byte [rax + 0x14]
test dl, 1
jne 0x46232b
xor edx, edx
jmp 0x46237a
movzx edx, byte [rax + 0x17]
and edx, 0x1f
add rdx, 0xffffffffffffffef
cmp rdx, 8
ja 0x462376
lea rcx, [0x0075a840]
jmp qword [rcx + rdx*8]
lea rdx, [rax + 0x30]
mov rsi, qword [rsp + 0x130]
movzx edi, byte [rsi + 0x14]
test dil, 1
jne 0x462390
xor edi, edi
jmp 0x4623e6
movzx edi, byte [rsi + 0x17]
and edi, 0x1f
add rdi, 0xffffffffffffffef
nop dword [rax + rax]
cmp rdi, 8
ja 0x4623e2
lea rcx, [0x0075a8a0]
jmp qword [rcx + rdi*8]
lea rdi, [rsi + 0x30]
test rdx, rdx
jne 0x4623f9
test rdi, rdi
je 0x462480
test rdx, rdx
je 0x4623fe
test rdi, rdi
jne 0x462409
xor eax, eax
add rsp, 0x118
pop rbp
ret
mov qword [rsp + 0xa0], rdi
mov ebx, dword [rdx]
call sym.runtime.resolveNameOff
call sym.internal_abi.Name.Name
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0xc0], rax
mov rcx, qword [rsp + 0xa0]
mov ecx, dword [rcx]
mov rax, qword [rsp + 0x130]
mov ebx, ecx
nop
call sym.runtime.resolveNameOff
call sym.internal_abi.Name.Name
mov rcx, qword [rsp + 0x40]
cmp rbx, rcx
jne 0x46278a
mov rbx, rax
mov rax, qword [rsp + 0xc0]
call sym.runtime.memequal
test al, al
je 0x46278a
mov rax, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x130]
movzx edx, byte [rsp + 0x1e]
test dl, dl
je 0x46249c
cmp dl, 0x10
ja 0x46249c
mov eax, 1
add rsp, 0x118
pop rbp
ret
movzx edx, byte [rsp + 0x1f]
and edx, 0x1f
add rdx, 0xffffffffffffffef
cmp rdx, 9
ja 0x462d80
lea rcx, [0x0075b280]
jmp qword [rcx + rdx*8]
xor eax, eax
add rsp, 0x118
pop rbp
ret
xor eax, eax
add rsp, 0x118
pop rbp
nop
ret
xor eax, eax
add rsp, 0x118
pop rbp
ret
mov eax, 1
add rsp, 0x118
pop rbp
ret
mov eax, 1
add rsp, 0x118
pop rbp
ret
call sym.runtime.printlock
lea rax, [0x006dc42d]
mov ebx, 0x1e
call sym.runtime.printstring
movzx eax, byte [rsp + 0x1f]
and eax, 0x1f
nop
call sym.runtime.printuint
call sym.runtime.printnl
call sym.runtime.printunlock
lea rax, [0x006dba2c]
mov ebx, 0x1d
nop dword [rax + rax]
call sym.runtime.throw
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp sym.runtime.typesEqual