// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_prim_Array_1_set
static ARR* mw_std_prim_Array_1_set (VAL in_a_1, INT in_Nat_2, ARR* in_Array_3) {
	INT v5 = in_Nat_2;
	INT v6 = WRAP_I63(0LL);
	INT v7 = WRAP_I63(-1LL);
	uint64_t v8 = int_to_u64(v7);
	INT v9 = u64_to_int(v8);
	incref(MKINT(v5));
	incref(MKINT(v6));
	bool v10 = int_lt(v5, v6);
	INT branch_Int_11;
	if (v10) {
		decref(MKINT(v5));
		branch_Int_11 = v6;
	} else {
		decref(MKINT(v6));
		branch_Int_11 = v5;
	}
	incref(MKINT(branch_Int_11));
	incref(MKINT(v9));
	bool v12 = int_lt(v9, branch_Int_11);
	INT branch_Int_13;
	if (v12) {
		decref(MKINT(branch_Int_11));
		branch_Int_13 = v9;
	} else {
		decref(MKINT(v9));
		branch_Int_13 = branch_Int_11;
	}
	uint64_t v14 = int_to_u64(branch_Int_13);
	ARR* v15 = arr_set(in_Array_3, v14, in_a_1);
	return v15;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2c0, %rsp            # imm = 0x2C0
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movq 0x32b6d6(%rip), %rax    # 0x36ea50
movq %rax, -0x30(%rbp)
movq 0x32b6eb(%rip), %rax    # 0x36ea70
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
callq 0x1b680
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
callq 0x1b520
movq %rax, -0x48(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x34e076(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x4344e
movq -0x28(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x34e04d(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rax
cmpq $0x0, %rax
je 0x4344e
movq -0x28(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq 0x34e022(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x70(%rbp)
movq -0x78(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x4344e
movq -0x28(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq 0x34dffa(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x80(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x88(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x43450
jmp 0x43452
movq -0x30(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq 0x34dfc4(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x4351b
movq -0x30(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq 0x34df92(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0xa0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xa8(%rbp), %rax
cmpq $0x0, %rax
je 0x4351b
movq -0x30(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq 0x34df5e(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0xb0(%rbp)
movq -0xb8(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x4351b
movq -0x30(%rbp), %rax
movq %rax, -0xc8(%rbp)
leaq 0x34df30(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0xc0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xc8(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x4351d
movq -0x28(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0xae20
andb $0x1, %al
movb %al, -0xc9(%rbp)
testb $0x1, -0xc9(%rbp)
je 0x43657
jmp 0x43541
movq -0x28(%rbp), %rax
movq %rax, -0xe8(%rbp)
leaq 0x34ded5(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0xe0(%rbp)
movq -0xe0(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x43645
movq -0x28(%rbp), %rax
movq %rax, -0xf8(%rbp)
leaq 0x34dea3(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0xf0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xf8(%rbp), %rax
cmpq $0x0, %rax
je 0x43645
movq -0x28(%rbp), %rax
movq %rax, -0x108(%rbp)
leaq 0x34de6b(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x100(%rbp)
movq -0x108(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x43645
movq -0x28(%rbp), %rax
movq %rax, -0x118(%rbp)
leaq 0x34de3d(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x110(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x118(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x43643
movq -0x28(%rbp), %rax
movq %rax, -0x128(%rbp)
leaq 0x34de03(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x120(%rbp)
movq -0x128(%rbp), %rdi
movq -0x120(%rbp), %rsi
callq 0x127c0
jmp 0x43645
jmp 0x43647
movq -0x30(%rbp), %rax
movq %rax, -0xd8(%rbp)
jmp 0x4376a
jmp 0x43659
movq -0x30(%rbp), %rax
movq %rax, -0x138(%rbp)
leaq 0x34ddbd(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x130(%rbp)
movq -0x130(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x4375d
movq -0x30(%rbp), %rax
movq %rax, -0x148(%rbp)
leaq 0x34dd8b(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x140(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x148(%rbp), %rax
cmpq $0x0, %rax
je 0x4375d
movq -0x30(%rbp), %rax
movq %rax, -0x158(%rbp)
leaq 0x34dd53(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x4375d
movq -0x30(%rbp), %rax
movq %rax, -0x168(%rbp)
leaq 0x34dd25(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x160(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x168(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x4375b
movq -0x30(%rbp), %rax
movq %rax, -0x178(%rbp)
leaq 0x34dceb(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x170(%rbp)
movq -0x178(%rbp), %rdi
movq -0x170(%rbp), %rsi
callq 0x127c0
jmp 0x4375d
jmp 0x4375f
movq -0x28(%rbp), %rax
movq %rax, -0xd8(%rbp)
jmp 0x4376c
movq -0xd8(%rbp), %rax
movq %rax, -0x188(%rbp)
leaq 0x34dca7(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x180(%rbp)
movq -0x180(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x43841
movq -0xd8(%rbp), %rax
movq %rax, -0x198(%rbp)
leaq 0x34dc72(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x190(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x198(%rbp), %rax
cmpq $0x0, %rax
je 0x43841
movq -0xd8(%rbp), %rax
movq %rax, -0x1a8(%rbp)
leaq 0x34dc3b(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x1a0(%rbp)
movq -0x1a8(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x43841
movq -0xd8(%rbp), %rax
movq %rax, -0x1b8(%rbp)
leaq 0x34dc0a(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x1b0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x1b8(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x43843
jmp 0x43845
movq -0x48(%rbp), %rax
movq %rax, -0x1c8(%rbp)
leaq 0x34dbd1(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x1c0(%rbp)
movq -0x1c0(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x4390e
movq -0x48(%rbp), %rax
movq %rax, -0x1d8(%rbp)
leaq 0x34db9f(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x1d0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x1d8(%rbp), %rax
cmpq $0x0, %rax
je 0x4390e
movq -0x48(%rbp), %rax
movq %rax, -0x1e8(%rbp)
leaq 0x34db6b(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x1e0(%rbp)
movq -0x1e8(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x4390e
movq -0x48(%rbp), %rax
movq %rax, -0x1f8(%rbp)
leaq 0x34db3d(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x1f0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x1f8(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x43910
movq -0x48(%rbp), %rdi
movq -0xd8(%rbp), %rsi
callq 0xae20
andb $0x1, %al
movb %al, -0x1f9(%rbp)
testb $0x1, -0x1f9(%rbp)
je 0x43a5c
jmp 0x43937
movq -0xd8(%rbp), %rax
movq %rax, -0x218(%rbp)
leaq 0x34dadc(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x210(%rbp)
movq -0x210(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x43a4a
movq -0xd8(%rbp), %rax
movq %rax, -0x228(%rbp)
leaq 0x34daa7(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x220(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x228(%rbp), %rax
cmpq $0x0, %rax
je 0x43a4a
movq -0xd8(%rbp), %rax
movq %rax, -0x238(%rbp)
leaq 0x34da6c(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x230(%rbp)
movq -0x238(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x43a4a
movq -0xd8(%rbp), %rax
movq %rax, -0x248(%rbp)
leaq 0x34da3b(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x240(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x248(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x43a48
movq -0xd8(%rbp), %rax
movq %rax, -0x258(%rbp)
leaq 0x34d9fe(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x250(%rbp)
movq -0x258(%rbp), %rdi
movq -0x250(%rbp), %rsi
callq 0x127c0
jmp 0x43a4a
jmp 0x43a4c
movq -0x48(%rbp), %rax
movq %rax, -0x208(%rbp)
jmp 0x43b72
jmp 0x43a5e
movq -0x48(%rbp), %rax
movq %rax, -0x268(%rbp)
leaq 0x34d9b8(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x260(%rbp)
movq -0x260(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x43b62
movq -0x48(%rbp), %rax
movq %rax, -0x278(%rbp)
leaq 0x34d986(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x270(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x278(%rbp), %rax
cmpq $0x0, %rax
je 0x43b62
movq -0x48(%rbp), %rax
movq %rax, -0x288(%rbp)
leaq 0x34d94e(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x280(%rbp)
movq -0x288(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x43b62
movq -0x48(%rbp), %rax
movq %rax, -0x298(%rbp)
leaq 0x34d920(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x290(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x298(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x43b60
movq -0x48(%rbp), %rax
movq %rax, -0x2a8(%rbp)
leaq 0x34d8e6(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x2a0(%rbp)
movq -0x2a8(%rbp), %rdi
movq -0x2a0(%rbp), %rsi
callq 0x127c0
jmp 0x43b62
jmp 0x43b64
movq -0xd8(%rbp), %rax
movq %rax, -0x208(%rbp)
movq -0x208(%rbp), %rdi
callq 0x1b680
movq %rax, -0x2b0(%rbp)
movq -0x20(%rbp), %rdi
movq -0x2b0(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq -0x8(%rbp), %rcx
callq 0x43bc0
movq %rax, -0x2b8(%rbp)
movq -0x2b8(%rbp), %rax
addq $0x2c0, %rsp            # imm = 0x2C0
popq %rbp
retq
nopw %cs:(%rax,%rax)