# EnergyBoost_Model_EnergyBoostModel_914.luac
; fn @EnergyBoostModel.lua  line 0-0 np=0 va=1 ms=4 code=103 consts=35 upvals=1 protos=29
;   K[0]='EnergyBoostModel'
;   K[1]='__index'
;   K[2]=-1
;   K[3]='EEnergyBoostType'
;   K[4]='None'
;   K[5]='Double'
;   K[6]='Quad'
;   K[7]='Init'
;   K[8]='Destroy'
;   K[9]='OnLoginFinished'
;   K[10]='LateInit'
;   K[11]='_HandleNewBoostBonusConfig'
;   K[12]='_HandleOldBoostBonusConfig'
;   K[13]='GetTriggerCount'
;   K[14]='OnAddEnergy'
;   K[15]='OnBuyEnergySuccess'
;   K[16]='GetBoostBonusDurationInMin'
;   K[17]='UpdatePerSecond'
;   K[18]='_UpdateStatus'
;   K[19]='_TriggerTimeLimitedEnergyBoost'
;   K[20]='_IsTimeLimitedEnergyBoostOn'
;   K[21]='IsEnergyBoostModeOn'
;   K[22]='IsEnergyBoostConfigOn'
;   K[23]='IsTimeLimitedOn'
;   K[24]='GetTimeLimitedLeftTime'
;   K[25]='GetTriggerBoostType'
;   K[26]='GetUserBoostType'
;   K[27]='SetUserBoostType'
;   K[28]='SwitchUserBoostType'
;   K[29]='CanEnergyBoost'
;   K[30]='GetEnergyBoostCostNum'
;   K[31]='ShouldAutoPop'
;   K[32]='IsFirstTime'
;   K[33]='ShowActivationPrompt'
;   K[34]='ToggleEntryCountDown'
;   upvals: _ENV
;   locals: nStart(6-103), autoIncrease(7-103)
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABUP  _ENV[K0('EnergyBoostModel')] = R0
0002  GETTABUP  R0 = _ENV[K0('EnergyBoostModel')]
0003  GETTABUP  R1 = _ENV[K0('EnergyBoostModel')]
0004  SETTABLE  R0[K1('__index')] = R1
0005  LOADK     R0 = K2 -1
0006  CLOSURE   R1 = closure proto0
0007  NEWTABLE  R2 = {} (0 items)
0008  MOVE      R3 = R0
0009  CALL      R3 = call(R3, 1 args, 0 rets)
0010  SETTABLE  R2[K4('None')] = R3
0011  MOVE      R3 = R0
0012  CALL      R3 = call(R3, 1 args, 0 rets)
0013  SETTABLE  R2[K5('Double')] = R3
0014  MOVE      R3 = R0
0015  CALL      R3 = call(R3, 1 args, 0 rets)
0016  SETTABLE  R2[K6('Quad')] = R3
0017  SETTABUP  _ENV[K3('EEnergyBoostType')] = R2
0018  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0019  CLOSURE   R3 = closure proto1
0020  SETTABLE  R2[K7('Init')] = R3
0021  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0022  CLOSURE   R3 = closure proto2
0023  SETTABLE  R2[K8('Destroy')] = R3
0024  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0025  CLOSURE   R3 = closure proto3
0026  SETTABLE  R2[K9('OnLoginFinished')] = R3
0027  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0028  CLOSURE   R3 = closure proto4
0029  SETTABLE  R2[K10('LateInit')] = R3
0030  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0031  CLOSURE   R3 = closure proto5
0032  SETTABLE  R2[K11('_HandleNewBoostBonusConfig')] = R3
0033  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0034  CLOSURE   R3 = closure proto6
0035  SETTABLE  R2[K12('_HandleOldBoostBonusConfig')] = R3
0036  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0037  CLOSURE   R3 = closure proto7
0038  SETTABLE  R2[K13('GetTriggerCount')] = R3
0039  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0040  CLOSURE   R3 = closure proto8
0041  SETTABLE  R2[K14('OnAddEnergy')] = R3
0042  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0043  CLOSURE   R3 = closure proto9
0044  SETTABLE  R2[K15('OnBuyEnergySuccess')] = R3
0045  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0046  CLOSURE   R3 = closure proto10
0047  SETTABLE  R2[K16('GetBoostBonusDurationInMin')] = R3
0048  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0049  CLOSURE   R3 = closure proto11
0050  SETTABLE  R2[K17('UpdatePerSecond')] = R3
0051  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0052  CLOSURE   R3 = closure proto12
0053  SETTABLE  R2[K18('_UpdateStatus')] = R3
0054  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0055  CLOSURE   R3 = closure proto13
0056  SETTABLE  R2[K19('_TriggerTimeLimitedEnergyBoost')] = R3
0057  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0058  CLOSURE   R3 = closure proto14
0059  SETTABLE  R2[K20('_IsTimeLimitedEnergyBoostOn')] = R3
0060  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0061  CLOSURE   R3 = closure proto15
0062  SETTABLE  R2[K21('IsEnergyBoostModeOn')] = R3
0063  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0064  CLOSURE   R3 = closure proto16
0065  SETTABLE  R2[K22('IsEnergyBoostConfigOn')] = R3
0066  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0067  CLOSURE   R3 = closure proto17
0068  SETTABLE  R2[K23('IsTimeLimitedOn')] = R3
0069  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0070  CLOSURE   R3 = closure proto18
0071  SETTABLE  R2[K24('GetTimeLimitedLeftTime')] = R3
0072  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0073  CLOSURE   R3 = closure proto19
0074  SETTABLE  R2[K25('GetTriggerBoostType')] = R3
0075  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0076  CLOSURE   R3 = closure proto20
0077  SETTABLE  R2[K26('GetUserBoostType')] = R3
0078  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0079  CLOSURE   R3 = closure proto21
0080  SETTABLE  R2[K27('SetUserBoostType')] = R3
0081  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0082  CLOSURE   R3 = closure proto22
0083  SETTABLE  R2[K28('SwitchUserBoostType')] = R3
0084  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0085  CLOSURE   R3 = closure proto23
0086  SETTABLE  R2[K29('CanEnergyBoost')] = R3
0087  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0088  CLOSURE   R3 = closure proto24
0089  SETTABLE  R2[K30('GetEnergyBoostCostNum')] = R3
0090  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0091  CLOSURE   R3 = closure proto25
0092  SETTABLE  R2[K31('ShouldAutoPop')] = R3
0093  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0094  CLOSURE   R3 = closure proto26
0095  SETTABLE  R2[K32('IsFirstTime')] = R3
0096  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0097  CLOSURE   R3 = closure proto27
0098  SETTABLE  R2[K33('ShowActivationPrompt')] = R3
0099  GETTABUP  R2 = _ENV[K0('EnergyBoostModel')]
0100  CLOSURE   R3 = closure proto28
0101  SETTABLE  R2[K34('ToggleEntryCountDown')] = R3
0102  RETURN    return R0..R-1
; ---------- proto0 [None] ----------
  ; fn ?  line 5-8 np=0 va=0 ms=2 code=6 consts=1 upvals=1 protos=0
  ;   K[0]=1
  ;   upvals: nStart
  0000  GETUPVAL  R0 = nStart
  0001  ADD       R0 = K0(1) add R0
  0002  SETUPVAL  nStart = R0
  0003  GETUPVAL  R0 = nStart
  0004  RETURN    return R0..R-1
  0005  RETURN    return R0..R-1
; ---------- proto1 [Init] ----------
  ; fn ?  line 17-23 np=1 va=0 ms=5 code=26 consts=10 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='AddListener'
  ;   K[2]='EEventType'
  ;   K[3]='LoginFinished'
  ;   K[4]='OnLoginFinished'
  ;   K[5]='OnAddEnergy'
  ;   K[6]='BuyEnergySuccess'
  ;   K[7]='OnBuyEnergySuccess'
  ;   K[8]='m_mapTriggerCondition'
  ;   K[9]='m_mapTriggerDuration'
  ;   upvals: _ENV
  ;   locals: self(0-26)
  0000  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R1 = R1[K1('AddListener')]
  0002  GETTABUP  R2 = _ENV[K2('EEventType')]
  0003  GETTABLE  R2 = R2[K3('LoginFinished')]
  0004  MOVE      R3 = R0
  0005  GETTABLE  R4 = R0[K4('OnLoginFinished')]
  0006  CALL      R1 = call(R1, 0 args, 3 rets)
  0007  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0008  GETTABLE  R1 = R1[K1('AddListener')]
  0009  GETTABUP  R2 = _ENV[K2('EEventType')]
  0010  GETTABLE  R2 = R2[K5('OnAddEnergy')]
  0011  MOVE      R3 = R0
  0012  GETTABLE  R4 = R0[K5('OnAddEnergy')]
  0013  CALL      R1 = call(R1, 0 args, 3 rets)
  0014  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0015  GETTABLE  R1 = R1[K1('AddListener')]
  0016  GETTABUP  R2 = _ENV[K2('EEventType')]
  0017  GETTABLE  R2 = R2[K6('BuyEnergySuccess')]
  0018  MOVE      R3 = R0
  0019  GETTABLE  R4 = R0[K7('OnBuyEnergySuccess')]
  0020  CALL      R1 = call(R1, 0 args, 3 rets)
  0021  NEWTABLE  R1 = {} (0 items)
  0022  SETTABLE  R0[K8('m_mapTriggerCondition')] = R1
  0023  NEWTABLE  R1 = {} (0 items)
  0024  SETTABLE  R0[K9('m_mapTriggerDuration')] = R1
  0025  RETURN    return R0..R-1
; ---------- proto2 [Destroy] ----------
  ; fn ?  line 25-27 np=1 va=0 ms=3 code=5 consts=2 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='RemoveTarget'
  ;   upvals: _ENV
  ;   locals: self(0-5)
  0000  GETTABUP  R1 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R1 = R1[K1('RemoveTarget')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  RETURN    return R0..R-1
; ---------- proto3 [OnLoginFinished] ----------
  ; fn ?  line 29-47 np=1 va=0 ms=9 code=78 consts=16 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='ShallowCopy'
  ;   K[2]='m_mapTriggerCondition'
  ;   K[3]='GM'
  ;   K[4]='ConfigModel'
  ;   K[5]='IsEnergyBoostDoubleTriggerConfigOn'
  ;   K[6]='EEnergyBoostType'
  ;   K[7]='Double'
  ;   K[8]='m_mapTriggerDuration'
  ;   K[9]='IsEnergyBoostQuadTriggerConfigOn'
  ;   K[10]='Quad'
  ;   K[11]='EventDispatcher'
  ;   K[12]='DispatchEvent'
  ;   K[13]='EEventType'
  ;   K[14]='EnergyBoostModeChanged'
  ;   K[15]='UpdatePerSecond'
  ;   upvals: _ENV
  ;   locals: self(0-78), bChanged(1-78), mapOldCondition(5-78), bTriggerOn(9-78), triggerCount(9-78), durationInMin(9-78)
  0000  LOADBOOL  R1 = false
  0001  GETTABUP  R2 = _ENV[K0('Table')]
  0002  GETTABLE  R2 = R2[K1('ShallowCopy')]
  0003  GETTABLE  R3 = R0[K2('m_mapTriggerCondition')]
  0004  CALL      R2 = call(R2, 1 args, 1 rets)
  0005  GETTABUP  R3 = _ENV[K3('GM')]
  0006  GETTABLE  R3 = R3[K4('ConfigModel')]
  0007  SELF      R4 = R3[K5('IsEnergyBoostDoubleTriggerConfigOn')] (self)
  0008  CALL      R3 = call(R3, 3 args, 1 rets)
  0009  GETTABLE  R6 = R0[K2('m_mapTriggerCondition')]
  0010  GETTABUP  R7 = _ENV[K6('EEnergyBoostType')]
  0011  GETTABLE  R7 = R7[K7('Double')]
  0012  TEST      if not R3 then   -> -131058
  0013  JMP       (jump)   -> 16
  0014  TESTSET   if R1 then R8   -> -129007
  0015  JMP       (jump)   -> 17
  0016  LOADNIL   R8..R8 = nil
  0017  SETTABLE  R6[R7] = R8
  0018  GETTABLE  R6 = R0[K8('m_mapTriggerDuration')]
  0019  GETTABUP  R7 = _ENV[K6('EEnergyBoostType')]
  0020  GETTABLE  R7 = R7[K7('Double')]
  0021  TEST      if not R3 then   -> -131049
  0022  JMP       (jump)   -> 25
  0023  TESTSET   if R1 then R8   -> -128486
  0024  JMP       (jump)   -> 26
  0025  LOADNIL   R8..R8 = nil
  0026  SETTABLE  R6[R7] = R8
  0027  GETTABUP  R6 = _ENV[K3('GM')]
  0028  GETTABLE  R6 = R6[K4('ConfigModel')]
  0029  SELF      R7 = R6[K9('IsEnergyBoostQuadTriggerConfigOn')] (self)
  0030  CALL      R6 = call(R6, 3 args, 1 rets)
  0031  MOVE      R5 = R0
  0032  MOVE      R4 = R0
  0033  MOVE      R3 = R0
  0034  GETTABLE  R6 = R0[K2('m_mapTriggerCondition')]
  0035  GETTABUP  R7 = _ENV[K6('EEnergyBoostType')]
  0036  GETTABLE  R7 = R7[K10('Quad')]
  0037  TEST      if not R3 then   -> -131033
  0038  JMP       (jump)   -> 41
  0039  TESTSET   if R1 then R8   -> -128982
  0040  JMP       (jump)   -> 42
  0041  LOADNIL   R8..R8 = nil
  0042  SETTABLE  R6[R7] = R8
  0043  GETTABLE  R6 = R0[K8('m_mapTriggerDuration')]
  0044  GETTABUP  R7 = _ENV[K6('EEnergyBoostType')]
  0045  GETTABLE  R7 = R7[K10('Quad')]
  0046  TEST      if not R3 then   -> -131024
  0047  JMP       (jump)   -> 50
  0048  TESTSET   if R1 then R8   -> -128461
  0049  JMP       (jump)   -> 51
  0050  LOADNIL   R8..R8 = nil
  0051  SETTABLE  R6[R7] = R8
  0052  GETTABUP  R6 = _ENV[K6('EEnergyBoostType')]
  0053  GETTABLE  R6 = R6[K7('Double')]
  0054  GETTABLE  R6 = R2[R6]
  0055  GETTABLE  R7 = R0[K2('m_mapTriggerCondition')]
  0056  GETTABUP  R8 = _ENV[K6('EEnergyBoostType')]
  0057  GETTABLE  R8 = R8[K7('Double')]
  0058  GETTABLE  R7 = R7[R8]
  0059  EQ        if R0 eq R7   -> -127932
  0060  JMP       (jump)   -> 70
  0061  GETTABUP  R6 = _ENV[K6('EEnergyBoostType')]
  0062  GETTABLE  R6 = R6[K10('Quad')]
  0063  GETTABLE  R6 = R2[R6]
  0064  GETTABLE  R7 = R0[K2('m_mapTriggerCondition')]
  0065  GETTABUP  R8 = _ENV[K6('EEnergyBoostType')]
  0066  GETTABLE  R8 = R8[K10('Quad')]
  0067  GETTABLE  R7 = R7[R8]
  0068  EQ        if R1 eq R7   -> -127923
  0069  JMP       (jump)   -> 75
  0070  GETTABUP  R6 = _ENV[K11('EventDispatcher')]
  0071  GETTABLE  R6 = R6[K12('DispatchEvent')]
  0072  GETTABUP  R7 = _ENV[K13('EEventType')]
  0073  GETTABLE  R7 = R7[K14('EnergyBoostModeChanged')]
  0074  CALL      R6 = call(R6, 0 args, 1 rets)
  0075  SELF      R7 = R0[K15('UpdatePerSecond')] (self)
  0076  CALL      R6 = call(R6, 0 args, 1 rets)
  0077  RETURN    return R0..R-1
; ---------- proto4 [LateInit] ----------
  ; fn ?  line 49-61 np=1 va=0 ms=4 code=11 consts=7 upvals=0 protos=0
  ;   K[0]='m_mapBoostBonusConfig'
  ;   K[1]='m_maxBoostBonusPrice'
  ;   K[2]=-1
  ;   K[3]='_HandleNewBoostBonusConfig'
  ;   K[4]='_HandleOldBoostBonusConfig'
  ;   K[5]='m_bLateInited'
  ;   K[6]=true
  ;   locals: self(0-11), hasError(5-11)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  SETTABLE  R0[K0('m_mapBoostBonusConfig')] = R1
  0002  SETTABLE  R0[K1('m_maxBoostBonusPrice')] = K2(-1)
  0003  SELF      R2 = R0[K3('_HandleNewBoostBonusConfig')] (self)
  0004  CALL      R1 = call(R1, 1 args, 1 rets)
  0005  TEST      if not R1 then   -> -131065
  0006  JMP       (jump)   -> 9
  0007  SELF      R3 = R0[K4('_HandleOldBoostBonusConfig')] (self)
  0008  CALL      R2 = call(R2, 0 args, 1 rets)
  0009  SETTABLE  R0[K5('m_bLateInited')] = K6(true)
  0010  RETURN    return R0..R-1
; ---------- proto5 [_HandleNewBoostBonusConfig] ----------
  ; fn ?  line 63-101 np=1 va=0 ms=16 code=81 consts=31 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='ConfigModel'
  ;   K[2]='GetGeneralConfByType'
  ;   K[3]='EGeneralConfType'
  ;   K[4]='MultiEnergyBonus'
  ;   K[5]='EConfigParamType'
  ;   K[6]='StringArray'
  ;   K[7]=0
  ;   K[8]='ipairs'
  ;   K[9]='StringUtil'
  ;   K[10]='SplitToNum'
  ;   K[11]='-'
  ;   K[12]=3
  ;   K[13]='Log'
  ;   K[14]='Error'
  ;   K[15]='新版买体力送多倍体力multiEnergy_bonus配置格式错误'
  ;   K[16]=1
  ;   K[17]='m_maxBoostBonusPrice'
  ;   K[18]='新版买体力送多倍体力multiEnergy_bonus顺序错误'
  ;   K[19]=2
  ;   K[20]='EEnergyBoostType'
  ;   K[21]='Double'
  ;   K[22]=4
  ;   K[23]='Quad'
  ;   K[24]='新版买体力送多倍体力multiEnergy_bonus配置倍数错误, 不支持 '
  ;   K[25]='tostring'
  ;   K[26]=' 倍'
  ;   K[27]=', 当前只支持2/4倍'
  ;   K[28]='m_mapBoostBonusConfig'
  ;   K[29]='duration'
  ;   K[30]='eBoostType'
  ;   upvals: _ENV
  ;   locals: self(0-81), multiEnergyBonusConfig(8-81), parts(16-81), price(16-81), nCostNum(16-81), eBoostType(16-81), (for generator)(19-78), (for state)(19-78), (for control)(19-78), _(20-76), config(20-76)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('ConfigModel')]
  0002  SELF      R2 = R1[K2('GetGeneralConfByType')] (self)
  0003  GETTABUP  R3 = _ENV[K3('EGeneralConfType')]
  0004  GETTABLE  R3 = R3[K4('MultiEnergyBonus')]
  0005  GETTABUP  R4 = _ENV[K5('EConfigParamType')]
  0006  GETTABLE  R4 = R4[K6('StringArray')]
  0007  CALL      R1 = call(R1, 1 args, 3 rets)
  0008  TEST      if not R1 then   -> -131062
  0009  JMP       (jump)   -> 13
  0010  LEN       R2 = len R0
  0011  EQ        if R0 eq K7(0)   -> -129772
  0012  JMP       (jump)   -> 15
  0013  LOADBOOL  R2 = true
  0014  RETURN    return R2..R1
  0015  LOADNIL   R2..R2 = nil
  0016  GETTABUP  R6 = _ENV[K8('ipairs')]
  0017  MOVE      R7 = R0
  0018  CALL      R6 = call(R6, 3 args, 1 rets)
  0019  JMP       (jump)   -> 76
  0020  GETTABUP  R11 = _ENV[K9('StringUtil')]
  0021  GETTABLE  R11 = R11[K10('SplitToNum')]
  0022  MOVE      R12 = R0
  0023  LOADK     R13 = K11 '-'
  0024  CALL      R11 = call(R11, 1 args, 2 rets)
  0025  MOVE      R2 = R0
  0026  LEN       R11 = len R0
  0027  EQ        if R1 eq K12(3)   -> -125143
  0028  JMP       (jump)   -> 35
  0029  GETTABUP  R11 = _ENV[K13('Log')]
  0030  GETTABLE  R11 = R11[K14('Error')]
  0031  LOADK     R12 = K15 '新版买体力送多倍体力multiEnergy_bonus配置格式错误'
  0032  CALL      R11 = call(R11, 0 args, 1 rets)
  0033  LOADBOOL  R11 = true
  0034  RETURN    return R11..R10
  0035  GETTABLE  R3 = R2[K16(1)]
  0036  GETTABLE  R11 = R0[K17('m_maxBoostBonusPrice')]
  0037  LT        if R0 lt R3   -> -125398
  0038  JMP       (jump)   -> 41
  0039  SETTABLE  R0[K17('m_maxBoostBonusPrice')] = R3
  0040  JMP       (jump)   -> 47
  0041  GETTABUP  R11 = _ENV[K13('Log')]
  0042  GETTABLE  R11 = R11[K14('Error')]
  0043  LOADK     R12 = K18 '新版买体力送多倍体力multiEnergy_bonus顺序错误'
  0044  CALL      R11 = call(R11, 0 args, 1 rets)
  0045  LOADBOOL  R11 = true
  0046  RETURN    return R11..R10
  0047  GETTABLE  R4 = R2[K19(2)]
  0048  EQ        if R0 eq K19(2)   -> -128699
  0049  JMP       (jump)   -> 53
  0050  GETTABUP  R11 = _ENV[K20('EEnergyBoostType')]
  0051  GETTABLE  R5 = R11[K21('Double')]
  0052  JMP       (jump)   -> 70
  0053  EQ        if R0 eq K22(4)   -> -128691
  0054  JMP       (jump)   -> 58
  0055  GETTABUP  R11 = _ENV[K20('EEnergyBoostType')]
  0056  GETTABLE  R5 = R11[K23('Quad')]
  0057  JMP       (jump)   -> 70
  0058  GETTABUP  R11 = _ENV[K13('Log')]
  0059  GETTABLE  R11 = R11[K14('Error')]
  0060  LOADK     R12 = K24 '新版买体力送多倍体力multiEnergy_bonus配置倍数错误, 不支持 '
  0061  GETTABUP  R13 = _ENV[K25('tostring')]
  0062  MOVE      R14 = R0
  0063  CALL      R13 = call(R13, 1 args, 1 rets)
  0064  LOADK     R14 = K26 ' 倍'
  0065  LOADK     R15 = K27 ', 当前只支持2/4倍'
  0066  CONCAT    R12 = concat(R12..R12)
  0067  CALL      R11 = call(R11, 0 args, 1 rets)
  0068  LOADBOOL  R11 = true
  0069  RETURN    return R11..R10
  0070  GETTABLE  R11 = R0[K28('m_mapBoostBonusConfig')]
  0071  NEWTABLE  R12 = {} (0 items)
  0072  GETTABLE  R13 = R2[K12(3)]
  0073  SETTABLE  R12[K29('duration')] = R13
  0074  SETTABLE  R12[K30('eBoostType')] = R5
  0075  SETTABLE  R11[R3] = R12
  0076  TFORCALL  tforcall R6
  0077  TFORLOOP  tforloop R8(sBx=-58)   -> 20
  0078  LOADBOOL  R6 = false
  0079  RETURN    return R6..R5
  0080  RETURN    return R0..R-1
; ---------- proto6 [_HandleOldBoostBonusConfig] ----------
  ; fn ?  line 103-124 np=1 va=0 ms=10 code=47 consts=21 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='ConfigModel'
  ;   K[2]='GetGeneralConfByType'
  ;   K[3]='EGeneralConfType'
  ;   K[4]='EnergyBoostTriggerBonus'
  ;   K[5]='EConfigParamType'
  ;   K[6]='IntArray'
  ;   K[7]=2
  ;   K[8]=0
  ;   K[9]='Log'
  ;   K[10]='Error'
  ;   K[11]='旧版买体力送多倍体力doubleEnergy_trigger_bonus配置格式错误'
  ;   K[12]=-1
  ;   K[13]=1
  ;   K[14]='m_mapBoostBonusConfig'
  ;   K[15]='duration'
  ;   K[16]='eBoostType'
  ;   K[17]='EEnergyBoostType'
  ;   K[18]='Double'
  ;   K[19]='m_maxBoostBonusPrice'
  ;   K[20]='旧版买体力送多倍体力doubleEnergy_trigger_bonus配置顺序错误'
  ;   upvals: _ENV
  ;   locals: self(0-47), arrConfig(11-47), price(21-47), (for index)(24-46), (for limit)(24-46), (for step)(24-46), i(25-45)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('ConfigModel')]
  0002  SELF      R2 = R1[K2('GetGeneralConfByType')] (self)
  0003  GETTABUP  R3 = _ENV[K3('EGeneralConfType')]
  0004  GETTABLE  R3 = R3[K4('EnergyBoostTriggerBonus')]
  0005  GETTABUP  R4 = _ENV[K5('EConfigParamType')]
  0006  GETTABLE  R4 = R4[K6('IntArray')]
  0007  CALL      R1 = call(R1, 1 args, 3 rets)
  0008  TEST      if not R1 then   -> -131061
  0009  JMP       (jump)   -> 11
  0010  NEWTABLE  R1 = {} (0 items)
  0011  LEN       R2 = len R0
  0012  MOD       R2 = K7(2) mod R2
  0013  EQ        if R1 eq K8(0)   -> -129769
  0014  JMP       (jump)   -> 20
  0015  GETTABUP  R2 = _ENV[K9('Log')]
  0016  GETTABLE  R2 = R2[K10('Error')]
  0017  LOADK     R3 = K11 '旧版买体力送多倍体力doubleEnergy_trigger_bonus配置格式错误'
  0018  CALL      R2 = call(R2, 0 args, 1 rets)
  0019  RETURN    return R0..R-1
  0020  LOADK     R2 = K12 -1
  0021  LOADK     R3 = K7 2
  0022  LEN       R4 = len R0
  0023  LOADK     R5 = K7 2
  0024  FORPREP   forprep R3(sBx=20)   -> 45
  0025  SUB       R7 = K13(1) sub R6
  0026  GETTABLE  R2 = R1[R7]
  0027  GETTABLE  R7 = R0[K14('m_mapBoostBonusConfig')]
  0028  NEWTABLE  R8 = {} (0 items)
  0029  GETTABLE  R9 = R1[R6]
  0030  SETTABLE  R8[K15('duration')] = R9
  0031  GETTABUP  R9 = _ENV[K17('EEnergyBoostType')]
  0032  GETTABLE  R9 = R9[K18('Double')]
  0033  SETTABLE  R8[K16('eBoostType')] = R9
  0034  SETTABLE  R7[R2] = R8
  0035  GETTABLE  R7 = R0[K19('m_maxBoostBonusPrice')]
  0036  LT        if R0 lt R2   -> -127448
  0037  JMP       (jump)   -> 40
  0038  SETTABLE  R0[K19('m_maxBoostBonusPrice')] = R2
  0039  JMP       (jump)   -> 45
  0040  GETTABUP  R7 = _ENV[K9('Log')]
  0041  GETTABLE  R7 = R7[K10('Error')]
  0042  LOADK     R8 = K20 '旧版买体力送多倍体力doubleEnergy_trigger_bonus配置顺序错误'
  0043  CALL      R7 = call(R7, 0 args, 1 rets)
  0044  RETURN    return R0..R-1
  0045  FORLOOP   forloop R3(sBx=-21)   -> 25
  0046  RETURN    return R0..R-1
; ---------- proto7 [GetTriggerCount] ----------
  ; fn ?  line 126-128 np=2 va=0 ms=3 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='m_mapTriggerCondition'
  ;   locals: self(0-4), eBoostType(0-4)
  0000  GETTABLE  R2 = R0[K0('m_mapTriggerCondition')]
  0001  GETTABLE  R2 = R2[R1]
  0002  RETURN    return R2..R1
  0003  RETURN    return R0..R-1
; ---------- proto8 [OnAddEnergy] ----------
  ; fn ?  line 130-171 np=2 va=0 ms=17 code=76 consts=19 upvals=1 protos=0
  ;   K[0]='next'
  ;   K[1]='m_mapTriggerCondition'
  ;   K[2]='type'
  ;   K[3]='EnergyType'
  ;   K[4]='Main'
  ;   K[5]='GetTimeLimitedLeftTime'
  ;   K[6]='GetTriggerBoostType'
  ;   K[7]='EEnergyBoostType'
  ;   K[8]='Quad'
  ;   K[9]='Double'
  ;   K[10]='ipairs'
  ;   K[11]='m_mapTriggerDuration'
  ;   K[12]=30
  ;   K[13]=60
  ;   K[14]='math'
  ;   K[15]='max'
  ;   K[16]=0
  ;   K[17]='cur'
  ;   K[18]='_TriggerTimeLimitedEnergyBoost'
  ;   upvals: _ENV
  ;   locals: self(0-76), msg(0-76), leftTime(13-76), currentBoostType(15-76), arrTypes(21-76), (for generator)(24-75), (for state)(24-75), (for control)(24-75), _(25-73), eBoostType(25-73), triggerCount(27-73), configDurationInSeconds(33-73), addDuration(38-73)
  0000  GETTABUP  R2 = _ENV[K0('next')]
  0001  GETTABLE  R3 = R0[K1('m_mapTriggerCondition')]
  0002  CALL      R2 = call(R2, 1 args, 1 rets)
  0003  TEST      if not R2 then   -> -131067
  0004  JMP       (jump)   -> 10
  0005  GETTABLE  R2 = R1[K2('type')]
  0006  GETTABUP  R3 = _ENV[K3('EnergyType')]
  0007  GETTABLE  R3 = R3[K4('Main')]
  0008  EQ        if R1 eq R3   -> -130035
  0009  JMP       (jump)   -> 11
  0010  RETURN    return R0..R-1
  0011  SELF      R3 = R0[K5('GetTimeLimitedLeftTime')] (self)
  0012  CALL      R2 = call(R2, 1 args, 1 rets)
  0013  SELF      R4 = R0[K6('GetTriggerBoostType')] (self)
  0014  CALL      R3 = call(R3, 1 args, 1 rets)
  0015  NEWTABLE  R4 = {} (2 items)
  0016  GETTABUP  R5 = _ENV[K7('EEnergyBoostType')]
  0017  GETTABLE  R5 = R5[K8('Quad')]
  0018  GETTABUP  R6 = _ENV[K7('EEnergyBoostType')]
  0019  GETTABLE  R6 = R6[K9('Double')]
  0020  SETLIST   setlist R4[B=1,C=2]
  0021  GETTABUP  R5 = _ENV[K10('ipairs')]
  0022  MOVE      R6 = R0
  0023  CALL      R5 = call(R5, 3 args, 1 rets)
  0024  JMP       (jump)   -> 73
  0025  GETTABLE  R10 = R0[K1('m_mapTriggerCondition')]
  0026  GETTABLE  R10 = R10[R9]
  0027  GETTABLE  R11 = R0[K11('m_mapTriggerDuration')]
  0028  GETTABLE  R11 = R11[R9]
  0029  TEST      if not R11 then   -> -131040
  0030  JMP       (jump)   -> 32
  0031  LOADK     R11 = K12 30
  0032  MUL       R11 = K13(60) mul R11
  0033  GETTABUP  R12 = _ENV[K14('math')]
  0034  GETTABLE  R12 = R12[K15('max')]
  0035  LOADK     R13 = K16 0
  0036  SUB       R14 = R2 sub R11
  0037  CALL      R12 = call(R12, 1 args, 2 rets)
  0038  TEST      if not R10 then   -> -131032
  0039  JMP       (jump)   -> 73
  0040  LE        if R1 le K16(0)   -> -125638
  0041  JMP       (jump)   -> 73
  0042  GETTABLE  R13 = R1[K17('cur')]
  0043  LT        if R0 lt R10   -> -124361
  0044  JMP       (jump)   -> 46
  0045  JMP       (jump)   -> 73
  0046  LT        if R0 lt R9   -> -129479
  0047  JMP       (jump)   -> 54
  0048  SELF      R14 = R0[K18('_TriggerTimeLimitedEnergyBoost')] (self)
  0049  MOVE      R15 = R0
  0050  MOVE      R16 = R0
  0051  CALL      R13 = call(R13, 0 args, 3 rets)
  0052  JMP       (jump)   -> 75
  0053  JMP       (jump)   -> 73
  0054  EQ        if R0 eq R3   -> -126405
  0055  JMP       (jump)   -> 64
  0056  LT        if R0 lt R11   -> -129979
  0057  JMP       (jump)   -> 64
  0058  SELF      R14 = R0[K18('_TriggerTimeLimitedEnergyBoost')] (self)
  0059  MOVE      R15 = R0
  0060  MOVE      R16 = R0
  0061  CALL      R13 = call(R13, 0 args, 3 rets)
  0062  JMP       (jump)   -> 75
  0063  JMP       (jump)   -> 73
  0064  LT        if R0 lt R3   -> -126395
  0065  JMP       (jump)   -> 73
  0066  LE        if R0 le K16(0)   -> -129708
  0067  JMP       (jump)   -> 73
  0068  SELF      R14 = R0[K18('_TriggerTimeLimitedEnergyBoost')] (self)
  0069  MOVE      R15 = R0
  0070  MOVE      R16 = R0
  0071  CALL      R13 = call(R13, 0 args, 3 rets)
  0072  JMP       (jump)   -> 75
  0073  TFORCALL  tforcall R5
  0074  TFORLOOP  tforloop R7(sBx=-50)   -> 25
  0075  RETURN    return R0..R-1
; ---------- proto9 [OnBuyEnergySuccess] ----------
  ; fn ?  line 174-195 np=2 va=0 ms=13 code=43 consts=16 upvals=1 protos=0
  ;   K[0]='buyGemCost'
  ;   K[1]='delay'
  ;   K[2]=0
  ;   K[3]='GM'
  ;   K[4]='EnergyModel'
  ;   K[5]='GetEnergy'
  ;   K[6]='EnergyType'
  ;   K[7]='Main'
  ;   K[8]='GetBoostBonusDurationInMin'
  ;   K[9]='ToggleEntryCountDown'
  ;   K[10]='GetTimeLimitedLeftTime'
  ;   K[11]='_TriggerTimeLimitedEnergyBoost'
  ;   K[12]=60
  ;   K[13]='MiscModel'
  ;   K[14]='SetEnergyBoostWindowOpenState'
  ;   K[15]='ShowActivationPrompt'
  ;   upvals: _ENV
  ;   locals: self(0-43), msg(0-43), buyGemCost(1-43), delay(2-43), energyNum(13-43), freeBoostInMin(17-43), eEnergyBoostType(17-43), bAlreadyOn(28-42)
  0000  GETTABLE  R2 = R1[K0('buyGemCost')]
  0001  GETTABLE  R3 = R1[K1('delay')]
  0002  TEST      if not R2 then   -> -131068
  0003  JMP       (jump)   -> 6
  0004  LE        if R0 le K2(0)   -> -129784
  0005  JMP       (jump)   -> 7
  0006  RETURN    return R0..R-1
  0007  GETTABUP  R4 = _ENV[K3('GM')]
  0008  GETTABLE  R4 = R4[K4('EnergyModel')]
  0009  SELF      R5 = R4[K5('GetEnergy')] (self)
  0010  GETTABUP  R6 = _ENV[K6('EnergyType')]
  0011  GETTABLE  R6 = R6[K7('Main')]
  0012  CALL      R4 = call(R4, 1 args, 2 rets)
  0013  SELF      R6 = R0[K8('GetBoostBonusDurationInMin')] (self)
  0014  MOVE      R7 = R0
  0015  MOVE      R8 = R0
  0016  CALL      R5 = call(R5, 2 args, 3 rets)
  0017  LT        if R0 lt R5   -> 1048
  0018  JMP       (jump)   -> 42
  0019  SELF      R8 = R0[K9('ToggleEntryCountDown')] (self)
  0020  LOADBOOL  R9 = false
  0021  CALL      R7 = call(R7, 0 args, 2 rets)
  0022  SELF      R8 = R0[K10('GetTimeLimitedLeftTime')] (self)
  0023  CALL      R7 = call(R7, 1 args, 1 rets)
  0024  LT        if R1 lt R7   -> 1057
  0025  JMP       (jump)   -> 27
  0026  LOADBOOL  R7 = false
  0027  LOADBOOL  R7 = true
  0028  SELF      R9 = R0[K11('_TriggerTimeLimitedEnergyBoost')] (self)
  0029  MUL       R10 = K12(60) mul R5
  0030  MOVE      R11 = R0
  0031  CALL      R8 = call(R8, 0 args, 3 rets)
  0032  GETTABUP  R8 = _ENV[K3('GM')]
  0033  GETTABLE  R8 = R8[K13('MiscModel')]
  0034  SELF      R9 = R8[K14('SetEnergyBoostWindowOpenState')] (self)
  0035  MOVE      R10 = R0
  0036  CALL      R8 = call(R8, 0 args, 2 rets)
  0037  SELF      R9 = R0[K15('ShowActivationPrompt')] (self)
  0038  NOT       R10 = not R0
  0039  MOVE      R11 = R0
  0040  MOVE      R12 = R0
  0041  CALL      R8 = call(R8, 0 args, 4 rets)
  0042  RETURN    return R0..R-1
; ---------- proto10 [GetBoostBonusDurationInMin] ----------
  ; fn ?  line 199-265 np=3 va=0 ms=11 code=100 consts=13 upvals=1 protos=0
  ;   K[0]='m_mapTriggerCondition'
  ;   K[1]='EEnergyBoostType'
  ;   K[2]='Double'
  ;   K[3]='Quad'
  ;   K[4]=0
  ;   K[5]='m_mapBoostBonusConfig'
  ;   K[6]='next'
  ;   K[7]=nil
  ;   K[8]='eBoostType'
  ;   K[9]='GetTimeLimitedLeftTime'
  ;   K[10]='GetTriggerBoostType'
  ;   K[11]='duration'
  ;   K[12]='m_maxBoostBonusPrice'
  ;   upvals: _ENV
  ;   locals: self(0-100), buyEnergyCost(0-100), afterEnergyNum(0-100), doubleTriggerCount(4-100), quadTriggerCount(8-100), eBoostType(26-100), bonusConfig(28-100), durationInMin(65-100), maxConfig(84-97)
  0000  GETTABLE  R3 = R0[K0('m_mapTriggerCondition')]
  0001  GETTABUP  R4 = _ENV[K1('EEnergyBoostType')]
  0002  GETTABLE  R4 = R4[K2('Double')]
  0003  GETTABLE  R3 = R3[R4]
  0004  GETTABLE  R4 = R0[K0('m_mapTriggerCondition')]
  0005  GETTABUP  R5 = _ENV[K1('EEnergyBoostType')]
  0006  GETTABLE  R5 = R5[K3('Quad')]
  0007  GETTABLE  R4 = R4[R5]
  0008  TEST      if not R3 then   -> -131061
  0009  JMP       (jump)   -> 14
  0010  TEST      if not R4 then   -> -131059
  0011  JMP       (jump)   -> 14
  0012  LOADK     R5 = K4 0
  0013  RETURN    return R5..R4
  0014  GETTABLE  R5 = R0[K5('m_mapBoostBonusConfig')]
  0015  TEST      if not R5 then   -> -131055
  0016  JMP       (jump)   -> 22
  0017  GETTABUP  R5 = _ENV[K6('next')]
  0018  GETTABLE  R6 = R0[K5('m_mapBoostBonusConfig')]
  0019  CALL      R5 = call(R5, 1 args, 1 rets)
  0020  EQ        if R0 eq K7(nil)   -> -128227
  0021  JMP       (jump)   -> 24
  0022  LOADK     R5 = K4 0
  0023  RETURN    return R5..R4
  0024  GETTABUP  R5 = _ENV[K1('EEnergyBoostType')]
  0025  GETTABLE  R5 = R5[K2('Double')]
  0026  GETTABLE  R6 = R0[K5('m_mapBoostBonusConfig')]
  0027  GETTABLE  R6 = R6[R1]
  0028  TEST      if not R4 then   -> -131042
  0029  JMP       (jump)   -> 40
  0030  TEST      if not R6 then   -> -131040
  0031  JMP       (jump)   -> 40
  0032  GETTABLE  R7 = R6[K8('eBoostType')]
  0033  GETTABUP  R8 = _ENV[K1('EEnergyBoostType')]
  0034  GETTABLE  R8 = R8[K3('Quad')]
  0035  EQ        if R0 eq R8   -> -127443
  0036  JMP       (jump)   -> 40
  0037  GETTABUP  R7 = _ENV[K1('EEnergyBoostType')]
  0038  GETTABLE  R5 = R7[K3('Quad')]
  0039  JMP       (jump)   -> 59
  0040  SELF      R8 = R0[K9('GetTimeLimitedLeftTime')] (self)
  0041  CALL      R7 = call(R7, 1 args, 1 rets)
  0042  LT        if R0 lt R7   -> 2099
  0043  JMP       (jump)   -> 53
  0044  SELF      R8 = R0[K10('GetTriggerBoostType')] (self)
  0045  CALL      R7 = call(R7, 1 args, 1 rets)
  0046  GETTABUP  R8 = _ENV[K1('EEnergyBoostType')]
  0047  GETTABLE  R8 = R8[K3('Quad')]
  0048  EQ        if R0 eq R8   -> -127430
  0049  JMP       (jump)   -> 53
  0050  GETTABUP  R7 = _ENV[K1('EEnergyBoostType')]
  0051  GETTABLE  R5 = R7[K3('Quad')]
  0052  JMP       (jump)   -> 59
  0053  TEST      if not R4 then   -> -131017
  0054  JMP       (jump)   -> 59
  0055  LE        if R0 le R2   -> -128965
  0056  JMP       (jump)   -> 59
  0057  GETTABUP  R7 = _ENV[K1('EEnergyBoostType')]
  0058  GETTABLE  R5 = R7[K3('Quad')]
  0059  TEST      if not R6 then   -> -131011
  0060  JMP       (jump)   -> 64
  0061  GETTABLE  R7 = R6[K11('duration')]
  0062  TEST      if not R7 then   -> -131007
  0063  JMP       (jump)   -> 65
  0064  LOADNIL   R7..R7 = nil
  0065  TEST      if not R7 then   -> -131005
  0066  JMP       (jump)   -> 70
  0067  MOVE      R8 = R0
  0068  MOVE      R9 = R0
  0069  RETURN    return R8..R7
  0070  GETTABLE  R8 = R0[K12('m_maxBoostBonusPrice')]
  0071  TEST      if not R8 then   -> -130999
  0072  JMP       (jump)   -> 97
  0073  GETTABLE  R8 = R0[K12('m_maxBoostBonusPrice')]
  0074  LT        if R0 lt R8   -> 2132
  0075  JMP       (jump)   -> 97
  0076  TEST      if not R1 then   -> -130994
  0077  JMP       (jump)   -> 97
  0078  GETTABLE  R8 = R0[K12('m_maxBoostBonusPrice')]
  0079  LT        if R0 lt R1   -> -126894
  0080  JMP       (jump)   -> 97
  0081  GETTABLE  R8 = R0[K5('m_mapBoostBonusConfig')]
  0082  GETTABLE  R9 = R0[K12('m_maxBoostBonusPrice')]
  0083  GETTABLE  R8 = R8[R9]
  0084  GETTABLE  R9 = R8[K8('eBoostType')]
  0085  TEST      if not R9 then   -> -130985
  0086  JMP       (jump)   -> 91
  0087  GETTABLE  R9 = R8[K8('eBoostType')]
  0088  LT        if R0 lt R9   -> -128413
  0089  JMP       (jump)   -> 91
  0090  GETTABLE  R5 = R8[K8('eBoostType')]
  0091  GETTABLE  R9 = R8[K11('duration')]
  0092  TEST      if not R9 then   -> -130977
  0093  JMP       (jump)   -> 95
  0094  LOADK     R9 = K4 0
  0095  MOVE      R10 = R0
  0096  RETURN    return R9..R8
  0097  LOADK     R8 = K4 0
  0098  RETURN    return R8..R7
  0099  RETURN    return R0..R-1
; ---------- proto11 [UpdatePerSecond] ----------
  ; fn ?  line 267-273 np=1 va=0 ms=3 code=7 consts=2 upvals=0 protos=0
  ;   K[0]='m_bLateInited'
  ;   K[1]='_UpdateStatus'
  ;   locals: self(0-7)
  0000  GETTABLE  R1 = R0[K0('m_bLateInited')]
  0001  TEST      if not R1 then   -> -131068
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  SELF      R2 = R0[K1('_UpdateStatus')] (self)
  0005  CALL      R1 = call(R1, 0 args, 1 rets)
  0006  RETURN    return R0..R-1
; ---------- proto12 [_UpdateStatus] ----------
  ; fn ?  line 275-282 np=2 va=0 ms=6 code=13 consts=6 upvals=1 protos=0
  ;   K[0]='_IsTimeLimitedEnergyBoostOn'
  ;   K[1]='m_bTimeLimitedOn'
  ;   K[2]='EventDispatcher'
  ;   K[3]='DispatchEvent'
  ;   K[4]='EEventType'
  ;   K[5]='EnergyBoostModeChanged'
  ;   upvals: _ENV
  ;   locals: self(0-13), ignoreToggleEntry(0-13), isTimeLimitedOn(2-13)
  0000  SELF      R3 = R0[K0('_IsTimeLimitedEnergyBoostOn')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  GETTABLE  R3 = R0[K1('m_bTimeLimitedOn')]
  0003  EQ        if R1 eq R3   -> -130040
  0004  JMP       (jump)   -> 12
  0005  SETTABLE  R0[K1('m_bTimeLimitedOn')] = R2
  0006  GETTABUP  R3 = _ENV[K2('EventDispatcher')]
  0007  GETTABLE  R3 = R3[K3('DispatchEvent')]
  0008  GETTABUP  R4 = _ENV[K4('EEventType')]
  0009  GETTABLE  R4 = R4[K5('EnergyBoostModeChanged')]
  0010  MOVE      R5 = R0
  0011  CALL      R3 = call(R3, 0 args, 2 rets)
  0012  RETURN    return R0..R-1
; ---------- proto13 [_TriggerTimeLimitedEnergyBoost] ----------
  ; fn ?  line 284-299 np=3 va=0 ms=10 code=57 consts=23 upvals=1 protos=0
  ;   K[0]='GetTriggerBoostType'
  ;   K[1]='GM'
  ;   K[2]='MiscModel'
  ;   K[3]='GetEnergyBoostTriggerEndTimeInNumber'
  ;   K[4]='math'
  ;   K[5]='max'
  ;   K[6]='GameModel'
  ;   K[7]='GetServerTime'
  ;   K[8]='SetEnergyBoostTriggerEndTime'
  ;   K[9]='SetEnergyBoostTriggerType'
  ;   K[10]='m_bTimeLimitedOn'
  ;   K[11]='_UpdateStatus'
  ;   K[12]='EventDispatcher'
  ;   K[13]='DispatchEvent'
  ;   K[14]='EEventType'
  ;   K[15]='EnergyBoostModeChanged'
  ;   K[16]='EEnergyBoostType'
  ;   K[17]='Quad'
  ;   K[18]='EBIType'
  ;   K[19]='TimeLimitedEnergyBoostQuadTriggered'
  ;   K[20]='TimeLimitedEnergyBoostTriggered'
  ;   K[21]='BIManager'
  ;   K[22]='LogAction'
  ;   upvals: _ENV
  ;   locals: self(0-57), duration(0-57), eBoostType(0-57), eLastTriggerType(2-57), currentEndTime(6-57), eScene(50-57)
  0000  SELF      R4 = R0[K0('GetTriggerBoostType')] (self)
  0001  CALL      R3 = call(R3, 1 args, 1 rets)
  0002  GETTABUP  R4 = _ENV[K1('GM')]
  0003  GETTABLE  R4 = R4[K2('MiscModel')]
  0004  SELF      R5 = R4[K3('GetEnergyBoostTriggerEndTimeInNumber')] (self)
  0005  CALL      R4 = call(R4, 1 args, 1 rets)
  0006  GETTABUP  R5 = _ENV[K4('math')]
  0007  GETTABLE  R5 = R5[K5('max')]
  0008  MOVE      R6 = R0
  0009  GETTABUP  R7 = _ENV[K1('GM')]
  0010  GETTABLE  R7 = R7[K6('GameModel')]
  0011  SELF      R8 = R7[K7('GetServerTime')] (self)
  0012  CALL      R7 = call(R7, -1 args, 1 rets)
  0013  CALL      R5 = call(R5, 1 args, -1 rets)
  0014  MOVE      R4 = R0
  0015  GETTABUP  R5 = _ENV[K1('GM')]
  0016  GETTABLE  R5 = R5[K2('MiscModel')]
  0017  SELF      R6 = R5[K8('SetEnergyBoostTriggerEndTime')] (self)
  0018  ADD       R7 = R1 add R4
  0019  CALL      R5 = call(R5, 0 args, 2 rets)
  0020  GETTABUP  R5 = _ENV[K1('GM')]
  0021  GETTABLE  R5 = R5[K2('MiscModel')]
  0022  SELF      R6 = R5[K9('SetEnergyBoostTriggerType')] (self)
  0023  MOVE      R7 = R0
  0024  CALL      R5 = call(R5, 0 args, 2 rets)
  0025  GETTABLE  R5 = R0[K10('m_bTimeLimitedOn')]
  0026  TEST      if not R5 then   -> -131043
  0027  JMP       (jump)   -> 32
  0028  SELF      R6 = R0[K11('_UpdateStatus')] (self)
  0029  LOADBOOL  R7 = true
  0030  CALL      R5 = call(R5, 0 args, 2 rets)
  0031  JMP       (jump)   -> 40
  0032  EQ        if R1 eq R2   -> -129500
  0033  JMP       (jump)   -> 40
  0034  GETTABUP  R5 = _ENV[K12('EventDispatcher')]
  0035  GETTABLE  R5 = R5[K13('DispatchEvent')]
  0036  GETTABUP  R6 = _ENV[K14('EEventType')]
  0037  GETTABLE  R6 = R6[K15('EnergyBoostModeChanged')]
  0038  LOADBOOL  R7 = true
  0039  CALL      R5 = call(R5, 0 args, 2 rets)
  0040  GETTABUP  R5 = _ENV[K16('EEnergyBoostType')]
  0041  GETTABLE  R5 = R5[K17('Quad')]
  0042  EQ        if R0 eq R5   -> -129999
  0043  JMP       (jump)   -> 48
  0044  GETTABUP  R5 = _ENV[K18('EBIType')]
  0045  GETTABLE  R5 = R5[K19('TimeLimitedEnergyBoostQuadTriggered')]
  0046  TEST      if not R5 then   -> -131023
  0047  JMP       (jump)   -> 50
  0048  GETTABUP  R5 = _ENV[K18('EBIType')]
  0049  GETTABLE  R5 = R5[K20('TimeLimitedEnergyBoostTriggered')]
  0050  GETTABUP  R6 = _ENV[K1('GM')]
  0051  GETTABLE  R6 = R6[K21('BIManager')]
  0052  SELF      R7 = R6[K22('LogAction')] (self)
  0053  MOVE      R8 = R0
  0054  MOVE      R9 = R0
  0055  CALL      R6 = call(R6, 0 args, 3 rets)
  0056  RETURN    return R0..R-1
; ---------- proto14 [_IsTimeLimitedEnergyBoostOn] ----------
  ; fn ?  line 301-304 np=1 va=0 ms=4 code=14 consts=5 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='GameModel'
  ;   K[2]='GetServerTime'
  ;   K[3]='MiscModel'
  ;   K[4]='GetEnergyBoostTriggerEndTimeInNumber'
  ;   upvals: _ENV
  ;   locals: self(0-14)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('GameModel')]
  0002  SELF      R2 = R1[K2('GetServerTime')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  GETTABUP  R2 = _ENV[K0('GM')]
  0005  GETTABLE  R2 = R2[K3('MiscModel')]
  0006  SELF      R3 = R2[K4('GetEnergyBoostTriggerEndTimeInNumber')] (self)
  0007  CALL      R2 = call(R2, 1 args, 1 rets)
  0008  LT        if R1 lt R2   -> -130548
  0009  JMP       (jump)   -> 11
  0010  LOADBOOL  R1 = false
  0011  LOADBOOL  R1 = true
  0012  RETURN    return R1..R0
  0013  RETURN    return R0..R-1
; ---------- proto15 [IsEnergyBoostModeOn] ----------
  ; fn ?  line 307-309 np=1 va=0 ms=3 code=14 consts=4 upvals=1 protos=0
  ;   K[0]='IsEnergyBoostConfigOn'
  ;   K[1]='GetUserBoostType'
  ;   K[2]='EEnergyBoostType'
  ;   K[3]='Double'
  ;   upvals: _ENV
  ;   locals: self(0-14)
  0000  SELF      R2 = R0[K0('IsEnergyBoostConfigOn')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 12
  0004  SELF      R2 = R0[K1('GetUserBoostType')] (self)
  0005  CALL      R1 = call(R1, 1 args, 1 rets)
  0006  GETTABUP  R2 = _ENV[K2('EEnergyBoostType')]
  0007  GETTABLE  R2 = R2[K3('Double')]
  0008  LE        if R1 le R1   -> -130037
  0009  JMP       (jump)   -> 11
  0010  LOADBOOL  R1 = false
  0011  LOADBOOL  R1 = true
  0012  RETURN    return R1..R0
  0013  RETURN    return R0..R-1
; ---------- proto16 [IsEnergyBoostConfigOn] ----------
  ; fn ?  line 311-313 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_bTimeLimitedOn'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_bTimeLimitedOn')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto17 [IsTimeLimitedOn] ----------
  ; fn ?  line 315-317 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_bTimeLimitedOn'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_bTimeLimitedOn')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto18 [GetTimeLimitedLeftTime] ----------
  ; fn ?  line 319-322 np=1 va=0 ms=4 code=17 consts=6 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='MiscModel'
  ;   K[2]='GetEnergyBoostTriggerEndTimeInNumber'
  ;   K[3]='GameModel'
  ;   K[4]='GetServerTime'
  ;   K[5]=0
  ;   upvals: _ENV
  ;   locals: self(0-17), leftTime(9-17)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('MiscModel')]
  0002  SELF      R2 = R1[K2('GetEnergyBoostTriggerEndTimeInNumber')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  GETTABUP  R2 = _ENV[K0('GM')]
  0005  GETTABLE  R2 = R2[K3('GameModel')]
  0006  SELF      R3 = R2[K4('GetServerTime')] (self)
  0007  CALL      R2 = call(R2, 1 args, 1 rets)
  0008  SUB       R1 = R2 sub R1
  0009  LT        if R0 lt K5(0)   -> -130288
  0010  JMP       (jump)   -> 14
  0011  LOADK     R2 = K5 0
  0012  TEST      if not R2 then   -> -131057
  0013  JMP       (jump)   -> 15
  0014  MOVE      R2 = R0
  0015  RETURN    return R2..R1
  0016  RETURN    return R0..R-1
; ---------- proto19 [GetTriggerBoostType] ----------
  ; fn ?  line 325-327 np=1 va=0 ms=4 code=12 consts=6 upvals=1 protos=0
  ;   K[0]='tonumber'
  ;   K[1]='GM'
  ;   K[2]='MiscModel'
  ;   K[3]='GetEnergyBoostTriggerType'
  ;   K[4]='EEnergyBoostType'
  ;   K[5]='Double'
  ;   upvals: _ENV
  ;   locals: self(0-12)
  0000  GETTABUP  R1 = _ENV[K0('tonumber')]
  0001  GETTABUP  R2 = _ENV[K1('GM')]
  0002  GETTABLE  R2 = R2[K2('MiscModel')]
  0003  SELF      R3 = R2[K3('GetEnergyBoostTriggerType')] (self)
  0004  CALL      R2 = call(R2, -1 args, 1 rets)
  0005  CALL      R1 = call(R1, 1 args, -1 rets)
  0006  TEST      if not R1 then   -> -131063
  0007  JMP       (jump)   -> 10
  0008  GETTABUP  R1 = _ENV[K4('EEnergyBoostType')]
  0009  GETTABLE  R1 = R1[K5('Double')]
  0010  RETURN    return R1..R0
  0011  RETURN    return R0..R-1
; ---------- proto20 [GetUserBoostType] ----------
  ; fn ?  line 330-342 np=1 va=0 ms=6 code=25 consts=9 upvals=1 protos=0
  ;   K[0]='GetTriggerBoostType'
  ;   K[1]='EEnergyBoostType'
  ;   K[2]='Quad'
  ;   K[3]='GM'
  ;   K[4]='MiscModel'
  ;   K[5]='GetEnergyBoostQuadUserOnInNumber'
  ;   K[6]='GetEnergyBoostUserOnInNumber'
  ;   K[7]='math'
  ;   K[8]='min'
  ;   upvals: _ENV
  ;   locals: self(0-25), eTriggerType(2-25), eUserType(3-25)
  0000  SELF      R2 = R0[K0('GetTriggerBoostType')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  LOADNIL   R2..R2 = nil
  0003  GETTABUP  R3 = _ENV[K1('EEnergyBoostType')]
  0004  GETTABLE  R3 = R3[K2('Quad')]
  0005  EQ        if R0 eq R3   -> -130550
  0006  JMP       (jump)   -> 13
  0007  GETTABUP  R3 = _ENV[K3('GM')]
  0008  GETTABLE  R3 = R3[K4('MiscModel')]
  0009  SELF      R4 = R3[K5('GetEnergyBoostQuadUserOnInNumber')] (self)
  0010  CALL      R3 = call(R3, 1 args, 1 rets)
  0011  MOVE      R2 = R0
  0012  JMP       (jump)   -> 18
  0013  GETTABUP  R3 = _ENV[K3('GM')]
  0014  GETTABLE  R3 = R3[K4('MiscModel')]
  0015  SELF      R4 = R3[K6('GetEnergyBoostUserOnInNumber')] (self)
  0016  CALL      R3 = call(R3, 1 args, 1 rets)
  0017  MOVE      R2 = R0
  0018  GETTABUP  R3 = _ENV[K7('math')]
  0019  GETTABLE  R3 = R3[K8('min')]
  0020  MOVE      R4 = R0
  0021  MOVE      R5 = R0
  0022  TAILCALL  tailcall(R3, 0)
  0023  RETURN    return R3..R2
  0024  RETURN    return R0..R-1
; ---------- proto21 [SetUserBoostType] ----------
  ; fn ?  line 344-351 np=2 va=0 ms=6 code=18 consts=7 upvals=1 protos=0
  ;   K[0]='GetTriggerBoostType'
  ;   K[1]='EEnergyBoostType'
  ;   K[2]='Quad'
  ;   K[3]='GM'
  ;   K[4]='MiscModel'
  ;   K[5]='SetEnergyBoostQuadUserOn'
  ;   K[6]='SetEnergyBoostUserOn'
  ;   upvals: _ENV
  ;   locals: self(0-18), eEnergyBoostType(0-18), eTriggerType(2-18)
  0000  SELF      R3 = R0[K0('GetTriggerBoostType')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  GETTABUP  R3 = _ENV[K1('EEnergyBoostType')]
  0003  GETTABLE  R3 = R3[K2('Quad')]
  0004  EQ        if R0 eq R3   -> -130039
  0005  JMP       (jump)   -> 12
  0006  GETTABUP  R3 = _ENV[K3('GM')]
  0007  GETTABLE  R3 = R3[K4('MiscModel')]
  0008  SELF      R4 = R3[K5('SetEnergyBoostQuadUserOn')] (self)
  0009  MOVE      R5 = R0
  0010  CALL      R3 = call(R3, 0 args, 2 rets)
  0011  JMP       (jump)   -> 17
  0012  GETTABUP  R3 = _ENV[K3('GM')]
  0013  GETTABLE  R3 = R3[K4('MiscModel')]
  0014  SELF      R4 = R3[K6('SetEnergyBoostUserOn')] (self)
  0015  MOVE      R5 = R0
  0016  CALL      R3 = call(R3, 0 args, 2 rets)
  0017  RETURN    return R0..R-1
; ---------- proto22 [SwitchUserBoostType] ----------
  ; fn ?  line 353-368 np=1 va=0 ms=9 code=40 consts=21 upvals=1 protos=0
  ;   K[0]='GetUserBoostType'
  ;   K[1]='GetTriggerBoostType'
  ;   K[2]='EEnergyBoostType'
  ;   K[3]='None'
  ;   K[4]=1
  ;   K[5]='GM'
  ;   K[6]='TutorialModel'
  ;   K[7]='HasAnyStrongTutorialOngoing'
  ;   K[8]='ETutorialId'
  ;   K[9]='EnergyBoostQuad'
  ;   K[10]='Quad'
  ;   K[11]='SetUserBoostType'
  ;   K[12]='BIManager'
  ;   K[13]='LogAction'
  ;   K[14]='EBIType'
  ;   K[15]='EnergyBoostSwitchUserOn'
  ;   K[16]='on'
  ;   K[17]='EventDispatcher'
  ;   K[18]='DispatchEvent'
  ;   K[19]='EEventType'
  ;   K[20]='EnergyBoostModeChanged'
  ;   upvals: _ENV
  ;   locals: self(0-40), eUserBoostType(2-40), eNextType(11-40), hasStrongTutorial(15-40), tutorialId(15-40)
  0000  SELF      R2 = R0[K0('GetUserBoostType')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  SELF      R3 = R0[K1('GetTriggerBoostType')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  LE        if R0 le R1   -> -130041
  0005  JMP       (jump)   -> 10
  0006  GETTABUP  R2 = _ENV[K2('EEnergyBoostType')]
  0007  GETTABLE  R2 = R2[K3('None')]
  0008  TEST      if not R2 then   -> -131061
  0009  JMP       (jump)   -> 11
  0010  ADD       R2 = K4(1) add R1
  0011  GETTABUP  R3 = _ENV[K5('GM')]
  0012  GETTABLE  R3 = R3[K6('TutorialModel')]
  0013  SELF      R4 = R3[K7('HasAnyStrongTutorialOngoing')] (self)
  0014  CALL      R3 = call(R3, 2 args, 1 rets)
  0015  TEST      if not R3 then   -> -131055
  0016  JMP       (jump)   -> 23
  0017  GETTABUP  R5 = _ENV[K8('ETutorialId')]
  0018  GETTABLE  R5 = R5[K9('EnergyBoostQuad')]
  0019  EQ        if R0 eq R5   -> -128998
  0020  JMP       (jump)   -> 23
  0021  GETTABUP  R5 = _ENV[K2('EEnergyBoostType')]
  0022  GETTABLE  R2 = R5[K10('Quad')]
  0023  SELF      R6 = R0[K11('SetUserBoostType')] (self)
  0024  MOVE      R7 = R0
  0025  CALL      R5 = call(R5, 0 args, 2 rets)
  0026  GETTABUP  R5 = _ENV[K5('GM')]
  0027  GETTABLE  R5 = R5[K12('BIManager')]
  0028  SELF      R6 = R5[K13('LogAction')] (self)
  0029  GETTABUP  R7 = _ENV[K14('EBIType')]
  0030  GETTABLE  R7 = R7[K15('EnergyBoostSwitchUserOn')]
  0031  NEWTABLE  R8 = {} (0 items)
  0032  SETTABLE  R8[K16('on')] = R2
  0033  CALL      R5 = call(R5, 0 args, 3 rets)
  0034  GETTABUP  R5 = _ENV[K17('EventDispatcher')]
  0035  GETTABLE  R5 = R5[K18('DispatchEvent')]
  0036  GETTABUP  R6 = _ENV[K19('EEventType')]
  0037  GETTABLE  R6 = R6[K20('EnergyBoostModeChanged')]
  0038  CALL      R5 = call(R5, 0 args, 1 rets)
  0039  RETURN    return R0..R-1
; ---------- proto23 [CanEnergyBoost] ----------
  ; fn ?  line 370-381 np=2 va=0 ms=5 code=29 consts=7 upvals=1 protos=0
  ;   K[0]='IsEnergyBoostModeOn'
  ;   K[1]='GM'
  ;   K[2]='ItemDataModel'
  ;   K[3]='IsPd'
  ;   K[4]='GetModelConfig'
  ;   K[5]='UseEnergy'
  ;   K[6]=1
  ;   upvals: _ENV
  ;   locals: self(0-29), type(0-29), modelConfig(20-29)
  0000  SELF      R3 = R0[K0('IsEnergyBoostModeOn')] (self)
  0001  CALL      R2 = call(R2, 1 args, 1 rets)
  0002  TEST      if not R2 then   -> -131067
  0003  JMP       (jump)   -> 6
  0004  LOADBOOL  R2 = false
  0005  RETURN    return R2..R1
  0006  GETTABUP  R2 = _ENV[K1('GM')]
  0007  GETTABLE  R2 = R2[K2('ItemDataModel')]
  0008  SELF      R3 = R2[K3('IsPd')] (self)
  0009  MOVE      R4 = R0
  0010  CALL      R2 = call(R2, 1 args, 2 rets)
  0011  TEST      if not R2 then   -> -131058
  0012  JMP       (jump)   -> 15
  0013  LOADBOOL  R2 = false
  0014  RETURN    return R2..R1
  0015  GETTABUP  R2 = _ENV[K1('GM')]
  0016  GETTABLE  R2 = R2[K2('ItemDataModel')]
  0017  SELF      R3 = R2[K4('GetModelConfig')] (self)
  0018  MOVE      R4 = R0
  0019  CALL      R2 = call(R2, 1 args, 2 rets)
  0020  TESTSET   if R0 then R3   -> -130026
  0021  JMP       (jump)   -> 27
  0022  GETTABLE  R3 = R2[K5('UseEnergy')]
  0023  EQ        if R1 eq K6(1)   -> -129249
  0024  JMP       (jump)   -> 26
  0025  LOADBOOL  R3 = false
  0026  LOADBOOL  R3 = true
  0027  RETURN    return R3..R2
  0028  RETURN    return R0..R-1
; ---------- proto24 [GetEnergyBoostCostNum] ----------
  ; fn ?  line 384-392 np=2 va=0 ms=4 code=21 consts=7 upvals=1 protos=0
  ;   K[0]='GetUserBoostType'
  ;   K[1]='EEnergyBoostType'
  ;   K[2]='Quad'
  ;   K[3]=4
  ;   K[4]='Double'
  ;   K[5]=2
  ;   K[6]=1
  ;   upvals: _ENV
  ;   locals: self(0-21), eBoostType(0-21)
  0000  TEST      if not R1 then   -> -131069
  0001  JMP       (jump)   -> 5
  0002  SELF      R3 = R0[K0('GetUserBoostType')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  MOVE      R1 = R0
  0005  GETTABUP  R2 = _ENV[K1('EEnergyBoostType')]
  0006  GETTABLE  R2 = R2[K2('Quad')]
  0007  EQ        if R0 eq R2   -> -130549
  0008  JMP       (jump)   -> 12
  0009  LOADK     R2 = K3 4
  0010  RETURN    return R2..R1
  0011  JMP       (jump)   -> 18
  0012  GETTABUP  R2 = _ENV[K1('EEnergyBoostType')]
  0013  GETTABLE  R2 = R2[K4('Double')]
  0014  EQ        if R0 eq R2   -> -130542
  0015  JMP       (jump)   -> 18
  0016  LOADK     R2 = K5 2
  0017  RETURN    return R2..R1
  0018  LOADK     R2 = K6 1
  0019  RETURN    return R2..R1
  0020  RETURN    return R0..R-1
; ---------- proto25 [ShouldAutoPop] ----------
  ; fn ?  line 394-401 np=1 va=0 ms=4 code=17 consts=5 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='MiscModel'
  ;   K[2]='GetEnergyBoostWindowOpenStateInNumber'
  ;   K[3]='IsEnergyBoostConfigOn'
  ;   K[4]='GetTriggerBoostType'
  ;   upvals: _ENV
  ;   locals: self(0-17), openState(4-17)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('MiscModel')]
  0002  SELF      R2 = R1[K2('GetEnergyBoostWindowOpenStateInNumber')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  SELF      R3 = R0[K3('IsEnergyBoostConfigOn')] (self)
  0005  CALL      R2 = call(R2, 1 args, 1 rets)
  0006  TEST      if not R2 then   -> -131064
  0007  JMP       (jump)   -> 14
  0008  SELF      R3 = R0[K4('GetTriggerBoostType')] (self)
  0009  CALL      R2 = call(R2, 1 args, 1 rets)
  0010  EQ        if R1 eq R2   -> -130546
  0011  JMP       (jump)   -> 14
  0012  LOADBOOL  R2 = true
  0013  RETURN    return R2..R1
  0014  LOADBOOL  R2 = false
  0015  RETURN    return R2..R1
  0016  RETURN    return R0..R-1
; ---------- proto26 [IsFirstTime] ----------
  ; fn ?  line 403-413 np=1 va=0 ms=4 code=36 consts=10 upvals=1 protos=0
  ;   K[0]='GetTriggerBoostType'
  ;   K[1]='EEnergyBoostType'
  ;   K[2]='Quad'
  ;   K[3]='GM'
  ;   K[4]='TutorialModel'
  ;   K[5]='IsTutorialFinished'
  ;   K[6]='ETutorialId'
  ;   K[7]='EnergyBoostQuad'
  ;   K[8]='Double'
  ;   K[9]='EnergyBoostDouble'
  ;   upvals: _ENV
  ;   locals: self(0-36)
  0000  SELF      R2 = R0[K0('GetTriggerBoostType')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABUP  R2 = _ENV[K1('EEnergyBoostType')]
  0003  GETTABLE  R2 = R2[K2('Quad')]
  0004  EQ        if R0 eq R2   -> -130552
  0005  JMP       (jump)   -> 17
  0006  GETTABUP  R1 = _ENV[K3('GM')]
  0007  GETTABLE  R1 = R1[K4('TutorialModel')]
  0008  SELF      R2 = R1[K5('IsTutorialFinished')] (self)
  0009  GETTABUP  R3 = _ENV[K6('ETutorialId')]
  0010  GETTABLE  R3 = R3[K7('EnergyBoostQuad')]
  0011  CALL      R1 = call(R1, 1 args, 2 rets)
  0012  TEST      if not R1 then   -> -131057
  0013  JMP       (jump)   -> 17
  0014  LOADBOOL  R1 = true
  0015  RETURN    return R1..R0
  0016  JMP       (jump)   -> 33
  0017  SELF      R2 = R0[K0('GetTriggerBoostType')] (self)
  0018  CALL      R1 = call(R1, 1 args, 1 rets)
  0019  GETTABUP  R2 = _ENV[K1('EEnergyBoostType')]
  0020  GETTABLE  R2 = R2[K8('Double')]
  0021  EQ        if R0 eq R2   -> -130535
  0022  JMP       (jump)   -> 33
  0023  GETTABUP  R1 = _ENV[K3('GM')]
  0024  GETTABLE  R1 = R1[K4('TutorialModel')]
  0025  SELF      R2 = R1[K5('IsTutorialFinished')] (self)
  0026  GETTABUP  R3 = _ENV[K6('ETutorialId')]
  0027  GETTABLE  R3 = R3[K9('EnergyBoostDouble')]
  0028  CALL      R1 = call(R1, 1 args, 2 rets)
  0029  TEST      if not R1 then   -> -131040
  0030  JMP       (jump)   -> 33
  0031  LOADBOOL  R1 = true
  0032  RETURN    return R1..R0
  0033  LOADBOOL  R1 = false
  0034  RETURN    return R1..R0
  0035  RETURN    return R0..R-1
; ---------- proto27 [ShowActivationPrompt] ----------
  ; fn ?  line 415-419 np=4 va=0 ms=7 code=5 consts=1 upvals=1 protos=1
  ;   K[0]='DelayExecuteFunc'
  ;   upvals: _ENV
  ;   locals: self(0-5), bOnlyFree(0-5), freeBoostInMin(0-5), delay(0-5)
  0000  GETTABUP  R4 = _ENV[K0('DelayExecuteFunc')]
  0001  CLOSURE   R5 = closure proto0
  0002  MOVE      R6 = R0
  0003  CALL      R4 = call(R4, 0 args, 2 rets)
  0004  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 416-418 np=0 va=0 ms=6 code=12 consts=6 upvals=4 protos=0
    ;   K[0]='GM'
    ;   K[1]='UIManager'
    ;   K[2]='OpenView'
    ;   K[3]='UIPrefabConfigName'
    ;   K[4]='EnergyBoostPrompt'
    ;   K[5]='IsFirstTime'
    ;   upvals: _ENV, self, bOnlyFree, freeBoostInMin
    0000  GETTABUP  R0 = _ENV[K0('GM')]
    0001  GETTABLE  R0 = R0[K1('UIManager')]
    0002  SELF      R1 = R0[K2('OpenView')] (self)
    0003  GETTABUP  R2 = _ENV[K3('UIPrefabConfigName')]
    0004  GETTABLE  R2 = R2[K4('EnergyBoostPrompt')]
    0005  GETUPVAL  R3 = _ENV
    0006  SELF      R4 = R3[K5('IsFirstTime')] (self)
    0007  CALL      R3 = call(R3, 1 args, 1 rets)
    0008  GETUPVAL  R4 = _ENV
    0009  GETUPVAL  R5 = _ENV
    0010  CALL      R0 = call(R0, 0 args, 5 rets)
    0011  RETURN    return R0..R-1
; ---------- proto28 [ToggleEntryCountDown] ----------
  ; fn ?  line 421-426 np=2 va=0 ms=4 code=10 consts=5 upvals=1 protos=0
  ;   K[0]='TutorialHelper'
  ;   K[1]='GetHudButton'
  ;   K[2]='ESceneViewHudButtonKey'
  ;   K[3]='EnergyBoost'
  ;   K[4]='bInAddAnimation'
  ;   upvals: _ENV
  ;   locals: self(0-10), bEnable(0-10), button(5-10)
  0000  GETTABUP  R2 = _ENV[K0('TutorialHelper')]
  0001  GETTABLE  R2 = R2[K1('GetHudButton')]
  0002  GETTABUP  R3 = _ENV[K2('ESceneViewHudButtonKey')]
  0003  GETTABLE  R3 = R3[K3('EnergyBoost')]
  0004  CALL      R2 = call(R2, 1 args, 1 rets)
  0005  TEST      if not R2 then   -> -131065
  0006  JMP       (jump)   -> 9
  0007  NOT       R3 = not R0
  0008  SETTABLE  R2[K4('bInAddAnimation')] = R3
  0009  RETURN    return R0..R-1
