int __usercall sub_951F50<eax>(int a1<eax>, int a2<ebx>, int a3<edi>, int a4<esi>, double a5<st0>, int a6, int a7, int a8, double *a9) { int fonttype1; // ecx@1 int v10; // edx@3 __int16 v11; // ST110_2@3 int v12; // edx@7 int v13; // eax@7 int v14; // ecx@7 int v15; // edx@9 int v16; // ecx@11 float v17; // STDC_4@12 __int16 v18; // fps@11 int v19; // eax@15 int v20; // eax@15 int v21; // ST110_4@15 int v22; // ecx@15 int v23; // edx@15 int v24; // edx@19 float v25; // STC8_4@20 __int16 v26; // fps@19 int v27; // ecx@20 int v28; // STF0_4@20 int v29; // STEC_4@20 int v30; // eax@23 int fonttype2; // edx@25 int v32; // eax@27 bool v33; // ebx@27 int v34; // eax@27 unsigned __int16 v35; // ST110_2@27 __int16 v36; // ax@28 int v37; // eax@28 __int16 v38; // ax@28 unsigned __int8 v39; // of@28 __int16 v40; // ax@29 int v41; // et2@29 int v42; // eax@33 int v43; // eax@33 int v44; // ecx@33 int v45; // edx@35 int v46; // edx@37 float v47; // STB4_4@38 __int16 v48; // fps@37 int v49; // eax@40 bool v50; // ebx@40 int v51; // eax@40 int v52; // ecx@40 unsigned __int16 v53; // ST110_2@40 __int16 v54; // ax@41 int v55; // eax@41 __int16 v56; // ax@41 unsigned __int8 v57; // of@41 __int16 v58; // ax@42 int v59; // et2@42 int v60; // edx@46 int v61; // eax@46 int v62; // eax@46 int v63; // eax@46 int v64; // ecx@48 int v65; // ecx@50 float v66; // STA0_4@51 __int16 v67; // fps@50 int v68; // eax@53 int v69; // ecx@53 bool v70; // ebx@53 int v71; // eax@53 unsigned __int16 v72; // ST110_2@53 __int16 v73; // ax@54 int v74; // eax@54 __int16 v75; // ax@54 unsigned __int8 v76; // of@54 __int16 v77; // ax@55 int v78; // et2@55 int v79; // edx@59 int v80; // eax@59 int v81; // eax@59 int v82; // eax@59 int v83; // ecx@61 int v84; // ecx@63 float v85; // ST8C_4@64 __int16 v86; // fps@63 int v87; // eax@66 int v88; // ecx@66 bool v89; // ebx@66 int v90; // eax@66 unsigned __int16 v91; // ST110_2@66 __int16 v92; // ax@67 int v93; // eax@67 __int16 v94; // ax@67 unsigned __int8 v95; // of@67 __int16 v96; // ax@68 int v97; // et2@68 int v98; // edx@72 int v99; // eax@72 int v100; // eax@72 int v101; // eax@72 int v102; // ecx@74 int v103; // ecx@76 float v104; // ST78_4@77 __int16 v105; // fps@76 int v106; // eax@79 int v107; // ecx@79 bool v108; // ebx@79 int v109; // eax@79 unsigned __int16 v110; // ST110_2@79 __int16 v111; // ax@80 int v112; // eax@80 __int16 v113; // ax@80 unsigned __int8 v114; // of@80 unsigned __int8 v115; // of@81 __int16 v116; // ax@81 __int16 v117; // ax@82 int v118; // et2@82 int v119; // edx@86 int v120; // eax@86 int v121; // eax@86 int v122; // eax@86 int v123; // ecx@88 int v124; // ecx@90 float v125; // ST64_4@91 __int16 v126; // fps@90 int v127; // eax@93 int v128; // ecx@93 bool v129; // ebx@93 int v130; // eax@93 unsigned __int16 v131; // ST110_2@93 __int16 v132; // ax@94 int v133; // eax@94 __int16 v134; // ax@94 unsigned __int8 v135; // of@94 unsigned __int8 v136; // of@95 __int16 v137; // ax@95 __int16 v138; // ax@96 int v139; // et2@96 int v140; // edx@100 int v141; // eax@100 int v142; // eax@100 int v143; // eax@100 int v144; // ecx@102 int v145; // ecx@104 float v146; // ST50_4@105 __int16 v147; // fps@104 int v148; // eax@107 bool v149; // ebx@107 int v150; // eax@107 unsigned __int16 v151; // ST110_2@107 __int16 v152; // ax@108 int v153; // eax@108 __int16 v154; // ax@108 unsigned __int8 v155; // of@108 unsigned __int8 v156; // of@109 __int16 v157; // ax@109 __int16 v158; // ax@110 int v159; // et2@110 int v160; // edx@114 int v161; // eax@114 int v162; // eax@114 int v163; // eax@114 int v164; // ecx@116 int v165; // ecx@118 float v166; // ST3C_4@119 __int16 v167; // fps@118 int v168; // eax@123 int v169; // eax@123 unsigned __int8 v170; // of@123 int v171; // eax@124 int v172; // edx@126 int v173; // eax@128 bool v174; // ebx@128 int v175; // eax@128 unsigned __int16 v176; // ST110_2@128 __int16 v177; // ax@129 int v178; // eax@129 __int16 v179; // ax@129 unsigned __int8 v180; // of@129 __int16 v181; // ax@130 int v182; // et2@130 int v183; // eax@134 int v184; // eax@134 int v185; // ecx@134 int v186; // edx@136 int v187; // edx@138 float v188; // ST28_4@139 __int16 v189; // fps@138 int v190; // ecx@142 int v191; // eax@142 int v192; // edx@142 int v193; // eax@144 float v194; // ST14_4@147 __int16 v195; // fps@146 int v196; // STF8_4@147 int v197; // STF4_4@147 __int16 v198; // ST110_2@148 int v199; // eax@154 int v200; // eax@154 unsigned __int8 v201; // of@154 int v202; // eax@155 int v203; // edx@157 int v204; // eax@159 bool v205; // ebx@159 int v206; // eax@159 unsigned __int16 v207; // ST110_2@159 __int16 v208; // ax@160 int v209; // eax@160 __int16 v210; // ax@160 unsigned __int8 v211; // of@160 __int16 v212; // ax@161 int v213; // et2@161 int v214; // eax@165 int v215; // eax@165 int v216; // ecx@165 int v217; // edx@167 int v218; // edx@169 float v219; // ST00_4@170 __int16 v220; // fps@169 int v221; // eax@174 int v222; // eax@174 unsigned __int8 v223; // of@174 int v224; // eax@175 int *v226; // [sp+10h] [bp-188h]@163 int *v227; // [sp+24h] [bp-174h]@140 int *v228; // [sp+38h] [bp-160h]@132 int *v229; // [sp+4Ch] [bp-14Ch]@112 int *v230; // [sp+60h] [bp-138h]@98 int *v231; // [sp+74h] [bp-124h]@84 int *v232; // [sp+88h] [bp-110h]@70 int *v233; // [sp+9Ch] [bp-FCh]@57 int *v234; // [sp+B0h] [bp-E8h]@44 int *v235; // [sp+C4h] [bp-D4h]@31 int *v236; // [sp+D8h] [bp-C0h]@13 int *v237; // [sp+ECh] [bp-ACh]@5 int v238; // [sp+F4h] [bp-A4h]@19 int v239; // [sp+FCh] [bp-9Ch]@146 int v240; // [sp+100h] [bp-98h]@19 int v241; // [sp+104h] [bp-94h]@9 int v242; // [sp+104h] [bp-94h]@35 int v243; // [sp+104h] [bp-94h]@48 int v244; // [sp+104h] [bp-94h]@61 int v245; // [sp+104h] [bp-94h]@74 int v246; // [sp+104h] [bp-94h]@88 int v247; // [sp+104h] [bp-94h]@102 int v248; // [sp+104h] [bp-94h]@116 int v249; // [sp+104h] [bp-94h]@136 int v250; // [sp+104h] [bp-94h]@144 int v251; // [sp+104h] [bp-94h]@167 int v252; // [sp+108h] [bp-90h]@9 int v253; // [sp+108h] [bp-90h]@35 int v254; // [sp+108h] [bp-90h]@48 int v255; // [sp+108h] [bp-90h]@61 int v256; // [sp+108h] [bp-90h]@74 int v257; // [sp+108h] [bp-90h]@88 int v258; // [sp+108h] [bp-90h]@102 int v259; // [sp+108h] [bp-90h]@116 int v260; // [sp+108h] [bp-90h]@136 int v261; // [sp+108h] [bp-90h]@144 int v262; // [sp+108h] [bp-90h]@167 int v263; // [sp+10Ch] [bp-8Ch]@7 int v264; // [sp+10Ch] [bp-8Ch]@33 int v265; // [sp+10Ch] [bp-8Ch]@46 int v266; // [sp+10Ch] [bp-8Ch]@59 int v267; // [sp+10Ch] [bp-8Ch]@72 int v268; // [sp+10Ch] [bp-8Ch]@86 int v269; // [sp+10Ch] [bp-8Ch]@100 int v270; // [sp+10Ch] [bp-8Ch]@114 int v271; // [sp+10Ch] [bp-8Ch]@134 int v272; // [sp+10Ch] [bp-8Ch]@142 int v273; // [sp+10Ch] [bp-8Ch]@165 int v274; // [sp+110h] [bp-88h]@7 int v275; // [sp+110h] [bp-88h]@17 int v276; // [sp+110h] [bp-88h]@33 int v277; // [sp+110h] [bp-88h]@46 int v278; // [sp+110h] [bp-88h]@59 int v279; // [sp+110h] [bp-88h]@72 int v280; // [sp+110h] [bp-88h]@86 int v281; // [sp+110h] [bp-88h]@100 int v282; // [sp+110h] [bp-88h]@114 int v283; // [sp+110h] [bp-88h]@134 int v284; // [sp+110h] [bp-88h]@142 int v285; // [sp+110h] [bp-88h]@146 int v286; // [sp+110h] [bp-88h]@165 int v287; // [sp+114h] [bp-84h]@9 int v288; // [sp+118h] [bp-80h]@3 int v289; // [sp+11Ch] [bp-7Ch]@15 int *v290; // [sp+120h] [bp-78h]@3 signed int v291; // [sp+124h] [bp-74h]@12 int v292; // [sp+128h] [bp-70h]@3 int v293; // [sp+12Ch] [bp-6Ch]@12 int v294; // [sp+130h] [bp-68h]@3 int v295; // [sp+134h] [bp-64h]@11 int v296; // [sp+138h] [bp-60h]@11 signed int v297; // [sp+13Ch] [bp-5Ch]@11 signed int v298; // [sp+140h] [bp-58h]@11 int v299; // [sp+144h] [bp-54h]@11 int v300; // [sp+148h] [bp-50h]@3 __int16 *v301; // [sp+14Ch] [bp-4Ch]@11 __int16 *v302; // [sp+150h] [bp-48h]@9 int *v303; // [sp+154h] [bp-44h]@9 int v304; // [sp+158h] [bp-40h]@7 char v305; // [sp+15Ch] [bp-3Ch]@7 int v306; // [sp+160h] [bp-38h]@3 int v307; // [sp+164h] [bp-34h]@3 int (*v308)(); // [sp+168h] [bp-30h]@2 _DWORD v309[2]; // [sp+16Ch] [bp-2Ch]@1 int v310; // [sp+170h] [bp-28h]@1 int v311; // [sp+174h] [bp-24h]@1 int v312; // [sp+178h] [bp-20h]@1 int (*v313)(); // [sp+17Ch] [bp-1Ch]@1 int v314; // [sp+180h] [bp-18h]@1 int v315; // [sp+184h] [bp-14h]@1 int v316; // [sp+188h] [bp-10h]@1 int v317; // [sp+18Ch] [bp-Ch]@1 int v318; // [sp+194h] [bp-4h]@1 v313 = j___vbaExceptHandler; v312 = a1; j___vbaChkstk(a5); v311 = a2; v310 = a4; v309[0] = a3; v314 = (int)v309; v315 = (int)dword_405A00; v316 = 0; v317 = 0; v318 = 2; _vbaOnError(-1); v318 = 3; _vbaStrCopy(&v311, *(_DWORD *)a6); v318 = 4; fonttype1 = a7; if ( *(_WORD *)a7 == 1 ) { while ( 1 ) // while true? { v318 = 5; v308 = (int (*)())v311; if ( _vbaLenBstr(fonttype1, v311) <= 0 ) // If text is null the return break; v318 = 6; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())1; v307 = (int)&v292; v306 = (int)&v300; rtcLeftCharVar(&v292, &v300); v290 = dword_42ADBC; v288 = 32776; v11 = _vbaVarTstNe(&v288, &v300); _vbaFreeVar(&v300); v10 = v11; if ( v11 ) { v318 = 7; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())1; v307 = (int)&v292; v306 = (int)&v300; rtcLeftCharVar(&v292, &v300); if ( dword_B2D7C4 ) { v237 = &dword_B2D7C4; } else { _vbaNew2(dword_41E550, &dword_B2D7C4); v237 = &dword_B2D7C4; } v12 = *(_DWORD *)*v237; v308 = (int (*)())*v237; v13 = (*(int (__cdecl **)(int (*)()))(v12 + 964))(v308); v274 = _vbaObjSet(&v305, v13); v307 = (int)&v304; v306 = (int)&v300; *(_DWORD *)&v305 = _vbaI2Var(&v304); v14 = *(_DWORD *)v274; v304 = v274; __asm { fnclex } v263 = (*(int (__cdecl **)(int, _DWORD, int, int, int (*)()))(v14 + 64))( v274, *(_DWORD *)&v305, v306, v307, v308); if ( v263 < 0 ) _vbaHresultCheckObj(v263, v274, dword_427F78, 64); v252 = v304; v303 = &v287; v15 = *(_DWORD *)v304; v302 = (__int16 *)v304; __asm { fnclex } v241 = (*(int (__cdecl **)(int, int *))(v15 + 224))(v304, &v287); if ( v241 < 0 ) _vbaHresultCheckObj(v241, v252, dword_427C6C, 224); v301 = &word_8800C6; v300 = 0; v299 = 0; v298 = v287; v297 = 14; v296 = 16; v295 = _vbaFpI4(a9, v15, *(float *)a9); UNDEF(v18); if ( v18 & 0xD ) goto LABEL_177; v17 = (double)SLOWORD(v309[0]); v294 = _vbaFpI4(v16, SLOWORD(v309[0]), v17 + *(float *)a8); v293 = dword_B25028; sub_4242D0(); _vbaSetSystemError( v293, v294, v295, v296, v297, v298, v299, v300, v301, v302, v303, v304, *(_DWORD *)&v305, v306); _vbaFreeObjList(2, &v305, &v304); _vbaFreeVar(&v300); v318 = 8; v294 = (int)&v311; v292 = 1; v291 = (signed int)&v292; v290 = &v300; rtcLeftCharVar(&v311, &v292); if ( dword_B2D7C4 ) { v236 = &dword_B2D7C4; } else { _vbaNew2(dword_41E550, &dword_B2D7C4); v236 = &dword_B2D7C4; } v19 = *(_DWORD *)*v236; v292 = *v236; v20 = (*(int (__cdecl **)(int))(v19 + 960))(v292); v21 = _vbaObjSet(&v305, v20); v291 = (signed int)&v304; v290 = &v300; v289 = _vbaI2Var(v22); v23 = *(_DWORD *)v21; v288 = v21; __asm { fnclex } if ( (*(int (__cdecl **)(int, int, int *, signed int, int))(v23 + 64))(v21, v289, v290, v291, v292) < 0 ) _vbaHresultCheckObj(dword_427F78, dword_427F78, dword_427F78, 64); v287 = (int)&v287; __asm { fnclex } if ( (*(int (__cdecl **)(int, int *, int, int))(*(_DWORD *)v304 + 224))(v304, &v287, v288, v289) < 0 ) _vbaHresultCheckObj(dword_427C6C, dword_427C6C, dword_427C6C, 224); v240 = v287; v238 = _vbaFpI4(v287, a9, *(float *)a9); UNDEF(v26); if ( v26 & 0xD ) goto LABEL_177; v25 = (double)SLOWORD(v309[0]); v28 = _vbaFpI4(a8, v24, v25 + *(float *)a8); v29 = dword_B25028; sub_4242D0(); _vbaSetSystemError(v29, v28, v238, 16, 14, v240, 0, 0, 15597702, v275, v287, v288, v289, v290); _vbaFreeObjList(2, &v305, &v304); _vbaFreeVar(&v300); v318 = 9; LOWORD(v10) = LOWORD(v309[0]) + 18; if ( __SETO__(LOWORD(v309[0]), -18) ) goto LABEL_178; LOWORD(v309[0]) += 18; } v318 = 11; v294 = (int)&v311; v292 = 16392; if ( __SETO__(_vbaLenBstr(v311, v10), 1) ) goto LABEL_178; rtcRightCharVar(fonttype1, &v292); v30 = _vbaStrVarMove(&v300); _vbaStrMove(&v311, v30); _vbaFreeVar(&v300); } } else { v318 = 13; fonttype2 = a7; if ( *(_WORD *)a7 == 2 ) { while ( 1 ) { v318 = 14; v308 = (int (*)())v311; if ( _vbaLenBstr(fonttype1, fonttype2) <= 0 ) break; v318 = 15; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())1; v307 = (int)&v292; v306 = (int)&v300; rtcLeftCharVar(&v311, &v292); v290 = &v311; v288 = 16392; v308 = (int (*)())1; v307 = (int)&v288; v306 = (int)&v296; rtcLeftCharVar(&v311, &v288); v308 = (int (*)())&v300; v307 = (int)&v307; v32 = _vbaStrVarVal(&v300); v33 = (signed __int16)rtcAnsiValueBstr(v32) >= 48; v308 = (int (*)())&v296; v307 = (int)&v306; v34 = _vbaStrVarVal(&v306); v35 = (signed __int16)rtcAnsiValueBstr(v34) <= 57 ? (unsigned __int16)-v33 : 0; _vbaFreeStrList(2, &v307, &v306); _vbaFreeVarList(2, &v300, &v296); if ( v35 ) { v318 = 16; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())1; v307 = (int)&v292; v306 = (int)&v300; rtcLeftCharVar(&v300, &v311); v308 = (int (*)())&v300; v307 = (int)&v307; v37 = _vbaStrVarVal(v27); v38 = rtcAnsiValueBstr(v37); v39 = __SETO__(v38, 48); v36 = v38 - 48; if ( v39 || (v41 = 16 * v36, v40 = 16 * v36, BYTE2(v41)) ) goto LABEL_178; LOWORD(v308) = v40; _vbaFreeStr(&v307); _vbaFreeVar(&v300); v318 = 17; if ( dword_B2D7C4 ) { v235 = &dword_B2D7C4; } else { _vbaNew2(dword_41E550, &dword_B2D7C4); v235 = &dword_B2D7C4; } v42 = *(_DWORD *)*v235; v308 = (int (*)())*v235; v43 = (*(int (**)(void))(v42 + 940))(); v276 = _vbaObjSet(&v305, v43); v307 = (int)&v304; v306 = 1; v44 = *(_DWORD *)v276; *(_DWORD *)&v305 = v276; __asm { fnclex } v264 = (*(int (__cdecl **)(int, signed int, int *))(v44 + 64))(v276, 1, &v304); if ( v264 < 0 ) _vbaHresultCheckObj(v264, v276, dword_427F78, 64); v253 = v304; v304 = (int)&v287; v45 = *(_DWORD *)v253; v303 = (int *)v253; __asm { fnclex } v242 = (*(int (__cdecl **)(int, int *, _DWORD, int, int))(v45 + 224))( v253, &v287, *(_DWORD *)&v305, v306, v307); if ( v242 < 0 ) _vbaHresultCheckObj(v242, v253, dword_427C6C, 224); v302 = &word_8800C6; v301 = 0; v300 = (signed __int16)v308; v299 = v287; v298 = 17; v297 = 15; v296 = _vbaFpI4(v287, a9, *(float *)a9); UNDEF(v48); if ( v48 & 0xD ) goto LABEL_177; v47 = (double)SLOWORD(v309[0]); v295 = _vbaFpI4(a8, v46, v47 + *(float *)a8); v294 = dword_B25028; sub_4242D0(); _vbaSetSystemError( v294, v295, v296, v297, v298, v299, v300, v301, v302, v303, v304, *(_DWORD *)&v305, v306, v307); _vbaFreeObjList(2, &v305, &v304); v318 = 18; LOWORD(v10) = LOWORD(v309[0]) + 16; if ( __SETO__(LOWORD(v309[0]), -16) ) goto LABEL_178; LOWORD(v309[0]) += 16; } else { v318 = 19; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())1; v307 = (int)&v292; v306 = (int)&v300; rtcLeftCharVar(&v292, &v300); v290 = &v311; v288 = 16392; v308 = (int (*)())1; v307 = (int)&v288; v306 = (int)&v296; rtcLeftCharVar(&v288, &v296); v308 = (int (*)())&v300; v307 = (int)&v307; v49 = _vbaStrVarVal(&v307); v50 = (signed __int16)rtcAnsiValueBstr(v49) >= 65; v308 = (int (*)())&v296; v307 = (int)&v306; v51 = _vbaStrVarVal(v52); v53 = (signed __int16)rtcAnsiValueBstr(v51) <= 90 ? (unsigned __int16)-v50 : 0; _vbaFreeStrList(2, &v307, &v306); _vbaFreeVarList(2, &v300, &v296); if ( v53 ) { v318 = 20; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())1; v307 = (int)&v292; v306 = (int)&v300; rtcLeftCharVar(&v311, &v292); v308 = (int (*)())&v300; v307 = (int)&v307; v55 = _vbaStrVarVal(&v300); v56 = rtcAnsiValueBstr(v55); v57 = __SETO__(v56, 55); v54 = v56 - 55; if ( v57 || (v59 = 16 * v54, v58 = 16 * v54, BYTE2(v59)) ) goto LABEL_178; LOWORD(v308) = v58; _vbaFreeStr(&v307); _vbaFreeVar(&v300); v318 = 21; if ( dword_B2D7C4 ) { v234 = &dword_B2D7C4; } else { _vbaNew2(dword_41E550, &dword_B2D7C4); v234 = &dword_B2D7C4; } v60 = *(_DWORD *)*v234; v308 = (int (*)())*v234; v61 = (*(int (**)(void))(v60 + 940))(); v62 = _vbaObjSet(&v305, v61); v277 = v62; v307 = (int)&v304; v306 = 1; v63 = *(_DWORD *)v62; *(_DWORD *)&v305 = v277; __asm { fnclex } v265 = (*(int (__cdecl **)(int, signed int, int *))(v63 + 64))(v277, 1, &v304); if ( v265 < 0 ) _vbaHresultCheckObj(v265, v277, dword_427F78, 64); v254 = v304; v304 = (int)&v287; v64 = *(_DWORD *)v254; v303 = (int *)v254; __asm { fnclex } v243 = (*(int (__cdecl **)(int, int *, _DWORD, int, int))(v64 + 224))( v254, &v287, *(_DWORD *)&v305, v306, v307); if ( v243 < 0 ) _vbaHresultCheckObj(v243, v254, dword_427C6C, 224); v302 = &word_8800C6; v301 = 0; v300 = (signed __int16)v308; v299 = v287; v298 = 17; v297 = 15; v296 = _vbaFpI4(a9, (signed __int16)v308, *(float *)a9); UNDEF(v67); if ( v67 & 0xD ) goto LABEL_177; v66 = (double)SLOWORD(v309[0]); v295 = _vbaFpI4(v65, SLOWORD(v309[0]), v66 + *(float *)a8); v294 = dword_B25028; sub_4242D0(); _vbaSetSystemError( v294, v295, v296, v297, v298, v299, v300, v301, v302, v303, v304, *(_DWORD *)&v305, v306, v307); _vbaFreeObjList(2, &v305, &v304); v318 = 22; LOWORD(v27) = LOWORD(v309[0]) + 16; if ( __SETO__(LOWORD(v309[0]), -16) ) goto LABEL_178; LOWORD(v309[0]) += 16; } else { v318 = 23; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())1; v307 = (int)&v292; v306 = (int)&v300; rtcLeftCharVar(&v300, &v311); v290 = &v311; v288 = 16392; v308 = (int (*)())1; v307 = (int)&v288; v306 = (int)&v296; rtcLeftCharVar(&v296, &v311); v308 = (int (*)())&v300; v307 = (int)&v307; v68 = _vbaStrVarVal(v69); v70 = (signed __int16)rtcAnsiValueBstr(v68) >= 97; v308 = (int (*)())&v296; v307 = (int)&v306; v71 = _vbaStrVarVal(&v296); v72 = (signed __int16)rtcAnsiValueBstr(v71) <= 122 ? (unsigned __int16)-v70 : 0; _vbaFreeStrList(2, &v307, &v306); _vbaFreeVarList(2, &v300, &v296); if ( v72 ) { v318 = 24; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())1; v307 = (int)&v292; v306 = (int)&v300; rtcLeftCharVar(&v311, &v292); v308 = (int (*)())&v300; v307 = (int)&v307; v74 = _vbaStrVarVal(&v300); v75 = rtcAnsiValueBstr(v74); v76 = __SETO__(v75, 61); v73 = v75 - 61; if ( v76 || (v78 = 16 * v73, v77 = 16 * v73, BYTE2(v78)) ) goto LABEL_178; LOWORD(v308) = v77; _vbaFreeStr(&v307); _vbaFreeVar(&v300); v318 = 25; if ( dword_B2D7C4 ) { v233 = &dword_B2D7C4; } else { _vbaNew2(dword_41E550, &dword_B2D7C4); v233 = &dword_B2D7C4; } v79 = *(_DWORD *)*v233; v308 = (int (*)())*v233; v80 = (*(int (**)(void))(v79 + 940))(); v81 = _vbaObjSet(&v305, v80); v278 = v81; v307 = (int)&v304; v306 = 1; v82 = *(_DWORD *)v81; *(_DWORD *)&v305 = v278; __asm { fnclex } v266 = (*(int (__cdecl **)(int, signed int, int *))(v82 + 64))(v278, 1, &v304); if ( v266 < 0 ) _vbaHresultCheckObj(v266, v278, dword_427F78, 64); v255 = v304; v304 = (int)&v287; v83 = *(_DWORD *)v255; v303 = (int *)v255; __asm { fnclex } v244 = (*(int (__cdecl **)(int, int *, _DWORD, int, int))(v83 + 224))( v255, &v287, *(_DWORD *)&v305, v306, v307); if ( v244 < 0 ) _vbaHresultCheckObj(v244, v255, dword_427C6C, 224); v302 = &word_8800C6; v301 = 0; v300 = (signed __int16)v308; v299 = v287; v298 = 17; v297 = 15; v296 = _vbaFpI4(a9, (signed __int16)v308, *(float *)a9); UNDEF(v86); if ( v86 & 0xD ) goto LABEL_177; v85 = (double)SLOWORD(v309[0]); v295 = _vbaFpI4(v84, SLOWORD(v309[0]), v85 + *(float *)a8); v294 = dword_B25028; sub_4242D0(); _vbaSetSystemError( v294, v295, v296, v297, v298, v299, v300, v301, v302, v303, v304, *(_DWORD *)&v305, v306, v307); _vbaFreeObjList(2, &v305, &v304); v318 = 26; LOWORD(v27) = LOWORD(v309[0]) + 16; if ( __SETO__(LOWORD(v309[0]), -16) ) goto LABEL_178; LOWORD(v309[0]) += 16; } else { v318 = 27; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())1; v307 = (int)&v292; v306 = (int)&v300; rtcLeftCharVar(&v300, &v311); v290 = &v311; v288 = 16392; v308 = (int (*)())1; v307 = (int)&v288; v306 = (int)&v296; rtcLeftCharVar(&v296, &v311); v308 = (int (*)())&v300; v307 = (int)&v307; v87 = _vbaStrVarVal(v88); v89 = (signed __int16)rtcAnsiValueBstr(v87) >= 33; v308 = (int (*)())&v296; v307 = (int)&v306; v90 = _vbaStrVarVal(&v296); v91 = (signed __int16)rtcAnsiValueBstr(v90) <= 47 ? (unsigned __int16)-v89 : 0; _vbaFreeStrList(2, &v307, &v306); _vbaFreeVarList(2, &v300, &v296); if ( v91 ) { v318 = 28; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())1; v307 = (int)&v292; v306 = (int)&v300; rtcLeftCharVar(&v311, &v292); v308 = (int (*)())&v300; v307 = (int)&v307; v93 = _vbaStrVarVal(&v300); v94 = rtcAnsiValueBstr(v93); v95 = __SETO__(v94, 33); v92 = v94 - 33; if ( v95 || (v97 = 16 * v92, v96 = 16 * v92, BYTE2(v97)) ) goto LABEL_178; LOWORD(v308) = v96; _vbaFreeStr(&v307); _vbaFreeVar(&v300); v318 = 29; if ( dword_B2D7C4 ) { v232 = &dword_B2D7C4; } else { _vbaNew2(dword_41E550, &dword_B2D7C4); v232 = &dword_B2D7C4; } v98 = *(_DWORD *)*v232; v308 = (int (*)())*v232; v99 = (*(int (**)(void))(v98 + 920))(); v100 = _vbaObjSet(&v305, v99); v279 = v100; v307 = (int)&v304; v306 = 1; v101 = *(_DWORD *)v100; *(_DWORD *)&v305 = v279; __asm { fnclex } v267 = (*(int (__cdecl **)(int, signed int, int *))(v101 + 64))(v279, 1, &v304); if ( v267 < 0 ) _vbaHresultCheckObj(v267, v279, dword_427F78, 64); v256 = v304; v304 = (int)&v287; v102 = *(_DWORD *)v256; v303 = (int *)v256; __asm { fnclex } v245 = (*(int (__cdecl **)(int, int *, _DWORD, int, int))(v102 + 224))( v256, &v287, *(_DWORD *)&v305, v306, v307); if ( v245 < 0 ) _vbaHresultCheckObj(v245, v256, dword_427C6C, 224); v302 = &word_8800C6; v301 = 0; v300 = (signed __int16)v308; v299 = v287; v298 = 17; v297 = 15; v296 = _vbaFpI4(a9, (signed __int16)v308, *(float *)a9); UNDEF(v105); if ( v105 & 0xD ) goto LABEL_177; v104 = (double)SLOWORD(v309[0]); v295 = _vbaFpI4(v103, SLOWORD(v309[0]), v104 + *(float *)a8); v294 = dword_B25028; sub_4242D0(); _vbaSetSystemError( v294, v295, v296, v297, v298, v299, v300, v301, v302, v303, v304, *(_DWORD *)&v305, v306, v307); _vbaFreeObjList(2, &v305, &v304); v318 = 30; LOWORD(v27) = LOWORD(v309[0]) + 16; if ( __SETO__(LOWORD(v309[0]), -16) ) goto LABEL_178; LOWORD(v309[0]) += 16; } else { v318 = 31; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())1; v307 = (int)&v292; v306 = (int)&v300; rtcLeftCharVar(&v300, &v311); v290 = &v311; v288 = 16392; v308 = (int (*)())1; v307 = (int)&v288; v306 = (int)&v296; rtcLeftCharVar(&v296, &v311); v308 = (int (*)())&v300; v307 = (int)&v307; v106 = _vbaStrVarVal(v107); v108 = (signed __int16)rtcAnsiValueBstr(v106) >= 58; v308 = (int (*)())&v296; v307 = (int)&v306; v109 = _vbaStrVarVal(&v296); v110 = (signed __int16)rtcAnsiValueBstr(v109) <= 64 ? (unsigned __int16)-v108 : 0; _vbaFreeStrList(2, &v307, &v306); _vbaFreeVarList(2, &v300, &v296); if ( v110 ) { v318 = 32; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())1; v307 = (int)&v292; v306 = (int)&v300; rtcLeftCharVar(&v311, &v292); v308 = (int (*)())&v300; v307 = (int)&v307; v112 = _vbaStrVarVal(&v300); v113 = rtcAnsiValueBstr(v112); v114 = __SETO__(v113, 58); v111 = v113 - 58; if ( v114 || (v115 = __SETO__(v111, -15), v116 = v111 + 15, v115) || (v118 = 16 * v116, v117 = 16 * v116, BYTE2(v118)) ) goto LABEL_178; LOWORD(v308) = v117; _vbaFreeStr(&v307); _vbaFreeVar(&v300); v318 = 33; if ( dword_B2D7C4 ) { v231 = &dword_B2D7C4; } else { _vbaNew2(dword_41E550, &dword_B2D7C4); v231 = &dword_B2D7C4; } v119 = *(_DWORD *)*v231; v308 = (int (*)())*v231; v120 = (*(int (**)(void))(v119 + 920))(); v121 = _vbaObjSet(&v305, v120); v280 = v121; v307 = (int)&v304; v306 = 1; v122 = *(_DWORD *)v121; *(_DWORD *)&v305 = v280; __asm { fnclex } v268 = (*(int (__cdecl **)(int, signed int, int *))(v122 + 64))(v280, 1, &v304); if ( v268 < 0 ) _vbaHresultCheckObj(v268, v280, dword_427F78, 64); v257 = v304; v304 = (int)&v287; v123 = *(_DWORD *)v257; v303 = (int *)v257; __asm { fnclex } v246 = (*(int (__cdecl **)(int, int *, _DWORD, int, int))(v123 + 224))( v257, &v287, *(_DWORD *)&v305, v306, v307); if ( v246 < 0 ) _vbaHresultCheckObj(v246, v257, dword_427C6C, 224); v302 = &word_8800C6; v301 = 0; v300 = (signed __int16)v308; v299 = v287; v298 = 17; v297 = 15; v296 = _vbaFpI4(a9, (signed __int16)v308, *(float *)a9); UNDEF(v126); if ( v126 & 0xD ) goto LABEL_177; v125 = (double)SLOWORD(v309[0]); v295 = _vbaFpI4(v124, SLOWORD(v309[0]), v125 + *(float *)a8); v294 = dword_B25028; sub_4242D0(); _vbaSetSystemError( v294, v295, v296, v297, v298, v299, v300, v301, v302, v303, v304, *(_DWORD *)&v305, v306, v307); _vbaFreeObjList(2, &v305, &v304); v318 = 34; LOWORD(v27) = LOWORD(v309[0]) + 16; if ( __SETO__(LOWORD(v309[0]), -16) ) goto LABEL_178; LOWORD(v309[0]) += 16; } else { v318 = 35; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())1; v307 = (int)&v292; v306 = (int)&v300; rtcLeftCharVar(&v300, &v311); v290 = &v311; v288 = 16392; v308 = (int (*)())1; v307 = (int)&v288; v306 = (int)&v296; rtcLeftCharVar(&v296, &v311); v308 = (int (*)())&v300; v307 = (int)&v307; v127 = _vbaStrVarVal(v128); v129 = (signed __int16)rtcAnsiValueBstr(v127) >= 91; v308 = (int (*)())&v296; v307 = (int)&v306; v130 = _vbaStrVarVal(&v296); v131 = (signed __int16)rtcAnsiValueBstr(v130) <= 96 ? (unsigned __int16)-v129 : 0; _vbaFreeStrList(2, &v307, &v306); _vbaFreeVarList(2, &v300, &v296); if ( v131 ) { v318 = 36; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())1; v307 = (int)&v292; v306 = (int)&v300; rtcLeftCharVar(&v311, &v292); v308 = (int (*)())&v300; v307 = (int)&v307; v133 = _vbaStrVarVal(&v300); v134 = rtcAnsiValueBstr(v133); v135 = __SETO__(v134, 91); v132 = v134 - 91; if ( v135 || (v136 = __SETO__(v132, -22), v137 = v132 + 22, v136) || (v139 = 16 * v137, v138 = 16 * v137, BYTE2(v139)) ) goto LABEL_178; LOWORD(v308) = v138; _vbaFreeStr(&v307); _vbaFreeVar(&v300); v318 = 37; if ( dword_B2D7C4 ) { v230 = &dword_B2D7C4; } else { _vbaNew2(dword_41E550, &dword_B2D7C4); v230 = &dword_B2D7C4; } v140 = *(_DWORD *)*v230; v308 = (int (*)())*v230; v141 = (*(int (**)(void))(v140 + 920))(); v142 = _vbaObjSet(&v305, v141); v281 = v142; v307 = (int)&v304; v306 = 1; v143 = *(_DWORD *)v142; *(_DWORD *)&v305 = v281; __asm { fnclex } v269 = (*(int (__cdecl **)(int, signed int, int *))(v143 + 64))(v281, 1, &v304); if ( v269 < 0 ) _vbaHresultCheckObj(v269, v281, dword_427F78, 64); v258 = v304; v304 = (int)&v287; v144 = *(_DWORD *)v258; v303 = (int *)v258; __asm { fnclex } v247 = (*(int (__cdecl **)(int, int *, _DWORD, int, int))(v144 + 224))( v258, &v287, *(_DWORD *)&v305, v306, v307); if ( v247 < 0 ) _vbaHresultCheckObj(v247, v258, dword_427C6C, 224); v302 = &word_8800C6; v301 = 0; v300 = (signed __int16)v308; v299 = v287; v298 = 17; v297 = 15; v296 = _vbaFpI4(a9, (signed __int16)v308, *(float *)a9); UNDEF(v147); if ( v147 & 0xD ) goto LABEL_177; v146 = (double)SLOWORD(v309[0]); v295 = _vbaFpI4(v145, SLOWORD(v309[0]), v146 + *(float *)a8); v294 = dword_B25028; sub_4242D0(); _vbaSetSystemError( v294, v295, v296, v297, v298, v299, v300, v301, v302, v303, v304, *(_DWORD *)&v305, v306, v307); _vbaFreeObjList(2, &v305, &v304); v318 = 38; LOWORD(v27) = LOWORD(v309[0]) + 16; if ( __SETO__(LOWORD(v309[0]), -16) ) goto LABEL_178; LOWORD(v309[0]) += 16; } else { v318 = 39; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())1; v307 = (int)&v292; v306 = (int)&v300; rtcLeftCharVar(&v300, &v311); v290 = &v311; v288 = 16392; v308 = (int (*)())1; v307 = (int)&v288; v306 = (int)&v296; rtcLeftCharVar(&v296, &v311); v308 = (int (*)())&v300; v307 = (int)&v307; v148 = _vbaStrVarVal(v27); v149 = (signed __int16)rtcAnsiValueBstr(v148) >= 123; v308 = (int (*)())&v296; v307 = (int)&v306; v150 = _vbaStrVarVal(&v296); v151 = (signed __int16)rtcAnsiValueBstr(v150) <= 125 ? (unsigned __int16)-v149 : 0; _vbaFreeStrList(2, &v307, &v306); _vbaFreeVarList(2, &v300, &v296); if ( v151 ) { v318 = 40; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())1; v307 = (int)&v292; v306 = (int)&v300; rtcLeftCharVar(&v311, &v292); v308 = (int (*)())&v300; v307 = (int)&v307; v153 = _vbaStrVarVal(&v300); v154 = rtcAnsiValueBstr(v153); v155 = __SETO__(v154, 123); v152 = v154 - 123; if ( v155 || (v156 = __SETO__(v152, -28), v157 = v152 + 28, v156) || (v159 = 16 * v157, v158 = 16 * v157, BYTE2(v159)) ) goto LABEL_178; LOWORD(v308) = v158; _vbaFreeStr(&v307); _vbaFreeVar(&v300); v318 = 41; if ( dword_B2D7C4 ) { v229 = &dword_B2D7C4; } else { _vbaNew2(dword_41E550, &dword_B2D7C4); v229 = &dword_B2D7C4; } v160 = *(_DWORD *)*v229; v308 = (int (*)())*v229; v161 = (*(int (**)(void))(v160 + 920))(); v162 = _vbaObjSet(&v305, v161); v282 = v162; v307 = (int)&v304; v306 = 1; v163 = *(_DWORD *)v162; *(_DWORD *)&v305 = v282; __asm { fnclex } v270 = (*(int (__cdecl **)(int, signed int, int *))(v163 + 64))(v282, 1, &v304); if ( v270 < 0 ) _vbaHresultCheckObj(v270, v282, dword_427F78, 64); v259 = v304; v304 = (int)&v287; v164 = *(_DWORD *)v259; v303 = (int *)v259; __asm { fnclex } v248 = (*(int (__cdecl **)(int, int *, _DWORD, int, int))(v164 + 224))( v259, &v287, *(_DWORD *)&v305, v306, v307); if ( v248 < 0 ) _vbaHresultCheckObj(v248, v259, dword_427C6C, 224); v302 = &word_8800C6; v301 = 0; v300 = (signed __int16)v308; v299 = v287; v298 = 17; v297 = 15; v296 = _vbaFpI4(a9, (signed __int16)v308, *(float *)a9); UNDEF(v167); if ( v167 & 0xD ) goto LABEL_177; v166 = (double)SLOWORD(v309[0]); v295 = _vbaFpI4(v165, SLOWORD(v309[0]), v166 + *(float *)a8); v294 = dword_B25028; sub_4242D0(); _vbaSetSystemError( v294, v295, v296, v297, v298, v299, v300, v301, v302, v303, v304, *(_DWORD *)&v305, v306, v307); _vbaFreeObjList(2, &v305, &v304); v318 = 42; LOWORD(v27) = LOWORD(v309[0]) + 16; if ( __SETO__(LOWORD(v309[0]), -16) ) goto LABEL_178; LOWORD(v309[0]) += 16; } else { v318 = 44; LOWORD(v10) = LOWORD(v309[0]) + 16; if ( __SETO__(LOWORD(v309[0]), -16) ) goto LABEL_178; LOWORD(v309[0]) += 16; } } } } } } } v318 = 46; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())v311; v169 = _vbaLenBstr(v311, v10); v170 = __SETO__(v169, 1); v168 = v169 - 1; if ( v170 ) goto LABEL_178; v308 = (int (*)())v168; v307 = (int)&v292; v306 = (int)&v300; rtcRightCharVar(fonttype1, &v292); v171 = _vbaStrVarMove(&v300); _vbaStrMove(&v311, v171); _vbaFreeVar(&v300); } } else { v318 = 48; v172 = a7; if ( *(_WORD *)a7 == 3 ) { while ( 1 ) { v318 = 49; v308 = (int (*)())v311; if ( _vbaLenBstr(fonttype1, v172) <= 0 ) break; v318 = 50; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())1; v307 = (int)&v292; v306 = (int)&v300; rtcLeftCharVar(&v311, &v292); v290 = &v311; v288 = 16392; v308 = (int (*)())1; v307 = (int)&v288; v306 = (int)&v296; rtcLeftCharVar(&v311, &v288); v308 = (int (*)())&v300; v307 = (int)&v307; v173 = _vbaStrVarVal(&v300); v174 = (signed __int16)rtcAnsiValueBstr(v173) >= 33; v308 = (int (*)())&v296; v307 = (int)&v306; v175 = _vbaStrVarVal(&v306); v176 = (signed __int16)rtcAnsiValueBstr(v175) <= 126 ? (unsigned __int16)-v174 : 0; _vbaFreeStrList(2, &v307, &v306); _vbaFreeVarList(2, &v300, &v296); v27 = (signed __int16)v176; if ( v176 ) { v318 = 51; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())1; v307 = (int)&v292; v306 = (int)&v300; rtcLeftCharVar(&v300, &v311); v308 = (int (*)())&v300; v307 = (int)&v307; v178 = _vbaStrVarVal(v27); v179 = rtcAnsiValueBstr(v178); v180 = __SETO__(v179, 33); v177 = v179 - 33; if ( v180 || (v182 = 32 * v177, v181 = 32 * v177, BYTE2(v182)) ) goto LABEL_178; LOWORD(v308) = v181; _vbaFreeStr(&v307); _vbaFreeVar(&v300); v318 = 52; if ( dword_B2D7C4 ) { v228 = &dword_B2D7C4; } else { _vbaNew2(dword_41E550, &dword_B2D7C4); v228 = &dword_B2D7C4; } v183 = *(_DWORD *)*v228; v308 = (int (*)())*v228; v184 = (*(int (**)(void))(v183 + 948))(); v283 = _vbaObjSet(&v305, v184); v307 = (int)&v304; v306 = 2; v185 = *(_DWORD *)v283; *(_DWORD *)&v305 = v283; __asm { fnclex } v271 = (*(int (__cdecl **)(int, signed int, int *))(v185 + 64))(v283, 2, &v304); if ( v271 < 0 ) _vbaHresultCheckObj(v271, v283, dword_427F78, 64); v260 = v304; v304 = (int)&v287; v186 = *(_DWORD *)v260; v303 = (int *)v260; __asm { fnclex } v249 = (*(int (__cdecl **)(int, int *, _DWORD, int, int))(v186 + 224))( v260, &v287, *(_DWORD *)&v305, v306, v307); if ( v249 < 0 ) _vbaHresultCheckObj(v249, v260, dword_427C6C, 224); v302 = &word_8800C6; v301 = (__int16 *)(signed __int16)v308; v300 = 2; v299 = v287; v298 = 16; v297 = 18; v296 = _vbaFpI4(v287, a9, *(float *)a9); UNDEF(v189); if ( v189 & 0xD ) goto LABEL_177; v188 = (double)SLOWORD(v309[0]); v295 = _vbaFpI4(a8, v187, v188 + *(float *)a8); v294 = dword_B25028; sub_4242D0(); _vbaSetSystemError( v294, v295, v296, v297, v298, v299, v300, v301, v302, v303, v304, *(_DWORD *)&v305, v306, v307); _vbaFreeObjList(2, &v305, &v304); v318 = 53; if ( dword_B2D7C4 ) { v227 = &dword_B2D7C4; } else { _vbaNew2(dword_41E550, &dword_B2D7C4); v227 = &dword_B2D7C4; } v190 = *(_DWORD *)*v227; v293 = *v227; v191 = (*(int (__cdecl **)(int))(v190 + 940))(v293); v284 = _vbaObjSet(&v305, v191); v292 = (int)&v304; v291 = 2; v192 = *(_DWORD *)v284; v290 = (int *)v284; __asm { fnclex } v272 = (*(int (__cdecl **)(int, signed int, int *, int))(v192 + 64))(v284, 2, &v304, v293); if ( v272 < 0 ) _vbaHresultCheckObj(v272, v284, dword_427F78, 64); v261 = v304; v289 = (int)&v287; v193 = *(_DWORD *)v304; v288 = v304; __asm { fnclex } v250 = (*(int (__cdecl **)(int, int *, int *, signed int, int))(v193 + 224))(v304, &v287, v290, v291, v292); if ( v250 < 0 ) _vbaHresultCheckObj(v250, v261, dword_427C6C, 224); v287 = 15597702; v285 = (signed __int16)v308; v239 = _vbaFpI4((signed __int16)v308, 15597702, *(float *)a9); UNDEF(v195); if ( v195 & 0xD ) goto LABEL_177; v194 = (double)SLOWORD(v309[0]); v196 = _vbaFpI4(SLOWORD(v309[0]), a8, v194 + *(float *)a8); v197 = dword_B25028; sub_4242D0(); _vbaSetSystemError(v197, v196, v239, 18, 16, 15597702, 2, v285, v287, v288, v289, v290, v291, v292); _vbaFreeObjList(2, &v305, &v304); v318 = 54; if ( __SETO__(LOWORD(v309[0]), -18) ) goto LABEL_178; LOWORD(v309[0]) += 18; v318 = 55; v294 = (int)&v311; v292 = 16392; rtcLeftCharVar(&v311, &v292); v290 = dword_42B2A0; v288 = 32776; v198 = _vbaVarTstEq(&v300); _vbaFreeVar(&v300); if ( v198 ) { v318 = 56; LOWORD(v27) = LOWORD(v309[0]) + 2; if ( __SETO__(LOWORD(v309[0]), -2) ) goto LABEL_178; LOWORD(v309[0]) += 2; } } else { v318 = 59; LOWORD(v10) = LOWORD(v309[0]) + 16; if ( __SETO__(LOWORD(v309[0]), -16) ) goto LABEL_178; LOWORD(v309[0]) += 16; } v318 = 61; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())v311; v200 = _vbaLenBstr(v311, v10); v201 = __SETO__(v200, 1); v199 = v200 - 1; if ( v201 ) goto LABEL_178; v308 = (int (*)())v199; v307 = (int)&v292; v306 = (int)&v300; rtcRightCharVar(fonttype1, &v292); v202 = _vbaStrVarMove(&v300); _vbaStrMove(&v311, v202); _vbaFreeVar(&v300); } } else { v318 = 63; v203 = a7; if ( *(_WORD *)a7 == 4 ) { while ( 1 ) { v318 = 64; v308 = (int (*)())v311; if ( _vbaLenBstr(fonttype1, v203) <= 0 ) break; v318 = 65; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())1; v307 = (int)&v292; v306 = (int)&v300; rtcLeftCharVar(&v311, &v292); v290 = &v311; v288 = 16392; v308 = (int (*)())1; v307 = (int)&v288; v306 = (int)&v296; rtcLeftCharVar(&v311, &v288); v308 = (int (*)())&v300; v307 = (int)&v307; v204 = _vbaStrVarVal(&v300); v205 = (signed __int16)rtcAnsiValueBstr(v204) >= 33; v308 = (int (*)())&v296; v307 = (int)&v306; v206 = _vbaStrVarVal(&v306); v207 = (signed __int16)rtcAnsiValueBstr(v206) <= 126 ? (unsigned __int16)-v205 : 0; _vbaFreeStrList(2, &v307, &v306); _vbaFreeVarList(2, &v300, &v296); v27 = (signed __int16)v207; if ( v207 ) { v318 = 66; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())1; v307 = (int)&v292; v306 = (int)&v300; rtcLeftCharVar(&v300, &v311); v308 = (int (*)())&v300; v307 = (int)&v307; v209 = _vbaStrVarVal(v27); v210 = rtcAnsiValueBstr(v209); v211 = __SETO__(v210, 33); v208 = v210 - 33; if ( v211 || (v213 = 16 * v208, v212 = 16 * v208, BYTE2(v213)) ) goto LABEL_178; LOWORD(v308) = v212; _vbaFreeStr(&v307); _vbaFreeVar(&v300); v318 = 67; if ( dword_B2D7C4 ) { v226 = &dword_B2D7C4; } else { _vbaNew2(dword_41E550, &dword_B2D7C4); v226 = &dword_B2D7C4; } v214 = *(_DWORD *)*v226; v308 = (int (*)())*v226; v215 = (*(int (**)(void))(v214 + 940))(); v286 = _vbaObjSet(&v305, v215); v307 = (int)&v304; v306 = 3; v216 = *(_DWORD *)v286; *(_DWORD *)&v305 = v286; __asm { fnclex } v273 = (*(int (__cdecl **)(int, signed int, int *))(v216 + 64))(v286, 3, &v304); if ( v273 < 0 ) _vbaHresultCheckObj(v273, v286, dword_427F78, 64); v262 = v304; v304 = (int)&v287; v217 = *(_DWORD *)v262; v303 = (int *)v262; __asm { fnclex } v251 = (*(int (__cdecl **)(int, int *, _DWORD, int, int))(v217 + 224))( v262, &v287, *(_DWORD *)&v305, v306, v307); if ( v251 < 0 ) _vbaHresultCheckObj(v251, v262, dword_427C6C, 224); v302 = (__int16 *)15597702; v301 = (__int16 *)(signed __int16)v308; v300 = 2; v299 = v287; v298 = 16; v297 = 18; v296 = _vbaFpI4(v287, a9, *(float *)a9); UNDEF(v220); if ( v220 & 0xD ) LABEL_177: JUMPOUT(*(unsigned int *)loc_40BA6C); v219 = (double)SLOWORD(v309[0]); v295 = _vbaFpI4(a8, v218, v219 + *(float *)a8); v294 = dword_B25028; sub_4242D0(); _vbaSetSystemError( v294, v295, v296, v297, v298, v299, v300, v301, v302, v303, v304, *(_DWORD *)&v305, v306, v307); _vbaFreeObjList(2, &v305, &v304); v318 = 68; LOWORD(v10) = LOWORD(v309[0]) + 18; if ( __SETO__(LOWORD(v309[0]), -18) ) { LABEL_178: _vbaErrorOverflow(v27, v10); JUMPOUT(unk_95423E); } LOWORD(v309[0]) += 18; } else { v318 = 70; if ( __SETO__(LOWORD(v309[0]), -18) ) goto LABEL_178; LOWORD(v309[0]) += 18; } v318 = 72; v294 = (int)&v311; v292 = 16392; v308 = (int (*)())v311; v222 = _vbaLenBstr(&v311, v311); v223 = __SETO__(v222, 1); v221 = v222 - 1; if ( v223 ) goto LABEL_178; v308 = (int (*)())v221; v307 = (int)&v292; v306 = (int)&v300; rtcRightCharVar(&v300, v10); v224 = _vbaStrVarMove(&v300); _vbaStrMove(&v311, v224); _vbaFreeVar(&v300); } } } } } v308 = unk_954220; return _vbaFreeStr(&v311); }