Function at 0x10091740
Capabilities:
Access peb ldr_data

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a7bc1
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xe8
mov eax, dword [0x10112040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [0x10115de8]
mov ecx, dword [0x10115df4]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x10115de8]
push eax
call esi
mov esi, eax
test esi, esi
je 0x10091cb4
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10115da8]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10115fcc]
cmp eax, dword [ecx + 4]
jle 0x1009180e
push 0x10115fcc
call fcn.100a090d
add esp, 4
cmp dword [0x10115fcc], 0xffffffff
jne 0x1009180e
mov edx, str.deadflag
mov dword [ebp - 4], 0
mov ecx, str.CBasePlayer
call fcn.1009c240
push 0x10115fcc
mov dword [0x10115fe4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100a08bc
add esp, 4
mov eax, dword [0x10115fe4]
cmp dword [esi + eax], 0
jne 0x10091cb4
mov ecx, dword [0x10115e3c]
mov eax, dword [ecx]
mov eax, dword [eax + 0xd4]
call eax
test al, al
jne 0x10091880
mov ecx, dword [0x10115e08]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test al, al
jne 0x10091880
mov ecx, dword [0x10112a80]
mov eax, dword [ecx + 1]
add ecx, 5
add eax, ecx
call eax
test al, al
jne 0x10091880
cmp byte [0x10116765], al
jne 0x10091880
movsx eax, word [0x10115f34]
cmp dword [eax*4 + 0x10116050], 1
jne 0x10091880
cmp byte [0x10115f70], 0
sete al
mov byte [0x10115f70], al
jmp 0x10091885
mov al, byte [0x10115f70]
test al, al
jne 0x100918db
push 7
mov ecx, esi
call fcn.10023960
test al, al
jne 0x100918db
push 0x52
mov ecx, esi
call fcn.10023960
test al, al
jne 0x100918db
push 0x36
mov ecx, esi
call fcn.10023960
test al, al
jne 0x100918db
push 0x4d
mov ecx, esi
call fcn.10023960
test al, al
jne 0x100918db
cmp byte [0x10116765], al
jne 0x100918db
mov ecx, dword [0x10115df8]
mov byte [ebp - 0xd1], al
mov eax, dword [ecx]
call dword [eax + 0x84]
jmp 0x100918f0
mov ecx, dword [0x10115df8]
mov byte [ebp - 0xd1], 1
mov eax, dword [ecx]
call dword [eax + 0x80]
mov edx, dword [0x101130b0]
mov ecx, esi
mov eax, dword [edx + 1]
add edx, 5
add eax, edx
call eax
cmp byte [ebp - 0xd1], 0
je 0x10091cb4
vmovss xmm1, dword [0x10107e68]
vmulss xmm0, xmm1, dword [edi + 0x4c]
lea eax, [ebp - 0xe8]
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0xec]
mov dword [ebp - 0x18], eax
vmovss dword [ebp - 0x74], xmm0
fld dword [ebp - 0x74]
fsincos
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x18]
fstp dword [edx]
fstp dword [eax]
vmulss xmm0, xmm1, dword [edi + 0x50]
lea eax, [ebp - 0xe0]
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0xe4]
mov dword [ebp - 0x74], eax
vmovss dword [ebp - 0x18], xmm0
fld dword [ebp - 0x18]
fsincos
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
fstp dword [edx]
fstp dword [eax]
vmulss xmm0, xmm1, dword [edi + 0x54]
lea eax, [ebp - 0xd8]
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0xdc]
mov dword [ebp - 0x74], eax
vmovss dword [ebp - 0x18], xmm0
fld dword [ebp - 0x18]
fsincos
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
fstp dword [edx]
fstp dword [eax]
vmovss xmm1, dword [ebp - 0xe8]
vmulss xmm0, xmm1, dword [ebp - 0xe0]
vmovss xmm6, dword [ebp - 0xdc]
vmovss xmm7, dword [ebp - 0xec]
vmovss xmm2, dword [ebp - 0xe4]
vxorps xmm5, xmm2, xmmword [0x10108200]
vmovss xmm4, dword [0x101080e8]
vmulss xmm3, xmm4, dword [ebp - 0xd8]
vmovss dword [ebp - 0x18], xmm0
vmulss xmm0, xmm2, xmm1
vxorps xmm1, xmm7, xmmword [0x10108200]
vmovss dword [ebp - 0x78], xmm0
vmovss dword [ebp - 0x74], xmm1
vmulss xmm2, xmm6, xmm7
vmulss xmm0, xmm2, dword [ebp - 0xe0]
vmulss xmm1, xmm5, xmm3
vsubss xmm0, xmm1, xmm0
vmulss xmm1, xmm3, dword [ebp - 0xe0]
vmovss dword [ebp - 0xdc], xmm0
vmulss xmm0, xmm2, dword [ebp - 0xe4]
vsubss xmm0, xmm1, xmm0
vmovss dword [ebp - 0xec], xmm0
vmulss xmm0, xmm6, xmm4
vmulss xmm0, xmm0, dword [ebp - 0xe8]
vmovss xmm4, dword [ebp - 0xd8]
vmovss dword [ebp - 0xf0], xmm0
vmulss xmm2, xmm7, xmm4
vmulss xmm1, xmm2, dword [ebp - 0xe0]
vmulss xmm7, xmm4, dword [ebp - 0xe8]
vmovss xmm4, dword [0x10115f04]
vmulss xmm0, xmm6, xmm5
vsubss xmm3, xmm1, xmm0
vmulss xmm1, xmm2, dword [ebp - 0xe4]
vmulss xmm0, xmm6, dword [ebp - 0xe0]
vmovss xmm2, dword [0x101123b8]
vmovss xmm6, dword [0x10115e68]
vsubss xmm5, xmm1, xmm0
vmulss xmm0, xmm4, dword [ebp - 0xdc]
vmulss xmm1, xmm2, dword [ebp - 0x18]
vsubss xmm1, xmm1, xmm0
vmulss xmm0, xmm3, xmm6
vsubss xmm3, xmm1, xmm0
vmulss xmm1, xmm2, dword [ebp - 0x78]
vmulss xmm0, xmm4, dword [ebp - 0xec]
vsubss xmm1, xmm1, xmm0
vmulss xmm0, xmm5, xmm6
vmovss xmm5, dword [edi + 0x40]
vsubss xmm0, xmm1, xmm0
vmulss xmm1, xmm2, dword [ebp - 0x74]
vmovss dword [ebp - 0xd8], xmm0
vmulss xmm0, xmm4, dword [ebp - 0xf0]
vsubss xmm1, xmm1, xmm0
vmulss xmm0, xmm7, xmm6
vmovss xmm6, dword [edi + 0x44]
vmovss xmm7, dword [edi + 0x48]
vsubss xmm2, xmm1, xmm0
vmovss dword [ebp - 0xdc], xmm3
vmovss dword [ebp - 0xf0], xmm2
vxorps xmm4, xmm4, xmm4
vsubss xmm0, xmm5, xmm3
vsubss xmm3, xmm0, xmm5
vsubss xmm0, xmm6, dword [ebp - 0xd8]
vsubss xmm1, xmm0, xmm6
vsubss xmm0, xmm7, xmm2
vsubss xmm2, xmm0, xmm7
vmovss dword [ebp - 0x5c], xmm1
vmulss xmm0, xmm3, xmm3
vmulss xmm1, xmm1, xmm1
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm2, xmm2
vaddss xmm0, xmm1, xmm0
vucomiss xmm0, xmm4
vmovss dword [ebp - 0x64], xmm4
lahf
mov byte [ebp - 0x2f], 1
vmovss dword [ebp - 0x54], xmm4
vmovss dword [ebp - 0x44], xmm4
vmovss dword [ebp - 0x34], xmm4
vmovss dword [ebp - 0x60], xmm3
vmovss dword [ebp - 0x58], xmm2
test ah, 0x44
jp 0x10091b6a
mov byte [ebp - 0x2f], 0
vmovss xmm0, dword [0x10107fa4]
mov ecx, dword [0x10115e24]
lea edx, [ebp - 0xd0]
vmovss dword [ebp - 0x40], xmm0
vmovss dword [ebp - 0x3c], xmm0
vmovss dword [ebp - 0x38], xmm0
vaddss xmm0, xmm5, xmm4
vmovss dword [ebp - 0x70], xmm0
vaddss xmm0, xmm6, xmm4
vmovss dword [ebp - 0x6c], xmm0
vaddss xmm0, xmm7, xmm4
vmovss dword [ebp - 0x68], xmm0
vmovss xmm0, dword [0x101080c4]
xor eax, eax
mov byte [ebp - 0x30], 0
push edx
vmovss dword [ebp - 0x50], xmm0
vmovss dword [ebp - 0x4c], xmm0
vmovss dword [ebp - 0x48], xmm0
vpxor xmm0, xmm0, xmm0
lea edx, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10101210
push edx
mov dword [ebp - 0x1c], 0
lea edx, [ebp - 0x70]
vmovss dword [ebp - 0xc8], xmm4
vmovss dword [ebp - 0xcc], xmm4
vmovss dword [ebp - 0xd0], xmm4
vmovss dword [ebp - 0xbc], xmm4
vmovss dword [ebp - 0xc0], xmm4
vmovss dword [ebp - 0xc4], xmm4
vmovups xmmword [ebp - 0xb8], xmm4
mov dword [ebp - 0xa8], 0
vmovss dword [ebp - 0xa4], xmm4
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], eax
vmovss dword [ebp - 0x98], xmm4
vmovq qword [ebp - 0x94], xmm0
mov dword [ebp - 0x8c], eax
mov word [ebp - 0x88], ax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov eax, dword [ecx]
push 0x200400b
push edx
call dword [eax + 0x10]
vmovss xmm2, dword [ebp - 0xa4]
vmovss xmm0, dword [edi + 0x40]
vmulss xmm1, xmm2, dword [ebp - 0xdc]
vsubss xmm0, xmm0, xmm1
vmulss xmm1, xmm2, dword [ebp - 0xd8]
vmovss dword [edi + 0x40], xmm0
vmovss xmm0, dword [edi + 0x44]
vsubss xmm0, xmm0, xmm1
vmulss xmm1, xmm2, dword [ebp - 0xf0]
vmovss dword [edi + 0x44], xmm0
vmovss xmm0, dword [edi + 0x48]
vsubss xmm0, xmm0, xmm1
vmovss dword [edi + 0x48], xmm0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100a04fe
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret