// File: /workspace/github_c_makefile_star2_O1/jsummers[P]deark/modules/pkfont.c
// Function: de_run_pkfont
static void de_run_pkfont(deark *c, de_module_params *mparams)
{
	lctx *d = NULL;
	i64 pos;
	i64 bytesused;
	i64 i;
	u8 flagbyte;
	i64 chars_in_file = 0;

	d = de_malloc(c, sizeof(lctx));
	d->font = de_create_bitmap_font(c);
	d->font->has_nonunicode_codepoints = 1;

	pos = 0;
	while(pos < c->infile->len) {
		flagbyte = de_getbyte(pos);
		de_dbg(c, "flag byte at %d: 0x%02x (%s)", (int)pos, (unsigned int)flagbyte,
			get_flagbyte_name(flagbyte));
		bytesused = 0;

		if(flagbyte >= 240) {
			i64 dpos = 0;
			i64 dlen = 0;

			switch(flagbyte) {
			case PK_XXX1:
				dlen = (i64)de_getbyte(pos+1);
				dpos = pos + 2;
				bytesused = 2 + dlen;
				break;
			case PK_XXX2:
				dlen = de_getu16be(pos+1);
				dpos = pos + 3;
				bytesused = 3 + dlen;
				break;
			case PK_XXX3:
				dlen = dbuf_getint_ext(c->infile, pos+1, 3, 0, 0);
				dpos = pos + 4;
				bytesused = 4 + dlen;
				break;
			case PK_XXX4:
				dlen = de_getu32be(pos+1);
				dpos = pos + 5;
				bytesused = 5 + dlen;
				break;
			case PK_YYY:
				dlen = 4;
				dpos = pos + 1;
				bytesused = 5;
				break;
			case 245: // postamble
				goto done_reading;
			case 246: // no-op
				bytesused = 1;
				break;
			case 247:
				do_preamble(c, d, pos, &bytesused);
				break;
			default:
				de_err(c, "Unsupported command: %d at %d", (int)flagbyte, (int)pos);
				goto done;
			}

			if(dlen>0 && flagbyte>=240 && flagbyte<=244) {
				de_dbg_indent(c, 1);
				de_dbg_hexdump(c, c->infile, dpos, dlen, 256, NULL, 0x1);
				de_dbg_indent(c, -1);
			}
		}
		else {
			chars_in_file++;
			if(!do_char_descr(c, d, pos, &bytesused)) goto done;
		}

		if(bytesused<1) break;
		pos += bytesused;
	}

done_reading:
	de_dbg(c, "number of characters: %d (%d processed)", (int)chars_in_file,
		(int)d->font->num_chars);

	scan_and_fixup_font(c, d);
	de_font_bitmap_font_to_image(c, d->font, NULL, 0);

done:
	if(d->font) {
		if(d->font->char_array) {
			for(i=0; i<d->font->num_chars; i++) {
				de_free(c, d->font->char_array[i].bitmap);
			}
			de_free(c, d->font->char_array);
		}
		de_destroy_bitmap_font(c, d->font);
	}
	de_free(c, d);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x88, %rsp
movq %rdi, %r12
movl $0x10, %esi
callq 0xe969b
movq %rax, %r15
movq %r12, %rdi
callq 0xf57ec
movq %rax, (%r15)
movb $0x1, 0x10(%rax)
movq 0x18(%r12), %rdi
cmpq $0x0, 0x18(%rdi)
jle 0xb534b
leaq 0x8287f(%rip), %r13     # 0x136f26
movl $0x6, %eax
movl %eax, %eax
movq %rax, 0x50(%rsp)
movq $0x0, 0x60(%rsp)
xorl %r14d, %r14d
movq %r12, 0x18(%rsp)
movq %r15, 0x40(%rsp)
movq %r14, 0x10(%rsp)
movq %r14, %rsi
callq 0xef0d5
movl %eax, %r15d
movq %r13, %r8
cmpb $-0x10, %al
jb 0xb4700
leal 0x10(%r15), %eax
leaq 0x7777e(%rip), %r8      # 0x12be69
cmpb $0x7, %al
ja 0xb4700
movzbl %al, %eax
leaq 0x8279b(%rip), %rcx     # 0x136e94
movslq (%rcx,%rax,4), %r8
addq %rcx, %r8
movzbl %r15b, %r14d
movq %r12, %rdi
leaq 0x827b5(%rip), %rsi     # 0x136ec3
movq %r12, %rbx
movq 0x10(%rsp), %r12
movl %r12d, %edx
movl %r14d, %ecx
xorl %eax, %eax
callq 0xe9226
cmpb $-0x10, %r15b
jb 0xb4770
leal -0xf0(%r14), %eax
cmpl $0x7, %eax
ja 0xb5246
leaq 0x82734(%rip), %rcx     # 0x136e74
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
movq %rbx, %r12
jmpq *%rax
movq 0x18(%r12), %rdi
movq 0x10(%rsp), %rbx
leaq 0x1(%rbx), %rsi
callq 0xef0d5
movzbl %al, %r14d
leaq 0x2(%rbx), %r12
leaq 0x2(%r14), %rbp
jmp 0xb51b7
movl $0x68, %esi
movq %rbx, %rdi
callq 0xe969b
movq %rax, %r14
movq %rbx, %rdi
leaq 0x8282c(%rip), %rsi     # 0x136fb6
movl %r12d, %edx
xorl %eax, %eax
callq 0xe9226
movq %rbx, %rdi
movl $0x1, %esi
callq 0xe9585
movq 0x18(%rbx), %rdi
movq %r12, %rsi
callq 0xef0d5
movl %eax, %ebp
shrb $0x4, %al
movzbl %al, %edx
movq %rdx, 0x30(%r14)
movq %rbx, %rdi
leaq 0x8280e(%rip), %rsi     # 0x136fd1
xorl %eax, %eax
callq 0xe9226
movzbl %bpl, %r15d
movq %r14, %r13
movl %r15d, %eax
andb $0x7, %al
movl %r15d, %ecx
shrl $0x3, %ecx
andl $0x1, %ecx
movl %ecx, 0x38(%r14)
cmpb $0x3, %al
movq %r12, %r14
movq %r13, 0x30(%rsp)
jbe 0xb4822
movzbl %al, %edx
cmpl $0x4, %edx
jb 0xb4800
cmpl $0x7, %edx
jne 0xb529e
movq %rbx, %r12
movq %rbx, %rdi
leaq 0x827ce(%rip), %rsi     # 0x136fdb
xorl %eax, %eax
callq 0xe9df7
movb $0x1, %bl
xorl %ebp, %ebp
movq 0x40(%rsp), %r15
jmp 0xb4b26
movq 0x18(%rbx), %rdi
leaq 0x1(%r14), %rsi
callq 0xef0d5
andl $0x3, %r15d
shll $0x8, %r15d
movzbl %al, %eax
orl %r15d, %eax
movq %rax, %r15
movq 0x18(%rbx), %rdi
leaq 0x2(%r14), %rsi
callq 0xef0d5
movzbl %al, %eax
movl %eax, (%r13)
movq 0x18(%rbx), %rdi
leaq 0x3(%r14), %rsi
movl $0x3, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xef6f2
movq %rax, 0x10(%r13)
movq 0x18(%rbx), %rdi
leaq 0x6(%r14), %rsi
callq 0xef0d5
movzbl %al, %eax
movq %rax, 0x18(%r13)
movq 0x18(%rbx), %rdi
leaq 0x7(%r14), %rsi
callq 0xef0d5
movzbl %al, %eax
movl %eax, 0x4(%r13)
movq 0x18(%rbx), %rdi
leaq 0x8(%r14), %rsi
callq 0xef0d5
movzbl %al, %eax
movl %eax, 0x8(%r13)
movq 0x18(%rbx), %rdi
leaq 0x9(%r14), %rsi
callq 0xef135
movq %rax, 0x20(%r13)
movq 0x18(%rbx), %rdi
leaq 0xa(%r14), %rsi
callq 0xef135
movq %rax, %r10
movl $0x3, %ebp
movl $0xb, %eax
movq %rbx, %r12
movq %r10, 0x28(%r13)
addq %r14, %rax
movq %rax, 0x40(%r13)
movl 0x10(%r13), %r8d
movl 0x18(%r13), %r9d
movl (%r13), %ecx
movl 0x4(%r13), %r11d
movl 0x8(%r13), %ebx
movl 0x20(%r13), %r14d
movq %r12, %rdi
leaq 0x82700(%rip), %rsi     # 0x137006
movl %r15d, %edx
xorl %eax, %eax
pushq %r10
pushq %r14
pushq %rbx
pushq %r11
callq 0xe9226
addq $0x20, %rsp
movq 0x30(%r13), %rax
movq 0x40(%r13), %rcx
addq %r15, %rbp
movq 0x10(%rsp), %rdx
leaq (%rdx,%rbp), %r8
subq %rcx, %r8
movq %r8, 0x48(%r13)
cmpq $0xe, %rax
leaq 0x9028f(%rip), %rdx     # 0x144bd0
leaq 0x5ecd7(%rip), %rax     # 0x11361f
cmoveq %rax, %rdx
movq %r12, %rdi
leaq 0x826e3(%rip), %rsi     # 0x137039
xorl %eax, %eax
callq 0xe9226
movq %r12, %rdi
movl $0x1, %esi
callq 0xe9585
movslq 0x4(%r13), %rax
movslq 0x8(%r13), %rcx
imulq %rax, %rcx
testq %rcx, %rcx
movq %rbp, 0x78(%rsp)
jle 0xb4aea
movq %rcx, 0x58(%rsp)
movq 0x40(%rsp), %rbx
movq (%rbx), %rax
movq 0x8(%rbx), %rdx
movq 0x18(%rax), %rcx
cmpq %rdx, %rcx
jl 0xb49d9
leaq 0x1(%rcx), %r14
leaq (%rdx,%rdx), %rsi
cmpq %rcx, %rsi
cmovgq %rsi, %r14
cmpq $0x26, %r14
movl $0x25, %ecx
cmovlq %rcx, %r14
movq 0x20(%rax), %rsi
movl $0x28, %ecx
movq %r12, %rdi
movq %r14, %r8
callq 0xea2ba
movq (%rbx), %rcx
movq %rax, 0x20(%rcx)
movq %r14, 0x8(%rbx)
movq %r12, %r13
movq (%rbx), %rax
movq 0x18(%rax), %rcx
movq 0x20(%rax), %rdx
leaq 0x1(%rcx), %rsi
movq %rsi, 0x18(%rax)
leaq (%rcx,%rcx,4), %rax
leaq (%rdx,%rax,8), %rbp
movq 0x30(%rsp), %rcx
movl 0x4(%rcx), %eax
movl %eax, 0x8(%rbp)
movslq 0x8(%rcx), %rsi
movl %esi, 0xc(%rbp)
movq 0x20(%rcx), %rcx
cmpq $-0x80, %rcx
jb 0xb4a19
negl %ecx
movw %cx, 0x14(%rbp)
xorl %ecx, %ecx
movq 0x30(%rsp), %r12
subl 0x28(%r12), %ecx
movl %ecx, 0x10(%rbp)
leal 0x7(%rax), %ecx
addl $0xe, %eax
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x3, %eax
cltq
movq %rax, 0x18(%rbp)
imulq %rax, %rsi
movq %r13, %rbx
movq %r13, %rdi
callq 0xe969b
movq %rax, 0x20(%rbp)
movl (%r12), %eax
movl %eax, (%rbp)
cmpq $0xe, 0x30(%r12)
jne 0xb4b59
movl 0x8(%r12), %eax
imull 0x4(%r12), %eax
leal 0x7(%rax), %ecx
addl $0xe, %eax
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x3, %eax
movslq %eax, %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0xe969b
movq %rax, %r14
movq 0x18(%rbx), %rdi
movq 0x40(%r12), %rdx
movq %rax, %rsi
movq %r15, %rcx
callq 0xeeee8
cmpl $0x0, 0x8(%r12)
jle 0xb4add
xorl %ebx, %ebx
xorl %r15d, %r15d
movslq 0x8(%rbp), %r8
movq %r15, %rsi
imulq %r8, %rsi
movq 0x20(%rbp), %rdx
movq 0x18(%rbp), %rcx
imulq %rbx, %rcx
movq %r14, %rdi
callq 0xeb7ec
incq %r15
movslq 0x8(%r12), %rax
addq $0x8, %rbx
cmpq %rax, %r15
jl 0xb4aad
movq %r13, %rdi
movq %r14, %rsi
callq 0xe9752
jmp 0xb4b03
movl (%r13), %edx
movl 0x40(%r13), %ecx
movq %r12, %rdi
leaq 0x82569(%rip), %rsi     # 0x137065
xorl %eax, %eax
callq 0xe9226
movq 0x18(%rsp), %r12
movq %r12, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe9585
xorl %ebx, %ebx
movq 0x40(%rsp), %r15
movq 0x10(%rsp), %r14
movq 0x78(%rsp), %rbp
movq %r12, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe9585
movq %r12, %rdi
movq 0x30(%rsp), %rsi
callq 0xe9752
testb %bl, %bl
leaq 0x823dd(%rip), %r13     # 0x136f26
jne 0xb53fa
incq 0x60(%rsp)
jmp 0xb5226
movq %rbp, 0x68(%rsp)
movl 0x38(%r12), %r8d
movq %r12, %rax
addq $0x50, %rax
movq %rax, 0x80(%rsp)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x50(%r12)
movq $0x0, 0x60(%r12)
xorl %r14d, %r14d
movq $0x0, 0x38(%rsp)
xorl %ebx, %ebx
xorl %r13d, %r13d
leaq 0x822b6(%rip), %r15     # 0x136e54
movq %r12, %rbp
movq 0x48(%rbp), %rcx
xorps %xmm1, %xmm1
cvtsi2sd %r14, %xmm1
mulsd 0x62b1b(%rip), %xmm1    # 0x1176d0
addq %rcx, %rcx
movl $0x7, %eax
cmpq %rcx, %r14
jge 0xb5092
movslq 0x8(%rbp), %rcx
cmpq %rcx, 0x58(%rbp)
jge 0xb5092
movl %r8d, 0xc(%rsp)
movq 0x40(%rbp), %rax
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
addsd %xmm0, %xmm1
movsd %xmm1, 0x48(%rsp)
movq 0x18(%rsp), %rcx
movq 0x18(%rcx), %rdi
movq %r14, %rsi
shrq $0x3f, %rsi
addq %r14, %rsi
sarq %rsi
addq %rax, %rsi
callq 0xef0d5
movl %eax, %ecx
andb $0xf, %cl
shrb $0x4, %al
testb $0x1, %r14b
movzbl %al, %edx
movzbl %cl, %eax
cmovel %edx, %eax
movzbl %al, %edx
testb %dl, %dl
je 0xb4cd2
leaq 0x1(%r14), %rcx
movq %rcx, 0x28(%rsp)
cmpl $0xf, %edx
je 0xb4c8d
cmpl $0xe, %edx
movl 0xc(%rsp), %r8d
movsd 0x48(%rsp), %xmm0
jne 0xb4d61
movq 0x18(%rsp), %rdi
cmpl $0x3, (%rdi)
jl 0xb4eb2
leaq 0x8242c(%rip), %rsi     # 0x137090
movl $0xe, %edx
movb $0x1, %al
callq 0xe9461
movl 0xc(%rsp), %r8d
movl $0x1, %ebx
movq 0x50(%rsp), %rax
movslq (%r15,%rax,4), %rax
addq %r15, %rax
movq 0x28(%rsp), %r14
jmpq *%rax
movq 0x18(%rsp), %rdi
cmpl $0x3, (%rdi)
movsd 0x48(%rsp), %xmm0
jl 0xb4e9d
leaq 0x82406(%rip), %rsi     # 0x1370ae
movl $0xf, %edx
movb $0x1, %al
callq 0xe9461
movl $0x1, %r13d
movq 0x50(%rsp), %rax
movslq (%r15,%rax,4), %rax
addq %r15, %rax
movq 0x28(%rsp), %r14
movl 0xc(%rsp), %r8d
jmpq *%rax
movq %r13, 0x70(%rsp)
movl %edx, 0x38(%rsp)
movl %ebx, 0x24(%rsp)
movq 0x18(%rsp), %rax
movq 0x18(%rax), %rdi
movq 0x40(%rbp), %rbp
movl $0x1, %ebx
movq $-0x2, %r15
leaq (%r14,%rbx), %r12
movq %r12, %rsi
shrq $0x3f, %rsi
addq %r12, %rsi
sarq %rsi
addq %rbp, %rsi
movq %rdi, %r13
callq 0xef0d5
movl %eax, %ecx
andb $0xf, %cl
shrb $0x4, %al
testb $0x1, %r12b
movzbl %al, %eax
movzbl %cl, %r12d
cmovel %eax, %r12d
testb %r12b, %r12b
jne 0xb4e01
incq %rbx
decq %r15
cmpq $-0x12, %r15
movq %r13, %rdi
jne 0xb4cf8
movq 0x8(%rdi), %rdi
leaq 0x823d0(%rip), %rsi     # 0x13711e
movl %ebp, %edx
xorl %eax, %eax
callq 0xe9df7
addq %rbx, %r14
xorl %ebp, %ebp
jmp 0xb4e53
movl %ebx, 0x24(%rsp)
movl %edx, %ebx
cmpq %rbx, 0x30(%rbp)
jge 0xb4ec1
cmpb $0xd, %al
ja 0xb4eef
movq 0x18(%rsp), %r12
movq 0x18(%r12), %rdi
movq %r14, %rax
addq $0x2, %rax
movq %rax, 0x38(%rsp)
movq 0x28(%rsp), %rax
movq %rax, %rsi
shrq $0x3f, %rsi
addq %rax, %rsi
sarq %rsi
addq 0x40(%rbp), %rsi
movl %edx, %r15d
callq 0xef0d5
movl %r15d, %edx
movsd 0x48(%rsp), %xmm0
movl 0xc(%rsp), %r8d
movl %eax, %ecx
andb $0xf, %cl
shrb $0x4, %al
testb $0x1, %r14b
movzbl %cl, %ecx
movzbl %al, %eax
cmovel %ecx, %eax
movq 0x30(%rbp), %rcx
movzbl %al, %eax
addq %rcx, %rax
notq %rcx
addq %rbx, %rcx
shlq $0x4, %rcx
leaq (%rcx,%rax), %rbp
incq %rbp
movq 0x38(%rsp), %rax
movq %rax, 0x28(%rsp)
leaq 0x82058(%rip), %r15     # 0x136e54
jmp 0xb4ef9
movzbl %r12b, %eax
subq %r15, %r14
movq %rbp, %rcx
movq %rax, %rbp
movq %r13, %r15
movq %rcx, %r13
shlq $0x4, %rbp
movq %r14, %rsi
shrq $0x3f, %rsi
addq %r14, %rsi
sarq %rsi
addq %r13, %rsi
movq %r15, %rdi
callq 0xef0d5
movl %eax, %ecx
andb $0xf, %cl
shrb $0x4, %al
testb $0x1, %r14b
movzbl %al, %eax
movzbl %cl, %ecx
cmovel %eax, %ecx
movzbl %cl, %eax
orq %rax, %rbp
incq %r14
decq %rbx
jne 0xb4e14
movq %r14, 0x28(%rsp)
testb %r12b, %r12b
movq 0x70(%rsp), %r13
je 0xb4ec6
movq 0x30(%rsp), %rax
movq 0x30(%rax), %rax
addq %rax, %rbp
shlq $0x4, %rax
subq %rax, %rbp
addq $0xc1, %rbp
movq 0x18(%rsp), %r12
movl 0xc(%rsp), %r8d
movl 0x24(%rsp), %ecx
movsd 0x48(%rsp), %xmm0
movl 0x38(%rsp), %edx
leaq 0x81fb9(%rip), %r15     # 0x136e54
jmp 0xb4efd
movl $0x6, %eax
movl $0x1, %r13d
movl 0xc(%rsp), %r8d
jmp 0xb508d
movl $0x6, %eax
movl $0x1, %ebx
jmp 0xb508d
movq %rbx, %rbp
jmp 0xb4ef4
movq %rbp, 0x38(%rsp)
movl $0x2, %eax
movl 0xc(%rsp), %r8d
movl 0x24(%rsp), %ebx
movq 0x28(%rsp), %r14
movq 0x30(%rsp), %rbp
leaq 0x81f6a(%rip), %r15     # 0x136e54
jmp 0xb5092
movq 0x38(%rsp), %rbp
movq 0x18(%rsp), %r12
movl 0x24(%rsp), %ecx
movl (%r12), %eax
testl %ecx, %ecx
movq %rbp, 0x38(%rsp)
jne 0xb503f
cmpl $0x3, %eax
jl 0xb4f40
testl %r8d, %r8d
leaq 0x89fdd(%rip), %r8      # 0x13eefa
leaq 0x6f29b(%rip), %rax     # 0x1241bf
cmoveq %rax, %r8
movq %r12, %rdi
leaq 0x821a5(%rip), %rsi     # 0x1370d7
movl %ebp, %ecx
movb $0x1, %al
callq 0xe9461
movl 0xc(%rsp), %r8d
testq %rbp, %rbp
jle 0xb5079
xorl %r14d, %r14d
movq 0x30(%rsp), %rbp
incq 0x60(%rbp)
testl %r8d, %r8d
je 0xb4fa9
movq 0x80(%rsp), %rax
movq (%rax), %rcx
testq %rcx, %rcx
js 0xb4fa9
movslq 0x4(%rbp), %rax
cmpq %rax, %rcx
jge 0xb4fa9
movq 0x58(%rbp), %rax
testq %rax, %rax
js 0xb4fa9
movslq 0x8(%rbp), %rdx
cmpq %rdx, %rax
jge 0xb4fa9
movq %rcx, %rdx
notb %cl
andb $0x7, %cl
movb $0x1, %sil
shlb %cl, %sil
movq 0x68(%rsp), %rcx
imulq 0x18(%rcx), %rax
addq 0x20(%rcx), %rax
shrq $0x3, %rdx
orb %sil, (%rdx,%rax)
movq 0x50(%rbp), %rax
incq %rax
movq %rax, 0x50(%rbp)
movslq 0x4(%rbp), %rcx
cmpq %rcx, %rax
jl 0xb502f
movq 0x58(%rbp), %rbx
leaq 0x1(%rbx), %rax
movq %rax, 0x58(%rbp)
movq $0x0, 0x50(%rbp)
testq %rbx, %rbx
sets %al
testq %r13, %r13
setle %cl
orb %al, %cl
jne 0xb502c
movq 0x58(%rbp), %rdi
movslq 0x8(%rbp), %rax
cmpq %rax, %rdi
jge 0xb5022
movq 0x68(%rsp), %rax
movq 0x18(%rax), %rdx
movq 0x20(%rax), %rax
imulq %rdx, %rdi
addq %rax, %rdi
movq %rdx, %rsi
imulq %rbx, %rsi
addq %rax, %rsi
callq 0x181e0
incq 0x58(%rbp)
movslq 0x4(%rbp), %rax
addq %rax, 0x60(%rbp)
decq %r13
jne 0xb4fe1
xorl %r13d, %r13d
movl 0xc(%rsp), %r8d
jmp 0xb502f
xorl %r13d, %r13d
incq %r14
cmpq 0x38(%rsp), %r14
jne 0xb4f51
jmp 0xb507e
cmpl $0x3, %eax
jl 0xb509d
movq %r12, %rdi
leaq 0x8207c(%rip), %rsi     # 0x1370ca
movl %ebp, %edx
movb $0x1, %al
callq 0xe9461
movl 0xc(%rsp), %r8d
xorl %ebx, %ebx
movq 0x50(%rsp), %rax
movslq (%r15,%rax,4), %rax
addq %r15, %rax
movq 0x28(%rsp), %r14
movq %rbp, %r13
movq 0x30(%rsp), %rbp
jmpq *%rax
movq 0x30(%rsp), %rbp
xorl %eax, %eax
testl %r8d, %r8d
sete %al
xorl %ebx, %ebx
movl %eax, %r8d
xorl %eax, %eax
movq 0x28(%rsp), %r14
movl %eax, %eax
movslq (%r15,%rax,4), %rax
addq %r15, %rax
jmpq *%rax
movl $0x6, %eax
xorl %ebx, %ebx
movq %rbp, %r13
movq 0x28(%rsp), %r14
movq 0x30(%rsp), %rbp
jmp 0xb5092
movq 0x10(%rsp), %rax
leaq 0x1(%rax), %r12
movl $0x4, %r14d
movl $0x5, %ebp
jmp 0xb51b7
movq 0x18(%r12), %rdi
movq 0x10(%rsp), %rbx
leaq 0x1(%rbx), %rsi
movl $0x3, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xef6f2
movq %rax, %r14
leaq 0x4(%rbx), %r12
movq %rax, %rbp
addq $0x4, %rbp
jmp 0xb51b7
movq 0x18(%r12), %rdi
movq 0x10(%rsp), %rbx
leaq 0x1(%rbx), %rsi
callq 0xef32a
movq %rax, %r14
leaq 0x5(%rbx), %r12
movq %rax, %rbp
addq $0x5, %rbp
jmp 0xb51b7
movq %r12, %rdi
leaq 0x81e68(%rip), %rsi     # 0x136f94
movq 0x10(%rsp), %rbx
movl %ebx, %edx
xorl %eax, %eax
callq 0xe9226
movq %r12, %rdi
movl $0x1, %esi
callq 0xe9585
movq 0x18(%r12), %rdi
leaq 0x2(%rbx), %rsi
callq 0xef0d5
movzbl %al, %r14d
movq %r12, %rdi
leaq 0x81e40(%rip), %rsi     # 0x136fa3
movl %r14d, %edx
xorl %eax, %eax
callq 0xe9226
leaq 0x13(%r14), %rbp
movq %r12, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe9585
jmp 0xb51b1
movq 0x18(%r12), %rdi
movq 0x10(%rsp), %rbx
leaq 0x1(%rbx), %rsi
callq 0xef169
movq %rax, %r14
leaq 0x3(%rbx), %r12
movq %rax, %rbp
addq $0x3, %rbp
jmp 0xb51b7
movl $0x5, %ebx
xorl %ebp, %ebp
jmp 0xb5214
movl $0x1, %ebp
xorl %r12d, %r12d
xorl %r14d, %r14d
xorl %ebx, %ebx
cmpb $-0xc, %r15b
ja 0xb520f
testq %r14, %r14
jle 0xb520f
movq 0x18(%rsp), %r15
movq %r15, %rdi
movl $0x1, %esi
callq 0xe9585
movq 0x18(%r15), %rsi
subq $0x8, %rsp
xorl %ebx, %ebx
movl $0x100, %r8d            # imm = 0x100
movq %r15, %rdi
movq %r12, %rdx
movq %r15, %r12
movq %r14, %rcx
xorl %r9d, %r9d
pushq $0x1
callq 0xe975a
addq $0x10, %rsp
movq %r15, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe9585
jmp 0xb5214
movq 0x18(%rsp), %r12
movq 0x10(%rsp), %r14
testl %ebx, %ebx
movq 0x40(%rsp), %r15
jne 0xb534f
testq %rbp, %rbp
jle 0xb5358
addq %rbp, %r14
movq 0x18(%r12), %rdi
cmpq 0x18(%rdi), %r14
jl 0xb46c9
jmp 0xb5358
movq %rbx, %r12
movq %rbx, %rdi
leaq 0x81c8d(%rip), %rsi     # 0x136ee0
movl %r14d, %edx
movq 0x10(%rsp), %r14
movl %r14d, %ecx
xorl %eax, %eax
callq 0xe9df7
movl $0x6, %ebx
xorl %ebp, %ebp
jmp 0xb5219
movq 0x60(%rbp), %rcx
cmpq 0x58(%rsp), %rcx
je 0xb4b03
movl (%rbp), %r8d
movq 0x18(%rsp), %rdi
leaq 0x81e67(%rip), %rsi     # 0x1370f4
movq 0x58(%rsp), %rdx
xorl %eax, %eax
callq 0xe9b27
jmp 0xb4b03
movq %rbx, %r12
movq 0x18(%rbx), %rdi
leaq 0x1(%r14), %rsi
callq 0xef169
andl $0x3, %r15d
shll $0x10, %r15d
orq %rax, %r15
movq 0x18(%rbx), %rdi
leaq 0x3(%r14), %rsi
callq 0xef0d5
movzbl %al, %eax
movl %eax, (%r13)
movq 0x18(%rbx), %rdi
leaq 0x4(%r14), %rsi
movl $0x3, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0xef6f2
movq %rax, 0x10(%r13)
movq 0x18(%rbx), %rdi
leaq 0x7(%r14), %rsi
callq 0xef169
movq %rax, 0x18(%r13)
movq 0x18(%rbx), %rdi
leaq 0x9(%r14), %rsi
callq 0xef169
movl %eax, 0x4(%r13)
movq 0x18(%rbx), %rdi
leaq 0xb(%r14), %rsi
callq 0xef169
movl %eax, 0x8(%r13)
movq 0x18(%rbx), %rdi
leaq 0xd(%r14), %rsi
callq 0xef219
movq %rax, 0x20(%r13)
movq 0x18(%rbx), %rdi
leaq 0xf(%r14), %rsi
callq 0xef219
movq %rax, %r10
movl $0x4, %ebp
movl $0x11, %eax
jmp 0xb48d9
xorl %edx, %edx
jmp 0xb535d
cmpl $0x5, %ebx
jne 0xb53fa
movq 0x60(%rsp), %rdx
movq (%r15), %rax
movl 0x18(%rax), %ecx
leaq 0x81b94(%rip), %rsi     # 0x136efe
movq %r12, %rdi
xorl %eax, %eax
callq 0xe9226
movq (%r15), %rsi
movq 0x18(%rsi), %rax
testq %rax, %rax
jle 0xb53c7
movq 0x20(%rsi), %rdi
movl (%rsi), %r8d
addq $0x10, %rdi
movl $0xf4240, %ecx          # imm = 0xF4240
movl $0xfff0bdc0, %edx       # imm = 0xFFF0BDC0
movq %rax, %r9
movl -0x8(%rdi), %r10d
cmpl %r8d, %r10d
jle 0xb53a7
movl %r10d, (%rsi)
movl %r10d, %r8d
movl (%rdi), %r10d
cmpl %ecx, %r10d
cmovll %r10d, %ecx
addl -0x4(%rdi), %r10d
cmpl %edx, %r10d
cmovgl %r10d, %edx
addq $0x28, %rdi
decq %r9
jne 0xb5398
jmp 0xb53d1
movl $0xfff0bdc0, %edx       # imm = 0xFFF0BDC0
movl $0xf4240, %ecx          # imm = 0xF4240
subl %ecx, %edx
movl %edx, 0x4(%rsi)
testq %rax, %rax
jle 0xb53ee
movq 0x20(%rsi), %rdx
addq $0x10, %rdx
subl %ecx, (%rdx)
addq $0x28, %rdx
decq %rax
jne 0xb53e3
movq %r12, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0xf5c29
movq (%r15), %rax
testq %rax, %rax
je 0xb5452
cmpq $0x0, 0x20(%rax)
je 0xb5447
movq (%r15), %rax
cmpq $0x0, 0x18(%rax)
jle 0xb543b
movl $0x20, %ebx
xorl %r14d, %r14d
movq 0x20(%rax), %rax
movq (%rax,%rbx), %rsi
movq %r12, %rdi
callq 0xe9752
incq %r14
movq (%r15), %rax
addq $0x28, %rbx
cmpq 0x18(%rax), %r14
jl 0xb541b
movq 0x20(%rax), %rsi
movq %r12, %rdi
callq 0xe9752
movq (%r15), %rsi
movq %r12, %rdi
callq 0xf5801
movq %r12, %rdi
movq %r15, %rsi
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xe9752