// File: NGageMegaman[P]NEScutre/src/ppu.cpp
// Function: Ppu::initColors()
void Ppu::initColors() {
    colors[0]  = (84  << 16) | (84  << 8 ) | 84;
    colors[1]  = (0   << 16) | (30  << 8 ) | 116;
    colors[2]  = (8   << 16) | (16  << 8 ) | 144;
    colors[3]  = (48  << 16) | (0   << 8 ) | 136;
    colors[4]  = (68  << 16) | (0   << 8 ) | 100;
    colors[5]  = (92  << 16) | (0   << 8 ) | 48;
    colors[6]  = (84  << 16) | (4   << 8 ) | 0;
    colors[7]  = (60  << 16) | (24  << 8 ) | 0;
    colors[8]  = (32  << 16) | (42  << 8 ) | 0;
    colors[9]  = (8   << 16) | (58  << 8 ) | 0;
    colors[10] = (0   << 16) | (64  << 8 ) | 0;
    colors[11] = (0   << 16) | (60  << 8 ) | 0;
    colors[12] = (0   << 16) | (50  << 8 ) | 0;
    colors[13] = (0   << 16) | (0   << 8 ) | 0;
    colors[14] = (0   << 16) | (0   << 8 ) | 0;
    colors[15] = (0   << 16) | (0   << 8 ) | 0;
    colors[16] = (152 << 16) | (150 << 8 ) | 152;
    colors[17] = (8   << 16) | (76  << 8 ) | 196;
    colors[18] = (48  << 16) | (50  << 8 ) | 236;
    colors[19] = (92  << 16) | (30  << 8 ) | 228;
    colors[20] = (136 << 16) | (20  << 8 ) | 176;
    colors[21] = (160 << 16) | (20  << 8 ) | 100;
    colors[22] = (152 << 16) | (34  << 8 ) | 32;
    colors[23] = (120 << 16) | (60  << 8 ) | 0;
    colors[24] = (84  << 16) | (90  << 8 ) | 0;
    colors[25] = (40  << 16) | (114 << 8 ) | 0;
    colors[26] = (8   << 16) | (124 << 8 ) | 0;
    colors[27] = (0   << 16) | (118 << 8 ) | 40;
    colors[28] = (0   << 16) | (102 << 8 ) | 120;
    colors[29] = (0   << 16) | (0   << 8 ) | 0;
    colors[30] = (0   << 16) | (0   << 8 ) | 0;
    colors[31] = (0   << 16) | (0   << 8 ) | 0;
    colors[32] = (236 << 16) | (238 << 8 ) | 236;
    colors[33] = (76  << 16) | (154 << 8 ) | 236;
    colors[34] = (120 << 16) | (124 << 8 ) | 236;
    colors[35] = (176 << 16) | (98  << 8 ) | 236;
    colors[36] = (228 << 16) | (84  << 8 ) | 236;
    colors[37] = (236 << 16) | (88  << 8 ) | 180;
    colors[38] = (236 << 16) | (106 << 8 ) | 100;
    colors[39] = (212 << 16) | (136 << 8 ) | 32;
    colors[40] = (160 << 16) | (170 << 8 ) | 0;
    colors[41] = (116 << 16) | (196 << 8 ) | 0;
    colors[42] = (76  << 16) | (208 << 8 ) | 32;
    colors[43] = (56  << 16) | (204 << 8 ) | 108;
    colors[44] = (56  << 16) | (180 << 8 ) | 204;
    colors[45] = (60  << 16) | (60  << 8 ) | 60;
    colors[46] = (0   << 16) | (0   << 8 ) | 0;
    colors[47] = (0   << 16) | (0   << 8 ) | 0;
    colors[48] = (236 << 16) | (238 << 8 ) | 236;
    colors[49] = (168 << 16) | (204 << 8 ) | 236;
    colors[50] = (188 << 16) | (188 << 8 ) | 236;
    colors[51] = (212 << 16) | (178 << 8 ) | 236;
    colors[52] = (236 << 16) | (174 << 8 ) | 236;
    colors[53] = (236 << 16) | (174 << 8 ) | 212;
    colors[54] = (236 << 16) | (180 << 8 ) | 176;
    colors[55] = (228 << 16) | (196 << 8 ) | 144;
    colors[56] = (204 << 16) | (210 << 8 ) | 120;
    colors[57] = (180 << 16) | (222 << 8 ) | 120;
    colors[58] = (168 << 16) | (226 << 8 ) | 144;
    colors[59] = (152 << 16) | (226 << 8 ) | 180;
    colors[60] = (160 << 16) | (214 << 8 ) | 228;
    colors[61] = (160 << 16) | (162 << 8 ) | 160;
    colors[62] = (0   << 16) | (0   << 8 ) | 0;
    colors[63] = (0   << 16) | (0   << 8 ) | 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movl $0x545454, 0x38(%rax)   # imm = 0x545454
movl $0x1e74, 0x3c(%rax)     # imm = 0x1E74
movl $0x81090, 0x40(%rax)    # imm = 0x81090
movl $0x300088, 0x44(%rax)   # imm = 0x300088
movl $0x440064, 0x48(%rax)   # imm = 0x440064
movl $0x5c0030, 0x4c(%rax)   # imm = 0x5C0030
movl $0x540400, 0x50(%rax)   # imm = 0x540400
movl $0x3c1800, 0x54(%rax)   # imm = 0x3C1800
movl $0x202a00, 0x58(%rax)   # imm = 0x202A00
movl $0x83a00, 0x5c(%rax)    # imm = 0x83A00
movl $0x4000, 0x60(%rax)     # imm = 0x4000
movl $0x3c00, 0x64(%rax)     # imm = 0x3C00
movl $0x3200, 0x68(%rax)     # imm = 0x3200
movl $0x0, 0x6c(%rax)
movl $0x0, 0x70(%rax)
movl $0x0, 0x74(%rax)
movl $0x989698, 0x78(%rax)   # imm = 0x989698
movl $0x84cc4, 0x7c(%rax)    # imm = 0x84CC4
movl $0x3032ec, 0x80(%rax)   # imm = 0x3032EC
movl $0x5c1ee4, 0x84(%rax)   # imm = 0x5C1EE4
movl $0x8814b0, 0x88(%rax)   # imm = 0x8814B0
movl $0xa01464, 0x8c(%rax)   # imm = 0xA01464
movl $0x982220, 0x90(%rax)   # imm = 0x982220
movl $0x783c00, 0x94(%rax)   # imm = 0x783C00
movl $0x545a00, 0x98(%rax)   # imm = 0x545A00
movl $0x287200, 0x9c(%rax)   # imm = 0x287200
movl $0x87c00, 0xa0(%rax)    # imm = 0x87C00
movl $0x7628, 0xa4(%rax)     # imm = 0x7628
movl $0x6678, 0xa8(%rax)     # imm = 0x6678
movl $0x0, 0xac(%rax)
movl $0x0, 0xb0(%rax)
movl $0x0, 0xb4(%rax)
movl $0xeceeec, 0xb8(%rax)   # imm = 0xECEEEC
movl $0x4c9aec, 0xbc(%rax)   # imm = 0x4C9AEC
movl $0x787cec, 0xc0(%rax)   # imm = 0x787CEC
movl $0xb062ec, 0xc4(%rax)   # imm = 0xB062EC
movl $0xe454ec, 0xc8(%rax)   # imm = 0xE454EC
movl $0xec58b4, 0xcc(%rax)   # imm = 0xEC58B4
movl $0xec6a64, 0xd0(%rax)   # imm = 0xEC6A64
movl $0xd48820, 0xd4(%rax)   # imm = 0xD48820
movl $0xa0aa00, 0xd8(%rax)   # imm = 0xA0AA00
movl $0x74c400, 0xdc(%rax)   # imm = 0x74C400
movl $0x4cd020, 0xe0(%rax)   # imm = 0x4CD020
movl $0x38cc6c, 0xe4(%rax)   # imm = 0x38CC6C
movl $0x38b4cc, 0xe8(%rax)   # imm = 0x38B4CC
movl $0x3c3c3c, 0xec(%rax)   # imm = 0x3C3C3C
movl $0x0, 0xf0(%rax)
movl $0x0, 0xf4(%rax)
movl $0xeceeec, 0xf8(%rax)   # imm = 0xECEEEC
movl $0xa8ccec, 0xfc(%rax)   # imm = 0xA8CCEC
movl $0xbcbcec, 0x100(%rax)  # imm = 0xBCBCEC
movl $0xd4b2ec, 0x104(%rax)  # imm = 0xD4B2EC
movl $0xecaeec, 0x108(%rax)  # imm = 0xECAEEC
movl $0xecaed4, 0x10c(%rax)  # imm = 0xECAED4
movl $0xecb4b0, 0x110(%rax)  # imm = 0xECB4B0
movl $0xe4c490, 0x114(%rax)  # imm = 0xE4C490
movl $0xccd278, 0x118(%rax)  # imm = 0xCCD278
movl $0xb4de78, 0x11c(%rax)  # imm = 0xB4DE78
movl $0xa8e290, 0x120(%rax)  # imm = 0xA8E290
movl $0x98e2b4, 0x124(%rax)  # imm = 0x98E2B4
movl $0xa0d6e4, 0x128(%rax)  # imm = 0xA0D6E4
movl $0xa0a2a0, 0x12c(%rax)  # imm = 0xA0A2A0
movl $0x0, 0x130(%rax)
movl $0x0, 0x134(%rax)
popq %rbp
retq
nopl (%rax,%rax)