# Model_UserData_UserModel_81.luac
; fn @UserModel.lua  line 0-0 np=0 va=1 ms=2 code=60 consts=20 upvals=1 protos=18
;   K[0]='UserModel'
;   K[1]='__index'
;   K[2]='Init'
;   K[3]='IsNewUser'
;   K[4]='CreateNewUser'
;   K[5]='GetData'
;   K[6]='Get'
;   K[7]='GetInNumber'
;   K[8]='Set'
;   K[9]='BatchSet'
;   K[10]='ChangeNumber'
;   K[11]='_GetDBTableByUserDataKey'
;   K[12]='GetUserId'
;   K[13]='SetUserId'
;   K[14]='_SyncUserId2NeedModel'
;   K[15]='EncryptUserId'
;   K[16]='DecryptUserId'
;   K[17]='GetDisplayUserId'
;   K[18]='GetInstallUuid'
;   K[19]='SetInstallUuid'
;   upvals: _ENV
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABUP  _ENV[K0('UserModel')] = R0
0002  GETTABUP  R0 = _ENV[K0('UserModel')]
0003  GETTABUP  R1 = _ENV[K0('UserModel')]
0004  SETTABLE  R0[K1('__index')] = R1
0005  GETTABUP  R0 = _ENV[K0('UserModel')]
0006  CLOSURE   R1 = closure proto0
0007  SETTABLE  R0[K2('Init')] = R1
0008  GETTABUP  R0 = _ENV[K0('UserModel')]
0009  CLOSURE   R1 = closure proto1
0010  SETTABLE  R0[K3('IsNewUser')] = R1
0011  GETTABUP  R0 = _ENV[K0('UserModel')]
0012  CLOSURE   R1 = closure proto2
0013  SETTABLE  R0[K4('CreateNewUser')] = R1
0014  GETTABUP  R0 = _ENV[K0('UserModel')]
0015  CLOSURE   R1 = closure proto3
0016  SETTABLE  R0[K5('GetData')] = R1
0017  GETTABUP  R0 = _ENV[K0('UserModel')]
0018  CLOSURE   R1 = closure proto4
0019  SETTABLE  R0[K6('Get')] = R1
0020  GETTABUP  R0 = _ENV[K0('UserModel')]
0021  CLOSURE   R1 = closure proto5
0022  SETTABLE  R0[K7('GetInNumber')] = R1
0023  GETTABUP  R0 = _ENV[K0('UserModel')]
0024  CLOSURE   R1 = closure proto6
0025  SETTABLE  R0[K8('Set')] = R1
0026  GETTABUP  R0 = _ENV[K0('UserModel')]
0027  CLOSURE   R1 = closure proto7
0028  SETTABLE  R0[K9('BatchSet')] = R1
0029  GETTABUP  R0 = _ENV[K0('UserModel')]
0030  CLOSURE   R1 = closure proto8
0031  SETTABLE  R0[K10('ChangeNumber')] = R1
0032  GETTABUP  R0 = _ENV[K0('UserModel')]
0033  CLOSURE   R1 = closure proto9
0034  SETTABLE  R0[K11('_GetDBTableByUserDataKey')] = R1
0035  GETTABUP  R0 = _ENV[K0('UserModel')]
0036  CLOSURE   R1 = closure proto10
0037  SETTABLE  R0[K12('GetUserId')] = R1
0038  GETTABUP  R0 = _ENV[K0('UserModel')]
0039  CLOSURE   R1 = closure proto11
0040  SETTABLE  R0[K13('SetUserId')] = R1
0041  GETTABUP  R0 = _ENV[K0('UserModel')]
0042  CLOSURE   R1 = closure proto12
0043  SETTABLE  R0[K14('_SyncUserId2NeedModel')] = R1
0044  GETTABUP  R0 = _ENV[K0('UserModel')]
0045  CLOSURE   R1 = closure proto13
0046  SETTABLE  R0[K15('EncryptUserId')] = R1
0047  GETTABUP  R0 = _ENV[K0('UserModel')]
0048  CLOSURE   R1 = closure proto14
0049  SETTABLE  R0[K16('DecryptUserId')] = R1
0050  GETTABUP  R0 = _ENV[K0('UserModel')]
0051  CLOSURE   R1 = closure proto15
0052  SETTABLE  R0[K17('GetDisplayUserId')] = R1
0053  GETTABUP  R0 = _ENV[K0('UserModel')]
0054  CLOSURE   R1 = closure proto16
0055  SETTABLE  R0[K18('GetInstallUuid')] = R1
0056  GETTABUP  R0 = _ENV[K0('UserModel')]
0057  CLOSURE   R1 = closure proto17
0058  SETTABLE  R0[K19('SetInstallUuid')] = R1
0059  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 4-26 np=1 va=0 ms=6 code=62 consts=26 upvals=1 protos=0
  ;   K[0]='m_localDBTable'
  ;   K[1]='GM'
  ;   K[2]='DBTableManager'
  ;   K[3]='GetTable'
  ;   K[4]='EDBTableConfigs'
  ;   K[5]='Local'
  ;   K[6]='GetInstallUuid'
  ;   K[7]='StringUtil'
  ;   K[8]='IsNilOrEmpty'
  ;   K[9]='PlatformInterface'
  ;   K[10]='GenerateUUID'
  ;   K[11]='SetInstallUuid'
  ;   K[12]='PlayerPrefs'
  ;   K[13]='GetString'
  ;   K[14]='EPlayerPrefKey'
  ;   K[15]='UUIDForCSharp'
  ;   K[16]='SetString'
  ;   K[17]='m_syncDBTable'
  ;   K[18]='User'
  ;   K[19]='GetUserId'
  ;   K[20]=0
  ;   K[21]='_SyncUserId2NeedModel'
  ;   K[22]='newInstallUser'
  ;   K[23]=true
  ;   K[24]='IsEmpty'
  ;   K[25]='newUser'
  ;   upvals: _ENV
  ;   locals: self(0-62), uuid(9-62), userid(48-62)
  0000  GETTABUP  R1 = _ENV[K1('GM')]
  0001  GETTABLE  R1 = R1[K2('DBTableManager')]
  0002  SELF      R2 = R1[K3('GetTable')] (self)
  0003  GETTABUP  R3 = _ENV[K4('EDBTableConfigs')]
  0004  GETTABLE  R3 = R3[K5('Local')]
  0005  CALL      R1 = call(R1, 1 args, 2 rets)
  0006  SETTABLE  R0[K0('m_localDBTable')] = R1
  0007  SELF      R2 = R0[K6('GetInstallUuid')] (self)
  0008  CALL      R1 = call(R1, 1 args, 1 rets)
  0009  GETTABUP  R2 = _ENV[K7('StringUtil')]
  0010  GETTABLE  R2 = R2[K8('IsNilOrEmpty')]
  0011  MOVE      R3 = R0
  0012  CALL      R2 = call(R2, 1 args, 1 rets)
  0013  TEST      if not R2 then   -> -131057
  0014  JMP       (jump)   -> 23
  0015  GETTABUP  R2 = _ENV[K9('PlatformInterface')]
  0016  GETTABLE  R2 = R2[K10('GenerateUUID')]
  0017  CALL      R2 = call(R2, 1 args, 0 rets)
  0018  MOVE      R1 = R0
  0019  SELF      R3 = R0[K11('SetInstallUuid')] (self)
  0020  MOVE      R4 = R0
  0021  CALL      R2 = call(R2, 0 args, 2 rets)
  0022  JMP       (jump)   -> 39
  0023  GETTABUP  R2 = _ENV[K7('StringUtil')]
  0024  GETTABLE  R2 = R2[K8('IsNilOrEmpty')]
  0025  GETTABUP  R3 = _ENV[K12('PlayerPrefs')]
  0026  GETTABLE  R3 = R3[K13('GetString')]
  0027  GETTABUP  R4 = _ENV[K14('EPlayerPrefKey')]
  0028  GETTABLE  R4 = R4[K15('UUIDForCSharp')]
  0029  CALL      R3 = call(R3, -1 args, 1 rets)
  0030  CALL      R2 = call(R2, 1 args, -1 rets)
  0031  TEST      if not R2 then   -> -131039
  0032  JMP       (jump)   -> 39
  0033  GETTABUP  R2 = _ENV[K12('PlayerPrefs')]
  0034  GETTABLE  R2 = R2[K16('SetString')]
  0035  GETTABUP  R3 = _ENV[K14('EPlayerPrefKey')]
  0036  GETTABLE  R3 = R3[K15('UUIDForCSharp')]
  0037  MOVE      R4 = R0
  0038  CALL      R2 = call(R2, 0 args, 2 rets)
  0039  GETTABUP  R2 = _ENV[K1('GM')]
  0040  GETTABLE  R2 = R2[K2('DBTableManager')]
  0041  SELF      R3 = R2[K3('GetTable')] (self)
  0042  GETTABUP  R4 = _ENV[K4('EDBTableConfigs')]
  0043  GETTABLE  R4 = R4[K18('User')]
  0044  CALL      R2 = call(R2, 1 args, 2 rets)
  0045  SETTABLE  R0[K17('m_syncDBTable')] = R2
  0046  SELF      R3 = R0[K19('GetUserId')] (self)
  0047  CALL      R2 = call(R2, 1 args, 1 rets)
  0048  EQ        if R1 eq K20(0)   -> -129722
  0049  JMP       (jump)   -> 54
  0050  SELF      R4 = R0[K21('_SyncUserId2NeedModel')] (self)
  0051  MOVE      R5 = R0
  0052  CALL      R3 = call(R3, 0 args, 2 rets)
  0053  JMP       (jump)   -> 61
  0054  SETTABLE  R0[K22('newInstallUser')] = K23(true)
  0055  GETTABLE  R3 = R0[K17('m_syncDBTable')]
  0056  SELF      R4 = R3[K24('IsEmpty')] (self)
  0057  CALL      R3 = call(R3, 1 args, 1 rets)
  0058  TEST      if not R3 then   -> -131012
  0059  JMP       (jump)   -> 61
  0060  SETTABLE  R0[K25('newUser')] = K23(true)
  0061  RETURN    return R0..R-1
; ---------- proto1 [IsNewUser] ----------
  ; fn ?  line 28-30 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='newUser'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('newUser')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto2 [CreateNewUser] ----------
  ; fn ?  line 32-35 np=1 va=0 ms=3 code=6 consts=5 upvals=1 protos=0
  ;   K[0]='newUser'
  ;   K[1]=false
  ;   K[2]='GM'
  ;   K[3]='PropertyDataManager'
  ;   K[4]='CreateNewUser'
  ;   upvals: _ENV
  ;   locals: self(0-6)
  0000  SETTABLE  R0[K0('newUser')] = K1(false)
  0001  GETTABUP  R1 = _ENV[K2('GM')]
  0002  GETTABLE  R1 = R1[K3('PropertyDataManager')]
  0003  SELF      R2 = R1[K4('CreateNewUser')] (self)
  0004  CALL      R1 = call(R1, 0 args, 1 rets)
  0005  RETURN    return R0..R-1
; ---------- proto3 [GetData] ----------
  ; fn ?  line 38-40 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_syncDBTable'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_syncDBTable')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto4 [Get] ----------
  ; fn ?  line 43-51 np=2 va=0 ms=6 code=29 consts=11 upvals=1 protos=0
  ;   K[0]='Log'
  ;   K[1]='Assert'
  ;   K[2]='EPlayerPrefKey'
  ;   K[3]='InstallUuid'
  ;   K[4]='必须使用UserModel.GetInstallUuid访问uuid'
  ;   K[5]='EUserLocalDataKey'
  ;   K[6]='UserId'
  ;   K[7]='必须使用UserModel.GetUserId访问userid'
  ;   K[8]='_GetDBTableByUserDataKey'
  ;   K[9]='GetValue'
  ;   K[10]='value'
  ;   upvals: _ENV
  ;   locals: self(0-29), userDataKey(0-29)
  0000  GETTABUP  R2 = _ENV[K0('Log')]
  0001  GETTABLE  R2 = R2[K1('Assert')]
  0002  GETTABUP  R3 = _ENV[K2('EPlayerPrefKey')]
  0003  GETTABLE  R3 = R3[K3('InstallUuid')]
  0004  EQ        if R0 eq R3   -> -130551
  0005  JMP       (jump)   -> 7
  0006  LOADBOOL  R3 = false
  0007  LOADBOOL  R3 = true
  0008  LOADK     R4 = K4 '必须使用UserModel.GetInstallUuid访问uuid'
  0009  CALL      R2 = call(R2, 0 args, 2 rets)
  0010  GETTABUP  R2 = _ENV[K0('Log')]
  0011  GETTABLE  R2 = R2[K1('Assert')]
  0012  GETTABUP  R3 = _ENV[K5('EUserLocalDataKey')]
  0013  GETTABLE  R3 = R3[K6('UserId')]
  0014  EQ        if R0 eq R3   -> -130541
  0015  JMP       (jump)   -> 17
  0016  LOADBOOL  R3 = false
  0017  LOADBOOL  R3 = true
  0018  LOADK     R4 = K7 '必须使用UserModel.GetUserId访问userid'
  0019  CALL      R2 = call(R2, 0 args, 2 rets)
  0020  SELF      R3 = R0[K8('_GetDBTableByUserDataKey')] (self)
  0021  MOVE      R4 = R0
  0022  CALL      R2 = call(R2, 1 args, 2 rets)
  0023  SELF      R3 = R2[K9('GetValue')] (self)
  0024  MOVE      R4 = R0
  0025  LOADK     R5 = K10 'value'
  0026  TAILCALL  tailcall(R2, 0)
  0027  RETURN    return R2..R1
  0028  RETURN    return R0..R-1
; ---------- proto5 [GetInNumber] ----------
  ; fn ?  line 53-55 np=2 va=0 ms=6 code=10 consts=3 upvals=1 protos=0
  ;   K[0]='tonumber'
  ;   K[1]='Get'
  ;   K[2]=0
  ;   upvals: _ENV
  ;   locals: self(0-10), userDataKey(0-10)
  0000  GETTABUP  R2 = _ENV[K0('tonumber')]
  0001  SELF      R4 = R0[K1('Get')] (self)
  0002  MOVE      R5 = R0
  0003  CALL      R3 = call(R3, -1 args, 2 rets)
  0004  CALL      R2 = call(R2, 1 args, -1 rets)
  0005  TEST      if not R2 then   -> -131064
  0006  JMP       (jump)   -> 8
  0007  LOADK     R2 = K2 0
  0008  RETURN    return R2..R1
  0009  RETURN    return R0..R-1
; ---------- proto6 [Set] ----------
  ; fn ?  line 57-65 np=3 va=0 ms=9 code=31 consts=12 upvals=1 protos=0
  ;   K[0]='Log'
  ;   K[1]='Assert'
  ;   K[2]='EPlayerPrefKey'
  ;   K[3]='InstallUuid'
  ;   K[4]='必须使用UserModel.SetInstallUuid访问uuid'
  ;   K[5]='EUserLocalDataKey'
  ;   K[6]='UserId'
  ;   K[7]='必须使用UserModel.GetUserId设置userid'
  ;   K[8]='_GetDBTableByUserDataKey'
  ;   K[9]='Set'
  ;   K[10]='value'
  ;   K[11]='tostring'
  ;   upvals: _ENV
  ;   locals: self(0-31), userDataKey(0-31), value(0-31)
  0000  GETTABUP  R3 = _ENV[K0('Log')]
  0001  GETTABLE  R3 = R3[K1('Assert')]
  0002  GETTABUP  R4 = _ENV[K2('EPlayerPrefKey')]
  0003  GETTABLE  R4 = R4[K3('InstallUuid')]
  0004  EQ        if R0 eq R4   -> -130550
  0005  JMP       (jump)   -> 7
  0006  LOADBOOL  R4 = false
  0007  LOADBOOL  R4 = true
  0008  LOADK     R5 = K4 '必须使用UserModel.SetInstallUuid访问uuid'
  0009  CALL      R3 = call(R3, 0 args, 2 rets)
  0010  GETTABUP  R3 = _ENV[K0('Log')]
  0011  GETTABLE  R3 = R3[K1('Assert')]
  0012  GETTABUP  R4 = _ENV[K5('EUserLocalDataKey')]
  0013  GETTABLE  R4 = R4[K6('UserId')]
  0014  EQ        if R0 eq R4   -> -130540
  0015  JMP       (jump)   -> 17
  0016  LOADBOOL  R4 = false
  0017  LOADBOOL  R4 = true
  0018  LOADK     R5 = K7 '必须使用UserModel.GetUserId设置userid'
  0019  CALL      R3 = call(R3, 0 args, 2 rets)
  0020  SELF      R4 = R0[K8('_GetDBTableByUserDataKey')] (self)
  0021  MOVE      R5 = R0
  0022  CALL      R3 = call(R3, 1 args, 2 rets)
  0023  SELF      R4 = R3[K9('Set')] (self)
  0024  MOVE      R5 = R0
  0025  LOADK     R6 = K10 'value'
  0026  GETTABUP  R7 = _ENV[K11('tostring')]
  0027  MOVE      R8 = R0
  0028  CALL      R7 = call(R7, -1 args, 1 rets)
  0029  CALL      R3 = call(R3, 0 args, -1 rets)
  0030  RETURN    return R0..R-1
; ---------- proto7 [BatchSet] ----------
  ; fn ?  line 67-84 np=2 va=0 ms=12 code=29 consts=6 upvals=1 protos=0
  ;   K[0]=nil
  ;   K[1]='pairs'
  ;   K[2]='_GetDBTableByUserDataKey'
  ;   K[3]='m_localDBTable'
  ;   K[4]='BatchSet'
  ;   K[5]='m_syncDBTable'
  ;   upvals: _ENV
  ;   locals: self(0-29), mapContent(0-29), mapLocalContent(4-29), mapSyncContent(5-29), (for generator)(8-20), (for state)(8-20), (for control)(8-20), k(9-18), v(9-18)
  0000  EQ        if R0 eq K0(nil)   -> -130302
  0001  JMP       (jump)   -> 3
  0002  RETURN    return R0..R-1
  0003  NEWTABLE  R2 = {} (0 items)
  0004  NEWTABLE  R3 = {} (0 items)
  0005  GETTABUP  R4 = _ENV[K1('pairs')]
  0006  MOVE      R5 = R0
  0007  CALL      R4 = call(R4, 3 args, 1 rets)
  0008  JMP       (jump)   -> 18
  0009  SELF      R10 = R0[K2('_GetDBTableByUserDataKey')] (self)
  0010  MOVE      R11 = R0
  0011  CALL      R9 = call(R9, 1 args, 2 rets)
  0012  GETTABLE  R10 = R0[K3('m_localDBTable')]
  0013  EQ        if R0 eq R10   -> -126439
  0014  JMP       (jump)   -> 17
  0015  SETTABLE  R2[R7] = R8
  0016  JMP       (jump)   -> 18
  0017  SETTABLE  R3[R7] = R8
  0018  TFORCALL  tforcall R4
  0019  TFORLOOP  tforloop R6(sBx=-11)   -> 9
  0020  GETTABLE  R4 = R0[K3('m_localDBTable')]
  0021  SELF      R5 = R4[K4('BatchSet')] (self)
  0022  MOVE      R6 = R0
  0023  CALL      R4 = call(R4, 0 args, 2 rets)
  0024  GETTABLE  R4 = R0[K5('m_syncDBTable')]
  0025  SELF      R5 = R4[K4('BatchSet')] (self)
  0026  MOVE      R6 = R0
  0027  CALL      R4 = call(R4, 0 args, 2 rets)
  0028  RETURN    return R0..R-1
; ---------- proto8 [ChangeNumber] ----------
  ; fn ?  line 86-98 np=3 va=0 ms=9 code=23 consts=6 upvals=1 protos=0
  ;   K[0]=0
  ;   K[1]='GetInNumber'
  ;   K[2]='Log'
  ;   K[3]='Error'
  ;   K[4]='user property change to less than zero'
  ;   K[5]='Set'
  ;   upvals: _ENV
  ;   locals: self(0-23), key(0-23), delta(0-23), curNum(7-23), newNum(8-23)
  0000  EQ        if R0 eq K0(0)   -> -129790
  0001  JMP       (jump)   -> 4
  0002  LOADBOOL  R3 = true
  0003  RETURN    return R3..R2
  0004  SELF      R4 = R0[K1('GetInNumber')] (self)
  0005  MOVE      R5 = R0
  0006  CALL      R3 = call(R3, 1 args, 2 rets)
  0007  ADD       R4 = R2 add R3
  0008  LT        if R0 lt K0(0)   -> -128758
  0009  JMP       (jump)   -> 16
  0010  GETTABUP  R5 = _ENV[K2('Log')]
  0011  GETTABLE  R5 = R5[K3('Error')]
  0012  LOADK     R6 = K4 'user property change to less than zero'
  0013  CALL      R5 = call(R5, 0 args, 1 rets)
  0014  LOADBOOL  R5 = false
  0015  RETURN    return R5..R4
  0016  SELF      R6 = R0[K5('Set')] (self)
  0017  MOVE      R7 = R0
  0018  MOVE      R8 = R0
  0019  CALL      R5 = call(R5, 0 args, 3 rets)
  0020  LOADBOOL  R5 = true
  0021  RETURN    return R5..R4
  0022  RETURN    return R0..R-1
; ---------- proto9 [_GetDBTableByUserDataKey] ----------
  ; fn ?  line 100-108 np=2 va=0 ms=8 code=23 consts=7 upvals=1 protos=0
  ;   K[0]='m_mapUserLocalDataKey'
  ;   K[1]=nil
  ;   K[2]='pairs'
  ;   K[3]='EUserLocalDataKey'
  ;   K[4]=true
  ;   K[5]='m_localDBTable'
  ;   K[6]='m_syncDBTable'
  ;   upvals: _ENV
  ;   locals: self(0-23), userDataKey(0-23), (for generator)(8-13), (for state)(8-13), (for control)(8-13), _(9-11), v(9-11)
  0000  GETTABLE  R2 = R0[K0('m_mapUserLocalDataKey')]
  0001  EQ        if R0 eq K1(nil)   -> -129788
  0002  JMP       (jump)   -> 13
  0003  NEWTABLE  R2 = {} (0 items)
  0004  SETTABLE  R0[K0('m_mapUserLocalDataKey')] = R2
  0005  GETTABUP  R2 = _ENV[K2('pairs')]
  0006  GETTABUP  R3 = _ENV[K3('EUserLocalDataKey')]
  0007  CALL      R2 = call(R2, 3 args, 1 rets)
  0008  JMP       (jump)   -> 11
  0009  GETTABLE  R7 = R0[K0('m_mapUserLocalDataKey')]
  0010  SETTABLE  R7[R6] = K4(true)
  0011  TFORCALL  tforcall R2
  0012  TFORLOOP  tforloop R4(sBx=-4)   -> 9
  0013  GETTABLE  R2 = R0[K0('m_mapUserLocalDataKey')]
  0014  GETTABLE  R2 = R2[R1]
  0015  TEST      if not R2 then   -> -131055
  0016  JMP       (jump)   -> 20
  0017  GETTABLE  R2 = R0[K5('m_localDBTable')]
  0018  TEST      if not R2 then   -> -131051
  0019  JMP       (jump)   -> 21
  0020  GETTABLE  R2 = R0[K6('m_syncDBTable')]
  0021  RETURN    return R2..R1
  0022  RETURN    return R0..R-1
; ---------- proto10 [GetUserId] ----------
  ; fn ?  line 111-113 np=1 va=0 ms=6 code=13 consts=7 upvals=1 protos=0
  ;   K[0]='tonumber'
  ;   K[1]='m_localDBTable'
  ;   K[2]='GetValue'
  ;   K[3]='EUserLocalDataKey'
  ;   K[4]='UserId'
  ;   K[5]='value'
  ;   K[6]=0
  ;   upvals: _ENV
  ;   locals: self(0-13)
  0000  GETTABUP  R1 = _ENV[K0('tonumber')]
  0001  GETTABLE  R2 = R0[K1('m_localDBTable')]
  0002  SELF      R3 = R2[K2('GetValue')] (self)
  0003  GETTABUP  R4 = _ENV[K3('EUserLocalDataKey')]
  0004  GETTABLE  R4 = R4[K4('UserId')]
  0005  LOADK     R5 = K5 'value'
  0006  CALL      R2 = call(R2, -1 args, 3 rets)
  0007  CALL      R1 = call(R1, 1 args, -1 rets)
  0008  TEST      if not R1 then   -> -131061
  0009  JMP       (jump)   -> 11
  0010  LOADK     R1 = K6 0
  0011  RETURN    return R1..R0
  0012  RETURN    return R0..R-1
; ---------- proto11 [SetUserId] ----------
  ; fn ?  line 115-119 np=2 va=0 ms=8 code=19 consts=10 upvals=1 protos=0
  ;   K[0]='m_localDBTable'
  ;   K[1]='Set'
  ;   K[2]='EUserLocalDataKey'
  ;   K[3]='UserId'
  ;   K[4]='value'
  ;   K[5]='tostring'
  ;   K[6]='_SyncUserId2NeedModel'
  ;   K[7]='Log'
  ;   K[8]='Info'
  ;   K[9]='UserModel UserId changed to '
  ;   upvals: _ENV
  ;   locals: self(0-19), userId(0-19)
  0000  GETTABLE  R2 = R0[K0('m_localDBTable')]
  0001  SELF      R3 = R2[K1('Set')] (self)
  0002  GETTABUP  R4 = _ENV[K2('EUserLocalDataKey')]
  0003  GETTABLE  R4 = R4[K3('UserId')]
  0004  LOADK     R5 = K4 'value'
  0005  GETTABUP  R6 = _ENV[K5('tostring')]
  0006  MOVE      R7 = R0
  0007  CALL      R6 = call(R6, -1 args, 1 rets)
  0008  CALL      R2 = call(R2, 0 args, -1 rets)
  0009  SELF      R3 = R0[K6('_SyncUserId2NeedModel')] (self)
  0010  MOVE      R4 = R0
  0011  CALL      R2 = call(R2, 0 args, 2 rets)
  0012  GETTABUP  R2 = _ENV[K7('Log')]
  0013  GETTABLE  R2 = R2[K8('Info')]
  0014  LOADK     R3 = K9 'UserModel UserId changed to '
  0015  MOVE      R4 = R0
  0016  CONCAT    R3 = concat(R3..R3)
  0017  CALL      R2 = call(R2, 0 args, 1 rets)
  0018  RETURN    return R0..R-1
; ---------- proto12 [_SyncUserId2NeedModel] ----------
  ; fn ?  line 121-126 np=2 va=0 ms=6 code=21 consts=11 upvals=1 protos=0
  ;   K[0]='CSFirebaseManager'
  ;   K[1]='SetUserId'
  ;   K[2]='tostring'
  ;   K[3]='CSAppsFlyerManager'
  ;   K[4]='SetCuid'
  ;   K[5]='PlayerPrefs'
  ;   K[6]='SetInt'
  ;   K[7]='EPlayerPrefKey'
  ;   K[8]='UserIdForCSharp'
  ;   K[9]='CSBIManager'
  ;   K[10]='userId'
  ;   upvals: _ENV
  ;   locals: self(0-21), userId(0-21)
  0000  GETTABUP  R2 = _ENV[K0('CSFirebaseManager')]
  0001  SELF      R3 = R2[K1('SetUserId')] (self)
  0002  GETTABUP  R4 = _ENV[K2('tostring')]
  0003  MOVE      R5 = R0
  0004  CALL      R4 = call(R4, -1 args, 1 rets)
  0005  CALL      R2 = call(R2, 0 args, -1 rets)
  0006  GETTABUP  R2 = _ENV[K3('CSAppsFlyerManager')]
  0007  SELF      R3 = R2[K4('SetCuid')] (self)
  0008  GETTABUP  R4 = _ENV[K2('tostring')]
  0009  MOVE      R5 = R0
  0010  CALL      R4 = call(R4, -1 args, 1 rets)
  0011  CALL      R2 = call(R2, 0 args, -1 rets)
  0012  GETTABUP  R2 = _ENV[K5('PlayerPrefs')]
  0013  GETTABLE  R2 = R2[K6('SetInt')]
  0014  GETTABUP  R3 = _ENV[K7('EPlayerPrefKey')]
  0015  GETTABLE  R3 = R3[K8('UserIdForCSharp')]
  0016  MOVE      R4 = R0
  0017  CALL      R2 = call(R2, 0 args, 2 rets)
  0018  GETTABUP  R2 = _ENV[K9('CSBIManager')]
  0019  SETTABLE  R2[K10('userId')] = R1
  0020  RETURN    return R0..R-1
; ---------- proto13 [EncryptUserId] ----------
  ; fn ?  line 128-131 np=2 va=0 ms=4 code=7 consts=3 upvals=1 protos=0
  ;   K[0]='CS'
  ;   K[1]='Base32'
  ;   K[2]='Encode'
  ;   upvals: _ENV
  ;   locals: self(0-7), iUserId(0-7), strEncrypted(5-7)
  0000  GETTABUP  R2 = _ENV[K0('CS')]
  0001  GETTABLE  R2 = R2[K1('Base32')]
  0002  GETTABLE  R2 = R2[K2('Encode')]
  0003  MOVE      R3 = R0
  0004  CALL      R2 = call(R2, 1 args, 1 rets)
  0005  RETURN    return R2..R1
  0006  RETURN    return R0..R-1
; ---------- proto14 [DecryptUserId] ----------
  ; fn ?  line 133-136 np=2 va=0 ms=4 code=7 consts=3 upvals=1 protos=0
  ;   K[0]='CS'
  ;   K[1]='Base32'
  ;   K[2]='Decode'
  ;   upvals: _ENV
  ;   locals: self(0-7), strUserId(0-7), iDecrypted(5-7)
  0000  GETTABUP  R2 = _ENV[K0('CS')]
  0001  GETTABLE  R2 = R2[K1('Base32')]
  0002  GETTABLE  R2 = R2[K2('Decode')]
  0003  MOVE      R3 = R0
  0004  CALL      R2 = call(R2, 1 args, 1 rets)
  0005  RETURN    return R2..R1
  0006  RETURN    return R0..R-1
; ---------- proto15 [GetDisplayUserId] ----------
  ; fn ?  line 138-141 np=1 va=0 ms=5 code=7 consts=2 upvals=0 protos=0
  ;   K[0]='GetUserId'
  ;   K[1]='EncryptUserId'
  ;   locals: self(0-7), iUserId(2-7)
  0000  SELF      R2 = R0[K0('GetUserId')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  SELF      R3 = R0[K1('EncryptUserId')] (self)
  0003  MOVE      R4 = R0
  0004  TAILCALL  tailcall(R2, 0)
  0005  RETURN    return R2..R1
  0006  RETURN    return R0..R-1
; ---------- proto16 [GetInstallUuid] ----------
  ; fn ?  line 143-145 np=1 va=0 ms=4 code=8 consts=5 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='SimplePrefs'
  ;   K[2]='Get'
  ;   K[3]='EPlayerPrefKey'
  ;   K[4]='InstallUuid'
  ;   upvals: _ENV
  ;   locals: self(0-8)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('SimplePrefs')]
  0002  SELF      R2 = R1[K2('Get')] (self)
  0003  GETTABUP  R3 = _ENV[K3('EPlayerPrefKey')]
  0004  GETTABLE  R3 = R3[K4('InstallUuid')]
  0005  TAILCALL  tailcall(R1, 0)
  0006  RETURN    return R1..R0
  0007  RETURN    return R0..R-1
; ---------- proto17 [SetInstallUuid] ----------
  ; fn ?  line 147-152 np=2 va=0 ms=6 code=14 consts=8 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='SimplePrefs'
  ;   K[2]='Set'
  ;   K[3]='EPlayerPrefKey'
  ;   K[4]='InstallUuid'
  ;   K[5]='PlayerPrefs'
  ;   K[6]='SetString'
  ;   K[7]='UUIDForCSharp'
  ;   upvals: _ENV
  ;   locals: self(0-14), uuid(0-14)
  0000  GETTABUP  R2 = _ENV[K0('GM')]
  0001  GETTABLE  R2 = R2[K1('SimplePrefs')]
  0002  SELF      R3 = R2[K2('Set')] (self)
  0003  GETTABUP  R4 = _ENV[K3('EPlayerPrefKey')]
  0004  GETTABLE  R4 = R4[K4('InstallUuid')]
  0005  MOVE      R5 = R0
  0006  CALL      R2 = call(R2, 0 args, 3 rets)
  0007  GETTABUP  R2 = _ENV[K5('PlayerPrefs')]
  0008  GETTABLE  R2 = R2[K6('SetString')]
  0009  GETTABUP  R3 = _ENV[K3('EPlayerPrefKey')]
  0010  GETTABLE  R3 = R3[K7('UUIDForCSharp')]
  0011  MOVE      R4 = R0
  0012  CALL      R2 = call(R2, 0 args, 2 rets)
  0013  RETURN    return R0..R-1
