0x14003c760-0x14003d827 sub_14003C760

_BOOL8 __fastcall sub_14003C760(float *a1, float *a2, float *a3, int a4, float *a5, _DWORD *a6, float a7)
{
  float v7; // xmm11_4
  unsigned int v9; // r10d
  __int64 v10; // r11
  float v11; // xmm14_4
  unsigned __int64 v12; // rbx
  float v13; // xmm0_4
  float v14; // xmm13_4
  float v15; // xmm12_4
  float v16; // xmm14_4
  float v17; // xmm13_4
  float v18; // xmm12_4
  int v19; // xmm1_4
  float v20; // xmm9_4
  float v21; // xmm6_4
  float v22; // xmm7_4
  float v23; // xmm8_4
  float v24; // xmm14_4
  float v25; // xmm9_4
  float v26; // xmm13_4
  float v27; // xmm5_4
  float v28; // xmm12_4
  float v29; // xmm7_4
  float v30; // xmm1_4
  float v31; // xmm14_4
  int v32; // r9d
  int v33; // r15d
  int v34; // eax
  int v35; // edx
  int v36; // r8d
  int v37; // ecx
  int v38; // r14d
  int v39; // edi
  __int64 v40; // r8
  __int64 v41; // r8
  __int64 v42; // r13
  int v43; // esi
  unsigned int v44; // eax
  float v45; // xmm12_4
  float v46; // xmm7_4
  float v47; // xmm15_4
  float v48; // xmm13_4
  float v49; // xmm8_4
  float v50; // xmm11_4
  float v51; // xmm9_4
  float v52; // xmm10_4
  float *v53; // rsi
  int v54; // ecx
  float v55; // xmm2_4
  float v56; // xmm6_4
  float v57; // xmm1_4
  float v58; // xmm3_4
  float v59; // xmm7_4
  float v60; // xmm0_4
  float v61; // xmm5_4
  float v62; // xmm4_4
  float v63; // xmm15_4
  float v64; // xmm5_4
  float v65; // xmm15_4
  float v66; // xmm14_4
  float v67; // xmm12_4
  float *v68; // rax
  float v69; // xmm5_4
  float v70; // xmm9_4
  float v71; // xmm10_4
  float v72; // xmm0_4
  float v73; // xmm4_4
  float v74; // xmm3_4
  int v75; // eax
  __int64 v76; // rdx
  __int64 v77; // r8
  unsigned int v78; // esi
  int v79; // eax
  float v80; // xmm8_4
  float v81; // xmm9_4
  float v82; // xmm11_4
  float v83; // xmm15_4
  float v84; // xmm10_4
  float v85; // xmm12_4
  float v86; // xmm7_4
  float v87; // xmm14_4
  float v88; // xmm3_4
  float v89; // r8d
  float v90; // xmm4_4
  float v91; // xmm7_4
  float v92; // xmm6_4
  float v93; // xmm2_4
  float *v94; // rax
  float v95; // xmm13_4
  float v96; // xmm1_4
  float v97; // xmm15_4
  float v98; // xmm0_4
  float v99; // xmm8_4
  float v100; // xmm7_4
  float v101; // xmm0_4
  float v102; // xmm5_4
  float v103; // xmm3_4
  float v104; // xmm4_4
  float v105; // xmm5_4
  float v106; // xmm9_4
  float v107; // xmm10_4
  float v108; // xmm12_4
  float v109; // xmm0_4
  float v110; // xmm4_4
  float *v111; // rax
  float v112; // xmm3_4
  float v113; // xmm15_4
  int v114; // edx
  float v115; // xmm8_4
  float v116; // xmm9_4
  float v117; // xmm11_4
  float v118; // xmm15_4
  float v119; // xmm10_4
  float v120; // xmm12_4
  float v121; // xmm7_4
  float v122; // xmm14_4
  float v123; // xmm4_4
  float v124; // xmm6_4
  float v125; // xmm2_4
  float v126; // xmm13_4
  float v127; // xmm1_4
  float v128; // xmm5_4
  float v129; // xmm3_4
  float v130; // xmm7_4
  float v131; // xmm0_4
  float v132; // xmm15_4
  float v133; // xmm5_4
  float v134; // xmm4_4
  float v135; // xmm5_4
  float v136; // xmm9_4
  float v137; // xmm10_4
  float *v138; // rsi
  float v139; // xmm12_4
  float v140; // xmm0_4
  float v141; // xmm15_4
  float v142; // xmm4_4
  float v143; // xmm3_4
  unsigned int v144; // esi
  unsigned int v145; // r13d
  int v146; // eax
  float v147; // xmm8_4
  float v148; // xmm9_4
  float v149; // xmm7_4
  float v150; // xmm12_4
  float v151; // xmm14_4
  float v152; // xmm10_4
  float v153; // xmm13_4
  float v154; // xmm11_4
  float v155; // xmm6_4
  float v156; // xmm1_4
  float v157; // xmm3_4
  float v158; // xmm5_4
  float v159; // xmm0_4
  float v160; // xmm2_4
  float v161; // xmm4_4
  float v162; // xmm1_4
  float v163; // xmm4_4
  float *v164; // rax
  float v165; // xmm3_4
  float v166; // xmm5_4
  float v167; // xmm0_4
  float v168; // xmm6_4
  float v169; // xmm3_4
  float *v170; // rax
  float v171; // xmm0_4
  int v174; // [rsp+5Ch] [rbp-ACh]
  float v175; // [rsp+60h] [rbp-A8h] BYREF
  float v176; // [rsp+68h] [rbp-A0h] BYREF
  float v177; // [rsp+6Ch] [rbp-9Ch]
  float v178; // [rsp+70h] [rbp-98h]
  float v179; // [rsp+78h] [rbp-90h] BYREF
  float v180; // [rsp+7Ch] [rbp-8Ch]
  float v181; // [rsp+80h] [rbp-88h]
  float v182; // [rsp+88h] [rbp-80h]
  float v183; // [rsp+8Ch] [rbp-7Ch]
  float *v184; // [rsp+90h] [rbp-78h]
  float v185; // [rsp+98h] [rbp-70h]
  float v186; // [rsp+9Ch] [rbp-6Ch]
  int v187; // [rsp+A0h] [rbp-68h] BYREF
  int v188; // [rsp+A4h] [rbp-64h]
  int v189; // [rsp+A8h] [rbp-60h]
  float *v190; // [rsp+B0h] [rbp-58h]
  float v191; // [rsp+B8h] [rbp-50h] BYREF
  unsigned int v192; // [rsp+BCh] [rbp-4Ch]
  float v193; // [rsp+C0h] [rbp-48h]
  _DWORD v194[4]; // [rsp+C8h] [rbp-40h] BYREF
  int v195; // [rsp+D8h] [rbp-30h]
  int v196; // [rsp+DCh] [rbp-2Ch]
  int v197; // [rsp+E0h] [rbp-28h]
  int v198; // [rsp+E4h] [rbp-24h]
  __int64 v199; // [rsp+E8h] [rbp-20h]
  float v200[4]; // [rsp+F0h] [rbp-18h] BYREF

  v7 = a7;
  v9 = a4;
  *a3 = 65536.0;
  v10 = a4;
  v11 = *a5;
  v12 = 1052016LL * a4;
  v13 = *a5 + a7;
  v190 = a2;
  v184 = a1;
  v199 = a4;
  if ( v13 < *(float *)((char *)&unk_15ADA9290 + v12) )
    return 0;
  v14 = a5[1];
  if ( (float)(v14 + a7) < *(float *)((char *)&unk_15ADA9294 + v12) )
    return 0;
  v15 = a5[2];
  if ( (float)(v15 + a7) < *(float *)((char *)&unk_15ADA9298 + v12) )
    return 0;
  if ( (float)(v11 - a7) > *(float *)((char *)&unk_15ADA929C + v12) )
    return 0;
  if ( (float)(v14 - a7) > *(float *)((char *)&unk_15ADA92A0 + v12) )
    return 0;
  if ( (float)(v15 - a7) > *(float *)((char *)&unk_15ADA92A4 + v12) )
    return 0;
  v16 = v11 - *(float *)&dword_15ADA9244[v12 / 4];
  v17 = v14 - *(float *)&dword_15ADA9248[v12 / 4];
  v18 = v15 - *(float *)&dword_15ADA924C[v12 / 4];
  v19 = a6[1];
  v20 = v16 * *(float *)((char *)&unk_15ADA9250 + v12);
  v21 = v18 * *(float *)((char *)&unk_15ADA9258 + v12);
  v22 = v16 * *(float *)((char *)&unk_15ADA925C + v12);
  v23 = v17 * *(float *)((char *)&unk_15ADA9260 + v12);
  v24 = v16 * *(float *)((char *)&unk_15ADA9268 + v12);
  v25 = v20 + (float)(v17 * *(float *)((char *)&unk_15ADA9254 + v12));
  v26 = v17 * *(float *)((char *)&unk_15ADA926C + v12);
  v27 = v18 * *(float *)((char *)&unk_15ADA9264 + v12);
  v28 = v18 * *(float *)((char *)&unk_15ADA9270 + v12);
  v194[0] = *a6;
  v29 = v22 + v23;
  v194[2] = a6[2];
  v194[1] = v19;
  v30 = *(float *)&dword_15ADA9284[v12 / 4];
  v200[0] = v25 + v21;
  v31 = v24 + v26;
  v200[1] = v29 + v27;
  v200[2] = v31 + v28;
  v32 = (int)(float)((float)((float)(a7 + v21) + v25) * v30);
  v174 = v32;
  v33 = (int)(float)((float)((float)(v29 + v27) - a7) * v30);
  v34 = (int)(float)((float)((float)(v25 + v21) - a7) * v30);
  v188 = v33;
  v195 = v34;
  v35 = (int)(float)((float)((float)(v31 + v28) - a7) * v30);
  v36 = (int)(float)((float)((float)(a7 + v27) + v29) * v30);
  v197 = v35;
  v198 = v36;
  v37 = (int)(float)((float)((float)(a7 + v28) + v31) * v30);
  v196 = v37;
  if ( v33 > v36 )
    return 0;
  v188 = (int)(float)((float)((float)(v29 + v27) - a7) * v30);
  do
  {
    v189 = v35;
    v38 = v35;
    if ( v35 > v37 )
      goto LABEL_48;
    do
    {
      v187 = v34;
      v39 = v34;
      if ( v34 > v32 )
        goto LABEL_46;
      do
      {
        if ( v39 < 0 )
          goto LABEL_44;
        if ( v39 >= LODWORD(qword_15ADA9274[v12 / 8]) << 6 )
          goto LABEL_44;
        if ( v33 < 0 )
          goto LABEL_44;
        if ( v33 >= HIDWORD(qword_15ADA9274[v12 / 8]) << 6 )
          goto LABEL_44;
        if ( v38 < 0 )
          goto LABEL_44;
        if ( v38 >= LODWORD(qword_15ADA927C[v12 / 8]) << 6 )
          goto LABEL_44;
        v40 = *(int *)(qword_15ADA9288[v12 / 8]
                     + 4LL
                     * ((v39 >> 6)
                      + LODWORD(qword_15ADA9274[v12 / 8])
                      * ((v38 >> 6) + LODWORD(qword_15ADA927C[v12 / 8]) * (v33 >> 6))));
        if ( (_DWORD)v40 == -1 )
          goto LABEL_44;
        v41 = dword_15ADA97B0[263004 * v10 + 513 * v40 + 64 * ((v33 >> 3) & 7) + 8 * ((v38 >> 3) & 7) + ((v39 >> 3) & 7)];
        if ( (_DWORD)v41 == -1 )
          goto LABEL_44;
        v42 = 6930 * v41 + (v39 & 7) + 8 * ((v38 & 7) + 8 * (v33 & 7u));
        v43 = dword_154161248[v42];
        v44 = v43 & 0xE0000000;
        if ( (v43 & 0xE0000000) == 0x40000000 )
        {
          if ( (unsigned int)sub_14003E100(
                               (unsigned int)&v176,
                               (unsigned int)&v179,
                               (unsigned int)&v175,
                               (unsigned int)v200,
                               (__int64)v194,
                               LODWORD(v7),
                               (__int64)&v187,
                               v43,
                               HIDWORD(qword_15ADA927C[v12 / 8]))
            && v175 < *a3 )
          {
            v45 = *(float *)((char *)&unk_15ADA9258 + v12);
            v46 = *(float *)((char *)&unk_15ADA9260 + v12);
            v47 = *(float *)((char *)&unk_15ADA9264 + v12);
            v48 = *(float *)((char *)&unk_15ADA9270 + v12);
            v49 = *(float *)((char *)&unk_15ADA9250 + v12);
            v50 = *(float *)((char *)&unk_15ADA9254 + v12);
            v51 = *(float *)((char *)&unk_15ADA9268 + v12);
            v52 = *(float *)((char *)&unk_15ADA926C + v12);
            v53 = v184;
            v54 = a4;
            v182 = *(float *)((char *)&unk_15ADA925C + v12);
            v183 = v46;
            v55 = v179;
            v56 = (float)(v47 * v177) + *(float *)&dword_15ADA924C[v12 / 4];
            v57 = v180;
            v58 = v46;
            v59 = (float)((float)(v46 * v177) + *(float *)&dword_15ADA9248[v12 / 4])
                + (float)((float)(v52 * v178) + (float)(v50 * v176));
            v60 = v181;
            v61 = (float)(v48 * v178) + (float)(v45 * v176);
            v62 = v182;
            v176 = (float)((float)(v51 * v178) + (float)(v49 * v176))
                 + (float)((float)(v182 * v177) + *(float *)&dword_15ADA9244[v12 / 4]);
            v63 = (float)((float)(v47 * v180) + (float)(v45 * v179)) + (float)(v48 * v181);
            *v184 = v176;
LABEL_27:
            v68 = v190;
            v69 = v61 + v56;
            v53[1] = v59;
            v53[2] = v69;
            v70 = v51 * v60;
            v71 = v52 * v60;
            v72 = v175;
            v68[2] = v63;
            v178 = v69;
            v177 = v59;
            v181 = v63;
            v73 = (float)((float)(v62 * v57) + (float)(v49 * v55)) + v70;
            v74 = (float)((float)(v58 * v57) + (float)(v50 * v55)) + v71;
            *v68 = v73;
            v179 = v73;
            v68[1] = v74;
            *a3 = v72;
            v180 = v74;
            v75 = sub_140012DE0(v54, v39, v33, v38, dword_151A848EC);
            v9 = a4;
            v32 = v174;
            v7 = a7;
            dword_151A848E8 = v75;
            goto LABEL_34;
          }
          goto LABEL_32;
        }
        if ( v44 == 0x80000000 )
        {
          if ( (unsigned int)sub_14003E4B0(
                               (unsigned int)&v176,
                               (unsigned int)&v179,
                               (unsigned int)&v175,
                               (unsigned int)v200,
                               (__int64)v194,
                               LODWORD(v7),
                               (__int64)&v187,
                               v43,
                               HIDWORD(qword_15ADA927C[v12 / 8]))
            && v175 < *a3 )
          {
            v64 = *(float *)((char *)&unk_15ADA9254 + v12);
            v65 = *(float *)((char *)&unk_15ADA9258 + v12);
            v66 = *(float *)((char *)&unk_15ADA9264 + v12);
            v67 = *(float *)((char *)&unk_15ADA9270 + v12);
            v51 = *(float *)((char *)&unk_15ADA9268 + v12);
            v49 = *(float *)((char *)&unk_15ADA925C + v12);
            v50 = *(float *)((char *)&unk_15ADA9260 + v12);
            v52 = *(float *)((char *)&unk_15ADA926C + v12);
            v54 = a4;
            v183 = *(float *)((char *)&unk_15ADA9250 + v12);
            dword_151A848F0 = v43;
            v53 = v184;
            dword_151A848D4 = a4;
            v182 = v64;
            dword_151A848D8 = v39;
            dword_151A848DC = v33;
            dword_151A848E0 = v38;
            dword_151A848FC = -1;
            dword_151A84908 = -1;
            v55 = v180;
            v56 = (float)(v66 * v177) + *(float *)&dword_15ADA924C[v12 / 4];
            v57 = v179;
            v58 = v64;
            v59 = (float)((float)(v50 * v177) + *(float *)&dword_15ADA9248[v12 / 4])
                + (float)((float)(v52 * v178) + (float)(v64 * v176));
            v60 = v181;
            v61 = (float)(v67 * v178) + (float)(v65 * v176);
            v62 = v183;
            v176 = (float)((float)(v51 * v178) + (float)(v183 * v176))
                 + (float)((float)(v49 * v177) + *(float *)&dword_15ADA9244[v12 / 4]);
            v63 = (float)((float)(v65 * v179) + (float)(v66 * v180)) + (float)(v67 * v181);
            *v184 = v176;
            goto LABEL_27;
          }
          goto LABEL_32;
        }
        if ( v44 == -1073741824 )
        {
          v76 = v39 - (unsigned int)(unsigned __int8)v43;
          LODWORD(v185) = v39 - (unsigned __int8)v43;
          v77 = v33 - (unsigned int)BYTE2(v43);
          v191 = v185;
          v78 = v38 - BYTE1(v43);
          v186 = *(float *)&v77;
          v192 = v77;
          v193 = *(float *)&v78;
          v79 = sub_1400129D0(v9, v76, v77, v78);
          if ( (unsigned int)sub_14003E4B0(
                               (unsigned int)&v176,
                               (unsigned int)&v179,
                               (unsigned int)&v175,
                               (unsigned int)v200,
                               (__int64)v194,
                               LODWORD(v7),
                               (__int64)&v191,
                               v79,
                               HIDWORD(qword_15ADA927C[v12 / 8]))
            && v175 < *a3 )
          {
            v80 = *(float *)((char *)&unk_15ADA9250 + v12);
            v81 = *(float *)((char *)&unk_15ADA9268 + v12);
            v82 = *(float *)((char *)&unk_15ADA9254 + v12);
            v83 = *(float *)((char *)&unk_15ADA9258 + v12);
            v84 = *(float *)((char *)&unk_15ADA926C + v12);
            v85 = *(float *)((char *)&unk_15ADA9270 + v12);
            v86 = *(float *)((char *)&unk_15ADA9260 + v12);
            v87 = *(float *)((char *)&unk_15ADA9264 + v12);
            v88 = v178;
            v89 = v186;
            v182 = *(float *)((char *)&unk_15ADA925C + v12);
            v90 = v83 * v176;
            v183 = v86;
            v91 = (float)(v86 * v177) + *(float *)&dword_15ADA9248[v12 / 4];
            v92 = (float)(v87 * v177) + *(float *)&dword_15ADA924C[v12 / 4];
            v93 = v180;
            v94 = v184;
            v95 = (float)((float)(v81 * v178) + (float)(v80 * v176))
                + (float)((float)(v182 * v177) + *(float *)&dword_15ADA9244[v12 / 4]);
            v96 = v179;
            v97 = v83 * v179;
            v98 = (float)(v84 * v178) + (float)(v82 * v176);
            v99 = v80 * v179;
            *v184 = v95;
            v100 = v91 + v98;
            v101 = v181;
            v102 = (float)(v85 * v88) + v90;
            v103 = v183 * v93;
            v104 = v182;
            v94[1] = v100;
            v105 = v102 + v92;
            v106 = v81 * v101;
            v107 = v84 * v101;
            v108 = v85 * v101;
            v109 = v175;
            v94[2] = v105;
            v110 = (float)((float)(v104 * v93) + v99) + v106;
            v111 = v190;
            *v190 = v110;
            v176 = v95;
            v177 = v100;
            v178 = v105;
            v179 = v110;
            v112 = (float)(v103 + (float)(v82 * v96)) + v107;
            v113 = (float)(v97 + (float)(v87 * v93)) + v108;
            v111[1] = v112;
            v180 = v112;
            v111[2] = v113;
            *a3 = v109;
            v181 = v113;
            v7 = a7;
            dword_151A848E8 = sub_140012DE0(a4, LODWORD(v185), LODWORD(v89), v78, dword_151A848EC);
          }
LABEL_32:
          v32 = v174;
          v9 = a4;
        }
        v53 = v184;
LABEL_34:
        v114 = dword_154164248[v42];
        if ( (v114 & 0xE0000000) == 0x80000000 )
        {
          if ( (unsigned int)sub_14003E4B0(
                               (unsigned int)&v176,
                               (unsigned int)&v179,
                               (unsigned int)&v175,
                               (unsigned int)v200,
                               (__int64)v194,
                               LODWORD(v7),
                               (__int64)&v187,
                               v114,
                               HIDWORD(qword_15ADA927C[v12 / 8])) )
          {
            if ( v175 < *a3 )
            {
              v115 = *(float *)((char *)&unk_15ADA9250 + v12);
              v116 = *(float *)((char *)&unk_15ADA9268 + v12);
              v117 = *(float *)((char *)&unk_15ADA9254 + v12);
              v118 = *(float *)((char *)&unk_15ADA9258 + v12);
              v119 = *(float *)((char *)&unk_15ADA926C + v12);
              v120 = *(float *)((char *)&unk_15ADA9270 + v12);
              v121 = *(float *)((char *)&unk_15ADA9260 + v12);
              v122 = *(float *)((char *)&unk_15ADA9264 + v12);
              v182 = *(float *)((char *)&unk_15ADA925C + v12);
              v123 = v118 * v176;
              v185 = v121;
              v124 = (float)(v122 * v177) + *(float *)&dword_15ADA924C[v12 / 4];
              v125 = v180;
              v126 = (float)((float)(v116 * v178) + (float)(v115 * v176))
                   + (float)((float)(v182 * v177) + *(float *)&dword_15ADA9244[v12 / 4]);
              v127 = v179;
              v128 = v120 * v178;
              v129 = v121;
              v130 = (float)((float)(v121 * v177) + *(float *)&dword_15ADA9248[v12 / 4])
                   + (float)((float)(v119 * v178) + (float)(v117 * v176));
              v131 = v181;
              v132 = (float)(v118 * v179) + (float)(v122 * v180);
              *v53 = v126;
              v133 = v128 + v123;
              v134 = v182 * v125;
              v53[1] = v130;
              v135 = v133 + v124;
              v136 = v116 * v131;
              v137 = v119 * v131;
              v53[2] = v135;
              v138 = v190;
              v139 = v120 * v131;
              v140 = v175;
              v141 = v132 + v139;
              v176 = v126;
              v177 = v130;
              v178 = v135;
              v190[2] = v141;
              v181 = v141;
              v142 = (float)(v134 + (float)(v115 * v127)) + v136;
              v143 = (float)((float)(v129 * v125) + (float)(v117 * v127)) + v137;
              *v138 = v142;
              v179 = v142;
              v138[1] = v143;
              *a3 = v140;
              v180 = v143;
              dword_151A848E8 = sub_140016720(a4, v39, v33, v38, dword_151A848EC);
            }
          }
          v32 = v174;
        }
        else if ( (v114 & 0xE0000000) == 0xC0000000 )
        {
          v144 = v39 - (unsigned __int8)v114;
          v191 = *(float *)&v144;
          v145 = v33 - BYTE2(v114);
          v192 = v145;
          LODWORD(v183) = v38 - BYTE1(v114);
          v193 = v183;
          v146 = sub_140016450(v9, v144, v145, LODWORD(v183));
          if ( (unsigned int)sub_14003E4B0(
                               (unsigned int)&v176,
                               (unsigned int)&v179,
                               (unsigned int)&v175,
                               (unsigned int)v200,
                               (__int64)v194,
                               LODWORD(v7),
                               (__int64)&v191,
                               v146,
                               HIDWORD(qword_15ADA927C[v12 / 8]))
            && v175 < *a3 )
          {
            v147 = *(float *)((char *)&unk_15ADA9250 + v12);
            v148 = *(float *)((char *)&unk_15ADA9268 + v12);
            v149 = *(float *)((char *)&unk_15ADA925C + v12);
            v150 = *(float *)((char *)&unk_15ADA9258 + v12);
            v151 = *(float *)((char *)&unk_15ADA9270 + v12);
            v152 = *(float *)((char *)&unk_15ADA9260 + v12);
            v153 = *(float *)((char *)&unk_15ADA9254 + v12);
            v154 = *(float *)((char *)&unk_15ADA926C + v12);
            v155 = v179;
            v156 = v176 * v150;
            v157 = (float)(v177 * *(float *)((char *)&unk_15ADA9264 + v12)) + *(float *)&dword_15ADA924C[v12 / 4];
            v158 = (float)(v177 * v152) + *(float *)&dword_15ADA9248[v12 / 4];
            v159 = (float)(v178 * v154) + (float)(v176 * v153);
            v176 = (float)((float)(v178 * v148) + (float)(v176 * v147))
                 + (float)((float)(v177 * v149) + *(float *)&dword_15ADA9244[v12 / 4]);
            v160 = v181;
            v161 = (float)(v178 * v151) + v156;
            v162 = v181 * v148;
            v185 = v158 + v159;
            v177 = v158 + v159;
            v186 = v161 + v157;
            v178 = v161 + v157;
            v163 = v180 * *(float *)((char *)&unk_15ADA9264 + v12);
            v164 = v184;
            v165 = v180 * v152;
            v166 = (float)(v180 * v149) + (float)(v179 * v147);
            *v184 = v176;
            v167 = v155;
            v164[1] = v185;
            v168 = (float)((float)(v155 * v150) + v163) + (float)(v160 * v151);
            v164[2] = v186;
            v169 = (float)(v165 + (float)(v167 * v153)) + (float)(v160 * v154);
            v170 = v190;
            v171 = v175;
            v179 = v166 + v162;
            v181 = v168;
            *v190 = v166 + v162;
            v170[1] = v169;
            v170[2] = v168;
            *a3 = v171;
            v180 = v169;
            dword_151A848E8 = sub_140016720(a4, v144, v145, LODWORD(v183), dword_151A848EC);
          }
          v32 = v174;
        }
LABEL_44:
        v9 = a4;
        ++v39;
        v7 = a7;
        v10 = a4;
        v187 = v39;
      }
      while ( v39 <= v32 );
      v9 = a4;
      v10 = v199;
      v34 = v195;
      v37 = v196;
LABEL_46:
      v189 = ++v38;
    }
    while ( v38 <= v37 );
    v35 = v197;
    v36 = v198;
LABEL_48:
    v188 = ++v33;
  }
  while ( v33 <= v36 );
  return *a3 < 65536.0;
}
