// File: /workspace/github_c_makefile_star2_O0/tvlabs[P]edge264/./edge264_slice.c
// Function: parse_I_mb_cabac
static noinline void CAFUNC(parse_I_mb, int mb_type_or_ctxIdx)
{
	static const uint8_t me_intra[48] = {174, 173, 172, 0, 45, 169, 165, 141, 44, 168, 164, 140, 46, 170, 166, 142, 1, 40, 36, 136, 132, 41, 37, 137, 133, 42, 38, 138, 134, 32, 8, 4, 128, 33, 9, 5, 129, 12, 160, 13, 161, 2, 34, 10, 6, 130, 14, 162};
	
	// Intra-specific initialisations
	#if CABAC
		ctx->nC_inc_v[0] = ctx->nC_inc_v[1] = ctx->nC_inc_v[2] = (i8x16){};
		if (ctx->unavail4x4[0] & 1) {
			mb->bits[1] |= 0x111111; // FIXME 4:2:2
			ctx->nC_inc_v[0] += (i8x16){1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0};
			ctx->nC_inc_v[1] += (i8x16){1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0};
			ctx->inc.coded_block_flags_16x16_s |= 0x010101;
		}
		if (ctx->unavail4x4[0] & 2) {
			mb->bits[1] |= 0x424242;
			ctx->nC_inc_v[0] += (i8x16){2, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
			ctx->nC_inc_v[1] += (i8x16){2, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
			ctx->inc.coded_block_flags_16x16_s |= 0x020202;
		}
	#endif
	mb->mbIsInterFlag = 0;
	mb->f.inter_eqs_s = little_endian32(0x1b5fbbff);
	mb->refIdx_l = -1;
	mb->refPic_l = -1;
	mb->mvs_v[0] = mb->mvs_v[1] = mb->mvs_v[2] = mb->mvs_v[3] = mb->mvs_v[4] = mb->mvs_v[5] = mb->mvs_v[6] = mb->mvs_v[7] = (i16x8){};
	
	// I_NxN
	if (CACOND(mb_type_or_ctxIdx == 0, !get_ae(ctx, mb_type_or_ctxIdx))) {
		#if CABAC
			mb->f.mb_type_I_NxN = 1;
			log_mb(ctx, (mb_type_or_ctxIdx == 17) ? "    mb_type: 5\n" : // in P slice
								 (mb_type_or_ctxIdx == 32) ? "    mb_type: 23\n" : // in B slice
																	  "    mb_type: 0\n"); // in I slice
		#endif
		
		// 7.3.5, 7.4.5, 9.3.3.1.1.10 and table 9-34
		int transform_size_8x8_flag = 0;
		if (ctx->t.pps.transform_8x8_mode_flag) {
			transform_size_8x8_flag = CACOND(get_u1(&ctx->t._gb), get_ae(ctx, 399 + ctx->inc.transform_size_8x8_flag));
			log_mb(ctx, "    transform_size_8x8_flag: %u\n", transform_size_8x8_flag);
		}
		
		mb->Intra4x4PredMode_v = (i8x16){-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2}; // default values when A/B is unavailable
		if (transform_size_8x8_flag) {
			mb->f.transform_size_8x8_flag = transform_size_8x8_flag;
			log_mb(ctx, "    rem_intra8x8_pred_modes: [");
			for (int i = 0; i < 16; i += 4)
				mb->Intra4x4PredMode[i + 1] = mb->Intra4x4PredMode[i + 2] = mb->Intra4x4PredMode[i + 3] = CACALL(parse_intraNxN_pred_mode, i);
			log_mb(ctx, "]\n    Intra8x8PredModes: [%u,%u,%u,%u]\n",
				mb->Intra4x4PredMode[0], mb->Intra4x4PredMode[4], mb->Intra4x4PredMode[8], mb->Intra4x4PredMode[12]);
		} else {
			log_mb(ctx, "    rem_intra4x4_pred_modes: [");
			for (int i = 0; i < 16; i++)
				mb->Intra4x4PredMode[i] = CACALL(parse_intraNxN_pred_mode, i);
			log_mb(ctx, "]\n    Intra4x4PredModes: [%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u,%u]\n",
				mb->Intra4x4PredMode[0], mb->Intra4x4PredMode[1], mb->Intra4x4PredMode[2], mb->Intra4x4PredMode[3],
				mb->Intra4x4PredMode[4], mb->Intra4x4PredMode[5], mb->Intra4x4PredMode[6], mb->Intra4x4PredMode[7],
				mb->Intra4x4PredMode[8], mb->Intra4x4PredMode[9], mb->Intra4x4PredMode[10], mb->Intra4x4PredMode[11],
				mb->Intra4x4PredMode[12], mb->Intra4x4PredMode[13], mb->Intra4x4PredMode[14], mb->Intra4x4PredMode[15]);
		}
		
		CACALL(parse_intra_chroma_pred_mode);
		CACALL(parse_coded_block_pattern, me_intra);
		CAJUMP(parse_NxN_residual);
	
	// Intra_16x16
	} else if (__builtin_expect(CACOND(mb_type_or_ctxIdx < 25, !cabac_terminate(ctx)), 1)) {
		#if !CABAC
			int mb_type = mb_type_or_ctxIdx - 1;
			mb->bits[0] = mb_type > 11 ? 0xac : 0; // zeroes ref_idx_nz as byproduct
			mb_type = mb_type > 11 ? mb_type - 12 : mb_type;
			mb->f.CodedBlockPatternChromaDC = mb_type > 3;
			mb->f.CodedBlockPatternChromaAC = mb_type >> 3;
			int mode = mb_type & 3;
		#else
			int ctxIdx = max(mb_type_or_ctxIdx, 5);
			mb->bits[0] = get_ae(ctx, ctxIdx + 1) ? 0xac : 0; // zeroes ref_idx_nz as byproduct
			int CodedBlockPatternChromaDC = get_ae(ctx, ctxIdx + 2);
			ctxIdx = max(ctxIdx, 6);
			if (CodedBlockPatternChromaDC) {
				mb->f.CodedBlockPatternChromaDC = 1;
				mb->f.CodedBlockPatternChromaAC = get_ae(ctx, ctxIdx + 2);
			}
			int mode = get_ae(ctx, ctxIdx + 3) << 1;
			mode += get_ae(ctx, max(ctxIdx + 3, 10));
			log_mb(ctx, "    mb_type: %u\n", (mb->bits[0] & 12) +
				(mb->f.CodedBlockPatternChromaDC + mb->f.CodedBlockPatternChromaAC) * 4 +
				mode + (ctxIdx == 17 ? 6 : ctxIdx == 32 ? 24 : 1));
		#endif
		
		// decode the samples before parsing residuals
		static const int8_t Intra16x16Modes[4][4] = {
			{I16x16_V_8 , I16x16_V_8  , I16x16_DCB_8, I16x16_DCAB_8},
			{I16x16_H_8 , I16x16_DCA_8, I16x16_H_8  , I16x16_DCAB_8},
			{I16x16_DC_8, I16x16_DCA_8, I16x16_DCB_8, I16x16_DCAB_8},
			{I16x16_P_8 , I16x16_DCA_8, I16x16_DCB_8, I16x16_DCAB_8},
		};
		mb->Intra4x4PredMode_v = (i8x16){2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
		decode_intra16x16(Intra16x16Modes[mode][ctx->unavail4x4[0] & 3], ctx->samples_mb[0], ctx->t.stride[0], ctx->t.samples_clip_v[0]); // FIXME 4:4:4
		CACALL(parse_intra_chroma_pred_mode);
		CAJUMP(parse_Intra16x16_residual);
		
	// I_PCM
	} else {
		#if !CABAC
			unsigned bits = (SIZE_BIT - 1 - ctz(ctx->t._gb.lsb_cache)) & 7;
			ctx->t._gb.msb_cache = shld(ctx->t._gb.lsb_cache, ctx->t._gb.msb_cache, bits);
			ctx->t._gb.lsb_cache = ctx->t._gb.lsb_cache << bits;
		#else
			log_mb(ctx, (mb_type_or_ctxIdx == 17) ? "    mb_type: 30\n" : (mb_type_or_ctxIdx == 32) ? "    mb_type: 48\n" : "    mb_type: 25\n");
		#endif
		
		ctx->mb_qp_delta_nz = 0;
		mb->f.v |= flags_twice.v; // ChromaDC, ChromaAC and flags_16x16, just what we need :)
		mb->QP_s = (i8x4){0, ctx->QP_C[0][0], ctx->QP_C[1][0]};
		mb->bits_l = (uint64_t)(i32x2){0xac, 0xacacac}; // FIXME 4:2:2
		mb->nC_v[0] = mb->nC_v[1] = mb->nC_v[2] = CACOND(
			((i8x16){16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16}),
			((i8x16){1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}));
		mb->Intra4x4PredMode_v = (i8x16){2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
		
		// PCM is so rare that it should be compact rather than fast
		int MbWidth = 16, y = 16;
		log_mb(ctx, "    pcm_samples:\n"
			"      bits_Y: %u\n"
			"      bits_C: %u\n",
			ctz(ctx->t.samples_clip[0][0] + 1), ctz(ctx->t.samples_clip[1][0] + 1));
		for (int iYCbCr = 0; iYCbCr < 3; iYCbCr++) {
			log_mb(ctx, "      %s: [", "Y\0\0Cb\0Cr" + iYCbCr * 3);
			int BitDepth = ctz(ctx->t.samples_clip[iYCbCr][0] + 1);
			for (uint8_t *p = ctx->samples_mb[iYCbCr]; y-- > 0; p += ctx->t.stride[iYCbCr]) {
				if (BitDepth == 8) {
					((uint32_t *)p)[0] = big_endian32(get_uv(&ctx->t._gb, 32));
					((uint32_t *)p)[1] = big_endian32(get_uv(&ctx->t._gb, 32));
					log_mb(ctx, "%u,%u,%u,%u,%u,%u,%u,%u,", p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7]);
					if (MbWidth == 16) {
						((uint32_t *)p)[2] = big_endian32(get_uv(&ctx->t._gb, 32));
						((uint32_t *)p)[3] = big_endian32(get_uv(&ctx->t._gb, 32));
						log_mb(ctx, "%u,%u,%u,%u,%u,%u,%u,%u,", p[8], p[9], p[10], p[11], p[12], p[13], p[14], p[15]);
					}
				} else for (int x = 0; x < MbWidth; x++) {
					((uint16_t *)p)[x] = get_uv(&ctx->t._gb, BitDepth);
					log_mb(ctx, "%u,", ((uint16_t *)p)[x]);
				}
			}
			log_mb(ctx, "]\n");
			MbWidth = (ctx->t.ChromaArrayType < 3) ? 8 : 16;
			y = (int8_t[4]){0, 8, 16, 16}[ctx->t.ChromaArrayType];
		}
		#if CABAC
			cabac_start(ctx);
		#endif
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x218, %rsp            # imm = 0x218
movq %rdi, -0x48(%rbp)
movl %esi, -0x4c(%rbp)
vpxor %xmm0, %xmm0, %xmm0
vmovdqa %xmm0, -0x60(%rbp)
vmovdqa -0x60(%rbp), %xmm0
movq -0x48(%rbp), %rax
vmovdqa %xmm0, 0x720(%rax)
movq -0x48(%rbp), %rax
vmovdqa %xmm0, 0x710(%rax)
movq -0x48(%rbp), %rax
vmovdqa %xmm0, 0x700(%rax)
movq -0x48(%rbp), %rax
movsbl 0x6d0(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0xad23d
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movl 0xc(%rax), %ecx
orl $0x111111, %ecx         # imm = 0x111111
movl %ecx, 0xc(%rax)
vmovdqa 0x1c391(%rip), %xmm0    # 0xc9570
vmovdqa %xmm0, -0x70(%rbp)
vmovdqa -0x70(%rbp), %xmm1
movq -0x48(%rbp), %rax
vmovdqa 0x700(%rax), %xmm0
vpaddb %xmm1, %xmm0, %xmm0
vmovdqa %xmm0, 0x700(%rax)
vmovdqa 0x1c377(%rip), %xmm0    # 0xc9580
vmovdqa %xmm0, -0x80(%rbp)
vmovdqa -0x80(%rbp), %xmm0
movq -0x48(%rbp), %rax
vpaddb 0x710(%rax), %xmm0, %xmm0
vmovdqa %xmm0, 0x710(%rax)
movq -0x48(%rbp), %rax
movl 0x6c8(%rax), %ecx
orl $0x10101, %ecx          # imm = 0x10101
movl %ecx, 0x6c8(%rax)
movq -0x48(%rbp), %rax
movsbl 0x6d0(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0xad2d5
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movl 0xc(%rax), %ecx
orl $0x424242, %ecx         # imm = 0x424242
movl %ecx, 0xc(%rax)
vmovdqa 0x1c31d(%rip), %xmm0    # 0xc9590
vmovdqa %xmm0, -0x90(%rbp)
vmovdqa -0x90(%rbp), %xmm2
movq -0x48(%rbp), %rax
vmovdqa 0x700(%rax), %xmm1
vpaddb %xmm2, %xmm1, %xmm1
vmovdqa %xmm1, 0x700(%rax)
vmovdqa %xmm0, -0xa0(%rbp)
vmovdqa -0xa0(%rbp), %xmm0
movq -0x48(%rbp), %rax
vpaddb 0x710(%rax), %xmm0, %xmm0
vmovdqa %xmm0, 0x710(%rax)
movq -0x48(%rbp), %rax
movl 0x6c8(%rax), %ecx
orl $0x20202, %ecx          # imm = 0x20202
movl %ecx, 0x6c8(%rax)
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movb $0x0, 0x2(%rax)
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movl $0x1b5fbbff, 0x2c(%rax) # imm = 0x1B5FBBFF
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movq $-0x1, 0x10(%rax)
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movq $-0x1, 0x18(%rax)
vpxor %xmm0, %xmm0, %xmm0
vmovdqa %xmm0, -0xb0(%rbp)
vmovdqa -0xb0(%rbp), %xmm0
vmovaps %xmm0, -0x160(%rbp)
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
vmovdqa %xmm0, 0x120(%rax)
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
vmovdqa %xmm0, 0x110(%rax)
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
vmovdqa %xmm0, 0x100(%rax)
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
vmovdqa %xmm0, 0xf0(%rax)
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
vmovdqa %xmm0, 0xe0(%rax)
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
vmovdqa %xmm0, 0xd0(%rax)
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
vmovdqa %xmm0, 0xc0(%rax)
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
vmovdqa %xmm0, 0xb0(%rax)
movq -0x48(%rbp), %rdi
movl -0x4c(%rbp), %esi
callq 0xae5c0
cmpl $0x0, %eax
jne 0xad9f6
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movb $0x1, 0x22(%rax)
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
cmpq $0x1000, %rax           # imm = 0x1000
jae 0xad4b0
movq -0x48(%rbp), %rax
addq $0x1cd2, %rax           # imm = 0x1CD2
movq -0x48(%rbp), %rcx
movswl 0x1cd0(%rcx), %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x170(%rbp)
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rcx
movl $0x1000, %eax           # imm = 0x1000
subq %rcx, %rax
movq %rax, -0x168(%rbp)
cmpl $0x11, -0x4c(%rbp)
jne 0xad45f
leaq 0x23765(%rip), %rax     # 0xd0bbb
movq %rax, -0x178(%rbp)
jmp 0xad47e
movl -0x4c(%rbp), %edx
leaq 0x235c7(%rip), %rax     # 0xd0a30
leaq 0x2375b(%rip), %rcx     # 0xd0bcb
cmpl $0x20, %edx
cmoveq %rcx, %rax
movq %rax, -0x178(%rbp)
movq -0x168(%rbp), %rsi
movq -0x170(%rbp), %rdi
movq -0x178(%rbp), %rdx
movb $0x0, %al
callq 0x7070
movl %eax, %edx
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %ecx
addl %edx, %ecx
movw %cx, 0x1cd0(%rax)
movl $0x0, -0xb4(%rbp)
movq -0x48(%rbp), %rax
cmpb $0x0, 0x22a(%rax)
je 0xad55a
movq -0x48(%rbp), %rdi
movq -0x48(%rbp), %rax
movsbl 0x6c4(%rax), %esi
addl $0x18f, %esi            # imm = 0x18F
callq 0xae5c0
movl %eax, -0xb4(%rbp)
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
cmpq $0x1000, %rax           # imm = 0x1000
jae 0xad558
movq -0x48(%rbp), %rdi
addq $0x1cd2, %rdi           # imm = 0x1CD2
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %eax
cltq
addq %rax, %rdi
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
movl $0x1000, %esi           # imm = 0x1000
subq %rax, %rsi
movl -0xb4(%rbp), %ecx
leaq 0x23442(%rip), %rdx     # 0xd097d
movb $0x0, %al
callq 0x7070
movl %eax, %edx
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %ecx
addl %edx, %ecx
movw %cx, 0x1cd0(%rax)
jmp 0xad55a
vmovdqa 0x1bd2e(%rip), %xmm0    # 0xc9290
vmovdqa %xmm0, -0xd0(%rbp)
vmovdqa -0xd0(%rbp), %xmm0
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
vmovdqa %xmm0, 0x30(%rax)
cmpl $0x0, -0xb4(%rbp)
je 0xad743
movl -0xb4(%rbp), %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movb %cl, 0x24(%rax)
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
cmpq $0x1000, %rax           # imm = 0x1000
jae 0xad60c
movq -0x48(%rbp), %rdi
addq $0x1cd2, %rdi           # imm = 0x1CD2
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %eax
cltq
addq %rax, %rdi
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
movl $0x1000, %esi           # imm = 0x1000
subq %rax, %rsi
leaq 0x23451(%rip), %rdx     # 0xd0a40
movb $0x0, %al
callq 0x7070
movl %eax, %edx
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %ecx
addl %edx, %ecx
movw %cx, 0x1cd0(%rax)
movl $0x0, -0xd4(%rbp)
cmpl $0x10, -0xd4(%rbp)
jge 0xad692
movq -0x48(%rbp), %rdi
movl -0xd4(%rbp), %esi
callq 0xb26f0
movb %al, %dl
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movl -0xd4(%rbp), %ecx
addl $0x3, %ecx
movslq %ecx, %rcx
movb %dl, 0x30(%rax,%rcx)
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movl -0xd4(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb %dl, 0x30(%rax,%rcx)
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movl -0xd4(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb %dl, 0x30(%rax,%rcx)
movl -0xd4(%rbp), %eax
addl $0x4, %eax
movl %eax, -0xd4(%rbp)
jmp 0xad616
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
cmpq $0x1000, %rax           # imm = 0x1000
jae 0xad73e
movq -0x48(%rbp), %rdi
addq $0x1cd2, %rdi           # imm = 0x1CD2
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %eax
cltq
addq %rax, %rdi
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
movl $0x1000, %esi           # imm = 0x1000
subq %rax, %rsi
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movsbl 0x30(%rax), %ecx
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movsbl 0x34(%rax), %r8d
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movsbl 0x38(%rax), %r9d
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movsbl 0x3c(%rax), %eax
leaq 0x23341(%rip), %rdx     # 0xd0a5f
movl %eax, (%rsp)
movb $0x0, %al
callq 0x7070
movl %eax, %edx
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %ecx
addl %edx, %ecx
movw %cx, 0x1cd0(%rax)
jmp 0xad9cf
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
cmpq $0x1000, %rax           # imm = 0x1000
jae 0xad7aa
movq -0x48(%rbp), %rdi
addq $0x1cd2, %rdi           # imm = 0x1CD2
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %eax
cltq
addq %rax, %rdi
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
movl $0x1000, %esi           # imm = 0x1000
subq %rax, %rsi
leaq 0x232fa(%rip), %rdx     # 0xd0a87
movb $0x0, %al
callq 0x7070
movl %eax, %edx
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %ecx
addl %edx, %ecx
movw %cx, 0x1cd0(%rax)
movl $0x0, -0xd8(%rbp)
cmpl $0x10, -0xd8(%rbp)
jge 0xad7f5
movq -0x48(%rbp), %rdi
movl -0xd8(%rbp), %esi
callq 0xb26f0
movb %al, %dl
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movslq -0xd8(%rbp), %rcx
movb %dl, 0x30(%rax,%rcx)
movl -0xd8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xd8(%rbp)
jmp 0xad7b4
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
cmpq $0x1000, %rax           # imm = 0x1000
jae 0xad9cd
movq -0x48(%rbp), %rdi
addq $0x1cd2, %rdi           # imm = 0x1CD2
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %eax
cltq
addq %rax, %rdi
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
movl $0x1000, %esi           # imm = 0x1000
subq %rax, %rsi
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movsbl 0x30(%rax), %ecx
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movsbl 0x31(%rax), %r8d
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movsbl 0x32(%rax), %r9d
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movsbl 0x33(%rax), %eax
movq -0x48(%rbp), %rdx
movq 0x680(%rdx), %rdx
movsbl 0x34(%rdx), %edx
movl %edx, -0x18c(%rbp)
movq -0x48(%rbp), %rdx
movq 0x680(%rdx), %rdx
movsbl 0x35(%rdx), %edx
movl %edx, -0x188(%rbp)
movq -0x48(%rbp), %rdx
movq 0x680(%rdx), %rdx
movsbl 0x36(%rdx), %edx
movl %edx, -0x184(%rbp)
movq -0x48(%rbp), %rdx
movq 0x680(%rdx), %rdx
movsbl 0x37(%rdx), %edx
movl %edx, -0x180(%rbp)
movq -0x48(%rbp), %rdx
movq 0x680(%rdx), %rdx
movsbl 0x38(%rdx), %r13d
movq -0x48(%rbp), %rdx
movq 0x680(%rdx), %rdx
movsbl 0x39(%rdx), %r12d
movq -0x48(%rbp), %rdx
movq 0x680(%rdx), %rdx
movsbl 0x3a(%rdx), %r15d
movq -0x48(%rbp), %rdx
movq 0x680(%rdx), %rdx
movsbl 0x3b(%rdx), %r14d
movq -0x48(%rbp), %rdx
movq 0x680(%rdx), %rdx
movsbl 0x3c(%rdx), %ebx
movq -0x48(%rbp), %rdx
movq 0x680(%rdx), %rdx
movsbl 0x3d(%rdx), %r11d
movq -0x48(%rbp), %rdx
movq 0x680(%rdx), %rdx
movsbl 0x3e(%rdx), %r10d
movq -0x48(%rbp), %rdx
movq 0x680(%rdx), %rdx
movsbl 0x3f(%rdx), %edx
movl %edx, -0x17c(%rbp)
leaq 0x2314d(%rip), %rdx     # 0xd0aa6
movl %eax, (%rsp)
movl -0x18c(%rbp), %eax
movl %eax, 0x8(%rsp)
movl -0x188(%rbp), %eax
movl %eax, 0x10(%rsp)
movl -0x184(%rbp), %eax
movl %eax, 0x18(%rsp)
movl -0x180(%rbp), %eax
movl %eax, 0x20(%rsp)
movl -0x17c(%rbp), %eax
movl %r13d, 0x28(%rsp)
movl %r12d, 0x30(%rsp)
movl %r15d, 0x38(%rsp)
movl %r14d, 0x40(%rsp)
movl %ebx, 0x48(%rsp)
movl %r11d, 0x50(%rsp)
movl %r10d, 0x58(%rsp)
movl %eax, 0x60(%rsp)
movb $0x0, %al
callq 0x7070
movl %eax, %edx
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %ecx
addl %edx, %ecx
movw %cx, 0x1cd0(%rax)
jmp 0xad9cf
movq -0x48(%rbp), %rdi
callq 0xb2870
movq -0x48(%rbp), %rdi
leaq 0x21f5d(%rip), %rsi     # 0xcf940
callq 0xb0290
movq -0x48(%rbp), %rdi
callq 0xb04a0
jmp 0xae487
movq -0x48(%rbp), %rdi
callq 0xae4a0
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0xadd10
movl -0x4c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movl $0x5, -0x30(%rbp)
movl -0x2c(%rbp), %eax
cmpl -0x30(%rbp), %eax
jle 0xada38
movl -0x2c(%rbp), %eax
movl %eax, -0x190(%rbp)
jmp 0xada41
movl -0x30(%rbp), %eax
movl %eax, -0x190(%rbp)
movl -0x190(%rbp), %eax
movl %eax, -0xdc(%rbp)
movq -0x48(%rbp), %rdi
movl -0xdc(%rbp), %esi
addl $0x1, %esi
callq 0xae5c0
movl %eax, %edx
xorl %ecx, %ecx
movl $0xac, %eax
cmpl $0x0, %edx
cmovnel %eax, %ecx
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movl %ecx, 0x8(%rax)
movq -0x48(%rbp), %rdi
movl -0xdc(%rbp), %esi
addl $0x2, %esi
callq 0xae5c0
movl %eax, -0xe0(%rbp)
movl -0xdc(%rbp), %eax
movl %eax, -0x34(%rbp)
movl $0x6, -0x38(%rbp)
movl -0x34(%rbp), %eax
cmpl -0x38(%rbp), %eax
jle 0xadab7
movl -0x34(%rbp), %eax
movl %eax, -0x194(%rbp)
jmp 0xadac0
movl -0x38(%rbp), %eax
movl %eax, -0x194(%rbp)
movl -0x194(%rbp), %eax
movl %eax, -0xdc(%rbp)
cmpl $0x0, -0xe0(%rbp)
je 0xadb06
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movb $0x1, 0x26(%rax)
movq -0x48(%rbp), %rdi
movl -0xdc(%rbp), %esi
addl $0x2, %esi
callq 0xae5c0
movb %al, %cl
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movb %cl, 0x27(%rax)
movq -0x48(%rbp), %rdi
movl -0xdc(%rbp), %esi
addl $0x3, %esi
callq 0xae5c0
shll %eax
movl %eax, -0xe4(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x1a0(%rbp)
movl -0xdc(%rbp), %eax
addl $0x3, %eax
movl %eax, -0x3c(%rbp)
movl $0xa, -0x40(%rbp)
movl -0x3c(%rbp), %eax
cmpl -0x40(%rbp), %eax
jle 0xadb51
movl -0x3c(%rbp), %eax
movl %eax, -0x1a4(%rbp)
jmp 0xadb5a
movl -0x40(%rbp), %eax
movl %eax, -0x1a4(%rbp)
movq -0x1a0(%rbp), %rdi
movl -0x1a4(%rbp), %esi
callq 0xae5c0
addl -0xe4(%rbp), %eax
movl %eax, -0xe4(%rbp)
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
cmpq $0x1000, %rax           # imm = 0x1000
jae 0xadc81
movq -0x48(%rbp), %rax
addq $0x1cd2, %rax           # imm = 0x1CD2
movq -0x48(%rbp), %rcx
movswl 0x1cd0(%rcx), %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x1b8(%rbp)
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rcx
movl $0x1000, %eax           # imm = 0x1000
subq %rcx, %rax
movq %rax, -0x1b0(%rbp)
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movl 0x8(%rax), %eax
andl $0xc, %eax
movq -0x48(%rbp), %rcx
movq 0x680(%rcx), %rcx
movsbl 0x26(%rcx), %ecx
movq -0x48(%rbp), %rdx
movq 0x680(%rdx), %rdx
movsbl 0x27(%rdx), %edx
addl %edx, %ecx
shll $0x2, %ecx
addl %ecx, %eax
addl -0xe4(%rbp), %eax
movl %eax, -0x1a8(%rbp)
cmpl $0x11, -0xdc(%rbp)
jne 0xadc25
movl $0x6, %eax
movl %eax, -0x1bc(%rbp)
jmp 0xadc41
movl -0xdc(%rbp), %edx
movl $0x1, %eax
movl $0x18, %ecx
cmpl $0x20, %edx
cmovel %ecx, %eax
movl %eax, -0x1bc(%rbp)
movq -0x1b0(%rbp), %rsi
movq -0x1b8(%rbp), %rdi
movl -0x1a8(%rbp), %ecx
movl -0x1bc(%rbp), %eax
addl %eax, %ecx
leaq 0x22cb2(%rip), %rdx     # 0xd0916
movb $0x0, %al
callq 0x7070
movl %eax, %edx
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %ecx
addl %edx, %ecx
movw %cx, 0x1cd0(%rax)
vmovdqa 0x1b5e7(%rip), %xmm0    # 0xc9270
vmovdqa %xmm0, -0x100(%rbp)
vmovdqa -0x100(%rbp), %xmm0
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
vmovdqa %xmm0, 0x30(%rax)
movslq -0xe4(%rbp), %rcx
leaq 0x21cb9(%rip), %rax     # 0xcf970
shlq $0x2, %rcx
addq %rcx, %rax
movq -0x48(%rbp), %rcx
movsbl 0x6d0(%rcx), %ecx
andl $0x3, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edi
movq -0x48(%rbp), %rax
movq 0x668(%rax), %rsi
movq -0x48(%rbp), %rax
movzwl 0x34(%rax), %eax
movl %eax, %edx
movq -0x48(%rbp), %rax
vmovdqa 0x170(%rax), %xmm0
callq 0xa4a50
movq -0x48(%rbp), %rdi
callq 0xb2870
movq -0x48(%rbp), %rdi
callq 0xb29d0
jmp 0xae487
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
cmpq $0x1000, %rax           # imm = 0x1000
jae 0xaddcc
movq -0x48(%rbp), %rax
addq $0x1cd2, %rax           # imm = 0x1CD2
movq -0x48(%rbp), %rcx
movswl 0x1cd0(%rcx), %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x1d0(%rbp)
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rcx
movl $0x1000, %eax           # imm = 0x1000
subq %rcx, %rax
movq %rax, -0x1c8(%rbp)
cmpl $0x11, -0x4c(%rbp)
jne 0xadd7b
leaq 0x22e6a(%rip), %rax     # 0xd0bdc
movq %rax, -0x1d8(%rbp)
jmp 0xadd9a
movl -0x4c(%rbp), %edx
leaq 0x22e79(%rip), %rax     # 0xd0bfe
leaq 0x22e61(%rip), %rcx     # 0xd0bed
cmpl $0x20, %edx
cmoveq %rcx, %rax
movq %rax, -0x1d8(%rbp)
movq -0x1c8(%rbp), %rsi
movq -0x1d0(%rbp), %rdi
movq -0x1d8(%rbp), %rdx
movb $0x0, %al
callq 0x7070
movl %eax, %edx
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %ecx
addl %edx, %ecx
movw %cx, 0x1cd0(%rax)
movq -0x48(%rbp), %rax
movb $0x0, 0x651(%rax)
vmovdqa 0x20a61(%rip), %xmm1    # 0xce840
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
vmovdqa 0x20(%rax), %xmm0
vpor %xmm1, %xmm0, %xmm0
vmovdqa %xmm0, 0x20(%rax)
movq -0x48(%rbp), %rax
movl 0x1ae0(%rax), %ecx
movl 0x1b20(%rax), %eax
vpxor %xmm0, %xmm0, %xmm0
vpinsrb $0x1, %ecx, %xmm0, %xmm0
vpinsrb $0x2, %eax, %xmm0, %xmm0
vmovd %xmm0, -0x104(%rbp)
movl -0x104(%rbp), %ecx
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movl %ecx, 0x4(%rax)
movabsq $0xacacac000000ac, %rax # imm = 0xACACAC000000AC
movq %rax, -0x110(%rbp)
movq -0x110(%rbp), %rcx
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
movq %rcx, 0x8(%rax)
vmovdqa 0x1b73d(%rip), %xmm0    # 0xc95a0
vmovdqa %xmm0, -0x120(%rbp)
vmovdqa -0x120(%rbp), %xmm0
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
vmovdqa %xmm0, 0x60(%rax)
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
vmovdqa %xmm0, 0x50(%rax)
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
vmovdqa %xmm0, 0x40(%rax)
vmovdqa 0x1b3c5(%rip), %xmm0    # 0xc9270
vmovdqa %xmm0, -0x130(%rbp)
vmovdqa -0x130(%rbp), %xmm0
movq -0x48(%rbp), %rax
movq 0x680(%rax), %rax
vmovdqa %xmm0, 0x30(%rax)
movl $0x10, -0x134(%rbp)
movl $0x10, -0x138(%rbp)
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
cmpq $0x1000, %rax           # imm = 0x1000
jae 0xadf79
movq -0x48(%rbp), %rdi
addq $0x1cd2, %rdi           # imm = 0x1CD2
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %eax
cltq
addq %rax, %rdi
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
movl $0x1000, %esi           # imm = 0x1000
subq %rax, %rsi
movq -0x48(%rbp), %rax
movzwl 0x170(%rax), %eax
addl $0x1, %eax
cltq
tzcntq %rax, %rax
movl %eax, %ecx
movq -0x48(%rbp), %rax
movzwl 0x180(%rax), %eax
addl $0x1, %eax
cltq
tzcntq %rax, %rax
movl %eax, %r8d
leaq 0x22b96(%rip), %rdx     # 0xd0af2
movb $0x0, %al
callq 0x7070
movl %eax, %edx
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %ecx
addl %edx, %ecx
movw %cx, 0x1cd0(%rax)
movl $0x0, -0x13c(%rbp)
cmpl $0x3, -0x13c(%rbp)
jge 0xae47c
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
cmpq $0x1000, %rax           # imm = 0x1000
jae 0xae00a
movq -0x48(%rbp), %rdi
addq $0x1cd2, %rdi           # imm = 0x1CD2
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %eax
cltq
addq %rax, %rdi
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
movl $0x1000, %esi           # imm = 0x1000
subq %rax, %rsi
imull $0x3, -0x13c(%rbp), %eax
cltq
leaq 0x2130d(%rip), %rcx     # 0xcf2f0
addq %rax, %rcx
leaq 0x22b39(%rip), %rdx     # 0xd0b26
movb $0x0, %al
callq 0x7070
movl %eax, %edx
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %ecx
addl %edx, %ecx
movw %cx, 0x1cd0(%rax)
movq -0x48(%rbp), %rax
addq $0x170, %rax            # imm = 0x170
movslq -0x13c(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movzwl (%rax), %eax
addl $0x1, %eax
cltq
tzcntq %rax, %rax
movl %eax, -0x140(%rbp)
movq -0x48(%rbp), %rax
movslq -0x13c(%rbp), %rcx
movq 0x668(%rax,%rcx,8), %rax
movq %rax, -0x148(%rbp)
movl -0x138(%rbp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, -0x138(%rbp)
cmpl $0x0, %eax
jle 0xae3b0
cmpl $0x8, -0x140(%rbp)
jne 0xae2b4
movq -0x48(%rbp), %rdi
movl $0x20, %esi
callq 0x65e90
movl %eax, %ecx
bswapl %ecx
movq -0x148(%rbp), %rax
movl %ecx, (%rax)
movq -0x48(%rbp), %rdi
movl $0x20, %esi
callq 0x65e90
movl %eax, %ecx
bswapl %ecx
movq -0x148(%rbp), %rax
movl %ecx, 0x4(%rax)
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
cmpq $0x1000, %rax           # imm = 0x1000
jae 0xae18a
movq -0x48(%rbp), %rdi
addq $0x1cd2, %rdi           # imm = 0x1CD2
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %eax
cltq
addq %rax, %rdi
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
movl $0x1000, %esi           # imm = 0x1000
subq %rax, %rsi
movq -0x148(%rbp), %rax
movzbl (%rax), %ecx
movq -0x148(%rbp), %rax
movzbl 0x1(%rax), %r8d
movq -0x148(%rbp), %rax
movzbl 0x2(%rax), %r9d
movq -0x148(%rbp), %rax
movzbl 0x3(%rax), %r14d
movq -0x148(%rbp), %rax
movzbl 0x4(%rax), %ebx
movq -0x148(%rbp), %rax
movzbl 0x5(%rax), %r11d
movq -0x148(%rbp), %rax
movzbl 0x6(%rax), %r10d
movq -0x148(%rbp), %rax
movzbl 0x7(%rax), %eax
leaq 0x229db(%rip), %rdx     # 0xd0b32
movl %r14d, (%rsp)
movl %ebx, 0x8(%rsp)
movl %r11d, 0x10(%rsp)
movl %r10d, 0x18(%rsp)
movl %eax, 0x20(%rsp)
movb $0x0, %al
callq 0x7070
movl %eax, %edx
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %ecx
addl %edx, %ecx
movw %cx, 0x1cd0(%rax)
cmpl $0x10, -0x134(%rbp)
jne 0xae2af
movq -0x48(%rbp), %rdi
movl $0x20, %esi
callq 0x65e90
movl %eax, %ecx
bswapl %ecx
movq -0x148(%rbp), %rax
movl %ecx, 0x8(%rax)
movq -0x48(%rbp), %rdi
movl $0x20, %esi
callq 0x65e90
movl %eax, %ecx
bswapl %ecx
movq -0x148(%rbp), %rax
movl %ecx, 0xc(%rax)
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
cmpq $0x1000, %rax           # imm = 0x1000
jae 0xae2ad
movq -0x48(%rbp), %rdi
addq $0x1cd2, %rdi           # imm = 0x1CD2
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %eax
cltq
addq %rax, %rdi
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
movl $0x1000, %esi           # imm = 0x1000
subq %rax, %rsi
movq -0x148(%rbp), %rax
movzbl 0x8(%rax), %ecx
movq -0x148(%rbp), %rax
movzbl 0x9(%rax), %r8d
movq -0x148(%rbp), %rax
movzbl 0xa(%rax), %r9d
movq -0x148(%rbp), %rax
movzbl 0xb(%rax), %r14d
movq -0x148(%rbp), %rax
movzbl 0xc(%rax), %ebx
movq -0x148(%rbp), %rax
movzbl 0xd(%rax), %r11d
movq -0x148(%rbp), %rax
movzbl 0xe(%rax), %r10d
movq -0x148(%rbp), %rax
movzbl 0xf(%rax), %eax
leaq 0x228b8(%rip), %rdx     # 0xd0b32
movl %r14d, (%rsp)
movl %ebx, 0x8(%rsp)
movl %r11d, 0x10(%rsp)
movl %r10d, 0x18(%rsp)
movl %eax, 0x20(%rsp)
movb $0x0, %al
callq 0x7070
movl %eax, %edx
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %ecx
addl %edx, %ecx
movw %cx, 0x1cd0(%rax)
jmp 0xae2af
jmp 0xae385
movl $0x0, -0x14c(%rbp)
movl -0x14c(%rbp), %eax
cmpl -0x134(%rbp), %eax
jge 0xae383
movq -0x48(%rbp), %rdi
movl -0x140(%rbp), %esi
callq 0x65e90
movw %ax, %dx
movq -0x148(%rbp), %rax
movslq -0x14c(%rbp), %rcx
movw %dx, (%rax,%rcx,2)
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
cmpq $0x1000, %rax           # imm = 0x1000
jae 0xae36d
movq -0x48(%rbp), %rdi
addq $0x1cd2, %rdi           # imm = 0x1CD2
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %eax
cltq
addq %rax, %rdi
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
movl $0x1000, %esi           # imm = 0x1000
subq %rax, %rsi
movq -0x148(%rbp), %rax
movslq -0x14c(%rbp), %rcx
movzwl (%rax,%rcx,2), %ecx
leaq 0x227f7(%rip), %rdx     # 0xd0b47
movb $0x0, %al
callq 0x7070
movl %eax, %edx
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %ecx
addl %edx, %ecx
movw %cx, 0x1cd0(%rax)
jmp 0xae36f
movl -0x14c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14c(%rbp)
jmp 0xae2be
jmp 0xae385
jmp 0xae387
movq -0x48(%rbp), %rax
movslq -0x13c(%rbp), %rcx
movzwl 0x34(%rax,%rcx,2), %ecx
movq -0x148(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x148(%rbp)
jmp 0xae04f
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
cmpq $0x1000, %rax           # imm = 0x1000
jae 0xae417
movq -0x48(%rbp), %rdi
addq $0x1cd2, %rdi           # imm = 0x1CD2
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %eax
cltq
addq %rax, %rdi
movq -0x48(%rbp), %rax
movswq 0x1cd0(%rax), %rax
movl $0x1000, %esi           # imm = 0x1000
subq %rax, %rsi
leaq 0x227be(%rip), %rdx     # 0xd0bb8
movb $0x0, %al
callq 0x7070
movl %eax, %edx
movq -0x48(%rbp), %rax
movswl 0x1cd0(%rax), %ecx
addl %edx, %ecx
movw %cx, 0x1cd0(%rax)
movq -0x48(%rbp), %rax
movsbl 0x2a(%rax), %edx
movl $0x10, %eax
movl $0x8, %ecx
cmpl $0x3, %edx
cmovll %ecx, %eax
movl %eax, -0x134(%rbp)
movb $0x0, -0x150(%rbp)
movb $0x8, -0x14f(%rbp)
movb $0x10, -0x14e(%rbp)
movb $0x10, -0x14d(%rbp)
movq -0x48(%rbp), %rax
movsbq 0x2a(%rax), %rax
movsbl -0x150(%rbp,%rax), %eax
movl %eax, -0x138(%rbp)
movl -0x13c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x13c(%rbp)
jmp 0xadf83
movq -0x48(%rbp), %rdi
callq 0x68aa0
jmp 0xae487
addq $0x218, %rsp            # imm = 0x218
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nopl (%rax)