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

Disassembly:
lea r12, [rsp - 0x10]
cmp r12, qword [r14 + 0x10]
jbe 0x486780
push rbp
mov rbp, rsp
sub rsp, 0x88
nop word [rax + rax]
test rbx, rbx
je 0x486504
test rcx, rcx
jg 0x48630e
mov rdx, rcx
neg rdx
bsf r9, rbx
cmp r9, rdx
jl 0x48630e
mov rcx, rdx
shr rbx, cl
cmp rcx, 0x40
sbb rdi, rdi
and rdi, rbx
mov rbx, rdi
mov rcx, rbx
mov esi, 1
xor r8d, r8d
nop dword [rax + rax]
call fcn.004867c0
add rsp, 0x88
pop rbp
ret
mov rdx, qword [rdi]
mov rsi, rcx
mov rcx, rdx
mov r9d, 1
shl r9, cl
cmp rcx, 0x40
sbb r10, r10
and r9, r10
cmp rbx, r9
jne 0x48633f
mov r9, qword [rdi + 0x10]
sub r9, rcx
lea rdx, [r9 + 1]
cmp rsi, rdx
jne 0x48635b
mov rdx, rbx
shl rbx, 1
lea r9, [rdx + rdx]
lea r9, [r9 - 1]
lea r10, [rdx + rdx]
lea r10, [r10 + 1]
lea r11, [rsi - 1]
jmp 0x486380
mov r9, rbx
shl r9, 2
lea rdx, [r9 - 1]
lea r10, [r9 + 2]
lea r11, [rsi - 2]
mov rcx, rdx
mov rdx, rbx
mov rbx, r9
mov r9, rcx
nop word [rax + rax]
test r11, r11
je 0x4864e5
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x78], r11
imul rcx, r11, 0xfffffffffffecbbf
sar rcx, 0x12
mov qword [rsp + 0x38], rcx
lea rsi, [rcx + 1]
mov qword [rsp + 0x48], rsi
lea r8, [0x00871780]
cmp rdi, r8
jne 0x486442
mov rax, r9
mov rbx, r11
mov rcx, rsi
nop dword [rax + rax]
call fcn.00486cc0
mov dword [rsp + 0x34], eax
mov byte [rsp + 0x2e], cl
mov rbx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
nop dword [rax]
call fcn.00486cc0
mov dword [rsp + 0x30], eax
mov byte [rsp + 0x2f], cl
mov rbx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x48]
nop dword [rax]
call fcn.00486cc0
mov edx, dword [rsp + 0x34]
mov edx, edx
mov esi, dword [rsp + 0x30]
mov esi, esi
mov edi, eax
movzx eax, byte [rsp + 0x2f]
movzx r8d, byte [rsp + 0x2e]
nop
jmp 0x4864a2
mov rax, r9
mov rbx, r11
mov rcx, rsi
call fcn.00486da0
mov qword [rsp + 0x50], rax
mov byte [rsp + 0x2e], cl
mov rbx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
call fcn.00486da0
mov qword [rsp + 0x58], rax
mov byte [rsp + 0x2f], cl
mov rbx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x48]
call fcn.00486da0
mov rdx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov rdi, rax
movzx eax, byte [rsp + 0x2f]
movzx r8d, byte [rsp + 0x2e]
test rbx, rbx
jge 0x48676c
mov r9, qword [rsp + 0x48]
cmp r9, 0x37
jle 0x4864bd
xor ecx, ecx
xor eax, eax
xor r8d, r8d
mov r10, qword [rsp + 0x38]
lea r11, [r10 + 0x19]
cmp r11, 0x18
jae 0x486512
neg r9
mov r11, qword [rsp + 0x68]
test r11, r11
je 0x4866c1
mov r12, r9
jmp 0x48668e
mov rcx, rbx
mov rdi, r10
mov esi, 1
xor r8d, r8d
mov rbx, r9
call fcn.004867c0
add rsp, 0x88
pop rbp
ret
movups xmmword [rax + 0x18], xmm15
add rsp, 0x88
pop rbp
ret
mov qword [rsp + 0x40], rdi
mov r9, rbx
neg rbx
mov r11d, ecx
mov rcx, rbx
mov r12d, 1
shl r12, cl
mov r13, rdx
shr rdx, cl
mov r15, rsi
shr rsi, cl
shr rdi, cl
cmp rcx, 0x40
sbb rcx, rcx
and r12, rcx
dec r12
and rdx, rcx
and rsi, rcx
and r15, r12
and rdi, rcx
mov rcx, r10
mov r10, qword [rsp + 0x40]
and r10, r12
nop
test r11b, r11b
je 0x486570
test r10, r10
seta bl
test r11b, r11b
jmp 0x486575
mov ebx, 1
je 0x48658e
test r10, r10
jne 0x48658e
mov r10, qword [rsp + 0x80]
bt r10d, 0
setae bl
jmp 0x486596
mov r10, qword [rsp + 0x80]
movzx r11d, bl
lea rbx, [rdi - 1]
test r11, r11
cmovne rbx, rdi
test al, al
je 0x4865e9
inc r9
neg r9
mov rdi, rcx
mov rcx, r9
mov r11d, 1
shl r11, cl
cmp rcx, 0x40
sbb r9, r9
and r11, r9
cmp r11, r15
jae 0x4865d7
mov rcx, rsi
mov esi, 1
jmp 0x486616
jne 0x4865e2
mov rcx, rsi
and esi, 1
nop
jmp 0x486616
mov rcx, rsi
xor esi, esi
jmp 0x486616
inc r9
neg r9
mov rdi, rcx
mov rcx, r9
mov r11, r15
shr r15, cl
cmp rcx, 0x40
sbb r9, r9
and r15, r9
cmp r15, 1
sete r9b
mov rcx, rsi
mov r15, r11
mov esi, r9d
test r8b, r8b
je 0x486630
nop dword [rax + rax]
test r12, r13
jne 0x486630
bt r10d, 0
jb 0x486630
test al, al
jmp 0x486635
inc rdx
test al, al
je 0x486642
test r15, r15
sete r9b
nop
jmp 0x486645
xor r9d, r9d
mov rax, qword [rsp + 0x98]
mov rdi, rbx
mov r8d, esi
mov rbx, rdx
mov esi, r9d
call fcn.004867c0
mov rdx, qword [rsp + 0x98]
mov r9, qword [rdx + 0x20]
mov r10, qword [rsp + 0x38]
sub r9, r10
dec r9
mov qword [rdx + 0x20], r9
add rsp, 0x88
pop rbp
ret
dec r9
mov eax, r13d
mov r11, rdx
mov rdx, r15
test r9, r9
jle 0x4866be
mov r13d, eax
movabs rax, 0xcccccccccccccccd
mov r15, rdx
mul r11
shr rdx, 2
lea rax, [rdx + rdx*4]
cmp r11, rax
je 0x486682
mov eax, r13d
mov rdx, r15
mov r9, r12
jmp 0x4866c7
mov r9, r12
mov r8d, 1
mov r11, qword [rsp + 0x60]
test r11, r11
je 0x486712
mov r12, r9
jmp 0x4866e2
dec r9
mov eax, r13d
mov r11, rdx
mov rdx, r15
test r9, r9
jle 0x48670f
mov r13d, eax
movabs rax, 0xcccccccccccccccd
mov r15, rdx
mul r11
shr rdx, 2
lea rax, [rdx + rdx*4]
cmp r11, rax
je 0x4866d6
mov rdx, r15
mov r9, r12
jmp 0x486718
mov r9, r12
mov r13d, 1
mov r11, qword [rsp + 0x70]
nop dword [rax]
test r11, r11
jne 0x486740
mov eax, 1
mov ecx, eax
mov eax, r13d
jmp 0x486512
dec r9
mov r11, rdx
mov rdx, r12
nop dword [rax]
test r9, r9
jle 0x486725
movabs rax, 0xcccccccccccccccd
mov r12, rdx
mul r11
shr rdx, 2
lea r15, [rdx + rdx*4]
nop dword [rax]
cmp r11, r15
je 0x486734
mov rdx, r12
mov eax, ecx
jmp 0x48672a
lea rax, [0x0066d140]
lea rbx, [0x007404f0]
call fcn.004337c0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.0045df00
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.004862a0