Created
August 20, 2022 19:21
-
-
Save Lusamine/6e0d3c4635165dd1cf3e0b93e2f8622f to your computer and use it in GitHub Desktop.
This file contains 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
__int64 __fastcall get_capture_indicator(capture_info *a1, capture_info *a2) | |
{ | |
float *capture_index_ofs; // x21 | |
unsigned int v5; // w9 | |
__int64 v6; // x8 | |
__int64 v7; // x9 | |
__int64 v8; // x11 | |
__int64 v9; // x8 | |
__int64 v10; // x9 | |
__int64 v11; // x11 | |
__int64 v12; // x8 | |
__int64 v13; // x9 | |
__int64 qword58; // x11 | |
__int64 v15; // x9 | |
__int64 v16; // x10 | |
__int64 qword78; // x11 | |
long double capture_offset_from_hash; // q0 | |
__int64 species_no; // x9 | |
__int64 v20; // x8 | |
_BOOL4 v21; // w10 | |
float capture_index_basic_coef; // s13 MAPDST | |
__int64 *v23; // x0 | |
__int64 v24; // x9 | |
unsigned __int64 v25; // x10 | |
int *v26; // x8 | |
unsigned __int16 *v27; // x9 | |
__int64 v28; // x9 | |
unsigned int catch_rate; // w22 | |
long double capture_index_pokepara_coef_ofs; // q0 | |
int is_outbreak; // w23 | |
float capture_index_pokepara_coef; // s9 MAPDST | |
long double v33; // q0 | |
int plrank; // w24 | |
unsigned int poke_level; // w26 | |
float capture_index_outbreak_factor; // s11 MAPDST | |
unsigned int glv; // w25 | |
int poke_lvrank_bias_oybn; // w20 | |
long double poke_lvrank_bias_per_glv_ofs; // q0 | |
int glv_factor; // w25 | |
int poke_lvrank; // w26 | |
int poke_lvrank_max; // w0 | |
int poke_lvrank_index; // w8 | |
__int64 *lv_factor_index; // x8 | |
unsigned __int64 v45; // x9 | |
const char *v46; // x10 | |
__int64 v47; // x8 | |
long double v48; // q0 | |
unsigned int max_hp0; // w8 | |
unsigned int cur_hp0; // s0 | |
float max_hp; // s12 | |
float cur_hp; // s8 | |
long double capture_index_hp_coef_ofs; // q0 | |
float hp_factor; // s8 | |
unsigned __int64 v55; // x8 | |
unsigned __int64 *p_capture_hash; // x0 | |
__int64 v57; // x9 | |
const char *v58; // x10 | |
long double v59; // q0 | |
int ball_index; // w8 | |
float sick_factor; // s12 | |
unsigned __int64 v64; // x8 | |
__int64 v65; // x10 | |
const char *v66; // x9 | |
float ball_factor; // s13 | |
unsigned __int64 v68; // x8 | |
char *v69; // x0 | |
__int64 v70; // x9 | |
const char *v71; // x10 | |
float ai_factor; // s14 | |
unsigned __int64 v73; // x9 | |
unsigned __int64 *v74; // x0 | |
const char *v75; // x8 | |
float backstrike_factor; // s15 | |
unsigned __int64 v77; // x8 | |
unsigned __int64 *v78; // x0 | |
__int64 v79; // x9 | |
const char *v80; // x10 | |
long double bait_factor_ofs; // q0 | |
float capture_index; // s8 | |
float capture_index_range_top; // s9 | |
long double capture_index_range_bottom_ofs; // q0 | |
int capture_result; // w8 | |
float capture_ratio; // s9 | |
float capture_index0; // s11 | |
float capture_index_range_top0; // s8 | |
int random_value_max0; // w0 | |
float random_value_max; // s9 | |
long double capture_judge_radical_root_ofs; // q0 | |
float capture_index1; // s11 | |
float power; // s8 | |
long double capture_index_range_top_ofs; // q0 | |
float capture_fail_ratio; // s0 | |
__int64 result; // x0 | |
int ai_react_behavior; // w8 | |
__int64 *v99; // x10 | |
__int64 *v100; // x9 | |
int ai_feeding_behavior; // w8 | |
capture_info *v102; // x0 | |
__int64 v103; // [xsp+0h] [xbp-210h] BYREF | |
char v104; // [xsp+20h] [xbp-1F0h] BYREF | |
char v105; // [xsp+40h] [xbp-1D0h] BYREF | |
char v106; // [xsp+60h] [xbp-1B0h] BYREF | |
char v107; // [xsp+80h] [xbp-190h] BYREF | |
char v108; // [xsp+A0h] [xbp-170h] BYREF | |
char v109[32]; // [xsp+C0h] [xbp-150h] BYREF | |
char v110[32]; // [xsp+E0h] [xbp-130h] BYREF | |
char v111[32]; // [xsp+100h] [xbp-110h] BYREF | |
char v112[32]; // [xsp+120h] [xbp-F0h] BYREF | |
char v113[32]; // [xsp+140h] [xbp-D0h] BYREF | |
unsigned __int64 capture_hash; // [xsp+160h] [xbp-B0h] BYREF | |
const char *capture_string; // [xsp+168h] [xbp-A8h] | |
__int64 capture_strlen; // [xsp+170h] [xbp-A0h] | |
__int64 v117; // [xsp+178h] [xbp-98h] | |
float lv_factor; // [xsp+1CCh] [xbp-44h] | |
*(_QWORD *)&a1->capture_index = 0LL; | |
capture_index_ofs = &a1->capture_index; | |
*(_DWORD *)&a1->species_no = 0; | |
LOWORD(a1->word8) = 0; | |
*(_QWORD *)&a1->cur_hp = 0LL; | |
a1->sick_index = 0; | |
*(_QWORD *)&a1->ball_index = 0LL; | |
*(_QWORD *)&a1->capture_ratio = 0LL; | |
a1->capture_result = 2; | |
v5 = a2->max_hp; | |
if ( v5 ) | |
LOBYTE(v5) = a2->cur_hp <= v5; | |
if ( ((unsigned __int8)v5 & (*(_DWORD *)&a2->species_no != 0 && *(_DWORD *)&a2->species_no < 906) & (*(_DWORD *)&a2->ball_index != 0 && *(_DWORD *)&a2->ball_index < 38)) == 0 ) | |
return 0LL; | |
v6 = *(_QWORD *)&a2->plrank; | |
v7 = *(_QWORD *)&a2->word8; | |
v8 = *(_QWORD *)&a2->gv_def; | |
*(_QWORD *)&a1->gv_hp = *(_QWORD *)&a2->gv_hp; | |
*(_QWORD *)&a1->gv_def = v8; | |
*(_QWORD *)&a1->plrank = v6; | |
*(_QWORD *)&a1->word8 = v7; | |
v9 = *(_QWORD *)&a2->gv_spd; | |
v10 = *(_QWORD *)&a2->cur_hp; | |
v11 = *(_QWORD *)&a2->ball_index; | |
*(_QWORD *)&a1->sick_index = *(_QWORD *)&a2->sick_index; | |
*(_QWORD *)&a1->ball_index = v11; | |
*(_QWORD *)&a1->gv_spd = v9; | |
*(_QWORD *)&a1->cur_hp = v10; | |
v12 = *(_QWORD *)&a2->field_40; | |
v13 = *(_QWORD *)&a2->is_outbreak; | |
qword58 = a2->qword58; | |
a1->qword50 = a2->qword50; | |
a1->qword58 = qword58; | |
*(_QWORD *)&a1->field_40 = v12; | |
*(_QWORD *)&a1->is_outbreak = v13; | |
v15 = *(_QWORD *)&a2->ai_feeding_behavior; | |
v16 = *(_QWORD *)&a2->field_70; | |
qword78 = a2->qword78; | |
a1->qword60 = a2->qword60; | |
*(_QWORD *)&a1->ai_feeding_behavior = v15; | |
LODWORD(v12) = (unsigned __int8)a1->field_44; | |
*(_QWORD *)&a1->field_70 = v16; | |
a1->qword78 = qword78; | |
if ( !(_DWORD)v12 || a1->catch_type == 2 ) | |
{ | |
if ( !a1->is_not_aggro_towards_player ) | |
goto LABEL_108; | |
} | |
else | |
{ | |
a1->catch_type = 1; | |
if ( !a1->is_not_aggro_towards_player ) | |
{ | |
LABEL_108: | |
if ( a1->catch_type != 2 ) | |
a1->catch_type = 2; | |
} | |
} | |
capture_hash = 0x59676EBDFE28CE5LL; | |
capture_string = "capture_index_basic_coef"; | |
capture_strlen = 24LL; | |
v117 = 0LL; | |
capture_offset_from_hash = get_capture_offset_from_hash(&capture_hash); | |
species_no = *(unsigned int *)&a1->species_no; | |
LOWORD(v20) = a1->word8; | |
v21 = (int)species_no > 905 || ((unsigned int)species_no | 1) == 907; | |
capture_index_basic_coef = *(float *)&capture_offset_from_hash; | |
if ( v21 ) | |
LOWORD(v20) = 0; | |
if ( (unsigned __int16)v20 > 27u ) | |
goto LABEL_13; | |
if ( v21 ) | |
species_no = 0LL; | |
v23 = (__int64 *)qword_71042F23A0[4 * species_no]; | |
v24 = *v23; | |
v25 = (v23[1] - *v23) >> 3; | |
if ( v25 <= (unsigned __int16)v20 || !*(_QWORD *)(v24 + 8LL * (unsigned __int16)v20) ) | |
{ | |
LABEL_13: | |
v23 = (__int64 *)qword_71042F23A0[0]; | |
LOWORD(v20) = 0; | |
v24 = *(_QWORD *)qword_71042F23A0[0]; | |
v25 = (__int64)(*(_QWORD *)(qword_71042F23A0[0] + 8) - *(_QWORD *)qword_71042F23A0[0]) >> 3; | |
} | |
v20 = (unsigned __int16)v20; | |
if ( v25 > (unsigned __int16)v20 ) | |
{ | |
v26 = *(int **)(v24 + 8 * v20); | |
v27 = (unsigned __int16 *)((char *)v26 - *v26); | |
if ( *v27 >= 39u && (v28 = v27[19]) != 0 ) // Value 17 in personal table is catch rate. | |
catch_rate = *((unsigned __int8 *)v26 + v28); | |
else | |
catch_rate = 0; | |
capture_hash = 0xD9FA5C848808ECA4LL; | |
capture_string = "capture_index_pokepara_coef"; | |
capture_strlen = 27LL; | |
v117 = 0LL; | |
capture_index_pokepara_coef_ofs = get_capture_offset_from_hash(&capture_hash); | |
is_outbreak = (unsigned __int8)a1->is_outbreak; | |
capture_index_pokepara_coef = *(float *)&capture_index_pokepara_coef_ofs; | |
capture_hash = 0x9D9179CF276FE936LL; | |
capture_string = "capture_index_outbreak_factor"; | |
capture_strlen = 29LL; | |
v117 = 0LL; | |
v33 = get_capture_offset_from_hash(&capture_hash); | |
if ( *(_DWORD *)&a2->plrank >= 10u ) | |
plrank = 10; | |
else | |
plrank = *(_DWORD *)&a2->plrank; | |
poke_level = a2->poke_level; | |
capture_index_outbreak_factor = *(float *)&v33; | |
glv = a2->gv_atk + a2->gv_hp + a2->gv_def + a2->gv_spa + a2->gv_spd + a2->gv_spe; | |
if ( a2->is_oybn ) | |
{ | |
capture_hash = 0x45BA8962E1F7264CLL; | |
capture_string = "poke_lvrank_bias_oybn"; | |
capture_strlen = 21LL; | |
v117 = 0LL; | |
poke_lvrank_bias_oybn = get_capture_value_from_hash(&capture_hash); | |
} | |
else | |
{ | |
poke_lvrank_bias_oybn = 0; | |
} | |
capture_hash = 0x2CF7843E4882DF4FLL; | |
capture_string = "poke_lvrank_bias_per_glv"; | |
capture_strlen = 24LL; | |
v117 = 0LL; | |
poke_lvrank_bias_per_glv_ofs = get_capture_offset_from_hash(&capture_hash); | |
capture_hash = 0xC9B446FA2EC6E9B6LL; | |
capture_string = "poke_lvrank_1_range_max"; | |
capture_strlen = 23LL; | |
v117 = 0LL; | |
glv_factor = (int)(float)(*(float *)&poke_lvrank_bias_per_glv_ofs * (float)glv); | |
if ( (unsigned int)get_capture_value_from_hash(&capture_hash) >= poke_level ) | |
{ | |
poke_lvrank = 1; | |
} | |
else | |
{ | |
capture_hash = 0xAC2011894D183CBFLL; | |
capture_string = "poke_lvrank_2_range_max"; | |
capture_strlen = 23LL; | |
v117 = 0LL; | |
if ( (unsigned int)get_capture_value_from_hash(&capture_hash) >= poke_level ) | |
{ | |
poke_lvrank = 2; | |
} | |
else | |
{ | |
capture_hash = 0x276CECA19E893A2CLL; | |
capture_string = "poke_lvrank_3_range_max"; | |
capture_strlen = 23LL; | |
v117 = 0LL; | |
if ( (unsigned int)get_capture_value_from_hash(&capture_hash) >= poke_level ) | |
{ | |
poke_lvrank = 3; | |
} | |
else | |
{ | |
capture_hash = 0x2959D0D2E30622A5LL; | |
capture_string = "poke_lvrank_4_range_max"; | |
capture_strlen = 23LL; | |
v117 = 0LL; | |
if ( (unsigned int)get_capture_value_from_hash(&capture_hash) >= poke_level ) | |
{ | |
poke_lvrank = 4; | |
} | |
else | |
{ | |
capture_hash = 0xD1BB9D6F2B6273D2LL; | |
capture_string = "poke_lvrank_5_range_max"; | |
capture_strlen = 23LL; | |
v117 = 0LL; | |
if ( (unsigned int)get_capture_value_from_hash(&capture_hash) >= poke_level ) | |
{ | |
poke_lvrank = 5; | |
} | |
else | |
{ | |
capture_hash = 0x2E77C752FB4BEE6BLL; | |
capture_string = "poke_lvrank_6_range_max"; | |
capture_strlen = 23LL; | |
v117 = 0LL; | |
if ( (unsigned int)get_capture_value_from_hash(&capture_hash) >= poke_level ) | |
{ | |
poke_lvrank = 6; | |
} | |
else | |
{ | |
capture_hash = 0x3FFAB8ECA2941AA8LL; | |
capture_string = "poke_lvrank_7_range_max"; | |
capture_strlen = 23LL; | |
v117 = 0LL; | |
if ( (unsigned int)get_capture_value_from_hash(&capture_hash) < poke_level ) | |
{ | |
capture_hash = 0xE2B1170EDAFB7A61LL; | |
capture_string = "poke_lvrank_8_range_max"; | |
capture_strlen = 23LL; | |
v117 = 0LL; | |
if ( (unsigned int)get_capture_value_from_hash(&capture_hash) < poke_level ) | |
{ | |
capture_hash = 0x2A4CF01147CEBAAELL; | |
capture_string = "poke_lvrank_9_range_max"; | |
capture_strlen = 23LL; | |
v117 = 0LL; | |
if ( (unsigned int)get_capture_value_from_hash(&capture_hash) >= poke_level ) | |
poke_lvrank = 9; | |
else | |
poke_lvrank = 10; | |
} | |
else | |
{ | |
poke_lvrank = 8; | |
} | |
} | |
else | |
{ | |
poke_lvrank = 7; | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
capture_hash = 0x75B7338D12200A6CLL; | |
capture_string = "poke_lvrank_max"; | |
capture_strlen = 15LL; | |
v117 = 0LL; | |
poke_lvrank_max = get_capture_value_from_hash(&capture_hash); | |
poke_lvrank_index = poke_lvrank_bias_oybn + glv_factor + poke_lvrank; | |
if ( poke_lvrank_index >= poke_lvrank_max ) | |
poke_lvrank_index = poke_lvrank_max; | |
if ( poke_lvrank_index ) | |
--poke_lvrank_index; | |
lv_factor_index = &lv_factor_plrank_pokerank_table[30 * plrank + 3 * (unsigned int)poke_lvrank_index];// 30 entries per plrank, 3 entries per poke_lvrank | |
v45 = *lv_factor_index; | |
v46 = (const char *)lv_factor_index[1]; | |
v47 = lv_factor_index[2]; | |
capture_hash = v45; | |
capture_string = v46; | |
capture_strlen = v47; | |
v117 = 0LL; | |
v48 = get_capture_offset_from_hash(&capture_hash); | |
max_hp0 = a1->max_hp; | |
lv_factor = *(float *)&v48; | |
if ( max_hp0 ) | |
{ | |
cur_hp0 = a1->cur_hp; | |
max_hp = (float)max_hp0; | |
capture_hash = 0x9092F2A3627B3F85LL; | |
capture_string = "capture_index_hp_coef"; | |
cur_hp = (float)cur_hp0; | |
capture_strlen = 21LL; | |
v117 = 0LL; | |
capture_index_hp_coef_ofs = get_capture_offset_from_hash(&capture_hash); | |
hp_factor = 1.0 - (float)((float)(*(float *)&capture_index_hp_coef_ofs * cur_hp) / max_hp); | |
} | |
else | |
{ | |
hp_factor = 0.0; | |
} | |
v55 = 0x62EAF84322895335LL; | |
p_capture_hash = &capture_hash; | |
v57 = 32LL; | |
v58 = "capture_index_sick_factor_freeze"; | |
switch ( a1->sick_index ) | |
{ | |
case 1: | |
v55 = 0x8465B12CF814E13CLL; | |
p_capture_hash = (unsigned __int64 *)v111; | |
v57 = 35LL; | |
v58 = "capture_index_sick_factor_paralysis"; | |
break; | |
case 4: | |
v55 = 0x9CD1FF52E08F5E67LL; | |
p_capture_hash = (unsigned __int64 *)v110; | |
v57 = 30LL; | |
v58 = "capture_index_sick_factor_burn"; | |
break; | |
case 5: | |
v55 = 0x4C793817B00CEC5ELL; | |
p_capture_hash = (unsigned __int64 *)v112; | |
v57 = 32LL; | |
v58 = "capture_index_sick_factor_poison"; | |
break; | |
case 6: | |
v55 = 0xB1653F18D38154C1LL; | |
p_capture_hash = (unsigned __int64 *)v113; | |
v57 = 31LL; | |
v58 = "capture_index_sick_factor_sleep"; | |
break; | |
case 7: | |
break; | |
default: | |
v55 = 0x18772DEE4238F2B4LL; | |
p_capture_hash = (unsigned __int64 *)v109; | |
v57 = 30LL; | |
v58 = "capture_index_sick_factor_none"; | |
break; | |
} | |
*p_capture_hash = v55; | |
p_capture_hash[1] = (unsigned __int64)v58; | |
p_capture_hash[2] = v57; | |
p_capture_hash[3] = 0LL; | |
v59 = get_capture_offset_from_hash(p_capture_hash); | |
ball_index = *(_DWORD *)&a1->ball_index; | |
sick_factor = *(float *)&v59; | |
switch ( ball_index ) | |
{ | |
case 29: | |
v64 = 0xD04E978BC4C1FE78LL; | |
v65 = 31LL; | |
v66 = "capture_index_ball_factor_super"; | |
break; | |
case 30: | |
v64 = 0x99DE71F0037B195LL; | |
v65 = 31LL; | |
v66 = "capture_index_ball_factor_hyper"; | |
break; | |
case 31: | |
v100 = &ball_factor_wing_table; | |
v99 = &ball_factor_wing_suitable_table; | |
goto LABEL_101; | |
case 32: | |
v100 = &ball_factor_wing_super_table; | |
v99 = &ball_factor_wing_super_suitable_table; | |
goto LABEL_101; | |
case 33: | |
v100 = &ball_factor_wing_hyper_table; | |
v99 = &ball_factor_wing_hyper_suitable_table; | |
LABEL_101: | |
if ( !a1->wing_suitable_flying_high ) // Wing Ball line gets a bonus for the specific encounters high in the sky. | |
v99 = v100; | |
goto LABEL_85; | |
case 34: | |
if ( a1->stealth_suitable_noticed ) // Heavy Ball line gets a bonus if the Pokémon has not noticed you. | |
v99 = &ball_factor_stealth_table; | |
else | |
v99 = &ball_factor_stealth_suitable_table; | |
goto LABEL_85; | |
case 35: | |
if ( a1->stealth_suitable_noticed ) | |
v99 = &ball_factor_stealth_super_table; | |
else | |
v99 = &ball_factor_stealth_super_suitable_table; | |
goto LABEL_85; | |
case 36: | |
v99 = &ball_factor_stealth_hyper_table; | |
if ( !a1->stealth_suitable_noticed ) | |
v99 = &ball_factor_stealth_hyper_suitable_table; | |
LABEL_85: | |
v64 = *v99; | |
v66 = (const char *)v99[1]; | |
v65 = v99[2]; | |
break; | |
default: | |
v64 = 0xD7769B974D232662LL; | |
v65 = 33LL; | |
v66 = "capture_index_ball_factor_default"; | |
break; | |
} | |
capture_hash = v64; | |
capture_string = v66; | |
capture_strlen = v65; | |
v117 = 0LL; | |
LODWORD(ball_factor) = COERCE_UNSIGNED_INT128(get_capture_offset_from_hash(&capture_hash)); | |
v68 = 0x7E918A37D64C6833LL; | |
v69 = (char *)&capture_hash; | |
v70 = 32LL; | |
v71 = "capture_index_ai_factor_sleeping"; | |
switch ( a1->ai_behavior_type ) | |
{ | |
case 1: | |
v68 = 0xE40DA46C1375657BLL; | |
v69 = v113; | |
v70 = 31LL; | |
v71 = "capture_index_ai_factor_caution";// The "..." reaction, or when they hear you but don't see you. | |
break; | |
case 2: | |
ai_react_behavior = a1->ai_react_behavior; | |
if ( ai_react_behavior == 1 ) // Starts when the ! appears after they notice you. Timid after they run and turn around to look at you. | |
{ | |
v68 = 0x888497D32C05846ELL; | |
v69 = &v105; | |
v70 = 40LL; | |
v71 = "capture_index_ai_factor_react_aggressive"; | |
} | |
else if ( ai_react_behavior == 2 ) | |
{ | |
v68 = 0x962E06E067EA1FE5LL; | |
v69 = &v106; | |
v70 = 35LL; | |
v71 = "capture_index_ai_factor_react_timid"; | |
} | |
else | |
{ | |
v68 = 0x7B846A5D45BF7F20LL; | |
v69 = &v104; | |
v70 = 36LL; | |
v71 = "capture_index_ai_factor_react_docile"; | |
} | |
break; | |
case 3: | |
ai_feeding_behavior = a1->ai_feeding_behavior; | |
if ( ai_feeding_behavior ) | |
{ | |
if ( ai_feeding_behavior == 1 ) | |
{ | |
v68 = 0x2509FB459BDA09BELL; | |
v69 = &v108; | |
v70 = 40LL; | |
v71 = "capture_index_ai_factor_feeding_baitball";// eating cakes | |
} | |
else | |
{ | |
v68 = 0xB149B923E2DD99EELL; | |
v69 = &v107; | |
v70 = 31LL; | |
v71 = "capture_index_ai_factor_feeding";// eating anything else | |
} | |
} | |
else | |
{ | |
v68 = 0x81D8AC8EB05D1D9FLL; | |
v69 = v109; | |
v70 = 36LL; | |
v71 = "capture_index_ai_factor_feeding_nuts";// eating berries | |
} | |
break; | |
case 4: | |
break; | |
case 5: | |
v68 = 0x7B33512EEBD9B4B6LL; | |
v69 = v110; | |
v70 = 32LL; | |
v71 = "capture_index_ai_factor_escaping"; | |
break; | |
case 6: | |
v68 = 0xC6ADCE1789869E03LL; | |
v69 = v112; | |
v70 = 33LL; | |
v71 = "capture_index_ai_factor_tiredness";// Stunning with items | |
break; | |
case 7: | |
v68 = 0x58519C0B1F1E33A0LL; | |
v69 = v111; | |
v70 = 31LL; | |
v71 = "capture_index_ai_factor_resting"; | |
break; | |
default: | |
v68 = 0xCBFD17AC2DEC1AB7LL; | |
v69 = (char *)&v103; | |
v70 = 31LL; | |
v71 = "capture_index_ai_factor_default"; | |
break; | |
} | |
*(_QWORD *)v69 = v68; | |
*((_QWORD *)v69 + 1) = v71; | |
*((_QWORD *)v69 + 2) = v70; | |
*((_QWORD *)v69 + 3) = 0LL; | |
LODWORD(ai_factor) = COERCE_UNSIGNED_INT128(get_capture_offset_from_hash((unsigned __int64 *)v69)); | |
v73 = 0x9F5D4DAA67A63E57LL; | |
if ( a1->backstrike_success ) | |
v74 = &capture_hash; | |
else | |
v74 = (unsigned __int64 *)v113; | |
v75 = "capture_index_backstrike_success_factor"; | |
if ( a1->backstrike_success ) | |
v73 = 0x58B3F904BDABE0C4LL; | |
if ( !a1->backstrike_success ) | |
v75 = "capture_index_backstrike_failure_factor"; | |
*v74 = v73; | |
v74[1] = (unsigned __int64)v75; | |
v74[2] = 39LL; | |
v74[3] = 0LL; | |
LODWORD(backstrike_factor) = COERCE_UNSIGNED_INT128(get_capture_offset_from_hash(v74)); | |
if ( (a1->field_70 & 1) != 0 ) // Picked up or has eaten Razz Berry (persists in battle). | |
{ | |
v77 = 0x2098631317549760LL; | |
v78 = &capture_hash; | |
v79 = 41LL; | |
v80 = "capture_index_baiteffect_available_factor"; | |
} | |
else | |
{ | |
v77 = 0xE01F57D0F55AAE72LL; | |
v78 = (unsigned __int64 *)v113; | |
v79 = 45LL; | |
v80 = "capture_index_baiteffect_not_available_factor"; | |
} | |
*v78 = v77; | |
v78[1] = (unsigned __int64)v80; | |
v78[2] = v79; | |
v78[3] = 0LL; | |
bait_factor_ofs = get_capture_offset_from_hash(v78); | |
if ( a1->is_not_aggro_towards_player ) // Disabled when aggressive and not stunned. | |
{ | |
if ( !is_outbreak ) | |
capture_index_outbreak_factor = 0.0; | |
capture_index = (float)((float)((float)(capture_index_pokepara_coef * (float)catch_rate) | |
+ capture_index_outbreak_factor) | |
+ (float)(capture_index_basic_coef * lv_factor)) | |
+ (float)((float)((float)((float)((float)((float)(capture_index_basic_coef * hp_factor) * sick_factor) | |
* ball_factor) | |
* ai_factor) | |
* backstrike_factor) | |
* *(float *)&bait_factor_ofs); | |
} | |
else | |
{ | |
capture_hash = 0x916810CA2E189E6ALL; | |
capture_string = "capture_index_range_bottom"; | |
capture_strlen = 26LL; | |
v117 = 0LL; | |
LODWORD(capture_index) = COERCE_UNSIGNED_INT128(get_capture_offset_from_hash(&capture_hash)); | |
} | |
*capture_index_ofs = capture_index; | |
capture_hash = 0x5AA46A7246202B1CLL; | |
capture_string = "capture_index_range_top"; | |
capture_strlen = 23LL; | |
v117 = 0LL; | |
LODWORD(capture_index_range_top) = COERCE_UNSIGNED_INT128(get_capture_offset_from_hash(&capture_hash)); | |
capture_hash = 0x916810CA2E189E6ALL; | |
capture_string = "capture_index_range_bottom"; | |
capture_strlen = 26LL; | |
v117 = 0LL; | |
capture_index_range_bottom_ofs = get_capture_offset_from_hash(&capture_hash); | |
if ( *(float *)&capture_index_range_bottom_ofs < capture_index ) | |
capture_result = 1; | |
else | |
capture_result = 2; | |
if ( capture_index_range_top <= capture_index ) | |
capture_result = 0; | |
a1->capture_result = capture_result; // 0 = guaranteed catch, 1 = roll for catch, 2 = impossible catch | |
if ( capture_result == 2 ) | |
{ | |
capture_ratio = 1.0; | |
if ( a1->catch_type != 1 ) | |
LABEL_76: | |
capture_ratio = 0.0; | |
} | |
else | |
{ | |
if ( capture_result ) | |
{ | |
capture_ratio = 0.0; | |
capture_index0 = *capture_index_ofs; | |
capture_hash = 0x5AA46A7246202B1CLL; | |
capture_string = "capture_index_range_top"; | |
capture_strlen = 23LL; | |
v117 = 0LL; | |
LODWORD(capture_index_range_top0) = COERCE_UNSIGNED_INT128(get_capture_offset_from_hash(&capture_hash)); | |
capture_hash = 0x8A148DC1A556BECDLL; | |
capture_string = "random_value_max"; | |
capture_strlen = 16LL; | |
v117 = 0LL; | |
random_value_max0 = get_capture_value_from_hash(&capture_hash); | |
if ( fabsf(capture_index0) > 0.00000011921 )// 1/8388608f | |
{ | |
if ( random_value_max0 ) | |
capture_ratio = (float)((float)random_value_max0 / (float)(capture_index_range_top0 / capture_index0)) | |
/ (float)random_value_max0; | |
} | |
goto LABEL_69; | |
} | |
capture_ratio = 1.0; | |
if ( a1->catch_type == 2 ) | |
goto LABEL_76; | |
} | |
LABEL_69: | |
a1->capture_ratio = capture_ratio; | |
capture_hash = 0x8A148DC1A556BECDLL; | |
capture_string = "random_value_max"; | |
capture_strlen = 16LL; | |
v117 = 0LL; | |
random_value_max = (float)(int)get_capture_value_from_hash(&capture_hash); | |
capture_hash = 0xB9C720D7D22A88E9LL; | |
capture_string = "capture_judge_radical_root"; | |
capture_strlen = 26LL; | |
v117 = 0LL; | |
capture_judge_radical_root_ofs = get_capture_offset_from_hash(&capture_hash); | |
capture_index1 = a1->capture_index; | |
capture_hash = 0x5AA46A7246202B1CLL; | |
capture_string = "capture_index_range_top"; | |
power = 1.0 / *(float *)&capture_judge_radical_root_ofs; | |
capture_strlen = 23LL; | |
v117 = 0LL; | |
capture_index_range_top_ofs = get_capture_offset_from_hash(&capture_hash); | |
capture_fail_ratio = powf_0( | |
1.0 - fminf(fmaxf(capture_index1 / *(float *)&capture_index_range_top_ofs, 0.0), 1.0), | |
power); | |
result = 1LL; | |
a1->shake_chance = (float)(1.0 - capture_fail_ratio) * random_value_max; | |
return result; | |
} | |
v102 = (capture_info *)std::__vector_base_common<true>::__throw_out_of_range(v23); | |
return capture_shake_check(v102); | |
} | |
------ | |
.text:0000007101805800 ; __int64 __fastcall get_capture_indicator(capture_info *a1, capture_info *a2) | |
.text:0000007101805800 get_capture_indicator ; CODE XREF: judge_capture_in_battle+290↑p | |
.text:0000007101805800 ; .text:000000710180AFF0↓p ... | |
.text:0000007101805800 | |
.text:0000007101805800 var_1F0 = -0x1F0 | |
.text:0000007101805800 var_1D0 = -0x1D0 | |
.text:0000007101805800 var_1B0 = -0x1B0 | |
.text:0000007101805800 var_190 = -0x190 | |
.text:0000007101805800 var_170 = -0x170 | |
.text:0000007101805800 var_150 = -0x150 | |
.text:0000007101805800 var_130 = -0x130 | |
.text:0000007101805800 var_110 = -0x110 | |
.text:0000007101805800 var_F0 = -0xF0 | |
.text:0000007101805800 var_D0 = -0xD0 | |
.text:0000007101805800 capture_hash = -0xB0 | |
.text:0000007101805800 capture_string = -0xA8 | |
.text:0000007101805800 capture_strlen = -0xA0 | |
.text:0000007101805800 anonymous_1 = -0x98 | |
.text:0000007101805800 var_90 = -0x90 | |
.text:0000007101805800 var_80 = -0x80 | |
.text:0000007101805800 var_70 = -0x70 | |
.text:0000007101805800 var_60 = -0x60 | |
.text:0000007101805800 var_50 = -0x50 | |
.text:0000007101805800 var_48 = -0x48 | |
.text:0000007101805800 lv_factor = -0x44 | |
.text:0000007101805800 var_40 = -0x40 | |
.text:0000007101805800 var_30 = -0x30 | |
.text:0000007101805800 var_20 = -0x20 | |
.text:0000007101805800 var_10 = -0x10 | |
.text:0000007101805800 var_s0 = 0 | |
.text:0000007101805800 | |
.text:0000007101805800 STP D15, D14, [SP,#-0x10+var_90]! | |
.text:0000007101805804 STP D13, D12, [SP,#0x90+var_80] | |
.text:0000007101805808 STR X28, [SP,#0x90+var_50] | |
.text:000000710180580C STP D11, D10, [SP,#0x90+var_70] | |
.text:0000007101805810 STP D9, D8, [SP,#0x90+var_60] | |
.text:0000007101805814 STP X26, X25, [SP,#0x90+var_40] | |
.text:0000007101805818 STP X24, X23, [SP,#0x90+var_30] | |
.text:000000710180581C STP X22, X21, [SP,#0x90+var_20] | |
.text:0000007101805820 STP X20, X19, [SP,#0x90+var_10] | |
.text:0000007101805824 STP X29, X30, [SP,#0x90+var_s0] | |
.text:0000007101805828 ADD X29, SP, #0x90 | |
.text:000000710180582C SUB SP, SP, #0x180 | |
.text:0000007101805830 MOV X21, X0 | |
.text:0000007101805834 MOV W8, #2 | |
.text:0000007101805838 MOV X20, X1 | |
.text:000000710180583C STR XZR, [X21,#0x84]! | |
.text:0000007101805840 STUR WZR, [X21,#-0x80] | |
.text:0000007101805844 STURH WZR, [X21,#-0x7C] | |
.text:0000007101805848 MOV X19, X0 | |
.text:000000710180584C STUR XZR, [X21,#-0x5C] | |
.text:0000007101805850 STUR WZR, [X21,#-0x54] | |
.text:0000007101805854 STUR XZR, [X21,#-0x4C] | |
.text:0000007101805858 STR XZR, [X21,#8] | |
.text:000000710180585C STR W8, [X21,#0x10] | |
.text:0000007101805860 LDR W8, [X1,#4] | |
.text:0000007101805864 CMP W8, #0 | |
.text:0000007101805868 CSET W9, NE | |
.text:000000710180586C CMP W8, #0x38A | |
.text:0000007101805870 CSET W8, LT | |
.text:0000007101805874 AND W8, W9, W8 | |
.text:0000007101805878 LDR W9, [X1,#0x2C] | |
.text:000000710180587C CBZ W9, loc_710180588C | |
.text:0000007101805880 LDR W10, [X20,#0x28] | |
.text:0000007101805884 CMP W10, W9 | |
.text:0000007101805888 CSET W9, LS | |
.text:000000710180588C | |
.text:000000710180588C loc_710180588C ; CODE XREF: get_capture_indicator+7C↑j | |
.text:000000710180588C AND W8, W9, W8 | |
.text:0000007101805890 LDR W9, [X20,#0x38] | |
.text:0000007101805894 CMP W9, #0 | |
.text:0000007101805898 CSET W10, NE | |
.text:000000710180589C CMP W9, #0x26 ; '&' | |
.text:00000071018058A0 CSET W9, LT | |
.text:00000071018058A4 AND W9, W10, W9 | |
.text:00000071018058A8 TST W8, W9 | |
.text:00000071018058AC B.EQ loc_710180642C | |
.text:00000071018058B0 LDP X8, X9, [X20] | |
.text:00000071018058B4 LDP X10, X11, [X20,#0x10] | |
.text:00000071018058B8 STP X10, X11, [X19,#0x10] | |
.text:00000071018058BC STP X8, X9, [X19] | |
.text:00000071018058C0 LDP X8, X9, [X20,#0x20] | |
.text:00000071018058C4 LDP X10, X11, [X20,#0x30] | |
.text:00000071018058C8 STP X10, X11, [X19,#0x30] | |
.text:00000071018058CC STP X8, X9, [X19,#0x20] | |
.text:00000071018058D0 LDP X8, X9, [X20,#0x40] | |
.text:00000071018058D4 LDP X10, X11, [X20,#0x50] | |
.text:00000071018058D8 STP X10, X11, [X19,#0x50] | |
.text:00000071018058DC STP X8, X9, [X19,#0x40] | |
.text:00000071018058E0 LDP X8, X9, [X20,#0x60] | |
.text:00000071018058E4 LDP X10, X11, [X20,#0x70] | |
.text:00000071018058E8 STP X8, X9, [X19,#0x60] | |
.text:00000071018058EC LDRB W8, [X19,#0x44] | |
.text:00000071018058F0 STP X10, X11, [X19,#0x70] | |
.text:00000071018058F4 CBNZ W8, loc_71018063D4 | |
.text:00000071018058F8 | |
.text:00000071018058F8 loc_71018058F8 ; CODE XREF: get_capture_indicator+BDC↓j | |
.text:00000071018058F8 LDRB W8, [X19,#0x46] | |
.text:00000071018058FC CBZ W8, loc_71018063F0 | |
.text:0000007101805900 | |
.text:0000007101805900 loc_7101805900 ; CODE XREF: get_capture_indicator+BEC↓j | |
.text:0000007101805900 ; get_capture_indicator+BF8↓j ... | |
.text:0000007101805900 MOV X9, #0xDFE28CE5 | |
.text:0000007101805908 ADRL X8, aCaptureIndexBa ; "capture_index_basic_coef" | |
.text:0000007101805910 MOVK X9, #0x76EB,LSL#32 | |
.text:0000007101805914 MOVK X9, #0x596,LSL#48 | |
.text:0000007101805918 STP X9, X8, [X29,#capture_hash] | |
.text:000000710180591C MOV W8, #0x18 | |
.text:0000007101805920 SUB X0, X29, #-capture_hash | |
.text:0000007101805924 STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101805928 BL get_capture_offset_from_hash | |
.text:000000710180592C LDR W9, [X19,#4] | |
.text:0000007101805930 ORR W10, W9, #1 | |
.text:0000007101805934 CMP W10, #0x38B | |
.text:0000007101805938 LDRH W8, [X19,#8] | |
.text:000000710180593C CSET W10, EQ | |
.text:0000007101805940 CMP W9, #0x389 | |
.text:0000007101805944 CSET W11, GT | |
.text:0000007101805948 ORR W10, W11, W10 | |
.text:000000710180594C CMP W10, #0 | |
.text:0000007101805950 MOV V13.16B, V0.16B | |
.text:0000007101805954 CSEL W8, WZR, W8, NE | |
.text:0000007101805958 AND W11, W8, #0xFFFF | |
.text:000000710180595C CMP W11, #0x1B | |
.text:0000007101805960 B.HI loc_710180599C | |
.text:0000007101805964 CMP W10, #0 | |
.text:0000007101805968 ADRL X10, qword_71042F23A0 | |
.text:0000007101805970 CSEL X9, XZR, X9, NE | |
.text:0000007101805974 LSL X9, X9, #5 | |
.text:0000007101805978 AND X11, X8, #0xFFFF | |
.text:000000710180597C LDR X0, [X10,X9] | |
.text:0000007101805980 LDP X9, X10, [X0] | |
.text:0000007101805984 SUB X10, X10, X9 | |
.text:0000007101805988 ASR X10, X10, #3 | |
.text:000000710180598C CMP X10, X11 | |
.text:0000007101805990 B.LS loc_710180599C | |
.text:0000007101805994 LDR X11, [X9,X11,LSL#3] | |
.text:0000007101805998 CBNZ X11, loc_71018059B4 | |
.text:000000710180599C | |
.text:000000710180599C loc_710180599C ; CODE XREF: get_capture_indicator+160↑j | |
.text:000000710180599C ; get_capture_indicator+190↑j | |
.text:000000710180599C ADRP X9, #qword_71042F23A0@PAGE | |
.text:00000071018059A0 LDR X0, [X9,#qword_71042F23A0@PAGEOFF] | |
.text:00000071018059A4 MOV W8, WZR | |
.text:00000071018059A8 LDP X9, X10, [X0] | |
.text:00000071018059AC SUB X10, X10, X9 | |
.text:00000071018059B0 ASR X10, X10, #3 | |
.text:00000071018059B4 | |
.text:00000071018059B4 loc_71018059B4 ; CODE XREF: get_capture_indicator+198↑j | |
.text:00000071018059B4 AND X8, X8, #0xFFFF | |
.text:00000071018059B8 CMP X10, X8 | |
.text:00000071018059BC B.LS loc_71018065E4 | |
.text:00000071018059C0 LDR X8, [X9,X8,LSL#3] | |
.text:00000071018059C4 LDRSW X9, [X8] | |
.text:00000071018059C8 SUB X9, X8, X9 | |
.text:00000071018059CC LDRH W10, [X9] | |
.text:00000071018059D0 CMP W10, #0x27 ; ''' | |
.text:00000071018059D4 B.CC loc_7101805C34 | |
.text:00000071018059D8 LDRH W9, [X9,#0x26] | |
.text:00000071018059DC CBZ X9, loc_7101805C34 | |
.text:00000071018059E0 LDRB W22, [X8,X9] | |
.text:00000071018059E4 | |
.text:00000071018059E4 loc_71018059E4 ; CODE XREF: get_capture_indicator+438↓j | |
.text:00000071018059E4 MOV X9, #0x8808ECA4 | |
.text:00000071018059EC ADRL X8, aCaptureIndexPo ; "capture_index_pokepara_coef" | |
.text:00000071018059F4 MOVK X9, #0x5C84,LSL#32 | |
.text:00000071018059F8 MOVK X9, #0xD9FA,LSL#48 | |
.text:00000071018059FC STP X9, X8, [X29,#capture_hash] | |
.text:0000007101805A00 MOV W8, #0x1B | |
.text:0000007101805A04 SUB X0, X29, #-capture_hash | |
.text:0000007101805A08 STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101805A0C BL get_capture_offset_from_hash | |
.text:0000007101805A10 LDRB W23, [X19,#0x48] | |
.text:0000007101805A14 MOV X9, #0x276FE936 | |
.text:0000007101805A1C ADRL X8, aCaptureIndexOu ; "capture_index_outbreak_factor" | |
.text:0000007101805A24 MOV V9.16B, V0.16B | |
.text:0000007101805A28 MOVK X9, #0x79CF,LSL#32 | |
.text:0000007101805A2C MOVK X9, #0x9D91,LSL#48 | |
.text:0000007101805A30 SUB X0, X29, #-capture_hash | |
.text:0000007101805A34 STP X9, X8, [X29,#capture_hash] | |
.text:0000007101805A38 MOV W8, #0x1D | |
.text:0000007101805A3C STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101805A40 BL get_capture_offset_from_hash | |
.text:0000007101805A44 LDR W8, [X20] | |
.text:0000007101805A48 MOV W9, #0xA | |
.text:0000007101805A4C CMP W8, #0xA | |
.text:0000007101805A50 CSEL W24, W8, W9, CC | |
.text:0000007101805A54 LDP W26, W8, [X20,#0xC] | |
.text:0000007101805A58 LDP W9, W10, [X20,#0x14] | |
.text:0000007101805A5C ADD W8, W9, W8 | |
.text:0000007101805A60 ADD W8, W8, W10 | |
.text:0000007101805A64 LDP W9, W10, [X20,#0x1C] | |
.text:0000007101805A68 ADD W8, W8, W9 | |
.text:0000007101805A6C LDRB W9, [X20,#0x34] | |
.text:0000007101805A70 ADD W8, W8, W10 | |
.text:0000007101805A74 LDR W10, [X20,#0x24] | |
.text:0000007101805A78 MOV V11.16B, V0.16B | |
.text:0000007101805A7C ADD W25, W8, W10 | |
.text:0000007101805A80 CBNZ W9, loc_7101805C3C | |
.text:0000007101805A84 MOV W20, WZR | |
.text:0000007101805A88 | |
.text:0000007101805A88 loc_7101805A88 ; CODE XREF: get_capture_indicator+46C↓j | |
.text:0000007101805A88 MOV X9, #0x4882DF4F | |
.text:0000007101805A90 ADRL X8, aPokeLvrankBias ; "poke_lvrank_bias_per_glv" | |
.text:0000007101805A98 MOVK X9, #0x843E,LSL#32 | |
.text:0000007101805A9C MOVK X9, #0x2CF7,LSL#48 | |
.text:0000007101805AA0 STP X9, X8, [X29,#capture_hash] | |
.text:0000007101805AA4 MOV W8, #0x18 | |
.text:0000007101805AA8 SUB X0, X29, #-capture_hash | |
.text:0000007101805AAC STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101805AB0 BL get_capture_offset_from_hash | |
.text:0000007101805AB4 UCVTF S1, W25 | |
.text:0000007101805AB8 FMUL S0, S0, S1 | |
.text:0000007101805ABC MOV X8, #0xC9B446FA2EC6E9B6 | |
.text:0000007101805ACC ADRL X9, aPokeLvrank1Ran ; "poke_lvrank_1_range_max" | |
.text:0000007101805AD4 STP X8, X9, [X29,#capture_hash] | |
.text:0000007101805AD8 MOV W8, #0x17 | |
.text:0000007101805ADC SUB X0, X29, #-capture_hash | |
.text:0000007101805AE0 STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101805AE4 FCVTZS W25, S0 | |
.text:0000007101805AE8 BL get_capture_value_from_hash | |
.text:0000007101805AEC CMP W0, W26 | |
.text:0000007101805AF0 B.CS loc_7101806230 | |
.text:0000007101805AF4 MOV X9, #0x4D183CBF | |
.text:0000007101805AFC ADRL X8, aPokeLvrank2Ran ; "poke_lvrank_2_range_max" | |
.text:0000007101805B04 MOVK X9, #0x1189,LSL#32 | |
.text:0000007101805B08 MOVK X9, #0xAC20,LSL#48 | |
.text:0000007101805B0C STP X9, X8, [X29,#capture_hash] | |
.text:0000007101805B10 MOV W8, #0x17 | |
.text:0000007101805B14 SUB X0, X29, #-capture_hash | |
.text:0000007101805B18 STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101805B1C BL get_capture_value_from_hash | |
.text:0000007101805B20 CMP W0, W26 | |
.text:0000007101805B24 B.CS loc_71018061A8 | |
.text:0000007101805B28 MOV X9, #0x9E893A2C | |
.text:0000007101805B30 ADRL X8, aPokeLvrank3Ran ; "poke_lvrank_3_range_max" | |
.text:0000007101805B38 MOVK X9, #0xECA1,LSL#32 | |
.text:0000007101805B3C MOVK X9, #0x276C,LSL#48 | |
.text:0000007101805B40 STP X9, X8, [X29,#capture_hash] | |
.text:0000007101805B44 MOV W8, #0x17 | |
.text:0000007101805B48 SUB X0, X29, #-capture_hash | |
.text:0000007101805B4C STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101805B50 BL get_capture_value_from_hash | |
.text:0000007101805B54 CMP W0, W26 | |
.text:0000007101805B58 B.CS loc_7101806180 | |
.text:0000007101805B5C MOV X9, #0xE30622A5 | |
.text:0000007101805B64 ADRL X8, aPokeLvrank4Ran ; "poke_lvrank_4_range_max" | |
.text:0000007101805B6C MOVK X9, #0xD0D2,LSL#32 | |
.text:0000007101805B70 MOVK X9, #0x2959,LSL#48 | |
.text:0000007101805B74 STP X9, X8, [X29,#capture_hash] | |
.text:0000007101805B78 MOV W8, #0x17 | |
.text:0000007101805B7C SUB X0, X29, #-capture_hash | |
.text:0000007101805B80 STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101805B84 BL get_capture_value_from_hash | |
.text:0000007101805B88 CMP W0, W26 | |
.text:0000007101805B8C B.CS loc_7101805C70 | |
.text:0000007101805B90 MOV X9, #0x2B6273D2 | |
.text:0000007101805B98 ADRL X8, aPokeLvrank5Ran ; "poke_lvrank_5_range_max" | |
.text:0000007101805BA0 MOVK X9, #0x9D6F,LSL#32 | |
.text:0000007101805BA4 MOVK X9, #0xD1BB,LSL#48 | |
.text:0000007101805BA8 STP X9, X8, [X29,#capture_hash] | |
.text:0000007101805BAC MOV W8, #0x17 | |
.text:0000007101805BB0 SUB X0, X29, #-capture_hash | |
.text:0000007101805BB4 STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101805BB8 BL get_capture_value_from_hash | |
.text:0000007101805BBC CMP W0, W26 | |
.text:0000007101805BC0 B.CS loc_71018061A0 | |
.text:0000007101805BC4 MOV X9, #0xFB4BEE6B | |
.text:0000007101805BCC ADRL X8, aPokeLvrank6Ran ; "poke_lvrank_6_range_max" | |
.text:0000007101805BD4 MOVK X9, #0xC752,LSL#32 | |
.text:0000007101805BD8 MOVK X9, #0x2E77,LSL#48 | |
.text:0000007101805BDC STP X9, X8, [X29,#capture_hash] | |
.text:0000007101805BE0 MOV W8, #0x17 | |
.text:0000007101805BE4 SUB X0, X29, #-capture_hash | |
.text:0000007101805BE8 STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101805BEC BL get_capture_value_from_hash | |
.text:0000007101805BF0 CMP W0, W26 | |
.text:0000007101805BF4 B.CS loc_71018061B0 | |
.text:0000007101805BF8 MOV X9, #0xA2941AA8 | |
.text:0000007101805C00 ADRL X8, aPokeLvrank7Ran ; "poke_lvrank_7_range_max" | |
.text:0000007101805C08 MOVK X9, #0xB8EC,LSL#32 | |
.text:0000007101805C0C MOVK X9, #0x3FFA,LSL#48 | |
.text:0000007101805C10 STP X9, X8, [X29,#capture_hash] | |
.text:0000007101805C14 MOV W8, #0x17 | |
.text:0000007101805C18 SUB X0, X29, #-capture_hash | |
.text:0000007101805C1C STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101805C20 BL get_capture_value_from_hash | |
.text:0000007101805C24 CMP W0, W26 | |
.text:0000007101805C28 B.CC loc_71018062FC | |
.text:0000007101805C2C MOV W26, #7 | |
.text:0000007101805C30 B loc_7101805C74 | |
.text:0000007101805C34 ; --------------------------------------------------------------------------- | |
.text:0000007101805C34 | |
.text:0000007101805C34 loc_7101805C34 ; CODE XREF: get_capture_indicator+1D4↑j | |
.text:0000007101805C34 ; get_capture_indicator+1DC↑j | |
.text:0000007101805C34 MOV W22, WZR | |
.text:0000007101805C38 B loc_71018059E4 | |
.text:0000007101805C3C ; --------------------------------------------------------------------------- | |
.text:0000007101805C3C | |
.text:0000007101805C3C loc_7101805C3C ; CODE XREF: get_capture_indicator+280↑j | |
.text:0000007101805C3C MOV X9, #0xE1F7264C | |
.text:0000007101805C44 ADRL X8, aPokeLvrankBias_0 ; "poke_lvrank_bias_oybn" | |
.text:0000007101805C4C MOVK X9, #0x8962,LSL#32 | |
.text:0000007101805C50 MOVK X9, #0x45BA,LSL#48 | |
.text:0000007101805C54 STP X9, X8, [X29,#capture_hash] | |
.text:0000007101805C58 MOV W8, #0x15 | |
.text:0000007101805C5C SUB X0, X29, #-capture_hash | |
.text:0000007101805C60 STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101805C64 BL get_capture_value_from_hash | |
.text:0000007101805C68 MOV W20, W0 | |
.text:0000007101805C6C B loc_7101805A88 | |
.text:0000007101805C70 ; --------------------------------------------------------------------------- | |
.text:0000007101805C70 | |
.text:0000007101805C70 loc_7101805C70 ; CODE XREF: get_capture_indicator+38C↑j | |
.text:0000007101805C70 MOV W26, #4 | |
.text:0000007101805C74 | |
.text:0000007101805C74 loc_7101805C74 ; CODE XREF: get_capture_indicator+430↑j | |
.text:0000007101805C74 ; get_capture_indicator+984↓j ... | |
.text:0000007101805C74 MOV X9, #0x12200A6C | |
.text:0000007101805C7C ADRL X8, aPokeLvrankMax ; "poke_lvrank_max" | |
.text:0000007101805C84 MOVK X9, #0x338D,LSL#32 | |
.text:0000007101805C88 MOVK X9, #0x75B7,LSL#48 | |
.text:0000007101805C8C STP X9, X8, [X29,#capture_hash] | |
.text:0000007101805C90 MOV W8, #0xF | |
.text:0000007101805C94 SUB X0, X29, #-capture_hash | |
.text:0000007101805C98 STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101805C9C BL get_capture_value_from_hash | |
.text:0000007101805CA0 ADD W8, W20, W25 | |
.text:0000007101805CA4 ADD W8, W8, W26 | |
.text:0000007101805CA8 CMP W8, W0 | |
.text:0000007101805CAC CSEL W8, W8, W0, LT | |
.text:0000007101805CB0 CBZ W8, loc_7101805CB8 | |
.text:0000007101805CB4 SUB W8, W8, #1 | |
.text:0000007101805CB8 | |
.text:0000007101805CB8 loc_7101805CB8 ; CODE XREF: get_capture_indicator+4B0↑j | |
.text:0000007101805CB8 ADRL X9, lv_factor_plrank_pokerank_table | |
.text:0000007101805CC0 MOV W10, #0xF0 | |
.text:0000007101805CC4 MOV W11, #0x18 | |
.text:0000007101805CC8 UMADDL X9, W24, W10, X9 | |
.text:0000007101805CCC UMADDL X8, W8, W11, X9 | |
.text:0000007101805CD0 LDP X9, X10, [X8] | |
.text:0000007101805CD4 LDR X8, [X8,#0x10] | |
.text:0000007101805CD8 SUB X0, X29, #-capture_hash | |
.text:0000007101805CDC STP X9, X10, [X29,#capture_hash] | |
.text:0000007101805CE0 STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101805CE4 BL get_capture_offset_from_hash | |
.text:0000007101805CE8 LDR W8, [X19,#0x2C] | |
.text:0000007101805CEC FMOV S10, #1.0 | |
.text:0000007101805CF0 STUR S0, [X29,#lv_factor] | |
.text:0000007101805CF4 CBZ W8, loc_7101806434 | |
.text:0000007101805CF8 LDR S0, [X19,#0x28] | |
.text:0000007101805CFC MOV X9, #0x9092F2A3627B3F85 | |
.text:0000007101805D0C ADRL X10, aCaptureIndexHp ; "capture_index_hp_coef" | |
.text:0000007101805D14 UCVTF S12, W8 | |
.text:0000007101805D18 MOV W8, #0x15 | |
.text:0000007101805D1C SUB X0, X29, #-capture_hash | |
.text:0000007101805D20 STP X9, X10, [X29,#capture_hash] | |
.text:0000007101805D24 UCVTF S8, S0 | |
.text:0000007101805D28 STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101805D2C BL get_capture_offset_from_hash | |
.text:0000007101805D30 FMUL S0, S0, S8 | |
.text:0000007101805D34 FDIV S0, S0, S12 | |
.text:0000007101805D38 FSUB S8, S10, S0 | |
.text:0000007101805D3C | |
.text:0000007101805D3C loc_7101805D3C ; CODE XREF: get_capture_indicator+C38↓j | |
.text:0000007101805D3C LDR W8, [X19,#0x30] | |
.text:0000007101805D40 SUB W10, W8, #1 ; switch 7 cases | |
.text:0000007101805D44 CMP W10, #6 | |
.text:0000007101805D48 B.HI def_7101805D80 ; jumptable 0000007101805D80 default case, cases 2,3 | |
.text:0000007101805D4C ADRL X11, jpt_7101805D80 | |
.text:0000007101805D54 ADR X12, def_7101805D80 ; jumptable 0000007101805D80 default case, cases 2,3 | |
.text:0000007101805D58 LDRH W13, [X11,X10,LSL#1] | |
.text:0000007101805D5C ADD X12, X12, X13,LSL#2 | |
.text:0000007101805D60 MOV X8, #0x62EAF84322895335 | |
.text:0000007101805D70 SUB X0, X29, #-capture_hash | |
.text:0000007101805D74 MOV W9, #0x20 ; ' ' | |
.text:0000007101805D78 ADRL X10, aCaptureIndexSi ; "capture_index_sick_factor_freeze" | |
.text:0000007101805D80 BR X12 ; switch jump | |
.text:0000007101805D84 ; --------------------------------------------------------------------------- | |
.text:0000007101805D84 | |
.text:0000007101805D84 def_7101805D80 ; CODE XREF: get_capture_indicator+548↑j | |
.text:0000007101805D84 ; get_capture_indicator+580↑j | |
.text:0000007101805D84 ; DATA XREF: ... | |
.text:0000007101805D84 MOV X8, #0x18772DEE4238F2B4 ; jumptable 0000007101805D80 default case, cases 2,3 | |
.text:0000007101805D94 ADD X0, SP, #0x210+var_150 | |
.text:0000007101805D98 MOV W9, #0x1E | |
.text:0000007101805D9C ADRL X10, aCaptureIndexSi_0 ; "capture_index_sick_factor_none" | |
.text:0000007101805DA4 | |
.text:0000007101805DA4 loc_7101805DA4 ; CODE XREF: get_capture_indicator+580↑j | |
.text:0000007101805DA4 ; get_capture_indicator+BAC↓j ... | |
.text:0000007101805DA4 STP X8, X10, [X0] ; jumptable 0000007101805D80 case 7 | |
.text:0000007101805DA8 STP X9, XZR, [X0,#0x10] | |
.text:0000007101805DAC BL get_capture_offset_from_hash | |
.text:0000007101805DB0 LDR W8, [X19,#0x38] | |
.text:0000007101805DB4 MOV V12.16B, V0.16B | |
.text:0000007101805DB8 STUR S11, [X29,#var_48] | |
.text:0000007101805DBC SUB W10, W8, #0x1D ; switch 8 cases | |
.text:0000007101805DC0 CMP W10, #7 | |
.text:0000007101805DC4 B.LS loc_71018060D8 | |
.text:0000007101805DC8 | |
.text:0000007101805DC8 def_71018060F4 ; jumptable 00000071018060F4 default case | |
.text:0000007101805DC8 MOV V11.16B, V9.16B | |
.text:0000007101805DCC MOV V9.16B, V13.16B | |
.text:0000007101805DD0 MOV X8, #0x4D232662 | |
.text:0000007101805DD8 SUB X0, X29, #-capture_hash | |
.text:0000007101805DDC MOVK X8, #0x9B97,LSL#32 | |
.text:0000007101805DE0 MOVK X8, #0xD776,LSL#48 | |
.text:0000007101805DE4 MOV W10, #0x21 ; '!' | |
.text:0000007101805DE8 ADRL X9, aCaptureIndexBa_0 ; "capture_index_ball_factor_default" | |
.text:0000007101805DF0 | |
.text:0000007101805DF0 loc_7101805DF0 ; CODE XREF: get_capture_indicator+920↓j | |
.text:0000007101805DF0 ; get_capture_indicator+A10↓j ... | |
.text:0000007101805DF0 STP X8, X9, [X0] | |
.text:0000007101805DF4 STP X10, XZR, [X0,#0x10] | |
.text:0000007101805DF8 BL get_capture_offset_from_hash | |
.text:0000007101805DFC LDR W8, [X19,#0x3C] | |
.text:0000007101805E00 MOV V13.16B, V0.16B | |
.text:0000007101805E04 SUB W10, W8, #1 ; switch 7 cases | |
.text:0000007101805E08 CMP W10, #6 | |
.text:0000007101805E0C B.LS loc_7101806124 | |
.text:0000007101805E10 | |
.text:0000007101805E10 def_7101806158 ; jumptable 0000007101806158 default case | |
.text:0000007101805E10 MOV X8, #0xCBFD17AC2DEC1AB7 | |
.text:0000007101805E20 MOV X0, SP | |
.text:0000007101805E24 MOV W9, #0x1F | |
.text:0000007101805E28 ADRL X10, aCaptureIndexAi ; "capture_index_ai_factor_default" | |
.text:0000007101805E30 | |
.text:0000007101805E30 loc_7101805E30 ; CODE XREF: get_capture_indicator+958↓j | |
.text:0000007101805E30 ; get_capture_indicator+97C↓j ... | |
.text:0000007101805E30 STP X8, X10, [X0] ; jumptable 0000007101806158 case 4 | |
.text:0000007101805E34 STP X9, XZR, [X0,#0x10] | |
.text:0000007101805E38 BL get_capture_offset_from_hash | |
.text:0000007101805E3C LDRB W9, [X19,#0x36] | |
.text:0000007101805E40 SUB X8, X29, #-capture_hash | |
.text:0000007101805E44 SUB X10, X29, #-var_D0 | |
.text:0000007101805E48 MOV X11, #0xBDABE0C4 | |
.text:0000007101805E50 MOV V14.16B, V0.16B | |
.text:0000007101805E54 CMP W9, #0 | |
.text:0000007101805E58 MOV X9, #0x67A63E57 | |
.text:0000007101805E60 MOVK X11, #0xF904,LSL#32 | |
.text:0000007101805E64 MOVK X11, #0x58B3,LSL#48 | |
.text:0000007101805E68 MOVK X9, #0x4DAA,LSL#32 | |
.text:0000007101805E6C MOVK X9, #0x9F5D,LSL#48 | |
.text:0000007101805E70 CSEL X0, X10, X8, EQ | |
.text:0000007101805E74 ADRL X8, aCaptureIndexBa_1 ; "capture_index_backstrike_success_factor" | |
.text:0000007101805E7C ADRL X10, aCaptureIndexBa_2 ; "capture_index_backstrike_failure_factor" | |
.text:0000007101805E84 CSEL X9, X9, X11, EQ | |
.text:0000007101805E88 CSEL X8, X10, X8, EQ | |
.text:0000007101805E8C STP X9, X8, [X0] | |
.text:0000007101805E90 MOV W8, #0x27 ; ''' | |
.text:0000007101805E94 STP X8, XZR, [X0,#0x10] | |
.text:0000007101805E98 BL get_capture_offset_from_hash | |
.text:0000007101805E9C LDRB W8, [X19,#0x70] | |
.text:0000007101805EA0 MOV V15.16B, V0.16B | |
.text:0000007101805EA4 TBNZ W8, #0, loc_710180643C | |
.text:0000007101805EA8 MOV X8, #0xE01F57D0F55AAE72 | |
.text:0000007101805EB8 SUB X0, X29, #-var_D0 | |
.text:0000007101805EBC MOV W9, #0x2D ; '-' | |
.text:0000007101805EC0 ADRL X10, aCaptureIndexBa_3 ; "capture_index_baiteffect_not_available_"... | |
.text:0000007101805EC8 | |
.text:0000007101805EC8 loc_7101805EC8 ; CODE XREF: get_capture_indicator+C5C↓j | |
.text:0000007101805EC8 MOV X24, #0x916810CA2E189E6A | |
.text:0000007101805ED8 STP X8, X10, [X0] | |
.text:0000007101805EDC STP X9, XZR, [X0,#0x10] | |
.text:0000007101805EE0 BL get_capture_offset_from_hash | |
.text:0000007101805EE4 LDRB W8, [X19,#0x46] | |
.text:0000007101805EE8 ADRL X25, aCaptureIndexRa ; "capture_index_range_bottom" | |
.text:0000007101805EF0 CBZ W8, loc_7101806214 | |
.text:0000007101805EF4 UCVTF S1, W22 | |
.text:0000007101805EF8 FMUL S1, S11, S1 | |
.text:0000007101805EFC CBNZ W23, loc_7101806460 | |
.text:0000007101805F00 FMOV S2, WZR | |
.text:0000007101805F04 | |
.text:0000007101805F04 loc_7101805F04 ; CODE XREF: get_capture_indicator+C64↓j | |
.text:0000007101805F04 FADD S1, S1, S2 | |
.text:0000007101805F08 LDUR S2, [X29,#lv_factor] | |
.text:0000007101805F0C FMUL S2, S9, S2 | |
.text:0000007101805F10 FMUL S3, S9, S8 | |
.text:0000007101805F14 FADD S1, S1, S2 | |
.text:0000007101805F18 FMUL S2, S3, S12 | |
.text:0000007101805F1C FMUL S3, S2, S13 | |
.text:0000007101805F20 FMUL S2, S3, S14 | |
.text:0000007101805F24 FMUL S3, S2, S15 | |
.text:0000007101805F28 FMUL S0, S3, S0 | |
.text:0000007101805F2C FADD S8, S1, S0 | |
.text:0000007101805F30 | |
.text:0000007101805F30 loc_7101805F30 ; CODE XREF: get_capture_indicator+A2C↓j | |
.text:0000007101805F30 MOV X22, #0x46202B1C | |
.text:0000007101805F38 STR S8, [X21] | |
.text:0000007101805F3C ADRL X20, aCaptureIndexRa_0 ; "capture_index_range_top" | |
.text:0000007101805F44 MOVK X22, #0x6A72,LSL#32 | |
.text:0000007101805F48 MOVK X22, #0x5AA4,LSL#48 | |
.text:0000007101805F4C STP X22, X20, [X29,#capture_hash] | |
.text:0000007101805F50 MOV W8, #0x17 | |
.text:0000007101805F54 SUB X0, X29, #-capture_hash | |
.text:0000007101805F58 STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101805F5C BL get_capture_offset_from_hash | |
.text:0000007101805F60 MOV W8, #0x1A | |
.text:0000007101805F64 SUB X0, X29, #-capture_hash | |
.text:0000007101805F68 MOV V9.16B, V0.16B | |
.text:0000007101805F6C STP X24, X25, [X29,#capture_hash] | |
.text:0000007101805F70 STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101805F74 BL get_capture_offset_from_hash | |
.text:0000007101805F78 FCMP S0, S8 | |
.text:0000007101805F7C MOV W8, #2 | |
.text:0000007101805F80 CSINC W8, W8, WZR, PL | |
.text:0000007101805F84 FCMP S9, S8 | |
.text:0000007101805F88 B.LS loc_710180635C | |
.text:0000007101805F8C | |
.text:0000007101805F8C loc_7101805F8C ; CODE XREF: get_capture_indicator+B60↓j | |
.text:0000007101805F8C MOV X23, #0xA556BECD | |
.text:0000007101805F94 STR W8, [X19,#0x94] | |
.text:0000007101805F98 MOVK X23, #0x8DC1,LSL#32 | |
.text:0000007101805F9C MOVK X23, #0x8A14,LSL#48 | |
.text:0000007101805FA0 CMP W8, #2 | |
.text:0000007101805FA4 ADRL X24, aRandomValueMax ; "random_value_max" | |
.text:0000007101805FAC B.EQ loc_7101806188 | |
.text:0000007101805FB0 CBZ W8, loc_71018062C4 | |
.text:0000007101805FB4 FMOV S9, WZR | |
.text:0000007101805FB8 CMP W8, #1 | |
.text:0000007101805FBC B.NE loc_7101806018 | |
.text:0000007101805FC0 LDR S11, [X21] | |
.text:0000007101805FC4 MOV W8, #0x17 | |
.text:0000007101805FC8 SUB X0, X29, #-capture_hash | |
.text:0000007101805FCC STP X22, X20, [X29,#capture_hash] | |
.text:0000007101805FD0 STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101805FD4 BL get_capture_offset_from_hash | |
.text:0000007101805FD8 MOV W8, #0x10 | |
.text:0000007101805FDC SUB X0, X29, #-capture_hash | |
.text:0000007101805FE0 MOV V8.16B, V0.16B | |
.text:0000007101805FE4 STP X23, X24, [X29,#capture_hash] | |
.text:0000007101805FE8 STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101805FEC BL get_capture_value_from_hash | |
.text:0000007101805FF0 MOV W8, #0x34000000 | |
.text:0000007101805FF4 FMOV S1, W8 | |
.text:0000007101805FF8 FABS S0, S11 | |
.text:0000007101805FFC FCMP S0, S1 | |
.text:0000007101806000 B.LE loc_7101806018 | |
.text:0000007101806004 CBZ W0, loc_7101806018 | |
.text:0000007101806008 FDIV S1, S8, S11 | |
.text:000000710180600C SCVTF S0, W0 | |
.text:0000007101806010 FDIV S1, S0, S1 | |
.text:0000007101806014 FDIV S9, S1, S0 | |
.text:0000007101806018 | |
.text:0000007101806018 loc_7101806018 ; CODE XREF: get_capture_indicator+7BC↑j | |
.text:0000007101806018 ; get_capture_indicator+800↑j ... | |
.text:0000007101806018 MOV W8, #0x10 | |
.text:000000710180601C SUB X0, X29, #-capture_hash | |
.text:0000007101806020 STR S9, [X19,#0x8C] | |
.text:0000007101806024 STP X23, X24, [X29,#capture_hash] | |
.text:0000007101806028 STP X8, XZR, [X29,#capture_strlen] | |
.text:000000710180602C BL get_capture_value_from_hash | |
.text:0000007101806030 MOV X8, #0xD22A88E9 | |
.text:0000007101806038 ADRL X9, aCaptureJudgeRa ; "capture_judge_radical_root" | |
.text:0000007101806040 SCVTF S9, W0 | |
.text:0000007101806044 MOVK X8, #0x20D7,LSL#32 | |
.text:0000007101806048 MOVK X8, #0xB9C7,LSL#48 | |
.text:000000710180604C SUB X0, X29, #-capture_hash | |
.text:0000007101806050 STP X8, X9, [X29,#capture_hash] | |
.text:0000007101806054 MOV W8, #0x1A | |
.text:0000007101806058 STP X8, XZR, [X29,#capture_strlen] | |
.text:000000710180605C BL get_capture_offset_from_hash | |
.text:0000007101806060 LDR S11, [X19,#0x84] | |
.text:0000007101806064 MOV W8, #0x17 | |
.text:0000007101806068 SUB X0, X29, #-capture_hash | |
.text:000000710180606C STP X22, X20, [X29,#capture_hash] | |
.text:0000007101806070 FDIV S8, S10, S0 | |
.text:0000007101806074 STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101806078 BL get_capture_offset_from_hash | |
.text:000000710180607C FDIV S0, S11, S0 | |
.text:0000007101806080 FMOV S1, WZR | |
.text:0000007101806084 FMAXNM S0, S0, S1 | |
.text:0000007101806088 MOV V1.16B, V8.16B ; y | |
.text:000000710180608C FMIN S0, S0, S10 | |
.text:0000007101806090 FSUB S0, S10, S0 ; x | |
.text:0000007101806094 BL powf_0 | |
.text:0000007101806098 FSUB S0, S10, S0 | |
.text:000000710180609C FMUL S0, S0, S9 | |
.text:00000071018060A0 MOV W0, #1 | |
.text:00000071018060A4 STR S0, [X19,#0x88] | |
.text:00000071018060A8 | |
.text:00000071018060A8 loc_71018060A8 ; CODE XREF: get_capture_indicator+C30↓j | |
.text:00000071018060A8 ADD SP, SP, #0x180 | |
.text:00000071018060AC LDP D9, D8, [SP,#0x90+var_60] | |
.text:00000071018060B0 LDR X28, [SP,#0x90+var_50] | |
.text:00000071018060B4 LDP D11, D10, [SP,#0x90+var_70] | |
.text:00000071018060B8 LDP D13, D12, [SP,#0x90+var_80] | |
.text:00000071018060BC LDP X29, X30, [SP,#0x90+var_s0] | |
.text:00000071018060C0 LDP X20, X19, [SP,#0x90+var_10] | |
.text:00000071018060C4 LDP X22, X21, [SP,#0x90+var_20] | |
.text:00000071018060C8 LDP X24, X23, [SP,#0x90+var_30] | |
.text:00000071018060CC LDP X26, X25, [SP,#0x90+var_40] | |
.text:00000071018060D0 LDP D15, D14, [SP+0x90+var_90],#0xA0 | |
.text:00000071018060D4 RET | |
.text:00000071018060D8 ; --------------------------------------------------------------------------- | |
.text:00000071018060D8 | |
.text:00000071018060D8 loc_71018060D8 ; CODE XREF: get_capture_indicator+5C4↑j | |
.text:00000071018060D8 LDRB W8, [X19,#0x41] | |
.text:00000071018060DC ADRL X11, jpt_71018060F4 | |
.text:00000071018060E4 LDRB W9, [X19,#0x43] | |
.text:00000071018060E8 ADR X12, loc_71018060F8 ; jumptable 00000071018060F4 case 29 | |
.text:00000071018060EC LDRH W13, [X11,X10,LSL#1] | |
.text:00000071018060F0 ADD X12, X12, X13,LSL#2 | |
.text:00000071018060F4 BR X12 ; switch jump | |
.text:00000071018060F8 ; --------------------------------------------------------------------------- | |
.text:00000071018060F8 | |
.text:00000071018060F8 loc_71018060F8 ; CODE XREF: get_capture_indicator+8F4↑j | |
.text:00000071018060F8 ; DATA XREF: get_capture_indicator+8E8↑o | |
.text:00000071018060F8 MOV X8, #0xC4C1FE78 ; jumptable 00000071018060F4 case 29 | |
.text:0000007101806100 MOV V11.16B, V9.16B | |
.text:0000007101806104 MOV V9.16B, V13.16B | |
.text:0000007101806108 SUB X0, X29, #-capture_hash | |
.text:000000710180610C MOVK X8, #0x978B,LSL#32 | |
.text:0000007101806110 MOVK X8, #0xD04E,LSL#48 | |
.text:0000007101806114 MOV W10, #0x1F | |
.text:0000007101806118 ADRL X9, aCaptureIndexBa_4 ; "capture_index_ball_factor_super" | |
.text:0000007101806120 B loc_7101805DF0 | |
.text:0000007101806124 ; --------------------------------------------------------------------------- | |
.text:0000007101806124 | |
.text:0000007101806124 loc_7101806124 ; CODE XREF: get_capture_indicator+60C↑j | |
.text:0000007101806124 ADRL X11, jpt_7101806158 | |
.text:000000710180612C ADR X12, loc_7101805E30 ; jumptable 0000007101806158 case 4 | |
.text:0000007101806130 LDRH W13, [X11,X10,LSL#1] | |
.text:0000007101806134 ADD X12, X12, X13,LSL#2 | |
.text:0000007101806138 MOV X8, #0x7E918A37D64C6833 | |
.text:0000007101806148 SUB X0, X29, #-capture_hash | |
.text:000000710180614C MOV W9, #0x20 ; ' ' | |
.text:0000007101806150 ADRL X10, aCaptureIndexAi_0 ; "capture_index_ai_factor_sleeping" | |
.text:0000007101806158 BR X12 ; switch jump | |
.text:000000710180615C ; --------------------------------------------------------------------------- | |
.text:000000710180615C | |
.text:000000710180615C loc_710180615C ; CODE XREF: get_capture_indicator+958↑j | |
.text:000000710180615C MOV X8, #0xE40DA46C1375657B ; jumptable 0000007101806158 case 1 | |
.text:000000710180616C SUB X0, X29, #-var_D0 | |
.text:0000007101806170 MOV W9, #0x1F | |
.text:0000007101806174 ADRL X10, aCaptureIndexAi_1 ; "capture_index_ai_factor_caution" | |
.text:000000710180617C B loc_7101805E30 ; jumptable 0000007101806158 case 4 | |
.text:0000007101806180 ; --------------------------------------------------------------------------- | |
.text:0000007101806180 | |
.text:0000007101806180 loc_7101806180 ; CODE XREF: get_capture_indicator+358↑j | |
.text:0000007101806180 MOV W26, #3 | |
.text:0000007101806184 B loc_7101805C74 | |
.text:0000007101806188 ; --------------------------------------------------------------------------- | |
.text:0000007101806188 | |
.text:0000007101806188 loc_7101806188 ; CODE XREF: get_capture_indicator+7AC↑j | |
.text:0000007101806188 LDR W8, [X19,#0x80] | |
.text:000000710180618C MOV V9.16B, V10.16B | |
.text:0000007101806190 CMP W8, #1 | |
.text:0000007101806194 B.EQ loc_7101806018 | |
.text:0000007101806198 | |
.text:0000007101806198 loc_7101806198 ; CODE XREF: get_capture_indicator+AD4↓j | |
.text:0000007101806198 FMOV S9, WZR | |
.text:000000710180619C B loc_7101806018 | |
.text:00000071018061A0 ; --------------------------------------------------------------------------- | |
.text:00000071018061A0 | |
.text:00000071018061A0 loc_71018061A0 ; CODE XREF: get_capture_indicator+3C0↑j | |
.text:00000071018061A0 MOV W26, #5 | |
.text:00000071018061A4 B loc_7101805C74 | |
.text:00000071018061A8 ; --------------------------------------------------------------------------- | |
.text:00000071018061A8 | |
.text:00000071018061A8 loc_71018061A8 ; CODE XREF: get_capture_indicator+324↑j | |
.text:00000071018061A8 MOV W26, #2 | |
.text:00000071018061AC B loc_7101805C74 | |
.text:00000071018061B0 ; --------------------------------------------------------------------------- | |
.text:00000071018061B0 | |
.text:00000071018061B0 loc_71018061B0 ; CODE XREF: get_capture_indicator+3F4↑j | |
.text:00000071018061B0 MOV W26, #6 | |
.text:00000071018061B4 B loc_7101805C74 | |
.text:00000071018061B8 ; --------------------------------------------------------------------------- | |
.text:00000071018061B8 | |
.text:00000071018061B8 loc_71018061B8 ; CODE XREF: get_capture_indicator+958↑j | |
.text:00000071018061B8 LDR W8, [X19,#0x4C] ; jumptable 0000007101806158 case 2 | |
.text:00000071018061BC CMP W8, #1 | |
.text:00000071018061C0 B.EQ loc_710180627C | |
.text:00000071018061C4 CMP W8, #2 | |
.text:00000071018061C8 B.EQ loc_71018062D8 | |
.text:00000071018061CC MOV X8, #0x7B846A5D45BF7F20 | |
.text:00000071018061DC ADD X0, SP, #0x210+var_1F0 | |
.text:00000071018061E0 MOV W9, #0x24 ; '$' | |
.text:00000071018061E4 ADRL X10, aCaptureIndexAi_2 ; "capture_index_ai_factor_react_docile" | |
.text:00000071018061EC B loc_7101805E30 ; jumptable 0000007101806158 case 4 | |
.text:00000071018061F0 ; --------------------------------------------------------------------------- | |
.text:00000071018061F0 | |
.text:00000071018061F0 loc_71018061F0 ; CODE XREF: get_capture_indicator+8F4↑j | |
.text:00000071018061F0 MOV V11.16B, V9.16B ; jumptable 00000071018060F4 case 35 | |
.text:00000071018061F4 MOV V9.16B, V13.16B | |
.text:00000071018061F8 CBNZ W9, loc_7101806544 | |
.text:00000071018061FC ADRL X10, ball_factor_stealth_super_suitable_table | |
.text:0000007101806204 | |
.text:0000007101806204 loc_7101806204 ; CODE XREF: get_capture_indicator+A4C↓j | |
.text:0000007101806204 ; get_capture_indicator+D4C↓j ... | |
.text:0000007101806204 SUB X0, X29, #-capture_hash | |
.text:0000007101806208 | |
.text:0000007101806208 loc_7101806208 ; CODE XREF: get_capture_indicator+B88↓j | |
.text:0000007101806208 ; get_capture_indicator+D24↓j | |
.text:0000007101806208 LDP X8, X9, [X10] | |
.text:000000710180620C LDR X10, [X10,#0x10] | |
.text:0000007101806210 B loc_7101805DF0 | |
.text:0000007101806214 ; --------------------------------------------------------------------------- | |
.text:0000007101806214 | |
.text:0000007101806214 loc_7101806214 ; CODE XREF: get_capture_indicator+6F0↑j | |
.text:0000007101806214 MOV W8, #0x1A | |
.text:0000007101806218 SUB X0, X29, #-capture_hash | |
.text:000000710180621C STP X24, X25, [X29,#capture_hash] | |
.text:0000007101806220 STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101806224 BL get_capture_offset_from_hash | |
.text:0000007101806228 MOV V8.16B, V0.16B | |
.text:000000710180622C B loc_7101805F30 | |
.text:0000007101806230 ; --------------------------------------------------------------------------- | |
.text:0000007101806230 | |
.text:0000007101806230 loc_7101806230 ; CODE XREF: get_capture_indicator+2F0↑j | |
.text:0000007101806230 MOV W26, #1 | |
.text:0000007101806234 B loc_7101805C74 | |
.text:0000007101806238 ; --------------------------------------------------------------------------- | |
.text:0000007101806238 | |
.text:0000007101806238 loc_7101806238 ; CODE XREF: get_capture_indicator+8F4↑j | |
.text:0000007101806238 MOV V11.16B, V9.16B ; jumptable 00000071018060F4 case 34 | |
.text:000000710180623C CBNZ W9, loc_7101806550 | |
.text:0000007101806240 ADRL X10, ball_factor_stealth_suitable_table | |
.text:0000007101806248 MOV V9.16B, V13.16B | |
.text:000000710180624C B loc_7101806204 | |
.text:0000007101806250 ; --------------------------------------------------------------------------- | |
.text:0000007101806250 | |
.text:0000007101806250 loc_7101806250 ; CODE XREF: get_capture_indicator+8F4↑j | |
.text:0000007101806250 MOV X8, #0x37B195 ; jumptable 00000071018060F4 case 30 | |
.text:0000007101806258 MOV V11.16B, V9.16B | |
.text:000000710180625C MOV V9.16B, V13.16B | |
.text:0000007101806260 SUB X0, X29, #-capture_hash | |
.text:0000007101806264 MOVK X8, #0xE71F,LSL#32 | |
.text:0000007101806268 MOVK X8, #0x99D,LSL#48 | |
.text:000000710180626C MOV W10, #0x1F | |
.text:0000007101806270 ADRL X9, aCaptureIndexBa_5 ; "capture_index_ball_factor_hyper" | |
.text:0000007101806278 B loc_7101805DF0 | |
.text:000000710180627C ; --------------------------------------------------------------------------- | |
.text:000000710180627C | |
.text:000000710180627C loc_710180627C ; CODE XREF: get_capture_indicator+9C0↑j | |
.text:000000710180627C MOV X8, #0x888497D32C05846E | |
.text:000000710180628C ADD X0, SP, #0x210+var_1D0 | |
.text:0000007101806290 MOV W9, #0x28 ; '(' | |
.text:0000007101806294 ADRL X10, aCaptureIndexAi_3 ; "capture_index_ai_factor_react_aggressiv"... | |
.text:000000710180629C B loc_7101805E30 ; jumptable 0000007101806158 case 4 | |
.text:00000071018062A0 ; --------------------------------------------------------------------------- | |
.text:00000071018062A0 | |
.text:00000071018062A0 loc_71018062A0 ; CODE XREF: get_capture_indicator+958↑j | |
.text:00000071018062A0 MOV X8, #0x58519C0B1F1E33A0 ; jumptable 0000007101806158 case 7 | |
.text:00000071018062B0 ADD X0, SP, #0x210+var_110 | |
.text:00000071018062B4 MOV W9, #0x1F | |
.text:00000071018062B8 ADRL X10, aCaptureIndexAi_4 ; "capture_index_ai_factor_resting" | |
.text:00000071018062C0 B loc_7101805E30 ; jumptable 0000007101806158 case 4 | |
.text:00000071018062C4 ; --------------------------------------------------------------------------- | |
.text:00000071018062C4 | |
.text:00000071018062C4 loc_71018062C4 ; CODE XREF: get_capture_indicator+7B0↑j | |
.text:00000071018062C4 LDR W8, [X19,#0x80] | |
.text:00000071018062C8 MOV V9.16B, V10.16B | |
.text:00000071018062CC CMP W8, #2 | |
.text:00000071018062D0 B.NE loc_7101806018 | |
.text:00000071018062D4 B loc_7101806198 | |
.text:00000071018062D8 ; --------------------------------------------------------------------------- | |
.text:00000071018062D8 | |
.text:00000071018062D8 loc_71018062D8 ; CODE XREF: get_capture_indicator+9C8↑j | |
.text:00000071018062D8 MOV X8, #0x962E06E067EA1FE5 | |
.text:00000071018062E8 ADD X0, SP, #0x210+var_1B0 | |
.text:00000071018062EC MOV W9, #0x23 ; '#' | |
.text:00000071018062F0 ADRL X10, aCaptureIndexAi_5 ; "capture_index_ai_factor_react_timid" | |
.text:00000071018062F8 B loc_7101805E30 ; jumptable 0000007101806158 case 4 | |
.text:00000071018062FC ; --------------------------------------------------------------------------- | |
.text:00000071018062FC | |
.text:00000071018062FC loc_71018062FC ; CODE XREF: get_capture_indicator+428↑j | |
.text:00000071018062FC MOV X9, #0xDAFB7A61 | |
.text:0000007101806304 ADRL X8, aPokeLvrank8Ran ; "poke_lvrank_8_range_max" | |
.text:000000710180630C MOVK X9, #0x170E,LSL#32 | |
.text:0000007101806310 MOVK X9, #0xE2B1,LSL#48 | |
.text:0000007101806314 STP X9, X8, [X29,#capture_hash] | |
.text:0000007101806318 MOV W8, #0x17 | |
.text:000000710180631C SUB X0, X29, #-capture_hash | |
.text:0000007101806320 STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101806324 BL get_capture_value_from_hash | |
.text:0000007101806328 CMP W0, W26 | |
.text:000000710180632C B.CC loc_7101806560 | |
.text:0000007101806330 MOV W26, #8 | |
.text:0000007101806334 B loc_7101805C74 | |
.text:0000007101806338 ; --------------------------------------------------------------------------- | |
.text:0000007101806338 | |
.text:0000007101806338 loc_7101806338 ; CODE XREF: get_capture_indicator+958↑j | |
.text:0000007101806338 MOV X8, #0x7B33512EEBD9B4B6 ; jumptable 0000007101806158 case 5 | |
.text:0000007101806348 ADD X0, SP, #0x210+var_130 | |
.text:000000710180634C MOV W9, #0x20 ; ' ' | |
.text:0000007101806350 ADRL X10, aCaptureIndexAi_6 ; "capture_index_ai_factor_escaping" | |
.text:0000007101806358 B loc_7101805E30 ; jumptable 0000007101806158 case 4 | |
.text:000000710180635C ; --------------------------------------------------------------------------- | |
.text:000000710180635C | |
.text:000000710180635C loc_710180635C ; CODE XREF: get_capture_indicator+788↑j | |
.text:000000710180635C MOV W8, WZR | |
.text:0000007101806360 B loc_7101805F8C | |
.text:0000007101806364 ; --------------------------------------------------------------------------- | |
.text:0000007101806364 | |
.text:0000007101806364 loc_7101806364 ; CODE XREF: get_capture_indicator+8F4↑j | |
.text:0000007101806364 MOV V11.16B, V9.16B ; jumptable 00000071018060F4 case 31 | |
.text:0000007101806368 MOV V9.16B, V13.16B | |
.text:000000710180636C ADRL X9, ball_factor_wing_table | |
.text:0000007101806374 ADRL X10, ball_factor_wing_suitable_table | |
.text:000000710180637C | |
.text:000000710180637C loc_710180637C ; CODE XREF: get_capture_indicator+CFC↓j | |
.text:000000710180637C ; get_capture_indicator+D40↓j | |
.text:000000710180637C CMP W8, #0 | |
.text:0000007101806380 SUB X0, X29, #-capture_hash | |
.text:0000007101806384 CSEL X10, X10, X9, NE | |
.text:0000007101806388 B loc_7101806208 | |
.text:000000710180638C ; --------------------------------------------------------------------------- | |
.text:000000710180638C | |
.text:000000710180638C loc_710180638C ; CODE XREF: get_capture_indicator+580↑j | |
.text:000000710180638C MOV X8, #0xB1653F18D38154C1 ; jumptable 0000007101805D80 case 6 | |
.text:000000710180639C SUB X0, X29, #-var_D0 | |
.text:00000071018063A0 MOV W9, #0x1F | |
.text:00000071018063A4 ADRL X10, aCaptureIndexSi_1 ; "capture_index_sick_factor_sleep" | |
.text:00000071018063AC B loc_7101805DA4 ; jumptable 0000007101805D80 case 7 | |
.text:00000071018063B0 ; --------------------------------------------------------------------------- | |
.text:00000071018063B0 | |
.text:00000071018063B0 loc_71018063B0 ; CODE XREF: get_capture_indicator+580↑j | |
.text:00000071018063B0 MOV X8, #0x9CD1FF52E08F5E67 ; jumptable 0000007101805D80 case 4 | |
.text:00000071018063C0 ADD X0, SP, #0x210+var_130 | |
.text:00000071018063C4 MOV W9, #0x1E | |
.text:00000071018063C8 ADRL X10, aCaptureIndexSi_2 ; "capture_index_sick_factor_burn" | |
.text:00000071018063D0 B loc_7101805DA4 ; jumptable 0000007101805D80 case 7 | |
.text:00000071018063D4 ; --------------------------------------------------------------------------- | |
.text:00000071018063D4 | |
.text:00000071018063D4 loc_71018063D4 ; CODE XREF: get_capture_indicator+F4↑j | |
.text:00000071018063D4 LDR W8, [X19,#0x80] | |
.text:00000071018063D8 CMP W8, #2 | |
.text:00000071018063DC B.EQ loc_71018058F8 | |
.text:00000071018063E0 MOV W8, #1 | |
.text:00000071018063E4 STR W8, [X19,#0x80] | |
.text:00000071018063E8 LDRB W8, [X19,#0x46] | |
.text:00000071018063EC CBNZ W8, loc_7101805900 | |
.text:00000071018063F0 | |
.text:00000071018063F0 loc_71018063F0 ; CODE XREF: get_capture_indicator+FC↑j | |
.text:00000071018063F0 LDR W8, [X19,#0x80] | |
.text:00000071018063F4 CMP W8, #2 | |
.text:00000071018063F8 B.EQ loc_7101805900 | |
.text:00000071018063FC MOV W8, #2 | |
.text:0000007101806400 STR W8, [X19,#0x80] | |
.text:0000007101806404 B loc_7101805900 | |
.text:0000007101806408 ; --------------------------------------------------------------------------- | |
.text:0000007101806408 | |
.text:0000007101806408 loc_7101806408 ; CODE XREF: get_capture_indicator+580↑j | |
.text:0000007101806408 MOV X8, #0x8465B12CF814E13C ; jumptable 0000007101805D80 case 1 | |
.text:0000007101806418 ADD X0, SP, #0x210+var_110 | |
.text:000000710180641C MOV W9, #0x23 ; '#' | |
.text:0000007101806420 ADRL X10, aCaptureIndexSi_3 ; "capture_index_sick_factor_paralysis" | |
.text:0000007101806428 B loc_7101805DA4 ; jumptable 0000007101805D80 case 7 | |
.text:000000710180642C ; --------------------------------------------------------------------------- | |
.text:000000710180642C | |
.text:000000710180642C loc_710180642C ; CODE XREF: get_capture_indicator+AC↑j | |
.text:000000710180642C MOV W0, WZR | |
.text:0000007101806430 B loc_71018060A8 | |
.text:0000007101806434 ; --------------------------------------------------------------------------- | |
.text:0000007101806434 | |
.text:0000007101806434 loc_7101806434 ; CODE XREF: get_capture_indicator+4F4↑j | |
.text:0000007101806434 FMOV S8, WZR | |
.text:0000007101806438 B loc_7101805D3C | |
.text:000000710180643C ; --------------------------------------------------------------------------- | |
.text:000000710180643C | |
.text:000000710180643C loc_710180643C ; CODE XREF: get_capture_indicator+6A4↑j | |
.text:000000710180643C MOV X8, #0x2098631317549760 | |
.text:000000710180644C SUB X0, X29, #-capture_hash | |
.text:0000007101806450 MOV W9, #0x29 ; ')' | |
.text:0000007101806454 ADRL X10, aCaptureIndexBa_6 ; "capture_index_baiteffect_available_fact"... | |
.text:000000710180645C B loc_7101805EC8 | |
.text:0000007101806460 ; --------------------------------------------------------------------------- | |
.text:0000007101806460 | |
.text:0000007101806460 loc_7101806460 ; CODE XREF: get_capture_indicator+6FC↑j | |
.text:0000007101806460 LDUR S2, [X29,#var_48] | |
.text:0000007101806464 B loc_7101805F04 | |
.text:0000007101806468 ; --------------------------------------------------------------------------- | |
.text:0000007101806468 | |
.text:0000007101806468 loc_7101806468 ; CODE XREF: get_capture_indicator+958↑j | |
.text:0000007101806468 LDR W8, [X19,#0x68] ; jumptable 0000007101806158 case 3 | |
.text:000000710180646C CBZ W8, loc_710180659C | |
.text:0000007101806470 CMP W8, #1 | |
.text:0000007101806474 B.NE loc_71018065C0 | |
.text:0000007101806478 MOV X8, #0x2509FB459BDA09BE | |
.text:0000007101806488 ADD X0, SP, #0x210+var_170 | |
.text:000000710180648C MOV W9, #0x28 ; '(' | |
.text:0000007101806490 ADRL X10, aCaptureIndexAi_7 ; "capture_index_ai_factor_feeding_baitbal"... | |
.text:0000007101806498 B loc_7101805E30 ; jumptable 0000007101806158 case 4 | |
.text:000000710180649C ; --------------------------------------------------------------------------- | |
.text:000000710180649C | |
.text:000000710180649C loc_710180649C ; CODE XREF: get_capture_indicator+580↑j | |
.text:000000710180649C MOV X8, #0x4C793817B00CEC5E ; jumptable 0000007101805D80 case 5 | |
.text:00000071018064AC SUB X0, X29, #-var_F0 | |
.text:00000071018064B0 MOV W9, #0x20 ; ' ' | |
.text:00000071018064B4 ADRL X10, aCaptureIndexSi_4 ; "capture_index_sick_factor_poison" | |
.text:00000071018064BC B loc_7101805DA4 ; jumptable 0000007101805D80 case 7 | |
.text:00000071018064C0 ; --------------------------------------------------------------------------- | |
.text:00000071018064C0 | |
.text:00000071018064C0 loc_71018064C0 ; CODE XREF: get_capture_indicator+958↑j | |
.text:00000071018064C0 MOV X8, #0xC6ADCE1789869E03 ; jumptable 0000007101806158 case 6 | |
.text:00000071018064D0 SUB X0, X29, #-var_F0 | |
.text:00000071018064D4 MOV W9, #0x21 ; '!' | |
.text:00000071018064D8 ADRL X10, aCaptureIndexAi_8 ; "capture_index_ai_factor_tiredness" | |
.text:00000071018064E0 B loc_7101805E30 ; jumptable 0000007101806158 case 4 | |
.text:00000071018064E4 ; --------------------------------------------------------------------------- | |
.text:00000071018064E4 | |
.text:00000071018064E4 loc_71018064E4 ; CODE XREF: get_capture_indicator+8F4↑j | |
.text:00000071018064E4 MOV V11.16B, V9.16B ; jumptable 00000071018060F4 case 33 | |
.text:00000071018064E8 MOV V9.16B, V13.16B | |
.text:00000071018064EC ADRL X9, ball_factor_wing_hyper_table | |
.text:00000071018064F4 ADRL X10, ball_factor_wing_hyper_suitable_table | |
.text:00000071018064FC B loc_710180637C | |
.text:0000007101806500 ; --------------------------------------------------------------------------- | |
.text:0000007101806500 | |
.text:0000007101806500 loc_7101806500 ; CODE XREF: get_capture_indicator+8F4↑j | |
.text:0000007101806500 ADRL X8, ball_factor_stealth_hyper_suitable_table ; jumptable 00000071018060F4 case 36 | |
.text:0000007101806508 MOV V11.16B, V9.16B | |
.text:000000710180650C ADRL X10, ball_factor_stealth_hyper_table | |
.text:0000007101806514 MOV V9.16B, V13.16B | |
.text:0000007101806518 CMP W9, #0 | |
.text:000000710180651C SUB X0, X29, #-capture_hash | |
.text:0000007101806520 CSEL X10, X10, X8, NE | |
.text:0000007101806524 B loc_7101806208 | |
.text:0000007101806528 ; --------------------------------------------------------------------------- | |
.text:0000007101806528 | |
.text:0000007101806528 loc_7101806528 ; CODE XREF: get_capture_indicator+8F4↑j | |
.text:0000007101806528 MOV V11.16B, V9.16B ; jumptable 00000071018060F4 case 32 | |
.text:000000710180652C MOV V9.16B, V13.16B | |
.text:0000007101806530 ADRL X9, ball_factor_wing_super_table | |
.text:0000007101806538 ADRL X10, ball_factor_wing_super_suitable_table | |
.text:0000007101806540 B loc_710180637C | |
.text:0000007101806544 ; --------------------------------------------------------------------------- | |
.text:0000007101806544 | |
.text:0000007101806544 loc_7101806544 ; CODE XREF: get_capture_indicator+9F8↑j | |
.text:0000007101806544 ADRL X10, ball_factor_stealth_super_table | |
.text:000000710180654C B loc_7101806204 | |
.text:0000007101806550 ; --------------------------------------------------------------------------- | |
.text:0000007101806550 | |
.text:0000007101806550 loc_7101806550 ; CODE XREF: get_capture_indicator+A3C↑j | |
.text:0000007101806550 ADRL X10, ball_factor_stealth_table | |
.text:0000007101806558 MOV V9.16B, V13.16B | |
.text:000000710180655C B loc_7101806204 | |
.text:0000007101806560 ; --------------------------------------------------------------------------- | |
.text:0000007101806560 | |
.text:0000007101806560 loc_7101806560 ; CODE XREF: get_capture_indicator+B2C↑j | |
.text:0000007101806560 MOV X9, #0x47CEBAAE | |
.text:0000007101806568 ADRL X8, aPokeLvrank9Ran ; "poke_lvrank_9_range_max" | |
.text:0000007101806570 MOVK X9, #0xF011,LSL#32 | |
.text:0000007101806574 MOVK X9, #0x2A4C,LSL#48 | |
.text:0000007101806578 STP X9, X8, [X29,#capture_hash] | |
.text:000000710180657C MOV W8, #0x17 | |
.text:0000007101806580 SUB X0, X29, #-capture_hash | |
.text:0000007101806584 STP X8, XZR, [X29,#capture_strlen] | |
.text:0000007101806588 BL get_capture_value_from_hash | |
.text:000000710180658C CMP W0, W26 | |
.text:0000007101806590 MOV W8, #9 | |
.text:0000007101806594 CINC W26, W8, CC | |
.text:0000007101806598 B loc_7101805C74 | |
.text:000000710180659C ; --------------------------------------------------------------------------- | |
.text:000000710180659C | |
.text:000000710180659C loc_710180659C ; CODE XREF: get_capture_indicator+C6C↑j | |
.text:000000710180659C MOV X8, #0x81D8AC8EB05D1D9F | |
.text:00000071018065AC ADD X0, SP, #0x210+var_150 | |
.text:00000071018065B0 MOV W9, #0x24 ; '$' | |
.text:00000071018065B4 ADRL X10, aCaptureIndexAi_9 ; "capture_index_ai_factor_feeding_nuts" | |
.text:00000071018065BC B loc_7101805E30 ; jumptable 0000007101806158 case 4 | |
.text:00000071018065C0 ; --------------------------------------------------------------------------- | |
.text:00000071018065C0 | |
.text:00000071018065C0 loc_71018065C0 ; CODE XREF: get_capture_indicator+C74↑j | |
.text:00000071018065C0 MOV X8, #0xB149B923E2DD99EE | |
.text:00000071018065D0 ADD X0, SP, #0x210+var_190 | |
.text:00000071018065D4 MOV W9, #0x1F | |
.text:00000071018065D8 ADRL X10, aCaptureIndexAi_10 ; "capture_index_ai_factor_feeding" | |
.text:00000071018065E0 B loc_7101805E30 ; jumptable 0000007101806158 case 4 | |
.text:00000071018065E4 ; --------------------------------------------------------------------------- | |
.text:00000071018065E4 | |
.text:00000071018065E4 loc_71018065E4 ; CODE XREF: get_capture_indicator+1BC↑j | |
.text:00000071018065E4 BL _ZNKSt3__120__vector_base_commonILb1EE20__throw_out_of_rangeEv_0 ; std::__vector_base_common<true>::__throw_out_of_range(void) | |
.text:00000071018065E4 ; End of function get_capture_indicator |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment