// File: /workspace/github_c_makefile_star2_O1/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 %rbx
pushq %rax
movq %rsi, %rbx
movl %edi, %ebp
cmpq $-0x2, %rsi
je 0x9ab8
cmpq $-0x1, %rbx
jne 0x9ae4
movq 0x13ad5(%rip), %rdi     # 0x1d548
callq 0x6360
movslq 0x10a9d(%rip), %rdi     # 0x1a51c
movl %edi, 0x13adb(%rip)     # 0x1d560
movl 0x11a7d(%rip), %eax     # 0x1b508
movl %eax, 0x13ad3(%rip)     # 0x1d564
shlq $0x4, %rdi
callq 0x6f85
movq %rax, %rdi
movq %rax, 0x13aa4(%rip)     # 0x1d548
movslq 0x13ab9(%rip), %rax     # 0x1d564
shlq $0x3, %rax
addq 0x10a6a(%rip), %rax     # 0x1a520
jmp 0x9ad1
movq 0x10a61(%rip), %rax     # 0x1a520
movslq 0x13a9e(%rip), %rcx     # 0x1d564
movq (%rax,%rcx,8), %rdi
leaq 0x13a77(%rip), %rax     # 0x1d548
movq (%rax), %rsi
movslq 0x13a85(%rip), %rdx     # 0x1d560
shlq $0x4, %rdx
callq 0x6930
cmpl $0x1, %ebp
jg 0x9b7e
movslq %ebp, %rcx
leaq 0x896d(%rip), %rax      # 0x12464
movslq (%rax,%rcx,4), %rsi
movq 0x10a1e(%rip), %rcx     # 0x1a520
movslq 0x13a5b(%rip), %rdx     # 0x1d564
movq (%rcx,%rdx,8), %rcx
movslq 0x13a4c(%rip), %rdi     # 0x1d560
shlq $0x4, %rdi
leaq (%rcx,%rdi), %rdx
addq %rdi, %rcx
addq $-0x60, %rcx
movq %rcx, 0x13a26(%rip)     # 0x1d550
movq %rdx, 0x13a27(%rip)     # 0x1d558
cmpq %rdx, %rcx
jae 0x9c0f
addq %rsi, %rax
leaq 0xfa5c(%rip), %rsi      # 0x195a0
leaq 0xfa59(%rip), %rdi      # 0x195a4
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 0x9b4b
movq %rcx, 0x139d7(%rip)     # 0x1d550
jmp 0x9c0f
movq 0x1099b(%rip), %rax     # 0x1a520
movslq 0x139d8(%rip), %rcx     # 0x1d564
movq (%rax,%rcx,8), %rdi
cmpl $0x4, %ebp
jg 0x9bae
movq 0x139ac(%rip), %rsi     # 0x1d548
movslq 0x139bd(%rip), %rdx     # 0x1d560
shlq $0x4, %rdx
callq 0x6930
jmp 0x9c0f
movq %rdi, 0x1399b(%rip)     # 0x1d550
movslq 0x139a4(%rip), %rcx     # 0x1d560
movq %rcx, %rax
shlq $0x4, %rax
addq %rdi, %rax
movq %rax, 0x1398b(%rip)     # 0x1d558
testq %rcx, %rcx
jle 0x9c0d
leaq 0xf9c7(%rip), %rcx      # 0x195a0
leaq 0xf9c4(%rip), %rsi      # 0x195a4
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 0x9be3
movq %rdx, 0x13943(%rip)     # 0x1d550
movl %ebx, (%rdi)
movq 0x118c2(%rip), %rax     # 0x1b4d8
movslq 0x13947(%rip), %rdi     # 0x1d564
movl $0x1, (%rax,%rdi,4)
movl 0x13936(%rip), %esi     # 0x1d560
leal 0x1(%rdi), %edx
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x9619