Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Peach turnip 1 function
- float __fastcall app::peachdaikon::PEACH_PEACHDAIKON_DAIKON_1_POWER(app::peachdaikon *this)
- {
- return *(float *)(*(_QWORD *)(*(_QWORD *)(*off_710456A320[0] + 840) + 344LL) + 32LL);
- }
- // Peach turnip 1 assembly
- EXPORT _ZN3app11peachdaikon32PEACH_PEACHDAIKON_DAIKON_1_POWEREv
- .text:00000071010795D0 _ZN3app11peachdaikon32PEACH_PEACHDAIKON_DAIKON_1_POWEREv
- .text:00000071010795D0 ADRP X8, #off_710456A320@PAGE
- .text:00000071010795D4 LDR X8, [X8,#off_710456A320@PAGEOFF]
- .text:00000071010795D8 LDR X8, [X8] ; lib::Singleton<app::FighterParamAccessor2>::instance_
- .text:00000071010795DC LDR X8, [X8,#0x348]
- .text:00000071010795E0 LDR X8, [X8,#0x158]
- .text:00000071010795E4 LDR S0, [X8,#0x20]
- .text:00000071010795E8 RET
- // ATTACK function
- __int64 __fastcall sub_71019420D0(__int64 a1, __int64 a2)
- {
- __int64 v2; // x20
- __int64 v3; // x25
- __int64 v4; // x24
- __int64 v5; // x19
- __int128 v6; // q0
- unsigned int v7; // w21
- __int64 v8; // x8
- __int64 v9; // x9
- __int64 v10; // x1
- __int64 v11; // x2
- void **v12; // x8
- unsigned __int64 v13; // x9
- void **v14; // x26
- int v15; // w8
- float v16; // w8
- signed __int64 v17; // x0
- _QWORD *v18; // x8
- __int64 v19; // x8
- void **v20; // x26
- int v21; // w8
- float v22; // w8
- signed __int64 v23; // x0
- _QWORD *v24; // x8
- __int64 v25; // x8
- void **v26; // x26
- int v27; // w8
- float v28; // s0
- signed __int64 v29; // x0
- _QWORD *v30; // x8
- __int64 v31; // x8
- __int128 v32; // q1
- void **v33; // x26
- int v34; // w8
- float v35; // s0
- signed __int64 v36; // x0
- _QWORD *v37; // x8
- __int64 v38; // x8
- __int128 v39; // q1
- void **v40; // x26
- int v41; // w8
- float v42; // s0
- signed __int64 v43; // x0
- _QWORD *v44; // x8
- __int64 v45; // x8
- __int128 v46; // q1
- _QWORD *v47; // x8
- __int64 v48; // x10
- unsigned __int64 v49; // x9
- void **v50; // x11
- unsigned __int64 v51; // x8
- void **v52; // x26
- int v53; // w8
- float v54; // s0
- signed __int64 v55; // x0
- _QWORD *v56; // x8
- __int64 v57; // x8
- __int128 v58; // q1
- void **v59; // x26
- int v60; // w8
- float v61; // s0
- signed __int64 v62; // x0
- _QWORD *v63; // x8
- __int64 v64; // x8
- __int128 v65; // q1
- void **v66; // x26
- int v67; // w8
- float v68; // s0
- signed __int64 v69; // x0
- _QWORD *v70; // x8
- __int64 v71; // x8
- __int128 v72; // q1
- unsigned __int64 v73; // x8
- void **v74; // x26
- int v75; // w8
- float v76; // w8
- signed __int64 v77; // x0
- _QWORD *v78; // x8
- __int64 v79; // x8
- void **v80; // x26
- int v81; // w8
- float v82; // w8
- signed __int64 v83; // x0
- _QWORD *v84; // x8
- __int64 v85; // x8
- void **v86; // x8
- int v87; // w9
- int v88; // w8
- __int64 v89; // x0
- void **v90; // x26
- int v91; // w8
- float v92; // s1
- float v93; // w8
- signed __int64 v94; // x0
- _QWORD *v95; // x8
- __int64 v96; // x8
- void **v97; // x26
- int v98; // w8
- signed __int64 v99; // x0
- _QWORD *v100; // x8
- unsigned __int64 v101; // x8
- _QWORD *v102; // x8
- void **v103; // x10
- unsigned __int64 v104; // x9
- int v105; // w11
- bool v106; // zf
- char v107; // w10
- void **v108; // x10
- int v109; // w11
- bool v110; // zf
- char v111; // w10
- void **v112; // x10
- int v113; // w11
- bool v114; // zf
- void **v115; // x11
- int v116; // w12
- bool v117; // zf
- char v118; // w11
- void **v119; // x8
- int v120; // w9
- unsigned __int64 v121; // x24
- bool v122; // zf
- char v123; // w8
- int v124; // w0
- void **v125; // x8
- int v126; // w9
- bool v127; // zf
- char v128; // w8
- unsigned __int64 i; // x8
- unsigned __int64 v130; // x9
- __int128 v132; // [xsp+0h] [xbp-150h]
- __int128 v133; // [xsp+10h] [xbp-140h]
- __int64 v134; // [xsp+20h] [xbp-130h]
- __int64 v135; // [xsp+28h] [xbp-128h]
- __int64 v136; // [xsp+30h] [xbp-120h]
- __int64 v137; // [xsp+38h] [xbp-118h]
- float v138; // [xsp+40h] [xbp-110h]
- __int64 v139; // [xsp+48h] [xbp-108h]
- int v140; // [xsp+50h] [xbp-100h]
- char v141; // [xsp+54h] [xbp-FCh]
- __int64 v142; // [xsp+58h] [xbp-F8h]
- __int64 v143; // [xsp+60h] [xbp-F0h]
- __int64 v144; // [xsp+68h] [xbp-E8h]
- char v145; // [xsp+70h] [xbp-E0h]
- __int16 v146; // [xsp+71h] [xbp-DFh]
- char v147; // [xsp+73h] [xbp-DDh]
- __int16 v148; // [xsp+74h] [xbp-DCh]
- char v149; // [xsp+76h] [xbp-DAh]
- __int64 v150; // [xsp+78h] [xbp-D8h]
- __int16 v151; // [xsp+80h] [xbp-D0h]
- __int64 v152; // [xsp+88h] [xbp-C8h]
- __int128 v153; // [xsp+90h] [xbp-C0h]
- int v154; // [xsp+A0h] [xbp-B0h]
- __int16 v155; // [xsp+A4h] [xbp-ACh]
- char v156; // [xsp+A6h] [xbp-AAh]
- int v157; // [xsp+A8h] [xbp-A8h]
- int v158; // [xsp+ACh] [xbp-A4h]
- __int64 v159; // [xsp+B0h] [xbp-A0h]
- __int64 v160; // [xsp+B8h] [xbp-98h]
- __int16 v161; // [xsp+C0h] [xbp-90h]
- __int16 v162; // [xsp+C4h] [xbp-8Ch]
- int v163; // [xsp+C8h] [xbp-88h]
- __int64 v164; // [xsp+CCh] [xbp-84h]
- __int64 v165; // [xsp+D4h] [xbp-7Ch]
- __int64 v166; // [xsp+DCh] [xbp-74h]
- int v167; // [xsp+E4h] [xbp-6Ch]
- char v168; // [xsp+E8h] [xbp-68h]
- char v169; // [xsp+E9h] [xbp-67h]
- __int64 v170; // [xsp+F0h] [xbp-60h]
- __int64 v171; // [xsp+F8h] [xbp-58h]
- v2 = a2;
- v3 = **(_QWORD **)(a2 + 32);
- v4 = *(_QWORD *)(a2 + 16);
- v133 = 0uLL;
- v134 = 0LL;
- v135 = 0LL;
- v138 = 1.0;
- v136 = 0LL;
- v137 = 4575657222473777152LL;
- v139 = 0x31ED91FCALL;
- v132 = 0uLL;
- v5 = a1;
- v146 = 0;
- v141 = 0;
- v140 = 0;
- v147 = 0;
- v148 = 0;
- v151 = 0;
- v145 = 0;
- v144 = 0LL;
- v150 = 0LL;
- v152 = 0x31ED91FCALL;
- v142 = 0x15A2C502B3LL;
- v143 = 0LL;
- v149 = 12;
- v6 = *(_OWORD *)off_710456A310;
- v157 = 0x3F800000;
- v158 = 0;
- v159 = 0x425CBFC4FLL;
- v160 = 0x7FB997A80LL;
- v154 = 0;
- v156 = 0;
- v155 = 0;
- v161 = 0;
- v162 = 0;
- v163 = 0xBF800000;
- v153 = v6;
- v166 = 0LL;
- v165 = 0LL;
- v164 = 0LL;
- v167 = -1;
- v168 = 3;
- v169 = 0;
- v7 = sub_71029ACA40(a2, 1LL, 0LL);
- sub_71029ACA40(v2, 2LL, 0LL);
- v139 = sub_71029ACA40(v2, 3LL, 0LL);
- v8 = **(_QWORD **)(v2 + 32);
- v9 = *(_QWORD *)(v2 + 16);
- sub_71029ACA40(v139, v10, v11);
- if ( (unsigned __int64)v12 >= v13 )
- v14 = &off_7103C42FD0;
- else
- v14 = v12;
- v15 = *((_DWORD *)v14 + 2);
- if ( v15 == 3 )
- {
- v16 = *(float *)v14;
- }
- else if ( v15 == 19 )
- {
- v16 = (float)(signed __int64)*v14;
- }
- else if ( ((_DWORD)v14[1] & 0xF) != 4
- || ((v17 = sub_71029C0CE0((unsigned __int8 *)*v14 + 24, (_BOOL8 *)&v170), v18 = *v14, *((_BYTE *)*v14 + 8) != 4) ? (v19 = v18[2]) : (v19 = *((unsigned __int8 *)v18 + 11)),
- v17 != v19 + 1) )
- {
- v16 = 0.0;
- }
- else if ( (_DWORD)v171 == 19 )
- {
- v16 = (float)v170;
- }
- else
- {
- v16 = *(float *)&v170;
- }
- *(float *)&v134 = v16;
- LODWORD(v135) = sub_71029ACA40(v2, 5LL, 0LL);
- HIDWORD(v135) = sub_71029ACA40(v2, 6LL, 0LL);
- LODWORD(v136) = sub_71029ACA40(v2, 7LL, 0LL);
- HIDWORD(v136) = sub_71029ACA40(v2, 8LL, 0LL);
- if ( (unsigned __int64)(**(_QWORD **)(v2 + 32) + 144LL) >= *(_QWORD *)(v2 + 16) )
- v20 = &off_7103C42FD0;
- else
- v20 = (void **)(**(_QWORD **)(v2 + 32) + 144LL);
- v21 = *((_DWORD *)v20 + 2);
- if ( v21 == 3 )
- {
- v22 = *(float *)v20;
- }
- else if ( v21 == 19 )
- {
- v22 = (float)(signed __int64)*v20;
- }
- else if ( ((_DWORD)v20[1] & 0xF) != 4
- || ((v23 = sub_71029C0CE0((unsigned __int8 *)*v20 + 24, (_BOOL8 *)&v170), v24 = *v20, *((_BYTE *)*v20 + 8) != 4) ? (v25 = v24[2]) : (v25 = *((unsigned __int8 *)v24 + 11)),
- v23 != v25 + 1) )
- {
- v22 = 0.0;
- }
- else if ( (_DWORD)v171 == 19 )
- {
- v22 = (float)v170;
- }
- else
- {
- v22 = *(float *)&v170;
- }
- *((float *)&v134 + 1) = v22;
- if ( (unsigned __int64)(**(_QWORD **)(v2 + 32) + 160LL) >= *(_QWORD *)(v2 + 16) )
- v26 = &off_7103C42FD0;
- else
- v26 = (void **)(**(_QWORD **)(v2 + 32) + 160LL);
- v27 = *((_DWORD *)v26 + 2);
- if ( v27 == 3 )
- {
- v28 = *(float *)v26;
- }
- else if ( v27 == 19 )
- {
- v28 = (float)(signed __int64)*v26;
- }
- else if ( ((_DWORD)v26[1] & 0xF) != 4
- || ((v29 = sub_71029C0CE0((unsigned __int8 *)*v26 + 24, (_BOOL8 *)&v170), v30 = *v26, *((_BYTE *)*v26 + 8) != 4) ? (v31 = v30[2]) : (v31 = *((unsigned __int8 *)v30 + 11)),
- v29 != v31 + 1) )
- {
- v28 = 0.0;
- }
- else
- {
- v28 = (float)v170;
- if ( (_DWORD)v171 != 19 )
- v28 = *(float *)&v170;
- }
- v32 = v132;
- *(float *)&v32 = v28;
- v132 = v32;
- if ( (unsigned __int64)(**(_QWORD **)(v2 + 32) + 176LL) >= *(_QWORD *)(v2 + 16) )
- v33 = &off_7103C42FD0;
- else
- v33 = (void **)(**(_QWORD **)(v2 + 32) + 176LL);
- v34 = *((_DWORD *)v33 + 2);
- if ( v34 == 3 )
- {
- v35 = *(float *)v33;
- }
- else if ( v34 == 19 )
- {
- v35 = (float)(signed __int64)*v33;
- }
- else if ( ((_DWORD)v33[1] & 0xF) != 4
- || ((v36 = sub_71029C0CE0((unsigned __int8 *)*v33 + 24, (_BOOL8 *)&v170), v37 = *v33, *((_BYTE *)*v33 + 8) != 4) ? (v38 = v37[2]) : (v38 = *((unsigned __int8 *)v37 + 11)),
- v36 != v38 + 1) )
- {
- v35 = 0.0;
- }
- else
- {
- v35 = (float)v170;
- if ( (_DWORD)v171 != 19 )
- v35 = *(float *)&v170;
- }
- v39 = v132;
- *((float *)&v39 + 1) = v35;
- v132 = v39;
- if ( (unsigned __int64)(**(_QWORD **)(v2 + 32) + 192LL) >= *(_QWORD *)(v2 + 16) )
- v40 = &off_7103C42FD0;
- else
- v40 = (void **)(**(_QWORD **)(v2 + 32) + 192LL);
- v41 = *((_DWORD *)v40 + 2);
- if ( v41 == 3 )
- {
- v42 = *(float *)v40;
- }
- else if ( v41 == 19 )
- {
- v42 = (float)(signed __int64)*v40;
- }
- else if ( ((_DWORD)v40[1] & 0xF) != 4
- || ((v43 = sub_71029C0CE0((unsigned __int8 *)*v40 + 24, (_BOOL8 *)&v170), v44 = *v40, *((_BYTE *)*v40 + 8) != 4) ? (v45 = v44[2]) : (v45 = *((unsigned __int8 *)v44 + 11)),
- v43 != v45 + 1) )
- {
- v42 = 0.0;
- }
- else
- {
- v42 = (float)v170;
- if ( (_DWORD)v171 != 19 )
- v42 = *(float *)&v170;
- }
- *(_QWORD *)&v46 = v132;
- *((_QWORD *)&v46 + 1) = LODWORD(v42);
- v132 = v46;
- v47 = *(_QWORD **)(v2 + 32);
- v48 = *v47;
- v49 = *(_QWORD *)(v2 + 16);
- v50 = (void **)(*v47 + 192LL);
- if ( ((unsigned __int64)v50 >= v49 || v50 == &off_7103C42FD0 || *(_BYTE *)(v48 + 200) & 0xF)
- && (v48 + 208 >= v49 || (void **)(v48 + 208) == &off_7103C42FD0 || *(_BYTE *)(v48 + 216) & 0xF)
- && (v48 + 224 >= v49 || (void **)(v48 + 224) == &off_7103C42FD0 || *(_BYTE *)(v48 + 232) & 0xF) )
- {
- v147 = 2;
- v51 = *v47 + 208LL;
- if ( v51 >= v49 )
- v52 = &off_7103C42FD0;
- else
- v52 = (void **)v51;
- v53 = *((_DWORD *)v52 + 2);
- if ( v53 == 3 )
- {
- v54 = *(float *)v52;
- }
- else if ( v53 == 19 )
- {
- v54 = (float)(signed __int64)*v52;
- }
- else if ( ((_DWORD)v52[1] & 0xF) != 4
- || ((v55 = sub_71029C0CE0((unsigned __int8 *)*v52 + 24, (_BOOL8 *)&v170),
- v56 = *v52,
- *((_BYTE *)*v52 + 8) != 4) ? (v57 = v56[2]) : (v57 = *((unsigned __int8 *)v56 + 11)),
- v55 != v57 + 1) )
- {
- v54 = 0.0;
- }
- else
- {
- v54 = (float)v170;
- if ( (_DWORD)v171 != 19 )
- v54 = *(float *)&v170;
- }
- v58 = v133;
- *(float *)&v58 = v54;
- v133 = v58;
- if ( (unsigned __int64)(**(_QWORD **)(v2 + 32) + 224LL) >= *(_QWORD *)(v2 + 16) )
- v59 = &off_7103C42FD0;
- else
- v59 = (void **)(**(_QWORD **)(v2 + 32) + 224LL);
- v60 = *((_DWORD *)v59 + 2);
- if ( v60 == 3 )
- {
- v61 = *(float *)v59;
- }
- else if ( v60 == 19 )
- {
- v61 = (float)(signed __int64)*v59;
- }
- else if ( ((_DWORD)v59[1] & 0xF) != 4
- || ((v62 = sub_71029C0CE0((unsigned __int8 *)*v59 + 24, (_BOOL8 *)&v170),
- v63 = *v59,
- *((_BYTE *)*v59 + 8) != 4) ? (v64 = v63[2]) : (v64 = *((unsigned __int8 *)v63 + 11)),
- v62 != v64 + 1) )
- {
- v61 = 0.0;
- }
- else
- {
- v61 = (float)v170;
- if ( (_DWORD)v171 != 19 )
- v61 = *(float *)&v170;
- }
- v65 = v133;
- *((float *)&v65 + 1) = v61;
- v133 = v65;
- if ( (unsigned __int64)(**(_QWORD **)(v2 + 32) + 240LL) >= *(_QWORD *)(v2 + 16) )
- v66 = &off_7103C42FD0;
- else
- v66 = (void **)(**(_QWORD **)(v2 + 32) + 240LL);
- v67 = *((_DWORD *)v66 + 2);
- if ( v67 == 3 )
- {
- v68 = *(float *)v66;
- }
- else if ( v67 == 19 )
- {
- v68 = (float)(signed __int64)*v66;
- }
- else if ( ((_DWORD)v66[1] & 0xF) != 4
- || ((v69 = sub_71029C0CE0((unsigned __int8 *)*v66 + 24, (_BOOL8 *)&v170),
- v70 = *v66,
- *((_BYTE *)*v66 + 8) != 4) ? (v71 = v70[2]) : (v71 = *((unsigned __int8 *)v70 + 11)),
- v69 != v71 + 1) )
- {
- v68 = 0.0;
- }
- else
- {
- v68 = (float)v170;
- if ( (_DWORD)v171 != 19 )
- v68 = *(float *)&v170;
- }
- *(_QWORD *)&v72 = v133;
- *((_QWORD *)&v72 + 1) = LODWORD(v68);
- v133 = v72;
- v47 = *(_QWORD **)(v2 + 32);
- v49 = *(_QWORD *)(v2 + 16);
- }
- else
- {
- v147 = 0;
- }
- v73 = *v47 + 256LL;
- if ( v73 >= v49 )
- v74 = &off_7103C42FD0;
- else
- v74 = (void **)v73;
- v75 = *((_DWORD *)v74 + 2);
- if ( v75 == 3 )
- {
- v76 = *(float *)v74;
- }
- else if ( v75 == 19 )
- {
- v76 = (float)(signed __int64)*v74;
- }
- else if ( ((_DWORD)v74[1] & 0xF) != 4
- || ((v77 = sub_71029C0CE0((unsigned __int8 *)*v74 + 24, (_BOOL8 *)&v170), v78 = *v74, *((_BYTE *)*v74 + 8) != 4) ? (v79 = v78[2]) : (v79 = *((unsigned __int8 *)v78 + 11)),
- v77 != v79 + 1) )
- {
- v76 = 0.0;
- }
- else if ( (_DWORD)v171 == 19 )
- {
- v76 = (float)v170;
- }
- else
- {
- v76 = *(float *)&v170;
- }
- *((float *)&v137 + 1) = v76;
- if ( (unsigned __int64)(**(_QWORD **)(v2 + 32) + 272LL) >= *(_QWORD *)(v2 + 16) )
- v80 = &off_7103C42FD0;
- else
- v80 = (void **)(**(_QWORD **)(v2 + 32) + 272LL);
- v81 = *((_DWORD *)v80 + 2);
- if ( v81 == 3 )
- {
- v82 = *(float *)v80;
- }
- else if ( v81 == 19 )
- {
- v82 = (float)(signed __int64)*v80;
- }
- else if ( ((_DWORD)v80[1] & 0xF) != 4
- || ((v83 = sub_71029C0CE0((unsigned __int8 *)*v80 + 24, (_BOOL8 *)&v170), v84 = *v80, *((_BYTE *)*v80 + 8) != 4) ? (v85 = v84[2]) : (v85 = *((unsigned __int8 *)v84 + 11)),
- v83 != v85 + 1) )
- {
- v82 = 0.0;
- }
- else if ( (_DWORD)v171 == 19 )
- {
- v82 = (float)v170;
- }
- else
- {
- v82 = *(float *)&v170;
- }
- v138 = v82;
- BYTE5(v144) = *((float *)&v137 + 1) <= 0.0;
- BYTE2(v143) = sub_71029ACA40(v2, 18LL, 0LL);
- BYTE2(v144) = sub_71029ACA40(v2, 19LL, 0LL);
- v86 = (void **)(**(_QWORD **)(v2 + 32) + 320LL);
- if ( (unsigned __int64)v86 >= *(_QWORD *)(v2 + 16) )
- v86 = &off_7103C42FD0;
- v87 = *((_DWORD *)v86 + 2);
- if ( !v87 )
- goto LABEL_191;
- if ( v87 == 19 )
- {
- if ( !*v86 || (float)(signed __int64)*v86 == 0.0 )
- goto LABEL_191;
- LABEL_188:
- if ( v87 != 3 || *(float *)v86 != 0.0 )
- goto LABEL_190;
- LABEL_191:
- LOBYTE(v88) = 0;
- goto LABEL_192;
- }
- if ( v87 != 1 )
- {
- if ( ((_DWORD)v86[1] & 0xF) == 3 && *(float *)v86 == 0.0 )
- goto LABEL_191;
- goto LABEL_188;
- }
- v88 = *(_DWORD *)v86;
- if ( v88 )
- LABEL_190:
- v88 = *(_DWORD *)(*(_QWORD *)(*off_710456A320[0] + 80) + 1284LL);
- LABEL_192:
- BYTE6(v150) = v88;
- v89 = sub_71029ACA40(v2, 21LL, 0LL);
- if ( v89 == 10329139231LL )
- {
- BYTE4(v143) = 0;
- }
- else
- {
- BYTE4(v143) = 1;
- v148 = v89;
- }
- if ( (unsigned __int64)(**(_QWORD **)(v2 + 32) + 352LL) >= *(_QWORD *)(v2 + 16) )
- v90 = &off_7103C42FD0;
- else
- v90 = (void **)(**(_QWORD **)(v2 + 32) + 352LL);
- v91 = *((_DWORD *)v90 + 2);
- v92 = 0.0;
- if ( v91 == 3 )
- {
- v93 = *(float *)v90;
- }
- else if ( v91 == 19 )
- {
- v93 = (float)(signed __int64)*v90;
- }
- else if ( ((_DWORD)v90[1] & 0xF) != 4
- || ((v94 = sub_71029C0CE0((unsigned __int8 *)*v90 + 24, (_BOOL8 *)&v170), v95 = *v90, *((_BYTE *)*v90 + 8) != 4) ? (v96 = v95[2]) : (v96 = *((unsigned __int8 *)v95 + 11)),
- v92 = 0.0,
- v94 != v96 + 1) )
- {
- v93 = 0.0;
- }
- else if ( (_DWORD)v171 == 19 )
- {
- v93 = (float)v170;
- }
- else
- {
- v93 = *(float *)&v170;
- }
- *(float *)&v137 = v93;
- if ( (unsigned __int64)(**(_QWORD **)(v2 + 32) + 368LL) >= *(_QWORD *)(v2 + 16) )
- v97 = &off_7103C42FD0;
- else
- v97 = (void **)(**(_QWORD **)(v2 + 32) + 368LL);
- v98 = *((_DWORD *)v97 + 2);
- if ( v98 == 3 )
- {
- v92 = *(float *)v97;
- }
- else if ( v98 == 19 )
- {
- v92 = (float)(signed __int64)*v97;
- }
- else if ( ((_DWORD)v97[1] & 0xF) == 4 )
- {
- v99 = sub_71029C0CE0((unsigned __int8 *)*v97 + 24, (_BOOL8 *)&v170);
- v100 = *v97;
- v101 = *((_BYTE *)*v97 + 8) == 4 ? (unsigned __int64)*((unsigned __int8 *)v100 + 11) : v100[2];
- v92 = 0.0;
- if ( v99 == v101 + 1 )
- {
- v92 = *(float *)&v170;
- if ( (_DWORD)v171 == 19 )
- v92 = (float)v170;
- }
- }
- LODWORD(v150) = (unsigned int)v92;
- v102 = *(_QWORD **)(v2 + 32);
- v103 = (void **)(*v102 + 384LL);
- v104 = *(_QWORD *)(v2 + 16);
- if ( (unsigned __int64)v103 >= v104 )
- v103 = &off_7103C42FD0;
- v105 = *((_DWORD *)v103 + 2);
- switch ( v105 )
- {
- case 0:
- goto LABEL_237;
- case 19:
- if ( !*v103 || (float)(signed __int64)*v103 == 0.0 )
- goto LABEL_237;
- break;
- case 1:
- v106 = *(_DWORD *)v103 == 0;
- goto LABEL_240;
- default:
- if ( ((_DWORD)v103[1] & 0xF) == 3 && *(float *)v103 == 0.0 )
- {
- LABEL_237:
- v107 = 0;
- goto LABEL_245;
- }
- break;
- }
- if ( v105 != 3 )
- {
- v107 = 1;
- goto LABEL_245;
- }
- v106 = *(float *)v103 == 0.0;
- LABEL_240:
- v107 = !v106;
- LABEL_245:
- BYTE5(v143) = v107;
- v108 = (void **)(*v102 + 400LL);
- if ( (unsigned __int64)v108 >= v104 )
- v108 = &off_7103C42FD0;
- v109 = *((_DWORD *)v108 + 2);
- switch ( v109 )
- {
- case 0:
- goto LABEL_256;
- case 19:
- if ( !*v108 || (float)(signed __int64)*v108 == 0.0 )
- goto LABEL_256;
- break;
- case 1:
- v110 = *(_DWORD *)v108 == 0;
- goto LABEL_259;
- default:
- if ( ((_DWORD)v108[1] & 0xF) == 3 && *(float *)v108 == 0.0 )
- {
- LABEL_256:
- v111 = 0;
- goto LABEL_264;
- }
- break;
- }
- if ( v109 != 3 )
- {
- v111 = 1;
- goto LABEL_264;
- }
- v110 = *(float *)v108 == 0.0;
- LABEL_259:
- v111 = !v110;
- LABEL_264:
- BYTE6(v143) = v111;
- v112 = (void **)(*v102 + 416LL);
- if ( (unsigned __int64)v112 >= v104 )
- v112 = &off_7103C42FD0;
- v113 = *((_DWORD *)v112 + 2);
- if ( v113 )
- {
- if ( v113 == 19 )
- {
- if ( !*v112 || (float)(signed __int64)*v112 == 0.0 )
- goto LABEL_275;
- }
- else
- {
- if ( v113 == 1 )
- {
- v114 = *(_DWORD *)v112 == 0;
- LABEL_278:
- LOBYTE(v113) = !v114;
- goto LABEL_283;
- }
- if ( ((_DWORD)v112[1] & 0xF) == 3 && *(float *)v112 == 0.0 )
- {
- LABEL_275:
- LOBYTE(v113) = 0;
- goto LABEL_283;
- }
- }
- if ( v113 != 3 )
- {
- LOBYTE(v113) = 1;
- goto LABEL_283;
- }
- v114 = *(float *)v112 == 0.0;
- goto LABEL_278;
- }
- LABEL_283:
- v145 = v113;
- v115 = (void **)(*v102 + 432LL);
- if ( (unsigned __int64)v115 >= v104 )
- v115 = &off_7103C42FD0;
- v116 = *((_DWORD *)v115 + 2);
- switch ( v116 )
- {
- case 0:
- goto LABEL_294;
- case 19:
- if ( !*v115 || (float)(signed __int64)*v115 == 0.0 )
- goto LABEL_294;
- break;
- case 1:
- v117 = *(_DWORD *)v115 == 0;
- goto LABEL_297;
- default:
- if ( ((_DWORD)v115[1] & 0xF) == 3 && *(float *)v115 == 0.0 )
- {
- LABEL_294:
- v118 = 0;
- goto LABEL_302;
- }
- break;
- }
- if ( v116 != 3 )
- {
- v118 = 1;
- goto LABEL_302;
- }
- v117 = *(float *)v115 == 0.0;
- LABEL_297:
- v118 = !v117;
- LABEL_302:
- BYTE6(v144) = v118;
- v119 = (void **)(*v102 + 448LL);
- if ( (unsigned __int64)v119 >= v104 )
- v119 = &off_7103C42FD0;
- v120 = *((_DWORD *)v119 + 2);
- v121 = v4 - (v3 + 16);
- switch ( v120 )
- {
- case 0:
- goto LABEL_313;
- case 19:
- if ( !*v119 || (float)(signed __int64)*v119 == 0.0 )
- goto LABEL_313;
- break;
- case 1:
- v122 = *(_DWORD *)v119 == 0;
- goto LABEL_316;
- default:
- if ( ((_DWORD)v119[1] & 0xF) == 3 && *(float *)v119 == 0.0 )
- {
- LABEL_313:
- v123 = 0;
- goto LABEL_321;
- }
- break;
- }
- if ( v120 != 3 )
- {
- v123 = 1;
- goto LABEL_321;
- }
- v122 = *(float *)v119 == 0.0;
- LABEL_316:
- v123 = !v122;
- LABEL_321:
- HIBYTE(v143) = v123;
- v124 = sub_71029ACA40(v2, 29LL, 0LL);
- if ( v124 & 0x80000000 )
- HIBYTE(v146) = 1;
- BYTE2(v140) = v124;
- LOWORD(v140) = sub_71029ACA40(v2, 30LL, 0LL);
- v141 = sub_71029ACA40(v2, 31LL, 0LL);
- v125 = (void **)(**(_QWORD **)(v2 + 32) + 512LL);
- if ( (unsigned __int64)v125 >= *(_QWORD *)(v2 + 16) )
- v125 = &off_7103C42FD0;
- v126 = *((_DWORD *)v125 + 2);
- switch ( v126 )
- {
- case 0:
- goto LABEL_334;
- case 19:
- if ( !*v125 || (float)(signed __int64)*v125 == 0.0 )
- goto LABEL_334;
- break;
- case 1:
- v127 = *(_DWORD *)v125 == 0;
- goto LABEL_337;
- default:
- if ( ((_DWORD)v125[1] & 0xF) == 3 && *(float *)v125 == 0.0 )
- {
- LABEL_334:
- v128 = 0;
- goto LABEL_342;
- }
- break;
- }
- if ( v126 != 3 )
- {
- v128 = 1;
- goto LABEL_342;
- }
- v127 = *(float *)v125 == 0.0;
- LABEL_337:
- v128 = !v127;
- LABEL_342:
- BYTE4(v144) = v128;
- v142 = sub_71029ACA40(v2, 33LL, 0LL);
- LOBYTE(v143) = sub_71029ACA40(v2, 34LL, 0LL);
- BYTE1(v143) = sub_71029ACA40(v2, 35LL, 0LL);
- LOBYTE(v146) = sub_71029ACA40(v2, 36LL, 0LL);
- if ( (v121 >> 4) & 0x80000000 )
- {
- v130 = *(_QWORD *)(v2 + 16);
- for ( i = **(_QWORD **)(v2 + 32) + ((signed __int64)((v121 << 28) ^ 0xFFFFFFFF00000000LL) >> 28) + 16;
- v130 < i;
- v130 = *(_QWORD *)(v2 + 16) )
- {
- *(_QWORD *)(v2 + 16) = v130 + 16;
- *(_DWORD *)(v130 + 8) = 0;
- }
- }
- else
- {
- i = *(_QWORD *)(v2 + 16)
- + ((signed __int64)((unsigned __int64)(unsigned int)-(signed __int64)(v121 >> 4) << 32) >> 28);
- }
- *(_QWORD *)(v2 + 16) = i;
- if ( (v139 & 0xFFFFFFFFFFLL) == 0x57AC2C32ELL )
- {
- sub_710032C9E0(&v170, *(unsigned int *)(v5 + 8), 1LL);
- if ( !(*(_DWORD *)(v171 + 8) >> 28) && *(_DWORD *)(v171 + 12) == 6 )
- v139 = 0x4DBA80BB2LL;
- }
- return (*(__int64 (__cdecl **)(_QWORD, _QWORD))(**(_QWORD **)(v5 + 160) + 104LL))(*(_QWORD *)(v5 + 160), v7);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement