// File: /workspace/github_cpp_makefile_star2_O3/Stygain[P]bandwidth-monitor/src/main.cpp
// Function: resizeUI()
GraphMode resizeUI()
{
	logger->Log("New width: ");
	logger->Log(std::to_string(COLS));
	logger->Log("\n");

	logger->Log("New height: ");
	logger->Log(std::to_string(LINES));
	logger->Log("\n");

	gmLast = gm;
	gm = assessGraphUISize();
	logger->Log("GRAPH MODE: ");
	logger->Log(std::to_string((int)gm));
	logger->Log("\n");

	clear();

	footer->Resize(0, LINES-1, COLS, 1);


	switch (gm)
	{
		case GM_ONE:
		{
			int startXPos = 0;
			int startYPos = (interfaceRows.size() * 3) + 1;
			int width = COLS;
			int height = (LINES - startYPos - 2);
			graphs[0]->Resize(startXPos, startYPos, width, height);
			if (gmLast != gm)
			{
				if (gmLast == GM_TWO_WIDE || gmLast == GM_TWO_TALL)
				{
					delete graphs[1];
					graphs[1] = NULL;
				}
				if (gmLast == GM_FOUR_WIDE || gmLast == GM_FOUR_TALL || gmLast == GM_TWO_WIDE_TWO_TALL)
				{
					delete graphs[1];
					delete graphs[2];
					delete graphs[3];
					graphs[1] = NULL;
					graphs[2] = NULL;
					graphs[3] = NULL;
				}
			}
			break;
		}
		case GM_TWO_WIDE:
		{
			int startXPos = 0;
			int startYPos = (interfaceRows.size() * 3) + 1;
			int width = (int)(COLS / 2) - 1;
			int height = (LINES - startYPos - 2);
			graphs[0]->Resize(startXPos, startYPos, width, height);

			if (graphs[1] == NULL)
			{
				GraphType gt1 = (GraphType)settings->root["graphs"][1].asInt();
				graphs[1] = new Graph(gt1, &interfaces);
				graphs[1]->Create(startXPos + width, startYPos, width, height);
			}
			else
			{
				graphs[1]->Resize(startXPos + width, startYPos, width, height);
			}

			if (gmLast != gm)
			{
				if (gmLast == GM_FOUR_WIDE || gmLast == GM_FOUR_TALL || gmLast == GM_TWO_WIDE_TWO_TALL)
				{
					delete graphs[2];
					delete graphs[3];
					graphs[2] = NULL;
					graphs[3] = NULL;
				}
			}
			break;
		}
		case GM_TWO_TALL:
		{
			int startYPos = (interfaceRows.size() * 3) + 1;
			int startXPos = 0;
			int height = (int)((LINES - startYPos) / 2);
			int width = COLS;
			graphs[0]->Resize(startXPos, startYPos, width, height);

			if (graphs[1] == NULL)
			{
				GraphType gt1 = (GraphType)settings->root["graphs"][1].asInt();
				graphs[1] = new Graph(gt1, &interfaces);
				graphs[1]->Create(startXPos, startYPos + height, width, height);
			}
			else
			{
				graphs[1]->Resize(startXPos, startYPos + height, width, height);
			}

			if (gmLast != gm)
			{
				if (gmLast == GM_FOUR_WIDE || gmLast == GM_FOUR_TALL || gmLast == GM_TWO_WIDE_TWO_TALL)
				{
					delete graphs[2];
					delete graphs[3];
					graphs[2] = NULL;
					graphs[3] = NULL;
				}
			}
			break;
		}
		case GM_FOUR_WIDE:
		{
			int startXPos = 0;
			int startYPos = (interfaceRows.size() * 3) + 1;
			int width = (int)(COLS / 4) - 1;
			int height = LINES - startYPos - 2;
			graphs[0]->Resize(startXPos, startYPos, width, height);

			if (graphs[1] == NULL)
			{
				GraphType gt1 = (GraphType)settings->root["graphs"][1].asInt();
				graphs[1] = new Graph(gt1, &interfaces);
				graphs[1]->Create(startXPos + width + 1, startYPos, width, height);
			}
			else
			{
				graphs[1]->Resize(startXPos + width + 1, startYPos, width, height);
			}

			if (graphs[2] == NULL)
			{
				GraphType gt2 = (GraphType)settings->root["graphs"][2].asInt();
				graphs[2] = new Graph(gt2, &interfaces);
				graphs[2]->Create(startXPos + (width * 2) + 1, startYPos, width, height);
			}
			else
			{
				graphs[2]->Resize(startXPos + (width * 2) + 1, startYPos, width, height);
			}

			if (graphs[3] == NULL)
			{
				GraphType gt3 = (GraphType)settings->root["graphs"][3].asInt();
				graphs[3] = new Graph(gt3, &interfaces);
				graphs[3]->Create(startXPos + (width * 3) + 1, startYPos, width, height);
			}
			else
			{
				graphs[3]->Resize(startXPos + (width * 3) + 1, startYPos, width, height);
			}
			break;
		}
		case GM_FOUR_TALL:
		{
			int startYPos = (interfaceRows.size() * 3) + 1;
			int startXPos = 0;
			int height = (int)((LINES - startYPos) / 4) - 1;
			int width = COLS;
			graphs[0]->Resize(startXPos, startYPos, width, height);

			if (graphs[1] == NULL)
			{
				GraphType gt1 = (GraphType)settings->root["graphs"][1].asInt();
				graphs[1] = new Graph(gt1, &interfaces);
				graphs[1]->Create(startXPos, startYPos + height + 1, width, height);
			}
			else
			{
				graphs[1]->Resize(startXPos, startYPos + height + 1, width, height);
			}

			if (graphs[2] == NULL)
			{
				GraphType gt2 = (GraphType)settings->root["graphs"][2].asInt();
				graphs[2] = new Graph(gt2, &interfaces);
				graphs[2]->Create(startXPos, startYPos + (height * 2) + 1, width, height);
			}
			else
			{
				graphs[2]->Resize(startXPos, startYPos + (height * 2) + 1, width, height);
			}

			if (graphs[3] == NULL)
			{
				GraphType gt3 = (GraphType)settings->root["graphs"][3].asInt();
				graphs[3] = new Graph(gt3, &interfaces);
				graphs[3]->Create(startXPos, startYPos + (height * 3) + 1, width, height);
			}
			else
			{
				graphs[3]->Resize(startXPos, startYPos + (height * 3) + 1, width, height);
			}
			break;
		}
		case GM_TWO_WIDE_TWO_TALL:
		{
			int startYPos = (interfaceRows.size() * 3) + 1;
			int startXPos = 0;
			int height = (int)((LINES - startYPos) / 2) - 2;
			int width = (int)(COLS / 2) - 1;
			graphs[0]->Resize(startXPos, startYPos, width, height);

			if (graphs[1] == NULL)
			{
				GraphType gt1 = (GraphType)settings->root["graphs"][1].asInt();
				graphs[1] = new Graph(gt1, &interfaces);
				graphs[1]->Create(startXPos + width + 1, startYPos, width, height);
			}
			else
			{
				graphs[1]->Resize(startXPos + width + 1, startYPos, width, height);
			}

			if (graphs[2] == NULL)
			{
				GraphType gt2 = (GraphType)settings->root["graphs"][2].asInt();
				graphs[2] = new Graph(gt2, &interfaces);
				graphs[2]->Create(startXPos, startYPos + height + 1, width, height);
			}
			else
			{
				graphs[2]->Resize(startXPos, startYPos + height + 1, width, height);
			}

			if (graphs[3] == NULL)
			{
				GraphType gt3 = (GraphType)settings->root["graphs"][3].asInt();
				graphs[3] = new Graph(gt3, &interfaces);
				graphs[3]->Create(startXPos + width + 1, startYPos + height + 1, width, height);
			}
			else
			{
				graphs[3]->Resize(startXPos + width + 1, startYPos + height + 1, width, height);
			}
			break;
		}
	}

	if (selectionWindow != NULL)
	{
		selectionWindow->AutoResize();
	}

	return gm;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
leaq 0xb937(%rip), %rbx      # 0x10380
movq (%rbx), %rdi
leaq 0x7872(%rip), %rsi      # 0xc2c5
callq 0xa57c
movq (%rbx), %rbx
movq 0xb556(%rip), %rax      # 0xffb8
movl (%rax), %r12d
movl %r12d, %ebp
negl %ebp
cmovsl %r12d, %ebp
movl $0x1, %r14d
cmpl $0xa, %ebp
jb 0x4ac2
movl $0x4, %r14d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x4ab9
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4abf
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4ac2
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r14d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4a86
addl $-0x3, %r14d
jmp 0x4ac2
addl $-0x2, %r14d
jmp 0x4ac2
decl %r14d
shrl $0x1f, %r12d
movl %r12d, %esi
addl %r14d, %esi
leaq 0x58(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x48(%rsp), %r15
movq %r15, %rdi
movl $0x2d, %edx
callq 0x3340
movq (%r15), %rdi
addq %r12, %rdi
movl %r14d, %esi
movl %ebp, %edx
callq 0x79ca
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa5ca
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x4b19
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x32d0
leaq 0xb860(%rip), %rbx      # 0x10380
movq (%rbx), %rdi
leaq 0x7799(%rip), %rsi      # 0xc2c3
callq 0xa57c
movq (%rbx), %rdi
leaq 0x7798(%rip), %rsi      # 0xc2d1
callq 0xa57c
movq (%rbx), %rbx
movq 0xb460(%rip), %rax      # 0xffa8
movl (%rax), %r12d
movl %r12d, %ebp
negl %ebp
cmovsl %r12d, %ebp
movl $0x1, %r14d
cmpl $0xa, %ebp
jb 0x4ba8
movl $0x4, %r14d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x4b9f
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4ba5
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4ba8
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r14d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4b6c
addl $-0x3, %r14d
jmp 0x4ba8
addl $-0x2, %r14d
jmp 0x4ba8
decl %r14d
shrl $0x1f, %r12d
movl %r12d, %esi
addl %r14d, %esi
leaq 0x38(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x28(%rsp), %r15
movq %r15, %rdi
movl $0x2d, %edx
callq 0x3340
movq (%r15), %rdi
addq %r12, %rdi
movl %r14d, %esi
movl %ebp, %edx
callq 0x79ca
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa5ca
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x4bff
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x32d0
leaq 0xb77a(%rip), %rbx      # 0x10380
movq (%rbx), %rdi
leaq 0x76b3(%rip), %rsi      # 0xc2c3
callq 0xa57c
movl 0xb75d(%rip), %eax      # 0x10378
movl %eax, 0xb75b(%rip)      # 0x1037c
callq 0x42b7
movl %eax, 0xb74c(%rip)      # 0x10378
movq (%rbx), %rdi
leaq 0x76a8(%rip), %rsi      # 0xc2de
callq 0xa57c
movq (%rbx), %rbx
movl 0xb733(%rip), %r12d     # 0x10378
movl %r12d, %ebp
negl %ebp
cmovsl %r12d, %ebp
movl $0x1, %r14d
cmpl $0xa, %ebp
jb 0x4ca2
movl $0x4, %r14d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x4c99
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4c9f
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4ca2
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r14d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4c66
addl $-0x3, %r14d
jmp 0x4ca2
addl $-0x2, %r14d
jmp 0x4ca2
decl %r14d
shrl $0x1f, %r12d
movl %r12d, %esi
addl %r14d, %esi
leaq 0x18(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x2d, %edx
callq 0x3340
movq (%r15), %rdi
addq %r12, %rdi
movl %r14d, %esi
movl %ebp, %edx
callq 0x79ca
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa5ca
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
movq 0xb2c7(%rip), %r15      # 0xffb8
movq 0xb2b0(%rip), %r12      # 0xffa8
je 0x4d07
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32d0
leaq 0xb672(%rip), %rax      # 0x10380
movq (%rax), %rdi
leaq 0x75ab(%rip), %rsi      # 0xc2c3
callq 0xa57c
callq 0x3540
movq 0xb617(%rip), %rdi      # 0x10340
movl (%r12), %edx
decl %edx
movl (%r15), %ecx
xorl %esi, %esi
movl $0x1, %r8d
callq 0xad3e
movl 0xb633(%rip), %eax      # 0x10378
cmpq $0x5, %rax
ja 0x570e
leaq 0x72ee(%rip), %rcx      # 0xc044
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0xb5b2(%rip), %rax      # 0x10318
subq 0xb5a3(%rip), %rax      # 0x10310
shrq $0x3, %rax
leal (%rax,%rax,2), %esi
leal (%rax,%rax,2), %edx
incl %edx
movl (%r15), %ecx
movl (%r12), %eax
notl %esi
leal (%rax,%rsi), %r8d
addl $-0x2, %r8d
movq 0xb5cf(%rip), %rax      # 0x10360
movq (%rax), %rdi
xorl %esi, %esi
callq 0x89a4
movl 0xb5db(%rip), %eax      # 0x1037c
cmpl 0xb5d1(%rip), %eax      # 0x10378
je 0x570e
leal -0x1(%rax), %ecx
cmpl $0x1, %ecx
ja 0x4def
movq 0xb5a4(%rip), %rax      # 0x10360
movq 0x8(%rax), %rbx
testq %rbx, %rbx
je 0x4dcd
movq %rbx, %rdi
callq 0x871a
movl $0x78, %esi
movq %rbx, %rdi
callq 0x32d0
movq 0xb57f(%rip), %rax      # 0x10360
movq $0x0, 0x8(%rax)
movl 0xb58d(%rip), %eax      # 0x1037c
addl $-0x3, %eax
cmpl $0x2, %eax
ja 0x570e
movq 0xb55e(%rip), %rax      # 0x10360
movq 0x8(%rax), %rbx
testq %rbx, %rbx
je 0x4e13
movq %rbx, %rdi
callq 0x871a
movl $0x78, %esi
movq %rbx, %rdi
callq 0x32d0
movq 0xb539(%rip), %rax      # 0x10360
movq 0x10(%rax), %rbx
testq %rbx, %rbx
je 0x4e38
movq %rbx, %rdi
callq 0x871a
movl $0x78, %esi
movq %rbx, %rdi
callq 0x32d0
movq 0xb514(%rip), %rax      # 0x10360
movq 0x18(%rax), %rbx
testq %rbx, %rbx
je 0x4e5d
movq %rbx, %rdi
callq 0x871a
movl $0x78, %esi
movq %rbx, %rdi
callq 0x32d0
movq 0xb4ef(%rip), %rax      # 0x10360
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rax)
movq $0x0, 0x18(%rax)
jmp 0x570e
movq 0xb48c(%rip), %r13      # 0x10318
subq 0xb47d(%rip), %r13      # 0x10310
shrq $0x3, %r13
leal 0x1(%r13,%r13,2), %r14d
movl (%r12), %eax
subl %r14d, %eax
leal 0x3(%rax), %r12d
testl %eax, %eax
cmovnsl %eax, %r12d
sarl $0x2, %r12d
leal -0x1(%r12), %ebx
movl (%r15), %ebp
movq 0xb4a0(%rip), %rax      # 0x10360
movq (%rax), %rdi
xorl %esi, %esi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x89a4
movq 0xb487(%rip), %rax      # 0x10360
movq 0x8(%rax), %rdi
testq %rdi, %rdi
je 0x50d1
addl %r12d, %r14d
xorl %esi, %esi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x89a4
jmp 0x513e
movq 0xb414(%rip), %rax      # 0x10318
subq 0xb405(%rip), %rax      # 0x10310
shrq $0x3, %rax
leal (%rax,%rax,2), %ebp
incl %ebp
movl (%r12), %eax
subl %ebp, %eax
movl %eax, %ebx
shrl $0x1f, %ebx
addl %eax, %ebx
sarl %ebx
movl (%r15), %r14d
movq 0xb433(%rip), %rax      # 0x10360
movq (%rax), %rdi
xorl %esi, %esi
movl %ebp, %edx
movl %r14d, %ecx
movl %ebx, %r8d
callq 0x89a4
movq 0xb41a(%rip), %rax      # 0x10360
movq 0x8(%rax), %rdi
testq %rdi, %rdi
je 0x516f
addl %ebx, %ebp
xorl %esi, %esi
movl %ebp, %edx
movl %r14d, %ecx
movl %ebx, %r8d
jmp 0x5040
movq 0xb3ad(%rip), %rax      # 0x10318
subq 0xb39e(%rip), %rax      # 0x10310
shrq $0x3, %rax
movl (%r15), %ecx
leal 0x3(%rcx), %r15d
testl %ecx, %ecx
cmovnsl %ecx, %r15d
leal (%rax,%rax,2), %ebx
incl %ebx
sarl $0x2, %r15d
leal -0x1(%r15), %r14d
movl (%r12), %ebp
subl %ebx, %ebp
addl $-0x2, %ebp
movq 0xb3c0(%rip), %rax      # 0x10360
movq (%rax), %rdi
xorl %esi, %esi
movl %ebx, %edx
movl %r14d, %ecx
movl %ebp, %r8d
callq 0x89a4
movq 0xb3a7(%rip), %rax      # 0x10360
movq 0x8(%rax), %rdi
testq %rdi, %rdi
je 0x51db
movl %r15d, %esi
movl %ebx, %edx
movl %r14d, %ecx
movl %ebp, %r8d
callq 0x89a4
jmp 0x5246
movq 0xb336(%rip), %rax      # 0x10318
subq 0xb327(%rip), %rax      # 0x10310
shrq $0x3, %rax
leal (%rax,%rax,2), %ebx
incl %ebx
movl (%r15), %eax
movl %eax, %ebp
shrl $0x1f, %ebp
addl %eax, %ebp
sarl %ebp
decl %ebp
movl (%r12), %r14d
subl %ebx, %r14d
addl $-0x2, %r14d
movq 0xb34e(%rip), %rax      # 0x10360
movq (%rax), %rdi
xorl %esi, %esi
movl %ebx, %edx
movl %ebp, %ecx
movl %r14d, %r8d
callq 0x89a4
movq 0xb336(%rip), %rax      # 0x10360
movq 0x8(%rax), %rdi
testq %rdi, %rdi
je 0x5274
movl %ebp, %esi
movl %ebx, %edx
movl %ebp, %ecx
movl %r14d, %r8d
callq 0x89a4
jmp 0x52dd
movq 0xb2c7(%rip), %r13      # 0x10318
subq 0xb2b8(%rip), %r13      # 0x10310
shrq $0x3, %r13
movq %r15, %rcx
leal 0x1(%r13,%r13,2), %r15d
movl (%r12), %eax
subl %r15d, %eax
movl %eax, %ebx
shrl $0x1f, %ebx
addl %eax, %ebx
sarl %ebx
leal -0x2(%rbx), %r12d
movl (%rcx), %eax
movl %eax, %r14d
shrl $0x1f, %r14d
addl %eax, %r14d
sarl %r14d
leal -0x1(%r14), %ebp
movq 0xb2ce(%rip), %rax      # 0x10360
movq (%rax), %rdi
xorl %esi, %esi
movl %r15d, %edx
movl %ebp, %ecx
movl %r12d, %r8d
callq 0x89a4
movq 0xb2b5(%rip), %rax      # 0x10360
movq 0x8(%rax), %rdi
testq %rdi, %rdi
movl %r12d, (%rsp)
je 0x535a
movl %r14d, %esi
movl %r15d, %edx
movl %ebp, %ecx
movl %r12d, %r8d
callq 0x89a4
jmp 0x53cb
leaq 0xb2b8(%rip), %rax      # 0x10390
movq (%rax), %rdi
leaq 0x7209(%rip), %rsi      # 0xc2eb
callq 0x3130
movq %rax, %rdi
movl $0x1, %esi
callq 0x3300
movq %rax, %rdi
callq 0x3450
movl %eax, (%rsp)
movl $0x78, %edi
callq 0x32c0
movq %rax, %r15
leaq 0xb215(%rip), %rdx      # 0x10328
movq %rax, %rdi
movl (%rsp), %esi
callq 0x86be
movq 0xb23b(%rip), %rax      # 0x10360
movq %r15, 0x8(%rax)
addl %r12d, %r14d
movq %r15, %rdi
xorl %esi, %esi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x8784
leal (%r13,%r13,2), %r12d
movq 0xb216(%rip), %rax      # 0x10360
movq 0x10(%rax), %rdi
testq %rdi, %rdi
je 0x53f9
leal (%r12,%rbx,2), %edx
addl $0x2, %edx
xorl %esi, %esi
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x89a4
jmp 0x5467
leaq 0xb21a(%rip), %rax      # 0x10390
movq (%rax), %rdi
leaq 0x716b(%rip), %rsi      # 0xc2eb
callq 0x3130
movq %rax, %rdi
movl $0x1, %esi
callq 0x3300
movq %rax, %rdi
callq 0x3450
movl %eax, %r12d
movl $0x78, %edi
callq 0x32c0
movq %rax, %r15
leaq 0xb177(%rip), %rdx      # 0x10328
movq %rax, %rdi
movl %r12d, %esi
callq 0x86be
movq 0xb19d(%rip), %rax      # 0x10360
movq %r15, 0x8(%rax)
addl %ebx, %ebp
movq %r15, %rdi
xorl %esi, %esi
movl %ebp, %edx
movl %r14d, %ecx
movl %ebx, %r8d
jmp 0x52d8
leaq 0xb1ae(%rip), %rax      # 0x10390
movq (%rax), %rdi
leaq 0x70ff(%rip), %rsi      # 0xc2eb
callq 0x3130
movq %rax, %rdi
movl $0x1, %esi
callq 0x3300
movq %rax, %rdi
callq 0x3450
movl %eax, %r13d
movl $0x78, %edi
callq 0x32c0
movq %rax, %r12
leaq 0xb10b(%rip), %rdx      # 0x10328
movq %rax, %rdi
movl %r13d, %esi
callq 0x86be
movq 0xb131(%rip), %rax      # 0x10360
movq %r12, 0x8(%rax)
movq %r12, %rdi
movl %r15d, %esi
movl %ebx, %edx
movl %r14d, %ecx
movl %ebp, %r8d
callq 0x8784
movq 0xb113(%rip), %rax      # 0x10360
movq 0x10(%rax), %rdi
testq %rdi, %rdi
je 0x5491
leal 0x1(,%r14,2), %esi
movl %ebx, %edx
movl %r14d, %ecx
movl %ebp, %r8d
callq 0x89a4
jmp 0x5501
leaq 0xb115(%rip), %rax      # 0x10390
movq (%rax), %rdi
leaq 0x7066(%rip), %rsi      # 0xc2eb
callq 0x3130
movq %rax, %rdi
movl $0x1, %esi
callq 0x3300
movq %rax, %rdi
callq 0x3450
movl %eax, %r12d
movl $0x78, %edi
callq 0x32c0
movq %rax, %r15
leaq 0xb072(%rip), %rdx      # 0x10328
movq %rax, %rdi
movl %r12d, %esi
callq 0x86be
movq 0xb098(%rip), %rax      # 0x10360
movq %r15, 0x8(%rax)
movq %r15, %rdi
movl %ebp, %esi
movl %ebx, %edx
movl %ebp, %ecx
movl %r14d, %r8d
callq 0x8784
movl 0xb099(%rip), %eax      # 0x1037c
cmpl 0xb08f(%rip), %eax      # 0x10378
sete %cl
addl $-0x3, %eax
cmpl $0x3, %eax
setae %al
orb %cl, %al
jne 0x570e
movq 0xb05c(%rip), %rax      # 0x10360
movq 0x10(%rax), %rbx
testq %rbx, %rbx
je 0x5315
movq %rbx, %rdi
callq 0x871a
movl $0x78, %esi
movq %rbx, %rdi
callq 0x32d0
movq 0xb037(%rip), %rax      # 0x10360
movq 0x18(%rax), %rbx
testq %rbx, %rbx
je 0x533a
movq %rbx, %rdi
callq 0x871a
movl $0x78, %esi
movq %rbx, %rdi
callq 0x32d0
movq 0xb012(%rip), %rax      # 0x10360
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rax)
jmp 0x570e
leaq 0xb02f(%rip), %rax      # 0x10390
movq (%rax), %rdi
leaq 0x6f80(%rip), %rsi      # 0xc2eb
callq 0x3130
movq %rax, %rdi
movl $0x1, %esi
callq 0x3300
movq %rax, %rdi
callq 0x3450
movl %eax, 0x4(%rsp)
movl $0x78, %edi
callq 0x32c0
movq %rax, %r12
leaq 0xaf8b(%rip), %rdx      # 0x10328
movq %rax, %rdi
movl 0x4(%rsp), %esi
callq 0x86be
movq 0xafb0(%rip), %rax      # 0x10360
movq %r12, 0x8(%rax)
movq %r12, %rdi
movl %r14d, %esi
movl %r15d, %edx
movl %ebp, %ecx
movl (%rsp), %r12d
movl %r12d, %r8d
callq 0x8784
leal (%r13,%r13,2), %r15d
movq 0xaf89(%rip), %rax      # 0x10360
movq 0x10(%rax), %rdi
testq %rdi, %rdi
je 0x5528
leal (%r15,%rbx), %edx
xorl %esi, %esi
movl %ebp, %ecx
movl %r12d, %r8d
callq 0x89a4
jmp 0x5597
leaq 0xaf90(%rip), %rax      # 0x10390
movq (%rax), %rdi
leaq 0x6ee1(%rip), %rsi      # 0xc2eb
callq 0x3130
movq %rax, %rdi
movl $0x2, %esi
callq 0x3300
movq %rax, %rdi
callq 0x3450
movl %eax, %r15d
movl $0x78, %edi
callq 0x32c0
movq %rax, %r14
leaq 0xaeed(%rip), %rdx      # 0x10328
movq %rax, %rdi
movl %r15d, %esi
callq 0x86be
movq 0xaf13(%rip), %rax      # 0x10360
movq %r14, 0x10(%rax)
leal (%r12,%rbx,2), %edx
addl $0x2, %edx
movq %r14, %rdi
xorl %esi, %esi
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x8784
movq 0xaef2(%rip), %rax      # 0x10360
movq 0x18(%rax), %rdi
testq %rdi, %rdi
je 0x55c3
leal (%rbx,%rbx,2), %eax
leal (%r12,%rax), %edx
addl $0x2, %edx
xorl %esi, %esi
movl %ebp, %ecx
movl %ebx, %r8d
jmp 0x55b9
leaq 0xaef8(%rip), %rax      # 0x10390
movq (%rax), %rdi
leaq 0x6e49(%rip), %rsi      # 0xc2eb
callq 0x3130
movq %rax, %rdi
movl $0x2, %esi
callq 0x3300
movq %rax, %rdi
callq 0x3450
movl %eax, %r12d
movl $0x78, %edi
callq 0x32c0
movq %rax, %r15
leaq 0xae55(%rip), %rdx      # 0x10328
movq %rax, %rdi
movl %r12d, %esi
callq 0x86be
movq 0xae7b(%rip), %rax      # 0x10360
movq %r15, 0x10(%rax)
leal 0x1(,%r14,2), %esi
movq %r15, %rdi
movl %ebx, %edx
movl %r14d, %ecx
movl %ebp, %r8d
callq 0x8784
movq 0xae58(%rip), %rax      # 0x10360
movq 0x18(%rax), %rdi
testq %rdi, %rdi
je 0x5634
leal (%r14,%r14,2), %esi
incl %esi
movl %ebx, %edx
movl %r14d, %ecx
movl %ebp, %r8d
jmp 0x55b9
leaq 0xae61(%rip), %rax      # 0x10390
movq (%rax), %rdi
leaq 0x6db2(%rip), %rsi      # 0xc2eb
callq 0x3130
movq %rax, %rdi
movl $0x2, %esi
callq 0x3300
movq %rax, %rdi
callq 0x3450
movl %eax, %r13d
movl $0x78, %edi
callq 0x32c0
movq %rax, %r12
leaq 0xadbe(%rip), %rdx      # 0x10328
movq %rax, %rdi
movl %r13d, %esi
callq 0x86be
movq 0xade4(%rip), %rax      # 0x10360
movq %r12, 0x10(%rax)
leal (%r15,%rbx), %edx
movq %r12, %rdi
xorl %esi, %esi
movl %ebp, %ecx
movl (%rsp), %r12d
movl %r12d, %r8d
callq 0x8784
movq 0xadc2(%rip), %rax      # 0x10360
movq 0x18(%rax), %rdi
testq %rdi, %rdi
je 0x569f
addl %ebx, %r15d
movl %r14d, %esi
movl %r15d, %edx
movl %ebp, %ecx
movl %r12d, %r8d
callq 0x89a4
jmp 0x570e
leaq 0xadc6(%rip), %rax      # 0x10390
movq (%rax), %rdi
leaq 0x6d17(%rip), %rsi      # 0xc2eb
callq 0x3130
movq %rax, %rdi
movl $0x3, %esi
callq 0x3300
movq %rax, %rdi
callq 0x3450
movl %eax, %r15d
movl $0x78, %edi
callq 0x32c0
movq %rax, %r14
leaq 0xad23(%rip), %rdx      # 0x10328
movq %rax, %rdi
movl %r15d, %esi
callq 0x86be
movq 0xad49(%rip), %rax      # 0x10360
movq %r14, 0x18(%rax)
leal (%rbx,%rbx,2), %eax
leal (%r12,%rax), %edx
addl $0x2, %edx
movq %r14, %rdi
xorl %esi, %esi
movl %ebp, %ecx
movl %ebx, %r8d
jmp 0x5709
leaq 0xad55(%rip), %rax      # 0x10390
movq (%rax), %rdi
leaq 0x6ca6(%rip), %rsi      # 0xc2eb
callq 0x3130
movq %rax, %rdi
movl $0x3, %esi
callq 0x3300
movq %rax, %rdi
callq 0x3450
movl %eax, %r12d
movl $0x78, %edi
callq 0x32c0
movq %rax, %r15
leaq 0xacb2(%rip), %rdx      # 0x10328
movq %rax, %rdi
movl %r12d, %esi
callq 0x86be
movq 0xacd8(%rip), %rax      # 0x10360
movq %r15, 0x18(%rax)
leal (%r14,%r14,2), %esi
incl %esi
movq %r15, %rdi
movl %ebx, %edx
movl %r14d, %ecx
movl %ebp, %r8d
jmp 0x5709
leaq 0xacea(%rip), %rax      # 0x10390
movq (%rax), %rdi
leaq 0x6c3b(%rip), %rsi      # 0xc2eb
callq 0x3130
movq %rax, %rdi
movl $0x3, %esi
callq 0x3300
movq %rax, %rdi
callq 0x3450
movl %eax, %r13d
movl $0x78, %edi
callq 0x32c0
movq %rax, %r12
leaq 0xac47(%rip), %rdx      # 0x10328
movq %rax, %rdi
movl %r13d, %esi
callq 0x86be
movq 0xac6d(%rip), %rax      # 0x10360
movq %r12, 0x18(%rax)
addl %ebx, %r15d
movq %r12, %rdi
movl %r14d, %esi
movl %r15d, %edx
movl %ebp, %ecx
movl (%rsp), %r8d
callq 0x8784
movq 0xac33(%rip), %rdi      # 0x10348
testq %rdi, %rdi
je 0x571f
callq 0xac12
movl 0xac53(%rip), %eax      # 0x10378
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x574f
jmp 0x575e
jmp 0x573e
jmp 0x574f
jmp 0x575e
movq %rax, %rbx
movl $0x78, %esi
movq %r14, %rdi
jmp 0x57a8
jmp 0x574f
jmp 0x575e
movq %rax, %rbx
movl $0x78, %esi
movq %r12, %rdi
jmp 0x57a8
jmp 0x575e
movq %rax, %rbx
movl $0x78, %esi
movq %r15, %rdi
jmp 0x57a8
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x57ad
movq 0x18(%rsp), %rsi
jmp 0x57a5
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x57ad
movq 0x38(%rsp), %rsi
jmp 0x57a5
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x57ad
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x32d0
movq %rbx, %rdi
callq 0x3550