// File: /workspace/github_c_makefile_star2_O2/jsummers[P]deark/modules/macrsrc.c
// Function: de_run_macrsrc
static void de_run_macrsrc(deark *c, de_module_params *mparams)
{
	lctx *d = NULL;
	i64 pos;

	d = de_malloc(c, sizeof(lctx));
	if(c->module_disposition==DE_MODDISP_INTERNAL) {
		d->errmsgprefix = "[Resource format] ";
	}
	else {
		d->errmsgprefix = "";
	}

	if(de_get_ext_option(c, "macrsrc:extractraw")) {
		d->extract_raw = 1;
	}
	d->combine_SICN = (u8)de_get_ext_option_bool(c, "macrsrc:combinesicn", 0);

	if(c->infile->len<16) {
		de_err(c, "%sFile too small to be a valid Resource file", d->errmsgprefix);
		goto done;
	}

	pos = 0;
	d->data_offs = de_getu32be_p(&pos);
	d->map_offs = de_getu32be_p(&pos);
	d->data_size = de_getu32be_p(&pos);
	d->map_size = de_getu32be_p(&pos);
	de_dbg(c, "data: pos=%"I64_FMT", len=%"I64_FMT, d->data_offs, d->data_size);
	de_dbg(c, "map: pos=%"I64_FMT", len=%"I64_FMT, d->map_offs, d->map_size);
	do_map(c, d, d->map_offs, d->map_size);

done:
	finalize_icns_streams(c, d);
	finalize_psrc_stream(c, d);
	de_free(c, d);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x148, %rsp            # imm = 0x148
movq %rdi, %rbp
movl $0x450, %esi            # imm = 0x450
callq 0xdecaf
movq %rax, %r15
cmpl $0x3, 0x24(%rbp)
leaq 0x97cfa(%rip), %rax     # 0x1218b1
leaq 0xae0a2(%rip), %rcx     # 0x137c60
cmoveq %rax, %rcx
movq %rcx, 0x40(%r15)
leaq 0x97cf7(%rip), %rsi     # 0x1218c4
movq %rbp, %rdi
callq 0xdfa87
testq %rax, %rax
je 0x89bde
movb $0x1, (%r15)
leaq 0x97cf2(%rip), %rsi     # 0x1218d7
movq %rbp, %rdi
xorl %edx, %edx
callq 0xdfae5
movb %al, 0x1(%r15)
movq 0x18(%rbp), %rdi
cmpq $0xf, 0x18(%rdi)
movq %r15, 0x38(%rsp)
jg 0x89c1d
movq 0x40(%r15), %rdx
leaq 0x97cdd(%rip), %rsi     # 0x1218eb
movq %rbp, %rdi
xorl %eax, %eax
callq 0xdf2a5
jmp 0x8b5f2
leaq 0x138(%rsp), %rbx
andq $0x0, (%rbx)
movq %rbx, %rsi
callq 0xe4071
movq %rax, 0x8(%r15)
movq 0x18(%rbp), %rdi
movq %rbx, %rsi
callq 0xe4071
movq %rax, 0x10(%r15)
movq 0x18(%rbp), %rdi
movq %rbx, %rsi
callq 0xe4071
movq %rax, 0x18(%r15)
movq 0x18(%rbp), %rdi
movq %rbx, %rsi
callq 0xe4071
movq %rax, 0x20(%r15)
movq 0x8(%r15), %rdx
movq 0x18(%r15), %rcx
leaq 0x97ca4(%rip), %rsi     # 0x121918
movq %rbp, %rdi
xorl %eax, %eax
callq 0xde896
movq 0x10(%r15), %rdx
movq 0x20(%r15), %rcx
leaq 0x97ca2(%rip), %rsi     # 0x12192f
movq %rbp, %rdi
xorl %eax, %eax
callq 0xde896
movq 0x10(%r15), %r14
movq 0x18(%rbp), %rdi
leaq 0x4(%r14), %rsi
callq 0xe404f
cmpq %r14, %rax
jne 0x89d6c
leaq 0x97cc5(%rip), %rsi     # 0x12197d
movq %rbp, %rdi
movl %r14d, %edx
xorl %eax, %eax
callq 0xde896
pushq $0x1
popq %r13
movq %rbp, %rdi
movl %r13d, %esi
callq 0xdeba7
leaq 0x18(%r14), %rax
leaq 0x140(%rsp), %r15
movq %rax, (%r15)
movq 0x18(%rbp), %rdi
movq %r15, %rsi
callq 0xe3f6e
movq %rax, %rbx
leaq 0x97c9f(%rip), %rsi     # 0x121998
movq %rbp, %rdi
movl %r14d, %edx
movl %ebx, %ecx
xorl %eax, %eax
callq 0xde896
leaq (%rbx,%r14), %rax
movq 0x38(%rsp), %rcx
movq %rax, 0x28(%rcx)
movq 0x18(%rbp), %rdi
movq %r15, %rsi
callq 0xe3f6e
movq %rax, %r15
leaq 0x97c87(%rip), %rsi     # 0x1219b2
movq %rbp, %rdi
movl %r14d, %edx
movl %r15d, %ecx
xorl %eax, %eax
callq 0xde896
addq %r14, %r15
movq 0x38(%rsp), %rax
movq %r15, 0x30(%rax)
movq 0x38(%rsp), %r15
cmpq $0x1b, %rbx
jg 0x89d89
movq 0x40(%r15), %rdx
leaq 0x97c6f(%rip), %rsi     # 0x1219cc
movq %rbp, %rdi
xorl %eax, %eax
callq 0xdf2a5
jmp 0x8b5e7
movq 0x40(%r15), %rdx
leaq 0x97bce(%rip), %rsi     # 0x121945
movq %rbp, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0xdf2a5
jmp 0x8b5f2
movq 0x28(%r15), %rdx
leaq 0x90(%rsp), %rbx
movq %rdx, (%rbx)
leaq 0x97c46(%rip), %rsi     # 0x1219e5
xorl %r14d, %r14d
movq %rbp, %rdi
movq %rdx, 0x110(%rsp)
xorl %eax, %eax
callq 0xde896
movq %rbp, %rdi
movl %r13d, %esi
callq 0xdeba7
movq 0x18(%rbp), %rdi
movq %rbx, %rsi
callq 0xe3f6e
leaq 0x1(%rax), %rbx
cmpq $0xffff, %rax           # imm = 0xFFFF
cmoveq %r14, %rbx
leaq 0x97c15(%rip), %rsi     # 0x1219f5
movq %rbp, %rdi
movl %ebx, %edx
xorl %eax, %eax
callq 0xde896
testq %rbx, %rbx
cmovleq %r14, %rbx
movq %rbx, 0x118(%rsp)
leaq 0x50(%r15), %rax
movq %rax, 0x88(%rsp)
xorl %edx, %edx
movq %rbp, 0x20(%rsp)
cmpq 0x118(%rsp), %rdx
je 0x8b5dc
movl 0x90(%rsp), %ecx
movq %rbp, %rdi
leaq 0x97bd7(%rip), %rsi     # 0x121a04
movq %rdx, 0x120(%rsp)
xorl %eax, %eax
callq 0xde896
movq %rbp, %rdi
movl %r13d, %esi
callq 0xdeba7
movq 0x90(%rsp), %rbx
xorpd %xmm0, %xmm0
movapd %xmm0, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
andq $0x0, 0xd0(%rsp)
movq 0x18(%rbp), %rdi
movq %rbx, %rsi
leaq 0xa0(%rsp), %rdx
pushq $0x4
popq %rcx
xorl %r8d, %r8d
callq 0xe657c
movq %rbp, %rdi
leaq 0x97b7f(%rip), %rsi     # 0x121a1a
leaq 0xb0(%rsp), %rdx
xorl %eax, %eax
callq 0xde896
addq $0x4, %rbx
movq %rbx, 0x130(%rsp)
movl 0xa4(%rsp), %eax
leal -0x69636d23(%rax), %ecx
cmpl $0x15, %ecx
jbe 0x89eff
leal -0x69637323(%rax), %ecx
cmpl $0x15, %ecx
jbe 0x89f0e
movl %r13d, %ecx
cmpl $0x49434e23, %eax       # imm = 0x49434E23
je 0x89f1b
movl %r13d, %ecx
cmpl $0x49434f4e, %eax       # imm = 0x49434F4E
je 0x89f1b
movl %r13d, %ecx
cmpl $0x69636c34, %eax       # imm = 0x69636C34
je 0x89f1b
movl %r13d, %ecx
cmpl $0x69636c38, %eax       # imm = 0x69636C38
je 0x89f1b
xorl %ecx, %ecx
jmp 0x89f1b
movl $0x220001, %edx         # imm = 0x220001
btl %ecx, %edx
movl %r13d, %ecx
jb 0x89f1b
jmp 0x89ec8
movl $0x220001, %edx         # imm = 0x220001
btl %ecx, %edx
movl %r13d, %ecx
jae 0x89ed3
movl %ecx, 0xd0(%rsp)
cmpl $0x4d655361, %eax       # imm = 0x4D655361
je 0x89f30
cmpl $0x3842494d, %eax       # imm = 0x3842494D
jne 0x89f3b
movl $0x1, 0xd4(%rsp)
movq 0x18(%rbp), %rdi
leaq 0x130(%rsp), %rbx
movq %rbx, %rsi
callq 0xe3f6e
incl %eax
xorl %r12d, %r12d
movq %rbp, %rdi
leaq 0x97ad0(%rip), %rsi     # 0x121a2e
movq %rax, 0x128(%rsp)
movl %eax, %edx
xorl %eax, %eax
callq 0xde896
movq 0x18(%rbp), %rdi
movq %rbx, %rsi
callq 0xe3f6e
movq %rax, %r14
movq %rbp, %rdi
leaq 0x97a2f(%rip), %rsi     # 0x1219b7
movq 0x110(%rsp), %rbx
movl %ebx, %edx
movl %r14d, %ecx
xorl %eax, %eax
callq 0xde896
addq %rbx, %r14
movq %rbp, %rdi
leaq 0x97a98(%rip), %rsi     # 0x121a41
movl %r14d, %edx
xorl %eax, %eax
callq 0xde896
movq %rbp, %rdi
movl %r13d, %esi
callq 0xdeba7
cmpl 0x128(%rsp), %r12d
je 0x8b5ac
movq %rbp, %rdi
leaq 0x97a7f(%rip), %rsi     # 0x121a55
movl %r12d, %edx
movq %r14, %rcx
leaq 0xb0(%rsp), %r8
xorl %eax, %eax
callq 0xde896
movq %rbp, %rdi
movl %r13d, %esi
callq 0xdeba7
movq %r14, 0x50(%rsp)
movq %r14, 0x80(%rsp)
leaq 0xe8(%rsp), %rax
andq $0x0, 0x20(%rax)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x10(%rax)
movupd %xmm0, (%rax)
movl %r12d, 0x18(%rsp)
movl %r12d, 0xe4(%rsp)
movq 0x18(%rbp), %rdi
leaq 0x80(%rsp), %rsi
callq 0xe4026
movq %rax, %r12
movl %r12d, 0xe0(%rsp)
movq %rbp, %rdi
leaq 0x93a9d(%rip), %rsi     # 0x11daed
movl %r12d, %edx
xorl %eax, %eax
callq 0xde896
cmpl $0xffffc000, %r12d      # imm = 0xFFFFC000
jb 0x8a0f3
movl %r12d, %r14d
shrl $0xb, %r14d
andl $0x1f, %r14d
movl %r12d, %ebp
shrl $0x5, %ebp
andl $0x3f, %ebp
movl %r12d, %ebx
andl $0x1f, %ebx
movq 0x20(%rsp), %rdi
movl %r13d, %esi
callq 0xdeba7
movl %r12d, %eax
shrl $0x9, %eax
andl $0x1c, %eax
leaq 0x97dba(%rip), %rdx     # 0x121e58
movslq (%rax,%rdx), %rcx
addq %rdx, %rcx
movq 0x20(%rsp), %rdi
leaq 0x979cb(%rip), %rsi     # 0x121a7c
movl %r14d, %edx
xorl %eax, %eax
callq 0xde896
movq 0x20(%rsp), %rdi
leaq 0x979c9(%rip), %rsi     # 0x121a90
movl %ebp, %edx
movq 0x20(%rsp), %rbp
xorl %eax, %eax
callq 0xde896
movq %rbp, %rdi
leaq 0x979be(%rip), %rsi     # 0x121a9d
movl %ebx, %edx
xorl %eax, %eax
callq 0xde896
movq %rbp, %rdi
pushq $-0x1
popq %rsi
callq 0xdeba7
movq 0x18(%rbp), %rdi
leaq 0x80(%rsp), %rsi
callq 0xe3f6e
movq %rax, %rcx
movl $0x0, %eax
movq %rax, 0x70(%rsp)
movl $0x0, %eax
movq %rax, 0x78(%rsp)
movl $0x0, %eax
movq %rax, 0x68(%rsp)
movq %rcx, 0x40(%rsp)
cmpq $0xffff, %rcx           # imm = 0xFFFF
movq %r12, 0x60(%rsp)
je 0x8a1eb
movb $0x1, 0xe9(%rsp)
movl 0x30(%r15), %edx
movq %rbp, %rdi
leaq 0x97956(%rip), %rsi     # 0x121aa8
movq %r15, %r12
movq 0x40(%rsp), %r15
movl %r15d, %ecx
xorl %eax, %eax
callq 0xde896
movq 0x30(%r12), %r14
leaq (%r14,%r15), %rsi
movq %rsi, 0xf8(%rsp)
movq 0x18(%rbp), %rdi
movq %rsi, 0x68(%rsp)
callq 0xe3eb4
movzbl %al, %ebx
leaq 0x1(%rbx), %rcx
movq %rcx, 0x78(%rsp)
movq %rcx, 0x100(%rsp)
movq %rbp, %rdi
callq 0xeac74
movq %rax, %r13
movq %rax, 0x108(%rsp)
movq 0x18(%rbp), %rdi
leaq (%r14,%r15), %rsi
incq %rsi
movq %r12, %r15
movq %rbx, %rdx
movq %rax, %rcx
xorl %r8d, %r8d
pushq $0x11
popq %r9
callq 0xe4c9a
movq %r13, 0x70(%rsp)
movq %r13, %rdi
callq 0xeb877
movq %rbp, %rdi
leaq 0x8b3da(%rip), %rsi     # 0x1155bb
movq %rax, %rdx
xorl %eax, %eax
callq 0xde896
movq %r15, %rbx
movq 0x18(%rbp), %rdi
leaq 0x80(%rsp), %rsi
callq 0xe3f2a
movl %eax, %r15d
movb %al, 0xe8(%rsp)
movq %rbp, %rdi
testb %al, %al
je 0x8a2cb
callq 0xeac74
movq %rax, %r14
testb $0x40, %r15b
je 0x8a231
movq %r14, %rdi
leaq 0x978a3(%rip), %rsi     # 0x121acf
callq 0xeb884
testb $0x20, %r15b
je 0x8a246
movq %r14, %rdi
leaq 0x9789a(%rip), %rsi     # 0x121adb
callq 0xeb884
testb $0x10, %r15b
je 0x8a25b
movq %r14, %rdi
leaq 0x9788f(%rip), %rsi     # 0x121ae5
callq 0xeb884
testb $0x8, %r15b
je 0x8a270
movq %r14, %rdi
leaq 0x97881(%rip), %rsi     # 0x121aec
callq 0xeb884
testb $0x4, %r15b
je 0x8a285
movq %r14, %rdi
leaq 0x97876(%rip), %rsi     # 0x121af6
callq 0xeb884
testb $0x1, %r15b
je 0x8a29a
movq %r14, %rdi
leaq 0x8b684(%rip), %rsi     # 0x115919
callq 0xeb884
movzbl %r15b, %ebx
movq %r14, %rdi
callq 0xeb877
movq %rbp, %rdi
leaq 0x9784e(%rip), %rsi     # 0x121afe
movl %ebx, %edx
movq %rax, %rcx
xorl %eax, %eax
callq 0xde896
movq %r14, %rdi
callq 0xeaf3c
movq 0x38(%rsp), %rbx
jmp 0x8a2db
leaq 0x977ea(%rip), %rsi     # 0x121abc
xorl %edx, %edx
xorl %eax, %eax
callq 0xde896
movq 0x18(%rbp), %rdi
movq 0x80(%rsp), %rsi
pushq $0x3
popq %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xe424b
movq %rax, %r13
movq 0x8(%rbx), %rbx
leaq (%rbx,%rax), %r14
movq %r14, 0xf0(%rsp)
addq $0x3, 0x80(%rsp)
movq %rbp, %rdi
leaq 0x977fc(%rip), %rsi     # 0x121b16
movl %ebx, %edx
movl %r13d, %ecx
xorl %eax, %eax
callq 0xde896
movq %rbp, %rdi
leaq 0x97854(%rip), %rsi     # 0x121b84
movl %r14d, %edx
xorl %eax, %eax
callq 0xde896
movq %rbp, %rdi
pushq $0x1
popq %rsi
callq 0xdeba7
movq 0x18(%rbp), %rdi
movq %r14, %rsi
callq 0xe404f
movq %rax, %r12
addq %r13, %rbx
addq $0x4, %rbx
movq %rbp, %rdi
leaq 0x97833(%rip), %rsi     # 0x121b98
movl %ebx, %edx
movl %r12d, %ecx
xorl %eax, %eax
callq 0xde896
movq %r12, 0x28(%rsp)
movq %r14, 0x58(%rsp)
leaq (%r12,%r14), %r13
addq $0x4, %r13
movq 0x18(%rbp), %rdi
cmpq 0x18(%rdi), %r13
jle 0x8a397
movq 0x20(%rsp), %rbp
jmp 0x8a441
movq 0x38(%rsp), %rax
cmpb $0x0, (%rax)
movq 0x60(%rsp), %r12
je 0x8a485
movq 0x20(%rsp), %rbp
movq %rbp, %rdi
callq 0xdfd1a
movq %rax, %r14
movq %rbp, %rdi
callq 0xeac74
movq %rax, %r12
movq %rax, %rdi
leaq 0xa8(%rsp), %rsi
movq %rbx, %r13
pushq $0x5
popq %rbx
movl %ebx, %edx
callq 0xeae42
movq %r12, %rdi
callq 0xead03
testb $0x1, %r15b
leaq 0x977e0(%rip), %rsi     # 0x121bd0
leaq 0x9e0e5(%rip), %rax     # 0x1284dc
cmoveq %rax, %rsi
movq %r12, %rdi
movl %ebx, %edx
callq 0xeae42
movq %rbp, %rdi
movq %r14, %rsi
movq %r12, %rdx
xorl %ecx, %ecx
callq 0xdfd55
movq 0x18(%rbp), %rdi
movq %r13, %rsi
movq 0x28(%rsp), %rdx
xorl %ecx, %ecx
movq %r14, %r8
xorl %r9d, %r9d
callq 0xe4e0b
movq %rbp, %rdi
movq %r14, %rsi
callq 0xdfd24
movq %r12, %rdi
callq 0xeaf3c
movq 0x38(%rsp), %r15
pushq $0x1
popq %r13
movl 0x18(%rsp), %r12d
movq 0x50(%rsp), %r14
movq %rbp, %rdi
pushq $-0x1
popq %rsi
callq 0xdeba7
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x8a46e
callq 0xeaf3c
movq %rbp, %rdi
pushq $-0x1
popq %rsi
callq 0xdeba7
addq $0xc, %r14
incl %r12d
jmp 0x89fbe
testb $0x1, %r15b
jne 0x8a83b
movl 0xa4(%rsp), %r14d
cmpl $0x50494354, %r14d      # imm = 0x50494354
jne 0x8a512
movl $0x50494354, %r14d      # imm = 0x50494354
cmpq $0xc, 0x28(%rsp)
jl 0x8a5b4
movq %rbx, 0x48(%rsp)
movq 0x58(%rsp), %rax
leaq 0xe(%rax), %rbx
movq %rbx, %rsi
leaq 0x9770c(%rip), %rdx     # 0x121bd6
pushq $0x2
popq %rcx
callq 0xe4d48
testl %eax, %eax
je 0x8a747
cmpq $0x10, 0x28(%rsp)
jb 0x8a505
movq 0x20(%rsp), %rax
movq 0x18(%rax), %rdi
movq %rbx, %rsi
leaq 0x97983(%rip), %rdx     # 0x121e78
pushq $0x6
popq %rcx
callq 0xe4d48
testl %eax, %eax
je 0x8a747
movl 0xa4(%rsp), %r14d
movq 0x48(%rsp), %rbx
cmpl $0x414e5041, %r14d      # imm = 0x414E5041
je 0x8a556
movb $0x1, %r15b
cmpl $0x69636e73, %r14d      # imm = 0x69636E73
je 0x8a545
cmpl $0x6d6f6f76, %r14d      # imm = 0x6D6F6F76
jne 0x8a5b4
movq %rbx, 0x48(%rsp)
leaq 0x9766b(%rip), %rbx     # 0x121bab
jmp 0x8a751
movq %rbx, 0x48(%rsp)
leaq 0x8fe47(%rip), %rbx     # 0x11a398
jmp 0x8a751
movl $0x414e5041, %r14d      # imm = 0x414E5041
cmpl $0x2710, %r12d          # imm = 0x2710
jne 0x8a5b4
movq 0x20(%rsp), %rbp
movq %rbp, %rdi
leaq 0x9763b(%rip), %rsi     # 0x121baf
movq %rbx, %rdx
xorl %eax, %eax
callq 0xde896
movq %rbp, %rdi
pushq $0x1
popq %r13
movl %r13d, %esi
callq 0xdeba7
movq 0x18(%rbp), %rsi
movq %rbp, %rdi
movq %rbx, %rdx
movq 0x28(%rsp), %rcx
xorl %r8d, %r8d
callq 0xec1bf
movq %rbp, %rdi
pushq $-0x1
popq %rsi
callq 0xdeba7
jmp 0x8a86e
cmpl $0x0, 0xd0(%rsp)
je 0x8a610
movq 0x20(%rsp), %rbp
movq %rbp, %rdi
leaq 0x975f3(%rip), %rsi     # 0x121bc0
xorl %eax, %eax
callq 0xde896
movq 0x38(%rsp), %r15
movq 0x48(%r15), %rcx
movq 0x88(%rsp), %rdx
xorl %eax, %eax
pushq $0x1
popq %r13
movq 0x50(%rsp), %r14
movq %rbx, 0x48(%rsp)
cmpq %rax, %rcx
je 0x8a69e
cmpl %r12d, (%rdx)
je 0x8a6c5
incq %rax
addq $0x10, %rdx
jmp 0x8a5f5
cmpl $0x0, 0xd4(%rsp)
je 0x8a7df
movq 0x38(%rsp), %r15
cmpq $0x0, 0x38(%r15)
movq 0x20(%rsp), %rbp
jne 0x8a63f
movq %rbp, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xe59cd
movq %rax, 0x38(%r15)
movq %rbp, %rdi
leaq 0x97590(%rip), %rsi     # 0x121bd9
xorl %eax, %eax
callq 0xde896
movq 0x38(%r15), %rdi
leaq 0xa0(%rsp), %rsi
pushq $0x4
popq %rdx
callq 0xe46ba
movq 0x38(%r15), %rdi
movslq %r12d, %rsi
callq 0xe5f4c
cmpq $0xffff, 0x40(%rsp)     # imm = 0xFFFF
pushq $0x1
popq %r13
movq 0x50(%rsp), %r14
jne 0x8a878
movq 0x38(%r15), %rdi
pushq $0x2
popq %rsi
callq 0xe5d20
movl 0x18(%rsp), %r12d
jmp 0x8a8a8
pushq $0x3f
popq %rax
cmpq $0x3f, %rcx
ja 0x8a6c5
leaq 0x1(%rcx), %rax
movq %rax, 0x48(%r15)
movq %rcx, %rax
shlq $0x4, %rax
movq 0x88(%rsp), %rdx
movl %r12d, (%rdx,%rax)
movq %rcx, %rax
shlq $0x4, %rax
movq 0x88(%rsp), %rcx
movq 0x8(%rcx,%rax), %rbx
testq %rbx, %rbx
jne 0x8a702
movq 0x88(%rsp), %rcx
leaq (%rcx,%rax), %r14
addq $0x8, %r14
movq %rbp, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xe59cd
movq %rax, %rbx
movq %rax, (%r14)
movq 0x50(%rsp), %r14
movq %rbx, %rdi
leaq 0xa0(%rsp), %rsi
pushq $0x4
popq %rdx
callq 0xe46ba
movq 0x28(%rsp), %r12
movq %r12, %rsi
addq $0x8, %rsi
movq %rbx, %rdi
callq 0xe5f65
movq 0x18(%rbp), %rdi
movq 0x48(%rsp), %rsi
movq %r12, %rdx
movq %rbx, %rcx
callq 0xe45f4
movl 0x18(%rsp), %r12d
jmp 0x8a454
xorl %r15d, %r15d
leaq 0x7e6ff(%rip), %rbx     # 0x108e50
movq 0x20(%rsp), %rbp
movq %rbp, %rdi
callq 0xdfd1a
movq %rax, %r14
movq %rbp, %rdi
movq %rax, %rsi
leaq 0xa0(%rsp), %rdx
leaq 0xe0(%rsp), %rcx
movq %rbx, %r8
callq 0x8b78e
movq %rbp, %rdi
xorl %esi, %esi
movq %r14, %rdx
xorl %ecx, %ecx
callq 0xe4e62
movq %rax, %rbx
movq %rbp, %rdi
movq %r14, %rsi
callq 0xdfd24
testb %r15b, %r15b
movq 0x38(%rsp), %r15
movl 0x18(%rsp), %r12d
jne 0x8a7b8
movl $0x200, %esi            # imm = 0x200
movq %rbx, %rdi
callq 0xe5d20
movq 0x18(%rbp), %rdi
movq 0x48(%rsp), %rsi
movq 0x28(%rsp), %rdx
movq %rbx, %rcx
callq 0xe45f4
movq %rbx, %rdi
callq 0xe5591
pushq $0x1
popq %r13
jmp 0x8a44f
cmpl $0x63727372, %r14d      # imm = 0x63727372
je 0x8a80b
cmpl $0x5349434e, %r14d      # imm = 0x5349434E
je 0x8a8e7
cmpl $0x6369636e, %r14d      # imm = 0x6369636E
je 0x8aa4e
cmpl $0x43555253, %r14d      # imm = 0x43555253
jne 0x8a83b
movq %rbx, 0x30(%rsp)
andq $0x0, 0x98(%rsp)
cmpq $0x44, 0x28(%rsp)
jge 0x8ac2f
xorl %ebx, %ebx
xorl %r13d, %r13d
xorl %r15d, %r15d
xorl %ebp, %ebp
xorl %eax, %eax
movl 0x18(%rsp), %r12d
jmp 0x8b0eb
movq 0x20(%rsp), %rbp
cmpl $0x2, (%rbp)
pushq $0x1
popq %r13
jl 0x8a86e
movq 0x18(%rbp), %rsi
movl $0x1, (%rsp)
movl $0x100, %r8d            # imm = 0x100
movq %rbp, %rdi
movq %rbx, %rdx
movq 0x28(%rsp), %rcx
xorl %r9d, %r9d
callq 0xded3a
movq 0x38(%rsp), %r15
jmp 0x8a44a
movq 0x18(%rbp), %rdi
movq 0x38(%r15), %rcx
movq 0x68(%rsp), %rsi
movq 0x78(%rsp), %r12
movq %r12, %rdx
callq 0xe45f4
testb $0x1, %r12b
movl 0x18(%rsp), %r12d
je 0x8a8a8
movq 0x38(%r15), %rdi
xorl %esi, %esi
callq 0xe5bc5
movq 0x38(%r15), %rdi
movq 0x28(%rsp), %rsi
callq 0xe5f65
movq 0x18(%rbp), %rdi
movq 0x38(%r15), %rcx
movq %rbx, %rsi
movq 0x28(%rsp), %rbx
movq %rbx, %rdx
callq 0xe45f4
testb $0x1, %bl
je 0x8a454
movq 0x38(%r15), %rdi
xorl %esi, %esi
callq 0xe5bc5
jmp 0x8a454
movq 0x28(%rsp), %r15
movq %r15, %rax
cqto
pushq $0x20
popq %rcx
idivq %rcx
movq %rax, %r14
movq 0x20(%rsp), %rbp
movq %rbp, %rdi
leaq 0x8de57(%rip), %rsi     # 0x118760
movq %rax, %rdx
xorl %eax, %eax
callq 0xde896
cmpq $0x40, %r15
jl 0x8acc2
movq 0x38(%rsp), %rax
cmpb $0x0, 0x1(%rax)
je 0x8acc2
movq %rbx, 0x48(%rsp)
movq %rbp, %rdi
callq 0xdfd1a
movq %rax, %r15
movq %rbp, %rdi
movq %rax, %rsi
leaq 0xa0(%rsp), %rdx
leaq 0xe0(%rsp), %rcx
leaq 0x97474(%rip), %r8      # 0x121dcd
callq 0x8b78e
cmpq $0x10, %r14
pushq $0x10
popq %rax
cmovlq %r14, %rax
leaq 0xf(%r14), %rcx
shrq $0x4, %rcx
imulq $0x11, %rax, %rsi
incq %rsi
imulq $0x11, %rcx, %rdx
incq %rdx
movq %rbp, %rdi
pushq $0x3
popq %rcx
callq 0xe7437
movq %rax, %r12
movq 0x8(%rax), %rcx
movq 0x10(%rax), %r8
andl $0x0, (%rsp)
movq %rax, %rdi
xorl %esi, %esi
xorl %edx, %edx
movl $0xff202090, %r9d       # imm = 0xFF202090
callq 0xe8292
xorl %ebx, %ebx
pushq $0x1
popq %r13
movq %r15, 0x28(%rsp)
cmpq %rbx, %r14
je 0x8ad70
movq %rbp, %rdi
pushq $0x10
popq %rdx
movq %rdx, %rsi
movl %r13d, %ecx
callq 0xe7437
movq %rax, %r13
movq 0x18(%rbp), %rdi
movq 0x48(%rsp), %r15
movq %r15, %rsi
pushq $0x2
popq %rdx
movq %rax, %rcx
pushq $0x1
popq %r8
callq 0xe77b7
movl %ebx, %eax
andl $0xf, %eax
imulq $0x11, %rax, %rax
incq %rax
movq %rbx, %rcx
shrq $0x4, %rcx
imulq $0x11, %rcx, %rcx
incq %rcx
andl $0x0, 0x10(%rsp)
movq %rcx, 0x8(%rsp)
movq %rax, (%rsp)
movq %r13, %rdi
movq %r12, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
pushq $0x10
popq %r8
movq %r8, %r9
callq 0xe8314
movq %r13, %rdi
pushq $0x1
popq %r13
callq 0xe7084
incq %rbx
addq $0x20, %r15
movq %r15, 0x48(%rsp)
movq 0x28(%rsp), %r15
jmp 0x8a9b6
andq $0x0, 0x30(%rsp)
movq %rbx, %r15
movq 0x20(%rsp), %rbx
movq %rbx, %rdi
leaq 0x98(%rsp), %rsi
callq 0xdebae
movl $0x480, %esi            # imm = 0x480
movq %rbx, %rdi
callq 0xdecaf
movq %rax, %rbp
movl $0x480, %esi            # imm = 0x480
movq %rbx, %rdi
callq 0xdecaf
movq %rax, 0x70(%rsp)
movl $0x480, %esi            # imm = 0x480
movq %rbx, %rdi
callq 0xdecaf
movq %rax, 0x28(%rsp)
movq %rbx, %rdi
callq 0xdfd1a
movq %rax, 0x40(%rsp)
movq %rbx, %rdi
leaq 0x9722f(%rip), %rsi     # 0x121ce6
xorl %eax, %eax
callq 0xde896
movq %rbx, %rdi
pushq $0x1
popq %rsi
callq 0xdeba7
movq 0x18(%rbx), %rsi
movq %rbx, %rdi
movq %rbp, %rdx
movq %r15, 0x48(%rsp)
movq %r15, %rcx
callq 0xedb42
movq 0x58(%rsp), %r14
leaq 0x8(%r14), %rcx
movq 0x18(%rbx), %rsi
movq %rbx, %rdi
movq %rbp, %rdx
callq 0xedb9a
cmpl $0x0, 0x6c(%rbp)
je 0x8ad5e
leaq 0x12(%r14), %rcx
movq 0x18(%rbx), %rsi
movq %rbx, %rdi
movq %rbp, %rdx
callq 0xedcaf
cmpq $0x0, 0x48(%rbp)
jne 0x8ab24
movq $0x1, 0x48(%rbp)
cmpq $0x0, 0x50(%rbp)
jne 0x8ab33
movq 0x40(%rbp), %rax
movq %rax, 0x50(%rbp)
movq %rbp, 0x68(%rsp)
movq 0x58(%rsp), %r14
leaq 0x36(%r14), %rbx
movq 0x20(%rsp), %rbp
movq %rbp, %rdi
pushq $-0x1
popq %rsi
callq 0xdeba7
movq %rbp, %rdi
leaq 0x971a1(%rip), %rsi     # 0x121cfc
xorl %eax, %eax
callq 0xde896
movq %rbp, %rdi
pushq $0x1
popq %r15
movl %r15d, %esi
callq 0xdeba7
movq 0x18(%rbp), %rsi
movq %rbp, %rdi
movq 0x70(%rsp), %r12
movq %r12, %rdx
movq %rbx, %rcx
callq 0xedb42
leaq 0x3a(%r14), %rcx
movq 0x18(%rbp), %rsi
movq %rbp, %rdi
movq %r12, %rdx
callq 0xedb9a
leaq 0x44(%r14), %rbx
movq %rbp, %rdi
pushq $-0x1
popq %r12
movl %r12d, %esi
callq 0xdeba7
movq %rbp, %rdi
leaq 0x97159(%rip), %rsi     # 0x121d11
xorl %eax, %eax
callq 0xde896
movq %rbp, %rdi
movl %r15d, %esi
callq 0xdeba7
movq 0x18(%rbp), %rsi
movq %rbp, %rdi
movq 0x28(%rsp), %r15
movq %r15, %rdx
movq %rbx, %rcx
callq 0xedb42
leaq 0x48(%r14), %rcx
movq 0x18(%rbp), %rsi
movq %rbp, %rdi
movq %r15, %rdx
callq 0xedb9a
movq %rbp, %rdi
movl %r12d, %esi
callq 0xdeba7
movb $0x1, %bpl
cmpq $0x0, (%r15)
je 0x8b01c
cmpq $0x0, 0x20(%r15)
movl 0x18(%rsp), %r12d
movq 0x68(%rsp), %r14
je 0x8b026
cmpq $0x0, 0x10(%r15)
sete %bpl
jmp 0x8b026
movq 0x20(%rsp), %r12
movq %r12, %rdi
callq 0xdfd1a
movq %rax, %r15
movq %rbx, 0x48(%rsp)
movq %rbx, %rdx
movl $0x0, %r13d
movl $0x0, %eax
movq %rax, 0x68(%rsp)
movl $0x0, %ebx
cmpl $0x63727372, %r14d      # imm = 0x63727372
movq %r15, 0x40(%rsp)
jne 0x8adf7
movq 0x18(%r12), %rdi
leaq 0x30(%rsp), %r15
movq %r15, %rsi
callq 0xe3f6e
movq %rax, %rbx
movq %r12, %rdi
leaq 0x96f61(%rip), %rsi     # 0x121bee
movl %ebx, %edx
xorl %eax, %eax
callq 0xde896
addq $-0x8002, %rbx          # imm = 0xFFFF7FFE
cmpq $-0x3, %rbx
ja 0x8ad95
movq %r12, %rdi
leaq 0x96f51(%rip), %rsi     # 0x121c02
xorl %eax, %eax
callq 0xdf2a5
xorl %ebx, %ebx
xorl %r13d, %r13d
jmp 0x8b013
movq %rbp, %rdi
callq 0xdfd1a
movq %rax, %r15
movq %rbp, %rdi
movq %rax, %rsi
leaq 0xa0(%rsp), %rdx
leaq 0xe0(%rsp), %rcx
xorl %r8d, %r8d
callq 0x8b78e
movq %rbp, %rdi
pushq $0x10
popq %rdx
movq %rdx, %rsi
pushq $0x1
popq %r13
movl %r13d, %ecx
callq 0xe7437
movq %rax, %r12
testq %r14, %r14
movl $0x0, %eax
cmovleq %rax, %r14
subq $0x1, %r14
jb 0x8ad7d
movq 0x8(%r12), %rcx
movq 0x10(%r12), %r8
andl $0x0, (%rsp)
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
movl $0xff000000, %r9d       # imm = 0xFF000000
callq 0xe8292
movq 0x18(%rbp), %rdi
movq %rbx, %rsi
pushq $0x2
popq %rdx
movq %r12, %rcx
movl %r13d, %r8d
callq 0xe77b7
movq %r12, %rdi
movq %r15, %rsi
pushq $0x8
popq %rdx
callq 0xe70ab
addq $0x20, %rbx
jmp 0x8ad0f
xorl %r15d, %r15d
xorl %ebx, %ebx
movl 0x18(%rsp), %r12d
movq %rbp, %r14
jmp 0x8b2a1
movq %r12, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0xe70ab
movq %r12, %rdi
callq 0xe7084
movq %rbp, %rdi
movq %r15, %rsi
callq 0xdfd24
jmp 0x8a86e
movq 0x18(%r12), %rdi
movq %r15, %rsi
callq 0xe4071
movq %r12, %rdi
leaq 0x96e80(%rip), %rsi     # 0x121c2c
movq %rax, 0x68(%rsp)
movl %eax, %edx
xorl %eax, %eax
callq 0xde896
movq 0x18(%r12), %rdi
movq %r15, %rsi
callq 0xe4071
movq %rax, %rbx
movq %r12, %rdi
leaq 0x96e70(%rip), %rsi     # 0x121c44
movl %ebx, %edx
xorl %eax, %eax
callq 0xde896
movq 0x30(%rsp), %rdx
addq $0xa, %rdx
movq %rdx, 0x30(%rsp)
leaq 0x96e92(%rip), %r13     # 0x121c84
movq 0x40(%rsp), %r15
movq %r13, 0x78(%rsp)
movq %rbx, 0x58(%rsp)
movq %r12, %rdi
leaq 0x96e52(%rip), %rsi     # 0x121c5d
xorl %eax, %eax
callq 0xde896
movq %r12, %rdi
pushq $0x10
popq %r13
movq %r13, %rsi
movq %r13, %rdx
pushq $0x2
popq %rcx
callq 0xe7437
movq %rax, 0x60(%rsp)
movq 0x18(%r12), %rdi
movq 0x30(%rsp), %rsi
pushq $0x2
popq %rbp
movq %rbp, %rdx
movq %rax, %rcx
pushq $0x1
popq %rbx
movl %ebx, %r8d
callq 0xe77b7
movq 0x30(%rsp), %rdx
addq $0x20, %rdx
movq %rdx, 0x30(%rsp)
movq %r12, %rdi
leaq 0xa27f7(%rip), %rsi     # 0x12d659
xorl %eax, %eax
callq 0xde896
movq %r12, %rdi
movq %r13, %rsi
movq %r13, %rdx
movl %ebx, %ecx
callq 0xe7437
movq %rax, %r13
movq 0x18(%r12), %rdi
movq 0x30(%rsp), %rsi
movq %rbp, %rdx
movq %rax, %rcx
xorl %r8d, %r8d
callq 0xe77b7
addq $0x20, 0x30(%rsp)
movq 0x18(%r12), %rdi
leaq 0x30(%rsp), %rbp
movq %rbp, %rsi
callq 0xe4026
movl %eax, 0x9c(%r15)
movq 0x18(%r12), %rdi
movq %rbp, %rsi
movq 0x60(%rsp), %rbp
callq 0xe4026
movl %eax, 0x98(%r15)
movb $0x1, 0xe(%r15)
movl 0x9c(%r15), %ecx
movq %r12, %rdi
leaq 0x96d91(%rip), %rsi     # 0x121c73
movl %eax, %edx
xorl %eax, %eax
callq 0xde896
movq %rbp, %rdi
movq %r13, %rsi
xorl %edx, %edx
callq 0xe83f8
movq %r12, %rdi
movq %r15, %rsi
leaq 0xa0(%rsp), %rdx
leaq 0xe0(%rsp), %rcx
movq 0x78(%rsp), %r8
callq 0x8b78e
movq %rbp, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0xe70ab
cmpl $0x63727372, %r14d      # imm = 0x63727372
jne 0x8b010
movl $0x480, %esi            # imm = 0x480
movq %r12, %rdi
callq 0xdecaf
movq 0x68(%rsp), %rcx
cmpq 0x28(%rsp), %rcx
jge 0x8b0dc
addq 0x48(%rsp), %rcx
movq %rcx, 0x30(%rsp)
movq 0x18(%r12), %rsi
movq %r12, %rdi
movq %rax, %rdx
movq %rax, %r14
callq 0xedb42
movq 0x30(%rsp), %rcx
addq $0x4, %rcx
movq %rcx, 0x30(%rsp)
movq 0x18(%r12), %rsi
movq %r12, %rdi
movq %r14, %rdx
callq 0xedb9a
movq 0x30(%rsp), %rcx
addq $0xa, %rcx
movq %rcx, 0x30(%rsp)
movq 0x18(%r12), %rsi
movq %r12, %rdi
movq %r14, %rdx
callq 0xedcaf
addq $0x24, 0x30(%rsp)
movq 0x10(%r14), %rsi
movq 0x20(%r14), %rdx
movq %r12, %rdi
callq 0xe6be1
testl %eax, %eax
je 0x8b255
movl 0x68(%r14), %eax
movq 0x20(%r14), %rcx
imulq (%r14), %rcx
addq 0x58(%rsp), %rcx
cmpq %rax, %rcx
je 0x8aff1
movq %r12, %rdi
leaq 0x96ca6(%rip), %rsi     # 0x121c8c
xorl %eax, %eax
callq 0xdf05a
movl 0x68(%r14), %eax
testl %eax, %eax
je 0x8b12b
movl %eax, %ecx
cmpq %rcx, 0x28(%rsp)
jbe 0x8b12b
addq 0x48(%rsp), %rcx
jmp 0x8b143
movq %rbp, %rbx
xorl %ebp, %ebp
xorl %eax, %eax
jmp 0x8b0e1
movl 0x18(%rsp), %r12d
movq 0x68(%rsp), %r14
movq 0x10(%r14), %rsi
movq 0x20(%r14), %rdx
movq 0x20(%rsp), %rbx
movq %rbx, %rdi
callq 0xe6bb4
testl %eax, %eax
je 0x8b29c
movq 0x70(%rsp), %rax
movq 0x10(%rax), %rsi
movq 0x20(%rax), %rdx
movq %rbx, %rdi
callq 0xe6bb4
testl %eax, %eax
je 0x8b29c
testb %bpl, %bpl
jne 0x8b07f
movq 0x10(%r15), %rsi
movq 0x20(%r15), %rdx
movq 0x20(%rsp), %rdi
callq 0xe6bb4
testl %eax, %eax
je 0x8b29c
cmpq $0x0, 0x38(%r14)
jne 0x8b29c
movq 0x40(%r14), %rax
cmpq 0x50(%r14), %rax
jne 0x8b29c
cmpq $0x1, 0x48(%r14)
jne 0x8b29c
cmpq $0x8, %rax
ja 0x8b29c
movl $0x116, %ecx            # imm = 0x116
btq %rax, %rcx
movl $0x0, %r15d
movl $0x0, %ebx
jae 0x8b2a1
testb %bpl, %bpl
movb %bpl, 0x18(%rsp)
je 0x8b26c
xorl %edx, %edx
jmp 0x8b279
movq %rbp, %rbx
xorl %ebp, %ebp
movl 0x18(%rsp), %r12d
movq 0x40(%rsp), %r15
movq 0x20(%rsp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0xded32
movq %rbp, %rdi
movq %r14, %rbp
callq 0xe7084
movq %rbx, %rdi
callq 0xe7084
movq %r13, %rdi
callq 0xe7084
movq %r14, %rdi
movq %r15, %rsi
callq 0xdfd24
movq 0x38(%rsp), %r15
jmp 0x8a7d6
movq 0x48(%rsp), %rax
movq 0x58(%rsp), %rcx
addq %rcx, %rax
movq 0x20(%r14), %rcx
imulq (%r14), %rcx
addq %rax, %rcx
movq %rbp, %rbx
movq %rcx, 0x30(%rsp)
movq 0x18(%r12), %rsi
movq %r12, %rdi
movq %r14, %rdx
leaq 0x98(%rsp), %r8
callq 0xedeaa
testl %eax, %eax
je 0x8b258
movq 0x10(%r14), %rsi
movq 0x18(%r14), %rdx
movq 0x20(%r14), %rcx
movq %r12, %rdi
pushq $0x4
popq %r8
callq 0xe746f
movq %rax, %rbp
movq 0x58(%rsp), %rdx
cmpq 0x28(%rsp), %rdx
jge 0x8b25a
addq 0x48(%rsp), %rdx
movq %rdx, 0x30(%rsp)
movq %r12, %rdi
leaq 0x96b28(%rip), %rsi     # 0x121cd2
xorl %eax, %eax
callq 0xde896
movq 0x18(%r12), %rdi
movq 0x30(%rsp), %rsi
movq (%r14), %rcx
movq 0x40(%r14), %rdx
movq %r14, %r8
subq $-0x80, %r8
andl $0x0, (%rsp)
movq %rbp, %r9
callq 0xe7cbc
movq %rbp, %rdi
movq %r13, %rsi
xorl %edx, %edx
callq 0xe83f8
movq %r12, %rdi
movq 0x40(%rsp), %r15
movq %r15, %rsi
leaq 0xa0(%rsp), %rdx
leaq 0xe0(%rsp), %rcx
xorl %r8d, %r8d
callq 0x8b78e
movsd 0x58(%r14), %xmm0
ucomisd 0x7d0c5(%rip), %xmm0    # 0x1082d8
jb 0x8b23f
movsd 0x60(%r14), %xmm1
ucomisd 0x7d0b5(%rip), %xmm1    # 0x1082d8
jb 0x8b23f
movl $0x2, 0x78(%r15)
movsd %xmm0, 0x80(%r15)
movsd %xmm1, 0x88(%r15)
movq %rbp, %rdi
movq %r15, %rsi
pushq $0x2
popq %rdx
callq 0xe70ab
movq %r14, %rax
jmp 0x8a831
movq %rbp, %rbx
xorl %ebp, %ebp
movl 0x18(%rsp), %r12d
movq 0x40(%rsp), %r15
movq %r14, %rax
jmp 0x8b0eb
movq 0x28(%rsp), %rax
movq 0x20(%rax), %rdx
imulq (%rax), %rdx
movq 0x70(%rsp), %r15
movq 0x58(%rsp), %rbp
addq $0x56, %rbp
movq 0x20(%r15), %rcx
imulq (%r15), %rcx
leaq (%rcx,%rbp), %rax
cmpq %r13, %rax
jle 0x8b33d
xorl %r15d, %r15d
xorl %ebx, %ebx
movq %rbx, 0x18(%rsp)
movq %r14, %rbx
movq 0x20(%rsp), %rbp
movq %rbp, %rdi
leaq 0x96ae9(%rip), %rsi     # 0x121da1
movq 0x48(%rsp), %rdx
xorl %eax, %eax
callq 0xdf2a5
xorl %r14d, %r14d
pushq $0x1
popq %r13
movq %r14, %rdi
callq 0xe7084
movq %r15, %rdi
callq 0xe7084
movq 0x18(%rsp), %rdi
callq 0xe7084
movq %rbp, %rdi
movq %rbx, %rsi
callq 0xded32
movq %rbp, %rdi
movq 0x70(%rsp), %rsi
callq 0xded32
movq %rbp, %rdi
movq 0x28(%rsp), %rsi
callq 0xded32
movq %rbp, %rdi
movq 0x40(%rsp), %rsi
callq 0xdfd24
movl 0x98(%rsp), %esi
movq %rbp, %rdi
callq 0xdebb7
movq 0x108(%rsp), %rax
movq %rax, 0x70(%rsp)
movq 0x38(%rsp), %r15
jmp 0x8a44f
movq %rdx, 0x60(%rsp)
movq %rax, 0x78(%rsp)
movq 0x20(%r14), %rax
imulq (%r14), %rax
movq %rax, 0x58(%rsp)
movq 0x20(%rsp), %rbx
movq %rbx, %rdi
leaq 0x969c2(%rip), %rsi     # 0x121d25
movq %rbp, %rdx
xorl %eax, %eax
callq 0xde896
movq 0x10(%r15), %rsi
movq 0x18(%r15), %rdx
movq 0x20(%r15), %rcx
movq %rbx, %rdi
pushq $0x1
popq %r8
callq 0xe746f
movq 0x18(%rbx), %rdi
movq (%r15), %rdx
movq %rax, %r15
movq %rbp, %rsi
movq %rax, %rcx
xorl %r8d, %r8d
callq 0xe77b7
cmpb $0x0, 0x18(%rsp)
je 0x8b3c3
movq 0x20(%rsp), %rdi
leaq 0x969b3(%rip), %rsi     # 0x121d63
xorl %eax, %eax
callq 0xde896
xorl %ebx, %ebx
movq 0x78(%rsp), %rbp
jmp 0x8b48b
movq 0x78(%rsp), %rbx
movq 0x60(%rsp), %rcx
leaq (%rcx,%rbx), %rbp
cmpq %r13, %rbp
jg 0x8b29f
movq 0x20(%rsp), %rdi
leaq 0x9695b(%rip), %rsi     # 0x121d41
movq %rbx, %rdx
xorl %eax, %eax
callq 0xde896
movq %r15, 0x18(%rsp)
movq 0x28(%rsp), %r15
movq 0x10(%r15), %rsi
movq 0x18(%r15), %rdx
movq 0x20(%r15), %rcx
movq 0x20(%rsp), %r14
movq %r14, %rdi
movq %rbp, 0x60(%rsp)
pushq $0x2
popq %r8
callq 0xe746f
movq %rax, %rbp
movq 0x18(%r14), %rdi
movq (%r15), %rdx
movq %rbx, %rsi
movq %rax, %rcx
pushq $0x1
popq %r8
callq 0xe77b7
movq %rbp, %rdi
movq 0x18(%rsp), %rsi
xorl %edx, %edx
callq 0xe83f8
movq %r14, %rdi
movq 0x40(%rsp), %r15
movq %r15, %rsi
leaq 0xa0(%rsp), %rdx
leaq 0xe0(%rsp), %rcx
leaq 0x968f5(%rip), %r8      # 0x121d5b
callq 0x8b78e
movq %rbp, %rdi
movq %r15, %rsi
movq 0x18(%rsp), %r15
movq 0x68(%rsp), %r14
movq %rbp, %rbx
movq 0x60(%rsp), %rbp
pushq $0x2
popq %rdx
callq 0xe70ab
movq 0x20(%rsp), %rdi
movq 0x18(%rdi), %rsi
movq %r14, %rdx
movq %rbp, %rcx
leaq 0x30(%rsp), %r8
callq 0xedeaa
testl %eax, %eax
je 0x8b2a1
addq 0x30(%rsp), %rbp
movq 0x58(%rsp), %rcx
leaq (%rcx,%rbp), %rax
cmpq %r13, %rax
jg 0x8b2a1
movq %rbx, 0x18(%rsp)
movq %rbp, %rdx
movq %rbp, 0x60(%rsp)
movq 0x20(%rsp), %rbp
movq %rbp, %rdi
leaq 0x968a5(%rip), %rsi     # 0x121d84
xorl %eax, %eax
callq 0xde896
movq 0x10(%r14), %rsi
movq 0x18(%r14), %rdx
movq 0x20(%r14), %rcx
movq %rbp, %rdi
pushq $0x4
popq %r8
callq 0xe746f
movq %r14, %r13
movq %rax, %r14
movq 0x18(%rbp), %rdi
movq (%r13), %rcx
movq 0x40(%r13), %rdx
movq %r13, %r8
subq $-0x80, %r8
andl $0x0, (%rsp)
movq 0x60(%rsp), %rsi
movq %rax, %r9
callq 0xe7cbc
movq %r14, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0xe83f8
movq %r13, %rbx
movsd 0x58(%r13), %xmm0
ucomisd 0x7cd92(%rip), %xmm0    # 0x1082d8
pushq $0x1
popq %r13
jb 0x8b577
movsd 0x60(%rbx), %xmm1
ucomisd 0x7cd7f(%rip), %xmm1    # 0x1082d8
jb 0x8b577
movq 0x40(%rsp), %rax
movl $0x2, 0x78(%rax)
movsd %xmm0, 0x80(%rax)
movsd %xmm1, 0x88(%rax)
movq %rbp, %rdi
movq 0x40(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
leaq 0xe0(%rsp), %rcx
xorl %r8d, %r8d
callq 0x8b78e
movq %r14, %rdi
movq 0x40(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0xe70ab
jmp 0x8b2cb
movq %rbp, %rdi
pushq $-0x1
popq %rbx
movl %ebx, %esi
callq 0xdeba7
addq $0x8, 0x90(%rsp)
movq %rbp, %rdi
movl %ebx, %esi
callq 0xdeba7
movq 0x120(%rsp), %rdx
incq %rdx
jmp 0x89e0e
pushq $-0x1
popq %rsi
movq %rbp, %rdi
callq 0xdeba7
pushq $-0x1
popq %rsi
movq %rbp, %rdi
callq 0xdeba7
movq %r15, %r12
addq $0x58, %r12
xorl %r13d, %r13d
leaq 0x8ed95(%rip), %r14     # 0x11a398
cmpq 0x48(%r15), %r13
jae 0x8b676
movq (%r12), %rbx
testq %rbx, %rbx
je 0x8b66d
movq %rbp, %rdi
movq %r14, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0xe4e62
movq %rax, %r15
movl $0x69636e73, %esi       # imm = 0x69636E73
movq %rax, %rdi
callq 0xe5f65
movq 0x18(%rbx), %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0xe5f65
movq 0x18(%rbx), %rdx
movq %rbx, %rdi
xorl %esi, %esi
movq %r15, %rcx
callq 0xe45f4
movq %r15, %rdi
movq 0x38(%rsp), %r15
callq 0xe5591
movq (%r12), %rdi
callq 0xe5591
andq $0x0, (%r12)
incq %r13
addq $0x10, %r12
jmp 0x8b603
movq 0x38(%r15), %rsi
testq %rsi, %rsi
je 0x8b69f
movq 0x18(%rsi), %rcx
pushq $0x1
popq %r8
movq %rbp, %rdi
xorl %edx, %edx
callq 0xec5fa
movq 0x38(%r15), %rdi
callq 0xe5591
andq $0x0, 0x38(%r15)
movq %rbp, %rdi
movq %r15, %rsi
callq 0xded32
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq