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

Disassembly:
lea r12, [rsp - 0x140]
cmp r12, qword [r14 + 0x10]
jbe 0x60bcdf
sub rsp, 0x1c0
mov qword [rsp + 0x1b8], rbp
lea rbp, [rsp + 0x1b8]
mov qword [rsp + 0x1e0], rdi
mov qword [rax + 0x158], 0
mov qword [rax + 0x168], 0
mov byte [rax + 0x170], 0
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x60b826
mov qword [rsp + 0x1e0], rdi
mov byte [rsp + 0x1d8], cl
mov qword [rsp + 0x1c8], rax
mov qword [rsp + 0x1f0], r8
mov qword [rsp + 0x1d0], rbx
mov qword [rsp + 0x1e8], rsi
mov r9, qword [rbx + 0x88]
mov r10, qword [rbx + 0x80]
test r9, r9
jne 0x60b545
mov r10, qword [rdx + 0x28]
mov r9, qword [rdx + 0x30]
mov rax, r10
mov rbx, r9
call fcn.005ecba0
test rcx, rcx
jne 0x60b809
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0xa0], rax
mov rdx, qword [rsp + 0x1d0]
mov rsi, qword [rdx]
cmp qword [rdx + 8], 7
jne 0x60b594
cmp dword [rsi], 0x4e4e4f43
nop
jne 0x60b594
cmp word [rsi + 4], 0x4345
jne 0x60b594
cmp byte [rsi + 6], 0x54
je 0x60b7ba
mov rax, qword [rdx + 0x10]
call fcn.00576320
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x48], rbx
test rbx, rbx
je 0x60b5c7
cmp byte [rax], 0x2f
je 0x60b68b
cmp rbx, 1
jne 0x60b5c7
cmp byte [rax], 0x2a
je 0x60b68b
mov rdx, qword [rsp + 0x1d0]
mov r10, qword [rdx + 0x10]
mov rbx, qword [r10]
mov rcx, qword [r10 + 8]
lea rax, [rsp + 0x68]
lea rdi, [0x006a4343]
mov esi, 3
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x58]
call fcn.0044e800
mov rcx, qword [rsp + 0x48]
cmp rbx, rcx
jle 0x60b60b
xor eax, eax
jmp 0x60b62f
mov qword [rsp + 0x40], rbx
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x90]
nop
call fcn.00402d80
mov rcx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
test al, al
je 0x60b65d
cmp rbx, rcx
ja 0x60bcd6
mov rdx, rcx
sub rcx, rbx
mov rsi, rcx
neg rcx
sar rcx, 0x3f
and rbx, rcx
mov rax, qword [rsp + 0x90]
lea r8, [rbx + rax]
jmp 0x60b66e
mov rax, qword [rsp + 0x90]
mov rdx, rcx
mov rsi, rdx
mov r8, rax
test rsi, rsi
je 0x60b69e
cmp byte [r8], 0x2f
je 0x60b685
cmp rsi, 1
jne 0x60b69e
cmp byte [r8], 0x2a
jne 0x60b69e
mov rbx, rsi
mov rax, r8
mov rdx, qword [rsp + 0x1d0]
mov rcx, rbx
mov rsi, rax
jmp 0x60b7be
mov rcx, qword [rsp + 0x1d0]
mov rsi, qword [rcx + 0x10]
cmp qword [rsi + 0x18], 0
je 0x60b754
movups xmmword [rsp + 0xc8], xmm15
movups xmmword [rsp + 0xd8], xmm15
mov rbx, rdx
call fcn.0040afc0
lea rcx, [0x006576e0]
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
mov rdx, qword [rsp + 0x1d0]
mov rdx, qword [rdx + 0x10]
mov rax, qword [rdx + 0x10]
mov rbx, qword [rdx + 0x18]
call fcn.0040afc0
lea rcx, [0x006576e0]
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], rax
lea rax, [0x006b3aff]
mov ebx, 0x2d
lea rcx, [rsp + 0xc8]
mov edi, 2
mov rsi, rdi
call fcn.004f54c0
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
mov rbp, qword [rsp + 0x1b8]
add rsp, 0x1c0
ret
movups xmmword [rsp + 0xa8], xmm15
mov rbx, rdx
call fcn.0040afc0
lea rcx, [0x006576e0]
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rax
lea rax, [0x006ab759]
mov ebx, 0x18
lea rcx, [rsp + 0xa8]
mov edi, 1
mov rsi, rdi
call fcn.004f54c0
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
mov rbp, qword [rsp + 0x1b8]
add rsp, 0x1c0
ret
xor ecx, ecx
xor esi, esi
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x90], rsi
mov rbx, qword [rdx + 0x38]
lea rdi, [rsp + 0x158]
lea rdi, [rdi - 0x20]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00465c0b
mov rbp, qword [rbp]
lea rax, [0x00693760]
lea rcx, [rsp + 0x158]
call fcn.0040f920
jmp 0x60b858
xor eax, eax
xor ebx, ebx
mov rsi, rdi
mov rdi, rcx
mov rcx, rbx
mov rbp, qword [rsp + 0x1b8]
add rsp, 0x1c0
ret
mov rdi, qword [0x0089d960]
mov rsi, qword [0x0089d968]
xor eax, eax
xor ebx, ebx
mov rcx, rbx
mov rbp, qword [rsp + 0x1b8]
add rsp, 0x1c0
ret
lea rax, [rsp + 0x158]
call fcn.0040fba0
mov rsi, qword [rsp + 0x158]
test rsi, rsi
je 0x60b8d7
mov rdx, qword [rsp + 0x160]
mov rbx, qword [rsi + 8]
mov rax, qword [rsi]
mov rsi, qword [rdx]
mov rdx, qword [rdx + 8]
nop dword [rax + rax]
test rbx, rbx
jne 0x60b890
lea r9, [0x00866dc0]
xor ecx, ecx
jmp 0x60b8c8
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x98], rax
xor ecx, ecx
jmp 0x60bb40
lea r9, [0x00866dc0]
xor ecx, ecx
jmp 0x60b8c8
lea r9, [0x00866dc0]
mov ecx, 1
test cl, cl
je 0x60bbad
xor ecx, ecx
jmp 0x60bc20
lea rdi, [rsp + 0x108]
lea rdi, [rdi - 0x30]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00465c10
mov rbp, qword [rbp]
lea rcx, [0x0060bea0]
mov qword [rsp + 0x108], rcx
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 0x110], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x118], rcx
mov rcx, qword [rsp + 0x1d0]
mov qword [rsp + 0x120], rcx
mov rbx, qword [rsp + 0x90]
mov qword [rsp + 0x128], rbx
mov rbx, qword [rsp + 0x48]
mov qword [rsp + 0x130], rbx
mov rbx, qword [rsp + 0x1e0]
mov qword [rsp + 0x138], rbx
mov rbx, qword [rsp + 0x1e8]
mov qword [rsp + 0x140], rbx
mov rbx, qword [rsp + 0x1f0]
mov qword [rsp + 0x148], rbx
movzx ebx, byte [rsp + 0x1d8]
mov byte [rsp + 0x150], bl
mov qword [rsp + 0x60], 0
movups xmmword [rsp + 0xb8], xmm15
lea rbx, [0x0060be80]
mov qword [rsp + 0xb8], rbx
lea rbx, [rsp + 0x60]
mov qword [rsp + 0xc0], rbx
mov rbx, qword [rsp + 0x108]
lea rax, [rsp + 0xb8]
lea rdx, [rsp + 0x108]
call rbx
mov rcx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x1c8]
cmp qword [rbx + 0x110], rcx
jb 0x60bb0f
nop
mov rdx, qword [rsp + 0x1d0]
mov rsi, qword [rdx + 0xe8]
mov rdx, qword [rdx + 0xf0]
test rsi, rsi
jne 0x60ba1b
nop
mov rdx, qword [0x0089c338]
lea rsi, [0x0071b0c8]
nop
mov rsi, qword [rsi + 0x30]
mov rax, rdx
lea rbx, [0x00665420]
lea rcx, [0x008f2a98]
call rsi
lea rdx, [0x00668020]
cmp rax, rdx
je 0x60ba41
xor ebx, ebx
nop
test rbx, rbx
je 0x60ba51
cmp qword [rbx + 0x60], 0
setne cl
jmp 0x60ba53
xor ecx, ecx
movups xmmword [rsp + 0xe8], xmm15
mov byte [rsp + 0xf8], 0
mov qword [rsp + 0x100], 0
lea rsi, [0x0060bd40]
mov qword [rsp + 0xe8], rsi
mov rsi, qword [rsp + 0x1c8]
mov qword [rsp + 0xf0], rsi
mov byte [rsp + 0xf8], cl
mov qword [rsp + 0x100], rbx
mov rcx, qword [rsp + 0x108]
lea rax, [rsp + 0xe8]
lea rdx, [rsp + 0x108]
call rcx
mov rcx, qword [rsp + 0x1c8]
mov rbx, qword [rcx + 0x158]
mov rsi, qword [rcx + 0x150]
mov rdi, qword [rcx + 0x160]
mov rax, qword [rcx + 0x168]
nop dword [rax]
cmp rax, rbx
ja 0x60bb34
sub rdi, rax
sub rbx, rax
mov rcx, rdi
neg rdi
sar rdi, 0x3f
and rax, rdi
add rax, rsi
xor edi, edi
xor esi, esi
mov rbp, qword [rsp + 0x1b8]
add rsp, 0x1c0
ret
mov rdi, qword [0x0089d9e0]
mov rsi, qword [0x0089d9e8]
xor eax, eax
xor ebx, ebx
mov rcx, rbx
mov rbp, qword [rsp + 0x1b8]
add rsp, 0x1c0
ret
mov rcx, rbx
call fcn.00465a00
mov rcx, r8
nop
cmp rcx, rbx
jge 0x60b8bc
movzx edi, byte [rax + rcx]
cmp edi, 0x80
jge 0x60bb5b
lea r8, [rcx + 1]
jmp 0x60bb84
nop dword [rax + rax]
call fcn.0045d080
mov rdx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x88]
mov edi, eax
mov r8, rbx
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x50]
movsxd rdi, edi
cmp rdi, 0x7f
jge 0x60b8b1
jae 0x60bcc9
lea r9, [0x00866dc0]
movzx edi, byte [r9 + rdi]
test dil, dil
jne 0x60bb3c
jmp 0x60b8b8
movups xmmword [rsp + 0xa8], xmm15
call fcn.0040afc0
lea rcx, [0x006576e0]
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rax
lea rax, [0x006acc63]
mov ebx, 0x1b
lea rcx, [rsp + 0xa8]
mov edi, 1
mov rsi, rdi
call fcn.004f54c0
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
mov rbp, qword [rsp + 0x1b8]
add rsp, 0x1c0
ret
lea rsi, [rdi + 0x10]
inc rcx
nop word [rax + rax]
cmp rcx, rdx
jge 0x60b84b
mov rdi, rsi
mov r8, qword [rsi]
mov rsi, qword [rsi + 8]
xor r10d, r10d
jmp 0x60bc40
inc r10
nop dword [rax + rax]
cmp r10, rsi
jge 0x60bc10
movzx r11d, byte [r10 + r8]
cmp r11b, 0x20
jb 0x60bc5a
cmp r11b, 0x7f
jne 0x60bc38
cmp r11b, 0x20
je 0x60bc38
nop dword [rax]
cmp r11b, 9
je 0x60bc38
movups xmmword [rsp + 0xa8], xmm15
call fcn.0040afc0
lea rcx, [0x006576e0]
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rax
lea rax, [0x006b1e5c]
mov ebx, 0x27
lea rcx, [rsp + 0xa8]
mov edi, 1
mov rsi, rdi
call fcn.004f54c0
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
mov rbp, qword [rsp + 0x1b8]
add rsp, 0x1c0
ret
mov rax, rdi
mov ecx, 0x7f
call fcn.00465940
mov rax, rbx
call fcn.00465a00
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov byte [rsp + 0x18], cl
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
nop dword [rax]
call fcn.004632e0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
movzx ecx, byte [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jmp fcn.0060b4a0