Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.10 KB | None | 0 0
  1. ; Function compile flags: /Ogsy
  2. ;   COMDAT @multi_begin_timeout@0
  3. _TEXT   SEGMENT
  4. _v6$ = -1
  5. @multi_begin_timeout@0 PROC NEAR            ; COMDAT
  6.  
  7. ; 367  : {
  8.  
  9.     push    ebp
  10.     mov ebp, esp
  11.     push    ecx
  12.     push    ebx
  13.  
  14. ; 368  :    unsigned char bGroupPlayers; // bl
  15. ; 369  :    signed int v1;               // eax
  16. ; 370  :    signed int nLowestActive;    // esi
  17. ; 371  :    signed int nLowestPlayer;    // edi
  18. ; 372  :    signed int v4;               // eax
  19. ; 373  :    int v5;                      // edx
  20. ; 374  :    unsigned char v6;            // [esp+Fh] [ebp-1h]
  21. ; 375  :
  22. ; 376  : #ifdef _DEBUG
  23. ; 377  :    if (sgbTimeout && !debug_mode_key_i)
  24. ; 378  : #else
  25. ; 379  :    if (sgbTimeout)
  26.  
  27.     xor ebx, ebx
  28.     cmp BYTE PTR ?sgbTimeout@@3EA, bl       ; sgbTimeout
  29.     push    esi
  30.     push    edi
  31.     je  SHORT $L65126
  32.  
  33. ; 380  : #endif
  34. ; 381  :    {
  35. ; 382  :        v1 = GetTickCount() - sglTimeoutStart;
  36.  
  37.     call    DWORD PTR __imp__GetTickCount@0
  38.     sub eax, DWORD PTR ?sglTimeoutStart@@3HA    ; sglTimeoutStart
  39.  
  40. ; 383  :        if (v1 > 20000) {
  41.  
  42.     cmp eax, 20000              ; 00004e20H
  43.     jle SHORT $L65113
  44.  
  45. ; 384  :            gbRunGame = FALSE;
  46.  
  47.     mov DWORD PTR ?gbRunGame@@3HA, ebx      ; gbRunGame
  48.  
  49. ; 385  :        } else {
  50.  
  51.     jmp SHORT $L65126
  52. $L65113:
  53.  
  54. ; 386  :            if (v1 >= 10000) {
  55.  
  56.     cmp eax, 10000              ; 00002710H
  57.     jl  SHORT $L65126
  58.  
  59. ; 387  :                v6 = 0;
  60. ; 388  :                nLowestActive = -1;
  61.  
  62.     or  ecx, -1
  63.     mov BYTE PTR _v6$[ebp], bl
  64.     mov esi, ecx
  65.  
  66. ; 389  :                nLowestPlayer = -1;
  67.  
  68.     mov edi, ecx
  69.  
  70. ; 390  :                bGroupPlayers = 0;
  71. ; 391  :                for (v4 = 0; v4 < MAX_PLRS; v4++) {
  72.  
  73.     xor eax, eax
  74. $L65116:
  75.  
  76. ; 392  :
  77. ; 393  :                    v5 = player_state[v4];
  78.  
  79.     mov edx, DWORD PTR _player_state[eax*4]
  80.  
  81. ; 394  :                    if (v5 & 0x10000) {
  82.  
  83.     test    edx, 65536              ; 00010000H
  84.     je  SHORT $L65117
  85.  
  86. ; 395  :                        if (nLowestPlayer == -1)
  87.  
  88.     cmp edi, ecx
  89.     jne SHORT $L65120
  90.  
  91. ; 396  :                            nLowestPlayer = v4;
  92.  
  93.     mov edi, eax
  94. $L65120:
  95.  
  96. ; 397  :                        if (v5 & 0x40000) {
  97.  
  98.     test    edx, 262144             ; 00040000H
  99.     je  SHORT $L65121
  100.  
  101. ; 398  :                            ++bGroupPlayers;
  102.  
  103.     inc bl
  104.  
  105. ; 399  :                            if (nLowestActive == -1)
  106.  
  107.     cmp esi, ecx
  108.     jne SHORT $L65117
  109.  
  110. ; 400  :                                nLowestActive = v4;
  111.  
  112.     mov esi, eax
  113.  
  114. ; 401  :                        } else {
  115.  
  116.     jmp SHORT $L65117
  117. $L65121:
  118.  
  119. ; 402  :                            ++v6;
  120.  
  121.     inc BYTE PTR _v6$[ebp]
  122. $L65117:
  123.  
  124. ; 390  :                bGroupPlayers = 0;
  125. ; 391  :                for (v4 = 0; v4 < MAX_PLRS; v4++) {
  126.  
  127.     inc eax
  128.     cmp eax, 4
  129.     jl  SHORT $L65116
  130.  
  131. ; 403  :                        }
  132. ; 404  :                    }
  133. ; 405  :                }
  134. ; 406  :
  135. ; 407  :                if ((v6 > bGroupPlayers || (bGroupPlayers == v6 && nLowestPlayer == nLowestActive))) {
  136.  
  137.     cmp bl, BYTE PTR _v6$[ebp]
  138.     jb  SHORT $L65125
  139.     jne SHORT $L65124
  140.     cmp edi, esi
  141.     je  SHORT $L65125
  142. $L65124:
  143.  
  144. ; 410  :                } else {
  145. ; 411  :                    gbGameDestroyed = TRUE;
  146.  
  147.     mov BYTE PTR _gbGameDestroyed, 1
  148.     jmp SHORT $L65126
  149. $L65125:
  150.  
  151. ; 408  :                    if (nLowestActive == myplr)
  152.  
  153.     cmp esi, DWORD PTR _myplr
  154.     jne SHORT $L65126
  155.  
  156. ; 409  :                        multi_check_drop_player();
  157.  
  158.     call    @multi_check_drop_player@0
  159. $L65126:
  160.     pop edi
  161.     pop esi
  162.     pop ebx
  163.  
  164. ; 412  :                }
  165. ; 413  :            }
  166. ; 414  :        }
  167. ; 415  :    }
  168. ; 416  : }
  169.  
  170.     leave
  171.     ret 0
  172. @multi_begin_timeout@0 ENDP
  173. _TEXT   ENDS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement