# Model_Network_Sso_SsoMessage_37.luac
; fn @SsoMessage.lua  line 0-0 np=0 va=1 ms=3 code=72 consts=68 upvals=1 protos=6
;   K[0]='SsoMessage'
;   K[1]='DEFAULT_TIME_OUT'
;   K[2]=16000
;   K[3]='DEFAULT_RETRY'
;   K[4]=2
;   K[5]='__index'
;   K[6]='require'
;   K[7]='Model.Network.Sso.SsoInterface'
;   K[8]='ESsoActionType'
;   K[9]='Lookup'
;   K[10]=0
;   K[11]='Switch'
;   K[12]=3
;   K[13]='Select'
;   K[14]=4
;   K[15]='ESsoSocialType'
;   K[16]='Device'
;   K[17]='Facebook'
;   K[18]=1
;   K[19]='Wechat'
;   K[20]='QQ'
;   K[21]='TMGP_Wechat'
;   K[22]='TMGP_QQ'
;   K[23]=5
;   K[24]='Vivo'
;   K[25]=6
;   K[26]='Oppo'
;   K[27]=7
;   K[28]='Phone_Number'
;   K[29]=8
;   K[30]='Sim'
;   K[31]=9
;   K[32]='Qihoo'
;   K[33]=10
;   K[34]='Huawei'
;   K[35]=11
;   K[36]='Xiaomi'
;   K[37]=12
;   K[38]='Apple'
;   K[39]=13
;   K[40]='Samsung'
;   K[41]=14
;   K[42]='Google'
;   K[43]=18
;   K[44]='ESsoActionStatus'
;   K[45]='NewRegister'
;   K[46]='OldUser'
;   K[47]='ServerTimeout'
;   K[48]='SocialConflict'
;   K[49]='MultipleUserId'
;   K[50]='UnbindNotAllowed'
;   K[51]='CannotComplete'
;   K[52]='VerificationFailed'
;   K[53]='NoAvailableBindingInfo'
;   K[54]='ActionTypeNotAllowed'
;   K[55]='InvalidGameToken'
;   K[56]='ESsoDeleteUserActionType'
;   K[57]='DeleteDirectly'
;   K[58]='ESsoDeleteUserStatus'
;   K[59]='DeleteSuccess'
;   K[60]='HasBeenDeleted'
;   K[61]='GenerateRequest'
;   K[62]='SendByHttp'
;   K[63]='SsoMessage'
;   K[64]='Serialize'
;   K[65]='Deserialize'
;   K[66]='GenerateDeleteUserRequest'
;   K[67]='TryFallbackRequest'
;   upvals: _ENV
;   locals: Serialization(10-72)
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABLE  R0[K1('DEFAULT_TIME_OUT')] = K2(16000)
0002  SETTABLE  R0[K3('DEFAULT_RETRY')] = K4(2)
0003  SETTABUP  _ENV[K0('SsoMessage')] = R0
0004  GETTABUP  R0 = _ENV[K0('SsoMessage')]
0005  GETTABUP  R1 = _ENV[K0('SsoMessage')]
0006  SETTABLE  R0[K5('__index')] = R1
0007  GETTABUP  R0 = _ENV[K6('require')]
0008  LOADK     R1 = K7 'Model.Network.Sso.SsoInterface'
0009  CALL      R0 = call(R0, 1 args, 1 rets)
0010  NEWTABLE  R1 = {} (0 items)
0011  SETTABLE  R1[K9('Lookup')] = K10(0)
0012  SETTABLE  R1[K11('Switch')] = K12(3)
0013  SETTABLE  R1[K13('Select')] = K14(4)
0014  SETTABUP  _ENV[K8('ESsoActionType')] = R1
0015  NEWTABLE  R1 = {} (0 items)
0016  SETTABLE  R1[K16('Device')] = K10(0)
0017  SETTABLE  R1[K17('Facebook')] = K18(1)
0018  SETTABLE  R1[K19('Wechat')] = K4(2)
0019  SETTABLE  R1[K20('QQ')] = K12(3)
0020  SETTABLE  R1[K21('TMGP_Wechat')] = K14(4)
0021  SETTABLE  R1[K22('TMGP_QQ')] = K23(5)
0022  SETTABLE  R1[K24('Vivo')] = K25(6)
0023  SETTABLE  R1[K26('Oppo')] = K27(7)
0024  SETTABLE  R1[K28('Phone_Number')] = K29(8)
0025  SETTABLE  R1[K30('Sim')] = K31(9)
0026  SETTABLE  R1[K32('Qihoo')] = K33(10)
0027  SETTABLE  R1[K34('Huawei')] = K35(11)
0028  SETTABLE  R1[K36('Xiaomi')] = K37(12)
0029  SETTABLE  R1[K38('Apple')] = K39(13)
0030  SETTABLE  R1[K40('Samsung')] = K41(14)
0031  SETTABLE  R1[K42('Google')] = K43(18)
0032  SETTABUP  _ENV[K15('ESsoSocialType')] = R1
0033  NEWTABLE  R1 = {} (0 items)
0034  SETTABLE  R1[K45('NewRegister')] = K10(0)
0035  SETTABLE  R1[K46('OldUser')] = K18(1)
0036  SETTABLE  R1[K47('ServerTimeout')] = K4(2)
0037  SETTABLE  R1[K48('SocialConflict')] = K12(3)
0038  SETTABLE  R1[K49('MultipleUserId')] = K14(4)
0039  SETTABLE  R1[K50('UnbindNotAllowed')] = K23(5)
0040  SETTABLE  R1[K51('CannotComplete')] = K25(6)
0041  SETTABLE  R1[K52('VerificationFailed')] = K27(7)
0042  SETTABLE  R1[K53('NoAvailableBindingInfo')] = K29(8)
0043  SETTABLE  R1[K54('ActionTypeNotAllowed')] = K31(9)
0044  SETTABLE  R1[K55('InvalidGameToken')] = K33(10)
0045  SETTABUP  _ENV[K44('ESsoActionStatus')] = R1
0046  NEWTABLE  R1 = {} (0 items)
0047  SETTABLE  R1[K57('DeleteDirectly')] = K14(4)
0048  SETTABUP  _ENV[K56('ESsoDeleteUserActionType')] = R1
0049  NEWTABLE  R1 = {} (0 items)
0050  SETTABLE  R1[K59('DeleteSuccess')] = K10(0)
0051  SETTABLE  R1[K60('HasBeenDeleted')] = K18(1)
0052  SETTABUP  _ENV[K58('ESsoDeleteUserStatus')] = R1
0053  GETTABUP  R1 = _ENV[K0('SsoMessage')]
0054  CLOSURE   R2 = closure proto0
0055  SETTABLE  R1[K61('GenerateRequest')] = R2
0056  GETTABUP  R1 = _ENV[K0('SsoMessage')]
0057  CLOSURE   R2 = closure proto1
0058  SETTABLE  R1[K62('SendByHttp')] = R2
0059  GETTABUP  R1 = _ENV[K63('SsoMessage')]
0060  CLOSURE   R2 = closure proto2
0061  SETTABLE  R1[K64('Serialize')] = R2
0062  GETTABUP  R1 = _ENV[K63('SsoMessage')]
0063  CLOSURE   R2 = closure proto3
0064  SETTABLE  R1[K65('Deserialize')] = R2
0065  GETTABUP  R1 = _ENV[K63('SsoMessage')]
0066  CLOSURE   R2 = closure proto4
0067  SETTABLE  R1[K66('GenerateDeleteUserRequest')] = R2
0068  GETTABUP  R1 = _ENV[K63('SsoMessage')]
0069  CLOSURE   R2 = closure proto5
0070  SETTABLE  R1[K67('TryFallbackRequest')] = R2
0071  RETURN    return R0..R-1
; ---------- proto0 [GenerateRequest] ----------
  ; fn ?  line 69-108 np=8 va=0 ms=13 code=116 consts=63 upvals=1 protos=0
  ;   K[0]='Log'
  ;   K[1]='Assert'
  ;   K[2]='SsoMessage.GenerateRequest'
  ;   K[3]='DeviceInfo'
  ;   K[4]='GetAdvertisingIdentifier'
  ;   K[5]='GM'
  ;   K[6]='SsoManager'
  ;   K[7]='SaveRegisterIdfa'
  ;   K[8]='Info'
  ;   K[9]='SSO idfa is '
  ;   K[10]='game_token'
  ;   K[11]='GameConfig'
  ;   K[12]='GetGameToken'
  ;   K[13]='deviceId'
  ;   K[14]='GetDeviceID'
  ;   K[15]='vendorId'
  ;   K[16]='GetVendorID'
  ;   K[17]='openUDID'
  ;   K[18]='GetOpenUDID'
  ;   K[19]='installationId'
  ;   K[20]='UserModel'
  ;   K[21]='GetInstallUuid'
  ;   K[22]='idfa'
  ;   K[23]='adid'
  ;   K[24]=''
  ;   K[25]='imei'
  ;   K[26]='GetIMEI'
  ;   K[27]='oaid'
  ;   K[28]='GetOAID'
  ;   K[29]='imsi'
  ;   K[30]='imei_meid'
  ;   K[31]='wifiMAC'
  ;   K[32]='GetMacAddress'
  ;   K[33]='bluetoothMAC'
  ;   K[34]='currentUserId'
  ;   K[35]='GetUserId'
  ;   K[36]='action_type'
  ;   K[37]='firstOpenTime'
  ;   K[38]='PlayerPrefs'
  ;   K[39]='GetInt'
  ;   K[40]='EPlayerPrefKey'
  ;   K[41]='FirstOpenTime'
  ;   K[42]=0
  ;   K[43]=1000
  ;   K[44]='socialId'
  ;   K[45]='socialType'
  ;   K[46]='social_name'
  ;   K[47]='social_icon'
  ;   K[48]='social_appid'
  ;   K[49]='social_openid'
  ;   K[50]='social_access_token'
  ;   K[51]='social_refresh_token'
  ;   K[52]='social_email'
  ;   K[53]='phone_verify_code'
  ;   K[54]='token_access'
  ;   K[55]='adjust_id'
  ;   K[56]='::'
  ;   K[57]='CSAppsFlyerManager'
  ;   K[58]='GetAppsFlyerId'
  ;   K[59]='ctime'
  ;   K[60]='TimeUtil'
  ;   K[61]='GetTimeInMS'
  ;   K[62]='extappid'
  ;   upvals: _ENV
  ;   locals: eActionType(0-116), eSocialType(0-116), socialID(0-116), accessToken(0-116), socialName(0-116), email(0-116), pictureUrl(0-116), refreshToken(0-116), idfaValue(10-116)
  0000  GETTABUP  R8 = _ENV[K0('Log')]
  0001  GETTABLE  R8 = R8[K1('Assert')]
  0002  TESTSET   if not R0 then R9   -> -131068
  0003  JMP       (jump)   -> 5
  0004  MOVE      R9 = R0
  0005  LOADK     R10 = K2 'SsoMessage.GenerateRequest'
  0006  CALL      R8 = call(R8, 0 args, 2 rets)
  0007  GETTABUP  R8 = _ENV[K3('DeviceInfo')]
  0008  GETTABLE  R8 = R8[K4('GetAdvertisingIdentifier')]
  0009  CALL      R8 = call(R8, 1 args, 0 rets)
  0010  GETTABUP  R9 = _ENV[K5('GM')]
  0011  GETTABLE  R9 = R9[K6('SsoManager')]
  0012  SELF      R10 = R9[K7('SaveRegisterIdfa')] (self)
  0013  MOVE      R11 = R0
  0014  CALL      R9 = call(R9, 0 args, 2 rets)
  0015  GETTABUP  R9 = _ENV[K0('Log')]
  0016  GETTABLE  R9 = R9[K8('Info')]
  0017  LOADK     R10 = K9 'SSO idfa is '
  0018  MOVE      R11 = R0
  0019  CONCAT    R10 = concat(R10..R10)
  0020  CALL      R9 = call(R9, 0 args, 1 rets)
  0021  NEWTABLE  R9 = {} (0 items)
  0022  GETTABUP  R10 = _ENV[K11('GameConfig')]
  0023  GETTABLE  R10 = R10[K12('GetGameToken')]
  0024  CALL      R10 = call(R10, 1 args, 0 rets)
  0025  SETTABLE  R9[K10('game_token')] = R10
  0026  GETTABUP  R10 = _ENV[K3('DeviceInfo')]
  0027  GETTABLE  R10 = R10[K14('GetDeviceID')]
  0028  CALL      R10 = call(R10, 1 args, 0 rets)
  0029  SETTABLE  R9[K13('deviceId')] = R10
  0030  GETTABUP  R10 = _ENV[K3('DeviceInfo')]
  0031  GETTABLE  R10 = R10[K16('GetVendorID')]
  0032  CALL      R10 = call(R10, 1 args, 0 rets)
  0033  SETTABLE  R9[K15('vendorId')] = R10
  0034  GETTABUP  R10 = _ENV[K3('DeviceInfo')]
  0035  GETTABLE  R10 = R10[K18('GetOpenUDID')]
  0036  CALL      R10 = call(R10, 1 args, 0 rets)
  0037  SETTABLE  R9[K17('openUDID')] = R10
  0038  GETTABUP  R10 = _ENV[K5('GM')]
  0039  GETTABLE  R10 = R10[K20('UserModel')]
  0040  SELF      R11 = R10[K21('GetInstallUuid')] (self)
  0041  CALL      R10 = call(R10, 1 args, 1 rets)
  0042  SETTABLE  R9[K19('installationId')] = R10
  0043  SETTABLE  R9[K22('idfa')] = R8
  0044  SETTABLE  R9[K23('adid')] = K24('')
  0045  GETTABUP  R10 = _ENV[K3('DeviceInfo')]
  0046  GETTABLE  R10 = R10[K26('GetIMEI')]
  0047  CALL      R10 = call(R10, 1 args, 0 rets)
  0048  SETTABLE  R9[K25('imei')] = R10
  0049  GETTABUP  R10 = _ENV[K3('DeviceInfo')]
  0050  GETTABLE  R10 = R10[K28('GetOAID')]
  0051  CALL      R10 = call(R10, 1 args, 0 rets)
  0052  SETTABLE  R9[K27('oaid')] = R10
  0053  SETTABLE  R9[K29('imsi')] = K24('')
  0054  SETTABLE  R9[K30('imei_meid')] = K24('')
  0055  GETTABUP  R10 = _ENV[K3('DeviceInfo')]
  0056  GETTABLE  R10 = R10[K32('GetMacAddress')]
  0057  CALL      R10 = call(R10, 1 args, 0 rets)
  0058  SETTABLE  R9[K31('wifiMAC')] = R10
  0059  SETTABLE  R9[K33('bluetoothMAC')] = K24('')
  0060  GETTABUP  R10 = _ENV[K5('GM')]
  0061  GETTABLE  R10 = R10[K20('UserModel')]
  0062  SELF      R11 = R10[K35('GetUserId')] (self)
  0063  CALL      R10 = call(R10, 1 args, 1 rets)
  0064  SETTABLE  R9[K34('currentUserId')] = R10
  0065  SETTABLE  R9[K36('action_type')] = R0
  0066  GETTABUP  R10 = _ENV[K38('PlayerPrefs')]
  0067  GETTABLE  R10 = R10[K39('GetInt')]
  0068  GETTABUP  R11 = _ENV[K40('EPlayerPrefKey')]
  0069  GETTABLE  R11 = R11[K41('FirstOpenTime')]
  0070  LOADK     R12 = K42 0
  0071  CALL      R10 = call(R10, 1 args, 2 rets)
  0072  MUL       R10 = K43(1000) mul R10
  0073  SETTABLE  R9[K37('firstOpenTime')] = R10
  0074  TESTSET   if R1 then R10   -> -129971
  0075  JMP       (jump)   -> 77
  0076  LOADK     R10 = K24 ''
  0077  SETTABLE  R9[K44('socialId')] = R10
  0078  SETTABLE  R9[K45('socialType')] = R1
  0079  TESTSET   if R1 then R10   -> -128942
  0080  JMP       (jump)   -> 82
  0081  LOADK     R10 = K24 ''
  0082  SETTABLE  R9[K46('social_name')] = R10
  0083  TESTSET   if R1 then R10   -> -127914
  0084  JMP       (jump)   -> 86
  0085  LOADK     R10 = K24 ''
  0086  SETTABLE  R9[K47('social_icon')] = R10
  0087  SETTABLE  R9[K48('social_appid')] = K24('')
  0088  SETTABLE  R9[K49('social_openid')] = K24('')
  0089  TESTSET   if R1 then R10   -> -129444
  0090  JMP       (jump)   -> 92
  0091  LOADK     R10 = K24 ''
  0092  SETTABLE  R9[K50('social_access_token')] = R10
  0093  TESTSET   if R1 then R10   -> -127392
  0094  JMP       (jump)   -> 96
  0095  LOADK     R10 = K24 ''
  0096  SETTABLE  R9[K51('social_refresh_token')] = R10
  0097  TESTSET   if R1 then R10   -> -128412
  0098  JMP       (jump)   -> 100
  0099  LOADK     R10 = K24 ''
  0100  SETTABLE  R9[K52('social_email')] = R10
  0101  SETTABLE  R9[K53('phone_verify_code')] = K24('')
  0102  SETTABLE  R9[K54('token_access')] = K24('')
  0103  LOADK     R10 = K56 '::'
  0104  GETTABUP  R11 = _ENV[K57('CSAppsFlyerManager')]
  0105  SELF      R12 = R11[K58('GetAppsFlyerId')] (self)
  0106  CALL      R11 = call(R11, 1 args, 1 rets)
  0107  CONCAT    R10 = concat(R10..R10)
  0108  SETTABLE  R9[K55('adjust_id')] = R10
  0109  GETTABUP  R10 = _ENV[K60('TimeUtil')]
  0110  GETTABLE  R10 = R10[K61('GetTimeInMS')]
  0111  CALL      R10 = call(R10, 1 args, 0 rets)
  0112  SETTABLE  R9[K59('ctime')] = R10
  0113  SETTABLE  R9[K62('extappid')] = K24('')
  0114  RETURN    return R9..R8
  0115  RETURN    return R0..R-1
; ---------- proto1 [SendByHttp] ----------
  ; fn ?  line 110-227 np=7 va=0 ms=17 code=92 consts=33 upvals=1 protos=3
  ;   K[0]='GM'
  ;   K[1]='UIManager'
  ;   K[2]='ShowMask'
  ;   K[3]='SOAccountBind'
  ;   K[4]='NetworkConfig'
  ;   K[5]='GetHttpServerUrl'
  ;   K[6]='CSNetLibManager'
  ;   K[7]='CreateGeneralHttpRequest'
  ;   K[8]='POST'
  ;   K[9]='SsoMessage'
  ;   K[10]='DEFAULT_TIME_OUT'
  ;   K[11]='DEFAULT_RETRY'
  ;   K[12]='SsoManager'
  ;   K[13]='GetSession'
  ;   K[14]='SetHeader'
  ;   K[15]='ContentTypeKey'
  ;   K[16]='application/octet-stream'
  ;   K[17]='ClientHeaderKey'
  ;   K[18]='GetClientHeader'
  ;   K[19]='SetRetryHeader'
  ;   K[20]=2
  ;   K[21]='StringUtil'
  ;   K[22]='IsNilOrEmpty'
  ;   K[23]='TokenHeaderKey'
  ;   K[24]='SetLogAll'
  ;   K[25]='SetLogFail'
  ;   K[26]='Serialize'
  ;   K[27]='Log'
  ;   K[28]='Warning'
  ;   K[29]='SsoMessage Serialize failed for '
  ;   K[30]='SetCheckResponse'
  ;   K[31]='SetCallback'
  ;   K[32]='Send'
  ;   upvals: _ENV
  ;   locals: tbSsoRequest(0-92), ssoToken(0-92), cb(0-92), bShowMask(0-92), bIsRegister(0-92), opName(0-92), isLoading(0-92), callback(7-92), strOpName(8-92), strUrl(15-92), reqCtx(24-92), session(28-92), headers(83-92), tbMsgResp(83-92)
  0000  TEST      if not R3 then   -> -131070
  0001  JMP       (jump)   -> 6
  0002  GETTABUP  R7 = _ENV[K0('GM')]
  0003  GETTABLE  R7 = R7[K1('UIManager')]
  0004  SELF      R8 = R7[K2('ShowMask')] (self)
  0005  CALL      R7 = call(R7, 0 args, 1 rets)
  0006  CLOSURE   R7 = closure proto0
  0007  LOADK     R8 = K3 'SOAccountBind'
  0008  TEST      if not R5 then   -> -131062
  0009  JMP       (jump)   -> 11
  0010  MOVE      R8 = R0
  0011  GETTABUP  R9 = _ENV[K4('NetworkConfig')]
  0012  GETTABLE  R9 = R9[K5('GetHttpServerUrl')]
  0013  MOVE      R10 = R0
  0014  CALL      R9 = call(R9, 1 args, 1 rets)
  0015  GETTABUP  R10 = _ENV[K6('CSNetLibManager')]
  0016  SELF      R11 = R10[K7('CreateGeneralHttpRequest')] (self)
  0017  MOVE      R12 = R0
  0018  LOADK     R13 = K8 'POST'
  0019  GETTABUP  R14 = _ENV[K9('SsoMessage')]
  0020  GETTABLE  R14 = R14[K10('DEFAULT_TIME_OUT')]
  0021  GETTABUP  R15 = _ENV[K9('SsoMessage')]
  0022  GETTABLE  R15 = R15[K11('DEFAULT_RETRY')]
  0023  CALL      R10 = call(R10, 1 args, 5 rets)
  0024  GETTABUP  R11 = _ENV[K0('GM')]
  0025  GETTABLE  R11 = R11[K12('SsoManager')]
  0026  SELF      R12 = R11[K13('GetSession')] (self)
  0027  CALL      R11 = call(R11, 1 args, 1 rets)
  0028  SELF      R13 = R10[K14('SetHeader')] (self)
  0029  GETTABUP  R14 = _ENV[K4('NetworkConfig')]
  0030  GETTABLE  R14 = R14[K15('ContentTypeKey')]
  0031  LOADK     R15 = K16 'application/octet-stream'
  0032  CALL      R12 = call(R12, 0 args, 3 rets)
  0033  SELF      R13 = R10[K14('SetHeader')] (self)
  0034  GETTABUP  R14 = _ENV[K4('NetworkConfig')]
  0035  GETTABLE  R14 = R14[K17('ClientHeaderKey')]
  0036  GETTABUP  R15 = _ENV[K4('NetworkConfig')]
  0037  GETTABLE  R15 = R15[K18('GetClientHeader')]
  0038  CALL      R15 = call(R15, -1 args, 0 rets)
  0039  CALL      R12 = call(R12, 0 args, -1 rets)
  0040  SELF      R13 = R10[K19('SetRetryHeader')] (self)
  0041  GETTABUP  R14 = _ENV[K4('NetworkConfig')]
  0042  GETTABLE  R14 = R14[K17('ClientHeaderKey')]
  0043  GETTABUP  R15 = _ENV[K4('NetworkConfig')]
  0044  GETTABLE  R15 = R15[K18('GetClientHeader')]
  0045  LOADK     R16 = K20 2
  0046  CALL      R15 = call(R15, -1 args, 1 rets)
  0047  CALL      R12 = call(R12, 0 args, -1 rets)
  0048  GETTABUP  R12 = _ENV[K21('StringUtil')]
  0049  GETTABLE  R12 = R12[K22('IsNilOrEmpty')]
  0050  MOVE      R13 = R0
  0051  CALL      R12 = call(R12, 1 args, 1 rets)
  0052  TEST      if not R12 then   -> -131017
  0053  JMP       (jump)   -> 59
  0054  SELF      R13 = R10[K14('SetHeader')] (self)
  0055  GETTABUP  R14 = _ENV[K4('NetworkConfig')]
  0056  GETTABLE  R14 = R14[K23('TokenHeaderKey')]
  0057  MOVE      R15 = R0
  0058  CALL      R12 = call(R12, 0 args, 3 rets)
  0059  TEST      if not R6 then   -> -131010
  0060  JMP       (jump)   -> 63
  0061  TEST      if not R3 then   -> -131009
  0062  JMP       (jump)   -> 66
  0063  SELF      R13 = R10[K24('SetLogAll')] (self)
  0064  CALL      R12 = call(R12, 0 args, 1 rets)
  0065  JMP       (jump)   -> 68
  0066  SELF      R13 = R10[K25('SetLogFail')] (self)
  0067  CALL      R12 = call(R12, 0 args, 1 rets)
  0068  GETTABUP  R12 = _ENV[K9('SsoMessage')]
  0069  GETTABLE  R12 = R12[K26('Serialize')]
  0070  MOVE      R13 = R0
  0071  MOVE      R14 = R0
  0072  MOVE      R15 = R0
  0073  CALL      R12 = call(R12, 1 args, 3 rets)
  0074  TEST      if not R12 then   -> -130995
  0075  JMP       (jump)   -> 82
  0076  GETTABUP  R12 = _ENV[K27('Log')]
  0077  GETTABLE  R12 = R12[K28('Warning')]
  0078  LOADK     R13 = K29 'SsoMessage Serialize failed for '
  0079  MOVE      R14 = R0
  0080  CONCAT    R13 = concat(R13..R13)
  0081  CALL      R12 = call(R12, 0 args, 1 rets)
  0082  LOADNIL   R12..R12 = nil
  0083  SELF      R15 = R10[K30('SetCheckResponse')] (self)
  0084  CLOSURE   R16 = closure proto1
  0085  CALL      R14 = call(R14, 0 args, 2 rets)
  0086  SELF      R15 = R10[K31('SetCallback')] (self)
  0087  CLOSURE   R16 = closure proto2
  0088  CALL      R14 = call(R14, 0 args, 2 rets)
  0089  SELF      R15 = R10[K32('Send')] (self)
  0090  CALL      R14 = call(R14, 0 args, 1 rets)
  0091  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 114-122 np=0 va=1 ms=2 code=14 consts=3 upvals=3 protos=0
    ;   K[0]='GM'
    ;   K[1]='UIManager'
    ;   K[2]='HideMask'
    ;   upvals: bShowMask, _ENV, cb
    0000  GETUPVAL  R0 = bShowMask
    0001  TEST      if not R0 then   -> -131069
    0002  JMP       (jump)   -> 7
    0003  GETTABUP  R0 = _ENV[K0('GM')]
    0004  GETTABLE  R0 = R0[K1('UIManager')]
    0005  SELF      R1 = R0[K2('HideMask')] (self)
    0006  CALL      R0 = call(R0, 0 args, 1 rets)
    0007  GETUPVAL  R0 = bShowMask
    0008  TEST      if not R0 then   -> -131062
    0009  JMP       (jump)   -> 13
    0010  GETUPVAL  R0 = bShowMask
    0011  VARARG    R1 = vararg(0)
    0012  CALL      R0 = call(R0, 0 args, -1 rets)
    0013  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 155-174 np=0 va=0 ms=3 code=37 consts=15 upvals=5 protos=0
    ;   K[0]='GM'
    ;   K[1]=nil
    ;   K[2]='HttpManager'
    ;   K[3]='ConvertHeaders'
    ;   K[4]='ResponseHeaders'
    ;   K[5]='process-time'
    ;   K[6]='Missing process-time header'
    ;   K[7]='math'
    ;   K[8]='floor'
    ;   K[9]='Status'
    ;   K[10]=100
    ;   K[11]=2
    ;   K[12]='SsoMessage'
    ;   K[13]='Deserialize'
    ;   K[14]='Failed to deserialize response'
    ;   upvals: _ENV, headers, reqCtx, tbMsgResp, strOpName
    0000  GETTABUP  R0 = _ENV[K0('GM')]
    0001  EQ        if R0 eq K1(nil)   -> -130812
    0002  JMP       (jump)   -> 5
    0003  LOADNIL   R0..R0 = nil
    0004  RETURN    return R0..R-1
    0005  GETTABUP  R0 = _ENV[K0('GM')]
    0006  GETTABLE  R0 = R0[K2('HttpManager')]
    0007  SELF      R1 = R0[K3('ConvertHeaders')] (self)
    0008  GETTABUP  R2 = reqCtx[K4('ResponseHeaders')]
    0009  CALL      R0 = call(R0, 1 args, 2 rets)
    0010  SETUPVAL  _ENV = R0
    0011  GETTABUP  R0 = headers[K5('process-time')]
    0012  EQ        if R0 eq K1(nil)   -> -130801
    0013  JMP       (jump)   -> 16
    0014  LOADK     R0 = K6 'Missing process-time header'
    0015  RETURN    return R0..R-1
    0016  GETTABUP  R0 = _ENV[K7('math')]
    0017  GETTABLE  R0 = R0[K8('floor')]
    0018  GETTABUP  R1 = reqCtx[K9('Status')]
    0019  DIV       R1 = K10(100) div R1
    0020  CALL      R0 = call(R0, 1 args, 1 rets)
    0021  EQ        if R0 eq K11(2)   -> -130782
    0022  JMP       (jump)   -> 34
    0023  GETTABUP  R0 = _ENV[K12('SsoMessage')]
    0024  GETTABLE  R0 = R0[K13('Deserialize')]
    0025  GETUPVAL  R1 = _ENV
    0026  GETUPVAL  R2 = _ENV
    0027  CALL      R0 = call(R0, 1 args, 2 rets)
    0028  SETUPVAL  _ENV = R0
    0029  GETUPVAL  R0 = _ENV
    0030  EQ        if R0 eq K1(nil)   -> -130783
    0031  JMP       (jump)   -> 34
    0032  LOADK     R0 = K14 'Failed to deserialize response'
    0033  RETURN    return R0..R-1
    0034  LOADNIL   R0..R0 = nil
    0035  RETURN    return R0..R-1
    0036  RETURN    return R0..R-1
  ; ---------- proto2 [] ----------
    ; fn ?  line 177-224 np=0 va=0 ms=6 code=122 consts=37 upvals=8 protos=0
    ;   K[0]='GM'
    ;   K[1]=nil
    ;   K[2]='Rcode'
    ;   K[3]='ResultCode'
    ;   K[4]='Succeeded'
    ;   K[5]='HttpManager'
    ;   K[6]='OnCallbackStart'
    ;   K[7]='token'
    ;   K[8]='StringUtil'
    ;   K[9]='IsNilOrEmpty'
    ;   K[10]='SODeleteUser'
    ;   K[11]=''
    ;   K[12]='Not2xx'
    ;   K[13]='Status'
    ;   K[14]=401
    ;   K[15]=403
    ;   K[16]='Retain'
    ;   K[17]='SsoManager'
    ;   K[18]='OnTokenExpired'
    ;   K[19]='GetHeader'
    ;   K[20]='NetworkConfig'
    ;   K[21]='TokenHeaderKey'
    ;   K[22]=404
    ;   K[23]=502
    ;   K[24]=503
    ;   K[25]='MaxRetry'
    ;   K[26]=0
    ;   K[27]=1
    ;   K[28]='Send'
    ;   K[29]='SsoMessage'
    ;   K[30]='TryFallbackRequest'
    ;   K[31]='Log'
    ;   K[32]='Warning'
    ;   K[33]='Sso Message failed, error message is '
    ;   K[34]='ErrorMsg'
    ;   K[35]='LogTag'
    ;   K[36]='Network'
    ;   upvals: _ENV, reqCtx, headers, callback, tbMsgResp, strOpName, bIsRegister, session
    ;   locals: strToken(15-45)
    0000  GETTABUP  R0 = _ENV[K0('GM')]
    0001  EQ        if R0 eq K1(nil)   -> -130812
    0002  JMP       (jump)   -> 4
    0003  RETURN    return R0..R-1
    0004  GETTABUP  R0 = reqCtx[K2('Rcode')]
    0005  GETTABUP  R1 = _ENV[K3('ResultCode')]
    0006  GETTABLE  R1 = R1[K4('Succeeded')]
    0007  EQ        if R0 eq R1   -> -131062
    0008  JMP       (jump)   -> 45
    0009  GETTABUP  R0 = _ENV[K0('GM')]
    0010  GETTABLE  R0 = R0[K5('HttpManager')]
    0011  SELF      R1 = R0[K6('OnCallbackStart')] (self)
    0012  GETUPVAL  R2 = _ENV
    0013  CALL      R0 = call(R0, 0 args, 2 rets)
    0014  GETTABUP  R0 = headers[K7('token')]
    0015  GETTABUP  R1 = _ENV[K8('StringUtil')]
    0016  GETTABLE  R1 = R1[K9('IsNilOrEmpty')]
    0017  MOVE      R2 = R0
    0018  CALL      R1 = call(R1, 1 args, 1 rets)
    0019  TEST      if not R1 then   -> -131050
    0020  JMP       (jump)   -> 28
    0021  GETUPVAL  R1 = _ENV
    0022  LOADBOOL  R2 = true
    0023  GETUPVAL  R3 = _ENV
    0024  MOVE      R4 = R0
    0025  GETUPVAL  R5 = _ENV
    0026  CALL      R1 = call(R1, 0 args, 4 rets)
    0027  JMP       (jump)   -> 44
    0028  GETUPVAL  R1 = _ENV
    0029  EQ        if R0 eq K10('SODeleteUser')   -> -130263
    0030  JMP       (jump)   -> 38
    0031  GETUPVAL  R1 = _ENV
    0032  LOADBOOL  R2 = true
    0033  GETUPVAL  R3 = _ENV
    0034  LOADNIL   R4..R4 = nil
    0035  GETUPVAL  R5 = _ENV
    0036  CALL      R1 = call(R1, 0 args, 4 rets)
    0037  JMP       (jump)   -> 44
    0038  GETUPVAL  R1 = _ENV
    0039  LOADBOOL  R2 = false
    0040  GETUPVAL  R3 = _ENV
    0041  LOADK     R4 = K11 ''
    0042  GETUPVAL  R5 = _ENV
    0043  CALL      R1 = call(R1, 0 args, 4 rets)
    0044  RETURN    return R0..R-1
    0045  GETTABUP  R0 = reqCtx[K2('Rcode')]
    0046  GETTABUP  R1 = _ENV[K3('ResultCode')]
    0047  GETTABLE  R1 = R1[K12('Not2xx')]
    0048  EQ        if R0 eq R1   -> -131021
    0049  JMP       (jump)   -> 96
    0050  GETUPVAL  R0 = _ENV
    0051  TEST      if not R0 then   -> -131018
    0052  JMP       (jump)   -> 74
    0053  GETTABUP  R0 = reqCtx[K13('Status')]
    0054  EQ        if R1 eq K14(401)   -> -130746
    0055  JMP       (jump)   -> 59
    0056  GETTABUP  R0 = reqCtx[K13('Status')]
    0057  EQ        if R0 eq K15(403)   -> -130742
    0058  JMP       (jump)   -> 74
    0059  GETUPVAL  R0 = _ENV
    0060  SELF      R1 = R0[K16('Retain')] (self)
    0061  CALL      R0 = call(R0, 0 args, 1 rets)
    0062  GETTABUP  R0 = _ENV[K0('GM')]
    0063  GETTABLE  R0 = R0[K17('SsoManager')]
    0064  SELF      R1 = R0[K18('OnTokenExpired')] (self)
    0065  GETUPVAL  R2 = _ENV
    0066  SELF      R3 = R2[K19('GetHeader')] (self)
    0067  GETTABUP  R4 = _ENV[K20('NetworkConfig')]
    0068  GETTABLE  R4 = R4[K21('TokenHeaderKey')]
    0069  CALL      R2 = call(R2, 1 args, 2 rets)
    0070  GETUPVAL  R3 = _ENV
    0071  GETUPVAL  R4 = _ENV
    0072  CALL      R0 = call(R0, 0 args, 4 rets)
    0073  RETURN    return R0..R-1
    0074  GETTABUP  R0 = reqCtx[K13('Status')]
    0075  EQ        if R1 eq K22(404)   -> -130717
    0076  JMP       (jump)   -> 83
    0077  GETTABUP  R0 = reqCtx[K13('Status')]
    0078  EQ        if R1 eq K23(502)   -> -130713
    0079  JMP       (jump)   -> 83
    0080  GETTABUP  R0 = reqCtx[K13('Status')]
    0081  EQ        if R0 eq K24(503)   -> -130709
    0082  JMP       (jump)   -> 96
    0083  GETTABUP  R0 = reqCtx[K25('MaxRetry')]
    0084  LT        if R0 lt R0   -> 13398
    0085  JMP       (jump)   -> 96
    0086  GETTABUP  R0 = reqCtx[K25('MaxRetry')]
    0087  SUB       R0 = K27(1) sub R0
    0088  SETTABUP  reqCtx[K25('MaxRetry')] = R0
    0089  GETUPVAL  R0 = _ENV
    0090  SELF      R1 = R0[K16('Retain')] (self)
    0091  CALL      R0 = call(R0, 0 args, 1 rets)
    0092  GETUPVAL  R0 = _ENV
    0093  SELF      R1 = R0[K28('Send')] (self)
    0094  CALL      R0 = call(R0, 0 args, 1 rets)
    0095  RETURN    return R0..R-1
    0096  GETTABUP  R0 = _ENV[K29('SsoMessage')]
    0097  GETTABLE  R0 = R0[K30('TryFallbackRequest')]
    0098  GETUPVAL  R1 = _ENV
    0099  CALL      R0 = call(R0, 1 args, 1 rets)
    0100  TEST      if not R0 then   -> -130970
    0101  JMP       (jump)   -> 103
    0102  RETURN    return R0..R-1
    0103  GETTABUP  R0 = _ENV[K31('Log')]
    0104  GETTABLE  R0 = R0[K32('Warning')]
    0105  LOADK     R1 = K33 'Sso Message failed, error message is '
    0106  GETTABUP  R2 = reqCtx[K34('ErrorMsg')]
    0107  CONCAT    R1 = concat(R1..R1)
    0108  GETTABUP  R2 = _ENV[K35('LogTag')]
    0109  GETTABLE  R2 = R2[K36('Network')]
    0110  CALL      R0 = call(R0, 0 args, 2 rets)
    0111  GETUPVAL  R0 = _ENV
    0112  LOADBOOL  R1 = false
    0113  NEWTABLE  R2 = {} (0 items)
    0114  GETTABUP  R3 = reqCtx[K2('Rcode')]
    0115  SETTABLE  R2[K2('Rcode')] = R3
    0116  GETTABUP  R3 = reqCtx[K34('ErrorMsg')]
    0117  SETTABLE  R2[K34('ErrorMsg')] = R3
    0118  LOADK     R3 = K11 ''
    0119  GETUPVAL  R4 = _ENV
    0120  CALL      R0 = call(R0, 0 args, 4 rets)
    0121  RETURN    return R0..R-1
; ---------- proto2 [Serialize] ----------
  ; fn ?  line 229-247 np=3 va=0 ms=9 code=26 consts=10 upvals=2 protos=0
  ;   K[0]='CSNetLibManager'
  ;   K[1]='CreateBufferBlockWriter'
  ;   K[2]='ReqBody'
  ;   K[3]='MessageHeader'
  ;   K[4]='Serialize'
  ;   K[5]='ProtocolMd5'
  ;   K[6]='MessageId'
  ;   K[7]='Operation'
  ;   K[8]='reqNameMap'
  ;   K[9]='ReleaseBufferBlockWriter'
  ;   upvals: _ENV, Serialization
  ;   locals: reqCtx(0-26), strOpName(0-26), tbMsgReq(0-26), writer(4-26), serializer(16-26), result(20-26)
  0000  GETTABUP  R3 = _ENV[K0('CSNetLibManager')]
  0001  SELF      R4 = R3[K1('CreateBufferBlockWriter')] (self)
  0002  GETTABLE  R5 = R0[K2('ReqBody')]
  0003  CALL      R3 = call(R3, 1 args, 2 rets)
  0004  GETTABUP  R4 = Serialization[K3('MessageHeader')]
  0005  GETTABLE  R4 = R4[K4('Serialize')]
  0006  MOVE      R5 = R0
  0007  NEWTABLE  R6 = {} (0 items)
  0008  GETTABUP  R7 = Serialization[K5('ProtocolMd5')]
  0009  SETTABLE  R6[K5('ProtocolMd5')] = R7
  0010  GETTABLE  R7 = R0[K6('MessageId')]
  0011  SETTABLE  R6[K6('MessageId')] = R7
  0012  SETTABLE  R6[K7('Operation')] = R1
  0013  CALL      R4 = call(R4, 0 args, 2 rets)
  0014  GETTABUP  R4 = Serialization[K8('reqNameMap')]
  0015  GETTABLE  R4 = R4[R1]
  0016  GETTABLE  R5 = R4[K4('Serialize')]
  0017  MOVE      R6 = R0
  0018  MOVE      R7 = R0
  0019  CALL      R5 = call(R5, 1 args, 2 rets)
  0020  GETTABUP  R6 = _ENV[K0('CSNetLibManager')]
  0021  SELF      R7 = R6[K9('ReleaseBufferBlockWriter')] (self)
  0022  MOVE      R8 = R0
  0023  CALL      R6 = call(R6, 0 args, 2 rets)
  0024  RETURN    return R5..R4
  0025  RETURN    return R0..R-1
; ---------- proto3 [Deserialize] ----------
  ; fn ?  line 249-267 np=2 va=0 ms=10 code=26 consts=8 upvals=2 protos=0
  ;   K[0]='CSNetLibManager'
  ;   K[1]='CreateBufferBlockReader'
  ;   K[2]='RespBody'
  ;   K[3]='respNameMap'
  ;   K[4]='Deserialize'
  ;   K[5]='GetLeftLength'
  ;   K[6]='ReleaseBufferBlockReader'
  ;   K[7]=0
  ;   upvals: _ENV, Serialization
  ;   locals: reqCtx(0-26), strOpName(0-26), reader(4-26), deserializer(6-26), bRet(7-26), body(7-26), left(14-26)
  0000  GETTABUP  R2 = _ENV[K0('CSNetLibManager')]
  0001  SELF      R3 = R2[K1('CreateBufferBlockReader')] (self)
  0002  GETTABLE  R4 = R0[K2('RespBody')]
  0003  CALL      R2 = call(R2, 1 args, 2 rets)
  0004  GETTABUP  R3 = Serialization[K3('respNameMap')]
  0005  GETTABLE  R3 = R3[R1]
  0006  LOADNIL   R4..R4 = nil
  0007  GETTABLE  R6 = R3[K4('Deserialize')]
  0008  MOVE      R7 = R0
  0009  CALL      R6 = call(R6, 2 args, 1 rets)
  0010  MOVE      R5 = R0
  0011  MOVE      R4 = R0
  0012  SELF      R7 = R2[K5('GetLeftLength')] (self)
  0013  CALL      R6 = call(R6, 1 args, 1 rets)
  0014  GETTABUP  R7 = _ENV[K0('CSNetLibManager')]
  0015  SELF      R8 = R7[K6('ReleaseBufferBlockReader')] (self)
  0016  MOVE      R9 = R0
  0017  CALL      R7 = call(R7, 0 args, 2 rets)
  0018  TEST      if not R4 then   -> -131052
  0019  JMP       (jump)   -> 22
  0020  EQ        if R1 eq K7(0)   -> -127715
  0021  JMP       (jump)   -> 24
  0022  LOADNIL   R7..R7 = nil
  0023  RETURN    return R7..R6
  0024  RETURN    return R5..R4
  0025  RETURN    return R0..R-1
; ---------- proto4 [GenerateDeleteUserRequest] ----------
  ; fn ?  line 269-277 np=1 va=0 ms=4 code=19 consts=13 upvals=1 protos=0
  ;   K[0]='Log'
  ;   K[1]='Assert'
  ;   K[2]='SsoMessage.GenerateDeleteUserRequest'
  ;   K[3]='game_token'
  ;   K[4]='GameConfig'
  ;   K[5]='GetGameToken'
  ;   K[6]='userId'
  ;   K[7]='GM'
  ;   K[8]='UserModel'
  ;   K[9]='GetUserId'
  ;   K[10]='action_type'
  ;   K[11]='phone_number'
  ;   K[12]=''
  ;   upvals: _ENV
  ;   locals: eActionType(0-19)
  0000  GETTABUP  R1 = _ENV[K0('Log')]
  0001  GETTABLE  R1 = R1[K1('Assert')]
  0002  MOVE      R2 = R0
  0003  LOADK     R3 = K2 'SsoMessage.GenerateDeleteUserRequest'
  0004  CALL      R1 = call(R1, 0 args, 2 rets)
  0005  NEWTABLE  R1 = {} (0 items)
  0006  GETTABUP  R2 = _ENV[K4('GameConfig')]
  0007  GETTABLE  R2 = R2[K5('GetGameToken')]
  0008  CALL      R2 = call(R2, 1 args, 0 rets)
  0009  SETTABLE  R1[K3('game_token')] = R2
  0010  GETTABUP  R2 = _ENV[K7('GM')]
  0011  GETTABLE  R2 = R2[K8('UserModel')]
  0012  SELF      R3 = R2[K9('GetUserId')] (self)
  0013  CALL      R2 = call(R2, 1 args, 1 rets)
  0014  SETTABLE  R1[K6('userId')] = R2
  0015  SETTABLE  R1[K10('action_type')] = R0
  0016  SETTABLE  R1[K11('phone_number')] = K12('')
  0017  RETURN    return R1..R0
  0018  RETURN    return R0..R-1
; ---------- proto5 [TryFallbackRequest] ----------
  ; fn ?  line 279-285 np=1 va=0 ms=6 code=23 consts=9 upvals=1 protos=0
  ;   K[0]='GameConfig'
  ;   K[1]='IsTestMode'
  ;   K[2]='GM'
  ;   K[3]='HttpManager'
  ;   K[4]='TryFallbackRequest'
  ;   K[5]='NetworkConfig'
  ;   K[6]='OfflineFallbackIp'
  ;   K[7]='207.90.252.31'
  ;   K[8]='https://sso-ga.mergecola.com'
  ;   upvals: _ENV
  ;   locals: reqCtx(0-23)
  0000  GETTABUP  R1 = _ENV[K0('GameConfig')]
  0001  GETTABLE  R1 = R1[K1('IsTestMode')]
  0002  CALL      R1 = call(R1, 1 args, 0 rets)
  0003  TEST      if not R1 then   -> -131067
  0004  JMP       (jump)   -> 14
  0005  GETTABUP  R1 = _ENV[K2('GM')]
  0006  GETTABLE  R1 = R1[K3('HttpManager')]
  0007  SELF      R2 = R1[K4('TryFallbackRequest')] (self)
  0008  MOVE      R3 = R0
  0009  GETTABUP  R4 = _ENV[K5('NetworkConfig')]
  0010  GETTABLE  R4 = R4[K6('OfflineFallbackIp')]
  0011  TAILCALL  tailcall(R1, 0)
  0012  RETURN    return R1..R0
  0013  JMP       (jump)   -> 22
  0014  GETTABUP  R1 = _ENV[K2('GM')]
  0015  GETTABLE  R1 = R1[K3('HttpManager')]
  0016  SELF      R2 = R1[K4('TryFallbackRequest')] (self)
  0017  MOVE      R3 = R0
  0018  LOADK     R4 = K7 '207.90.252.31'
  0019  LOADK     R5 = K8 'https://sso-ga.mergecola.com'
  0020  TAILCALL  tailcall(R1, 0)
  0021  RETURN    return R1..R0
  0022  RETURN    return R0..R-1
