// File: /workspace/github_cpp_makefile_star2_O1/rossy[P]crossc/SPIRV-Cross/spirv_hlsl.cpp
// Function: spirv_cross::CompilerHLSL::read_access_chain[abi:cxx11](spirv_cross::SPIRAccessChain const&)
string CompilerHLSL::read_access_chain(const SPIRAccessChain &chain)
{
	auto &type = get<SPIRType>(chain.basetype);

	SPIRType target_type;
	target_type.basetype = SPIRType::UInt;
	target_type.vecsize = type.vecsize;
	target_type.columns = type.columns;

	if (type.basetype == SPIRType::Struct)
		SPIRV_CROSS_THROW("Reading structs from ByteAddressBuffer not yet supported.");

	if (type.width != 32)
		SPIRV_CROSS_THROW("Reading types other than 32-bit from ByteAddressBuffer not yet supported.");

	if (!type.array.empty())
		SPIRV_CROSS_THROW("Reading arrays from ByteAddressBuffer not yet supported.");

	string load_expr;

	// Load a vector or scalar.
	if (type.columns == 1 && !chain.row_major_matrix)
	{
		const char *load_op = nullptr;
		switch (type.vecsize)
		{
		case 1:
			load_op = "Load";
			break;
		case 2:
			load_op = "Load2";
			break;
		case 3:
			load_op = "Load3";
			break;
		case 4:
			load_op = "Load4";
			break;
		default:
			SPIRV_CROSS_THROW("Unknown vector size.");
		}

		load_expr = join(chain.base, ".", load_op, "(", chain.dynamic_index, chain.static_index, ")");
	}
	else if (type.columns == 1)
	{
		// Strided load since we are loading a column from a row-major matrix.
		if (type.vecsize > 1)
		{
			load_expr = type_to_glsl(target_type);
			load_expr += "(";
		}

		for (uint32_t r = 0; r < type.vecsize; r++)
		{
			load_expr +=
			    join(chain.base, ".Load(", chain.dynamic_index, chain.static_index + r * chain.matrix_stride, ")");
			if (r + 1 < type.vecsize)
				load_expr += ", ";
		}

		if (type.vecsize > 1)
			load_expr += ")";
	}
	else if (!chain.row_major_matrix)
	{
		// Load a matrix, column-major, the easy case.
		const char *load_op = nullptr;
		switch (type.vecsize)
		{
		case 1:
			load_op = "Load";
			break;
		case 2:
			load_op = "Load2";
			break;
		case 3:
			load_op = "Load3";
			break;
		case 4:
			load_op = "Load4";
			break;
		default:
			SPIRV_CROSS_THROW("Unknown vector size.");
		}

		// Note, this loading style in HLSL is *actually* row-major, but we always treat matrices as transposed in this backend,
		// so row-major is technically column-major ...
		load_expr = type_to_glsl(target_type);
		load_expr += "(";
		for (uint32_t c = 0; c < type.columns; c++)
		{
			load_expr += join(chain.base, ".", load_op, "(", chain.dynamic_index,
			                  chain.static_index + c * chain.matrix_stride, ")");
			if (c + 1 < type.columns)
				load_expr += ", ";
		}
		load_expr += ")";
	}
	else
	{
		// Pick out elements one by one ... Hopefully compilers are smart enough to recognize this pattern
		// considering HLSL is "row-major decl", but "column-major" memory layout (basically implicit transpose model, ugh) ...

		load_expr = type_to_glsl(target_type);
		load_expr += "(";
		for (uint32_t c = 0; c < type.columns; c++)
		{
			for (uint32_t r = 0; r < type.vecsize; r++)
			{
				load_expr += join(chain.base, ".Load(", chain.dynamic_index,
				                  chain.static_index + c * (type.width / 8) + r * chain.matrix_stride, ")");

				if ((r + 1 < type.vecsize) || (c + 1 < type.columns))
					load_expr += ", ";
			}
		}
		load_expr += ")";
	}

	auto bitcast_op = bitcast_glsl_op(type, target_type);
	if (!bitcast_op.empty())
		load_expr = join(bitcast_op, "(", load_expr, ")");

	return load_expr;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x148, %rsp            # imm = 0x148
movq %rsi, %r13
movq %rdi, %r12
movq %rdx, 0x30(%rsp)
movl 0xc(%rdx), %esi
movq %r13, %rdi
callq 0xa426
movq %rax, %r15
xorl %eax, %eax
leaq 0x140(%rsp), %rcx
movl %eax, -0xc8(%rcx)
leaq 0x8f843(%rip), %r14     # 0xfd3b0
addq $0x10, %r14
movq %r14, -0xd0(%rcx)
movaps 0x48081(%rip), %xmm0    # 0xb5c00
movups %xmm0, -0xc4(%rcx)
movq %rax, -0x88(%rcx)
movl %eax, -0x80(%rcx)
movq %rax, -0x78(%rcx)
movb $0x0, -0x70(%rcx)
xorps %xmm0, %xmm0
movups %xmm0, -0xb0(%rcx)
movups %xmm0, -0xa0(%rcx)
movl %eax, -0x90(%rcx)
movl $0x8, -0x6c(%rcx)
movups %xmm0, -0x68(%rcx)
movq %rax, -0x58(%rcx)
movq %rax, -0x38(%rcx)
movq %rcx, -0x30(%rcx)
movq $0x1, -0x28(%rcx)
movups %xmm0, -0x20(%rcx)
movl $0x3f800000, -0x10(%rcx) # imm = 0x3F800000
movups %xmm0, -0x8(%rcx)
movl $0x5, -0xc4(%rcx)
movl 0x14(%r15), %eax
movl %eax, -0xbc(%rcx)
movl 0x18(%r15), %eax
movl %eax, -0xb8(%rcx)
cmpl $0xc, 0xc(%r15)
je 0x6e232
cmpl $0x20, 0x10(%r15)
jne 0x6e29b
movq 0x20(%r15), %rax
cmpq 0x28(%r15), %rax
jne 0x6e304
leaq 0x10(%r12), %rbx
movq %rbx, (%r12)
movq $0x0, 0x8(%r12)
movb $0x0, 0x10(%r12)
movl 0x18(%r15), %eax
cmpl $0x1, %eax
movq %r12, (%rsp)
movq %rbx, 0x28(%rsp)
movq %r14, 0x68(%rsp)
movq %r13, 0x60(%rsp)
jne 0x6dd87
movq 0x30(%rsp), %rcx
cmpb $0x0, 0x64(%rcx)
je 0x6df00
cmpl $0x1, %eax
jne 0x6dd87
cmpl $0x2, 0x14(%r15)
jb 0x6dccd
movq 0x60(%rsp), %rsi
movq (%rsi), %rax
leaq 0x8(%rsp), %rdi
leaq 0x70(%rsp), %rdx
xorl %ecx, %ecx
callq *0x98(%rax)
leaq 0x8(%rsp), %rbx
movq (%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x6310
movq (%rbx), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6dcbe
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
leaq 0x55fdc(%rip), %rsi     # 0xc3ca1
movq %r14, %rdi
callq 0x64e0
cmpl $0x0, 0x14(%r15)
je 0x6e0f8
movq 0x30(%rsp), %rax
leaq 0x18(%rax), %rbx
leaq 0x38(%rax), %r14
xorl %r13d, %r13d
leaq 0x8(%rsp), %rbp
leaq 0x38(%rsp), %r12
movq 0x30(%rsp), %rcx
movl 0x60(%rcx), %eax
imull %r13d, %eax
addl 0x58(%rcx), %eax
movl %eax, 0x38(%rsp)
movq %rbp, %rdi
movq %rbx, %rsi
leaq 0x516a9(%rip), %rdx     # 0xbf3bb
movq %r14, %rcx
movq %r12, %r8
leaq 0x4dd06(%rip), %r9      # 0xbba25
callq 0x7b826
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq (%rsp), %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6dd53
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
incl %r13d
cmpl 0x14(%r15), %r13d
jae 0x6dd6c
movq (%rsp), %rdi
leaq 0x4d354(%rip), %rsi     # 0xbb0bb
callq 0x64e0
movl 0x14(%r15), %eax
cmpl %eax, %r13d
jb 0x6dcf2
cmpl $0x1, %eax
ja 0x6deba
jmp 0x6e0f8
movq 0x30(%rsp), %rax
cmpb $0x0, 0x64(%rax)
je 0x6decf
movq (%r13), %rax
leaq 0x8(%rsp), %rdi
leaq 0x70(%rsp), %rdx
movq %r13, %rsi
xorl %ecx, %ecx
callq *0x98(%rax)
leaq 0x8(%rsp), %rbx
movq %r12, %rdi
movq %rbx, %rsi
callq 0x6310
movq (%rbx), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6ddd9
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
leaq 0x55ec1(%rip), %rsi     # 0xc3ca1
movq %r12, %rdi
callq 0x64e0
cmpl $0x0, 0x18(%r15)
je 0x6deba
movq 0x30(%rsp), %rax
leaq 0x18(%rax), %r13
leaq 0x38(%rax), %rbp
xorl %ebx, %ebx
cmpl $0x0, 0x14(%r15)
je 0x6deae
leal 0x1(%rbx), %r12d
xorl %r14d, %r14d
movl 0x10(%r15), %eax
shrl $0x3, %eax
imull %ebx, %eax
movq 0x30(%rsp), %rcx
addl 0x58(%rcx), %eax
movl 0x60(%rcx), %ecx
imull %r14d, %ecx
addl %eax, %ecx
movl %ecx, 0x38(%rsp)
leaq 0x8(%rsp), %rdi
movq %r13, %rsi
leaq 0x51579(%rip), %rdx     # 0xbf3bb
movq %rbp, %rcx
leaq 0x38(%rsp), %r8
leaq 0x4dbd4(%rip), %r9      # 0xbba25
callq 0x7b826
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq (%rsp), %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6de85
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
incl %r14d
cmpl 0x14(%r15), %r14d
jb 0x6de94
cmpl 0x18(%r15), %r12d
jae 0x6dea4
movq (%rsp), %rdi
leaq 0x4d21c(%rip), %rsi     # 0xbb0bb
callq 0x64e0
cmpl 0x14(%r15), %r14d
jb 0x6de14
incl %ebx
cmpl 0x18(%r15), %ebx
jb 0x6de02
leaq 0x4db64(%rip), %rsi     # 0xbba25
movq (%rsp), %rdi
callq 0x64e0
jmp 0x6e0f8
movq $0x0, 0x38(%rsp)
movl 0x14(%r15), %eax
decl %eax
cmpl $0x3, %eax
ja 0x6e36d
leaq 0x4e39a(%rip), %rcx     # 0xbc288
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x50e0c(%rip), %rax     # 0xbed0a
jmp 0x6df4d
movq $0x0, 0x38(%rsp)
movl 0x14(%r15), %eax
decl %eax
cmpl $0x3, %eax
ja 0x6e3d3
leaq 0x4e359(%rip), %rcx     # 0xbc278
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x50ddb(%rip), %rax     # 0xbed0a
jmp 0x6e08d
leaq 0x5145f(%rip), %rax     # 0xbf39a
jmp 0x6df4d
leaq 0x5145c(%rip), %rax     # 0xbf3a0
jmp 0x6df4d
leaq 0x51447(%rip), %rax     # 0xbf394
movq %rax, 0x38(%rsp)
movq (%r13), %rax
leaq 0x8(%rsp), %rdi
leaq 0x70(%rsp), %rdx
movq %r13, %rsi
xorl %ecx, %ecx
callq *0x98(%rax)
leaq 0x8(%rsp), %rbx
movq %r12, %rdi
movq %rbx, %rsi
callq 0x6310
movq (%rbx), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6df95
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
leaq 0x55d05(%rip), %rsi     # 0xc3ca1
movq %r12, %rdi
callq 0x64e0
cmpl $0x0, 0x18(%r15)
je 0x6e05f
movq 0x30(%rsp), %rax
leaq 0x18(%rax), %rbx
leaq 0x38(%rax), %r14
xorl %r13d, %r13d
leaq 0x8(%rsp), %rbp
leaq 0x38(%rsp), %r12
movq 0x30(%rsp), %rcx
movl 0x60(%rcx), %eax
imull %r13d, %eax
addl 0x58(%rcx), %eax
movl %eax, 0x5c(%rsp)
movq %rbp, %rdi
movq %rbx, %rsi
leaq 0x4d870(%rip), %rdx     # 0xbb859
movq %r12, %rcx
leaq 0x55cae(%rip), %r8      # 0xc3ca1
movq %r14, %r9
leaq 0x4da28(%rip), %rax     # 0xbba25
pushq %rax
leaq 0x64(%rsp), %rax
pushq %rax
callq 0x7b8e9
addq $0x10, %rsp
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq (%rsp), %rdi
callq 0x60b0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6e03c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
incl %r13d
cmpl 0x18(%r15), %r13d
jae 0x6e055
movq (%rsp), %rdi
leaq 0x4d06b(%rip), %rsi     # 0xbb0bb
callq 0x64e0
cmpl 0x18(%r15), %r13d
jb 0x6dfc9
leaq 0x4d9bf(%rip), %rsi     # 0xbba25
movq (%rsp), %rdi
callq 0x64e0
jmp 0x6e0f8
leaq 0x5131f(%rip), %rax     # 0xbf39a
jmp 0x6e08d
leaq 0x5131c(%rip), %rax     # 0xbf3a0
jmp 0x6e08d
leaq 0x51307(%rip), %rax     # 0xbf394
movq %rax, 0x38(%rsp)
movq 0x30(%rsp), %r10
leaq 0x18(%r10), %rsi
leaq 0x38(%r10), %r9
addq $0x58, %r10
leaq 0x4d97b(%rip), %rax     # 0xbba25
leaq 0x4d7a8(%rip), %rdx     # 0xbb859
leaq 0x55be9(%rip), %r8      # 0xc3ca1
leaq 0x8(%rsp), %rdi
leaq 0x38(%rsp), %rcx
pushq %rax
pushq %r10
callq 0x7b74f
addq $0x10, %rsp
leaq 0x8(%rsp), %rbx
movq %r12, %rdi
movq %rbx, %rsi
callq 0x6310
movq (%rbx), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6e0f8
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x60(%rsp), %rsi
movq (%rsi), %rax
leaq 0x8(%rsp), %rdi
leaq 0x70(%rsp), %rcx
movq %r15, %rdx
callq *0x168(%rax)
cmpq $0x0, 0x10(%rsp)
movq (%rsp), %r14
movq 0x68(%rsp), %r15
je 0x6e16e
leaq 0x55b76(%rip), %rdx     # 0xc3ca1
leaq 0x4d8f3(%rip), %r8      # 0xbba25
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
movq %r14, %rcx
callq 0x7b9c0
leaq 0x38(%rsp), %rbx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x6310
movq (%rbx), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x6e16e
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x6260
leaq 0x110(%rsp), %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6e191
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
movq %r15, 0x70(%rsp)
movq %rbx, %rdi
callq 0xdeb6
movq 0xd8(%rsp), %rdi
testq %rdi, %rdi
je 0x6e1bb
movq 0xe8(%rsp), %rsi
subq %rdi, %rsi
callq 0x6260
movq 0xa8(%rsp), %rdi
testq %rdi, %rdi
je 0x6e200
movq 0xc8(%rsp), %rsi
subq %rdi, %rsi
callq 0x6260
xorl %eax, %eax
movq %rax, 0xa8(%rsp)
movl %eax, 0xb0(%rsp)
movq %rax, 0xb8(%rsp)
movl %eax, 0xc0(%rsp)
movq %rax, 0xc8(%rsp)
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x6e21d
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x6260
movq %r14, %rax
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x10, %edi
callq 0x6140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x51088(%rip), %rsi     # 0xbf2d7
leaq 0x510ba(%rip), %rdx     # 0xbf310
leaq 0x8(%rsp), %rdi
callq 0x7c64
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x6320
leaq 0x8eb21(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0x8eaf9(%rip), %rsi     # 0xfcd80
movq 0x8fd4a(%rip), %rdx     # 0xfdfd8
movq %rbx, %rdi
callq 0x6470
jmp 0x6e43a
movl $0x10, %edi
callq 0x6140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x51059(%rip), %rsi     # 0xbf311
leaq 0x5109b(%rip), %rdx     # 0xbf35a
leaq 0x8(%rsp), %rdi
callq 0x7c64
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x6320
leaq 0x8eab8(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0x8ea90(%rip), %rsi     # 0xfcd80
movq 0x8fce1(%rip), %rdx     # 0xfdfd8
movq %rbx, %rdi
callq 0x6470
jmp 0x6e43a
movl $0x10, %edi
callq 0x6140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5103a(%rip), %rsi     # 0xbf35b
leaq 0x5106b(%rip), %rdx     # 0xbf393
leaq 0x8(%rsp), %rdi
callq 0x7c64
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x6320
leaq 0x8ea4f(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0x8ea27(%rip), %rsi     # 0xfcd80
movq 0x8fc78(%rip), %rdx     # 0xfdfd8
movq %rbx, %rdi
callq 0x6470
jmp 0x6e43a
movl $0x10, %edi
callq 0x6140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5101c(%rip), %rsi     # 0xbf3a6
leaq 0x51029(%rip), %rdx     # 0xbf3ba
leaq 0x8(%rsp), %rdi
callq 0x7c64
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x6320
leaq 0x8e9e6(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0x8e9be(%rip), %rsi     # 0xfcd80
movq 0x8fc0f(%rip), %rdx     # 0xfdfd8
movq %rbx, %rdi
callq 0x6470
jmp 0x6e43a
movq %rbx, %r13
movl $0x10, %edi
callq 0x6140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x50fb3(%rip), %rsi     # 0xbf3a6
leaq 0x50fc0(%rip), %rdx     # 0xbf3ba
leaq 0x8(%rsp), %rdi
callq 0x7c64
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x6320
leaq 0x8e97d(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0x8e955(%rip), %rsi     # 0xfcd80
movq 0x8fba6(%rip), %rdx     # 0xfdfd8
movq %rbx, %rdi
callq 0x6470
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6e45c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x6e45c
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x6e4ae
movq %rbx, %rdi
callq 0x6200
jmp 0x6e4ae
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6e48d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x6e48d
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x6e597
movq %rbx, %rdi
callq 0x6200
jmp 0x6e597
jmp 0x6e594
movq %rbx, %r13
movq %rax, %r14
movq %r13, %rbx
jmp 0x6e5cf
jmp 0x6e594
movq %rax, %r14
jmp 0x6e5cf
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6e4e5
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x6e4e5
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x6e5e3
jmp 0x6e548
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6e512
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x6e512
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x6e5e3
jmp 0x6e548
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6e53f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x6e53f
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x6e5e3
movq %rbx, %rdi
callq 0x6200
jmp 0x6e5e3
movq %rax, %r14
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x6e580
jmp 0x6e594
jmp 0x6e594
jmp 0x6e594
jmp 0x6e594
jmp 0x6e594
jmp 0x6e573
jmp 0x6e594
jmp 0x6e594
movq %rax, %r14
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6e597
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x6e597
movq %rax, %r14
movq (%rsp), %r12
movq 0x28(%rsp), %rbx
jmp 0x6e5cf
movq %rax, %r14
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6e5c6
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x6e5c6
movq %rax, %r14
movq 0x28(%rsp), %rbx
movq (%rsp), %r12
movq (%r12), %rdi
cmpq %rbx, %rdi
je 0x6e5e3
movq (%rbx), %rsi
incq %rsi
callq 0x6260
leaq 0x70(%rsp), %rdi
callq 0x1c438
movq %r14, %rdi
callq 0x64a0
nop