int sub_80000B40() { signed int v1; // r5@6 int *v2; // r1@6 const char *v3; // r0@6 unsigned int v4; // r4@8 int v5; // r0@10 const char *v6; // r0@11 char v7; // [sp+8h] [bp-278h]@1 int v8; // [sp+230h] [bp-50h]@6 char v9; // [sp+248h] [bp-38h]@8 if ( !sub_80003ED8(&v7, "UTX-1013.bin", 1) ) { v1 = 1; v2 = &v8; v3 = "UTX-1013.bin"; LABEL_8: sub_8000448C(v3, v2); sub_800017D0(202, 208, 397, 64); sub_800017D0(204, 210, 393, 60); sub_80004228(&v7, dword_80007460, v8, 0); sub_80003DF4(&v7); sub_80000350(&v9, 0x8001B460, 12); sub_80000488(0x8001B460, 12, 255); v4 = 0; do { sub_80002AA8(0xFFFF * v4 + 77824, (char *)dword_80007460 + 0xFFFF * v4, 0xFFFF); sub_800017D0((13 * v4++ + 207) & 0xFFFF, 213, 10, 54); } while ( v4 < 0x1E ); sub_80000350(dword_80007460, &v9, 12); v5 = sub_80002AB8(0, dword_80007460, 159744, 12); switch ( v1 ) { case 1: v6 = "UTX-1013.bin"; break; case 2: v6 = "FSI-1013.bin"; break; case 3: v6 = "DAN-1013.bin"; break; default: if ( v1 != 4 ) LABEL_22: sub_800030CC(v5); v6 = "YPK-1013.bin"; break; } v5 = sub_800046E0(v6); goto LABEL_22; } sub_80003DF4(&v7); if ( !sub_80003ED8(&v7, "FSI-1013.bin", 1) ) { v1 = 2; v2 = &v8; v3 = "FSI-1013.bin"; goto LABEL_8; } sub_80003DF4(&v7); if ( !sub_80003ED8(&v7, "DAN-1013.bin", 1) ) { v1 = 3; v2 = &v8; v3 = "DAN-1013.bin"; goto LABEL_8; } sub_80003DF4(&v7); if ( !sub_80003ED8(&v7, "YPK_1013.bin", 1) ) { v1 = 4; v2 = &v8; v3 = "YPK_1013.bin"; goto LABEL_8; } return sub_80003DF4(&v7); }