# Model_Network_Oper_OperManager_50.luac
; fn @OperManager.lua  line 0-0 np=0 va=1 ms=2 code=61 consts=48 upvals=1 protos=11
;   K[0]='OperManager'
;   K[1]='__index'
;   K[2]='EOperActionPath'
;   K[3]='CrossPromotion'
;   K[4]='cp'
;   K[5]='MoreGame'
;   K[6]='mg'
;   K[7]='EOperUrlType'
;   K[8]='Login'
;   K[9]='/login?type=json&op=ctrl'
;   K[10]='CPUpdateMissionStatus'
;   K[11]='/cp/v3/updateMissionStatus?op=ctrl'
;   K[12]='CPRefreshEventStatus'
;   K[13]='/cp/v3/refreshEventStatus?op=ctrl'
;   K[14]='CPEndEvent'
;   K[15]='/cp/v3/endEvent?op=login'
;   K[16]='MailUserData'
;   K[17]='/mail/user_data?op=ctrl'
;   K[18]='CPClientCheck'
;   K[19]='/cp/v3/clientCheck?op=login'
;   K[20]='CPDeleteTest'
;   K[21]='/cp/v3/deleteCPBindForTest?op=ctrl'
;   K[22]='AgeGateUpdateSession'
;   K[23]='/ageGate/updateSession'
;   K[24]='AgeCheckThreshold'
;   K[25]='/ageGate/get-requirements/'
;   K[26]='AgeCheck'
;   K[27]='/ageGate/check/'
;   K[28]='TestSetAgeVerification'
;   K[29]='/test/ageGate/set-age-verification-status/'
;   K[30]='EOperPlatform'
;   K[31]='IOS'
;   K[32]='apple-ios'
;   K[33]='Google'
;   K[34]='google-play'
;   K[35]='Amazon'
;   K[36]='meta-horizon'
;   K[37]='Init'
;   K[38]='OperManager'
;   K[39]='AcquireAgeThreshold'
;   K[40]='ReportAgeGate'
;   K[41]='TestSetAgeVerificationResult'
;   K[42]='OperManager'
;   K[43]='TryFallbackRequest'
;   K[44]='ParseUrl'
;   K[45]='GetUrlByType'
;   K[46]='GetUrlParam'
;   K[47]='SendUserDataEmail'
;   upvals: _ENV
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABUP  _ENV[K0('OperManager')] = R0
0002  GETTABUP  R0 = _ENV[K0('OperManager')]
0003  GETTABUP  R1 = _ENV[K0('OperManager')]
0004  SETTABLE  R0[K1('__index')] = R1
0005  NEWTABLE  R0 = {} (0 items)
0006  SETTABLE  R0[K3('CrossPromotion')] = K4('cp')
0007  SETTABLE  R0[K5('MoreGame')] = K6('mg')
0008  SETTABUP  _ENV[K2('EOperActionPath')] = R0
0009  NEWTABLE  R0 = {} (0 items)
0010  SETTABLE  R0[K8('Login')] = K9('/login?type=json&op=ctrl')
0011  SETTABLE  R0[K10('CPUpdateMissionStatus')] = K11('/cp/v3/updateMissionStatus?op=ctrl')
0012  SETTABLE  R0[K12('CPRefreshEventStatus')] = K13('/cp/v3/refreshEventStatus?op=ctrl')
0013  SETTABLE  R0[K14('CPEndEvent')] = K15('/cp/v3/endEvent?op=login')
0014  SETTABLE  R0[K16('MailUserData')] = K17('/mail/user_data?op=ctrl')
0015  SETTABLE  R0[K18('CPClientCheck')] = K19('/cp/v3/clientCheck?op=login')
0016  SETTABLE  R0[K20('CPDeleteTest')] = K21('/cp/v3/deleteCPBindForTest?op=ctrl')
0017  SETTABLE  R0[K22('AgeGateUpdateSession')] = K23('/ageGate/updateSession')
0018  SETTABLE  R0[K24('AgeCheckThreshold')] = K25('/ageGate/get-requirements/')
0019  SETTABLE  R0[K26('AgeCheck')] = K27('/ageGate/check/')
0020  SETTABLE  R0[K28('TestSetAgeVerification')] = K29('/test/ageGate/set-age-verification-status/')
0021  SETTABUP  _ENV[K7('EOperUrlType')] = R0
0022  NEWTABLE  R0 = {} (0 items)
0023  SETTABLE  R0[K31('IOS')] = K32('apple-ios')
0024  SETTABLE  R0[K33('Google')] = K34('google-play')
0025  SETTABLE  R0[K35('Amazon')] = K36('meta-horizon')
0026  SETTABUP  _ENV[K30('EOperPlatform')] = R0
0027  GETTABUP  R0 = _ENV[K0('OperManager')]
0028  CLOSURE   R1 = closure proto0
0029  SETTABLE  R0[K37('Init')] = R1
0030  GETTABUP  R0 = _ENV[K0('OperManager')]
0031  CLOSURE   R1 = closure proto1
0032  SETTABLE  R0[K8('Login')] = R1
0033  GETTABUP  R0 = _ENV[K38('OperManager')]
0034  CLOSURE   R1 = closure proto2
0035  SETTABLE  R0[K39('AcquireAgeThreshold')] = R1
0036  GETTABUP  R0 = _ENV[K38('OperManager')]
0037  CLOSURE   R1 = closure proto3
0038  SETTABLE  R0[K26('AgeCheck')] = R1
0039  GETTABUP  R0 = _ENV[K38('OperManager')]
0040  CLOSURE   R1 = closure proto4
0041  SETTABLE  R0[K40('ReportAgeGate')] = R1
0042  GETTABUP  R0 = _ENV[K38('OperManager')]
0043  CLOSURE   R1 = closure proto5
0044  SETTABLE  R0[K41('TestSetAgeVerificationResult')] = R1
0045  GETTABUP  R0 = _ENV[K42('OperManager')]
0046  CLOSURE   R1 = closure proto6
0047  SETTABLE  R0[K43('TryFallbackRequest')] = R1
0048  GETTABUP  R0 = _ENV[K42('OperManager')]
0049  CLOSURE   R1 = closure proto7
0050  SETTABLE  R0[K44('ParseUrl')] = R1
0051  GETTABUP  R0 = _ENV[K42('OperManager')]
0052  CLOSURE   R1 = closure proto8
0053  SETTABLE  R0[K45('GetUrlByType')] = R1
0054  GETTABUP  R0 = _ENV[K42('OperManager')]
0055  CLOSURE   R1 = closure proto9
0056  SETTABLE  R0[K46('GetUrlParam')] = R1
0057  GETTABUP  R0 = _ENV[K42('OperManager')]
0058  CLOSURE   R1 = closure proto10
0059  SETTABLE  R0[K47('SendUserDataEmail')] = R1
0060  RETURN    return R0..R-1
; ---------- proto0 [Init] ----------
  ; fn ?  line 35-38 np=1 va=0 ms=2 code=6 consts=5 upvals=1 protos=0
  ;   K[0]='m_requestUrl'
  ;   K[1]='NetworkConfig'
  ;   K[2]='GetOperUrl'
  ;   K[3]='mailDataEnabled'
  ;   K[4]=false
  ;   upvals: _ENV
  ;   locals: self(0-6)
  0000  GETTABUP  R1 = _ENV[K1('NetworkConfig')]
  0001  GETTABLE  R1 = R1[K2('GetOperUrl')]
  0002  CALL      R1 = call(R1, 1 args, 0 rets)
  0003  SETTABLE  R0[K0('m_requestUrl')] = R1
  0004  SETTABLE  R0[K3('mailDataEnabled')] = K4(false)
  0005  RETURN    return R0..R-1
