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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x524df1
push rbp
mov rbp, rsp
sub rsp, 0x78
mov qword [rsp + 0x88], rax
test rbx, rbx
je 0x524b12
cmp byte [rax], 0x22
jne 0x524b07
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rbx
movups xmmword [rsp + 0x58], xmm15
movups xmmword [rsp + 0x68], xmm15
mov ecx, 1
jmp 0x524b26
call fcn.00524a00
add rsp, 0x78
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rcx, rax
mov rdi, rbx
add rsp, 0x78
pop rbp
ret
lea rcx, [rdx + 1]
cmp rbx, rcx
jle 0x524d83
jbe 0x524de5
movzx edx, byte [rax + rcx]
nop dword [rax]
cmp dl, 0x22
je 0x524d46
mov qword [rsp + 0x48], rcx
cmp dl, 0x5c
jne 0x524ba9
lea r8, [rcx + 1]
cmp rbx, r8
jg 0x524b62
xor esi, esi
nop
jmp 0x524bab
jbe 0x524dd6
mov byte [rsp + 0x45], dl
movzx edx, byte [rcx + rax + 1]
nop
mov ebx, 0xf
lea rax, [0x006c717b]
mov ecx, edx
call fcn.00474ec0
test rax, rax
setge dl
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x90]
mov esi, edx
movzx edx, byte [rsp + 0x45]
jmp 0x524bab
xor esi, esi
test sil, sil
je 0x524c70
lea rdx, [rcx + 1]
nop dword [rax + rax]
cmp rbx, rdx
jbe 0x524dcb
mov r8, qword [rsp + 0x58]
movzx r9d, byte [rcx + rax + 1]
nop
test r8, r8
je 0x524bea
lea r10, [rsp + 0x58]
nop
cmp r8, r10
je 0x524bf9
jmp 0x524db8
lea r8, [rsp + 0x58]
mov qword [rsp + 0x58], r8
lea r10, [rsp + 0x58]
mov rcx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x68]
inc r8
mov r11, qword [rsp + 0x60]
cmp rcx, r8
jae 0x524c61
mov qword [rsp + 0x50], rdx
mov byte [rsp + 0x47], r9b
mov rax, r11
mov rbx, r8
mov edi, 1
lea rsi, [0x0066d1c0]
call fcn.00447aa0
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x50]
movzx r9d, byte [rsp + 0x47]
lea r10, [rsp + 0x58]
mov r8, rbx
mov r11, rax
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x90]
mov qword [rsp + 0x68], r8
mov byte [r8 + r11 - 1], r9b
jmp 0x524b22
cmp dl, 0xd
je 0x524d36
nop dword [rax]
cmp dl, 0xa
je 0x524d36
mov rdx, qword [rsp + 0x58]
movzx r8d, byte [rax + rcx]
nop
test rdx, rdx
je 0x524caa
lea r9, [rsp + 0x58]
nop
cmp rdx, r9
je 0x524cb9
jmp 0x524da5
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x58], rdx
lea r9, [rsp + 0x58]
mov rdx, qword [rsp + 0x70]
mov r10, qword [rsp + 0x68]
inc r10
mov r11, qword [rsp + 0x60]
cmp rdx, r10
jae 0x524d1f
mov byte [rsp + 0x46], r8b
mov rax, r11
mov rbx, r10
mov rcx, rdx
mov edi, 1
lea rsi, [0x0066d1c0]
call fcn.00447aa0
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x48]
movzx r8d, byte [rsp + 0x46]
lea r9, [rsp + 0x58]
mov r10, rbx
mov r11, rax
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x90]
mov qword [rsp + 0x68], r10
mov byte [r10 + r11 - 1], r8b
lea r10, [rsp + 0x58]
mov rdx, rcx
jmp 0x524b22
mov rcx, rax
mov rdi, rbx
xor eax, eax
xor ebx, ebx
add rsp, 0x78
pop rbp
ret
mov rdx, qword [rsp + 0x60]
mov rsi, rdx
neg rdx
mov r8, qword [rsp + 0x68]
cmp r8, rdx
ja 0x524d93
sub rbx, rcx
lea rdi, [rbx - 1]
mov rdx, rdi
neg rdx
sar rdx, 0x3f
lea r9, [rcx + 1]
and r9, rdx
lea rcx, [rax + r9]
mov rax, rsi
mov rbx, r8
add rsp, 0x78
pop rbp
ret
mov rcx, rax
mov rdi, rbx
xor eax, eax
xor ebx, ebx
add rsp, 0x78
pop rbp
ret
test rsi, rsi
je 0x524da0
call fcn.00456d40
nop dword [rax]
call fcn.00456d80
lea rax, [0x0066d140]
lea rbx, [0x007401e0]
call fcn.004337c0
lea rax, [0x0066d140]
lea rbx, [0x007401e0]
call fcn.004337c0
mov rax, rdx
mov rcx, rbx
call fcn.004601e0
mov rax, r8
mov rcx, rbx
nop dword [rax]
call fcn.004601e0
mov rax, rcx
mov rcx, rbx
call fcn.004601e0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
nop dword [rax + rax]
call fcn.0045df00
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00524ac0