Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; Function compile flags: /Ogsy
- ; COMDAT @multi_begin_timeout@0
- _TEXT SEGMENT
- _v6$ = -1
- @multi_begin_timeout@0 PROC NEAR ; COMDAT
- ; 367 : {
- push ebp
- mov ebp, esp
- push ecx
- push ebx
- ; 368 : unsigned char bGroupPlayers; // bl
- ; 369 : signed int v1; // eax
- ; 370 : signed int nLowestActive; // esi
- ; 371 : signed int nLowestPlayer; // edi
- ; 372 : signed int v4; // eax
- ; 373 : int v5; // edx
- ; 374 : unsigned char v6; // [esp+Fh] [ebp-1h]
- ; 375 :
- ; 376 : #ifdef _DEBUG
- ; 377 : if (sgbTimeout && !debug_mode_key_i)
- ; 378 : #else
- ; 379 : if (sgbTimeout)
- xor ebx, ebx
- cmp BYTE PTR ?sgbTimeout@@3EA, bl ; sgbTimeout
- push esi
- push edi
- je SHORT $L65126
- ; 380 : #endif
- ; 381 : {
- ; 382 : v1 = GetTickCount() - sglTimeoutStart;
- call DWORD PTR __imp__GetTickCount@0
- sub eax, DWORD PTR ?sglTimeoutStart@@3HA ; sglTimeoutStart
- ; 383 : if (v1 > 20000) {
- cmp eax, 20000 ; 00004e20H
- jle SHORT $L65113
- ; 384 : gbRunGame = FALSE;
- mov DWORD PTR ?gbRunGame@@3HA, ebx ; gbRunGame
- ; 385 : } else {
- jmp SHORT $L65126
- $L65113:
- ; 386 : if (v1 >= 10000) {
- cmp eax, 10000 ; 00002710H
- jl SHORT $L65126
- ; 387 : v6 = 0;
- ; 388 : nLowestActive = -1;
- or ecx, -1
- mov BYTE PTR _v6$[ebp], bl
- mov esi, ecx
- ; 389 : nLowestPlayer = -1;
- mov edi, ecx
- ; 390 : bGroupPlayers = 0;
- ; 391 : for (v4 = 0; v4 < MAX_PLRS; v4++) {
- xor eax, eax
- $L65116:
- ; 392 :
- ; 393 : v5 = player_state[v4];
- mov edx, DWORD PTR _player_state[eax*4]
- ; 394 : if (v5 & 0x10000) {
- test edx, 65536 ; 00010000H
- je SHORT $L65117
- ; 395 : if (nLowestPlayer == -1)
- cmp edi, ecx
- jne SHORT $L65120
- ; 396 : nLowestPlayer = v4;
- mov edi, eax
- $L65120:
- ; 397 : if (v5 & 0x40000) {
- test edx, 262144 ; 00040000H
- je SHORT $L65121
- ; 398 : ++bGroupPlayers;
- inc bl
- ; 399 : if (nLowestActive == -1)
- cmp esi, ecx
- jne SHORT $L65117
- ; 400 : nLowestActive = v4;
- mov esi, eax
- ; 401 : } else {
- jmp SHORT $L65117
- $L65121:
- ; 402 : ++v6;
- inc BYTE PTR _v6$[ebp]
- $L65117:
- ; 390 : bGroupPlayers = 0;
- ; 391 : for (v4 = 0; v4 < MAX_PLRS; v4++) {
- inc eax
- cmp eax, 4
- jl SHORT $L65116
- ; 403 : }
- ; 404 : }
- ; 405 : }
- ; 406 :
- ; 407 : if ((v6 > bGroupPlayers || (bGroupPlayers == v6 && nLowestPlayer == nLowestActive))) {
- cmp bl, BYTE PTR _v6$[ebp]
- jb SHORT $L65125
- jne SHORT $L65124
- cmp edi, esi
- je SHORT $L65125
- $L65124:
- ; 410 : } else {
- ; 411 : gbGameDestroyed = TRUE;
- mov BYTE PTR _gbGameDestroyed, 1
- jmp SHORT $L65126
- $L65125:
- ; 408 : if (nLowestActive == myplr)
- cmp esi, DWORD PTR _myplr
- jne SHORT $L65126
- ; 409 : multi_check_drop_player();
- call @multi_check_drop_player@0
- $L65126:
- pop edi
- pop esi
- pop ebx
- ; 412 : }
- ; 413 : }
- ; 414 : }
- ; 415 : }
- ; 416 : }
- leave
- ret 0
- @multi_begin_timeout@0 ENDP
- _TEXT ENDS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement