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

Disassembly:
lea r12, [rsp - 0x10]
cmp r12, qword [r14 + 0x10]
jbe 0x4a0a6d
sub rsp, 0x90
mov qword [rsp + 0x88], rbp
lea rbp, [rsp + 0x88]
mov qword [rsp + 0x98], rax
lea rdx, [rsi - 2]
cmp rdx, 0x22
ja 0x4a0a59
movups xmmword [rsp + 0x3f], xmm15
movups xmmword [rsp + 0x40], xmm15
movups xmmword [rsp + 0x50], xmm15
movups xmmword [rsp + 0x60], xmm15
movups xmmword [rsp + 0x70], xmm15
test r8b, r8b
je 0x4a0602
neg rdi
cmp rsi, 0xa
jne 0x4a0612
mov edx, 0x41
jmp 0x4a08c0
lea rdx, [rsi - 1]
test rsi, rdx
jne 0x4a0631
bsf rdx, rsi
and edx, 7
lea r10, [rsi - 1]
mov r11d, 0x41
jmp 0x4a0833
mov edx, 0x41
jmp 0x4a0646
mov byte [rsp + r11 + 0x3e], r12b
mov rdi, rdx
mov rdx, rax
mov rax, r10
cmp rsi, rdi
ja 0x4a068b
mov r10, rax
mov rax, rdi
mov r11, rdx
xor edx, edx
div rsi
mov rdx, rax
imul rax, rsi
sub rdi, rax
cmp rdi, 0x24
jae 0x4a080f
lea rax, [r11 - 1]
lea r12, [0x006c4f48]
movzx r12d, byte [rdi + r12]
nop dword [rax]
cmp rax, 0x41
jb 0x4a0638
jmp 0x4a0805
lea r10, [rdx - 1]
lea r11, [0x006c4f48]
movzx r11d, byte [rdi + r11]
nop dword [rax + rax]
cmp r10, 0x41
jae 0x4a07f6
mov byte [rsp + rdx + 0x3e], r11b
test r8b, r8b
je 0x4a06d2
lea rdx, [r10 - 1]
nop dword [rax + rax]
cmp rdx, 0x41
jae 0x4a07e9
mov byte [rsp + r10 + 0x3e], 0x2d
jmp 0x4a06d5
mov rdx, r10
test r9b, r9b
je 0x4a078c
nop
cmp rdx, 0x41
ja 0x4a07dc
mov r8, rbx
sub rbx, rdx
add rbx, 0x41
lea rdi, [rdx - 0x41]
mov r9, rdi
sar rdi, 0x3f
and rdx, rdi
lea rdx, [rsp + rdx + 0x3f]
neg r9
cmp rcx, rbx
jae 0x4a0742
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x28], r8
mov rdi, r9
lea rsi, [0x00667c00]
call fcn.0044a700
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x28], rcx
lea rsi, [rax + r8]
mov rax, rsi
mov rbx, rdx
mov rcx, r9
call fcn.00466460
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
xor edi, edi
xor esi, esi
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
cmp rdx, 0x41
ja 0x4a07cf
lea rcx, [rdx - 0x41]
mov rsi, rcx
sar rcx, 0x3f
and rdx, rcx
lea rbx, [rsp + rdx + 0x3f]
neg rsi
xor eax, eax
mov rcx, rsi
call fcn.0044e8e0
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov rax, rdx
mov ecx, 0x41
call fcn.00465b60
mov rax, rdx
mov ecx, 0x41
call fcn.00465b60
mov rax, rdx
mov ecx, 0x41
call fcn.00465aa0
mov rax, r10
mov ecx, 0x41
nop
call fcn.00465aa0
mov ecx, 0x41
call fcn.00465aa0
mov rax, rdi
mov ecx, 0x24
call fcn.00465ac0
mov byte [rsp + r11 + 0x3e], r15b
mov rdi, rcx
mov rcx, rdx
shr r12, cl
mov rcx, rdi
mov rdi, r12
mov r11, r13
cmp rsi, rdi
ja 0x4a085e
mov r12, rdi
and rdi, r10
nop
cmp rdi, 0x24
jae 0x4a089f
lea r13, [r11 - 1]
lea r15, [0x006c4f48]
movzx r15d, byte [rdi + r15]
cmp r13, 0x41
jb 0x4a081c
jmp 0x4a0892
lea rdx, [r11 - 1]
lea r10, [0x006c4f48]
movzx r10d, byte [rdi + r10]
cmp rdx, 0x41
jae 0x4a0885
mov byte [rsp + r11 + 0x3e], r10b
test r8b, r8b
mov r10, rdx
nop
jmp 0x4a06b2
mov rax, rdx
mov ecx, 0x41
call fcn.00465aa0
mov rax, r13
mov ecx, 0x41
call fcn.00465aa0
mov rax, rdi
mov ecx, 0x24
call fcn.00465ac0
mov byte [rsp + r11 + 0x3d], r10b
mov rdi, rdx
mov rdx, rax
mov rax, rsi
nop word [rax + rax]
cmp rdi, 0x64
jb 0x4a096f
mov r10, rdi
shr rdi, 1
mov rsi, rax
movabs rax, 0xa3d70a3d70a3d70b
mov r11, rdx
mul rdi
shr rdx, 5
imul r12, rdx, 0x64
sub r10, r12
lea r12, [r10 + 1]
lea rax, [r10 + r12]
nop word [rax + rax]
nop
cmp rax, 0xc8
jae 0x4a0a4f
lea rax, [r11 - 1]
lea r12, [0x006cde50]
lea r13, [r12 + r10*2]
lea r13, [r13 + 1]
movzx r13d, byte [r13]
cmp rax, 0x41
jae 0x4a0a45
mov byte [rsp + r11 + 0x3e], r13b
mov rax, r10
shl rax, 1
nop dword [rax]
cmp rax, 0xc8
jae 0x4a0a36
lea rax, [r11 - 2]
lea r10, [r12 + r10*2]
movzx r10d, byte [r10]
nop dword [rax + rax]
cmp rax, 0x41
jb 0x4a08ac
jmp 0x4a0a2c
lea r10, [rdi + 1]
add r10, rdi
nop word [rax + rax]
nop
cmp r10, 0xc8
jae 0x4a0a1f
lea r10, [rdx - 1]
lea r11, [0x006cde50]
lea r12, [r11 + rdi*2]
lea r12, [r12 + 1]
movzx r12d, byte [r12]
cmp r10, 0x41
jae 0x4a0a12
mov byte [rsp + rdx + 0x3e], r12b
cmp rdi, 0xa
jb 0x4a09e5
mov r10, rdi
shl rdi, 1
nop dword [rax]
cmp rdi, 0xc8
jae 0x4a0a05
lea r12, [rdx - 2]
lea r10, [r11 + r10*2]
movzx r10d, byte [r10]
cmp r12, 0x41
jae 0x4a09f3
mov byte [rsp + rdx + 0x3d], r10b
test r8b, r8b
jmp 0x4a09eb
test r8b, r8b
mov r12, r10
mov r10, r12
jmp 0x4a06b2
mov rax, r12
mov ecx, 0x41
nop dword [rax + rax]
call fcn.00465aa0
mov rax, rdi
mov ecx, 0xc8
call fcn.00465ac0
mov rax, r10
mov ecx, 0x41
call fcn.00465aa0
mov rax, r10
mov ecx, 0xc8
call fcn.00465ac0
mov ecx, 0x41
call fcn.00465aa0
mov ecx, 0xc8
nop dword [rax + rax]
call fcn.00465ac0
mov ecx, 0x41
call fcn.00465aa0
mov ecx, 0xc8
call fcn.00465ac0
lea rax, [0x00667a40]
lea rbx, [0x0072e370]
call fcn.00436260
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], r8b
mov byte [rsp + 0x31], r9b
call fcn.00463440
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
movzx r8d, byte [rsp + 0x30]
movzx r9d, byte [rsp + 0x31]
jmp fcn.004a05a0