// File: /workspace/github_cpp_makefile_star2_O1/Ciaxur[P]yagb-emu/include/imgui/imgui_draw.cpp
// Function: ImGui::RenderCheckMark(ImDrawList*, ImVec2, unsigned int, float)
void ImGui::RenderCheckMark(ImDrawList* draw_list, ImVec2 pos, ImU32 col, float sz)
{
    float thickness = ImMax(sz / 5.0f, 1.0f);
    sz -= thickness * 0.5f;
    pos += ImVec2(thickness * 0.25f, thickness * 0.25f);

    float third = sz / 3.0f;
    float bx = pos.x + third;
    float by = pos.y + sz - third * 0.5f;
    draw_list->PathLineTo(ImVec2(bx - third, by - third));
    draw_list->PathLineTo(ImVec2(bx, by));
    draw_list->PathLineTo(ImVec2(bx + third * 2.0f, by - third * 2.0f));
    draw_list->PathStroke(col, false, thickness);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x60, %rsp
movl %esi, %r14d
movaps %xmm0, %xmm4
movq %rdi, %rbx
movaps %xmm1, %xmm0
divss 0x33dbf(%rip), %xmm0    # 0xb7894
maxss 0x33507(%rip), %xmm0    # 0xb6fe4
movss 0x3351f(%rip), %xmm3    # 0xb7004
movaps %xmm0, %xmm2
mulss %xmm3, %xmm2
subss %xmm2, %xmm1
movss 0x334f4(%rip), %xmm2    # 0xb6fec
mulss %xmm0, %xmm2
movaps %xmm4, %xmm5
addss %xmm2, %xmm5
shufps $0x55, %xmm4, %xmm4     # xmm4 = xmm4[1,1,1,1]
addss %xmm2, %xmm4
addss %xmm1, %xmm4
divss 0x334d9(%rip), %xmm1    # 0xb6ff0
addss %xmm1, %xmm5
mulss %xmm1, %xmm3
subss %xmm3, %xmm4
movaps %xmm5, %xmm3
subss %xmm1, %xmm3
movaps %xmm4, %xmm6
subss %xmm1, %xmm6
movl 0x78(%rdi), %r12d
movl 0x7c(%rdi), %eax
cmpl %eax, %r12d
jne 0x83bda
incl %r12d
testl %eax, %eax
je 0x83b55
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
addl %eax, %ecx
jmp 0x83b5a
movl $0x8, %ecx
cmpl %r12d, %ecx
cmovgl %ecx, %r12d
cmpl %r12d, %eax
jge 0x83bda
movaps %xmm6, -0x80(%rbp)
movaps %xmm3, -0x40(%rbp)
movaps %xmm1, -0x50(%rbp)
movaps %xmm5, -0x60(%rbp)
movaps %xmm4, -0x70(%rbp)
movss %xmm0, -0x24(%rbp)
movslq %r12d, %rdi
shlq $0x3, %rdi
callq 0x424fb
movq %rax, %r15
movq 0x80(%rbx), %rsi
testq %rsi, %rsi
je 0x83bb6
movslq 0x78(%rbx), %rdx
shlq $0x3, %rdx
movq %r15, %rdi
callq 0xc080
movq 0x80(%rbx), %rdi
callq 0x425d4
movq %r15, 0x80(%rbx)
movl %r12d, 0x7c(%rbx)
movss -0x24(%rbp), %xmm0
movaps -0x70(%rbp), %xmm4
movaps -0x60(%rbp), %xmm5
movaps -0x50(%rbp), %xmm1
movaps -0x40(%rbp), %xmm3
movaps -0x80(%rbp), %xmm6
movaps 0x333df(%rip), %xmm2    # 0xb6fc0
xorps %xmm1, %xmm2
movq 0x80(%rbx), %rax
movslq 0x78(%rbx), %rcx
movss %xmm3, (%rax,%rcx,8)
movss %xmm6, 0x4(%rax,%rcx,8)
movl 0x78(%rbx), %r12d
movl 0x7c(%rbx), %eax
leal 0x1(%r12), %ecx
movl %ecx, 0x78(%rbx)
cmpl %eax, %ecx
jne 0x83ca3
addl $0x2, %r12d
testl %eax, %eax
je 0x83c26
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
addl %eax, %ecx
jmp 0x83c2b
movl $0x8, %ecx
cmpl %r12d, %ecx
cmovgl %ecx, %r12d
cmpl %r12d, %eax
jge 0x83ca3
movaps %xmm2, -0x40(%rbp)
movaps %xmm1, -0x50(%rbp)
movaps %xmm5, -0x60(%rbp)
movaps %xmm4, -0x70(%rbp)
movss %xmm0, -0x24(%rbp)
movslq %r12d, %rdi
shlq $0x3, %rdi
callq 0x424fb
movq %rax, %r15
movq 0x80(%rbx), %rsi
testq %rsi, %rsi
je 0x83c83
movslq 0x78(%rbx), %rdx
shlq $0x3, %rdx
movq %r15, %rdi
callq 0xc080
movq 0x80(%rbx), %rdi
callq 0x425d4
movq %r15, 0x80(%rbx)
movl %r12d, 0x7c(%rbx)
movss -0x24(%rbp), %xmm0
movaps -0x70(%rbp), %xmm4
movaps -0x60(%rbp), %xmm5
movaps -0x50(%rbp), %xmm1
movaps -0x40(%rbp), %xmm2
movq 0x80(%rbx), %rax
movslq 0x78(%rbx), %rcx
movss %xmm5, (%rax,%rcx,8)
movss %xmm4, 0x4(%rax,%rcx,8)
movl 0x78(%rbx), %r12d
movl 0x7c(%rbx), %eax
leal 0x1(%r12), %ecx
movl %ecx, 0x78(%rbx)
cmpl %eax, %ecx
jne 0x83d62
addl $0x2, %r12d
testl %eax, %eax
je 0x83ce5
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
addl %eax, %ecx
jmp 0x83cea
movl $0x8, %ecx
cmpl %r12d, %ecx
cmovgl %ecx, %r12d
cmpl %r12d, %eax
jge 0x83d62
movaps %xmm2, -0x40(%rbp)
movaps %xmm1, -0x50(%rbp)
movaps %xmm5, -0x60(%rbp)
movaps %xmm4, -0x70(%rbp)
movss %xmm0, -0x24(%rbp)
movslq %r12d, %rdi
shlq $0x3, %rdi
callq 0x424fb
movq %rax, %r15
movq 0x80(%rbx), %rsi
testq %rsi, %rsi
je 0x83d42
movslq 0x78(%rbx), %rdx
shlq $0x3, %rdx
movq %r15, %rdi
callq 0xc080
movq 0x80(%rbx), %rdi
callq 0x425d4
movq %r15, 0x80(%rbx)
movl %r12d, 0x7c(%rbx)
movss -0x24(%rbp), %xmm0
movaps -0x70(%rbp), %xmm4
movaps -0x60(%rbp), %xmm5
movaps -0x50(%rbp), %xmm1
movaps -0x40(%rbp), %xmm2
addss %xmm2, %xmm2
addss %xmm4, %xmm2
addss %xmm1, %xmm1
addss %xmm5, %xmm1
movq 0x80(%rbx), %rax
movslq 0x78(%rbx), %rcx
movss %xmm1, (%rax,%rcx,8)
movss %xmm2, 0x4(%rax,%rcx,8)
movl 0x78(%rbx), %edx
incl %edx
movl %edx, 0x78(%rbx)
movq 0x80(%rbx), %rsi
movq %rbx, %rdi
movl %r14d, %ecx
xorl %r8d, %r8d
callq 0x77886
movl $0x0, 0x78(%rbx)
addq $0x60, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq