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

	d = de_malloc(c, sizeof(lctx));
	if(de_get_ext_option(c, "palm:le")) {
		d->is_le = 1;
	}
	if(de_get_ext_option(c, "palm:nocolortable")) {
		// Enables a hack, for files that apparently set the hasColorTable flag
		// incorrectly
		d->ignore_color_table_flag = 1;
	}
	do_palm_BitmapType(c, d, 0, c->infile->len);
	de_free(c, d);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x518, %rsp            # imm = 0x518
movq %rdi, %r15
pushq $0x8
popq %rsi
callq 0xdecaf
movq %rax, %r13
leaq 0x827da(%rip), %rsi     # 0x127ba7
movq %r15, %rdi
callq 0xdfa87
testq %rax, %rax
je 0xa53e2
movl $0x1, (%r13)
leaq 0x827c6(%rip), %rsi     # 0x127baf
movq %r15, %rdi
callq 0xdfa87
testq %rax, %rax
je 0xa53fe
movl $0x1, 0x4(%r13)
movq 0x18(%r15), %rax
movq 0x18(%rax), %rax
movq %rax, 0xa0(%rsp)
leaq -0x10(%rax), %r14
xorl %ebx, %ebx
movq %r13, 0x8(%rsp)
movq %r14, 0x20(%rsp)
movq 0x18(%r15), %rdi
leaq 0x8(%rbx), %rsi
callq 0xe3eb4
cmpb $-0x1, %al
jne 0xa5446
movq %r15, %rdi
leaq 0x82788(%rip), %rsi     # 0x127bc1
movl %ebx, %edx
xorl %eax, %eax
callq 0xde896
addq $0x10, %rbx
cmpq %r14, %rbx
jg 0xa66cc
movq %r15, %rdi
leaq 0x64(%rsp), %rsi
callq 0xdebae
movl $0x450, %esi            # imm = 0x450
movq %r15, %rdi
callq 0xdecaf
movq %rax, %r12
movq %r15, %rdi
leaq 0x8278a(%rip), %rsi     # 0x127c00
movq %rbx, %rdx
xorl %eax, %eax
callq 0xde896
movq %r15, %rdi
pushq $0x1
popq %rbp
movl %ebp, %esi
callq 0xdeba7
movq %r15, %rdi
leaq 0x7f19c(%rip), %rsi     # 0x124633
movq %rbx, %rdx
xorl %eax, %eax
callq 0xde896
movq %r15, %rdi
movl %ebp, %esi
callq 0xdeba7
movq 0x18(%r15), %rdi
leaq 0x9(%rbx), %rsi
callq 0xe3eb4
movb %al, 0x2c(%r12)
movzbl %al, %edx
movq %r15, %rdi
leaq 0x82754(%rip), %rsi     # 0x127c1e
xorl %eax, %eax
callq 0xde896
movzbl 0x2c(%r12), %edx
cmpl $0x4, %edx
jb 0xa54fb
movq %r15, %rdi
leaq 0x8272c(%rip), %rsi     # 0x127c12
xorl %eax, %eax
callq 0xdf2a5
movq $0x0, 0x40(%rsp)
jmp 0xa5bca
movq 0x18(%r15), %rdi
movl (%r13), %edx
movq %rbx, %rsi
callq 0xe41be
movq %rax, (%r12)
movq 0x18(%r15), %rdi
leaq 0x2(%rbx), %rsi
movl (%r13), %edx
callq 0xe41be
movq %rax, 0x8(%r12)
movq (%r12), %rsi
movq %r15, %rdi
movq %rax, %rdx
callq 0xdf038
movq 0x18(%r15), %rdi
leaq 0x4(%rbx), %rsi
movl (%r13), %edx
callq 0xe41b1
movq %r12, 0x10(%rsp)
movq %rax, 0x18(%r12)
movq %r15, %rdi
leaq 0x826d8(%rip), %rsi     # 0x127c31
movl %eax, %edx
xorl %eax, %eax
callq 0xde896
movq 0x18(%r15), %rdi
leaq 0x6(%rbx), %rsi
movl (%r13), %edx
callq 0xe41b1
movq %rax, %r14
movq %r15, %rdi
callq 0xeac74
movq %rax, %r12
testw %r14w, %r14w
jns 0xa5596
movq %r12, %rdi
leaq 0x70388(%rip), %rsi     # 0x115919
callq 0xeb884
btl $0xe, %r14d
jae 0xa55ac
movq %r12, %rdi
leaq 0x82697(%rip), %rsi     # 0x127c3e
callq 0xeb884
btl $0xd, %r14d
jae 0xa55c2
movq %r12, %rdi
leaq 0x8268f(%rip), %rsi     # 0x127c4c
callq 0xeb884
btl $0xa, %r14d
leaq 0x8268e(%rip), %rsi     # 0x127c5c
jb 0xa55dc
leaq 0x5e13a(%rip), %rsi     # 0x103711
testl %r14d, %r14d
jne 0xa55e4
movq %r12, %rdi
callq 0xeb884
movq %r12, %rdi
callq 0xeb7e4
movq %r15, %rdi
leaq 0x82672(%rip), %rsi     # 0x127c68
movl %r14d, %edx
movq %rax, %rcx
xorl %eax, %eax
callq 0xde896
movq %r12, %rdi
callq 0xeaf3c
btl $0xe, %r14d
movb $0x1, %r13b
jb 0xa5621
movl %r14d, 0x18(%rsp)
movq 0x10(%rsp), %r12
jmp 0xa5667
movq 0x8(%rsp), %rax
cmpl $0x0, 0x4(%rax)
leal -0x4000(%r14), %eax
cmovel %r14d, %eax
movl %eax, 0x18(%rsp)
btl $0xe, %eax
movq 0x10(%rsp), %r12
jae 0xa5667
cmpb $0x0, 0x2c(%r12)
je 0xa5651
xorl %r13d, %r13d
jmp 0xa567d
xorl %r13d, %r13d
movq %r15, %rdi
leaq 0x82624(%rip), %rsi     # 0x127c82
xorl %edx, %edx
xorl %eax, %eax
callq 0xdf05a
cmpb $0x0, 0x2c(%r12)
pushq $0x1
popq %rax
pushq $0x1
popq %r14
leaq 0x79ebd(%rip), %rcx     # 0x11f538
je 0xa56e2
movq 0x18(%r15), %rdi
leaq 0x8(%rbx), %rsi
callq 0xe3eb4
movzbl %al, %r14d
movq %r15, %rdi
leaq 0x8261b(%rip), %rsi     # 0x127cb3
movl %r14d, %edx
xorl %eax, %eax
callq 0xde896
movzbl 0x2c(%r12), %edx
cmpl $0x2, %edx
setae %al
cmpb $0x8, %r14b
setne %cl
orb %al, %cl
jne 0xa56cf
movq %r15, %rdi
leaq 0x82617(%rip), %rsi     # 0x127cda
pushq $0x8
popq %rcx
xorl %eax, %eax
callq 0xdf05a
jmp 0xa56d8
testl %r14d, %r14d
je 0xa59fc
movl %r14d, %eax
leaq 0x825df(%rip), %rcx     # 0x127cc1
movq %rax, 0x10(%r12)
movq %r15, %rdi
leaq 0x82619(%rip), %rsi     # 0x127d0a
movl %r14d, %edx
xorl %eax, %eax
callq 0xde896
movb 0x2c(%r12), %al
leal -0x1(%rax), %ecx
cmpb $0x1, %cl
ja 0xa5758
movq 0x18(%r15), %rdi
leaq 0xa(%rbx), %rsi
movq 0x8(%rsp), %rax
movl (%rax), %edx
callq 0xe41b1
movq %rax, %r14
leaq (,%rax,4), %rax
testq %r14, %r14
movq %rax, 0x40(%rsp)
je 0xa5763
leal (%rax,%rbx), %r9d
leaq 0xc0(%rsp), %r12
movq %r12, %rdi
pushq $0x50
popq %rsi
leaq 0x825d4(%rip), %rdx     # 0x127d1e
movl %ebx, %ecx
movl %r14d, %r8d
xorl %eax, %eax
callq 0xde40c
jmp 0xa5782
movq $0x0, 0x40(%rsp)
jmp 0xa57a1
xorl %r14d, %r14d
leaq 0xc0(%rsp), %r12
movq %r12, %rdi
pushq $0x50
popq %rsi
leaq 0x5df96(%rip), %rdx     # 0x103711
xorl %eax, %eax
callq 0xde40c
movq %r15, %rdi
leaq 0x825a2(%rip), %rsi     # 0x127d2e
movl %r14d, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0xde896
movq 0x10(%rsp), %rax
movb 0x2c(%rax), %al
cmpb $0x3, %al
jae 0xa57ad
xorl %r14d, %r14d
movb $0x10, %r12b
jmp 0xa5808
movq 0x18(%r15), %rdi
leaq 0xa(%rbx), %rsi
callq 0xe3eb4
movl %eax, %r12d
movzbl %al, %edx
xorl %r14d, %r14d
movq %r15, %rdi
leaq 0x74f59(%rip), %rsi     # 0x11a726
xorl %eax, %eax
callq 0xde896
movq 0x10(%rsp), %rbp
movb 0x2c(%rbp), %al
cmpb $0x3, %al
jne 0xa5808
movq 0x18(%r15), %rdi
leaq 0xb(%rbx), %rsi
callq 0xe3eb4
movzbl %al, %r14d
movq %r15, %rdi
leaq 0x65ff0(%rip), %rsi     # 0x10b7eb
movl %r14d, %edx
xorl %eax, %eax
callq 0xde896
movb 0x2c(%rbp), %al
btl $0xd, 0x18(%rsp)
jae 0xa5844
cmpb $0x2, %al
jne 0xa5844
movq 0x10(%rsp), %rbp
movl $0x1, 0x20(%rbp)
movq 0x18(%r15), %rdi
leaq 0xc(%rbx), %rsi
callq 0xe3eb4
movzbl %al, %edx
movl %edx, 0x24(%rbp)
movq %r15, %rdi
leaq 0x8250a(%rip), %rsi     # 0x127d47
xorl %eax, %eax
callq 0xde896
cmpw $0x0, 0x18(%rsp)
movl %r13d, 0x28(%rsp)
js 0xa5870
movq 0x10(%rsp), %rbp
movl $0x1, 0x38(%rbp)
leaq 0x805d7(%rip), %rcx     # 0x125e3b
leaq 0x5dea6(%rip), %rdx     # 0x103711
jmp 0xa58fb
movq 0x10(%rsp), %rbp
cmpb $0x2, 0x2c(%rbp)
leaq 0x805bb(%rip), %rcx     # 0x125e3b
jb 0xa58ed
movq 0x18(%r15), %rdi
leaq 0xd(%rbx), %rsi
callq 0xe3eb4
movzbl %al, %edx
movl %edx, 0x34(%rbp)
movq %r15, %rdi
leaq 0x824dd(%rip), %rsi     # 0x127d7c
xorl %eax, %eax
callq 0xde896
movl 0x34(%rbp), %eax
leaq 0x824ad(%rip), %rcx     # 0x127d5d
testl %eax, %eax
je 0xa58ed
cmpl $0x1, %eax
je 0xa5a0f
cmpl $0x2, %eax
jne 0xa5a2e
movq 0x10(%rsp), %rbp
cmpq $0x10, 0x10(%rbp)
jne 0xa5b8c
movl $0x5, 0x38(%rbp)
leaq 0x824b7(%rip), %rcx     # 0x127d9b
leaq 0x82671(%rip), %rdx     # 0x127f5c
jmp 0xa58fb
movl $0x2, 0x38(%rbp)
leaq 0x82658(%rip), %rdx     # 0x127f53
movzbl %r12b, %r13d
movq %r15, %rdi
leaq 0x824bd(%rip), %rsi     # 0x127dc6
xorl %eax, %eax
callq 0xde896
cmpb $0x3, 0x2c(%rbp)
movq %rbp, %r12
jne 0xa5a83
movq 0x18(%r15), %rdi
leaq 0xe(%rbx), %rsi
movq 0x8(%rsp), %rax
movl (%rax), %edx
callq 0xe41b1
movq %r15, %rdi
leaq 0x824ae(%rip), %rsi     # 0x127de9
movl %eax, %edx
xorl %eax, %eax
callq 0xde896
cmpb $0x3, 0x2c(%r12)
jne 0xa5a83
btl $0xd, 0x18(%rsp)
movb $0x1, %al
movq %r13, %rcx
jae 0xa59a3
cmpb $0x14, %cl
jb 0xa59a3
movl $0x1, 0x20(%r12)
movq 0x18(%r15), %rdi
leaq 0x10(%rbx), %rsi
movq 0x8(%rsp), %rax
movl (%rax), %edx
callq 0xe41cb
movl %eax, 0x24(%r12)
movq %r15, %rdi
leaq 0x82467(%rip), %rsi     # 0x127df5
movl %eax, %edx
xorl %eax, %eax
callq 0xde896
movq %r13, %rcx
cmpb $0x3, 0x2c(%r12)
sete %al
cmpb $0x18, %cl
jb 0xa5a83
testb %al, %al
je 0xa5a83
movq 0x18(%r15), %rdi
leaq 0x14(%rbx), %rsi
movq 0x8(%rsp), %rax
movl (%rax), %edx
callq 0xe41cb
testq %rax, %rax
movq %rax, 0x40(%rsp)
je 0xa5a4a
leal (%rax,%rbx), %r9d
movq %rax, %rbp
leaq 0xc0(%rsp), %r12
movq %r12, %rdi
pushq $0x50
popq %rsi
leaq 0x82421(%rip), %rdx     # 0x127e0f
movl %ebx, %ecx
movl %ebp, %r8d
xorl %eax, %eax
callq 0xde40c
jmp 0xa5a68
pushq $0x1
popq %rax
pushq $0x1
popq %r14
leaq 0x79b2e(%rip), %rcx     # 0x11f538
jmp 0xa56e2
movq 0x10(%rsp), %rbp
movl $0x3, 0x38(%rbp)
leaq 0x8233b(%rip), %rcx     # 0x127d5d
leaq 0x72679(%rip), %rdx     # 0x1180a2
jmp 0xa58fb
movq 0x10(%rsp), %rbp
andl $0x0, 0x38(%rbp)
leaq 0x8231f(%rip), %rcx     # 0x127d5d
leaq 0x7949c(%rip), %rdx     # 0x11eee1
jmp 0xa58fb
xorl %ebp, %ebp
leaq 0xc0(%rsp), %r12
movq %r12, %rdi
pushq $0x50
popq %rsi
leaq 0x5dcb0(%rip), %rdx     # 0x103711
xorl %eax, %eax
callq 0xde40c
movq %r15, %rdi
leaq 0x823aa(%rip), %rsi     # 0x127e1c
movl %ebp, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0xde896
movq 0x10(%rsp), %r12
movq (%r12), %rsi
movq 0x18(%r12), %rcx
movq 0x10(%r12), %rax
imulq %rsi, %rax
addq $0x7, %rax
cqto
pushq $0x8
popq %rdi
idivq %rdi
cmpq %rax, %rcx
jge 0xa5ac0
movq %r15, %rdi
leaq 0x82386(%rip), %rsi     # 0x127e36
movl %ecx, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0xdf2a5
jmp 0xa5bc0
movq 0x8(%r12), %rdx
movq %r15, %rdi
callq 0xe6be1
testl %eax, %eax
je 0xa5bc0
movq %r15, %rdi
pushq $-0x1
popq %rsi
callq 0xdeba7
btl $0xa, 0x18(%rsp)
jae 0xa5b0f
movl $0x1, 0x28(%r12)
movzbl 0x2c(%r12), %eax
cmpl $0x1, %eax
ja 0xa5b14
movq %r15, %rdi
leaq 0x8237b(%rip), %rsi     # 0x127e81
movl %eax, %edx
xorl %eax, %eax
callq 0xdf05a
movb 0x2c(%r12), %al
cmpb $0x3, %al
jb 0xa5b45
cmpl $0x1, %r14d
ja 0xa5bac
movq 0x10(%r12), %rdx
testl %r14d, %r14d
je 0xa5ba6
cmpq $0x10, %rdx
jne 0xa5bac
movl $0x1, 0x28(%r12)
movq 0x20(%rsp), %r14
jmp 0xa5c30
movq 0x10(%r12), %rdx
cmpb $0x2, %al
jne 0xa5bfc
cmpq $0x10, %rdx
setne %al
testw $0x4400, 0x18(%rsp)     # imm = 0x4400
setne %cl
orb %al, %cl
jne 0xa5bfc
movl $0x1, 0x28(%r12)
movq %r15, %rdi
leaq 0x8235c(%rip), %rsi     # 0x127eda
xorl %eax, %eax
callq 0xdf05a
movq 0x10(%r12), %rdx
jmp 0xa5bfc
movl $0x4, 0x38(%rbp)
leaq 0x82201(%rip), %rcx     # 0x127d9b
leaq 0x75ec8(%rip), %rdx     # 0x11ba69
jmp 0xa58fb
cmpq $0x8, %rdx
jle 0xa5bfc
movq %r15, %rdi
leaq 0x822f8(%rip), %rsi     # 0x127eae
movl %r14d, %edx
xorl %eax, %eax
callq 0xdf2a5
movq 0x20(%rsp), %r14
movq 0x8(%rsp), %r13
movl 0x64(%rsp), %esi
movq %r15, %rdi
callq 0xdebb7
testq %r12, %r12
je 0xa5be6
movq %r15, %rdi
movq %r12, %rsi
callq 0xded32
movq 0x40(%rsp), %rax
addq %rax, %rbx
testq %rax, %rax
jg 0xa541e
jmp 0xa66dd
cmpq $0x10, %rdx
ja 0xa5d03
movl $0x10116, %eax          # imm = 0x10116
btq %rdx, %rax
jae 0xa5d03
cmpl $0x0, 0x28(%r12)
je 0xa5cde
cmpq $0x10, %rdx
movq 0x20(%rsp), %r14
jne 0xa5ced
movq 0xa0(%rsp), %rax
subq %rbx, %rax
cmpq %r13, %rax
jle 0xa5bc5
movq %r13, %rcx
addq %rbx, %rcx
cmpb $0x0, 0x28(%rsp)
movq %rbx, 0x38(%rsp)
jne 0xa5dd3
movq %r15, %rdi
leaq 0x6cf44(%rip), %rsi     # 0x112ba4
movq %rcx, %rbx
movl %ebx, %edx
xorl %eax, %eax
callq 0xde896
movq %r15, %rdi
pushq $0x1
popq %rsi
callq 0xdeba7
movq 0x18(%r15), %rdi
movq 0x8(%rsp), %rax
movl (%rax), %edx
movq %rbx, %rsi
callq 0xe41b1
movq %rax, %r14
cmpq $0x101, %rax            # imm = 0x101
movq %rbx, 0x30(%rsp)
jl 0xa5d12
cmpq $0x1000, %r14           # imm = 0x1000
je 0xa5cb4
movq %r15, %rdi
leaq 0x822ba(%rip), %rsi     # 0x127f67
xorl %eax, %eax
callq 0xdf05a
movq %r15, %rdi
leaq 0x822e8(%rip), %rsi     # 0x127fa6
movl %r14d, %edx
movl $0x100, %ecx            # imm = 0x100
xorl %eax, %eax
callq 0xde896
movq 0x30(%rsp), %rax
leaq 0x2(%rax), %r13
movl $0x100, %r14d           # imm = 0x100
jmp 0xa5d2f
cmpq $0x9, %rdx
movq 0x20(%rsp), %r14
jb 0xa5c30
movq %r15, %rdi
leaq 0x82238(%rip), %rsi     # 0x127f2f
xorl %eax, %eax
callq 0xdf2a5
jmp 0xa5bc5
movq %r15, %rdi
leaq 0x60aca(%rip), %rsi     # 0x1067d7
jmp 0xa5bb9
movq %r15, %rdi
leaq 0x63cd2(%rip), %rsi     # 0x1099ee
movl %r14d, %edx
xorl %eax, %eax
callq 0xde896
leaq 0x2(%rbx), %r13
testq %r14, %r14
jle 0xa5d38
movl $0x1, 0x30(%r12)
xorl %r12d, %r12d
cmpq %r14, %r12
jge 0xa5dac
cmpq $0xff, %r12
ja 0xa5dac
movq 0x18(%r15), %rdi
movq %r13, %rsi
callq 0xe3eb4
movzbl %al, %ebp
leaq 0x110(%rsp), %rbx
movq %rbx, %rdi
pushq $0x20
popq %rsi
leaq 0x82261(%rip), %rdx     # 0x127fce
movl %ebp, %ecx
xorl %eax, %eax
callq 0xde40c
movq 0x18(%r15), %rdi
leaq 0x1(%r13), %rsi
xorl %edx, %edx
callq 0xe45a4
movq 0x10(%rsp), %rcx
movl %eax, 0x50(%rcx,%rbp,4)
movq %r15, %rdi
movq %r12, %rsi
movl %eax, %edx
xorl %ecx, %ecx
movq %rbx, %r8
xorl %r9d, %r9d
callq 0xdf153
incq %r12
addq $0x4, %r13
jmp 0xa5d3b
movq %r15, %rdi
pushq $-0x1
popq %rsi
callq 0xdeba7
movq 0x30(%rsp), %rcx
leaq (%rcx,%r14,4), %rcx
addq $0x2, %rcx
movq 0x20(%rsp), %r14
movq 0x38(%rsp), %rbx
movq 0x10(%rsp), %r12
movq 0x8(%rsp), %r13
btl $0xa, 0x18(%rsp)
jae 0xa5f11
cmpb $0x2, 0x2c(%r12)
ja 0xa5f11
movq %r15, %rdi
leaq 0x821dc(%rip), %rsi     # 0x127fd6
movq %rcx, %rbp
movl %ebp, %edx
xorl %eax, %eax
callq 0xde896
movq %r15, %rdi
pushq $0x1
popq %rsi
callq 0xdeba7
movq 0x18(%r15), %rdi
movq %rbp, %rsi
callq 0xe3eb4
movl %eax, %r13d
movq 0x18(%r15), %rdi
leaq 0x1(%rbp), %rsi
callq 0xe3eb4
movl %eax, %r14d
movq 0x18(%r15), %rdi
leaq 0x2(%rbp), %rsi
callq 0xe3eb4
movzbl %r13b, %edx
movzbl %r14b, %ecx
movzbl %al, %r8d
movq %r15, %rdi
leaq 0x821a8(%rip), %rsi     # 0x127ffb
xorl %eax, %eax
callq 0xde896
movq 0x18(%r15), %rdi
leaq 0x4(%rbp), %rsi
callq 0xe3eb4
movb %al, 0x18(%rsp)
movq 0x18(%r15), %rdi
leaq 0x5(%rbp), %rsi
callq 0xe3eb4
movl %eax, %r14d
movq 0x18(%r15), %rdi
leaq 0x6(%rbp), %rsi
callq 0xe3eb4
movl %eax, %r13d
movq 0x18(%r15), %rdi
movq %rbp, 0x30(%rsp)
leaq 0x7(%rbp), %rsi
callq 0xe3eb4
movq %r12, %rbp
movzbl %r14b, %r12d
movzbl %r13b, %r13d
movzbl %al, %r14d
movzbl 0x18(%rsp), %r9d
movq %r15, %rdi
leaq 0x82158(%rip), %rsi     # 0x128014
movl %r12d, %edx
movl %r13d, %ecx
movl %r14d, %r8d
xorl %eax, %eax
callq 0xde896
cmpl $0x0, 0x20(%rbp)
je 0xa5ef0
shll $0x8, %r12d
andl $0xf800, %r12d          # imm = 0xF800
andl $-0x4, %r13d
leal (%r12,%r13,8), %eax
shrl $0x3, %r14d
orl %eax, %r14d
movl %r14d, 0x24(%rbp)
movq %r15, %rdi
pushq $-0x1
popq %rsi
callq 0xdeba7
movq 0x30(%rsp), %rcx
addq $0x8, %rcx
movq 0x20(%rsp), %r14
movq %rbp, %r12
movq 0x8(%rsp), %r13
cmpq 0xa0(%rsp), %rcx
jge 0xa5f2a
movq 0x40(%rsp), %rax
testq %rax, %rax
jle 0xa5f40
addq %rbx, %rax
jmp 0xa5f48
movq %r15, %rdi
leaq 0x5fdc0(%rip), %rsi     # 0x105cf4
xorl %eax, %eax
callq 0xdf2a5
jmp 0xa5bca
movq 0x18(%r15), %rax
movq 0x18(%rax), %rax
movq %rax, 0x40(%r12)
movq %r15, %rdi
leaq 0x6cf9e(%rip), %rsi     # 0x112ef5
movq %rcx, %rbp
movl %ebp, %edx
xorl %eax, %eax
callq 0xde896
movq %r15, %rdi
pushq $0x1
popq %rsi
callq 0xdeba7
movq 0x18(%r15), %r13
movq 0x40(%r12), %rdx
movq 0x8(%r12), %rax
imulq 0x18(%r12), %rax
subq %rbp, %rdx
movq %rax, 0x48(%r12)
cmpl $0x1, 0x38(%r12)
jne 0xa5faf
cmpq %rdx, %rax
jle 0xa5fd2
movq %r15, %rdi
leaq 0x82097(%rip), %rsi     # 0x128038
xorl %eax, %eax
callq 0xdf2a5
xorl %ebp, %ebp
jmp 0xa654a
movq %rdx, 0x48(%rsp)
cmpb $0x3, 0x2c(%r12)
movq 0x8(%rsp), %rax
movl (%rax), %edx
movq %r13, %rdi
movq %rbp, %rsi
jb 0xa5fe5
callq 0xe41cb
pushq $0x4
jmp 0xa5fec
movq %rbp, %rsi
movq %r13, %rdi
callq 0xe6248
movq %rax, %rbp
jmp 0xa636b
callq 0xe41b1
pushq $0x2
popq %r14
movq %r15, %rdi
leaq 0x8205a(%rip), %rsi     # 0x128052
movl %eax, %edx
xorl %eax, %eax
callq 0xde896
movq 0x48(%rsp), %rax
subq %r14, %rax
js 0xa61d3
addq %rbp, %r14
movq 0x48(%r12), %rsi
movq %r15, %rdi
movq %rax, 0x48(%rsp)
pushq $0x1
popq %rdx
callq 0xe59cd
movq %rax, %rbp
movq %r15, %rdi
leaq 0x80(%rsp), %rsi
leaq 0x68(%rsp), %rdx
leaq 0x110(%rsp), %rcx
callq 0xee7ee
movq %r13, 0x80(%rsp)
movq %r14, 0x88(%rsp)
movq 0x48(%rsp), %rax
movq %rax, 0x90(%rsp)
movq %rbp, 0x68(%rsp)
movq 0x48(%r12), %rcx
movq %rcx, 0x78(%rsp)
movb $0x1, 0x70(%rsp)
movl 0x38(%r12), %eax
addl $-0x2, %eax
cmpl $0x3, %eax
ja 0xa652f
leaq 0x81ab0(%rip), %rdx     # 0x127b40
movslq (%rdx,%rax,4), %rax
addq %rdx, %rax
movq 0x8(%rsp), %r13
jmpq *%rax
movq %rbp, 0xa8(%rsp)
movq 0x18(%r12), %rax
addq $0x7, %rax
cqto
pushq $0x8
popq %rsi
idivq %rsi
movq %rax, %rdx
testq %rax, %rax
movl $0x0, %eax
cmovleq %rax, %rdx
movq %rdx, 0xb8(%rsp)
xorl %eax, %eax
xorl %ebp, %ebp
movq %r15, 0x58(%rsp)
cmpq 0x8(%r12), %rax
jge 0xa62b6
cmpq %rcx, %rbp
jge 0xa62b6
movq %rax, 0xb0(%rsp)
xorl %eax, %eax
xorl %r13d, %r13d
cmpq 0xb8(%rsp), %rax
je 0xa61be
movq %rax, 0x18(%rsp)
movq 0x80(%rsp), %rdi
leaq 0x1(%r14), %r12
movq %r14, %rsi
callq 0xe3eb4
movzbl %al, %ebx
leaq 0x8(%rbp), %rax
movq %rax, 0x28(%rsp)
leaq 0x8(%r13), %rax
movq %rax, 0x30(%rsp)
pushq $0x7
popq %r15
movq %r12, %r14
movq 0x10(%rsp), %r12
cmpl $-0x1, %r15d
je 0xa619d
movq 0x18(%r12), %rax
cmpq %rax, %r13
jge 0xa61a7
btl %r15d, %ebx
jae 0xa6174
movq 0x80(%rsp), %rdi
leaq 0x1(%r14), %r12
movq %r14, %rsi
callq 0xe3eb4
movq %r12, %r14
movq 0x10(%rsp), %r12
jmp 0xa6185
movq 0x68(%rsp), %rdi
movq 0x18(%rdi), %rsi
subq %rax, %rsi
callq 0xe3eb4
movq 0x68(%rsp), %rdi
movzbl %al, %esi
callq 0xe5bc5
incq %r13
incq %rbp
decl %r15d
jmp 0xa6140
movq 0x28(%rsp), %rbp
movq 0x30(%rsp), %r13
movq 0x18(%rsp), %rax
incq %rax
movq 0x58(%rsp), %r15
movq 0x38(%rsp), %rbx
jmp 0xa60f8
movq 0xb0(%rsp), %rax
incq %rax
movq 0x78(%rsp), %rcx
jmp 0xa60d7
xorl %ebp, %ebp
jmp 0xa6545
movq %rbp, %rdi
callq 0xe589c
movq %r15, %rdi
leaq 0x80(%rsp), %rsi
leaq 0x68(%rsp), %rdx
leaq 0x110(%rsp), %rcx
xorl %r8d, %r8d
jmp 0xa622c
movl $0x2, 0x50(%rsp)
movq %rbp, %rdi
callq 0xe589c
movq %r15, %rdi
leaq 0x80(%rsp), %rsi
leaq 0x68(%rsp), %rdx
leaq 0x110(%rsp), %rcx
leaq 0x50(%rsp), %r8
callq 0xeed4f
jmp 0xa62ff
movq %rbp, %rdi
callq 0xe589c
movq 0x88(%rsp), %rax
movq %rax, 0x50(%rsp)
movq %rax, %rcx
xorl %ebx, %ebx
movq 0x90(%rsp), %rdx
addq %rax, %rdx
addq $-0x2, %rdx
cmpq %rdx, %rcx
jg 0xa62dd
cmpq 0x78(%rsp), %rbx
jg 0xa62dd
movq 0x80(%rsp), %rdi
leaq 0x50(%rsp), %r12
movq %r12, %rsi
callq 0xe3f2a
movzbl %al, %r14d
movq 0x80(%rsp), %rdi
movq %r12, %rsi
callq 0xe3f2a
movq 0x68(%rsp), %rdi
movzbl %al, %esi
movq %r14, %rdx
callq 0xe5e40
addq %r14, %rbx
movq 0x50(%rsp), %rcx
movq 0x88(%rsp), %rax
jmp 0xa6250
subq 0x88(%rsp), %r14
movq %r14, 0x118(%rsp)
movb $0x1, 0x114(%rsp)
movq 0x8(%rsp), %r13
movq 0xa8(%rsp), %rbp
jmp 0xa62ff
subq %rax, %rcx
movq %rcx, 0x118(%rsp)
movb $0x1, 0x114(%rsp)
movq 0x8(%rsp), %r13
movq 0x38(%rsp), %rbx
movq 0x10(%rsp), %r12
movq %rbp, %rdi
callq 0xe58e8
cmpl $0x0, 0x110(%rsp)
movq 0x20(%rsp), %r14
je 0xa633f
movq %r15, %rdi
leaq 0x110(%rsp), %rsi
callq 0xee7bc
movq %r15, %rdi
leaq 0x619cf(%rip), %rsi     # 0x107cff
movq %rax, %rdx
xorl %eax, %eax
callq 0xdf2a5
jmp 0xa65e3
cmpb $0x0, 0x114(%rsp)
movq 0x48(%rsp), %rdx
je 0xa6356
movq 0x118(%rsp), %rdx
movq 0x18(%rbp), %rcx
movq %r15, %rdi
leaq 0x67357(%rip), %rsi     # 0x10d6bb
xorl %eax, %eax
callq 0xde896
movl $0x400, %edx            # imm = 0x400
leaq 0x110(%rsp), %rdi
xorl %esi, %esi
callq 0x18140
movq 0x10(%r12), %rcx
movb $0x1, %bl
cmpq $0x4, %rcx
jg 0xa63a6
cmpl $0x0, 0x30(%r12)
setne %bl
cmpq $0x1, %rcx
setne %al
orb %bl, %al
testb $0x1, %al
je 0xa64f4
movq 0x18(%r12), %rax
shlq $0x3, %rax
cqto
idivq %rcx
movq %rax, %r13
movq (%r12), %rsi
cmpq %rsi, %rax
cmovleq %rsi, %r13
movq 0x8(%r12), %rcx
movzbl %bl, %eax
andl $0x1, %eax
xorl %edx, %edx
cmpl $0x0, 0x20(%r12)
setne %dl
leal (%rdx,%rax,2), %r8d
incl %r8d
movq %r15, %rdi
movq %r13, %rdx
callq 0xe746f
movq %rax, %rdi
movq 0x10(%r12), %rcx
cmpq $0x10, %rcx
jne 0xa64bf
movq %rdi, 0x28(%rsp)
testq %r13, %r13
movl $0x0, %eax
cmovleq %rax, %r13
xorl %ecx, %ecx
movq %r15, 0x58(%rsp)
movq %r13, 0x30(%rsp)
movq 0x10(%rsp), %rax
cmpq 0x8(%rax), %rcx
jge 0xa65b5
movq %rcx, 0x18(%rsp)
xorl %ebx, %ebx
xorl %r14d, %r14d
cmpq %r14, %r13
je 0xa64b2
movq 0x10(%rsp), %r15
movq 0x18(%r15), %rsi
movq 0x18(%rsp), %r13
imulq %r13, %rsi
addq %rbx, %rsi
movq %rbp, %r12
movq %rbp, %rdi
callq 0xe3f46
movq %rax, %rbp
movl %ebp, %edi
callq 0xe1da6
movq 0x28(%rsp), %rdi
movq %r14, %rsi
movq %r13, %rdx
movl %eax, %ecx
callq 0xe7287
cmpl $0x0, 0x20(%r15)
je 0xa649c
movq 0x10(%rsp), %rax
cmpl %ebp, 0x24(%rax)
jne 0xa649c
movq 0x28(%rsp), %rdi
movq %r14, %rsi
movq 0x18(%rsp), %rdx
pushq $0x3
popq %rcx
xorl %r8d, %r8d
callq 0xe712a
incq %r14
addq $0x2, %rbx
movq 0x58(%rsp), %r15
movq %r12, %rbp
movq 0x30(%rsp), %r13
jmp 0xa6432
movq 0x18(%rsp), %rcx
incq %rcx
jmp 0xa6419
testb $0x1, %bl
je 0xa651a
movq %rdi, 0x28(%rsp)
cmpl $0x0, 0x30(%r12)
movb $0x12, %r9b
movb $0x6, %r10b
je 0xa65fb
leaq 0x50(%r12), %rsi
movl $0x400, %edx            # imm = 0x400
leaq 0x110(%rsp), %rdi
callq 0x181e0
jmp 0xa656f
movq (%r12), %rdx
movq 0x8(%r12), %rcx
movq 0x18(%r12), %r8
movq %rbp, %rdi
xorl %esi, %esi
pushq $0x1
popq %r9
pushq $0x0
pushq $0x0
callq 0xe78af
popq %rax
popq %rcx
xorl %edi, %edi
jmp 0xa6520
cmpq $0x8, %rcx
jle 0xa6554
movq 0x8(%rsp), %r13
movq 0x38(%rsp), %rbx
jmp 0xa65de
movl 0x34(%r12), %edx
movq %r15, %rdi
leaq 0x645cd(%rip), %rsi     # 0x10ab0b
xorl %eax, %eax
callq 0xdf2a5
movq 0x20(%rsp), %r14
movq 0x8(%rsp), %r13
jmp 0xa65e3
movq %rdi, 0x28(%rsp)
pushq $0x1
popq %rsi
shlq %cl, %rsi
leaq 0x110(%rsp), %rdi
pushq $0x1
popq %rdx
callq 0xe87a8
cmpl $0x0, 0x20(%r12)
je 0xa658c
movl 0x24(%r12), %eax
cmpq $0xff, %rax
ja 0xa658c
movb $0x0, 0x113(%rsp,%rax,4)
movq 0x10(%r12), %rdx
movq 0x18(%r12), %rcx
subq $0x8, %rsp
movq %rbp, %rdi
xorl %esi, %esi
leaq 0x118(%rsp), %r8
movq 0x30(%rsp), %r9
pushq $0x0
callq 0xe7cbc
popq %rax
popq %rcx
movq 0x28(%rsp), %rbx
movq %rbx, %rdi
xorl %esi, %esi
pushq $0x2
popq %rdx
callq 0xe70b7
movq %rbx, %rdi
movq 0x8(%rsp), %r13
movq 0x20(%rsp), %r14
movq 0x38(%rsp), %rbx
movq 0x10(%rsp), %r12
callq 0xe7084
movq %rbp, %rdi
callq 0xe5591
movq %r15, %rdi
pushq $-0x1
popq %rsi
callq 0xdeba7
jmp 0xa5bca
xorl %ecx, %ecx
pushq $0x6
popq %r11
pushq $0x12
popq %rbx
leaq 0x81a54(%rip), %r14     # 0x12805f
movzbl %cl, %eax
divb %r9b
movl %eax, %esi
movq %rcx, %rax
xorl %edx, %edx
divq %r11
cmpq $0xd7, %rcx
je 0xa668a
movzbl %sil, %edx
imull $-0x12, %edx, %edx
movzbl %dl, %edi
imulq $-0x6, %rax, %rsi
xorl %r8d, %r8d
movq %rcx, %rax
subq $0x6c, %rax
cmovbl %ecx, %eax
setae %r8b
xorl %edx, %edx
divl %ebx
movl %eax, %edx
addq %rcx, %rsi
movzbl (%r14,%rsi), %esi
leaq (%r8,%r8,2), %r8
addl %ecx, %edi
movzbl %dil, %eax
divb %r10b
movzbl %al, %eax
addq %r8, %rax
movzbl (%r14,%rax), %eax
movzbl (%rdx,%r14), %edx
shll $0x10, %edx
shll $0x8, %esi
orl %edx, %esi
orl %eax, %esi
orl $0xff000000, %esi       # imm = 0xFF000000
movl %esi, 0x110(%rsp,%rcx,4)
incq %rcx
jmp 0xa660b
xorl %eax, %eax
leaq 0x814bd(%rip), %rdx     # 0x127b50
movl $0xff000000, %esi       # imm = 0xFF000000
cmpq $0x3c, %rax
je 0xa66b0
movl (%rax,%rdx), %ecx
orl %esi, %ecx
movl %ecx, 0x46c(%rsp,%rax)
addq $0x4, %rax
jmp 0xa6698
xorl %eax, %eax
cmpq $0x1a, %rax
je 0xa656f
movl $0xff000000, 0x4a8(%rsp,%rax,4) # imm = 0xFF000000
incq %rax
jmp 0xa66b2
leaq 0x81513(%rip), %rsi     # 0x127be6
movq %r15, %rdi
xorl %eax, %eax
callq 0xdf2a5
movq %r15, %rdi
movq %r13, %rsi
callq 0xded32
addq $0x518, %rsp            # imm = 0x518
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq