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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x5541bf
push rbp
mov rbp, rsp
sub rsp, 0x40
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x68], rdi
call fcn.0051b2a0
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rcx]
test rdx, rdx
je 0x553fa2
mov r8, qword [rcx + 8]
cmp r8, 2
jge 0x553f80
mov r8, qword [0x008be790]
mov r9, qword [0x008be798]
jmp 0x553fb0
cmp r8, 0x7fffffff
jle 0x553f99
mov r8, qword [0x008be7a0]
mov r9, qword [0x008be7a8]
jmp 0x553fb0
xor r8d, r8d
xor r9d, r9d
nop
jmp 0x553fb0
mov r8, qword [0x008be780]
mov r9, qword [0x008be788]
test r8, r8
jne 0x554181
mov r8, qword [rdx + 0x10]
lea r9, [r8 - 1]
nop
test r9, r9
jl 0x554028
mov rdx, qword [rdx + 8]
mov rdx, qword [rdx + r8*8 - 8]
mov r8, rdx
shr rdx, 1
or rdx, r8
mov r8, rdx
shr rdx, 2
or rdx, r8
mov r8, rdx
shr rdx, 4
or rdx, r8
mov r8, rdx
shr rdx, 8
or rdx, r8
mov r8, rdx
shr rdx, 0x10
or rdx, r8
mov r8, rdx
shr rdx, 0x20
or rdx, r8
shl r9, 6
bsr rdx, rdx
mov r8, 0xffffffffffffffff
cmove rdx, r8
lea rdx, [rdx + r9]
lea rdx, [rdx + 1]
jmp 0x55402a
xor edx, edx
lea r8, [rdx + 7]
sar r8, 0x3f
shr r8, 0x3d
lea rbx, [r8 + rdx]
lea rbx, [rbx + 7]
sar rbx, 3
lea rdx, [rbx - 0xb]
mov r8, qword [rsp + 0x70]
cmp r8, rdx
jg 0x554166
mov qword [rsp + 0x28], rbx
lea rax, [0x0065bae0]
mov rcx, rbx
call fcn.0044b7a0
mov rcx, qword [rsp + 0x28]
cmp rcx, 1
jbe 0x5541b4
mov byte [rax + 1], 2
mov r8, qword [rsp + 0x70]
mov rbx, rcx
sub rbx, r8
lea r9, [rbx - 1]
cmp rcx, r9
jb 0x5541a9
cmp r9, 2
jb 0x55419c
lea rdx, [rcx - 2]
mov r9, rdx
neg rdx
sar rdx, 0x3f
and edx, 2
add rdx, rax
cmp rcx, rbx
jb 0x554194
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbx
lea r8, [rbx - 3]
mov rax, rdx
mov rcx, r9
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov rbx, r8
nop dword [rax + rax]
call fcn.00554220
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov r8, rdx
sub rdx, rcx
sar rdx, 0x3f
and rdx, r8
mov rdi, rcx
sub rcx, r8
mov r9, qword [rsp + 0x38]
add rdx, r9
test rax, rax
jne 0x554153
mov byte [r8 + r9 - 1], 0
mov rsi, qword [rsp + 0x70]
cmp rsi, rcx
cmovl rcx, rsi
mov rbx, qword [rsp + 0x68]
cmp rbx, rdx
je 0x55413d
mov rax, rdx
call fcn.00467360
mov rdi, qword [rsp + 0x28]
mov r9, qword [rsp + 0x38]
mov rax, qword [rsp + 0x60]
mov rbx, r9
mov rcx, rdi
call fcn.005555a0
add rsp, 0x40
pop rbp
ret
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
add rsp, 0x40
pop rbp
ret
mov rdi, qword [0x008be7b0]
mov rsi, qword [0x008be7b8]
xor eax, eax
xor ebx, ebx
mov rcx, rbx
add rsp, 0x40
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rcx, rbx
mov rdi, r8
mov rsi, r9
add rsp, 0x40
pop rbp
ret
mov rax, rbx
call fcn.00466a20
mov eax, 2
mov rcx, r9
call fcn.00466a20
mov rdx, rcx
mov rcx, r9
call fcn.004669e0
mov eax, 1
call fcn.00466960
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
nop dword [rax]
call fcn.004646a0
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]
jmp fcn.00553f20