// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/utils.c
// Function: moonglfw_pushgamepadbuttons
int pushgamepadbuttons(lua_State *L, const GLFWgamepadstate *state)
    {
    lua_newtable(L);
#define Setfield(x, name) do {  \
    lua_pushstring(L, state->buttons[GLFW_GAMEPAD_BUTTON_##x]==GLFW_PRESS ? "press" : "release"); \
    lua_setfield(L, -2, name);  \
} while(0)
    Setfield(A, "a");
    Setfield(A, "a");
    Setfield(B, "b");
    Setfield(X, "x");
    Setfield(Y, "y");
    Setfield(LEFT_BUMPER, "left_bumper");
    Setfield(RIGHT_BUMPER, "right_bumper");
    Setfield(BACK, "back");
    Setfield(START, "start");
    Setfield(GUIDE, "guide");
    Setfield(LEFT_THUMB, "left_thumb");
    Setfield(RIGHT_THUMB, "right_thumb");
    Setfield(DPAD_UP, "dpad_up");
    Setfield(DPAD_RIGHT, "dpad_right");
    Setfield(DPAD_DOWN, "dpad_down");
    Setfield(DPAD_LEFT, "dpad_left");
#undef Setfield
    return 1;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq 0x10(%rsp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x5200
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movzbl (%rax), %ecx
leaq 0x4712(%rip), %rsi      # 0x1c3d2
leaq 0x46fe(%rip), %rax      # 0x1c3c5
cmpl $0x1, %ecx
cmoveq %rax, %rsi
callq 0x5670
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x594a(%rip), %rdx      # 0x1d62e
callq 0x52c0
jmp 0x17ceb
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movzbl (%rax), %ecx
leaq 0x46d3(%rip), %rsi      # 0x1c3d2
leaq 0x46bf(%rip), %rax      # 0x1c3c5
cmpl $0x1, %ecx
cmoveq %rax, %rsi
callq 0x5670
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x590b(%rip), %rdx      # 0x1d62e
callq 0x52c0
jmp 0x17d2a
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movzbl 0x1(%rax), %ecx
leaq 0x4693(%rip), %rsi      # 0x1c3d2
leaq 0x467f(%rip), %rax      # 0x1c3c5
cmpl $0x1, %ecx
cmoveq %rax, %rsi
callq 0x5670
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x472e(%rip), %rdx      # 0x1c491
callq 0x52c0
jmp 0x17d6a
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movzbl 0x2(%rax), %ecx
leaq 0x4653(%rip), %rsi      # 0x1c3d2
leaq 0x463f(%rip), %rax      # 0x1c3c5
cmpl $0x1, %ecx
cmoveq %rax, %rsi
callq 0x5670
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x4ab9(%rip), %rdx      # 0x1c85c
callq 0x52c0
jmp 0x17daa
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movzbl 0x3(%rax), %ecx
leaq 0x4613(%rip), %rsi      # 0x1c3d2
leaq 0x45ff(%rip), %rax      # 0x1c3c5
cmpl $0x1, %ecx
cmoveq %rax, %rsi
callq 0x5670
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x4a84(%rip), %rdx      # 0x1c867
callq 0x52c0
jmp 0x17dea
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movzbl 0x4(%rax), %ecx
leaq 0x45d3(%rip), %rsi      # 0x1c3d2
leaq 0x45bf(%rip), %rax      # 0x1c3c5
cmpl $0x1, %ecx
cmoveq %rax, %rsi
callq 0x5670
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x6f26(%rip), %rdx      # 0x1ed49
callq 0x52c0
jmp 0x17e2a
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movzbl 0x5(%rax), %ecx
leaq 0x4593(%rip), %rsi      # 0x1c3d2
leaq 0x457f(%rip), %rax      # 0x1c3c5
cmpl $0x1, %ecx
cmoveq %rax, %rsi
callq 0x5670
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x6ef2(%rip), %rdx      # 0x1ed55
callq 0x52c0
jmp 0x17e6a
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movzbl 0x6(%rax), %ecx
leaq 0x4553(%rip), %rsi      # 0x1c3d2
leaq 0x453f(%rip), %rax      # 0x1c3c5
cmpl $0x1, %ecx
cmoveq %rax, %rsi
callq 0x5670
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x589f(%rip), %rdx      # 0x1d742
callq 0x52c0
jmp 0x17eaa
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movzbl 0x7(%rax), %ecx
leaq 0x4513(%rip), %rsi      # 0x1c3d2
leaq 0x44ff(%rip), %rax      # 0x1c3c5
cmpl $0x1, %ecx
cmoveq %rax, %rsi
callq 0x5670
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x6e7f(%rip), %rdx      # 0x1ed62
callq 0x52c0
jmp 0x17eea
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movzbl 0x8(%rax), %ecx
leaq 0x44d3(%rip), %rsi      # 0x1c3d2
leaq 0x44bf(%rip), %rax      # 0x1c3c5
cmpl $0x1, %ecx
cmoveq %rax, %rsi
callq 0x5670
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x6e45(%rip), %rdx      # 0x1ed68
callq 0x52c0
jmp 0x17f2a
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movzbl 0x9(%rax), %ecx
leaq 0x4493(%rip), %rsi      # 0x1c3d2
leaq 0x447f(%rip), %rax      # 0x1c3c5
cmpl $0x1, %ecx
cmoveq %rax, %rsi
callq 0x5670
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x6e0b(%rip), %rdx      # 0x1ed6e
callq 0x52c0
jmp 0x17f6a
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movzbl 0xa(%rax), %ecx
leaq 0x4453(%rip), %rsi      # 0x1c3d2
leaq 0x443f(%rip), %rax      # 0x1c3c5
cmpl $0x1, %ecx
cmoveq %rax, %rsi
callq 0x5670
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x6dd6(%rip), %rdx      # 0x1ed79
callq 0x52c0
jmp 0x17faa
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movzbl 0xb(%rax), %ecx
leaq 0x4413(%rip), %rsi      # 0x1c3d2
leaq 0x43ff(%rip), %rax      # 0x1c3c5
cmpl $0x1, %ecx
cmoveq %rax, %rsi
callq 0x5670
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x6da2(%rip), %rdx      # 0x1ed85
callq 0x52c0
jmp 0x17fea
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movzbl 0xc(%rax), %ecx
leaq 0x43d3(%rip), %rsi      # 0x1c3d2
leaq 0x43bf(%rip), %rax      # 0x1c3c5
cmpl $0x1, %ecx
cmoveq %rax, %rsi
callq 0x5670
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x6d6a(%rip), %rdx      # 0x1ed8d
callq 0x52c0
jmp 0x1802a
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movzbl 0xd(%rax), %ecx
leaq 0x4393(%rip), %rsi      # 0x1c3d2
leaq 0x437f(%rip), %rax      # 0x1c3c5
cmpl $0x1, %ecx
cmoveq %rax, %rsi
callq 0x5670
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x6d35(%rip), %rdx      # 0x1ed98
callq 0x52c0
jmp 0x1806a
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movzbl 0xe(%rax), %ecx
leaq 0x4353(%rip), %rsi      # 0x1c3d2
leaq 0x433f(%rip), %rax      # 0x1c3c5
cmpl $0x1, %ecx
cmoveq %rax, %rsi
callq 0x5670
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x6cff(%rip), %rdx      # 0x1eda2
callq 0x52c0
movl $0x1, %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)