Function at 0x10036820
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a2c4d
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x100df040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x100e2f44]
mov ecx, dword [0x100e2f50]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x30]
mov ecx, dword [0x100e2f44]
push eax
call esi
mov ebx, eax
test ebx, ebx
je 0x10036c58
mov ecx, dword fs:[0x2c]
mov edx, dword [0x100e2f10]
mov esi, dword [ecx + edx*4]
mov ecx, dword [0x100e3124]
mov dword [ebp - 0x10], esi
cmp ecx, dword [esi + 4]
jle 0x100368d4
push 0x100e3124
call fcn.1009fb3d
add esp, 4
cmp dword [0x100e3124], 0xffffffff
jne 0x100368d4
mov edx, str.deadflag
mov dword [ebp - 4], 0
mov ecx, str.CBasePlayer
call fcn.1009b460
push 0x100e3124
mov dword [0x100e313c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1009faec
add esp, 4
mov eax, dword [0x100e313c]
cmp dword [eax + ebx], 0
jne 0x10036c58
mov ecx, ebx
call fcn.10025760
test al, al
jne 0x10036c58
push 0x4e
mov ecx, ebx
call fcn.10023210
test al, al
jne 0x10036c58
push 0x1f
mov ecx, ebx
call fcn.10023210
test al, al
jne 0x10036c58
push 0x13
mov ecx, ebx
call fcn.10023210
test al, al
jne 0x10036c58
mov eax, dword [0x100e3d58]
cmp eax, dword [esi + 4]
jle 0x10036978
push 0x100e3d58
call fcn.1009fb3d
add esp, 4
cmp dword [0x100e3d58], 0xffffffff
jne 0x10036978
mov dword [ebp - 4], 1
mov ecx, dword [0x100e2f38]
push str.tf_weapon_criticals
mov eax, dword [ecx]
call dword [eax + 0x34]
push 0x100e3d58
mov dword [0x100e3d4c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1009faec
add esp, 4
mov eax, dword [0x100e3d4c]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x30], 0
je 0x10036c58
call fcn.10099080
mov esi, eax
test esi, esi
je 0x10036c58
mov ecx, dword [esi]
mov edx, dword [ecx + 0x5f4]
mov ecx, esi
call edx
cmp eax, 7
je 0x10036c58
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x528]
call eax
mov edi, dword [ebp + 8]
cmp eax, 2
je 0x10036a56
mov ecx, esi
call fcn.10025160
test al, al
je 0x10036c58
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x5f4]
call eax
cmp eax, 0x18
je 0x10036c1b
cmp eax, 0x5b
je 0x10036c1b
mov ecx, dword [ebp - 0x10]
mov eax, dword [0x100e3138]
cmp eax, dword [ecx + 4]
jle 0x10036a48
push 0x100e3138
call fcn.1009fb3d
add esp, 4
cmp dword [0x100e3138], 0xffffffff
jne 0x10036a48
mov edx, str.m_iItemDefinitionIndex
mov dword [ebp - 4], 2
mov ecx, str.CEconEntity
call fcn.1009b460
push 0x100e3138
mov dword [0x100e3108], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1009faec
add esp, 4
mov eax, dword [0x100e3108]
cmp dword [eax + esi], 0x2da
je 0x10036a60
test byte [edi + 0x24], 1
je 0x10036c58
cmp byte [0x100e35fa], 0
je 0x10036c58
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x528]
call eax
cmp eax, 2
jne 0x10036c2f
mov ecx, dword [ebp - 0x10]
mov eax, dword [0x100e3d54]
cmp eax, dword [ecx + 4]
jle 0x10036ad8
push 0x100e3d54
call fcn.1009fb3d
add esp, 4
cmp dword [0x100e3d54], 0xffffffff
jne 0x10036ad8
mov dword [ebp - 4], 3
mov ecx, dword [0x100e2f38]
push str.tf_weapon_criticals_melee
mov eax, dword [ecx]
call dword [eax + 0x34]
push 0x100e3d54
mov dword [0x100e3d50], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1009faec
add esp, 4
mov eax, dword [0x100e3d50]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x30], 0
je 0x10036c58
movsx eax, word [0x100e2fcc]
mov eax, dword [eax*4 + 0x100e31a8]
cmp eax, 1
je 0x10036b06
cmp eax, 2
jne 0x10036c0e
mov edx, dword [0x100df3d0]
test edx, edx
je 0x10036c47
mov ecx, dword [0x100e2f44]
push edx
mov eax, dword [ecx]
call dword [eax + 0xc]
mov dword [ebp + 8], eax
test eax, eax
je 0x10036c47
mov edx, dword [eax + 8]
lea ecx, [eax + 8]
call dword [edx + 8]
test eax, eax
je 0x10036c47
cmp dword [eax + 0x14], 0xf7
jne 0x10036c47
mov eax, dword [ebp - 0x10]
mov ecx, dword [0x100e3634]
cmp ecx, dword [eax + 4]
jle 0x10036ba7
push 0x100e3634
call fcn.1009fb3d
mov ecx, dword [0x100e3634]
add esp, 4
cmp ecx, 0xffffffff
jne 0x10036ba7
mov edx, str.m_iTeamNum
mov dword [ebp - 4], 4
mov ecx, str.CBaseEntity
call fcn.1009b460
push 0x100e3634
mov dword [0x100e362c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1009faec
mov ecx, dword [0x100e3634]
add esp, 4
mov eax, dword [0x100e362c]
add dword [ebp + 8], eax
mov eax, dword [ebp - 0x10]
cmp ecx, dword [eax + 4]
jle 0x10036bff
push 0x100e3634
call fcn.1009fb3d
add esp, 4
cmp dword [0x100e3634], 0xffffffff
jne 0x10036bff
mov edx, str.m_iTeamNum
mov dword [ebp - 4], 5
mov ecx, str.CBaseEntity
call fcn.1009b460
push 0x100e3634
mov dword [0x100e362c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1009faec
add esp, 4
mov ecx, dword [ebp + 8]
mov eax, dword [0x100e362c]
mov ecx, dword [ecx]
cmp ecx, dword [eax + ebx]
jne 0x10036c47
cmp byte [0x100df2ec], 0
je 0x10036c58
push 0
jmp 0x10036c49
test byte [0x100e35fc], 1
je 0x10036c58
test byte [edi + 0x24], 1
jne 0x10036c58
jmp 0x10036a6d
movsx eax, word [0x100e3028]
mov eax, dword [eax*4 + 0x100e31a8]
cmp eax, 1
je 0x10036c47
cmp eax, 2
jne 0x10036c0e
push 1
mov edx, esi
mov ecx, edi
call fcn.10036780
add esp, 4
mov dword [edi + 4], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4