/* rap 7.0.0.22 (025fd18c) -- named functions * generated by fw/ta_re.py -- do not edit * reference: rap_7.0.2.19_f368676e.elf * functions: 2 total in build, 1 named, 1 anonymous * porting tiers: {"DISPATCH": 0, "EXACT": 0, "FUZZY": 1, "MNEM": 0, "ambiguous": 0, "cmd_protos": 0, "comments": 0, "dispatch_conflict": 0, "none": 1, "protos": 0, "relabelled": 0, "types": 1} * * Addresses are omitted and functions are ordered by NAME so that the same * function lines up across versions. See the .index.json sidecar for * name -> address. * * CAUTION on ported names: a name is only an identity claim at tier=EXACT. * At tier=MNEM/FUZZY the bytes differ from the reference, so any ADDRESS or * CONTENT HASH embedded in the name (e.g. *_4025F8, gcp_lib__*) still * refers to the REFERENCE build and does not describe this one. */ /* ==== start [tier=FUZZY size=5648] ==== */ int __fastcall start(int a1, int a2, int a3, int a4) { int v4; // r6 char v5; // r7 int v6; // r9 int v7; // r4 unsigned int v8; // r0 unsigned int v9; // r1 _DWORD *v10; // r0 int *v11; // r3 _DWORD *v12; // r2 unsigned int v13; // r4 int result; // r0 int v15; // r2 int v16; // r0 bool v17; // zf v7 = a3 + __CFSHL__(112, 1) + 224; *(_BYTE *)(v7 + 1) = v5; *(_DWORD *)(v4 + 20) = v7; *(_DWORD *)(((__int16)v7 >> 15) + 0x10) = v4; *(_BYTE *)(v4 + 1) = 2 * (a4 + a3); if ( __OFSUB__(v4, 100) ) __udf(0x9Du); *(_DWORD *)(*(_DWORD *)(((__int16)v7 >> 15) + 0x14) + 20) = a4; v8 = (a4 + a3) << 21 >> 8; *(_DWORD *)(v8 + 16) = (v7 << 16) + v6; *(_DWORD *)(((__int16)v7 >> 15) + 0x44) = (__int16)v7 >> 15; *(_DWORD *)(((__int16)v7 >> 15) + 0x60) = v4; v9 = v8; v10 = (_DWORD *)(8 * ((v8 >> 20) + ((__int16)v7 >> 15))); v11 = nullptr; v12 = v10; *(_DWORD *)(v9 + 48) = 0; *(_DWORD *)(v9 + 52) = 0; v13 = *v10 - 25; result = 6; if ( v13 <= 0x1A ) { if ( ((1 << v13) & dword_401710) != 0 ) { v15 = 0; LABEL_7: *(_DWORD *)(v9 + 48) = v11; *(_DWORD *)(v9 + 52) = v15; return result; } if ( v13 == 0 ) { v16 = v12[3]; v15 = 0; v11 = (int *)off_401714; v17 = v16 == 2; result = 6; if ( v17 ) { result = 1; v15 = 49; } else { v11 = nullptr; } goto LABEL_7; } } return result; }