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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x68]
cmp rax, qword [rcx + 0x10]
jbe 0x55f754
sub rsp, 0xe8
mov qword [rsp + 0xe0], rbp
lea rbp, [rsp + 0xe0]
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0xf8]
cmp rax, rcx
jge 0x55f69f
jae 0x55f698
mov rdx, qword [rsp + 0xf0]
movzx ebx, byte [rdx + rax]
inc rax
mov esi, ebx
shr bl, 6
movzx ebx, bl
mov qword [rsp + 0x60], rbx
mov edi, esi
and esi, 0x20
cmp sil, 0x20
sete sil
mov byte [rsp + 0x47], sil
and edi, 0x1f
cmp rdi, 0x1f
je 0x55f50e
xor r8d, r8d
mov r9, r8
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rdi
cmp rax, rcx
jge 0x55f455
jae 0x55f44e
movzx r10d, byte [rdx + rax]
inc rax
mov qword [rsp + 0x58], rax
test r10b, 0x80
je 0x55f442
and r10d, 0x7f
test r10, r10
je 0x55f389
xor r11d, r11d
xor r12d, r12d
cmp r11, r10
jge 0x55f030
cmp rax, rcx
jge 0x55f2c5
jae 0x55f2be
lea r13, [rax + 1]
movzx eax, byte [rdx + rax]
cmp r12, 0x800000
jge 0x55f1fa
shl r12, 8
or rax, r12
test rax, rax
je 0x55f136
inc r11
mov r12, rax
mov rax, r13
cmp r11, r10
jl 0x55efee
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], r12
cmp r12, 0x80
jl 0x55f08b
mov qword [rsp + 0x110], rbx
mov qword [rsp + 0x118], rdi
mov qword [rsp + 0x120], r12
mov byte [rsp + 0x128], sil
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], r9
mov qword [rsp + 0x140], r8
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 0
lea rcx, [0x006d36de]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], 0x12
lea rcx, [0x007e5800]
mov qword [rsp], rcx
lea rcx, [rsp + 0x70]
mov qword [rsp + 8], rcx
call fcn.0040cd80
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x110], rdx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x118], rdx
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x120], rdx
movzx edx, byte [rsp + 0x47]
mov byte [rsp + 0x128], dl
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], rcx
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
lea rcx, [0x006d9c25]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], 0x23
lea rcx, [0x007e5800]
mov qword [rsp], rcx
lea rcx, [rsp + 0x80]
mov qword [rsp + 8], rcx
call fcn.0040cd80
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x110], rdx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x118], rdx
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x120], rdx
movzx edx, byte [rsp + 0x47]
mov byte [rsp + 0x128], dl
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], rcx
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 0
lea rax, [0x006d2c89]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], 0x10
lea rax, [0x007e5800]
mov qword [rsp], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 8], rax
call fcn.0040cd80
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x110], rdx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x118], rdx
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x120], rdx
movzx edx, byte [rsp + 0x47]
mov byte [rsp + 0x128], dl
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], rcx
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
call fcn.004293e0
ud2
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], r12
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], 0
lea rcx, [0x006d5912]
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], 0x17
lea rcx, [0x007e5840]
mov qword [rsp], rcx
lea rcx, [rsp + 0xa0]
mov qword [rsp + 8], rcx
call fcn.0040cd80
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x110], rdx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x118], rdx
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x120], rdx
movzx edx, byte [rsp + 0x47]
mov byte [rsp + 0x128], dl
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x140], rax
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], 0
lea rcx, [0x006d90db]
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], 0x21
lea rcx, [0x007e5840]
mov qword [rsp], rcx
lea rcx, [rsp + 0xb0]
mov qword [rsp + 8], rcx
call fcn.0040cd80
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x110], rdx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x120], 0
movzx edx, byte [rsp + 0x47]
mov byte [rsp + 0x128], dl
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x140], rax
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
and r10d, 0x7f
mov r12, r10
jmp 0x55f043
call fcn.004293e0
ud2
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
lea rcx, [0x006d5912]
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], 0x17
lea rcx, [0x007e5840]
mov qword [rsp], rcx
lea rcx, [rsp + 0xc0]
mov qword [rsp + 8], rcx
call fcn.0040cd80
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x110], rdx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x120], 0
movzx edx, byte [rsp + 0x47]
mov byte [rsp + 0x128], dl
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], rcx
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
mov rdi, qword [rsp + 0x100]
mov qword [rsp + 0x10], rdi
mov qword [rsp + 0x18], rax
call fcn.0055e1d0
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov qword [rsp + 0x50], rdx
mov rbx, qword [rsp + 0x38]
test rcx, rcx
jne 0x55f643
cmp rax, 0x1f
jl 0x55f58a
mov rdx, qword [rsp + 0xf0]
movzx esi, byte [rsp + 0x47]
mov rax, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
mov r8, rbx
mov r9, rcx
mov rcx, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x60]
jmp 0x55efa6
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xd8], 0
lea rcx, [0x006d2709]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], 0xf
lea rcx, [0x007e5840]
mov qword [rsp], rcx
lea rcx, [rsp + 0xd0]
mov qword [rsp + 8], rcx
call fcn.0040cd80
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x110], rdx
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x120], 0
movzx edx, byte [rsp + 0x47]
mov byte [rsp + 0x128], dl
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x140], rax
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0x110], rsi
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], 0
movzx eax, byte [rsp + 0x47]
mov byte [rsp + 0x128], al
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x140], rbx
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
call fcn.004293e0
ud2
lea rcx, [0x0068d4a0]
mov qword [rsp], rcx
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0x68], rax
mov qword [rax + 8], 0x29
mov ecx, dword [0x008b4340]
test ecx, ecx
jne 0x55f738
lea rcx, [0x006db096]
mov qword [rax], rcx
mov qword [rsp + 0x110], 0
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x120], 0
mov byte [rsp + 0x128], 0
mov rcx, qword [rsp + 0x108]
mov qword [rsp + 0x130], rcx
lea rcx, [0x007e49c0]
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x140], rax
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
mov qword [rsp], rax
lea rcx, [0x006db096]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x68]
jmp 0x55f6d5
call fcn.00452210
jmp fcn.0055ef10