// File: /workspace/github_c_makefile_star2_O3/mrdotx[P]st/st.c
// Function: set_notifmode
void set_notifmode(int type, KeySym ksym) {
	static char *lib[] = { " MOVE ", " SEL  "};
	static Glyph *g, *deb, *fin;
	static int col, bot;

	if ( ksym == -1 ) {
		free(g);
		col = term.col, bot = term.bot;
		g = xmalloc(col * sizeof(Glyph));
		memcpy(g, term.line[bot], col * sizeof(Glyph));

	}
	else if ( ksym == -2 )
		memcpy(term.line[bot], g, col * sizeof(Glyph));

	if ( type < 2 ) {
		char *z = lib[type];
		for (deb = &term.line[bot][col - 6], fin = &term.line[bot][col]; deb < fin; z++, deb++)
			deb->mode = ATTR_REVERSE,
				deb->u = *z,
				deb->fg = defaultfg, deb->bg = defaultbg;
	}
	else if ( type < 5 )
		memcpy(term.line[bot], g, col * sizeof(Glyph));
	else {
		for (deb = &term.line[bot][0], fin = &term.line[bot][col]; deb < fin; deb++)
			deb->mode = ATTR_REVERSE,
				deb->u = ' ',
				deb->fg = defaultfg, deb->bg = defaultbg;
		term.line[bot][0].u = ksym;
	}

	term.dirty[bot] = 1;
	drawregion(0, bot, col, bot + 1);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rsi, %r15
movl %edi, %ebp
cmpq $-0x2, %rsi
je 0x9f4f
cmpq $-0x1, %r15
jne 0x9f7b
movq 0x1362e(%rip), %rdi     # 0x1d538
callq 0x6360
movslq 0x105f6(%rip), %rdi     # 0x1a50c
movl %edi, 0x13634(%rip)     # 0x1d550
movl 0x115d6(%rip), %eax     # 0x1b4f8
movl %eax, 0x1362c(%rip)     # 0x1d554
shlq $0x4, %rdi
callq 0x6f75
movq %rax, %rdi
movq %rax, 0x135fd(%rip)     # 0x1d538
movslq 0x13612(%rip), %rax     # 0x1d554
shlq $0x3, %rax
addq 0x105c3(%rip), %rax     # 0x1a510
jmp 0x9f68
movq 0x105ba(%rip), %rax     # 0x1a510
movslq 0x135f7(%rip), %rcx     # 0x1d554
movq (%rax,%rcx,8), %rdi
leaq 0x135d0(%rip), %rax     # 0x1d538
movq (%rax), %rsi
movslq 0x135de(%rip), %rdx     # 0x1d550
shlq $0x4, %rdx
callq 0x6920
cmpl $0x1, %ebp
jg 0xa01a
movslq %ebp, %rcx
leaq 0x8506(%rip), %rax      # 0x12494
movslq (%rax,%rcx,4), %rsi
movq 0x10577(%rip), %rcx     # 0x1a510
movl 0x135b5(%rip), %ebx     # 0x1d554
movslq %ebx, %r12
movq (%rcx,%r12,8), %rcx
movslq 0x135a3(%rip), %r14     # 0x1d550
movq %r14, %rdi
shlq $0x4, %rdi
leaq (%rcx,%rdi), %rdx
addq %rdi, %rcx
addq $-0x60, %rcx
movq %rcx, 0x1357a(%rip)     # 0x1d540
movq %rdx, 0x1357b(%rip)     # 0x1d548
cmpq %rdx, %rcx
jae 0xa0b1
addq %rsi, %rax
leaq 0xf5b0(%rip), %rsi      # 0x19590
leaq 0xf5ad(%rip), %rdi      # 0x19594
movw $0x20, 0x4(%rcx)
movsbl (%rax), %r8d
movl %r8d, (%rcx)
movl (%rsi), %r8d
movl %r8d, 0x8(%rcx)
movl (%rdi), %r8d
movl %r8d, 0xc(%rcx)
incq %rax
addq $0x10, %rcx
cmpq %rdx, %rcx
jb 0x9fe7
movq %rcx, 0x1352b(%rip)     # 0x1d540
jmp 0xa0b1
movq 0x104ef(%rip), %rax     # 0x1a510
movl 0x1352d(%rip), %ebx     # 0x1d554
movslq %ebx, %r12
movq (%rax,%r12,8), %rdi
cmpl $0x4, %ebp
ja 0xa04f
movq 0x134fe(%rip), %rsi     # 0x1d538
movslq 0x1350f(%rip), %r14     # 0x1d550
movq %r14, %rdx
shlq $0x4, %rdx
callq 0x6920
jmp 0xa0b1
movq %rdi, 0x134ea(%rip)     # 0x1d540
movslq 0x134f3(%rip), %r14     # 0x1d550
movq %r14, %rax
shlq $0x4, %rax
addq %rdi, %rax
movq %rax, 0x134da(%rip)     # 0x1d548
testq %r14, %r14
jle 0xa0ae
leaq 0xf516(%rip), %rcx      # 0x19590
leaq 0xf513(%rip), %rsi      # 0x19594
movq %rdi, %rdx
movw $0x20, 0x4(%rdx)
movl $0x20, (%rdx)
movl (%rcx), %r8d
movl %r8d, 0x8(%rdx)
movl (%rsi), %r8d
movl %r8d, 0xc(%rdx)
addq $0x10, %rdx
cmpq %rax, %rdx
jb 0xa084
movq %rdx, 0x13492(%rip)     # 0x1d540
movl %r15d, (%rdi)
movq 0x11410(%rip), %rax     # 0x1b4c8
movl $0x1, (%rax,%r12,4)
leal 0x1(%rbx), %edx
movl %ebx, %edi
movl %r14d, %esi
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x99ca