// File: acliusBackHome[P]kamaya/dist/x86.cpp
// Function: x86::Assembler::quaASSIGN(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> const&)
void Assembler::quaASSIGN(const Qua &qua) {
  // (:=,0,_,[esp+0])
  const string &dist = get<3>(qua);
  const string &src = get<1>(qua);
  if (dist == "eax" || src == "eax") {
    mov(dist, src);
  } else {
    mov("eax", src);
    mov(dist, "eax");
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x120, %rsp            # imm = 0x120
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x108(%rbp)
movq -0x10(%rbp), %rdi
callq 0x78750
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x78c50
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rdi
leaq 0x13ce4(%rip), %rsi     # 0x91847
callq 0x48850
testb $0x1, %al
jne 0x7db82
movq -0x20(%rbp), %rdi
leaq 0x13cd0(%rip), %rsi     # 0x91847
callq 0x48850
testb $0x1, %al
jne 0x7db82
jmp 0x7dbfc
movq -0x18(%rbp), %rsi
leaq -0x40(%rbp), %rdi
callq 0x4190
movq -0x20(%rbp), %rsi
leaq -0x60(%rbp), %rdi
callq 0x4190
jmp 0x7db9e
movq -0x108(%rbp), %rdi
leaq -0x40(%rbp), %rsi
leaq -0x60(%rbp), %rdx
callq 0x80b50
jmp 0x7dbb4
leaq -0x60(%rbp), %rdi
callq 0x4688
leaq -0x40(%rbp), %rdi
callq 0x4688
jmp 0x7dd8f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7dbee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x4688
leaq -0x40(%rbp), %rdi
callq 0x4688
jmp 0x7dd98
leaq -0x91(%rbp), %rdi
movq %rdi, -0x110(%rbp)
callq 0x45f0
movq -0x110(%rbp), %rdx
leaq 0x13c2a(%rip), %rsi     # 0x91847
leaq -0x90(%rbp), %rdi
callq 0x4450
jmp 0x7dc2b
movq -0x20(%rbp), %rsi
leaq -0xb8(%rbp), %rdi
callq 0x4190
jmp 0x7dc3d
movq -0x108(%rbp), %rdi
leaq -0x90(%rbp), %rsi
leaq -0xb8(%rbp), %rdx
callq 0x80b50
jmp 0x7dc59
leaq -0xb8(%rbp), %rdi
callq 0x4688
leaq -0x90(%rbp), %rdi
callq 0x4688
leaq -0x91(%rbp), %rdi
callq 0x4380
movq -0x18(%rbp), %rsi
leaq -0xd8(%rbp), %rdi
callq 0x4190
leaq -0xf9(%rbp), %rdi
movq %rdi, -0x118(%rbp)
callq 0x45f0
movq -0x118(%rbp), %rdx
leaq 0x13b99(%rip), %rsi     # 0x91847
leaq -0xf8(%rbp), %rdi
callq 0x4450
jmp 0x7dcbc
movq -0x108(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
leaq -0xf8(%rbp), %rdx
callq 0x80b50
jmp 0x7dcd8
leaq -0xf8(%rbp), %rdi
callq 0x4688
leaq -0xf9(%rbp), %rdi
callq 0x4380
leaq -0xd8(%rbp), %rdi
callq 0x4688
jmp 0x7dd8f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7dd41
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7dd35
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x4688
leaq -0x90(%rbp), %rdi
callq 0x4688
leaq -0x91(%rbp), %rdi
callq 0x4380
jmp 0x7dd98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7dd75
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xf8(%rbp), %rdi
callq 0x4688
leaq -0xf9(%rbp), %rdi
callq 0x4380
leaq -0xd8(%rbp), %rdi
callq 0x4688
jmp 0x7dd98
addq $0x120, %rsp            # imm = 0x120
popq %rbp
retq
movq -0x68(%rbp), %rdi
callq 0x45e0
nopw %cs:(%rax,%rax)