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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x536309
sub rsp, 0x48
mov qword [rsp + 0x40], rbp
lea rbp, [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.004eada0
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rcx]
nop
test rdx, rdx
je 0x5360e2
mov r8, qword [rcx + 8]
cmp r8, 2
jge 0x5360c0
mov r8, qword [0x008b5c90]
mov r9, qword [0x008b5c98]
jmp 0x5360f0
cmp r8, 0x7fffffff
jle 0x5360d9
mov r8, qword [0x008b5c80]
mov r9, qword [0x008b5c88]
jmp 0x5360f0
xor r8d, r8d
xor r9d, r9d
nop
jmp 0x5360f0
mov r8, qword [0x008b5ca0]
mov r9, qword [0x008b5ca8]
test r8, r8
jne 0x5362c7
nop
mov r8, qword [rdx + 0x10]
mov rdx, qword [rdx + 8]
lea r9, [r8 - 1]
test r9, r9
jl 0x536166
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
bsr rdx, rdx
mov r8, 0xffffffffffffffff
cmove rdx, r8
shl r9, 6
inc rdx
add rdx, r9
jmp 0x536168
xor edx, edx
lea r8, [rdx + 7]
sar r8, 0x3f
shr r8, 0x3d
add r8, 7
lea rbx, [rdx + r8]
sar rbx, 3
lea rdx, [rbx - 0xb]
mov r8, qword [rsp + 0x70]
cmp r8, rdx
jg 0x5362a8
mov qword [rsp + 0x28], rbx
lea rax, [0x00667c00]
mov rcx, rbx
call fcn.0044a620
mov rcx, qword [rsp + 0x28]
cmp rcx, 1
jbe 0x5362fe
mov byte [rax + 1], 2
mov r8, qword [rsp + 0x70]
mov rbx, rcx
sub rbx, r8
lea r9, [rbx - 1]
cmp rcx, r9
jb 0x5362f3
cmp r9, 2
jb 0x5362e6
lea rdx, [rcx - 2]
mov r9, rdx
neg rdx
sar rdx, 0x3f
and edx, 2
add rdx, rax
cmp rcx, rbx
jb 0x5362de
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
call fcn.00536360
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
mov rdi, rcx
sub rcx, rdx
mov r8, rdx
sub rdx, rdi
sar rdx, 0x3f
and rdx, r8
mov r9, qword [rsp + 0x38]
add rdx, r9
test rax, rax
jne 0x536291
mov rsi, qword [rsp + 0x70]
cmp rsi, rcx
cmovl rcx, rsi
mov byte [r8 + r9 - 1], 0
mov rbx, qword [rsp + 0x68]
nop
cmp rbx, rdx
je 0x536277
mov rax, rdx
call fcn.00466460
mov rdi, qword [rsp + 0x28]
mov r9, qword [rsp + 0x38]
mov rax, qword [rsp + 0x60]
mov rbx, r9
mov rcx, rdi
call fcn.005376c0
mov rbp, qword [rsp + 0x40]
add rsp, 0x48
ret
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
mov rbp, qword [rsp + 0x40]
add rsp, 0x48
ret
mov rdi, qword [0x008b5c60]
mov rsi, qword [0x008b5c68]
xor eax, eax
xor ebx, ebx
mov rcx, rbx
mov rbp, qword [rsp + 0x40]
add rsp, 0x48
ret
xor eax, eax
xor ebx, ebx
mov rcx, rbx
mov rdi, r8
mov rsi, r9
mov rbp, qword [rsp + 0x40]
add rsp, 0x48
ret
mov rax, rbx
call fcn.00465b60
mov eax, 2
mov rcx, r9
call fcn.00465b60
mov rdx, rcx
mov rcx, r9
call fcn.00465b20
mov eax, 1
call fcn.00465aa0
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
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]
mov r8, qword [rsp + 0x30]
jmp fcn.00536060