; ---------- proto1 [Login] ----------
  ; fn ?  line 40-155 np=4 va=0 ms=16 code=162 consts=87 upvals=1 protos=2
  ;   K[0]='m_validGroupName'
  ;   K[1]='Application'
  ;   K[2]='absoluteURL'
  ;   K[3]='CSAppsFlyerManager'
  ;   K[4]='GetTrackerName'
  ;   K[5]='Log'
  ;   K[6]='Info'
  ;   K[7]='oper data url: '
  ;   K[8]=',trackerName: '
  ;   K[9]='m_tbUrlParam'
  ;   K[10]='StringUtil'
  ;   K[11]='IsNilOrEmpty'
  ;   K[12]='ParseUrl'
  ;   K[13]='NetTimeStamp'
  ;   K[14]='Create'
  ;   K[15]='EBIType'
  ;   K[16]='NetworkCheckAction'
  ;   K[17]='OperLogin'
  ;   K[18]='GM'
  ;   K[19]='BIManager'
  ;   K[20]='LogNet'
  ;   K[21]='CSNetLibManager'
  ;   K[22]='CreateGeneralHttpRequest'
  ;   K[23]='GetUrlByType'
  ;   K[24]='EOperUrlType'
  ;   K[25]='Login'
  ;   K[26]='POST'
  ;   K[27]=8000
  ;   K[28]=1
  ;   K[29]='SetHeader'
  ;   K[30]='NetworkConfig'
  ;   K[31]='ContentTypeKey'
  ;   K[32]='application/octet-stream'
  ;   K[33]='SetCheckResponse'
  ;   K[34]='SetCallback'
  ;   K[35]='userId'
  ;   K[36]='tostring'
  ;   K[37]='GM'
  ;   K[38]='UserModel'
  ;   K[39]='GetUserId'
  ;   K[40]='groups'
  ;   K[41]='level'
  ;   K[42]='LevelModel'
  ;   K[43]='GetCurrentLevel'
  ;   K[44]='day'
  ;   K[45]='MainBoardModel'
  ;   K[46]='GetCurOrderDay'
  ;   K[47]='pay'
  ;   K[48]='InAppPurchaseModel'
  ;   K[49]='GetTotalRecharge'
  ;   K[50]='os_name'
  ;   K[51]='DeviceInfo'
  ;   K[52]='GetOsName'
  ;   K[53]='os_version'
  ;   K[54]='GetOsVersion'
  ;   K[55]='token'
  ;   K[56]='GameConfig'
  ;   K[57]='GetGameToken'
  ;   K[58]='idfa'
  ;   K[59]='GetAdvertisingIdentifier'
  ;   K[60]='imei'
  ;   K[61]='GetIMEI'
  ;   K[62]='channel'
  ;   K[63]='CURRENT_PLATFORM'
  ;   K[64]='clientVer'
  ;   K[65]='GetCurrentVersion'
  ;   K[66]='device_name'
  ;   K[67]='GetDeviceModel'
  ;   K[68]='device_id'
  ;   K[69]='GetDeviceID'
  ;   K[70]='idfv'
  ;   K[71]='GetVendorID'
  ;   K[72]='gps_adid'
  ;   K[73]='network_name'
  ;   K[74]='GetMediaSource'
  ;   K[75]='tracker_name'
  ;   K[76]='adid'
  ;   K[77]='::'
  ;   K[78]='GetAppsFlyerId'
  ;   K[79]='region'
  ;   K[80]='GetCountry'
  ;   K[81]='cp'
  ;   K[82]='ageGate'
  ;   K[83]='AppendBody'
  ;   K[84]='json'
  ;   K[85]='encode'
  ;   K[86]='Send'
  ;   upvals: _ENV
  ;   locals: self(0-162), validGroupName(0-162), funcCallback(0-162), ageGateInfo(0-162), url(6-162), trackerName(9-162), startTime(35-162), reqCtx(53-162), headers(59-162), rawData(59-162), tbData(59-162), reqBody(153-162)
  0000  TEST      if not R1 then   -> -131069
  0001  JMP       (jump)   -> 3
  0002  GETTABLE  R1 = R0[K0('m_validGroupName')]
  0003  SETTABLE  R0[K0('m_validGroupName')] = R1
  0004  GETTABUP  R4 = _ENV[K1('Application')]
  0005  GETTABLE  R4 = R4[K2('absoluteURL')]
  0006  GETTABUP  R5 = _ENV[K3('CSAppsFlyerManager')]
  0007  SELF      R6 = R5[K4('GetTrackerName')] (self)
  0008  CALL      R5 = call(R5, 1 args, 1 rets)
  0009  GETTABUP  R6 = _ENV[K5('Log')]
  0010  GETTABLE  R6 = R6[K6('Info')]
  0011  LOADK     R7 = K7 'oper data url: '
  0012  MOVE      R8 = R0
  0013  LOADK     R9 = K8 ',trackerName: '
  0014  MOVE      R10 = R0
  0015  CONCAT    R7 = concat(R7..R7)
  0016  CALL      R6 = call(R6, 0 args, 1 rets)
  0017  NEWTABLE  R6 = {} (0 items)
  0018  SETTABLE  R0[K9('m_tbUrlParam')] = R6
  0019  GETTABUP  R6 = _ENV[K10('StringUtil')]
  0020  GETTABLE  R6 = R6[K11('IsNilOrEmpty')]
  0021  MOVE      R7 = R0
  0022  CALL      R6 = call(R6, 1 args, 1 rets)
  0023  TEST      if not R6 then   -> -131046
  0024  JMP       (jump)   -> 29
  0025  SELF      R7 = R0[K12('ParseUrl')] (self)
  0026  MOVE      R8 = R0
  0027  CALL      R6 = call(R6, 1 args, 2 rets)
  0028  SETTABLE  R0[K9('m_tbUrlParam')] = R6
  0029  GETTABUP  R6 = _ENV[K13('NetTimeStamp')]
  0030  GETTABLE  R6 = R6[K14('Create')]
  0031  GETTABUP  R7 = _ENV[K15('EBIType')]
  0032  GETTABLE  R7 = R7[K16('NetworkCheckAction')]
  0033  GETTABLE  R7 = R7[K17('OperLogin')]
  0034  CALL      R6 = call(R6, 1 args, 1 rets)
  0035  GETTABUP  R7 = _ENV[K18('GM')]
  0036  GETTABLE  R7 = R7[K19('BIManager')]
  0037  SELF      R8 = R7[K20('LogNet')] (self)
  0038  GETTABUP  R9 = _ENV[K15('EBIType')]
  0039  GETTABLE  R9 = R9[K16('NetworkCheckAction')]
  0040  GETTABLE  R9 = R9[K17('OperLogin')]
  0041  MOVE      R10 = R0
  0042  CALL      R7 = call(R7, 0 args, 3 rets)
  0043  GETTABUP  R7 = _ENV[K21('CSNetLibManager')]
  0044  SELF      R8 = R7[K22('CreateGeneralHttpRequest')] (self)
  0045  SELF      R10 = R0[K23('GetUrlByType')] (self)
  0046  GETTABUP  R11 = _ENV[K24('EOperUrlType')]
  0047  GETTABLE  R11 = R11[K25('Login')]
  0048  CALL      R9 = call(R9, 1 args, 2 rets)
  0049  LOADK     R10 = K26 'POST'
  0050  LOADK     R11 = K27 8000
  0051  LOADK     R12 = K28 1
  0052  CALL      R7 = call(R7, 1 args, 5 rets)
  0053  SELF      R9 = R7[K29('SetHeader')] (self)
  0054  GETTABUP  R10 = _ENV[K30('NetworkConfig')]
  0055  GETTABLE  R10 = R10[K31('ContentTypeKey')]
  0056  LOADK     R11 = K32 'application/octet-stream'
  0057  CALL      R8 = call(R8, 0 args, 3 rets)
  0058  LOADNIL   R8..R8 = nil
  0059  SELF      R12 = R7[K33('SetCheckResponse')] (self)
  0060  CLOSURE   R13 = closure proto0
  0061  CALL      R11 = call(R11, 0 args, 2 rets)
  0062  SELF      R12 = R7[K34('SetCallback')] (self)
  0063  CLOSURE   R13 = closure proto1
  0064  CALL      R11 = call(R11, 0 args, 2 rets)
  0065  NEWTABLE  R11 = {} (0 items)
  0066  GETTABUP  R12 = _ENV[K36('tostring')]
  0067  GETTABUP  R13 = _ENV[K37('GM')]
  0068  GETTABLE  R13 = R13[K38('UserModel')]
  0069  SELF      R14 = R13[K39('GetUserId')] (self)
  0070  CALL      R13 = call(R13, -1 args, 1 rets)
  0071  CALL      R12 = call(R12, 1 args, -1 rets)
  0072  SETTABLE  R11[K35('userId')] = R12
  0073  SETTABLE  R11[K40('groups')] = R1
  0074  GETTABUP  R12 = _ENV[K37('GM')]
  0075  GETTABLE  R12 = R12[K42('LevelModel')]
  0076  SELF      R13 = R12[K43('GetCurrentLevel')] (self)
  0077  CALL      R12 = call(R12, 1 args, 1 rets)
  0078  SETTABLE  R11[K41('level')] = R12
  0079  GETTABUP  R12 = _ENV[K37('GM')]
  0080  GETTABLE  R12 = R12[K45('MainBoardModel')]
  0081  SELF      R13 = R12[K46('GetCurOrderDay')] (self)
  0082  CALL      R12 = call(R12, 1 args, 1 rets)
  0083  SETTABLE  R11[K44('day')] = R12
  0084  GETTABUP  R12 = _ENV[K37('GM')]
  0085  GETTABLE  R12 = R12[K48('InAppPurchaseModel')]
  0086  SELF      R13 = R12[K49('GetTotalRecharge')] (self)
  0087  CALL      R12 = call(R12, 1 args, 1 rets)
  0088  SETTABLE  R11[K47('pay')] = R12
  0089  GETTABUP  R12 = _ENV[K51('DeviceInfo')]
  0090  GETTABLE  R12 = R12[K52('GetOsName')]
  0091  CALL      R12 = call(R12, 1 args, 0 rets)
  0092  SETTABLE  R11[K50('os_name')] = R12
  0093  GETTABUP  R12 = _ENV[K51('DeviceInfo')]
  0094  GETTABLE  R12 = R12[K54('GetOsVersion')]
  0095  CALL      R12 = call(R12, 1 args, 0 rets)
  0096  SETTABLE  R11[K53('os_version')] = R12
  0097  GETTABUP  R12 = _ENV[K56('GameConfig')]
  0098  GETTABLE  R12 = R12[K57('GetGameToken')]
  0099  CALL      R12 = call(R12, 1 args, 0 rets)
  0100  SETTABLE  R11[K55('token')] = R12
  0101  GETTABUP  R12 = _ENV[K51('DeviceInfo')]
  0102  GETTABLE  R12 = R12[K59('GetAdvertisingIdentifier')]
  0103  CALL      R12 = call(R12, 1 args, 0 rets)
  0104  SETTABLE  R11[K58('idfa')] = R12
  0105  GETTABUP  R12 = _ENV[K51('DeviceInfo')]
  0106  GETTABLE  R12 = R12[K61('GetIMEI')]
  0107  CALL      R12 = call(R12, 1 args, 0 rets)
  0108  SETTABLE  R11[K60('imei')] = R12
  0109  GETTABUP  R12 = _ENV[K56('GameConfig')]
  0110  GETTABLE  R12 = R12[K63('CURRENT_PLATFORM')]
  0111  SETTABLE  R11[K62('channel')] = R12
  0112  GETTABUP  R12 = _ENV[K56('GameConfig')]
  0113  GETTABLE  R12 = R12[K65('GetCurrentVersion')]
  0114  CALL      R12 = call(R12, 1 args, 0 rets)
  0115  SETTABLE  R11[K64('clientVer')] = R12
  0116  GETTABUP  R12 = _ENV[K51('DeviceInfo')]
  0117  GETTABLE  R12 = R12[K67('GetDeviceModel')]
  0118  CALL      R12 = call(R12, 1 args, 0 rets)
  0119  SETTABLE  R11[K66('device_name')] = R12
  0120  GETTABUP  R12 = _ENV[K51('DeviceInfo')]
  0121  GETTABLE  R12 = R12[K69('GetDeviceID')]
  0122  CALL      R12 = call(R12, 1 args, 0 rets)
  0123  SETTABLE  R11[K68('device_id')] = R12
  0124  GETTABUP  R12 = _ENV[K51('DeviceInfo')]
  0125  GETTABLE  R12 = R12[K71('GetVendorID')]
  0126  CALL      R12 = call(R12, 1 args, 0 rets)
  0127  SETTABLE  R11[K70('idfv')] = R12
  0128  GETTABUP  R12 = _ENV[K51('DeviceInfo')]
  0129  GETTABLE  R12 = R12[K59('GetAdvertisingIdentifier')]
  0130  CALL      R12 = call(R12, 1 args, 0 rets)
  0131  SETTABLE  R11[K72('gps_adid')] = R12
  0132  GETTABUP  R12 = _ENV[K3('CSAppsFlyerManager')]
  0133  SELF      R13 = R12[K74('GetMediaSource')] (self)
  0134  CALL      R12 = call(R12, 1 args, 1 rets)
  0135  SETTABLE  R11[K73('network_name')] = R12
  0136  GETTABUP  R12 = _ENV[K3('CSAppsFlyerManager')]
  0137  SELF      R13 = R12[K4('GetTrackerName')] (self)
  0138  CALL      R12 = call(R12, 1 args, 1 rets)
  0139  SETTABLE  R11[K75('tracker_name')] = R12
  0140  LOADK     R12 = K77 '::'
  0141  GETTABUP  R13 = _ENV[K3('CSAppsFlyerManager')]
  0142  SELF      R14 = R13[K78('GetAppsFlyerId')] (self)
  0143  CALL      R13 = call(R13, 1 args, 1 rets)
  0144  CONCAT    R12 = concat(R12..R12)
  0145  SETTABLE  R11[K76('adid')] = R12
  0146  GETTABUP  R12 = _ENV[K51('DeviceInfo')]
  0147  GETTABLE  R12 = R12[K80('GetCountry')]
  0148  CALL      R12 = call(R12, 1 args, 0 rets)
  0149  SETTABLE  R11[K79('region')] = R12
  0150  GETTABLE  R12 = R0[K9('m_tbUrlParam')]
  0151  SETTABLE  R11[K81('cp')] = R12
  0152  SETTABLE  R11[K82('ageGate')] = R3
  0153  SELF      R13 = R7[K83('AppendBody')] (self)
  0154  GETTABUP  R14 = _ENV[K84('json')]
  0155  GETTABLE  R14 = R14[K85('encode')]
  0156  MOVE      R15 = R0
  0157  CALL      R14 = call(R14, -1 args, 1 rets)
  0158  CALL      R12 = call(R12, 0 args, -1 rets)
  0159  SELF      R13 = R7[K86('Send')] (self)
  0160  CALL      R12 = call(R12, 0 args, 1 rets)
  0161  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 63-87 np=0 va=0 ms=3 code=46 consts=20 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]='RespBody'
    ;   K[13]='Bytes'
    ;   K[14]=0
    ;   K[15]='Invalid response body'
    ;   K[16]='GetResponseString'
    ;   K[17]='json'
    ;   K[18]='decode'
    ;   K[19]='Malformed response body'
    ;   upvals: _ENV, headers, reqCtx, rawData, tbData
    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)   -> 43
    0023  GETTABUP  R0 = reqCtx[K12('RespBody')]
    0024  GETTABLE  R0 = R0[K13('Bytes')]
    0025  EQ        if R0 eq K14(0)   -> -130775
    0026  JMP       (jump)   -> 29
    0027  LOADK     R0 = K15 'Invalid response body'
    0028  RETURN    return R0..R-1
    0029  GETUPVAL  R0 = _ENV
    0030  SELF      R1 = R0[K16('GetResponseString')] (self)
    0031  CALL      R0 = call(R0, 1 args, 1 rets)
    0032  SETUPVAL  _ENV = R0
    0033  GETTABUP  R0 = _ENV[K17('json')]
    0034  GETTABLE  R0 = R0[K18('decode')]
    0035  GETUPVAL  R1 = _ENV
    0036  CALL      R0 = call(R0, 1 args, 1 rets)
    0037  SETUPVAL  _ENV = R0
    0038  GETUPVAL  R0 = _ENV
    0039  EQ        if R0 eq K1(nil)   -> -130774
    0040  JMP       (jump)   -> 43
    0041  LOADK     R0 = K19 'Malformed response body'
    0042  RETURN    return R0..R-1
    0043  LOADNIL   R0..R0 = nil
    0044  RETURN    return R0..R-1
    0045  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 90-125 np=0 va=0 ms=8 code=110 consts=38 upvals=7 protos=0
    ;   K[0]='GM'
    ;   K[1]=nil
    ;   K[2]='EndAndGetDur'
    ;   K[3]='Rcode'
    ;   K[4]='ResultCode'
    ;   K[5]='Succeeded'
    ;   K[6]='HttpManager'
    ;   K[7]='OnCallbackStart'
    ;   K[8]='OperBIManager'
    ;   K[9]='OperLoginCallback'
    ;   K[10]='adjust'
    ;   K[11]='SceneManager'
    ;   K[12]='SetLoggingFlag'
    ;   K[13]='debug_log'
    ;   K[14]='BIManager'
    ;   K[15]='SetCompressMethod'
    ;   K[16]='compress'
    ;   K[17]='CrossPromotionModel'
    ;   K[18]='LoginMsg'
    ;   K[19]='cp'
    ;   K[20]='MoreGameModel'
    ;   K[21]='more_games'
    ;   K[22]='ShareLinkModel'
    ;   K[23]='SetRewardContentData'
    ;   K[24]='fb_link_reward'
    ;   K[25]='mailDataEnabled'
    ;   K[26]='maildata'
    ;   K[27]='1'
    ;   K[28]='LogNet'
    ;   K[29]='EBIType'
    ;   K[30]='NetworkCheckAction'
    ;   K[31]='OperLoginSuccess'
    ;   K[32]='OperManager'
    ;   K[33]='TryFallbackRequest'
    ;   K[34]='OperLoginFailed'
    ;   K[35]='[OperCallback] Invalid data. '
    ;   K[36]='nil'
    ;   K[37]='tostring'
    ;   upvals: _ENV, startTime, reqCtx, tbData, self, funcCallback, rawData
    ;   locals: timeInterval(7-110)
    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  GETUPVAL  R0 = _ENV
    0005  SELF      R1 = R0[K2('EndAndGetDur')] (self)
    0006  CALL      R0 = call(R0, 1 args, 1 rets)
    0007  GETTABUP  R1 = reqCtx[K3('Rcode')]
    0008  GETTABUP  R2 = _ENV[K4('ResultCode')]
    0009  GETTABLE  R2 = R2[K5('Succeeded')]
    0010  EQ        if R0 eq R2   -> -130546
    0011  JMP       (jump)   -> 77
    0012  GETTABUP  R1 = _ENV[K0('GM')]
    0013  GETTABLE  R1 = R1[K6('HttpManager')]
    0014  SELF      R2 = R1[K7('OnCallbackStart')] (self)
    0015  GETUPVAL  R3 = _ENV
    0016  CALL      R1 = call(R1, 0 args, 2 rets)
    0017  GETTABUP  R1 = _ENV[K0('GM')]
    0018  GETTABLE  R1 = R1[K8('OperBIManager')]
    0019  SELF      R2 = R1[K9('OperLoginCallback')] (self)
    0020  GETTABUP  R3 = tbData[K10('adjust')]
    0021  CALL      R1 = call(R1, 0 args, 2 rets)
    0022  GETTABUP  R1 = _ENV[K0('GM')]
    0023  GETTABLE  R1 = R1[K11('SceneManager')]
    0024  SELF      R2 = R1[K12('SetLoggingFlag')] (self)
    0025  GETTABUP  R3 = tbData[K13('debug_log')]
    0026  CALL      R1 = call(R1, 0 args, 2 rets)
    0027  GETTABUP  R1 = _ENV[K0('GM')]
    0028  GETTABLE  R1 = R1[K14('BIManager')]
    0029  SELF      R2 = R1[K15('SetCompressMethod')] (self)
    0030  GETTABUP  R3 = tbData[K16('compress')]
    0031  CALL      R1 = call(R1, 0 args, 2 rets)
    0032  GETTABUP  R1 = _ENV[K0('GM')]
    0033  GETTABLE  R1 = R1[K17('CrossPromotionModel')]
    0034  SELF      R2 = R1[K18('LoginMsg')] (self)
    0035  GETTABUP  R3 = tbData[K19('cp')]
    0036  CALL      R1 = call(R1, 0 args, 2 rets)
    0037  GETTABUP  R1 = _ENV[K0('GM')]
    0038  GETTABLE  R1 = R1[K20('MoreGameModel')]
    0039  SELF      R2 = R1[K18('LoginMsg')] (self)
    0040  GETTABUP  R3 = tbData[K21('more_games')]
    0041  CALL      R1 = call(R1, 0 args, 2 rets)
    0042  GETTABUP  R1 = _ENV[K0('GM')]
    0043  GETTABLE  R1 = R1[K22('ShareLinkModel')]
    0044  SELF      R2 = R1[K23('SetRewardContentData')] (self)
    0045  GETTABUP  R3 = tbData[K24('fb_link_reward')]
    0046  CALL      R1 = call(R1, 0 args, 2 rets)
    0047  GETTABUP  R1 = tbData[K26('maildata')]
    0048  EQ        if R1 eq K27('1')   -> -130227
    0049  JMP       (jump)   -> 51
    0050  LOADBOOL  R1 = false
    0051  LOADBOOL  R1 = true
    0052  SETTABUP  self[K25('mailDataEnabled')] = R1
    0053  GETTABUP  R1 = _ENV[K0('GM')]
    0054  GETTABLE  R1 = R1[K14('BIManager')]
    0055  SELF      R2 = R1[K28('LogNet')] (self)
    0056  GETTABUP  R3 = _ENV[K29('EBIType')]
    0057  GETTABLE  R3 = R3[K30('NetworkCheckAction')]
    0058  GETTABLE  R3 = R3[K31('OperLoginSuccess')]
    0059  LOADNIL   R4..R4 = nil
    0060  GETUPVAL  R5 = _ENV
    0061  MOVE      R6 = R0
    0062  CALL      R1 = call(R1, 0 args, 5 rets)
    0063  GETUPVAL  R1 = _ENV
    0064  TEST      if not R1 then   -> -131006
    0065  JMP       (jump)   -> 76
    0066  GETUPVAL  R1 = _ENV
    0067  GETTABUP  R2 = reqCtx[K3('Rcode')]
    0068  GETTABUP  R3 = _ENV[K4('ResultCode')]
    0069  GETTABLE  R3 = R3[K5('Succeeded')]
    0070  EQ        if R1 eq R3   -> -129973
    0071  JMP       (jump)   -> 73
    0072  LOADBOOL  R2 = false
    0073  LOADBOOL  R2 = true
    0074  GETUPVAL  R3 = _ENV
    0075  CALL      R1 = call(R1, 0 args, 2 rets)
    0076  RETURN    return R0..R-1
    0077  GETTABUP  R1 = _ENV[K32('OperManager')]
    0078  GETTABLE  R1 = R1[K33('TryFallbackRequest')]
    0079  GETUPVAL  R2 = _ENV
    0080  CALL      R1 = call(R1, 1 args, 1 rets)
    0081  TEST      if not R1 then   -> -130989
    0082  JMP       (jump)   -> 84
    0083  RETURN    return R0..R-1
    0084  GETUPVAL  R1 = _ENV
    0085  EQ        if R1 eq K1(nil)   -> -130216
    0086  JMP       (jump)   -> 91
    0087  GETUPVAL  R1 = _ENV
    0088  LOADBOOL  R2 = false
    0089  LOADNIL   R3..R3 = nil
    0090  CALL      R1 = call(R1, 0 args, 2 rets)
    0091  GETTABUP  R1 = _ENV[K0('GM')]
    0092  GETTABLE  R1 = R1[K14('BIManager')]
    0093  SELF      R2 = R1[K28('LogNet')] (self)
    0094  GETTABUP  R3 = _ENV[K29('EBIType')]
    0095  GETTABLE  R3 = R3[K30('NetworkCheckAction')]
    0096  GETTABLE  R3 = R3[K34('OperLoginFailed')]
    0097  LOADK     R4 = K35 '[OperCallback] Invalid data. '
    0098  GETUPVAL  R5 = _ENV
    0099  TEST      if not R5 then   -> -130970
    0100  JMP       (jump)   -> 102
    0101  LOADK     R5 = K36 'nil'
    0102  GETTABUP  R6 = _ENV[K37('tostring')]
    0103  GETTABUP  R7 = reqCtx[K3('Rcode')]
    0104  CALL      R6 = call(R6, 1 args, 1 rets)
    0105  CONCAT    R4 = concat(R4..R4)
    0106  GETUPVAL  R5 = _ENV
    0107  MOVE      R6 = R0
    0108  CALL      R1 = call(R1, 0 args, 5 rets)
    0109  RETURN    return R0..R-1
; ---------- proto2 [AcquireAgeThreshold] ----------
  ; fn ?  line 158-179 np=3 va=0 ms=10 code=39 consts=24 upvals=1 protos=1
  ;   K[0]='GameConfig'
  ;   K[1]='GetGameToken'
  ;   K[2]='CSNetLibManager'
  ;   K[3]='CreateGeneralHttpRequest'
  ;   K[4]='GetUrlByType'
  ;   K[5]='EOperUrlType'
  ;   K[6]='AgeCheckThreshold'
  ;   K[7]='POST'
  ;   K[8]=8000
  ;   K[9]=1
  ;   K[10]='SetHeader'
  ;   K[11]='NetworkConfig'
  ;   K[12]='ContentTypeKey'
  ;   K[13]='application/octet-stream'
  ;   K[14]='userId'
  ;   K[15]='GM'
  ;   K[16]='UserModel'
  ;   K[17]='GetUserId'
  ;   K[18]='jurisdiction'
  ;   K[19]='AppendBody'
  ;   K[20]='json'
  ;   K[21]='encode'
  ;   K[22]='SetCallback'
  ;   K[23]='Send'
  ;   upvals: _ENV
  ;   locals: self(0-39), jurisdiction(0-39), callback(0-39), gameToken(3-39), reqCtx(15-39), reqBody(27-39)
  0000  GETTABUP  R3 = _ENV[K0('GameConfig')]
  0001  GETTABLE  R3 = R3[K1('GetGameToken')]
  0002  CALL      R3 = call(R3, 1 args, 0 rets)
  0003  GETTABUP  R4 = _ENV[K2('CSNetLibManager')]
  0004  SELF      R5 = R4[K3('CreateGeneralHttpRequest')] (self)
  0005  SELF      R7 = R0[K4('GetUrlByType')] (self)
  0006  GETTABUP  R8 = _ENV[K5('EOperUrlType')]
  0007  GETTABLE  R8 = R8[K6('AgeCheckThreshold')]
  0008  CALL      R6 = call(R6, 1 args, 2 rets)
  0009  MOVE      R7 = R0
  0010  CONCAT    R6 = concat(R6..R6)
  0011  LOADK     R7 = K7 'POST'
  0012  LOADK     R8 = K8 8000
  0013  LOADK     R9 = K9 1
  0014  CALL      R4 = call(R4, 1 args, 5 rets)
  0015  SELF      R6 = R4[K10('SetHeader')] (self)
  0016  GETTABUP  R7 = _ENV[K11('NetworkConfig')]
  0017  GETTABLE  R7 = R7[K12('ContentTypeKey')]
  0018  LOADK     R8 = K13 'application/octet-stream'
  0019  CALL      R5 = call(R5, 0 args, 3 rets)
  0020  NEWTABLE  R5 = {} (0 items)
  0021  GETTABUP  R6 = _ENV[K15('GM')]
  0022  GETTABLE  R6 = R6[K16('UserModel')]
  0023  SELF      R7 = R6[K17('GetUserId')] (self)
  0024  CALL      R6 = call(R6, 1 args, 1 rets)
  0025  SETTABLE  R5[K14('userId')] = R6
  0026  SETTABLE  R5[K18('jurisdiction')] = R1
  0027  SELF      R7 = R4[K19('AppendBody')] (self)
  0028  GETTABUP  R8 = _ENV[K20('json')]
  0029  GETTABLE  R8 = R8[K21('encode')]
  0030  MOVE      R9 = R0
  0031  CALL      R8 = call(R8, -1 args, 1 rets)
  0032  CALL      R6 = call(R6, 0 args, -1 rets)
  0033  SELF      R7 = R4[K22('SetCallback')] (self)
  0034  CLOSURE   R8 = closure proto0
  0035  CALL      R6 = call(R6, 0 args, 2 rets)
  0036  SELF      R7 = R4[K23('Send')] (self)
  0037  CALL      R6 = call(R6, 0 args, 1 rets)
  0038  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 169-177 np=0 va=0 ms=6 code=35 consts=9 upvals=3 protos=0
    ;   K[0]='Rcode'
    ;   K[1]='ResultCode'
    ;   K[2]='Succeeded'
    ;   K[3]='GetResponseString'
    ;   K[4]='json'
    ;   K[5]='decode'
    ;   K[6]='oper Acquire AgeThreshold rCode = '
    ;   K[7]='tostring'
    ;   K[8]='null'
    ;   upvals: reqCtx, _ENV, callback
    ;   locals: rawData(8-18), tbData(14-18)
    0000  GETTABUP  R0 = reqCtx[K0('Rcode')]
    0001  GETTABUP  R1 = _ENV[K1('ResultCode')]
    0002  GETTABLE  R1 = R1[K2('Succeeded')]
    0003  EQ        if R0 eq R1   -> -131066
    0004  JMP       (jump)   -> 19
    0005  GETUPVAL  R0 = reqCtx
    0006  SELF      R1 = R0[K3('GetResponseString')] (self)
    0007  CALL      R0 = call(R0, 1 args, 1 rets)
    0008  TESTSET   if not R0 then R1   -> -131062
    0009  JMP       (jump)   -> 14
    0010  GETTABUP  R1 = _ENV[K4('json')]
    0011  GETTABLE  R1 = R1[K5('decode')]
    0012  MOVE      R2 = R0
    0013  CALL      R1 = call(R1, 1 args, 1 rets)
    0014  GETUPVAL  R2 = reqCtx
    0015  LOADBOOL  R3 = true
    0016  MOVE      R4 = R0
    0017  CALL      R2 = call(R2, 0 args, 2 rets)
    0018  JMP       (jump)   -> 34
    0019  GETUPVAL  R0 = reqCtx
    0020  LOADBOOL  R1 = false
    0021  LOADNIL   R2..R2 = nil
    0022  LOADK     R3 = K6 'oper Acquire AgeThreshold rCode = '
    0023  GETTABUP  R4 = reqCtx[K0('Rcode')]
    0024  TEST      if not R4 then   -> -131046
    0025  JMP       (jump)   -> 31
    0026  GETTABUP  R4 = _ENV[K7('tostring')]
    0027  GETTABUP  R5 = reqCtx[K0('Rcode')]
    0028  CALL      R4 = call(R4, 1 args, 1 rets)
    0029  TEST      if not R4 then   -> -131040
    0030  JMP       (jump)   -> 32
    0031  LOADK     R4 = K8 'null'
    0032  CONCAT    R3 = concat(R3..R3)
    0033  CALL      R0 = call(R0, 0 args, 3 rets)
    0034  RETURN    return R0..R-1
