Skip to content

Instantly share code, notes, and snippets.

@Lusamine
Created August 1, 2022 03:01
Show Gist options
  • Save Lusamine/af0ba1b4b02d215387cf6cab2ab38a0f to your computer and use it in GitHub Desktop.
Save Lusamine/af0ba1b4b02d215387cf6cab2ab38a0f to your computer and use it in GitHub Desktop.
bool __fastcall calc_attack_damage(
_QWORD *a1,
__int64 a2,
_BYTE *a3,
unsigned int *a4,
unsigned int a5,
int unknown_mod,
bool is_critical,
char a8,
char a9,
char a10,
__int16 *a11)
{
_QWORD *v14; // x8
__int64 *v15; // x19
__int64 v16; // x9
unsigned int v17; // w10
__int64 v18; // x11
__int64 v19; // x9
unsigned int v20; // w10
__int16 *v21; // x26
__int64 v22; // x27
__int64 v23; // x8
unsigned __int64 v24; // x9
int v25; // w10
__int64 v26; // x11
unsigned __int64 v27; // x13
unsigned __int64 v28; // x12
__int64 v29; // x13
int v30; // w14
__int64 v31; // x11
__int64 v32; // x11
__int64 v33; // x12
__int64 v34; // x10
__int64 v35; // x12
int v36; // w13
__int64 v37; // x10
__int64 v38; // x11
unsigned int v39; // w10
int v40; // w12
__int64 v41; // x8
int v42; // w8
__int64 v43; // x9
__int64 v44; // x24
__int64 v45; // x0
int v46; // w8
__int64 i; // x8
_QWORD *v48; // x20
__int64 v49; // x8
int v50; // w24
__int64 v51; // x25
__int64 v52; // x8
__int64 v53; // x8
__int64 v54; // x8
__int64 *v55; // x25
int v56; // w9
__int64 v57; // x9
__int64 v58; // x10
int v59; // w11
__int64 v60; // x9
__int64 v61; // x9
__int64 v62; // x8
__int64 v63; // x9
unsigned int v64; // w10
__int64 v65; // x11
__int64 v66; // x9
unsigned int v67; // w10
__int64 v68; // x27
__int64 v69; // x8
unsigned __int64 v70; // x9
__int64 v71; // x10
unsigned __int64 v72; // x12
unsigned __int64 v73; // x11
__int64 v74; // x12
int v75; // w13
__int64 v76; // x10
int v77; // w10
__int64 v78; // x12
__int64 v79; // x13
__int64 v80; // x11
__int64 v81; // x13
int v82; // w14
__int64 v83; // x11
int v84; // w10
__int64 v85; // x12
__int64 v86; // x13
__int64 v87; // x11
__int64 v88; // x13
int v89; // w14
__int64 v90; // x11
__int64 v91; // x12
__int64 v92; // x13
__int64 v93; // x11
__int64 v94; // x13
int v95; // w14
__int64 v96; // x11
int v97; // w10
__int64 v98; // x12
__int64 v99; // x13
__int64 v100; // x11
__int64 v101; // x13
int v102; // w14
__int64 v103; // x11
int v104; // w10
__int64 v105; // x12
__int64 v106; // x13
__int64 v107; // x11
__int64 v108; // x13
int v109; // w14
__int64 v110; // x11
int v111; // w10
__int64 v112; // x12
__int64 v113; // x13
__int64 v114; // x11
__int64 v115; // x13
int v116; // w14
__int64 v117; // x11
unsigned int v118; // w10
__int64 v119; // x12
__int64 v120; // x13
__int64 v121; // x11
__int64 v122; // x13
int v123; // w14
__int64 v124; // x11
unsigned int v125; // w10
__int64 v126; // x12
__int64 v127; // x13
__int64 v128; // x11
__int64 v129; // x13
int v130; // w14
__int64 v131; // x11
__int64 v132; // x12
__int64 v133; // x13
__int64 v134; // x11
__int64 v135; // x13
int v136; // w14
__int64 v137; // x11
__int64 v138; // x12
__int64 v139; // x13
__int64 v140; // x11
__int64 v141; // x13
int v142; // w14
__int64 v143; // x11
__int64 v144; // x11
__int64 v145; // x12
__int64 v146; // x10
__int64 v147; // x12
int v148; // w13
__int64 v149; // x10
__int64 v150; // x11
__int64 v151; // x12
__int64 v152; // x10
__int64 v153; // x12
int v154; // w13
__int64 v155; // x10
__int64 v156; // x11
unsigned int v157; // w10
int v158; // w12
__int64 v159; // x8
int v160; // w8
__int64 v161; // x9
__int64 v162; // x24
__int64 v163; // x0
int v164; // w8
__int64 j; // x8
__int64 v166; // x27
__int64 v167; // x9
int v168; // w8
__int64 v169; // x24
__int64 v170; // x0
int v171; // w8
__int64 k; // x8
__int64 v173; // x27
_QWORD *v174; // x9
__int64 v175; // x8
__int64 v176; // x10
__int64 v177; // x9
int v178; // w24
unsigned int v179; // w23
__int64 v180; // x9
unsigned int v181; // w10
int v182; // w8
__int64 v183; // x11
__int64 v184; // x9
unsigned int v185; // w10
__int64 v186; // x27
__int64 v187; // x9
unsigned __int64 v188; // x10
int v189; // w11
__int64 v190; // x12
unsigned __int64 v191; // x14
unsigned __int64 v192; // x13
__int64 v193; // x14
int v194; // w15
__int64 v195; // x12
int v196; // w11
__int64 v197; // x13
__int64 v198; // x14
__int64 v199; // x12
__int64 v200; // x14
int v201; // w15
__int64 v202; // x12
int v203; // w11
__int64 v204; // x13
__int64 v205; // x14
__int64 v206; // x12
__int64 v207; // x14
int v208; // w15
__int64 v209; // x12
int v210; // w11
__int64 v211; // x13
__int64 v212; // x14
__int64 v213; // x12
__int64 v214; // x14
int v215; // w15
__int64 v216; // x12
unsigned int v217; // w11
__int64 v218; // x13
__int64 v219; // x14
__int64 v220; // x12
__int64 v221; // x14
int v222; // w15
__int64 v223; // x12
unsigned int v224; // w11
__int64 v225; // x13
__int64 v226; // x14
__int64 v227; // x12
__int64 v228; // x14
int v229; // w15
__int64 v230; // x12
int v231; // w11
__int64 v232; // x13
__int64 v233; // x14
__int64 v234; // x12
__int64 v235; // x14
int v236; // w15
__int64 v237; // x12
__int64 v238; // x12
__int64 v239; // x13
__int64 v240; // x11
__int64 v241; // x13
int v242; // w14
__int64 v243; // x11
__int64 v244; // x12
__int64 v245; // x13
__int64 v246; // x11
__int64 v247; // x13
int v248; // w14
__int64 v249; // x11
__int64 v250; // x12
unsigned int v251; // w11
int v252; // w13
__int64 v253; // x9
int v254; // w8
__int64 v255; // x9
__int64 v256; // x24
__int64 v257; // x0
int v258; // w8
__int64 m; // x8
__int64 v260; // x27
__int64 v261; // x8
unsigned __int64 v262; // x11
__int64 v263; // x10
unsigned int v264; // w9
int v265; // w12
__int64 v266; // x8
int v267; // w8
__int64 v268; // x9
__int64 v269; // x24
__int64 v270; // x0
int v271; // w8
__int64 n; // x8
_QWORD *v273; // x24
__int64 v274; // x8
__int64 v275; // x9
int v276; // w20
__int64 v277; // x8
unsigned int v278; // w23
__int64 v279; // x25
__int64 v280; // x8
__int64 v281; // x8
__int64 v282; // x8
int v283; // w9
__int64 v284; // x9
__int64 v285; // x10
int v286; // w11
__int64 v287; // x9
__int64 v288; // x9
__int64 (__fastcall ***v289)(); // x8
void **v290; // x8
__int64 (__fastcall **v291)(); // x9
__int64 (__fastcall **v292)(); // t1
__int64 v293; // x13
int *v294; // x8
unsigned __int16 *v295; // x9
__int64 v296; // x9
int v297; // w8
__int64 v298; // x8
__int64 v299; // x9
unsigned int v300; // w10
__int64 v301; // x11
__int64 v302; // x9
unsigned int v303; // w10
__int64 v304; // x27
__int64 v305; // x8
unsigned __int64 v306; // x9
int v307; // w10
__int64 v308; // x11
unsigned __int64 v309; // x13
unsigned __int64 v310; // x12
__int64 v311; // x13
int v312; // w14
__int64 v313; // x11
int v314; // w10
__int64 v315; // x12
__int64 v316; // x13
__int64 v317; // x11
__int64 v318; // x13
int v319; // w14
__int64 v320; // x11
__int64 v321; // x11
__int64 v322; // x12
__int64 v323; // x10
__int64 v324; // x12
int v325; // w13
__int64 v326; // x10
__int64 v327; // x11
unsigned int v328; // w10
int v329; // w12
__int64 v330; // x8
int v331; // w8
__int64 v332; // x9
__int64 v333; // x24
__int64 v334; // x0
int v335; // w8
__int64 ii; // x8
_QWORD *v337; // x9
__int64 v338; // x8
__int64 v339; // x10
int v340; // w20
__int64 v341; // x8
__int64 v342; // x27
unsigned int v343; // w10
int v344; // w8
__int64 v345; // x10
unsigned int v346; // w11
__int64 v347; // x12
__int64 v348; // x10
unsigned int v349; // w11
__int64 v350; // x28
__int64 v351; // x9
unsigned __int64 v352; // x10
int v353; // w11
__int64 v354; // x12
unsigned __int64 v355; // x14
unsigned __int64 v356; // x13
__int64 v357; // x14
int v358; // w15
__int64 v359; // x12
int v360; // w11
__int64 v361; // x13
__int64 v362; // x14
__int64 v363; // x12
__int64 v364; // x14
int v365; // w15
__int64 v366; // x12
__int64 v367; // x12
unsigned int v368; // w11
int v369; // w13
__int64 v370; // x9
int v371; // w8
__int64 v372; // x9
__int64 v373; // x23
__int64 v374; // x0
int v375; // w8
__int64 jj; // x8
_QWORD *v377; // x23
__int64 v378; // x8
unsigned int v379; // w28
__int64 v380; // x24
__int64 v381; // x8
__int64 v382; // x8
__int64 v383; // x8
int v384; // w9
__int64 v385; // x9
__int64 v386; // x10
int v387; // w11
__int64 v388; // x9
__int64 v389; // x9
unsigned __int16 v390; // w0
__int64 v391; // x0
__int64 v392; // x1
__int64 v393; // x27
int v394; // w10
__int64 v395; // x8
unsigned __int64 v396; // x9
__int64 v397; // x11
unsigned __int64 v398; // x13
unsigned __int64 v399; // x12
__int64 v400; // x13
int v401; // w14
__int64 v402; // x11
int v403; // w10
__int64 v404; // x12
__int64 v405; // x13
__int64 v406; // x11
__int64 v407; // x13
int v408; // w14
__int64 v409; // x11
unsigned int v410; // w10
__int64 v411; // x12
__int64 v412; // x13
__int64 v413; // x11
__int64 v414; // x13
int v415; // w14
__int64 v416; // x11
__int64 v417; // x12
__int64 v418; // x13
__int64 v419; // x11
__int64 v420; // x13
int v421; // w14
__int64 v422; // x11
__int64 v423; // x11
__int64 v424; // x12
__int64 v425; // x10
__int64 v426; // x12
int v427; // w13
__int64 v428; // x10
__int64 v429; // x11
unsigned int v430; // w10
int v431; // w12
__int64 v432; // x8
int v433; // w8
__int64 v434; // x9
__int64 v435; // x23
__int64 v436; // x0
int v437; // w8
__int64 kk; // x8
_QWORD *v439; // x24
_QWORD *v440; // x8
__int64 v441; // x9
int v442; // w20
__int64 v443; // x9
int v444; // w23
__int64 v445; // x8
__int64 v446; // x25
__int64 v447; // x8
__int64 v448; // x8
__int64 v449; // x8
int v450; // w9
__int64 v451; // x9
__int64 v452; // x10
int v453; // w11
__int64 v454; // x9
__int64 v455; // x9
unsigned int v456; // w25
unsigned int v457; // w15
unsigned int v458; // w27
__int64 v459; // x8
__int64 v460; // x8
__int64 v461; // x9
unsigned int v462; // w10
__int64 v463; // x11
__int64 v464; // x9
unsigned int v465; // w10
__int64 v466; // x28
int v467; // w10
__int64 v468; // x8
unsigned __int64 v469; // x9
__int64 v470; // x11
unsigned __int64 v471; // x13
unsigned __int64 v472; // x12
__int64 v473; // x13
int v474; // w14
__int64 v475; // x11
int v476; // w10
__int64 v477; // x12
__int64 v478; // x13
__int64 v479; // x11
__int64 v480; // x13
int v481; // w14
__int64 v482; // x11
__int64 v483; // x11
__int64 v484; // x12
__int64 v485; // x10
__int64 v486; // x12
int v487; // w13
__int64 v488; // x10
__int64 v489; // x11
__int64 v490; // x12
__int64 v491; // x10
__int64 v492; // x12
int v493; // w13
__int64 v494; // x10
__int64 v495; // x11
unsigned int v496; // w10
int v497; // w12
__int64 v498; // x8
int v499; // w8
__int64 v500; // x9
__int64 v501; // x23
__int64 v502; // x0
int v503; // w8
__int64 mm; // x8
_QWORD *v505; // x28
__int64 v506; // x8
__int64 v507; // x9
int v508; // w23
__int64 v509; // x8
int v510; // w24
__int64 v511; // x26
__int64 v512; // x8
__int64 v513; // x8
__int64 v514; // x8
__int64 v515; // x8
int v516; // w9
__int64 v517; // x9
__int64 v518; // x10
int v519; // w11
__int64 v520; // x9
__int64 v521; // x9
bool v522; // zf
__int16 v523; // w0
unsigned int v524; // w28
int v525; // w9
int v526; // w8
bool v527; // w10
int v528; // w11
int v529; // w10
__int64 v530; // x8
__int64 v531; // x9
unsigned int v532; // w10
__int64 v533; // x11
__int64 v534; // x9
unsigned int v535; // w10
int v536; // w10
__int64 v537; // x27
__int64 v538; // x8
unsigned __int64 v539; // x9
__int64 v540; // x11
unsigned __int64 v541; // x13
unsigned __int64 v542; // x12
__int64 v543; // x13
int v544; // w14
__int64 v545; // x11
int v546; // w10
__int64 v547; // x12
__int64 v548; // x13
__int64 v549; // x11
__int64 v550; // x13
int v551; // w14
__int64 v552; // x11
int v553; // w10
__int64 v554; // x12
__int64 v555; // x13
__int64 v556; // x11
__int64 v557; // x13
int v558; // w14
__int64 v559; // x11
int v560; // w10
__int64 v561; // x12
__int64 v562; // x13
__int64 v563; // x11
__int64 v564; // x13
int v565; // w14
__int64 v566; // x11
__int64 v567; // x11
__int64 v568; // x12
__int64 v569; // x10
__int64 v570; // x12
int v571; // w13
__int64 v572; // x10
__int64 *v573; // x20
__int64 v574; // x12
__int64 v575; // x13
__int64 v576; // x11
__int64 v577; // x13
int v578; // w14
__int64 v579; // x11
__int64 v580; // x11
unsigned int v581; // w10
int v582; // w12
__int64 v583; // x8
int v584; // w8
__int64 v585; // x9
__int64 v586; // x23
__int64 v587; // x0
int v588; // w8
__int64 nn; // x8
_QWORD *v590; // x24
__int64 v591; // x8
__int64 v592; // x9
int v593; // w20
__int64 v594; // x8
int v595; // w23
__int64 v596; // x25
__int64 v597; // x8
__int64 v598; // x8
__int64 v599; // x8
__int64 v600; // x8
int v601; // w9
__int64 v602; // x9
__int64 v603; // x10
int v604; // w11
__int64 v605; // x9
__int64 v606; // x9
unsigned __int16 v607; // w20
uint v608; // w9 MAPDST
__int64 v609; // x20
unsigned int damage_initial; // w0 MAPDST
__int64 *v612; // x26
unsigned int *v613; // x8
unsigned int v614; // w9
int rain_fire_damage_mod; // w20
unsigned int *v616; // x8
unsigned int v617; // w9
unsigned int v618; // w9
float v619; // s0
float v620; // s1
bool v621; // cc
float v622; // s0
int rain_fire_damage_mod_4096; // w8
unsigned int v624; // w8
unsigned int v625; // w9
unsigned int v626; // w8
int damage_roll_multiplier; // w8
__int64 v628; // x8
__int64 v629; // x9
__int64 v630; // x10
char v631; // w11
__int64 v632; // x10
int v633; // w9
unsigned int v634; // w24
int v635; // w11
int v636; // w10
bool v637; // w8
int v638; // w12
int v639; // w8
_BOOL4 v640; // w8
__int64 v641; // x9
__int64 v642; // x10
unsigned int v643; // w11
__int64 v644; // x12
__int64 v645; // x10
unsigned int v646; // w11
__int64 v647; // x25
__int64 v648; // x9
unsigned __int64 v649; // x10
int v650; // w11
__int64 v651; // x12
unsigned __int64 v652; // x14
unsigned __int64 v653; // x13
__int64 v654; // x14
int v655; // w15
__int64 v656; // x12
__int64 v657; // x12
unsigned int v658; // w11
int v659; // w13
__int64 v660; // x9
int v661; // w8
__int64 v662; // x9
__int64 v663; // x23
__int64 v664; // x0
int v665; // w8
__int64 i2; // x8
__int64 v667; // x25
__int64 v668; // x9
int v669; // w8
_BOOL4 v670; // w11
__int64 v671; // x9
unsigned __int64 v672; // x10
__int64 v673; // x12
unsigned __int64 v674; // x14
unsigned __int64 v675; // x13
__int64 v676; // x14
int v677; // w15
__int64 v678; // x12
__int64 v679; // x12
unsigned int v680; // w11
int v681; // w13
__int64 v682; // x9
int v683; // w8
__int64 v684; // x9
__int64 v685; // x23
__int64 v686; // x0
int v687; // w8
__int64 i3; // x8
_QWORD *v689; // x23
__int64 v690; // x8
int stab_modifier; // w20
__int64 v692; // x25
__int64 v693; // x8
__int64 v694; // x8
__int64 v695; // x8
__int64 v696; // x8
int v697; // w9
__int64 v698; // x9
__int64 v699; // x10
int v700; // w11
__int64 v701; // x9
__int64 v702; // x9
unsigned int v703; // w8
unsigned int v704; // w9
unsigned int v705; // w8
int damage_after_effectiveness; // w0 MAPDST
unsigned int v707; // w8
__int64 *v709; // x24
unsigned int *v710; // x8
unsigned int v711; // w9
int burn_physical_damage_mod; // w20
unsigned int *v713; // x8
unsigned int v714; // w9
unsigned int v715; // w9
unsigned int v716; // w8
__int64 *v717; // x24
unsigned int *v718; // x8
unsigned int v719; // w9
int frostbite_special_damage_mod; // w20
unsigned int *v721; // x8
unsigned int v722; // w9
unsigned int v723; // w9
unsigned int v724; // w8
__int64 *v725; // x24
unsigned int *v726; // x8
unsigned int v727; // w9
int drowsy_damage_mod; // w20
unsigned int *v729; // x8
unsigned int v730; // w9
unsigned int v731; // w9
unsigned int v732; // w8
unsigned __int64 v733; // x8
unsigned __int64 v734; // x8
__int64 *v735; // x22
unsigned int *v736; // x8
unsigned int v737; // w9
int fixated_offensive_damage_mod; // w20
unsigned int *v739; // x8
unsigned int v740; // w9
unsigned int v741; // w9
__int64 *v742; // x20
unsigned int *v743; // x8
unsigned int v744; // w9
int fixated_defensive_damage_mod; // w21
unsigned int *v746; // x8
unsigned int v747; // w9
unsigned int v748; // w9
unsigned __int64 v749; // x8
int v750; // w9
int primed_mod; // w8
__int64 (__fastcall ***v752)(); // x8
void **v753; // x8
__int64 (__fastcall **v754)(); // x9
__int64 (__fastcall **v755)(); // t1
int *v756; // x8
unsigned __int16 *v757; // x9
__int64 v758; // x9
__int64 v759; // x19
__int64 v760; // x8
unsigned __int64 v761; // x9
__int64 v762; // x10
unsigned __int64 v763; // x12
unsigned __int64 v764; // x11
__int64 v765; // x12
int v766; // w13
__int64 v767; // x10
__int64 v768; // x11
__int64 v769; // x12
__int64 v770; // x10
__int64 v771; // x12
int v772; // w13
__int64 v773; // x10
__int64 v774; // x11
__int64 v775; // x12
__int64 v776; // x10
__int64 v777; // x12
int v778; // w13
__int64 v779; // x10
__int64 v780; // x11
unsigned int v781; // w10
int v782; // w12
__int64 v783; // x8
int v784; // w8
__int64 v785; // x9
__int64 v786; // x21
__int64 v787; // x0
int v788; // w8
__int64 i1; // x8
__int64 v790; // x9
__int64 v791; // x8
unsigned int v792; // w8
unsigned int v793; // w9
unsigned int v794; // w8
int v795; // w8
__int64 v796; // x9
_BOOL4 v797; // w21
int v798; // w8
__int64 v799; // x20
__int64 v800; // x0
int v801; // w8
__int64 i4; // x8
_QWORD *v803; // x19
__int64 v804; // x20
__int64 v805; // x8
__int64 v806; // x8
__int64 v807; // x8
int v808; // w9
__int64 v809; // x9
__int64 v810; // x10
int v811; // w11
__int64 v812; // x9
__int64 v813; // x9
_BOOL8 result; // x0
__int16 v815; // w8
_BOOL4 v816; // [xsp+0h] [xbp-7B0h]
unsigned __int16 v817; // [xsp+4h] [xbp-7ACh]
unsigned __int16 v818; // [xsp+8h] [xbp-7A8h]
int v819; // [xsp+10h] [xbp-7A0h]
__int64 v825; // [xsp+40h] [xbp-770h]
__int64 v826; // [xsp+50h] [xbp-760h] BYREF
int v827; // [xsp+58h] [xbp-758h]
int v829; // [xsp+60h] [xbp-750h]
int v830; // [xsp+64h] [xbp-74Ch]
int v831; // [xsp+718h] [xbp-98h]
int v832; // [xsp+724h] [xbp-8Ch]
int v833; // [xsp+72Ch] [xbp-84h]
int v834; // [xsp+73Ch] [xbp-74h]
int v835; // [xsp+740h] [xbp-70h]
int v836; // [xsp+744h] [xbp-6Ch]
v15 = a1 + 2;
v14 = (_QWORD *)a1[2];
v16 = v14[6];
v17 = *(_DWORD *)(v16 + 3080);
if ( v17 <= 0x5F )
{
while ( 1 )
{
v18 = *(_QWORD *)(v16 + 32LL * v17 + 8);
if ( !*(_WORD *)(v18 + 8) )
break;
*(_DWORD *)(v16 + 3080) = ++v17;
if ( v17 == 96 )
goto LABEL_7;
}
if ( v17 <= 0x5E )
{
*(_WORD *)(v18 + 8) = 1;
++*(_DWORD *)(v16 + 3080);
}
}
LABEL_7:
v19 = v14[10];
v20 = *(_DWORD *)(v19 + 1032);
v21 = a11;
if ( v20 <= 0x1E )
{
*(_DWORD *)(v19 + 1032) = v20 + 1;
v19 = v14[10];
v20 = *(_DWORD *)(v19 + 1032);
}
v14[14] = *(_QWORD *)(v19 + 32LL * v20 + 8);
v22 = *v15;
v23 = *(_QWORD *)(*v15 + 48);
v24 = *(unsigned int *)(v23 + 3080);
v25 = (unsigned __int8)a3[125];
v26 = (32 * v24) | 8;
v27 = v24;
while ( v27 <= 0x5F )
{
v28 = v27;
v29 = *(_QWORD *)(v23 + v26);
v30 = *(unsigned __int16 *)(v29 + 8);
if ( *(_WORD *)(v29 + 8) )
{
v27 = v28 + 1;
v26 += 32LL;
if ( v30 != 2 )
continue;
}
v31 = *(_QWORD *)(v23 + 32LL * (unsigned int)v28 + 8);
if ( v31 )
{
*(_WORD *)(v31 + 8) = 2;
*(_DWORD *)(v31 + 12) = v25;
*(_BYTE *)(v31 + 10) = 4;
*(_QWORD *)(v31 + 16) = 0LL;
*(_QWORD *)(v31 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v22 + 112) + 24LL) = v31;
v22 = *v15;
v23 = *(_QWORD *)(*v15 + 48);
v24 = *(unsigned int *)(v23 + 3080);
}
break;
}
v32 = (32LL * (unsigned int)v24) | 8;
v33 = 0LL;
while ( 1 )
{
v34 = v33;
if ( v24 + v33 > 0x5F )
break;
v35 = *(_QWORD *)(v23 + v32);
v36 = *(unsigned __int16 *)(v35 + 8);
if ( !*(_WORD *)(v35 + 8) )
goto LABEL_20;
v33 = v34 + 1;
v32 += 32LL;
if ( v36 == 96 )
{
if ( (unsigned int)(v24 + v34) > 0x5F )
break;
LABEL_20:
v37 = *(_QWORD *)(v23 + 32LL * (unsigned int)(v24 + v34) + 8);
if ( v37 )
{
*(_WORD *)(v37 + 8) = 96;
*(_QWORD *)(v37 + 12) = 0LL;
*(_QWORD *)(v37 + 20) = 0LL;
*(_DWORD *)(v37 + 28) = 0;
*(_BYTE *)(v37 + 10) = 1;
*(_QWORD *)(*(_QWORD *)(v22 + 112) + 776LL) = v37;
v22 = *v15;
v23 = *(_QWORD *)(*v15 + 48);
v24 = *(unsigned int *)(v23 + 3080);
}
break;
}
}
v38 = v23 + 32 * v24 + 8;
while ( v24 <= 0x5F )
{
v39 = v24;
v40 = *(unsigned __int16 *)(*(_QWORD *)v38 + 8LL);
if ( !*(_WORD *)(*(_QWORD *)v38 + 8LL) )
goto LABEL_27;
++v24;
v38 += 32LL;
if ( v40 == 118 )
{
if ( (unsigned int)(v24 - 1) > 0x5F )
break;
LABEL_27:
v41 = *(_QWORD *)(v23 + 32LL * v39 + 8);
if ( v41 )
{
*(_WORD *)(v41 + 8) = 118;
*(_QWORD *)(v41 + 12) = 0LL;
*(_QWORD *)(v41 + 20) = 0LL;
*(_DWORD *)(v41 + 28) = 0;
*(_BYTE *)(v41 + 10) = 1;
*(_QWORD *)(*(_QWORD *)(v22 + 112) + 952LL) = v41;
v22 = *v15;
}
break;
}
}
v42 = *(_DWORD *)(v22 + 120) + 1;
v43 = *(_QWORD *)(v22 + 8);
*(_DWORD *)(v22 + 120) = v42;
v44 = *(_QWORD *)(*(_QWORD *)(v43 + 136) + 5320LL);
if ( v44 )
{
do
{
v45 = sub_7102899E6C(v22, 0x8Du, 8u, 1, v44);
if ( !v45 )
break;
if ( (*(_BYTE *)(v45 + 63) & 0x20) == 0 )
v45 = *(_QWORD *)(v44 + 24);
v44 = v45;
}
while ( v45 );
v42 = *(_DWORD *)(v22 + 120);
}
v46 = v42 - 1;
v825 = a2;
*(_DWORD *)(v22 + 120) = v46;
if ( !v46 )
{
for ( i = *(_QWORD *)(*(_QWORD *)(*(_QWORD *)(v22 + 8) + 136LL) + 5320LL); i; i = *(_QWORD *)(i + 24) )
*(_DWORD *)(i + 60) = *(unsigned __int16 *)(i + 62) << 16;
}
v48 = (_QWORD *)*v15;
v49 = *(_QWORD *)(*(_QWORD *)(*v15 + 112) + 776LL);
if ( v49 )
v50 = *(_DWORD *)(v49 + 12);
else
v50 = 0;
v51 = v48[10];
v52 = *(unsigned int *)(v51 + 1032);
if ( (_DWORD)v52 )
{
memset_0((void *)(*(_QWORD *)(v51 + 32 * v52 + 8) + 8LL), 0, 0x410uLL);
--*(_DWORD *)(v51 + 1032);
v51 = v48[10];
v53 = *(unsigned int *)(v51 + 1032);
}
else
{
v53 = 0LL;
}
v48[14] = *(_QWORD *)(v51 + 32 * v53 + 8);
v54 = v48[6];
v55 = v15;
v56 = *(_DWORD *)(v54 + 3080);
if ( v56 )
{
if ( (unsigned __int16)*(_DWORD *)(v54 + 3080) <= 0x5Fu )
{
v57 = (unsigned __int16)*(_DWORD *)(v54 + 3080) + 1LL;
v58 = v54 + 32LL * (unsigned __int16)*(_DWORD *)(v54 + 3080) + 8;
do
{
if ( !*(_WORD *)(*(_QWORD *)v58 + 8LL) )
break;
*(_WORD *)(*(_QWORD *)v58 + 8LL) = 0;
v59 = (unsigned __int16)v57++;
v58 += 32LL;
}
while ( v59 != 96 );
v56 = *(_DWORD *)(v54 + 3080);
}
v60 = (unsigned int)(v56 - 1);
*(_DWORD *)(v54 + 3080) = v60;
*(_WORD *)(*(_QWORD *)(v54 + 32 * v60 + 8) + 8LL) = 0;
v61 = *(unsigned int *)(v54 + 3080);
while ( v61 )
{
*(_DWORD *)(v54 + 3080) = --v61;
if ( *(_WORD *)(*(_QWORD *)(v54 + 32LL * (unsigned int)v61 + 8) + 8LL) == 1 )
{
*(_DWORD *)(v54 + 3080) = v61 + 1;
break;
}
}
}
v62 = *v15;
v63 = *(_QWORD *)(*v15 + 48);
v64 = *(_DWORD *)(v63 + 3080);
if ( v64 <= 0x5F )
{
while ( 1 )
{
v65 = *(_QWORD *)(v63 + 32LL * v64 + 8);
if ( !*(_WORD *)(v65 + 8) )
break;
*(_DWORD *)(v63 + 3080) = ++v64;
if ( v64 == 96 )
goto LABEL_61;
}
if ( v64 <= 0x5E )
{
*(_WORD *)(v65 + 8) = 1;
++*(_DWORD *)(v63 + 3080);
}
}
LABEL_61:
v66 = *(_QWORD *)(v62 + 80);
v67 = *(_DWORD *)(v66 + 1032);
if ( v67 <= 0x1E )
{
*(_DWORD *)(v66 + 1032) = v67 + 1;
v66 = *(_QWORD *)(v62 + 80);
v67 = *(_DWORD *)(v66 + 1032);
}
*(_QWORD *)(v62 + 112) = *(_QWORD *)(v66 + 32LL * v67 + 8);
v68 = *v15;
v69 = *(_QWORD *)(*v15 + 48);
v70 = *(unsigned int *)(v69 + 3080);
v71 = (32 * v70) | 8;
v72 = v70;
while ( v72 <= 0x5F )
{
v73 = v72;
v74 = *(_QWORD *)(v69 + v71);
v75 = *(unsigned __int16 *)(v74 + 8);
if ( *(_WORD *)(v74 + 8) )
{
v72 = v73 + 1;
v71 += 32LL;
if ( v75 != 61 )
continue;
}
v76 = *(_QWORD *)(v69 + 32LL * (unsigned int)v73 + 8);
if ( v76 )
{
*(_WORD *)(v76 + 8) = 61;
*(_QWORD *)(v76 + 16) = 0LL;
*(_QWORD *)(v76 + 24) = 0LL;
*(_DWORD *)(v76 + 12) = a5;
*(_BYTE *)(v76 + 10) = 4;
*(_QWORD *)(*(_QWORD *)(v68 + 112) + 496LL) = v76;
v68 = *v15;
v69 = *(_QWORD *)(*v15 + 48);
v70 = *(unsigned int *)(v69 + 3080);
}
break;
}
v77 = *(unsigned __int8 *)(v825 + 125);
v78 = (32LL * (unsigned int)v70) | 8;
v79 = 0LL;
while ( 1 )
{
v80 = v79;
if ( v70 + v79 > 0x5F )
break;
v81 = *(_QWORD *)(v69 + v78);
v82 = *(unsigned __int16 *)(v81 + 8);
if ( !*(_WORD *)(v81 + 8) )
goto LABEL_74;
v79 = v80 + 1;
v78 += 32LL;
if ( v82 == 3 )
{
if ( (unsigned int)(v70 + v80) > 0x5F )
break;
LABEL_74:
v83 = *(_QWORD *)(v69 + 32LL * (unsigned int)(v70 + v80) + 8);
if ( v83 )
{
*(_WORD *)(v83 + 8) = 3;
*(_DWORD *)(v83 + 12) = v77;
*(_BYTE *)(v83 + 10) = 4;
*(_QWORD *)(v83 + 16) = 0LL;
*(_QWORD *)(v83 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v68 + 112) + 32LL) = v83;
v68 = *v15;
v69 = *(_QWORD *)(*v15 + 48);
v70 = *(unsigned int *)(v69 + 3080);
}
break;
}
}
v84 = (unsigned __int8)a3[125];
v85 = (32LL * (unsigned int)v70) | 8;
v86 = 0LL;
while ( 1 )
{
v87 = v86;
if ( v70 + v86 > 0x5F )
break;
v88 = *(_QWORD *)(v69 + v85);
v89 = *(unsigned __int16 *)(v88 + 8);
if ( !*(_WORD *)(v88 + 8) )
goto LABEL_81;
v86 = v87 + 1;
v85 += 32LL;
if ( v89 == 4 )
{
if ( (unsigned int)(v70 + v87) > 0x5F )
break;
LABEL_81:
v90 = *(_QWORD *)(v69 + 32LL * (unsigned int)(v70 + v87) + 8);
if ( v90 )
{
*(_WORD *)(v90 + 8) = 4;
*(_DWORD *)(v90 + 12) = v84;
*(_BYTE *)(v90 + 10) = 4;
*(_QWORD *)(v90 + 16) = 0LL;
*(_QWORD *)(v90 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v68 + 112) + 40LL) = v90;
v68 = *v15;
v69 = *(_QWORD *)(*v15 + 48);
v70 = *(unsigned int *)(v69 + 3080);
}
break;
}
}
v91 = (32LL * (unsigned int)v70) | 8;
v92 = 0LL;
while ( 1 )
{
v93 = v92;
if ( v70 + v92 > 0x5F )
break;
v94 = *(_QWORD *)(v69 + v91);
v95 = *(unsigned __int16 *)(v94 + 8);
if ( !*(_WORD *)(v94 + 8) )
goto LABEL_88;
v92 = v93 + 1;
v91 += 32LL;
if ( v95 == 76 )
{
if ( (unsigned int)(v70 + v93) > 0x5F )
break;
LABEL_88:
v96 = *(_QWORD *)(v69 + 32LL * (unsigned int)(v70 + v93) + 8);
if ( v96 )
{
*(_WORD *)(v96 + 8) = 76;
*(_DWORD *)(v96 + 12) = is_critical;
*(_BYTE *)(v96 + 10) = 4;
*(_QWORD *)(v96 + 16) = 0LL;
*(_QWORD *)(v96 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v68 + 112) + 616LL) = v96;
v68 = *v15;
v69 = *(_QWORD *)(*v15 + 48);
v70 = *(unsigned int *)(v69 + 3080);
}
break;
}
}
v97 = *((unsigned __int8 *)a4 + 10);
v98 = (32LL * (unsigned int)v70) | 8;
v99 = 0LL;
while ( 1 )
{
v100 = v99;
if ( v70 + v99 > 0x5F )
break;
v101 = *(_QWORD *)(v69 + v98);
v102 = *(unsigned __int16 *)(v101 + 8);
if ( !*(_WORD *)(v101 + 8) )
goto LABEL_95;
v99 = v100 + 1;
v98 += 32LL;
if ( v102 == 22 )
{
if ( (unsigned int)(v70 + v100) > 0x5F )
break;
LABEL_95:
v103 = *(_QWORD *)(v69 + 32LL * (unsigned int)(v70 + v100) + 8);
if ( v103 )
{
*(_WORD *)(v103 + 8) = 22;
*(_DWORD *)(v103 + 12) = v97;
*(_BYTE *)(v103 + 10) = 4;
*(_QWORD *)(v103 + 16) = 0LL;
*(_QWORD *)(v103 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v68 + 112) + 184LL) = v103;
v68 = *v15;
v69 = *(_QWORD *)(*v15 + 48);
v70 = *(unsigned int *)(v69 + 3080);
}
break;
}
}
v104 = *a4;
v105 = (32LL * (unsigned int)v70) | 8;
v106 = 0LL;
while ( 1 )
{
v107 = v106;
if ( v70 + v106 > 0x5F )
break;
v108 = *(_QWORD *)(v69 + v105);
v109 = *(unsigned __int16 *)(v108 + 8);
if ( !*(_WORD *)(v108 + 8) )
goto LABEL_102;
v106 = v107 + 1;
v105 += 32LL;
if ( v109 == 18 )
{
if ( (unsigned int)(v70 + v107) > 0x5F )
break;
LABEL_102:
v110 = *(_QWORD *)(v69 + 32LL * (unsigned int)(v70 + v107) + 8);
if ( v110 )
{
*(_WORD *)(v110 + 8) = 18;
*(_DWORD *)(v110 + 12) = v104;
*(_BYTE *)(v110 + 10) = 4;
*(_QWORD *)(v110 + 16) = 0LL;
*(_QWORD *)(v110 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v68 + 112) + 152LL) = v110;
v68 = *v15;
v69 = *(_QWORD *)(*v15 + 48);
v70 = *(unsigned int *)(v69 + 3080);
}
break;
}
}
v111 = *((unsigned __int8 *)a4 + 16);
v112 = (32LL * (unsigned int)v70) | 8;
v113 = 0LL;
while ( 1 )
{
v114 = v113;
if ( v70 + v113 > 0x5F )
break;
v115 = *(_QWORD *)(v69 + v112);
v116 = *(unsigned __int16 *)(v115 + 8);
if ( !*(_WORD *)(v115 + 8) )
goto LABEL_109;
v113 = v114 + 1;
v112 += 32LL;
if ( v116 == 99 )
{
if ( (unsigned int)(v70 + v114) > 0x5F )
break;
LABEL_109:
v117 = *(_QWORD *)(v69 + 32LL * (unsigned int)(v70 + v114) + 8);
if ( v117 )
{
*(_WORD *)(v117 + 8) = 99;
*(_DWORD *)(v117 + 12) = v111;
*(_BYTE *)(v117 + 10) = 4;
*(_QWORD *)(v117 + 16) = 0LL;
*(_QWORD *)(v117 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v68 + 112) + 800LL) = v117;
v68 = *v15;
v69 = *(_QWORD *)(*v15 + 48);
v70 = *(unsigned int *)(v69 + 3080);
}
break;
}
}
v118 = a4[3];
v119 = (32LL * (unsigned int)v70) | 8;
v120 = 0LL;
while ( 1 )
{
v121 = v120;
if ( v70 + v120 > 0x5F )
break;
v122 = *(_QWORD *)(v69 + v119);
v123 = *(unsigned __int16 *)(v122 + 8);
if ( !*(_WORD *)(v122 + 8) )
goto LABEL_116;
v120 = v121 + 1;
v119 += 32LL;
if ( v123 == 27 )
{
if ( (unsigned int)(v70 + v121) > 0x5F )
break;
LABEL_116:
v124 = *(_QWORD *)(v69 + 32LL * (unsigned int)(v70 + v121) + 8);
if ( v124 )
{
*(_WORD *)(v124 + 8) = 27;
*(_DWORD *)(v124 + 12) = v118;
*(_BYTE *)(v124 + 10) = 4;
*(_QWORD *)(v124 + 16) = 0LL;
*(_QWORD *)(v124 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v68 + 112) + 224LL) = v124;
v68 = *v15;
v69 = *(_QWORD *)(*v15 + 48);
v70 = *(unsigned int *)(v69 + 3080);
}
break;
}
}
v125 = a4[6];
v126 = (32LL * (unsigned int)v70) | 8;
v127 = 0LL;
while ( 1 )
{
v128 = v127;
if ( v70 + v127 > 0x5F )
break;
v129 = *(_QWORD *)(v69 + v126);
v130 = *(unsigned __int16 *)(v129 + 8);
if ( !*(_WORD *)(v129 + 8) )
goto LABEL_123;
v127 = v128 + 1;
v126 += 32LL;
if ( v130 == 25 )
{
if ( (unsigned int)(v70 + v128) > 0x5F )
break;
LABEL_123:
v131 = *(_QWORD *)(v69 + 32LL * (unsigned int)(v70 + v128) + 8);
if ( v131 )
{
*(_WORD *)(v131 + 8) = 25;
*(_DWORD *)(v131 + 12) = v125;
*(_BYTE *)(v131 + 10) = 4;
*(_QWORD *)(v131 + 16) = 0LL;
*(_QWORD *)(v131 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v68 + 112) + 208LL) = v131;
v68 = *v15;
v69 = *(_QWORD *)(*v15 + 48);
v70 = *(unsigned int *)(v69 + 3080);
}
break;
}
}
v132 = (32LL * (unsigned int)v70) | 8;
v133 = 0LL;
while ( 1 )
{
v134 = v133;
if ( v70 + v133 > 0x5F )
break;
v135 = *(_QWORD *)(v69 + v132);
v136 = *(unsigned __int16 *)(v135 + 8);
if ( !*(_WORD *)(v135 + 8) )
goto LABEL_130;
v133 = v134 + 1;
v132 += 32LL;
if ( v136 == 77 )
{
if ( (unsigned int)(v70 + v134) > 0x5F )
break;
LABEL_130:
v137 = *(_QWORD *)(v69 + 32LL * (unsigned int)(v70 + v134) + 8);
if ( v137 )
{
*(_WORD *)(v137 + 8) = 77;
*(_DWORD *)(v137 + 12) = a9 & 1;
*(_BYTE *)(v137 + 10) = 4;
*(_QWORD *)(v137 + 16) = 0LL;
*(_QWORD *)(v137 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v68 + 112) + 624LL) = v137;
v68 = *v15;
v69 = *(_QWORD *)(*v15 + 48);
v70 = *(unsigned int *)(v69 + 3080);
}
break;
}
}
v138 = (32LL * (unsigned int)v70) | 8;
v139 = 0LL;
while ( 1 )
{
v140 = v139;
if ( v70 + v139 > 0x5F )
break;
v141 = *(_QWORD *)(v69 + v138);
v142 = *(unsigned __int16 *)(v141 + 8);
if ( !*(_WORD *)(v141 + 8) )
goto LABEL_137;
v139 = v140 + 1;
v138 += 32LL;
if ( v142 == 96 )
{
if ( (unsigned int)(v70 + v140) > 0x5F )
break;
LABEL_137:
v143 = *(_QWORD *)(v69 + 32LL * (unsigned int)(v70 + v140) + 8);
if ( v143 )
{
*(_WORD *)(v143 + 8) = 96;
*(_DWORD *)(v143 + 12) = v50 != 0;
*(_BYTE *)(v143 + 10) = 4;
*(_QWORD *)(v143 + 16) = 0LL;
*(_QWORD *)(v143 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v68 + 112) + 776LL) = v143;
v68 = *v15;
v69 = *(_QWORD *)(*v15 + 48);
v70 = *(unsigned int *)(v69 + 3080);
}
break;
}
}
v144 = (32LL * (unsigned int)v70) | 8;
v145 = 0LL;
while ( 1 )
{
v146 = v145;
if ( v70 + v145 > 0x5F )
break;
v147 = *(_QWORD *)(v69 + v144);
v148 = *(unsigned __int16 *)(v147 + 8);
if ( !*(_WORD *)(v147 + 8) )
goto LABEL_144;
v145 = v146 + 1;
v144 += 32LL;
if ( v148 == 58 )
{
if ( (unsigned int)(v70 + v146) > 0x5F )
break;
LABEL_144:
v149 = *(_QWORD *)(v69 + 32LL * (unsigned int)(v70 + v146) + 8);
if ( v149 )
{
*(_WORD *)(v149 + 8) = 58;
*(_BYTE *)(v149 + 10) = 0;
*(_QWORD *)(v149 + 12) = 0LL;
*(_QWORD *)(v149 + 20) = 0LL;
*(_DWORD *)(v149 + 28) = 0;
*(_QWORD *)(*(_QWORD *)(v68 + 112) + 472LL) = v149;
v68 = *v15;
v69 = *(_QWORD *)(*v15 + 48);
v70 = *(unsigned int *)(v69 + 3080);
}
break;
}
}
v150 = (32LL * (unsigned int)v70) | 8;
v151 = 0LL;
while ( 1 )
{
v152 = v151;
if ( v70 + v151 > 0x5F )
break;
v153 = *(_QWORD *)(v69 + v150);
v154 = *(unsigned __int16 *)(v153 + 8);
if ( !*(_WORD *)(v153 + 8) )
goto LABEL_151;
v151 = v152 + 1;
v150 += 32LL;
if ( v154 == 59 )
{
if ( (unsigned int)(v70 + v152) > 0x5F )
break;
LABEL_151:
v155 = *(_QWORD *)(v69 + 32LL * (unsigned int)(v70 + v152) + 8);
if ( v155 )
{
*(_WORD *)(v155 + 8) = 59;
*(_BYTE *)(v155 + 10) = 0;
*(_QWORD *)(v155 + 12) = 0LL;
*(_QWORD *)(v155 + 20) = 0LL;
*(_DWORD *)(v155 + 28) = 0;
*(_QWORD *)(*(_QWORD *)(v68 + 112) + 480LL) = v155;
v68 = *v15;
v69 = *(_QWORD *)(*v15 + 48);
v70 = *(unsigned int *)(v69 + 3080);
}
break;
}
}
v156 = v69 + 32 * v70 + 8;
while ( v70 <= 0x5F )
{
v157 = v70;
v158 = *(unsigned __int16 *)(*(_QWORD *)v156 + 8LL);
if ( !*(_WORD *)(*(_QWORD *)v156 + 8LL) )
goto LABEL_158;
++v70;
v156 += 32LL;
if ( v158 == 60 )
{
if ( (unsigned int)(v70 - 1) > 0x5F )
break;
LABEL_158:
v159 = *(_QWORD *)(v69 + 32LL * v157 + 8);
if ( v159 )
{
*(_WORD *)(v159 + 8) = 60;
*(_BYTE *)(v159 + 10) = 0;
*(_QWORD *)(v159 + 12) = 0LL;
*(_QWORD *)(v159 + 20) = 0LL;
*(_DWORD *)(v159 + 28) = 0;
*(_QWORD *)(*(_QWORD *)(v68 + 112) + 488LL) = v159;
v68 = *v15;
}
break;
}
}
v160 = *(_DWORD *)(v68 + 120) + 1;
v161 = *(_QWORD *)(v68 + 8);
*(_DWORD *)(v68 + 120) = v160;
v162 = *(_QWORD *)(*(_QWORD *)(v161 + 136) + 5320LL);
if ( v162 )
{
do
{
v163 = sub_7102899E6C(v68, 0x5Au, 8u, 1, v162);
if ( !v163 )
break;
if ( (*(_BYTE *)(v163 + 63) & 0x20) == 0 )
v163 = *(_QWORD *)(v162 + 24);
v162 = v163;
}
while ( v163 );
v160 = *(_DWORD *)(v68 + 120);
}
v164 = v160 - 1;
*(_DWORD *)(v68 + 120) = v164;
if ( !v164 )
{
for ( j = *(_QWORD *)(*(_QWORD *)(*(_QWORD *)(v68 + 8) + 136LL) + 5320LL); j; j = *(_QWORD *)(j + 24) )
*(_DWORD *)(j + 60) = *(unsigned __int16 *)(j + 62) << 16;
}
v166 = *v15;
v167 = *(_QWORD *)(*v15 + 8);
v168 = *(_DWORD *)(*v15 + 120) + 1;
*(_DWORD *)(*v15 + 120) = v168;
v169 = *(_QWORD *)(*(_QWORD *)(v167 + 136) + 5320LL);
if ( v169 )
{
do
{
v170 = sub_7102899E6C(v166, 0x5Bu, 8u, 1, v169);
if ( !v170 )
break;
if ( (*(_BYTE *)(v170 + 63) & 0x20) == 0 )
v170 = *(_QWORD *)(v169 + 24);
v169 = v170;
}
while ( v170 );
v168 = *(_DWORD *)(v166 + 120);
}
v171 = v168 - 1;
*(_DWORD *)(v166 + 120) = v171;
if ( !v171 )
{
for ( k = *(_QWORD *)(*(_QWORD *)(*(_QWORD *)(v166 + 8) + 136LL) + 5320LL); k; k = *(_QWORD *)(k + 24) )
*(_DWORD *)(k + 60) = *(unsigned __int16 *)(k + 62) << 16;
}
v173 = *v15;
v174 = *(_QWORD **)(*v15 + 112);
v175 = v174[59];
if ( v175 )
LODWORD(v175) = *(_DWORD *)(v175 + 12);
v176 = v174[60];
if ( v176 )
LODWORD(v176) = *(_DWORD *)(v176 + 12);
v177 = v174[61];
if ( v177 )
LODWORD(v177) = *(_DWORD *)(v177 + 12);
v178 = v177 | v176;
if ( (_DWORD)v177 )
v179 = 0;
else
v179 = v175;
if ( !v178 )
{
v819 = v177;
v180 = *(_QWORD *)(v173 + 48);
v181 = *(_DWORD *)(v180 + 3080);
v182 = *((unsigned __int16 *)a4 + 14);
if ( v181 <= 0x5F )
{
while ( 1 )
{
v183 = *(_QWORD *)(v180 + 32LL * v181 + 8);
if ( !*(_WORD *)(v183 + 8) )
break;
*(_DWORD *)(v180 + 3080) = ++v181;
if ( v181 == 96 )
goto LABEL_196;
}
if ( v181 <= 0x5E )
{
*(_WORD *)(v183 + 8) = 1;
++*(_DWORD *)(v180 + 3080);
}
}
LABEL_196:
v184 = *(_QWORD *)(v173 + 80);
v185 = *(_DWORD *)(v184 + 1032);
if ( v185 <= 0x1E )
{
*(_DWORD *)(v184 + 1032) = v185 + 1;
v184 = *(_QWORD *)(v173 + 80);
v185 = *(_DWORD *)(v184 + 1032);
}
*(_QWORD *)(v173 + 112) = *(_QWORD *)(v184 + 32LL * v185 + 8);
v186 = *v15;
v187 = *(_QWORD *)(*v15 + 48);
v188 = *(unsigned int *)(v187 + 3080);
v189 = *(unsigned __int8 *)(v825 + 125);
v190 = (32 * v188) | 8;
v191 = v188;
while ( v191 <= 0x5F )
{
v192 = v191;
v193 = *(_QWORD *)(v187 + v190);
v194 = *(unsigned __int16 *)(v193 + 8);
if ( *(_WORD *)(v193 + 8) )
{
v191 = v192 + 1;
v190 += 32LL;
if ( v194 != 3 )
continue;
}
v195 = *(_QWORD *)(v187 + 32LL * (unsigned int)v192 + 8);
if ( v195 )
{
*(_WORD *)(v195 + 8) = 3;
*(_DWORD *)(v195 + 12) = v189;
*(_BYTE *)(v195 + 10) = 4;
*(_QWORD *)(v195 + 16) = 0LL;
*(_QWORD *)(v195 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v186 + 112) + 32LL) = v195;
v186 = *v15;
v187 = *(_QWORD *)(*v15 + 48);
v188 = *(unsigned int *)(v187 + 3080);
}
break;
}
v196 = (unsigned __int8)a3[125];
v197 = (32LL * (unsigned int)v188) | 8;
v198 = 0LL;
while ( 1 )
{
v199 = v198;
if ( v188 + v198 > 0x5F )
break;
v200 = *(_QWORD *)(v187 + v197);
v201 = *(unsigned __int16 *)(v200 + 8);
if ( !*(_WORD *)(v200 + 8) )
goto LABEL_209;
v198 = v199 + 1;
v197 += 32LL;
if ( v201 == 4 )
{
if ( (unsigned int)(v188 + v199) > 0x5F )
break;
LABEL_209:
v202 = *(_QWORD *)(v187 + 32LL * (unsigned int)(v188 + v199) + 8);
if ( v202 )
{
*(_WORD *)(v202 + 8) = 4;
*(_DWORD *)(v202 + 12) = v196;
*(_BYTE *)(v202 + 10) = 4;
*(_QWORD *)(v202 + 16) = 0LL;
*(_QWORD *)(v202 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v186 + 112) + 40LL) = v202;
v186 = *v15;
v187 = *(_QWORD *)(*v15 + 48);
v188 = *(unsigned int *)(v187 + 3080);
}
break;
}
}
v203 = *a4;
v204 = (32LL * (unsigned int)v188) | 8;
v205 = 0LL;
while ( 1 )
{
v206 = v205;
if ( v188 + v205 > 0x5F )
break;
v207 = *(_QWORD *)(v187 + v204);
v208 = *(unsigned __int16 *)(v207 + 8);
if ( !*(_WORD *)(v207 + 8) )
goto LABEL_216;
v205 = v206 + 1;
v204 += 32LL;
if ( v208 == 18 )
{
if ( (unsigned int)(v188 + v206) > 0x5F )
break;
LABEL_216:
v209 = *(_QWORD *)(v187 + 32LL * (unsigned int)(v188 + v206) + 8);
if ( v209 )
{
*(_WORD *)(v209 + 8) = 18;
*(_DWORD *)(v209 + 12) = v203;
*(_BYTE *)(v209 + 10) = 4;
*(_QWORD *)(v209 + 16) = 0LL;
*(_QWORD *)(v209 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v186 + 112) + 152LL) = v209;
v186 = *v15;
v187 = *(_QWORD *)(*v15 + 48);
v188 = *(unsigned int *)(v187 + 3080);
}
break;
}
}
v210 = *((unsigned __int8 *)a4 + 10);
v211 = (32LL * (unsigned int)v188) | 8;
v212 = 0LL;
while ( 1 )
{
v213 = v212;
if ( v188 + v212 > 0x5F )
break;
v214 = *(_QWORD *)(v187 + v211);
v215 = *(unsigned __int16 *)(v214 + 8);
if ( !*(_WORD *)(v214 + 8) )
goto LABEL_223;
v212 = v213 + 1;
v211 += 32LL;
if ( v215 == 22 )
{
if ( (unsigned int)(v188 + v213) > 0x5F )
break;
LABEL_223:
v216 = *(_QWORD *)(v187 + 32LL * (unsigned int)(v188 + v213) + 8);
if ( v216 )
{
*(_WORD *)(v216 + 8) = 22;
*(_DWORD *)(v216 + 12) = v210;
*(_BYTE *)(v216 + 10) = 4;
*(_QWORD *)(v216 + 16) = 0LL;
*(_QWORD *)(v216 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v186 + 112) + 184LL) = v216;
v186 = *v15;
v187 = *(_QWORD *)(*v15 + 48);
v188 = *(unsigned int *)(v187 + 3080);
}
break;
}
}
v217 = a4[3];
v218 = (32LL * (unsigned int)v188) | 8;
v219 = 0LL;
while ( 1 )
{
v220 = v219;
if ( v188 + v219 > 0x5F )
break;
v221 = *(_QWORD *)(v187 + v218);
v222 = *(unsigned __int16 *)(v221 + 8);
if ( !*(_WORD *)(v221 + 8) )
goto LABEL_230;
v219 = v220 + 1;
v218 += 32LL;
if ( v222 == 27 )
{
if ( (unsigned int)(v188 + v220) > 0x5F )
break;
LABEL_230:
v223 = *(_QWORD *)(v187 + 32LL * (unsigned int)(v188 + v220) + 8);
if ( v223 )
{
*(_WORD *)(v223 + 8) = 27;
*(_DWORD *)(v223 + 12) = v217;
*(_BYTE *)(v223 + 10) = 4;
*(_QWORD *)(v223 + 16) = 0LL;
*(_QWORD *)(v223 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v186 + 112) + 224LL) = v223;
v186 = *v15;
v187 = *(_QWORD *)(*v15 + 48);
v188 = *(unsigned int *)(v187 + 3080);
}
break;
}
}
v224 = a4[8];
v225 = (32LL * (unsigned int)v188) | 8;
v226 = 0LL;
while ( 1 )
{
v227 = v226;
if ( v188 + v226 > 0x5F )
break;
v228 = *(_QWORD *)(v187 + v225);
v229 = *(unsigned __int16 *)(v228 + 8);
if ( !*(_WORD *)(v228 + 8) )
goto LABEL_237;
v226 = v227 + 1;
v225 += 32LL;
if ( v229 == 128 )
{
if ( (unsigned int)(v188 + v227) > 0x5F )
break;
LABEL_237:
v230 = *(_QWORD *)(v187 + 32LL * (unsigned int)(v188 + v227) + 8);
if ( v230 )
{
*(_WORD *)(v230 + 8) = 128;
*(_DWORD *)(v230 + 12) = v224;
*(_BYTE *)(v230 + 10) = 4;
*(_QWORD *)(v230 + 16) = 0LL;
*(_QWORD *)(v230 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v186 + 112) + 1032LL) = v230;
v186 = *v15;
v187 = *(_QWORD *)(*v15 + 48);
v188 = *(unsigned int *)(v187 + 3080);
}
break;
}
}
v231 = *((unsigned __int8 *)a4 + 16);
v232 = (32LL * (unsigned int)v188) | 8;
v233 = 0LL;
while ( 1 )
{
v234 = v233;
if ( v188 + v233 > 0x5F )
break;
v235 = *(_QWORD *)(v187 + v232);
v236 = *(unsigned __int16 *)(v235 + 8);
if ( !*(_WORD *)(v235 + 8) )
goto LABEL_244;
v233 = v234 + 1;
v232 += 32LL;
if ( v236 == 99 )
{
if ( (unsigned int)(v188 + v234) > 0x5F )
break;
LABEL_244:
v237 = *(_QWORD *)(v187 + 32LL * (unsigned int)(v188 + v234) + 8);
if ( v237 )
{
*(_WORD *)(v237 + 8) = 99;
*(_DWORD *)(v237 + 12) = v231;
*(_BYTE *)(v237 + 10) = 4;
*(_QWORD *)(v237 + 16) = 0LL;
*(_QWORD *)(v237 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v186 + 112) + 800LL) = v237;
v186 = *v15;
v187 = *(_QWORD *)(*v15 + 48);
v188 = *(unsigned int *)(v187 + 3080);
}
break;
}
}
v238 = (32LL * (unsigned int)v188) | 8;
v239 = 0LL;
while ( 1 )
{
v240 = v239;
if ( v188 + v239 > 0x5F )
break;
v241 = *(_QWORD *)(v187 + v238);
v242 = *(unsigned __int16 *)(v241 + 8);
if ( !*(_WORD *)(v241 + 8) )
goto LABEL_251;
v239 = v240 + 1;
v238 += 32LL;
if ( v242 == 93 )
{
if ( (unsigned int)(v188 + v240) > 0x5F )
break;
LABEL_251:
v243 = *(_QWORD *)(v187 + 32LL * (unsigned int)(v188 + v240) + 8);
if ( v243 )
{
*(_WORD *)(v243 + 8) = 93;
*(_QWORD *)(v243 + 12) = 0LL;
*(_QWORD *)(v243 + 20) = 0LL;
*(_DWORD *)(v243 + 28) = 0;
*(_BYTE *)(v243 + 10) = 1;
*(_QWORD *)(*(_QWORD *)(v186 + 112) + 752LL) = v243;
v186 = *v15;
v187 = *(_QWORD *)(*v15 + 48);
v188 = *(unsigned int *)(v187 + 3080);
}
break;
}
}
v244 = (32LL * (unsigned int)v188) | 8;
v245 = 0LL;
while ( 1 )
{
v246 = v245;
if ( v188 + v245 > 0x5F )
break;
v247 = *(_QWORD *)(v187 + v244);
v248 = *(unsigned __int16 *)(v247 + 8);
if ( !*(_WORD *)(v247 + 8) )
goto LABEL_258;
v245 = v246 + 1;
v244 += 32LL;
if ( v248 == 94 )
{
if ( (unsigned int)(v188 + v246) > 0x5F )
break;
LABEL_258:
v249 = *(_QWORD *)(v187 + 32LL * (unsigned int)(v188 + v246) + 8);
if ( v249 )
{
*(_WORD *)(v249 + 8) = 94;
*(_QWORD *)(v249 + 12) = 0LL;
*(_QWORD *)(v249 + 20) = 0LL;
*(_DWORD *)(v249 + 28) = 0;
*(_BYTE *)(v249 + 10) = 1;
*(_QWORD *)(*(_QWORD *)(v186 + 112) + 760LL) = v249;
v186 = *v15;
v187 = *(_QWORD *)(*v15 + 48);
v188 = *(unsigned int *)(v187 + 3080);
}
break;
}
}
v250 = v187 + 32 * v188 + 8;
while ( v188 <= 0x5F )
{
v251 = v188;
v252 = *(unsigned __int16 *)(*(_QWORD *)v250 + 8LL);
if ( !*(_WORD *)(*(_QWORD *)v250 + 8LL) )
goto LABEL_265;
++v188;
v250 += 32LL;
if ( v252 == 51 )
{
if ( (unsigned int)(v188 - 1) > 0x5F )
break;
LABEL_265:
v253 = *(_QWORD *)(v187 + 32LL * v251 + 8);
if ( v253 )
{
*(_DWORD *)(v253 + 12) = v182;
*(_WORD *)(v253 + 8) = 51;
*(_BYTE *)(v253 + 10) = 1;
*(_QWORD *)(v253 + 16) = 0LL;
*(_QWORD *)(v253 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v186 + 112) + 416LL) = v253;
v186 = *v15;
}
break;
}
}
v254 = *(_DWORD *)(v186 + 120) + 1;
v255 = *(_QWORD *)(v186 + 8);
*(_DWORD *)(v186 + 120) = v254;
v256 = *(_QWORD *)(*(_QWORD *)(v255 + 136) + 5320LL);
if ( v256 )
{
do
{
v257 = sub_7102899E6C(v186, 0x47u, 8u, 1, v256);
if ( !v257 )
break;
if ( (*(_BYTE *)(v257 + 63) & 0x20) == 0 )
v257 = *(_QWORD *)(v256 + 24);
v256 = v257;
}
while ( v257 );
v254 = *(_DWORD *)(v186 + 120);
}
v258 = v254 - 1;
*(_DWORD *)(v186 + 120) = v258;
if ( !v258 )
{
for ( m = *(_QWORD *)(*(_QWORD *)(*(_QWORD *)(v186 + 8) + 136LL) + 5320LL); m; m = *(_QWORD *)(m + 24) )
*(_DWORD *)(m + 60) = *(unsigned __int16 *)(m + 62) << 16;
}
v260 = *v15;
v261 = *(_QWORD *)(*v15 + 48);
v262 = *(unsigned int *)(v261 + 3080);
v263 = v261 + 32 * v262 + 8;
while ( v262 <= 0x5F )
{
v264 = v262;
v265 = *(unsigned __int16 *)(*(_QWORD *)v263 + 8LL);
if ( !*(_WORD *)(*(_QWORD *)v263 + 8LL) )
goto LABEL_282;
++v262;
v263 += 32LL;
if ( v265 == 52 )
{
if ( (unsigned int)(v262 - 1) > 0x5F )
break;
LABEL_282:
v266 = *(_QWORD *)(v261 + 32LL * v264 + 8);
if ( v266 )
{
*(_WORD *)(v266 + 8) = 52;
*(_QWORD *)(v266 + 12) = 0x2900001000LL;
*(_DWORD *)(v266 + 20) = 0x200000;
*(_QWORD *)(v266 + 24) = 0LL;
*(_BYTE *)(v266 + 10) = 3;
*(_QWORD *)(*(_QWORD *)(v260 + 112) + 424LL) = v266;
v260 = *v15;
}
break;
}
}
v267 = *(_DWORD *)(v260 + 120) + 1;
v268 = *(_QWORD *)(v260 + 8);
*(_DWORD *)(v260 + 120) = v267;
v269 = *(_QWORD *)(*(_QWORD *)(v268 + 136) + 5320LL);
if ( v269 )
{
do
{
v270 = sub_7102899E6C(v260, 0x48u, 8u, 1, v269);
if ( !v270 )
break;
if ( (*(_BYTE *)(v270 + 63) & 0x20) == 0 )
v270 = *(_QWORD *)(v269 + 24);
v269 = v270;
}
while ( v270 );
v267 = *(_DWORD *)(v260 + 120);
}
v271 = v267 - 1;
*(_DWORD *)(v260 + 120) = v271;
if ( !v271 )
{
for ( n = *(_QWORD *)(*(_QWORD *)(*(_QWORD *)(v260 + 8) + 136LL) + 5320LL); n; n = *(_QWORD *)(n + 24) )
*(_DWORD *)(n + 60) = *(unsigned __int16 *)(n + 62) << 16;
}
v273 = (_QWORD *)*v15;
v274 = *(_QWORD *)(*v15 + 112);
v275 = *(_QWORD *)(v274 + 416);
if ( v275 )
{
v276 = *(unsigned __int16 *)(v275 + 12);
v277 = *(_QWORD *)(v274 + 424);
if ( v277 )
{
LABEL_296:
v278 = *(_DWORD *)(v277 + 12);
goto LABEL_299;
}
}
else
{
v276 = 0;
v277 = *(_QWORD *)(v274 + 424);
if ( v277 )
goto LABEL_296;
}
v278 = 0;
LABEL_299:
v279 = v273[10];
v280 = *(unsigned int *)(v279 + 1032);
if ( (_DWORD)v280 )
{
memset_0((void *)(*(_QWORD *)(v279 + 32 * v280 + 8) + 8LL), 0, 0x410uLL);
--*(_DWORD *)(v279 + 1032);
v279 = v273[10];
v281 = *(unsigned int *)(v279 + 1032);
}
else
{
v281 = 0LL;
}
v273[14] = *(_QWORD *)(v279 + 32 * v281 + 8);
v282 = v273[6];
v283 = *(_DWORD *)(v282 + 3080);
if ( v283 )
{
if ( (unsigned __int16)*(_DWORD *)(v282 + 3080) <= 0x5Fu )
{
v284 = (unsigned __int16)*(_DWORD *)(v282 + 3080) + 1LL;
v285 = v282 + 32LL * (unsigned __int16)*(_DWORD *)(v282 + 3080) + 8;
do
{
if ( !*(_WORD *)(*(_QWORD *)v285 + 8LL) )
break;
*(_WORD *)(*(_QWORD *)v285 + 8LL) = 0;
v286 = (unsigned __int16)v284++;
v285 += 32LL;
}
while ( v286 != 96 );
v283 = *(_DWORD *)(v282 + 3080);
}
v287 = (unsigned int)(v283 - 1);
*(_DWORD *)(v282 + 3080) = v287;
*(_WORD *)(*(_QWORD *)(v282 + 32 * v287 + 8) + 8LL) = 0;
v288 = *(unsigned int *)(v282 + 3080);
while ( v288 )
{
*(_DWORD *)(v282 + 3080) = --v288;
if ( *(_WORD *)(*(_QWORD *)(v282 + 32LL * (unsigned int)v288 + 8) + 8LL) == 1 )
{
*(_DWORD *)(v282 + 3080) = v288 + 1;
break;
}
}
}
if ( ((v278 * v276) & 0xFFF) <= 0x800 )
LOWORD(v278) = (v278 * v276) >> 12;
else
LOWORD(v278) = ((v278 * v276) >> 12) + 1;
if ( (a3[152] & 7) != 0
|| (a3[160] & 7) != 0
|| (a3[168] & 7) != 0
|| (a3[176] & 7) != 0
|| (a3[184] & 7) != 0
|| (a3[192] & 7) != 0
|| (a3[200] & 7) != 0 )
{
v289 = &(&off_710418AF28)[6 * *a4];
v292 = v289[1];
v290 = (void **)(v289 + 1);
v291 = v292;
v293 = v825;
if ( v292 )
{
if ( !*((_BYTE *)v291 + 481) )
v290 = &off_710418AF30;
}
else
{
v290 = &off_710418AF30;
}
v294 = (int *)(*((_QWORD *)*v290 + 74) + **((unsigned int **)*v290 + 74));
v295 = (unsigned __int16 *)((char *)v294 - *v294);
if ( *v295 >= 0x8Bu )
{
v296 = v295[69];
if ( v296 )
{
v297 = *(int *)((char *)v294 + v296);
if ( v297 )
v278 = v297 * (unsigned int)(unsigned __int16)v278 / 100;
}
}
}
else
{
v293 = v825;
}
v298 = *v15;
v299 = *(_QWORD *)(*v15 + 48);
v300 = *(_DWORD *)(v299 + 3080);
if ( v300 <= 0x5F )
{
while ( 1 )
{
v301 = *(_QWORD *)(v299 + 32LL * v300 + 8);
if ( !*(_WORD *)(v301 + 8) )
break;
*(_DWORD *)(v299 + 3080) = ++v300;
if ( v300 == 96 )
goto LABEL_335;
}
if ( v300 <= 0x5E )
{
*(_WORD *)(v301 + 8) = 1;
++*(_DWORD *)(v299 + 3080);
}
}
LABEL_335:
v302 = *(_QWORD *)(v298 + 80);
v303 = *(_DWORD *)(v302 + 1032);
if ( v303 <= 0x1E )
{
*(_DWORD *)(v302 + 1032) = v303 + 1;
v302 = *(_QWORD *)(v298 + 80);
v303 = *(_DWORD *)(v302 + 1032);
}
*(_QWORD *)(v298 + 112) = *(_QWORD *)(v302 + 32LL * v303 + 8);
v304 = *v15;
v305 = *(_QWORD *)(*v15 + 48);
v306 = *(unsigned int *)(v305 + 3080);
v307 = *(unsigned __int8 *)(v293 + 125);
v308 = (32 * v306) | 8;
v309 = v306;
while ( v309 <= 0x5F )
{
v310 = v309;
v311 = *(_QWORD *)(v305 + v308);
v312 = *(unsigned __int16 *)(v311 + 8);
if ( *(_WORD *)(v311 + 8) )
{
v309 = v310 + 1;
v308 += 32LL;
if ( v312 != 3 )
continue;
}
v313 = *(_QWORD *)(v305 + 32LL * (unsigned int)v310 + 8);
if ( v313 )
{
*(_WORD *)(v313 + 8) = 3;
*(_DWORD *)(v313 + 12) = v307;
*(_BYTE *)(v313 + 10) = 4;
*(_QWORD *)(v313 + 16) = 0LL;
*(_QWORD *)(v313 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v304 + 112) + 32LL) = v313;
v304 = *v15;
v305 = *(_QWORD *)(*v15 + 48);
v306 = *(unsigned int *)(v305 + 3080);
}
break;
}
v314 = (unsigned __int8)a3[125];
v315 = (32LL * (unsigned int)v306) | 8;
v316 = 0LL;
while ( 1 )
{
v317 = v316;
if ( v306 + v316 > 0x5F )
break;
v318 = *(_QWORD *)(v305 + v315);
v319 = *(unsigned __int16 *)(v318 + 8);
if ( !*(_WORD *)(v318 + 8) )
goto LABEL_348;
v316 = v317 + 1;
v315 += 32LL;
if ( v319 == 4 )
{
if ( (unsigned int)(v306 + v317) > 0x5F )
break;
LABEL_348:
v320 = *(_QWORD *)(v305 + 32LL * (unsigned int)(v306 + v317) + 8);
if ( v320 )
{
*(_WORD *)(v320 + 8) = 4;
*(_DWORD *)(v320 + 12) = v314;
*(_BYTE *)(v320 + 10) = 4;
*(_QWORD *)(v320 + 16) = 0LL;
*(_QWORD *)(v320 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v304 + 112) + 40LL) = v320;
v304 = *v15;
v305 = *(_QWORD *)(*v15 + 48);
v306 = *(unsigned int *)(v305 + 3080);
}
break;
}
}
v321 = (32LL * (unsigned int)v306) | 8;
v322 = 0LL;
while ( 1 )
{
v323 = v322;
if ( v306 + v322 > 0x5F )
break;
v324 = *(_QWORD *)(v305 + v321);
v325 = *(unsigned __int16 *)(v324 + 8);
if ( !*(_WORD *)(v324 + 8) )
goto LABEL_355;
v322 = v323 + 1;
v321 += 32LL;
if ( v325 == 64 )
{
if ( (unsigned int)(v306 + v323) > 0x5F )
break;
LABEL_355:
v326 = *(_QWORD *)(v305 + 32LL * (unsigned int)(v306 + v323) + 8);
if ( v326 )
{
*(_WORD *)(v326 + 8) = 64;
*(_QWORD *)(v326 + 16) = 0LL;
*(_QWORD *)(v326 + 24) = 0LL;
*(_DWORD *)(v326 + 12) = 31;
*(_BYTE *)(v326 + 10) = 0;
*(_QWORD *)(*(_QWORD *)(v304 + 112) + 520LL) = v326;
v304 = *v15;
v305 = *(_QWORD *)(*v15 + 48);
v306 = *(unsigned int *)(v305 + 3080);
}
break;
}
}
v327 = v305 + 32 * v306 + 8;
while ( v306 <= 0x5F )
{
v328 = v306;
v329 = *(unsigned __int16 *)(*(_QWORD *)v327 + 8LL);
if ( !*(_WORD *)(*(_QWORD *)v327 + 8LL) )
goto LABEL_362;
++v306;
v327 += 32LL;
if ( v329 == 89 )
{
if ( (unsigned int)(v306 - 1) > 0x5F )
break;
LABEL_362:
v330 = *(_QWORD *)(v305 + 32LL * v328 + 8);
if ( v330 )
{
*(_WORD *)(v330 + 8) = 89;
*(_BYTE *)(v330 + 10) = 0;
*(_QWORD *)(v330 + 12) = 0LL;
*(_QWORD *)(v330 + 20) = 0LL;
*(_DWORD *)(v330 + 28) = 0;
*(_QWORD *)(*(_QWORD *)(v304 + 112) + 720LL) = v330;
v304 = *v15;
}
break;
}
}
v331 = *(_DWORD *)(v304 + 120) + 1;
v332 = *(_QWORD *)(v304 + 8);
*(_DWORD *)(v304 + 120) = v331;
v333 = *(_QWORD *)(*(_QWORD *)(v332 + 136) + 5320LL);
if ( v333 )
{
do
{
v334 = sub_7102899E6C(v304, 0x49u, 8u, 1, v333);
if ( !v334 )
break;
if ( (*(_BYTE *)(v334 + 63) & 0x20) == 0 )
v334 = *(_QWORD *)(v333 + 24);
v333 = v334;
}
while ( v334 );
v331 = *(_DWORD *)(v304 + 120);
}
v335 = v331 - 1;
*(_DWORD *)(v304 + 120) = v335;
if ( !v335 )
{
for ( ii = *(_QWORD *)(*(_QWORD *)(*(_QWORD *)(v304 + 8) + 136LL) + 5320LL); ii; ii = *(_QWORD *)(ii + 24) )
*(_DWORD *)(ii + 60) = *(unsigned __int16 *)(ii + 62) << 16;
}
v337 = (_QWORD *)*v15;
v338 = *(_QWORD *)(*v15 + 112);
v339 = *(_QWORD *)(v338 + 720);
if ( v339 )
{
v340 = *(_DWORD *)(v339 + 12);
v341 = *(_QWORD *)(v338 + 520);
if ( !v341 )
goto LABEL_379;
}
else
{
v340 = 0;
v341 = *(_QWORD *)(v338 + 520);
if ( !v341 )
{
LABEL_379:
v342 = *(_QWORD *)(*(_QWORD *)(a1[3] + 8LL) + 8LL * (unsigned int)v341 + 288);
LABEL_380:
v343 = a4[3];
if ( v343 == 2 )
v344 = 10;
else
v344 = 8;
if ( (*(_BYTE *)(v342 + 552) & 7) != 0 )
v344 = dword_7103788C20[4 * (v343 == 2) + 1];
v345 = v337[6];
v346 = *(_DWORD *)(v345 + 3080);
if ( v346 <= 0x5F )
{
while ( 1 )
{
v347 = *(_QWORD *)(v345 + 32LL * v346 + 8);
if ( !*(_WORD *)(v347 + 8) )
break;
*(_DWORD *)(v345 + 3080) = ++v346;
if ( v346 == 96 )
goto LABEL_391;
}
if ( v346 <= 0x5E )
{
*(_WORD *)(v347 + 8) = 1;
++*(_DWORD *)(v345 + 3080);
}
}
LABEL_391:
v348 = v337[10];
v349 = *(_DWORD *)(v348 + 1032);
if ( v349 <= 0x1E )
{
*(_DWORD *)(v348 + 1032) = v349 + 1;
v348 = v337[10];
v349 = *(_DWORD *)(v348 + 1032);
}
v337[14] = *(_QWORD *)(v348 + 32LL * v349 + 8);
v350 = *v15;
v351 = *(_QWORD *)(*v15 + 48);
v352 = *(unsigned int *)(v351 + 3080);
v353 = *(unsigned __int8 *)(v342 + 125);
v354 = (32 * v352) | 8;
v355 = v352;
while ( v355 <= 0x5F )
{
v356 = v355;
v357 = *(_QWORD *)(v351 + v354);
v358 = *(unsigned __int16 *)(v357 + 8);
if ( *(_WORD *)(v357 + 8) )
{
v355 = v356 + 1;
v354 += 32LL;
if ( v358 != 3 )
continue;
}
v359 = *(_QWORD *)(v351 + 32LL * (unsigned int)v356 + 8);
if ( v359 )
{
*(_WORD *)(v359 + 8) = 3;
*(_DWORD *)(v359 + 12) = v353;
*(_BYTE *)(v359 + 10) = 4;
*(_QWORD *)(v359 + 16) = 0LL;
*(_QWORD *)(v359 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v350 + 112) + 32LL) = v359;
v350 = *v15;
v351 = *(_QWORD *)(*v15 + 48);
v352 = *(unsigned int *)(v351 + 3080);
}
break;
}
v360 = *a4;
v361 = (32LL * (unsigned int)v352) | 8;
v362 = 0LL;
while ( 1 )
{
v363 = v362;
if ( v352 + v362 > 0x5F )
break;
v364 = *(_QWORD *)(v351 + v361);
v365 = *(unsigned __int16 *)(v364 + 8);
if ( !*(_WORD *)(v364 + 8) )
goto LABEL_404;
v362 = v363 + 1;
v361 += 32LL;
if ( v365 == 18 )
{
if ( (unsigned int)(v352 + v363) > 0x5F )
break;
LABEL_404:
v366 = *(_QWORD *)(v351 + 32LL * (unsigned int)(v352 + v363) + 8);
if ( v366 )
{
*(_WORD *)(v366 + 8) = 18;
*(_DWORD *)(v366 + 12) = v360;
*(_BYTE *)(v366 + 10) = 4;
*(_QWORD *)(v366 + 16) = 0LL;
*(_QWORD *)(v366 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v350 + 112) + 152LL) = v366;
v350 = *v15;
v351 = *(_QWORD *)(*v15 + 48);
v352 = *(unsigned int *)(v351 + 3080);
}
break;
}
}
v367 = v351 + 32 * v352 + 8;
v818 = v278;
while ( v352 <= 0x5F )
{
v368 = v352;
v369 = *(unsigned __int16 *)(*(_QWORD *)v367 + 8LL);
if ( !*(_WORD *)(*(_QWORD *)v367 + 8LL) )
goto LABEL_411;
++v352;
v367 += 32LL;
if ( v369 == 65 )
{
if ( (unsigned int)(v352 - 1) > 0x5F )
break;
LABEL_411:
v370 = *(_QWORD *)(v351 + 32LL * v368 + 8);
if ( v370 )
{
*(_DWORD *)(v370 + 12) = v344;
*(_WORD *)(v370 + 8) = 65;
*(_BYTE *)(v370 + 10) = 1;
*(_QWORD *)(v370 + 16) = 0LL;
*(_QWORD *)(v370 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v350 + 112) + 528LL) = v370;
v350 = *v15;
}
break;
}
}
v371 = *(_DWORD *)(v350 + 120) + 1;
v372 = *(_QWORD *)(v350 + 8);
*(_DWORD *)(v350 + 120) = v371;
v373 = *(_QWORD *)(*(_QWORD *)(v372 + 136) + 5320LL);
if ( v373 )
{
do
{
v374 = sub_7102899E6C(v350, 0x4Bu, 8u, 1, v373);
if ( !v374 )
break;
if ( (*(_BYTE *)(v374 + 63) & 0x20) == 0 )
v374 = *(_QWORD *)(v373 + 24);
v373 = v374;
}
while ( v374 );
v371 = *(_DWORD *)(v350 + 120);
}
v375 = v371 - 1;
*(_DWORD *)(v350 + 120) = v375;
if ( !v375 )
{
for ( jj = *(_QWORD *)(*(_QWORD *)(*(_QWORD *)(v350 + 8) + 136LL) + 5320LL); jj; jj = *(_QWORD *)(jj + 24) )
*(_DWORD *)(jj + 60) = *(unsigned __int16 *)(jj + 62) << 16;
}
v377 = (_QWORD *)*v15;
v378 = *(_QWORD *)(*(_QWORD *)(*v15 + 112) + 528LL);
if ( v378 )
v379 = *(_DWORD *)(v378 + 12);
else
v379 = 0;
v380 = v377[10];
v381 = *(unsigned int *)(v380 + 1032);
if ( (_DWORD)v381 )
{
memset_0((void *)(*(_QWORD *)(v380 + 32 * v381 + 8) + 8LL), 0, 0x410uLL);
--*(_DWORD *)(v380 + 1032);
v380 = v377[10];
v382 = *(unsigned int *)(v380 + 1032);
}
else
{
v382 = 0LL;
}
v377[14] = *(_QWORD *)(v380 + 32 * v382 + 8);
v383 = v377[6];
v384 = *(_DWORD *)(v383 + 3080);
if ( v384 )
{
if ( (unsigned __int16)*(_DWORD *)(v383 + 3080) <= 0x5Fu )
{
v385 = (unsigned __int16)*(_DWORD *)(v383 + 3080) + 1LL;
v386 = v383 + 32LL * (unsigned __int16)*(_DWORD *)(v383 + 3080) + 8;
do
{
if ( !*(_WORD *)(*(_QWORD *)v386 + 8LL) )
break;
*(_WORD *)(*(_QWORD *)v386 + 8LL) = 0;
v387 = (unsigned __int16)v385++;
v386 += 32LL;
}
while ( v387 != 96 );
v384 = *(_DWORD *)(v383 + 3080);
}
v388 = (unsigned int)(v384 - 1);
*(_DWORD *)(v383 + 3080) = v388;
*(_WORD *)(*(_QWORD *)(v383 + 32 * v388 + 8) + 8LL) = 0;
v389 = *(unsigned int *)(v383 + 3080);
while ( v389 )
{
*(_DWORD *)(v383 + 3080) = --v389;
if ( *(_WORD *)(*(_QWORD *)(v383 + 32LL * (unsigned int)v389 + 8) + 8LL) == 1 )
{
*(_DWORD *)(v383 + 3080) = v389 + 1;
break;
}
}
}
if ( v340 )
goto LABEL_440;
if ( !is_critical )
goto LABEL_448;
switch ( v379 )
{
case 8u:
case 10u:
v391 = v342;
v392 = 1LL;
break;
case 9u:
v391 = v342;
v392 = 2LL;
break;
case 11u:
if ( (int)sub_71028506A8(v342, 2LL) > 0 )
goto LABEL_448;
goto LABEL_440;
default:
goto LABEL_448;
}
if ( (int)sub_71028506A8(v391, v392) < 1 )
LABEL_440:
v390 = sub_710285084C(v342, v379);
else
LABEL_448:
v390 = sub_71028506A8(v342, v379);
v393 = *v15;
v394 = *a4;
v395 = *(_QWORD *)(*v15 + 48);
v396 = *(unsigned int *)(v395 + 3080);
v397 = (32 * v396) | 8;
v398 = v396;
while ( v398 <= 0x5F )
{
v399 = v398;
v400 = *(_QWORD *)(v395 + v397);
v401 = *(unsigned __int16 *)(v400 + 8);
if ( *(_WORD *)(v400 + 8) )
{
v398 = v399 + 1;
v397 += 32LL;
if ( v401 != 18 )
continue;
}
v402 = *(_QWORD *)(v395 + 32LL * (unsigned int)v399 + 8);
if ( v402 )
{
*(_WORD *)(v402 + 8) = 18;
*(_DWORD *)(v402 + 12) = v394;
*(_BYTE *)(v402 + 10) = 4;
*(_QWORD *)(v402 + 16) = 0LL;
*(_QWORD *)(v402 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v393 + 112) + 152LL) = v402;
v393 = *v15;
v395 = *(_QWORD *)(*v15 + 48);
v396 = *(unsigned int *)(v395 + 3080);
}
break;
}
v403 = *((unsigned __int8 *)a4 + 10);
v404 = (32LL * (unsigned int)v396) | 8;
v405 = 0LL;
while ( 1 )
{
v406 = v405;
if ( v396 + v405 > 0x5F )
break;
v407 = *(_QWORD *)(v395 + v404);
v408 = *(unsigned __int16 *)(v407 + 8);
if ( !*(_WORD *)(v407 + 8) )
goto LABEL_460;
v405 = v406 + 1;
v404 += 32LL;
if ( v408 == 22 )
{
if ( (unsigned int)(v396 + v406) > 0x5F )
break;
LABEL_460:
v409 = *(_QWORD *)(v395 + 32LL * (unsigned int)(v396 + v406) + 8);
if ( v409 )
{
*(_WORD *)(v409 + 8) = 22;
*(_DWORD *)(v409 + 12) = v403;
*(_BYTE *)(v409 + 10) = 4;
*(_QWORD *)(v409 + 16) = 0LL;
*(_QWORD *)(v409 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v393 + 112) + 184LL) = v409;
v393 = *v15;
v395 = *(_QWORD *)(*v15 + 48);
v396 = *(unsigned int *)(v395 + 3080);
}
break;
}
}
v410 = a4[3];
v411 = (32LL * (unsigned int)v396) | 8;
v412 = 0LL;
while ( 1 )
{
v413 = v412;
if ( v396 + v412 > 0x5F )
break;
v414 = *(_QWORD *)(v395 + v411);
v415 = *(unsigned __int16 *)(v414 + 8);
if ( !*(_WORD *)(v414 + 8) )
goto LABEL_467;
v412 = v413 + 1;
v411 += 32LL;
if ( v415 == 27 )
{
if ( (unsigned int)(v396 + v413) > 0x5F )
break;
LABEL_467:
v416 = *(_QWORD *)(v395 + 32LL * (unsigned int)(v396 + v413) + 8);
if ( v416 )
{
*(_WORD *)(v416 + 8) = 27;
*(_DWORD *)(v416 + 12) = v410;
*(_BYTE *)(v416 + 10) = 4;
*(_QWORD *)(v416 + 16) = 0LL;
*(_QWORD *)(v416 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v393 + 112) + 224LL) = v416;
v393 = *v15;
v395 = *(_QWORD *)(*v15 + 48);
v396 = *(unsigned int *)(v395 + 3080);
}
break;
}
}
v417 = (32LL * (unsigned int)v396) | 8;
v418 = 0LL;
while ( 1 )
{
v419 = v418;
if ( v396 + v418 > 0x5F )
break;
v420 = *(_QWORD *)(v395 + v417);
v421 = *(unsigned __int16 *)(v420 + 8);
if ( !*(_WORD *)(v420 + 8) )
goto LABEL_474;
v418 = v419 + 1;
v417 += 32LL;
if ( v421 == 54 )
{
if ( (unsigned int)(v396 + v419) > 0x5F )
break;
LABEL_474:
v422 = *(_QWORD *)(v395 + 32LL * (unsigned int)(v396 + v419) + 8);
if ( v422 )
{
*(_WORD *)(v422 + 8) = 54;
*(_DWORD *)(v422 + 12) = v390;
*(_BYTE *)(v422 + 10) = 0;
*(_QWORD *)(v422 + 16) = 0LL;
*(_QWORD *)(v422 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v393 + 112) + 440LL) = v422;
v393 = *v15;
v395 = *(_QWORD *)(*v15 + 48);
v396 = *(unsigned int *)(v395 + 3080);
}
break;
}
}
v423 = (32LL * (unsigned int)v396) | 8;
v424 = 0LL;
while ( 1 )
{
v425 = v424;
if ( v396 + v424 > 0x5F )
break;
v426 = *(_QWORD *)(v395 + v423);
v427 = *(unsigned __int16 *)(v426 + 8);
if ( !*(_WORD *)(v426 + 8) )
goto LABEL_481;
v424 = v425 + 1;
v423 += 32LL;
if ( v427 == 56 )
{
if ( (unsigned int)(v396 + v425) > 0x5F )
break;
LABEL_481:
v428 = *(_QWORD *)(v395 + 32LL * (unsigned int)(v396 + v425) + 8);
if ( v428 )
{
*(_WORD *)(v428 + 8) = 56;
*(_QWORD *)(v428 + 12) = 0x19A00001000LL;
*(_DWORD *)(v428 + 20) = 0x20000;
*(_QWORD *)(v428 + 24) = 0LL;
*(_BYTE *)(v428 + 10) = 3;
*(_QWORD *)(*(_QWORD *)(v393 + 112) + 456LL) = v428;
v393 = *v15;
v395 = *(_QWORD *)(*v15 + 48);
v396 = *(unsigned int *)(v395 + 3080);
}
break;
}
}
v429 = v395 + 32 * v396 + 8;
while ( v396 <= 0x5F )
{
v430 = v396;
v431 = *(unsigned __int16 *)(*(_QWORD *)v429 + 8LL);
if ( !*(_WORD *)(*(_QWORD *)v429 + 8LL) )
goto LABEL_488;
++v396;
v429 += 32LL;
if ( v431 == 90 )
{
if ( (unsigned int)(v396 - 1) > 0x5F )
break;
LABEL_488:
v432 = *(_QWORD *)(v395 + 32LL * v430 + 8);
if ( v432 )
{
*(_WORD *)(v432 + 8) = 90;
*(_QWORD *)(v432 + 12) = 0LL;
*(_QWORD *)(v432 + 20) = 0LL;
*(_DWORD *)(v432 + 28) = 0;
*(_BYTE *)(v432 + 10) = 1;
*(_QWORD *)(*(_QWORD *)(v393 + 112) + 728LL) = v432;
v393 = *v15;
}
break;
}
}
v433 = *(_DWORD *)(v393 + 120) + 1;
v434 = *(_QWORD *)(v393 + 8);
*(_DWORD *)(v393 + 120) = v433;
v435 = *(_QWORD *)(*(_QWORD *)(v434 + 136) + 5320LL);
if ( v435 )
{
do
{
v436 = sub_7102899E6C(v393, 0x4Cu, 8u, 1, v435);
if ( !v436 )
break;
if ( (*(_BYTE *)(v436 + 63) & 0x20) == 0 )
v436 = *(_QWORD *)(v435 + 24);
v435 = v436;
}
while ( v436 );
v433 = *(_DWORD *)(v393 + 120);
}
v437 = v433 - 1;
*(_DWORD *)(v393 + 120) = v437;
if ( !v437 )
{
for ( kk = *(_QWORD *)(*(_QWORD *)(*(_QWORD *)(v393 + 8) + 136LL) + 5320LL); kk; kk = *(_QWORD *)(kk + 24) )
*(_DWORD *)(kk + 60) = *(unsigned __int16 *)(kk + 62) << 16;
}
v439 = (_QWORD *)*v15;
v440 = *(_QWORD **)(*v15 + 112);
v441 = v440[55];
if ( v441 )
{
v442 = *(unsigned __int16 *)(v441 + 12);
v443 = v440[57];
if ( v443 )
goto LABEL_502;
}
else
{
v442 = 0;
v443 = v440[57];
if ( v443 )
{
LABEL_502:
v444 = *(_DWORD *)(v443 + 12);
v445 = v440[91];
if ( v445 )
{
LABEL_503:
v816 = *(_DWORD *)(v445 + 12) != 0;
goto LABEL_507;
}
LABEL_506:
v816 = 0;
LABEL_507:
v446 = v439[10];
v447 = *(unsigned int *)(v446 + 1032);
if ( (_DWORD)v447 )
{
memset_0((void *)(*(_QWORD *)(v446 + 32 * v447 + 8) + 8LL), 0, 0x410uLL);
--*(_DWORD *)(v446 + 1032);
v446 = v439[10];
v448 = *(unsigned int *)(v446 + 1032);
}
else
{
v448 = 0LL;
}
v439[14] = *(_QWORD *)(v446 + 32 * v448 + 8);
v449 = v439[6];
v450 = *(_DWORD *)(v449 + 3080);
if ( v450 )
{
if ( (unsigned __int16)*(_DWORD *)(v449 + 3080) <= 0x5Fu )
{
v451 = (unsigned __int16)*(_DWORD *)(v449 + 3080) + 1LL;
v452 = v449 + 32LL * (unsigned __int16)*(_DWORD *)(v449 + 3080) + 8;
do
{
if ( !*(_WORD *)(*(_QWORD *)v452 + 8LL) )
break;
*(_WORD *)(*(_QWORD *)v452 + 8LL) = 0;
v453 = (unsigned __int16)v451++;
v452 += 32LL;
}
while ( v453 != 96 );
v450 = *(_DWORD *)(v449 + 3080);
}
v454 = (unsigned int)(v450 - 1);
*(_DWORD *)(v449 + 3080) = v454;
*(_WORD *)(*(_QWORD *)(v449 + 32 * v454 + 8) + 8LL) = 0;
v455 = *(unsigned int *)(v449 + 3080);
while ( v455 )
{
*(_DWORD *)(v449 + 3080) = --v455;
if ( *(_WORD *)(*(_QWORD *)(v449 + 32LL * (unsigned int)v455 + 8) + 8LL) == 1 )
{
*(_DWORD *)(v449 + 3080) = v455 + 1;
break;
}
}
}
v456 = a4[3];
if ( ((v444 * v442) & 0xFFFu) <= 0x800 )
v457 = (unsigned int)(v444 * v442) >> 12;
else
v457 = ((unsigned int)(v444 * v442) >> 12) + 1;
if ( v456 == 2 )
v458 = 11;
else
v458 = 9;
if ( (a3[552] & 7) != 0 )
{
v459 = 2LL;
if ( v456 == 2 )
v459 = 6LL;
v458 = dword_7103788C20[v459 + 1];
}
v460 = *v15;
v461 = *(_QWORD *)(*v15 + 48);
v462 = *(_DWORD *)(v461 + 3080);
if ( v462 <= 0x5F )
{
while ( 1 )
{
v463 = *(_QWORD *)(v461 + 32LL * v462 + 8);
if ( !*(_WORD *)(v463 + 8) )
break;
*(_DWORD *)(v461 + 3080) = ++v462;
if ( v462 == 96 )
goto LABEL_536;
}
if ( v462 <= 0x5E )
{
*(_WORD *)(v463 + 8) = 1;
++*(_DWORD *)(v461 + 3080);
}
}
LABEL_536:
v464 = *(_QWORD *)(v460 + 80);
v465 = *(_DWORD *)(v464 + 1032);
if ( v465 <= 0x1E )
{
*(_DWORD *)(v464 + 1032) = v465 + 1;
v464 = *(_QWORD *)(v460 + 80);
v465 = *(_DWORD *)(v464 + 1032);
}
*(_QWORD *)(v460 + 112) = *(_QWORD *)(v464 + 32LL * v465 + 8);
v466 = *v15;
v467 = *(unsigned __int8 *)(v825 + 125);
v468 = *(_QWORD *)(*v15 + 48);
v469 = *(unsigned int *)(v468 + 3080);
v470 = (32 * v469) | 8;
v471 = v469;
while ( v471 <= 0x5F )
{
v472 = v471;
v473 = *(_QWORD *)(v468 + v470);
v474 = *(unsigned __int16 *)(v473 + 8);
if ( *(_WORD *)(v473 + 8) )
{
v471 = v472 + 1;
v470 += 32LL;
if ( v474 != 3 )
continue;
}
v475 = *(_QWORD *)(v468 + 32LL * (unsigned int)v472 + 8);
if ( v475 )
{
*(_WORD *)(v475 + 8) = 3;
*(_DWORD *)(v475 + 12) = v467;
*(_BYTE *)(v475 + 10) = 4;
*(_QWORD *)(v475 + 16) = 0LL;
*(_QWORD *)(v475 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v466 + 112) + 32LL) = v475;
v466 = *v15;
v468 = *(_QWORD *)(*v15 + 48);
v469 = *(unsigned int *)(v468 + 3080);
}
break;
}
v476 = (unsigned __int8)a3[125];
v477 = (32LL * (unsigned int)v469) | 8;
v478 = 0LL;
while ( 1 )
{
v479 = v478;
if ( v469 + v478 > 0x5F )
break;
v480 = *(_QWORD *)(v468 + v477);
v481 = *(unsigned __int16 *)(v480 + 8);
if ( !*(_WORD *)(v480 + 8) )
goto LABEL_549;
v478 = v479 + 1;
v477 += 32LL;
if ( v481 == 4 )
{
if ( (unsigned int)(v469 + v479) > 0x5F )
break;
LABEL_549:
v482 = *(_QWORD *)(v468 + 32LL * (unsigned int)(v469 + v479) + 8);
if ( v482 )
{
*(_WORD *)(v482 + 8) = 4;
*(_DWORD *)(v482 + 12) = v476;
*(_BYTE *)(v482 + 10) = 4;
*(_QWORD *)(v482 + 16) = 0LL;
*(_QWORD *)(v482 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v466 + 112) + 40LL) = v482;
v466 = *v15;
v468 = *(_QWORD *)(*v15 + 48);
v469 = *(unsigned int *)(v468 + 3080);
}
break;
}
}
v483 = (32LL * (unsigned int)v469) | 8;
v484 = 0LL;
while ( 1 )
{
v485 = v484;
if ( v469 + v484 > 0x5F )
break;
v486 = *(_QWORD *)(v468 + v483);
v487 = *(unsigned __int16 *)(v486 + 8);
if ( !*(_WORD *)(v486 + 8) )
goto LABEL_556;
v484 = v485 + 1;
v483 += 32LL;
if ( v487 == 65 )
{
if ( (unsigned int)(v469 + v485) > 0x5F )
break;
LABEL_556:
v488 = *(_QWORD *)(v468 + 32LL * (unsigned int)(v469 + v485) + 8);
if ( v488 )
{
*(_WORD *)(v488 + 8) = 65;
*(_DWORD *)(v488 + 12) = v458;
*(_BYTE *)(v488 + 10) = 4;
*(_QWORD *)(v488 + 16) = 0LL;
*(_QWORD *)(v488 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v466 + 112) + 528LL) = v488;
v466 = *v15;
v468 = *(_QWORD *)(*v15 + 48);
v469 = *(unsigned int *)(v468 + 3080);
}
break;
}
}
v489 = (32LL * (unsigned int)v469) | 8;
v490 = 0LL;
while ( 1 )
{
v491 = v490;
if ( v469 + v490 > 0x5F )
break;
v492 = *(_QWORD *)(v468 + v489);
v493 = *(unsigned __int16 *)(v492 + 8);
if ( !*(_WORD *)(v492 + 8) )
goto LABEL_563;
v490 = v491 + 1;
v489 += 32LL;
if ( v493 == 66 )
{
if ( (unsigned int)(v469 + v491) > 0x5F )
break;
LABEL_563:
v494 = *(_QWORD *)(v468 + 32LL * (unsigned int)(v469 + v491) + 8);
if ( v494 )
{
*(_WORD *)(v494 + 8) = 66;
*(_BYTE *)(v494 + 10) = 0;
*(_QWORD *)(v494 + 12) = 0LL;
*(_QWORD *)(v494 + 20) = 0LL;
*(_DWORD *)(v494 + 28) = 0;
*(_QWORD *)(*(_QWORD *)(v466 + 112) + 536LL) = v494;
v466 = *v15;
v468 = *(_QWORD *)(*v15 + 48);
v469 = *(unsigned int *)(v468 + 3080);
}
break;
}
}
v495 = v468 + 32 * v469 + 8;
v817 = v457;
while ( v469 <= 0x5F )
{
v496 = v469;
v497 = *(unsigned __int16 *)(*(_QWORD *)v495 + 8LL);
if ( !*(_WORD *)(*(_QWORD *)v495 + 8LL) )
goto LABEL_570;
++v469;
v495 += 32LL;
if ( v497 == 89 )
{
if ( (unsigned int)(v469 - 1) > 0x5F )
break;
LABEL_570:
v498 = *(_QWORD *)(v468 + 32LL * v496 + 8);
if ( v498 )
{
*(_WORD *)(v498 + 8) = 89;
*(_QWORD *)(v498 + 12) = 0LL;
*(_QWORD *)(v498 + 20) = 0LL;
*(_DWORD *)(v498 + 28) = 0;
*(_BYTE *)(v498 + 10) = 1;
*(_QWORD *)(*(_QWORD *)(v466 + 112) + 720LL) = v498;
v466 = *v15;
}
break;
}
}
v499 = *(_DWORD *)(v466 + 120) + 1;
v500 = *(_QWORD *)(v466 + 8);
*(_DWORD *)(v466 + 120) = v499;
v501 = *(_QWORD *)(*(_QWORD *)(v500 + 136) + 5320LL);
if ( v501 )
{
do
{
v502 = sub_7102899E6C(v466, 0x4Au, 8u, 1, v501);
if ( !v502 )
break;
if ( (*(_BYTE *)(v502 + 63) & 0x20) == 0 )
v502 = *(_QWORD *)(v501 + 24);
v501 = v502;
}
while ( v502 );
v499 = *(_DWORD *)(v466 + 120);
}
v503 = v499 - 1;
*(_DWORD *)(v466 + 120) = v503;
if ( !v503 )
{
for ( mm = *(_QWORD *)(*(_QWORD *)(*(_QWORD *)(v466 + 8) + 136LL) + 5320LL); mm; mm = *(_QWORD *)(mm + 24) )
*(_DWORD *)(mm + 60) = *(unsigned __int16 *)(mm + 62) << 16;
}
v505 = (_QWORD *)*v15;
v506 = *(_QWORD *)(*v15 + 112);
v507 = *(_QWORD *)(v506 + 720);
if ( v507 )
{
v508 = *(_DWORD *)(v507 + 12);
v509 = *(_QWORD *)(v506 + 536);
if ( v509 )
{
LABEL_584:
v510 = *(_DWORD *)(v509 + 12);
goto LABEL_587;
}
}
else
{
LOBYTE(v508) = 0;
v509 = *(_QWORD *)(v506 + 536);
if ( v509 )
goto LABEL_584;
}
LOBYTE(v510) = 0;
LABEL_587:
v511 = v505[10];
v512 = *(unsigned int *)(v511 + 1032);
if ( (_DWORD)v512 )
{
memset_0((void *)(*(_QWORD *)(v511 + 32 * v512 + 8) + 8LL), 0, 0x410uLL);
--*(_DWORD *)(v511 + 1032);
v511 = v505[10];
v513 = *(unsigned int *)(v511 + 1032);
}
else
{
v513 = 0LL;
}
v514 = v511 + 32 * v513;
v21 = a11;
v505[14] = *(_QWORD *)(v514 + 8);
v515 = v505[6];
v516 = *(_DWORD *)(v515 + 3080);
if ( v516 )
{
if ( (unsigned __int16)*(_DWORD *)(v515 + 3080) <= 0x5Fu )
{
v517 = (unsigned __int16)*(_DWORD *)(v515 + 3080) + 1LL;
v518 = v515 + 32LL * (unsigned __int16)*(_DWORD *)(v515 + 3080) + 8;
do
{
if ( !*(_WORD *)(*(_QWORD *)v518 + 8LL) )
break;
*(_WORD *)(*(_QWORD *)v518 + 8LL) = 0;
v519 = (unsigned __int16)v517++;
v518 += 32LL;
}
while ( v519 != 96 );
v516 = *(_DWORD *)(v515 + 3080);
}
v520 = (unsigned int)(v516 - 1);
*(_DWORD *)(v515 + 3080) = v520;
*(_WORD *)(*(_QWORD *)(v515 + 32 * v520 + 8) + 8LL) = 0;
v521 = *(unsigned int *)(v515 + 3080);
while ( v521 )
{
*(_DWORD *)(v515 + 3080) = --v521;
if ( *(_WORD *)(*(_QWORD *)(v515 + 32LL * (unsigned int)v521 + 8) + 8LL) == 1 )
{
*(_DWORD *)(v515 + 3080) = v521 + 1;
break;
}
}
}
if ( (v510 & 1) != 0 )
{
v522 = v458 == 9;
if ( v458 == 9 )
v458 = 11;
else
v458 = 9;
if ( v522 )
v456 = 2;
else
v456 = 1;
}
if ( (_BYTE)v508 )
{
v523 = sub_710285084C((__int64)a3, v458);
}
else if ( is_critical )
{
v523 = sub_7102851958((__int64)a3, v458);
}
else
{
v523 = sub_71028506A8((__int64)a3, v458);
}
LOWORD(v524) = v523;
if ( (unsigned __int8)sub_710286EAA8((__int64)a1) != 4 )
goto LABEL_626;
v525 = (unsigned __int8)a3[732];
v526 = (unsigned __int8)a3[733];
v527 = (a3[360] & 7) != 0;
v528 = v525 == 18 || v525 == 2 && v527;
v529 = v526 == 18 || v527 && v526 == 2;
if ( ((char)a3[905] & 0x80000000) == 0 )
{
if ( v528 )
{
if ( v529 )
v526 = 0;
LABEL_621:
if ( v526 == 5 )
goto LABEL_754;
LABEL_622:
if ( v526 != 5 )
{
if ( v458 == 11 && a3[734] == 5 )
goto LABEL_625;
goto LABEL_626;
}
LABEL_754:
if ( v458 == 11 )
LABEL_625:
v524 = ((3 * (unsigned int)(unsigned __int16)v524) >> 1) & 0xFFFFF;
LABEL_626:
v530 = *v15;
v531 = *(_QWORD *)(*v15 + 48);
v532 = *(_DWORD *)(v531 + 3080);
if ( v532 <= 0x5F )
{
while ( 1 )
{
v533 = *(_QWORD *)(v531 + 32LL * v532 + 8);
if ( !*(_WORD *)(v533 + 8) )
break;
*(_DWORD *)(v531 + 3080) = ++v532;
if ( v532 == 96 )
goto LABEL_632;
}
if ( v532 <= 0x5E )
{
*(_WORD *)(v533 + 8) = 1;
++*(_DWORD *)(v531 + 3080);
}
}
LABEL_632:
v534 = *(_QWORD *)(v530 + 80);
v535 = *(_DWORD *)(v534 + 1032);
if ( v535 <= 0x1E )
{
*(_DWORD *)(v534 + 1032) = v535 + 1;
v534 = *(_QWORD *)(v530 + 80);
v535 = *(_DWORD *)(v534 + 1032);
}
*(_QWORD *)(v530 + 112) = *(_QWORD *)(v534 + 32LL * v535 + 8);
v536 = *(unsigned __int8 *)(v825 + 125);
v537 = *v15;
v538 = *(_QWORD *)(*v15 + 48);
v539 = *(unsigned int *)(v538 + 3080);
v540 = (32 * v539) | 8;
v541 = v539;
while ( v541 <= 0x5F )
{
v542 = v541;
v543 = *(_QWORD *)(v538 + v540);
v544 = *(unsigned __int16 *)(v543 + 8);
if ( *(_WORD *)(v543 + 8) )
{
v541 = v542 + 1;
v540 += 32LL;
if ( v544 != 3 )
continue;
}
v545 = *(_QWORD *)(v538 + 32LL * (unsigned int)v542 + 8);
if ( v545 )
{
*(_WORD *)(v545 + 8) = 3;
*(_DWORD *)(v545 + 12) = v536;
*(_BYTE *)(v545 + 10) = 4;
*(_QWORD *)(v545 + 16) = 0LL;
*(_QWORD *)(v545 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v537 + 112) + 32LL) = v545;
v537 = *v15;
v538 = *(_QWORD *)(*v15 + 48);
v539 = *(unsigned int *)(v538 + 3080);
}
break;
}
v546 = (unsigned __int8)a3[125];
v547 = (32LL * (unsigned int)v539) | 8;
v548 = 0LL;
while ( 1 )
{
v549 = v548;
if ( v539 + v548 > 0x5F )
break;
v550 = *(_QWORD *)(v538 + v547);
v551 = *(unsigned __int16 *)(v550 + 8);
if ( !*(_WORD *)(v550 + 8) )
goto LABEL_645;
v548 = v549 + 1;
v547 += 32LL;
if ( v551 == 4 )
{
if ( (unsigned int)(v539 + v549) > 0x5F )
break;
LABEL_645:
v552 = *(_QWORD *)(v538 + 32LL * (unsigned int)(v539 + v549) + 8);
if ( v552 )
{
*(_WORD *)(v552 + 8) = 4;
*(_DWORD *)(v552 + 12) = v546;
*(_BYTE *)(v552 + 10) = 4;
*(_QWORD *)(v552 + 16) = 0LL;
*(_QWORD *)(v552 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v537 + 112) + 40LL) = v552;
v537 = *v15;
v538 = *(_QWORD *)(*v15 + 48);
v539 = *(unsigned int *)(v538 + 3080);
}
break;
}
}
v553 = *a4;
v554 = (32LL * (unsigned int)v539) | 8;
v555 = 0LL;
while ( 1 )
{
v556 = v555;
if ( v539 + v555 > 0x5F )
break;
v557 = *(_QWORD *)(v538 + v554);
v558 = *(unsigned __int16 *)(v557 + 8);
if ( !*(_WORD *)(v557 + 8) )
goto LABEL_652;
v555 = v556 + 1;
v554 += 32LL;
if ( v558 == 18 )
{
if ( (unsigned int)(v539 + v556) > 0x5F )
break;
LABEL_652:
v559 = *(_QWORD *)(v538 + 32LL * (unsigned int)(v539 + v556) + 8);
if ( v559 )
{
*(_WORD *)(v559 + 8) = 18;
*(_DWORD *)(v559 + 12) = v553;
*(_BYTE *)(v559 + 10) = 4;
*(_QWORD *)(v559 + 16) = 0LL;
*(_QWORD *)(v559 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v537 + 112) + 152LL) = v559;
v537 = *v15;
v538 = *(_QWORD *)(*v15 + 48);
v539 = *(unsigned int *)(v538 + 3080);
}
break;
}
}
v560 = *((unsigned __int8 *)a4 + 10);
v561 = (32LL * (unsigned int)v539) | 8;
v562 = 0LL;
while ( 1 )
{
v563 = v562;
if ( v539 + v562 > 0x5F )
break;
v564 = *(_QWORD *)(v538 + v561);
v565 = *(unsigned __int16 *)(v564 + 8);
if ( !*(_WORD *)(v564 + 8) )
goto LABEL_659;
v562 = v563 + 1;
v561 += 32LL;
if ( v565 == 22 )
{
if ( (unsigned int)(v539 + v563) > 0x5F )
break;
LABEL_659:
v566 = *(_QWORD *)(v538 + 32LL * (unsigned int)(v539 + v563) + 8);
if ( v566 )
{
*(_WORD *)(v566 + 8) = 22;
*(_DWORD *)(v566 + 12) = v560;
*(_BYTE *)(v566 + 10) = 4;
*(_QWORD *)(v566 + 16) = 0LL;
*(_QWORD *)(v566 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v537 + 112) + 184LL) = v566;
v537 = *v15;
v538 = *(_QWORD *)(*v15 + 48);
v539 = *(unsigned int *)(v538 + 3080);
}
break;
}
}
v567 = (32LL * (unsigned int)v539) | 8;
v568 = 0LL;
while ( 1 )
{
v569 = v568;
if ( v539 + v568 > 0x5F )
break;
v570 = *(_QWORD *)(v538 + v567);
v571 = *(unsigned __int16 *)(v570 + 8);
if ( !*(_WORD *)(v570 + 8) )
goto LABEL_666;
v568 = v569 + 1;
v567 += 32LL;
if ( v571 == 27 )
{
if ( (unsigned int)(v539 + v569) > 0x5F )
break;
LABEL_666:
v572 = *(_QWORD *)(v538 + 32LL * (unsigned int)(v539 + v569) + 8);
if ( v572 )
{
*(_WORD *)(v572 + 8) = 27;
*(_DWORD *)(v572 + 12) = v456;
*(_BYTE *)(v572 + 10) = 4;
*(_QWORD *)(v572 + 16) = 0LL;
*(_QWORD *)(v572 + 24) = 0LL;
v573 = v15;
*(_QWORD *)(*(_QWORD *)(v537 + 112) + 224LL) = v572;
v537 = *v15;
v538 = *(_QWORD *)(*v15 + 48);
v539 = *(unsigned int *)(v538 + 3080);
goto LABEL_669;
}
break;
}
}
v573 = v15;
LABEL_669:
v574 = (32LL * (unsigned int)v539) | 8;
v575 = 0LL;
while ( 1 )
{
v576 = v575;
if ( v539 + v575 > 0x5F )
break;
v577 = *(_QWORD *)(v538 + v574);
v578 = *(unsigned __int16 *)(v577 + 8);
if ( !*(_WORD *)(v577 + 8) )
goto LABEL_674;
v575 = v576 + 1;
v574 += 32LL;
if ( v578 == 55 )
{
if ( (unsigned int)(v539 + v576) > 0x5F )
break;
LABEL_674:
v579 = *(_QWORD *)(v538 + 32LL * (unsigned int)(v539 + v576) + 8);
if ( v579 )
{
*(_WORD *)(v579 + 8) = 55;
*(_DWORD *)(v579 + 12) = (unsigned __int16)v524;
*(_BYTE *)(v579 + 10) = 0;
*(_QWORD *)(v579 + 16) = 0LL;
*(_QWORD *)(v579 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v537 + 112) + 448LL) = v579;
v537 = *v573;
v538 = *(_QWORD *)(*v573 + 48);
v539 = *(unsigned int *)(v538 + 3080);
}
break;
}
}
v580 = v538 + 32 * v539 + 8;
while ( v539 <= 0x5F )
{
v581 = v539;
v582 = *(unsigned __int16 *)(*(_QWORD *)v580 + 8LL);
if ( !*(_WORD *)(*(_QWORD *)v580 + 8LL) )
goto LABEL_681;
++v539;
v580 += 32LL;
if ( v582 == 56 )
{
if ( (unsigned int)(v539 - 1) > 0x5F )
break;
LABEL_681:
v583 = *(_QWORD *)(v538 + 32LL * v581 + 8);
if ( v583 )
{
*(_WORD *)(v583 + 8) = 56;
*(_QWORD *)(v583 + 12) = 0x19A00001000LL;
*(_DWORD *)(v583 + 20) = 0x20000;
*(_QWORD *)(v583 + 24) = 0LL;
*(_BYTE *)(v583 + 10) = 3;
*(_QWORD *)(*(_QWORD *)(v537 + 112) + 456LL) = v583;
v537 = *v573;
}
break;
}
}
v584 = *(_DWORD *)(v537 + 120) + 1;
v585 = *(_QWORD *)(v537 + 8);
*(_DWORD *)(v537 + 120) = v584;
v586 = *(_QWORD *)(*(_QWORD *)(v585 + 136) + 5320LL);
if ( v586 )
{
do
{
v587 = sub_7102899E6C(v537, 0x4Du, 8u, 1, v586);
if ( !v587 )
break;
if ( (*(_BYTE *)(v587 + 63) & 0x20) == 0 )
v587 = *(_QWORD *)(v586 + 24);
v586 = v587;
}
while ( v587 );
v584 = *(_DWORD *)(v537 + 120);
}
v588 = v584 - 1;
*(_DWORD *)(v537 + 120) = v588;
if ( !v588 )
{
for ( nn = *(_QWORD *)(*(_QWORD *)(*(_QWORD *)(v537 + 8) + 136LL) + 5320LL); nn; nn = *(_QWORD *)(nn + 24) )
*(_DWORD *)(nn + 60) = *(unsigned __int16 *)(nn + 62) << 16;
}
v590 = (_QWORD *)*v573;
v591 = *(_QWORD *)(*v573 + 112);
v592 = *(_QWORD *)(v591 + 448);
if ( v592 )
{
v593 = *(unsigned __int16 *)(v592 + 12);
v594 = *(_QWORD *)(v591 + 456);
if ( v594 )
{
LABEL_695:
v595 = *(_DWORD *)(v594 + 12);
goto LABEL_698;
}
}
else
{
v593 = 0;
v594 = *(_QWORD *)(v591 + 456);
if ( v594 )
goto LABEL_695;
}
v595 = 0;
LABEL_698:
v596 = v590[10];
v597 = *(unsigned int *)(v596 + 1032);
if ( (_DWORD)v597 )
{
memset_0((void *)(*(_QWORD *)(v596 + 32 * v597 + 8) + 8LL), 0, 0x410uLL);
--*(_DWORD *)(v596 + 1032);
v596 = v590[10];
v598 = *(unsigned int *)(v596 + 1032);
}
else
{
v598 = 0LL;
}
v599 = v596 + 32 * v598;
v55 = v15;
v590[14] = *(_QWORD *)(v599 + 8);
v600 = v590[6];
v601 = *(_DWORD *)(v600 + 3080);
if ( v601 )
{
if ( (unsigned __int16)*(_DWORD *)(v600 + 3080) <= 0x5Fu )
{
v602 = (unsigned __int16)*(_DWORD *)(v600 + 3080) + 1LL;
v603 = v600 + 32LL * (unsigned __int16)*(_DWORD *)(v600 + 3080) + 8;
do
{
if ( !*(_WORD *)(*(_QWORD *)v603 + 8LL) )
break;
*(_WORD *)(*(_QWORD *)v603 + 8LL) = 0;
v604 = (unsigned __int16)v602++;
v603 += 32LL;
}
while ( v604 != 96 );
v601 = *(_DWORD *)(v600 + 3080);
}
v605 = (unsigned int)(v601 - 1);
*(_DWORD *)(v600 + 3080) = v605;
*(_WORD *)(*(_QWORD *)(v600 + 32 * v605 + 8) + 8LL) = 0;
v606 = *(unsigned int *)(v600 + 3080);
while ( v606 )
{
*(_DWORD *)(v600 + 3080) = --v606;
if ( *(_WORD *)(*(_QWORD *)(v600 + 32LL * (unsigned int)v606 + 8) + 8LL) == 1 )
{
*(_DWORD *)(v600 + 3080) = v606 + 1;
break;
}
}
}
if ( ((v595 * v593) & 0xFFFu) <= 0x800 )// Unsure.
v607 = (unsigned int)(v595 * v593) >> 12;
else
v607 = ((unsigned int)(v595 * v593) >> 12) + 1;
LODWORD(v826) = v818;
BYTE4(v826) = sub_71028506A8(v825, 15LL);
HIDWORD(v826) = BYTE4(v826);
v608 = v607;
v609 = v825;
v827 = v817;
v829 = sub_71028506A8(v825, 1LL);
v830 = sub_71028506A8((__int64)a3, 2LL);
damage_initial = calc_initial_damage(a1[1], &v826);// Get the initial damage here.
if ( unknown_mod != 4096 )
{
if ( ((damage_initial * unknown_mod) & 0xFFF) <= 2048 )
damage_initial = (damage_initial * unknown_mod) >> 12;
else
damage_initial = ((damage_initial * unknown_mod) >> 12) + 1;
}
if ( (a10 == 5 || a10 == 2) && *((_BYTE *)a4 + 10) == 9 )
{
v612 = *(__int64 **)(a1[1] + 488LL);
if ( v612 )
{
v613 = (unsigned int *)(v612 + 10);
do
v614 = __ldaxr(v613);
while ( __stlxr(v614 + 1, v613) );
}
sub_71008463F0(&v826, v612 + 12);
rain_fire_damage_mod = v831;
sub_7100845E04(&v826);
if ( v612 )
{
v616 = (unsigned int *)(v612 + 10);
do
{
v617 = __ldaxr(v616);
v618 = v617 - 1;
}
while ( __stlxr(v618, v616) );
if ( !v618 )
(*(void (__fastcall **)(__int64 *))(*v612 + 16))(v612);
}
v619 = (float)rain_fire_damage_mod / 100.0;
v620 = v619 * 4096.0;
v621 = v619 <= 0.0;
v622 = -0.5;
if ( !v621 )
v622 = 0.5;
rain_fire_damage_mod_4096 = (int)(float)(v620 + v622);
if ( rain_fire_damage_mod_4096 != 4096 )
{
v624 = damage_initial * rain_fire_damage_mod_4096;
v625 = v624 & 0xFFF;
v626 = v624 >> 12;
if ( v625 <= 0x800 )
damage_initial = v626;
else
damage_initial = v626 + 1;
}
v21 = a11;
v609 = v825;
}
if ( is_critical )
damage_initial = 15 * damage_initial / 10;// Critical hit multiplier
if ( (a8 & 1) != 0 )
{
damage_roll_multiplier = 85;
}
else
{
v628 = qword_71042ECDE0;
v629 = *(_QWORD *)(qword_71042ECDE0 + 8);
v630 = *(_QWORD *)(qword_71042ECDE0 + 16);
v631 = v630 + v629;
v632 = v630 ^ v629;
*(_QWORD *)(qword_71042ECDE0 + 8) = v632 ^ __ROR8__(v629, 40) ^ (v632 << 16);
*(_QWORD *)(v628 + 16) = __ROR8__(v632, 27);
damage_roll_multiplier = 100 - (v631 & 0xF);
}
v633 = *((unsigned __int8 *)a4 + 10);
v634 = damage_roll_multiplier * damage_initial / 100;
if ( v633 == 18 )
{
LABEL_839:
damage_after_effectiveness = apply_damage_effectiveness_modifier(v634, a5);
v707 = a4[3];
if ( v707 == 1 )
{
v178 = 0;
if ( (*(_BYTE *)(v609 + 152) & 7) != 0
|| (*(_BYTE *)(v609 + 160) & 7) != 0
|| (*(_BYTE *)(v609 + 168) & 7) != 0
|| v816
|| (*(_QWORD *)(v609 + 176) & 7LL) == 0 )
{
goto LABEL_872;
}
v709 = *(__int64 **)(a1[1] + 488LL);
if ( v709 )
{
v710 = (unsigned int *)(v709 + 10);
do
v711 = __ldaxr(v710);
while ( __stlxr(v711 + 1, v710) );
}
sub_71008463F0(&v826, v709 + 12);
burn_physical_damage_mod = v832;
sub_7100845E04(&v826);
if ( v709 )
{
v713 = (unsigned int *)(v709 + 10);
do
{
v714 = __ldaxr(v713);
v715 = v714 - 1;
}
while ( __stlxr(v715, v713) );
if ( !v715 )
(*(void (__fastcall **)(__int64 *))(*v709 + 16))(v709);
}
v716 = burn_physical_damage_mod * damage_after_effectiveness;
v609 = v825;
damage_after_effectiveness = v716 / 100;
v707 = a4[3];
}
v178 = 0;
if ( v707 == 2
&& (*(_BYTE *)(v609 + 152) & 7) == 0
&& (*(_BYTE *)(v609 + 160) & 7) == 0
&& (*(_BYTE *)(v609 + 168) & 7) == 0
&& (*(_BYTE *)(v609 + 176) & 7) == 0
&& (*(_BYTE *)(v609 + 184) & 7) == 0
&& (*(_BYTE *)(v609 + 192) & 7) == 0
&& !v816
&& (*(_QWORD *)(v609 + 200) & 7LL) != 0 )
{
v717 = *(__int64 **)(a1[1] + 488LL);
if ( v717 )
{
v718 = (unsigned int *)(v717 + 10);
do
v719 = __ldaxr(v718);
while ( __stlxr(v719 + 1, v718) );
}
sub_71008463F0(&v826, v717 + 12);
frostbite_special_damage_mod = v833;
sub_7100845E04(&v826);
if ( v717 )
{
v721 = (unsigned int *)(v717 + 10);
do
{
v722 = __ldaxr(v721);
v723 = v722 - 1;
}
while ( __stlxr(v723, v721) );
if ( !v723 )
(*(void (__fastcall **)(__int64 *))(*v717 + 16))(v717);
}
v724 = frostbite_special_damage_mod * damage_after_effectiveness;
v609 = v825;
v178 = 0;
damage_after_effectiveness = v724 / 100;
}
LABEL_872:
if ( (a3[152] & 7) == 0
&& (a3[160] & 7) == 0
&& (a3[168] & 7) == 0
&& (a3[176] & 7) == 0
&& (a3[184] & 7) == 0
&& (a3[192] & 7) != 0 )
{
v725 = *(__int64 **)(a1[1] + 488LL);
if ( v725 )
{
v726 = (unsigned int *)(v725 + 10);
do
v727 = __ldaxr(v726);
while ( __stlxr(v727 + 1, v726) );
}
sub_71008463F0(&v826, v725 + 12);
drowsy_damage_mod = v834;
sub_7100845E04(&v826);
if ( v725 )
{
v729 = (unsigned int *)(v725 + 10);
do
{
v730 = __ldaxr(v729);
v731 = v730 - 1;
}
while ( __stlxr(v731, v729) );
if ( !v731 )
(*(void (__fastcall **)(__int64 *))(*v725 + 16))(v725);
}
v732 = drowsy_damage_mod * damage_after_effectiveness;
v609 = v825;
v178 = 0;
damage_after_effectiveness = v732 / 100;
}
v733 = *(_QWORD *)(v609 + 520);
if ( (v733 & 7) != 0 )
{
switch ( v733 & 7 )
{
case 1uLL:
case 2uLL:
case 3uLL:
v734 = v733 >> 14;
break;
case 4uLL:
v734 = v733 >> 20;
break;
default:
LOWORD(v734) = 0;
break;
}
LODWORD(v734) = (unsigned __int16)v734;
}
else
{
LODWORD(v734) = 0;
}
if ( (_DWORD)v734 == *a4 )
{
v735 = *(__int64 **)(a1[1] + 488LL);
if ( v735 )
{
v736 = (unsigned int *)(v735 + 10);
do
v737 = __ldaxr(v736);
while ( __stlxr(v737 + 1, v736) );
}
sub_71008463F0(&v826, v735 + 12);
fixated_offensive_damage_mod = v835;
sub_7100845E04(&v826);
if ( v735 )
{
v739 = (unsigned int *)(v735 + 10);
do
{
v740 = __ldaxr(v739);
v741 = v740 - 1;
}
while ( __stlxr(v741, v739) );
if ( !v741 )
(*(void (__fastcall **)(__int64 *))(*v735 + 16))(v735);
}
damage_after_effectiveness = fixated_offensive_damage_mod * damage_after_effectiveness / 100u;
}
if ( (a3[520] & 7) != 0 )
{
v742 = *(__int64 **)(a1[1] + 488LL);
if ( v742 )
{
v743 = (unsigned int *)(v742 + 10);
do
v744 = __ldaxr(v743);
while ( __stlxr(v744 + 1, v743) );
}
sub_71008463F0(&v826, v742 + 12);
fixated_defensive_damage_mod = v836;
sub_7100845E04(&v826);
if ( v742 )
{
v746 = (unsigned int *)(v742 + 10);
do
{
v747 = __ldaxr(v746);
v748 = v747 - 1;
}
while ( __stlxr(v748, v746) );
if ( !v748 )
(*(void (__fastcall **)(__int64 *))(*v742 + 16))(v742);
}
damage_after_effectiveness = fixated_defensive_damage_mod * damage_after_effectiveness / 100u;
}
v749 = *(_QWORD *)(v825 + 544);
if ( (v749 & 7) == 0 )
{
LABEL_935:
v759 = *v55;
v760 = *(_QWORD *)(*v55 + 48);
v761 = *(unsigned int *)(v760 + 3080);
v762 = (32 * v761) | 8;
v763 = v761;
while ( v763 <= 0x5F )
{
v764 = v763;
v765 = *(_QWORD *)(v760 + v762);
v766 = *(unsigned __int16 *)(v765 + 8);
if ( *(_WORD *)(v765 + 8) )
{
v763 = v764 + 1;
v762 += 32LL;
if ( v766 != 56 )
continue;
}
v767 = *(_QWORD *)(v760 + 32LL * (unsigned int)v764 + 8);
if ( v767 )
{
*(_WORD *)(v767 + 8) = 56;
*(_QWORD *)(v767 + 12) = 0x2900001000LL;
*(_DWORD *)(v767 + 20) = 0x20000;
*(_QWORD *)(v767 + 24) = 0LL;
*(_BYTE *)(v767 + 10) = 3;
*(_QWORD *)(*(_QWORD *)(v759 + 112) + 456LL) = v767;
v759 = *v55;
v760 = *(_QWORD *)(*v55 + 48);
v761 = *(unsigned int *)(v760 + 3080);
}
break;
}
v768 = (32LL * (unsigned int)v761) | 8;
v769 = 0LL;
while ( 1 )
{
v770 = v769;
if ( v761 + v769 > 95 )
break;
v771 = *(_QWORD *)(v760 + v768);
v772 = *(unsigned __int16 *)(v771 + 8);
if ( !*(_WORD *)(v771 + 8) )
goto LABEL_946;
v769 = v770 + 1;
v768 += 32LL;
if ( v772 == 53 )
{
if ( (unsigned int)(v761 + v770) > 95 )
break;
LABEL_946:
v773 = *(_QWORD *)(v760 + 32LL * (unsigned int)(v761 + v770) + 8);
if ( v773 )
{
*(_WORD *)(v773 + 8) = 53;
*(_DWORD *)(v773 + 12) = damage_after_effectiveness;
*(_BYTE *)(v773 + 10) = 0;
*(_QWORD *)(v773 + 16) = 0LL;
*(_QWORD *)(v773 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v759 + 112) + 432LL) = v773;
v759 = *v55;
v760 = *(_QWORD *)(*v55 + 48);
v761 = *(unsigned int *)(v760 + 3080);
}
break;
}
}
v774 = (32LL * (unsigned int)v761) | 8;
v775 = 0LL;
while ( 1 )
{
v776 = v775;
if ( v761 + v775 > 95 )
break;
v777 = *(_QWORD *)(v760 + v774);
v778 = *(unsigned __int16 *)(v777 + 8);
if ( !*(_WORD *)(v777 + 8) )
goto LABEL_953;
v775 = v776 + 1;
v774 += 32LL;
if ( v778 == 100 )
{
if ( (unsigned int)(v761 + v776) > 95 )
break;
LABEL_953:
v779 = *(_QWORD *)(v760 + 32LL * (unsigned int)(v761 + v776) + 8);
if ( v779 )
{
*(_WORD *)(v779 + 8) = 100;
*(_QWORD *)(v779 + 12) = 0LL;
*(_QWORD *)(v779 + 20) = 0LL;
*(_DWORD *)(v779 + 28) = 0;
*(_BYTE *)(v779 + 10) = 1;
*(_QWORD *)(*(_QWORD *)(v759 + 112) + 808LL) = v779;
v759 = *v55;
v760 = *(_QWORD *)(*v55 + 48);
v761 = *(unsigned int *)(v760 + 3080);
}
break;
}
}
v780 = v760 + 32 * v761 + 8;
while ( v761 <= 95 )
{
v781 = v761;
v782 = *(unsigned __int16 *)(*(_QWORD *)v780 + 8LL);
if ( !*(_WORD *)(*(_QWORD *)v780 + 8LL) )
goto LABEL_960;
++v761;
v780 += 32LL;
if ( v782 == 101 )
{
if ( (unsigned int)(v761 - 1) > 0x5F )
break;
LABEL_960:
v783 = *(_QWORD *)(v760 + 32LL * v781 + 8);
if ( v783 )
{
*(_WORD *)(v783 + 8) = 101;
*(_QWORD *)(v783 + 12) = 0LL;
*(_QWORD *)(v783 + 20) = 0LL;
*(_DWORD *)(v783 + 28) = 0;
*(_BYTE *)(v783 + 10) = 1;
*(_QWORD *)(*(_QWORD *)(v759 + 112) + 816LL) = v783;
v759 = *v55;
}
break;
}
}
v784 = *(_DWORD *)(v759 + 120) + 1;
v785 = *(_QWORD *)(v759 + 8);
*(_DWORD *)(v759 + 120) = v784;
v786 = *(_QWORD *)(*(_QWORD *)(v785 + 136) + 5320LL);
if ( v786 )
{
do
{
v787 = sub_7102899E6C(v759, 0x5Cu, 8u, 1, v786);
if ( !v787 )
break;
if ( (*(_BYTE *)(v787 + 63) & 0x20) == 0 )
v787 = *(_QWORD *)(v786 + 24);
v786 = v787;
}
while ( v787 );
v784 = *(_DWORD *)(v759 + 120);
}
v788 = v784 - 1;
*(_DWORD *)(v759 + 120) = v788;
if ( !v788 )
{
for ( i1 = *(_QWORD *)(*(_QWORD *)(*(_QWORD *)(v759 + 8) + 136LL) + 5320LL);
i1;
i1 = *(_QWORD *)(i1 + 24) )
{
*(_DWORD *)(i1 + 60) = *(unsigned __int16 *)(i1 + 62) << 16;
}
}
v173 = *v55;
v790 = *(_QWORD *)(*v55 + 112);
v791 = *(_QWORD *)(v790 + 456);
if ( v791 )
LODWORD(v791) = *(_DWORD *)(v791 + 12);
v177 = *(_QWORD *)(v790 + 432);
if ( v177 )
LODWORD(v177) = *(_DWORD *)(v177 + 12);
v792 = v177 * v791;
v793 = v792 & 0xFFF;
v794 = v792 >> 12;
v621 = v793 > 0x800;
LODWORD(v177) = v819;
if ( v621 )
v179 = v794 + 1;
else
v179 = v794;
goto LABEL_979;
}
v750 = v749 & 7;
switch ( v750 )
{
case 4:
LODWORD(v749) = ((unsigned int)v749 >> 14) & 0x3F;
if ( (_WORD)v749 )
goto LABEL_923;
break;
case 3:
LODWORD(v749) = ((unsigned int)v749 >> 8) & 0x3F;
if ( (_WORD)v749 )
goto LABEL_923;
break;
case 2:
v749 >>= 14;
if ( !(_WORD)v749 )
break;
LABEL_923:
v752 = &(&off_710418AF28)[6 * (unsigned __int16)v749];
v755 = v752[1];
v753 = (void **)(v752 + 1);
v754 = v755;
if ( v755 )
{
if ( !*((_BYTE *)v754 + 481) )
v753 = &off_710418AF30;
}
else
{
v753 = &off_710418AF30;
}
v756 = (int *)(*((_QWORD *)*v753 + 74) + **((unsigned int **)*v753 + 74));
v757 = (unsigned __int16 *)((char *)v756 - *v756);
if ( *v757 >= 123u && (v758 = v757[61]) != 0 )
primed_mod = *((unsigned __int8 *)v756 + v758);
else
primed_mod = 0;
goto LABEL_934;
default:
break;
}
primed_mod = 150;
LABEL_934:
damage_after_effectiveness = primed_mod * damage_after_effectiveness / 100u;
goto LABEL_935;
}
v635 = *(unsigned __int8 *)(v609 + 732);
v636 = *(unsigned __int8 *)(v609 + 733);
v637 = (*(_BYTE *)(v609 + 360) & 7) != 0;
v638 = v635 == 18 || v635 == 2 && v637;
v639 = v636 == 18 || v637 && v636 == 2;
if ( (*(char *)(v609 + 905) & 0x80000000) != 0 )
{
if ( (v638 & 1) != 0 )
{
if ( (v639 & 1) == 0 )
{
LABEL_750:
v635 = v636;
goto LABEL_758;
}
v635 = 18;
goto LABEL_757;
}
if ( (v639 & 1) != 0 )
LABEL_757:
v636 = v635;
}
else
{
if ( v638 )
{
if ( v639 )
v636 = 0;
goto LABEL_750;
}
if ( v639 )
goto LABEL_757;
}
LABEL_758:
v640 = 1;
if ( v635 != v633 && v636 != v633 )
v640 = *(unsigned __int8 *)(v609 + 734) == v633;
v641 = *v15;
v642 = *(_QWORD *)(*v15 + 48);
v643 = *(_DWORD *)(v642 + 3080);
if ( v643 <= 95 )
{
while ( 1 )
{
v644 = *(_QWORD *)(v642 + 32LL * v643 + 8);
if ( !*(_WORD *)(v644 + 8) )
break;
*(_DWORD *)(v642 + 3080) = ++v643;
if ( v643 == 96 )
goto LABEL_767;
}
if ( v643 <= 94 )
{
*(_WORD *)(v644 + 8) = 1;
++*(_DWORD *)(v642 + 3080);
}
}
LABEL_767:
v645 = *(_QWORD *)(v641 + 80);
v646 = *(_DWORD *)(v645 + 1032);
if ( v646 <= 0x1E )
{
*(_DWORD *)(v645 + 1032) = v646 + 1;
v645 = *(_QWORD *)(v641 + 80);
v646 = *(_DWORD *)(v645 + 1032);
}
*(_QWORD *)(v641 + 112) = *(_QWORD *)(v645 + 32LL * v646 + 8);
v647 = *v15;
v648 = *(_QWORD *)(*v15 + 48);
v649 = *(unsigned int *)(v648 + 3080);
v650 = *(unsigned __int8 *)(v609 + 125);
v651 = (32 * v649) | 8;
v652 = v649;
while ( v652 <= 0x5F )
{
v653 = v652;
v654 = *(_QWORD *)(v648 + v651);
v655 = *(unsigned __int16 *)(v654 + 8);
if ( *(_WORD *)(v654 + 8) )
{
v652 = v653 + 1;
v651 += 32LL;
if ( v655 != 2 )
continue;
}
v656 = *(_QWORD *)(v648 + 32LL * (unsigned int)v653 + 8);
if ( v656 )
{
*(_WORD *)(v656 + 8) = 2;
*(_DWORD *)(v656 + 12) = v650;
*(_BYTE *)(v656 + 10) = 4;
*(_QWORD *)(v656 + 16) = 0LL;
*(_QWORD *)(v656 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v647 + 112) + 24LL) = v656;
v647 = *v15;
v648 = *(_QWORD *)(*v15 + 48);
v649 = *(unsigned int *)(v648 + 3080);
}
break;
}
v657 = v648 + 32 * v649 + 8;
while ( v649 <= 0x5F )
{
v658 = v649;
v659 = *(unsigned __int16 *)(*(_QWORD *)v657 + 8LL);
if ( !*(_WORD *)(*(_QWORD *)v657 + 8LL) )
goto LABEL_780;
++v649;
v657 += 32LL;
if ( v659 == 89 )
{
if ( (unsigned int)(v649 - 1) > 0x5F )
break;
LABEL_780:
v660 = *(_QWORD *)(v648 + 32LL * v658 + 8);
if ( v660 )
{
*(_DWORD *)(v660 + 12) = v640;
*(_WORD *)(v660 + 8) = 89;
*(_BYTE *)(v660 + 10) = 1;
*(_QWORD *)(v660 + 16) = 0LL;
*(_QWORD *)(v660 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v647 + 112) + 720LL) = v660;
v647 = *v15;
}
break;
}
}
v661 = *(_DWORD *)(v647 + 120) + 1;
v662 = *(_QWORD *)(v647 + 8);
*(_DWORD *)(v647 + 120) = v661;
v663 = *(_QWORD *)(*(_QWORD *)(v662 + 136) + 5320LL);
if ( v663 )
{
do
{
v664 = sub_7102899E6C(v647, 0x55u, 8u, 1, v663);
if ( !v664 )
break;
if ( (*(_BYTE *)(v664 + 63) & 0x20) == 0 )
v664 = *(_QWORD *)(v663 + 24);
v663 = v664;
}
while ( v664 );
v661 = *(_DWORD *)(v647 + 120);
v21 = a11;
}
v665 = v661 - 1;
*(_DWORD *)(v647 + 120) = v665;
if ( !v665 )
{
for ( i2 = *(_QWORD *)(*(_QWORD *)(*(_QWORD *)(v647 + 8) + 136LL) + 5320LL); i2; i2 = *(_QWORD *)(i2 + 24) )
*(_DWORD *)(i2 + 60) = *(unsigned __int16 *)(i2 + 62) << 16;
}
v667 = *v15;
v668 = *(_QWORD *)(*(_QWORD *)(*v15 + 112) + 720LL);
v669 = 4096;
if ( v668 )
{
v670 = *(_DWORD *)(v668 + 12) != 0;
if ( *(_DWORD *)(v668 + 12) )
v669 = 5120; // STAB
else
v669 = 4096;
}
else
{
v670 = 0;
}
v671 = *(_QWORD *)(v667 + 48);
v672 = *(unsigned int *)(v671 + 3080);
v673 = (32 * v672) | 8;
v674 = v672;
while ( v674 <= 0x5F )
{
v675 = v674;
v676 = *(_QWORD *)(v671 + v673);
v677 = *(unsigned __int16 *)(v676 + 8);
if ( *(_WORD *)(v676 + 8) )
{
v674 = v675 + 1;
v673 += 32LL;
if ( v677 != 75 )
continue;
}
v678 = *(_QWORD *)(v671 + 32LL * (unsigned int)v675 + 8);
if ( v678 )
{
*(_WORD *)(v678 + 8) = 75;
*(_DWORD *)(v678 + 12) = v670;
*(_BYTE *)(v678 + 10) = 4;
*(_QWORD *)(v678 + 16) = 0LL;
*(_QWORD *)(v678 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v667 + 112) + 608LL) = v678;
v667 = *v15;
v671 = *(_QWORD *)(*v15 + 48);
v672 = *(unsigned int *)(v671 + 3080);
}
break;
}
v679 = v671 + 32 * v672 + 8;
while ( v672 <= 0x5F )
{
v680 = v672;
v681 = *(unsigned __int16 *)(*(_QWORD *)v679 + 8LL);
if ( !*(_WORD *)(*(_QWORD *)v679 + 8LL) )
goto LABEL_808;
++v672;
v679 += 32LL;
if ( v681 == 56 )
{
if ( (unsigned int)(v672 - 1) > 0x5F )
break;
LABEL_808:
v682 = *(_QWORD *)(v671 + 32LL * v680 + 8);
if ( v682 )
{
*(_WORD *)(v682 + 8) = 56;
*(_DWORD *)(v682 + 12) = v669;
*(_BYTE *)(v682 + 10) = 0;
*(_QWORD *)(v682 + 16) = 0LL;
*(_QWORD *)(v682 + 24) = 0LL;
*(_QWORD *)(*(_QWORD *)(v667 + 112) + 456LL) = v682;
v667 = *v15;
}
break;
}
}
v683 = *(_DWORD *)(v667 + 120) + 1;
v684 = *(_QWORD *)(v667 + 8);
*(_DWORD *)(v667 + 120) = v683;
v685 = *(_QWORD *)(*(_QWORD *)(v684 + 136) + 5320LL);
if ( v685 )
{
do
{
v686 = sub_7102899E6C(v667, 0x56u, 8u, 1, v685);
if ( !v686 )
break;
if ( (*(_BYTE *)(v686 + 63) & 0x20) == 0 )
v686 = *(_QWORD *)(v685 + 24);
v685 = v686;
}
while ( v686 );
v683 = *(_DWORD *)(v667 + 120);
v21 = a11;
}
v687 = v683 - 1;
*(_DWORD *)(v667 + 120) = v687;
if ( !v687 )
{
for ( i3 = *(_QWORD *)(*(_QWORD *)(*(_QWORD *)(v667 + 8) + 136LL) + 5320LL); i3; i3 = *(_QWORD *)(i3 + 24) )
*(_DWORD *)(i3 + 60) = *(unsigned __int16 *)(i3 + 62) << 16;
}
v689 = (_QWORD *)*v15;
v690 = *(_QWORD *)(*(_QWORD *)(*v15 + 112) + 456LL);
if ( v690 )
stab_modifier = *(_DWORD *)(v690 + 12);
else
stab_modifier = 0;
v692 = v689[10];
v693 = *(unsigned int *)(v692 + 1032);
if ( (_DWORD)v693 )
{
memset_0((void *)(*(_QWORD *)(v692 + 32 * v693 + 8) + 8LL), 0, 0x410uLL);
--*(_DWORD *)(v692 + 1032);
v692 = v689[10];
v694 = *(unsigned int *)(v692 + 1032);
}
else
{
v694 = 0LL;
}
v695 = v692 + 32 * v694;
v55 = v15;
v689[14] = *(_QWORD *)(v695 + 8);
v696 = v689[6];
v697 = *(_DWORD *)(v696 + 3080);
if ( v697 )
{
if ( (unsigned __int16)*(_DWORD *)(v696 + 3080) <= 0x5Fu )
{
v698 = (unsigned __int16)*(_DWORD *)(v696 + 3080) + 1LL;
v699 = v696 + 32LL * (unsigned __int16)*(_DWORD *)(v696 + 3080) + 8;
do
{
if ( !*(_WORD *)(*(_QWORD *)v699 + 8LL) )
break;
*(_WORD *)(*(_QWORD *)v699 + 8LL) = 0;
v700 = (unsigned __int16)v698++;
v699 += 32LL;
}
while ( v700 != 96 );
v697 = *(_DWORD *)(v696 + 3080);
}
v701 = (unsigned int)(v697 - 1);
*(_DWORD *)(v696 + 3080) = v701;
*(_WORD *)(*(_QWORD *)(v696 + 32 * v701 + 8) + 8LL) = 0;
v702 = *(unsigned int *)(v696 + 3080);
while ( v702 )
{
*(_DWORD *)(v696 + 3080) = --v702;
if ( *(_WORD *)(*(_QWORD *)(v696 + 32LL * (unsigned int)v702 + 8) + 8LL) == 1 )
{
*(_DWORD *)(v696 + 3080) = v702 + 1;
break;
}
}
}
v703 = stab_modifier * v634;
v609 = v825;
v704 = v703 & 0xFFF;
v705 = v703 >> 12;
if ( v704 <= 2048 )
v634 = v705;
else
v634 = v705 + 1;
goto LABEL_839;
}
if ( v529 )
goto LABEL_752;
LABEL_753:
if ( v525 == 5 )
goto LABEL_754;
goto LABEL_622;
}
if ( (v528 & 1) != 0 )
{
if ( (v529 & 1) == 0 )
goto LABEL_621;
v525 = 18;
}
else if ( (v529 & 1) == 0 )
{
goto LABEL_753;
}
LABEL_752:
v526 = v525;
goto LABEL_753;
}
}
v444 = 0;
v445 = v440[91];
if ( v445 )
goto LABEL_503;
goto LABEL_506;
}
}
LODWORD(v341) = *(unsigned __int8 *)(v341 + 12);
v342 = v825;
if ( (_DWORD)v341 == 31 )
goto LABEL_380;
goto LABEL_379;
}
LABEL_979:
v795 = v179 | v177;
v796 = *(_QWORD *)(v173 + 8);
v797 = v795 == 0;
v798 = *(_DWORD *)(v173 + 120) + 1;
*(_DWORD *)(v173 + 120) = v798;
v799 = *(_QWORD *)(*(_QWORD *)(v796 + 136) + 5320LL);
if ( v799 )
{
do
{
v800 = sub_7102899E6C(v173, 0x5Du, 8u, 1, v799);
if ( !v800 )
break;
if ( (*(_BYTE *)(v800 + 63) & 0x20) == 0 )
v800 = *(_QWORD *)(v799 + 24);
v799 = v800;
}
while ( v800 );
v798 = *(_DWORD *)(v173 + 120);
}
v801 = v798 - 1;
*(_DWORD *)(v173 + 120) = v801;
if ( !v801 )
{
for ( i4 = *(_QWORD *)(*(_QWORD *)(*(_QWORD *)(v173 + 8) + 136LL) + 5320LL); i4; i4 = *(_QWORD *)(i4 + 24) )
*(_DWORD *)(i4 + 60) = *(unsigned __int16 *)(i4 + 62) << 16;
}
v803 = (_QWORD *)*v55;
v804 = *(_QWORD *)(*v55 + 80);
v805 = *(unsigned int *)(v804 + 1032);
if ( (_DWORD)v805 )
{
memset_0((void *)(*(_QWORD *)(v804 + 32 * v805 + 8) + 8LL), 0, 0x410uLL);
--*(_DWORD *)(v804 + 1032);
v804 = v803[10];
v806 = *(unsigned int *)(v804 + 1032);
}
else
{
v806 = 0LL;
}
v803[14] = *(_QWORD *)(v804 + 32 * v806 + 8);
v807 = v803[6];
v808 = *(_DWORD *)(v807 + 3080);
if ( v808 )
{
if ( (unsigned __int16)*(_DWORD *)(v807 + 3080) <= 0x5Fu )
{
v809 = (unsigned __int16)*(_DWORD *)(v807 + 3080) + 1LL;
v810 = v807 + 32LL * (unsigned __int16)*(_DWORD *)(v807 + 3080) + 8;
do
{
if ( !*(_WORD *)(*(_QWORD *)v810 + 8LL) )
break;
*(_WORD *)(*(_QWORD *)v810 + 8LL) = 0;
v811 = (unsigned __int16)v809++;
v810 += 32LL;
}
while ( v811 != 96 );
v808 = *(_DWORD *)(v807 + 3080);
}
v812 = (unsigned int)(v808 - 1);
*(_DWORD *)(v807 + 3080) = v812;
*(_WORD *)(*(_QWORD *)(v807 + 32 * v812 + 8) + 8LL) = 0;
v813 = *(unsigned int *)(v807 + 3080);
while ( v813 )
{
*(_DWORD *)(v807 + 3080) = --v813;
if ( *(_WORD *)(*(_QWORD *)(v807 + 32LL * (unsigned int)v813 + 8) + 8LL) == 1 )
{
*(_DWORD *)(v807 + 3080) = v813 + 1;
break;
}
}
}
result = v178 != 0;
if ( v797 )
v815 = 1;
else
v815 = v179;
*v21 = v815;
return result;
}
-----
.text:000000710286A628 ; bool __fastcall calc_attack_damage(_QWORD *a1, __int64 a2, _BYTE *a3, unsigned int *a4, unsigned int a5, int unknown_mod, bool is_critical, char a8, char a9, char a10, __int16 *a11)
.text:000000710286A628 calc_attack_damage ; CODE XREF: sub_71028D1AF0+1DC↓p
.text:000000710286A628 ; ai_alpha_test_damage+1DC↓p
.text:000000710286A628
.text:000000710286A628 var_7B0 = -0x7B0
.text:000000710286A628 var_7AC = -0x7AC
.text:000000710286A628 var_7A8 = -0x7A8
.text:000000710286A628 var_7A0 = -0x7A0
.text:000000710286A628 var_79C = -0x79C
.text:000000710286A628 var_798 = -0x798
.text:000000710286A628 var_78C = -0x78C
.text:000000710286A628 var_788 = -0x788
.text:000000710286A628 var_784 = -0x784
.text:000000710286A628 var_780 = -0x780
.text:000000710286A628 var_77C = -0x77C
.text:000000710286A628 var_778 = -0x778
.text:000000710286A628 var_770 = -0x770
.text:000000710286A628 var_768 = -0x768
.text:000000710286A628 var_760 = -0x760
.text:000000710286A628 anonymous_0 = -0x75C
.text:000000710286A628 var_758 = -0x758
.text:000000710286A628 anonymous_1 = -0x754
.text:000000710286A628 var_750 = -0x750
.text:000000710286A628 var_74C = -0x74C
.text:000000710286A628 var_98 = -0x98
.text:000000710286A628 var_8C = -0x8C
.text:000000710286A628 var_84 = -0x84
.text:000000710286A628 var_74 = -0x74
.text:000000710286A628 var_70 = -0x70
.text:000000710286A628 var_6C = -0x6C
.text:000000710286A628 var_50 = -0x50
.text:000000710286A628 var_40 = -0x40
.text:000000710286A628 var_30 = -0x30
.text:000000710286A628 var_20 = -0x20
.text:000000710286A628 var_10 = -0x10
.text:000000710286A628 var_s0 = 0
.text:000000710286A628 arg_0 = 0x10
.text:000000710286A628 arg_8 = 0x18
.text:000000710286A628 arg_10 = 0x20
.text:000000710286A628
.text:000000710286A628 STP X28, X27, [SP,#-0x10+var_50]!
.text:000000710286A62C STP X26, X25, [SP,#0x50+var_40]
.text:000000710286A630 STP X24, X23, [SP,#0x50+var_30]
.text:000000710286A634 STP X22, X21, [SP,#0x50+var_20]
.text:000000710286A638 STP X20, X19, [SP,#0x50+var_10]
.text:000000710286A63C STP X29, X30, [SP,#0x50+var_s0]
.text:000000710286A640 ADD X29, SP, #0x50
.text:000000710286A644 SUB SP, SP, #0x760
.text:000000710286A648 STP W4, W6, [SP,#0x7B0+var_780]
.text:000000710286A64C MOV X19, X0
.text:000000710286A650 MOV X22, X3
.text:000000710286A654 STR W5, [SP,#0x7B0+var_788]
.text:000000710286A658 MOV X21, X2
.text:000000710286A65C MOV X20, X1
.text:000000710286A660 STR X0, [SP,#0x7B0+var_778]
.text:000000710286A664 LDR X8, [X19,#0x10]!
.text:000000710286A668 LDR X9, [X8,#0x30]
.text:000000710286A66C LDR W10, [X9,#0xC08]
.text:000000710286A670 CMP W10, #0x5F ; '_'
.text:000000710286A674 B.HI loc_710286A6BC
.text:000000710286A678
.text:000000710286A678 loc_710286A678 ; CODE XREF: calc_attack_damage+70↓j
.text:000000710286A678 MOV W11, W10
.text:000000710286A67C ADD X11, X9, X11,LSL#5
.text:000000710286A680 LDR X11, [X11,#8]
.text:000000710286A684 LDRH W12, [X11,#8]
.text:000000710286A688 CBZ W12, loc_710286A6A0
.text:000000710286A68C ADD W10, W10, #1
.text:000000710286A690 CMP W10, #0x60 ; '`'
.text:000000710286A694 STR W10, [X9,#0xC08]
.text:000000710286A698 B.NE loc_710286A678
.text:000000710286A69C B loc_710286A6BC
.text:000000710286A6A0 ; ---------------------------------------------------------------------------
.text:000000710286A6A0
.text:000000710286A6A0 loc_710286A6A0 ; CODE XREF: calc_attack_damage+60↑j
.text:000000710286A6A0 CMP W10, #0x5E ; '^'
.text:000000710286A6A4 B.HI loc_710286A6BC
.text:000000710286A6A8 MOV W10, #1
.text:000000710286A6AC STRH W10, [X11,#8]
.text:000000710286A6B0 LDR W10, [X9,#0xC08]
.text:000000710286A6B4 ADD W10, W10, #1
.text:000000710286A6B8 STR W10, [X9,#0xC08]
.text:000000710286A6BC
.text:000000710286A6BC loc_710286A6BC ; CODE XREF: calc_attack_damage+4C↑j
.text:000000710286A6BC ; calc_attack_damage+74↑j ...
.text:000000710286A6BC LDR X9, [X8,#0x50]
.text:000000710286A6C0 LDR W10, [X9,#0x408]
.text:000000710286A6C4 LDR X26, [X29,#arg_10]
.text:000000710286A6C8 CMP W10, #0x1E
.text:000000710286A6CC B.HI loc_710286A6E0
.text:000000710286A6D0 ADD W10, W10, #1
.text:000000710286A6D4 STR W10, [X9,#0x408]
.text:000000710286A6D8 LDR X9, [X8,#0x50]
.text:000000710286A6DC LDR W10, [X9,#0x408]
.text:000000710286A6E0
.text:000000710286A6E0 loc_710286A6E0 ; CODE XREF: calc_attack_damage+A4↑j
.text:000000710286A6E0 MOV W10, W10
.text:000000710286A6E4 ADD X9, X9, X10,LSL#5
.text:000000710286A6E8 LDR X9, [X9,#8]
.text:000000710286A6EC STR X9, [X8,#0x70]
.text:000000710286A6F0 LDR X27, [X19]
.text:000000710286A6F4 LDR X8, [X27,#0x30]
.text:000000710286A6F8 LDR W9, [X8,#0xC08]
.text:000000710286A6FC LDRB W15, [X29,#arg_8]
.text:000000710286A700 LDRB W23, [X29,#arg_0]
.text:000000710286A704 LDRB W10, [X21,#0x7D]
.text:000000710286A708 MOV W11, #8
.text:000000710286A70C BFI X11, X9, #5, #0x20 ; ' '
.text:000000710286A710 MOV X13, X9
.text:000000710286A714
.text:000000710286A714 loc_710286A714 ; CODE XREF: calc_attack_damage+110↓j
.text:000000710286A714 CMP X13, #0x5F ; '_'
.text:000000710286A718 B.HI loc_710286A784
.text:000000710286A71C MOV X12, X13
.text:000000710286A720 LDR X13, [X8,X11]
.text:000000710286A724 LDRH W14, [X13,#8]
.text:000000710286A728 CBZ W14, loc_710286A748
.text:000000710286A72C ADD X13, X12, #1
.text:000000710286A730 ADD X11, X11, #0x20 ; ' '
.text:000000710286A734 CMP W14, #2
.text:000000710286A738 B.NE loc_710286A714
.text:000000710286A73C SUB W11, W13, #1
.text:000000710286A740 CMP W11, #0x5F ; '_'
.text:000000710286A744 B.HI loc_710286A784
.text:000000710286A748
.text:000000710286A748 loc_710286A748 ; CODE XREF: calc_attack_damage+100↑j
.text:000000710286A748 AND X11, X12, #0xFFFFFFFF
.text:000000710286A74C ADD X11, X8, X11,LSL#5
.text:000000710286A750 LDR X11, [X11,#8]
.text:000000710286A754 CBZ X11, loc_710286A784
.text:000000710286A758 MOV W8, #2
.text:000000710286A75C STRH W8, [X11,#8]
.text:000000710286A760 MOV W8, #4
.text:000000710286A764 STR W10, [X11,#0xC]
.text:000000710286A768 STRB W8, [X11,#0xA]
.text:000000710286A76C STP XZR, XZR, [X11,#0x10]
.text:000000710286A770 LDR X8, [X27,#0x70]
.text:000000710286A774 STR X11, [X8,#0x18]
.text:000000710286A778 LDR X27, [X19]
.text:000000710286A77C LDR X8, [X27,#0x30]
.text:000000710286A780 LDR W9, [X8,#0xC08]
.text:000000710286A784
.text:000000710286A784 loc_710286A784 ; CODE XREF: calc_attack_damage+F0↑j
.text:000000710286A784 ; calc_attack_damage+11C↑j ...
.text:000000710286A784 MOV W11, #8
.text:000000710286A788 BFI X11, X9, #5, #0x20 ; ' '
.text:000000710286A78C MOV X12, XZR
.text:000000710286A790
.text:000000710286A790 loc_710286A790 ; CODE XREF: calc_attack_damage+190↓j
.text:000000710286A790 MOV X10, X12
.text:000000710286A794 ADD X12, X9, X12
.text:000000710286A798 CMP X12, #0x5F ; '_'
.text:000000710286A79C B.HI loc_710286A80C
.text:000000710286A7A0 LDR X12, [X8,X11]
.text:000000710286A7A4 LDRH W13, [X12,#8]
.text:000000710286A7A8 CBZ W13, loc_710286A7CC
.text:000000710286A7AC ADD X12, X10, #1
.text:000000710286A7B0 ADD X11, X11, #0x20 ; ' '
.text:000000710286A7B4 CMP W13, #0x60 ; '`'
.text:000000710286A7B8 B.NE loc_710286A790
.text:000000710286A7BC ADD W11, W9, W12
.text:000000710286A7C0 SUB W11, W11, #1
.text:000000710286A7C4 CMP W11, #0x5F ; '_'
.text:000000710286A7C8 B.HI loc_710286A80C
.text:000000710286A7CC
.text:000000710286A7CC loc_710286A7CC ; CODE XREF: calc_attack_damage+180↑j
.text:000000710286A7CC ADD W10, W9, W10
.text:000000710286A7D0 ADD X10, X8, X10,LSL#5
.text:000000710286A7D4 LDR X10, [X10,#8]
.text:000000710286A7D8 CBZ X10, loc_710286A80C
.text:000000710286A7DC MOV W8, #0x60 ; '`'
.text:000000710286A7E0 STRH W8, [X10,#8]
.text:000000710286A7E4 MOV W8, #1
.text:000000710286A7E8 STUR XZR, [X10,#0xC]
.text:000000710286A7EC STUR XZR, [X10,#0x14]
.text:000000710286A7F0 STR WZR, [X10,#0x1C]
.text:000000710286A7F4 STRB W8, [X10,#0xA]
.text:000000710286A7F8 LDR X8, [X27,#0x70]
.text:000000710286A7FC STR X10, [X8,#0x308]
.text:000000710286A800 LDR X27, [X19]
.text:000000710286A804 LDR X8, [X27,#0x30]
.text:000000710286A808 LDR W9, [X8,#0xC08]
.text:000000710286A80C
.text:000000710286A80C loc_710286A80C ; CODE XREF: calc_attack_damage+174↑j
.text:000000710286A80C ; calc_attack_damage+1A0↑j ...
.text:000000710286A80C ADD X10, X8, X9,LSL#5
.text:000000710286A810 ADD X11, X10, #8
.text:000000710286A814 STR W7, [SP,#0x7B0+var_784]
.text:000000710286A818 STR W15, [SP,#0x7B0+var_78C]
.text:000000710286A81C
.text:000000710286A81C loc_710286A81C ; CODE XREF: calc_attack_damage+218↓j
.text:000000710286A81C CMP X9, #0x5F ; '_'
.text:000000710286A820 B.HI loc_710286A888
.text:000000710286A824 MOV X10, X9
.text:000000710286A828 LDR X9, [X11]
.text:000000710286A82C LDRH W12, [X9,#8]
.text:000000710286A830 CBZ W12, loc_710286A850
.text:000000710286A834 ADD X9, X10, #1
.text:000000710286A838 ADD X11, X11, #0x20 ; ' '
.text:000000710286A83C CMP W12, #0x76 ; 'v'
.text:000000710286A840 B.NE loc_710286A81C
.text:000000710286A844 SUB W9, W9, #1
.text:000000710286A848 CMP W9, #0x5F ; '_'
.text:000000710286A84C B.HI loc_710286A888
.text:000000710286A850
.text:000000710286A850 loc_710286A850 ; CODE XREF: calc_attack_damage+208↑j
.text:000000710286A850 AND X9, X10, #0xFFFFFFFF
.text:000000710286A854 ADD X8, X8, X9,LSL#5
.text:000000710286A858 LDR X8, [X8,#8]
.text:000000710286A85C CBZ X8, loc_710286A888
.text:000000710286A860 MOV W9, #0x76 ; 'v'
.text:000000710286A864 STRH W9, [X8,#8]
.text:000000710286A868 MOV W9, #1
.text:000000710286A86C STUR XZR, [X8,#0xC]
.text:000000710286A870 STUR XZR, [X8,#0x14]
.text:000000710286A874 STR WZR, [X8,#0x1C]
.text:000000710286A878 STRB W9, [X8,#0xA]
.text:000000710286A87C LDR X9, [X27,#0x70]
.text:000000710286A880 STR X8, [X9,#0x3B8]
.text:000000710286A884 LDR X27, [X19]
.text:000000710286A888
.text:000000710286A888 loc_710286A888 ; CODE XREF: calc_attack_damage+1F8↑j
.text:000000710286A888 ; calc_attack_damage+224↑j ...
.text:000000710286A888 LDR W8, [X27,#0x78]
.text:000000710286A88C ADD W8, W8, #1
.text:000000710286A890 LDR X9, [X27,#8]
.text:000000710286A894 STR W8, [X27,#0x78]
.text:000000710286A898 LDR X9, [X9,#0x88]
.text:000000710286A89C LDR X24, [X9,#0x14C8]
.text:000000710286A8A0 CBZ X24, loc_710286A8E4
.text:000000710286A8A4 MOV W28, #0x8D
.text:000000710286A8A8 B loc_710286A8B4
.text:000000710286A8AC ; ---------------------------------------------------------------------------
.text:000000710286A8AC
.text:000000710286A8AC loc_710286A8AC ; CODE XREF: calc_attack_damage+2AC↓j
.text:000000710286A8AC ; calc_attack_damage+2B4↓j
.text:000000710286A8AC MOV X24, X0
.text:000000710286A8B0 CBZ X0, loc_710286A8E0
.text:000000710286A8B4
.text:000000710286A8B4 loc_710286A8B4 ; CODE XREF: calc_attack_damage+280↑j
.text:000000710286A8B4 MOV X0, X27
.text:000000710286A8B8 MOV W1, W28
.text:000000710286A8BC MOV W2, #8
.text:000000710286A8C0 MOV W3, #1
.text:000000710286A8C4 MOV X4, X24
.text:000000710286A8C8 BL sub_7102899E6C
.text:000000710286A8CC CBZ X0, loc_710286A8E0
.text:000000710286A8D0 LDRB W8, [X0,#0x3F]
.text:000000710286A8D4 TBNZ W8, #5, loc_710286A8AC
.text:000000710286A8D8 LDR X0, [X24,#0x18]
.text:000000710286A8DC B loc_710286A8AC
.text:000000710286A8E0 ; ---------------------------------------------------------------------------
.text:000000710286A8E0
.text:000000710286A8E0 loc_710286A8E0 ; CODE XREF: calc_attack_damage+288↑j
.text:000000710286A8E0 ; calc_attack_damage+2A4↑j
.text:000000710286A8E0 LDR W8, [X27,#0x78]
.text:000000710286A8E4
.text:000000710286A8E4 loc_710286A8E4 ; CODE XREF: calc_attack_damage+278↑j
.text:000000710286A8E4 SUBS W8, W8, #1
.text:000000710286A8E8 STR X20, [SP,#0x7B0+var_770]
.text:000000710286A8EC STR W8, [X27,#0x78]
.text:000000710286A8F0 B.NE loc_710286A918
.text:000000710286A8F4 LDR X8, [X27,#8]
.text:000000710286A8F8 LDR X8, [X8,#0x88]
.text:000000710286A8FC LDR X8, [X8,#0x14C8]
.text:000000710286A900 CBZ X8, loc_710286A918
.text:000000710286A904
.text:000000710286A904 loc_710286A904 ; CODE XREF: calc_attack_damage+2EC↓j
.text:000000710286A904 LDRH W9, [X8,#0x3E]
.text:000000710286A908 LSL W9, W9, #0x10
.text:000000710286A90C STR W9, [X8,#0x3C]
.text:000000710286A910 LDR X8, [X8,#0x18]
.text:000000710286A914 CBNZ X8, loc_710286A904
.text:000000710286A918
.text:000000710286A918 loc_710286A918 ; CODE XREF: calc_attack_damage+2C8↑j
.text:000000710286A918 ; calc_attack_damage+2D8↑j
.text:000000710286A918 LDR X20, [X19]
.text:000000710286A91C STR X19, [SP,#0x7B0+var_768]
.text:000000710286A920 LDR X8, [X20,#0x70]
.text:000000710286A924 LDR X8, [X8,#0x308]
.text:000000710286A928 CBZ X8, loc_710286A934
.text:000000710286A92C LDR W24, [X8,#0xC]
.text:000000710286A930 B loc_710286A938
.text:000000710286A934 ; ---------------------------------------------------------------------------
.text:000000710286A934
.text:000000710286A934 loc_710286A934 ; CODE XREF: calc_attack_damage+300↑j
.text:000000710286A934 MOV W24, WZR
.text:000000710286A938
.text:000000710286A938 loc_710286A938 ; CODE XREF: calc_attack_damage+308↑j
.text:000000710286A938 LDR X25, [X20,#0x50]
.text:000000710286A93C LDR W8, [X25,#0x408]
.text:000000710286A940 CBZ W8, loc_710286A974
.text:000000710286A944 ADD X8, X25, X8,LSL#5
.text:000000710286A948 LDR X8, [X8,#8]
.text:000000710286A94C ADD X0, X8, #8 ; s
.text:000000710286A950 MOV W2, #0x410 ; n
.text:000000710286A954 MOV W1, WZR ; c
.text:000000710286A958 BL memset_0
.text:000000710286A95C LDR W8, [X25,#0x408]
.text:000000710286A960 SUB W8, W8, #1
.text:000000710286A964 STR W8, [X25,#0x408]
.text:000000710286A968 LDR X25, [X20,#0x50]
.text:000000710286A96C LDR W8, [X25,#0x408]
.text:000000710286A970 B loc_710286A978
.text:000000710286A974 ; ---------------------------------------------------------------------------
.text:000000710286A974
.text:000000710286A974 loc_710286A974 ; CODE XREF: calc_attack_damage+318↑j
.text:000000710286A974 MOV X8, XZR
.text:000000710286A978
.text:000000710286A978 loc_710286A978 ; CODE XREF: calc_attack_damage+348↑j
.text:000000710286A978 ADD X8, X25, X8,LSL#5
.text:000000710286A97C LDR X8, [X8,#8]
.text:000000710286A980 STR X8, [X20,#0x70]
.text:000000710286A984 LDR X8, [X20,#0x30]
.text:000000710286A988 LDP X20, X25, [SP,#0x7B0+var_770]
.text:000000710286A98C LDR W9, [X8,#0xC08]
.text:000000710286A990 CBZ W9, loc_710286AA1C
.text:000000710286A994 AND W10, W9, #0xFFFF
.text:000000710286A998 CMP W10, #0x5F ; '_'
.text:000000710286A99C B.HI loc_710286A9D8
.text:000000710286A9A0 AND X10, X9, #0xFFFF
.text:000000710286A9A4 ADD X9, X10, #1
.text:000000710286A9A8 ADD X10, X8, X10,LSL#5
.text:000000710286A9AC ADD X10, X10, #8
.text:000000710286A9B0
.text:000000710286A9B0 loc_710286A9B0 ; CODE XREF: calc_attack_damage+3A8↓j
.text:000000710286A9B0 LDR X11, [X10]
.text:000000710286A9B4 LDRH W12, [X11,#8]
.text:000000710286A9B8 CBZ W12, loc_710286A9D4
.text:000000710286A9BC STRH WZR, [X11,#8]
.text:000000710286A9C0 AND W11, W9, #0xFFFF
.text:000000710286A9C4 ADD X9, X9, #1
.text:000000710286A9C8 ADD X10, X10, #0x20 ; ' '
.text:000000710286A9CC CMP W11, #0x60 ; '`'
.text:000000710286A9D0 B.NE loc_710286A9B0
.text:000000710286A9D4
.text:000000710286A9D4 loc_710286A9D4 ; CODE XREF: calc_attack_damage+390↑j
.text:000000710286A9D4 LDR W9, [X8,#0xC08]
.text:000000710286A9D8
.text:000000710286A9D8 loc_710286A9D8 ; CODE XREF: calc_attack_damage+374↑j
.text:000000710286A9D8 SUB W9, W9, #1
.text:000000710286A9DC STR W9, [X8,#0xC08]
.text:000000710286A9E0 ADD X9, X8, X9,LSL#5
.text:000000710286A9E4 LDR X9, [X9,#8]
.text:000000710286A9E8 STRH WZR, [X9,#8]
.text:000000710286A9EC LDR W9, [X8,#0xC08]
.text:000000710286A9F0
.text:000000710286A9F0 loc_710286A9F0 ; CODE XREF: calc_attack_damage+3E8↓j
.text:000000710286A9F0 CBZ X9, loc_710286AA1C
.text:000000710286A9F4 SUB X9, X9, #1
.text:000000710286A9F8 AND X10, X9, #0xFFFFFFFF
.text:000000710286A9FC ADD X10, X8, X10,LSL#5
.text:000000710286AA00 STR W9, [X8,#0xC08]
.text:000000710286AA04 LDR X10, [X10,#8]
.text:000000710286AA08 LDRH W10, [X10,#8]
.text:000000710286AA0C CMP W10, #1
.text:000000710286AA10 B.NE loc_710286A9F0
.text:000000710286AA14 ADD W9, W9, #1
.text:000000710286AA18 STR W9, [X8,#0xC08]
.text:000000710286AA1C
.text:000000710286AA1C loc_710286AA1C ; CODE XREF: calc_attack_damage+368↑j
.text:000000710286AA1C ; calc_attack_damage:loc_710286A9F0↑j
.text:000000710286AA1C LDR X8, [X25]
.text:000000710286AA20 LDR X9, [X8,#0x30]
.text:000000710286AA24 LDR W10, [X9,#0xC08]
.text:000000710286AA28 CMP W10, #0x5F ; '_'
.text:000000710286AA2C B.HI loc_710286AA74
.text:000000710286AA30
.text:000000710286AA30 loc_710286AA30 ; CODE XREF: calc_attack_damage+428↓j
.text:000000710286AA30 MOV W11, W10
.text:000000710286AA34 ADD X11, X9, X11,LSL#5
.text:000000710286AA38 LDR X11, [X11,#8]
.text:000000710286AA3C LDRH W12, [X11,#8]
.text:000000710286AA40 CBZ W12, loc_710286AA58
.text:000000710286AA44 ADD W10, W10, #1
.text:000000710286AA48 CMP W10, #0x60 ; '`'
.text:000000710286AA4C STR W10, [X9,#0xC08]
.text:000000710286AA50 B.NE loc_710286AA30
.text:000000710286AA54 B loc_710286AA74
.text:000000710286AA58 ; ---------------------------------------------------------------------------
.text:000000710286AA58
.text:000000710286AA58 loc_710286AA58 ; CODE XREF: calc_attack_damage+418↑j
.text:000000710286AA58 CMP W10, #0x5E ; '^'
.text:000000710286AA5C B.HI loc_710286AA74
.text:000000710286AA60 MOV W10, #1
.text:000000710286AA64 STRH W10, [X11,#8]
.text:000000710286AA68 LDR W10, [X9,#0xC08]
.text:000000710286AA6C ADD W10, W10, #1
.text:000000710286AA70 STR W10, [X9,#0xC08]
.text:000000710286AA74
.text:000000710286AA74 loc_710286AA74 ; CODE XREF: calc_attack_damage+404↑j
.text:000000710286AA74 ; calc_attack_damage+42C↑j ...
.text:000000710286AA74 LDR X9, [X8,#0x50]
.text:000000710286AA78 LDR W10, [X9,#0x408]
.text:000000710286AA7C CMP W10, #0x1E
.text:000000710286AA80 B.HI loc_710286AA94
.text:000000710286AA84 ADD W10, W10, #1
.text:000000710286AA88 STR W10, [X9,#0x408]
.text:000000710286AA8C LDR X9, [X8,#0x50]
.text:000000710286AA90 LDR W10, [X9,#0x408]
.text:000000710286AA94
.text:000000710286AA94 loc_710286AA94 ; CODE XREF: calc_attack_damage+458↑j
.text:000000710286AA94 MOV W10, W10
.text:000000710286AA98 ADD X9, X9, X10,LSL#5
.text:000000710286AA9C MOV W10, #8
.text:000000710286AAA0 LDR X9, [X9,#8]
.text:000000710286AAA4 STR X9, [X8,#0x70]
.text:000000710286AAA8 LDR X27, [X25]
.text:000000710286AAAC LDR X8, [X27,#0x30]
.text:000000710286AAB0 LDR W9, [X8,#0xC08]
.text:000000710286AAB4 BFI X10, X9, #5, #0x20 ; ' '
.text:000000710286AAB8 MOV X12, X9
.text:000000710286AABC
.text:000000710286AABC loc_710286AABC ; CODE XREF: calc_attack_damage+4B8↓j
.text:000000710286AABC CMP X12, #0x5F ; '_'
.text:000000710286AAC0 B.HI loc_710286AB30
.text:000000710286AAC4 MOV X11, X12
.text:000000710286AAC8 LDR X12, [X8,X10]
.text:000000710286AACC LDRH W13, [X12,#8]
.text:000000710286AAD0 CBZ W13, loc_710286AAF0
.text:000000710286AAD4 ADD X12, X11, #1
.text:000000710286AAD8 ADD X10, X10, #0x20 ; ' '
.text:000000710286AADC CMP W13, #0x3D ; '='
.text:000000710286AAE0 B.NE loc_710286AABC
.text:000000710286AAE4 SUB W10, W12, #1
.text:000000710286AAE8 CMP W10, #0x5F ; '_'
.text:000000710286AAEC B.HI loc_710286AB30
.text:000000710286AAF0
.text:000000710286AAF0 loc_710286AAF0 ; CODE XREF: calc_attack_damage+4A8↑j
.text:000000710286AAF0 AND X10, X11, #0xFFFFFFFF
.text:000000710286AAF4 ADD X10, X8, X10,LSL#5
.text:000000710286AAF8 LDR X10, [X10,#8]
.text:000000710286AAFC CBZ X10, loc_710286AB30
.text:000000710286AB00 MOV W8, #0x3D ; '='
.text:000000710286AB04 STRH W8, [X10,#8]
.text:000000710286AB08 LDR W8, [SP,#0x7B0+var_780]
.text:000000710286AB0C STP XZR, XZR, [X10,#0x10]
.text:000000710286AB10 STR W8, [X10,#0xC]
.text:000000710286AB14 MOV W8, #4
.text:000000710286AB18 STRB W8, [X10,#0xA]
.text:000000710286AB1C LDR X8, [X27,#0x70]
.text:000000710286AB20 STR X10, [X8,#0x1F0]
.text:000000710286AB24 LDR X27, [X25]
.text:000000710286AB28 LDR X8, [X27,#0x30]
.text:000000710286AB2C LDR W9, [X8,#0xC08]
.text:000000710286AB30
.text:000000710286AB30 loc_710286AB30 ; CODE XREF: calc_attack_damage+498↑j
.text:000000710286AB30 ; calc_attack_damage+4C4↑j ...
.text:000000710286AB30 LDRB W10, [X20,#0x7D]
.text:000000710286AB34 MOV W12, #8
.text:000000710286AB38 BFI X12, X9, #5, #0x20 ; ' '
.text:000000710286AB3C MOV X13, XZR
.text:000000710286AB40
.text:000000710286AB40 loc_710286AB40 ; CODE XREF: calc_attack_damage+540↓j
.text:000000710286AB40 MOV X11, X13
.text:000000710286AB44 ADD X13, X9, X13
.text:000000710286AB48 CMP X13, #0x5F ; '_'
.text:000000710286AB4C B.HI loc_710286ABB8
.text:000000710286AB50 LDR X13, [X8,X12]
.text:000000710286AB54 LDRH W14, [X13,#8]
.text:000000710286AB58 CBZ W14, loc_710286AB7C
.text:000000710286AB5C ADD X13, X11, #1
.text:000000710286AB60 ADD X12, X12, #0x20 ; ' '
.text:000000710286AB64 CMP W14, #3
.text:000000710286AB68 B.NE loc_710286AB40
.text:000000710286AB6C ADD W12, W9, W13
.text:000000710286AB70 SUB W12, W12, #1
.text:000000710286AB74 CMP W12, #0x5F ; '_'
.text:000000710286AB78 B.HI loc_710286ABB8
.text:000000710286AB7C
.text:000000710286AB7C loc_710286AB7C ; CODE XREF: calc_attack_damage+530↑j
.text:000000710286AB7C ADD W11, W9, W11
.text:000000710286AB80 ADD X11, X8, X11,LSL#5
.text:000000710286AB84 LDR X11, [X11,#8]
.text:000000710286AB88 CBZ X11, loc_710286ABB8
.text:000000710286AB8C MOV W8, #3
.text:000000710286AB90 STRH W8, [X11,#8]
.text:000000710286AB94 MOV W8, #4
.text:000000710286AB98 STR W10, [X11,#0xC]
.text:000000710286AB9C STRB W8, [X11,#0xA]
.text:000000710286ABA0 STP XZR, XZR, [X11,#0x10]
.text:000000710286ABA4 LDR X8, [X27,#0x70]
.text:000000710286ABA8 STR X11, [X8,#0x20]
.text:000000710286ABAC LDR X27, [X25]
.text:000000710286ABB0 LDR X8, [X27,#0x30]
.text:000000710286ABB4 LDR W9, [X8,#0xC08]
.text:000000710286ABB8
.text:000000710286ABB8 loc_710286ABB8 ; CODE XREF: calc_attack_damage+524↑j
.text:000000710286ABB8 ; calc_attack_damage+550↑j ...
.text:000000710286ABB8 LDRB W10, [X21,#0x7D]
.text:000000710286ABBC MOV W12, #8
.text:000000710286ABC0 BFI X12, X9, #5, #0x20 ; ' '
.text:000000710286ABC4 MOV X13, XZR
.text:000000710286ABC8
.text:000000710286ABC8 loc_710286ABC8 ; CODE XREF: calc_attack_damage+5C8↓j
.text:000000710286ABC8 MOV X11, X13
.text:000000710286ABCC ADD X13, X9, X13
.text:000000710286ABD0 CMP X13, #0x5F ; '_'
.text:000000710286ABD4 B.HI loc_710286AC3C
.text:000000710286ABD8 LDR X13, [X8,X12]
.text:000000710286ABDC LDRH W14, [X13,#8]
.text:000000710286ABE0 CBZ W14, loc_710286AC04
.text:000000710286ABE4 ADD X13, X11, #1
.text:000000710286ABE8 ADD X12, X12, #0x20 ; ' '
.text:000000710286ABEC CMP W14, #4
.text:000000710286ABF0 B.NE loc_710286ABC8
.text:000000710286ABF4 ADD W12, W9, W13
.text:000000710286ABF8 SUB W12, W12, #1
.text:000000710286ABFC CMP W12, #0x5F ; '_'
.text:000000710286AC00 B.HI loc_710286AC3C
.text:000000710286AC04
.text:000000710286AC04 loc_710286AC04 ; CODE XREF: calc_attack_damage+5B8↑j
.text:000000710286AC04 ADD W11, W9, W11
.text:000000710286AC08 ADD X11, X8, X11,LSL#5
.text:000000710286AC0C LDR X11, [X11,#8]
.text:000000710286AC10 CBZ X11, loc_710286AC3C
.text:000000710286AC14 MOV W8, #4
.text:000000710286AC18 STRH W8, [X11,#8]
.text:000000710286AC1C STR W10, [X11,#0xC]
.text:000000710286AC20 STRB W8, [X11,#0xA]
.text:000000710286AC24 STP XZR, XZR, [X11,#0x10]
.text:000000710286AC28 LDR X8, [X27,#0x70]
.text:000000710286AC2C STR X11, [X8,#0x28]
.text:000000710286AC30 LDR X27, [X25]
.text:000000710286AC34 LDR X8, [X27,#0x30]
.text:000000710286AC38 LDR W9, [X8,#0xC08]
.text:000000710286AC3C
.text:000000710286AC3C loc_710286AC3C ; CODE XREF: calc_attack_damage+5AC↑j
.text:000000710286AC3C ; calc_attack_damage+5D8↑j ...
.text:000000710286AC3C LDR W10, [SP,#0x7B0+var_77C]
.text:000000710286AC40 MOV W12, #8
.text:000000710286AC44 BFI X12, X9, #5, #0x20 ; ' '
.text:000000710286AC48 MOV X13, XZR
.text:000000710286AC4C AND W10, W10, #1
.text:000000710286AC50
.text:000000710286AC50 loc_710286AC50 ; CODE XREF: calc_attack_damage+650↓j
.text:000000710286AC50 MOV X11, X13
.text:000000710286AC54 ADD X13, X9, X13
.text:000000710286AC58 CMP X13, #0x5F ; '_'
.text:000000710286AC5C B.HI loc_710286ACC8
.text:000000710286AC60 LDR X13, [X8,X12]
.text:000000710286AC64 LDRH W14, [X13,#8]
.text:000000710286AC68 CBZ W14, loc_710286AC8C
.text:000000710286AC6C ADD X13, X11, #1
.text:000000710286AC70 ADD X12, X12, #0x20 ; ' '
.text:000000710286AC74 CMP W14, #0x4C ; 'L'
.text:000000710286AC78 B.NE loc_710286AC50
.text:000000710286AC7C ADD W12, W9, W13
.text:000000710286AC80 SUB W12, W12, #1
.text:000000710286AC84 CMP W12, #0x5F ; '_'
.text:000000710286AC88 B.HI loc_710286ACC8
.text:000000710286AC8C
.text:000000710286AC8C loc_710286AC8C ; CODE XREF: calc_attack_damage+640↑j
.text:000000710286AC8C ADD W11, W9, W11
.text:000000710286AC90 ADD X11, X8, X11,LSL#5
.text:000000710286AC94 LDR X11, [X11,#8]
.text:000000710286AC98 CBZ X11, loc_710286ACC8
.text:000000710286AC9C MOV W8, #0x4C ; 'L'
.text:000000710286ACA0 STRH W8, [X11,#8]
.text:000000710286ACA4 MOV W8, #4
.text:000000710286ACA8 STR W10, [X11,#0xC]
.text:000000710286ACAC STRB W8, [X11,#0xA]
.text:000000710286ACB0 STP XZR, XZR, [X11,#0x10]
.text:000000710286ACB4 LDR X8, [X27,#0x70]
.text:000000710286ACB8 STR X11, [X8,#0x268]
.text:000000710286ACBC LDR X27, [X25]
.text:000000710286ACC0 LDR X8, [X27,#0x30]
.text:000000710286ACC4 LDR W9, [X8,#0xC08]
.text:000000710286ACC8
.text:000000710286ACC8 loc_710286ACC8 ; CODE XREF: calc_attack_damage+634↑j
.text:000000710286ACC8 ; calc_attack_damage+660↑j ...
.text:000000710286ACC8 LDRB W10, [X22,#0xA]
.text:000000710286ACCC MOV W12, #8
.text:000000710286ACD0 BFI X12, X9, #5, #0x20 ; ' '
.text:000000710286ACD4 MOV X13, XZR
.text:000000710286ACD8
.text:000000710286ACD8 loc_710286ACD8 ; CODE XREF: calc_attack_damage+6D8↓j
.text:000000710286ACD8 MOV X11, X13
.text:000000710286ACDC ADD X13, X9, X13
.text:000000710286ACE0 CMP X13, #0x5F ; '_'
.text:000000710286ACE4 B.HI loc_710286AD50
.text:000000710286ACE8 LDR X13, [X8,X12]
.text:000000710286ACEC LDRH W14, [X13,#8]
.text:000000710286ACF0 CBZ W14, loc_710286AD14
.text:000000710286ACF4 ADD X13, X11, #1
.text:000000710286ACF8 ADD X12, X12, #0x20 ; ' '
.text:000000710286ACFC CMP W14, #0x16
.text:000000710286AD00 B.NE loc_710286ACD8
.text:000000710286AD04 ADD W12, W9, W13
.text:000000710286AD08 SUB W12, W12, #1
.text:000000710286AD0C CMP W12, #0x5F ; '_'
.text:000000710286AD10 B.HI loc_710286AD50
.text:000000710286AD14
.text:000000710286AD14 loc_710286AD14 ; CODE XREF: calc_attack_damage+6C8↑j
.text:000000710286AD14 ADD W11, W9, W11
.text:000000710286AD18 ADD X11, X8, X11,LSL#5
.text:000000710286AD1C LDR X11, [X11,#8]
.text:000000710286AD20 CBZ X11, loc_710286AD50
.text:000000710286AD24 MOV W8, #0x16
.text:000000710286AD28 STRH W8, [X11,#8]
.text:000000710286AD2C MOV W8, #4
.text:000000710286AD30 STR W10, [X11,#0xC]
.text:000000710286AD34 STRB W8, [X11,#0xA]
.text:000000710286AD38 STP XZR, XZR, [X11,#0x10]
.text:000000710286AD3C LDR X8, [X27,#0x70]
.text:000000710286AD40 STR X11, [X8,#0xB8]
.text:000000710286AD44 LDR X27, [X25]
.text:000000710286AD48 LDR X8, [X27,#0x30]
.text:000000710286AD4C LDR W9, [X8,#0xC08]
.text:000000710286AD50
.text:000000710286AD50 loc_710286AD50 ; CODE XREF: calc_attack_damage+6BC↑j
.text:000000710286AD50 ; calc_attack_damage+6E8↑j ...
.text:000000710286AD50 LDR W10, [X22]
.text:000000710286AD54 MOV W12, #8
.text:000000710286AD58 BFI X12, X9, #5, #0x20 ; ' '
.text:000000710286AD5C MOV X13, XZR
.text:000000710286AD60
.text:000000710286AD60 loc_710286AD60 ; CODE XREF: calc_attack_damage+760↓j
.text:000000710286AD60 MOV X11, X13
.text:000000710286AD64 ADD X13, X9, X13
.text:000000710286AD68 CMP X13, #0x5F ; '_'
.text:000000710286AD6C B.HI loc_710286ADD8
.text:000000710286AD70 LDR X13, [X8,X12]
.text:000000710286AD74 LDRH W14, [X13,#8]
.text:000000710286AD78 CBZ W14, loc_710286AD9C
.text:000000710286AD7C ADD X13, X11, #1
.text:000000710286AD80 ADD X12, X12, #0x20 ; ' '
.text:000000710286AD84 CMP W14, #0x12
.text:000000710286AD88 B.NE loc_710286AD60
.text:000000710286AD8C ADD W12, W9, W13
.text:000000710286AD90 SUB W12, W12, #1
.text:000000710286AD94 CMP W12, #0x5F ; '_'
.text:000000710286AD98 B.HI loc_710286ADD8
.text:000000710286AD9C
.text:000000710286AD9C loc_710286AD9C ; CODE XREF: calc_attack_damage+750↑j
.text:000000710286AD9C ADD W11, W9, W11
.text:000000710286ADA0 ADD X11, X8, X11,LSL#5
.text:000000710286ADA4 LDR X11, [X11,#8]
.text:000000710286ADA8 CBZ X11, loc_710286ADD8
.text:000000710286ADAC MOV W8, #0x12
.text:000000710286ADB0 STRH W8, [X11,#8]
.text:000000710286ADB4 MOV W8, #4
.text:000000710286ADB8 STR W10, [X11,#0xC]
.text:000000710286ADBC STRB W8, [X11,#0xA]
.text:000000710286ADC0 STP XZR, XZR, [X11,#0x10]
.text:000000710286ADC4 LDR X8, [X27,#0x70]
.text:000000710286ADC8 STR X11, [X8,#0x98]
.text:000000710286ADCC LDR X27, [X25]
.text:000000710286ADD0 LDR X8, [X27,#0x30]
.text:000000710286ADD4 LDR W9, [X8,#0xC08]
.text:000000710286ADD8
.text:000000710286ADD8 loc_710286ADD8 ; CODE XREF: calc_attack_damage+744↑j
.text:000000710286ADD8 ; calc_attack_damage+770↑j ...
.text:000000710286ADD8 LDRB W10, [X22,#0x10]
.text:000000710286ADDC MOV W12, #8
.text:000000710286ADE0 BFI X12, X9, #5, #0x20 ; ' '
.text:000000710286ADE4 MOV X13, XZR
.text:000000710286ADE8
.text:000000710286ADE8 loc_710286ADE8 ; CODE XREF: calc_attack_damage+7E8↓j
.text:000000710286ADE8 MOV X11, X13
.text:000000710286ADEC ADD X13, X9, X13
.text:000000710286ADF0 CMP X13, #0x5F ; '_'
.text:000000710286ADF4 B.HI loc_710286AE60
.text:000000710286ADF8 LDR X13, [X8,X12]
.text:000000710286ADFC LDRH W14, [X13,#8]
.text:000000710286AE00 CBZ W14, loc_710286AE24
.text:000000710286AE04 ADD X13, X11, #1
.text:000000710286AE08 ADD X12, X12, #0x20 ; ' '
.text:000000710286AE0C CMP W14, #0x63 ; 'c'
.text:000000710286AE10 B.NE loc_710286ADE8
.text:000000710286AE14 ADD W12, W9, W13
.text:000000710286AE18 SUB W12, W12, #1
.text:000000710286AE1C CMP W12, #0x5F ; '_'
.text:000000710286AE20 B.HI loc_710286AE60
.text:000000710286AE24
.text:000000710286AE24 loc_710286AE24 ; CODE XREF: calc_attack_damage+7D8↑j
.text:000000710286AE24 ADD W11, W9, W11
.text:000000710286AE28 ADD X11, X8, X11,LSL#5
.text:000000710286AE2C LDR X11, [X11,#8]
.text:000000710286AE30 CBZ X11, loc_710286AE60
.text:000000710286AE34 MOV W8, #0x63 ; 'c'
.text:000000710286AE38 STRH W8, [X11,#8]
.text:000000710286AE3C MOV W8, #4
.text:000000710286AE40 STR W10, [X11,#0xC]
.text:000000710286AE44 STRB W8, [X11,#0xA]
.text:000000710286AE48 STP XZR, XZR, [X11,#0x10]
.text:000000710286AE4C LDR X8, [X27,#0x70]
.text:000000710286AE50 STR X11, [X8,#0x320]
.text:000000710286AE54 LDR X27, [X25]
.text:000000710286AE58 LDR X8, [X27,#0x30]
.text:000000710286AE5C LDR W9, [X8,#0xC08]
.text:000000710286AE60
.text:000000710286AE60 loc_710286AE60 ; CODE XREF: calc_attack_damage+7CC↑j
.text:000000710286AE60 ; calc_attack_damage+7F8↑j ...
.text:000000710286AE60 LDR W10, [X22,#0xC]
.text:000000710286AE64 MOV W12, #8
.text:000000710286AE68 BFI X12, X9, #5, #0x20 ; ' '
.text:000000710286AE6C MOV X13, XZR
.text:000000710286AE70
.text:000000710286AE70 loc_710286AE70 ; CODE XREF: calc_attack_damage+870↓j
.text:000000710286AE70 MOV X11, X13
.text:000000710286AE74 ADD X13, X9, X13
.text:000000710286AE78 CMP X13, #0x5F ; '_'
.text:000000710286AE7C B.HI loc_710286AEE8
.text:000000710286AE80 LDR X13, [X8,X12]
.text:000000710286AE84 LDRH W14, [X13,#8]
.text:000000710286AE88 CBZ W14, loc_710286AEAC
.text:000000710286AE8C ADD X13, X11, #1
.text:000000710286AE90 ADD X12, X12, #0x20 ; ' '
.text:000000710286AE94 CMP W14, #0x1B
.text:000000710286AE98 B.NE loc_710286AE70
.text:000000710286AE9C ADD W12, W9, W13
.text:000000710286AEA0 SUB W12, W12, #1
.text:000000710286AEA4 CMP W12, #0x5F ; '_'
.text:000000710286AEA8 B.HI loc_710286AEE8
.text:000000710286AEAC
.text:000000710286AEAC loc_710286AEAC ; CODE XREF: calc_attack_damage+860↑j
.text:000000710286AEAC ADD W11, W9, W11
.text:000000710286AEB0 ADD X11, X8, X11,LSL#5
.text:000000710286AEB4 LDR X11, [X11,#8]
.text:000000710286AEB8 CBZ X11, loc_710286AEE8
.text:000000710286AEBC MOV W8, #0x1B
.text:000000710286AEC0 STRH W8, [X11,#8]
.text:000000710286AEC4 MOV W8, #4
.text:000000710286AEC8 STR W10, [X11,#0xC]
.text:000000710286AECC STRB W8, [X11,#0xA]
.text:000000710286AED0 STP XZR, XZR, [X11,#0x10]
.text:000000710286AED4 LDR X8, [X27,#0x70]
.text:000000710286AED8 STR X11, [X8,#0xE0]
.text:000000710286AEDC LDR X27, [X25]
.text:000000710286AEE0 LDR X8, [X27,#0x30]
.text:000000710286AEE4 LDR W9, [X8,#0xC08]
.text:000000710286AEE8
.text:000000710286AEE8 loc_710286AEE8 ; CODE XREF: calc_attack_damage+854↑j
.text:000000710286AEE8 ; calc_attack_damage+880↑j ...
.text:000000710286AEE8 LDR W10, [X22,#0x18]
.text:000000710286AEEC MOV W12, #8
.text:000000710286AEF0 BFI X12, X9, #5, #0x20 ; ' '
.text:000000710286AEF4 MOV X13, XZR
.text:000000710286AEF8
.text:000000710286AEF8 loc_710286AEF8 ; CODE XREF: calc_attack_damage+8F8↓j
.text:000000710286AEF8 MOV X11, X13
.text:000000710286AEFC ADD X13, X9, X13
.text:000000710286AF00 CMP X13, #0x5F ; '_'
.text:000000710286AF04 B.HI loc_710286AF70
.text:000000710286AF08 LDR X13, [X8,X12]
.text:000000710286AF0C LDRH W14, [X13,#8]
.text:000000710286AF10 CBZ W14, loc_710286AF34
.text:000000710286AF14 ADD X13, X11, #1
.text:000000710286AF18 ADD X12, X12, #0x20 ; ' '
.text:000000710286AF1C CMP W14, #0x19
.text:000000710286AF20 B.NE loc_710286AEF8
.text:000000710286AF24 ADD W12, W9, W13
.text:000000710286AF28 SUB W12, W12, #1
.text:000000710286AF2C CMP W12, #0x5F ; '_'
.text:000000710286AF30 B.HI loc_710286AF70
.text:000000710286AF34
.text:000000710286AF34 loc_710286AF34 ; CODE XREF: calc_attack_damage+8E8↑j
.text:000000710286AF34 ADD W11, W9, W11
.text:000000710286AF38 ADD X11, X8, X11,LSL#5
.text:000000710286AF3C LDR X11, [X11,#8]
.text:000000710286AF40 CBZ X11, loc_710286AF70
.text:000000710286AF44 MOV W8, #0x19
.text:000000710286AF48 STRH W8, [X11,#8]
.text:000000710286AF4C MOV W8, #4
.text:000000710286AF50 STR W10, [X11,#0xC]
.text:000000710286AF54 STRB W8, [X11,#0xA]
.text:000000710286AF58 STP XZR, XZR, [X11,#0x10]
.text:000000710286AF5C LDR X8, [X27,#0x70]
.text:000000710286AF60 STR X11, [X8,#0xD0]
.text:000000710286AF64 LDR X27, [X25]
.text:000000710286AF68 LDR X8, [X27,#0x30]
.text:000000710286AF6C LDR W9, [X8,#0xC08]
.text:000000710286AF70
.text:000000710286AF70 loc_710286AF70 ; CODE XREF: calc_attack_damage+8DC↑j
.text:000000710286AF70 ; calc_attack_damage+908↑j ...
.text:000000710286AF70 MOV W12, #8
.text:000000710286AF74 BFI X12, X9, #5, #0x20 ; ' '
.text:000000710286AF78 MOV X13, XZR
.text:000000710286AF7C AND W10, W23, #1
.text:000000710286AF80
.text:000000710286AF80 loc_710286AF80 ; CODE XREF: calc_attack_damage+980↓j
.text:000000710286AF80 MOV X11, X13
.text:000000710286AF84 ADD X13, X9, X13
.text:000000710286AF88 CMP X13, #0x5F ; '_'
.text:000000710286AF8C B.HI loc_710286AFF8
.text:000000710286AF90 LDR X13, [X8,X12]
.text:000000710286AF94 LDRH W14, [X13,#8]
.text:000000710286AF98 CBZ W14, loc_710286AFBC
.text:000000710286AF9C ADD X13, X11, #1
.text:000000710286AFA0 ADD X12, X12, #0x20 ; ' '
.text:000000710286AFA4 CMP W14, #0x4D ; 'M'
.text:000000710286AFA8 B.NE loc_710286AF80
.text:000000710286AFAC ADD W12, W9, W13
.text:000000710286AFB0 SUB W12, W12, #1
.text:000000710286AFB4 CMP W12, #0x5F ; '_'
.text:000000710286AFB8 B.HI loc_710286AFF8
.text:000000710286AFBC
.text:000000710286AFBC loc_710286AFBC ; CODE XREF: calc_attack_damage+970↑j
.text:000000710286AFBC ADD W11, W9, W11
.text:000000710286AFC0 ADD X11, X8, X11,LSL#5
.text:000000710286AFC4 LDR X11, [X11,#8]
.text:000000710286AFC8 CBZ X11, loc_710286AFF8
.text:000000710286AFCC MOV W8, #0x4D ; 'M'
.text:000000710286AFD0 STRH W8, [X11,#8]
.text:000000710286AFD4 MOV W8, #4
.text:000000710286AFD8 STR W10, [X11,#0xC]
.text:000000710286AFDC STRB W8, [X11,#0xA]
.text:000000710286AFE0 STP XZR, XZR, [X11,#0x10]
.text:000000710286AFE4 LDR X8, [X27,#0x70]
.text:000000710286AFE8 STR X11, [X8,#0x270]
.text:000000710286AFEC LDR X27, [X25]
.text:000000710286AFF0 LDR X8, [X27,#0x30]
.text:000000710286AFF4 LDR W9, [X8,#0xC08]
.text:000000710286AFF8
.text:000000710286AFF8 loc_710286AFF8 ; CODE XREF: calc_attack_damage+964↑j
.text:000000710286AFF8 ; calc_attack_damage+990↑j ...
.text:000000710286AFF8 MOV W12, #8
.text:000000710286AFFC CMP W24, #0
.text:000000710286B000 BFI X12, X9, #5, #0x20 ; ' '
.text:000000710286B004 MOV X13, XZR
.text:000000710286B008 CSET W10, NE
.text:000000710286B00C
.text:000000710286B00C loc_710286B00C ; CODE XREF: calc_attack_damage+A0C↓j
.text:000000710286B00C MOV X11, X13
.text:000000710286B010 ADD X13, X9, X13
.text:000000710286B014 CMP X13, #0x5F ; '_'
.text:000000710286B018 B.HI loc_710286B084
.text:000000710286B01C LDR X13, [X8,X12]
.text:000000710286B020 LDRH W14, [X13,#8]
.text:000000710286B024 CBZ W14, loc_710286B048
.text:000000710286B028 ADD X13, X11, #1
.text:000000710286B02C ADD X12, X12, #0x20 ; ' '
.text:000000710286B030 CMP W14, #0x60 ; '`'
.text:000000710286B034 B.NE loc_710286B00C
.text:000000710286B038 ADD W12, W9, W13
.text:000000710286B03C SUB W12, W12, #1
.text:000000710286B040 CMP W12, #0x5F ; '_'
.text:000000710286B044 B.HI loc_710286B084
.text:000000710286B048
.text:000000710286B048 loc_710286B048 ; CODE XREF: calc_attack_damage+9FC↑j
.text:000000710286B048 ADD W11, W9, W11
.text:000000710286B04C ADD X11, X8, X11,LSL#5
.text:000000710286B050 LDR X11, [X11,#8]
.text:000000710286B054 CBZ X11, loc_710286B084
.text:000000710286B058 MOV W8, #0x60 ; '`'
.text:000000710286B05C STRH W8, [X11,#8]
.text:000000710286B060 MOV W8, #4
.text:000000710286B064 STR W10, [X11,#0xC]
.text:000000710286B068 STRB W8, [X11,#0xA]
.text:000000710286B06C STP XZR, XZR, [X11,#0x10]
.text:000000710286B070 LDR X8, [X27,#0x70]
.text:000000710286B074 STR X11, [X8,#0x308]
.text:000000710286B078 LDR X27, [X25]
.text:000000710286B07C LDR X8, [X27,#0x30]
.text:000000710286B080 LDR W9, [X8,#0xC08]
.text:000000710286B084
.text:000000710286B084 loc_710286B084 ; CODE XREF: calc_attack_damage+9F0↑j
.text:000000710286B084 ; calc_attack_damage+A1C↑j ...
.text:000000710286B084 MOV W11, #8
.text:000000710286B088 BFI X11, X9, #5, #0x20 ; ' '
.text:000000710286B08C MOV X12, XZR
.text:000000710286B090
.text:000000710286B090 loc_710286B090 ; CODE XREF: calc_attack_damage+A90↓j
.text:000000710286B090 MOV X10, X12
.text:000000710286B094 ADD X12, X9, X12
.text:000000710286B098 CMP X12, #0x5F ; '_'
.text:000000710286B09C B.HI loc_710286B108
.text:000000710286B0A0 LDR X12, [X8,X11]
.text:000000710286B0A4 LDRH W13, [X12,#8]
.text:000000710286B0A8 CBZ W13, loc_710286B0CC
.text:000000710286B0AC ADD X12, X10, #1
.text:000000710286B0B0 ADD X11, X11, #0x20 ; ' '
.text:000000710286B0B4 CMP W13, #0x3A ; ':'
.text:000000710286B0B8 B.NE loc_710286B090
.text:000000710286B0BC ADD W11, W9, W12
.text:000000710286B0C0 SUB W11, W11, #1
.text:000000710286B0C4 CMP W11, #0x5F ; '_'
.text:000000710286B0C8 B.HI loc_710286B108
.text:000000710286B0CC
.text:000000710286B0CC loc_710286B0CC ; CODE XREF: calc_attack_damage+A80↑j
.text:000000710286B0CC ADD W10, W9, W10
.text:000000710286B0D0 ADD X10, X8, X10,LSL#5
.text:000000710286B0D4 LDR X10, [X10,#8]
.text:000000710286B0D8 CBZ X10, loc_710286B108
.text:000000710286B0DC MOV W8, #0x3A ; ':'
.text:000000710286B0E0 STRH W8, [X10,#8]
.text:000000710286B0E4 STRB WZR, [X10,#0xA]
.text:000000710286B0E8 STUR XZR, [X10,#0xC]
.text:000000710286B0EC STUR XZR, [X10,#0x14]
.text:000000710286B0F0 STR WZR, [X10,#0x1C]
.text:000000710286B0F4 LDR X8, [X27,#0x70]
.text:000000710286B0F8 STR X10, [X8,#0x1D8]
.text:000000710286B0FC LDR X27, [X25]
.text:000000710286B100 LDR X8, [X27,#0x30]
.text:000000710286B104 LDR W9, [X8,#0xC08]
.text:000000710286B108
.text:000000710286B108 loc_710286B108 ; CODE XREF: calc_attack_damage+A74↑j
.text:000000710286B108 ; calc_attack_damage+AA0↑j ...
.text:000000710286B108 MOV W11, #8
.text:000000710286B10C BFI X11, X9, #5, #0x20 ; ' '
.text:000000710286B110 MOV X12, XZR
.text:000000710286B114
.text:000000710286B114 loc_710286B114 ; CODE XREF: calc_attack_damage+B14↓j
.text:000000710286B114 MOV X10, X12
.text:000000710286B118 ADD X12, X9, X12
.text:000000710286B11C CMP X12, #0x5F ; '_'
.text:000000710286B120 B.HI loc_710286B18C
.text:000000710286B124 LDR X12, [X8,X11]
.text:000000710286B128 LDRH W13, [X12,#8]
.text:000000710286B12C CBZ W13, loc_710286B150
.text:000000710286B130 ADD X12, X10, #1
.text:000000710286B134 ADD X11, X11, #0x20 ; ' '
.text:000000710286B138 CMP W13, #0x3B ; ';'
.text:000000710286B13C B.NE loc_710286B114
.text:000000710286B140 ADD W11, W9, W12
.text:000000710286B144 SUB W11, W11, #1
.text:000000710286B148 CMP W11, #0x5F ; '_'
.text:000000710286B14C B.HI loc_710286B18C
.text:000000710286B150
.text:000000710286B150 loc_710286B150 ; CODE XREF: calc_attack_damage+B04↑j
.text:000000710286B150 ADD W10, W9, W10
.text:000000710286B154 ADD X10, X8, X10,LSL#5
.text:000000710286B158 LDR X10, [X10,#8]
.text:000000710286B15C CBZ X10, loc_710286B18C
.text:000000710286B160 MOV W8, #0x3B ; ';'
.text:000000710286B164 STRH W8, [X10,#8]
.text:000000710286B168 STRB WZR, [X10,#0xA]
.text:000000710286B16C STUR XZR, [X10,#0xC]
.text:000000710286B170 STUR XZR, [X10,#0x14]
.text:000000710286B174 STR WZR, [X10,#0x1C]
.text:000000710286B178 LDR X8, [X27,#0x70]
.text:000000710286B17C STR X10, [X8,#0x1E0]
.text:000000710286B180 LDR X27, [X25]
.text:000000710286B184 LDR X8, [X27,#0x30]
.text:000000710286B188 LDR W9, [X8,#0xC08]
.text:000000710286B18C
.text:000000710286B18C loc_710286B18C ; CODE XREF: calc_attack_damage+AF8↑j
.text:000000710286B18C ; calc_attack_damage+B24↑j ...
.text:000000710286B18C ADD X10, X8, X9,LSL#5
.text:000000710286B190 ADD X11, X10, #8
.text:000000710286B194
.text:000000710286B194 loc_710286B194 ; CODE XREF: calc_attack_damage+B90↓j
.text:000000710286B194 CMP X9, #0x5F ; '_'
.text:000000710286B198 B.HI loc_710286B1FC
.text:000000710286B19C MOV X10, X9
.text:000000710286B1A0 LDR X9, [X11]
.text:000000710286B1A4 LDRH W12, [X9,#8]
.text:000000710286B1A8 CBZ W12, loc_710286B1C8
.text:000000710286B1AC ADD X9, X10, #1
.text:000000710286B1B0 ADD X11, X11, #0x20 ; ' '
.text:000000710286B1B4 CMP W12, #0x3C ; '<'
.text:000000710286B1B8 B.NE loc_710286B194
.text:000000710286B1BC SUB W9, W9, #1
.text:000000710286B1C0 CMP W9, #0x5F ; '_'
.text:000000710286B1C4 B.HI loc_710286B1FC
.text:000000710286B1C8
.text:000000710286B1C8 loc_710286B1C8 ; CODE XREF: calc_attack_damage+B80↑j
.text:000000710286B1C8 AND X9, X10, #0xFFFFFFFF
.text:000000710286B1CC ADD X8, X8, X9,LSL#5
.text:000000710286B1D0 LDR X8, [X8,#8]
.text:000000710286B1D4 CBZ X8, loc_710286B1FC
.text:000000710286B1D8 MOV W9, #0x3C ; '<'
.text:000000710286B1DC STRH W9, [X8,#8]
.text:000000710286B1E0 STRB WZR, [X8,#0xA]
.text:000000710286B1E4 STUR XZR, [X8,#0xC]
.text:000000710286B1E8 STUR XZR, [X8,#0x14]
.text:000000710286B1EC STR WZR, [X8,#0x1C]
.text:000000710286B1F0 LDR X9, [X27,#0x70]
.text:000000710286B1F4 STR X8, [X9,#0x1E8]
.text:000000710286B1F8 LDR X27, [X25]
.text:000000710286B1FC
.text:000000710286B1FC loc_710286B1FC ; CODE XREF: calc_attack_damage+B70↑j
.text:000000710286B1FC ; calc_attack_damage+B9C↑j ...
.text:000000710286B1FC LDR W8, [X27,#0x78]
.text:000000710286B200 ADD W8, W8, #1
.text:000000710286B204 LDR X9, [X27,#8]
.text:000000710286B208 STR W8, [X27,#0x78]
.text:000000710286B20C LDR X9, [X9,#0x88]
.text:000000710286B210 LDR X24, [X9,#0x14C8]
.text:000000710286B214 CBZ X24, loc_710286B258
.text:000000710286B218 MOV W28, #0x5A ; 'Z'
.text:000000710286B21C B loc_710286B228
.text:000000710286B220 ; ---------------------------------------------------------------------------
.text:000000710286B220
.text:000000710286B220 loc_710286B220 ; CODE XREF: calc_attack_damage+C20↓j
.text:000000710286B220 ; calc_attack_damage+C28↓j
.text:000000710286B220 MOV X24, X0
.text:000000710286B224 CBZ X0, loc_710286B254
.text:000000710286B228
.text:000000710286B228 loc_710286B228 ; CODE XREF: calc_attack_damage+BF4↑j
.text:000000710286B228 MOV X0, X27
.text:000000710286B22C MOV W1, W28
.text:000000710286B230 MOV W2, #8
.text:000000710286B234 MOV W3, #1
.text:000000710286B238 MOV X4, X24
.text:000000710286B23C BL sub_7102899E6C
.text:000000710286B240 CBZ X0, loc_710286B254
.text:000000710286B244 LDRB W8, [X0,#0x3F]
.text:000000710286B248 TBNZ W8, #5, loc_710286B220
.text:000000710286B24C LDR X0, [X24,#0x18]
.text:000000710286B250 B loc_710286B220
.text:000000710286B254 ; ---------------------------------------------------------------------------
.text:000000710286B254
.text:000000710286B254 loc_710286B254 ; CODE XREF: calc_attack_damage+BFC↑j
.text:000000710286B254 ; calc_attack_damage+C18↑j
.text:000000710286B254 LDR W8, [X27,#0x78]
.text:000000710286B258
.text:000000710286B258 loc_710286B258 ; CODE XREF: calc_attack_damage+BEC↑j
.text:000000710286B258 SUBS W8, W8, #1
.text:000000710286B25C STR W8, [X27,#0x78]
.text:000000710286B260 B.NE loc_710286B288
.text:000000710286B264 LDR X8, [X27,#8]
.text:000000710286B268 LDR X8, [X8,#0x88]
.text:000000710286B26C LDR X8, [X8,#0x14C8]
.text:000000710286B270 CBZ X8, loc_710286B288
.text:000000710286B274
.text:000000710286B274 loc_710286B274 ; CODE XREF: calc_attack_damage+C5C↓j
.text:000000710286B274 LDRH W9, [X8,#0x3E]
.text:000000710286B278 LSL W9, W9, #0x10
.text:000000710286B27C STR W9, [X8,#0x3C]
.text:000000710286B280 LDR X8, [X8,#0x18]
.text:000000710286B284 CBNZ X8, loc_710286B274
.text:000000710286B288
.text:000000710286B288 loc_710286B288 ; CODE XREF: calc_attack_damage+C38↑j
.text:000000710286B288 ; calc_attack_damage+C48↑j
.text:000000710286B288 LDR X27, [X25]
.text:000000710286B28C LDR W8, [X27,#0x78]
.text:000000710286B290 LDR X9, [X27,#8]
.text:000000710286B294 ADD W8, W8, #1
.text:000000710286B298 STR W8, [X27,#0x78]
.text:000000710286B29C LDR X9, [X9,#0x88]
.text:000000710286B2A0 LDR X24, [X9,#0x14C8]
.text:000000710286B2A4 CBZ X24, loc_710286B2E8
.text:000000710286B2A8 MOV W28, #0x5B ; '['
.text:000000710286B2AC B loc_710286B2B8
.text:000000710286B2B0 ; ---------------------------------------------------------------------------
.text:000000710286B2B0
.text:000000710286B2B0 loc_710286B2B0 ; CODE XREF: calc_attack_damage+CB0↓j
.text:000000710286B2B0 ; calc_attack_damage+CB8↓j
.text:000000710286B2B0 MOV X24, X0
.text:000000710286B2B4 CBZ X0, loc_710286B2E4
.text:000000710286B2B8
.text:000000710286B2B8 loc_710286B2B8 ; CODE XREF: calc_attack_damage+C84↑j
.text:000000710286B2B8 MOV X0, X27
.text:000000710286B2BC MOV W1, W28
.text:000000710286B2C0 MOV W2, #8
.text:000000710286B2C4 MOV W3, #1
.text:000000710286B2C8 MOV X4, X24
.text:000000710286B2CC BL sub_7102899E6C
.text:000000710286B2D0 CBZ X0, loc_710286B2E4
.text:000000710286B2D4 LDRB W8, [X0,#0x3F]
.text:000000710286B2D8 TBNZ W8, #5, loc_710286B2B0
.text:000000710286B2DC LDR X0, [X24,#0x18]
.text:000000710286B2E0 B loc_710286B2B0
.text:000000710286B2E4 ; ---------------------------------------------------------------------------
.text:000000710286B2E4
.text:000000710286B2E4 loc_710286B2E4 ; CODE XREF: calc_attack_damage+C8C↑j
.text:000000710286B2E4 ; calc_attack_damage+CA8↑j
.text:000000710286B2E4 LDR W8, [X27,#0x78]
.text:000000710286B2E8
.text:000000710286B2E8 loc_710286B2E8 ; CODE XREF: calc_attack_damage+C7C↑j
.text:000000710286B2E8 SUBS W8, W8, #1
.text:000000710286B2EC STR W8, [X27,#0x78]
.text:000000710286B2F0 B.NE loc_710286B318
.text:000000710286B2F4 LDR X8, [X27,#8]
.text:000000710286B2F8 LDR X8, [X8,#0x88]
.text:000000710286B2FC LDR X8, [X8,#0x14C8]
.text:000000710286B300 CBZ X8, loc_710286B318
.text:000000710286B304
.text:000000710286B304 loc_710286B304 ; CODE XREF: calc_attack_damage+CEC↓j
.text:000000710286B304 LDRH W9, [X8,#0x3E]
.text:000000710286B308 LSL W9, W9, #0x10
.text:000000710286B30C STR W9, [X8,#0x3C]
.text:000000710286B310 LDR X8, [X8,#0x18]
.text:000000710286B314 CBNZ X8, loc_710286B304
.text:000000710286B318
.text:000000710286B318 loc_710286B318 ; CODE XREF: calc_attack_damage+CC8↑j
.text:000000710286B318 ; calc_attack_damage+CD8↑j
.text:000000710286B318 LDR X27, [X25]
.text:000000710286B31C LDR X9, [X27,#0x70]
.text:000000710286B320 LDR X8, [X9,#0x1D8]
.text:000000710286B324 CBZ X8, loc_710286B32C
.text:000000710286B328 LDR W8, [X8,#0xC]
.text:000000710286B32C
.text:000000710286B32C loc_710286B32C ; CODE XREF: calc_attack_damage+CFC↑j
.text:000000710286B32C LDR X10, [X9,#0x1E0]
.text:000000710286B330 CBZ X10, loc_710286B338
.text:000000710286B334 LDR W10, [X10,#0xC]
.text:000000710286B338
.text:000000710286B338 loc_710286B338 ; CODE XREF: calc_attack_damage+D08↑j
.text:000000710286B338 LDR X9, [X9,#0x1E8]
.text:000000710286B33C CBZ X9, loc_710286B344
.text:000000710286B340 LDR W9, [X9,#0xC]
.text:000000710286B344
.text:000000710286B344 loc_710286B344 ; CODE XREF: calc_attack_damage+D14↑j
.text:000000710286B344 CMP W9, #0
.text:000000710286B348 ORR W24, W9, W10
.text:000000710286B34C CSEL W23, WZR, W8, NE
.text:000000710286B350 CBNZ W24, loc_710286E470
.text:000000710286B354 STR W9, [SP,#0x7B0+var_7A0]
.text:000000710286B358 LDR X9, [X27,#0x30]
.text:000000710286B35C LDR W10, [X9,#0xC08]
.text:000000710286B360 LDRH W8, [X22,#0x1C]
.text:000000710286B364 CMP W10, #0x5F ; '_'
.text:000000710286B368 B.HI loc_710286B3B0
.text:000000710286B36C
.text:000000710286B36C loc_710286B36C ; CODE XREF: calc_attack_damage+D64↓j
.text:000000710286B36C MOV W11, W10
.text:000000710286B370 ADD X11, X9, X11,LSL#5
.text:000000710286B374 LDR X11, [X11,#8]
.text:000000710286B378 LDRH W12, [X11,#8]
.text:000000710286B37C CBZ W12, loc_710286B394
.text:000000710286B380 ADD W10, W10, #1
.text:000000710286B384 CMP W10, #0x60 ; '`'
.text:000000710286B388 STR W10, [X9,#0xC08]
.text:000000710286B38C B.NE loc_710286B36C
.text:000000710286B390 B loc_710286B3B0
.text:000000710286B394 ; ---------------------------------------------------------------------------
.text:000000710286B394
.text:000000710286B394 loc_710286B394 ; CODE XREF: calc_attack_damage+D54↑j
.text:000000710286B394 CMP W10, #0x5E ; '^'
.text:000000710286B398 B.HI loc_710286B3B0
.text:000000710286B39C MOV W10, #1
.text:000000710286B3A0 STRH W10, [X11,#8]
.text:000000710286B3A4 LDR W10, [X9,#0xC08]
.text:000000710286B3A8 ADD W10, W10, #1
.text:000000710286B3AC STR W10, [X9,#0xC08]
.text:000000710286B3B0
.text:000000710286B3B0 loc_710286B3B0 ; CODE XREF: calc_attack_damage+D40↑j
.text:000000710286B3B0 ; calc_attack_damage+D68↑j ...
.text:000000710286B3B0 LDR X9, [X27,#0x50]
.text:000000710286B3B4 LDR W10, [X9,#0x408]
.text:000000710286B3B8 CMP W10, #0x1E
.text:000000710286B3BC B.HI loc_710286B3D0
.text:000000710286B3C0 ADD W10, W10, #1
.text:000000710286B3C4 STR W10, [X9,#0x408]
.text:000000710286B3C8 LDR X9, [X27,#0x50]
.text:000000710286B3CC LDR W10, [X9,#0x408]
.text:000000710286B3D0
.text:000000710286B3D0 loc_710286B3D0 ; CODE XREF: calc_attack_damage+D94↑j
.text:000000710286B3D0 MOV W10, W10
.text:000000710286B3D4 ADD X9, X9, X10,LSL#5
.text:000000710286B3D8 LDR X9, [X9,#8]
.text:000000710286B3DC STR X9, [X27,#0x70]
.text:000000710286B3E0 LDR X27, [X25]
.text:000000710286B3E4 LDR X9, [X27,#0x30]
.text:000000710286B3E8 LDR W10, [X9,#0xC08]
.text:000000710286B3EC LDRB W11, [X20,#0x7D]
.text:000000710286B3F0 MOV W12, #8
.text:000000710286B3F4 BFI X12, X10, #5, #0x20 ; ' '
.text:000000710286B3F8 MOV X14, X10
.text:000000710286B3FC
.text:000000710286B3FC loc_710286B3FC ; CODE XREF: calc_attack_damage+DF8↓j
.text:000000710286B3FC CMP X14, #0x5F ; '_'
.text:000000710286B400 B.HI loc_710286B46C
.text:000000710286B404 MOV X13, X14
.text:000000710286B408 LDR X14, [X9,X12]
.text:000000710286B40C LDRH W15, [X14,#8]
.text:000000710286B410 CBZ W15, loc_710286B430
.text:000000710286B414 ADD X14, X13, #1
.text:000000710286B418 ADD X12, X12, #0x20 ; ' '
.text:000000710286B41C CMP W15, #3
.text:000000710286B420 B.NE loc_710286B3FC
.text:000000710286B424 SUB W12, W14, #1
.text:000000710286B428 CMP W12, #0x5F ; '_'
.text:000000710286B42C B.HI loc_710286B46C
.text:000000710286B430
.text:000000710286B430 loc_710286B430 ; CODE XREF: calc_attack_damage+DE8↑j
.text:000000710286B430 AND X12, X13, #0xFFFFFFFF
.text:000000710286B434 ADD X12, X9, X12,LSL#5
.text:000000710286B438 LDR X12, [X12,#8]
.text:000000710286B43C CBZ X12, loc_710286B46C
.text:000000710286B440 MOV W9, #3
.text:000000710286B444 STRH W9, [X12,#8]
.text:000000710286B448 MOV W9, #4
.text:000000710286B44C STR W11, [X12,#0xC]
.text:000000710286B450 STRB W9, [X12,#0xA]
.text:000000710286B454 STP XZR, XZR, [X12,#0x10]
.text:000000710286B458 LDR X9, [X27,#0x70]
.text:000000710286B45C STR X12, [X9,#0x20]
.text:000000710286B460 LDR X27, [X25]
.text:000000710286B464 LDR X9, [X27,#0x30]
.text:000000710286B468 LDR W10, [X9,#0xC08]
.text:000000710286B46C
.text:000000710286B46C loc_710286B46C ; CODE XREF: calc_attack_damage+DD8↑j
.text:000000710286B46C ; calc_attack_damage+E04↑j ...
.text:000000710286B46C LDRB W11, [X21,#0x7D]
.text:000000710286B470 MOV W13, #8
.text:000000710286B474 BFI X13, X10, #5, #0x20 ; ' '
.text:000000710286B478 MOV X14, XZR
.text:000000710286B47C
.text:000000710286B47C loc_710286B47C ; CODE XREF: calc_attack_damage+E7C↓j
.text:000000710286B47C MOV X12, X14
.text:000000710286B480 ADD X14, X10, X14
.text:000000710286B484 CMP X14, #0x5F ; '_'
.text:000000710286B488 B.HI loc_710286B4F0
.text:000000710286B48C LDR X14, [X9,X13]
.text:000000710286B490 LDRH W15, [X14,#8]
.text:000000710286B494 CBZ W15, loc_710286B4B8
.text:000000710286B498 ADD X14, X12, #1
.text:000000710286B49C ADD X13, X13, #0x20 ; ' '
.text:000000710286B4A0 CMP W15, #4
.text:000000710286B4A4 B.NE loc_710286B47C
.text:000000710286B4A8 ADD W13, W10, W14
.text:000000710286B4AC SUB W13, W13, #1
.text:000000710286B4B0 CMP W13, #0x5F ; '_'
.text:000000710286B4B4 B.HI loc_710286B4F0
.text:000000710286B4B8
.text:000000710286B4B8 loc_710286B4B8 ; CODE XREF: calc_attack_damage+E6C↑j
.text:000000710286B4B8 ADD W12, W10, W12
.text:000000710286B4BC ADD X12, X9, X12,LSL#5
.text:000000710286B4C0 LDR X12, [X12,#8]
.text:000000710286B4C4 CBZ X12, loc_710286B4F0
.text:000000710286B4C8 MOV W9, #4
.text:000000710286B4CC STRH W9, [X12,#8]
.text:000000710286B4D0 STR W11, [X12,#0xC]
.text:000000710286B4D4 STRB W9, [X12,#0xA]
.text:000000710286B4D8 STP XZR, XZR, [X12,#0x10]
.text:000000710286B4DC LDR X9, [X27,#0x70]
.text:000000710286B4E0 STR X12, [X9,#0x28]
.text:000000710286B4E4 LDR X27, [X25]
.text:000000710286B4E8 LDR X9, [X27,#0x30]
.text:000000710286B4EC LDR W10, [X9,#0xC08]
.text:000000710286B4F0
.text:000000710286B4F0 loc_710286B4F0 ; CODE XREF: calc_attack_damage+E60↑j
.text:000000710286B4F0 ; calc_attack_damage+E8C↑j ...
.text:000000710286B4F0 LDR W11, [X22]
.text:000000710286B4F4 MOV W13, #8
.text:000000710286B4F8 BFI X13, X10, #5, #0x20 ; ' '
.text:000000710286B4FC MOV X14, XZR
.text:000000710286B500
.text:000000710286B500 loc_710286B500 ; CODE XREF: calc_attack_damage+F00↓j
.text:000000710286B500 MOV X12, X14
.text:000000710286B504 ADD X14, X10, X14
.text:000000710286B508 CMP X14, #0x5F ; '_'
.text:000000710286B50C B.HI loc_710286B578
.text:000000710286B510 LDR X14, [X9,X13]
.text:000000710286B514 LDRH W15, [X14,#8]
.text:000000710286B518 CBZ W15, loc_710286B53C
.text:000000710286B51C ADD X14, X12, #1
.text:000000710286B520 ADD X13, X13, #0x20 ; ' '
.text:000000710286B524 CMP W15, #0x12
.text:000000710286B528 B.NE loc_710286B500
.text:000000710286B52C ADD W13, W10, W14
.text:000000710286B530 SUB W13, W13, #1
.text:000000710286B534 CMP W13, #0x5F ; '_'
.text:000000710286B538 B.HI loc_710286B578
.text:000000710286B53C
.text:000000710286B53C loc_710286B53C ; CODE XREF: calc_attack_damage+EF0↑j
.text:000000710286B53C ADD W12, W10, W12
.text:000000710286B540 ADD X12, X9, X12,LSL#5
.text:000000710286B544 LDR X12, [X12,#8]
.text:000000710286B548 CBZ X12, loc_710286B578
.text:000000710286B54C MOV W9, #0x12
.text:000000710286B550 STRH W9, [X12,#8]
.text:000000710286B554 MOV W9, #4
.text:000000710286B558 STR W11, [X12,#0xC]
.text:000000710286B55C STRB W9, [X12,#0xA]
.text:000000710286B560 STP XZR, XZR, [X12,#0x10]
.text:000000710286B564 LDR X9, [X27,#0x70]
.text:000000710286B568 STR X12, [X9,#0x98]
.text:000000710286B56C LDR X27, [X25]
.text:000000710286B570 LDR X9, [X27,#0x30]
.text:000000710286B574 LDR W10, [X9,#0xC08]
.text:000000710286B578
.text:000000710286B578 loc_710286B578 ; CODE XREF: calc_attack_damage+EE4↑j
.text:000000710286B578 ; calc_attack_damage+F10↑j ...
.text:000000710286B578 LDRB W11, [X22,#0xA]
.text:000000710286B57C MOV W13, #8
.text:000000710286B580 BFI X13, X10, #5, #0x20 ; ' '
.text:000000710286B584 MOV X14, XZR
.text:000000710286B588
.text:000000710286B588 loc_710286B588 ; CODE XREF: calc_attack_damage+F88↓j
.text:000000710286B588 MOV X12, X14
.text:000000710286B58C ADD X14, X10, X14
.text:000000710286B590 CMP X14, #0x5F ; '_'
.text:000000710286B594 B.HI loc_710286B600
.text:000000710286B598 LDR X14, [X9,X13]
.text:000000710286B59C LDRH W15, [X14,#8]
.text:000000710286B5A0 CBZ W15, loc_710286B5C4
.text:000000710286B5A4 ADD X14, X12, #1
.text:000000710286B5A8 ADD X13, X13, #0x20 ; ' '
.text:000000710286B5AC CMP W15, #0x16
.text:000000710286B5B0 B.NE loc_710286B588
.text:000000710286B5B4 ADD W13, W10, W14
.text:000000710286B5B8 SUB W13, W13, #1
.text:000000710286B5BC CMP W13, #0x5F ; '_'
.text:000000710286B5C0 B.HI loc_710286B600
.text:000000710286B5C4
.text:000000710286B5C4 loc_710286B5C4 ; CODE XREF: calc_attack_damage+F78↑j
.text:000000710286B5C4 ADD W12, W10, W12
.text:000000710286B5C8 ADD X12, X9, X12,LSL#5
.text:000000710286B5CC LDR X12, [X12,#8]
.text:000000710286B5D0 CBZ X12, loc_710286B600
.text:000000710286B5D4 MOV W9, #0x16
.text:000000710286B5D8 STRH W9, [X12,#8]
.text:000000710286B5DC MOV W9, #4
.text:000000710286B5E0 STR W11, [X12,#0xC]
.text:000000710286B5E4 STRB W9, [X12,#0xA]
.text:000000710286B5E8 STP XZR, XZR, [X12,#0x10]
.text:000000710286B5EC LDR X9, [X27,#0x70]
.text:000000710286B5F0 STR X12, [X9,#0xB8]
.text:000000710286B5F4 LDR X27, [X25]
.text:000000710286B5F8 LDR X9, [X27,#0x30]
.text:000000710286B5FC LDR W10, [X9,#0xC08]
.text:000000710286B600
.text:000000710286B600 loc_710286B600 ; CODE XREF: calc_attack_damage+F6C↑j
.text:000000710286B600 ; calc_attack_damage+F98↑j ...
.text:000000710286B600 LDR W11, [X22,#0xC]
.text:000000710286B604 MOV W13, #8
.text:000000710286B608 BFI X13, X10, #5, #0x20 ; ' '
.text:000000710286B60C MOV X14, XZR
.text:000000710286B610
.text:000000710286B610 loc_710286B610 ; CODE XREF: calc_attack_damage+1010↓j
.text:000000710286B610 MOV X12, X14
.text:000000710286B614 ADD X14, X10, X14
.text:000000710286B618 CMP X14, #0x5F ; '_'
.text:000000710286B61C B.HI loc_710286B688
.text:000000710286B620 LDR X14, [X9,X13]
.text:000000710286B624 LDRH W15, [X14,#8]
.text:000000710286B628 CBZ W15, loc_710286B64C
.text:000000710286B62C ADD X14, X12, #1
.text:000000710286B630 ADD X13, X13, #0x20 ; ' '
.text:000000710286B634 CMP W15, #0x1B
.text:000000710286B638 B.NE loc_710286B610
.text:000000710286B63C ADD W13, W10, W14
.text:000000710286B640 SUB W13, W13, #1
.text:000000710286B644 CMP W13, #0x5F ; '_'
.text:000000710286B648 B.HI loc_710286B688
.text:000000710286B64C
.text:000000710286B64C loc_710286B64C ; CODE XREF: calc_attack_damage+1000↑j
.text:000000710286B64C ADD W12, W10, W12
.text:000000710286B650 ADD X12, X9, X12,LSL#5
.text:000000710286B654 LDR X12, [X12,#8]
.text:000000710286B658 CBZ X12, loc_710286B688
.text:000000710286B65C MOV W9, #0x1B
.text:000000710286B660 STRH W9, [X12,#8]
.text:000000710286B664 MOV W9, #4
.text:000000710286B668 STR W11, [X12,#0xC]
.text:000000710286B66C STRB W9, [X12,#0xA]
.text:000000710286B670 STP XZR, XZR, [X12,#0x10]
.text:000000710286B674 LDR X9, [X27,#0x70]
.text:000000710286B678 STR X12, [X9,#0xE0]
.text:000000710286B67C LDR X27, [X25]
.text:000000710286B680 LDR X9, [X27,#0x30]
.text:000000710286B684 LDR W10, [X9,#0xC08]
.text:000000710286B688
.text:000000710286B688 loc_710286B688 ; CODE XREF: calc_attack_damage+FF4↑j
.text:000000710286B688 ; calc_attack_damage+1020↑j ...
.text:000000710286B688 LDR W11, [X22,#0x20]
.text:000000710286B68C MOV W13, #8
.text:000000710286B690 BFI X13, X10, #5, #0x20 ; ' '
.text:000000710286B694 MOV X14, XZR
.text:000000710286B698
.text:000000710286B698 loc_710286B698 ; CODE XREF: calc_attack_damage+1098↓j
.text:000000710286B698 MOV X12, X14
.text:000000710286B69C ADD X14, X10, X14
.text:000000710286B6A0 CMP X14, #0x5F ; '_'
.text:000000710286B6A4 B.HI loc_710286B710
.text:000000710286B6A8 LDR X14, [X9,X13]
.text:000000710286B6AC LDRH W15, [X14,#8]
.text:000000710286B6B0 CBZ W15, loc_710286B6D4
.text:000000710286B6B4 ADD X14, X12, #1
.text:000000710286B6B8 ADD X13, X13, #0x20 ; ' '
.text:000000710286B6BC CMP W15, #0x80
.text:000000710286B6C0 B.NE loc_710286B698
.text:000000710286B6C4 ADD W13, W10, W14
.text:000000710286B6C8 SUB W13, W13, #1
.text:000000710286B6CC CMP W13, #0x5F ; '_'
.text:000000710286B6D0 B.HI loc_710286B710
.text:000000710286B6D4
.text:000000710286B6D4 loc_710286B6D4 ; CODE XREF: calc_attack_damage+1088↑j
.text:000000710286B6D4 ADD W12, W10, W12
.text:000000710286B6D8 ADD X12, X9, X12,LSL#5
.text:000000710286B6DC LDR X12, [X12,#8]
.text:000000710286B6E0 CBZ X12, loc_710286B710
.text:000000710286B6E4 MOV W9, #0x80
.text:000000710286B6E8 STRH W9, [X12,#8]
.text:000000710286B6EC MOV W9, #4
.text:000000710286B6F0 STR W11, [X12,#0xC]
.text:000000710286B6F4 STRB W9, [X12,#0xA]
.text:000000710286B6F8 STP XZR, XZR, [X12,#0x10]
.text:000000710286B6FC LDR X9, [X27,#0x70]
.text:000000710286B700 STR X12, [X9,#0x408]
.text:000000710286B704 LDR X27, [X25]
.text:000000710286B708 LDR X9, [X27,#0x30]
.text:000000710286B70C LDR W10, [X9,#0xC08]
.text:000000710286B710
.text:000000710286B710 loc_710286B710 ; CODE XREF: calc_attack_damage+107C↑j
.text:000000710286B710 ; calc_attack_damage+10A8↑j ...
.text:000000710286B710 LDRB W11, [X22,#0x10]
.text:000000710286B714 MOV W13, #8
.text:000000710286B718 BFI X13, X10, #5, #0x20 ; ' '
.text:000000710286B71C MOV X14, XZR
.text:000000710286B720
.text:000000710286B720 loc_710286B720 ; CODE XREF: calc_attack_damage+1120↓j
.text:000000710286B720 MOV X12, X14
.text:000000710286B724 ADD X14, X10, X14
.text:000000710286B728 CMP X14, #0x5F ; '_'
.text:000000710286B72C B.HI loc_710286B798
.text:000000710286B730 LDR X14, [X9,X13]
.text:000000710286B734 LDRH W15, [X14,#8]
.text:000000710286B738 CBZ W15, loc_710286B75C
.text:000000710286B73C ADD X14, X12, #1
.text:000000710286B740 ADD X13, X13, #0x20 ; ' '
.text:000000710286B744 CMP W15, #0x63 ; 'c'
.text:000000710286B748 B.NE loc_710286B720
.text:000000710286B74C ADD W13, W10, W14
.text:000000710286B750 SUB W13, W13, #1
.text:000000710286B754 CMP W13, #0x5F ; '_'
.text:000000710286B758 B.HI loc_710286B798
.text:000000710286B75C
.text:000000710286B75C loc_710286B75C ; CODE XREF: calc_attack_damage+1110↑j
.text:000000710286B75C ADD W12, W10, W12
.text:000000710286B760 ADD X12, X9, X12,LSL#5
.text:000000710286B764 LDR X12, [X12,#8]
.text:000000710286B768 CBZ X12, loc_710286B798
.text:000000710286B76C MOV W9, #0x63 ; 'c'
.text:000000710286B770 STRH W9, [X12,#8]
.text:000000710286B774 MOV W9, #4
.text:000000710286B778 STR W11, [X12,#0xC]
.text:000000710286B77C STRB W9, [X12,#0xA]
.text:000000710286B780 STP XZR, XZR, [X12,#0x10]
.text:000000710286B784 LDR X9, [X27,#0x70]
.text:000000710286B788 STR X12, [X9,#0x320]
.text:000000710286B78C LDR X27, [X25]
.text:000000710286B790 LDR X9, [X27,#0x30]
.text:000000710286B794 LDR W10, [X9,#0xC08]
.text:000000710286B798
.text:000000710286B798 loc_710286B798 ; CODE XREF: calc_attack_damage+1104↑j
.text:000000710286B798 ; calc_attack_damage+1130↑j ...
.text:000000710286B798 MOV W12, #8
.text:000000710286B79C BFI X12, X10, #5, #0x20 ; ' '
.text:000000710286B7A0 MOV X13, XZR
.text:000000710286B7A4
.text:000000710286B7A4 loc_710286B7A4 ; CODE XREF: calc_attack_damage+11A4↓j
.text:000000710286B7A4 MOV X11, X13
.text:000000710286B7A8 ADD X13, X10, X13
.text:000000710286B7AC CMP X13, #0x5F ; '_'
.text:000000710286B7B0 B.HI loc_710286B820
.text:000000710286B7B4 LDR X13, [X9,X12]
.text:000000710286B7B8 LDRH W14, [X13,#8]
.text:000000710286B7BC CBZ W14, loc_710286B7E0
.text:000000710286B7C0 ADD X13, X11, #1
.text:000000710286B7C4 ADD X12, X12, #0x20 ; ' '
.text:000000710286B7C8 CMP W14, #0x5D ; ']'
.text:000000710286B7CC B.NE loc_710286B7A4
.text:000000710286B7D0 ADD W12, W10, W13
.text:000000710286B7D4 SUB W12, W12, #1
.text:000000710286B7D8 CMP W12, #0x5F ; '_'
.text:000000710286B7DC B.HI loc_710286B820
.text:000000710286B7E0
.text:000000710286B7E0 loc_710286B7E0 ; CODE XREF: calc_attack_damage+1194↑j
.text:000000710286B7E0 ADD W11, W10, W11
.text:000000710286B7E4 ADD X11, X9, X11,LSL#5
.text:000000710286B7E8 LDR X11, [X11,#8]
.text:000000710286B7EC CBZ X11, loc_710286B820
.text:000000710286B7F0 MOV W9, #0x5D ; ']'
.text:000000710286B7F4 STRH W9, [X11,#8]
.text:000000710286B7F8 MOV W9, #1
.text:000000710286B7FC STUR XZR, [X11,#0xC]
.text:000000710286B800 STUR XZR, [X11,#0x14]
.text:000000710286B804 STR WZR, [X11,#0x1C]
.text:000000710286B808 STRB W9, [X11,#0xA]
.text:000000710286B80C LDR X9, [X27,#0x70]
.text:000000710286B810 STR X11, [X9,#0x2F0]
.text:000000710286B814 LDR X27, [X25]
.text:000000710286B818 LDR X9, [X27,#0x30]
.text:000000710286B81C LDR W10, [X9,#0xC08]
.text:000000710286B820
.text:000000710286B820 loc_710286B820 ; CODE XREF: calc_attack_damage+1188↑j
.text:000000710286B820 ; calc_attack_damage+11B4↑j ...
.text:000000710286B820 MOV W12, #8
.text:000000710286B824 BFI X12, X10, #5, #0x20 ; ' '
.text:000000710286B828 MOV X13, XZR
.text:000000710286B82C
.text:000000710286B82C loc_710286B82C ; CODE XREF: calc_attack_damage+122C↓j
.text:000000710286B82C MOV X11, X13
.text:000000710286B830 ADD X13, X10, X13
.text:000000710286B834 CMP X13, #0x5F ; '_'
.text:000000710286B838 B.HI loc_710286B8A8
.text:000000710286B83C LDR X13, [X9,X12]
.text:000000710286B840 LDRH W14, [X13,#8]
.text:000000710286B844 CBZ W14, loc_710286B868
.text:000000710286B848 ADD X13, X11, #1
.text:000000710286B84C ADD X12, X12, #0x20 ; ' '
.text:000000710286B850 CMP W14, #0x5E ; '^'
.text:000000710286B854 B.NE loc_710286B82C
.text:000000710286B858 ADD W12, W10, W13
.text:000000710286B85C SUB W12, W12, #1
.text:000000710286B860 CMP W12, #0x5F ; '_'
.text:000000710286B864 B.HI loc_710286B8A8
.text:000000710286B868
.text:000000710286B868 loc_710286B868 ; CODE XREF: calc_attack_damage+121C↑j
.text:000000710286B868 ADD W11, W10, W11
.text:000000710286B86C ADD X11, X9, X11,LSL#5
.text:000000710286B870 LDR X11, [X11,#8]
.text:000000710286B874 CBZ X11, loc_710286B8A8
.text:000000710286B878 MOV W9, #0x5E ; '^'
.text:000000710286B87C STRH W9, [X11,#8]
.text:000000710286B880 MOV W9, #1
.text:000000710286B884 STUR XZR, [X11,#0xC]
.text:000000710286B888 STUR XZR, [X11,#0x14]
.text:000000710286B88C STR WZR, [X11,#0x1C]
.text:000000710286B890 STRB W9, [X11,#0xA]
.text:000000710286B894 LDR X9, [X27,#0x70]
.text:000000710286B898 STR X11, [X9,#0x2F8]
.text:000000710286B89C LDR X27, [X25]
.text:000000710286B8A0 LDR X9, [X27,#0x30]
.text:000000710286B8A4 LDR W10, [X9,#0xC08]
.text:000000710286B8A8
.text:000000710286B8A8 loc_710286B8A8 ; CODE XREF: calc_attack_damage+1210↑j
.text:000000710286B8A8 ; calc_attack_damage+123C↑j ...
.text:000000710286B8A8 ADD X11, X9, X10,LSL#5
.text:000000710286B8AC ADD X12, X11, #8
.text:000000710286B8B0 STR W24, [SP,#0x7B0+var_79C]
.text:000000710286B8B4
.text:000000710286B8B4 loc_710286B8B4 ; CODE XREF: calc_attack_damage+12B0↓j
.text:000000710286B8B4 CMP X10, #0x5F ; '_'
.text:000000710286B8B8 B.HI loc_710286B91C
.text:000000710286B8BC MOV X11, X10
.text:000000710286B8C0 LDR X10, [X12]
.text:000000710286B8C4 LDRH W13, [X10,#8]
.text:000000710286B8C8 CBZ W13, loc_710286B8E8
.text:000000710286B8CC ADD X10, X11, #1
.text:000000710286B8D0 ADD X12, X12, #0x20 ; ' '
.text:000000710286B8D4 CMP W13, #0x33 ; '3'
.text:000000710286B8D8 B.NE loc_710286B8B4
.text:000000710286B8DC SUB W10, W10, #1
.text:000000710286B8E0 CMP W10, #0x5F ; '_'
.text:000000710286B8E4 B.HI loc_710286B91C
.text:000000710286B8E8
.text:000000710286B8E8 loc_710286B8E8 ; CODE XREF: calc_attack_damage+12A0↑j
.text:000000710286B8E8 AND X10, X11, #0xFFFFFFFF
.text:000000710286B8EC ADD X9, X9, X10,LSL#5
.text:000000710286B8F0 LDR X9, [X9,#8]
.text:000000710286B8F4 CBZ X9, loc_710286B91C
.text:000000710286B8F8 MOV W10, #0x33 ; '3'
.text:000000710286B8FC STR W8, [X9,#0xC]
.text:000000710286B900 MOV W8, #1
.text:000000710286B904 STRH W10, [X9,#8]
.text:000000710286B908 STRB W8, [X9,#0xA]
.text:000000710286B90C STP XZR, XZR, [X9,#0x10]
.text:000000710286B910 LDR X8, [X27,#0x70]
.text:000000710286B914 STR X9, [X8,#0x1A0]
.text:000000710286B918 LDR X27, [X25]
.text:000000710286B91C
.text:000000710286B91C loc_710286B91C ; CODE XREF: calc_attack_damage+1290↑j
.text:000000710286B91C ; calc_attack_damage+12BC↑j ...
.text:000000710286B91C LDR W8, [X27,#0x78]
.text:000000710286B920 ADD W8, W8, #1
.text:000000710286B924 LDR X9, [X27,#8]
.text:000000710286B928 STR W8, [X27,#0x78]
.text:000000710286B92C LDR X9, [X9,#0x88]
.text:000000710286B930 LDR X24, [X9,#0x14C8]
.text:000000710286B934 CBZ X24, loc_710286B978
.text:000000710286B938 MOV W28, #0x47 ; 'G'
.text:000000710286B93C B loc_710286B948
.text:000000710286B940 ; ---------------------------------------------------------------------------
.text:000000710286B940
.text:000000710286B940 loc_710286B940 ; CODE XREF: calc_attack_damage+1340↓j
.text:000000710286B940 ; calc_attack_damage+1348↓j
.text:000000710286B940 MOV X24, X0
.text:000000710286B944 CBZ X0, loc_710286B974
.text:000000710286B948
.text:000000710286B948 loc_710286B948 ; CODE XREF: calc_attack_damage+1314↑j
.text:000000710286B948 MOV X0, X27
.text:000000710286B94C MOV W1, W28
.text:000000710286B950 MOV W2, #8
.text:000000710286B954 MOV W3, #1
.text:000000710286B958 MOV X4, X24
.text:000000710286B95C BL sub_7102899E6C
.text:000000710286B960 CBZ X0, loc_710286B974
.text:000000710286B964 LDRB W8, [X0,#0x3F]
.text:000000710286B968 TBNZ W8, #5, loc_710286B940
.text:000000710286B96C LDR X0, [X24,#0x18]
.text:000000710286B970 B loc_710286B940
.text:000000710286B974 ; ---------------------------------------------------------------------------
.text:000000710286B974
.text:000000710286B974 loc_710286B974 ; CODE XREF: calc_attack_damage+131C↑j
.text:000000710286B974 ; calc_attack_damage+1338↑j
.text:000000710286B974 LDR W8, [X27,#0x78]
.text:000000710286B978
.text:000000710286B978 loc_710286B978 ; CODE XREF: calc_attack_damage+130C↑j
.text:000000710286B978 SUBS W8, W8, #1
.text:000000710286B97C STR W8, [X27,#0x78]
.text:000000710286B980 B.NE loc_710286B9A8
.text:000000710286B984 LDR X8, [X27,#8]
.text:000000710286B988 LDR X8, [X8,#0x88]
.text:000000710286B98C LDR X8, [X8,#0x14C8]
.text:000000710286B990 CBZ X8, loc_710286B9A8
.text:000000710286B994
.text:000000710286B994 loc_710286B994 ; CODE XREF: calc_attack_damage+137C↓j
.text:000000710286B994 LDRH W9, [X8,#0x3E]
.text:000000710286B998 LSL W9, W9, #0x10
.text:000000710286B99C STR W9, [X8,#0x3C]
.text:000000710286B9A0 LDR X8, [X8,#0x18]
.text:000000710286B9A4 CBNZ X8, loc_710286B994
.text:000000710286B9A8
.text:000000710286B9A8 loc_710286B9A8 ; CODE XREF: calc_attack_damage+1358↑j
.text:000000710286B9A8 ; calc_attack_damage+1368↑j
.text:000000710286B9A8 LDR X27, [X25]
.text:000000710286B9AC LDR X8, [X27,#0x30]
.text:000000710286B9B0 LDR W11, [X8,#0xC08]
.text:000000710286B9B4 ADD X9, X8, X11,LSL#5
.text:000000710286B9B8 ADD X10, X9, #8
.text:000000710286B9BC
.text:000000710286B9BC loc_710286B9BC ; CODE XREF: calc_attack_damage+13B8↓j
.text:000000710286B9BC CMP X11, #0x5F ; '_'
.text:000000710286B9C0 B.HI loc_710286BA34
.text:000000710286B9C4 MOV X9, X11
.text:000000710286B9C8 LDR X11, [X10]
.text:000000710286B9CC LDRH W12, [X11,#8]
.text:000000710286B9D0 CBZ W12, loc_710286B9F0
.text:000000710286B9D4 ADD X11, X9, #1
.text:000000710286B9D8 ADD X10, X10, #0x20 ; ' '
.text:000000710286B9DC CMP W12, #0x34 ; '4'
.text:000000710286B9E0 B.NE loc_710286B9BC
.text:000000710286B9E4 SUB W10, W11, #1
.text:000000710286B9E8 CMP W10, #0x5F ; '_'
.text:000000710286B9EC B.HI loc_710286BA34
.text:000000710286B9F0
.text:000000710286B9F0 loc_710286B9F0 ; CODE XREF: calc_attack_damage+13A8↑j
.text:000000710286B9F0 AND X9, X9, #0xFFFFFFFF
.text:000000710286B9F4 ADD X8, X8, X9,LSL#5
.text:000000710286B9F8 LDR X8, [X8,#8]
.text:000000710286B9FC CBZ X8, loc_710286BA34
.text:000000710286BA00 MOV W9, #0x34 ; '4'
.text:000000710286BA04 STRH W9, [X8,#8]
.text:000000710286BA08 MOV X9, #0x2900001000
.text:000000710286BA10 STUR X9, [X8,#0xC]
.text:000000710286BA14 MOV W9, #0x200000
.text:000000710286BA18 STR W9, [X8,#0x14]
.text:000000710286BA1C MOV W9, #3
.text:000000710286BA20 STR XZR, [X8,#0x18]
.text:000000710286BA24 STRB W9, [X8,#0xA]
.text:000000710286BA28 LDR X9, [X27,#0x70]
.text:000000710286BA2C STR X8, [X9,#0x1A8]
.text:000000710286BA30 LDR X27, [X25]
.text:000000710286BA34
.text:000000710286BA34 loc_710286BA34 ; CODE XREF: calc_attack_damage+1398↑j
.text:000000710286BA34 ; calc_attack_damage+13C4↑j ...
.text:000000710286BA34 LDR W8, [X27,#0x78]
.text:000000710286BA38 ADD W8, W8, #1
.text:000000710286BA3C LDR X9, [X27,#8]
.text:000000710286BA40 STR W8, [X27,#0x78]
.text:000000710286BA44 LDR X9, [X9,#0x88]
.text:000000710286BA48 LDR X24, [X9,#0x14C8]
.text:000000710286BA4C CBZ X24, loc_710286BA90
.text:000000710286BA50 MOV W28, #0x48 ; 'H'
.text:000000710286BA54 B loc_710286BA60
.text:000000710286BA58 ; ---------------------------------------------------------------------------
.text:000000710286BA58
.text:000000710286BA58 loc_710286BA58 ; CODE XREF: calc_attack_damage+1458↓j
.text:000000710286BA58 ; calc_attack_damage+1460↓j
.text:000000710286BA58 MOV X24, X0
.text:000000710286BA5C CBZ X0, loc_710286BA8C
.text:000000710286BA60
.text:000000710286BA60 loc_710286BA60 ; CODE XREF: calc_attack_damage+142C↑j
.text:000000710286BA60 MOV X0, X27
.text:000000710286BA64 MOV W1, W28
.text:000000710286BA68 MOV W2, #8
.text:000000710286BA6C MOV W3, #1
.text:000000710286BA70 MOV X4, X24
.text:000000710286BA74 BL sub_7102899E6C
.text:000000710286BA78 CBZ X0, loc_710286BA8C
.text:000000710286BA7C LDRB W8, [X0,#0x3F]
.text:000000710286BA80 TBNZ W8, #5, loc_710286BA58
.text:000000710286BA84 LDR X0, [X24,#0x18]
.text:000000710286BA88 B loc_710286BA58
.text:000000710286BA8C ; ---------------------------------------------------------------------------
.text:000000710286BA8C
.text:000000710286BA8C loc_710286BA8C ; CODE XREF: calc_attack_damage+1434↑j
.text:000000710286BA8C ; calc_attack_damage+1450↑j
.text:000000710286BA8C LDR W8, [X27,#0x78]
.text:000000710286BA90
.text:000000710286BA90 loc_710286BA90 ; CODE XREF: calc_attack_damage+1424↑j
.text:000000710286BA90 SUBS W8, W8, #1
.text:000000710286BA94 STR W8, [X27,#0x78]
.text:000000710286BA98 B.NE loc_710286BAC0
.text:000000710286BA9C LDR X8, [X27,#8]
.text:000000710286BAA0 LDR X8, [X8,#0x88]
.text:000000710286BAA4 LDR X8, [X8,#0x14C8]
.text:000000710286BAA8 CBZ X8, loc_710286BAC0
.text:000000710286BAAC
.text:000000710286BAAC loc_710286BAAC ; CODE XREF: calc_attack_damage+1494↓j
.text:000000710286BAAC LDRH W9, [X8,#0x3E]
.text:000000710286BAB0 LSL W9, W9, #0x10
.text:000000710286BAB4 STR W9, [X8,#0x3C]
.text:000000710286BAB8 LDR X8, [X8,#0x18]
.text:000000710286BABC CBNZ X8, loc_710286BAAC
.text:000000710286BAC0
.text:000000710286BAC0 loc_710286BAC0 ; CODE XREF: calc_attack_damage+1470↑j
.text:000000710286BAC0 ; calc_attack_damage+1480↑j
.text:000000710286BAC0 LDR X24, [X25]
.text:000000710286BAC4 LDR X8, [X24,#0x70]
.text:000000710286BAC8 LDR X9, [X8,#0x1A0]
.text:000000710286BACC CBZ X9, loc_710286BAE4
.text:000000710286BAD0 LDRH W20, [X9,#0xC]
.text:000000710286BAD4 LDR X8, [X8,#0x1A8]
.text:000000710286BAD8 CBZ X8, loc_710286BAF0
.text:000000710286BADC
.text:000000710286BADC loc_710286BADC ; CODE XREF: calc_attack_damage+14C4↓j
.text:000000710286BADC LDR W23, [X8,#0xC]
.text:000000710286BAE0 B loc_710286BAF4
.text:000000710286BAE4 ; ---------------------------------------------------------------------------
.text:000000710286BAE4
.text:000000710286BAE4 loc_710286BAE4 ; CODE XREF: calc_attack_damage+14A4↑j
.text:000000710286BAE4 MOV W20, WZR
.text:000000710286BAE8 LDR X8, [X8,#0x1A8]
.text:000000710286BAEC CBNZ X8, loc_710286BADC
.text:000000710286BAF0
.text:000000710286BAF0 loc_710286BAF0 ; CODE XREF: calc_attack_damage+14B0↑j
.text:000000710286BAF0 MOV W23, WZR
.text:000000710286BAF4
.text:000000710286BAF4 loc_710286BAF4 ; CODE XREF: calc_attack_damage+14B8↑j
.text:000000710286BAF4 LDR X25, [X24,#0x50]
.text:000000710286BAF8 LDR W8, [X25,#0x408]
.text:000000710286BAFC CBZ W8, loc_710286BB30
.text:000000710286BB00 ADD X8, X25, X8,LSL#5
.text:000000710286BB04 LDR X8, [X8,#8]
.text:000000710286BB08 ADD X0, X8, #8 ; s
.text:000000710286BB0C MOV W2, #0x410 ; n
.text:000000710286BB10 MOV W1, WZR ; c
.text:000000710286BB14 BL memset_0
.text:000000710286BB18 LDR W8, [X25,#0x408]
.text:000000710286BB1C SUB W8, W8, #1
.text:000000710286BB20 STR W8, [X25,#0x408]
.text:000000710286BB24 LDR X25, [X24,#0x50]
.text:000000710286BB28 LDR W8, [X25,#0x408]
.text:000000710286BB2C B loc_710286BB34
.text:000000710286BB30 ; ---------------------------------------------------------------------------
.text:000000710286BB30
.text:000000710286BB30 loc_710286BB30 ; CODE XREF: calc_attack_damage+14D4↑j
.text:000000710286BB30 MOV X8, XZR
.text:000000710286BB34
.text:000000710286BB34 loc_710286BB34 ; CODE XREF: calc_attack_damage+1504↑j
.text:000000710286BB34 ADD X8, X25, X8,LSL#5
.text:000000710286BB38 LDR X25, [SP,#0x7B0+var_768]
.text:000000710286BB3C LDR X8, [X8,#8]
.text:000000710286BB40 STR X8, [X24,#0x70]
.text:000000710286BB44 LDR X8, [X24,#0x30]
.text:000000710286BB48 LDR W9, [X8,#0xC08]
.text:000000710286BB4C CBZ W9, loc_710286BBD8
.text:000000710286BB50 AND W10, W9, #0xFFFF
.text:000000710286BB54 CMP W10, #0x5F ; '_'
.text:000000710286BB58 B.HI loc_710286BB94
.text:000000710286BB5C AND X10, X9, #0xFFFF
.text:000000710286BB60 ADD X9, X10, #1
.text:000000710286BB64 ADD X10, X8, X10,LSL#5
.text:000000710286BB68 ADD X10, X10, #8
.text:000000710286BB6C
.text:000000710286BB6C loc_710286BB6C ; CODE XREF: calc_attack_damage+1564↓j
.text:000000710286BB6C LDR X11, [X10]
.text:000000710286BB70 LDRH W12, [X11,#8]
.text:000000710286BB74 CBZ W12, loc_710286BB90
.text:000000710286BB78 STRH WZR, [X11,#8]
.text:000000710286BB7C AND W11, W9, #0xFFFF
.text:000000710286BB80 ADD X9, X9, #1
.text:000000710286BB84 ADD X10, X10, #0x20 ; ' '
.text:000000710286BB88 CMP W11, #0x60 ; '`'
.text:000000710286BB8C B.NE loc_710286BB6C
.text:000000710286BB90
.text:000000710286BB90 loc_710286BB90 ; CODE XREF: calc_attack_damage+154C↑j
.text:000000710286BB90 LDR W9, [X8,#0xC08]
.text:000000710286BB94
.text:000000710286BB94 loc_710286BB94 ; CODE XREF: calc_attack_damage+1530↑j
.text:000000710286BB94 SUB W9, W9, #1
.text:000000710286BB98 STR W9, [X8,#0xC08]
.text:000000710286BB9C ADD X9, X8, X9,LSL#5
.text:000000710286BBA0 LDR X9, [X9,#8]
.text:000000710286BBA4 STRH WZR, [X9,#8]
.text:000000710286BBA8 LDR W9, [X8,#0xC08]
.text:000000710286BBAC
.text:000000710286BBAC loc_710286BBAC ; CODE XREF: calc_attack_damage+15A4↓j
.text:000000710286BBAC CBZ X9, loc_710286BBD8
.text:000000710286BBB0 SUB X9, X9, #1
.text:000000710286BBB4 AND X10, X9, #0xFFFFFFFF
.text:000000710286BBB8 ADD X10, X8, X10,LSL#5
.text:000000710286BBBC STR W9, [X8,#0xC08]
.text:000000710286BBC0 LDR X10, [X10,#8]
.text:000000710286BBC4 LDRH W10, [X10,#8]
.text:000000710286BBC8 CMP W10, #1
.text:000000710286BBCC B.NE loc_710286BBAC
.text:000000710286BBD0 ADD W9, W9, #1
.text:000000710286BBD4 STR W9, [X8,#0xC08]
.text:000000710286BBD8
.text:000000710286BBD8 loc_710286BBD8 ; CODE XREF: calc_attack_damage+1524↑j
.text:000000710286BBD8 ; calc_attack_damage:loc_710286BBAC↑j
.text:000000710286BBD8 MUL W8, W23, W20
.text:000000710286BBDC AND W9, W8, #0xFFF
.text:000000710286BBE0 LSR W8, W8, #0xC
.text:000000710286BBE4 CMP W9, #0x800
.text:000000710286BBE8 CINC W23, W8, HI
.text:000000710286BBEC LDRB W8, [X21,#0x98]
.text:000000710286BBF0 ADRL X11, off_710418AF28
.text:000000710286BBF8 TST W8, #7
.text:000000710286BBFC ADRL X10, off_710418AF30
.text:000000710286BC04 B.NE loc_710286BC50
.text:000000710286BC08 LDRB W8, [X21,#0xA0]
.text:000000710286BC0C TST W8, #7
.text:000000710286BC10 B.NE loc_710286BC50
.text:000000710286BC14 LDRB W8, [X21,#0xA8]
.text:000000710286BC18 TST W8, #7
.text:000000710286BC1C B.NE loc_710286BC50
.text:000000710286BC20 LDRB W8, [X21,#0xB0]
.text:000000710286BC24 TST W8, #7
.text:000000710286BC28 B.NE loc_710286BC50
.text:000000710286BC2C LDRB W8, [X21,#0xB8]
.text:000000710286BC30 TST W8, #7
.text:000000710286BC34 B.NE loc_710286BC50
.text:000000710286BC38 LDRB W8, [X21,#0xC0]
.text:000000710286BC3C TST W8, #7
.text:000000710286BC40 B.NE loc_710286BC50
.text:000000710286BC44 LDRB W8, [X21,#0xC8]
.text:000000710286BC48 TST W8, #7
.text:000000710286BC4C B.EQ loc_710286E65C
.text:000000710286BC50
.text:000000710286BC50 loc_710286BC50 ; CODE XREF: calc_attack_damage+15DC↑j
.text:000000710286BC50 ; calc_attack_damage+15E8↑j ...
.text:000000710286BC50 LDR W8, [X22]
.text:000000710286BC54 MOV W9, #0x30 ; '0'
.text:000000710286BC58 MADD X8, X8, X9, X11
.text:000000710286BC5C LDR X9, [X8,#8]!
.text:000000710286BC60 LDR X13, [SP,#0x7B0+var_770]
.text:000000710286BC64 CBZ X9, loc_710286E68C
.text:000000710286BC68 LDRB W9, [X9,#0x1E1]
.text:000000710286BC6C CMP W9, #0
.text:000000710286BC70 CSEL X8, X10, X8, EQ
.text:000000710286BC74
.text:000000710286BC74 loc_710286BC74 ; CODE XREF: calc_attack_damage+4068↓j
.text:000000710286BC74 LDR X8, [X8]
.text:000000710286BC78 LDR X8, [X8,#0x250]
.text:000000710286BC7C LDR W9, [X8]
.text:000000710286BC80 ADD X8, X8, X9
.text:000000710286BC84 LDRSW X9, [X8]
.text:000000710286BC88 SUB X9, X8, X9
.text:000000710286BC8C LDRH W10, [X9]
.text:000000710286BC90 CMP W10, #0x8B
.text:000000710286BC94 B.CC loc_710286BCC0
.text:000000710286BC98 LDRH W9, [X9,#0x8A]
.text:000000710286BC9C CBZ X9, loc_710286BCC0
.text:000000710286BCA0 LDR W8, [X8,X9]
.text:000000710286BCA4 CBZ W8, loc_710286BCC0
.text:000000710286BCA8 AND W9, W23, #0xFFFF
.text:000000710286BCAC MUL W8, W8, W9
.text:000000710286BCB0 MOV W9, #0x51EB851F
.text:000000710286BCB8 UMULL X8, W8, W9
.text:000000710286BCBC LSR X23, X8, #0x25 ; '%'
.text:000000710286BCC0
.text:000000710286BCC0 loc_710286BCC0 ; CODE XREF: calc_attack_damage+166C↑j
.text:000000710286BCC0 ; calc_attack_damage+1674↑j ...
.text:000000710286BCC0 LDR X8, [X25]
.text:000000710286BCC4 LDR X9, [X8,#0x30]
.text:000000710286BCC8 LDR W10, [X9,#0xC08]
.text:000000710286BCCC CMP W10, #0x5F ; '_'
.text:000000710286BCD0 B.HI loc_710286BD18
.text:000000710286BCD4
.text:000000710286BCD4 loc_710286BCD4 ; CODE XREF: calc_attack_damage+16CC↓j
.text:000000710286BCD4 MOV W11, W10
.text:000000710286BCD8 ADD X11, X9, X11,LSL#5
.text:000000710286BCDC LDR X11, [X11,#8]
.text:000000710286BCE0 LDRH W12, [X11,#8]
.text:000000710286BCE4 CBZ W12, loc_710286BCFC
.text:000000710286BCE8 ADD W10, W10, #1
.text:000000710286BCEC CMP W10, #0x60 ; '`'
.text:000000710286BCF0 STR W10, [X9,#0xC08]
.text:000000710286BCF4 B.NE loc_710286BCD4
.text:000000710286BCF8 B loc_710286BD18
.text:000000710286BCFC ; ---------------------------------------------------------------------------
.text:000000710286BCFC
.text:000000710286BCFC loc_710286BCFC ; CODE XREF: calc_attack_damage+16BC↑j
.text:000000710286BCFC CMP W10, #0x5E ; '^'
.text:000000710286BD00 B.HI loc_710286BD18
.text:000000710286BD04 MOV W10, #1
.text:000000710286BD08 STRH W10, [X11,#8]
.text:000000710286BD0C LDR W10, [X9,#0xC08]
.text:000000710286BD10 ADD W10, W10, #1
.text:000000710286BD14 STR W10, [X9,#0xC08]
.text:000000710286BD18
.text:000000710286BD18 loc_710286BD18 ; CODE XREF: calc_attack_damage+16A8↑j
.text:000000710286BD18 ; calc_attack_damage+16D0↑j ...
.text:000000710286BD18 LDR X9, [X8,#0x50]
.text:000000710286BD1C LDR W10, [X9,#0x408]
.text:000000710286BD20 CMP W10, #0x1E
.text:000000710286BD24 B.HI loc_710286BD38
.text:000000710286BD28 ADD W10, W10, #1
.text:000000710286BD2C STR W10, [X9,#0x408]
.text:000000710286BD30 LDR X9, [X8,#0x50]
.text:000000710286BD34 LDR W10, [X9,#0x408]
.text:000000710286BD38
.text:000000710286BD38 loc_710286BD38 ; CODE XREF: calc_attack_damage+16FC↑j
.text:000000710286BD38 MOV W10, W10
.text:000000710286BD3C ADD X9, X9, X10,LSL#5
.text:000000710286BD40 LDR X9, [X9,#8]
.text:000000710286BD44 STR X9, [X8,#0x70]
.text:000000710286BD48 LDR X27, [X25]
.text:000000710286BD4C LDR X8, [X27,#0x30]
.text:000000710286BD50 LDR W9, [X8,#0xC08]
.text:000000710286BD54 LDRB W10, [X13,#0x7D]
.text:000000710286BD58 MOV W11, #8
.text:000000710286BD5C BFI X11, X9, #5, #0x20 ; ' '
.text:000000710286BD60 MOV X13, X9
.text:000000710286BD64
.text:000000710286BD64 loc_710286BD64 ; CODE XREF: calc_attack_damage+1760↓j
.text:000000710286BD64 CMP X13, #0x5F ; '_'
.text:000000710286BD68 B.HI loc_710286BDD4
.text:000000710286BD6C MOV X12, X13
.text:000000710286BD70 LDR X13, [X8,X11]
.text:000000710286BD74 LDRH W14, [X13,#8]
.text:000000710286BD78 CBZ W14, loc_710286BD98
.text:000000710286BD7C ADD X13, X12, #1
.text:000000710286BD80 ADD X11, X11, #0x20 ; ' '
.text:000000710286BD84 CMP W14, #3
.text:000000710286BD88 B.NE loc_710286BD64
.text:000000710286BD8C SUB W11, W13, #1
.text:000000710286BD90 CMP W11, #0x5F ; '_'
.text:000000710286BD94 B.HI loc_710286BDD4
.text:000000710286BD98
.text:000000710286BD98 loc_710286BD98 ; CODE XREF: calc_attack_damage+1750↑j
.text:000000710286BD98 AND X11, X12, #0xFFFFFFFF
.text:000000710286BD9C ADD X11, X8, X11,LSL#5
.text:000000710286BDA0 LDR X11, [X11,#8]
.text:000000710286BDA4 CBZ X11, loc_710286BDD4
.text:000000710286BDA8 MOV W8, #3
.text:000000710286BDAC STRH W8, [X11,#8]
.text:000000710286BDB0 MOV W8, #4
.text:000000710286BDB4 STR W10, [X11,#0xC]
.text:000000710286BDB8 STRB W8, [X11,#0xA]
.text:000000710286BDBC STP XZR, XZR, [X11,#0x10]
.text:000000710286BDC0 LDR X8, [X27,#0x70]
.text:000000710286BDC4 STR X11, [X8,#0x20]
.text:000000710286BDC8 LDR X27, [X25]
.text:000000710286BDCC LDR X8, [X27,#0x30]
.text:000000710286BDD0 LDR W9, [X8,#0xC08]
.text:000000710286BDD4
.text:000000710286BDD4 loc_710286BDD4 ; CODE XREF: calc_attack_damage+1740↑j
.text:000000710286BDD4 ; calc_attack_damage+176C↑j ...
.text:000000710286BDD4 LDRB W10, [X21,#0x7D]
.text:000000710286BDD8 MOV W12, #8
.text:000000710286BDDC BFI X12, X9, #5, #0x20 ; ' '
.text:000000710286BDE0 MOV X13, XZR
.text:000000710286BDE4
.text:000000710286BDE4 loc_710286BDE4 ; CODE XREF: calc_attack_damage+17E4↓j
.text:000000710286BDE4 MOV X11, X13
.text:000000710286BDE8 ADD X13, X9, X13
.text:000000710286BDEC CMP X13, #0x5F ; '_'
.text:000000710286BDF0 B.HI loc_710286BE58
.text:000000710286BDF4 LDR X13, [X8,X12]
.text:000000710286BDF8 LDRH W14, [X13,#8]
.text:000000710286BDFC CBZ W14, loc_710286BE20
.text:000000710286BE00 ADD X13, X11, #1
.text:000000710286BE04 ADD X12, X12, #0x20 ; ' '
.text:000000710286BE08 CMP W14, #4
.text:000000710286BE0C B.NE loc_710286BDE4
.text:000000710286BE10 ADD W12, W9, W13
.text:000000710286BE14 SUB W12, W12, #1
.text:000000710286BE18 CMP W12, #0x5F ; '_'
.text:000000710286BE1C B.HI loc_710286BE58
.text:000000710286BE20
.text:000000710286BE20 loc_710286BE20 ; CODE XREF: calc_attack_damage+17D4↑j
.text:000000710286BE20 ADD W11, W9, W11
.text:000000710286BE24 ADD X11, X8, X11,LSL#5
.text:000000710286BE28 LDR X11, [X11,#8]
.text:000000710286BE2C CBZ X11, loc_710286BE58
.text:000000710286BE30 MOV W8, #4
.text:000000710286BE34 STRH W8, [X11,#8]
.text:000000710286BE38 STR W10, [X11,#0xC]
.text:000000710286BE3C STRB W8, [X11,#0xA]
.text:000000710286BE40 STP XZR, XZR, [X11,#0x10]
.text:000000710286BE44 LDR X8, [X27,#0x70]
.text:000000710286BE48 STR X11, [X8,#0x28]
.text:000000710286BE4C LDR X27, [X25]
.text:000000710286BE50 LDR X8, [X27,#0x30]
.text:000000710286BE54 LDR W9, [X8,#0xC08]
.text:000000710286BE58
.text:000000710286BE58 loc_710286BE58 ; CODE XREF: calc_attack_damage+17C8↑j
.text:000000710286BE58 ; calc_attack_damage+17F4↑j ...
.text:000000710286BE58 MOV W11, #8
.text:000000710286BE5C BFI X11, X9, #5, #0x20 ; ' '
.text:000000710286BE60 MOV X12, XZR
.text:000000710286BE64
.text:000000710286BE64 loc_710286BE64 ; CODE XREF: calc_attack_damage+1864↓j
.text:000000710286BE64 MOV X10, X12
.text:000000710286BE68 ADD X12, X9, X12
.text:000000710286BE6C CMP X12, #0x5F ; '_'
.text:000000710286BE70 B.HI loc_710286BEDC
.text:000000710286BE74 LDR X12, [X8,X11]
.text:000000710286BE78 LDRH W13, [X12,#8]
.text:000000710286BE7C CBZ W13, loc_710286BEA0
.text:000000710286BE80 ADD X12, X10, #1
.text:000000710286BE84 ADD X11, X11, #0x20 ; ' '
.text:000000710286BE88 CMP W13, #0x40 ; '@'
.text:000000710286BE8C B.NE loc_710286BE64
.text:000000710286BE90 ADD W11, W9, W12
.text:000000710286BE94 SUB W11, W11, #1
.text:000000710286BE98 CMP W11, #0x5F ; '_'
.text:000000710286BE9C B.HI loc_710286BEDC
.text:000000710286BEA0
.text:000000710286BEA0 loc_710286BEA0 ; CODE XREF: calc_attack_damage+1854↑j
.text:000000710286BEA0 ADD W10, W9, W10
.text:000000710286BEA4 ADD X10, X8, X10,LSL#5
.text:000000710286BEA8 LDR X10, [X10,#8]
.text:000000710286BEAC CBZ X10, loc_710286BEDC
.text:000000710286BEB0 MOV W8, #0x40 ; '@'
.text:000000710286BEB4 STRH W8, [X10,#8]
.text:000000710286BEB8 MOV W8, #0x1F
.text:000000710286BEBC STP XZR, XZR, [X10,#0x10]
.text:000000710286BEC0 STR W8, [X10,#0xC]
.text:000000710286BEC4 STRB WZR, [X10,#0xA]
.text:000000710286BEC8 LDR X8, [X27,#0x70]
.text:000000710286BECC STR X10, [X8,#0x208]
.text:000000710286BED0 LDR X27, [X25]
.text:000000710286BED4 LDR X8, [X27,#0x30]
.text:000000710286BED8 LDR W9, [X8,#0xC08]
.text:000000710286BEDC
.text:000000710286BEDC loc_710286BEDC ; CODE XREF: calc_attack_damage+1848↑j
.text:000000710286BEDC ; calc_attack_damage+1874↑j ...
.text:000000710286BEDC ADD X10, X8, X9,LSL#5
.text:000000710286BEE0 ADD X11, X10, #8
.text:000000710286BEE4
.text:000000710286BEE4 loc_710286BEE4 ; CODE XREF: calc_attack_damage+18E0↓j
.text:000000710286BEE4 CMP X9, #0x5F ; '_'
.text:000000710286BEE8 B.HI loc_710286BF4C
.text:000000710286BEEC MOV X10, X9
.text:000000710286BEF0 LDR X9, [X11]
.text:000000710286BEF4 LDRH W12, [X9,#8]
.text:000000710286BEF8 CBZ W12, loc_710286BF18
.text:000000710286BEFC ADD X9, X10, #1
.text:000000710286BF00 ADD X11, X11, #0x20 ; ' '
.text:000000710286BF04 CMP W12, #0x59 ; 'Y'
.text:000000710286BF08 B.NE loc_710286BEE4
.text:000000710286BF0C SUB W9, W9, #1
.text:000000710286BF10 CMP W9, #0x5F ; '_'
.text:000000710286BF14 B.HI loc_710286BF4C
.text:000000710286BF18
.text:000000710286BF18 loc_710286BF18 ; CODE XREF: calc_attack_damage+18D0↑j
.text:000000710286BF18 AND X9, X10, #0xFFFFFFFF
.text:000000710286BF1C ADD X8, X8, X9,LSL#5
.text:000000710286BF20 LDR X8, [X8,#8]
.text:000000710286BF24 CBZ X8, loc_710286BF4C
.text:000000710286BF28 MOV W9, #0x59 ; 'Y'
.text:000000710286BF2C STRH W9, [X8,#8]
.text:000000710286BF30 STRB WZR, [X8,#0xA]
.text:000000710286BF34 STUR XZR, [X8,#0xC]
.text:000000710286BF38 STUR XZR, [X8,#0x14]
.text:000000710286BF3C STR WZR, [X8,#0x1C]
.text:000000710286BF40 LDR X9, [X27,#0x70]
.text:000000710286BF44 STR X8, [X9,#0x2D0]
.text:000000710286BF48 LDR X27, [X25]
.text:000000710286BF4C
.text:000000710286BF4C loc_710286BF4C ; CODE XREF: calc_attack_damage+18C0↑j
.text:000000710286BF4C ; calc_attack_damage+18EC↑j ...
.text:000000710286BF4C LDR W8, [X27,#0x78]
.text:000000710286BF50 ADD W8, W8, #1
.text:000000710286BF54 LDR X9, [X27,#8]
.text:000000710286BF58 STR W8, [X27,#0x78]
.text:000000710286BF5C LDR X9, [X9,#0x88]
.text:000000710286BF60 LDR X24, [X9,#0x14C8]
.text:000000710286BF64 CBZ X24, loc_710286BFA8
.text:000000710286BF68 MOV W28, #0x49 ; 'I'
.text:000000710286BF6C B loc_710286BF78
.text:000000710286BF70 ; ---------------------------------------------------------------------------
.text:000000710286BF70
.text:000000710286BF70 loc_710286BF70 ; CODE XREF: calc_attack_damage+1970↓j
.text:000000710286BF70 ; calc_attack_damage+1978↓j
.text:000000710286BF70 MOV X24, X0
.text:000000710286BF74 CBZ X0, loc_710286BFA4
.text:000000710286BF78
.text:000000710286BF78 loc_710286BF78 ; CODE XREF: calc_attack_damage+1944↑j
.text:000000710286BF78 MOV X0, X27
.text:000000710286BF7C MOV W1, W28
.text:000000710286BF80 MOV W2, #8
.text:000000710286BF84 MOV W3, #1
.text:000000710286BF88 MOV X4, X24
.text:000000710286BF8C BL sub_7102899E6C
.text:000000710286BF90 CBZ X0, loc_710286BFA4
.text:000000710286BF94 LDRB W8, [X0,#0x3F]
.text:000000710286BF98 TBNZ W8, #5, loc_710286BF70
.text:000000710286BF9C LDR X0, [X24,#0x18]
.text:000000710286BFA0 B loc_710286BF70
.text:000000710286BFA4 ; ---------------------------------------------------------------------------
.text:000000710286BFA4
.text:000000710286BFA4 loc_710286BFA4 ; CODE XREF: calc_attack_damage+194C↑j
.text:000000710286BFA4 ; calc_attack_damage+1968↑j
.text:000000710286BFA4 LDR W8, [X27,#0x78]
.text:000000710286BFA8
.text:000000710286BFA8 loc_710286BFA8 ; CODE XREF: calc_attack_damage+193C↑j
.text:000000710286BFA8 SUBS W8, W8, #1
.text:000000710286BFAC STR W8, [X27,#0x78]
.text:000000710286BFB0 B.NE loc_710286BFD8
.text:000000710286BFB4 LDR X8, [X27,#8]
.text:000000710286BFB8 LDR X8, [X8,#0x88]
.text:000000710286BFBC LDR X8, [X8,#0x14C8]
.text:000000710286BFC0 CBZ X8, loc_710286BFD8
.text:000000710286BFC4
.text:000000710286BFC4 loc_710286BFC4 ; CODE XREF: calc_attack_damage+19AC↓j
.text:000000710286BFC4 LDRH W9, [X8,#0x3E]
.text:000000710286BFC8 LSL W9, W9, #0x10
.text:000000710286BFCC STR W9, [X8,#0x3C]
.text:000000710286BFD0 LDR X8, [X8,#0x18]
.text:000000710286BFD4 CBNZ X8, loc_710286BFC4
.text:000000710286BFD8
.text:000000710286BFD8 loc_710286BFD8 ; CODE XREF: calc_attack_damage+1988↑j
.text:000000710286BFD8 ; calc_attack_damage+1998↑j
.text:000000710286BFD8 LDR X9, [X25]
.text:000000710286BFDC LDR X8, [X9,#0x70]
.text:000000710286BFE0 LDR X10, [X8,#0x2D0]
.text:000000710286BFE4 CBZ X10, loc_710286BFF8
.text:000000710286BFE8 LDR W20, [X10,#0xC]
.text:000000710286BFEC LDR X8, [X8,#0x208]
.text:000000710286BFF0 CBNZ X8, loc_710286C004
.text:000000710286BFF4 B loc_710286C014
.text:000000710286BFF8 ; ---------------------------------------------------------------------------
.text:000000710286BFF8
.text:000000710286BFF8 loc_710286BFF8 ; CODE XREF: calc_attack_damage+19BC↑j
.text:000000710286BFF8 MOV W20, WZR
.text:000000710286BFFC LDR X8, [X8,#0x208]
.text:000000710286C000 CBZ X8, loc_710286C014
.text:000000710286C004
.text:000000710286C004 loc_710286C004 ; CODE XREF: calc_attack_damage+19C8↑j
.text:000000710286C004 LDRB W8, [X8,#0xC]
.text:000000710286C008 CMP W8, #0x1F
.text:000000710286C00C LDR X27, [SP,#0x7B0+var_770]
.text:000000710286C010 B.EQ loc_710286C028
.text:000000710286C014
.text:000000710286C014 loc_710286C014 ; CODE XREF: calc_attack_damage+19CC↑j
.text:000000710286C014 ; calc_attack_damage+19D8↑j
.text:000000710286C014 LDR X10, [SP,#0x7B0+var_778]
.text:000000710286C018 LDR X10, [X10,#0x18]
.text:000000710286C01C LDR X10, [X10,#8]
.text:000000710286C020 ADD X8, X10, W8,UXTW#3
.text:000000710286C024 LDR X27, [X8,#0x120]
.text:000000710286C028
.text:000000710286C028 loc_710286C028 ; CODE XREF: calc_attack_damage+19E8↑j
.text:000000710286C028 LDR W10, [X22,#0xC]
.text:000000710286C02C CMP W10, #2
.text:000000710286C030 MOV W8, #8
.text:000000710286C034 MOV W11, #0xA
.text:000000710286C038 CSEL W8, W11, W8, EQ
.text:000000710286C03C LDRB W11, [X27,#0x228]
.text:000000710286C040 TST W11, #7
.text:000000710286C044 ADRL X11, dword_7103788C20
.text:000000710286C04C STR X26, [SP,#0x7B0+var_798]
.text:000000710286C050 B.EQ loc_710286C064
.text:000000710286C054 CMP W10, #2
.text:000000710286C058 CSET W8, EQ
.text:000000710286C05C ADD X8, X11, W8,UXTW#4
.text:000000710286C060 LDR W8, [X8,#4]
.text:000000710286C064
.text:000000710286C064 loc_710286C064 ; CODE XREF: calc_attack_damage+1A28↑j
.text:000000710286C064 MOV X26, X11
.text:000000710286C068 LDR X10, [X9,#0x30]
.text:000000710286C06C LDR W11, [X10,#0xC08]
.text:000000710286C070 CMP W11, #0x5F ; '_'
.text:000000710286C074 B.HI loc_710286C0BC
.text:000000710286C078
.text:000000710286C078 loc_710286C078 ; CODE XREF: calc_attack_damage+1A70↓j
.text:000000710286C078 MOV W12, W11
.text:000000710286C07C ADD X12, X10, X12,LSL#5
.text:000000710286C080 LDR X12, [X12,#8]
.text:000000710286C084 LDRH W13, [X12,#8]
.text:000000710286C088 CBZ W13, loc_710286C0A0
.text:000000710286C08C ADD W11, W11, #1
.text:000000710286C090 CMP W11, #0x60 ; '`'
.text:000000710286C094 STR W11, [X10,#0xC08]
.text:000000710286C098 B.NE loc_710286C078
.text:000000710286C09C B loc_710286C0BC
.text:000000710286C0A0 ; ---------------------------------------------------------------------------
.text:000000710286C0A0
.text:000000710286C0A0 loc_710286C0A0 ; CODE XREF: calc_attack_damage+1A60↑j
.text:000000710286C0A0 CMP W11, #0x5E ; '^'
.text:000000710286C0A4 B.HI loc_710286C0BC
.text:000000710286C0A8 MOV W11, #1
.text:000000710286C0AC STRH W11, [X12,#8]
.text:000000710286C0B0 LDR W11, [X10,#0xC08]
.text:000000710286C0B4 ADD W11, W11, #1
.text:000000710286C0B8 STR W11, [X10,#0xC08]
.text:000000710286C0BC
.text:000000710286C0BC loc_710286C0BC ; CODE XREF: calc_attack_damage+1A4C↑j
.text:000000710286C0BC ; calc_attack_damage+1A74↑j ...
.text:000000710286C0BC LDR X10, [X9,#0x50]
.text:000000710286C0C0 LDR W11, [X10,#0x408]
.text:000000710286C0C4 CMP W11, #0x1E
.text:000000710286C0C8 B.HI loc_710286C0DC
.text:000000710286C0CC ADD W11, W11, #1
.text:000000710286C0D0 STR W11, [X10,#0x408]
.text:000000710286C0D4 LDR X10, [X9,#0x50]
.text:000000710286C0D8 LDR W11, [X10,#0x408]
.text:000000710286C0DC
.text:000000710286C0DC loc_710286C0DC ; CODE XREF: calc_attack_damage+1AA0↑j
.text:000000710286C0DC MOV W11, W11
.text:000000710286C0E0 ADD X10, X10, X11,LSL#5
.text:000000710286C0E4 LDR X10, [X10,#8]
.text:000000710286C0E8 STR X10, [X9,#0x70]
.text:000000710286C0EC LDR X28, [X25]
.text:000000710286C0F0 LDR X9, [X28,#0x30]
.text:000000710286C0F4 LDR W10, [X9,#0xC08]
.text:000000710286C0F8 LDRB W11, [X27,#0x7D]
.text:000000710286C0FC MOV W12, #8
.text:000000710286C100 BFI X12, X10, #5, #0x20 ; ' '
.text:000000710286C104 MOV X14, X10
.text:000000710286C108
.text:000000710286C108 loc_710286C108 ; CODE XREF: calc_attack_damage+1B04↓j
.text:000000710286C108 CMP X14, #0x5F ; '_'
.text:000000710286C10C B.HI loc_710286C178
.text:000000710286C110 MOV X13, X14
.text:000000710286C114 LDR X14, [X9,X12]
.text:000000710286C118 LDRH W15, [X14,#8]
.text:000000710286C11C CBZ W15, loc_710286C13C
.text:000000710286C120 ADD X14, X13, #1
.text:000000710286C124 ADD X12, X12, #0x20 ; ' '
.text:000000710286C128 CMP W15, #3
.text:000000710286C12C B.NE loc_710286C108
.text:000000710286C130 SUB W12, W14, #1
.text:000000710286C134 CMP W12, #0x5F ; '_'
.text:000000710286C138 B.HI loc_710286C178
.text:000000710286C13C
.text:000000710286C13C loc_710286C13C ; CODE XREF: calc_attack_damage+1AF4↑j
.text:000000710286C13C AND X12, X13, #0xFFFFFFFF
.text:000000710286C140 ADD X12, X9, X12,LSL#5
.text:000000710286C144 LDR X12, [X12,#8]
.text:000000710286C148 CBZ X12, loc_710286C178
.text:000000710286C14C MOV W9, #3
.text:000000710286C150 STRH W9, [X12,#8]
.text:000000710286C154 MOV W9, #4
.text:000000710286C158 STR W11, [X12,#0xC]
.text:000000710286C15C STRB W9, [X12,#0xA]
.text:000000710286C160 STP XZR, XZR, [X12,#0x10]
.text:000000710286C164 LDR X9, [X28,#0x70]
.text:000000710286C168 STR X12, [X9,#0x20]
.text:000000710286C16C LDR X28, [X25]
.text:000000710286C170 LDR X9, [X28,#0x30]
.text:000000710286C174 LDR W10, [X9,#0xC08]
.text:000000710286C178
.text:000000710286C178 loc_710286C178 ; CODE XREF: calc_attack_damage+1AE4↑j
.text:000000710286C178 ; calc_attack_damage+1B10↑j ...
.text:000000710286C178 LDR W11, [X22]
.text:000000710286C17C MOV W13, #8
.text:000000710286C180 BFI X13, X10, #5, #0x20 ; ' '
.text:000000710286C184 MOV X14, XZR
.text:000000710286C188
.text:000000710286C188 loc_710286C188 ; CODE XREF: calc_attack_damage+1B88↓j
.text:000000710286C188 MOV X12, X14
.text:000000710286C18C ADD X14, X10, X14
.text:000000710286C190 CMP X14, #0x5F ; '_'
.text:000000710286C194 B.HI loc_710286C200
.text:000000710286C198 LDR X14, [X9,X13]
.text:000000710286C19C LDRH W15, [X14,#8]
.text:000000710286C1A0 CBZ W15, loc_710286C1C4
.text:000000710286C1A4 ADD X14, X12, #1
.text:000000710286C1A8 ADD X13, X13, #0x20 ; ' '
.text:000000710286C1AC CMP W15, #0x12
.text:000000710286C1B0 B.NE loc_710286C188
.text:000000710286C1B4 ADD W13, W10, W14
.text:000000710286C1B8 SUB W13, W13, #1
.text:000000710286C1BC CMP W13, #0x5F ; '_'
.text:000000710286C1C0 B.HI loc_710286C200
.text:000000710286C1C4
.text:000000710286C1C4 loc_710286C1C4 ; CODE XREF: calc_attack_damage+1B78↑j
.text:000000710286C1C4 ADD W12, W10, W12
.text:000000710286C1C8 ADD X12, X9, X12,LSL#5
.text:000000710286C1CC LDR X12, [X12,#8]
.text:000000710286C1D0 CBZ X12, loc_710286C200
.text:000000710286C1D4 MOV W9, #0x12
.text:000000710286C1D8 STRH W9, [X12,#8]
.text:000000710286C1DC MOV W9, #4
.text:000000710286C1E0 STR W11, [X12,#0xC]
.text:000000710286C1E4 STRB W9, [X12,#0xA]
.text:000000710286C1E8 STP XZR, XZR, [X12,#0x10]
.text:000000710286C1EC LDR X9, [X28,#0x70]
.text:000000710286C1F0 STR X12, [X9,#0x98]
.text:000000710286C1F4 LDR X28, [X25]
.text:000000710286C1F8 LDR X9, [X28,#0x30]
.text:000000710286C1FC LDR W10, [X9,#0xC08]
.text:000000710286C200
.text:000000710286C200 loc_710286C200 ; CODE XREF: calc_attack_damage+1B6C↑j
.text:000000710286C200 ; calc_attack_damage+1B98↑j ...
.text:000000710286C200 ADD X11, X9, X10,LSL#5
.text:000000710286C204 ADD X12, X11, #8
.text:000000710286C208 STR X23, [SP,#0x7B0+var_7A8]
.text:000000710286C20C
.text:000000710286C20C loc_710286C20C ; CODE XREF: calc_attack_damage+1C08↓j
.text:000000710286C20C CMP X10, #0x5F ; '_'
.text:000000710286C210 B.HI loc_710286C274
.text:000000710286C214 MOV X11, X10
.text:000000710286C218 LDR X10, [X12]
.text:000000710286C21C LDRH W13, [X10,#8]
.text:000000710286C220 CBZ W13, loc_710286C240
.text:000000710286C224 ADD X10, X11, #1
.text:000000710286C228 ADD X12, X12, #0x20 ; ' '
.text:000000710286C22C CMP W13, #0x41 ; 'A'
.text:000000710286C230 B.NE loc_710286C20C
.text:000000710286C234 SUB W10, W10, #1
.text:000000710286C238 CMP W10, #0x5F ; '_'
.text:000000710286C23C B.HI loc_710286C274
.text:000000710286C240
.text:000000710286C240 loc_710286C240 ; CODE XREF: calc_attack_damage+1BF8↑j
.text:000000710286C240 AND X10, X11, #0xFFFFFFFF
.text:000000710286C244 ADD X9, X9, X10,LSL#5
.text:000000710286C248 LDR X9, [X9,#8]
.text:000000710286C24C CBZ X9, loc_710286C274
.text:000000710286C250 MOV W10, #0x41 ; 'A'
.text:000000710286C254 STR W8, [X9,#0xC]
.text:000000710286C258 MOV W8, #1
.text:000000710286C25C STRH W10, [X9,#8]
.text:000000710286C260 STRB W8, [X9,#0xA]
.text:000000710286C264 STP XZR, XZR, [X9,#0x10]
.text:000000710286C268 LDR X8, [X28,#0x70]
.text:000000710286C26C STR X9, [X8,#0x210]
.text:000000710286C270 LDR X28, [X25]
.text:000000710286C274
.text:000000710286C274 loc_710286C274 ; CODE XREF: calc_attack_damage+1BE8↑j
.text:000000710286C274 ; calc_attack_damage+1C14↑j ...
.text:000000710286C274 LDR W8, [X28,#0x78]
.text:000000710286C278 ADD W8, W8, #1
.text:000000710286C27C LDR X9, [X28,#8]
.text:000000710286C280 STR W8, [X28,#0x78]
.text:000000710286C284 LDR X9, [X9,#0x88]
.text:000000710286C288 LDR X23, [X9,#0x14C8]
.text:000000710286C28C CBZ X23, loc_710286C2D0
.text:000000710286C290 MOV W24, #0x4B ; 'K'
.text:000000710286C294 B loc_710286C2A0
.text:000000710286C298 ; ---------------------------------------------------------------------------
.text:000000710286C298
.text:000000710286C298 loc_710286C298 ; CODE XREF: calc_attack_damage+1C98↓j
.text:000000710286C298 ; calc_attack_damage+1CA0↓j
.text:000000710286C298 MOV X23, X0
.text:000000710286C29C CBZ X0, loc_710286C2CC
.text:000000710286C2A0
.text:000000710286C2A0 loc_710286C2A0 ; CODE XREF: calc_attack_damage+1C6C↑j
.text:000000710286C2A0 MOV X0, X28
.text:000000710286C2A4 MOV W1, W24
.text:000000710286C2A8 MOV W2, #8
.text:000000710286C2AC MOV W3, #1
.text:000000710286C2B0 MOV X4, X23
.text:000000710286C2B4 BL sub_7102899E6C
.text:000000710286C2B8 CBZ X0, loc_710286C2CC
.text:000000710286C2BC LDRB W8, [X0,#0x3F]
.text:000000710286C2C0 TBNZ W8, #5, loc_710286C298
.text:000000710286C2C4 LDR X0, [X23,#0x18]
.text:000000710286C2C8 B loc_710286C298
.text:000000710286C2CC ; ---------------------------------------------------------------------------
.text:000000710286C2CC
.text:000000710286C2CC loc_710286C2CC ; CODE XREF: calc_attack_damage+1C74↑j
.text:000000710286C2CC ; calc_attack_damage+1C90↑j
.text:000000710286C2CC LDR W8, [X28,#0x78]
.text:000000710286C2D0
.text:000000710286C2D0 loc_710286C2D0 ; CODE XREF: calc_attack_damage+1C64↑j
.text:000000710286C2D0 SUBS W8, W8, #1
.text:000000710286C2D4 STR W8, [X28,#0x78]
.text:000000710286C2D8 B.NE loc_710286C300
.text:000000710286C2DC LDR X8, [X28,#8]
.text:000000710286C2E0 LDR X8, [X8,#0x88]
.text:000000710286C2E4 LDR X8, [X8,#0x14C8]
.text:000000710286C2E8 CBZ X8, loc_710286C300
.text:000000710286C2EC
.text:000000710286C2EC loc_710286C2EC ; CODE XREF: calc_attack_damage+1CD4↓j
.text:000000710286C2EC LDRH W9, [X8,#0x3E]
.text:000000710286C2F0 LSL W9, W9, #0x10
.text:000000710286C2F4 STR W9, [X8,#0x3C]
.text:000000710286C2F8 LDR X8, [X8,#0x18]
.text:000000710286C2FC CBNZ X8, loc_710286C2EC
.text:000000710286C300
.text:000000710286C300 loc_710286C300 ; CODE XREF: calc_attack_damage+1CB0↑j
.text:000000710286C300 ; calc_attack_damage+1CC0↑j
.text:000000710286C300 LDR X23, [X25]
.text:000000710286C304 LDR X8, [X23,#0x70]
.text:000000710286C308 LDR X8, [X8,#0x210]
.text:000000710286C30C CBZ X8, loc_710286C318
.text:000000710286C310 LDR W28, [X8,#0xC]
.text:000000710286C314 B loc_710286C31C
.text:000000710286C318 ; ---------------------------------------------------------------------------
.text:000000710286C318
.text:000000710286C318 loc_710286C318 ; CODE XREF: calc_attack_damage+1CE4↑j
.text:000000710286C318 MOV W28, WZR
.text:000000710286C31C
.text:000000710286C31C loc_710286C31C ; CODE XREF: calc_attack_damage+1CEC↑j
.text:000000710286C31C LDR X24, [X23,#0x50]
.text:000000710286C320 LDR W8, [X24,#0x408]
.text:000000710286C324 CBZ W8, loc_710286C358
.text:000000710286C328 ADD X8, X24, X8,LSL#5
.text:000000710286C32C LDR X8, [X8,#8]
.text:000000710286C330 ADD X0, X8, #8 ; s
.text:000000710286C334 MOV W2, #0x410 ; n
.text:000000710286C338 MOV W1, WZR ; c
.text:000000710286C33C BL memset_0
.text:000000710286C340 LDR W8, [X24,#0x408]
.text:000000710286C344 SUB W8, W8, #1
.text:000000710286C348 STR W8, [X24,#0x408]
.text:000000710286C34C LDR X24, [X23,#0x50]
.text:000000710286C350 LDR W8, [X24,#0x408]
.text:000000710286C354 B loc_710286C35C
.text:000000710286C358 ; ---------------------------------------------------------------------------
.text:000000710286C358
.text:000000710286C358 loc_710286C358 ; CODE XREF: calc_attack_damage+1CFC↑j
.text:000000710286C358 MOV X8, XZR
.text:000000710286C35C
.text:000000710286C35C loc_710286C35C ; CODE XREF: calc_attack_damage+1D2C↑j
.text:000000710286C35C ADD X8, X24, X8,LSL#5
.text:000000710286C360 LDR X8, [X8,#8]
.text:000000710286C364 STR X8, [X23,#0x70]
.text:000000710286C368 LDR X8, [X23,#0x30]
.text:000000710286C36C LDR W9, [X8,#0xC08]
.text:000000710286C370 CBZ W9, loc_710286C3FC
.text:000000710286C374 AND W10, W9, #0xFFFF
.text:000000710286C378 CMP W10, #0x5F ; '_'
.text:000000710286C37C B.HI loc_710286C3B8
.text:000000710286C380 AND X10, X9, #0xFFFF
.text:000000710286C384 ADD X9, X10, #1
.text:000000710286C388 ADD X10, X8, X10,LSL#5
.text:000000710286C38C ADD X10, X10, #8
.text:000000710286C390
.text:000000710286C390 loc_710286C390 ; CODE XREF: calc_attack_damage+1D88↓j
.text:000000710286C390 LDR X11, [X10]
.text:000000710286C394 LDRH W12, [X11,#8]
.text:000000710286C398 CBZ W12, loc_710286C3B4
.text:000000710286C39C STRH WZR, [X11,#8]
.text:000000710286C3A0 AND W11, W9, #0xFFFF
.text:000000710286C3A4 ADD X9, X9, #1
.text:000000710286C3A8 ADD X10, X10, #0x20 ; ' '
.text:000000710286C3AC CMP W11, #0x60 ; '`'
.text:000000710286C3B0 B.NE loc_710286C390
.text:000000710286C3B4
.text:000000710286C3B4 loc_710286C3B4 ; CODE XREF: calc_attack_damage+1D70↑j
.text:000000710286C3B4 LDR W9, [X8,#0xC08]
.text:000000710286C3B8
.text:000000710286C3B8 loc_710286C3B8 ; CODE XREF: calc_attack_damage+1D54↑j
.text:000000710286C3B8 SUB W9, W9, #1
.text:000000710286C3BC STR W9, [X8,#0xC08]
.text:000000710286C3C0 ADD X9, X8, X9,LSL#5
.text:000000710286C3C4 LDR X9, [X9,#8]
.text:000000710286C3C8 STRH WZR, [X9,#8]
.text:000000710286C3CC LDR W9, [X8,#0xC08]
.text:000000710286C3D0
.text:000000710286C3D0 loc_710286C3D0 ; CODE XREF: calc_attack_damage+1DC8↓j
.text:000000710286C3D0 CBZ X9, loc_710286C3FC
.text:000000710286C3D4 SUB X9, X9, #1
.text:000000710286C3D8 AND X10, X9, #0xFFFFFFFF
.text:000000710286C3DC ADD X10, X8, X10,LSL#5
.text:000000710286C3E0 STR W9, [X8,#0xC08]
.text:000000710286C3E4 LDR X10, [X10,#8]
.text:000000710286C3E8 LDRH W10, [X10,#8]
.text:000000710286C3EC CMP W10, #1
.text:000000710286C3F0 B.NE loc_710286C3D0
.text:000000710286C3F4 ADD W9, W9, #1
.text:000000710286C3F8 STR W9, [X8,#0xC08]
.text:000000710286C3FC
.text:000000710286C3FC loc_710286C3FC ; CODE XREF: calc_attack_damage+1D48↑j
.text:000000710286C3FC ; calc_attack_damage:loc_710286C3D0↑j
.text:000000710286C3FC CBZ W20, loc_710286C410
.text:000000710286C400
.text:000000710286C400 loc_710286C400 ; CODE XREF: calc_attack_damage+1E34↓j
.text:000000710286C400 ; calc_attack_damage+1E48↓j
.text:000000710286C400 MOV X0, X27
.text:000000710286C404 MOV W1, W28
.text:000000710286C408 BL sub_710285084C
.text:000000710286C40C B loc_710286C480
.text:000000710286C410 ; ---------------------------------------------------------------------------
.text:000000710286C410
.text:000000710286C410 loc_710286C410 ; CODE XREF: calc_attack_damage:loc_710286C3FC↑j
.text:000000710286C410 LDR W8, [SP,#0x7B0+var_77C]
.text:000000710286C414 TBZ W8, #0, def_710286C438 ; jumptable 000000710286C438 default case
.text:000000710286C418 SUB W8, W28, #8 ; switch 4 cases
.text:000000710286C41C CMP W8, #3
.text:000000710286C420 B.HI def_710286C438 ; jumptable 000000710286C438 default case
.text:000000710286C424 ADRL X9, jpt_710286C438
.text:000000710286C42C ADR X10, loc_710286C43C ; jumptable 000000710286C438 cases 8,10
.text:000000710286C430 LDRB W11, [X9,X8]
.text:000000710286C434 ADD X10, X10, X11,LSL#2
.text:000000710286C438 BR X10 ; switch jump
.text:000000710286C43C ; ---------------------------------------------------------------------------
.text:000000710286C43C
.text:000000710286C43C loc_710286C43C ; CODE XREF: calc_attack_damage+1E10↑j
.text:000000710286C43C ; DATA XREF: calc_attack_damage+1E04↑o
.text:000000710286C43C MOV X0, X27 ; jumptable 000000710286C438 cases 8,10
.text:000000710286C440 MOV W1, #1
.text:000000710286C444 B loc_710286C450
.text:000000710286C448 ; ---------------------------------------------------------------------------
.text:000000710286C448
.text:000000710286C448 loc_710286C448 ; CODE XREF: calc_attack_damage+1E10↑j
.text:000000710286C448 MOV X0, X27 ; jumptable 000000710286C438 case 9
.text:000000710286C44C MOV W1, #2
.text:000000710286C450
.text:000000710286C450 loc_710286C450 ; CODE XREF: calc_attack_damage+1E1C↑j
.text:000000710286C450 BL sub_71028506A8
.text:000000710286C454 CMP W0, #1
.text:000000710286C458 B.GE def_710286C438 ; jumptable 000000710286C438 default case
.text:000000710286C45C B loc_710286C400
.text:000000710286C460 ; ---------------------------------------------------------------------------
.text:000000710286C460
.text:000000710286C460 loc_710286C460 ; CODE XREF: calc_attack_damage+1E10↑j
.text:000000710286C460 MOV X0, X27 ; jumptable 000000710286C438 case 11
.text:000000710286C464 MOV W1, #2
.text:000000710286C468 BL sub_71028506A8
.text:000000710286C46C CMP W0, #0
.text:000000710286C470 B.LE loc_710286C400
.text:000000710286C474
.text:000000710286C474 def_710286C438 ; CODE XREF: calc_attack_damage+1DEC↑j
.text:000000710286C474 ; calc_attack_damage+1DF8↑j ...
.text:000000710286C474 MOV X0, X27 ; jumptable 000000710286C438 default case
.text:000000710286C478 MOV W1, W28
.text:000000710286C47C BL sub_71028506A8
.text:000000710286C480
.text:000000710286C480 loc_710286C480 ; CODE XREF: calc_attack_damage+1DE4↑j
.text:000000710286C480 LDR X27, [X25]
.text:000000710286C484 MOV W11, #8
.text:000000710286C488 LDR W10, [X22]
.text:000000710286C48C LDR X8, [X27,#0x30]
.text:000000710286C490 LDR W9, [X8,#0xC08]
.text:000000710286C494 BFI X11, X9, #5, #0x20 ; ' '
.text:000000710286C498 MOV X13, X9
.text:000000710286C49C
.text:000000710286C49C loc_710286C49C ; CODE XREF: calc_attack_damage+1E98↓j
.text:000000710286C49C CMP X13, #0x5F ; '_'
.text:000000710286C4A0 B.HI loc_710286C50C
.text:000000710286C4A4 MOV X12, X13
.text:000000710286C4A8 LDR X13, [X8,X11]
.text:000000710286C4AC LDRH W14, [X13,#8]
.text:000000710286C4B0 CBZ W14, loc_710286C4D0
.text:000000710286C4B4 ADD X13, X12, #1
.text:000000710286C4B8 ADD X11, X11, #0x20 ; ' '
.text:000000710286C4BC CMP W14, #0x12
.text:000000710286C4C0 B.NE loc_710286C49C
.text:000000710286C4C4 SUB W11, W13, #1
.text:000000710286C4C8 CMP W11, #0x5F ; '_'
.text:000000710286C4CC B.HI loc_710286C50C
.text:000000710286C4D0
.text:000000710286C4D0 loc_710286C4D0 ; CODE XREF: calc_attack_damage+1E88↑j
.text:000000710286C4D0 AND X11, X12, #0xFFFFFFFF
.text:000000710286C4D4 ADD X11, X8, X11,LSL#5
.text:000000710286C4D8 LDR X11, [X11,#8]
.text:000000710286C4DC CBZ X11, loc_710286C50C
.text:000000710286C4E0 MOV W8, #0x12
.text:000000710286C4E4 STRH W8, [X11,#8]
.text:000000710286C4E8 MOV W8, #4
.text:000000710286C4EC STR W10, [X11,#0xC]
.text:000000710286C4F0 STRB W8, [X11,#0xA]
.text:000000710286C4F4 STP XZR, XZR, [X11,#0x10]
.text:000000710286C4F8 LDR X8, [X27,#0x70]
.text:000000710286C4FC STR X11, [X8,#0x98]
.text:000000710286C500 LDR X27, [X25]
.text:000000710286C504 LDR X8, [X27,#0x30]
.text:000000710286C508 LDR W9, [X8,#0xC08]
.text:000000710286C50C
.text:000000710286C50C loc_710286C50C ; CODE XREF: calc_attack_damage+1E78↑j
.text:000000710286C50C ; calc_attack_damage+1EA4↑j ...
.text:000000710286C50C LDRB W10, [X22,#0xA]
.text:000000710286C510 MOV W12, #8
.text:000000710286C514 BFI X12, X9, #5, #0x20 ; ' '
.text:000000710286C518 MOV X13, XZR
.text:000000710286C51C
.text:000000710286C51C loc_710286C51C ; CODE XREF: calc_attack_damage+1F1C↓j
.text:000000710286C51C MOV X11, X13
.text:000000710286C520 ADD X13, X9, X13
.text:000000710286C524 CMP X13, #0x5F ; '_'
.text:000000710286C528 B.HI loc_710286C594
.text:000000710286C52C LDR X13, [X8,X12]
.text:000000710286C530 LDRH W14, [X13,#8]
.text:000000710286C534 CBZ W14, loc_710286C558
.text:000000710286C538 ADD X13, X11, #1
.text:000000710286C53C ADD X12, X12, #0x20 ; ' '
.text:000000710286C540 CMP W14, #0x16
.text:000000710286C544 B.NE loc_710286C51C
.text:000000710286C548 ADD W12, W9, W13
.text:000000710286C54C SUB W12, W12, #1
.text:000000710286C550 CMP W12, #0x5F ; '_'
.text:000000710286C554 B.HI loc_710286C594
.text:000000710286C558
.text:000000710286C558 loc_710286C558 ; CODE XREF: calc_attack_damage+1F0C↑j
.text:000000710286C558 ADD W11, W9, W11
.text:000000710286C55C ADD X11, X8, X11,LSL#5
.text:000000710286C560 LDR X11, [X11,#8]
.text:000000710286C564 CBZ X11, loc_710286C594
.text:000000710286C568 MOV W8, #0x16
.text:000000710286C56C STRH W8, [X11,#8]
.text:000000710286C570 MOV W8, #4
.text:000000710286C574 STR W10, [X11,#0xC]
.text:000000710286C578 STRB W8, [X11,#0xA]
.text:000000710286C57C STP XZR, XZR, [X11,#0x10]
.text:000000710286C580 LDR X8, [X27,#0x70]
.text:000000710286C584 STR X11, [X8,#0xB8]
.text:000000710286C588 LDR X27, [X25]
.text:000000710286C58C LDR X8, [X27,#0x30]
.text:000000710286C590 LDR W9, [X8,#0xC08]
.text:000000710286C594
.text:000000710286C594 loc_710286C594 ; CODE XREF: calc_attack_damage+1F00↑j
.text:000000710286C594 ; calc_attack_damage+1F2C↑j ...
.text:000000710286C594 LDR W10, [X22,#0xC]
.text:000000710286C598 MOV W12, #8
.text:000000710286C59C BFI X12, X9, #5, #0x20 ; ' '
.text:000000710286C5A0 MOV X13, XZR
.text:000000710286C5A4
.text:000000710286C5A4 loc_710286C5A4 ; CODE XREF: calc_attack_damage+1FA4↓j
.text:000000710286C5A4 MOV X11, X13
.text:000000710286C5A8 ADD X13, X9, X13
.text:000000710286C5AC CMP X13, #0x5F ; '_'
.text:000000710286C5B0 B.HI loc_710286C61C
.text:000000710286C5B4 LDR X13, [X8,X12]
.text:000000710286C5B8 LDRH W14, [X13,#8]
.text:000000710286C5BC CBZ W14, loc_710286C5E0
.text:000000710286C5C0 ADD X13, X11, #1
.text:000000710286C5C4 ADD X12, X12, #0x20 ; ' '
.text:000000710286C5C8 CMP W14, #0x1B
.text:000000710286C5CC B.NE loc_710286C5A4
.text:000000710286C5D0 ADD W12, W9, W13
.text:000000710286C5D4 SUB W12, W12, #1
.text:000000710286C5D8 CMP W12, #0x5F ; '_'
.text:000000710286C5DC B.HI loc_710286C61C
.text:000000710286C5E0
.text:000000710286C5E0 loc_710286C5E0 ; CODE XREF: calc_attack_damage+1F94↑j
.text:000000710286C5E0 ADD W11, W9, W11
.text:000000710286C5E4 ADD X11, X8, X11,LSL#5
.text:000000710286C5E8 LDR X11, [X11,#8]
.text:000000710286C5EC CBZ X11, loc_710286C61C
.text:000000710286C5F0 MOV W8, #0x1B
.text:000000710286C5F4 STRH W8, [X11,#8]
.text:000000710286C5F8 MOV W8, #4
.text:000000710286C5FC STR W10, [X11,#0xC]
.text:000000710286C600 STRB W8, [X11,#0xA]
.text:000000710286C604 STP XZR, XZR, [X11,#0x10]
.text:000000710286C608 LDR X8, [X27,#0x70]
.text:000000710286C60C STR X11, [X8,#0xE0]
.text:000000710286C610 LDR X27, [X25]
.text:000000710286C614 LDR X8, [X27,#0x30]
.text:000000710286C618 LDR W9, [X8,#0xC08]
.text:000000710286C61C
.text:000000710286C61C loc_710286C61C ; CODE XREF: calc_attack_damage+1F88↑j
.text:000000710286C61C ; calc_attack_damage+1FB4↑j ...
.text:000000710286C61C MOV W12, #8
.text:000000710286C620 BFI X12, X9, #5, #0x20 ; ' '
.text:000000710286C624 MOV X13, XZR
.text:000000710286C628 AND W10, W0, #0xFFFF
.text:000000710286C62C
.text:000000710286C62C loc_710286C62C ; CODE XREF: calc_attack_damage+202C↓j
.text:000000710286C62C MOV X11, X13
.text:000000710286C630 ADD X13, X9, X13
.text:000000710286C634 CMP X13, #0x5F ; '_'
.text:000000710286C638 B.HI loc_710286C6A0
.text:000000710286C63C LDR X13, [X8,X12]
.text:000000710286C640 LDRH W14, [X13,#8]
.text:000000710286C644 CBZ W14, loc_710286C668
.text:000000710286C648 ADD X13, X11, #1
.text:000000710286C64C ADD X12, X12, #0x20 ; ' '
.text:000000710286C650 CMP W14, #0x36 ; '6'
.text:000000710286C654 B.NE loc_710286C62C
.text:000000710286C658 ADD W12, W9, W13
.text:000000710286C65C SUB W12, W12, #1
.text:000000710286C660 CMP W12, #0x5F ; '_'
.text:000000710286C664 B.HI loc_710286C6A0
.text:000000710286C668
.text:000000710286C668 loc_710286C668 ; CODE XREF: calc_attack_damage+201C↑j
.text:000000710286C668 ADD W11, W9, W11
.text:000000710286C66C ADD X11, X8, X11,LSL#5
.text:000000710286C670 LDR X11, [X11,#8]
.text:000000710286C674 CBZ X11, loc_710286C6A0
.text:000000710286C678 MOV W8, #0x36 ; '6'
.text:000000710286C67C STRH W8, [X11,#8]
.text:000000710286C680 STR W10, [X11,#0xC]
.text:000000710286C684 STRB WZR, [X11,#0xA]
.text:000000710286C688 STP XZR, XZR, [X11,#0x10]
.text:000000710286C68C LDR X8, [X27,#0x70]
.text:000000710286C690 STR X11, [X8,#0x1B8]
.text:000000710286C694 LDR X27, [X25]
.text:000000710286C698 LDR X8, [X27,#0x30]
.text:000000710286C69C LDR W9, [X8,#0xC08]
.text:000000710286C6A0
.text:000000710286C6A0 loc_710286C6A0 ; CODE XREF: calc_attack_damage+2010↑j
.text:000000710286C6A0 ; calc_attack_damage+203C↑j ...
.text:000000710286C6A0 MOV W11, #8
.text:000000710286C6A4 BFI X11, X9, #5, #0x20 ; ' '
.text:000000710286C6A8 MOV X12, XZR
.text:000000710286C6AC
.text:000000710286C6AC loc_710286C6AC ; CODE XREF: calc_attack_damage+20AC↓j
.text:000000710286C6AC MOV X10, X12
.text:000000710286C6B0 ADD X12, X9, X12
.text:000000710286C6B4 CMP X12, #0x5F ; '_'
.text:000000710286C6B8 B.HI loc_710286C734
.text:000000710286C6BC LDR X12, [X8,X11]
.text:000000710286C6C0 LDRH W13, [X12,#8]
.text:000000710286C6C4 CBZ W13, loc_710286C6E8
.text:000000710286C6C8 ADD X12, X10, #1
.text:000000710286C6CC ADD X11, X11, #0x20 ; ' '
.text:000000710286C6D0 CMP W13, #0x38 ; '8'
.text:000000710286C6D4 B.NE loc_710286C6AC
.text:000000710286C6D8 ADD W11, W9, W12
.text:000000710286C6DC SUB W11, W11, #1
.text:000000710286C6E0 CMP W11, #0x5F ; '_'
.text:000000710286C6E4 B.HI loc_710286C734
.text:000000710286C6E8
.text:000000710286C6E8 loc_710286C6E8 ; CODE XREF: calc_attack_damage+209C↑j
.text:000000710286C6E8 ADD W10, W9, W10
.text:000000710286C6EC ADD X10, X8, X10,LSL#5
.text:000000710286C6F0 LDR X10, [X10,#8]
.text:000000710286C6F4 CBZ X10, loc_710286C734
.text:000000710286C6F8 MOV W8, #0x38 ; '8'
.text:000000710286C6FC STRH W8, [X10,#8]
.text:000000710286C700 MOV X8, #0x19A00001000
.text:000000710286C708 STUR X8, [X10,#0xC]
.text:000000710286C70C MOV W8, #0x20000
.text:000000710286C710 STR W8, [X10,#0x14]
.text:000000710286C714 MOV W8, #3
.text:000000710286C718 STR XZR, [X10,#0x18]
.text:000000710286C71C STRB W8, [X10,#0xA]
.text:000000710286C720 LDR X8, [X27,#0x70]
.text:000000710286C724 STR X10, [X8,#0x1C8]
.text:000000710286C728 LDR X27, [X25]
.text:000000710286C72C LDR X8, [X27,#0x30]
.text:000000710286C730 LDR W9, [X8,#0xC08]
.text:000000710286C734
.text:000000710286C734 loc_710286C734 ; CODE XREF: calc_attack_damage+2090↑j
.text:000000710286C734 ; calc_attack_damage+20BC↑j ...
.text:000000710286C734 ADD X10, X8, X9,LSL#5
.text:000000710286C738 ADD X11, X10, #8
.text:000000710286C73C
.text:000000710286C73C loc_710286C73C ; CODE XREF: calc_attack_damage+2138↓j
.text:000000710286C73C CMP X9, #0x5F ; '_'
.text:000000710286C740 B.HI loc_710286C7A8
.text:000000710286C744 MOV X10, X9
.text:000000710286C748 LDR X9, [X11]
.text:000000710286C74C LDRH W12, [X9,#8]
.text:000000710286C750 CBZ W12, loc_710286C770
.text:000000710286C754 ADD X9, X10, #1
.text:000000710286C758 ADD X11, X11, #0x20 ; ' '
.text:000000710286C75C CMP W12, #0x5A ; 'Z'
.text:000000710286C760 B.NE loc_710286C73C
.text:000000710286C764 SUB W9, W9, #1
.text:000000710286C768 CMP W9, #0x5F ; '_'
.text:000000710286C76C B.HI loc_710286C7A8
.text:000000710286C770
.text:000000710286C770 loc_710286C770 ; CODE XREF: calc_attack_damage+2128↑j
.text:000000710286C770 AND X9, X10, #0xFFFFFFFF
.text:000000710286C774 ADD X8, X8, X9,LSL#5
.text:000000710286C778 LDR X8, [X8,#8]
.text:000000710286C77C CBZ X8, loc_710286C7A8
.text:000000710286C780 MOV W9, #0x5A ; 'Z'
.text:000000710286C784 STRH W9, [X8,#8]
.text:000000710286C788 MOV W9, #1
.text:000000710286C78C STUR XZR, [X8,#0xC]
.text:000000710286C790 STUR XZR, [X8,#0x14]
.text:000000710286C794 STR WZR, [X8,#0x1C]
.text:000000710286C798 STRB W9, [X8,#0xA]
.text:000000710286C79C LDR X9, [X27,#0x70]
.text:000000710286C7A0 STR X8, [X9,#0x2D8]
.text:000000710286C7A4 LDR X27, [X25]
.text:000000710286C7A8
.text:000000710286C7A8 loc_710286C7A8 ; CODE XREF: calc_attack_damage+2118↑j
.text:000000710286C7A8 ; calc_attack_damage+2144↑j ...
.text:000000710286C7A8 LDR W8, [X27,#0x78]
.text:000000710286C7AC ADD W8, W8, #1
.text:000000710286C7B0 LDR X9, [X27,#8]
.text:000000710286C7B4 STR W8, [X27,#0x78]
.text:000000710286C7B8 LDR X9, [X9,#0x88]
.text:000000710286C7BC LDR X23, [X9,#0x14C8]
.text:000000710286C7C0 CBZ X23, loc_710286C804
.text:000000710286C7C4 MOV W24, #0x4C ; 'L'
.text:000000710286C7C8 B loc_710286C7D4
.text:000000710286C7CC ; ---------------------------------------------------------------------------
.text:000000710286C7CC
.text:000000710286C7CC loc_710286C7CC ; CODE XREF: calc_attack_damage+21CC↓j
.text:000000710286C7CC ; calc_attack_damage+21D4↓j
.text:000000710286C7CC MOV X23, X0
.text:000000710286C7D0 CBZ X0, loc_710286C800
.text:000000710286C7D4
.text:000000710286C7D4 loc_710286C7D4 ; CODE XREF: calc_attack_damage+21A0↑j
.text:000000710286C7D4 MOV X0, X27
.text:000000710286C7D8 MOV W1, W24
.text:000000710286C7DC MOV W2, #8
.text:000000710286C7E0 MOV W3, #1
.text:000000710286C7E4 MOV X4, X23
.text:000000710286C7E8 BL sub_7102899E6C
.text:000000710286C7EC CBZ X0, loc_710286C800
.text:000000710286C7F0 LDRB W8, [X0,#0x3F]
.text:000000710286C7F4 TBNZ W8, #5, loc_710286C7CC
.text:000000710286C7F8 LDR X0, [X23,#0x18]
.text:000000710286C7FC B loc_710286C7CC
.text:000000710286C800 ; ---------------------------------------------------------------------------
.text:000000710286C800
.text:000000710286C800 loc_710286C800 ; CODE XREF: calc_attack_damage+21A8↑j
.text:000000710286C800 ; calc_attack_damage+21C4↑j
.text:000000710286C800 LDR W8, [X27,#0x78]
.text:000000710286C804
.text:000000710286C804 loc_710286C804 ; CODE XREF: calc_attack_damage+2198↑j
.text:000000710286C804 SUBS W8, W8, #1
.text:000000710286C808 STR W8, [X27,#0x78]
.text:000000710286C80C B.NE loc_710286C834
.text:000000710286C810 LDR X8, [X27,#8]
.text:000000710286C814 LDR X8, [X8,#0x88]
.text:000000710286C818 LDR X8, [X8,#0x14C8]
.text:000000710286C81C CBZ X8, loc_710286C834
.text:000000710286C820
.text:000000710286C820 loc_710286C820 ; CODE XREF: calc_attack_damage+2208↓j
.text:000000710286C820 LDRH W9, [X8,#0x3E]
.text:000000710286C824 LSL W9, W9, #0x10
.text:000000710286C828 STR W9, [X8,#0x3C]
.text:000000710286C82C LDR X8, [X8,#0x18]
.text:000000710286C830 CBNZ X8, loc_710286C820
.text:000000710286C834
.text:000000710286C834 loc_710286C834 ; CODE XREF: calc_attack_damage+21E4↑j
.text:000000710286C834 ; calc_attack_damage+21F4↑j
.text:000000710286C834 LDR X24, [X25]
.text:000000710286C838 LDR X8, [X24,#0x70]
.text:000000710286C83C LDR X9, [X8,#0x1B8]
.text:000000710286C840 CBZ X9, loc_710286C870
.text:000000710286C844 LDRH W20, [X9,#0xC]
.text:000000710286C848 LDR X9, [X8,#0x1C8]
.text:000000710286C84C CBZ X9, loc_710286C87C
.text:000000710286C850
.text:000000710286C850 loc_710286C850 ; CODE XREF: calc_attack_damage+2250↓j
.text:000000710286C850 LDR W23, [X9,#0xC]
.text:000000710286C854 LDR X8, [X8,#0x2D8]
.text:000000710286C858 CBZ X8, loc_710286C888
.text:000000710286C85C
.text:000000710286C85C loc_710286C85C ; CODE XREF: calc_attack_damage+225C↓j
.text:000000710286C85C LDR W8, [X8,#0xC]
.text:000000710286C860 CMP W8, #0
.text:000000710286C864 CSET W8, NE
.text:000000710286C868 STR W8, [SP,#0x7B0+var_7B0]
.text:000000710286C86C B loc_710286C88C
.text:000000710286C870 ; ---------------------------------------------------------------------------
.text:000000710286C870
.text:000000710286C870 loc_710286C870 ; CODE XREF: calc_attack_damage+2218↑j
.text:000000710286C870 MOV W20, WZR
.text:000000710286C874 LDR X9, [X8,#0x1C8]
.text:000000710286C878 CBNZ X9, loc_710286C850
.text:000000710286C87C
.text:000000710286C87C loc_710286C87C ; CODE XREF: calc_attack_damage+2224↑j
.text:000000710286C87C MOV W23, WZR
.text:000000710286C880 LDR X8, [X8,#0x2D8]
.text:000000710286C884 CBNZ X8, loc_710286C85C
.text:000000710286C888
.text:000000710286C888 loc_710286C888 ; CODE XREF: calc_attack_damage+2230↑j
.text:000000710286C888 STR WZR, [SP,#0x7B0+var_7B0]
.text:000000710286C88C
.text:000000710286C88C loc_710286C88C ; CODE XREF: calc_attack_damage+2244↑j
.text:000000710286C88C LDR X25, [X24,#0x50]
.text:000000710286C890 LDR W8, [X25,#0x408]
.text:000000710286C894 CBZ W8, loc_710286C8C8
.text:000000710286C898 ADD X8, X25, X8,LSL#5
.text:000000710286C89C LDR X8, [X8,#8]
.text:000000710286C8A0 ADD X0, X8, #8 ; s
.text:000000710286C8A4 MOV W2, #0x410 ; n
.text:000000710286C8A8 MOV W1, WZR ; c
.text:000000710286C8AC BL memset_0
.text:000000710286C8B0 LDR W8, [X25,#0x408]
.text:000000710286C8B4 SUB W8, W8, #1
.text:000000710286C8B8 STR W8, [X25,#0x408]
.text:000000710286C8BC LDR X25, [X24,#0x50]
.text:000000710286C8C0 LDR W8, [X25,#0x408]
.text:000000710286C8C4 B loc_710286C8CC
.text:000000710286C8C8 ; ---------------------------------------------------------------------------
.text:000000710286C8C8
.text:000000710286C8C8 loc_710286C8C8 ; CODE XREF: calc_attack_damage+226C↑j
.text:000000710286C8C8 MOV X8, XZR
.text:000000710286C8CC
.text:000000710286C8CC loc_710286C8CC ; CODE XREF: calc_attack_damage+229C↑j
.text:000000710286C8CC ADD X8, X25, X8,LSL#5
.text:000000710286C8D0 LDR X8, [X8,#8]
.text:000000710286C8D4 STR X8, [X24,#0x70]
.text:000000710286C8D8 LDR X8, [X24,#0x30]
.text:000000710286C8DC LDR W9, [X8,#0xC08]
.text:000000710286C8E0 CBZ W9, loc_710286C96C
.text:000000710286C8E4 AND W10, W9, #0xFFFF
.text:000000710286C8E8 CMP W10, #0x5F ; '_'
.text:000000710286C8EC B.HI loc_710286C928
.text:000000710286C8F0 AND X10, X9, #0xFFFF
.text:000000710286C8F4 ADD X9, X10, #1
.text:000000710286C8F8 ADD X10, X8, X10,LSL#5
.text:000000710286C8FC ADD X10, X10, #8
.text:000000710286C900
.text:000000710286C900 loc_710286C900 ; CODE XREF: calc_attack_damage+22F8↓j
.text:000000710286C900 LDR X11, [X10]
.text:000000710286C904 LDRH W12, [X11,#8]
.text:000000710286C908 CBZ W12, loc_710286C924
.text:000000710286C90C STRH WZR, [X11,#8]
.text:000000710286C910 AND W11, W9, #0xFFFF
.text:000000710286C914 ADD X9, X9, #1
.text:000000710286C918 ADD X10, X10, #0x20 ; ' '
.text:000000710286C91C CMP W11, #0x60 ; '`'
.text:000000710286C920 B.NE loc_710286C900
.text:000000710286C924
.text:000000710286C924 loc_710286C924 ; CODE XREF: calc_attack_damage+22E0↑j
.text:000000710286C924 LDR W9, [X8,#0xC08]
.text:000000710286C928
.text:000000710286C928 loc_710286C928 ; CODE XREF: calc_attack_damage+22C4↑j
.text:000000710286C928 SUB W9, W9, #1
.text:000000710286C92C STR W9, [X8,#0xC08]
.text:000000710286C930 ADD X9, X8, X9,LSL#5
.text:000000710286C934 LDR X9, [X9,#8]
.text:000000710286C938 STRH WZR, [X9,#8]
.text:000000710286C93C LDR W9, [X8,#0xC08]
.text:000000710286C940
.text:000000710286C940 loc_710286C940 ; CODE XREF: calc_attack_damage+2338↓j
.text:000000710286C940 CBZ X9, loc_710286C96C
.text:000000710286C944 SUB X9, X9, #1
.text:000000710286C948 AND X10, X9, #0xFFFFFFFF
.text:000000710286C94C ADD X10, X8, X10,LSL#5
.text:000000710286C950 STR W9, [X8,#0xC08]
.text:000000710286C954 LDR X10, [X10,#8]
.text:000000710286C958 LDRH W10, [X10,#8]
.text:000000710286C95C CMP W10, #1
.text:000000710286C960 B.NE loc_710286C940
.text:000000710286C964 ADD W9, W9, #1
.text:000000710286C968 STR W9, [X8,#0xC08]
.text:000000710286C96C
.text:000000710286C96C loc_710286C96C ; CODE XREF: calc_attack_damage+22B8↑j
.text:000000710286C96C ; calc_attack_damage:loc_710286C940↑j
.text:000000710286C96C MUL W8, W23, W20
.text:000000710286C970 MOV W20, #9
.text:000000710286C974 AND W9, W8, #0xFFF
.text:000000710286C978 LSR W8, W8, #0xC
.text:000000710286C97C CMP W9, #0x800
.text:000000710286C980 LDR W25, [X22,#0xC]
.text:000000710286C984 CINC W15, W8, HI
.text:000000710286C988 LDRB W8, [X21,#0x228]
.text:000000710286C98C CMP W25, #2
.text:000000710286C990 MOV W19, #0xB
.text:000000710286C994 CSEL W27, W19, W20, EQ
.text:000000710286C998 TST W8, #7
.text:000000710286C99C B.EQ loc_710286C9B8
.text:000000710286C9A0 CMP W25, #2
.text:000000710286C9A4 MOV W8, #8
.text:000000710286C9A8 MOV W9, #0x18
.text:000000710286C9AC CSEL X8, X9, X8, EQ
.text:000000710286C9B0 ADD X8, X26, X8
.text:000000710286C9B4 LDR W27, [X8,#4]
.text:000000710286C9B8
.text:000000710286C9B8 loc_710286C9B8 ; CODE XREF: calc_attack_damage+2374↑j
.text:000000710286C9B8 LDR X8, [SP,#0x7B0+var_768]
.text:000000710286C9BC LDR X8, [X8]
.text:000000710286C9C0 LDR X9, [X8,#0x30]
.text:000000710286C9C4 LDR W10, [X9,#0xC08]
.text:000000710286C9C8 CMP W10, #0x5F ; '_'
.text:000000710286C9CC B.HI loc_710286CA14
.text:000000710286C9D0
.text:000000710286C9D0 loc_710286C9D0 ; CODE XREF: calc_attack_damage+23C8↓j
.text:000000710286C9D0 MOV W11, W10
.text:000000710286C9D4 ADD X11, X9, X11,LSL#5
.text:000000710286C9D8 LDR X11, [X11,#8]
.text:000000710286C9DC LDRH W12, [X11,#8]
.text:000000710286C9E0 CBZ W12, loc_710286C9F8
.text:000000710286C9E4 ADD W10, W10, #1
.text:000000710286C9E8 CMP W10, #0x60 ; '`'
.text:000000710286C9EC STR W10, [X9,#0xC08]
.text:000000710286C9F0 B.NE loc_710286C9D0
.text:000000710286C9F4 B loc_710286CA14
.text:000000710286C9F8 ; ---------------------------------------------------------------------------
.text:000000710286C9F8
.text:000000710286C9F8 loc_710286C9F8 ; CODE XREF: calc_attack_damage+23B8↑j
.text:000000710286C9F8 CMP W10, #0x5E ; '^'
.text:000000710286C9FC B.HI loc_710286CA14
.text:000000710286CA00 MOV W10, #1
.text:000000710286CA04 STRH W10, [X11,#8]
.text:000000710286CA08 LDR W10, [X9,#0xC08]
.text:000000710286CA0C ADD W10, W10, #1
.text:000000710286CA10 STR W10, [X9,#0xC08]
.text:000000710286CA14
.text:000000710286CA14 loc_710286CA14 ; CODE XREF: calc_attack_damage+23A4↑j
.text:000000710286CA14 ; calc_attack_damage+23CC↑j ...
.text:000000710286CA14 LDR X9, [X8,#0x50]
.text:000000710286CA18 LDR W10, [X9,#0x408]
.text:000000710286CA1C CMP W10, #0x1E
.text:000000710286CA20 B.HI loc_710286CA34
.text:000000710286CA24 ADD W10, W10, #1
.text:000000710286CA28 STR W10, [X9,#0x408]
.text:000000710286CA2C LDR X9, [X8,#0x50]
.text:000000710286CA30 LDR W10, [X9,#0x408]
.text:000000710286CA34
.text:000000710286CA34 loc_710286CA34 ; CODE XREF: calc_attack_damage+23F8↑j
.text:000000710286CA34 MOV W10, W10
.text:000000710286CA38 ADD X9, X9, X10,LSL#5
.text:000000710286CA3C LDR X9, [X9,#8]
.text:000000710286CA40 STR X9, [X8,#0x70]
.text:000000710286CA44 LDR X8, [SP,#0x7B0+var_768]
.text:000000710286CA48 LDR X28, [X8]
.text:000000710286CA4C LDR X8, [SP,#0x7B0+var_770]
.text:000000710286CA50 LDRB W10, [X8,#0x7D]
.text:000000710286CA54 LDR X8, [X28,#0x30]
.text:000000710286CA58 LDR W9, [X8,#0xC08]
.text:000000710286CA5C MOV W11, #8
.text:000000710286CA60 BFI X11, X9, #5, #0x20 ; ' '
.text:000000710286CA64 MOV X13, X9
.text:000000710286CA68
.text:000000710286CA68 loc_710286CA68 ; CODE XREF: calc_attack_damage+2464↓j
.text:000000710286CA68 CMP X13, #0x5F ; '_'
.text:000000710286CA6C B.HI loc_710286CADC
.text:000000710286CA70 MOV X12, X13
.text:000000710286CA74 LDR X13, [X8,X11]
.text:000000710286CA78 LDRH W14, [X13,#8]
.text:000000710286CA7C CBZ W14, loc_710286CA9C
.text:000000710286CA80 ADD X13, X12, #1
.text:000000710286CA84 ADD X11, X11, #0x20 ; ' '
.text:000000710286CA88 CMP W14, #3
.text:000000710286CA8C B.NE loc_710286CA68
.text:000000710286CA90 SUB W11, W13, #1
.text:000000710286CA94 CMP W11, #0x5F ; '_'
.text:000000710286CA98 B.HI loc_710286CADC
.text:000000710286CA9C
.text:000000710286CA9C loc_710286CA9C ; CODE XREF: calc_attack_damage+2454↑j
.text:000000710286CA9C AND X11, X12, #0xFFFFFFFF
.text:000000710286CAA0 ADD X11, X8, X11,LSL#5
.text:000000710286CAA4 LDR X11, [X11,#8]
.text:000000710286CAA8 CBZ X11, loc_710286CADC
.text:000000710286CAAC MOV W8, #3
.text:000000710286CAB0 STRH W8, [X11,#8]
.text:000000710286CAB4 MOV W8, #4
.text:000000710286CAB8 STR W10, [X11,#0xC]
.text:000000710286CABC STRB W8, [X11,#0xA]
.text:000000710286CAC0 STP XZR, XZR, [X11,#0x10]
.text:000000710286CAC4 LDR X8, [X28,#0x70]
.text:000000710286CAC8 STR X11, [X8,#0x20]
.text:000000710286CACC LDR X8, [SP,#0x7B0+var_768]
.text:000000710286CAD0 LDR X28, [X8]
.text:000000710286CAD4 LDR X8, [X28,#0x30]
.text:000000710286CAD8 LDR W9, [X8,#0xC08]
.text:000000710286CADC
.text:000000710286CADC loc_710286CADC ; CODE XREF: calc_attack_damage+2444↑j
.text:000000710286CADC ; calc_attack_damage+2470↑j ...
.text:000000710286CADC LDRB W10, [X21,#0x7D]
.text:000000710286CAE0 MOV W12, #8
.text:000000710286CAE4 BFI X12, X9, #5, #0x20 ; ' '
.text:000000710286CAE8 MOV X13, XZR
.text:000000710286CAEC
.text:000000710286CAEC loc_710286CAEC ; CODE XREF: calc_attack_damage+24EC↓j
.text:000000710286CAEC MOV X11, X13
.text:000000710286CAF0 ADD X13, X9, X13
.text:000000710286CAF4 CMP X13, #0x5F ; '_'
.text:000000710286CAF8 B.HI loc_710286CB64
.text:000000710286CAFC LDR X13, [X8,X12]
.text:000000710286CB00 LDRH W14, [X13,#8]
.text:000000710286CB04 CBZ W14, loc_710286CB28
.text:000000710286CB08 ADD X13, X11, #1
.text:000000710286CB0C ADD X12, X12, #0x20 ; ' '
.text:000000710286CB10 CMP W14, #4
.text:000000710286CB14 B.NE loc_710286CAEC
.text:000000710286CB18 ADD W12, W9, W13
.text:000000710286CB1C SUB W12, W12, #1
.text:000000710286CB20 CMP W12, #0x5F ; '_'
.text:000000710286CB24 B.HI loc_710286CB64
.text:000000710286CB28
.text:000000710286CB28 loc_710286CB28 ; CODE XREF: calc_attack_damage+24DC↑j
.text:000000710286CB28 ADD W11, W9, W11
.text:000000710286CB2C ADD X11, X8, X11,LSL#5
.text:000000710286CB30 LDR X11, [X11,#8]
.text:000000710286CB34 CBZ X11, loc_710286CB64
.text:000000710286CB38 MOV W8, #4
.text:000000710286CB3C STRH W8, [X11,#8]
.text:000000710286CB40 STR W10, [X11,#0xC]
.text:000000710286CB44 STRB W8, [X11,#0xA]
.text:000000710286CB48 STP XZR, XZR, [X11,#0x10]
.text:000000710286CB4C LDR X8, [X28,#0x70]
.text:000000710286CB50 STR X11, [X8,#0x28]
.text:000000710286CB54 LDR X8, [SP,#0x7B0+var_768]
.text:000000710286CB58 LDR X28, [X8]
.text:000000710286CB5C LDR X8, [X28,#0x30]
.text:000000710286CB60 LDR W9, [X8,#0xC08]
.text:000000710286CB64
.text:000000710286CB64 loc_710286CB64 ; CODE XREF: calc_attack_damage+24D0↑j
.text:000000710286CB64 ; calc_attack_damage+24FC↑j ...
.text:000000710286CB64 MOV W11, #8
.text:000000710286CB68 BFI X11, X9, #5, #0x20 ; ' '
.text:000000710286CB6C MOV X12, XZR
.text:000000710286CB70
.text:000000710286CB70 loc_710286CB70 ; CODE XREF: calc_attack_damage+2570↓j
.text:000000710286CB70 MOV X10, X12
.text:000000710286CB74 ADD X12, X9, X12
.text:000000710286CB78 CMP X12, #0x5F ; '_'
.text:000000710286CB7C B.HI loc_710286CBEC
.text:000000710286CB80 LDR X12, [X8,X11]
.text:000000710286CB84 LDRH W13, [X12,#8]
.text:000000710286CB88 CBZ W13, loc_710286CBAC
.text:000000710286CB8C ADD X12, X10, #1
.text:000000710286CB90 ADD X11, X11, #0x20 ; ' '
.text:000000710286CB94 CMP W13, #0x41 ; 'A'
.text:000000710286CB98 B.NE loc_710286CB70
.text:000000710286CB9C ADD W11, W9, W12
.text:000000710286CBA0 SUB W11, W11, #1
.text:000000710286CBA4 CMP W11, #0x5F ; '_'
.text:000000710286CBA8 B.HI loc_710286CBEC
.text:000000710286CBAC
.text:000000710286CBAC loc_710286CBAC ; CODE XREF: calc_attack_damage+2560↑j
.text:000000710286CBAC ADD W10, W9, W10
.text:000000710286CBB0 ADD X10, X8, X10,LSL#5
.text:000000710286CBB4 LDR X10, [X10,#8]
.text:000000710286CBB8 CBZ X10, loc_710286CBEC
.text:000000710286CBBC MOV W8, #0x41 ; 'A'
.text:000000710286CBC0 STRH W8, [X10,#8]
.text:000000710286CBC4 MOV W8, #4
.text:000000710286CBC8 STR W27, [X10,#0xC]
.text:000000710286CBCC STRB W8, [X10,#0xA]
.text:000000710286CBD0 STP XZR, XZR, [X10,#0x10]
.text:000000710286CBD4 LDR X8, [X28,#0x70]
.text:000000710286CBD8 STR X10, [X8,#0x210]
.text:000000710286CBDC LDR X8, [SP,#0x7B0+var_768]
.text:000000710286CBE0 LDR X28, [X8]
.text:000000710286CBE4 LDR X8, [X28,#0x30]
.text:000000710286CBE8 LDR W9, [X8,#0xC08]
.text:000000710286CBEC
.text:000000710286CBEC loc_710286CBEC ; CODE XREF: calc_attack_damage+2554↑j
.text:000000710286CBEC ; calc_attack_damage+2580↑j ...
.text:000000710286CBEC MOV W11, #8
.text:000000710286CBF0 BFI X11, X9, #5, #0x20 ; ' '
.text:000000710286CBF4 MOV X12, XZR
.text:000000710286CBF8
.text:000000710286CBF8 loc_710286CBF8 ; CODE XREF: calc_attack_damage+25F8↓j
.text:000000710286CBF8 MOV X10, X12
.text:000000710286CBFC ADD X12, X9, X12
.text:000000710286CC00 CMP X12, #0x5F ; '_'
.text:000000710286CC04 B.HI loc_710286CC74
.text:000000710286CC08 LDR X12, [X8,X11]
.text:000000710286CC0C LDRH W13, [X12,#8]
.text:000000710286CC10 CBZ W13, loc_710286CC34
.text:000000710286CC14 ADD X12, X10, #1
.text:000000710286CC18 ADD X11, X11, #0x20 ; ' '
.text:000000710286CC1C CMP W13, #0x42 ; 'B'
.text:000000710286CC20 B.NE loc_710286CBF8
.text:000000710286CC24 ADD W11, W9, W12
.text:000000710286CC28 SUB W11, W11, #1
.text:000000710286CC2C CMP W11, #0x5F ; '_'
.text:000000710286CC30 B.HI loc_710286CC74
.text:000000710286CC34
.text:000000710286CC34 loc_710286CC34 ; CODE XREF: calc_attack_damage+25E8↑j
.text:000000710286CC34 ADD W10, W9, W10
.text:000000710286CC38 ADD X10, X8, X10,LSL#5
.text:000000710286CC3C LDR X10, [X10,#8]
.text:000000710286CC40 CBZ X10, loc_710286CC74
.text:000000710286CC44 MOV W8, #0x42 ; 'B'
.text:000000710286CC48 STRH W8, [X10,#8]
.text:000000710286CC4C STRB WZR, [X10,#0xA]
.text:000000710286CC50 STUR XZR, [X10,#0xC]
.text:000000710286CC54 STUR XZR, [X10,#0x14]
.text:000000710286CC58 STR WZR, [X10,#0x1C]
.text:000000710286CC5C LDR X8, [X28,#0x70]
.text:000000710286CC60 STR X10, [X8,#0x218]
.text:000000710286CC64 LDR X8, [SP,#0x7B0+var_768]
.text:000000710286CC68 LDR X28, [X8]
.text:000000710286CC6C LDR X8, [X28,#0x30]
.text:000000710286CC70 LDR W9, [X8,#0xC08]
.text:000000710286CC74
.text:000000710286CC74 loc_710286CC74 ; CODE XREF: calc_attack_damage+25DC↑j
.text:000000710286CC74 ; calc_attack_damage+2608↑j ...
.text:000000710286CC74 ADD X10, X8, X9,LSL#5
.text:000000710286CC78 ADD X11, X10, #8
.text:000000710286CC7C STR W15, [SP,#0x7B0+var_7AC]
.text:000000710286CC80
.text:000000710286CC80 loc_710286CC80 ; CODE XREF: calc_attack_damage+267C↓j
.text:000000710286CC80 CMP X9, #0x5F ; '_'
.text:000000710286CC84 B.HI loc_710286CCF0
.text:000000710286CC88 MOV X10, X9
.text:000000710286CC8C LDR X9, [X11]
.text:000000710286CC90 LDRH W12, [X9,#8]
.text:000000710286CC94 CBZ W12, loc_710286CCB4
.text:000000710286CC98 ADD X9, X10, #1
.text:000000710286CC9C ADD X11, X11, #0x20 ; ' '
.text:000000710286CCA0 CMP W12, #0x59 ; 'Y'
.text:000000710286CCA4 B.NE loc_710286CC80
.text:000000710286CCA8 SUB W9, W9, #1
.text:000000710286CCAC CMP W9, #0x5F ; '_'
.text:000000710286CCB0 B.HI loc_710286CCF0
.text:000000710286CCB4
.text:000000710286CCB4 loc_710286CCB4 ; CODE XREF: calc_attack_damage+266C↑j
.text:000000710286CCB4 AND X9, X10, #0xFFFFFFFF
.text:000000710286CCB8 ADD X8, X8, X9,LSL#5
.text:000000710286CCBC LDR X8, [X8,#8]
.text:000000710286CCC0 CBZ X8, loc_710286CCF0
.text:000000710286CCC4 MOV W9, #0x59 ; 'Y'
.text:000000710286CCC8 STRH W9, [X8,#8]
.text:000000710286CCCC MOV W9, #1
.text:000000710286CCD0 STUR XZR, [X8,#0xC]
.text:000000710286CCD4 STUR XZR, [X8,#0x14]
.text:000000710286CCD8 STR WZR, [X8,#0x1C]
.text:000000710286CCDC STRB W9, [X8,#0xA]
.text:000000710286CCE0 LDR X9, [X28,#0x70]
.text:000000710286CCE4 STR X8, [X9,#0x2D0]
.text:000000710286CCE8 LDR X8, [SP,#0x7B0+var_768]
.text:000000710286CCEC LDR X28, [X8]
.text:000000710286CCF0
.text:000000710286CCF0 loc_710286CCF0 ; CODE XREF: calc_attack_damage+265C↑j
.text:000000710286CCF0 ; calc_attack_damage+2688↑j ...
.text:000000710286CCF0 LDR W8, [X28,#0x78]
.text:000000710286CCF4 ADD W8, W8, #1
.text:000000710286CCF8 LDR X9, [X28,#8]
.text:000000710286CCFC STR W8, [X28,#0x78]
.text:000000710286CD00 LDR X9, [X9,#0x88]
.text:000000710286CD04 LDR X23, [X9,#0x14C8]
.text:000000710286CD08 CBZ X23, loc_710286CD4C
.text:000000710286CD0C MOV W24, #0x4A ; 'J'
.text:000000710286CD10 B loc_710286CD1C
.text:000000710286CD14 ; ---------------------------------------------------------------------------
.text:000000710286CD14
.text:000000710286CD14 loc_710286CD14 ; CODE XREF: calc_attack_damage+2714↓j
.text:000000710286CD14 ; calc_attack_damage+271C↓j
.text:000000710286CD14 MOV X23, X0
.text:000000710286CD18 CBZ X0, loc_710286CD48
.text:000000710286CD1C
.text:000000710286CD1C loc_710286CD1C ; CODE XREF: calc_attack_damage+26E8↑j
.text:000000710286CD1C MOV X0, X28
.text:000000710286CD20 MOV W1, W24
.text:000000710286CD24 MOV W2, #8
.text:000000710286CD28 MOV W3, #1
.text:000000710286CD2C MOV X4, X23
.text:000000710286CD30 BL sub_7102899E6C
.text:000000710286CD34 CBZ X0, loc_710286CD48
.text:000000710286CD38 LDRB W8, [X0,#0x3F]
.text:000000710286CD3C TBNZ W8, #5, loc_710286CD14
.text:000000710286CD40 LDR X0, [X23,#0x18]
.text:000000710286CD44 B loc_710286CD14
.text:000000710286CD48 ; ---------------------------------------------------------------------------
.text:000000710286CD48
.text:000000710286CD48 loc_710286CD48 ; CODE XREF: calc_attack_damage+26F0↑j
.text:000000710286CD48 ; calc_attack_damage+270C↑j
.text:000000710286CD48 LDR W8, [X28,#0x78]
.text:000000710286CD4C
.text:000000710286CD4C loc_710286CD4C ; CODE XREF: calc_attack_damage+26E0↑j
.text:000000710286CD4C SUBS W8, W8, #1
.text:000000710286CD50 STR W8, [X28,#0x78]
.text:000000710286CD54 B.NE loc_710286CD7C
.text:000000710286CD58 LDR X8, [X28,#8]
.text:000000710286CD5C LDR X8, [X8,#0x88]
.text:000000710286CD60 LDR X8, [X8,#0x14C8]
.text:000000710286CD64 CBZ X8, loc_710286CD7C
.text:000000710286CD68
.text:000000710286CD68 loc_710286CD68 ; CODE XREF: calc_attack_damage+2750↓j
.text:000000710286CD68 LDRH W9, [X8,#0x3E]
.text:000000710286CD6C LSL W9, W9, #0x10
.text:000000710286CD70 STR W9, [X8,#0x3C]
.text:000000710286CD74 LDR X8, [X8,#0x18]
.text:000000710286CD78 CBNZ X8, loc_710286CD68
.text:000000710286CD7C
.text:000000710286CD7C loc_710286CD7C ; CODE XREF: calc_attack_damage+272C↑j
.text:000000710286CD7C ; calc_attack_damage+273C↑j
.text:000000710286CD7C LDR X8, [SP,#0x7B0+var_768]
.text:000000710286CD80 LDR X28, [X8]
.text:000000710286CD84 LDR X8, [X28,#0x70]
.text:000000710286CD88 LDR X9, [X8,#0x2D0]
.text:000000710286CD8C CBZ X9, loc_710286CDA4
.text:000000710286CD90 LDR W23, [X9,#0xC]
.text:000000710286CD94 LDR X8, [X8,#0x218]
.text:000000710286CD98 CBZ X8, loc_710286CDB0
.text:000000710286CD9C
.text:000000710286CD9C loc_710286CD9C ; CODE XREF: calc_attack_damage+2784↓j
.text:000000710286CD9C LDR W24, [X8,#0xC]
.text:000000710286CDA0 B loc_710286CDB4
.text:000000710286CDA4 ; ---------------------------------------------------------------------------
.text:000000710286CDA4
.text:000000710286CDA4 loc_710286CDA4 ; CODE XREF: calc_attack_damage+2764↑j
.text:000000710286CDA4 MOV W23, WZR
.text:000000710286CDA8 LDR X8, [X8,#0x218]
.text:000000710286CDAC CBNZ X8, loc_710286CD9C
.text:000000710286CDB0
.text:000000710286CDB0 loc_710286CDB0 ; CODE XREF: calc_attack_damage+2770↑j
.text:000000710286CDB0 MOV W24, WZR
.text:000000710286CDB4
.text:000000710286CDB4 loc_710286CDB4 ; CODE XREF: calc_attack_damage+2778↑j
.text:000000710286CDB4 LDR X26, [X28,#0x50]
.text:000000710286CDB8 LDR W8, [X26,#0x408]
.text:000000710286CDBC CBZ W8, loc_710286CDF0
.text:000000710286CDC0 ADD X8, X26, X8,LSL#5
.text:000000710286CDC4 LDR X8, [X8,#8]
.text:000000710286CDC8 ADD X0, X8, #8 ; s
.text:000000710286CDCC MOV W2, #0x410 ; n
.text:000000710286CDD0 MOV W1, WZR ; c
.text:000000710286CDD4 BL memset_0
.text:000000710286CDD8 LDR W8, [X26,#0x408]
.text:000000710286CDDC SUB W8, W8, #1
.text:000000710286CDE0 STR W8, [X26,#0x408]
.text:000000710286CDE4 LDR X26, [X28,#0x50]
.text:000000710286CDE8 LDR W8, [X26,#0x408]
.text:000000710286CDEC B loc_710286CDF4
.text:000000710286CDF0 ; ---------------------------------------------------------------------------
.text:000000710286CDF0
.text:000000710286CDF0 loc_710286CDF0 ; CODE XREF: calc_attack_damage+2794↑j
.text:000000710286CDF0 MOV X8, XZR
.text:000000710286CDF4
.text:000000710286CDF4 loc_710286CDF4 ; CODE XREF: calc_attack_damage+27C4↑j
.text:000000710286CDF4 ADD X8, X26, X8,LSL#5
.text:000000710286CDF8 LDR X26, [SP,#0x7B0+var_798]
.text:000000710286CDFC LDR X8, [X8,#8]
.text:000000710286CE00 STR X8, [X28,#0x70]
.text:000000710286CE04 LDR X8, [X28,#0x30]
.text:000000710286CE08 LDR W9, [X8,#0xC08]
.text:000000710286CE0C CBZ W9, loc_710286CE98
.text:000000710286CE10 AND W10, W9, #0xFFFF
.text:000000710286CE14 CMP W10, #0x5F ; '_'
.text:000000710286CE18 B.HI loc_710286CE54
.text:000000710286CE1C AND X10, X9, #0xFFFF
.text:000000710286CE20 ADD X9, X10, #1
.text:000000710286CE24 ADD X10, X8, X10,LSL#5
.text:000000710286CE28 ADD X10, X10, #8
.text:000000710286CE2C
.text:000000710286CE2C loc_710286CE2C ; CODE XREF: calc_attack_damage+2824↓j
.text:000000710286CE2C LDR X11, [X10]
.text:000000710286CE30 LDRH W12, [X11,#8]
.text:000000710286CE34 CBZ W12, loc_710286CE50
.text:000000710286CE38 STRH WZR, [X11,#8]
.text:000000710286CE3C AND W11, W9, #0xFFFF
.text:000000710286CE40 ADD X9, X9, #1
.text:000000710286CE44 ADD X10, X10, #0x20 ; ' '
.text:000000710286CE48 CMP W11, #0x60 ; '`'
.text:000000710286CE4C B.NE loc_710286CE2C
.text:000000710286CE50
.text:000000710286CE50 loc_710286CE50 ; CODE XREF: calc_attack_damage+280C↑j
.text:000000710286CE50 LDR W9, [X8,#0xC08]
.text:000000710286CE54
.text:000000710286CE54 loc_710286CE54 ; CODE XREF: calc_attack_damage+27F0↑j
.text:000000710286CE54 SUB W9, W9, #1
.text:000000710286CE58 STR W9, [X8,#0xC08]
.text:000000710286CE5C ADD X9, X8, X9,LSL#5
.text:000000710286CE60 LDR X9, [X9,#8]
.text:000000710286CE64 STRH WZR, [X9,#8]
.text:000000710286CE68 LDR W9, [X8,#0xC08]
.text:000000710286CE6C
.text:000000710286CE6C loc_710286CE6C ; CODE XREF: calc_attack_damage+2864↓j
.text:000000710286CE6C CBZ X9, loc_710286CE98
.text:000000710286CE70 SUB X9, X9, #1
.text:000000710286CE74 AND X10, X9, #0xFFFFFFFF
.text:000000710286CE78 ADD X10, X8, X10,LSL#5
.text:000000710286CE7C STR W9, [X8,#0xC08]
.text:000000710286CE80 LDR X10, [X10,#8]
.text:000000710286CE84 LDRH W10, [X10,#8]
.text:000000710286CE88 CMP W10, #1
.text:000000710286CE8C B.NE loc_710286CE6C
.text:000000710286CE90 ADD W9, W9, #1
.text:000000710286CE94 STR W9, [X8,#0xC08]
.text:000000710286CE98
.text:000000710286CE98 loc_710286CE98 ; CODE XREF: calc_attack_damage+27E4↑j
.text:000000710286CE98 ; calc_attack_damage:loc_710286CE6C↑j
.text:000000710286CE98 TBZ W24, #0, loc_710286CEAC
.text:000000710286CE9C CMP W27, #9
.text:000000710286CEA0 MOV W8, #1
.text:000000710286CEA4 CSEL W27, W19, W20, EQ
.text:000000710286CEA8 CINC W25, W8, EQ
.text:000000710286CEAC
.text:000000710286CEAC loc_710286CEAC ; CODE XREF: calc_attack_damage:loc_710286CE98↑j
.text:000000710286CEAC LDR X20, [SP,#0x7B0+var_770]
.text:000000710286CEB0 TST W23, #0xFF
.text:000000710286CEB4 B.EQ loc_710286CEC8
.text:000000710286CEB8 MOV X0, X21
.text:000000710286CEBC MOV W1, W27
.text:000000710286CEC0 BL sub_710285084C
.text:000000710286CEC4 B loc_710286CEEC
.text:000000710286CEC8 ; ---------------------------------------------------------------------------
.text:000000710286CEC8
.text:000000710286CEC8 loc_710286CEC8 ; CODE XREF: calc_attack_damage+288C↑j
.text:000000710286CEC8 LDR W8, [SP,#0x7B0+var_77C]
.text:000000710286CECC TBZ W8, #0, loc_710286CEE0
.text:000000710286CED0 MOV X0, X21
.text:000000710286CED4 MOV W1, W27
.text:000000710286CED8 BL sub_7102851958
.text:000000710286CEDC B loc_710286CEEC
.text:000000710286CEE0 ; ---------------------------------------------------------------------------
.text:000000710286CEE0
.text:000000710286CEE0 loc_710286CEE0 ; CODE XREF: calc_attack_damage+28A4↑j
.text:000000710286CEE0 MOV X0, X21
.text:000000710286CEE4 MOV W1, W27
.text:000000710286CEE8 BL sub_71028506A8
.text:000000710286CEEC
.text:000000710286CEEC loc_710286CEEC ; CODE XREF: calc_attack_damage+289C↑j
.text:000000710286CEEC ; calc_attack_damage+28B4↑j
.text:000000710286CEEC MOV W28, W0
.text:000000710286CEF0 LDR X0, [SP,#0x7B0+var_778]
.text:000000710286CEF4 BL sub_710286EAA8
.text:000000710286CEF8 AND W8, W0, #0xFF
.text:000000710286CEFC CMP W8, #4
.text:000000710286CF00 B.NE loc_710286CFA4
.text:000000710286CF04 LDRB W8, [X21,#0x168]
.text:000000710286CF08 TST W8, #7
.text:000000710286CF0C LDRB W9, [X21,#0x2DC]
.text:000000710286CF10 LDRB W8, [X21,#0x2DD]
.text:000000710286CF14 CSET W10, NE
.text:000000710286CF18 CMP W9, #0x12
.text:000000710286CF1C CSET W11, EQ
.text:000000710286CF20 CMP W9, #2
.text:000000710286CF24 CSET W12, EQ
.text:000000710286CF28 CMP W8, #0x12
.text:000000710286CF2C CSET W13, EQ
.text:000000710286CF30 CMP W8, #2
.text:000000710286CF34 LDRSB W15, [X21,#0x389]
.text:000000710286CF38 AND W12, W12, W10
.text:000000710286CF3C ORR W11, W11, W12
.text:000000710286CF40 CSET W14, EQ
.text:000000710286CF44 AND W10, W10, W14
.text:000000710286CF48 ORR W10, W13, W10
.text:000000710286CF4C TBNZ W15, #0x1F, loc_710286CF60
.text:000000710286CF50 CBZ W11, loc_710286D800
.text:000000710286CF54 CMP W10, #0
.text:000000710286CF58 CSEL W8, WZR, W8, NE
.text:000000710286CF5C B loc_710286CF70
.text:000000710286CF60 ; ---------------------------------------------------------------------------
.text:000000710286CF60
.text:000000710286CF60 loc_710286CF60 ; CODE XREF: calc_attack_damage+2924↑j
.text:000000710286CF60 TBZ W11, #0, loc_710286E178
.text:000000710286CF64 TBZ W10, #0, loc_710286CF70
.text:000000710286CF68 MOV W9, #0x12
.text:000000710286CF6C B loc_710286D804
.text:000000710286CF70 ; ---------------------------------------------------------------------------
.text:000000710286CF70
.text:000000710286CF70 loc_710286CF70 ; CODE XREF: calc_attack_damage+2934↑j
.text:000000710286CF70 ; calc_attack_damage+293C↑j
.text:000000710286CF70 MOV W9, W8
.text:000000710286CF74 CMP W9, #5
.text:000000710286CF78 B.EQ loc_710286D810
.text:000000710286CF7C
.text:000000710286CF7C loc_710286CF7C ; CODE XREF: calc_attack_damage+31E4↓j
.text:000000710286CF7C CMP W8, #5
.text:000000710286CF80 B.EQ loc_710286D810
.text:000000710286CF84 CMP W27, #0xB
.text:000000710286CF88 B.NE loc_710286CFA4
.text:000000710286CF8C LDRB W8, [X21,#0x2DE]
.text:000000710286CF90 CMP W8, #5
.text:000000710286CF94 B.NE loc_710286CFA4
.text:000000710286CF98
.text:000000710286CF98 loc_710286CF98 ; CODE XREF: calc_attack_damage+31EC↓j
.text:000000710286CF98 AND W8, W28, #0xFFFF
.text:000000710286CF9C ADD W8, W8, W28,UXTH#1
.text:000000710286CFA0 UBFX W28, W8, #1, #0x14
.text:000000710286CFA4
.text:000000710286CFA4 loc_710286CFA4 ; CODE XREF: calc_attack_damage+28D8↑j
.text:000000710286CFA4 ; calc_attack_damage+2960↑j ...
.text:000000710286CFA4 LDR X8, [SP,#0x7B0+var_768]
.text:000000710286CFA8 LDR X8, [X8]
.text:000000710286CFAC LDR X9, [X8,#0x30]
.text:000000710286CFB0 LDR W10, [X9,#0xC08]
.text:000000710286CFB4 CMP W10, #0x5F ; '_'
.text:000000710286CFB8 B.HI loc_710286D000
.text:000000710286CFBC
.text:000000710286CFBC loc_710286CFBC ; CODE XREF: calc_attack_damage+29B4↓j
.text:000000710286CFBC MOV W11, W10
.text:000000710286CFC0 ADD X11, X9, X11,LSL#5
.text:000000710286CFC4 LDR X11, [X11,#8]
.text:000000710286CFC8 LDRH W12, [X11,#8]
.text:000000710286CFCC CBZ W12, loc_710286CFE4
.text:000000710286CFD0 ADD W10, W10, #1
.text:000000710286CFD4 CMP W10, #0x60 ; '`'
.text:000000710286CFD8 STR W10, [X9,#0xC08]
.text:000000710286CFDC B.NE loc_710286CFBC
.text:000000710286CFE0 B loc_710286D000
.text:000000710286CFE4 ; ---------------------------------------------------------------------------
.text:000000710286CFE4
.text:000000710286CFE4 loc_710286CFE4 ; CODE XREF: calc_attack_damage+29A4↑j
.text:000000710286CFE4 CMP W10, #0x5E ; '^'
.text:000000710286CFE8 B.HI loc_710286D000
.text:000000710286CFEC MOV W10, #1
.text:000000710286CFF0 STRH W10, [X11,#8]
.text:000000710286CFF4 LDR W10, [X9,#0xC08]
.text:000000710286CFF8 ADD W10, W10, #1
.text:000000710286CFFC STR W10, [X9,#0xC08]
.text:000000710286D000
.text:000000710286D000 loc_710286D000 ; CODE XREF: calc_attack_damage+2990↑j
.text:000000710286D000 ; calc_attack_damage+29B8↑j ...
.text:000000710286D000 LDR X9, [X8,#0x50]
.text:000000710286D004 LDR W10, [X9,#0x408]
.text:000000710286D008 CMP W10, #0x1E
.text:000000710286D00C B.HI loc_710286D020
.text:000000710286D010 ADD W10, W10, #1
.text:000000710286D014 STR W10, [X9,#0x408]
.text:000000710286D018 LDR X9, [X8,#0x50]
.text:000000710286D01C LDR W10, [X9,#0x408]
.text:000000710286D020
.text:000000710286D020 loc_710286D020 ; CODE XREF: calc_attack_damage+29E4↑j
.text:000000710286D020 MOV W10, W10
.text:000000710286D024 ADD X9, X9, X10,LSL#5
.text:000000710286D028 LDR X9, [X9,#8]
.text:000000710286D02C STR X9, [X8,#0x70]
.text:000000710286D030 LDR X8, [SP,#0x7B0+var_768]
.text:000000710286D034 LDRB W10, [X20,#0x7D]
.text:000000710286D038 LDR X27, [X8]
.text:000000710286D03C LDR X8, [X27,#0x30]
.text:000000710286D040 LDR W9, [X8,#0xC08]
.text:000000710286D044 MOV W11, #8
.text:000000710286D048 BFI X11, X9, #5, #0x20 ; ' '
.text:000000710286D04C MOV X13, X9
.text:000000710286D050
.text:000000710286D050 loc_710286D050 ; CODE XREF: calc_attack_damage+2A4C↓j
.text:000000710286D050 CMP X13, #0x5F ; '_'
.text:000000710286D054 B.HI loc_710286D0C4
.text:000000710286D058 MOV X12, X13
.text:000000710286D05C LDR X13, [X8,X11]
.text:000000710286D060 LDRH W14, [X13,#8]
.text:000000710286D064 CBZ W14, loc_710286D084
.text:000000710286D068 ADD X13, X12, #1
.text:000000710286D06C ADD X11, X11, #0x20 ; ' '
.text:000000710286D070 CMP W14, #3
.text:000000710286D074 B.NE loc_710286D050
.text:000000710286D078 SUB W11, W13, #1
.text:000000710286D07C CMP W11, #0x5F ; '_'
.text:000000710286D080 B.HI loc_710286D0C4
.text:000000710286D084
.text:000000710286D084 loc_710286D084 ; CODE XREF: calc_attack_damage+2A3C↑j
.text:000000710286D084 AND X11, X12, #0xFFFFFFFF
.text:000000710286D088 ADD X11, X8, X11,LSL#5
.text:000000710286D08C LDR X11, [X11,#8]
.text:000000710286D090 CBZ X11, loc_710286D0C4
.text:000000710286D094 MOV W8, #3
.text:000000710286D098 STRH W8, [X11,#8]
.text:000000710286D09C MOV W8, #4
.text:000000710286D0A0 STR W10, [X11,#0xC]
.text:000000710286D0A4 STRB W8, [X11,#0xA]
.text:000000710286D0A8 STP XZR, XZR, [X11,#0x10]
.text:000000710286D0AC LDR X8, [X27,#0x70]
.text:000000710286D0B0 STR X11, [X8,#0x20]
.text:000000710286D0B4 LDR X8, [SP,#0x7B0+var_768]
.text:000000710286D0B8 LDR X27, [X8]
.text:000000710286D0BC LDR X8, [X27,#0x30]
.text:000000710286D0C0 LDR W9, [X8,#0xC08]
.text:000000710286D0C4
.text:000000710286D0C4 loc_710286D0C4 ; CODE XREF: calc_attack_damage+2A2C↑j
.text:000000710286D0C4 ; calc_attack_damage+2A58↑j ...
.text:000000710286D0C4 LDRB W10, [X21,#0x7D]
.text:000000710286D0C8 MOV W12, #8
.text:000000710286D0CC BFI X12, X9, #5, #0x20 ; ' '
.text:000000710286D0D0 MOV X13, XZR
.text:000000710286D0D4
.text:000000710286D0D4 loc_710286D0D4 ; CODE XREF: calc_attack_damage+2AD4↓j
.text:000000710286D0D4 MOV X11, X13
.text:000000710286D0D8 ADD X13, X9, X13
.text:000000710286D0DC CMP X13, #0x5F ; '_'
.text:000000710286D0E0 B.HI loc_710286D14C
.text:000000710286D0E4 LDR X13, [X8,X12]
.text:000000710286D0E8 LDRH W14, [X13,#8]
.text:000000710286D0EC CBZ W14, loc_710286D110
.text:000000710286D0F0 ADD X13, X11, #1
.text:000000710286D0F4 ADD X12, X12, #0x20 ; ' '
.text:000000710286D0F8 CMP W14, #4
.text:000000710286D0FC B.NE loc_710286D0D4
.text:000000710286D100 ADD W12, W9, W13
.text:000000710286D104 SUB W12, W12, #1
.text:000000710286D108 CMP W12, #0x5F ; '_'
.text:000000710286D10C B.HI loc_710286D14C
.text:000000710286D110
.text:000000710286D110 loc_710286D110 ; CODE XREF: calc_attack_damage+2AC4↑j
.text:000000710286D110 ADD W11, W9, W11
.text:000000710286D114 ADD X11, X8, X11,LSL#5
.text:000000710286D118 LDR X11, [X11,#8]
.text:000000710286D11C CBZ X11, loc_710286D14C
.text:000000710286D120 MOV W8, #4
.text:000000710286D124 STRH W8, [X11,#8]
.text:000000710286D128 STR W10, [X11,#0xC]
.text:000000710286D12C STRB W8, [X11,#0xA]
.text:000000710286D130 STP XZR, XZR, [X11,#0x10]
.text:000000710286D134 LDR X8, [X27,#0x70]
.text:000000710286D138 STR X11, [X8,#0x28]
.text:000000710286D13C LDR X8, [SP,#0x7B0+var_768]
.text:000000710286D140 LDR X27, [X8]
.text:000000710286D144 LDR X8, [X27,#0x30]
.text:000000710286D148 LDR W9, [X8,#0xC08]
.text:000000710286D14C
.text:000000710286D14C loc_710286D14C ; CODE XREF: calc_attack_damage+2AB8↑j
.text:000000710286D14C ; calc_attack_damage+2AE4↑j ...
.text:000000710286D14C LDR W10, [X22]
.text:000000710286D150 MOV W12, #8
.text:000000710286D154 BFI X12, X9, #5, #0x20 ; ' '
.text:000000710286D158 MOV X13, XZR
.text:000000710286D15C
.text:000000710286D15C loc_710286D15C ; CODE XREF: calc_attack_damage+2B5C↓j
.text:000000710286D15C MOV X11, X13
.text:000000710286D160 ADD X13, X9, X13
.text:000000710286D164 CMP X13, #0x5F ; '_'
.text:000000710286D168 B.HI loc_710286D1D8
.text:000000710286D16C LDR X13, [X8,X12]
.text:000000710286D170 LDRH W14, [X13,#8]
.text:000000710286D174 CBZ W14, loc_710286D198
.text:000000710286D178 ADD X13, X11, #1
.text:000000710286D17C ADD X12, X12, #0x20 ; ' '
.text:000000710286D180 CMP W14, #0x12
.text:000000710286D184 B.NE loc_710286D15C
.text:000000710286D188 ADD W12, W9, W13
.text:000000710286D18C SUB W12, W12, #1
.text:000000710286D190 CMP W12, #0x5F ; '_'
.text:000000710286D194 B.HI loc_710286D1D8
.text:000000710286D198
.text:000000710286D198 loc_710286D198 ; CODE XREF: calc_attack_damage+2B4C↑j
.text:000000710286D198 ADD W11, W9, W11
.text:000000710286D19C ADD X11, X8, X11,LSL#5
.text:000000710286D1A0 LDR X11, [X11,#8]
.text:000000710286D1A4 CBZ X11, loc_710286D1D8
.text:000000710286D1A8 MOV W8, #0x12
.text:000000710286D1AC STRH W8, [X11,#8]
.text:000000710286D1B0 MOV W8, #4
.text:000000710286D1B4 STR W10, [X11,#0xC]
.text:000000710286D1B8 STRB W8, [X11,#0xA]
.text:000000710286D1BC STP XZR, XZR, [X11,#0x10]
.text:000000710286D1C0 LDR X8, [X27,#0x70]
.text:000000710286D1C4 STR X11, [X8,#0x98]
.text:000000710286D1C8 LDR X8, [SP,#0x7B0+var_768]
.text:000000710286D1CC LDR X27, [X8]
.text:000000710286D1D0 LDR X8, [X27,#0x30]
.text:000000710286D1D4 LDR W9, [X8,#0xC08]
.text:000000710286D1D8
.text:000000710286D1D8 loc_710286D1D8 ; CODE XREF: calc_attack_damage+2B40↑j
.text:000000710286D1D8 ; calc_attack_damage+2B6C↑j ...
.text:000000710286D1D8 LDRB W10, [X22,#0xA]
.text:000000710286D1DC MOV W12, #8
.text:000000710286D1E0 BFI X12, X9, #5, #0x20 ; ' '
.text:000000710286D1E4 MOV X13, XZR
.text:000000710286D1E8
.text:000000710286D1E8 loc_710286D1E8 ; CODE XREF: calc_attack_damage+2BE8↓j
.text:000000710286D1E8 MOV X11, X13
.text:000000710286D1EC ADD X13, X9, X13
.text:000000710286D1F0 CMP X13, #0x5F ; '_'
.text:000000710286D1F4 B.HI loc_710286D264
.text:000000710286D1F8 LDR X13, [X8,X12]
.text:000000710286D1FC LDRH W14, [X13,#8]
.text:000000710286D200 CBZ W14, loc_710286D224
.text:000000710286D204 ADD X13, X11, #1
.text:000000710286D208 ADD X12, X12, #0x20 ; ' '
.text:000000710286D20C CMP W14, #0x16
.text:000000710286D210 B.NE loc_710286D1E8
.text:000000710286D214 ADD W12, W9, W13
.text:000000710286D218 SUB W12, W12, #1
.text:000000710286D21C CMP W12, #0x5F ; '_'
.text:000000710286D220 B.HI loc_710286D264
.text:000000710286D224
.text:000000710286D224 loc_710286D224 ; CODE XREF: calc_attack_damage+2BD8↑j
.text:000000710286D224 ADD W11, W9, W11
.text:000000710286D228 ADD X11, X8, X11,LSL#5
.text:000000710286D22C LDR X11, [X11,#8]
.text:000000710286D230 CBZ X11, loc_710286D264
.text:000000710286D234 MOV W8, #0x16
.text:000000710286D238 STRH W8, [X11,#8]
.text:000000710286D23C MOV W8, #4
.text:000000710286D240 STR W10, [X11,#0xC]
.text:000000710286D244 STRB W8, [X11,#0xA]
.text:000000710286D248 STP XZR, XZR, [X11,#0x10]
.text:000000710286D24C LDR X8, [X27,#0x70]
.text:000000710286D250 STR X11, [X8,#0xB8]
.text:000000710286D254 LDR X8, [SP,#0x7B0+var_768]
.text:000000710286D258 LDR X27, [X8]
.text:000000710286D25C LDR X8, [X27,#0x30]
.text:000000710286D260 LDR W9, [X8,#0xC08]
.text:000000710286D264
.text:000000710286D264 loc_710286D264 ; CODE XREF: calc_attack_damage+2BCC↑j
.text:000000710286D264 ; calc_attack_damage+2BF8↑j ...
.text:000000710286D264 MOV W11, #8
.text:000000710286D268 BFI X11, X9, #5, #0x20 ; ' '
.text:000000710286D26C MOV X12, XZR
.text:000000710286D270
.text:000000710286D270 loc_710286D270 ; CODE XREF: calc_attack_damage+2C70↓j
.text:000000710286D270 MOV X10, X12
.text:000000710286D274 ADD X12, X9, X12
.text:000000710286D278 CMP X12, #0x5F ; '_'
.text:000000710286D27C B.HI loc_710286D2F0
.text:000000710286D280 LDR X12, [X8,X11]
.text:000000710286D284 LDRH W13, [X12,#8]
.text:000000710286D288 CBZ W13, loc_710286D2AC
.text:000000710286D28C ADD X12, X10, #1
.text:000000710286D290 ADD X11, X11, #0x20 ; ' '
.text:000000710286D294 CMP W13, #0x1B
.text:000000710286D298 B.NE loc_710286D270
.text:000000710286D29C ADD W11, W9, W12
.text:000000710286D2A0 SUB W11, W11, #1
.text:000000710286D2A4 CMP W11, #0x5F ; '_'
.text:000000710286D2A8 B.HI loc_710286D2F0
.text:000000710286D2AC
.text:000000710286D2AC loc_710286D2AC ; CODE XREF: calc_attack_damage+2C60↑j
.text:000000710286D2AC ADD W10, W9, W10
.text:000000710286D2B0 ADD X10, X8, X10,LSL#5
.text:000000710286D2B4 LDR X10, [X10,#8]
.text:000000710286D2B8 CBZ X10, loc_710286D2F0
.text:000000710286D2BC MOV W8, #0x1B
.text:000000710286D2C0 STRH W8, [X10,#8]
.text:000000710286D2C4 MOV W8, #4
.text:000000710286D2C8 STR W25, [X10,#0xC]
.text:000000710286D2CC STRB W8, [X10,#0xA]
.text:000000710286D2D0 STP XZR, XZR, [X10,#0x10]
.text:000000710286D2D4 LDR X20, [SP,#0x7B0+var_768]
.text:000000710286D2D8 LDR X8, [X27,#0x70]
.text:000000710286D2DC STR X10, [X8,#0xE0]
.text:000000710286D2E0 LDR X27, [X20]
.text:000000710286D2E4 LDR X8, [X27,#0x30]
.text:000000710286D2E8 LDR W9, [X8,#0xC08]
.text:000000710286D2EC B loc_710286D2F4
.text:000000710286D2F0 ; ---------------------------------------------------------------------------
.text:000000710286D2F0
.text:000000710286D2F0 loc_710286D2F0 ; CODE XREF: calc_attack_damage+2C54↑j
.text:000000710286D2F0 ; calc_attack_damage+2C80↑j ...
.text:000000710286D2F0 LDR X20, [SP,#0x7B0+var_768]
.text:000000710286D2F4
.text:000000710286D2F4 loc_710286D2F4 ; CODE XREF: calc_attack_damage+2CC4↑j
.text:000000710286D2F4 MOV W12, #8
.text:000000710286D2F8 BFI X12, X9, #5, #0x20 ; ' '
.text:000000710286D2FC MOV X13, XZR
.text:000000710286D300 AND W10, W28, #0xFFFF
.text:000000710286D304
.text:000000710286D304 loc_710286D304 ; CODE XREF: calc_attack_damage+2D04↓j
.text:000000710286D304 MOV X11, X13
.text:000000710286D308 ADD X13, X9, X13
.text:000000710286D30C CMP X13, #0x5F ; '_'
.text:000000710286D310 B.HI loc_710286D378
.text:000000710286D314 LDR X13, [X8,X12]
.text:000000710286D318 LDRH W14, [X13,#8]
.text:000000710286D31C CBZ W14, loc_710286D340
.text:000000710286D320 ADD X13, X11, #1
.text:000000710286D324 ADD X12, X12, #0x20 ; ' '
.text:000000710286D328 CMP W14, #0x37 ; '7'
.text:000000710286D32C B.NE loc_710286D304
.text:000000710286D330 ADD W12, W9, W13
.text:000000710286D334 SUB W12, W12, #1
.text:000000710286D338 CMP W12, #0x5F ; '_'
.text:000000710286D33C B.HI loc_710286D378
.text:000000710286D340
.text:000000710286D340 loc_710286D340 ; CODE XREF: calc_attack_damage+2CF4↑j
.text:000000710286D340 ADD W11, W9, W11
.text:000000710286D344 ADD X11, X8, X11,LSL#5
.text:000000710286D348 LDR X11, [X11,#8]
.text:000000710286D34C CBZ X11, loc_710286D378
.text:000000710286D350 MOV W8, #0x37 ; '7'
.text:000000710286D354 STRH W8, [X11,#8]
.text:000000710286D358 STR W10, [X11,#0xC]
.text:000000710286D35C STRB WZR, [X11,#0xA]
.text:000000710286D360 STP XZR, XZR, [X11,#0x10]
.text:000000710286D364 LDR X8, [X27,#0x70]
.text:000000710286D368 STR X11, [X8,#0x1C0]
.text:000000710286D36C LDR X27, [X20]
.text:000000710286D370 LDR X8, [X27,#0x30]
.text:000000710286D374 LDR W9, [X8,#0xC08]
.text:000000710286D378
.text:000000710286D378 loc_710286D378 ; CODE XREF: calc_attack_damage+2CE8↑j
.text:000000710286D378 ; calc_attack_damage+2D14↑j ...
.text:000000710286D378 ADD X10, X8, X9,LSL#5
.text:000000710286D37C ADD X11, X10, #8
.text:000000710286D380
.text:000000710286D380 loc_710286D380 ; CODE XREF: calc_attack_damage+2D7C↓j
.text:000000710286D380 CMP X9, #0x5F ; '_'
.text:000000710286D384 B.HI loc_710286D3F8
.text:000000710286D388 MOV X10, X9
.text:000000710286D38C LDR X9, [X11]
.text:000000710286D390 LDRH W12, [X9,#8]
.text:000000710286D394 CBZ W12, loc_710286D3B4
.text:000000710286D398 ADD X9, X10, #1
.text:000000710286D39C ADD X11, X11, #0x20 ; ' '
.text:000000710286D3A0 CMP W12, #0x38 ; '8'
.text:000000710286D3A4 B.NE loc_710286D380
.text:000000710286D3A8 SUB W9, W9, #1
.text:000000710286D3AC CMP W9, #0x5F ; '_'
.text:000000710286D3B0 B.HI loc_710286D3F8
.text:000000710286D3B4
.text:000000710286D3B4 loc_710286D3B4 ; CODE XREF: calc_attack_damage+2D6C↑j
.text:000000710286D3B4 AND X9, X10, #0xFFFFFFFF
.text:000000710286D3B8 ADD X8, X8, X9,LSL#5
.text:000000710286D3BC LDR X8, [X8,#8]
.text:000000710286D3C0 CBZ X8, loc_710286D3F8
.text:000000710286D3C4 MOV W9, #0x38 ; '8'
.text:000000710286D3C8 STRH W9, [X8,#8]
.text:000000710286D3CC MOV X9, #0x19A00001000
.text:000000710286D3D4 STUR X9, [X8,#0xC]
.text:000000710286D3D8 MOV W9, #0x20000
.text:000000710286D3DC STR W9, [X8,#0x14]
.text:000000710286D3E0 MOV W9, #3
.text:000000710286D3E4 STR XZR, [X8,#0x18]
.text:000000710286D3E8 STRB W9, [X8,#0xA]
.text:000000710286D3EC LDR X9, [X27,#0x70]
.text:000000710286D3F0 STR X8, [X9,#0x1C8]
.text:000000710286D3F4 LDR X27, [X20]
.text:000000710286D3F8
.text:000000710286D3F8 loc_710286D3F8 ; CODE XREF: calc_attack_damage+2D5C↑j
.text:000000710286D3F8 ; calc_attack_damage+2D88↑j ...
.text:000000710286D3F8 LDR W8, [X27,#0x78]
.text:000000710286D3FC ADD W8, W8, #1
.text:000000710286D400 LDR X9, [X27,#8]
.text:000000710286D404 STR W8, [X27,#0x78]
.text:000000710286D408 LDR X9, [X9,#0x88]
.text:000000710286D40C LDR X23, [X9,#0x14C8]
.text:000000710286D410 CBZ X23, loc_710286D454
.text:000000710286D414 MOV W24, #0x4D ; 'M'
.text:000000710286D418 B loc_710286D424
.text:000000710286D41C ; ---------------------------------------------------------------------------
.text:000000710286D41C
.text:000000710286D41C loc_710286D41C ; CODE XREF: calc_attack_damage+2E1C↓j
.text:000000710286D41C ; calc_attack_damage+2E24↓j
.text:000000710286D41C MOV X23, X0
.text:000000710286D420 CBZ X0, loc_710286D450
.text:000000710286D424
.text:000000710286D424 loc_710286D424 ; CODE XREF: calc_attack_damage+2DF0↑j
.text:000000710286D424 MOV X0, X27
.text:000000710286D428 MOV W1, W24
.text:000000710286D42C MOV W2, #8
.text:000000710286D430 MOV W3, #1
.text:000000710286D434 MOV X4, X23
.text:000000710286D438 BL sub_7102899E6C
.text:000000710286D43C CBZ X0, loc_710286D450
.text:000000710286D440 LDRB W8, [X0,#0x3F]
.text:000000710286D444 TBNZ W8, #5, loc_710286D41C
.text:000000710286D448 LDR X0, [X23,#0x18]
.text:000000710286D44C B loc_710286D41C
.text:000000710286D450 ; ---------------------------------------------------------------------------
.text:000000710286D450
.text:000000710286D450 loc_710286D450 ; CODE XREF: calc_attack_damage+2DF8↑j
.text:000000710286D450 ; calc_attack_damage+2E14↑j
.text:000000710286D450 LDR W8, [X27,#0x78]
.text:000000710286D454
.text:000000710286D454 loc_710286D454 ; CODE XREF: calc_attack_damage+2DE8↑j
.text:000000710286D454 SUBS W8, W8, #1
.text:000000710286D458 STR W8, [X27,#0x78]
.text:000000710286D45C B.NE loc_710286D484
.text:000000710286D460 LDR X8, [X27,#8]
.text:000000710286D464 LDR X8, [X8,#0x88]
.text:000000710286D468 LDR X8, [X8,#0x14C8]
.text:000000710286D46C CBZ X8, loc_710286D484
.text:000000710286D470
.text:000000710286D470 loc_710286D470 ; CODE XREF: calc_attack_damage+2E58↓j
.text:000000710286D470 LDRH W9, [X8,#0x3E]
.text:000000710286D474 LSL W9, W9, #0x10
.text:000000710286D478 STR W9, [X8,#0x3C]
.text:000000710286D47C LDR X8, [X8,#0x18]
.text:000000710286D480 CBNZ X8, loc_710286D470
.text:000000710286D484
.text:000000710286D484 loc_710286D484 ; CODE XREF: calc_attack_damage+2E34↑j
.text:000000710286D484 ; calc_attack_damage+2E44↑j
.text:000000710286D484 LDR X24, [X20]
.text:000000710286D488 LDR X8, [X24,#0x70]
.text:000000710286D48C LDR X9, [X8,#0x1C0]
.text:000000710286D490 CBZ X9, loc_710286D4A8
.text:000000710286D494 LDRH W20, [X9,#0xC]
.text:000000710286D498 LDR X8, [X8,#0x1C8]
.text:000000710286D49C CBZ X8, loc_710286D4B4
.text:000000710286D4A0
.text:000000710286D4A0 loc_710286D4A0 ; CODE XREF: calc_attack_damage+2E88↓j
.text:000000710286D4A0 LDR W23, [X8,#0xC]
.text:000000710286D4A4 B loc_710286D4B8
.text:000000710286D4A8 ; ---------------------------------------------------------------------------
.text:000000710286D4A8
.text:000000710286D4A8 loc_710286D4A8 ; CODE XREF: calc_attack_damage+2E68↑j
.text:000000710286D4A8 MOV W20, WZR
.text:000000710286D4AC LDR X8, [X8,#0x1C8]
.text:000000710286D4B0 CBNZ X8, loc_710286D4A0
.text:000000710286D4B4
.text:000000710286D4B4 loc_710286D4B4 ; CODE XREF: calc_attack_damage+2E74↑j
.text:000000710286D4B4 MOV W23, WZR
.text:000000710286D4B8
.text:000000710286D4B8 loc_710286D4B8 ; CODE XREF: calc_attack_damage+2E7C↑j
.text:000000710286D4B8 LDR X25, [X24,#0x50]
.text:000000710286D4BC LDR W8, [X25,#0x408]
.text:000000710286D4C0 CBZ W8, loc_710286D4F4
.text:000000710286D4C4 ADD X8, X25, X8,LSL#5
.text:000000710286D4C8 LDR X8, [X8,#8]
.text:000000710286D4CC ADD X0, X8, #8 ; s
.text:000000710286D4D0 MOV W2, #0x410 ; n
.text:000000710286D4D4 MOV W1, WZR ; c
.text:000000710286D4D8 BL memset_0
.text:000000710286D4DC LDR W8, [X25,#0x408]
.text:000000710286D4E0 SUB W8, W8, #1
.text:000000710286D4E4 STR W8, [X25,#0x408]
.text:000000710286D4E8 LDR X25, [X24,#0x50]
.text:000000710286D4EC LDR W8, [X25,#0x408]
.text:000000710286D4F0 B loc_710286D4F8
.text:000000710286D4F4 ; ---------------------------------------------------------------------------
.text:000000710286D4F4
.text:000000710286D4F4 loc_710286D4F4 ; CODE XREF: calc_attack_damage+2E98↑j
.text:000000710286D4F4 MOV X8, XZR
.text:000000710286D4F8
.text:000000710286D4F8 loc_710286D4F8 ; CODE XREF: calc_attack_damage+2EC8↑j
.text:000000710286D4F8 ADD X8, X25, X8,LSL#5
.text:000000710286D4FC LDR X25, [SP,#0x7B0+var_768]
.text:000000710286D500 LDR X8, [X8,#8]
.text:000000710286D504 STR X8, [X24,#0x70]
.text:000000710286D508 LDR X8, [X24,#0x30]
.text:000000710286D50C LDR W24, [SP,#0x7B0+var_784]
.text:000000710286D510 LDR W9, [X8,#0xC08]
.text:000000710286D514 CBZ W9, loc_710286D5A0
.text:000000710286D518 AND W10, W9, #0xFFFF
.text:000000710286D51C CMP W10, #0x5F ; '_'
.text:000000710286D520 B.HI loc_710286D55C
.text:000000710286D524 AND X10, X9, #0xFFFF
.text:000000710286D528 ADD X9, X10, #1
.text:000000710286D52C ADD X10, X8, X10,LSL#5
.text:000000710286D530 ADD X10, X10, #8
.text:000000710286D534
.text:000000710286D534 loc_710286D534 ; CODE XREF: calc_attack_damage+2F2C↓j
.text:000000710286D534 LDR X11, [X10]
.text:000000710286D538 LDRH W12, [X11,#8]
.text:000000710286D53C CBZ W12, loc_710286D558
.text:000000710286D540 STRH WZR, [X11,#8]
.text:000000710286D544 AND W11, W9, #0xFFFF
.text:000000710286D548 ADD X9, X9, #1
.text:000000710286D54C ADD X10, X10, #0x20 ; ' '
.text:000000710286D550 CMP W11, #0x60 ; '`'
.text:000000710286D554 B.NE loc_710286D534
.text:000000710286D558
.text:000000710286D558 loc_710286D558 ; CODE XREF: calc_attack_damage+2F14↑j
.text:000000710286D558 LDR W9, [X8,#0xC08]
.text:000000710286D55C
.text:000000710286D55C loc_710286D55C ; CODE XREF: calc_attack_damage+2EF8↑j
.text:000000710286D55C SUB W9, W9, #1
.text:000000710286D560 STR W9, [X8,#0xC08]
.text:000000710286D564 ADD X9, X8, X9,LSL#5
.text:000000710286D568 LDR X9, [X9,#8]
.text:000000710286D56C STRH WZR, [X9,#8]
.text:000000710286D570 LDR W9, [X8,#0xC08]
.text:000000710286D574
.text:000000710286D574 loc_710286D574 ; CODE XREF: calc_attack_damage+2F6C↓j
.text:000000710286D574 CBZ X9, loc_710286D5A0
.text:000000710286D578 SUB X9, X9, #1
.text:000000710286D57C AND X10, X9, #0xFFFFFFFF
.text:000000710286D580 ADD X10, X8, X10,LSL#5
.text:000000710286D584 STR W9, [X8,#0xC08]
.text:000000710286D588 LDR X10, [X10,#8]
.text:000000710286D58C LDRH W10, [X10,#8]
.text:000000710286D590 CMP W10, #1
.text:000000710286D594 B.NE loc_710286D574
.text:000000710286D598 ADD W9, W9, #1
.text:000000710286D59C STR W9, [X8,#0xC08]
.text:000000710286D5A0
.text:000000710286D5A0 loc_710286D5A0 ; CODE XREF: calc_attack_damage+2EEC↑j
.text:000000710286D5A0 ; calc_attack_damage:loc_710286D574↑j
.text:000000710286D5A0 MUL W8, W23, W20
.text:000000710286D5A4 LDR X23, [SP,#0x7B0+var_770]
.text:000000710286D5A8 AND W9, W8, #0xFFF
.text:000000710286D5AC LSR W8, W8, #0xC
.text:000000710286D5B0 CMP W9, #0x800
.text:000000710286D5B4 MOV X0, X23
.text:000000710286D5B8 MOV W1, #0xF
.text:000000710286D5BC CINC W20, W8, HI
.text:000000710286D5C0 BL sub_71028506A8
.text:000000710286D5C4 LDR X8, [SP,#0x7B0+var_7A8]
.text:000000710286D5C8 AND W8, W8, #0xFFFF
.text:000000710286D5CC AND W9, W0, #0xFF
.text:000000710286D5D0 MOV X0, X23
.text:000000710286D5D4 STP W8, W9, [SP,#0x7B0+var_760]
.text:000000710286D5D8 LDR W8, [SP,#0x7B0+var_7AC]
.text:000000710286D5DC AND W8, W8, #0xFFFF
.text:000000710286D5E0 AND W9, W20, #0xFFFF
.text:000000710286D5E4 MOV W1, #1
.text:000000710286D5E8 MOV X20, X23
.text:000000710286D5EC STP W8, W9, [SP,#0x7B0+var_758]
.text:000000710286D5F0 BL sub_71028506A8
.text:000000710286D5F4 STR W0, [SP,#0x7B0+var_750]
.text:000000710286D5F8 MOV X0, X21
.text:000000710286D5FC MOV W1, #2
.text:000000710286D600 BL sub_71028506A8
.text:000000710286D604 LDR X8, [SP,#56]
.text:000000710286D608 STR W0, [SP,#100]
.text:000000710286D60C ADD X1, SP, #80
.text:000000710286D610 LDR X0, [X8,#8]
.text:000000710286D614 BL calc_initial_damage
.text:000000710286D618 LDR W8, [SP,#40]
.text:000000710286D61C MOV W27, W0
.text:000000710286D620 CMP W8, #1,LSL#12
.text:000000710286D624 B.EQ loc_710286D63C
.text:000000710286D628 MUL W8, W27, W8
.text:000000710286D62C AND W9, W8, #0xFFF
.text:000000710286D630 LSR W8, W8, #0xC
.text:000000710286D634 CMP W9, #0x800
.text:000000710286D638 CINC W27, W8, HI
.text:000000710286D63C
.text:000000710286D63C loc_710286D63C ; CODE XREF: calc_attack_damage+2FFC↑j
.text:000000710286D63C LDR X8, [SP,#0x7B0+var_778]
.text:000000710286D640 LDR W9, [SP,#0x7B0+var_78C]
.text:000000710286D644 AND W9, W9, #0xFF
.text:000000710286D648 LDR X8, [X8,#8]
.text:000000710286D64C CMP W9, #5
.text:000000710286D650 B.EQ loc_710286D65C
.text:000000710286D654 CMP W9, #2
.text:000000710286D658 B.NE loc_710286D710
.text:000000710286D65C
.text:000000710286D65C loc_710286D65C ; CODE XREF: calc_attack_damage+3028↑j
.text:000000710286D65C LDRB W9, [X22,#0xA]
.text:000000710286D660 CMP W9, #9
.text:000000710286D664 B.NE loc_710286D710
.text:000000710286D668 LDR X26, [X8,#0x1E8]
.text:000000710286D66C CBZ X26, loc_710286D684
.text:000000710286D670 ADD X8, X26, #0x50 ; 'P'
.text:000000710286D674
.text:000000710286D674 loc_710286D674 ; CODE XREF: calc_attack_damage+3058↓j
.text:000000710286D674 LDAXR W9, [X8]
.text:000000710286D678 ADD W9, W9, #1
.text:000000710286D67C STLXR W10, W9, [X8]
.text:000000710286D680 CBNZ W10, loc_710286D674
.text:000000710286D684
.text:000000710286D684 loc_710286D684 ; CODE XREF: calc_attack_damage+3044↑j
.text:000000710286D684 ADD X1, X26, #0x60 ; '`'
.text:000000710286D688 ADD X0, SP, #0x7B0+var_760
.text:000000710286D68C BL sub_71008463F0
.text:000000710286D690 LDR W20, [SP,#0x7B0+var_98]
.text:000000710286D694 ADD X0, SP, #0x7B0+var_760
.text:000000710286D698 BL sub_7100845E04
.text:000000710286D69C CBZ X26, loc_710286D6B8
.text:000000710286D6A0 ADD X8, X26, #0x50 ; 'P'
.text:000000710286D6A4
.text:000000710286D6A4 loc_710286D6A4 ; CODE XREF: calc_attack_damage+3088↓j
.text:000000710286D6A4 LDAXR W9, [X8]
.text:000000710286D6A8 SUBS W9, W9, #1
.text:000000710286D6AC STLXR W10, W9, [X8]
.text:000000710286D6B0 CBNZ W10, loc_710286D6A4
.text:000000710286D6B4 B.EQ loc_710286E648
.text:000000710286D6B8
.text:000000710286D6B8 loc_710286D6B8 ; CODE XREF: calc_attack_damage+3074↑j
.text:000000710286D6B8 ; calc_attack_damage+4030↓j
.text:000000710286D6B8 SCVTF S0, W20
.text:000000710286D6BC MOV W8, #0x42C80000
.text:000000710286D6C0 FMOV S1, W8
.text:000000710286D6C4 MOV W8, #0x45800000
.text:000000710286D6C8 FDIV S0, S0, S1
.text:000000710286D6CC FMOV S1, W8
.text:000000710286D6D0 FMUL S1, S0, S1
.text:000000710286D6D4 FCMP S0, #0.0
.text:000000710286D6D8 FMOV S0, #-0.5
.text:000000710286D6DC FMOV S2, #0.5
.text:000000710286D6E0 FCSEL S0, S2, S0, GT
.text:000000710286D6E4 FADD S0, S1, S0
.text:000000710286D6E8 FCVTZS W8, S0
.text:000000710286D6EC CMP W8, #1,LSL#12
.text:000000710286D6F0 B.EQ loc_710286D708
.text:000000710286D6F4 MUL W8, W27, W8
.text:000000710286D6F8 AND W9, W8, #0xFFF
.text:000000710286D6FC LSR W8, W8, #0xC
.text:000000710286D700 CMP W9, #0x800
.text:000000710286D704 CINC W27, W8, HI
.text:000000710286D708
.text:000000710286D708 loc_710286D708 ; CODE XREF: calc_attack_damage+30C8↑j
.text:000000710286D708 LDR X26, [SP,#0x7B0+var_798]
.text:000000710286D70C LDR X20, [SP,#0x7B0+var_770]
.text:000000710286D710
.text:000000710286D710 loc_710286D710 ; CODE XREF: calc_attack_damage+3030↑j
.text:000000710286D710 ; calc_attack_damage+303C↑j
.text:000000710286D710 LDR W8, [SP,#0x7B0+var_77C]
.text:000000710286D714 TBZ W8, #0, loc_710286D730
.text:000000710286D718 LSL W8, W27, #4
.text:000000710286D71C SUB W8, W8, W27
.text:000000710286D720 MOV W9, #0xCCCCCCCD
.text:000000710286D728 UMULL X8, W8, W9
.text:000000710286D72C LSR X27, X8, #35
.text:000000710286D730
.text:000000710286D730 loc_710286D730 ; CODE XREF: calc_attack_damage+30EC↑j
.text:000000710286D730 TBZ W24, #0, loc_710286D73C
.text:000000710286D734 MOV W8, #0x55 ; 'U'
.text:000000710286D738 B loc_710286D76C
.text:000000710286D73C ; ---------------------------------------------------------------------------
.text:000000710286D73C
.text:000000710286D73C loc_710286D73C ; CODE XREF: calc_attack_damage:loc_710286D730↑j
.text:000000710286D73C ADRP X8, #qword_71042ECDE0@PAGE
.text:000000710286D740 LDR X8, [X8,#qword_71042ECDE0@PAGEOFF]
.text:000000710286D744 LDP X9, X10, [X8,#8]
.text:000000710286D748 ADD W11, W10, W9
.text:000000710286D74C EOR X10, X10, X9
.text:000000710286D750 EOR X9, X10, X9,ROR#40
.text:000000710286D754 EOR X9, X9, X10,LSL#16
.text:000000710286D758 EXTR X12, X10, X10, #0x1B
.text:000000710286D75C STP X9, X12, [X8,#8]
.text:000000710286D760 AND W8, W11, #0xF
.text:000000710286D764 MOV W9, #0x64 ; 'd'
.text:000000710286D768 SUB W8, W9, W8
.text:000000710286D76C
.text:000000710286D76C loc_710286D76C ; CODE XREF: calc_attack_damage+3110↑j
.text:000000710286D76C MUL W8, W8, W27
.text:000000710286D770 MOV W27, #0x51EB851F
.text:000000710286D778 LDRB W9, [X22,#0xA]
.text:000000710286D77C UMULL X8, W8, W27
.text:000000710286D780 CMP W9, #18
.text:000000710286D784 LSR X24, X8, #0x25 ; '%'
.text:000000710286D788 B.EQ loc_710286DD38
.text:000000710286D78C LDRB W8, [X20,#0x168]
.text:000000710286D790 TST W8, #7
.text:000000710286D794 LDRB W11, [X20,#0x2DC]
.text:000000710286D798 LDRB W10, [X20,#0x2DD]
.text:000000710286D79C CSET W8, NE
.text:000000710286D7A0 CMP W11, #0x12
.text:000000710286D7A4 CSET W12, EQ
.text:000000710286D7A8 CMP W11, #2
.text:000000710286D7AC CSET W13, EQ
.text:000000710286D7B0 CMP W10, #0x12
.text:000000710286D7B4 CSET W14, EQ
.text:000000710286D7B8 CMP W10, #2
.text:000000710286D7BC LDRSB W16, [X20,#0x389]
.text:000000710286D7C0 AND W13, W13, W8
.text:000000710286D7C4 CSET W15, EQ
.text:000000710286D7C8 AND W8, W8, W15
.text:000000710286D7CC ORR W12, W12, W13
.text:000000710286D7D0 ORR W8, W14, W8
.text:000000710286D7D4 TBNZ W16, #0x1F, loc_710286D7E8
.text:000000710286D7D8 CBZ W12, loc_710286D81C
.text:000000710286D7DC CMP W8, #0
.text:000000710286D7E0 CSEL W10, WZR, W10, NE
.text:000000710286D7E4 B loc_710286D7F8
.text:000000710286D7E8 ; ---------------------------------------------------------------------------
.text:000000710286D7E8
.text:000000710286D7E8 loc_710286D7E8 ; CODE XREF: calc_attack_damage+31AC↑j
.text:000000710286D7E8 TBZ W12, #0, loc_710286E180
.text:000000710286D7EC TBZ W8, #0, loc_710286D7F8
.text:000000710286D7F0 MOV W11, #0x12
.text:000000710286D7F4 B loc_710286D820
.text:000000710286D7F8 ; ---------------------------------------------------------------------------
.text:000000710286D7F8
.text:000000710286D7F8 loc_710286D7F8 ; CODE XREF: calc_attack_damage+31BC↑j
.text:000000710286D7F8 ; calc_attack_damage+31C4↑j
.text:000000710286D7F8 MOV W11, W10
.text:000000710286D7FC B loc_710286D824
.text:000000710286D800 ; ---------------------------------------------------------------------------
.text:000000710286D800
.text:000000710286D800 loc_710286D800 ; CODE XREF: calc_attack_damage+2928↑j
.text:000000710286D800 CBZ W10, loc_710286D808
.text:000000710286D804
.text:000000710286D804 loc_710286D804 ; CODE XREF: calc_attack_damage+2944↑j
.text:000000710286D804 ; calc_attack_damage:loc_710286E178↓j
.text:000000710286D804 MOV W8, W9
.text:000000710286D808
.text:000000710286D808 loc_710286D808 ; CODE XREF: calc_attack_damage:loc_710286D800↑j
.text:000000710286D808 ; calc_attack_damage+3B54↓j
.text:000000710286D808 CMP W9, #5
.text:000000710286D80C B.NE loc_710286CF7C
.text:000000710286D810
.text:000000710286D810 loc_710286D810 ; CODE XREF: calc_attack_damage+2950↑j
.text:000000710286D810 ; calc_attack_damage+2958↑j
.text:000000710286D810 CMP W27, #0xB
.text:000000710286D814 B.EQ loc_710286CF98
.text:000000710286D818 B loc_710286CFA4
.text:000000710286D81C ; ---------------------------------------------------------------------------
.text:000000710286D81C
.text:000000710286D81C loc_710286D81C ; CODE XREF: calc_attack_damage+31B0↑j
.text:000000710286D81C CBZ W8, loc_710286D824
.text:000000710286D820
.text:000000710286D820 loc_710286D820 ; CODE XREF: calc_attack_damage+31CC↑j
.text:000000710286D820 ; calc_attack_damage:loc_710286E180↓j
.text:000000710286D820 MOV W10, W11
.text:000000710286D824
.text:000000710286D824 loc_710286D824 ; CODE XREF: calc_attack_damage+31D4↑j
.text:000000710286D824 ; calc_attack_damage:loc_710286D81C↑j ...
.text:000000710286D824 MOV W8, #1
.text:000000710286D828 CMP W11, W9
.text:000000710286D82C B.EQ loc_710286D844
.text:000000710286D830 CMP W10, W9
.text:000000710286D834 B.EQ loc_710286D844
.text:000000710286D838 LDRB W8, [X20,#0x2DE]
.text:000000710286D83C CMP W8, W9
.text:000000710286D840 CSET W8, EQ
.text:000000710286D844
.text:000000710286D844 loc_710286D844 ; CODE XREF: calc_attack_damage+3204↑j
.text:000000710286D844 ; calc_attack_damage+320C↑j
.text:000000710286D844 LDR X9, [X25]
.text:000000710286D848 LDR X10, [X9,#0x30]
.text:000000710286D84C LDR W11, [X10,#0xC08]
.text:000000710286D850 CMP W11, #0x5F ; '_'
.text:000000710286D854 B.HI loc_710286D89C
.text:000000710286D858
.text:000000710286D858 loc_710286D858 ; CODE XREF: calc_attack_damage+3250↓j
.text:000000710286D858 MOV W12, W11
.text:000000710286D85C ADD X12, X10, X12,LSL#5
.text:000000710286D860 LDR X12, [X12,#8]
.text:000000710286D864 LDRH W13, [X12,#8]
.text:000000710286D868 CBZ W13, loc_710286D880
.text:000000710286D86C ADD W11, W11, #1
.text:000000710286D870 CMP W11, #0x60 ; '`'
.text:000000710286D874 STR W11, [X10,#0xC08]
.text:000000710286D878 B.NE loc_710286D858
.text:000000710286D87C B loc_710286D89C
.text:000000710286D880 ; ---------------------------------------------------------------------------
.text:000000710286D880
.text:000000710286D880 loc_710286D880 ; CODE XREF: calc_attack_damage+3240↑j
.text:000000710286D880 CMP W11, #0x5E ; '^'
.text:000000710286D884 B.HI loc_710286D89C
.text:000000710286D888 MOV W11, #1
.text:000000710286D88C STRH W11, [X12,#8]
.text:000000710286D890 LDR W11, [X10,#0xC08]
.text:000000710286D894 ADD W11, W11, #1
.text:000000710286D898 STR W11, [X10,#0xC08]
.text:000000710286D89C
.text:000000710286D89C loc_710286D89C ; CODE XREF: calc_attack_damage+322C↑j
.text:000000710286D89C ; calc_attack_damage+3254↑j ...
.text:000000710286D89C LDR X10, [X9,#0x50]
.text:000000710286D8A0 LDR W11, [X10,#0x408]
.text:000000710286D8A4 CMP W11, #0x1E
.text:000000710286D8A8 B.HI loc_710286D8BC
.text:000000710286D8AC ADD W11, W11, #1
.text:000000710286D8B0 STR W11, [X10,#0x408]
.text:000000710286D8B4 LDR X10, [X9,#0x50]
.text:000000710286D8B8 LDR W11, [X10,#0x408]
.text:000000710286D8BC
.text:000000710286D8BC loc_710286D8BC ; CODE XREF: calc_attack_damage+3280↑j
.text:000000710286D8BC MOV W11, W11
.text:000000710286D8C0 ADD X10, X10, X11,LSL#5
.text:000000710286D8C4 LDR X10, [X10,#8]
.text:000000710286D8C8 STR X10, [X9,#0x70]
.text:000000710286D8CC LDR X25, [X25]
.text:000000710286D8D0 LDR X9, [X25,#0x30]
.text:000000710286D8D4 LDR W10, [X9,#0xC08]
.text:000000710286D8D8 LDRB W11, [X20,#0x7D]
.text:000000710286D8DC MOV W12, #8
.text:000000710286D8E0 BFI X12, X10, #5, #0x20 ; ' '
.text:000000710286D8E4 MOV X14, X10
.text:000000710286D8E8
.text:000000710286D8E8 loc_710286D8E8 ; CODE XREF: calc_attack_damage+32E4↓j
.text:000000710286D8E8 CMP X14, #0x5F ; '_'
.text:000000710286D8EC B.HI loc_710286D95C
.text:000000710286D8F0 MOV X13, X14
.text:000000710286D8F4 LDR X14, [X9,X12]
.text:000000710286D8F8 LDRH W15, [X14,#8]
.text:000000710286D8FC CBZ W15, loc_710286D91C
.text:000000710286D900 ADD X14, X13, #1
.text:000000710286D904 ADD X12, X12, #0x20 ; ' '
.text:000000710286D908 CMP W15, #2
.text:000000710286D90C B.NE loc_710286D8E8
.text:000000710286D910 SUB W12, W14, #1
.text:000000710286D914 CMP W12, #0x5F ; '_'
.text:000000710286D918 B.HI loc_710286D95C
.text:000000710286D91C
.text:000000710286D91C loc_710286D91C ; CODE XREF: calc_attack_damage+32D4↑j
.text:000000710286D91C AND X12, X13, #0xFFFFFFFF
.text:000000710286D920 ADD X12, X9, X12,LSL#5
.text:000000710286D924 LDR X12, [X12,#8]
.text:000000710286D928 CBZ X12, loc_710286D95C
.text:000000710286D92C MOV W9, #2
.text:000000710286D930 STRH W9, [X12,#8]
.text:000000710286D934 MOV W9, #4
.text:000000710286D938 STR W11, [X12,#0xC]
.text:000000710286D93C STRB W9, [X12,#0xA]
.text:000000710286D940 STP XZR, XZR, [X12,#0x10]
.text:000000710286D944 LDR X9, [X25,#0x70]
.text:000000710286D948 STR X12, [X9,#0x18]
.text:000000710286D94C LDR X9, [SP,#0x7B0+var_768]
.text:000000710286D950 LDR X25, [X9]
.text:000000710286D954 LDR X9, [X25,#0x30]
.text:000000710286D958 LDR W10, [X9,#0xC08]
.text:000000710286D95C
.text:000000710286D95C loc_710286D95C ; CODE XREF: calc_attack_damage+32C4↑j
.text:000000710286D95C ; calc_attack_damage+32F0↑j ...
.text:000000710286D95C ADD X11, X9, X10,LSL#5
.text:000000710286D960 ADD X12, X11, #8
.text:000000710286D964
.text:000000710286D964 loc_710286D964 ; CODE XREF: calc_attack_damage+3360↓j
.text:000000710286D964 CMP X10, #0x5F ; '_'
.text:000000710286D968 B.HI loc_710286D9D0
.text:000000710286D96C MOV X11, X10
.text:000000710286D970 LDR X10, [X12]
.text:000000710286D974 LDRH W13, [X10,#8]
.text:000000710286D978 CBZ W13, loc_710286D998
.text:000000710286D97C ADD X10, X11, #1
.text:000000710286D980 ADD X12, X12, #0x20 ; ' '
.text:000000710286D984 CMP W13, #0x59 ; 'Y'
.text:000000710286D988 B.NE loc_710286D964
.text:000000710286D98C SUB W10, W10, #1
.text:000000710286D990 CMP W10, #0x5F ; '_'
.text:000000710286D994 B.HI loc_710286D9D0
.text:000000710286D998
.text:000000710286D998 loc_710286D998 ; CODE XREF: calc_attack_damage+3350↑j
.text:000000710286D998 AND X10, X11, #0xFFFFFFFF
.text:000000710286D99C ADD X9, X9, X10,LSL#5
.text:000000710286D9A0 LDR X9, [X9,#8]
.text:000000710286D9A4 CBZ X9, loc_710286D9D0
.text:000000710286D9A8 MOV W10, #0x59 ; 'Y'
.text:000000710286D9AC STR W8, [X9,#0xC]
.text:000000710286D9B0 MOV W8, #1
.text:000000710286D9B4 STRH W10, [X9,#8]
.text:000000710286D9B8 STRB W8, [X9,#0xA]
.text:000000710286D9BC STP XZR, XZR, [X9,#0x10]
.text:000000710286D9C0 LDR X8, [X25,#0x70]
.text:000000710286D9C4 STR X9, [X8,#0x2D0]
.text:000000710286D9C8 LDR X8, [SP,#0x7B0+var_768]
.text:000000710286D9CC LDR X25, [X8]
.text:000000710286D9D0
.text:000000710286D9D0 loc_710286D9D0 ; CODE XREF: calc_attack_damage+3340↑j
.text:000000710286D9D0 ; calc_attack_damage+336C↑j ...
.text:000000710286D9D0 LDR W8, [X25,#0x78]
.text:000000710286D9D4 ADD W8, W8, #1
.text:000000710286D9D8 LDR X9, [X25,#8]
.text:000000710286D9DC STR W8, [X25,#0x78]
.text:000000710286D9E0 LDR X9, [X9,#0x88]
.text:000000710286D9E4 LDR X23, [X9,#0x14C8]
.text:000000710286D9E8 CBZ X23, loc_710286DA30
.text:000000710286D9EC MOV W26, #0x55 ; 'U'
.text:000000710286D9F0 B loc_710286D9FC
.text:000000710286D9F4 ; ---------------------------------------------------------------------------
.text:000000710286D9F4
.text:000000710286D9F4 loc_710286D9F4 ; CODE XREF: calc_attack_damage+33F4↓j
.text:000000710286D9F4 ; calc_attack_damage+33FC↓j
.text:000000710286D9F4 MOV X23, X0
.text:000000710286D9F8 CBZ X0, loc_710286DA28
.text:000000710286D9FC
.text:000000710286D9FC loc_710286D9FC ; CODE XREF: calc_attack_damage+33C8↑j
.text:000000710286D9FC MOV X0, X25
.text:000000710286DA00 MOV W1, W26
.text:000000710286DA04 MOV W2, #8
.text:000000710286DA08 MOV W3, #1
.text:000000710286DA0C MOV X4, X23
.text:000000710286DA10 BL sub_7102899E6C
.text:000000710286DA14 CBZ X0, loc_710286DA28
.text:000000710286DA18 LDRB W8, [X0,#0x3F]
.text:000000710286DA1C TBNZ W8, #5, loc_710286D9F4
.text:000000710286DA20 LDR X0, [X23,#0x18]
.text:000000710286DA24 B loc_710286D9F4
.text:000000710286DA28 ; ---------------------------------------------------------------------------
.text:000000710286DA28
.text:000000710286DA28 loc_710286DA28 ; CODE XREF: calc_attack_damage+33D0↑j
.text:000000710286DA28 ; calc_attack_damage+33EC↑j
.text:000000710286DA28 LDR W8, [X25,#0x78]
.text:000000710286DA2C LDR X26, [SP,#0x7B0+var_798]
.text:000000710286DA30
.text:000000710286DA30 loc_710286DA30 ; CODE XREF: calc_attack_damage+33C0↑j
.text:000000710286DA30 SUBS W8, W8, #1
.text:000000710286DA34 STR W8, [X25,#0x78]
.text:000000710286DA38 B.NE loc_710286DA60
.text:000000710286DA3C LDR X8, [X25,#8]
.text:000000710286DA40 LDR X8, [X8,#0x88]
.text:000000710286DA44 LDR X8, [X8,#0x14C8]
.text:000000710286DA48 CBZ X8, loc_710286DA60
.text:000000710286DA4C
.text:000000710286DA4C loc_710286DA4C ; CODE XREF: calc_attack_damage+3434↓j
.text:000000710286DA4C LDRH W9, [X8,#0x3E]
.text:000000710286DA50 LSL W9, W9, #0x10
.text:000000710286DA54 STR W9, [X8,#0x3C]
.text:000000710286DA58 LDR X8, [X8,#0x18]
.text:000000710286DA5C CBNZ X8, loc_710286DA4C
.text:000000710286DA60
.text:000000710286DA60 loc_710286DA60 ; CODE XREF: calc_attack_damage+3410↑j
.text:000000710286DA60 ; calc_attack_damage+3420↑j
.text:000000710286DA60 LDR X8, [SP,#0x7B0+var_768]
.text:000000710286DA64 LDR X25, [X8]
.text:000000710286DA68 LDR X8, [X25,#0x70]
.text:000000710286DA6C LDR X9, [X8,#0x2D0]
.text:000000710286DA70 MOV W8, #0x1000
.text:000000710286DA74 CBZ X9, loc_710286DA90
.text:000000710286DA78 LDR W9, [X9,#0xC]
.text:000000710286DA7C CMP W9, #0
.text:000000710286DA80 MOV W9, #0x1400
.text:000000710286DA84 CSET W11, NE
.text:000000710286DA88 CSEL W8, W9, W8, NE
.text:000000710286DA8C B loc_710286DA94
.text:000000710286DA90 ; ---------------------------------------------------------------------------
.text:000000710286DA90
.text:000000710286DA90 loc_710286DA90 ; CODE XREF: calc_attack_damage+344C↑j
.text:000000710286DA90 MOV W11, WZR
.text:000000710286DA94
.text:000000710286DA94 loc_710286DA94 ; CODE XREF: calc_attack_damage+3464↑j
.text:000000710286DA94 LDR X9, [X25,#0x30]
.text:000000710286DA98 MOV W12, #8
.text:000000710286DA9C LDR W10, [X9,#0xC08]
.text:000000710286DAA0 BFI X12, X10, #5, #0x20 ; ' '
.text:000000710286DAA4 MOV X14, X10
.text:000000710286DAA8
.text:000000710286DAA8 loc_710286DAA8 ; CODE XREF: calc_attack_damage+34A4↓j
.text:000000710286DAA8 CMP X14, #0x5F ; '_'
.text:000000710286DAAC B.HI loc_710286DB1C
.text:000000710286DAB0 MOV X13, X14
.text:000000710286DAB4 LDR X14, [X9,X12]
.text:000000710286DAB8 LDRH W15, [X14,#8]
.text:000000710286DABC CBZ W15, loc_710286DADC
.text:000000710286DAC0 ADD X14, X13, #1
.text:000000710286DAC4 ADD X12, X12, #0x20 ; ' '
.text:000000710286DAC8 CMP W15, #0x4B ; 'K'
.text:000000710286DACC B.NE loc_710286DAA8
.text:000000710286DAD0 SUB W12, W14, #1
.text:000000710286DAD4 CMP W12, #0x5F ; '_'
.text:000000710286DAD8 B.HI loc_710286DB1C
.text:000000710286DADC
.text:000000710286DADC loc_710286DADC ; CODE XREF: calc_attack_damage+3494↑j
.text:000000710286DADC AND X12, X13, #0xFFFFFFFF
.text:000000710286DAE0 ADD X12, X9, X12,LSL#5
.text:000000710286DAE4 LDR X12, [X12,#8]
.text:000000710286DAE8 CBZ X12, loc_710286DB1C
.text:000000710286DAEC MOV W9, #0x4B ; 'K'
.text:000000710286DAF0 STRH W9, [X12,#8]
.text:000000710286DAF4 MOV W9, #4
.text:000000710286DAF8 STR W11, [X12,#0xC]
.text:000000710286DAFC STRB W9, [X12,#0xA]
.text:000000710286DB00 STP XZR, XZR, [X12,#0x10]
.text:000000710286DB04 LDR X9, [X25,#0x70]
.text:000000710286DB08 STR X12, [X9,#0x260]
.text:000000710286DB0C LDR X9, [SP,#0x7B0+var_768]
.text:000000710286DB10 LDR X25, [X9]
.text:000000710286DB14 LDR X9, [X25,#0x30]
.text:000000710286DB18 LDR W10, [X9,#0xC08]
.text:000000710286DB1C
.text:000000710286DB1C loc_710286DB1C ; CODE XREF: calc_attack_damage+3484↑j
.text:000000710286DB1C ; calc_attack_damage+34B0↑j ...
.text:000000710286DB1C ADD X11, X9, X10,LSL#5
.text:000000710286DB20 ADD X12, X11, #8
.text:000000710286DB24
.text:000000710286DB24 loc_710286DB24 ; CODE XREF: calc_attack_damage+3520↓j
.text:000000710286DB24 CMP X10, #0x5F ; '_'
.text:000000710286DB28 B.HI loc_710286DB8C
.text:000000710286DB2C MOV X11, X10
.text:000000710286DB30 LDR X10, [X12]
.text:000000710286DB34 LDRH W13, [X10,#8]
.text:000000710286DB38 CBZ W13, loc_710286DB58
.text:000000710286DB3C ADD X10, X11, #1
.text:000000710286DB40 ADD X12, X12, #0x20 ; ' '
.text:000000710286DB44 CMP W13, #0x38 ; '8'
.text:000000710286DB48 B.NE loc_710286DB24
.text:000000710286DB4C SUB W10, W10, #1
.text:000000710286DB50 CMP W10, #0x5F ; '_'
.text:000000710286DB54 B.HI loc_710286DB8C
.text:000000710286DB58
.text:000000710286DB58 loc_710286DB58 ; CODE XREF: calc_attack_damage+3510↑j
.text:000000710286DB58 AND X10, X11, #0xFFFFFFFF
.text:000000710286DB5C ADD X9, X9, X10,LSL#5
.text:000000710286DB60 LDR X9, [X9,#8]
.text:000000710286DB64 CBZ X9, loc_710286DB8C
.text:000000710286DB68 MOV W10, #0x38 ; '8'
.text:000000710286DB6C STRH W10, [X9,#8]
.text:000000710286DB70 STR W8, [X9,#0xC]
.text:000000710286DB74 STRB WZR, [X9,#0xA]
.text:000000710286DB78 STP XZR, XZR, [X9,#0x10]
.text:000000710286DB7C LDR X8, [X25,#0x70]
.text:000000710286DB80 STR X9, [X8,#0x1C8]
.text:000000710286DB84 LDR X8, [SP,#0x7B0+var_768]
.text:000000710286DB88 LDR X25, [X8]
.text:000000710286DB8C
.text:000000710286DB8C loc_710286DB8C ; CODE XREF: calc_attack_damage+3500↑j
.text:000000710286DB8C ; calc_attack_damage+352C↑j ...
.text:000000710286DB8C LDR W8, [X25,#0x78]
.text:000000710286DB90 ADD W8, W8, #1
.text:000000710286DB94 LDR X9, [X25,#8]
.text:000000710286DB98 STR W8, [X25,#0x78]
.text:000000710286DB9C LDR X9, [X9,#0x88]
.text:000000710286DBA0 LDR X23, [X9,#0x14C8]
.text:000000710286DBA4 CBZ X23, loc_710286DBEC
.text:000000710286DBA8 MOV W26, #0x56 ; 'V'
.text:000000710286DBAC B loc_710286DBB8
.text:000000710286DBB0 ; ---------------------------------------------------------------------------
.text:000000710286DBB0
.text:000000710286DBB0 loc_710286DBB0 ; CODE XREF: calc_attack_damage+35B0↓j
.text:000000710286DBB0 ; calc_attack_damage+35B8↓j
.text:000000710286DBB0 MOV X23, X0
.text:000000710286DBB4 CBZ X0, loc_710286DBE4
.text:000000710286DBB8
.text:000000710286DBB8 loc_710286DBB8 ; CODE XREF: calc_attack_damage+3584↑j
.text:000000710286DBB8 MOV X0, X25
.text:000000710286DBBC MOV W1, W26
.text:000000710286DBC0 MOV W2, #8
.text:000000710286DBC4 MOV W3, #1
.text:000000710286DBC8 MOV X4, X23
.text:000000710286DBCC BL sub_7102899E6C
.text:000000710286DBD0 CBZ X0, loc_710286DBE4
.text:000000710286DBD4 LDRB W8, [X0,#0x3F]
.text:000000710286DBD8 TBNZ W8, #5, loc_710286DBB0
.text:000000710286DBDC LDR X0, [X23,#0x18]
.text:000000710286DBE0 B loc_710286DBB0
.text:000000710286DBE4 ; ---------------------------------------------------------------------------
.text:000000710286DBE4
.text:000000710286DBE4 loc_710286DBE4 ; CODE XREF: calc_attack_damage+358C↑j
.text:000000710286DBE4 ; calc_attack_damage+35A8↑j
.text:000000710286DBE4 LDR W8, [X25,#0x78]
.text:000000710286DBE8 LDR X26, [SP,#0x7B0+var_798]
.text:000000710286DBEC
.text:000000710286DBEC loc_710286DBEC ; CODE XREF: calc_attack_damage+357C↑j
.text:000000710286DBEC SUBS W8, W8, #1
.text:000000710286DBF0 STR W8, [X25,#0x78]
.text:000000710286DBF4 B.NE loc_710286DC1C
.text:000000710286DBF8 LDR X8, [X25,#8]
.text:000000710286DBFC LDR X8, [X8,#0x88]
.text:000000710286DC00 LDR X8, [X8,#0x14C8]
.text:000000710286DC04 CBZ X8, loc_710286DC1C
.text:000000710286DC08
.text:000000710286DC08 loc_710286DC08 ; CODE XREF: calc_attack_damage+35F0↓j
.text:000000710286DC08 LDRH W9, [X8,#0x3E]
.text:000000710286DC0C LSL W9, W9, #0x10
.text:000000710286DC10 STR W9, [X8,#0x3C]
.text:000000710286DC14 LDR X8, [X8,#0x18]
.text:000000710286DC18 CBNZ X8, loc_710286DC08
.text:000000710286DC1C
.text:000000710286DC1C loc_710286DC1C ; CODE XREF: calc_attack_damage+35CC↑j
.text:000000710286DC1C ; calc_attack_damage+35DC↑j
.text:000000710286DC1C LDR X8, [SP,#0x7B0+var_768]
.text:000000710286DC20 LDR X23, [X8]
.text:000000710286DC24 LDR X8, [X23,#0x70]
.text:000000710286DC28 LDR X8, [X8,#0x1C8]
.text:000000710286DC2C CBZ X8, loc_710286DC38
.text:000000710286DC30 LDR W20, [X8,#0xC]
.text:000000710286DC34 B loc_710286DC3C
.text:000000710286DC38 ; ---------------------------------------------------------------------------
.text:000000710286DC38
.text:000000710286DC38 loc_710286DC38 ; CODE XREF: calc_attack_damage+3604↑j
.text:000000710286DC38 MOV W20, WZR
.text:000000710286DC3C
.text:000000710286DC3C loc_710286DC3C ; CODE XREF: calc_attack_damage+360C↑j
.text:000000710286DC3C LDR X25, [X23,#0x50]
.text:000000710286DC40 LDR W8, [X25,#0x408]
.text:000000710286DC44 CBZ W8, loc_710286DC78
.text:000000710286DC48 ADD X8, X25, X8,LSL#5
.text:000000710286DC4C LDR X8, [X8,#8]
.text:000000710286DC50 ADD X0, X8, #8 ; s
.text:000000710286DC54 MOV W2, #0x410 ; n
.text:000000710286DC58 MOV W1, WZR ; c
.text:000000710286DC5C BL memset_0
.text:000000710286DC60 LDR W8, [X25,#0x408]
.text:000000710286DC64 SUB W8, W8, #1
.text:000000710286DC68 STR W8, [X25,#0x408]
.text:000000710286DC6C LDR X25, [X23,#0x50]
.text:000000710286DC70 LDR W8, [X25,#0x408]
.text:000000710286DC74 B loc_710286DC7C
.text:000000710286DC78 ; ---------------------------------------------------------------------------
.text:000000710286DC78
.text:000000710286DC78 loc_710286DC78 ; CODE XREF: calc_attack_damage+361C↑j
.text:000000710286DC78 MOV X8, XZR
.text:000000710286DC7C
.text:000000710286DC7C loc_710286DC7C ; CODE XREF: calc_attack_damage+364C↑j
.text:000000710286DC7C ADD X8, X25, X8,LSL#5
.text:000000710286DC80 LDR X25, [SP,#0x7B0+var_768]
.text:000000710286DC84 LDR X8, [X8,#8]
.text:000000710286DC88 STR X8, [X23,#0x70]
.text:000000710286DC8C LDR X8, [X23,#0x30]
.text:000000710286DC90 LDR W9, [X8,#0xC08]
.text:000000710286DC94 CBZ W9, loc_710286DD20
.text:000000710286DC98 AND W10, W9, #0xFFFF
.text:000000710286DC9C CMP W10, #0x5F ; '_'
.text:000000710286DCA0 B.HI loc_710286DCDC
.text:000000710286DCA4 AND X10, X9, #0xFFFF
.text:000000710286DCA8 ADD X9, X10, #1
.text:000000710286DCAC ADD X10, X8, X10,LSL#5
.text:000000710286DCB0 ADD X10, X10, #8
.text:000000710286DCB4
.text:000000710286DCB4 loc_710286DCB4 ; CODE XREF: calc_attack_damage+36AC↓j
.text:000000710286DCB4 LDR X11, [X10]
.text:000000710286DCB8 LDRH W12, [X11,#8]
.text:000000710286DCBC CBZ W12, loc_710286DCD8
.text:000000710286DCC0 STRH WZR, [X11,#8]
.text:000000710286DCC4 AND W11, W9, #0xFFFF
.text:000000710286DCC8 ADD X9, X9, #1
.text:000000710286DCCC ADD X10, X10, #0x20 ; ' '
.text:000000710286DCD0 CMP W11, #0x60 ; '`'
.text:000000710286DCD4 B.NE loc_710286DCB4
.text:000000710286DCD8
.text:000000710286DCD8 loc_710286DCD8 ; CODE XREF: calc_attack_damage+3694↑j
.text:000000710286DCD8 LDR W9, [X8,#0xC08]
.text:000000710286DCDC
.text:000000710286DCDC loc_710286DCDC ; CODE XREF: calc_attack_damage+3678↑j
.text:000000710286DCDC SUB W9, W9, #1
.text:000000710286DCE0 STR W9, [X8,#0xC08]
.text:000000710286DCE4 ADD X9, X8, X9,LSL#5
.text:000000710286DCE8 LDR X9, [X9,#8]
.text:000000710286DCEC STRH WZR, [X9,#8]
.text:000000710286DCF0 LDR W9, [X8,#0xC08]
.text:000000710286DCF4
.text:000000710286DCF4 loc_710286DCF4 ; CODE XREF: calc_attack_damage+36EC↓j
.text:000000710286DCF4 CBZ X9, loc_710286DD20
.text:000000710286DCF8 SUB X9, X9, #1
.text:000000710286DCFC AND X10, X9, #0xFFFFFFFF
.text:000000710286DD00 ADD X10, X8, X10,LSL#5
.text:000000710286DD04 STR W9, [X8,#0xC08]
.text:000000710286DD08 LDR X10, [X10,#8]
.text:000000710286DD0C LDRH W10, [X10,#8]
.text:000000710286DD10 CMP W10, #1
.text:000000710286DD14 B.NE loc_710286DCF4
.text:000000710286DD18 ADD W9, W9, #1
.text:000000710286DD1C STR W9, [X8,#0xC08]
.text:000000710286DD20
.text:000000710286DD20 loc_710286DD20 ; CODE XREF: calc_attack_damage+366C↑j
.text:000000710286DD20 ; calc_attack_damage:loc_710286DCF4↑j
.text:000000710286DD20 MUL W8, W20, W24
.text:000000710286DD24 LDR X20, [SP,#0x7B0+var_770]
.text:000000710286DD28 AND W9, W8, #0xFFF
.text:000000710286DD2C LSR W8, W8, #0xC
.text:000000710286DD30 CMP W9, #0x800
.text:000000710286DD34 CINC W24, W8, HI
.text:000000710286DD38
.text:000000710286DD38 loc_710286DD38 ; CODE XREF: calc_attack_damage+3160↑j
.text:000000710286DD38 LDR W1, [SP,#0x7B0+var_780]
.text:000000710286DD3C MOV W0, W24
.text:000000710286DD40 BL apply_damage_effectiveness_modifier
.text:000000710286DD44 LDR W8, [X22,#0xC]
.text:000000710286DD48 MOV W23, W0
.text:000000710286DD4C CMP W8, #1
.text:000000710286DD50 B.NE loc_710286DDFC
.text:000000710286DD54 LDRB W8, [X20,#0x98]
.text:000000710286DD58 TST W8, #7
.text:000000710286DD5C LDR W24, [SP,#0x7B0+var_79C]
.text:000000710286DD60 B.NE loc_710286DED0
.text:000000710286DD64 LDRB W8, [X20,#0xA0]
.text:000000710286DD68 TST W8, #7
.text:000000710286DD6C B.NE loc_710286DED0
.text:000000710286DD70 LDRB W8, [X20,#0xA8]
.text:000000710286DD74 TST W8, #7
.text:000000710286DD78 B.NE loc_710286DED0
.text:000000710286DD7C LDR W8, [SP,#0x7B0+var_7B0]
.text:000000710286DD80 CBNZ W8, loc_710286DED0
.text:000000710286DD84 LDR X8, [X20,#0xB0]
.text:000000710286DD88 AND X8, X8, #7
.text:000000710286DD8C CBZ X8, loc_710286DED0
.text:000000710286DD90 LDR X8, [SP,#0x7B0+var_778]
.text:000000710286DD94 LDR X8, [X8,#8]
.text:000000710286DD98 LDR X24, [X8,#0x1E8]
.text:000000710286DD9C CBZ X24, loc_710286DDB4
.text:000000710286DDA0 ADD X8, X24, #0x50 ; 'P'
.text:000000710286DDA4
.text:000000710286DDA4 loc_710286DDA4 ; CODE XREF: calc_attack_damage+3788↓j
.text:000000710286DDA4 LDAXR W9, [X8]
.text:000000710286DDA8 ADD W9, W9, #1
.text:000000710286DDAC STLXR W10, W9, [X8]
.text:000000710286DDB0 CBNZ W10, loc_710286DDA4
.text:000000710286DDB4
.text:000000710286DDB4 loc_710286DDB4 ; CODE XREF: calc_attack_damage+3774↑j
.text:000000710286DDB4 ADD X1, X24, #0x60 ; '`'
.text:000000710286DDB8 ADD X0, SP, #0x7B0+var_760
.text:000000710286DDBC BL sub_71008463F0
.text:000000710286DDC0 LDR W20, [SP,#0x7B0+var_8C]
.text:000000710286DDC4 ADD X0, SP, #0x7B0+var_760
.text:000000710286DDC8 BL sub_7100845E04
.text:000000710286DDCC CBZ X24, loc_710286DDE8
.text:000000710286DDD0 ADD X8, X24, #0x50 ; 'P'
.text:000000710286DDD4
.text:000000710286DDD4 loc_710286DDD4 ; CODE XREF: calc_attack_damage+37B8↓j
.text:000000710286DDD4 LDAXR W9, [X8]
.text:000000710286DDD8 SUBS W9, W9, #1
.text:000000710286DDDC STLXR W10, W9, [X8]
.text:000000710286DDE0 CBNZ W10, loc_710286DDD4
.text:000000710286DDE4 B.EQ loc_710286E664
.text:000000710286DDE8
.text:000000710286DDE8 loc_710286DDE8 ; CODE XREF: calc_attack_damage+37A4↑j
.text:000000710286DDE8 ; calc_attack_damage+404C↓j
.text:000000710286DDE8 MUL W8, W20, W23
.text:000000710286DDEC LDR X20, [SP,#0x7B0+var_770]
.text:000000710286DDF0 UMULL X8, W8, W27
.text:000000710286DDF4 LSR X23, X8, #0x25 ; '%'
.text:000000710286DDF8 LDR W8, [X22,#0xC]
.text:000000710286DDFC
.text:000000710286DDFC loc_710286DDFC ; CODE XREF: calc_attack_damage+3728↑j
.text:000000710286DDFC LDR W24, [SP,#0x7B0+var_79C]
.text:000000710286DE00 CMP W8, #2
.text:000000710286DE04 B.NE loc_710286DED0
.text:000000710286DE08 LDRB W8, [X20,#0x98]
.text:000000710286DE0C TST W8, #7
.text:000000710286DE10 B.NE loc_710286DED0
.text:000000710286DE14 LDRB W8, [X20,#0xA0]
.text:000000710286DE18 TST W8, #7
.text:000000710286DE1C B.NE loc_710286DED0
.text:000000710286DE20 LDRB W8, [X20,#0xA8]
.text:000000710286DE24 TST W8, #7
.text:000000710286DE28 B.NE loc_710286DED0
.text:000000710286DE2C LDRB W8, [X20,#0xB0]
.text:000000710286DE30 TST W8, #7
.text:000000710286DE34 B.NE loc_710286DED0
.text:000000710286DE38 LDRB W8, [X20,#0xB8]
.text:000000710286DE3C TST W8, #7
.text:000000710286DE40 B.NE loc_710286DED0
.text:000000710286DE44 LDRB W8, [X20,#0xC0]
.text:000000710286DE48 TST W8, #7
.text:000000710286DE4C B.NE loc_710286DED0
.text:000000710286DE50 LDR W8, [SP,#0x7B0+var_7B0]
.text:000000710286DE54 CBNZ W8, loc_710286DED0
.text:000000710286DE58 LDR X8, [X20,#0xC8]
.text:000000710286DE5C AND X8, X8, #7
.text:000000710286DE60 CBZ X8, loc_710286DED0
.text:000000710286DE64 LDR X8, [SP,#0x7B0+var_778]
.text:000000710286DE68 LDR X8, [X8,#8]
.text:000000710286DE6C LDR X24, [X8,#0x1E8]
.text:000000710286DE70 CBZ X24, loc_710286DE88
.text:000000710286DE74 ADD X8, X24, #0x50 ; 'P'
.text:000000710286DE78
.text:000000710286DE78 loc_710286DE78 ; CODE XREF: calc_attack_damage+385C↓j
.text:000000710286DE78 LDAXR W9, [X8]
.text:000000710286DE7C ADD W9, W9, #1
.text:000000710286DE80 STLXR W10, W9, [X8]
.text:000000710286DE84 CBNZ W10, loc_710286DE78
.text:000000710286DE88
.text:000000710286DE88 loc_710286DE88 ; CODE XREF: calc_attack_damage+3848↑j
.text:000000710286DE88 ADD X1, X24, #0x60 ; '`'
.text:000000710286DE8C ADD X0, SP, #0x7B0+var_760
.text:000000710286DE90 BL sub_71008463F0
.text:000000710286DE94 LDR W20, [SP,#0x7B0+var_84]
.text:000000710286DE98 ADD X0, SP, #0x7B0+var_760
.text:000000710286DE9C BL sub_7100845E04
.text:000000710286DEA0 CBZ X24, loc_710286DEBC
.text:000000710286DEA4 ADD X8, X24, #0x50 ; 'P'
.text:000000710286DEA8
.text:000000710286DEA8 loc_710286DEA8 ; CODE XREF: calc_attack_damage+388C↓j
.text:000000710286DEA8 LDAXR W9, [X8]
.text:000000710286DEAC SUBS W9, W9, #1
.text:000000710286DEB0 STLXR W10, W9, [X8]
.text:000000710286DEB4 CBNZ W10, loc_710286DEA8
.text:000000710286DEB8 B.EQ loc_710286E69C
.text:000000710286DEBC
.text:000000710286DEBC loc_710286DEBC ; CODE XREF: calc_attack_damage+3878↑j
.text:000000710286DEBC ; calc_attack_damage+4084↓j
.text:000000710286DEBC MUL W8, W20, W23
.text:000000710286DEC0 LDR X20, [SP,#0x7B0+var_770]
.text:000000710286DEC4 LDR W24, [SP,#0x7B0+var_79C]
.text:000000710286DEC8 UMULL X8, W8, W27
.text:000000710286DECC LSR X23, X8, #0x25 ; '%'
.text:000000710286DED0
.text:000000710286DED0 loc_710286DED0 ; CODE XREF: calc_attack_damage+3738↑j
.text:000000710286DED0 ; calc_attack_damage+3744↑j ...
.text:000000710286DED0 LDRB W8, [X21,#0x98]
.text:000000710286DED4 TST W8, #7
.text:000000710286DED8 B.NE loc_710286DF84
.text:000000710286DEDC LDRB W8, [X21,#0xA0]
.text:000000710286DEE0 TST W8, #7
.text:000000710286DEE4 B.NE loc_710286DF84
.text:000000710286DEE8 LDRB W8, [X21,#0xA8]
.text:000000710286DEEC TST W8, #7
.text:000000710286DEF0 B.NE loc_710286DF84
.text:000000710286DEF4 LDRB W8, [X21,#0xB0]
.text:000000710286DEF8 TST W8, #7
.text:000000710286DEFC B.NE loc_710286DF84
.text:000000710286DF00 LDRB W8, [X21,#0xB8]
.text:000000710286DF04 TST W8, #7
.text:000000710286DF08 B.NE loc_710286DF84
.text:000000710286DF0C LDRB W8, [X21,#0xC0]
.text:000000710286DF10 TST W8, #7
.text:000000710286DF14 B.EQ loc_710286DF84
.text:000000710286DF18 LDR X8, [SP,#0x7B0+var_778]
.text:000000710286DF1C LDR X8, [X8,#8]
.text:000000710286DF20 LDR X24, [X8,#0x1E8]
.text:000000710286DF24 CBZ X24, loc_710286DF3C
.text:000000710286DF28 ADD X8, X24, #0x50 ; 'P'
.text:000000710286DF2C
.text:000000710286DF2C loc_710286DF2C ; CODE XREF: calc_attack_damage+3910↓j
.text:000000710286DF2C LDAXR W9, [X8]
.text:000000710286DF30 ADD W9, W9, #1
.text:000000710286DF34 STLXR W10, W9, [X8]
.text:000000710286DF38 CBNZ W10, loc_710286DF2C
.text:000000710286DF3C
.text:000000710286DF3C loc_710286DF3C ; CODE XREF: calc_attack_damage+38FC↑j
.text:000000710286DF3C ADD X1, X24, #0x60 ; '`'
.text:000000710286DF40 ADD X0, SP, #0x7B0+var_760
.text:000000710286DF44 BL sub_71008463F0
.text:000000710286DF48 LDR W20, [SP,#0x7B0+var_74]
.text:000000710286DF4C ADD X0, SP, #0x7B0+var_760
.text:000000710286DF50 BL sub_7100845E04
.text:000000710286DF54 CBZ X24, loc_710286DF70
.text:000000710286DF58 ADD X8, X24, #0x50 ; 'P'
.text:000000710286DF5C
.text:000000710286DF5C loc_710286DF5C ; CODE XREF: calc_attack_damage+3940↓j
.text:000000710286DF5C LDAXR W9, [X8]
.text:000000710286DF60 SUBS W9, W9, #1
.text:000000710286DF64 STLXR W10, W9, [X8]
.text:000000710286DF68 CBNZ W10, loc_710286DF5C
.text:000000710286DF6C B.EQ loc_710286E678
.text:000000710286DF70
.text:000000710286DF70 loc_710286DF70 ; CODE XREF: calc_attack_damage+392C↑j
.text:000000710286DF70 ; calc_attack_damage+4060↓j
.text:000000710286DF70 MUL W8, W20, W23
.text:000000710286DF74 LDR X20, [SP,#0x7B0+var_770]
.text:000000710286DF78 LDR W24, [SP,#0x7B0+var_79C]
.text:000000710286DF7C UMULL X8, W8, W27
.text:000000710286DF80 LSR X23, X8, #0x25 ; '%'
.text:000000710286DF84
.text:000000710286DF84 loc_710286DF84 ; CODE XREF: calc_attack_damage+38B0↑j
.text:000000710286DF84 ; calc_attack_damage+38BC↑j ...
.text:000000710286DF84 LDR X8, [X20,#0x208]
.text:000000710286DF88 TST X8, #7
.text:000000710286DF8C B.EQ loc_710286DFC0
.text:000000710286DF90 AND W9, W8, #7
.text:000000710286DF94 SUB W9, W9, #1 ; switch 4 cases
.text:000000710286DF98 CMP W9, #3
.text:000000710286DF9C B.HI def_710286DFB4 ; jumptable 000000710286DFB4 default case
.text:000000710286DFA0 ADRL X10, jpt_710286DFB4
.text:000000710286DFA8 ADR X11, loc_710286DFB8 ; jumptable 000000710286DFB4 cases 1-3
.text:000000710286DFAC LDRB W12, [X10,X9]
.text:000000710286DFB0 ADD X11, X11, X12,LSL#2
.text:000000710286DFB4 BR X11 ; switch jump
.text:000000710286DFB8 ; ---------------------------------------------------------------------------
.text:000000710286DFB8
.text:000000710286DFB8 loc_710286DFB8 ; CODE XREF: calc_attack_damage+398C↑j
.text:000000710286DFB8 ; DATA XREF: calc_attack_damage+3980↑o
.text:000000710286DFB8 LSR X8, X8, #0xE ; jumptable 000000710286DFB4 cases 1-3
.text:000000710286DFBC B loc_710286DFD4
.text:000000710286DFC0 ; ---------------------------------------------------------------------------
.text:000000710286DFC0
.text:000000710286DFC0 loc_710286DFC0 ; CODE XREF: calc_attack_damage+3964↑j
.text:000000710286DFC0 MOV W8, WZR
.text:000000710286DFC4 B loc_710286DFD8
.text:000000710286DFC8 ; ---------------------------------------------------------------------------
.text:000000710286DFC8
.text:000000710286DFC8 def_710286DFB4 ; CODE XREF: calc_attack_damage+3974↑j
.text:000000710286DFC8 MOV W8, WZR ; jumptable 000000710286DFB4 default case
.text:000000710286DFCC B loc_710286DFD4
.text:000000710286DFD0 ; ---------------------------------------------------------------------------
.text:000000710286DFD0
.text:000000710286DFD0 loc_710286DFD0 ; CODE XREF: calc_attack_damage+398C↑j
.text:000000710286DFD0 LSR X8, X8, #0x14 ; jumptable 000000710286DFB4 case 4
.text:000000710286DFD4
.text:000000710286DFD4 loc_710286DFD4 ; CODE XREF: calc_attack_damage+3994↑j
.text:000000710286DFD4 ; calc_attack_damage+39A4↑j
.text:000000710286DFD4 AND W8, W8, #0xFFFF
.text:000000710286DFD8
.text:000000710286DFD8 loc_710286DFD8 ; CODE XREF: calc_attack_damage+399C↑j
.text:000000710286DFD8 LDR W9, [X22]
.text:000000710286DFDC CMP W8, W9
.text:000000710286DFE0 B.NE loc_710286E048
.text:000000710286DFE4 LDR X8, [SP,#0x7B0+var_778]
.text:000000710286DFE8 LDR X8, [X8,#8]
.text:000000710286DFEC LDR X22, [X8,#0x1E8]
.text:000000710286DFF0 CBZ X22, loc_710286E008
.text:000000710286DFF4 ADD X8, X22, #0x50 ; 'P'
.text:000000710286DFF8
.text:000000710286DFF8 loc_710286DFF8 ; CODE XREF: calc_attack_damage+39DC↓j
.text:000000710286DFF8 LDAXR W9, [X8]
.text:000000710286DFFC ADD W9, W9, #1
.text:000000710286E000 STLXR W10, W9, [X8]
.text:000000710286E004 CBNZ W10, loc_710286DFF8
.text:000000710286E008
.text:000000710286E008 loc_710286E008 ; CODE XREF: calc_attack_damage+39C8↑j
.text:000000710286E008 ADD X1, X22, #0x60 ; '`'
.text:000000710286E00C ADD X0, SP, #0x7B0+var_760
.text:000000710286E010 BL sub_71008463F0
.text:000000710286E014 LDR W20, [SP,#0x7B0+var_70]
.text:000000710286E018 ADD X0, SP, #0x7B0+var_760
.text:000000710286E01C BL sub_7100845E04
.text:000000710286E020 CBZ X22, loc_710286E03C
.text:000000710286E024 ADD X8, X22, #0x50 ; 'P'
.text:000000710286E028
.text:000000710286E028 loc_710286E028 ; CODE XREF: calc_attack_damage+3A0C↓j
.text:000000710286E028 LDAXR W9, [X8]
.text:000000710286E02C SUBS W9, W9, #1
.text:000000710286E030 STLXR W10, W9, [X8]
.text:000000710286E034 CBNZ W10, loc_710286E028
.text:000000710286E038 B.EQ loc_710286E634
.text:000000710286E03C
.text:000000710286E03C loc_710286E03C ; CODE XREF: calc_attack_damage+39F8↑j
.text:000000710286E03C ; calc_attack_damage+401C↓j
.text:000000710286E03C MUL W8, W20, W23
.text:000000710286E040 UMULL X8, W8, W27
.text:000000710286E044 LSR X23, X8, #0x25 ; '%'
.text:000000710286E048
.text:000000710286E048 loc_710286E048 ; CODE XREF: calc_attack_damage+39B8↑j
.text:000000710286E048 LDRB W8, [X21,#0x208]
.text:000000710286E04C TST W8, #7
.text:000000710286E050 B.EQ loc_710286E0B8
.text:000000710286E054 LDR X8, [SP,#0x7B0+var_778]
.text:000000710286E058 LDR X8, [X8,#8]
.text:000000710286E05C LDR X20, [X8,#0x1E8]
.text:000000710286E060 CBZ X20, loc_710286E078
.text:000000710286E064 ADD X8, X20, #0x50 ; 'P'
.text:000000710286E068
.text:000000710286E068 loc_710286E068 ; CODE XREF: calc_attack_damage+3A4C↓j
.text:000000710286E068 LDAXR W9, [X8]
.text:000000710286E06C ADD W9, W9, #1
.text:000000710286E070 STLXR W10, W9, [X8]
.text:000000710286E074 CBNZ W10, loc_710286E068
.text:000000710286E078
.text:000000710286E078 loc_710286E078 ; CODE XREF: calc_attack_damage+3A38↑j
.text:000000710286E078 ADD X1, X20, #0x60 ; '`'
.text:000000710286E07C ADD X0, SP, #0x7B0+var_760
.text:000000710286E080 BL sub_71008463F0
.text:000000710286E084 LDR W21, [SP,#0x7B0+var_6C]
.text:000000710286E088 ADD X0, SP, #0x7B0+var_760
.text:000000710286E08C BL sub_7100845E04
.text:000000710286E090 CBZ X20, loc_710286E0AC
.text:000000710286E094 ADD X8, X20, #0x50 ; 'P'
.text:000000710286E098
.text:000000710286E098 loc_710286E098 ; CODE XREF: calc_attack_damage+3A7C↓j
.text:000000710286E098 LDAXR W9, [X8]
.text:000000710286E09C SUBS W9, W9, #1
.text:000000710286E0A0 STLXR W10, W9, [X8]
.text:000000710286E0A4 CBNZ W10, loc_710286E098
.text:000000710286E0A8 B.EQ loc_710286E620
.text:000000710286E0AC
.text:000000710286E0AC loc_710286E0AC ; CODE XREF: calc_attack_damage+3A68↑j
.text:000000710286E0AC ; calc_attack_damage+4008↓j
.text:000000710286E0AC MUL W8, W21, W23
.text:000000710286E0B0 UMULL X8, W8, W27
.text:000000710286E0B4 LSR X23, X8, #0x25 ; '%'
.text:000000710286E0B8
.text:000000710286E0B8 loc_710286E0B8 ; CODE XREF: calc_attack_damage+3A28↑j
.text:000000710286E0B8 LDR X8, [SP,#0x7B0+var_770]
.text:000000710286E0BC LDR X8, [X8,#0x220]
.text:000000710286E0C0 TST X8, #7
.text:000000710286E0C4 B.EQ loc_710286E198
.text:000000710286E0C8 AND W9, W8, #7
.text:000000710286E0CC CMP W9, #4
.text:000000710286E0D0 B.EQ loc_710286E0F4
.text:000000710286E0D4 CMP W9, #3
.text:000000710286E0D8 B.EQ loc_710286E108
.text:000000710286E0DC CMP W9, #2
.text:000000710286E0E0 B.NE loc_710286E100
.text:000000710286E0E4 LSR X8, X8, #0xE
.text:000000710286E0E8 TST W8, #0xFFFF
.text:000000710286E0EC B.NE loc_710286E114
.text:000000710286E0F0 B loc_710286E100
.text:000000710286E0F4 ; ---------------------------------------------------------------------------
.text:000000710286E0F4
.text:000000710286E0F4 loc_710286E0F4 ; CODE XREF: calc_attack_damage+3AA8↑j
.text:000000710286E0F4 UBFX W8, W8, #0xE, #6
.text:000000710286E0F8 TST W8, #0xFFFF
.text:000000710286E0FC B.NE loc_710286E114
.text:000000710286E100
.text:000000710286E100 loc_710286E100 ; CODE XREF: calc_attack_damage+3AB8↑j
.text:000000710286E100 ; calc_attack_damage+3AC8↑j ...
.text:000000710286E100 MOV W8, #0x96
.text:000000710286E104 B loc_710286E18C
.text:000000710286E108 ; ---------------------------------------------------------------------------
.text:000000710286E108
.text:000000710286E108 loc_710286E108 ; CODE XREF: calc_attack_damage+3AB0↑j
.text:000000710286E108 UBFX W8, W8, #8, #6
.text:000000710286E10C TST W8, #0xFFFF
.text:000000710286E110 B.EQ loc_710286E100
.text:000000710286E114
.text:000000710286E114 loc_710286E114 ; CODE XREF: calc_attack_damage+3AC4↑j
.text:000000710286E114 ; calc_attack_damage+3AD4↑j
.text:000000710286E114 AND X8, X8, #0xFFFF
.text:000000710286E118 MOV W9, #0x30 ; '0'
.text:000000710286E11C ADRL X10, off_710418AF28
.text:000000710286E124 MADD X8, X8, X9, X10
.text:000000710286E128 LDR X9, [X8,#8]!
.text:000000710286E12C CBZ X9, loc_710286E694
.text:000000710286E130 LDRB W9, [X9,#0x1E1]
.text:000000710286E134 CMP W9, #0
.text:000000710286E138 ADRL X9, off_710418AF30
.text:000000710286E140 CSEL X8, X9, X8, EQ
.text:000000710286E144
.text:000000710286E144 loc_710286E144 ; CODE XREF: calc_attack_damage+4070↓j
.text:000000710286E144 LDR X8, [X8]
.text:000000710286E148 LDR X8, [X8,#0x250]
.text:000000710286E14C LDR W9, [X8]
.text:000000710286E150 ADD X8, X8, X9
.text:000000710286E154 LDRSW X9, [X8]
.text:000000710286E158 SUB X9, X8, X9
.text:000000710286E15C LDRH W10, [X9]
.text:000000710286E160 CMP W10, #0x7B ; '{'
.text:000000710286E164 B.CC loc_710286E188
.text:000000710286E168 LDRH W9, [X9,#0x7A]
.text:000000710286E16C CBZ X9, loc_710286E188
.text:000000710286E170 LDRB W8, [X8,X9]
.text:000000710286E174 B loc_710286E18C
.text:000000710286E178 ; ---------------------------------------------------------------------------
.text:000000710286E178
.text:000000710286E178 loc_710286E178 ; CODE XREF: calc_attack_damage:loc_710286CF60↑j
.text:000000710286E178 TBNZ W10, #0, loc_710286D804
.text:000000710286E17C B loc_710286D808
.text:000000710286E180 ; ---------------------------------------------------------------------------
.text:000000710286E180
.text:000000710286E180 loc_710286E180 ; CODE XREF: calc_attack_damage:loc_710286D7E8↑j
.text:000000710286E180 TBNZ W8, #0, loc_710286D820
.text:000000710286E184 B loc_710286D824
.text:000000710286E188 ; ---------------------------------------------------------------------------
.text:000000710286E188
.text:000000710286E188 loc_710286E188 ; CODE XREF: calc_attack_damage+3B3C↑j
.text:000000710286E188 ; calc_attack_damage+3B44↑j
.text:000000710286E188 MOV W8, WZR
.text:000000710286E18C
.text:000000710286E18C loc_710286E18C ; CODE XREF: calc_attack_damage+3ADC↑j
.text:000000710286E18C ; calc_attack_damage+3B4C↑j
.text:000000710286E18C MUL W8, W8, W23
.text:000000710286E190 UMULL X8, W8, W27
.text:000000710286E194 LSR X23, X8, #37
.text:000000710286E198
.text:000000710286E198 loc_710286E198 ; CODE XREF: calc_attack_damage+3A9C↑j
.text:000000710286E198 LDR X19, [X25]
.text:000000710286E19C MOV W10, #8
.text:000000710286E1A0 LDR X8, [X19,#0x30]
.text:000000710286E1A4 LDR W9, [X8,#0xC08]
.text:000000710286E1A8 BFI X10, X9, #5, #0x20 ; ' '
.text:000000710286E1AC MOV X12, X9
.text:000000710286E1B0
.text:000000710286E1B0 loc_710286E1B0 ; CODE XREF: calc_attack_damage+3BAC↓j
.text:000000710286E1B0 CMP X12, #0x5F ; '_'
.text:000000710286E1B4 B.HI loc_710286E230
.text:000000710286E1B8 MOV X11, X12
.text:000000710286E1BC LDR X12, [X8,X10]
.text:000000710286E1C0 LDRH W13, [X12,#8]
.text:000000710286E1C4 CBZ W13, loc_710286E1E4
.text:000000710286E1C8 ADD X12, X11, #1
.text:000000710286E1CC ADD X10, X10, #0x20 ; ' '
.text:000000710286E1D0 CMP W13, #0x38 ; '8'
.text:000000710286E1D4 B.NE loc_710286E1B0
.text:000000710286E1D8 SUB W10, W12, #1
.text:000000710286E1DC CMP W10, #0x5F ; '_'
.text:000000710286E1E0 B.HI loc_710286E230
.text:000000710286E1E4
.text:000000710286E1E4 loc_710286E1E4 ; CODE XREF: calc_attack_damage+3B9C↑j
.text:000000710286E1E4 AND X10, X11, #0xFFFFFFFF
.text:000000710286E1E8 ADD X10, X8, X10,LSL#5
.text:000000710286E1EC LDR X10, [X10,#8]
.text:000000710286E1F0 CBZ X10, loc_710286E230
.text:000000710286E1F4 MOV W8, #0x38 ; '8'
.text:000000710286E1F8 STRH W8, [X10,#8]
.text:000000710286E1FC MOV X8, #0x2900001000
.text:000000710286E204 STUR X8, [X10,#0xC]
.text:000000710286E208 MOV W8, #0x20000
.text:000000710286E20C STR W8, [X10,#0x14]
.text:000000710286E210 MOV W8, #3
.text:000000710286E214 STR XZR, [X10,#0x18]
.text:000000710286E218 STRB W8, [X10,#0xA]
.text:000000710286E21C LDR X8, [X19,#0x70]
.text:000000710286E220 STR X10, [X8,#0x1C8]
.text:000000710286E224 LDR X19, [X25]
.text:000000710286E228 LDR X8, [X19,#0x30]
.text:000000710286E22C LDR W9, [X8,#0xC08]
.text:000000710286E230
.text:000000710286E230 loc_710286E230 ; CODE XREF: calc_attack_damage+3B8C↑j
.text:000000710286E230 ; calc_attack_damage+3BB8↑j ...
.text:000000710286E230 MOV W11, #8
.text:000000710286E234 BFI X11, X9, #5, #0x20 ; ' '
.text:000000710286E238 MOV X12, XZR
.text:000000710286E23C
.text:000000710286E23C loc_710286E23C ; CODE XREF: calc_attack_damage+3C3C↓j
.text:000000710286E23C MOV X10, X12
.text:000000710286E240 ADD X12, X9, X12
.text:000000710286E244 CMP X12, #0x5F ; '_'
.text:000000710286E248 B.HI loc_710286E2B0
.text:000000710286E24C LDR X12, [X8,X11]
.text:000000710286E250 LDRH W13, [X12,#8]
.text:000000710286E254 CBZ W13, loc_710286E278
.text:000000710286E258 ADD X12, X10, #1
.text:000000710286E25C ADD X11, X11, #0x20 ; ' '
.text:000000710286E260 CMP W13, #0x35 ; '5'
.text:000000710286E264 B.NE loc_710286E23C
.text:000000710286E268 ADD W11, W9, W12
.text:000000710286E26C SUB W11, W11, #1
.text:000000710286E270 CMP W11, #0x5F ; '_'
.text:000000710286E274 B.HI loc_710286E2B0
.text:000000710286E278
.text:000000710286E278 loc_710286E278 ; CODE XREF: calc_attack_damage+3C2C↑j
.text:000000710286E278 ADD W10, W9, W10
.text:000000710286E27C ADD X10, X8, X10,LSL#5
.text:000000710286E280 LDR X10, [X10,#8]
.text:000000710286E284 CBZ X10, loc_710286E2B0
.text:000000710286E288 MOV W8, #0x35 ; '5'
.text:000000710286E28C STRH W8, [X10,#8]
.text:000000710286E290 STR W23, [X10,#0xC]
.text:000000710286E294 STRB WZR, [X10,#0xA]
.text:000000710286E298 STP XZR, XZR, [X10,#0x10]
.text:000000710286E29C LDR X8, [X19,#0x70]
.text:000000710286E2A0 STR X10, [X8,#0x1B0]
.text:000000710286E2A4 LDR X19, [X25]
.text:000000710286E2A8 LDR X8, [X19,#0x30]
.text:000000710286E2AC LDR W9, [X8,#0xC08]
.text:000000710286E2B0
.text:000000710286E2B0 loc_710286E2B0 ; CODE XREF: calc_attack_damage+3C20↑j
.text:000000710286E2B0 ; calc_attack_damage+3C4C↑j ...
.text:000000710286E2B0 MOV W11, #8
.text:000000710286E2B4 BFI X11, X9, #5, #0x20 ; ' '
.text:000000710286E2B8 MOV X12, XZR
.text:000000710286E2BC
.text:000000710286E2BC loc_710286E2BC ; CODE XREF: calc_attack_damage+3CBC↓j
.text:000000710286E2BC MOV X10, X12
.text:000000710286E2C0 ADD X12, X9, X12
.text:000000710286E2C4 CMP X12, #0x5F ; '_'
.text:000000710286E2C8 B.HI loc_710286E338
.text:000000710286E2CC LDR X12, [X8,X11]
.text:000000710286E2D0 LDRH W13, [X12,#8]
.text:000000710286E2D4 CBZ W13, loc_710286E2F8
.text:000000710286E2D8 ADD X12, X10, #1
.text:000000710286E2DC ADD X11, X11, #0x20 ; ' '
.text:000000710286E2E0 CMP W13, #0x64 ; 'd'
.text:000000710286E2E4 B.NE loc_710286E2BC
.text:000000710286E2E8 ADD W11, W9, W12
.text:000000710286E2EC SUB W11, W11, #1
.text:000000710286E2F0 CMP W11, #0x5F ; '_'
.text:000000710286E2F4 B.HI loc_710286E338
.text:000000710286E2F8
.text:000000710286E2F8 loc_710286E2F8 ; CODE XREF: calc_attack_damage+3CAC↑j
.text:000000710286E2F8 ADD W10, W9, W10
.text:000000710286E2FC ADD X10, X8, X10,LSL#5
.text:000000710286E300 LDR X10, [X10,#8]
.text:000000710286E304 CBZ X10, loc_710286E338
.text:000000710286E308 MOV W8, #0x64 ; 'd'
.text:000000710286E30C STRH W8, [X10,#8]
.text:000000710286E310 MOV W8, #1
.text:000000710286E314 STUR XZR, [X10,#0xC]
.text:000000710286E318 STUR XZR, [X10,#0x14]
.text:000000710286E31C STR WZR, [X10,#0x1C]
.text:000000710286E320 STRB W8, [X10,#0xA]
.text:000000710286E324 LDR X8, [X19,#0x70]
.text:000000710286E328 STR X10, [X8,#0x328]
.text:000000710286E32C LDR X19, [X25]
.text:000000710286E330 LDR X8, [X19,#0x30]
.text:000000710286E334 LDR W9, [X8,#0xC08]
.text:000000710286E338
.text:000000710286E338 loc_710286E338 ; CODE XREF: calc_attack_damage+3CA0↑j
.text:000000710286E338 ; calc_attack_damage+3CCC↑j ...
.text:000000710286E338 ADD X10, X8, X9,LSL#5
.text:000000710286E33C ADD X11, X10, #8
.text:000000710286E340
.text:000000710286E340 loc_710286E340 ; CODE XREF: calc_attack_damage+3D3C↓j
.text:000000710286E340 CMP X9, #0x5F ; '_'
.text:000000710286E344 B.HI loc_710286E3AC
.text:000000710286E348 MOV X10, X9
.text:000000710286E34C LDR X9, [X11]
.text:000000710286E350 LDRH W12, [X9,#8]
.text:000000710286E354 CBZ W12, loc_710286E374
.text:000000710286E358 ADD X9, X10, #1
.text:000000710286E35C ADD X11, X11, #0x20 ; ' '
.text:000000710286E360 CMP W12, #0x65 ; 'e'
.text:000000710286E364 B.NE loc_710286E340
.text:000000710286E368 SUB W9, W9, #1
.text:000000710286E36C CMP W9, #0x5F ; '_'
.text:000000710286E370 B.HI loc_710286E3AC
.text:000000710286E374
.text:000000710286E374 loc_710286E374 ; CODE XREF: calc_attack_damage+3D2C↑j
.text:000000710286E374 AND X9, X10, #0xFFFFFFFF
.text:000000710286E378 ADD X8, X8, X9,LSL#5
.text:000000710286E37C LDR X8, [X8,#8]
.text:000000710286E380 CBZ X8, loc_710286E3AC
.text:000000710286E384 MOV W9, #0x65 ; 'e'
.text:000000710286E388 STRH W9, [X8,#8]
.text:000000710286E38C MOV W9, #1
.text:000000710286E390 STUR XZR, [X8,#0xC]
.text:000000710286E394 STUR XZR, [X8,#0x14]
.text:000000710286E398 STR WZR, [X8,#0x1C]
.text:000000710286E39C STRB W9, [X8,#0xA]
.text:000000710286E3A0 LDR X9, [X19,#0x70]
.text:000000710286E3A4 STR X8, [X9,#0x330]
.text:000000710286E3A8 LDR X19, [X25]
.text:000000710286E3AC
.text:000000710286E3AC loc_710286E3AC ; CODE XREF: calc_attack_damage+3D1C↑j
.text:000000710286E3AC ; calc_attack_damage+3D48↑j ...
.text:000000710286E3AC LDR W8, [X19,#0x78]
.text:000000710286E3B0 ADD W8, W8, #1
.text:000000710286E3B4 LDR X9, [X19,#8]
.text:000000710286E3B8 STR W8, [X19,#0x78]
.text:000000710286E3BC LDR X9, [X9,#0x88]
.text:000000710286E3C0 LDR X21, [X9,#0x14C8]
.text:000000710286E3C4 CBZ X21, loc_710286E408
.text:000000710286E3C8 MOV W20, #0x5C ; '\'
.text:000000710286E3CC B loc_710286E3D8
.text:000000710286E3D0 ; ---------------------------------------------------------------------------
.text:000000710286E3D0
.text:000000710286E3D0 loc_710286E3D0 ; CODE XREF: calc_attack_damage+3DD0↓j
.text:000000710286E3D0 ; calc_attack_damage+3DD8↓j
.text:000000710286E3D0 MOV X21, X0
.text:000000710286E3D4 CBZ X0, loc_710286E404
.text:000000710286E3D8
.text:000000710286E3D8 loc_710286E3D8 ; CODE XREF: calc_attack_damage+3DA4↑j
.text:000000710286E3D8 MOV X0, X19
.text:000000710286E3DC MOV W1, W20
.text:000000710286E3E0 MOV W2, #8
.text:000000710286E3E4 MOV W3, #1
.text:000000710286E3E8 MOV X4, X21
.text:000000710286E3EC BL sub_7102899E6C
.text:000000710286E3F0 CBZ X0, loc_710286E404
.text:000000710286E3F4 LDRB W8, [X0,#0x3F]
.text:000000710286E3F8 TBNZ W8, #5, loc_710286E3D0
.text:000000710286E3FC LDR X0, [X21,#0x18]
.text:000000710286E400 B loc_710286E3D0
.text:000000710286E404 ; ---------------------------------------------------------------------------
.text:000000710286E404
.text:000000710286E404 loc_710286E404 ; CODE XREF: calc_attack_damage+3DAC↑j
.text:000000710286E404 ; calc_attack_damage+3DC8↑j
.text:000000710286E404 LDR W8, [X19,#0x78]
.text:000000710286E408
.text:000000710286E408 loc_710286E408 ; CODE XREF: calc_attack_damage+3D9C↑j
.text:000000710286E408 SUBS W8, W8, #1
.text:000000710286E40C STR W8, [X19,#0x78]
.text:000000710286E410 B.NE loc_710286E438
.text:000000710286E414 LDR X8, [X19,#8]
.text:000000710286E418 LDR X8, [X8,#0x88]
.text:000000710286E41C LDR X8, [X8,#0x14C8]
.text:000000710286E420 CBZ X8, loc_710286E438
.text:000000710286E424
.text:000000710286E424 loc_710286E424 ; CODE XREF: calc_attack_damage+3E0C↓j
.text:000000710286E424 LDRH W9, [X8,#0x3E]
.text:000000710286E428 LSL W9, W9, #0x10
.text:000000710286E42C STR W9, [X8,#0x3C]
.text:000000710286E430 LDR X8, [X8,#0x18]
.text:000000710286E434 CBNZ X8, loc_710286E424
.text:000000710286E438
.text:000000710286E438 loc_710286E438 ; CODE XREF: calc_attack_damage+3DE8↑j
.text:000000710286E438 ; calc_attack_damage+3DF8↑j
.text:000000710286E438 LDR X27, [X25]
.text:000000710286E43C LDR X9, [X27,#0x70]
.text:000000710286E440 LDR X8, [X9,#0x1C8]
.text:000000710286E444 CBZ X8, loc_710286E44C
.text:000000710286E448 LDR W8, [X8,#0xC]
.text:000000710286E44C
.text:000000710286E44C loc_710286E44C ; CODE XREF: calc_attack_damage+3E1C↑j
.text:000000710286E44C LDR X9, [X9,#0x1B0]
.text:000000710286E450 CBZ X9, loc_710286E458
.text:000000710286E454 LDR W9, [X9,#0xC]
.text:000000710286E458
.text:000000710286E458 loc_710286E458 ; CODE XREF: calc_attack_damage+3E28↑j
.text:000000710286E458 MUL W8, W9, W8
.text:000000710286E45C AND W9, W8, #0xFFF
.text:000000710286E460 LSR W8, W8, #0xC
.text:000000710286E464 CMP W9, #0x800
.text:000000710286E468 LDR W9, [SP,#0x7B0+var_7A0]
.text:000000710286E46C CINC W23, W8, HI
.text:000000710286E470
.text:000000710286E470 loc_710286E470 ; CODE XREF: calc_attack_damage+D28↑j
.text:000000710286E470 ORR W8, W23, W9
.text:000000710286E474 LDR X9, [X27,#8]
.text:000000710286E478 CMP W8, #0
.text:000000710286E47C LDR W8, [X27,#0x78]
.text:000000710286E480 CSET W21, EQ
.text:000000710286E484 ADD W8, W8, #1
.text:000000710286E488 STR W8, [X27,#0x78]
.text:000000710286E48C LDR X9, [X9,#0x88]
.text:000000710286E490 LDR X20, [X9,#0x14C8]
.text:000000710286E494 CBZ X20, loc_710286E4D8
.text:000000710286E498 MOV W19, #0x5D ; ']'
.text:000000710286E49C B loc_710286E4A8
.text:000000710286E4A0 ; ---------------------------------------------------------------------------
.text:000000710286E4A0
.text:000000710286E4A0 loc_710286E4A0 ; CODE XREF: calc_attack_damage+3EA0↓j
.text:000000710286E4A0 ; calc_attack_damage+3EA8↓j
.text:000000710286E4A0 MOV X20, X0
.text:000000710286E4A4 CBZ X0, loc_710286E4D4
.text:000000710286E4A8
.text:000000710286E4A8 loc_710286E4A8 ; CODE XREF: calc_attack_damage+3E74↑j
.text:000000710286E4A8 MOV X0, X27
.text:000000710286E4AC MOV W1, W19
.text:000000710286E4B0 MOV W2, #8
.text:000000710286E4B4 MOV W3, #1
.text:000000710286E4B8 MOV X4, X20
.text:000000710286E4BC BL sub_7102899E6C
.text:000000710286E4C0 CBZ X0, loc_710286E4D4
.text:000000710286E4C4 LDRB W8, [X0,#0x3F]
.text:000000710286E4C8 TBNZ W8, #5, loc_710286E4A0
.text:000000710286E4CC LDR X0, [X20,#0x18]
.text:000000710286E4D0 B loc_710286E4A0
.text:000000710286E4D4 ; ---------------------------------------------------------------------------
.text:000000710286E4D4
.text:000000710286E4D4 loc_710286E4D4 ; CODE XREF: calc_attack_damage+3E7C↑j
.text:000000710286E4D4 ; calc_attack_damage+3E98↑j
.text:000000710286E4D4 LDR W8, [X27,#0x78]
.text:000000710286E4D8
.text:000000710286E4D8 loc_710286E4D8 ; CODE XREF: calc_attack_damage+3E6C↑j
.text:000000710286E4D8 SUBS W8, W8, #1
.text:000000710286E4DC STR W8, [X27,#0x78]
.text:000000710286E4E0 B.NE loc_710286E508
.text:000000710286E4E4 LDR X8, [X27,#8]
.text:000000710286E4E8 LDR X8, [X8,#0x88]
.text:000000710286E4EC LDR X8, [X8,#0x14C8]
.text:000000710286E4F0 CBZ X8, loc_710286E508
.text:000000710286E4F4
.text:000000710286E4F4 loc_710286E4F4 ; CODE XREF: calc_attack_damage+3EDC↓j
.text:000000710286E4F4 LDRH W9, [X8,#0x3E]
.text:000000710286E4F8 LSL W9, W9, #0x10
.text:000000710286E4FC STR W9, [X8,#0x3C]
.text:000000710286E500 LDR X8, [X8,#0x18]
.text:000000710286E504 CBNZ X8, loc_710286E4F4
.text:000000710286E508
.text:000000710286E508 loc_710286E508 ; CODE XREF: calc_attack_damage+3EB8↑j
.text:000000710286E508 ; calc_attack_damage+3EC8↑j
.text:000000710286E508 LDR X19, [X25]
.text:000000710286E50C LDR X20, [X19,#0x50]
.text:000000710286E510 LDR W8, [X20,#0x408]
.text:000000710286E514 CBZ W8, loc_710286E548
.text:000000710286E518 ADD X8, X20, X8,LSL#5
.text:000000710286E51C LDR X8, [X8,#8]
.text:000000710286E520 ADD X0, X8, #8 ; s
.text:000000710286E524 MOV W2, #0x410 ; n
.text:000000710286E528 MOV W1, WZR ; c
.text:000000710286E52C BL memset_0
.text:000000710286E530 LDR W8, [X20,#0x408]
.text:000000710286E534 SUB W8, W8, #1
.text:000000710286E538 STR W8, [X20,#0x408]
.text:000000710286E53C LDR X20, [X19,#0x50]
.text:000000710286E540 LDR W8, [X20,#0x408]
.text:000000710286E544 B loc_710286E54C
.text:000000710286E548 ; ---------------------------------------------------------------------------
.text:000000710286E548
.text:000000710286E548 loc_710286E548 ; CODE XREF: calc_attack_damage+3EEC↑j
.text:000000710286E548 MOV X8, XZR
.text:000000710286E54C
.text:000000710286E54C loc_710286E54C ; CODE XREF: calc_attack_damage+3F1C↑j
.text:000000710286E54C ADD X8, X20, X8,LSL#5
.text:000000710286E550 LDR X8, [X8,#8]
.text:000000710286E554 STR X8, [X19,#0x70]
.text:000000710286E558 LDR X8, [X19,#0x30]
.text:000000710286E55C LDR W9, [X8,#0xC08]
.text:000000710286E560 CBZ W9, loc_710286E5EC
.text:000000710286E564 AND W10, W9, #0xFFFF
.text:000000710286E568 CMP W10, #0x5F ; '_'
.text:000000710286E56C B.HI loc_710286E5A8
.text:000000710286E570 AND X10, X9, #0xFFFF
.text:000000710286E574 ADD X9, X10, #1
.text:000000710286E578 ADD X10, X8, X10,LSL#5
.text:000000710286E57C ADD X10, X10, #8
.text:000000710286E580
.text:000000710286E580 loc_710286E580 ; CODE XREF: calc_attack_damage+3F78↓j
.text:000000710286E580 LDR X11, [X10]
.text:000000710286E584 LDRH W12, [X11,#8]
.text:000000710286E588 CBZ W12, loc_710286E5A4
.text:000000710286E58C STRH WZR, [X11,#8]
.text:000000710286E590 AND W11, W9, #0xFFFF
.text:000000710286E594 ADD X9, X9, #1
.text:000000710286E598 ADD X10, X10, #0x20 ; ' '
.text:000000710286E59C CMP W11, #0x60 ; '`'
.text:000000710286E5A0 B.NE loc_710286E580
.text:000000710286E5A4
.text:000000710286E5A4 loc_710286E5A4 ; CODE XREF: calc_attack_damage+3F60↑j
.text:000000710286E5A4 LDR W9, [X8,#0xC08]
.text:000000710286E5A8
.text:000000710286E5A8 loc_710286E5A8 ; CODE XREF: calc_attack_damage+3F44↑j
.text:000000710286E5A8 SUB W9, W9, #1
.text:000000710286E5AC STR W9, [X8,#0xC08]
.text:000000710286E5B0 ADD X9, X8, X9,LSL#5
.text:000000710286E5B4 LDR X9, [X9,#8]
.text:000000710286E5B8 STRH WZR, [X9,#8]
.text:000000710286E5BC LDR W9, [X8,#0xC08]
.text:000000710286E5C0
.text:000000710286E5C0 loc_710286E5C0 ; CODE XREF: calc_attack_damage+3FB8↓j
.text:000000710286E5C0 CBZ X9, loc_710286E5EC
.text:000000710286E5C4 SUB X9, X9, #1
.text:000000710286E5C8 AND X10, X9, #0xFFFFFFFF
.text:000000710286E5CC ADD X10, X8, X10,LSL#5
.text:000000710286E5D0 STR W9, [X8,#0xC08]
.text:000000710286E5D4 LDR X10, [X10,#8]
.text:000000710286E5D8 LDRH W10, [X10,#8]
.text:000000710286E5DC CMP W10, #1
.text:000000710286E5E0 B.NE loc_710286E5C0
.text:000000710286E5E4 ADD W9, W9, #1
.text:000000710286E5E8 STR W9, [X8,#0xC08]
.text:000000710286E5EC
.text:000000710286E5EC loc_710286E5EC ; CODE XREF: calc_attack_damage+3F38↑j
.text:000000710286E5EC ; calc_attack_damage:loc_710286E5C0↑j
.text:000000710286E5EC CMP W24, #0
.text:000000710286E5F0 CSET W0, NE
.text:000000710286E5F4 CMP W21, #0
.text:000000710286E5F8 CSINC W8, W23, WZR, EQ
.text:000000710286E5FC STRH W8, [X26]
.text:000000710286E600 ADD SP, SP, #0x760
.text:000000710286E604 LDP X29, X30, [SP,#0x50+var_s0]
.text:000000710286E608 LDP X20, X19, [SP,#0x50+var_10]
.text:000000710286E60C LDP X22, X21, [SP,#0x50+var_20]
.text:000000710286E610 LDP X24, X23, [SP,#0x50+var_30]
.text:000000710286E614 LDP X26, X25, [SP,#0x50+var_40]
.text:000000710286E618 LDP X28, X27, [SP+0x50+var_50],#0x60
.text:000000710286E61C RET
.text:000000710286E620 ; ---------------------------------------------------------------------------
.text:000000710286E620
.text:000000710286E620 loc_710286E620 ; CODE XREF: calc_attack_damage+3A80↑j
.text:000000710286E620 LDR X8, [X20]
.text:000000710286E624 MOV X0, X20
.text:000000710286E628 LDR X8, [X8,#0x10]
.text:000000710286E62C BLR X8
.text:000000710286E630 B loc_710286E0AC
.text:000000710286E634 ; ---------------------------------------------------------------------------
.text:000000710286E634
.text:000000710286E634 loc_710286E634 ; CODE XREF: calc_attack_damage+3A10↑j
.text:000000710286E634 LDR X8, [X22]
.text:000000710286E638 MOV X0, X22
.text:000000710286E63C LDR X8, [X8,#0x10]
.text:000000710286E640 BLR X8
.text:000000710286E644 B loc_710286E03C
.text:000000710286E648 ; ---------------------------------------------------------------------------
.text:000000710286E648
.text:000000710286E648 loc_710286E648 ; CODE XREF: calc_attack_damage+308C↑j
.text:000000710286E648 LDR X8, [X26]
.text:000000710286E64C MOV X0, X26
.text:000000710286E650 LDR X8, [X8,#0x10]
.text:000000710286E654 BLR X8
.text:000000710286E658 B loc_710286D6B8
.text:000000710286E65C ; ---------------------------------------------------------------------------
.text:000000710286E65C
.text:000000710286E65C loc_710286E65C ; CODE XREF: calc_attack_damage+1624↑j
.text:000000710286E65C LDR X13, [SP,#0x7B0+var_770]
.text:000000710286E660 B loc_710286BCC0
.text:000000710286E664 ; ---------------------------------------------------------------------------
.text:000000710286E664
.text:000000710286E664 loc_710286E664 ; CODE XREF: calc_attack_damage+37BC↑j
.text:000000710286E664 LDR X8, [X24]
.text:000000710286E668 MOV X0, X24
.text:000000710286E66C LDR X8, [X8,#0x10]
.text:000000710286E670 BLR X8
.text:000000710286E674 B loc_710286DDE8
.text:000000710286E678 ; ---------------------------------------------------------------------------
.text:000000710286E678
.text:000000710286E678 loc_710286E678 ; CODE XREF: calc_attack_damage+3944↑j
.text:000000710286E678 LDR X8, [X24]
.text:000000710286E67C MOV X0, X24
.text:000000710286E680 LDR X8, [X8,#0x10]
.text:000000710286E684 BLR X8
.text:000000710286E688 B loc_710286DF70
.text:000000710286E68C ; ---------------------------------------------------------------------------
.text:000000710286E68C
.text:000000710286E68C loc_710286E68C ; CODE XREF: calc_attack_damage+163C↑j
.text:000000710286E68C ADD X8, X11, #8
.text:000000710286E690 B loc_710286BC74
.text:000000710286E694 ; ---------------------------------------------------------------------------
.text:000000710286E694
.text:000000710286E694 loc_710286E694 ; CODE XREF: calc_attack_damage+3B04↑j
.text:000000710286E694 ADD X8, X10, #8
.text:000000710286E698 B loc_710286E144
.text:000000710286E69C ; ---------------------------------------------------------------------------
.text:000000710286E69C
.text:000000710286E69C loc_710286E69C ; CODE XREF: calc_attack_damage+3890↑j
.text:000000710286E69C LDR X8, [X24]
.text:000000710286E6A0 MOV X0, X24
.text:000000710286E6A4 LDR X8, [X8,#0x10]
.text:000000710286E6A8 BLR X8
.text:000000710286E6AC B loc_710286DEBC
.text:000000710286E6AC ; End of function calc_attack_damage
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment