// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0x40, %rsp
movl %edi, -0x4(%rbp)
leaq 0x67ae(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x74(%rax), %ecx
subl $0xe0, %ecx
movl %ecx, 0x74(%rax)
leaq 0x6798(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x74(%rax), %edi
addl $0xc8, %edi
leaq 0x6785(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x40(%rax), %esi
callq 0x31d3f0
movl -0x4(%rbp), %ecx
leaq 0x6770(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x40(%rax)
leaq 0x6763(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x74(%rax), %edi
addl $0xcc, %edi
leaq 0x6750(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x44(%rax), %esi
callq 0x31d3f0
movl $0x8002f2f8, %edi       # imm = 0x8002F2F8
xorl %esi, %esi
movb $0x0, %al
callq 0x31dad0
movl %eax, %ecx
leaq 0x672e(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x8(%rax)
leaq 0x6721(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x40(%rax), %ecx
movl $0x80014d6c, %edi       # imm = 0x80014D6C
movl $0x2, %esi
movl $0x80067820, %edx       # imm = 0x80067820
movb $0x0, %al
callq 0x31dad0
movl %eax, %ecx
leaq 0x66fc(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x8(%rax)
movl $0x8002f15c, %edi       # imm = 0x8002F15C
xorl %esi, %esi
movb $0x0, %al
callq 0x31dad0
movl %eax, %ecx
leaq 0x66df(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x8(%rax)
movl $0x80069bdc, %edi       # imm = 0x80069BDC
callq 0x31bba0
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
jne 0x32033c
leaq 0x66be(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x70(%rax), %edi
addl $0x4, %edi
callq 0x31bba0
cmpl $0x1, %eax
jne 0x32069c
movl $0x8006ce38, %edi       # imm = 0x8006CE38
callq 0x31bba0
cmpl $0x0, %eax
jne 0x32069c
movl $0x8006cfac, %edi       # imm = 0x8006CFAC
callq 0x31bba0
cmpl $0x0, %eax
jne 0x32069c
movl $0x8006cfb0, %edi       # imm = 0x8006CFB0
callq 0x31bba0
cmpl $0x0, %eax
jne 0x32069c
movl $0x8006cf30, %edi       # imm = 0x8006CF30
callq 0x31bba0
cmpl $0x0, %eax
je 0x32069c
leaq 0x6654(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x70(%rax), %edi
addl $0x4, %edi
callq 0x31bba0
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %ecx
leaq 0x6632(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x8(%rax)
leaq 0x6625(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x70(%rax), %edi
addl $0x4, %edi
leaq 0x6615(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x8(%rax), %esi
callq 0x31d3f0
leaq 0x6603(%rip), %rax      # 0x3269d0
movq (%rax), %rax
cmpl $0x0, 0x8(%rax)
jne 0x32053b
movl $0x8006ce38, %edi       # imm = 0x8006CE38
callq 0x31bba0
movl %eax, %ecx
leaq 0x65e3(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x8(%rax)
leaq 0x65d6(%rip), %rax      # 0x3269d0
movq (%rax), %rax
cmpl $0x0, 0x8(%rax)
je 0x32047c
leaq 0x65c6(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x74(%rax), %edi
addl $0xc0, %edi
xorl %esi, %esi
callq 0x31d3f0
movl $0x8006ce38, %edi       # imm = 0x8006CE38
callq 0x31bba0
movl %eax, %ecx
leaq 0x65a0(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x74(%rax), %eax
addl $0xc0, %eax
movl $0x8001cd48, %edi       # imm = 0x8001CD48
movl $0x5, %esi
xorl %edx, %edx
movl $0xc00, %r8d            # imm = 0xC00
movl $0x1, %r9d
movl %eax, (%rsp)
movb $0x0, %al
callq 0x31dad0
leaq 0x656c(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x70(%rax), %edi
addl $0x4, %edi
movl $0x1, %esi
callq 0x31d3f0
jmp 0x320536
leaq 0x654d(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x70(%rax), %edi
addl $0x148, %edi            # imm = 0x148
callq 0x31bba0
movl %eax, %ecx
leaq 0x6533(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x8(%rax)
movl $0x800636ec, %edi       # imm = 0x800636EC
callq 0x31bba0
movl %eax, %ecx
leaq 0x651a(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x10(%rax)
leaq 0x650d(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x70(%rax), %edi
addl $0x14c, %edi            # imm = 0x14C
callq 0x31bba0
movl %eax, %ecx
leaq 0x64f3(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0xc(%rax)
leaq 0x64e6(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x70(%rax), %edi
addl $0x10, %edi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x31d3f0
leaq 0x64cc(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x8(%rax), %esi
movl $0x8003c13c, %edi       # imm = 0x8003C13C
callq 0x31d3f0
leaq 0x64b5(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x10(%rax), %edi
addl $0xc, %edi
leaq 0x64a5(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0xc(%rax), %esi
callq 0x31d3f0
jmp 0x3206b3
movl $0x8006ce38, %edi       # imm = 0x8006CE38
callq 0x31bba0
cmpl $0x0, %eax
je 0x32054f
jmp 0x3206b3
movl $0x80019928, %edi       # imm = 0x80019928
movl $0x6, %esi
movl $0x8006cde8, %edx       # imm = 0x8006CDE8
movl $0x4, %r8d
xorl %r9d, %r9d
movl %r8d, %ecx
movl $0x0, (%rsp)
movl $0x0, 0x8(%rsp)
movb $0x0, %al
callq 0x31dad0
movl %eax, %ecx
leaq 0x6447(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x8(%rax)
leaq 0x643a(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x8(%rax), %esi
movl $0x8006ce38, %edi       # imm = 0x8006CE38
callq 0x31d3f0
leaq 0x6423(%rip), %rax      # 0x3269d0
movq (%rax), %rax
cmpl $0xffffff02, 0x8(%rax)  # imm = 0xFFFFFF02
jge 0x320679
movl $0x800636ec, %edi       # imm = 0x800636EC
callq 0x31bba0
movl %eax, %ecx
leaq 0x6400(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x8(%rax)
movl $0x8003c13c, %edi       # imm = 0x8003C13C
callq 0x31bba0
movl %eax, %ecx
leaq 0x63e7(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0xc(%rax)
leaq 0x63da(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x8(%rax), %edi
addl $0xc, %edi
callq 0x31bba0
movl %eax, %ecx
leaq 0x63c3(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x10(%rax)
leaq 0x63b6(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x70(%rax), %edi
addl $0x10, %edi
movl $0x1, %esi
callq 0x31d3f0
leaq 0x639c(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x70(%rax), %edi
addl $0x148, %edi            # imm = 0x148
leaq 0x6389(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0xc(%rax), %esi
callq 0x31d3f0
leaq 0x6377(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x70(%rax), %edi
addl $0x14c, %edi            # imm = 0x14C
leaq 0x6364(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x10(%rax), %esi
callq 0x31d3f0
jmp 0x3206b3
leaq 0x6350(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x70(%rax), %edi
addl $0x4, %edi
xorl %esi, %esi
callq 0x31d3f0
movl $0x8006ce38, %edi       # imm = 0x8006CE38
xorl %esi, %esi
callq 0x31d3f0
leaq 0x632d(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x70(%rax), %edi
addl $0x10, %edi
xorl %esi, %esi
callq 0x31d3f0
movl $0x80011e80, %edi       # imm = 0x80011E80
xorl %esi, %esi
movb $0x0, %al
callq 0x31dad0
movl $0x8005f624, %edi       # imm = 0x8005F624
callq 0x31bba0
cmpl $0x0, %eax
je 0x3206f7
movl $0x8005f620, %edi       # imm = 0x8005F620
callq 0x31bba0
cmpl $0x6396347f, %eax       # imm = 0x6396347F
je 0x3206f7
movl $0x800300d8, %edi       # imm = 0x800300D8
movl $0x1, %esi
movl $0x8005f620, %edx       # imm = 0x8005F620
movb $0x0, %al
callq 0x31dad0
movl $0x8005f688, %edi       # imm = 0x8005F688
callq 0x31bba0
cmpl $-0x1, %eax
jne 0x3207e2
movl $0x80067834, %edi       # imm = 0x80067834
callq 0x31bba0
movl %eax, %ecx
leaq 0x62b3(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x8(%rax)
leaq 0x62a6(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x8(%rax), %edi
addl $0x8, %edi
callq 0x31bba0
movl %eax, %ecx
leaq 0x628f(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x8(%rax)
leaq 0x6282(%rip), %rax      # 0x3269d0
movq (%rax), %rax
cmpl $0x2, 0x8(%rax)
je 0x3207e0
movl $0x8006ce4c, %edi       # imm = 0x8006CE4C
callq 0x31bba0
movl %eax, %ecx
leaq 0x6262(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0xc(%rax)
leaq 0x6255(%rip), %rax      # 0x3269d0
movq (%rax), %rax
cmpl $0x200, 0xc(%rax)       # imm = 0x200
je 0x3207ad
leaq 0x6242(%rip), %rax      # 0x3269d0
movq (%rax), %rax
cmpl $0x300, 0xc(%rax)       # imm = 0x300
je 0x3207ad
leaq 0x622f(%rip), %rax      # 0x3269d0
movq (%rax), %rax
cmpl $0x400, 0xc(%rax)       # imm = 0x400
jne 0x3207de
movl $0x800494dc, %edi       # imm = 0x800494DC
movl $0x1, %esi
movl $0x8005f428, %edx       # imm = 0x8005F428
movb $0x0, %al
callq 0x31dad0
movl $0x8005f688, %edi       # imm = 0x8005F688
movl $0x3b, %esi
callq 0x31d3f0
movl $0x8006f014, %edi       # imm = 0x8006F014
xorl %esi, %esi
callq 0x31d3f0
jmp 0x3207e0
jmp 0x3207e2
movl $0x8005f688, %edi       # imm = 0x8005F688
callq 0x31bba0
cmpl $-0x1, %eax
je 0x320997
movl $0x8005f688, %edi       # imm = 0x8005F688
callq 0x31bba0
movl %eax, %ecx
leaq 0x61c8(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x44(%rax)
movl $0x8001d360, %edi       # imm = 0x8001D360
movl $0x5, %esi
xorl %r9d, %r9d
movl $0x2900, %ecx           # imm = 0x2900
movl %r9d, %edx
movl %r9d, %r8d
movl $0x0, (%rsp)
movb $0x0, %al
callq 0x31dad0
movl $0x8005f688, %edi       # imm = 0x8005F688
callq 0x31bba0
cmpl $-0x2, %eax
je 0x320856
leaq 0x6186(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl $0x0, 0x40(%rax)
jmp 0x320880
movl $0x80060c20, %edi       # imm = 0x80060C20
callq 0x31bba0
movl %eax, %ecx
leaq 0x6167(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x44(%rax)
leaq 0x615a(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl $0x1, 0x40(%rax)
leaq 0x6149(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x40(%rax), %esi
movl $0x8005f48c, %edi       # imm = 0x8005F48C
callq 0x31d3f0
movl $0x80067844, %edi       # imm = 0x80067844
movl $0x2, %esi
callq 0x31d3f0
movl $0x80015340, %edi       # imm = 0x80015340
movl $0x1, %esi
movl $0x80067820, %edx       # imm = 0x80067820
movb $0x0, %al
callq 0x31dad0
leaq 0x610d(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x70(%rax), %edi
addl $0x4, %edi
xorl %esi, %esi
callq 0x31d3f0
movl $0x8005f650, %edi       # imm = 0x8005F650
xorl %esi, %esi
callq 0x31d3f0
leaq 0x60ea(%rip), %rax      # 0x3269d0
movq (%rax), %rax
cmpl $0x2, 0x44(%rax)
je 0x32090f
leaq 0x60da(%rip), %rax      # 0x3269d0
movq (%rax), %rax
cmpl $0x3b, 0x44(%rax)
je 0x32090f
leaq 0x60ca(%rip), %rax      # 0x3269d0
movq (%rax), %rax
cmpl $0x3c, 0x44(%rax)
jne 0x320925
movl $0x8006ce4c, %edi       # imm = 0x8006CE4C
callq 0x31bba0
movl %eax, %esi
movl $0x8006ce30, %edi       # imm = 0x8006CE30
callq 0x31d3f0
leaq 0x60a4(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x44(%rax), %ecx
movl $0x80014d6c, %edi       # imm = 0x80014D6C
movl $0x2, %esi
movl $0x80067820, %edx       # imm = 0x80067820
movb $0x0, %al
callq 0x31dad0
movl $0x8002f15c, %edi       # imm = 0x8002F15C
xorl %esi, %esi
movb $0x0, %al
callq 0x31dad0
leaq 0x6073(%rip), %rax      # 0x3269d0
movq (%rax), %rax
cmpl $0x0, 0x40(%rax)
je 0x32098b
movl $0x8006f688, %edi       # imm = 0x8006F688
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x31d3f0
movl $0x8002f9d4, %edi       # imm = 0x8002F9D4
movl $0x1, %esi
movl $0x80060bf0, %edx       # imm = 0x80060BF0
movb $0x0, %al
callq 0x31dad0
movl $0x8005f48c, %edi       # imm = 0x8005F48C
xorl %esi, %esi
callq 0x31d3f0
movl $0x80012c88, %edi       # imm = 0x80012C88
movl $0x1, %esi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movb $0x0, %al
callq 0x31dad0
leaq 0x601c(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x70(%rax), %edi
addl $0x4, %edi
callq 0x31bba0
cmpl $0x0, %eax
jne 0x3209d5
movl $0x80026f14, %edi       # imm = 0x80026F14
xorl %esi, %esi
movb $0x0, %al
callq 0x31dad0
movl $0x80017ce8, %edi       # imm = 0x80017CE8
xorl %esi, %esi
movb $0x0, %al
callq 0x31dad0
movl $0x8006ce2c, %edi       # imm = 0x8006CE2C
callq 0x31bba0
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x3209fa
jmp 0x320f07
movl $0x80060b64, %edi       # imm = 0x80060B64
callq 0x31bba0
movl %eax, %ecx
leaq 0x5fc3(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x8(%rax)
leaq 0x5fb6(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x8(%rax), %edi
addl $0x10, %edi
callq 0x31bba0
movl %eax, %ecx
leaq 0x5f9f(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x8(%rax)
leaq 0x5f92(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x8(%rax), %edi
callq 0x31bba0
cmpl $0x0, %eax
jne 0x320a53
jmp 0x320f07
movl $0x8004f1c0, %edi       # imm = 0x8004F1C0
movl $0x1, %esi
movl $0x80060a0c, %edx       # imm = 0x80060A0C
movb $0x0, %al
callq 0x31dad0
movl $0x80060b64, %edi       # imm = 0x80060B64
callq 0x31bba0
movl %eax, %ecx
leaq 0x5f54(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x8(%rax)
leaq 0x5f47(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x8(%rax), %edi
addl $0x10, %edi
callq 0x31bba0
movl %eax, %ecx
leaq 0x5f30(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x8(%rax)
leaq 0x5f23(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl $0x1f800280, 0x10(%rax) # imm = 0x1F800280
leaq 0x5f12(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x8(%rax), %ecx
addl $0x2c, %ecx
leaq 0x5f02(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x14(%rax)
leaq 0x5ef5(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x8(%rax), %edi
callq 0x31bba0
movl %eax, %ecx
leaq 0x5ee1(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x18(%rax)
leaq 0x5ed4(%rip), %rax      # 0x3269d0
movq (%rax), %rax
cmpl $0x0, 0x18(%rax)
je 0x320e88
leaq 0x5ec0(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x14(%rax), %edi
subl $0x20, %edi
callq 0x31bba0
movl %eax, %ecx
leaq 0x5ea9(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x8(%rax)
leaq 0x5e9c(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x14(%rax), %edi
subl $0x24, %edi
callq 0x31a960
movzwl %ax, %ecx
leaq 0x5e84(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0xc(%rax)
leaq 0x5e77(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x8(%rax), %ecx
andl $0xfffe, %ecx           # imm = 0xFFFE
movl %ecx, 0x8(%rax)
leaq 0x5e61(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x8(%rax), %ecx
shll $0x10, %ecx
movl %ecx, 0x8(%rax)
leaq 0x5e4e(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x10(%rax), %edi
leaq 0x5e41(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x8(%rax), %esi
leaq 0x5e34(%rip), %rax      # 0x3269d0
movq (%rax), %rax
orl 0xc(%rax), %esi
callq 0x31d3f0
leaq 0x5e22(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x10(%rax), %ecx
addl $0x4, %ecx
movl %ecx, 0x10(%rax)
leaq 0x5e0f(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x10(%rax), %eax
movl %eax, -0x18(%rbp)
leaq 0x5dff(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x14(%rax), %edi
subl $0x1c, %edi
callq 0x31bba0
movl -0x18(%rbp), %edi
movl %eax, %esi
callq 0x31d3f0
leaq 0x5de0(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x10(%rax), %ecx
addl $0x4, %ecx
movl %ecx, 0x10(%rax)
leaq 0x5dcd(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x14(%rax), %edi
subl $0x18, %edi
callq 0x31bba0
movl %eax, %ecx
leaq 0x5db6(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x8(%rax)
leaq 0x5da9(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x8(%rax), %edi
addl $0x14, %edi
callq 0x31bba0
movl %eax, %ecx
leaq 0x5d92(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x8(%rax)
leaq 0x5d85(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x14(%rax), %edi
subl $0x14, %edi
callq 0x31bba0
movl %eax, %ecx
leaq 0x5d6e(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0xc(%rax)
leaq 0x5d61(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x10(%rax), %edi
leaq 0x5d54(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x8(%rax), %esi
shll $0x2, %esi
leaq 0x5d44(%rip), %rax      # 0x3269d0
movq (%rax), %rax
addl 0xc(%rax), %esi
callq 0x31d3f0
leaq 0x5d32(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x10(%rax), %ecx
addl $0x4, %ecx
movl %ecx, 0x10(%rax)
leaq 0x5d1f(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x10(%rax), %eax
movl %eax, -0x14(%rbp)
leaq 0x5d0f(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x14(%rax), %edi
subl $0x10, %edi
callq 0x31bba0
movl -0x14(%rbp), %edi
movl %eax, %esi
callq 0x31d3f0
leaq 0x5cf0(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x10(%rax), %ecx
addl $0x4, %ecx
movl %ecx, 0x10(%rax)
leaq 0x5cdd(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x14(%rax), %edi
subl $0x18, %edi
callq 0x31bba0
movl %eax, %ecx
leaq 0x5cc6(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x8(%rax)
leaq 0x5cb9(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x8(%rax), %edi
addl $0x10, %edi
callq 0x31bba0
movl %eax, %ecx
leaq 0x5ca2(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x8(%rax)
leaq 0x5c95(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x14(%rax), %edi
subl $0xc, %edi
callq 0x31bba0
movl %eax, %ecx
leaq 0x5c7e(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0xc(%rax)
leaq 0x5c71(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x10(%rax), %edi
leaq 0x5c64(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x8(%rax), %esi
shll $0x2, %esi
leaq 0x5c54(%rip), %rax      # 0x3269d0
movq (%rax), %rax
addl 0xc(%rax), %esi
callq 0x31d3f0
leaq 0x5c42(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x10(%rax), %ecx
addl $0x4, %ecx
movl %ecx, 0x10(%rax)
leaq 0x5c2f(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x10(%rax), %eax
movl %eax, -0x10(%rbp)
leaq 0x5c1f(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x14(%rax), %edi
subl $0x8, %edi
callq 0x31bba0
movl -0x10(%rbp), %edi
movl %eax, %esi
callq 0x31d3f0
leaq 0x5c00(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x10(%rax), %ecx
addl $0x4, %ecx
movl %ecx, 0x10(%rax)
leaq 0x5bed(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x10(%rax), %eax
movl %eax, -0xc(%rbp)
leaq 0x5bdd(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x14(%rax), %edi
subl $0x4, %edi
callq 0x31bba0
movl -0xc(%rbp), %edi
movl %eax, %esi
callq 0x31d3f0
leaq 0x5bbe(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x10(%rax), %ecx
addl $0x4, %ecx
movl %ecx, 0x10(%rax)
leaq 0x5bab(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x10(%rax), %eax
movl %eax, -0x8(%rbp)
leaq 0x5b9b(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x14(%rax), %edi
callq 0x31bba0
movl -0x8(%rbp), %edi
movl %eax, %esi
callq 0x31d3f0
leaq 0x5b7f(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x10(%rax), %ecx
addl $0x4, %ecx
movl %ecx, 0x10(%rax)
leaq 0x5b6c(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x14(%rax), %ecx
addl $0x30, %ecx
movl %ecx, 0x14(%rax)
leaq 0x5b59(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x18(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x18(%rax)
jmp 0x320af5
movl $0x8002fe90, %edi       # imm = 0x8002FE90
movl $0x1, %esi
xorl %edx, %edx
movb $0x0, %al
callq 0x31dad0
movl $0x8005f628, %edi       # imm = 0x8005F628
callq 0x31bba0
movl %eax, -0x20(%rbp)
movl $0x800636f0, %edi       # imm = 0x800636F0
callq 0x31bba0
movl %eax, -0x1c(%rbp)
movl $0x80060bdc, %edi       # imm = 0x80060BDC
callq 0x31bba0
movl -0x20(%rbp), %edx
movl -0x1c(%rbp), %ecx
movl %eax, %r9d
movl $0x800420f4, %edi       # imm = 0x800420F4
movl $0x4, %esi
movl $0x80062cb0, %r8d       # imm = 0x80062CB0
movb $0x0, %al
callq 0x31dad0
movl %eax, %ecx
leaq 0x5ae8(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x8(%rax)
leaq 0x5adb(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x8(%rax), %esi
movl $0x8006cf50, %edi       # imm = 0x8006CF50
callq 0x31d3f0
jmp 0x320f2c
movl $0x800636f0, %edi       # imm = 0x800636F0
callq 0x31bba0
movl %eax, %edx
addl $0x18, %edx
movl $0x8003bef4, %edi       # imm = 0x8003BEF4
movl $0x2, %esi
movl $0x800, %ecx            # imm = 0x800
movb $0x0, %al
callq 0x31dad0
movl $0x8006ce2c, %edi       # imm = 0x8006CE2C
callq 0x31bba0
andl $0x20000001, %eax       # imm = 0x20000001
cmpl $0x0, %eax
je 0x32102a
movl $0x80062d28, %edi       # imm = 0x80062D28
callq 0x31bba0
movl %eax, %ecx
leaq 0x5a79(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x10(%rax)
leaq 0x5a6c(%rip), %rax      # 0x3269d0
movq (%rax), %rax
cmpl $0x0, 0x10(%rax)
je 0x320fb5
movl $0x80062d70, %edi       # imm = 0x80062D70
callq 0x31bba0
andl $0x10, %eax
cmpl $0x0, %eax
je 0x320fb5
leaq 0x5a4a(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x10(%rax), %eax
movl %eax, -0x24(%rbp)
movl $0x800636f0, %edi       # imm = 0x800636F0
callq 0x31bba0
movl -0x24(%rbp), %edx
movl %eax, %ecx
movl $0x800451ec, %edi       # imm = 0x800451EC
movl $0x3, %esi
movl $0x80062cb0, %r8d       # imm = 0x80062CB0
movb $0x0, %al
callq 0x31dad0
movl $0x80062d38, %edi       # imm = 0x80062D38
callq 0x31bba0
movl %eax, %ecx
leaq 0x5a08(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x10(%rax)
leaq 0x59fb(%rip), %rax      # 0x3269d0
movq (%rax), %rax
cmpl $0x0, 0x10(%rax)
je 0x321028
movl $0x80062d70, %edi       # imm = 0x80062D70
callq 0x31bba0
andl $0x400000, %eax         # imm = 0x400000
cmpl $0x0, %eax
je 0x321028
leaq 0x59d7(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x10(%rax), %eax
movl %eax, -0x28(%rbp)
movl $0x800636f0, %edi       # imm = 0x800636F0
callq 0x31bba0
movl -0x28(%rbp), %edx
movl %eax, %ecx
movl $0x800454b0, %edi       # imm = 0x800454B0
movl $0x3, %esi
movl $0x80062cb0, %r8d       # imm = 0x80062CB0
movb $0x0, %al
callq 0x31dad0
jmp 0x32102a
leaq 0x599f(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x70(%rax), %edi
addl $0x4, %edi
callq 0x31bba0
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %edx
movl $0x8001c3d4, %edi       # imm = 0x8001C3D4
movl $0x1, %esi
movb $0x0, %al
callq 0x31dad0
movl $0x80011e88, %edi       # imm = 0x80011E88
xorl %esi, %esi
movb $0x0, %al
callq 0x31dad0
movl $0x800636f0, %edi       # imm = 0x800636F0
callq 0x31bba0
movl %eax, %ecx
leaq 0x5952(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x14(%rax)
leaq 0x5945(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x14(%rax), %edi
addl $0x2088, %edi           # imm = 0x2088
callq 0x31bba0
movl %eax, %edx
leaq 0x592b(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x14(%rax), %ecx
movl $0x8003de2c, %edi       # imm = 0x8003DE2C
movl $0x3, %esi
movl $0x80062cb0, %r8d       # imm = 0x80062CB0
movb $0x0, %al
callq 0x31dad0
movl $0x8001658c, %edi       # imm = 0x8001658C
xorl %esi, %esi
movb $0x0, %al
callq 0x31dad0
movl $0x80011e90, %edi       # imm = 0x80011E90
xorl %esi, %esi
movb $0x0, %al
callq 0x31dad0
movl $0x8005f468, %edi       # imm = 0x8005F468
callq 0x31bba0
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x3202f7
movl $0x8006ce2c, %edi       # imm = 0x8006CE2C
xorl %esi, %esi
callq 0x31d3f0
movl $0x8001658c, %edi       # imm = 0x8001658C
xorl %esi, %esi
movb $0x0, %al
callq 0x31dad0
movl $0x8001658c, %edi       # imm = 0x8001658C
xorl %esi, %esi
movb $0x0, %al
callq 0x31dad0
movl $0x80015340, %edi       # imm = 0x80015340
movl $0x1, %esi
movl $0x80067820, %edx       # imm = 0x80067820
movb $0x0, %al
callq 0x31dad0
movl %eax, %ecx
leaq 0x5891(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x8(%rax)
leaq 0x5884(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x74(%rax), %edi
addl $0xcc, %edi
callq 0x31bba0
movl %eax, %ecx
leaq 0x586a(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x44(%rax)
leaq 0x585d(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x74(%rax), %edi
addl $0xc8, %edi
callq 0x31bba0
movl %eax, %ecx
leaq 0x5843(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl %ecx, 0x40(%rax)
leaq 0x5836(%rip), %rax      # 0x3269d0
movq (%rax), %rax
movl 0x74(%rax), %ecx
addl $0xe0, %ecx
movl %ecx, 0x74(%rax)
addq $0x40, %rsp
popq %rbp
retq
nop