// File: /workspace/github_c_makefile_star2_O0/mabdi[P]bunney/bunny-main.c
// Function: main
int main(int argc, char** argv) {
  _u8* q, ef;
  _u32 st, en;
  _s32 opt;
  struct bunny_traceitem *ref;

  check_shm_cap();
  
  signal(SIGINT,handle_sig);
  signal(SIGHUP,handle_sig);
  signal(SIGPIPE,SIG_IGN);
  signal(SIGTERM,handle_sig);

  while ((opt = getopt(argc,argv,"+i:o:f:t:u:l:s:x:B:C:O:E:L:X:Y:R:S:N:P:M:F:n8drkqgz")) > 0) 
    switch (opt) {
    
      case 'i': {
          /* bunny-flow checks that too, but we want to be user-friendly */
          struct stat st;
	  if (in_dir) fatal("multiple -i options make no sense");
          if (stat(optarg,&st) || !S_ISDIR(st.st_mode) || access(optarg,X_OK|R_OK))
	    fatal("input directory (-i) not found or non-accessible");
          in_dir = optarg;
	}
 	break;

      case 'o': {
          struct stat st;
	  if (out_dir) fatal("multiple -o options make no sense");
          if (stat(optarg,&st) || !S_ISDIR(st.st_mode) || access(optarg,X_OK|R_OK|W_OK))
	    fatal("output directory (-o) not found or non-writable");
          out_dir = optarg;
	}
 	break;
	
      case 'f': 
        if (write_port || write_file) fatal("only one -t / -u / -l option allowed");
        write_file = optarg;
	break;

      case 't': {
          _u8 a[4];
	  use_udp = 0;
	  if (write_port || write_file) fatal("only one -f / -t / -u / -l option allowed");
          if (sscanf(optarg,"%hhu.%hhu.%hhu.%hhu:%u",&a[0],&a[1],&a[2],&a[3],&write_port) != 5 || !write_port || write_port > 65535)
	    fatal("malformed -t parameter");
  	  write_host = *(unsigned int*)a;
	}
	break;

      case 'u': {
          _u8 a[4];
	  use_udp = 1;
	  if (write_port || write_file) fatal("only one -f / -t / -u / -l option allowed");
          if (sscanf(optarg,"%hhu.%hhu.%hhu.%hhu:%u",&a[0],&a[1],&a[2],&a[3],&write_port) != 5 || !write_port || write_port > 65535)
	    fatal("malformed -u parameter");
  	  write_host = *(unsigned int*)a;
	}
	break;

      case 'l': 
        if (write_port || write_file) fatal("only one -f / -t / -u / -l option allowed");
        write_port = par_atou(optarg,opt,0);
        if (write_port > 65355) fatal("malformed -l port number");
	break;
	
      case 's':
        stall_limit = par_atou(optarg,opt,1);
	if (!stall_limit) stall_limit = 60 * 1000;
	break;

      case 'x':
        time_limit = par_atou(optarg,opt,1);
	if (!time_limit) time_limit = 60 * 1000;
	break;
	
      case 'q':
        use_qrand = 1;
	break;

      case '8':
        use_all8 = 1;
	break;

      case 'n':
        keep_fault = 1;
	break;

      case 'd':
	allow_dummy = 1;
	break;

      case 'r':
	full_range = 1;
        if (zero_range) fatal("-r and -z are mutually exclusive");
	break;

      case 'z':
	zero_range = 1;
        if (full_range) fatal("-r and -z are mutually exclusive");
	break;

      case 'k':
	skip_rounds = 1;
	break;

      case 'g':
        use_beep = 1;
        break;

      case 'B':
        bitflip_inc = 1;
	if (sscanf(optarg,"%u:%u",&bitflip_max,&bitflip_inc) < 1) 
	  fatal("malformed -B option");
	if (!bitflip_inc || !bitflip_max || bitflip_inc > bitflip_max)
	  fatal("malformed -B option");
	if (bitflip_max / bitflip_inc > BYTE_CLIMIT)
	  fatal("-B settings would take too many fuzzing cycles");
        break;

      case 'C':
        chunk_inc = 1;
	if (sscanf(optarg,"%u:%u",&chunk_max,&chunk_inc) < 1) 
	  fatal("malformed -C option");
	if (!chunk_inc || !chunk_max || chunk_inc > chunk_max)
	  fatal("malformed -C option");
	if (chunk_max / chunk_inc * chunk_off_max > BYTE_CLIMIT)
	  fatal("-C / -O settings would take too many fuzzing cycles");
        break;
	
      case 'O':
        chunk_off_max = par_atou(optarg,opt,1);
	if (!chunk_off_max) chunk_off_max = 128; else
	if (chunk_max / chunk_inc * chunk_off_max > BYTE_CLIMIT)
	  fatal("-C / -O settings would take too many fuzzing cycles");
        break;
	
      case 'E':
        eff_count_max = par_atou(optarg,opt,0);
        break;

      case 'M':
        func_limit = par_atou(optarg,opt,0);
        break;

      case 'F':
        size_limit = par_atou(optarg,opt,0);
        break;
	
      case 'X': {
          _s64 i;
	  _u32 b;
          if (sscanf(optarg,"%u:%Li",&b,&i) != 2) fatal("malformed -X input");
	  
	  use_builtin_vals = 0;
	  
	  switch (b) {
	    case 1: ADDINT(byte_val_list,i);    break;
	    case 2: ADDINT(word_val_list,i);    break;
	    case 4: ADDINT(dword_val_list,i);   break;
	    default: fatal("incorrect -X byte width");
	  }
	}
	break;

     case 'Y':
       rand_val_walks = par_atou(optarg,opt,1);
       if (rand_val_walks > TOTAL_CLIMIT)
         fatal("-Y setting would take too many fuzzing cycles");
       break;
       
     case 'R':
       rand_phase_cycles = par_atou(optarg,opt,1);
       /* -R and -S do not take long, no TOTAL_CLIMIT check */
       break;

     case 'S':
       rand_phase_stacking = par_atou(optarg,opt,1);
       /* -R and -S do not take long, no TOTAL_CLIMIT check */
       break;
       
     case 'N':
       cycle_branch_limit = par_atou(optarg,opt,0);
       break;       

     case 'P':
       cycle_value_limit = par_atou(optarg,opt,0);
       break;       

     case 'L':
       cal_cycles = par_atou(optarg,opt,0);
       if (cal_cycles > TOTAL_CLIMIT)
         fatal("-L setting would take too many fuzzing cycles");
       break;       
    
      default: usage(argv[0]);

    }
    
  if (optind == argc || !in_dir || !out_dir) usage(argv[0]);

  if (use_builtin_vals) init_builtin_vals();

  st = time(0);

  init_random();

  /* A bit hackish, but hey. */
  program_args = (_u8**) ( argv + optind - 1 );
  program_args[0] = "bunny-exec";
    
  init_outfile();
  
  display_info(argv + optind, argc - optind);
  
  start_flow();

  add_queue(in_dir,0);

  while ((q = get_queue(&ref,&ef)))
    process_fuzz_main(q,ref,ef);
  
  if (flow_pid > 0) kill(flow_pid,SIGTERM);
  if (exec_pid > 0) kill(exec_pid,SIGTERM);

  en = time(0);
  
  outf("\n"
       "  Fuzz cycles executed : %u (%u partial)\n"
       "    Processes launched : %llu\n"
       "      Fault conditions : %u\n"
       "       Call path count : %u (+%u ignored)\n"
       "  Parameter variations : %u (+%u ignored)\n"
       "     Effector segments : %u\n"
       "    Total running time : %u:%02u:%02u\n"
       "   Average performance : %0.02f execs/sec\n"
       "\n"
       "[+] Exiting gracefully.\n",
       cur_cycle, fuzz_ign, exec_cnt, crash_cnt, epath_cnt, epath_ign, 
       ppath_cnt, ppath_ign, effect_cnt, (en-st)/60/60, ((en-st)/60) % 60,(en-st) % 60,
         ((float)exec_cnt) / (1 + en-st - (11.0 * usleeps_done) / 10 ));

  unlink(N(out_dir,".fake-pipe"));
  unlink(N(out_dir,".flow-in"));
  
  fclose(outfile);
  return 0;
  
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x258, %rsp            # imm = 0x258
movl $0x0, -0x2c(%rbp)
movl %edi, -0x30(%rbp)
movq %rsi, -0x38(%rbp)
callq 0x42b0
movl $0x2, %edi
leaq 0x1ddd(%rip), %rsi      # 0x42c0
callq 0x2230
movl $0x1, %edi
leaq 0x1dcc(%rip), %rsi      # 0x42c0
callq 0x2230
movl $0xd, %edi
movl $0x1, %esi
callq 0x2230
movl $0xf, %edi
leaq 0x1dac(%rip), %rsi      # 0x42c0
callq 0x2230
movl -0x30(%rbp), %edi
movq -0x38(%rbp), %rsi
leaq 0xbc1d(%rip), %rdx      # 0xe144
callq 0x2070
movl %eax, -0x50(%rbp)
cmpl $0x0, %eax
jle 0x3d99
movl -0x50(%rbp), %eax
addl $-0x38, %eax
movl %eax, %ecx
movq %rcx, -0x1b0(%rbp)
subl $0x42, %eax
ja 0x3d88
movq -0x1b0(%rbp), %rax
leaq 0xbaba(%rip), %rcx      # 0xe018
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpq $0x0, 0xfd61(%rip)      # 0x122d0
je 0x260a
jmp 0x2577
jmp 0x2579
leaq 0xbbf8(%rip), %rdi      # 0xe178
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xfd49(%rip)      # 0x122d8
je 0x25a6
movq 0xfd40(%rip), %rdi      # 0x122d8
leaq 0xbbd9(%rip), %rsi      # 0xe178
movb $0x0, %al
callq 0x22d0
jmp 0x25a8
jmp 0x25aa
leaq 0xbc00(%rip), %rdi      # 0xe1b1
leaq 0xd01a(%rip), %rsi      # 0xf5d2
leaq 0xbc02(%rip), %rdx      # 0xe1c1
movl $0x766, %ecx            # imm = 0x766
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xfd05(%rip)      # 0x122d8
je 0x25fe
movq 0xfcfc(%rip), %rdi      # 0x122d8
leaq 0xbbce(%rip), %rsi      # 0xe1b1
leaq 0xcfe8(%rip), %rdx      # 0xf5d2
leaq 0xbbd0(%rip), %rcx      # 0xe1c1
movl $0x766, %r8d            # imm = 0x766
movb $0x0, %al
callq 0x22d0
jmp 0x2600
movl $0x1, %edi
callq 0x2250
movq 0xf9bf(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
leaq -0xe8(%rbp), %rsi
callq 0x21a0
cmpl $0x0, %eax
jne 0x2654
movl -0xd0(%rbp), %eax
andl $0xf000, %eax           # imm = 0xF000
cmpl $0x4000, %eax           # imm = 0x4000
jne 0x2654
movq 0xf992(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
movl $0x5, %esi
callq 0x2370
cmpl $0x0, %eax
je 0x26e9
jmp 0x2656
jmp 0x2658
leaq 0xbb6f(%rip), %rdi      # 0xe1ce
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xfc6a(%rip)      # 0x122d8
je 0x2685
movq 0xfc61(%rip), %rdi      # 0x122d8
leaq 0xbb50(%rip), %rsi      # 0xe1ce
movb $0x0, %al
callq 0x22d0
jmp 0x2687
jmp 0x2689
leaq 0xbb21(%rip), %rdi      # 0xe1b1
leaq 0xcf3b(%rip), %rsi      # 0xf5d2
leaq 0xbb23(%rip), %rdx      # 0xe1c1
movl $0x768, %ecx            # imm = 0x768
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xfc26(%rip)      # 0x122d8
je 0x26dd
movq 0xfc1d(%rip), %rdi      # 0x122d8
leaq 0xbaef(%rip), %rsi      # 0xe1b1
leaq 0xcf09(%rip), %rdx      # 0xf5d2
leaq 0xbaf1(%rip), %rcx      # 0xe1c1
movl $0x768, %r8d            # imm = 0x768
movb $0x0, %al
callq 0x22d0
jmp 0x26df
movl $0x1, %edi
callq 0x2250
movq 0xf8e0(%rip), %rax      # 0x11fd0
movq (%rax), %rax
movq %rax, 0xfbd6(%rip)      # 0x122d0
jmp 0x3d94
cmpq $0x0, 0xfbd9(%rip)      # 0x122e0
je 0x27a2
jmp 0x270f
jmp 0x2711
leaq 0xbafe(%rip), %rdi      # 0xe216
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xfbb1(%rip)      # 0x122d8
je 0x273e
movq 0xfba8(%rip), %rdi      # 0x122d8
leaq 0xbadf(%rip), %rsi      # 0xe216
movb $0x0, %al
callq 0x22d0
jmp 0x2740
jmp 0x2742
leaq 0xba68(%rip), %rdi      # 0xe1b1
leaq 0xce82(%rip), %rsi      # 0xf5d2
leaq 0xba6a(%rip), %rdx      # 0xe1c1
movl $0x76f, %ecx            # imm = 0x76F
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xfb6d(%rip)      # 0x122d8
je 0x2796
movq 0xfb64(%rip), %rdi      # 0x122d8
leaq 0xba36(%rip), %rsi      # 0xe1b1
leaq 0xce50(%rip), %rdx      # 0xf5d2
leaq 0xba38(%rip), %rcx      # 0xe1c1
movl $0x76f, %r8d            # imm = 0x76F
movb $0x0, %al
callq 0x22d0
jmp 0x2798
movl $0x1, %edi
callq 0x2250
movq 0xf827(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
leaq -0x178(%rbp), %rsi
callq 0x21a0
cmpl $0x0, %eax
jne 0x27ec
movl -0x160(%rbp), %eax
andl $0xf000, %eax           # imm = 0xF000
cmpl $0x4000, %eax           # imm = 0x4000
jne 0x27ec
movq 0xf7fa(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
movl $0x7, %esi
callq 0x2370
cmpl $0x0, %eax
je 0x2881
jmp 0x27ee
jmp 0x27f0
leaq 0xba58(%rip), %rdi      # 0xe24f
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xfad2(%rip)      # 0x122d8
je 0x281d
movq 0xfac9(%rip), %rdi      # 0x122d8
leaq 0xba39(%rip), %rsi      # 0xe24f
movb $0x0, %al
callq 0x22d0
jmp 0x281f
jmp 0x2821
leaq 0xb989(%rip), %rdi      # 0xe1b1
leaq 0xcda3(%rip), %rsi      # 0xf5d2
leaq 0xb98b(%rip), %rdx      # 0xe1c1
movl $0x771, %ecx            # imm = 0x771
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xfa8e(%rip)      # 0x122d8
je 0x2875
movq 0xfa85(%rip), %rdi      # 0x122d8
leaq 0xb957(%rip), %rsi      # 0xe1b1
leaq 0xcd71(%rip), %rdx      # 0xf5d2
leaq 0xb959(%rip), %rcx      # 0xe1c1
movl $0x771, %r8d            # imm = 0x771
movb $0x0, %al
callq 0x22d0
jmp 0x2877
movl $0x1, %edi
callq 0x2250
movq 0xf748(%rip), %rax      # 0x11fd0
movq (%rax), %rax
movq %rax, 0xfa4e(%rip)      # 0x122e0
jmp 0x3d94
cmpl $0x0, 0xfa4a(%rip)      # 0x122e8
jne 0x28ae
cmpq $0x0, 0xfa48(%rip)      # 0x122f0
je 0x2943
jmp 0x28b0
jmp 0x28b2
leaq 0xb9dd(%rip), %rdi      # 0xe296
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xfa10(%rip)      # 0x122d8
je 0x28df
movq 0xfa07(%rip), %rdi      # 0x122d8
leaq 0xb9be(%rip), %rsi      # 0xe296
movb $0x0, %al
callq 0x22d0
jmp 0x28e1
jmp 0x28e3
leaq 0xb8c7(%rip), %rdi      # 0xe1b1
leaq 0xcce1(%rip), %rsi      # 0xf5d2
leaq 0xb8c9(%rip), %rdx      # 0xe1c1
movl $0x777, %ecx            # imm = 0x777
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf9cc(%rip)      # 0x122d8
je 0x2937
movq 0xf9c3(%rip), %rdi      # 0x122d8
leaq 0xb895(%rip), %rsi      # 0xe1b1
leaq 0xccaf(%rip), %rdx      # 0xf5d2
leaq 0xb897(%rip), %rcx      # 0xe1c1
movl $0x777, %r8d            # imm = 0x777
movb $0x0, %al
callq 0x22d0
jmp 0x2939
movl $0x1, %edi
callq 0x2250
movq 0xf686(%rip), %rax      # 0x11fd0
movq (%rax), %rax
movq %rax, 0xf99c(%rip)      # 0x122f0
jmp 0x3d94
movl $0x0, 0xf995(%rip)      # 0x122f8
cmpl $0x0, 0xf97e(%rip)      # 0x122e8
jne 0x297a
cmpq $0x0, 0xf97c(%rip)      # 0x122f0
je 0x2a0f
jmp 0x297c
jmp 0x297e
leaq 0xb94d(%rip), %rdi      # 0xe2d2
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf944(%rip)      # 0x122d8
je 0x29ab
movq 0xf93b(%rip), %rdi      # 0x122d8
leaq 0xb92e(%rip), %rsi      # 0xe2d2
movb $0x0, %al
callq 0x22d0
jmp 0x29ad
jmp 0x29af
leaq 0xb7fb(%rip), %rdi      # 0xe1b1
leaq 0xcc15(%rip), %rsi      # 0xf5d2
leaq 0xb7fd(%rip), %rdx      # 0xe1c1
movl $0x77e, %ecx            # imm = 0x77E
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf900(%rip)      # 0x122d8
je 0x2a03
movq 0xf8f7(%rip), %rdi      # 0x122d8
leaq 0xb7c9(%rip), %rsi      # 0xe1b1
leaq 0xcbe3(%rip), %rdx      # 0xf5d2
leaq 0xb7cb(%rip), %rcx      # 0xe1c1
movl $0x77e, %r8d            # imm = 0x77E
movb $0x0, %al
callq 0x22d0
jmp 0x2a05
movl $0x1, %edi
callq 0x2250
movq 0xf5ba(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
leaq -0x17c(%rbp), %rdx
leaq -0x17c(%rbp), %rcx
addq $0x1, %rcx
leaq -0x17c(%rbp), %r8
addq $0x2, %r8
leaq -0x17c(%rbp), %r9
addq $0x3, %r9
leaq 0xb8cb(%rip), %rsi      # 0xe313
leaq 0xf899(%rip), %rax      # 0x122e8
movq %rax, (%rsp)
movb $0x0, %al
callq 0x21e0
cmpl $0x5, %eax
jne 0x2a78
cmpl $0x0, 0xf882(%rip)      # 0x122e8
je 0x2a78
cmpl $0xffff, 0xf876(%rip)   # imm = 0xFFFF
jbe 0x2b0d
jmp 0x2a7a
jmp 0x2a7c
leaq 0xb8a7(%rip), %rdi      # 0xe32a
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf846(%rip)      # 0x122d8
je 0x2aa9
movq 0xf83d(%rip), %rdi      # 0x122d8
leaq 0xb888(%rip), %rsi      # 0xe32a
movb $0x0, %al
callq 0x22d0
jmp 0x2aab
jmp 0x2aad
leaq 0xb6fd(%rip), %rdi      # 0xe1b1
leaq 0xcb17(%rip), %rsi      # 0xf5d2
leaq 0xb6ff(%rip), %rdx      # 0xe1c1
movl $0x780, %ecx            # imm = 0x780
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf802(%rip)      # 0x122d8
je 0x2b01
movq 0xf7f9(%rip), %rdi      # 0x122d8
leaq 0xb6cb(%rip), %rsi      # 0xe1b1
leaq 0xcae5(%rip), %rdx      # 0xf5d2
leaq 0xb6cd(%rip), %rcx      # 0xe1c1
movl $0x780, %r8d            # imm = 0x780
movb $0x0, %al
callq 0x22d0
jmp 0x2b03
movl $0x1, %edi
callq 0x2250
movl -0x17c(%rbp), %eax
movl %eax, 0xf7e3(%rip)      # 0x122fc
jmp 0x3d94
movl $0x1, 0xf7d0(%rip)      # 0x122f8
cmpl $0x0, 0xf7b9(%rip)      # 0x122e8
jne 0x2b3f
cmpq $0x0, 0xf7b7(%rip)      # 0x122f0
je 0x2bd4
jmp 0x2b41
jmp 0x2b43
leaq 0xb788(%rip), %rdi      # 0xe2d2
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf77f(%rip)      # 0x122d8
je 0x2b70
movq 0xf776(%rip), %rdi      # 0x122d8
leaq 0xb769(%rip), %rsi      # 0xe2d2
movb $0x0, %al
callq 0x22d0
jmp 0x2b72
jmp 0x2b74
leaq 0xb636(%rip), %rdi      # 0xe1b1
leaq 0xca50(%rip), %rsi      # 0xf5d2
leaq 0xb638(%rip), %rdx      # 0xe1c1
movl $0x788, %ecx            # imm = 0x788
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf73b(%rip)      # 0x122d8
je 0x2bc8
movq 0xf732(%rip), %rdi      # 0x122d8
leaq 0xb604(%rip), %rsi      # 0xe1b1
leaq 0xca1e(%rip), %rdx      # 0xf5d2
leaq 0xb606(%rip), %rcx      # 0xe1c1
movl $0x788, %r8d            # imm = 0x788
movb $0x0, %al
callq 0x22d0
jmp 0x2bca
movl $0x1, %edi
callq 0x2250
movq 0xf3f5(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
leaq -0x180(%rbp), %rdx
leaq -0x180(%rbp), %rcx
addq $0x1, %rcx
leaq -0x180(%rbp), %r8
addq $0x2, %r8
leaq -0x180(%rbp), %r9
addq $0x3, %r9
leaq 0xb706(%rip), %rsi      # 0xe313
leaq 0xf6d4(%rip), %rax      # 0x122e8
movq %rax, (%rsp)
movb $0x0, %al
callq 0x21e0
cmpl $0x5, %eax
jne 0x2c3d
cmpl $0x0, 0xf6bd(%rip)      # 0x122e8
je 0x2c3d
cmpl $0xffff, 0xf6b1(%rip)   # imm = 0xFFFF
jbe 0x2cd2
jmp 0x2c3f
jmp 0x2c41
leaq 0xb710(%rip), %rdi      # 0xe358
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf681(%rip)      # 0x122d8
je 0x2c6e
movq 0xf678(%rip), %rdi      # 0x122d8
leaq 0xb6f1(%rip), %rsi      # 0xe358
movb $0x0, %al
callq 0x22d0
jmp 0x2c70
jmp 0x2c72
leaq 0xb538(%rip), %rdi      # 0xe1b1
leaq 0xc952(%rip), %rsi      # 0xf5d2
leaq 0xb53a(%rip), %rdx      # 0xe1c1
movl $0x78a, %ecx            # imm = 0x78A
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf63d(%rip)      # 0x122d8
je 0x2cc6
movq 0xf634(%rip), %rdi      # 0x122d8
leaq 0xb506(%rip), %rsi      # 0xe1b1
leaq 0xc920(%rip), %rdx      # 0xf5d2
leaq 0xb508(%rip), %rcx      # 0xe1c1
movl $0x78a, %r8d            # imm = 0x78A
movb $0x0, %al
callq 0x22d0
jmp 0x2cc8
movl $0x1, %edi
callq 0x2250
movl -0x180(%rbp), %eax
movl %eax, 0xf61e(%rip)      # 0x122fc
jmp 0x3d94
cmpl $0x0, 0xf5fe(%rip)      # 0x122e8
jne 0x2cfa
cmpq $0x0, 0xf5fc(%rip)      # 0x122f0
je 0x2d8f
jmp 0x2cfc
jmp 0x2cfe
leaq 0xb5cd(%rip), %rdi      # 0xe2d2
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf5c4(%rip)      # 0x122d8
je 0x2d2b
movq 0xf5bb(%rip), %rdi      # 0x122d8
leaq 0xb5ae(%rip), %rsi      # 0xe2d2
movb $0x0, %al
callq 0x22d0
jmp 0x2d2d
jmp 0x2d2f
leaq 0xb47b(%rip), %rdi      # 0xe1b1
leaq 0xc895(%rip), %rsi      # 0xf5d2
leaq 0xb47d(%rip), %rdx      # 0xe1c1
movl $0x790, %ecx            # imm = 0x790
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf580(%rip)      # 0x122d8
je 0x2d83
movq 0xf577(%rip), %rdi      # 0x122d8
leaq 0xb449(%rip), %rsi      # 0xe1b1
leaq 0xc863(%rip), %rdx      # 0xf5d2
leaq 0xb44b(%rip), %rcx      # 0xe1c1
movl $0x790, %r8d            # imm = 0x790
movb $0x0, %al
callq 0x22d0
jmp 0x2d85
movl $0x1, %edi
callq 0x2250
movq 0xf23a(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
movl -0x50(%rbp), %eax
xorl %edx, %edx
movzbl %al, %esi
callq 0x4350
movl %eax, 0xf53c(%rip)      # 0x122e8
cmpl $0xff4b, 0xf532(%rip)   # imm = 0xFF4B
jbe 0x2e51
jmp 0x2dbe
jmp 0x2dc0
leaq 0xb5bf(%rip), %rdi      # 0xe386
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf502(%rip)      # 0x122d8
je 0x2ded
movq 0xf4f9(%rip), %rdi      # 0x122d8
leaq 0xb5a0(%rip), %rsi      # 0xe386
movb $0x0, %al
callq 0x22d0
jmp 0x2def
jmp 0x2df1
leaq 0xb3b9(%rip), %rdi      # 0xe1b1
leaq 0xc7d3(%rip), %rsi      # 0xf5d2
leaq 0xb3bb(%rip), %rdx      # 0xe1c1
movl $0x792, %ecx            # imm = 0x792
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf4be(%rip)      # 0x122d8
je 0x2e45
movq 0xf4b5(%rip), %rdi      # 0x122d8
leaq 0xb387(%rip), %rsi      # 0xe1b1
leaq 0xc7a1(%rip), %rdx      # 0xf5d2
leaq 0xb389(%rip), %rcx      # 0xe1c1
movl $0x792, %r8d            # imm = 0x792
movb $0x0, %al
callq 0x22d0
jmp 0x2e47
movl $0x1, %edi
callq 0x2250
jmp 0x3d94
movq 0xf173(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
movl -0x50(%rbp), %eax
movl $0x1, %edx
movzbl %al, %esi
callq 0x4350
movl %eax, 0xf37a(%rip)      # 0x121f0
cmpl $0x0, 0xf373(%rip)      # 0x121f0
jne 0x2e89
movl $0xea60, 0xf367(%rip)   # imm = 0xEA60
jmp 0x3d94
movq 0xf13b(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
movl -0x50(%rbp), %eax
movl $0x1, %edx
movzbl %al, %esi
callq 0x4350
movl %eax, 0xf346(%rip)      # 0x121f4
cmpl $0x0, 0xf33f(%rip)      # 0x121f4
jne 0x2ec1
movl $0xea60, 0xf333(%rip)   # imm = 0xEA60
jmp 0x3d94
movb $0x1, 0xf433(%rip)      # 0x12300
jmp 0x3d94
movb $0x1, 0xf428(%rip)      # 0x12301
jmp 0x3d94
movb $0x1, 0xf41d(%rip)      # 0x12302
jmp 0x3d94
movb $0x1, 0xf412(%rip)      # 0x12303
jmp 0x3d94
movb $0x1, 0xf407(%rip)      # 0x12304
cmpb $0x0, 0xf401(%rip)      # 0x12305
je 0x2f9f
jmp 0x2f0c
jmp 0x2f0e
leaq 0xb4a1(%rip), %rdi      # 0xe3b6
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf3b4(%rip)      # 0x122d8
je 0x2f3b
movq 0xf3ab(%rip), %rdi      # 0x122d8
leaq 0xb482(%rip), %rsi      # 0xe3b6
movb $0x0, %al
callq 0x22d0
jmp 0x2f3d
jmp 0x2f3f
leaq 0xb26b(%rip), %rdi      # 0xe1b1
leaq 0xc685(%rip), %rsi      # 0xf5d2
leaq 0xb26d(%rip), %rdx      # 0xe1c1
movl $0x7b1, %ecx            # imm = 0x7B1
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf370(%rip)      # 0x122d8
je 0x2f93
movq 0xf367(%rip), %rdi      # 0x122d8
leaq 0xb239(%rip), %rsi      # 0xe1b1
leaq 0xc653(%rip), %rdx      # 0xf5d2
leaq 0xb23b(%rip), %rcx      # 0xe1c1
movl $0x7b1, %r8d            # imm = 0x7B1
movb $0x0, %al
callq 0x22d0
jmp 0x2f95
movl $0x1, %edi
callq 0x2250
jmp 0x3d94
movb $0x1, 0xf35a(%rip)      # 0x12305
cmpb $0x0, 0xf352(%rip)      # 0x12304
je 0x304d
jmp 0x2fba
jmp 0x2fbc
leaq 0xb3f3(%rip), %rdi      # 0xe3b6
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf306(%rip)      # 0x122d8
je 0x2fe9
movq 0xf2fd(%rip), %rdi      # 0x122d8
leaq 0xb3d4(%rip), %rsi      # 0xe3b6
movb $0x0, %al
callq 0x22d0
jmp 0x2feb
jmp 0x2fed
leaq 0xb1bd(%rip), %rdi      # 0xe1b1
leaq 0xc5d7(%rip), %rsi      # 0xf5d2
leaq 0xb1bf(%rip), %rdx      # 0xe1c1
movl $0x7b6, %ecx            # imm = 0x7B6
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf2c2(%rip)      # 0x122d8
je 0x3041
movq 0xf2b9(%rip), %rdi      # 0x122d8
leaq 0xb18b(%rip), %rsi      # 0xe1b1
leaq 0xc5a5(%rip), %rdx      # 0xf5d2
leaq 0xb18d(%rip), %rcx      # 0xe1c1
movl $0x7b6, %r8d            # imm = 0x7B6
movb $0x0, %al
callq 0x22d0
jmp 0x3043
movl $0x1, %edi
callq 0x2250
jmp 0x3d94
movb $0x1, 0xf2ad(%rip)      # 0x12306
jmp 0x3d94
movb $0x1, 0xf2a2(%rip)      # 0x12307
jmp 0x3d94
movl $0x1, 0xf184(%rip)      # 0x121f8
movq 0xef55(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
leaq 0xb369(%rip), %rsi      # 0xe3ee
leaq 0xf170(%rip), %rdx      # 0x121fc
leaq 0xf165(%rip), %rcx      # 0x121f8
movb $0x0, %al
callq 0x21e0
cmpl $0x1, %eax
jge 0x3138
jmp 0x30a5
jmp 0x30a7
leaq 0xb346(%rip), %rdi      # 0xe3f4
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf21b(%rip)      # 0x122d8
je 0x30d4
movq 0xf212(%rip), %rdi      # 0x122d8
leaq 0xb327(%rip), %rsi      # 0xe3f4
movb $0x0, %al
callq 0x22d0
jmp 0x30d6
jmp 0x30d8
leaq 0xb0d2(%rip), %rdi      # 0xe1b1
leaq 0xc4ec(%rip), %rsi      # 0xf5d2
leaq 0xb0d4(%rip), %rdx      # 0xe1c1
movl $0x7c4, %ecx            # imm = 0x7C4
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf1d7(%rip)      # 0x122d8
je 0x312c
movq 0xf1ce(%rip), %rdi      # 0x122d8
leaq 0xb0a0(%rip), %rsi      # 0xe1b1
leaq 0xc4ba(%rip), %rdx      # 0xf5d2
leaq 0xb0a2(%rip), %rcx      # 0xe1c1
movl $0x7c4, %r8d            # imm = 0x7C4
movb $0x0, %al
callq 0x22d0
jmp 0x312e
movl $0x1, %edi
callq 0x2250
cmpl $0x0, 0xf0b9(%rip)      # 0x121f8
je 0x315c
cmpl $0x0, 0xf0b4(%rip)      # 0x121fc
je 0x315c
movl 0xf0a8(%rip), %eax      # 0x121f8
cmpl 0xf0a6(%rip), %eax      # 0x121fc
jbe 0x31f1
jmp 0x315e
jmp 0x3160
leaq 0xb28d(%rip), %rdi      # 0xe3f4
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf162(%rip)      # 0x122d8
je 0x318d
movq 0xf159(%rip), %rdi      # 0x122d8
leaq 0xb26e(%rip), %rsi      # 0xe3f4
movb $0x0, %al
callq 0x22d0
jmp 0x318f
jmp 0x3191
leaq 0xb019(%rip), %rdi      # 0xe1b1
leaq 0xc433(%rip), %rsi      # 0xf5d2
leaq 0xb01b(%rip), %rdx      # 0xe1c1
movl $0x7c6, %ecx            # imm = 0x7C6
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf11e(%rip)      # 0x122d8
je 0x31e5
movq 0xf115(%rip), %rdi      # 0x122d8
leaq 0xafe7(%rip), %rsi      # 0xe1b1
leaq 0xc401(%rip), %rdx      # 0xf5d2
leaq 0xafe9(%rip), %rcx      # 0xe1c1
movl $0x7c6, %r8d            # imm = 0x7C6
movb $0x0, %al
callq 0x22d0
jmp 0x31e7
movl $0x1, %edi
callq 0x2250
movl 0xf005(%rip), %eax      # 0x121fc
xorl %edx, %edx
divl 0xeff9(%rip)            # 0x121f8
cmpl $0x2710, %eax           # imm = 0x2710
jbe 0x329f
jmp 0x320c
jmp 0x320e
leaq 0xb20a(%rip), %rdi      # 0xe41f
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf0b4(%rip)      # 0x122d8
je 0x323b
movq 0xf0ab(%rip), %rdi      # 0x122d8
leaq 0xb1eb(%rip), %rsi      # 0xe41f
movb $0x0, %al
callq 0x22d0
jmp 0x323d
jmp 0x323f
leaq 0xaf6b(%rip), %rdi      # 0xe1b1
leaq 0xc385(%rip), %rsi      # 0xf5d2
leaq 0xaf6d(%rip), %rdx      # 0xe1c1
movl $0x7c8, %ecx            # imm = 0x7C8
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xf070(%rip)      # 0x122d8
je 0x3293
movq 0xf067(%rip), %rdi      # 0x122d8
leaq 0xaf39(%rip), %rsi      # 0xe1b1
leaq 0xc353(%rip), %rdx      # 0xf5d2
leaq 0xaf3b(%rip), %rcx      # 0xe1c1
movl $0x7c8, %r8d            # imm = 0x7C8
movb $0x0, %al
callq 0x22d0
jmp 0x3295
movl $0x1, %edi
callq 0x2250
jmp 0x3d94
movl $0x1, 0xef52(%rip)      # 0x12200
movq 0xed1b(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
leaq 0xb12f(%rip), %rsi      # 0xe3ee
leaq 0xef3e(%rip), %rdx      # 0x12204
leaq 0xef33(%rip), %rcx      # 0x12200
movb $0x0, %al
callq 0x21e0
cmpl $0x1, %eax
jge 0x3372
jmp 0x32df
jmp 0x32e1
leaq 0xb17d(%rip), %rdi      # 0xe465
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xefe1(%rip)      # 0x122d8
je 0x330e
movq 0xefd8(%rip), %rdi      # 0x122d8
leaq 0xb15e(%rip), %rsi      # 0xe465
movb $0x0, %al
callq 0x22d0
jmp 0x3310
jmp 0x3312
leaq 0xae98(%rip), %rdi      # 0xe1b1
leaq 0xc2b2(%rip), %rsi      # 0xf5d2
leaq 0xae9a(%rip), %rdx      # 0xe1c1
movl $0x7ce, %ecx            # imm = 0x7CE
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xef9d(%rip)      # 0x122d8
je 0x3366
movq 0xef94(%rip), %rdi      # 0x122d8
leaq 0xae66(%rip), %rsi      # 0xe1b1
leaq 0xc280(%rip), %rdx      # 0xf5d2
leaq 0xae68(%rip), %rcx      # 0xe1c1
movl $0x7ce, %r8d            # imm = 0x7CE
movb $0x0, %al
callq 0x22d0
jmp 0x3368
movl $0x1, %edi
callq 0x2250
cmpl $0x0, 0xee87(%rip)      # 0x12200
je 0x3396
cmpl $0x0, 0xee82(%rip)      # 0x12204
je 0x3396
movl 0xee76(%rip), %eax      # 0x12200
cmpl 0xee74(%rip), %eax      # 0x12204
jbe 0x342b
jmp 0x3398
jmp 0x339a
leaq 0xb0c4(%rip), %rdi      # 0xe465
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xef28(%rip)      # 0x122d8
je 0x33c7
movq 0xef1f(%rip), %rdi      # 0x122d8
leaq 0xb0a5(%rip), %rsi      # 0xe465
movb $0x0, %al
callq 0x22d0
jmp 0x33c9
jmp 0x33cb
leaq 0xaddf(%rip), %rdi      # 0xe1b1
leaq 0xc1f9(%rip), %rsi      # 0xf5d2
leaq 0xade1(%rip), %rdx      # 0xe1c1
movl $0x7d0, %ecx            # imm = 0x7D0
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xeee4(%rip)      # 0x122d8
je 0x341f
movq 0xeedb(%rip), %rdi      # 0x122d8
leaq 0xadad(%rip), %rsi      # 0xe1b1
leaq 0xc1c7(%rip), %rdx      # 0xf5d2
leaq 0xadaf(%rip), %rcx      # 0xe1c1
movl $0x7d0, %r8d            # imm = 0x7D0
movb $0x0, %al
callq 0x22d0
jmp 0x3421
movl $0x1, %edi
callq 0x2250
movl 0xedd3(%rip), %eax      # 0x12204
xorl %edx, %edx
divl 0xedc7(%rip)            # 0x12200
imull 0xedc8(%rip), %eax      # 0x12208
cmpl $0x2710, %eax           # imm = 0x2710
jbe 0x34e0
jmp 0x344d
jmp 0x344f
leaq 0xb03a(%rip), %rdi      # 0xe490
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xee73(%rip)      # 0x122d8
je 0x347c
movq 0xee6a(%rip), %rdi      # 0x122d8
leaq 0xb01b(%rip), %rsi      # 0xe490
movb $0x0, %al
callq 0x22d0
jmp 0x347e
jmp 0x3480
leaq 0xad2a(%rip), %rdi      # 0xe1b1
leaq 0xc144(%rip), %rsi      # 0xf5d2
leaq 0xad2c(%rip), %rdx      # 0xe1c1
movl $0x7d2, %ecx            # imm = 0x7D2
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xee2f(%rip)      # 0x122d8
je 0x34d4
movq 0xee26(%rip), %rdi      # 0x122d8
leaq 0xacf8(%rip), %rsi      # 0xe1b1
leaq 0xc112(%rip), %rdx      # 0xf5d2
leaq 0xacfa(%rip), %rcx      # 0xe1c1
movl $0x7d2, %r8d            # imm = 0x7D2
movb $0x0, %al
callq 0x22d0
jmp 0x34d6
movl $0x1, %edi
callq 0x2250
jmp 0x3d94
movq 0xeae4(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
movl -0x50(%rbp), %eax
movl $0x1, %edx
movzbl %al, %esi
callq 0x4350
movl %eax, 0xed03(%rip)      # 0x12208
cmpl $0x0, 0xecfc(%rip)      # 0x12208
jne 0x351d
movl $0x80, 0xecf0(%rip)     # 0x12208
jmp 0x35d4
movl 0xece1(%rip), %eax      # 0x12204
xorl %edx, %edx
divl 0xecd5(%rip)            # 0x12200
imull 0xecd6(%rip), %eax      # 0x12208
cmpl $0x2710, %eax           # imm = 0x2710
jbe 0x35d2
jmp 0x353f
jmp 0x3541
leaq 0xaf48(%rip), %rdi      # 0xe490
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xed81(%rip)      # 0x122d8
je 0x356e
movq 0xed78(%rip), %rdi      # 0x122d8
leaq 0xaf29(%rip), %rsi      # 0xe490
movb $0x0, %al
callq 0x22d0
jmp 0x3570
jmp 0x3572
leaq 0xac38(%rip), %rdi      # 0xe1b1
leaq 0xc052(%rip), %rsi      # 0xf5d2
leaq 0xac3a(%rip), %rdx      # 0xe1c1
movl $0x7d9, %ecx            # imm = 0x7D9
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xed3d(%rip)      # 0x122d8
je 0x35c6
movq 0xed34(%rip), %rdi      # 0x122d8
leaq 0xac06(%rip), %rsi      # 0xe1b1
leaq 0xc020(%rip), %rdx      # 0xf5d2
leaq 0xac08(%rip), %rcx      # 0xe1c1
movl $0x7d9, %r8d            # imm = 0x7D9
movb $0x0, %al
callq 0x22d0
jmp 0x35c8
movl $0x1, %edi
callq 0x2250
jmp 0x35d4
jmp 0x3d94
movq 0xe9f0(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
movl -0x50(%rbp), %eax
xorl %edx, %edx
movzbl %al, %esi
callq 0x4350
movl %eax, 0xec16(%rip)      # 0x1220c
jmp 0x3d94
movq 0xe9ce(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
movl -0x50(%rbp), %eax
xorl %edx, %edx
movzbl %al, %esi
callq 0x4350
movl %eax, 0xebf8(%rip)      # 0x12210
jmp 0x3d94
movq 0xe9ac(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
movl -0x50(%rbp), %eax
xorl %edx, %edx
movzbl %al, %esi
callq 0x4350
movl %eax, 0xecce(%rip)      # 0x12308
jmp 0x3d94
movq 0xe98a(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
leaq 0xae8b(%rip), %rsi      # 0xe4db
leaq -0x18c(%rbp), %rdx
leaq -0x188(%rbp), %rcx
movb $0x0, %al
callq 0x21e0
cmpl $0x2, %eax
je 0x3703
jmp 0x3670
jmp 0x3672
leaq 0xae69(%rip), %rdi      # 0xe4e2
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xec50(%rip)      # 0x122d8
je 0x369f
movq 0xec47(%rip), %rdi      # 0x122d8
leaq 0xae4a(%rip), %rsi      # 0xe4e2
movb $0x0, %al
callq 0x22d0
jmp 0x36a1
jmp 0x36a3
leaq 0xab07(%rip), %rdi      # 0xe1b1
leaq 0xbf21(%rip), %rsi      # 0xf5d2
leaq 0xab09(%rip), %rdx      # 0xe1c1
movl $0x7eb, %ecx            # imm = 0x7EB
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xec0c(%rip)      # 0x122d8
je 0x36f7
movq 0xec03(%rip), %rdi      # 0x122d8
leaq 0xaad5(%rip), %rsi      # 0xe1b1
leaq 0xbeef(%rip), %rdx      # 0xf5d2
leaq 0xaad7(%rip), %rcx      # 0xe1c1
movl $0x7eb, %r8d            # imm = 0x7EB
movb $0x0, %al
callq 0x22d0
jmp 0x36f9
movl $0x1, %edi
callq 0x2250
movb $0x0, 0xeb0a(%rip)      # 0x12214
movl -0x18c(%rbp), %eax
movl %eax, -0x1b4(%rbp)
subl $0x1, %eax
je 0x3742
jmp 0x371d
movl -0x1b4(%rbp), %eax
subl $0x2, %eax
je 0x3872
jmp 0x372e
movl -0x1b4(%rbp), %eax
subl $0x4, %eax
je 0x39a2
jmp 0x3ad2
jmp 0x3744
leaq 0xebc5(%rip), %rax      # 0x12310
movq %rax, -0x198(%rbp)
movq -0x198(%rbp), %rax
movl 0x8(%rax), %eax
andl $0x7f, %eax
cmpl $0x0, %eax
jne 0x3843
movq -0x198(%rbp), %rax
movq (%rax), %rdi
movq -0x198(%rbp), %rax
movl 0x8(%rax), %eax
addl $0x81, %eax
movl %eax, %eax
movl %eax, %esi
shlq $0x2, %rsi
callq 0x2360
movq %rax, %rcx
movq -0x198(%rbp), %rax
movq %rcx, (%rax)
movq -0x198(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x3841
jmp 0x37ae
jmp 0x37b0
leaq 0xad55(%rip), %rdi      # 0xe50c
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xeb12(%rip)      # 0x122d8
je 0x37dd
movq 0xeb09(%rip), %rdi      # 0x122d8
leaq 0xad36(%rip), %rsi      # 0xe50c
movb $0x0, %al
callq 0x22d0
jmp 0x37df
jmp 0x37e1
leaq 0xa9c9(%rip), %rdi      # 0xe1b1
leaq 0xbde3(%rip), %rsi      # 0xf5d2
leaq 0xa9cb(%rip), %rdx      # 0xe1c1
movl $0x7f0, %ecx            # imm = 0x7F0
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xeace(%rip)      # 0x122d8
je 0x3835
movq 0xeac5(%rip), %rdi      # 0x122d8
leaq 0xa997(%rip), %rsi      # 0xe1b1
leaq 0xbdb1(%rip), %rdx      # 0xf5d2
leaq 0xa999(%rip), %rcx      # 0xe1c1
movl $0x7f0, %r8d            # imm = 0x7F0
movb $0x0, %al
callq 0x22d0
jmp 0x3837
movl $0x1, %edi
callq 0x2250
jmp 0x3843
movq -0x188(%rbp), %rax
movl %eax, %edx
movq -0x198(%rbp), %rax
movq (%rax), %rax
movq -0x198(%rbp), %rsi
movl 0x8(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, 0x8(%rsi)
movl %ecx, %ecx
movl %edx, (%rax,%rcx,4)
jmp 0x3b67
jmp 0x3874
leaq 0xeaa5(%rip), %rax      # 0x12320
movq %rax, -0x1a0(%rbp)
movq -0x1a0(%rbp), %rax
movl 0x8(%rax), %eax
andl $0x7f, %eax
cmpl $0x0, %eax
jne 0x3973
movq -0x1a0(%rbp), %rax
movq (%rax), %rdi
movq -0x1a0(%rbp), %rax
movl 0x8(%rax), %eax
addl $0x81, %eax
movl %eax, %eax
movl %eax, %esi
shlq $0x2, %rsi
callq 0x2360
movq %rax, %rcx
movq -0x1a0(%rbp), %rax
movq %rcx, (%rax)
movq -0x1a0(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x3971
jmp 0x38de
jmp 0x38e0
leaq 0xac25(%rip), %rdi      # 0xe50c
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xe9e2(%rip)      # 0x122d8
je 0x390d
movq 0xe9d9(%rip), %rdi      # 0x122d8
leaq 0xac06(%rip), %rsi      # 0xe50c
movb $0x0, %al
callq 0x22d0
jmp 0x390f
jmp 0x3911
leaq 0xa899(%rip), %rdi      # 0xe1b1
leaq 0xbcb3(%rip), %rsi      # 0xf5d2
leaq 0xa89b(%rip), %rdx      # 0xe1c1
movl $0x7f1, %ecx            # imm = 0x7F1
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xe99e(%rip)      # 0x122d8
je 0x3965
movq 0xe995(%rip), %rdi      # 0x122d8
leaq 0xa867(%rip), %rsi      # 0xe1b1
leaq 0xbc81(%rip), %rdx      # 0xf5d2
leaq 0xa869(%rip), %rcx      # 0xe1c1
movl $0x7f1, %r8d            # imm = 0x7F1
movb $0x0, %al
callq 0x22d0
jmp 0x3967
movl $0x1, %edi
callq 0x2250
jmp 0x3973
movq -0x188(%rbp), %rax
movl %eax, %edx
movq -0x1a0(%rbp), %rax
movq (%rax), %rax
movq -0x1a0(%rbp), %rsi
movl 0x8(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, 0x8(%rsi)
movl %ecx, %ecx
movl %edx, (%rax,%rcx,4)
jmp 0x3b67
jmp 0x39a4
leaq 0xe985(%rip), %rax      # 0x12330
movq %rax, -0x1a8(%rbp)
movq -0x1a8(%rbp), %rax
movl 0x8(%rax), %eax
andl $0x7f, %eax
cmpl $0x0, %eax
jne 0x3aa3
movq -0x1a8(%rbp), %rax
movq (%rax), %rdi
movq -0x1a8(%rbp), %rax
movl 0x8(%rax), %eax
addl $0x81, %eax
movl %eax, %eax
movl %eax, %esi
shlq $0x2, %rsi
callq 0x2360
movq %rax, %rcx
movq -0x1a8(%rbp), %rax
movq %rcx, (%rax)
movq -0x1a8(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x3aa1
jmp 0x3a0e
jmp 0x3a10
leaq 0xaaf5(%rip), %rdi      # 0xe50c
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xe8b2(%rip)      # 0x122d8
je 0x3a3d
movq 0xe8a9(%rip), %rdi      # 0x122d8
leaq 0xaad6(%rip), %rsi      # 0xe50c
movb $0x0, %al
callq 0x22d0
jmp 0x3a3f
jmp 0x3a41
leaq 0xa769(%rip), %rdi      # 0xe1b1
leaq 0xbb83(%rip), %rsi      # 0xf5d2
leaq 0xa76b(%rip), %rdx      # 0xe1c1
movl $0x7f2, %ecx            # imm = 0x7F2
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xe86e(%rip)      # 0x122d8
je 0x3a95
movq 0xe865(%rip), %rdi      # 0x122d8
leaq 0xa737(%rip), %rsi      # 0xe1b1
leaq 0xbb51(%rip), %rdx      # 0xf5d2
leaq 0xa739(%rip), %rcx      # 0xe1c1
movl $0x7f2, %r8d            # imm = 0x7F2
movb $0x0, %al
callq 0x22d0
jmp 0x3a97
movl $0x1, %edi
callq 0x2250
jmp 0x3aa3
movq -0x188(%rbp), %rax
movl %eax, %edx
movq -0x1a8(%rbp), %rax
movq (%rax), %rax
movq -0x1a8(%rbp), %rsi
movl 0x8(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, 0x8(%rsi)
movl %ecx, %ecx
movl %edx, (%rax,%rcx,4)
jmp 0x3b67
jmp 0x3ad4
jmp 0x3ad6
leaq 0xaa54(%rip), %rdi      # 0xe531
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xe7ec(%rip)      # 0x122d8
je 0x3b03
movq 0xe7e3(%rip), %rdi      # 0x122d8
leaq 0xaa35(%rip), %rsi      # 0xe531
movb $0x0, %al
callq 0x22d0
jmp 0x3b05
jmp 0x3b07
leaq 0xa6a3(%rip), %rdi      # 0xe1b1
leaq 0xbabd(%rip), %rsi      # 0xf5d2
leaq 0xa6a5(%rip), %rdx      # 0xe1c1
movl $0x7f3, %ecx            # imm = 0x7F3
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xe7a8(%rip)      # 0x122d8
je 0x3b5b
movq 0xe79f(%rip), %rdi      # 0x122d8
leaq 0xa671(%rip), %rsi      # 0xe1b1
leaq 0xba8b(%rip), %rdx      # 0xf5d2
leaq 0xa673(%rip), %rcx      # 0xe1c1
movl $0x7f3, %r8d            # imm = 0x7F3
movb $0x0, %al
callq 0x22d0
jmp 0x3b5d
movl $0x1, %edi
callq 0x2250
jmp 0x3d94
movq 0xe45d(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
movl -0x50(%rbp), %eax
movl $0x1, %edx
movzbl %al, %esi
callq 0x4350
movl %eax, 0xe68c(%rip)      # 0x12218
cmpl $0xf4240, 0xe682(%rip)  # imm = 0xF4240
jbe 0x3c31
jmp 0x3b9e
jmp 0x3ba0
leaq 0xa9b9(%rip), %rdi      # 0xe560
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xe722(%rip)      # 0x122d8
je 0x3bcd
movq 0xe719(%rip), %rdi      # 0x122d8
leaq 0xa99a(%rip), %rsi      # 0xe560
movb $0x0, %al
callq 0x22d0
jmp 0x3bcf
jmp 0x3bd1
leaq 0xa5d9(%rip), %rdi      # 0xe1b1
leaq 0xb9f3(%rip), %rsi      # 0xf5d2
leaq 0xa5db(%rip), %rdx      # 0xe1c1
movl $0x7fb, %ecx            # imm = 0x7FB
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xe6de(%rip)      # 0x122d8
je 0x3c25
movq 0xe6d5(%rip), %rdi      # 0x122d8
leaq 0xa5a7(%rip), %rsi      # 0xe1b1
leaq 0xb9c1(%rip), %rdx      # 0xf5d2
leaq 0xa5a9(%rip), %rcx      # 0xe1c1
movl $0x7fb, %r8d            # imm = 0x7FB
movb $0x0, %al
callq 0x22d0
jmp 0x3c27
movl $0x1, %edi
callq 0x2250
jmp 0x3d94
movq 0xe393(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
movl -0x50(%rbp), %eax
movl $0x1, %edx
movzbl %al, %esi
callq 0x4350
movl %eax, 0xe5c6(%rip)      # 0x1221c
jmp 0x3d94
movq 0xe36e(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
movl -0x50(%rbp), %eax
movl $0x1, %edx
movzbl %al, %esi
callq 0x4350
movl %eax, 0xe5a5(%rip)      # 0x12220
jmp 0x3d94
movq 0xe349(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
movl -0x50(%rbp), %eax
xorl %edx, %edx
movzbl %al, %esi
callq 0x4350
movl %eax, 0xe587(%rip)      # 0x12224
jmp 0x3d94
movq 0xe327(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
movl -0x50(%rbp), %eax
xorl %edx, %edx
movzbl %al, %esi
callq 0x4350
movl %eax, 0xe569(%rip)      # 0x12228
jmp 0x3d94
movq 0xe305(%rip), %rax      # 0x11fd0
movq (%rax), %rdi
movl -0x50(%rbp), %eax
xorl %edx, %edx
movzbl %al, %esi
callq 0x4350
movl %eax, 0xe54b(%rip)      # 0x1222c
cmpl $0xf4240, 0xe541(%rip)  # imm = 0xF4240
jbe 0x3d86
jmp 0x3cf3
jmp 0x3cf5
leaq 0xa8a9(%rip), %rdi      # 0xe5a5
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xe5cd(%rip)      # 0x122d8
je 0x3d22
movq 0xe5c4(%rip), %rdi      # 0x122d8
leaq 0xa88a(%rip), %rsi      # 0xe5a5
movb $0x0, %al
callq 0x22d0
jmp 0x3d24
jmp 0x3d26
leaq 0xa484(%rip), %rdi      # 0xe1b1
leaq 0xb89e(%rip), %rsi      # 0xf5d2
leaq 0xa486(%rip), %rdx      # 0xe1c1
movl $0x813, %ecx            # imm = 0x813
movb $0x0, %al
callq 0x2030
cmpq $0x0, 0xe589(%rip)      # 0x122d8
je 0x3d7a
movq 0xe580(%rip), %rdi      # 0x122d8
leaq 0xa452(%rip), %rsi      # 0xe1b1
leaq 0xb86c(%rip), %rdx      # 0xf5d2
leaq 0xa454(%rip), %rcx      # 0xe1c1
movl $0x813, %r8d            # imm = 0x813
movb $0x0, %al
callq 0x22d0
jmp 0x3d7c
movl $0x1, %edi
callq 0x2250
jmp 0x3d94
movq -0x38(%rbp), %rax
movq (%rax), %rdi
callq 0x4590
jmp 0x2519
movq 0xe240(%rip), %rax      # 0x11fe0
movl (%rax), %eax
cmpl -0x30(%rbp), %eax
je 0x3dbb
cmpq $0x0, 0xe521(%rip)      # 0x122d0
je 0x3dbb
cmpq $0x0, 0xe527(%rip)      # 0x122e0
jne 0x3dc7
movq -0x38(%rbp), %rax
movq (%rax), %rdi
callq 0x4590
cmpb $0x0, 0xe446(%rip)      # 0x12214
je 0x3dd5
callq 0x45e0
xorl %eax, %eax
movl %eax, %edi
callq 0x21c0
movl %eax, -0x48(%rbp)
callq 0x4fd0
movq -0x38(%rbp), %rax
movq 0xe1ef(%rip), %rcx      # 0x11fe0
movslq (%rcx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
addq $-0x8, %rax
movq %rax, 0xe53a(%rip)      # 0x12340
movq 0xe533(%rip), %rax      # 0x12340
leaq 0xc1a3(%rip), %rcx      # 0xffb7
movq %rcx, (%rax)
callq 0x5020
movq -0x38(%rbp), %rdi
movq 0xe1b9(%rip), %rax      # 0x11fe0
movslq (%rax), %rax
shlq $0x3, %rax
addq %rax, %rdi
movl -0x30(%rbp), %esi
movq 0xe1a5(%rip), %rax      # 0x11fe0
subl (%rax), %esi
callq 0x5130
callq 0x5990
movq 0xe482(%rip), %rdi      # 0x122d0
xorl %eax, %eax
movl %eax, %esi
callq 0x5ef0
leaq -0x58(%rbp), %rdi
leaq -0x41(%rbp), %rsi
callq 0x61a0
movq %rax, -0x40(%rbp)
cmpq $0x0, %rax
je 0x3e81
movq -0x40(%rbp), %rdi
movq -0x58(%rbp), %rsi
movzbl -0x41(%rbp), %edx
callq 0x62c0
jmp 0x3e57
cmpl $0x0, 0xe3a8(%rip)      # 0x12230
jle 0x3e9a
movl 0xe3a0(%rip), %edi      # 0x12230
movl $0xf, %esi
callq 0x22c0
cmpl $0x0, 0xe393(%rip)      # 0x12234
jle 0x3eb3
movl 0xe38b(%rip), %edi      # 0x12234
movl $0xf, %esi
callq 0x22c0
xorl %eax, %eax
movl %eax, %edi
callq 0x21c0
movl %eax, -0x4c(%rbp)
movl 0xe483(%rip), %eax      # 0x12348
movl %eax, -0x1f8(%rbp)
movl 0xe47b(%rip), %eax      # 0x1234c
movl %eax, -0x1f4(%rbp)
movq 0xe472(%rip), %rax      # 0x12350
movq %rax, -0x1f0(%rbp)
movl 0xe46d(%rip), %ecx      # 0x12358
movl %ecx, -0x1e4(%rbp)
movl 0xe465(%rip), %ecx      # 0x1235c
movl %ecx, -0x1e0(%rbp)
movl 0xe45d(%rip), %ecx      # 0x12360
movl %ecx, -0x1dc(%rbp)
movl 0xe455(%rip), %ecx      # 0x12364
movl %ecx, -0x1d8(%rbp)
movl 0xe44d(%rip), %ecx      # 0x12368
movl %ecx, -0x1d4(%rbp)
movl 0xe445(%rip), %ecx      # 0x1236c
movl %ecx, -0x1d0(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x48(%rbp), %edx
subl %edx, %ecx
movl %ecx, -0x1cc(%rbp)
movl %ecx, %edx
movl $0x88888889, %esi       # imm = 0x88888889
imulq %rsi, %rdx
shrq $0x25, %rdx
imulq $0x8888889, %rdx, %rsi  # imm = 0x8888889
shrq $0x21, %rsi
movl %esi, -0x1c8(%rbp)
imull $0x3c, %esi, %edi
movl %edx, %esi
subl %edi, %esi
movl %esi, -0x1c4(%rbp)
imull $0x3c, %edx, %edx
subl %edx, %ecx
movl %ecx, -0x1c0(%rbp)
movq %rax, %rdx
shrq %rdx
movl %eax, %ecx
andl $0x1, %ecx
orq %rdx, %rcx
cvtsi2ss %rcx, %xmm0
addss %xmm0, %xmm0
cvtsi2ss %rax, %xmm1
movss %xmm1, -0x1bc(%rbp)
testq %rax, %rax
movss %xmm0, -0x1b8(%rbp)
js 0x3fb4
movss -0x1bc(%rbp), %xmm0
movss %xmm0, -0x1b8(%rbp)
movl -0x1c0(%rbp), %eax
movl -0x1c4(%rbp), %r10d
movl -0x1c8(%rbp), %r11d
movl -0x1d0(%rbp), %ebx
movl -0x1d4(%rbp), %r14d
movl -0x1d8(%rbp), %r15d
movl -0x1dc(%rbp), %r12d
movl -0x1e0(%rbp), %r9d
movl -0x1e4(%rbp), %r8d
movq -0x1f0(%rbp), %rcx
movl -0x1f4(%rbp), %edx
movl -0x1f8(%rbp), %esi
movl -0x1cc(%rbp), %edi
movss -0x1b8(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
incl %edi
cvtsi2sd %rdi, %xmm1
movl 0xe34d(%rip), %edi      # 0x12370
cvtsi2sd %rdi, %xmm3
movsd 0x9fe0(%rip), %xmm2     # 0xe010
mulsd %xmm3, %xmm2
movsd 0x9fcc(%rip), %xmm3     # 0xe008
divsd %xmm3, %xmm2
subsd %xmm2, %xmm1
divsd %xmm1, %xmm0
leaq 0xa59b(%rip), %rdi      # 0xe5ea
movl %r12d, (%rsp)
movl %r15d, 0x8(%rsp)
movl %r14d, 0x10(%rsp)
movl %ebx, 0x18(%rsp)
movl %r11d, 0x20(%rsp)
movl %r10d, 0x28(%rsp)
movl %eax, 0x30(%rsp)
movb $0x1, %al
callq 0x2030
cmpq $0x0, 0xe25a(%rip)      # 0x122d8
je 0x4255
movq 0xe24d(%rip), %rax      # 0x122d8
movq %rax, -0x240(%rbp)
movl 0xe2b0(%rip), %eax      # 0x12348
movl %eax, -0x238(%rbp)
movl 0xe2a8(%rip), %eax      # 0x1234c
movl %eax, -0x234(%rbp)
movq 0xe29f(%rip), %rax      # 0x12350
movq %rax, -0x230(%rbp)
movl 0xe29a(%rip), %ecx      # 0x12358
movl %ecx, -0x228(%rbp)
movl 0xe292(%rip), %ecx      # 0x1235c
movl %ecx, -0x224(%rbp)
movl 0xe28a(%rip), %ecx      # 0x12360
movl %ecx, -0x220(%rbp)
movl 0xe282(%rip), %ecx      # 0x12364
movl %ecx, -0x21c(%rbp)
movl 0xe27a(%rip), %ecx      # 0x12368
movl %ecx, -0x218(%rbp)
movl 0xe272(%rip), %ecx      # 0x1236c
movl %ecx, -0x214(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x48(%rbp), %edx
subl %edx, %ecx
movl %ecx, -0x210(%rbp)
movl %ecx, %edx
movl $0x88888889, %esi       # imm = 0x88888889
imulq %rsi, %rdx
shrq $0x25, %rdx
imulq $0x8888889, %rdx, %rsi  # imm = 0x8888889
shrq $0x21, %rsi
movl %esi, -0x20c(%rbp)
imull $0x3c, %esi, %edi
movl %edx, %esi
subl %edi, %esi
movl %esi, -0x208(%rbp)
imull $0x3c, %edx, %edx
subl %edx, %ecx
movl %ecx, -0x204(%rbp)
movq %rax, %rdx
shrq %rdx
movl %eax, %ecx
andl $0x1, %ecx
orq %rdx, %rcx
cvtsi2ss %rcx, %xmm0
addss %xmm0, %xmm0
cvtsi2ss %rax, %xmm1
movss %xmm1, -0x200(%rbp)
testq %rax, %rax
movss %xmm0, -0x1fc(%rbp)
js 0x4187
movss -0x200(%rbp), %xmm0
movss %xmm0, -0x1fc(%rbp)
movl -0x204(%rbp), %eax
movl -0x208(%rbp), %r10d
movl -0x20c(%rbp), %r11d
movl -0x214(%rbp), %ebx
movl -0x218(%rbp), %r14d
movl -0x21c(%rbp), %r15d
movl -0x220(%rbp), %r12d
movl -0x224(%rbp), %r13d
movl -0x228(%rbp), %r9d
movq -0x230(%rbp), %r8
movl -0x234(%rbp), %ecx
movl -0x238(%rbp), %edx
movq -0x240(%rbp), %rdi
movl -0x210(%rbp), %esi
movss -0x1fc(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
incl %esi
cvtsi2sd %rsi, %xmm1
movl 0xe173(%rip), %esi      # 0x12370
cvtsi2sd %rsi, %xmm3
movsd 0x9e06(%rip), %xmm2     # 0xe010
mulsd %xmm3, %xmm2
movsd 0x9df2(%rip), %xmm3     # 0xe008
divsd %xmm3, %xmm2
subsd %xmm2, %xmm1
divsd %xmm1, %xmm0
leaq 0xa3c1(%rip), %rsi      # 0xe5ea
movl %r13d, (%rsp)
movl %r12d, 0x8(%rsp)
movl %r15d, 0x10(%rsp)
movl %r14d, 0x18(%rsp)
movl %ebx, 0x20(%rsp)
movl %r11d, 0x28(%rsp)
movl %r10d, 0x30(%rsp)
movl %eax, 0x38(%rsp)
movb $0x1, %al
callq 0x22d0
jmp 0x4257
movq 0xe082(%rip), %rdi      # 0x122e0
leaq 0xa4c3(%rip), %rsi      # 0xe728
callq 0x7010
movq %rax, %rdi
callq 0x2110
movq 0xe067(%rip), %rdi      # 0x122e0
leaq 0xa4b3(%rip), %rsi      # 0xe733
callq 0x7010
movq %rax, %rdi
callq 0x2110
movq 0xe044(%rip), %rdi      # 0x122d8
callq 0x21f0
xorl %eax, %eax
addq $0x258, %rsp            # imm = 0x258
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nopl (%rax)