# Model_Network_Pay_PayMessage_43.luac
; fn @PayMessage.lua  line 0-0 np=0 va=1 ms=4 code=34 consts=20 upvals=1 protos=7
;   K[0]='PayMessage'
;   K[1]='DEFAULT_RETRY'
;   K[2]=2
;   K[3]='APP_ID'
;   K[4]=6
;   K[5]='__index'
;   K[6]='require'
;   K[7]='Model.Network.Pay.PayInterface'
;   K[8]='math'
;   K[9]='floor'
;   K[10]='PaidProof'
;   K[11]='PayMessage'
;   K[12]='IAP'
;   K[13]='PayMessage'
;   K[14]='Query'
;   K[15]='PayMessage'
;   K[16]='Serialize'
;   K[17]='Deserialize'
;   K[18]='SendByHttp'
;   K[19]='TryFallbackRequest'
;   upvals: _ENV
;   locals: Serialization(10-34), floor(12-34)
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABLE  R0[K1('DEFAULT_RETRY')] = K2(2)
0002  SETTABLE  R0[K3('APP_ID')] = K4(6)
0003  SETTABUP  _ENV[K0('PayMessage')] = R0
0004  GETTABUP  R0 = _ENV[K0('PayMessage')]
0005  GETTABUP  R1 = _ENV[K0('PayMessage')]
0006  SETTABLE  R0[K5('__index')] = R1
0007  GETTABUP  R0 = _ENV[K6('require')]
0008  LOADK     R1 = K7 'Model.Network.Pay.PayInterface'
0009  CALL      R0 = call(R0, 1 args, 1 rets)
0010  GETTABUP  R1 = _ENV[K8('math')]
0011  GETTABLE  R1 = R1[K9('floor')]
0012  GETTABUP  R2 = _ENV[K0('PayMessage')]
0013  CLOSURE   R3 = closure proto0
0014  SETTABLE  R2[K10('PaidProof')] = R3
0015  GETTABUP  R2 = _ENV[K11('PayMessage')]
0016  CLOSURE   R3 = closure proto1
0017  SETTABLE  R2[K12('IAP')] = R3
0018  GETTABUP  R2 = _ENV[K13('PayMessage')]
0019  CLOSURE   R3 = closure proto2
0020  SETTABLE  R2[K14('Query')] = R3
0021  GETTABUP  R2 = _ENV[K15('PayMessage')]
0022  CLOSURE   R3 = closure proto3
0023  SETTABLE  R2[K16('Serialize')] = R3
0024  GETTABUP  R2 = _ENV[K15('PayMessage')]
0025  CLOSURE   R3 = closure proto4
0026  SETTABLE  R2[K17('Deserialize')] = R3
0027  GETTABUP  R2 = _ENV[K15('PayMessage')]
0028  CLOSURE   R3 = closure proto5
0029  SETTABLE  R2[K18('SendByHttp')] = R3
0030  GETTABUP  R2 = _ENV[K15('PayMessage')]
0031  CLOSURE   R3 = closure proto6
0032  SETTABLE  R2[K19('TryFallbackRequest')] = R3
0033  RETURN    return R0..R-1
; ---------- proto0 [PaidProof] ----------
  ; fn ?  line 10-39 np=2 va=0 ms=8 code=84 consts=49 upvals=2 protos=0
  ;   K[0]='appId'
  ;   K[1]='PayMessage'
  ;   K[2]='APP_ID'
  ;   K[3]='userId'
  ;   K[4]='GM'
  ;   K[5]='UserModel'
  ;   K[6]='GetUserId'
  ;   K[7]='adid'
  ;   K[8]='::'
  ;   K[9]='CSAppsFlyerManager'
  ;   K[10]='GetAppsFlyerId'
  ;   K[11]='idfa'
  ;   K[12]='DeviceInfo'
  ;   K[13]='GetAdvertisingIdentifier'
  ;   K[14]='idfv'
  ;   K[15]='GetDeviceID'
  ;   K[16]='mac'
  ;   K[17]=''
  ;   K[18]='android_id'
  ;   K[19]='gps_adid'
  ;   K[20]='channelId'
  ;   K[21]='GameConfig'
  ;   K[22]='CURRENT_PLATFORM'
  ;   K[23]='payMethodId'
  ;   K[24]='payChannelId'
  ;   K[25]='purchaseDate'
  ;   K[26]=0
  ;   K[27]='orderId'
  ;   K[28]='productId'
  ;   K[29]='amount'
  ;   K[30]='realMoney'
  ;   K[31]=100
  ;   K[32]='level'
  ;   K[33]='LevelModel'
  ;   K[34]='GetCurrentLevel'
  ;   K[35]='currency'
  ;   K[36]='country'
  ;   K[37]='GetCountry'
  ;   K[38]='payResult'
  ;   K[39]='receiptData'
  ;   K[40]='receiptSignature'
  ;   K[41]='verifyResult'
  ;   K[42]='verifyJSON'
  ;   K[43]='strScene'
  ;   K[44]='ctime'
  ;   K[45]='GameModel'
  ;   K[46]='GetServerTime'
  ;   K[47]='SendByHttp'
  ;   K[48]='ACProofAndGetStatus'
  ;   upvals: _ENV, floor
  ;   locals: info(0-84), callback(0-84), tbReq(76-84)
  0000  NEWTABLE  R2 = {} (0 items)
  0001  GETTABUP  R3 = _ENV[K1('PayMessage')]
  0002  GETTABLE  R3 = R3[K2('APP_ID')]
  0003  SETTABLE  R2[K0('appId')] = R3
  0004  GETTABUP  R3 = _ENV[K4('GM')]
  0005  GETTABLE  R3 = R3[K5('UserModel')]
  0006  SELF      R4 = R3[K6('GetUserId')] (self)
  0007  CALL      R3 = call(R3, 1 args, 1 rets)
  0008  SETTABLE  R2[K3('userId')] = R3
  0009  LOADK     R3 = K8 '::'
  0010  GETTABUP  R4 = _ENV[K9('CSAppsFlyerManager')]
  0011  SELF      R5 = R4[K10('GetAppsFlyerId')] (self)
  0012  CALL      R4 = call(R4, 1 args, 1 rets)
  0013  CONCAT    R3 = concat(R3..R3)
  0014  SETTABLE  R2[K7('adid')] = R3
  0015  GETTABUP  R3 = _ENV[K12('DeviceInfo')]
  0016  GETTABLE  R3 = R3[K13('GetAdvertisingIdentifier')]
  0017  CALL      R3 = call(R3, 1 args, 0 rets)
  0018  SETTABLE  R2[K11('idfa')] = R3
  0019  GETTABUP  R3 = _ENV[K12('DeviceInfo')]
  0020  GETTABLE  R3 = R3[K15('GetDeviceID')]
  0021  CALL      R3 = call(R3, 1 args, 0 rets)
  0022  SETTABLE  R2[K14('idfv')] = R3
  0023  SETTABLE  R2[K16('mac')] = K17('')
  0024  GETTABUP  R3 = _ENV[K12('DeviceInfo')]
  0025  GETTABLE  R3 = R3[K15('GetDeviceID')]
  0026  CALL      R3 = call(R3, 1 args, 0 rets)
  0027  SETTABLE  R2[K18('android_id')] = R3
  0028  GETTABUP  R3 = _ENV[K12('DeviceInfo')]
  0029  GETTABLE  R3 = R3[K13('GetAdvertisingIdentifier')]
  0030  CALL      R3 = call(R3, 1 args, 0 rets)
  0031  SETTABLE  R2[K19('gps_adid')] = R3
  0032  GETTABUP  R3 = _ENV[K21('GameConfig')]
  0033  GETTABLE  R3 = R3[K22('CURRENT_PLATFORM')]
  0034  SETTABLE  R2[K20('channelId')] = R3
  0035  GETTABLE  R3 = R0[K24('payChannelId')]
  0036  SETTABLE  R2[K23('payMethodId')] = R3
  0037  SETTABLE  R2[K25('purchaseDate')] = K26(0)
  0038  GETTABLE  R3 = R0[K27('orderId')]
  0039  SETTABLE  R2[K27('orderId')] = R3
  0040  GETTABLE  R3 = R0[K28('productId')]
  0041  SETTABLE  R2[K28('productId')] = R3
  0042  GETUPVAL  R3 = _ENV
  0043  GETTABLE  R4 = R0[K30('realMoney')]
  0044  MUL       R4 = K31(100) mul R4
  0045  CALL      R3 = call(R3, 1 args, 1 rets)
  0046  SETTABLE  R2[K29('amount')] = R3
  0047  GETTABUP  R3 = _ENV[K4('GM')]
  0048  GETTABLE  R3 = R3[K33('LevelModel')]
  0049  SELF      R4 = R3[K34('GetCurrentLevel')] (self)
  0050  CALL      R3 = call(R3, 1 args, 1 rets)
  0051  SETTABLE  R2[K32('level')] = R3
  0052  GETTABLE  R3 = R0[K35('currency')]
  0053  SETTABLE  R2[K35('currency')] = R3
  0054  GETTABUP  R3 = _ENV[K12('DeviceInfo')]
  0055  GETTABLE  R3 = R3[K37('GetCountry')]
  0056  CALL      R3 = call(R3, 1 args, 0 rets)
  0057  SETTABLE  R2[K36('country')] = R3
  0058  GETTABLE  R3 = R0[K38('payResult')]
  0059  SETTABLE  R2[K38('payResult')] = R3
  0060  GETTABLE  R3 = R0[K39('receiptData')]
  0061  SETTABLE  R2[K39('receiptData')] = R3
  0062  GETTABLE  R3 = R0[K40('receiptSignature')]
  0063  SETTABLE  R2[K40('receiptSignature')] = R3
  0064  SETTABLE  R2[K41('verifyResult')] = K26(0)
  0065  SETTABLE  R2[K42('verifyJSON')] = K17('')
  0066  GETTABLE  R3 = R0[K43('strScene')]
  0067  TEST      if not R3 then   -> -131002
  0068  JMP       (jump)   -> 70
  0069  LOADK     R3 = K17 ''
  0070  SETTABLE  R2[K43('strScene')] = R3
  0071  GETTABUP  R3 = _ENV[K4('GM')]
  0072  GETTABLE  R3 = R3[K45('GameModel')]
  0073  SELF      R4 = R3[K46('GetServerTime')] (self)
  0074  CALL      R3 = call(R3, 1 args, 1 rets)
  0075  SETTABLE  R2[K44('ctime')] = R3
  0076  GETTABUP  R3 = _ENV[K1('PayMessage')]
  0077  GETTABLE  R3 = R3[K47('SendByHttp')]
  0078  LOADK     R4 = K48 'ACProofAndGetStatus'
  0079  MOVE      R5 = R0
  0080  LOADBOOL  R6 = false
  0081  MOVE      R7 = R0
  0082  CALL      R3 = call(R3, 0 args, 4 rets)
  0083  RETURN    return R0..R-1
; ---------- proto1 [IAP] ----------
  ; fn ?  line 41-59 np=1 va=0 ms=6 code=64 consts=32 upvals=2 protos=0
  ;   K[0]='appId'
  ;   K[1]='PayMessage'
  ;   K[2]='APP_ID'
  ;   K[3]='userId'
  ;   K[4]='GM'
  ;   K[5]='UserModel'
  ;   K[6]='GetUserId'
  ;   K[7]='channelId'
  ;   K[8]='GameConfig'
  ;   K[9]='CURRENT_PLATFORM'
  ;   K[10]='amount'
  ;   K[11]=0
  ;   K[12]='realMoney'
  ;   K[13]=100
  ;   K[14]='currency'
  ;   K[15]=''
  ;   K[16]='productID'
  ;   K[17]='productId'
  ;   K[18]='productOrder'
  ;   K[19]='orderId'
  ;   K[20]='payChannel'
  ;   K[21]='payChannelId'
  ;   K[22]='iccid'
  ;   K[23]='level'
  ;   K[24]='LevelModel'
  ;   K[25]='GetCurrentLevel'
  ;   K[26]='strScene'
  ;   K[27]='ctime'
  ;   K[28]='GameModel'
  ;   K[29]='GetServerTime'
  ;   K[30]='SendByHttp'
  ;   K[31]='ACIAP'
  ;   upvals: _ENV, floor
  ;   locals: info(0-64), tbReq(57-64)
  0000  NEWTABLE  R1 = {} (0 items)
  0001  GETTABUP  R2 = _ENV[K1('PayMessage')]
  0002  GETTABLE  R2 = R2[K2('APP_ID')]
  0003  SETTABLE  R1[K0('appId')] = R2
  0004  GETTABUP  R2 = _ENV[K4('GM')]
  0005  GETTABLE  R2 = R2[K5('UserModel')]
  0006  SELF      R3 = R2[K6('GetUserId')] (self)
  0007  CALL      R2 = call(R2, 1 args, 1 rets)
  0008  SETTABLE  R1[K3('userId')] = R2
  0009  GETTABUP  R2 = _ENV[K8('GameConfig')]
  0010  GETTABLE  R2 = R2[K9('CURRENT_PLATFORM')]
  0011  SETTABLE  R1[K7('channelId')] = R2
  0012  SETTABLE  R1[K10('amount')] = K11(0)
  0013  GETUPVAL  R2 = _ENV
  0014  GETTABLE  R3 = R0[K12('realMoney')]
  0015  TEST      if not R3 then   -> -131054
  0016  JMP       (jump)   -> 18
  0017  LOADK     R3 = K11 0
  0018  MUL       R3 = K13(100) mul R3
  0019  CALL      R2 = call(R2, 1 args, 1 rets)
  0020  SETTABLE  R1[K12('realMoney')] = R2
  0021  GETTABLE  R2 = R0[K14('currency')]
  0022  TEST      if not R2 then   -> -131047
  0023  JMP       (jump)   -> 25
  0024  LOADK     R2 = K15 ''
  0025  SETTABLE  R1[K14('currency')] = R2
  0026  GETTABLE  R2 = R0[K17('productId')]
  0027  TEST      if not R2 then   -> -131042
  0028  JMP       (jump)   -> 30
  0029  LOADK     R2 = K15 ''
  0030  SETTABLE  R1[K16('productID')] = R2
  0031  GETTABLE  R2 = R0[K19('orderId')]
  0032  TEST      if not R2 then   -> -131037
  0033  JMP       (jump)   -> 35
  0034  LOADK     R2 = K15 ''
  0035  SETTABLE  R1[K18('productOrder')] = R2
  0036  GETTABLE  R2 = R0[K21('payChannelId')]
  0037  TEST      if not R2 then   -> -131032
  0038  JMP       (jump)   -> 40
  0039  LOADK     R2 = K11 0
  0040  SETTABLE  R1[K20('payChannel')] = R2
  0041  SETTABLE  R1[K22('iccid')] = K15('')
  0042  GETTABUP  R2 = _ENV[K4('GM')]
  0043  GETTABLE  R2 = R2[K24('LevelModel')]
  0044  SELF      R3 = R2[K25('GetCurrentLevel')] (self)
  0045  CALL      R2 = call(R2, 1 args, 1 rets)
  0046  SETTABLE  R1[K23('level')] = R2
  0047  GETTABLE  R2 = R0[K26('strScene')]
  0048  TEST      if not R2 then   -> -131021
  0049  JMP       (jump)   -> 51
  0050  LOADK     R2 = K15 ''
  0051  SETTABLE  R1[K26('strScene')] = R2
  0052  GETTABUP  R2 = _ENV[K4('GM')]
  0053  GETTABLE  R2 = R2[K28('GameModel')]
  0054  SELF      R3 = R2[K29('GetServerTime')] (self)
  0055  CALL      R2 = call(R2, 1 args, 1 rets)
  0056  SETTABLE  R1[K27('ctime')] = R2
  0057  GETTABUP  R2 = _ENV[K1('PayMessage')]
  0058  GETTABLE  R2 = R2[K30('SendByHttp')]
  0059  LOADK     R3 = K31 'ACIAP'
  0060  MOVE      R4 = R0
  0061  LOADBOOL  R5 = true
  0062  CALL      R2 = call(R2, 0 args, 3 rets)
  0063  RETURN    return R0..R-1
; ---------- proto2 [Query] ----------
  ; fn ?  line 63-70 np=2 va=0 ms=8 code=22 consts=12 upvals=1 protos=0
  ;   K[0]='userId'
  ;   K[1]='GM'
  ;   K[2]='UserModel'
  ;   K[3]='GetUserId'
  ;   K[4]='channelId'
  ;   K[5]='GameConfig'
  ;   K[6]='CURRENT_PLATFORM'
  ;   K[7]='productId'
  ;   K[8]=''
  ;   K[9]='PayMessage'
  ;   K[10]='SendByHttp'
  ;   K[11]='ACReissueOrder'
  ;   upvals: _ENV
  ;   locals: info(0-22), callback(0-22), tbReq(14-22)
  0000  NEWTABLE  R2 = {} (0 items)
  0001  GETTABUP  R3 = _ENV[K1('GM')]
  0002  GETTABLE  R3 = R3[K2('UserModel')]
  0003  SELF      R4 = R3[K3('GetUserId')] (self)
  0004  CALL      R3 = call(R3, 1 args, 1 rets)
  0005  SETTABLE  R2[K0('userId')] = R3
  0006  GETTABUP  R3 = _ENV[K5('GameConfig')]
  0007  GETTABLE  R3 = R3[K6('CURRENT_PLATFORM')]
  0008  SETTABLE  R2[K4('channelId')] = R3
  0009  GETTABLE  R3 = R0[K7('productId')]
  0010  TEST      if not R3 then   -> -131059
  0011  JMP       (jump)   -> 13
  0012  LOADK     R3 = K8 ''
  0013  SETTABLE  R2[K7('productId')] = R3
  0014  GETTABUP  R3 = _ENV[K9('PayMessage')]
  0015  GETTABLE  R3 = R3[K10('SendByHttp')]
  0016  LOADK     R4 = K11 'ACReissueOrder'
  0017  MOVE      R5 = R0
  0018  LOADBOOL  R6 = false
  0019  MOVE      R7 = R0
  0020  CALL      R3 = call(R3, 0 args, 4 rets)
  0021  RETURN    return R0..R-1
; ---------- proto3 [Serialize] ----------
  ; fn ?  line 72-90 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
; ---------- proto4 [Deserialize] ----------
  ; fn ?  line 92-109 np=2 va=0 ms=9 code=22 consts=6 upvals=2 protos=0
  ;   K[0]='CSNetLibManager'
  ;   K[1]='CreateBufferBlockReader'
  ;   K[2]='RespBody'
  ;   K[3]='respNameMap'
  ;   K[4]='Deserialize'
  ;   K[5]='ReleaseBufferBlockReader'
  ;   upvals: _ENV, Serialization
  ;   locals: reqCtx(0-22), strOpName(0-22), reader(4-22), deserializer(6-22), bRet(7-22), body(7-22)
  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  GETTABUP  R6 = _ENV[K0('CSNetLibManager')]
  0013  SELF      R7 = R6[K5('ReleaseBufferBlockReader')] (self)
  0014  MOVE      R8 = R0
  0015  CALL      R6 = call(R6, 0 args, 2 rets)
  0016  TEST      if not R4 then   -> -131053
  0017  JMP       (jump)   -> 20
  0018  LOADNIL   R6..R6 = nil
  0019  RETURN    return R6..R5
  0020  RETURN    return R5..R4
  0021  RETURN    return R0..R-1
; ---------- proto5 [SendByHttp] ----------
  ; fn ?  line 112-188 np=6 va=0 ms=13 code=55 consts=22 upvals=1 protos=2
  ;   K[0]='NetworkConfig'
  ;   K[1]='GetHttpServerUrl'
  ;   K[2]='CSNetLibManager'
  ;   K[3]='CreateGeneralHttpRequest'
  ;   K[4]='POST'
  ;   K[5]=8000
  ;   K[6]='PayMessage'
  ;   K[7]='DEFAULT_RETRY'
  ;   K[8]='SetHeader'
  ;   K[9]='ContentTypeKey'
  ;   K[10]='application/octet-stream'
  ;   K[11]='SetLogFail'
  ;   K[12]='Serialize'
  ;   K[13]='Log'
  ;   K[14]='Warning'
  ;   K[15]='PayMessage Serialize failed for '
  ;   K[16]='SetCheckResponse'
  ;   K[17]='SetCallback'
  ;   K[18]='GM'
  ;   K[19]='HttpManager'
  ;   K[20]='SaveHttpRequest'
  ;   K[21]='Send'
  ;   upvals: _ENV
  ;   locals: strOpName(0-55), tbMsgReq(0-55), bCache(0-55), callback(0-55), uTimeout(0-55), uRetryCount(0-55), strUrl(4-55), reqCtx(16-55), response(38-55)
  0000  GETTABUP  R6 = _ENV[K0('NetworkConfig')]
  0001  GETTABLE  R6 = R6[K1('GetHttpServerUrl')]
  0002  MOVE      R7 = R0
  0003  CALL      R6 = call(R6, 1 args, 1 rets)
  0004  GETTABUP  R7 = _ENV[K2('CSNetLibManager')]
  0005  SELF      R8 = R7[K3('CreateGeneralHttpRequest')] (self)
  0006  MOVE      R9 = R0
  0007  LOADK     R10 = K4 'POST'
  0008  TESTSET   if R1 then R11   -> -129013
  0009  JMP       (jump)   -> 11
  0010  LOADK     R11 = K5 8000
  0011  TESTSET   if R1 then R12   -> -128498
  0012  JMP       (jump)   -> 15
  0013  GETTABUP  R12 = _ENV[K6('PayMessage')]
  0014  GETTABLE  R12 = R12[K7('DEFAULT_RETRY')]
  0015  CALL      R7 = call(R7, 1 args, 5 rets)
  0016  SELF      R9 = R7[K8('SetHeader')] (self)
  0017  GETTABUP  R10 = _ENV[K0('NetworkConfig')]
  0018  GETTABLE  R10 = R10[K9('ContentTypeKey')]
  0019  LOADK     R11 = K10 'application/octet-stream'
  0020  CALL      R8 = call(R8, 0 args, 3 rets)
  0021  SELF      R9 = R7[K11('SetLogFail')] (self)
  0022  CALL      R8 = call(R8, 0 args, 1 rets)
  0023  GETTABUP  R8 = _ENV[K6('PayMessage')]
  0024  GETTABLE  R8 = R8[K12('Serialize')]
  0025  MOVE      R9 = R0
  0026  MOVE      R10 = R0
  0027  MOVE      R11 = R0
  0028  CALL      R8 = call(R8, 1 args, 3 rets)
  0029  TEST      if not R8 then   -> -131040
  0030  JMP       (jump)   -> 37
  0031  GETTABUP  R8 = _ENV[K13('Log')]
  0032  GETTABLE  R8 = R8[K14('Warning')]
  0033  LOADK     R9 = K15 'PayMessage Serialize failed for '
  0034  MOVE      R10 = R0
  0035  CONCAT    R9 = concat(R9..R9)
  0036  CALL      R8 = call(R8, 0 args, 1 rets)
  0037  LOADNIL   R8..R8 = nil
  0038  SELF      R10 = R7[K16('SetCheckResponse')] (self)
  0039  CLOSURE   R11 = closure proto0
  0040  CALL      R9 = call(R9, 0 args, 2 rets)
  0041  SELF      R10 = R7[K17('SetCallback')] (self)
  0042  CLOSURE   R11 = closure proto1
  0043  CALL      R9 = call(R9, 0 args, 2 rets)
  0044  TEST      if not R2 then   -> -131026
  0045  JMP       (jump)   -> 52
  0046  GETTABUP  R9 = _ENV[K18('GM')]
  0047  GETTABLE  R9 = R9[K19('HttpManager')]
  0048  SELF      R10 = R9[K20('SaveHttpRequest')] (self)
  0049  MOVE      R11 = R0
  0050  MOVE      R12 = R0
  0051  CALL      R9 = call(R9, 0 args, 3 rets)
  0052  SELF      R10 = R7[K21('Send')] (self)
  0053  CALL      R9 = call(R9, 0 args, 1 rets)
  0054  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 127-144 np=0 va=0 ms=3 code=34 consts=14 upvals=4 protos=0
    ;   K[0]='GM'
    ;   K[1]=nil
    ;   K[2]='math'
    ;   K[3]='floor'
    ;   K[4]='Status'
    ;   K[5]=100
    ;   K[6]=2
    ;   K[7]='PayMessage'
    ;   K[8]='Deserialize'
    ;   K[9]='Failed to deserialize response'
    ;   K[10]='rcode'
    ;   K[11]=60
    ;   K[12]='resultCode'
    ;   K[13]='Error response'
    ;   upvals: _ENV, reqCtx, response, 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[K2('math')]
    0006  GETTABLE  R0 = R0[K3('floor')]
    0007  GETTABUP  R1 = reqCtx[K4('Status')]
    0008  DIV       R1 = K5(100) div R1
    0009  CALL      R0 = call(R0, 1 args, 1 rets)
    0010  EQ        if R0 eq K6(2)   -> -130798
    0011  JMP       (jump)   -> 31
    0012  GETTABUP  R0 = _ENV[K7('PayMessage')]
    0013  GETTABLE  R0 = R0[K8('Deserialize')]
    0014  GETUPVAL  R1 = _ENV
    0015  GETUPVAL  R2 = _ENV
    0016  CALL      R0 = call(R0, 1 args, 2 rets)
    0017  SETUPVAL  _ENV = R0
    0018  GETUPVAL  R0 = _ENV
    0019  EQ        if R0 eq K1(nil)   -> -130794
    0020  JMP       (jump)   -> 23
    0021  LOADK     R0 = K9 'Failed to deserialize response'
    0022  RETURN    return R0..R-1
    0023  GETTABUP  R0 = response[K10('rcode')]
    0024  EQ        if R1 eq K11(60)   -> -130779
    0025  JMP       (jump)   -> 29
    0026  GETTABUP  R0 = response[K12('resultCode')]
    0027  EQ        if R0 eq K11(60)   -> -130776
    0028  JMP       (jump)   -> 31
    0029  LOADK     R0 = K13 'Error response'
    0030  RETURN    return R0..R-1
    0031  LOADNIL   R0..R0 = nil
    0032  RETURN    return R0..R-1
    0033  RETURN    return R0..R-1
  ; ---------- proto1 [] ----------
    ; fn ?  line 147-181 np=0 va=0 ms=5 code=79 consts=25 upvals=5 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]='Not2xx'
    ;   K[8]='Status'
    ;   K[9]=403
    ;   K[10]='MaxRetry'
    ;   K[11]=0
    ;   K[12]=1
    ;   K[13]='Retain'
    ;   K[14]='Send'
    ;   K[15]='PayMessage'
    ;   K[16]='TryFallbackRequest'
    ;   K[17]='ErrorMsg'
    ;   K[18]='Log'
    ;   K[19]='Warning'
    ;   K[20]='Pay Message failed, error message is '
    ;   K[21]='LogTag'
    ;   K[22]='Purchase'
    ;   K[23]='OnFinishSavedHttpRequest'
    ;   K[24]='MessageId'
    ;   upvals: _ENV, callback, reqCtx, response, bCache
    ;   locals: result(8-56)
    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  EQ        if R1 eq K1(nil)   -> -130808
    0006  JMP       (jump)   -> 56
    0007  LOADBOOL  R0 = false
    0008  GETTABUP  R1 = reqCtx[K2('Rcode')]
    0009  GETTABUP  R2 = _ENV[K3('ResultCode')]
    0010  GETTABLE  R2 = R2[K4('Succeeded')]
    0011  EQ        if R0 eq R2   -> -130545
    0012  JMP       (jump)   -> 20
    0013  GETTABUP  R1 = _ENV[K0('GM')]
    0014  GETTABLE  R1 = R1[K5('HttpManager')]
    0015  SELF      R2 = R1[K6('OnCallbackStart')] (self)
    0016  GETUPVAL  R3 = _ENV
    0017  CALL      R1 = call(R1, 0 args, 2 rets)
    0018  LOADBOOL  R0 = true
    0019  JMP       (jump)   -> 51
    0020  GETTABUP  R1 = reqCtx[K2('Rcode')]
    0021  GETTABUP  R2 = _ENV[K3('ResultCode')]
    0022  GETTABLE  R2 = R2[K7('Not2xx')]
    0023  EQ        if R0 eq R2   -> -130533
    0024  JMP       (jump)   -> 42
    0025  GETTABUP  R1 = reqCtx[K8('Status')]
    0026  EQ        if R0 eq K9(403)   -> -130267
    0027  JMP       (jump)   -> 51
    0028  GETTABUP  R1 = reqCtx[K10('MaxRetry')]
    0029  LT        if R0 lt R1   -> 5664
    0030  JMP       (jump)   -> 51
    0031  GETTABUP  R1 = reqCtx[K10('MaxRetry')]
    0032  SUB       R1 = K12(1) sub R1
    0033  SETTABUP  reqCtx[K10('MaxRetry')] = R1
    0034  GETUPVAL  R1 = _ENV
    0035  SELF      R2 = R1[K13('Retain')] (self)
    0036  CALL      R1 = call(R1, 0 args, 1 rets)
    0037  GETUPVAL  R1 = _ENV
    0038  SELF      R2 = R1[K14('Send')] (self)
    0039  CALL      R1 = call(R1, 0 args, 1 rets)
    0040  RETURN    return R0..R-1
    0041  JMP       (jump)   -> 51
    0042  GETTABUP  R1 = _ENV[K15('PayMessage')]
    0043  GETTABLE  R1 = R1[K16('TryFallbackRequest')]
    0044  GETUPVAL  R2 = _ENV
    0045  CALL      R1 = call(R1, 1 args, 1 rets)
    0046  TEST      if not R1 then   -> -131024
    0047  JMP       (jump)   -> 49
    0048  RETURN    return R0..R-1
    0049  GETTABUP  R1 = reqCtx[K17('ErrorMsg')]
    0050  SETUPVAL  callback = R0
    0051  GETUPVAL  R1 = _ENV
    0052  MOVE      R2 = R0
    0053  GETUPVAL  R3 = _ENV
    0054  GETUPVAL  R4 = _ENV
    0055  CALL      R1 = call(R1, 0 args, 3 rets)
    0056  GETTABUP  R0 = reqCtx[K2('Rcode')]
    0057  GETTABUP  R1 = _ENV[K3('ResultCode')]
    0058  GETTABLE  R1 = R1[K4('Succeeded')]
    0059  EQ        if R1 eq R1   -> -131010
    0060  JMP       (jump)   -> 69
    0061  GETTABUP  R0 = _ENV[K18('Log')]
    0062  GETTABLE  R0 = R0[K19('Warning')]
    0063  LOADK     R1 = K20 'Pay Message failed, error message is '
    0064  GETTABUP  R2 = reqCtx[K17('ErrorMsg')]
    0065  CONCAT    R1 = concat(R1..R1)
    0066  GETTABUP  R2 = _ENV[K21('LogTag')]
    0067  GETTABLE  R2 = R2[K22('Purchase')]
    0068  CALL      R0 = call(R0, 0 args, 2 rets)
    0069  GETUPVAL  R0 = _ENV
    0070  TEST      if not R0 then   -> -131000
    0071  JMP       (jump)   -> 78
    0072  GETTABUP  R0 = _ENV[K0('GM')]
    0073  GETTABLE  R0 = R0[K5('HttpManager')]
    0074  SELF      R1 = R0[K23('OnFinishSavedHttpRequest')] (self)
    0075  GETTABUP  R2 = reqCtx[K24('MessageId')]
    0076  GETTABUP  R3 = reqCtx[K2('Rcode')]
    0077  CALL      R0 = call(R0, 0 args, 3 rets)
    0078  RETURN    return R0..R-1
; ---------- proto6 [TryFallbackRequest] ----------
  ; fn ?  line 190-192 np=1 va=0 ms=6 code=9 consts=5 upvals=1 protos=0
  ;   K[0]='GM'
  ;   K[1]='HttpManager'
  ;   K[2]='TryFallbackRequest'
  ;   K[3]='207.90.252.33'
  ;   K[4]='https://payapi-ga.mergecola.com'
  ;   upvals: _ENV
  ;   locals: reqCtx(0-9)
  0000  GETTABUP  R1 = _ENV[K0('GM')]
  0001  GETTABLE  R1 = R1[K1('HttpManager')]
  0002  SELF      R2 = R1[K2('TryFallbackRequest')] (self)
  0003  MOVE      R3 = R0
  0004  LOADK     R4 = K3 '207.90.252.33'
  0005  LOADK     R5 = K4 'https://payapi-ga.mergecola.com'
  0006  TAILCALL  tailcall(R1, 0)
  0007  RETURN    return R1..R0
  0008  RETURN    return R0..R-1
