// File: /workspace/github_c_makefile_star2_O0/tomcatzh[P]RealityBenchmark/aes_bench.c
// Function: decryptContent
static CONTENTS* decryptContent(const CONTENTS* data) {
  EVP_CIPHER_CTX *ctx;

  ctx = EVP_CIPHER_CTX_new();
  assert(ctx);

  int i = 0;

  int len;
  size_t dataLength = data->size;

  switch (cipherMode) {
  case cipherModeCBC:
    switch (keyLength) {
      case keyLength128Bit:
        i = EVP_DecryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv);
        break;
      case keyLength192Bit:
        i = EVP_DecryptInit_ex(ctx, EVP_aes_192_cbc(), NULL, key, iv);
        break;
      case keyLength256Bit:
        i = EVP_DecryptInit_ex(ctx, EVP_aes_256_cbc(), NULL, key, iv);
        break;
    }
    assert(i==1);
    break;
  case cipherModeCFB:
    switch (keyLength) {
      case keyLength128Bit:
        i = EVP_DecryptInit_ex(ctx, EVP_aes_128_cfb(), NULL, key, iv);
        break;
      case keyLength192Bit:
        i = EVP_DecryptInit_ex(ctx, EVP_aes_192_cfb(), NULL, key, iv);
        break;
      case keyLength256Bit:
        i = EVP_DecryptInit_ex(ctx, EVP_aes_256_cfb(), NULL, key, iv);
        break;
    }
    assert(i==1);
    break;
  case cipherModeOFB:
    switch (keyLength) {
      case keyLength128Bit:
        i = EVP_DecryptInit_ex(ctx, EVP_aes_128_ofb(), NULL, key, iv);
        break;
      case keyLength192Bit:
        i = EVP_DecryptInit_ex(ctx, EVP_aes_192_ofb(), NULL, key, iv);
        break;
      case keyLength256Bit:
        i = EVP_DecryptInit_ex(ctx, EVP_aes_256_ofb(), NULL, key, iv);
        break;
    }
    assert(i==1);
    break;
  case cipherModeCTR:
    switch (keyLength) {
      case keyLength128Bit:
        i = EVP_DecryptInit_ex(ctx, EVP_aes_128_ctr(), NULL, key, iv);
        break;
      case keyLength192Bit:
        i = EVP_DecryptInit_ex(ctx, EVP_aes_192_ctr(), NULL, key, iv);
        break;
      case keyLength256Bit:
        i = EVP_DecryptInit_ex(ctx, EVP_aes_256_ctr(), NULL, key, iv);
        break;
    }
    assert(i==1);
    break;
  case cipherModeGCM:
    switch (keyLength) {
      case keyLength128Bit:
        i = EVP_DecryptInit_ex(ctx, EVP_aes_128_gcm(), NULL, NULL, NULL);
        break;
      case keyLength192Bit:
        i = EVP_DecryptInit_ex(ctx, EVP_aes_192_gcm(), NULL, NULL, NULL);
        break;
      case keyLength256Bit:
        i = EVP_DecryptInit_ex(ctx, EVP_aes_256_gcm(), NULL, NULL, NULL);
        break;
    }
    assert(i==1);

    dataLength -= tagLength;

    i = EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_SET_IVLEN, ivLength, NULL);
    assert(i==1);

    i = EVP_DecryptInit_ex(ctx, NULL, NULL, key, iv);
    assert(i==1);

    i = EVP_DecryptUpdate(ctx, NULL, &len, aad, sizeof(aad));
    assert(i==1);

    break;
  case cipherModeCCM:
    switch (keyLength) {
      case keyLength128Bit:
        i = EVP_DecryptInit_ex(ctx, EVP_aes_128_ccm(), NULL, NULL, NULL);
        break;
      case keyLength192Bit:
        i = EVP_DecryptInit_ex(ctx, EVP_aes_192_ccm(), NULL, NULL, NULL);
        break;
      case keyLength256Bit:
        i = EVP_DecryptInit_ex(ctx, EVP_aes_256_ccm(), NULL, NULL, NULL);
        break;
    }
    assert(i==1);

    dataLength -= tagLength;

    i = EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_CCM_SET_IVLEN, ivLength, NULL);
    assert(i==1);

    i = EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_CCM_SET_TAG, tagLength, data->body + dataLength);
    assert(i==1);

    i = EVP_DecryptInit_ex(ctx, NULL, NULL, key, iv);
    assert(i==1);

    i = EVP_DecryptUpdate(ctx, NULL, &len, NULL, dataLength);
    assert(i==1);

    i = EVP_DecryptUpdate(ctx, NULL, &len, aad, sizeof(aad));
    assert(i==1);

    break;
  }

  CONTENTS* ret = NULL;
  ret = calloc(1, sizeof(CONTENTS));
  assert(ret);
  ret->body = (unsigned char*)malloc(dataLength);
  assert(ret->body);

  i = EVP_DecryptUpdate(ctx, ret->body, &len, data->body, dataLength);
  assert(i==1);
  ret->size = len;

  if (cipherMode == cipherModeGCM) {
    i = EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_SET_TAG, tagLength, data->body + dataLength);
    assert(i==1);
  }

  if (cipherMode != cipherModeCCM) {
    i = EVP_DecryptFinal_ex(ctx, ret->body + len, &len);
    assert(i==1);
    ret->size += len;
  }

  EVP_CIPHER_CTX_free(ctx);

  return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
