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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x58]
cmp rax, qword [rcx + 0x10]
jbe 0x454560
sub rsp, 0xd8
mov qword [rsp + 0xd0], rbp
lea rbp, [rsp + 0xd0]
mov rdx, qword [rsp + 0xe0]
mov rbx, qword [rdx]
mov esi, dword [rbx]
mov dword [rsp + 0x24], esi
cmp esi, 0xfffffffa
jne 0x454497
cmp byte [rbx + 4], 0
jne 0x454497
cmp byte [rbx + 5], 0
nop
jne 0x454497
cmp byte [rbx + 6], 1
jne 0x454497
cmp byte [rbx + 7], 8
jne 0x454497
mov rbx, qword [rdx + 0x80]
mov rcx, qword [rdx + 0x88]
lea rsi, [rcx - 1]
xor eax, eax
jmp 0x453f13
mov rax, r10
cmp rsi, rax
jle 0x45422d
mov rdi, rax
shl rax, 4
mov r8, qword [rax + rbx]
lea r9, [rdi + 1]
cmp r9, rcx
jae 0x45448f
mov r10, r9
shl r9, 4
mov r11, qword [rbx + r9]
nop
cmp r11, r8
jae 0x453f10
mov rcx, qword [rdx + 0x70]
mov r8, qword [rdx + 0x68]
mov r11, qword [rax + rbx + 8]
cmp rcx, r11
jbe 0x454487
add r11, r8
mov rbx, qword [r9 + rbx + 8]
cmp rcx, rbx
jbe 0x45447f
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x60], rax
lea rcx, [rbx + r8]
cmp rsi, r10
jg 0x4541f8
mov ecx, 3
lea rbx, [0x0065a4a2]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x80], rbx
mov qword [rsp], r11
mov qword [rsp + 8], rdx
call fcn.004550e0
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0xe0]
mov rbx, qword [rdx + 0x88]
mov rsi, qword [rdx + 0x80]
mov rdi, qword [rsp + 0x78]
nop dword [rax]
cmp rbx, rdi
jbe 0x454474
mov r8, qword [rsp + 0x60]
mov r8, qword [r8 + rsi]
mov r9, qword [rsp + 0x70]
nop word [rax + rax]
cmp rbx, r9
jbe 0x454469
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x58], r8
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + rsi]
mov qword [rsp + 0x50], rax
call fcn.0043aa00
lea rax, [0x00668213]
mov qword [rsp], rax
mov qword [rsp + 8], 0x35
call fcn.0043b480
mov rax, qword [rsp + 0x58]
mov qword [rsp], rax
call fcn.0043b2a0
call fcn.0043ac80
mov rax, qword [rsp + 0xa0]
mov qword [rsp], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 8], rax
call fcn.0043b480
lea rax, [0x0065a367]
mov qword [rsp], rax
mov qword [rsp + 8], 3
call fcn.0043b480
mov rax, qword [rsp + 0x50]
mov qword [rsp], rax
call fcn.0043b2a0
nop dword [rax]
call fcn.0043ac80
mov rax, qword [rsp + 0x80]
mov qword [rsp], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 8], rax
nop dword [rax + rax]
call fcn.0043b480
call fcn.0043ace0
call fcn.0043aaa0
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xe0]
xor edx, edx
nop
jmp 0x45416c
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + rsi]
mov qword [rsp + 0x58], rax
call fcn.0043aa00
lea rax, [0x0066a7f0]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call fcn.0043b480
mov rax, qword [rsp + 0x58]
mov qword [rsp], rax
call fcn.0043b2a0
call fcn.0043ac80
mov rax, qword [rsp + 0xa0]
mov qword [rsp], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 8], rax
call fcn.0043b480
call fcn.0043ace0
call fcn.0043aaa0
mov rax, qword [rsp + 0x70]
lea rdx, [rax + 1]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xe0]
cmp rax, rdx
jl 0x454450
mov rbx, qword [rcx + 0x70]
mov rsi, qword [rcx + 0x68]
mov rdi, qword [rcx + 0x88]
mov r8, qword [rcx + 0x80]
cmp rdx, rdi
jae 0x454445
mov rdi, rdx
shl rdx, 4
mov r8, qword [rdx + r8 + 8]
cmp r8, rbx
jae 0x454437
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x68], rdx
lea rax, [rsi + r8]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.004550e0
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0xe0]
mov rbx, qword [rdx + 0x88]
mov rsi, qword [rdx + 0x80]
mov rdi, qword [rsp + 0x70]
cmp rbx, rdi
ja 0x4540e5
jmp 0x45442c
mov qword [rsp + 0x98], r11
mov qword [rsp], rcx
mov qword [rsp + 8], rdx
call fcn.004550e0
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0xe0]
mov r11, qword [rsp + 0x98]
jmp 0x453f99
mov rdi, qword [rdx + 0xa0]
test rcx, rcx
jbe 0x454425
nop dword [rax]
cmp qword [rbx], rdi
jne 0x454409
shl rsi, 4
mov rax, qword [rsi + rbx]
cmp qword [rdx + 0xa8], rax
jne 0x454409
mov rax, qword [rdx + 0x1c8]
mov rcx, qword [rdx + 0x1c0]
test rax, rax
jle 0x454329
mov qword [rsp + 0x78], rax
xor ebx, ebx
jmp 0x45429d
mov rsi, qword [rsp + 0x90]
add rsi, 0x28
mov rdx, qword [rsp + 0xe0]
mov rcx, rsi
mov rbx, rax
mov rax, qword [rsp + 0x78]
mov rsi, qword [rcx]
mov qword [rsp + 0xa8], rsi
movups xmm0, xmmword [rcx + 8]
movups xmmword [rsp + 0xb0], xmm0
movups xmm0, xmmword [rcx + 0x18]
movups xmmword [rsp + 0xc0], xmm0
mov rsi, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0xc0]
mov r8, qword [rsp + 0xb8]
mov r9, qword [rsi]
nop dword [rax + rax]
cmp qword [rsi + 8], rdi
jne 0x454341
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x90], rcx
mov qword [rsp], r8
mov qword [rsp + 8], r9
mov qword [rsp + 0x10], rdi
call fcn.00402a40
cmp byte [rsp + 0x18], 0
je 0x454339
mov rax, qword [rsp + 0x70]
inc rax
mov rcx, qword [rsp + 0x78]
nop word [rax + rax]
cmp rcx, rax
jg 0x45427e
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov rdx, qword [rsp + 0xe0]
mov rax, qword [rdx + 0x1b0]
mov qword [rsp + 0xa0], rax
mov rcx, qword [rdx + 0x1b8]
mov qword [rsp + 0x78], rcx
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0x88], rdx
mov rbx, qword [rsp + 0xb0]
mov qword [rsp + 0x70], rbx
call fcn.0043aa00
lea rax, [0x00662ab6]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1e
call fcn.0043b480
mov rax, qword [rsp + 0xa0]
mov qword [rsp], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 8], rax
call fcn.0043b480
lea rax, [0x0065a6ca]
mov qword [rsp], rax
mov qword [rsp + 8], 5
call fcn.0043b480
mov rax, qword [rsp + 0x88]
mov qword [rsp], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 8], rax
call fcn.0043b480
call fcn.0043ace0
call fcn.0043aaa0
lea rax, [0x0065c083]
mov qword [rsp], rax
mov qword [rsp + 8], 0xc
call fcn.00439220
lea rax, [0x0065f820]
mov qword [rsp], rax
mov qword [rsp + 8], 0x16
nop dword [rax]
call fcn.00439220
xor eax, eax
call fcn.0046cdc0
mov rax, rdi
mov rcx, rbx
call fcn.0046cdc0
mov rax, r8
mov rcx, rbx
nop dword [rax]
call fcn.0046cde0
mov rax, rdx
mov rcx, rdi
call fcn.0046cdc0
lea rax, [0x00661f32]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1c
call fcn.00439220
mov rax, r9
mov rcx, rbx
call fcn.0046cdc0
mov rax, rdi
mov rcx, rbx
call fcn.0046cdc0
mov rax, rbx
call fcn.0046cde0
mov rax, r11
call fcn.0046cde0
mov rax, r9
call fcn.0046cdc0
movzx eax, byte [rbx + 4]
mov qword [rsp + 0x48], rax
movzx ecx, byte [rbx + 5]
mov qword [rsp + 0x40], rcx
movzx edx, byte [rbx + 6]
mov qword [rsp + 0x38], rdx
movzx ebx, byte [rbx + 7]
mov qword [rsp + 0x30], rbx
nop dword [rax + rax]
call fcn.0043aa00
lea rax, [0x00665ad1]
mov qword [rsp], rax
mov qword [rsp + 8], 0x27
call fcn.0043b480
mov eax, dword [rsp + 0x24]
mov qword [rsp], rax
call fcn.0043b2a0
call fcn.0043ac80
mov rax, qword [rsp + 0x48]
mov qword [rsp], rax
call fcn.0043b2a0
nop
call fcn.0043ac80
mov rax, qword [rsp + 0x40]
mov qword [rsp], rax
call fcn.0043b2a0
call fcn.0043ac80
mov rax, qword [rsp + 0x38]
mov qword [rsp], rax
call fcn.0043b2a0
call fcn.0043ac80
mov rax, qword [rsp + 0x30]
mov qword [rsp], rax
call fcn.0043b2a0
call fcn.0043ace0
nop
call fcn.0043aaa0
lea rax, [0x00662be2]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1e
call fcn.00439220
nop
nop
call fcn.0046abe0
jmp fcn.00453e80