// File: /workspace/github_c_makefile_star2_O2/ughman[P]c2c/src/core.cc
// Function: CORE_Loop
void CORE_Loop(uint32_t levelid)
{
	SP -= 224;
	EMU_Write32(SP + 200,S0); //+ 0xC8
	S0 = levelid;
	EMU_Write32(SP + 204,S1); //+ 0xCC
	V0 = EMU_Invoke(0x8002F2F8,0);
	V0 = EMU_Invoke(0x80014D6C,2,0x80067820,S0);
	V0 = EMU_Invoke(0x8002F15C,0);
	do
	{
		if (!(!(EMU_ReadU32(0x80069BDC) & 0x800) && (EMU_ReadU32(GP + 4) != 0x1 || EMU_ReadU32(0x8006CE38))) && !EMU_ReadU32(0x8006CFAC) && !EMU_ReadU32(0x8006CFB0) && EMU_ReadU32(0x8006CF30))
		{
			V0 = !EMU_ReadU32(GP + 4);
			EMU_Write32(GP + 4,V0); //+ 0x4
			if (!V0)
			{
				V0 = EMU_ReadU32(0x8006CE38);
				if (V0)
				{
					EMU_Write32(SP + 192,0); //+ 0xC0
					EMU_Invoke(0x8001CD48,5,0,EMU_ReadU32(0x8006CE38),0xC00,0x1,SP + 192);
					EMU_Write32(GP + 4,0x1); //+ 0x4
				}
				else
				{
					V0 = EMU_ReadU32(GP + 328); //+ 0x148
					A0 = EMU_ReadU32(0x800636EC);
					V1 = EMU_ReadU32(GP + 332); //+ 0x14C
					EMU_Write32(GP + 16,-1); //+ 0x10
					EMU_Write32(0x8003C13C,V0);
					EMU_Write32(A0 + 12,V1); //+ 0xC
				}
				goto ZZ_11800_1A0;
			}
			if (EMU_ReadU32(0x8006CE38))
			{
				goto ZZ_11800_1A0;
			}
			V0 = EMU_Invoke(0x80019928,6,0x8006CDE8,0x4,0x4,0,0,0);
			EMU_Write32(0x8006CE38,V0);
			if ((int32_t)V0 < -254)
			{
				V0 = EMU_ReadU32(0x800636EC);
				V1 = EMU_ReadU32(0x8003C13C);
				A0 = EMU_ReadU32(V0 + 12); //+ 0xC
				EMU_Write32(GP + 16,0x1); //+ 0x10
				EMU_Write32(GP + 328,V1); //+ 0x148
				EMU_Write32(GP + 332,A0); //+ 0x14C
				goto ZZ_11800_1A0;
			}
			EMU_Write32(GP + 4,0); //+ 0x4
			EMU_Write32(0x8006CE38,0);
		}
		EMU_Write32(GP + 16,0); //+ 0x10
ZZ_11800_1A0:
		EMU_Invoke(0x80011E80,0);
		if (EMU_ReadU32(0x8005F624) && EMU_ReadU32(0x8005F620) != 0x6396347F)
		{
			EMU_Invoke(0x800300D8,1,0x8005F620);
		}
		if ((int32_t)EMU_ReadU32(0x8005F688) == -1)
		{
			V0 = EMU_ReadU32(0x80067834);
			V0 = EMU_ReadU32(V0 + 8); //+ 0x8
			if (V0 != 0x2)
			{
				V1 = EMU_ReadU32(0x8006CE4C);
				if (V1 == 0x200 || V1 == 0x300 || V1 == 0x400)
				{
					EMU_Invoke(0x800494DC,1,0x8005F428);
					EMU_Write32(0x8005F688,0x3B);
					EMU_Write32(0x8006F014,0);
				}
			}
		}
		if ((int32_t)EMU_ReadU32(0x8005F688) != -1)
		{
			S1 = EMU_ReadU32(0x8005F688);
			EMU_Invoke(0x8001D360,5,0,0x2900,0,0,0);
			if ((int32_t)EMU_ReadU32(0x8005F688) != -2)
			{
				S0 = 0;
			}
			else
			{
				S1 = EMU_ReadU32(0x80060C20);
				S0 = 0x1;
			}
			EMU_Write32(0x8005F48C,S0);
			EMU_Write32(0x80067844,0x2);
			EMU_Invoke(0x80015340,1,0x80067820);
			EMU_Write32(GP + 4,0);
			EMU_Write32(0x8005F650,0);
			if (S1 == 0x2 || S1 == 0x3B || S1 == 0x3C)
			{
				EMU_Write32(0x8006CE30,EMU_ReadU32(0x8006CE4C));
			}
			EMU_Invoke(0x80014D6C,2,0x80067820,S1);
			EMU_Invoke(0x8002F15C,0);
			if (S0)
			{
				EMU_Write32(0x8006F688,-1);
				EMU_Invoke(0x8002F9D4,1,0x80060BF0);
			}
			EMU_Write32(0x8005F48C,0);
		}
		EMU_Invoke(0x80012C88,1,-1);
		if (!EMU_ReadU32(GP + 4))
		{
			EMU_Invoke(0x80026F14,0);
		}
		EMU_Invoke(0x80017CE8,0);
		if (!(EMU_ReadU32(0x8006CE2C) & 0x1))
		{
			goto ZZ_11800_4C8;
		}
		V0 = EMU_ReadU32(0x80060B64);
		V0 = EMU_ReadU32(V0 + 16); //+ 0x10
		if (!EMU_ReadU32(V0))
		{
			goto ZZ_11800_4C8;
		}
		EMU_Invoke(0x8004F1C0,1,0x80060000 + 2572);
		V0 = EMU_ReadU32(0x80060B64);
		V0 = EMU_ReadU32(V0 + 16); //+ 0x10
		A0 = 0x1F800280;
		A1 = V0 + 44;
		for (A2 = EMU_ReadU32(V0);A2;A2--)
		{
			V0 = EMU_ReadU32(A1 - 32); //+ 0xFFFFFFE0
			V1 = EMU_ReadU16(A1 - 36); //+ 0xFFFFFFDC
			V0 &= 0xFFFE;
			V0 <<= 16;
			EMU_Write32(A0,V0 | V1);
			A0 += 4;
			EMU_Write32(A0,EMU_ReadU32(A1 - 28));
			A0 += 4;
			V0 = EMU_ReadU32(A1 - 24); //+ 0xFFFFFFE8
			V0 = EMU_ReadU32(V0 + 20); //+ 0x14
			V1 = EMU_ReadU32(A1 - 20); //+ 0xFFFFFFEC
			EMU_Write32(A0,V0 * 4 + V1);
			A0 += 4;
			EMU_Write32(A0,EMU_ReadU32(A1 - 16));
			A0 += 4;
			V0 = EMU_ReadU32(A1 - 24); //+ 0xFFFFFFE8
			V0 = EMU_ReadU32(V0 + 16); //+ 0x10
			V1 = EMU_ReadU32(A1 - 12); //+ 0xFFFFFFF4
			EMU_Write32(A0,V0 * 4 + V1);
			A0 += 4;
			EMU_Write32(A0,EMU_ReadU32(A1 - 8));
			A0 += 4;
			EMU_Write32(A0,EMU_ReadU32(A1 - 4));
			A0 += 4;
			EMU_Write32(A0,EMU_ReadU32(A1));
			A0 += 4;
			A1 += 48;
		}
		EMU_Invoke(0x8002FE90,1,0);
		V0 = EMU_Invoke(0x800420F4,4,EMU_ReadU32(0x8005F628),EMU_ReadU32(0x800636F0),0x80062CB0,EMU_ReadU32(0x80060BDC));
		EMU_Write32(0x8006CF50,V0);
		goto ZZ_11800_4DC;
ZZ_11800_4C8:
		EMU_Invoke(0x8003BEF4,2,EMU_ReadU32(0x800636F0) + 24,0x800);
ZZ_11800_4DC:
		if (EMU_ReadU32(0x8006CE2C) & 0x20000001)
		{
			A0 = EMU_ReadU32(0x80062D28);
			if (A0 && (EMU_ReadU32(0x80062D70) & 0x10))
			{
				EMU_Invoke(0x800451EC,3,A0,EMU_ReadU32(0x800636F0),0x80062CB0);
			}
			A0 = EMU_ReadU32(0x80062D38);
			if (A0 && (EMU_ReadU32(0x80062D70) & 0x400000))
			{
				EMU_Invoke(0x800454B0,3,A0,EMU_ReadU32(0x800636F0),0x80062CB0);
			}
		}
		EMU_Invoke(0x8001C3D4,1,!EMU_ReadU32(GP + 4));
		EMU_Invoke(0x80011E88,0);
		A1 = EMU_ReadU32(0x800636F0);
		EMU_Invoke(0x8003DE2C,3,EMU_ReadU32(A1 + 8328),A1,0x80062CB0);
		EMU_Invoke(0x8001658C,0);
		EMU_Invoke(0x80011E90,0);
	} while (!EMU_ReadU32(0x8005F468));
	EMU_Write32(0x8006CE2C,0);
	EMU_Invoke(0x8001658C,0);
	EMU_Invoke(0x8001658C,0);
	V0 = EMU_Invoke(0x80015340,1,0x80067820);
	S1 = EMU_ReadU32(SP + 204); //+ 0xCC
	S0 = EMU_ReadU32(SP + 200); //+ 0xC8
	SP += 224;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movl %edi, %ebx
leaq 0x23059(%rip), %rbp     # 0x15a350
movq (%rbp), %rax
movl 0x40(%rax), %esi
movl 0x74(%rax), %edi
leal -0xe0(%rdi), %ecx
movl %ecx, 0x74(%rax)
addl $-0x18, %edi
callq 0x135d4c
movq (%rbp), %rax
movl %ebx, 0x40(%rax)
movl $0xcc, %edi
addl 0x74(%rax), %edi
movl 0x44(%rax), %esi
callq 0x135d4c
movl $0x8002f2f8, %edi       # imm = 0x8002F2F8
xorl %esi, %esi
xorl %eax, %eax
callq 0x136157
movq (%rbp), %rcx
movl %eax, 0x8(%rcx)
movl 0x40(%rcx), %ecx
pushq $0x2
popq %rbx
movl $0x80014d6c, %edi       # imm = 0x80014D6C
movl %ebx, %esi
movl $0x80067820, %edx       # imm = 0x80067820
xorl %eax, %eax
callq 0x136157
movq (%rbp), %rcx
movl %eax, 0x8(%rcx)
movl $0x8002f15c, %edi       # imm = 0x8002F15C
xorl %esi, %esi
xorl %eax, %eax
callq 0x136157
movq (%rbp), %rcx
movl %eax, 0x8(%rcx)
pushq $-0x1
popq %r13
pushq $0x5
popq %r12
pushq $0x1
popq %r14
pushq $0x3
popq %r15
movl $0x80069bdc, %edi       # imm = 0x80069BDC
callq 0x1356f5
btl $0xb, %eax
jb 0x1373b5
movq (%rbp), %rax
movl 0x70(%rax), %edi
addl $0x4, %edi
callq 0x1356f5
cmpl $0x1, %eax
jne 0x1373d5
movl $0x8006ce38, %edi       # imm = 0x8006CE38
callq 0x1356f5
testl %eax, %eax
jne 0x1373d5
movl $0x8006cfac, %edi       # imm = 0x8006CFAC
callq 0x1356f5
testl %eax, %eax
jne 0x1373d5
movl $0x8006cfb0, %edi       # imm = 0x8006CFB0
callq 0x1356f5
testl %eax, %eax
je 0x137a76
movq (%rbp), %rax
movl 0x70(%rax), %edi
addl $0x10, %edi
xorl %esi, %esi
callq 0x135d4c
movl $0x80011e80, %edi       # imm = 0x80011E80
xorl %esi, %esi
xorl %eax, %eax
callq 0x136157
movl $0x8005f624, %edi       # imm = 0x8005F624
callq 0x1356f5
testl %eax, %eax
je 0x137427
movl $0x8005f620, %edi       # imm = 0x8005F620
callq 0x1356f5
cmpl $0x6396347f, %eax       # imm = 0x6396347F
je 0x137427
movl $0x800300d8, %edi       # imm = 0x800300D8
movl %r14d, %esi
movl $0x8005f620, %edx       # imm = 0x8005F620
xorl %eax, %eax
callq 0x136157
movl $0x8005f688, %edi       # imm = 0x8005F688
callq 0x1356f5
cmpl $-0x1, %eax
jne 0x1374ae
movl $0x80067834, %edi       # imm = 0x80067834
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x8(%rcx)
leal 0x8(%rax), %edi
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x8(%rcx)
cmpl $0x2, %eax
je 0x1374ae
movl $0x8006ce4c, %edi       # imm = 0x8006CE4C
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0xc(%rcx)
cmpl $0x200, %eax            # imm = 0x200
je 0x137481
cmpl $0x400, %eax            # imm = 0x400
je 0x137481
cmpl $0x300, %eax            # imm = 0x300
jne 0x1374ae
movl $0x800494dc, %edi       # imm = 0x800494DC
movl %r14d, %esi
movl $0x8005f428, %edx       # imm = 0x8005F428
xorl %eax, %eax
callq 0x136157
movl $0x8005f688, %edi       # imm = 0x8005F688
pushq $0x3b
popq %rsi
callq 0x135d4c
movl $0x8006f014, %edi       # imm = 0x8006F014
xorl %esi, %esi
callq 0x135d4c
movl $0x8005f688, %edi       # imm = 0x8005F688
callq 0x1356f5
cmpl $-0x1, %eax
je 0x1375f9
movl $0x8005f688, %edi       # imm = 0x8005F688
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x44(%rcx)
andl $0x0, (%rsp)
movl $0x8001d360, %edi       # imm = 0x8001D360
movl %r12d, %esi
xorl %edx, %edx
movl $0x2900, %ecx           # imm = 0x2900
xorl %r8d, %r8d
xorl %r9d, %r9d
xorl %eax, %eax
callq 0x136157
movl $0x8005f688, %edi       # imm = 0x8005F688
callq 0x1356f5
cmpl $-0x2, %eax
jne 0x137517
movl $0x80060c20, %edi       # imm = 0x80060C20
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x44(%rcx)
movl %r14d, %esi
jmp 0x13751d
movq (%rbp), %rcx
xorl %esi, %esi
movl %esi, 0x40(%rcx)
movl $0x8005f48c, %edi       # imm = 0x8005F48C
callq 0x135d4c
movl $0x80067844, %edi       # imm = 0x80067844
movl %ebx, %esi
callq 0x135d4c
movl $0x80015340, %edi       # imm = 0x80015340
movl %r14d, %esi
movl $0x80067820, %edx       # imm = 0x80067820
xorl %eax, %eax
callq 0x136157
movq (%rbp), %rax
movl 0x70(%rax), %edi
addl $0x4, %edi
xorl %esi, %esi
callq 0x135d4c
movl $0x8005f650, %edi       # imm = 0x8005F650
xorl %esi, %esi
callq 0x135d4c
movq (%rbp), %rax
movl 0x44(%rax), %ecx
cmpq $0x3c, %rcx
ja 0x1375a1
movabsq $0x1800000000000004, %rax # imm = 0x1800000000000004
btq %rcx, %rax
jae 0x1375a1
movl $0x8006ce4c, %edi       # imm = 0x8006CE4C
callq 0x1356f5
movl $0x8006ce30, %edi       # imm = 0x8006CE30
movl %eax, %esi
callq 0x135d4c
movq (%rbp), %rax
movl 0x44(%rax), %ecx
movl $0x80014d6c, %edi       # imm = 0x80014D6C
movl %ebx, %esi
movl $0x80067820, %edx       # imm = 0x80067820
xorl %eax, %eax
callq 0x136157
movl $0x8002f15c, %edi       # imm = 0x8002F15C
xorl %esi, %esi
xorl %eax, %eax
callq 0x136157
movq (%rbp), %rax
cmpl $0x0, 0x40(%rax)
je 0x1375ed
movl $0x8006f688, %edi       # imm = 0x8006F688
movl %r13d, %esi
callq 0x135d4c
movl $0x8002f9d4, %edi       # imm = 0x8002F9D4
movl %r14d, %esi
movl $0x80060bf0, %edx       # imm = 0x80060BF0
xorl %eax, %eax
callq 0x136157
movl $0x8005f48c, %edi       # imm = 0x8005F48C
xorl %esi, %esi
callq 0x135d4c
movl $0x80012c88, %edi       # imm = 0x80012C88
movl %r14d, %esi
movl %r13d, %edx
xorl %eax, %eax
callq 0x136157
movq (%rbp), %rax
movl 0x70(%rax), %edi
addl $0x4, %edi
callq 0x1356f5
testl %eax, %eax
jne 0x13762c
movl $0x80026f14, %edi       # imm = 0x80026F14
xorl %esi, %esi
xorl %eax, %eax
callq 0x136157
movl $0x80017ce8, %edi       # imm = 0x80017CE8
xorl %esi, %esi
xorl %eax, %eax
callq 0x136157
movl $0x8006ce2c, %edi       # imm = 0x8006CE2C
callq 0x1356f5
testb $0x1, %al
je 0x137880
movl $0x80060b64, %edi       # imm = 0x80060B64
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x8(%rcx)
leal 0x10(%rax), %edi
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x8(%rcx)
movl %eax, %edi
callq 0x1356f5
testl %eax, %eax
je 0x137880
movl %ebx, %r15d
movl %r12d, %ebx
movl %r13d, %r12d
movl $0x8004f1c0, %edi       # imm = 0x8004F1C0
movl %r14d, %esi
movl $0x80060a0c, %edx       # imm = 0x80060A0C
xorl %eax, %eax
callq 0x136157
movl $0x80060b64, %edi       # imm = 0x80060B64
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x8(%rcx)
leal 0x10(%rax), %edi
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x8(%rcx)
movl $0x1f800280, 0x10(%rcx) # imm = 0x1F800280
leal 0x2c(%rax), %edx
movl %edx, 0x14(%rcx)
movl %eax, %edi
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x18(%rcx)
testl %eax, %eax
je 0x1378a2
movl 0x14(%rcx), %edi
addl $-0x20, %edi
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x8(%rcx)
movl 0x14(%rcx), %edi
addl $-0x24, %edi
callq 0x1354bb
movzwl %ax, %eax
movq (%rbp), %rcx
movl %eax, 0xc(%rcx)
movl 0x8(%rcx), %esi
movl 0x10(%rcx), %edi
andl $-0x2, %esi
shll $0x10, %esi
movl %esi, 0x8(%rcx)
orl %eax, %esi
callq 0x135d4c
movq (%rbp), %rax
movl 0x10(%rax), %r13d
movl 0x14(%rax), %edi
addl $0x4, %r13d
movl %r13d, 0x10(%rax)
addl $-0x1c, %edi
callq 0x1356f5
movl %r13d, %edi
movl %eax, %esi
callq 0x135d4c
movq (%rbp), %rax
addl $0x4, 0x10(%rax)
movl 0x14(%rax), %edi
addl $-0x18, %edi
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x8(%rcx)
leal 0x14(%rax), %edi
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x8(%rcx)
movl 0x14(%rcx), %edi
addl $-0x14, %edi
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0xc(%rcx)
movl 0x8(%rcx), %edx
movl 0x10(%rcx), %edi
leal (%rax,%rdx,4), %esi
callq 0x135d4c
movq (%rbp), %rax
movl 0x10(%rax), %r13d
movl 0x14(%rax), %edi
addl $0x4, %r13d
movl %r13d, 0x10(%rax)
addl $-0x10, %edi
callq 0x1356f5
movl %r13d, %edi
movl %eax, %esi
callq 0x135d4c
movq (%rbp), %rax
addl $0x4, 0x10(%rax)
movl 0x14(%rax), %edi
addl $-0x18, %edi
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x8(%rcx)
leal 0x10(%rax), %edi
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x8(%rcx)
movl 0x14(%rcx), %edi
addl $-0xc, %edi
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0xc(%rcx)
movl 0x8(%rcx), %edx
movl 0x10(%rcx), %edi
leal (%rax,%rdx,4), %esi
callq 0x135d4c
movq (%rbp), %rax
movl 0x10(%rax), %r13d
movl 0x14(%rax), %edi
addl $0x4, %r13d
movl %r13d, 0x10(%rax)
addl $-0x8, %edi
callq 0x1356f5
movl %r13d, %edi
movl %eax, %esi
callq 0x135d4c
movq (%rbp), %rax
movl 0x10(%rax), %r13d
movl 0x14(%rax), %edi
addl $0x4, %r13d
movl %r13d, 0x10(%rax)
addl $-0x4, %edi
callq 0x1356f5
movl %r13d, %edi
movl %eax, %esi
callq 0x135d4c
movq (%rbp), %rax
movl 0x10(%rax), %r13d
movl 0x14(%rax), %edi
addl $0x4, %r13d
movl %r13d, 0x10(%rax)
callq 0x1356f5
movl %r13d, %edi
movl %eax, %esi
callq 0x135d4c
movq (%rbp), %rcx
movq 0x10(%rcx), %xmm0
paddd 0x2a8f(%rip), %xmm0     # 0x13a300
movq %xmm0, 0x10(%rcx)
movl 0x18(%rcx), %eax
decl %eax
jmp 0x1376d0
movl $0x800636f0, %edi       # imm = 0x800636F0
callq 0x1356f5
leal 0x18(%rax), %edx
movl $0x8003bef4, %edi       # imm = 0x8003BEF4
movl %ebx, %esi
movl $0x800, %ecx            # imm = 0x800
xorl %eax, %eax
callq 0x136157
jmp 0x137919
movl $0x8002fe90, %edi       # imm = 0x8002FE90
movl %r14d, %esi
xorl %edx, %edx
xorl %eax, %eax
callq 0x136157
movl $0x8005f628, %edi       # imm = 0x8005F628
callq 0x1356f5
movl %eax, %r13d
movl $0x800636f0, %edi       # imm = 0x800636F0
callq 0x1356f5
movl %eax, %r14d
movl $0x80060bdc, %edi       # imm = 0x80060BDC
callq 0x1356f5
movl $0x800420f4, %edi       # imm = 0x800420F4
pushq $0x4
popq %rsi
movl %r13d, %edx
movl %r14d, %ecx
pushq $0x1
popq %r14
movl $0x80062cb0, %r8d       # imm = 0x80062CB0
movl %eax, %r9d
xorl %eax, %eax
callq 0x136157
movq (%rbp), %rcx
movl %eax, 0x8(%rcx)
movl $0x8006cf50, %edi       # imm = 0x8006CF50
movl %eax, %esi
callq 0x135d4c
movl %r12d, %r13d
movl %ebx, %r12d
movl %r15d, %ebx
pushq $0x3
popq %r15
movl $0x8006ce2c, %edi       # imm = 0x8006CE2C
callq 0x1356f5
testl $0x20000001, %eax       # imm = 0x20000001
je 0x1379d6
movl $0x80062d28, %edi       # imm = 0x80062D28
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x10(%rcx)
testl %eax, %eax
je 0x137981
movl $0x80062d70, %edi       # imm = 0x80062D70
callq 0x1356f5
testb $0x10, %al
je 0x137981
movq (%rbp), %rax
movl 0x10(%rax), %r14d
movl $0x800636f0, %edi       # imm = 0x800636F0
callq 0x1356f5
movl $0x800451ec, %edi       # imm = 0x800451EC
movl %r15d, %esi
movl %r14d, %edx
pushq $0x1
popq %r14
movl %eax, %ecx
movl $0x80062cb0, %r8d       # imm = 0x80062CB0
xorl %eax, %eax
callq 0x136157
movl $0x80062d38, %edi       # imm = 0x80062D38
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x10(%rcx)
testl %eax, %eax
je 0x1379d6
movl $0x80062d70, %edi       # imm = 0x80062D70
callq 0x1356f5
btl $0x16, %eax
jae 0x1379d6
movq (%rbp), %rax
movl 0x10(%rax), %r14d
movl $0x800636f0, %edi       # imm = 0x800636F0
callq 0x1356f5
movl $0x800454b0, %edi       # imm = 0x800454B0
movl %r15d, %esi
movl %r14d, %edx
pushq $0x1
popq %r14
movl %eax, %ecx
movl $0x80062cb0, %r8d       # imm = 0x80062CB0
xorl %eax, %eax
callq 0x136157
movq (%rbp), %rax
movl 0x70(%rax), %edi
addl $0x4, %edi
callq 0x1356f5
xorl %edx, %edx
testl %eax, %eax
sete %dl
movl $0x8001c3d4, %edi       # imm = 0x8001C3D4
movl %r14d, %esi
xorl %eax, %eax
callq 0x136157
movl $0x80011e88, %edi       # imm = 0x80011E88
xorl %esi, %esi
xorl %eax, %eax
callq 0x136157
movl $0x800636f0, %edi       # imm = 0x800636F0
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x14(%rcx)
leal 0x2088(%rax), %edi
callq 0x1356f5
movq (%rbp), %rcx
movl 0x14(%rcx), %ecx
movl $0x8003de2c, %edi       # imm = 0x8003DE2C
movl %r15d, %esi
movl %eax, %edx
movl $0x80062cb0, %r8d       # imm = 0x80062CB0
xorl %eax, %eax
callq 0x136157
movl $0x8001658c, %edi       # imm = 0x8001658C
xorl %esi, %esi
xorl %eax, %eax
callq 0x136157
movl $0x80011e90, %edi       # imm = 0x80011E90
xorl %esi, %esi
xorl %eax, %eax
callq 0x136157
movl $0x8005f468, %edi       # imm = 0x8005F468
callq 0x1356f5
testl %eax, %eax
je 0x137383
jmp 0x137c8c
movl $0x8006cf30, %edi       # imm = 0x8006CF30
callq 0x1356f5
testl %eax, %eax
je 0x1373d5
movq (%rbp), %rax
movl 0x70(%rax), %edi
addl $0x4, %edi
callq 0x1356f5
xorl %esi, %esi
testl %eax, %eax
sete %sil
movq (%rbp), %rax
movl %esi, 0x8(%rax)
movl 0x70(%rax), %edi
addl $0x4, %edi
callq 0x135d4c
movq (%rbp), %rax
movl 0x8(%rax), %r14d
movl $0x8006ce38, %edi       # imm = 0x8006CE38
callq 0x1356f5
testl %r14d, %r14d
je 0x137b90
testl %eax, %eax
pushq $0x1
popq %r14
jne 0x1373e6
andl $0x0, 0x8(%rsp)
andl $0x0, (%rsp)
movl $0x80019928, %edi       # imm = 0x80019928
pushq $0x6
popq %rsi
movl $0x8006cde8, %edx       # imm = 0x8006CDE8
pushq $0x4
popq %rcx
movl %ecx, %r8d
xorl %r9d, %r9d
xorl %eax, %eax
callq 0x136157
movq (%rbp), %rcx
movl %eax, 0x8(%rcx)
movl $0x8006ce38, %edi       # imm = 0x8006CE38
movl %eax, %esi
callq 0x135d4c
movq (%rbp), %rax
cmpl $0xffffff01, 0x8(%rax)  # imm = 0xFFFFFF01
jg 0x137c6e
movl $0x800636ec, %edi       # imm = 0x800636EC
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x8(%rcx)
movl $0x8003c13c, %edi       # imm = 0x8003C13C
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0xc(%rcx)
movl 0x8(%rcx), %edi
addl $0xc, %edi
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x10(%rcx)
movl 0x70(%rcx), %edi
addl $0x10, %edi
movl %r14d, %esi
callq 0x135d4c
movq (%rbp), %rax
movl 0x70(%rax), %edi
movl $0x148, %ecx            # imm = 0x148
addl %ecx, %edi
movl 0xc(%rax), %esi
callq 0x135d4c
movq (%rbp), %rax
movl 0x70(%rax), %edi
movl $0x14c, %ecx            # imm = 0x14C
addl %ecx, %edi
movl 0x10(%rax), %esi
jmp 0x1373e1
movq (%rbp), %rcx
movl %eax, 0x8(%rcx)
testl %eax, %eax
je 0x137bf7
movl 0x74(%rcx), %edi
movl $0xc0, %r14d
addl %r14d, %edi
xorl %esi, %esi
callq 0x135d4c
movl $0x8006ce38, %edi       # imm = 0x8006CE38
callq 0x1356f5
movq (%rbp), %rcx
movl 0x74(%rcx), %ecx
addl %r14d, %ecx
movl %ecx, (%rsp)
movl $0x8001cd48, %edi       # imm = 0x8001CD48
movl %r12d, %esi
xorl %edx, %edx
movl %eax, %ecx
movl $0xc00, %r8d            # imm = 0xC00
pushq $0x1
popq %r14
movl %r14d, %r9d
xorl %eax, %eax
callq 0x136157
movq (%rbp), %rax
movl 0x70(%rax), %edi
addl $0x4, %edi
movl %r14d, %esi
jmp 0x1373e1
movl 0x70(%rcx), %edi
movl $0x148, %eax            # imm = 0x148
addl %eax, %edi
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x8(%rcx)
movl $0x800636ec, %edi       # imm = 0x800636EC
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x10(%rcx)
movl 0x70(%rcx), %edi
movl $0x14c, %eax            # imm = 0x14C
addl %eax, %edi
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0xc(%rcx)
movl 0x70(%rcx), %edi
addl $0x10, %edi
movl %r13d, %esi
callq 0x135d4c
movq (%rbp), %rax
movl 0x8(%rax), %esi
movl $0x8003c13c, %edi       # imm = 0x8003C13C
callq 0x135d4c
movq (%rbp), %rax
movl 0xc(%rax), %esi
movl 0x10(%rax), %edi
addl $0xc, %edi
callq 0x135d4c
pushq $0x1
popq %r14
jmp 0x1373e6
movl 0x70(%rax), %edi
addl $0x4, %edi
xorl %esi, %esi
callq 0x135d4c
movl $0x8006ce38, %edi       # imm = 0x8006CE38
xorl %esi, %esi
callq 0x135d4c
jmp 0x1373d5
movl $0x8006ce2c, %edi       # imm = 0x8006CE2C
xorl %esi, %esi
callq 0x135d4c
movl $0x8001658c, %edi       # imm = 0x8001658C
xorl %esi, %esi
xorl %eax, %eax
callq 0x136157
movl $0x8001658c, %edi       # imm = 0x8001658C
xorl %esi, %esi
xorl %eax, %eax
callq 0x136157
pushq $0x1
popq %rsi
movl $0x80015340, %edi       # imm = 0x80015340
movl $0x80067820, %edx       # imm = 0x80067820
xorl %eax, %eax
callq 0x136157
movq (%rbp), %rcx
movl %eax, 0x8(%rcx)
movl $0xcc, %edi
addl 0x74(%rcx), %edi
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x44(%rcx)
movl $0xc8, %edi
addl 0x74(%rcx), %edi
callq 0x1356f5
movq (%rbp), %rcx
movl %eax, 0x40(%rcx)
addl $0xe0, 0x74(%rcx)
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq