Skip to content

Instantly share code, notes, and snippets.

@Lusamine
Created August 1, 2022 03:21
Show Gist options
  • Save Lusamine/854dd4f3433faf2aa3f2d95c585953b0 to your computer and use it in GitHub Desktop.
Save Lusamine/854dd4f3433faf2aa3f2d95c585953b0 to your computer and use it in GitHub Desktop.
__int64 __fastcall calc_initial_damage_LA(damage_info *damage_calc_info)
{
unsigned __int8 v1; // w8
unsigned __int64 v3; // x8
float damage_atk_power_coef; // s8
unsigned __int64 v5; // x9
unsigned __int64 v6; // x11
unsigned __int64 v7; // x9
_QWORD *v8; // x10
_QWORD *v9; // x10
unsigned __int64 v10; // x11
unsigned int *v11; // x0
unsigned int *v12; // x8
unsigned int v13; // w9
unsigned __int64 v14; // x10
unsigned __int64 v15; // x11
unsigned __int64 v16; // x13
unsigned __int64 v17; // x11
float **v18; // x12
float *v19; // x12
unsigned __int64 v20; // x13
unsigned __int64 v21; // x10
__int64 v22; // x13
unsigned int v23; // w9
unsigned int v24; // w9
unsigned __int8 v25; // w8
unsigned __int64 v26; // x8
float damage_atk_level_coef; // s9
unsigned __int64 v28; // x9
unsigned __int64 v29; // x11
unsigned __int64 v30; // x9
_QWORD *v31; // x10
_QWORD *v32; // x10
unsigned __int64 v33; // x11
unsigned int *v34; // x0
unsigned int *v35; // x8
unsigned int v36; // w9
unsigned __int64 v37; // x10
unsigned __int64 v38; // x11
unsigned __int64 v39; // x13
__int64 v40; // x11
float **v41; // x12
float *v42; // x12
unsigned __int64 v43; // x13
unsigned __int64 v44; // x10
__int64 v45; // x13
unsigned int v46; // w9
unsigned int v47; // w9
unsigned __int8 v48; // w8
unsigned __int64 v49; // x8
float damage_def_power_coef; // s10
unsigned __int64 v51; // x9
unsigned __int64 v52; // x11
unsigned __int64 v53; // x9
_QWORD *v54; // x10
_QWORD *v55; // x10
unsigned __int64 v56; // x11
unsigned int *v57; // x0
unsigned int *v58; // x8
unsigned int v59; // w9
unsigned __int64 v60; // x10
unsigned __int64 v61; // x11
unsigned __int64 v62; // x13
unsigned __int64 v63; // x11
float **v64; // x12
float *v65; // x12
unsigned __int64 v66; // x13
unsigned __int64 v67; // x10
__int64 v68; // x13
unsigned int v69; // w9
unsigned int v70; // w9
unsigned __int8 v71; // w8
unsigned __int64 v72; // x8
float damage_denominator; // s11
unsigned __int64 v74; // x9
unsigned __int64 v75; // x11
unsigned __int64 v76; // x9
_QWORD *v77; // x10
_QWORD *v78; // x10
unsigned __int64 v79; // x11
unsigned int *v80; // x0
unsigned int *v81; // x8
unsigned int v82; // w9
unsigned __int64 v83; // x10
unsigned __int64 v84; // x11
unsigned __int64 v85; // x13
__int64 v86; // x11
float **v87; // x12
float *v88; // x12
unsigned __int64 v89; // x13
unsigned __int64 v90; // x10
__int64 v91; // x13
unsigned int v92; // w9
unsigned int v93; // w9
int opponent_def_stage; // w8
int attacker_atk_stage; // w9
unsigned int initial_damage; // w20
float def_mod; // s8
float atk_mod; // s9
unsigned __int8 v100; // w8
unsigned __int64 v101; // x8
unsigned __int64 v102; // x9
unsigned __int64 v103; // x11
unsigned __int64 v104; // x9
_QWORD *v105; // x10
_QWORD *v106; // x10
unsigned __int64 v107; // x11
unsigned int *v108; // x0
unsigned int *v109; // x8
unsigned int v110; // w9
unsigned __int64 v111; // x10
unsigned __int64 v112; // x11
unsigned __int64 v113; // x13
unsigned __int64 v114; // x11
float **v115; // x12
float *v116; // x12
unsigned __int64 v117; // x13
unsigned __int8 v118; // w8
unsigned __int64 v119; // x8
unsigned __int64 v120; // x9
unsigned __int64 v121; // x11
unsigned __int64 v122; // x9
_QWORD *v123; // x10
_QWORD *v124; // x10
unsigned __int64 v125; // x11
unsigned int *v126; // x8
unsigned int v127; // w9
unsigned __int64 v128; // x10
unsigned __int64 v129; // x11
unsigned __int64 v130; // x13
unsigned __int64 v131; // x11
float **v132; // x12
float *v133; // x12
unsigned __int64 v134; // x13
unsigned __int8 v135; // w8
unsigned __int8 v136; // w8
unsigned __int8 v137; // w8
unsigned __int64 v138; // x10
__int64 v139; // x13
unsigned int v140; // w9
bool v141; // zf
unsigned __int64 v142; // x10
__int64 v143; // x13
unsigned int v144; // w9
unsigned __int8 v145; // w8
unsigned __int64 v146; // x8
unsigned __int64 v147; // x9
unsigned __int64 v148; // x11
unsigned __int64 v149; // x9
_QWORD *v150; // x10
_QWORD *v151; // x10
unsigned __int64 v152; // x11
unsigned int *v153; // x0
unsigned int *v154; // x8
unsigned int v155; // w9
unsigned __int64 v156; // x10
unsigned __int64 v157; // x11
unsigned __int64 v158; // x13
__int64 v159; // x11
float **v160; // x12
float *v161; // x12
unsigned __int64 v162; // x13
unsigned __int8 v163; // w8
unsigned __int64 v164; // x8
unsigned __int64 v165; // x9
unsigned __int64 v166; // x11
unsigned __int64 v167; // x9
_QWORD *v168; // x10
_QWORD *v169; // x10
unsigned __int64 v170; // x11
unsigned int *v171; // x8
unsigned int v172; // w9
unsigned __int64 v173; // x10
unsigned __int64 v174; // x11
unsigned __int64 v175; // x13
__int64 v176; // x11
float **v177; // x12
float *v178; // x12
unsigned __int64 v179; // x13
unsigned __int64 v180; // x10
__int64 v181; // x13
unsigned int v182; // w9
bool v183; // zf
unsigned __int64 v184; // x10
__int64 v185; // x13
unsigned int v186; // w9
unsigned __int64 v187; // x8
__int64 v188; // x11
unsigned __int64 v189; // x8
__int64 v190; // x11
unsigned __int64 v191; // x8
__int64 v192; // x11
unsigned __int64 v193; // x8
__int64 v194; // x11
unsigned __int64 v195; // x8
__int64 v196; // x11
unsigned __int64 v197; // x8
__int64 v198; // x11
unsigned __int64 v199; // x8
__int64 v200; // x11
unsigned __int64 v201; // x8
__int64 v202; // x11
v1 = atomic_load((unsigned __int8 *)&qword_71042A6FE0);
if ( (v1 & 1) == 0 && _cxa_guard_acquire_0(&qword_71042A6FE0) )
{
sub_7100000250((__int64)sub_71007B3CB4, (__int64)&qword_71042A6FD0, (__int64)&off_710401A000);
_cxa_guard_release_0(&qword_71042A6FE0);
}
qword_71042A6FC8 = qword_71042A6FD0;
v3 = *(_QWORD *)(qword_71042A6FD0 + 96);
damage_atk_power_coef = 0.0;
if ( !v3 )
goto LABEL_45;
v5 = ((v3 - ((v3 >> 1) & 0x5555555555555555LL)) & 0x3333333333333333LL)
+ (((v3 - ((v3 >> 1) & 0x5555555555555555LL)) >> 2) & 0x3333333333333333LL);
v6 = (0x101010101010101LL * ((v5 + (v5 >> 4)) & 0xF0F0F0F0F0F0F0FLL)) >> 56;
if ( v6 <= 1 )
{
v7 = (v3 - 1) & 0x63E2672F9E43A54ELL;
}
else
{
v7 = 0x63E2672F9E43A54ELL;
if ( v3 <= 0x63E2672F9E43A54ELL )
v7 = 0x63E2672F9E43A54ELL % v3;
}
v8 = *(_QWORD **)(*(_QWORD *)(qword_71042A6FD0 + 88) + 8 * v7);
if ( !v8 )
goto LABEL_45;
v9 = (_QWORD *)*v8;
if ( !v9 )
goto LABEL_45;
if ( v6 > 1 )
{
while ( 1 )
{
v10 = v9[1];
if ( v10 == 0x63E2672F9E43A54ELL )
{
if ( v9[2] == 0x63E2672F9E43A54ELL )
goto LABEL_11;
}
else
{
if ( v10 >= v3 )
v10 %= v3;
if ( v10 != v7 )
goto LABEL_45;
}
v9 = (_QWORD *)*v9;
if ( !v9 )
goto LABEL_45;
}
}
v187 = v3 - 1;
while ( 1 )
{
v188 = v9[1];
if ( v188 != 0x63E2672F9E43A54ELL )
{
if ( (v188 & v187) != v7 )
goto LABEL_45;
goto LABEL_397;
}
if ( v9[2] == 0x63E2672F9E43A54ELL )
break;
LABEL_397:
v9 = (_QWORD *)*v9;
if ( !v9 )
goto LABEL_45;
}
LABEL_11:
v11 = (unsigned int *)v9[3];
if ( !v11 )
goto LABEL_45;
v12 = v11 + 20;
do
v13 = __ldaxr(v12);
while ( __stlxr(v13 + 1, v12) );
v14 = *((_QWORD *)v11 + 33);
damage_atk_power_coef = 0.0;
if ( v14 )
{
v15 = ((v14 - ((v14 >> 1) & 0x5555555555555555LL)) & 0x3333333333333333LL)
+ (((v14 - ((v14 >> 1) & 0x5555555555555555LL)) >> 2) & 0x3333333333333333LL);
v16 = (0x101010101010101LL * ((v15 + (v15 >> 4)) & 0xF0F0F0F0F0F0F0FLL)) >> 56;
if ( v16 <= 1 )
v17 = (v14 - 1) & 0xB21685D155591C8DLL;
else
v17 = v14 > 0xB21685D155591C8DLL ? 0xB21685D155591C8DLL : 0xB21685D155591C8DLL % v14;
v18 = *(float ***)(*((_QWORD *)v11 + 32) + 8 * v17);
if ( v18 )
{
v19 = *v18;
if ( v19 )
{
if ( v16 > 1 )
{
while ( 1 )
{
v20 = *((_QWORD *)v19 + 1);
if ( v20 == 0xB21685D155591C8DLL )
{
if ( *((_QWORD *)v19 + 2) == 0xB21685D155591C8DLL )
goto LABEL_42;
}
else
{
if ( v20 >= v14 )
v20 %= v14;
if ( v20 != v17 )
goto LABEL_43;
}
v19 = *(float **)v19;
if ( !v19 )
goto LABEL_43;
}
}
v21 = v14 - 1;
while ( 1 )
{
v22 = *((_QWORD *)v19 + 1);
if ( v22 == 0xB21685D155591C8DLL )
{
if ( *((_QWORD *)v19 + 2) == 0xB21685D155591C8DLL )
{
LABEL_42:
damage_atk_power_coef = v19[12];
goto LABEL_43;
}
}
else if ( (v22 & v21) != v17 )
{
goto LABEL_43;
}
v19 = *(float **)v19;
if ( !v19 )
goto LABEL_43;
}
}
}
}
do
{
LABEL_43:
v23 = __ldaxr(v12);
v24 = v23 - 1;
}
while ( __stlxr(v24, v12) );
if ( !v24 )
{
(*(void (__fastcall **)(unsigned int *))(*(_QWORD *)v11 + 16LL))(v11);
v135 = atomic_load((unsigned __int8 *)&qword_71042A6FE0);
if ( (v135 & 1) != 0 )
goto LABEL_46;
}
else
{
LABEL_45:
v25 = atomic_load((unsigned __int8 *)&qword_71042A6FE0);
if ( (v25 & 1) != 0 )
goto LABEL_46;
}
if ( _cxa_guard_acquire_0(&qword_71042A6FE0) )
{
sub_7100000250((__int64)sub_71007B3CB4, (__int64)&qword_71042A6FD0, (__int64)&off_710401A000);
_cxa_guard_release_0(&qword_71042A6FE0);
}
LABEL_46:
qword_71042A6FC8 = qword_71042A6FD0;
v26 = *(_QWORD *)(qword_71042A6FD0 + 96);
damage_atk_level_coef = 0.0;
if ( !v26 )
goto LABEL_89;
v28 = ((v26 - ((v26 >> 1) & 0x5555555555555555LL)) & 0x3333333333333333LL)
+ (((v26 - ((v26 >> 1) & 0x5555555555555555LL)) >> 2) & 0x3333333333333333LL);
v29 = (0x101010101010101LL * ((v28 + (v28 >> 4)) & 0xF0F0F0F0F0F0F0FLL)) >> 56;
if ( v29 <= 1 )
{
v30 = (v26 - 1) & 0x63E2672F9E43A54ELL;
}
else
{
v30 = 0x63E2672F9E43A54ELL;
if ( v26 <= 0x63E2672F9E43A54ELL )
v30 = 0x63E2672F9E43A54ELL % v26;
}
v31 = *(_QWORD **)(*(_QWORD *)(qword_71042A6FD0 + 88) + 8 * v30);
if ( !v31 )
goto LABEL_89;
v32 = (_QWORD *)*v31;
if ( !v32 )
goto LABEL_89;
if ( v29 > 1 )
{
while ( 1 )
{
v33 = v32[1];
if ( v33 == 0x63E2672F9E43A54ELL )
{
if ( v32[2] == 0x63E2672F9E43A54ELL )
goto LABEL_55;
}
else
{
if ( v33 >= v26 )
v33 %= v26;
if ( v33 != v30 )
goto LABEL_89;
}
v32 = (_QWORD *)*v32;
if ( !v32 )
goto LABEL_89;
}
}
v189 = v26 - 1;
while ( 2 )
{
v190 = v32[1];
if ( v190 != 0x63E2672F9E43A54ELL )
{
if ( (v190 & v189) != v30 )
goto LABEL_89;
LABEL_400:
v32 = (_QWORD *)*v32;
if ( !v32 )
goto LABEL_89;
continue;
}
break;
}
if ( v32[2] != 0x63E2672F9E43A54ELL )
goto LABEL_400;
LABEL_55:
v34 = (unsigned int *)v32[3];
if ( !v34 )
goto LABEL_89;
v35 = v34 + 20;
do
v36 = __ldaxr(v35);
while ( __stlxr(v36 + 1, v35) );
v37 = *((_QWORD *)v34 + 33);
damage_atk_level_coef = 0.0;
if ( v37 )
{
v38 = ((v37 - ((v37 >> 1) & 0x5555555555555555LL)) & 0x3333333333333333LL)
+ (((v37 - ((v37 >> 1) & 0x5555555555555555LL)) >> 2) & 0x3333333333333333LL);
v39 = (0x101010101010101LL * ((v38 + (v38 >> 4)) & 0xF0F0F0F0F0F0F0FLL)) >> 56;
if ( v39 <= 1 )
v40 = (v37 - 1) & 0x45990018E9C0F480LL;
else
v40 = v37 > 0x45990018E9C0F480LL ? 0x45990018E9C0F480LL : 0x45990018E9C0F480LL % v37;
v41 = *(float ***)(*((_QWORD *)v34 + 32) + 8 * v40);
if ( v41 )
{
v42 = *v41;
if ( v42 )
{
if ( v39 > 1 )
{
while ( 1 )
{
v43 = *((_QWORD *)v42 + 1);
if ( v43 == 0x45990018E9C0F480LL )
{
if ( *((_QWORD *)v42 + 2) == 0x45990018E9C0F480LL )
goto LABEL_86;
}
else
{
if ( v43 >= v37 )
v43 %= v37;
if ( v43 != v40 )
goto LABEL_87;
}
v42 = *(float **)v42;
if ( !v42 )
goto LABEL_87;
}
}
v44 = v37 - 1;
while ( 1 )
{
v45 = *((_QWORD *)v42 + 1);
if ( v45 == 0x45990018E9C0F480LL )
{
if ( *((_QWORD *)v42 + 2) == 0x45990018E9C0F480LL )
{
LABEL_86:
damage_atk_level_coef = v42[12];
goto LABEL_87;
}
}
else if ( (v45 & v44) != v40 )
{
goto LABEL_87;
}
v42 = *(float **)v42;
if ( !v42 )
goto LABEL_87;
}
}
}
}
do
{
LABEL_87:
v46 = __ldaxr(v35);
v47 = v46 - 1;
}
while ( __stlxr(v47, v35) );
if ( !v47 )
{
(*(void (__fastcall **)(unsigned int *))(*(_QWORD *)v34 + 16LL))(v34);
v136 = atomic_load((unsigned __int8 *)&qword_71042A6FE0);
if ( (v136 & 1) != 0 )
goto LABEL_90;
}
else
{
LABEL_89:
v48 = atomic_load((unsigned __int8 *)&qword_71042A6FE0);
if ( (v48 & 1) != 0 )
goto LABEL_90;
}
if ( _cxa_guard_acquire_0(&qword_71042A6FE0) )
{
sub_7100000250((__int64)sub_71007B3CB4, (__int64)&qword_71042A6FD0, (__int64)&off_710401A000);
_cxa_guard_release_0(&qword_71042A6FE0);
}
LABEL_90:
qword_71042A6FC8 = qword_71042A6FD0;
v49 = *(_QWORD *)(qword_71042A6FD0 + 96);
damage_def_power_coef = 0.0;
if ( !v49 )
goto LABEL_133;
v51 = ((v49 - ((v49 >> 1) & 0x5555555555555555LL)) & 0x3333333333333333LL)
+ (((v49 - ((v49 >> 1) & 0x5555555555555555LL)) >> 2) & 0x3333333333333333LL);
v52 = (0x101010101010101LL * ((v51 + (v51 >> 4)) & 0xF0F0F0F0F0F0F0FLL)) >> 56;
if ( v52 <= 1 )
{
v53 = (v49 - 1) & 0x63E2672F9E43A54ELL;
}
else
{
v53 = 0x63E2672F9E43A54ELL;
if ( v49 <= 0x63E2672F9E43A54ELL )
v53 = 0x63E2672F9E43A54ELL % v49;
}
v54 = *(_QWORD **)(*(_QWORD *)(qword_71042A6FD0 + 88) + 8 * v53);
if ( !v54 )
goto LABEL_133;
v55 = (_QWORD *)*v54;
if ( !v55 )
goto LABEL_133;
if ( v52 > 1 )
{
while ( 1 )
{
v56 = v55[1];
if ( v56 == 0x63E2672F9E43A54ELL )
{
if ( v55[2] == 0x63E2672F9E43A54ELL )
goto LABEL_99;
}
else
{
if ( v56 >= v49 )
v56 %= v49;
if ( v56 != v53 )
goto LABEL_133;
}
v55 = (_QWORD *)*v55;
if ( !v55 )
goto LABEL_133;
}
}
v191 = v49 - 1;
while ( 2 )
{
v192 = v55[1];
if ( v192 != 0x63E2672F9E43A54ELL )
{
if ( (v192 & v191) != v53 )
goto LABEL_133;
LABEL_403:
v55 = (_QWORD *)*v55;
if ( !v55 )
goto LABEL_133;
continue;
}
break;
}
if ( v55[2] != 0x63E2672F9E43A54ELL )
goto LABEL_403;
LABEL_99:
v57 = (unsigned int *)v55[3];
if ( !v57 )
goto LABEL_133;
v58 = v57 + 20;
do
v59 = __ldaxr(v58);
while ( __stlxr(v59 + 1, v58) );
v60 = *((_QWORD *)v57 + 33);
damage_def_power_coef = 0.0;
if ( v60 )
{
v61 = ((v60 - ((v60 >> 1) & 0x5555555555555555LL)) & 0x3333333333333333LL)
+ (((v60 - ((v60 >> 1) & 0x5555555555555555LL)) >> 2) & 0x3333333333333333LL);
v62 = (0x101010101010101LL * ((v61 + (v61 >> 4)) & 0xF0F0F0F0F0F0F0FLL)) >> 56;
if ( v62 <= 1 )
v63 = (v60 - 1) & 0xBA4D65E8A0531F16LL;
else
v63 = v60 > 0xBA4D65E8A0531F16LL ? 0xBA4D65E8A0531F16LL : 0xBA4D65E8A0531F16LL % v60;
v64 = *(float ***)(*((_QWORD *)v57 + 32) + 8 * v63);
if ( v64 )
{
v65 = *v64;
if ( v65 )
{
if ( v62 > 1 )
{
while ( 1 )
{
v66 = *((_QWORD *)v65 + 1);
if ( v66 == 0xBA4D65E8A0531F16LL )
{
if ( *((_QWORD *)v65 + 2) == 0xBA4D65E8A0531F16LL )
goto LABEL_130;
}
else
{
if ( v66 >= v60 )
v66 %= v60;
if ( v66 != v63 )
goto LABEL_131;
}
v65 = *(float **)v65;
if ( !v65 )
goto LABEL_131;
}
}
v67 = v60 - 1;
while ( 1 )
{
v68 = *((_QWORD *)v65 + 1);
if ( v68 == 0xBA4D65E8A0531F16LL )
{
if ( *((_QWORD *)v65 + 2) == 0xBA4D65E8A0531F16LL )
{
LABEL_130:
damage_def_power_coef = v65[12];
goto LABEL_131;
}
}
else if ( (v68 & v67) != v63 )
{
goto LABEL_131;
}
v65 = *(float **)v65;
if ( !v65 )
goto LABEL_131;
}
}
}
}
do
{
LABEL_131:
v69 = __ldaxr(v58);
v70 = v69 - 1;
}
while ( __stlxr(v70, v58) );
if ( !v70 )
{
(*(void (__fastcall **)(unsigned int *))(*(_QWORD *)v57 + 16LL))(v57);
v137 = atomic_load((unsigned __int8 *)&qword_71042A6FE0);
if ( (v137 & 1) != 0 )
goto LABEL_134;
}
else
{
LABEL_133:
v71 = atomic_load((unsigned __int8 *)&qword_71042A6FE0);
if ( (v71 & 1) != 0 )
goto LABEL_134;
}
if ( _cxa_guard_acquire_0(&qword_71042A6FE0) )
{
sub_7100000250((__int64)sub_71007B3CB4, (__int64)&qword_71042A6FD0, (__int64)&off_710401A000);
_cxa_guard_release_0(&qword_71042A6FE0);
}
LABEL_134:
qword_71042A6FC8 = qword_71042A6FD0;
v72 = *(_QWORD *)(qword_71042A6FD0 + 96);
damage_denominator = 0.0;
if ( !v72 )
goto LABEL_178;
v74 = ((v72 - ((v72 >> 1) & 0x5555555555555555LL)) & 0x3333333333333333LL)
+ (((v72 - ((v72 >> 1) & 0x5555555555555555LL)) >> 2) & 0x3333333333333333LL);
v75 = (0x101010101010101LL * ((v74 + (v74 >> 4)) & 0xF0F0F0F0F0F0F0FLL)) >> 56;
if ( v75 <= 1 )
{
v76 = (v72 - 1) & 0x63E2672F9E43A54ELL;
}
else
{
v76 = 0x63E2672F9E43A54ELL;
if ( v72 <= 0x63E2672F9E43A54ELL )
v76 = 0x63E2672F9E43A54ELL % v72;
}
v77 = *(_QWORD **)(*(_QWORD *)(qword_71042A6FD0 + 88) + 8 * v76);
if ( !v77 )
goto LABEL_178;
v78 = (_QWORD *)*v77;
if ( !v78 )
goto LABEL_178;
if ( v75 > 1 )
{
while ( 1 )
{
v79 = v78[1];
if ( v79 == 0x63E2672F9E43A54ELL )
{
if ( v78[2] == 0x63E2672F9E43A54ELL )
goto LABEL_143;
}
else
{
if ( v79 >= v72 )
v79 %= v72;
if ( v79 != v76 )
goto LABEL_178;
}
v78 = (_QWORD *)*v78;
if ( !v78 )
goto LABEL_178;
}
}
v193 = v72 - 1;
while ( 2 )
{
v194 = v78[1];
if ( v194 != 0x63E2672F9E43A54ELL )
{
if ( (v194 & v193) != v76 )
goto LABEL_178;
LABEL_406:
v78 = (_QWORD *)*v78;
if ( !v78 )
goto LABEL_178;
continue;
}
break;
}
if ( v78[2] != 0x63E2672F9E43A54ELL )
goto LABEL_406;
LABEL_143:
v80 = (unsigned int *)v78[3];
if ( !v80 )
goto LABEL_178;
v81 = v80 + 20;
do
v82 = __ldaxr(v81);
while ( __stlxr(v82 + 1, v81) );
v83 = *((_QWORD *)v80 + 33);
damage_denominator = 0.0;
if ( !v83 )
goto LABEL_175;
v84 = ((v83 - ((v83 >> 1) & 0x5555555555555555LL)) & 0x3333333333333333LL)
+ (((v83 - ((v83 >> 1) & 0x5555555555555555LL)) >> 2) & 0x3333333333333333LL);
v85 = (0x101010101010101LL * ((v84 + (v84 >> 4)) & 0xF0F0F0F0F0F0F0FLL)) >> 56;
if ( v85 <= 1 )
v86 = (v83 - 1) & 0x44ADE38F089ABB5BLL;
else
v86 = v83 > 0x44ADE38F089ABB5BLL ? 0x44ADE38F089ABB5BLL : 0x44ADE38F089ABB5BLL % v83;
v87 = *(float ***)(*((_QWORD *)v80 + 32) + 8 * v86);
if ( !v87 )
goto LABEL_175;
v88 = *v87;
if ( !v88 )
goto LABEL_175;
if ( v85 > 1 )
{
while ( 1 )
{
v89 = *((_QWORD *)v88 + 1);
if ( v89 == 0x44ADE38F089ABB5BLL )
{
if ( *((_QWORD *)v88 + 2) == 0x44ADE38F089ABB5BLL )
goto LABEL_174;
}
else
{
if ( v89 >= v83 )
v89 %= v83;
if ( v89 != v86 )
goto LABEL_175;
}
v88 = *(float **)v88;
if ( !v88 )
goto LABEL_175;
}
}
v90 = v83 - 1;
while ( 2 )
{
v91 = *((_QWORD *)v88 + 1);
if ( v91 != 0x44ADE38F089ABB5BLL )
{
if ( (v91 & v90) != v86 )
goto LABEL_175;
LABEL_172:
v88 = *(float **)v88;
if ( !v88 )
goto LABEL_175;
continue;
}
break;
}
if ( *((_QWORD *)v88 + 2) != 0x44ADE38F089ABB5BLL )
goto LABEL_172;
LABEL_174:
damage_denominator = v88[12];
do
{
LABEL_175:
v92 = __ldaxr(v81);
v93 = v92 - 1;
}
while ( __stlxr(v93, v81) );
if ( !v93 )
(*(void (__fastcall **)(unsigned int *))(*(_QWORD *)v80 + 16LL))(v80);
LABEL_178:
attacker_atk_stage = damage_calc_info->attacker_atk_stage;// Can be 0 (-1), 1 (neutral), 2 (+1)
opponent_def_stage = damage_calc_info->opponent_def_stage;
initial_damage = (unsigned int)(float)((float)(unsigned int)(float)((float)(unsigned int)(float)((float)((float)(damage_atk_power_coef + (float)damage_calc_info->attacker_atk) + (float)(damage_atk_level_coef * (float)damage_calc_info->attacker_lvl))
* (float)damage_calc_info->base_power)
/ (float)(damage_def_power_coef
+ (float)damage_calc_info->opponent_defense))
/ damage_denominator);
if ( attacker_atk_stage == opponent_def_stage )
return initial_damage;
def_mod = 1.0;
atk_mod = 1.0;
if ( attacker_atk_stage == 1 )
goto LABEL_281;
if ( !attacker_atk_stage )
{
v118 = atomic_load((unsigned __int8 *)&qword_71042A6FE0);
if ( (v118 & 1) == 0 && _cxa_guard_acquire_0(&qword_71042A6FE0) )
{
sub_7100000250((__int64)sub_71007B3CB4, (__int64)&qword_71042A6FD0, (__int64)&off_710401A000);
_cxa_guard_release_0(&qword_71042A6FE0);
}
qword_71042A6FC8 = qword_71042A6FD0;
v119 = *(_QWORD *)(qword_71042A6FD0 + 96);
atk_mod = 0.0;
if ( !v119 )
goto LABEL_280;
v120 = ((v119 - ((v119 >> 1) & 0x5555555555555555LL)) & 0x3333333333333333LL)
+ (((v119 - ((v119 >> 1) & 0x5555555555555555LL)) >> 2) & 0x3333333333333333LL);
v121 = (0x101010101010101LL * ((v120 + (v120 >> 4)) & 0xF0F0F0F0F0F0F0FLL)) >> 56;
if ( v121 <= 1 )
{
v122 = (v119 - 1) & 0x63E2672F9E43A54ELL;
}
else
{
v122 = 0x63E2672F9E43A54ELL;
if ( v119 <= 0x63E2672F9E43A54ELL )
v122 = 0x63E2672F9E43A54ELL % v119;
}
v123 = *(_QWORD **)(*(_QWORD *)(qword_71042A6FD0 + 88) + 8 * v122);
if ( !v123 )
goto LABEL_280;
v124 = (_QWORD *)*v123;
if ( !v124 )
goto LABEL_280;
if ( v121 > 1 )
{
while ( 1 )
{
v125 = v124[1];
if ( v125 == 0x63E2672F9E43A54ELL )
{
if ( v124[2] == 0x63E2672F9E43A54ELL )
goto LABEL_220;
}
else
{
if ( v125 >= v119 )
v125 %= v119;
if ( v125 != v122 )
goto LABEL_280;
}
v124 = (_QWORD *)*v124;
if ( !v124 )
goto LABEL_280;
}
}
v199 = v119 - 1;
while ( 1 )
{
v200 = v124[1];
if ( v200 == 0x63E2672F9E43A54ELL )
{
if ( v124[2] == 0x63E2672F9E43A54ELL )
{
LABEL_220:
v108 = (unsigned int *)v124[3];
if ( !v108 )
goto LABEL_280;
v126 = v108 + 20;
do
v127 = __ldaxr(v126);
while ( __stlxr(v127 + 1, v126) );
v128 = *((_QWORD *)v108 + 33);
atk_mod = 0.0;
if ( v128 )
{
v129 = ((v128 - ((v128 >> 1) & 0x5555555555555555LL)) & 0x3333333333333333LL)
+ (((v128 - ((v128 >> 1) & 0x5555555555555555LL)) >> 2) & 0x3333333333333333LL);
v130 = (0x101010101010101LL * ((v129 + (v129 >> 4)) & 0xF0F0F0F0F0F0F0FLL)) >> 56;
if ( v130 <= 1 )
v131 = (v128 - 1) & 0xC4C828B65D3E2AAFLL;
else
v131 = v128 > 0xC4C828B65D3E2AAFLL ? 0xC4C828B65D3E2AAFLL : 0xC4C828B65D3E2AAFLL % v128;
v132 = *(float ***)(*((_QWORD *)v108 + 32) + 8 * v131);
if ( v132 )
{
v133 = *v132;
if ( v133 )
{
if ( v130 > 1 )
{
while ( 1 )
{
v134 = *((_QWORD *)v133 + 1);
if ( v134 == 0xC4C828B65D3E2AAFLL )
{
if ( *((_QWORD *)v133 + 2) == 0xC4C828B65D3E2AAFLL )
goto LABEL_276;
}
else
{
if ( v134 >= v128 )
v134 %= v128;
if ( v134 != v131 )
goto LABEL_277;
}
v133 = *(float **)v133;
if ( !v133 )
goto LABEL_277;
}
}
v142 = v128 - 1;
while ( 1 )
{
v143 = *((_QWORD *)v133 + 1);
if ( v143 == 0xC4C828B65D3E2AAFLL )
{
if ( *((_QWORD *)v133 + 2) == 0xC4C828B65D3E2AAFLL )
{
LABEL_276:
atk_mod = v133[12]; // attack modifier for decreased attack stage of 0
goto LABEL_277;
}
}
else if ( (v143 & v142) != v131 )
{
goto LABEL_277;
}
v133 = *(float **)v133;
if ( !v133 )
goto LABEL_277;
}
}
}
}
do
{
LABEL_277:
v144 = __ldaxr(v126);
v141 = --v144 == 0;
}
while ( __stlxr(v144, v126) );
goto LABEL_278;
}
}
else if ( (v200 & v199) != v122 )
{
goto LABEL_280;
}
v124 = (_QWORD *)*v124;
if ( !v124 )
goto LABEL_280;
}
}
v100 = atomic_load((unsigned __int8 *)&qword_71042A6FE0);
if ( (v100 & 1) == 0 && _cxa_guard_acquire_0(&qword_71042A6FE0) )
{
sub_7100000250((__int64)sub_71007B3CB4, (__int64)&qword_71042A6FD0, (__int64)&off_710401A000);
_cxa_guard_release_0(&qword_71042A6FE0);
}
qword_71042A6FC8 = qword_71042A6FD0;
v101 = *(_QWORD *)(qword_71042A6FD0 + 96);
atk_mod = 0.0;
if ( !v101 )
goto LABEL_280;
v102 = ((v101 - ((v101 >> 1) & 0x5555555555555555LL)) & 0x3333333333333333LL)
+ (((v101 - ((v101 >> 1) & 0x5555555555555555LL)) >> 2) & 0x3333333333333333LL);
v103 = (0x101010101010101LL * ((v102 + (v102 >> 4)) & 0xF0F0F0F0F0F0F0FLL)) >> 56;
if ( v103 <= 1 )
{
v104 = (v101 - 1) & 0x63E2672F9E43A54ELL;
}
else
{
v104 = 0x63E2672F9E43A54ELL;
if ( v101 <= 0x63E2672F9E43A54ELL )
v104 = 0x63E2672F9E43A54ELL % v101;
}
v105 = *(_QWORD **)(*(_QWORD *)(qword_71042A6FD0 + 88) + 8 * v104);
if ( !v105 )
goto LABEL_280;
v106 = (_QWORD *)*v105;
if ( !v106 )
goto LABEL_280;
if ( v103 > 1 )
{
while ( 1 )
{
v107 = v106[1];
if ( v107 == 0x63E2672F9E43A54ELL )
{
if ( v106[2] == 0x63E2672F9E43A54ELL )
goto LABEL_192;
}
else
{
if ( v107 >= v101 )
v107 %= v101;
if ( v107 != v104 )
goto LABEL_280;
}
v106 = (_QWORD *)*v106;
if ( !v106 )
goto LABEL_280;
}
}
v195 = v101 - 1;
while ( 2 )
{
v196 = v106[1];
if ( v196 != 0x63E2672F9E43A54ELL )
{
if ( (v196 & v195) != v104 )
goto LABEL_280;
LABEL_437:
v106 = (_QWORD *)*v106;
if ( !v106 )
goto LABEL_280;
continue;
}
break;
}
if ( v106[2] != 0x63E2672F9E43A54ELL )
goto LABEL_437;
LABEL_192:
v108 = (unsigned int *)v106[3];
if ( v108 )
{
v109 = v108 + 20;
do
v110 = __ldaxr(v109);
while ( __stlxr(v110 + 1, v109) );
v111 = *((_QWORD *)v108 + 33);
atk_mod = 0.0;
if ( v111 )
{
v112 = ((v111 - ((v111 >> 1) & 0x5555555555555555LL)) & 0x3333333333333333LL)
+ (((v111 - ((v111 >> 1) & 0x5555555555555555LL)) >> 2) & 0x3333333333333333LL);
v113 = (0x101010101010101LL * ((v112 + (v112 >> 4)) & 0xF0F0F0F0F0F0F0FLL)) >> 56;
if ( v113 <= 1 )
v114 = (v111 - 1) & 0xD880C65BC7CDE5FCLL;
else
v114 = v111 > 0xD880C65BC7CDE5FCLL ? 0xD880C65BC7CDE5FCLL : 0xD880C65BC7CDE5FCLL % v111;
v115 = *(float ***)(*((_QWORD *)v108 + 32) + 8 * v114);
if ( v115 )
{
v116 = *v115;
if ( v116 )
{
if ( v113 > 1 )
{
while ( 1 )
{
v117 = *((_QWORD *)v116 + 1);
if ( v117 == 0xD880C65BC7CDE5FCLL )
{
if ( *((_QWORD *)v116 + 2) == 0xD880C65BC7CDE5FCLL )
goto LABEL_265;
}
else
{
if ( v117 >= v111 )
v117 %= v111;
if ( v117 != v114 )
goto LABEL_266;
}
v116 = *(float **)v116;
if ( !v116 )
goto LABEL_266;
}
}
v138 = v111 - 1;
while ( 1 )
{
v139 = *((_QWORD *)v116 + 1);
if ( v139 == 0xD880C65BC7CDE5FCLL )
{
if ( *((_QWORD *)v116 + 2) == 0xD880C65BC7CDE5FCLL )
{
LABEL_265:
atk_mod = v116[12]; // attack modifier for boosted attack stage of 2
goto LABEL_266;
}
}
else if ( (v139 & v138) != v114 )
{
goto LABEL_266;
}
v116 = *(float **)v116;
if ( !v116 )
goto LABEL_266;
}
}
}
}
do
{
LABEL_266:
v140 = __ldaxr(v109);
v141 = --v140 == 0;
}
while ( __stlxr(v140, v109) );
LABEL_278:
if ( v141 )
(*(void (__fastcall **)(unsigned int *))(*(_QWORD *)v108 + 16LL))(v108);
}
LABEL_280:
opponent_def_stage = damage_calc_info->opponent_def_stage;
LABEL_281:
if ( opponent_def_stage == 1 )
return (unsigned int)(float)((float)(atk_mod * (float)initial_damage) * def_mod);
if ( !opponent_def_stage )
{
v163 = atomic_load((unsigned __int8 *)&qword_71042A6FE0);
if ( (v163 & 1) == 0 && _cxa_guard_acquire_0(&qword_71042A6FE0) )
{
sub_7100000250((__int64)sub_71007B3CB4, (__int64)&qword_71042A6FD0, (__int64)&off_710401A000);
_cxa_guard_release_0(&qword_71042A6FE0);
}
qword_71042A6FC8 = qword_71042A6FD0;
v164 = *(_QWORD *)(qword_71042A6FD0 + 96);
def_mod = 0.0;
if ( !v164 )
return (unsigned int)(float)((float)(atk_mod * (float)initial_damage) * def_mod);
v165 = ((v164 - ((v164 >> 1) & 0x5555555555555555LL)) & 0x3333333333333333LL)
+ (((v164 - ((v164 >> 1) & 0x5555555555555555LL)) >> 2) & 0x3333333333333333LL);
v166 = (0x101010101010101LL * ((v165 + (v165 >> 4)) & 0xF0F0F0F0F0F0F0FLL)) >> 56;
if ( v166 <= 1 )
{
v167 = (v164 - 1) & 0x63E2672F9E43A54ELL;
}
else
{
v167 = 0x63E2672F9E43A54ELL;
if ( v164 <= 0x63E2672F9E43A54ELL )
v167 = 0x63E2672F9E43A54ELL % v164;
}
v168 = *(_QWORD **)(*(_QWORD *)(qword_71042A6FD0 + 88) + 8 * v167);
if ( !v168 )
return (unsigned int)(float)((float)(atk_mod * (float)initial_damage) * def_mod);
v169 = (_QWORD *)*v168;
if ( !v169 )
return (unsigned int)(float)((float)(atk_mod * (float)initial_damage) * def_mod);
if ( v166 > 1 )
{
while ( 1 )
{
v170 = v169[1];
if ( v170 == 0x63E2672F9E43A54ELL )
{
if ( v169[2] == 0x63E2672F9E43A54ELL )
goto LABEL_322;
}
else
{
if ( v170 >= v164 )
v170 %= v164;
if ( v170 != v167 )
return (unsigned int)(float)((float)(atk_mod * (float)initial_damage) * def_mod);
}
v169 = (_QWORD *)*v169;
if ( !v169 )
return (unsigned int)(float)((float)(atk_mod * (float)initial_damage) * def_mod);
}
}
v201 = v164 - 1;
while ( 1 )
{
v202 = v169[1];
if ( v202 == 0x63E2672F9E43A54ELL )
{
if ( v169[2] == 0x63E2672F9E43A54ELL )
{
LABEL_322:
v153 = (unsigned int *)v169[3];
if ( !v153 )
return (unsigned int)(float)((float)(atk_mod * (float)initial_damage) * def_mod);
v171 = v153 + 20;
do
v172 = __ldaxr(v171);
while ( __stlxr(v172 + 1, v171) );
v173 = *((_QWORD *)v153 + 33);
def_mod = 0.0;
if ( v173 )
{
v174 = ((v173 - ((v173 >> 1) & 0x5555555555555555LL)) & 0x3333333333333333LL)
+ (((v173 - ((v173 >> 1) & 0x5555555555555555LL)) >> 2) & 0x3333333333333333LL);
v175 = (0x101010101010101LL * ((v174 + (v174 >> 4)) & 0xF0F0F0F0F0F0F0FLL)) >> 56;
if ( v175 <= 1 )
v176 = (v173 - 1) & 0x74CF0C9C083F0690LL;
else
v176 = v173 > 0x74CF0C9C083F0690LL ? 0x74CF0C9C083F0690LL : 0x74CF0C9C083F0690LL % v173;
v177 = *(float ***)(*((_QWORD *)v153 + 32) + 8 * v176);
if ( v177 )
{
v178 = *v177;
if ( v178 )
{
if ( v175 > 1 )
{
while ( 1 )
{
v179 = *((_QWORD *)v178 + 1);
if ( v179 == 0x74CF0C9C083F0690LL )
{
if ( *((_QWORD *)v178 + 2) == 0x74CF0C9C083F0690LL )
goto LABEL_371;
}
else
{
if ( v179 >= v173 )
v179 %= v173;
if ( v179 != v176 )
goto LABEL_372;
}
v178 = *(float **)v178;
if ( !v178 )
goto LABEL_372;
}
}
v184 = v173 - 1;
while ( 1 )
{
v185 = *((_QWORD *)v178 + 1);
if ( v185 == 0x74CF0C9C083F0690LL )
{
if ( *((_QWORD *)v178 + 2) == 0x74CF0C9C083F0690LL )
{
LABEL_371:
def_mod = v178[12]; // defense modifier for decreased defense stage of 0
goto LABEL_372;
}
}
else if ( (v185 & v184) != v176 )
{
goto LABEL_372;
}
v178 = *(float **)v178;
if ( !v178 )
goto LABEL_372;
}
}
}
}
do
{
LABEL_372:
v186 = __ldaxr(v171);
v183 = --v186 == 0;
}
while ( __stlxr(v186, v171) );
goto LABEL_355;
}
}
else if ( (v202 & v201) != v167 )
{
return (unsigned int)(float)((float)(atk_mod * (float)initial_damage) * def_mod);
}
v169 = (_QWORD *)*v169;
if ( !v169 )
return (unsigned int)(float)((float)(atk_mod * (float)initial_damage) * def_mod);
}
}
v145 = atomic_load((unsigned __int8 *)&qword_71042A6FE0);
if ( (v145 & 1) == 0 && _cxa_guard_acquire_0(&qword_71042A6FE0) )
{
sub_7100000250((__int64)sub_71007B3CB4, (__int64)&qword_71042A6FD0, (__int64)&off_710401A000);
_cxa_guard_release_0(&qword_71042A6FE0);
}
qword_71042A6FC8 = qword_71042A6FD0;
v146 = *(_QWORD *)(qword_71042A6FD0 + 96);
def_mod = 0.0;
if ( !v146 )
return (unsigned int)(float)((float)(atk_mod * (float)initial_damage) * def_mod);
v147 = ((v146 - ((v146 >> 1) & 0x5555555555555555LL)) & 0x3333333333333333LL)
+ (((v146 - ((v146 >> 1) & 0x5555555555555555LL)) >> 2) & 0x3333333333333333LL);
v148 = (0x101010101010101LL * ((v147 + (v147 >> 4)) & 0xF0F0F0F0F0F0F0FLL)) >> 56;
if ( v148 <= 1 )
{
v149 = (v146 - 1) & 0x63E2672F9E43A54ELL;
}
else
{
v149 = 0x63E2672F9E43A54ELL;
if ( v146 <= 0x63E2672F9E43A54ELL )
v149 = 0x63E2672F9E43A54ELL % v146;
}
v150 = *(_QWORD **)(*(_QWORD *)(qword_71042A6FD0 + 88) + 8 * v149);
if ( !v150 )
return (unsigned int)(float)((float)(atk_mod * (float)initial_damage) * def_mod);
v151 = (_QWORD *)*v150;
if ( !v151 )
return (unsigned int)(float)((float)(atk_mod * (float)initial_damage) * def_mod);
if ( v148 > 1 )
{
while ( 1 )
{
v152 = v151[1];
if ( v152 == 0x63E2672F9E43A54ELL )
{
if ( v151[2] == 0x63E2672F9E43A54ELL )
goto LABEL_294;
}
else
{
if ( v152 >= v146 )
v152 %= v146;
if ( v152 != v149 )
return (unsigned int)(float)((float)(atk_mod * (float)initial_damage) * def_mod);
}
v151 = (_QWORD *)*v151;
if ( !v151 )
return (unsigned int)(float)((float)(atk_mod * (float)initial_damage) * def_mod);
}
}
v197 = v146 - 1;
while ( 2 )
{
v198 = v151[1];
if ( v198 != 0x63E2672F9E43A54ELL )
{
if ( (v198 & v197) != v149 )
return (unsigned int)(float)((float)(atk_mod * (float)initial_damage) * def_mod);
LABEL_440:
v151 = (_QWORD *)*v151;
if ( !v151 )
return (unsigned int)(float)((float)(atk_mod * (float)initial_damage) * def_mod);
continue;
}
break;
}
if ( v151[2] != 0x63E2672F9E43A54ELL )
goto LABEL_440;
LABEL_294:
v153 = (unsigned int *)v151[3];
if ( v153 )
{
v154 = v153 + 20;
do
v155 = __ldaxr(v154);
while ( __stlxr(v155 + 1, v154) );
v156 = *((_QWORD *)v153 + 33);
def_mod = 0.0;
if ( v156 )
{
v157 = ((v156 - ((v156 >> 1) & 0x5555555555555555LL)) & 0x3333333333333333LL)
+ (((v156 - ((v156 >> 1) & 0x5555555555555555LL)) >> 2) & 0x3333333333333333LL);
v158 = (0x101010101010101LL * ((v157 + (v157 >> 4)) & 0xF0F0F0F0F0F0F0FLL)) >> 56;
if ( v158 <= 1 )
v159 = (v156 - 1) & 0x7FFFA5D75E18DE47LL;
else
v159 = v156 > 0x7FFFA5D75E18DE47LL ? 0x7FFFA5D75E18DE47LL : 0x7FFFA5D75E18DE47LL % v156;
v160 = *(float ***)(*((_QWORD *)v153 + 32) + 8 * v159);
if ( v160 )
{
v161 = *v160;
if ( v161 )
{
if ( v158 > 1 )
{
while ( 1 )
{
v162 = *((_QWORD *)v161 + 1);
if ( v162 == 0x7FFFA5D75E18DE47LL )
{
if ( *((_QWORD *)v161 + 2) == 0x7FFFA5D75E18DE47LL )
goto LABEL_353;
}
else
{
if ( v162 >= v156 )
v162 %= v156;
if ( v162 != v159 )
goto LABEL_354;
}
v161 = *(float **)v161;
if ( !v161 )
goto LABEL_354;
}
}
v180 = v156 - 1;
while ( 1 )
{
v181 = *((_QWORD *)v161 + 1);
if ( v181 == 0x7FFFA5D75E18DE47LL )
{
if ( *((_QWORD *)v161 + 2) == 0x7FFFA5D75E18DE47LL )
{
LABEL_353:
def_mod = v161[12]; // defense modifier for increased defense stage of 2
goto LABEL_354;
}
}
else if ( (v181 & v180) != v159 )
{
goto LABEL_354;
}
v161 = *(float **)v161;
if ( !v161 )
goto LABEL_354;
}
}
}
}
do
{
LABEL_354:
v182 = __ldaxr(v154);
v183 = --v182 == 0;
}
while ( __stlxr(v182, v154) );
LABEL_355:
if ( v183 )
(*(void (__fastcall **)(unsigned int *))(*(_QWORD *)v153 + 16LL))(v153);
}
return (unsigned int)(float)((float)(atk_mod * (float)initial_damage) * def_mod);
}
-----
.text:000000710083DDE0 ; __int64 __fastcall calc_initial_damage_LA(damage_info *damage_calc_info)
.text:000000710083DDE0 calc_initial_damage_LA ; DATA XREF: sub_7100842C38+78↓o
.text:000000710083DDE0
.text:000000710083DDE0 var_50 = -0x50
.text:000000710083DDE0 var_40 = -0x40
.text:000000710083DDE0 var_30 = -0x30
.text:000000710083DDE0 var_20 = -0x20
.text:000000710083DDE0 var_10 = -0x10
.text:000000710083DDE0 var_s0 = 0
.text:000000710083DDE0
.text:000000710083DDE0 STP D11, D10, [SP,#-0x60]!
.text:000000710083DDE4 STP D9, D8, [SP,#0x50+var_40]
.text:000000710083DDE8 STP X24, X23, [SP,#0x50+var_30]
.text:000000710083DDEC STP X22, X21, [SP,#0x50+var_20]
.text:000000710083DDF0 STP X20, X19, [SP,#0x50+var_10]
.text:000000710083DDF4 STP X29, X30, [SP,#0x50+var_s0]
.text:000000710083DDF8 ADD X29, SP, #0x50
.text:000000710083DDFC ADRP X24, #off_7104279660@PAGE
.text:000000710083DE00 LDR X24, [X24,#off_7104279660@PAGEOFF]
.text:000000710083DE04 LDARB W8, [X24]
.text:000000710083DE08 MOV X19, X0
.text:000000710083DE0C TBZ W8, #0, loc_710083EFB4
.text:000000710083DE10
.text:000000710083DE10 loc_710083DE10 ; CODE XREF: calc_initial_damage_LA+11E0↓j
.text:000000710083DE10 ; calc_initial_damage_LA+120C↓j
.text:000000710083DE10 ADRP X22, #off_7104279668@PAGE
.text:000000710083DE14 LDR X22, [X22,#off_7104279668@PAGEOFF]
.text:000000710083DE18 ADRP X23, #off_7104279670@PAGE
.text:000000710083DE1C LDR X10, [X22]
.text:000000710083DE20 LDR X23, [X23,#off_7104279670@PAGEOFF]
.text:000000710083DE24 STR X10, [X23]
.text:000000710083DE28 LDR X8, [X10,#0x60]
.text:000000710083DE2C FMOV S8, WZR
.text:000000710083DE30 MOV X21, #0x63E2672F9E43A54E
.text:000000710083DE40 CBZ X8, loc_710083E020
.text:000000710083DE44 LSR X9, X8, #1
.text:000000710083DE48 AND X9, X9, #0x5555555555555555
.text:000000710083DE4C SUB X9, X8, X9
.text:000000710083DE50 AND X11, X9, #0x3333333333333333
.text:000000710083DE54 LSR X9, X9, #2
.text:000000710083DE58 AND X9, X9, #0x3333333333333333
.text:000000710083DE5C ADD X9, X11, X9
.text:000000710083DE60 MOV X11, #0x101010101010101
.text:000000710083DE64 ADD X9, X9, X9,LSR#4
.text:000000710083DE68 AND X9, X9, #0xF0F0F0F0F0F0F0F
.text:000000710083DE6C MUL X9, X9, X11
.text:000000710083DE70 LSR X11, X9, #0x38 ; '8'
.text:000000710083DE74 CMP X11, #1
.text:000000710083DE78 B.LS loc_710083EFF0
.text:000000710083DE7C CMP X8, X21
.text:000000710083DE80 MOV X9, X21
.text:000000710083DE84 B.HI loc_710083DE90
.text:000000710083DE88 UDIV X9, X21, X8
.text:000000710083DE8C MSUB X9, X9, X8, X21
.text:000000710083DE90
.text:000000710083DE90 loc_710083DE90 ; CODE XREF: calc_initial_damage_LA+A4↑j
.text:000000710083DE90 ; calc_initial_damage_LA+1218↓j
.text:000000710083DE90 LDR X10, [X10,#0x58]
.text:000000710083DE94 LDR X10, [X10,X9,LSL#3]
.text:000000710083DE98 CBZ X10, loc_710083E020
.text:000000710083DE9C LDR X10, [X10]
.text:000000710083DEA0 CBZ X10, loc_710083E020
.text:000000710083DEA4 CMP X11, #1
.text:000000710083DEA8 B.LS loc_710083F020
.text:000000710083DEAC
.text:000000710083DEAC loc_710083DEAC ; CODE XREF: calc_initial_damage_LA+1DC↓j
.text:000000710083DEAC LDR X11, [X10,#8]
.text:000000710083DEB0 CMP X11, X21
.text:000000710083DEB4 B.NE loc_710083DFA0
.text:000000710083DEB8 LDR X11, [X10,#0x10]
.text:000000710083DEBC CMP X11, X21
.text:000000710083DEC0 B.NE loc_710083DFB8
.text:000000710083DEC4
.text:000000710083DEC4 loc_710083DEC4 ; CODE XREF: calc_initial_damage_LA+1258↓j
.text:000000710083DEC4 LDR X0, [X10,#0x18]
.text:000000710083DEC8 CBZ X0, loc_710083E020
.text:000000710083DECC ADD X8, X0, #0x50 ; 'P'
.text:000000710083DED0
.text:000000710083DED0 loc_710083DED0 ; CODE XREF: calc_initial_damage_LA+FC↓j
.text:000000710083DED0 LDAXR W9, [X8]
.text:000000710083DED4 ADD W9, W9, #1
.text:000000710083DED8 STLXR W10, W9, [X8]
.text:000000710083DEDC CBNZ W10, loc_710083DED0
.text:000000710083DEE0 LDR X10, [X0,#0x108]
.text:000000710083DEE4 FMOV S8, WZR
.text:000000710083DEE8 CBZ X10, loc_710083E00C
.text:000000710083DEEC LSR X11, X10, #1
.text:000000710083DEF0 AND X11, X11, #0x5555555555555555
.text:000000710083DEF4 SUB X11, X10, X11
.text:000000710083DEF8 AND X12, X11, #0x3333333333333333
.text:000000710083DEFC LSR X11, X11, #2
.text:000000710083DF00 AND X11, X11, #0x3333333333333333
.text:000000710083DF04 ADD X11, X12, X11
.text:000000710083DF08 MOV X12, #0x101010101010101
.text:000000710083DF0C ADD X11, X11, X11,LSR#4
.text:000000710083DF10 AND X11, X11, #0xF0F0F0F0F0F0F0F
.text:000000710083DF14 MUL X11, X11, X12
.text:000000710083DF18 MOV X9, #0xB21685D155591C8D
.text:000000710083DF28 LSR X13, X11, #0x38 ; '8'
.text:000000710083DF2C CMP X13, #1
.text:000000710083DF30 B.LS loc_710083DFC4
.text:000000710083DF34 CMP X10, X9
.text:000000710083DF38 B.HI loc_710083F2E8
.text:000000710083DF3C UDIV X11, X9, X10
.text:000000710083DF40 MSUB X11, X11, X10, X9
.text:000000710083DF44
.text:000000710083DF44 loc_710083DF44 ; CODE XREF: calc_initial_damage_LA+1EC↓j
.text:000000710083DF44 ; calc_initial_damage_LA+150C↓j
.text:000000710083DF44 LDR X12, [X0,#0x100]
.text:000000710083DF48 LDR X12, [X12,X11,LSL#3]
.text:000000710083DF4C CBZ X12, loc_710083E00C
.text:000000710083DF50 LDR X12, [X12]
.text:000000710083DF54 CBZ X12, loc_710083E00C
.text:000000710083DF58 CMP X13, #1
.text:000000710083DF5C B.LS loc_710083DFD0
.text:000000710083DF60
.text:000000710083DF60 loc_710083DF60 ; CODE XREF: calc_initial_damage_LA+1B8↓j
.text:000000710083DF60 LDR X13, [X12,#8]
.text:000000710083DF64 CMP X13, X9
.text:000000710083DF68 B.NE loc_710083DF7C
.text:000000710083DF6C LDR X13, [X12,#0x10]
.text:000000710083DF70 CMP X13, X9
.text:000000710083DF74 B.EQ loc_710083E008
.text:000000710083DF78 B loc_710083DF94
.text:000000710083DF7C ; ---------------------------------------------------------------------------
.text:000000710083DF7C
.text:000000710083DF7C loc_710083DF7C ; CODE XREF: calc_initial_damage_LA+188↑j
.text:000000710083DF7C CMP X13, X10
.text:000000710083DF80 B.CC loc_710083DF8C
.text:000000710083DF84 UDIV X14, X13, X10
.text:000000710083DF88 MSUB X13, X14, X10, X13
.text:000000710083DF8C
.text:000000710083DF8C loc_710083DF8C ; CODE XREF: calc_initial_damage_LA+1A0↑j
.text:000000710083DF8C CMP X13, X11
.text:000000710083DF90 B.NE loc_710083E00C
.text:000000710083DF94
.text:000000710083DF94 loc_710083DF94 ; CODE XREF: calc_initial_damage_LA+198↑j
.text:000000710083DF94 LDR X12, [X12]
.text:000000710083DF98 CBNZ X12, loc_710083DF60
.text:000000710083DF9C B loc_710083E00C
.text:000000710083DFA0 ; ---------------------------------------------------------------------------
.text:000000710083DFA0
.text:000000710083DFA0 loc_710083DFA0 ; CODE XREF: calc_initial_damage_LA+D4↑j
.text:000000710083DFA0 CMP X11, X8
.text:000000710083DFA4 B.CC loc_710083DFB0
.text:000000710083DFA8 UDIV X12, X11, X8
.text:000000710083DFAC MSUB X11, X12, X8, X11
.text:000000710083DFB0
.text:000000710083DFB0 loc_710083DFB0 ; CODE XREF: calc_initial_damage_LA+1C4↑j
.text:000000710083DFB0 CMP X11, X9
.text:000000710083DFB4 B.NE loc_710083E020
.text:000000710083DFB8
.text:000000710083DFB8 loc_710083DFB8 ; CODE XREF: calc_initial_damage_LA+E0↑j
.text:000000710083DFB8 LDR X10, [X10]
.text:000000710083DFBC CBNZ X10, loc_710083DEAC
.text:000000710083DFC0 B loc_710083E020
.text:000000710083DFC4 ; ---------------------------------------------------------------------------
.text:000000710083DFC4
.text:000000710083DFC4 loc_710083DFC4 ; CODE XREF: calc_initial_damage_LA+150↑j
.text:000000710083DFC4 SUB X11, X10, #1
.text:000000710083DFC8 AND X11, X11, X9
.text:000000710083DFCC B loc_710083DF44
.text:000000710083DFD0 ; ---------------------------------------------------------------------------
.text:000000710083DFD0
.text:000000710083DFD0 loc_710083DFD0 ; CODE XREF: calc_initial_damage_LA+17C↑j
.text:000000710083DFD0 SUB X10, X10, #1
.text:000000710083DFD4
.text:000000710083DFD4 loc_710083DFD4 ; CODE XREF: calc_initial_damage_LA+220↓j
.text:000000710083DFD4 LDR X13, [X12,#8]
.text:000000710083DFD8 CMP X13, X9
.text:000000710083DFDC B.NE loc_710083DFF0
.text:000000710083DFE0 LDR X13, [X12,#0x10]
.text:000000710083DFE4 CMP X13, X9
.text:000000710083DFE8 B.EQ loc_710083E008
.text:000000710083DFEC B loc_710083DFFC
.text:000000710083DFF0 ; ---------------------------------------------------------------------------
.text:000000710083DFF0
.text:000000710083DFF0 loc_710083DFF0 ; CODE XREF: calc_initial_damage_LA+1FC↑j
.text:000000710083DFF0 AND X13, X13, X10
.text:000000710083DFF4 CMP X13, X11
.text:000000710083DFF8 B.NE loc_710083E00C
.text:000000710083DFFC
.text:000000710083DFFC loc_710083DFFC ; CODE XREF: calc_initial_damage_LA+20C↑j
.text:000000710083DFFC LDR X12, [X12]
.text:000000710083E000 CBNZ X12, loc_710083DFD4
.text:000000710083E004 B loc_710083E00C
.text:000000710083E008 ; ---------------------------------------------------------------------------
.text:000000710083E008
.text:000000710083E008 loc_710083E008 ; CODE XREF: calc_initial_damage_LA+194↑j
.text:000000710083E008 ; calc_initial_damage_LA+208↑j
.text:000000710083E008 LDR S8, [X12,#0x30]
.text:000000710083E00C
.text:000000710083E00C loc_710083E00C ; CODE XREF: calc_initial_damage_LA+108↑j
.text:000000710083E00C ; calc_initial_damage_LA+16C↑j ...
.text:000000710083E00C LDAXR W9, [X8]
.text:000000710083E010 SUBS W9, W9, #1
.text:000000710083E014 STLXR W10, W9, [X8]
.text:000000710083E018 CBNZ W10, loc_710083E00C
.text:000000710083E01C B.EQ loc_710083E980
.text:000000710083E020
.text:000000710083E020 loc_710083E020 ; CODE XREF: calc_initial_damage_LA+60↑j
.text:000000710083E020 ; calc_initial_damage_LA+B8↑j ...
.text:000000710083E020 LDARB W8, [X24]
.text:000000710083E024 TBZ W8, #0, loc_710083E994
.text:000000710083E028
.text:000000710083E028 loc_710083E028 ; CODE XREF: calc_initial_damage_LA+BB0↓j
.text:000000710083E028 ; calc_initial_damage_LA+BC0↓j ...
.text:000000710083E028 LDR X10, [X22]
.text:000000710083E02C STR X10, [X23]
.text:000000710083E030 LDR X8, [X10,#0x60]
.text:000000710083E034 FMOV S9, WZR
.text:000000710083E038 CBZ X8, loc_710083E218
.text:000000710083E03C LSR X9, X8, #1
.text:000000710083E040 AND X9, X9, #0x5555555555555555
.text:000000710083E044 SUB X9, X8, X9
.text:000000710083E048 AND X11, X9, #0x3333333333333333
.text:000000710083E04C LSR X9, X9, #2
.text:000000710083E050 AND X9, X9, #0x3333333333333333
.text:000000710083E054 ADD X9, X11, X9
.text:000000710083E058 MOV X11, #0x101010101010101
.text:000000710083E05C ADD X9, X9, X9,LSR#4
.text:000000710083E060 AND X9, X9, #0xF0F0F0F0F0F0F0F
.text:000000710083E064 MUL X9, X9, X11
.text:000000710083E068 LSR X11, X9, #0x38 ; '8'
.text:000000710083E06C CMP X11, #1
.text:000000710083E070 B.LS loc_710083EFFC
.text:000000710083E074 CMP X8, X21
.text:000000710083E078 MOV X9, X21
.text:000000710083E07C B.HI loc_710083E088
.text:000000710083E080 UDIV X9, X21, X8
.text:000000710083E084 MSUB X9, X9, X8, X21
.text:000000710083E088
.text:000000710083E088 loc_710083E088 ; CODE XREF: calc_initial_damage_LA+29C↑j
.text:000000710083E088 ; calc_initial_damage_LA+1224↓j
.text:000000710083E088 LDR X10, [X10,#0x58]
.text:000000710083E08C LDR X10, [X10,X9,LSL#3]
.text:000000710083E090 CBZ X10, loc_710083E218
.text:000000710083E094 LDR X10, [X10]
.text:000000710083E098 CBZ X10, loc_710083E218
.text:000000710083E09C CMP X11, #1
.text:000000710083E0A0 B.LS loc_710083F040
.text:000000710083E0A4
.text:000000710083E0A4 loc_710083E0A4 ; CODE XREF: calc_initial_damage_LA+3D4↓j
.text:000000710083E0A4 LDR X11, [X10,#8]
.text:000000710083E0A8 CMP X11, X21
.text:000000710083E0AC B.NE loc_710083E198
.text:000000710083E0B0 LDR X11, [X10,#0x10]
.text:000000710083E0B4 CMP X11, X21
.text:000000710083E0B8 B.NE loc_710083E1B0
.text:000000710083E0BC
.text:000000710083E0BC loc_710083E0BC ; CODE XREF: calc_initial_damage_LA+1278↓j
.text:000000710083E0BC LDR X0, [X10,#0x18]
.text:000000710083E0C0 CBZ X0, loc_710083E218
.text:000000710083E0C4 ADD X8, X0, #0x50 ; 'P'
.text:000000710083E0C8
.text:000000710083E0C8 loc_710083E0C8 ; CODE XREF: calc_initial_damage_LA+2F4↓j
.text:000000710083E0C8 LDAXR W9, [X8]
.text:000000710083E0CC ADD W9, W9, #1
.text:000000710083E0D0 STLXR W10, W9, [X8]
.text:000000710083E0D4 CBNZ W10, loc_710083E0C8
.text:000000710083E0D8 LDR X10, [X0,#0x108]
.text:000000710083E0DC FMOV S9, WZR
.text:000000710083E0E0 CBZ X10, loc_710083E204
.text:000000710083E0E4 LSR X11, X10, #1
.text:000000710083E0E8 AND X11, X11, #0x5555555555555555
.text:000000710083E0EC SUB X11, X10, X11
.text:000000710083E0F0 AND X12, X11, #0x3333333333333333
.text:000000710083E0F4 LSR X11, X11, #2
.text:000000710083E0F8 AND X11, X11, #0x3333333333333333
.text:000000710083E0FC ADD X11, X12, X11
.text:000000710083E100 MOV X12, #0x101010101010101
.text:000000710083E104 ADD X11, X11, X11,LSR#4
.text:000000710083E108 AND X11, X11, #0xF0F0F0F0F0F0F0F
.text:000000710083E10C MUL X11, X11, X12
.text:000000710083E110 MOV X9, #0x45990018E9C0F480
.text:000000710083E120 LSR X13, X11, #0x38 ; '8'
.text:000000710083E124 CMP X13, #1
.text:000000710083E128 B.LS loc_710083E1BC
.text:000000710083E12C CMP X10, X9
.text:000000710083E130 B.HI loc_710083F2F0
.text:000000710083E134 UDIV X11, X9, X10
.text:000000710083E138 MSUB X11, X11, X10, X9
.text:000000710083E13C
.text:000000710083E13C loc_710083E13C ; CODE XREF: calc_initial_damage_LA+3E4↓j
.text:000000710083E13C ; calc_initial_damage_LA+1514↓j
.text:000000710083E13C LDR X12, [X0,#0x100]
.text:000000710083E140 LDR X12, [X12,X11,LSL#3]
.text:000000710083E144 CBZ X12, loc_710083E204
.text:000000710083E148 LDR X12, [X12]
.text:000000710083E14C CBZ X12, loc_710083E204
.text:000000710083E150 CMP X13, #1
.text:000000710083E154 B.LS loc_710083E1C8
.text:000000710083E158
.text:000000710083E158 loc_710083E158 ; CODE XREF: calc_initial_damage_LA+3B0↓j
.text:000000710083E158 LDR X13, [X12,#8]
.text:000000710083E15C CMP X13, X9
.text:000000710083E160 B.NE loc_710083E174
.text:000000710083E164 LDR X13, [X12,#0x10]
.text:000000710083E168 CMP X13, X9
.text:000000710083E16C B.EQ loc_710083E200
.text:000000710083E170 B loc_710083E18C
.text:000000710083E174 ; ---------------------------------------------------------------------------
.text:000000710083E174
.text:000000710083E174 loc_710083E174 ; CODE XREF: calc_initial_damage_LA+380↑j
.text:000000710083E174 CMP X13, X10
.text:000000710083E178 B.CC loc_710083E184
.text:000000710083E17C UDIV X14, X13, X10
.text:000000710083E180 MSUB X13, X14, X10, X13
.text:000000710083E184
.text:000000710083E184 loc_710083E184 ; CODE XREF: calc_initial_damage_LA+398↑j
.text:000000710083E184 CMP X13, X11
.text:000000710083E188 B.NE loc_710083E204
.text:000000710083E18C
.text:000000710083E18C loc_710083E18C ; CODE XREF: calc_initial_damage_LA+390↑j
.text:000000710083E18C LDR X12, [X12]
.text:000000710083E190 CBNZ X12, loc_710083E158
.text:000000710083E194 B loc_710083E204
.text:000000710083E198 ; ---------------------------------------------------------------------------
.text:000000710083E198
.text:000000710083E198 loc_710083E198 ; CODE XREF: calc_initial_damage_LA+2CC↑j
.text:000000710083E198 CMP X11, X8
.text:000000710083E19C B.CC loc_710083E1A8
.text:000000710083E1A0 UDIV X12, X11, X8
.text:000000710083E1A4 MSUB X11, X12, X8, X11
.text:000000710083E1A8
.text:000000710083E1A8 loc_710083E1A8 ; CODE XREF: calc_initial_damage_LA+3BC↑j
.text:000000710083E1A8 CMP X11, X9
.text:000000710083E1AC B.NE loc_710083E218
.text:000000710083E1B0
.text:000000710083E1B0 loc_710083E1B0 ; CODE XREF: calc_initial_damage_LA+2D8↑j
.text:000000710083E1B0 LDR X10, [X10]
.text:000000710083E1B4 CBNZ X10, loc_710083E0A4
.text:000000710083E1B8 B loc_710083E218
.text:000000710083E1BC ; ---------------------------------------------------------------------------
.text:000000710083E1BC
.text:000000710083E1BC loc_710083E1BC ; CODE XREF: calc_initial_damage_LA+348↑j
.text:000000710083E1BC SUB X11, X10, #1
.text:000000710083E1C0 AND X11, X11, X9
.text:000000710083E1C4 B loc_710083E13C
.text:000000710083E1C8 ; ---------------------------------------------------------------------------
.text:000000710083E1C8
.text:000000710083E1C8 loc_710083E1C8 ; CODE XREF: calc_initial_damage_LA+374↑j
.text:000000710083E1C8 SUB X10, X10, #1
.text:000000710083E1CC
.text:000000710083E1CC loc_710083E1CC ; CODE XREF: calc_initial_damage_LA+418↓j
.text:000000710083E1CC LDR X13, [X12,#8]
.text:000000710083E1D0 CMP X13, X9
.text:000000710083E1D4 B.NE loc_710083E1E8
.text:000000710083E1D8 LDR X13, [X12,#0x10]
.text:000000710083E1DC CMP X13, X9
.text:000000710083E1E0 B.EQ loc_710083E200
.text:000000710083E1E4 B loc_710083E1F4
.text:000000710083E1E8 ; ---------------------------------------------------------------------------
.text:000000710083E1E8
.text:000000710083E1E8 loc_710083E1E8 ; CODE XREF: calc_initial_damage_LA+3F4↑j
.text:000000710083E1E8 AND X13, X13, X10
.text:000000710083E1EC CMP X13, X11
.text:000000710083E1F0 B.NE loc_710083E204
.text:000000710083E1F4
.text:000000710083E1F4 loc_710083E1F4 ; CODE XREF: calc_initial_damage_LA+404↑j
.text:000000710083E1F4 LDR X12, [X12]
.text:000000710083E1F8 CBNZ X12, loc_710083E1CC
.text:000000710083E1FC B loc_710083E204
.text:000000710083E200 ; ---------------------------------------------------------------------------
.text:000000710083E200
.text:000000710083E200 loc_710083E200 ; CODE XREF: calc_initial_damage_LA+38C↑j
.text:000000710083E200 ; calc_initial_damage_LA+400↑j
.text:000000710083E200 LDR S9, [X12,#0x30]
.text:000000710083E204
.text:000000710083E204 loc_710083E204 ; CODE XREF: calc_initial_damage_LA+300↑j
.text:000000710083E204 ; calc_initial_damage_LA+364↑j ...
.text:000000710083E204 LDAXR W9, [X8]
.text:000000710083E208 SUBS W9, W9, #1
.text:000000710083E20C STLXR W10, W9, [X8]
.text:000000710083E210 CBNZ W10, loc_710083E204
.text:000000710083E214 B.EQ loc_710083E9D0
.text:000000710083E218
.text:000000710083E218 loc_710083E218 ; CODE XREF: calc_initial_damage_LA+258↑j
.text:000000710083E218 ; calc_initial_damage_LA+2B0↑j ...
.text:000000710083E218 LDARB W8, [X24]
.text:000000710083E21C TBZ W8, #0, loc_710083E9E4
.text:000000710083E220
.text:000000710083E220 loc_710083E220 ; CODE XREF: calc_initial_damage_LA+C00↓j
.text:000000710083E220 ; calc_initial_damage_LA+C10↓j ...
.text:000000710083E220 LDR X10, [X22]
.text:000000710083E224 STR X10, [X23]
.text:000000710083E228 LDR X8, [X10,#0x60]
.text:000000710083E22C FMOV S10, WZR
.text:000000710083E230 CBZ X8, loc_710083E410
.text:000000710083E234 LSR X9, X8, #1
.text:000000710083E238 AND X9, X9, #0x5555555555555555
.text:000000710083E23C SUB X9, X8, X9
.text:000000710083E240 AND X11, X9, #0x3333333333333333
.text:000000710083E244 LSR X9, X9, #2
.text:000000710083E248 AND X9, X9, #0x3333333333333333
.text:000000710083E24C ADD X9, X11, X9
.text:000000710083E250 MOV X11, #0x101010101010101
.text:000000710083E254 ADD X9, X9, X9,LSR#4
.text:000000710083E258 AND X9, X9, #0xF0F0F0F0F0F0F0F
.text:000000710083E25C MUL X9, X9, X11
.text:000000710083E260 LSR X11, X9, #0x38 ; '8'
.text:000000710083E264 CMP X11, #1
.text:000000710083E268 B.LS loc_710083F008
.text:000000710083E26C CMP X8, X21
.text:000000710083E270 MOV X9, X21
.text:000000710083E274 B.HI loc_710083E280
.text:000000710083E278 UDIV X9, X21, X8
.text:000000710083E27C MSUB X9, X9, X8, X21
.text:000000710083E280
.text:000000710083E280 loc_710083E280 ; CODE XREF: calc_initial_damage_LA+494↑j
.text:000000710083E280 ; calc_initial_damage_LA+1230↓j
.text:000000710083E280 LDR X10, [X10,#0x58]
.text:000000710083E284 LDR X10, [X10,X9,LSL#3]
.text:000000710083E288 CBZ X10, loc_710083E410
.text:000000710083E28C LDR X10, [X10]
.text:000000710083E290 CBZ X10, loc_710083E410
.text:000000710083E294 CMP X11, #1
.text:000000710083E298 B.LS loc_710083F060
.text:000000710083E29C
.text:000000710083E29C loc_710083E29C ; CODE XREF: calc_initial_damage_LA+5CC↓j
.text:000000710083E29C LDR X11, [X10,#8]
.text:000000710083E2A0 CMP X11, X21
.text:000000710083E2A4 B.NE loc_710083E390
.text:000000710083E2A8 LDR X11, [X10,#0x10]
.text:000000710083E2AC CMP X11, X21
.text:000000710083E2B0 B.NE loc_710083E3A8
.text:000000710083E2B4
.text:000000710083E2B4 loc_710083E2B4 ; CODE XREF: calc_initial_damage_LA+1298↓j
.text:000000710083E2B4 LDR X0, [X10,#0x18]
.text:000000710083E2B8 CBZ X0, loc_710083E410
.text:000000710083E2BC ADD X8, X0, #0x50 ; 'P'
.text:000000710083E2C0
.text:000000710083E2C0 loc_710083E2C0 ; CODE XREF: calc_initial_damage_LA+4EC↓j
.text:000000710083E2C0 LDAXR W9, [X8]
.text:000000710083E2C4 ADD W9, W9, #1
.text:000000710083E2C8 STLXR W10, W9, [X8]
.text:000000710083E2CC CBNZ W10, loc_710083E2C0
.text:000000710083E2D0 LDR X10, [X0,#0x108]
.text:000000710083E2D4 FMOV S10, WZR
.text:000000710083E2D8 CBZ X10, loc_710083E3FC
.text:000000710083E2DC LSR X11, X10, #1
.text:000000710083E2E0 AND X11, X11, #0x5555555555555555
.text:000000710083E2E4 SUB X11, X10, X11
.text:000000710083E2E8 AND X12, X11, #0x3333333333333333
.text:000000710083E2EC LSR X11, X11, #2
.text:000000710083E2F0 AND X11, X11, #0x3333333333333333
.text:000000710083E2F4 ADD X11, X12, X11
.text:000000710083E2F8 MOV X12, #0x101010101010101
.text:000000710083E2FC ADD X11, X11, X11,LSR#4
.text:000000710083E300 AND X11, X11, #0xF0F0F0F0F0F0F0F
.text:000000710083E304 MUL X11, X11, X12
.text:000000710083E308 MOV X9, #0xBA4D65E8A0531F16
.text:000000710083E318 LSR X13, X11, #0x38 ; '8'
.text:000000710083E31C CMP X13, #1
.text:000000710083E320 B.LS loc_710083E3B4
.text:000000710083E324 CMP X10, X9
.text:000000710083E328 B.HI loc_710083F2F8
.text:000000710083E32C UDIV X11, X9, X10
.text:000000710083E330 MSUB X11, X11, X10, X9
.text:000000710083E334
.text:000000710083E334 loc_710083E334 ; CODE XREF: calc_initial_damage_LA+5DC↓j
.text:000000710083E334 ; calc_initial_damage_LA+151C↓j
.text:000000710083E334 LDR X12, [X0,#0x100]
.text:000000710083E338 LDR X12, [X12,X11,LSL#3]
.text:000000710083E33C CBZ X12, loc_710083E3FC
.text:000000710083E340 LDR X12, [X12]
.text:000000710083E344 CBZ X12, loc_710083E3FC
.text:000000710083E348 CMP X13, #1
.text:000000710083E34C B.LS loc_710083E3C0
.text:000000710083E350
.text:000000710083E350 loc_710083E350 ; CODE XREF: calc_initial_damage_LA+5A8↓j
.text:000000710083E350 LDR X13, [X12,#8]
.text:000000710083E354 CMP X13, X9
.text:000000710083E358 B.NE loc_710083E36C
.text:000000710083E35C LDR X13, [X12,#0x10]
.text:000000710083E360 CMP X13, X9
.text:000000710083E364 B.EQ loc_710083E3F8
.text:000000710083E368 B loc_710083E384
.text:000000710083E36C ; ---------------------------------------------------------------------------
.text:000000710083E36C
.text:000000710083E36C loc_710083E36C ; CODE XREF: calc_initial_damage_LA+578↑j
.text:000000710083E36C CMP X13, X10
.text:000000710083E370 B.CC loc_710083E37C
.text:000000710083E374 UDIV X14, X13, X10
.text:000000710083E378 MSUB X13, X14, X10, X13
.text:000000710083E37C
.text:000000710083E37C loc_710083E37C ; CODE XREF: calc_initial_damage_LA+590↑j
.text:000000710083E37C CMP X13, X11
.text:000000710083E380 B.NE loc_710083E3FC
.text:000000710083E384
.text:000000710083E384 loc_710083E384 ; CODE XREF: calc_initial_damage_LA+588↑j
.text:000000710083E384 LDR X12, [X12]
.text:000000710083E388 CBNZ X12, loc_710083E350
.text:000000710083E38C B loc_710083E3FC
.text:000000710083E390 ; ---------------------------------------------------------------------------
.text:000000710083E390
.text:000000710083E390 loc_710083E390 ; CODE XREF: calc_initial_damage_LA+4C4↑j
.text:000000710083E390 CMP X11, X8
.text:000000710083E394 B.CC loc_710083E3A0
.text:000000710083E398 UDIV X12, X11, X8
.text:000000710083E39C MSUB X11, X12, X8, X11
.text:000000710083E3A0
.text:000000710083E3A0 loc_710083E3A0 ; CODE XREF: calc_initial_damage_LA+5B4↑j
.text:000000710083E3A0 CMP X11, X9
.text:000000710083E3A4 B.NE loc_710083E410
.text:000000710083E3A8
.text:000000710083E3A8 loc_710083E3A8 ; CODE XREF: calc_initial_damage_LA+4D0↑j
.text:000000710083E3A8 LDR X10, [X10]
.text:000000710083E3AC CBNZ X10, loc_710083E29C
.text:000000710083E3B0 B loc_710083E410
.text:000000710083E3B4 ; ---------------------------------------------------------------------------
.text:000000710083E3B4
.text:000000710083E3B4 loc_710083E3B4 ; CODE XREF: calc_initial_damage_LA+540↑j
.text:000000710083E3B4 SUB X11, X10, #1
.text:000000710083E3B8 AND X11, X11, X9
.text:000000710083E3BC B loc_710083E334
.text:000000710083E3C0 ; ---------------------------------------------------------------------------
.text:000000710083E3C0
.text:000000710083E3C0 loc_710083E3C0 ; CODE XREF: calc_initial_damage_LA+56C↑j
.text:000000710083E3C0 SUB X10, X10, #1
.text:000000710083E3C4
.text:000000710083E3C4 loc_710083E3C4 ; CODE XREF: calc_initial_damage_LA+610↓j
.text:000000710083E3C4 LDR X13, [X12,#8]
.text:000000710083E3C8 CMP X13, X9
.text:000000710083E3CC B.NE loc_710083E3E0
.text:000000710083E3D0 LDR X13, [X12,#0x10]
.text:000000710083E3D4 CMP X13, X9
.text:000000710083E3D8 B.EQ loc_710083E3F8
.text:000000710083E3DC B loc_710083E3EC
.text:000000710083E3E0 ; ---------------------------------------------------------------------------
.text:000000710083E3E0
.text:000000710083E3E0 loc_710083E3E0 ; CODE XREF: calc_initial_damage_LA+5EC↑j
.text:000000710083E3E0 AND X13, X13, X10
.text:000000710083E3E4 CMP X13, X11
.text:000000710083E3E8 B.NE loc_710083E3FC
.text:000000710083E3EC
.text:000000710083E3EC loc_710083E3EC ; CODE XREF: calc_initial_damage_LA+5FC↑j
.text:000000710083E3EC LDR X12, [X12]
.text:000000710083E3F0 CBNZ X12, loc_710083E3C4
.text:000000710083E3F4 B loc_710083E3FC
.text:000000710083E3F8 ; ---------------------------------------------------------------------------
.text:000000710083E3F8
.text:000000710083E3F8 loc_710083E3F8 ; CODE XREF: calc_initial_damage_LA+584↑j
.text:000000710083E3F8 ; calc_initial_damage_LA+5F8↑j
.text:000000710083E3F8 LDR S10, [X12,#0x30]
.text:000000710083E3FC
.text:000000710083E3FC loc_710083E3FC ; CODE XREF: calc_initial_damage_LA+4F8↑j
.text:000000710083E3FC ; calc_initial_damage_LA+55C↑j ...
.text:000000710083E3FC LDAXR W9, [X8]
.text:000000710083E400 SUBS W9, W9, #1
.text:000000710083E404 STLXR W10, W9, [X8]
.text:000000710083E408 CBNZ W10, loc_710083E3FC
.text:000000710083E40C B.EQ loc_710083EA20
.text:000000710083E410
.text:000000710083E410 loc_710083E410 ; CODE XREF: calc_initial_damage_LA+450↑j
.text:000000710083E410 ; calc_initial_damage_LA+4A8↑j ...
.text:000000710083E410 LDARB W8, [X24]
.text:000000710083E414 TBZ W8, #0, loc_710083EA34
.text:000000710083E418
.text:000000710083E418 loc_710083E418 ; CODE XREF: calc_initial_damage_LA+C50↓j
.text:000000710083E418 ; calc_initial_damage_LA+C60↓j ...
.text:000000710083E418 LDR X10, [X22]
.text:000000710083E41C STR X10, [X23]
.text:000000710083E420 LDR X8, [X10,#0x60]
.text:000000710083E424 FMOV S11, WZR
.text:000000710083E428 CBZ X8, loc_710083E608
.text:000000710083E42C LSR X9, X8, #1
.text:000000710083E430 AND X9, X9, #0x5555555555555555
.text:000000710083E434 SUB X9, X8, X9
.text:000000710083E438 AND X11, X9, #0x3333333333333333
.text:000000710083E43C LSR X9, X9, #2
.text:000000710083E440 AND X9, X9, #0x3333333333333333
.text:000000710083E444 ADD X9, X11, X9
.text:000000710083E448 MOV X11, #0x101010101010101
.text:000000710083E44C ADD X9, X9, X9,LSR#4
.text:000000710083E450 AND X9, X9, #0xF0F0F0F0F0F0F0F
.text:000000710083E454 MUL X9, X9, X11
.text:000000710083E458 LSR X11, X9, #0x38 ; '8'
.text:000000710083E45C CMP X11, #1
.text:000000710083E460 B.LS loc_710083F014
.text:000000710083E464 CMP X8, X21
.text:000000710083E468 MOV X9, X21
.text:000000710083E46C B.HI loc_710083E478
.text:000000710083E470 UDIV X9, X21, X8
.text:000000710083E474 MSUB X9, X9, X8, X21
.text:000000710083E478
.text:000000710083E478 loc_710083E478 ; CODE XREF: calc_initial_damage_LA+68C↑j
.text:000000710083E478 ; calc_initial_damage_LA+123C↓j
.text:000000710083E478 LDR X10, [X10,#0x58]
.text:000000710083E47C LDR X10, [X10,X9,LSL#3]
.text:000000710083E480 CBZ X10, loc_710083E608
.text:000000710083E484 LDR X10, [X10]
.text:000000710083E488 CBZ X10, loc_710083E608
.text:000000710083E48C CMP X11, #1
.text:000000710083E490 B.LS loc_710083F080
.text:000000710083E494
.text:000000710083E494 loc_710083E494 ; CODE XREF: calc_initial_damage_LA+7C4↓j
.text:000000710083E494 LDR X11, [X10,#8]
.text:000000710083E498 CMP X11, X21
.text:000000710083E49C B.NE loc_710083E588
.text:000000710083E4A0 LDR X11, [X10,#0x10]
.text:000000710083E4A4 CMP X11, X21
.text:000000710083E4A8 B.NE loc_710083E5A0
.text:000000710083E4AC
.text:000000710083E4AC loc_710083E4AC ; CODE XREF: calc_initial_damage_LA+12B8↓j
.text:000000710083E4AC LDR X0, [X10,#0x18]
.text:000000710083E4B0 CBZ X0, loc_710083E608
.text:000000710083E4B4 ADD X8, X0, #0x50 ; 'P'
.text:000000710083E4B8
.text:000000710083E4B8 loc_710083E4B8 ; CODE XREF: calc_initial_damage_LA+6E4↓j
.text:000000710083E4B8 LDAXR W9, [X8]
.text:000000710083E4BC ADD W9, W9, #1
.text:000000710083E4C0 STLXR W10, W9, [X8]
.text:000000710083E4C4 CBNZ W10, loc_710083E4B8
.text:000000710083E4C8 LDR X10, [X0,#0x108]
.text:000000710083E4CC FMOV S11, WZR
.text:000000710083E4D0 CBZ X10, loc_710083E5F4
.text:000000710083E4D4 LSR X11, X10, #1
.text:000000710083E4D8 AND X11, X11, #0x5555555555555555
.text:000000710083E4DC SUB X11, X10, X11
.text:000000710083E4E0 AND X12, X11, #0x3333333333333333
.text:000000710083E4E4 LSR X11, X11, #2
.text:000000710083E4E8 AND X11, X11, #0x3333333333333333
.text:000000710083E4EC ADD X11, X12, X11
.text:000000710083E4F0 MOV X12, #0x101010101010101
.text:000000710083E4F4 ADD X11, X11, X11,LSR#4
.text:000000710083E4F8 AND X11, X11, #0xF0F0F0F0F0F0F0F
.text:000000710083E4FC MUL X11, X11, X12
.text:000000710083E500 MOV X9, #0x44ADE38F089ABB5B
.text:000000710083E510 LSR X13, X11, #0x38 ; '8'
.text:000000710083E514 CMP X13, #1
.text:000000710083E518 B.LS loc_710083E5AC
.text:000000710083E51C CMP X10, X9
.text:000000710083E520 B.HI loc_710083F300
.text:000000710083E524 UDIV X11, X9, X10
.text:000000710083E528 MSUB X11, X11, X10, X9
.text:000000710083E52C
.text:000000710083E52C loc_710083E52C ; CODE XREF: calc_initial_damage_LA+7D4↓j
.text:000000710083E52C ; calc_initial_damage_LA+1524↓j
.text:000000710083E52C LDR X12, [X0,#0x100]
.text:000000710083E530 LDR X12, [X12,X11,LSL#3]
.text:000000710083E534 CBZ X12, loc_710083E5F4
.text:000000710083E538 LDR X12, [X12]
.text:000000710083E53C CBZ X12, loc_710083E5F4
.text:000000710083E540 CMP X13, #1
.text:000000710083E544 B.LS loc_710083E5B8
.text:000000710083E548
.text:000000710083E548 loc_710083E548 ; CODE XREF: calc_initial_damage_LA+7A0↓j
.text:000000710083E548 LDR X13, [X12,#8]
.text:000000710083E54C CMP X13, X9
.text:000000710083E550 B.NE loc_710083E564
.text:000000710083E554 LDR X13, [X12,#0x10]
.text:000000710083E558 CMP X13, X9
.text:000000710083E55C B.EQ loc_710083E5F0
.text:000000710083E560 B loc_710083E57C
.text:000000710083E564 ; ---------------------------------------------------------------------------
.text:000000710083E564
.text:000000710083E564 loc_710083E564 ; CODE XREF: calc_initial_damage_LA+770↑j
.text:000000710083E564 CMP X13, X10
.text:000000710083E568 B.CC loc_710083E574
.text:000000710083E56C UDIV X14, X13, X10
.text:000000710083E570 MSUB X13, X14, X10, X13
.text:000000710083E574
.text:000000710083E574 loc_710083E574 ; CODE XREF: calc_initial_damage_LA+788↑j
.text:000000710083E574 CMP X13, X11
.text:000000710083E578 B.NE loc_710083E5F4
.text:000000710083E57C
.text:000000710083E57C loc_710083E57C ; CODE XREF: calc_initial_damage_LA+780↑j
.text:000000710083E57C LDR X12, [X12]
.text:000000710083E580 CBNZ X12, loc_710083E548
.text:000000710083E584 B loc_710083E5F4
.text:000000710083E588 ; ---------------------------------------------------------------------------
.text:000000710083E588
.text:000000710083E588 loc_710083E588 ; CODE XREF: calc_initial_damage_LA+6BC↑j
.text:000000710083E588 CMP X11, X8
.text:000000710083E58C B.CC loc_710083E598
.text:000000710083E590 UDIV X12, X11, X8
.text:000000710083E594 MSUB X11, X12, X8, X11
.text:000000710083E598
.text:000000710083E598 loc_710083E598 ; CODE XREF: calc_initial_damage_LA+7AC↑j
.text:000000710083E598 CMP X11, X9
.text:000000710083E59C B.NE loc_710083E608
.text:000000710083E5A0
.text:000000710083E5A0 loc_710083E5A0 ; CODE XREF: calc_initial_damage_LA+6C8↑j
.text:000000710083E5A0 LDR X10, [X10]
.text:000000710083E5A4 CBNZ X10, loc_710083E494
.text:000000710083E5A8 B loc_710083E608
.text:000000710083E5AC ; ---------------------------------------------------------------------------
.text:000000710083E5AC
.text:000000710083E5AC loc_710083E5AC ; CODE XREF: calc_initial_damage_LA+738↑j
.text:000000710083E5AC SUB X11, X10, #1
.text:000000710083E5B0 AND X11, X11, X9
.text:000000710083E5B4 B loc_710083E52C
.text:000000710083E5B8 ; ---------------------------------------------------------------------------
.text:000000710083E5B8
.text:000000710083E5B8 loc_710083E5B8 ; CODE XREF: calc_initial_damage_LA+764↑j
.text:000000710083E5B8 SUB X10, X10, #1
.text:000000710083E5BC
.text:000000710083E5BC loc_710083E5BC ; CODE XREF: calc_initial_damage_LA+808↓j
.text:000000710083E5BC LDR X13, [X12,#8]
.text:000000710083E5C0 CMP X13, X9
.text:000000710083E5C4 B.NE loc_710083E5D8
.text:000000710083E5C8 LDR X13, [X12,#0x10]
.text:000000710083E5CC CMP X13, X9
.text:000000710083E5D0 B.EQ loc_710083E5F0
.text:000000710083E5D4 B loc_710083E5E4
.text:000000710083E5D8 ; ---------------------------------------------------------------------------
.text:000000710083E5D8
.text:000000710083E5D8 loc_710083E5D8 ; CODE XREF: calc_initial_damage_LA+7E4↑j
.text:000000710083E5D8 AND X13, X13, X10
.text:000000710083E5DC CMP X13, X11
.text:000000710083E5E0 B.NE loc_710083E5F4
.text:000000710083E5E4
.text:000000710083E5E4 loc_710083E5E4 ; CODE XREF: calc_initial_damage_LA+7F4↑j
.text:000000710083E5E4 LDR X12, [X12]
.text:000000710083E5E8 CBNZ X12, loc_710083E5BC
.text:000000710083E5EC B loc_710083E5F4
.text:000000710083E5F0 ; ---------------------------------------------------------------------------
.text:000000710083E5F0
.text:000000710083E5F0 loc_710083E5F0 ; CODE XREF: calc_initial_damage_LA+77C↑j
.text:000000710083E5F0 ; calc_initial_damage_LA+7F0↑j
.text:000000710083E5F0 LDR S11, [X12,#0x30]
.text:000000710083E5F4
.text:000000710083E5F4 loc_710083E5F4 ; CODE XREF: calc_initial_damage_LA+6F0↑j
.text:000000710083E5F4 ; calc_initial_damage_LA+754↑j ...
.text:000000710083E5F4 LDAXR W9, [X8]
.text:000000710083E5F8 SUBS W9, W9, #1
.text:000000710083E5FC STLXR W10, W9, [X8]
.text:000000710083E600 CBNZ W10, loc_710083E5F4
.text:000000710083E604 B.EQ loc_710083EA70
.text:000000710083E608
.text:000000710083E608 loc_710083E608 ; CODE XREF: calc_initial_damage_LA+648↑j
.text:000000710083E608 ; calc_initial_damage_LA+6A0↑j ...
.text:000000710083E608 LDP S0, S1, [X19,#8]
.text:000000710083E60C LDP S2, S3, [X19]
.text:000000710083E610 UCVTF S3, S3
.text:000000710083E614 FMUL S3, S9, S3
.text:000000710083E618 UCVTF S0, S0
.text:000000710083E61C FADD S0, S8, S0
.text:000000710083E620 UCVTF S2, S2
.text:000000710083E624 FADD S0, S0, S3
.text:000000710083E628 UCVTF S1, S1
.text:000000710083E62C FADD S1, S10, S1
.text:000000710083E630 FMUL S0, S0, S2
.text:000000710083E634 FCVTZU W8, S0
.text:000000710083E638 UCVTF S0, W8
.text:000000710083E63C FDIV S0, S0, S1
.text:000000710083E640 FCVTZU W8, S0
.text:000000710083E644 UCVTF S0, W8
.text:000000710083E648 FDIV S0, S0, S11
.text:000000710083E64C LDP W9, W8, [X19,#0x10]
.text:000000710083E650 CMP W9, W8
.text:000000710083E654 FCVTZU W20, S0
.text:000000710083E658 B.NE loc_710083E67C
.text:000000710083E65C
.text:000000710083E65C loc_710083E65C ; CODE XREF: calc_initial_damage_LA+DBC↓j
.text:000000710083E65C LDP D9, D8, [SP,#0x50+var_40]
.text:000000710083E660 MOV W0, W20
.text:000000710083E664 LDP X29, X30, [SP,#0x50+var_s0]
.text:000000710083E668 LDP X20, X19, [SP,#0x50+var_10]
.text:000000710083E66C LDP X22, X21, [SP,#0x50+var_20]
.text:000000710083E670 LDP X24, X23, [SP,#0x50+var_30]
.text:000000710083E674 LDP D11, D10, [SP+0x50+var_50],#0x60
.text:000000710083E678 RET
.text:000000710083E67C ; ---------------------------------------------------------------------------
.text:000000710083E67C
.text:000000710083E67C loc_710083E67C ; CODE XREF: calc_initial_damage_LA+878↑j
.text:000000710083E67C FMOV S8, #1.0
.text:000000710083E680 MOV V9.16B, V8.16B
.text:000000710083E684 CMP W9, #1
.text:000000710083E688 B.EQ loc_710083EB84
.text:000000710083E68C CBZ W9, loc_710083E808
.text:000000710083E690 LDARB W8, [X24]
.text:000000710083E694 TBZ W8, #0, loc_710083F100
.text:000000710083E698
.text:000000710083E698 loc_710083E698 ; CODE XREF: calc_initial_damage_LA+132C↓j
.text:000000710083E698 ; calc_initial_damage_LA+1358↓j
.text:000000710083E698 LDR X10, [X22]
.text:000000710083E69C STR X10, [X23]
.text:000000710083E6A0 LDR X8, [X10,#0x60]
.text:000000710083E6A4 FMOV S9, WZR
.text:000000710083E6A8 CBZ X8, loc_710083EB80
.text:000000710083E6AC LSR X9, X8, #1
.text:000000710083E6B0 AND X9, X9, #0x5555555555555555
.text:000000710083E6B4 SUB X9, X8, X9
.text:000000710083E6B8 AND X11, X9, #0x3333333333333333
.text:000000710083E6BC LSR X9, X9, #2
.text:000000710083E6C0 AND X9, X9, #0x3333333333333333
.text:000000710083E6C4 ADD X9, X11, X9
.text:000000710083E6C8 MOV X11, #0x101010101010101
.text:000000710083E6CC ADD X9, X9, X9,LSR#4
.text:000000710083E6D0 AND X9, X9, #0xF0F0F0F0F0F0F0F
.text:000000710083E6D4 MUL X9, X9, X11
.text:000000710083E6D8 LSR X11, X9, #0x38 ; '8'
.text:000000710083E6DC CMP X11, #1
.text:000000710083E6E0 B.LS loc_710083F13C
.text:000000710083E6E4 CMP X8, X21
.text:000000710083E6E8 MOV X9, X21
.text:000000710083E6EC B.HI loc_710083E6F8
.text:000000710083E6F0 UDIV X9, X21, X8
.text:000000710083E6F4 MSUB X9, X9, X8, X21
.text:000000710083E6F8
.text:000000710083E6F8 loc_710083E6F8 ; CODE XREF: calc_initial_damage_LA+90C↑j
.text:000000710083E6F8 ; calc_initial_damage_LA+1364↓j
.text:000000710083E6F8 LDR X10, [X10,#0x58]
.text:000000710083E6FC LDR X10, [X10,X9,LSL#3]
.text:000000710083E700 CBZ X10, loc_710083EB80
.text:000000710083E704 LDR X10, [X10]
.text:000000710083E708 CBZ X10, loc_710083EB80
.text:000000710083E70C CMP X11, #1
.text:000000710083E710 B.LS loc_710083F148
.text:000000710083E714
.text:000000710083E714 loc_710083E714 ; CODE XREF: calc_initial_damage_LA+CBC↓j
.text:000000710083E714 LDR X11, [X10,#8]
.text:000000710083E718 CMP X11, X21
.text:000000710083E71C B.NE loc_710083EA80
.text:000000710083E720 LDR X11, [X10,#0x10]
.text:000000710083E724 CMP X11, X21
.text:000000710083E728 B.NE loc_710083EA98
.text:000000710083E72C
.text:000000710083E72C loc_710083E72C ; CODE XREF: calc_initial_damage_LA+1380↓j
.text:000000710083E72C LDR X0, [X10,#0x18]
.text:000000710083E730 CBZ X0, loc_710083EB80
.text:000000710083E734 ADD X8, X0, #0x50 ; 'P'
.text:000000710083E738
.text:000000710083E738 loc_710083E738 ; CODE XREF: calc_initial_damage_LA+964↓j
.text:000000710083E738 LDAXR W9, [X8]
.text:000000710083E73C ADD W9, W9, #1
.text:000000710083E740 STLXR W10, W9, [X8]
.text:000000710083E744 CBNZ W10, loc_710083E738
.text:000000710083E748 LDR X10, [X0,#0x108]
.text:000000710083E74C FMOV S9, WZR
.text:000000710083E750 CBZ X10, loc_710083EB10
.text:000000710083E754 LSR X11, X10, #1
.text:000000710083E758 AND X11, X11, #0x5555555555555555
.text:000000710083E75C SUB X11, X10, X11
.text:000000710083E760 AND X12, X11, #0x3333333333333333
.text:000000710083E764 LSR X11, X11, #2
.text:000000710083E768 AND X11, X11, #0x3333333333333333
.text:000000710083E76C ADD X11, X12, X11
.text:000000710083E770 MOV X12, #0x101010101010101
.text:000000710083E774 ADD X11, X11, X11,LSR#4
.text:000000710083E778 AND X11, X11, #0xF0F0F0F0F0F0F0F
.text:000000710083E77C MUL X11, X11, X12
.text:000000710083E780 MOV X9, #0xD880C65BC7CDE5FC
.text:000000710083E790 LSR X13, X11, #0x38 ; '8'
.text:000000710083E794 CMP X13, #1
.text:000000710083E798 B.LS loc_710083EAC8
.text:000000710083E79C CMP X10, X9
.text:000000710083E7A0 B.HI loc_710083F320
.text:000000710083E7A4 UDIV X11, X9, X10
.text:000000710083E7A8 MSUB X11, X11, X10, X9
.text:000000710083E7AC
.text:000000710083E7AC loc_710083E7AC ; CODE XREF: calc_initial_damage_LA+CF0↓j
.text:000000710083E7AC ; calc_initial_damage_LA+1544↓j
.text:000000710083E7AC LDR X12, [X0,#0x100]
.text:000000710083E7B0 LDR X12, [X12,X11,LSL#3]
.text:000000710083E7B4 CBZ X12, loc_710083EB10
.text:000000710083E7B8 LDR X12, [X12]
.text:000000710083E7BC CBZ X12, loc_710083EB10
.text:000000710083E7C0 CMP X13, #1
.text:000000710083E7C4 B.LS loc_710083EAD4
.text:000000710083E7C8
.text:000000710083E7C8 loc_710083E7C8 ; CODE XREF: calc_initial_damage_LA+A20↓j
.text:000000710083E7C8 LDR X13, [X12,#8]
.text:000000710083E7CC CMP X13, X9
.text:000000710083E7D0 B.NE loc_710083E7E4
.text:000000710083E7D4 LDR X13, [X12,#0x10]
.text:000000710083E7D8 CMP X13, X9
.text:000000710083E7DC B.EQ loc_710083EB0C
.text:000000710083E7E0 B loc_710083E7FC
.text:000000710083E7E4 ; ---------------------------------------------------------------------------
.text:000000710083E7E4
.text:000000710083E7E4 loc_710083E7E4 ; CODE XREF: calc_initial_damage_LA+9F0↑j
.text:000000710083E7E4 CMP X13, X10
.text:000000710083E7E8 B.CC loc_710083E7F4
.text:000000710083E7EC UDIV X14, X13, X10
.text:000000710083E7F0 MSUB X13, X14, X10, X13
.text:000000710083E7F4
.text:000000710083E7F4 loc_710083E7F4 ; CODE XREF: calc_initial_damage_LA+A08↑j
.text:000000710083E7F4 CMP X13, X11
.text:000000710083E7F8 B.NE loc_710083EB10
.text:000000710083E7FC
.text:000000710083E7FC loc_710083E7FC ; CODE XREF: calc_initial_damage_LA+A00↑j
.text:000000710083E7FC LDR X12, [X12]
.text:000000710083E800 CBNZ X12, loc_710083E7C8
.text:000000710083E804 B loc_710083EB10
.text:000000710083E808 ; ---------------------------------------------------------------------------
.text:000000710083E808
.text:000000710083E808 loc_710083E808 ; CODE XREF: calc_initial_damage_LA+8AC↑j
.text:000000710083E808 LDARB W8, [X24]
.text:000000710083E80C TBZ W8, #0, loc_710083F1D0
.text:000000710083E810
.text:000000710083E810 loc_710083E810 ; CODE XREF: calc_initial_damage_LA+13FC↓j
.text:000000710083E810 ; calc_initial_damage_LA+1428↓j
.text:000000710083E810 LDR X10, [X22]
.text:000000710083E814 STR X10, [X23]
.text:000000710083E818 LDR X8, [X10,#0x60]
.text:000000710083E81C FMOV S9, WZR
.text:000000710083E820 CBZ X8, loc_710083EB80
.text:000000710083E824 LSR X9, X8, #1
.text:000000710083E828 AND X9, X9, #0x5555555555555555
.text:000000710083E82C SUB X9, X8, X9
.text:000000710083E830 AND X11, X9, #0x3333333333333333
.text:000000710083E834 LSR X9, X9, #2
.text:000000710083E838 AND X9, X9, #0x3333333333333333
.text:000000710083E83C ADD X9, X11, X9
.text:000000710083E840 MOV X11, #0x101010101010101
.text:000000710083E844 ADD X9, X9, X9,LSR#4
.text:000000710083E848 AND X9, X9, #0xF0F0F0F0F0F0F0F
.text:000000710083E84C MUL X9, X9, X11
.text:000000710083E850 LSR X11, X9, #0x38 ; '8'
.text:000000710083E854 CMP X11, #1
.text:000000710083E858 B.LS loc_710083F20C
.text:000000710083E85C CMP X8, X21
.text:000000710083E860 MOV X9, X21
.text:000000710083E864 B.HI loc_710083E870
.text:000000710083E868 UDIV X9, X21, X8
.text:000000710083E86C MSUB X9, X9, X8, X21
.text:000000710083E870
.text:000000710083E870 loc_710083E870 ; CODE XREF: calc_initial_damage_LA+A84↑j
.text:000000710083E870 ; calc_initial_damage_LA+1434↓j
.text:000000710083E870 LDR X10, [X10,#0x58]
.text:000000710083E874 LDR X10, [X10,X9,LSL#3]
.text:000000710083E878 CBZ X10, loc_710083EB80
.text:000000710083E87C LDR X10, [X10]
.text:000000710083E880 CBZ X10, loc_710083EB80
.text:000000710083E884 CMP X11, #1
.text:000000710083E888 B.LS loc_710083F218
.text:000000710083E88C
.text:000000710083E88C loc_710083E88C ; CODE XREF: calc_initial_damage_LA+CE0↓j
.text:000000710083E88C LDR X11, [X10,#8]
.text:000000710083E890 CMP X11, X21
.text:000000710083E894 B.NE loc_710083EAA4
.text:000000710083E898 LDR X11, [X10,#0x10]
.text:000000710083E89C CMP X11, X21
.text:000000710083E8A0 B.NE loc_710083EABC
.text:000000710083E8A4
.text:000000710083E8A4 loc_710083E8A4 ; CODE XREF: calc_initial_damage_LA+1450↓j
.text:000000710083E8A4 LDR X0, [X10,#0x18]
.text:000000710083E8A8 CBZ X0, loc_710083EB80
.text:000000710083E8AC ADD X8, X0, #0x50 ; 'P'
.text:000000710083E8B0
.text:000000710083E8B0 loc_710083E8B0 ; CODE XREF: calc_initial_damage_LA+ADC↓j
.text:000000710083E8B0 LDAXR W9, [X8]
.text:000000710083E8B4 ADD W9, W9, #1
.text:000000710083E8B8 STLXR W10, W9, [X8]
.text:000000710083E8BC CBNZ W10, loc_710083E8B0
.text:000000710083E8C0 LDR X10, [X0,#0x108]
.text:000000710083E8C4 FMOV S9, WZR
.text:000000710083E8C8 CBZ X10, loc_710083EB6C
.text:000000710083E8CC LSR X11, X10, #1
.text:000000710083E8D0 AND X11, X11, #0x5555555555555555
.text:000000710083E8D4 SUB X11, X10, X11
.text:000000710083E8D8 AND X12, X11, #0x3333333333333333
.text:000000710083E8DC LSR X11, X11, #2
.text:000000710083E8E0 AND X11, X11, #0x3333333333333333
.text:000000710083E8E4 ADD X11, X12, X11
.text:000000710083E8E8 MOV X12, #0x101010101010101
.text:000000710083E8EC ADD X11, X11, X11,LSR#4
.text:000000710083E8F0 AND X11, X11, #0xF0F0F0F0F0F0F0F
.text:000000710083E8F4 MUL X11, X11, X12
.text:000000710083E8F8 MOV X9, #0xC4C828B65D3E2AAF
.text:000000710083E908 LSR X13, X11, #0x38 ; '8'
.text:000000710083E90C CMP X13, #1
.text:000000710083E910 B.LS loc_710083EB24
.text:000000710083E914 CMP X10, X9
.text:000000710083E918 B.HI loc_710083F330
.text:000000710083E91C UDIV X11, X9, X10
.text:000000710083E920 MSUB X11, X11, X10, X9
.text:000000710083E924
.text:000000710083E924 loc_710083E924 ; CODE XREF: calc_initial_damage_LA+D4C↓j
.text:000000710083E924 ; calc_initial_damage_LA+1554↓j
.text:000000710083E924 LDR X12, [X0,#0x100]
.text:000000710083E928 LDR X12, [X12,X11,LSL#3]
.text:000000710083E92C CBZ X12, loc_710083EB6C
.text:000000710083E930 LDR X12, [X12]
.text:000000710083E934 CBZ X12, loc_710083EB6C
.text:000000710083E938 CMP X13, #1
.text:000000710083E93C B.LS loc_710083EB30
.text:000000710083E940
.text:000000710083E940 loc_710083E940 ; CODE XREF: calc_initial_damage_LA+B98↓j
.text:000000710083E940 LDR X13, [X12,#8]
.text:000000710083E944 CMP X13, X9
.text:000000710083E948 B.NE loc_710083E95C
.text:000000710083E94C LDR X13, [X12,#0x10]
.text:000000710083E950 CMP X13, X9
.text:000000710083E954 B.EQ loc_710083EB68
.text:000000710083E958 B loc_710083E974
.text:000000710083E95C ; ---------------------------------------------------------------------------
.text:000000710083E95C
.text:000000710083E95C loc_710083E95C ; CODE XREF: calc_initial_damage_LA+B68↑j
.text:000000710083E95C CMP X13, X10
.text:000000710083E960 B.CC loc_710083E96C
.text:000000710083E964 UDIV X14, X13, X10
.text:000000710083E968 MSUB X13, X14, X10, X13
.text:000000710083E96C
.text:000000710083E96C loc_710083E96C ; CODE XREF: calc_initial_damage_LA+B80↑j
.text:000000710083E96C CMP X13, X11
.text:000000710083E970 B.NE loc_710083EB6C
.text:000000710083E974
.text:000000710083E974 loc_710083E974 ; CODE XREF: calc_initial_damage_LA+B78↑j
.text:000000710083E974 LDR X12, [X12]
.text:000000710083E978 CBNZ X12, loc_710083E940
.text:000000710083E97C B loc_710083EB6C
.text:000000710083E980 ; ---------------------------------------------------------------------------
.text:000000710083E980
.text:000000710083E980 loc_710083E980 ; CODE XREF: calc_initial_damage_LA+23C↑j
.text:000000710083E980 LDR X8, [X0]
.text:000000710083E984 LDR X8, [X8,#0x10]
.text:000000710083E988 BLR X8
.text:000000710083E98C LDARB W8, [X24]
.text:000000710083E990 TBNZ W8, #0, loc_710083E028
.text:000000710083E994
.text:000000710083E994 loc_710083E994 ; CODE XREF: calc_initial_damage_LA+244↑j
.text:000000710083E994 ADRP X0, #off_7104279660@PAGE
.text:000000710083E998 LDR X0, [X0,#off_7104279660@PAGEOFF] ; __guard *
.text:000000710083E99C BL __cxa_guard_acquire_0
.text:000000710083E9A0 CBZ W0, loc_710083E028
.text:000000710083E9A4 ADRP X0, #off_71042796B0@PAGE
.text:000000710083E9A8 ADRP X1, #off_7104279668@PAGE
.text:000000710083E9AC LDR X0, [X0,#off_71042796B0@PAGEOFF]
.text:000000710083E9B0 LDR X1, [X1,#off_7104279668@PAGEOFF]
.text:000000710083E9B4 ADRL X2, off_710401A000
.text:000000710083E9BC BL sub_7100000250
.text:000000710083E9C0 ADRP X0, #off_7104279660@PAGE
.text:000000710083E9C4 LDR X0, [X0,#off_7104279660@PAGEOFF] ; __guard *
.text:000000710083E9C8 BL __cxa_guard_release_0
.text:000000710083E9CC B loc_710083E028
.text:000000710083E9D0 ; ---------------------------------------------------------------------------
.text:000000710083E9D0
.text:000000710083E9D0 loc_710083E9D0 ; CODE XREF: calc_initial_damage_LA+434↑j
.text:000000710083E9D0 LDR X8, [X0]
.text:000000710083E9D4 LDR X8, [X8,#0x10]
.text:000000710083E9D8 BLR X8
.text:000000710083E9DC LDARB W8, [X24]
.text:000000710083E9E0 TBNZ W8, #0, loc_710083E220
.text:000000710083E9E4
.text:000000710083E9E4 loc_710083E9E4 ; CODE XREF: calc_initial_damage_LA+43C↑j
.text:000000710083E9E4 ADRP X0, #off_7104279660@PAGE
.text:000000710083E9E8 LDR X0, [X0,#off_7104279660@PAGEOFF] ; __guard *
.text:000000710083E9EC BL __cxa_guard_acquire_0
.text:000000710083E9F0 CBZ W0, loc_710083E220
.text:000000710083E9F4 ADRP X0, #off_71042796B0@PAGE
.text:000000710083E9F8 ADRP X1, #off_7104279668@PAGE
.text:000000710083E9FC LDR X0, [X0,#off_71042796B0@PAGEOFF]
.text:000000710083EA00 LDR X1, [X1,#off_7104279668@PAGEOFF]
.text:000000710083EA04 ADRL X2, off_710401A000
.text:000000710083EA0C BL sub_7100000250
.text:000000710083EA10 ADRP X0, #off_7104279660@PAGE
.text:000000710083EA14 LDR X0, [X0,#off_7104279660@PAGEOFF] ; __guard *
.text:000000710083EA18 BL __cxa_guard_release_0
.text:000000710083EA1C B loc_710083E220
.text:000000710083EA20 ; ---------------------------------------------------------------------------
.text:000000710083EA20
.text:000000710083EA20 loc_710083EA20 ; CODE XREF: calc_initial_damage_LA+62C↑j
.text:000000710083EA20 LDR X8, [X0]
.text:000000710083EA24 LDR X8, [X8,#0x10]
.text:000000710083EA28 BLR X8
.text:000000710083EA2C LDARB W8, [X24]
.text:000000710083EA30 TBNZ W8, #0, loc_710083E418
.text:000000710083EA34
.text:000000710083EA34 loc_710083EA34 ; CODE XREF: calc_initial_damage_LA+634↑j
.text:000000710083EA34 ADRP X0, #off_7104279660@PAGE
.text:000000710083EA38 LDR X0, [X0,#off_7104279660@PAGEOFF] ; __guard *
.text:000000710083EA3C BL __cxa_guard_acquire_0
.text:000000710083EA40 CBZ W0, loc_710083E418
.text:000000710083EA44 ADRP X0, #off_71042796B0@PAGE
.text:000000710083EA48 ADRP X1, #off_7104279668@PAGE
.text:000000710083EA4C LDR X0, [X0,#off_71042796B0@PAGEOFF]
.text:000000710083EA50 LDR X1, [X1,#off_7104279668@PAGEOFF]
.text:000000710083EA54 ADRL X2, off_710401A000
.text:000000710083EA5C BL sub_7100000250
.text:000000710083EA60 ADRP X0, #off_7104279660@PAGE
.text:000000710083EA64 LDR X0, [X0,#off_7104279660@PAGEOFF] ; __guard *
.text:000000710083EA68 BL __cxa_guard_release_0
.text:000000710083EA6C B loc_710083E418
.text:000000710083EA70 ; ---------------------------------------------------------------------------
.text:000000710083EA70
.text:000000710083EA70 loc_710083EA70 ; CODE XREF: calc_initial_damage_LA+824↑j
.text:000000710083EA70 LDR X8, [X0]
.text:000000710083EA74 LDR X8, [X8,#0x10]
.text:000000710083EA78 BLR X8
.text:000000710083EA7C B loc_710083E608
.text:000000710083EA80 ; ---------------------------------------------------------------------------
.text:000000710083EA80
.text:000000710083EA80 loc_710083EA80 ; CODE XREF: calc_initial_damage_LA+93C↑j
.text:000000710083EA80 CMP X11, X8
.text:000000710083EA84 B.CC loc_710083EA90
.text:000000710083EA88 UDIV X12, X11, X8
.text:000000710083EA8C MSUB X11, X12, X8, X11
.text:000000710083EA90
.text:000000710083EA90 loc_710083EA90 ; CODE XREF: calc_initial_damage_LA+CA4↑j
.text:000000710083EA90 CMP X11, X9
.text:000000710083EA94 B.NE loc_710083EB80
.text:000000710083EA98
.text:000000710083EA98 loc_710083EA98 ; CODE XREF: calc_initial_damage_LA+948↑j
.text:000000710083EA98 LDR X10, [X10]
.text:000000710083EA9C CBNZ X10, loc_710083E714
.text:000000710083EAA0 B loc_710083EB80
.text:000000710083EAA4 ; ---------------------------------------------------------------------------
.text:000000710083EAA4
.text:000000710083EAA4 loc_710083EAA4 ; CODE XREF: calc_initial_damage_LA+AB4↑j
.text:000000710083EAA4 CMP X11, X8
.text:000000710083EAA8 B.CC loc_710083EAB4
.text:000000710083EAAC UDIV X12, X11, X8
.text:000000710083EAB0 MSUB X11, X12, X8, X11
.text:000000710083EAB4
.text:000000710083EAB4 loc_710083EAB4 ; CODE XREF: calc_initial_damage_LA+CC8↑j
.text:000000710083EAB4 CMP X11, X9
.text:000000710083EAB8 B.NE loc_710083EB80
.text:000000710083EABC
.text:000000710083EABC loc_710083EABC ; CODE XREF: calc_initial_damage_LA+AC0↑j
.text:000000710083EABC LDR X10, [X10]
.text:000000710083EAC0 CBNZ X10, loc_710083E88C
.text:000000710083EAC4 B loc_710083EB80
.text:000000710083EAC8 ; ---------------------------------------------------------------------------
.text:000000710083EAC8
.text:000000710083EAC8 loc_710083EAC8 ; CODE XREF: calc_initial_damage_LA+9B8↑j
.text:000000710083EAC8 SUB X11, X10, #1
.text:000000710083EACC AND X11, X11, X9
.text:000000710083EAD0 B loc_710083E7AC
.text:000000710083EAD4 ; ---------------------------------------------------------------------------
.text:000000710083EAD4
.text:000000710083EAD4 loc_710083EAD4 ; CODE XREF: calc_initial_damage_LA+9E4↑j
.text:000000710083EAD4 SUB X10, X10, #1
.text:000000710083EAD8
.text:000000710083EAD8 loc_710083EAD8 ; CODE XREF: calc_initial_damage_LA+D24↓j
.text:000000710083EAD8 LDR X13, [X12,#8]
.text:000000710083EADC CMP X13, X9
.text:000000710083EAE0 B.NE loc_710083EAF4
.text:000000710083EAE4 LDR X13, [X12,#0x10]
.text:000000710083EAE8 CMP X13, X9
.text:000000710083EAEC B.EQ loc_710083EB0C
.text:000000710083EAF0 B loc_710083EB00
.text:000000710083EAF4 ; ---------------------------------------------------------------------------
.text:000000710083EAF4
.text:000000710083EAF4 loc_710083EAF4 ; CODE XREF: calc_initial_damage_LA+D00↑j
.text:000000710083EAF4 AND X13, X13, X10
.text:000000710083EAF8 CMP X13, X11
.text:000000710083EAFC B.NE loc_710083EB10
.text:000000710083EB00
.text:000000710083EB00 loc_710083EB00 ; CODE XREF: calc_initial_damage_LA+D10↑j
.text:000000710083EB00 LDR X12, [X12]
.text:000000710083EB04 CBNZ X12, loc_710083EAD8
.text:000000710083EB08 B loc_710083EB10
.text:000000710083EB0C ; ---------------------------------------------------------------------------
.text:000000710083EB0C
.text:000000710083EB0C loc_710083EB0C ; CODE XREF: calc_initial_damage_LA+9FC↑j
.text:000000710083EB0C ; calc_initial_damage_LA+D0C↑j
.text:000000710083EB0C LDR S9, [X12,#0x30]
.text:000000710083EB10
.text:000000710083EB10 loc_710083EB10 ; CODE XREF: calc_initial_damage_LA+970↑j
.text:000000710083EB10 ; calc_initial_damage_LA+9D4↑j ...
.text:000000710083EB10 LDAXR W9, [X8]
.text:000000710083EB14 SUBS W9, W9, #1
.text:000000710083EB18 STLXR W10, W9, [X8]
.text:000000710083EB1C CBNZ W10, loc_710083EB10
.text:000000710083EB20 B loc_710083EB7C
.text:000000710083EB24 ; ---------------------------------------------------------------------------
.text:000000710083EB24
.text:000000710083EB24 loc_710083EB24 ; CODE XREF: calc_initial_damage_LA+B30↑j
.text:000000710083EB24 SUB X11, X10, #1
.text:000000710083EB28 AND X11, X11, X9
.text:000000710083EB2C B loc_710083E924
.text:000000710083EB30 ; ---------------------------------------------------------------------------
.text:000000710083EB30
.text:000000710083EB30 loc_710083EB30 ; CODE XREF: calc_initial_damage_LA+B5C↑j
.text:000000710083EB30 SUB X10, X10, #1
.text:000000710083EB34
.text:000000710083EB34 loc_710083EB34 ; CODE XREF: calc_initial_damage_LA+D80↓j
.text:000000710083EB34 LDR X13, [X12,#8]
.text:000000710083EB38 CMP X13, X9
.text:000000710083EB3C B.NE loc_710083EB50
.text:000000710083EB40 LDR X13, [X12,#0x10]
.text:000000710083EB44 CMP X13, X9
.text:000000710083EB48 B.EQ loc_710083EB68
.text:000000710083EB4C B loc_710083EB5C
.text:000000710083EB50 ; ---------------------------------------------------------------------------
.text:000000710083EB50
.text:000000710083EB50 loc_710083EB50 ; CODE XREF: calc_initial_damage_LA+D5C↑j
.text:000000710083EB50 AND X13, X13, X10
.text:000000710083EB54 CMP X13, X11
.text:000000710083EB58 B.NE loc_710083EB6C
.text:000000710083EB5C
.text:000000710083EB5C loc_710083EB5C ; CODE XREF: calc_initial_damage_LA+D6C↑j
.text:000000710083EB5C LDR X12, [X12]
.text:000000710083EB60 CBNZ X12, loc_710083EB34
.text:000000710083EB64 B loc_710083EB6C
.text:000000710083EB68 ; ---------------------------------------------------------------------------
.text:000000710083EB68
.text:000000710083EB68 loc_710083EB68 ; CODE XREF: calc_initial_damage_LA+B74↑j
.text:000000710083EB68 ; calc_initial_damage_LA+D68↑j
.text:000000710083EB68 LDR S9, [X12,#0x30]
.text:000000710083EB6C
.text:000000710083EB6C loc_710083EB6C ; CODE XREF: calc_initial_damage_LA+AE8↑j
.text:000000710083EB6C ; calc_initial_damage_LA+B4C↑j ...
.text:000000710083EB6C LDAXR W9, [X8]
.text:000000710083EB70 SUBS W9, W9, #1
.text:000000710083EB74 STLXR W10, W9, [X8]
.text:000000710083EB78 CBNZ W10, loc_710083EB6C
.text:000000710083EB7C
.text:000000710083EB7C loc_710083EB7C ; CODE XREF: calc_initial_damage_LA+D40↑j
.text:000000710083EB7C B.EQ loc_710083EF48
.text:000000710083EB80
.text:000000710083EB80 loc_710083EB80 ; CODE XREF: calc_initial_damage_LA+8C8↑j
.text:000000710083EB80 ; calc_initial_damage_LA+920↑j ...
.text:000000710083EB80 LDR W8, [X19,#0x14]
.text:000000710083EB84
.text:000000710083EB84 loc_710083EB84 ; CODE XREF: calc_initial_damage_LA+8A8↑j
.text:000000710083EB84 CMP W8, #1
.text:000000710083EB88 B.NE loc_710083EBA0
.text:000000710083EB8C
.text:000000710083EB8C loc_710083EB8C ; CODE XREF: calc_initial_damage_LA+DDC↓j
.text:000000710083EB8C ; calc_initial_damage_LA+E34↓j ...
.text:000000710083EB8C UCVTF S0, W20
.text:000000710083EB90 FMUL S0, S9, S0
.text:000000710083EB94 FMUL S1, S0, S8
.text:000000710083EB98 FCVTZU W20, S1
.text:000000710083EB9C B loc_710083E65C
.text:000000710083EBA0 ; ---------------------------------------------------------------------------
.text:000000710083EBA0
.text:000000710083EBA0 loc_710083EBA0 ; CODE XREF: calc_initial_damage_LA+DA8↑j
.text:000000710083EBA0 CBZ W8, loc_710083ED1C
.text:000000710083EBA4 LDARB W8, [X24]
.text:000000710083EBA8 TBZ W8, #0, loc_710083F168
.text:000000710083EBAC
.text:000000710083EBAC loc_710083EBAC ; CODE XREF: calc_initial_damage_LA+1394↓j
.text:000000710083EBAC ; calc_initial_damage_LA+13C0↓j
.text:000000710083EBAC LDR X10, [X22]
.text:000000710083EBB0 STR X10, [X23]
.text:000000710083EBB4 LDR X8, [X10,#0x60]
.text:000000710083EBB8 FMOV S8, WZR
.text:000000710083EBBC CBZ X8, loc_710083EB8C
.text:000000710083EBC0 LSR X9, X8, #1
.text:000000710083EBC4 AND X9, X9, #0x5555555555555555
.text:000000710083EBC8 SUB X9, X8, X9
.text:000000710083EBCC AND X11, X9, #0x3333333333333333
.text:000000710083EBD0 LSR X9, X9, #2
.text:000000710083EBD4 AND X9, X9, #0x3333333333333333
.text:000000710083EBD8 ADD X9, X11, X9
.text:000000710083EBDC MOV X11, #0x101010101010101
.text:000000710083EBE0 ADD X9, X9, X9,LSR#4
.text:000000710083EBE4 AND X9, X9, #0xF0F0F0F0F0F0F0F
.text:000000710083EBE8 MUL X9, X9, X11
.text:000000710083EBEC LSR X11, X9, #0x38 ; '8'
.text:000000710083EBF0 CMP X11, #1
.text:000000710083EBF4 B.LS loc_710083F1A4
.text:000000710083EBF8 CMP X8, X21
.text:000000710083EBFC MOV X9, X21
.text:000000710083EC00 B.HI loc_710083EC0C
.text:000000710083EC04 UDIV X9, X21, X8
.text:000000710083EC08 MSUB X9, X9, X8, X21
.text:000000710083EC0C
.text:000000710083EC0C loc_710083EC0C ; CODE XREF: calc_initial_damage_LA+E20↑j
.text:000000710083EC0C ; calc_initial_damage_LA+13CC↓j
.text:000000710083EC0C LDR X10, [X10,#0x58]
.text:000000710083EC10 LDR X10, [X10,X9,LSL#3]
.text:000000710083EC14 CBZ X10, loc_710083EB8C
.text:000000710083EC18 LDR X10, [X10]
.text:000000710083EC1C CBZ X10, loc_710083EB8C
.text:000000710083EC20 CMP X11, #1
.text:000000710083EC24 B.LS loc_710083F1B0
.text:000000710083EC28
.text:000000710083EC28 loc_710083EC28 ; CODE XREF: calc_initial_damage_LA+10D0↓j
.text:000000710083EC28 LDR X11, [X10,#8]
.text:000000710083EC2C CMP X11, X21
.text:000000710083EC30 B.NE loc_710083EE94
.text:000000710083EC34 LDR X11, [X10,#0x10]
.text:000000710083EC38 CMP X11, X21
.text:000000710083EC3C B.NE loc_710083EEAC
.text:000000710083EC40
.text:000000710083EC40 loc_710083EC40 ; CODE XREF: calc_initial_damage_LA+13E8↓j
.text:000000710083EC40 LDR X0, [X10,#0x18]
.text:000000710083EC44 CBZ X0, loc_710083EB8C
.text:000000710083EC48 ADD X8, X0, #0x50 ; 'P'
.text:000000710083EC4C
.text:000000710083EC4C loc_710083EC4C ; CODE XREF: calc_initial_damage_LA+E78↓j
.text:000000710083EC4C LDAXR W9, [X8]
.text:000000710083EC50 ADD W9, W9, #1
.text:000000710083EC54 STLXR W10, W9, [X8]
.text:000000710083EC58 CBNZ W10, loc_710083EC4C
.text:000000710083EC5C LDR X10, [X0,#0x108]
.text:000000710083EC60 FMOV S8, WZR
.text:000000710083EC64 CBZ X10, loc_710083EF00
.text:000000710083EC68 LSR X11, X10, #1
.text:000000710083EC6C AND X11, X11, #0x5555555555555555
.text:000000710083EC70 SUB X11, X10, X11
.text:000000710083EC74 AND X12, X11, #0x3333333333333333
.text:000000710083EC78 LSR X11, X11, #2
.text:000000710083EC7C AND X11, X11, #0x3333333333333333
.text:000000710083EC80 ADD X11, X12, X11
.text:000000710083EC84 MOV X12, #0x101010101010101
.text:000000710083EC88 ADD X11, X11, X11,LSR#4
.text:000000710083EC8C AND X11, X11, #0xF0F0F0F0F0F0F0F
.text:000000710083EC90 MUL X11, X11, X12
.text:000000710083EC94 MOV X9, #0x7FFFA5D75E18DE47
.text:000000710083ECA4 LSR X13, X11, #0x38 ; '8'
.text:000000710083ECA8 CMP X13, #1
.text:000000710083ECAC B.LS loc_710083EEB8
.text:000000710083ECB0 CMP X10, X9
.text:000000710083ECB4 B.HI loc_710083F328
.text:000000710083ECB8 UDIV X11, X9, X10
.text:000000710083ECBC MSUB X11, X11, X10, X9
.text:000000710083ECC0
.text:000000710083ECC0 loc_710083ECC0 ; CODE XREF: calc_initial_damage_LA+10E0↓j
.text:000000710083ECC0 ; calc_initial_damage_LA+154C↓j
.text:000000710083ECC0 LDR X12, [X0,#0x100]
.text:000000710083ECC4 LDR X12, [X12,X11,LSL#3]
.text:000000710083ECC8 CBZ X12, loc_710083EF00
.text:000000710083ECCC LDR X12, [X12]
.text:000000710083ECD0 CBZ X12, loc_710083EF00
.text:000000710083ECD4 CMP X13, #1
.text:000000710083ECD8 B.LS loc_710083EEC4
.text:000000710083ECDC
.text:000000710083ECDC loc_710083ECDC ; CODE XREF: calc_initial_damage_LA+F34↓j
.text:000000710083ECDC LDR X13, [X12,#8]
.text:000000710083ECE0 CMP X13, X9
.text:000000710083ECE4 B.NE loc_710083ECF8
.text:000000710083ECE8 LDR X13, [X12,#0x10]
.text:000000710083ECEC CMP X13, X9
.text:000000710083ECF0 B.EQ loc_710083EEFC
.text:000000710083ECF4 B loc_710083ED10
.text:000000710083ECF8 ; ---------------------------------------------------------------------------
.text:000000710083ECF8
.text:000000710083ECF8 loc_710083ECF8 ; CODE XREF: calc_initial_damage_LA+F04↑j
.text:000000710083ECF8 CMP X13, X10
.text:000000710083ECFC B.CC loc_710083ED08
.text:000000710083ED00 UDIV X14, X13, X10
.text:000000710083ED04 MSUB X13, X14, X10, X13
.text:000000710083ED08
.text:000000710083ED08 loc_710083ED08 ; CODE XREF: calc_initial_damage_LA+F1C↑j
.text:000000710083ED08 CMP X13, X11
.text:000000710083ED0C B.NE loc_710083EF00
.text:000000710083ED10
.text:000000710083ED10 loc_710083ED10 ; CODE XREF: calc_initial_damage_LA+F14↑j
.text:000000710083ED10 LDR X12, [X12]
.text:000000710083ED14 CBNZ X12, loc_710083ECDC
.text:000000710083ED18 B loc_710083EF00
.text:000000710083ED1C ; ---------------------------------------------------------------------------
.text:000000710083ED1C
.text:000000710083ED1C loc_710083ED1C ; CODE XREF: calc_initial_damage_LA:loc_710083EBA0↑j
.text:000000710083ED1C LDARB W8, [X24]
.text:000000710083ED20 TBZ W8, #0, loc_710083F238
.text:000000710083ED24
.text:000000710083ED24 loc_710083ED24 ; CODE XREF: calc_initial_damage_LA+1464↓j
.text:000000710083ED24 ; calc_initial_damage_LA+1490↓j
.text:000000710083ED24 LDR X10, [X22]
.text:000000710083ED28 STR X10, [X23]
.text:000000710083ED2C LDR X8, [X10,#0x60]
.text:000000710083ED30 FMOV S8, WZR
.text:000000710083ED34 CBZ X8, loc_710083EB8C
.text:000000710083ED38 LSR X9, X8, #1
.text:000000710083ED3C AND X9, X9, #0x5555555555555555
.text:000000710083ED40 SUB X9, X8, X9
.text:000000710083ED44 AND X11, X9, #0x3333333333333333
.text:000000710083ED48 LSR X9, X9, #2
.text:000000710083ED4C AND X9, X9, #0x3333333333333333
.text:000000710083ED50 ADD X9, X11, X9
.text:000000710083ED54 MOV X11, #0x101010101010101
.text:000000710083ED58 ADD X9, X9, X9,LSR#4
.text:000000710083ED5C AND X9, X9, #0xF0F0F0F0F0F0F0F
.text:000000710083ED60 MUL X9, X9, X11
.text:000000710083ED64 LSR X11, X9, #0x38 ; '8'
.text:000000710083ED68 CMP X11, #1
.text:000000710083ED6C B.LS loc_710083F274
.text:000000710083ED70 CMP X8, X21
.text:000000710083ED74 MOV X9, X21
.text:000000710083ED78 B.HI loc_710083ED84
.text:000000710083ED7C UDIV X9, X21, X8
.text:000000710083ED80 MSUB X9, X9, X8, X21
.text:000000710083ED84
.text:000000710083ED84 loc_710083ED84 ; CODE XREF: calc_initial_damage_LA+F98↑j
.text:000000710083ED84 ; calc_initial_damage_LA+149C↓j
.text:000000710083ED84 LDR X10, [X10,#0x58]
.text:000000710083ED88 LDR X10, [X10,X9,LSL#3]
.text:000000710083ED8C CBZ X10, loc_710083EB8C
.text:000000710083ED90 LDR X10, [X10]
.text:000000710083ED94 CBZ X10, loc_710083EB8C
.text:000000710083ED98 CMP X11, #1
.text:000000710083ED9C B.LS loc_710083F280
.text:000000710083EDA0
.text:000000710083EDA0 loc_710083EDA0 ; CODE XREF: calc_initial_damage_LA+1160↓j
.text:000000710083EDA0 LDR X11, [X10,#8]
.text:000000710083EDA4 CMP X11, X21
.text:000000710083EDA8 B.NE loc_710083EF24
.text:000000710083EDAC LDR X11, [X10,#0x10]
.text:000000710083EDB0 CMP X11, X21
.text:000000710083EDB4 B.NE loc_710083EF3C
.text:000000710083EDB8
.text:000000710083EDB8 loc_710083EDB8 ; CODE XREF: calc_initial_damage_LA+14B8↓j
.text:000000710083EDB8 LDR X0, [X10,#0x18]
.text:000000710083EDBC CBZ X0, loc_710083EB8C
.text:000000710083EDC0 ADD X8, X0, #0x50 ; 'P'
.text:000000710083EDC4
.text:000000710083EDC4 loc_710083EDC4 ; CODE XREF: calc_initial_damage_LA+FF0↓j
.text:000000710083EDC4 LDAXR W9, [X8]
.text:000000710083EDC8 ADD W9, W9, #1
.text:000000710083EDCC STLXR W10, W9, [X8]
.text:000000710083EDD0 CBNZ W10, loc_710083EDC4
.text:000000710083EDD4 LDR X10, [X0,#0x108]
.text:000000710083EDD8 FMOV S8, WZR
.text:000000710083EDDC CBZ X10, loc_710083EFA0
.text:000000710083EDE0 LSR X11, X10, #1
.text:000000710083EDE4 AND X11, X11, #0x5555555555555555
.text:000000710083EDE8 SUB X11, X10, X11
.text:000000710083EDEC AND X12, X11, #0x3333333333333333
.text:000000710083EDF0 LSR X11, X11, #2
.text:000000710083EDF4 AND X11, X11, #0x3333333333333333
.text:000000710083EDF8 ADD X11, X12, X11
.text:000000710083EDFC MOV X12, #0x101010101010101
.text:000000710083EE00 ADD X11, X11, X11,LSR#4
.text:000000710083EE04 AND X11, X11, #0xF0F0F0F0F0F0F0F
.text:000000710083EE08 MUL X11, X11, X12
.text:000000710083EE0C MOV X9, #0x74CF0C9C083F0690
.text:000000710083EE1C LSR X13, X11, #0x38 ; '8'
.text:000000710083EE20 CMP X13, #1
.text:000000710083EE24 B.LS loc_710083EF58
.text:000000710083EE28 CMP X10, X9
.text:000000710083EE2C B.HI loc_710083F338
.text:000000710083EE30 UDIV X11, X9, X10
.text:000000710083EE34 MSUB X11, X11, X10, X9
.text:000000710083EE38
.text:000000710083EE38 loc_710083EE38 ; CODE XREF: calc_initial_damage_LA+1180↓j
.text:000000710083EE38 ; calc_initial_damage_LA+155C↓j
.text:000000710083EE38 LDR X12, [X0,#0x100]
.text:000000710083EE3C LDR X12, [X12,X11,LSL#3]
.text:000000710083EE40 CBZ X12, loc_710083EFA0
.text:000000710083EE44 LDR X12, [X12]
.text:000000710083EE48 CBZ X12, loc_710083EFA0
.text:000000710083EE4C CMP X13, #1
.text:000000710083EE50 B.LS loc_710083EF64
.text:000000710083EE54
.text:000000710083EE54 loc_710083EE54 ; CODE XREF: calc_initial_damage_LA+10AC↓j
.text:000000710083EE54 LDR X13, [X12,#8]
.text:000000710083EE58 CMP X13, X9
.text:000000710083EE5C B.NE loc_710083EE70
.text:000000710083EE60 LDR X13, [X12,#0x10]
.text:000000710083EE64 CMP X13, X9
.text:000000710083EE68 B.EQ loc_710083EF9C
.text:000000710083EE6C B loc_710083EE88
.text:000000710083EE70 ; ---------------------------------------------------------------------------
.text:000000710083EE70
.text:000000710083EE70 loc_710083EE70 ; CODE XREF: calc_initial_damage_LA+107C↑j
.text:000000710083EE70 CMP X13, X10
.text:000000710083EE74 B.CC loc_710083EE80
.text:000000710083EE78 UDIV X14, X13, X10
.text:000000710083EE7C MSUB X13, X14, X10, X13
.text:000000710083EE80
.text:000000710083EE80 loc_710083EE80 ; CODE XREF: calc_initial_damage_LA+1094↑j
.text:000000710083EE80 CMP X13, X11
.text:000000710083EE84 B.NE loc_710083EFA0
.text:000000710083EE88
.text:000000710083EE88 loc_710083EE88 ; CODE XREF: calc_initial_damage_LA+108C↑j
.text:000000710083EE88 LDR X12, [X12]
.text:000000710083EE8C CBNZ X12, loc_710083EE54
.text:000000710083EE90 B loc_710083EFA0
.text:000000710083EE94 ; ---------------------------------------------------------------------------
.text:000000710083EE94
.text:000000710083EE94 loc_710083EE94 ; CODE XREF: calc_initial_damage_LA+E50↑j
.text:000000710083EE94 CMP X11, X8
.text:000000710083EE98 B.CC loc_710083EEA4
.text:000000710083EE9C UDIV X12, X11, X8
.text:000000710083EEA0 MSUB X11, X12, X8, X11
.text:000000710083EEA4
.text:000000710083EEA4 loc_710083EEA4 ; CODE XREF: calc_initial_damage_LA+10B8↑j
.text:000000710083EEA4 CMP X11, X9
.text:000000710083EEA8 B.NE loc_710083EB8C
.text:000000710083EEAC
.text:000000710083EEAC loc_710083EEAC ; CODE XREF: calc_initial_damage_LA+E5C↑j
.text:000000710083EEAC LDR X10, [X10]
.text:000000710083EEB0 CBNZ X10, loc_710083EC28
.text:000000710083EEB4 B loc_710083EB8C
.text:000000710083EEB8 ; ---------------------------------------------------------------------------
.text:000000710083EEB8
.text:000000710083EEB8 loc_710083EEB8 ; CODE XREF: calc_initial_damage_LA+ECC↑j
.text:000000710083EEB8 SUB X11, X10, #1
.text:000000710083EEBC AND X11, X11, X9
.text:000000710083EEC0 B loc_710083ECC0
.text:000000710083EEC4 ; ---------------------------------------------------------------------------
.text:000000710083EEC4
.text:000000710083EEC4 loc_710083EEC4 ; CODE XREF: calc_initial_damage_LA+EF8↑j
.text:000000710083EEC4 SUB X10, X10, #1
.text:000000710083EEC8
.text:000000710083EEC8 loc_710083EEC8 ; CODE XREF: calc_initial_damage_LA+1114↓j
.text:000000710083EEC8 LDR X13, [X12,#8]
.text:000000710083EECC CMP X13, X9
.text:000000710083EED0 B.NE loc_710083EEE4
.text:000000710083EED4 LDR X13, [X12,#0x10]
.text:000000710083EED8 CMP X13, X9
.text:000000710083EEDC B.EQ loc_710083EEFC
.text:000000710083EEE0 B loc_710083EEF0
.text:000000710083EEE4 ; ---------------------------------------------------------------------------
.text:000000710083EEE4
.text:000000710083EEE4 loc_710083EEE4 ; CODE XREF: calc_initial_damage_LA+10F0↑j
.text:000000710083EEE4 AND X13, X13, X10
.text:000000710083EEE8 CMP X13, X11
.text:000000710083EEEC B.NE loc_710083EF00
.text:000000710083EEF0
.text:000000710083EEF0 loc_710083EEF0 ; CODE XREF: calc_initial_damage_LA+1100↑j
.text:000000710083EEF0 LDR X12, [X12]
.text:000000710083EEF4 CBNZ X12, loc_710083EEC8
.text:000000710083EEF8 B loc_710083EF00
.text:000000710083EEFC ; ---------------------------------------------------------------------------
.text:000000710083EEFC
.text:000000710083EEFC loc_710083EEFC ; CODE XREF: calc_initial_damage_LA+F10↑j
.text:000000710083EEFC ; calc_initial_damage_LA+10FC↑j
.text:000000710083EEFC LDR S8, [X12,#0x30]
.text:000000710083EF00
.text:000000710083EF00 loc_710083EF00 ; CODE XREF: calc_initial_damage_LA+E84↑j
.text:000000710083EF00 ; calc_initial_damage_LA+EE8↑j ...
.text:000000710083EF00 LDAXR W9, [X8]
.text:000000710083EF04 SUBS W9, W9, #1
.text:000000710083EF08 STLXR W10, W9, [X8]
.text:000000710083EF0C CBNZ W10, loc_710083EF00
.text:000000710083EF10
.text:000000710083EF10 loc_710083EF10 ; CODE XREF: calc_initial_damage_LA+11D0↓j
.text:000000710083EF10 B.NE loc_710083EB8C
.text:000000710083EF14 LDR X8, [X0]
.text:000000710083EF18 LDR X8, [X8,#0x10]
.text:000000710083EF1C BLR X8
.text:000000710083EF20 B loc_710083EB8C
.text:000000710083EF24 ; ---------------------------------------------------------------------------
.text:000000710083EF24
.text:000000710083EF24 loc_710083EF24 ; CODE XREF: calc_initial_damage_LA+FC8↑j
.text:000000710083EF24 CMP X11, X8
.text:000000710083EF28 B.CC loc_710083EF34
.text:000000710083EF2C UDIV X12, X11, X8
.text:000000710083EF30 MSUB X11, X12, X8, X11
.text:000000710083EF34
.text:000000710083EF34 loc_710083EF34 ; CODE XREF: calc_initial_damage_LA+1148↑j
.text:000000710083EF34 CMP X11, X9
.text:000000710083EF38 B.NE loc_710083EB8C
.text:000000710083EF3C
.text:000000710083EF3C loc_710083EF3C ; CODE XREF: calc_initial_damage_LA+FD4↑j
.text:000000710083EF3C LDR X10, [X10]
.text:000000710083EF40 CBNZ X10, loc_710083EDA0
.text:000000710083EF44 B loc_710083EB8C
.text:000000710083EF48 ; ---------------------------------------------------------------------------
.text:000000710083EF48
.text:000000710083EF48 loc_710083EF48 ; CODE XREF: calc_initial_damage_LA:loc_710083EB7C↑j
.text:000000710083EF48 LDR X8, [X0]
.text:000000710083EF4C LDR X8, [X8,#0x10]
.text:000000710083EF50 BLR X8
.text:000000710083EF54 B loc_710083EB80
.text:000000710083EF58 ; ---------------------------------------------------------------------------
.text:000000710083EF58
.text:000000710083EF58 loc_710083EF58 ; CODE XREF: calc_initial_damage_LA+1044↑j
.text:000000710083EF58 SUB X11, X10, #1
.text:000000710083EF5C AND X11, X11, X9
.text:000000710083EF60 B loc_710083EE38
.text:000000710083EF64 ; ---------------------------------------------------------------------------
.text:000000710083EF64
.text:000000710083EF64 loc_710083EF64 ; CODE XREF: calc_initial_damage_LA+1070↑j
.text:000000710083EF64 SUB X10, X10, #1
.text:000000710083EF68
.text:000000710083EF68 loc_710083EF68 ; CODE XREF: calc_initial_damage_LA+11B4↓j
.text:000000710083EF68 LDR X13, [X12,#8]
.text:000000710083EF6C CMP X13, X9
.text:000000710083EF70 B.NE loc_710083EF84
.text:000000710083EF74 LDR X13, [X12,#0x10]
.text:000000710083EF78 CMP X13, X9
.text:000000710083EF7C B.EQ loc_710083EF9C
.text:000000710083EF80 B loc_710083EF90
.text:000000710083EF84 ; ---------------------------------------------------------------------------
.text:000000710083EF84
.text:000000710083EF84 loc_710083EF84 ; CODE XREF: calc_initial_damage_LA+1190↑j
.text:000000710083EF84 AND X13, X13, X10
.text:000000710083EF88 CMP X13, X11
.text:000000710083EF8C B.NE loc_710083EFA0
.text:000000710083EF90
.text:000000710083EF90 loc_710083EF90 ; CODE XREF: calc_initial_damage_LA+11A0↑j
.text:000000710083EF90 LDR X12, [X12]
.text:000000710083EF94 CBNZ X12, loc_710083EF68
.text:000000710083EF98 B loc_710083EFA0
.text:000000710083EF9C ; ---------------------------------------------------------------------------
.text:000000710083EF9C
.text:000000710083EF9C loc_710083EF9C ; CODE XREF: calc_initial_damage_LA+1088↑j
.text:000000710083EF9C ; calc_initial_damage_LA+119C↑j
.text:000000710083EF9C LDR S8, [X12,#48]
.text:000000710083EFA0
.text:000000710083EFA0 loc_710083EFA0 ; CODE XREF: calc_initial_damage_LA+FFC↑j
.text:000000710083EFA0 ; calc_initial_damage_LA+1060↑j ...
.text:000000710083EFA0 LDAXR W9, [X8]
.text:000000710083EFA4 SUBS W9, W9, #1
.text:000000710083EFA8 STLXR W10, W9, [X8]
.text:000000710083EFAC CBNZ W10, loc_710083EFA0
.text:000000710083EFB0 B loc_710083EF10
.text:000000710083EFB4 ; ---------------------------------------------------------------------------
.text:000000710083EFB4
.text:000000710083EFB4 loc_710083EFB4 ; CODE XREF: calc_initial_damage_LA+2C↑j
.text:000000710083EFB4 ADRP X0, #off_7104279660@PAGE
.text:000000710083EFB8 LDR X0, [X0,#off_7104279660@PAGEOFF] ; __guard *
.text:000000710083EFBC BL __cxa_guard_acquire_0
.text:000000710083EFC0 CBZ W0, loc_710083DE10
.text:000000710083EFC4 ADRP X0, #off_71042796B0@PAGE
.text:000000710083EFC8 ADRP X1, #off_7104279668@PAGE
.text:000000710083EFCC LDR X0, [X0,#off_71042796B0@PAGEOFF]
.text:000000710083EFD0 LDR X1, [X1,#off_7104279668@PAGEOFF]
.text:000000710083EFD4 ADRL X2, off_710401A000
.text:000000710083EFDC BL sub_7100000250
.text:000000710083EFE0 ADRP X0, #off_7104279660@PAGE
.text:000000710083EFE4 LDR X0, [X0,#off_7104279660@PAGEOFF] ; __guard *
.text:000000710083EFE8 BL __cxa_guard_release_0
.text:000000710083EFEC B loc_710083DE10
.text:000000710083EFF0 ; ---------------------------------------------------------------------------
.text:000000710083EFF0
.text:000000710083EFF0 loc_710083EFF0 ; CODE XREF: calc_initial_damage_LA+98↑j
.text:000000710083EFF0 SUB X9, X8, #1
.text:000000710083EFF4 AND X9, X9, X21
.text:000000710083EFF8 B loc_710083DE90
.text:000000710083EFFC ; ---------------------------------------------------------------------------
.text:000000710083EFFC
.text:000000710083EFFC loc_710083EFFC ; CODE XREF: calc_initial_damage_LA+290↑j
.text:000000710083EFFC SUB X9, X8, #1
.text:000000710083F000 AND X9, X9, X21
.text:000000710083F004 B loc_710083E088
.text:000000710083F008 ; ---------------------------------------------------------------------------
.text:000000710083F008
.text:000000710083F008 loc_710083F008 ; CODE XREF: calc_initial_damage_LA+488↑j
.text:000000710083F008 SUB X9, X8, #1
.text:000000710083F00C AND X9, X9, X21
.text:000000710083F010 B loc_710083E280
.text:000000710083F014 ; ---------------------------------------------------------------------------
.text:000000710083F014
.text:000000710083F014 loc_710083F014 ; CODE XREF: calc_initial_damage_LA+680↑j
.text:000000710083F014 SUB X9, X8, #1
.text:000000710083F018 AND X9, X9, X21
.text:000000710083F01C B loc_710083E478
.text:000000710083F020 ; ---------------------------------------------------------------------------
.text:000000710083F020
.text:000000710083F020 loc_710083F020 ; CODE XREF: calc_initial_damage_LA+C8↑j
.text:000000710083F020 SUB X8, X8, #1
.text:000000710083F024
.text:000000710083F024 loc_710083F024 ; CODE XREF: calc_initial_damage_LA+12D0↓j
.text:000000710083F024 LDR X11, [X10,#8]
.text:000000710083F028 CMP X11, X21
.text:000000710083F02C B.NE loc_710083F0A0
.text:000000710083F030 LDR X11, [X10,#0x10]
.text:000000710083F034 CMP X11, X21
.text:000000710083F038 B.EQ loc_710083DEC4
.text:000000710083F03C B loc_710083F0AC
.text:000000710083F040 ; ---------------------------------------------------------------------------
.text:000000710083F040
.text:000000710083F040 loc_710083F040 ; CODE XREF: calc_initial_damage_LA+2C0↑j
.text:000000710083F040 SUB X8, X8, #1
.text:000000710083F044
.text:000000710083F044 loc_710083F044 ; CODE XREF: calc_initial_damage_LA+12E8↓j
.text:000000710083F044 LDR X11, [X10,#8]
.text:000000710083F048 CMP X11, X21
.text:000000710083F04C B.NE loc_710083F0B8
.text:000000710083F050 LDR X11, [X10,#0x10]
.text:000000710083F054 CMP X11, X21
.text:000000710083F058 B.EQ loc_710083E0BC
.text:000000710083F05C B loc_710083F0C4
.text:000000710083F060 ; ---------------------------------------------------------------------------
.text:000000710083F060
.text:000000710083F060 loc_710083F060 ; CODE XREF: calc_initial_damage_LA+4B8↑j
.text:000000710083F060 SUB X8, X8, #1
.text:000000710083F064
.text:000000710083F064 loc_710083F064 ; CODE XREF: calc_initial_damage_LA+1300↓j
.text:000000710083F064 LDR X11, [X10,#8]
.text:000000710083F068 CMP X11, X21
.text:000000710083F06C B.NE loc_710083F0D0
.text:000000710083F070 LDR X11, [X10,#0x10]
.text:000000710083F074 CMP X11, X21
.text:000000710083F078 B.EQ loc_710083E2B4
.text:000000710083F07C B loc_710083F0DC
.text:000000710083F080 ; ---------------------------------------------------------------------------
.text:000000710083F080
.text:000000710083F080 loc_710083F080 ; CODE XREF: calc_initial_damage_LA+6B0↑j
.text:000000710083F080 SUB X8, X8, #1
.text:000000710083F084
.text:000000710083F084 loc_710083F084 ; CODE XREF: calc_initial_damage_LA+1318↓j
.text:000000710083F084 LDR X11, [X10,#8]
.text:000000710083F088 CMP X11, X21
.text:000000710083F08C B.NE loc_710083F0E8
.text:000000710083F090 LDR X11, [X10,#0x10]
.text:000000710083F094 CMP X11, X21
.text:000000710083F098 B.EQ loc_710083E4AC
.text:000000710083F09C B loc_710083F0F4
.text:000000710083F0A0 ; ---------------------------------------------------------------------------
.text:000000710083F0A0
.text:000000710083F0A0 loc_710083F0A0 ; CODE XREF: calc_initial_damage_LA+124C↑j
.text:000000710083F0A0 AND X11, X11, X8
.text:000000710083F0A4 CMP X11, X9
.text:000000710083F0A8 B.NE loc_710083E020
.text:000000710083F0AC
.text:000000710083F0AC loc_710083F0AC ; CODE XREF: calc_initial_damage_LA+125C↑j
.text:000000710083F0AC LDR X10, [X10]
.text:000000710083F0B0 CBNZ X10, loc_710083F024
.text:000000710083F0B4 B loc_710083E020
.text:000000710083F0B8 ; ---------------------------------------------------------------------------
.text:000000710083F0B8
.text:000000710083F0B8 loc_710083F0B8 ; CODE XREF: calc_initial_damage_LA+126C↑j
.text:000000710083F0B8 AND X11, X11, X8
.text:000000710083F0BC CMP X11, X9
.text:000000710083F0C0 B.NE loc_710083E218
.text:000000710083F0C4
.text:000000710083F0C4 loc_710083F0C4 ; CODE XREF: calc_initial_damage_LA+127C↑j
.text:000000710083F0C4 LDR X10, [X10]
.text:000000710083F0C8 CBNZ X10, loc_710083F044
.text:000000710083F0CC B loc_710083E218
.text:000000710083F0D0 ; ---------------------------------------------------------------------------
.text:000000710083F0D0
.text:000000710083F0D0 loc_710083F0D0 ; CODE XREF: calc_initial_damage_LA+128C↑j
.text:000000710083F0D0 AND X11, X11, X8
.text:000000710083F0D4 CMP X11, X9
.text:000000710083F0D8 B.NE loc_710083E410
.text:000000710083F0DC
.text:000000710083F0DC loc_710083F0DC ; CODE XREF: calc_initial_damage_LA+129C↑j
.text:000000710083F0DC LDR X10, [X10]
.text:000000710083F0E0 CBNZ X10, loc_710083F064
.text:000000710083F0E4 B loc_710083E410
.text:000000710083F0E8 ; ---------------------------------------------------------------------------
.text:000000710083F0E8
.text:000000710083F0E8 loc_710083F0E8 ; CODE XREF: calc_initial_damage_LA+12AC↑j
.text:000000710083F0E8 AND X11, X11, X8
.text:000000710083F0EC CMP X11, X9
.text:000000710083F0F0 B.NE loc_710083E608
.text:000000710083F0F4
.text:000000710083F0F4 loc_710083F0F4 ; CODE XREF: calc_initial_damage_LA+12BC↑j
.text:000000710083F0F4 LDR X10, [X10]
.text:000000710083F0F8 CBNZ X10, loc_710083F084
.text:000000710083F0FC B loc_710083E608
.text:000000710083F100 ; ---------------------------------------------------------------------------
.text:000000710083F100
.text:000000710083F100 loc_710083F100 ; CODE XREF: calc_initial_damage_LA+8B4↑j
.text:000000710083F100 ADRP X0, #off_7104279660@PAGE
.text:000000710083F104 LDR X0, [X0,#off_7104279660@PAGEOFF] ; __guard *
.text:000000710083F108 BL __cxa_guard_acquire_0
.text:000000710083F10C CBZ W0, loc_710083E698
.text:000000710083F110 ADRP X0, #off_71042796B0@PAGE
.text:000000710083F114 ADRP X1, #off_7104279668@PAGE
.text:000000710083F118 LDR X0, [X0,#off_71042796B0@PAGEOFF]
.text:000000710083F11C LDR X1, [X1,#off_7104279668@PAGEOFF]
.text:000000710083F120 ADRL X2, off_710401A000
.text:000000710083F128 BL sub_7100000250
.text:000000710083F12C ADRP X0, #off_7104279660@PAGE
.text:000000710083F130 LDR X0, [X0,#off_7104279660@PAGEOFF] ; __guard *
.text:000000710083F134 BL __cxa_guard_release_0
.text:000000710083F138 B loc_710083E698
.text:000000710083F13C ; ---------------------------------------------------------------------------
.text:000000710083F13C
.text:000000710083F13C loc_710083F13C ; CODE XREF: calc_initial_damage_LA+900↑j
.text:000000710083F13C SUB X9, X8, #1
.text:000000710083F140 AND X9, X9, X21
.text:000000710083F144 B loc_710083E6F8
.text:000000710083F148 ; ---------------------------------------------------------------------------
.text:000000710083F148
.text:000000710083F148 loc_710083F148 ; CODE XREF: calc_initial_damage_LA+930↑j
.text:000000710083F148 SUB X8, X8, #1
.text:000000710083F14C
.text:000000710083F14C loc_710083F14C ; CODE XREF: calc_initial_damage_LA+14D0↓j
.text:000000710083F14C LDR X11, [X10,#8]
.text:000000710083F150 CMP X11, X21
.text:000000710083F154 B.NE loc_710083F2A0
.text:000000710083F158 LDR X11, [X10,#0x10]
.text:000000710083F15C CMP X11, X21
.text:000000710083F160 B.EQ loc_710083E72C
.text:000000710083F164 B loc_710083F2AC
.text:000000710083F168 ; ---------------------------------------------------------------------------
.text:000000710083F168
.text:000000710083F168 loc_710083F168 ; CODE XREF: calc_initial_damage_LA+DC8↑j
.text:000000710083F168 ADRP X0, #off_7104279660@PAGE
.text:000000710083F16C LDR X0, [X0,#off_7104279660@PAGEOFF] ; __guard *
.text:000000710083F170 BL __cxa_guard_acquire_0
.text:000000710083F174 CBZ W0, loc_710083EBAC
.text:000000710083F178 ADRP X0, #off_71042796B0@PAGE
.text:000000710083F17C ADRP X1, #off_7104279668@PAGE
.text:000000710083F180 LDR X0, [X0,#off_71042796B0@PAGEOFF]
.text:000000710083F184 LDR X1, [X1,#off_7104279668@PAGEOFF]
.text:000000710083F188 ADRL X2, off_710401A000
.text:000000710083F190 BL sub_7100000250
.text:000000710083F194 ADRP X0, #off_7104279660@PAGE
.text:000000710083F198 LDR X0, [X0,#off_7104279660@PAGEOFF] ; __guard *
.text:000000710083F19C BL __cxa_guard_release_0
.text:000000710083F1A0 B loc_710083EBAC
.text:000000710083F1A4 ; ---------------------------------------------------------------------------
.text:000000710083F1A4
.text:000000710083F1A4 loc_710083F1A4 ; CODE XREF: calc_initial_damage_LA+E14↑j
.text:000000710083F1A4 SUB X9, X8, #1
.text:000000710083F1A8 AND X9, X9, X21
.text:000000710083F1AC B loc_710083EC0C
.text:000000710083F1B0 ; ---------------------------------------------------------------------------
.text:000000710083F1B0
.text:000000710083F1B0 loc_710083F1B0 ; CODE XREF: calc_initial_damage_LA+E44↑j
.text:000000710083F1B0 SUB X8, X8, #1
.text:000000710083F1B4
.text:000000710083F1B4 loc_710083F1B4 ; CODE XREF: calc_initial_damage_LA+14E8↓j
.text:000000710083F1B4 LDR X11, [X10,#8]
.text:000000710083F1B8 CMP X11, X21
.text:000000710083F1BC B.NE loc_710083F2B8
.text:000000710083F1C0 LDR X11, [X10,#0x10]
.text:000000710083F1C4 CMP X11, X21
.text:000000710083F1C8 B.EQ loc_710083EC40
.text:000000710083F1CC B loc_710083F2C4
.text:000000710083F1D0 ; ---------------------------------------------------------------------------
.text:000000710083F1D0
.text:000000710083F1D0 loc_710083F1D0 ; CODE XREF: calc_initial_damage_LA+A2C↑j
.text:000000710083F1D0 ADRP X0, #off_7104279660@PAGE
.text:000000710083F1D4 LDR X0, [X0,#off_7104279660@PAGEOFF] ; __guard *
.text:000000710083F1D8 BL __cxa_guard_acquire_0
.text:000000710083F1DC CBZ W0, loc_710083E810
.text:000000710083F1E0 ADRP X0, #off_71042796B0@PAGE
.text:000000710083F1E4 ADRP X1, #off_7104279668@PAGE
.text:000000710083F1E8 LDR X0, [X0,#off_71042796B0@PAGEOFF]
.text:000000710083F1EC LDR X1, [X1,#off_7104279668@PAGEOFF]
.text:000000710083F1F0 ADRL X2, off_710401A000
.text:000000710083F1F8 BL sub_7100000250
.text:000000710083F1FC ADRP X0, #off_7104279660@PAGE
.text:000000710083F200 LDR X0, [X0,#off_7104279660@PAGEOFF] ; __guard *
.text:000000710083F204 BL __cxa_guard_release_0
.text:000000710083F208 B loc_710083E810
.text:000000710083F20C ; ---------------------------------------------------------------------------
.text:000000710083F20C
.text:000000710083F20C loc_710083F20C ; CODE XREF: calc_initial_damage_LA+A78↑j
.text:000000710083F20C SUB X9, X8, #1
.text:000000710083F210 AND X9, X9, X21
.text:000000710083F214 B loc_710083E870
.text:000000710083F218 ; ---------------------------------------------------------------------------
.text:000000710083F218
.text:000000710083F218 loc_710083F218 ; CODE XREF: calc_initial_damage_LA+AA8↑j
.text:000000710083F218 SUB X8, X8, #1
.text:000000710083F21C
.text:000000710083F21C loc_710083F21C ; CODE XREF: calc_initial_damage_LA+1500↓j
.text:000000710083F21C LDR X11, [X10,#8]
.text:000000710083F220 CMP X11, X21
.text:000000710083F224 B.NE loc_710083F2D0
.text:000000710083F228 LDR X11, [X10,#0x10]
.text:000000710083F22C CMP X11, X21
.text:000000710083F230 B.EQ loc_710083E8A4
.text:000000710083F234 B loc_710083F2DC
.text:000000710083F238 ; ---------------------------------------------------------------------------
.text:000000710083F238
.text:000000710083F238 loc_710083F238 ; CODE XREF: calc_initial_damage_LA+F40↑j
.text:000000710083F238 ADRP X0, #off_7104279660@PAGE
.text:000000710083F23C LDR X0, [X0,#off_7104279660@PAGEOFF] ; __guard *
.text:000000710083F240 BL __cxa_guard_acquire_0
.text:000000710083F244 CBZ W0, loc_710083ED24
.text:000000710083F248 ADRP X0, #off_71042796B0@PAGE
.text:000000710083F24C ADRP X1, #off_7104279668@PAGE
.text:000000710083F250 LDR X0, [X0,#off_71042796B0@PAGEOFF]
.text:000000710083F254 LDR X1, [X1,#off_7104279668@PAGEOFF]
.text:000000710083F258 ADRL X2, off_710401A000
.text:000000710083F260 BL sub_7100000250
.text:000000710083F264 ADRP X0, #off_7104279660@PAGE
.text:000000710083F268 LDR X0, [X0,#off_7104279660@PAGEOFF] ; __guard *
.text:000000710083F26C BL __cxa_guard_release_0
.text:000000710083F270 B loc_710083ED24
.text:000000710083F274 ; ---------------------------------------------------------------------------
.text:000000710083F274
.text:000000710083F274 loc_710083F274 ; CODE XREF: calc_initial_damage_LA+F8C↑j
.text:000000710083F274 SUB X9, X8, #1
.text:000000710083F278 AND X9, X9, X21
.text:000000710083F27C B loc_710083ED84
.text:000000710083F280 ; ---------------------------------------------------------------------------
.text:000000710083F280
.text:000000710083F280 loc_710083F280 ; CODE XREF: calc_initial_damage_LA+FBC↑j
.text:000000710083F280 SUB X8, X8, #1
.text:000000710083F284
.text:000000710083F284 loc_710083F284 ; CODE XREF: calc_initial_damage_LA+1538↓j
.text:000000710083F284 LDR X11, [X10,#8]
.text:000000710083F288 CMP X11, X21
.text:000000710083F28C B.NE loc_710083F308
.text:000000710083F290 LDR X11, [X10,#0x10]
.text:000000710083F294 CMP X11, X21
.text:000000710083F298 B.EQ loc_710083EDB8
.text:000000710083F29C B loc_710083F314
.text:000000710083F2A0 ; ---------------------------------------------------------------------------
.text:000000710083F2A0
.text:000000710083F2A0 loc_710083F2A0 ; CODE XREF: calc_initial_damage_LA+1374↑j
.text:000000710083F2A0 AND X11, X11, X8
.text:000000710083F2A4 CMP X11, X9
.text:000000710083F2A8 B.NE loc_710083EB80
.text:000000710083F2AC
.text:000000710083F2AC loc_710083F2AC ; CODE XREF: calc_initial_damage_LA+1384↑j
.text:000000710083F2AC LDR X10, [X10]
.text:000000710083F2B0 CBNZ X10, loc_710083F14C
.text:000000710083F2B4 B loc_710083EB80
.text:000000710083F2B8 ; ---------------------------------------------------------------------------
.text:000000710083F2B8
.text:000000710083F2B8 loc_710083F2B8 ; CODE XREF: calc_initial_damage_LA+13DC↑j
.text:000000710083F2B8 AND X11, X11, X8
.text:000000710083F2BC CMP X11, X9
.text:000000710083F2C0 B.NE loc_710083EB8C
.text:000000710083F2C4
.text:000000710083F2C4 loc_710083F2C4 ; CODE XREF: calc_initial_damage_LA+13EC↑j
.text:000000710083F2C4 LDR X10, [X10]
.text:000000710083F2C8 CBNZ X10, loc_710083F1B4
.text:000000710083F2CC B loc_710083EB8C
.text:000000710083F2D0 ; ---------------------------------------------------------------------------
.text:000000710083F2D0
.text:000000710083F2D0 loc_710083F2D0 ; CODE XREF: calc_initial_damage_LA+1444↑j
.text:000000710083F2D0 AND X11, X11, X8
.text:000000710083F2D4 CMP X11, X9
.text:000000710083F2D8 B.NE loc_710083EB80
.text:000000710083F2DC
.text:000000710083F2DC loc_710083F2DC ; CODE XREF: calc_initial_damage_LA+1454↑j
.text:000000710083F2DC LDR X10, [X10]
.text:000000710083F2E0 CBNZ X10, loc_710083F21C
.text:000000710083F2E4 B loc_710083EB80
.text:000000710083F2E8 ; ---------------------------------------------------------------------------
.text:000000710083F2E8
.text:000000710083F2E8 loc_710083F2E8 ; CODE XREF: calc_initial_damage_LA+158↑j
.text:000000710083F2E8 MOV X11, X9
.text:000000710083F2EC B loc_710083DF44
.text:000000710083F2F0 ; ---------------------------------------------------------------------------
.text:000000710083F2F0
.text:000000710083F2F0 loc_710083F2F0 ; CODE XREF: calc_initial_damage_LA+350↑j
.text:000000710083F2F0 MOV X11, X9
.text:000000710083F2F4 B loc_710083E13C
.text:000000710083F2F8 ; ---------------------------------------------------------------------------
.text:000000710083F2F8
.text:000000710083F2F8 loc_710083F2F8 ; CODE XREF: calc_initial_damage_LA+548↑j
.text:000000710083F2F8 MOV X11, X9
.text:000000710083F2FC B loc_710083E334
.text:000000710083F300 ; ---------------------------------------------------------------------------
.text:000000710083F300
.text:000000710083F300 loc_710083F300 ; CODE XREF: calc_initial_damage_LA+740↑j
.text:000000710083F300 MOV X11, X9
.text:000000710083F304 B loc_710083E52C
.text:000000710083F308 ; ---------------------------------------------------------------------------
.text:000000710083F308
.text:000000710083F308 loc_710083F308 ; CODE XREF: calc_initial_damage_LA+14AC↑j
.text:000000710083F308 AND X11, X11, X8
.text:000000710083F30C CMP X11, X9
.text:000000710083F310 B.NE loc_710083EB8C
.text:000000710083F314
.text:000000710083F314 loc_710083F314 ; CODE XREF: calc_initial_damage_LA+14BC↑j
.text:000000710083F314 LDR X10, [X10]
.text:000000710083F318 CBNZ X10, loc_710083F284
.text:000000710083F31C B loc_710083EB8C
.text:000000710083F320 ; ---------------------------------------------------------------------------
.text:000000710083F320
.text:000000710083F320 loc_710083F320 ; CODE XREF: calc_initial_damage_LA+9C0↑j
.text:000000710083F320 MOV X11, X9
.text:000000710083F324 B loc_710083E7AC
.text:000000710083F328 ; ---------------------------------------------------------------------------
.text:000000710083F328
.text:000000710083F328 loc_710083F328 ; CODE XREF: calc_initial_damage_LA+ED4↑j
.text:000000710083F328 MOV X11, X9
.text:000000710083F32C B loc_710083ECC0
.text:000000710083F330 ; ---------------------------------------------------------------------------
.text:000000710083F330
.text:000000710083F330 loc_710083F330 ; CODE XREF: calc_initial_damage_LA+B38↑j
.text:000000710083F330 MOV X11, X9
.text:000000710083F334 B loc_710083E924
.text:000000710083F338 ; ---------------------------------------------------------------------------
.text:000000710083F338
.text:000000710083F338 loc_710083F338 ; CODE XREF: calc_initial_damage_LA+104C↑j
.text:000000710083F338 MOV X11, X9
.text:000000710083F33C B loc_710083EE38
.text:000000710083F33C ; End of function calc_initial_damage_LA
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment