// File: /workspace/github_c_makefile_star2_O1/neovim[P]libvterm/src/state.c
// Function: on_osc
static int on_osc(int command, VTermStringFragment frag, void *user)
{
  VTermState *state = user;

  switch(command) {
    case 0:
      settermprop_string(state, VTERM_PROP_ICONNAME, frag);
      settermprop_string(state, VTERM_PROP_TITLE, frag);
      return 1;

    case 1:
      settermprop_string(state, VTERM_PROP_ICONNAME, frag);
      return 1;

    case 2:
      settermprop_string(state, VTERM_PROP_TITLE, frag);
      return 1;

    case 52:
      if(state->selection.callbacks)
        osc_selection(state, frag);

      return 1;

    default:
      if(state->fallbacks && state->fallbacks->osc)
        if((*state->fallbacks->osc)(command, frag, state->fbdata))
          return 1;
  }

  return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rcx, %rbx
movq %rdx, %r14
movq %rsi, %r15
cmpl $0x1, %edi
jg 0x8c79
testl %edi, %edi
je 0x8dc1
cmpl $0x1, %edi
jne 0x8d96
movq %r15, 0x8(%rsp)
movq %r14, 0x10(%rsp)
movq 0x8(%rbx), %rax
testq %rax, %rax
je 0x8e19
movq 0x38(%rax), %rax
testq %rax, %rax
je 0x8e19
movq 0x10(%rbx), %rdx
leaq 0x8(%rsp), %rsi
movl $0x5, %edi
jmp 0x8e17
cmpl $0x2, %edi
je 0x8ded
cmpl $0x34, %edi
jne 0x8d96
movq 0x1b8(%rbx), %rax
movl $0x1, %ebp
testq %rax, %rax
je 0x8e1e
btl $0x1e, %r14d
jae 0x8cb7
movw $0x0, 0x1a8(%rbx)
movb $0x0, 0x1aa(%rbx)
movb 0x1aa(%rbx), %sil
testb %sil, %sil
setne %dl
movl %r14d, %ecx
andl $0x3fffffff, %ecx       # imm = 0x3FFFFFFF
sete %dil
orb %dl, %dil
jne 0x8e2f
movzbl (%r15), %ecx
cmpl $0x3a, %ecx
jg 0x8d2c
leal -0x30(%rcx), %edx
cmpl $0x8, %edx
jae 0x8d03
addb $-0x30, %cl
movl $0x10, %edx
shll %cl, %edx
orw 0x1a8(%rbx), %dx
movw %dx, 0x1a8(%rbx)
incq %r15
leal -0x1(%r14), %ecx
andl $0x3fffffff, %ecx       # imm = 0x3FFFFFFF
andl $0xc0000000, %r14d      # imm = 0xC0000000
orl %ecx, %r14d
testb %sil, %sil
jne 0x8e2f
testl %ecx, %ecx
jne 0x8cda
jmp 0x8e2f
cmpl $0x6f, %ecx
jle 0x8d4b
cmpl $0x70, %ecx
je 0x8d7a
cmpl $0x71, %ecx
je 0x8d88
cmpl $0x73, %ecx
jne 0x8d03
movl 0x1a8(%rbx), %edx
orl $0x8, %edx
jmp 0x8cfc
cmpl $0x3b, %ecx
je 0x8d60
cmpl $0x63, %ecx
jne 0x8d03
movl 0x1a8(%rbx), %edx
orl $0x1, %edx
jmp 0x8cfc
movb $0x1, 0x1aa(%rbx)
movb $0x1, %sil
cmpw $0x0, 0x1a8(%rbx)
jne 0x8d03
movw $0x18, %dx
jmp 0x8cfc
movl 0x1a8(%rbx), %edx
orl $0x2, %edx
jmp 0x8cfc
movl 0x1a8(%rbx), %edx
orl $0x4, %edx
jmp 0x8cfc
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x8dbd
movq 0x10(%rax), %rax
testq %rax, %rax
je 0x8dbd
movq 0x28(%rbx), %rcx
movq %r15, %rsi
movq %r14, %rdx
callq *%rax
movl $0x1, %ebp
testl %eax, %eax
jne 0x8e1e
xorl %ebp, %ebp
jmp 0x8e1e
movq %r15, 0x8(%rsp)
movq %r14, 0x10(%rsp)
movq 0x8(%rbx), %rax
testq %rax, %rax
je 0x8ded
movq 0x38(%rax), %rax
testq %rax, %rax
je 0x8ded
movq 0x10(%rbx), %rdx
leaq 0x8(%rsp), %rsi
movl $0x5, %edi
callq *%rax
movq %r15, 0x8(%rsp)
movq %r14, 0x10(%rsp)
movq 0x8(%rbx), %rax
testq %rax, %rax
je 0x8e19
movq 0x38(%rax), %rax
testq %rax, %rax
je 0x8e19
movq 0x10(%rbx), %rdx
leaq 0x8(%rsp), %rsi
movl $0x4, %edi
callq *%rax
movl $0x1, %ebp
movl %ebp, %eax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
testl %ecx, %ecx
je 0x8e48
cmpb $0x1, %sil
jne 0x8e8f
cmpb $0x3f, (%r15)
jne 0x8e7e
movb $0x2, 0x1aa(%rbx)
jmp 0x8e8f
testl %r14d, %r14d
jns 0x8e1e
movq (%rax), %rax
testq %rax, %rax
je 0x8e1e
movzwl 0x1a8(%rbx), %edi
movl $0x80000000, %r8d       # imm = 0x80000000
leaq 0x40000000(%r8), %rdx
cmpb $0x4, %sil
movq 0x1c0(%rbx), %rcx
cmoveq %r8, %rdx
xorl %esi, %esi
callq *%rax
jmp 0x8e1e
movb $0x3, 0x1aa(%rbx)
movl $0x0, 0x1ac(%rbx)
movzbl 0x1aa(%rbx), %ecx
cmpl $0x5, %ecx
je 0x8e1e
cmpl $0x2, %ecx
jne 0x8ec2
movq 0x8(%rax), %rax
testq %rax, %rax
je 0x8e1e
movzwl 0x1a8(%rbx), %edi
movq 0x1c0(%rbx), %rsi
callq *%rax
jmp 0x8e1e
cmpq $0x0, (%rax)
je 0x8e1e
movl 0x1ac(%rbx), %edx
testl %edx, %edx
je 0x8eef
movl %edx, %r13d
shrl $0x18, %r13d
andl $0x3ffff, %edx          # imm = 0x3FFFF
movl $0x0, 0x1ac(%rbx)
jmp 0x8ef4
xorl %edx, %edx
xorl %r13d, %r13d
cmpq $0x3, 0x1d0(%rbx)
jb 0x911d
movl %r14d, %eax
andl $0x3fffffff, %eax       # imm = 0x3FFFFFFF
je 0x911d
movq 0x1c8(%rbx), %rdi
xorl %r9d, %r9d
movb (%r15), %al
cmpb $0x3d, %al
jne 0x8f8a
cmpl $0x2, %r13d
jne 0x8f34
movl %edx, %eax
shrl $0x4, %eax
movb %al, (%rdi)
incq %rdi
incq %r9
cmpl $0x3, %r13d
jne 0x8f51
movl %edx, %eax
shrl $0xa, %eax
movb %al, (%rdi)
movl %edx, %eax
shrl $0x2, %eax
movb %al, 0x1(%rdi)
addq $0x2, %rdi
addq $0x2, %r9
xorl %r13d, %r13d
testl $0x3fffffff, %r14d      # imm = 0x3FFFFFFF
je 0x9077
cmpb $0x3d, (%r15)
jne 0x9077
incq %r15
leal -0x1(%r14), %eax
andl $0x3fffffff, %eax       # imm = 0x3FFFFFFF
andl $0xc0000000, %r14d      # imm = 0xC0000000
orl %eax, %r14d
testl %eax, %eax
jne 0x8f61
jmp 0x9077
leal -0x41(%rax), %r12d
cmpb $0x1a, %r12b
jb 0x8fc8
leal -0x61(%rax), %ecx
cmpb $0x19, %cl
ja 0x8fa0
addb $-0x47, %al
jmp 0x8faa
leal -0x30(%rax), %ecx
cmpb $0x9, %cl
ja 0x8faf
addb $0x4, %al
movl %eax, %r12d
jmp 0x8fc8
cmpb $0x2f, %al
setne %cl
negb %cl
orb $0x3f, %cl
cmpb $0x2b, %al
movzbl %cl, %r12d
movl $0x3e, %eax
cmovel %eax, %r12d
cmpb $-0x1, %r12b
je 0x8ffb
movzbl %r12b, %eax
shll $0x6, %edx
orl %edx, %eax
incl %r13d
incq %r15
leal -0x1(%r14), %ecx
andl $0x3fffffff, %ecx       # imm = 0x3FFFFFFF
andl $0xc0000000, %r14d      # imm = 0xC0000000
orl %ecx, %r14d
cmpl $0x4, %r13d
je 0x9053
movl %eax, %edx
jmp 0x906d
movb $0x5, 0x1aa(%rbx)
movq 0x1b8(%rbx), %rax
movq (%rax), %rax
testq %rax, %rax
je 0x906d
movq %rdi, 0x20(%rsp)
movzwl 0x1a8(%rbx), %edi
movq 0x1c0(%rbx), %rcx
movl %edx, 0x1c(%rsp)
movl $0x80000000, %edx       # imm = 0x80000000
addq $0x40000000, %rdx       # imm = 0x40000000
movl %r13d, 0x18(%rsp)
xorl %esi, %esi
movq %r9, %r13
callq *%rax
movq 0x20(%rsp), %rdi
movq %r13, %r9
movl 0x18(%rsp), %r13d
movl 0x1c(%rsp), %edx
jmp 0x906d
movl %edx, %ecx
shrl $0x10, %ecx
movb %cl, (%rdi)
movb %dh, 0x1(%rdi)
movb %al, 0x2(%rdi)
addq $0x3, %rdi
addq $0x3, %r9
xorl %edx, %edx
xorl %r13d, %r13d
cmpb $-0x1, %r12b
je 0x911d
testl $0x3fffffff, %r14d      # imm = 0x3FFFFFFF
je 0x9090
movq 0x1d0(%rbx), %rax
subq %r9, %rax
cmpq $0x2, %rax
ja 0x9100
testq %r9, %r9
je 0x90f6
movq 0x1b8(%rbx), %rax
movzwl 0x1a8(%rbx), %edi
andl $0x3fffffff, %r9d       # imm = 0x3FFFFFFF
xorl %ecx, %ecx
cmpb $0x3, 0x1aa(%rbx)
sete %cl
shll $0x1e, %ecx
movl %edx, %r12d
movl %r14d, %edx
andl $0xbfffffff, %edx       # imm = 0xBFFFFFFF
negl %edx
movl $0x0, %edx
movl $0x80000000, %r8d       # imm = 0x80000000
cmovoq %r8, %rdx
movq 0x1c8(%rbx), %rsi
orq %r9, %rdx
orq %rcx, %rdx
movq 0x1c0(%rbx), %rcx
callq *(%rax)
movl %r12d, %edx
movb $0x4, 0x1aa(%rbx)
movq 0x1c8(%rbx), %rdi
xorl %r9d, %r9d
testl $0x3fffffff, %r14d      # imm = 0x3FFFFFFF
je 0x911d
movq 0x1d0(%rbx), %rax
subq %r9, %rax
cmpq $0x2, %rax
ja 0x8f1a
testl %r13d, %r13d
je 0x8e1e
shll $0x18, %r13d
orl %edx, %r13d
movl %r13d, 0x1ac(%rbx)
jmp 0x8e1e