# Model_Network_UdpHealthCheck_52.luac
; fn @UdpHealthCheck.lua  line 0-0 np=0 va=1 ms=2 code=32 consts=14 upvals=1 protos=8
;   K[0]='UdpHealthCheck'
;   K[1]='__index'
;   K[2]='Threshold'
;   K[3]=3.0
;   K[4]='Create'
;   K[5]='UdpHealthCheck'
;   K[6]='_Init'
;   K[7]='Update'
;   K[8]='UpdateUdpStatus'
;   K[9]='UdpHealthCheck'
;   K[10]='Available'
;   K[11]='Enable'
;   K[12]='GetUrl'
;   K[13]='HealthCheck'
;   upvals: _ENV
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABUP  _ENV[K0('UdpHealthCheck')] = R0
0002  GETTABUP  R0 = _ENV[K0('UdpHealthCheck')]
0003  GETTABUP  R1 = _ENV[K0('UdpHealthCheck')]
0004  SETTABLE  R0[K1('__index')] = R1
0005  GETTABUP  R0 = _ENV[K0('UdpHealthCheck')]
0006  SETTABLE  R0[K2('Threshold')] = K3(3.0)
0007  GETTABUP  R0 = _ENV[K0('UdpHealthCheck')]
0008  CLOSURE   R1 = closure proto0
0009  SETTABLE  R0[K4('Create')] = R1
0010  GETTABUP  R0 = _ENV[K5('UdpHealthCheck')]
0011  CLOSURE   R1 = closure proto1
0012  SETTABLE  R0[K6('_Init')] = R1
0013  GETTABUP  R0 = _ENV[K5('UdpHealthCheck')]
0014  CLOSURE   R1 = closure proto2
0015  SETTABLE  R0[K7('Update')] = R1
0016  GETTABUP  R0 = _ENV[K5('UdpHealthCheck')]
0017  CLOSURE   R1 = closure proto3
0018  SETTABLE  R0[K8('UpdateUdpStatus')] = R1
0019  GETTABUP  R0 = _ENV[K9('UdpHealthCheck')]
0020  CLOSURE   R1 = closure proto4
0021  SETTABLE  R0[K10('Available')] = R1
0022  GETTABUP  R0 = _ENV[K9('UdpHealthCheck')]
0023  CLOSURE   R1 = closure proto5
0024  SETTABLE  R0[K11('Enable')] = R1
0025  GETTABUP  R0 = _ENV[K9('UdpHealthCheck')]
0026  CLOSURE   R1 = closure proto6
0027  SETTABLE  R0[K12('GetUrl')] = R1
0028  GETTABUP  R0 = _ENV[K9('UdpHealthCheck')]
0029  CLOSURE   R1 = closure proto7
0030  SETTABLE  R0[K13('HealthCheck')] = R1
0031  RETURN    return R0..R-1
; ---------- proto0 [Create] ----------
  ; fn ?  line 7-11 np=1 va=0 ms=5 code=9 consts=3 upvals=1 protos=0
  ;   K[0]='setmetatable'
  ;   K[1]='UdpHealthCheck'
  ;   K[2]='_Init'
  ;   upvals: _ENV
  ;   locals: strUrl(0-9), check(4-9)
  0000  GETTABUP  R1 = _ENV[K0('setmetatable')]
  0001  NEWTABLE  R2 = {} (0 items)
  0002  GETTABUP  R3 = _ENV[K1('UdpHealthCheck')]
  0003  CALL      R1 = call(R1, 1 args, 2 rets)
  0004  SELF      R3 = R1[K2('_Init')] (self)
  0005  MOVE      R4 = R0
  0006  CALL      R2 = call(R2, 0 args, 2 rets)
  0007  RETURN    return R1..R0
  0008  RETURN    return R0..R-1
; ---------- proto1 [_Init] ----------
  ; fn ?  line 13-19 np=2 va=0 ms=3 code=8 consts=9 upvals=1 protos=0
  ;   K[0]='m_strUrl'
  ;   K[1]='m_fLastCheck'
  ;   K[2]=0.0
  ;   K[3]='m_bHealth'
  ;   K[4]=true
  ;   K[5]='m_bEnable'
  ;   K[6]='MINIGAME'
  ;   K[7]='m_healthCount'
  ;   K[8]=0
  ;   upvals: _ENV
  ;   locals: self(0-8), strUrl(0-8)
  0000  SETTABLE  R0[K0('m_strUrl')] = R1
  0001  SETTABLE  R0[K1('m_fLastCheck')] = K2(0.0)
  0002  SETTABLE  R0[K3('m_bHealth')] = K4(true)
  0003  GETTABUP  R2 = _ENV[K6('MINIGAME')]
  0004  NOT       R2 = not R0
  0005  SETTABLE  R0[K5('m_bEnable')] = R2
  0006  SETTABLE  R0[K7('m_healthCount')] = K8(0)
  0007  RETURN    return R0..R-1
; ---------- proto2 [Update] ----------
  ; fn ?  line 21-29 np=2 va=0 ms=4 code=16 consts=5 upvals=0 protos=0
  ;   K[0]='m_fLastCheck'
  ;   K[1]=10.0
  ;   K[2]='Enable'
  ;   K[3]='Available'
  ;   K[4]='HealthCheck'
  ;   locals: self(0-16), fTickCount(0-16)
  0000  GETTABLE  R2 = R0[K0('m_fLastCheck')]
  0001  SUB       R2 = R2 sub R1
  0002  LE        if R0 le R2   -> 518
  0003  JMP       (jump)   -> 15
  0004  SETTABLE  R0[K0('m_fLastCheck')] = R1
  0005  SELF      R3 = R0[K2('Enable')] (self)
  0006  CALL      R2 = call(R2, 1 args, 1 rets)
  0007  TEST      if not R2 then   -> -131063
  0008  JMP       (jump)   -> 15
  0009  SELF      R3 = R0[K3('Available')] (self)
  0010  CALL      R2 = call(R2, 1 args, 1 rets)
  0011  TEST      if not R2 then   -> -131058
  0012  JMP       (jump)   -> 15
  0013  SELF      R3 = R0[K4('HealthCheck')] (self)
  0014  CALL      R2 = call(R2, 0 args, 1 rets)
  0015  RETURN    return R0..R-1
; ---------- proto3 [UpdateUdpStatus] ----------
  ; fn ?  line 31-42 np=2 va=0 ms=4 code=27 consts=7 upvals=1 protos=0
  ;   K[0]='Available'
  ;   K[1]='m_healthCount'
  ;   K[2]=1
  ;   K[3]=0
  ;   K[4]='UdpHealthCheck'
  ;   K[5]='Threshold'
  ;   K[6]='m_bHealth'
  ;   upvals: _ENV
  ;   locals: self(0-27), bRet(0-27)
  0000  TEST      if not R1 then   -> -131070
  0001  JMP       (jump)   -> 6
  0002  SELF      R3 = R0[K0('Available')] (self)
  0003  CALL      R2 = call(R2, 1 args, 1 rets)
  0004  TEST      if not R2 then   -> -131066
  0005  JMP       (jump)   -> 12
  0006  TEST      if not R1 then   -> -131063
  0007  JMP       (jump)   -> 16
  0008  SELF      R3 = R0[K0('Available')] (self)
  0009  CALL      R2 = call(R2, 1 args, 1 rets)
  0010  TEST      if not R2 then   -> -131060
  0011  JMP       (jump)   -> 16
  0012  GETTABLE  R2 = R0[K1('m_healthCount')]
  0013  ADD       R2 = K2(1) add R2
  0014  SETTABLE  R0[K1('m_healthCount')] = R2
  0015  JMP       (jump)   -> 17
  0016  SETTABLE  R0[K1('m_healthCount')] = K3(0)
  0017  GETTABLE  R2 = R0[K1('m_healthCount')]
  0018  GETTABUP  R3 = _ENV[K4('UdpHealthCheck')]
  0019  GETTABLE  R3 = R3[K5('Threshold')]
  0020  LE        if R0 le R2   -> -129512
  0021  JMP       (jump)   -> 26
  0022  GETTABLE  R2 = R0[K6('m_bHealth')]
  0023  NOT       R2 = not R0
  0024  SETTABLE  R0[K6('m_bHealth')] = R2
  0025  SETTABLE  R0[K1('m_healthCount')] = K3(0)
  0026  RETURN    return R0..R-1
