// File: /workspace/github_cpp_makefile_star2_O2/KellerMartins[P]PDS2-Pacman/source/game/game.cpp
// Function: Game::GameOverStateUpdate()
void GameOverStateUpdate(){
        if(stateTimer < 4){
            std::ostringstream scoreString;
            scoreString << "Score:" << pacman->GetPontuacao();
            UI::DrawTextCentered(scoreString.str(), 0.5, 0.65, 8, 0.5, RAYWHITE);
            UI::DrawTextCentered("Game Over!", 0.5, 0.5, 15, 0.0, PURPLE);
            GameEvents::TriggerMenuUpdate();

            RenderManager::camera.position = Lerp(RenderManager::camera.position, 
                                                  {LARGURA/2, 32.0f, ALTURA/1.9}, 
                                                  stateTimer/32);
            RenderManager::camera.target = Lerp(RenderManager::camera.target,
                                                {LARGURA/2, 0.0f, ALTURA/2}, 
                                                stateTimer/32);
        }else{
            Mapa::CarregaArquivo("assets/maps/mapa1.txt");
            GameEvents::TriggerRestart();
            SetState(Menu);
        }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x1e8, %rsp            # imm = 0x1E8
movsd 0x8d3f6(%rip), %xmm0    # 0x98328
ucomisd 0xcdf26(%rip), %xmm0    # 0xd8e60
jbe 0xb08f
leaq -0x1e8(%rbp), %rbx
movq %rbx, %rdi
callq 0x8aa0
leaq 0x8d473(%rip), %rsi     # 0x983c9
movq %rbx, %rdi
callq 0x8840
movq %rax, %rbx
movq 0xcdef0(%rip), %rdi     # 0xd8e58
callq 0xd548
movl %eax, %esi
movq %rbx, %rdi
callq 0x8570
leaq -0x1e0(%rbp), %rsi
leaq -0x70(%rbp), %rdi
callq 0x8d40
leaq -0x70(%rbp), %rdi
movss 0x8d355(%rip), %xmm1    # 0x982e8
movss 0x8d351(%rip), %xmm2    # 0x982ec
movss 0x8d321(%rip), %xmm0    # 0x982c4
movapd %xmm0, %xmm3
movl $0xfff5f5f5, %esi       # imm = 0xFFF5F5F5
callq 0xfa52
leaq -0x70(%rbp), %rdi
callq 0x83a0
leaq 0x8d43f(%rip), %rsi     # 0x98400
leaq -0x50(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x8310
leaq -0x50(%rbp), %rdi
movss 0x8d2ea(%rip), %xmm0    # 0x982c4
movss 0x8d302(%rip), %xmm2    # 0x982e4
xorpd %xmm3, %xmm3
movapd %xmm0, %xmm1
movl $0xffff7ac8, %esi       # imm = 0xFFFF7AC8
callq 0xfa52
leaq -0x50(%rbp), %rdi
callq 0x83a0
callq 0xb144
leaq 0xcb847(%rip), %rbx     # 0xd6850
movsd (%rbx), %xmm0
movss 0x8(%rbx), %xmm1
movsd 0xcde46(%rip), %xmm2    # 0xd8e60
mulsd 0x8d30e(%rip), %xmm2    # 0x98330
cvtsd2ss %xmm2, %xmm4
movsd 0x8d282(%rip), %xmm2    # 0x982b0
movss 0x8d2ba(%rip), %xmm3    # 0x982f0
callq 0x9c55
movlpd %xmm0, (%rbx)
movss %xmm1, 0x8(%rbx)
movsd 0xc(%rbx), %xmm0
movss 0x14(%rbx), %xmm1
movsd 0xcde0a(%rip), %xmm2    # 0xd8e60
mulsd 0x8d2d2(%rip), %xmm2    # 0x98330
cvtsd2ss %xmm2, %xmm4
movss 0x8d28a(%rip), %xmm2    # 0x982f4
movss 0x8d286(%rip), %xmm3    # 0x982f8
callq 0x9c55
movlpd %xmm0, 0xc(%rbx)
movss %xmm1, 0x14(%rbx)
leaq -0x1e8(%rbp), %rdi
callq 0x81a0
jmp 0xb0c5
leaq 0x8d2a2(%rip), %rsi     # 0x98338
leaq -0x30(%rbp), %rdi
leaq -0x1e8(%rbp), %rdx
callq 0x8310
leaq -0x30(%rbp), %rdi
callq 0xb5de
leaq -0x30(%rbp), %rdi
callq 0x83a0
callq 0xb1a0
pushq $0x1
popq %rdi
callq 0xa8db
addq $0x1e8, %rsp            # imm = 0x1E8
popq %rbx
popq %rbp
retq
jmp 0xb0ff
jmp 0xb0ff
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
jmp 0xb0e5
jmp 0xb0ff
movq %rax, %rbx
leaq -0x70(%rbp), %rdi
callq 0x83a0
jmp 0xb102
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
callq 0x83a0
jmp 0xb10e
movq %rax, %rbx
jmp 0xb10e
movq %rax, %rbx
leaq -0x1e8(%rbp), %rdi
callq 0x81a0
movq %rbx, %rdi
callq 0x8ed0