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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x88]
nop dword [rax + rax]
cmp rax, qword [rcx + 0x10]
jbe 0x55f207
sub rsp, 0x108
mov qword [rsp + 0x100], rbp
lea rbp, [rsp + 0x100]
mov rdx, qword [rsp + 0x110]
mov rbx, qword [rdx + 0x30]
mov rsi, qword [rdx + 0x38]
mov r8, qword [rdx + 0x40]
test rsi, rsi
je 0x55f1dd
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
cmp rcx, 2
jl 0x55f1ba
cmp byte [r9], 0x2d
jne 0x55f1ba
lea rdi, [rdx + 0x30]
cmp byte [r9 + 1], 0x2d
jne 0x55f1b0
cmp rcx, 2
je 0x55f15b
mov eax, 2
nop word [rax + rax]
cmp rax, rcx
ja 0x55f201
mov r10, rcx
sub rcx, rax
mov r11, rcx
neg rcx
sar rcx, 0x3f
and rax, rcx
lea rcx, [rax + r9]
test r11, r11
je 0x55f0af
movzx r12d, byte [rax + r9]
cmp r12b, 0x2d
je 0x55f0af
nop dword [rax + rax]
cmp r12b, 0x3d
je 0x55f0af
dec rsi
mov qword [rdx + 0x38], rsi
lea rsi, [r8 - 1]
mov qword [rdx + 0x40], rsi
neg rsi
sar rsi, 0x3f
and rsi, 0x10
add rbx, rsi
cmp dword [0x00811460], 0
jne 0x55f0a5
mov qword [rdx + 0x30], rbx
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x70], r9
mov ebx, 1
jmp 0x55e834
inc rbx
cmp r11, rbx
jle 0x55f095
movzx esi, byte [rbx + rcx]
cmp sil, 0x3d
jne 0x55e831
sub r11, rbx
lea rsi, [r11 - 1]
mov r8, rsi
neg rsi
sar rsi, 0x3f
lea r10, [rbx + 1]
and r10, rsi
lea rsi, [rcx + r10]
mov r10d, 1
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x68], rsi
mov byte [rsp + 0x47], r10b
mov rax, qword [rdx + 0x28]
lea rdi, [0x0061cde0]
mov qword [rsp], rdi
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rbx
call fcn.00414100
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
cmp byte [rsp + 0x28], 0
jne 0x55e9f5
mov rax, qword [rsp + 0x50]
nop dword [rax]
cmp rax, 4
jne 0x55e9e6
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
mov ebx, dword [rdx + rcx]
cmp ebx, 0x706c6568
jne 0x55e926
mov rax, qword [rsp + 0x110]
mov qword [rsp], rax
call fcn.0055e6a0
mov rax, qword [0x007ccd80]
mov rcx, qword [0x007ccd88]
mov byte [rsp + 0x118], 0
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rcx
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
cmp rax, 1
jne 0x55e935
movzx ecx, byte [rcx + rdx]
cmp cl, 0x68
je 0x55e8df
xorps xmm0, xmm0
movups xmmword [rsp + 0xa0], xmm0
mov rcx, qword [rsp + 0x78]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.0040b600
mov rax, qword [rsp + 0x10]
lea rcx, [0x00613e40]
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp], rax
lea rax, [0x00664178]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 0x22
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], 1
mov qword [rsp + 0x28], 1
call fcn.0055e560
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov byte [rsp + 0x118], 0
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rcx
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
jmp 0x55e926
mov qword [rsp + 0x80], rax
mov rcx, qword [rax + 0x20]
mov rdx, qword [rax + 0x28]
lea rbx, [0x00625c20]
mov qword [rsp], rbx
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
call fcn.0040ba60
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
cmp byte [rsp + 0x28], 0
jne 0x55f067
xor edx, edx
test dl, dl
je 0x55eda4
movzx edx, byte [rsp + 0x47]
test dl, dl
je 0x55ec78
mov rax, qword [rax + 0x20]
mov qword [rsp], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 8], rcx
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x10], rdx
call rax
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
cmp qword [rsp + 0x18], 0
jne 0x55eb42
mov rax, qword [rsp + 0x110]
cmp qword [rax + 0x20], 0
je 0x55eb08
mov rax, qword [rax + 0x20]
lea rcx, [0x0061cde0]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x18], rax
call fcn.004145c0
mov rdi, qword [rsp + 0x20]
test byte [rdi], al
cmp dword [0x00811460], 0
jne 0x55eaf9
mov rax, qword [rsp + 0x80]
mov qword [rdi], rax
mov byte [rsp + 0x118], 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x120], xmm0
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
mov rax, qword [rsp + 0x80]
call fcn.0046c920
jmp 0x55ead6
call fcn.0040f1c0
mov rax, qword [rsp]
cmp dword [0x00811460], 0
jne 0x55eb2e
mov rcx, qword [rsp + 0x110]
mov qword [rcx + 0x20], rax
mov rax, rcx
jmp 0x55ea8e
mov rcx, qword [rsp + 0x110]
lea rdi, [rcx + 0x20]
call fcn.0046c920
nop
jmp 0x55eb26
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x88], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0xd0], xmm0
movups xmmword [rsp + 0xe0], xmm0
movups xmmword [rsp + 0xf0], xmm0
mov rax, qword [rsp + 0x68]
mov qword [rsp], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 8], rax
call fcn.0040b600
mov rax, qword [rsp + 0x10]
lea rcx, [0x00613e40]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 8], rax
call fcn.0040b600
mov rax, qword [rsp + 0x10]
lea rcx, [0x00613e40]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x88]
nop dword [rax]
test rax, rax
je 0x55ebe9
mov rax, qword [rax + 8]
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp], rax
lea rax, [0x00664d18]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 0x24
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], 3
mov qword [rsp + 0x28], 3
call fcn.0055e560
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov byte [rsp + 0x118], 0
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rcx
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
mov rax, qword [rax + 0x20]
mov qword [rsp], rcx
lea rcx, [0x0065a697]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], 4
call rax
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
cmp qword [rsp + 0x18], 0
je 0x55ea7f
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0xb0], xmm0
movups xmmword [rsp + 0xc0], xmm0
mov rax, qword [rsp + 0x78]
mov qword [rsp], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 8], rax
call fcn.0040b600
mov rax, qword [rsp + 0x10]
lea rcx, [0x00613e40]
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x55ed15
mov rax, qword [rax + 8]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp], rax
lea rax, [0x006618f5]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 0x1b
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], 2
mov qword [rsp + 0x28], 2
call fcn.0055e560
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov byte [rsp + 0x118], 0
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rcx
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
movzx eax, byte [rsp + 0x47]
test al, al
je 0x55eff8
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x68]
nop dword [rax + rax]
test al, al
je 0x55ef41
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x68], rdx
mov rax, qword [rsp + 0x80]
mov rbx, qword [rax + 0x20]
mov rsi, qword [rax + 0x28]
mov rbx, qword [rbx + 0x18]
mov qword [rsp], rsi
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rcx
call rbx
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
cmp qword [rsp + 0x18], 0
je 0x55ea7f
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0xd0], xmm0
movups xmmword [rsp + 0xe0], xmm0
movups xmmword [rsp + 0xf0], xmm0
mov rax, qword [rsp + 0x68]
mov qword [rsp], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 8], rax
call fcn.0040b600
mov rax, qword [rsp + 0x10]
lea rcx, [0x00613e40]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 8], rax
nop
call fcn.0040b600
mov rax, qword [rsp + 0x10]
lea rcx, [0x00613e40]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x55eeb2
mov rax, qword [rax + 8]
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp], rax
lea rax, [0x00663bff]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 0x21
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], 3
mov qword [rsp + 0x28], 3
call fcn.0055e560
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov byte [rsp + 0x118], 0
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rcx
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
xorps xmm0, xmm0
movups xmmword [rsp + 0xa0], xmm0
mov rax, qword [rsp + 0x78]
mov qword [rsp], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 8], rax
nop
call fcn.0040b600
mov rax, qword [rsp + 0x10]
lea rcx, [0x00613e40]
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp], rax
lea rax, [0x00661889]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 0x1b
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], 1
mov qword [rsp + 0x28], 1
call fcn.0055e560
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov byte [rsp + 0x118], 0
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rcx
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
mov rcx, qword [rsp + 0x110]
mov rdx, qword [rcx + 0x30]
mov rbx, qword [rcx + 0x38]
mov rsi, qword [rcx + 0x40]
test rbx, rbx
jle 0x55edb1
mov rax, qword [rdx]
mov r8, qword [rdx + 8]
dec rbx
mov qword [rcx + 0x38], rbx
lea rbx, [rsi - 1]
mov qword [rcx + 0x40], rbx
neg rbx
sar rbx, 0x3f
and rbx, 0x10
add rdx, rbx
cmp dword [0x00811460], 0
jne 0x55f056
mov qword [rcx + 0x30], rdx
mov rcx, r8
mov rdx, rax
mov eax, 1
jmp 0x55edc0
mov rdi, qword [rsp + 0x98]
nop
call fcn.0046ca40
jmp 0x55f046
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x90], rcx
mov rdx, qword [rax + 0x18]
mov qword [rsp], rcx
call rdx
movzx edx, byte [rsp + 8]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x90]
jmp 0x55ea36
mov rbx, r11
xor r10d, r10d
xor r8d, r8d
xor esi, esi
jmp 0x55e869
call fcn.0046ca60
jmp 0x55e818
xorps xmm0, xmm0
movups xmmword [rsp + 0xa0], xmm0
mov qword [rsp], r9
mov qword [rsp + 8], r10
call fcn.0040b600
mov rax, qword [rsp + 0x10]
lea rcx, [0x00613e40]
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp], rax
lea rax, [0x0065e346]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 0x13
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], 1
mov qword [rsp + 0x28], 1
call fcn.0055e560
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov byte [rsp + 0x118], 0
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rcx
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
lea rax, [rsi - 1]
mov qword [rdx + 0x38], rax
lea rax, [r8 - 1]
mov qword [rdx + 0x40], rax
neg rax
sar rax, 0x3f
and rax, 0x10
add rax, rbx
cmp dword [0x00811460], 0
jne 0x55f1a9
mov qword [rdx + 0x30], rax
mov byte [rsp + 0x118], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x120], xmm0
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
call fcn.0046c920
jmp 0x55f186
mov eax, 1
jmp 0x55e7a0
mov byte [rsp + 0x118], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x120], xmm0
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
mov byte [rsp + 0x118], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x120], xmm0
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
nop
ret
call fcn.0046ce80
nop
call fcn.0046abe0
jmp fcn.0055e700