// File: /workspace/github_cpp_makefile_star2_O3/Davidc2525[P]Leaf/parser/Scanner.cpp
// Function: Scanner::NextToken()
Token* Scanner::NextToken() {
	while (ch == ' ' ||
			(ch >= 9 && ch <= 10) || ch == 13 || ch == L' '
	) NextCh();
	if ((ch == L'/' && Comment0()) || (ch == L'(' && Comment1()) || (ch == L'/' && Comment2())) return NextToken();
	int recKind = noSym;
	int recEnd = pos;
	t = CreateToken();
	t->pos = pos; t->col = col; t->line = line; t->charPos = charPos;
	int state = start.state(ch);
	tlen = 0; AddCh();

	switch (state) {
		case -1: { t->kind = eofSym; break; } // NextCh already done
		case 0: {
			case_0:
			if (recKind != noSym) {
				tlen = recEnd - t->pos;
				SetScannerBehindT();
			}
			t->kind = recKind; break;
		} // NextCh already done
		case 1:
			{t->kind = 1; break;}
		case 2:
			case_2:
			recEnd = pos; recKind = 4;
			if ((ch >= L'0' && ch <= L'9') || (ch >= L'A' && ch <= L'Z') || ch == L'_' || (ch >= L'a' && ch <= L'z') || ch == 145 || ch == 177 || ch == 195) {AddCh(); goto case_2;}
			else {t->kind = 4; wchar_t *literal = coco_string_create(tval, 0, tlen); t->kind = keywords.get(literal, t->kind); coco_string_delete(literal); break;}
		case 3:
			if (ch <= 8 || (ch >= 11 && ch <= 12) || (ch >= 14 && ch <= 31) || (ch >= L'!' && ch <= L'&') || (ch >= L'(' && ch <= L'[') || (ch >= L']' && ch <= 65535)) {AddCh(); goto case_4;}
			else {goto case_0;}
		case 4:
			case_4:
			if (ch == 39) {AddCh(); goto case_5;}
			else {goto case_0;}
		case 5:
			case_5:
			{t->kind = 5; break;}
		case 6:
			case_6:
			if (ch <= 9 || (ch >= 11 && ch <= 12) || (ch >= 14 && ch <= L'!') || (ch >= L'#' && ch <= L'[') || (ch >= L']' && ch <= 65535)) {AddCh(); goto case_6;}
			else if (ch == L'"') {AddCh(); goto case_13;}
			else if (ch == 92) {AddCh(); goto case_7;}
			else {goto case_0;}
		case 7:
			case_7:
			if ((ch >= L'0' && ch <= L'3')) {AddCh(); goto case_30;}
			else if ((ch >= L'4' && ch <= L'7')) {AddCh(); goto case_12;}
			else if (ch == L'"' || ch == 39 || ch == 92 || ch == L'b' || ch == L'f' || ch == L'n' || ch == L'r' || ch == L't') {AddCh(); goto case_6;}
			else if (ch == L'u') {AddCh(); goto case_8;}
			else {goto case_0;}
		case 8:
			case_8:
			if ((ch >= L'0' && ch <= L'9') || (ch >= L'A' && ch <= L'F') || (ch >= L'a' && ch <= L'f')) {AddCh(); goto case_9;}
			else if (ch == L'u') {AddCh(); goto case_8;}
			else {goto case_0;}
		case 9:
			case_9:
			if ((ch >= L'0' && ch <= L'9') || (ch >= L'A' && ch <= L'F') || (ch >= L'a' && ch <= L'f')) {AddCh(); goto case_10;}
			else {goto case_0;}
		case 10:
			case_10:
			if ((ch >= L'0' && ch <= L'9') || (ch >= L'A' && ch <= L'F') || (ch >= L'a' && ch <= L'f')) {AddCh(); goto case_11;}
			else {goto case_0;}
		case 11:
			case_11:
			if ((ch >= L'0' && ch <= L'9') || (ch >= L'A' && ch <= L'F') || (ch >= L'a' && ch <= L'f')) {AddCh(); goto case_6;}
			else {goto case_0;}
		case 12:
			case_12:
			if (ch <= 9 || (ch >= 11 && ch <= 12) || (ch >= 14 && ch <= L'!') || (ch >= L'#' && ch <= L'[') || (ch >= L']' && ch <= 65535)) {AddCh(); goto case_6;}
			else if (ch == L'"') {AddCh(); goto case_13;}
			else if (ch == 92) {AddCh(); goto case_7;}
			else {goto case_0;}
		case 13:
			case_13:
			{t->kind = 6; break;}
		case 14:
			case_14:
			recEnd = pos; recKind = 7;
			if ((ch >= L'0' && ch <= L'9')) {AddCh(); goto case_14;}
			else if (ch == L'D' || ch == L'F' || ch == L'd' || ch == L'f') {AddCh(); goto case_25;}
			else if (ch == L'E' || ch == L'e') {AddCh(); goto case_15;}
			else {t->kind = 7; break;}
		case 15:
			case_15:
			if ((ch >= L'0' && ch <= L'9')) {AddCh(); goto case_17;}
			else if (ch == L'+' || ch == L'-') {AddCh(); goto case_16;}
			else {goto case_0;}
		case 16:
			case_16:
			if ((ch >= L'0' && ch <= L'9')) {AddCh(); goto case_17;}
			else {goto case_0;}
		case 17:
			case_17:
			recEnd = pos; recKind = 7;
			if ((ch >= L'0' && ch <= L'9')) {AddCh(); goto case_17;}
			else if (ch == L'D' || ch == L'F' || ch == L'd' || ch == L'f') {AddCh(); goto case_25;}
			else {t->kind = 7; break;}
		case 18:
			case_18:
			recEnd = pos; recKind = 7;
			if ((ch >= L'0' && ch <= L'9')) {AddCh(); goto case_18;}
			else if (ch == L'D' || ch == L'F' || ch == L'd' || ch == L'f') {AddCh(); goto case_25;}
			else if (ch == L'E' || ch == L'e') {AddCh(); goto case_19;}
			else {t->kind = 7; break;}
		case 19:
			case_19:
			if ((ch >= L'0' && ch <= L'9')) {AddCh(); goto case_21;}
			else if (ch == L'+' || ch == L'-') {AddCh(); goto case_20;}
			else {goto case_0;}
		case 20:
			case_20:
			if ((ch >= L'0' && ch <= L'9')) {AddCh(); goto case_21;}
			else {goto case_0;}
		case 21:
			case_21:
			recEnd = pos; recKind = 7;
			if ((ch >= L'0' && ch <= L'9')) {AddCh(); goto case_21;}
			else if (ch == L'D' || ch == L'F' || ch == L'd' || ch == L'f') {AddCh(); goto case_25;}
			else {t->kind = 7; break;}
		case 22:
			case_22:
			if ((ch >= L'0' && ch <= L'9')) {AddCh(); goto case_24;}
			else if (ch == L'+' || ch == L'-') {AddCh(); goto case_23;}
			else {goto case_0;}
		case 23:
			case_23:
			if ((ch >= L'0' && ch <= L'9')) {AddCh(); goto case_24;}
			else {goto case_0;}
		case 24:
			case_24:
			recEnd = pos; recKind = 7;
			if ((ch >= L'0' && ch <= L'9')) {AddCh(); goto case_24;}
			else if (ch == L'D' || ch == L'F' || ch == L'd' || ch == L'f') {AddCh(); goto case_25;}
			else {t->kind = 7; break;}
		case 25:
			case_25:
			{t->kind = 7; break;}
		case 26:
			case_26:
			if ((ch >= L'0' && ch <= L'1')) {AddCh(); goto case_27;}
			else {goto case_0;}
		case 27:
			case_27:
			recEnd = pos; recKind = 8;
			if ((ch >= L'0' && ch <= L'1') || ch == L'_') {AddCh(); goto case_27;}
			else {t->kind = 8; break;}
		case 28:
			case_28:
			recEnd = pos; recKind = 3;
			if ((ch >= L'0' && ch <= L'9')) {AddCh(); goto case_28;}
			else if (ch == L'.') {AddCh(); goto case_18;}
			else if (ch == L'E' || ch == L'e') {AddCh(); goto case_22;}
			else if (ch == L'D' || ch == L'F' || ch == L'd' || ch == L'f') {AddCh(); goto case_25;}
			else {t->kind = 3; break;}
		case 29:
			recEnd = pos; recKind = 3;
			if ((ch >= L'0' && ch <= L'9')) {AddCh(); goto case_28;}
			else if (ch == L'.') {AddCh(); goto case_18;}
			else if (ch == L'E' || ch == L'e') {AddCh(); goto case_22;}
			else if (ch == L'D' || ch == L'F' || ch == L'd' || ch == L'f') {AddCh(); goto case_25;}
			else if (ch == L'b') {AddCh(); goto case_26;}
			else {t->kind = 3; break;}
		case 30:
			case_30:
			if (ch <= 9 || (ch >= 11 && ch <= 12) || (ch >= 14 && ch <= L'!') || (ch >= L'#' && ch <= L'/') || (ch >= L'8' && ch <= L'[') || (ch >= L']' && ch <= 65535)) {AddCh(); goto case_6;}
			else if ((ch >= L'0' && ch <= L'7')) {AddCh(); goto case_31;}
			else if (ch == L'"') {AddCh(); goto case_13;}
			else if (ch == 92) {AddCh(); goto case_7;}
			else {goto case_0;}
		case 31:
			case_31:
			if (ch <= 9 || (ch >= 11 && ch <= 12) || (ch >= 14 && ch <= L'!') || (ch >= L'#' && ch <= L'[') || (ch >= L']' && ch <= 65535)) {AddCh(); goto case_6;}
			else if (ch == L'"') {AddCh(); goto case_13;}
			else if (ch == 92) {AddCh(); goto case_7;}
			else {goto case_0;}
		case 32:
			{t->kind = 9; break;}
		case 33:
			{t->kind = 10; break;}
		case 34:
			{t->kind = 11; break;}
		case 35:
			{t->kind = 15; break;}
		case 36:
			{t->kind = 16; break;}
		case 37:
			{t->kind = 24; break;}
		case 38:
			{t->kind = 25; break;}
		case 39:
			{t->kind = 26; break;}
		case 40:
			{t->kind = 27; break;}
		case 41:
			case_41:
			{t->kind = 30; break;}
		case 42:
			case_42:
			{t->kind = 31; break;}
		case 43:
			{t->kind = 32; break;}
		case 44:
			{t->kind = 34; break;}
		case 45:
			case_45:
			{t->kind = 35; break;}
		case 46:
			case_46:
			{t->kind = 36; break;}
		case 47:
			case_47:
			{t->kind = 37; break;}
		case 48:
			if (ch == L'=') {AddCh(); goto case_49;}
			else {goto case_0;}
		case 49:
			case_49:
			{t->kind = 38; break;}
		case 50:
			case_50:
			{t->kind = 40; break;}
		case 51:
			case_51:
			{t->kind = 42; break;}
		case 52:
			{t->kind = 43; break;}
		case 53:
			{t->kind = 44; break;}
		case 54:
			{t->kind = 45; break;}
		case 55:
			{t->kind = 46; break;}
		case 56:
			recEnd = pos; recKind = 2;
			if (ch == L'&') {AddCh(); goto case_45;}
			else {t->kind = 2; break;}
		case 57:
			recEnd = pos; recKind = 49;
			if ((ch >= L'0' && ch <= L'9')) {AddCh(); goto case_14;}
			else {t->kind = 49; break;}
		case 58:
			recEnd = pos; recKind = 12;
			if (ch == L'=') {AddCh(); goto case_47;}
			else {t->kind = 12; break;}
		case 59:
			recEnd = pos; recKind = 41;
			if (ch == L'<') {AddCh(); goto case_41;}
			else if (ch == L'=') {AddCh(); goto case_51;}
			else {t->kind = 41; break;}
		case 60:
			recEnd = pos; recKind = 39;
			if (ch == L'>') {AddCh(); goto case_42;}
			else if (ch == L'=') {AddCh(); goto case_50;}
			else {t->kind = 39; break;}
		case 61:
			recEnd = pos; recKind = 33;
			if (ch == L'|') {AddCh(); goto case_46;}
			else {t->kind = 33; break;}

	}
	AppendVal(t);
	return t;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movabsq $0x100002600, %r14      # imm = 0x100002600
movl 0x80(%rbx), %eax
cmpq $0x2f, %rax
ja 0xac66
btq %rax, %r14
jae 0xac4e
movq %rbx, %rdi
callq 0xa744
jmp 0xac32
cmpq $0x2f, %rax
jne 0xac66
movq %rbx, %rdi
callq 0xa8aa
testb %al, %al
jne 0xac32
movl 0x80(%rbx), %eax
cmpl $0x28, %eax
jne 0xac7d
movq %rbx, %rdi
callq 0xa950
testb %al, %al
jne 0xac32
movl 0x80(%rbx), %eax
cmpl $0x2f, %eax
jne 0xac8e
movq %rbx, %rdi
callq 0xaa2e
testb %al, %al
jne 0xac32
movl 0x28(%rbx), %r14d
movl 0x84(%rbx), %ebp
movq 0x10(%rbx), %rax
leaq 0x28(%rax), %rcx
cmpq 0x18(%rbx), %rcx
jb 0xacb2
movq %rbx, %rdi
callq 0xab0e
movq 0x10(%rbx), %rax
leaq 0x28(%rax), %rcx
movq %rcx, 0x10(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rax)
movq %rax, 0x58(%rbx)
movdqu 0x84(%rbx), %xmm0
pshufd $0xb4, %xmm0, %xmm0     # xmm0 = xmm0[0,1,3,2]
movdqu %xmm0, 0x4(%rax)
movl 0x80(%rbx), %eax
movq 0x40(%rbx), %rcx
movl %eax, %edx
andl $0x7f, %edx
movq (%rcx,%rdx,8), %rcx
testq %rcx, %rcx
je 0xacf9
cmpl %eax, (%rcx)
je 0xad42
movq 0x8(%rcx), %rcx
jmp 0xacea
movl $0x0, 0x6c(%rbx)
movq %rbx, %rdi
callq 0xa80c
cmpl 0x28(%rbx), %r14d
je 0xad20
movq 0x58(%rbx), %rax
subl 0x4(%rax), %ebp
movl %ebp, 0x6c(%rbx)
movq %rbx, %rdi
callq 0xb6b2
movq 0x58(%rbx), %rax
movl %r14d, (%rax)
movq 0x58(%rbx), %rsi
movq %rbx, %rdi
callq 0xab9e
movq 0x58(%rbx), %rax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl 0x4(%rcx), %r15d
movl $0x0, 0x6c(%rbx)
movq %rbx, %rdi
callq 0xa80c
incl %r15d
cmpl $0x3e, %r15d
ja 0xad27
leaq 0xe75b(%rip), %rax      # 0x194c0
movslq (%rax,%r15,4), %rcx
addq %rax, %rcx
movabsq $0x3f0000003f, %r15     # imm = 0x3F0000003F
jmpq *%rcx
movl 0x24(%rbx), %eax
movq 0x58(%rbx), %rcx
movl %eax, (%rcx)
jmp 0xad27
cmpl $0x3d, 0x80(%rbx)
jne 0xad08
movq %rbx, %rdi
callq 0xa80c
movq 0x58(%rbx), %rax
movl $0x26, (%rax)
jmp 0xad27
movq 0x58(%rbx), %rax
movl $0x10, (%rax)
jmp 0xad27
movq 0x58(%rbx), %rax
movl $0x2b, (%rax)
jmp 0xad27
movq 0x58(%rbx), %rax
movl $0x2e, (%rax)
jmp 0xad27
movq 0x58(%rbx), %rax
movl $0xb, (%rax)
jmp 0xad27
movq 0x58(%rbx), %rax
movl $0xf, (%rax)
jmp 0xad27
movq 0x58(%rbx), %rax
movl $0xa, (%rax)
jmp 0xad27
movq 0x58(%rbx), %rax
movl $0x20, (%rax)
jmp 0xad27
movq 0x58(%rbx), %rax
movl $0x9, (%rax)
jmp 0xad27
movl 0x80(%rbx), %eax
addl $-0x30, %eax
cmpl $0x9, %eax
ja 0xb23d
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
leal -0x30(%rax), %ecx
cmpl $0x9, %ecx
ja 0xae5a
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
leal -0x30(%rax), %ecx
cmpl $0xa, %ecx
jb 0xae44
addl $-0x44, %eax
cmpl $0x22, %eax
ja 0xb3f3
movabsq $0x500000005, %rcx      # imm = 0x500000005
btq %rax, %rcx
jb 0xb3eb
movabsq $0x200000002, %rcx      # imm = 0x200000002
btq %rax, %rcx
jae 0xb3f3
movl 0x84(%rbx), %ebp
movq %rbx, %rdi
callq 0xa80c
movl $0x7, %r14d
movl 0x80(%rbx), %eax
leal -0x30(%rax), %ecx
cmpl $0xa, %ecx
jb 0xaed8
cmpl $0x2d, %eax
je 0xaebe
cmpl $0x2b, %eax
jne 0xad08
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
addl $-0x30, %eax
cmpl $0x9, %eax
ja 0xad08
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
leal -0x30(%rax), %ecx
cmpl $0x9, %ecx
ja 0xb3d3
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
leal -0x30(%rax), %ecx
cmpl $0xa, %ecx
jb 0xaef2
jmp 0xb3d3
movq 0x58(%rbx), %rax
movl $0x1a, (%rax)
jmp 0xad27
movl 0x80(%rbx), %eax
cmpl $0x3d, %eax
je 0xb2a8
cmpl $0x3c, %eax
jne 0xb2bf
movq %rbx, %rdi
callq 0xa80c
movq 0x58(%rbx), %rax
movl $0x1e, (%rax)
jmp 0xad27
movq 0x58(%rbx), %rax
movl $0x1, (%rax)
jmp 0xad27
movabsq $0x4000100000001, %r14  # imm = 0x4000100000001
movl 0x80(%rbx), %eax
leal -0x30(%rax), %ecx
cmpl $0xa, %ecx
jb 0xaf94
cmpl $0x5f, %eax
je 0xaf94
movl %eax, %ecx
andl $-0x21, %ecx
addl $-0x41, %ecx
cmpl $0x1a, %ecx
jb 0xaf94
addl $0xffffff6f, %eax       # imm = 0xFFFFFF6F
cmpl $0x32, %eax
ja 0xaf9e
btq %rax, %r14
jae 0xaf9e
movq %rbx, %rdi
callq 0xa80c
jmp 0xaf64
movq 0x58(%rbx), %rax
movl $0x4, (%rax)
movq 0x60(%rbx), %rdi
movl 0x6c(%rbx), %edx
xorl %esi, %esi
callq 0x915a
movq %rax, %r14
leaq 0x48(%rbx), %rdi
movq 0x58(%rbx), %rax
movl (%rax), %edx
movq %r14, %rsi
callq 0xb914
movq 0x58(%rbx), %rcx
movl %eax, (%rcx)
movq %r14, %rdi
callq 0x5360
jmp 0xad27
movl 0x80(%rbx), %eax
cmpl $0x9, %eax
setl %cl
movd %eax, %xmm0
pshufd $0x0, %xmm0, %xmm0      # xmm0 = xmm0[0,0,0,0]
paddd 0xe4a5(%rip), %xmm0     # 0x194a0
addl $-0x5d, %eax
cmpl $0xffa3, %eax           # imm = 0xFFA3
setb %al
pxor 0xe472(%rip), %xmm0     # 0x19480
pcmpgtd 0xe49a(%rip), %xmm0     # 0x194b0
movmskps %xmm0, %edx
cmpl $0xf, %edx
setne %dl
orb %cl, %al
orb %dl, %al
cmpb $0x1, %al
jne 0xad08
movq %rbx, %rdi
callq 0xa80c
cmpl $0x27, 0x80(%rbx)
jne 0xad08
movq %rbx, %rdi
callq 0xa80c
movq 0x58(%rbx), %rax
movl $0x5, (%rax)
jmp 0xad27
movq 0x58(%rbx), %rax
movl $0x1b, (%rax)
jmp 0xad27
movl 0x80(%rbx), %eax
cmpl $0x3d, %eax
je 0xb2ce
cmpl $0x3e, %eax
jne 0xb2e5
movq %rbx, %rdi
callq 0xa80c
movq 0x58(%rbx), %rax
movl $0x1f, (%rax)
jmp 0xad27
cmpl $0x7c, 0x80(%rbx)
jne 0xb24c
movq %rbx, %rdi
callq 0xa80c
movq 0x58(%rbx), %rax
movl $0x24, (%rax)
jmp 0xad27
movl 0x80(%rbx), %eax
leal -0x30(%rax), %ecx
cmpl $0x9, %ecx
ja 0xb25b
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
leal -0x30(%rax), %ecx
cmpl $0x9, %ecx
ja 0xb0f7
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
leal -0x30(%rax), %ecx
cmpl $0xa, %ecx
jb 0xb0e1
addl $-0x2e, %eax
cmpl $0x38, %eax
ja 0xb444
movabsq $0x140000001400000, %rcx # imm = 0x140000001400000
btq %rax, %rcx
jb 0xb3eb
movabsq $0x80000000800000, %rcx # imm = 0x80000000800000
btq %rax, %rcx
jae 0xb2f4
movl 0x84(%rbx), %ebp
movq %rbx, %rdi
callq 0xa80c
movl $0x3, %r14d
movl 0x80(%rbx), %eax
leal -0x30(%rax), %ecx
cmpl $0xa, %ecx
jb 0xb175
cmpl $0x2d, %eax
je 0xb15b
cmpl $0x2b, %eax
jne 0xad08
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
addl $-0x30, %eax
cmpl $0x9, %eax
ja 0xad08
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
leal -0x30(%rax), %ecx
cmpl $0x9, %ecx
ja 0xb3d3
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
leal -0x30(%rax), %ecx
cmpl $0xa, %ecx
jb 0xb18f
jmp 0xb3d3
movq 0x58(%rbx), %rax
movl $0x22, (%rax)
jmp 0xad27
movq 0x58(%rbx), %rax
movl $0x19, (%rax)
jmp 0xad27
cmpl $0x26, 0x80(%rbx)
jne 0xb28a
movq %rbx, %rdi
callq 0xa80c
movq 0x58(%rbx), %rax
movl $0x23, (%rax)
jmp 0xad27
cmpl $0x3d, 0x80(%rbx)
jne 0xb299
movq %rbx, %rdi
callq 0xa80c
movq 0x58(%rbx), %rax
movl $0x25, (%rax)
jmp 0xad27
movq 0x58(%rbx), %rax
movl $0x18, (%rax)
jmp 0xad27
movq 0x58(%rbx), %rax
movl $0x2c, (%rax)
jmp 0xad27
movq 0x58(%rbx), %rax
movl $0x2d, (%rax)
jmp 0xad27
movq 0x58(%rbx), %rax
movl $0x31, (%rax)
jmp 0xad27
movq 0x58(%rbx), %rax
movl $0x21, (%rax)
jmp 0xad27
movl 0x84(%rbx), %ebp
cmpl $0x45, %eax
jg 0xb402
cmpl $0x2e, %eax
je 0xb2fd
cmpl $0x44, %eax
je 0xb3eb
cmpl $0x45, %eax
je 0xb131
jmp 0xb444
movq 0x58(%rbx), %rax
movl $0x2, (%rax)
jmp 0xad27
movq 0x58(%rbx), %rax
movl $0xc, (%rax)
jmp 0xad27
movq %rbx, %rdi
callq 0xa80c
movq 0x58(%rbx), %rax
movl $0x2a, (%rax)
jmp 0xad27
movq 0x58(%rbx), %rax
movl $0x29, (%rax)
jmp 0xad27
movq %rbx, %rdi
callq 0xa80c
movq 0x58(%rbx), %rax
movl $0x28, (%rax)
jmp 0xad27
movq 0x58(%rbx), %rax
movl $0x27, (%rax)
jmp 0xad27
testq %rax, %rax
jne 0xb444
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
leal -0x30(%rax), %ecx
cmpl $0x9, %ecx
ja 0xb329
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
leal -0x30(%rax), %ecx
cmpl $0xa, %ecx
jb 0xb313
addl $-0x44, %eax
cmpl $0x22, %eax
ja 0xb3f3
movabsq $0x500000005, %rcx      # imm = 0x500000005
btq %rax, %rcx
jb 0xb3eb
movabsq $0x200000002, %rcx      # imm = 0x200000002
btq %rax, %rcx
jae 0xb3f3
movl 0x84(%rbx), %ebp
movq %rbx, %rdi
callq 0xa80c
movl $0x7, %r14d
movl 0x80(%rbx), %eax
leal -0x30(%rax), %ecx
cmpl $0xa, %ecx
jb 0xb3a7
cmpl $0x2d, %eax
je 0xb38d
cmpl $0x2b, %eax
jne 0xad08
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
addl $-0x30, %eax
cmpl $0x9, %eax
ja 0xad08
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
leal -0x30(%rax), %ecx
cmpl $0x9, %ecx
ja 0xb3d3
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
leal -0x30(%rax), %ecx
cmpl $0xa, %ecx
jb 0xb3bd
addl $-0x44, %eax
cmpl $0x22, %eax
ja 0xb3f3
movabsq $0x500000005, %rcx      # imm = 0x500000005
btq %rax, %rcx
jae 0xb3f3
movq %rbx, %rdi
callq 0xa80c
movq 0x58(%rbx), %rax
movl $0x7, (%rax)
jmp 0xad27
leal -0x62(%rax), %ecx
cmpl $0x4, %ecx
ja 0xb43f
leaq 0xe1ab(%rip), %rax      # 0x195bc
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq %rbx, %rdi
callq 0xa80c
movl $0x3, %r14d
movl 0x80(%rbx), %eax
andl $-0x2, %eax
cmpl $0x30, %eax
jne 0xad08
jmp 0xb67c
cmpl $0x46, %eax
je 0xb3eb
movq 0x58(%rbx), %rax
movl $0x3, (%rax)
jmp 0xad27
movabsq $-0x77dfffffffffffff, %rdx # imm = 0x8820000000000001
btq %rcx, %rdx
jae 0xb57f
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
cmpl $0xa, %eax
jl 0xb467
setne %cl
cmpl $0xd, %eax
setb %dl
andb %cl, %dl
leal -0xe(%rax), %ecx
cmpl $0x14, %ecx
setb %cl
orb %dl, %cl
leal -0x23(%rax), %edx
cmpl $0x39, %edx
setb %dl
leal -0x5d(%rax), %esi
cmpl $0xffa3, %esi           # imm = 0xFFA3
setb %sil
orb %dl, %sil
orb %cl, %sil
jne 0xb467
cmpl $0x5c, %eax
je 0xb4d3
cmpl $0x22, %eax
jne 0xad08
movq %rbx, %rdi
callq 0xa80c
movq 0x58(%rbx), %rax
movl $0x6, (%rax)
jmp 0xad27
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
movl %eax, %ecx
andl $-0x4, %ecx
cmpl $0x34, %ecx
je 0xb467
cmpl $0x30, %ecx
jne 0xb573
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
cmpl $0xa, %eax
jl 0xb467
setne %cl
cmpl $0xd, %eax
setb %dl
testb %dl, %cl
jne 0xb467
movd %eax, %xmm0
pshufd $0x0, %xmm0, %xmm0      # xmm0 = xmm0[0,0,0,0]
paddd 0xdf43(%rip), %xmm0     # 0x19470
pxor 0xdf4b(%rip), %xmm0     # 0x19480
pcmpgtd 0xdf53(%rip), %xmm0     # 0x19490
movmskps %xmm0, %ecx
xorl $0xf, %ecx
testb %cl, %cl
jne 0xb467
movl %eax, %ecx
andl $0x7ffffff8, %ecx       # imm = 0x7FFFFFF8
cmpl $0x30, %ecx
je 0xb467
cmpl $0x5c, %eax
je 0xb4d3
cmpl $0x22, %eax
jne 0xad08
jmp 0xb4bc
leal -0x27(%rax), %ecx
cmpl $0x3f, %ecx
jbe 0xb453
leal -0x6e(%rax), %ecx
cmpl $0x7, %ecx
ja 0xb66e
leaq 0xe03e(%rip), %rax      # 0x195d0
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
leal -0x30(%rax), %ecx
jmp 0xb5c1
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
movl %eax, %ecx
addl $-0x30, %ecx
cmpl $0xa, %ecx
jb 0xb5e1
cmpl $0x75, %eax
je 0xb5ae
addl $-0x41, %eax
cmpl $0x25, %eax
ja 0xad08
btq %rax, %r15
jae 0xad08
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
leal -0x30(%rax), %ecx
cmpl $0xa, %ecx
jb 0xb60d
addl $-0x41, %eax
cmpl $0x25, %eax
ja 0xad08
btq %rax, %r15
jae 0xad08
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
leal -0x30(%rax), %ecx
cmpl $0xa, %ecx
jb 0xb639
addl $-0x41, %eax
cmpl $0x25, %eax
ja 0xad08
btq %rax, %r15
jae 0xad08
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
leal -0x30(%rax), %ecx
cmpl $0xa, %ecx
jb 0xb467
addl $-0x41, %eax
cmpl $0x25, %eax
ja 0xad08
btq %rax, %r15
jb 0xb467
jmp 0xad08
cmpl $0x22, %eax
je 0xb467
jmp 0xad08
movq %rbx, %rdi
callq 0xa80c
movl 0x80(%rbx), %eax
addl $-0x30, %eax
cmpl $0x2f, %eax
ja 0xb6a2
movabsq $0x800000000003, %rcx   # imm = 0x800000000003
btq %rax, %rcx
jb 0xb67c
movq 0x58(%rbx), %rax
movl $0x8, (%rax)
jmp 0xad27
nop