// File: /workspace/github_cpp_makefile_star2_O1/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, 0x28(%rsp)
movl 0xc(%rsi), %esi
callq 0xa426
movq %rax, %r15
xorl %eax, %eax
leaq 0x160(%rsp), %rcx
movl %eax, -0xc8(%rcx)
leaq 0x8ebeb(%rip), %rdx     # 0xfd3b0
addq $0x10, %rdx
movq %rdx, 0x80(%rsp)
movq %rdx, -0xd0(%rcx)
movaps 0x47421(%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 0x6efaa
cmpl $0x20, 0x10(%r15)
jne 0x6f013
movq 0x20(%r15), %rax
cmpq 0x28(%r15), %rax
jne 0x6f07c
movl 0x18(%r15), %eax
cmpl $0x1, %eax
jne 0x6ea05
movq 0x28(%rsp), %rcx
cmpb $0x0, 0x64(%rcx)
je 0x6ec03
cmpl $0x1, %eax
jne 0x6ea05
cmpl $0x0, 0x14(%r15)
je 0x6eeee
movq 0x28(%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 0x34d0e
cmpl $0x2, 0x14(%r15)
jb 0x6e907
movq %r13, %rdi
leaq 0x4cf6c(%rip), %rsi     # 0xbb859
callq 0x64e0
movq %rbx, %rdi
movl %ebp, %esi
callq 0x3336a
movq %r13, %rdi
movq %rax, %rsi
callq 0x64e0
movq %rbx, %rdi
movq %r13, %rsi
callq 0x33430
movq (%rbx), %rax
leaq 0x30(%rsp), %rdi
movq %rbx, %rsi
leaq 0x90(%rsp), %rdx
movq %r15, %rcx
callq *0x168(%rax)
cmpq $0x0, 0x38(%rsp)
je 0x6e97b
movq %r14, %rdi
leaq 0x30(%rsp), %rsi
leaq 0x5535c(%rip), %rdx     # 0xc3ca1
movq %r13, %rcx
leaq 0x4d0d6(%rip), %r8      # 0xbba25
callq 0x7b9c0
movq %r13, %rdi
movq %r14, %rsi
callq 0x6310
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x6e97b
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x28(%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 0x50abf(%rip), %rdx     # 0xbf45b
movq %r12, %rcx
movq %r14, %r8
leaq 0x4c712(%rip), %r9      # 0xbb0bb
leaq 0x51138(%rip), %rax     # 0xbfae8
pushq %rax
pushq %r13
callq 0x7bc08
addq $0x10, %rsp
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x6e9d8
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6e9f4
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
incl %ebp
cmpl 0x14(%r15), %ebp
jb 0x6e8cd
jmp 0x6eeee
movq 0x28(%rsp), %rax
cmpb $0x1, 0x64(%rax)
jne 0x6ebd3
cmpl $0x0, 0x14(%r15)
je 0x6eeee
movq 0x28(%rsp), %rax
leaq 0x18(%rax), %rcx
movq %rcx, 0x58(%rsp)
addq $0x38, %rax
movq %rax, 0x88(%rsp)
xorl %ebp, %ebp
leaq 0x30(%rsp), %r14
leaq 0x8(%rsp), %r12
leaq 0x60(%rsp), %r13
movl $0x0, (%rsp)
cmpl $0x0, 0x18(%r15)
je 0x6ebc2
movq %r14, %rdi
movq %rbx, %rsi
movl 0x50(%rsp), %edx
callq 0x34d0e
movq %rbx, %rdi
movl %ebp, %esi
callq 0x3336a
movq %rax, 0x60(%rsp)
movq %r12, %rdi
movq %r14, %rsi
leaq 0x55295(%rip), %rdx     # 0xc3d1c
movq %rsp, %rcx
leaq 0x4bab8(%rip), %r8      # 0xba549
movq %r13, %r9
callq 0x7bee0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x6eab5
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x6260
movq %rbx, %rdi
movq %r12, %rsi
callq 0x33430
movq (%rbx), %rax
movq %r14, %rdi
movq %rbx, %rsi
leaq 0x90(%rsp), %rdx
movq %r15, %rcx
callq *0x168(%rax)
cmpq $0x0, 0x38(%rsp)
je 0x6eb25
movq %r13, %rdi
movq %r14, %rsi
leaq 0x551b2(%rip), %rdx     # 0xc3ca1
movq %r12, %rcx
leaq 0x4cf2c(%rip), %r8      # 0xbba25
callq 0x7b9c0
movq %r12, %rdi
movq %r13, %rsi
callq 0x6310
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x6eb25
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x6260
movl 0x10(%r15), %eax
shrl $0x3, %eax
imull (%rsp), %eax
movq 0x28(%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 0x50908(%rip), %rdx     # 0xbf45b
movq 0x88(%rsp), %rcx
movq %r13, %r8
leaq 0x4c556(%rip), %r9      # 0xbb0bb
leaq 0x50f7c(%rip), %rax     # 0xbfae8
pushq %rax
pushq %r12
callq 0x7bc08
addq $0x10, %rsp
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x6eb94
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6ebb0
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
movl (%rsp), %eax
incl %eax
movl %eax, (%rsp)
cmpl 0x18(%r15), %eax
jb 0x6ea5c
incl %ebp
cmpl 0x14(%r15), %ebp
jb 0x6ea4a
jmp 0x6eeee
movq $0x0, (%rsp)
movl 0x14(%r15), %eax
decl %eax
cmpl $0x3, %eax
ja 0x6f0e5
leaq 0x4d6b7(%rip), %rcx     # 0xbc2a8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x49868(%rip), %rax     # 0xb8469
jmp 0x6ec4f
movq $0x0, (%rsp)
movl 0x14(%r15), %eax
decl %eax
cmpl $0x3, %eax
ja 0x6f14b
leaq 0x4d677(%rip), %rcx     # 0xbc298
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x49838(%rip), %rax     # 0xb8469
jmp 0x6edeb
leaq 0x50810(%rip), %rax     # 0xbf44d
jmp 0x6ec4f
leaq 0x5080e(%rip), %rax     # 0xbf454
jmp 0x6ec4f
leaq 0x507f7(%rip), %rax     # 0xbf446
movq %rax, (%rsp)
movl $0x0, 0x54(%rsp)
cmpl $0x0, 0x18(%r15)
je 0x6eeee
movq 0x28(%rsp), %rax
leaq 0x18(%rax), %rcx
movq %rcx, 0x58(%rsp)
leaq 0x38(%rax), %r12
leaq 0x30(%rsp), %r13
leaq 0x8(%rsp), %rbp
leaq 0x60(%rsp), %r14
movq %r13, %rdi
movq %rbx, %rsi
movl 0x50(%rsp), %edx
callq 0x34d0e
movq %rbp, %rdi
movq %r13, %rsi
leaq 0x55079(%rip), %rdx     # 0xc3d1c
leaq 0x54(%rsp), %rcx
leaq 0x4fe87(%rip), %r8      # 0xbeb36
callq 0x53252
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x6ecd0
movq 0x40(%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, 0x38(%rsp)
je 0x6ed35
movq %r14, %rdi
movq %r13, %rsi
leaq 0x54fa2(%rip), %rdx     # 0xc3ca1
movq %rbp, %rcx
leaq 0x4cd1c(%rip), %r8      # 0xbba25
callq 0x7b9c0
movq %rbp, %rdi
movq %r14, %rsi
callq 0x6310
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x6ed35
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x28(%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 0x4cb01(%rip), %rdx     # 0xbb859
movq %rsp, %rcx
leaq 0x54f3f(%rip), %r8      # 0xc3ca1
movq %r12, %r9
leaq 0x50d7c(%rip), %rax     # 0xbfae8
pushq %rax
pushq %rbp
leaq 0x4c346(%rip), %rax     # 0xbb0bb
pushq %rax
pushq %r14
callq 0x7bd44
addq $0x20, %rsp
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x6ed9d
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6edb9
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
movl 0x54(%rsp), %eax
incl %eax
movl %eax, 0x54(%rsp)
cmpl 0x18(%r15), %eax
jb 0x6ec87
jmp 0x6eeee
leaq 0x50674(%rip), %rax     # 0xbf44d
jmp 0x6edeb
leaq 0x50672(%rip), %rax     # 0xbf454
jmp 0x6edeb
leaq 0x5065b(%rip), %rax     # 0xbf446
movq %rax, (%rsp)
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
movl 0x50(%rsp), %edx
callq 0x345e6
movq (%rbx), %rax
leaq 0x30(%rsp), %rdi
leaq 0x90(%rsp), %rdx
movq %rbx, %rsi
movq %r15, %rcx
callq *0x168(%rax)
cmpq $0x0, 0x38(%rsp)
je 0x6ee75
leaq 0x54e73(%rip), %rdx     # 0xc3ca1
leaq 0x4cbf0(%rip), %r8      # 0xbba25
leaq 0x60(%rsp), %rdi
leaq 0x30(%rsp), %rsi
leaq 0x8(%rsp), %rcx
callq 0x7b9c0
leaq 0x8(%rsp), %rdi
leaq 0x60(%rsp), %r15
movq %r15, %rsi
callq 0x6310
movq (%r15), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x6ee75
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x28(%rsp), %rax
leaq 0x18(%rax), %rsi
leaq 0x38(%rax), %r9
addq $0x58, %rax
leaq 0x50c5b(%rip), %r10     # 0xbfae8
leaq 0x4c227(%rip), %r11     # 0xbb0bb
leaq 0x4c9be(%rip), %rdx     # 0xbb859
leaq 0x54dff(%rip), %r8      # 0xc3ca1
movq %rsp, %rcx
movq %rbx, %rdi
pushq %r10
pushq %r14
pushq %r11
pushq %rax
callq 0x7ba6c
addq $0x20, %rsp
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6eed3
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x6260
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6eeee
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
movq 0x28(%rsp), %rax
movl 0x8(%rax), %esi
movq %rbx, %rdi
callq 0x12e52
leaq 0x130(%rsp), %rbx
movq 0x80(%rsp), %rax
movq %rax, -0xa0(%rbx)
movq %rbx, %rdi
callq 0xdeb6
movq -0x38(%rbx), %rdi
testq %rdi, %rdi
je 0x6ef36
movq 0x108(%rsp), %rsi
subq %rdi, %rsi
callq 0x6260
movq 0xc8(%rsp), %rdi
testq %rdi, %rdi
je 0x6ef7b
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 0x6ef98
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 0x503fb(%rip), %rsi     # 0xbf3c2
leaq 0x5042d(%rip), %rdx     # 0xbf3fb
leaq 0x8(%rsp), %rdi
callq 0x7c64
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8dda9(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8dd81(%rip), %rsi     # 0xfcd80
movq 0x8efd2(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x6f1af
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x503cc(%rip), %rsi     # 0xbf3fc
leaq 0x5040e(%rip), %rdx     # 0xbf445
leaq 0x8(%rsp), %rdi
callq 0x7c64
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8dd40(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8dd18(%rip), %rsi     # 0xfcd80
movq 0x8ef69(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x6f1af
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x502c2(%rip), %rsi     # 0xbf35b
leaq 0x502f3(%rip), %rdx     # 0xbf393
leaq 0x8(%rsp), %rdi
callq 0x7c64
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8dcd7(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8dcaf(%rip), %rsi     # 0xfcd80
movq 0x8ef00(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x6f1af
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x502a4(%rip), %rsi     # 0xbf3a6
leaq 0x502b1(%rip), %rdx     # 0xbf3ba
leaq 0x8(%rsp), %rdi
callq 0x7c64
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8dc6e(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8dc46(%rip), %rsi     # 0xfcd80
movq 0x8ee97(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
jmp 0x6f1af
movl $0x10, %edi
callq 0x6140
movq %rax, %r14
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5023e(%rip), %rsi     # 0xbf3a6
leaq 0x5024b(%rip), %rdx     # 0xbf3ba
leaq 0x8(%rsp), %rdi
callq 0x7c64
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x6320
leaq 0x8dc08(%rip), %rax     # 0xfcd98
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0x8dbe0(%rip), %rsi     # 0xfcd80
movq 0x8ee31(%rip), %rdx     # 0xfdfd8
movq %r14, %rdi
callq 0x6470
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6f1d1
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x6f1d1
movq %rax, %rbx
movb $0x1, %bpl
testb %bpl, %bpl
je 0x6f34e
jmp 0x6f2cc
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6f201
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x6f201
movq %rax, %rbx
movb $0x1, %bpl
testb %bpl, %bpl
je 0x6f34e
jmp 0x6f2cc
jmp 0x6f211
movq %rax, %rbx
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6f234
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x6f234
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x6f31e
jmp 0x6f32a
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6f269
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x6f269
movq %rax, %rbx
movb $0x1, %bpl
testb %bpl, %bpl
je 0x6f34e
jmp 0x6f2cc
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6f296
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x6f296
movq %rax, %rbx
movb $0x1, %bpl
testb %bpl, %bpl
je 0x6f34e
jmp 0x6f2cc
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6f2c3
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x6f2c3
movq %rax, %rbx
movb $0x1, %bpl
testb %bpl, %bpl
je 0x6f34e
movq %r14, %rdi
callq 0x6200
jmp 0x6f34e
jmp 0x6f32a
jmp 0x6f2ee
jmp 0x6f2ee
jmp 0x6f32a
jmp 0x6f311
jmp 0x6f2ee
jmp 0x6f311
jmp 0x6f2ee
jmp 0x6f32a
jmp 0x6f32f
jmp 0x6f311
jmp 0x6f2ee
movq %rax, %rbx
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x6f314
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x6260
jmp 0x6f314
jmp 0x6f311
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6f34e
movq 0x18(%rsp), %rsi
jmp 0x6f346
movq %rax, %rbx
jmp 0x6f34e
movq %rax, %rbx
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x6f34e
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x6260
leaq 0x90(%rsp), %rdi
callq 0x1c438
movq %rbx, %rdi
callq 0x64a0
nop