movq %rdi, -0x8(%rbp)
callq 0x2180
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x3361
jmp 0x3380
leaq 0x90af(%rip), %rdi      # 0xc417
leaq 0x8ec3(%rip), %rsi      # 0xc232
movl $0x3c, %edx
leaq 0x90d4(%rip), %rcx      # 0xc44f
callq 0x21a0
movl $0x0, -0x14(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movl 0xcedb(%rip), %eax      # 0x10274
decl %eax
movl %eax, %ecx
movq %rcx, -0x30(%rbp)
subl $0x1f, %eax
ja 0x3b8a
movq -0x30(%rbp), %rax
leaq 0x8daf(%rip), %rcx      # 0xc164
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl 0xceac(%rip), %eax      # 0x10270
movl %eax, -0x34(%rbp)
subl $0x10, %eax
je 0x33e5
jmp 0x33ce
movl -0x34(%rbp), %eax
subl $0x18, %eax
je 0x3415
jmp 0x33d8
movl -0x34(%rbp), %eax
subl $0x20, %eax
je 0x3445
jmp 0x3473
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
callq 0x2120
movq -0x40(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
leaq 0xce7c(%rip), %rcx      # 0x10280
leaq 0xce95(%rip), %r8       # 0x102a0
callq 0x2090
movl %eax, -0x14(%rbp)
jmp 0x3473
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
callq 0x2420
movq -0x48(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
leaq 0xce4c(%rip), %rcx      # 0x10280
leaq 0xce65(%rip), %r8       # 0x102a0
callq 0x2090
movl %eax, -0x14(%rbp)
jmp 0x3473
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
callq 0x2170
movq -0x50(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
leaq 0xce1c(%rip), %rcx      # 0x10280
leaq 0xce35(%rip), %r8       # 0x102a0
callq 0x2090
movl %eax, -0x14(%rbp)
cmpl $0x1, -0x14(%rbp)
jne 0x347b
jmp 0x349a
leaq 0x8fc4(%rip), %rdi      # 0xc446
leaq 0x8da9(%rip), %rsi      # 0xc232
movl $0x50, %edx
leaq 0x8fba(%rip), %rcx      # 0xc44f
callq 0x21a0
jmp 0x3b8a
movl 0xcdcb(%rip), %eax      # 0x10270
movl %eax, -0x54(%rbp)
subl $0x10, %eax
je 0x34c6
jmp 0x34af
movl -0x54(%rbp), %eax
subl $0x18, %eax
je 0x34f6
jmp 0x34b9
movl -0x54(%rbp), %eax
subl $0x20, %eax
je 0x3526
jmp 0x3554
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
callq 0x2380
movq -0x60(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
leaq 0xcd9b(%rip), %rcx      # 0x10280
leaq 0xcdb4(%rip), %r8       # 0x102a0
callq 0x2090
movl %eax, -0x14(%rbp)
jmp 0x3554
movq -0x10(%rbp), %rax
movq %rax, -0x68(%rbp)
callq 0x23b0
movq -0x68(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
leaq 0xcd6b(%rip), %rcx      # 0x10280
leaq 0xcd84(%rip), %r8       # 0x102a0
callq 0x2090
movl %eax, -0x14(%rbp)
jmp 0x3554
movq -0x10(%rbp), %rax
movq %rax, -0x70(%rbp)
callq 0x2230
movq -0x70(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
leaq 0xcd3b(%rip), %rcx      # 0x10280
leaq 0xcd54(%rip), %r8       # 0x102a0
callq 0x2090
movl %eax, -0x14(%rbp)
cmpl $0x1, -0x14(%rbp)
jne 0x355c
jmp 0x357b
leaq 0x8ee3(%rip), %rdi      # 0xc446
leaq 0x8cc8(%rip), %rsi      # 0xc232
movl $0x5e, %edx
leaq 0x8ed9(%rip), %rcx      # 0xc44f
callq 0x21a0
jmp 0x3b8a
movl 0xccea(%rip), %eax      # 0x10270
movl %eax, -0x74(%rbp)
subl $0x10, %eax
je 0x35a7
jmp 0x3590
movl -0x74(%rbp), %eax
subl $0x18, %eax
je 0x35d7
jmp 0x359a
movl -0x74(%rbp), %eax
subl $0x20, %eax
je 0x360d
jmp 0x3641
movq -0x10(%rbp), %rax
movq %rax, -0x80(%rbp)
callq 0x2070
movq -0x80(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
leaq 0xccba(%rip), %rcx      # 0x10280
leaq 0xccd3(%rip), %r8       # 0x102a0
callq 0x2090
movl %eax, -0x14(%rbp)
jmp 0x3641
movq -0x10(%rbp), %rax
movq %rax, -0x88(%rbp)
callq 0x23f0
movq -0x88(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
leaq 0xcc84(%rip), %rcx      # 0x10280
leaq 0xcc9d(%rip), %r8       # 0x102a0
callq 0x2090
movl %eax, -0x14(%rbp)
jmp 0x3641
movq -0x10(%rbp), %rax
movq %rax, -0x90(%rbp)
callq 0x2400
movq -0x90(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
leaq 0xcc4e(%rip), %rcx      # 0x10280
leaq 0xcc67(%rip), %r8       # 0x102a0
callq 0x2090
movl %eax, -0x14(%rbp)
cmpl $0x1, -0x14(%rbp)
jne 0x3649
jmp 0x3668
leaq 0x8df6(%rip), %rdi      # 0xc446
leaq 0x8bdb(%rip), %rsi      # 0xc232
movl $0x6c, %edx
leaq 0x8dec(%rip), %rcx      # 0xc44f
callq 0x21a0
jmp 0x3b8a
movl 0xcbfd(%rip), %eax      # 0x10270
movl %eax, -0x94(%rbp)
subl $0x10, %eax
je 0x369d
jmp 0x3680
movl -0x94(%rbp), %eax
subl $0x18, %eax
je 0x36d3
jmp 0x368d
movl -0x94(%rbp), %eax
subl $0x20, %eax
je 0x3709
jmp 0x373d
movq -0x10(%rbp), %rax
movq %rax, -0xa0(%rbp)
callq 0x2270
movq -0xa0(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
leaq 0xcbbe(%rip), %rcx      # 0x10280
leaq 0xcbd7(%rip), %r8       # 0x102a0
callq 0x2090
movl %eax, -0x14(%rbp)
jmp 0x373d
movq -0x10(%rbp), %rax
movq %rax, -0xa8(%rbp)
callq 0x2150
movq -0xa8(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
leaq 0xcb88(%rip), %rcx      # 0x10280
leaq 0xcba1(%rip), %r8       # 0x102a0
callq 0x2090
movl %eax, -0x14(%rbp)
jmp 0x373d
movq -0x10(%rbp), %rax
movq %rax, -0xb0(%rbp)
callq 0x2310
movq -0xb0(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
leaq 0xcb52(%rip), %rcx      # 0x10280
leaq 0xcb6b(%rip), %r8       # 0x102a0
callq 0x2090
movl %eax, -0x14(%rbp)
cmpl $0x1, -0x14(%rbp)
jne 0x3745
jmp 0x3764
leaq 0x8cfa(%rip), %rdi      # 0xc446
leaq 0x8adf(%rip), %rsi      # 0xc232
movl $0x7a, %edx
leaq 0x8cf0(%rip), %rcx      # 0xc44f
callq 0x21a0
jmp 0x3b8a
movl 0xcb01(%rip), %eax      # 0x10270
movl %eax, -0xb4(%rbp)
subl $0x10, %eax
je 0x3799
jmp 0x377c
movl -0xb4(%rbp), %eax
subl $0x18, %eax
je 0x37c8
jmp 0x3789
movl -0xb4(%rbp), %eax
subl $0x20, %eax
je 0x37f7
jmp 0x3824
movq -0x10(%rbp), %rax
movq %rax, -0xc0(%rbp)
callq 0x2200
movq -0xc0(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %r8d
movq %r8, %rdx
movq %r8, %rcx
callq 0x2090
movl %eax, -0x14(%rbp)
jmp 0x3824
movq -0x10(%rbp), %rax
movq %rax, -0xc8(%rbp)
callq 0x2430
movq -0xc8(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %r8d
movq %r8, %rdx
movq %r8, %rcx
callq 0x2090
movl %eax, -0x14(%rbp)
jmp 0x3824
movq -0x10(%rbp), %rax
movq %rax, -0xd0(%rbp)
callq 0x23a0
movq -0xd0(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %r8d
movq %r8, %rdx
movq %r8, %rcx
callq 0x2090
movl %eax, -0x14(%rbp)
cmpl $0x1, -0x14(%rbp)
jne 0x382c
jmp 0x384b
leaq 0x8c13(%rip), %rdi      # 0xc446
leaq 0x89f8(%rip), %rsi      # 0xc232
movl $0x88, %edx
leaq 0x8c09(%rip), %rcx      # 0xc44f
callq 0x21a0
movslq 0xc9ea(%rip), %rcx      # 0x1023c
movq -0x20(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movl 0xc9d1(%rip), %edx      # 0x10238
movl $0x9, %esi
xorl %eax, %eax
movl %eax, %ecx
callq 0x2360
movl %eax, -0x14(%rbp)
cmpl $0x1, -0x14(%rbp)
jne 0x3880
jmp 0x389f
leaq 0x8bbf(%rip), %rdi      # 0xc446
leaq 0x89a4(%rip), %rsi      # 0xc232
movl $0x8d, %edx
leaq 0x8bb5(%rip), %rcx      # 0xc44f
callq 0x21a0
movq -0x10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %edx
leaq 0xc9d2(%rip), %rcx      # 0x10280
leaq 0xc9eb(%rip), %r8       # 0x102a0
movq %rdx, %rsi
callq 0x2090
movl %eax, -0x14(%rbp)
cmpl $0x1, -0x14(%rbp)
jne 0x38c8
jmp 0x38e7
leaq 0x8b77(%rip), %rdi      # 0xc446
leaq 0x895c(%rip), %rsi      # 0xc232
movl $0x90, %edx
leaq 0x8b6d(%rip), %rcx      # 0xc44f
callq 0x21a0
movq -0x10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
leaq -0x18(%rbp), %rdx
leaq 0xc9b6(%rip), %rcx      # 0x102b0
movl $0x20, %r8d
callq 0x2160
movl %eax, -0x14(%rbp)
cmpl $0x1, -0x14(%rbp)
jne 0x3910
jmp 0x392f
leaq 0x8b2f(%rip), %rdi      # 0xc446
leaq 0x8914(%rip), %rsi      # 0xc232
movl $0x93, %edx
leaq 0x8b25(%rip), %rcx      # 0xc44f
callq 0x21a0
jmp 0x3b8a
movl 0xc936(%rip), %eax      # 0x10270
movl %eax, -0xd4(%rbp)
subl $0x10, %eax
je 0x3964
jmp 0x3947
movl -0xd4(%rbp), %eax
subl $0x18, %eax
je 0x3993
jmp 0x3954
movl -0xd4(%rbp), %eax
subl $0x20, %eax
je 0x39c2
jmp 0x39ef
movq -0x10(%rbp), %rax
movq %rax, -0xe0(%rbp)
callq 0x23d0
movq -0xe0(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %r8d
movq %r8, %rdx
movq %r8, %rcx
callq 0x2090
movl %eax, -0x14(%rbp)
jmp 0x39ef
movq -0x10(%rbp), %rax
movq %rax, -0xe8(%rbp)
callq 0x22c0
movq -0xe8(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %r8d
movq %r8, %rdx
movq %r8, %rcx
callq 0x2090
movl %eax, -0x14(%rbp)
jmp 0x39ef
movq -0x10(%rbp), %rax
movq %rax, -0xf0(%rbp)
callq 0x22d0
movq -0xf0(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %r8d
movq %r8, %rdx
movq %r8, %rcx
callq 0x2090
movl %eax, -0x14(%rbp)
cmpl $0x1, -0x14(%rbp)
jne 0x39f7
jmp 0x3a16
leaq 0x8a48(%rip), %rdi      # 0xc446
leaq 0x882d(%rip), %rsi      # 0xc232
movl $0xa2, %edx
leaq 0x8a3e(%rip), %rcx      # 0xc44f
callq 0x21a0
movslq 0xc81f(%rip), %rcx      # 0x1023c
movq -0x20(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movl 0xc806(%rip), %edx      # 0x10238
movl $0x9, %esi
xorl %eax, %eax
movl %eax, %ecx
callq 0x2360
movl %eax, -0x14(%rbp)
cmpl $0x1, -0x14(%rbp)
jne 0x3a4b
jmp 0x3a6a
leaq 0x89f4(%rip), %rdi      # 0xc446
leaq 0x87d9(%rip), %rsi      # 0xc232
movl $0xa7, %edx
leaq 0x89ea(%rip), %rcx      # 0xc44f
callq 0x21a0
movq -0x10(%rbp), %rdi
movl 0xc7c8(%rip), %edx      # 0x1023c
movq -0x8(%rbp), %rax
movq (%rax), %rcx
addq -0x20(%rbp), %rcx
movl $0x11, %esi
callq 0x2360
movl %eax, -0x14(%rbp)
cmpl $0x1, -0x14(%rbp)
jne 0x3a94
jmp 0x3ab3
leaq 0x89ab(%rip), %rdi      # 0xc446
leaq 0x8790(%rip), %rsi      # 0xc232
movl $0xaa, %edx
leaq 0x89a1(%rip), %rcx      # 0xc44f
callq 0x21a0
movq -0x10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %edx
leaq 0xc7be(%rip), %rcx      # 0x10280
leaq 0xc7d7(%rip), %r8       # 0x102a0
movq %rdx, %rsi
callq 0x2090
movl %eax, -0x14(%rbp)
cmpl $0x1, -0x14(%rbp)
jne 0x3adc
jmp 0x3afb
leaq 0x8963(%rip), %rdi      # 0xc446
leaq 0x8748(%rip), %rsi      # 0xc232
movl $0xad, %edx
leaq 0x8959(%rip), %rcx      # 0xc44f
callq 0x21a0
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rax
movl %eax, %r8d
xorl %eax, %eax
movl %eax, %ecx
leaq -0x18(%rbp), %rdx
movq %rcx, %rsi
callq 0x2160
movl %eax, -0x14(%rbp)
cmpl $0x1, -0x14(%rbp)
jne 0x3b21
jmp 0x3b40
leaq 0x891e(%rip), %rdi      # 0xc446
leaq 0x8703(%rip), %rsi      # 0xc232
movl $0xb0, %edx
leaq 0x8914(%rip), %rcx      # 0xc44f
callq 0x21a0
movq -0x10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
leaq -0x18(%rbp), %rdx
leaq 0xc75d(%rip), %rcx      # 0x102b0
movl $0x20, %r8d
callq 0x2160
movl %eax, -0x14(%rbp)
cmpl $0x1, -0x14(%rbp)
jne 0x3b69
jmp 0x3b88
leaq 0x88d6(%rip), %rdi      # 0xc446
leaq 0x86bb(%rip), %rsi      # 0xc232
movl $0xb3, %edx
leaq 0x88cc(%rip), %rcx      # 0xc44f
callq 0x21a0
jmp 0x3b8a
movq $0x0, -0x28(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x21b0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x3bae
jmp 0x3bcd
leaq 0x8896(%rip), %rdi      # 0xc44b
leaq 0x8676(%rip), %rsi      # 0xc232
movl $0xba, %edx
leaq 0x8887(%rip), %rcx      # 0xc44f
callq 0x21a0
movq -0x20(%rbp), %rdi
callq 0x2460
movq %rax, %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
cmpq $0x0, (%rax)
je 0x3bec
jmp 0x3c0b
leaq 0x8887(%rip), %rdi      # 0xc47a
leaq 0x8638(%rip), %rsi      # 0xc232
movl $0xbc, %edx
leaq 0x8849(%rip), %rcx      # 0xc44f
callq 0x21a0
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rax
movq (%rax), %rsi
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq -0x20(%rbp), %rax
movl %eax, %r8d
leaq -0x18(%rbp), %rdx
callq 0x2160
movl %eax, -0x14(%rbp)
cmpl $0x1, -0x14(%rbp)
jne 0x3c38
jmp 0x3c57
leaq 0x8807(%rip), %rdi      # 0xc446
leaq 0x85ec(%rip), %rsi      # 0xc232
movl $0xbf, %edx
leaq 0x87fd(%rip), %rcx      # 0xc44f
callq 0x21a0
movslq -0x18(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x8(%rax)
cmpl $0x10, 0xc60a(%rip)     # 0x10274
jne 0x3cb7
movq -0x10(%rbp), %rdi
movl 0xc5c6(%rip), %edx      # 0x1023c
movq -0x8(%rbp), %rax
movq (%rax), %rcx
addq -0x20(%rbp), %rcx
movl $0x11, %esi
callq 0x2360
movl %eax, -0x14(%rbp)
cmpl $0x1, -0x14(%rbp)
jne 0x3c96
jmp 0x3cb5
leaq 0x87a9(%rip), %rdi      # 0xc446
leaq 0x858e(%rip), %rsi      # 0xc232
movl $0xc4, %edx
leaq 0x879f(%rip), %rcx      # 0xc44f
callq 0x21a0
jmp 0x3cb7
cmpl $0x20, 0xc5b6(%rip)     # 0x10274
je 0x3d15
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rax
movq (%rax), %rsi
movslq -0x18(%rbp), %rax
addq %rax, %rsi
leaq -0x18(%rbp), %rdx
callq 0x20c0
movl %eax, -0x14(%rbp)
cmpl $0x1, -0x14(%rbp)
jne 0x3ce6
jmp 0x3d05
leaq 0x8759(%rip), %rdi      # 0xc446
leaq 0x853e(%rip), %rsi      # 0xc232
movl $0xc9, %edx
leaq 0x874f(%rip), %rcx      # 0xc44f
callq 0x21a0
movslq -0x18(%rbp), %rcx
movq -0x28(%rbp), %rax
addq 0x8(%rax), %rcx
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rdi
callq 0x2280
movq -0x28(%rbp), %rax
addq $0xf0, %rsp
popq %rbp
retq
nopl (%rax,%rax)