Created
August 20, 2022 19:26
-
-
Save Lusamine/15f1809e89a3a60a1b7e3e18b22209f6 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
_QWORD *__fastcall judge_capture_in_battle(__int64 a1, __int64 a2, __int64 a3) | |
{ | |
unsigned int v5; // w21 | |
__int64 v7; // x23 | |
__int64 v8; // x0 | |
unsigned int v9; // w0 | |
unsigned int v10; // w0 | |
unsigned int *v11; // x8 | |
unsigned int v12; // w9 | |
unsigned int v13; // w9 | |
__int64 v14; // x0 | |
_QWORD *result; // x0 | |
__int64 v16; // x21 | |
unsigned int v17; // w23 | |
__int64 v18; // x0 | |
unsigned int *v19; // x8 | |
unsigned int v20; // w9 | |
unsigned int v21; // w9 | |
unsigned __int8 v22; // w8 | |
__int64 v23; // x0 | |
__int64 v24; // x8 | |
unsigned int *v25; // x9 | |
unsigned int v26; // w10 | |
unsigned int v27; // w10 | |
int v28; // w0 | |
__int64 v29; // x8 | |
unsigned int *v30; // x9 | |
unsigned int v31; // w10 | |
unsigned int v32; // w10 | |
__int64 v33[3]; // [xsp+8h] [xbp-188h] BYREF | |
__int64 v34; // [xsp+20h] [xbp-170h] | |
__int64 v35; // [xsp+28h] [xbp-168h] | |
capture_info *v36; // [xsp+30h] [xbp-160h] BYREF | |
__int16 v37; // [xsp+38h] [xbp-158h] | |
int v38; // [xsp+3Ch] [xbp-154h] | |
__int64 v39[4]; // [xsp+58h] [xbp-138h] BYREF | |
__int16 v40; // [xsp+78h] [xbp-118h] | |
int v41; // [xsp+7Ch] [xbp-114h] | |
char v42; // [xsp+80h] [xbp-110h] | |
__int64 v43; // [xsp+88h] [xbp-108h] | |
__int64 v44; // [xsp+90h] [xbp-100h] | |
int v45; // [xsp+98h] [xbp-F8h] | |
__int64 v46; // [xsp+A0h] [xbp-F0h] | |
char v47; // [xsp+A8h] [xbp-E8h] | |
int v48; // [xsp+ACh] [xbp-E4h] | |
unsigned int *v49; // [xsp+B0h] [xbp-E0h] BYREF | |
__int16 v50; // [xsp+B8h] [xbp-D8h] | |
int v51; // [xsp+BCh] [xbp-D4h] | |
_QWORD v52[4]; // [xsp+D8h] [xbp-B8h] | |
__int16 v53; // [xsp+F8h] [xbp-98h] | |
int v54; // [xsp+FCh] [xbp-94h] | |
char v55; // [xsp+100h] [xbp-90h] | |
__int64 v56; // [xsp+108h] [xbp-88h] | |
__int64 v57; // [xsp+110h] [xbp-80h] | |
int v58; // [xsp+118h] [xbp-78h] | |
__int64 v59; // [xsp+120h] [xbp-70h] | |
char v60; // [xsp+128h] [xbp-68h] | |
int v61; // [xsp+12Ch] [xbp-64h] | |
__int64 v62; // [xsp+130h] [xbp-60h] | |
__int64 v63; // [xsp+138h] [xbp-58h] | |
int v64; // [xsp+140h] [xbp-50h] | |
int v65; // [xsp+144h] [xbp-4Ch] | |
_QWORD *v66; // [xsp+148h] [xbp-48h] | |
*(_WORD *)a2 = 0; | |
*(_BYTE *)(a2 + 2) = 0; | |
v5 = *(unsigned __int8 *)(*(_QWORD *)(a3 + 24) + 125LL); | |
v7 = sub_7102850844(); | |
v8 = sub_7100823CA8(*(_QWORD *)(a1 + 104)); | |
sub_7100828240(v8, v5); | |
v9 = sub_7102B601B8(v7); | |
sub_7102B601C0((__int64)v49, v9); | |
v10 = sub_7102B5FBD4(v7); | |
sub_7102B5FC04(v49, v10); | |
if ( v49 ) | |
{ | |
v11 = v49 + 20; | |
do | |
{ | |
v12 = __ldaxr(v11); | |
v13 = v12 - 1; | |
} | |
while ( __stlxr(v13, v11) ); | |
if ( !v13 ) | |
(*(void (__fastcall **)(unsigned int *))(*(_QWORD *)v49 + 16LL))(v49); | |
} | |
v14 = sub_7100823BC4(*(_QWORD *)(a1 + 104)); | |
LOBYTE(v49) = *(_BYTE *)(*(_QWORD *)(a3 + 24) + 125LL); | |
result = (_QWORD *)sub_7100898DB0(v14, &v49); | |
if ( !v66 ) | |
return result; | |
v49 = 0LL; | |
v50 = 0; | |
v51 = 0; | |
v54 = 0; | |
v55 = 0; | |
v52[0] = 0LL; | |
*(_QWORD *)((char *)v52 + 7) = 0LL; | |
v53 = 0; | |
v58 = 0; | |
v59 = 0LL; | |
v60 = 1; | |
v61 = 1065353216; | |
v65 = 2; | |
v64 = 0; | |
v52[2] = 0LL; | |
v52[3] = 0LL; | |
v56 = 0xCBF29CE484222645LL; | |
v57 = 0xCBF29CE484222645LL; | |
v62 = 0LL; | |
v63 = 0LL; | |
v16 = sub_71007A7E50(v66 + 30, &v36); | |
if ( v16 ) | |
{ | |
v36 = 0LL; | |
v37 = 0; | |
v38 = 0; | |
v41 = 0; | |
v42 = 0; | |
memset(v39, 0, 15); | |
v40 = 0; | |
v45 = 0; | |
v46 = 0LL; | |
v47 = 1; | |
v48 = 1065353216; | |
v39[2] = 0LL; | |
v39[3] = 0LL; | |
v43 = 0xCBF29CE484222645LL; | |
v44 = 0xCBF29CE484222645LL; | |
sub_710180527C(&v36, v16); | |
v17 = *(unsigned __int8 *)(*(_QWORD *)(a3 + 24) + 125LL); | |
sub_7102850844(); | |
v18 = sub_7100823CA8(*(_QWORD *)(a1 + 104)); | |
sub_7100828240(v18, v17); | |
sub_710180548C(&v36, v33[0]); | |
if ( v33[0] ) | |
{ | |
v19 = (unsigned int *)(v33[0] + 80); | |
do | |
{ | |
v20 = __ldaxr(v19); | |
v21 = v20 - 1; | |
} | |
while ( __stlxr(v21, v19) ); | |
if ( !v21 ) | |
(*(void (__fastcall **)(__int64))(*(_QWORD *)v33[0] + 16LL))(v33[0]); | |
} | |
sub_710180573C((__int64)&v36, *(unsigned __int16 *)(a3 + 32)); | |
v22 = atomic_load((unsigned __int8 *)&qword_71042A6EF0); | |
if ( (v22 & 1) == 0 && _cxa_guard_acquire_0(&qword_71042A6EF0) ) | |
{ | |
sub_7100000250((__int64)sub_71007A836C, (__int64)&qword_71042A6EE0, (__int64)&off_710401A000); | |
_cxa_guard_release_0(&qword_71042A6EF0); | |
} | |
qword_71042A6ED8 = qword_71042A6EE0; | |
sub_7101048A98(); | |
v33[0] = 0x52DAF76250FE632ALL; | |
v33[1] = (__int64)"WSYS_U_RANK"; | |
v33[2] = 11LL; | |
v34 = 0LL; | |
LODWORD(v36) = sub_7100FF5878(v35, v33); | |
if ( v34 ) | |
(*(void (__fastcall **)(__int64))(*(_QWORD *)v34 + 32LL))(v34); | |
v23 = v35; | |
if ( v35 ) | |
{ | |
v24 = *(_QWORD *)(v35 + 88); | |
v25 = (unsigned int *)(v24 + 12); | |
do | |
{ | |
v26 = __ldaxr(v25); | |
v27 = v26 - 1; | |
} | |
while ( __stlxr(v27, v25) ); | |
if ( !v27 ) | |
{ | |
*(_QWORD *)(v24 + 24) = 0LL; | |
(*(void (__fastcall **)(__int64))(*(_QWORD *)v23 + 32LL))(v23); | |
} | |
} | |
BYTE6(v39[1]) = *(_BYTE *)(sub_7100823BB4(*(_QWORD *)(a1 + 104)) + 976); | |
get_capture_indicator((capture_info *)&v49, (capture_info *)&v36); | |
} | |
while ( 1 ) | |
{ | |
v28 = capture_shake_check((capture_info *)&v49); | |
if ( !v28 ) | |
{ | |
*(_BYTE *)a2 = 1; | |
if ( v16 ) | |
sub_7101AA01B0(v16, 1); | |
LABEL_27: | |
result = v66; | |
if ( !v66 ) | |
return result; | |
goto LABEL_28; | |
} | |
if ( v28 == 2 ) | |
break; | |
++*(_BYTE *)(a2 + 2); | |
} | |
if ( !v16 ) | |
goto LABEL_27; | |
sub_7101AA01C4(v16, 1); | |
result = v66; | |
if ( !v66 ) | |
return result; | |
LABEL_28: | |
v29 = result[11]; | |
v30 = (unsigned int *)(v29 + 12); | |
do | |
{ | |
v31 = __ldaxr(v30); | |
v32 = v31 - 1; | |
} | |
while ( __stlxr(v32, v30) ); | |
if ( !v32 ) | |
{ | |
*(_QWORD *)(v29 + 24) = 0LL; | |
return (_QWORD *)(*(__int64 (__fastcall **)(_QWORD *))(*result + 32LL))(result); | |
} | |
return result; | |
} | |
---- | |
.text:00000071007A6CAC ; _QWORD *__fastcall judge_capture_in_battle(__int64, __int64, __int64) | |
.text:00000071007A6CAC judge_capture_in_battle ; DATA XREF: .data:00000071040B44B8↓o | |
.text:00000071007A6CAC | |
.text:00000071007A6CAC var_188 = -0x188 | |
.text:00000071007A6CAC var_178 = -0x178 | |
.text:00000071007A6CAC var_170 = -0x170 | |
.text:00000071007A6CAC var_168 = -0x168 | |
.text:00000071007A6CAC var_160 = -0x160 | |
.text:00000071007A6CAC var_158 = -0x158 | |
.text:00000071007A6CAC var_154 = -0x154 | |
.text:00000071007A6CAC var_138 = -0x138 | |
.text:00000071007A6CAC var_12A = -0x12A | |
.text:00000071007A6CAC var_128 = -0x128 | |
.text:00000071007A6CAC anonymous_0 = -0x120 | |
.text:00000071007A6CAC var_118 = -0x118 | |
.text:00000071007A6CAC var_114 = -0x114 | |
.text:00000071007A6CAC var_110 = -0x110 | |
.text:00000071007A6CAC var_108 = -0x108 | |
.text:00000071007A6CAC anonymous_1 = -0x100 | |
.text:00000071007A6CAC var_F8 = -0xF8 | |
.text:00000071007A6CAC var_F0 = -0xF0 | |
.text:00000071007A6CAC var_E8 = -0xE8 | |
.text:00000071007A6CAC var_E4 = -0xE4 | |
.text:00000071007A6CAC var_E0 = -0xE0 | |
.text:00000071007A6CAC var_D8 = -0xD8 | |
.text:00000071007A6CAC var_D4 = -0xD4 | |
.text:00000071007A6CAC var_B8 = -0xB8 | |
.text:00000071007A6CAC var_A8 = -0xA8 | |
.text:00000071007A6CAC anonymous_2 = -0xA0 | |
.text:00000071007A6CAC var_98 = -0x98 | |
.text:00000071007A6CAC var_94 = -0x94 | |
.text:00000071007A6CAC var_90 = -0x90 | |
.text:00000071007A6CAC var_88 = -0x88 | |
.text:00000071007A6CAC anonymous_3 = -0x80 | |
.text:00000071007A6CAC var_78 = -0x78 | |
.text:00000071007A6CAC var_70 = -0x70 | |
.text:00000071007A6CAC var_68 = -0x68 | |
.text:00000071007A6CAC var_64 = -0x64 | |
.text:00000071007A6CAC var_60 = -0x60 | |
.text:00000071007A6CAC anonymous_4 = -0x58 | |
.text:00000071007A6CAC var_50 = -0x50 | |
.text:00000071007A6CAC var_4C = -0x4C | |
.text:00000071007A6CAC var_48 = -0x48 | |
.text:00000071007A6CAC var_40 = -0x40 | |
.text:00000071007A6CAC var_30 = -0x30 | |
.text:00000071007A6CAC var_20 = -0x20 | |
.text:00000071007A6CAC var_10 = -0x10 | |
.text:00000071007A6CAC var_s0 = 0 | |
.text:00000071007A6CAC | |
.text:00000071007A6CAC SUB SP, SP, #0x1A0 | |
.text:00000071007A6CB0 STP X28, X25, [SP,#0x190+var_40] | |
.text:00000071007A6CB4 STP X24, X23, [SP,#0x190+var_30] | |
.text:00000071007A6CB8 STP X22, X21, [SP,#0x190+var_20] | |
.text:00000071007A6CBC STP X20, X19, [SP,#0x190+var_10] | |
.text:00000071007A6CC0 STP X29, X30, [SP,#0x190+var_s0] | |
.text:00000071007A6CC4 ADD X29, SP, #0x190 | |
.text:00000071007A6CC8 STRH WZR, [X1] | |
.text:00000071007A6CCC MOV X20, X0 | |
.text:00000071007A6CD0 MOV X22, X2 | |
.text:00000071007A6CD4 STRB WZR, [X1,#2] | |
.text:00000071007A6CD8 LDR X0, [X2,#0x18] | |
.text:00000071007A6CDC LDRB W21, [X0,#0x7D] | |
.text:00000071007A6CE0 MOV X19, X1 | |
.text:00000071007A6CE4 BL sub_7102850844 | |
.text:00000071007A6CE8 MOV X23, X0 | |
.text:00000071007A6CEC LDR X0, [X20,#0x68] | |
.text:00000071007A6CF0 BL sub_7100823CA8 | |
.text:00000071007A6CF4 ADD X8, SP, #0x190+var_E0 | |
.text:00000071007A6CF8 MOV W1, W21 | |
.text:00000071007A6CFC BL sub_7100828240 | |
.text:00000071007A6D00 LDR X21, [SP,#0x190+var_E0] | |
.text:00000071007A6D04 MOV X0, X23 | |
.text:00000071007A6D08 BL sub_7102B601B8 | |
.text:00000071007A6D0C MOV W1, W0 | |
.text:00000071007A6D10 MOV X0, X21 | |
.text:00000071007A6D14 BL sub_7102B601C0 | |
.text:00000071007A6D18 LDR X21, [SP,#0x190+var_E0] | |
.text:00000071007A6D1C MOV X0, X23 | |
.text:00000071007A6D20 BL sub_7102B5FBD4 | |
.text:00000071007A6D24 MOV W1, W0 | |
.text:00000071007A6D28 MOV X0, X21 | |
.text:00000071007A6D2C BL sub_7102B5FC04 | |
.text:00000071007A6D30 LDR X0, [SP,#0x190+var_E0] | |
.text:00000071007A6D34 CBZ X0, loc_71007A6D50 | |
.text:00000071007A6D38 ADD X8, X0, #0x50 ; 'P' | |
.text:00000071007A6D3C | |
.text:00000071007A6D3C loc_71007A6D3C ; CODE XREF: judge_capture_in_battle+9C↓j | |
.text:00000071007A6D3C LDAXR W9, [X8] | |
.text:00000071007A6D40 SUBS W9, W9, #1 | |
.text:00000071007A6D44 STLXR W10, W9, [X8] | |
.text:00000071007A6D48 CBNZ W10, loc_71007A6D3C | |
.text:00000071007A6D4C B.EQ loc_71007A6FD8 | |
.text:00000071007A6D50 | |
.text:00000071007A6D50 loc_71007A6D50 ; CODE XREF: judge_capture_in_battle+88↑j | |
.text:00000071007A6D50 ; judge_capture_in_battle+338↓j | |
.text:00000071007A6D50 LDR X0, [X20,#0x68] | |
.text:00000071007A6D54 BL sub_7100823BC4 | |
.text:00000071007A6D58 LDR X8, [X22,#0x18] | |
.text:00000071007A6D5C ADD X1, SP, #0x190+var_E0 | |
.text:00000071007A6D60 LDRB W8, [X8,#0x7D] | |
.text:00000071007A6D64 STRB W8, [SP,#0x190+var_E0] | |
.text:00000071007A6D68 SUB X8, X29, #-var_48 | |
.text:00000071007A6D6C BL sub_7100898DB0 | |
.text:00000071007A6D70 LDUR X8, [X29,#var_48] | |
.text:00000071007A6D74 CBZ X8, loc_71007A6FA0 | |
.text:00000071007A6D78 MOV X23, #0x84222645 | |
.text:00000071007A6D80 STR XZR, [SP,#0x190+var_E0] | |
.text:00000071007A6D84 MOVK X23, #0x9CE4,LSL#32 | |
.text:00000071007A6D88 MOVK X23, #0xCBF2,LSL#48 | |
.text:00000071007A6D8C STRH WZR, [SP,#0x190+var_D8] | |
.text:00000071007A6D90 MOV W24, #1 | |
.text:00000071007A6D94 MOV W25, #0x3F800000 | |
.text:00000071007A6D98 STR WZR, [SP,#0x190+var_D4] | |
.text:00000071007A6D9C MOV W9, #2 | |
.text:00000071007A6DA0 ADD X0, X8, #0xF0 | |
.text:00000071007A6DA4 STR WZR, [SP,#0x190+var_94] | |
.text:00000071007A6DA8 ADD X1, SP, #0x190+var_160 | |
.text:00000071007A6DAC STRB WZR, [SP,#0x190+var_90] | |
.text:00000071007A6DB0 STR XZR, [SP,#0x190+var_B8] | |
.text:00000071007A6DB4 STUR XZR, [SP,#0x190+var_B8+7] | |
.text:00000071007A6DB8 STRH WZR, [SP,#0x190+var_98] | |
.text:00000071007A6DBC STR WZR, [SP,#0x190+var_78] | |
.text:00000071007A6DC0 STR XZR, [SP,#0x190+var_70] | |
.text:00000071007A6DC4 STRB W24, [SP,#0x190+var_68] | |
.text:00000071007A6DC8 STR W25, [SP,#0x190+var_64] | |
.text:00000071007A6DCC STR W9, [SP,#0x190+var_4C] | |
.text:00000071007A6DD0 STR WZR, [SP,#0x190+var_50] | |
.text:00000071007A6DD4 STP XZR, XZR, [SP,#0x190+var_A8] | |
.text:00000071007A6DD8 STP X23, X23, [SP,#0x190+var_88] | |
.text:00000071007A6DDC STP XZR, XZR, [SP,#0x190+var_60] | |
.text:00000071007A6DE0 BL sub_71007A7E50 | |
.text:00000071007A6DE4 MOV X21, X0 | |
.text:00000071007A6DE8 CBZ X0, loc_71007A6F40 | |
.text:00000071007A6DEC ADD X0, SP, #0x190+var_160 | |
.text:00000071007A6DF0 MOV X1, X21 | |
.text:00000071007A6DF4 STR XZR, [SP,#0x190+var_160] | |
.text:00000071007A6DF8 STRH WZR, [SP,#0x190+var_158] | |
.text:00000071007A6DFC STR WZR, [SP,#0x190+var_154] | |
.text:00000071007A6E00 STR WZR, [SP,#0x190+var_114] | |
.text:00000071007A6E04 STRB WZR, [SP,#0x190+var_110] | |
.text:00000071007A6E08 STR XZR, [SP,#0x190+var_138] | |
.text:00000071007A6E0C STUR XZR, [SP,#0x190+var_138+7] | |
.text:00000071007A6E10 STRH WZR, [SP,#0x190+var_118] | |
.text:00000071007A6E14 STR WZR, [SP,#0x190+var_F8] | |
.text:00000071007A6E18 STR XZR, [SP,#0x190+var_F0] | |
.text:00000071007A6E1C STRB W24, [SP,#0x190+var_E8] | |
.text:00000071007A6E20 STR W25, [SP,#0x190+var_E4] | |
.text:00000071007A6E24 STP XZR, XZR, [SP,#0x190+var_128] | |
.text:00000071007A6E28 STP X23, X23, [SP,#0x190+var_108] | |
.text:00000071007A6E2C BL sub_710180527C | |
.text:00000071007A6E30 LDR X0, [X22,#0x18] | |
.text:00000071007A6E34 LDRB W23, [X0,#0x7D] | |
.text:00000071007A6E38 BL sub_7102850844 | |
.text:00000071007A6E3C LDR X0, [X20,#0x68] | |
.text:00000071007A6E40 BL sub_7100823CA8 | |
.text:00000071007A6E44 ADD X8, SP, #0x190+var_188 | |
.text:00000071007A6E48 MOV W1, W23 | |
.text:00000071007A6E4C BL sub_7100828240 | |
.text:00000071007A6E50 LDR X1, [SP,#0x190+var_188] | |
.text:00000071007A6E54 ADD X0, SP, #0x190+var_160 | |
.text:00000071007A6E58 BL sub_710180548C | |
.text:00000071007A6E5C LDR X0, [SP,#0x190+var_188] | |
.text:00000071007A6E60 CBZ X0, loc_71007A6E7C | |
.text:00000071007A6E64 ADD X8, X0, #0x50 ; 'P' | |
.text:00000071007A6E68 | |
.text:00000071007A6E68 loc_71007A6E68 ; CODE XREF: judge_capture_in_battle+1C8↓j | |
.text:00000071007A6E68 LDAXR W9, [X8] | |
.text:00000071007A6E6C SUBS W9, W9, #1 | |
.text:00000071007A6E70 STLXR W10, W9, [X8] | |
.text:00000071007A6E74 CBNZ W10, loc_71007A6E68 | |
.text:00000071007A6E78 B.EQ loc_71007A6FE8 | |
.text:00000071007A6E7C | |
.text:00000071007A6E7C loc_71007A6E7C ; CODE XREF: judge_capture_in_battle+1B4↑j | |
.text:00000071007A6E7C ; judge_capture_in_battle+348↓j | |
.text:00000071007A6E7C LDRH W1, [X22,#0x20] | |
.text:00000071007A6E80 ADD X0, SP, #0x190+var_160 | |
.text:00000071007A6E84 BL sub_710180573C | |
.text:00000071007A6E88 ADRP X8, #off_7104279558@PAGE | |
.text:00000071007A6E8C LDR X8, [X8,#off_7104279558@PAGEOFF] | |
.text:00000071007A6E90 LDARB W8, [X8] | |
.text:00000071007A6E94 TBZ W8, #0, loc_71007A7020 | |
.text:00000071007A6E98 | |
.text:00000071007A6E98 loc_71007A6E98 ; CODE XREF: judge_capture_in_battle+380↓j | |
.text:00000071007A6E98 ; judge_capture_in_battle+3AC↓j | |
.text:00000071007A6E98 ADRP X8, #off_7104279560@PAGE | |
.text:00000071007A6E9C LDR X8, [X8,#off_7104279560@PAGEOFF] | |
.text:00000071007A6EA0 LDR X0, [X8] | |
.text:00000071007A6EA4 ADRP X8, #off_7104279568@PAGE | |
.text:00000071007A6EA8 LDR X8, [X8,#off_7104279568@PAGEOFF] | |
.text:00000071007A6EAC STR X0, [X8] | |
.text:00000071007A6EB0 ADD X8, SP, #0x190+var_168 | |
.text:00000071007A6EB4 BL sub_7101048A98 | |
.text:00000071007A6EB8 LDR X0, [SP,#0x190+var_168] | |
.text:00000071007A6EBC MOV X8, #0x52DAF76250FE632A | |
.text:00000071007A6ECC ADRL X9, aWsysURank ; "WSYS_U_RANK" | |
.text:00000071007A6ED4 STP X8, X9, [SP,#0x190+var_188] | |
.text:00000071007A6ED8 MOV W8, #0xB | |
.text:00000071007A6EDC ADD X1, SP, #0x190+var_188 | |
.text:00000071007A6EE0 STP X8, XZR, [SP,#0x190+var_178] | |
.text:00000071007A6EE4 BL sub_7100FF5878 | |
.text:00000071007A6EE8 STR W0, [SP,#0x190+var_160] | |
.text:00000071007A6EEC LDR X0, [SP,#0x190+var_170] | |
.text:00000071007A6EF0 CBZ X0, loc_71007A6F00 | |
.text:00000071007A6EF4 LDR X8, [X0] | |
.text:00000071007A6EF8 LDR X8, [X8,#0x20] | |
.text:00000071007A6EFC BLR X8 | |
.text:00000071007A6F00 | |
.text:00000071007A6F00 loc_71007A6F00 ; CODE XREF: judge_capture_in_battle+244↑j | |
.text:00000071007A6F00 LDR X0, [SP,#0x190+var_168] | |
.text:00000071007A6F04 CBZ X0, loc_71007A6F24 | |
.text:00000071007A6F08 LDR X8, [X0,#0x58] | |
.text:00000071007A6F0C ADD X9, X8, #0xC | |
.text:00000071007A6F10 | |
.text:00000071007A6F10 loc_71007A6F10 ; CODE XREF: judge_capture_in_battle+270↓j | |
.text:00000071007A6F10 LDAXR W10, [X9] | |
.text:00000071007A6F14 SUBS W10, W10, #1 | |
.text:00000071007A6F18 STLXR W11, W10, [X9] | |
.text:00000071007A6F1C CBNZ W11, loc_71007A6F10 | |
.text:00000071007A6F20 B.EQ loc_71007A700C | |
.text:00000071007A6F24 | |
.text:00000071007A6F24 loc_71007A6F24 ; CODE XREF: judge_capture_in_battle+258↑j | |
.text:00000071007A6F24 ; judge_capture_in_battle+370↓j | |
.text:00000071007A6F24 LDR X0, [X20,#0x68] | |
.text:00000071007A6F28 BL sub_7100823BB4 | |
.text:00000071007A6F2C LDRB W8, [X0,#0x3D0] | |
.text:00000071007A6F30 ADD X0, SP, #0x190+var_E0 | |
.text:00000071007A6F34 ADD X1, SP, #0x190+var_160 | |
.text:00000071007A6F38 STRB W8, [SP,#0x190+var_12A] | |
.text:00000071007A6F3C BL get_capture_indicator | |
.text:00000071007A6F40 | |
.text:00000071007A6F40 loc_71007A6F40 ; CODE XREF: judge_capture_in_battle+13C↑j | |
.text:00000071007A6F40 ; judge_capture_in_battle+2B4↓j | |
.text:00000071007A6F40 ADD X0, SP, #0x190+var_E0 | |
.text:00000071007A6F44 BL capture_shake_check | |
.text:00000071007A6F48 CBZ W0, loc_71007A6F64 | |
.text:00000071007A6F4C CMP W0, #2 | |
.text:00000071007A6F50 B.EQ loc_71007A6FBC | |
.text:00000071007A6F54 LDRB W8, [X19,#2] | |
.text:00000071007A6F58 ADD W8, W8, #1 | |
.text:00000071007A6F5C STRB W8, [X19,#2] | |
.text:00000071007A6F60 B loc_71007A6F40 | |
.text:00000071007A6F64 ; --------------------------------------------------------------------------- | |
.text:00000071007A6F64 | |
.text:00000071007A6F64 loc_71007A6F64 ; CODE XREF: judge_capture_in_battle+29C↑j | |
.text:00000071007A6F64 MOV W8, #1 | |
.text:00000071007A6F68 STRB W8, [X19] | |
.text:00000071007A6F6C CBZ X21, loc_71007A6F7C | |
.text:00000071007A6F70 MOV X0, X21 | |
.text:00000071007A6F74 MOV W1, #1 | |
.text:00000071007A6F78 BL sub_7101AA01B0 | |
.text:00000071007A6F7C | |
.text:00000071007A6F7C loc_71007A6F7C ; CODE XREF: judge_capture_in_battle+2C0↑j | |
.text:00000071007A6F7C ; judge_capture_in_battle:loc_71007A6FBC↓j | |
.text:00000071007A6F7C LDUR X0, [X29,#var_48] | |
.text:00000071007A6F80 CBZ X0, loc_71007A6FA0 | |
.text:00000071007A6F84 | |
.text:00000071007A6F84 loc_71007A6F84 ; CODE XREF: judge_capture_in_battle+324↓j | |
.text:00000071007A6F84 LDR X8, [X0,#0x58] | |
.text:00000071007A6F88 ADD X9, X8, #0xC | |
.text:00000071007A6F8C | |
.text:00000071007A6F8C loc_71007A6F8C ; CODE XREF: judge_capture_in_battle+2EC↓j | |
.text:00000071007A6F8C LDAXR W10, [X9] | |
.text:00000071007A6F90 SUBS W10, W10, #1 | |
.text:00000071007A6F94 STLXR W11, W10, [X9] | |
.text:00000071007A6F98 CBNZ W11, loc_71007A6F8C | |
.text:00000071007A6F9C B.EQ loc_71007A6FF8 | |
.text:00000071007A6FA0 | |
.text:00000071007A6FA0 loc_71007A6FA0 ; CODE XREF: judge_capture_in_battle+C8↑j | |
.text:00000071007A6FA0 ; judge_capture_in_battle+2D4↑j ... | |
.text:00000071007A6FA0 LDP X29, X30, [SP,#0x190+var_s0] | |
.text:00000071007A6FA4 LDP X20, X19, [SP,#0x190+var_10] | |
.text:00000071007A6FA8 LDP X22, X21, [SP,#0x190+var_20] | |
.text:00000071007A6FAC LDP X24, X23, [SP,#0x190+var_30] | |
.text:00000071007A6FB0 LDP X28, X25, [SP,#0x190+var_40] | |
.text:00000071007A6FB4 ADD SP, SP, #0x1A0 | |
.text:00000071007A6FB8 RET | |
.text:00000071007A6FBC ; --------------------------------------------------------------------------- | |
.text:00000071007A6FBC | |
.text:00000071007A6FBC loc_71007A6FBC ; CODE XREF: judge_capture_in_battle+2A4↑j | |
.text:00000071007A6FBC CBZ X21, loc_71007A6F7C | |
.text:00000071007A6FC0 MOV X0, X21 | |
.text:00000071007A6FC4 MOV W1, #1 | |
.text:00000071007A6FC8 BL sub_7101AA01C4 | |
.text:00000071007A6FCC LDUR X0, [X29,#var_48] | |
.text:00000071007A6FD0 CBNZ X0, loc_71007A6F84 | |
.text:00000071007A6FD4 B loc_71007A6FA0 | |
.text:00000071007A6FD8 ; --------------------------------------------------------------------------- | |
.text:00000071007A6FD8 | |
.text:00000071007A6FD8 loc_71007A6FD8 ; CODE XREF: judge_capture_in_battle+A0↑j | |
.text:00000071007A6FD8 LDR X8, [X0] | |
.text:00000071007A6FDC LDR X8, [X8,#0x10] | |
.text:00000071007A6FE0 BLR X8 | |
.text:00000071007A6FE4 B loc_71007A6D50 | |
.text:00000071007A6FE8 ; --------------------------------------------------------------------------- | |
.text:00000071007A6FE8 | |
.text:00000071007A6FE8 loc_71007A6FE8 ; CODE XREF: judge_capture_in_battle+1CC↑j | |
.text:00000071007A6FE8 LDR X8, [X0] | |
.text:00000071007A6FEC LDR X8, [X8,#0x10] | |
.text:00000071007A6FF0 BLR X8 | |
.text:00000071007A6FF4 B loc_71007A6E7C | |
.text:00000071007A6FF8 ; --------------------------------------------------------------------------- | |
.text:00000071007A6FF8 | |
.text:00000071007A6FF8 loc_71007A6FF8 ; CODE XREF: judge_capture_in_battle+2F0↑j | |
.text:00000071007A6FF8 STR XZR, [X8,#0x18] | |
.text:00000071007A6FFC LDR X8, [X0] | |
.text:00000071007A7000 LDR X8, [X8,#0x20] | |
.text:00000071007A7004 BLR X8 | |
.text:00000071007A7008 B loc_71007A6FA0 | |
.text:00000071007A700C ; --------------------------------------------------------------------------- | |
.text:00000071007A700C | |
.text:00000071007A700C loc_71007A700C ; CODE XREF: judge_capture_in_battle+274↑j | |
.text:00000071007A700C STR XZR, [X8,#0x18] | |
.text:00000071007A7010 LDR X8, [X0] | |
.text:00000071007A7014 LDR X8, [X8,#0x20] | |
.text:00000071007A7018 BLR X8 | |
.text:00000071007A701C B loc_71007A6F24 | |
.text:00000071007A7020 ; --------------------------------------------------------------------------- | |
.text:00000071007A7020 | |
.text:00000071007A7020 loc_71007A7020 ; CODE XREF: judge_capture_in_battle+1E8↑j | |
.text:00000071007A7020 ADRP X0, #off_7104279558@PAGE | |
.text:00000071007A7024 LDR X0, [X0,#off_7104279558@PAGEOFF] ; __guard * | |
.text:00000071007A7028 BL __cxa_guard_acquire_0 | |
.text:00000071007A702C CBZ W0, loc_71007A6E98 | |
.text:00000071007A7030 ADRP X1, #off_7104279560@PAGE | |
.text:00000071007A7034 LDR X1, [X1,#off_7104279560@PAGEOFF] | |
.text:00000071007A7038 ADRL X0, sub_71007A836C | |
.text:00000071007A7040 ADRL X2, off_710401A000 | |
.text:00000071007A7048 BL sub_7100000250 | |
.text:00000071007A704C ADRP X0, #off_7104279558@PAGE | |
.text:00000071007A7050 LDR X0, [X0,#off_7104279558@PAGEOFF] ; __guard * | |
.text:00000071007A7054 BL __cxa_guard_release_0 | |
.text:00000071007A7058 B loc_71007A6E98 | |
.text:00000071007A7058 ; End of function judge_capture_in_battle |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment