// File: /workspace/github_c_makefile_star2_O0/almk277[P]ROSE/rose/cpu.c
// Function: thread_run
void thread_run(Thread *t)
{
	while(1) {
		BYTE(code);
		switch(code) {
		case I_nop:
			break;
		case I_exit:
			return;
		case I_dbg_byte:
		{
			BYTE(op);
			putchar(op);
			break;
		}
		case I_dbg_flt:
		{
			FLT(op);
			printf("%f", *op);
			break;
		}
		case I_dbg_int:
		{
			INT(op);
			printf("%d", *op);
			break;
		}
		case I_int_byte:
		{
			INT(i); BYTE(n);
			*i = n;
			break;
		}
		case I_int_new:
		{
			INT(i); WORD(n);
			*i = n;
			break;
		}
		case I_int_inc:
		{
			INT(i); BYTE(c);
			*i += c;
			break;
		}
		case I_int_add:
		{
			INT(i); INT(i1); INT(i2);
			*i = *i1 + *i2;
			break;
		}
		case I_int_sub:
		{
			INT(i); INT(i1); INT(i2);
			*i = *i1 - *i2;
			break;
		}
		case I_flt_new:
		{
			FLT(x); WORD(n);
			*x = *(float*)&n;
			break;
		}
		case I_flt_add:
		{
			FLT(x); FLT(x1); FLT(x2);
			*x = *x1 + *x2;
			break;
		}
		case I_flt_sub:
		{
			FLT(x); FLT(x1); FLT(x2);
			*x = *x1 - *x2;
			break;
		}
		case I_flt_mul:
		{
			FLT(x); FLT(x1); FLT(x2);
			*x = *x1 * *x2;
			break;
		}
		case I_flt_div:
		{
			FLT(x); FLT(x1); FLT(x2);
			*x = *x1 / *x2;
			break;
		}
		case I_jmp:
		{
			OFS(ofs);
			jump(ofs);
			break;
		}
		case I_jmp_int_z:
		{
			INT(i); OFS(ofs);
			if(*i == 0)
				jump(ofs);
			break;
		}
		case I_jmp_int_eq:
		{
			INT(i1); INT(i2); OFS(ofs);
			if(*i1 == *i2)
				jump(ofs);
			break;
		}
		case I_jmp_int_l:
		{
			INT(i1); INT(i2); OFS(ofs);
			if(*i1 < *i2)
				jump(ofs);
			break;
		}
		case I_jmp_int_le:
		{
			INT(i1); INT(i2); OFS(ofs);
			if(*i1 <= *i2)
				jump(ofs);
			break;
		}
		case I_jmp_flt_l:
		{
			FLT(f1); FLT(f2); OFS(ofs);
			if(*f1 <= *f2)
				jump(ofs);
			break;
		}
		case I_jmp_ref_eq:
		{
			WORD(r1); WORD(r2); OFS(ofs);
			if(r1 == r2)
				jump(ofs);
			break;
		}
		case I_call:
		{
			PROC(p_idx);
			if(thread_call_intern(t, MODULE, p_idx))
				stack_overflow();
			break;
		}
		case I_return:
		{
			thread_return(t);
			break;
		}
		case I_invoke:
		{
			IMP(i);
			const Segments *const seg = SEG;
			const RMDImport *imp = imp_get(seg, i);
			Symbol *procname = sym_get(seg, imp->name);
			Module *m = module_get_module(MODULE, imp->module);
			RA_Export exp_idx = module_exp_get_obligatory(m, procname, imp->slot);
			const RMDExport *exp = exp_get(&m->seg, exp_idx);
			if(thread_call_intern(t, m, exp->idx))
				stack_overflow();
			break;
		}
		case I_barr_new:
		{
			REF(r); INT(size);
			RD_ByteArray *a = bytearray_new(*size);
			*r = ptr_to_ref(a);
			break;
		}
		case I_barr_load:
		{
			REF(r); WORD(addr);
			const R_Byte *source = str_get(SEG, addr);
			RD_ByteArray *a = bytearray_load(source);
			*r = ptr_to_ref(a);
			break;
		}
		case I_barr_len:
		{
			INT(len); REF(r);
			*len = bytearray_length(ref_to_ptr(*r));
			break;
		}
		case I_dbg_str:
		{
			REF(r);
			RD_ByteArray *a = ref_to_ptr(*r);
			bytearray_print(a);
			break;
		}
		case I_barr_getb:
		{
			INT(v); REF(r); INT(i);
			RD_ByteArray *a = ref_to_ptr(*r);
			if(bytearray_get_byte(a, *i, v) < 0)
				out_of_range(*i);
			break;
		}
		case I_barr_getw:
		{
			INT(v); REF(r); INT(i);
			RD_ByteArray *a = ref_to_ptr(*r);
			if(bytearray_get_word(a, *i, v) < 0)
				out_of_range(*i);
			break;
		}
		case I_barr_putb:
		{
			INT(v); REF(r); INT(i);
			RD_ByteArray *a = ref_to_ptr(*r);
			if(bytearray_put_byte(a, *i, *v) < 0)
				out_of_range(*i);
			break;
		}
		case I_barr_putw:
		{
			INT(v); REF(r); INT(i);
			RD_ByteArray *a = ref_to_ptr(*r);
			if(bytearray_put_word(a, *i, *v) < 0)
				out_of_range(*i);
			break;
		}
		case I_arr_new:
		{
			REF(r); INT(size);
			RD_Array *a = array_new(*size);
			*r = ptr_to_ref(a);
			break;
		}
		case I_arr_len:
		{
			INT(len); REF(r);
			*len = array_length(ref_to_ptr(*r));
			break;
		}
		case I_arr_get:
		{
			INT(v); REF(r); INT(i);
			RD_Array *a = ref_to_ptr(*r);
			if(array_get(a, *i, v) < 0)
				out_of_range(*i);
			break;
		}
		case I_arr_put:
		{
			INT(v); REF(r); INT(i);
			RD_Array *a = ref_to_ptr(*r);
			if(array_put(a, *i, *v) < 0)
				out_of_range(*i);
			break;
		}
		case I_move:
		{
			INT(i1); INT(i2);
			*i1 = *i2;
			break;
		}
		case I_obj_new:
		{
			REF(r); MOD(m_idx);
			Module *m = module_get_module(MODULE, m_idx);
			RD_Object *o = object_new(m);
			*r = ptr_to_ref(o);
			break;
		}
		case I_obj_load:
		{
			INT(var); DATA(d);
			RD_Object *o = ref_to_ptr(OBJECT);
			*var = object_load(o, d);
			break;
		}
		case I_obj_store:
		{
			INT(var); DATA(d);
			RD_Object *o = ref_to_ptr(OBJECT);
			object_store(o, d, *var);
			break;
		}
		case I_file_open:
		{
			REF(f); REF(name); BYTE(mode);
			RD_ByteArray *a_name = ref_to_ptr(*name);
			RD_File *file = file_open(a_name, mode);
			*f = ptr_to_ref(file);
			break;
		}
		case I_file_close:
		{
			REF(f);
			RD_File *file = ref_to_ptr(*f);
			file_close(file);
			break;
		}
		case I_file_read:
		{
			REF(f); REF(buf); INT(size);
			RD_File *file = ref_to_ptr(*f);
			RD_ByteArray *a = ref_to_ptr(*buf);
			file_read(file, a, *size);
			break;
		}
		case I_file_write:
		{
			REF(f); REF(buf); INT(size);
			RD_File *file = ref_to_ptr(*f);
			RD_ByteArray *a = ref_to_ptr(*buf);
			file_write(file, a, *size);
			break;
		}
		default:
			fprintf(stderr, "Fatal error: no such instruction: 0x%X\n", code);
			exit(1);
		} /* switch */
	} /* while */
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x3d0, %rsp            # imm = 0x3D0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rcx
movq 0x2420(%rcx), %rax
movq %rax, %rdx
incq %rdx
movq %rdx, 0x2420(%rcx)
movb (%rax), %al
movb %al, -0x9(%rbp)
movzbl -0x9(%rbp), %eax
movq %rax, -0x3d0(%rbp)
subq $0xb3, %rax
ja 0x4167
movq -0x3d0(%rbp), %rax
leaq 0x3ba3(%rip), %rcx      # 0x6084
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
jmp 0x418d
addq $0x3d0, %rsp            # imm = 0x3D0
popq %rbp
retq
movq -0x8(%rbp), %rcx
movq 0x2420(%rcx), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x2420(%rcx)
movzbl (%rax), %eax
movb %al, -0xa(%rbp)
movzbl -0xa(%rbp), %edi
callq 0x1050
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x3de8(%rip), %rdi      # 0x6355
movb $0x1, %al
callq 0x10c0
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movl (%rax), %esi
leaq 0x3d9d(%rip), %rdi      # 0x6358
movb $0x0, %al
callq 0x10c0
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rcx
movq 0x2420(%rcx), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x2420(%rcx)
movzbl (%rax), %eax
movb %al, -0x29(%rbp)
movzbl -0x29(%rbp), %ecx
movq -0x28(%rbp), %rax
movl %ecx, (%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rcx
movq 0x2420(%rcx), %rax
movq %rax, %rdx
addq $0x4, %rdx
movq %rdx, 0x2420(%rcx)
movl (%rax), %eax
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %ecx
movq -0x38(%rbp), %rax
movl %ecx, (%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rcx
movq 0x2420(%rcx), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x2420(%rcx)
movzbl (%rax), %eax
movb %al, -0x49(%rbp)
movzbl -0x49(%rbp), %ecx
movq -0x48(%rbp), %rax
addl (%rax), %ecx
movl %ecx, (%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x58(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x60(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x68(%rbp)
movq -0x60(%rbp), %rax
movl (%rax), %ecx
movq -0x68(%rbp), %rax
addl (%rax), %ecx
movq -0x58(%rbp), %rax
movl %ecx, (%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x70(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x78(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x80(%rbp)
movq -0x78(%rbp), %rax
movl (%rax), %ecx
movq -0x80(%rbp), %rax
subl (%rax), %ecx
movq -0x70(%rbp), %rax
movl %ecx, (%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x88(%rbp)
movq -0x8(%rbp), %rcx
movq 0x2420(%rcx), %rax
movq %rax, %rdx
addq $0x4, %rdx
movq %rdx, 0x2420(%rcx)
movl (%rax), %eax
movl %eax, -0x8c(%rbp)
movss -0x8c(%rbp), %xmm0
movq -0x88(%rbp), %rax
movss %xmm0, (%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x98(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0xa0(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0xa8(%rbp)
movq -0xa0(%rbp), %rax
movss (%rax), %xmm0
movq -0xa8(%rbp), %rax
addss (%rax), %xmm0
movq -0x98(%rbp), %rax
movss %xmm0, (%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0xb0(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0xb8(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0xc0(%rbp)
movq -0xb8(%rbp), %rax
movss (%rax), %xmm0
movq -0xc0(%rbp), %rax
subss (%rax), %xmm0
movq -0xb0(%rbp), %rax
movss %xmm0, (%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0xc8(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0xd0(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0xd8(%rbp)
movq -0xd0(%rbp), %rax
movss (%rax), %xmm0
movq -0xd8(%rbp), %rax
mulss (%rax), %xmm0
movq -0xc8(%rbp), %rax
movss %xmm0, (%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0xe0(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0xe8(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0xf0(%rbp)
movq -0xe8(%rbp), %rax
movss (%rax), %xmm0
movq -0xf0(%rbp), %rax
divss (%rax), %xmm0
movq -0xe0(%rbp), %rax
movss %xmm0, (%rax)
jmp 0x418d
movq -0x8(%rbp), %rcx
movq 0x2420(%rcx), %rax
movq %rax, %rdx
addq $0x2, %rdx
movq %rdx, 0x2420(%rcx)
movswl (%rax), %eax
movw %ax, -0xf2(%rbp)
movswl -0xf2(%rbp), %edx
movq -0x8(%rbp), %rax
movq 0x2420(%rax), %rcx
movslq %edx, %rdx
addq %rdx, %rcx
movq %rcx, 0x2420(%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x100(%rbp)
movq -0x8(%rbp), %rcx
movq 0x2420(%rcx), %rax
movq %rax, %rdx
addq $0x2, %rdx
movq %rdx, 0x2420(%rcx)
movswl (%rax), %eax
movw %ax, -0x102(%rbp)
movq -0x100(%rbp), %rax
cmpl $0x0, (%rax)
jne 0x2cd2
movswl -0x102(%rbp), %edx
movq -0x8(%rbp), %rax
movq 0x2420(%rax), %rcx
movslq %edx, %rdx
addq %rdx, %rcx
movq %rcx, 0x2420(%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x110(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x118(%rbp)
movq -0x8(%rbp), %rcx
movq 0x2420(%rcx), %rax
movq %rax, %rdx
addq $0x2, %rdx
movq %rdx, 0x2420(%rcx)
movswl (%rax), %eax
movw %ax, -0x11a(%rbp)
movq -0x110(%rbp), %rax
movl (%rax), %eax
movq -0x118(%rbp), %rcx
cmpl (%rcx), %eax
jne 0x2d9d
movswl -0x11a(%rbp), %edx
movq -0x8(%rbp), %rax
movq 0x2420(%rax), %rcx
movslq %edx, %rdx
addq %rdx, %rcx
movq %rcx, 0x2420(%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x128(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x130(%rbp)
movq -0x8(%rbp), %rcx
movq 0x2420(%rcx), %rax
movq %rax, %rdx
addq $0x2, %rdx
movq %rdx, 0x2420(%rcx)
movswl (%rax), %eax
movw %ax, -0x132(%rbp)
movq -0x128(%rbp), %rax
movl (%rax), %eax
movq -0x130(%rbp), %rcx
cmpl (%rcx), %eax
jge 0x2e68
movswl -0x132(%rbp), %edx
movq -0x8(%rbp), %rax
movq 0x2420(%rax), %rcx
movslq %edx, %rdx
addq %rdx, %rcx
movq %rcx, 0x2420(%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x140(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x148(%rbp)
movq -0x8(%rbp), %rcx
movq 0x2420(%rcx), %rax
movq %rax, %rdx
addq $0x2, %rdx
movq %rdx, 0x2420(%rcx)
movswl (%rax), %eax
movw %ax, -0x14a(%rbp)
movq -0x140(%rbp), %rax
movl (%rax), %eax
movq -0x148(%rbp), %rcx
cmpl (%rcx), %eax
jg 0x2f33
movswl -0x14a(%rbp), %edx
movq -0x8(%rbp), %rax
movq 0x2420(%rax), %rcx
movslq %edx, %rdx
addq %rdx, %rcx
movq %rcx, 0x2420(%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x158(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x160(%rbp)
movq -0x8(%rbp), %rcx
movq 0x2420(%rcx), %rax
movq %rax, %rdx
addq $0x2, %rdx
movq %rdx, 0x2420(%rcx)
movswl (%rax), %eax
movw %ax, -0x162(%rbp)
movq -0x158(%rbp), %rax
movss (%rax), %xmm1
movq -0x160(%rbp), %rax
movss (%rax), %xmm0
ucomiss %xmm1, %xmm0
jb 0x3005
movswl -0x162(%rbp), %edx
movq -0x8(%rbp), %rax
movq 0x2420(%rax), %rcx
movslq %edx, %rdx
addq %rdx, %rcx
movq %rcx, 0x2420(%rax)
jmp 0x418d
movq -0x8(%rbp), %rcx
movq 0x2420(%rcx), %rax
movq %rax, %rdx
addq $0x4, %rdx
movq %rdx, 0x2420(%rcx)
movl (%rax), %eax
movl %eax, -0x168(%rbp)
movq -0x8(%rbp), %rcx
movq 0x2420(%rcx), %rax
movq %rax, %rdx
addq $0x4, %rdx
movq %rdx, 0x2420(%rcx)
movl (%rax), %eax
movl %eax, -0x16c(%rbp)
movq -0x8(%rbp), %rcx
movq 0x2420(%rcx), %rax
movq %rax, %rdx
addq $0x2, %rdx
movq %rdx, 0x2420(%rcx)
movswl (%rax), %eax
movw %ax, -0x16e(%rbp)
movl -0x168(%rbp), %eax
cmpl -0x16c(%rbp), %eax
jne 0x309c
movswl -0x16e(%rbp), %edx
movq -0x8(%rbp), %rax
movq 0x2420(%rax), %rcx
movslq %edx, %rdx
addq %rdx, %rcx
movq %rcx, 0x2420(%rax)
jmp 0x418d
movq -0x8(%rbp), %rcx
movq 0x2420(%rcx), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x2420(%rcx)
movzbl (%rax), %eax
movb %al, -0x16f(%rbp)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x2410(%rax), %rax
movq (%rax), %rsi
movzbl -0x16f(%rbp), %edx
callq 0x2240
cmpl $0x0, %eax
je 0x30eb
callq 0x41a0
jmp 0x418d
movq -0x8(%rbp), %rdi
callq 0x2400
jmp 0x418d
movq -0x8(%rbp), %rcx
movq 0x2420(%rcx), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x2420(%rcx)
movzbl (%rax), %eax
movb %al, -0x170(%rbp)
movq -0x8(%rbp), %rax
movq 0x2410(%rax), %rax
movq (%rax), %rax
addq $0x10, %rax
movq %rax, -0x178(%rbp)
movq -0x178(%rbp), %rax
movq 0x30(%rax), %rax
movzbl -0x170(%rbp), %ecx
imulq $0x6, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x180(%rbp)
movq -0x178(%rbp), %rax
movq 0x50(%rax), %rax
movq -0x180(%rbp), %rcx
movzwl (%rcx), %ecx
addq %rcx, %rax
movq %rax, -0x188(%rbp)
movq -0x8(%rbp), %rax
movq 0x2410(%rax), %rax
movq (%rax), %rdi
movq -0x180(%rbp), %rax
movzbl 0x5(%rax), %esi
callq 0x1620
movq %rax, -0x190(%rbp)
movq -0x190(%rbp), %rdi
movq -0x188(%rbp), %rsi
movq -0x180(%rbp), %rax
movzbl 0x4(%rax), %edx
callq 0x1690
movb %al, -0x191(%rbp)
movq -0x190(%rbp), %rax
movq 0x10(%rax), %rax
movzbl -0x191(%rbp), %ecx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x1a0(%rbp)
movq -0x8(%rbp), %rdi
movq -0x190(%rbp), %rsi
movq -0x1a0(%rbp), %rax
movzbl 0x2(%rax), %edx
callq 0x2240
cmpl $0x0, %eax
je 0x3206
callq 0x41a0
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x1a8(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x1b0(%rbp)
movq -0x1b0(%rbp), %rax
movl (%rax), %edi
callq 0x43a0
movq %rax, -0x1b8(%rbp)
movq -0x1b8(%rbp), %rax
leaq 0x668a(%rip), %rcx      # 0x9928
movq (%rcx), %rcx
subq %rcx, %rax
movl %eax, %ecx
movq -0x1a8(%rbp), %rax
movl %ecx, (%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x1c0(%rbp)
movq -0x8(%rbp), %rcx
movq 0x2420(%rcx), %rax
movq %rax, %rdx
addq $0x4, %rdx
movq %rdx, 0x2420(%rcx)
movl (%rax), %eax
movl %eax, -0x1c4(%rbp)
movq -0x8(%rbp), %rax
movq 0x2410(%rax), %rax
movq (%rax), %rax
movq 0x70(%rax), %rax
movslq -0x1c4(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x1d0(%rbp)
movq -0x1d0(%rbp), %rdi
callq 0x43e0
movq %rax, -0x1d8(%rbp)
movq -0x1d8(%rbp), %rax
leaq 0x65d7(%rip), %rcx      # 0x9928
movq (%rcx), %rcx
subq %rcx, %rax
movl %eax, %ecx
movq -0x1c0(%rbp), %rax
movl %ecx, (%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x1e0(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x1e8(%rbp)
leaq 0x654a(%rip), %rax      # 0x9928
movq (%rax), %rdi
movq -0x1e8(%rbp), %rax
movslq (%rax), %rax
addq %rax, %rdi
callq 0x4430
movl %eax, %ecx
movq -0x1e0(%rbp), %rax
movl %ecx, (%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x1f0(%rbp)
leaq 0x64e6(%rip), %rax      # 0x9928
movq (%rax), %rax
movq -0x1f0(%rbp), %rcx
movslq (%rcx), %rcx
addq %rcx, %rax
movq %rax, -0x1f8(%rbp)
movq -0x1f8(%rbp), %rdi
callq 0x45b0
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x200(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x208(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x210(%rbp)
leaq 0x640f(%rip), %rax      # 0x9928
movq (%rax), %rax
movq -0x208(%rbp), %rcx
movslq (%rcx), %rcx
addq %rcx, %rax
movq %rax, -0x218(%rbp)
movq -0x218(%rbp), %rdi
movq -0x210(%rbp), %rax
movl (%rax), %esi
movq -0x200(%rbp), %rdx
callq 0x4450
cmpl $0x0, %eax
jge 0x355f
movq -0x210(%rbp), %rax
movl (%rax), %edi
callq 0x41d0
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x220(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x228(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x230(%rbp)
leaq 0x6315(%rip), %rax      # 0x9928
movq (%rax), %rax
movq -0x228(%rbp), %rcx
movslq (%rcx), %rcx
addq %rcx, %rax
movq %rax, -0x238(%rbp)
movq -0x238(%rbp), %rdi
movq -0x230(%rbp), %rax
movl (%rax), %esi
movq -0x220(%rbp), %rdx
callq 0x44a0
cmpl $0x0, %eax
jge 0x3659
movq -0x230(%rbp), %rax
movl (%rax), %edi
callq 0x41d0
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x240(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x248(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x250(%rbp)
leaq 0x621b(%rip), %rax      # 0x9928
movq (%rax), %rax
movq -0x248(%rbp), %rcx
movslq (%rcx), %rcx
addq %rcx, %rax
movq %rax, -0x258(%rbp)
movq -0x258(%rbp), %rdi
movq -0x250(%rbp), %rax
movl (%rax), %esi
movq -0x240(%rbp), %rax
movl (%rax), %eax
movzbl %al, %edx
callq 0x44f0
cmpl $0x0, %eax
jge 0x3758
movq -0x250(%rbp), %rax
movl (%rax), %edi
callq 0x41d0
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x260(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x268(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x270(%rbp)
leaq 0x611c(%rip), %rax      # 0x9928
movq (%rax), %rax
movq -0x268(%rbp), %rcx
movslq (%rcx), %rcx
addq %rcx, %rax
movq %rax, -0x278(%rbp)
movq -0x278(%rbp), %rdi
movq -0x270(%rbp), %rax
movl (%rax), %esi
movq -0x260(%rbp), %rax
movl (%rax), %edx
callq 0x4530
cmpl $0x0, %eax
jge 0x3854
movq -0x270(%rbp), %rax
movl (%rax), %edi
callq 0x41d0
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x280(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x288(%rbp)
movq -0x288(%rbp), %rax
movl (%rax), %edi
callq 0x42b0
movq %rax, -0x290(%rbp)
movq -0x290(%rbp), %rax
leaq 0x603c(%rip), %rcx      # 0x9928
movq (%rcx), %rcx
subq %rcx, %rax
movl %eax, %ecx
movq -0x280(%rbp), %rax
movl %ecx, (%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x298(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x2a0(%rbp)
leaq 0x5faf(%rip), %rax      # 0x9928
movq (%rax), %rdi
movq -0x2a0(%rbp), %rax
movslq (%rax), %rax
addq %rax, %rdi
callq 0x42f0
movl %eax, %ecx
movq -0x298(%rbp), %rax
movl %ecx, (%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x2a8(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x2b0(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x2b8(%rbp)
leaq 0x5edb(%rip), %rax      # 0x9928
movq (%rax), %rax
movq -0x2b0(%rbp), %rcx
movslq (%rcx), %rcx
addq %rcx, %rax
movq %rax, -0x2c0(%rbp)
movq -0x2c0(%rbp), %rdi
movq -0x2b8(%rbp), %rax
movl (%rax), %esi
movq -0x2a8(%rbp), %rdx
callq 0x4310
cmpl $0x0, %eax
jge 0x3a93
movq -0x2b8(%rbp), %rax
movl (%rax), %edi
callq 0x41d0
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x2c8(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x2d0(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x2d8(%rbp)
leaq 0x5de1(%rip), %rax      # 0x9928
movq (%rax), %rax
movq -0x2d0(%rbp), %rcx
movslq (%rcx), %rcx
addq %rcx, %rax
movq %rax, -0x2e0(%rbp)
movq -0x2e0(%rbp), %rdi
movq -0x2d8(%rbp), %rax
movl (%rax), %esi
movq -0x2c8(%rbp), %rax
movl (%rax), %edx
callq 0x4360
cmpl $0x0, %eax
jge 0x3b8f
movq -0x2d8(%rbp), %rax
movl (%rax), %edi
callq 0x41d0
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x2e8(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x2f0(%rbp)
movq -0x2f0(%rbp), %rax
movl (%rax), %ecx
movq -0x2e8(%rbp), %rax
movl %ecx, (%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x2f8(%rbp)
movq -0x8(%rbp), %rcx
movq 0x2420(%rcx), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x2420(%rcx)
movzbl (%rax), %eax
movb %al, -0x2f9(%rbp)
movq -0x8(%rbp), %rax
movq 0x2410(%rax), %rax
movq (%rax), %rdi
movzbl -0x2f9(%rbp), %esi
callq 0x1620
movq %rax, -0x308(%rbp)
movq -0x308(%rbp), %rdi
callq 0x45f0
movq %rax, -0x310(%rbp)
movq -0x310(%rbp), %rax
leaq 0x5c71(%rip), %rcx      # 0x9928
movq (%rcx), %rcx
subq %rcx, %rax
movl %eax, %ecx
movq -0x2f8(%rbp), %rax
movl %ecx, (%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x318(%rbp)
movq -0x8(%rbp), %rcx
movq 0x2420(%rcx), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x2420(%rcx)
movzbl (%rax), %eax
movb %al, -0x319(%rbp)
leaq 0x5bfa(%rip), %rax      # 0x9928
movq (%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x2000(%rcx), %rcx
movslq (%rcx), %rcx
addq %rcx, %rax
movq %rax, -0x328(%rbp)
movq -0x328(%rbp), %rdi
movzbl -0x319(%rbp), %esi
callq 0x4630
movl %eax, %ecx
movq -0x318(%rbp), %rax
movl %ecx, (%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x330(%rbp)
movq -0x8(%rbp), %rcx
movq 0x2420(%rcx), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x2420(%rcx)
movzbl (%rax), %eax
movb %al, -0x331(%rbp)
leaq 0x5b5b(%rip), %rax      # 0x9928
movq (%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x2000(%rcx), %rcx
movslq (%rcx), %rcx
addq %rcx, %rax
movq %rax, -0x340(%rbp)
movq -0x340(%rbp), %rdi
movb -0x331(%rbp), %al
movq -0x330(%rbp), %rcx
movl (%rcx), %edx
movzbl %al, %esi
callq 0x4650
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x348(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x350(%rbp)
movq -0x8(%rbp), %rcx
movq 0x2420(%rcx), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x2420(%rcx)
movzbl (%rax), %eax
movb %al, -0x351(%rbp)
leaq 0x5a84(%rip), %rax      # 0x9928
movq (%rax), %rax
movq -0x350(%rbp), %rcx
movslq (%rcx), %rcx
addq %rcx, %rax
movq %rax, -0x360(%rbp)
movq -0x360(%rbp), %rdi
movzbl -0x351(%rbp), %esi
callq 0x4680
movq %rax, -0x368(%rbp)
movq -0x368(%rbp), %rax
leaq 0x5a45(%rip), %rcx      # 0x9928
movq (%rcx), %rcx
subq %rcx, %rax
movl %eax, %ecx
movq -0x348(%rbp), %rax
movl %ecx, (%rax)
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x370(%rbp)
leaq 0x59f0(%rip), %rax      # 0x9928
movq (%rax), %rax
movq -0x370(%rbp), %rcx
movslq (%rcx), %rcx
addq %rcx, %rax
movq %rax, -0x378(%rbp)
movq -0x378(%rbp), %rdi
callq 0x47f0
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x380(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x388(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x390(%rbp)
leaq 0x5919(%rip), %rax      # 0x9928
movq (%rax), %rax
movq -0x380(%rbp), %rcx
movslq (%rcx), %rcx
addq %rcx, %rax
movq %rax, -0x398(%rbp)
leaq 0x58fb(%rip), %rax      # 0x9928
movq (%rax), %rax
movq -0x388(%rbp), %rcx
movslq (%rcx), %rcx
addq %rcx, %rax
movq %rax, -0x3a0(%rbp)
movq -0x398(%rbp), %rdi
movq -0x3a0(%rbp), %rsi
movq -0x390(%rbp), %rax
movl (%rax), %edx
callq 0x4820
jmp 0x418d
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x3a8(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x3b0(%rbp)
movq -0x8(%rbp), %rax
movq 0x2000(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x2420(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x2420(%rdx)
movzbl (%rcx), %ecx
movslq %ecx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x3b8(%rbp)
leaq 0x5814(%rip), %rax      # 0x9928
movq (%rax), %rax
movq -0x3a8(%rbp), %rcx
movslq (%rcx), %rcx
addq %rcx, %rax
movq %rax, -0x3c0(%rbp)
leaq 0x57f6(%rip), %rax      # 0x9928
movq (%rax), %rax
movq -0x3b0(%rbp), %rcx
movslq (%rcx), %rcx
addq %rcx, %rax
movq %rax, -0x3c8(%rbp)
movq -0x3c0(%rbp), %rdi
movq -0x3c8(%rbp), %rsi
movq -0x3b8(%rbp), %rax
movl (%rax), %edx
callq 0x4860
jmp 0x418d
movq 0x4e82(%rip), %rax      # 0x8ff0
movq (%rax), %rdi
movzbl -0x9(%rbp), %edx
leaq 0x21df(%rip), %rsi      # 0x635b
movb $0x0, %al
callq 0x1110
movl $0x1, %edi
callq 0x1150
jmp 0x249f
nopw %cs:(%rax,%rax)