// File: /workspace/github_c_makefile_star2_O1/mist64[P]cbmbasic/runtime.c
// Function: kernal_dispatch
int
kernal_dispatch() {
//{ printf("kernal_dispatch $%04X; ", PC); int i; printf("stack (%02X): ", S); for (i=S+1; i<0x100; i++) { printf("%02X ", RAM[0x0100+i]); } printf("\n"); }

	unsigned int new_pc;
	switch(PC) {
		case 0x0073:	CHRGET();	break;
		case 0x0079:	CHRGOT();	break;
		case 0xFF90:	SETMSG();	break;
		case 0xFF99:	MEMTOP();	break;
		case 0xFF9C:	MEMBOT();	break;
		case 0xFFB7:	READST();	break;
		case 0xFFBA:	SETLFS();	break;
		case 0xFFBD:	SETNAM();	break;
		case 0xFFC0:	OPEN();		break;
		case 0xFFC3:	CLOSE();	break;
		case 0xFFC6:	CHKIN();	break;
		case 0xFFC9:	CHKOUT();	break;
		case 0xFFCC:	CLRCHN();	break;
		case 0xFFCF:	CHRIN();	break;
		case 0xFFD2:	CHROUT();	break;
		case 0xFFD5:	LOAD();		break;
		case 0xFFD8:	SAVE();		break;
		case 0xFFDB:	SETTIM();	break;
		case 0xFFDE:	RDTIM();	break;
		case 0xFFE1:	STOP();		break;
		case 0xFFE4:	GETIN();	break;
		case 0xFFE7:	CLALL();	break;
		case 0xFFF0:	PLOT();		break;
		case 0xFFF3:	IOBASE();	break;

		case 0:		plugin_off(); S+=2; break;
		case 1:		plugin_on(); S+=2; break;

		case MAGIC_ERROR:	new_pc = plugin_error(); PUSH_WORD(new_pc? new_pc-1:orig_error-1); break;
		case MAGIC_MAIN:	new_pc = plugin_main(); PUSH_WORD(new_pc? new_pc-1:orig_main-1); break;
		case MAGIC_CRNCH:	new_pc = plugin_crnch(); PUSH_WORD(new_pc? new_pc-1:orig_crnch-1); break;
		case MAGIC_QPLOP:	new_pc = plugin_qplop(); PUSH_WORD(new_pc? new_pc-1:orig_qplop-1); break;
		case MAGIC_GONE:	new_pc = plugin_gone(); PUSH_WORD(new_pc? new_pc-1:orig_gone-1); break;
		case MAGIC_EVAL:	new_pc = plugin_eval(); PUSH_WORD(new_pc? new_pc-1:orig_eval-1); break;
		
		case MAGIC_CONTINUATION: /*printf("--CONTINUATION--\n");*/ return 0;

		default: printf("unknown PC=$%04X S=$%02X\n", PC, S); exit(1);
	}
	return 1;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xb8, %rsp
leaq 0x1c7dc(%rip), %rax     # 0x31140
movzwl (%rax), %esi
cmpl $0xffc5, %esi           # imm = 0xFFC5
jg 0x149ba
cmpl $0xff8f, %esi           # imm = 0xFF8F
jg 0x14a9f
cmpl $0x78, %esi
jle 0x14be2
leal -0xff00(%rsi), %eax
cmpl $0x5, %eax
ja 0x152a9
leaq 0xac66(%rip), %rcx      # 0x1f600
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
callq 0x15af0
movzwl %ax, %edx
leal -0x1(%rdx), %esi
movzwl 0x1c87f(%rip), %edi     # 0x31234
jmp 0x15320
cmpl $0xffdd, %esi           # imm = 0xFFDD
jg 0x14ae8
leal -0xffc6(%rsi), %eax
cmpl $0x9, %eax
jbe 0x14c10
leal -0xffd2(%rsi), %eax
cmpl $0x9, %eax
ja 0x15a6d
leaq 0xac7d(%rip), %rcx      # 0x1f668
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl 0x1c82a(%rip), %ebx     # 0x31224
testl %ebx, %ebx
je 0x1552a
movl $0xe10f, %edi           # imm = 0xE10F
movl $0xab4a, %esi           # imm = 0xAB4A
movl $0xab30, %edx           # imm = 0xAB30
movl $0xa47b, %ecx           # imm = 0xA47B
callq 0x14670
testl %eax, %eax
je 0x14a39
leaq 0x1c71f(%rip), %rax     # 0x31145
cmpb $0x52, (%rax)
jne 0x14a31
incl 0x1c7ef(%rip)           # 0x31220
testl %ebx, %ebx
je 0x155f4
movl $0xe10f, %edi           # imm = 0xE10F
movl $0xab4a, %esi           # imm = 0xAB4A
movl $0xaadc, %edx           # imm = 0xAADC
movl $0xa486, %ecx           # imm = 0xA486
callq 0x14670
testl %eax, %eax
jne 0x155f4
movzbl 0x1c6f7(%rip), %eax     # 0x31158
testq %rax, %rax
je 0x15849
leaq 0x1c6d4(%rip), %rbx     # 0x31145
movzbl (%rbx), %edi
leaq 0x1c6e5(%rip), %rcx     # 0x31160
movq (%rcx,%rax,8), %rsi
callq 0x1130
cmpl $-0x1, %eax
jne 0x155f4
leaq 0x1c6b2(%rip), %rax     # 0x31146
movb $0x1, (%rax)
movb $0x7, (%rbx)
jmp 0x155fe
cmpl $0xffb6, %esi           # imm = 0xFFB6
jg 0x14b91
cmpl $0xff90, %esi           # imm = 0xFF90
je 0x14c79
cmpl $0xff99, %esi           # imm = 0xFF99
je 0x14c95
cmpl $0xff9c, %esi           # imm = 0xFF9C
jne 0x15a6d
leaq 0x1c66c(%rip), %rax     # 0x31142
movb $0x0, (%rax)
leaq 0x1c668(%rip), %rax     # 0x31148
movb $0x8, (%rax)
jmp 0x155fe
cmpl $0xffef, %esi           # imm = 0xFFEF
jg 0x14c4e
leal -0xffde(%rsi), %eax
cmpl $0x9, %eax
ja 0x15a6d
leaq 0xab86(%rip), %rcx      # 0x1f690
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
xorl %edi, %edi
callq 0x1190
leaq 0x10(%rsp), %rdi
movq %rax, (%rdi)
leaq 0x28(%rsp), %rbx
movq %rbx, %rsi
callq 0x1040
leaq 0x18(%rsp), %r14
movq %r14, %rdi
xorl %esi, %esi
callq 0x10d0
imull $0x3c, 0x8(%rbx), %eax
addl 0x4(%rbx), %eax
imull $0x3c, %eax, %ecx
addl (%rbx), %ecx
movabsq $0x7dd58b133365889f, %rax # imm = 0x7DD58B133365889F
imulq 0x8(%r14)
imull $0x3c, %ecx, %eax
movq %rdx, %rcx
shrq $0x3f, %rcx
sarq $0xd, %rdx
addq %rcx, %rdx
addq %rax, %rdx
leaq 0x1c5cf(%rip), %rax     # 0x31142
movb %dh, (%rax)
leaq 0x1c5c9(%rip), %rax     # 0x31145
movb %dl, (%rax)
movl %edx, %eax
shrl $0x10, %eax
leaq 0x1c5be(%rip), %rcx     # 0x31148
movb %al, (%rcx)
jmp 0x155fe
leal -0xffba(%rsi), %eax
cmpl $0x9, %eax
ja 0x15367
leaq 0xaa71(%rip), %rcx      # 0x1f618
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1c58e(%rip), %rax     # 0x31145
movb (%rax), %al
movb %al, 0x1c68e(%rip)      # 0x3124d
leaq 0x1c57c(%rip), %rax     # 0x31142
movb (%rax), %al
movb %al, 0x1c680(%rip)      # 0x3124e
leaq 0x1c573(%rip), %rax     # 0x31148
movb (%rax), %al
movb %al, 0x1c672(%rip)      # 0x3124f
jmp 0x155fe
testl %esi, %esi
je 0x14cae
cmpl $0x1, %esi
je 0x14d1e
cmpl $0x73, %esi
jne 0x15a6d
movl $0x1, %ebx
movl $0x1, %edi
callq 0x14702
jmp 0x15603
leaq 0xaa29(%rip), %rcx      # 0x1f640
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movb $0x0, 0x1c529(%rip)     # 0x31150
leaq 0x1c514(%rip), %rax     # 0x31142
movzbl (%rax), %eax
leaq 0x1c528(%rip), %rcx     # 0x31160
cmpq $0x0, (%rcx,%rax,8)
je 0x15424
movb %al, 0x1c510(%rip)      # 0x31159
jmp 0x155f4
cmpl $0xfff0, %esi           # imm = 0xFFF0
je 0x14e48
cmpl $0xfff3, %esi           # imm = 0xFFF3
je 0x14e87
xorl %ebx, %ebx
cmpl $0xffff, %esi           # imm = 0xFFFF
je 0x15603
jmp 0x15a6d
leaq 0x1c4c5(%rip), %rax     # 0x31145
movb (%rax), %cl
movb %cl, 0x1c5c0(%rip)      # 0x31248
movb 0x1c4c2(%rip), %cl      # 0x31150
movb %cl, (%rax)
jmp 0x155fe
leaq 0x1c4a6(%rip), %rax     # 0x31142
movb $0x0, (%rax)
leaq 0x1c4a2(%rip), %rax     # 0x31148
movb $-0x60, (%rax)
jmp 0x155fe
cmpl $0x0, 0x1c57b(%rip)     # 0x31230
je 0x14d23
movzwl 0x1c576(%rip), %eax     # 0x31234
leaq 0xc47b(%rip), %rcx      # 0x21140
movw %ax, 0x300(%rcx)
movzwl 0x1c563(%rip), %eax     # 0x31236
movw %ax, 0x302(%rcx)
movzwl 0x1c557(%rip), %eax     # 0x31238
movw %ax, 0x304(%rcx)
movzwl 0x1c54b(%rip), %eax     # 0x3123a
movw %ax, 0x306(%rcx)
movzwl 0x1c53f(%rip), %eax     # 0x3123c
movw %ax, 0x308(%rcx)
movzwl 0x1c533(%rip), %eax     # 0x3123e
movw %ax, 0x30a(%rcx)
movl $0x0, 0x1c514(%rip)     # 0x31230
jmp 0x14d23
callq 0x148be
leaq 0xc3fe(%rip), %rax      # 0x21128
addb $0x2, (%rax)
jmp 0x155fe
xorl %eax, %eax
movb %al, 0x1c41f(%rip)      # 0x31159
movb %al, 0x1c418(%rip)      # 0x31158
jmp 0x155fe
movb $0x0, 0x1c404(%rip)     # 0x31150
leaq 0x1c3ef(%rip), %rax     # 0x31142
movzbl (%rax), %eax
leaq 0x1c403(%rip), %rcx     # 0x31160
cmpq $0x0, (%rcx,%rax,8)
je 0x15424
movb %al, 0x1c3ea(%rip)      # 0x31158
jmp 0x155f4
cmpl $0x0, 0x1c4aa(%rip)     # 0x31224
jne 0x14d89
cmpl $0x2, 0x1c49d(%rip)     # 0x31220
je 0x15a3b
movzbl 0x1c3c9(%rip), %eax     # 0x31159
testq %rax, %rax
je 0x1558e
leaq 0x1c3c0(%rip), %rbx     # 0x31160
movq (%rbx,%rax,8), %rdi
callq 0x1160
testl %eax, %eax
je 0x154c4
orb $0x42, 0x1c398(%rip)    # 0x31150
leaq 0x1c386(%rip), %rax     # 0x31145
movb $0xd, (%rax)
jmp 0x155f4
leaq 0x1c375(%rip), %rax     # 0x31143
jmp 0x155fb
movzbl 0x1c37f(%rip), %eax     # 0x31159
testq %rax, %rax
je 0x155dc
leaq 0x1c376(%rip), %rbx     # 0x31160
movq (%rbx,%rax,8), %rdi
callq 0x1160
testl %eax, %eax
je 0x154c4
orb $0x42, 0x1c34e(%rip)    # 0x31150
leaq 0x1c33c(%rip), %rax     # 0x31145
movb $-0x39, (%rax)
jmp 0x155f4
xorl %r14d, %r14d
leaq 0x1c345(%rip), %r15     # 0x31160
movl $0x1, %ebx
movq (%r14,%r15), %rdi
testq %rdi, %rdi
je 0x14e36
callq 0x1070
movq $0x0, (%r14,%r15)
addq $0x8, %r14
cmpq $0x80, %r14
jne 0x14e20
jmp 0x15603
leaq 0x1c2f7(%rip), %rax     # 0x31146
cmpb $0x0, (%rax)
je 0x15a42
leaq 0x28(%rsp), %rbx
leaq 0x18(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x15f92
movb (%rbx), %al
leaq 0x1c2d2(%rip), %rcx     # 0x31148
movb %al, (%rcx)
movb (%r14), %al
leaq 0x1c2c0(%rip), %rcx     # 0x31142
jmp 0x15380
callq 0x1220
leaq 0xc2ad(%rip), %rbx      # 0x21140
movw %ax, 0xdc04(%rbx)
callq 0x1220
movw %ax, 0xdc08(%rbx)
leaq 0x1c295(%rip), %rax     # 0x31142
movb $0x0, (%rax)
leaq 0x1c291(%rip), %rax     # 0x31148
movb $-0x24, (%rax)
jmp 0x155fe
leaq 0x1c27f(%rip), %r14     # 0x31145
movzbl (%r14), %eax
leaq 0xc26f(%rip), %rdi      # 0x21140
movzwl (%rdi,%rax), %ebp
leaq 0x1c266(%rip), %rax     # 0x31142
movzbl (%rax), %eax
leaq 0x1c262(%rip), %rcx     # 0x31148
movzbl (%rcx), %r15d
shll $0x8, %r15d
orl %eax, %r15d
subl %ebp, %r15d
jae 0x1543d
leaq 0x1c245(%rip), %rax     # 0x31146
movb $0x1, (%rax)
movb $0x0, (%r14)
jmp 0x155fe
leaq 0x1c231(%rip), %r12     # 0x31145
cmpb $0x0, (%r12)
jne 0x15a5f
movzbl 0x1c326(%rip), %eax     # 0x3124c
movb $0x1, %bpl
testq %rax, %rax
je 0x15617
movzwl 0x1c311(%rip), %ecx     # 0x3124a
leaq 0xc200(%rip), %rdx      # 0x21140
cmpb $0x24, (%rdx,%rcx)
jne 0x1561e
movl $0x22120000, 0x803(%rdx) # imm = 0x22120000
movaps 0xa695(%rip), %xmm0     # 0x1f5f0
movups %xmm0, 0x807(%rdx)
leaq 0x807(%rdx), %rbx
movq %rdx, %rbp
movl $0x100, %esi            # imm = 0x100
movq %rbx, %rdi
callq 0x1100
movl $0x6, %r14d
testq %rax, %rax
je 0x1570e
movq %rbx, %rdi
callq 0x1090
movq %rax, %rbx
leal 0x807(%rax), %ecx
leal 0x808(%rax), %edx
movl $0xffff, %eax           # imm = 0xFFFF
andl %eax, %ecx
movb $0x22, (%rbp,%rcx)
leal 0x809(%rbx), %ecx
andl %eax, %edx
movb $0x20, %sil
movb %sil, (%rbp,%rdx)
leal 0x80a(%rbx), %edx
andl %eax, %ecx
movb $0x30, %dil
movb %dil, (%rbp,%rcx)
leal 0x80b(%rbx), %ecx
andl %eax, %edx
movb %dil, (%rbp,%rdx)
leal 0x80c(%rbx), %edx
andl %eax, %ecx
movb %sil, (%rbp,%rcx)
leal 0x80d(%rbx), %ecx
andl %eax, %edx
movb $0x32, (%rbp,%rdx)
leal 0x80e(%rbx), %edx
andl %eax, %ecx
movb $0x41, (%rbp,%rcx)
addl $0x80f, %ebx            # imm = 0x80F
andl %eax, %edx
movb $0x0, (%rbp,%rdx)
movb %bl, 0x801(%rbp)
movb %bh, 0x802(%rbp)
leaq 0xa7aa(%rip), %rdi      # 0x1f7c9
callq 0x1080
testq %rax, %rax
je 0x1570e
movq %rax, %r13
movq %rax, %rdi
callq 0x11b0
testq %rax, %rax
je 0x1588b
movq %rax, %r12
movl $0xffff, %r15d          # imm = 0xFFFF
leaq 0xc0ef(%rip), %rbp      # 0x21140
movq %r13, (%rsp)
addq $0x13, %r12
movq %r12, %rdi
callq 0x1090
movq %rax, %r13
movq %r12, %rdi
leaq 0x28(%rsp), %rsi
callq 0x1170
movq 0x58(%rsp), %rax
movl $0xfd, %ecx
addq %rcx, %rax
movabsq $0x4081020408102041, %rcx # imm = 0x4081020408102041
imulq %rcx
movq %rdx, %rax
shrq $0x3f, %rax
shrq $0x6, %rdx
addl %eax, %edx
cmpl %r15d, %edx
movl $0xffff, %eax           # imm = 0xFFFF
cmovll %edx, %eax
movzwl %bx, %edi
leal 0x2(%rbx), %ecx
leal 0x3(%rbx), %esi
andl %r15d, %ecx
movb %al, (%rbp,%rcx)
leal 0x4(%rbx), %r14d
andl %r15d, %esi
movb %ah, (%rbp,%rsi)
cmpl $0x3e7, %edx            # imm = 0x3E7
movq %rbp, %rsi
movq %rdi, 0x8(%rsp)
jg 0x15101
leal 0x5(%rdi), %eax
movzwl %r14w, %ecx
movb $0x20, (%rsi,%rcx)
cmpl $0x63, %edx
jg 0x150fe
leal 0x6(%rdi), %r14d
movzwl %ax, %eax
movb $0x20, (%rsi,%rax)
cmpl $0x9, %edx
jg 0x15101
movzwl %r14w, %eax
leal 0x7(%rdi), %ecx
movb $0x20, (%rsi,%rax)
movl %ecx, %r14d
jmp 0x15101
movl %eax, %r14d
leal 0x1(%r14), %edi
movzwl %r14w, %eax
movb $0x22, %cl
movb %cl, (%rsi,%rax)
cmpq $0x10, %r13
movl $0x10, %ebp
cmovbq %r13, %rbp
movl $0xffff, %r15d          # imm = 0xFFFF
andl %r15d, %edi
addq %rsi, %rdi
movq %r12, %rsi
movq %rbp, %rdx
callq 0x1180
leaq 0xc007(%rip), %rdx      # 0x21140
leal (%r14,%rbp), %ebx
incl %ebx
movl %ebx, %eax
andl %r15d, %eax
movb $0x22, %cl
movb %cl, (%rdx,%rax)
cmpq $0xf, %r13
ja 0x15168
addl $-0x10, %ebp
movq (%rsp), %r13
incl %ebx
movzwl %bx, %eax
movb $0x20, (%rdx,%rax)
incl %ebp
jne 0x15156
leal 0x1(%rbx), %eax
jmp 0x15173
leal (%r14,%rbp), %eax
addl $0x2, %eax
movq (%rsp), %r13
movl $0xffff, %r15d          # imm = 0xFFFF
movq 0x8(%rsp), %rdi
leal 0x2(%rbx), %ecx
movzwl %ax, %eax
movb $0x20, %sil
movb %sil, (%rdx,%rax)
leal 0x3(%rbx), %eax
andl %r15d, %ecx
movb $0x50, (%rdx,%rcx)
leal 0x4(%rbx), %ecx
andl %r15d, %eax
movb $0x52, (%rdx,%rax)
leal 0x5(%rbx), %eax
andl %r15d, %ecx
movb $0x47, (%rdx,%rcx)
leal 0x6(%rbx), %ecx
andl %r15d, %eax
movb %sil, (%rdx,%rax)
leal 0x7(%rbx), %eax
andl %r15d, %ecx
movb %sil, (%rdx,%rcx)
addl $0x8, %ebx
andl %r15d, %eax
movb $0x0, (%rdx,%rax)
movb %bl, (%rdx,%rdi)
movb %bh, 0x1(%rdx,%rdi)
movq %r13, %rdi
movq %rdx, %rbp
callq 0x11b0
movq %rax, %r12
testq %rax, %rax
jne 0x15055
jmp 0x15892
leaq 0x1bf57(%rip), %rax     # 0x31148
movzbl (%rax), %eax
shll $0x10, %eax
leaq 0x1bf44(%rip), %rcx     # 0x31142
movzbl (%rcx), %ecx
shll $0x8, %ecx
orl %eax, %ecx
leaq 0x1bf38(%rip), %rax     # 0x31145
movzbl (%rax), %ebx
orq %rcx, %rbx
xorl %edi, %edi
callq 0x1190
leaq 0x10(%rsp), %rdi
movq %rax, (%rdi)
leaq 0x28(%rsp), %r14
movq %r14, %rsi
callq 0x1040
movabsq $0x444444444444445, %rcx # imm = 0x444444444444445
movq %rbx, %rax
mulq %rcx
movq %rdx, %r15
movq %rdx, %rax
mulq %rcx
imull $0x3c, %edx, %eax
movl %r15d, %ecx
subl %eax, %ecx
movl %ecx, (%r14)
movabsq $0x123456789abce0, %rcx # imm = 0x123456789ABCE0
movq %rbx, %rax
mulq %rcx
movl %edx, 0x4(%r14)
movabsq $0x4dac1b9c2dd1, %rcx   # imm = 0x4DAC1B9C2DD1
movq %rbx, %rax
mulq %rcx
movl %edx, 0x8(%r14)
movq %r14, %rdi
callq 0x11d0
leaq 0x18(%rsp), %rdi
movq %rax, (%rdi)
imulq $0x3c, %r15, %rax
subq %rax, %rbx
imulq $0x411a, %rbx, %rax     # imm = 0x411A
movq %rax, 0x8(%rdi)
xorl %esi, %esi
callq 0x11a0
jmp 0x155fe
cmpl $0x79, %esi
jne 0x15a6d
xorl %edi, %edi
callq 0x14702
jmp 0x155fe
callq 0x15afc
movzwl %ax, %edx
leal -0x1(%rdx), %esi
movzwl 0x1bf6c(%rip), %edi     # 0x3123c
jmp 0x15320
callq 0x15af6
movzwl %ax, %edx
leal -0x1(%rdx), %esi
movzwl 0x1bf54(%rip), %edi     # 0x31238
jmp 0x15320
callq 0x15af9
movzwl %ax, %edx
leal -0x1(%rdx), %esi
movzwl 0x1bf42(%rip), %edi     # 0x3123a
jmp 0x15320
callq 0x15af3
movzwl %ax, %edx
leal -0x1(%rdx), %esi
movzwl 0x1bf2a(%rip), %edi     # 0x31236
jmp 0x15320
callq 0x15e82
movzwl %ax, %edx
leal -0x1(%rdx), %esi
movzwl 0x1bf1e(%rip), %edi     # 0x3123e
leal -0x1(%rdi), %ecx
leaq 0xbdfe(%rip), %r8       # 0x21128
movzbl (%r8), %eax
decb %dil
testw %dx, %dx
cmovnel %esi, %ecx
leal -0x1(%rax), %edx
movb %dl, (%r8)
leaq 0xbdfc(%rip), %rbx      # 0x21140
movb %ch, 0x100(%rbx,%rax)
movzbl %dil, %ecx
cmovnel %esi, %ecx
addl $-0x2, %eax
movb %al, (%r8)
movzbl %dl, %eax
movb %cl, 0x100(%rbx,%rax)
jmp 0x155fe
cmpl $0xffb7, %esi           # imm = 0xFFB7
jne 0x15a6d
movb 0x1bdd7(%rip), %al      # 0x31150
leaq 0x1bdc5(%rip), %rcx     # 0x31145
movb %al, (%rcx)
jmp 0x155fe
leaq 0x1bdb4(%rip), %rax     # 0x31142
movzbl (%rax), %eax
leaq 0x1bdb0(%rip), %rcx     # 0x31148
movzbl (%rcx), %ecx
shll $0x8, %ecx
orl %eax, %ecx
movw %cx, 0x1bea3(%rip)      # 0x3124a
leaq 0x1bd97(%rip), %rax     # 0x31145
movb (%rax), %al
movb %al, 0x1be96(%rip)      # 0x3124c
jmp 0x155fe
movb $0x0, 0x1bd8e(%rip)     # 0x31150
movzbl 0x1be84(%rip), %eax     # 0x3124d
leaq 0x1bd90(%rip), %rbx     # 0x31160
cmpq $0x0, (%rbx,%rax,8)
je 0x15687
leaq 0x1bd64(%rip), %rax     # 0x31146
movb $0x1, (%rax)
leaq 0x1bd59(%rip), %rax     # 0x31145
movb $0x2, (%rax)
jmp 0x155fe
movzbl 0x1be52(%rip), %eax     # 0x3124d
leaq 0x1bd5e(%rip), %rbx     # 0x31160
movq (%rbx,%rax,8), %rdi
testq %rdi, %rdi
je 0x15424
callq 0x1070
movzbl 0x1be36(%rip), %eax     # 0x3124d
movq $0x0, (%rbx,%rax,8)
jmp 0x155f4
leaq 0x1bd1b(%rip), %rax     # 0x31146
movb $0x1, (%rax)
leaq 0x1bd10(%rip), %rax     # 0x31145
movb $0x3, (%rax)
jmp 0x155fe
movzbl 0x1be08(%rip), %eax     # 0x3124c
testq %rax, %rax
je 0x15713
movzwl 0x1bdf6(%rip), %ecx     # 0x3124a
addq %rcx, %rax
movb $0x0, (%rdi,%rax)
addq %rcx, %rdi
leaq 0xa386(%rip), %rsi      # 0x1f7eb
callq 0x11f0
testq %rax, %rax
je 0x15726
movq %rax, %rbx
movzbl %bpl, %edi
movq %rax, %rsi
callq 0x1130
movl %ebp, %edi
shrl $0x8, %edi
movq %rbx, %rsi
callq 0x1130
movzwl %bp, %edi
addq 0xbb2f(%rip), %rdi      # 0x20fc8
movslq %r15d, %rsi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x1210
movq %rbx, %rdi
callq 0x1070
leaq 0x1bc8e(%rip), %rax     # 0x31146
xorl %ecx, %ecx
movb %cl, (%rax)
movb %cl, (%r14)
jmp 0x155fe
movzbl 0x1bc8e(%rip), %eax     # 0x31159
leaq 0x1bd0e(%rip), %r14     # 0x311e0
cmpl $-0x1, (%r14,%rax,4)
jne 0x154ed
movq (%rbx,%rax,8), %rdi
callq 0x1110
movzbl 0x1bc70(%rip), %ecx     # 0x31159
movl %eax, (%r14,%rcx,4)
movzbl 0x1bc65(%rip), %eax     # 0x31159
movb (%r14,%rax,4), %cl
leaq 0x1bc46(%rip), %rdx     # 0x31145
movb %cl, (%rdx)
movq (%rbx,%rax,8), %rdi
callq 0x1110
movzbl 0x1bc48(%rip), %ecx     # 0x31159
movl %eax, (%r14,%rcx,4)
cmpl $-0x1, %eax
jne 0x155f4
orb $0x40, 0x1bc2b(%rip)    # 0x31150
jmp 0x155f4
movl $0xe10f, %edi           # imm = 0xE10F
movl $0xab4a, %esi           # imm = 0xAB4A
movl $0xab30, %edx           # imm = 0xAB30
movl $0xe430, %ecx           # imm = 0xE430
callq 0x14670
testl %eax, %eax
jne 0x155f4
movl $0xe10f, %edi           # imm = 0xE10F
movl $0xab4a, %esi           # imm = 0xAB4A
movl $0xab30, %edx           # imm = 0xAB30
movl $0xe43d, %ecx           # imm = 0xE43D
callq 0x14670
testl %eax, %eax
jne 0x155f4
movl $0xe10f, %edi           # imm = 0xE10F
movl $0xab4a, %esi           # imm = 0xAB4A
movl $0xab30, %edx           # imm = 0xAB30
movl $0xe444, %ecx           # imm = 0xE444
callq 0x14670
testl %eax, %eax
jne 0x155f4
jmp 0x14a02
movq 0x1bc93(%rip), %rdi     # 0x31228
testq %rdi, %rdi
je 0x155dc
cmpl $0x0, 0x1bc9f(%rip)     # 0x31240
je 0x157f0
movslq 0x1bc96(%rip), %rax     # 0x31244
leal 0x1(%rax), %ecx
movl %ecx, 0x1bc8d(%rip)     # 0x31244
leaq 0xa259(%rip), %rdx      # 0x1f817
movb (%rax,%rdx), %al
leaq 0x1bb7d(%rip), %rdx     # 0x31145
movb %al, (%rdx)
cmpl $0x4, %ecx
jne 0x155f4
movq $0x0, 0x1bc4e(%rip) # 0x31228
jmp 0x155f4
callq 0x1150
cmpb $0xa, %al
movl $0xd, %ecx
cmovnel %eax, %ecx
leaq 0x1bb53(%rip), %rax     # 0x31145
movb %cl, (%rax)
leaq 0x1bb4b(%rip), %rax     # 0x31146
movb $0x0, (%rax)
movl $0x1, %ebx
movl %ebx, %eax
addq $0xb8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movb $0x8, %bl
jmp 0x158e5
leaq (%rdx,%rcx), %rdi
addq %rcx, %rax
movb $0x0, (%rdx,%rax)
leaq 0x28(%rsp), %rsi
callq 0x1170
movb $0x4, %bl
cmpl $-0x1, %eax
je 0x158e5
movl $0xf000, %eax           # imm = 0xF000
andl 0x40(%rsp), %eax
movzwl 0x1bbfc(%rip), %edi     # 0x3124a
addq 0xb973(%rip), %rdi      # 0x20fc8
cmpl $0x4000, %eax           # imm = 0x4000
jne 0x1574f
callq 0x10a0
cmpl $-0x1, %eax
je 0x158e3
leaq 0xbacb(%rip), %rax      # 0x21140
movw $0x0, 0x801(%rax)
movw $0x803, %bx             # imm = 0x803
jmp 0x158c4
movzbl 0x1bbbe(%rip), %eax     # 0x3124c
testq %rax, %rax
je 0x15739
movzwl 0x1bbac(%rip), %edi     # 0x3124a
addq %rdi, %rax
leaq 0xba98(%rip), %r14      # 0x21140
movb (%r14,%rax), %bpl
cmpb $0x0, 0x1bb9c(%rip)     # 0x3124f
leaq 0xa0de(%rip), %rcx      # 0x1f798
leaq 0xa106(%rip), %rsi      # 0x1f7c7
cmoveq %rcx, %rsi
movb $0x0, (%r14,%rax)
addq %r14, %rdi
callq 0x11f0
movzbl 0x1bb74(%rip), %ecx     # 0x3124d
movq %rax, (%rbx,%rcx,8)
movzwl 0x1bb66(%rip), %edx     # 0x3124a
movzbl 0x1bb61(%rip), %esi     # 0x3124c
addq %rdx, %rsi
movb %bpl, (%r14,%rsi)
testq %rax, %rax
je 0x15830
leaq 0x1bade(%rip), %rax     # 0x311e0
movl $0xffffffff, (%rax,%rcx,4) # imm = 0xFFFFFFFF
jmp 0x155f4
jmp 0x158b4
leaq 0x1ba2c(%rip), %rax     # 0x31146
movb $0x1, (%rax)
movb $0x8, (%r14)
jmp 0x155fe
leaq 0x1ba19(%rip), %rax     # 0x31146
movb $0x1, (%rax)
movb $0x4, (%r14)
jmp 0x155fe
leaq 0x1ba06(%rip), %rax     # 0x31146
movb $0x1, (%rax)
leaq 0x1b9fb(%rip), %rax     # 0x31145
jmp 0x14ae0
leaq 0xa075(%rip), %rsi      # 0x1f7cb
callq 0x11f0
testq %rax, %rax
je 0x158e5
movq %rax, %r15
movq %rax, %rdi
callq 0x1110
movzbl %al, %ebp
movq %r15, %rdi
callq 0x1110
shll $0x8, %eax
orl %eax, %ebp
leaq 0x1b9bc(%rip), %rax     # 0x31142
movzbl (%rax), %eax
leaq 0x1b9b8(%rip), %rcx     # 0x31148
movzbl (%rcx), %ebx
shll $0x8, %ebx
orl %eax, %ebx
cmpb $0x0, 0x1bab0(%rip)     # 0x3124f
cmovnel %ebp, %ebx
movl $0xffff, %ebp           # imm = 0xFFFF
movl %ebx, %r14d
andl %ebp, %r14d
leaq 0xb98c(%rip), %rdi      # 0x21140
addq %r14, %rdi
movl $0x10000, %edx          # imm = 0x10000
subl %r14d, %edx
movl $0x1, %esi
movq %r15, %rcx
callq 0x1060
addl %eax, %ebx
movl %ebx, %edx
andl %ebp, %edx
leaq 0x9ff5(%rip), %rdi      # 0x1f7ce
movl %r14d, %esi
xorl %eax, %eax
callq 0x10c0
movq %r15, %rdi
callq 0x1070
jmp 0x158c4
callq 0x1110
leaq 0x1b949(%rip), %rcx     # 0x31145
movb %al, (%rcx)
cmpb $-0x1, %al
jne 0x1581f
cmpl $0x1, 0x1ba17(%rip)     # 0x31220
jne 0x1581f
movl $0x1, %eax
movl %eax, 0x1ba2a(%rip)     # 0x31240
movl %eax, 0x1ba28(%rip)     # 0x31244
movb $0x52, (%rcx)
cmpb $0xa, (%rcx)
jne 0x155f4
movb $0xd, (%rcx)
jmp 0x155f4
leaq 0x1b90f(%rip), %rax     # 0x31146
movb $0x1, (%rax)
leaq 0x1b904(%rip), %rax     # 0x31145
movb $0x4, (%rax)
jmp 0x155fe
cmpl $0x0, 0x1b904(%rip)     # 0x31154
leaq 0x1b8ee(%rip), %rax     # 0x31145
movzbl (%rax), %edi
je 0x158f8
cmpl $0x22, %edi
ja 0x15881
movl %edi, %eax
movabsq $0x400002400, %rcx      # imm = 0x400002400
btq %rax, %rcx
jae 0x15881
movl $0x0, 0x1b8d3(%rip)     # 0x31154
callq 0x1030
jmp 0x15a1e
leaq 0xb8ae(%rip), %rbp      # 0x21140
movzwl %bx, %eax
movw $0x0, (%rbp,%rax)
movq %r13, %rdi
callq 0x1120
addl $0x2, %ebx
movl $0xc, %r14d
leaq 0x1b891(%rip), %r12     # 0x31145
cmpl $0x6, %r14d
je 0x158dc
cmpl $0xc, %r14d
jne 0x155fe
leaq 0x1b877(%rip), %rax     # 0x31142
movb %bl, (%rax)
leaq 0x1b874(%rip), %rax     # 0x31148
movb %bh, (%rax)
xorl %ebp, %ebp
xorl %ebx, %ebx
jmp 0x158e5
movb $0x5, %bl
movb $0x1, %bpl
jmp 0x158e5
movb $0x5, %bl
leaq 0x1b85a(%rip), %rax     # 0x31146
movb %bpl, (%rax)
movb %bl, (%r12)
jmp 0x155fe
leal -0x81(%rdi), %eax
cmpl $0x1e, %eax
ja 0x1591d
leaq 0x9e12(%rip), %rcx      # 0x1f71c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x8, %edi
jmp 0x15a19
leal -0xa(%rdi), %eax
cmpl $0x18, %eax
ja 0x15949
leaq 0x9d8c(%rip), %rcx      # 0x1f6b8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0xd, %edi
callq 0x1030
movl $0xa, %edi
jmp 0x15881
cmpl $0x5, %edi
jne 0x15881
xorl %edi, %edi
jmp 0x15a19
movl $0x6, %edi
jmp 0x15a19
movl $0x7, %edi
jmp 0x15a19
movl $0x5, %edi
jmp 0x15a19
movl $0xf, %edi
jmp 0x15a19
movl $0xe, %edi
jmp 0x15a19
movl $0xb, %edi
jmp 0x15a19
movl $0x9, %edi
jmp 0x15a19
movl $0x4, %edi
jmp 0x15a19
xorl %eax, %eax
callq 0x15f2a
jmp 0x15a1e
xorl %eax, %eax
callq 0x15f14
jmp 0x15a1e
movl $0xd, %edi
jmp 0x15a19
movl $0xa, %edi
jmp 0x15a19
xorl %edi, %edi
jmp 0x159e7
xorl %eax, %eax
callq 0x15f56
jmp 0x15a1e
movl $0xc, %edi
jmp 0x15a19
xorl %edi, %edi
xorl %esi, %esi
callq 0x15f82
jmp 0x15a1e
movl $0x1, %edi
callq 0x15f99
jmp 0x15a1e
movl $0x3, %edi
jmp 0x15a19
movl $0x1, 0x1b755(%rip)     # 0x31154
jmp 0x15881
movl $0x1, %edi
jmp 0x15a19
xorl %eax, %eax
callq 0x15f40
jmp 0x15a1e
movl $0x2, %edi
callq 0x15fbd
movq 0xb5bb(%rip), %rax      # 0x20fe0
movq (%rax), %rdi
callq 0x11c0
jmp 0x155f4
xorl %eax, %eax
callq 0x15f6c
jmp 0x15a1e
xorl %edi, %edi
callq 0x1200
leaq 0x1b6ff(%rip), %rax     # 0x31148
movzbl (%rax), %esi
leaq 0x1b6ef(%rip), %rax     # 0x31142
movzbl (%rax), %edx
leaq 0x9d91(%rip), %rdi      # 0x1f7ee
jmp 0x15a7e
leaq 0x9da2(%rip), %rdi      # 0x1f808
callq 0x1050
jmp 0x15a85
leaq 0xb6b4(%rip), %rax      # 0x21128
movzbl (%rax), %edx
leaq 0x9d2f(%rip), %rdi      # 0x1f7ad
xorl %eax, %eax
callq 0x10c0
movl $0x1, %edi
callq 0x1200
nop