// File: /workspace/github_c_makefile_star2_O1/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 0x7471(%rip), %r14      # 0x16b350
movq (%r14), %rax
movl 0x40(%rax), %esi
movl 0x74(%rax), %edi
leal -0xe0(%rdi), %ecx
movl %ecx, 0x74(%rax)
addl $-0x18, %edi
callq 0x162869
movq (%r14), %rax
movl %ebx, 0x40(%rax)
movl $0xcc, %edi
addl 0x74(%rax), %edi
movl 0x44(%rax), %esi
callq 0x162869
xorl %r15d, %r15d
movl $0x8002f2f8, %edi       # imm = 0x8002F2F8
xorl %esi, %esi
xorl %eax, %eax
callq 0x162cdf
movq (%r14), %rcx
movl %eax, 0x8(%rcx)
movl 0x40(%rcx), %ecx
movl $0x80014d6c, %edi       # imm = 0x80014D6C
movl $0x2, %esi
movl $0x80067820, %edx       # imm = 0x80067820
xorl %eax, %eax
callq 0x162cdf
movq (%r14), %rcx
movl %eax, 0x8(%rcx)
movl $0x8002f15c, %edi       # imm = 0x8002F15C
xorl %esi, %esi
xorl %eax, %eax
callq 0x162cdf
movq (%r14), %rcx
movl %eax, 0x8(%rcx)
movl $0xc0, %r12d
movabsq $0x1800000000000004, %r13 # imm = 0x1800000000000004
movl $0x80069bdc, %edi       # imm = 0x80069BDC
callq 0x1621d5
btl $0xb, %eax
jb 0x163f9a
movq (%r14), %rax
movl 0x70(%rax), %edi
addl $0x4, %edi
callq 0x1621d5
cmpl $0x1, %eax
jne 0x163fba
movl $0x8006ce38, %edi       # imm = 0x8006CE38
callq 0x1621d5
testl %eax, %eax
jne 0x163fba
movl $0x8006cfac, %edi       # imm = 0x8006CFAC
callq 0x1621d5
testl %eax, %eax
jne 0x163fba
movl $0x8006cfb0, %edi       # imm = 0x8006CFB0
callq 0x1621d5
testl %eax, %eax
je 0x16461a
movq (%r14), %rax
movl 0x70(%rax), %edi
addl $0x10, %edi
xorl %esi, %esi
callq 0x162869
movl $0x80011e80, %edi       # imm = 0x80011E80
xorl %esi, %esi
xorl %eax, %eax
callq 0x162cdf
movl $0x8005f624, %edi       # imm = 0x8005F624
callq 0x1621d5
testl %eax, %eax
je 0x16400d
movl $0x8005f620, %edi       # imm = 0x8005F620
callq 0x1621d5
cmpl $0x6396347f, %eax       # imm = 0x6396347F
je 0x16400d
movl $0x800300d8, %edi       # imm = 0x800300D8
movl $0x1, %esi
movl $0x8005f620, %edx       # imm = 0x8005F620
xorl %eax, %eax
callq 0x162cdf
movl $0x8005f688, %edi       # imm = 0x8005F688
callq 0x1621d5
cmpl $-0x1, %eax
jne 0x164095
movl $0x80067834, %edi       # imm = 0x80067834
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0x8(%rcx)
leal 0x8(%rax), %edi
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0x8(%rcx)
cmpl $0x2, %eax
je 0x164095
movl $0x8006ce4c, %edi       # imm = 0x8006CE4C
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0xc(%rcx)
cmpl $0x200, %eax            # imm = 0x200
je 0x164064
cmpl $0x400, %eax            # imm = 0x400
je 0x164064
cmpl $0x300, %eax            # imm = 0x300
jne 0x164095
movl $0x800494dc, %edi       # imm = 0x800494DC
movl $0x1, %esi
movl $0x8005f428, %edx       # imm = 0x8005F428
xorl %eax, %eax
callq 0x162cdf
movl $0x8005f688, %edi       # imm = 0x8005F688
movl $0x3b, %esi
callq 0x162869
movl $0x8006f014, %edi       # imm = 0x8006F014
xorl %esi, %esi
callq 0x162869
movl $0x8005f688, %edi       # imm = 0x8005F688
callq 0x1621d5
cmpl $-0x1, %eax
je 0x1641e8
movl $0x8005f688, %edi       # imm = 0x8005F688
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0x44(%rcx)
movl $0x0, (%rsp)
movl $0x8001d360, %edi       # imm = 0x8001D360
movl $0x5, %esi
xorl %edx, %edx
movl $0x2900, %ecx           # imm = 0x2900
xorl %r8d, %r8d
xorl %r9d, %r9d
xorl %eax, %eax
callq 0x162cdf
movl $0x8005f688, %edi       # imm = 0x8005F688
callq 0x1621d5
cmpl $-0x2, %eax
jne 0x164103
movl $0x80060c20, %edi       # imm = 0x80060C20
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0x44(%rcx)
movl $0x1, %eax
jmp 0x164108
movq (%r14), %rcx
xorl %eax, %eax
movl %eax, 0x40(%rcx)
movq (%r14), %rax
movl 0x40(%rax), %esi
movl $0x8005f48c, %edi       # imm = 0x8005F48C
callq 0x162869
movl $0x80067844, %edi       # imm = 0x80067844
movl $0x2, %esi
callq 0x162869
movl $0x80015340, %edi       # imm = 0x80015340
movl $0x1, %esi
movl $0x80067820, %edx       # imm = 0x80067820
xorl %eax, %eax
callq 0x162cdf
movq (%r14), %rax
movl 0x70(%rax), %edi
addl $0x4, %edi
xorl %esi, %esi
callq 0x162869
movl $0x8005f650, %edi       # imm = 0x8005F650
xorl %esi, %esi
callq 0x162869
movq (%r14), %rax
movl 0x44(%rax), %eax
cmpq $0x3c, %rax
ja 0x164184
btq %rax, %r13
jae 0x164184
movl $0x8006ce4c, %edi       # imm = 0x8006CE4C
callq 0x1621d5
movl $0x8006ce30, %edi       # imm = 0x8006CE30
movl %eax, %esi
callq 0x162869
movq (%r14), %rax
movl 0x44(%rax), %ecx
movl $0x80014d6c, %edi       # imm = 0x80014D6C
movl $0x2, %esi
movl $0x80067820, %edx       # imm = 0x80067820
xorl %eax, %eax
callq 0x162cdf
movl $0x8002f15c, %edi       # imm = 0x8002F15C
xorl %esi, %esi
xorl %eax, %eax
callq 0x162cdf
movq (%r14), %rax
cmpl $0x0, 0x40(%rax)
je 0x1641dc
movl $0x8006f688, %edi       # imm = 0x8006F688
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x162869
movl $0x8002f9d4, %edi       # imm = 0x8002F9D4
movl $0x1, %esi
movl $0x80060bf0, %edx       # imm = 0x80060BF0
xorl %eax, %eax
callq 0x162cdf
movl $0x8005f48c, %edi       # imm = 0x8005F48C
xorl %esi, %esi
callq 0x162869
movl $0x80012c88, %edi       # imm = 0x80012C88
movl $0x1, %esi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
xorl %eax, %eax
callq 0x162cdf
movq (%r14), %rax
movl 0x70(%rax), %edi
addl $0x4, %edi
callq 0x1621d5
testl %eax, %eax
jne 0x16421e
movl $0x80026f14, %edi       # imm = 0x80026F14
xorl %esi, %esi
xorl %eax, %eax
callq 0x162cdf
movl $0x80017ce8, %edi       # imm = 0x80017CE8
xorl %esi, %esi
xorl %eax, %eax
callq 0x162cdf
movl $0x8006ce2c, %edi       # imm = 0x8006CE2C
callq 0x1621d5
testb $0x1, %al
je 0x1644a5
movl $0x80060b64, %edi       # imm = 0x80060B64
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0x8(%rcx)
leal 0x10(%rax), %edi
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0x8(%rcx)
movl %eax, %edi
callq 0x1621d5
testl %eax, %eax
je 0x1644a5
movl $0x8004f1c0, %edi       # imm = 0x8004F1C0
movl $0x1, %esi
movl $0x80060a0c, %edx       # imm = 0x80060A0C
xorl %eax, %eax
callq 0x162cdf
movl $0x80060b64, %edi       # imm = 0x80060B64
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0x8(%rcx)
leal 0x10(%rax), %edi
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0x8(%rcx)
movl $0x1f800280, 0x10(%rcx) # imm = 0x1F800280
leal 0x2c(%rax), %edx
movl %edx, 0x14(%rcx)
movl %eax, %edi
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0x18(%rcx)
testl %eax, %eax
je 0x16443e
movl 0x14(%rcx), %edi
addl $-0x20, %edi
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0x8(%rcx)
movl 0x14(%rcx), %edi
addl $-0x24, %edi
callq 0x161f95
movzwl %ax, %eax
movq (%r14), %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 0x162869
movq (%r14), %rax
movl 0x10(%rax), %ebx
movl 0x14(%rax), %edi
addl $0x4, %ebx
movl %ebx, 0x10(%rax)
addl $-0x1c, %edi
callq 0x1621d5
movl %ebx, %edi
movl %eax, %esi
callq 0x162869
movq (%r14), %rax
addl $0x4, 0x10(%rax)
movl 0x14(%rax), %edi
addl $-0x18, %edi
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0x8(%rcx)
leal 0x14(%rax), %edi
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0x8(%rcx)
movl 0x14(%rcx), %edi
addl $-0x14, %edi
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0xc(%rcx)
movl 0x8(%rcx), %edx
movl 0x10(%rcx), %edi
leal (%rax,%rdx,4), %esi
callq 0x162869
movq (%r14), %rax
movl 0x10(%rax), %ebx
movl 0x14(%rax), %edi
addl $0x4, %ebx
movl %ebx, 0x10(%rax)
addl $-0x10, %edi
callq 0x1621d5
movl %ebx, %edi
movl %eax, %esi
callq 0x162869
movq (%r14), %rax
addl $0x4, 0x10(%rax)
movl 0x14(%rax), %edi
addl $-0x18, %edi
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0x8(%rcx)
leal 0x10(%rax), %edi
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0x8(%rcx)
movl 0x14(%rcx), %edi
addl $-0xc, %edi
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0xc(%rcx)
movl 0x8(%rcx), %edx
movl 0x10(%rcx), %edi
leal (%rax,%rdx,4), %esi
callq 0x162869
movq (%r14), %rax
movl 0x10(%rax), %ebx
movl 0x14(%rax), %edi
addl $0x4, %ebx
movl %ebx, 0x10(%rax)
addl $-0x8, %edi
callq 0x1621d5
movl %ebx, %edi
movl %eax, %esi
callq 0x162869
movq (%r14), %rax
movl 0x10(%rax), %ebx
movl 0x14(%rax), %edi
addl $0x4, %ebx
movl %ebx, 0x10(%rax)
addl $-0x4, %edi
callq 0x1621d5
movl %ebx, %edi
movl %eax, %esi
callq 0x162869
movq (%r14), %rax
movl 0x10(%rax), %ebx
movl 0x14(%rax), %edi
addl $0x4, %ebx
movl %ebx, 0x10(%rax)
callq 0x1621d5
movl %ebx, %edi
movl %eax, %esi
callq 0x162869
movq (%r14), %rax
addl $0x4, 0x10(%rax)
addl $0x30, 0x14(%rax)
decl 0x18(%rax)
movq (%r14), %rcx
cmpl $0x0, 0x18(%rcx)
jne 0x1642c1
movl $0x8002fe90, %edi       # imm = 0x8002FE90
movl $0x1, %esi
xorl %edx, %edx
xorl %eax, %eax
callq 0x162cdf
movl $0x8005f628, %edi       # imm = 0x8005F628
callq 0x1621d5
movl %eax, %ebx
movl $0x800636f0, %edi       # imm = 0x800636F0
callq 0x1621d5
movl %eax, %ebp
movl $0x80060bdc, %edi       # imm = 0x80060BDC
callq 0x1621d5
movl $0x800420f4, %edi       # imm = 0x800420F4
movl $0x4, %esi
movl %ebx, %edx
movl %ebp, %ecx
movl $0x80062cb0, %r8d       # imm = 0x80062CB0
movl %eax, %r9d
xorl %eax, %eax
callq 0x162cdf
movq (%r14), %rcx
movl %eax, 0x8(%rcx)
movl $0x8006cf50, %edi       # imm = 0x8006CF50
movl %eax, %esi
callq 0x162869
jmp 0x1644c8
movl $0x800636f0, %edi       # imm = 0x800636F0
callq 0x1621d5
leal 0x18(%rax), %edx
movl $0x8003bef4, %edi       # imm = 0x8003BEF4
movl $0x2, %esi
movl $0x800, %ecx            # imm = 0x800
xorl %eax, %eax
callq 0x162cdf
movl $0x8006ce2c, %edi       # imm = 0x8006CE2C
callq 0x1621d5
testl $0x20000001, %eax       # imm = 0x20000001
je 0x164579
movl $0x80062d28, %edi       # imm = 0x80062D28
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0x10(%rcx)
testl %eax, %eax
je 0x16452a
movl $0x80062d70, %edi       # imm = 0x80062D70
callq 0x1621d5
testb $0x10, %al
je 0x16452a
movq (%r14), %rax
movl 0x10(%rax), %ebx
movl $0x800636f0, %edi       # imm = 0x800636F0
callq 0x1621d5
movl $0x800451ec, %edi       # imm = 0x800451EC
movl $0x3, %esi
movl %ebx, %edx
movl %eax, %ecx
movl $0x80062cb0, %r8d       # imm = 0x80062CB0
xorl %eax, %eax
callq 0x162cdf
movl $0x80062d38, %edi       # imm = 0x80062D38
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0x10(%rcx)
testl %eax, %eax
je 0x164579
movl $0x80062d70, %edi       # imm = 0x80062D70
callq 0x1621d5
btl $0x16, %eax
jae 0x164579
movq (%r14), %rax
movl 0x10(%rax), %ebx
movl $0x800636f0, %edi       # imm = 0x800636F0
callq 0x1621d5
movl $0x800454b0, %edi       # imm = 0x800454B0
movl $0x3, %esi
movl %ebx, %edx
movl %eax, %ecx
movl $0x80062cb0, %r8d       # imm = 0x80062CB0
xorl %eax, %eax
callq 0x162cdf
movq (%r14), %rax
movl 0x70(%rax), %edi
addl $0x4, %edi
callq 0x1621d5
xorl %edx, %edx
testl %eax, %eax
sete %dl
movl $0x8001c3d4, %edi       # imm = 0x8001C3D4
movl $0x1, %esi
xorl %eax, %eax
callq 0x162cdf
movl $0x80011e88, %edi       # imm = 0x80011E88
xorl %esi, %esi
xorl %eax, %eax
callq 0x162cdf
movl $0x800636f0, %edi       # imm = 0x800636F0
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0x14(%rcx)
leal 0x2088(%rax), %edi
callq 0x1621d5
movq (%r14), %rcx
movl 0x14(%rcx), %ecx
movl $0x8003de2c, %edi       # imm = 0x8003DE2C
movl $0x3, %esi
movl %eax, %edx
movl $0x80062cb0, %r8d       # imm = 0x80062CB0
xorl %eax, %eax
callq 0x162cdf
movl $0x8001658c, %edi       # imm = 0x8001658C
xorl %esi, %esi
xorl %eax, %eax
callq 0x162cdf
movl $0x80011e90, %edi       # imm = 0x80011E90
xorl %esi, %esi
xorl %eax, %eax
callq 0x162cdf
movl $0x8005f468, %edi       # imm = 0x8005F468
callq 0x1621d5
testl %eax, %eax
je 0x163f69
jmp 0x164817
movl $0x8006cf30, %edi       # imm = 0x8006CF30
callq 0x1621d5
testl %eax, %eax
je 0x163fba
movq (%r14), %rax
movl 0x70(%rax), %edi
addl $0x4, %edi
callq 0x1621d5
xorl %esi, %esi
testl %eax, %eax
sete %sil
movq (%r14), %rax
movl %esi, 0x8(%rax)
movl 0x70(%rax), %edi
addl $0x4, %edi
callq 0x162869
movq (%r14), %rax
movl 0x8(%rax), %ebx
movl $0x8006ce38, %edi       # imm = 0x8006CE38
callq 0x1621d5
testl %ebx, %ebx
je 0x16472d
testl %eax, %eax
jne 0x163fca
movl %r15d, 0x8(%rsp)
movl %r15d, (%rsp)
movl $0x80019928, %edi       # imm = 0x80019928
movl $0x6, %esi
movl $0x8006cde8, %edx       # imm = 0x8006CDE8
movl $0x4, %ecx
movl $0x4, %r8d
xorl %r9d, %r9d
xorl %eax, %eax
callq 0x162cdf
movq (%r14), %rcx
movl %eax, 0x8(%rcx)
movl $0x8006ce38, %edi       # imm = 0x8006CE38
movl %eax, %esi
callq 0x162869
movq (%r14), %rax
cmpl $0xffffff01, 0x8(%rax)  # imm = 0xFFFFFF01
jg 0x1647f9
movl $0x800636ec, %edi       # imm = 0x800636EC
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0x8(%rcx)
movl $0x8003c13c, %edi       # imm = 0x8003C13C
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0xc(%rcx)
movl 0x8(%rcx), %edi
addl $0xc, %edi
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0x10(%rcx)
movl 0x70(%rcx), %edi
addl $0x10, %edi
movl $0x1, %esi
callq 0x162869
movq (%r14), %rax
movl 0x70(%rax), %edi
movl $0x148, %ecx            # imm = 0x148
addl %ecx, %edi
movl 0xc(%rax), %esi
callq 0x162869
movq (%r14), %rax
movl 0x70(%rax), %edi
movl $0x14c, %ecx            # imm = 0x14C
addl %ecx, %edi
movl 0x10(%rax), %esi
jmp 0x163fc5
movq (%r14), %rcx
movl %eax, 0x8(%rcx)
testl %eax, %eax
je 0x16478e
movl 0x74(%rcx), %edi
addl %r12d, %edi
xorl %esi, %esi
callq 0x162869
movl $0x8006ce38, %edi       # imm = 0x8006CE38
callq 0x1621d5
movq (%r14), %rcx
movl 0x74(%rcx), %ecx
addl %r12d, %ecx
movl %ecx, (%rsp)
movl $0x8001cd48, %edi       # imm = 0x8001CD48
movl $0x5, %esi
xorl %edx, %edx
movl %eax, %ecx
movl $0xc00, %r8d            # imm = 0xC00
movl $0x1, %r9d
xorl %eax, %eax
callq 0x162cdf
movq (%r14), %rax
movl 0x70(%rax), %edi
addl $0x4, %edi
movl $0x1, %esi
jmp 0x163fc5
movl 0x70(%rcx), %edi
movl $0x148, %eax            # imm = 0x148
addl %eax, %edi
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0x8(%rcx)
movl $0x800636ec, %edi       # imm = 0x800636EC
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0x10(%rcx)
movl 0x70(%rcx), %edi
movl $0x14c, %eax            # imm = 0x14C
addl %eax, %edi
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0xc(%rcx)
movl 0x70(%rcx), %edi
addl $0x10, %edi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x162869
movq (%r14), %rax
movl 0x8(%rax), %esi
movl $0x8003c13c, %edi       # imm = 0x8003C13C
callq 0x162869
movq (%r14), %rax
movl 0xc(%rax), %esi
movl 0x10(%rax), %edi
addl $0xc, %edi
jmp 0x163fc5
movl 0x70(%rax), %edi
addl $0x4, %edi
xorl %esi, %esi
callq 0x162869
movl $0x8006ce38, %edi       # imm = 0x8006CE38
xorl %esi, %esi
callq 0x162869
jmp 0x163fba
movl $0x8006ce2c, %edi       # imm = 0x8006CE2C
xorl %esi, %esi
callq 0x162869
movl $0x8001658c, %edi       # imm = 0x8001658C
xorl %esi, %esi
xorl %eax, %eax
callq 0x162cdf
movl $0x8001658c, %edi       # imm = 0x8001658C
xorl %esi, %esi
xorl %eax, %eax
callq 0x162cdf
movl $0x80015340, %edi       # imm = 0x80015340
movl $0x1, %esi
movl $0x80067820, %edx       # imm = 0x80067820
xorl %eax, %eax
callq 0x162cdf
movq (%r14), %rcx
movl %eax, 0x8(%rcx)
movl $0xcc, %edi
addl 0x74(%rcx), %edi
callq 0x1621d5
movq (%r14), %rcx
movl %eax, 0x44(%rcx)
movl $0xc8, %edi
addl 0x74(%rcx), %edi
callq 0x1621d5
movq (%r14), %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