// File: /workspace/github_cpp_makefile_star2_O2/Ciaxur[P]yagb-emu/include/imgui/backends/imgui_impl_sdl.cpp
// Function: ImGui_ImplSDL2_ProcessEvent(SDL_Event const*)
bool ImGui_ImplSDL2_ProcessEvent(const SDL_Event* event)
{
    ImGuiIO& io = ImGui::GetIO();
    switch (event->type)
    {
    case SDL_MOUSEWHEEL:
        {
            if (event->wheel.x > 0) io.MouseWheelH += 1;
            if (event->wheel.x < 0) io.MouseWheelH -= 1;
            if (event->wheel.y > 0) io.MouseWheel += 1;
            if (event->wheel.y < 0) io.MouseWheel -= 1;
            return true;
        }
    case SDL_MOUSEBUTTONDOWN:
        {
            if (event->button.button == SDL_BUTTON_LEFT) g_MousePressed[0] = true;
            if (event->button.button == SDL_BUTTON_RIGHT) g_MousePressed[1] = true;
            if (event->button.button == SDL_BUTTON_MIDDLE) g_MousePressed[2] = true;
            return true;
        }
    case SDL_TEXTINPUT:
        {
            io.AddInputCharactersUTF8(event->text.text);
            return true;
        }
    case SDL_KEYDOWN:
    case SDL_KEYUP:
        {
            int key = event->key.keysym.scancode;
            IM_ASSERT(key >= 0 && key < IM_ARRAYSIZE(io.KeysDown));
            io.KeysDown[key] = (event->type == SDL_KEYDOWN);
            io.KeyShift = ((SDL_GetModState() & KMOD_SHIFT) != 0);
            io.KeyCtrl = ((SDL_GetModState() & KMOD_CTRL) != 0);
            io.KeyAlt = ((SDL_GetModState() & KMOD_ALT) != 0);
#ifdef _WIN32
            io.KeySuper = false;
#else
            io.KeySuper = ((SDL_GetModState() & KMOD_GUI) != 0);
#endif
            return true;
        }
    }
    return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rdi, %r14
callq 0x37e82
movq %rax, %rbx
movl (%r14), %eax
leal -0x300(%rax), %ecx
cmpl $0x2, %ecx
jb 0x95338
cmpl $0x303, %eax            # imm = 0x303
je 0x953b3
cmpl $0x401, %eax            # imm = 0x401
je 0x95394
cmpl $0x403, %eax            # imm = 0x403
jne 0x953c6
movl 0x10(%r14), %eax
testl %eax, %eax
jle 0x952d1
movss 0x134(%rbx), %xmm0
addss 0x6d33(%rip), %xmm0     # 0x9bff8
movss %xmm0, 0x134(%rbx)
movl 0x10(%r14), %eax
testl %eax, %eax
jns 0x952ed
movss 0x134(%rbx), %xmm0
addss 0x6d0b(%rip), %xmm0     # 0x9bff0
movss %xmm0, 0x134(%rbx)
movl 0x14(%r14), %ecx
testl %ecx, %ecx
jle 0x95311
movss 0x130(%rbx), %xmm0
addss 0x6cf3(%rip), %xmm0     # 0x9bff8
movss %xmm0, 0x130(%rbx)
movl 0x14(%r14), %ecx
movb $0x1, %al
testl %ecx, %ecx
jns 0x953c8
movss 0x130(%rbx), %xmm0
addss 0x6cc5(%rip), %xmm0     # 0x9bff0
movss %xmm0, 0x130(%rbx)
jmp 0x953c8
movl 0x10(%r14), %ecx
cmpq $0x200, %rcx            # imm = 0x200
jae 0x953df
cmpl $0x300, %eax            # imm = 0x300
sete 0x13c(%rbx,%rcx)
callq 0xc810
testb $0x3, %al
setne 0x139(%rbx)
callq 0xc810
testb $-0x40, %al
setne 0x138(%rbx)
callq 0xc810
testw $0x300, %ax             # imm = 0x300
setne 0x13a(%rbx)
callq 0xc810
testw $0xc00, %ax             # imm = 0xC00
setne 0x13b(%rbx)
jmp 0x953c2
movzbl 0x10(%r14), %ecx
movb $0x1, %al
cmpl $0x3, %ecx
je 0x953d6
cmpl $0x2, %ecx
je 0x953cd
cmpl $0x1, %ecx
jne 0x953c8
movb $0x1, 0x5542f(%rip)     # 0xea7e0
jmp 0x953c8
addq $0xc, %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x33a18
movb $0x1, %al
jmp 0x953c8
xorl %eax, %eax
popq %rbx
popq %r14
popq %rbp
retq
movb $0x1, 0x5540e(%rip)     # 0xea7e2
jmp 0x953c8
movb $0x1, 0x55404(%rip)     # 0xea7e1
jmp 0x953c8
leaq 0x2533a(%rip), %rdi     # 0xba720
leaq 0x2537b(%rip), %rsi     # 0xba768
leaq 0x2539e(%rip), %rcx     # 0xba792
pushq $0x73
popq %rdx
callq 0xc140