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

Disassembly:
lea r12, [rsp - 0x148]
cmp r12, qword [r14 + 0x10]
jbe 0x51a06a
push rbp
mov rbp, rsp
sub rsp, 0x1c0
mov qword [rsp + 0x1d8], rbx
cmp rcx, 0x42
jne 0x519ed2
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1d8], rbx
movups xmmword [rsp + 0x178], xmm15
movups xmmword [rsp + 0x180], xmm15
movups xmmword [rsp + 0x190], xmm15
movups xmmword [rsp + 0x1a0], xmm15
movups xmmword [rsp + 0x1b0], xmm15
movups xmmword [rsp + 0x130], xmm15
movups xmmword [rsp + 0x138], xmm15
movups xmmword [rsp + 0x148], xmm15
movups xmmword [rsp + 0x158], xmm15
movups xmmword [rsp + 0x168], xmm15
movups xmmword [rsp + 0xe8], xmm15
movups xmmword [rsp + 0xf0], xmm15
movups xmmword [rsp + 0x100], xmm15
movups xmmword [rsp + 0x110], xmm15
movups xmmword [rsp + 0x120], xmm15
nop
movabs rdx, 0x80000000000000
mov qword [rsp + 0xe8], rdx
lea rax, [rsp + 0x178]
lea rbx, [rsp + 0x130]
lea rcx, [rsp + 0xe8]
call sym.crypto_internal_nistec_fiat.p521Sub
movups xmmword [rsp + 0x1c], xmm15
movups xmmword [rsp + 0x1e], xmm15
movups xmmword [rsp + 0x2e], xmm15
movups xmmword [rsp + 0x3e], xmm15
movups xmmword [rsp + 0x4e], xmm15
lea rax, [rsp + 0x178]
lea rbx, [rsp + 0x1c]
call sym.crypto_internal_nistec_fiat._P521Element_.bytes
mov rdx, qword [rsp + 0x1d8]
xor ecx, ecx
jmp 0x519f08
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1c
lea rcx, [0x006db5a5]
mov qword [rax], rcx
lea rbx, [0x00758260]
mov rcx, rax
xor eax, eax
add rsp, 0x1c0
pop rbp
ret
inc rcx
cmp rcx, 0x42
jge 0x519f5a
movzx esi, byte [rdx + rcx]
cmp rbx, rcx
jbe 0x51a05e
movzx edi, byte [rax + rcx]
nop
cmp dil, sil
ja 0x519f5a
jae 0x519f05
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1c
lea rcx, [0x006db5a5]
mov qword [rax], rcx
lea rbx, [0x00758260]
mov rcx, rax
xor eax, eax
add rsp, 0x1c0
pop rbp
ret
movups xmmword [rsp + 0x5e], xmm15
movups xmmword [rsp + 0x60], xmm15
movups xmmword [rsp + 0x70], xmm15
movups xmmword [rsp + 0x80], xmm15
movups xmmword [rsp + 0x90], xmm15
lea rbx, [rsp + 0x5e]
cmp rdx, rbx
je 0x519fba
mov rsi, qword [rdx]
mov qword [rsp + 0x5e], rsi
movups xmm0, xmmword [rdx + 2]
movups xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [rdx + 0x12]
movups xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [rdx + 0x22]
movups xmmword [rsp + 0x80], xmm0
movups xmm0, xmmword [rdx + 0x32]
movups xmmword [rsp + 0x90], xmm0
xor eax, eax
jmp 0x519fd5
movzx esi, byte [rsp + rdx + 0x5e]
movzx edi, byte [rsp + rax + 0x5e]
mov byte [rsp + rax + 0x5e], sil
mov byte [rsp + rdx + 0x5e], dil
inc rax
cmp rax, 0x21
jge 0x519fea
lea rdx, [rax - 0x41]
neg rdx
cmp rdx, 0x42
jb 0x519fbe
jmp 0x51a051
movups xmmword [rsp + 0xa0], xmm15
movups xmmword [rsp + 0xa8], xmm15
movups xmmword [rsp + 0xb8], xmm15
movups xmmword [rsp + 0xc8], xmm15
movups xmmword [rsp + 0xd8], xmm15
lea rax, [rsp + 0xa0]
nop
call sym.crypto_internal_nistec_fiat.p521FromBytes
mov rax, qword [rsp + 0x1d0]
test byte [rax], al
lea rbx, [rsp + 0xa0]
call sym.crypto_internal_nistec_fiat.p521ToMontgomery
mov rax, qword [rsp + 0x1d0]
xor ebx, ebx
xor ecx, ecx
add rsp, 0x1c0
pop rbp
ret
mov rax, rdx
mov ecx, 0x42
call sym.runtime.panicIndex
mov rax, rcx
mov rcx, rbx
call sym.runtime.panicIndex
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
nop
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.crypto_internal_nistec_fiat._P521Element_.SetBytes