// File: /workspace/github_cpp_makefile_star2_O1/mdpkh[P]retro6k/src/main.cpp
// Function: FillRoundedRect(SDL_Surface*, SDL_Rect const&, unsigned int)
void FillRoundedRect(SDL_Surface* dst, const SDL_Rect &r, unsigned c)
{
	SDL_Rect b;
	b = { r.x + 6, r.y, r.w - 12, 1 };
	SDL_FillRect(dst, &b, c);
	b.y = r.y + r.h - 1;
	SDL_FillRect(dst, &b, c);
	b = { r.x + 4, r.y + 1, r.w - 8, 1 };
	SDL_FillRect(dst, &b, c);
	b.y = r.y + r.h - 2;
	SDL_FillRect(dst, &b, c);
	b = { r.x + 3, r.y + 2, r.w - 6, 1 };
	SDL_FillRect(dst, &b, c);
	b.y = r.y + r.h - 3;
	SDL_FillRect(dst, &b, c);
	b = { r.x + 2, r.y + 3, r.w - 4, 1 };
	SDL_FillRect(dst, &b, c);
	b.y = r.y + r.h - 4;
	SDL_FillRect(dst, &b, c);
	b = { r.x + 1, r.y + 4, r.w - 2, 2 };
	SDL_FillRect(dst, &b, c);
	b.y = r.y + r.h - 6;
	SDL_FillRect(dst, &b, c);
	b = { r.x, r.y + 6, r.w, r.h - 12 };
	SDL_FillRect(dst, &b, c);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x10, %rsp
movl %edx, %ebx
movq %rsi, %r15
movq %rdi, %r14
movl (%rsi), %eax
movl 0x4(%rsi), %ecx
addl $0x6, %eax
movl 0x8(%rsi), %edx
addl $-0xc, %edx
movq %rsp, %r12
movl %eax, (%r12)
movl %ecx, 0x4(%r12)
movl %edx, 0x8(%r12)
movl $0x1, %ebp
movl %ebp, 0xc(%r12)
movq %r12, %rsi
movl %ebx, %edx
callq 0x6060
movl 0x4(%r15), %eax
movl 0xc(%r15), %ecx
addl %ecx, %eax
decl %eax
movl %eax, 0x4(%r12)
movq %r14, %rdi
movq %r12, %rsi
movl %ebx, %edx
callq 0x6060
movl (%r15), %eax
movl 0x4(%r15), %ecx
addl $0x4, %eax
incl %ecx
movl 0x8(%r15), %edx
addl $-0x8, %edx
movl %eax, (%r12)
movl %ecx, 0x4(%r12)
movl %edx, 0x8(%r12)
movl %ebp, 0xc(%r12)
movq %r14, %rdi
movq %r12, %rsi
movl %ebx, %edx
callq 0x6060
movl 0x4(%r15), %eax
movl 0xc(%r15), %ecx
addl %ecx, %eax
addl $-0x2, %eax
movl %eax, 0x4(%r12)
movq %r14, %rdi
movq %r12, %rsi
movl %ebx, %edx
callq 0x6060
movl (%r15), %eax
movl 0x4(%r15), %ecx
addl $0x3, %eax
addl $0x2, %ecx
movl 0x8(%r15), %edx
addl $-0x6, %edx
movl %eax, (%r12)
movl %ecx, 0x4(%r12)
movl %edx, 0x8(%r12)
movl %ebp, 0xc(%r12)
movq %r14, %rdi
movq %r12, %rsi
movl %ebx, %edx
callq 0x6060
movl 0x4(%r15), %eax
movl 0xc(%r15), %ecx
addl %ecx, %eax
addl $-0x3, %eax
movl %eax, 0x4(%r12)
movq %r14, %rdi
movq %r12, %rsi
movl %ebx, %edx
callq 0x6060
movl (%r15), %eax
movl 0x4(%r15), %ecx
addl $0x2, %eax
addl $0x3, %ecx
movl 0x8(%r15), %edx
addl $-0x4, %edx
movl %eax, (%r12)
movl %ecx, 0x4(%r12)
movl %edx, 0x8(%r12)
movl %ebp, 0xc(%r12)
movq %r14, %rdi
movq %r12, %rsi
movl %ebx, %edx
callq 0x6060
movl 0x4(%r15), %eax
movl 0xc(%r15), %ecx
addl %ecx, %eax
addl $-0x4, %eax
movl %eax, 0x4(%r12)
movq %r14, %rdi
movq %r12, %rsi
movl %ebx, %edx
callq 0x6060
movl (%r15), %eax
movl 0x4(%r15), %ecx
incl %eax
addl $0x4, %ecx
movl 0x8(%r15), %edx
addl $-0x2, %edx
movl %eax, (%r12)
movl %ecx, 0x4(%r12)
movl %edx, 0x8(%r12)
movl $0x2, 0xc(%r12)
movq %r14, %rdi
movq %r12, %rsi
movl %ebx, %edx
callq 0x6060
movl 0x4(%r15), %eax
movl 0xc(%r15), %ecx
addl %ecx, %eax
addl $-0x6, %eax
movl %eax, 0x4(%r12)
movq %r14, %rdi
movq %r12, %rsi
movl %ebx, %edx
callq 0x6060
movl (%r15), %eax
movl 0x4(%r15), %ecx
addl $0x6, %ecx
movl 0x8(%r15), %edx
movl 0xc(%r15), %esi
addl $-0xc, %esi
movl %eax, (%r12)
movl %ecx, 0x4(%r12)
movl %edx, 0x8(%r12)
movl %esi, 0xc(%r12)
movq %r14, %rdi
movq %r12, %rsi
movl %ebx, %edx
callq 0x6060
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq