// File: /workspace/github_c_makefile_star2_O3/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 0xa7bf(%rip), %r14      # 0xe6ab
movl $0x1f, %esi
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rcx
callq 0x11c0
leaq 0xa395(%rip), %rdi      # 0xe29d
movl $0x10, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x11c0
movl $0x1f, %esi
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rcx
callq 0x11c0
movq 0x101fa(%rip), %r15     # 0x14130
testq %r15, %r15
je 0x47b6
leaq 0xa1b2(%rip), %r14      # 0xe0f8
leaq 0xa870(%rip), %r13      # 0xe7bd
leaq 0xa384(%rip), %r12      # 0xe2d8
movl 0x10(%r15), %edx
cmpq $0x14, %rdx
ja 0x4283
movslq (%r14,%rdx,4), %rax
addq %r14, %rax
jmpq *%rax
movl $0xf, %esi
movl $0x1, %edx
leaq 0xa5df(%rip), %rdi      # 0xe55b
movq %rbx, %rcx
callq 0x11c0
jmp 0x47a9
movl $0x7, %esi
movl $0x1, %edx
leaq 0xa386(%rip), %rdi      # 0xe320
movq %rbx, %rcx
callq 0x11c0
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0xa363(%rip), %rsi      # 0xe328
xorl %eax, %eax
callq 0x1110
leaq 0x4434(%r15), %rdx
movq %rbx, %rdi
leaq 0xa359(%rip), %rsi      # 0xe336
xorl %eax, %eax
callq 0x1110
leaq 0x4834(%r15), %rdx
movq %rbx, %rdi
leaq 0xa34f(%rip), %rsi      # 0xe344
xorl %eax, %eax
callq 0x1110
leaq 0x4c34(%r15), %rdx
movq %rbx, %rdi
leaq 0xa345(%rip), %rsi      # 0xe352
xorl %eax, %eax
callq 0x1110
leaq 0x5034(%r15), %rdx
movq %rbx, %rdi
leaq 0xa33b(%rip), %rsi      # 0xe360
jmp 0x47a2
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
leaq 0xa511(%rip), %rsi      # 0xe54d
jmp 0x4138
movl $0x7, %esi
movl $0x1, %edx
leaq 0xa4e4(%rip), %rdi      # 0xe536
movq %rbx, %rcx
callq 0x11c0
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0xa45d(%rip), %rsi      # 0xe4c5
xorl %eax, %eax
callq 0x1110
leaq 0x6c34(%r15), %rdx
movq %rbx, %rdi
leaq 0xa454(%rip), %rsi      # 0xe4d4
jmp 0x47a2
movl $0x6, %esi
movl $0x1, %edx
leaq 0xa32b(%rip), %rdi      # 0xe3c1
movq %rbx, %rcx
callq 0x11c0
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0xa307(%rip), %rsi      # 0xe3c8
xorl %eax, %eax
callq 0x1110
leaq 0x2830(%r15), %rdx
movq %rbx, %rdi
leaq 0xa2fc(%rip), %rsi      # 0xe3d5
xorl %eax, %eax
callq 0x1110
leaq 0x2c34(%r15), %rdx
movq %rbx, %rdi
leaq 0xa2f1(%rip), %rsi      # 0xe3e2
xorl %eax, %eax
callq 0x1110
leaq 0x3034(%r15), %rdx
movq %rbx, %rdi
leaq 0xa2e6(%rip), %rsi      # 0xe3ef
xorl %eax, %eax
callq 0x1110
leaq 0x3834(%r15), %rdx
movq %rbx, %rdi
leaq 0xa2db(%rip), %rsi      # 0xe3fc
jmp 0x47a2
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
leaq 0xa406(%rip), %rsi      # 0xe53e
xorl %eax, %eax
callq 0x1110
jmp 0x47a9
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
leaq 0xa158(%rip), %rsi      # 0xe2ae
xorl %eax, %eax
callq 0x1110
leaq 0x2830(%r15), %rbp
leaq 0x2c34(%r15), %rdx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0xb98c(%rip), %rsi      # 0xfb12
xorl %eax, %eax
callq 0x1110
leaq 0x3034(%r15), %rdx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x1110
movq %rbx, %rdi
movq %r13, %rsi
movq %rbp, %rdx
xorl %eax, %eax
callq 0x1110
leaq 0x3834(%r15), %rdx
jmp 0x445b
movl $0x5, %esi
movl $0x1, %edx
leaq 0xa23b(%rip), %rdi      # 0xe409
movq %rbx, %rcx
callq 0x11c0
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x1830(%r15), %rdx
jmp 0x4376
movl $0x7, %esi
movl $0x1, %edx
leaq 0xa2ea(%rip), %rdi      # 0xe4f2
movq %rbx, %rcx
callq 0x11c0
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0xa2a7(%rip), %rsi      # 0xe4c5
xorl %eax, %eax
callq 0x1110
leaq 0x5434(%r15), %rdx
movq %rbx, %rdi
leaq 0xa2c4(%rip), %rsi      # 0xe4fa
xorl %eax, %eax
callq 0x1110
leaq 0x5834(%r15), %rdx
movq %rbx, %rdi
leaq 0xa2bb(%rip), %rsi      # 0xe509
xorl %eax, %eax
callq 0x1110
leaq 0x5c34(%r15), %rdx
movq %rbx, %rdi
leaq 0xa2b2(%rip), %rsi      # 0xe518
xorl %eax, %eax
callq 0x1110
leaq 0x6034(%r15), %rdx
movq %rbx, %rdi
leaq 0xa2a9(%rip), %rsi      # 0xe527
jmp 0x47a2
movq %rbx, %rdi
leaq 0xb381(%rip), %rsi      # 0xf60e
xorl %eax, %eax
callq 0x1110
jmp 0x47a9
movl $0x6, %esi
movl $0x1, %edx
leaq 0xa172(%rip), %rdi      # 0xe41c
movq %rbx, %rcx
callq 0x11c0
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x2c34(%r15), %rdx
leaq 0x3434(%r15), %rcx
movq %rbx, %rdi
leaq 0xa144(%rip), %rsi      # 0xe423
xorl %eax, %eax
callq 0x1110
leaq 0x3034(%r15), %rdx
movq %rbx, %rdi
leaq 0xa138(%rip), %rsi      # 0xe42f
xorl %eax, %eax
callq 0x1110
leaq 0x3834(%r15), %rdx
movq %rbx, %rdi
leaq 0xa12b(%rip), %rsi      # 0xe43a
jmp 0x47a2
movl $0x6, %esi
movl $0x1, %edx
leaq 0xa120(%rip), %rdi      # 0xe445
movq %rbx, %rcx
callq 0x11c0
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0xa0fc(%rip), %rsi      # 0xe44c
xorl %eax, %eax
callq 0x1110
leaq 0x3c34(%r15), %rdx
movq %rbx, %rdi
leaq 0xa07a(%rip), %rsi      # 0xe3e2
xorl %eax, %eax
callq 0x1110
leaq 0x4034(%r15), %rdx
movq %rbx, %rdi
leaq 0xa08f(%rip), %rsi      # 0xe40f
jmp 0x47a2
movl $0x8, %esi
movl $0x1, %edx
leaq 0xa0c3(%rip), %rdi      # 0xe459
movq %rbx, %rcx
callq 0x11c0
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0x9f67(%rip), %rsi      # 0xe328
xorl %eax, %eax
callq 0x1110
leaq 0x9834(%r15), %rdx
movq %rbx, %rdi
leaq 0x9f1d(%rip), %rsi      # 0xe2f6
xorl %eax, %eax
callq 0x1110
leaq 0x9c34(%r15), %rdx
movq %rbx, %rdi
leaq 0x9f53(%rip), %rsi      # 0xe344
xorl %eax, %eax
callq 0x1110
leaq 0xa034(%r15), %rdx
movq %rbx, %rdi
leaq 0x9f9c(%rip), %rsi      # 0xe3a5
xorl %eax, %eax
callq 0x1110
leaq 0xa434(%r15), %rdx
movq %rbx, %rdi
leaq 0xa041(%rip), %rsi      # 0xe462
xorl %eax, %eax
callq 0x1110
leaq 0xac34(%r15), %rdx
movq %rbx, %rdi
leaq 0xa037(%rip), %rsi      # 0xe470
jmp 0x47a2
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
leaq 0x9f1e(%rip), %rsi      # 0xe36e
xorl %eax, %eax
callq 0x1110
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0xa661(%rip), %rsi      # 0xeac6
jmp 0x47a2
movl $0xe, %esi
movl $0x1, %edx
leaq 0x9f0d(%rip), %rdi      # 0xe388
movq %rbx, %rcx
callq 0x11c0
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0x9ef1(%rip), %rsi      # 0xe397
xorl %eax, %eax
callq 0x1110
leaq 0xb034(%r15), %rdx
movq %rbx, %rdi
leaq 0x9ee7(%rip), %rsi      # 0xe3a5
xorl %eax, %eax
callq 0x1110
leaq 0xb434(%r15), %rdx
movq %rbx, %rdi
leaq 0x9edd(%rip), %rsi      # 0xe3b3
jmp 0x47a2
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
leaq 0x9dd3(%rip), %rsi      # 0xe2c0
xorl %eax, %eax
callq 0x1110
leaq 0x2830(%r15), %rbp
leaq 0x2c34(%r15), %rdx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0xb5f5(%rip), %rsi      # 0xfb12
xorl %eax, %eax
callq 0x1110
movq %rbx, %rdi
movq %r13, %rsi
movq %rbp, %rdx
xorl %eax, %eax
callq 0x1110
leaq 0x3034(%r15), %rdx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x3834(%r15), %rdx
movq %rbx, %rdi
leaq 0xaf00(%rip), %rsi      # 0xf459
jmp 0x47a2
movl $0x5, %esi
movl $0x1, %edx
leaq 0x9f50(%rip), %rdi      # 0xe4bf
movq %rbx, %rcx
callq 0x11c0
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0x9f2b(%rip), %rsi      # 0xe4c5
xorl %eax, %eax
callq 0x1110
leaq 0x7434(%r15), %rdx
movq %rbx, %rdi
leaq 0x9f22(%rip), %rsi      # 0xe4d4
xorl %eax, %eax
callq 0x1110
leaq 0x7834(%r15), %rdx
movq %rbx, %rdi
leaq 0x9f19(%rip), %rsi      # 0xe4e3
jmp 0x47a2
movl $0x8, %esi
movl $0x1, %edx
leaq 0x9e9e(%rip), %rdi      # 0xe47e
movq %rbx, %rcx
callq 0x11c0
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0x9d1d(%rip), %rsi      # 0xe328
xorl %eax, %eax
callq 0x1110
leaq 0x7c34(%r15), %rdx
movq %rbx, %rdi
leaq 0x9d82(%rip), %rbp      # 0xe3a5
movq %rbp, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x8034(%r15), %rdx
movq %rbx, %rdi
movq %rbp, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x8434(%r15), %rdx
movq %rbx, %rdi
leaq 0x9ca4(%rip), %rsi      # 0xe2f6
xorl %eax, %eax
callq 0x1110
leaq 0x8834(%r15), %rdx
movq %rbx, %rdi
leaq 0x9e1d(%rip), %rsi      # 0xe487
xorl %eax, %eax
callq 0x1110
leaq 0x8c34(%r15), %rdx
movq %rbx, %rdi
leaq 0x9e13(%rip), %rsi      # 0xe495
xorl %eax, %eax
callq 0x1110
leaq 0x9034(%r15), %rdx
movq %rbx, %rdi
leaq 0x9e09(%rip), %rsi      # 0xe4a3
xorl %eax, %eax
callq 0x1110
leaq 0x9434(%r15), %rdx
movq %rbx, %rdi
leaq 0x9dff(%rip), %rsi      # 0xe4b1
jmp 0x47a2
movl $0x5, %esi
movl $0x1, %edx
leaq 0x9c0a(%rip), %rdi      # 0xe2d2
movq %rbx, %rcx
callq 0x11c0
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0x9bf5(%rip), %rsi      # 0xe2e8
xorl %eax, %eax
callq 0x1110
leaq 0x1c30(%r15), %rdx
movq %rbx, %rdi
leaq 0x9beb(%rip), %rsi      # 0xe2f6
xorl %eax, %eax
callq 0x1110
leaq 0x2030(%r15), %rdx
movq %rbx, %rdi
leaq 0x9be1(%rip), %rsi      # 0xe304
xorl %eax, %eax
callq 0x1110
leaq 0x2430(%r15), %rdx
jmp 0x4798
movl $0x7, %esi
movl $0x1, %edx
leaq 0x9c3c(%rip), %rdi      # 0xe380
movq %rbx, %rcx
callq 0x11c0
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1110
leaq 0xc30(%r15), %rdx
movq %rbx, %rdi
leaq 0x9b84(%rip), %rsi      # 0xe2f6
xorl %eax, %eax
callq 0x1110
leaq 0x1030(%r15), %rdx
movq %rbx, %rdi
leaq 0x9b7a(%rip), %rsi      # 0xe304
xorl %eax, %eax
callq 0x1110
leaq 0x1430(%r15), %rdx
movq %rbx, %rdi
leaq 0x9b70(%rip), %rsi      # 0xe312
xorl %eax, %eax
callq 0x1110
movq 0x8(%r15), %r15
testq %r15, %r15
jne 0x3f54
leaq 0x9eee(%rip), %rdi      # 0xe6ab
movl $0x1f, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x11c0
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq