Skip to content

Instantly share code, notes, and snippets.

@Lusamine
Created August 20, 2022 19:26
Show Gist options
  • Save Lusamine/15f1809e89a3a60a1b7e3e18b22209f6 to your computer and use it in GitHub Desktop.
Save Lusamine/15f1809e89a3a60a1b7e3e18b22209f6 to your computer and use it in GitHub Desktop.
_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