// File: /workspace/github_c_makefile_star2_O3/baskerville[P]sxhkd/src/parse.c
// Function: parse_modifier
bool parse_modifier(char *name, uint16_t *modfield)
{
	if (strcmp(name, "shift") == 0) {
		*modfield |= XCB_MOD_MASK_SHIFT;
		return true;
	} else if (strcmp(name, "control") == 0 || strcmp(name, "ctrl") == 0) {
		*modfield |= XCB_MOD_MASK_CONTROL;
		return true;
	} else if (strcmp(name, "alt") == 0) {
		*modfield |= (modfield_from_keysym(Alt_L) | modfield_from_keysym(Alt_R));
		return true;
	} else if (strcmp(name, "super") == 0) {
		*modfield |= (modfield_from_keysym(Super_L) | modfield_from_keysym(Super_R));
		return true;
	} else if (strcmp(name, "hyper") == 0) {
		*modfield |= (modfield_from_keysym(Hyper_L) | modfield_from_keysym(Hyper_R));
		return true;
	} else if (strcmp(name, "meta") == 0) {
		*modfield |= (modfield_from_keysym(Meta_L) | modfield_from_keysym(Meta_R));
		return true;
	} else if (strcmp(name, "mode_switch") == 0) {
		*modfield |= modfield_from_keysym(Mode_switch);
		return true;
	} else if (strcmp(name, "mod1") == 0) {
		*modfield |= XCB_MOD_MASK_1;
		return true;
	} else if (strcmp(name, "mod2") == 0) {
		*modfield |= XCB_MOD_MASK_2;
		return true;
	} else if (strcmp(name, "mod3") == 0) {
		*modfield |= XCB_MOD_MASK_3;
		return true;
	} else if (strcmp(name, "mod4") == 0) {
		*modfield |= XCB_MOD_MASK_4;
		return true;
	} else if (strcmp(name, "mod5") == 0) {
		*modfield |= XCB_MOD_MASK_5;
		return true;
	} else if (strcmp(name, "lock") == 0) {
		*modfield |= XCB_MOD_MASK_LOCK;
		return true;
	} else if (strcmp(name, "any") == 0) {
		*modfield |= XCB_MOD_MASK_ANY;
		return true;
	}
	return false;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x71d3(%rip), %rsi      # 0x1738b
callq 0xe220
testl %eax, %eax
je 0x10313
leaq 0x71c5(%rip), %rsi      # 0x17391
movq %r14, %rdi
callq 0xe220
testl %eax, %eax
je 0x1030b
leaq 0x71b6(%rip), %rsi      # 0x17399
movq %r14, %rdi
callq 0xe220
testl %eax, %eax
je 0x1030b
leaq 0x71a4(%rip), %rsi      # 0x1739e
movq %r14, %rdi
callq 0xe220
testl %eax, %eax
je 0x1031b
leaq 0x7191(%rip), %rsi      # 0x173a2
movq %r14, %rdi
callq 0xe220
testl %eax, %eax
je 0x10330
leaq 0x7180(%rip), %rsi      # 0x173a8
movq %r14, %rdi
callq 0xe220
testl %eax, %eax
je 0x10345
leaq 0x716f(%rip), %rsi      # 0x173ae
movq %r14, %rdi
callq 0xe220
testl %eax, %eax
je 0x1035a
leaq 0x715d(%rip), %rsi      # 0x173b3
movq %r14, %rdi
callq 0xe220
testl %eax, %eax
je 0x10381
leaq 0x7152(%rip), %rsi      # 0x173bf
movq %r14, %rdi
callq 0xe220
testl %eax, %eax
je 0x1038e
leaq 0x7140(%rip), %rsi      # 0x173c4
movq %r14, %rdi
callq 0xe220
testl %eax, %eax
je 0x10396
leaq 0x712e(%rip), %rsi      # 0x173c9
movq %r14, %rdi
callq 0xe220
testl %eax, %eax
je 0x1039e
leaq 0x711c(%rip), %rsi      # 0x173ce
movq %r14, %rdi
callq 0xe220
testl %eax, %eax
je 0x103a6
leaq 0x710a(%rip), %rsi      # 0x173d3
movq %r14, %rdi
callq 0xe220
testl %eax, %eax
je 0x103ae
leaq 0x70f8(%rip), %rsi      # 0x173d8
movq %r14, %rdi
callq 0xe220
testl %eax, %eax
je 0x103b8
leaq 0x70e6(%rip), %rsi      # 0x173dd
movq %r14, %rdi
callq 0xe220
testl %eax, %eax
je 0x103c0
xorl %eax, %eax
jmp 0x1037c
movzwl (%rbx), %eax
orl $0x4, %eax
jmp 0x10377
movzwl (%rbx), %eax
orl $0x1, %eax
jmp 0x10377
movl 0x1259f(%rip), %edi     # 0x228c0
callq 0x1046d
movl %eax, %ebp
movl 0x12596(%rip), %edi     # 0x228c4
jmp 0x1036d
movl 0x12592(%rip), %edi     # 0x228c8
callq 0x1046d
movl %eax, %ebp
movl 0x12589(%rip), %edi     # 0x228cc
jmp 0x1036d
movl 0x12585(%rip), %edi     # 0x228d0
callq 0x1046d
movl %eax, %ebp
movl 0x1257c(%rip), %edi     # 0x228d4
jmp 0x1036d
movl 0x12578(%rip), %edi     # 0x228d8
callq 0x1046d
movl %eax, %ebp
movl 0x1256f(%rip), %edi     # 0x228dc
callq 0x1046d
orl %ebp, %eax
orw (%rbx), %ax
movw %ax, (%rbx)
movb $0x1, %al
popq %rbx
popq %r14
popq %rbp
retq
movl 0x12559(%rip), %edi     # 0x228e0
callq 0x1046d
jmp 0x10374
movzwl (%rbx), %eax
orl $0x8, %eax
jmp 0x10377
movzwl (%rbx), %eax
orl $0x10, %eax
jmp 0x10377
movzwl (%rbx), %eax
orl $0x20, %eax
jmp 0x10377
movzwl (%rbx), %eax
orl $0x40, %eax
jmp 0x10377
movzwl (%rbx), %eax
orl $0x80, %eax
jmp 0x10377
movzwl (%rbx), %eax
orl $0x2, %eax
jmp 0x10377
movzwl (%rbx), %eax
orl $0x8000, %eax           # imm = 0x8000
jmp 0x10377