Function at 0x1002a8f0
Capabilities:
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10077460
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x62e0
call fcn.10074f20
mov eax, dword [0x1008d040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x1008f7d4]
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x49ac], ecx
mov ecx, dword [eax + 0x74]
test ecx, ecx
je 0x1002c173
call fcn.1000ff60
test al, al
je 0x1002c173
mov eax, dword [0x1008f7d4]
cmp dword [eax + 0x78], 0
je 0x1002c173
mov eax, dword [0x1008f7f4]
cmp byte [eax], 0
je 0x1002c173
cmp byte [eax + 0x88], 0
je 0x1002c173
cmp byte [eax + 0x89], 0
je 0x1002a9cc
movzx eax, word [eax + 2]
test ax, ax
je 0x1002a9c2
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1002a9c2
cmp dword [0x1008e218], 0
jne 0x1002afb6
push 0x1007d988
push 0
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [0x1008e218], eax
xor al, al
test al, al
je 0x1002c173
mov eax, dword [0x1008f7d4]
mov ecx, dword [eax + 0x78]
mov eax, dword [ecx]
mov eax, dword [eax + 0x528]
call eax
cmp eax, 2
jne 0x1002c173
mov ecx, dword [0x1008f7d4]
mov ecx, dword [ecx + 0x74]
call fcn.1001b9b0
test al, al
jne 0x1002c173
xor ecx, ecx
mov dword [ebp - 0x187c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x187c], ecx
movq qword [ebp - 0x1884], xmm0
mov dword [ebp - 0x1884], ecx
mov dword [ebp - 0x1880], ecx
mov dword [ebp - 4], ecx
mov eax, dword [0x1008f7d4]
mov esi, dword [eax + 0x98]
mov eax, dword [eax + 0x9c]
mov dword [ebp - 0x49b0], esi
mov dword [ebp - 0x4998], eax
cmp esi, eax
je 0x1002b9fb
mov ecx, eax
mov esi, dword [esi]
mov dword [ebp - 0x499c], esi
test esi, esi
je 0x1002b9de
mov eax, dword [0x1008f7d4]
cmp esi, dword [eax + 0x74]
je 0x1002b9de
mov eax, dword [esi + 8]
lea edi, [esi + 8]
mov ecx, edi
mov dword [ebp - 0x49b4], edi
mov eax, dword [eax + 0x20]
call eax
test al, al
jne 0x1002b9d8
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 8]
call eax
cmp dword [eax + 0x14], 0xf7
jne 0x1002aaaa
mov ecx, esi
call fcn.1000ff60
test al, al
je 0x1002b9d8
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 8]
call eax
cmp dword [eax + 0x14], 0xf7
jne 0x1002abfa
mov ecx, esi
call fcn.1000fe10
mov eax, dword [eax]
shr eax, 5
test al, 1
jne 0x1002b9d8
mov ecx, esi
call fcn.1000fe10
mov eax, dword [eax]
shr eax, 0xe
test al, 1
jne 0x1002b9d8
mov ecx, esi
call fcn.1001b910
mov eax, dword [eax]
shr eax, 0xd
test al, 1
jne 0x1002b9d8
mov eax, dword [0x1008e0d8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1008fabc]
cmp eax, dword [ecx + 4]
jle 0x1002ab57
push 0x1008fabc
call fcn.10073caa
add esp, 4
cmp dword [0x1008fabc], 0xffffffff
jne 0x1002ab57
mov edx, str.55_8B_EC_81_EC_________E8_________85_C0_74_7E_8B_4D_08_85_C9_74_77_A1_________83_78_08_00_74_6C_83_78_0C_00_74_66_A1_________83_C1_08_56_8B_30_8D_85_________50_8B_01
mov byte [ebp - 4], 1
mov ecx, str.client.dll
call fcn.1001b380
push 0x1008fabc
mov dword [0x1008fac8], eax
mov byte [ebp - 4], 0
call fcn.10073c59
add esp, 4
push esi
call dword [0x1008fac8]
test al, al
je 0x1002abfa
mov eax, dword [0x1008f7f4]
cmp byte [eax + 0x14], 0
je 0x1002abfa
mov edi, dword fs:[0x2c]
mov edx, dword [0x1008e0d8]
mov eax, dword [0x1008f7d4]
mov ecx, dword [edi + edx*4]
lea edi, [esi + 8]
mov eax, dword [eax + 0x78]
mov dword [ebp - 0x18a4], eax
mov eax, dword [0x1008e168]
cmp eax, dword [ecx + 4]
jle 0x1002abe2
push 0x1008e168
call fcn.10073caa
add esp, 4
cmp dword [0x1008e168], 0xffffffff
jne 0x1002abe2
push str.m_iItemDefinitionIndex
push str.CEconEntity
mov byte [ebp - 4], 2
call fcn.1006f970
push 0x1008e168
mov dword [0x1008e0f0], eax
mov byte [ebp - 4], 0
call fcn.10073c59
add esp, 4
mov eax, dword [0x1008e0f0]
mov ecx, dword [ebp - 0x18a4]
cmp dword [ecx + eax], 0x1bf
jne 0x1002b9d8
mov eax, dword [0x1008f7d4]
lea ecx, [ebp - 0x4a44]
push ecx
mov ecx, dword [eax + 0x74]
call fcn.1000faa0
mov ecx, dword [0x1008f7d4]
mov dword [ebp - 0x49a0], eax
mov eax, dword [ecx + 0x74]
mov ecx, dword fs:[0x2c]
mov dword [ebp - 0x18a4], eax
mov eax, dword [0x1008e0d8]
mov eax, dword [ecx + eax*4]
mov ecx, dword [0x1008e150]
mov dword [ebp - 0x49a8], eax
cmp ecx, dword [eax + 4]
jle 0x1002ac85
push 0x1008e150
call fcn.10073caa
add esp, 4
cmp dword [0x1008e150], 0xffffffff
jne 0x1002ac85
push str.m_vecVelocity_0_
push str.CBasePlayer
mov byte [ebp - 4], 3
call fcn.1006f970
push 0x1008e150
mov dword [0x1008e16c], eax
mov byte [ebp - 4], 0
call fcn.10073c59
add esp, 4
mov eax, dword [0x1008f7d4]
mov ecx, dword [0x1008e16c]
mov eax, dword [eax + 0x2c]
movss xmm2, dword [eax + 0x1c]
mulss xmm2, dword [0x10084238]
mov eax, dword [ebp - 0x18a4]
movaps xmm1, xmm2
movaps xmm0, xmm2
mulss xmm1, dword [eax + ecx]
mulss xmm0, dword [eax + ecx + 4]
mulss xmm2, dword [eax + ecx + 8]
mov ecx, esi
mov eax, dword [ebp - 0x49a0]
addss xmm1, dword [eax]
addss xmm0, dword [eax + 4]
addss xmm2, dword [eax + 8]
lea eax, [ebp - 0x4a80]
push eax
movss dword [ebp - 0x18a4], xmm1
movss dword [ebp - 0x49a0], xmm0
movss dword [ebp - 0x18a8], xmm2
call fcn.1000faa0
movss xmm1, dword [ebp - 0x18a4]
lea ecx, [ebp - 0x4a04]
movss xmm2, dword [ebp - 0x18a8]
movss xmm0, dword [ebp - 0x49a0]
subss xmm1, dword [eax]
subss xmm0, dword [eax + 4]
subss xmm2, dword [eax + 8]
movss dword [ebp - 0x4a04], xmm1
movss dword [ebp - 0x4a00], xmm0
movss dword [ebp - 0x49fc], xmm2
call fcn.1000f4e0
mov eax, dword [0x1008f7d4]
mov ecx, dword [ebp - 0x49a8]
movss dword [ebp - 0x4994], xmm0
mov eax, dword [eax + 0x74]
mov dword [ebp - 0x18a4], eax
mov eax, dword [0x1008e130]
cmp eax, dword [ecx + 4]
jle 0x1002ada8
push 0x1008e130
call fcn.10073caa
add esp, 4
cmp dword [0x1008e130], 0xffffffff
jne 0x1002ada8
push str.m_iClass
push str.CTFPlayer
mov byte [ebp - 4], 4
call fcn.1006f970
push 0x1008e130
mov dword [0x1008e128], eax
mov byte [ebp - 4], 0
call fcn.10073c59
add esp, 4
mov eax, dword [0x1008e128]
mov ecx, dword [ebp - 0x18a4]
cmp dword [eax + ecx], 8
jne 0x1002ae2e
mov eax, dword [0x1008f7d4]
lea ecx, [ebp - 0x4a50]
push ecx
mov ecx, dword [eax + 0x74]
call fcn.1000faa0
mov ecx, dword [ebp - 0x499c]
mov esi, eax
lea eax, [ebp - 0x4a5c]
push eax
call fcn.1000faa0
movss xmm2, dword [esi]
lea ecx, [ebp - 0x4a10]
movss xmm1, dword [esi + 4]
movss xmm0, dword [esi + 8]
subss xmm2, dword [eax]
subss xmm1, dword [eax + 4]
subss xmm0, dword [eax + 8]
movss dword [ebp - 0x4a10], xmm2
movss dword [ebp - 0x4a0c], xmm1
movss dword [ebp - 0x4a08], xmm0
call fcn.1000f4e0
mov esi, dword [ebp - 0x499c]
movss dword [ebp - 0x4994], xmm0
push 0x1860
lea eax, [ebp - 0x4988]
mov dword [ebp - 0x4990], 0
push 0
push eax
mov dword [ebp - 0x498c], 0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x4988]
call fcn.10017380
mov eax, dword [edi]
mov ecx, edi
mov dword [ebp - 0x3128], 0
mov eax, dword [eax + 8]
call eax
cmp dword [eax + 0x14], 0xf7
jne 0x1002b83c
mov eax, dword [0x1008f7d4]
mov ecx, dword [ebp - 0x49a8]
mov eax, dword [eax + 0x78]
mov dword [ebp - 0x18a4], eax
mov eax, dword [0x1008e168]
cmp eax, dword [ecx + 4]
jle 0x1002aee3
push 0x1008e168
call fcn.10073caa
add esp, 4
cmp dword [0x1008e168], 0xffffffff
jne 0x1002aee3
push str.m_iItemDefinitionIndex
push str.CEconEntity
mov byte [ebp - 4], 5
call fcn.1006f970
push 0x1008e168
mov dword [0x1008e0f0], eax
mov byte [ebp - 4], 0
call fcn.10073c59
add esp, 4
mov eax, dword [0x1008e0f0]
mov ecx, dword [ebp - 0x18a4]
cmp dword [ecx + eax], 0x1bf
jne 0x1002afcf
mov ecx, esi
call fcn.10060080
test al, al
jne 0x1002afcf
mov eax, dword [0x1008f7f4]
cmp byte [eax + 0x8c], 0
je 0x1002afcf
movss xmm0, dword [ebp - 0x4994]
movss xmm1, dword [0x100842ac]
comiss xmm1, xmm0
jb 0x1002afcf
push 0x1860
lea eax, [ebp - 0x1878]
movss dword [ebp - 0x4990], xmm0
push 0
push eax
mov dword [ebp - 0x3128], esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x1878]
call fcn.10017380
lea eax, [ebp - 0x1878]
push eax
lea ecx, [ebp - 0x4988]
call fcn.10017a30
mov eax, dword [ebp - 0x1880]
lea ecx, [ebp - 0x4990]
mov dword [ebp - 0x498c], 1
cmp eax, dword [ebp - 0x187c]
je 0x1002b9cb
push 0x186c
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add dword [ebp - 0x1880], 0x186c
jmp 0x1002b9d8
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0x1008e218]
jne 0x1002a9c2
mov al, 1
jmp 0x1002a9c4
mov eax, dword [edi]
mov ecx, edi
mov esi, dword [0x1008f7e0]
mov eax, dword [eax + 0x24]
call eax
lea eax, [eax + eax*4]
cmp dword [esi + eax*4 + 0x24], 2
jbe 0x1002b9d8
mov eax, dword [edi]
mov ecx, edi
mov esi, dword [0x1008f7e0]
mov dword [ebp - 0x4994], 2
mov eax, dword [eax + 0x24]
call eax
lea eax, [eax + eax*4]
cmp dword [esi + eax*4 + 0x24], 2
jbe 0x1002b9d8
mov eax, dword [edi]
mov ecx, edi
mov esi, dword [0x1008f7e0]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [ebp - 0x4994]
lea edx, [eax + eax*4]
mov eax, dword [esi + edx*4 + 0x1c]
add ecx, dword [esi + edx*4 + 0x20]
dec eax
and ecx, eax
mov eax, dword [esi + edx*4 + 0x18]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x49a4], esi
movss xmm1, dword [esi + 0x184c]
call fcn.10016430
test al, al
je 0x1002b80f
mov eax, dword [0x1008f7d4]
lea ecx, [ebp - 0x4a68]
push ecx
mov ecx, dword [eax + 0x74]
call fcn.1000faa0
add esi, 0x3c
lea ecx, [ebp - 0x4a1c]
movss xmm2, dword [eax]
movss xmm1, dword [eax + 4]
movss xmm0, dword [eax + 8]
subss xmm2, dword [esi]
subss xmm1, dword [esi + 4]
subss xmm0, dword [esi + 8]
movss dword [ebp - 0x4a1c], xmm2
movss dword [ebp - 0x4a18], xmm1
movss dword [ebp - 0x4a14], xmm0
call fcn.1000f4e0
mov eax, dword [0x1008f7d4]
mov ecx, dword fs:[0x2c]
movss dword [ebp - 0x49a8], xmm0
mov eax, dword [eax + 0x74]
mov dword [ebp - 0x18a4], eax
mov eax, dword [0x1008e0d8]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1008e130]
cmp eax, dword [ecx + 4]
jle 0x1002b127
push 0x1008e130
call fcn.10073caa
add esp, 4
cmp dword [0x1008e130], 0xffffffff
jne 0x1002b11f
push str.m_iClass
push str.CTFPlayer
mov byte [ebp - 4], 6
call fcn.1006f970
push 0x1008e130
mov dword [0x1008e128], eax
mov byte [ebp - 4], 0
call fcn.10073c59
add esp, 4
movss xmm0, dword [ebp - 0x49a8]
mov eax, dword [0x1008e128]
mov ecx, dword [ebp - 0x18a4]
cmp dword [ecx + eax], 8
je 0x1002b24d
mov eax, dword [0x1008f7d4]
lea ecx, [ebp - 0x4a74]
push ecx
mov ecx, dword [eax + 0x74]
call fcn.1000faa0
mov ecx, dword [0x1008f7d4]
mov edi, dword fs:[0x2c]
mov edx, dword [0x1008e0d8]
mov dword [ebp - 0x49a0], eax
mov eax, dword [ecx + 0x74]
mov ecx, dword [0x1008e150]
mov dword [ebp - 0x18a4], eax
mov eax, dword [edi + edx*4]
mov edi, dword [ebp - 0x49b4]
cmp ecx, dword [eax + 4]
jle 0x1002b1c8
push 0x1008e150
call fcn.10073caa
add esp, 4
cmp dword [0x1008e150], 0xffffffff
jne 0x1002b1c8
push str.m_vecVelocity_0_
push str.CBasePlayer
mov byte [ebp - 4], 7
call fcn.1006f970
push 0x1008e150
mov dword [0x1008e16c], eax
mov byte [ebp - 4], 0
call fcn.10073c59
add esp, 4
mov eax, dword [0x1008f7d4]
mov ecx, dword [0x1008e16c]
mov eax, dword [eax + 0x2c]
movss xmm2, dword [eax + 0x1c]
mulss xmm2, dword [0x10084238]
mov eax, dword [ebp - 0x18a4]
movaps xmm1, xmm2
movaps xmm0, xmm2
mulss xmm1, dword [eax + ecx]
mulss xmm0, dword [eax + ecx + 4]
mulss xmm2, dword [eax + ecx + 8]
lea ecx, [ebp - 0x49f8]
mov eax, dword [ebp - 0x49a0]
addss xmm1, dword [eax]
addss xmm0, dword [eax + 4]
addss xmm2, dword [eax + 8]
subss xmm1, dword [esi]
subss xmm0, dword [esi + 4]
subss xmm2, dword [esi + 8]
movss dword [ebp - 0x49f8], xmm1
movss dword [ebp - 0x49f4], xmm0
movss dword [ebp - 0x49f0], xmm2
call fcn.1000f4e0
movss dword [ebp - 0x49a8], xmm0
movss xmm1, dword [0x100842ac]
comiss xmm1, xmm0
jb 0x1002b80f
mov eax, dword [0x1008f7d4]
push esi
push ecx
lea ecx, [ebp - 0x4a2c]
push ecx
mov ecx, dword [eax + 0x74]
call fcn.10010070
add esp, 4
lea ecx, [ebp - 0x18a0]
mov edx, eax
call fcn.1000f530
mov eax, dword [0x1008f7f4]
add esp, 4
cmp byte [eax + 0x8a], 0
je 0x1002b79c
mov edi, dword fs:[0x2c]
mov edx, dword [0x1008e0d8]
mov eax, dword [0x1008f7d4]
mov ecx, dword [edi + edx*4]
mov eax, dword [eax + 0x74]
mov edi, dword [ebp - 0x49b4]
mov dword [ebp - 0x18a4], eax
mov eax, dword [0x1008e130]
cmp eax, dword [ecx + 4]
jle 0x1002b309
push 0x1008e130
call fcn.10073caa
add esp, 4
cmp dword [0x1008e130], 0xffffffff
jne 0x1002b309
push str.m_iClass
push str.CTFPlayer
mov byte [ebp - 4], 8
call fcn.1006f970
push 0x1008e130
mov dword [0x1008e128], eax
mov byte [ebp - 4], 0
call fcn.10073c59
add esp, 4
mov eax, dword [0x1008e128]
mov ecx, dword [ebp - 0x18a4]
cmp dword [ecx + eax], 8
jne 0x1002b79c
mov eax, dword [0x1008f7d4]
lea ecx, [ebp - 0x4a38]
push ecx
mov ecx, dword [eax + 0x74]
call fcn.1000faa0
movss xmm6, dword [esi]
movss xmm7, dword [esi + 4]
mov edx, dword [0x1008e0d8]
mov esi, dword fs:[0x2c]
subss xmm6, dword [eax]
subss xmm7, dword [eax + 4]
mov eax, dword [0x1008e1c8]
mov ecx, dword [esi + edx*4]
movss dword [ebp - 0x18a8], xmm6
movss dword [ebp - 0x49a0], xmm7
cmp eax, dword [ecx + 4]
jle 0x1002b3c0
push 0x1008e1c8
call fcn.10073caa
add esp, 4
cmp dword [0x1008e1c8], 0xffffffff
jne 0x1002b3b0
push str.m_angEyeAngles_0_
push str.CTFPlayer
mov byte [ebp - 4], 9
call fcn.1006f970
push 0x1008e1c8
mov dword [0x1008e1b0], eax
mov byte [ebp - 4], 0
call fcn.10073c59
add esp, 4
movss xmm7, dword [ebp - 0x49a0]
movss xmm6, dword [ebp - 0x18a8]
mov esi, dword [0x1008e1b0]
lea ecx, [ebp - 0x1894]
movss dword [ebp - 0x1894], xmm6
movss dword [ebp - 0x1890], xmm7
mov dword [ebp - 0x188c], 0
call fcn.1000f4e0
movss xmm5, dword [0x10084138]
lea eax, [ebp - 0x49d8]
movss xmm1, dword [0x100841d4]
addss xmm0, xmm5
mov dword [ebp - 0x18a8], eax
lea eax, [ebp - 0x4a20]
mov dword [ebp - 0x18ac], eax
divss xmm1, xmm0
movss xmm0, dword [ebp - 0x18a0]
mulss xmm6, xmm1
mulss xmm7, xmm1
mulss xmm1, dword [0x10084128]
movss dword [ebp - 0x1894], xmm6
movss dword [ebp - 0x1890], xmm7
movss dword [ebp - 0x49a0], xmm1
movss dword [ebp - 0x188c], xmm1
movss xmm1, dword [0x10084174]
mulss xmm0, xmm1
movss dword [ebp - 0x18a4], xmm0
fld dword [ebp - 0x18a4]
fsincos
mov edx, dword [ebp - 0x18a8]
mov eax, dword [ebp - 0x18ac]
fstp dword [edx]
fstp dword [eax]
movss xmm0, dword [ebp - 0x189c]
lea eax, [ebp - 0x49d4]
mulss xmm0, xmm1
mov dword [ebp - 0x18a4], eax
lea eax, [ebp - 0x49dc]
mov dword [ebp - 0x18a8], eax
movss dword [ebp - 0x18ac], xmm0
fld dword [ebp - 0x18ac]
fsincos
mov edx, dword [ebp - 0x18a4]
mov eax, dword [ebp - 0x18a8]
fstp dword [edx]
fstp dword [eax]
movss xmm3, dword [ebp - 0x49d4]
lea ecx, [ebp - 0x49c0]
movss xmm4, dword [ebp - 0x49dc]
mulss xmm3, dword [ebp - 0x49d8]
mov dword [ebp - 0x49b8], 0
mulss xmm4, dword [ebp - 0x49d8]
movss dword [ebp - 0x49c0], xmm3
movss dword [ebp - 0x49bc], xmm4
call fcn.1000f4e0
movss xmm1, dword [0x100841d4]
addss xmm0, xmm5
mov ecx, dword [ebp - 0x499c]
lea eax, [ebp - 0x49e4]
mov dword [ebp - 0x18a8], eax
lea eax, [ebp - 0x49d0]
mov dword [ebp - 0x1888], eax
divss xmm1, xmm0
movaps xmm0, xmm1
movaps xmm5, xmm1
mulss xmm1, dword [0x10084128]
mulss xmm0, xmm3
movss dword [ebp - 0x18a4], xmm1
movss dword [ebp - 0x49b8], xmm1
movss xmm1, dword [0x10084174]
movss dword [ebp - 0x49ec], xmm0
movss dword [ebp - 0x49c0], xmm0
movss xmm0, dword [esi + ecx]
mulss xmm5, xmm4
mulss xmm0, xmm1
movss dword [ebp - 0x49bc], xmm5
movss dword [ebp - 0x18ac], xmm0
fld dword [ebp - 0x18ac]
fsincos
mov edx, dword [ebp - 0x18a8]
mov eax, dword [ebp - 0x1888]
fstp dword [edx]
fstp dword [eax]
movss xmm0, dword [esi + ecx + 4]
lea eax, [ebp - 0x49e0]
mulss xmm0, xmm1
mov dword [ebp - 0x18ac], eax
lea eax, [ebp - 0x49e8]
mov dword [ebp - 0x18a8], eax
movss dword [ebp - 0x1888], xmm0
fld dword [ebp - 0x1888]
fsincos
mov edx, dword [ebp - 0x18ac]
mov eax, dword [ebp - 0x18a8]
fstp dword [edx]
fstp dword [eax]
movss xmm3, dword [ebp - 0x49e0]
movss xmm4, dword [ebp - 0x49e8]
mulss xmm3, dword [ebp - 0x49e4]
mov dword [ebp - 0x49c4], 0
mulss xmm4, dword [ebp - 0x49e4]
movss dword [ebp - 0x49cc], xmm3
movss dword [ebp - 0x49c8], xmm4
lea ecx, [ebp - 0x49cc]
call fcn.1000f4e0
addss xmm0, dword [0x10084138]
movss xmm2, dword [0x100841d4]
movaps xmm1, xmm7
mulss xmm1, xmm5
divss xmm2, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm3
movss xmm3, dword [ebp - 0x49ec]
movss dword [ebp - 0x1888], xmm0
movss dword [ebp - 0x49cc], xmm0
movaps xmm0, xmm2
mulss xmm2, dword [0x10084128]
mulss xmm0, xmm4
movss dword [ebp - 0x49c4], xmm2
movss dword [ebp - 0x18a8], xmm0
movss dword [ebp - 0x49c8], xmm0
movaps xmm0, xmm6
mulss xmm0, xmm3
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x18a4]
mulss xmm0, dword [ebp - 0x49a0]
addss xmm1, xmm0
movss xmm0, dword [0x100841c4]
comiss xmm0, xmm1
jae 0x1002b721
movss xmm4, dword [ebp - 0x1888]
movss xmm1, dword [ebp - 0x18a8]
movaps xmm0, xmm4
mulss xmm0, xmm6
mulss xmm1, xmm7
addss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [ebp - 0x49a0]
addss xmm1, xmm0
movss xmm0, dword [0x10084164]
comiss xmm0, xmm1
jae 0x1002b721
mulss xmm5, dword [ebp - 0x18a8]
mulss xmm2, dword [ebp - 0x18a4]
movss xmm0, dword [0x1008435c]
mulss xmm3, xmm4
addss xmm5, xmm3
addss xmm5, xmm2
comiss xmm0, xmm5
jb 0x1002b79c
push 0x1860
lea eax, [ebp - 0x62e8]
mov dword [ebp - 0x62f0], 0
push 0
push eax
mov dword [ebp - 0x62ec], 0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x62e8]
call fcn.10017380
mov eax, dword [ebp - 0x62ec]
lea ecx, [ebp - 0x4988]
movss xmm0, dword [ebp - 0x62f0]
mov dword [ebp - 0x498c], eax
lea eax, [ebp - 0x62e8]
push eax
mov dword [ebp - 0x4a88], 0
movss dword [ebp - 0x4990], xmm0
call fcn.10017a30
mov eax, dword [ebp - 0x4a88]
mov dword [ebp - 0x3128], eax
jmp 0x1002b80f
movss xmm0, dword [ebp - 0x49a8]
lea ecx, [ebp - 0x4988]
mov eax, dword [ebp - 0x499c]
push dword [ebp - 0x49a4]
movss dword [ebp - 0x4990], xmm0
mov dword [ebp - 0x3128], eax
call fcn.10017a30
mov eax, dword [ebp - 0x1880]
lea ecx, [ebp - 0x4990]
mov dword [ebp - 0x498c], 1
cmp eax, dword [ebp - 0x187c]
je 0x1002b802
push 0x186c
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add dword [ebp - 0x1880], 0x186c
jmp 0x1002b80f
push ecx
push eax
lea ecx, [ebp - 0x1884]
call fcn.1002c210
mov eax, dword [edi]
mov ecx, edi
inc dword [ebp - 0x4994]
mov esi, dword [0x1008f7e0]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [ebp - 0x4994]
lea eax, [eax + eax*4]
cmp ecx, dword [esi + eax*4 + 0x24]
jb 0x1002b013
jmp 0x1002b9d8
movss xmm0, dword [ebp - 0x4994]
comiss xmm0, dword [0x100842ac]
ja 0x1002b9d8
mov eax, dword [0x1008f7f4]
cmp byte [eax + 0x8b], 0
jne 0x1002b86e
mov ecx, esi
call fcn.10060080
test al, al
je 0x1002b9d8
mov eax, dword [0x1008f7d4]
mov ecx, dword [ebp - 0x49a8]
mov edi, dword [eax + 0x74]
mov eax, dword [0x1008e130]
cmp eax, dword [ecx + 4]
jle 0x1002b8ce
push 0x1008e130
call fcn.10073caa
add esp, 4
cmp dword [0x1008e130], 0xffffffff
jne 0x1002b8c8
push str.m_iClass
push str.CTFPlayer
mov byte [ebp - 4], 0xa
call fcn.1006f970
push 0x1008e130
mov dword [0x1008e128], eax
mov byte [ebp - 4], 0
call fcn.10073c59
add esp, 4
mov ecx, dword [ebp - 0x49a8]
mov eax, dword [0x1008e128]
cmp dword [edi + eax], 9
jne 0x1002b9d8
mov eax, dword [0x1008f7d4]
mov edi, dword [eax + 0x20]
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x49a4], eax
mov eax, dword [0x1008e250]
cmp eax, dword [ecx + 4]
jle 0x1002b93c
push 0x1008e250
call fcn.10073caa
add esp, 4
cmp dword [0x1008e250], 0xffffffff
jne 0x1002b93c
push str.m_hBuilder
push str.CBaseObject
mov byte [ebp - 4], 0xb
call fcn.1006f970
push 0x1008e250
mov dword [0x1008e284], eax
mov byte [ebp - 4], 0
call fcn.10073c59
add esp, 4
mov eax, dword [0x1008e284]
mov ecx, edi
push dword [eax + esi]
call dword [ebp - 0x49a4]
mov edi, eax
test edi, edi
je 0x1002b9d8
movss xmm0, dword [ebp - 0x4994]
lea eax, [ebp - 0x1878]
push 0x1860
push 0
push eax
movss dword [ebp - 0x4990], xmm0
mov dword [ebp - 0x3128], esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x1878]
call fcn.10017380
lea eax, [ebp - 0x1878]
push eax
lea ecx, [ebp - 0x4988]
call fcn.10017a30
mov eax, dword [0x1008f7d4]
xor ecx, ecx
cmp edi, dword [eax + 0x74]
mov eax, dword [ebp - 0x1880]
sete cl
inc ecx
mov dword [ebp - 0x498c], ecx
lea ecx, [ebp - 0x4990]
cmp eax, dword [ebp - 0x187c]
jne 0x1002af98
push ecx
push eax
lea ecx, [ebp - 0x1884]
call fcn.1002c210
mov ecx, dword [ebp - 0x4998]
mov esi, dword [ebp - 0x49b0]
add esi, 4
mov dword [ebp - 0x49b0], esi
cmp esi, ecx
jne 0x1002aa50
mov ecx, dword [ebp - 0x1884]
mov esi, dword [ebp - 0x1880]
mov eax, 0x14f6fddf
push dword [ebp - 0x49d0]
sub esi, ecx
imul esi
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1880]
push eax
call fcn.1002c3d0
mov esi, dword [ebp - 0x1884]
add esp, 8
cmp esi, dword [ebp - 0x1880]
je 0x1002c126
push 0x186c
lea eax, [ebp - 0x3120]
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 0x18b8]
add esp, 0xc
test ecx, ecx
je 0x1002c126
movss xmm0, dword [ebp - 0x18cc]
comiss xmm0, dword [0x10084128]
jbe 0x1002ba93
movq xmm0, qword [ebp - 0x30dc]
lea esi, [ebp - 0x18a0]
mov eax, dword [ebp - 0x30d4]
movq qword [ebp - 0x18a0], xmm0
mov dword [ebp - 0x1898], eax
jmp 0x1002baa1
lea eax, [ebp - 0x4a38]
push eax
call fcn.1000faa0
mov esi, eax
mov ecx, dword [0x1008f7d4]
lea eax, [ebp - 0x4a2c]
push eax
mov ecx, dword [ecx + 0x74]
call fcn.10010070
push esi
mov edx, eax
lea ecx, [ebp - 0x1894]
call fcn.1000f530
add esp, 4
lea ecx, [ebp - 0x1894]
call fcn.10025b30
mov eax, dword [0x1008f7d4]
mov ecx, dword fs:[0x2c]
mov edi, dword [eax + 0x74]
mov eax, dword [0x1008e0d8]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x1008e2a4]
cmp eax, dword [esi + 4]
jle 0x1002bb35
push 0x1008e2a4
call fcn.10073caa
add esp, 4
cmp dword [0x1008e2a4], 0xffffffff
jne 0x1002bb35
push str.m_fFlags
push str.CBasePlayer
mov byte [ebp - 4], 0xc
call fcn.1006f970
push 0x1008e2a4
mov dword [0x1008e2a0], eax
mov byte [ebp - 4], 0
call fcn.10073c59
add esp, 4
mov eax, dword [0x1008e2a0]
test byte [edi + eax], 1
jne 0x1002bbc0
mov eax, dword [0x1008f7d4]
mov edi, dword [eax + 0x74]
mov eax, dword [0x1008e0fc]
cmp eax, dword [esi + 4]
jle 0x1002bb98
push 0x1008e0fc
call fcn.10073caa
add esp, 4
cmp dword [0x1008e0fc], 0xffffffff
jne 0x1002bb98
push str.m_vecOrigin
push str.CBaseEntity
mov byte [ebp - 4], 0xd
call fcn.1006f970
push 0x1008e0fc
mov dword [0x1008e124], eax
mov byte [ebp - 4], 0
call fcn.10073c59
add esp, 4
mov eax, dword [0x1008e124]
mov edx, dword [ebp - 0x49ac]
movss xmm0, dword [edi + eax + 8]
subss xmm0, dword [ebp - 0x3110]
comiss xmm0, dword [0x10084294]
jbe 0x1002bbc6
or dword [edx + 0x24], 4
jmp 0x1002bbc6
mov edx, dword [ebp - 0x49ac]
or dword [edx + 0x24], 1
movss xmm0, dword [ebp - 0x1890]
movss xmm1, dword [ebp - 0x1894]
movss dword [edx + 0x10], xmm0
movss xmm0, dword [ebp - 0x188c]
movss dword [edx + 0xc], xmm1
movss dword [edx + 0x14], xmm0
mov ecx, dword [0x1008f7d4]
push edx
movss dword [ecx + 0x2d8], xmm1
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x2dc], eax
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x2e0], eax
mov eax, dword [0x1008f7d4]
mov dword [eax + 0x2e4], 0x94
mov eax, dword [0x1008f7d4]
mov ecx, dword [eax + 0x78]
call fcn.10062360
test al, al
je 0x1002c120
movss xmm0, dword [ebp - 0x18cc]
comiss xmm0, dword [0x10084128]
jbe 0x1002bfb6
mov eax, dword [0x1008e1c8]
mov edi, dword [ebp - 0x18b8]
cmp eax, dword [esi + 4]
jle 0x1002bc9d
push 0x1008e1c8
call fcn.10073caa
add esp, 4
cmp dword [0x1008e1c8], 0xffffffff
jne 0x1002bc9d
push str.m_angEyeAngles_0_
push str.CTFPlayer
mov byte [ebp - 4], 0xe
call fcn.1006f970
push 0x1008e1c8
mov dword [0x1008e1b0], eax
mov byte [ebp - 4], 0
call fcn.10073c59
add esp, 4
mov eax, dword [0x1008e1b0]
movss xmm0, dword [ebp - 0x310c]
movss dword [edi + eax], xmm0
movss xmm0, dword [ebp - 0x3108]
movss dword [edi + eax + 4], xmm0
movss xmm0, dword [ebp - 0x3104]
movss dword [edi + eax + 8], xmm0
mov eax, dword [0x1008e0f8]
mov edi, dword [ebp - 0x18b8]
cmp eax, dword [esi + 4]
jle 0x1002bd1d
push 0x1008e0f8
call fcn.10073caa
add esp, 4
cmp dword [0x1008e0f8], 0xffffffff
jne 0x1002bd1d
push str.m_vecMins
push str.CBaseEntity
mov byte [ebp - 4], 0xf
call fcn.1006f970
push 0x1008e0f8
mov dword [0x1008e13c], eax
mov byte [ebp - 4], 0
call fcn.10073c59
add esp, 4
mov eax, dword [0x1008e13c]
movss xmm0, dword [ebp - 0x3100]
movss dword [edi + eax], xmm0
movss xmm0, dword [ebp - 0x30fc]
movss dword [edi + eax + 4], xmm0
movss xmm0, dword [ebp - 0x30f8]
movss dword [edi + eax + 8], xmm0
mov eax, dword [0x1008e164]
mov edi, dword [ebp - 0x18b8]
cmp eax, dword [esi + 4]
jle 0x1002bd9d
push 0x1008e164
call fcn.10073caa
add esp, 4
cmp dword [0x1008e164], 0xffffffff
jne 0x1002bd9d
push str.m_vecMaxs
push str.CBaseEntity
mov byte [ebp - 4], 0x10
call fcn.1006f970
push 0x1008e164
mov dword [0x1008e14c], eax
mov byte [ebp - 4], 0
call fcn.10073c59
add esp, 4
mov eax, dword [0x1008e14c]
movss xmm0, dword [ebp - 0x30f4]
movss dword [edi + eax], xmm0
movss xmm0, dword [ebp - 0x30f0]
movss dword [edi + eax + 4], xmm0
movss xmm0, dword [ebp - 0x30ec]
movss dword [edi + eax + 8], xmm0
mov eax, dword [0x1008e0fc]
mov edi, dword [ebp - 0x18b8]
cmp eax, dword [esi + 4]
jle 0x1002be1d
push 0x1008e0fc
call fcn.10073caa
add esp, 4
cmp dword [0x1008e0fc], 0xffffffff
jne 0x1002be1d
push str.m_vecOrigin
push str.CBaseEntity
mov byte [ebp - 4], 0x11
call fcn.1006f970
push 0x1008e0fc
mov dword [0x1008e124], eax
mov byte [ebp - 4], 0
call fcn.10073c59
add esp, 4
mov eax, dword [0x1008e124]
movss xmm0, dword [ebp - 0x3118]
movss dword [edi + eax], xmm0
movss xmm0, dword [ebp - 0x3114]
movss dword [edi + eax + 4], xmm0
movss xmm0, dword [ebp - 0x3110]
movss dword [edi + eax + 8], xmm0
mov eax, dword [0x1008e150]
mov edi, dword [ebp - 0x18b8]
cmp eax, dword [esi + 4]
jle 0x1002be9d
push 0x1008e150
call fcn.10073caa
add esp, 4
cmp dword [0x1008e150], 0xffffffff
jne 0x1002be9d
push str.m_vecVelocity_0_
push str.CBasePlayer
mov byte [ebp - 4], 0x12
call fcn.1006f970
push 0x1008e150
mov dword [0x1008e16c], eax
mov byte [ebp - 4], 0
call fcn.10073c59
add esp, 4
mov eax, dword [0x1008e16c]
movss xmm0, dword [ebp - 0x30e8]
movss dword [eax + edi], xmm0
movss xmm0, dword [ebp - 0x30e4]
movss dword [eax + edi + 4], xmm0
movss xmm0, dword [ebp - 0x30e0]
movss dword [eax + edi + 8], xmm0
mov eax, dword [0x1008e1cc]
mov edi, dword [ebp - 0x18b8]
cmp eax, dword [esi + 4]
jle 0x1002bf1d
push 0x1008e1cc
call fcn.10073caa
add esp, 4
cmp dword [0x1008e1cc], 0xffffffff
jne 0x1002bf1d
push str.m_flCycle
push str.CBaseAnimating
mov byte [ebp - 4], 0x13
call fcn.1006f970
push 0x1008e1cc
mov dword [0x1008e194], eax
mov byte [ebp - 4], 0
call fcn.10073c59
add esp, 4
mov eax, dword [0x1008e194]
movss xmm0, dword [ebp - 0x18c8]
movss dword [edi + eax], xmm0
mov eax, dword [0x1008f7d4]
mov ecx, dword [eax + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0x120]
call eax
push 1
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x49a4], ecx
mov ecx, eax
call dword [ebp - 0x49a4]
push ecx
fstp dword [ebp - 0x49a4]
movss xmm0, dword [ebp - 0x49a4]
lea eax, [ebp - 0x4994]
movss dword [esp], xmm0
push eax
lea eax, [ebp - 0x499c]
mov dword [ebp - 0x4994], 0xffffffff
push eax
lea eax, [ebp - 0x30d0]
mov dword [ebp - 0x499c], 0xaffffff
push eax
push dword [ebp - 0x18d0]
push dword [ebp - 0x18b8]
call fcn.100519d0
call fcn.10015f80
addss xmm0, dword [ebp - 0x18cc]
jmp 0x1002c0fe
mov ecx, dword [ebp - 0x18b8]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
cmp dword [eax + 0x14], 0xf7
jne 0x1002c120
push 0x1800
lea eax, [ebp - 0x1818]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [0x1008f7d4]
lea edx, [ebp - 0x1818]
mov ecx, dword [ebp - 0x18b8]
add esp, 8
add ecx, 4
mov eax, dword [eax + 0x2c]
movss xmm0, dword [eax + 0xc]
mov eax, dword [ecx]
movss dword [esp], xmm0
push pe_nt_image_headers32
push 0x80
mov eax, dword [eax + 0x40]
push edx
call eax
mov eax, dword [0x1008f7d4]
mov ecx, dword [eax + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0x120]
call eax
push 1
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x49a4], ecx
mov ecx, eax
call dword [ebp - 0x49a4]
mov ecx, dword [ebp - 0x18b8]
add ecx, 4
mov dword [ebp - 0x4994], 0xffffffff
mov dword [ebp - 0x499c], 0xaffffff
fstp dword [ebp - 0x49a4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
movss xmm0, dword [ebp - 0x49a4]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x4994]
push ecx
lea ecx, [ebp - 0x499c]
push ecx
lea ecx, [ebp - 0x1818]
push ecx
push eax
push dword [ebp - 0x18b8]
call fcn.100519d0
mov eax, dword [0x1008e1d4]
mov edi, dword [ebp - 0x18b8]
cmp eax, dword [esi + 4]
jle 0x1002c0ee
push 0x1008e1d4
call fcn.10073caa
add esp, 4
cmp dword [0x1008e1d4], 0xffffffff
jne 0x1002c0ee
push str.m_flSimulationTime
push str.CBaseEntity
mov byte [ebp - 4], 0x14
call fcn.1006f970
push 0x1008e1d4
mov dword [0x1008e1a8], eax
mov byte [ebp - 4], 0
call fcn.10073c59
add esp, 4
mov esi, dword [0x1008e1a8]
call fcn.10015f80
addss xmm0, dword [edi + esi]
mov eax, dword [0x1008f7d4]
mov ecx, dword [ebp - 0x49ac]
mov eax, dword [eax + 0x2c]
divss xmm0, dword [eax + 0x1c]
addss xmm0, dword [0x100841c4]
cvttss2si eax, xmm0
mov dword [ecx + 8], eax
mov esi, dword [ebp - 0x1884]
test esi, esi
je 0x1002c173
mov ecx, dword [ebp - 0x187c]
mov eax, 0x14f6fddf
sub ecx, esi
imul ecx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
imul ecx, eax, 0x186c
mov eax, esi
cmp ecx, 0x1000
jb 0x1002c169
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1002c169
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.10074172
add esp, 8
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.10073c20
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4