; ---------- proto4 [Available] ----------
  ; fn ?  line 44-46 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_bHealth'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_bHealth')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto5 [Enable] ----------
  ; fn ?  line 48-50 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_bEnable'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_bEnable')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto6 [GetUrl] ----------
  ; fn ?  line 52-54 np=1 va=0 ms=2 code=3 consts=1 upvals=0 protos=0
  ;   K[0]='m_strUrl'
  ;   locals: self(0-3)
  0000  GETTABLE  R1 = R0[K0('m_strUrl')]
  0001  RETURN    return R1..R0
  0002  RETURN    return R0..R-1
; ---------- proto7 [HealthCheck] ----------
  ; fn ?  line 56-73 np=1 va=0 ms=6 code=25 consts=13 upvals=1 protos=1
  ;   K[0]='CSNetLibManager'
  ;   K[1]='CreateGeneralUdpRequest'
  ;   K[2]='m_strUrl'
  ;   K[3]=3000
  ;   K[4]=0
  ;   K[5]='CreateBufferBlockWriter'
  ;   K[6]='ReqDatagram'
  ;   K[7]='UdpMessage'
  ;   K[8]='SerializeMessageId'
  ;   K[9]='MessageId'
  ;   K[10]='SetCallback'
  ;   K[11]='ReleaseBufferBlockWriter'
  ;   K[12]='Send'
  ;   upvals: _ENV
  ;   locals: self(0-25), reqCtx(6-25), writer(10-25)
  0000  GETTABUP  R1 = _ENV[K0('CSNetLibManager')]
  0001  SELF      R2 = R1[K1('CreateGeneralUdpRequest')] (self)
  0002  GETTABLE  R3 = R0[K2('m_strUrl')]
  0003  LOADK     R4 = K3 3000
  0004  LOADK     R5 = K4 0
  0005  CALL      R1 = call(R1, 1 args, 4 rets)
  0006  GETTABUP  R2 = _ENV[K0('CSNetLibManager')]
  0007  SELF      R3 = R2[K5('CreateBufferBlockWriter')] (self)
  0008  GETTABLE  R4 = R1[K6('ReqDatagram')]
  0009  CALL      R2 = call(R2, 1 args, 2 rets)
  0010  GETTABUP  R3 = _ENV[K7('UdpMessage')]
  0011  GETTABLE  R3 = R3[K8('SerializeMessageId')]
  0012  MOVE      R4 = R0
  0013  GETTABLE  R5 = R1[K9('MessageId')]
  0014  CALL      R3 = call(R3, 0 args, 2 rets)
  0015  SELF      R4 = R1[K10('SetCallback')] (self)
  0016  CLOSURE   R5 = closure proto0
  0017  CALL      R3 = call(R3, 0 args, 2 rets)
  0018  GETTABUP  R3 = _ENV[K0('CSNetLibManager')]
  0019  SELF      R4 = R3[K11('ReleaseBufferBlockWriter')] (self)
  0020  MOVE      R5 = R0
  0021  CALL      R3 = call(R3, 0 args, 2 rets)
  0022  SELF      R4 = R1[K12('Send')] (self)
  0023  CALL      R3 = call(R3, 0 args, 1 rets)
  0024  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 64-68 np=0 va=0 ms=4 code=14 consts=6 upvals=3 protos=0
    ;   K[0]='GM'
    ;   K[1]=nil
    ;   K[2]='UpdateUdpStatus'
    ;   K[3]='Rcode'
    ;   K[4]='ResultCode'
    ;   K[5]='Succeeded'
    ;   upvals: _ENV, self, reqCtx
    0000  GETTABUP  R0 = _ENV[K0('GM')]
    0001  EQ        if R1 eq K1(nil)   -> -130812
    0002  JMP       (jump)   -> 13
    0003  GETUPVAL  R0 = _ENV
    0004  SELF      R1 = R0[K2('UpdateUdpStatus')] (self)
    0005  GETTABUP  R2 = reqCtx[K3('Rcode')]
    0006  GETTABUP  R3 = _ENV[K4('ResultCode')]
    0007  GETTABLE  R3 = R3[K5('Succeeded')]
    0008  EQ        if R1 eq R3   -> -130035
    0009  JMP       (jump)   -> 11
    0010  LOADBOOL  R2 = false
    0011  LOADBOOL  R2 = true
    0012  CALL      R0 = call(R0, 0 args, 2 rets)
    0013  RETURN    return R0..R-1
