// File: /workspace/github_cpp_makefile_star2_O1/romkatv[P]hcproxy/src/list.cc
// Function: hcproxy::List::AddTail(hcproxy::Node*)
void List::AddTail(Node* node) {
  CHECK(node);
  CHECK(!node->prev_);
  CHECK(!node->next_);
  if (tail_) {
    CHECK(head_);
    CHECK(!tail_->next_);
    tail_->next_ = node;
  } else {
    CHECK(!head_);
    head_ = node;
  }
  node->prev_ = tail_;
  node->next_ = nullptr;
  tail_ = node;
  CHECK(head_ && tail_);
}

// Assembly:
pushq %rbx
subq $0x20, %rsp
testq %rsi, %rsi
je 0x18559
cmpq $0x0, (%rsi)
jne 0x185a5
cmpq $0x0, 0x8(%rsi)
jne 0x185f1
cmpq $0x0, 0x8(%rdi)
movq (%rdi), %rcx
je 0x18527
testq %rcx, %rcx
je 0x18682
movq 0x8(%rdi), %rax
cmpq $0x0, 0x8(%rax)
jne 0x186ce
movq 0x8(%rdi), %rax
addq $0x8, %rax
jmp 0x18533
movq %rdi, %rax
testq %rcx, %rcx
jne 0x18717
movq %rsi, (%rax)
movq 0x8(%rdi), %rax
movq %rax, (%rsi)
movq $0x0, 0x8(%rsi)
movq %rsi, 0x8(%rdi)
cmpq $0x0, (%rdi)
je 0x1863d
addq $0x20, %rsp
popq %rbx
retq
leaq 0xb6aa4(%rip), %rsi     # 0xcf004
movq %rsp, %rbx
movq %rbx, %rdi
movl $0x16, %edx
movl $0x3, %ecx
callq 0x2019c
movq 0x18(%rbx), %rdi
leaq 0xb6ad7(%rip), %rsi     # 0xcf057
movl $0x4, %edx
callq 0x8bab0
movq 0x18(%rsp), %rdi
leaq 0xbbd75(%rip), %rsi     # 0xd430b
movl $0x2, %edx
callq 0x8bab0
jmp 0x1876c
leaq 0xb6a58(%rip), %rsi     # 0xcf004
movq %rsp, %rbx
movq %rbx, %rdi
movl $0x17, %edx
movl $0x3, %ecx
callq 0x2019c
movq 0x18(%rbx), %rdi
leaq 0xb6a44(%rip), %rsi     # 0xcf010
movl $0xc, %edx
callq 0x8bab0
movq 0x18(%rsp), %rdi
leaq 0xbbd29(%rip), %rsi     # 0xd430b
movl $0x2, %edx
callq 0x8bab0
jmp 0x1876c
leaq 0xb6a0c(%rip), %rsi     # 0xcf004
movq %rsp, %rbx
movq %rbx, %rdi
movl $0x18, %edx
movl $0x3, %ecx
callq 0x2019c
movq 0x18(%rbx), %rdi
leaq 0xb6a05(%rip), %rsi     # 0xcf01d
movl $0xc, %edx
callq 0x8bab0
movq 0x18(%rsp), %rdi
leaq 0xbbcdd(%rip), %rsi     # 0xd430b
movl $0x2, %edx
callq 0x8bab0
jmp 0x1876c
leaq 0xb69c0(%rip), %rsi     # 0xcf004
movq %rsp, %rbx
movq %rbx, %rdi
movl $0x24, %edx
movl $0x3, %ecx
callq 0x2019c
movq 0x18(%rbx), %rdi
leaq 0xb69db(%rip), %rsi     # 0xcf03f
movl $0xe, %edx
callq 0x8bab0
leaq 0xbbc96(%rip), %rsi     # 0xd430b
movq %rsp, %rdi
callq 0x18a7b
jmp 0x1876c
leaq 0xb697b(%rip), %rsi     # 0xcf004
movq %rsp, %rbx
movq %rbx, %rdi
movl $0x1a, %edx
movl $0x3, %ecx
callq 0x2019c
movq 0x18(%rbx), %rdi
leaq 0xb6990(%rip), %rsi     # 0xcf039
movl $0x5, %edx
callq 0x8bab0
movq 0x18(%rsp), %rdi
leaq 0xbbc4c(%rip), %rsi     # 0xd430b
movl $0x2, %edx
callq 0x8bab0
jmp 0x1876c
leaq 0xb692f(%rip), %rsi     # 0xcf004
movq %rsp, %rbx
movq %rbx, %rdi
movl $0x1b, %edx
movl $0x3, %ecx
callq 0x2019c
movq 0x18(%rbx), %rdi
leaq 0xb6935(%rip), %rsi     # 0xcf02a
movl $0xd, %edx
callq 0x8bab0
movq 0x18(%rsp), %rdi
leaq 0xbbc00(%rip), %rsi     # 0xd430b
movl $0x2, %edx
callq 0x8bab0
jmp 0x1876c
leaq 0xb68e6(%rip), %rsi     # 0xcf004
movq %rsp, %rbx
movq %rbx, %rdi
movl $0x1e, %edx
movl $0x3, %ecx
callq 0x2019c
movq 0x18(%rbx), %rdi
leaq 0xb68fa(%rip), %rsi     # 0xcf038
movl $0x6, %edx
callq 0x8bab0
movq 0x18(%rsp), %rdi
leaq 0xbbbb7(%rip), %rsi     # 0xd430b
movl $0x2, %edx
callq 0x8bab0
jmp 0x1876c
jmp 0x1876c
jmp 0x1876c
jmp 0x1876c
jmp 0x1876c
jmp 0x1876c
jmp 0x1876c
movq %rsp, %rdi
callq 0x18aaa