// File: /workspace/github_c_makefile_star2_O3/FredTheDino[P]Fog/src/engine/unix_main.cpp
// Function: Fog::setup_debug_keybinds()
void setup_debug_keybinds() {
    using namespace Input;
    CHECK(add(K(F10), QUIT),
          "Failed to create mapping");

    CHECK(add(K(LSHIFT), TWEAK_SMOOTH),
          "Failed to create mapping");

    CHECK(add(K(LCTRL), TWEAK_STEP),
          "Failed to create mapping");

    CHECK(add(K(F1), DEBUG_PERF),
          "Failed to create mapping");

    CHECK(add(K(F2), DEBUG_VIEW),
          "Failed to create mapping");

    CHECK(add(K(F3), DEBUG_VALUES),
          "Failed to create mapping");

    const auto debug_callback = [](f32, f32, f32, void*) {
        if (pressed(DEBUG_PERF))
            show_perf = !show_perf;
        if (pressed(DEBUG_VIEW))
            debug_view = !debug_view;
        if (pressed(DEBUG_VALUES))
            show_debug_values = !show_debug_values;
    };
    Logic::add_callback(Logic::At::PRE_UPDATE, debug_callback, Logic::now(),
                        Logic::FOREVER);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x3d461(%rip), %rax     # 0x64968
movl (%rax), %esi
movss 0x8af3(%rip), %xmm0     # 0x30004
movl $0x861, %edi            # imm = 0x861
movl $0x1, %edx
callq 0x9f54
testb %al, %al
jne 0x27556
movq 0x27aa5(%rip), %rax     # 0x4efd0
movq (%rax), %rsi
leaq 0x962e(%rip), %rdi      # 0x30b63
leaq 0xa87e(%rip), %rdx      # 0x31dba
leaq 0x9628(%rip), %r8       # 0x30b6b
leaq 0xa889(%rip), %r9       # 0x31dd3
movl $0x81, %ecx
xorl %eax, %eax
callq 0x718c
leaq 0x3d40f(%rip), %rax     # 0x6496c
movl (%rax), %esi
movss 0x8a9d(%rip), %xmm0     # 0x30004
movl $0x1c21, %edi           # imm = 0x1C21
movl $0x1, %edx
callq 0x9f54
testb %al, %al
jne 0x275ac
movq 0x27a4f(%rip), %rax     # 0x4efd0
movq (%rax), %rsi
leaq 0x95d8(%rip), %rdi      # 0x30b63
leaq 0xa828(%rip), %rdx      # 0x31dba
leaq 0x95d2(%rip), %r8       # 0x30b6b
leaq 0xa861(%rip), %r9       # 0x31e01
movl $0x84, %ecx
xorl %eax, %eax
callq 0x718c
leaq 0x3d3bd(%rip), %rax     # 0x64970
movl (%rax), %esi
movss 0x8a47(%rip), %xmm0     # 0x30004
movl $0x1c01, %edi           # imm = 0x1C01
movl $0x1, %edx
callq 0x9f54
testb %al, %al
jne 0x27602
movq 0x279f9(%rip), %rax     # 0x4efd0
movq (%rax), %rsi
leaq 0x9582(%rip), %rdi      # 0x30b63
leaq 0xa7d2(%rip), %rdx      # 0x31dba
leaq 0x957c(%rip), %r8       # 0x30b6b
leaq 0xa844(%rip), %r9       # 0x31e3a
movl $0x87, %ecx
xorl %eax, %eax
callq 0x718c
leaq 0x3d36b(%rip), %rax     # 0x64974
movl (%rax), %esi
movss 0x89f1(%rip), %xmm0     # 0x30004
movl $0x741, %edi            # imm = 0x741
movl $0x1, %edx
callq 0x9f54
testb %al, %al
jne 0x27658
movq 0x279a3(%rip), %rax     # 0x4efd0
movq (%rax), %rsi
leaq 0x952c(%rip), %rdi      # 0x30b63
leaq 0xa77c(%rip), %rdx      # 0x31dba
leaq 0x9526(%rip), %r8       # 0x30b6b
leaq 0xa824(%rip), %r9       # 0x31e70
movl $0x8a, %ecx
xorl %eax, %eax
callq 0x718c
leaq 0x3d319(%rip), %rax     # 0x64978
movl (%rax), %esi
movss 0x899b(%rip), %xmm0     # 0x30004
movl $0x761, %edi            # imm = 0x761
movl $0x1, %edx
callq 0x9f54
testb %al, %al
jne 0x276ae
movq 0x2794d(%rip), %rax     # 0x4efd0
movq (%rax), %rsi
leaq 0x94d6(%rip), %rdi      # 0x30b63
leaq 0xa726(%rip), %rdx      # 0x31dba
leaq 0x94d0(%rip), %r8       # 0x30b6b
leaq 0xa801(%rip), %r9       # 0x31ea3
movl $0x8d, %ecx
xorl %eax, %eax
callq 0x718c
leaq 0x3d2c7(%rip), %rax     # 0x6497c
movl (%rax), %esi
movss 0x8945(%rip), %xmm0     # 0x30004
movl $0x781, %edi            # imm = 0x781
movl $0x1, %edx
callq 0x9f54
testb %al, %al
jne 0x27704
movq 0x278f7(%rip), %rax     # 0x4efd0
movq (%rax), %rsi
leaq 0x9480(%rip), %rdi      # 0x30b63
leaq 0xa6d0(%rip), %rdx      # 0x31dba
leaq 0x947a(%rip), %r8       # 0x30b6b
leaq 0xa7de(%rip), %r9       # 0x31ed6
movl $0x90, %ecx
xorl %eax, %eax
callq 0x718c
leaq 0x29205(%rip), %rax     # 0x50910
movss 0x14028(%rax), %xmm0
leaq 0x5dce(%rip), %rsi      # 0x2d4e8
movss 0x8b06(%rip), %xmm1     # 0x30228
xorps %xmm2, %xmm2
xorl %edi, %edi
xorl %edx, %edx
popq %rbp
jmp 0x243c3