// File: Ciaxur[P]yagb-emu/include/imgui/imgui_widgets.cpp
// Function: RenderArrowsForVerticalBar(ImDrawList*, ImVec2, ImVec2, float, float)
static void RenderArrowsForVerticalBar(ImDrawList* draw_list, ImVec2 pos, ImVec2 half_sz, float bar_w, float alpha)
{
    ImU32 alpha8 = IM_F32_TO_INT8_SAT(alpha);
    ImGui::RenderArrowPointingAt(draw_list, ImVec2(pos.x + half_sz.x + 1,         pos.y), ImVec2(half_sz.x + 2, half_sz.y + 1), ImGuiDir_Right, IM_COL32(0,0,0,alpha8));
    ImGui::RenderArrowPointingAt(draw_list, ImVec2(pos.x + half_sz.x,             pos.y), half_sz,                              ImGuiDir_Right, IM_COL32(255,255,255,alpha8));
    ImGui::RenderArrowPointingAt(draw_list, ImVec2(pos.x + bar_w - half_sz.x - 1, pos.y), ImVec2(half_sz.x + 2, half_sz.y + 1), ImGuiDir_Left,  IM_COL32(0,0,0,alpha8));
    ImGui::RenderArrowPointingAt(draw_list, ImVec2(pos.x + bar_w - half_sz.x,     pos.y), half_sz,                              ImGuiDir_Left,  IM_COL32(255,255,255,alpha8));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movlpd %xmm0, -0x8(%rbp)
movlpd %xmm1, -0x10(%rbp)
movq %rdi, -0x18(%rbp)
movss %xmm2, -0x1c(%rbp)
movss %xmm3, -0x20(%rbp)
movss -0x20(%rbp), %xmm0
callq 0x13bfc0
movss 0x220a7(%rip), %xmm1    # 0x17275c
mulss %xmm1, %xmm0
movss 0x21917(%rip), %xmm1    # 0x171fd8
addss %xmm1, %xmm0
cvttss2si %xmm0, %eax
movl %eax, -0x24(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x98(%rbp)
movss -0x10(%rbp), %xmm2
movss -0x8(%rbp), %xmm0
movss -0x4(%rbp), %xmm1
addss %xmm2, %xmm0
movss 0x2054a(%rip), %xmm2    # 0x170c3c
movss %xmm2, -0x7c(%rbp)
addss %xmm2, %xmm0
leaq -0x2c(%rbp), %rdi
callq 0xbf4c0
movss -0x7c(%rbp), %xmm2
movss -0x10(%rbp), %xmm0
movss -0xc(%rbp), %xmm1
movss 0x218b1(%rip), %xmm3    # 0x171fcc
movss %xmm3, -0x80(%rbp)
addss %xmm3, %xmm0
addss %xmm2, %xmm1
leaq -0x34(%rbp), %rdi
callq 0xbf4c0
movq -0x98(%rbp), %rdi
movl -0x24(%rbp), %edx
shll $0x18, %edx
movsd -0x2c(%rbp), %xmm0
movsd -0x34(%rbp), %xmm1
movl $0x1, %esi
movl %esi, -0x84(%rbp)
callq 0x11d4b0
movq -0x18(%rbp), %rax
movq %rax, -0x90(%rbp)
movss -0x10(%rbp), %xmm2
movss -0x8(%rbp), %xmm0
movss -0x4(%rbp), %xmm1
addss %xmm2, %xmm0
leaq -0x3c(%rbp), %rdi
callq 0xbf4c0
movq -0x90(%rbp), %rdi
movl -0x84(%rbp), %esi
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movl -0x24(%rbp), %edx
shll $0x18, %edx
orl $0xffffff, %edx         # imm = 0xFFFFFF
movsd -0x3c(%rbp), %xmm0
movsd -0x48(%rbp), %xmm1
callq 0x11d4b0
movss -0x7c(%rbp), %xmm2
movq -0x18(%rbp), %rax
movq %rax, -0x78(%rbp)
movss -0x1c(%rbp), %xmm3
movss -0x8(%rbp), %xmm0
movss -0x4(%rbp), %xmm1
addss %xmm3, %xmm0
movss -0x10(%rbp), %xmm3
subss %xmm3, %xmm0
subss %xmm2, %xmm0
leaq -0x50(%rbp), %rdi
callq 0xbf4c0
movss -0x80(%rbp), %xmm3
movss -0x7c(%rbp), %xmm2
movss -0x10(%rbp), %xmm0
movss -0xc(%rbp), %xmm1
addss %xmm3, %xmm0
addss %xmm2, %xmm1
leaq -0x58(%rbp), %rdi
callq 0xbf4c0
movq -0x78(%rbp), %rdi
movl -0x24(%rbp), %edx
shll $0x18, %edx
movsd -0x50(%rbp), %xmm0
movsd -0x58(%rbp), %xmm1
xorl %esi, %esi
callq 0x11d4b0
movq -0x18(%rbp), %rax
movq %rax, -0x70(%rbp)
movss -0x1c(%rbp), %xmm2
movss -0x8(%rbp), %xmm0
movss -0x4(%rbp), %xmm1
addss %xmm2, %xmm0
movss -0x10(%rbp), %xmm2
subss %xmm2, %xmm0
leaq -0x60(%rbp), %rdi
callq 0xbf4c0
movq -0x70(%rbp), %rdi
movq -0x10(%rbp), %rax
movq %rax, -0x68(%rbp)
movl -0x24(%rbp), %edx
shll $0x18, %edx
orl $0xffffff, %edx         # imm = 0xFFFFFF
movsd -0x60(%rbp), %xmm0
movsd -0x68(%rbp), %xmm1
xorl %esi, %esi
callq 0x11d4b0
addq $0xa0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)