// File: /workspace/github_c_makefile_star2_O2/aquaxis[P]synverll/src/parser_ir.c
// Function: print_parser_tree_ir
int print_parser_tree_ir(FILE *fp)
{
	PARSER_TREE_IR *now_parser_tree_ir;

    fprintf(fp,"==============================\n");
    fprintf(fp,"Print - LLVM-IR\n");
    fprintf(fp,"==============================\n");
    now_parser_tree_ir = parser_tree_ir_top;
    while(now_parser_tree_ir != NULL){

		switch(now_parser_tree_ir->flag){
			case PARSER_IR_FLAG_REGISTER:
				fprintf(fp,"REGISTER(%d_%d): ", now_parser_tree_ir->parallel, now_parser_tree_ir->stage);

				fprintf(fp,"%s ", now_parser_tree_ir->reg.input_left_type);
				fprintf(fp,"%s = ", now_parser_tree_ir->label);
				fprintf(fp,"%s ", now_parser_tree_ir->reg.input_left);
				fprintf(fp,"%s ", now_parser_tree_ir->reg.name);
				fprintf(fp,"%s\n", now_parser_tree_ir->reg.input_right);

				break;
			case PARSER_IR_FLAG_WIRE:
				fprintf(fp,"WIRE(%d_%d):     ", now_parser_tree_ir->parallel, now_parser_tree_ir->stage);

				fprintf(fp,"%s ", now_parser_tree_ir->reg.input_left_type);
				fprintf(fp,"%s = ", now_parser_tree_ir->label);
				fprintf(fp,"%s ", now_parser_tree_ir->reg.name);
				fprintf(fp,"%s ", now_parser_tree_ir->reg.input_left);
				fprintf(fp,"(%s)\n", now_parser_tree_ir->reg.input_right);

				break;
			case PARSER_IR_FLAG_CALL:
				fprintf(fp,"CALL\n");

				fprintf(fp,"  stage: %d_%d\n", now_parser_tree_ir->parallel, now_parser_tree_ir->stage);

				fprintf(fp,"  reg:    %s\n", now_parser_tree_ir->label);
				fprintf(fp,"  name:   %s\n", now_parser_tree_ir->call.name);
				fprintf(fp,"  result: %s\n", now_parser_tree_ir->call.result_type);
				fprintf(fp,"  args:   %s\n", now_parser_tree_ir->call.argument);

				break;
			case PARSER_IR_FLAG_BRANCH:
				fprintf(fp,"BRANCH\n");

				fprintf(fp,"  stage: %d_%d\n", now_parser_tree_ir->parallel, now_parser_tree_ir->stage);

				fprintf(fp,"  label:  %s\n", now_parser_tree_ir->label);
				fprintf(fp,"  cond:   %s\n", now_parser_tree_ir->branch.condition_type);
				fprintf(fp,"  value:  %s\n", now_parser_tree_ir->branch.condition_value);
				fprintf(fp,"  true:   %s\n", now_parser_tree_ir->branch.branch_true);
				fprintf(fp,"  false:  %s\n", now_parser_tree_ir->branch.branch_false);

				break;
			case PARSER_IR_FLAG_LABEL:
				fprintf(fp,"LABEL(%d_%d):    ", now_parser_tree_ir->parallel, now_parser_tree_ir->stage);

				fprintf(fp,"%s\n", now_parser_tree_ir->label);

				break;
			case PARSER_IR_FLAG_MODULE:
				fprintf(fp,"MODULE\n");

				fprintf(fp,"  stage: %d_%d\n", now_parser_tree_ir->parallel, now_parser_tree_ir->stage);

				fprintf(fp,"  name:   %s\n", now_parser_tree_ir->module.name);
				fprintf(fp,"  result: %s\n", now_parser_tree_ir->module.result_type);
				fprintf(fp,"  args:   %s\n", now_parser_tree_ir->module.argument);

				break;
			case PARSER_IR_FLAG_REGISTER_LOOP:
				fprintf(fp,"REGISTER LOOP\n");

				fprintf(fp,"  stage: %d_%d\n", now_parser_tree_ir->parallel, now_parser_tree_ir->stage);

				fprintf(fp,"  loop:   %s\n", now_parser_tree_ir->label);
				fprintf(fp,"  type:   %s\n", now_parser_tree_ir->phi.type);
				fprintf(fp,"  init:   %s\n", now_parser_tree_ir->phi.argument);
//				fprintf(fp,"  init:   %s\n", now_parser_tree_ir->phi.init);
//				fprintf(fp,"  next1:  %s\n", now_parser_tree_ir->phi.next1);
				break;
			case PARSER_IR_FLAG_FLOAT:
				fprintf(fp,"FLOAT\n");
				fprintf(fp,"  stage: %d_%d\n", now_parser_tree_ir->parallel, now_parser_tree_ir->stage);
				fprintf(fp,"  reg:   %s\n", now_parser_tree_ir->label);
				fprintf(fp,"  inst:  %s\n", now_parser_tree_ir->reg.name);
				fprintf(fp,"  type:  %s\n", now_parser_tree_ir->reg.input_left_type);
				fprintf(fp,"  left:  %s\n", now_parser_tree_ir->reg.input_left);
				fprintf(fp,"  right: %s\n", now_parser_tree_ir->reg.input_right);
				break;
			case PARSER_IR_FLAG_TYPE:
				fprintf(fp,"TYPE\n");
				fprintf(fp,"  stage: %d_%d\n", now_parser_tree_ir->parallel, now_parser_tree_ir->stage);
				fprintf(fp,"  name:  %s\n", now_parser_tree_ir->type.name);
				break;
			case PARSER_IR_FLAG_STORE:
				fprintf(fp,"STORE\n");

				fprintf(fp,"  stage: %d_%d\n", now_parser_tree_ir->parallel, now_parser_tree_ir->stage);

				fprintf(fp,"  %s -> %s\n", now_parser_tree_ir->reg.input_left_type, now_parser_tree_ir->reg.input_right_type);
				fprintf(fp,"  In:  %s\n", now_parser_tree_ir->reg.input_left);
				fprintf(fp,"  Out: %s\n", now_parser_tree_ir->reg.input_right);

				break;
			case PARSER_IR_FLAG_ARRAY:
				fprintf(fp,"ARRAY\n");

				fprintf(fp,"  stage: %d_%d\n", now_parser_tree_ir->parallel, now_parser_tree_ir->stage);

				fprintf(fp,"  array: %s\n", now_parser_tree_ir->label);
				fprintf(fp,"  type:  %s\n", now_parser_tree_ir->array.type);
				fprintf(fp,"  name:  %s\n", now_parser_tree_ir->array.name);

				break;
			case PARSER_IR_FLAG_COMPARE:
				fprintf(fp,"COMPARE\n");

				fprintf(fp,"  stage: %d_%d\n", now_parser_tree_ir->parallel, now_parser_tree_ir->stage);

				fprintf(fp,"  label:  %s\n", now_parser_tree_ir->label);
				fprintf(fp,"  name:   %s\n", now_parser_tree_ir->comp.name);
				fprintf(fp,"  value:  %s\n", now_parser_tree_ir->comp.value);
				fprintf(fp,"  type:   %s\n", now_parser_tree_ir->comp.input_left_type);
				fprintf(fp,"  left:   %s\n", now_parser_tree_ir->comp.input_left);
				fprintf(fp,"  right:  %s\n", now_parser_tree_ir->comp.input_right);

				break;
			case PARSER_IR_FLAG_POINTER:
				fprintf(fp,"POINTER\n");
				fprintf(fp,"  stage: %d_%d\n", now_parser_tree_ir->parallel, now_parser_tree_ir->stage);
				fprintf(fp,"  label:  %s\n", now_parser_tree_ir->label);
				fprintf(fp,"  type:   %s\n", now_parser_tree_ir->pointer.str);
				fprintf(fp,"  type:   %s\n", now_parser_tree_ir->pointer.type);
				fprintf(fp,"  name:   %s\n", now_parser_tree_ir->pointer.name);
				fprintf(fp,"  itype:  %s\n", now_parser_tree_ir->pointer.init_type);
				fprintf(fp,"  iname:  %s\n", now_parser_tree_ir->pointer.init_name);
				fprintf(fp,"  atype:  %s\n", now_parser_tree_ir->pointer.add_type);
				fprintf(fp,"  aname:  %s\n", now_parser_tree_ir->pointer.add_name);
				break;
			case PARSER_IR_FLAG_LOAD:
				fprintf(fp,"LOAD\n");

				fprintf(fp,"  stage: %d_%d\n", now_parser_tree_ir->parallel, now_parser_tree_ir->stage);

				fprintf(fp,"  name:    %s\n", now_parser_tree_ir->label);
				fprintf(fp,"  type:    %s\n", now_parser_tree_ir->load.type);
				fprintf(fp,"  pointer: %s\n", now_parser_tree_ir->load.name);

				break;
			case PARSER_IR_FLAG_SELECT:
				fprintf(fp,"SELECT\n");
				fprintf(fp,"  name:    %s\n", now_parser_tree_ir->label);
				fprintf(fp,"  cond:    %s\n", now_parser_tree_ir->select.condition_type);
				fprintf(fp,"  value:   %s\n", now_parser_tree_ir->select.condition_value);
				fprintf(fp,"  true:    %s\n", now_parser_tree_ir->select.select_true);
				fprintf(fp,"  false:   %s\n", now_parser_tree_ir->select.select_false);
				break;
			case PARSER_IR_FLAG_ALLOCA:
				fprintf(fp,"ALLOCA\n");
				fprintf(fp,"  name:    %s\n", now_parser_tree_ir->label);
				fprintf(fp,"  type:    %s\n", now_parser_tree_ir->alloca.type);
				break;
			case PARSER_IR_FLAG_RETURN:
				fprintf(fp,"RETURN(%d_%d)\n", now_parser_tree_ir->parallel, now_parser_tree_ir->stage);
				break;
			case PARSER_IR_FLAG_CLOSE:
				fprintf(fp,"CLOSE(%d_%d)\n", now_parser_tree_ir->parallel, now_parser_tree_ir->stage);
				break;
			case PARSER_IR_FLAG_NONE:
//				fprintf(fp,"None\n");
				break;
			case PARSER_IR_FLAG_UNKNOWN:
				fprintf(fp,"Unknown(error)\n");
				break;
			default:
				fprintf(fp,"Unknown(can't parser: %d)\n", now_parser_tree_ir->flag);
				break;
        }
        now_parser_tree_ir = now_parser_tree_ir->next_ptr;
    }
    fprintf(fp,"==============================\n");

    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
leaq 0x98e5(%rip), %r15      # 0xd6ab
pushq $0x1f
popq %r12
pushq $0x1
popq %r14
movq %r15, %rdi
movq %r12, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x11c0
leaq 0x94b7(%rip), %rdi      # 0xd29d
pushq $0x10
popq %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x11c0
movq %r15, %rdi
movq %r12, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x11c0
leaq 0xf324(%rip), %r12      # 0x13130
leaq 0x92e5(%rip), %r15      # 0xd0f8
leaq 0x94be(%rip), %r13      # 0xd2d8
movq (%r12), %r12
testq %r12, %r12
je 0x46c9
movl 0x10(%r12), %edx
cmpq $0x14, %rdx
ja 0x4170
movslq (%r15,%rdx,4), %rax
addq %r15, %rax
jmpq *%rax
leaq 0x9715(%rip), %rdi      # 0xd55b
pushq $0xf
popq %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x11c0
jmp 0x46c0
leaq 0x94c0(%rip), %rdi      # 0xd320
pushq $0x7
popq %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x11c0
movl 0x18(%r12), %edx
movl 0x1c(%r12), %ecx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x30(%r12), %rdx
movq %rbx, %rdi
leaq 0x9494(%rip), %rsi      # 0xd328
xorl %eax, %eax
callq 0x1110
leaq 0x4434(%r12), %rdx
movq %rbx, %rdi
leaq 0x9489(%rip), %rsi      # 0xd336
xorl %eax, %eax
callq 0x1110
leaq 0x4834(%r12), %rdx
movq %rbx, %rdi
leaq 0x947e(%rip), %rsi      # 0xd344
xorl %eax, %eax
callq 0x1110
leaq 0x4c34(%r12), %rdx
movq %rbx, %rdi
leaq 0x9473(%rip), %rsi      # 0xd352
xorl %eax, %eax
callq 0x1110
leaq 0x5034(%r12), %rdx
movq %rbx, %rdi
leaq 0x9468(%rip), %rsi      # 0xd360
jmp 0x46b9
movl 0x18(%r12), %edx
movl 0x1c(%r12), %ecx
movq %rbx, %rdi
leaq 0x963c(%rip), %rsi      # 0xd54d
jmp 0x4010
leaq 0x9619(%rip), %rdi      # 0xd536
pushq $0x7
popq %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x11c0
leaq 0x30(%r12), %rdx
movq %rbx, %rdi
leaq 0x958b(%rip), %rsi      # 0xd4c5
xorl %eax, %eax
callq 0x1110
leaq 0x6c34(%r12), %rdx
movq %rbx, %rdi
leaq 0x9581(%rip), %rsi      # 0xd4d4
jmp 0x46b9
leaq 0x9462(%rip), %rdi      # 0xd3c1
pushq $0x6
popq %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x11c0
movl 0x18(%r12), %edx
movl 0x1c(%r12), %ecx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x30(%r12), %rdx
movq %rbx, %rdi
leaq 0x9435(%rip), %rsi      # 0xd3c8
xorl %eax, %eax
callq 0x1110
leaq 0x2830(%r12), %rdx
movq %rbx, %rdi
leaq 0x9429(%rip), %rsi      # 0xd3d5
xorl %eax, %eax
callq 0x1110
leaq 0x2c34(%r12), %rdx
movq %rbx, %rdi
leaq 0x941d(%rip), %rsi      # 0xd3e2
xorl %eax, %eax
callq 0x1110
leaq 0x3034(%r12), %rdx
movq %rbx, %rdi
leaq 0x9411(%rip), %rsi      # 0xd3ef
xorl %eax, %eax
callq 0x1110
leaq 0x3834(%r12), %rdx
movq %rbx, %rdi
leaq 0x9405(%rip), %rsi      # 0xd3fc
jmp 0x46b9
movl 0x18(%r12), %edx
movl 0x1c(%r12), %ecx
movq %rbx, %rdi
leaq 0x952e(%rip), %rsi      # 0xd53e
xorl %eax, %eax
callq 0x1110
jmp 0x46c0
movl 0x18(%r12), %edx
movl 0x1c(%r12), %ecx
movq %rbx, %rdi
leaq 0x927e(%rip), %rsi      # 0xd2ae
xorl %eax, %eax
callq 0x1110
leaq 0x2830(%r12), %r13
leaq 0x2c34(%r12), %rdx
movq %rbx, %rdi
leaq 0x974c(%rip), %rbp      # 0xd79d
movq %rbp, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x30(%r12), %rdx
movq %rbx, %rdi
leaq 0xaa88(%rip), %rsi      # 0xeaf2
xorl %eax, %eax
callq 0x1110
leaq 0x3034(%r12), %rdx
movq %rbx, %rdi
movq %rbp, %rsi
xorl %eax, %eax
callq 0x1110
movq %rbx, %rdi
movq %rbp, %rsi
movq %r13, %rdx
leaq 0x9242(%rip), %r13      # 0xd2d8
xorl %eax, %eax
callq 0x1110
leaq 0x3834(%r12), %rdx
jmp 0x4352
leaq 0x9358(%rip), %rdi      # 0xd409
pushq $0x5
popq %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x11c0
movl 0x18(%r12), %edx
movl 0x1c(%r12), %ecx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x1830(%r12), %rdx
jmp 0x4266
leaq 0x9408(%rip), %rdi      # 0xd4f2
pushq $0x7
popq %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x11c0
leaq 0x30(%r12), %rdx
movq %rbx, %rdi
leaq 0x93be(%rip), %rsi      # 0xd4c5
xorl %eax, %eax
callq 0x1110
leaq 0x5434(%r12), %rdx
movq %rbx, %rdi
leaq 0x93da(%rip), %rsi      # 0xd4fa
xorl %eax, %eax
callq 0x1110
leaq 0x5834(%r12), %rdx
movq %rbx, %rdi
leaq 0x93d0(%rip), %rsi      # 0xd509
xorl %eax, %eax
callq 0x1110
leaq 0x5c34(%r12), %rdx
movq %rbx, %rdi
leaq 0x93c6(%rip), %rsi      # 0xd518
xorl %eax, %eax
callq 0x1110
leaq 0x6034(%r12), %rdx
movq %rbx, %rdi
leaq 0x93bc(%rip), %rsi      # 0xd527
jmp 0x46b9
movq %rbx, %rdi
leaq 0xa474(%rip), %rsi      # 0xe5ee
xorl %eax, %eax
callq 0x1110
jmp 0x46c0
leaq 0x928f(%rip), %rdi      # 0xd41c
pushq $0x6
popq %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x11c0
movl 0x18(%r12), %edx
movl 0x1c(%r12), %ecx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x2c34(%r12), %rdx
leaq 0x3434(%r12), %rcx
movq %rbx, %rdi
leaq 0x9257(%rip), %rsi      # 0xd423
xorl %eax, %eax
callq 0x1110
leaq 0x3034(%r12), %rdx
movq %rbx, %rdi
leaq 0x924a(%rip), %rsi      # 0xd42f
xorl %eax, %eax
callq 0x1110
leaq 0x3834(%r12), %rdx
movq %rbx, %rdi
leaq 0x923c(%rip), %rsi      # 0xd43a
jmp 0x46b9
leaq 0x923b(%rip), %rdi      # 0xd445
pushq $0x6
popq %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x11c0
movl 0x18(%r12), %edx
movl 0x1c(%r12), %ecx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x30(%r12), %rdx
movq %rbx, %rdi
leaq 0x920e(%rip), %rsi      # 0xd44c
xorl %eax, %eax
callq 0x1110
leaq 0x3c34(%r12), %rdx
movq %rbx, %rdi
leaq 0x918b(%rip), %rsi      # 0xd3e2
xorl %eax, %eax
callq 0x1110
leaq 0x4034(%r12), %rdx
movq %rbx, %rdi
leaq 0x919f(%rip), %rsi      # 0xd40f
jmp 0x46b9
leaq 0x91dd(%rip), %rdi      # 0xd459
pushq $0x8
popq %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x11c0
movl 0x18(%r12), %edx
movl 0x1c(%r12), %ecx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x30(%r12), %rdx
movq %rbx, %rdi
leaq 0x9078(%rip), %rsi      # 0xd328
xorl %eax, %eax
callq 0x1110
leaq 0x9834(%r12), %rdx
movq %rbx, %rdi
leaq 0x902d(%rip), %rsi      # 0xd2f6
xorl %eax, %eax
callq 0x1110
leaq 0x9c34(%r12), %rdx
movq %rbx, %rdi
leaq 0x9062(%rip), %rsi      # 0xd344
xorl %eax, %eax
callq 0x1110
leaq 0xa034(%r12), %rdx
movq %rbx, %rdi
leaq 0x90aa(%rip), %rsi      # 0xd3a5
xorl %eax, %eax
callq 0x1110
leaq 0xa434(%r12), %rdx
movq %rbx, %rdi
leaq 0x914e(%rip), %rsi      # 0xd462
xorl %eax, %eax
callq 0x1110
leaq 0xac34(%r12), %rdx
movq %rbx, %rdi
leaq 0x9143(%rip), %rsi      # 0xd470
jmp 0x46b9
movl 0x18(%r12), %edx
movl 0x1c(%r12), %ecx
movq %rbx, %rdi
leaq 0x9028(%rip), %rsi      # 0xd36e
xorl %eax, %eax
callq 0x1110
leaq 0x30(%r12), %rdx
movq %rbx, %rdi
leaq 0x974a(%rip), %rsi      # 0xdaa6
jmp 0x46b9
leaq 0x9020(%rip), %rdi      # 0xd388
pushq $0xe
popq %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x11c0
movl 0x18(%r12), %edx
movl 0x1c(%r12), %ecx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x30(%r12), %rdx
movq %rbx, %rdi
leaq 0x8ffb(%rip), %rsi      # 0xd397
xorl %eax, %eax
callq 0x1110
leaq 0xb034(%r12), %rdx
movq %rbx, %rdi
leaq 0x8ff0(%rip), %rsi      # 0xd3a5
xorl %eax, %eax
callq 0x1110
leaq 0xb434(%r12), %rdx
movq %rbx, %rdi
leaq 0x8fe5(%rip), %rsi      # 0xd3b3
jmp 0x46b9
movl 0x18(%r12), %edx
movl 0x1c(%r12), %ecx
movq %rbx, %rdi
leaq 0x8ed9(%rip), %rsi      # 0xd2c0
xorl %eax, %eax
callq 0x1110
leaq 0x2830(%r12), %r13
leaq 0x2c34(%r12), %rdx
movq %rbx, %rdi
leaq 0x9395(%rip), %rbp      # 0xd79d
movq %rbp, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x30(%r12), %rdx
movq %rbx, %rdi
leaq 0xa6d1(%rip), %rsi      # 0xeaf2
xorl %eax, %eax
callq 0x1110
movq %rbx, %rdi
movq %rbp, %rsi
movq %r13, %rdx
leaq 0x8ea0(%rip), %r13      # 0xd2d8
xorl %eax, %eax
callq 0x1110
leaq 0x3034(%r12), %rdx
movq %rbx, %rdi
movq %rbp, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x3834(%r12), %rdx
movq %rbx, %rdi
leaq 0x9fd3(%rip), %rsi      # 0xe439
jmp 0x46b9
leaq 0x904d(%rip), %rdi      # 0xd4bf
pushq $0x5
popq %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x11c0
movl 0x18(%r12), %edx
movl 0x1c(%r12), %ecx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x30(%r12), %rdx
movq %rbx, %rdi
leaq 0x901f(%rip), %rsi      # 0xd4c5
xorl %eax, %eax
callq 0x1110
leaq 0x7434(%r12), %rdx
movq %rbx, %rdi
leaq 0x9015(%rip), %rsi      # 0xd4d4
xorl %eax, %eax
callq 0x1110
leaq 0x7834(%r12), %rdx
movq %rbx, %rdi
leaq 0x900b(%rip), %rsi      # 0xd4e3
jmp 0x46b9
leaq 0x8f9a(%rip), %rdi      # 0xd47e
pushq $0x8
popq %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x11c0
movl 0x18(%r12), %edx
movl 0x1c(%r12), %ecx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x30(%r12), %rdx
movq %rbx, %rdi
leaq 0x8e10(%rip), %rsi      # 0xd328
xorl %eax, %eax
callq 0x1110
leaq 0x7c34(%r12), %rdx
movq %rbx, %rdi
leaq 0x8e74(%rip), %rbp      # 0xd3a5
movq %rbp, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x8034(%r12), %rdx
movq %rbx, %rdi
movq %rbp, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x8434(%r12), %rdx
movq %rbx, %rdi
leaq 0x8d94(%rip), %rsi      # 0xd2f6
xorl %eax, %eax
callq 0x1110
leaq 0x8834(%r12), %rdx
movq %rbx, %rdi
leaq 0x8f0c(%rip), %rsi      # 0xd487
xorl %eax, %eax
callq 0x1110
leaq 0x8c34(%r12), %rdx
movq %rbx, %rdi
leaq 0x8f01(%rip), %rsi      # 0xd495
xorl %eax, %eax
callq 0x1110
leaq 0x9034(%r12), %rdx
movq %rbx, %rdi
leaq 0x8ef6(%rip), %rsi      # 0xd4a3
xorl %eax, %eax
callq 0x1110
leaq 0x9434(%r12), %rdx
movq %rbx, %rdi
leaq 0x8eeb(%rip), %rsi      # 0xd4b1
jmp 0x46b9
leaq 0x8d00(%rip), %rdi      # 0xd2d2
pushq $0x5
popq %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x11c0
movl 0x18(%r12), %edx
movl 0x1c(%r12), %ecx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x30(%r12), %rdx
movq %rbx, %rdi
leaq 0x8ce2(%rip), %rsi      # 0xd2e8
xorl %eax, %eax
callq 0x1110
leaq 0x1c30(%r12), %rdx
movq %rbx, %rdi
leaq 0x8cd7(%rip), %rsi      # 0xd2f6
xorl %eax, %eax
callq 0x1110
leaq 0x2030(%r12), %rdx
movq %rbx, %rdi
leaq 0x8ccc(%rip), %rsi      # 0xd304
xorl %eax, %eax
callq 0x1110
leaq 0x2430(%r12), %rdx
jmp 0x46af
leaq 0x8d30(%rip), %rdi      # 0xd380
pushq $0x7
popq %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x11c0
movl 0x18(%r12), %edx
movl 0x1c(%r12), %ecx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0xc30(%r12), %rdx
movq %rbx, %rdi
leaq 0x8c6f(%rip), %rsi      # 0xd2f6
xorl %eax, %eax
callq 0x1110
leaq 0x1030(%r12), %rdx
movq %rbx, %rdi
leaq 0x8c64(%rip), %rsi      # 0xd304
xorl %eax, %eax
callq 0x1110
leaq 0x1430(%r12), %rdx
movq %rbx, %rdi
leaq 0x8c59(%rip), %rsi      # 0xd312
xorl %eax, %eax
callq 0x1110
addq $0x8, %r12
jmp 0x3e1a
leaq 0x8fdb(%rip), %rdi      # 0xd6ab
pushq $0x1f
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
callq 0x11c0
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq