Last active
November 29, 2025 09:25
-
-
Save Lusamine/5a398bcc791d43688338c20b27a4414e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| float __fastcall get_ball_capture_ratio(pml::Capture *a1, pml::Capture::Param *a2) | |
| { | |
| int v2; // w9 | |
| int v3; // w9 | |
| __int64 v4; // x8 | |
| int *v7; // x22 | |
| pml::CapturePoke *target_pokemon; // x19 | |
| __int64 p_reference_count; // x23 | |
| unsigned __int16 *v10; // x9 | |
| int v11; // w8 | |
| int BallNo; // w8 | |
| float v13; // s8 | |
| unsigned __int16 *v14; // x8 | |
| __int64 v15; // x8 | |
| __int64 v16; // x8 | |
| unsigned __int16 *v17; // x10 | |
| int v18; // w9 | |
| unsigned __int16 *v20; // x8 | |
| unsigned __int16 *v21; // x8 | |
| __int64 v22; // x0 | |
| unsigned __int16 *v23; // x9 | |
| int v24; // w8 | |
| unsigned __int16 *v25; // x8 | |
| __int64 v26; // x8 | |
| unsigned __int16 *v27; // x8 | |
| unsigned __int16 v28; // w0 | |
| unsigned __int16 *v29; // x8 | |
| unsigned __int16 *v30; // x8 | |
| pml::CapturePoke *v31; // x20 | |
| unsigned int v32; // w0 | |
| unsigned __int16 *v33; // x8 | |
| float *v34; // x8 | |
| unsigned int v35; // w0 | |
| unsigned __int16 *v36; // x8 | |
| float *v37; // x8 | |
| unsigned int v38; // w0 | |
| unsigned int *v39; // x8 | |
| float *v40; // x8 | |
| unsigned __int16 *v41; // x8 | |
| pml::CapturePoke *v42; // x8 | |
| int v43; // w8 | |
| unsigned __int16 *v44; // x8 | |
| unsigned __int16 *v45; // x8 | |
| uint32_t v46; // w20 | |
| uint32_t v47; // w0 | |
| unsigned __int16 *v48; // x8 | |
| int v49; // w23 | |
| char v50; // w20 | |
| unsigned __int16 v51; // w21 | |
| char v52; // w0 | |
| unsigned __int16 *v53; // x8 | |
| unsigned __int16 *v54; // x8 | |
| unsigned __int16 *v55; // x8 | |
| unsigned __int16 *v56; // x8 | |
| v2 = dword_7105F2CE00; | |
| __dmb(9u); | |
| if ( !v2 ) | |
| return 1.0; | |
| v3 = dword_7105F2CE00; | |
| v4 = (__int64)&unk_7105F2CDC8; | |
| __dmb(9u); | |
| if ( !v3 ) | |
| v4 = 200LL; | |
| v7 = *(int **)v4; | |
| if ( *(_QWORD *)v4 ) | |
| { | |
| target_pokemon = a2->target_pokemon; | |
| if ( target_pokemon ) | |
| { | |
| p_reference_count = target_pokemon->p_reference_count; | |
| if ( !*(_QWORD *)(p_reference_count + 16) ) | |
| goto LABEL_35; | |
| v10 = (unsigned __int16 *)(p_reference_count + 26); | |
| do | |
| v11 = __ldaxr(v10); | |
| while ( __stlxr(v11 + 1, v10) ); | |
| if ( v11 ) | |
| { | |
| if ( v11 == 0xFFFF ) | |
| goto LABEL_35; | |
| } | |
| else | |
| { | |
| *(_QWORD *)(p_reference_count + 8) = (***(__int64 (__fastcall ****)(_QWORD))(p_reference_count + 16))(*(_QWORD *)(p_reference_count + 16)); | |
| } | |
| } | |
| BallNo = pml::pokepara::CalcTool::GetBallNo((unsigned __int16)a2->item_id); | |
| if ( BallNo == 2 ) // Ultra Ball | |
| { | |
| v13 = 2.0; | |
| v14 = (unsigned __int16 *)((char *)v7 - *v7); | |
| if ( *v14 >= 7u ) | |
| { | |
| v15 = v14[3]; | |
| if ( v15 ) | |
| LABEL_14: | |
| v13 = *(float *)((char *)v7 + v15); | |
| } | |
| } | |
| else | |
| { | |
| switch ( BallNo ) | |
| { | |
| case 3: // Great Ball | |
| v13 = 1.5; | |
| v21 = (unsigned __int16 *)((char *)v7 - *v7); | |
| if ( *v21 < 9u ) | |
| break; | |
| v15 = v21[4]; | |
| if ( !v15 ) | |
| break; | |
| goto LABEL_14; | |
| case 4: // Poké Ball | |
| v13 = 1.0; | |
| v20 = (unsigned __int16 *)((char *)v7 - *v7); | |
| if ( *v20 < 5u ) | |
| break; | |
| v15 = v20[2]; | |
| if ( !v15 ) | |
| break; | |
| goto LABEL_14; | |
| case 6: // Net Ball | |
| if ( !target_pokemon->IsTypeMatch(target_pokemon, 10) && !target_pokemon->IsTypeMatch(target_pokemon, 6) ) | |
| goto LABEL_96; | |
| v13 = 3.5; | |
| v25 = (unsigned __int16 *)((char *)v7 - *v7); | |
| if ( *v25 < 11u ) | |
| goto LABEL_16; | |
| v26 = v25[5]; | |
| if ( !v26 ) | |
| goto LABEL_16; | |
| goto LABEL_102; | |
| case 7: // Dive Ball | |
| if ( !a2->is_fishing && !a2->is_swimming ) | |
| goto LABEL_87; | |
| v13 = 3.5; | |
| v27 = (unsigned __int16 *)((char *)v7 - *v7); | |
| if ( *v27 < 0x17u ) | |
| break; | |
| v15 = v27[11]; | |
| if ( !v15 ) | |
| break; | |
| goto LABEL_14; | |
| case 8: // Nest Ball | |
| v28 = a2->target_pokemon->GetLevel(a2->target_pokemon); | |
| if ( v28 > 0x1Du ) | |
| goto LABEL_87; | |
| v13 = (float)(41 - v28) / 10.0; | |
| break; | |
| case 9: // Repeat Ball | |
| if ( !a2->is_registered_in_dex ) | |
| goto LABEL_87; | |
| v13 = 3.5; | |
| v29 = (unsigned __int16 *)((char *)v7 - *v7); | |
| if ( *v29 < 13u ) | |
| break; | |
| v15 = v29[6]; | |
| if ( !v15 ) | |
| break; | |
| goto LABEL_14; | |
| case 10: // Timer Ball (uses flatbuffer values) | |
| v13 = 1.0; | |
| v30 = (unsigned __int16 *)((char *)v7 - *v7); | |
| if ( *v30 >= 15u ) | |
| { | |
| if ( v30[7] ) | |
| { | |
| v31 = a2->target_pokemon; | |
| if ( v31 ) | |
| { | |
| v32 = sub_710277E7C0((__int64)v31); | |
| v33 = (unsigned __int16 *)((char *)v7 - *v7); | |
| if ( *v33 >= 15u | |
| && (v34 = (float *)((char *)v7 + v33[7] + *(unsigned int *)((char *)v7 + v33[7])), | |
| v32 <= *((_DWORD *)v34 + 1)) ) | |
| { | |
| v13 = v34[2]; | |
| } | |
| else | |
| { | |
| v35 = sub_710277E7C0((__int64)v31); | |
| v36 = (unsigned __int16 *)((char *)v7 - *v7); | |
| if ( *v36 >= 0xFu | |
| && (v37 = (float *)((char *)v7 + v36[7] + *(unsigned int *)((char *)v7 + v36[7])), | |
| v35 <= *((_DWORD *)v37 + 3)) ) | |
| { | |
| v13 = v37[4]; | |
| } | |
| else | |
| { | |
| v38 = sub_710277E7C0((__int64)v31); | |
| v39 = (unsigned int *)((char *)v7 + *(unsigned __int16 *)((char *)v7 - *v7 + 14)); | |
| v40 = (float *)((char *)v39 + *v39); | |
| if ( v38 <= *((_DWORD *)v40 + 5) ) | |
| v13 = v40[6]; | |
| else | |
| v13 = v40[8]; | |
| } | |
| } | |
| } | |
| } | |
| } | |
| break; | |
| case 13: // Dusk Ball | |
| if ( !a2->is_dusk_ball_enabled ) | |
| goto LABEL_87; | |
| v13 = 3.0; | |
| v41 = (unsigned __int16 *)((char *)v7 - *v7); | |
| if ( *v41 < 0x1Bu ) | |
| break; | |
| v15 = v41[13]; | |
| if ( !v15 ) | |
| break; | |
| goto LABEL_14; | |
| case 15: // Quick Ball (uses flatbuffer value of 3) | |
| v42 = a2->target_pokemon; | |
| v13 = 1.0; | |
| if ( !v42 ) | |
| break; | |
| v43 = BYTE5(v42[1].m_Ptr); | |
| if ( (unsigned int)(v43 - 2) >= 3 && v43 != 1 ) | |
| break; | |
| v13 = 5.0; | |
| v44 = (unsigned __int16 *)((char *)v7 - *v7); | |
| if ( *v44 < 0x19u ) | |
| break; | |
| v15 = v44[12]; | |
| if ( !v15 ) | |
| break; | |
| goto LABEL_14; | |
| case 17: // Fast Ball | |
| if ( (unsigned __int16)target_pokemon->GetSpeed(target_pokemon) < 100u ) | |
| goto LABEL_96; | |
| v13 = 4.0; | |
| v45 = (unsigned __int16 *)((char *)v7 - *v7); | |
| if ( *v45 < 0x23u ) | |
| goto LABEL_16; | |
| v26 = v45[17]; | |
| if ( !v26 ) | |
| goto LABEL_16; | |
| goto LABEL_102; | |
| case 18: // Level Ball | |
| if ( !a2->user_pokemon ) | |
| goto LABEL_87; | |
| v46 = a2->user_pokemon->GetLevel(a2->user_pokemon); | |
| v47 = target_pokemon->GetLevel(target_pokemon); | |
| v13 = a1->GetLevelBallCaptureRatio(a1, v46, v47); | |
| goto LABEL_16; | |
| case 19: // Lure Ball | |
| if ( !a2->is_fishing ) | |
| goto LABEL_87; | |
| v13 = 3.5; | |
| v48 = (unsigned __int16 *)((char *)v7 - *v7); | |
| if ( *v48 < 0x2Du ) | |
| break; | |
| v15 = v48[22]; | |
| if ( !v15 ) | |
| break; | |
| goto LABEL_14; | |
| case 21: // Love Ball | |
| if ( a2->user_pokemon ) | |
| { | |
| v49 = (unsigned __int16)a2->user_pokemon->GetDevNo(a2->user_pokemon); | |
| v50 = a2->user_pokemon->GetGender(a2->user_pokemon); | |
| v51 = target_pokemon->GetDevNo(target_pokemon); | |
| v52 = target_pokemon->GetGender(target_pokemon); | |
| v13 = 1.0; | |
| if ( v49 == v51 && v50 != v52 ) | |
| { | |
| v13 = 8.0; | |
| v53 = (unsigned __int16 *)((char *)v7 - *v7); | |
| if ( *v53 >= 0x2Bu ) | |
| { | |
| v26 = v53[21]; | |
| if ( v26 ) | |
| LABEL_102: | |
| v13 = *(float *)((char *)v7 + v26); | |
| } | |
| } | |
| goto LABEL_16; | |
| } | |
| LABEL_87: | |
| v13 = 1.0; | |
| break; | |
| case 23: // Moon Ball | |
| if ( !target_pokemon->IsEvolveByMoonStone(target_pokemon) ) | |
| goto LABEL_96; | |
| v13 = 4.0; | |
| v54 = (unsigned __int16 *)((char *)v7 - *v7); | |
| if ( *v54 < 0x29u ) | |
| goto LABEL_16; | |
| v26 = v54[20]; | |
| if ( !v26 ) | |
| goto LABEL_16; | |
| goto LABEL_102; | |
| case 25: // Dream Ball | |
| if ( !target_pokemon->IsSleeping(target_pokemon) ) | |
| { | |
| LABEL_96: | |
| v13 = 1.0; | |
| goto LABEL_16; | |
| } | |
| v13 = 4.0; | |
| v55 = (unsigned __int16 *)((char *)v7 - *v7); | |
| if ( *v55 < 33u ) | |
| goto LABEL_16; | |
| v26 = v55[16]; | |
| if ( !v26 ) | |
| goto LABEL_16; | |
| goto LABEL_102; | |
| case 26: // Beast Ball | |
| if ( target_pokemon->IsUltraBeast(target_pokemon) ) | |
| { | |
| v13 = 5.0; | |
| goto LABEL_16; | |
| } | |
| v56 = (unsigned __int16 *)((char *)v7 - *v7); | |
| v13 = 0.1; | |
| if ( *v56 >= 31u ) | |
| { | |
| v26 = v56[15]; | |
| if ( v26 ) | |
| goto LABEL_102; | |
| } | |
| goto LABEL_16; | |
| default: | |
| v13 = sub_7100805248((__int64)a1, (unsigned __int16 *)a2); | |
| break; | |
| } | |
| } | |
| if ( !target_pokemon ) | |
| return v13; | |
| LABEL_16: | |
| v16 = target_pokemon->p_reference_count; | |
| v17 = (unsigned __int16 *)(v16 + 26); | |
| do | |
| v18 = __ldaxr(v17); | |
| while ( __stlxr(v18 - 1, v17) ); | |
| if ( v18 != 1 ) | |
| { | |
| if ( v18 ) | |
| return v13; | |
| LABEL_35: | |
| abort_0(); | |
| } | |
| *(_QWORD *)(v16 + 8) = 0LL; | |
| *(_QWORD *)(v16 + 16) = 0LL; | |
| v22 = target_pokemon->p_reference_count; | |
| target_pokemon->p_reference_count = 0LL; | |
| if ( v22 ) | |
| { | |
| v23 = (unsigned __int16 *)(v22 + 24); | |
| do | |
| v24 = __ldaxr(v23); | |
| while ( __stlxr(v24 - 1, v23) ); | |
| if ( v24 == 1 ) | |
| { | |
| sub_7100009990(v22); | |
| } | |
| else if ( !v24 ) | |
| { | |
| goto LABEL_35; | |
| } | |
| } | |
| target_pokemon->VFunc50(target_pokemon); | |
| return v13; | |
| } | |
| return sub_7100805248((__int64)a1, (unsigned __int16 *)a2); | |
| } | |
| ------ | |
| .text:0000007100804BC4 ; float __fastcall get_ball_capture_ratio(pml::Capture *, pml::Capture::Param *) | |
| .text:0000007100804BC4 get_ball_capture_ratio | |
| .text:0000007100804BC4 | |
| .text:0000007100804BC4 var_8 = -8 | |
| .text:0000007100804BC4 var_s0 = 0 | |
| .text:0000007100804BC4 var_s10 = 0x10 | |
| .text:0000007100804BC4 var_s18 = 0x18 | |
| .text:0000007100804BC4 var_s28 = 0x28 | |
| .text:0000007100804BC4 | |
| .text:0000007100804BC4 STR D8, [SP,#-0x38+var_8]! | |
| .text:0000007100804BC8 STP X29, X30, [SP,#8+var_s0] | |
| .text:0000007100804BCC STR X23, [SP,#8+var_s10] | |
| .text:0000007100804BD0 STP X22, X21, [SP,#8+var_s18] | |
| .text:0000007100804BD4 STP X20, X19, [SP,#8+var_s28] | |
| .text:0000007100804BD8 ADD X29, SP, #8 | |
| .text:0000007100804BDC ADRL X8, qword_7105F2CD00 | |
| .text:0000007100804BE4 LDR W9, [X8,#(dword_7105F2CE00 - 0x7105F2CD00)] | |
| .text:0000007100804BE8 DMB ISHLD | |
| .text:0000007100804BEC CBZ W9, loc_7100804D98 | |
| .text:0000007100804BF0 LDR W9, [X8,#(dword_7105F2CE00 - 0x7105F2CD00)] | |
| .text:0000007100804BF4 ADD X8, X8, #0xC8 | |
| .text:0000007100804BF8 DMB ISHLD | |
| .text:0000007100804BFC MOV X20, X1 | |
| .text:0000007100804C00 MOV X21, X0 | |
| .text:0000007100804C04 CMP W9, #0 | |
| .text:0000007100804C08 MOV W9, #0xC8 | |
| .text:0000007100804C0C CSEL X8, X9, X8, EQ | |
| .text:0000007100804C10 LDR X22, [X8] | |
| .text:0000007100804C14 CBZ X22, loc_7100804DA0 | |
| .text:0000007100804C18 LDR X19, [X20,#8] | |
| .text:0000007100804C1C CBZ X19, loc_7100804C50 | |
| .text:0000007100804C20 LDR X23, [X19,#0x38] | |
| .text:0000007100804C24 LDR X8, [X23,#0x10] | |
| .text:0000007100804C28 CBZ X8, loc_7100804D94 | |
| .text:0000007100804C2C ADD X9, X23, #0x1A | |
| .text:0000007100804C30 | |
| .text:0000007100804C30 loc_7100804C30 ; CODE XREF: get_ball_capture_ratio+78↓j | |
| .text:0000007100804C30 LDAXRH W8, [X9] | |
| .text:0000007100804C34 ADD W10, W8, #1 | |
| .text:0000007100804C38 STLXRH W11, W10, [X9] | |
| .text:0000007100804C3C CBNZ W11, loc_7100804C30 | |
| .text:0000007100804C40 CBZ W8, loc_7100804D14 | |
| .text:0000007100804C44 MOV W9, #0xFFFF | |
| .text:0000007100804C48 CMP W8, W9 | |
| .text:0000007100804C4C B.EQ loc_7100804D94 | |
| .text:0000007100804C50 | |
| .text:0000007100804C50 loc_7100804C50 ; CODE XREF: get_ball_capture_ratio+58↑j | |
| .text:0000007100804C50 ; get_ball_capture_ratio+164↓j | |
| .text:0000007100804C50 LDRH W0, [X20,#0x10] | |
| .text:0000007100804C54 BL pml__pokepara__CalcTool__GetBallNo | |
| .text:0000007100804C58 AND W8, W0, #0xFF | |
| .text:0000007100804C5C CMP W8, #2 | |
| .text:0000007100804C60 B.NE loc_7100804CCC | |
| .text:0000007100804C64 LDRSW X8, [X22] | |
| .text:0000007100804C68 FMOV S8, #2.0 | |
| .text:0000007100804C6C SUB X8, X22, X8 | |
| .text:0000007100804C70 LDRH W9, [X8] | |
| .text:0000007100804C74 CMP W9, #7 | |
| .text:0000007100804C78 B.CC loc_7100804C88 | |
| .text:0000007100804C7C LDRH W8, [X8,#6] | |
| .text:0000007100804C80 CBZ X8, loc_7100804C88 | |
| .text:0000007100804C84 | |
| .text:0000007100804C84 loc_7100804C84 ; CODE XREF: get_ball_capture_ratio+148↓j | |
| .text:0000007100804C84 ; get_ball_capture_ratio+184↓j ... | |
| .text:0000007100804C84 LDR S8, [X22,X8] | |
| .text:0000007100804C88 | |
| .text:0000007100804C88 loc_7100804C88 ; CODE XREF: get_ball_capture_ratio+B4↑j | |
| .text:0000007100804C88 ; get_ball_capture_ratio+BC↑j ... | |
| .text:0000007100804C88 CBZ X19, loc_7100804CB0 | |
| .text:0000007100804C8C | |
| .text:0000007100804C8C loc_7100804C8C ; CODE XREF: get_ball_capture_ratio+240↓j | |
| .text:0000007100804C8C ; get_ball_capture_ratio+24C↓j ... | |
| .text:0000007100804C8C LDR X8, [X19,#0x38] | |
| .text:0000007100804C90 ADD X10, X8, #0x1A | |
| .text:0000007100804C94 | |
| .text:0000007100804C94 loc_7100804C94 ; CODE XREF: get_ball_capture_ratio+DC↓j | |
| .text:0000007100804C94 LDAXRH W9, [X10] | |
| .text:0000007100804C98 SUB W11, W9, #1 | |
| .text:0000007100804C9C STLXRH W12, W11, [X10] | |
| .text:0000007100804CA0 CBNZ W12, loc_7100804C94 | |
| .text:0000007100804CA4 CMP W9, #1 | |
| .text:0000007100804CA8 B.EQ loc_7100804D50 | |
| .text:0000007100804CAC CBZ W9, loc_7100804D94 | |
| .text:0000007100804CB0 | |
| .text:0000007100804CB0 loc_7100804CB0 ; CODE XREF: get_ball_capture_ratio:loc_7100804C88↑j | |
| .text:0000007100804CB0 ; get_ball_capture_ratio+1AC↓j ... | |
| .text:0000007100804CB0 LDP X20, X19, [SP,#8+var_s28] | |
| .text:0000007100804CB4 FMOV S0, S8 | |
| .text:0000007100804CB8 LDP X22, X21, [SP,#8+var_s18] | |
| .text:0000007100804CBC LDR X23, [SP,#8+var_s10] | |
| .text:0000007100804CC0 LDP X29, X30, [SP,#8+var_s0] | |
| .text:0000007100804CC4 LDR D8, [SP+8+var_8],#0x40 | |
| .text:0000007100804CC8 RET | |
| .text:0000007100804CCC ; --------------------------------------------------------------------------- | |
| .text:0000007100804CCC | |
| .text:0000007100804CCC loc_7100804CCC ; CODE XREF: get_ball_capture_ratio+9C↑j | |
| .text:0000007100804CCC SUB W8, W8, #3 ; switch 24 cases | |
| .text:0000007100804CD0 CMP W8, #0x17 | |
| .text:0000007100804CD4 B.HI def_7100804CEC ; jumptable 0000007100804CEC default case, cases 5,11,12,14,16,20,22,24 | |
| .text:0000007100804CD8 ADRL X9, jpt_7100804CEC | |
| .text:0000007100804CE0 ADR X10, loc_7100804CF0 ; jumptable 0000007100804CEC case 4 | |
| .text:0000007100804CE4 LDRH W11, [X9,X8,LSL#1] | |
| .text:0000007100804CE8 ADD X10, X10, X11,LSL#2 | |
| .text:0000007100804CEC BR X10 ; switch jump | |
| .text:0000007100804CF0 ; --------------------------------------------------------------------------- | |
| .text:0000007100804CF0 | |
| .text:0000007100804CF0 loc_7100804CF0 ; CODE XREF: get_ball_capture_ratio+128↑j | |
| .text:0000007100804CF0 ; DATA XREF: get_ball_capture_ratio+11C↑o | |
| .text:0000007100804CF0 LDRSW X8, [X22] ; jumptable 0000007100804CEC case 4 | |
| .text:0000007100804CF4 FMOV S8, #1.0 | |
| .text:0000007100804CF8 SUB X8, X22, X8 | |
| .text:0000007100804CFC LDRH W9, [X8] | |
| .text:0000007100804D00 CMP W9, #5 | |
| .text:0000007100804D04 B.CC loc_7100804C88 | |
| .text:0000007100804D08 LDRH W8, [X8,#4] | |
| .text:0000007100804D0C CBNZ X8, loc_7100804C84 | |
| .text:0000007100804D10 B loc_7100804C88 | |
| .text:0000007100804D14 ; --------------------------------------------------------------------------- | |
| .text:0000007100804D14 | |
| .text:0000007100804D14 loc_7100804D14 ; CODE XREF: get_ball_capture_ratio+7C↑j | |
| .text:0000007100804D14 LDR X0, [X23,#0x10] | |
| .text:0000007100804D18 LDR X8, [X0] | |
| .text:0000007100804D1C LDR X8, [X8] | |
| .text:0000007100804D20 BLR X8 | |
| .text:0000007100804D24 STR X0, [X23,#8] | |
| .text:0000007100804D28 B loc_7100804C50 | |
| .text:0000007100804D2C ; --------------------------------------------------------------------------- | |
| .text:0000007100804D2C | |
| .text:0000007100804D2C loc_7100804D2C ; CODE XREF: get_ball_capture_ratio+128↑j | |
| .text:0000007100804D2C LDRSW X8, [X22] ; jumptable 0000007100804CEC case 3 | |
| .text:0000007100804D30 FMOV S8, #1.5 | |
| .text:0000007100804D34 SUB X8, X22, X8 | |
| .text:0000007100804D38 LDRH W9, [X8] | |
| .text:0000007100804D3C CMP W9, #9 | |
| .text:0000007100804D40 B.CC loc_7100804C88 | |
| .text:0000007100804D44 LDRH W8, [X8,#8] | |
| .text:0000007100804D48 CBNZ X8, loc_7100804C84 | |
| .text:0000007100804D4C B loc_7100804C88 | |
| .text:0000007100804D50 ; --------------------------------------------------------------------------- | |
| .text:0000007100804D50 | |
| .text:0000007100804D50 loc_7100804D50 ; CODE XREF: get_ball_capture_ratio+E4↑j | |
| .text:0000007100804D50 STP XZR, XZR, [X8,#8] | |
| .text:0000007100804D54 LDR X0, [X19,#0x38] | |
| .text:0000007100804D58 STR XZR, [X19,#0x38] | |
| .text:0000007100804D5C CBNZ X0, loc_7100804D74 | |
| .text:0000007100804D60 | |
| .text:0000007100804D60 loc_7100804D60 ; CODE XREF: get_ball_capture_ratio+1CC↓j | |
| .text:0000007100804D60 ; get_ball_capture_ratio+650↓j | |
| .text:0000007100804D60 LDR X8, [X19] | |
| .text:0000007100804D64 MOV X0, X19 | |
| .text:0000007100804D68 LDR X8, [X8,#0x50] | |
| .text:0000007100804D6C BLR X8 | |
| .text:0000007100804D70 B loc_7100804CB0 | |
| .text:0000007100804D74 ; --------------------------------------------------------------------------- | |
| .text:0000007100804D74 | |
| .text:0000007100804D74 loc_7100804D74 ; CODE XREF: get_ball_capture_ratio+198↑j | |
| .text:0000007100804D74 ADD X9, X0, #0x18 | |
| .text:0000007100804D78 | |
| .text:0000007100804D78 loc_7100804D78 ; CODE XREF: get_ball_capture_ratio+1C0↓j | |
| .text:0000007100804D78 LDAXRH W8, [X9] | |
| .text:0000007100804D7C SUB W10, W8, #1 | |
| .text:0000007100804D80 STLXRH W11, W10, [X9] | |
| .text:0000007100804D84 CBNZ W11, loc_7100804D78 | |
| .text:0000007100804D88 CMP W8, #1 | |
| .text:0000007100804D8C B.EQ loc_7100805210 | |
| .text:0000007100804D90 CBNZ W8, loc_7100804D60 | |
| .text:0000007100804D94 | |
| .text:0000007100804D94 loc_7100804D94 ; CODE XREF: get_ball_capture_ratio+64↑j | |
| .text:0000007100804D94 ; get_ball_capture_ratio+88↑j ... | |
| .text:0000007100804D94 BL abort_0 | |
| .text:0000007100804D98 ; --------------------------------------------------------------------------- | |
| .text:0000007100804D98 | |
| .text:0000007100804D98 loc_7100804D98 ; CODE XREF: get_ball_capture_ratio+28↑j | |
| .text:0000007100804D98 FMOV S8, #1.0 | |
| .text:0000007100804D9C B loc_7100804CB0 | |
| .text:0000007100804DA0 ; --------------------------------------------------------------------------- | |
| .text:0000007100804DA0 | |
| .text:0000007100804DA0 loc_7100804DA0 ; CODE XREF: get_ball_capture_ratio+50↑j | |
| .text:0000007100804DA0 MOV X0, X21 | |
| .text:0000007100804DA4 MOV X1, X20 | |
| .text:0000007100804DA8 LDR X23, [SP,#8+var_s10] | |
| .text:0000007100804DAC LDP X20, X19, [SP,#8+var_s28] | |
| .text:0000007100804DB0 LDP X22, X21, [SP,#8+var_s18] | |
| .text:0000007100804DB4 LDP X29, X30, [SP,#8+var_s0] | |
| .text:0000007100804DB8 LDR D8, [SP+8+var_8],#0x40 | |
| .text:0000007100804DBC B sub_7100805248 | |
| .text:0000007100804DC0 ; --------------------------------------------------------------------------- | |
| .text:0000007100804DC0 | |
| .text:0000007100804DC0 loc_7100804DC0 ; CODE XREF: get_ball_capture_ratio+128↑j | |
| .text:0000007100804DC0 LDR X8, [X19] ; jumptable 0000007100804CEC case 6 | |
| .text:0000007100804DC4 MOV W1, #0xA | |
| .text:0000007100804DC8 MOV X0, X19 | |
| .text:0000007100804DCC LDR X8, [X8,#0xC0] | |
| .text:0000007100804DD0 BLR X8 | |
| .text:0000007100804DD4 TBNZ W0, #0, loc_7100804DF0 | |
| .text:0000007100804DD8 LDR X8, [X19] | |
| .text:0000007100804DDC MOV X0, X19 | |
| .text:0000007100804DE0 MOV W1, #6 | |
| .text:0000007100804DE4 LDR X8, [X8,#0xC0] | |
| .text:0000007100804DE8 BLR X8 | |
| .text:0000007100804DEC TBZ W0, #0, loc_7100805198 | |
| .text:0000007100804DF0 | |
| .text:0000007100804DF0 loc_7100804DF0 ; CODE XREF: get_ball_capture_ratio+210↑j | |
| .text:0000007100804DF0 LDRSW X8, [X22] | |
| .text:0000007100804DF4 FMOV S8, #3.5 | |
| .text:0000007100804DF8 SUB X8, X22, X8 | |
| .text:0000007100804DFC LDRH W9, [X8] | |
| .text:0000007100804E00 CMP W9, #0xB | |
| .text:0000007100804E04 B.CC loc_7100804C8C | |
| .text:0000007100804E08 LDRH W8, [X8,#0xA] | |
| .text:0000007100804E0C CBNZ X8, loc_71008051F4 | |
| .text:0000007100804E10 B loc_7100804C8C | |
| .text:0000007100804E14 ; --------------------------------------------------------------------------- | |
| .text:0000007100804E14 | |
| .text:0000007100804E14 loc_7100804E14 ; CODE XREF: get_ball_capture_ratio+128↑j | |
| .text:0000007100804E14 LDRB W8, [X20,#0x20] ; jumptable 0000007100804CEC case 7 | |
| .text:0000007100804E18 LDRB W9, [X20,#0x21] | |
| .text:0000007100804E1C ORR W8, W8, W9 | |
| .text:0000007100804E20 CBZ W8, loc_7100805120 | |
| .text:0000007100804E24 LDRSW X8, [X22] | |
| .text:0000007100804E28 FMOV S8, #3.5 | |
| .text:0000007100804E2C SUB X8, X22, X8 | |
| .text:0000007100804E30 LDRH W9, [X8] | |
| .text:0000007100804E34 CMP W9, #0x17 | |
| .text:0000007100804E38 B.CC loc_7100804C88 | |
| .text:0000007100804E3C LDRH W8, [X8,#0x16] | |
| .text:0000007100804E40 CBNZ X8, loc_7100804C84 | |
| .text:0000007100804E44 B loc_7100804C88 | |
| .text:0000007100804E48 ; --------------------------------------------------------------------------- | |
| .text:0000007100804E48 | |
| .text:0000007100804E48 loc_7100804E48 ; CODE XREF: get_ball_capture_ratio+128↑j | |
| .text:0000007100804E48 LDR X0, [X20,#8] ; jumptable 0000007100804CEC case 8 | |
| .text:0000007100804E4C LDR X8, [X0] | |
| .text:0000007100804E50 LDR X8, [X8,#0x88] | |
| .text:0000007100804E54 BLR X8 | |
| .text:0000007100804E58 AND W8, W0, #0xFFFF | |
| .text:0000007100804E5C CMP W8, #0x1D | |
| .text:0000007100804E60 B.HI loc_7100805120 | |
| .text:0000007100804E64 MOV W8, #0x29 ; ')' | |
| .text:0000007100804E68 FMOV S1, #10.0 | |
| .text:0000007100804E6C SUB W8, W8, W0,UXTH | |
| .text:0000007100804E70 SCVTF S0, W8 | |
| .text:0000007100804E74 FDIV S8, S0, S1 | |
| .text:0000007100804E78 B loc_7100804C88 | |
| .text:0000007100804E7C ; --------------------------------------------------------------------------- | |
| .text:0000007100804E7C | |
| .text:0000007100804E7C loc_7100804E7C ; CODE XREF: get_ball_capture_ratio+128↑j | |
| .text:0000007100804E7C LDRB W8, [X20,#0x24] ; jumptable 0000007100804CEC case 9 | |
| .text:0000007100804E80 CBZ W8, loc_7100805120 | |
| .text:0000007100804E84 LDRSW X8, [X22] | |
| .text:0000007100804E88 FMOV S8, #3.5 | |
| .text:0000007100804E8C SUB X8, X22, X8 | |
| .text:0000007100804E90 LDRH W9, [X8] | |
| .text:0000007100804E94 CMP W9, #0xD | |
| .text:0000007100804E98 B.CC loc_7100804C88 | |
| .text:0000007100804E9C LDRH W8, [X8,#0xC] | |
| .text:0000007100804EA0 CBNZ X8, loc_7100804C84 | |
| .text:0000007100804EA4 B loc_7100804C88 | |
| .text:0000007100804EA8 ; --------------------------------------------------------------------------- | |
| .text:0000007100804EA8 | |
| .text:0000007100804EA8 loc_7100804EA8 ; CODE XREF: get_ball_capture_ratio+128↑j | |
| .text:0000007100804EA8 LDRSW X8, [X22] ; jumptable 0000007100804CEC case 10 | |
| .text:0000007100804EAC FMOV S8, #1.0 | |
| .text:0000007100804EB0 SUB X8, X22, X8 | |
| .text:0000007100804EB4 LDRH W9, [X8] | |
| .text:0000007100804EB8 CMP W9, #0xF | |
| .text:0000007100804EBC B.CC loc_7100804C88 | |
| .text:0000007100804EC0 LDRH W8, [X8,#0xE] | |
| .text:0000007100804EC4 CBZ W8, loc_7100804C88 | |
| .text:0000007100804EC8 LDR X20, [X20,#8] | |
| .text:0000007100804ECC CBZ X20, loc_7100804C88 | |
| .text:0000007100804ED0 MOV X0, X20 | |
| .text:0000007100804ED4 BL sub_710277E7C0 | |
| .text:0000007100804ED8 LDRSW X8, [X22] | |
| .text:0000007100804EDC SUB X8, X22, X8 | |
| .text:0000007100804EE0 LDRH W9, [X8] | |
| .text:0000007100804EE4 CMP W9, #0xF | |
| .text:0000007100804EE8 B.CC loc_7100804F08 | |
| .text:0000007100804EEC LDRH W8, [X8,#0xE] | |
| .text:0000007100804EF0 ADD X8, X22, X8 | |
| .text:0000007100804EF4 LDR W9, [X8] | |
| .text:0000007100804EF8 ADD X8, X8, X9 | |
| .text:0000007100804EFC LDR W9, [X8,#4] | |
| .text:0000007100804F00 CMP W0, W9 | |
| .text:0000007100804F04 B.LS loc_7100805208 | |
| .text:0000007100804F08 | |
| .text:0000007100804F08 loc_7100804F08 ; CODE XREF: get_ball_capture_ratio+324↑j | |
| .text:0000007100804F08 MOV X0, X20 | |
| .text:0000007100804F0C BL sub_710277E7C0 | |
| .text:0000007100804F10 LDRSW X8, [X22] | |
| .text:0000007100804F14 SUB X8, X22, X8 | |
| .text:0000007100804F18 LDRH W9, [X8] | |
| .text:0000007100804F1C CMP W9, #0xF | |
| .text:0000007100804F20 B.CC loc_7100804F40 | |
| .text:0000007100804F24 LDRH W8, [X8,#0xE] | |
| .text:0000007100804F28 ADD X8, X22, X8 | |
| .text:0000007100804F2C LDR W9, [X8] | |
| .text:0000007100804F30 ADD X8, X8, X9 | |
| .text:0000007100804F34 LDR W9, [X8,#0xC] | |
| .text:0000007100804F38 CMP W0, W9 | |
| .text:0000007100804F3C B.LS loc_7100805218 | |
| .text:0000007100804F40 | |
| .text:0000007100804F40 loc_7100804F40 ; CODE XREF: get_ball_capture_ratio+35C↑j | |
| .text:0000007100804F40 MOV X0, X20 | |
| .text:0000007100804F44 BL sub_710277E7C0 | |
| .text:0000007100804F48 LDRSW X8, [X22] | |
| .text:0000007100804F4C SUB X8, X22, X8 | |
| .text:0000007100804F50 LDRH W8, [X8,#0xE] | |
| .text:0000007100804F54 ADD X8, X22, X8 | |
| .text:0000007100804F58 LDR W9, [X8] | |
| .text:0000007100804F5C ADD X8, X8, X9 | |
| .text:0000007100804F60 LDR W9, [X8,#0x14] | |
| .text:0000007100804F64 CMP W0, W9 | |
| .text:0000007100804F68 B.LS loc_7100805220 | |
| .text:0000007100804F6C LDR S8, [X8,#0x20] | |
| .text:0000007100804F70 B loc_7100804C88 | |
| .text:0000007100804F74 ; --------------------------------------------------------------------------- | |
| .text:0000007100804F74 | |
| .text:0000007100804F74 loc_7100804F74 ; CODE XREF: get_ball_capture_ratio+128↑j | |
| .text:0000007100804F74 LDRB W8, [X20,#0x23] ; jumptable 0000007100804CEC case 13 | |
| .text:0000007100804F78 CBZ W8, loc_7100805120 | |
| .text:0000007100804F7C LDRSW X8, [X22] | |
| .text:0000007100804F80 FMOV S8, #3.0 | |
| .text:0000007100804F84 SUB X8, X22, X8 | |
| .text:0000007100804F88 LDRH W9, [X8] | |
| .text:0000007100804F8C CMP W9, #0x1B | |
| .text:0000007100804F90 B.CC loc_7100804C88 | |
| .text:0000007100804F94 LDRH W8, [X8,#0x1A] | |
| .text:0000007100804F98 CBNZ X8, loc_7100804C84 | |
| .text:0000007100804F9C B loc_7100804C88 | |
| .text:0000007100804FA0 ; --------------------------------------------------------------------------- | |
| .text:0000007100804FA0 | |
| .text:0000007100804FA0 loc_7100804FA0 ; CODE XREF: get_ball_capture_ratio+128↑j | |
| .text:0000007100804FA0 LDR X8, [X20,#8] ; jumptable 0000007100804CEC case 15 | |
| .text:0000007100804FA4 FMOV S8, #1.0 | |
| .text:0000007100804FA8 CBZ X8, loc_7100804C88 | |
| .text:0000007100804FAC LDRB W8, [X8,#0x55] | |
| .text:0000007100804FB0 SUB W9, W8, #2 | |
| .text:0000007100804FB4 CMP W9, #3 | |
| .text:0000007100804FB8 B.CS loc_71008051FC | |
| .text:0000007100804FBC | |
| .text:0000007100804FBC loc_7100804FBC ; CODE XREF: get_ball_capture_ratio+63C↓j | |
| .text:0000007100804FBC LDRSW X8, [X22] | |
| .text:0000007100804FC0 FMOV S8, #5.0 | |
| .text:0000007100804FC4 SUB X8, X22, X8 | |
| .text:0000007100804FC8 LDRH W9, [X8] | |
| .text:0000007100804FCC CMP W9, #0x19 | |
| .text:0000007100804FD0 B.CC loc_7100804C88 | |
| .text:0000007100804FD4 LDRH W8, [X8,#0x18] | |
| .text:0000007100804FD8 CBNZ X8, loc_7100804C84 | |
| .text:0000007100804FDC B loc_7100804C88 | |
| .text:0000007100804FE0 ; --------------------------------------------------------------------------- | |
| .text:0000007100804FE0 | |
| .text:0000007100804FE0 loc_7100804FE0 ; CODE XREF: get_ball_capture_ratio+128↑j | |
| .text:0000007100804FE0 LDR X8, [X19] ; jumptable 0000007100804CEC case 17 | |
| .text:0000007100804FE4 MOV X0, X19 | |
| .text:0000007100804FE8 LDR X8, [X8,#0xA8] | |
| .text:0000007100804FEC BLR X8 | |
| .text:0000007100804FF0 AND W8, W0, #0xFFFF | |
| .text:0000007100804FF4 CMP W8, #0x64 ; 'd' | |
| .text:0000007100804FF8 B.CC loc_7100805198 | |
| .text:0000007100804FFC LDRSW X8, [X22] | |
| .text:0000007100805000 FMOV S8, #4.0 | |
| .text:0000007100805004 SUB X8, X22, X8 | |
| .text:0000007100805008 LDRH W9, [X8] | |
| .text:000000710080500C CMP W9, #0x23 ; '#' | |
| .text:0000007100805010 B.CC loc_7100804C8C | |
| .text:0000007100805014 LDRH W8, [X8,#0x22] | |
| .text:0000007100805018 CBNZ X8, loc_71008051F4 | |
| .text:000000710080501C B loc_7100804C8C | |
| .text:0000007100805020 ; --------------------------------------------------------------------------- | |
| .text:0000007100805020 | |
| .text:0000007100805020 loc_7100805020 ; CODE XREF: get_ball_capture_ratio+128↑j | |
| .text:0000007100805020 LDR X0, [X20] ; jumptable 0000007100804CEC case 18 | |
| .text:0000007100805024 CBZ X0, loc_7100805120 | |
| .text:0000007100805028 LDR X8, [X0] | |
| .text:000000710080502C LDR X8, [X8,#0x88] | |
| .text:0000007100805030 BLR X8 | |
| .text:0000007100805034 LDR X8, [X19] | |
| .text:0000007100805038 MOV W20, W0 | |
| .text:000000710080503C MOV X0, X19 | |
| .text:0000007100805040 LDR X8, [X8,#0x88] | |
| .text:0000007100805044 BLR X8 | |
| .text:0000007100805048 LDR X8, [X21] | |
| .text:000000710080504C MOV W2, W0 | |
| .text:0000007100805050 MOV X0, X21 | |
| .text:0000007100805054 MOV W1, W20 | |
| .text:0000007100805058 LDR X8, [X8,#0x48] | |
| .text:000000710080505C BLR X8 | |
| .text:0000007100805060 FMOV S8, S0 | |
| .text:0000007100805064 B loc_7100804C8C | |
| .text:0000007100805068 ; --------------------------------------------------------------------------- | |
| .text:0000007100805068 | |
| .text:0000007100805068 loc_7100805068 ; CODE XREF: get_ball_capture_ratio+128↑j | |
| .text:0000007100805068 LDRB W8, [X20,#0x20] ; jumptable 0000007100804CEC case 19 | |
| .text:000000710080506C CBZ W8, loc_7100805120 | |
| .text:0000007100805070 LDRSW X8, [X22] | |
| .text:0000007100805074 FMOV S8, #3.5 | |
| .text:0000007100805078 SUB X8, X22, X8 | |
| .text:000000710080507C LDRH W9, [X8] | |
| .text:0000007100805080 CMP W9, #0x2D ; '-' | |
| .text:0000007100805084 B.CC loc_7100804C88 | |
| .text:0000007100805088 LDRH W8, [X8,#0x2C] | |
| .text:000000710080508C CBNZ X8, loc_7100804C84 | |
| .text:0000007100805090 B loc_7100804C88 | |
| .text:0000007100805094 ; --------------------------------------------------------------------------- | |
| .text:0000007100805094 | |
| .text:0000007100805094 loc_7100805094 ; CODE XREF: get_ball_capture_ratio+128↑j | |
| .text:0000007100805094 LDR X0, [X20] ; jumptable 0000007100804CEC case 21 | |
| .text:0000007100805098 CBZ X0, loc_7100805120 | |
| .text:000000710080509C LDR X8, [X0] | |
| .text:00000071008050A0 LDR X8, [X8,#0x68] | |
| .text:00000071008050A4 BLR X8 | |
| .text:00000071008050A8 AND W23, W0, #0xFFFF | |
| .text:00000071008050AC LDR X0, [X20] | |
| .text:00000071008050B0 LDR X8, [X0] | |
| .text:00000071008050B4 LDR X8, [X8,#0x90] | |
| .text:00000071008050B8 BLR X8 | |
| .text:00000071008050BC LDR X8, [X19] | |
| .text:00000071008050C0 MOV W20, W0 | |
| .text:00000071008050C4 MOV X0, X19 | |
| .text:00000071008050C8 LDR X8, [X8,#0x68] | |
| .text:00000071008050CC BLR X8 | |
| .text:00000071008050D0 LDR X8, [X19] | |
| .text:00000071008050D4 MOV W21, W0 | |
| .text:00000071008050D8 MOV X0, X19 | |
| .text:00000071008050DC LDR X8, [X8,#0x90] | |
| .text:00000071008050E0 BLR X8 | |
| .text:00000071008050E4 FMOV S8, #1.0 | |
| .text:00000071008050E8 CMP W23, W21,UXTH | |
| .text:00000071008050EC B.NE loc_7100804C8C | |
| .text:00000071008050F0 AND W8, W20, #0xFF | |
| .text:00000071008050F4 CMP W8, W0,UXTB | |
| .text:00000071008050F8 B.EQ loc_7100804C8C | |
| .text:00000071008050FC LDRSW X8, [X22] | |
| .text:0000007100805100 FMOV S8, #8.0 | |
| .text:0000007100805104 SUB X8, X22, X8 | |
| .text:0000007100805108 LDRH W9, [X8] | |
| .text:000000710080510C CMP W9, #0x2B ; '+' | |
| .text:0000007100805110 B.CC loc_7100804C8C | |
| .text:0000007100805114 LDRH W8, [X8,#0x2A] | |
| .text:0000007100805118 CBNZ X8, loc_71008051F4 | |
| .text:000000710080511C B loc_7100804C8C | |
| .text:0000007100805120 ; --------------------------------------------------------------------------- | |
| .text:0000007100805120 | |
| .text:0000007100805120 loc_7100805120 ; CODE XREF: get_ball_capture_ratio+25C↑j | |
| .text:0000007100805120 ; get_ball_capture_ratio+29C↑j ... | |
| .text:0000007100805120 FMOV S8, #1.0 | |
| .text:0000007100805124 B loc_7100804C88 | |
| .text:0000007100805128 ; --------------------------------------------------------------------------- | |
| .text:0000007100805128 | |
| .text:0000007100805128 loc_7100805128 ; CODE XREF: get_ball_capture_ratio+128↑j | |
| .text:0000007100805128 LDR X8, [X19] ; jumptable 0000007100804CEC case 23 | |
| .text:000000710080512C MOV X0, X19 | |
| .text:0000007100805130 LDR X8, [X8,#0xC8] | |
| .text:0000007100805134 BLR X8 | |
| .text:0000007100805138 TBZ W0, #0, loc_7100805198 | |
| .text:000000710080513C LDRSW X8, [X22] | |
| .text:0000007100805140 FMOV S8, #4.0 | |
| .text:0000007100805144 SUB X8, X22, X8 | |
| .text:0000007100805148 LDRH W9, [X8] | |
| .text:000000710080514C CMP W9, #0x29 ; ')' | |
| .text:0000007100805150 B.CC loc_7100804C8C | |
| .text:0000007100805154 LDRH W8, [X8,#0x28] | |
| .text:0000007100805158 CBNZ X8, loc_71008051F4 | |
| .text:000000710080515C B loc_7100804C8C | |
| .text:0000007100805160 ; --------------------------------------------------------------------------- | |
| .text:0000007100805160 | |
| .text:0000007100805160 loc_7100805160 ; CODE XREF: get_ball_capture_ratio+128↑j | |
| .text:0000007100805160 LDR X8, [X19] ; jumptable 0000007100804CEC case 25 | |
| .text:0000007100805164 MOV X0, X19 | |
| .text:0000007100805168 LDR X8, [X8,#0xB8] | |
| .text:000000710080516C BLR X8 | |
| .text:0000007100805170 TBZ W0, #0, loc_7100805198 | |
| .text:0000007100805174 LDRSW X8, [X22] | |
| .text:0000007100805178 FMOV S8, #4.0 | |
| .text:000000710080517C SUB X8, X22, X8 | |
| .text:0000007100805180 LDRH W9, [X8] | |
| .text:0000007100805184 CMP W9, #0x21 ; '!' | |
| .text:0000007100805188 B.CC loc_7100804C8C | |
| .text:000000710080518C LDRH W8, [X8,#0x20] | |
| .text:0000007100805190 CBNZ X8, loc_71008051F4 | |
| .text:0000007100805194 B loc_7100804C8C | |
| .text:0000007100805198 ; --------------------------------------------------------------------------- | |
| .text:0000007100805198 | |
| .text:0000007100805198 loc_7100805198 ; CODE XREF: get_ball_capture_ratio+228↑j | |
| .text:0000007100805198 ; get_ball_capture_ratio+434↑j ... | |
| .text:0000007100805198 FMOV S8, #1.0 | |
| .text:000000710080519C B loc_7100804C8C | |
| .text:00000071008051A0 ; --------------------------------------------------------------------------- | |
| .text:00000071008051A0 | |
| .text:00000071008051A0 loc_71008051A0 ; CODE XREF: get_ball_capture_ratio+128↑j | |
| .text:00000071008051A0 LDR X8, [X19] ; jumptable 0000007100804CEC case 26 | |
| .text:00000071008051A4 MOV X0, X19 | |
| .text:00000071008051A8 LDR X8, [X8,#0xB0] | |
| .text:00000071008051AC BLR X8 | |
| .text:00000071008051B0 TBZ W0, #0, loc_71008051D0 | |
| .text:00000071008051B4 FMOV S8, #5.0 | |
| .text:00000071008051B8 B loc_7100804C8C | |
| .text:00000071008051BC ; --------------------------------------------------------------------------- | |
| .text:00000071008051BC | |
| .text:00000071008051BC def_7100804CEC ; CODE XREF: get_ball_capture_ratio+110↑j | |
| .text:00000071008051BC ; get_ball_capture_ratio+128↑j | |
| .text:00000071008051BC MOV X0, X21 ; jumptable 0000007100804CEC default case, cases 5,11,12,14,16,20,22,24 | |
| .text:00000071008051C0 MOV X1, X20 | |
| .text:00000071008051C4 BL sub_7100805248 | |
| .text:00000071008051C8 FMOV S8, S0 | |
| .text:00000071008051CC B loc_7100804C88 | |
| .text:00000071008051D0 ; --------------------------------------------------------------------------- | |
| .text:00000071008051D0 | |
| .text:00000071008051D0 loc_71008051D0 ; CODE XREF: get_ball_capture_ratio+5EC↑j | |
| .text:00000071008051D0 LDRSW X8, [X22] | |
| .text:00000071008051D4 ADRP X10, #dword_7103163BCC@PAGE | |
| .text:00000071008051D8 SUB X8, X22, X8 | |
| .text:00000071008051DC LDR S8, [X10,#dword_7103163BCC@PAGEOFF] | |
| .text:00000071008051E0 LDRH W9, [X8] | |
| .text:00000071008051E4 CMP W9, #0x1F | |
| .text:00000071008051E8 B.CC loc_7100804C8C | |
| .text:00000071008051EC LDRH W8, [X8,#0x1E] | |
| .text:00000071008051F0 CBZ X8, loc_7100804C8C | |
| .text:00000071008051F4 | |
| .text:00000071008051F4 loc_71008051F4 ; CODE XREF: get_ball_capture_ratio+248↑j | |
| .text:00000071008051F4 ; get_ball_capture_ratio+454↑j ... | |
| .text:00000071008051F4 LDR S8, [X22,X8] | |
| .text:00000071008051F8 B loc_7100804C8C | |
| .text:00000071008051FC ; --------------------------------------------------------------------------- | |
| .text:00000071008051FC | |
| .text:00000071008051FC loc_71008051FC ; CODE XREF: get_ball_capture_ratio+3F4↑j | |
| .text:00000071008051FC CMP W8, #1 | |
| .text:0000007100805200 B.EQ loc_7100804FBC | |
| .text:0000007100805204 B loc_7100804C88 | |
| .text:0000007100805208 ; --------------------------------------------------------------------------- | |
| .text:0000007100805208 | |
| .text:0000007100805208 loc_7100805208 ; CODE XREF: get_ball_capture_ratio+340↑j | |
| .text:0000007100805208 LDR S8, [X8,#8] | |
| .text:000000710080520C B loc_7100804C88 | |
| .text:0000007100805210 ; --------------------------------------------------------------------------- | |
| .text:0000007100805210 | |
| .text:0000007100805210 loc_7100805210 ; CODE XREF: get_ball_capture_ratio+1C8↑j | |
| .text:0000007100805210 BL sub_7100009990 | |
| .text:0000007100805214 B loc_7100804D60 | |
| .text:0000007100805218 ; --------------------------------------------------------------------------- | |
| .text:0000007100805218 | |
| .text:0000007100805218 loc_7100805218 ; CODE XREF: get_ball_capture_ratio+378↑j | |
| .text:0000007100805218 LDR S8, [X8,#0x10] | |
| .text:000000710080521C B loc_7100804C88 | |
| .text:0000007100805220 ; --------------------------------------------------------------------------- | |
| .text:0000007100805220 | |
| .text:0000007100805220 loc_7100805220 ; CODE XREF: get_ball_capture_ratio+3A4↑j | |
| .text:0000007100805220 LDR S8, [X8,#0x18] | |
| .text:0000007100805224 B loc_7100804C88 | |
| .text:0000007100805224 ; End of function get_ball_capture_ratio |
Comments are disabled for this gist.