// File: /workspace/github_c_makefile_star2_O2/ender672[P]liboil/oil_resample.c
// Function: oil_scale_out
void oil_scale_out(struct oil_scale *os, unsigned char *out)
{
	int i, sl_len;
	float *in[4];

	if (os->out_height <= os->in_height) {
		yscale_out(os->sums_y, os->out_width, out, os->cs);
	} else {
		sl_len = OIL_CMP(os->cs) * os->out_width;
		for (i=0; i<4; i++) {
			in[i] = get_rb_line(os, (os->in_pos + i) % 4);
		}
		yscale_up(in, sl_len, os->coeffs_y + os->out_pos * 4, out,
			os->cs);
		os->borders_y[os->in_pos - 1] -= 1;
	}

	os->out_pos++;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rsi, %r14
movl 0x4(%rdi), %eax
cmpl (%rdi), %eax
movq %rdi, 0x40(%rsp)
jle 0x237b
movl 0x10(%rdi), %r11d
movl 0x14(%rdi), %ecx
movzbl %r11b, %esi
movq 0x48(%rdi), %r8
imull 0xc(%rdi), %esi
xorl %r9d, %r9d
pushq $0x4
popq %r10
cmpq $0x4, %r9
je 0x2444
leal (%rcx,%r9), %eax
cltd
idivl %r10d
imull %esi, %edx
movslq %edx, %rax
leaq (%r8,%rax,4), %rax
movq %rax, 0x10(%rsp,%r9,8)
incq %r9
jmp 0x2355
movq 0x40(%rdi), %r15
movl 0xc(%rdi), %r12d
movl 0x10(%rdi), %ecx
movzbl %cl, %eax
imull %r12d, %eax
leal -0x3(%rcx), %edx
cmpl $0x2, %edx
jb 0x267c
cmpl $0x204, %ecx            # imm = 0x204
je 0x23bf
cmpl $0x2, %ecx
je 0x2753
cmpl $0x104, %ecx            # imm = 0x104
je 0x271f
cmpl $0x1, %ecx
jne 0x2c45
xorl %ecx, %ecx
testl %eax, %eax
cmovlel %ecx, %eax
movss 0x2cb2(%rip), %xmm0     # 0x5080
movss 0x2cba(%rip), %xmm1     # 0x5090
movss 0x2cae(%rip), %xmm2     # 0x508c
movss 0x2cae(%rip), %xmm3     # 0x5094
cmpq %rcx, %rax
je 0x2c45
movss (%r15), %xmm4
xorps %xmm5, %xmm5
maxss %xmm4, %xmm5
mulss %xmm0, %xmm5
addss %xmm1, %xmm5
movaps %xmm2, %xmm6
cmpltss %xmm4, %xmm6
movaps %xmm6, %xmm4
andnps %xmm5, %xmm4
andps %xmm3, %xmm6
orps %xmm4, %xmm6
cvttss2si %xmm6, %edx
movb %dl, (%r14,%rcx)
movsd 0x4(%r15), %xmm4
movsd %xmm4, (%r15)
movss 0xc(%r15), %xmm4
movss %xmm4, 0x8(%r15)
andl $0x0, 0xc(%r15)
addq $0x10, %r15
incq %rcx
jmp 0x23e6
movq 0x20(%rdi), %rax
movslq 0x18(%rdi), %rcx
shlq $0x2, %rcx
leal -0x1(%r11), %edx
cmpl $0x3, %edx
ja 0x25b3
leaq 0x2c70(%rip), %rdi      # 0x50d4
movslq (%rdi,%rdx,4), %rdx
addq %rdi, %rdx
jmpq *%rdx
movslq %esi, %rdx
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdi
movq 0x20(%rsp), %r8
movq 0x28(%rsp), %r9
xorl %r10d, %r10d
xorps %xmm0, %xmm0
movss 0x2bfa(%rip), %xmm1     # 0x508c
movss 0x2be6(%rip), %xmm2     # 0x5080
movss 0x2bee(%rip), %xmm3     # 0x5090
movss 0x2bea(%rip), %xmm4     # 0x5094
cmpq %rdx, %r10
jge 0x2c34
movss (%rax,%rcx,4), %xmm5
movss 0x4(%rax,%rcx,4), %xmm6
movss 0x8(%rax,%rcx,4), %xmm7
movss 0xc(%rax,%rcx,4), %xmm8
xorl %r11d, %r11d
cmpq $0x8, %r11
je 0x251c
movss (%rdi,%r11), %xmm9
mulss %xmm6, %xmm9
movss (%rsi,%r11), %xmm10
mulss %xmm5, %xmm10
addss %xmm9, %xmm10
movss (%r8,%r11), %xmm9
mulss %xmm7, %xmm9
addss %xmm10, %xmm9
movss (%r9,%r11), %xmm10
mulss %xmm8, %xmm10
addss %xmm9, %xmm10
movss %xmm10, 0x30(%rsp,%r11)
addq $0x4, %r11
jmp 0x24ce
movss 0x30(%rsp), %xmm6
movss 0x34(%rsp), %xmm7
xorps %xmm8, %xmm8
maxss %xmm7, %xmm8
movaps %xmm1, %xmm5
cmpltss %xmm7, %xmm5
movaps %xmm5, %xmm7
andnps %xmm8, %xmm7
andps %xmm1, %xmm5
orps %xmm7, %xmm5
ucomiss %xmm0, %xmm5
jne 0x254d
jnp 0x2557
divss %xmm5, %xmm6
movss %xmm6, 0x30(%rsp)
xorps %xmm7, %xmm7
maxss %xmm6, %xmm7
mulss %xmm2, %xmm7
addss %xmm3, %xmm7
movaps %xmm1, %xmm8
cmpltss %xmm6, %xmm8
movaps %xmm8, %xmm6
andnps %xmm7, %xmm6
andps %xmm4, %xmm8
orps %xmm6, %xmm8
cvttss2si %xmm8, %r11d
movb %r11b, (%r14,%r10)
mulss %xmm2, %xmm5
addss %xmm3, %xmm5
cvttss2si %xmm5, %r11d
movb %r11b, 0x1(%r14,%r10)
addq $0x2, %r10
addq $0x8, %r9
addq $0x8, %r8
addq $0x8, %rdi
addq $0x8, %rsi
jmp 0x24aa
cmpl $0x104, %r11d           # imm = 0x104
je 0x26eb
cmpl $0x204, %r11d           # imm = 0x204
jne 0x2c34
xorl %edx, %edx
testl %esi, %esi
cmovlel %edx, %esi
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %r8
movq 0x20(%rsp), %r9
movq 0x28(%rsp), %r10
movss 0x2a90(%rip), %xmm0     # 0x5080
movss 0x2a98(%rip), %xmm1     # 0x5090
movss 0x2a8c(%rip), %xmm2     # 0x508c
movss 0x2a8c(%rip), %xmm3     # 0x5094
cmpq %rdx, %rsi
je 0x2c34
movss (%rax,%rcx,4), %xmm4
movss 0x4(%rax,%rcx,4), %xmm5
mulss (%r8,%rdx,4), %xmm5
mulss (%rdi,%rdx,4), %xmm4
movss 0x8(%rax,%rcx,4), %xmm6
mulss (%r9,%rdx,4), %xmm6
addss %xmm5, %xmm4
movss 0xc(%rax,%rcx,4), %xmm5
mulss (%r10,%rdx,4), %xmm5
addss %xmm4, %xmm6
addss %xmm6, %xmm5
xorps %xmm4, %xmm4
maxss %xmm5, %xmm4
mulss %xmm0, %xmm4
addss %xmm1, %xmm4
movaps %xmm2, %xmm6
cmpltss %xmm5, %xmm6
movaps %xmm6, %xmm5
andnps %xmm4, %xmm5
andps %xmm3, %xmm6
orps %xmm5, %xmm6
cvttss2si %xmm6, %r11d
movb %r11b, (%r14,%rdx)
incq %rdx
jmp 0x2608
cmpb $0x0, 0x4e2d(%rip)      # 0x74b0
jne 0x268f
movss 0x29fb(%rip), %xmm0     # 0x5088
jmp 0x2697
movss 0x29ed(%rip), %xmm0     # 0x5084
movq 0xce22(%rip), %rcx      # 0xf4c0
xorl %edx, %edx
testl %eax, %eax
cmovlel %edx, %eax
cmpq %rdx, %rax
je 0x2c45
movss (%r15), %xmm1
mulss %xmm0, %xmm1
cvttss2si %xmm1, %esi
movslq %esi, %rsi
movb (%rcx,%rsi), %sil
movb %sil, (%r14,%rdx)
movsd 0x4(%r15), %xmm1
movsd %xmm1, (%r15)
movss 0xc(%r15), %xmm1
movss %xmm1, 0x8(%r15)
andl $0x0, 0xc(%r15)
addq $0x10, %r15
incq %rdx
jmp 0x26a5
cmpb $0x0, 0x4dbe(%rip)      # 0x74b0
jne 0x2858
movss 0x2988(%rip), %xmm0     # 0x5088
jmp 0x2860
cmpb $0x0, 0x4da4(%rip)      # 0x74b0
jne 0x29d0
movss 0x296e(%rip), %xmm0     # 0x5088
jmp 0x29d8
cmpb $0x0, 0x4d8a(%rip)      # 0x74b0
jne 0x2a55
movss 0x2954(%rip), %xmm0     # 0x5088
jmp 0x2a5d
cmpb $0x0, 0x4d70(%rip)      # 0x74b0
jne 0x2b84
movss 0x293a(%rip), %xmm0     # 0x5088
jmp 0x2b8c
xorl %eax, %eax
testl %r12d, %r12d
cmovlel %eax, %r12d
addq $0x1c, %r15
xorps %xmm0, %xmm0
movss 0x2921(%rip), %xmm1     # 0x508c
movss 0x290d(%rip), %xmm2     # 0x5080
movss 0x2915(%rip), %xmm3     # 0x5090
movss 0x2911(%rip), %xmm4     # 0x5094
cmpl %eax, %r12d
je 0x2c45
movss -0x1c(%r15), %xmm6
movss -0xc(%r15), %xmm7
xorps %xmm8, %xmm8
maxss %xmm7, %xmm8
movaps %xmm1, %xmm5
cmpltss %xmm7, %xmm5
movaps %xmm5, %xmm7
andnps %xmm8, %xmm7
andps %xmm1, %xmm5
orps %xmm7, %xmm5
movaps %xmm6, %xmm7
divss %xmm5, %xmm7
movaps %xmm5, %xmm8
cmpneqss %xmm0, %xmm8
andps %xmm8, %xmm7
andnps %xmm6, %xmm8
orps %xmm7, %xmm8
xorps %xmm6, %xmm6
maxss %xmm8, %xmm6
mulss %xmm2, %xmm6
addss %xmm3, %xmm6
movaps %xmm1, %xmm7
cmpltss %xmm8, %xmm7
movaps %xmm7, %xmm8
andnps %xmm6, %xmm8
andps %xmm4, %xmm7
orps %xmm8, %xmm7
cvttss2si %xmm7, %ecx
movb %cl, (%r14,%rax,2)
movsd -0x18(%r15), %xmm6
movsd %xmm6, -0x1c(%r15)
movss -0x10(%r15), %xmm6
movss %xmm6, -0x14(%r15)
andl $0x0, -0x10(%r15)
mulss %xmm2, %xmm5
addss %xmm3, %xmm5
cvttss2si %xmm5, %ecx
movb %cl, 0x1(%r14,%rax,2)
movsd -0x8(%r15), %xmm5
movsd %xmm5, -0xc(%r15)
movss (%r15), %xmm5
movss %xmm5, -0x4(%r15)
andl $0x0, (%r15)
incq %rax
addq $0x20, %r15
jmp 0x2783
movss 0x2824(%rip), %xmm0     # 0x5084
movq 0xcc59(%rip), %rdx      # 0xf4c0
movslq %esi, %rsi
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %r8
movq 0x20(%rsp), %r9
movq 0x28(%rsp), %r10
xorl %r11d, %r11d
xorps %xmm1, %xmm1
movss 0x2800(%rip), %xmm2     # 0x508c
movss 0x27ec(%rip), %xmm3     # 0x5080
movss 0x27f4(%rip), %xmm4     # 0x5090
movq %r14, %r15
cmpq %rsi, %r11
jge 0x2c34
movss (%rax,%rcx,4), %xmm5
movss 0x4(%rax,%rcx,4), %xmm6
movss 0x8(%rax,%rcx,4), %xmm7
movss 0xc(%rax,%rcx,4), %xmm8
xorl %ebx, %ebx
cmpq $0x10, %rbx
je 0x2910
movss (%r8,%rbx), %xmm9
mulss %xmm6, %xmm9
movss (%rdi,%rbx), %xmm10
mulss %xmm5, %xmm10
addss %xmm9, %xmm10
movss (%r9,%rbx), %xmm9
mulss %xmm7, %xmm9
addss %xmm10, %xmm9
movss (%r10,%rbx), %xmm10
mulss %xmm8, %xmm10
addss %xmm9, %xmm10
movss %xmm10, 0x30(%rsp,%rbx)
addq $0x4, %rbx
jmp 0x28c2
movss 0x3c(%rsp), %xmm6
xorps %xmm7, %xmm7
maxss %xmm6, %xmm7
movaps %xmm2, %xmm5
cmpltss %xmm6, %xmm5
movaps %xmm5, %xmm6
andnps %xmm7, %xmm6
andps %xmm2, %xmm5
orps %xmm6, %xmm5
movaps %xmm5, %xmm6
cmpneqps %xmm2, %xmm6
movaps %xmm5, %xmm7
cmpneqps %xmm1, %xmm7
andps %xmm6, %xmm7
movd %xmm7, %ebx
xorl %r12d, %r12d
cmpq $0x3, %r12
je 0x29a2
movss 0x30(%rsp,%r12,4), %xmm6
testb $0x1, %bl
je 0x298a
divss %xmm5, %xmm6
xorps %xmm7, %xmm7
maxss %xmm6, %xmm7
movaps %xmm2, %xmm8
cmpltss %xmm6, %xmm8
movaps %xmm8, %xmm6
andnps %xmm7, %xmm6
andps %xmm2, %xmm8
orps %xmm6, %xmm8
movss %xmm8, 0x30(%rsp,%r12,4)
movaps %xmm8, %xmm6
mulss %xmm0, %xmm6
cvttss2si %xmm6, %ebp
movslq %ebp, %r13
movb (%rdx,%r13), %bpl
movb %bpl, (%r15,%r12)
incq %r12
jmp 0x2949
mulss %xmm3, %xmm5
addss %xmm4, %xmm5
cvttss2si %xmm5, %ebx
movb %bl, 0x3(%r14,%r11)
addq $0x4, %r11
addq $0x10, %r10
addq $0x10, %r9
addq $0x10, %r8
addq $0x10, %rdi
addq $0x4, %r15
jmp 0x289f
movss 0x26ac(%rip), %xmm0     # 0x5084
movq 0xcae1(%rip), %rdx      # 0xf4c0
xorl %edi, %edi
testl %esi, %esi
cmovlel %edi, %esi
movq 0x10(%rsp), %r8
movq 0x18(%rsp), %r9
movq 0x20(%rsp), %r10
movq 0x28(%rsp), %r11
cmpq %rdi, %rsi
je 0x2c34
movss (%rax,%rcx,4), %xmm1
movss 0x4(%rax,%rcx,4), %xmm2
mulss (%r9,%rdi,4), %xmm2
mulss (%r8,%rdi,4), %xmm1
addss %xmm2, %xmm1
movss 0x8(%rax,%rcx,4), %xmm2
mulss (%r10,%rdi,4), %xmm2
addss %xmm1, %xmm2
movss 0xc(%rax,%rcx,4), %xmm1
mulss (%r11,%rdi,4), %xmm1
addss %xmm2, %xmm1
mulss %xmm0, %xmm1
cvttss2si %xmm1, %ebx
movslq %ebx, %rbx
movb (%rdx,%rbx), %bl
movb %bl, (%r14,%rdi)
incq %rdi
jmp 0x29fa
movss 0x2627(%rip), %xmm0     # 0x5084
movss %xmm0, 0xc(%rsp)
movq 0xca56(%rip), %r13      # 0xf4c0
xorl %ebp, %ebp
testl %r12d, %r12d
cmovlel %ebp, %r12d
leaq 0xc(%r15), %rbx
movss 0x260d(%rip), %xmm5     # 0x508c
cmpl %r12d, %ebp
je 0x2c45
movss 0x30(%r15), %xmm1
xorps %xmm2, %xmm2
maxss %xmm1, %xmm2
movaps %xmm5, %xmm0
cmpltss %xmm1, %xmm0
movaps %xmm0, %xmm1
andnps %xmm2, %xmm1
andps %xmm5, %xmm0
orps %xmm1, %xmm0
ucomiss 0x25e8(%rip), %xmm0     # 0x5098
movss 0xc(%rsp), %xmm4
jne 0x2aba
jnp 0x2ad8
xorl %eax, %eax
cmpq $0x30, %rax
je 0x2ad8
movss (%r15,%rax), %xmm1
divss %xmm0, %xmm1
movss %xmm1, (%r15,%rax)
addq $0x10, %rax
jmp 0x2abc
movq %rbx, %rax
pushq $-0x3
popq %rcx
testq %rcx, %rcx
je 0x2b37
movss -0xc(%rax), %xmm1
xorps %xmm2, %xmm2
maxss %xmm1, %xmm2
movaps %xmm5, %xmm3
cmpltss %xmm1, %xmm3
movaps %xmm3, %xmm1
andnps %xmm2, %xmm1
andps %xmm5, %xmm3
orps %xmm1, %xmm3
mulss %xmm4, %xmm3
cvttss2si %xmm3, %edx
movslq %edx, %rdx
movb (%r13,%rdx), %dl
movb %dl, 0x3(%r14,%rcx)
movsd -0x8(%rax), %xmm1
movsd %xmm1, -0xc(%rax)
movss (%rax), %xmm1
movss %xmm1, -0x4(%rax)
andl $0x0, (%rax)
incq %rcx
addq $0x10, %rax
jmp 0x2ade
mulss 0x2541(%rip), %xmm0     # 0x5080
callq 0x1070
movss 0x2540(%rip), %xmm5     # 0x508c
cvttss2si %xmm0, %eax
movb %al, 0x3(%r14)
movsd 0x34(%r15), %xmm0
movsd %xmm0, 0x30(%r15)
movss 0x3c(%r15), %xmm0
movss %xmm0, 0x38(%r15)
andl $0x0, 0x3c(%r15)
addq $0x40, %r15
addq $0x4, %r14
incl %ebp
addq $0x40, %rbx
jmp 0x2a7f
movss 0x24f8(%rip), %xmm0     # 0x5084
movq 0xc92d(%rip), %rdx      # 0xf4c0
movslq %esi, %rsi
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %r8
movq 0x20(%rsp), %r9
movq 0x28(%rsp), %r10
xorl %r11d, %r11d
movq %r14, %rbx
cmpq %rsi, %r11
jge 0x2c34
xorl %r15d, %r15d
cmpq $0x3, %r15
je 0x2c11
movss (%rax,%rcx,4), %xmm1
movss 0x4(%rax,%rcx,4), %xmm2
mulss (%r8,%r15,4), %xmm2
mulss (%rdi,%r15,4), %xmm1
addss %xmm2, %xmm1
movss 0x8(%rax,%rcx,4), %xmm2
mulss (%r9,%r15,4), %xmm2
addss %xmm1, %xmm2
movss 0xc(%rax,%rcx,4), %xmm1
mulss (%r10,%r15,4), %xmm1
addss %xmm2, %xmm1
mulss %xmm0, %xmm1
cvttss2si %xmm1, %ebp
movslq %ebp, %r12
movb (%rdx,%r12), %bpl
movb %bpl, (%rbx,%r15)
incq %r15
jmp 0x2bb8
movb $0x0, 0x3(%r14,%r11)
addq $0x4, %r11
addq $0x4, %rbx
addq $0x10, %r10
addq $0x10, %r9
addq $0x10, %r8
addq $0x10, %rdi
jmp 0x2bb0
movq 0x40(%rsp), %rcx
movq 0x38(%rcx), %rax
movslq 0x14(%rcx), %rcx
decl -0x4(%rax,%rcx,4)
movq 0x40(%rsp), %rax
incl 0x18(%rax)
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq