# Model_UserData_RewardApi_89.luac
; fn @RewardApi.lua  line 0-0 np=0 va=1 ms=14 code=113 consts=48 upvals=1 protos=22
;   K[0]='ERewardScene'
;   K[1]='Bundle'
;   K[2]='bundle'
;   K[3]='OrderGroup'
;   K[4]='orderGroup'
;   K[5]='Other'
;   K[6]='other'
;   K[7]='pairs'
;   K[8]=true
;   K[9]='RewardApi'
;   K[10]='DefaultViewData'
;   K[11]='eventLock'
;   K[12]='SplitRewards'
;   K[13]='CheckRewardTypeValid'
;   K[14]='GetReplacedInvalidReward'
;   K[15]='RewardApi'
;   K[16]='AddRewardValidChangedEventListenerForActivity'
;   K[17]='AddFilterRewardEventListener'
;   K[18]='GetReplacedCommonReward'
;   K[19]='RewardApi'
;   K[20]='ReplacedRewardByBuff'
;   K[21]='RewardApi'
;   K[22]='FilterRewards'
;   K[23]='RewardApi'
;   K[24]='IsImmediateEffectItem'
;   K[25]='AcquireRewards'
;   K[26]='RewardApi'
;   K[27]='AcquireRewardsLogic'
;   K[28]='RewardApi'
;   K[29]='_AcquireRewardsLogic'
;   K[30]='RewardApi'
;   K[31]='_AcquireItemRewardsLogic'
;   K[32]='RewardApi'
;   K[33]='_SeparateItemRewardsByGameModes'
;   K[34]='V3Zero'
;   K[35]='Vector3'
;   K[36]=-80
;   K[37]=0
;   K[38]=80
;   K[39]=-150
;   K[40]=150
;   K[41]='AcquireRewardsInView'
;   K[42]='RewardApi'
;   K[43]='GetRewardIconNameAndIsSetNativeSize'
;   K[44]='CryptOneReward'
;   K[45]='CryptRewards'
;   K[46]='GetMergedRewards'
;   K[47]='MergeRewards'
;   upvals: _ENV
;   locals: mapRewardScene(6-113), (for generator)(9-13), (for state)(9-13), (for control)(9-13), _(10-11), v(10-11), checkDefinitions(23-113), TryInitCheckDefinitions(24-113), GetCheckDefinitions(25-113), arrDefaultUIWolrdPos(94-113)
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABLE  R0[K1('Bundle')] = K2('bundle')
0002  SETTABLE  R0[K3('OrderGroup')] = K4('orderGroup')
0003  SETTABLE  R0[K5('Other')] = K6('other')
0004  SETTABUP  _ENV[K0('ERewardScene')] = R0
0005  NEWTABLE  R0 = {} (0 items)
0006  GETTABUP  R1 = _ENV[K7('pairs')]
0007  GETTABUP  R2 = _ENV[K0('ERewardScene')]
0008  CALL      R1 = call(R1, 3 args, 1 rets)
0009  JMP       (jump)   -> 11
0010  SETTABLE  R0[R5] = K8(true)
0011  TFORCALL  tforcall R1
0012  TFORLOOP  tforloop R3(sBx=-3)   -> 10
0013  NEWTABLE  R1 = {} (0 items)
0014  SETTABUP  _ENV[K9('RewardApi')] = R1
0015  GETTABUP  R1 = _ENV[K9('RewardApi')]
0016  NEWTABLE  R2 = {} (0 items)
0017  SETTABLE  R2[K11('eventLock')] = K8(true)
0018  SETTABLE  R1[K10('DefaultViewData')] = R2
0019  GETTABUP  R1 = _ENV[K9('RewardApi')]
0020  CLOSURE   R2 = closure proto0
0021  SETTABLE  R1[K12('SplitRewards')] = R2
0022  LOADNIL   R1..R1 = nil
0023  CLOSURE   R2 = closure proto1
0024  CLOSURE   R3 = closure proto2
0025  GETTABUP  R4 = _ENV[K9('RewardApi')]
0026  CLOSURE   R5 = closure proto3
0027  SETTABLE  R4[K13('CheckRewardTypeValid')] = R5
0028  GETTABUP  R4 = _ENV[K9('RewardApi')]
0029  CLOSURE   R5 = closure proto4
0030  SETTABLE  R4[K14('GetReplacedInvalidReward')] = R5
0031  GETTABUP  R4 = _ENV[K15('RewardApi')]
0032  CLOSURE   R5 = closure proto5
0033  SETTABLE  R4[K16('AddRewardValidChangedEventListenerForActivity')] = R5
0034  GETTABUP  R4 = _ENV[K15('RewardApi')]
0035  CLOSURE   R5 = closure proto6
0036  SETTABLE  R4[K17('AddFilterRewardEventListener')] = R5
0037  GETTABUP  R4 = _ENV[K15('RewardApi')]
0038  CLOSURE   R5 = closure proto7
0039  SETTABLE  R4[K18('GetReplacedCommonReward')] = R5
0040  GETTABUP  R4 = _ENV[K19('RewardApi')]
0041  CLOSURE   R5 = closure proto8
0042  SETTABLE  R4[K20('ReplacedRewardByBuff')] = R5
0043  GETTABUP  R4 = _ENV[K21('RewardApi')]
0044  CLOSURE   R5 = closure proto9
0045  SETTABLE  R4[K22('FilterRewards')] = R5
0046  GETTABUP  R4 = _ENV[K23('RewardApi')]
0047  CLOSURE   R5 = closure proto10
0048  SETTABLE  R4[K24('IsImmediateEffectItem')] = R5
0049  GETTABUP  R4 = _ENV[K23('RewardApi')]
0050  CLOSURE   R5 = closure proto11
0051  SETTABLE  R4[K25('AcquireRewards')] = R5
0052  GETTABUP  R4 = _ENV[K26('RewardApi')]
0053  CLOSURE   R5 = closure proto12
0054  SETTABLE  R4[K27('AcquireRewardsLogic')] = R5
0055  GETTABUP  R4 = _ENV[K28('RewardApi')]
0056  CLOSURE   R5 = closure proto13
0057  SETTABLE  R4[K29('_AcquireRewardsLogic')] = R5
0058  GETTABUP  R4 = _ENV[K30('RewardApi')]
0059  CLOSURE   R5 = closure proto14
0060  SETTABLE  R4[K31('_AcquireItemRewardsLogic')] = R5
0061  GETTABUP  R4 = _ENV[K32('RewardApi')]
0062  CLOSURE   R5 = closure proto15
0063  SETTABLE  R4[K33('_SeparateItemRewardsByGameModes')] = R5
0064  NEWTABLE  R4 = {} (3 items)
0065  NEWTABLE  R5 = {} (1 items)
0066  GETTABUP  R6 = _ENV[K34('V3Zero')]
0067  SETLIST   setlist R5[B=1,C=1]
0068  NEWTABLE  R6 = {} (1 items)
0069  GETTABUP  R7 = _ENV[K35('Vector3')]
0070  LOADK     R8 = K36 -80
0071  LOADK     R9 = K37 0
0072  LOADK     R10 = K37 0
0073  CALL      R7 = call(R7, 1 args, 3 rets)
0074  GETTABUP  R8 = _ENV[K35('Vector3')]
0075  LOADK     R9 = K38 80
0076  LOADK     R10 = K37 0
0077  LOADK     R11 = K37 0
0078  CALL      R8 = call(R8, -1 args, 3 rets)
0079  SETLIST   setlist R6[B=1,C=0]
0080  NEWTABLE  R7 = {} (2 items)
0081  GETTABUP  R8 = _ENV[K35('Vector3')]
0082  LOADK     R9 = K39 -150
0083  LOADK     R10 = K37 0
0084  LOADK     R11 = K37 0
0085  CALL      R8 = call(R8, 1 args, 3 rets)
0086  GETTABUP  R9 = _ENV[K34('V3Zero')]
0087  GETTABUP  R10 = _ENV[K35('Vector3')]
0088  LOADK     R11 = K40 150
0089  LOADK     R12 = K37 0
0090  LOADK     R13 = K37 0
0091  CALL      R10 = call(R10, -1 args, 3 rets)
0092  SETLIST   setlist R7[B=1,C=0]
0093  SETLIST   setlist R4[B=1,C=3]
0094  GETTABUP  R5 = _ENV[K32('RewardApi')]
0095  CLOSURE   R6 = closure proto16
0096  SETTABLE  R5[K41('AcquireRewardsInView')] = R6
0097  GETTABUP  R5 = _ENV[K42('RewardApi')]
0098  CLOSURE   R6 = closure proto17
0099  SETTABLE  R5[K43('GetRewardIconNameAndIsSetNativeSize')] = R6
0100  GETTABUP  R5 = _ENV[K42('RewardApi')]
0101  CLOSURE   R6 = closure proto18
0102  SETTABLE  R5[K44('CryptOneReward')] = R6
0103  GETTABUP  R5 = _ENV[K42('RewardApi')]
0104  CLOSURE   R6 = closure proto19
0105  SETTABLE  R5[K45('CryptRewards')] = R6
0106  GETTABUP  R5 = _ENV[K42('RewardApi')]
0107  CLOSURE   R6 = closure proto20
0108  SETTABLE  R5[K46('GetMergedRewards')] = R6
0109  GETTABUP  R5 = _ENV[K42('RewardApi')]
0110  CLOSURE   R6 = closure proto21
0111  SETTABLE  R5[K47('MergeRewards')] = R6
0112  RETURN    return R0..R-1
; ---------- proto0 [SplitRewards] ----------
  ; fn ?  line 19-70 np=1 va=0 ms=17 code=149 consts=25 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]=1
  ;   K[3]='GM'
  ;   K[4]='PropertyDataManager'
  ;   K[5]='IsPropertyType'
  ;   K[6]='PROPERTY_TYPE'
  ;   K[7]='UserProfileModel'
  ;   K[8]='IsValidRewardType'
  ;   K[9]='EProfilePropertyType'
  ;   K[10]='Avatar'
  ;   K[11]='Badge'
  ;   K[12]='Frame'
  ;   K[13]='ItemDataModel'
  ;   K[14]='GetModelConfig'
  ;   K[15]=nil
  ;   K[16]='Log'
  ;   K[17]='Error'
  ;   K[18]='不存在的奖励类型：'
  ;   K[19]='tostring'
  ;   K[20]='properties'
  ;   K[21]='items'
  ;   K[22]='avatars'
  ;   K[23]='badges'
  ;   K[24]='frames'
  ;   upvals: _ENV
  ;   locals: arrRewards(0-149), splitedRewardDatas(9-149), properties(10-149), items(11-149), avatars(12-149), badges(13-149), frames(14-149), propertyDataManager(25-149), reward(26-149), (for index)(29-112), (for limit)(29-112), (for step)(29-112), i(30-111)
  0000  GETTABUP  R1 = _ENV[K0('Table')]
  0001  GETTABLE  R1 = R1[K1('IsEmpty')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131066
  0005  JMP       (jump)   -> 8
  0006  NEWTABLE  R1 = {} (0 items)
  0007  RETURN    return R1..R0
  0008  NEWTABLE  R1 = {} (0 items)
  0009  NEWTABLE  R2 = {} (0 items)
  0010  NEWTABLE  R3 = {} (0 items)
  0011  NEWTABLE  R4 = {} (0 items)
  0012  NEWTABLE  R5 = {} (0 items)
  0013  NEWTABLE  R6 = {} (0 items)
  0014  TEST      if not R0 then   -> -131056
  0015  JMP       (jump)   -> 23
  0016  GETTABLE  R7 = R0[K2(1)]
  0017  TEST      if not R7 then   -> -131052
  0018  JMP       (jump)   -> 23
  0019  NEWTABLE  R7 = {} (1 items)
  0020  MOVE      R8 = R0
  0021  SETLIST   setlist R7[B=1,C=1]
  0022  MOVE      R0 = R0
  0023  GETTABUP  R7 = _ENV[K3('GM')]
  0024  GETTABLE  R7 = R7[K4('PropertyDataManager')]
  0025  LOADNIL   R8..R8 = nil
  0026  LOADK     R9 = K2 1
  0027  LEN       R10 = len R0
  0028  LOADK     R11 = K2 1
  0029  FORPREP   forprep R9(sBx=81)   -> 111
  0030  GETTABLE  R8 = R0[R12]
  0031  SELF      R14 = R7[K5('IsPropertyType')] (self)
  0032  GETTABUP  R15 = _ENV[K6('PROPERTY_TYPE')]
  0033  GETTABLE  R15 = R8[R15]
  0034  CALL      R13 = call(R13, 1 args, 2 rets)
  0035  TEST      if not R13 then   -> -131035
  0036  JMP       (jump)   -> 41
  0037  LEN       R13 = len R0
  0038  ADD       R13 = K2(1) add R13
  0039  SETTABLE  R2[R13] = R8
  0040  JMP       (jump)   -> 111
  0041  GETTABUP  R13 = _ENV[K3('GM')]
  0042  GETTABLE  R13 = R13[K7('UserProfileModel')]
  0043  SELF      R14 = R13[K8('IsValidRewardType')] (self)
  0044  GETTABUP  R15 = _ENV[K9('EProfilePropertyType')]
  0045  GETTABLE  R15 = R15[K10('Avatar')]
  0046  GETTABUP  R16 = _ENV[K6('PROPERTY_TYPE')]
  0047  GETTABLE  R16 = R8[R16]
  0048  CALL      R13 = call(R13, 1 args, 3 rets)
  0049  TEST      if not R13 then   -> -131021
  0050  JMP       (jump)   -> 57
  0051  LEN       R13 = len R0
  0052  ADD       R13 = K2(1) add R13
  0053  GETTABUP  R14 = _ENV[K6('PROPERTY_TYPE')]
  0054  GETTABLE  R14 = R8[R14]
  0055  SETTABLE  R4[R13] = R14
  0056  JMP       (jump)   -> 111
  0057  GETTABUP  R13 = _ENV[K3('GM')]
  0058  GETTABLE  R13 = R13[K7('UserProfileModel')]
  0059  SELF      R14 = R13[K8('IsValidRewardType')] (self)
  0060  GETTABUP  R15 = _ENV[K9('EProfilePropertyType')]
  0061  GETTABLE  R15 = R15[K11('Badge')]
  0062  GETTABUP  R16 = _ENV[K6('PROPERTY_TYPE')]
  0063  GETTABLE  R16 = R8[R16]
  0064  CALL      R13 = call(R13, 1 args, 3 rets)
  0065  TEST      if not R13 then   -> -131005
  0066  JMP       (jump)   -> 73
  0067  LEN       R13 = len R0
  0068  ADD       R13 = K2(1) add R13
  0069  GETTABUP  R14 = _ENV[K6('PROPERTY_TYPE')]
  0070  GETTABLE  R14 = R8[R14]
  0071  SETTABLE  R5[R13] = R14
  0072  JMP       (jump)   -> 111
  0073  GETTABUP  R13 = _ENV[K3('GM')]
  0074  GETTABLE  R13 = R13[K7('UserProfileModel')]
  0075  SELF      R14 = R13[K8('IsValidRewardType')] (self)
  0076  GETTABUP  R15 = _ENV[K9('EProfilePropertyType')]
  0077  GETTABLE  R15 = R15[K12('Frame')]
  0078  GETTABUP  R16 = _ENV[K6('PROPERTY_TYPE')]
  0079  GETTABLE  R16 = R8[R16]
  0080  CALL      R13 = call(R13, 1 args, 3 rets)
  0081  TEST      if not R13 then   -> -130989
  0082  JMP       (jump)   -> 89
  0083  LEN       R13 = len R0
  0084  ADD       R13 = K2(1) add R13
  0085  GETTABUP  R14 = _ENV[K6('PROPERTY_TYPE')]
  0086  GETTABLE  R14 = R8[R14]
  0087  SETTABLE  R6[R13] = R14
  0088  JMP       (jump)   -> 111
  0089  GETTABUP  R13 = _ENV[K3('GM')]
  0090  GETTABLE  R13 = R13[K13('ItemDataModel')]
  0091  SELF      R14 = R13[K14('GetModelConfig')] (self)
  0092  GETTABUP  R15 = _ENV[K6('PROPERTY_TYPE')]
  0093  GETTABLE  R15 = R8[R15]
  0094  LOADBOOL  R16 = true
  0095  CALL      R13 = call(R13, 1 args, 3 rets)
  0096  EQ        if R1 eq K15(nil)   -> -124047
  0097  JMP       (jump)   -> 102
  0098  LEN       R13 = len R0
  0099  ADD       R13 = K2(1) add R13
  0100  SETTABLE  R3[R13] = R8
  0101  JMP       (jump)   -> 111
  0102  GETTABUP  R13 = _ENV[K16('Log')]
  0103  GETTABLE  R13 = R13[K17('Error')]
  0104  LOADK     R14 = K18 '不存在的奖励类型：'
  0105  GETTABUP  R15 = _ENV[K19('tostring')]
  0106  GETTABUP  R16 = _ENV[K6('PROPERTY_TYPE')]
  0107  GETTABLE  R16 = R8[R16]
  0108  CALL      R15 = call(R15, 1 args, 1 rets)
  0109  CONCAT    R14 = concat(R14..R14)
  0110  CALL      R13 = call(R13, 0 args, 1 rets)
  0111  FORLOOP   forloop R9(sBx=-82)   -> 30
  0112  GETTABUP  R9 = _ENV[K0('Table')]
  0113  GETTABLE  R9 = R9[K1('IsEmpty')]
  0114  MOVE      R10 = R0
  0115  CALL      R9 = call(R9, 1 args, 1 rets)
  0116  TEST      if not R9 then   -> -130953
  0117  JMP       (jump)   -> 119
  0118  SETTABLE  R1[K20('properties')] = R2
  0119  GETTABUP  R9 = _ENV[K0('Table')]
  0120  GETTABLE  R9 = R9[K1('IsEmpty')]
  0121  MOVE      R10 = R0
  0122  CALL      R9 = call(R9, 1 args, 1 rets)
  0123  TEST      if not R9 then   -> -130946
  0124  JMP       (jump)   -> 126
  0125  SETTABLE  R1[K21('items')] = R3
  0126  GETTABUP  R9 = _ENV[K0('Table')]
  0127  GETTABLE  R9 = R9[K1('IsEmpty')]
  0128  MOVE      R10 = R0
  0129  CALL      R9 = call(R9, 1 args, 1 rets)
  0130  TEST      if not R9 then   -> -130939
  0131  JMP       (jump)   -> 133
  0132  SETTABLE  R1[K22('avatars')] = R4
  0133  GETTABUP  R9 = _ENV[K0('Table')]
  0134  GETTABLE  R9 = R9[K1('IsEmpty')]
  0135  MOVE      R10 = R0
  0136  CALL      R9 = call(R9, 1 args, 1 rets)
  0137  TEST      if not R9 then   -> -130932
  0138  JMP       (jump)   -> 140
  0139  SETTABLE  R1[K23('badges')] = R5
  0140  GETTABUP  R9 = _ENV[K0('Table')]
  0141  GETTABLE  R9 = R9[K1('IsEmpty')]
  0142  MOVE      R10 = R0
  0143  CALL      R9 = call(R9, 1 args, 1 rets)
  0144  TEST      if not R9 then   -> -130925
  0145  JMP       (jump)   -> 147
  0146  SETTABLE  R1[K24('frames')] = R6
  0147  RETURN    return R1..R0
  0148  RETURN    return R0..R-1
; ---------- proto1 [CheckRewardTypeValid] ----------
  ; fn ?  line 75-106 np=0 va=0 ms=20 code=36 consts=26 upvals=2 protos=0
  ;   K[0]=nil
  ;   K[1]='ActivityType'
  ;   K[2]='FloatRace'
  ;   K[3]='StateChangedEvent'
  ;   K[4]='EEventType'
  ;   K[5]='FloatRaceStateChanged'
  ;   K[6]='ActivityTokenPropertyType'
  ;   K[7]='EPropertyType'
  ;   K[8]='FloatRaceScore'
  ;   K[9]='AlbumActivityDefinition'
  ;   K[10]='LimitAlbumDefinition'
  ;   K[11]='PkRaceDefinition'
  ;   K[12]='CrashRaceDefinition'
  ;   K[13]='CoinRaceActivityDefinition'
  ;   K[14]='DigActivityDefinition'
  ;   K[15]='ExtraBoardActivityDefinition'
  ;   K[16]='MultiRankDefinition'
  ;   K[17]='ProgressActivityDefinition'
  ;   K[18]='AdventureBoardDefinition'
  ;   K[19]='DeliveryProgressActivityDefinition'
  ;   K[20]='TimeLimitedProgressActivityDefinition'
  ;   K[21]='UpgradeRaceActivityDefinition'
  ;   K[22]='BlockActivityDefinition'
  ;   K[23]='FrameDecoActivityDefinition'
  ;   K[24]='PairRaceActivityDefinition'
  ;   K[25]='IceComboDefinition'
  ;   upvals: checkDefinitions, _ENV
  ;   locals: FloatRaceDefinition(14-35)
  0000  GETUPVAL  R0 = checkDefinitions
  0001  EQ        if R0 eq K0(nil)   -> -130813
  0002  JMP       (jump)   -> 35
  0003  NEWTABLE  R0 = {} (0 items)
  0004  GETTABUP  R1 = _ENV[K1('ActivityType')]
  0005  GETTABLE  R1 = R1[K2('FloatRace')]
  0006  NEWTABLE  R2 = {} (0 items)
  0007  GETTABUP  R3 = _ENV[K4('EEventType')]
  0008  GETTABLE  R3 = R3[K5('FloatRaceStateChanged')]
  0009  SETTABLE  R2[K3('StateChangedEvent')] = R3
  0010  GETTABUP  R3 = _ENV[K7('EPropertyType')]
  0011  GETTABLE  R3 = R3[K8('FloatRaceScore')]
  0012  SETTABLE  R2[K6('ActivityTokenPropertyType')] = R3
  0013  SETTABLE  R0[R1] = R2
  0014  NEWTABLE  R1 = {} (17 items)
  0015  GETTABUP  R2 = _ENV[K9('AlbumActivityDefinition')]
  0016  GETTABUP  R3 = _ENV[K10('LimitAlbumDefinition')]
  0017  GETTABUP  R4 = _ENV[K11('PkRaceDefinition')]
  0018  GETTABUP  R5 = _ENV[K12('CrashRaceDefinition')]
  0019  GETTABUP  R6 = _ENV[K13('CoinRaceActivityDefinition')]
  0020  GETTABUP  R7 = _ENV[K14('DigActivityDefinition')]
  0021  GETTABUP  R8 = _ENV[K15('ExtraBoardActivityDefinition')]
  0022  MOVE      R9 = R0
  0023  GETTABUP  R10 = _ENV[K16('MultiRankDefinition')]
  0024  GETTABUP  R11 = _ENV[K17('ProgressActivityDefinition')]
  0025  GETTABUP  R12 = _ENV[K18('AdventureBoardDefinition')]
  0026  GETTABUP  R13 = _ENV[K19('DeliveryProgressActivityDefinition')]
  0027  GETTABUP  R14 = _ENV[K20('TimeLimitedProgressActivityDefinition')]
  0028  GETTABUP  R15 = _ENV[K21('UpgradeRaceActivityDefinition')]
  0029  GETTABUP  R16 = _ENV[K22('BlockActivityDefinition')]
  0030  GETTABUP  R17 = _ENV[K23('FrameDecoActivityDefinition')]
  0031  GETTABUP  R18 = _ENV[K24('PairRaceActivityDefinition')]
  0032  GETTABUP  R19 = _ENV[K25('IceComboDefinition')]
  0033  SETLIST   setlist R1[B=1,C=18]
  0034  SETUPVAL  _ENV = R0
  0035  RETURN    return R0..R-1
; ---------- proto2 [CheckRewardTypeValid] ----------
  ; fn ?  line 108-111 np=0 va=0 ms=2 code=5 consts=0 upvals=2 protos=0
  ;   upvals: TryInitCheckDefinitions, checkDefinitions
  0000  GETUPVAL  R0 = TryInitCheckDefinitions
  0001  CALL      R0 = call(R0, 0 args, 0 rets)
  0002  GETUPVAL  R0 = TryInitCheckDefinitions
  0003  RETURN    return R0..R-1
  0004  RETURN    return R0..R-1
; ---------- proto3 [CheckRewardTypeValid] ----------
  ; fn ?  line 116-183 np=1 va=0 ms=14 code=180 consts=39 upvals=2 protos=0
  ;   K[0]='StringUtil'
  ;   K[1]='IsNilOrEmpty'
  ;   K[2]='ipairs'
  ;   K[3]='pairs'
  ;   K[4]='ActivityTokenPropertyType'
  ;   K[5]='GM'
  ;   K[6]='ActivityManager'
  ;   K[7]='GetModel'
  ;   K[8]=nil
  ;   K[9]='IsFunction'
  ;   K[10]='CheckActivityTokenValid'
  ;   K[11]='CanAddScore'
  ;   K[12]='GetState'
  ;   K[13]='ActivityState'
  ;   K[14]='Started'
  ;   K[15]='AlbumActivityModel'
  ;   K[16]='IsAlbumPackReward'
  ;   K[17]='CheckAlbumPackValid'
  ;   K[18]='IsAlbumJokerCard'
  ;   K[19]='CheckJokerCardValid'
  ;   K[20]='IsLastNewCardPropertyType'
  ;   K[21]='CheckLastNewCardValid'
  ;   K[22]='IsCardPropertyType'
  ;   K[23]='CheckAlbumCardValid'
  ;   K[24]='SurpriseChestManager'
  ;   K[25]='IsSurpriseChestProperty'
  ;   K[26]='CheckSurpriseChestValid'
  ;   K[27]='StartWith'
  ;   K[28]='ItemCodePrefix'
  ;   K[29]='ExtraBoardCommon'
  ;   K[30]='ExtraBoardActivityModel'
  ;   K[31]='CommonTokenType'
  ;   K[32]='GetActiveModel'
  ;   K[33]='AdventureBoardCommon'
  ;   K[34]='AdventureBoardActivityModel'
  ;   K[35]='EPropertyType'
  ;   K[36]='CommonBadge'
  ;   K[37]='UserProfileModel'
  ;   K[38]='GetUnacquiredLatestBadge'
  ;   upvals: _ENV, GetCheckDefinitions
  ;   locals: rewardType(0-180), (for generator)(12-65), (for state)(12-65), (for control)(12-65), _(13-63), definitions(13-63), (for generator)(16-63), (for state)(16-63), (for control)(16-63), actType(17-61), definition(17-61), model(25-61)
  0000  GETTABUP  R1 = _ENV[K0('StringUtil')]
  0001  GETTABLE  R1 = R1[K1('IsNilOrEmpty')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131066
  0005  JMP       (jump)   -> 8
  0006  LOADBOOL  R1 = false
  0007  RETURN    return R1..R0
  0008  GETTABUP  R1 = _ENV[K2('ipairs')]
  0009  GETUPVAL  R2 = _ENV
  0010  CALL      R2 = call(R2, -1 args, 0 rets)
  0011  CALL      R1 = call(R1, 3 args, -1 rets)
  0012  JMP       (jump)   -> 63
  0013  GETTABUP  R6 = _ENV[K3('pairs')]
  0014  MOVE      R7 = R0
  0015  CALL      R6 = call(R6, 3 args, 1 rets)
  0016  JMP       (jump)   -> 61
  0017  GETTABLE  R11 = R10[K4('ActivityTokenPropertyType')]
  0018  EQ        if R0 eq R0   -> -125420
  0019  JMP       (jump)   -> 61
  0020  GETTABUP  R11 = _ENV[K5('GM')]
  0021  GETTABLE  R11 = R11[K6('ActivityManager')]
  0022  SELF      R12 = R11[K7('GetModel')] (self)
  0023  MOVE      R13 = R0
  0024  CALL      R11 = call(R11, 1 args, 2 rets)
  0025  EQ        if R0 eq K8(nil)   -> -125149
  0026  JMP       (jump)   -> 29
  0027  LOADBOOL  R12 = false
  0028  RETURN    return R12..R11
  0029  GETTABUP  R12 = _ENV[K9('IsFunction')]
  0030  GETTABLE  R13 = R11[K10('CheckActivityTokenValid')]
  0031  CALL      R12 = call(R12, 1 args, 1 rets)
  0032  TEST      if not R12 then   -> -131038
  0033  JMP       (jump)   -> 41
  0034  SELF      R13 = R11[K10('CheckActivityTokenValid')] (self)
  0035  CALL      R12 = call(R12, 1 args, 1 rets)
  0036  TEST      if not R12 then   -> -131033
  0037  JMP       (jump)   -> 61
  0038  LOADBOOL  R12 = false
  0039  RETURN    return R12..R11
  0040  JMP       (jump)   -> 61
  0041  GETTABUP  R12 = _ENV[K9('IsFunction')]
  0042  GETTABLE  R13 = R11[K11('CanAddScore')]
  0043  CALL      R12 = call(R12, 1 args, 1 rets)
  0044  TEST      if not R12 then   -> -131026
  0045  JMP       (jump)   -> 53
  0046  SELF      R13 = R11[K11('CanAddScore')] (self)
  0047  CALL      R12 = call(R12, 1 args, 1 rets)
  0048  TEST      if not R12 then   -> -131021
  0049  JMP       (jump)   -> 61
  0050  LOADBOOL  R12 = false
  0051  RETURN    return R12..R11
  0052  JMP       (jump)   -> 61
  0053  SELF      R13 = R11[K12('GetState')] (self)
  0054  CALL      R12 = call(R12, 1 args, 1 rets)
  0055  GETTABUP  R13 = _ENV[K13('ActivityState')]
  0056  GETTABLE  R13 = R13[K14('Started')]
  0057  EQ        if R1 eq R13   -> -124856
  0058  JMP       (jump)   -> 61
  0059  LOADBOOL  R12 = false
  0060  RETURN    return R12..R11
  0061  TFORCALL  tforcall R6
  0062  TFORLOOP  tforloop R8(sBx=-46)   -> 17
  0063  TFORCALL  tforcall R1
  0064  TFORLOOP  tforloop R3(sBx=-52)   -> 13
  0065  GETTABUP  R1 = _ENV[K15('AlbumActivityModel')]
  0066  GETTABLE  R1 = R1[K16('IsAlbumPackReward')]
  0067  MOVE      R2 = R0
  0068  CALL      R1 = call(R1, 1 args, 1 rets)
  0069  TEST      if not R1 then   -> -131001
  0070  JMP       (jump)   -> 77
  0071  GETTABUP  R1 = _ENV[K15('AlbumActivityModel')]
  0072  GETTABLE  R1 = R1[K17('CheckAlbumPackValid')]
  0073  MOVE      R2 = R0
  0074  TAILCALL  tailcall(R1, 0)
  0075  RETURN    return R1..R0
  0076  JMP       (jump)   -> 111
  0077  GETTABUP  R1 = _ENV[K15('AlbumActivityModel')]
  0078  GETTABLE  R1 = R1[K18('IsAlbumJokerCard')]
  0079  MOVE      R2 = R0
  0080  CALL      R1 = call(R1, 1 args, 1 rets)
  0081  TEST      if not R1 then   -> -130989
  0082  JMP       (jump)   -> 88
  0083  GETTABUP  R1 = _ENV[K15('AlbumActivityModel')]
  0084  GETTABLE  R1 = R1[K19('CheckJokerCardValid')]
  0085  TAILCALL  tailcall(R1, 0)
  0086  RETURN    return R1..R0
  0087  JMP       (jump)   -> 111
  0088  GETTABUP  R1 = _ENV[K15('AlbumActivityModel')]
  0089  GETTABLE  R1 = R1[K20('IsLastNewCardPropertyType')]
  0090  MOVE      R2 = R0
  0091  CALL      R1 = call(R1, 1 args, 1 rets)
  0092  TEST      if not R1 then   -> -130978
  0093  JMP       (jump)   -> 100
  0094  GETTABUP  R1 = _ENV[K15('AlbumActivityModel')]
  0095  GETTABLE  R1 = R1[K21('CheckLastNewCardValid')]
  0096  MOVE      R2 = R0
  0097  TAILCALL  tailcall(R1, 0)
  0098  RETURN    return R1..R0
  0099  JMP       (jump)   -> 111
  0100  GETTABUP  R1 = _ENV[K15('AlbumActivityModel')]
  0101  GETTABLE  R1 = R1[K22('IsCardPropertyType')]
  0102  MOVE      R2 = R0
  0103  CALL      R1 = call(R1, 1 args, 1 rets)
  0104  TEST      if not R1 then   -> -130966
  0105  JMP       (jump)   -> 111
  0106  GETTABUP  R1 = _ENV[K15('AlbumActivityModel')]
  0107  GETTABLE  R1 = R1[K23('CheckAlbumCardValid')]
  0108  MOVE      R2 = R0
  0109  TAILCALL  tailcall(R1, 0)
  0110  RETURN    return R1..R0
  0111  GETTABUP  R1 = _ENV[K5('GM')]
  0112  GETTABLE  R1 = R1[K24('SurpriseChestManager')]
  0113  SELF      R2 = R1[K25('IsSurpriseChestProperty')] (self)
  0114  MOVE      R3 = R0
  0115  CALL      R1 = call(R1, 1 args, 2 rets)
  0116  TEST      if not R1 then   -> -130954
  0117  JMP       (jump)   -> 124
  0118  GETTABUP  R1 = _ENV[K5('GM')]
  0119  GETTABLE  R1 = R1[K24('SurpriseChestManager')]
  0120  SELF      R2 = R1[K26('CheckSurpriseChestValid')] (self)
  0121  MOVE      R3 = R0
  0122  TAILCALL  tailcall(R1, 0)
  0123  RETURN    return R1..R0
  0124  GETTABUP  R1 = _ENV[K0('StringUtil')]
  0125  GETTABLE  R1 = R1[K27('StartWith')]
  0126  MOVE      R2 = R0
  0127  GETTABUP  R3 = _ENV[K28('ItemCodePrefix')]
  0128  GETTABLE  R3 = R3[K29('ExtraBoardCommon')]
  0129  CALL      R1 = call(R1, 1 args, 2 rets)
  0130  TEST      if not R1 then   -> -130939
  0131  JMP       (jump)   -> 136
  0132  GETTABUP  R1 = _ENV[K30('ExtraBoardActivityModel')]
  0133  GETTABLE  R1 = R1[K31('CommonTokenType')]
  0134  EQ        if R0 eq R1   -> -130935
  0135  JMP       (jump)   -> 144
  0136  GETTABUP  R1 = _ENV[K30('ExtraBoardActivityModel')]
  0137  GETTABLE  R1 = R1[K32('GetActiveModel')]
  0138  CALL      R1 = call(R1, 1 args, 0 rets)
  0139  EQ        if R0 eq K8(nil)   -> -130155
  0140  JMP       (jump)   -> 142
  0141  LOADBOOL  R1 = false
  0142  LOADBOOL  R1 = true
  0143  RETURN    return R1..R0
  0144  GETTABUP  R1 = _ENV[K0('StringUtil')]
  0145  GETTABLE  R1 = R1[K27('StartWith')]
  0146  MOVE      R2 = R0
  0147  GETTABUP  R3 = _ENV[K28('ItemCodePrefix')]
  0148  GETTABLE  R3 = R3[K33('AdventureBoardCommon')]
  0149  CALL      R1 = call(R1, 1 args, 2 rets)
  0150  TEST      if not R1 then   -> -130919
  0151  JMP       (jump)   -> 156
  0152  GETTABUP  R1 = _ENV[K34('AdventureBoardActivityModel')]
  0153  GETTABLE  R1 = R1[K31('CommonTokenType')]
  0154  EQ        if R0 eq R1   -> -130915
  0155  JMP       (jump)   -> 164
  0156  GETTABUP  R1 = _ENV[K34('AdventureBoardActivityModel')]
  0157  GETTABLE  R1 = R1[K32('GetActiveModel')]
  0158  CALL      R1 = call(R1, 1 args, 0 rets)
  0159  EQ        if R0 eq K8(nil)   -> -130135
  0160  JMP       (jump)   -> 162
  0161  LOADBOOL  R1 = false
  0162  LOADBOOL  R1 = true
  0163  RETURN    return R1..R0
  0164  GETTABUP  R1 = _ENV[K35('EPropertyType')]
  0165  GETTABLE  R1 = R1[K36('CommonBadge')]
  0166  EQ        if R0 eq R1   -> -130903
  0167  JMP       (jump)   -> 177
  0168  GETTABUP  R1 = _ENV[K5('GM')]
  0169  GETTABLE  R1 = R1[K37('UserProfileModel')]
  0170  SELF      R2 = R1[K38('GetUnacquiredLatestBadge')] (self)
  0171  CALL      R1 = call(R1, 1 args, 1 rets)
  0172  EQ        if R0 eq K8(nil)   -> -130122
  0173  JMP       (jump)   -> 175
  0174  LOADBOOL  R1 = false
  0175  LOADBOOL  R1 = true
  0176  RETURN    return R1..R0
  0177  LOADBOOL  R1 = true
  0178  RETURN    return R1..R0
  0179  RETURN    return R0..R-1
; ---------- proto4 [GetReplacedInvalidReward] ----------
  ; fn ?  line 185-210 np=2 va=0 ms=9 code=45 consts=12 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='ConfigModel'
  ;   K[2]='GetRewardReplaceConfig'
  ;   K[3]='Table'
  ;   K[4]='IsEmpty'
  ;   K[5]='PROPERTY_TYPE'
  ;   K[6]=nil
  ;   K[7]='ShallowCopy'
  ;   K[8]='PROPERTY_COUNT'
  ;   K[9]='PROPERTY_CRYPT'
  ;   K[10]='RewardApi'
  ;   K[11]='CryptOneReward'
  ;   upvals: _ENV
  ;   locals: reward(0-45), rewardScene(0-45), mapReplaceRewards(9-45), rewardType(19-45), replacedReward(20-45), newReward(28-45)
  0000  TEST      if not R0 then   -> -131069
  0001  JMP       (jump)   -> 4
  0002  LOADNIL   R2..R2 = nil
  0003  RETURN    return R2..R1
  0004  GETTABUP  R2 = _ENV[K0('GM')]
  0005  GETTABLE  R2 = R2[K1('ConfigModel')]
  0006  SELF      R3 = R2[K2('GetRewardReplaceConfig')] (self)
  0007  MOVE      R4 = R0
  0008  CALL      R2 = call(R2, 1 args, 2 rets)
  0009  GETTABUP  R3 = _ENV[K3('Table')]
  0010  GETTABLE  R3 = R3[K4('IsEmpty')]
  0011  MOVE      R4 = R0
  0012  CALL      R3 = call(R3, 1 args, 1 rets)
  0013  TEST      if not R3 then   -> -131057
  0014  JMP       (jump)   -> 17
  0015  LOADNIL   R3..R3 = nil
  0016  RETURN    return R3..R2
  0017  GETTABUP  R3 = _ENV[K5('PROPERTY_TYPE')]
  0018  GETTABLE  R3 = R0[R3]
  0019  GETTABLE  R4 = R2[R3]
  0020  EQ        if R0 eq K6(nil)   -> -128740
  0021  JMP       (jump)   -> 24
  0022  LOADNIL   R5..R5 = nil
  0023  RETURN    return R5..R4
  0024  GETTABUP  R5 = _ENV[K3('Table')]
  0025  GETTABLE  R5 = R5[K7('ShallowCopy')]
  0026  MOVE      R6 = R0
  0027  CALL      R5 = call(R5, 1 args, 1 rets)
  0028  GETTABUP  R6 = _ENV[K8('PROPERTY_COUNT')]
  0029  GETTABUP  R7 = _ENV[K8('PROPERTY_COUNT')]
  0030  GETTABLE  R7 = R5[R7]
  0031  GETTABUP  R8 = _ENV[K8('PROPERTY_COUNT')]
  0032  GETTABLE  R8 = R0[R8]
  0033  MUL       R7 = R8 mul R7
  0034  SETTABLE  R5[R6] = R7
  0035  GETTABUP  R6 = _ENV[K9('PROPERTY_CRYPT')]
  0036  GETTABLE  R6 = R0[R6]
  0037  EQ        if R1 eq K6(nil)   -> -127699
  0038  JMP       (jump)   -> 43
  0039  GETTABUP  R6 = _ENV[K10('RewardApi')]
  0040  GETTABLE  R6 = R6[K11('CryptOneReward')]
  0041  MOVE      R7 = R0
  0042  CALL      R6 = call(R6, 0 args, 1 rets)
  0043  RETURN    return R5..R4
  0044  RETURN    return R0..R-1
; ---------- proto5 [AddRewardValidChangedEventListenerForActivity] ----------
  ; fn ?  line 213-220 np=2 va=0 ms=17 code=21 consts=5 upvals=2 protos=0
  ;   K[0]='ipairs'
  ;   K[1]='pairs'
  ;   K[2]='EventDispatcher'
  ;   K[3]='AddListener'
  ;   K[4]='StateChangedEvent'
  ;   upvals: _ENV, GetCheckDefinitions
  ;   locals: target(0-21), targetFunc(0-21), (for generator)(4-20), (for state)(4-20), (for control)(4-20), _(5-18), definitions(5-18), (for generator)(8-18), (for state)(8-18), (for control)(8-18), actType(9-16), definition(9-16)
  0000  GETTABUP  R2 = _ENV[K0('ipairs')]
  0001  GETUPVAL  R3 = _ENV
  0002  CALL      R3 = call(R3, -1 args, 0 rets)
  0003  CALL      R2 = call(R2, 3 args, -1 rets)
  0004  JMP       (jump)   -> 18
  0005  GETTABUP  R7 = _ENV[K1('pairs')]
  0006  MOVE      R8 = R0
  0007  CALL      R7 = call(R7, 3 args, 1 rets)
  0008  JMP       (jump)   -> 16
  0009  GETTABUP  R12 = _ENV[K2('EventDispatcher')]
  0010  GETTABLE  R12 = R12[K3('AddListener')]
  0011  GETTABLE  R13 = R11[K4('StateChangedEvent')]
  0012  MOVE      R14 = R0
  0013  MOVE      R15 = R0
  0014  LOADBOOL  R16 = true
  0015  CALL      R12 = call(R12, 0 args, 4 rets)
  0016  TFORCALL  tforcall R7
  0017  TFORLOOP  tforloop R9(sBx=-9)   -> 9
  0018  TFORCALL  tforcall R2
  0019  TFORLOOP  tforloop R4(sBx=-15)   -> 5
  0020  RETURN    return R0..R-1
; ---------- proto6 [AddFilterRewardEventListener] ----------
  ; fn ?  line 223-225 np=2 va=0 ms=7 code=9 consts=4 upvals=1 protos=0
  ;   K[0]='EventDispatcher'
  ;   K[1]='AddListener'
  ;   K[2]='EEventType'
  ;   K[3]='RewardValidChanged'
  ;   upvals: _ENV
  ;   locals: target(0-9), targetFunc(0-9)
  0000  GETTABUP  R2 = _ENV[K0('EventDispatcher')]
  0001  GETTABLE  R2 = R2[K1('AddListener')]
  0002  GETTABUP  R3 = _ENV[K2('EEventType')]
  0003  GETTABLE  R3 = R3[K3('RewardValidChanged')]
  0004  MOVE      R4 = R0
  0005  MOVE      R5 = R0
  0006  LOADBOOL  R6 = true
  0007  CALL      R2 = call(R2, 0 args, 4 rets)
  0008  RETURN    return R0..R-1
; ---------- proto7 [GetReplacedCommonReward] ----------
  ; fn ?  line 228-275 np=1 va=0 ms=8 code=97 consts=23 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='PROPERTY_TYPE'
  ;   K[3]='PROPERTY_COUNT'
  ;   K[4]='UIBoardActivityModel'
  ;   K[5]='IsUIBoardCommonItem'
  ;   K[6]='GetRealBoardItemCode'
  ;   K[7]='IsUIBoardCommonToken'
  ;   K[8]='GetRealBoardToken'
  ;   K[9]='AlbumActivityModel'
  ;   K[10]='IsLastNewCardPropertyType'
  ;   K[11]='GetActiveModel'
  ;   K[12]=nil
  ;   K[13]='GetLastNewCardTargetId'
  ;   K[14]='GetCardPropertyTypeById'
  ;   K[15]='EPropertyType'
  ;   K[16]='CommonBadge'
  ;   K[17]='GM'
  ;   K[18]='UserProfileModel'
  ;   K[19]='GetUnacquiredLatestBadge'
  ;   K[20]='PROPERTY_CRYPT'
  ;   K[21]='RewardApi'
  ;   K[22]='CryptOneReward'
  ;   upvals: _ENV
  ;   locals: reward(0-97), rewardType(9-97), rewardCount(11-97), bReplaced(12-97), activeModel(49-65), cardId(54-63), newReward(87-96)
  0000  GETTABUP  R1 = _ENV[K0('Table')]
  0001  GETTABLE  R1 = R1[K1('IsEmpty')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131066
  0005  JMP       (jump)   -> 7
  0006  RETURN    return R0..R-1
  0007  GETTABUP  R1 = _ENV[K2('PROPERTY_TYPE')]
  0008  GETTABLE  R1 = R0[R1]
  0009  GETTABUP  R2 = _ENV[K3('PROPERTY_COUNT')]
  0010  GETTABLE  R2 = R0[R2]
  0011  LOADBOOL  R3 = false
  0012  GETTABUP  R4 = _ENV[K4('UIBoardActivityModel')]
  0013  GETTABLE  R4 = R4[K5('IsUIBoardCommonItem')]
  0014  MOVE      R5 = R0
  0015  CALL      R4 = call(R4, 1 args, 1 rets)
  0016  TEST      if not R4 then   -> -131054
  0017  JMP       (jump)   -> 25
  0018  GETTABUP  R4 = _ENV[K4('UIBoardActivityModel')]
  0019  GETTABLE  R4 = R4[K6('GetRealBoardItemCode')]
  0020  MOVE      R5 = R0
  0021  CALL      R4 = call(R4, 1 args, 1 rets)
  0022  MOVE      R1 = R0
  0023  LOADBOOL  R3 = true
  0024  JMP       (jump)   -> 76
  0025  GETTABUP  R4 = _ENV[K4('UIBoardActivityModel')]
  0026  GETTABLE  R4 = R4[K7('IsUIBoardCommonToken')]
  0027  MOVE      R5 = R0
  0028  LOADBOOL  R6 = true
  0029  CALL      R4 = call(R4, 1 args, 2 rets)
  0030  TEST      if not R4 then   -> -131040
  0031  JMP       (jump)   -> 39
  0032  GETTABUP  R4 = _ENV[K4('UIBoardActivityModel')]
  0033  GETTABLE  R4 = R4[K8('GetRealBoardToken')]
  0034  MOVE      R5 = R0
  0035  CALL      R4 = call(R4, 1 args, 1 rets)
  0036  MOVE      R1 = R0
  0037  LOADBOOL  R3 = true
  0038  JMP       (jump)   -> 76
  0039  GETTABUP  R4 = _ENV[K9('AlbumActivityModel')]
  0040  GETTABLE  R4 = R4[K10('IsLastNewCardPropertyType')]
  0041  MOVE      R5 = R0
  0042  CALL      R4 = call(R4, 1 args, 1 rets)
  0043  TEST      if not R4 then   -> -131027
  0044  JMP       (jump)   -> 66
  0045  LOADBOOL  R3 = true
  0046  GETTABUP  R4 = _ENV[K9('AlbumActivityModel')]
  0047  GETTABLE  R4 = R4[K11('GetActiveModel')]
  0048  CALL      R4 = call(R4, 1 args, 0 rets)
  0049  EQ        if R1 eq K12(nil)   -> -128705
  0050  JMP       (jump)   -> 64
  0051  SELF      R6 = R4[K13('GetLastNewCardTargetId')] (self)
  0052  MOVE      R7 = R0
  0053  CALL      R5 = call(R5, 1 args, 2 rets)
  0054  EQ        if R1 eq K12(nil)   -> -128188
  0055  JMP       (jump)   -> 62
  0056  GETTABUP  R6 = _ENV[K9('AlbumActivityModel')]
  0057  GETTABLE  R6 = R6[K14('GetCardPropertyTypeById')]
  0058  MOVE      R7 = R0
  0059  CALL      R6 = call(R6, 1 args, 1 rets)
  0060  MOVE      R1 = R0
  0061  JMP       (jump)   -> 76
  0062  LOADNIL   R1..R1 = nil
  0063  JMP       (jump)   -> 76
  0064  LOADNIL   R1..R1 = nil
  0065  JMP       (jump)   -> 76
  0066  GETTABUP  R4 = _ENV[K15('EPropertyType')]
  0067  GETTABLE  R4 = R4[K16('CommonBadge')]
  0068  EQ        if R0 eq R4   -> -130486
  0069  JMP       (jump)   -> 76
  0070  LOADBOOL  R3 = true
  0071  GETTABUP  R4 = _ENV[K17('GM')]
  0072  GETTABLE  R4 = R4[K18('UserProfileModel')]
  0073  SELF      R5 = R4[K19('GetUnacquiredLatestBadge')] (self)
  0074  CALL      R4 = call(R4, 1 args, 1 rets)
  0075  MOVE      R1 = R0
  0076  TEST      if not R3 then   -> -130993
  0077  JMP       (jump)   -> 80
  0078  RETURN    return R0..R-1
  0079  JMP       (jump)   -> 96
  0080  EQ        if R1 eq K12(nil)   -> -130210
  0081  JMP       (jump)   -> 96
  0082  NEWTABLE  R4 = {} (0 items)
  0083  GETTABUP  R5 = _ENV[K2('PROPERTY_TYPE')]
  0084  SETTABLE  R4[R5] = R1
  0085  GETTABUP  R5 = _ENV[K3('PROPERTY_COUNT')]
  0086  SETTABLE  R4[R5] = R2
  0087  GETTABUP  R5 = _ENV[K20('PROPERTY_CRYPT')]
  0088  GETTABLE  R5 = R0[R5]
  0089  EQ        if R1 eq K12(nil)   -> -128153
  0090  JMP       (jump)   -> 95
  0091  GETTABUP  R5 = _ENV[K21('RewardApi')]
  0092  GETTABLE  R5 = R5[K22('CryptOneReward')]
  0093  MOVE      R6 = R0
  0094  CALL      R5 = call(R5, 0 args, 1 rets)
  0095  RETURN    return R4..R3
  0096  RETURN    return R0..R-1
; ---------- proto8 [ReplacedRewardByBuff] ----------
  ; fn ?  line 278-292 np=2 va=0 ms=6 code=42 consts=15 upvals=1 protos=0
  ;   K[0]='AlbumActivityModel'
  ;   K[1]='GetActiveModel'
  ;   K[2]='ERewardScene'
  ;   K[3]='OrderGroup'
  ;   K[4]=nil
  ;   K[5]='IsAlbumPack'
  ;   K[6]='PROPERTY_TYPE'
  ;   K[7]='IsBuffOpenning'
  ;   K[8]='EAlbumBuffType'
  ;   K[9]='DoublePack'
  ;   K[10]='PROPERTY_COUNT'
  ;   K[11]=2
  ;   K[12]='PROPERTY_CRYPT'
  ;   K[13]='RewardApi'
  ;   K[14]='CryptOneReward'
  ;   upvals: _ENV
  ;   locals: reward(0-42), rewardScene(0-42), activeAlbumModel(3-42), replacedReward(31-40)
  0000  GETTABUP  R2 = _ENV[K0('AlbumActivityModel')]
  0001  GETTABLE  R2 = R2[K1('GetActiveModel')]
  0002  CALL      R2 = call(R2, 1 args, 0 rets)
  0003  GETTABUP  R3 = _ENV[K2('ERewardScene')]
  0004  GETTABLE  R3 = R3[K3('OrderGroup')]
  0005  EQ        if R0 eq R3   -> -130550
  0006  JMP       (jump)   -> 40
  0007  EQ        if R1 eq K4(nil)   -> -129779
  0008  JMP       (jump)   -> 40
  0009  SELF      R4 = R2[K5('IsAlbumPack')] (self)
  0010  GETTABUP  R5 = _ENV[K6('PROPERTY_TYPE')]
  0011  GETTABLE  R5 = R0[R5]
  0012  CALL      R3 = call(R3, 1 args, 2 rets)
  0013  TEST      if not R3 then   -> -131057
  0014  JMP       (jump)   -> 40
  0015  SELF      R4 = R2[K7('IsBuffOpenning')] (self)
  0016  GETTABUP  R5 = _ENV[K8('EAlbumBuffType')]
  0017  GETTABLE  R5 = R5[K9('DoublePack')]
  0018  CALL      R3 = call(R3, 1 args, 2 rets)
  0019  TEST      if not R3 then   -> -131051
  0020  JMP       (jump)   -> 40
  0021  NEWTABLE  R3 = {} (0 items)
  0022  GETTABUP  R4 = _ENV[K6('PROPERTY_TYPE')]
  0023  GETTABUP  R5 = _ENV[K6('PROPERTY_TYPE')]
  0024  GETTABLE  R5 = R0[R5]
  0025  SETTABLE  R3[R4] = R5
  0026  GETTABUP  R4 = _ENV[K10('PROPERTY_COUNT')]
  0027  GETTABUP  R5 = _ENV[K10('PROPERTY_COUNT')]
  0028  GETTABLE  R5 = R0[R5]
  0029  MUL       R5 = K11(2) mul R5
  0030  SETTABLE  R3[R4] = R5
  0031  GETTABUP  R4 = _ENV[K12('PROPERTY_CRYPT')]
  0032  GETTABLE  R4 = R0[R4]
  0033  EQ        if R1 eq K4(nil)   -> -128729
  0034  JMP       (jump)   -> 39
  0035  GETTABUP  R4 = _ENV[K13('RewardApi')]
  0036  GETTABLE  R4 = R4[K14('CryptOneReward')]
  0037  MOVE      R5 = R0
  0038  CALL      R4 = call(R4, 0 args, 1 rets)
  0039  RETURN    return R3..R2
  0040  RETURN    return R0..R-1
  0041  RETURN    return R0..R-1
; ---------- proto9 [FilterRewards] ----------
  ; fn ?  line 295-349 np=4 va=0 ms=16 code=122 consts=27 upvals=2 protos=0
  ;   K[0]=nil
  ;   K[1]='Log'
  ;   K[2]='Error'
  ;   K[3]='奖励发放的场景为空或者不合法，请检查: '
  ;   K[4]='nil'
  ;   K[5]='ERewardScene'
  ;   K[6]='Other'
  ;   K[7]='Table'
  ;   K[8]='IsEmpty'
  ;   K[9]=''
  ;   K[10]='ipairs'
  ;   K[11]='RewardApi'
  ;   K[12]='CheckRewardTypeValid'
  ;   K[13]='PROPERTY_TYPE'
  ;   K[14]='GetReplacedCommonReward'
  ;   K[15]='ReplacedRewardByBuff'
  ;   K[16]='table'
  ;   K[17]='insert'
  ;   K[18]='GM'
  ;   K[19]='UIManager'
  ;   K[20]='ShowTestPrompt'
  ;   K[21]=' 未通过奖励有效性检查'
  ;   K[22]='; '
  ;   K[23]='GetReplacedInvalidReward'
  ;   K[24]='GameConfig'
  ;   K[25]='IsTestMode'
  ;   K[26]='剔除非法奖励后，奖励为空，请检查. 非法奖励: '
  ;   upvals: mapRewardScene, _ENV
  ;   locals: arrRewards(0-122), rewardScene(0-122), weightKey(0-122), bLog(0-122), result(26-122), logInfo(27-122), replacedReward(28-122), (for generator)(31-101), (for state)(31-101), (for control)(31-101), _(32-99), v(32-99), replacedInvalidReward(85-99)
  0000  EQ        if R0 eq K0(nil)   -> -129278
  0001  JMP       (jump)   -> 3
  0002  LOADBOOL  R3 = true
  0003  EQ        if R1 eq K0(nil)   -> -130299
  0004  JMP       (jump)   -> 8
  0005  GETTABUP  R4 = mapRewardScene[R1]
  0006  EQ        if R0 eq K0(nil)   -> -128760
  0007  JMP       (jump)   -> 18
  0008  GETTABUP  R4 = _ENV[K1('Log')]
  0009  GETTABLE  R4 = R4[K2('Error')]
  0010  LOADK     R5 = K3 '奖励发放的场景为空或者不合法，请检查: '
  0011  TESTSET   if R1 then R6   -> -130546
  0012  JMP       (jump)   -> 14
  0013  LOADK     R6 = K4 'nil'
  0014  CONCAT    R5 = concat(R5..R5)
  0015  CALL      R4 = call(R4, 0 args, 1 rets)
  0016  GETTABUP  R4 = _ENV[K5('ERewardScene')]
  0017  GETTABLE  R1 = R4[K6('Other')]
  0018  GETTABUP  R4 = _ENV[K7('Table')]
  0019  GETTABLE  R4 = R4[K8('IsEmpty')]
  0020  MOVE      R5 = R0
  0021  CALL      R4 = call(R4, 1 args, 1 rets)
  0022  TEST      if not R4 then   -> -131048
  0023  JMP       (jump)   -> 25
  0024  RETURN    return R0..R-1
  0025  NEWTABLE  R4 = {} (0 items)
  0026  LOADK     R5 = K9 ''
  0027  LOADNIL   R6..R6 = nil
  0028  GETTABUP  R7 = _ENV[K10('ipairs')]
  0029  MOVE      R8 = R0
  0030  CALL      R7 = call(R7, 3 args, 1 rets)
  0031  JMP       (jump)   -> 99
  0032  GETTABUP  R12 = _ENV[K11('RewardApi')]
  0033  GETTABLE  R12 = R12[K12('CheckRewardTypeValid')]
  0034  GETTABUP  R13 = _ENV[K13('PROPERTY_TYPE')]
  0035  GETTABLE  R13 = R11[R13]
  0036  CALL      R12 = call(R12, 1 args, 1 rets)
  0037  TEST      if not R12 then   -> -131033
  0038  JMP       (jump)   -> 65
  0039  GETTABUP  R12 = _ENV[K11('RewardApi')]
  0040  GETTABLE  R12 = R12[K14('GetReplacedCommonReward')]
  0041  MOVE      R13 = R0
  0042  CALL      R12 = call(R12, 1 args, 1 rets)
  0043  MOVE      R6 = R0
  0044  EQ        if R1 eq K0(nil)   -> -127698
  0045  JMP       (jump)   -> 99
  0046  GETTABUP  R12 = _ENV[K11('RewardApi')]
  0047  GETTABLE  R12 = R12[K15('ReplacedRewardByBuff')]
  0048  MOVE      R13 = R0
  0049  MOVE      R14 = R0
  0050  CALL      R12 = call(R12, 1 args, 2 rets)
  0051  MOVE      R6 = R0
  0052  EQ        if R1 eq K0(nil)   -> -129738
  0053  JMP       (jump)   -> 59
  0054  GETTABLE  R12 = R11[R2]
  0055  EQ        if R1 eq K0(nil)   -> -124615
  0056  JMP       (jump)   -> 59
  0057  GETTABLE  R12 = R11[R2]
  0058  SETTABLE  R6[R2] = R12
  0059  GETTABUP  R12 = _ENV[K16('table')]
  0060  GETTABLE  R12 = R12[K17('insert')]
  0061  MOVE      R13 = R0
  0062  MOVE      R14 = R0
  0063  CALL      R12 = call(R12, 0 args, 2 rets)
  0064  JMP       (jump)   -> 99
  0065  TEST      if not R3 then   -> -131005
  0066  JMP       (jump)   -> 75
  0067  GETTABUP  R12 = _ENV[K18('GM')]
  0068  GETTABLE  R12 = R12[K19('UIManager')]
  0069  SELF      R13 = R12[K20('ShowTestPrompt')] (self)
  0070  GETTABUP  R14 = _ENV[K13('PROPERTY_TYPE')]
  0071  GETTABLE  R14 = R11[R14]
  0072  LOADK     R15 = K21 ' 未通过奖励有效性检查'
  0073  CONCAT    R14 = concat(R14..R14)
  0074  CALL      R12 = call(R12, 0 args, 2 rets)
  0075  MOVE      R12 = R0
  0076  GETTABUP  R13 = _ENV[K13('PROPERTY_TYPE')]
  0077  GETTABLE  R13 = R11[R13]
  0078  LOADK     R14 = K22 '; '
  0079  CONCAT    R5 = concat(R5..R12)
  0080  GETTABUP  R12 = _ENV[K11('RewardApi')]
  0081  GETTABLE  R12 = R12[K23('GetReplacedInvalidReward')]
  0082  MOVE      R13 = R0
  0083  MOVE      R14 = R0
  0084  CALL      R12 = call(R12, 1 args, 2 rets)
  0085  EQ        if R1 eq K0(nil)   -> -124585
  0086  JMP       (jump)   -> 99
  0087  EQ        if R1 eq K0(nil)   -> -129703
  0088  JMP       (jump)   -> 94
  0089  GETTABLE  R13 = R11[R2]
  0090  EQ        if R1 eq K0(nil)   -> -124068
  0091  JMP       (jump)   -> 94
  0092  GETTABLE  R13 = R11[R2]
  0093  SETTABLE  R12[R2] = R13
  0094  GETTABUP  R13 = _ENV[K16('table')]
  0095  GETTABLE  R13 = R13[K17('insert')]
  0096  MOVE      R14 = R0
  0097  MOVE      R15 = R0
  0098  CALL      R13 = call(R13, 0 args, 2 rets)
  0099  TFORCALL  tforcall R7
  0100  TFORLOOP  tforloop R9(sBx=-69)   -> 32
  0101  TEST      if not R3 then   -> -130969
  0102  JMP       (jump)   -> 120
  0103  GETTABUP  R7 = _ENV[K24('GameConfig')]
  0104  GETTABLE  R7 = R7[K25('IsTestMode')]
  0105  CALL      R7 = call(R7, 1 args, 0 rets)
  0106  TEST      if not R7 then   -> -130964
  0107  JMP       (jump)   -> 120
  0108  GETTABUP  R7 = _ENV[K7('Table')]
  0109  GETTABLE  R7 = R7[K8('IsEmpty')]
  0110  MOVE      R8 = R0
  0111  CALL      R7 = call(R7, 1 args, 1 rets)
  0112  TEST      if not R7 then   -> -130958
  0113  JMP       (jump)   -> 120
  0114  GETTABUP  R7 = _ENV[K1('Log')]
  0115  GETTABLE  R7 = R7[K2('Error')]
  0116  LOADK     R8 = K26 '剔除非法奖励后，奖励为空，请检查. 非法奖励: '
  0117  MOVE      R9 = R0
  0118  CONCAT    R8 = concat(R8..R8)
  0119  CALL      R7 = call(R7, 0 args, 1 rets)
  0120  RETURN    return R4..R3
  0121  RETURN    return R0..R-1
; ---------- proto10 [IsImmediateEffectItem] ----------
  ; fn ?  line 351-359 np=2 va=0 ms=6 code=27 consts=9 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='ItemDataModel'
  ;   K[2]='GetModelConfig'
  ;   K[3]='BoosterType'
  ;   K[4]='NewDay'
  ;   K[5]='SceneManager'
  ;   K[6]='GetGameMode'
  ;   K[7]='EGameMode'
  ;   K[8]='Board'
  ;   upvals: _ENV
  ;   locals: type(0-27), ignoreGameMode(0-27), config(6-27)
  0000  GETTABUP  R2 = _ENV[K0('GM')]
  0001  GETTABLE  R2 = R2[K1('ItemDataModel')]
  0002  SELF      R3 = R2[K2('GetModelConfig')] (self)
  0003  MOVE      R4 = R0
  0004  LOADBOOL  R5 = true
  0005  CALL      R2 = call(R2, 1 args, 3 rets)
  0006  TEST      if not R2 then   -> -131064
  0007  JMP       (jump)   -> 24
  0008  GETTABLE  R3 = R2[K3('BoosterType')]
  0009  EQ        if R0 eq K4('NewDay')   -> -129265
  0010  JMP       (jump)   -> 24
  0011  TEST      if not R1 then   -> -131058
  0012  JMP       (jump)   -> 21
  0013  GETTABUP  R3 = _ENV[K0('GM')]
  0014  GETTABLE  R3 = R3[K5('SceneManager')]
  0015  SELF      R4 = R3[K6('GetGameMode')] (self)
  0016  CALL      R3 = call(R3, 1 args, 1 rets)
  0017  GETTABUP  R4 = _ENV[K7('EGameMode')]
  0018  GETTABLE  R4 = R4[K8('Board')]
  0019  EQ        if R0 eq R4   -> -129511
  0020  JMP       (jump)   -> 24
  0021  LOADBOOL  R3 = true
  0022  MOVE      R4 = R0
  0023  RETURN    return R3..R2
  0024  LOADBOOL  R3 = false
  0025  RETURN    return R3..R2
  0026  RETURN    return R0..R-1
; ---------- proto11 [AcquireRewards] ----------
  ; fn ?  line 361-370 np=9 va=0 ms=18 code=26 consts=6 upvals=1 protos=0
  ;   K[0]=nil
  ;   K[1]='RewardApi'
  ;   K[2]='AcquireRewardsLogic'
  ;   K[3]='bNoFilterReward'
  ;   K[4]=true
  ;   K[5]='AcquireRewardsInView'
  ;   upvals: _ENV
  ;   locals: formattedRewards(0-26), source(0-26), scene(0-26), rewardScene(0-26), viewData(0-26), targetGameMode(0-26), cacheItemType(0-26), sourceGameMode(0-26), ext(0-26), claimedRewards(14-26)
  0000  EQ        if R0 eq K0(nil)   -> -130814
  0001  JMP       (jump)   -> 3
  0002  RETURN    return R0..R-1
  0003  GETTABUP  R9 = _ENV[K1('RewardApi')]
  0004  GETTABLE  R9 = R9[K2('AcquireRewardsLogic')]
  0005  MOVE      R10 = R0
  0006  MOVE      R11 = R0
  0007  MOVE      R12 = R0
  0008  MOVE      R13 = R0
  0009  MOVE      R14 = R0
  0010  MOVE      R15 = R0
  0011  MOVE      R16 = R0
  0012  MOVE      R17 = R0
  0013  CALL      R9 = call(R9, 1 args, 8 rets)
  0014  TEST      if not R4 then   -> -131055
  0015  JMP       (jump)   -> 18
  0016  NEWTABLE  R10 = {} (0 items)
  0017  MOVE      R4 = R0
  0018  SETTABLE  R4[K3('bNoFilterReward')] = K4(true)
  0019  GETTABUP  R10 = _ENV[K1('RewardApi')]
  0020  GETTABLE  R10 = R10[K5('AcquireRewardsInView')]
  0021  MOVE      R11 = R0
  0022  MOVE      R12 = R0
  0023  MOVE      R13 = R0
  0024  CALL      R10 = call(R10, 0 args, 3 rets)
  0025  RETURN    return R0..R-1
; ---------- proto12 [AcquireRewardsLogic] ----------
  ; fn ?  line 372-377 np=8 va=0 ms=18 code=21 consts=4 upvals=1 protos=0
  ;   K[0]='RewardApi'
  ;   K[1]='FilterRewards'
  ;   K[2]='SplitRewards'
  ;   K[3]='_AcquireRewardsLogic'
  ;   upvals: _ENV
  ;   locals: formattedRewards(0-21), source(0-21), scene(0-21), rewardScene(0-21), targetGameMode(0-21), cacheItemType(0-21), sourceGameMode(0-21), ext(0-21), arrRewards(5-21), splitedRewardDatas(9-21)
  0000  GETTABUP  R8 = _ENV[K0('RewardApi')]
  0001  GETTABLE  R8 = R8[K1('FilterRewards')]
  0002  MOVE      R9 = R0
  0003  MOVE      R10 = R0
  0004  CALL      R8 = call(R8, 1 args, 2 rets)
  0005  GETTABUP  R9 = _ENV[K0('RewardApi')]
  0006  GETTABLE  R9 = R9[K2('SplitRewards')]
  0007  MOVE      R10 = R0
  0008  CALL      R9 = call(R9, 1 args, 1 rets)
  0009  GETTABUP  R10 = _ENV[K0('RewardApi')]
  0010  GETTABLE  R10 = R10[K3('_AcquireRewardsLogic')]
  0011  MOVE      R11 = R0
  0012  MOVE      R12 = R0
  0013  MOVE      R13 = R0
  0014  MOVE      R14 = R0
  0015  MOVE      R15 = R0
  0016  MOVE      R16 = R0
  0017  MOVE      R17 = R0
  0018  CALL      R10 = call(R10, 0 args, 7 rets)
  0019  RETURN    return R8..R7
  0020  RETURN    return R0..R-1
; ---------- proto13 [_AcquireRewardsLogic] ----------
  ; fn ?  line 384-418 np=7 va=0 ms=20 code=156 consts=27 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='items'
  ;   K[3]='RewardApi'
  ;   K[4]='_SeparateItemRewardsByGameModes'
  ;   K[5]='pairs'
  ;   K[6]='_AcquireItemRewardsLogic'
  ;   K[7]='avatars'
  ;   K[8]='ipairs'
  ;   K[9]='GM'
  ;   K[10]='UserProfileModel'
  ;   K[11]='Acquire'
  ;   K[12]='EProfilePropertyType'
  ;   K[13]='Avatar'
  ;   K[14]='BIManager'
  ;   K[15]='LogAcquire'
  ;   K[16]=1
  ;   K[17]='EPropertySource'
  ;   K[18]='Give'
  ;   K[19]='badges'
  ;   K[20]='Badge'
  ;   K[21]='ChangeBadge'
  ;   K[22]='frames'
  ;   K[23]='Frame'
  ;   K[24]='ChangeFrame'
  ;   K[25]='properties'
  ;   K[26]='PropertyDataManager'
  ;   upvals: _ENV
  ;   locals: splitedRewardDatas(0-156), source(0-156), scene(0-156), targetGameMode(0-156), cacheItemType(0-156), sourceGameMode(0-156), ext(0-156), mapItemsByGameModes(11-26), (for generator)(14-26), (for state)(14-26), (for control)(14-26), eGameMode(15-24), arrItems(15-24), (for generator)(35-60), (for state)(35-60), (for control)(35-60), _(36-58), avatar(36-58), (for generator)(69-100), (for state)(69-100), (for control)(69-100), _(70-98), badge(70-98), (for generator)(109-140), (for state)(109-140), (for control)(109-140), _(110-138), frame(110-138)
  0000  GETTABUP  R7 = _ENV[K0('Table')]
  0001  GETTABLE  R7 = R7[K1('IsEmpty')]
  0002  GETTABLE  R8 = R0[K2('items')]
  0003  CALL      R7 = call(R7, 1 args, 1 rets)
  0004  TEST      if not R7 then   -> -131065
  0005  JMP       (jump)   -> 26
  0006  GETTABUP  R7 = _ENV[K3('RewardApi')]
  0007  GETTABLE  R7 = R7[K4('_SeparateItemRewardsByGameModes')]
  0008  GETTABLE  R8 = R0[K2('items')]
  0009  MOVE      R9 = R0
  0010  CALL      R7 = call(R7, 1 args, 2 rets)
  0011  GETTABUP  R8 = _ENV[K5('pairs')]
  0012  MOVE      R9 = R0
  0013  CALL      R8 = call(R8, 3 args, 1 rets)
  0014  JMP       (jump)   -> 24
  0015  GETTABUP  R13 = _ENV[K3('RewardApi')]
  0016  GETTABLE  R13 = R13[K6('_AcquireItemRewardsLogic')]
  0017  MOVE      R14 = R0
  0018  MOVE      R15 = R0
  0019  MOVE      R16 = R0
  0020  MOVE      R17 = R0
  0021  MOVE      R18 = R0
  0022  MOVE      R19 = R0
  0023  CALL      R13 = call(R13, 0 args, 6 rets)
  0024  TFORCALL  tforcall R8
  0025  TFORLOOP  tforloop R10(sBx=-11)   -> 15
  0026  GETTABUP  R7 = _ENV[K0('Table')]
  0027  GETTABLE  R7 = R7[K1('IsEmpty')]
  0028  GETTABLE  R8 = R0[K7('avatars')]
  0029  CALL      R7 = call(R7, 1 args, 1 rets)
  0030  TEST      if not R7 then   -> -131039
  0031  JMP       (jump)   -> 60
  0032  GETTABUP  R7 = _ENV[K8('ipairs')]
  0033  GETTABLE  R8 = R0[K7('avatars')]
  0034  CALL      R7 = call(R7, 3 args, 1 rets)
  0035  JMP       (jump)   -> 58
  0036  GETTABUP  R12 = _ENV[K9('GM')]
  0037  GETTABLE  R12 = R12[K10('UserProfileModel')]
  0038  SELF      R13 = R12[K11('Acquire')] (self)
  0039  GETTABUP  R14 = _ENV[K12('EProfilePropertyType')]
  0040  GETTABLE  R14 = R14[K13('Avatar')]
  0041  MOVE      R15 = R0
  0042  CALL      R12 = call(R12, 0 args, 3 rets)
  0043  GETTABUP  R12 = _ENV[K9('GM')]
  0044  GETTABLE  R12 = R12[K14('BIManager')]
  0045  SELF      R13 = R12[K15('LogAcquire')] (self)
  0046  MOVE      R14 = R0
  0047  LOADK     R15 = K16 1
  0048  MOVE      R16 = R0
  0049  GETTABUP  R17 = _ENV[K17('EPropertySource')]
  0050  GETTABLE  R17 = R17[K18('Give')]
  0051  EQ        if R1 eq R17   -> -130490
  0052  JMP       (jump)   -> 54
  0053  LOADBOOL  R17 = false
  0054  LOADBOOL  R17 = true
  0055  LOADNIL   R18..R18 = nil
  0056  MOVE      R19 = R0
  0057  CALL      R12 = call(R12, 0 args, 7 rets)
  0058  TFORCALL  tforcall R7
  0059  TFORLOOP  tforloop R9(sBx=-24)   -> 36
  0060  GETTABUP  R7 = _ENV[K0('Table')]
  0061  GETTABLE  R7 = R7[K1('IsEmpty')]
  0062  GETTABLE  R8 = R0[K19('badges')]
  0063  CALL      R7 = call(R7, 1 args, 1 rets)
  0064  TEST      if not R7 then   -> -131005
  0065  JMP       (jump)   -> 100
  0066  GETTABUP  R7 = _ENV[K8('ipairs')]
  0067  GETTABLE  R8 = R0[K19('badges')]
  0068  CALL      R7 = call(R7, 3 args, 1 rets)
  0069  JMP       (jump)   -> 98
  0070  GETTABUP  R12 = _ENV[K9('GM')]
  0071  GETTABLE  R12 = R12[K10('UserProfileModel')]
  0072  SELF      R13 = R12[K11('Acquire')] (self)
  0073  GETTABUP  R14 = _ENV[K12('EProfilePropertyType')]
  0074  GETTABLE  R14 = R14[K20('Badge')]
  0075  MOVE      R15 = R0
  0076  CALL      R12 = call(R12, 0 args, 3 rets)
  0077  GETTABUP  R12 = _ENV[K9('GM')]
  0078  GETTABLE  R12 = R12[K10('UserProfileModel')]
  0079  SELF      R13 = R12[K21('ChangeBadge')] (self)
  0080  MOVE      R14 = R0
  0081  LOADBOOL  R15 = false
  0082  CALL      R12 = call(R12, 0 args, 3 rets)
  0083  GETTABUP  R12 = _ENV[K9('GM')]
  0084  GETTABLE  R12 = R12[K14('BIManager')]
  0085  SELF      R13 = R12[K15('LogAcquire')] (self)
  0086  MOVE      R14 = R0
  0087  LOADK     R15 = K16 1
  0088  MOVE      R16 = R0
  0089  GETTABUP  R17 = _ENV[K17('EPropertySource')]
  0090  GETTABLE  R17 = R17[K18('Give')]
  0091  EQ        if R1 eq R17   -> -130450
  0092  JMP       (jump)   -> 94
  0093  LOADBOOL  R17 = false
  0094  LOADBOOL  R17 = true
  0095  LOADNIL   R18..R18 = nil
  0096  MOVE      R19 = R0
  0097  CALL      R12 = call(R12, 0 args, 7 rets)
  0098  TFORCALL  tforcall R7
  0099  TFORLOOP  tforloop R9(sBx=-30)   -> 70
  0100  GETTABUP  R7 = _ENV[K0('Table')]
  0101  GETTABLE  R7 = R7[K1('IsEmpty')]
  0102  GETTABLE  R8 = R0[K22('frames')]
  0103  CALL      R7 = call(R7, 1 args, 1 rets)
  0104  TEST      if not R7 then   -> -130965
  0105  JMP       (jump)   -> 140
  0106  GETTABUP  R7 = _ENV[K8('ipairs')]
  0107  GETTABLE  R8 = R0[K22('frames')]
  0108  CALL      R7 = call(R7, 3 args, 1 rets)
  0109  JMP       (jump)   -> 138
  0110  GETTABUP  R12 = _ENV[K9('GM')]
  0111  GETTABLE  R12 = R12[K10('UserProfileModel')]
  0112  SELF      R13 = R12[K11('Acquire')] (self)
  0113  GETTABUP  R14 = _ENV[K12('EProfilePropertyType')]
  0114  GETTABLE  R14 = R14[K23('Frame')]
  0115  MOVE      R15 = R0
  0116  CALL      R12 = call(R12, 0 args, 3 rets)
  0117  GETTABUP  R12 = _ENV[K9('GM')]
  0118  GETTABLE  R12 = R12[K10('UserProfileModel')]
  0119  SELF      R13 = R12[K24('ChangeFrame')] (self)
  0120  MOVE      R14 = R0
  0121  LOADBOOL  R15 = false
  0122  CALL      R12 = call(R12, 0 args, 3 rets)
  0123  GETTABUP  R12 = _ENV[K9('GM')]
  0124  GETTABLE  R12 = R12[K14('BIManager')]
  0125  SELF      R13 = R12[K15('LogAcquire')] (self)
  0126  MOVE      R14 = R0
  0127  LOADK     R15 = K16 1
  0128  MOVE      R16 = R0
  0129  GETTABUP  R17 = _ENV[K17('EPropertySource')]
  0130  GETTABLE  R17 = R17[K18('Give')]
  0131  EQ        if R1 eq R17   -> -130410
  0132  JMP       (jump)   -> 134
  0133  LOADBOOL  R17 = false
  0134  LOADBOOL  R17 = true
  0135  LOADNIL   R18..R18 = nil
  0136  MOVE      R19 = R0
  0137  CALL      R12 = call(R12, 0 args, 7 rets)
  0138  TFORCALL  tforcall R7
  0139  TFORLOOP  tforloop R9(sBx=-30)   -> 110
  0140  GETTABUP  R7 = _ENV[K0('Table')]
  0141  GETTABLE  R7 = R7[K1('IsEmpty')]
  0142  GETTABLE  R8 = R0[K25('properties')]
  0143  CALL      R7 = call(R7, 1 args, 1 rets)
  0144  TEST      if not R7 then   -> -130925
  0145  JMP       (jump)   -> 155
  0146  GETTABUP  R7 = _ENV[K9('GM')]
  0147  GETTABLE  R7 = R7[K26('PropertyDataManager')]
  0148  SELF      R8 = R7[K11('Acquire')] (self)
  0149  GETTABLE  R9 = R0[K25('properties')]
  0150  MOVE      R10 = R0
  0151  MOVE      R11 = R0
  0152  MOVE      R12 = R0
  0153  MOVE      R13 = R0
  0154  CALL      R7 = call(R7, 0 args, 6 rets)
  0155  RETURN    return R0..R-1
; ---------- proto14 [_AcquireItemRewardsLogic] ----------
  ; fn ?  line 420-451 np=6 va=0 ms=24 code=97 consts=25 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='ipairs'
  ;   K[3]='cost'
  ;   K[4]='ItemModelHelper'
  ;   K[5]='SplitCost'
  ;   K[6]='PROPERTY_COUNT'
  ;   K[7]='RewardApi'
  ;   K[8]='IsImmediateEffectItem'
  ;   K[9]='PROPERTY_TYPE'
  ;   K[10]=1
  ;   K[11]='ItemSpeeder'
  ;   K[12]='TakeEffect'
  ;   K[13]='GM'
  ;   K[14]='MainBoardModel'
  ;   K[15]='Effect'
  ;   K[16]='BoardModelHelper'
  ;   K[17]='GetModelByGameMode'
  ;   K[18]='CacheItems'
  ;   K[19]='BIManager'
  ;   K[20]='LogAcquire'
  ;   K[21]='EPropertySource'
  ;   K[22]='Give'
  ;   K[23]='ItemDataModel'
  ;   K[24]='SetRewardsLocked'
  ;   upvals: _ENV
  ;   locals: items(0-97), source(0-97), scene(0-97), targetGameMode(0-97), cacheItemType(0-97), ext(0-97), arrItems(7-96), costList(8-96), (for generator)(11-58), (for state)(11-58), (for control)(11-58), _(12-56), itemData(12-56), oneItemCost(13-56), isImmediate(28-56), config(28-56), (for index)(32-56), (for limit)(32-56), (for step)(32-56), i(33-55), boardModel(62-96), (for generator)(71-91), (for state)(71-91), (for control)(71-91), _(72-89), itemData(72-89)
  0000  GETTABUP  R6 = _ENV[K0('Table')]
  0001  GETTABLE  R6 = R6[K1('IsEmpty')]
  0002  MOVE      R7 = R0
  0003  CALL      R6 = call(R6, 1 args, 1 rets)
  0004  TEST      if not R6 then   -> -131065
  0005  JMP       (jump)   -> 96
  0006  NEWTABLE  R6 = {} (0 items)
  0007  NEWTABLE  R7 = {} (0 items)
  0008  GETTABUP  R8 = _ENV[K2('ipairs')]
  0009  MOVE      R9 = R0
  0010  CALL      R8 = call(R8, 3 args, 1 rets)
  0011  JMP       (jump)   -> 56
  0012  LOADNIL   R13..R13 = nil
  0013  GETTABLE  R14 = R12[K3('cost')]
  0014  TEST      if not R14 then   -> -131056
  0015  JMP       (jump)   -> 23
  0016  GETTABUP  R14 = _ENV[K4('ItemModelHelper')]
  0017  GETTABLE  R14 = R14[K5('SplitCost')]
  0018  GETTABLE  R15 = R12[K3('cost')]
  0019  GETTABUP  R16 = _ENV[K6('PROPERTY_COUNT')]
  0020  GETTABLE  R16 = R12[R16]
  0021  CALL      R14 = call(R14, 1 args, 2 rets)
  0022  MOVE      R13 = R0
  0023  GETTABUP  R14 = _ENV[K7('RewardApi')]
  0024  GETTABLE  R14 = R14[K8('IsImmediateEffectItem')]
  0025  GETTABUP  R15 = _ENV[K9('PROPERTY_TYPE')]
  0026  GETTABLE  R15 = R12[R15]
  0027  CALL      R14 = call(R14, 2 args, 1 rets)
  0028  LOADK     R16 = K10 1
  0029  GETTABUP  R17 = _ENV[K6('PROPERTY_COUNT')]
  0030  GETTABLE  R17 = R12[R17]
  0031  LOADK     R18 = K10 1
  0032  FORPREP   forprep R16(sBx=22)   -> 55
  0033  TEST      if not R14 then   -> -131037
  0034  JMP       (jump)   -> 44
  0035  GETTABUP  R20 = _ENV[K11('ItemSpeeder')]
  0036  GETTABLE  R20 = R20[K12('TakeEffect')]
  0037  GETTABUP  R21 = _ENV[K13('GM')]
  0038  GETTABLE  R21 = R21[K14('MainBoardModel')]
  0039  GETTABLE  R22 = R15[K15('Effect')]
  0040  GETTABUP  R23 = _ENV[K9('PROPERTY_TYPE')]
  0041  GETTABLE  R23 = R12[R23]
  0042  CALL      R20 = call(R20, 0 args, 3 rets)
  0043  JMP       (jump)   -> 55
  0044  LEN       R20 = len R0
  0045  ADD       R20 = K10(1) add R20
  0046  GETTABUP  R21 = _ENV[K9('PROPERTY_TYPE')]
  0047  GETTABLE  R21 = R12[R21]
  0048  SETTABLE  R6[R20] = R21
  0049  LEN       R20 = len R0
  0050  ADD       R20 = K10(1) add R20
  0051  TESTSET   if R1 then R21   -> -124362
  0052  JMP       (jump)   -> 54
  0053  NEWTABLE  R21 = {} (0 items)
  0054  SETTABLE  R7[R20] = R21
  0055  FORLOOP   forloop R16(sBx=-23)   -> 33
  0056  TFORCALL  tforcall R8
  0057  TFORLOOP  tforloop R10(sBx=-46)   -> 12
  0058  GETTABUP  R8 = _ENV[K16('BoardModelHelper')]
  0059  GETTABLE  R8 = R8[K17('GetModelByGameMode')]
  0060  MOVE      R9 = R0
  0061  CALL      R8 = call(R8, 1 args, 1 rets)
  0062  SELF      R10 = R8[K18('CacheItems')] (self)
  0063  MOVE      R11 = R0
  0064  MOVE      R12 = R0
  0065  MOVE      R13 = R0
  0066  LOADBOOL  R14 = true
  0067  CALL      R9 = call(R9, 0 args, 5 rets)
  0068  GETTABUP  R9 = _ENV[K2('ipairs')]
  0069  MOVE      R10 = R0
  0070  CALL      R9 = call(R9, 3 args, 1 rets)
  0071  JMP       (jump)   -> 89
  0072  GETTABUP  R14 = _ENV[K13('GM')]
  0073  GETTABLE  R14 = R14[K19('BIManager')]
  0074  SELF      R15 = R14[K20('LogAcquire')] (self)
  0075  GETTABUP  R16 = _ENV[K9('PROPERTY_TYPE')]
  0076  GETTABLE  R16 = R13[R16]
  0077  GETTABUP  R17 = _ENV[K6('PROPERTY_COUNT')]
  0078  GETTABLE  R17 = R13[R17]
  0079  MOVE      R18 = R0
  0080  GETTABUP  R19 = _ENV[K21('EPropertySource')]
  0081  GETTABLE  R19 = R19[K22('Give')]
  0082  EQ        if R1 eq R19   -> -130457
  0083  JMP       (jump)   -> 85
  0084  LOADBOOL  R19 = false
  0085  LOADBOOL  R19 = true
  0086  MOVE      R20 = R0
  0087  MOVE      R21 = R0
  0088  CALL      R14 = call(R14, 0 args, 7 rets)
  0089  TFORCALL  tforcall R9
  0090  TFORLOOP  tforloop R11(sBx=-19)   -> 72
  0091  GETTABUP  R9 = _ENV[K13('GM')]
  0092  GETTABLE  R9 = R9[K23('ItemDataModel')]
  0093  SELF      R10 = R9[K24('SetRewardsLocked')] (self)
  0094  MOVE      R11 = R0
  0095  CALL      R9 = call(R9, 0 args, 2 rets)
  0096  RETURN    return R0..R-1
; ---------- proto15 [_SeparateItemRewardsByGameModes] ----------
  ; fn ?  line 453-469 np=2 va=0 ms=11 code=26 consts=5 upvals=1 protos=0
  ;   K[0]='ipairs'
  ;   K[1]='ItemUtility'
  ;   K[2]='GetModeByCode'
  ;   K[3]='PROPERTY_TYPE'
  ;   K[4]=1
  ;   upvals: _ENV
  ;   locals: arrItemRewards(0-26), forcedGameMode(0-26), mapItemsByGameModes(1-26), (for generator)(4-24), (for state)(4-24), (for control)(4-24), _(5-22), itemReward(5-22), gameMode(11-22), arrItemsRewards(14-22)
  0000  NEWTABLE  R2 = {} (0 items)
  0001  GETTABUP  R3 = _ENV[K0('ipairs')]
  0002  MOVE      R4 = R0
  0003  CALL      R3 = call(R3, 3 args, 1 rets)
  0004  JMP       (jump)   -> 22
  0005  GETTABUP  R8 = _ENV[K1('ItemUtility')]
  0006  GETTABLE  R8 = R8[K2('GetModeByCode')]
  0007  GETTABUP  R9 = _ENV[K3('PROPERTY_TYPE')]
  0008  GETTABLE  R9 = R7[R9]
  0009  MOVE      R10 = R0
  0010  CALL      R8 = call(R8, 1 args, 2 rets)
  0011  TEST      if not R8 then   -> -131059
  0012  JMP       (jump)   -> 22
  0013  GETTABLE  R9 = R2[R8]
  0014  TEST      if not R9 then   -> -131055
  0015  JMP       (jump)   -> 19
  0016  NEWTABLE  R10 = {} (0 items)
  0017  MOVE      R9 = R0
  0018  SETTABLE  R2[R8] = R9
  0019  LEN       R10 = len R0
  0020  ADD       R10 = K4(1) add R10
  0021  SETTABLE  R9[R10] = R7
  0022  TFORCALL  tforcall R3
  0023  TFORLOOP  tforloop R5(sBx=-19)   -> 5
  0024  RETURN    return R2..R1
  0025  RETURN    return R0..R-1
; ---------- proto16 [AcquireRewardsInView] ----------
  ; fn ?  line 509-639 np=3 va=0 ms=31 code=367 consts=88 upvals=2 protos=0
  ;   K[0]='Table'
  ;   K[1]='ShallowCopy'
  ;   K[2]='RewardApi'
  ;   K[3]='DefaultViewData'
  ;   K[4]='bNoFilterReward'
  ;   K[5]='FilterRewards'
  ;   K[6]='arrWorldPos'
  ;   K[7]='Empty'
  ;   K[8]='arrNoDiffusion'
  ;   K[9]='arrFlyPause'
  ;   K[10]='arrElementScale'
  ;   K[11]='arrFlyStartScale'
  ;   K[12]='arrFloatDt'
  ;   K[13]='arrSecondViewData'
  ;   K[14]='arrFloatEase'
  ;   K[15]='targetGameMode'
  ;   K[16]='GM'
  ;   K[17]='UIManager'
  ;   K[18]='GetOpenedViewByName'
  ;   K[19]='UIPrefabConfigName'
  ;   K[20]='BaseSceneView'
  ;   K[21]='GetFlyCachedItemTargetPosition'
  ;   K[22]='bFixedCacheRootRight'
  ;   K[23]='SceneManager'
  ;   K[24]='GetGameMode'
  ;   K[25]=0
  ;   K[26]='ipairs'
  ;   K[27]='V3Zero'
  ;   K[28]='spriteScale'
  ;   K[29]=1
  ;   K[30]=0.5
  ;   K[31]='simpleCacheRoot'
  ;   K[32]='EGameMode'
  ;   K[33]='Main'
  ;   K[34]='IsEmpty'
  ;   K[35]='rewardData'
  ;   K[36]='PROPERTY_TYPE'
  ;   K[37]='PROPERTY_COUNT'
  ;   K[38]='PropertyDataManager'
  ;   K[39]='IsPropertyType'
  ;   K[40]='AlbumActivityModel'
  ;   K[41]='IsAlbumPackReward'
  ;   K[42]='UIBoardActivityModel'
  ;   K[43]='IsUIBoardActivityItem'
  ;   K[44]='flyDelay'
  ;   K[45]='eventLock'
  ;   K[46]='alwaysInMiddle'
  ;   K[47]='floatLabel'
  ;   K[48]='floatUp'
  ;   K[49]='floatLarge'
  ;   K[50]='flyCount'
  ;   K[51]='noDiffusion'
  ;   K[52]='flyPause'
  ;   K[53]='flyStartScale'
  ;   K[54]='bCreateAtBtm'
  ;   K[55]='bUseFrameCache'
  ;   K[56]='floatDt'
  ;   K[57]='secondViewData'
  ;   K[58]='floatEase'
  ;   K[59]='simpleCollect'
  ;   K[60]='PlayPropertyIncreaseAnimation'
  ;   K[61]='PlayCollectAnimation'
  ;   K[62]='StringUtil'
  ;   K[63]='StartWith'
  ;   K[64]='ProducerInventoryRewardPrefix'
  ;   K[65]='UserProfileModel'
  ;   K[66]='IsValidRewardType'
  ;   K[67]='EProfilePropertyType'
  ;   K[68]='Badge'
  ;   K[69]='Frame'
  ;   K[70]='endPos'
  ;   K[71]='math'
  ;   K[72]='min'
  ;   K[73]=5
  ;   K[74]='spriteKey'
  ;   K[75]='ItemDataModel'
  ;   K[76]='GetSpriteName'
  ;   K[77]='targetButton'
  ;   K[78]='toCacheRoot'
  ;   K[79]='inverseOrder'
  ;   K[80]='GetModelConfig'
  ;   K[81]=nil
  ;   K[82]='IsImmediateEffectItem'
  ;   K[83]='EventDispatcher'
  ;   K[84]='DispatchEvent'
  ;   K[85]='EEventType'
  ;   K[86]='ViewCacheItems'
  ;   K[87]='interval'
  ;   upvals: _ENV, arrDefaultUIWolrdPos
  ;   locals: arrRewards(0-367), viewData(0-367), rewardScene(0-367), baseSceneView(81-367), itemFlyEndPosition(85-367), itemFlyEndPositionInOtherGameMode(88-367), curGameMode(92-367), flyDelay(93-367), (for generator)(96-366), (for state)(96-366), (for control)(96-366), i(97-364), rewardData(97-364), uiWorldPosition(102-364), noDiffusion(107-364), flyPause(112-364), elementSpriteScale(126-364), flyStartScale(131-364), floatDt(136-364), toCacheRoot(152-364), endPosition(160-364), secondViewData(166-364), floatEase(168-364), rewardData(175-176), rewardType(178-364), rewardCount(180-364), customData(227-248), customData(262-271), customData(324-359)
  0000  TEST      if not R1 then   -> -131069
  0001  JMP       (jump)   -> 8
  0002  GETTABUP  R3 = _ENV[K0('Table')]
  0003  GETTABLE  R3 = R3[K1('ShallowCopy')]
  0004  GETTABUP  R4 = _ENV[K2('RewardApi')]
  0005  GETTABLE  R4 = R4[K3('DefaultViewData')]
  0006  CALL      R3 = call(R3, 1 args, 1 rets)
  0007  MOVE      R1 = R0
  0008  GETTABLE  R3 = R1[K4('bNoFilterReward')]
  0009  TEST      if not R3 then   -> -131060
  0010  JMP       (jump)   -> 17
  0011  GETTABUP  R3 = _ENV[K2('RewardApi')]
  0012  GETTABLE  R3 = R3[K5('FilterRewards')]
  0013  MOVE      R4 = R0
  0014  MOVE      R5 = R0
  0015  CALL      R3 = call(R3, 1 args, 2 rets)
  0016  MOVE      R0 = R0
  0017  GETTABLE  R3 = R1[K6('arrWorldPos')]
  0018  TEST      if not R3 then   -> -131051
  0019  JMP       (jump)   -> 27
  0020  LEN       R3 = len R0
  0021  GETTABUP  R3 = arrDefaultUIWolrdPos[R3]
  0022  TEST      if not R3 then   -> -131047
  0023  JMP       (jump)   -> 26
  0024  GETTABUP  R3 = _ENV[K0('Table')]
  0025  GETTABLE  R3 = R3[K7('Empty')]
  0026  SETTABLE  R1[K6('arrWorldPos')] = R3
  0027  GETTABLE  R3 = R1[K8('arrNoDiffusion')]
  0028  TEST      if not R3 then   -> -131041
  0029  JMP       (jump)   -> 33
  0030  GETTABUP  R3 = _ENV[K0('Table')]
  0031  GETTABLE  R3 = R3[K7('Empty')]
  0032  SETTABLE  R1[K8('arrNoDiffusion')] = R3
  0033  GETTABLE  R3 = R1[K9('arrFlyPause')]
  0034  TEST      if not R3 then   -> -131035
  0035  JMP       (jump)   -> 39
  0036  GETTABUP  R3 = _ENV[K0('Table')]
  0037  GETTABLE  R3 = R3[K7('Empty')]
  0038  SETTABLE  R1[K9('arrFlyPause')] = R3
  0039  GETTABLE  R3 = R1[K10('arrElementScale')]
  0040  TEST      if not R3 then   -> -131029
  0041  JMP       (jump)   -> 45
  0042  GETTABUP  R3 = _ENV[K0('Table')]
  0043  GETTABLE  R3 = R3[K7('Empty')]
  0044  SETTABLE  R1[K10('arrElementScale')] = R3
  0045  GETTABLE  R3 = R1[K11('arrFlyStartScale')]
  0046  TEST      if not R3 then   -> -131023
  0047  JMP       (jump)   -> 51
  0048  GETTABUP  R3 = _ENV[K0('Table')]
  0049  GETTABLE  R3 = R3[K7('Empty')]
  0050  SETTABLE  R1[K11('arrFlyStartScale')] = R3
  0051  GETTABLE  R3 = R1[K12('arrFloatDt')]
  0052  TEST      if not R3 then   -> -131017
  0053  JMP       (jump)   -> 57
  0054  GETTABUP  R3 = _ENV[K0('Table')]
  0055  GETTABLE  R3 = R3[K7('Empty')]
  0056  SETTABLE  R1[K12('arrFloatDt')] = R3
  0057  GETTABLE  R3 = R1[K13('arrSecondViewData')]
  0058  TEST      if not R3 then   -> -131011
  0059  JMP       (jump)   -> 63
  0060  GETTABUP  R3 = _ENV[K0('Table')]
  0061  GETTABLE  R3 = R3[K7('Empty')]
  0062  SETTABLE  R1[K13('arrSecondViewData')] = R3
  0063  GETTABLE  R3 = R1[K14('arrFloatEase')]
  0064  TEST      if not R3 then   -> -131005
  0065  JMP       (jump)   -> 69
  0066  GETTABUP  R3 = _ENV[K0('Table')]
  0067  GETTABLE  R3 = R3[K7('Empty')]
  0068  SETTABLE  R1[K14('arrFloatEase')] = R3
  0069  GETTABLE  R3 = R1[K15('targetGameMode')]
  0070  TEST      if not R3 then   -> -130999
  0071  JMP       (jump)   -> 74
  0072  GETTABUP  R3 = _ENV[K0('Table')]
  0073  GETTABLE  R3 = R3[K7('Empty')]
  0074  SETTABLE  R1[K15('targetGameMode')] = R3
  0075  GETTABUP  R3 = _ENV[K16('GM')]
  0076  GETTABLE  R3 = R3[K17('UIManager')]
  0077  SELF      R4 = R3[K18('GetOpenedViewByName')] (self)
  0078  GETTABUP  R5 = _ENV[K19('UIPrefabConfigName')]
  0079  GETTABLE  R5 = R5[K20('BaseSceneView')]
  0080  CALL      R3 = call(R3, 1 args, 2 rets)
  0081  SELF      R5 = R3[K21('GetFlyCachedItemTargetPosition')] (self)
  0082  LOADNIL   R6..R6 = nil
  0083  GETTABLE  R7 = R1[K22('bFixedCacheRootRight')]
  0084  CALL      R4 = call(R4, 1 args, 3 rets)
  0085  SELF      R6 = R3[K21('GetFlyCachedItemTargetPosition')] (self)
  0086  LOADBOOL  R7 = false
  0087  CALL      R5 = call(R5, 1 args, 2 rets)
  0088  GETTABUP  R6 = _ENV[K16('GM')]
  0089  GETTABLE  R6 = R6[K23('SceneManager')]
  0090  SELF      R7 = R6[K24('GetGameMode')] (self)
  0091  CALL      R6 = call(R6, 1 args, 1 rets)
  0092  LOADK     R7 = K25 0
  0093  GETTABUP  R8 = _ENV[K26('ipairs')]
  0094  MOVE      R9 = R0
  0095  CALL      R8 = call(R8, 3 args, 1 rets)
  0096  JMP       (jump)   -> 364
  0097  GETTABLE  R13 = R1[K6('arrWorldPos')]
  0098  GETTABLE  R13 = R13[R11]
  0099  TEST      if not R13 then   -> -130970
  0100  JMP       (jump)   -> 102
  0101  GETTABUP  R13 = _ENV[K27('V3Zero')]
  0102  GETTABLE  R14 = R1[K8('arrNoDiffusion')]
  0103  GETTABLE  R14 = R14[R11]
  0104  TEST      if not R14 then   -> -130965
  0105  JMP       (jump)   -> 107
  0106  LOADBOOL  R14 = false
  0107  GETTABLE  R15 = R1[K9('arrFlyPause')]
  0108  GETTABLE  R15 = R15[R11]
  0109  TEST      if not R15 then   -> -130960
  0110  JMP       (jump)   -> 112
  0111  LOADK     R15 = K25 0
  0112  GETTABLE  R16 = R1[K10('arrElementScale')]
  0113  GETTABLE  R16 = R16[R11]
  0114  TEST      if not R16 then   -> -130956
  0115  JMP       (jump)   -> 125
  0116  GETTABLE  R16 = R1[K10('arrElementScale')]
  0117  GETTABLE  R16 = R16[R11]
  0118  GETTABLE  R17 = R1[K28('spriteScale')]
  0119  TEST      if not R17 then   -> -130950
  0120  JMP       (jump)   -> 122
  0121  LOADK     R17 = K29 1
  0122  MUL       R16 = R17 mul R16
  0123  TEST      if not R16 then   -> -130946
  0124  JMP       (jump)   -> 126
  0125  GETTABLE  R16 = R1[K28('spriteScale')]
  0126  GETTABLE  R17 = R1[K11('arrFlyStartScale')]
  0127  GETTABLE  R17 = R17[R11]
  0128  TEST      if not R17 then   -> -130941
  0129  JMP       (jump)   -> 131
  0130  LOADK     R17 = K29 1
  0131  GETTABLE  R18 = R1[K12('arrFloatDt')]
  0132  GETTABLE  R18 = R18[R11]
  0133  TEST      if not R18 then   -> -130936
  0134  JMP       (jump)   -> 136
  0135  LOADK     R18 = K30 0.5
  0136  GETTABLE  R19 = R1[K31('simpleCacheRoot')]
  0137  TEST      if not R19 then   -> -130932
  0138  JMP       (jump)   -> 150
  0139  GETTABLE  R19 = R1[K15('targetGameMode')]
  0140  GETTABLE  R19 = R19[R11]
  0141  TEST      if not R19 then   -> -130928
  0142  JMP       (jump)   -> 144
  0143  MOVE      R19 = R0
  0144  EQ        if R0 eq R6   -> -121192
  0145  JMP       (jump)   -> 150
  0146  GETTABUP  R19 = _ENV[K32('EGameMode')]
  0147  GETTABLE  R19 = R19[K33('Main')]
  0148  EQ        if R0 eq R19   -> -127831
  0149  JMP       (jump)   -> 151
  0150  LOADBOOL  R19 = false
  0151  LOADBOOL  R19 = true
  0152  TEST      if not R19 then   -> -130917
  0153  JMP       (jump)   -> 157
  0154  GETTABLE  R20 = R1[K31('simpleCacheRoot')]
  0155  TEST      if not R20 then   -> -130915
  0156  JMP       (jump)   -> 159
  0157  TESTSET   if R1 then R20   -> -128864
  0158  JMP       (jump)   -> 160
  0159  MOVE      R20 = R0
  0160  GETTABLE  R21 = R1[K13('arrSecondViewData')]
  0161  GETTABLE  R21 = R21[R11]
  0162  TEST      if not R21 then   -> -130907
  0163  JMP       (jump)   -> 166
  0164  GETTABUP  R21 = _ENV[K0('Table')]
  0165  GETTABLE  R21 = R21[K7('Empty')]
  0166  GETTABLE  R22 = R1[K14('arrFloatEase')]
  0167  GETTABLE  R22 = R22[R11]
  0168  GETTABUP  R23 = _ENV[K0('Table')]
  0169  GETTABLE  R23 = R23[K34('IsEmpty')]
  0170  MOVE      R24 = R0
  0171  CALL      R23 = call(R23, 1 args, 1 rets)
  0172  TEST      if not R23 then   -> -130897
  0173  JMP       (jump)   -> 176
  0174  MOVE      R23 = R0
  0175  SETTABLE  R21[K35('rewardData')] = R23
  0176  GETTABUP  R23 = _ENV[K36('PROPERTY_TYPE')]
  0177  GETTABLE  R23 = R12[R23]
  0178  GETTABUP  R24 = _ENV[K37('PROPERTY_COUNT')]
  0179  GETTABLE  R24 = R12[R24]
  0180  GETTABUP  R25 = _ENV[K16('GM')]
  0181  GETTABLE  R25 = R25[K38('PropertyDataManager')]
  0182  SELF      R26 = R25[K39('IsPropertyType')] (self)
  0183  MOVE      R27 = R0
  0184  CALL      R25 = call(R25, 1 args, 2 rets)
  0185  TEST      if not R25 then   -> -130885
  0186  JMP       (jump)   -> 193
  0187  GETTABUP  R25 = _ENV[K40('AlbumActivityModel')]
  0188  GETTABLE  R25 = R25[K41('IsAlbumPackReward')]
  0189  MOVE      R26 = R0
  0190  CALL      R25 = call(R25, 1 args, 1 rets)
  0191  TEST      if not R25 then   -> -130879
  0192  JMP       (jump)   -> 199
  0193  GETTABUP  R25 = _ENV[K42('UIBoardActivityModel')]
  0194  GETTABLE  R25 = R25[K43('IsUIBoardActivityItem')]
  0195  MOVE      R26 = R0
  0196  CALL      R25 = call(R25, 1 args, 1 rets)
  0197  TEST      if not R25 then   -> -130873
  0198  JMP       (jump)   -> 249
  0199  NEWTABLE  R25 = {} (1 items)
  0200  NEWTABLE  R26 = {} (0 items)
  0201  SETTABLE  R26[K44('flyDelay')] = R7
  0202  GETTABLE  R27 = R1[K45('eventLock')]
  0203  SETTABLE  R26[K45('eventLock')] = R27
  0204  GETTABLE  R27 = R1[K46('alwaysInMiddle')]
  0205  SETTABLE  R26[K46('alwaysInMiddle')] = R27
  0206  GETTABLE  R27 = R1[K47('floatLabel')]
  0207  SETTABLE  R26[K47('floatLabel')] = R27
  0208  GETTABLE  R27 = R1[K48('floatUp')]
  0209  SETTABLE  R26[K48('floatUp')] = R27
  0210  GETTABLE  R27 = R1[K49('floatLarge')]
  0211  SETTABLE  R26[K49('floatLarge')] = R27
  0212  GETTABLE  R27 = R1[K50('flyCount')]
  0213  SETTABLE  R26[K50('flyCount')] = R27
  0214  SETTABLE  R26[K51('noDiffusion')] = R14
  0215  SETTABLE  R26[K52('flyPause')] = R15
  0216  GETTABLE  R27 = R1[K28('spriteScale')]
  0217  SETTABLE  R26[K28('spriteScale')] = R27
  0218  SETTABLE  R26[K53('flyStartScale')] = R17
  0219  GETTABLE  R27 = R1[K54('bCreateAtBtm')]
  0220  SETTABLE  R26[K54('bCreateAtBtm')] = R27
  0221  GETTABLE  R27 = R1[K55('bUseFrameCache')]
  0222  SETTABLE  R26[K55('bUseFrameCache')] = R27
  0223  SETTABLE  R26[K56('floatDt')] = R18
  0224  SETTABLE  R26[K57('secondViewData')] = R21
  0225  SETTABLE  R26[K58('floatEase')] = R22
  0226  SETLIST   setlist R25[B=1,C=1]
  0227  GETTABLE  R26 = R1[K59('simpleCollect')]
  0228  TEST      if not R26 then   -> -130842
  0229  JMP       (jump)   -> 239
  0230  GETTABUP  R26 = _ENV[K16('GM')]
  0231  GETTABLE  R26 = R26[K38('PropertyDataManager')]
  0232  SELF      R27 = R26[K60('PlayPropertyIncreaseAnimation')] (self)
  0233  NEWTABLE  R28 = {} (1 items)
  0234  MOVE      R29 = R0
  0235  SETLIST   setlist R28[B=1,C=1]
  0236  MOVE      R29 = R0
  0237  CALL      R26 = call(R26, 0 args, 3 rets)
  0238  JMP       (jump)   -> 359
  0239  GETTABUP  R26 = _ENV[K16('GM')]
  0240  GETTABLE  R26 = R26[K38('PropertyDataManager')]
  0241  SELF      R27 = R26[K61('PlayCollectAnimation')] (self)
  0242  NEWTABLE  R28 = {} (1 items)
  0243  MOVE      R29 = R0
  0244  SETLIST   setlist R28[B=1,C=1]
  0245  MOVE      R29 = R0
  0246  MOVE      R30 = R0
  0247  CALL      R26 = call(R26, 0 args, 4 rets)
  0248  JMP       (jump)   -> 359
  0249  GETTABUP  R25 = _ENV[K62('StringUtil')]
  0250  GETTABLE  R25 = R25[K63('StartWith')]
  0251  MOVE      R26 = R0
  0252  GETTABUP  R27 = _ENV[K64('ProducerInventoryRewardPrefix')]
  0253  CALL      R25 = call(R25, 1 args, 2 rets)
  0254  TEST      if not R25 then   -> -130816
  0255  JMP       (jump)   -> 272
  0256  NEWTABLE  R25 = {} (1 items)
  0257  NEWTABLE  R26 = {} (0 items)
  0258  SETTABLE  R26[K50('flyCount')] = K29(1)
  0259  GETTABLE  R27 = R1[K45('eventLock')]
  0260  SETTABLE  R26[K45('eventLock')] = R27
  0261  SETLIST   setlist R25[B=1,C=1]
  0262  GETTABUP  R26 = _ENV[K16('GM')]
  0263  GETTABLE  R26 = R26[K38('PropertyDataManager')]
  0264  SELF      R27 = R26[K61('PlayCollectAnimation')] (self)
  0265  NEWTABLE  R28 = {} (1 items)
  0266  MOVE      R29 = R0
  0267  SETLIST   setlist R28[B=1,C=1]
  0268  MOVE      R29 = R0
  0269  MOVE      R30 = R0
  0270  CALL      R26 = call(R26, 0 args, 4 rets)
  0271  JMP       (jump)   -> 359
  0272  GETTABUP  R25 = _ENV[K16('GM')]
  0273  GETTABLE  R25 = R25[K65('UserProfileModel')]
  0274  SELF      R26 = R25[K66('IsValidRewardType')] (self)
  0275  GETTABUP  R27 = _ENV[K67('EProfilePropertyType')]
  0276  GETTABLE  R27 = R27[K68('Badge')]
  0277  MOVE      R28 = R0
  0278  CALL      R25 = call(R25, 1 args, 3 rets)
  0279  TEST      if not R25 then   -> -130791
  0280  JMP       (jump)   -> 282
  0281  JMP       (jump)   -> 359
  0282  GETTABUP  R25 = _ENV[K16('GM')]
  0283  GETTABLE  R25 = R25[K65('UserProfileModel')]
  0284  SELF      R26 = R25[K66('IsValidRewardType')] (self)
  0285  GETTABUP  R27 = _ENV[K67('EProfilePropertyType')]
  0286  GETTABLE  R27 = R27[K69('Frame')]
  0287  MOVE      R28 = R0
  0288  CALL      R25 = call(R25, 1 args, 3 rets)
  0289  TEST      if not R25 then   -> -130781
  0290  JMP       (jump)   -> 292
  0291  JMP       (jump)   -> 359
  0292  GETTABLE  R25 = R1[K59('simpleCollect')]
  0293  TEST      if not R25 then   -> -130776
  0294  JMP       (jump)   -> 359
  0295  NEWTABLE  R25 = {} (1 items)
  0296  NEWTABLE  R26 = {} (0 items)
  0297  SETTABLE  R26[K70('endPos')] = R20
  0298  GETTABUP  R27 = _ENV[K71('math')]
  0299  GETTABLE  R27 = R27[K72('min')]
  0300  LOADK     R28 = K73 5
  0301  MOVE      R29 = R0
  0302  CALL      R27 = call(R27, 1 args, 2 rets)
  0303  SETTABLE  R26[K50('flyCount')] = R27
  0304  GETTABUP  R27 = _ENV[K16('GM')]
  0305  GETTABLE  R27 = R27[K75('ItemDataModel')]
  0306  SELF      R28 = R27[K76('GetSpriteName')] (self)
  0307  MOVE      R29 = R0
  0308  CALL      R27 = call(R27, 1 args, 2 rets)
  0309  SETTABLE  R26[K74('spriteKey')] = R27
  0310  SETTABLE  R26[K44('flyDelay')] = R7
  0311  GETTABLE  R27 = R1[K45('eventLock')]
  0312  SETTABLE  R26[K45('eventLock')] = R27
  0313  GETTABLE  R27 = R1[K77('targetButton')]
  0314  SETTABLE  R26[K77('targetButton')] = R27
  0315  SETTABLE  R26[K28('spriteScale')] = R16
  0316  SETTABLE  R26[K78('toCacheRoot')] = R19
  0317  GETTABLE  R27 = R1[K47('floatLabel')]
  0318  SETTABLE  R26[K47('floatLabel')] = R27
  0319  GETTABLE  R27 = R1[K31('simpleCacheRoot')]
  0320  SETTABLE  R26[K31('simpleCacheRoot')] = R27
  0321  GETTABLE  R27 = R1[K79('inverseOrder')]
  0322  SETTABLE  R26[K79('inverseOrder')] = R27
  0323  SETLIST   setlist R25[B=1,C=1]
  0324  GETTABUP  R26 = _ENV[K16('GM')]
  0325  GETTABLE  R26 = R26[K75('ItemDataModel')]
  0326  SELF      R27 = R26[K80('GetModelConfig')] (self)
  0327  MOVE      R28 = R0
  0328  LOADBOOL  R29 = true
  0329  CALL      R26 = call(R26, 1 args, 3 rets)
  0330  EQ        if R0 eq K81(nil)   -> -117091
  0331  JMP       (jump)   -> 338
  0332  GETTABUP  R26 = _ENV[K40('AlbumActivityModel')]
  0333  GETTABLE  R26 = R26[K41('IsAlbumPackReward')]
  0334  MOVE      R27 = R0
  0335  CALL      R26 = call(R26, 1 args, 1 rets)
  0336  TEST      if not R26 then   -> -130734
  0337  JMP       (jump)   -> 350
  0338  GETTABUP  R26 = _ENV[K2('RewardApi')]
  0339  GETTABLE  R26 = R26[K82('IsImmediateEffectItem')]
  0340  MOVE      R27 = R0
  0341  CALL      R26 = call(R26, 1 args, 1 rets)
  0342  TEST      if not R26 then   -> -130727
  0343  JMP       (jump)   -> 350
  0344  GETTABUP  R26 = _ENV[K83('EventDispatcher')]
  0345  GETTABLE  R26 = R26[K84('DispatchEvent')]
  0346  GETTABUP  R27 = _ENV[K85('EEventType')]
  0347  GETTABLE  R27 = R27[K86('ViewCacheItems')]
  0348  MOVE      R28 = R0
  0349  CALL      R26 = call(R26, 0 args, 2 rets)
  0350  GETTABUP  R26 = _ENV[K16('GM')]
  0351  GETTABLE  R26 = R26[K38('PropertyDataManager')]
  0352  SELF      R27 = R26[K61('PlayCollectAnimation')] (self)
  0353  NEWTABLE  R28 = {} (1 items)
  0354  MOVE      R29 = R0
  0355  SETLIST   setlist R28[B=1,C=1]
  0356  MOVE      R29 = R0
  0357  MOVE      R30 = R0
  0358  CALL      R26 = call(R26, 0 args, 4 rets)
  0359  GETTABLE  R25 = R1[K87('interval')]
  0360  TEST      if not R25 then   -> -130710
  0361  JMP       (jump)   -> 364
  0362  GETTABLE  R25 = R1[K87('interval')]
  0363  ADD       R7 = R25 add R7
  0364  TFORCALL  tforcall R8
  0365  TFORLOOP  tforloop R10(sBx=-269)   -> 97
  0366  RETURN    return R0..R-1
; ---------- proto17 [GetRewardIconNameAndIsSetNativeSize] ----------
  ; fn ?  line 641-652 np=1 va=0 ms=7 code=58 consts=17 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='PropertyDataManager'
  ;   K[2]='IsPropertyType'
  ;   K[3]='EPropertySpriteBig'
  ;   K[4]='UserProfileModel'
  ;   K[5]='IsValidRewardType'
  ;   K[6]='EProfilePropertyType'
  ;   K[7]='Avatar'
  ;   K[8]='StringUtil'
  ;   K[9]='StartWith'
  ;   K[10]='ProducerInventoryRewardPrefix'
  ;   K[11]='ItemDataModel'
  ;   K[12]='GetSpriteName'
  ;   K[13]='string'
  ;   K[14]='sub'
  ;   K[15]='len'
  ;   K[16]=1
  ;   upvals: _ENV
  ;   locals: rewardType(0-58)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('PropertyDataManager')]
  0002  SELF      R2 = R1[K2('IsPropertyType')] (self)
  0003  MOVE      R3 = R0
  0004  CALL      R1 = call(R1, 1 args, 2 rets)
  0005  TEST      if not R1 then   -> -131065
  0006  JMP       (jump)   -> 12
  0007  GETTABUP  R1 = _ENV[K3('EPropertySpriteBig')]
  0008  GETTABLE  R1 = R1[R0]
  0009  LOADBOOL  R2 = true
  0010  RETURN    return R1..R0
  0011  JMP       (jump)   -> 55
  0012  GETTABUP  R1 = _ENV[K0('GM')]
  0013  GETTABLE  R1 = R1[K4('UserProfileModel')]
  0014  SELF      R2 = R1[K5('IsValidRewardType')] (self)
  0015  GETTABUP  R3 = _ENV[K6('EProfilePropertyType')]
  0016  GETTABLE  R3 = R3[K7('Avatar')]
  0017  MOVE      R4 = R0
  0018  CALL      R1 = call(R1, 1 args, 3 rets)
  0019  TEST      if not R1 then   -> -131051
  0020  JMP       (jump)   -> 25
  0021  MOVE      R1 = R0
  0022  LOADBOOL  R2 = true
  0023  RETURN    return R1..R0
  0024  JMP       (jump)   -> 55
  0025  GETTABUP  R1 = _ENV[K8('StringUtil')]
  0026  GETTABLE  R1 = R1[K9('StartWith')]
  0027  MOVE      R2 = R0
  0028  GETTABUP  R3 = _ENV[K10('ProducerInventoryRewardPrefix')]
  0029  CALL      R1 = call(R1, 1 args, 2 rets)
  0030  TEST      if not R1 then   -> -131040
  0031  JMP       (jump)   -> 48
  0032  GETTABUP  R1 = _ENV[K0('GM')]
  0033  GETTABLE  R1 = R1[K11('ItemDataModel')]
  0034  SELF      R2 = R1[K12('GetSpriteName')] (self)
  0035  GETTABUP  R3 = _ENV[K13('string')]
  0036  GETTABLE  R3 = R3[K14('sub')]
  0037  MOVE      R4 = R0
  0038  GETTABUP  R5 = _ENV[K13('string')]
  0039  GETTABLE  R5 = R5[K15('len')]
  0040  GETTABUP  R6 = _ENV[K10('ProducerInventoryRewardPrefix')]
  0041  CALL      R5 = call(R5, 1 args, 1 rets)
  0042  ADD       R5 = K16(1) add R5
  0043  CALL      R3 = call(R3, -1 args, 2 rets)
  0044  CALL      R1 = call(R1, 1 args, -1 rets)
  0045  LOADBOOL  R2 = false
  0046  RETURN    return R1..R0
  0047  JMP       (jump)   -> 55
  0048  GETTABUP  R1 = _ENV[K0('GM')]
  0049  GETTABLE  R1 = R1[K11('ItemDataModel')]
  0050  SELF      R2 = R1[K12('GetSpriteName')] (self)
  0051  MOVE      R3 = R0
  0052  CALL      R1 = call(R1, 1 args, 2 rets)
  0053  LOADBOOL  R2 = true
  0054  RETURN    return R1..R0
  0055  LOADNIL   R1..R1 = nil
  0056  RETURN    return R1..R0
  0057  RETURN    return R0..R-1
; ---------- proto18 [CryptOneReward] ----------
  ; fn ?  line 654-660 np=1 va=0 ms=4 code=11 consts=4 upvals=1 protos=0
  ;   K[0]='PROPERTY_CRYPT'
  ;   K[1]='Crypt'
  ;   K[2]='CryptCurrency'
  ;   K[3]='PROPERTY_COUNT'
  ;   upvals: _ENV
  ;   locals: reward(0-11)
  0000  TEST      if not R0 then   -> -131069
  0001  JMP       (jump)   -> 3
  0002  RETURN    return R0..R-1
  0003  GETTABUP  R1 = _ENV[K0('PROPERTY_CRYPT')]
  0004  GETTABUP  R2 = _ENV[K1('Crypt')]
  0005  GETTABLE  R2 = R2[K2('CryptCurrency')]
  0006  GETTABUP  R3 = _ENV[K3('PROPERTY_COUNT')]
  0007  GETTABLE  R3 = R0[R3]
  0008  CALL      R2 = call(R2, 1 args, 1 rets)
  0009  SETTABLE  R0[R1] = R2
  0010  RETURN    return R0..R-1
; ---------- proto19 [CryptRewards] ----------
  ; fn ?  line 662-676 np=2 va=0 ms=10 code=33 consts=10 upvals=1 protos=0
  ;   K[0]='ipairs'
  ;   K[1]='PROPERTY_CRYPT'
  ;   K[2]='GameConfig'
  ;   K[3]='IsTestMode'
  ;   K[4]='Log'
  ;   K[5]='Error'
  ;   K[6]='禁止重复加密奖励！'
  ;   K[7]='Crypt'
  ;   K[8]='CryptCurrency'
  ;   K[9]='PROPERTY_COUNT'
  ;   upvals: _ENV
  ;   locals: arrRewards(0-33), override(0-33), (for generator)(6-32), (for state)(6-32), (for control)(6-32), _(7-30), reward(7-30)
  0000  TEST      if not R0 then   -> -131069
  0001  JMP       (jump)   -> 3
  0002  RETURN    return R0..R-1
  0003  GETTABUP  R2 = _ENV[K0('ipairs')]
  0004  MOVE      R3 = R0
  0005  CALL      R2 = call(R2, 3 args, 1 rets)
  0006  JMP       (jump)   -> 30
  0007  GETTABUP  R7 = _ENV[K1('PROPERTY_CRYPT')]
  0008  GETTABLE  R7 = R6[R7]
  0009  TEST      if not R7 then   -> -131061
  0010  JMP       (jump)   -> 23
  0011  TEST      if not R1 then   -> -131058
  0012  JMP       (jump)   -> 23
  0013  GETTABUP  R7 = _ENV[K2('GameConfig')]
  0014  GETTABLE  R7 = R7[K3('IsTestMode')]
  0015  CALL      R7 = call(R7, 1 args, 0 rets)
  0016  TEST      if not R7 then   -> -131054
  0017  JMP       (jump)   -> 30
  0018  GETTABUP  R7 = _ENV[K4('Log')]
  0019  GETTABLE  R7 = R7[K5('Error')]
  0020  LOADK     R8 = K6 '禁止重复加密奖励！'
  0021  CALL      R7 = call(R7, 0 args, 1 rets)
  0022  JMP       (jump)   -> 30
  0023  GETTABUP  R7 = _ENV[K1('PROPERTY_CRYPT')]
  0024  GETTABUP  R8 = _ENV[K7('Crypt')]
  0025  GETTABLE  R8 = R8[K8('CryptCurrency')]
  0026  GETTABUP  R9 = _ENV[K9('PROPERTY_COUNT')]
  0027  GETTABLE  R9 = R6[R9]
  0028  CALL      R8 = call(R8, 1 args, 1 rets)
  0029  SETTABLE  R6[R7] = R8
  0030  TFORCALL  tforcall R2
  0031  TFORLOOP  tforloop R4(sBx=-25)   -> 7
  0032  RETURN    return R0..R-1
; ---------- proto20 [GetMergedRewards] ----------
  ; fn ?  line 679-704 np=1 va=0 ms=15 code=40 consts=6 upvals=1 protos=0
  ;   K[0]=0
  ;   K[1]='ipairs'
  ;   K[2]='PROPERTY_TYPE'
  ;   K[3]=nil
  ;   K[4]=1
  ;   K[5]='PROPERTY_COUNT'
  ;   upvals: _ENV
  ;   locals: arrRewards(0-40), arrMergedRewards(1-40), mapTypeIndex(5-40), rewardType(6-40), index(6-40), count(7-40), (for generator)(10-38), (for state)(10-38), (for control)(10-38), _(11-36), reward(11-36)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  TEST      if not R0 then   -> -131068
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R1..R0
  0004  NEWTABLE  R2 = {} (0 items)
  0005  LOADNIL   R3..R3 = nil
  0006  LOADK     R5 = K0 0
  0007  GETTABUP  R6 = _ENV[K1('ipairs')]
  0008  MOVE      R7 = R0
  0009  CALL      R6 = call(R6, 3 args, 1 rets)
  0010  JMP       (jump)   -> 36
  0011  GETTABUP  R11 = _ENV[K2('PROPERTY_TYPE')]
  0012  GETTABLE  R3 = R10[R11]
  0013  GETTABLE  R4 = R2[R3]
  0014  EQ        if R0 eq K3(nil)   -> -128749
  0015  JMP       (jump)   -> 27
  0016  ADD       R5 = K4(1) add R5
  0017  NEWTABLE  R11 = {} (0 items)
  0018  GETTABUP  R12 = _ENV[K2('PROPERTY_TYPE')]
  0019  SETTABLE  R11[R12] = R3
  0020  GETTABUP  R12 = _ENV[K5('PROPERTY_COUNT')]
  0021  GETTABUP  R13 = _ENV[K5('PROPERTY_COUNT')]
  0022  GETTABLE  R13 = R10[R13]
  0023  SETTABLE  R11[R12] = R13
  0024  SETTABLE  R1[R5] = R11
  0025  SETTABLE  R2[R3] = R5
  0026  JMP       (jump)   -> 36
  0027  GETTABLE  R11 = R1[R4]
  0028  GETTABUP  R12 = _ENV[K5('PROPERTY_COUNT')]
  0029  GETTABLE  R13 = R1[R4]
  0030  GETTABUP  R14 = _ENV[K5('PROPERTY_COUNT')]
  0031  GETTABLE  R13 = R13[R14]
  0032  GETTABUP  R14 = _ENV[K5('PROPERTY_COUNT')]
  0033  GETTABLE  R14 = R10[R14]
  0034  ADD       R13 = R14 add R13
  0035  SETTABLE  R11[R12] = R13
  0036  TFORCALL  tforcall R6
  0037  TFORLOOP  tforloop R8(sBx=-27)   -> 11
  0038  RETURN    return R1..R0
  0039  RETURN    return R0..R-1
; ---------- proto21 [MergeRewards] ----------
  ; fn ?  line 709-732 np=2 va=0 ms=16 code=58 consts=9 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='DeepCopy'
  ;   K[3]='ipairs'
  ;   K[4]='PROPERTY_TYPE'
  ;   K[5]='PROPERTY_COUNT'
  ;   K[6]=1
  ;   K[7]='RewardApi'
  ;   K[8]='CryptRewards'
  ;   upvals: _ENV
  ;   locals: arrSrc(0-58), arrTar(0-58), (for generator)(16-51), (for state)(16-51), (for control)(16-51), i(17-49), v(17-49), bMerge(18-49), (for generator)(21-39), (for state)(21-39), (for control)(21-39), j(22-37), v1(22-37)
  0000  GETTABUP  R2 = _ENV[K0('Table')]
  0001  GETTABLE  R2 = R2[K1('IsEmpty')]
  0002  MOVE      R3 = R0
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  TEST      if not R2 then   -> -131066
  0005  JMP       (jump)   -> 13
  0006  GETTABUP  R2 = _ENV[K0('Table')]
  0007  GETTABLE  R2 = R2[K2('DeepCopy')]
  0008  MOVE      R3 = R0
  0009  LOADBOOL  R4 = true
  0010  CALL      R2 = call(R2, 1 args, 2 rets)
  0011  MOVE      R0 = R0
  0012  RETURN    return R0..R-1
  0013  GETTABUP  R2 = _ENV[K3('ipairs')]
  0014  MOVE      R3 = R0
  0015  CALL      R2 = call(R2, 3 args, 1 rets)
  0016  JMP       (jump)   -> 49
  0017  LOADBOOL  R7 = false
  0018  GETTABUP  R8 = _ENV[K3('ipairs')]
  0019  MOVE      R9 = R0
  0020  CALL      R8 = call(R8, 3 args, 1 rets)
  0021  JMP       (jump)   -> 37
  0022  GETTABUP  R13 = _ENV[K4('PROPERTY_TYPE')]
  0023  GETTABLE  R13 = R12[R13]
  0024  GETTABUP  R14 = _ENV[K4('PROPERTY_TYPE')]
  0025  GETTABLE  R14 = R6[R14]
  0026  EQ        if R0 eq R14   -> -124374
  0027  JMP       (jump)   -> 37
  0028  GETTABUP  R13 = _ENV[K5('PROPERTY_COUNT')]
  0029  GETTABUP  R14 = _ENV[K5('PROPERTY_COUNT')]
  0030  GETTABLE  R14 = R12[R14]
  0031  GETTABUP  R15 = _ENV[K5('PROPERTY_COUNT')]
  0032  GETTABLE  R15 = R6[R15]
  0033  ADD       R14 = R15 add R14
  0034  SETTABLE  R12[R13] = R14
  0035  LOADBOOL  R7 = true
  0036  JMP       (jump)   -> 39
  0037  TFORCALL  tforcall R8
  0038  TFORLOOP  tforloop R10(sBx=-17)   -> 22
  0039  TEST      if not R7 then   -> -131030
  0040  JMP       (jump)   -> 49
  0041  LEN       R8 = len R0
  0042  ADD       R8 = K6(1) add R8
  0043  GETTABUP  R9 = _ENV[K0('Table')]
  0044  GETTABLE  R9 = R9[K2('DeepCopy')]
  0045  MOVE      R10 = R0
  0046  LOADBOOL  R11 = true
  0047  CALL      R9 = call(R9, 1 args, 2 rets)
  0048  SETTABLE  R0[R8] = R9
  0049  TFORCALL  tforcall R2
  0050  TFORLOOP  tforloop R4(sBx=-34)   -> 17
  0051  GETTABUP  R2 = _ENV[K7('RewardApi')]
  0052  GETTABLE  R2 = R2[K8('CryptRewards')]
  0053  MOVE      R3 = R0
  0054  LOADBOOL  R4 = true
  0055  CALL      R2 = call(R2, 0 args, 2 rets)
  0056  RETURN    return R0..R-1
  0057  RETURN    return R0..R-1
