// File: El-Duder1no[P]geometry/src/structFill.cpp
// Function: structFill(Circle&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
bool structFill(Circle& a, std::string text)
{
    std::string x, y, r, figure;
    float xF, yF, rF;
    const char* temp;

    enter(text, figure, x, y, r);

    if (figure != "circle") {
        return false;
    }

    temp = x.c_str();
    if (isdigit(temp[0]) || temp[0] == '-') {
        xF = stof(x);
        a.x = xF;
    } else {
        return false;
    }

    temp = y.c_str();
    if (isdigit(temp[0]) || temp[0] == '-') {
        yF = stof(y);
        a.y = yF;
    } else {
        return false;
    }

    temp = r.c_str();
    if (isdigit(temp[0])) {
        rF = stof(r);
        if (rF < 0)
            return false;
        a.r = rF;
    } else {
        return false;
    }

    return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x100, %rsp            # imm = 0x100
movq %rsi, -0xe8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x9980
leaq -0x58(%rbp), %rdi
callq 0x9980
leaq -0x78(%rbp), %rdi
callq 0x9980
leaq -0x98(%rbp), %rdi
callq 0x9980
movq -0xe8(%rbp), %rsi
leaq -0xd0(%rbp), %rdi
callq 0x9230
jmp 0x50606
leaq -0xd0(%rbp), %rdi
leaq -0x98(%rbp), %rsi
leaq -0x38(%rbp), %rdx
leaq -0x58(%rbp), %rcx
leaq -0x78(%rbp), %r8
callq 0x50a80
jmp 0x50627
leaq -0xd0(%rbp), %rdi
callq 0x9d88
leaq 0x546e(%rip), %rsi      # 0x55aa8
leaq -0x98(%rbp), %rdi
callq 0x342f7
movb %al, -0xe9(%rbp)
jmp 0x5064e
movb -0xe9(%rbp), %al
testb $0x1, %al
jne 0x5065a
jmp 0x506a7
movb $0x0, -0x1(%rbp)
movl $0x1, -0xe0(%rbp)
jmp 0x5083e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
jmp 0x50873
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0x9d88
jmp 0x50873
leaq -0x38(%rbp), %rdi
callq 0x9220
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rax
movsbl (%rax), %edi
callq 0x9520
cmpl $0x0, %eax
jne 0x506da
movq -0xb0(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x50713
xorl %eax, %eax
movl %eax, %esi
leaq -0x38(%rbp), %rdi
callq 0x508b0
movss %xmm0, -0xf0(%rbp)
jmp 0x506f1
movss -0xf0(%rbp), %xmm0
movss %xmm0, -0x9c(%rbp)
movss -0x9c(%rbp), %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, (%rax)
jmp 0x50726
movb $0x0, -0x1(%rbp)
movl $0x1, -0xe0(%rbp)
jmp 0x5083e
leaq -0x58(%rbp), %rdi
callq 0x9220
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rax
movsbl (%rax), %edi
callq 0x9520
cmpl $0x0, %eax
jne 0x50759
movq -0xb0(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x50793
xorl %eax, %eax
movl %eax, %esi
leaq -0x58(%rbp), %rdi
callq 0x508b0
movss %xmm0, -0xf4(%rbp)
jmp 0x50770
movss -0xf4(%rbp), %xmm0
movss %xmm0, -0xa0(%rbp)
movss -0xa0(%rbp), %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0x4(%rax)
jmp 0x507a6
movb $0x0, -0x1(%rbp)
movl $0x1, -0xe0(%rbp)
jmp 0x5083e
leaq -0x78(%rbp), %rdi
callq 0x9220
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rax
movsbl (%rax), %edi
callq 0x9520
cmpl $0x0, %eax
je 0x50820
xorl %eax, %eax
movl %eax, %esi
leaq -0x78(%rbp), %rdi
callq 0x508b0
movss %xmm0, -0xf8(%rbp)
jmp 0x507e1
movss -0xf8(%rbp), %xmm0
movss %xmm0, -0xa4(%rbp)
xorps %xmm0, %xmm0
ucomiss -0xa4(%rbp), %xmm0
jbe 0x5080d
movb $0x0, -0x1(%rbp)
movl $0x1, -0xe0(%rbp)
jmp 0x5083e
movss -0xa4(%rbp), %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0x8(%rax)
jmp 0x50830
movb $0x0, -0x1(%rbp)
movl $0x1, -0xe0(%rbp)
jmp 0x5083e
movb $0x1, -0x1(%rbp)
movl $0x1, -0xe0(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x9d88
leaq -0x78(%rbp), %rdi
callq 0x9d88
leaq -0x58(%rbp), %rdi
callq 0x9d88
leaq -0x38(%rbp), %rdi
callq 0x9d88
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
leaq -0x98(%rbp), %rdi
callq 0x9d88
leaq -0x78(%rbp), %rdi
callq 0x9d88
leaq -0x58(%rbp), %rdi
callq 0x9d88
leaq -0x38(%rbp), %rdi
callq 0x9d88
movq -0xd8(%rbp), %rdi
callq 0x9c00
nopw %cs:(%rax,%rax)