// File: /workspace/github_cpp_makefile_star2_O3/ticky[P]ps2iconsys/src/ps2icon_to_obj.cpp
// Function: LoadPS2Icon()
PS2Icon* LoadPS2Icon()
{
	PS2Icon* ret = NULL;
	if(verbose_output)
		std::cout << " * Reading PS2Icon file \"" << ps2_input_file << "\"...\n";
	try {
		ret = new PS2Icon(ps2_input_file);
	} catch( std::exception e ) {
		std::cout << "File read error: \"" << ps2_input_file << "\"" << std::endl;
		exit(1);
	}
	if(verbose_output)
		std::cout << " **  Found geometry - " << ret->GetNVertices() << " vertices, " 
			<< ret->GetNShapes() << " shapes." << std::endl;
	if(ret->GetNFrames() > 1) {
		std::cout << " **  Found animation - " << ret->GetNFrames() << " frames." << std::endl;
	}
	if(verbose_output)
		std::cout << " *  done." << std::endl;
	return ret;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
cmpb $0x1, 0x6861(%rip)      # 0xf270
jne 0x8a83
movq 0x65c0(%rip), %rbx      # 0xefd8
leaq 0x1ffa(%rip), %rsi      # 0xaa19
movl $0x19, %edx
movq %rbx, %rdi
callq 0x21f0
movq 0x6825(%rip), %r14      # 0xf258
testq %r14, %r14
je 0x8a54
movq %r14, %rdi
callq 0x20c0
movq 0x6591(%rip), %rdi      # 0xefd8
movq %r14, %rsi
movq %rax, %rdx
callq 0x21f0
jmp 0x8a6b
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %rdi
movl 0x20(%rbx,%rax), %esi
orl $0x1, %esi
callq 0x22f0
movq 0x6566(%rip), %rdi      # 0xefd8
leaq 0x1fba(%rip), %rsi      # 0xaa33
movl $0x5, %edx
callq 0x21f0
movl $0x10068, %edi          # imm = 0x10068
callq 0x21c0
movq %rax, %rbx
movq 0x67c1(%rip), %rsi      # 0xf258
movq %rax, %rdi
callq 0x5a20
cmpb $0x0, 0x67ca(%rip)      # 0xf270
je 0x8b40
movq 0x6525(%rip), %r14      # 0xefd8
leaq 0x1f92(%rip), %rsi      # 0xaa4c
movl $0x16, %edx
movq %r14, %rdi
callq 0x21f0
movq %rbx, %rdi
callq 0x68ec
movq %r14, %rdi
movl %eax, %esi
callq 0x2310
movq %rax, %r14
leaq 0x1f80(%rip), %rsi      # 0xaa63
movl $0xb, %edx
movq %rax, %rdi
callq 0x21f0
movq %rbx, %rdi
callq 0x6926
movq %r14, %rdi
movl %eax, %esi
callq 0x2310
movq %rax, %r14
leaq 0x1f63(%rip), %rsi      # 0xaa6f
movl $0x8, %edx
movq %rax, %rdi
callq 0x21f0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %esi
movq %r14, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2120
movq %rbx, %rdi
callq 0x6960
cmpl $0x2, %eax
jl 0x8bb8
movq 0x6484(%rip), %r14      # 0xefd8
leaq 0x1f1d(%rip), %rsi      # 0xaa78
movl $0x17, %edx
movq %r14, %rdi
callq 0x21f0
movq %rbx, %rdi
callq 0x6960
movq %r14, %rdi
movl %eax, %esi
callq 0x2310
movq %rax, %r14
leaq 0x1f0c(%rip), %rsi      # 0xaa90
movl $0x8, %edx
movq %rax, %rdi
callq 0x21f0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %esi
movq %r14, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2120
cmpb $0x1, 0x66b1(%rip)      # 0xf270
jne 0x8c03
movq 0x6410(%rip), %r14      # 0xefd8
leaq 0x1eca(%rip), %rsi      # 0xaa99
movl $0x9, %edx
movq %r14, %rdi
callq 0x21f0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2190
movsbl %al, %esi
movq %r14, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2120
movq %rbx, %rax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
movq %rdx, %r15
movq %rax, %r14
movl $0x10068, %esi          # imm = 0x10068
movq %rbx, %rdi
callq 0x21d0
jmp 0x8c2b
movq %rdx, %r15
movq %rax, %r14
cmpl $0x1, %r15d
jne 0x8cbb
movq %r14, %rdi
callq 0x2220
movq 0x638c(%rip), %rax      # 0xefd0
addq $0x10, %rax
movq %rax, 0x8(%rsp)
movq %r14, %rdi
callq 0x20b0
movq 0x637c(%rip), %rdi      # 0xefd8
leaq 0x1dd6(%rip), %rsi      # 0xaa39
movl $0x12, %edx
callq 0x21f0
movq 0x65e4(%rip), %rsi      # 0xf258
movq 0x635d(%rip), %rdi      # 0xefd8
callq 0x21b0
movq %rax, %rbx
leaq 0x1dc0(%rip), %rsi      # 0xaa4a
movl $0x1, %edx
movq %rax, %rdi
callq 0x21f0
movq %rbx, %rdi
callq 0x20d0
movl $0x1, %edi
callq 0x2210
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0x2380
callq 0x22e0
movq %r14, %rdi
callq 0x2330
movq %rax, %rdi
callq 0x7068