; ---------- proto3 [AgeCheck] ----------
  ; fn ?  line 182-203 np=4 va=0 ms=11 code=40 consts=25 upvals=1 protos=1
  ;   K[0]='GameConfig'
  ;   K[1]='GetGameToken'
  ;   K[2]='CSNetLibManager'
  ;   K[3]='CreateGeneralHttpRequest'
  ;   K[4]='GetUrlByType'
  ;   K[5]='EOperUrlType'
  ;   K[6]='AgeCheck'
  ;   K[7]='POST'
  ;   K[8]=8000
  ;   K[9]=1
  ;   K[10]='SetHeader'
  ;   K[11]='NetworkConfig'
  ;   K[12]='ContentTypeKey'
  ;   K[13]='application/octet-stream'
  ;   K[14]='userId'
  ;   K[15]='GM'
  ;   K[16]='UserModel'
  ;   K[17]='GetUserId'
  ;   K[18]='jurisdiction'
  ;   K[19]='verificationId'
  ;   K[20]='AppendBody'
  ;   K[21]='json'
  ;   K[22]='encode'
  ;   K[23]='SetCallback'
  ;   K[24]='Send'
  ;   upvals: _ENV
  ;   locals: self(0-40), jurisdiction(0-40), verificationId(0-40), callback(0-40), gameToken(3-40), reqCtx(15-40), reqBody(28-40)
  0000  GETTABUP  R4 = _ENV[K0('GameConfig')]
  0001  GETTABLE  R4 = R4[K1('GetGameToken')]
  0002  CALL      R4 = call(R4, 1 args, 0 rets)
  0003  GETTABUP  R5 = _ENV[K2('CSNetLibManager')]
  0004  SELF      R6 = R5[K3('CreateGeneralHttpRequest')] (self)
  0005  SELF      R8 = R0[K4('GetUrlByType')] (self)
  0006  GETTABUP  R9 = _ENV[K5('EOperUrlType')]
  0007  GETTABLE  R9 = R9[K6('AgeCheck')]
  0008  CALL      R7 = call(R7, 1 args, 2 rets)
  0009  MOVE      R8 = R0
  0010  CONCAT    R7 = concat(R7..R7)
  0011  LOADK     R8 = K7 'POST'
  0012  LOADK     R9 = K8 8000
  0013  LOADK     R10 = K9 1
  0014  CALL      R5 = call(R5, 1 args, 5 rets)
  0015  SELF      R7 = R5[K10('SetHeader')] (self)
  0016  GETTABUP  R8 = _ENV[K11('NetworkConfig')]
  0017  GETTABLE  R8 = R8[K12('ContentTypeKey')]
  0018  LOADK     R9 = K13 'application/octet-stream'
  0019  CALL      R6 = call(R6, 0 args, 3 rets)
  0020  NEWTABLE  R6 = {} (0 items)
  0021  GETTABUP  R7 = _ENV[K15('GM')]
  0022  GETTABLE  R7 = R7[K16('UserModel')]
  0023  SELF      R8 = R7[K17('GetUserId')] (self)
  0024  CALL      R7 = call(R7, 1 args, 1 rets)
  0025  SETTABLE  R6[K14('userId')] = R7
  0026  SETTABLE  R6[K18('jurisdiction')] = R1
  0027  SETTABLE  R6[K19('verificationId')] = R2
  0028  SELF      R8 = R5[K20('AppendBody')] (self)
  0029  GETTABUP  R9 = _ENV[K21('json')]
  0030  GETTABLE  R9 = R9[K22('encode')]
  0031  MOVE      R10 = R0
  0032  CALL      R9 = call(R9, -1 args, 1 rets)
  0033  CALL      R7 = call(R7, 0 args, -1 rets)
  0034  SELF      R8 = R5[K23('SetCallback')] (self)
  0035  CLOSURE   R9 = closure proto0
  0036  CALL      R7 = call(R7, 0 args, 2 rets)
  0037  SELF      R8 = R5[K24('Send')] (self)
  0038  CALL      R7 = call(R7, 0 args, 1 rets)
  0039  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 193-201 np=0 va=0 ms=6 code=35 consts=9 upvals=3 protos=0
    ;   K[0]='Rcode'
    ;   K[1]='ResultCode'
    ;   K[2]='Succeeded'
    ;   K[3]='GetResponseString'
    ;   K[4]='json'
    ;   K[5]='decode'
    ;   K[6]='oper ageCheck rCode = '
    ;   K[7]='tostring'
    ;   K[8]='null'
    ;   upvals: reqCtx, _ENV, callback
    ;   locals: rawData(8-18), tbData(14-18)
    0000  GETTABUP  R0 = reqCtx[K0('Rcode')]
    0001  GETTABUP  R1 = _ENV[K1('ResultCode')]
    0002  GETTABLE  R1 = R1[K2('Succeeded')]
    0003  EQ        if R0 eq R1   -> -131066
    0004  JMP       (jump)   -> 19
    0005  GETUPVAL  R0 = reqCtx
    0006  SELF      R1 = R0[K3('GetResponseString')] (self)
    0007  CALL      R0 = call(R0, 1 args, 1 rets)
    0008  TESTSET   if not R0 then R1   -> -131062
    0009  JMP       (jump)   -> 14
    0010  GETTABUP  R1 = _ENV[K4('json')]
    0011  GETTABLE  R1 = R1[K5('decode')]
    0012  MOVE      R2 = R0
    0013  CALL      R1 = call(R1, 1 args, 1 rets)
    0014  GETUPVAL  R2 = reqCtx
    0015  LOADBOOL  R3 = true
    0016  MOVE      R4 = R0
    0017  CALL      R2 = call(R2, 0 args, 2 rets)
    0018  JMP       (jump)   -> 34
    0019  GETUPVAL  R0 = reqCtx
    0020  LOADBOOL  R1 = false
    0021  LOADNIL   R2..R2 = nil
    0022  LOADK     R3 = K6 'oper ageCheck rCode = '
    0023  GETTABUP  R4 = reqCtx[K0('Rcode')]
    0024  TEST      if not R4 then   -> -131046
    0025  JMP       (jump)   -> 31
    0026  GETTABUP  R4 = _ENV[K7('tostring')]
    0027  GETTABUP  R5 = reqCtx[K0('Rcode')]
    0028  CALL      R4 = call(R4, 1 args, 1 rets)
    0029  TEST      if not R4 then   -> -131040
    0030  JMP       (jump)   -> 32
    0031  LOADK     R4 = K8 'null'
    0032  CONCAT    R3 = concat(R3..R3)
    0033  CALL      R0 = call(R0, 0 args, 3 rets)
    0034  RETURN    return R0..R-1
; ---------- proto4 [ReportAgeGate] ----------
  ; fn ?  line 206-230 np=3 va=0 ms=10 code=47 consts=30 upvals=1 protos=1
  ;   K[0]='GetUrlByType'
  ;   K[1]='EOperUrlType'
  ;   K[2]='AgeGateUpdateSession'
  ;   K[3]='CSNetLibManager'
  ;   K[4]='CreateGeneralHttpRequest'
  ;   K[5]='POST'
  ;   K[6]=8000
  ;   K[7]=1
  ;   K[8]='SetHeader'
  ;   K[9]='NetworkConfig'
  ;   K[10]='ContentTypeKey'
  ;   K[11]='application/octet-stream'
  ;   K[12]='gameToken'
  ;   K[13]='GameConfig'
  ;   K[14]='GetGameToken'
  ;   K[15]='userId'
  ;   K[16]='tostring'
  ;   K[17]='GM'
  ;   K[18]='UserModel'
  ;   K[19]='GetUserId'
  ;   K[20]='kidSessionId'
  ;   K[21]='jurisdiction'
  ;   K[22]='AppendBody'
  ;   K[23]='json'
  ;   K[24]='encode'
  ;   K[25]='SetCallback'
  ;   K[26]='Send'
  ;   K[27]='LoadingLayerStepAgeGateVerify'
  ;   K[28]='LogAgeCheckProcessInfo'
  ;   K[29]='UploadAgeCheck begin'
  ;   upvals: _ENV
  ;   locals: self(0-47), sessionId(0-47), region(0-47), url(4-47), reqCtx(11-47), reqBody(30-47)
  0000  SELF      R4 = R0[K0('GetUrlByType')] (self)
  0001  GETTABUP  R5 = _ENV[K1('EOperUrlType')]
  0002  GETTABLE  R5 = R5[K2('AgeGateUpdateSession')]
  0003  CALL      R3 = call(R3, 1 args, 2 rets)
  0004  GETTABUP  R4 = _ENV[K3('CSNetLibManager')]
  0005  SELF      R5 = R4[K4('CreateGeneralHttpRequest')] (self)
  0006  MOVE      R6 = R0
  0007  LOADK     R7 = K5 'POST'
  0008  LOADK     R8 = K6 8000
  0009  LOADK     R9 = K7 1
  0010  CALL      R4 = call(R4, 1 args, 5 rets)
  0011  SELF      R6 = R4[K8('SetHeader')] (self)
  0012  GETTABUP  R7 = _ENV[K9('NetworkConfig')]
  0013  GETTABLE  R7 = R7[K10('ContentTypeKey')]
  0014  LOADK     R8 = K11 'application/octet-stream'
  0015  CALL      R5 = call(R5, 0 args, 3 rets)
  0016  NEWTABLE  R5 = {} (0 items)
  0017  GETTABUP  R6 = _ENV[K13('GameConfig')]
  0018  GETTABLE  R6 = R6[K14('GetGameToken')]
  0019  CALL      R6 = call(R6, 1 args, 0 rets)
  0020  SETTABLE  R5[K12('gameToken')] = R6
  0021  GETTABUP  R6 = _ENV[K16('tostring')]
  0022  GETTABUP  R7 = _ENV[K17('GM')]
  0023  GETTABLE  R7 = R7[K18('UserModel')]
  0024  SELF      R8 = R7[K19('GetUserId')] (self)
  0025  CALL      R7 = call(R7, -1 args, 1 rets)
  0026  CALL      R6 = call(R6, 1 args, -1 rets)
  0027  SETTABLE  R5[K15('userId')] = R6
  0028  SETTABLE  R5[K20('kidSessionId')] = R1
  0029  SETTABLE  R5[K21('jurisdiction')] = R2
  0030  SELF      R7 = R4[K22('AppendBody')] (self)
  0031  GETTABUP  R8 = _ENV[K23('json')]
  0032  GETTABLE  R8 = R8[K24('encode')]
  0033  MOVE      R9 = R0
  0034  CALL      R8 = call(R8, -1 args, 1 rets)
  0035  CALL      R6 = call(R6, 0 args, -1 rets)
  0036  SELF      R7 = R4[K25('SetCallback')] (self)
  0037  CLOSURE   R8 = closure proto0
  0038  CALL      R6 = call(R6, 0 args, 2 rets)
  0039  SELF      R7 = R4[K26('Send')] (self)
  0040  CALL      R6 = call(R6, 0 args, 1 rets)
  0041  GETTABUP  R6 = _ENV[K27('LoadingLayerStepAgeGateVerify')]
  0042  GETTABLE  R6 = R6[K28('LogAgeCheckProcessInfo')]
  0043  LOADK     R7 = K29 'UploadAgeCheck begin'
  0044  MOVE      R8 = R0
  0045  CALL      R6 = call(R6, 0 args, 2 rets)
  0046  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 218-227 np=0 va=0 ms=3 code=28 consts=15 upvals=3 protos=0
    ;   K[0]='Rcode'
    ;   K[1]='ResultCode'
    ;   K[2]='Succeeded'
    ;   K[3]='GM'
    ;   K[4]='MiscModel'
    ;   K[5]='Remove'
    ;   K[6]='EMiscKey'
    ;   K[7]='AgeGateSessionId'
    ;   K[8]='AgeGateRegion'
    ;   K[9]='LoadingLayerStepAgeGateVerify'
    ;   K[10]='LogAgeCheckProcessInfo'
    ;   K[11]='AgeGate report success'
    ;   K[12]='Log'
    ;   K[13]='Info'
    ;   K[14]='AgeGate report failed'
    ;   upvals: reqCtx, _ENV, reqBody
    0000  GETTABUP  R0 = reqCtx[K0('Rcode')]
    0001  GETTABUP  R1 = _ENV[K1('ResultCode')]
    0002  GETTABLE  R1 = R1[K2('Succeeded')]
    0003  EQ        if R0 eq R1   -> -131066
    0004  JMP       (jump)   -> 23
    0005  GETTABUP  R0 = _ENV[K3('GM')]
    0006  GETTABLE  R0 = R0[K4('MiscModel')]
    0007  SELF      R1 = R0[K5('Remove')] (self)
    0008  GETTABUP  R2 = _ENV[K6('EMiscKey')]
    0009  GETTABLE  R2 = R2[K7('AgeGateSessionId')]
    0010  CALL      R0 = call(R0, 0 args, 2 rets)
    0011  GETTABUP  R0 = _ENV[K3('GM')]
    0012  GETTABLE  R0 = R0[K4('MiscModel')]
    0013  SELF      R1 = R0[K5('Remove')] (self)
    0014  GETTABUP  R2 = _ENV[K6('EMiscKey')]
    0015  GETTABLE  R2 = R2[K8('AgeGateRegion')]
    0016  CALL      R0 = call(R0, 0 args, 2 rets)
    0017  GETTABUP  R0 = _ENV[K9('LoadingLayerStepAgeGateVerify')]
    0018  GETTABLE  R0 = R0[K10('LogAgeCheckProcessInfo')]
    0019  LOADK     R1 = K11 'AgeGate report success'
    0020  GETUPVAL  R2 = reqCtx
    0021  CALL      R0 = call(R0, 0 args, 2 rets)
    0022  JMP       (jump)   -> 27
    0023  GETTABUP  R0 = _ENV[K12('Log')]
    0024  GETTABLE  R0 = R0[K13('Info')]
    0025  LOADK     R1 = K14 'AgeGate report failed'
    0026  CALL      R0 = call(R0, 0 args, 1 rets)
    0027  RETURN    return R0..R-1
; ---------- proto5 [TestSetAgeVerificationResult] ----------
  ; fn ?  line 233-257 np=6 va=0 ms=13 code=41 consts=26 upvals=1 protos=1
  ;   K[0]='GameConfig'
  ;   K[1]='GetGameToken'
  ;   K[2]='CSNetLibManager'
  ;   K[3]='CreateGeneralHttpRequest'
  ;   K[4]='GM'
  ;   K[5]='OperManager'
  ;   K[6]='GetUrlByType'
  ;   K[7]='EOperUrlType'
  ;   K[8]='TestSetAgeVerification'
  ;   K[9]='POST'
  ;   K[10]=8000
  ;   K[11]=1
  ;   K[12]='SetHeader'
  ;   K[13]='NetworkConfig'
  ;   K[14]='ContentTypeKey'
  ;   K[15]='application/octet-stream'
  ;   K[16]='status'
  ;   K[17]='age'
  ;   K[18]='low'
  ;   K[19]='high'
  ;   K[20]='verificationId'
  ;   K[21]='AppendBody'
  ;   K[22]='json'
  ;   K[23]='encode'
  ;   K[24]='SetCallback'
  ;   K[25]='Send'
  ;   upvals: _ENV
  ;   locals: self(0-41), status(0-41), lowAge(0-41), highAge(0-41), verificationId(0-41), callback(0-41), gameToken(3-41), reqCtx(17-41), reqBody(29-41)
  0000  GETTABUP  R6 = _ENV[K0('GameConfig')]
  0001  GETTABLE  R6 = R6[K1('GetGameToken')]
  0002  CALL      R6 = call(R6, 1 args, 0 rets)
  0003  GETTABUP  R7 = _ENV[K2('CSNetLibManager')]
  0004  SELF      R8 = R7[K3('CreateGeneralHttpRequest')] (self)
  0005  GETTABUP  R9 = _ENV[K4('GM')]
  0006  GETTABLE  R9 = R9[K5('OperManager')]
  0007  SELF      R10 = R9[K6('GetUrlByType')] (self)
  0008  GETTABUP  R11 = _ENV[K7('EOperUrlType')]
  0009  GETTABLE  R11 = R11[K8('TestSetAgeVerification')]
  0010  CALL      R9 = call(R9, 1 args, 2 rets)
  0011  MOVE      R10 = R0
  0012  CONCAT    R9 = concat(R9..R9)
  0013  LOADK     R10 = K9 'POST'
  0014  LOADK     R11 = K10 8000
  0015  LOADK     R12 = K11 1
  0016  CALL      R7 = call(R7, 1 args, 5 rets)
  0017  SELF      R9 = R7[K12('SetHeader')] (self)
  0018  GETTABUP  R10 = _ENV[K13('NetworkConfig')]
  0019  GETTABLE  R10 = R10[K14('ContentTypeKey')]
  0020  LOADK     R11 = K15 'application/octet-stream'
  0021  CALL      R8 = call(R8, 0 args, 3 rets)
  0022  NEWTABLE  R8 = {} (0 items)
  0023  SETTABLE  R8[K16('status')] = R1
  0024  NEWTABLE  R9 = {} (0 items)
  0025  SETTABLE  R9[K18('low')] = R2
  0026  SETTABLE  R9[K19('high')] = R3
  0027  SETTABLE  R8[K17('age')] = R9
  0028  SETTABLE  R8[K20('verificationId')] = R4
  0029  SELF      R10 = R7[K21('AppendBody')] (self)
  0030  GETTABUP  R11 = _ENV[K22('json')]
  0031  GETTABLE  R11 = R11[K23('encode')]
  0032  MOVE      R12 = R0
  0033  CALL      R11 = call(R11, -1 args, 1 rets)
  0034  CALL      R9 = call(R9, 0 args, -1 rets)
  0035  SELF      R10 = R7[K24('SetCallback')] (self)
  0036  CLOSURE   R11 = closure proto0
  0037  CALL      R9 = call(R9, 0 args, 2 rets)
  0038  SELF      R10 = R7[K25('Send')] (self)
  0039  CALL      R9 = call(R9, 0 args, 1 rets)
  0040  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 247-255 np=0 va=0 ms=6 code=35 consts=9 upvals=3 protos=0
    ;   K[0]='Rcode'
    ;   K[1]='ResultCode'
    ;   K[2]='Succeeded'
    ;   K[3]='GetResponseString'
    ;   K[4]='json'
    ;   K[5]='decode'
    ;   K[6]='oper TestSetAgeVerification rCode = '
    ;   K[7]='tostring'
    ;   K[8]='null'
    ;   upvals: reqCtx, _ENV, callback
    ;   locals: rawData(8-18), tbData(14-18)
    0000  GETTABUP  R0 = reqCtx[K0('Rcode')]
    0001  GETTABUP  R1 = _ENV[K1('ResultCode')]
    0002  GETTABLE  R1 = R1[K2('Succeeded')]
    0003  EQ        if R0 eq R1   -> -131066
    0004  JMP       (jump)   -> 19
    0005  GETUPVAL  R0 = reqCtx
    0006  SELF      R1 = R0[K3('GetResponseString')] (self)
    0007  CALL      R0 = call(R0, 1 args, 1 rets)
    0008  TESTSET   if not R0 then R1   -> -131062
    0009  JMP       (jump)   -> 14
    0010  GETTABUP  R1 = _ENV[K4('json')]
    0011  GETTABLE  R1 = R1[K5('decode')]
    0012  MOVE      R2 = R0
    0013  CALL      R1 = call(R1, 1 args, 1 rets)
    0014  GETUPVAL  R2 = reqCtx
    0015  LOADBOOL  R3 = true
    0016  MOVE      R4 = R0
    0017  CALL      R2 = call(R2, 0 args, 2 rets)
    0018  JMP       (jump)   -> 34
    0019  GETUPVAL  R0 = reqCtx
    0020  LOADBOOL  R1 = false
    0021  LOADNIL   R2..R2 = nil
    0022  LOADK     R3 = K6 'oper TestSetAgeVerification rCode = '
    0023  GETTABUP  R4 = reqCtx[K0('Rcode')]
    0024  TEST      if not R4 then   -> -131046
    0025  JMP       (jump)   -> 31
    0026  GETTABUP  R4 = _ENV[K7('tostring')]
    0027  GETTABUP  R5 = reqCtx[K0('Rcode')]
    0028  CALL      R4 = call(R4, 1 args, 1 rets)
    0029  TEST      if not R4 then   -> -131040
    0030  JMP       (jump)   -> 32
    0031  LOADK     R4 = K8 'null'
    0032  CONCAT    R3 = concat(R3..R3)
    0033  CALL      R0 = call(R0, 0 args, 3 rets)
    0034  RETURN    return R0..R-1
; ---------- proto6 [TryFallbackRequest] ----------
  ; fn ?  line 260-266 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.55'
  ;   K[8]='https://ctrl-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.55'
  0019  LOADK     R5 = K8 'https://ctrl-ga.mergecola.com'
  0020  TAILCALL  tailcall(R1, 0)
  0021  RETURN    return R1..R0
  0022  RETURN    return R0..R-1
; ---------- proto7 [ParseUrl] ----------
  ; fn ?  line 268-294 np=2 va=0 ms=17 code=64 consts=17 upvals=1 protos=0
  ;   K[0]='StringUtil'
  ;   K[1]='Split'
  ;   K[2]=','
  ;   K[3]=1
  ;   K[4]='?'
  ;   K[5]='string'
  ;   K[6]='reverse'
  ;   K[7]='find'
  ;   K[8]='/'
  ;   K[9]='len'
  ;   K[10]='sub'
  ;   K[11]=-1
  ;   K[12]=2
  ;   K[13]='&'
  ;   K[14]='pairs'
  ;   K[15]='='
  ;   K[16]='path'
  ;   upvals: _ENV
  ;   locals: self(0-64), url(0-64), t1(1-64), ts(18-64), _(23-64), i(23-64), m(29-64), path(35-64), res(43-64), (for generator)(46-61), (for state)(46-61), (for control)(46-61), k(47-59), v(47-59)
  0000  LOADNIL   R2..R2 = nil
  0001  GETTABUP  R3 = _ENV[K0('StringUtil')]
  0002  GETTABLE  R3 = R3[K1('Split')]
  0003  MOVE      R4 = R0
  0004  LOADK     R5 = K2 ','
  0005  CALL      R3 = call(R3, 1 args, 2 rets)
  0006  MOVE      R2 = R0
  0007  GETTABLE  R1 = R2[K3(1)]
  0008  GETTABUP  R3 = _ENV[K0('StringUtil')]
  0009  GETTABLE  R3 = R3[K1('Split')]
  0010  GETTABLE  R4 = R2[K3(1)]
  0011  LOADK     R5 = K4 '?'
  0012  CALL      R3 = call(R3, 1 args, 2 rets)
  0013  MOVE      R2 = R0
  0014  GETTABUP  R3 = _ENV[K5('string')]
  0015  GETTABLE  R3 = R3[K6('reverse')]
  0016  GETTABLE  R4 = R2[K3(1)]
  0017  CALL      R3 = call(R3, 1 args, 1 rets)
  0018  GETTABUP  R4 = _ENV[K5('string')]
  0019  GETTABLE  R4 = R4[K7('find')]
  0020  MOVE      R5 = R0
  0021  LOADK     R6 = K8 '/'
  0022  CALL      R4 = call(R4, 2 args, 2 rets)
  0023  GETTABUP  R6 = _ENV[K5('string')]
  0024  GETTABLE  R6 = R6[K9('len')]
  0025  MOVE      R7 = R0
  0026  CALL      R6 = call(R6, 1 args, 1 rets)
  0027  SUB       R6 = R5 sub R6
  0028  ADD       R6 = K3(1) add R6
  0029  GETTABUP  R7 = _ENV[K5('string')]
  0030  GETTABLE  R7 = R7[K10('sub')]
  0031  GETTABLE  R8 = R2[K3(1)]
  0032  ADD       R9 = K3(1) add R6
  0033  LOADK     R10 = K11 -1
  0034  CALL      R7 = call(R7, 1 args, 3 rets)
  0035  GETTABLE  R1 = R2[K12(2)]
  0036  GETTABUP  R8 = _ENV[K0('StringUtil')]
  0037  GETTABLE  R8 = R8[K1('Split')]
  0038  GETTABLE  R9 = R2[K12(2)]
  0039  LOADK     R10 = K13 '&'
  0040  CALL      R8 = call(R8, 1 args, 2 rets)
  0041  MOVE      R2 = R0
  0042  NEWTABLE  R8 = {} (0 items)
  0043  GETTABUP  R9 = _ENV[K14('pairs')]
  0044  MOVE      R10 = R0
  0045  CALL      R9 = call(R9, 3 args, 1 rets)
  0046  JMP       (jump)   -> 59
  0047  GETTABUP  R14 = _ENV[K0('StringUtil')]
  0048  GETTABLE  R14 = R14[K1('Split')]
  0049  MOVE      R15 = R0
  0050  LOADK     R16 = K15 '='
  0051  CALL      R14 = call(R14, 1 args, 2 rets)
  0052  MOVE      R2 = R0
  0053  GETTABLE  R14 = R2[K3(1)]
  0054  NEWTABLE  R15 = {} (0 items)
  0055  SETTABLE  R8[R14] = R15
  0056  GETTABLE  R14 = R2[K3(1)]
  0057  GETTABLE  R15 = R2[K12(2)]
  0058  SETTABLE  R8[R14] = R15
  0059  TFORCALL  tforcall R9
  0060  TFORLOOP  tforloop R11(sBx=-14)   -> 47
  0061  SETTABLE  R8[K16('path')] = R7
  0062  RETURN    return R8..R7
  0063  RETURN    return R0..R-1
; ---------- proto8 [GetUrlByType] ----------
  ; fn ?  line 296-298 np=2 va=0 ms=4 code=5 consts=1 upvals=0 protos=0
  ;   K[0]='m_requestUrl'
  ;   locals: self(0-5), eOperUrlType(0-5)
  0000  GETTABLE  R2 = R0[K0('m_requestUrl')]
  0001  MOVE      R3 = R0
  0002  CONCAT    R2 = concat(R2..R2)
  0003  RETURN    return R2..R1
  0004  RETURN    return R0..R-1
; ---------- proto9 [GetUrlParam] ----------
  ; fn ?  line 300-302 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_tbUrlParam'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_tbUrlParam')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto10 [SendUserDataEmail] ----------
  ; fn ?  line 304-350 np=2 va=0 ms=8 code=62 consts=40 upvals=1 protos=1
  ;   K[0]='CSNetLibManager'
  ;   K[1]='CreateGeneralHttpRequest'
  ;   K[2]='GetUrlByType'
  ;   K[3]='EOperUrlType'
  ;   K[4]='MailUserData'
  ;   K[5]='POST'
  ;   K[6]=8000
  ;   K[7]=1
  ;   K[8]='SetHeader'
  ;   K[9]='NetworkConfig'
  ;   K[10]='ContentTypeKey'
  ;   K[11]='application/octet-stream'
  ;   K[12]='GM'
  ;   K[13]='UIManager'
  ;   K[14]='ShowMask'
  ;   K[15]='SetCallback'
  ;   K[16]='user_id'
  ;   K[17]='tostring'
  ;   K[18]='GM'
  ;   K[19]='UserModel'
  ;   K[20]='GetUserId'
  ;   K[21]='game_token'
  ;   K[22]='GameConfig'
  ;   K[23]='GetGameToken'
  ;   K[24]='device'
  ;   K[25]='DeviceInfo'
  ;   K[26]='GetDeviceModel'
  ;   K[27]='adid'
  ;   K[28]='::'
  ;   K[29]='CSAppsFlyerManager'
  ;   K[30]='GetAppsFlyerId'
  ;   K[31]='country'
  ;   K[32]='GetCountry'
  ;   K[33]='os'
  ;   K[34]='GetOsName'
  ;   K[35]='email_address'
  ;   K[36]='AppendBody'
  ;   K[37]='json'
  ;   K[38]='encode'
  ;   K[39]='Send'
  ;   upvals: _ENV
  ;   locals: self(0-62), emailAddress(0-62), reqCtx(10-62), reqBody(53-62)
  0000  GETTABUP  R2 = _ENV[K0('CSNetLibManager')]
  0001  SELF      R3 = R2[K1('CreateGeneralHttpRequest')] (self)
  0002  SELF      R5 = R0[K2('GetUrlByType')] (self)
  0003  GETTABUP  R6 = _ENV[K3('EOperUrlType')]
  0004  GETTABLE  R6 = R6[K4('MailUserData')]
  0005  CALL      R4 = call(R4, 1 args, 2 rets)
  0006  LOADK     R5 = K5 'POST'
  0007  LOADK     R6 = K6 8000
  0008  LOADK     R7 = K7 1
  0009  CALL      R2 = call(R2, 1 args, 5 rets)
  0010  SELF      R4 = R2[K8('SetHeader')] (self)
  0011  GETTABUP  R5 = _ENV[K9('NetworkConfig')]
  0012  GETTABLE  R5 = R5[K10('ContentTypeKey')]
  0013  LOADK     R6 = K11 'application/octet-stream'
  0014  CALL      R3 = call(R3, 0 args, 3 rets)
  0015  GETTABUP  R3 = _ENV[K12('GM')]
  0016  GETTABLE  R3 = R3[K13('UIManager')]
  0017  SELF      R4 = R3[K14('ShowMask')] (self)
  0018  CALL      R3 = call(R3, 0 args, 1 rets)
  0019  SELF      R4 = R2[K15('SetCallback')] (self)
  0020  CLOSURE   R5 = closure proto0
  0021  CALL      R3 = call(R3, 0 args, 2 rets)
  0022  NEWTABLE  R3 = {} (0 items)
  0023  GETTABUP  R4 = _ENV[K17('tostring')]
  0024  GETTABUP  R5 = _ENV[K18('GM')]
  0025  GETTABLE  R5 = R5[K19('UserModel')]
  0026  SELF      R6 = R5[K20('GetUserId')] (self)
  0027  CALL      R5 = call(R5, -1 args, 1 rets)
  0028  CALL      R4 = call(R4, 1 args, -1 rets)
  0029  SETTABLE  R3[K16('user_id')] = R4
  0030  GETTABUP  R4 = _ENV[K22('GameConfig')]
  0031  GETTABLE  R4 = R4[K23('GetGameToken')]
  0032  CALL      R4 = call(R4, 1 args, 0 rets)
  0033  SETTABLE  R3[K21('game_token')] = R4
  0034  GETTABUP  R4 = _ENV[K25('DeviceInfo')]
  0035  GETTABLE  R4 = R4[K26('GetDeviceModel')]
  0036  CALL      R4 = call(R4, 1 args, 0 rets)
  0037  SETTABLE  R3[K24('device')] = R4
  0038  LOADK     R4 = K28 '::'
  0039  GETTABUP  R5 = _ENV[K29('CSAppsFlyerManager')]
  0040  SELF      R6 = R5[K30('GetAppsFlyerId')] (self)
  0041  CALL      R5 = call(R5, 1 args, 1 rets)
  0042  CONCAT    R4 = concat(R4..R4)
  0043  SETTABLE  R3[K27('adid')] = R4
  0044  GETTABUP  R4 = _ENV[K25('DeviceInfo')]
  0045  GETTABLE  R4 = R4[K32('GetCountry')]
  0046  CALL      R4 = call(R4, 1 args, 0 rets)
  0047  SETTABLE  R3[K31('country')] = R4
  0048  GETTABUP  R4 = _ENV[K25('DeviceInfo')]
  0049  GETTABLE  R4 = R4[K34('GetOsName')]
  0050  CALL      R4 = call(R4, 1 args, 0 rets)
  0051  SETTABLE  R3[K33('os')] = R4
  0052  SETTABLE  R3[K35('email_address')] = R1
  0053  SELF      R5 = R2[K36('AppendBody')] (self)
  0054  GETTABUP  R6 = _ENV[K37('json')]
  0055  GETTABLE  R6 = R6[K38('encode')]
  0056  MOVE      R7 = R0
  0057  CALL      R6 = call(R6, -1 args, 1 rets)
  0058  CALL      R4 = call(R4, 0 args, -1 rets)
  0059  SELF      R5 = R2[K39('Send')] (self)
  0060  CALL      R4 = call(R4, 0 args, 1 rets)
  0061  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 310-337 np=0 va=0 ms=10 code=51 consts=20 upvals=4 protos=1
    ;   K[0]='GM'
    ;   K[1]=nil
    ;   K[2]='UIManager'
    ;   K[3]='HideMask'
    ;   K[4]='Rcode'
    ;   K[5]='ResultCode'
    ;   K[6]='Succeeded'
    ;   K[7]='OpenView'
    ;   K[8]='UIPrefabConfigName'
    ;   K[9]='GeneralMsgWindow'
    ;   K[10]='GameTextModel'
    ;   K[11]='GetText'
    ;   K[12]='show_data_success_title'
    ;   K[13]='show_data_success_desc'
    ;   K[14]='common_button_ok'
    ;   K[15]='TwoButtonWindow'
    ;   K[16]='network_error_title'
    ;   K[17]='network_error_desc'
    ;   K[18]='common_button_cancel'
    ;   K[19]='common_retry_button'
    ;   upvals: _ENV, reqCtx, self, emailAddress
    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 = _ENV[K0('GM')]
    0005  GETTABLE  R0 = R0[K2('UIManager')]
    0006  SELF      R1 = R0[K3('HideMask')] (self)
    0007  CALL      R0 = call(R0, 0 args, 1 rets)
    0008  GETTABUP  R0 = reqCtx[K4('Rcode')]
    0009  GETTABUP  R1 = _ENV[K5('ResultCode')]
    0010  GETTABLE  R1 = R1[K6('Succeeded')]
    0011  EQ        if R0 eq R1   -> -131058
    0012  JMP       (jump)   -> 37
    0013  GETTABUP  R0 = _ENV[K0('GM')]
    0014  GETTABLE  R0 = R0[K2('UIManager')]
    0015  SELF      R1 = R0[K7('OpenView')] (self)
    0016  GETTABUP  R2 = _ENV[K8('UIPrefabConfigName')]
    0017  GETTABLE  R2 = R2[K9('GeneralMsgWindow')]
    0018  GETTABUP  R3 = _ENV[K0('GM')]
    0019  GETTABLE  R3 = R3[K10('GameTextModel')]
    0020  SELF      R4 = R3[K11('GetText')] (self)
    0021  LOADK     R5 = K12 'show_data_success_title'
    0022  CALL      R3 = call(R3, 1 args, 2 rets)
    0023  GETTABUP  R4 = _ENV[K0('GM')]
    0024  GETTABLE  R4 = R4[K10('GameTextModel')]
    0025  SELF      R5 = R4[K11('GetText')] (self)
    0026  LOADK     R6 = K13 'show_data_success_desc'
    0027  CALL      R4 = call(R4, 1 args, 2 rets)
    0028  GETTABUP  R5 = _ENV[K0('GM')]
    0029  GETTABLE  R5 = R5[K10('GameTextModel')]
    0030  SELF      R6 = R5[K11('GetText')] (self)
    0031  LOADK     R7 = K14 'common_button_ok'
    0032  CALL      R5 = call(R5, 1 args, 2 rets)
    0033  LOADNIL   R6..R6 = nil
    0034  LOADBOOL  R8 = true
    0035  CALL      R0 = call(R0, 0 args, 8 rets)
    0036  JMP       (jump)   -> 50
    0037  GETTABUP  R0 = _ENV[K0('GM')]
    0038  GETTABLE  R0 = R0[K2('UIManager')]
    0039  SELF      R1 = R0[K7('OpenView')] (self)
    0040  GETTABUP  R2 = _ENV[K8('UIPrefabConfigName')]
    0041  GETTABLE  R2 = R2[K15('TwoButtonWindow')]
    0042  LOADK     R3 = K16 'network_error_title'
    0043  LOADK     R4 = K17 'network_error_desc'
    0044  LOADK     R5 = K18 'common_button_cancel'
    0045  LOADK     R6 = K19 'common_retry_button'
    0046  LOADNIL   R7..R7 = nil
    0047  CLOSURE   R8 = closure proto0
    0048  LOADBOOL  R9 = true
    0049  CALL      R0 = call(R0, 0 args, 9 rets)
    0050  RETURN    return R0..R-1
    ; ---------- proto0 [] ----------
      ; fn ?  line 331-334 np=1 va=0 ms=4 code=7 consts=2 upvals=2 protos=0
      ;   K[0]='Close'
      ;   K[1]='SendUserDataEmail'
      ;   upvals: self, emailAddress
      ;   locals: window(0-7)
      0000  SELF      R2 = R0[K0('Close')] (self)
      0001  CALL      R1 = call(R1, 0 args, 1 rets)
      0002  GETUPVAL  R1 = self
      0003  SELF      R2 = R1[K1('SendUserDataEmail')] (self)
      0004  GETUPVAL  R3 = self
      0005  CALL      R1 = call(R1, 0 args, 2 rets)
      0006  RETURN    return R0..R-1
