.text:007E69F0 ; =============== S U B R O U T I N E =======================================
.text:007E69F0
.text:007E69F0 ; Attributes: bp-based frame
.text:007E69F0
.text:007E69F0 ; _DWORD __stdcall CTFGameRules::GetPayloadToPush(CTFGameRules *this, int)
.text:007E69F0 _ZNK12CTFGameRules16GetPayloadToPushEi proc near
.text:007E69F0 ; CODE XREF: CTFBotEngineerBuilding::CheckIfSentryIsOutOfPosition(CTFBot *)+28Bp
.text:007E69F0 ; CTFBotEngineerMoveToBuild::CollectBuildAreas(CTFBot *)+1D1p ...
.text:007E69F0
.text:007E69F0 this = dword ptr 8
.text:007E69F0 arg_4 = dword ptr 0Ch
.text:007E69F0 arg_8 = dword ptr 10h
.text:007E69F0
.text:007E69F0 push ebp
.text:007E69F1 mov ebp, esp
.text:007E69F3 push ebx
.text:007E69F4 sub esp, 14h
.text:007E69F7 mov eax, ds:g_pGameRules
.text:007E69FC mov ebx, [ebp+this]
.text:007E69FF mov edx, [eax]
.text:007E6A01 mov [esp], eax
.text:007E6A04 call dword ptr [edx+220h]
.text:007E6A0A cmp eax, 3
.text:007E6A0D jz short loc_7E6A20
.text:007E6A0F
.text:007E6A0F loc_7E6A0F: ; CODE XREF: CTFGameRules::GetPayloadToPush(int)+3Ej
.text:007E6A0F ; CTFGameRules::GetPayloadToPush(int)+128j
.text:007E6A0F mov dword ptr [ebx], 0FFFFFFFFh
.text:007E6A15 add esp, 14h
.text:007E6A18 mov eax, ebx
.text:007E6A1A pop ebx
.text:007E6A1B pop ebp
.text:007E6A1C retn 4
.text:007E6A1C ; ---------------------------------------------------------------------------
.text:007E6A1F align 10h
.text:007E6A20
.text:007E6A20 loc_7E6A20: ; CODE XREF: CTFGameRules::GetPayloadToPush(int)+1Dj
.text:007E6A20 cmp [ebp+arg_8], 2
.text:007E6A24 jz loc_7E6AE0
.text:007E6A2A cmp [ebp+arg_8], 3
.text:007E6A2E jnz short loc_7E6A0F
.text:007E6A30 mov eax, [ebp+arg_4]
.text:007E6A33 mov ecx, g_pEntityList
.text:007E6A39 mov eax, [eax+0C80h]
.text:007E6A3F cmp eax, 0FFFFFFFFh
.text:007E6A42 jz short loc_7E6A5F
.text:007E6A44 mov edx, eax
.text:007E6A46 and edx, 0FFFh
.text:007E6A4C shl edx, 4
.text:007E6A4F add edx, ecx
.text:007E6A51 mov ecx, eax
.text:007E6A53 shr ecx, 0Ch
.text:007E6A56 cmp [edx+8], ecx
.text:007E6A59 jz loc_7E6B28
.text:007E6A5F
.text:007E6A5F loc_7E6A5F: ; CODE XREF: CTFGameRules::GetPayloadToPush(int)+52j
.text:007E6A5F ; CTFGameRules::GetPayloadToPush(int)+13Dj
.text:007E6A5F mov edx, ds:g_pGameRules
.text:007E6A65 cmp byte ptr [edx+431h], 0
.text:007E6A6C jnz short loc_7E6ACE
.text:007E6A6E xor eax, eax
.text:007E6A70 jmp short loc_7E6AA9
.text:007E6A70 ; ---------------------------------------------------------------------------
.text:007E6A72 align 8
.text:007E6A78
.text:007E6A78 loc_7E6A78: ; CODE XREF: CTFGameRules::GetPayloadToPush(int)+D3j
.text:007E6A78 mov dword ptr [esp+0Ch], 0
.text:007E6A80 mov dword ptr [esp+8], offset _ZTI17CTeamTrainWatcher ; `typeinfo for'CTeamTrainWatcher
.text:007E6A88 mov dword ptr [esp+4], offset _ZTI11CBaseEntity ; `typeinfo for'CBaseEntity
.text:007E6A90 mov [esp], eax
.text:007E6A93 call __dynamic_cast
.text:007E6A98 test eax, eax
.text:007E6A9A jz short loc_7E6AC5
.text:007E6A9C cmp byte ptr [eax+378h], 0
.text:007E6AA3 jz loc_7E6B4B
.text:007E6AA9
.text:007E6AA9 loc_7E6AA9: ; CODE XREF: CTFGameRules::GetPayloadToPush(int)+80j
.text:007E6AA9 mov dword ptr [esp+8], offset aTeam_train_wat ; "team_train_watcher"
.text:007E6AB1 mov [esp+4], eax ; CBaseEntity *
.text:007E6AB5 mov dword ptr [esp], offset gEntList ; this
.text:007E6ABC call _ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc ; CGlobalEntityList::FindEntityByClassname(CBaseEntity *,char const*)
.text:007E6AC1 test eax, eax
.text:007E6AC3 jnz short loc_7E6A78
.text:007E6AC5
.text:007E6AC5 loc_7E6AC5: ; CODE XREF: CTFGameRules::GetPayloadToPush(int)+AAj
.text:007E6AC5 mov eax, [ebp+arg_4]
.text:007E6AC8 mov eax, [eax+0C80h]
.text:007E6ACE
.text:007E6ACE loc_7E6ACE: ; CODE XREF: CTFGameRules::GetPayloadToPush(int)+7Cj
.text:007E6ACE mov [ebx], eax
.text:007E6AD0
.text:007E6AD0 loc_7E6AD0: ; CODE XREF: CTFGameRules::GetPayloadToPush(int)+130j
.text:007E6AD0 ; CTFGameRules::GetPayloadToPush(int)+145j ...
.text:007E6AD0 add esp, 14h
.text:007E6AD3 mov eax, ebx
.text:007E6AD5 pop ebx
.text:007E6AD6 pop ebp
.text:007E6AD7 retn 4
.text:007E6AD7 ; ---------------------------------------------------------------------------
.text:007E6ADA align 10h
.text:007E6AE0
.text:007E6AE0 loc_7E6AE0: ; CODE XREF: CTFGameRules::GetPayloadToPush(int)+34j
.text:007E6AE0 mov eax, [ebp+arg_4]
.text:007E6AE3 mov ecx, g_pEntityList
.text:007E6AE9 mov eax, [eax+0C7Ch]
.text:007E6AEF cmp eax, 0FFFFFFFFh
.text:007E6AF2 jz short loc_7E6B0B
.text:007E6AF4 mov edx, eax
.text:007E6AF6 and edx, 0FFFh
.text:007E6AFC shl edx, 4
.text:007E6AFF add edx, ecx
.text:007E6B01 mov ecx, eax
.text:007E6B03 shr ecx, 0Ch
.text:007E6B06 cmp [edx+8], ecx
.text:007E6B09 jz short loc_7E6B40
.text:007E6B0B
.text:007E6B0B loc_7E6B0B: ; CODE XREF: CTFGameRules::GetPayloadToPush(int)+102j
.text:007E6B0B ; CTFGameRules::GetPayloadToPush(int)+155j
.text:007E6B0B mov edx, ds:g_pGameRules
.text:007E6B11 cmp byte ptr [edx+431h], 0
.text:007E6B18 jz loc_7E6A0F
.text:007E6B1E mov [ebx], eax
.text:007E6B20 jmp short loc_7E6AD0
.text:007E6B20 ; ---------------------------------------------------------------------------
.text:007E6B22 align 8
.text:007E6B28
.text:007E6B28 loc_7E6B28: ; CODE XREF: CTFGameRules::GetPayloadToPush(int)+69j
.text:007E6B28 mov edx, [edx+4]
.text:007E6B2B test edx, edx
.text:007E6B2D jz loc_7E6A5F
.text:007E6B33 mov [ebx], eax
.text:007E6B35 jmp short loc_7E6AD0
.text:007E6B35 ; ---------------------------------------------------------------------------
.text:007E6B37 align 10h
.text:007E6B40
.text:007E6B40 loc_7E6B40: ; CODE XREF: CTFGameRules::GetPayloadToPush(int)+119j
.text:007E6B40 mov ecx, [edx+4]
.text:007E6B43 test ecx, ecx
.text:007E6B45 jz short loc_7E6B0B
.text:007E6B47 mov [ebx], eax
.text:007E6B49 jmp short loc_7E6AD0
.text:007E6B4B ; ---------------------------------------------------------------------------
.text:007E6B4B
.text:007E6B4B loc_7E6B4B: ; CODE XREF: CTFGameRules::GetPayloadToPush(int)+B3j
.text:007E6B4B mov edx, [eax]
.text:007E6B4D mov [esp], eax
.text:007E6B50 call dword ptr [edx+0Ch]
.text:007E6B53 mov ecx, [ebp+arg_4]
.text:007E6B56 mov eax, [eax]
.text:007E6B58 mov [ecx+0C80h], eax
.text:007E6B5E mov [ebx], eax
.text:007E6B60 jmp loc_7E6AD0
.text:007E6B60 _ZNK12CTFGameRules16GetPayloadToPushEi endp