// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_C99DataTransRepr_stride
static STR* mw_mirth_c99_C99DataTransRepr_stride (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_C99DataTransRepr* in_C99DataTransRepr_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_tycon_Tycon v5 = in_C99DataTransRepr_2->minputzetycon;
	incref(MK_mirth_tycon_Tycon(v5));
	decref(MK_mirth_c99_C99DataTransRepr(in_C99DataTransRepr_2));
	struct mirth_mirth_zaMirth* v6;
	STR* v7 = mw_mirth_tycon_Tycon_c99zereprzestride(in_zaMirth_1, v5, &v6);
	*out_zaMirth_3 = v6;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdx, %rbx
movq %rdi, %r14
movabsq $0xfffffffffffc, %r12   # imm = 0xFFFFFFFFFFFC
movl 0x20(%rsi), %r13d
movq 0x28(%rsi), %r15
movq %r15, %rax
andq %r12, %rax
sete %cl
testb $0x3, %r15b
setne %dl
orb %cl, %dl
jne 0xa0109
incl (%rax)
movq %rsi, %rax
andq %r12, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0xa0133
decl (%rax)
jne 0xa0133
leaq 0x72d29(%rip), %rax     # 0x112e51
movq %rsi, %rdi
movq %rax, %rsi
callq 0xd13d
testl %r13d, %r13d
je 0xa020b
cmpl $0x1, %r13d
je 0xa01bd
cmpl $0x2, %r13d
jne 0xa079d
movl 0x4(%r15), %r13d
decl (%r15)
jne 0xa015d
movq %r15, %rdi
callq 0x5030
cmpl $0x15, %r13d
ja 0xa079d
movl %r13d, %eax
leaq 0x3f92f(%rip), %rcx     # 0xdfaa0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x1076bff(%rip), %rax   # 0x1116d80
testq %rax, %rax
jne 0xa0778
movl $0xb, %edi
callq 0xf5e4
movq $0xb, 0x10(%rax)
movabsq $0x555f454449525453, %rcx # imm = 0x555F454449525453
movq %rcx, 0x18(%rax)
movl $0x54494e55, 0x1f(%rax) # imm = 0x54494E55
movq %rax, 0x1076bc8(%rip)   # 0x1116d80
jmp 0xa0778
decl (%r15)
jne 0xa01ca
movq %r15, %rdi
callq 0x5030
movq 0x1076ba7(%rip), %rax   # 0x1116d78
testq %rax, %rax
jne 0xa01f3
movl $0x1, %edi
callq 0xf5e4
movq $0x1, 0x10(%rax)
movb $0x38, 0x18(%rax)
movq %rax, 0x1076b85(%rip)   # 0x1116d78
andq %rax, %r12
sete %cl
testb $0x3, %al
setne %dl
orb %cl, %dl
je 0xa0787
jmp 0xa078b
movq 0x8(%r15), %r12
decl (%r15)
jne 0xa021c
movq %r15, %rdi
callq 0x5030
leaq -0x30(%rbp), %rdx
movq %r14, %rdi
movq %r12, %rsi
callq 0x946d0
cmpl $0x4, %eax
ja 0xa079d
movq -0x30(%rbp), %r14
movl %eax, %eax
leaq 0x3f84b(%rip), %rcx     # 0xdfa8c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rdx, %rdi
callq 0x9cf01
movq %rax, %rdi
callq 0x9f7f4
jmp 0xa02b3
movq %rdx, %rdi
callq 0x9cfb2
movq %rax, %rdi
callq 0xa0aa1
jmp 0xa02b3
movq %rdx, %rdi
callq 0x9cf3c
leaq -0x38(%rbp), %r15
movq %r14, %rdi
movq %rax, %rsi
movq %r15, %rdx
callq 0xa00ca
movq (%r15), %r14
jmp 0xa078b
movq %rdx, %rdi
callq 0x9cf77
movq %rax, %rdi
callq 0xa0a0d
jmp 0xa02b3
decl (%rdx)
jne 0xa02ae
movq %rdx, %rdi
callq 0x5030
callq 0x9fd3a
movq %rax, %rdi
movq %rdx, %rsi
callq 0x9189
jmp 0xa078b
movq 0x1076b36(%rip), %rax   # 0x1116e00
testq %rax, %rax
jne 0xa0778
movl $0x1, %edi
callq 0xf5e4
movq $0x1, 0x10(%rax)
movb $0x38, 0x18(%rax)
movq %rax, 0x1076b10(%rip)   # 0x1116e00
jmp 0xa0778
movq 0x1076af4(%rip), %rax   # 0x1116df0
testq %rax, %rax
jne 0xa0778
movl $0x1, %edi
callq 0xf5e4
movq $0x1, 0x10(%rax)
movb $0x38, 0x18(%rax)
movq %rax, 0x1076ace(%rip)   # 0x1116df0
jmp 0xa0778
movq 0x1076aaa(%rip), %rax   # 0x1116dd8
testq %rax, %rax
jne 0xa0778
movl $0x1, %edi
callq 0xf5e4
movq $0x1, 0x10(%rax)
movb $0x31, 0x18(%rax)
movq %rax, 0x1076a84(%rip)   # 0x1116dd8
jmp 0xa0778
movq 0x1076a40(%rip), %rax   # 0x1116da0
testq %rax, %rax
jne 0xa0778
movl $0xb, %edi
callq 0xf5e4
movq $0xb, 0x10(%rax)
movabsq $0x425f454449525453, %rcx # imm = 0x425F454449525453
movq %rcx, 0x18(%rax)
movl $0x4c4f4f42, 0x1f(%rax) # imm = 0x4C4F4F42
movq %rax, 0x1076a09(%rip)   # 0x1116da0
jmp 0xa0778
movq 0x1076a3d(%rip), %rax   # 0x1116de0
testq %rax, %rax
jne 0xa0778
movl $0x1, %edi
callq 0xf5e4
movq $0x1, 0x10(%rax)
movb $0x32, 0x18(%rax)
movq %rax, 0x1076a17(%rip)   # 0x1116de0
jmp 0xa0778
movq 0x10769f3(%rip), %rax   # 0x1116dc8
testq %rax, %rax
jne 0xa0778
movl $0x1, %edi
callq 0xf5e4
movq $0x1, 0x10(%rax)
movb $0x34, 0x18(%rax)
movq %rax, 0x10769cd(%rip)   # 0x1116dc8
jmp 0xa0778
movq 0x1076989(%rip), %rax   # 0x1116d90
testq %rax, %rax
jne 0xa0778
movl $0xb, %edi
callq 0xf5e4
movq $0xb, 0x10(%rax)
movabsq $0x555f454449525453, %rcx # imm = 0x555F454449525453
movq %rcx, 0x18(%rax)
movl $0x54494e55, 0x1f(%rax) # imm = 0x54494E55
movq %rax, 0x1076952(%rip)   # 0x1116d90
jmp 0xa0778
movq 0x10769ae(%rip), %rax   # 0x1116df8
testq %rax, %rax
jne 0xa0778
movl $0x1, %edi
callq 0xf5e4
movq $0x1, 0x10(%rax)
movb $0x34, 0x18(%rax)
movq %rax, 0x1076988(%rip)   # 0x1116df8
jmp 0xa0778
movq 0x107691c(%rip), %rax   # 0x1116d98
testq %rax, %rax
jne 0xa0778
movl $0xb, %edi
callq 0xf5e4
movq $0xb, 0x10(%rax)
movabsq $0x555f454449525453, %rcx # imm = 0x555F454449525453
movq %rcx, 0x18(%rax)
movl $0x54494e55, 0x1f(%rax) # imm = 0x54494E55
movq %rax, 0x10768e5(%rip)   # 0x1116d98
jmp 0xa0778
movq 0x10768f9(%rip), %rax   # 0x1116db8
testq %rax, %rax
jne 0xa0778
movl $0x1, %edi
callq 0xf5e4
movq $0x1, 0x10(%rax)
movb $0x31, 0x18(%rax)
movq %rax, 0x10768d3(%rip)   # 0x1116db8
jmp 0xa0778
movq 0x1076897(%rip), %rax   # 0x1116d88
testq %rax, %rax
jne 0xa0778
movl $0xb, %edi
callq 0xf5e4
movq $0xb, 0x10(%rax)
movabsq $0x555f454449525453, %rcx # imm = 0x555F454449525453
movq %rcx, 0x18(%rax)
movl $0x54494e55, 0x1f(%rax) # imm = 0x54494E55
movq %rax, 0x1076860(%rip)   # 0x1116d88
jmp 0xa0778
movq 0x10768dc(%rip), %rax   # 0x1116e10
testq %rax, %rax
jne 0xa0778
movl $0xd, %edi
callq 0xf5e4
movq $0xd, 0x10(%rax)
movabsq $0x7628666f657a6973, %rcx # imm = 0x7628666F657A6973
movq %rcx, 0x18(%rax)
movabsq $0x292a64696f762866, %rcx # imm = 0x292A64696F762866
movq %rcx, 0x1d(%rax)
movq %rax, 0x107689e(%rip)   # 0x1116e10
jmp 0xa0778
movq 0x10768a2(%rip), %rax   # 0x1116e20
testq %rax, %rax
jne 0xa0778
movl $0xb, %edi
callq 0xf5e4
movq $0xb, 0x10(%rax)
movabsq $0x555f454449525453, %rcx # imm = 0x555F454449525453
movq %rcx, 0x18(%rax)
movl $0x54494e55, 0x1f(%rax) # imm = 0x54494E55
movq %rax, 0x107686b(%rip)   # 0x1116e20
jmp 0xa0778
movq 0x10767e7(%rip), %rax   # 0x1116da8
testq %rax, %rax
jne 0xa0778
movl $0x1, %edi
callq 0xf5e4
movq $0x1, 0x10(%rax)
movb $0x38, 0x18(%rax)
movq %rax, 0x10767c1(%rip)   # 0x1116da8
jmp 0xa0778
movq 0x1076835(%rip), %rax   # 0x1116e28
testq %rax, %rax
jne 0xa0778
movl $0xb, %edi
callq 0xf5e4
movq $0xb, 0x10(%rax)
movabsq $0x555f454449525453, %rcx # imm = 0x555F454449525453
movq %rcx, 0x18(%rax)
movl $0x54494e55, 0x1f(%rax) # imm = 0x54494E55
movq %rax, 0x10767fe(%rip)   # 0x1116e28
jmp 0xa0778
movq 0x10767b2(%rip), %rax   # 0x1116de8
testq %rax, %rax
jne 0xa0778
movl $0x1, %edi
callq 0xf5e4
movq $0x1, 0x10(%rax)
movb $0x34, 0x18(%rax)
movq %rax, 0x107678c(%rip)   # 0x1116de8
jmp 0xa0778
movq 0x1076748(%rip), %rax   # 0x1116db0
testq %rax, %rax
jne 0xa0778
movl $0x1, %edi
callq 0xf5e4
movq $0x1, 0x10(%rax)
movb $0x38, 0x18(%rax)
movq %rax, 0x1076722(%rip)   # 0x1116db0
jmp 0xa0778
movq 0x107677e(%rip), %rax   # 0x1116e18
testq %rax, %rax
jne 0xa0778
movl $0xd, %edi
callq 0xf5e4
movq $0xd, 0x10(%rax)
movabsq $0x7628666f657a6973, %rcx # imm = 0x7628666F657A6973
movq %rcx, 0x18(%rax)
movabsq $0x292a64696f762866, %rcx # imm = 0x292A64696F762866
movq %rcx, 0x1d(%rax)
movq %rax, 0x1076740(%rip)   # 0x1116e18
jmp 0xa0778
movq 0x10766ec(%rip), %rax   # 0x1116dd0
testq %rax, %rax
jne 0xa0778
movl $0x1, %edi
callq 0xf5e4
movq $0x1, 0x10(%rax)
movb $0x38, 0x18(%rax)
movq %rax, 0x10766c6(%rip)   # 0x1116dd0
jmp 0xa0778
movq 0x10766ad(%rip), %rax   # 0x1116dc0
testq %rax, %rax
jne 0xa0778
movl $0x1, %edi
callq 0xf5e4
movq $0x1, 0x10(%rax)
movb $0x32, 0x18(%rax)
movq %rax, 0x107668b(%rip)   # 0x1116dc0
jmp 0xa0778
movq 0x10766ca(%rip), %rax   # 0x1116e08
testq %rax, %rax
jne 0xa0778
movl $0xd, %edi
callq 0xf5e4
movq $0xd, 0x10(%rax)
movabsq $0x7628666f657a6973, %rcx # imm = 0x7628666F657A6973
movq %rcx, 0x18(%rax)
movabsq $0x292a64696f762866, %rcx # imm = 0x292A64696F762866
movq %rcx, 0x1d(%rax)
movq %rax, 0x1076690(%rip)   # 0x1116e08
andq %rax, %r12
setne %cl
testb $0x3, %al
sete %dl
testb %dl, %cl
je 0xa078b
incl (%r12)
movq %r14, (%rbx)
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x20, %edi
callq 0xf5e4
movq $0x20, 0x10(%rax)
movups 0x3ff17(%rip), %xmm0    # 0xe06cd
movups %xmm0, 0x18(%rax)
movups 0x3ff1c(%rip), %xmm0    # 0xe06dd
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x9302