// File: miniplane[P]mintree/simpletest.C
// Function: main
int main() {
 
   Container<ETYPE>* c = 0;
   bool traceIt = false;
   std::cout.setf( std::ios_base::boolalpha );
 
   while (true) {
     if (traceIt) {
       if (c) {
         std::cout << std::endl << "container: " << *c;
       } else {
         std::cout << std::endl << "no container";
       }
     }
     std::cout << std::endl << "> ";
 
     std::string cmdline;
     if (!std::getline( std::cin, cmdline )) break;
 
     std::istringstream cmdstream( cmdline );
     std::string cmd;
 
     cmdstream >> cmd;
 
     try {
       if (cmd.length() == 0) {
       } else if (match( cmd, "quit" )) {
         break;
       } else if (match( cmd, "new" )) {
         if (c) {
           std::cerr << "container exists, 'delete' it first";
         } else {
           //c = new CONTAINERTYPE<ETYPE,13>;
           c = new CONTAINERTYPE<ETYPE>;
         }
       } else if (match( cmd, "help" ) || cmd == "?") {
         std::cout << helpstr;
       } else if (match( cmd, "trace" )) {
         std::cout << "trace " << ((traceIt = !traceIt) ? "on" : "off");
       } else if (!c) {
         std::cout << "no container (use 'new')";
       } else {
         ETYPE key;
         if (match( cmd, "delete" )) {
           delete c;
           c = 0;
         } else if (match( cmd, "add" )) {
           while (cmdstream >> key) { c->add( key ); }
         } else if (match( cmd, "remove" )) {
           while (cmdstream >> key) { c->remove( key ); }
         } else if (match( cmd, "member" )) {
           cmdstream >> key;
           std::cout << "returns " << c->member( key );
         } else if (match( cmd, "size" )) {
           std::cout << "returns " << c->size( );
         } else if (match( cmd, "empty" )) {
           std::cout << "returns " << c->empty( );
         } else if (match( cmd, "min" )) {
           std::cout << "returns " << c->min( );
         } else if (match( cmd, "max" )) {
           std::cout << "returns " << c->max( );
         } else if (match( cmd, "print" )) {
           std::cout << *c;
         } else if (match( cmd, "apply" )) {
           int n = 0;
           std::string order = "dontcare";
           cmdstream >> order >> n;
           size_t rc = c->apply( PrintN<ETYPE>( n ), match( order, "ascending" ) ? ascending : match( order, "descending" ) ? descending : dontcare );
           std::cout << "\nreturns " << rc;
         } else if (match( cmd, "fadd" )) {
           std::string filename;
           cmdstream >> filename;
           std::ifstream keystream( filename.c_str() );
           while (keystream >> key) { c->add( key ); }
         } else if (match( cmd, "fremove" )) {
           std::string filename;
           cmdstream >> filename;
           std::ifstream keystream( filename.c_str() );
           while (keystream >> key) { c->remove( key ); }
         } else if (match( cmd, "radd" )) {
           int seed = -1, count = 1;
           cmdstream >> count >> seed;
           if (seed != -1) setrandom( seed );
           while (count-- > 0) c->add( nextrandom<ETYPE>() );
         } else if (match( cmd, "rremove" )) {
           int seed = -1, count = 1;
           cmdstream >> count >> seed;
           if (seed != -1) setrandom( seed );
           while (count-- > 0) c->remove( nextrandom<ETYPE>() );
         } else {
           std::cout << cmd << "? try 'help'";
         }
       }
     } catch (ContainerException& e) {
       std::cout << "ContainerException " << e.what();
     } catch (std::exception& e) {
       std::cout << "Exception " << e.what();
     } catch (...) {
       std::cout << "OOPS!";
     }
   }
   return 0;
 }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x8d0, %rsp            # imm = 0x8D0
