# Model_Promotion_CrossPromotionModel_186.luac
; fn @CrossPromotionModel.lua  line 0-0 np=0 va=1 ms=5 code=158 consts=72 upvals=1 protos=42
;   K[0]='CrossPromotionModel'
;   K[1]='__index'
;   K[2]='ECPMissionType'
;   K[3]='Level'
;   K[4]='level'
;   K[5]='Day'
;   K[6]='day'
;   K[7]='ECPTaskStatus'
;   K[8]='Done'
;   K[9]=1
;   K[10]='Doing'
;   K[11]=2
;   K[12]='Awarded'
;   K[13]=3
;   K[14]='ECPEventType'
;   K[15]='StateChanged'
;   K[16]='Close'
;   K[17]='close'
;   K[18]='Open'
;   K[19]='open'
;   K[20]='NotOpen'
;   K[21]='notopen'
;   K[22]='Opened'
;   K[23]='Log'
;   K[24]='log'
;   K[25]='NotLog'
;   K[26]='notlog'
;   K[27]='Init'
;   K[28]='_UpdateActivityState'
;   K[29]='Reset'
;   K[30]='LoginMsg'
;   K[31]='CallStateChanged'
;   K[32]='RefreshActivityButtonInNeed'
;   K[33]='UpdateButtonPreStatus'
;   K[34]='CheckShow'
;   K[35]='IsActivityOpen'
;   K[36]='GetTasks'
;   K[37]='GetEndTime'
;   K[38]='Go2NewGame'
;   K[39]='ReplaceURLParam'
;   K[40]='SendMissionStatusData'
;   K[41]='OpenCrossPromotionWindow'
;   K[42]='GetArrRewardKeys'
;   K[43]='GetTaskByRewardKey'
;   K[44]='ParseSerReward'
;   K[45]='SetRewarded'
;   K[46]='UpdateTaskStatus'
;   K[47]='IsStrongTipShow'
;   K[48]='SetCPWinOpended'
;   K[49]='SetCPPermission'
;   K[50]='IsCPPermission'
;   K[51]='LoadImageFromBundleOrUrl'
;   K[52]='_ParseCPData'
;   K[53]='CrossPromotionModel'
;   K[54]='_UpdateTaskStatusAfterLogin'
;   K[55]='_GetActivityKey'
;   K[56]='_GetOpenStatus'
;   K[57]='_GetServerOpenStatus'
;   K[58]='_LogBI'
;   K[59]='_SetServeArrRewards'
;   K[60]='ParseUrlOrPicName'
;   K[61]='PromotionMissionData'
;   K[62]='Create'
;   K[63]='PromotionMissionData'
;   K[64]='_Init'
;   K[65]='HasReward'
;   K[66]='GetTaskRewardKey'
;   K[67]='GetProgress'
;   K[68]='ParseSerReward'
;   K[69]='UpdateTaskStatus'
;   K[70]='UpdateTaskStatusAfterLogin'
;   K[71]='GetRewards'
;   upvals: _ENV
;   locals: ECPActivityOpenStatus(20-158), ECrossPromotionWinOpenStatus(23-158), ELogBIStatus(26-158)
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABUP  _ENV[K0('CrossPromotionModel')] = R0
0002  GETTABUP  R0 = _ENV[K0('CrossPromotionModel')]
0003  GETTABUP  R1 = _ENV[K0('CrossPromotionModel')]
0004  SETTABLE  R0[K1('__index')] = R1
0005  NEWTABLE  R0 = {} (0 items)
0006  SETTABLE  R0[K3('Level')] = K4('level')
0007  SETTABLE  R0[K5('Day')] = K6('day')
0008  SETTABUP  _ENV[K2('ECPMissionType')] = R0
0009  NEWTABLE  R0 = {} (0 items)
0010  SETTABLE  R0[K8('Done')] = K9(1)
0011  SETTABLE  R0[K10('Doing')] = K11(2)
0012  SETTABLE  R0[K12('Awarded')] = K13(3)
0013  SETTABUP  _ENV[K7('ECPTaskStatus')] = R0
0014  NEWTABLE  R0 = {} (0 items)
0015  SETTABLE  R0[K15('StateChanged')] = K15('StateChanged')
0016  SETTABUP  _ENV[K14('ECPEventType')] = R0
0017  NEWTABLE  R0 = {} (0 items)
0018  SETTABLE  R0[K16('Close')] = K17('close')
0019  SETTABLE  R0[K18('Open')] = K19('open')
0020  NEWTABLE  R1 = {} (0 items)
0021  SETTABLE  R1[K20('NotOpen')] = K21('notopen')
0022  SETTABLE  R1[K22('Opened')] = K19('open')
0023  NEWTABLE  R2 = {} (0 items)
0024  SETTABLE  R2[K23('Log')] = K24('log')
0025  SETTABLE  R2[K25('NotLog')] = K26('notlog')
0026  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0027  CLOSURE   R4 = closure proto0
0028  SETTABLE  R3[K27('Init')] = R4
0029  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0030  CLOSURE   R4 = closure proto1
0031  SETTABLE  R3[K28('_UpdateActivityState')] = R4
0032  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0033  CLOSURE   R4 = closure proto2
0034  SETTABLE  R3[K29('Reset')] = R4
0035  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0036  CLOSURE   R4 = closure proto3
0037  SETTABLE  R3[K30('LoginMsg')] = R4
0038  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0039  CLOSURE   R4 = closure proto4
0040  SETTABLE  R3[K31('CallStateChanged')] = R4
0041  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0042  CLOSURE   R4 = closure proto5
0043  SETTABLE  R3[K32('RefreshActivityButtonInNeed')] = R4
0044  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0045  CLOSURE   R4 = closure proto6
0046  SETTABLE  R3[K33('UpdateButtonPreStatus')] = R4
0047  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0048  CLOSURE   R4 = closure proto7
0049  SETTABLE  R3[K34('CheckShow')] = R4
0050  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0051  CLOSURE   R4 = closure proto8
0052  SETTABLE  R3[K35('IsActivityOpen')] = R4
0053  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0054  CLOSURE   R4 = closure proto9
0055  SETTABLE  R3[K36('GetTasks')] = R4
0056  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0057  CLOSURE   R4 = closure proto10
0058  SETTABLE  R3[K37('GetEndTime')] = R4
0059  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0060  CLOSURE   R4 = closure proto11
0061  SETTABLE  R3[K38('Go2NewGame')] = R4
0062  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0063  CLOSURE   R4 = closure proto12
0064  SETTABLE  R3[K39('ReplaceURLParam')] = R4
0065  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0066  CLOSURE   R4 = closure proto13
0067  SETTABLE  R3[K40('SendMissionStatusData')] = R4
0068  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0069  CLOSURE   R4 = closure proto14
0070  SETTABLE  R3[K41('OpenCrossPromotionWindow')] = R4
0071  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0072  CLOSURE   R4 = closure proto15
0073  SETTABLE  R3[K42('GetArrRewardKeys')] = R4
0074  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0075  CLOSURE   R4 = closure proto16
0076  SETTABLE  R3[K43('GetTaskByRewardKey')] = R4
0077  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0078  CLOSURE   R4 = closure proto17
0079  SETTABLE  R3[K44('ParseSerReward')] = R4
0080  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0081  CLOSURE   R4 = closure proto18
0082  SETTABLE  R3[K45('SetRewarded')] = R4
0083  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0084  CLOSURE   R4 = closure proto19
0085  SETTABLE  R3[K46('UpdateTaskStatus')] = R4
0086  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0087  CLOSURE   R4 = closure proto20
0088  SETTABLE  R3[K47('IsStrongTipShow')] = R4
0089  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0090  CLOSURE   R4 = closure proto21
0091  SETTABLE  R3[K48('SetCPWinOpended')] = R4
0092  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0093  CLOSURE   R4 = closure proto22
0094  SETTABLE  R3[K49('SetCPPermission')] = R4
0095  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0096  CLOSURE   R4 = closure proto23
0097  SETTABLE  R3[K50('IsCPPermission')] = R4
0098  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0099  CLOSURE   R4 = closure proto24
0100  SETTABLE  R3[K51('LoadImageFromBundleOrUrl')] = R4
0101  GETTABUP  R3 = _ENV[K0('CrossPromotionModel')]
0102  CLOSURE   R4 = closure proto25
0103  SETTABLE  R3[K52('_ParseCPData')] = R4
0104  GETTABUP  R3 = _ENV[K53('CrossPromotionModel')]
0105  CLOSURE   R4 = closure proto26
0106  SETTABLE  R3[K54('_UpdateTaskStatusAfterLogin')] = R4
0107  GETTABUP  R3 = _ENV[K53('CrossPromotionModel')]
0108  CLOSURE   R4 = closure proto27
0109  SETTABLE  R3[K55('_GetActivityKey')] = R4
0110  GETTABUP  R3 = _ENV[K53('CrossPromotionModel')]
0111  CLOSURE   R4 = closure proto28
0112  SETTABLE  R3[K56('_GetOpenStatus')] = R4
0113  GETTABUP  R3 = _ENV[K53('CrossPromotionModel')]
0114  CLOSURE   R4 = closure proto29
0115  SETTABLE  R3[K57('_GetServerOpenStatus')] = R4
0116  GETTABUP  R3 = _ENV[K53('CrossPromotionModel')]
0117  CLOSURE   R4 = closure proto30
0118  SETTABLE  R3[K58('_LogBI')] = R4
0119  GETTABUP  R3 = _ENV[K53('CrossPromotionModel')]
0120  CLOSURE   R4 = closure proto31
0121  SETTABLE  R3[K59('_SetServeArrRewards')] = R4
0122  GETTABUP  R3 = _ENV[K53('CrossPromotionModel')]
0123  CLOSURE   R4 = closure proto32
0124  SETTABLE  R3[K60('ParseUrlOrPicName')] = R4
0125  NEWTABLE  R3 = {} (0 items)
0126  SETTABUP  _ENV[K61('PromotionMissionData')] = R3
0127  GETTABUP  R3 = _ENV[K61('PromotionMissionData')]
0128  GETTABUP  R4 = _ENV[K61('PromotionMissionData')]
0129  SETTABLE  R3[K1('__index')] = R4
0130  GETTABUP  R3 = _ENV[K61('PromotionMissionData')]
0131  CLOSURE   R4 = closure proto33
0132  SETTABLE  R3[K62('Create')] = R4
0133  GETTABUP  R3 = _ENV[K63('PromotionMissionData')]
0134  CLOSURE   R4 = closure proto34
0135  SETTABLE  R3[K64('_Init')] = R4
0136  GETTABUP  R3 = _ENV[K63('PromotionMissionData')]
0137  CLOSURE   R4 = closure proto35
0138  SETTABLE  R3[K65('HasReward')] = R4
0139  GETTABUP  R3 = _ENV[K63('PromotionMissionData')]
0140  CLOSURE   R4 = closure proto36
0141  SETTABLE  R3[K66('GetTaskRewardKey')] = R4
0142  GETTABUP  R3 = _ENV[K63('PromotionMissionData')]
0143  CLOSURE   R4 = closure proto37
0144  SETTABLE  R3[K67('GetProgress')] = R4
0145  GETTABUP  R3 = _ENV[K63('PromotionMissionData')]
0146  CLOSURE   R4 = closure proto38
0147  SETTABLE  R3[K68('ParseSerReward')] = R4
0148  GETTABUP  R3 = _ENV[K63('PromotionMissionData')]
0149  CLOSURE   R4 = closure proto39
0150  SETTABLE  R3[K69('UpdateTaskStatus')] = R4
0151  GETTABUP  R3 = _ENV[K63('PromotionMissionData')]
0152  CLOSURE   R4 = closure proto40
0153  SETTABLE  R3[K70('UpdateTaskStatusAfterLogin')] = R4
0154  GETTABUP  R3 = _ENV[K63('PromotionMissionData')]
0155  CLOSURE   R4 = closure proto41
0156  SETTABLE  R3[K71('GetRewards')] = R4
0157  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 36-40 np=1 va=0 ms=3 code=9 consts=6 upvals=1 protos=0
  ;   K[0]='event'
  ;   K[1]='PairEvent'
  ;   K[2]='Create'
  ;   K[3]='m_bActivityOpened'
  ;   K[4]=false
  ;   K[5]='Reset'
  ;   upvals: _ENV
  ;   locals: self(0-9)
  0000  GETTABUP  R1 = _ENV[K1('PairEvent')]
  0001  GETTABLE  R1 = R1[K2('Create')]
  0002  MOVE      R2 = R0
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  SETTABLE  R0[K0('event')] = R1
  0005  SETTABLE  R0[K3('m_bActivityOpened')] = K4(false)
  0006  SELF      R2 = R0[K5('Reset')] (self)
  0007  CALL      R1 = call(R1, 0 args, 1 rets)
  0008  RETURN    return R0..R-1
; ---------- proto1 [_UpdateActivityState] ----------
  ; fn ?  line 42-85 np=1 va=0 ms=9 code=84 consts=41 upvals=3 protos=1
  ;   K[0]='m_bActivityOpened'
  ;   K[1]='clientCheck'
  ;   K[2]='PlayerPrefs'
  ;   K[3]='SetString'
  ;   K[4]='EPlayerPrefKey'
  ;   K[5]='CrossPromotionWindowOpened'
  ;   K[6]='NotOpen'
  ;   K[7]='IsCPPermission'
  ;   K[8]='_GetServerOpenStatus'
  ;   K[9]='StringUtil'
  ;   K[10]='IsNilOrEmpty'
  ;   K[11]='_GetOpenStatus'
  ;   K[12]='Open'
  ;   K[13]='GM'
  ;   K[14]='OperManager'
  ;   K[15]='GetUrlByType'
  ;   K[16]='EOperUrlType'
  ;   K[17]='CPClientCheck'
  ;   K[18]='CSNetLibManager'
  ;   K[19]='CreateGeneralHttpRequest'
  ;   K[20]='POST'
  ;   K[21]=8000
  ;   K[22]=1
  ;   K[23]='SetHeader'
  ;   K[24]='NetworkConfig'
  ;   K[25]='ContentTypeKey'
  ;   K[26]='application/octet-stream'
  ;   K[27]='SetCallback'
  ;   K[28]='userId'
  ;   K[29]='GM'
  ;   K[30]='UserModel'
  ;   K[31]='GetUserId'
  ;   K[32]='eventId'
  ;   K[33]='gameToken'
  ;   K[34]='GameConfig'
  ;   K[35]='GetGameToken'
  ;   K[36]='hasTargetGame'
  ;   K[37]='AppendBody'
  ;   K[38]='json'
  ;   K[39]='encode'
  ;   K[40]='Send'
  ;   upvals: _ENV, ECrossPromotionWinOpenStatus, ECPActivityOpenStatus
  ;   locals: self(0-84), bOpen(13-84), serStatus(21-40), cpOpenStatus(29-34), url(46-84), reqCtx(53-84), reqBody(75-84)
  0000  GETTABLE  R1 = R0[K1('clientCheck')]
  0001  SETTABLE  R0[K0('m_bActivityOpened')] = R1
  0002  GETTABLE  R1 = R0[K1('clientCheck')]
  0003  TEST      if not R1 then   -> -131067
  0004  JMP       (jump)   -> 6
  0005  RETURN    return R0..R-1
  0006  GETTABUP  R1 = _ENV[K2('PlayerPrefs')]
  0007  GETTABLE  R1 = R1[K3('SetString')]
  0008  GETTABUP  R2 = _ENV[K4('EPlayerPrefKey')]
  0009  GETTABLE  R2 = R2[K5('CrossPromotionWindowOpened')]
  0010  GETTABUP  R3 = ECrossPromotionWinOpenStatus[K6('NotOpen')]
  0011  CALL      R1 = call(R1, 0 args, 2 rets)
  0012  LOADBOOL  R1 = false
  0013  SELF      R3 = R0[K7('IsCPPermission')] (self)
  0014  CALL      R2 = call(R2, 1 args, 1 rets)
  0015  TEST      if not R2 then   -> -131054
  0016  JMP       (jump)   -> 19
  0017  LOADBOOL  R1 = true
  0018  JMP       (jump)   -> 40
  0019  SELF      R3 = R0[K8('_GetServerOpenStatus')] (self)
  0020  CALL      R2 = call(R2, 1 args, 1 rets)
  0021  GETTABUP  R3 = _ENV[K9('StringUtil')]
  0022  GETTABLE  R3 = R3[K10('IsNilOrEmpty')]
  0023  MOVE      R4 = R0
  0024  CALL      R3 = call(R3, 1 args, 1 rets)
  0025  TEST      if not R3 then   -> -131045
  0026  JMP       (jump)   -> 35
  0027  SELF      R4 = R0[K11('_GetOpenStatus')] (self)
  0028  CALL      R3 = call(R3, 1 args, 1 rets)
  0029  GETTABUP  R4 = ECPActivityOpenStatus[K12('Open')]
  0030  EQ        if R1 eq R4   -> -129500
  0031  JMP       (jump)   -> 33
  0032  LOADBOOL  R1 = false
  0033  LOADBOOL  R1 = true
  0034  JMP       (jump)   -> 40
  0035  GETTABUP  R3 = ECPActivityOpenStatus[K12('Open')]
  0036  EQ        if R1 eq R3   -> -130007
  0037  JMP       (jump)   -> 39
  0038  LOADBOOL  R1 = false
  0039  LOADBOOL  R1 = true
  0040  GETTABUP  R2 = _ENV[K13('GM')]
  0041  GETTABLE  R2 = R2[K14('OperManager')]
  0042  SELF      R3 = R2[K15('GetUrlByType')] (self)
  0043  GETTABUP  R4 = _ENV[K16('EOperUrlType')]
  0044  GETTABLE  R4 = R4[K17('CPClientCheck')]
  0045  CALL      R2 = call(R2, 1 args, 2 rets)
  0046  GETTABUP  R3 = _ENV[K18('CSNetLibManager')]
  0047  SELF      R4 = R3[K19('CreateGeneralHttpRequest')] (self)
  0048  MOVE      R5 = R0
  0049  LOADK     R6 = K20 'POST'
  0050  LOADK     R7 = K21 8000
  0051  LOADK     R8 = K22 1
  0052  CALL      R3 = call(R3, 1 args, 5 rets)
  0053  SELF      R5 = R3[K23('SetHeader')] (self)
  0054  GETTABUP  R6 = _ENV[K24('NetworkConfig')]
  0055  GETTABLE  R6 = R6[K25('ContentTypeKey')]
  0056  LOADK     R7 = K26 'application/octet-stream'
  0057  CALL      R4 = call(R4, 0 args, 3 rets)
  0058  SELF      R5 = R3[K27('SetCallback')] (self)
  0059  CLOSURE   R6 = closure proto0
  0060  CALL      R4 = call(R4, 0 args, 2 rets)
  0061  NEWTABLE  R4 = {} (0 items)
  0062  GETTABUP  R5 = _ENV[K29('GM')]
  0063  GETTABLE  R5 = R5[K30('UserModel')]
  0064  SELF      R6 = R5[K31('GetUserId')] (self)
  0065  CALL      R5 = call(R5, 1 args, 1 rets)
  0066  SETTABLE  R4[K28('userId')] = R5
  0067  GETTABLE  R5 = R0[K32('eventId')]
  0068  SETTABLE  R4[K32('eventId')] = R5
  0069  GETTABUP  R5 = _ENV[K34('GameConfig')]
  0070  GETTABLE  R5 = R5[K35('GetGameToken')]
  0071  CALL      R5 = call(R5, 1 args, 0 rets)
  0072  SETTABLE  R4[K33('gameToken')] = R5
  0073  NOT       R5 = not R0
  0074  SETTABLE  R4[K36('hasTargetGame')] = R5
  0075  SELF      R6 = R3[K37('AppendBody')] (self)
  0076  GETTABUP  R7 = _ENV[K38('json')]
  0077  GETTABLE  R7 = R7[K39('encode')]
  0078  MOVE      R8 = R0
  0079  CALL      R7 = call(R7, -1 args, 1 rets)
  0080  CALL      R5 = call(R5, 0 args, -1 rets)
  0081  SELF      R6 = R3[K40('Send')] (self)
  0082  CALL      R5 = call(R5, 0 args, 1 rets)
  0083  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 70-75 np=0 va=0 ms=2 code=19 consts=7 upvals=4 protos=0
    ;   K[0]='GM'
    ;   K[1]='Rcode'
    ;   K[2]='ResultCode'
    ;   K[3]='Succeeded'
    ;   K[4]='m_bActivityOpened'
    ;   K[5]=true
    ;   K[6]='_UpdateTaskStatusAfterLogin'
    ;   upvals: self, _ENV, reqCtx, bOpen
    0000  GETUPVAL  R0 = self
    0001  TEST      if not R0 then   -> -131069
    0002  JMP       (jump)   -> 18
    0003  GETTABUP  R0 = _ENV[K0('GM')]
    0004  TEST      if not R0 then   -> -131066
    0005  JMP       (jump)   -> 18
    0006  GETTABUP  R0 = reqCtx[K1('Rcode')]
    0007  GETTABUP  R1 = _ENV[K2('ResultCode')]
    0008  GETTABLE  R1 = R1[K3('Succeeded')]
    0009  EQ        if R0 eq R1   -> -131060
    0010  JMP       (jump)   -> 18
    0011  GETUPVAL  R0 = self
    0012  TEST      if not R0 then   -> -131058
    0013  JMP       (jump)   -> 18
    0014  SETTABUP  self[K4('m_bActivityOpened')] = K5(true)
    0015  GETUPVAL  R0 = self
    0016  SELF      R1 = R0[K6('_UpdateTaskStatusAfterLogin')] (self)
    0017  CALL      R0 = call(R0, 0 args, 1 rets)
    0018  RETURN    return R0..R-1
; ---------- proto2 [Reset] ----------
  ; fn ?  line 87-90 np=1 va=0 ms=2 code=3 consts=3 upvals=0 protos=0
  ;   K[0]='m_bPreActivityOpened'
  ;   K[1]=false
  ;   K[2]='m_bPreStrongTip'
  ;   locals: self(0-3)
  0000  SETTABLE  R0[K0('m_bPreActivityOpened')] = K1(false)
  0001  SETTABLE  R0[K2('m_bPreStrongTip')] = K1(false)
  0002  RETURN    return R0..R-1
; ---------- proto3 [LoginMsg] ----------
  ; fn ?  line 92-95 np=2 va=0 ms=5 code=6 consts=2 upvals=0 protos=0
  ;   K[0]='_ParseCPData'
  ;   K[1]='_UpdateTaskStatusAfterLogin'
  ;   locals: self(0-6), tbData(0-6)
  0000  SELF      R3 = R0[K0('_ParseCPData')] (self)
  0001  MOVE      R4 = R0
  0002  CALL      R2 = call(R2, 0 args, 2 rets)
  0003  SELF      R3 = R0[K1('_UpdateTaskStatusAfterLogin')] (self)
  0004  CALL      R2 = call(R2, 0 args, 1 rets)
  0005  RETURN    return R0..R-1
; ---------- proto4 [CallStateChanged] ----------
  ; fn ?  line 97-99 np=1 va=0 ms=4 code=6 consts=4 upvals=1 protos=0
  ;   K[0]='event'
  ;   K[1]='Call'
  ;   K[2]='ECPEventType'
  ;   K[3]='StateChanged'
  ;   upvals: _ENV
  ;   locals: self(0-6)
  0000  GETTABLE  R1 = R0[K0('event')]
  0001  SELF      R2 = R1[K1('Call')] (self)
  0002  GETTABUP  R3 = _ENV[K2('ECPEventType')]
  0003  GETTABLE  R3 = R3[K3('StateChanged')]
  0004  CALL      R1 = call(R1, 0 args, 2 rets)
  0005  RETURN    return R0..R-1
; ---------- proto5 [RefreshActivityButtonInNeed] ----------
  ; fn ?  line 101-109 np=1 va=0 ms=4 code=14 consts=6 upvals=0 protos=0
  ;   K[0]='IsStrongTipShow'
  ;   K[1]='m_bPreActivityOpened'
  ;   K[2]='m_bActivityOpened'
  ;   K[3]='m_bPreStrongTip'
  ;   K[4]='UpdateButtonPreStatus'
  ;   K[5]='CallStateChanged'
  ;   locals: self(0-14), bStrongTip(2-14)
  0000  SELF      R2 = R0[K0('IsStrongTipShow')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  GETTABLE  R2 = R0[K1('m_bPreActivityOpened')]
  0003  GETTABLE  R3 = R0[K2('m_bActivityOpened')]
  0004  EQ        if R0 eq R3   -> -130039
  0005  JMP       (jump)   -> 9
  0006  GETTABLE  R2 = R0[K3('m_bPreStrongTip')]
  0007  EQ        if R1 eq R1   -> -130038
  0008  JMP       (jump)   -> 13
  0009  SELF      R3 = R0[K4('UpdateButtonPreStatus')] (self)
  0010  CALL      R2 = call(R2, 0 args, 1 rets)
  0011  SELF      R3 = R0[K5('CallStateChanged')] (self)
  0012  CALL      R2 = call(R2, 0 args, 1 rets)
  0013  RETURN    return R0..R-1
; ---------- proto6 [UpdateButtonPreStatus] ----------
  ; fn ?  line 111-114 np=1 va=0 ms=3 code=6 consts=4 upvals=0 protos=0
  ;   K[0]='m_bPreActivityOpened'
  ;   K[1]='m_bActivityOpened'
  ;   K[2]='m_bPreStrongTip'
  ;   K[3]='IsStrongTipShow'
  ;   locals: self(0-6)
  0000  GETTABLE  R1 = R0[K1('m_bActivityOpened')]
  0001  SETTABLE  R0[K0('m_bPreActivityOpened')] = R1
  0002  SELF      R2 = R0[K3('IsStrongTipShow')] (self)
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  SETTABLE  R0[K2('m_bPreStrongTip')] = R1
  0005  RETURN    return R0..R-1
; ---------- proto7 [CheckShow] ----------
  ; fn ?  line 117-119 np=1 va=0 ms=3 code=4 consts=1 upvals=0 protos=0
  ;   K[0]='IsActivityOpen'
  ;   locals: self(0-4)
  0000  SELF      R2 = R0[K0('IsActivityOpen')] (self)
  0001  TAILCALL  tailcall(R1, 0)
  0002  RETURN    return R1..R0
  0003  RETURN    return R0..R-1
; ---------- proto8 [IsActivityOpen] ----------
  ; fn ?  line 121-123 np=1 va=0 ms=3 code=14 consts=5 upvals=1 protos=0
  ;   K[0]='m_bActivityOpened'
  ;   K[1]='GM'
  ;   K[2]='GameModel'
  ;   K[3]='GetServerTime'
  ;   K[4]='endTime'
  ;   upvals: _ENV
  ;   locals: self(0-14)
  0000  GETTABLE  R1 = R0[K0('m_bActivityOpened')]
  0001  TEST      if not R1 then   -> -131069
  0002  JMP       (jump)   -> 12
  0003  GETTABUP  R1 = _ENV[K1('GM')]
  0004  GETTABLE  R1 = R1[K2('GameModel')]
  0005  SELF      R2 = R1[K3('GetServerTime')] (self)
  0006  CALL      R1 = call(R1, 1 args, 1 rets)
  0007  GETTABLE  R2 = R0[K4('endTime')]
  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
; ---------- proto9 [GetTasks] ----------
  ; fn ?  line 125-138 np=1 va=0 ms=4 code=13 consts=5 upvals=1 protos=1
  ;   K[0]='m_taskSortFunc'
  ;   K[1]=nil
  ;   K[2]='table'
  ;   K[3]='sort'
  ;   K[4]='arrMission'
  ;   upvals: _ENV
  ;   locals: self(0-13)
  0000  GETTABLE  R1 = R0[K0('m_taskSortFunc')]
  0001  EQ        if R0 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 5
  0003  CLOSURE   R1 = closure proto0
  0004  SETTABLE  R0[K0('m_taskSortFunc')] = R1
  0005  GETTABUP  R1 = _ENV[K2('table')]
  0006  GETTABLE  R1 = R1[K3('sort')]
  0007  GETTABLE  R2 = R0[K4('arrMission')]
  0008  GETTABLE  R3 = R0[K0('m_taskSortFunc')]
  0009  CALL      R1 = call(R1, 0 args, 2 rets)
  0010  GETTABLE  R1 = R0[K4('arrMission')]
  0011  RETURN    return R1..R0
  0012  RETURN    return R0..R-1
  ; ---------- proto0 [m_taskSortFunc] ----------
    ; fn ?  line 127-133 np=2 va=0 ms=4 code=20 consts=2 upvals=0 protos=0
    ;   K[0]='eProgressStatus'
    ;   K[1]='order'
    ;   locals: t1(0-20), t2(0-20)
    0000  GETTABLE  R2 = R0[K0('eProgressStatus')]
    0001  GETTABLE  R3 = R1[K0('eProgressStatus')]
    0002  EQ        if R1 eq R3   -> -130041
    0003  JMP       (jump)   -> 12
    0004  GETTABLE  R2 = R0[K0('eProgressStatus')]
    0005  GETTABLE  R3 = R1[K0('eProgressStatus')]
    0006  LT        if R1 lt R3   -> -130037
    0007  JMP       (jump)   -> 9
    0008  LOADBOOL  R2 = false
    0009  LOADBOOL  R2 = true
    0010  RETURN    return R2..R1
    0011  JMP       (jump)   -> 19
    0012  GETTABLE  R2 = R0[K1('order')]
    0013  GETTABLE  R3 = R1[K1('order')]
    0014  LT        if R1 lt R3   -> -130029
    0015  JMP       (jump)   -> 17
    0016  LOADBOOL  R2 = false
    0017  LOADBOOL  R2 = true
    0018  RETURN    return R2..R1
    0019  RETURN    return R0..R-1
; ---------- proto10 [GetEndTime] ----------
  ; fn ?  line 140-142 np=1 va=0 ms=2 code=6 consts=2 upvals=0 protos=0
  ;   K[0]='endTime'
  ;   K[1]=0
  ;   locals: self(0-6)
  0000  GETTABLE  R1 = R0[K0('endTime')]
  0001  TEST      if not R1 then   -> -131068
  0002  JMP       (jump)   -> 4
  0003  LOADK     R1 = K1 0
  0004  RETURN    return R1..R0
  0005  RETURN    return R0..R-1
; ---------- proto11 [Go2NewGame] ----------
  ; fn ?  line 144-163 np=1 va=0 ms=9 code=75 consts=33 upvals=1 protos=0
  ;   K[0]='?campaign='
  ;   K[1]='GameConfig'
  ;   K[2]='GetGameToken'
  ;   K[3]='&adgroup='
  ;   K[4]='eventId'
  ;   K[5]='&creative='
  ;   K[6]='GM'
  ;   K[7]='UserModel'
  ;   K[8]='GetUserId'
  ;   K[9]='DeviceInfo'
  ;   K[10]='IsSystemIOS'
  ;   K[11]='&idfa='
  ;   K[12]='GetAdvertisingIdentifier'
  ;   K[13]='&gps_adid='
  ;   K[14]='PlatformInterface'
  ;   K[15]='IsAppInstalled'
  ;   K[16]='judgeInstallKey'
  ;   K[17]='scheme'
  ;   K[18]='://'
  ;   K[19]='EOperActionPath'
  ;   K[20]='CrossPromotion'
  ;   K[21]='BIManager'
  ;   K[22]='LogAction'
  ;   K[23]='EBIType'
  ;   K[24]='CrossPromotionPlayAction'
  ;   K[25]='PullUp'
  ;   K[26]='&targetGameToken='
  ;   K[27]='targetGameToken'
  ;   K[28]='ReplaceURLParam'
  ;   K[29]='link'
  ;   K[30]='Down'
  ;   K[31]='CSPlatform'
  ;   K[32]='OpenURL'
  ;   upvals: _ENV
  ;   locals: self(0-75), param(12-75), urlPath(31-75)
  0000  LOADK     R1 = K0 '?campaign='
  0001  GETTABUP  R2 = _ENV[K1('GameConfig')]
  0002  GETTABLE  R2 = R2[K2('GetGameToken')]
  0003  CALL      R2 = call(R2, 1 args, 0 rets)
  0004  LOADK     R3 = K3 '&adgroup='
  0005  GETTABLE  R4 = R0[K4('eventId')]
  0006  LOADK     R5 = K5 '&creative='
  0007  GETTABUP  R6 = _ENV[K6('GM')]
  0008  GETTABLE  R6 = R6[K7('UserModel')]
  0009  SELF      R7 = R6[K8('GetUserId')] (self)
  0010  CALL      R6 = call(R6, 1 args, 1 rets)
  0011  CONCAT    R1 = concat(R1..R1)
  0012  GETTABUP  R2 = _ENV[K9('DeviceInfo')]
  0013  GETTABLE  R2 = R2[K10('IsSystemIOS')]
  0014  CALL      R2 = call(R2, 1 args, 0 rets)
  0015  TEST      if not R2 then   -> -131055
  0016  JMP       (jump)   -> 24
  0017  MOVE      R2 = R0
  0018  LOADK     R3 = K11 '&idfa='
  0019  GETTABUP  R4 = _ENV[K9('DeviceInfo')]
  0020  GETTABLE  R4 = R4[K12('GetAdvertisingIdentifier')]
  0021  CALL      R4 = call(R4, 1 args, 0 rets)
  0022  CONCAT    R1 = concat(R1..R2)
  0023  JMP       (jump)   -> 30
  0024  MOVE      R2 = R0
  0025  LOADK     R3 = K13 '&gps_adid='
  0026  GETTABUP  R4 = _ENV[K9('DeviceInfo')]
  0027  GETTABLE  R4 = R4[K12('GetAdvertisingIdentifier')]
  0028  CALL      R4 = call(R4, 1 args, 0 rets)
  0029  CONCAT    R1 = concat(R1..R2)
  0030  LOADNIL   R2..R2 = nil
  0031  GETTABUP  R3 = _ENV[K14('PlatformInterface')]
  0032  GETTABLE  R3 = R3[K15('IsAppInstalled')]
  0033  GETTABLE  R4 = R0[K16('judgeInstallKey')]
  0034  CALL      R3 = call(R3, 1 args, 1 rets)
  0035  TEST      if not R3 then   -> -131035
  0036  JMP       (jump)   -> 55
  0037  GETTABLE  R3 = R0[K17('scheme')]
  0038  LOADK     R4 = K18 '://'
  0039  GETTABUP  R5 = _ENV[K19('EOperActionPath')]
  0040  GETTABLE  R5 = R5[K20('CrossPromotion')]
  0041  MOVE      R6 = R0
  0042  CONCAT    R2 = concat(R2..R3)
  0043  GETTABUP  R3 = _ENV[K6('GM')]
  0044  GETTABLE  R3 = R3[K21('BIManager')]
  0045  SELF      R4 = R3[K22('LogAction')] (self)
  0046  GETTABUP  R5 = _ENV[K23('EBIType')]
  0047  GETTABLE  R5 = R5[K24('CrossPromotionPlayAction')]
  0048  GETTABLE  R5 = R5[K25('PullUp')]
  0049  MOVE      R6 = R0
  0050  LOADK     R7 = K26 '&targetGameToken='
  0051  GETTABLE  R8 = R0[K27('targetGameToken')]
  0052  CONCAT    R6 = concat(R6..R6)
  0053  CALL      R3 = call(R3, 0 args, 3 rets)
  0054  JMP       (jump)   -> 70
  0055  SELF      R4 = R0[K28('ReplaceURLParam')] (self)
  0056  GETTABLE  R5 = R0[K29('link')]
  0057  CALL      R3 = call(R3, 1 args, 2 rets)
  0058  MOVE      R2 = R0
  0059  GETTABUP  R3 = _ENV[K6('GM')]
  0060  GETTABLE  R3 = R3[K21('BIManager')]
  0061  SELF      R4 = R3[K22('LogAction')] (self)
  0062  GETTABUP  R5 = _ENV[K23('EBIType')]
  0063  GETTABLE  R5 = R5[K24('CrossPromotionPlayAction')]
  0064  GETTABLE  R5 = R5[K30('Down')]
  0065  MOVE      R6 = R0
  0066  LOADK     R7 = K26 '&targetGameToken='
  0067  GETTABLE  R8 = R0[K27('targetGameToken')]
  0068  CONCAT    R6 = concat(R6..R6)
  0069  CALL      R3 = call(R3, 0 args, 3 rets)
  0070  GETTABUP  R3 = _ENV[K31('CSPlatform')]
  0071  SELF      R4 = R3[K32('OpenURL')] (self)
  0072  MOVE      R5 = R0
  0073  CALL      R3 = call(R3, 0 args, 2 rets)
  0074  RETURN    return R0..R-1
; ---------- proto12 [ReplaceURLParam] ----------
  ; fn ?  line 165-181 np=3 va=0 ms=7 code=8 consts=3 upvals=1 protos=1
  ;   K[0]='string'
  ;   K[1]='gsub'
  ;   K[2]='({[%w_]+})'
  ;   upvals: _ENV
  ;   locals: self(0-8), url(0-8), gid(0-8)
  0000  GETTABUP  R3 = _ENV[K0('string')]
  0001  GETTABLE  R3 = R3[K1('gsub')]
  0002  MOVE      R4 = R0
  0003  LOADK     R5 = K2 '({[%w_]+})'
  0004  CLOSURE   R6 = closure proto0
  0005  TAILCALL  tailcall(R3, 0)
  0006  RETURN    return R3..R2
  0007  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 167-180 np=1 va=0 ms=3 code=42 consts=16 upvals=3 protos=0
    ;   K[0]='{gameToken}'
    ;   K[1]='GameConfig'
    ;   K[2]='GetGameToken'
    ;   K[3]='{eventId}'
    ;   K[4]='eventId'
    ;   K[5]=0
    ;   K[6]='{gameId}'
    ;   K[7]='{userId}'
    ;   K[8]='GM'
    ;   K[9]='UserModel'
    ;   K[10]='GetUserId'
    ;   K[11]='{gps_adid}'
    ;   K[12]='{idfa}'
    ;   K[13]='DeviceInfo'
    ;   K[14]='GetAdvertisingIdentifier'
    ;   K[15]=''
    ;   upvals: _ENV, self, gid
    ;   locals: s(0-42)
    0000  EQ        if R0 eq K0('{gameToken}')   -> -130814
    0001  JMP       (jump)   -> 7
    0002  GETTABUP  R1 = _ENV[K1('GameConfig')]
    0003  GETTABLE  R1 = R1[K2('GetGameToken')]
    0004  TAILCALL  tailcall(R1, 0)
    0005  RETURN    return R1..R0
    0006  JMP       (jump)   -> 39
    0007  EQ        if R0 eq K3('{eventId}')   -> -130804
    0008  JMP       (jump)   -> 15
    0009  GETTABUP  R1 = self[K4('eventId')]
    0010  TEST      if not R1 then   -> -131059
    0011  JMP       (jump)   -> 13
    0012  LOADK     R1 = K5 0
    0013  RETURN    return R1..R0
    0014  JMP       (jump)   -> 39
    0015  EQ        if R0 eq K6('{gameId}')   -> -130793
    0016  JMP       (jump)   -> 23
    0017  GETUPVAL  R1 = _ENV
    0018  TEST      if not R1 then   -> -131051
    0019  JMP       (jump)   -> 21
    0020  LOADK     R1 = K5 0
    0021  RETURN    return R1..R0
    0022  JMP       (jump)   -> 39
    0023  EQ        if R0 eq K7('{userId}')   -> -130784
    0024  JMP       (jump)   -> 31
    0025  GETTABUP  R1 = _ENV[K8('GM')]
    0026  GETTABLE  R1 = R1[K9('UserModel')]
    0027  SELF      R2 = R1[K10('GetUserId')] (self)
    0028  TAILCALL  tailcall(R1, 0)
    0029  RETURN    return R1..R0
    0030  JMP       (jump)   -> 39
    0031  EQ        if R1 eq K11('{gps_adid}')   -> -130772
    0032  JMP       (jump)   -> 35
    0033  EQ        if R0 eq K12('{idfa}')   -> -130769
    0034  JMP       (jump)   -> 39
    0035  GETTABUP  R1 = _ENV[K13('DeviceInfo')]
    0036  GETTABLE  R1 = R1[K14('GetAdvertisingIdentifier')]
    0037  TAILCALL  tailcall(R1, 0)
    0038  RETURN    return R1..R0
    0039  LOADK     R1 = K15 ''
    0040  RETURN    return R1..R0
    0041  RETURN    return R0..R-1
; ---------- proto13 [SendMissionStatusData] ----------
  ; fn ?  line 185-209 np=2 va=0 ms=13 code=70 consts=33 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='LevelModel'
  ;   K[2]='GetCurrentLevel'
  ;   K[3]='MainBoardModel'
  ;   K[4]='GetCurOrderDay'
  ;   K[5]='ECPMissionType'
  ;   K[6]='Level'
  ;   K[7]='level'
  ;   K[8]=nil
  ;   K[9]='Day'
  ;   K[10]='day'
  ;   K[11]='OperManager'
  ;   K[12]='GetUrlByType'
  ;   K[13]='EOperUrlType'
  ;   K[14]='CPUpdateMissionStatus'
  ;   K[15]='&token='
  ;   K[16]='GameConfig'
  ;   K[17]='GetGameToken'
  ;   K[18]='&user_id='
  ;   K[19]='UserModel'
  ;   K[20]='GetUserId'
  ;   K[21]='&level='
  ;   K[22]='&day='
  ;   K[23]='CSNetLibManager'
  ;   K[24]='CreateGeneralHttpRequest'
  ;   K[25]='GET'
  ;   K[26]=8000
  ;   K[27]=0
  ;   K[28]='SetHeader'
  ;   K[29]='NetworkConfig'
  ;   K[30]='ContentTypeKey'
  ;   K[31]='application/octet-stream'
  ;   K[32]='Send'
  ;   upvals: _ENV
  ;   locals: self(0-70), eCPMissionType(0-70), level(4-70), day(8-70), url(39-70), param(53-70), reqCtx(62-70)
  0000  GETTABUP  R2 = _ENV[K0('GM')]
  0001  GETTABLE  R2 = R2[K1('LevelModel')]
  0002  SELF      R3 = R2[K2('GetCurrentLevel')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  GETTABUP  R3 = _ENV[K0('GM')]
  0005  GETTABLE  R3 = R3[K3('MainBoardModel')]
  0006  SELF      R4 = R3[K4('GetCurOrderDay')] (self)
  0007  CALL      R3 = call(R3, 1 args, 1 rets)
  0008  GETTABUP  R4 = _ENV[K5('ECPMissionType')]
  0009  GETTABLE  R4 = R4[K6('Level')]
  0010  EQ        if R0 eq R4   -> -130544
  0011  JMP       (jump)   -> 20
  0012  GETTABLE  R4 = R0[K7('level')]
  0013  EQ        if R1 eq K8(nil)   -> -128745
  0014  JMP       (jump)   -> 18
  0015  GETTABLE  R4 = R0[K7('level')]
  0016  LT        if R0 lt R4   -> -130026
  0017  JMP       (jump)   -> 33
  0018  RETURN    return R0..R-1
  0019  JMP       (jump)   -> 33
  0020  GETTABUP  R4 = _ENV[K5('ECPMissionType')]
  0021  GETTABLE  R4 = R4[K9('Day')]
  0022  EQ        if R0 eq R4   -> -130532
  0023  JMP       (jump)   -> 32
  0024  GETTABLE  R4 = R0[K10('day')]
  0025  EQ        if R1 eq K8(nil)   -> -128733
  0026  JMP       (jump)   -> 30
  0027  GETTABLE  R4 = R0[K10('day')]
  0028  LT        if R0 lt R4   -> -129502
  0029  JMP       (jump)   -> 33
  0030  RETURN    return R0..R-1
  0031  JMP       (jump)   -> 33
  0032  RETURN    return R0..R-1
  0033  GETTABUP  R4 = _ENV[K0('GM')]
  0034  GETTABLE  R4 = R4[K11('OperManager')]
  0035  SELF      R5 = R4[K12('GetUrlByType')] (self)
  0036  GETTABUP  R6 = _ENV[K13('EOperUrlType')]
  0037  GETTABLE  R6 = R6[K14('CPUpdateMissionStatus')]
  0038  CALL      R4 = call(R4, 1 args, 2 rets)
  0039  LOADK     R5 = K15 '&token='
  0040  GETTABUP  R6 = _ENV[K16('GameConfig')]
  0041  GETTABLE  R6 = R6[K17('GetGameToken')]
  0042  CALL      R6 = call(R6, 1 args, 0 rets)
  0043  LOADK     R7 = K18 '&user_id='
  0044  GETTABUP  R8 = _ENV[K0('GM')]
  0045  GETTABLE  R8 = R8[K19('UserModel')]
  0046  SELF      R9 = R8[K20('GetUserId')] (self)
  0047  CALL      R8 = call(R8, 1 args, 1 rets)
  0048  LOADK     R9 = K21 '&level='
  0049  MOVE      R10 = R0
  0050  LOADK     R11 = K22 '&day='
  0051  MOVE      R12 = R0
  0052  CONCAT    R5 = concat(R5..R5)
  0053  GETTABUP  R6 = _ENV[K23('CSNetLibManager')]
  0054  SELF      R7 = R6[K24('CreateGeneralHttpRequest')] (self)
  0055  MOVE      R8 = R0
  0056  MOVE      R9 = R0
  0057  CONCAT    R8 = concat(R8..R8)
  0058  LOADK     R9 = K25 'GET'
  0059  LOADK     R10 = K26 8000
  0060  LOADK     R11 = K27 0
  0061  CALL      R6 = call(R6, 1 args, 5 rets)
  0062  SELF      R8 = R6[K28('SetHeader')] (self)
  0063  GETTABUP  R9 = _ENV[K29('NetworkConfig')]
  0064  GETTABLE  R9 = R9[K30('ContentTypeKey')]
  0065  LOADK     R10 = K31 'application/octet-stream'
  0066  CALL      R7 = call(R7, 0 args, 3 rets)
  0067  SELF      R8 = R6[K32('Send')] (self)
  0068  CALL      R7 = call(R7, 0 args, 1 rets)
  0069  RETURN    return R0..R-1
; ---------- proto14 [OpenCrossPromotionWindow] ----------
  ; fn ?  line 211-295 np=1 va=0 ms=11 code=73 consts=39 upvals=1 protos=3
  ;   K[0]='IsCPPermission'
  ;   K[1]='GM'
  ;   K[2]='UIManager'
  ;   K[3]='OpenView'
  ;   K[4]='UIPrefabConfigName'
  ;   K[5]='CrossPromotionPermissionWindow'
  ;   K[6]='arrMission'
  ;   K[7]='Android'
  ;   K[8]='DeviceInfo'
  ;   K[9]='IsSystemIOS'
  ;   K[10]='iOS'
  ;   K[11]='OperManager'
  ;   K[12]='GetUrlByType'
  ;   K[13]='EOperUrlType'
  ;   K[14]='CPRefreshEventStatus'
  ;   K[15]='&gameToken='
  ;   K[16]='GameConfig'
  ;   K[17]='GetGameToken'
  ;   K[18]='&userId='
  ;   K[19]='UserModel'
  ;   K[20]='GetUserId'
  ;   K[21]='&osName='
  ;   K[22]='CSNetLibManager'
  ;   K[23]='CreateGeneralHttpRequest'
  ;   K[24]='GET'
  ;   K[25]=8000
  ;   K[26]=0
  ;   K[27]='SetHeader'
  ;   K[28]='NetworkConfig'
  ;   K[29]='ContentTypeKey'
  ;   K[30]='application/octet-stream'
  ;   K[31]=2
  ;   K[32]='GM'
  ;   K[33]='ShowMask'
  ;   K[34]='SetCallback'
  ;   K[35]='Send'
  ;   K[36]='ApiMessage'
  ;   K[37]='GetRewardStatus'
  ;   K[38]='GetArrRewardKeys'
  ;   upvals: _ENV
  ;   locals: self(0-73), osName(16-73), url(28-73), param(40-73), reqCtx(49-73), requestCount(55-73), sucRequestCount(56-73), FailTipFun(57-73)
  0000  SELF      R2 = R0[K0('IsCPPermission')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131067
  0003  JMP       (jump)   -> 11
  0004  GETTABUP  R1 = _ENV[K1('GM')]
  0005  GETTABLE  R1 = R1[K2('UIManager')]
  0006  SELF      R2 = R1[K3('OpenView')] (self)
  0007  GETTABUP  R3 = _ENV[K4('UIPrefabConfigName')]
  0008  GETTABLE  R3 = R3[K5('CrossPromotionPermissionWindow')]
  0009  CALL      R1 = call(R1, 0 args, 2 rets)
  0010  RETURN    return R0..R-1
  0011  GETTABLE  R1 = R0[K6('arrMission')]
  0012  TEST      if not R1 then   -> -131057
  0013  JMP       (jump)   -> 15
  0014  RETURN    return R0..R-1
  0015  LOADK     R1 = K7 'Android'
  0016  GETTABUP  R2 = _ENV[K8('DeviceInfo')]
  0017  GETTABLE  R2 = R2[K9('IsSystemIOS')]
  0018  CALL      R2 = call(R2, 1 args, 0 rets)
  0019  TEST      if not R2 then   -> -131051
  0020  JMP       (jump)   -> 22
  0021  LOADK     R1 = K10 'iOS'
  0022  GETTABUP  R2 = _ENV[K1('GM')]
  0023  GETTABLE  R2 = R2[K11('OperManager')]
  0024  SELF      R3 = R2[K12('GetUrlByType')] (self)
  0025  GETTABUP  R4 = _ENV[K13('EOperUrlType')]
  0026  GETTABLE  R4 = R4[K14('CPRefreshEventStatus')]
  0027  CALL      R2 = call(R2, 1 args, 2 rets)
  0028  LOADK     R3 = K15 '&gameToken='
  0029  GETTABUP  R4 = _ENV[K16('GameConfig')]
  0030  GETTABLE  R4 = R4[K17('GetGameToken')]
  0031  CALL      R4 = call(R4, 1 args, 0 rets)
  0032  LOADK     R5 = K18 '&userId='
  0033  GETTABUP  R6 = _ENV[K1('GM')]
  0034  GETTABLE  R6 = R6[K19('UserModel')]
  0035  SELF      R7 = R6[K20('GetUserId')] (self)
  0036  CALL      R6 = call(R6, 1 args, 1 rets)
  0037  LOADK     R7 = K21 '&osName='
  0038  MOVE      R8 = R0
  0039  CONCAT    R3 = concat(R3..R3)
  0040  GETTABUP  R4 = _ENV[K22('CSNetLibManager')]
  0041  SELF      R5 = R4[K23('CreateGeneralHttpRequest')] (self)
  0042  MOVE      R6 = R0
  0043  MOVE      R7 = R0
  0044  CONCAT    R6 = concat(R6..R6)
  0045  LOADK     R7 = K24 'GET'
  0046  LOADK     R8 = K25 8000
  0047  LOADK     R9 = K26 0
  0048  CALL      R4 = call(R4, 1 args, 5 rets)
  0049  SELF      R6 = R4[K27('SetHeader')] (self)
  0050  GETTABUP  R7 = _ENV[K28('NetworkConfig')]
  0051  GETTABLE  R7 = R7[K29('ContentTypeKey')]
  0052  LOADK     R8 = K30 'application/octet-stream'
  0053  CALL      R5 = call(R5, 0 args, 3 rets)
  0054  LOADK     R5 = K31 2
  0055  LOADK     R6 = K26 0
  0056  CLOSURE   R7 = closure proto0
  0057  GETTABUP  R8 = _ENV[K32('GM')]
  0058  GETTABLE  R8 = R8[K2('UIManager')]
  0059  SELF      R9 = R8[K33('ShowMask')] (self)
  0060  CALL      R8 = call(R8, 0 args, 1 rets)
  0061  SELF      R9 = R4[K34('SetCallback')] (self)
  0062  CLOSURE   R10 = closure proto1
  0063  CALL      R8 = call(R8, 0 args, 2 rets)
  0064  SELF      R9 = R4[K35('Send')] (self)
  0065  CALL      R8 = call(R8, 0 args, 1 rets)
  0066  GETTABUP  R8 = _ENV[K36('ApiMessage')]
  0067  GETTABLE  R8 = R8[K37('GetRewardStatus')]
  0068  SELF      R10 = R0[K38('GetArrRewardKeys')] (self)
  0069  CALL      R9 = call(R9, 1 args, 1 rets)
  0070  CLOSURE   R10 = closure proto2
  0071  CALL      R8 = call(R8, 0 args, 2 rets)
  0072  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 236-240 np=1 va=0 ms=4 code=9 consts=5 upvals=1 protos=0
    ;   K[0]='GM'
    ;   K[1]=nil
    ;   K[2]='UIManager'
    ;   K[3]='ShowPromptWithKey'
    ;   K[4]='bad_network_window_desc'
    ;   upvals: _ENV
    ;   locals: tag(0-9)
    0000  GETTABUP  R1 = _ENV[K0('GM')]
    0001  EQ        if R1 eq K1(nil)   -> -130300
    0002  JMP       (jump)   -> 8
    0003  GETTABUP  R1 = _ENV[K0('GM')]
    0004  GETTABLE  R1 = R1[K2('UIManager')]
    0005  SELF      R2 = R1[K3('ShowPromptWithKey')] (self)
    0006  LOADK     R3 = K4 'bad_network_window_desc'
    0007  CALL      R1 = call(R1, 0 args, 2 rets)
    0008  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 242-268 np=0 va=0 ms=5 code=67 consts=21 upvals=6 protos=0
    ;   K[0]=1
    ;   K[1]='GM'
    ;   K[2]=nil
    ;   K[3]=0
    ;   K[4]='UIManager'
    ;   K[5]='HideMask'
    ;   K[6]='Rcode'
    ;   K[7]='ResultCode'
    ;   K[8]='Succeeded'
    ;   K[9]='RespBody'
    ;   K[10]='Bytes'
    ;   K[11]='GetResponseString'
    ;   K[12]='json'
    ;   K[13]='decode'
    ;   K[14]='_ParseCPData'
    ;   K[15]='cp'
    ;   K[16]=2
    ;   K[17]='UpdateTaskStatus'
    ;   K[18]='OpenView'
    ;   K[19]='UIPrefabConfigName'
    ;   K[20]='CrossPromotionWindow'
    ;   upvals: requestCount, _ENV, reqCtx, sucRequestCount, self, FailTipFun
    ;   locals: rawData(29-60), tbData(33-60)
    0000  GETUPVAL  R0 = requestCount
    0001  SUB       R0 = K0(1) sub R0
    0002  SETUPVAL  requestCount = R0
    0003  GETTABUP  R0 = _ENV[K1('GM')]
    0004  EQ        if R0 eq K2(nil)   -> -130808
    0005  JMP       (jump)   -> 7
    0006  RETURN    return R0..R-1
    0007  GETUPVAL  R0 = requestCount
    0008  EQ        if R0 eq K3(0)   -> -130803
    0009  JMP       (jump)   -> 14
    0010  GETTABUP  R0 = _ENV[K1('GM')]
    0011  GETTABLE  R0 = R0[K4('UIManager')]
    0012  SELF      R1 = R0[K5('HideMask')] (self)
    0013  CALL      R0 = call(R0, 0 args, 1 rets)
    0014  GETTABUP  R0 = reqCtx[K6('Rcode')]
    0015  GETTABUP  R1 = _ENV[K7('ResultCode')]
    0016  GETTABLE  R1 = R1[K8('Succeeded')]
    0017  EQ        if R0 eq R1   -> -131052
    0018  JMP       (jump)   -> 61
    0019  GETTABUP  R0 = reqCtx[K9('RespBody')]
    0020  GETTABLE  R0 = R0[K10('Bytes')]
    0021  LT        if R0 lt R0   -> 1559
    0022  JMP       (jump)   -> 61
    0023  GETUPVAL  R0 = requestCount
    0024  ADD       R0 = K0(1) add R0
    0025  SETUPVAL  requestCount = R0
    0026  GETUPVAL  R0 = requestCount
    0027  SELF      R1 = R0[K11('GetResponseString')] (self)
    0028  CALL      R0 = call(R0, 1 args, 1 rets)
    0029  GETTABUP  R1 = _ENV[K12('json')]
    0030  GETTABLE  R1 = R1[K13('decode')]
    0031  MOVE      R2 = R0
    0032  CALL      R1 = call(R1, 1 args, 1 rets)
    0033  TEST      if not R1 then   -> -131037
    0034  JMP       (jump)   -> 39
    0035  GETUPVAL  R2 = requestCount
    0036  SELF      R3 = R2[K14('_ParseCPData')] (self)
    0037  GETTABLE  R4 = R1[K15('cp')]
    0038  CALL      R2 = call(R2, 0 args, 2 rets)
    0039  GETTABUP  R2 = _ENV[K1('GM')]
    0040  EQ        if R1 eq K2(nil)   -> -129748
    0041  JMP       (jump)   -> 55
    0042  GETUPVAL  R2 = requestCount
    0043  EQ        if R0 eq K16(2)   -> -129731
    0044  JMP       (jump)   -> 55
    0045  GETUPVAL  R2 = requestCount
    0046  SELF      R3 = R2[K17('UpdateTaskStatus')] (self)
    0047  CALL      R2 = call(R2, 0 args, 1 rets)
    0048  GETTABUP  R2 = _ENV[K1('GM')]
    0049  GETTABLE  R2 = R2[K4('UIManager')]
    0050  SELF      R3 = R2[K18('OpenView')] (self)
    0051  GETTABUP  R4 = _ENV[K19('UIPrefabConfigName')]
    0052  GETTABLE  R4 = R4[K20('CrossPromotionWindow')]
    0053  CALL      R2 = call(R2, 0 args, 2 rets)
    0054  JMP       (jump)   -> 66
    0055  GETUPVAL  R2 = requestCount
    0056  EQ        if R0 eq K3(0)   -> -129731
    0057  JMP       (jump)   -> 66
    0058  GETUPVAL  R2 = requestCount
    0059  CALL      R2 = call(R2, 0 args, 0 rets)
    0060  JMP       (jump)   -> 66
    0061  GETUPVAL  R0 = requestCount
    0062  EQ        if R0 eq K3(0)   -> -130749
    0063  JMP       (jump)   -> 66
    0064  GETUPVAL  R0 = requestCount
    0065  CALL      R0 = call(R0, 0 args, 0 rets)
    0066  RETURN    return R0..R-1
  ; ---------- proto2 [] ----------
    ; fn ?  line 272-293 np=2 va=0 ms=5 code=51 consts=13 upvals=5 protos=0
    ;   K[0]=1
    ;   K[1]='GM'
    ;   K[2]=nil
    ;   K[3]=0
    ;   K[4]='UIManager'
    ;   K[5]='HideMask'
    ;   K[6]='_SetServeArrRewards'
    ;   K[7]='rewards'
    ;   K[8]=2
    ;   K[9]='UpdateTaskStatus'
    ;   K[10]='OpenView'
    ;   K[11]='UIPrefabConfigName'
    ;   K[12]='CrossPromotionWindow'
    ;   upvals: requestCount, _ENV, sucRequestCount, self, FailTipFun
    ;   locals: status(0-51), data(0-51)
    0000  GETUPVAL  R2 = requestCount
    0001  SUB       R2 = K0(1) sub R2
    0002  SETUPVAL  sucRequestCount = R0
    0003  GETTABUP  R2 = _ENV[K1('GM')]
    0004  EQ        if R0 eq K2(nil)   -> -129784
    0005  JMP       (jump)   -> 7
    0006  RETURN    return R0..R-1
    0007  GETUPVAL  R2 = requestCount
    0008  EQ        if R0 eq K3(0)   -> -129779
    0009  JMP       (jump)   -> 14
    0010  GETTABUP  R2 = _ENV[K1('GM')]
    0011  GETTABLE  R2 = R2[K4('UIManager')]
    0012  SELF      R3 = R2[K5('HideMask')] (self)
    0013  CALL      R2 = call(R2, 0 args, 1 rets)
    0014  TEST      if not R0 then   -> -131056
    0015  JMP       (jump)   -> 45
    0016  GETUPVAL  R2 = requestCount
    0017  ADD       R2 = K0(1) add R2
    0018  SETUPVAL  sucRequestCount = R0
    0019  GETUPVAL  R2 = requestCount
    0020  SELF      R3 = R2[K6('_SetServeArrRewards')] (self)
    0021  GETTABLE  R4 = R1[K7('rewards')]
    0022  CALL      R2 = call(R2, 0 args, 2 rets)
    0023  GETTABUP  R2 = _ENV[K1('GM')]
    0024  EQ        if R1 eq K2(nil)   -> -129764
    0025  JMP       (jump)   -> 39
    0026  GETUPVAL  R2 = requestCount
    0027  EQ        if R0 eq K8(2)   -> -129755
    0028  JMP       (jump)   -> 39
    0029  GETUPVAL  R2 = requestCount
    0030  SELF      R3 = R2[K9('UpdateTaskStatus')] (self)
    0031  CALL      R2 = call(R2, 0 args, 1 rets)
    0032  GETTABUP  R2 = _ENV[K1('GM')]
    0033  GETTABLE  R2 = R2[K4('UIManager')]
    0034  SELF      R3 = R2[K10('OpenView')] (self)
    0035  GETTABUP  R4 = _ENV[K11('UIPrefabConfigName')]
    0036  GETTABLE  R4 = R4[K12('CrossPromotionWindow')]
    0037  CALL      R2 = call(R2, 0 args, 2 rets)
    0038  JMP       (jump)   -> 50
    0039  GETUPVAL  R2 = requestCount
    0040  EQ        if R0 eq K3(0)   -> -129747
    0041  JMP       (jump)   -> 50
    0042  GETUPVAL  R2 = requestCount
    0043  CALL      R2 = call(R2, 0 args, 0 rets)
    0044  JMP       (jump)   -> 50
    0045  GETUPVAL  R2 = requestCount
    0046  EQ        if R0 eq K3(0)   -> -129741
    0047  JMP       (jump)   -> 50
    0048  GETUPVAL  R2 = requestCount
    0049  CALL      R2 = call(R2, 0 args, 0 rets)
    0050  RETURN    return R0..R-1
; ---------- proto15 [GetArrRewardKeys] ----------
  ; fn ?  line 297-303 np=1 va=0 ms=9 code=16 consts=3 upvals=0 protos=0
  ;   K[0]=1
  ;   K[1]='arrMission'
  ;   K[2]='GetTaskRewardKey'
  ;   locals: self(0-16), arrKeys(1-16), (for index)(5-14), (for limit)(5-14), (for step)(5-14), i(6-13)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  LOADK     R2 = K0 1
  0002  GETTABLE  R3 = R0[K1('arrMission')]
  0003  LEN       R3 = len R0
  0004  LOADK     R4 = K0 1
  0005  FORPREP   forprep R2(sBx=7)   -> 13
  0006  LEN       R6 = len R0
  0007  ADD       R6 = K0(1) add R6
  0008  GETTABLE  R7 = R0[K1('arrMission')]
  0009  GETTABLE  R7 = R7[R5]
  0010  SELF      R8 = R7[K2('GetTaskRewardKey')] (self)
  0011  CALL      R7 = call(R7, 1 args, 1 rets)
  0012  SETTABLE  R1[R6] = R7
  0013  FORLOOP   forloop R2(sBx=-8)   -> 6
  0014  RETURN    return R1..R0
  0015  RETURN    return R0..R-1
; ---------- proto16 [GetTaskByRewardKey] ----------
  ; fn ?  line 305-312 np=2 va=0 ms=8 code=18 consts=3 upvals=0 protos=0
  ;   K[0]=1
  ;   K[1]='arrMission'
  ;   K[2]='GetTaskRewardKey'
  ;   locals: self(0-18), rk(0-18), (for index)(4-15), (for limit)(4-15), (for step)(4-15), i(5-14)
  0000  LOADK     R2 = K0 1
  0001  GETTABLE  R3 = R0[K1('arrMission')]
  0002  LEN       R3 = len R0
  0003  LOADK     R4 = K0 1
  0004  FORPREP   forprep R2(sBx=9)   -> 14
  0005  GETTABLE  R6 = R0[K1('arrMission')]
  0006  GETTABLE  R6 = R6[R5]
  0007  SELF      R7 = R6[K2('GetTaskRewardKey')] (self)
  0008  CALL      R6 = call(R6, 1 args, 1 rets)
  0009  EQ        if R0 eq R1   -> -127988
  0010  JMP       (jump)   -> 14
  0011  GETTABLE  R6 = R0[K1('arrMission')]
  0012  GETTABLE  R6 = R6[R5]
  0013  RETURN    return R6..R5
  0014  FORLOOP   forloop R2(sBx=-10)   -> 5
  0015  LOADNIL   R2..R2 = nil
  0016  RETURN    return R2..R1
  0017  RETURN    return R0..R-1
; ---------- proto17 [ParseSerReward] ----------
  ; fn ?  line 314-324 np=1 va=0 ms=9 code=25 consts=8 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='serArrRewards'
  ;   K[3]=1
  ;   K[4]='GetTaskByRewardKey'
  ;   K[5]='key'
  ;   K[6]=nil
  ;   K[7]='ParseSerReward'
  ;   upvals: _ENV
  ;   locals: self(0-25), (for index)(11-24), (for limit)(11-24), (for step)(11-24), i(12-23), task(17-23)
  0000  GETTABUP  R1 = _ENV[K0('Table')]
  0001  GETTABLE  R1 = R1[K1('IsEmpty')]
  0002  GETTABLE  R2 = R0[K2('serArrRewards')]
  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  LOADK     R1 = K3 1
  0008  GETTABLE  R2 = R0[K2('serArrRewards')]
  0009  LEN       R2 = len R0
  0010  LOADK     R3 = K3 1
  0011  FORPREP   forprep R1(sBx=11)   -> 23
  0012  SELF      R6 = R0[K4('GetTaskByRewardKey')] (self)
  0013  GETTABLE  R7 = R0[K2('serArrRewards')]
  0014  GETTABLE  R7 = R7[R4]
  0015  GETTABLE  R7 = R7[K5('key')]
  0016  CALL      R5 = call(R5, 1 args, 2 rets)
  0017  EQ        if R1 eq K6(nil)   -> -128231
  0018  JMP       (jump)   -> 23
  0019  SELF      R7 = R5[K7('ParseSerReward')] (self)
  0020  GETTABLE  R8 = R0[K2('serArrRewards')]
  0021  GETTABLE  R8 = R8[R4]
  0022  CALL      R6 = call(R6, 0 args, 2 rets)
  0023  FORLOOP   forloop R1(sBx=-12)   -> 12
  0024  RETURN    return R0..R-1
; ---------- proto18 [SetRewarded] ----------
  ; fn ?  line 326-333 np=2 va=0 ms=8 code=13 consts=6 upvals=1 protos=0
  ;   K[0]='ipairs'
  ;   K[1]='serArrRewards'
  ;   K[2]='key'
  ;   K[3]='status'
  ;   K[4]=1
  ;   K[5]='UpdateTaskStatus'
  ;   upvals: _ENV
  ;   locals: self(0-13), rewardKey(0-13), (for generator)(3-10), (for state)(3-10), (for control)(3-10), _(4-8), rwd(4-8)
  0000  GETTABUP  R2 = _ENV[K0('ipairs')]
  0001  GETTABLE  R3 = R0[K1('serArrRewards')]
  0002  CALL      R2 = call(R2, 3 args, 1 rets)
  0003  JMP       (jump)   -> 8
  0004  GETTABLE  R7 = R6[K2('key')]
  0005  EQ        if R0 eq R1   -> -127480
  0006  JMP       (jump)   -> 8
  0007  SETTABLE  R6[K3('status')] = K4(1)
  0008  TFORCALL  tforcall R2
  0009  TFORLOOP  tforloop R4(sBx=-6)   -> 4
  0010  SELF      R3 = R0[K5('UpdateTaskStatus')] (self)
  0011  CALL      R2 = call(R2, 0 args, 1 rets)
  0012  RETURN    return R0..R-1
; ---------- proto19 [UpdateTaskStatus] ----------
  ; fn ?  line 335-341 np=1 va=0 ms=7 code=15 consts=5 upvals=0 protos=0
  ;   K[0]='ParseSerReward'
  ;   K[1]=1
  ;   K[2]='arrMission'
  ;   K[3]='UpdateTaskStatus'
  ;   K[4]='RefreshActivityButtonInNeed'
  ;   locals: self(0-15), (for index)(6-12), (for limit)(6-12), (for step)(6-12), i(7-11)
  0000  SELF      R2 = R0[K0('ParseSerReward')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  LOADK     R1 = K1 1
  0003  GETTABLE  R2 = R0[K2('arrMission')]
  0004  LEN       R2 = len R0
  0005  LOADK     R3 = K1 1
  0006  FORPREP   forprep R1(sBx=4)   -> 11
  0007  GETTABLE  R5 = R0[K2('arrMission')]
  0008  GETTABLE  R5 = R5[R4]
  0009  SELF      R6 = R5[K3('UpdateTaskStatus')] (self)
  0010  CALL      R5 = call(R5, 0 args, 1 rets)
  0011  FORLOOP   forloop R1(sBx=-5)   -> 7
  0012  SELF      R2 = R0[K4('RefreshActivityButtonInNeed')] (self)
  0013  CALL      R1 = call(R1, 0 args, 1 rets)
  0014  RETURN    return R0..R-1
; ---------- proto20 [IsStrongTipShow] ----------
  ; fn ?  line 343-364 np=1 va=0 ms=8 code=41 consts=11 upvals=2 protos=0
  ;   K[0]='m_bActivityOpened'
  ;   K[1]='PlayerPrefs'
  ;   K[2]='GetString'
  ;   K[3]='EPlayerPrefKey'
  ;   K[4]='CrossPromotionWindowOpened'
  ;   K[5]='NotOpen'
  ;   K[6]='Table'
  ;   K[7]='IsEmpty'
  ;   K[8]='arrMission'
  ;   K[9]=1
  ;   K[10]='HasReward'
  ;   upvals: _ENV, ECrossPromotionWinOpenStatus
  ;   locals: self(0-41), strOpenStatus(11-41), (for index)(28-38), (for limit)(28-38), (for step)(28-38), i(29-37)
  0000  GETTABLE  R1 = R0[K0('m_bActivityOpened')]
  0001  TEST      if not R1 then   -> -131068
  0002  JMP       (jump)   -> 5
  0003  LOADBOOL  R1 = false
  0004  RETURN    return R1..R0
  0005  GETTABUP  R1 = _ENV[K1('PlayerPrefs')]
  0006  GETTABLE  R1 = R1[K2('GetString')]
  0007  GETTABUP  R2 = _ENV[K3('EPlayerPrefKey')]
  0008  GETTABLE  R2 = R2[K4('CrossPromotionWindowOpened')]
  0009  GETTABUP  R3 = ECrossPromotionWinOpenStatus[K5('NotOpen')]
  0010  CALL      R1 = call(R1, 1 args, 2 rets)
  0011  GETTABUP  R2 = ECrossPromotionWinOpenStatus[K5('NotOpen')]
  0012  EQ        if R0 eq R2   -> -130544
  0013  JMP       (jump)   -> 16
  0014  LOADBOOL  R2 = true
  0015  RETURN    return R2..R1
  0016  GETTABUP  R2 = _ENV[K6('Table')]
  0017  GETTABLE  R2 = R2[K7('IsEmpty')]
  0018  GETTABLE  R3 = R0[K8('arrMission')]
  0019  CALL      R2 = call(R2, 1 args, 1 rets)
  0020  TEST      if not R2 then   -> -131050
  0021  JMP       (jump)   -> 24
  0022  LOADBOOL  R2 = false
  0023  RETURN    return R2..R1
  0024  LOADK     R2 = K9 1
  0025  GETTABLE  R3 = R0[K8('arrMission')]
  0026  LEN       R3 = len R0
  0027  LOADK     R4 = K9 1
  0028  FORPREP   forprep R2(sBx=8)   -> 37
  0029  GETTABLE  R6 = R0[K8('arrMission')]
  0030  GETTABLE  R6 = R6[R5]
  0031  SELF      R7 = R6[K10('HasReward')] (self)
  0032  CALL      R6 = call(R6, 1 args, 1 rets)
  0033  TEST      if not R6 then   -> -131037
  0034  JMP       (jump)   -> 37
  0035  LOADBOOL  R6 = true
  0036  RETURN    return R6..R5
  0037  FORLOOP   forloop R2(sBx=-9)   -> 29
  0038  LOADBOOL  R2 = false
  0039  RETURN    return R2..R1
  0040  RETURN    return R0..R-1
; ---------- proto21 [SetCPWinOpended] ----------
  ; fn ?  line 366-368 np=1 va=0 ms=4 code=7 consts=5 upvals=2 protos=0
  ;   K[0]='PlayerPrefs'
  ;   K[1]='SetString'
  ;   K[2]='EPlayerPrefKey'
  ;   K[3]='CrossPromotionWindowOpened'
  ;   K[4]='Opened'
  ;   upvals: _ENV, ECrossPromotionWinOpenStatus
  ;   locals: self(0-7)
  0000  GETTABUP  R1 = _ENV[K0('PlayerPrefs')]
  0001  GETTABLE  R1 = R1[K1('SetString')]
  0002  GETTABUP  R2 = _ENV[K2('EPlayerPrefKey')]
  0003  GETTABLE  R2 = R2[K3('CrossPromotionWindowOpened')]
  0004  GETTABUP  R3 = ECrossPromotionWinOpenStatus[K4('Opened')]
  0005  CALL      R1 = call(R1, 0 args, 2 rets)
  0006  RETURN    return R0..R-1
; ---------- proto22 [SetCPPermission] ----------
  ; fn ?  line 370-372 np=2 va=0 ms=5 code=7 consts=4 upvals=1 protos=0
  ;   K[0]='PlayerPrefs'
  ;   K[1]='SetInt'
  ;   K[2]='EPlayerPrefKey'
  ;   K[3]='CrossPromotionPermission'
  ;   upvals: _ENV
  ;   locals: self(0-7), iVal(0-7)
  0000  GETTABUP  R2 = _ENV[K0('PlayerPrefs')]
  0001  GETTABLE  R2 = R2[K1('SetInt')]
  0002  GETTABUP  R3 = _ENV[K2('EPlayerPrefKey')]
  0003  GETTABLE  R3 = R3[K3('CrossPromotionPermission')]
  0004  MOVE      R4 = R0
  0005  CALL      R2 = call(R2, 0 args, 2 rets)
  0006  RETURN    return R0..R-1
; ---------- proto23 [IsCPPermission] ----------
  ; fn ?  line 375-377 np=1 va=0 ms=4 code=12 consts=6 upvals=1 protos=0
  ;   K[0]='PlayerPrefs'
  ;   K[1]='GetInt'
  ;   K[2]='EPlayerPrefKey'
  ;   K[3]='CrossPromotionPermission'
  ;   K[4]=0
  ;   K[5]=1
  ;   upvals: _ENV
  ;   locals: self(0-12)
  0000  GETTABUP  R1 = _ENV[K0('PlayerPrefs')]
  0001  GETTABLE  R1 = R1[K1('GetInt')]
  0002  GETTABUP  R2 = _ENV[K2('EPlayerPrefKey')]
  0003  GETTABLE  R2 = R2[K3('CrossPromotionPermission')]
  0004  LOADK     R3 = K4 0
  0005  CALL      R1 = call(R1, 1 args, 2 rets)
  0006  EQ        if R1 eq K5(1)   -> -130291
  0007  JMP       (jump)   -> 9
  0008  LOADBOOL  R1 = false
  0009  LOADBOOL  R1 = true
  0010  RETURN    return R1..R0
  0011  RETURN    return R0..R-1
; ---------- proto24 [LoadImageFromBundleOrUrl] ----------
  ; fn ?  line 382-424 np=5 va=0 ms=15 code=76 consts=17 upvals=1 protos=3
  ;   K[0]='IsNull'
  ;   K[1]='StringUtil'
  ;   K[2]='IsNilOrEmpty'
  ;   K[3]='ImageFileConfigName'
  ;   K[4]='HasConfig'
  ;   K[5]='SpriteUtil'
  ;   K[6]='SetImage'
  ;   K[7]='Log'
  ;   K[8]='Error'
  ;   K[9]='交叉推广：配置包内文件不存在 '
  ;   K[10]=false
  ;   K[11]='.png'
  ;   K[12]='LocalizationModel'
  ;   K[13]='GetCurLanguageInString'
  ;   K[14]='_'
  ;   K[15]='LoadUrlImage'
  ;   K[16]='LoadSprite'
  ;   upvals: _ENV
  ;   locals: self(0-76), imgComp(0-76), preUrl(0-76), defFile(0-76), addLanguageSuffix(0-76), validBundleFile(20-76), downUrl(44-76), lang(53-58), funUpdateSprite(59-76)
  0000  TEST      if not R1 then   -> -131070
  0001  JMP       (jump)   -> 6
  0002  SELF      R6 = R1[K0('IsNull')] (self)
  0003  CALL      R5 = call(R5, 1 args, 1 rets)
  0004  TEST      if not R5 then   -> -131066
  0005  JMP       (jump)   -> 7
  0006  RETURN    return R0..R-1
  0007  GETTABUP  R5 = _ENV[K1('StringUtil')]
  0008  GETTABLE  R5 = R5[K2('IsNilOrEmpty')]
  0009  MOVE      R6 = R0
  0010  CALL      R5 = call(R5, 1 args, 1 rets)
  0011  TEST      if not R5 then   -> -131058
  0012  JMP       (jump)   -> 18
  0013  GETTABUP  R5 = _ENV[K3('ImageFileConfigName')]
  0014  GETTABLE  R5 = R5[K4('HasConfig')]
  0015  MOVE      R6 = R0
  0016  CALL      R5 = call(R5, 1 args, 1 rets)
  0017  JMP       (jump)   -> 20
  0018  LOADBOOL  R5 = false
  0019  LOADBOOL  R5 = true
  0020  GETTABUP  R6 = _ENV[K1('StringUtil')]
  0021  GETTABLE  R6 = R6[K2('IsNilOrEmpty')]
  0022  MOVE      R7 = R0
  0023  CALL      R6 = call(R6, 1 args, 1 rets)
  0024  TEST      if not R6 then   -> -131046
  0025  JMP       (jump)   -> 43
  0026  TEST      if not R5 then   -> -131044
  0027  JMP       (jump)   -> 36
  0028  GETTABUP  R6 = _ENV[K5('SpriteUtil')]
  0029  GETTABLE  R6 = R6[K6('SetImage')]
  0030  MOVE      R7 = R0
  0031  MOVE      R8 = R0
  0032  LOADBOOL  R9 = true
  0033  CLOSURE   R10 = closure proto0
  0034  CALL      R6 = call(R6, 0 args, 4 rets)
  0035  JMP       (jump)   -> 42
  0036  GETTABUP  R6 = _ENV[K7('Log')]
  0037  GETTABLE  R6 = R6[K8('Error')]
  0038  LOADK     R7 = K9 '交叉推广：配置包内文件不存在 '
  0039  MOVE      R8 = R0
  0040  CONCAT    R7 = concat(R7..R7)
  0041  CALL      R6 = call(R6, 0 args, 1 rets)
  0042  RETURN    return R0..R-1
  0043  LOADNIL   R6..R6 = nil
  0044  EQ        if R0 eq K10(false)   -> -128712
  0045  JMP       (jump)   -> 50
  0046  MOVE      R7 = R0
  0047  LOADK     R8 = K11 '.png'
  0048  CONCAT    R6 = concat(R6..R7)
  0049  JMP       (jump)   -> 58
  0050  GETTABUP  R7 = _ENV[K12('LocalizationModel')]
  0051  SELF      R8 = R7[K13('GetCurLanguageInString')] (self)
  0052  CALL      R7 = call(R7, 1 args, 1 rets)
  0053  MOVE      R8 = R0
  0054  LOADK     R9 = K14 '_'
  0055  MOVE      R10 = R0
  0056  LOADK     R11 = K11 '.png'
  0057  CONCAT    R6 = concat(R6..R8)
  0058  CLOSURE   R7 = closure proto1
  0059  GETTABUP  R8 = _ENV[K15('LoadUrlImage')]
  0060  SELF      R9 = R8[K16('LoadSprite')] (self)
  0061  MOVE      R10 = R0
  0062  CLOSURE   R11 = closure proto2
  0063  LOADBOOL  R12 = true
  0064  TEST      if not R5 then   -> -131006
  0065  JMP       (jump)   -> 68
  0066  TESTSET   if R1 then R13   -> -129467
  0067  JMP       (jump)   -> 69
  0068  LOADNIL   R13..R13 = nil
  0069  TEST      if not R5 then   -> -131001
  0070  JMP       (jump)   -> 73
  0071  TESTSET   if R1 then R14   -> -127414
  0072  JMP       (jump)   -> 74
  0073  LOADNIL   R14..R14 = nil
  0074  CALL      R8 = call(R8, 0 args, 6 rets)
  0075  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 391-395 np=0 va=0 ms=2 code=12 consts=4 upvals=2 protos=0
    ;   K[0]='IsNull'
    ;   K[1]='color'
    ;   K[2]='CSColor'
    ;   K[3]='white'
    ;   upvals: imgComp, _ENV
    0000  GETUPVAL  R0 = imgComp
    0001  TEST      if not R0 then   -> -131069
    0002  JMP       (jump)   -> 11
    0003  GETUPVAL  R0 = imgComp
    0004  SELF      R1 = R0[K0('IsNull')] (self)
    0005  CALL      R0 = call(R0, 1 args, 1 rets)
    0006  TEST      if not R0 then   -> -131063
    0007  JMP       (jump)   -> 11
    0008  GETTABUP  R0 = _ENV[K2('CSColor')]
    0009  GETTABLE  R0 = R0[K3('white')]
    0010  SETTABUP  imgComp[K1('color')] = R0
    0011  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 411-418 np=1 va=0 ms=3 code=20 consts=9 upvals=2 protos=0
    ;   K[0]='IsNull'
    ;   K[1]='sprite'
    ;   K[2]='enabled'
    ;   K[3]=true
    ;   K[4]='color'
    ;   K[5]='CSColor'
    ;   K[6]='white'
    ;   K[7]='SpriteUtil'
    ;   K[8]='SetNativeSize'
    ;   upvals: imgComp, _ENV
    ;   locals: sprite(0-20)
    0000  TEST      if not R0 then   -> -131070
    0001  JMP       (jump)   -> 19
    0002  GETUPVAL  R1 = imgComp
    0003  TEST      if not R1 then   -> -131067
    0004  JMP       (jump)   -> 19
    0005  GETUPVAL  R1 = imgComp
    0006  SELF      R2 = R1[K0('IsNull')] (self)
    0007  CALL      R1 = call(R1, 1 args, 1 rets)
    0008  TEST      if not R1 then   -> -131061
    0009  JMP       (jump)   -> 19
    0010  SETTABUP  imgComp[K1('sprite')] = R0
    0011  SETTABUP  imgComp[K2('enabled')] = K3(true)
    0012  GETTABUP  R1 = _ENV[K5('CSColor')]
    0013  GETTABLE  R1 = R1[K6('white')]
    0014  SETTABUP  imgComp[K4('color')] = R1
    0015  GETTABUP  R1 = _ENV[K7('SpriteUtil')]
    0016  GETTABLE  R1 = R1[K8('SetNativeSize')]
    0017  GETUPVAL  R2 = imgComp
    0018  CALL      R1 = call(R1, 0 args, 1 rets)
    0019  RETURN    return R0..R-1
  ; ---------- proto2 [] ----------
    ; fn ?  line 419-423 np=3 va=0 ms=5 code=6 consts=0 upvals=1 protos=0
    ;   upvals: funUpdateSprite
    ;   locals: bSuccess(0-6), sprite(0-6), rCode(0-6)
    0000  TEST      if not R0 then   -> -131070
    0001  JMP       (jump)   -> 5
    0002  GETUPVAL  R3 = funUpdateSprite
    0003  MOVE      R4 = R0
    0004  CALL      R3 = call(R3, 0 args, 1 rets)
    0005  RETURN    return R0..R-1
; ---------- proto25 [_ParseCPData] ----------
  ; fn ?  line 426-480 np=2 va=0 ms=10 code=108 consts=48 upvals=1 protos=1
  ;   K[0]='m_bActivityOpened'
  ;   K[1]=false
  ;   K[2]='Table'
  ;   K[3]='IsEmpty'
  ;   K[4]='sourceGameToken'
  ;   K[5]='source_game_token'
  ;   K[6]='sourceEventId'
  ;   K[7]='source_event_id'
  ;   K[8]='IsNil'
  ;   K[9]='_LogBI'
  ;   K[10]='level'
  ;   K[11]='level_up'
  ;   K[12]='day'
  ;   K[13]='day_up'
  ;   K[14]='endTime'
  ;   K[15]='end_time'
  ;   K[16]=nil
  ;   K[17]='eventId'
  ;   K[18]='event_id'
  ;   K[19]='packageName'
  ;   K[20]='package_name'
  ;   K[21]='scheme'
  ;   K[22]='link'
  ;   K[23]='CrossPromotionModel'
  ;   K[24]='ParseUrlOrPicName'
  ;   K[25]='mainPic'
  ;   K[26]='main_pic'
  ;   K[27]='iconPic'
  ;   K[28]='icon_pic'
  ;   K[29]='targetGameToken'
  ;   K[30]='target_game_token'
  ;   K[31]=''
  ;   K[32]='clientCheck'
  ;   K[33]='client_checked'
  ;   K[34]='judgeInstallKey'
  ;   K[35]='DeviceInfo'
  ;   K[36]='IsSystemIOS'
  ;   K[37]='arrMission'
  ;   K[38]='mission'
  ;   K[39]='Log'
  ;   K[40]='Assert'
  ;   K[41]='交叉推广:任务数据为空,请检查配置...'
  ;   K[42]=1
  ;   K[43]='PromotionMissionData'
  ;   K[44]='Create'
  ;   K[45]='table'
  ;   K[46]='sort'
  ;   K[47]='_UpdateActivityState'
  ;   upvals: _ENV
  ;   locals: self(0-108), tbData(0-108), arr(71-108), (for index)(89-100), (for limit)(89-100), (for step)(89-100), i(90-99), tbMd(94-99)
  0000  SETTABLE  R0[K0('m_bActivityOpened')] = K1(false)
  0001  GETTABUP  R2 = _ENV[K2('Table')]
  0002  GETTABLE  R2 = R2[K3('IsEmpty')]
  0003  MOVE      R3 = R0
  0004  CALL      R2 = call(R2, 1 args, 1 rets)
  0005  TEST      if not R2 then   -> -131065
  0006  JMP       (jump)   -> 8
  0007  RETURN    return R0..R-1
  0008  GETTABLE  R2 = R1[K5('source_game_token')]
  0009  SETTABLE  R0[K4('sourceGameToken')] = R2
  0010  GETTABLE  R2 = R1[K7('source_event_id')]
  0011  SETTABLE  R0[K6('sourceEventId')] = R2
  0012  GETTABUP  R2 = _ENV[K8('IsNil')]
  0013  GETTABLE  R3 = R0[K4('sourceGameToken')]
  0014  CALL      R2 = call(R2, 1 args, 1 rets)
  0015  TEST      if not R2 then   -> -131054
  0016  JMP       (jump)   -> 19
  0017  SELF      R3 = R0[K9('_LogBI')] (self)
  0018  CALL      R2 = call(R2, 0 args, 1 rets)
  0019  GETTABLE  R2 = R1[K11('level_up')]
  0020  SETTABLE  R0[K10('level')] = R2
  0021  GETTABLE  R2 = R1[K13('day_up')]
  0022  SETTABLE  R0[K12('day')] = R2
  0023  GETTABLE  R2 = R1[K15('end_time')]
  0024  SETTABLE  R0[K14('endTime')] = R2
  0025  GETTABLE  R2 = R0[K14('endTime')]
  0026  EQ        if R0 eq K16(nil)   -> -129748
  0027  JMP       (jump)   -> 29
  0028  RETURN    return R0..R-1
  0029  GETTABLE  R2 = R1[K18('event_id')]
  0030  SETTABLE  R0[K17('eventId')] = R2
  0031  GETTABLE  R2 = R1[K20('package_name')]
  0032  SETTABLE  R0[K19('packageName')] = R2
  0033  GETTABLE  R2 = R1[K21('scheme')]
  0034  SETTABLE  R0[K21('scheme')] = R2
  0035  GETTABLE  R2 = R1[K15('end_time')]
  0036  SETTABLE  R0[K14('endTime')] = R2
  0037  GETTABLE  R2 = R1[K22('link')]
  0038  SETTABLE  R0[K22('link')] = R2
  0039  GETTABUP  R2 = _ENV[K23('CrossPromotionModel')]
  0040  GETTABLE  R2 = R2[K24('ParseUrlOrPicName')]
  0041  MOVE      R3 = R0
  0042  LOADK     R4 = K25 'mainPic'
  0043  GETTABLE  R5 = R1[K26('main_pic')]
  0044  CALL      R2 = call(R2, 0 args, 3 rets)
  0045  GETTABUP  R2 = _ENV[K23('CrossPromotionModel')]
  0046  GETTABLE  R2 = R2[K24('ParseUrlOrPicName')]
  0047  MOVE      R3 = R0
  0048  LOADK     R4 = K27 'iconPic'
  0049  GETTABLE  R5 = R1[K28('icon_pic')]
  0050  CALL      R2 = call(R2, 0 args, 3 rets)
  0051  GETTABLE  R2 = R1[K30('target_game_token')]
  0052  TEST      if not R2 then   -> -131017
  0053  JMP       (jump)   -> 55
  0054  LOADK     R2 = K31 ''
  0055  SETTABLE  R0[K29('targetGameToken')] = R2
  0056  GETTABLE  R2 = R1[K33('client_checked')]
  0057  SETTABLE  R0[K32('clientCheck')] = R2
  0058  GETTABUP  R2 = _ENV[K35('DeviceInfo')]
  0059  GETTABLE  R2 = R2[K36('IsSystemIOS')]
  0060  CALL      R2 = call(R2, 1 args, 0 rets)
  0061  TEST      if not R2 then   -> -131009
  0062  JMP       (jump)   -> 66
  0063  GETTABLE  R2 = R0[K21('scheme')]
  0064  TEST      if not R2 then   -> -131005
  0065  JMP       (jump)   -> 67
  0066  GETTABLE  R2 = R0[K19('packageName')]
  0067  SETTABLE  R0[K34('judgeInstallKey')] = R2
  0068  NEWTABLE  R2 = {} (0 items)
  0069  SETTABLE  R0[K37('arrMission')] = R2
  0070  GETTABLE  R2 = R1[K38('mission')]
  0071  GETTABUP  R3 = _ENV[K39('Log')]
  0072  GETTABLE  R3 = R3[K40('Assert')]
  0073  GETTABUP  R4 = _ENV[K2('Table')]
  0074  GETTABLE  R4 = R4[K3('IsEmpty')]
  0075  MOVE      R5 = R0
  0076  CALL      R4 = call(R4, 1 args, 1 rets)
  0077  NOT       R4 = not R0
  0078  LOADK     R5 = K41 '交叉推广:任务数据为空,请检查配置...'
  0079  CALL      R3 = call(R3, 0 args, 2 rets)
  0080  GETTABUP  R3 = _ENV[K2('Table')]
  0081  GETTABLE  R3 = R3[K3('IsEmpty')]
  0082  MOVE      R4 = R0
  0083  CALL      R3 = call(R3, 1 args, 1 rets)
  0084  TEST      if not R3 then   -> -130985
  0085  JMP       (jump)   -> 100
  0086  LOADK     R3 = K42 1
  0087  LEN       R4 = len R0
  0088  LOADK     R5 = K42 1
  0089  FORPREP   forprep R3(sBx=9)   -> 99
  0090  GETTABUP  R7 = _ENV[K43('PromotionMissionData')]
  0091  GETTABLE  R7 = R7[K44('Create')]
  0092  GETTABLE  R8 = R2[R6]
  0093  CALL      R7 = call(R7, 1 args, 1 rets)
  0094  GETTABLE  R8 = R0[K37('arrMission')]
  0095  GETTABLE  R9 = R0[K37('arrMission')]
  0096  LEN       R9 = len R0
  0097  ADD       R9 = K42(1) add R9
  0098  SETTABLE  R8[R9] = R7
  0099  FORLOOP   forloop R3(sBx=-10)   -> 90
  0100  GETTABUP  R3 = _ENV[K45('table')]
  0101  GETTABLE  R3 = R3[K46('sort')]
  0102  GETTABLE  R4 = R0[K37('arrMission')]
  0103  CLOSURE   R5 = closure proto0
  0104  CALL      R3 = call(R3, 0 args, 2 rets)
  0105  SELF      R4 = R0[K47('_UpdateActivityState')] (self)
  0106  CALL      R3 = call(R3, 0 args, 1 rets)
  0107  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 475-477 np=2 va=0 ms=5 code=12 consts=2 upvals=1 protos=0
    ;   K[0]='tonumber'
    ;   K[1]='order'
    ;   upvals: _ENV
    ;   locals: a(0-12), b(0-12)
    0000  GETTABUP  R2 = _ENV[K0('tonumber')]
    0001  GETTABLE  R3 = R0[K1('order')]
    0002  CALL      R2 = call(R2, 1 args, 1 rets)
    0003  GETTABUP  R3 = _ENV[K0('tonumber')]
    0004  GETTABLE  R4 = R1[K1('order')]
    0005  CALL      R3 = call(R3, 1 args, 1 rets)
    0006  LT        if R1 lt R3   -> -130037
    0007  JMP       (jump)   -> 9
    0008  LOADBOOL  R2 = false
    0009  LOADBOOL  R2 = true
    0010  RETURN    return R2..R1
    0011  RETURN    return R0..R-1
; ---------- proto26 [_UpdateTaskStatusAfterLogin] ----------
  ; fn ?  line 482-492 np=1 va=0 ms=7 code=23 consts=7 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='arrMission'
  ;   K[3]='m_bActivityOpened'
  ;   K[4]=1
  ;   K[5]='UpdateTaskStatusAfterLogin'
  ;   K[6]='RefreshActivityButtonInNeed'
  ;   upvals: _ENV
  ;   locals: self(0-23), (for index)(14-20), (for limit)(14-20), (for step)(14-20), i(15-19)
  0000  GETTABUP  R1 = _ENV[K0('Table')]
  0001  GETTABLE  R1 = R1[K1('IsEmpty')]
  0002  GETTABLE  R2 = R0[K2('arrMission')]
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131065
  0005  JMP       (jump)   -> 9
  0006  GETTABLE  R1 = R0[K3('m_bActivityOpened')]
  0007  TEST      if not R1 then   -> -131062
  0008  JMP       (jump)   -> 10
  0009  RETURN    return R0..R-1
  0010  LOADK     R1 = K4 1
  0011  GETTABLE  R2 = R0[K2('arrMission')]
  0012  LEN       R2 = len R0
  0013  LOADK     R3 = K4 1
  0014  FORPREP   forprep R1(sBx=4)   -> 19
  0015  GETTABLE  R5 = R0[K2('arrMission')]
  0016  GETTABLE  R5 = R5[R4]
  0017  SELF      R6 = R5[K5('UpdateTaskStatusAfterLogin')] (self)
  0018  CALL      R5 = call(R5, 0 args, 1 rets)
  0019  FORLOOP   forloop R1(sBx=-5)   -> 15
  0020  SELF      R2 = R0[K6('RefreshActivityButtonInNeed')] (self)
  0021  CALL      R1 = call(R1, 0 args, 1 rets)
  0022  RETURN    return R0..R-1
; ---------- proto27 [_GetActivityKey] ----------
  ; fn ?  line 494-499 np=1 va=0 ms=3 code=12 consts=3 upvals=1 protos=0
  ;   K[0]='IsNil'
  ;   K[1]='eventId'
  ;   K[2]='CP_'
  ;   upvals: _ENV
  ;   locals: self(0-12)
  0000  GETTABUP  R1 = _ENV[K0('IsNil')]
  0001  GETTABLE  R2 = R0[K1('eventId')]
  0002  CALL      R1 = call(R1, 1 args, 1 rets)
  0003  TEST      if not R1 then   -> -131067
  0004  JMP       (jump)   -> 7
  0005  LOADNIL   R1..R1 = nil
  0006  RETURN    return R1..R0
  0007  LOADK     R1 = K2 'CP_'
  0008  GETTABLE  R2 = R0[K1('eventId')]
  0009  CONCAT    R1 = concat(R1..R1)
  0010  RETURN    return R1..R0
  0011  RETURN    return R0..R-1
; ---------- proto28 [_GetOpenStatus] ----------
  ; fn ?  line 501-506 np=1 va=0 ms=3 code=11 consts=5 upvals=2 protos=0
  ;   K[0]='PlatformInterface'
  ;   K[1]='IsAppInstalled'
  ;   K[2]='judgeInstallKey'
  ;   K[3]='Close'
  ;   K[4]='Open'
  ;   upvals: _ENV, ECPActivityOpenStatus
  ;   locals: self(0-11)
  0000  GETTABUP  R1 = _ENV[K0('PlatformInterface')]
  0001  GETTABLE  R1 = R1[K1('IsAppInstalled')]
  0002  GETTABLE  R2 = R0[K2('judgeInstallKey')]
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131066
  0005  JMP       (jump)   -> 8
  0006  GETTABUP  R1 = ECPActivityOpenStatus[K3('Close')]
  0007  RETURN    return R1..R0
  0008  GETTABUP  R1 = ECPActivityOpenStatus[K4('Open')]
  0009  RETURN    return R1..R0
  0010  RETURN    return R0..R-1
; ---------- proto29 [_GetServerOpenStatus] ----------
  ; fn ?  line 508-515 np=1 va=0 ms=5 code=13 consts=6 upvals=2 protos=0
  ;   K[0]='_GetActivityKey'
  ;   K[1]=nil
  ;   K[2]='Close'
  ;   K[3]='GM'
  ;   K[4]='MiscModel'
  ;   K[5]='Get'
  ;   upvals: ECPActivityOpenStatus, _ENV
  ;   locals: self(0-13), activityKey(2-13)
  0000  SELF      R2 = R0[K0('_GetActivityKey')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  EQ        if R0 eq K1(nil)   -> -130299
  0003  JMP       (jump)   -> 6
  0004  GETTABUP  R2 = ECPActivityOpenStatus[K2('Close')]
  0005  RETURN    return R2..R1
  0006  GETTABUP  R2 = _ENV[K3('GM')]
  0007  GETTABLE  R2 = R2[K4('MiscModel')]
  0008  SELF      R3 = R2[K5('Get')] (self)
  0009  MOVE      R4 = R0
  0010  TAILCALL  tailcall(R2, 0)
  0011  RETURN    return R2..R1
  0012  RETURN    return R0..R-1
; ---------- proto30 [_LogBI] ----------
  ; fn ?  line 517-546 np=1 va=0 ms=11 code=82 consts=31 upvals=2 protos=0
  ;   K[0]='cp_log_bi_'
  ;   K[1]='sourceEventId'
  ;   K[2]='PlayerPrefs'
  ;   K[3]='GetString'
  ;   K[4]='NotLog'
  ;   K[5]=''
  ;   K[6]='GM'
  ;   K[7]='OperManager'
  ;   K[8]='GetUrlParam'
  ;   K[9]='CSAppsFlyerManager'
  ;   K[10]='GetTrackerName'
  ;   K[11]='Table'
  ;   K[12]='IsEmpty'
  ;   K[13]='StringUtil'
  ;   K[14]='IsNilOrEmpty'
  ;   K[15]='EBIType'
  ;   K[16]='CPBindSourceAction'
  ;   K[17]='Both'
  ;   K[18]='URL'
  ;   K[19]='TrackerName'
  ;   K[20]='sourceGameToken'
  ;   K[21]='sourceBind'
  ;   K[22]='url'
  ;   K[23]='trackName'
  ;   K[24]='json'
  ;   K[25]='encode'
  ;   K[26]='BIManager'
  ;   K[27]='LogString'
  ;   K[28]='CrossPromotionBindSource'
  ;   K[29]='SetString'
  ;   K[30]='Log'
  ;   upvals: _ENV, ELogBIStatus
  ;   locals: self(0-82), logKey(3-82), bindAction(13-82), tbUrlParam(17-82), strTrackName(20-82), logData(65-81), dataJson(69-81)
  0000  LOADK     R1 = K0 'cp_log_bi_'
  0001  GETTABLE  R2 = R0[K1('sourceEventId')]
  0002  CONCAT    R1 = concat(R1..R1)
  0003  GETTABUP  R2 = _ENV[K2('PlayerPrefs')]
  0004  GETTABLE  R2 = R2[K3('GetString')]
  0005  MOVE      R3 = R0
  0006  GETTABUP  R4 = ELogBIStatus[K4('NotLog')]
  0007  CALL      R2 = call(R2, 1 args, 2 rets)
  0008  GETTABUP  R3 = ELogBIStatus[K4('NotLog')]
  0009  EQ        if R1 eq R3   -> -130034
  0010  JMP       (jump)   -> 12
  0011  RETURN    return R0..R-1
  0012  LOADK     R2 = K5 ''
  0013  GETTABUP  R3 = _ENV[K6('GM')]
  0014  GETTABLE  R3 = R3[K7('OperManager')]
  0015  SELF      R4 = R3[K8('GetUrlParam')] (self)
  0016  CALL      R3 = call(R3, 1 args, 1 rets)
  0017  GETTABUP  R4 = _ENV[K9('CSAppsFlyerManager')]
  0018  SELF      R5 = R4[K10('GetTrackerName')] (self)
  0019  CALL      R4 = call(R4, 1 args, 1 rets)
  0020  GETTABUP  R5 = _ENV[K11('Table')]
  0021  GETTABLE  R5 = R5[K12('IsEmpty')]
  0022  MOVE      R6 = R0
  0023  CALL      R5 = call(R5, 1 args, 1 rets)
  0024  TEST      if not R5 then   -> -131045
  0025  JMP       (jump)   -> 36
  0026  GETTABUP  R5 = _ENV[K13('StringUtil')]
  0027  GETTABLE  R5 = R5[K14('IsNilOrEmpty')]
  0028  MOVE      R6 = R0
  0029  CALL      R5 = call(R5, 1 args, 1 rets)
  0030  TEST      if not R5 then   -> -131039
  0031  JMP       (jump)   -> 36
  0032  GETTABUP  R5 = _ENV[K15('EBIType')]
  0033  GETTABLE  R5 = R5[K16('CPBindSourceAction')]
  0034  GETTABLE  R2 = R5[K17('Both')]
  0035  JMP       (jump)   -> 55
  0036  GETTABUP  R5 = _ENV[K11('Table')]
  0037  GETTABLE  R5 = R5[K12('IsEmpty')]
  0038  MOVE      R6 = R0
  0039  CALL      R5 = call(R5, 1 args, 1 rets)
  0040  TEST      if not R5 then   -> -131029
  0041  JMP       (jump)   -> 46
  0042  GETTABUP  R5 = _ENV[K15('EBIType')]
  0043  GETTABLE  R5 = R5[K16('CPBindSourceAction')]
  0044  GETTABLE  R2 = R5[K18('URL')]
  0045  JMP       (jump)   -> 55
  0046  GETTABUP  R5 = _ENV[K13('StringUtil')]
  0047  GETTABLE  R5 = R5[K14('IsNilOrEmpty')]
  0048  MOVE      R6 = R0
  0049  CALL      R5 = call(R5, 1 args, 1 rets)
  0050  TEST      if not R5 then   -> -131019
  0051  JMP       (jump)   -> 55
  0052  GETTABUP  R5 = _ENV[K15('EBIType')]
  0053  GETTABLE  R5 = R5[K16('CPBindSourceAction')]
  0054  GETTABLE  R2 = R5[K19('TrackerName')]
  0055  EQ        if R1 eq K5('')   -> -129730
  0056  JMP       (jump)   -> 81
  0057  NEWTABLE  R5 = {} (0 items)
  0058  GETTABLE  R6 = R0[K1('sourceEventId')]
  0059  SETTABLE  R5[K1('sourceEventId')] = R6
  0060  GETTABLE  R6 = R0[K20('sourceGameToken')]
  0061  SETTABLE  R5[K20('sourceGameToken')] = R6
  0062  SETTABLE  R5[K21('sourceBind')] = R2
  0063  SETTABLE  R5[K22('url')] = R3
  0064  SETTABLE  R5[K23('trackName')] = R4
  0065  GETTABUP  R6 = _ENV[K24('json')]
  0066  GETTABLE  R6 = R6[K25('encode')]
  0067  MOVE      R7 = R0
  0068  CALL      R6 = call(R6, 1 args, 1 rets)
  0069  GETTABUP  R7 = _ENV[K6('GM')]
  0070  GETTABLE  R7 = R7[K26('BIManager')]
  0071  SELF      R8 = R7[K27('LogString')] (self)
  0072  MOVE      R9 = R0
  0073  GETTABUP  R10 = _ENV[K15('EBIType')]
  0074  GETTABLE  R10 = R10[K28('CrossPromotionBindSource')]
  0075  CALL      R7 = call(R7, 0 args, 3 rets)
  0076  GETTABUP  R7 = _ENV[K2('PlayerPrefs')]
  0077  GETTABLE  R7 = R7[K29('SetString')]
  0078  MOVE      R8 = R0
  0079  GETTABUP  R9 = ELogBIStatus[K30('Log')]
  0080  CALL      R7 = call(R7, 0 args, 2 rets)
  0081  RETURN    return R0..R-1
; ---------- proto31 [_SetServeArrRewards] ----------
  ; fn ?  line 548-550 np=2 va=0 ms=2 code=2 consts=1 upvals=0 protos=0
  ;   K[0]='serArrRewards'
  ;   locals: self(0-2), arrRwards(0-2)
  0000  SETTABLE  R0[K0('serArrRewards')] = R1
  0001  RETURN    return R0..R-1
; ---------- proto32 [ParseUrlOrPicName] ----------
  ; fn ?  line 555-573 np=3 va=0 ms=9 code=55 consts=19 upvals=1 protos=0
  ;   K[0]='StringUtil'
  ;   K[1]='IsNilOrEmpty'
  ;   K[2]='Log'
  ;   K[3]='Error'
  ;   K[4]='交叉推广：列 '
  ;   K[5]=' 为空，请检查配置！'
  ;   K[6]='Name'
  ;   K[7]='rFindChar'
  ;   K[8]='/'
  ;   K[9]='StartWith'
  ;   K[10]='http'
  ;   K[11]=nil
  ;   K[12]='string'
  ;   K[13]='sub'
  ;   K[14]=1
  ;   K[15]='ImageFileConfigName'
  ;   K[16]='HasConfig'
  ;   K[17]='交叉推广：文件 '
  ;   K[18]=' 包内不存在，请检查配置！'
  ;   upvals: _ENV
  ;   locals: data(0-55), key(0-55), config(0-55), fileNameKey(17-55), i(22-55)
  0000  GETTABUP  R3 = _ENV[K0('StringUtil')]
  0001  GETTABLE  R3 = R3[K1('IsNilOrEmpty')]
  0002  MOVE      R4 = R0
  0003  CALL      R3 = call(R3, 1 args, 1 rets)
  0004  TEST      if not R3 then   -> -131066
  0005  JMP       (jump)   -> 14
  0006  GETTABUP  R3 = _ENV[K2('Log')]
  0007  GETTABLE  R3 = R3[K3('Error')]
  0008  LOADK     R4 = K4 '交叉推广：列 '
  0009  MOVE      R5 = R0
  0010  LOADK     R6 = K5 ' 为空，请检查配置！'
  0011  CONCAT    R4 = concat(R4..R4)
  0012  CALL      R3 = call(R3, 0 args, 1 rets)
  0013  RETURN    return R0..R-1
  0014  MOVE      R3 = R0
  0015  LOADK     R4 = K6 'Name'
  0016  CONCAT    R3 = concat(R3..R3)
  0017  GETTABUP  R4 = _ENV[K0('StringUtil')]
  0018  GETTABLE  R4 = R4[K7('rFindChar')]
  0019  MOVE      R5 = R0
  0020  LOADK     R6 = K8 '/'
  0021  CALL      R4 = call(R4, 1 args, 2 rets)
  0022  GETTABUP  R5 = _ENV[K0('StringUtil')]
  0023  GETTABLE  R5 = R5[K9('StartWith')]
  0024  MOVE      R6 = R0
  0025  LOADK     R7 = K10 'http'
  0026  CALL      R5 = call(R5, 1 args, 2 rets)
  0027  TEST      if not R5 then   -> -131043
  0028  JMP       (jump)   -> 39
  0029  EQ        if R1 eq K11(nil)   -> -128726
  0030  JMP       (jump)   -> 39
  0031  SETTABLE  R0[R1] = R2
  0032  GETTABUP  R5 = _ENV[K12('string')]
  0033  GETTABLE  R5 = R5[K13('sub')]
  0034  MOVE      R6 = R0
  0035  ADD       R7 = K14(1) add R4
  0036  CALL      R5 = call(R5, 1 args, 2 rets)
  0037  SETTABLE  R0[R3] = R5
  0038  JMP       (jump)   -> 41
  0039  SETTABLE  R0[R1] = K11(nil)
  0040  SETTABLE  R0[R3] = R2
  0041  GETTABUP  R5 = _ENV[K15('ImageFileConfigName')]
  0042  GETTABLE  R5 = R5[K16('HasConfig')]
  0043  GETTABLE  R6 = R0[R3]
  0044  CALL      R5 = call(R5, 1 args, 1 rets)
  0045  TEST      if not R5 then   -> -131024
  0046  JMP       (jump)   -> 54
  0047  GETTABUP  R5 = _ENV[K2('Log')]
  0048  GETTABLE  R5 = R5[K3('Error')]
  0049  LOADK     R6 = K17 '交叉推广：文件 '
  0050  GETTABLE  R7 = R0[R3]
  0051  LOADK     R8 = K18 ' 包内不存在，请检查配置！'
  0052  CONCAT    R6 = concat(R6..R6)
  0053  CALL      R5 = call(R5, 0 args, 1 rets)
  0054  RETURN    return R0..R-1
; ---------- proto33 [Create] ----------
  ; fn ?  line 579-583 np=1 va=0 ms=5 code=9 consts=3 upvals=1 protos=0
  ;   K[0]='setmetatable'
  ;   K[1]='PromotionMissionData'
  ;   K[2]='_Init'
  ;   upvals: _ENV
  ;   locals: tbData(0-9), tb(4-9)
  0000  GETTABUP  R1 = _ENV[K0('setmetatable')]
  0001  NEWTABLE  R2 = {} (0 items)
  0002  GETTABUP  R3 = _ENV[K1('PromotionMissionData')]
  0003  CALL      R1 = call(R1, 1 args, 2 rets)
  0004  SELF      R3 = R1[K2('_Init')] (self)
  0005  MOVE      R4 = R0
  0006  CALL      R2 = call(R2, 0 args, 2 rets)
  0007  RETURN    return R1..R0
  0008  RETURN    return R0..R-1
; ---------- proto34 [_Init] ----------
  ; fn ?  line 585-608 np=2 va=0 ms=4 code=46 consts=26 upvals=1 protos=0
  ;   K[0]='id'
  ;   K[1]='order'
  ;   K[2]='taskType'
  ;   K[3]='task_type'
  ;   K[4]='taskParam'
  ;   K[5]='task_param'
  ;   K[6]='taskProgress'
  ;   K[7]='task_progress'
  ;   K[8]='icon'
  ;   K[9]='title'
  ;   K[10]='desc'
  ;   K[11]='rewards'
  ;   K[12]='ConfigUtil'
  ;   K[13]='GetCurrencyFromArrStr'
  ;   K[14]='reward'
  ;   K[15]='status'
  ;   K[16]='mission_status'
  ;   K[17]='incomplete'
  ;   K[18]='eProgressStatus'
  ;   K[19]='ECPTaskStatus'
  ;   K[20]='Doing'
  ;   K[21]='completed'
  ;   K[22]='Done'
  ;   K[23]='awarded'
  ;   K[24]='Awarded'
  ;   K[25]='serRewards'
  ;   upvals: _ENV
  ;   locals: self(0-46), tbData(0-46)
  0000  GETTABLE  R2 = R1[K0('id')]
  0001  SETTABLE  R0[K0('id')] = R2
  0002  GETTABLE  R2 = R1[K1('order')]
  0003  SETTABLE  R0[K1('order')] = R2
  0004  GETTABLE  R2 = R1[K3('task_type')]
  0005  SETTABLE  R0[K2('taskType')] = R2
  0006  GETTABLE  R2 = R1[K5('task_param')]
  0007  SETTABLE  R0[K4('taskParam')] = R2
  0008  GETTABLE  R2 = R1[K7('task_progress')]
  0009  SETTABLE  R0[K6('taskProgress')] = R2
  0010  GETTABLE  R2 = R1[K8('icon')]
  0011  SETTABLE  R0[K8('icon')] = R2
  0012  GETTABLE  R2 = R1[K9('title')]
  0013  SETTABLE  R0[K9('title')] = R2
  0014  GETTABLE  R2 = R1[K10('desc')]
  0015  SETTABLE  R0[K10('desc')] = R2
  0016  GETTABUP  R2 = _ENV[K12('ConfigUtil')]
  0017  GETTABLE  R2 = R2[K13('GetCurrencyFromArrStr')]
  0018  GETTABLE  R3 = R1[K14('reward')]
  0019  CALL      R2 = call(R2, 1 args, 1 rets)
  0020  SETTABLE  R0[K11('rewards')] = R2
  0021  GETTABLE  R2 = R1[K16('mission_status')]
  0022  SETTABLE  R0[K15('status')] = R2
  0023  GETTABLE  R2 = R0[K15('status')]
  0024  EQ        if R0 eq K17('incomplete')   -> -129749
  0025  JMP       (jump)   -> 30
  0026  GETTABUP  R2 = _ENV[K19('ECPTaskStatus')]
  0027  GETTABLE  R2 = R2[K20('Doing')]
  0028  SETTABLE  R0[K18('eProgressStatus')] = R2
  0029  JMP       (jump)   -> 43
  0030  GETTABLE  R2 = R0[K15('status')]
  0031  EQ        if R0 eq K21('completed')   -> -129738
  0032  JMP       (jump)   -> 37
  0033  GETTABUP  R2 = _ENV[K19('ECPTaskStatus')]
  0034  GETTABLE  R2 = R2[K22('Done')]
  0035  SETTABLE  R0[K18('eProgressStatus')] = R2
  0036  JMP       (jump)   -> 43
  0037  GETTABLE  R2 = R0[K15('status')]
  0038  EQ        if R0 eq K23('awarded')   -> -129729
  0039  JMP       (jump)   -> 43
  0040  GETTABUP  R2 = _ENV[K19('ECPTaskStatus')]
  0041  GETTABLE  R2 = R2[K24('Awarded')]
  0042  SETTABLE  R0[K18('eProgressStatus')] = R2
  0043  NEWTABLE  R2 = {} (0 items)
  0044  SETTABLE  R0[K25('serRewards')] = R2
  0045  RETURN    return R0..R-1
; ---------- proto35 [HasReward] ----------
  ; fn ?  line 611-613 np=1 va=0 ms=3 code=9 consts=3 upvals=1 protos=0
  ;   K[0]='eProgressStatus'
  ;   K[1]='ECPTaskStatus'
  ;   K[2]='Done'
  ;   upvals: _ENV
  ;   locals: self(0-9)
  0000  GETTABLE  R1 = R0[K0('eProgressStatus')]
  0001  GETTABUP  R2 = _ENV[K1('ECPTaskStatus')]
  0002  GETTABLE  R2 = R2[K2('Done')]
  0003  EQ        if R1 eq R2   -> -130553
  0004  JMP       (jump)   -> 6
  0005  LOADBOOL  R1 = false
  0006  LOADBOOL  R1 = true
  0007  RETURN    return R1..R0
  0008  RETURN    return R0..R-1
; ---------- proto36 [GetTaskRewardKey] ----------
  ; fn ?  line 615-621 np=1 va=0 ms=5 code=14 consts=8 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]=nil
  ;   K[2]='op_cp_'
  ;   K[3]='CrossPromotionModel'
  ;   K[4]='eventId'
  ;   K[5]='_'
  ;   K[6]='id'
  ;   K[7]=''
  ;   upvals: _ENV
  ;   locals: self(0-14)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  EQ        if R1 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 11
  0003  LOADK     R1 = K2 'op_cp_'
  0004  GETTABUP  R2 = _ENV[K0('GM')]
  0005  GETTABLE  R2 = R2[K3('CrossPromotionModel')]
  0006  GETTABLE  R2 = R2[K4('eventId')]
  0007  LOADK     R3 = K5 '_'
  0008  GETTABLE  R4 = R0[K6('id')]
  0009  CONCAT    R1 = concat(R1..R1)
  0010  RETURN    return R1..R0
  0011  LOADK     R1 = K7 ''
  0012  RETURN    return R1..R0
  0013  RETURN    return R0..R-1
; ---------- proto37 [GetProgress] ----------
  ; fn ?  line 623-625 np=1 va=0 ms=4 code=6 consts=3 upvals=0 protos=0
  ;   K[0]='taskProgress'
  ;   K[1]='/'
  ;   K[2]='taskParam'
  ;   locals: self(0-6)
  0000  GETTABLE  R1 = R0[K0('taskProgress')]
  0001  LOADK     R2 = K1 '/'
  0002  GETTABLE  R3 = R0[K2('taskParam')]
  0003  CONCAT    R1 = concat(R1..R1)
  0004  RETURN    return R1..R0
  0005  RETURN    return R0..R-1
; ---------- proto38 [ParseSerReward] ----------
  ; fn ?  line 627-637 np=2 va=0 ms=5 code=25 consts=11 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='serveRewardStatus'
  ;   K[3]='status'
  ;   K[4]='json'
  ;   K[5]='decode'
  ;   K[6]='content'
  ;   K[7]='serRewards'
  ;   K[8]='ConfigUtil'
  ;   K[9]='GetCurrencyFromArrStr'
  ;   K[10]='rewards'
  ;   upvals: _ENV
  ;   locals: self(0-25), tbData(0-25), content(13-25)
  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)   -> 7
  0006  RETURN    return R0..R-1
  0007  GETTABLE  R2 = R1[K3('status')]
  0008  SETTABLE  R0[K2('serveRewardStatus')] = R2
  0009  GETTABUP  R2 = _ENV[K4('json')]
  0010  GETTABLE  R2 = R2[K5('decode')]
  0011  GETTABLE  R3 = R1[K6('content')]
  0012  CALL      R2 = call(R2, 1 args, 1 rets)
  0013  GETTABUP  R3 = _ENV[K0('Table')]
  0014  GETTABLE  R3 = R3[K1('IsEmpty')]
  0015  MOVE      R4 = R0
  0016  CALL      R3 = call(R3, 1 args, 1 rets)
  0017  TEST      if not R3 then   -> -131052
  0018  JMP       (jump)   -> 24
  0019  GETTABUP  R3 = _ENV[K8('ConfigUtil')]
  0020  GETTABLE  R3 = R3[K9('GetCurrencyFromArrStr')]
  0021  GETTABLE  R4 = R2[K10('rewards')]
  0022  CALL      R3 = call(R3, 1 args, 1 rets)
  0023  SETTABLE  R0[K7('serRewards')] = R3
  0024  RETURN    return R0..R-1
; ---------- proto39 [UpdateTaskStatus] ----------
  ; fn ?  line 639-644 np=1 va=0 ms=3 code=15 consts=6 upvals=1 protos=0
  ;   K[0]='eProgressStatus'
  ;   K[1]='ECPTaskStatus'
  ;   K[2]='Done'
  ;   K[3]='serveRewardStatus'
  ;   K[4]=1
  ;   K[5]='Awarded'
  ;   upvals: _ENV
  ;   locals: self(0-15)
  0000  GETTABLE  R1 = R0[K0('eProgressStatus')]
  0001  GETTABUP  R2 = _ENV[K1('ECPTaskStatus')]
  0002  GETTABLE  R2 = R2[K2('Done')]
  0003  EQ        if R0 eq R2   -> -130553
  0004  JMP       (jump)   -> 14
  0005  GETTABLE  R1 = R0[K3('serveRewardStatus')]
  0006  TEST      if not R1 then   -> -131064
  0007  JMP       (jump)   -> 14
  0008  GETTABLE  R1 = R0[K3('serveRewardStatus')]
  0009  EQ        if R0 eq K4(1)   -> -130289
  0010  JMP       (jump)   -> 14
  0011  GETTABUP  R1 = _ENV[K1('ECPTaskStatus')]
  0012  GETTABLE  R1 = R1[K5('Awarded')]
  0013  SETTABLE  R0[K0('eProgressStatus')] = R1
  0014  RETURN    return R0..R-1
; ---------- proto40 [UpdateTaskStatusAfterLogin] ----------
  ; fn ?  line 646-661 np=1 va=0 ms=6 code=34 consts=12 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]=nil
  ;   K[2]='GetTaskRewardKey'
  ;   K[3]='RewardModel'
  ;   K[4]='GetServerRewardInfoMap'
  ;   K[5]='status'
  ;   K[6]='ERewardStatus'
  ;   K[7]='NotReceived'
  ;   K[8]='eProgressStatus'
  ;   K[9]='ECPTaskStatus'
  ;   K[10]='Done'
  ;   K[11]='Awarded'
  ;   upvals: _ENV
  ;   locals: self(0-34), bAwarded(5-34), rewardKey(7-34), mapRewardInfo(11-34)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  EQ        if R0 eq K1(nil)   -> -130300
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  LOADBOOL  R1 = true
  0005  SELF      R3 = R0[K2('GetTaskRewardKey')] (self)
  0006  CALL      R2 = call(R2, 1 args, 1 rets)
  0007  GETTABUP  R3 = _ENV[K0('GM')]
  0008  GETTABLE  R3 = R3[K3('RewardModel')]
  0009  SELF      R4 = R3[K4('GetServerRewardInfoMap')] (self)
  0010  CALL      R3 = call(R3, 1 args, 1 rets)
  0011  TEST      if not R3 then   -> -131059
  0012  JMP       (jump)   -> 23
  0013  GETTABLE  R4 = R3[R2]
  0014  TEST      if not R4 then   -> -131056
  0015  JMP       (jump)   -> 23
  0016  GETTABLE  R4 = R3[R2]
  0017  GETTABLE  R4 = R4[K5('status')]
  0018  GETTABUP  R5 = _ENV[K6('ERewardStatus')]
  0019  GETTABLE  R5 = R5[K7('NotReceived')]
  0020  EQ        if R0 eq R5   -> -128997
  0021  JMP       (jump)   -> 23
  0022  LOADBOOL  R1 = false
  0023  GETTABLE  R4 = R0[K8('eProgressStatus')]
  0024  GETTABUP  R5 = _ENV[K9('ECPTaskStatus')]
  0025  GETTABLE  R5 = R5[K10('Done')]
  0026  EQ        if R0 eq R5   -> -128991
  0027  JMP       (jump)   -> 33
  0028  TEST      if not R1 then   -> -131042
  0029  JMP       (jump)   -> 33
  0030  GETTABUP  R4 = _ENV[K9('ECPTaskStatus')]
  0031  GETTABLE  R4 = R4[K11('Awarded')]
  0032  SETTABLE  R0[K8('eProgressStatus')] = R4
  0033  RETURN    return R0..R-1
; ---------- proto41 [GetRewards] ----------
  ; fn ?  line 663-668 np=1 va=0 ms=3 code=11 consts=4 upvals=1 protos=0
  ;   K[0]='Table'
  ;   K[1]='IsEmpty'
  ;   K[2]='serRewards'
  ;   K[3]='rewards'
  ;   upvals: _ENV
  ;   locals: self(0-11)
  0000  GETTABUP  R1 = _ENV[K0('Table')]
  0001  GETTABLE  R1 = R1[K1('IsEmpty')]
  0002  GETTABLE  R2 = R0[K2('serRewards')]
  0003  CALL      R1 = call(R1, 1 args, 1 rets)
  0004  TEST      if not R1 then   -> -131065
  0005  JMP       (jump)   -> 8
  0006  GETTABLE  R1 = R0[K2('serRewards')]
  0007  RETURN    return R1..R0
  0008  GETTABLE  R1 = R0[K3('rewards')]
  0009  RETURN    return R1..R0
  0010  RETURN    return R0..R-1
