// File: /workspace/github_c_makefile_star2_O1/nemequ[P]safe-math/munit/munit.c
// Function: munit_suite_main_custom
int
munit_suite_main_custom(const MunitSuite* suite, void* user_data,
                        int argc, const char* argv[MUNIT_ARRAY_PARAM(argc + 1)],
                        const MunitArgument arguments[]) {
  int result = EXIT_FAILURE;
  MunitTestRunner runner = {
    .prefix = NULL,
    .suite = NULL,
    .tests = NULL,
    .seed = 0,
    .iterations = 0,
    .parameters = NULL,
    .single_parameter_mode = false,
    .user_data = NULL,
    .report = {
      .successful = 0,
      .skipped = 0,
      .failed = 0,
      .errored = 0,
#if defined(MUNIT_ENABLE_TIMING)
      .cpu_clock = 0.0,
      .wall_clock = 0.0
#endif
    },
    .colorize = false,
#if !defined(_WIN32)
    .fork = true,
#else
    .fork = false,
#endif
    .show_stderr = false,
    .fatal_failures = false
  };
  size_t parameters_size = 0;
  size_t tests_size = 0;

  runner.suite = suite;
  runner.user_data = user_data;

  runner.seed = munit_rand_generate_seed();
  runner.colorize = isatty(fileno(MUNIT_OUTPUT_FILE));

  for (int arg = 1 ; arg < argc ; arg++) {
    if (strncmp("--", argv[arg], 2) == 0) {
      if (strcmp("seed", argv[arg] + 2) == 0) {
        if (arg + 1 >= argc) {
	  munit_logf_internal(MUNIT_LOG_ERROR, stderr, "%s requires an argument", argv[arg]);
          goto cleanup;
        }

        char* envptr = NULL;
        unsigned long long ts = strtoull(argv[arg + 1], &envptr, 0);
        if (*envptr != '\0' || ts > UINT32_MAX) {
	  munit_logf_internal(MUNIT_LOG_ERROR, stderr, "invalid value ('%s') passed to %s", argv[arg + 1], argv[arg]);
          goto cleanup;
        }
        runner.seed = (uint32_t) ts;

        arg++;
      } else if (strcmp("iterations", argv[arg] + 2) == 0) {
        if (arg + 1 >= argc) {
	  munit_logf_internal(MUNIT_LOG_ERROR, stderr, "%s requires an argument", argv[arg]);
          goto cleanup;
        }

        char* endptr;
        unsigned long long iterations = strtoull(argv[arg + 1], &endptr, 0);
        if (*endptr != '\0' || iterations > UINT_MAX) {
	  munit_logf_internal(MUNIT_LOG_ERROR, stderr, "invalid value ('%s') passed to %s", argv[arg + 1], argv[arg]);
          goto cleanup;
        }

        runner.iterations = (unsigned int) iterations;

        arg++;
      } else if (strcmp("param", argv[arg] + 2) == 0) {
        if (arg + 2 >= argc) {
	  munit_logf_internal(MUNIT_LOG_ERROR, stderr, "%s requires two arguments", argv[arg]);
          goto cleanup;
        }

        runner.parameters = realloc(runner.parameters, sizeof(MunitParameter) * (parameters_size + 2));
        if (runner.parameters == NULL) {
	  munit_log_internal(MUNIT_LOG_ERROR, stderr, "failed to allocate memory");
          goto cleanup;
        }
        runner.parameters[parameters_size].name = (char*) argv[arg + 1];
        runner.parameters[parameters_size].value = (char*) argv[arg + 2];
        parameters_size++;
        runner.parameters[parameters_size].name = NULL;
        runner.parameters[parameters_size].value = NULL;
        arg += 2;
      } else if (strcmp("color", argv[arg] + 2) == 0) {
        if (arg + 1 >= argc) {
	  munit_logf_internal(MUNIT_LOG_ERROR, stderr, "%s requires an argument", argv[arg]);
          goto cleanup;
        }

        if (strcmp(argv[arg + 1], "always") == 0)
          runner.colorize = true;
        else if (strcmp(argv[arg + 1], "never") == 0)
          runner.colorize = false;
        else if (strcmp(argv[arg + 1], "auto") == 0)
          runner.colorize = isatty(fileno(MUNIT_OUTPUT_FILE));
        else {
	  munit_logf_internal(MUNIT_LOG_ERROR, stderr, "invalid value ('%s') passed to %s", argv[arg + 1], argv[arg]);
          goto cleanup;
        }

        arg++;
      } else if (strcmp("help", argv[arg] + 2) == 0) {
        munit_print_help(argc, argv, user_data, arguments);
        result = EXIT_SUCCESS;
        goto cleanup;
      } else if (strcmp("single", argv[arg] + 2) == 0) {
        runner.single_parameter_mode = true;
      } else if (strcmp("show-stderr", argv[arg] + 2) == 0) {
        runner.show_stderr = true;
#if !defined(_WIN32)
      } else if (strcmp("no-fork", argv[arg] + 2) == 0) {
        runner.fork = false;
#endif
      } else if (strcmp("fatal-failures", argv[arg] + 2) == 0) {
        runner.fatal_failures = true;
      } else if (strcmp("log-visible", argv[arg] + 2) == 0 ||
                 strcmp("log-fatal", argv[arg] + 2) == 0) {
        MunitLogLevel level;

        if (arg + 1 >= argc) {
	  munit_logf_internal(MUNIT_LOG_ERROR, stderr, "%s requires an argument", argv[arg]);
          goto cleanup;
        }

        if (strcmp(argv[arg + 1], "debug") == 0)
          level = MUNIT_LOG_DEBUG;
        else if (strcmp(argv[arg + 1], "info") == 0)
          level = MUNIT_LOG_DEBUG;
        else if (strcmp(argv[arg + 1], "warning") == 0)
          level = MUNIT_LOG_DEBUG;
        else if (strcmp(argv[arg + 1], "error") == 0)
          level = MUNIT_LOG_DEBUG;
        else {
	  munit_logf_internal(MUNIT_LOG_ERROR, stderr, "invalid value ('%s') passed to %s", argv[arg + 1], argv[arg]);
          goto cleanup;
        }

        if (strcmp("log-visible", argv[arg] + 2) == 0)
          munit_log_level_visible = level;
        else
          munit_log_level_fatal = level;

        arg++;
      } else if (strcmp("list", argv[arg] + 2) == 0) {
        munit_suite_list_tests(suite, false, NULL);
        result = EXIT_SUCCESS;
        goto cleanup;
      } else if (strcmp("list-params", argv[arg] + 2) == 0) {
        munit_suite_list_tests(suite, true, NULL);
        result = EXIT_SUCCESS;
        goto cleanup;
      } else {
        const MunitArgument* argument = munit_arguments_find(arguments, argv[arg] + 2);
        if (argument == NULL) {
	  munit_logf_internal(MUNIT_LOG_ERROR, stderr, "unknown argument ('%s')", argv[arg]);
          goto cleanup;
        }

        if (!argument->parse_argument(suite, user_data, &arg, argc, argv))
          goto cleanup;
      }
    } else {
      runner.tests = realloc((void*) runner.tests, sizeof(char*) * (tests_size + 2));
      if (runner.tests == NULL) {
	  munit_log_internal(MUNIT_LOG_ERROR, stderr, "failed to allocate memory");
        goto cleanup;
      }
      runner.tests[tests_size++] = argv[arg];
      runner.tests[tests_size] = NULL;
    }
  }

  fflush(stderr);
  fprintf(MUNIT_OUTPUT_FILE, "Running test suite with seed 0x%08" PRIx32 "...\n", runner.seed);

  munit_test_runner_run(&runner);

  const unsigned int tests_run = runner.report.successful + runner.report.failed;
  const unsigned int tests_total = tests_run + runner.report.skipped;
  if (tests_run == 0) {
    fprintf(stderr, "No tests run, %d (100%%) skipped.\n", runner.report.skipped);
  } else {
    fprintf(MUNIT_OUTPUT_FILE, "%d of %d (%0.0f%%) tests successful, %d (%0.0f%%) test skipped.\n",
            runner.report.successful, tests_run,
            (((double) runner.report.successful) / ((double) tests_run)) * 100.0,
            runner.report.skipped,
            (((double) runner.report.skipped) / ((double) tests_total)) * 100.0);
  }

  if (runner.report.failed == 0 && runner.report.errored == 0) {
    result = EXIT_SUCCESS;
  }

 cleanup:
  free(runner.parameters);
  free((void*) runner.tests);

  return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xc8, %rsp
movq %r8, %rbx
movq %rcx, 0x20(%rsp)
movl %edx, %r13d
movq %rsi, %r14
movq %rdi, %r15
xorpd %xmm0, %xmm0
movapd %xmm0, 0x80(%rsp)
movapd %xmm0, 0x30(%rsp)
movapd %xmm0, 0x60(%rsp)
movapd %xmm0, 0x70(%rsp)
movapd %xmm0, 0x50(%rsp)
movapd %xmm0, 0x40(%rsp)
movb $0x1, 0x89(%rsp)
movq %rdi, 0x38(%rsp)
movq %rsi, 0x60(%rsp)
xorl %edi, %edi
callq 0x31f0
imull $0x2c9277b5, %eax, %eax # imm = 0x2C9277B5
addl $0x93a8436, %eax        # imm = 0x93A8436
movl %eax, %ecx
shrl $0x1c, %ecx
addb $0x4, %cl
movl %eax, %edx
shrl %cl, %edx
xorl %eax, %edx
imull $0x108ef2d9, %edx, %eax # imm = 0x108EF2D9
movl %eax, %ecx
shrl $0x16, %ecx
xorl %eax, %ecx
movl %ecx, 0x48(%rsp)
movq 0x63e5(%rip), %r12      # 0x9fd0
movq (%r12), %rdi
callq 0x3200
movl %eax, %edi
callq 0x3080
testl %eax, %eax
setne %dl
setne 0x88(%rsp)
movb 0x89(%rsp), %cl
movl 0x48(%rsp), %eax
movl $0x1, 0x1c(%rsp)
movl $0x2, %ebp
movl %r13d, 0x2c(%rsp)
cmpl $0x2, %r13d
jl 0x4222
movl %edx, 0x10(%rsp)
movl %ecx, 0x14(%rsp)
movq %r15, 0xa0(%rsp)
movl %eax, 0x18(%rsp)
movq %r14, 0xa8(%rsp)
movq %rbx, 0xb0(%rsp)
movq 0x40(%rsp), %r13
movq 0x50(%rsp), %rax
movq %rax, 0xc0(%rsp)
movb 0x8b(%rsp), %al
movb %al, 0xf(%rsp)
movl $0x1, %ebp
movq $0x0, 0xb8(%rsp)
xorl %r15d, %r15d
movq 0x20(%rsp), %rbx
movslq %ebp, %r12
movq (%rbx,%r12,8), %r14
movl $0x2, %edx
leaq 0x2a82(%rip), %rdi      # 0x671e
movq %r14, %rsi
callq 0x3060
testl %eax, %eax
je 0x3ce3
leaq 0x10(,%r15,8), %rsi
movq %r13, %rdi
callq 0x3240
movq %rax, %r13
testq %rax, %rax
je 0x423e
movslq 0x1c(%rsp), %rax
movq (%rbx,%rax,8), %rax
movq %rax, (%r13,%r15,8)
movq $0x0, 0x8(%r13,%r15,8)
incq %r15
jmp 0x408a
leaq 0x2(%r14), %rbx
leaq 0x2a33(%rip), %rdi      # 0x6721
movq %rbx, %rsi
callq 0x31b0
testl %eax, %eax
je 0x3e4e
leaq 0x2a5b(%rip), %rdi      # 0x6760
movq %rbx, %rsi
callq 0x31b0
testl %eax, %eax
je 0x3eb1
leaq 0x2a4f(%rip), %rdi      # 0x676b
movq %rbx, %rsi
callq 0x31b0
testl %eax, %eax
je 0x3f1d
leaq 0x2a72(%rip), %rdi      # 0x67a5
movq %rbx, %rsi
callq 0x31b0
testl %eax, %eax
je 0x3fe4
leaq 0x2a73(%rip), %rdi      # 0x67bd
movq %rbx, %rsi
callq 0x31b0
testl %eax, %eax
je 0x43d6
leaq 0x2a61(%rip), %rdi      # 0x67c2
movq %rbx, %rsi
callq 0x31b0
testl %eax, %eax
je 0x4056
leaq 0x2a51(%rip), %rdi      # 0x67c9
movq %rbx, %rsi
callq 0x31b0
testl %eax, %eax
je 0x405d
leaq 0x2a46(%rip), %rdi      # 0x67d5
movq %rbx, %rsi
callq 0x31b0
testl %eax, %eax
je 0x406f
leaq 0x2a37(%rip), %rdi      # 0x67dd
movq %rbx, %rsi
callq 0x31b0
testl %eax, %eax
je 0x413a
leaq 0x2a2f(%rip), %rdi      # 0x67ec
movq %rbx, %rsi
callq 0x31b0
movl %eax, %r12d
testl %eax, %eax
je 0x40a3
leaq 0x2a21(%rip), %rdi      # 0x67f8
movq %rbx, %rsi
callq 0x31b0
testl %eax, %eax
je 0x40a3
leaq 0x2a2d(%rip), %rdi      # 0x681b
movq %rbx, %rsi
callq 0x31b0
testl %eax, %eax
je 0x4506
leaq 0x2a1b(%rip), %rdi      # 0x6820
movq %rbx, %rsi
callq 0x31b0
testl %eax, %eax
je 0x4542
movq 0xb0(%rsp), %r12
testq %r12, %r12
je 0x4169
movq (%r12), %rdi
testq %rdi, %rdi
je 0x4169
movq %rbx, %rsi
callq 0x31b0
testl %eax, %eax
je 0x416c
movq 0x18(%r12), %rdi
addq $0x18, %r12
jmp 0x3e2a
incl %ebp
cmpl 0x2c(%rsp), %ebp
jge 0x4286
movq $0x0, 0x98(%rsp)
movq 0x20(%rsp), %r14
movq 0x8(%r14,%r12,8), %rdi
leaq 0x98(%rsp), %rsi
xorl %edx, %edx
callq 0x3180
movq 0x98(%rsp), %rcx
cmpb $0x0, (%rcx)
sete %dl
movq %rax, %rcx
shrq $0x20, %rcx
sete %bl
movslq 0x1c(%rsp), %rcx
andb %dl, %bl
je 0x3f05
incl %ecx
movl %ecx, 0x1c(%rsp)
xorl %ebp, %ebp
movl %eax, 0x18(%rsp)
jmp 0x3fd2
incl %ebp
cmpl 0x2c(%rsp), %ebp
jge 0x4286
movq 0x20(%rsp), %r14
movq 0x8(%r14,%r12,8), %rdi
leaq 0x98(%rsp), %rsi
xorl %edx, %edx
callq 0x3180
movq 0x98(%rsp), %rcx
cmpb $0x0, (%rcx)
sete %cl
movq %rax, %rdx
shrq $0x20, %rdx
sete %bl
andb %cl, %bl
je 0x3fa7
movl %eax, 0x4c(%rsp)
incl 0x1c(%rsp)
xorl %ebp, %ebp
jmp 0x3fd2
movq 0x60e4(%rip), %rax      # 0x9ff0
movq (%rax), %rsi
movq (%r14,%rcx,8), %r8
movq 0x8(%r14,%rcx,8), %rcx
jmp 0x3fbf
addl $0x2, %ebp
cmpl 0x2c(%rsp), %ebp
jge 0x4471
movq 0xb8(%rsp), %r14
movq %r14, %rbx
shlq $0x4, %rbx
leaq 0x20(%rbx), %rsi
movq 0xc0(%rsp), %rdi
callq 0x3240
movq %rax, 0x50(%rsp)
testq %rax, %rax
je 0x423e
movslq 0x1c(%rsp), %rsi
movq 0x20(%rsp), %rdx
movq 0x8(%rdx,%rsi,8), %rcx
movq %rcx, (%rax,%rbx)
movq 0x10(%rdx,%rsi,8), %rcx
movq %rcx, 0x8(%rax,%rbx)
movq %rdx, %rbx
incq %r14
movq %r14, %rcx
movq %r14, 0xb8(%rsp)
shlq $0x4, %rcx
leal 0x2(%rsi), %edx
xorpd %xmm0, %xmm0
movq %rax, 0xc0(%rsp)
movupd %xmm0, (%rax,%rcx)
movl %edx, 0x1c(%rsp)
jmp 0x408a
movq 0x6042(%rip), %rax      # 0x9ff0
movq (%rax), %rsi
movslq 0x1c(%rsp), %rax
movq (%r14,%rax,8), %r8
movq 0x8(%r14,%rax,8), %rcx
leaq 0x2778(%rip), %rdx      # 0x673e
xorl %eax, %eax
callq 0x458b
movl $0x5, %ebp
testb %bl, %bl
movq 0x20(%rsp), %rbx
jne 0x408a
jmp 0x41ff
incl %ebp
cmpl 0x2c(%rsp), %ebp
jge 0x4286
movslq %ebp, %rax
movq 0x20(%rsp), %rcx
movq (%rcx,%rax,8), %rbx
movq %rbx, %rdi
leaq 0x27a5(%rip), %rsi      # 0x67ab
callq 0x31b0
testl %eax, %eax
je 0x4067
movq %rbx, %rdi
leaq 0x2799(%rip), %rsi      # 0x67b2
callq 0x31b0
testl %eax, %eax
je 0x4079
movq %rbx, %rdi
leaq 0x278c(%rip), %rsi      # 0x67b8
callq 0x31b0
testl %eax, %eax
jne 0x44b5
movq 0x5f90(%rip), %rax      # 0x9fd0
movq (%rax), %rdi
callq 0x3200
movl %eax, %edi
callq 0x3080
testl %eax, %eax
setne %al
jmp 0x4069
movb $0x1, 0x58(%rsp)
jmp 0x4085
movb $0x1, 0x8a(%rsp)
jmp 0x4085
movb $0x1, %al
movl %eax, 0x10(%rsp)
jmp 0x4081
movl $0x0, 0x14(%rsp)
jmp 0x4085
movl $0x0, 0x10(%rsp)
incl 0x1c(%rsp)
movq 0x20(%rsp), %rbx
movl 0x1c(%rsp), %ebp
incl %ebp
movl %ebp, 0x1c(%rsp)
cmpl 0x2c(%rsp), %ebp
jl 0x3c89
jmp 0x41fa
incl %ebp
cmpl 0x2c(%rsp), %ebp
jge 0x4144
movslq %ebp, %rax
movq 0x20(%rsp), %rcx
movq (%rcx,%rax,8), %rbx
movq %rbx, %rdi
leaq 0x273d(%rip), %rsi      # 0x6802
callq 0x31b0
testl %eax, %eax
je 0x41a0
movq %rbx, %rdi
leaq 0x272c(%rip), %rsi      # 0x6808
callq 0x31b0
testl %eax, %eax
je 0x41a0
movq %rbx, %rdi
leaq 0x271a(%rip), %rsi      # 0x680d
callq 0x31b0
testl %eax, %eax
je 0x41a0
movq %rbx, %rdi
leaq 0x270b(%rip), %rsi      # 0x6815
callq 0x31b0
testl %eax, %eax
je 0x41a0
movq 0x5ed2(%rip), %rax      # 0x9ff0
movq (%rax), %rsi
xorl %r12d, %r12d
leaq 0x2613(%rip), %rdx      # 0x673e
movq %rbx, %rcx
movq %r14, %r8
xorl %eax, %eax
callq 0x458b
jmp 0x4162
movb $0x1, 0xf(%rsp)
jmp 0x4085
movq 0x5ea5(%rip), %rax      # 0x9ff0
movq (%rax), %rsi
xorl %r12d, %r12d
leaq 0x25ce(%rip), %rdx      # 0x6726
movq %r14, %rcx
xorl %eax, %eax
callq 0x458b
movl $0x5, %ebp
jmp 0x41c1
xorl %r12d, %r12d
testq %r12, %r12
movq 0x20(%rsp), %r8
je 0x41d1
movq 0xa0(%rsp), %rdi
movq 0xa8(%rsp), %rsi
leaq 0x1c(%rsp), %rdx
movl 0x2c(%rsp), %ecx
callq *0x8(%r12)
movl %eax, %ebx
xorb $0x1, %al
movzbl %al, %eax
leal (%rax,%rax,4), %ebp
jmp 0x41f3
testl %r12d, %r12d
leaq 0x754e(%rip), %rax      # 0xb6f8
leaq 0x754b(%rip), %rcx      # 0xb6fc
cmoveq %rcx, %rax
movb $0x1, (%rax)
movl %ebp, 0x1c(%rsp)
xorl %ebp, %ebp
movb $0x1, %r12b
movq 0x20(%rsp), %rbx
testb %r12b, %r12b
jne 0x408a
jmp 0x41ff
movq 0x5e18(%rip), %rax      # 0x9ff0
movq (%rax), %rsi
xorl %ebx, %ebx
leaq 0x2648(%rip), %rdx      # 0x682c
movq %r14, %rcx
xorl %eax, %eax
callq 0x458b
movl $0x5, %ebp
testb %bl, %bl
jmp 0x3fd4
movl $0x2, %ebp
movq %r13, 0x40(%rsp)
movb 0xf(%rsp), %al
movb %al, 0x8b(%rsp)
movq 0x5dba(%rip), %r12      # 0x9fd0
movl 0x18(%rsp), %eax
movl 0x14(%rsp), %ecx
movl 0x10(%rsp), %edx
movb %cl, 0x89(%rsp)
movb %dl, 0x88(%rsp)
movl %eax, 0x48(%rsp)
movl $0x1, %ebx
jmp 0x42e0
movq %r13, 0x40(%rsp)
movb 0xf(%rsp), %al
movb %al, 0x8b(%rsp)
movl 0x14(%rsp), %eax
movb %al, 0x89(%rsp)
movl 0x10(%rsp), %eax
movb %al, 0x88(%rsp)
movl 0x18(%rsp), %eax
movl %eax, 0x48(%rsp)
movq 0x5d7d(%rip), %rax      # 0x9ff0
movq (%rax), %rsi
leaq 0x24e0(%rip), %rdx      # 0x675d
leaq 0x2507(%rip), %rcx      # 0x678b
jmp 0x42c8
movq %r13, 0x40(%rsp)
movb 0xf(%rsp), %al
movb %al, 0x8b(%rsp)
movl 0x14(%rsp), %eax
movb %al, 0x89(%rsp)
movl 0x10(%rsp), %eax
movb %al, 0x88(%rsp)
movl 0x18(%rsp), %eax
movl %eax, 0x48(%rsp)
movq 0x5d35(%rip), %rax      # 0x9ff0
movq (%rax), %rsi
leaq 0x2461(%rip), %rdx      # 0x6726
movq %r14, %rcx
xorl %eax, %eax
callq 0x458b
movl $0x1, %ebx
movl $0x5, %ebp
movq 0x5cf0(%rip), %r12      # 0x9fd0
cmpl $0x5, %ebp
je 0x4398
cmpl $0x2, %ebp
jne 0x43ac
movq 0x5cf7(%rip), %r15      # 0x9ff0
movq (%r15), %rdi
callq 0x3220
movq (%r12), %rdi
leaq 0x30(%rsp), %r14
movl 0x18(%r14), %edx
leaq 0x252f(%rip), %rsi      # 0x6844
xorl %eax, %eax
callq 0x31d0
movq 0x8(%r14), %rsi
movq %r14, %rdi
xorl %edx, %edx
callq 0x4875
movl 0x38(%r14), %edx
movl 0x3c(%r14), %r8d
movl 0x40(%r14), %ebp
movl %ebp, %ecx
addl %edx, %ecx
je 0x43c0
leal (%rcx,%r8), %eax
movq (%r12), %rdi
movl %edx, %esi
xorps %xmm0, %xmm0
cvtsi2sd %rsi, %xmm0
movl %ecx, %esi
cvtsi2sd %rsi, %xmm1
divsd %xmm1, %xmm0
movsd 0x2373(%rip), %xmm2     # 0x66d8
mulsd %xmm2, %xmm0
movl %r8d, %esi
xorps %xmm1, %xmm1
cvtsi2sd %rsi, %xmm1
cvtsi2sd %rax, %xmm3
divsd %xmm3, %xmm1
mulsd %xmm2, %xmm1
leaq 0x2507(%rip), %rsi      # 0x688f
movb $0x2, %al
callq 0x31d0
xorl %eax, %eax
orl 0x74(%rsp), %ebp
cmovel %eax, %ebx
movq 0x50(%rsp), %rdi
callq 0x3030
movq 0x40(%rsp), %rdi
callq 0x3030
movl %ebx, %eax
addq $0xc8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq (%r15), %rdi
leaq 0x24a2(%rip), %rsi      # 0x686c
movl %r8d, %edx
xorl %eax, %eax
callq 0x31d0
jmp 0x438f
movq %r13, 0x40(%rsp)
movb 0xf(%rsp), %al
movb %al, 0x8b(%rsp)
movl 0x14(%rsp), %eax
movb %al, 0x89(%rsp)
movl 0x10(%rsp), %eax
movb %al, 0x88(%rsp)
movl 0x18(%rsp), %eax
movl %eax, 0x48(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rsi
leaq 0x2527(%rip), %rdi      # 0x693a
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x30f0
leaq 0x253a(%rip), %rdi      # 0x695d
callq 0x3070
movl $0x5, %ebp
movq 0xb0(%rsp), %r14
testq %r14, %r14
je 0x42d9
cmpq $0x0, (%r14)
movq 0x5b87(%rip), %r12      # 0x9fd0
je 0x42e0
movq 0xa8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq *0x10(%r14)
cmpq $0x0, 0x18(%r14)
leaq 0x18(%r14), %r14
jne 0x4457
jmp 0x42e0
movq %r13, 0x40(%rsp)
movb 0xf(%rsp), %al
movb %al, 0x8b(%rsp)
movl 0x14(%rsp), %eax
movb %al, 0x89(%rsp)
movl 0x10(%rsp), %eax
movb %al, 0x88(%rsp)
movl 0x18(%rsp), %eax
movl %eax, 0x48(%rsp)
movq 0x5b4a(%rip), %rax      # 0x9ff0
movq (%rax), %rsi
leaq 0x22c1(%rip), %rdx      # 0x6771
jmp 0x42c5
movq %r13, 0x40(%rsp)
movb 0xf(%rsp), %al
movb %al, 0x8b(%rsp)
movl 0x14(%rsp), %eax
movb %al, 0x89(%rsp)
movl 0x10(%rsp), %eax
movb %al, 0x88(%rsp)
movl 0x18(%rsp), %eax
movl %eax, 0x48(%rsp)
movq 0x5b06(%rip), %rax      # 0x9ff0
movq (%rax), %rsi
leaq 0x224a(%rip), %rdx      # 0x673e
movq %rbx, %rcx
movq %r14, %r8
xorl %eax, %eax
callq 0x458b
jmp 0x42cf
movq %r13, 0x40(%rsp)
movb 0xf(%rsp), %al
movb %al, 0x8b(%rsp)
movl 0x14(%rsp), %eax
movb %al, 0x89(%rsp)
movl 0x10(%rsp), %eax
movb %al, 0x88(%rsp)
movl 0x18(%rsp), %eax
movl %eax, 0x48(%rsp)
xorl %ebx, %ebx
movq 0xa0(%rsp), %rdi
xorl %esi, %esi
jmp 0x457f
movq %r13, 0x40(%rsp)
movb 0xf(%rsp), %al
movb %al, 0x8b(%rsp)
movl 0x14(%rsp), %eax
movb %al, 0x89(%rsp)
movl 0x10(%rsp), %eax
movb %al, 0x88(%rsp)
movl 0x18(%rsp), %eax
movl %eax, 0x48(%rsp)
xorl %ebx, %ebx
movq 0xa0(%rsp), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x461a
jmp 0x42d4