// File: /workspace/github_c_makefile_star2_O1/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 0xa6fe(%rip), %r14      # 0xe6b9
movl $0x1f, %esi
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rcx
callq 0x11d0
leaq 0xa2d4(%rip), %rdi      # 0xe2ab
movl $0x10, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x11d0
movl $0x1f, %esi
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rcx
callq 0x11d0
movq 0x1013b(%rip), %r15     # 0x14140
testq %r15, %r15
je 0x4885
leaq 0xa0eb(%rip), %r14      # 0xe100
leaq 0xa7b1(%rip), %r13      # 0xe7cd
leaq 0xa2c3(%rip), %r12      # 0xe2e6
movl 0x10(%r15), %edx
cmpq $0x14, %rdx
ja 0x4352
movslq (%r14,%rdx,4), %rax
addq %r14, %rax
jmpq *%rax
movl $0xf, %esi
movl $0x1, %edx
leaq 0xa51e(%rip), %rdi      # 0xe569
movq %rbx, %rcx
callq 0x11d0
jmp 0x4878
movl $0x7, %esi
movl $0x1, %edx
leaq 0xa2c5(%rip), %rdi      # 0xe32e
movq %rbx, %rcx
callq 0x11d0
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1120
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0xa2a2(%rip), %rsi      # 0xe336
xorl %eax, %eax
callq 0x1120
leaq 0x4434(%r15), %rdx
movq %rbx, %rdi
leaq 0xa298(%rip), %rsi      # 0xe344
xorl %eax, %eax
callq 0x1120
leaq 0x4834(%r15), %rdx
movq %rbx, %rdi
leaq 0xa28e(%rip), %rsi      # 0xe352
xorl %eax, %eax
callq 0x1120
leaq 0x4c34(%r15), %rdx
movq %rbx, %rdi
leaq 0xa284(%rip), %rsi      # 0xe360
xorl %eax, %eax
callq 0x1120
leaq 0x5034(%r15), %rdx
movq %rbx, %rdi
leaq 0xa27a(%rip), %rsi      # 0xe36e
jmp 0x4871
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
leaq 0xa450(%rip), %rsi      # 0xe55b
jmp 0x4207
movl $0x7, %esi
movl $0x1, %edx
leaq 0xa423(%rip), %rdi      # 0xe544
movq %rbx, %rcx
callq 0x11d0
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0xa39c(%rip), %rsi      # 0xe4d3
xorl %eax, %eax
callq 0x1120
leaq 0x6c34(%r15), %rdx
movq %rbx, %rdi
leaq 0xa393(%rip), %rsi      # 0xe4e2
jmp 0x4871
movl $0x6, %esi
movl $0x1, %edx
leaq 0xa26a(%rip), %rdi      # 0xe3cf
movq %rbx, %rcx
callq 0x11d0
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1120
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0xa246(%rip), %rsi      # 0xe3d6
xorl %eax, %eax
callq 0x1120
leaq 0x2830(%r15), %rdx
movq %rbx, %rdi
leaq 0xa23b(%rip), %rsi      # 0xe3e3
xorl %eax, %eax
callq 0x1120
leaq 0x2c34(%r15), %rdx
movq %rbx, %rdi
leaq 0xa230(%rip), %rsi      # 0xe3f0
xorl %eax, %eax
callq 0x1120
leaq 0x3034(%r15), %rdx
movq %rbx, %rdi
leaq 0xa225(%rip), %rsi      # 0xe3fd
xorl %eax, %eax
callq 0x1120
leaq 0x3834(%r15), %rdx
movq %rbx, %rdi
leaq 0xa21a(%rip), %rsi      # 0xe40a
jmp 0x4871
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
leaq 0xa345(%rip), %rsi      # 0xe54c
xorl %eax, %eax
callq 0x1120
jmp 0x4878
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
leaq 0xa097(%rip), %rsi      # 0xe2bc
xorl %eax, %eax
callq 0x1120
leaq 0x2830(%r15), %rbp
leaq 0x2c34(%r15), %rdx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x1120
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0xb8c9(%rip), %rsi      # 0xfb1e
xorl %eax, %eax
callq 0x1120
leaq 0x3034(%r15), %rdx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x1120
movq %rbx, %rdi
movq %r13, %rsi
movq %rbp, %rdx
xorl %eax, %eax
callq 0x1120
leaq 0x3834(%r15), %rdx
jmp 0x452a
movl $0x5, %esi
movl $0x1, %edx
leaq 0xa17a(%rip), %rdi      # 0xe417
movq %rbx, %rcx
callq 0x11d0
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1120
leaq 0x1830(%r15), %rdx
jmp 0x4445
movl $0x7, %esi
movl $0x1, %edx
leaq 0xa229(%rip), %rdi      # 0xe500
movq %rbx, %rcx
callq 0x11d0
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0xa1e6(%rip), %rsi      # 0xe4d3
xorl %eax, %eax
callq 0x1120
leaq 0x5434(%r15), %rdx
movq %rbx, %rdi
leaq 0xa203(%rip), %rsi      # 0xe508
xorl %eax, %eax
callq 0x1120
leaq 0x5834(%r15), %rdx
movq %rbx, %rdi
leaq 0xa1fa(%rip), %rsi      # 0xe517
xorl %eax, %eax
callq 0x1120
leaq 0x5c34(%r15), %rdx
movq %rbx, %rdi
leaq 0xa1f1(%rip), %rsi      # 0xe526
xorl %eax, %eax
callq 0x1120
leaq 0x6034(%r15), %rdx
movq %rbx, %rdi
leaq 0xa1e8(%rip), %rsi      # 0xe535
jmp 0x4871
movq %rbx, %rdi
leaq 0xb2be(%rip), %rsi      # 0xf61a
xorl %eax, %eax
callq 0x1120
jmp 0x4878
movl $0x6, %esi
movl $0x1, %edx
leaq 0xa0b1(%rip), %rdi      # 0xe42a
movq %rbx, %rcx
callq 0x11d0
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1120
leaq 0x2c34(%r15), %rdx
leaq 0x3434(%r15), %rcx
movq %rbx, %rdi
leaq 0xa083(%rip), %rsi      # 0xe431
xorl %eax, %eax
callq 0x1120
leaq 0x3034(%r15), %rdx
movq %rbx, %rdi
leaq 0xa077(%rip), %rsi      # 0xe43d
xorl %eax, %eax
callq 0x1120
leaq 0x3834(%r15), %rdx
movq %rbx, %rdi
leaq 0xa06a(%rip), %rsi      # 0xe448
jmp 0x4871
movl $0x6, %esi
movl $0x1, %edx
leaq 0xa05f(%rip), %rdi      # 0xe453
movq %rbx, %rcx
callq 0x11d0
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1120
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0xa03b(%rip), %rsi      # 0xe45a
xorl %eax, %eax
callq 0x1120
leaq 0x3c34(%r15), %rdx
movq %rbx, %rdi
leaq 0x9fb9(%rip), %rsi      # 0xe3f0
xorl %eax, %eax
callq 0x1120
leaq 0x4034(%r15), %rdx
movq %rbx, %rdi
leaq 0x9fce(%rip), %rsi      # 0xe41d
jmp 0x4871
movl $0x8, %esi
movl $0x1, %edx
leaq 0xa002(%rip), %rdi      # 0xe467
movq %rbx, %rcx
callq 0x11d0
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1120
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0x9ea6(%rip), %rsi      # 0xe336
xorl %eax, %eax
callq 0x1120
leaq 0x9834(%r15), %rdx
movq %rbx, %rdi
leaq 0x9e5c(%rip), %rsi      # 0xe304
xorl %eax, %eax
callq 0x1120
leaq 0x9c34(%r15), %rdx
movq %rbx, %rdi
leaq 0x9e92(%rip), %rsi      # 0xe352
xorl %eax, %eax
callq 0x1120
leaq 0xa034(%r15), %rdx
movq %rbx, %rdi
leaq 0x9edb(%rip), %rsi      # 0xe3b3
xorl %eax, %eax
callq 0x1120
leaq 0xa434(%r15), %rdx
movq %rbx, %rdi
leaq 0x9f80(%rip), %rsi      # 0xe470
xorl %eax, %eax
callq 0x1120
leaq 0xac34(%r15), %rdx
movq %rbx, %rdi
leaq 0x9f76(%rip), %rsi      # 0xe47e
jmp 0x4871
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
leaq 0x9e5d(%rip), %rsi      # 0xe37c
xorl %eax, %eax
callq 0x1120
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0xa59e(%rip), %rsi      # 0xead2
jmp 0x4871
movl $0xe, %esi
movl $0x1, %edx
leaq 0x9e4c(%rip), %rdi      # 0xe396
movq %rbx, %rcx
callq 0x11d0
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1120
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0x9e30(%rip), %rsi      # 0xe3a5
xorl %eax, %eax
callq 0x1120
leaq 0xb034(%r15), %rdx
movq %rbx, %rdi
leaq 0x9e26(%rip), %rsi      # 0xe3b3
xorl %eax, %eax
callq 0x1120
leaq 0xb434(%r15), %rdx
movq %rbx, %rdi
leaq 0x9e1c(%rip), %rsi      # 0xe3c1
jmp 0x4871
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
leaq 0x9d12(%rip), %rsi      # 0xe2ce
xorl %eax, %eax
callq 0x1120
leaq 0x2830(%r15), %rbp
leaq 0x2c34(%r15), %rdx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x1120
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0xb532(%rip), %rsi      # 0xfb1e
xorl %eax, %eax
callq 0x1120
movq %rbx, %rdi
movq %r13, %rsi
movq %rbp, %rdx
xorl %eax, %eax
callq 0x1120
leaq 0x3034(%r15), %rdx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x1120
leaq 0x3834(%r15), %rdx
movq %rbx, %rdi
leaq 0xae3d(%rip), %rsi      # 0xf465
jmp 0x4871
movl $0x5, %esi
movl $0x1, %edx
leaq 0x9e8f(%rip), %rdi      # 0xe4cd
movq %rbx, %rcx
callq 0x11d0
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1120
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0x9e6a(%rip), %rsi      # 0xe4d3
xorl %eax, %eax
callq 0x1120
leaq 0x7434(%r15), %rdx
movq %rbx, %rdi
leaq 0x9e61(%rip), %rsi      # 0xe4e2
xorl %eax, %eax
callq 0x1120
leaq 0x7834(%r15), %rdx
movq %rbx, %rdi
leaq 0x9e58(%rip), %rsi      # 0xe4f1
jmp 0x4871
movl $0x8, %esi
movl $0x1, %edx
leaq 0x9ddd(%rip), %rdi      # 0xe48c
movq %rbx, %rcx
callq 0x11d0
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1120
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0x9c5c(%rip), %rsi      # 0xe336
xorl %eax, %eax
callq 0x1120
leaq 0x7c34(%r15), %rdx
movq %rbx, %rdi
leaq 0x9cc1(%rip), %rbp      # 0xe3b3
movq %rbp, %rsi
xorl %eax, %eax
callq 0x1120
leaq 0x8034(%r15), %rdx
movq %rbx, %rdi
movq %rbp, %rsi
xorl %eax, %eax
callq 0x1120
leaq 0x8434(%r15), %rdx
movq %rbx, %rdi
leaq 0x9be3(%rip), %rsi      # 0xe304
xorl %eax, %eax
callq 0x1120
leaq 0x8834(%r15), %rdx
movq %rbx, %rdi
leaq 0x9d5c(%rip), %rsi      # 0xe495
xorl %eax, %eax
callq 0x1120
leaq 0x8c34(%r15), %rdx
movq %rbx, %rdi
leaq 0x9d52(%rip), %rsi      # 0xe4a3
xorl %eax, %eax
callq 0x1120
leaq 0x9034(%r15), %rdx
movq %rbx, %rdi
leaq 0x9d48(%rip), %rsi      # 0xe4b1
xorl %eax, %eax
callq 0x1120
leaq 0x9434(%r15), %rdx
movq %rbx, %rdi
leaq 0x9d3e(%rip), %rsi      # 0xe4bf
jmp 0x4871
movl $0x5, %esi
movl $0x1, %edx
leaq 0x9b49(%rip), %rdi      # 0xe2e0
movq %rbx, %rcx
callq 0x11d0
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1120
leaq 0x30(%r15), %rdx
movq %rbx, %rdi
leaq 0x9b34(%rip), %rsi      # 0xe2f6
xorl %eax, %eax
callq 0x1120
leaq 0x1c30(%r15), %rdx
movq %rbx, %rdi
leaq 0x9b2a(%rip), %rsi      # 0xe304
xorl %eax, %eax
callq 0x1120
leaq 0x2030(%r15), %rdx
movq %rbx, %rdi
leaq 0x9b20(%rip), %rsi      # 0xe312
xorl %eax, %eax
callq 0x1120
leaq 0x2430(%r15), %rdx
jmp 0x4867
movl $0x7, %esi
movl $0x1, %edx
leaq 0x9b7b(%rip), %rdi      # 0xe38e
movq %rbx, %rcx
callq 0x11d0
movl 0x18(%r15), %edx
movl 0x1c(%r15), %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x1120
leaq 0xc30(%r15), %rdx
movq %rbx, %rdi
leaq 0x9ac3(%rip), %rsi      # 0xe304
xorl %eax, %eax
callq 0x1120
leaq 0x1030(%r15), %rdx
movq %rbx, %rdi
leaq 0x9ab9(%rip), %rsi      # 0xe312
xorl %eax, %eax
callq 0x1120
leaq 0x1430(%r15), %rdx
movq %rbx, %rdi
leaq 0x9aaf(%rip), %rsi      # 0xe320
xorl %eax, %eax
callq 0x1120
movq 0x8(%r15), %r15
testq %r15, %r15
jne 0x4023
leaq 0x9e2d(%rip), %rdi      # 0xe6b9
movl $0x1f, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x11d0
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq