// File: /workspace/github_cpp_makefile_star2_O1/temelmertcan[P]multgen/src/adders.cpp
// Function: create_ha_fa(bool, std::queue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::deque<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>&)
void create_ha_fa (bool ha_fa_with_gates, std::queue<string>& verilog){

  verilog.push ("module ha (");
  verilog.push("indent");
  verilog.push("indent");
  verilog.push ("input logic a,");
  verilog.push ("input logic b,");
  verilog.push ("output logic s,");
  verilog.push ("output logic c);");
  verilog.push("outdent");
  verilog.push("");
  if (ha_fa_with_gates){
    verilog.push ("assign s = a ^ b;");
    verilog.push ("assign c = a & b;");
  }else{
    verilog.push ("assign {c,s} = a + b;");
  }
  verilog.push("outdent");
  verilog.push ("endmodule");
  verilog.push("");

  verilog.push ("\n");

  verilog.push ("module fa (");
  verilog.push("indent");
  verilog.push("indent");
  verilog.push ("input logic x,");
  verilog.push ("input logic y,");
  verilog.push ("input logic z,");
  verilog.push ("output logic s,");
  verilog.push ("output logic c);");
  verilog.push("outdent");
  verilog.push("");
  if (ha_fa_with_gates){
    verilog.push ("assign s = x ^ y ^ z;");
    verilog.push ("assign c = (x & y) | (x & z) | (y & z);");
  }else{
    verilog.push ("assign {c,s} = x + y + z;");
  }
  verilog.push("outdent");
  verilog.push ("endmodule");

  verilog.push("");

  verilog.push ("module Four2Two ");
  verilog.push("indent");
  verilog.push("indent");
  verilog.push("#(parameter WIDTH=1) (");
  verilog.push ("input logic [WIDTH-1:0] in1,");
  verilog.push ("input logic [WIDTH-1:0] in2,");
  verilog.push ("input logic [WIDTH-1:0] in3,");
  verilog.push ("input logic [WIDTH-1:0] in4,");
  verilog.push ("input logic cin,");
  verilog.push ("output logic [WIDTH-1:0] sum,");
  verilog.push ("output logic [WIDTH-1:0] carry,");
  verilog.push ("output logic cout);");
  verilog.push("outdent");
  verilog.push("");

  verilog.push ("wire logic [WIDTH:0] temp1;");
  verilog.push ("assign temp1 = {((in1 ^ in2)&in3 | in1 & ~(in1^in2)),cin};");
 
  verilog.push ("assign sum = ((in1 ^ in2) ^ in3 ^ in4) ^ temp1[WIDTH-1:0];");
  verilog.push ("assign carry = ((in1 ^ in2) ^ in3 ^ in4) & temp1[WIDTH-1:0] | in4 & ~((in1 ^ in2) ^ in3 ^ in4);");

  verilog.push ("assign cout = temp1[WIDTH];");

  
  verilog.push("outdent");
  verilog.push ("endmodule");
  verilog.push("");

  verilog.push ("\n");

  verilog.push ("");



  

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rsi, %rbx
movl %edi, %r14d
leaq -0x28(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x4e4b7(%rip), %rsi     # 0x797d9
leaq 0x4e4bb(%rip), %rdx     # 0x797e4
leaq -0x38(%rbp), %rdi
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b34c
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4d961(%rip), %rsi     # 0x78cbb
leaq 0x4d960(%rip), %rdx     # 0x78cc1
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b380
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4d92d(%rip), %rsi     # 0x78cbb
leaq 0x4d92c(%rip), %rdx     # 0x78cc1
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b3b4
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4e423(%rip), %rsi     # 0x797e5
leaq 0x4e42a(%rip), %rdx     # 0x797f3
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b3e8
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4e3fe(%rip), %rsi     # 0x797f4
leaq 0x4e405(%rip), %rdx     # 0x79802
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b41c
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4e3d9(%rip), %rsi     # 0x79803
leaq 0x4e3e1(%rip), %rdx     # 0x79812
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b450
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4e3b5(%rip), %rsi     # 0x79813
leaq 0x4e3be(%rip), %rdx     # 0x79823
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b484
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4d89f(%rip), %rsi     # 0x78d31
leaq 0x4d89f(%rip), %rdx     # 0x78d38
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b4b8
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4f13b(%rip), %rdx     # 0x7a601
movq %rdx, %rsi
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b4e8
callq 0x31d0
leaq -0x38(%rbp), %rdi
testb %r14b, %r14b
je 0x2b549
movq %r15, (%rdi)
leaq 0x4e329(%rip), %rsi     # 0x79824
leaq 0x4e333(%rip), %rdx     # 0x79835
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b521
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4e307(%rip), %rsi     # 0x79836
leaq 0x4e311(%rip), %rdx     # 0x79847
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
jmp 0x2b56b
movq %r15, (%rdi)
leaq 0x4e2f5(%rip), %rsi     # 0x79848
leaq 0x4e303(%rip), %rdx     # 0x7985d
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b579
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4d7aa(%rip), %rsi     # 0x78d31
leaq 0x4d7aa(%rip), %rdx     # 0x78d38
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b5ad
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4d81e(%rip), %rsi     # 0x78dd9
leaq 0x4d820(%rip), %rdx     # 0x78de2
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b5e1
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4f012(%rip), %rdx     # 0x7a601
movq %rdx, %rsi
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b611
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4c25b(%rip), %rsi     # 0x7787a
leaq 0x4c255(%rip), %rdx     # 0x7787b
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b645
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4e20b(%rip), %rsi     # 0x7985e
leaq 0x4e20f(%rip), %rdx     # 0x79869
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b679
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4d634(%rip), %rsi     # 0x78cbb
leaq 0x4d633(%rip), %rdx     # 0x78cc1
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b6ad
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4d600(%rip), %rsi     # 0x78cbb
leaq 0x4d5ff(%rip), %rdx     # 0x78cc1
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b6e1
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4e17b(%rip), %rsi     # 0x7986a
leaq 0x4e182(%rip), %rdx     # 0x79878
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b715
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4e156(%rip), %rsi     # 0x79879
leaq 0x4e15d(%rip), %rdx     # 0x79887
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b749
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4e131(%rip), %rsi     # 0x79888
leaq 0x4e138(%rip), %rdx     # 0x79896
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b77d
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4e078(%rip), %rsi     # 0x79803
leaq 0x4e080(%rip), %rdx     # 0x79812
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b7b1
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4e054(%rip), %rsi     # 0x79813
leaq 0x4e05d(%rip), %rdx     # 0x79823
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b7e5
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4d53e(%rip), %rsi     # 0x78d31
leaq 0x4d53e(%rip), %rdx     # 0x78d38
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b819
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4edda(%rip), %rdx     # 0x7a601
movq %rdx, %rsi
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b849
callq 0x31d0
leaq -0x38(%rbp), %rdi
testb %r14b, %r14b
je 0x2b8aa
movq %r15, (%rdi)
leaq 0x4e03b(%rip), %rsi     # 0x79897
leaq 0x4e049(%rip), %rdx     # 0x798ac
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b882
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4e01d(%rip), %rsi     # 0x798ad
leaq 0x4e03d(%rip), %rdx     # 0x798d4
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
jmp 0x2b8cc
movq %r15, (%rdi)
leaq 0x4e021(%rip), %rsi     # 0x798d5
leaq 0x4e033(%rip), %rdx     # 0x798ee
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b8da
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4d449(%rip), %rsi     # 0x78d31
leaq 0x4d449(%rip), %rdx     # 0x78d38
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b90e
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4d4bd(%rip), %rsi     # 0x78dd9
leaq 0x4d4bf(%rip), %rdx     # 0x78de2
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b942
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4ecb1(%rip), %rdx     # 0x7a601
movq %rdx, %rsi
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b972
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4df6f(%rip), %rsi     # 0x798ef
leaq 0x4df78(%rip), %rdx     # 0x798ff
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b9a6
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4d307(%rip), %rsi     # 0x78cbb
leaq 0x4d306(%rip), %rdx     # 0x78cc1
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b9da
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4d2d3(%rip), %rsi     # 0x78cbb
leaq 0x4d2d2(%rip), %rdx     # 0x78cc1
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2ba0e
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4dee4(%rip), %rsi     # 0x79900
leaq 0x4def3(%rip), %rdx     # 0x79916
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2ba42
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4dec7(%rip), %rsi     # 0x79917
leaq 0x4dedc(%rip), %rdx     # 0x79933
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2ba76
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4deb0(%rip), %rsi     # 0x79934
leaq 0x4dec5(%rip), %rdx     # 0x79950
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2baaa
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4de99(%rip), %rsi     # 0x79951
leaq 0x4deae(%rip), %rdx     # 0x7996d
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2bade
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4de82(%rip), %rsi     # 0x7996e
leaq 0x4de97(%rip), %rdx     # 0x7998a
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2bb12
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4de6b(%rip), %rsi     # 0x7998b
leaq 0x4de74(%rip), %rdx     # 0x7999b
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2bb46
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4de48(%rip), %rsi     # 0x7999c
leaq 0x4de5e(%rip), %rdx     # 0x799b9
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2bb7a
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4de32(%rip), %rsi     # 0x799ba
leaq 0x4de4a(%rip), %rdx     # 0x799d9
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2bbae
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4de1e(%rip), %rsi     # 0x799da
leaq 0x4de2a(%rip), %rdx     # 0x799ed
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2bbe2
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4d141(%rip), %rsi     # 0x78d31
leaq 0x4d141(%rip), %rdx     # 0x78d38
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2bc16
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4e9dd(%rip), %rdx     # 0x7a601
movq %rdx, %rsi
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2bc46
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4dd9a(%rip), %rsi     # 0x799ee
leaq 0x4ddae(%rip), %rdx     # 0x79a09
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2bc7a
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4dd82(%rip), %rsi     # 0x79a0a
leaq 0x4ddb5(%rip), %rdx     # 0x79a44
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2bcae
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4dd89(%rip), %rsi     # 0x79a45
leaq 0x4ddbc(%rip), %rdx     # 0x79a7f
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2bce2
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4dd90(%rip), %rsi     # 0x79a80
leaq 0x4dde8(%rip), %rdx     # 0x79adf
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2bd16
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4ddbc(%rip), %rsi     # 0x79ae0
leaq 0x4ddd0(%rip), %rdx     # 0x79afb
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2bd4a
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4cfd9(%rip), %rsi     # 0x78d31
leaq 0x4cfd9(%rip), %rdx     # 0x78d38
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2bd7e
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4d04d(%rip), %rsi     # 0x78dd9
leaq 0x4d04f(%rip), %rdx     # 0x78de2
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2bdb2
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4e841(%rip), %rdx     # 0x7a601
movq %rdx, %rsi
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2bde2
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4ba8a(%rip), %rsi     # 0x7787a
leaq 0x4ba84(%rip), %rdx     # 0x7787b
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2be16
callq 0x31d0
leaq -0x38(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x4e7dd(%rip), %rdx     # 0x7a601
movq %rdx, %rsi
callq 0x2b022
leaq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x2ad60
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2be46
callq 0x31d0
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
jmp 0x2bfc9
jmp 0x2bfdc
movq %rax, %rbx
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x2bfdf
callq 0x31d0
jmp 0x2bfdf
movq %rax, %rbx
movq %rbx, %rdi
callq 0x33a0