// File: /workspace/github_c_makefile_star2_O0/mist64[P]cbm6502asm/src/symbol.c
// Function: move
void move() {
	if (direction[level] == direction[level + 1]) {
		head(level + 1);
		xchg(level, level + 1);
		path[level]->weight = path[level + 1]->weight = BALANCED;
	} else {
		head(level + 2);
		xchg(level, level + 2);
		xchg(level + 1, level + 2);
		path[level + 2]->weight = BALANCED;
		if (direction[level + 1] == direction[level + 2]) {
			path[level]->weight = BALANCED;
			path[level + 1]->weight = !direction[level + 1];
		} else if (direction[level + 2] != BALANCED) {
			path[level]->weight = !direction[level];
			path[level + 1]->weight = BALANCED;
		} else
			path[level]->weight = path[level + 1]->weight =
			        BALANCED;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movslq 0x55e5(%rip), %rcx      # 0x114c0
leaq 0x56de(%rip), %rax      # 0x115c0
movl (%rax,%rcx,4), %eax
movl 0x55d5(%rip), %ecx      # 0x114c0
addl $0x1, %ecx
movslq %ecx, %rdx
leaq 0x56c8(%rip), %rcx      # 0x115c0
cmpl (%rcx,%rdx,4), %eax
jne 0xbf6d
movl 0x55bd(%rip), %edi      # 0x114c0
addl $0x1, %edi
callq 0xbd40
movl 0x55af(%rip), %edi      # 0x114c0
movl 0x55a9(%rip), %esi      # 0x114c0
addl $0x1, %esi
callq 0xbdb0
movl 0x559b(%rip), %eax      # 0x114c0
addl $0x1, %eax
movslq %eax, %rcx
leaq 0x559e(%rip), %rax      # 0x114d0
movq (%rax,%rcx,8), %rax
movw 0x20(%rax), %cx
andw $-0x4, %cx
orw $0x2, %cx
movw %cx, 0x20(%rax)
movslq 0x5573(%rip), %rcx      # 0x114c0
leaq 0x557c(%rip), %rax      # 0x114d0
movq (%rax,%rcx,8), %rax
movw 0x20(%rax), %cx
andw $-0x4, %cx
orw $0x2, %cx
movw %cx, 0x20(%rax)
jmp 0xc143
movl 0x554d(%rip), %edi      # 0x114c0
addl $0x2, %edi
callq 0xbd40
movl 0x553f(%rip), %edi      # 0x114c0
movl 0x5539(%rip), %esi      # 0x114c0
addl $0x2, %esi
callq 0xbdb0
movl 0x552b(%rip), %edi      # 0x114c0
addl $0x1, %edi
movl 0x5522(%rip), %esi      # 0x114c0
addl $0x2, %esi
callq 0xbdb0
movl 0x5514(%rip), %eax      # 0x114c0
addl $0x2, %eax
movslq %eax, %rcx
leaq 0x5517(%rip), %rax      # 0x114d0
movq (%rax,%rcx,8), %rax
movw 0x20(%rax), %cx
andw $-0x4, %cx
orw $0x2, %cx
movw %cx, 0x20(%rax)
movl 0x54ed(%rip), %eax      # 0x114c0
addl $0x1, %eax
movslq %eax, %rcx
leaq 0x55e0(%rip), %rax      # 0x115c0
movl (%rax,%rcx,4), %eax
movl 0x54d7(%rip), %ecx      # 0x114c0
addl $0x2, %ecx
movslq %ecx, %rdx
leaq 0x55ca(%rip), %rcx      # 0x115c0
cmpl (%rcx,%rdx,4), %eax
jne 0xc070
movslq 0x54be(%rip), %rcx      # 0x114c0
leaq 0x54c7(%rip), %rax      # 0x114d0
movq (%rax,%rcx,8), %rax
movw 0x20(%rax), %cx
andw $-0x4, %cx
orw $0x2, %cx
movw %cx, 0x20(%rax)
movl 0x549d(%rip), %eax      # 0x114c0
addl $0x1, %eax
movslq %eax, %rcx
leaq 0x5590(%rip), %rax      # 0x115c0
cmpl $0x0, (%rax,%rcx,4)
setne %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %ecx
movl 0x547c(%rip), %eax      # 0x114c0
addl $0x1, %eax
movslq %eax, %rdx
leaq 0x547f(%rip), %rax      # 0x114d0
movq (%rax,%rdx,8), %rax
movw %cx, %dx
movw 0x20(%rax), %cx
andw $0x3, %dx
andw $-0x4, %cx
orw %dx, %cx
movw %cx, 0x20(%rax)
jmp 0xc141
movl 0x544a(%rip), %eax      # 0x114c0
addl $0x2, %eax
movslq %eax, %rcx
leaq 0x553d(%rip), %rax      # 0x115c0
cmpl $0x2, (%rax,%rcx,4)
je 0xc0f6
movslq 0x5430(%rip), %rcx      # 0x114c0
leaq 0x5529(%rip), %rax      # 0x115c0
cmpl $0x0, (%rax,%rcx,4)
setne %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %ecx
movslq 0x5414(%rip), %rdx      # 0x114c0
leaq 0x541d(%rip), %rax      # 0x114d0
movq (%rax,%rdx,8), %rax
movw %cx, %dx
movw 0x20(%rax), %cx
andw $0x3, %dx
andw $-0x4, %cx
orw %dx, %cx
movw %cx, 0x20(%rax)
movl 0x53ed(%rip), %eax      # 0x114c0
addl $0x1, %eax
movslq %eax, %rcx
leaq 0x53f0(%rip), %rax      # 0x114d0
movq (%rax,%rcx,8), %rax
movw 0x20(%rax), %cx
andw $-0x4, %cx
orw $0x2, %cx
movw %cx, 0x20(%rax)
jmp 0xc13f
movl 0x53c4(%rip), %eax      # 0x114c0
addl $0x1, %eax
movslq %eax, %rcx
leaq 0x53c7(%rip), %rax      # 0x114d0
movq (%rax,%rcx,8), %rax
movw 0x20(%rax), %cx
andw $-0x4, %cx
orw $0x2, %cx
movw %cx, 0x20(%rax)
movslq 0x539c(%rip), %rcx      # 0x114c0
leaq 0x53a5(%rip), %rax      # 0x114d0
movq (%rax,%rcx,8), %rax
movw 0x20(%rax), %cx
andw $-0x4, %cx
orw $0x2, %cx
movw %cx, 0x20(%rax)
jmp 0xc141
jmp 0xc143
popq %rbp
retq
nopw %cs:(%rax,%rax)