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

Disassembly:
lea r12, [rsp - 8]
cmp r12, qword [r14 + 0x10]
jbe 0x4e7c7c
push rbp
mov rbp, rsp
add rsp, 0xffffffffffffff80
mov qword [rsp + 0x90], rax
nop
test rbx, rbx
je 0x4e7442
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x90], rax
lea rax, [0x00696060]
call fcn.0040d680
mov rcx, qword [rsp + 0x90]
cmp byte [rcx], 0x71
jne 0x4e7431
mov byte [rax + 1], 1
mov rdx, qword [rsp + 0x98]
lea r8, [rdx - 1]
mov r9, r8
neg r8
sar r8, 0x3f
and r8d, 1
add r8, rcx
nop word [rax + rax]
cmp rdx, 1
jne 0x4e7451
lea rax, [0x00676f80]
call fcn.0040d680
mov qword [rsp + 0x78], rax
lea rbx, [0x006b7daa]
mov ecx, 0x18
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
xor eax, eax
call fcn.0044f620
mov rcx, qword [rsp + 0x78]
mov qword [rcx + 8], rbx
cmp dword [0x00921500], 0
je 0x4e741f
call fcn.004665c0
mov qword [r11], rax
mov rdx, qword [rcx]
mov qword [r11 + 8], rdx
mov qword [rcx], rax
xor eax, eax
lea rbx, [0x00729440]
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rdx, qword [rsp + 0x98]
mov r9, rdx
mov r8, rcx
nop
jmp 0x4e7451
xor eax, eax
xor ebx, ebx
xor ecx, ecx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov r9, r11
test r9, r9
je 0x4e74ef
cmp byte [r8], 0x76
nop
jne 0x4e74ef
mov byte [rax], 1
mov byte [rax + 1], 0
lea r10, [r9 - 1]
mov r11, r10
neg r10
sar r10, 0x3f
and r10d, 1
add r8, r10
cmp r9, 1
jne 0x4e744e
lea rax, [0x00676f80]
call fcn.0040d680
mov qword [rsp + 0x78], rax
lea rbx, [0x006b7daa]
mov ecx, 0x18
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
xor eax, eax
call fcn.0044f620
mov rcx, qword [rsp + 0x78]
mov qword [rcx + 8], rbx
cmp dword [0x00921500], 0
je 0x4e74dd
call fcn.004665c0
mov qword [r11], rax
mov rdx, qword [rcx]
mov qword [r11 + 8], rdx
mov qword [rcx], rax
xor eax, eax
lea rbx, [0x00729440]
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov byte [rax + 2], 1
jmp 0x4e7500
mov r9, r11
nop dword [rax + rax]
test r9, r9
je 0x4e75c9
cmp byte [r8], 0x21
jne 0x4e75a3
movzx r10d, byte [rax + 2]
xor r10d, 1
mov byte [rax + 2], r10b
lea r10, [r9 - 1]
mov r11, r10
neg r10
sar r10, 0x3f
and r10d, 1
add r8, r10
cmp r9, 1
jne 0x4e74f5
lea rax, [0x00676f80]
call fcn.0040d680
mov qword [rsp + 0x78], rax
lea rbx, [0x006b7daa]
mov ecx, 0x18
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
xor eax, eax
call fcn.0044f620
mov rcx, qword [rsp + 0x78]
mov qword [rcx + 8], rbx
cmp dword [0x00921500], 0
nop
je 0x4e7591
call fcn.004665c0
mov qword [r11], rax
mov rdx, qword [rcx]
mov qword [r11 + 8], rdx
mov qword [rcx], rax
xor eax, eax
lea rbx, [0x00729440]
sub rsp, 0xffffffffffffff80
pop rbp
ret
cmp r9, 1
jne 0x4e75c9
cmp byte [r8], 0x6e
jne 0x4e75c9
movzx r10d, byte [rax + 2]
xor r10d, 1
mov byte [rax + 2], r10b
mov r9d, 1
lea r8, [0x00725d48]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x68], r8
xor ebx, ebx
xor esi, esi
mov edi, 1
xor r10d, r10d
mov r11d, 1
jmp 0x4e75ef
inc rbx
cmp rbx, r9
jg 0x4e7c41
jge 0x4e760d
nop word [rax + rax]
jae 0x4e7c70
movzx r12d, byte [rbx + r8]
jmp 0x4e7613
mov r12d, 0x2d
cmp rsi, rbx
jne 0x4e7634
cmp rdi, 1
jne 0x4e7634
nop
cmp r12b, 0x78
jne 0x4e7634
lea r12, [rbx + 1]
mov rsi, r12
mov edi, 4
jmp 0x4e75ec
cmp r12b, 0x31
ja 0x4e7896
nop
cmp r12b, 0x2b
je 0x4e7654
cmp r12b, 0x2d
jne 0x4e788b
cmp r12b, 0x2b
jne 0x4e765f
test r11b, r11b
je 0x4e7965
mov qword [rsp + 0x50], rbx
mov byte [rsp + 0x47], r12b
test rbx, rbx
jle 0x4e77a5
mov r13, rbx
sub rbx, rsi
imul rbx, rdi
nop dword [rax]
cmp rbx, 0x40
jg 0x4e7a38
test rbx, rbx
jle 0x4e79cc
cmp rsi, r9
jae 0x4e7c65
movzx r15d, byte [rsi + r8]
cmp r15b, 0x79
mov r15d, 0
cmove rbx, r15
test rbx, rbx
jl 0x4e7c60
mov rcx, rbx
mov edx, 1
shl rdx, cl
mov rsi, qword [rax + 0x18]
mov rdi, qword [rax + 0x10]
inc rdi
mov r15, qword [rax + 8]
cmp rcx, 0x40
sbb rcx, rcx
and rcx, rdx
nop dword [rax]
cmp rsi, rdi
jae 0x4e7764
mov qword [rsp + 0x60], rcx
mov byte [rsp + 0x46], r11b
mov qword [rsp + 0x58], r10
mov rax, r15
mov rbx, rdi
mov rcx, rsi
mov edi, 1
lea rsi, [0x006887a0]
call fcn.0044b880
mov rdx, qword [rsp + 0x70]
mov qword [rdx + 0x18], rcx
cmp dword [0x00921500], 0
nop
je 0x4e7732
call fcn.004665c0
mov qword [r11], rax
mov r8, qword [rdx + 8]
mov qword [r11 + 8], r8
mov qword [rdx + 8], rax
mov rcx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x58]
movzx r11d, byte [rsp + 0x46]
movzx r12d, byte [rsp + 0x47]
mov r13, qword [rsp + 0x50]
mov rdi, rbx
mov r15, rax
mov rax, rdx
mov qword [rax + 0x10], rdi
lea rdx, [rcx - 1]
lea rcx, [rdi + rdi*2]
mov qword [r15 + rcx*8 - 0x18], rdx
mov qword [r15 + rcx*8 - 0x10], r10
lea rdx, [r15 + rcx*8]
lea rdx, [rdx - 8]
mov byte [rdx], r11b
cmp r12b, 0x2b
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
mov rbx, r13
nop dword [rax]
jmp 0x4e7876
cmp r12b, 0x2d
jne 0x4e7872
mov r10, qword [rax + 0x18]
mov r11, qword [rax + 0x10]
inc r11
mov r13, qword [rax + 8]
nop
cmp r10, r11
jb 0x4e77ce
cmp r12b, 0x2b
jmp 0x4e784e
mov rax, r13
mov rbx, r11
mov rcx, r10
mov edi, 1
lea rsi, [0x006887a0]
call fcn.0044b880
mov rdx, qword [rsp + 0x70]
mov qword [rdx + 0x18], rcx
cmp dword [0x00921500], 0
jne 0x4e7806
movzx r8d, byte [rsp + 0x47]
cmp r8b, 0x2b
jmp 0x4e7820
call fcn.004665c0
mov qword [r11], rax
mov r8, qword [rdx + 8]
mov qword [r11 + 8], r8
movzx r8d, byte [rsp + 0x47]
cmp r8b, 0x2b
mov qword [rdx + 8], rax
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0x68]
mov r9, qword [rsp + 0x48]
mov r11, rbx
mov r13, rax
mov rax, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x50]
mov qword [rax + 0x10], r11
lea r10, [r11 + r11*2]
lea r11, [r13 + r10*8]
lea r11, [r11 - 0x18]
movups xmmword [r11], xmm15
lea r10, [r13 + r10*8]
lea r10, [r10 - 8]
mov byte [r10], 1
jmp 0x4e7876
cmp r12b, 0x2b
sete r11b
lea rsi, [rbx + 1]
mov edi, 1
xor r10d, r10d
jmp 0x4e75ec
cmp r12b, 0x30
jae 0x4e78b0
jmp 0x4e7bd8
cmp r12b, 0x46
ja 0x4e78eb
nop dword [rax]
cmp r12b, 0x39
ja 0x4e78e0
cmp rdi, 4
jne 0x4e7aa1
test rdi, rdi
jl 0x4e7c56
mov r13, rcx
mov rcx, rdi
shl r10, cl
add r12d, 0xffffffd0
movzx r12d, r12b
cmp rcx, 0x40
sbb r15, r15
and r10, r15
or r10, r12
mov rcx, r13
jmp 0x4e75ec
cmp r12b, 0x41
jae 0x4e7900
jmp 0x4e7bd8
lea r13d, [r12 - 0x61]
cmp r13b, 5
ja 0x4e7925
nop word [rax + rax]
nop
cmp rdi, 4
jne 0x4e7b08
shl r10, 4
and r12d, 0xffffffdf
add r12d, 0xffffffc9
movzx r12d, r12b
or r10, r12
nop dword [rax]
jmp 0x4e75ec
cmp r12b, 0x79
jne 0x4e7bd8
lea r10, [rbx + 1]
cmp r9, r10
jle 0x4e7958
jbe 0x4e7c4b
movzx r10d, byte [rbx + r8 + 1]
cmp r10b, 0x30
je 0x4e7b6f
cmp r10b, 0x31
je 0x4e7b6f
xor r10d, r10d
nop dword [rax + rax]
jmp 0x4e75ec
lea rax, [0x00676f80]
call fcn.0040d680
mov qword [rsp + 0x78], rax
lea rbx, [0x006bd5ef]
mov ecx, 0x24
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
xor eax, eax
call fcn.0044f620
mov rcx, qword [rsp + 0x78]
mov qword [rcx + 8], rbx
cmp dword [0x00921500], 0
je 0x4e79ba
call fcn.004665c0
mov qword [r11], rax
mov rdx, qword [rcx]
mov qword [r11 + 8], rdx
mov qword [rcx], rax
xor eax, eax
lea rbx, [0x00729440]
sub rsp, 0xffffffffffffff80
pop rbp
ret
lea rax, [0x00676f80]
call fcn.0040d680
mov qword [rsp + 0x78], rax
lea rbx, [0x006b7daa]
mov ecx, 0x18
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
xor eax, eax
nop dword [rax + rax]
call fcn.0044f620
mov rcx, qword [rsp + 0x78]
mov qword [rcx + 8], rbx
cmp dword [0x00921500], 0
je 0x4e7a26
call fcn.004665c0
mov qword [r11], rax
mov rdx, qword [rcx]
mov qword [r11 + 8], rdx
mov qword [rcx], rax
xor eax, eax
lea rbx, [0x00729440]
sub rsp, 0xffffffffffffff80
pop rbp
ret
lea rax, [0x00676f80]
nop
call fcn.0040d680
mov qword [rsp + 0x78], rax
lea rbx, [0x006b776a]
mov ecx, 0x17
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
xor eax, eax
call fcn.0044f620
mov rcx, qword [rsp + 0x78]
mov qword [rcx + 8], rbx
cmp dword [0x00921500], 0
je 0x4e7a8f
nop
call fcn.004665c0
mov qword [r11], rax
mov rdx, qword [rcx]
mov qword [r11 + 8], rdx
mov qword [rcx], rax
xor eax, eax
lea rbx, [0x00729440]
sub rsp, 0xffffffffffffff80
pop rbp
ret
lea rax, [0x00676f80]
call fcn.0040d680
mov qword [rsp + 0x78], rax
lea rbx, [0x006b7daa]
mov ecx, 0x18
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
xor eax, eax
call fcn.0044f620
mov rcx, qword [rsp + 0x78]
mov qword [rcx + 8], rbx
cmp dword [0x00921500], 0
je 0x4e7af6
call fcn.004665c0
mov qword [r11], rax
mov rdx, qword [rcx]
mov qword [r11 + 8], rdx
mov qword [rcx], rax
xor eax, eax
lea rbx, [0x00729440]
sub rsp, 0xffffffffffffff80
pop rbp
ret
lea rax, [0x00676f80]
call fcn.0040d680
mov qword [rsp + 0x78], rax
lea rbx, [0x006b7daa]
mov ecx, 0x18
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
xor eax, eax
call fcn.0044f620
mov rcx, qword [rsp + 0x78]
mov qword [rcx + 8], rbx
cmp dword [0x00921500], 0
je 0x4e7b5d
call fcn.004665c0
mov qword [r11], rax
mov rdx, qword [rcx]
mov qword [r11 + 8], rdx
mov qword [rcx], rax
xor eax, eax
lea rbx, [0x00729440]
sub rsp, 0xffffffffffffff80
pop rbp
ret
lea rax, [0x00676f80]
call fcn.0040d680
mov qword [rsp + 0x78], rax
lea rbx, [0x006b7daa]
mov ecx, 0x18
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
xor eax, eax
nop
call fcn.0044f620
mov rcx, qword [rsp + 0x78]
mov qword [rcx + 8], rbx
cmp dword [0x00921500], 0
je 0x4e7bc6
call fcn.004665c0
mov qword [r11], rax
mov rdx, qword [rcx]
mov qword [r11 + 8], rdx
mov qword [rcx], rax
xor eax, eax
lea rbx, [0x00729440]
sub rsp, 0xffffffffffffff80
pop rbp
ret
lea rax, [0x00676f80]
nop
call fcn.0040d680
mov qword [rsp + 0x78], rax
lea rbx, [0x006b7daa]
mov ecx, 0x18
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
xor eax, eax
call fcn.0044f620
mov rcx, qword [rsp + 0x78]
mov qword [rcx + 8], rbx
cmp dword [0x00921500], 0
je 0x4e7c2f
nop
call fcn.004665c0
mov qword [r11], rax
mov rdx, qword [rcx]
mov qword [r11 + 8], rdx
mov qword [rcx], rax
xor eax, eax
lea rbx, [0x00729440]
sub rsp, 0xffffffffffffff80
pop rbp
ret
xor ebx, ebx
xor ecx, ecx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rax, r10
mov rcx, r9
call fcn.00466960
call fcn.00435760
nop dword [rax + rax]
call fcn.00435760
mov rax, rsi
mov rcx, r9
call fcn.00466960
mov rax, rbx
mov rcx, r9
call fcn.00466960
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.004646a0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.004e7340