|
Bannerlord has encountered a problem and will close itself.
This is a community Crash Report. Please save it and use it for reporting the error. Do not provide screenshots, provide the report! Most likely this error was caused by a custom installed module. If you were in the middle of something, the progress might be lost. Launcher: steam (09.04.36.28) Runtime: .NET Framework 4.8.9261.0 |
|
IL_0000: ldarg.0
IL_0001: call System.Boolean SandBox.Tournaments.MissionLogics.TournamentFightMissionController::IsMatchEnded()
IL_0006: brtrue.s IL_0076
IL_0008: ldarg.2
IL_0009: brfalse.s IL_0076
IL_000B: ldarg.1
IL_000C: ldarg.2
IL_000D: beq.s IL_0076
IL_000F: ldarg.1
IL_0010: callvirt System.Boolean TaleWorlds.MountAndBlade.Agent::get_IsHuman()
IL_0015: brfalse.s IL_0076
IL_0017: ldarg.2
IL_0018: callvirt System.Boolean TaleWorlds.MountAndBlade.Agent::get_IsHuman()
IL_001D: brfalse.s IL_0076
IL_001F: ldarg.0
IL_0020: ldfld TaleWorlds.CampaignSystem.TournamentGames.TournamentMatch SandBox.Tournaments.MissionLogics.TournamentFightMissionController::_match
IL_0025: ldarg.1
IL_0026: callvirt TaleWorlds.Core.IAgentOriginBase TaleWorlds.MountAndBlade.Agent::get_Origin()
IL_002B: callvirt System.Int32 TaleWorlds.Core.IAgentOriginBase::get_UniqueSeed()
IL_0030: callvirt TaleWorlds.CampaignSystem.TournamentGames.TournamentParticipant TaleWorlds.CampaignSystem.TournamentGames.TournamentMatch::GetParticipant(System.Int32)
IL_0035: stloc.0
IL_0036: ldarg.0
IL_0037: ldfld System.Collections.Generic.List`1<TaleWorlds.CampaignSystem.TournamentGames.TournamentParticipant> SandBox.Tournaments.MissionLogics.TournamentFightMissionController::_aliveParticipants
IL_003C: ldloc.0
IL_003D: callvirt System.Boolean System.Collections.Generic.List`1<TaleWorlds.CampaignSystem.TournamentGames.TournamentParticipant>::Remove(!0)
IL_0042: pop
IL_0043: ldarg.0
IL_0044: ldfld System.Collections.Generic.List`1<TaleWorlds.MountAndBlade.Agent> SandBox.Tournaments.MissionLogics.TournamentFightMissionController::_currentTournamentAgents
IL_0049: ldarg.1
IL_004A: callvirt System.Boolean System.Collections.Generic.List`1<TaleWorlds.MountAndBlade.Agent>::Remove(!0)
IL_004F: pop
IL_0050: ldarg.0
IL_0051: ldloc.0
IL_0052: callvirt TaleWorlds.CampaignSystem.TournamentGames.TournamentTeam TaleWorlds.CampaignSystem.TournamentGames.TournamentParticipant::get_Team()
IL_0057: call System.Boolean SandBox.Tournaments.MissionLogics.TournamentFightMissionController::CheckIfTeamIsDead(TaleWorlds.CampaignSystem.TournamentGames.TournamentTeam)
IL_005C: brfalse.s IL_0076
IL_005E: ldarg.0
IL_005F: ldfld System.Collections.Generic.List`1<TaleWorlds.CampaignSystem.TournamentGames.TournamentTeam> SandBox.Tournaments.MissionLogics.TournamentFightMissionController::_aliveTeams
IL_0064: ldloc.0
IL_0065: callvirt TaleWorlds.CampaignSystem.TournamentGames.TournamentTeam TaleWorlds.CampaignSystem.TournamentGames.TournamentParticipant::get_Team()
IL_006A: callvirt System.Boolean System.Collections.Generic.List`1<TaleWorlds.CampaignSystem.TournamentGames.TournamentTeam>::Remove(!0)
IL_006F: pop
IL_0070: ldarg.0
IL_0071: call System.Void SandBox.Tournaments.MissionLogics.TournamentFightMissionController::AddScoreToRemainingTeams()
IL_0076: ret
0000 push rdi
0001 push rsi
0002 push rbx
0003 sub rsp,20h
0007 mov rsi,rcx
000A mov rdi,rdx
000D mov rbx,r8
0010 mov rcx,rsi
0013 call 0FFFFFFFFFFFED160h
0018 test al,al
001A jne near 00000000000000C5h
0020 test rbx,rbx
0023 je near 00000000000000C5h
0029 cmp rdi,rbx
002C je near 00000000000000C5h
0032 mov ecx,[rdi]
0034 mov rcx,[rdi+140h]
003B test dword [rcx],800h
0041 je near 00000000000000C5h
0047 mov rcx,[rbx+140h]
004E test dword [rcx],800h
0054 je short 00000000000000C5h
0056 mov rbx,[rsi+28h]
005A mov rcx,[rdi+110h]
0061 mov r11,7FF8C89FE500h
006B cmp [rcx],ecx
006D call qword [rel 0FFFFFFFFFF2FDBC0h]
0073 mov edx,eax
0075 mov rcx,rbx
0078 cmp [rcx],ecx
007A call 0FFFFFFFFFE82F9D8h
007F mov rbx,rax
0082 mov rcx,[rsi+50h]
0086 mov rdx,rbx
0089 cmp [rcx],ecx
008B call 000000005AB484F0h
0090 mov rcx,[rsi+60h]
0094 mov rdx,rdi
0097 cmp [rcx],ecx
0099 call 000000005AB484F0h
009E mov rdx,[rbx+10h]
00A2 mov rcx,rsi
00A5 call 0FFFFFFFFFD16B208h
00AA test al,al
00AC (bad)
IL_0000: ldarg.0
IL_0001: ldfld TaleWorlds.MountAndBlade.Mission+OnBeforeAgentRemovedDelegate TaleWorlds.MountAndBlade.Mission::OnBeforeAgentRemoved
IL_0006: dup
IL_0007: brtrue.s IL_000C
IL_0009: pop
IL_000A: br.s IL_0016
IL_000C: ldarg.1
IL_000D: ldarg.2
IL_000E: ldarg.3
IL_000F: ldarg.s TaleWorlds.MountAndBlade.KillingBlow killingBlow
IL_0011: callvirt System.Void TaleWorlds.MountAndBlade.Mission+OnBeforeAgentRemovedDelegate::Invoke(TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.Agent, TaleWorlds.Core.AgentState, TaleWorlds.MountAndBlade.KillingBlow)
IL_0016: ldarg.1
IL_0017: ldarg.3
IL_0018: callvirt System.Void TaleWorlds.MountAndBlade.Agent::set_State(TaleWorlds.Core.AgentState)
IL_001D: ldarg.2
IL_001E: brfalse.s IL_003C
IL_0020: ldarg.2
IL_0021: callvirt TaleWorlds.MountAndBlade.Team TaleWorlds.MountAndBlade.Agent::get_Team()
IL_0026: ldarg.1
IL_0027: callvirt TaleWorlds.MountAndBlade.Team TaleWorlds.MountAndBlade.Agent::get_Team()
IL_002C: beq.s IL_003C
IL_002E: ldarg.2
IL_002F: ldarg.2
IL_0030: callvirt System.Int32 TaleWorlds.MountAndBlade.Agent::get_KillCount()
IL_0035: ldc.i4.1
IL_0036: add
IL_0037: callvirt System.Void TaleWorlds.MountAndBlade.Agent::set_KillCount(System.Int32)
IL_003C: ldarg.1
IL_003D: callvirt TaleWorlds.MountAndBlade.Team TaleWorlds.MountAndBlade.Agent::get_Team()
IL_0042: dup
IL_0043: brtrue.s IL_0048
IL_0045: pop
IL_0046: br.s IL_004E
IL_0048: ldarg.1
IL_0049: call System.Void TaleWorlds.MountAndBlade.Team::DeactivateAgent(TaleWorlds.MountAndBlade.Agent)
IL_004E: ldarg.0
IL_004F: call System.Collections.Generic.List`1<TaleWorlds.MountAndBlade.MissionBehavior> TaleWorlds.MountAndBlade.Mission::get_MissionBehaviors()
IL_0054: callvirt System.Collections.Generic.List`1+Enumerator<!0> System.Collections.Generic.List`1<TaleWorlds.MountAndBlade.MissionBehavior>::GetEnumerator()
IL_0059: stloc.0
IL_005A: br.s IL_006D
IL_005C: ldloca.s V_0
IL_005E: call !0 System.Collections.Generic.List`1+Enumerator<TaleWorlds.MountAndBlade.MissionBehavior>::get_Current()
IL_0063: ldarg.1
IL_0064: ldarg.2
IL_0065: ldarg.3
IL_0066: ldarg.s TaleWorlds.MountAndBlade.KillingBlow killingBlow
IL_0068: callvirt System.Void TaleWorlds.MountAndBlade.MissionBehavior::OnEarlyAgentRemoved(TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.Agent, TaleWorlds.Core.AgentState, TaleWorlds.MountAndBlade.KillingBlow)
IL_006D: ldloca.s V_0
IL_006F: call System.Boolean System.Collections.Generic.List`1+Enumerator<TaleWorlds.MountAndBlade.MissionBehavior>::MoveNext()
IL_0074: brtrue.s IL_005C
IL_0076: leave.s IL_0086
IL_0078: ldloca.s V_0
IL_007A: constrained. System.Collections.Generic.List`1+Enumerator<TaleWorlds.MountAndBlade.MissionBehavior>
IL_0080: callvirt System.Void System.IDisposable::Dispose()
IL_0085: endfinally
IL_0086: ldarg.0
IL_0087: call System.Collections.Generic.List`1<TaleWorlds.MountAndBlade.MissionBehavior> TaleWorlds.MountAndBlade.Mission::get_MissionBehaviors()
IL_008C: callvirt System.Collections.Generic.List`1+Enumerator<!0> System.Collections.Generic.List`1<TaleWorlds.MountAndBlade.MissionBehavior>::GetEnumerator()
IL_0091: stloc.0
IL_0092: br.s IL_00A5
IL_0094: ldloca.s V_0
IL_0096: call !0 System.Collections.Generic.List`1+Enumerator<TaleWorlds.MountAndBlade.MissionBehavior>::get_Current()
IL_009B: ldarg.1
IL_009C: ldarg.2
IL_009D: ldarg.3
IL_009E: ldarg.s TaleWorlds.MountAndBlade.KillingBlow killingBlow
IL_00A0: callvirt System.Void TaleWorlds.MountAndBlade.MissionBehavior::OnAgentRemoved(TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.Agent, TaleWorlds.Core.AgentState, TaleWorlds.MountAndBlade.KillingBlow)
IL_00A5: ldloca.s V_0
IL_00A7: call System.Boolean System.Collections.Generic.List`1+Enumerator<TaleWorlds.MountAndBlade.MissionBehavior>::MoveNext()
IL_00AC: brtrue.s IL_0094
IL_00AE: leave.s IL_00BE
IL_00B0: ldloca.s V_0
IL_00B2: constrained. System.Collections.Generic.List`1+Enumerator<TaleWorlds.MountAndBlade.MissionBehavior>
IL_00B8: callvirt System.Void System.IDisposable::Dispose()
IL_00BD: endfinally
IL_00BE: ldarg.0
IL_00BF: call TaleWorlds.MountAndBlade.Agent TaleWorlds.MountAndBlade.Mission::get_MainAgent()
IL_00C4: ldarg.1
IL_00C5: ceq
IL_00C7: dup
IL_00C8: brfalse.s IL_00D8
IL_00CA: ldarg.1
IL_00CB: ldnull
IL_00CC: stfld TaleWorlds.MountAndBlade.Agent+OnMainAgentWieldedItemChangeDelegate TaleWorlds.MountAndBlade.Agent::OnMainAgentWieldedItemChange
IL_00D1: ldarg.0
IL_00D2: ldnull
IL_00D3: call System.Void TaleWorlds.MountAndBlade.Mission::set_MainAgent(TaleWorlds.MountAndBlade.Agent)
IL_00D8: ldarg.1
IL_00D9: ldnull
IL_00DA: stfld System.Action TaleWorlds.MountAndBlade.Agent::OnAgentWieldedItemChange
IL_00DF: ldarg.1
IL_00E0: ldnull
IL_00E1: stfld System.Action TaleWorlds.MountAndBlade.Agent::OnAgentMountedStateChanged
IL_00E6: ldarg.1
IL_00E7: callvirt TaleWorlds.MountAndBlade.Team TaleWorlds.MountAndBlade.Agent::get_Team()
IL_00EC: brfalse.s IL_0117
IL_00EE: ldarg.1
IL_00EF: callvirt TaleWorlds.MountAndBlade.Team TaleWorlds.MountAndBlade.Agent::get_Team()
IL_00F4: callvirt TaleWorlds.Core.BattleSideEnum TaleWorlds.MountAndBlade.Team::get_Side()
IL_00F9: ldc.i4.m1
IL_00FA: beq.s IL_0117
IL_00FC: ldarg.0
IL_00FD: ldfld System.Int32[] TaleWorlds.MountAndBlade.Mission::_removedAgentCountPerSide
IL_0102: ldarg.1
IL_0103: callvirt TaleWorlds.MountAndBlade.Team TaleWorlds.MountAndBlade.Agent::get_Team()
IL_0108: callvirt TaleWorlds.Core.BattleSideEnum TaleWorlds.MountAndBlade.Team::get_Side()
IL_010D: ldelema System.Int32
IL_0112: dup
IL_0113: ldind.i4
IL_0114: ldc.i4.1
IL_0115: add
IL_0116: stind.i4
IL_0117: ldarg.0
IL_0118: ldfld TaleWorlds.Library.MBList`1<TaleWorlds.MountAndBlade.Agent> TaleWorlds.MountAndBlade.Mission::_activeAgents
IL_011D: ldarg.1
IL_011E: callvirt System.Boolean System.Collections.Generic.List`1<TaleWorlds.MountAndBlade.Agent>::Remove(!0)
IL_0123: pop
IL_0124: ldarg.1
IL_0125: callvirt System.Void TaleWorlds.MountAndBlade.Agent::OnRemove()
IL_012A: ldarg.1
IL_012B: callvirt System.Boolean TaleWorlds.MountAndBlade.Agent::get_IsMount()
IL_0130: brfalse.s IL_0141
IL_0132: ldarg.1
IL_0133: callvirt TaleWorlds.MountAndBlade.Agent TaleWorlds.MountAndBlade.Agent::get_RiderAgent()
IL_0138: brtrue.s IL_0141
IL_013A: ldarg.0
IL_013B: ldarg.1
IL_013C: call System.Void TaleWorlds.MountAndBlade.Mission::RemoveMountWithoutRider(TaleWorlds.MountAndBlade.Agent)
IL_0141: brfalse.s IL_014E
IL_0143: ldarg.1
IL_0144: callvirt TaleWorlds.MountAndBlade.Team TaleWorlds.MountAndBlade.Agent::get_Team()
IL_0149: callvirt System.Void TaleWorlds.MountAndBlade.Team::DelegateCommandToAI()
IL_014E: call System.Boolean TaleWorlds.MountAndBlade.GameNetwork::get_IsClientOrReplay()
IL_0153: brtrue.s IL_01A1
IL_0155: ldarg.3
IL_0156: ldc.i4.2
IL_0157: beq.s IL_01A1
IL_0159: ldarg.1
IL_015A: callvirt TaleWorlds.Core.AgentFlag TaleWorlds.MountAndBlade.Agent::GetAgentFlags()
IL_015F: ldc.i4 16384
IL_0164: call System.Boolean TaleWorlds.Library.Extensions::HasAnyFlag<TaleWorlds.Core.AgentFlag>(!!0, !!0)
IL_0169: brfalse.s IL_01A1
IL_016B: ldarg.1
IL_016C: ldc.i4.1
IL_016D: callvirt TaleWorlds.Core.EquipmentIndex TaleWorlds.MountAndBlade.Agent::GetWieldedItemIndex(TaleWorlds.MountAndBlade.Agent+HandIndex)
IL_0172: stloc.1
IL_0173: ldloc.1
IL_0174: ldc.i4.4
IL_0175: bne.un.s IL_01A1
IL_0177: ldarg.1
IL_0178: callvirt TaleWorlds.MountAndBlade.MissionEquipment TaleWorlds.MountAndBlade.Agent::get_Equipment()
IL_017D: ldloc.1
IL_017E: callvirt TaleWorlds.MountAndBlade.MissionWeapon TaleWorlds.MountAndBlade.MissionEquipment::get_Item(TaleWorlds.Core.EquipmentIndex)
IL_0183: stloc.2
IL_0184: ldloca.s V_2
IL_0186: call TaleWorlds.Core.WeaponComponentData TaleWorlds.MountAndBlade.MissionWeapon::get_CurrentUsageItem()
IL_018B: stloc.3
IL_018C: ldloc.3
IL_018D: brfalse.s IL_01A1
IL_018F: ldloc.3
IL_0190: callvirt TaleWorlds.Core.WeaponClass TaleWorlds.Core.WeaponComponentData::get_WeaponClass()
IL_0195: ldc.i4.s 26
IL_0197: bne.un.s IL_01A1
IL_0199: ldarg.1
IL_019A: ldc.i4.4
IL_019B: ldc.i4.0
IL_019C: callvirt System.Void TaleWorlds.MountAndBlade.Agent::DropItem(TaleWorlds.Core.EquipmentIndex, TaleWorlds.Core.WeaponClass)
IL_01A1: ret
0000 push r15
0002 push r14
0004 push rdi
0005 push rsi
0006 push rbp
0007 push rbx
0008 sub rsp,0F8h
000F mov rsi,rcx
0012 lea rdi,[rsp+98h]
001A mov ecx,18h
001F xor eax,eax
0021 rep stosd
0023 mov rcx,rsi
0026 mov r14,rcx
0029 mov rbx,rdx
002C mov rsi,r8
002F mov edi,r9d
0032 mov rbp,[rsp+150h]
003A mov rdx,[r14+148h]
0041 test rdx,rdx
0044 je short 000000000000007Ah
0046 mov r15,rdx
0049 lea rcx,[rsp+30h]
004E mov rdx,rbp
0051 mov r8d,68h
0057 call 000000005BD8EBF0h
005C lea rcx,[r15+8]
0060 mov rcx,[rcx]
0063 mov rdx,rbx
0066 mov r8,rsi
0069 mov r9d,edi
006C lea rax,[rsp+30h]
0071 mov [rsp+20h],rax
0076 call qword [r15+18h]
007A mov rcx,rbx
007D mov edx,edi
007F cmp [rcx],ecx
0081 call 0FFFFFFFFFCC6C4C0h
0086 test rsi,rsi
0089 je short 00000000000000A9h
008B mov rcx,[rsi+118h]
0092 cmp rcx,[rbx+118h]
0099 je short 00000000000000A9h
009B mov ecx,[rsi+1B0h]
00A1 inc ecx
00A3 mov [rsi+1B0h],ecx
00A9 mov rcx,[rbx+118h]
00B0 test rcx,rcx
00B3 je short 00000000000000C3h
00B5 mov rcx,[rcx+60h]
00B9 mov rdx,rbx
00BC cmp [rcx],ecx
00BE call 000000005AB48AE0h
00C3 mov rcx,[r14+170h]
00CA mov edx,[rcx]
00CC xor edx,edx
00CE mov eax,[rcx+1Ch]
00D1 xor r8d,r8d
00D4 mov [rsp+0E0h],rcx
00DC mov [rsp+0E8h],r8
00E4 mov [rsp+0F0h],edx
00EB mov [rsp+0F4h],eax
00F2 lea rcx,[rsp+0E0h]
00FA mov rdx,7FF8C89C6FF8h
0104 call 000000005AB59D10h
0109 test al,al
010B je short 0000000000000163h
010D mov r15,[rsp+0E8h]
0115 lea rcx,[rsp+30h]
011A mov rdx,rbp
011D mov r8d,68h
0123 call 000000005BD8EBF0h
0128 mov rcx,r15
012B mov rdx,rbx
012E mov r8,rsi
0131 mov r9d,edi
0134 lea rax,[rsp+30h]
0139 mov [rsp+20h],rax
013E mov rax,[r15]
0141 mov rax,[rax+50h]
0145 call qword [rax+20h]
0148 lea rcx,[rsp+0E0h]
0150 mov rdx,7FF8C89C6FF8h
015A call 000000005AB59D10h
015F test al,al
0161 jne short 000000000000010Dh
0163 mov rcx,[r14+170h]
016A mov edx,[rcx]
016C xor edx,edx
016E mov eax,[rcx+1Ch]
0171 xor r8d,r8d
0174 mov [rsp+0E0h],rcx
017C mov [rsp+0E8h],r8
0184 mov [rsp+0F0h],edx
018B mov [rsp+0F4h],eax
0192 lea rcx,[rsp+0E0h]
019A mov rdx,7FF8C89C6FF8h
01A4 call 000000005AB59D10h
01A9 test al,al
01AB je short 0000000000000203h
01AD mov r15,[rsp+0E8h]
01B5 lea rcx,[rsp+30h]
01BA mov rdx,rbp
01BD mov r8d,68h
01C3 call 000000005BD8EBF0h
01C8 mov rcx,r15
01CB mov rdx,rbx
01CE mov r8,rsi
01D1 mov r9d,edi
01D4 lea rax,[rsp+30h]
01D9 mov [rsp+20h],rax
01DE mov rax,[r15]
01E1 mov rax,[rax+50h]
01E5 call qword [rax+28h]
01E8 lea rcx,[rsp+0E0h]
01F0 (bad)
IL_0000: ldarg.0
IL_0001: call TaleWorlds.DotNet.DotNetObject TaleWorlds.DotNet.DotNetObject::GetManagedObjectWithId(System.Int32)
IL_0006: isinst TaleWorlds.MountAndBlade.Mission
IL_000B: ldarg.1
IL_000C: call TaleWorlds.DotNet.DotNetObject TaleWorlds.DotNet.DotNetObject::GetManagedObjectWithId(System.Int32)
IL_0011: isinst TaleWorlds.MountAndBlade.Agent
IL_0016: stloc.0
IL_0017: ldarg.2
IL_0018: call TaleWorlds.DotNet.DotNetObject TaleWorlds.DotNet.DotNetObject::GetManagedObjectWithId(System.Int32)
IL_001D: isinst TaleWorlds.MountAndBlade.Agent
IL_0022: stloc.1
IL_0023: ldloc.0
IL_0024: ldloc.1
IL_0025: ldarg.3
IL_0026: ldarg.s TaleWorlds.MountAndBlade.KillingBlow killingBlow
IL_0028: callvirt System.Void TaleWorlds.MountAndBlade.Mission::OnAgentRemoved(TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.Agent, TaleWorlds.Core.AgentState, TaleWorlds.MountAndBlade.KillingBlow)
IL_002D: ret
0000 push r14
0002 push rdi
0003 push rsi
0004 push rbp
0005 push rbx
0006 sub rsp,30h
000A mov esi,edx
000C mov edi,r8d
000F mov ebx,r9d
0012 mov rbp,[rsp+80h]
001A call 0FFFFFFFFFD139500h
001F mov r14,rax
0022 test r14,r14
0025 je short 0000000000000039h
0027 mov rcx,7FF8C647D7C8h
0031 cmp [r14],rcx
0034 je short 0000000000000039h
0036 xor r14d,r14d
0039 mov ecx,esi
003B call 0FFFFFFFFFD139500h
0040 mov rsi,rax
0043 test rsi,rsi
0046 je short 0000000000000059h
0048 mov rcx,7FF8C6447088h
0052 cmp [rsi],rcx
0055 je short 0000000000000059h
0057 xor esi,esi
0059 mov ecx,edi
005B call 0FFFFFFFFFD139500h
0060 test rax,rax
0063 je short 0000000000000076h
0065 mov rcx,7FF8C6447088h
006F cmp [rax],rcx
0072 je short 0000000000000076h
0074 xor eax,eax
0076 mov [rsp+20h],rbp
007B mov rcx,r14
007E mov rdx,rsi
0081 mov r8,rax
0084 mov r9d,ebx
0087 cmp [rcx],ecx
0089 call 0FFFFFFFFFCC764C8h
008E nop
008F add rsp,30h
0093 pop rbx
0094 pop rbp
0095 pop rsi
0096 pop rdi
0097 pop r14
0099 ret
009A add [rax],al
009C (bad)
IL_0000: ldarg.0
IL_0001: call TaleWorlds.MountAndBlade.Formation TaleWorlds.MountAndBlade.Agent::get_Formation()
IL_0006: brfalse.s IL_003B
IL_0008: ldarg.0
IL_0009: call TaleWorlds.MountAndBlade.Formation TaleWorlds.MountAndBlade.Agent::get_Formation()
IL_000E: ldfld TaleWorlds.MountAndBlade.Team TaleWorlds.MountAndBlade.Formation::Team
IL_0013: callvirt TaleWorlds.MountAndBlade.TeamQuerySystem TaleWorlds.MountAndBlade.Team::get_QuerySystem()
IL_0018: callvirt System.Void TaleWorlds.MountAndBlade.TeamQuerySystem::RegisterDeath()
IL_001D: ldarga.s TaleWorlds.MountAndBlade.Blow b
IL_001F: call System.Boolean TaleWorlds.MountAndBlade.Blow::get_IsMissile()
IL_0024: brfalse.s IL_003B
IL_0026: ldarg.0
IL_0027: call TaleWorlds.MountAndBlade.Formation TaleWorlds.MountAndBlade.Agent::get_Formation()
IL_002C: ldfld TaleWorlds.MountAndBlade.Team TaleWorlds.MountAndBlade.Formation::Team
IL_0031: callvirt TaleWorlds.MountAndBlade.TeamQuerySystem TaleWorlds.MountAndBlade.Team::get_QuerySystem()
IL_0036: callvirt System.Void TaleWorlds.MountAndBlade.TeamQuerySystem::RegisterDeathByRanged()
IL_003B: ldarg.0
IL_003C: ldc.r4 0
IL_0041: call System.Void TaleWorlds.MountAndBlade.Agent::set_Health(System.Single)
IL_0046: ldarg.2
IL_0047: ldc.i4.s 25
IL_0049: beq.s IL_009B
IL_004B: ldarg.1
IL_004C: ldfld System.Int32 TaleWorlds.MountAndBlade.Blow::OwnerId
IL_0051: ldc.i4.m1
IL_0052: beq.s IL_0062
IL_0054: ldarg.1
IL_0055: ldfld System.Int32 TaleWorlds.MountAndBlade.Blow::OwnerId
IL_005A: ldarg.0
IL_005B: call System.Int32 TaleWorlds.MountAndBlade.Agent::get_Index()
IL_0060: bne.un.s IL_009B
IL_0062: ldarg.0
IL_0063: call System.Boolean TaleWorlds.MountAndBlade.Agent::get_IsHuman()
IL_0068: brfalse.s IL_009B
IL_006A: ldarg.0
IL_006B: ldflda TaleWorlds.MountAndBlade.Agent+AgentLastHitInfo TaleWorlds.MountAndBlade.Agent::_lastHitInfo
IL_0070: call System.Boolean TaleWorlds.MountAndBlade.Agent+AgentLastHitInfo::get_CanOverrideBlow()
IL_0075: brfalse.s IL_009B
IL_0077: ldarga.s TaleWorlds.MountAndBlade.Blow b
IL_0079: ldarg.0
IL_007A: ldflda TaleWorlds.MountAndBlade.Agent+AgentLastHitInfo TaleWorlds.MountAndBlade.Agent::_lastHitInfo
IL_007F: call System.Int32 TaleWorlds.MountAndBlade.Agent+AgentLastHitInfo::get_LastBlowOwnerId()
IL_0084: stfld System.Int32 TaleWorlds.MountAndBlade.Blow::OwnerId
IL_0089: ldarga.s TaleWorlds.MountAndBlade.Blow b
IL_008B: ldarg.0
IL_008C: ldflda TaleWorlds.MountAndBlade.Agent+AgentLastHitInfo TaleWorlds.MountAndBlade.Agent::_lastHitInfo
IL_0091: call TaleWorlds.Core.AgentAttackType TaleWorlds.MountAndBlade.Agent+AgentLastHitInfo::get_LastBlowAttackType()
IL_0096: stfld TaleWorlds.Core.AgentAttackType TaleWorlds.MountAndBlade.Blow::AttackType
IL_009B: ldsfld TaleWorlds.MountAndBlade.IMBAgent TaleWorlds.MountAndBlade.MBAPI::IMBAgent
IL_00A0: ldarg.0
IL_00A1: call System.UIntPtr TaleWorlds.MountAndBlade.Agent::GetPtr()
IL_00A6: ldarga.s TaleWorlds.MountAndBlade.Blow b
IL_00A8: ldarg.2
IL_00A9: callvirt System.Void TaleWorlds.MountAndBlade.IMBAgent::Die(System.UIntPtr, TaleWorlds.MountAndBlade.Blow&, System.SByte)
IL_00AE: ret
0000 push r14
0002 push rdi
0003 push rsi
0004 push rbp
0005 push rbx
0006 sub rsp,20h
000A vzeroupper
000D mov rdi,rcx
0010 mov rsi,rdx
0013 mov ebx,r8d
0016 cmp qword [rdi+0B0h],0
001E je short 0000000000000052h
0020 mov rcx,[rdi+0B0h]
0027 mov rcx,[rcx+50h]
002B mov rcx,[rcx+50h]
002F cmp [rcx],ecx
0031 call 0FFFFFFFFFCC720F8h
0036 cmp byte [rsi+50h],0
003A je short 0000000000000052h
003C mov rcx,[rdi+0B0h]
0043 mov rcx,[rcx+50h]
0047 mov rcx,[rcx+50h]
004B cmp [rcx],ecx
004D call 0FFFFFFFFFCC72100h
0052 vxorps xmm1,xmm1,xmm1
0057 mov rcx,rdi
005A call 0FFFFFFFFFFCF8B30h
005F movsx rbx,bl
0063 cmp ebx,19h
0066 je near 00000000000000FFh
006C mov ecx,[rsi+0B0h]
0072 cmp ecx,0FFFFFFFFh
0075 je short 0000000000000083h
0077 cmp ecx,[rdi+198h]
007D jne near 00000000000000FFh
0083 mov rcx,[rdi+140h]
008A test dword [rcx],800h
0090 je short 00000000000000FFh
0092 lea rbp,[rdi+208h]
0099 mov rcx,rbp
009C cmp dword [rcx+8],0
00A0 jl short 00000000000000FFh
00A2 mov r14,[rcx]
00A5 mov ecx,[r14]
00A8 mov rcx,26AA054E258h
00B2 mov rcx,[rcx]
00B5 mov r11,7FF8C89FE4D8h
00BF mov edx,1
00C4 cmp [rcx],ecx
00C6 call qword [rel 0FFFFFFFFFF2FEC68h]
00CC vsubss xmm0,xmm0,[r14+8]
00D2 vmovss xmm1,[rel 138h]
00DB vucomiss xmm1,xmm0
00E0 setae dl
00E3 movzx edx,dl
00E6 test edx,edx
00E8 je short 00000000000000FFh
00EA mov rdx,rbp
00ED mov edx,[rdx+8]
00F0 mov [rsi+0B0h],edx
00F6 mov edx,[rbp+0Ch]
00F9 mov [rsi+0A8h],edx
00FF mov rdx,26AA054E1D0h
0109 mov rcx,[rdx]
010C mov rdx,[rdi+138h]
0113 mov r9d,ebx
0116 mov r8,rsi
0119 mov r11,7FF8C89FE4D0h
0123 cmp [rcx],ecx
0125 call qword [rel 0FFFFFFFFFF2FEC60h]
012B nop
012C add rsp,20h
0130 pop rbx
0131 pop rbp
0132 pop rsi
0133 pop rdi
0134 pop r14
0136 ret
0137 add [rax],al
0139 (bad)
IL_0000: ldarg.1
IL_0001: ldarg.1
IL_0002: ldfld System.Single TaleWorlds.MountAndBlade.Blow::BaseMagnitude
IL_0007: ldc.r4 1000
IL_000C: call System.Single TaleWorlds.Library.MathF::Min(System.Single, System.Single)
IL_0011: stfld System.Single TaleWorlds.MountAndBlade.Blow::BaseMagnitude
IL_0016: ldarg.1
IL_0017: ldarg.1
IL_0018: ldfld System.Int32 TaleWorlds.MountAndBlade.Blow::InflictedDamage
IL_001D: conv.r4
IL_001E: ldarg.0
IL_001F: call System.Single TaleWorlds.MountAndBlade.Agent::get_HealthLimit()
IL_0024: div
IL_0025: stfld System.Single TaleWorlds.MountAndBlade.Blow::DamagedPercentage
IL_002A: ldarg.1
IL_002B: ldfld System.Int32 TaleWorlds.MountAndBlade.Blow::OwnerId
IL_0030: ldc.i4.m1
IL_0031: bne.un.s IL_0036
IL_0033: ldnull
IL_0034: br.s IL_0047
IL_0036: ldarg.0
IL_0037: call TaleWorlds.MountAndBlade.Mission TaleWorlds.MountAndBlade.Agent::get_Mission()
IL_003C: ldarg.1
IL_003D: ldfld System.Int32 TaleWorlds.MountAndBlade.Blow::OwnerId
IL_0042: callvirt TaleWorlds.MountAndBlade.Agent TaleWorlds.MountAndBlade.Mission::FindAgentWithIndex(System.Int32)
IL_0047: stloc.0
IL_0048: ldarg.1
IL_0049: ldfld TaleWorlds.MountAndBlade.BlowFlags TaleWorlds.MountAndBlade.Blow::BlowFlag
IL_004E: ldc.i4.s 64
IL_0050: call System.Boolean TaleWorlds.Library.Extensions::HasAnyFlag<TaleWorlds.MountAndBlade.BlowFlags>(!!0, !!0)
IL_0055: brtrue IL_014E
IL_005A: ldarg.1
IL_005B: ldarg.0
IL_005C: call TaleWorlds.Core.Monster TaleWorlds.MountAndBlade.Agent::get_Monster()
IL_0061: callvirt System.Int32 TaleWorlds.Core.Monster::get_HitPoints()
IL_0066: ldc.i4.4
IL_0067: mul
IL_0068: call System.Boolean TaleWorlds.MountAndBlade.Blow::IsBlowCrit(System.Int32)
IL_006D: stloc.s V_4
IL_006F: ldarg.1
IL_0070: ldarg.0
IL_0071: call TaleWorlds.Core.Monster TaleWorlds.MountAndBlade.Agent::get_Monster()
IL_0076: callvirt System.Int32 TaleWorlds.Core.Monster::get_HitPoints()
IL_007B: call System.Boolean TaleWorlds.MountAndBlade.Blow::IsBlowLow(System.Int32)
IL_0080: stloc.s V_5
IL_0082: ldloc.0
IL_0083: brfalse.s IL_008D
IL_0085: ldloc.0
IL_0086: callvirt System.Boolean TaleWorlds.MountAndBlade.Agent::get_IsHuman()
IL_008B: br.s IL_008E
IL_008D: ldc.i4.1
IL_008E: stloc.s V_6
IL_0090: ldarg.1
IL_0091: ldfld TaleWorlds.MountAndBlade.BlowFlags TaleWorlds.MountAndBlade.Blow::BlowFlag
IL_0096: ldc.i4 1024
IL_009B: call System.Boolean TaleWorlds.Library.Extensions::HasAnyFlag<TaleWorlds.MountAndBlade.BlowFlags>(!!0, !!0)
IL_00A0: stloc.s V_7
IL_00A2: ldarg.1
IL_00A3: ldflda TaleWorlds.MountAndBlade.BlowWeaponRecord TaleWorlds.MountAndBlade.Blow::WeaponRecord
IL_00A8: ldloc.s V_6
IL_00AA: ldloc.s V_4
IL_00AC: ldloc.s V_5
IL_00AE: ldloc.s V_7
IL_00B0: ldarg.1
IL_00B1: ldfld TaleWorlds.Core.AgentAttackType TaleWorlds.MountAndBlade.Blow::AttackType
IL_00B6: ldarg.1
IL_00B7: ldfld TaleWorlds.Core.DamageTypes TaleWorlds.MountAndBlade.Blow::DamageType
IL_00BC: call System.Int32 TaleWorlds.MountAndBlade.BlowWeaponRecord::GetHitSound(System.Boolean, System.Boolean, System.Boolean, System.Boolean, TaleWorlds.Core.AgentAttackType, TaleWorlds.Core.DamageTypes)
IL_00C1: stloc.s V_8
IL_00C3: ldarg.0
IL_00C4: ldarg.1
IL_00C5: ldfld System.SByte TaleWorlds.MountAndBlade.Blow::BoneIndex
IL_00CA: call TaleWorlds.Core.ArmorComponent+ArmorMaterialTypes TaleWorlds.MountAndBlade.Agent::GetProtectorArmorMaterialOfBone(System.SByte)
IL_00CF: call System.Single TaleWorlds.MountAndBlade.Agent::GetSoundParameterForArmorType(TaleWorlds.Core.ArmorComponent+ArmorMaterialTypes)
IL_00D4: stloc.s V_9
IL_00D6: ldloca.s V_10
IL_00D8: ldstr "Armor Type"
IL_00DD: ldloc.s V_9
IL_00DF: call System.Void TaleWorlds.Engine.SoundEventParameter::.ctor(System.String, System.Single)
IL_00E4: ldarg.0
IL_00E5: call TaleWorlds.MountAndBlade.Mission TaleWorlds.MountAndBlade.Agent::get_Mission()
IL_00EA: ldloc.s V_8
IL_00EC: ldarg.1
IL_00ED: ldfld TaleWorlds.Library.Vec3 TaleWorlds.MountAndBlade.Blow::GlobalPosition
IL_00F2: ldc.i4.0
IL_00F3: ldc.i4.1
IL_00F4: ldarg.1
IL_00F5: ldfld System.Int32 TaleWorlds.MountAndBlade.Blow::OwnerId
IL_00FA: ldarg.0
IL_00FB: call System.Int32 TaleWorlds.MountAndBlade.Agent::get_Index()
IL_0100: ldloca.s V_10
IL_0102: callvirt System.Void TaleWorlds.MountAndBlade.Mission::MakeSound(System.Int32, TaleWorlds.Library.Vec3, System.Boolean, System.Boolean, System.Int32, System.Int32, TaleWorlds.Engine.SoundEventParameter&)
IL_0107: ldarg.1
IL_0108: call System.Boolean TaleWorlds.MountAndBlade.Blow::get_IsMissile()
IL_010D: brfalse.s IL_0132
IL_010F: ldloc.0
IL_0110: brfalse.s IL_0132
IL_0112: call System.Int32 TaleWorlds.MountAndBlade.CombatSoundContainer::get_SoundCodeMissionCombatPlayerhit()
IL_0117: stloc.s V_11
IL_0119: ldarg.0
IL_011A: call TaleWorlds.MountAndBlade.Mission TaleWorlds.MountAndBlade.Agent::get_Mission()
IL_011F: ldloc.s V_11
IL_0121: ldarg.1
IL_0122: ldfld TaleWorlds.Library.Vec3 TaleWorlds.MountAndBlade.Blow::GlobalPosition
IL_0127: ldloc.0
IL_0128: callvirt System.Int32 TaleWorlds.MountAndBlade.Agent::get_Index()
IL_012D: callvirt System.Void TaleWorlds.MountAndBlade.Mission::MakeSoundOnlyOnRelatedPeer(System.Int32, TaleWorlds.Library.Vec3, System.Int32)
IL_0132: ldarg.0
IL_0133: call TaleWorlds.MountAndBlade.Mission TaleWorlds.MountAndBlade.Agent::get_Mission()
IL_0138: ldarg.1
IL_0139: ldfld System.Int32 TaleWorlds.MountAndBlade.Blow::OwnerId
IL_013E: ldarg.1
IL_013F: ldfld TaleWorlds.Library.Vec3 TaleWorlds.MountAndBlade.Blow::GlobalPosition
IL_0144: ldc.r4 15
IL_0149: callvirt System.Void TaleWorlds.MountAndBlade.Mission::AddSoundAlarmFactorToAgents(System.Int32, TaleWorlds.Library.Vec3, System.Single)
IL_014E: ldarg.1
IL_014F: ldfld System.Int32 TaleWorlds.MountAndBlade.Blow::InflictedDamage
IL_0154: ldc.i4.0
IL_0155: bgt.s IL_0158
IL_0157: ret
IL_0158: ldarg.0
IL_0159: ldloc.0
IL_015A: ldarg.1
IL_015B: call System.Boolean TaleWorlds.MountAndBlade.Blow::get_IsMissile()
IL_0160: call System.Void TaleWorlds.MountAndBlade.Agent::UpdateLastAttackAndHitTimes(TaleWorlds.MountAndBlade.Agent, System.Boolean)
IL_0165: ldarg.0
IL_0166: call System.Single TaleWorlds.MountAndBlade.Agent::get_Health()
IL_016B: stloc.1
IL_016C: ldarg.1
IL_016D: ldfld System.Int32 TaleWorlds.MountAndBlade.Blow::InflictedDamage
IL_0172: conv.r4
IL_0173: ldloc.1
IL_0174: bgt.s IL_017F
IL_0176: ldarg.1
IL_0177: ldfld System.Int32 TaleWorlds.MountAndBlade.Blow::InflictedDamage
IL_017C: conv.r4
IL_017D: br.s IL_0180
IL_017F: ldloc.1
IL_0180: stloc.2
IL_0181: ldloc.1
IL_0182: ldloc.2
IL_0183: sub
IL_0184: stloc.3
IL_0185: ldloc.3
IL_0186: ldc.r4 0
IL_018B: bge.un.s IL_0193
IL_018D: ldc.r4 0
IL_0192: stloc.3
IL_0193: ldarg.0
IL_0194: call TaleWorlds.MountAndBlade.Agent+MortalityState TaleWorlds.MountAndBlade.Agent::get_CurrentMortalityState()
IL_0199: ldc.i4.2
IL_019A: beq.s IL_01B0
IL_019C: ldarg.0
IL_019D: call TaleWorlds.MountAndBlade.Mission TaleWorlds.MountAndBlade.Agent::get_Mission()
IL_01A2: ldfld System.Boolean TaleWorlds.MountAndBlade.Mission::DisableDying
IL_01A7: brtrue.s IL_01B0
IL_01A9: ldarg.0
IL_01AA: ldloc.3
IL_01AB: call System.Void TaleWorlds.MountAndBlade.Agent::set_Health(System.Single)
IL_01B0: ldloc.0
IL_01B1: brfalse.s IL_020C
IL_01B3: ldloc.0
IL_01B4: ldarg.0
IL_01B5: beq.s IL_020C
IL_01B7: ldarg.0
IL_01B8: call System.Boolean TaleWorlds.MountAndBlade.Agent::get_IsHuman()
IL_01BD: brfalse.s IL_020C
IL_01BF: ldloc.0
IL_01C0: callvirt System.Boolean TaleWorlds.MountAndBlade.Agent::get_IsMount()
IL_01C5: brfalse.s IL_01ED
IL_01C7: ldloc.0
IL_01C8: callvirt TaleWorlds.MountAndBlade.Agent TaleWorlds.MountAndBlade.Agent::get_RiderAgent()
IL_01CD: brfalse.s IL_01ED
IL_01CF: ldarg.0
IL_01D0: ldflda TaleWorlds.MountAndBlade.Agent+AgentLastHitInfo TaleWorlds.MountAndBlade.Agent::_lastHitInfo
IL_01D5: ldloc.0
IL_01D6: callvirt TaleWorlds.MountAndBlade.Agent TaleWorlds.MountAndBlade.Agent::get_RiderAgent()
IL_01DB: callvirt System.Int32 TaleWorlds.MountAndBlade.Agent::get_Index()
IL_01E0: ldarg.1
IL_01E1: ldfld TaleWorlds.Core.AgentAttackType TaleWorlds.MountAndBlade.Blow::AttackType
IL_01E6: call System.Void TaleWorlds.MountAndBlade.Agent+AgentLastHitInfo::RegisterLastBlow(System.Int32, TaleWorlds.Core.AgentAttackType)
IL_01EB: br.s IL_020C
IL_01ED: ldloc.0
IL_01EE: callvirt System.Boolean TaleWorlds.MountAndBlade.Agent::get_IsHuman()
IL_01F3: brfalse.s IL_020C
IL_01F5: ldarg.0
IL_01F6: ldflda TaleWorlds.MountAndBlade.Agent+AgentLastHitInfo TaleWorlds.MountAndBlade.Agent::_lastHitInfo
IL_01FB: ldarg.1
IL_01FC: ldfld System.Int32 TaleWorlds.MountAndBlade.Blow::OwnerId
IL_0201: ldarg.1
IL_0202: ldfld TaleWorlds.Core.AgentAttackType TaleWorlds.MountAndBlade.Blow::AttackType
IL_0207: call System.Void TaleWorlds.MountAndBlade.Agent+AgentLastHitInfo::RegisterLastBlow(System.Int32, TaleWorlds.Core.AgentAttackType)
IL_020C: ldarg.0
IL_020D: call TaleWorlds.MountAndBlade.Mission TaleWorlds.MountAndBlade.Agent::get_Mission()
IL_0212: ldarg.0
IL_0213: ldloc.0
IL_0214: ldarg.1
IL_0215: ldarg.2
IL_0216: ldc.i4.0
IL_0217: ldloc.2
IL_0218: callvirt System.Single TaleWorlds.MountAndBlade.Mission::OnAgentHit(TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.Blow&, TaleWorlds.MountAndBlade.AttackCollisionData&, System.Boolean, System.Single)
IL_021D: pop
IL_021E: ldarg.0
IL_021F: call System.Single TaleWorlds.MountAndBlade.Agent::get_Health()
IL_0224: ldc.r4 1
IL_0229: bge.un.s IL_0248
IL_022B: ldarg.1
IL_022C: ldfld System.Boolean TaleWorlds.MountAndBlade.Blow::IsFallDamage
IL_0231: brtrue.s IL_0236
IL_0233: ldc.i4.m1
IL_0234: br.s IL_0238
IL_0236: ldc.i4.s 21
IL_0238: stloc.s V_12
IL_023A: ldarg.0
IL_023B: ldarg.1
IL_023C: ldobj TaleWorlds.MountAndBlade.Blow
IL_0241: ldloc.s V_12
IL_0243: call System.Void TaleWorlds.MountAndBlade.Agent::Die(TaleWorlds.MountAndBlade.Blow, TaleWorlds.MountAndBlade.Agent+KillInfo)
IL_0248: ldarg.0
IL_0249: ldarg.1
IL_024A: call System.Void TaleWorlds.MountAndBlade.Agent::HandleBlowAux(TaleWorlds.MountAndBlade.Blow&)
IL_024F: ret
0000 push rbp
0001 push r15
0003 push r14
0005 push r13
0007 push r12
0009 push rdi
000A push rsi
000B push rbx
000C sub rsp,198h
0013 vzeroupper
0016 lea rbp,[rsp+1D0h]
001E xor eax,eax
0020 mov [rbp-0B0h],rax
0027 mov [rbp-0A8h],rax
002E mov rsi,rcx
0031 mov rdi,rdx
0034 mov rbx,r8
0037 vmovss xmm0,[rdi+90h]
0040 vmovss xmm1,[rel 588h]
0049 vucomiss xmm1,xmm0
004E ja short 000000000000005Bh
0050 vmovss xmm0,[rel 58Ch]
0059 jmp short 000000000000005Bh
005B vmovss [rdi+90h],xmm0
0064 vxorps xmm0,xmm0,xmm0
0069 vcvtsi2ss xmm0,xmm0,dword [rdi+88h]
0072 vdivss xmm0,xmm0,[rsi+1B8h]
007B vmovss [rdi+0C0h],xmm0
0084 cmp dword [rdi+0B0h],0FFFFFFFFh
008B jne short 0000000000000092h
008D xor r14d,r14d
0090 jmp short 00000000000000A9h
0092 mov rcx,[rsi+0F0h]
0099 mov edx,[rdi+0B0h]
009F mov eax,[rcx]
00A1 call 0FFFFFFFFFCC7B268h
00A6 mov r14,rax
00A9 mov ecx,[rdi+0ACh]
00AF mov edx,40h
00B4 call 0FFFFFFFFFFFF70A0h
00B9 test al,al
00BB jne near 000000000000033Ah
00C1 mov rdx,[rsi+0D0h]
00C8 mov edx,[rdx+0A4h]
00CE shl edx,2
00D1 mov rcx,rdi
00D4 call 0FFFFFFFFFCC7BF78h
00D9 movzx r15d,al
00DD mov rdx,[rsi+0D0h]
00E4 mov edx,[rdx+0A4h]
00EA mov rcx,rdi
00ED call 0FFFFFFFFFCC7BF80h
00F2 movzx r12d,al
00F6 test r14,r14
00F9 je short 0000000000000110h
00FB mov rcx,[r14+140h]
0102 test dword [rcx],800h
0108 setne cl
010B movzx ecx,cl
010E jmp short 0000000000000115h
0110 mov ecx,1
0115 movzx r13d,cl
0119 mov ecx,[rdi+0ACh]
011F mov edx,400h
0124 call 0FFFFFFFFFFFF70A0h
0129 movzx ecx,al
012C mov [rsp+20h],ecx
0130 mov ecx,[rdi+0A8h]
0136 mov [rsp+28h],ecx
013A mov ecx,[rdi+0B8h]
0140 mov [rsp+30h],ecx
0144 mov rcx,rdi
0147 mov edx,r13d
014A mov r8d,r15d
014D mov r9d,r12d
0150 call 0FFFFFFFFFCC7BF58h
0155 mov r15d,eax
0158 movsx rdx,byte [rdi+0B4h]
0160 mov rcx,rsi
0163 call 0FFFFFFFFFCC6FB98h
0168 movsx rcx,al
016C vxorps xmm0,xmm0,xmm0
0171 vcvtsi2ss xmm0,xmm0,ecx
0176 vmulss xmm0,xmm0,[rel 590h]
017F mov rcx,26A9E41FA48h
0189 mov rcx,[rcx]
018C mov rdx,[rsi+0F0h]
0193 lea r8,[rdi+58h]
0197 vmovdqu xmm1,[r8]
019C vmovdqu [rbp-50h],xmm1
01A2 mov r8d,[rdi+0B0h]
01A9 vmovdqu xmm1,[rbp-50h]
01AF vmovdqu [rbp-70h],xmm1
01B5 mov r11d,[rsi+198h]
01BC mov r9d,[rdx]
01BF mov r9,26AA054E200h
01C9 mov r9,[r9]
01CC mov rdx,[rdx+1A8h]
01D3 mov eax,r15d
01D6 vmovdqu xmm1,[rbp-70h]
01DC vmovdqu [rbp-0A0h],xmm1
01E5 xor r10d,r10d
01E8 mov [rsp+20h],r10d
01ED mov dword [rsp+28h],1
01F5 lea r10,[rbp-0B0h]
01FC mov [r10],rcx
01FF vmovss [r10+8],xmm0
0205 mov rcx,r9
0208 mov [rsp+30h],r8d
020D mov r8d,eax
0210 lea r9,[rbp-0A0h]
0217 mov [rsp+38h],r11d
021C lea r11,[rbp-0B0h]
0223 mov [rsp+40h],r11
0228 mov r11,7FF8C89FE338h
0232 cmp [rcx],ecx
0234 call qword [rel 0FFFFFFFFFF3023A8h]
023A cmp byte [rdi+50h],0
023E je near 00000000000002C3h
0244 test r14,r14
0247 je short 00000000000002C3h
0249 call 0FFFFFFFFFCC7C468h
024E mov rcx,[rsi+0F0h]
0255 lea rdx,[rdi+58h]
0259 vmovdqu xmm0,[rdx]
025E vmovdqu [rbp-60h],xmm0
0264 vmovdqu xmm0,[rbp-60h]
026A vmovdqu [rbp-80h],xmm0
0270 mov edx,[r14+198h]
0277 mov r8d,[rcx]
027A mov r8,26AA054E200h
0284 mov r8,[r8]
0287 mov r9,[rcx+1A8h]
028E vmovdqu xmm0,[rbp-80h]
0294 vmovdqu [rbp-0A0h],xmm0
029D mov [rsp+20h],edx
02A1 mov rcx,r8
02A4 mov rdx,r9
02A7 mov r8d,eax
02AA lea r9,[rbp-0A0h]
02B1 mov r11,7FF8C89FE340h
02BB cmp [rcx],ecx
02BD call qword [rel 0FFFFFFFFFF3023B0h]
02C3 mov rcx,[rsi+0F0h]
02CA mov r8d,[rdi+0B0h]
02D1 lea rdx,[rdi+58h]
02D5 vmovdqu xmm0,[rdx]
02DA vmovdqu [rbp-90h],xmm0
02E3 mov edx,[rcx]
02E5 mov rdx,26AA054E200h
02EF mov rdx,[rdx]
02F2 mov r9,[rcx+1A8h]
02F9 vmovdqu xmm0,[rbp-90h]
0302 vmovdqu [rbp-0A0h],xmm0
030B vmovss xmm0,[rel 594h]
0314 vmovss [rsp+20h],xmm0
031B mov rcx,rdx
031E mov rdx,r9
0321 lea r9,[rbp-0A0h]
0328 mov r11,7FF8C89FE348h
0332 cmp [rcx],ecx
0334 call qword [rel 0FFFFFFFFFF3023B8h]
033A cmp dword [rdi+88h],0
0341 jg short 0000000000000354h
0343 lea rsp,[rbp-38h]
0347 pop rbx
0348 pop rsi
0349 pop rdi
034A pop r12
034C pop r13
034E pop r14
0350 pop r15
0352 pop rbp
0353 ret
0354 movzx r8d,byte [rdi+50h]
0359 mov rcx,rsi
035C mov rdx,r14
035F call 0FFFFFFFFFCC6FB50h
0364 vmovss xmm1,[rsi+170h]
036D vxorps xmm0,xmm0,xmm0
0372 vcvtsi2ss xmm0,xmm0,dword [rdi+88h]
037B vucomiss xmm0,xmm1
0380 ja short 0000000000000384h
0382 jmp short 0000000000000389h
0384 vmovaps xmm0,xmm1
0389 vmovss [rbp-3Ch],xmm0
038F vsubss xmm1,xmm1,xmm0
0394 vxorps xmm2,xmm2,xmm2
0399 vucomiss xmm2,xmm1
039E jbe short 00000000000003A5h
03A0 vxorps xmm1,xmm1,xmm1
03A5 cmp dword [rsi+19Ch],2
03AC je short 00000000000003C6h
03AE mov rcx,[rsi+0F0h]
03B5 cmp byte [rcx+1F1h],0
03BC jne short 00000000000003C6h
03BE mov rcx,rsi
03C1 call 0FFFFFFFFFFCFC410h
03C6 test r14,r14
03C9 je near 00000000000004C7h
03CF cmp r14,rsi
03D2 je near 00000000000004C7h
03D8 mov rcx,[rsi+140h]
03DF test dword [rcx],800h
03E5 je near 00000000000004C7h
03EB mov rcx,[r14+140h]
03F2 test byte [rcx],1
03F5 je short 000000000000045Eh
03F7 cmp qword [r14+68h],0
03FC je short 000000000000045Eh
03FE lea r15,[rsi+208h]
0405 mov rcx,[r14+68h]
0409 mov r12d,[rcx+198h]
0410 mov r13d,[rdi+0A8h]
0417 mov rax,[r15]
041A mov [rbp-180h],rax
0421 mov ecx,[rax]
0423 mov rcx,26AA054E258h
042D mov rcx,[rcx]
0430 mov r11,7FF8C89FE350h
043A mov edx,1
043F cmp [rcx],ecx
0441 call qword [rel 0FFFFFFFFFF3023C0h]
0447 mov rcx,[rbp-180h]
044E vmovss [rcx+8],xmm0
0454 mov [r15+8],r12d
0458 mov [r15+0Ch],r13d
045C jmp short 00000000000004C7h
045E mov rcx,[r14+140h]
0465 test dword [rcx],800h
046B je short 00000000000004C7h
046D lea r15,[rsi+208h]
0474 mov r12d,[rdi+0B0h]
047B mov r13d,[rdi+0A8h]
0482 mov rax,[r15]
0485 mov [rbp-188h],rax
048C mov ecx,[rax]
048E mov rcx,26AA054E258h
0498 mov rcx,[rcx]
049B mov r11,7FF8C89FE358h
04A5 mov edx,1
04AA cmp [rcx],ecx
04AC call qword [rel 0FFFFFFFFFF3023C8h]
04B2 mov rcx,[rbp-188h]
04B9 vmovss [rcx+8],xmm0
04BF mov [r15+8],r12d
04C3 mov [r15+0Ch],r13d
04C7 mov [rsp+20h],rbx
04CC xor ecx,ecx
04CE mov [rsp+28h],ecx
04D2 vmovss xmm0,[rbp-3Ch]
04D8 vmovss [rsp+30h],xmm0
04DF mov rcx,[rsi+0F0h]
04E6 mov rdx,rsi
04E9 mov r8,r14
04EC mov r9,rdi
04EF cmp [rcx],ecx
04F1 call 0FFFFFFFFFCC7A548h
04F6 vmovss xmm0,[rel 598h]
04FF vucomiss xmm0,[rsi+170h]
0508 jbe short 000000000000054Ah
050A cmp byte [rdi+0BEh],0
0511 jne short 000000000000051Ah
0513 mov edx,0FFFFFFFFh
0518 jmp short 000000000000051Fh
051A mov edx,15h
051F movsx rbx,dl
0523 lea rcx,[rbp-178h]
052A mov rdx,rdi
052D mov r8d,0C8h
0533 call 000000005BD92FB0h
0538 mov rcx,rsi
053B lea rdx,[rbp-178h]
0542 mov r8d,ebx
0545 call 0FFFFFFFFFCC700D8h
054A mov rdx,26AA054E1D0h
0554 mov rcx,[rdx]
0557 (bad)
IL_0000: ldarga.s TaleWorlds.MountAndBlade.Blow b
IL_0002: ldarg.s TaleWorlds.MountAndBlade.AttackCollisionData& collisionData
IL_0004: call TaleWorlds.MountAndBlade.BoneBodyPartType TaleWorlds.MountAndBlade.AttackCollisionData::get_VictimHitBodyPart()
IL_0009: stfld TaleWorlds.MountAndBlade.BoneBodyPartType TaleWorlds.MountAndBlade.Blow::VictimBodyPart
IL_000E: ldarg.s TaleWorlds.MountAndBlade.AttackCollisionData& collisionData
IL_0010: call System.Boolean TaleWorlds.MountAndBlade.AttackCollisionData::get_AttackBlockedWithShield()
IL_0015: brtrue IL_0187
IL_001A: ldarg.s TaleWorlds.MountAndBlade.AttackCollisionData& collisionData
IL_001C: call System.Boolean TaleWorlds.MountAndBlade.AttackCollisionData::get_IsColliderAgent()
IL_0021: brfalse IL_00DA
IL_0026: ldarg.s TaleWorlds.MountAndBlade.Blow b
IL_0028: ldfld System.Int32 TaleWorlds.MountAndBlade.Blow::SelfInflictedDamage
IL_002D: ldc.i4.0
IL_002E: ble.s IL_007B
IL_0030: ldarg.1
IL_0031: brfalse.s IL_007B
IL_0033: ldarg.1
IL_0034: callvirt System.Boolean TaleWorlds.MountAndBlade.Agent::IsActive()
IL_0039: brfalse.s IL_007B
IL_003B: ldarg.1
IL_003C: ldarg.2
IL_003D: callvirt System.Boolean TaleWorlds.MountAndBlade.Agent::IsFriendOf(TaleWorlds.MountAndBlade.Agent)
IL_0042: brfalse.s IL_007B
IL_0044: ldarg.1
IL_0045: ldarga.s TaleWorlds.MountAndBlade.Blow b
IL_0047: ldarg.s TaleWorlds.MountAndBlade.AttackCollisionData& collisionData
IL_0049: ldloca.s V_0
IL_004B: ldloca.s V_1
IL_004D: callvirt System.Void TaleWorlds.MountAndBlade.Agent::CreateBlowFromBlowAsReflection(TaleWorlds.MountAndBlade.Blow&, TaleWorlds.MountAndBlade.AttackCollisionData&, TaleWorlds.MountAndBlade.Blow&, TaleWorlds.MountAndBlade.AttackCollisionData&)
IL_0052: ldarg.2
IL_0053: callvirt System.Boolean TaleWorlds.MountAndBlade.Agent::get_IsMount()
IL_0058: brfalse.s IL_0072
IL_005A: ldarg.1
IL_005B: callvirt TaleWorlds.MountAndBlade.Agent TaleWorlds.MountAndBlade.Agent::get_MountAgent()
IL_0060: brfalse.s IL_0072
IL_0062: ldarg.1
IL_0063: callvirt TaleWorlds.MountAndBlade.Agent TaleWorlds.MountAndBlade.Agent::get_MountAgent()
IL_0068: ldloc.0
IL_0069: ldloca.s V_1
IL_006B: callvirt System.Void TaleWorlds.MountAndBlade.Agent::RegisterBlow(TaleWorlds.MountAndBlade.Blow, TaleWorlds.MountAndBlade.AttackCollisionData&)
IL_0070: br.s IL_007B
IL_0072: ldarg.1
IL_0073: ldloc.0
IL_0074: ldloca.s V_1
IL_0076: callvirt System.Void TaleWorlds.MountAndBlade.Agent::RegisterBlow(TaleWorlds.MountAndBlade.Blow, TaleWorlds.MountAndBlade.AttackCollisionData&)
IL_007B: ldarg.s TaleWorlds.MountAndBlade.Blow b
IL_007D: ldfld System.Int32 TaleWorlds.MountAndBlade.Blow::InflictedDamage
IL_0082: ldc.i4.0
IL_0083: ble.s IL_00CB
IL_0085: ldarg.s TaleWorlds.MountAndBlade.CombatLogData& combatLogData
IL_0087: ldarg.2
IL_0088: brfalse.s IL_00A2
IL_008A: ldarg.2
IL_008B: callvirt System.Single TaleWorlds.MountAndBlade.Agent::get_Health()
IL_0090: ldarg.s TaleWorlds.MountAndBlade.Blow b
IL_0092: ldfld System.Int32 TaleWorlds.MountAndBlade.Blow::InflictedDamage
IL_0097: conv.r4
IL_0098: sub
IL_0099: ldc.r4 1
IL_009E: clt
IL_00A0: br.s IL_00A3
IL_00A2: ldc.i4.0
IL_00A3: stfld System.Boolean TaleWorlds.MountAndBlade.CombatLogData::IsFatalDamage
IL_00A8: ldarg.s TaleWorlds.MountAndBlade.CombatLogData& combatLogData
IL_00AA: ldarg.s TaleWorlds.MountAndBlade.Blow b
IL_00AC: ldfld System.Int32 TaleWorlds.MountAndBlade.Blow::InflictedDamage
IL_00B1: ldarg.s TaleWorlds.MountAndBlade.CombatLogData& combatLogData
IL_00B3: ldfld System.Int32 TaleWorlds.MountAndBlade.CombatLogData::ModifiedDamage
IL_00B8: sub
IL_00B9: stfld System.Int32 TaleWorlds.MountAndBlade.CombatLogData::InflictedDamage
IL_00BE: ldarg.0
IL_00BF: ldarg.1
IL_00C0: ldarg.2
IL_00C1: ldarg.3
IL_00C2: ldarg.s TaleWorlds.MountAndBlade.AttackCollisionData& collisionData
IL_00C4: ldarg.s TaleWorlds.MountAndBlade.CombatLogData& combatLogData
IL_00C6: call System.Void TaleWorlds.MountAndBlade.Mission::PrintAttackCollisionResults(TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.Agent, TaleWorlds.Engine.GameEntity, TaleWorlds.MountAndBlade.AttackCollisionData&, TaleWorlds.MountAndBlade.CombatLogData&)
IL_00CB: ldarg.2
IL_00CC: ldarg.s TaleWorlds.MountAndBlade.Blow b
IL_00CE: ldarg.s TaleWorlds.MountAndBlade.AttackCollisionData& collisionData
IL_00D0: callvirt System.Void TaleWorlds.MountAndBlade.Agent::RegisterBlow(TaleWorlds.MountAndBlade.Blow, TaleWorlds.MountAndBlade.AttackCollisionData&)
IL_00D5: br IL_0187
IL_00DA: ldarg.s TaleWorlds.MountAndBlade.AttackCollisionData& collisionData
IL_00DC: call System.Boolean TaleWorlds.MountAndBlade.AttackCollisionData::get_EntityExists()
IL_00E1: brfalse IL_0187
IL_00E6: ldarga.s TaleWorlds.MountAndBlade.Blow b
IL_00E8: call System.Boolean TaleWorlds.MountAndBlade.Blow::get_IsMissile()
IL_00ED: brtrue.s IL_0120
IL_00EF: ldarg.1
IL_00F0: brfalse.s IL_0100
IL_00F2: ldarga.s TaleWorlds.MountAndBlade.Blow b
IL_00F4: ldflda TaleWorlds.MountAndBlade.BlowWeaponRecord TaleWorlds.MountAndBlade.Blow::WeaponRecord
IL_00F9: call System.Boolean TaleWorlds.MountAndBlade.BlowWeaponRecord::HasWeapon()
IL_00FE: brtrue.s IL_0107
IL_0100: ldsfld TaleWorlds.MountAndBlade.MissionWeapon TaleWorlds.MountAndBlade.MissionWeapon::Invalid
IL_0105: br.s IL_013C
IL_0107: ldarg.1
IL_0108: callvirt TaleWorlds.MountAndBlade.MissionEquipment TaleWorlds.MountAndBlade.Agent::get_Equipment()
IL_010D: ldarg.s TaleWorlds.MountAndBlade.Blow b
IL_010F: ldfld TaleWorlds.MountAndBlade.BlowWeaponRecord TaleWorlds.MountAndBlade.Blow::WeaponRecord
IL_0114: ldfld System.Int32 TaleWorlds.MountAndBlade.BlowWeaponRecord::AffectorWeaponSlotOrMissileIndex
IL_0119: callvirt TaleWorlds.MountAndBlade.MissionWeapon TaleWorlds.MountAndBlade.MissionEquipment::get_Item(System.Int32)
IL_011E: br.s IL_013C
IL_0120: ldarg.0
IL_0121: ldfld System.Collections.Generic.Dictionary`2<System.Int32, TaleWorlds.MountAndBlade.Mission+Missile> TaleWorlds.MountAndBlade.Mission::_missiles
IL_0126: ldarg.s TaleWorlds.MountAndBlade.Blow b
IL_0128: ldfld TaleWorlds.MountAndBlade.BlowWeaponRecord TaleWorlds.MountAndBlade.Blow::WeaponRecord
IL_012D: ldfld System.Int32 TaleWorlds.MountAndBlade.BlowWeaponRecord::AffectorWeaponSlotOrMissileIndex
IL_0132: callvirt !1 System.Collections.Generic.Dictionary`2<System.Int32, TaleWorlds.MountAndBlade.Mission+Missile>::get_Item(!0)
IL_0137: callvirt TaleWorlds.MountAndBlade.MissionWeapon TaleWorlds.MountAndBlade.Mission+Missile::get_Weapon()
IL_013C: stloc.2
IL_013D: ldarg.0
IL_013E: ldarg.3
IL_013F: ldarg.1
IL_0140: ldarg.s TaleWorlds.MountAndBlade.Blow b
IL_0142: ldfld System.Int32 TaleWorlds.MountAndBlade.Blow::InflictedDamage
IL_0147: ldarg.s TaleWorlds.MountAndBlade.AttackCollisionData& collisionData
IL_0149: call System.Int32 TaleWorlds.MountAndBlade.AttackCollisionData::get_DamageType()
IL_014E: ldarg.s TaleWorlds.MountAndBlade.Blow b
IL_0150: ldfld TaleWorlds.Library.Vec3 TaleWorlds.MountAndBlade.Blow::GlobalPosition
IL_0155: ldarg.s TaleWorlds.MountAndBlade.Blow b
IL_0157: ldfld TaleWorlds.Library.Vec3 TaleWorlds.MountAndBlade.Blow::SwingDirection
IL_015C: ldloca.s V_2
IL_015E: call System.Void TaleWorlds.MountAndBlade.Mission::OnEntityHit(TaleWorlds.Engine.GameEntity, TaleWorlds.MountAndBlade.Agent, System.Int32, TaleWorlds.Core.DamageTypes, TaleWorlds.Library.Vec3, TaleWorlds.Library.Vec3, TaleWorlds.MountAndBlade.MissionWeapon&)
IL_0163: ldarg.1
IL_0164: brfalse.s IL_0187
IL_0166: ldarg.s TaleWorlds.MountAndBlade.Blow b
IL_0168: ldfld System.Int32 TaleWorlds.MountAndBlade.Blow::SelfInflictedDamage
IL_016D: ldc.i4.0
IL_016E: ble.s IL_0187
IL_0170: ldarg.1
IL_0171: ldarga.s TaleWorlds.MountAndBlade.Blow b
IL_0173: ldarg.s TaleWorlds.MountAndBlade.AttackCollisionData& collisionData
IL_0175: ldloca.s V_3
IL_0177: ldloca.s V_4
IL_0179: callvirt System.Void TaleWorlds.MountAndBlade.Agent::CreateBlowFromBlowAsReflection(TaleWorlds.MountAndBlade.Blow&, TaleWorlds.MountAndBlade.AttackCollisionData&, TaleWorlds.MountAndBlade.Blow&, TaleWorlds.MountAndBlade.AttackCollisionData&)
IL_017E: ldarg.1
IL_017F: ldloc.3
IL_0180: ldloca.s V_4
IL_0182: callvirt System.Void TaleWorlds.MountAndBlade.Agent::RegisterBlow(TaleWorlds.MountAndBlade.Blow, TaleWorlds.MountAndBlade.AttackCollisionData&)
IL_0187: ldarg.0
IL_0188: call System.Collections.Generic.List`1<TaleWorlds.MountAndBlade.MissionBehavior> TaleWorlds.MountAndBlade.Mission::get_MissionBehaviors()
IL_018D: callvirt System.Collections.Generic.List`1+Enumerator<!0> System.Collections.Generic.List`1<TaleWorlds.MountAndBlade.MissionBehavior>::GetEnumerator()
IL_0192: stloc.s V_5
IL_0194: br.s IL_01AB
IL_0196: ldloca.s V_5
IL_0198: call !0 System.Collections.Generic.List`1+Enumerator<TaleWorlds.MountAndBlade.MissionBehavior>::get_Current()
IL_019D: ldarg.1
IL_019E: ldarg.2
IL_019F: ldarg.3
IL_01A0: ldarg.s TaleWorlds.MountAndBlade.Blow b
IL_01A2: ldarg.s TaleWorlds.MountAndBlade.AttackCollisionData& collisionData
IL_01A4: ldarg.s TaleWorlds.MountAndBlade.MissionWeapon& attackerWeapon
IL_01A6: callvirt System.Void TaleWorlds.MountAndBlade.MissionBehavior::OnRegisterBlow(TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.Agent, TaleWorlds.Engine.GameEntity, TaleWorlds.MountAndBlade.Blow, TaleWorlds.MountAndBlade.AttackCollisionData&, TaleWorlds.MountAndBlade.MissionWeapon& modreq(System.Runtime.InteropServices.InAttribute))
IL_01AB: ldloca.s V_5
IL_01AD: call System.Boolean System.Collections.Generic.List`1+Enumerator<TaleWorlds.MountAndBlade.MissionBehavior>::MoveNext()
IL_01B2: brtrue.s IL_0196
IL_01B4: leave.s IL_01C4
IL_01B6: ldloca.s V_5
IL_01B8: constrained. System.Collections.Generic.List`1+Enumerator<TaleWorlds.MountAndBlade.MissionBehavior>
IL_01BE: callvirt System.Void System.IDisposable::Dispose()
IL_01C3: endfinally
IL_01C4: ret
0000 push rbp
0001 push r15
0003 push r14
0005 push r13
0007 push r12
0009 push rdi
000A push rsi
000B push rbx
000C sub rsp,838h
0013 vzeroupper
0016 lea rbp,[rsp+870h]
001E mov rsi,rcx
0021 lea rdi,[rbp-420h]
0028 mov ecx,0FAh
002D xor eax,eax
002F rep stosd
0031 mov rcx,rsi
0034 mov rsi,rcx
0037 mov r14,rdx
003A mov r15,r8
003D mov r12,r9
0040 mov rbx,[rbp+30h]
0044 mov r13,[rbp+38h]
0048 movsx rcx,byte [r13+1Dh]
004D mov [rbx+0B5h],cl
0053 cmp byte [r13],0
0058 jne near 0000000000000388h
005E cmp byte [r13+3],0
0063 je near 0000000000000200h
0069 cmp dword [rbx+8Ch],0
0070 jle near 0000000000000159h
0076 test r14,r14
0079 je near 0000000000000159h
007F mov rcx,[r14+150h]
0086 cmp dword [rcx],1
0089 jne near 0000000000000159h
008F mov rcx,r14
0092 mov rdx,r15
0095 call 0FFFFFFFFFFFF9CF0h
009A test al,al
009C je near 0000000000000159h
00A2 lea r9,[rbp-1D8h]
00A9 mov [rsp+20h],r9
00AE lea r9,[rbp-100h]
00B5 mov rcx,r14
00B8 mov rdx,rbx
00BB mov r8,r13
00BE call 0FFFFFFFFFCC70C60h
00C3 mov edx,[r15]
00C6 mov rdx,[r15+140h]
00CD test byte [rdx],1
00D0 je short 0000000000000123h
00D2 cmp qword [r14+60h],0
00D7 je short 0000000000000123h
00D9 mov rax,[r14+60h]
00DD mov [rbp-830h],rax
00E4 lea rcx,[rbp-4E8h]
00EB lea rdx,[rbp-100h]
00F2 lea rdx,[rbp-100h]
00F9 mov r8d,0C8h
00FF call 000000005BD93B20h
0104 mov rcx,[rbp-830h]
010B mov r8d,[rcx]
010E lea r8,[rbp-1D8h]
0115 lea rdx,[rbp-4E8h]
011C call 0FFFFFFFFFCC706F8h
0121 jmp short 0000000000000159h
0123 lea rcx,[rbp-5B0h]
012A lea rdx,[rbp-100h]
0131 lea rdx,[rbp-100h]
0138 mov r8d,0C8h
013E call 000000005BD93B20h
0143 lea r8,[rbp-1D8h]
014A lea rdx,[rbp-5B0h]
0151 mov rcx,r14
0154 call 0FFFFFFFFFCC706F8h
0159 cmp dword [rbx+88h],0
0160 jle short 00000000000001D1h
0162 test r15,r15
0165 je short 0000000000000199h
0167 vmovss xmm0,[r15+170h]
0170 vxorps xmm1,xmm1,xmm1
0175 vcvtsi2ss xmm1,xmm1,dword [rbx+88h]
017E vsubss xmm0,xmm0,xmm1
0183 vmovss xmm1,[rel 450h]
018C vucomiss xmm1,xmm0
0191 seta cl
0194 movzx ecx,cl
0197 jmp short 000000000000019Bh
0199 xor ecx,ecx
019B mov rax,[rbp+48h]
019F mov [rax+35h],cl
01A2 mov ecx,[rbx+88h]
01A8 sub ecx,[rax+18h]
01AB mov [rax+10h],ecx
01AE mov [rsp+20h],r13
01B3 mov [rsp+28h],rax
01B8 mov [rbp+10h],rsi
01BC mov rcx,rsi
01BF mov rdx,r14
01C2 mov r8,r15
01C5 mov r9,r12
01C8 call 0FFFFFFFFFCC7B140h
01CD mov rsi,[rbp+10h]
01D1 lea rcx,[rbp-678h]
01D8 mov rdx,rbx
01DB mov r8d,0C8h
01E1 call 000000005BD93B20h
01E6 mov edx,[r15]
01E9 lea rdx,[rbp-678h]
01F0 mov rcx,r15
01F3 mov r8,r13
01F6 call 0FFFFFFFFFCC706F8h
01FB jmp 0000000000000388h
0200 cmp byte [r13+8],0
0205 (bad)
IL_0000: ldarg.0
IL_0001: ldfld System.Collections.Generic.Dictionary`2<System.Int32, TaleWorlds.MountAndBlade.Mission+Missile> TaleWorlds.MountAndBlade.Mission::_missiles
IL_0006: ldarg.2
IL_0007: call System.Int32 TaleWorlds.MountAndBlade.AttackCollisionData::get_AffectorWeaponSlotOrMissileIndex()
IL_000C: callvirt !1 System.Collections.Generic.Dictionary`2<System.Int32, TaleWorlds.MountAndBlade.Mission+Missile>::get_Item(!0)
IL_0011: stloc.0
IL_0012: ldloc.0
IL_0013: callvirt TaleWorlds.MountAndBlade.MissionWeapon TaleWorlds.MountAndBlade.Mission+Missile::get_Weapon()
IL_0018: stloc.1
IL_0019: ldloca.s V_1
IL_001B: call TaleWorlds.Core.WeaponComponentData TaleWorlds.MountAndBlade.MissionWeapon::get_CurrentUsageItem()
IL_0020: ldfld TaleWorlds.Core.WeaponFlags TaleWorlds.Core.WeaponComponentData::WeaponFlags
IL_0025: stloc.2
IL_0026: ldc.r4 1
IL_002B: stloc.3
IL_002C: ldnull
IL_002D: stloc.s V_4
IL_002F: call TaleWorlds.MountAndBlade.MissionGameModels TaleWorlds.MountAndBlade.MissionGameModels::get_Current()
IL_0034: callvirt TaleWorlds.MountAndBlade.ComponentInterfaces.AgentApplyDamageModel TaleWorlds.MountAndBlade.MissionGameModels::get_AgentApplyDamageModel()
IL_0039: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_003B: ldloc.0
IL_003C: callvirt TaleWorlds.MountAndBlade.MissionWeapon TaleWorlds.MountAndBlade.Mission+Missile::get_Weapon()
IL_0041: ldloca.s V_2
IL_0043: callvirt System.Void TaleWorlds.MountAndBlade.ComponentInterfaces.AgentApplyDamageModel::DecideMissileWeaponFlags(TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.MissionWeapon, TaleWorlds.Core.WeaponFlags&)
IL_0048: ldarg.1
IL_0049: ldc.i4.m1
IL_004A: stind.i4
IL_004B: ldc.i4.m1
IL_004C: stloc.s V_6
IL_004E: call System.Boolean TaleWorlds.MountAndBlade.GameNetwork::get_IsSessionActive()
IL_0053: ldc.i4.0
IL_0054: ceq
IL_0056: stloc.s V_8
IL_0058: ldarg.2
IL_0059: call System.Boolean TaleWorlds.MountAndBlade.AttackCollisionData::get_MissileHasPhysics()
IL_005E: stloc.s V_9
IL_0060: ldarg.2
IL_0061: call System.Int32 TaleWorlds.MountAndBlade.AttackCollisionData::get_PhysicsMaterialIndex()
IL_0066: call TaleWorlds.Engine.PhysicsMaterial TaleWorlds.Engine.PhysicsMaterial::GetFromIndex(System.Int32)
IL_006B: stloc.s V_10
IL_006D: ldloca.s V_10
IL_006F: call System.Boolean TaleWorlds.Engine.PhysicsMaterial::get_IsValid()
IL_0074: brtrue.s IL_0079
IL_0076: ldc.i4.0
IL_0077: br.s IL_0080
IL_0079: ldloca.s V_10
IL_007B: call TaleWorlds.Engine.PhysicsMaterialFlags TaleWorlds.Engine.PhysicsMaterial::GetFlags()
IL_0080: ldloc.2
IL_0081: ldc.i8 274877906944
IL_008A: and
IL_008B: ldc.i4.0
IL_008C: conv.i8
IL_008D: cgt.un
IL_008F: stloc.s V_11
IL_0091: dup
IL_0092: ldc.i4.1
IL_0093: and
IL_0094: ldc.i4.0
IL_0095: ceq
IL_0097: stloc.s V_12
IL_0099: ldc.i4.8
IL_009A: and
IL_009B: ldc.i4.0
IL_009C: cgt.un
IL_009E: stloc.s V_13
IL_00A0: ldnull
IL_00A1: stloc.s V_14
IL_00A3: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_00A5: brtrue.s IL_00E5
IL_00A7: ldarg.s TaleWorlds.Engine.GameEntity hitEntity
IL_00A9: ldnull
IL_00AA: call System.Boolean TaleWorlds.DotNet.NativeObject::op_Inequality(TaleWorlds.DotNet.NativeObject, TaleWorlds.DotNet.NativeObject)
IL_00AF: brfalse.s IL_00E5
IL_00B1: ldarg.s TaleWorlds.Engine.GameEntity hitEntity
IL_00B3: stloc.s V_21
IL_00B5: ldloc.s V_21
IL_00B7: callvirt !!0 TaleWorlds.Engine.GameEntity::GetFirstScriptOfType<TaleWorlds.MountAndBlade.MissionObject>()
IL_00BC: stloc.s V_14
IL_00BE: ldloc.s V_21
IL_00C0: callvirt TaleWorlds.Engine.GameEntity TaleWorlds.Engine.GameEntity::get_Parent()
IL_00C5: stloc.s V_21
IL_00C7: ldloc.s V_14
IL_00C9: brtrue.s IL_00D5
IL_00CB: ldloc.s V_21
IL_00CD: ldnull
IL_00CE: call System.Boolean TaleWorlds.DotNet.NativeObject::op_Inequality(TaleWorlds.DotNet.NativeObject, TaleWorlds.DotNet.NativeObject)
IL_00D3: brtrue.s IL_00B5
IL_00D5: ldloc.s V_14
IL_00D7: brtrue.s IL_00DC
IL_00D9: ldnull
IL_00DA: br.s IL_00E3
IL_00DC: ldloc.s V_14
IL_00DE: call TaleWorlds.Engine.GameEntity TaleWorlds.Engine.ScriptComponentBehavior::get_GameEntity()
IL_00E3: starg.s TaleWorlds.Engine.GameEntity hitEntity
IL_00E5: ldloc.s V_13
IL_00E7: brfalse.s IL_00EE
IL_00E9: ldc.i4.1
IL_00EA: stloc.s V_7
IL_00EC: br.s IL_0111
IL_00EE: ldloc.2
IL_00EF: ldc.i4 32768
IL_00F4: conv.i8
IL_00F5: call System.Boolean TaleWorlds.Library.Extensions::HasAnyFlag<TaleWorlds.Core.WeaponFlags>(!!0, !!0)
IL_00FA: brfalse.s IL_0101
IL_00FC: ldc.i4.3
IL_00FD: stloc.s V_7
IL_00FF: br.s IL_0111
IL_0101: ldloc.s V_12
IL_0103: brfalse.s IL_0109
IL_0105: ldloc.s V_11
IL_0107: brtrue.s IL_010E
IL_0109: ldc.i4.2
IL_010A: stloc.s V_7
IL_010C: br.s IL_0111
IL_010E: ldc.i4.0
IL_010F: stloc.s V_7
IL_0111: ldc.i4.0
IL_0112: stloc.s V_15
IL_0114: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_0116: brfalse.s IL_0124
IL_0118: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_011A: callvirt TaleWorlds.MountAndBlade.Agent+MortalityState TaleWorlds.MountAndBlade.Agent::get_CurrentMortalityState()
IL_011F: ldc.i4.1
IL_0120: ceq
IL_0122: br.s IL_0125
IL_0124: ldc.i4.0
IL_0125: stloc.s V_16
IL_0127: ldarg.2
IL_0128: call System.Boolean TaleWorlds.MountAndBlade.AttackCollisionData::get_MissileGoneUnderWater()
IL_012D: brtrue.s IL_0137
IL_012F: ldarg.2
IL_0130: call System.Boolean TaleWorlds.MountAndBlade.AttackCollisionData::get_MissileGoneOutOfBorder()
IL_0135: br.s IL_0138
IL_0137: ldc.i4.1
IL_0138: ldloc.s V_16
IL_013A: or
IL_013B: brfalse.s IL_0145
IL_013D: ldc.i4.3
IL_013E: stloc.s V_6
IL_0140: br IL_05CD
IL_0145: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_0147: brtrue.s IL_0196
IL_0149: ldarg.s TaleWorlds.Engine.GameEntity hitEntity
IL_014B: ldnull
IL_014C: call System.Boolean TaleWorlds.DotNet.NativeObject::op_Inequality(TaleWorlds.DotNet.NativeObject, TaleWorlds.DotNet.NativeObject)
IL_0151: brfalse.s IL_018D
IL_0153: ldarg.0
IL_0154: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_0156: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_0158: ldarg.s TaleWorlds.Engine.GameEntity hitEntity
IL_015A: ldloc.3
IL_015B: ldloca.s V_1
IL_015D: ldc.i4.0
IL_015E: ldc.i4.0
IL_015F: ldc.i4.0
IL_0160: ldarg.2
IL_0161: ldloca.s V_4
IL_0163: ldloca.s V_5
IL_0165: call TaleWorlds.MountAndBlade.CombatLogData TaleWorlds.MountAndBlade.Mission::GetAttackCollisionResults(TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.Agent, TaleWorlds.Engine.GameEntity, System.Single, TaleWorlds.MountAndBlade.MissionWeapon&, System.Boolean, System.Boolean, System.Boolean, TaleWorlds.MountAndBlade.AttackCollisionData&, TaleWorlds.Core.WeaponComponentData&, TaleWorlds.MountAndBlade.CombatLogData&)
IL_016A: pop
IL_016B: ldarg.0
IL_016C: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_016E: ldarg.2
IL_016F: ldloca.s V_1
IL_0171: ldarg.s TaleWorlds.Library.Vec3 missilePosition
IL_0173: ldarg.3
IL_0174: call TaleWorlds.MountAndBlade.Blow TaleWorlds.MountAndBlade.Mission::CreateMissileBlow(TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.AttackCollisionData&, TaleWorlds.MountAndBlade.MissionWeapon&, TaleWorlds.Library.Vec3, TaleWorlds.Library.Vec3)
IL_0179: stloc.s V_22
IL_017B: ldarg.0
IL_017C: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_017E: ldnull
IL_017F: ldarg.s TaleWorlds.Engine.GameEntity hitEntity
IL_0181: ldloc.s V_22
IL_0183: ldarg.2
IL_0184: ldloca.s V_1
IL_0186: ldloca.s V_5
IL_0188: call System.Void TaleWorlds.MountAndBlade.Mission::RegisterBlow(TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.Agent, TaleWorlds.Engine.GameEntity, TaleWorlds.MountAndBlade.Blow, TaleWorlds.MountAndBlade.AttackCollisionData&, TaleWorlds.MountAndBlade.MissionWeapon&, TaleWorlds.MountAndBlade.CombatLogData&)
IL_018D: ldloc.s V_7
IL_018F: stloc.s V_6
IL_0191: br IL_05CD
IL_0196: ldarg.2
IL_0197: call System.Boolean TaleWorlds.MountAndBlade.AttackCollisionData::get_AttackBlockedWithShield()
IL_019C: brfalse IL_027D
IL_01A1: ldarg.0
IL_01A2: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_01A4: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_01A6: ldarg.s TaleWorlds.Engine.GameEntity hitEntity
IL_01A8: ldloc.3
IL_01A9: ldloca.s V_1
IL_01AB: ldc.i4.0
IL_01AC: ldc.i4.0
IL_01AD: ldc.i4.0
IL_01AE: ldarg.2
IL_01AF: ldloca.s V_4
IL_01B1: ldloca.s V_5
IL_01B3: call TaleWorlds.MountAndBlade.CombatLogData TaleWorlds.MountAndBlade.Mission::GetAttackCollisionResults(TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.Agent, TaleWorlds.Engine.GameEntity, System.Single, TaleWorlds.MountAndBlade.MissionWeapon&, System.Boolean, System.Boolean, System.Boolean, TaleWorlds.MountAndBlade.AttackCollisionData&, TaleWorlds.Core.WeaponComponentData&, TaleWorlds.MountAndBlade.CombatLogData&)
IL_01B8: pop
IL_01B9: ldarg.2
IL_01BA: ldfld System.Boolean TaleWorlds.MountAndBlade.AttackCollisionData::IsShieldBroken
IL_01BF: brtrue.s IL_01D6
IL_01C1: ldarg.0
IL_01C2: call System.Int32 TaleWorlds.MountAndBlade.ItemPhysicsSoundContainer::get_SoundCodePhysicsArrowlikeStone()
IL_01C7: ldarg.2
IL_01C8: call TaleWorlds.Library.Vec3 TaleWorlds.MountAndBlade.AttackCollisionData::get_CollisionGlobalPosition()
IL_01CD: ldc.i4.0
IL_01CE: ldc.i4.0
IL_01CF: ldc.i4.m1
IL_01D0: ldc.i4.m1
IL_01D1: call System.Void TaleWorlds.MountAndBlade.Mission::MakeSound(System.Int32, TaleWorlds.Library.Vec3, System.Boolean, System.Boolean, System.Int32, System.Int32)
IL_01D6: ldc.i4.0
IL_01D7: stloc.s V_23
IL_01D9: ldloc.2
IL_01DA: ldc.i4 131072
IL_01DF: conv.i8
IL_01E0: call System.Boolean TaleWorlds.Library.Extensions::HasAnyFlag<TaleWorlds.Core.WeaponFlags>(!!0, !!0)
IL_01E5: brfalse.s IL_023C
IL_01E7: ldarg.2
IL_01E8: ldfld System.Boolean TaleWorlds.MountAndBlade.AttackCollisionData::IsShieldBroken
IL_01ED: brtrue.s IL_0239
IL_01EF: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_01F1: ldc.i4.1
IL_01F2: callvirt TaleWorlds.Core.EquipmentIndex TaleWorlds.MountAndBlade.Agent::GetWieldedItemIndex(TaleWorlds.MountAndBlade.Agent+HandIndex)
IL_01F7: stloc.s V_24
IL_01F9: ldarg.2
IL_01FA: ldfld System.Int32 TaleWorlds.MountAndBlade.AttackCollisionData::InflictedDamage
IL_01FF: conv.r4
IL_0200: call TaleWorlds.Core.ManagedParameters TaleWorlds.Core.ManagedParameters::get_Instance()
IL_0205: ldc.i4.s 58
IL_0207: callvirt System.Single TaleWorlds.Core.ManagedParameters::GetManagedParameter(TaleWorlds.Core.ManagedParametersEnum)
IL_020C: call TaleWorlds.Core.ManagedParameters TaleWorlds.Core.ManagedParameters::get_Instance()
IL_0211: ldc.i4.s 59
IL_0213: callvirt System.Single TaleWorlds.Core.ManagedParameters::GetManagedParameter(TaleWorlds.Core.ManagedParametersEnum)
IL_0218: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_021A: callvirt TaleWorlds.MountAndBlade.MissionEquipment TaleWorlds.MountAndBlade.Agent::get_Equipment()
IL_021F: ldloc.s V_24
IL_0221: callvirt TaleWorlds.MountAndBlade.MissionWeapon TaleWorlds.MountAndBlade.MissionEquipment::get_Item(TaleWorlds.Core.EquipmentIndex)
IL_0226: stloc.s V_25
IL_0228: ldloca.s V_25
IL_022A: call System.Int32 TaleWorlds.MountAndBlade.MissionWeapon::GetGetModifiedArmorForCurrentUsage()
IL_022F: conv.r4
IL_0230: mul
IL_0231: add
IL_0232: ble.un.s IL_023C
IL_0234: ldc.i4.1
IL_0235: stloc.s V_23
IL_0237: br.s IL_023C
IL_0239: ldc.i4.1
IL_023A: stloc.s V_23
IL_023C: ldloc.s V_23
IL_023E: brfalse.s IL_0269
IL_0240: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_0242: ldsfld TaleWorlds.MountAndBlade.SkinVoiceManager+SkinVoiceType TaleWorlds.MountAndBlade.SkinVoiceManager+VoiceType::Pain
IL_0247: ldc.i4.2
IL_0248: callvirt System.Void TaleWorlds.MountAndBlade.Agent::MakeVoice(TaleWorlds.MountAndBlade.SkinVoiceManager+SkinVoiceType, TaleWorlds.MountAndBlade.SkinVoiceManager+CombatVoiceNetworkPredictionType)
IL_024D: ldloc.3
IL_024E: ldc.r4 0.4
IL_0253: call System.Single TaleWorlds.Core.MBRandom::get_RandomFloat()
IL_0258: ldc.r4 0.2
IL_025D: mul
IL_025E: add
IL_025F: mul
IL_0260: stloc.3
IL_0261: ldc.i4.1
IL_0262: stloc.s V_6
IL_0264: br IL_05CD
IL_0269: ldarg.2
IL_026A: ldfld System.Boolean TaleWorlds.MountAndBlade.AttackCollisionData::IsShieldBroken
IL_026F: brtrue.s IL_0275
IL_0271: ldloc.s V_7
IL_0273: br.s IL_0276
IL_0275: ldc.i4.3
IL_0276: stloc.s V_6
IL_0278: br IL_05CD
IL_027D: ldarg.2
IL_027E: call System.Boolean TaleWorlds.MountAndBlade.AttackCollisionData::get_MissileBlockedWithWeapon()
IL_0283: brfalse.s IL_02A5
IL_0285: ldarg.0
IL_0286: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_0288: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_028A: ldarg.s TaleWorlds.Engine.GameEntity hitEntity
IL_028C: ldloc.3
IL_028D: ldloca.s V_1
IL_028F: ldc.i4.0
IL_0290: ldc.i4.0
IL_0291: ldc.i4.0
IL_0292: ldarg.2
IL_0293: ldloca.s V_4
IL_0295: ldloca.s V_5
IL_0297: call TaleWorlds.MountAndBlade.CombatLogData TaleWorlds.MountAndBlade.Mission::GetAttackCollisionResults(TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.Agent, TaleWorlds.Engine.GameEntity, System.Single, TaleWorlds.MountAndBlade.MissionWeapon&, System.Boolean, System.Boolean, System.Boolean, TaleWorlds.MountAndBlade.AttackCollisionData&, TaleWorlds.Core.WeaponComponentData&, TaleWorlds.MountAndBlade.CombatLogData&)
IL_029C: pop
IL_029D: ldc.i4.2
IL_029E: stloc.s V_6
IL_02A0: br IL_05CD
IL_02A5: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_02A7: brfalse.s IL_0302
IL_02A9: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_02AB: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_02AD: callvirt System.Boolean TaleWorlds.MountAndBlade.Agent::IsFriendOf(TaleWorlds.MountAndBlade.Agent)
IL_02B2: brfalse.s IL_0302
IL_02B4: ldarg.0
IL_02B5: ldfld System.Boolean TaleWorlds.MountAndBlade.Mission::ForceNoFriendlyFire
IL_02BA: brfalse.s IL_02C4
IL_02BC: ldc.i4.1
IL_02BD: stloc.s V_15
IL_02BF: br IL_034D
IL_02C4: ldloc.s V_9
IL_02C6: brtrue IL_034D
IL_02CB: ldloc.s V_8
IL_02CD: brfalse.s IL_02DE
IL_02CF: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_02D1: callvirt TaleWorlds.MountAndBlade.Agent+ControllerType TaleWorlds.MountAndBlade.Agent::get_Controller()
IL_02D6: ldc.i4.1
IL_02D7: bne.un.s IL_034D
IL_02D9: ldc.i4.1
IL_02DA: stloc.s V_15
IL_02DC: br.s IL_034D
IL_02DE: ldc.i4.s 24
IL_02E0: ldc.i4.1
IL_02E1: call System.Int32 TaleWorlds.MountAndBlade.MultiplayerOptionsExtensions::GetIntValue(TaleWorlds.MountAndBlade.MultiplayerOptions+OptionType, TaleWorlds.MountAndBlade.MultiplayerOptions+MultiplayerOptionsAccessMode)
IL_02E6: ldc.i4.0
IL_02E7: bgt.s IL_02F4
IL_02E9: ldc.i4.s 23
IL_02EB: ldc.i4.1
IL_02EC: call System.Int32 TaleWorlds.MountAndBlade.MultiplayerOptionsExtensions::GetIntValue(TaleWorlds.MountAndBlade.MultiplayerOptions+OptionType, TaleWorlds.MountAndBlade.MultiplayerOptions+MultiplayerOptionsAccessMode)
IL_02F1: ldc.i4.0
IL_02F2: ble.s IL_02FD
IL_02F4: ldarg.0
IL_02F5: call TaleWorlds.Core.MissionMode TaleWorlds.MountAndBlade.Mission::get_Mode()
IL_02FA: ldc.i4.3
IL_02FB: bne.un.s IL_034D
IL_02FD: ldc.i4.1
IL_02FE: stloc.s V_15
IL_0300: br.s IL_034D
IL_0302: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_0304: callvirt System.Boolean TaleWorlds.MountAndBlade.Agent::get_IsHuman()
IL_0309: brfalse.s IL_031F
IL_030B: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_030D: brfalse.s IL_031F
IL_030F: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_0311: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_0313: callvirt System.Boolean TaleWorlds.MountAndBlade.Agent::IsEnemyOf(TaleWorlds.MountAndBlade.Agent)
IL_0318: brtrue.s IL_031F
IL_031A: ldc.i4.1
IL_031B: stloc.s V_15
IL_031D: br.s IL_034D
IL_031F: ldloc.s V_8
IL_0321: brfalse.s IL_034D
IL_0323: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_0325: brfalse.s IL_034D
IL_0327: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_0329: callvirt TaleWorlds.MountAndBlade.Agent+ControllerType TaleWorlds.MountAndBlade.Agent::get_Controller()
IL_032E: ldc.i4.1
IL_032F: bne.un.s IL_034D
IL_0331: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_0333: callvirt TaleWorlds.MountAndBlade.Agent TaleWorlds.MountAndBlade.Agent::get_RiderAgent()
IL_0338: brfalse.s IL_034D
IL_033A: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_033C: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_033E: callvirt TaleWorlds.MountAndBlade.Agent TaleWorlds.MountAndBlade.Agent::get_RiderAgent()
IL_0343: callvirt System.Boolean TaleWorlds.MountAndBlade.Agent::IsFriendOf(TaleWorlds.MountAndBlade.Agent)
IL_0348: brfalse.s IL_034D
IL_034A: ldc.i4.1
IL_034B: stloc.s V_15
IL_034D: ldloc.s V_15
IL_034F: brfalse.s IL_0399
IL_0351: ldloc.s V_8
IL_0353: brfalse.s IL_0391
IL_0355: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_0357: brfalse.s IL_0391
IL_0359: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_035B: call TaleWorlds.MountAndBlade.Agent TaleWorlds.MountAndBlade.Agent::get_Main()
IL_0360: bne.un.s IL_0391
IL_0362: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_0364: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_0366: callvirt System.Boolean TaleWorlds.MountAndBlade.Agent::IsFriendOf(TaleWorlds.MountAndBlade.Agent)
IL_036B: brfalse.s IL_0391
IL_036D: ldstr "ui_you_hit_a_friendly_troop"
IL_0372: ldnull
IL_0373: call TaleWorlds.Localization.TextObject TaleWorlds.Core.GameTexts::FindText(System.String, System.String)
IL_0378: callvirt System.String System.Object::ToString()
IL_037D: ldstr "#D65252FF"
IL_0382: call TaleWorlds.Library.Color TaleWorlds.Library.Color::ConvertStringToColor(System.String)
IL_0387: newobj System.Void TaleWorlds.Library.InformationMessage::.ctor(System.String, TaleWorlds.Library.Color)
IL_038C: call System.Void TaleWorlds.Library.InformationManager::DisplayMessage(TaleWorlds.Library.InformationMessage)
IL_0391: ldc.i4.3
IL_0392: stloc.s V_6
IL_0394: br IL_05CD
IL_0399: ldloc.2
IL_039A: ldc.i4 1073741824
IL_039F: conv.i8
IL_03A0: and
IL_03A1: ldc.i4.0
IL_03A2: conv.i8
IL_03A3: cgt.un
IL_03A5: stloc.s V_26
IL_03A7: ldarg.0
IL_03A8: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_03AA: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_03AC: ldnull
IL_03AD: ldloc.3
IL_03AE: ldloca.s V_1
IL_03B0: ldc.i4.0
IL_03B1: ldc.i4.0
IL_03B2: ldc.i4.0
IL_03B3: ldarg.2
IL_03B4: ldloca.s V_4
IL_03B6: ldloca.s V_5
IL_03B8: call TaleWorlds.MountAndBlade.CombatLogData TaleWorlds.MountAndBlade.Mission::GetAttackCollisionResults(TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.Agent, TaleWorlds.Engine.GameEntity, System.Single, TaleWorlds.MountAndBlade.MissionWeapon&, System.Boolean, System.Boolean, System.Boolean, TaleWorlds.MountAndBlade.AttackCollisionData&, TaleWorlds.Core.WeaponComponentData&, TaleWorlds.MountAndBlade.CombatLogData&)
IL_03BD: pop
IL_03BE: ldarg.0
IL_03BF: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_03C1: ldarg.2
IL_03C2: ldloca.s V_1
IL_03C4: ldarg.s TaleWorlds.Library.Vec3 missilePosition
IL_03C6: ldarg.3
IL_03C7: call TaleWorlds.MountAndBlade.Blow TaleWorlds.MountAndBlade.Mission::CreateMissileBlow(TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.AttackCollisionData&, TaleWorlds.MountAndBlade.MissionWeapon&, TaleWorlds.Library.Vec3, TaleWorlds.Library.Vec3)
IL_03CC: stloc.s V_27
IL_03CE: ldarg.2
IL_03CF: call System.Boolean TaleWorlds.MountAndBlade.AttackCollisionData::get_IsColliderAgent()
IL_03D4: ldloc.s V_26
IL_03D6: and
IL_03D7: brfalse.s IL_040E
IL_03D9: ldarg.s System.Int32 numDamagedAgents
IL_03DB: ldc.i4.0
IL_03DC: ble.s IL_040E
IL_03DE: ldloca.s V_27
IL_03E0: ldflda System.Int32 TaleWorlds.MountAndBlade.Blow::InflictedDamage
IL_03E5: dup
IL_03E6: ldind.i4
IL_03E7: ldarg.s System.Int32 numDamagedAgents
IL_03E9: div
IL_03EA: stind.i4
IL_03EB: ldloca.s V_27
IL_03ED: ldflda System.Int32 TaleWorlds.MountAndBlade.Blow::SelfInflictedDamage
IL_03F2: dup
IL_03F3: ldind.i4
IL_03F4: ldarg.s System.Int32 numDamagedAgents
IL_03F6: div
IL_03F7: stind.i4
IL_03F8: ldloca.s V_5
IL_03FA: ldloc.s V_27
IL_03FC: ldfld System.Int32 TaleWorlds.MountAndBlade.Blow::InflictedDamage
IL_0401: ldloc.s V_5
IL_0403: ldfld System.Int32 TaleWorlds.MountAndBlade.CombatLogData::ModifiedDamage
IL_0408: sub
IL_0409: stfld System.Int32 TaleWorlds.MountAndBlade.CombatLogData::InflictedDamage
IL_040E: ldarg.2
IL_040F: call System.Boolean TaleWorlds.MountAndBlade.AttackCollisionData::get_IsColliderAgent()
IL_0414: brfalse IL_04F9
IL_0419: call TaleWorlds.MountAndBlade.MissionGameModels TaleWorlds.MountAndBlade.MissionGameModels::get_Current()
IL_041E: callvirt TaleWorlds.MountAndBlade.ComponentInterfaces.AgentApplyDamageModel TaleWorlds.MountAndBlade.MissionGameModels::get_AgentApplyDamageModel()
IL_0423: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_0425: ldarg.2
IL_0426: ldobj TaleWorlds.MountAndBlade.AttackCollisionData
IL_042B: ldloca.s V_27
IL_042D: callvirt System.Boolean TaleWorlds.MountAndBlade.ComponentInterfaces.AgentApplyDamageModel::DecideAgentShrugOffBlow(TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.AttackCollisionData, TaleWorlds.MountAndBlade.Blow& modreq(System.Runtime.InteropServices.InAttribute))
IL_0432: brfalse.s IL_0449
IL_0434: ldloca.s V_27
IL_0436: ldflda TaleWorlds.MountAndBlade.BlowFlags TaleWorlds.MountAndBlade.Blow::BlowFlag
IL_043B: dup
IL_043C: ldind.i4
IL_043D: ldc.i4 256
IL_0442: or
IL_0443: stind.i4
IL_0444: br IL_04F9
IL_0449: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_044B: callvirt System.Boolean TaleWorlds.MountAndBlade.Agent::get_IsHuman()
IL_0450: brfalse IL_04F9
IL_0455: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_0457: callvirt TaleWorlds.MountAndBlade.Agent TaleWorlds.MountAndBlade.Agent::get_MountAgent()
IL_045C: stloc.s V_28
IL_045E: ldloc.s V_28
IL_0460: brfalse.s IL_04A1
IL_0462: ldloc.s V_28
IL_0464: callvirt TaleWorlds.MountAndBlade.Agent TaleWorlds.MountAndBlade.Agent::get_RiderAgent()
IL_0469: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_046B: bne.un IL_04F9
IL_0470: call TaleWorlds.MountAndBlade.MissionGameModels TaleWorlds.MountAndBlade.MissionGameModels::get_Current()
IL_0475: callvirt TaleWorlds.MountAndBlade.ComponentInterfaces.AgentApplyDamageModel TaleWorlds.MountAndBlade.MissionGameModels::get_AgentApplyDamageModel()
IL_047A: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_047C: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_047E: ldarg.2
IL_047F: ldloca.s V_1
IL_0481: call TaleWorlds.Core.WeaponComponentData TaleWorlds.MountAndBlade.MissionWeapon::get_CurrentUsageItem()
IL_0486: ldloca.s V_27
IL_0488: callvirt System.Boolean TaleWorlds.MountAndBlade.ComponentInterfaces.AgentApplyDamageModel::DecideAgentDismountedByBlow(TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.AttackCollisionData& modreq(System.Runtime.InteropServices.InAttribute), TaleWorlds.Core.WeaponComponentData, TaleWorlds.MountAndBlade.Blow& modreq(System.Runtime.InteropServices.InAttribute))
IL_048D: brfalse.s IL_04F9
IL_048F: ldloca.s V_27
IL_0491: ldflda TaleWorlds.MountAndBlade.BlowFlags TaleWorlds.MountAndBlade.Blow::BlowFlag
IL_0496: dup
IL_0497: ldind.i4
IL_0498: ldc.i4 2048
IL_049D: or
IL_049E: stind.i4
IL_049F: br.s IL_04F9
IL_04A1: call TaleWorlds.MountAndBlade.MissionGameModels TaleWorlds.MountAndBlade.MissionGameModels::get_Current()
IL_04A6: callvirt TaleWorlds.MountAndBlade.ComponentInterfaces.AgentApplyDamageModel TaleWorlds.MountAndBlade.MissionGameModels::get_AgentApplyDamageModel()
IL_04AB: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_04AD: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_04AF: ldarg.2
IL_04B0: ldloca.s V_1
IL_04B2: call TaleWorlds.Core.WeaponComponentData TaleWorlds.MountAndBlade.MissionWeapon::get_CurrentUsageItem()
IL_04B7: ldloca.s V_27
IL_04B9: callvirt System.Boolean TaleWorlds.MountAndBlade.ComponentInterfaces.AgentApplyDamageModel::DecideAgentKnockedBackByBlow(TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.AttackCollisionData& modreq(System.Runtime.InteropServices.InAttribute), TaleWorlds.Core.WeaponComponentData, TaleWorlds.MountAndBlade.Blow& modreq(System.Runtime.InteropServices.InAttribute))
IL_04BE: brfalse.s IL_04CD
IL_04C0: ldloca.s V_27
IL_04C2: ldflda TaleWorlds.MountAndBlade.BlowFlags TaleWorlds.MountAndBlade.Blow::BlowFlag
IL_04C7: dup
IL_04C8: ldind.i4
IL_04C9: ldc.i4.s 16
IL_04CB: or
IL_04CC: stind.i4
IL_04CD: call TaleWorlds.MountAndBlade.MissionGameModels TaleWorlds.MountAndBlade.MissionGameModels::get_Current()
IL_04D2: callvirt TaleWorlds.MountAndBlade.ComponentInterfaces.AgentApplyDamageModel TaleWorlds.MountAndBlade.MissionGameModels::get_AgentApplyDamageModel()
IL_04D7: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_04D9: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_04DB: ldarg.2
IL_04DC: ldloca.s V_1
IL_04DE: call TaleWorlds.Core.WeaponComponentData TaleWorlds.MountAndBlade.MissionWeapon::get_CurrentUsageItem()
IL_04E3: ldloca.s V_27
IL_04E5: callvirt System.Boolean TaleWorlds.MountAndBlade.ComponentInterfaces.AgentApplyDamageModel::DecideAgentKnockedDownByBlow(TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.AttackCollisionData& modreq(System.Runtime.InteropServices.InAttribute), TaleWorlds.Core.WeaponComponentData, TaleWorlds.MountAndBlade.Blow& modreq(System.Runtime.InteropServices.InAttribute))
IL_04EA: brfalse.s IL_04F9
IL_04EC: ldloca.s V_27
IL_04EE: ldflda TaleWorlds.MountAndBlade.BlowFlags TaleWorlds.MountAndBlade.Blow::BlowFlag
IL_04F3: dup
IL_04F4: ldind.i4
IL_04F5: ldc.i4.s 32
IL_04F7: or
IL_04F8: stind.i4
IL_04F9: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_04FB: callvirt TaleWorlds.Core.AgentState TaleWorlds.MountAndBlade.Agent::get_State()
IL_0500: ldc.i4.1
IL_0501: bne.un.s IL_0515
IL_0503: ldarg.0
IL_0504: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_0506: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_0508: ldnull
IL_0509: ldloc.s V_27
IL_050B: ldarg.2
IL_050C: ldloca.s V_1
IL_050E: ldloca.s V_5
IL_0510: call System.Void TaleWorlds.MountAndBlade.Mission::RegisterBlow(TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.Agent, TaleWorlds.Engine.GameEntity, TaleWorlds.MountAndBlade.Blow, TaleWorlds.MountAndBlade.AttackCollisionData&, TaleWorlds.MountAndBlade.MissionWeapon&, TaleWorlds.MountAndBlade.CombatLogData&)
IL_0515: ldarg.1
IL_0516: call TaleWorlds.MountAndBlade.MissionGameModels TaleWorlds.MountAndBlade.MissionGameModels::get_Current()
IL_051B: callvirt TaleWorlds.MountAndBlade.DamageParticleModel TaleWorlds.MountAndBlade.MissionGameModels::get_DamageParticleModel()
IL_0520: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_0522: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_0524: ldloca.s V_27
IL_0526: ldarg.2
IL_0527: callvirt System.Int32 TaleWorlds.MountAndBlade.DamageParticleModel::GetMissileAttackParticle(TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.Blow& modreq(System.Runtime.InteropServices.InAttribute), TaleWorlds.MountAndBlade.AttackCollisionData& modreq(System.Runtime.InteropServices.InAttribute))
IL_052C: stind.i4
IL_052D: ldloc.s V_26
IL_052F: brfalse.s IL_053E
IL_0531: ldarg.s System.Int32 numDamagedAgents
IL_0533: ldc.i4.3
IL_0534: bge.s IL_053E
IL_0536: ldc.i4.1
IL_0537: stloc.s V_6
IL_0539: br IL_05CD
IL_053E: ldloc.s V_7
IL_0540: stloc.s V_6
IL_0542: ldloc.s V_7
IL_0544: brtrue IL_05CD
IL_0549: ldarg.2
IL_054A: call System.Boolean TaleWorlds.MountAndBlade.AttackCollisionData::get_CollidedWithShieldOnBack()
IL_054F: brtrue.s IL_05CD
IL_0551: ldarg.0
IL_0552: call TaleWorlds.MountAndBlade.Mission+MissionCombatType TaleWorlds.MountAndBlade.Mission::get_CombatType()
IL_0557: ldc.i4.0
IL_0558: ceq
IL_055A: stloc.s V_29
IL_055C: ldloc.s V_29
IL_055E: brfalse.s IL_058B
IL_0560: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_0562: callvirt System.Boolean TaleWorlds.MountAndBlade.Agent::get_IsHuman()
IL_0567: brfalse.s IL_0574
IL_0569: ldarg.2
IL_056A: call TaleWorlds.MountAndBlade.BoneBodyPartType TaleWorlds.MountAndBlade.AttackCollisionData::get_VictimHitBodyPart()
IL_056F: ldc.i4.0
IL_0570: ceq
IL_0572: br.s IL_0575
IL_0574: ldc.i4.0
IL_0575: stloc.s V_30
IL_0577: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_0579: callvirt TaleWorlds.Core.AgentState TaleWorlds.MountAndBlade.Agent::get_State()
IL_057E: ldc.i4.1
IL_057F: bne.un.s IL_0588
IL_0581: ldloc.s V_30
IL_0583: ldc.i4.0
IL_0584: ceq
IL_0586: br.s IL_0589
IL_0588: ldc.i4.1
IL_0589: stloc.s V_29
IL_058B: ldloc.s V_29
IL_058D: brfalse.s IL_05CA
IL_058F: call TaleWorlds.Core.ManagedParameters TaleWorlds.Core.ManagedParameters::get_Instance()
IL_0594: ldc.i4.s 13
IL_0596: callvirt System.Single TaleWorlds.Core.ManagedParameters::GetManagedParameter(TaleWorlds.Core.ManagedParametersEnum)
IL_059B: stloc.s V_31
IL_059D: ldc.r4 2
IL_05A2: ldloc.s V_31
IL_05A4: mul
IL_05A5: stloc.s V_32
IL_05A7: ldloc.s V_27
IL_05A9: ldfld System.Int32 TaleWorlds.MountAndBlade.Blow::InflictedDamage
IL_05AE: conv.r4
IL_05AF: ldloc.s V_31
IL_05B1: bge.un.s IL_05CD
IL_05B3: ldloc.s V_27
IL_05B5: ldfld System.Single TaleWorlds.MountAndBlade.Blow::AbsorbedByArmor
IL_05BA: ldloc.s V_32
IL_05BC: ble.un.s IL_05CD
IL_05BE: call System.Boolean TaleWorlds.MountAndBlade.GameNetwork::get_IsClientOrReplay()
IL_05C3: brtrue.s IL_05CD
IL_05C5: ldc.i4.2
IL_05C6: stloc.s V_6
IL_05C8: br.s IL_05CD
IL_05CA: ldc.i4.3
IL_05CB: stloc.s V_6
IL_05CD: ldarg.2
IL_05CE: call System.Boolean TaleWorlds.MountAndBlade.AttackCollisionData::get_CollidedWithShieldOnBack()
IL_05D3: brfalse.s IL_060A
IL_05D5: ldloc.s V_4
IL_05D7: brfalse.s IL_060A
IL_05D9: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_05DB: brfalse.s IL_060A
IL_05DD: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_05DF: callvirt System.Boolean TaleWorlds.MountAndBlade.Agent::get_IsMainAgent()
IL_05E4: brfalse.s IL_060A
IL_05E6: ldstr "ui_hit_shield_on_back"
IL_05EB: ldnull
IL_05EC: call TaleWorlds.Localization.TextObject TaleWorlds.Core.GameTexts::FindText(System.String, System.String)
IL_05F1: callvirt System.String System.Object::ToString()
IL_05F6: ldstr "#FFFFFFFF"
IL_05FB: call TaleWorlds.Library.Color TaleWorlds.Library.Color::ConvertStringToColor(System.String)
IL_0600: newobj System.Void TaleWorlds.Library.InformationMessage::.ctor(System.String, TaleWorlds.Library.Color)
IL_0605: call System.Void TaleWorlds.Library.InformationManager::DisplayMessage(TaleWorlds.Library.InformationMessage)
IL_060A: ldarg.2
IL_060B: call System.Boolean TaleWorlds.MountAndBlade.AttackCollisionData::get_MissileHasPhysics()
IL_0610: brtrue.s IL_0644
IL_0612: ldloc.s V_6
IL_0614: brtrue.s IL_0644
IL_0616: ldarg.0
IL_0617: ldarga.s TaleWorlds.Library.MatrixFrame attachGlobalFrame
IL_0619: ldarg.2
IL_061A: ldobj TaleWorlds.MountAndBlade.AttackCollisionData
IL_061F: ldloc.0
IL_0620: callvirt TaleWorlds.MountAndBlade.MissionWeapon TaleWorlds.MountAndBlade.Mission+Missile::get_Weapon()
IL_0625: stloc.s V_25
IL_0627: ldloca.s V_25
IL_0629: call TaleWorlds.Core.WeaponComponentData TaleWorlds.MountAndBlade.MissionWeapon::get_CurrentUsageItem()
IL_062E: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_0630: ldarg.s TaleWorlds.Engine.GameEntity hitEntity
IL_0632: ldarg.s TaleWorlds.Library.Vec3 movementVelocity
IL_0634: ldarg.s TaleWorlds.Library.Vec3 missileAngularVelocity
IL_0636: ldarg.s TaleWorlds.Library.MatrixFrame affectedShieldGlobalFrame
IL_0638: ldc.i4.1
IL_0639: ldloca.s V_18
IL_063B: call TaleWorlds.Library.MatrixFrame TaleWorlds.MountAndBlade.Mission::CalculateAttachedLocalFrame(TaleWorlds.Library.MatrixFrame&, TaleWorlds.MountAndBlade.AttackCollisionData, TaleWorlds.Core.WeaponComponentData, TaleWorlds.MountAndBlade.Agent, TaleWorlds.Engine.GameEntity, TaleWorlds.Library.Vec3, TaleWorlds.Library.Vec3, TaleWorlds.Library.MatrixFrame, System.Boolean, System.Boolean&)
IL_0640: stloc.s V_17
IL_0642: br.s IL_0670
IL_0644: ldarg.s TaleWorlds.Library.MatrixFrame attachGlobalFrame
IL_0646: stloc.s V_17
IL_0648: ldloca.s V_17
IL_064A: ldflda TaleWorlds.Library.Vec3 TaleWorlds.Library.MatrixFrame::origin
IL_064F: ldloc.s V_17
IL_0651: ldfld TaleWorlds.Library.Vec3 TaleWorlds.Library.MatrixFrame::origin
IL_0656: ldfld System.Single TaleWorlds.Library.Vec3::z
IL_065B: ldc.r4 -100
IL_0660: call System.Single System.Math::Max(System.Single, System.Single)
IL_0665: stfld System.Single TaleWorlds.Library.Vec3::z
IL_066A: ldnull
IL_066B: stloc.s V_14
IL_066D: ldc.i4.0
IL_066E: stloc.s V_18
IL_0670: ldsfld TaleWorlds.Library.Vec3 TaleWorlds.Library.Vec3::Zero
IL_0675: stloc.s V_19
IL_0677: ldsfld TaleWorlds.Library.Vec3 TaleWorlds.Library.Vec3::Zero
IL_067C: stloc.s V_20
IL_067E: ldloc.s V_6
IL_0680: ldc.i4.2
IL_0681: bne.un.s IL_06EA
IL_0683: ldloc.2
IL_0684: ldc.i8 206158430208
IL_068D: and
IL_068E: stloc.s V_33
IL_0690: ldloc.s V_33
IL_0692: ldc.i8 137438953472
IL_069B: bne.un.s IL_06BA
IL_069D: ldarg.2
IL_069E: call TaleWorlds.Library.Vec3 TaleWorlds.MountAndBlade.AttackCollisionData::get_MissileVelocity()
IL_06A3: stloc.s V_34
IL_06A5: ldloca.s V_34
IL_06A7: call System.Single TaleWorlds.Library.Vec3::get_Length()
IL_06AC: call TaleWorlds.Core.ManagedParameters TaleWorlds.Core.ManagedParameters::get_Instance()
IL_06B1: ldc.i4.s 14
IL_06B3: callvirt System.Single TaleWorlds.Core.ManagedParameters::GetManagedParameter(TaleWorlds.Core.ManagedParametersEnum)
IL_06B8: bgt.s IL_06C7
IL_06BA: ldloc.s V_33
IL_06BC: ldc.i8 68719476736
IL_06C5: bne.un.s IL_06D8
IL_06C7: ldc.i4.3
IL_06C8: stloc.s V_6
IL_06CA: ldarg.1
IL_06CB: ldstr "psys_game_broken_arrow"
IL_06D0: call System.Int32 TaleWorlds.Engine.ParticleSystemManager::GetRuntimeIdByName(System.String)
IL_06D5: stind.i4
IL_06D6: br.s IL_06EA
IL_06D8: ldloc.0
IL_06D9: ldarg.s TaleWorlds.Library.Vec3 missileAngularVelocity
IL_06DB: ldarg.2
IL_06DC: ldobj TaleWorlds.MountAndBlade.AttackCollisionData
IL_06E1: ldloca.s V_19
IL_06E3: ldloca.s V_20
IL_06E5: callvirt System.Void TaleWorlds.MountAndBlade.Mission+Missile::CalculateBounceBackVelocity(TaleWorlds.Library.Vec3, TaleWorlds.MountAndBlade.AttackCollisionData, TaleWorlds.Library.Vec3&, TaleWorlds.Library.Vec3&)
IL_06EA: ldarg.0
IL_06EB: ldarg.2
IL_06EC: call System.Int32 TaleWorlds.MountAndBlade.AttackCollisionData::get_AffectorWeaponSlotOrMissileIndex()
IL_06F1: ldloc.s V_6
IL_06F3: ldloc.s V_17
IL_06F5: ldloc.s V_18
IL_06F7: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_06F9: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_06FB: ldarg.2
IL_06FC: call System.Boolean TaleWorlds.MountAndBlade.AttackCollisionData::get_AttackBlockedWithShield()
IL_0701: ldarg.2
IL_0702: call System.SByte TaleWorlds.MountAndBlade.AttackCollisionData::get_CollisionBoneIndex()
IL_0707: ldloc.s V_14
IL_0709: ldloc.s V_19
IL_070B: ldloc.s V_20
IL_070D: ldc.i4.m1
IL_070E: call System.Void TaleWorlds.MountAndBlade.Mission::HandleMissileCollisionReaction(System.Int32, TaleWorlds.MountAndBlade.Mission+MissileCollisionReaction, TaleWorlds.Library.MatrixFrame, System.Boolean, TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.Agent, System.Boolean, System.SByte, TaleWorlds.MountAndBlade.MissionObject, TaleWorlds.Library.Vec3, TaleWorlds.Library.Vec3, System.Int32)
IL_0713: ldarg.0
IL_0714: call System.Collections.Generic.List`1<TaleWorlds.MountAndBlade.MissionBehavior> TaleWorlds.MountAndBlade.Mission::get_MissionBehaviors()
IL_0719: callvirt System.Collections.Generic.List`1+Enumerator<!0> System.Collections.Generic.List`1<TaleWorlds.MountAndBlade.MissionBehavior>::GetEnumerator()
IL_071E: stloc.s V_35
IL_0720: br.s IL_073A
IL_0722: ldloca.s V_35
IL_0724: call !0 System.Collections.Generic.List`1+Enumerator<TaleWorlds.MountAndBlade.MissionBehavior>::get_Current()
IL_0729: ldarg.s TaleWorlds.MountAndBlade.Agent attacker
IL_072B: ldarg.s TaleWorlds.MountAndBlade.Agent victim
IL_072D: ldloc.s V_15
IL_072F: ldarg.2
IL_0730: ldobj TaleWorlds.MountAndBlade.AttackCollisionData
IL_0735: callvirt System.Void TaleWorlds.MountAndBlade.MissionBehavior::OnMissileHit(TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.Agent, System.Boolean, TaleWorlds.MountAndBlade.AttackCollisionData)
IL_073A: ldloca.s V_35
IL_073C: call System.Boolean System.Collections.Generic.List`1+Enumerator<TaleWorlds.MountAndBlade.MissionBehavior>::MoveNext()
IL_0741: brtrue.s IL_0722
IL_0743: leave.s IL_0753
IL_0745: ldloca.s V_35
IL_0747: constrained. System.Collections.Generic.List`1+Enumerator<TaleWorlds.MountAndBlade.MissionBehavior>
IL_074D: callvirt System.Void System.IDisposable::Dispose()
IL_0752: endfinally
IL_0753: ldloc.s V_6
IL_0755: ldc.i4.1
IL_0756: ceq
IL_0758: ldc.i4.0
IL_0759: ceq
IL_075B: ret
0000 push rbp
0001 push r15
0003 push r14
0005 push r13
0007 push r12
0009 push rdi
000A push rsi
000B push rbx
000C sub rsp,908h
0013 vzeroupper
0016 vmovaps [rsp+8F0h],xmm6
0020 vmovaps [rsp+8E0h],xmm7
002A vmovaps [rsp+8D0h],xmm8
0034 lea rbp,[rsp+940h]
003C mov rsi,rcx
003F lea rdi,[rbp-760h]
0046 mov ecx,1BCh
004B xor eax,eax
004D rep stosd
004F mov rcx,rsi
0052 mov [rbp+18h],rdx
0056 mov r12,rcx
0059 mov r14,r8
005C mov r13,r9
005F mov r15,[rbp+60h]
0063 mov rbx,[rbp+68h]
0067 mov rcx,[r12+80h]
006F mov edx,[r14+10h]
0073 cmp [rcx],ecx
0075 call 000000005AB86880h
007A mov [rbp-880h],rax
0081 lea rsi,[rax+30h]
0085 lea rdi,[rbp-0B8h]
008C mov ecx,9
0091 rep movsq
0094 lea rcx,[rbp-0B8h]
009B call 0FFFFFFFFFFC75180h
00A0 mov rcx,[rax+38h]
00A4 mov [rbp-0C0h],rcx
00AB xor ecx,ecx
00AD mov [rbp-0C8h],rcx
00B4 mov rcx,26AA054E408h
00BE mov rcx,[rcx]
00C1 mov rax,[rcx+28h]
00C5 mov [rbp-898h],rax
00CC mov rsi,[rbp-880h]
00D3 add rsi,30h
00D7 lea rdi,[rbp-3C0h]
00DE mov ecx,9
00E3 rep movsq
00E6 mov rax,[rbp-898h]
00ED mov [rbp-8C0h],rax
00F4 mov [rbp-8C8h],r15
00FB lea rdi,[rbp-668h]
0102 lea rsi,[rbp-3C0h]
0109 mov ecx,9
010E rep movsq
0111 mov rcx,[rbp-8C0h]
0118 mov rdx,[rbp-8C8h]
011F lea r8,[rbp-668h]
0126 lea r9,[rbp-0C0h]
012D mov rax,[rcx]
0130 mov rax,[rax+40h]
0134 call qword [rax+28h]
0137 mov rsi,[rbp+18h]
013B mov dword [rsi],0FFFFFFFFh
0141 call 0FFFFFFFFFFCDF4B0h
0146 test al,al
0148 jne short 0000000000000169h
014A cmp dword [rel 0FFFFFFFFFCA42550h],1
0151 je short 0000000000000162h
0153 cmp dword [rel 0FFFFFFFFFCA42550h],4
015A sete cl
015D movzx ecx,cl
0160 jmp short 0000000000000167h
0162 mov ecx,1
0167 jmp short 000000000000016Eh
0169 mov ecx,1
016E test ecx,ecx
0170 sete dil
0174 movzx edi,dil
0178 movzx eax,byte [r14+7]
017D mov [rbp-108h],eax
0183 mov edx,[r14+24h]
0187 test edx,edx
0189 jge short 0000000000000190h
018B xor r8d,r8d
018E jmp short 00000000000001B3h
0190 mov rcx,26AA05509B0h
019A mov rcx,[rcx]
019D mov r11,7FF8C89FE128h
01A7 cmp [rcx],ecx
01A9 call qword [rel 0FFFFFFFFFF30CA78h]
01AF movzx r8d,al
01B3 mov rcx,4000000000h
01BD test [rbp-0C0h],rcx
01C4 setne r9b
01C8 movzx r9d,r9b
01CC mov [rbp-10Ch],r9d
01D3 test r8b,1
01D7 sete r10b
01DB movzx r10d,r10b
01DF mov [rbp-110h],r10d
01E6 test r8b,8
01EA setne r8b
01EE movzx r8d,r8b
01F2 mov [rbp-114h],r8d
01F9 xor r11d,r11d
01FC mov [rbp-888h],r11
0203 test rbx,rbx
0206 jne near 00000000000002C6h
020C mov rcx,[rbp+70h]
0210 xor edx,edx
0212 call 0FFFFFFFFFEF8A0E0h
0217 test al,al
0219 jne near 00000000000002C6h
021F mov rax,[rbp+70h]
0223 mov [rbp-890h],rax
022A mov rcx,rax
022D mov rdx,7FF8C98D5258h
0237 cmp [rcx],ecx
0239 call 0FFFFFFFFFFC4ABB0h
023E mov [rbp-888h],rax
0245 mov rdx,26AA0550980h
024F mov rcx,[rdx]
0252 mov rax,[rbp-890h]
0259 mov rdx,[rax+8]
025D mov r11,7FF8C89FE130h
0267 cmp [rcx],ecx
0269 call qword [rel 0FFFFFFFFFF30CA80h]
026F cmp qword [rbp-888h],0
0277 jne short 0000000000000295h
0279 mov [rbp-890h],rax
0280 mov rcx,rax
0283 xor edx,edx
0285 call 0FFFFFFFFFEF8A0E0h
028A test al,al
028C mov rax,[rbp-890h]
0293 je short 0000000000000223h
0295 mov r11,[rbp-888h]
029C test r11,r11
029F jne short 00000000000002A5h
02A1 xor eax,eax
02A3 jmp short 00000000000002BBh
02A5 mov [rbp-888h],r11
02AC mov rcx,r11
02AF call 0FFFFFFFFFF5CCF00h
02B4 mov r11,[rbp-888h]
02BB mov [rbp-888h],r11
02C2 mov [rbp+70h],rax
02C6 mov r8d,[rbp-114h]
02CD test r8d,r8d
02D0 je short 00000000000002DAh
02D2 mov r8d,1
02D8 jmp short 0000000000000320h
02DA mov rcx,[rbp-0C0h]
02E1 mov edx,8000h
02E6 call 0FFFFFFFFFF6A1660h
02EB test al,al
02ED je short 00000000000002F9h
02EF mov eax,3
02F4 mov r8d,eax
02F7 jmp short 0000000000000320h
02F9 mov eax,[rbp-110h]
02FF test [rbp-10Ch],eax
0305 jne short 0000000000000311h
0307 mov eax,2
030C mov r8d,eax
030F jmp short 0000000000000320h
0311 xor eax,eax
0313 mov [rbp-104h],eax
0319 mov r8d,[rbp-104h]
0320 xor r9d,r9d
0323 mov [rbp-118h],r9d
032A test rbx,rbx
032D je short 000000000000033Eh
032F cmp dword [rbx+19Ch],1
0336 sete cl
0339 movzx ecx,cl
033C jmp short 0000000000000340h
033E xor ecx,ecx
0340 movzx ecx,cl
0343 cmp byte [r14+0Ah],0
0348 jne short 0000000000000351h
034A movzx edx,byte [r14+0Bh]
034F jmp short 0000000000000356h
0351 mov edx,1
0356 or edx,ecx
0358 je short 0000000000000365h
035A mov r13d,3
0360 jmp 0000000000000EDAh
0365 test rbx,rbx
0368 jne near 00000000000004BAh
036E mov [rbp-104h],r8d
0375 mov rcx,[rbp+70h]
0379 xor edx,edx
037B call 0FFFFFFFFFEF8A0E0h
0380 test al,al
0382 jne near 00000000000004ACh
0388 mov rax,[rbp+70h]
038C mov [rsp+20h],rax
0391 vmovss xmm0,[rel 1508h]
039A vmovss [rsp+28h],xmm0
03A1 lea rdx,[rbp-0B8h]
03A8 mov [rsp+30h],rdx
03AD xor edx,edx
03AF mov [rsp+38h],edx
03B3 mov [rsp+40h],edx
03B7 mov [rsp+48h],edx
03BB mov [rsp+50h],r14
03C0 lea rdx,[rbp-0C8h]
03C7 mov [rsp+58h],rdx
03CC lea rdx,[rbp-100h]
03D3 mov [rsp+60h],rdx
03D8 lea rdx,[rbp-5E8h]
03DF mov rcx,r12
03E2 mov r8,r15
03E5 xor r9d,r9d
03E8 call 0FFFFFFFFFCC84EA8h
03ED lea rdx,[rbp-248h]
03F4 lea rax,[rbp-0B8h]
03FB mov rdi,[rbp+30h]
03FF vmovdqu xmm0,[rdi]
0404 vmovdqu [rbp-678h],xmm0
040D vmovdqu xmm0,[r13]
0413 vmovdqu [rbp-688h],xmm0
041C mov rcx,r12
041F mov r8,r15
0422 mov r9,r14
0425 mov [rsp+20h],rax
042A lea rax,[rbp-678h]
0431 mov [rsp+28h],rax
0436 lea rax,[rbp-688h]
043D mov [rsp+30h],rax
0442 call 0FFFFFFFFFCC853B8h
0447 mov r13,[rbp+70h]
044B mov rdi,r13
044E lea rcx,[rbp-750h]
0455 lea rdx,[rbp-248h]
045C lea rdx,[rbp-248h]
0463 mov r8d,0C8h
0469 call 000000005BD9D890h
046E mov [rsp+28h],r14
0473 lea rcx,[rbp-0B8h]
047A mov [rsp+30h],rcx
047F lea rcx,[rbp-100h]
0486 mov [rsp+38h],rcx
048B mov rcx,r12
048E mov rdx,r15
0491 mov r9,rdi
0494 lea r8,[rbp-750h]
049B mov [rsp+20h],r8
04A0 xor r8d,r8d
04A3 call 0FFFFFFFFFCC853A8h
04A8 mov [rbp+70h],r13
04AC mov edi,[rbp-104h]
04B2 mov r13d,edi
04B5 jmp 0000000000000EDAh
04BA cmp byte [r14],0
04BE je near 0000000000000757h
04C4 mov [rbp-104h],r8d
04CB mov r13,[rbp+70h]
04CF mov [rsp+20h],r13
04D4 vmovss xmm0,[rel 150Ch]
04DD vmovss [rsp+28h],xmm0
04E4 lea rdx,[rbp-0B8h]
04EB mov [rsp+30h],rdx
04F0 xor edx,edx
04F2 mov [rsp+38h],edx
04F6 mov [rsp+40h],edx
04FA mov [rsp+48h],edx
04FE mov [rsp+50h],r14
0503 lea rdx,[rbp-0C8h]
050A mov [rsp+58h],rdx
050F lea rdx,[rbp-100h]
0516 mov [rsp+60h],rdx
051B lea rdx,[rbp-5A0h]
0522 mov rcx,r12
0525 mov r8,r15
0528 mov r9,rbx
052B call 0FFFFFFFFFCC84EA8h
0530 cmp byte [r14+0D0h],0
0538 jne near 00000000000005C7h
053E call 0FFFFFFFFFCC86F60h
0543 lea rcx,[r14+6Ch]
0547 vmovdqu xmm0,[rcx]
054C vmovdqu [rbp-5B0h],xmm0
0555 vmovdqu xmm0,[rbp-5B0h]
055E vmovdqu [rbp-5F8h],xmm0
0567 mov rcx,26AA054E200h
0571 mov rcx,[rcx]
0574 mov rdx,[r12+1A8h]
057C vmovdqu xmm0,[rbp-5F8h]
0585 vmovdqu [rbp-678h],xmm0
058E xor r9d,r9d
0591 mov [rsp+20h],r9d
0596 mov [rsp+28h],r9d
059B mov dword [rsp+30h],0FFFFFFFFh
05A3 mov dword [rsp+38h],0FFFFFFFFh
05AB lea r9,[rbp-678h]
05B2 mov r8d,eax
05B5 mov r11,7FF8C89FE138h
05BF cmp [rcx],ecx
05C1 call qword [rel 0FFFFFFFFFF30CA88h]
05C7 xor edi,edi
05C9 mov [rbp-24Ch],edi
05CF mov rcx,[rbp-0C0h]
05D6 mov edx,20000h
05DB call 0FFFFFFFFFF6A1660h
05E0 test al,al
05E2 je near 00000000000006CDh
05E8 cmp byte [r14+0D0h],0
05F0 jne near 00000000000006C2h
05F6 mov rdx,26AA054E1D0h
0600 mov rcx,[rdx]
0603 mov rdx,[rbx+138h]
060A mov r11,7FF8C89FE140h
0614 mov r8d,1
061A cmp [rcx],ecx
061C call qword [rel 0FFFFFFFFFF30CA90h]
0622 vxorps xmm6,xmm6,xmm6
0627 vcvtsi2ss xmm6,xmm6,dword [r14+0C8h]
0630 mov rcx,26AA0555D50h
063A mov rcx,[rcx]
063D mov rcx,[rcx+8]
0641 mov rdx,rcx
0644 cmp dword [rdx+8],3Ah
0648 jbe near 0000000000001502h
064E vmovss xmm7,[rdx+0F8h]
0657 cmp dword [rcx+8],3Bh
065B jbe near 0000000000001502h
0661 vmovss xmm8,[rcx+0FCh]
066A mov rcx,[rbx+0F8h]
0671 mov rcx,[rcx+8]
0675 cmp eax,[rcx+8]
0678 jae near 0000000000001502h
067E movsxd rax,eax
0681 lea rax,[rax+rax*8]
0685 lea rsi,[rcx+rax*8+10h]
068A lea rdi,[rbp-298h]
0691 mov ecx,9
0696 rep movsq
0699 lea rcx,[rbp-298h]
06A0 call 0FFFFFFFFFCC76C08h
06A5 vxorps xmm0,xmm0,xmm0
06AA vcvtsi2ss xmm0,xmm0,eax
06AF vmulss xmm0,xmm0,xmm8
06B4 vaddss xmm7,xmm7,xmm0
06B9 vucomiss xmm6,xmm7
06BE jbe short 00000000000006CDh
06C0 jmp short 00000000000006D7h
06C2 mov edi,1
06C7 mov [rbp-24Ch],edi
06CD mov edi,[rbp-24Ch]
06D3 test edi,edi
06D5 je short 0000000000000734h
06D7 mov rcx,26AA0550378h
06E1 mov rcx,[rcx]
06E4 add rcx,8
06E8 vmovdqu xmm0,[rcx]
06ED vmovdqu [rbp-760h],xmm0
06F6 mov rcx,rbx
06F9 lea rdx,[rbp-760h]
0700 mov r8d,2
0706 call 0FFFFFFFFFCC7A910h
070B mov rcx,26AA0555D20h
0715 mov rcx,[rcx]
0718 mov rcx,[rcx+50h]
071C cmp [rcx],ecx
071E call 0FFFFFFFFFFBDADA0h
0723 mov edi,1
0728 mov [rbp+70h],r13
072C mov r13d,edi
072F jmp 0000000000000EDAh
0734 cmp byte [r14+0D0h],0
073C jne short 0000000000000746h
073E mov edi,[rbp-104h]
0744 jmp short 000000000000074Bh
0746 mov edi,3
074B mov [rbp+70h],r13
074F mov r13d,edi
0752 jmp 0000000000000EDAh
0757 cmp byte [r14+6],0
075C je short 00000000000007D4h
075E mov r13,[rbp+70h]
0762 mov [rsp+20h],r13
0767 vmovss xmm0,[rel 1510h]
0770 vmovss [rsp+28h],xmm0
0777 lea rdx,[rbp-0B8h]
077E mov [rsp+30h],rdx
0783 xor edx,edx
0785 mov [rsp+38h],edx
0789 mov [rsp+40h],edx
078D mov [rsp+48h],edx
0791 mov [rsp+50h],r14
0796 lea rdx,[rbp-0C8h]
079D mov [rsp+58h],rdx
07A2 lea rdx,[rbp-100h]
07A9 mov [rsp+60h],rdx
07AE lea rdx,[rbp-568h]
07B5 mov rcx,r12
07B8 mov r8,r15
07BB mov r9,rbx
07BE call 0FFFFFFFFFCC84EA8h
07C3 mov edi,2
07C8 mov [rbp+70h],r13
07CC mov r13d,edi
07CF jmp 0000000000000EDAh
07D4 test r15,r15
07D7 je near 000000000000088Eh
07DD mov [rbp-104h],r8d
07E4 mov rcx,r15
07E7 mov rdx,rbx
07EA call 0FFFFFFFFFCC7AEF8h
07EF test al,al
07F1 je short 0000000000000810h
07F3 cmp byte [r12+1F2h],0
07FC je short 0000000000000819h
07FE mov r13d,1
0804 mov [rbp-118h],r13d
080B jmp 0000000000000920h
0810 mov r8d,[rbp-104h]
0817 jmp short 000000000000088Eh
0819 cmp dword [rbp-108h],0
0820 jne near 0000000000000913h
0826 test edi,edi
0828 je short 000000000000084Ah
082A cmp dword [r15+15Ch],1
0832 jne near 0000000000000913h
0838 mov r13d,1
083E mov [rbp-118h],r13d
0845 jmp 0000000000000920h
084A mov ecx,18h
084F mov edx,1
0854 call 0FFFFFFFFFCC8ECF8h
0859 test eax,eax
085B jg short 0000000000000870h
085D mov ecx,17h
0862 mov edx,1
0867 call 0FFFFFFFFFCC8ECF8h
086C test eax,eax
086E jle short 000000000000087Fh
0870 cmp dword [r12+1B4h],3
0879 jne near 0000000000000913h
087F mov dword [rbp-118h],1
0889 jmp 0000000000000920h
088E mov rcx,[rbx+140h]
0895 test dword [rcx],800h
089B je short 00000000000008CBh
089D test r15,r15
08A0 je short 00000000000008CBh
08A2 mov [rbp-104h],r8d
08A9 mov rcx,r15
08AC mov rdx,rbx
08AF call 0FFFFFFFFFCC7AEF0h
08B4 test al,al
08B6 mov r8d,[rbp-104h]
08BD jne short 00000000000008CBh
08BF mov dword [rbp-118h],1
08C9 jmp short 0000000000000920h
08CB test edi,edi
08CD je near 0000000000000A0Dh
08D3 test r15,r15
08D6 je near 0000000000000A01h
08DC cmp dword [r15+15Ch],1
08E4 jne near 00000000000009F5h
08EA cmp qword [rbx+68h],0
08EF mov [rbp-104h],r8d
08F6 je short 0000000000000913h
08F8 mov rdx,[rbx+68h]
08FC mov rcx,r15
08FF call 0FFFFFFFFFCC7AEF8h
0904 test al,al
0906 je short 0000000000000913h
0908 mov eax,1
090D mov [rbp-118h],eax
0913 cmp dword [rbp-118h],0
091A je near 0000000000000A19h
0920 test edi,edi
0922 je near 00000000000009E8h
0928 test r15,r15
092B je near 00000000000009E8h
0931 call 0FFFFFFFFFFD11590h
0936 cmp rax,r15
0939 jne near 00000000000009E8h
093F mov rcx,r15
0942 mov rdx,rbx
0945 call 0FFFFFFFFFCC7AEF8h
094A test al,al
094C je near 00000000000009E8h
0952 mov rcx,26AA0555D40h
095C mov rcx,[rcx]
095F mov rdx,26A9E41F9A0h
0969 mov rdx,[rdx]
096C xor r8d,r8d
096F cmp [rcx],ecx
0971 call 0FFFFFFFFFF57AD30h
0976 mov rcx,rax
0979 mov rax,[rax]
097C mov rax,[rax+40h]
0980 call qword [rax]
0982 mov r13,rax
0985 mov rcx,7FF8C654DEC8h
098F call 000000005BD9E900h
0994 mov rdi,rax
0997 mov rdx,26A9D2ACC48h
09A1 mov rdx,[rdx]
09A4 lea rcx,[rbp-530h]
09AB call 0FFFFFFFFFC617DF0h
09B0 vmovdqu xmm0,[rbp-530h]
09B9 vmovdqu [rbp-608h],xmm0
09C2 lea rcx,[rdi+8]
09C6 mov rdx,r13
09C9 call 000000005BD9C5B0h
09CE lea rcx,[rdi+28h]
09D2 vmovdqu xmm0,[rbp-608h]
09DB vmovdqu [rcx],xmm0
09E0 mov rcx,rdi
09E3 call 0FFFFFFFFFF57F8C0h
09E8 mov edi,3
09ED mov r13d,edi
09F0 jmp 0000000000000EDAh
09F5 mov [rbp-104h],r8d
09FC jmp 0000000000000913h
0A01 mov [rbp-104h],r8d
0A08 jmp 0000000000000913h
0A0D mov [rbp-104h],r8d
0A14 jmp 0000000000000913h
0A19 test qword [rbp-0C0h],40000000h
0A24 setne dil
0A28 movzx edi,dil
0A2C xor edx,edx
0A2E mov [rsp+20h],rdx
0A33 vmovss xmm0,[rel 1514h]
0A3C vmovss [rsp+28h],xmm0
0A43 lea rdx,[rbp-0B8h]
0A4A mov [rsp+30h],rdx
0A4F xor edx,edx
0A51 mov [rsp+38h],edx
0A55 mov [rsp+40h],edx
0A59 mov [rsp+48h],edx
0A5D mov [rsp+50h],r14
0A62 lea rdx,[rbp-0C8h]
0A69 mov [rsp+58h],rdx
0A6E lea rdx,[rbp-100h]
0A75 mov [rsp+60h],rdx
0A7A lea rdx,[rbp-3F8h]
0A81 mov rcx,r12
0A84 mov r8,r15
0A87 mov r9,rbx
0A8A call 0FFFFFFFFFCC84EA8h
0A8F lea rdx,[rbp-360h]
0A96 lea rax,[rbp-0B8h]
0A9D mov rcx,[rbp+30h]
0AA1 vmovdqu xmm0,[rcx]
0AA6 vmovdqu [rbp-678h],xmm0
0AAF vmovdqu xmm0,[r13]
0AB5 vmovdqu [rbp-688h],xmm0
0ABE mov rcx,r12
0AC1 mov r8,r15
0AC4 mov r9,r14
0AC7 mov [rsp+20h],rax
0ACC lea rax,[rbp-678h]
0AD3 mov [rsp+28h],rax
0AD8 lea rax,[rbp-688h]
0ADF mov [rsp+30h],rax
0AE4 call 0FFFFFFFFFCC853B8h
0AE9 movzx eax,byte [r14+3]
0AEE test edi,eax
0AF0 je short 0000000000000B33h
0AF2 mov r13d,[rbp+58h]
0AF6 test r13d,r13d
0AF9 jle near 0000000000000BA3h
0AFF lea rcx,[rbp-2D8h]
0B06 mov eax,[rcx]
0B08 cdq
0B09 idiv r13d
0B0C mov [rcx],eax
0B0E lea rcx,[rbp-2D4h]
0B15 mov eax,[rcx]
0B17 cdq
0B18 idiv r13d
0B1B mov [rcx],eax
0B1D mov edx,[rbp-2D8h]
0B23 sub edx,[rbp-0E8h]
0B29 mov [rbp-0F0h],edx
0B2F mov [rbp+58h],r13d
0B33 cmp byte [r14+3],0
0B38 je near 0000000000000CF2h
0B3E mov rdx,26AA054E408h
0B48 mov rdx,[rdx]
0B4B mov rax,[rdx+28h]
0B4F mov [rbp-8D8h],rax
0B56 lea rcx,[rbp-838h]
0B5D mov rdx,r14
0B60 mov r8d,0D4h
0B66 call 000000005BD9D890h
0B6B mov rcx,[rbp-8D8h]
0B72 mov rdx,rbx
0B75 lea r8,[rbp-838h]
0B7C lea r9,[rbp-360h]
0B83 mov rax,[rcx]
0B86 mov rax,[rax+50h]
0B8A call qword [rax+10h]
0B8D test al,al
0B8F je short 0000000000000BA9h
0B91 lea rcx,[rbp-2B4h]
0B98 or dword [rcx],100h
0B9E jmp 0000000000000CF2h
0BA3 mov [rbp+58h],r13d
0BA7 jmp short 0000000000000B33h
0BA9 mov rcx,[rbx+140h]
0BB0 test dword [rcx],800h
0BB6 je near 0000000000000CF2h
0BBC mov rcx,[rbx+60h]
0BC0 test rcx,rcx
0BC3 je short 0000000000000C38h
0BC5 cmp [rcx+68h],rbx
0BC9 jne near 0000000000000CF2h
0BCF mov rcx,26AA054E408h
0BD9 mov rcx,[rcx]
0BDC mov rax,[rcx+28h]
0BE0 mov [rbp-8B8h],rax
0BE7 lea rcx,[rbp-0B8h]
0BEE call 0FFFFFFFFFFC75180h
0BF3 lea rdx,[rbp-360h]
0BFA mov [rsp+28h],rdx
0BFF mov [rsp+20h],rax
0C04 mov rdx,r15
0C07 mov r8,rbx
0C0A mov r9,r14
0C0D mov rcx,[rbp-8B8h]
0C14 mov rax,[rcx]
0C17 mov rax,[rax+50h]
0C1B call qword [rax+18h]
0C1E test al,al
0C20 je near 0000000000000CF2h
0C26 lea rcx,[rbp-2B4h]
0C2D or dword [rcx],800h
0C33 jmp 0000000000000CF2h
0C38 mov rcx,26AA054E408h
0C42 mov rcx,[rcx]
0C45 mov rax,[rcx+28h]
0C49 mov [rbp-8A8h],rax
0C50 lea rcx,[rbp-0B8h]
0C57 call 0FFFFFFFFFFC75180h
0C5C lea rdx,[rbp-360h]
0C63 mov [rsp+28h],rdx
0C68 mov [rsp+20h],rax
0C6D mov rdx,r15
0C70 mov r8,rbx
0C73 mov r9,r14
0C76 mov rcx,[rbp-8A8h]
0C7D mov rax,[rcx]
0C80 mov rax,[rax+50h]
0C84 call qword [rax+20h]
0C87 test al,al
0C89 je short 0000000000000C95h
0C8B lea rcx,[rbp-2B4h]
0C92 or dword [rcx],10h
0C95 mov rcx,26AA054E408h
0C9F mov rcx,[rcx]
0CA2 mov rax,[rcx+28h]
0CA6 mov [rbp-8B0h],rax
0CAD lea rcx,[rbp-0B8h]
0CB4 call 0FFFFFFFFFFC75180h
0CB9 lea rdx,[rbp-360h]
0CC0 mov [rsp+28h],rdx
0CC5 mov [rsp+20h],rax
0CCA mov rdx,r15
0CCD mov r8,rbx
0CD0 mov r9,r14
0CD3 mov rcx,[rbp-8B0h]
0CDA mov rax,[rcx]
0CDD mov rax,[rax+50h]
0CE1 call qword [rax+28h]
0CE4 test al,al
0CE6 je short 0000000000000CF2h
0CE8 lea rdx,[rbp-2B4h]
0CEF or dword [rdx],20h
0CF2 mov rdx,[rbx+150h]
0CF9 cmp dword [rdx],1
0CFC jne short 0000000000000D58h
0CFE lea rcx,[rbp-750h]
0D05 lea rdx,[rbp-360h]
0D0C lea rdx,[rbp-360h]
0D13 mov r8d,0C8h
0D19 call 000000005BD9D890h
0D1E mov [rsp+28h],r14
0D23 lea rcx,[rbp-0B8h]
0D2A mov [rsp+30h],rcx
0D2F lea rcx,[rbp-100h]
0D36 mov [rsp+38h],rcx
0D3B mov rcx,r12
0D3E mov rdx,r15
0D41 mov r8,rbx
0D44 lea r9,[rbp-750h]
0D4B mov [rsp+20h],r9
0D50 xor r9d,r9d
0D53 call 0FFFFFFFFFCC853A8h
0D58 mov rcx,26AA054E408h
0D62 mov rcx,[rcx]
0D65 (bad)
IL_0000: ldarg.0
IL_0001: call TaleWorlds.DotNet.DotNetObject TaleWorlds.DotNet.DotNetObject::GetManagedObjectWithId(System.Int32)
IL_0006: isinst TaleWorlds.MountAndBlade.Mission
IL_000B: ldarg.s System.Int32 attacker
IL_000D: call TaleWorlds.DotNet.DotNetObject TaleWorlds.DotNet.DotNetObject::GetManagedObjectWithId(System.Int32)
IL_0012: isinst TaleWorlds.MountAndBlade.Agent
IL_0017: stloc.0
IL_0018: ldarg.s System.Int32 victim
IL_001A: call TaleWorlds.DotNet.DotNetObject TaleWorlds.DotNet.DotNetObject::GetManagedObjectWithId(System.Int32)
IL_001F: isinst TaleWorlds.MountAndBlade.Agent
IL_0024: stloc.1
IL_0025: ldnull
IL_0026: stloc.2
IL_0027: ldarg.s TaleWorlds.DotNet.NativeObjectPointer hitEntity
IL_0029: ldfld System.UIntPtr TaleWorlds.DotNet.NativeObjectPointer::Pointer
IL_002E: ldsfld System.UIntPtr System.UIntPtr::Zero
IL_0033: call System.Boolean System.UIntPtr::op_Inequality(System.UIntPtr, System.UIntPtr)
IL_0038: brfalse.s IL_0047
IL_003A: ldarg.s TaleWorlds.DotNet.NativeObjectPointer hitEntity
IL_003C: ldfld System.UIntPtr TaleWorlds.DotNet.NativeObjectPointer::Pointer
IL_0041: newobj System.Void TaleWorlds.Engine.GameEntity::.ctor(System.UIntPtr)
IL_0046: stloc.2
IL_0047: ldarg.1
IL_0048: ldarg.2
IL_0049: ldarg.3
IL_004A: ldarg.s TaleWorlds.Library.Vec3 missilePosition
IL_004C: ldarg.s TaleWorlds.Library.Vec3 missileAngularVelocity
IL_004E: ldarg.s TaleWorlds.Library.Vec3 movementVelocity
IL_0050: ldarg.s TaleWorlds.Library.MatrixFrame attachGlobalFrame
IL_0052: ldarg.s TaleWorlds.Library.MatrixFrame affectedShieldGlobalFrame
IL_0054: ldarg.s System.Int32 numDamagedAgents
IL_0056: ldloc.0
IL_0057: ldloc.1
IL_0058: ldloc.2
IL_0059: callvirt System.Boolean TaleWorlds.MountAndBlade.Mission::MissileHitCallback(System.Int32&, TaleWorlds.MountAndBlade.AttackCollisionData&, TaleWorlds.Library.Vec3, TaleWorlds.Library.Vec3, TaleWorlds.Library.Vec3, TaleWorlds.Library.Vec3, TaleWorlds.Library.MatrixFrame, TaleWorlds.Library.MatrixFrame, System.Int32, TaleWorlds.MountAndBlade.Agent, TaleWorlds.MountAndBlade.Agent, TaleWorlds.Engine.GameEntity)
IL_005E: ret
0000 push rbp
0001 push r15
0003 push r14
0005 push r13
0007 push r12
0009 push rdi
000A push rsi
000B push rbx
000C sub rsp,98h
0013 lea rbp,[rsp+0D0h]
001B mov rdi,rdx
001E mov rbx,r8
0021 mov rsi,r9
0024 mov r15,[rbp+30h]
0028 mov r12,[rbp+38h]
002C mov r13,[rbp+40h]
0030 mov r14,[rbp+70h]
0034 call 0FFFFFFFFFD148260h
0039 test rax,rax
003C je near 0000000000000152h
0042 mov rcx,7FF8C647D7C8h
004C cmp [rax],rcx
004F mov [rbp-50h],rax
0053 je short 000000000000005Bh
0055 xor eax,eax
0057 mov [rbp-50h],rax
005B mov ecx,[rbp+60h]
005E call 0FFFFFFFFFD148260h
0063 test rax,rax
0066 je short 0000000000000079h
0068 mov rcx,7FF8C6447088h
0072 cmp [rax],rcx
0075 je short 0000000000000079h
0077 xor eax,eax
0079 mov [rbp-40h],rax
007D mov ecx,[rbp+68h]
0080 call 0FFFFFFFFFD148260h
0085 test rax,rax
0088 je short 000000000000009Bh
008A mov rcx,7FF8C6447088h
0094 cmp [rax],rcx
0097 je short 000000000000009Bh
0099 xor eax,eax
009B mov [rbp-48h],rax
009F xor edx,edx
00A1 mov rcx,[r14]
00A4 mov r8,[rbp-50h]
00A8 mov [rbp-58h],r8
00AC test rcx,rcx
00AF je near 000000000000014Ch
00B5 mov rcx,7FF8C61E4528h
00BF call 000000005BCCB0C0h
00C4 mov rdx,rax
00C7 mov rax,[r14]
00CA mov [rbp-60h],rdx
00CE mov rcx,rdx
00D1 mov rdx,rax
00D4 call 0FFFFFFFFFCC9D830h
00D9 mov r14,[rbp-60h]
00DD mov rdx,r14
00E0 mov r8,[rbp-58h]
00E4 mov [rsp+20h],r15
00E9 mov [rsp+28h],r12
00EE mov [rsp+30h],r13
00F3 mov r14,[rbp+48h]
00F7 mov [rsp+38h],r14
00FC mov r14,[rbp+50h]
0100 mov [rsp+40h],r14
0105 mov r14d,[rbp+58h]
0109 mov [rsp+48h],r14d
010E mov r14,[rbp-40h]
0112 mov [rsp+50h],r14
0117 mov rax,[rbp-48h]
011B mov [rsp+58h],rax
0120 mov [rsp+60h],rdx
0125 mov rcx,r8
0128 mov rdx,rdi
012B mov r8,rbx
012E mov r9,rsi
0131 cmp [rcx],ecx
0133 call 0FFFFFFFFFCC84FC0h
0138 movzx eax,al
013B lea rsp,[rbp-38h]
013F pop rbx
0140 pop rsi
0141 pop rdi
0142 pop r12
0144 pop r13
0146 (bad)
IL_0000: ldsfld TaleWorlds.MountAndBlade.IMBMission TaleWorlds.MountAndBlade.MBAPI::IMBMission
IL_0005: ldarg.0
IL_0006: call System.UIntPtr TaleWorlds.MountAndBlade.Mission::get_Pointer()
IL_000B: ldarg.1
IL_000C: callvirt System.Void TaleWorlds.MountAndBlade.IMBMission::Tick(System.UIntPtr, System.Single)
IL_0011: ret
0000 jmp 0FFFFFFFFFF171E80h
0005 clc
0006 ja short 0000000000000050h
0008 mov edx,0A054E200h
000D push 2
000F add [rax],al
0011 mov r11,[rdx]
0014 mov rdx,[rcx+1A8h]
001B mov rcx,r11
001E vmovaps xmm2,xmm1
0023 mov r11,7FF8C5BE2F40h
002D cmp [rcx],ecx
002F call qword [rel 0FFFFFFFFFECB7E70h]
0035 nop
0036 add rsp,28h
003A ret
003B add [rcx],bl
003D add al,1
003F add [rdx+rax*2],al
0042 add [rax],al
0044 add [rax],al
0047 add [rax],bh
0049 xor al,63h
004B xbegin 000000000F0000D0h
0051 mov dh,42h
IL_0000: ldarg.0
IL_0001: brfalse.s IL_0024
IL_0003: call Bannerlord.ButterLib.ExceptionHandler.ExceptionHandlerSubSystem Bannerlord.ButterLib.ExceptionHandler.ExceptionHandlerSubSystem::get_Instance()
IL_0008: dup
IL_0009: brtrue.s IL_000F
IL_000B: pop
IL_000C: ldc.i4.0
IL_000D: br.s IL_0014
IL_000F: call System.Boolean Bannerlord.ButterLib.ExceptionHandler.ExceptionHandlerSubSystem::get_DisableWhenDebuggerIsAttached()
IL_0014: brfalse.s IL_001E
IL_0016: call System.Boolean Bannerlord.ButterLib.ExceptionHandler.BEWPatch::IsDebuggerAttached()
IL_001B: brfalse.s IL_001E
IL_001D: ret
IL_001E: ldarg.0
IL_001F: call System.Void Bannerlord.ButterLib.ExceptionHandler.ExceptionReporter::Show(System.Exception)
IL_0024: ret
.method private hidebysig static
void Finalizer (
class [mscorlib]System.Exception __exception
) cil managed
{
// Method begins at RVA 0x8114
// Header size: 1
// Code size: 37 (0x25)
.maxstack 8
// if (__exception != null)
IL_0000: ldarg.0
IL_0001: brfalse.s IL_0024
// ExceptionHandlerSubSystem? instance = ExceptionHandlerSubSystem.Instance;
IL_0003: call class Bannerlord.ButterLib.ExceptionHandler.ExceptionHandlerSubSystem Bannerlord.ButterLib.ExceptionHandler.ExceptionHandlerSubSystem::get_Instance()
// if (instance == null || !instance.DisableWhenDebuggerIsAttached || !IsDebuggerAttached())
IL_0008: dup
IL_0009: brtrue.s IL_000f
// (no C# code)
IL_000b: pop
IL_000c: ldc.i4.0
IL_000d: br.s IL_0014
IL_000f: call instance bool Bannerlord.ButterLib.ExceptionHandler.ExceptionHandlerSubSystem::get_DisableWhenDebuggerIsAttached()
IL_0014: brfalse.s IL_001e
IL_0016: call bool Bannerlord.ButterLib.ExceptionHandler.BEWPatch::IsDebuggerAttached()
IL_001b: brfalse.s IL_001e
// ExceptionReporter.Show(__exception);
IL_001d: ret
IL_001e: ldarg.0
IL_001f: call void Bannerlord.ButterLib.ExceptionHandler.ExceptionReporter::Show(class [mscorlib]System.Exception)
// }
IL_0024: ret
} // end of method BEWPatch::Finalizer
// Bannerlord.ButterLib, Version=2.9.10.0, Culture=neutral, PublicKeyToken=null
// Bannerlord.ButterLib.ExceptionHandler.BEWPatch
using System;
private static void Finalizer(Exception? __exception)
{
if (__exception != null)
{
ExceptionHandlerSubSystem? instance = ExceptionHandlerSubSystem.Instance;
if (instance == null || !instance.DisableWhenDebuggerIsAttached || !IsDebuggerAttached())
{
ExceptionReporter.Show(__exception);
}
}
}