// File: /workspace/github_c_makefile_star2_O2/silverneko[P]miku/isolate/isolate.c
// Function: main
int
main(int argc, char **argv)
{
  int c;
  char *sep;
  enum opt_code mode = 0;

  init_dir_rules();

  while ((c = getopt_long(argc, argv, short_opts, long_opts, NULL)) >= 0)
    switch (c){
      case 'b':
        box_id = atoi(optarg);
        break;
      case 'c':
        set_cwd = optarg;
        break;
      case OPT_CG:
        cg_enable = 1;
        break;
      case 'd':
        if (!set_dir_action(optarg))
          usage("Invalid directory specified: %s\n", optarg);
        break;
      case 'e':
        pass_environ = 1;
        break;
      case 'E':
        if (!set_env_action(optarg))
          usage("Invalid environment specified: %s\n", optarg);
        break;
      case 'k':
        stack_limit = atoi(optarg);
        break;
      case 'i':
        redir_stdin = optarg;
        break;
      case 'm':
        memory_limit = atoi(optarg);
        break;
      case 'M':
        meta_open(optarg);
        break;
      case 'o':
        redir_stdout = optarg;
        break;
      case 'p':
        if (optarg)
          max_processes = atoi(optarg);
        else
          max_processes = 0;
        break;
      case 'q':
        sep = strchr(optarg, ',');
        if (!sep)
          usage("Invalid quota specified: %s\n", optarg);
        block_quota = atoi(optarg);
        inode_quota = atoi(sep+1);
        break;
      case 'r':
        redir_stderr = optarg;
        break;
      case 't':
        timeout = 1000*atof(optarg);
        break;
      case 'v':
        verbose++;
        break;
      case 'w':
        wall_timeout = 1000*atof(optarg);
        break;
      case 'x':
        extra_timeout = 1000*atof(optarg);
        break;
      case OPT_INIT:
      case OPT_RUN:
      case OPT_CLEANUP:
      case OPT_VERSION:
        if (!mode || mode == c)
          mode = c;
        else
          usage("Only one command is allowed.\n");
        break;
      case OPT_CG_MEM:
        cg_memory_limit = atoi(optarg);
        break;
      case OPT_CG_TIMING:
        cg_timing = 1;
        break;
      case 'f':
        file_limit = atoi(optarg);
        break;
      case 's':
        fsize_limit = atoi(optarg);
        break;
      default:
        usage(NULL);
    }

  if (!mode)
    usage("Please specify an isolate command (e.g. --init, --run).\n");
  if (mode == OPT_VERSION)
    {
      show_version();
      return 0;
    }

  if (geteuid())
    die("Must be started as root");
  orig_uid = getuid();
  orig_gid = getgid();

  umask(022);
  box_init();
  cg_init();

  switch (mode){
    case OPT_INIT:
      if (optind < argc)
        usage("--init mode takes no parameters\n");
      init();
      break;
    case OPT_RUN:
      if (optind >= argc)
        usage("--run mode requires a command to run\n");
      run(argv+optind);
      break;
    case OPT_CLEANUP:
      if (optind < argc)
        usage("--cleanup mode takes no parameters\n");
      cleanup();
      break;
    default:
      die("Internal error: mode mismatch");
  }
  exit(0);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x11e8, %rsp           # imm = 0x11E8
movq %rsi, %rbx
movl %edi, %ebp
leaq 0x2cac(%rip), %rdi      # 0x5275
callq 0x34e5
leaq 0x2cad(%rip), %rdi      # 0x5282
callq 0x34e5
leaq 0x2ca5(%rip), %rdi      # 0x5286
callq 0x34e5
leaq 0x2ca1(%rip), %rdi      # 0x528e
callq 0x34e5
leaq 0x2c99(%rip), %rdi      # 0x5292
callq 0x34e5
leaq 0x2c99(%rip), %rdi      # 0x529e
callq 0x34e5
leaq 0x2c9a(%rip), %rdi      # 0x52ab
callq 0x34e5
xorl %r14d, %r14d
leaq 0x2ac0(%rip), %r15      # 0x50e0
movq 0x69a9(%rip), %r13      # 0x8fd0
movl %ebp, %edi
movq %rbx, %rsi
movq %r15, %rdx
leaq 0x63fa(%rip), %rcx      # 0x8a30
xorl %r8d, %r8d
callq 0x21d0
testl %eax, %eax
js 0x2988
leal -0x4d(%rax), %ecx
cmpl $0x2b, %ecx
ja 0x26dd
leaq 0x29b7(%rip), %rdx      # 0x5010
movslq (%rdx,%rcx,4), %rax
addq %rdx, %rax
jmpq *%rax
movq (%r13), %r12
cmpb $0x2d, (%r12)
jne 0x2679
cmpb $0x0, 0x1(%r12)
je 0x2933
callq 0x2250
movq %r14, %r15
movl %eax, %r14d
callq 0x21b0
movl %r14d, %edi
movl %eax, %esi
callq 0x23d0
movq %r12, %rdi
leaq 0x2be3(%rip), %rsi      # 0x5280
callq 0x2410
movq %rax, 0x6c97(%rip)      # 0x9340
callq 0x2250
movl %eax, %r14d
callq 0x21b0
movl %r14d, %edi
movq %r15, %r14
leaq 0x2a1d(%rip), %r15      # 0x50e0
movl %eax, %esi
callq 0x23d0
cmpq $0x0, 0x6c6e(%rip)      # 0x9340
jne 0x2627
jmp 0x2a9f
leal -0x100(%rax), %ecx
cmpl $0x6, %ecx
ja 0x2714
leaq 0x29d1(%rip), %rdx      # 0x50c0
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
testl %r14d, %r14d
sete %cl
cmpl %eax, %r14d
sete %dl
orb %cl, %dl
movl %eax, %r14d
jne 0x2627
jmp 0x2a01
cmpl $0x45, %eax
jne 0x2a18
movq %r14, %r15
movq (%r13), %r14
movq %r14, %rdi
callq 0x2180
leaq 0x21(%rax), %rdi
callq 0x386e
movq %rax, %r12
leaq 0x20(%rax), %r13
movq %r13, %rdi
movq %r14, %rsi
callq 0x2090
movq %r13, %rdi
pushq $0x3d
popq %rsi
callq 0x21f0
cmpq %r13, %rax
je 0x2a2d
movq %r13, (%r12)
testq %rax, %rax
je 0x28f8
movq %rax, %rcx
incq %rcx
movb $0x0, (%rax)
jmp 0x28fa
movq (%r13), %rdi
callq 0x2450
movl %eax, 0x6b9f(%rip)      # 0x9324
jmp 0x2627
movq (%r13), %rax
movq %rax, 0x6b6b(%rip)      # 0x9300
jmp 0x2627
movq (%r13), %rdi
callq 0x2450
movl %eax, 0x6b3f(%rip)      # 0x92e8
jmp 0x2627
movq (%r13), %rax
movq %rax, 0x6b37(%rip)      # 0x92f0
jmp 0x2627
movb $0x1, 0x6b0f(%rip)      # 0x92d4
jmp 0x2627
movq (%r13), %rdi
callq 0x2100
mulsd 0x282d(%rip), %xmm0     # 0x5008
cvttsd2si %xmm0, %eax
movl %eax, 0x6b2f(%rip)      # 0x9314
jmp 0x2627
movq (%r13), %rdi
callq 0x2450
movl %eax, 0x6b27(%rip)      # 0x9320
jmp 0x2627
movq (%r13), %rax
movq %rax, 0x6abf(%rip)      # 0x92c8
jmp 0x2627
movq (%r13), %rax
movq %rax, 0x6ac7(%rip)      # 0x92e0
jmp 0x2627
movq (%r13), %rdi
callq 0x2450
movl %eax, 0x6a93(%rip)      # 0x92c0
jmp 0x2627
movq (%r13), %rdi
callq 0x2450
movl %eax, 0x6a97(%rip)      # 0x92d8
jmp 0x2627
movq (%r13), %rdi
callq 0x2100
mulsd 0x27b1(%rip), %xmm0     # 0x5008
cvttsd2si %xmm0, %eax
movl %eax, 0x6aaf(%rip)      # 0x9310
jmp 0x2627
movq (%r13), %rdi
callq 0x34e5
testl %eax, %eax
jne 0x2627
jmp 0x2a40
incl 0x6a8a(%rip)            # 0x930c
jmp 0x2627
movq (%r13), %rdi
testq %rdi, %rdi
je 0x28ec
callq 0x2450
movl %eax, 0x69d5(%rip)      # 0x9270
jmp 0x2627
movq (%r13), %rdi
callq 0x2100
mulsd 0x2757(%rip), %xmm0     # 0x5008
cvttsd2si %xmm0, %eax
movl %eax, 0x6a4d(%rip)      # 0x9308
jmp 0x2627
movq (%r13), %rdi
callq 0x2450
movl %eax, 0x6a49(%rip)      # 0x9318
jmp 0x2627
movb $0x1, 0x6a41(%rip)      # 0x931c
jmp 0x2627
movb $0x1, 0x69e9(%rip)      # 0x92d0
jmp 0x2627
andl $0x0, 0x697d(%rip)      # 0x9270
jmp 0x2627
xorl %ecx, %ecx
movq %r15, %r14
movq 0x66cc(%rip), %r13      # 0x8fd0
movq %rcx, 0x8(%r12)
movq 0x6970(%rip), %rax      # 0x9280
movq %r12, (%rax)
movq %r12, %rax
addq $0x18, %rax
movq %rax, 0x695f(%rip)      # 0x9280
andq $0x0, 0x18(%r12)
leaq 0x27b2(%rip), %r15      # 0x50e0
jmp 0x2627
movq 0x6686(%rip), %rax      # 0x8fc0
movq (%rax), %rax
movq %rax, 0x69fc(%rip)      # 0x9340
jmp 0x2627
movq (%r13), %r12
movq %r12, %rdi
pushq $0x2c
popq %rsi
callq 0x21f0
testq %rax, %rax
je 0x2a21
movq %rax, %r13
movq %r12, %rdi
callq 0x2450
movl %eax, 0x6986(%rip)      # 0x92f8
incq %r13
movq %r13, %rdi
callq 0x2450
movl %eax, 0x6979(%rip)      # 0x92fc
jmp 0x2620
cmpl $0x103, %r14d           # imm = 0x103
jne 0x2a0a
leaq 0x3e6f(%rip), %rdi      # 0x6807
callq 0x20c0
leaq 0x3e78(%rip), %rdi      # 0x681c
callq 0x20c0
leaq 0x3e97(%rip), %rdi      # 0x6847
callq 0x20c0
leaq 0x29e1(%rip), %rdi      # 0x539d
leaq 0x29f1(%rip), %rsi      # 0x53b4
xorl %eax, %eax
callq 0x2200
leaq 0x29ec(%rip), %rdi      # 0x53bd
movl $0xea60, %esi           # imm = 0xEA60
movl $0x15f8f, %edx          # imm = 0x15F8F
movl $0xea60, %ecx           # imm = 0xEA60
movl $0x15f8f, %r8d          # imm = 0x15F8F
xorl %eax, %eax
callq 0x2200
xorl %eax, %eax
addq $0x11e8, %rsp           # imm = 0x11E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2775(%rip), %rdi      # 0x517d
jmp 0x2a1a
testl %r14d, %r14d
jne 0x2a52
leaq 0x2785(%rip), %rdi      # 0x519b
jmp 0x2a1a
xorl %edi, %edi
xorl %eax, %eax
callq 0x35e8
leaq 0x2738(%rip), %rdi      # 0x5160
movq %r12, %rsi
jmp 0x2a4b
movq 0x659c(%rip), %rax      # 0x8fd0
movq (%rax), %rsi
leaq 0x26ff(%rip), %rdi      # 0x513d
jmp 0x2a4b
movq (%r13), %rsi
leaq 0x26d1(%rip), %rdi      # 0x511c
xorl %eax, %eax
callq 0x35e8
movq %r14, %r15
callq 0x2250
testl %eax, %eax
jne 0x2ab0
callq 0x21b0
movl %eax, 0x68bf(%rip)      # 0x9328
callq 0x2350
movl %eax, 0x68b8(%rip)      # 0x932c
pushq $0x12
popq %rdi
callq 0x2310
movl 0x683d(%rip), %r8d      # 0x92c0
cmpl $0x7530, %r8d           # imm = 0x7530
jb 0x2abe
leaq 0x2b6d(%rip), %rdi      # 0x5600
movl $0x752f, %esi           # imm = 0x752F
xorl %eax, %eax
callq 0x3696
leaq 0x28da(%rip), %rdi      # 0x5380
movq %r12, %rsi
xorl %eax, %eax
callq 0x3696
leaq 0x271d(%rip), %rdi      # 0x51d4
xorl %eax, %eax
callq 0x3696
leal 0xea60(%r8), %eax
movl %eax, 0x69bd(%rip)      # 0x9488
movl %eax, 0x69bb(%rip)      # 0x948c
leaq 0x69b8(%rip), %r14      # 0x9490
leaq 0x2b49(%rip), %rdx      # 0x5628
leaq 0x28ce(%rip), %rcx      # 0x53b4
movl $0x400, %esi            # imm = 0x400
movq %r14, %rdi
xorl %eax, %eax
callq 0x2210
movq %r14, %rdi
callq 0x3fa9
movq %r14, %rdi
callq 0x21a0
testl %eax, %eax
jns 0x2b19
leaq 0x2b1e(%rip), %rdi      # 0x562e
leaq 0x6979(%rip), %rsi      # 0x9490
jmp 0x2aa9
cmpb $0x1, 0x67b0(%rip)      # 0x92d0
jne 0x2b79
leaq 0x2a06(%rip), %rdi      # 0x552f
callq 0x4016
testl %eax, %eax
jne 0x2b45
leaq 0x2b23(%rip), %rdi      # 0x565c
leaq 0x29ef(%rip), %rsi      # 0x552f
jmp 0x2aa9
movl 0x6775(%rip), %ecx      # 0x92c0
leaq 0x681e(%rip), %r14      # 0x9370
leaq 0x2b2e(%rip), %rdx      # 0x5687
movl $0x100, %esi            # imm = 0x100
movq %r14, %rdi
xorl %eax, %eax
callq 0x2210
leaq 0x2b1f(%rip), %rdi      # 0x568e
movq %r14, %rsi
xorl %eax, %eax
callq 0x3eaa
cmpl $0x102, %r15d           # imm = 0x102
je 0x2bab
cmpl $0x101, %r15d           # imm = 0x101
je 0x2bc2
cmpl $0x100, %r15d           # imm = 0x100
jne 0x2bed
movq 0x642d(%rip), %rax      # 0x8fc8
cmpl %ebp, (%rax)
jge 0x2bf9
leaq 0x2646(%rip), %rdi      # 0x51ec
jmp 0x2a1a
movq 0x6416(%rip), %rax      # 0x8fc8
cmpl %ebp, (%rax)
jge 0x2c33
leaq 0x2676(%rip), %rdi      # 0x5233
jmp 0x2a1a
movq 0x63ff(%rip), %rax      # 0x8fc8
movslq (%rax), %r15
cmpl %ebp, %r15d
jge 0x2c4f
leaq 0x27e1(%rip), %rdi      # 0x53b9
callq 0x4016
testl %eax, %eax
jne 0x2c5b
leaq 0x2dd4(%rip), %rdi      # 0x59bc
jmp 0x2ab7
leaq 0x2663(%rip), %rdi      # 0x5257
jmp 0x2ab7
leaq 0x2aa6(%rip), %rdi      # 0x56a6
xorl %eax, %eax
callq 0x3eaa
leaq 0x27ab(%rip), %rbx      # 0x53b9
movq %rbx, %rdi
callq 0x404e
movq %rbx, %rdi
movl $0x1c0, %esi            # imm = 0x1C0
callq 0x20b0
testl %eax, %eax
jns 0x2c96
leaq 0x2a95(%rip), %rdi      # 0x56c3
jmp 0x2ab7
leaq 0x277f(%rip), %rdi      # 0x53b9
callq 0x4016
testl %eax, %eax
jne 0x2cc2
leaq 0x31e1(%rip), %rdi      # 0x5e2b
jmp 0x2ab7
leaq 0x25b7(%rip), %rdi      # 0x520d
jmp 0x2a1a
movl 0x6827(%rip), %edi      # 0x9488
movl 0x6825(%rip), %esi      # 0x948c
callq 0x3b12
movb $0x1, 0x66e1(%rip)      # 0x9354
leaq 0x6c16(%rip), %r14      # 0x9890
movq %r14, %rdi
callq 0x22a0
testl %eax, %eax
jns 0x2d76
leaq 0x2d6b(%rip), %rdi      # 0x59fc
jmp 0x2ab7
movl 0x668c(%rip), %esi      # 0x9328
movl 0x668a(%rip), %edx      # 0x932c
leaq 0x2710(%rip), %rdi      # 0x53b9
callq 0x23e0
testl %eax, %eax
jns 0x2df4
leaq 0x2a1c(%rip), %rdi      # 0x56d9
jmp 0x2ab7
leaq 0x319c(%rip), %rdi      # 0x5e65
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x3eaa
leaq 0x67b7(%rip), %rdi      # 0x9490
callq 0x404e
cmpb $0x1, 0x65eb(%rip)      # 0x92d0
jne 0x2f7e
leaq 0x609e(%rip), %rbp      # 0x8d90
leaq 0x1e0(%rsp), %r15
leaq 0x3074(%rip), %r12      # 0x5d75
leaq 0xe0(%rsp), %r13
leaq 0x2d47(%rip), %r14      # 0x5a57
cmpl $0x2, %ebx
je 0x2d2d
cmpl $0x3, %ebx
je 0x2f7e
movl %ebx, %edi
movq %r14, %rsi
movq %r15, %rdx
callq 0x3d8b
jmp 0x2d43
pushq $0x2
popq %rdi
leaq 0x2d1f(%rip), %rsi      # 0x5a56
movq %r15, %rdx
callq 0x3d8b
testl %eax, %eax
je 0x2d6e
cmpb $0x0, 0x1e0(%rsp)
jne 0x2e9a
movq %r13, %rdi
movl %ebx, %esi
movq %r12, %rdx
callq 0x3e71
movq %r13, %rdi
callq 0x2170
testl %eax, %eax
js 0x2eb3
incl %ebx
addq $0x10, %rbp
jmp 0x2d10
leaq (%rbx,%r15,8), %rax
movq %rax, (%rsp)
pushq $0x2
popq %r15
pushq $0x3
popq %r12
pushq $0x4
popq %r13
xorl %ebp, %ebp
cmpq $0x8, %rbp
je 0x2ebf
movl (%rbp,%r14), %ebx
movl %ebx, %edi
pushq $0x1
popq %rsi
xorl %eax, %eax
callq 0x2110
orl $0x1, %eax
movl %ebx, %edi
movl %r15d, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2110
testl %eax, %eax
js 0x2de8
movl (%rbp,%r14), %ebx
movl %ebx, %edi
movl %r12d, %esi
xorl %eax, %eax
callq 0x2110
orl $0x800, %eax            # imm = 0x800
movl %ebx, %edi
movl %r13d, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x2110
addq $0x4, %rbp
testl %eax, %eax
jns 0x2d8c
leaq 0x2c04(%rip), %rdi      # 0x59f3
jmp 0x2ab7
cmpb $0x1, 0x64d5(%rip)      # 0x92d0
jne 0x2f69
leaq 0x2f6d(%rip), %rbx      # 0x5d75
leaq 0xe0(%rsp), %r14
leaq 0x50(%rsp), %r15
leaq 0x28fb(%rip), %r12      # 0x5717
xorl %r13d, %r13d
cmpl $0x3, %r13d
je 0x2ef3
movq %r14, %rdi
movl %r13d, %esi
movq %rbx, %rdx
callq 0x3e71
movq %r14, %rdi
movq %r15, %rsi
callq 0x2320
testl %eax, %eax
jns 0x2e50
callq 0x2060
cmpl $0x2, (%rax)
je 0x2e6d
movq %r12, %rdi
movq %r14, %rsi
xorl %eax, %eax
callq 0x3eaa
movq %r14, %rdi
callq 0x2170
testl %eax, %eax
js 0x2fde
movq %r14, %rdi
movl $0x1ff, %esi            # imm = 0x1FF
callq 0x20b0
leal 0x1(%r13), %ecx
cmpl $0x2, %r13d
movl %ecx, %r13d
je 0x2e1f
movl %ecx, %r13d
testl %eax, %eax
jns 0x2e1f
leaq 0x28dd(%rip), %rdi      # 0x5772
jmp 0x2fe5
movq (%rbp), %rsi
leaq 0x2fdc(%rip), %rdi      # 0x5e81
leaq 0x64c4(%rip), %rdx      # 0x9370
xorl %eax, %eax
callq 0x3696
leaq 0x300a(%rip), %rdi      # 0x5ec4
jmp 0x2fe5
leaq 0x138a(%rip), %rdi      # 0x4250
movq (%rsp), %rcx
movq %rcx, %rsi
movl $0x68020011, %edx       # imm = 0x68020011
xorl %eax, %eax
callq 0x20e0
movl %eax, 0x6471(%rip)      # 0x9350
testl %eax, %eax
jns 0x2fcc
leaq 0x2b17(%rip), %rdi      # 0x5a05
jmp 0x2ab7
leaq 0x289e(%rip), %rsi      # 0x5798
pushq $0x2
popq %rdi
leaq 0x1e0(%rsp), %rdx
callq 0x3d8b
testl %eax, %eax
je 0x2f2e
leaq 0x2884(%rip), %rsi      # 0x5799
leaq 0x28d2(%rip), %rdx      # 0x57ee
pushq $0x2
popq %rdi
leaq 0x1e0(%rsp), %rcx
xorl %eax, %eax
callq 0x40a3
leaq 0x2870(%rip), %rsi      # 0x57a5
pushq $0x2
popq %rdi
leaq 0x1e0(%rsp), %rdx
callq 0x3d8b
testl %eax, %eax
je 0x2f69
leaq 0x2856(%rip), %rsi      # 0x57a6
leaq 0x2897(%rip), %rdx      # 0x57ee
pushq $0x2
popq %rdi
leaq 0x1e0(%rsp), %rcx
xorl %eax, %eax
callq 0x40a3
cmpl $0x0, 0x6388(%rip)      # 0x92f8
jne 0x2f85
leaq 0x6517(%rip), %rdi      # 0x9490
callq 0x20c0
xorl %edi, %edi
callq 0x2470
leaq 0x1e0(%rsp), %rdi
movl $0x1000, %esi           # imm = 0x1000
callq 0x2260
testq %rax, %rax
jne 0x2fa8
leaq 0x28a1(%rip), %rdi      # 0x5844
jmp 0x2ab7
leaq 0x29de(%rip), %rdi      # 0x598d
leaq 0x2304(%rip), %rsi      # 0x52ba
callq 0x2390
testq %rax, %rax
jne 0x2ff2
leaq 0x29d3(%rip), %rdi      # 0x599a
jmp 0x2ab7
jne 0x3090
leaq 0x2a36(%rip), %rdi      # 0x5a0f
jmp 0x2ab7
leaq 0x2768(%rip), %rdi      # 0x574d
leaq 0xe0(%rsp), %rsi
jmp 0x2aa9
movq %rax, %r14
xorl %ebx, %ebx
leaq 0x29b9(%rip), %r15      # 0x59b7
leaq 0x1e0(%rsp), %r12
movq $0x0, (%rsp)
movq %r14, %rdi
callq 0x2380
testq %rax, %rax
je 0x3069
movq %rax, %r13
movq (%rax), %rdi
movq %r15, %rsi
callq 0x4235
testl %eax, %eax
je 0x300e
movq 0x8(%r13), %rbp
movq %r12, %rdi
movq %rbp, %rsi
callq 0x4235
testl %eax, %eax
je 0x300e
movq %rbp, %rdi
callq 0x2180
movq %rax, %rbp
cmpl %ebp, %ebx
jge 0x300e
movq (%rsp), %rdi
callq 0x2030
movq (%r13), %rdi
callq 0x3791
movq %rax, (%rsp)
movl %ebp, %ebx
jmp 0x300e
movq %r14, %rdi
callq 0x2040
cmpq $0x0, (%rsp)
jne 0x3100
leaq 0x27cc(%rip), %rdi      # 0x584f
leaq 0x1e0(%rsp), %rsi
jmp 0x2aa9
movl 0x67fa(%rip), %eax      # 0x9890
movl %eax, 0x67fc(%rip)      # 0x9898
movl 0x67f2(%rip), %edi      # 0x9894
callq 0x2280
leaq 0xe0(%rsp), %rbx
movl $0x98, %esi
movq %rbx, %rdi
callq 0x2420
leaq 0x18e8(%rip), %rax      # 0x49ab
movq %rax, (%rbx)
pushq $0x2
popq %rbp
movl %ebp, %edi
movq %rbx, %rsi
xorl %edx, %edx
callq 0x20d0
leaq 0x6394(%rip), %rdi      # 0x9470
xorl %esi, %esi
callq 0x2230
movl %ebp, %edi
callq 0x2430
movl %eax, 0x6274(%rip)      # 0x9364
testl %eax, %eax
jg 0x3141
leaq 0x2ba9(%rip), %rdi      # 0x5ca4
jmp 0x2ab7
leaq 0x2775(%rip), %rdi      # 0x587c
leaq 0x1e0(%rsp), %rsi
movq (%rsp), %rbx
movq %rbx, %rdx
xorl %eax, %eax
callq 0x3eaa
leaq 0xe0(%rsp), %rsi
movq %rbx, %rdi
callq 0x2320
testl %eax, %eax
jns 0x3248
leaq 0x276d(%rip), %rdi      # 0x58a9
jmp 0x32d7
movl 0x61c9(%rip), %eax      # 0x9310
orl 0x61bb(%rip), %eax      # 0x9308
je 0x3173
leaq 0x1875(%rip), %rax      # 0x49cb
leaq 0xe0(%rsp), %rsi
movq %rax, (%rsi)
pushq $0xe
popq %rdi
xorl %edx, %edx
callq 0x20d0
pushq $0x1
popq %rdi
callq 0x2270
leaq 0x8(%rsp), %rbx
leaq 0x50(%rsp), %r14
movq 0x5e74(%rip), %r13      # 0x8ff8
leaq 0x2c7c(%rip), %r15      # 0x5e07
leaq 0x2c59(%rip), %r12      # 0x5deb
cmpl $0x0, 0x6703(%rip)      # 0x989c
je 0x31f7
cmpl $0x0, 0x616e(%rip)      # 0x9310
je 0x31be
callq 0x3d3a
cmpl 0x6161(%rip), %eax      # 0x9310
jg 0x3488
cmpl $0x2, 0x6150(%rip)      # 0x930c
jge 0x3233
cmpl $0x0, 0x6143(%rip)      # 0x9308
je 0x31ed
xorl %edi, %edi
callq 0x3b54
movl %eax, %ebp
cmpl $0x2, 0x6135(%rip)      # 0x930c
jge 0x3221
cmpl 0x6129(%rip), %ebp      # 0x9308
jle 0x31ed
cmpl 0x612d(%rip), %ebp      # 0x9314
jg 0x339f
movl $0x0, 0x66a5(%rip)      # 0x989c
movl 0x6153(%rip), %edi      # 0x9350
movq %rbx, %rsi
xorl %edx, %edx
movq %r14, %rcx
callq 0x23f0
testl %eax, %eax
jns 0x327c
callq 0x2060
cmpl $0x4, (%rax)
je 0x3192
jmp 0x32c4
movq (%r13), %rdi
movq %r15, %rsi
movl %ebp, %edx
xorl %eax, %eax
callq 0x2300
jmp 0x31d9
movq (%r13), %rdi
movq %r12, %rsi
movl %eax, %edx
xorl %eax, %eax
callq 0x2300
jmp 0x31be
movl $0xf000, %eax           # imm = 0xF000
andl 0xf8(%rsp), %eax
cmpl $0x6000, %eax           # imm = 0x6000
jne 0x32d0
leaq 0x268e(%rip), %rdi      # 0x58f0
leaq 0x50(%rsp), %rsi
callq 0x2320
testl %eax, %eax
jns 0x32ee
leaq 0x267b(%rip), %rdi      # 0x58f2
jmp 0x2ab7
cmpl 0x60ce(%rip), %eax      # 0x9350
jne 0x32e0
andl $0x0, 0x60c5(%rip)      # 0x9350
movl 0x6607(%rip), %edi      # 0x9898
leaq 0x1e0(%rsp), %rsi
movl $0x3ff, %edx            # imm = 0x3FF
callq 0x22c0
testl %eax, %eax
jle 0x3363
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movb $0x0, 0x1e0(%rsp,%rax)
leaq 0x252f(%rip), %rdi      # 0x57ee
jmp 0x3083
leaq 0x29f0(%rip), %rdi      # 0x5cbb
jmp 0x2ab7
leaq 0x25f6(%rip), %rdi      # 0x58cd
movq (%rsp), %rsi
jmp 0x2aa9
leaq 0x29de(%rip), %rdi      # 0x5cc5
movl %eax, %esi
jmp 0x2a98
movq 0x50(%rsp), %rax
cmpq 0x108(%rsp), %rax
jne 0x33ab
movslq 0x5ff0(%rip), %rax      # 0x92f8
leaq 0x8(%rsp), %rcx
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
andq $0x0, 0x10(%rcx)
movslq 0x5fdc(%rip), %rax      # 0x92fc
movq %rax, 0x18(%rcx)
movq %rax, 0x20(%rcx)
andq $0x0, 0x38(%rcx)
xorps %xmm0, %xmm0
movups %xmm0, 0x28(%rcx)
movl $0x5, 0x40(%rcx)
movl 0x6147(%rip), %edx      # 0x9488
movl $0x80000800, %edi       # imm = 0x80000800
movq (%rsp), %rsi
callq 0x2150
testl %eax, %eax
jns 0x3400
leaq 0x25e7(%rip), %rdi      # 0x5945
jmp 0x2ab7
movl 0x8(%rsp), %eax
movl %eax, %ecx
andl $0x7f, %ecx
jne 0x33c3
leaq 0x50(%rsp), %rdi
callq 0x3a0a
movzbl 0x9(%rsp), %esi
testl %esi, %esi
jne 0x3428
movl 0x5f7d(%rip), %eax      # 0x9308
testl %eax, %eax
je 0x3476
cmpl %eax, 0x5fbf(%rip)      # 0x9358
jle 0x3476
leaq 0x296a(%rip), %rdi      # 0x5d10
jmp 0x348f
leaq 0x2554(%rip), %rdi      # 0x5906
leaq 0x1e0(%rsp), %rsi
movq (%rsp), %rdx
jmp 0x2eac
movl %ecx, %edx
shll $0x18, %edx
addl $0x1000000, %edx        # imm = 0x1000000
cmpl $0x2000000, %edx        # imm = 0x2000000
jl 0x3444
leaq 0x2999(%rip), %rdi      # 0x5d76
movl %ecx, %esi
xorl %eax, %eax
callq 0x38b1
leaq 0x50(%rsp), %rdi
callq 0x3a0a
movl 0x8(%rsp), %esi
andl $0x7f, %esi
leaq 0x2984(%rip), %rdi      # 0x5d82
jmp 0x346f
movl 0x5ef2(%rip), %esi      # 0x92f8
movl 0x5ef0(%rip), %edx      # 0x92fc
leaq 0x254c(%rip), %rdi      # 0x595f
xorl %eax, %eax
callq 0x3eaa
movq (%rsp), %rdi
callq 0x2030
jmp 0x2f72
leaq 0x28b4(%rip), %rdi      # 0x5ce3
xorl %eax, %eax
callq 0x38b1
movzbl 0x9(%rsp), %esi
leaq 0x28ae(%rip), %rdi      # 0x5cf0
jmp 0x346f
cmpb $0x7f, %al
jne 0x3496
movzbl %ah, %esi
leaq 0x2924(%rip), %rdi      # 0x5d76
xorl %eax, %eax
callq 0x38b1
leaq 0x50(%rsp), %rdi
callq 0x3a0a
movzbl 0x9(%rsp), %esi
leaq 0x292e(%rip), %rdi      # 0x5d9d
xorl %eax, %eax
callq 0x49dd
movl 0x5e94(%rip), %eax      # 0x9310
testl %eax, %eax
je 0x34a2
cmpl %eax, 0x5ed6(%rip)      # 0x935c
jle 0x34a2
leaq 0x2899(%rip), %rdi      # 0x5d28
xorl %eax, %eax
callq 0x49dd
leaq 0x2919(%rip), %rdi      # 0x5db6
jmp 0x32e7
callq 0x3889
movq (%r13), %rdi
movl 0x5ea7(%rip), %eax      # 0x9358
movl $0x3e8, %esi            # imm = 0x3E8
cltd
idivl %esi
movl %eax, %r8d
movl %edx, %ecx
movl 0x5e98(%rip), %eax      # 0x935c
cltd
idivl %esi
movl %edx, %r9d
leaq 0x287c(%rip), %rsi      # 0x5d4d
movl %r8d, %edx
movl %eax, %r8d
xorl %eax, %eax
callq 0x2300
xorl %edi, %edi
callq 0x3950