// File: /workspace/github_cpp_makefile_star2_O3/rossy[P]crossc/SPIRV-Cross/spirv_hlsl.cpp
// Function: spirv_cross::CompilerHLSL::write_access_chain(spirv_cross::SPIRAccessChain const&, unsigned int)
void CompilerHLSL::write_access_chain(const SPIRAccessChain &chain, uint32_t value)
{
	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("Writing structs to RWByteAddressBuffer not yet supported.");
	if (type.width != 32)
		SPIRV_CROSS_THROW("Writing types other than 32-bit to RWByteAddressBuffer not yet supported.");
	if (!type.array.empty())
		SPIRV_CROSS_THROW("Reading arrays from ByteAddressBuffer not yet supported.");

	if (type.columns == 1 && !chain.row_major_matrix)
	{
		const char *store_op = nullptr;
		switch (type.vecsize)
		{
		case 1:
			store_op = "Store";
			break;
		case 2:
			store_op = "Store2";
			break;
		case 3:
			store_op = "Store3";
			break;
		case 4:
			store_op = "Store4";
			break;
		default:
			SPIRV_CROSS_THROW("Unknown vector size.");
		}

		auto store_expr = to_expression(value);
		auto bitcast_op = bitcast_glsl_op(target_type, type);
		if (!bitcast_op.empty())
			store_expr = join(bitcast_op, "(", store_expr, ")");
		statement(chain.base, ".", store_op, "(", chain.dynamic_index, chain.static_index, ", ", store_expr, ");");
	}
	else if (type.columns == 1)
	{
		// Strided store.
		for (uint32_t r = 0; r < type.vecsize; r++)
		{
			auto store_expr = to_enclosed_expression(value);
			if (type.vecsize > 1)
			{
				store_expr += ".";
				store_expr += index_to_swizzle(r);
			}
			remove_duplicate_swizzle(store_expr);

			auto bitcast_op = bitcast_glsl_op(target_type, type);
			if (!bitcast_op.empty())
				store_expr = join(bitcast_op, "(", store_expr, ")");
			statement(chain.base, ".Store(", chain.dynamic_index, chain.static_index + chain.matrix_stride * r, ", ",
			          store_expr, ");");
		}
	}
	else if (!chain.row_major_matrix)
	{
		const char *store_op = nullptr;
		switch (type.vecsize)
		{
		case 1:
			store_op = "Store";
			break;
		case 2:
			store_op = "Store2";
			break;
		case 3:
			store_op = "Store3";
			break;
		case 4:
			store_op = "Store4";
			break;
		default:
			SPIRV_CROSS_THROW("Unknown vector size.");
		}

		for (uint32_t c = 0; c < type.columns; c++)
		{
			auto store_expr = join(to_enclosed_expression(value), "[", c, "]");
			auto bitcast_op = bitcast_glsl_op(target_type, type);
			if (!bitcast_op.empty())
				store_expr = join(bitcast_op, "(", store_expr, ")");
			statement(chain.base, ".", store_op, "(", chain.dynamic_index, chain.static_index + c * chain.matrix_stride,
			          ", ", store_expr, ");");
		}
	}
	else
	{
		for (uint32_t r = 0; r < type.vecsize; r++)
		{
			for (uint32_t c = 0; c < type.columns; c++)
			{
				auto store_expr = join(to_enclosed_expression(value), "[", c, "].", index_to_swizzle(r));
				remove_duplicate_swizzle(store_expr);
				auto bitcast_op = bitcast_glsl_op(target_type, type);
				if (!bitcast_op.empty())
					store_expr = join(bitcast_op, "(", store_expr, ")");
				statement(chain.base, ".Store(", chain.dynamic_index,
				          chain.static_index + c * (type.width / 8) + r * chain.matrix_stride, ", ", store_expr, ");");
			}
		}
	}

	register_write(chain.self);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x168, %rsp            # imm = 0x168
movl %edx, 0x50(%rsp)
movq %rdi, %rbx
movq %rsi, 0x48(%rsp)
movl 0xc(%rsi), %esi
callq 0xa3ea
movq %rax, %r15
xorl %eax, %eax
leaq 0x160(%rsp), %rdx
movl %eax, -0xc8(%rdx)
leaq 0x8e5b5(%rip), %rcx     # 0xfc3e0
addq $0x10, %rcx
movq %rcx, 0x80(%rsp)
movq %rcx, -0xd0(%rdx)
movl %eax, -0xc0(%rdx)
movq %rax, -0x88(%rdx)
movl %eax, -0x80(%rdx)
movq %rax, -0x78(%rdx)
movb $0x0, -0x70(%rdx)
xorps %xmm0, %xmm0
movups %xmm0, -0xb0(%rdx)
movups %xmm0, -0xa0(%rdx)
movl %eax, -0x90(%rdx)
movl $0x8, -0x6c(%rdx)
movups %xmm0, -0x68(%rdx)
movq %rax, -0x58(%rdx)
movq %rax, -0x38(%rdx)
movq %rdx, -0x30(%rdx)
movq $0x1, -0x28(%rdx)
movups %xmm0, -0x20(%rdx)
movl $0x3f800000, -0x10(%rdx) # imm = 0x3F800000
movups %xmm0, -0x8(%rdx)
movl $0x5, -0xc4(%rdx)
movl 0x14(%r15), %ecx
movl %ecx, -0xbc(%rdx)
movl 0x18(%r15), %eax
movl %eax, -0xb8(%rdx)
cmpl $0xc, 0xc(%r15)
je 0x6e5e4
cmpl $0x20, 0x10(%r15)
jne 0x6e64d
movq 0x20(%r15), %rdx
cmpq 0x28(%r15), %rdx
jne 0x6e6b6
movq 0x48(%rsp), %rdx
movb 0x64(%rdx), %dl
cmpl $0x1, %eax
jne 0x6e054
testb %dl, %dl
je 0x6e21e
testl %ecx, %ecx
je 0x6e528
movq 0x48(%rsp), %rax
leaq 0x18(%rax), %rcx
movq %rcx, 0x58(%rsp)
leaq 0x38(%rax), %r12
xorl %ebp, %ebp
leaq 0x8(%rsp), %r13
leaq 0x60(%rsp), %r14
movq %r13, %rdi
movq %rbx, %rsi
movl 0x50(%rsp), %edx
callq 0x34600
cmpl $0x2, 0x14(%r15)
jb 0x6df56
movq %r13, %rdi
leaq 0x4c90d(%rip), %rsi     # 0xba849
callq 0x64e0
movq %rbx, %rdi
movl %ebp, %esi
callq 0x32c76
movq %r13, %rdi
movq %rax, %rsi
callq 0x64e0
movq %rbx, %rdi
movq %r13, %rsi
callq 0x32d38
movq (%rbx), %rax
leaq 0x28(%rsp), %rdi
movq %rbx, %rsi
leaq 0x90(%rsp), %rdx
movq %r15, %rcx
callq *0x168(%rax)
cmpq $0x0, 0x30(%rsp)
je 0x6dfca
movq %r14, %rdi
leaq 0x28(%rsp), %rsi
leaq 0x54cdd(%rip), %rdx     # 0xc2c71
movq %r13, %rcx
leaq 0x4ca77(%rip), %r8      # 0xbaa15
callq 0x7aeb4
movq %r13, %rdi
movq %r14, %rsi
callq 0x6310
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x6dfca
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x48(%rsp), %rcx
movl 0x60(%rcx), %eax
imull %ebp, %eax
addl 0x58(%rcx), %eax
movl %eax, 0x60(%rsp)
movq %rbx, %rdi
movq 0x58(%rsp), %rsi
leaq 0x50478(%rip), %rdx     # 0xbe463
movq %r12, %rcx
movq %r14, %r8
leaq 0x4c0b3(%rip), %r9      # 0xba0ab
leaq 0x50af1(%rip), %rax     # 0xbeaf0
pushq %rax
pushq %r13
callq 0x7b0fc
addq $0x10, %rsp
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x6e027
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6e043
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
incl %ebp
cmpl 0x14(%r15), %ebp
jb 0x6df1c
jmp 0x6e528
testb %dl, %dl
je 0x6e242
testl %ecx, %ecx
je 0x6e528
movq 0x48(%rsp), %rdx
leaq 0x18(%rdx), %rsi
movq %rsi, 0x58(%rsp)
addq $0x38, %rdx
movq %rdx, 0x88(%rsp)
xorl %ebp, %ebp
leaq 0x28(%rsp), %r14
leaq 0x8(%rsp), %r12
leaq 0x60(%rsp), %r13
movl $0x0, (%rsp)
testl %eax, %eax
movl $0x0, %eax
je 0x6e20f
movq %r14, %rdi
movq %rbx, %rsi
movl 0x50(%rsp), %edx
callq 0x34600
movq %rbx, %rdi
movl %ebp, %esi
callq 0x32c76
movq %rax, 0x60(%rsp)
movq %r12, %rdi
movq %r14, %rsi
leaq 0x54c1e(%rip), %rdx     # 0xc2cec
movq %rsp, %rcx
leaq 0x4b461(%rip), %r8      # 0xb9539
movq %r13, %r9
callq 0x7b3d4
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x6e0fc
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x6260
movq %rbx, %rdi
movq %r12, %rsi
callq 0x32d38
movq (%rbx), %rax
movq %r14, %rdi
movq %rbx, %rsi
leaq 0x90(%rsp), %rdx
movq %r15, %rcx
callq *0x168(%rax)
cmpq $0x0, 0x30(%rsp)
je 0x6e16c
movq %r13, %rdi
movq %r14, %rsi
leaq 0x54b3b(%rip), %rdx     # 0xc2c71
movq %r12, %rcx
leaq 0x4c8d5(%rip), %r8      # 0xbaa15
callq 0x7aeb4
movq %r12, %rdi
movq %r13, %rsi
callq 0x6310
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x6e16c
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x6260
movl 0x10(%r15), %eax
shrl $0x3, %eax
imull (%rsp), %eax
movq 0x48(%rsp), %rcx
addl 0x58(%rcx), %eax
movl 0x60(%rcx), %ecx
imull %ebp, %ecx
addl %eax, %ecx
movl %ecx, 0x60(%rsp)
movq %rbx, %rdi
movq 0x58(%rsp), %rsi
leaq 0x502c9(%rip), %rdx     # 0xbe463
movq 0x88(%rsp), %rcx
movq %r13, %r8
leaq 0x4beff(%rip), %r9      # 0xba0ab
leaq 0x5093d(%rip), %rax     # 0xbeaf0
pushq %rax
pushq %r12
callq 0x7b0fc
addq $0x10, %rsp
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x6e1db
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6e1f7
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
movl (%rsp), %ecx
incl %ecx
movl %ecx, (%rsp)
movl 0x18(%r15), %eax
cmpl %eax, %ecx
jb 0x6e0a3
movl 0x14(%r15), %ecx
incl %ebp
cmpl %ecx, %ebp
jb 0x6e08f
jmp 0x6e528
decl %ecx
cmpl $0x3, %ecx
ja 0x6e71f
leaq 0x4d068(%rip), %rax     # 0xbb298
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
leaq 0x49219(%rip), %rax     # 0xb7459
jmp 0x6e29a
decl %ecx
cmpl $0x3, %ecx
ja 0x6e785
leaq 0x4d034(%rip), %rdx     # 0xbb288
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
leaq 0x491f5(%rip), %rcx     # 0xb7459
jmp 0x6e3ad
leaq 0x501e5(%rip), %rax     # 0xbe455
jmp 0x6e29a
leaq 0x501dc(%rip), %rcx     # 0xbe455
jmp 0x6e3ad
leaq 0x501d7(%rip), %rax     # 0xbe45c
jmp 0x6e29a
leaq 0x501ce(%rip), %rcx     # 0xbe45c
jmp 0x6e3ad
leaq 0x501b4(%rip), %rax     # 0xbe44e
movq %rax, (%rsp)
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
movl 0x50(%rsp), %edx
callq 0x33f8a
movq (%rbx), %rax
leaq 0x28(%rsp), %rdi
leaq 0x90(%rsp), %rdx
movq %rbx, %rsi
movq %r15, %rcx
callq *0x168(%rax)
cmpq $0x0, 0x30(%rsp)
je 0x6e324
leaq 0x54994(%rip), %rdx     # 0xc2c71
leaq 0x4c731(%rip), %r8      # 0xbaa15
leaq 0x60(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0x8(%rsp), %rcx
callq 0x7aeb4
leaq 0x8(%rsp), %rdi
leaq 0x60(%rsp), %r15
movq %r15, %rsi
callq 0x6310
movq (%r15), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x6e324
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x48(%rsp), %rax
leaq 0x18(%rax), %rsi
leaq 0x38(%rax), %r9
addq $0x58, %rax
leaq 0x507b4(%rip), %r10     # 0xbeaf0
leaq 0x4bd68(%rip), %r11     # 0xba0ab
leaq 0x4c4ff(%rip), %rdx     # 0xba849
leaq 0x54920(%rip), %r8      # 0xc2c71
movq %rsp, %rcx
movq %rbx, %rdi
pushq %r10
pushq %r14
pushq %r11
pushq %rax
callq 0x7af60
addq $0x20, %rsp
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6e382
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x6260
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6e528
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x6e528
leaq 0x500a1(%rip), %rcx     # 0xbe44e
movq %rcx, (%rsp)
movl $0x0, 0x54(%rsp)
testl %eax, %eax
je 0x6e528
movq 0x48(%rsp), %rax
leaq 0x18(%rax), %rcx
movq %rcx, 0x58(%rsp)
leaq 0x38(%rax), %r12
leaq 0x28(%rsp), %r13
leaq 0x8(%rsp), %rbp
leaq 0x60(%rsp), %r14
movq %r13, %rdi
movq %rbx, %rsi
movl 0x50(%rsp), %edx
callq 0x34600
movq %rbp, %rdi
movq %r13, %rsi
leaq 0x548ee(%rip), %rdx     # 0xc2cec
leaq 0x54(%rsp), %rcx
leaq 0x4f734(%rip), %r8      # 0xbdb3e
callq 0x52a5a
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x6e42b
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x6260
movq (%rbx), %rax
movq %r13, %rdi
movq %rbx, %rsi
leaq 0x90(%rsp), %rdx
movq %r15, %rcx
callq *0x168(%rax)
cmpq $0x0, 0x30(%rsp)
je 0x6e490
movq %r14, %rdi
movq %r13, %rsi
leaq 0x54817(%rip), %rdx     # 0xc2c71
movq %rbp, %rcx
leaq 0x4c5b1(%rip), %r8      # 0xbaa15
callq 0x7aeb4
movq %rbp, %rdi
movq %r14, %rsi
callq 0x6310
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x6e490
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x48(%rsp), %rcx
movl 0x60(%rcx), %eax
imull 0x54(%rsp), %eax
addl 0x58(%rcx), %eax
movl %eax, 0x60(%rsp)
movq %rbx, %rdi
movq 0x58(%rsp), %rsi
leaq 0x4c396(%rip), %rdx     # 0xba849
movq %rsp, %rcx
leaq 0x547b4(%rip), %r8      # 0xc2c71
movq %r12, %r9
leaq 0x50629(%rip), %rax     # 0xbeaf0
pushq %rax
pushq %rbp
leaq 0x4bbdb(%rip), %rax     # 0xba0ab
pushq %rax
pushq %r14
callq 0x7b238
addq $0x20, %rsp
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x6e4f8
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6e514
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
movl 0x54(%rsp), %eax
incl %eax
movl %eax, 0x54(%rsp)
cmpl 0x18(%r15), %eax
jb 0x6e3e2
movq 0x48(%rsp), %rax
movl 0x8(%rax), %esi
movq %rbx, %rdi
callq 0x12e12
leaq 0x130(%rsp), %rbx
movq 0x80(%rsp), %rax
movq %rax, -0xa0(%rbx)
movq %rbx, %rdi
callq 0xde80
movq -0x38(%rbx), %rdi
testq %rdi, %rdi
je 0x6e570
movq 0x108(%rsp), %rsi
subq %rdi, %rsi
callq 0x6260
movq 0xc8(%rsp), %rdi
testq %rdi, %rdi
je 0x6e5b5
movq 0xe8(%rsp), %rsi
subq %rdi, %rsi
callq 0x6260
xorl %eax, %eax
movq %rax, 0xc8(%rsp)
movl %eax, 0xd0(%rsp)
movq %rax, 0xd8(%rsp)
movl %eax, 0xe0(%rsp)
movq %rax, 0xe8(%rsp)
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x6e5d2
movq 0xc0(%rsp), %rsi
subq %rdi, %rsi
callq 0x6260
addq $0x168, %rsp            # imm = 0x168
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4fdc9(%rip), %rsi     # 0xbe3ca
leaq 0x4fdfb(%rip), %rdx     # 0xbe403
leaq 0x8(%rsp), %rdi
callq 0x7be0
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8d79f(%rip), %rax     # 0xfbdc8
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8d777(%rip), %rsi     # 0xfbdb0
movq 0x8e998(%rip), %rdx     # 0xfcfd8
movq %r14, %rdi
callq 0x6470
jmp 0x6e7e9
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4fd9a(%rip), %rsi     # 0xbe404
leaq 0x4fddc(%rip), %rdx     # 0xbe44d
leaq 0x8(%rsp), %rdi
callq 0x7be0
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8d736(%rip), %rax     # 0xfbdc8
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8d70e(%rip), %rsi     # 0xfbdb0
movq 0x8e92f(%rip), %rdx     # 0xfcfd8
movq %r14, %rdi
callq 0x6470
jmp 0x6e7e9
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4fc90(%rip), %rsi     # 0xbe363
leaq 0x4fcc1(%rip), %rdx     # 0xbe39b
leaq 0x8(%rsp), %rdi
callq 0x7be0
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8d6cd(%rip), %rax     # 0xfbdc8
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8d6a5(%rip), %rsi     # 0xfbdb0
movq 0x8e8c6(%rip), %rdx     # 0xfcfd8
movq %r14, %rdi
callq 0x6470
jmp 0x6e7e9
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4fc72(%rip), %rsi     # 0xbe3ae
leaq 0x4fc7f(%rip), %rdx     # 0xbe3c2
leaq 0x8(%rsp), %rdi
callq 0x7be0
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8d664(%rip), %rax     # 0xfbdc8
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8d63c(%rip), %rsi     # 0xfbdb0
movq 0x8e85d(%rip), %rdx     # 0xfcfd8
movq %r14, %rdi
callq 0x6470
jmp 0x6e7e9
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4fc0c(%rip), %rsi     # 0xbe3ae
leaq 0x4fc19(%rip), %rdx     # 0xbe3c2
leaq 0x8(%rsp), %rdi
callq 0x7be0
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8d5fe(%rip), %rax     # 0xfbdc8
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8d5d6(%rip), %rsi     # 0xfbdb0
movq 0x8e7f7(%rip), %rdx     # 0xfcfd8
movq %r14, %rdi
callq 0x6470
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6e803
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
testb %bpl, %bpl
je 0x6e975
jmp 0x6e8f3
jmp 0x6e8c7
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6e830
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
testb %bpl, %bpl
je 0x6e975
jmp 0x6e8f3
jmp 0x6e8c7
jmp 0x6e845
movq %rax, %rbx
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6e868
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x6e868
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x6e945
jmp 0x6e951
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6e895
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
testb %bpl, %bpl
je 0x6e975
jmp 0x6e8f3
jmp 0x6e8c7
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6e8bc
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
testb %bpl, %bpl
je 0x6e975
jmp 0x6e8f3
movq %rax, %rbx
jmp 0x6e8f3
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6e8e6
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
testb %bpl, %bpl
jne 0x6e8f3
jmp 0x6e975
movq %rax, %rbx
movq %r14, %rdi
callq 0x6200
jmp 0x6e975
jmp 0x6e951
jmp 0x6e915
jmp 0x6e915
jmp 0x6e915
jmp 0x6e951
jmp 0x6e938
jmp 0x6e915
jmp 0x6e951
jmp 0x6e956
jmp 0x6e938
jmp 0x6e938
jmp 0x6e915
movq %rax, %rbx
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x6e93b
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x6e93b
jmp 0x6e938
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6e975
movq 0x18(%rsp), %rsi
jmp 0x6e96d
movq %rax, %rbx
jmp 0x6e975
movq %rax, %rbx
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x6e975
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x6260
leaq 0x90(%rsp), %rdi
callq 0x1be02
movq %rbx, %rdi
callq 0x64a0