# UI_Window_Setting_UserAvatar_561.luac
; fn @UserAvatar.lua  line 0-0 np=0 va=1 ms=2 code=38 consts=17 upvals=1 protos=7
;   K[0]='UserAvatar'
;   K[1]='__index'
;   K[2]='EAvatarFrame'
;   K[3]='Normal'
;   K[4]='ImageFileConfigName'
;   K[5]='head_frame'
;   K[6]='Highlight'
;   K[7]='head_frame2'
;   K[8]='PkRace'
;   K[9]='head_frame_pkrace'
;   K[10]='OnDestroy'
;   K[11]='SetMySelf'
;   K[12]='SetAvatar'
;   K[13]='_TryRecycleFrame'
;   K[14]='UpdateFrame'
;   K[15]='_TryRecycleBadge'
;   K[16]='UpdateBadge'
;   upvals: _ENV
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABUP  _ENV[K0('UserAvatar')] = R0
0002  GETTABUP  R0 = _ENV[K0('UserAvatar')]
0003  GETTABUP  R1 = _ENV[K0('UserAvatar')]
0004  SETTABLE  R0[K1('__index')] = R1
0005  NEWTABLE  R0 = {} (0 items)
0006  GETTABUP  R1 = _ENV[K4('ImageFileConfigName')]
0007  GETTABLE  R1 = R1[K5('head_frame')]
0008  SETTABLE  R0[K3('Normal')] = R1
0009  GETTABUP  R1 = _ENV[K4('ImageFileConfigName')]
0010  GETTABLE  R1 = R1[K7('head_frame2')]
0011  SETTABLE  R0[K6('Highlight')] = R1
0012  GETTABUP  R1 = _ENV[K4('ImageFileConfigName')]
0013  GETTABLE  R1 = R1[K9('head_frame_pkrace')]
0014  SETTABLE  R0[K8('PkRace')] = R1
0015  SETTABUP  _ENV[K2('EAvatarFrame')] = R0
0016  GETTABUP  R0 = _ENV[K0('UserAvatar')]
0017  CLOSURE   R1 = closure proto0
0018  SETTABLE  R0[K10('OnDestroy')] = R1
0019  GETTABUP  R0 = _ENV[K0('UserAvatar')]
0020  CLOSURE   R1 = closure proto1
0021  SETTABLE  R0[K11('SetMySelf')] = R1
0022  GETTABUP  R0 = _ENV[K0('UserAvatar')]
0023  CLOSURE   R1 = closure proto2
0024  SETTABLE  R0[K12('SetAvatar')] = R1
0025  GETTABUP  R0 = _ENV[K0('UserAvatar')]
0026  CLOSURE   R1 = closure proto3
0027  SETTABLE  R0[K13('_TryRecycleFrame')] = R1
0028  GETTABUP  R0 = _ENV[K0('UserAvatar')]
0029  CLOSURE   R1 = closure proto4
0030  SETTABLE  R0[K14('UpdateFrame')] = R1
0031  GETTABUP  R0 = _ENV[K0('UserAvatar')]
0032  CLOSURE   R1 = closure proto5
0033  SETTABLE  R0[K15('_TryRecycleBadge')] = R1
0034  GETTABUP  R0 = _ENV[K0('UserAvatar')]
0035  CLOSURE   R1 = closure proto6
0036  SETTABLE  R0[K16('UpdateBadge')] = R1
0037  RETURN    return R0..R-1
; ---------- proto0 [OnDestroy] ----------
  ; fn ?  line 22-25 np=1 va=0 ms=3 code=5 consts=2 upvals=0 protos=0
  ;   K[0]='_TryRecycleBadge'
  ;   K[1]='_TryRecycleFrame'
  ;   locals: self(0-5)
  0000  SELF      R2 = R0[K0('_TryRecycleBadge')] (self)
  0001  CALL      R1 = call(R1, 0 args, 1 rets)
  0002  SELF      R2 = R0[K1('_TryRecycleFrame')] (self)
  0003  CALL      R1 = call(R1, 0 args, 1 rets)
  0004  RETURN    return R0..R-1
; ---------- proto1 [SetMySelf] ----------
  ; fn ?  line 28-30 np=2 va=0 ms=9 code=16 consts=6 upvals=1 protos=0
  ;   K[0]='SetAvatar'
  ;   K[1]='GM'
  ;   K[2]='UserProfileModel'
  ;   K[3]='GetAvatar'
  ;   K[4]='GetBadge'
  ;   K[5]='GetFrame'
  ;   upvals: _ENV
  ;   locals: self(0-16), defaultFrame(0-16)
  0000  SELF      R3 = R0[K0('SetAvatar')] (self)
  0001  MOVE      R4 = R0
  0002  GETTABUP  R5 = _ENV[K1('GM')]
  0003  GETTABLE  R5 = R5[K2('UserProfileModel')]
  0004  SELF      R6 = R5[K3('GetAvatar')] (self)
  0005  CALL      R5 = call(R5, 1 args, 1 rets)
  0006  GETTABUP  R6 = _ENV[K1('GM')]
  0007  GETTABLE  R6 = R6[K2('UserProfileModel')]
  0008  SELF      R7 = R6[K4('GetBadge')] (self)
  0009  CALL      R6 = call(R6, 1 args, 1 rets)
  0010  GETTABUP  R7 = _ENV[K1('GM')]
  0011  GETTABLE  R7 = R7[K2('UserProfileModel')]
  0012  SELF      R8 = R7[K5('GetFrame')] (self)
  0013  CALL      R7 = call(R7, -1 args, 1 rets)
  0014  CALL      R2 = call(R2, 0 args, -1 rets)
  0015  RETURN    return R0..R-1
; ---------- proto2 [SetAvatar] ----------
  ; fn ?  line 37-88 np=6 va=0 ms=14 code=76 consts=28 upvals=1 protos=2
  ;   K[0]='m_avatarTrans'
  ;   K[1]=nil
  ;   K[2]='m_avatarImg'
  ;   K[3]='gameObject'
  ;   K[4]='transform'
  ;   K[5]=false
  ;   K[6]='GM'
  ;   K[7]='ConfigModel'
  ;   K[8]='CanShowFrame'
  ;   K[9]=''
  ;   K[10]='UpdateFrame'
  ;   K[11]='UpdateBadge'
  ;   K[12]='UserProfileModel'
  ;   K[13]='IsBuildInAvatar'
  ;   K[14]='m_bIgnoreCB'
  ;   K[15]=true
  ;   K[16]='SpriteUtil'
  ;   K[17]='SetImage'
  ;   K[18]='StringUtil'
  ;   K[19]='IsNilOrEmpty'
  ;   K[20]='ImageFileConfigName'
  ;   K[21]='avatar_default'
  ;   K[22]='m_downloadCallback'
  ;   K[23]='m_loadDefaultCallback'
  ;   K[24]='m_avatarImg'
  ;   K[25]='enabled'
  ;   K[26]='LoadUrlImage'
  ;   K[27]='LoadSprite'
  ;   upvals: _ENV
  ;   locals: self(0-76), frame(0-76), avatarIcon(0-76), badgeId(0-76), frameId(0-76), bIsMySelf(0-76), isBuildIn(30-76)
  0000  GETTABLE  R6 = R0[K0('m_avatarTrans')]
  0001  EQ        if R0 eq K1(nil)   -> -127740
  0002  JMP       (jump)   -> 7
  0003  GETTABLE  R6 = R0[K2('m_avatarImg')]
  0004  GETTABLE  R6 = R6[K3('gameObject')]
  0005  GETTABLE  R6 = R6[K4('transform')]
  0006  SETTABLE  R0[K0('m_avatarTrans')] = R6
  0007  EQ        if R0 eq K5(false)   -> -128242
  0008  JMP       (jump)   -> 16
  0009  GETTABUP  R6 = _ENV[K6('GM')]
  0010  GETTABLE  R6 = R6[K7('ConfigModel')]
  0011  SELF      R7 = R6[K8('CanShowFrame')] (self)
  0012  CALL      R6 = call(R6, 1 args, 1 rets)
  0013  TEST      if not R6 then   -> -131056
  0014  JMP       (jump)   -> 16
  0015  LOADK     R4 = K9 ''
  0016  SELF      R7 = R0[K10('UpdateFrame')] (self)
  0017  MOVE      R8 = R0
  0018  MOVE      R9 = R0
  0019  MOVE      R10 = R0
  0020  CALL      R6 = call(R6, 0 args, 4 rets)
  0021  SELF      R7 = R0[K11('UpdateBadge')] (self)
  0022  MOVE      R8 = R0
  0023  MOVE      R9 = R0
  0024  CALL      R6 = call(R6, 0 args, 3 rets)
  0025  GETTABUP  R6 = _ENV[K6('GM')]
  0026  GETTABLE  R6 = R6[K12('UserProfileModel')]
  0027  SELF      R7 = R6[K13('IsBuildInAvatar')] (self)
  0028  MOVE      R8 = R0
  0029  CALL      R6 = call(R6, 1 args, 2 rets)
  0030  TEST      if not R6 then   -> -131040
  0031  JMP       (jump)   -> 39
  0032  SETTABLE  R0[K14('m_bIgnoreCB')] = K15(true)
  0033  GETTABUP  R7 = _ENV[K16('SpriteUtil')]
  0034  GETTABLE  R7 = R7[K17('SetImage')]
  0035  GETTABLE  R8 = R0[K2('m_avatarImg')]
  0036  MOVE      R9 = R0
  0037  CALL      R7 = call(R7, 0 args, 2 rets)
  0038  RETURN    return R0..R-1
  0039  GETTABUP  R7 = _ENV[K18('StringUtil')]
  0040  GETTABLE  R7 = R7[K19('IsNilOrEmpty')]
  0041  MOVE      R8 = R0
  0042  CALL      R7 = call(R7, 1 args, 1 rets)
  0043  TEST      if not R7 then   -> -131027
  0044  JMP       (jump)   -> 53
  0045  SETTABLE  R0[K14('m_bIgnoreCB')] = K15(true)
  0046  GETTABUP  R7 = _ENV[K16('SpriteUtil')]
  0047  GETTABLE  R7 = R7[K17('SetImage')]
  0048  GETTABLE  R8 = R0[K2('m_avatarImg')]
  0049  GETTABUP  R9 = _ENV[K20('ImageFileConfigName')]
  0050  GETTABLE  R9 = R9[K21('avatar_default')]
  0051  CALL      R7 = call(R7, 0 args, 2 rets)
  0052  RETURN    return R0..R-1
  0053  SETTABLE  R0[K14('m_bIgnoreCB')] = K5(false)
  0054  GETTABLE  R7 = R0[K22('m_downloadCallback')]
  0055  EQ        if R0 eq K1(nil)   -> -127174
  0056  JMP       (jump)   -> 59
  0057  CLOSURE   R7 = closure proto0
  0058  SETTABLE  R0[K22('m_downloadCallback')] = R7
  0059  GETTABLE  R7 = R0[K23('m_loadDefaultCallback')]
  0060  EQ        if R0 eq K1(nil)   -> -127169
  0061  JMP       (jump)   -> 64
  0062  CLOSURE   R7 = closure proto1
  0063  SETTABLE  R0[K23('m_loadDefaultCallback')] = R7
  0064  GETTABLE  R7 = R0[K24('m_avatarImg')]
  0065  SETTABLE  R7[K25('enabled')] = K5(false)
  0066  GETTABUP  R7 = _ENV[K26('LoadUrlImage')]
  0067  SELF      R8 = R7[K27('LoadSprite')] (self)
  0068  MOVE      R9 = R0
  0069  GETTABLE  R10 = R0[K22('m_downloadCallback')]
  0070  LOADBOOL  R11 = true
  0071  GETTABUP  R12 = _ENV[K20('ImageFileConfigName')]
  0072  GETTABLE  R12 = R12[K21('avatar_default')]
  0073  GETTABLE  R13 = R0[K23('m_loadDefaultCallback')]
  0074  CALL      R7 = call(R7, 0 args, 6 rets)
  0075  RETURN    return R0..R-1
  ; ---------- proto0 [m_downloadCallback] ----------
    ; fn ?  line 66-73 np=2 va=0 ms=4 code=16 consts=6 upvals=1 protos=0
    ;   K[0]='m_avatarImg'
    ;   K[1]='IsNull'
    ;   K[2]='m_bIgnoreCB'
    ;   K[3]='enabled'
    ;   K[4]=true
    ;   K[5]='sprite'
    ;   upvals: self
    ;   locals: bSuccess(0-16), sprite(0-16)
    0000  TEST      if not R0 then   -> -131070
    0001  JMP       (jump)   -> 15
    0002  GETTABUP  R2 = self[K0('m_avatarImg')]
    0003  SELF      R3 = R2[K1('IsNull')] (self)
    0004  CALL      R2 = call(R2, 1 args, 1 rets)
    0005  TEST      if not R2 then   -> -131064
    0006  JMP       (jump)   -> 15
    0007  GETTABUP  R2 = self[K2('m_bIgnoreCB')]
    0008  TEST      if not R2 then   -> -131062
    0009  JMP       (jump)   -> 11
    0010  RETURN    return R0..R-1
    0011  GETTABUP  R2 = self[K0('m_avatarImg')]
    0012  SETTABLE  R2[K3('enabled')] = K4(true)
    0013  GETTABUP  R2 = self[K0('m_avatarImg')]
    0014  SETTABLE  R2[K5('sprite')] = R1
    0015  RETURN    return R0..R-1
  ; ---------- proto1 [m_loadDefaultCallback] ----------
    ; fn ?  line 77-83 np=1 va=0 ms=3 code=14 consts=6 upvals=1 protos=0
    ;   K[0]='m_bIgnoreCB'
    ;   K[1]='m_avatarImg'
    ;   K[2]='IsNull'
    ;   K[3]='enabled'
    ;   K[4]=true
    ;   K[5]='sprite'
    ;   upvals: self
    ;   locals: sprite(0-14)
    0000  GETTABUP  R1 = self[K0('m_bIgnoreCB')]
    0001  TEST      if not R1 then   -> -131069
    0002  JMP       (jump)   -> 4
    0003  RETURN    return R0..R-1
    0004  GETTABUP  R1 = self[K1('m_avatarImg')]
    0005  SELF      R2 = R1[K2('IsNull')] (self)
    0006  CALL      R1 = call(R1, 1 args, 1 rets)
    0007  TEST      if not R1 then   -> -131062
    0008  JMP       (jump)   -> 13
    0009  GETTABUP  R1 = self[K1('m_avatarImg')]
    0010  SETTABLE  R1[K3('enabled')] = K4(true)
    0011  GETTABUP  R1 = self[K1('m_avatarImg')]
    0012  SETTABLE  R1[K5('sprite')] = R0
    0013  RETURN    return R0..R-1
; ---------- proto3 [_TryRecycleFrame] ----------
  ; fn ?  line 90-95 np=1 va=0 ms=3 code=9 consts=4 upvals=1 protos=0
  ;   K[0]='m_frameView'
  ;   K[1]='Recycle'
  ;   K[2]='gameObject'
  ;   K[3]=nil
  ;   upvals: _ENV
  ;   locals: self(0-9)
  0000  GETTABLE  R1 = R0[K0('m_frameView')]
  0001  TEST      if not R1 then   -> -131069
  0002  JMP       (jump)   -> 8
  0003  GETTABUP  R1 = _ENV[K1('Recycle')]
  0004  GETTABLE  R2 = R0[K0('m_frameView')]
  0005  GETTABLE  R2 = R2[K2('gameObject')]
  0006  CALL      R1 = call(R1, 0 args, 1 rets)
  0007  SETTABLE  R0[K0('m_frameView')] = K3(nil)
  0008  RETURN    return R0..R-1
; ---------- proto4 [UpdateFrame] ----------
  ; fn ?  line 100-149 np=4 va=0 ms=14 code=74 consts=28 upvals=1 protos=1
  ;   K[0]=''
  ;   K[1]='m_frameId'
  ;   K[2]='SpriteUtil'
  ;   K[3]='SetImage'
  ;   K[4]='m_frameImg'
  ;   K[5]='m_frameView'
  ;   K[6]='OnEnable'
  ;   K[7]='GM'
  ;   K[8]='UserProfileModel'
  ;   K[9]='IsValidRewardType'
  ;   K[10]='EProfilePropertyType'
  ;   K[11]='Frame'
  ;   K[12]='_TryRecycleFrame'
  ;   K[13]='StringUtil'
  ;   K[14]='IsNilOrEmpty'
  ;   K[15]='UIUtil'
  ;   K[16]='SetActive'
  ;   K[17]='m_frameRoot'
  ;   K[18]='gameObject'
  ;   K[19]='SetAlpha'
  ;   K[20]=1
  ;   K[21]='DataResource'
  ;   K[22]='UIPrefabConfig'
  ;   K[23]='GetConfig'
  ;   K[24]='UIPrefabConfigName'
  ;   K[25]='ResourceLoader'
  ;   K[26]='LoadPrefab'
  ;   K[27]='V3Zero'
  ;   upvals: _ENV
  ;   locals: self(0-74), defaultFrame(0-74), frameId(0-74), bIsMySelf(0-74), bhasFrame(42-74), res(63-74)
  0000  TEST      if not R2 then   -> -131069
  0001  JMP       (jump)   -> 3
  0002  LOADK     R2 = K0 ''
  0003  GETTABLE  R4 = R0[K1('m_frameId')]
  0004  TEST      if not R4 then   -> -131065
  0005  JMP       (jump)   -> 7
  0006  SETTABLE  R0[K1('m_frameId')] = K0('')
  0007  TEST      if not R1 then   -> -131063
  0008  JMP       (jump)   -> 14
  0009  GETTABUP  R4 = _ENV[K2('SpriteUtil')]
  0010  GETTABLE  R4 = R4[K3('SetImage')]
  0011  GETTABLE  R5 = R0[K4('m_frameImg')]
  0012  MOVE      R6 = R0
  0013  CALL      R4 = call(R4, 0 args, 2 rets)
  0014  GETTABLE  R4 = R0[K1('m_frameId')]
  0015  EQ        if R0 eq R4   -> -130027
  0016  JMP       (jump)   -> 24
  0017  GETTABLE  R4 = R0[K5('m_frameView')]
  0018  TEST      if not R4 then   -> -131052
  0019  JMP       (jump)   -> 23
  0020  GETTABLE  R4 = R0[K5('m_frameView')]
  0021  SELF      R5 = R4[K6('OnEnable')] (self)
  0022  CALL      R4 = call(R4, 0 args, 1 rets)
  0023  RETURN    return R0..R-1
  0024  GETTABUP  R4 = _ENV[K7('GM')]
  0025  GETTABLE  R4 = R4[K8('UserProfileModel')]
  0026  SELF      R5 = R4[K9('IsValidRewardType')] (self)
  0027  GETTABUP  R6 = _ENV[K10('EProfilePropertyType')]
  0028  GETTABLE  R6 = R6[K11('Frame')]
  0029  MOVE      R7 = R0
  0030  CALL      R4 = call(R4, 1 args, 3 rets)
  0031  TEST      if not R4 then   -> -131038
  0032  JMP       (jump)   -> 34
  0033  LOADK     R2 = K0 ''
  0034  SELF      R5 = R0[K12('_TryRecycleFrame')] (self)
  0035  CALL      R4 = call(R4, 0 args, 1 rets)
  0036  SETTABLE  R0[K1('m_frameId')] = R2
  0037  GETTABUP  R4 = _ENV[K13('StringUtil')]
  0038  GETTABLE  R4 = R4[K14('IsNilOrEmpty')]
  0039  MOVE      R5 = R0
  0040  CALL      R4 = call(R4, 1 args, 1 rets)
  0041  NOT       R4 = not R0
  0042  GETTABUP  R5 = _ENV[K15('UIUtil')]
  0043  GETTABLE  R5 = R5[K16('SetActive')]
  0044  GETTABLE  R6 = R0[K17('m_frameRoot')]
  0045  GETTABLE  R6 = R6[K18('gameObject')]
  0046  MOVE      R7 = R0
  0047  CALL      R5 = call(R5, 0 args, 2 rets)
  0048  GETTABUP  R5 = _ENV[K15('UIUtil')]
  0049  GETTABLE  R5 = R5[K19('SetAlpha')]
  0050  GETTABLE  R6 = R0[K4('m_frameImg')]
  0051  LOADK     R7 = K20 1
  0052  CALL      R5 = call(R5, 0 args, 2 rets)
  0053  TEST      if not R4 then   -> -131016
  0054  JMP       (jump)   -> 56
  0055  RETURN    return R0..R-1
  0056  GETTABUP  R5 = _ENV[K7('GM')]
  0057  GETTABLE  R5 = R5[K21('DataResource')]
  0058  GETTABLE  R5 = R5[K22('UIPrefabConfig')]
  0059  SELF      R6 = R5[K23('GetConfig')] (self)
  0060  GETTABUP  R7 = _ENV[K24('UIPrefabConfigName')]
  0061  GETTABLE  R7 = R7[R2]
  0062  CALL      R5 = call(R5, 1 args, 2 rets)
  0063  GETTABUP  R6 = _ENV[K7('GM')]
  0064  GETTABLE  R6 = R6[K25('ResourceLoader')]
  0065  SELF      R7 = R6[K26('LoadPrefab')] (self)
  0066  MOVE      R8 = R0
  0067  GETTABLE  R9 = R0[K17('m_frameRoot')]
  0068  GETTABUP  R10 = _ENV[K27('V3Zero')]
  0069  CLOSURE   R11 = closure proto0
  0070  LOADNIL   R12..R12 = nil
  0071  LOADBOOL  R13 = true
  0072  CALL      R6 = call(R6, 0 args, 7 rets)
  0073  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 135-148 np=1 va=0 ms=6 code=23 consts=11 upvals=3 protos=0
    ;   K[0]='m_frameId'
    ;   K[1]='Recycle'
    ;   K[2]='UIUtil'
    ;   K[3]='SetAlpha'
    ;   K[4]='m_frameImg'
    ;   K[5]=0
    ;   K[6]='GetLuaTable'
    ;   K[7]='m_frameView'
    ;   K[8]='Init'
    ;   K[9]='m_bFrameAppearAnimation'
    ;   K[10]='m_bFrameAppearOnce'
    ;   upvals: self, frameId, _ENV
    ;   locals: go(0-23), frameView(15-23)
    0000  GETTABUP  R1 = self[K0('m_frameId')]
    0001  GETUPVAL  R2 = self
    0002  EQ        if R1 eq R2   -> -130554
    0003  JMP       (jump)   -> 8
    0004  GETTABUP  R1 = _ENV[K1('Recycle')]
    0005  MOVE      R2 = R0
    0006  CALL      R1 = call(R1, 0 args, 1 rets)
    0007  RETURN    return R0..R-1
    0008  GETTABUP  R1 = _ENV[K2('UIUtil')]
    0009  GETTABLE  R1 = R1[K3('SetAlpha')]
    0010  GETTABUP  R2 = self[K4('m_frameImg')]
    0011  LOADK     R3 = K5 0
    0012  CALL      R1 = call(R1, 0 args, 2 rets)
    0013  SELF      R2 = R0[K6('GetLuaTable')] (self)
    0014  CALL      R1 = call(R1, 1 args, 1 rets)
    0015  SETTABUP  self[K7('m_frameView')] = R1
    0016  TEST      if not R1 then   -> -131054
    0017  JMP       (jump)   -> 22
    0018  SELF      R3 = R1[K8('Init')] (self)
    0019  GETTABUP  R4 = self[K9('m_bFrameAppearAnimation')]
    0020  GETTABUP  R5 = self[K10('m_bFrameAppearOnce')]
    0021  CALL      R2 = call(R2, 0 args, 3 rets)
    0022  RETURN    return R0..R-1
; ---------- proto5 [_TryRecycleBadge] ----------
  ; fn ?  line 151-156 np=1 va=0 ms=3 code=9 consts=4 upvals=1 protos=0
  ;   K[0]='m_badgeView'
  ;   K[1]='Recycle'
  ;   K[2]='gameObject'
  ;   K[3]=nil
  ;   upvals: _ENV
  ;   locals: self(0-9)
  0000  GETTABLE  R1 = R0[K0('m_badgeView')]
  0001  TEST      if not R1 then   -> -131069
  0002  JMP       (jump)   -> 8
  0003  GETTABUP  R1 = _ENV[K1('Recycle')]
  0004  GETTABLE  R2 = R0[K0('m_badgeView')]
  0005  GETTABLE  R2 = R2[K2('gameObject')]
  0006  CALL      R1 = call(R1, 0 args, 1 rets)
  0007  SETTABLE  R0[K0('m_badgeView')] = K3(nil)
  0008  RETURN    return R0..R-1
; ---------- proto6 [UpdateBadge] ----------
  ; fn ?  line 158-204 np=3 va=0 ms=12 code=69 consts=24 upvals=1 protos=1
  ;   K[0]='m_bShowBadge'
  ;   K[1]=''
  ;   K[2]='m_badgeId'
  ;   K[3]='m_badgeView'
  ;   K[4]='OnEnable'
  ;   K[5]='GM'
  ;   K[6]='UserProfileModel'
  ;   K[7]='IsValidRewardType'
  ;   K[8]='EProfilePropertyType'
  ;   K[9]='Badge'
  ;   K[10]='_TryRecycleBadge'
  ;   K[11]='UIUtil'
  ;   K[12]='SetActive'
  ;   K[13]='m_badgeRoot'
  ;   K[14]='gameObject'
  ;   K[15]='StringUtil'
  ;   K[16]='IsNilOrEmpty'
  ;   K[17]='DataResource'
  ;   K[18]='UIPrefabConfig'
  ;   K[19]='GetConfig'
  ;   K[20]='UIPrefabConfigName'
  ;   K[21]='ResourceLoader'
  ;   K[22]='LoadPrefab'
  ;   K[23]='V3Zero'
  ;   upvals: _ENV
  ;   locals: self(0-69), badgeId(0-69), bIsMySelf(0-69), res(58-69)
  0000  GETTABLE  R3 = R0[K0('m_bShowBadge')]
  0001  TEST      if not R3 then   -> -131068
  0002  JMP       (jump)   -> 4
  0003  RETURN    return R0..R-1
  0004  TEST      if not R1 then   -> -131065
  0005  JMP       (jump)   -> 7
  0006  LOADK     R1 = K1 ''
  0007  GETTABLE  R3 = R0[K2('m_badgeId')]
  0008  TEST      if not R3 then   -> -131061
  0009  JMP       (jump)   -> 11
  0010  SETTABLE  R0[K2('m_badgeId')] = K1('')
  0011  GETTABLE  R3 = R0[K2('m_badgeId')]
  0012  EQ        if R0 eq R3   -> -130543
  0013  JMP       (jump)   -> 21
  0014  GETTABLE  R3 = R0[K3('m_badgeView')]
  0015  TEST      if not R3 then   -> -131055
  0016  JMP       (jump)   -> 20
  0017  GETTABLE  R3 = R0[K3('m_badgeView')]
  0018  SELF      R4 = R3[K4('OnEnable')] (self)
  0019  CALL      R3 = call(R3, 0 args, 1 rets)
  0020  RETURN    return R0..R-1
  0021  GETTABUP  R3 = _ENV[K5('GM')]
  0022  GETTABLE  R3 = R3[K6('UserProfileModel')]
  0023  SELF      R4 = R3[K7('IsValidRewardType')] (self)
  0024  GETTABUP  R5 = _ENV[K8('EProfilePropertyType')]
  0025  GETTABLE  R5 = R5[K9('Badge')]
  0026  MOVE      R6 = R0
  0027  CALL      R3 = call(R3, 1 args, 3 rets)
  0028  TEST      if not R3 then   -> -131041
  0029  JMP       (jump)   -> 31
  0030  LOADK     R1 = K1 ''
  0031  SELF      R4 = R0[K10('_TryRecycleBadge')] (self)
  0032  CALL      R3 = call(R3, 0 args, 1 rets)
  0033  SETTABLE  R0[K2('m_badgeId')] = R1
  0034  GETTABUP  R3 = _ENV[K11('UIUtil')]
  0035  GETTABLE  R3 = R3[K12('SetActive')]
  0036  GETTABLE  R4 = R0[K13('m_badgeRoot')]
  0037  GETTABLE  R4 = R4[K14('gameObject')]
  0038  GETTABUP  R5 = _ENV[K15('StringUtil')]
  0039  GETTABLE  R5 = R5[K16('IsNilOrEmpty')]
  0040  MOVE      R6 = R0
  0041  CALL      R5 = call(R5, 1 args, 1 rets)
  0042  NOT       R5 = not R0
  0043  CALL      R3 = call(R3, 0 args, 2 rets)
  0044  GETTABUP  R3 = _ENV[K15('StringUtil')]
  0045  GETTABLE  R3 = R3[K16('IsNilOrEmpty')]
  0046  MOVE      R4 = R0
  0047  CALL      R3 = call(R3, 1 args, 1 rets)
  0048  TEST      if not R3 then   -> -131022
  0049  JMP       (jump)   -> 51
  0050  RETURN    return R0..R-1
  0051  GETTABUP  R3 = _ENV[K5('GM')]
  0052  GETTABLE  R3 = R3[K17('DataResource')]
  0053  GETTABLE  R3 = R3[K18('UIPrefabConfig')]
  0054  SELF      R4 = R3[K19('GetConfig')] (self)
  0055  GETTABUP  R5 = _ENV[K20('UIPrefabConfigName')]
  0056  GETTABLE  R5 = R5[R1]
  0057  CALL      R3 = call(R3, 1 args, 2 rets)
  0058  GETTABUP  R4 = _ENV[K5('GM')]
  0059  GETTABLE  R4 = R4[K21('ResourceLoader')]
  0060  SELF      R5 = R4[K22('LoadPrefab')] (self)
  0061  MOVE      R6 = R0
  0062  GETTABLE  R7 = R0[K13('m_badgeRoot')]
  0063  GETTABUP  R8 = _ENV[K23('V3Zero')]
  0064  CLOSURE   R9 = closure proto0
  0065  LOADNIL   R10..R10 = nil
  0066  LOADBOOL  R11 = true
  0067  CALL      R4 = call(R4, 0 args, 7 rets)
  0068  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 191-203 np=1 va=0 ms=6 code=18 consts=7 upvals=3 protos=0
    ;   K[0]='m_badgeId'
    ;   K[1]='Recycle'
    ;   K[2]='GetLuaTable'
    ;   K[3]='m_badgeView'
    ;   K[4]='Init'
    ;   K[5]='m_bBadgeAppearAnimation'
    ;   K[6]='m_bBadgeAppearOnce'
    ;   upvals: self, badgeId, _ENV
    ;   locals: go(0-18), badgeView(10-18)
    0000  GETTABUP  R1 = self[K0('m_badgeId')]
    0001  GETUPVAL  R2 = self
    0002  EQ        if R1 eq R2   -> -130554
    0003  JMP       (jump)   -> 8
    0004  GETTABUP  R1 = _ENV[K1('Recycle')]
    0005  MOVE      R2 = R0
    0006  CALL      R1 = call(R1, 0 args, 1 rets)
    0007  RETURN    return R0..R-1
    0008  SELF      R2 = R0[K2('GetLuaTable')] (self)
    0009  CALL      R1 = call(R1, 1 args, 1 rets)
    0010  SETTABUP  self[K3('m_badgeView')] = R1
    0011  TEST      if not R1 then   -> -131059
    0012  JMP       (jump)   -> 17
    0013  SELF      R3 = R1[K4('Init')] (self)
    0014  GETTABUP  R4 = self[K5('m_bBadgeAppearAnimation')]
    0015  GETTABUP  R5 = self[K6('m_bBadgeAppearOnce')]
    0016  CALL      R2 = call(R2, 0 args, 3 rets)
    0017  RETURN    return R0..R-1
