Skip to content

Instantly share code, notes, and snippets.

@Lusamine
Created February 16, 2026 03:46
Show Gist options
  • Select an option

  • Save Lusamine/63b9d0b05d88cb8f34b9cdc24e210507 to your computer and use it in GitHub Desktop.

Select an option

Save Lusamine/63b9d0b05d88cb8f34b9cdc24e210507 to your computer and use it in GitHub Desktop.
__int64 __fastcall get_flavor_budget(unsigned int flavor_value)
{
void *v2; // x8
int v3; // w9
void *v4; // x0
unsigned int flavor_threshold_1; // w20
unsigned int flavor_threshold_2; // w21
unsigned int flavor_threshold_3; // w22
unsigned int flavor_threshold_4; // w23
unsigned int flavor_threshold_5; // w24
unsigned int flavor_threshold_6; // w25
unsigned int flavor_threshold_7; // w26
unsigned int flavor_threshold_8; // w27
unsigned int v13; // w19
__int64 v15; // [xsp+18h] [xbp+18h] BYREF
v2 = off_7103EC3428;
v3 = *((_DWORD *)off_7103EC3428 + 80);
__dmb(9u);
if ( v3 )
v4 = v2;
else
v4 = 0LL;
sub_71008517AC(v4);
flavor_threshold_1 = sub_71008CB5D0(v15, 121LL);
flavor_threshold_2 = sub_71008CB5D0(v15, 122LL);
flavor_threshold_3 = sub_71008CB5D0(v15, 123LL);
flavor_threshold_4 = sub_71008CB5D0(v15, 124LL);
flavor_threshold_5 = sub_71008CB5D0(v15, 152LL);
flavor_threshold_6 = sub_71008CB5D0(v15, 153LL);
flavor_threshold_7 = sub_71008CB5D0(v15, 154LL);
flavor_threshold_8 = sub_71008CB5D0(v15, 155LL);
if ( (unsigned int)sub_71008CB5D0(v15, 156LL) <= flavor_value )
{
v13 = 9;
}
else if ( flavor_threshold_8 <= flavor_value )
{
v13 = 8;
}
else if ( flavor_threshold_7 <= flavor_value )
{
v13 = 7;
}
else if ( flavor_threshold_6 <= flavor_value )
{
v13 = 6;
}
else if ( flavor_threshold_5 <= flavor_value )
{
v13 = 5;
}
else if ( flavor_threshold_4 <= flavor_value )
{
v13 = 4;
}
else if ( flavor_threshold_3 <= flavor_value )
{
v13 = 3;
}
else if ( flavor_threshold_2 <= flavor_value )
{
v13 = 2;
}
else
{
v13 = flavor_threshold_1 <= flavor_value;
}
sub_7100776BD4(&v15);
return v13;
}
----
.text:0000007102D5DD04 ; __int64 __fastcall get_flavor_budget(unsigned int flavor_value)
.text:0000007102D5DD04 get_flavor_budget ; CODE XREF: generate_donut+B4↑p
.text:0000007102D5DD04
.text:0000007102D5DD04 var_20 = -0x20
.text:0000007102D5DD04 var_10 = -0x10
.text:0000007102D5DD04 var_8 = -8
.text:0000007102D5DD04 var_s0 = 0
.text:0000007102D5DD04 var_s10 = 0x10
.text:0000007102D5DD04 var_s20 = 0x20
.text:0000007102D5DD04 var_s30 = 0x30
.text:0000007102D5DD04
.text:0000007102D5DD04 STP X29, X30, [SP,#-0x40+var_20]!
.text:0000007102D5DD08 STR X27, [SP,#0x20+var_10]
.text:0000007102D5DD0C STP X26, X25, [SP,#0x20+var_s0]
.text:0000007102D5DD10 STP X24, X23, [SP,#0x20+var_s10]
.text:0000007102D5DD14 STP X22, X21, [SP,#0x20+var_s20]
.text:0000007102D5DD18 STP X20, X19, [SP,#0x20+var_s30]
.text:0000007102D5DD1C MOV X29, SP
.text:0000007102D5DD20 ADRP X8, #off_7103EC3428@PAGE
.text:0000007102D5DD24 MOV W19, W0
.text:0000007102D5DD28 LDR X8, [X8,#off_7103EC3428@PAGEOFF]
.text:0000007102D5DD2C LDR W9, [X8,#0x140]
.text:0000007102D5DD30 DMB ISHLD
.text:0000007102D5DD34 CMP W9, #0
.text:0000007102D5DD38 CSEL X0, XZR, X8, EQ
.text:0000007102D5DD3C ADD X8, X29, #0x18
.text:0000007102D5DD40 BL sub_71008517AC
.text:0000007102D5DD44 LDR X0, [X29,#0x20+var_8]
.text:0000007102D5DD48 MOV W1, #0x79 ; 'y'
.text:0000007102D5DD4C BL sub_71008CB5D0
.text:0000007102D5DD50 MOV W20, W0
.text:0000007102D5DD54 LDR X0, [X29,#0x20+var_8]
.text:0000007102D5DD58 MOV W1, #0x7A ; 'z'
.text:0000007102D5DD5C BL sub_71008CB5D0
.text:0000007102D5DD60 MOV W21, W0
.text:0000007102D5DD64 LDR X0, [X29,#0x20+var_8]
.text:0000007102D5DD68 MOV W1, #0x7B ; '{'
.text:0000007102D5DD6C BL sub_71008CB5D0
.text:0000007102D5DD70 MOV W22, W0
.text:0000007102D5DD74 LDR X0, [X29,#0x20+var_8]
.text:0000007102D5DD78 MOV W1, #0x7C ; '|'
.text:0000007102D5DD7C BL sub_71008CB5D0
.text:0000007102D5DD80 MOV W23, W0
.text:0000007102D5DD84 LDR X0, [X29,#0x20+var_8]
.text:0000007102D5DD88 MOV W1, #0x98
.text:0000007102D5DD8C BL sub_71008CB5D0
.text:0000007102D5DD90 MOV W24, W0
.text:0000007102D5DD94 LDR X0, [X29,#0x20+var_8]
.text:0000007102D5DD98 MOV W1, #0x99
.text:0000007102D5DD9C BL sub_71008CB5D0
.text:0000007102D5DDA0 MOV W25, W0
.text:0000007102D5DDA4 LDR X0, [X29,#0x20+var_8]
.text:0000007102D5DDA8 MOV W1, #0x9A
.text:0000007102D5DDAC BL sub_71008CB5D0
.text:0000007102D5DDB0 MOV W26, W0
.text:0000007102D5DDB4 LDR X0, [X29,#0x20+var_8]
.text:0000007102D5DDB8 MOV W1, #0x9B
.text:0000007102D5DDBC BL sub_71008CB5D0
.text:0000007102D5DDC0 MOV W27, W0
.text:0000007102D5DDC4 LDR X0, [X29,#0x20+var_8]
.text:0000007102D5DDC8 MOV W1, #0x9C
.text:0000007102D5DDCC BL sub_71008CB5D0
.text:0000007102D5DDD0 CMP W0, W19
.text:0000007102D5DDD4 B.LS loc_7102D5DE1C
.text:0000007102D5DDD8 CMP W27, W19
.text:0000007102D5DDDC B.LS loc_7102D5DE48
.text:0000007102D5DDE0 CMP W26, W19
.text:0000007102D5DDE4 B.LS loc_7102D5DE50
.text:0000007102D5DDE8 CMP W25, W19
.text:0000007102D5DDEC B.LS loc_7102D5DE58
.text:0000007102D5DDF0 CMP W24, W19
.text:0000007102D5DDF4 B.LS loc_7102D5DE60
.text:0000007102D5DDF8 CMP W23, W19
.text:0000007102D5DDFC B.LS loc_7102D5DE68
.text:0000007102D5DE00 CMP W22, W19
.text:0000007102D5DE04 B.LS loc_7102D5DE70
.text:0000007102D5DE08 CMP W21, W19
.text:0000007102D5DE0C B.LS loc_7102D5DE78
.text:0000007102D5DE10 CMP W20, W19
.text:0000007102D5DE14 CSET W19, LS
.text:0000007102D5DE18 B loc_7102D5DE20
.text:0000007102D5DE1C ; ---------------------------------------------------------------------------
.text:0000007102D5DE1C
.text:0000007102D5DE1C loc_7102D5DE1C ; CODE XREF: get_flavor_budget+D0↑j
.text:0000007102D5DE1C MOV W19, #9
.text:0000007102D5DE20
.text:0000007102D5DE20 loc_7102D5DE20 ; CODE XREF: get_flavor_budget+114↑j
.text:0000007102D5DE20 ; get_flavor_budget+148↓j ...
.text:0000007102D5DE20 ADD X0, X29, #0x18
.text:0000007102D5DE24 BL sub_7100776BD4
.text:0000007102D5DE28 MOV W0, W19
.text:0000007102D5DE2C LDP X20, X19, [SP,#0x20+var_s30]
.text:0000007102D5DE30 LDP X22, X21, [SP,#0x20+var_s20]
.text:0000007102D5DE34 LDR X27, [SP,#0x20+var_10]
.text:0000007102D5DE38 LDP X24, X23, [SP,#0x20+var_s10]
.text:0000007102D5DE3C LDP X26, X25, [SP,#0x20+var_s0]
.text:0000007102D5DE40 LDP X29, X30, [SP+0x20+var_20],#0x60
.text:0000007102D5DE44 RET
.text:0000007102D5DE48 ; ---------------------------------------------------------------------------
.text:0000007102D5DE48
.text:0000007102D5DE48 loc_7102D5DE48 ; CODE XREF: get_flavor_budget+D8↑j
.text:0000007102D5DE48 MOV W19, #8
.text:0000007102D5DE4C B loc_7102D5DE20
.text:0000007102D5DE50 ; ---------------------------------------------------------------------------
.text:0000007102D5DE50
.text:0000007102D5DE50 loc_7102D5DE50 ; CODE XREF: get_flavor_budget+E0↑j
.text:0000007102D5DE50 MOV W19, #7
.text:0000007102D5DE54 B loc_7102D5DE20
.text:0000007102D5DE58 ; ---------------------------------------------------------------------------
.text:0000007102D5DE58
.text:0000007102D5DE58 loc_7102D5DE58 ; CODE XREF: get_flavor_budget+E8↑j
.text:0000007102D5DE58 MOV W19, #6
.text:0000007102D5DE5C B loc_7102D5DE20
.text:0000007102D5DE60 ; ---------------------------------------------------------------------------
.text:0000007102D5DE60
.text:0000007102D5DE60 loc_7102D5DE60 ; CODE XREF: get_flavor_budget+F0↑j
.text:0000007102D5DE60 MOV W19, #5
.text:0000007102D5DE64 B loc_7102D5DE20
.text:0000007102D5DE68 ; ---------------------------------------------------------------------------
.text:0000007102D5DE68
.text:0000007102D5DE68 loc_7102D5DE68 ; CODE XREF: get_flavor_budget+F8↑j
.text:0000007102D5DE68 MOV W19, #4
.text:0000007102D5DE6C B loc_7102D5DE20
.text:0000007102D5DE70 ; ---------------------------------------------------------------------------
.text:0000007102D5DE70
.text:0000007102D5DE70 loc_7102D5DE70 ; CODE XREF: get_flavor_budget+100↑j
.text:0000007102D5DE70 MOV W19, #3
.text:0000007102D5DE74 B loc_7102D5DE20
.text:0000007102D5DE78 ; ---------------------------------------------------------------------------
.text:0000007102D5DE78
.text:0000007102D5DE78 loc_7102D5DE78 ; CODE XREF: get_flavor_budget+108↑j
.text:0000007102D5DE78 MOV W19, #2
.text:0000007102D5DE7C B loc_7102D5DE20
.text:0000007102D5DE7C ; End of function get_flavor_budget
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment