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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x45414f
push rbp
mov rbp, rsp
sub rsp, 0x60
mov rdx, rbx
sub rdx, rdi
nop dword [rax + rax]
test rbx, rbx
jl 0x45413b
mov rdi, qword [rsi]
test rdi, rdi
je 0x453ad7
lea r8, [rcx + rcx]
cmp rbx, r8
jg 0x453ad2
nop word [rax + rax]
cmp rcx, 0x100
jge 0x454112
jmp 0x4540e6
mov rcx, rbx
jmp 0x453ae7
lea rax, [0x01c09540]
mov rcx, rbx
add rsp, 0x60
pop rbp
ret
cmp rdi, 1
jne 0x453bc0
cmp rbx, 0x8000
jae 0x453b7e
nop
cmp rbx, 0x3f8
ja 0x453b42
lea rdi, [rbx + 7]
shr rdi, 3
cmp rdi, 0x81
jae 0x4540d9
lea r8, [0x01acf0c0]
movzx edi, byte [rdi + r8]
cmp rdi, 0x44
jae 0x4540cc
lea r8, [0x01acf2a0]
movzx edi, word [r8 + rdi*2]
jmp 0x453b9e
lea rdi, [rbx - 0x381]
shr rdi, 7
cmp rdi, 0xf9
jae 0x4540bf
lea r8, [0x01ad08a0]
movzx edi, byte [rdi + r8]
cmp rdi, 0x44
jae 0x4540b2
lea r8, [0x01acf2a0]
movzx edi, word [r8 + rdi*2]
jmp 0x453b9e
lea rdi, [rbx + 0x2000]
cmp rbx, rdi
jbe 0x453b8f
mov rdi, rbx
jmp 0x453b9e
lea rdi, [rbx + 0x1fff]
nop
and rdi, 0xffffffffffffe000
movabs r8, 0x1000000000000
cmp rbx, r8
seta r9b
mov rbx, rcx
mov r12, rdi
jmp 0x453f0c
cmp rdi, 8
jne 0x453cb4
mov rdi, rbx
shl rbx, 3
cmp rbx, 0x8000
jae 0x453c5e
nop
cmp rbx, 0x3f8
ja 0x453c22
lea r8, [rbx + 7]
shr r8, 3
cmp r8, 0x81
jae 0x4540a5
lea r9, [0x01acf0c0]
movzx r8d, byte [r8 + r9]
cmp r8, 0x44
jae 0x454093
lea r9, [0x01acf2a0]
movzx ebx, word [r9 + r8*2]
jmp 0x453c79
lea r8, [rbx - 0x381]
shr r8, 7
cmp r8, 0xf9
jae 0x454086
lea r9, [0x01ad08a0]
movzx r8d, byte [r8 + r9]
cmp r8, 0x44
jae 0x454079
lea r9, [0x01acf2a0]
movzx ebx, word [r9 + r8*2]
jmp 0x453c79
lea r8, [rbx + 0x2000]
cmp rbx, r8
ja 0x453c79
add rbx, 0x1fff
nop
and rbx, 0xffffffffffffe000
shl rdx, 3
mov r8, rcx
shl rcx, 3
mov r10, rbx
shr rbx, 3
movabs r11, 0x200000000000
cmp rdi, r11
seta r9b
mov rdi, r10
mov r12, rbx
mov rbx, r8
movabs r8, 0x1000000000000
jmp 0x453f0c
lea r8, [rdi - 1]
nop dword [rax + rax]
test rdi, r8
jne 0x453dc9
bsf rdi, rdi
mov r8, rcx
mov rcx, rdi
mov r9, rbx
shl rbx, cl
shl rdx, cl
mov r10, r8
shl r8, cl
cmp rbx, 0x8000
jae 0x453d78
cmp rbx, 0x3f8
ja 0x453d38
lea r11, [rbx + 7]
shr r11, 3
cmp r11, 0x81
jae 0x45406c
lea r12, [0x01acf0c0]
movzx r11d, byte [r11 + r12]
nop dword [rax]
cmp r11, 0x44
jae 0x45405f
lea r12, [0x01acf2a0]
movzx ebx, word [r12 + r11*2]
jmp 0x453d94
lea r11, [rbx - 0x381]
shr r11, 7
cmp r11, 0xf9
jae 0x454052
lea r12, [0x01ad08a0]
movzx r11d, byte [r11 + r12]
nop dword [rax]
cmp r11, 0x44
jae 0x454045
lea r12, [0x01acf2a0]
movzx ebx, word [r12 + r11*2]
jmp 0x453d94
lea r11, [rbx + 0x2000]
nop
cmp rbx, r11
ja 0x453d94
add rbx, 0x1fff
nop
and rbx, 0xffffffffffffe000
movabs r11, 0x1000000000000
shr r11, cl
shr rbx, cl
mov r12, rbx
shl rbx, cl
cmp r9, r11
seta r9b
mov rcx, r8
mov rdi, rbx
mov rbx, r10
movabs r8, 0x1000000000000
jmp 0x453f0c
imul rdx, rdi
mov qword [rsp + 0x30], rdx
mov r8, rcx
imul rcx, rdi
mov r9, rax
mov rax, rbx
mul rdi
cmp rax, 0x8000
jae 0x453ea7
cmp rax, 0x3f8
ja 0x453e4a
add rax, 7
shr rax, 3
nop
cmp rax, 0x81
jae 0x454039
lea rdx, [0x01acf0c0]
movzx eax, byte [rax + rdx]
nop word [rax + rax]
cmp rax, 0x44
jae 0x45402f
lea rdx, [0x01acf2a0]
movzx edx, word [rdx + rax*2]
mov qword [rsp + 0x50], rdx
mov rax, rbx
mul rdi
mov rax, qword [rsp + 0x50]
jmp 0x453ee4
add rax, 0xfffffffffffffc7f
shr rax, 7
nop word [rax + rax]
nop dword [rax]
cmp rax, 0xf9
jae 0x454025
lea rdx, [0x01ad08a0]
movzx eax, byte [rax + rdx]
nop word [rax + rax]
cmp rax, 0x44
jae 0x454017
lea rdx, [0x01acf2a0]
movzx edx, word [rdx + rax*2]
mov qword [rsp + 0x50], rdx
mov rax, rbx
mul rdi
mov rax, qword [rsp + 0x50]
jmp 0x453ee4
lea rdx, [rax + 0x2000]
cmp rax, rdx
jbe 0x453ec5
mov qword [rsp + 0x48], rax
mov rax, rbx
mul rdi
mov rax, qword [rsp + 0x48]
jmp 0x453ee4
lea rdx, [rax + 0x1fff]
nop
and rdx, 0xffffffffffffe000
mov qword [rsp + 0x18], rdx
mov rax, rbx
mul rdi
mov rax, qword [rsp + 0x18]
seto r10b
xor edx, edx
div rdi
imul rdi, rax
mov rbx, r8
movabs r8, 0x1000000000000
mov rdx, qword [rsp + 0x30]
mov r12, rax
mov rax, r9
mov r9d, r10d
test r9b, r9b
jne 0x454004
cmp rdi, r8
ja 0x454004
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], r12
cmp qword [rsi + 8], 0
jne 0x453f78
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x20], rcx
mov rax, rdi
xor ebx, ebx
xor ecx, ecx
call fcn.00410820
mov qword [rsp + 0x58], rax
mov rbx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x20]
sub rbx, rdx
add rdx, rax
mov rax, rdx
call fcn.00472fa0
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x58]
jmp 0x453fe0
mov qword [rsp + 0x90], rsi
mov rax, rdi
mov rbx, rsi
mov ecx, 1
call fcn.00410820
mov rcx, qword [rsp + 0x30]
test rcx, rcx
jbe 0x453fe0
cmp byte [0x01c09e00], 0
je 0x453fe0
mov qword [rsp + 0x58], rax
mov rdx, rax
mov rbx, qword [rsp + 0x70]
mov rsi, rbx
mov rdi, qword [rsp + 0x90]
mov r8, qword [rdi]
mov r9, rcx
sub r9, r8
add r9, qword [rdi + 8]
mov rax, rdx
mov rbx, rsi
mov rcx, r9
call fcn.00418ac0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x58], rax
mov rbx, qword [rsp + 0x70]
call fcn.004732a0
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x28]
add rsp, 0x60
pop rbp
ret
lea rax, [0x00ee20e0]
lea rbx, [0x01419700]
call fcn.0043d500
mov ecx, 0x44
nop dword [rax]
call fcn.004728a0
mov ecx, 0xf9
call fcn.004728c0
mov ecx, 0x44
call fcn.004728a0
mov ecx, 0x81
nop
call fcn.004728c0
mov rax, r11
mov ecx, 0x44
call fcn.004728a0
mov rax, r11
mov ecx, 0xf9
call fcn.004728c0
mov rax, r11
mov ecx, 0x44
call fcn.004728a0
mov rax, r11
mov ecx, 0x81
call fcn.004728c0
mov rax, r8
mov ecx, 0x44
call fcn.004728a0
mov rax, r8
mov ecx, 0xf9
call fcn.004728c0
mov rax, r8
mov ecx, 0x44
nop dword [rax + rax]
call fcn.004728a0
mov rax, r8
mov ecx, 0x81
call fcn.004728c0
mov rax, rdi
mov ecx, 0x44
call fcn.004728a0
mov rax, rdi
mov ecx, 0xf9
call fcn.004728c0
mov rax, rdi
mov ecx, 0x44
call fcn.004728a0
mov rax, rdi
mov ecx, 0x81
call fcn.004728c0
mov rcx, rbx
mov rbx, r8
jmp 0x453ae7
lea r8, [rcx + 0x300]
sar r8, 0x3f
shr r8, 0x3e
lea r8, [r8 + rcx]
lea r8, [r8 + 0x300]
sar r8, 2
add rcx, r8
test rcx, rcx
jle 0x454130
cmp rbx, rcx
jg 0x4540f1
nop dword [rax]
test rcx, rcx
jle 0x454130
mov r8, rcx
mov rcx, rbx
mov rbx, r8
jmp 0x454133
mov rcx, rbx
mov r8, rbx
mov rbx, rcx
jmp 0x4540e6
lea rax, [0x00ee20e0]
lea rbx, [0x01419700]
call fcn.0043d500
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
call fcn.004705e0
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]
jmp fcn.00453a80