Open trngaje opened 3 months ago
code ** create_menu_options(long param_1,code *param_2) { int iVar1; undefined4 uVar2; code **ppcVar3; undefined8 *puVar4; char **ppcVar5; char **ppcVar6; char **ppcVar7; long lVar8; lVar8 = *(long *)(param_1 + 8); ppcVar3 = (code **)malloc(0x30); *(undefined8 *)((long)ppcVar3 + 0x14) = 0x19; *ppcVar3 = draw_menu_options; ppcVar3[1] = focus_menu_none; ppcVar3[5] = param_2; puVar4 = (undefined8 *)malloc(200); ppcVar3[4] = (code *)puVar4; ppcVar5 = (char **)malloc(0x48); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x40); } ppcVar6 = ppcVar7; if (ppcVar7 == (char **)0x0) { ppcVar6 = (char **)malloc(0x30); } *ppcVar6 = "Frame skip type "; *(undefined4 *)(ppcVar6 + 1) = 0x1e; ppcVar6[2] = (char *)draw_numeric; ppcVar6[3] = (char *)action_numeric; ppcVar6[4] = (char *)0x0; ppcVar6[5] = (char *)0x0; ppcVar7[6] = (char *)(lVar8 + 0x440); ppcVar7[7] = (char *)0x200000000; *puVar4 = ppcVar5; ppcVar5[2] = (char *)draw_numeric_labeled; ppcVar5[8] = frameskip_labels.11546; ppcVar5 = (char **)malloc(0x40); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x30); } *(undefined4 *)(ppcVar7 + 1) = 0x1f; *ppcVar7 = "Frame skip value "; ppcVar7[2] = (char *)draw_numeric; ppcVar7[3] = (char *)action_numeric; ppcVar7[4] = (char *)0x0; ppcVar7[5] = (char *)0x0; ppcVar5[6] = (char *)(lVar8 + 0x444); ppcVar5[7] = (char *)0x900000001; puVar4[1] = ppcVar5; ppcVar5 = (char **)malloc(0x48); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x40); } ppcVar6 = ppcVar7; if (ppcVar7 == (char **)0x0) { ppcVar6 = (char **)malloc(0x30); } *ppcVar6 = "Safe frame skipping "; *(undefined4 *)(ppcVar6 + 1) = 0x20; ppcVar6[2] = (char *)draw_numeric; ppcVar6[3] = (char *)action_numeric; ppcVar6[4] = (char *)0x0; ppcVar6[5] = (char *)0x0; ppcVar7[6] = (char *)(lVar8 + 0x4a8); ppcVar7[7] = (char *)0x100000000; puVar4[2] = ppcVar5; ppcVar5[2] = (char *)draw_numeric_labeled; ppcVar5[8] = yes_no_labels.11545; ppcVar5 = (char **)malloc(0x48); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x40); } ppcVar6 = ppcVar7; if (ppcVar7 == (char **)0x0) { ppcVar6 = (char **)malloc(0x30); } *ppcVar6 = "Screen orientation "; *(undefined4 *)(ppcVar6 + 1) = 0x22; ppcVar6[2] = (char *)draw_numeric; ppcVar6[3] = (char *)action_numeric; ppcVar6[4] = (char *)0x0; ppcVar6[5] = (char *)0x0; ppcVar7[6] = (char *)(param_1 + 0x50); ppcVar7[7] = (char *)0x200000000; puVar4[3] = ppcVar5; ppcVar5[2] = (char *)draw_numeric_labeled; ppcVar5[8] = orientation_labels.11547; ppcVar5 = (char **)malloc(0x48); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x40); } ppcVar6 = ppcVar7; if (ppcVar7 == (char **)0x0) { ppcVar6 = (char **)malloc(0x30); } *ppcVar6 = "Screen swap "; *(undefined4 *)(ppcVar6 + 1) = 0x23; ppcVar6[2] = (char *)draw_numeric; ppcVar6[3] = (char *)action_numeric; ppcVar6[4] = (char *)0x0; ppcVar6[5] = (char *)0x0; ppcVar7[6] = (char *)(lVar8 + 0x454); ppcVar7[7] = (char *)0x100000000; puVar4[4] = ppcVar5; ppcVar5[2] = (char *)draw_numeric_labeled; ppcVar5[8] = yes_no_labels.11545; ppcVar5 = (char **)malloc(0x48); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x40); } ppcVar6 = ppcVar7; if (ppcVar7 == (char **)0x0) { ppcVar6 = (char **)malloc(0x30); } *ppcVar6 = "Show speed "; *(undefined4 *)(ppcVar6 + 1) = 0x24; ppcVar6[2] = (char *)draw_numeric; ppcVar6[3] = (char *)action_numeric; ppcVar6[4] = (char *)0x0; ppcVar6[5] = (char *)0x0; ppcVar7[6] = (char *)(lVar8 + 0x448); ppcVar7[7] = (char *)0x100000000; puVar4[5] = ppcVar5; ppcVar5[2] = (char *)draw_numeric_labeled; ppcVar5[8] = yes_no_labels.11545; ppcVar5 = (char **)malloc(0x48); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x40); } ppcVar6 = ppcVar7; if (ppcVar7 == (char **)0x0) { ppcVar6 = (char **)malloc(0x30); } *ppcVar6 = "Enable sound "; *(undefined4 *)(ppcVar6 + 1) = 0x25; ppcVar6[2] = (char *)draw_numeric; ppcVar6[3] = (char *)action_numeric; ppcVar6[4] = (char *)0x0; ppcVar6[5] = (char *)0x0; ppcVar7[6] = (char *)(lVar8 + 0x460); ppcVar7[7] = (char *)0x100000000; puVar4[6] = ppcVar5; ppcVar5[2] = (char *)draw_numeric_labeled; ppcVar5[8] = yes_no_labels.11545; ppcVar5 = (char **)malloc(0x48); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x40); } ppcVar6 = ppcVar7; if (ppcVar7 == (char **)0x0) { ppcVar6 = (char **)malloc(0x30); } *ppcVar6 = "Fast forward "; *(undefined4 *)(ppcVar6 + 1) = 0x26; ppcVar6[2] = (char *)draw_numeric; ppcVar6[3] = (char *)action_numeric; ppcVar6[4] = (char *)0x0; ppcVar6[5] = (char *)0x0; ppcVar7[6] = (char *)(lVar8 + 0x45c); ppcVar7[7] = (char *)0x100000000; puVar4[7] = ppcVar5; ppcVar5[2] = (char *)draw_numeric_labeled; ppcVar5[8] = yes_no_labels.11545; ppcVar5 = (char **)malloc(0x48); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x40); } ppcVar6 = ppcVar7; if (ppcVar7 == (char **)0x0) { ppcVar6 = (char **)malloc(0x30); } *ppcVar6 = "Mirror touchscreen "; *(undefined4 *)(ppcVar6 + 1) = 0x27; ppcVar6[2] = (char *)draw_numeric; ppcVar6[3] = (char *)action_numeric; ppcVar6[4] = (char *)0x0; ppcVar6[5] = (char *)0x0; ppcVar7[6] = (char *)(lVar8 + 0x46c); ppcVar7[7] = (char *)0x100000000; puVar4[8] = ppcVar5; ppcVar5[2] = (char *)draw_numeric_labeled; ppcVar5[8] = yes_no_labels.11545; ppcVar5 = (char **)malloc(0x48); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x40); } ppcVar6 = ppcVar7; if (ppcVar7 == (char **)0x0) { ppcVar6 = (char **)malloc(0x30); } *ppcVar6 = "Compress savestates "; *(undefined4 *)(ppcVar6 + 1) = 0x28; ppcVar6[2] = (char *)draw_numeric; ppcVar6[3] = (char *)action_numeric; ppcVar6[4] = (char *)0x0; ppcVar6[5] = (char *)0x0; ppcVar7[6] = (char *)(lVar8 + 0x470); ppcVar7[7] = (char *)0x100000000; puVar4[9] = ppcVar5; ppcVar5[2] = (char *)draw_numeric_labeled; ppcVar5[8] = yes_no_labels.11545; ppcVar5 = (char **)malloc(0x48); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x40); } ppcVar6 = ppcVar7; if (ppcVar7 == (char **)0x0) { ppcVar6 = (char **)malloc(0x30); } *ppcVar6 = "Snapshot in savestates "; *(undefined4 *)(ppcVar6 + 1) = 0x29; ppcVar6[2] = (char *)draw_numeric; ppcVar6[3] = (char *)action_numeric; ppcVar6[4] = (char *)0x0; ppcVar6[5] = (char *)0x0; ppcVar7[6] = (char *)(lVar8 + 0x474); ppcVar7[7] = (char *)0x100000000; puVar4[10] = ppcVar5; ppcVar5[2] = (char *)draw_numeric_labeled; ppcVar5[8] = yes_no_labels.11545; ppcVar5 = (char **)malloc(0x48); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x40); } ppcVar6 = ppcVar7; if (ppcVar7 == (char **)0x0) { ppcVar6 = (char **)malloc(0x30); } *ppcVar6 = "Enable cheats "; *(undefined4 *)(ppcVar6 + 1) = 0x2a; ppcVar6[2] = (char *)draw_numeric; ppcVar6[3] = (char *)action_numeric; ppcVar6[4] = (char *)0x0; ppcVar6[5] = (char *)0x0; ppcVar7[6] = (char *)(lVar8 + 0x478); ppcVar7[7] = (char *)0x100000000; puVar4[0xb] = ppcVar5; ppcVar5[2] = (char *)draw_numeric_labeled; ppcVar5[8] = yes_no_labels.11545; ppcVar5 = (char **)malloc(0x48); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x40); } ppcVar6 = ppcVar7; if (ppcVar7 == (char **)0x0) { ppcVar6 = (char **)malloc(0x30); } *ppcVar6 = "Uncompress ROMs "; *(undefined4 *)(ppcVar6 + 1) = 0x2b; ppcVar6[2] = (char *)draw_numeric; ppcVar6[3] = (char *)action_numeric; ppcVar6[4] = (char *)0x0; ppcVar6[5] = (char *)0x0; ppcVar7[6] = (char *)(lVar8 + 0x47c); ppcVar7[7] = (char *)0x100000000; puVar4[0xc] = ppcVar5; ppcVar5[2] = (char *)draw_numeric_labeled; ppcVar5[8] = yes_no_labels.11545; ppcVar5 = (char **)malloc(0x48); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x40); } ppcVar6 = ppcVar7; if (ppcVar7 == (char **)0x0) { ppcVar6 = (char **)malloc(0x30); } *ppcVar6 = "Backup in savestates "; *(undefined4 *)(ppcVar6 + 1) = 0x2c; ppcVar6[2] = (char *)draw_numeric; ppcVar6[3] = (char *)action_numeric; ppcVar6[4] = (char *)0x0; ppcVar6[5] = (char *)0x0; ppcVar7[6] = (char *)(lVar8 + 0x480); ppcVar7[7] = (char *)0x100000000; puVar4[0xd] = ppcVar5; ppcVar5[2] = (char *)draw_numeric_labeled; ppcVar5[8] = yes_no_labels.11545; ppcVar5 = (char **)malloc(0x48); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x40); } ppcVar6 = ppcVar7; if (ppcVar7 == (char **)0x0) { ppcVar6 = (char **)malloc(0x30); } *ppcVar6 = "Speed override "; *(undefined4 *)(ppcVar6 + 1) = 0x2d; ppcVar6[2] = (char *)draw_numeric; ppcVar6[3] = (char *)action_numeric; ppcVar6[4] = (char *)0x0; ppcVar6[5] = (char *)0x0; ppcVar7[6] = (char *)(param_1 + 0x54); ppcVar7[7] = (char *)0x700000000; puVar4[0xe] = ppcVar5; ppcVar5[2] = (char *)draw_numeric_labeled; ppcVar5[8] = speed_override_labels.11550; ppcVar5 = (char **)malloc(0x48); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x40); } ppcVar6 = ppcVar7; if (ppcVar7 == (char **)0x0) { ppcVar6 = (char **)malloc(0x30); } *ppcVar6 = "Fix main 2D screen "; *(undefined4 *)(ppcVar6 + 1) = 0x2e; ppcVar6[2] = (char *)draw_numeric; ppcVar6[3] = (char *)action_numeric; ppcVar6[4] = (char *)0x0; ppcVar6[5] = (char *)0x0; ppcVar7[6] = (char *)(lVar8 + 0x494); ppcVar7[7] = (char *)0x100000000; puVar4[0xf] = ppcVar5; ppcVar5[2] = (char *)draw_numeric_labeled; ppcVar5[8] = yes_no_labels.11545; ppcVar5 = (char **)malloc(0x48); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x40); } ppcVar6 = ppcVar7; if (ppcVar7 == (char **)0x0) { ppcVar6 = (char **)malloc(0x30); } *ppcVar6 = "Disable edge marking "; *(undefined4 *)(ppcVar6 + 1) = 0x2f; ppcVar6[2] = (char *)draw_numeric; ppcVar6[3] = (char *)action_numeric; ppcVar6[4] = (char *)0x0; ppcVar6[5] = (char *)0x0; ppcVar7[6] = (char *)(lVar8 + 0x498); ppcVar7[7] = (char *)0x100000000; puVar4[0x10] = ppcVar5; ppcVar5[2] = (char *)draw_numeric_labeled; ppcVar5[8] = yes_no_labels.11545; ppcVar5 = (char **)malloc(0x48); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x40); } ppcVar6 = ppcVar7; if (ppcVar7 == (char **)0x0) { ppcVar6 = (char **)malloc(0x30); } *ppcVar6 = "Slot 2 Device "; *(undefined4 *)(ppcVar6 + 1) = 0x30; ppcVar6[2] = (char *)draw_numeric; ppcVar6[3] = (char *)action_numeric; ppcVar6[4] = (char *)0x0; ppcVar6[5] = (char *)0x0; ppcVar7[6] = (char *)(lVar8 + 0x4ac); ppcVar7[7] = (char *)0x300000000; puVar4[0x11] = ppcVar5; ppcVar5[2] = (char *)draw_numeric_labeled; ppcVar5[8] = slot2_device_type_labels.11551; ppcVar5 = (char **)malloc(0x48); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x40); } ppcVar6 = ppcVar7; if (ppcVar7 == (char **)0x0) { ppcVar6 = (char **)malloc(0x30); } *ppcVar6 = "High-resolution 3D "; *(undefined4 *)(ppcVar6 + 1) = 0x31; ppcVar6[2] = (char *)draw_numeric; ppcVar6[3] = (char *)action_numeric; ppcVar6[4] = (char *)0x0; ppcVar6[5] = (char *)0x0; ppcVar7[6] = (char *)(lVar8 + 0x49c); ppcVar7[7] = (char *)0x100000000; puVar4[0x12] = ppcVar5; ppcVar5[2] = (char *)draw_numeric_labeled; ppcVar5[8] = yes_no_labels.11545; ppcVar5 = (char **)malloc(0x48); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x40); } ppcVar6 = ppcVar7; if (ppcVar7 == (char **)0x0) { ppcVar6 = (char **)malloc(0x30); } *ppcVar6 = "Threaded 3D "; *(undefined4 *)(ppcVar6 + 1) = 0x32; ppcVar6[2] = (char *)draw_numeric; ppcVar6[3] = (char *)action_numeric; ppcVar6[4] = (char *)0x0; ppcVar6[5] = (char *)0x0; ppcVar7[6] = (char *)(lVar8 + 0x468); ppcVar7[7] = (char *)0x100000000; puVar4[0x13] = ppcVar5; ppcVar5[2] = (char *)draw_numeric_labeled; ppcVar5[8] = yes_no_labels.11545; ppcVar5 = (char **)malloc(0x38); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x30); } *ppcVar7 = "Delete game-specific config"; *(undefined4 *)(ppcVar7 + 1) = 0x34; ppcVar7[2] = (char *)draw_menu_option; ppcVar7[3] = (char *)action_select; ppcVar7[4] = (char *)0x0; ppcVar7[5] = (char *)0x0; puVar4[0x14] = ppcVar5; ppcVar5[6] = (char *)select_delete_config_local; ppcVar5 = (char **)malloc(0x38); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x30); } *ppcVar7 = "Exit: save for all games"; *(undefined4 *)(ppcVar7 + 1) = 0x36; ppcVar7[2] = (char *)draw_menu_option; ppcVar7[3] = (char *)action_select; ppcVar7[4] = (char *)0x0; ppcVar7[5] = (char *)0x0; puVar4[0x15] = ppcVar5; ppcVar5[6] = (char *)select_save_config_global; ppcVar5 = (char **)malloc(0x38); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x30); } *ppcVar7 = "Exit: save for this game"; *(undefined4 *)(ppcVar7 + 1) = 0x37; ppcVar7[2] = (char *)draw_menu_option; ppcVar7[3] = (char *)action_select; ppcVar7[4] = (char *)0x0; ppcVar7[5] = (char *)0x0; puVar4[0x16] = ppcVar5; ppcVar5[6] = (char *)select_save_config_local; ppcVar5 = (char **)malloc(0x38); ppcVar7 = ppcVar5; if (ppcVar5 == (char **)0x0) { ppcVar7 = (char **)malloc(0x30); } iVar1 = *(int *)(param_1 + 0x40); *ppcVar7 = "Exit without saving"; *(undefined4 *)(ppcVar7 + 1) = 0x38; ppcVar7[2] = (char *)draw_menu_option; ppcVar7[3] = (char *)action_select; ppcVar7[4] = (char *)0x0; ppcVar7[5] = (char *)0x0; puVar4[0x17] = ppcVar5; uVar2 = 0x5c; if (iVar1 == 0) { uVar2 = 0x100; } *(undefined4 *)(ppcVar3 + 2) = uVar2; *(undefined4 *)((long)ppcVar3 + 0x14) = 0x18; ppcVar5[6] = (char *)select_exit_current_menu; return ppcVar3; }
(undefined4 )((long)ppcVar3 + 0x14) = 0x18; 이게 메뉴 갯수인가?