callq 0x31d0
movl $0x0, -0x4(%rbp)
movq $0x0, -0x10(%rbp)
movb $0x0, -0x11(%rbp)
movq 0x8686(%rip), %rax      # 0xbfd0
movq (%rax), %rax
movq 0x867c(%rip), %rdi      # 0xbfd0
addq -0x18(%rax), %rdi
movl $0x1, %esi
callq 0x4a20
testb $0x1, -0x11(%rbp)
je 0x39c3
cmpq $0x0, -0x10(%rbp)
je 0x399f
movq 0x865a(%rip), %rdi      # 0xbfd0
movq 0x8633(%rip), %rsi      # 0xbfb0
callq 0x3280
movq %rax, %rdi
leaq 0x5b40(%rip), %rsi      # 0x94cc
callq 0x3240
movq %rax, %rdi
movq -0x10(%rbp), %rsi
callq 0x4a70
jmp 0x39c1
movq 0x862a(%rip), %rdi      # 0xbfd0
movq 0x8603(%rip), %rsi      # 0xbfb0
callq 0x3280
movq %rax, %rdi
leaq 0x5b1c(%rip), %rsi      # 0x94d8
callq 0x3240
jmp 0x39c3
movq 0x8606(%rip), %rdi      # 0xbfd0
movq 0x85df(%rip), %rsi      # 0xbfb0
callq 0x3280
movq %rax, %rdi
leaq 0x5b05(%rip), %rsi      # 0x94e5
callq 0x3240
leaq -0x38(%rbp), %rdi
movq %rdi, -0x758(%rbp)
callq 0x3350
movq -0x758(%rbp), %rsi
movq 0x85dd(%rip), %rdi      # 0xbfe0
callq 0x3070
movq %rax, -0x750(%rbp)
jmp 0x3a11
movq -0x750(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x3130
movb %al, -0x759(%rbp)
jmp 0x3a2f
movb -0x759(%rbp), %al
testb $0x1, %al
jne 0x3a3b
jmp 0x3a58
movl $0x3, -0x48(%rbp)
jmp 0x4858
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x496c
leaq -0x1c8(%rbp), %rdi
leaq -0x38(%rbp), %rsi
movl $0x8, %edx
callq 0x33b0
jmp 0x3a6f
leaq -0x1e8(%rbp), %rdi
movq %rdi, -0x768(%rbp)
callq 0x3350
movq -0x768(%rbp), %rsi
leaq -0x1c8(%rbp), %rdi
callq 0x3330
jmp 0x3a97
leaq -0x1e8(%rbp), %rdi
callq 0x3370
cmpq $0x0, %rax
jne 0x3abf
jmp 0x4910
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x4954
leaq 0x5a22(%rip), %rsi      # 0x94e8
leaq -0x1e8(%rbp), %rdi
callq 0x3870
movb %al, -0x769(%rbp)
jmp 0x3ada
movb -0x769(%rbp), %al
testb $0x1, %al
jne 0x3ae6
jmp 0x3b03
movl $0x3, -0x48(%rbp)
jmp 0x4840
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x47cd
leaq 0x59e3(%rip), %rsi      # 0x94ed
leaq -0x1e8(%rbp), %rdi
callq 0x3870
movb %al, -0x76a(%rbp)
jmp 0x3b1e
movb -0x76a(%rbp), %al
testb $0x1, %al
jne 0x3b2a
jmp 0x3b9d
cmpq $0x0, -0x10(%rbp)
je 0x3b48
movq 0x84b8(%rip), %rdi      # 0xbff0
leaq 0x59b2(%rip), %rsi      # 0x94f1
callq 0x3240
jmp 0x3b46
jmp 0x3b98
movl $0x10, %edi
callq 0x3250
movq %rax, -0x778(%rbp)
jmp 0x3b5b
movq -0x778(%rbp), %rdi
callq 0x4ab0
jmp 0x3b69
movq -0x778(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x3b98
movq -0x778(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
movl $0x10, %esi
callq 0x3270
jmp 0x47cd
jmp 0x490c
leaq 0x5971(%rip), %rsi      # 0x9515
leaq -0x1e8(%rbp), %rdi
callq 0x3870
movb %al, -0x779(%rbp)
jmp 0x3bb8
movb -0x779(%rbp), %al
testb $0x1, %al
jne 0x3beb
jmp 0x3bc4
leaq 0x594f(%rip), %rsi      # 0x951a
leaq -0x1e8(%rbp), %rdi
callq 0x4b60
movb %al, -0x77a(%rbp)
jmp 0x3bdf
movb -0x77a(%rbp), %al
testb $0x1, %al
jne 0x3beb
jmp 0x3c05
movq 0x83de(%rip), %rdi      # 0xbfd0
leaq 0x5417(%rip), %rsi      # 0x9010
callq 0x3240
jmp 0x3c00
jmp 0x490a
leaq 0x5910(%rip), %rsi      # 0x951c
leaq -0x1e8(%rbp), %rdi
callq 0x3870
movb %al, -0x77b(%rbp)
jmp 0x3c20
movb -0x77b(%rbp), %al
testb $0x1, %al
jne 0x3c2c
jmp 0x3c7c
movq 0x839d(%rip), %rdi      # 0xbfd0
leaq 0x58e8(%rip), %rsi      # 0x9522
callq 0x3240
movq %rax, -0x788(%rbp)
jmp 0x3c48
movq -0x788(%rbp), %rdi
movb -0x11(%rbp), %cl
movb %cl, %al
notb %al
andb $0x1, %al
movb %al, -0x11(%rbp)
leaq 0x58ca(%rip), %rax      # 0x952c
leaq 0x58c0(%rip), %rsi      # 0x9529
testb $0x1, %cl
cmovneq %rax, %rsi
callq 0x3240
jmp 0x3c77
jmp 0x4908
cmpq $0x0, -0x10(%rbp)
jne 0x3c9d
movq 0x8346(%rip), %rdi      # 0xbfd0
leaq 0x589f(%rip), %rsi      # 0x9530
callq 0x3240
jmp 0x3c98
jmp 0x4906
leaq -0x208(%rbp), %rdi
callq 0x3350
leaq 0x5899(%rip), %rsi      # 0x9549
leaq -0x1e8(%rbp), %rdi
callq 0x3870
movb %al, -0x789(%rbp)
jmp 0x3cc4
movb -0x789(%rbp), %al
testb $0x1, %al
jne 0x3cd0
jmp 0x3d0c
movq -0x10(%rbp), %rax
movq %rax, -0x798(%rbp)
cmpq $0x0, %rax
je 0x3cee
movq -0x798(%rbp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, -0x10(%rbp)
jmp 0x47b0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x47c1
leaq 0x5886(%rip), %rsi      # 0x9599
leaq -0x1e8(%rbp), %rdi
callq 0x3870
movb %al, -0x799(%rbp)
jmp 0x3d27
movb -0x799(%rbp), %al
testb $0x1, %al
jne 0x3d33
jmp 0x3d98
jmp 0x3d35
leaq -0x1c8(%rbp), %rdi
leaq -0x208(%rbp), %rsi
callq 0x3330
movq %rax, -0x7a8(%rbp)
jmp 0x3d51
movq -0x7a8(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x3320
movb %al, -0x7a9(%rbp)
jmp 0x3d6f
movb -0x7a9(%rbp), %al
testb $0x1, %al
jne 0x3d7b
jmp 0x3d93
movq -0x10(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
leaq -0x208(%rbp), %rsi
callq *%rax
jmp 0x3d91
jmp 0x3d35
jmp 0x47ae
leaq 0x57ff(%rip), %rsi      # 0x959e
leaq -0x1e8(%rbp), %rdi
callq 0x3870
movb %al, -0x7aa(%rbp)
jmp 0x3db3
movb -0x7aa(%rbp), %al
testb $0x1, %al
jne 0x3dbf
jmp 0x3e24
jmp 0x3dc1
leaq -0x1c8(%rbp), %rdi
leaq -0x208(%rbp), %rsi
callq 0x3330
movq %rax, -0x7b8(%rbp)
jmp 0x3ddd
movq -0x7b8(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x3320
movb %al, -0x7b9(%rbp)
jmp 0x3dfb
movb -0x7b9(%rbp), %al
testb $0x1, %al
jne 0x3e07
jmp 0x3e1f
movq -0x10(%rbp), %rdi
movq (%rdi), %rax
movq 0x20(%rax), %rax
leaq -0x208(%rbp), %rsi
callq *%rax
jmp 0x3e1d
jmp 0x3dc1
jmp 0x47ac
leaq 0x5725(%rip), %rsi      # 0x9550
leaq -0x1e8(%rbp), %rdi
callq 0x3870
movb %al, -0x7ba(%rbp)
jmp 0x3e3f
movb -0x7ba(%rbp), %al
testb $0x1, %al
jne 0x3e4b
jmp 0x3eb7
leaq -0x1c8(%rbp), %rdi
leaq -0x208(%rbp), %rsi
callq 0x3330
jmp 0x3e60
movq 0x8169(%rip), %rdi      # 0xbfd0
leaq 0x5721(%rip), %rsi      # 0x958f
callq 0x3240
movq %rax, -0x7c8(%rbp)
jmp 0x3e7c
movq -0x10(%rbp), %rdi
movq (%rdi), %rax
movq 0x30(%rax), %rax
leaq -0x208(%rbp), %rsi
callq *%rax
movb %al, -0x7c9(%rbp)
jmp 0x3e98
movq -0x7c8(%rbp), %rdi
movb -0x7c9(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
callq 0x33f0
jmp 0x3eb2
jmp 0x47aa
leaq 0x5699(%rip), %rsi      # 0x9557
leaq -0x1e8(%rbp), %rdi
callq 0x3870
movb %al, -0x7ca(%rbp)
jmp 0x3ed2
movb -0x7ca(%rbp), %al
testb $0x1, %al
jne 0x3ede
jmp 0x3f2a
movq 0x80eb(%rip), %rdi      # 0xbfd0
leaq 0x56a3(%rip), %rsi      # 0x958f
callq 0x3240
movq %rax, -0x7d8(%rbp)
jmp 0x3efa
movq -0x10(%rbp), %rdi
movq (%rdi), %rax
movq 0x38(%rax), %rax
callq *%rax
movq %rax, -0x7e0(%rbp)
jmp 0x3f10
movq -0x7e0(%rbp), %rsi
movq -0x7d8(%rbp), %rdi
callq 0x3080
jmp 0x3f25
jmp 0x47a8
leaq 0x56b8(%rip), %rsi      # 0x95e9
leaq -0x1e8(%rbp), %rdi
callq 0x3870
movb %al, -0x7e1(%rbp)
jmp 0x3f45
movb -0x7e1(%rbp), %al
testb $0x1, %al
jne 0x3f51
jmp 0x3fa1
movq 0x8078(%rip), %rdi      # 0xbfd0
leaq 0x5630(%rip), %rsi      # 0x958f
callq 0x3240
movq %rax, -0x7f0(%rbp)
jmp 0x3f6d
movq -0x10(%rbp), %rdi
movq (%rdi), %rax
movq 0x40(%rax), %rax
callq *%rax
movb %al, -0x7f1(%rbp)
jmp 0x3f82
movq -0x7f0(%rbp), %rdi
movb -0x7f1(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
callq 0x33f0
jmp 0x3f9c
jmp 0x47a6
leaq 0x55b4(%rip), %rsi      # 0x955c
leaq -0x1e8(%rbp), %rdi
callq 0x3870
movb %al, -0x7f2(%rbp)
jmp 0x3fbc
movb -0x7f2(%rbp), %al
testb $0x1, %al
jne 0x3fc8
jmp 0x403d
movq 0x8001(%rip), %rdi      # 0xbfd0
leaq 0x55b9(%rip), %rsi      # 0x958f
callq 0x3240
movq %rax, -0x800(%rbp)
jmp 0x3fe4
movq -0x10(%rbp), %rsi
movq (%rsi), %rax
movq 0x50(%rax), %rax
leaq -0x228(%rbp), %rdi
callq *%rax
jmp 0x3ffa
movq -0x800(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x3210
jmp 0x400f
leaq -0x228(%rbp), %rdi
callq 0x3180
jmp 0x47a4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x228(%rbp), %rdi
callq 0x3180
jmp 0x47c1
leaq 0x551c(%rip), %rsi      # 0x9560
leaq -0x1e8(%rbp), %rdi
callq 0x3870
movb %al, -0x801(%rbp)
jmp 0x4058
movb -0x801(%rbp), %al
testb $0x1, %al
jne 0x4064
jmp 0x40d9
movq 0x7f65(%rip), %rdi      # 0xbfd0
leaq 0x551d(%rip), %rsi      # 0x958f
callq 0x3240
movq %rax, -0x810(%rbp)
jmp 0x4080
movq -0x10(%rbp), %rsi
movq (%rsi), %rax
movq 0x58(%rax), %rax
leaq -0x248(%rbp), %rdi
callq *%rax
jmp 0x4096
movq -0x810(%rbp), %rdi
leaq -0x248(%rbp), %rsi
callq 0x3210
jmp 0x40ab
leaq -0x248(%rbp), %rdi
callq 0x3180
jmp 0x47a2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x3180
jmp 0x47c1
leaq 0x5484(%rip), %rsi      # 0x9564
leaq -0x1e8(%rbp), %rdi
callq 0x3870
movb %al, -0x811(%rbp)
jmp 0x40f4
movb -0x811(%rbp), %al
testb $0x1, %al
jne 0x4100
jmp 0x4117
movq -0x10(%rbp), %rsi
movq 0x7ec5(%rip), %rdi      # 0xbfd0
callq 0x4a70
jmp 0x4112
jmp 0x47a0
leaq 0x544c(%rip), %rsi      # 0x956a
leaq -0x1e8(%rbp), %rdi
callq 0x3870
movb %al, -0x812(%rbp)
jmp 0x4132
movb -0x812(%rbp), %al
testb $0x1, %al
jne 0x4141
jmp 0x431b
movl $0x0, -0x24c(%rbp)
leaq -0x271(%rbp), %rdi
movq %rdi, -0x820(%rbp)
callq 0x33e0
movq -0x820(%rbp), %rdx
leaq 0x5404(%rip), %rsi      # 0x9570
leaq -0x270(%rbp), %rdi
callq 0x4ba0
jmp 0x417a
leaq -0x271(%rbp), %rdi
callq 0x32a0
leaq -0x1c8(%rbp), %rdi
leaq -0x270(%rbp), %rsi
callq 0x3330
movq %rax, -0x828(%rbp)
jmp 0x41a2
movq -0x828(%rbp), %rdi
leaq -0x24c(%rbp), %rsi
callq 0x3170
jmp 0x41b7
movq -0x10(%rbp), %rax
movq %rax, -0x830(%rbp)
movl -0x24c(%rbp), %esi
movq 0x7e01(%rip), %rdx      # 0xbfd0
leaq -0x298(%rbp), %rdi
callq 0x4c70
jmp 0x41dd
leaq 0x5395(%rip), %rsi      # 0x9579
leaq -0x270(%rbp), %rdi
callq 0x3870
movb %al, -0x831(%rbp)
jmp 0x41f8
movb -0x831(%rbp), %al
testb $0x1, %al
jne 0x4204
jmp 0x4211
movl $0x1, %eax
movl %eax, -0x838(%rbp)
jmp 0x4245
leaq 0x536b(%rip), %rsi      # 0x9583
leaq -0x270(%rbp), %rdi
callq 0x3870
movb %al, -0x839(%rbp)
jmp 0x422c
movb -0x839(%rbp), %dl
xorl %eax, %eax
movl $0x2, %ecx
testb $0x1, %dl
cmovnel %ecx, %eax
movl %eax, -0x838(%rbp)
movq -0x830(%rbp), %rdi
movl -0x838(%rbp), %edx
movq (%rdi), %rax
movq 0x48(%rax), %rax
leaq -0x298(%rbp), %rsi
callq *%rax
movq %rax, -0x848(%rbp)
jmp 0x426b
leaq -0x298(%rbp), %rdi
callq 0x4ce0
movq -0x848(%rbp), %rax
movq %rax, -0x280(%rbp)
movq 0x7d44(%rip), %rdi      # 0xbfd0
leaq 0x52fb(%rip), %rsi      # 0x958e
callq 0x3240
movq %rax, -0x850(%rbp)
jmp 0x42a1
movq -0x850(%rbp), %rdi
movq -0x280(%rbp), %rsi
callq 0x3080
jmp 0x42b6
leaq -0x270(%rbp), %rdi
callq 0x3180
jmp 0x479e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x271(%rbp), %rdi
callq 0x32a0
jmp 0x47c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x430a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x298(%rbp), %rdi
callq 0x4ce0
leaq -0x270(%rbp), %rdi
callq 0x3180
jmp 0x47c1
leaq 0x5276(%rip), %rsi      # 0x9598
leaq -0x1e8(%rbp), %rdi
callq 0x3870
movb %al, -0x851(%rbp)
jmp 0x4336
movb -0x851(%rbp), %al
testb $0x1, %al
jne 0x4345
jmp 0x4445
leaq -0x2b8(%rbp), %rdi
movq %rdi, -0x860(%rbp)
callq 0x3350
movq -0x860(%rbp), %rsi
leaq -0x1c8(%rbp), %rdi
callq 0x3330
jmp 0x436d
leaq -0x2b8(%rbp), %rdi
callq 0x30f0
movq %rax, %rsi
leaq -0x4c0(%rbp), %rdi
movl $0x8, %edx
callq 0x3410
jmp 0x438f
jmp 0x4391
leaq -0x4c0(%rbp), %rdi
leaq -0x208(%rbp), %rsi
callq 0x3330
movq %rax, -0x868(%rbp)
jmp 0x43ad
movq -0x868(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x3320
movb %al, -0x869(%rbp)
jmp 0x43cb
movb -0x869(%rbp), %al
testb $0x1, %al
jne 0x43d7
jmp 0x4417
movq -0x10(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
leaq -0x208(%rbp), %rsi
callq *%rax
jmp 0x43ed
jmp 0x4391
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x4434
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x4c0(%rbp), %rdi
callq 0x3090
jmp 0x4434
leaq -0x4c0(%rbp), %rdi
callq 0x3090
leaq -0x2b8(%rbp), %rdi
callq 0x3180
jmp 0x479c
leaq -0x2b8(%rbp), %rdi
callq 0x3180
jmp 0x47c1
leaq 0x5151(%rip), %rsi      # 0x959d
leaq -0x1e8(%rbp), %rdi
callq 0x3870
movb %al, -0x86a(%rbp)
jmp 0x4460
movb -0x86a(%rbp), %al
testb $0x1, %al
jne 0x446f
jmp 0x456f
leaq -0x4e0(%rbp), %rdi
movq %rdi, -0x878(%rbp)
callq 0x3350
movq -0x878(%rbp), %rsi
leaq -0x1c8(%rbp), %rdi
callq 0x3330
jmp 0x4497
leaq -0x4e0(%rbp), %rdi
callq 0x30f0
movq %rax, %rsi
leaq -0x6e8(%rbp), %rdi
movl $0x8, %edx
callq 0x3410
jmp 0x44b9
jmp 0x44bb
leaq -0x6e8(%rbp), %rdi
leaq -0x208(%rbp), %rsi
callq 0x3330
movq %rax, -0x880(%rbp)
jmp 0x44d7
movq -0x880(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x3320
movb %al, -0x881(%rbp)
jmp 0x44f5
movb -0x881(%rbp), %al
testb $0x1, %al
jne 0x4501
jmp 0x4541
movq -0x10(%rbp), %rdi
movq (%rdi), %rax
movq 0x20(%rax), %rax
leaq -0x208(%rbp), %rsi
callq *%rax
jmp 0x4517
jmp 0x44bb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x455e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x6e8(%rbp), %rdi
callq 0x3090
jmp 0x455e
leaq -0x6e8(%rbp), %rdi
callq 0x3090
leaq -0x4e0(%rbp), %rdi
callq 0x3180
jmp 0x479a
leaq -0x4e0(%rbp), %rdi
callq 0x3180
jmp 0x47c1
leaq 0x502f(%rip), %rsi      # 0x95a5
leaq -0x1e8(%rbp), %rdi
callq 0x3870
movb %al, -0x882(%rbp)
jmp 0x458a
movb -0x882(%rbp), %al
testb $0x1, %al
jne 0x4599
jmp 0x466c
movl $0xffffffff, -0x6ec(%rbp) # imm = 0xFFFFFFFF
movl $0x1, -0x6f0(%rbp)
leaq -0x1c8(%rbp), %rdi
leaq -0x6f0(%rbp), %rsi
callq 0x3170
movq %rax, -0x890(%rbp)
jmp 0x45c9
movq -0x890(%rbp), %rdi
leaq -0x6ec(%rbp), %rsi
callq 0x3170
jmp 0x45de
cmpl $-0x1, -0x6ec(%rbp)
je 0x45f2
movl -0x6ec(%rbp), %edi
callq 0x35f0
jmp 0x45f4
movl -0x6f0(%rbp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, -0x6f0(%rbp)
cmpl $0x0, %eax
jle 0x4667
movq -0x10(%rbp), %rax
movq %rax, -0x898(%rbp)
leaq -0x710(%rbp), %rdi
callq 0x3620
jmp 0x4623
movq -0x898(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
leaq -0x710(%rbp), %rsi
callq *%rax
jmp 0x463c
leaq -0x710(%rbp), %rdi
callq 0x3180
jmp 0x45f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x710(%rbp), %rdi
callq 0x3180
jmp 0x47c1
jmp 0x4798
leaq 0x4f37(%rip), %rsi      # 0x95aa
leaq -0x1e8(%rbp), %rdi
callq 0x3870
movb %al, -0x899(%rbp)
jmp 0x4687
movb -0x899(%rbp), %al
testb $0x1, %al
jne 0x4696
jmp 0x4763
movl $0xffffffff, -0x714(%rbp) # imm = 0xFFFFFFFF
movl $0x1, -0x718(%rbp)
leaq -0x1c8(%rbp), %rdi
leaq -0x718(%rbp), %rsi
callq 0x3170
movq %rax, -0x8a8(%rbp)
jmp 0x46c6
movq -0x8a8(%rbp), %rdi
leaq -0x714(%rbp), %rsi
callq 0x3170
jmp 0x46db
cmpl $-0x1, -0x714(%rbp)
je 0x46ef
movl -0x714(%rbp), %edi
callq 0x35f0
jmp 0x46f1
movl -0x718(%rbp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, -0x718(%rbp)
cmpl $0x0, %eax
jle 0x4761
movq -0x10(%rbp), %rax
movq %rax, -0x8b0(%rbp)
leaq -0x738(%rbp), %rdi
callq 0x3620
jmp 0x4720
movq -0x8b0(%rbp), %rdi
movq (%rdi), %rax
movq 0x20(%rax), %rax
leaq -0x738(%rbp), %rsi
callq *%rax
jmp 0x4739
leaq -0x738(%rbp), %rdi
callq 0x3180
jmp 0x46f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x738(%rbp), %rdi
callq 0x3180
jmp 0x47c1
jmp 0x4796
movq 0x7866(%rip), %rdi      # 0xbfd0
leaq -0x1e8(%rbp), %rsi
callq 0x3210
movq %rax, -0x8b8(%rbp)
jmp 0x477f
movq -0x8b8(%rbp), %rdi
leaq 0x4e25(%rip), %rsi      # 0x95b2
callq 0x3240
jmp 0x4794
jmp 0x4796
jmp 0x4798
jmp 0x479a
jmp 0x479c
jmp 0x479e
jmp 0x47a0
jmp 0x47a2
jmp 0x47a4
jmp 0x47a6
jmp 0x47a8
jmp 0x47aa
jmp 0x47ac
jmp 0x47ae
jmp 0x47b0
leaq -0x208(%rbp), %rdi
callq 0x3180
jmp 0x4906
leaq -0x208(%rbp), %rdi
callq 0x3180
movl -0x44(%rbp), %eax
movl %eax, -0x8bc(%rbp)
movl $0x3, %ecx
cmpl %ecx, %eax
jne 0x4874
movq -0x40(%rbp), %rdi
callq 0x30e0
movq %rax, -0x748(%rbp)
movq 0x77d6(%rip), %rdi      # 0xbfd0
leaq 0x4dc4(%rip), %rsi      # 0x95c5
callq 0x3240
movq %rax, -0x8c8(%rbp)
jmp 0x480f
movq -0x748(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq -0x8c8(%rbp), %rdi
movq %rax, %rsi
callq 0x3240
jmp 0x4830
callq 0x33a0
jmp 0x4837
jmp 0x4839
movl $0x0, -0x48(%rbp)
leaq -0x1e8(%rbp), %rdi
callq 0x3180
leaq -0x1c8(%rbp), %rdi
callq 0x3140
leaq -0x38(%rbp), %rdi
callq 0x3180
movl -0x48(%rbp), %eax
testl %eax, %eax
je 0x486f
jmp 0x486a
jmp 0x4977
jmp 0x3962
movl -0x8bc(%rbp), %eax
movl $0x2, %ecx
cmpl %ecx, %eax
jne 0x48dc
movq -0x40(%rbp), %rdi
callq 0x30e0
movq %rax, -0x740(%rbp)
movq 0x7736(%rip), %rdi      # 0xbfd0
leaq 0x4d2d(%rip), %rsi      # 0x95ce
callq 0x3240
movq %rax, -0x8d0(%rbp)
jmp 0x48af
movq -0x740(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq -0x8d0(%rbp), %rdi
movq %rax, %rsi
callq 0x3240
jmp 0x48d0
callq 0x33a0
jmp 0x48d7
jmp 0x4839
movq -0x40(%rbp), %rdi
callq 0x30e0
movq 0x76e4(%rip), %rdi      # 0xbfd0
leaq 0x4ccc(%rip), %rsi      # 0x95bf
callq 0x3240
jmp 0x48fa
callq 0x33a0
jmp 0x4901
jmp 0x4839
jmp 0x4908
jmp 0x490a
jmp 0x490c
jmp 0x490e
jmp 0x4910
jmp 0x4839
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
callq 0x33a0
jmp 0x4928
jmp 0x4954
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
callq 0x33a0
jmp 0x493d
jmp 0x4954
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
callq 0x33a0
jmp 0x4952
jmp 0x4954
leaq -0x1e8(%rbp), %rdi
callq 0x3180
leaq -0x1c8(%rbp), %rdi
callq 0x3140
leaq -0x38(%rbp), %rdi
callq 0x3180
jmp 0x4982
xorl %eax, %eax
addq $0x8d0, %rsp            # imm = 0x8D0
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x33d0
movq %rax, %rdi
callq 0x4d10
nopw %cs:(%rax,%rax)
nopl (%rax)