// File: /workspace/github_c_makefile_star2_O0/SimpleDoger[P]Darknet_CPU_Only/image.c
// Function: draw_box
void draw_box(image a, int x1, int y1, int x2, int y2, float r, float g, float b)
{
    //normalize_image(a);
    int i;
    if(x1 < 0) x1 = 0;
    if(x1 >= a.w) x1 = a.w-1;
    if(x2 < 0) x2 = 0;
    if(x2 >= a.w) x2 = a.w-1;

    if(y1 < 0) y1 = 0;
    if(y1 >= a.h) y1 = a.h-1;
    if(y2 < 0) y2 = 0;
    if(y2 >= a.h) y2 = a.h-1;

    for(i = x1; i <= x2; ++i){
        a.data[i + y1*a.w + 0*a.w*a.h] = r;
        a.data[i + y2*a.w + 0*a.w*a.h] = r;

        a.data[i + y1*a.w + 1*a.w*a.h] = g;
        a.data[i + y2*a.w + 1*a.w*a.h] = g;

        a.data[i + y1*a.w + 2*a.w*a.h] = b;
        a.data[i + y2*a.w + 2*a.w*a.h] = b;
    }
    for(i = y1; i <= y2; ++i){
        a.data[x1 + i*a.w + 0*a.w*a.h] = r;
        a.data[x2 + i*a.w + 0*a.w*a.h] = r;

        a.data[x1 + i*a.w + 1*a.w*a.h] = g;
        a.data[x2 + i*a.w + 1*a.w*a.h] = g;

        a.data[x1 + i*a.w + 2*a.w*a.h] = b;
        a.data[x2 + i*a.w + 2*a.w*a.h] = b;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl %edx, -0xc(%rbp)
movl %ecx, -0x10(%rbp)
movss %xmm0, -0x14(%rbp)
movss %xmm1, -0x18(%rbp)
movss %xmm2, -0x1c(%rbp)
cmpl $0x0, -0x4(%rbp)
jge 0xef84
movl $0x0, -0x4(%rbp)
movq -0x28(%rbp), %rcx
movl -0x4(%rbp), %eax
cmpl (%rcx), %eax
jl 0xef9b
movq -0x28(%rbp), %rax
movl (%rax), %eax
subl $0x1, %eax
movl %eax, -0x4(%rbp)
cmpl $0x0, -0xc(%rbp)
jge 0xefa8
movl $0x0, -0xc(%rbp)
movq -0x28(%rbp), %rcx
movl -0xc(%rbp), %eax
cmpl (%rcx), %eax
jl 0xefbf
movq -0x28(%rbp), %rax
movl (%rax), %eax
subl $0x1, %eax
movl %eax, -0xc(%rbp)
cmpl $0x0, -0x8(%rbp)
jge 0xefcc
movl $0x0, -0x8(%rbp)
movq -0x28(%rbp), %rcx
movl -0x8(%rbp), %eax
cmpl 0x4(%rcx), %eax
jl 0xefe5
movq -0x28(%rbp), %rax
movl 0x4(%rax), %eax
subl $0x1, %eax
movl %eax, -0x8(%rbp)
cmpl $0x0, -0x10(%rbp)
jge 0xeff2
movl $0x0, -0x10(%rbp)
movq -0x28(%rbp), %rcx
movl -0x10(%rbp), %eax
cmpl 0x4(%rcx), %eax
jl 0xf00b
movq -0x28(%rbp), %rax
movl 0x4(%rax), %eax
subl $0x1, %eax
movl %eax, -0x10(%rbp)
movl -0x4(%rbp), %eax
movl %eax, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0xc(%rbp), %eax
jg 0xf113
movq -0x28(%rbp), %rsi
movss -0x14(%rbp), %xmm0
movq 0x10(%rsi), %rax
movl -0x20(%rbp), %ecx
movl -0x8(%rbp), %edx
imull (%rsi), %edx
addl %edx, %ecx
imull $0x0, (%rsi), %edx
imull 0x4(%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
movss %xmm0, (%rax,%rcx,4)
movss -0x14(%rbp), %xmm0
movq 0x10(%rsi), %rax
movl -0x20(%rbp), %ecx
movl -0x10(%rbp), %edx
imull (%rsi), %edx
addl %edx, %ecx
imull $0x0, (%rsi), %edx
imull 0x4(%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
movss %xmm0, (%rax,%rcx,4)
movss -0x18(%rbp), %xmm0
movq 0x10(%rsi), %rax
movl -0x20(%rbp), %ecx
movl -0x8(%rbp), %edx
imull (%rsi), %edx
addl %edx, %ecx
movl (%rsi), %edx
shll $0x0, %edx
imull 0x4(%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
movss %xmm0, (%rax,%rcx,4)
movss -0x18(%rbp), %xmm0
movq 0x10(%rsi), %rax
movl -0x20(%rbp), %ecx
movl -0x10(%rbp), %edx
imull (%rsi), %edx
addl %edx, %ecx
movl (%rsi), %edx
shll $0x0, %edx
imull 0x4(%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
movss %xmm0, (%rax,%rcx,4)
movss -0x1c(%rbp), %xmm0
movq 0x10(%rsi), %rax
movl -0x20(%rbp), %ecx
movl -0x8(%rbp), %edx
imull (%rsi), %edx
addl %edx, %ecx
movl (%rsi), %edx
shll %edx
imull 0x4(%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
movss %xmm0, (%rax,%rcx,4)
movss -0x1c(%rbp), %xmm0
movq 0x10(%rsi), %rax
movl -0x20(%rbp), %ecx
movl -0x10(%rbp), %edx
imull (%rsi), %edx
addl %edx, %ecx
movl (%rsi), %edx
shll %edx
imull 0x4(%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
movss %xmm0, (%rax,%rcx,4)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0xf011
movl -0x8(%rbp), %eax
movl %eax, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x10(%rbp), %eax
jg 0xf21b
movq -0x28(%rbp), %rsi
movss -0x14(%rbp), %xmm0
movq 0x10(%rsi), %rax
movl -0x4(%rbp), %ecx
movl -0x20(%rbp), %edx
imull (%rsi), %edx
addl %edx, %ecx
imull $0x0, (%rsi), %edx
imull 0x4(%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
movss %xmm0, (%rax,%rcx,4)
movss -0x14(%rbp), %xmm0
movq 0x10(%rsi), %rax
movl -0xc(%rbp), %ecx
movl -0x20(%rbp), %edx
imull (%rsi), %edx
addl %edx, %ecx
imull $0x0, (%rsi), %edx
imull 0x4(%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
movss %xmm0, (%rax,%rcx,4)
movss -0x18(%rbp), %xmm0
movq 0x10(%rsi), %rax
movl -0x4(%rbp), %ecx
movl -0x20(%rbp), %edx
imull (%rsi), %edx
addl %edx, %ecx
movl (%rsi), %edx
shll $0x0, %edx
imull 0x4(%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
movss %xmm0, (%rax,%rcx,4)
movss -0x18(%rbp), %xmm0
movq 0x10(%rsi), %rax
movl -0xc(%rbp), %ecx
movl -0x20(%rbp), %edx
imull (%rsi), %edx
addl %edx, %ecx
movl (%rsi), %edx
shll $0x0, %edx
imull 0x4(%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
movss %xmm0, (%rax,%rcx,4)
movss -0x1c(%rbp), %xmm0
movq 0x10(%rsi), %rax
movl -0x4(%rbp), %ecx
movl -0x20(%rbp), %edx
imull (%rsi), %edx
addl %edx, %ecx
movl (%rsi), %edx
shll %edx
imull 0x4(%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
movss %xmm0, (%rax,%rcx,4)
movss -0x1c(%rbp), %xmm0
movq 0x10(%rsi), %rax
movl -0xc(%rbp), %ecx
movl -0x20(%rbp), %edx
imull (%rsi), %edx
addl %edx, %ecx
movl (%rsi), %edx
shll %edx
imull 0x4(%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
movss %xmm0, (%rax,%rcx,4)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0xf119
popq %rbp
retq
nopl (%rax)