// File: /workspace/github_c_makefile_star2_O3/pali[P]bmfdec/./bmfdec.c
// Function: main
int main(int argc, char *argv[]) {
  FILE *fin;
  FILE *fout;
  uint32_t *pin;
  char *pout;
  long sin;
  size_t lin;
  uint32_t lout;
  int ret;
  if ((argc != 1 && argc != 2 && argc != 3) || (argc >= 2 && (strcmp(argv[1], "-h") == 0 || strcmp(argv[1], "--help") == 0))) {
    fprintf(stderr, "Usage: %s [input_file [output_file]]\n", argv[0]);
    return 1;
  }
  if (argc >= 2) {
    fin = fopen(argv[1], "rb");
    if (!fin) {
      fprintf(stderr, "Cannot open input file %s: %s\n", argv[1], strerror(errno));
      return 1;
    }
  } else {
    fin = stdin;
  }
  if (fseek(fin, 0, SEEK_END) == 0) {
    sin = ftell(fin);
    if (sin < 0) {
      fprintf(stderr, "Cannot determinate size of input file %s: %s\n", argc >= 2 ? argv[1] : "(stdin)", strerror(errno));
      if (argc >= 2)
        fclose(fin);
      return 1;
    }
    ++sin;
    rewind(fin);
    if (sin > 0x800000) {
      fprintf(stderr, "Size of input file %s too large\n", argc >= 2 ? argv[1] : "(stdin)");
      if (argc >= 2)
        fclose(fin);
      return 1;
    }
  } else {
    sin = 0x800000;
  }
  pin = malloc(sin);
  if (!pin) {
    fprintf(stderr, "Cannot allocate memory for input file %s\n", argc >= 2 ? argv[1] : "(stdin)");
    if (argc >= 2)
      fclose(fin);
    return 1;
  }
  lin = fread(pin, 1, sin, fin);
  if (ferror(fin)) {
    fprintf(stderr, "Failed to read data from input file %s\n", argc >= 2 ? argv[1] : "(stdin)");
    free(pin);
    if (argc >= 2)
      fclose(fin);
    return 1;
  } else if (!feof(fin)) {
    fprintf(stderr, "Data too large in input file %s\n", argc >= 2 ? argv[1] : "(stdin)");
    free(pin);
    if (argc >= 2)
      fclose(fin);
    return 1;
  }
  if (argc >= 2)
    fclose(fin);
  if (lin <= 16 || pin[0] != 0x424D4F46 || pin[1] != 0x00000001 || pin[2] != (uint32_t)lin-16) {
    fprintf(stderr, "Invalid input\n");
    free(pin);
    return 1;
  }
  lout = pin[3];
  if (lout > 0x2000000) {
    fprintf(stderr, "Invalid input\n");
    free(pin);
    return 1;
  }
  pout = malloc(lout);
  if (!pout) {
    fprintf(stderr, "Cannot allocate memory for decompression\n");
    free(pin);
    return 1;
  }
  if (ds_dec((char *)pin+16, lin-16, pout, lout, 0) != (int)lout) {
    fprintf(stderr, "Decompress failed\n");
    free(pin);
    free(pout);
    return 1;
  }
  free(pin);
  if (argc >= 3) {
    fout = fopen(argv[2], "wb");
    if (!fout) {
      fprintf(stderr, "Cannot open output file %s: %s\n", argv[2], strerror(errno));
      free(pout);
      return 1;
    }
  } else {
    fout = stdout;
  }
  ret = process_data(pout, lout, fout);
  free(pout);
  if (argc >= 3)
    fclose(fout);
  return ret;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x238, %rsp            # imm = 0x238
movq %rsi, %rbx
movq %rdi, 0x58(%rsp)
leal -0x4(%rdi), %eax
cmpl $-0x3, %eax
jb 0x49e2
cmpl $0x2, 0x58(%rsp)
jb 0x2e61
movq 0x8(%rbx), %r14
cmpb $0x2d, (%r14)
jne 0x2e22
cmpb $0x68, 0x1(%r14)
jne 0x2e22
cmpb $0x0, 0x2(%r14)
je 0x49e2
leaq 0x4347(%rip), %rsi      # 0x7170
movq %r14, %rdi
callq 0x10f0
testl %eax, %eax
je 0x49e2
leaq 0x435d(%rip), %rsi      # 0x719d
movq %r14, %rdi
callq 0x1160
movq %rax, %r14
testq %rax, %rax
jne 0x2e6b
addq $0x8, %rbx
movq %rbx, %rdi
callq 0x1f2d
jmp 0x4b48
movq 0x8170(%rip), %rax      # 0xafd8
movq (%rax), %r14
movq %r14, %rdi
xorl %esi, %esi
movl $0x2, %edx
callq 0x1140
movl $0x800000, %r12d        # imm = 0x800000
testl %eax, %eax
jne 0x2eb0
movq %r14, %rdi
callq 0x1110
testq %rax, %rax
js 0x4aca
movq %rax, %r12
movq %r14, %rdi
callq 0x10b0
cmpq $0x800000, %r12         # imm = 0x800000
jae 0x4aed
incq %r12
movq %r12, %rdi
callq 0x1130
testq %rax, %rax
je 0x49ef
movq %rax, %r15
movl $0x1, %esi
movq %rax, %rdi
movq %r12, %rdx
movq %r14, %rcx
callq 0x1080
movq %rax, %r12
movq %r14, %rdi
callq 0x1070
testl %eax, %eax
jne 0x4a14
movq %r14, %rdi
callq 0x1120
testl %eax, %eax
je 0x4a32
cmpl $0x2, 0x58(%rsp)
jb 0x2f09
movq %r14, %rdi
callq 0x1090
cmpq $0x11, %r12
jb 0x49d5
cmpl $0x424d4f46, (%r15)     # imm = 0x424D4F46
jne 0x49d5
cmpl $0x1, 0x4(%r15)
jne 0x49d5
movl 0x8(%r15), %ebp
addl $-0x10, %r12d
cmpl %r12d, %ebp
jne 0x49d5
movl 0xc(%r15), %r14d
cmpq $0x2000001, %r14        # imm = 0x2000001
jae 0x4a67
movq %r14, %rdi
callq 0x1130
testq %rax, %rax
je 0x4a74
movq %r15, %rdi
addq $0x10, %rdi
movl %ebp, %esi
movq %rax, 0xa8(%rsp)
movq %rax, %rdx
movl %r14d, %ecx
xorl %r8d, %r8d
callq 0x29cc
cmpl %r14d, %eax
jne 0x4a81
movq %r14, 0x170(%rsp)
movq %r15, %rdi
callq 0x1030
cmpl $0x3, 0x58(%rsp)
jb 0x2fd3
movq 0x10(%rbx), %rdi
leaq 0x432d(%rip), %rsi      # 0x72d5
callq 0x1160
movq %rax, 0x10(%rsp)
testq %rax, %rax
movq 0xa8(%rsp), %rcx
jne 0x2fea
addq $0x10, %rbx
movq %rbx, %rdi
movq %rcx, %rsi
callq 0x1e02
jmp 0x4b48
movq 0x7ff6(%rip), %rax      # 0xafd0
movq (%rax), %rax
movq %rax, 0x10(%rsp)
movq 0xa8(%rsp), %rcx
movq 0x170(%rsp), %rsi
cmpl $0x7, %esi
jbe 0x4c38
cmpl $0x424d4f46, (%rcx)     # imm = 0x424D4F46
jne 0x4c3d
movl 0x4(%rcx), %eax
cmpl %esi, %eax
ja 0x4c42
movq $0x0, 0x160(%rsp)
cmpl %esi, %eax
movq %rax, 0x100(%rsp)
jae 0x30be
movq %rax, %rdi
addl $0x14, %eax
cmpl %esi, %eax
ja 0x4c5b
movdqu (%rcx,%rdi), %xmm0
pcmpeqb 0x4117(%rip), %xmm0     # 0x7160
pmovmskb %xmm0, %eax
cmpl $0xffff, %eax           # imm = 0xFFFF
jne 0x4c60
addq %rdi, %rcx
movl 0x10(%rcx), %eax
cmpq $0x1ffffffe, %rax       # imm = 0x1FFFFFFE
ja 0x4c47
leal (,%rax,8), %edx
subl %edi, %esi
addl $-0x14, %esi
cmpl %esi, %edx
jne 0x4c47
movl $0x8, %edx
movq %rdx, 0x168(%rsp)
testl %eax, %eax
je 0x30ac
xorl %edx, %edx
cmpl $0x0, 0x14(%rcx,%rdx,8)
je 0x4c1f
incq %rdx
cmpq %rdx, %rax
jne 0x3091
movq %rax, 0x160(%rsp)
movq 0xa8(%rsp), %rcx
movq 0x100(%rsp), %rax
jmp 0x30ca
movq $0x0, 0x168(%rsp)
addl $-0x8, %eax
movl %eax, 0xa4(%rsp)
cmpl $0xb, %eax
jbe 0x4c4c
leaq 0x8(%rcx), %rdx
movq %rdx, 0x138(%rsp)
cmpl $0x1, (%rdx)
jne 0x4c33
cmpl $0x1, 0xc(%rcx)
jne 0x4c33
movl 0x10(%rcx), %r14d
movl $0x48, %esi
movq %r14, %rdi
movq %rcx, %rbx
callq 0x10e0
movq %rax, 0xb0(%rsp)
testq %rax, %rax
je 0x4c51
addq $0x14, %rbx
movq %rbx, 0x130(%rsp)
movq %r14, 0x108(%rsp)
testq %r14, %r14
je 0x4425
xorl %r15d, %r15d
xorl %edx, %edx
movq 0x130(%rsp), %rbx
movq %rdx, 0xd0(%rsp)
movq %rbx, 0x140(%rsp)
movq %rbx, %rax
subq 0x138(%rsp), %rax
movl $0xfffffffe, %ecx       # imm = 0xFFFFFFFE
cmpq %rcx, %rax
jg 0x4bfc
cmpl $-0x5, %eax
ja 0x4bfc
leal 0x4(%rax), %ecx
cmpl 0xa4(%rsp), %ecx
ja 0x4bfc
movq 0x140(%rsp), %rcx
movl (%rcx), %r8d
movl %r8d, %ecx
negl %ecx
cmpl %eax, %ecx
jbe 0x4c10
addl %r8d, %eax
cmpl 0xa4(%rsp), %eax
ja 0x4c10
movq 0x168(%rsp), %rax
movq 0x140(%rsp), %r12
leal (%r12,%rax), %edi
subl 0x138(%rsp), %edi
movq 0x100(%rsp), %rax
cmpl 0x170(%rsp), %eax
cmovael %r15d, %edi
pxor %xmm0, %xmm0
movdqa %xmm0, 0x1d0(%rsp)
movdqa %xmm0, 0x1c0(%rsp)
movdqa %xmm0, 0x1b0(%rsp)
movq $0x0, 0x1e0(%rsp)
cmpl $0x7, %r8d
jbe 0x4c15
cmpl $0x0, 0x4(%r12)
jne 0x4c0b
cmpl $0x13, %r8d
movq %r8, 0x190(%rsp)
jbe 0x436c
movl 0xc(%r12), %edx
cmpl $-0x15, %edx
ja 0x4c01
leal 0x14(%rdx), %r14d
cmpl %r14d, %r8d
jb 0x4c01
movl 0x8(%r12), %ecx
cmpl %edx, %ecx
ja 0x4c1a
movl 0x10(%r12), %eax
testl %eax, %eax
jne 0x4360
leaq 0x14(%r12), %rsi
leal 0x14(%rdi), %r9d
movq %r8, %r13
leal (%r14,%rdi), %ebx
testl %edi, %edi
cmovel %edi, %r9d
cmovel %edi, %ebx
leaq 0x1f0(%rsp), %rdi
movl $0x1, %r8d
callq 0x4d4f
movq 0x220(%rsp), %rax
movq %rax, 0x1e0(%rsp)
movdqu 0x1f0(%rsp), %xmm0
movups 0x200(%rsp), %xmm1
movups 0x210(%rsp), %xmm2
movaps %xmm2, 0x1d0(%rsp)
movaps %xmm1, 0x1c0(%rsp)
movdqa %xmm0, 0x1b0(%rsp)
movl %r13d, %ecx
subl %r14d, %ecx
cmpl $0x3, %ecx
jbe 0x4c29
movl %r14d, %edx
addq %r12, %rdx
movl (%rdx), %eax
cmpl $0x8, %eax
jb 0x4c24
cmpl %ecx, %eax
ja 0x4c24
movl %ecx, %ebp
movl 0x22c(%rsp), %eax
movl %eax, 0x6c(%rsp)
movq %rdx, %r12
movl 0x4(%rdx), %r14d
movl $0x60, %esi
movq %r14, %rdi
callq 0x10e0
movq %rax, 0xd8(%rsp)
testq %rax, %rax
je 0x4c2e
testl %r14d, %r14d
je 0x435c
movl %ebp, %ecx
movq %r12, %rdi
addq $0x8, %rdi
addl $-0x8, %ecx
leal 0x8(%rbx), %eax
testl %ebx, %ebx
cmovel %ebx, %eax
movq %rax, 0xe8(%rsp)
xorl %esi, %esi
movq %r14, 0x1a0(%rsp)
movq %rsi, 0x180(%rsp)
cmpl $0x3, %ecx
jbe 0x4bc0
movl (%rdi), %r14d
leal -0x1(%r14), %eax
cmpl %ecx, %eax
jae 0x4bb6
movb $0x0, 0x2e(%rsp)
movw $0x0, 0x2c(%rsp)
cmpl $0x13, %r14d
jbe 0x4bbb
movl 0x4(%rdi), %edx
testl %edx, %edx
movq %rdi, 0x88(%rsp)
movl %ecx, 0x15c(%rsp)
je 0x33ba
cmpl $0x200d, %edx           # imm = 0x200D
jne 0x42a2
cmpl $0x0, 0x8(%rdi)
jne 0x4bc5
movl 0xc(%rdi), %r8d
movl 0x10(%rdi), %esi
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpq %rax, %r8
movq %r14, 0x148(%rsp)
je 0x374c
movl %esi, %eax
subl %r8d, %eax
jb 0x4be8
cmpl $-0x15, %esi
ja 0x4be8
addl $0x14, %esi
cmpl %r14d, %esi
ja 0x4be8
movq 0xe8(%rsp), %rdx
testl %edx, %edx
leal 0x14(%rdx,%r8), %esi
cmovel %edx, %esi
movl %esi, 0x20(%rsp)
cmpl $0xf, %eax
jbe 0x4bd9
leaq (%rdi,%r8), %rbp
addq $0x14, %rbp
cmpl $0x1, 0x4(%rbp)
jne 0x4be3
movl 0xc(%rbp), %ebx
leal -0x1(%rbx), %ecx
cmpl $-0xe, %ecx
ja 0x4bb1
leal 0xc(%rbx), %ecx
cmpl %eax, %ecx
ja 0x4bb1
movq %r8, 0x178(%rsp)
jne 0x4bde
movl 0x8(%rbp), %r15d
movl $0x48, %esi
movq %r15, %rdi
callq 0x10e0
testq %rax, %rax
je 0x4bed
testq %r15, %r15
movq %r15, 0x150(%rsp)
movq %rax, 0x90(%rsp)
je 0x3793
leaq 0x10(%rbp), %r13
leal 0x10(%rbx), %eax
movl %eax, 0x40(%rsp)
movl 0x20(%rsp), %eax
movq %rax, 0x38(%rsp)
leaq (,%r15,8), %rax
leaq (%rax,%rax,8), %r12
xorl %r14d, %r14d
movq %rbx, 0x50(%rsp)
movq %r13, %rcx
subq %rbp, %rcx
movl $0xfffffffe, %eax       # imm = 0xFFFFFFFE
cmpq %rax, %rcx
jg 0x4b8e
cmpl $-0x5, %ecx
ja 0x4b66
leal 0x4(%rcx), %eax
cmpl %ebx, %eax
ja 0x4b66
movl (%r13), %r15d
addl %r15d, %ecx
jb 0x4b98
cmpl 0x40(%rsp), %ecx
ja 0x4b98
cmpl $0x13, %r15d
jbe 0x4b89
cmpl $-0x1, 0x4(%r13)
jne 0x4b7a
cmpl $0x0, 0x8(%r13)
jne 0x4b84
movl 0xc(%r13), %ecx
movl %ebx, %edx
subl %ecx, %edx
jbe 0x4b93
cmpl %edx, %eax
ja 0x4b93
cmpl $0x1, 0x10(%r13)
jne 0x4b7f
movq 0x90(%rsp), %rax
addq %r14, %rax
movq %rax, 0x8(%rsp)
leaq 0x14(%r13), %rsi
movq 0x38(%rsp), %rax
leal (%rax,%r13), %r9d
movq %rbp, %rbx
subl %ebp, %r9d
addl $0x14, %r9d
movl 0x20(%rsp), %eax
testl %eax, %eax
cmovel %eax, %r9d
leaq 0x1f0(%rsp), %rbp
movq %rbp, %rdi
movl %ecx, %edx
xorl %r8d, %r8d
callq 0x4d4f
movl $0x9, %ecx
movq 0x8(%rsp), %rdi
movq %rbp, %rsi
rep  movsq (%rsi), %es:(%rdi)
movq 0x90(%rsp), %rax
movq (%rax,%r14), %rdi
leaq 0x4244(%rip), %rsi      # 0x77e2
callq 0x10f0
testl %eax, %eax
jne 0x4b75
addq %r15, %r13
addq $0x48, %r14
cmpq %r14, %r12
movq %rbx, %rbp
movq 0x50(%rsp), %rbx
jne 0x34b5
xorl %eax, %eax
xorl %ebx, %ebx
movq 0x90(%rsp), %r13
addl 0x28(%r13,%rax), %ebx
addq $0x48, %rax
cmpq %rax, %r12
jne 0x35cf
movl %ebx, %edi
movl $0x1, %esi
movq %rdi, 0x8(%rsp)
callq 0x10e0
movq %rax, 0x98(%rsp)
testq %rax, %rax
je 0x4bf2
xorl %r14d, %r14d
leaq (%r14,%r14,8), %rax
movl 0x28(%r13,%rax,8), %r15d
testq %r15, %r15
je 0x36d8
movq 0x90(%rsp), %rcx
leaq (%rcx,%rax,8), %rax
movq 0x30(%rax), %r13
xorl %ebp, %ebp
leaq (,%rbp,2), %rcx
addq %rbp, %rcx
shlq $0x4, %rcx
leaq (%rcx,%r13), %rax
movl (%r13,%rcx), %ecx
testq %rcx, %rcx
je 0x36a9
movq 0x8(%rax), %rdx
shlq $0x5, %rcx
xorl %esi, %esi
xorl %r12d, %r12d
cmpl $0x2, (%rdx,%rsi)
jne 0x369e
movq 0x8(%rdx,%rsi), %rdi
cmpb $0x49, (%rdi)
jne 0x369e
cmpb $0x44, 0x1(%rdi)
jne 0x369e
cmpb $0x0, 0x2(%rdi)
jne 0x369e
testl %r12d, %r12d
jne 0x4b24
movslq 0x18(%rdx,%rsi), %rdi
testq %rdi, %rdi
js 0x4b1f
cmpl %ebx, %edi
jae 0x4b1f
movq 0x98(%rsp), %r8
movb $0x1, (%r8,%rdi)
movl $0x1, %r12d
addq $0x20, %rsi
cmpq %rsi, %rcx
jne 0x3650
jmp 0x36ac
xorl %r12d, %r12d
movq 0x10(%rax), %rdi
leaq 0x4182(%rip), %rsi      # 0x7839
callq 0x10f0
xorl %ecx, %ecx
testl %eax, %eax
sete %cl
cmpl %ecx, %r12d
je 0x4ae8
incq %rbp
cmpq %r15, %rbp
jne 0x3626
incq %r14
movq 0x150(%rsp), %r15
cmpq %r15, %r14
movq 0x90(%rsp), %r13
jne 0x3602
xorl %r14d, %r14d
testl %ebx, %ebx
je 0x37b3
movq 0x98(%rsp), %rax
cmpb $0x0, (%rax)
setne %r14b
cmpl $0x1, %ebx
je 0x37b3
movl $0x1, %eax
movq 0x8(%rsp), %rdx
movq 0x98(%rsp), %rcx
cmpb $0x0, (%rcx,%rax)
je 0x3742
cmpb $0x0, -0x1(%rcx,%rax)
je 0x4ba7
incq %rax
movl %eax, %r14d
jmp 0x3745
incq %rax
cmpq %rdx, %rax
jne 0x3721
jmp 0x37b3
movq $0x0, 0xe0(%rsp)
xorl %r14d, %r14d
movq $0x0, 0x60(%rsp)
xorl %ebp, %ebp
xorl %edi, %edi
xorl %r12d, %r12d
xorl %r13d, %r13d
movq $0x0, 0x8(%rsp)
xorl %ebx, %ebx
movq $0x0, 0x48(%rsp)
xorl %r15d, %r15d
movq $0x0, 0x30(%rsp)
jmp 0x3ff9
xorl %r14d, %r14d
movl $0x1, %esi
xorl %edi, %edi
callq 0x10e0
movq %rax, 0x98(%rsp)
testq %rax, %rax
je 0x4bf2
movl %r14d, %r12d
movl $0x30, %esi
movq %r12, %rdi
callq 0x10e0
movq %rax, %rbx
movl $0x4, %esi
movq %r12, 0x198(%rsp)
movq %r12, %rdi
callq 0x10e0
movq %rax, 0x60(%rsp)
testq %rbx, %rbx
je 0x4bf7
movq %rbx, 0xb8(%rsp)
movq %r14, 0xe0(%rsp)
xorl %r12d, %r12d
testq %r15, %r15
je 0x3f43
movq $0x0, 0xc0(%rsp)
movl $0x0, 0x78(%rsp)
movq $0x0, 0x128(%rsp)
movq $0x0, 0x120(%rsp)
movl $0x0, 0x7c(%rsp)
movl $0x0, 0x74(%rsp)
movq $0x0, 0x118(%rsp)
movl $0x0, 0x70(%rsp)
movq $0x0, 0x110(%rsp)
xorl %eax, %eax
movl $0x0, 0xf0(%rsp)
movq %rax, 0x1a8(%rsp)
leaq (%rax,%rax,8), %rax
movq 0x90(%rsp), %rcx
movl 0x28(%rcx,%rax,8), %edx
testl %edx, %edx
je 0x3eac
movl %edx, 0xfc(%rsp)
leaq (%rcx,%rax,8), %rax
movq %rax, 0xc8(%rsp)
movq 0x30(%rax), %rax
movq %rax, 0x38(%rsp)
xorl %r9d, %r9d
movq %r9, 0x20(%rsp)
leaq (%r9,%r9,2), %rdx
shlq $0x4, %rdx
movq 0x38(%rsp), %rcx
movl (%rcx,%rdx), %r15d
movl 0x4(%rcx,%rdx), %edi
movq 0x8(%rcx,%rdx), %r12
movq 0x10(%rcx,%rdx), %r8
movl 0x18(%rcx,%rdx), %esi
movl 0x1c(%rcx,%rdx), %r9d
movq 0x20(%rcx,%rdx), %r10
movl 0x28(%rcx,%rdx), %ebx
movb 0x2c(%rcx,%rdx), %r13b
movb 0x2f(%rcx,%rdx), %al
movb %al, 0x1f2(%rsp)
movq %rdx, 0x50(%rsp)
movzwl 0x2d(%rcx,%rdx), %eax
movw %ax, 0x1f0(%rsp)
testq %r15, %r15
movq %r15, 0x40(%rsp)
je 0x3942
movq %r15, %rax
shlq $0x5, %rax
xorl %ecx, %ecx
cmpl $0x2, (%r12,%rcx)
jne 0x3939
movq 0x8(%r12,%rcx), %rdx
cmpb $0x49, (%rdx)
jne 0x3939
cmpb $0x44, 0x1(%rdx)
jne 0x3939
cmpb $0x0, 0x2(%rdx)
je 0x3a49
addq $0x20, %rcx
cmpq %rcx, %rax
jne 0x3918
movq %r10, %rbp
movl %r9d, %r14d
movq %r13, 0x30(%rsp)
movl %ebx, %r13d
movl %edi, %r15d
movq %rsi, 0x8(%rsp)
movq %r8, %rbx
movq %r8, %rdi
leaq 0x3ed4(%rip), %rsi      # 0x7839
callq 0x10f0
testl %eax, %eax
jne 0x4b1a
cmpl $0x0, 0xf0(%rsp)
jne 0x4a62
movq 0x38(%rsp), %rcx
movq 0x50(%rsp), %rdx
leaq (%rcx,%rdx), %rax
addq %rdx, %rcx
addq $0x2d, %rcx
movzwl (%rcx), %edx
movb 0x2(%rcx), %cl
movb %cl, 0x2e(%rsp)
movw %dx, 0x2c(%rsp)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x20(%rax)
movdqu %xmm0, 0x10(%rax)
movdqu %xmm0, (%rax)
movq 0xc8(%rsp), %rax
movl 0x28(%rax), %r10d
movl $0x1, 0xf0(%rsp)
movl %r15d, %edx
movl %r15d, 0x78(%rsp)
movq %r12, 0x128(%rsp)
movq %rbx, %rsi
movq %rbx, 0x120(%rsp)
movl %r14d, 0x74(%rsp)
movq %rbp, %r11
movq %rbp, 0x118(%rsp)
movl %r13d, %r15d
movl %r13d, 0x70(%rsp)
movq 0x30(%rsp), %rdi
movl %edi, %eax
movq %rax, 0x110(%rsp)
movq 0x8(%rsp), %rcx
movq 0x40(%rsp), %rbp
movq 0x20(%rsp), %r9
incq %r9
movl %r10d, 0xfc(%rsp)
movl %r10d, %eax
movl %ebp, %r10d
movq %r10, 0xc0(%rsp)
movl %ecx, 0x7c(%rsp)
cmpq %rax, %r9
jb 0x38ad
jmp 0x3ee8
movslq 0x18(%r12,%rcx), %rbp
cmpq $-0x1, %rbp
je 0x3942
movq %r10, 0x48(%rsp)
movq %r12, 0x80(%rsp)
leaq (,%rbp,2), %rax
addq %rbp, %rax
shlq $0x4, %rax
movq 0x98(%rsp), %r12
movq 0xb8(%rsp), %rcx
movq %rax, 0x8(%rsp)
leaq (%rcx,%rax), %r14
cmpb $0x2, (%r12,%rbp)
movq %rbp, 0x188(%rsp)
movq %r14, 0x18(%rsp)
jne 0x3b35
movq 0x10(%r14), %rdi
movq %rsi, %r14
movq %r8, %rsi
callq 0x10f0
movq %r14, %rdx
testl %eax, %eax
movq %r12, %r14
movq 0x80(%rsp), %r12
movq 0x8(%rsp), %rbp
jne 0x4b6b
movq 0x18(%rsp), %rax
cmpl %edx, 0x18(%rax)
jne 0x4b6b
leal -0x3(%rdx), %eax
cmpl $0x1, %eax
ja 0x3b02
movq 0x18(%rsp), %rax
cmpb %r13b, 0x2c(%rax)
jne 0x4b6b
movq 0x18(%rsp), %rax
cmpl %ebx, 0x28(%rax)
jne 0x4b6b
decl %edx
cmpl $0x3, %edx
ja 0x4b6b
leaq 0x358c(%rip), %rcx      # 0x70a0
movslq (%rcx,%rdx,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x48(%rsp), %rax
movq 0x18(%rsp), %rcx
cmpl %eax, 0x20(%rcx)
je 0x3bf7
jmp 0x4b6b
movl %edi, 0x4(%r14)
movq %r8, 0x10(%r14)
movl %esi, 0x18(%r14)
movl %r9d, 0x1c(%r14)
movq 0x48(%rsp), %rax
movq %rax, 0x20(%r14)
movl %ebx, 0x28(%r14)
movb %r13b, 0x2c(%r14)
movzwl 0x1f0(%rsp), %eax
movw %ax, 0x2d(%r14)
movb 0x1f2(%rsp), %al
movb %al, 0x2f(%r14)
movl $0x0, (%r14)
leal -0x1(%r15), %edi
movl $0x20, %esi
movq %rcx, %rbx
callq 0x10e0
movq 0x8(%rsp), %rcx
movq %rax, 0x8(%rbx,%rcx)
movb $0x2, (%r12,%rbp)
movq 0xc8(%rsp), %rax
movq 0x30(%rax), %rcx
pxor %xmm0, %xmm0
movq 0x50(%rsp), %rdx
movdqu %xmm0, (%rcx,%rdx)
movdqu %xmm0, 0x10(%rcx,%rdx)
movdqu %xmm0, 0x20(%rcx,%rdx)
movl %r15d, (%rcx,%rdx)
movq 0x80(%rsp), %rax
movq %rcx, 0x38(%rsp)
movq %rax, 0x8(%rcx,%rdx)
movq %r12, %rcx
movq %rax, %r12
movq %r14, %r13
jmp 0x3c2c
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rdi
movq 0x48(%rsp), %rsi
callq 0x10f0
testl %eax, %eax
jne 0x4b6b
movq 0x18(%rsp), %r13
movq 0x8(%r13), %rdi
movl (%r13), %eax
leal (%r15,%rax), %esi
decl %esi
shlq $0x5, %rsi
callq 0x1150
movq 0xb8(%rsp), %rcx
movq %rax, 0x8(%rcx,%rbp)
testq %rax, %rax
movq %r14, %rcx
je 0x4ba2
movq %rcx, 0x98(%rsp)
xorl %ebp, %ebp
movq 0x60(%rsp), %rcx
movq 0x20(%rsp), %r9
movq %rbp, %rsi
shlq $0x5, %rsi
leaq (%r12,%rsi), %rax
movq %rax, 0x8(%rsp)
movl (%r12,%rsi), %ebx
cmpl $0x1, %ebx
je 0x3c7d
cmpl $0x2, %ebx
jne 0x3cce
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
cmpb $0x49, (%rax)
jne 0x3cce
cmpb $0x44, 0x1(%rax)
jne 0x3cce
cmpb $0x0, 0x2(%rax)
jne 0x3cce
jmp 0x3de9
movq %rsi, 0x48(%rsp)
movq %rcx, %r14
movq 0x8(%rsp), %rax
movq 0x8(%rax), %r13
movq %r13, %rdi
leaq 0x3c22(%rip), %rsi      # 0x78ba
callq 0x1040
testl %eax, %eax
je 0x3df7
movq %r13, %rdi
leaq 0x3cea(%rip), %rsi      # 0x7999
callq 0x1040
testl %eax, %eax
movq %r14, %rcx
movq 0x20(%rsp), %r9
movq 0x18(%rsp), %r13
movq 0x48(%rsp), %rsi
je 0x3e12
movq %rbp, 0x30(%rsp)
movl (%r13), %r12d
movq 0x8(%r13), %rbp
testq %r12, %r12
je 0x3d88
movq %rsi, 0x48(%rsp)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %r13
movq %r12, %r14
shlq $0x5, %r14
xorl %r15d, %r15d
movq 0x8(%rbp,%r15), %rdi
movq %r13, %rsi
callq 0x10f0
testl %eax, %eax
jne 0x3d66
cmpl %ebx, (%rbp,%r15)
jne 0x3d66
cmpl $0x1, %ebx
je 0x3d53
cmpl $0x3, %ebx
je 0x3d37
cmpl $0x2, %ebx
jne 0x3d66
movl 0x18(%rbp,%r15), %eax
movq 0x8(%rsp), %rcx
cmpl 0x18(%rcx), %eax
jne 0x3d66
jmp 0x3e29
movq 0x18(%rbp,%r15), %rdi
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rsi
callq 0x10f0
testl %eax, %eax
jne 0x3d66
jmp 0x3e29
movb 0x18(%rbp,%r15), %al
movq 0x8(%rsp), %rcx
cmpb 0x18(%rcx), %al
je 0x3e29
addq $0x20, %r15
cmpq %r15, %r14
jne 0x3cfc
movq %r12, %rax
movq 0x60(%rsp), %rcx
movq 0x20(%rsp), %r9
movq 0x18(%rsp), %r13
movq 0x48(%rsp), %rsi
jmp 0x3d8a
xorl %eax, %eax
incl %r12d
movl %r12d, (%r13)
shlq $0x5, %rax
movq 0x8(%rsp), %rdx
movdqu (%rdx), %xmm0
movups 0x10(%rdx), %xmm1
movups %xmm1, 0x10(%rbp,%rax)
movdqu %xmm0, (%rbp,%rax)
movq 0xc8(%rsp), %rax
movq 0x30(%rax), %rax
movq %rax, 0x38(%rsp)
movq 0x50(%rsp), %rdx
movq 0x8(%rax,%rdx), %rax
pxor %xmm0, %xmm0
movdqu %xmm0, 0x10(%rax,%rsi)
movdqu %xmm0, (%rax,%rsi)
movq 0x40(%rsp), %r15
movq 0x80(%rsp), %r12
movq 0x30(%rsp), %rbp
incq %rbp
cmpq %r15, %rbp
jne 0x3c40
jmp 0x3e63
movq %r14, %rcx
movq 0x188(%rsp), %rax
cmpl $0x0, (%r14,%rax,4)
je 0x3e47
movl $0x3, (%rcx,%rax,4)
jmp 0x3e4e
movq 0x188(%rsp), %rax
cmpl $0x0, (%rcx,%rax,4)
je 0x3e5a
movl $0x3, (%rcx,%rax,4)
jmp 0x3de9
movq 0x60(%rsp), %rcx
movq 0x40(%rsp), %r15
movq 0x80(%rsp), %r12
movq 0x20(%rsp), %r9
movq 0x18(%rsp), %r13
jmp 0x3de4
movl $0x1, (%rcx,%rax,4)
movq 0x20(%rsp), %r9
movq 0x18(%rsp), %r13
jmp 0x3de9
movl $0x2, (%rcx,%rax,4)
jmp 0x3de9
movq 0xc0(%rsp), %rbp
movl 0x78(%rsp), %edx
movq 0x128(%rsp), %r12
movq 0x120(%rsp), %rsi
movl 0x7c(%rsp), %eax
movl %eax, %ecx
movl 0x74(%rsp), %r14d
movq 0x118(%rsp), %r11
movl 0x70(%rsp), %r15d
movq 0x110(%rsp), %rdi
movl 0xfc(%rsp), %r10d
jmp 0x3a1e
movq 0xc0(%rsp), %rbp
movl 0x78(%rsp), %edx
movq 0x128(%rsp), %r12
movq 0x120(%rsp), %rsi
movl 0x7c(%rsp), %eax
movl %eax, %ecx
movl 0x74(%rsp), %r14d
movq 0x118(%rsp), %r11
movl 0x70(%rsp), %r15d
movq 0x110(%rsp), %rdi
movq 0x1a8(%rsp), %rax
incq %rax
movl %ebp, %r9d
movq %r9, 0xc0(%rsp)
movl %edx, 0x78(%rsp)
movq %r12, 0x128(%rsp)
movq %rsi, 0x120(%rsp)
movl %ecx, 0x7c(%rsp)
movl %r14d, 0x74(%rsp)
movq %r11, 0x118(%rsp)
movl %r15d, 0x70(%rsp)
movl %edi, %r9d
movq %r9, 0x110(%rsp)
cmpq 0x150(%rsp), %rax
jne 0x386e
jmp 0x3f56
xorl %ebp, %ebp
xorl %edx, %edx
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r14d, %r14d
xorl %r11d, %r11d
xorl %r15d, %r15d
xorl %edi, %edi
movl %r14d, %ebx
movq %rdi, 0x30(%rsp)
movq %rsi, %r13
movl %edx, %r14d
movq %rcx, 0x8(%rsp)
movq %r11, 0x48(%rsp)
movq 0x98(%rsp), %rdi
callq 0x1030
movq 0x90(%rsp), %rdi
movq 0x150(%rsp), %rsi
callq 0x4c65
cmpl $0x0, 0xe0(%rsp)
je 0x3fd7
xorl %eax, %eax
movq 0x178(%rsp), %rsi
movq 0xb8(%rsp), %r8
movq 0x198(%rsp), %rdx
movl %r14d, %edi
movq 0x60(%rsp), %rcx
movl (%rcx,%rax,4), %ecx
decl %ecx
cmpl $0x3, %ecx
jae 0x4b9d
incq %rax
cmpq %rax, %rdx
jne 0x3fb7
movq %r8, %r14
jmp 0x3ff9
movq $0x0, 0xe0(%rsp)
movq 0x178(%rsp), %rsi
movq 0xb8(%rsp), %rax
movl %r14d, %edi
movq %rax, %r14
movq %r13, 0xf0(%rsp)
movl %ebx, 0xc8(%rsp)
movl %edi, 0x50(%rsp)
movq %rbp, 0x40(%rsp)
cmpl $-0x15, %esi
ja 0x4bca
leal 0x14(%rsi), %eax
cmpl 0x148(%rsp), %eax
ja 0x4bca
movq 0x88(%rsp), %rax
leaq 0x14(%rax), %rdi
callq 0x5d8b
movq 0x88(%rsp), %rdx
movq %rax, 0xc0(%rsp)
movl 0x10(%rdx), %eax
movl 0x14(%rdx,%rax), %ebp
addl %eax, %ebp
jb 0x4bac
movq 0x148(%rsp), %rcx
addl $-0x14, %ecx
cmpl %ecx, %ebp
ja 0x4bac
movl %r15d, 0x18(%rsp)
movq %r12, 0x80(%rsp)
movq %r14, 0xb8(%rsp)
leaq (%rdx,%rax), %r15
addq $0x14, %r15
movl 0x4(%r15), %ebx
movl $0x20, %esi
movq %rbx, %rdi
callq 0x10e0
testq %rax, %rax
je 0x4bcf
movq %rax, %r13
addq $0x8, %r15
movq %rbx, 0x38(%rsp)
testl %ebx, %ebx
je 0x4186
subl $-0x1c, %ebp
movq 0x88(%rsp), %rdi
jae 0x4b61
movl 0xe8(%rsp), %eax
movq %rax, 0x20(%rsp)
movq 0x38(%rsp), %r12
shlq $0x5, %r12
xorl %ebx, %ebx
movq %r15, %rax
subq %rdi, %rax
movl $0xfffffffe, %ecx       # imm = 0xFFFFFFFE
cmpq %rcx, %rax
jg 0x4b61
cmpl $-0x5, %eax
ja 0x4b61
leal 0x4(%rax), %ecx
cmpl %ebp, %ecx
ja 0x4b61
movl (%r15), %r14d
movl %r14d, %ecx
negl %ecx
cmpl %eax, %ecx
jbe 0x4b70
addl %r14d, %eax
cmpl %ebp, %eax
ja 0x4b70
movq 0x20(%rsp), %rax
leal (%r15,%rax), %ecx
subl %edi, %ecx
movq 0xe8(%rsp), %rax
testl %eax, %eax
cmovel %eax, %ecx
leaq 0x1f0(%rsp), %rdi
movq %r15, %rsi
movl %r14d, %edx
callq 0x581f
movq 0x88(%rsp), %rdi
movdqu 0x1f0(%rsp), %xmm0
movups 0x200(%rsp), %xmm1
movups %xmm1, 0x10(%r13,%rbx)
movdqu %xmm0, (%r13,%rbx)
addq %r14, %r15
addq $0x20, %rbx
cmpq %rbx, %r12
jne 0x40e0
jmp 0x418e
movq 0x88(%rsp), %rdi
movq 0x148(%rsp), %r14
movl %r14d, %eax
leaq (%rdi,%rax), %rcx
cmpq %rcx, %r15
movq 0x180(%rsp), %rsi
movq 0xb8(%rsp), %r9
movq 0x40(%rsp), %r10
movq 0x80(%rsp), %r11
movq 0x48(%rsp), %rbx
movq 0xc0(%rsp), %r8
movq 0x38(%rsp), %rdx
jne 0x4bd4
leaq (%rsi,%rsi,2), %rcx
shlq $0x5, %rcx
addq 0xd8(%rsp), %rcx
movl %edx, (%rcx)
xorl %edx, %edx
movl %edx, 0x4(%rcx)
movq %r13, 0x8(%rcx)
movq %r8, 0x10(%rcx)
movq 0xe0(%rsp), %r8
movl %r8d, 0x18(%rcx)
xorl %r15d, %r15d
movl %edx, 0x1c(%rcx)
movq %r9, 0x20(%rcx)
movq 0x60(%rsp), %rdx
movq %rdx, 0x28(%rcx)
movl %r10d, 0x30(%rcx)
movl 0x50(%rsp), %edx
movl %edx, 0x34(%rcx)
movq %r11, 0x38(%rcx)
movq 0xf0(%rsp), %rdx
movq %rdx, 0x40(%rcx)
movq 0x8(%rsp), %rdx
movl %edx, 0x48(%rcx)
movl 0xc8(%rsp), %edx
movl %edx, 0x4c(%rcx)
movq %rbx, 0x50(%rcx)
movl 0x18(%rsp), %edx
movl %edx, 0x58(%rcx)
movq 0x30(%rsp), %rdx
movb %dl, 0x5c(%rcx)
movzwl 0x2c(%rsp), %edx
movw %dx, 0x5d(%rcx)
movb 0x2e(%rsp), %dl
movb %dl, 0x5f(%rcx)
addq %rax, %rdi
movl 0x15c(%rsp), %ecx
subl %r14d, %ecx
movq 0xe8(%rsp), %rax
addl %eax, %r14d
testl %eax, %eax
cmovnel %r14d, %eax
movq %rax, 0xe8(%rsp)
incq %rsi
movq 0x1a0(%rsp), %rbx
cmpq %rbx, %rsi
jne 0x3362
jmp 0x43a5
movq 0x6d4f(%rip), %rbx      # 0xaff8
movq (%rbx), %rdi
xorl %r13d, %r13d
leaq 0x34dd(%rip), %rsi      # 0x7793
xorl %eax, %eax
callq 0x1100
movq (%rbx), %rcx
movl $0x9, %esi
movl $0x1, %edx
leaq 0x3230(%rip), %rdi      # 0x7501
callq 0x1180
movq 0x88(%rsp), %rdi
movl %r14d, %esi
callq 0x5cb3
movq 0x88(%rsp), %rdi
movl %r14d, %eax
xorl %r8d, %r8d
movq $0x0, 0xe0(%rsp)
xorl %edx, %edx
xorl %r9d, %r9d
movq $0x0, 0x60(%rsp)
xorl %r10d, %r10d
movl $0x0, 0x50(%rsp)
xorl %r11d, %r11d
movq $0x0, 0xf0(%rsp)
movq $0x0, 0x8(%rsp)
movl $0x0, 0xc8(%rsp)
xorl %ebx, %ebx
movl $0x0, 0x18(%rsp)
movq $0x0, 0x30(%rsp)
movq 0x180(%rsp), %rsi
jmp 0x41d5
xorl %ebx, %ebx
jmp 0x43a5
cmpl $0x1, %eax
jne 0x4375
callq 0x1b19
jmp 0x4371
callq 0x1b9f
xorl %ebx, %ebx
jmp 0x4391
movq 0x6c7c(%rip), %rcx      # 0xaff8
movq (%rcx), %rdi
xorl %ebx, %ebx
leaq 0x30cc(%rip), %rsi      # 0x7454
movl %eax, %edx
xorl %eax, %eax
callq 0x1100
movl $0x0, 0x6c(%rsp)
movq $0x0, 0xd8(%rsp)
movq 0xd0(%rsp), %rdx
leaq (%rdx,%rdx,8), %rax
movq 0xb0(%rsp), %rcx
leaq (%rcx,%rax,8), %rax
movq 0x1e0(%rsp), %rcx
movq %rcx, 0x30(%rax)
movdqa 0x1b0(%rsp), %xmm0
movaps 0x1c0(%rsp), %xmm1
movaps 0x1d0(%rsp), %xmm2
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movdqu %xmm0, (%rax)
movl %ebx, 0x38(%rax)
movl 0x6c(%rsp), %ecx
movl %ecx, 0x3c(%rax)
movq 0xd8(%rsp), %rcx
movq %rcx, 0x40(%rax)
movq 0x140(%rsp), %rbx
addq 0x190(%rsp), %rbx
incq %rdx
cmpq 0x108(%rsp), %rdx
jne 0x314b
movl 0xa4(%rsp), %eax
movq 0x138(%rsp), %rcx
addq %rax, %rcx
cmpq %rcx, %rbx
jne 0x4c56
movq 0x160(%rsp), %rcx
testl %ecx, %ecx
movq 0x100(%rsp), %rax
je 0x4483
addq %rax, 0x130(%rsp)
movl %ecx, %eax
addq %rax, %rax
xorl %ecx, %ecx
movq 0x130(%rsp), %rsi
movl %ecx, %edx
andl $-0x2, %edx
cmpl $0x0, (%rsi,%rdx,4)
jne 0x4c06
addq $0x2, %rcx
cmpq %rcx, %rax
jne 0x446b
movq 0x108(%rsp), %rsi
testq %rsi, %rsi
je 0x499f
leaq (,%rsi,8), %rax
leaq (%rax,%rax,8), %rbx
xorl %r14d, %r14d
movl $0x1, %ebp
xorl %r15d, %r15d
xorl %r12d, %r12d
movq 0xb0(%rsp), %rax
cmpq $0x0, (%rax,%r14)
je 0x44eb
movq 0x8(%rax,%r14), %rdi
testq %rdi, %rdi
je 0x44e1
leaq 0x3428(%rip), %rsi      # 0x78f6
callq 0x10f0
testl %eax, %eax
movq 0xb0(%rsp), %rax
cmovnel %ebp, %r12d
cmpl $0x0, 0x18(%rax,%r14)
cmovnel %ebp, %r15d
addq $0x48, %r14
cmpq %r14, %rbx
jne 0x44b6
movq 0x108(%rsp), %rax
decl %eax
movq %rax, 0x30(%rsp)
leaq 0x30a8(%rip), %r13      # 0x75b2
leaq 0x2c43(%rip), %rbp      # 0x7154
xorl %r14d, %r14d
leaq (%r14,%r14,8), %rax
movq 0xb0(%rsp), %rcx
movq (%rcx,%rax,8), %rbx
testq %rbx, %rbx
je 0x498b
movq %r14, 0x50(%rsp)
movq 0xb0(%rsp), %rcx
movl %r12d, %edx
leaq (%rcx,%rax,8), %r12
movl %edx, 0x38(%rsp)
testl %edx, %edx
je 0x459b
movl $0x13, %esi
movl $0x1, %edx
leaq 0x33a9(%rip), %rdi      # 0x7903
movq 0x10(%rsp), %r14
movq %r14, %rcx
callq 0x1180
movq 0x8(%r12), %rsi
testq %rsi, %rsi
leaq 0x3380(%rip), %rax      # 0x78f6
cmoveq %rax, %rsi
movq %r14, %rdi
callq 0x5ef9
movl $0x3, %esi
movl $0x1, %edx
leaq 0x3384(%rip), %rdi      # 0x7917
movq %r14, %rcx
callq 0x1180
movq %r12, 0x8(%rsp)
testl %r15d, %r15d
je 0x46a0
movl $0x13, %esi
movl $0x1, %edx
leaq 0x3361(%rip), %rdi      # 0x791b
movq 0x10(%rsp), %rcx
callq 0x1180
movq 0x8(%rsp), %rax
movl 0x18(%rax), %edx
cmpl $0x20, %edx
jg 0x45f6
cmpl $0x1, %edx
je 0x4618
cmpl $0x2, %edx
je 0x4656
cmpl $0x20, %edx
jne 0x463e
movl $0xc, %esi
movl $0x1, %edx
leaq 0x3366(%rip), %rdi      # 0x7957
jmp 0x467a
cmpl $0x21, %edx
je 0x462b
cmpl $0x40, %edx
je 0x4669
cmpl $0x41, %edx
jne 0x463e
movl $0x1b, %esi
movl $0x1, %edx
leaq 0x334e(%rip), %rdi      # 0x7964
jmp 0x467a
movl $0xc, %esi
movl $0x1, %edx
leaq 0x3306(%rip), %rdi      # 0x792f
jmp 0x467a
movl $0x1a, %esi
movl $0x1, %edx
leaq 0x330d(%rip), %rdi      # 0x7949
jmp 0x467a
movq 0x10(%rsp), %r14
movq %r14, %rdi
leaq 0x3333(%rip), %rsi      # 0x7980
xorl %eax, %eax
callq 0x1100
jmp 0x4687
movl $0xc, %esi
movl $0x1, %edx
leaq 0x32d5(%rip), %rdi      # 0x793c
jmp 0x467a
movl $0xd, %esi
movl $0x1, %edx
leaq 0x32f8(%rip), %rdi      # 0x7972
movq 0x10(%rsp), %r14
movq %r14, %rcx
callq 0x1180
movl $0x2, %esi
movl $0x1, %edx
leaq 0x3280(%rip), %rdi      # 0x7918
movq %r14, %rcx
callq 0x1180
movq 0x8(%rsp), %r12
movl 0x1c(%r12), %edx
testl %edx, %edx
movq 0x10(%rsp), %r14
je 0x46cf
movq 0x20(%r12), %rsi
movq %r14, %rdi
xorl %ecx, %ecx
callq 0x5f60
movl $0xa, %edi
movq %r14, %rsi
callq 0x10d0
movl $0x6, %esi
movl $0x1, %edx
leaq 0x32a3(%rip), %rdi      # 0x7983
movq %r14, %rcx
callq 0x1180
movq %r14, %rdi
movq %rbx, %rsi
callq 0x5ef9
movl $0x20, %edi
movq %r14, %rsi
callq 0x10d0
movq 0x10(%r12), %rbx
testq %rbx, %rbx
je 0x473b
movl $0x2, %esi
movl $0x1, %edx
leaq 0x326f(%rip), %rdi      # 0x798a
movq %r14, %rcx
callq 0x1180
movq %r14, %rdi
movq %rbx, %rsi
callq 0x5ef9
movl $0x20, %edi
movq %r14, %rsi
callq 0x10d0
movl %r15d, 0x40(%rsp)
movl $0x2, %esi
movl $0x1, %edx
leaq 0x323c(%rip), %rdi      # 0x798d
movq %r14, %rcx
callq 0x1180
movl 0x28(%r12), %eax
testq %rax, %rax
je 0x47d8
shlq $0x4, %rax
leaq (%rax,%rax,2), %rbx
xorl %r14d, %r14d
movq 0x10(%rsp), %r15
movl $0x2, %esi
movl $0x1, %edx
movq %r13, %rdi
movq %r15, %rcx
callq 0x1180
movq 0x30(%r12), %rsi
addq %r14, %rsi
movq %r15, %rdi
xorl %edx, %edx
callq 0x61ae
movl $0x2, %esi
movl $0x1, %edx
leaq 0x31f6(%rip), %rdi      # 0x79a1
movq %r15, %rcx
callq 0x1180
addq $0x30, %r14
cmpq %r14, %rbx
jne 0x4773
movl 0x38(%r12), %ebx
testl %ebx, %ebx
je 0x494d
movl $0xa, %edi
movq %r15, %rsi
callq 0x10d0
jmp 0x47ea
movl 0x38(%r12), %ebx
testl %ebx, %ebx
movq 0x10(%rsp), %r15
je 0x494d
movl %ebx, %eax
movq %rax, 0x20(%rsp)
xorl %r14d, %r14d
movl $0x2, %esi
movl $0x1, %edx
movq %r13, %rdi
movq %r15, %rcx
callq 0x1180
movq 0x40(%r12), %r13
leaq (%r14,%r14,2), %r12
shlq $0x5, %r12
movl (%r13,%r12), %edx
testl %edx, %edx
je 0x483e
leaq (%r12,%r13), %rax
movq 0x8(%rax), %rsi
movq %r15, %rdi
xorl %ecx, %ecx
callq 0x5f60
movl $0x20, %edi
movq %r15, %rsi
callq 0x10d0
cmpl $0x0, 0x48(%r13,%r12)
je 0x4858
leaq (%r12,%r13), %rsi
addq $0x30, %rsi
movq %r15, %rdi
callq 0x625c
jmp 0x4871
movl $0x4, %esi
movl $0x1, %edx
leaq 0x3127(%rip), %rdi      # 0x7990
movq %r15, %rcx
callq 0x1180
movl $0x20, %edi
movq %r15, %rsi
callq 0x10d0
movq 0x10(%r13,%r12), %rsi
movq %r15, %rdi
callq 0x5ef9
movl $0x28, %edi
movq %r15, %rsi
callq 0x10d0
cmpl $0x0, 0x18(%r13,%r12)
leaq 0x30f8(%rip), %r15      # 0x799d
je 0x4915
addq %r12, %r13
addq $0x18, %r13
xorl %r12d, %r12d
xorl %ebx, %ebx
movq 0x10(%r13), %rax
movl (%rax,%rbx,4), %eax
decl %eax
cmpl $0x2, %eax
ja 0x48cd
movl %eax, %eax
movslq (%rbp,%rax,4), %rdx
addq %rbp, %rdx
jmp 0x48cf
xorl %edx, %edx
movq 0x8(%r13), %rsi
addq %r12, %rsi
movq 0x10(%rsp), %rdi
callq 0x61ae
movl (%r13), %eax
leal -0x1(%rax), %ecx
cmpq %rcx, %rbx
je 0x4907
movl $0x2, %esi
movl $0x1, %edx
movq %r15, %rdi
movq 0x10(%rsp), %rcx
callq 0x1180
movl (%r13), %eax
incq %rbx
movl %eax, %eax
addq $0x30, %r12
cmpq %rax, %rbx
jb 0x48b3
movl $0x3, %esi
movl $0x1, %edx
leaq 0x307a(%rip), %rdi      # 0x79a0
movq 0x10(%rsp), %r15
movq %r15, %rcx
callq 0x1180
incq %r14
cmpq 0x20(%rsp), %r14
leaq 0x2c70(%rip), %r13      # 0x75b2
movq 0x8(%rsp), %r12
jne 0x47f4
movl $0x3, %esi
movl $0x1, %edx
leaq 0x3046(%rip), %rdi      # 0x79a4
movq %r15, %rcx
callq 0x1180
movq 0x50(%rsp), %r14
cmpq 0x30(%rsp), %r14
movl 0x40(%rsp), %r15d
movl 0x38(%rsp), %r12d
je 0x498b
movl $0xa, %edi
movq 0x10(%rsp), %rsi
callq 0x10d0
incq %r14
movq 0x108(%rsp), %rsi
cmpq %rsi, %r14
jne 0x4514
movq 0xb0(%rsp), %rdi
callq 0x4c65
movq 0xa8(%rsp), %rdi
callq 0x1030
xorl %ebx, %ebx
cmpl $0x3, 0x58(%rsp)
jb 0x4b4d
movq 0x10(%rsp), %rdi
callq 0x1090
jmp 0x4b4d
movq %r15, %rdi
callq 0x1e99
jmp 0x4b48
movq %rbx, %rdi
callq 0x1f68
jmp 0x4b48
movq 0x6602(%rip), %rax      # 0xaff8
movq (%rax), %rdi
cmpl $0x2, 0x58(%rsp)
jb 0x4a96
movq 0x8(%rbx), %rdx
leaq 0x2807(%rip), %rsi      # 0x7216
jmp 0x4b09
movq 0x65dd(%rip), %rax      # 0xaff8
movq (%rax), %rdi
cmpl $0x2, 0x58(%rsp)
jb 0x4aa2
movq 0x8(%rbx), %rdx
leaq 0x2810(%rip), %rsi      # 0x7240
jmp 0x4a4e
movq 0x65bf(%rip), %rax      # 0xaff8
movq (%rax), %rdi
cmpl $0x2, 0x58(%rsp)
jb 0x4aab
movq 0x8(%rbx), %rdx
leaq 0x281a(%rip), %rsi      # 0x7268
xorl %eax, %eax
callq 0x1100
movq %r15, %rdi
callq 0x1030
jmp 0x4b10
callq 0x172a
movq %r15, %rdi
callq 0x1e70
jmp 0x4b48
movq %r15, %rdi
callq 0x1e47
jmp 0x4b48
movq %r15, %rdi
movq 0xa8(%rsp), %rsi
callq 0x11c0
jmp 0x4b48
leaq 0x2779(%rip), %rsi      # 0x7216
jmp 0x4b3a
leaq 0x2797(%rip), %rsi      # 0x7240
jmp 0x4ab2
leaq 0x27b6(%rip), %rsi      # 0x7268
leaq 0x2734(%rip), %rdx      # 0x71ed
xorl %eax, %eax
callq 0x1100
movq %r15, %rdi
callq 0x1030
jmp 0x4b48
movq 0x6527(%rip), %rax      # 0xaff8
movq (%rax), %rsi
cmpl $0x2, 0x58(%rsp)
jb 0x4b29
movq %rbx, %rdi
movq %r14, %rdx
callq 0x1eee
jmp 0x4b48
callq 0x1518
movq 0x6504(%rip), %rax      # 0xaff8
movq (%rax), %rdi
cmpl $0x2, 0x58(%rsp)
jb 0x4b33
movq 0x8(%rbx), %rdx
leaq 0x26ec(%rip), %rsi      # 0x71f5
xorl %eax, %eax
callq 0x1100
movq %r14, %rdi
callq 0x1090
jmp 0x4b48
callq 0x16f5
callq 0x14e3
callq 0x14ae
movq %rsi, %rdi
callq 0x1ec2
jmp 0x4b48
leaq 0x26bb(%rip), %rsi      # 0x71f5
leaq 0x26ac(%rip), %rdx      # 0x71ed
xorl %eax, %eax
callq 0x1100
movl $0x1, %ebx
movl %ebx, %eax
addq $0x238, %rsp            # imm = 0x238
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x1907
callq 0x1621
callq 0x16c0
callq 0x18d2
callq 0x1479
callq 0x13da
callq 0x1444
callq 0x140f
callq 0x15b7
callq 0x1656
callq 0x1582
callq 0x15ec
callq 0x175f
callq 0x168b
callq 0x154d
callq 0x19a6
callq 0x1833
callq 0x1306
callq 0x1a10
callq 0x1a45
callq 0x133b
callq 0x19db
callq 0x1971
callq 0x193c
callq 0x1868
callq 0x13a5
callq 0x1370
callq 0x189d
callq 0x17fe
callq 0x17c9
callq 0x1794
callq 0x1c25
callq 0x1b6a
callq 0x1c8f
callq 0x12d1
callq 0x1bf0
callq 0x1bbb
callq 0x1b35
callq 0x1267
callq 0x1aaf
callq 0x1ae4
callq 0x1a7a
callq 0x129c
callq 0x1dcd
callq 0x11fd
callq 0x1d98
callq 0x1d2e
callq 0x1cf9
callq 0x1cc4
callq 0x1c5a
callq 0x1d63
callq 0x1232