// File: /workspace/github_c_makefile_star2_O0/Ziddykins[P]Dawn/src/monsters.c
// Function: monster_buff
static void monster_buff(enum MonsterType type, int pindex, int global) {
    switch (type) {
        case BERSERKER:
            global ? (dawn->global_monster.hp *= 2) : (dawn->players[pindex].personal_monster.hp *= 2);
            global ? (dawn->global_monster.str *= 2) : (dawn->players[pindex].personal_monster.str *= 2);
            global ? (dawn->global_monster.def *= 2) : (dawn->players[pindex].personal_monster.def *= 2);
            global ? (dawn->global_monster.intel *= 2) : (dawn->players[pindex].personal_monster.intel *= 2);
            global ? (dawn->global_monster.mdef *= 2) : (dawn->players[pindex].personal_monster.mdef *= 2);
            break;
        case ELDER:
            global ? (dawn->global_monster.exp *= 3) : (dawn->players[pindex].personal_monster.exp *= 3);
            break;
        case THIEF:
            global ? (dawn->global_monster.def *= 4) : (dawn->players[pindex].personal_monster.def *= 4);
            break;
        case TANK:
            global ? (dawn->global_monster.gold *= 5) : (dawn->players[pindex].personal_monster.gold *= 4);
            break;
        case BOSS:
            global ? (dawn->global_monster.hp *= 10) : (dawn->players[pindex].personal_monster.hp *= 10);
            global ? (dawn->global_monster.str *= 10) : (dawn->players[pindex].personal_monster.str *= 10);
            global ? (dawn->global_monster.def *= 10) : (dawn->players[pindex].personal_monster.def *= 10);
            global ? (dawn->global_monster.intel *= 10) : (dawn->players[pindex].personal_monster.intel *= 10);
            global ? (dawn->global_monster.mdef *= 10) : (dawn->players[pindex].personal_monster.mdef *= 10);
            global ? (dawn->global_monster.exp *= 6) : (dawn->players[pindex].personal_monster.exp *= 6);
            global ? (dawn->global_monster.gold *= 6) : (dawn->players[pindex].personal_monster.gold *= 6);
            break;
        case DEFMON:
            break;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl %edx, -0xc(%rbp)
movl -0x4(%rbp), %eax
movq %rax, -0x18(%rbp)
subq $0x5, %rax
ja 0x11330
movq -0x18(%rbp), %rax
leaq 0xe8b3(%rip), %rcx      # 0x1f75c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpl $0x0, -0xc(%rbp)
je 0x10ed2
leaq 0x17bb1(%rip), %rax     # 0x28a70
movq (%rax), %rax
movl 0xf2e40(%rax), %ecx
shll %ecx
movl %ecx, 0xf2e40(%rax)
jmp 0x10efe
leaq 0x17b97(%rip), %rax     # 0x28a70
movq (%rax), %rax
addq $0x1a0, %rax            # imm = 0x1A0
movslq -0x8(%rbp), %rcx
imulq $0x26a8, %rcx, %rcx     # imm = 0x26A8
addq %rcx, %rax
movl 0x110c(%rax), %ecx
shll %ecx
movl %ecx, 0x110c(%rax)
cmpl $0x0, -0xc(%rbp)
je 0x10f1e
leaq 0x17b65(%rip), %rax     # 0x28a70
movq (%rax), %rax
movl 0xf2e4c(%rax), %ecx
shll %ecx
movl %ecx, 0xf2e4c(%rax)
jmp 0x10f4a
leaq 0x17b4b(%rip), %rax     # 0x28a70
movq (%rax), %rax
addq $0x1a0, %rax            # imm = 0x1A0
movslq -0x8(%rbp), %rcx
imulq $0x26a8, %rcx, %rcx     # imm = 0x26A8
addq %rcx, %rax
movl 0x1118(%rax), %ecx
shll %ecx
movl %ecx, 0x1118(%rax)
cmpl $0x0, -0xc(%rbp)
je 0x10f6a
leaq 0x17b19(%rip), %rax     # 0x28a70
movq (%rax), %rax
movl 0xf2e48(%rax), %ecx
shll %ecx
movl %ecx, 0xf2e48(%rax)
jmp 0x10f96
leaq 0x17aff(%rip), %rax     # 0x28a70
movq (%rax), %rax
addq $0x1a0, %rax            # imm = 0x1A0
movslq -0x8(%rbp), %rcx
imulq $0x26a8, %rcx, %rcx     # imm = 0x26A8
addq %rcx, %rax
movl 0x1114(%rax), %ecx
shll %ecx
movl %ecx, 0x1114(%rax)
cmpl $0x0, -0xc(%rbp)
je 0x10fb6
leaq 0x17acd(%rip), %rax     # 0x28a70
movq (%rax), %rax
movl 0xf2e50(%rax), %ecx
shll %ecx
movl %ecx, 0xf2e50(%rax)
jmp 0x10fe2
leaq 0x17ab3(%rip), %rax     # 0x28a70
movq (%rax), %rax
addq $0x1a0, %rax            # imm = 0x1A0
movslq -0x8(%rbp), %rcx
imulq $0x26a8, %rcx, %rcx     # imm = 0x26A8
addq %rcx, %rax
movl 0x111c(%rax), %ecx
shll %ecx
movl %ecx, 0x111c(%rax)
cmpl $0x0, -0xc(%rbp)
je 0x11002
leaq 0x17a81(%rip), %rax     # 0x28a70
movq (%rax), %rax
movl 0xf2e54(%rax), %ecx
shll %ecx
movl %ecx, 0xf2e54(%rax)
jmp 0x1102e
leaq 0x17a67(%rip), %rax     # 0x28a70
movq (%rax), %rax
addq $0x1a0, %rax            # imm = 0x1A0
movslq -0x8(%rbp), %rcx
imulq $0x26a8, %rcx, %rcx     # imm = 0x26A8
addq %rcx, %rax
movl 0x1120(%rax), %ecx
shll %ecx
movl %ecx, 0x1120(%rax)
jmp 0x11330
cmpl $0x0, -0xc(%rbp)
je 0x11052
leaq 0x17a30(%rip), %rax     # 0x28a70
movq (%rax), %rax
imull $0x3, 0xf2e5c(%rax), %ecx
movl %ecx, 0xf2e5c(%rax)
jmp 0x1107d
leaq 0x17a17(%rip), %rax     # 0x28a70
movq (%rax), %rax
addq $0x1a0, %rax            # imm = 0x1A0
movslq -0x8(%rbp), %rcx
imulq $0x26a8, %rcx, %rcx     # imm = 0x26A8
addq %rcx, %rax
imull $0x3, 0x1128(%rax), %ecx
movl %ecx, 0x1128(%rax)
jmp 0x11330
cmpl $0x0, -0xc(%rbp)
je 0x110a3
leaq 0x179e1(%rip), %rax     # 0x28a70
movq (%rax), %rax
movl 0xf2e48(%rax), %ecx
shll $0x2, %ecx
movl %ecx, 0xf2e48(%rax)
jmp 0x110d0
leaq 0x179c6(%rip), %rax     # 0x28a70
movq (%rax), %rax
addq $0x1a0, %rax            # imm = 0x1A0
movslq -0x8(%rbp), %rcx
imulq $0x26a8, %rcx, %rcx     # imm = 0x26A8
addq %rcx, %rax
movl 0x1114(%rax), %ecx
shll $0x2, %ecx
movl %ecx, 0x1114(%rax)
jmp 0x11330
cmpl $0x0, -0xc(%rbp)
je 0x110f4
leaq 0x1798e(%rip), %rax     # 0x28a70
movq (%rax), %rax
imull $0x5, 0xf2e58(%rax), %ecx
movl %ecx, 0xf2e58(%rax)
jmp 0x11121
leaq 0x17975(%rip), %rax     # 0x28a70
movq (%rax), %rax
addq $0x1a0, %rax            # imm = 0x1A0
movslq -0x8(%rbp), %rcx
imulq $0x26a8, %rcx, %rcx     # imm = 0x26A8
addq %rcx, %rax
movl 0x1124(%rax), %ecx
shll $0x2, %ecx
movl %ecx, 0x1124(%rax)
jmp 0x11330
cmpl $0x0, -0xc(%rbp)
je 0x11145
leaq 0x1793d(%rip), %rax     # 0x28a70
movq (%rax), %rax
imull $0xa, 0xf2e40(%rax), %ecx
movl %ecx, 0xf2e40(%rax)
jmp 0x11170
leaq 0x17924(%rip), %rax     # 0x28a70
movq (%rax), %rax
addq $0x1a0, %rax            # imm = 0x1A0
movslq -0x8(%rbp), %rcx
imulq $0x26a8, %rcx, %rcx     # imm = 0x26A8
addq %rcx, %rax
imull $0xa, 0x110c(%rax), %ecx
movl %ecx, 0x110c(%rax)
cmpl $0x0, -0xc(%rbp)
je 0x1118f
leaq 0x178f3(%rip), %rax     # 0x28a70
movq (%rax), %rax
imull $0xa, 0xf2e4c(%rax), %ecx
movl %ecx, 0xf2e4c(%rax)
jmp 0x111ba
leaq 0x178da(%rip), %rax     # 0x28a70
movq (%rax), %rax
addq $0x1a0, %rax            # imm = 0x1A0
movslq -0x8(%rbp), %rcx
imulq $0x26a8, %rcx, %rcx     # imm = 0x26A8
addq %rcx, %rax
imull $0xa, 0x1118(%rax), %ecx
movl %ecx, 0x1118(%rax)
cmpl $0x0, -0xc(%rbp)
je 0x111d9
leaq 0x178a9(%rip), %rax     # 0x28a70
movq (%rax), %rax
imull $0xa, 0xf2e48(%rax), %ecx
movl %ecx, 0xf2e48(%rax)
jmp 0x11204
leaq 0x17890(%rip), %rax     # 0x28a70
movq (%rax), %rax
addq $0x1a0, %rax            # imm = 0x1A0
movslq -0x8(%rbp), %rcx
imulq $0x26a8, %rcx, %rcx     # imm = 0x26A8
addq %rcx, %rax
imull $0xa, 0x1114(%rax), %ecx
movl %ecx, 0x1114(%rax)
cmpl $0x0, -0xc(%rbp)
je 0x11223
leaq 0x1785f(%rip), %rax     # 0x28a70
movq (%rax), %rax
imull $0xa, 0xf2e50(%rax), %ecx
movl %ecx, 0xf2e50(%rax)
jmp 0x1124e
leaq 0x17846(%rip), %rax     # 0x28a70
movq (%rax), %rax
addq $0x1a0, %rax            # imm = 0x1A0
movslq -0x8(%rbp), %rcx
imulq $0x26a8, %rcx, %rcx     # imm = 0x26A8
addq %rcx, %rax
imull $0xa, 0x111c(%rax), %ecx
movl %ecx, 0x111c(%rax)
cmpl $0x0, -0xc(%rbp)
je 0x1126d
leaq 0x17815(%rip), %rax     # 0x28a70
movq (%rax), %rax
imull $0xa, 0xf2e54(%rax), %ecx
movl %ecx, 0xf2e54(%rax)
jmp 0x11298
leaq 0x177fc(%rip), %rax     # 0x28a70
movq (%rax), %rax
addq $0x1a0, %rax            # imm = 0x1A0
movslq -0x8(%rbp), %rcx
imulq $0x26a8, %rcx, %rcx     # imm = 0x26A8
addq %rcx, %rax
imull $0xa, 0x1120(%rax), %ecx
movl %ecx, 0x1120(%rax)
cmpl $0x0, -0xc(%rbp)
je 0x112b7
leaq 0x177cb(%rip), %rax     # 0x28a70
movq (%rax), %rax
imull $0x6, 0xf2e5c(%rax), %ecx
movl %ecx, 0xf2e5c(%rax)
jmp 0x112e2
leaq 0x177b2(%rip), %rax     # 0x28a70
movq (%rax), %rax
addq $0x1a0, %rax            # imm = 0x1A0
movslq -0x8(%rbp), %rcx
imulq $0x26a8, %rcx, %rcx     # imm = 0x26A8
addq %rcx, %rax
imull $0x6, 0x1128(%rax), %ecx
movl %ecx, 0x1128(%rax)
cmpl $0x0, -0xc(%rbp)
je 0x11301
leaq 0x17781(%rip), %rax     # 0x28a70
movq (%rax), %rax
imull $0x6, 0xf2e58(%rax), %ecx
movl %ecx, 0xf2e58(%rax)
jmp 0x1132c
leaq 0x17768(%rip), %rax     # 0x28a70
movq (%rax), %rax
addq $0x1a0, %rax            # imm = 0x1A0
movslq -0x8(%rbp), %rcx
imulq $0x26a8, %rcx, %rcx     # imm = 0x26A8
addq %rcx, %rax
imull $0x6, 0x1124(%rax), %ecx
movl %ecx, 0x1124(%rax)
jmp 0x11330
jmp 0x11330
popq %rbp
retq
nopw %cs:(%rax,%rax)