// File: /workspace/github_c_makefile_star2_O2/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 0x977a5
incl (%rax)
movq %rsi, %rax
andq %r12, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x977cf
decl (%rax)
jne 0x977cf
leaq 0x7268d(%rip), %rax     # 0x109e51
movq %rsi, %rdi
movq %rax, %rsi
callq 0xce94
testl %r13d, %r13d
je 0x97878
cmpl $0x1, %r13d
je 0x97836
cmpl $0x2, %r13d
jne 0x97cb5
movq %r15, %rdi
callq 0x17cce
cmpl $0x15, %eax
ja 0x97cb5
movl %eax, %eax
leaq 0x3c2be(%rip), %rcx     # 0xd3ac0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x1076576(%rip), %rax   # 0x110dd88
testq %rax, %rax
jne 0x97c90
leaq 0x55cc4(%rip), %rdi     # 0xed4e6
pushq $0xb
popq %rsi
callq 0x8a21
movq %rax, 0x1076557(%rip)   # 0x110dd88
jmp 0x97c90
movq %r15, %rdi
callq 0x17cb1
movq 0x107653b(%rip), %rax   # 0x110dd80
testq %rax, %rax
jne 0x97860
leaq 0x55f48(%rip), %rdi     # 0xed799
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, 0x1076520(%rip)   # 0x110dd80
andq %rax, %r12
sete %cl
testb $0x3, %al
setne %dl
orb %cl, %dl
je 0x97c9f
jmp 0x97ca3
movq %r15, %rdi
callq 0x17c94
leaq -0x30(%rbp), %rdx
movq %r14, %rdi
movq %rax, %rsi
callq 0x8cba8
cmpl $0x4, %eax
ja 0x97cb5
movq -0x30(%rbp), %r14
movl %eax, %eax
leaq 0x3c207(%rip), %rcx     # 0xd3aac
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rdx, %rdi
callq 0x94a52
movq %rax, %rdi
callq 0x96f45
jmp 0x97913
movq %rdx, %rdi
callq 0x94b20
movq %rax, %rdi
callq 0x97f9a
jmp 0x97913
movq %rdx, %rdi
callq 0x94aaa
leaq -0x38(%rbp), %r15
movq %r14, %rdi
movq %rax, %rsi
movq %r15, %rdx
callq 0x97766
movq (%r15), %r14
jmp 0x97ca3
movq %rdx, %rdi
callq 0x94ae5
movq %rax, %rdi
callq 0x97f25
jmp 0x97913
movq %rdx, %rdi
callq 0x94a8d
callq 0x97422
movq %rax, %rdi
movq %rdx, %rsi
callq 0x8b55
jmp 0x97ca3
movq 0x10764de(%rip), %rax   # 0x110de08
testq %rax, %rax
jne 0x97c90
leaq 0x55e5f(%rip), %rdi     # 0xed799
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, 0x10764bf(%rip)   # 0x110de08
jmp 0x97c90
movq 0x10764a3(%rip), %rax   # 0x110ddf8
testq %rax, %rax
jne 0x97c90
leaq 0x55e34(%rip), %rdi     # 0xed799
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, 0x1076484(%rip)   # 0x110ddf8
jmp 0x97c90
movq 0x1076460(%rip), %rax   # 0x110dde0
testq %rax, %rax
jne 0x97c90
leaq 0x3f6d7(%rip), %rdi     # 0xd7067
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, 0x1076441(%rip)   # 0x110dde0
jmp 0x97c90
movq 0x10763fd(%rip), %rax   # 0x110dda8
testq %rax, %rax
jne 0x97c90
leaq 0x55b6f(%rip), %rdi     # 0xed52a
pushq $0xb
popq %rsi
callq 0x8a21
movq %rax, 0x10763de(%rip)   # 0x110dda8
jmp 0x97c90
movq 0x1076412(%rip), %rax   # 0x110dde8
testq %rax, %rax
jne 0x97c90
leaq 0x5722a(%rip), %rdi     # 0xeec10
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, 0x10763f3(%rip)   # 0x110dde8
jmp 0x97c90
movq 0x10763cf(%rip), %rax   # 0x110ddd0
testq %rax, %rax
jne 0x97c90
leaq 0x571eb(%rip), %rdi     # 0xeebfc
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, 0x10763b0(%rip)   # 0x110ddd0
jmp 0x97c90
movq 0x107636c(%rip), %rax   # 0x110dd98
testq %rax, %rax
jne 0x97c90
leaq 0x55aaa(%rip), %rdi     # 0xed4e6
pushq $0xb
popq %rsi
callq 0x8a21
movq %rax, 0x107634d(%rip)   # 0x110dd98
jmp 0x97c90
movq 0x10763a9(%rip), %rax   # 0x110de00
testq %rax, %rax
jne 0x97c90
leaq 0x57195(%rip), %rdi     # 0xeebfc
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, 0x107638a(%rip)   # 0x110de00
jmp 0x97c90
movq 0x107631e(%rip), %rax   # 0x110dda0
testq %rax, %rax
jne 0x97c90
leaq 0x55a54(%rip), %rdi     # 0xed4e6
pushq $0xb
popq %rsi
callq 0x8a21
movq %rax, 0x10762ff(%rip)   # 0x110dda0
jmp 0x97c90
movq 0x1076313(%rip), %rax   # 0x110ddc0
testq %rax, %rax
jne 0x97c90
leaq 0x3f5aa(%rip), %rdi     # 0xd7067
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, 0x10762f4(%rip)   # 0x110ddc0
jmp 0x97c90
movq 0x10762b8(%rip), %rax   # 0x110dd90
testq %rax, %rax
jne 0x97c90
leaq 0x559fe(%rip), %rdi     # 0xed4e6
pushq $0xb
popq %rsi
callq 0x8a21
movq %rax, 0x1076299(%rip)   # 0x110dd90
jmp 0x97c90
movq 0x1076315(%rip), %rax   # 0x110de18
testq %rax, %rax
jne 0x97c90
leaq 0x55a23(%rip), %rdi     # 0xed536
pushq $0xd
popq %rsi
callq 0x8a21
movq %rax, 0x10762f6(%rip)   # 0x110de18
jmp 0x97c90
movq 0x10762fa(%rip), %rax   # 0x110de28
testq %rax, %rax
jne 0x97c90
leaq 0x559a8(%rip), %rdi     # 0xed4e6
pushq $0xb
popq %rsi
callq 0x8a21
movq %rax, 0x10762db(%rip)   # 0x110de28
jmp 0x97c90
movq 0x1076257(%rip), %rax   # 0x110ddb0
testq %rax, %rax
jne 0x97c90
leaq 0x55c30(%rip), %rdi     # 0xed799
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, 0x1076238(%rip)   # 0x110ddb0
jmp 0x97c90
movq 0x10762ac(%rip), %rax   # 0x110de30
testq %rax, %rax
jne 0x97c90
leaq 0x55952(%rip), %rdi     # 0xed4e6
pushq $0xb
popq %rsi
callq 0x8a21
movq %rax, 0x107628d(%rip)   # 0x110de30
jmp 0x97c90
movq 0x1076241(%rip), %rax   # 0x110ddf0
testq %rax, %rax
jne 0x97c90
leaq 0x5703d(%rip), %rdi     # 0xeebfc
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, 0x1076222(%rip)   # 0x110ddf0
jmp 0x97c90
movq 0x10761de(%rip), %rax   # 0x110ddb8
testq %rax, %rax
jne 0x97c90
leaq 0x55baf(%rip), %rdi     # 0xed799
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, 0x10761bf(%rip)   # 0x110ddb8
jmp 0x97c90
movq 0x107621b(%rip), %rax   # 0x110de20
testq %rax, %rax
jne 0x97c90
leaq 0x55921(%rip), %rdi     # 0xed536
pushq $0xd
popq %rsi
callq 0x8a21
movq %rax, 0x10761fc(%rip)   # 0x110de20
jmp 0x97c90
movq 0x10761ab(%rip), %rax   # 0x110ddd8
testq %rax, %rax
jne 0x97c90
leaq 0x55b60(%rip), %rdi     # 0xed799
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, 0x1076190(%rip)   # 0x110ddd8
jmp 0x97c90
movq 0x1076177(%rip), %rax   # 0x110ddc8
testq %rax, %rax
jne 0x97c90
leaq 0x56fb3(%rip), %rdi     # 0xeec10
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, 0x107615c(%rip)   # 0x110ddc8
jmp 0x97c90
movq 0x107619b(%rip), %rax   # 0x110de10
testq %rax, %rax
jne 0x97c90
leaq 0x558b5(%rip), %rdi     # 0xed536
pushq $0xd
popq %rsi
callq 0x8a21
movq %rax, 0x1076180(%rip)   # 0x110de10
andq %rax, %r12
setne %cl
testb $0x3, %al
sete %dl
testb %dl, %cl
je 0x97ca3
incl (%r12)
movq %r14, (%rbx)
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x3cb51(%rip), %rdi     # 0xd480d
pushq $0x20
popq %rsi
callq 0x8a21
movq %rax, %rdi
callq 0x8cc6