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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4c93ca
sub rsp, 0x50
mov qword [rsp + 0x48], rbp
lea rbp, [rsp + 0x48]
nop dword [rax + rax]
test r10, r10
je 0x4c93b6
lea rdx, [rbx - 1]
test rdx, rdx
jge 0x4c8f6d
mov r11, rbx
neg rbx
mov rdx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mov r12, rdx
imul rbx
sub rdx, r11
sar rdx, 3
sar rbx, 0x3f
sub rdx, rbx
sub r12, rdx
lea rax, [r12 - 1]
lea r12, [rdx + rdx*2]
lea rdx, [r11 + r12*4]
lea rdx, [rdx + 0xb]
cmp rdx, 0xc
jl 0x4c8f9f
mov rbx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mov r11, rdx
imul rdx
lea r12, [rdx + r11]
sar r12, 3
lea rax, [r12 + rbx]
lea r12, [r12 + r12*2]
shl r12, 2
sub r11, r12
jmp 0x4c8fa2
mov r11, rdx
test r9, r9
jge 0x4c8fe6
lea rdx, [r9 + 1]
neg rdx
mov rbx, rax
movabs rax, 0x44b82fa09b5a52cc
mov r12, rdx
imul rdx
sar rdx, 0x1c
sar r12, 0x3f
sub rdx, r12
sub r8, rdx
dec r8
imul rdx, rdx, 0x3b9aca00
lea r9, [r9 + rdx]
lea r9, [r9 + 0x3b9aca00]
jmp 0x4c8fe9
mov rbx, rax
cmp r9, 0x3b9aca00
jl 0x4c9010
movabs rax, 0x44b82fa09b5a52cc
imul r9
sar rdx, 0x1c
add r8, rdx
imul rdx, rdx, 0x3b9aca00
sub r9, rdx
nop
test r8, r8
jge 0x4c9050
lea rdx, [r8 + 1]
neg rdx
movabs rax, 0x8888888888888889
mov r12, rdx
imul rdx
sub rdx, r8
dec rdx
sar rdx, 5
sar r12, 0x3f
sub rdx, r12
sub rsi, rdx
dec rsi
imul rdx, rdx, 0x3c
lea r8, [r8 + rdx]
lea r8, [r8 + 0x3c]
cmp r8, 0x3c
jl 0x4c9074
movabs rax, 0x8888888888888889
imul r8
add rdx, r8
sar rdx, 5
add rsi, rdx
imul rdx, rdx, 0x3c
sub r8, rdx
nop
test rsi, rsi
jge 0x4c90b4
lea rdx, [rsi + 1]
neg rdx
movabs rax, 0x8888888888888889
mov r12, rdx
imul rdx
sub rdx, rsi
dec rdx
sar rdx, 5
sar r12, 0x3f
sub rdx, r12
sub rdi, rdx
dec rdi
imul rdx, rdx, 0x3c
lea rsi, [rsi + rdx]
lea rsi, [rsi + 0x3c]
cmp rsi, 0x3c
jl 0x4c90d8
movabs rax, 0x8888888888888889
imul rsi
add rdx, rsi
sar rdx, 5
add rdi, rdx
imul rdx, rdx, 0x3c
sub rsi, rdx
nop
test rdi, rdi
jge 0x4c9118
lea rdx, [rdi + 1]
neg rdx
movabs rax, 0xaaaaaaaaaaaaaaab
mov r12, rdx
imul rdx
sub rdx, rdi
dec rdx
sar rdx, 4
sar r12, 0x3f
sub rdx, r12
sub rcx, rdx
dec rcx
lea rdx, [rdx + rdx*2]
lea rdi, [rdi + rdx*8]
lea rdi, [rdi + 0x18]
cmp rdi, 0x18
jl 0x4c9140
movabs rax, 0xaaaaaaaaaaaaaaab
imul rdi
add rdx, rdi
sar rdx, 4
add rcx, rdx
lea rdx, [rdx + rdx*2]
shl rdx, 3
sub rdi, rdx
nop
movabs rdx, 0x440d116ebf
lea r12, [rdx + rbx]
shr r12, 1
movabs rax, 0xa3d70a3d70a3d70b
mul r12
shr rdx, 7
imul r12, rdx, 0x190
mov r13, rbx
sub rbx, r12
movabs r12, 0x440d116ebf
lea r15, [r12 + rbx]
imul rdx, rdx, 0x23ab1
mov qword [rsp + 0x18], rdx
shr r15, 1
movabs rax, 0xa3d70a3d70a3d70b
mul r15
shr rdx, 5
imul r15, rdx, 0x64
sub rbx, r15
lea r15, [r12 + rbx]
imul rdx, rdx, 0x8eac
mov rax, r9
mov r9, qword [rsp + 0x18]
add rdx, r9
shr r15, 2
mov r9, r15
shl r15, 2
sub rbx, r15
add r12, rbx
imul r9, r9, 0x5b5
add rdx, r9
imul r9, r12, 0x16d
add rdx, r9
cmp r11, 0xd
jae 0x4c93a9
mov qword [rsp + 0x28], rax
lea r9, [0x00863ae0]
lea r9, [r9 + r11*4]
movsxd r9, dword [r9]
lea r12, [r9 + rdx]
test r13, 3
jne 0x4c927a
mov rbx, rax
movabs rax, 0xa3d70a3d70a3d70b
mov r15, rdx
imul r13
add rdx, r13
sar rdx, 6
mov rax, r13
sar r13, 0x3f
sub rdx, r13
imul rdx, rdx, 0x64
cmp rax, rdx
jne 0x4c9265
movabs rdx, 0x8f5c28f5c28f5c29
imul rdx, rax
movabs r13, 0x51eb851eb851eb0
add rdx, r13
rol rdx, 0x3c
movabs r13, 0xa3d70a3d70a3d6
cmp r13, rdx
jb 0x4c927d
lea rdx, [r11 + 1]
cmp rdx, 3
jl 0x4c927d
lea r12, [r15 + r9]
lea r12, [r12 + 1]
jmp 0x4c927d
mov rbx, rax
mov qword [rsp + 0x90], r10
lea rcx, [r12 + rcx]
lea rcx, [rcx - 1]
imul rcx, rcx, 0x15180
imul rdx, rdi, 0xe10
imul rsi, rsi, 0x3c
add rdx, rsi
add rdx, r8
add rcx, rdx
mov qword [rsp + 0x20], rcx
movabs rdx, 0x80000001e5263700
lea rbx, [rdx + rcx]
mov qword [rsp + 0x10], rbx
mov rax, r10
call fcn.004c9b20
test rcx, rcx
je 0x4c9315
mov rdx, qword [rsp + 0x20]
mov r8, rdx
sub rdx, rcx
movabs r9, 0x80000001e5263700
lea rbx, [rdx + r9]
cmp rdi, rbx
jg 0x4c92f0
cmp rsi, rbx
jg 0x4c930c
mov rax, qword [rsp + 0x90]
call fcn.004c9b20
mov r8, qword [rsp + 0x20]
movabs r9, 0x80000001e5263700
sub r8, rcx
lea rbx, [r8 + r9]
jmp 0x4c931a
mov rbx, qword [rsp + 0x10]
mov rdx, qword [0x00892318]
mov rcx, qword [rsp + 0x90]
lea rsi, [0x008980e0]
cmp rcx, rsi
mov esi, 0
cmove rcx, rsi
mov rsi, qword [rsp + 0x28]
movsxd rsi, esi
mov qword [rsp + 0x30], rsi
movabs rdi, 0xe7791f700
add rdi, rbx
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rdx
nop
nop
bt rsi, 0x3f
jae 0x4c9390
mov rdx, rsi
shl rsi, 1
shr rsi, 0x1f
movabs rdi, 0xdd7b17f80
add rsi, rdi
mov qword [rsp + 0x38], rsi
and edx, 0x3fffffff
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
mov rax, r11
mov ecx, 0xd
call fcn.00465940
lea rax, [0x006576e0]
lea rbx, [0x00718df0]
call fcn.00436420
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 qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x40], r10
call fcn.004632e0
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]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
nop
jmp fcn.004c8f00