091B9BC0 LDR W8, [X1,#0x20] // TrackedActivity.activityCase_
091B9BC4 CMP W8, #1 // Mission
091B9BC8 B.NE 091B9CE4 // Non-mission -> RefreshCurrentFollower
091B9BCC STP X19, X30, [SP,#-0x10]! // Save registers
091B9BD0 STP X20, X21, [SP,#-0x10]!
091B9BD4 STP X22, X23, [SP,#-0x10]!
091B9BD8 STP X24, X25, [SP,#-0x10]!
091B9BDC STP X26, X27, [SP,#-0x10]!
091B9BE0 MOV X19, X0 // MissionManager*
091B9BE4 LDR X8, [X1,#0x18] // Tracked mission payload
091B9BE8 LDR W20, [X8,#0x18] // Mission ID
091B9BEC BL 036DA8C0 // MissionManager::get_Profile()
091B9BF0 LDR X0, [X0,#0x30] // ProfileWorld*
091B9BF4 MOV W1, W20 // Mission ID
091B9BF8 MOV X2, XZR
091B9BFC BL 05982C20 // ProfileWorld::GetMissionSlot()
091B9C00 MOV X20, X0 // MissionSlot*
091B9C04 BL 04E27E00 // MissionSlot::get_CurrentStep()
091B9C08 LDR X8, [X0,#0x18] // Current step collection
091B9C0C LDR X8, [X8,#0x10]
091B9C10 LDR W21, [X8,#0x18] // Group count
091B9C14 LDR X9, [X8,#0x10]
091B9C18 ADD X23, X9, #0x20 // First group
091B9C1C MOV W22, WZR // Group index
091B9C20 CMP W22, W21
091B9C24 B.GE 091B9CCC // Done
091B9C28 LDR X10, [X23,X22,LSL#3] // Current group
091B9C2C LDR X11, [X10,#0x18] // Objective collection
091B9C30 LDR X11, [X11,#0x10]
091B9C34 LDR W24, [X11,#0x18] // Objective count
091B9C38 LDR X12, [X11,#0x10]
091B9C3C ADD X26, X12, #0x20 // First objective
091B9C40 MOV W25, WZR // Objective index
091B9C44 CMP W25, W24
091B9C48 B.GE 091B9CC4 // Next group
091B9C4C LDR X0, [X26,X25,LSL#3] // MissionObjective*
091B9C50 LDR W1, [X0,#0x28] // MissionObjective.status_
091B9C54 SUB W8, W1, #1
091B9C58 CMP W8, #1
091B9C5C B.HI 091B9CBC // Skip unless Ongoing/Ready
091B9C60 LDR X13, [X0,#0x70] // MissionObjectiveData*
091B9C64 LDR W1, [X13,#0x48] // customStepCase_
091B9C68 CMP W1, #207 // MenuAction
091B9C6C B.EQ 091B9CA8 // MenuAction path
091B9C70 CMP W1, #140 // DesignChallenge
091B9C74 B.EQ 091B9CA0 // DesignChallenge path
091B9C78 SUB W8, W1, #296 // StarPathFtueDuty / StarPathFtueReward
091B9C7C CMP W8, #1
091B9C80 B.HI 091B9CBC // Unsupported custom step
091B9C84 MOV X27, X0 // MissionObjective*
091B9C88 BL 06175740 // MissionObjective::get_TargetAmountInt()
091B9C8C MOV W1, W0 // Target amount
091B9C90 MOV X0, X27 // MissionObjective*
091B9C94 MOV W2, #1 // canChangeState = true
091B9C98 BL 061A4460 // MissionObjective::SetCurrentProgression()
091B9C9C B 091B9CCC // Exit after Star Path progression
091B9CA0 MOV W1, #14 // DesignChallenge condition
091B9CA4 B 091B9CAC // CheckForAdvanceStep path
091B9CA8 MOV W1, #13 // MenuAction condition
091B9CAC LDR X3, [X13,#0x30] // MissionObjectiveData.stepName_
091B9CB0 MOV X2, X20 // MissionSlot*
091B9CB4 MOV X0, X19 // MissionManager*
091B9CB8 BL 036E8F50 // MissionManager::CheckForAdvanceStep()
091B9CBC ADD W25, W25, #1 // Next objective
091B9CC0 B 091B9C44 // Objective loop
091B9CC4 ADD W22, W22, #1 // Next group
091B9CC8 B 091B9C20 // Group loop
091B9CCC MOV X0, X19 // MissionManager*
091B9CD0 LDP X26, X27, [SP],#0x10 // Restore registers
091B9CD4 LDP X24, X25, [SP],#0x10
091B9CD8 LDP X22, X23, [SP],#0x10
091B9CDC LDP X20, X21, [SP],#0x10
091B9CE0 LDP X19, X30, [SP],#0x10
091B9CE4 B 036E56F0 // Tail-call MissionManager::RefreshCurrentFollower()
036E9170 CBZ X1, 036E56F0 // Hook: null -> RefreshCurrentFollower
036E9174 B 091B9BC0 // Hook: SkipOnlineQuestSteps