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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10054320
mov eax, dword fs:[0]
push eax
mov eax, 0x4a5c
call fcn.10052650
mov eax, dword [0x10064040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x100662f8]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x3124], ecx
mov ecx, dword [eax + 0x74]
test ecx, ecx
je 0x1001a33b
call fcn.10002970
test al, al
je 0x1001a33b
mov eax, dword [0x100662f8]
cmp dword [eax + 0x78], 0
je 0x1001a33b
mov eax, dword [0x10066318]
cmp byte [eax], 0
je 0x1001a33b
cmp byte [eax + 0xc0], 0
je 0x1001a33b
cmp byte [eax + 0xc2], 0
je 0x10018f28
movzx eax, word [eax + 2]
test ax, ax
je 0x10018f1e
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x10018f1e
cmp dword [0x10064e84], 0
jne 0x100193c4
push 0x10058864
push 0
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [0x10064e84], eax
xor al, al
test al, al
je 0x1001a33b
mov eax, dword [0x100662f8]
mov ecx, dword [eax + 0x78]
mov eax, dword [ecx]
mov eax, dword [eax + 0x528]
call eax
cmp eax, 2
jne 0x1001a33b
mov ecx, dword [0x100662f8]
mov ecx, dword [ecx + 0x74]
call fcn.1000de40
test al, al
jne 0x1001a33b
xor ecx, ecx
mov dword [ebp - 0x1874], 0
xorps xmm0, xmm0
mov dword [ebp - 0x1874], ecx
movq qword [ebp - 0x187c], xmm0
mov dword [ebp - 0x187c], ecx
mov dword [ebp - 0x1878], ecx
mov dword [ebp - 4], ecx
mov eax, dword [0x100662f8]
mov esi, dword [eax + 0x98]
mov eax, dword [eax + 0x9c]
mov dword [ebp - 0x3134], esi
mov dword [ebp - 0x3114], eax
cmp esi, eax
je 0x10019d4d
mov ecx, eax
nop dword [eax]
mov esi, dword [esi]
mov dword [ebp - 0x311c], esi
test esi, esi
je 0x10019d30
mov eax, dword [0x100662f8]
cmp esi, dword [eax + 0x74]
je 0x10019d30
mov eax, dword [esi + 8]
lea edi, [esi + 8]
mov ecx, edi
mov dword [ebp - 0x3130], edi
mov eax, dword [eax + 0x20]
call eax
test al, al
jne 0x10019d2a
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 8]
call eax
cmp dword [eax + 0x14], 0xf7
jne 0x1001900a
mov ecx, esi
call fcn.10002970
test al, al
je 0x10019d2a
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 8]
call eax
cmp dword [eax + 0x14], 0xf7
jne 0x1001914d
mov ecx, esi
call fcn.10003a30
mov eax, dword [eax]
shr eax, 5
test al, 1
jne 0x10019d2a
mov ecx, esi
call fcn.10003a30
mov eax, dword [eax]
shr eax, 0xe
test al, 1
jne 0x10019d2a
mov ecx, esi
call fcn.1000dda0
mov eax, dword [eax]
shr eax, 0xd
test al, 1
jne 0x10019d2a
mov eax, dword [0x10064d58]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x100665f4]
cmp eax, dword [ecx + 4]
jle 0x100190b7
push 0x100665f4
call fcn.100513b1
add esp, 4
cmp dword [0x100665f4], 0xffffffff
jne 0x100190b7
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.1000d880
push 0x100665f4
mov dword [0x10066604], eax
mov byte [ebp - 4], 0
call fcn.10051360
add esp, 4
push esi
call dword [0x10066604]
test al, al
je 0x1001914d
mov eax, dword [0x10066318]
cmp byte [eax + 5], 0
je 0x1001914d
mov edi, dword fs:[0x2c]
mov edx, dword [0x10064d58]
mov eax, dword [0x100662f8]
mov ecx, dword [edi + edx*4]
mov esi, dword [eax + 0x78]
mov eax, dword [0x10064e00]
mov edi, dword [ebp - 0x3130]
cmp eax, dword [ecx + 4]
jle 0x1001913b
push 0x10064e00
call fcn.100513b1
add esp, 4
cmp dword [0x10064e00], 0xffffffff
jne 0x1001913b
push str.m_iItemDefinitionIndex
push str.CEconEntity
mov byte [ebp - 4], 2
call fcn.1004bfd0
push 0x10064e00
mov dword [0x10064d98], eax
mov byte [ebp - 4], 0
call fcn.10051360
add esp, 4
mov eax, dword [0x10064d98]
cmp dword [esi + eax], 0x1bf
jne 0x10019d2a
mov eax, dword [0x100662f8]
lea ecx, [ebp - 0x31c0]
push ecx
mov ecx, dword [eax + 0x74]
call fcn.10003760
mov ecx, dword [ebp - 0x311c]
mov esi, eax
lea eax, [ebp - 0x31cc]
push eax
call fcn.10003760
movss xmm2, dword [esi]
lea ecx, [ebp - 0x318c]
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 - 0x318c], xmm2
movss dword [ebp - 0x3188], xmm1
movss dword [ebp - 0x3184], xmm0
call fcn.10003370
mov eax, dword [0x10066318]
movss dword [ebp - 0x3118], xmm0
cmp byte [eax + 0xc1], 0
jne 0x10019239
mov eax, dword [0x100662f8]
lea ecx, [ebp - 0x31d8]
push ecx
mov ecx, dword [eax + 0x74]
call fcn.10003760
mov ecx, dword [ebp - 0x311c]
mov esi, eax
lea eax, [ebp - 0x31e4]
push eax
call fcn.10003760
movss xmm2, dword [esi]
lea ecx, [ebp - 0x3198]
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 - 0x3198], xmm2
movss dword [ebp - 0x3194], xmm1
movss dword [ebp - 0x3190], xmm0
call fcn.10003370
movss dword [ebp - 0x3118], xmm0
push 0x1860
lea eax, [ebp - 0x3108]
mov dword [ebp - 0x3110], 0
push 0
push eax
mov dword [ebp - 0x310c], 0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x3108]
call fcn.10009da0
mov eax, dword [edi]
mov ecx, edi
mov dword [ebp - 0x18a8], 0
mov eax, dword [eax + 8]
call eax
cmp dword [eax + 0x14], 0xf7
jne 0x10019b79
mov eax, dword [0x100662f8]
mov ecx, dword fs:[0x2c]
mov esi, dword [eax + 0x78]
mov eax, dword [0x10064d58]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10064e00]
cmp eax, dword [ecx + 4]
jle 0x100192f1
push 0x10064e00
call fcn.100513b1
add esp, 4
cmp dword [0x10064e00], 0xffffffff
jne 0x100192f1
push str.m_iItemDefinitionIndex
push str.CEconEntity
mov byte [ebp - 4], 3
call fcn.1004bfd0
push 0x10064e00
mov dword [0x10064d98], eax
mov byte [ebp - 4], 0
call fcn.10051360
add esp, 4
mov eax, dword [0x10064d98]
cmp dword [esi + eax], 0x1bf
jne 0x100193dd
mov esi, dword [ebp - 0x311c]
mov ecx, esi
call fcn.10041bb0
test al, al
jne 0x100193dd
mov eax, dword [0x10066318]
cmp byte [eax + 0xc5], 0
je 0x100193dd
movss xmm0, dword [ebp - 0x3118]
movss xmm1, dword [0x1005c528]
comiss xmm1, xmm0
jb 0x100193dd
push 0x1860
lea eax, [ebp - 0x1870]
movss dword [ebp - 0x3110], xmm0
push 0
push eax
mov dword [ebp - 0x18a8], esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x1870]
call fcn.10009da0
lea eax, [ebp - 0x1870]
push eax
lea ecx, [ebp - 0x3108]
call fcn.1000a510
mov eax, dword [ebp - 0x1878]
lea ecx, [ebp - 0x3110]
mov dword [ebp - 0x310c], 1
cmp eax, dword [ebp - 0x1874]
je 0x10019d1d
push 0x186c
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add dword [ebp - 0x1878], 0x186c
jmp 0x10019d2a
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0x10064e84]
jne 0x10018f1e
mov al, 1
jmp 0x10018f20
mov eax, dword [edi]
mov ecx, edi
mov esi, dword [0x10066324]
mov eax, dword [eax + 0x24]
call eax
lea eax, [eax + eax*4]
cmp dword [esi + eax*4 + 0x24], 2
jbe 0x10019d2a
mov eax, dword [edi]
mov ecx, edi
mov esi, dword [0x10066324]
mov dword [ebp - 0x3118], 2
mov eax, dword [eax + 0x24]
call eax
lea eax, [eax + eax*4]
cmp dword [esi + eax*4 + 0x24], 2
jbe 0x10019d2a
mov eax, dword [edi]
mov ecx, edi
mov esi, dword [0x10066324]
mov eax, dword [eax + 0x24]
call eax
lea edx, [eax + eax*4]
mov eax, dword [esi + edx*4 + 0x20]
mov ecx, dword [esi + edx*4 + 0x1c]
add eax, dword [ebp - 0x3118]
dec ecx
and ecx, eax
mov eax, dword [esi + edx*4 + 0x18]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x3120], esi
movss xmm1, dword [esi + 0x184c]
call fcn.10008e50
test al, al
je 0x10019b4c
mov eax, dword [0x100662f8]
lea ecx, [ebp - 0x31f0]
push ecx
mov ecx, dword [eax + 0x74]
call fcn.10003760
add esi, 0x3c
lea ecx, [ebp - 0x3174]
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 - 0x3174], xmm2
movss dword [ebp - 0x3170], xmm1
movss dword [ebp - 0x316c], xmm0
call fcn.10003370
mov edi, dword fs:[0x2c]
mov edx, dword [0x10064d58]
mov eax, dword [0x100662f8]
movss dword [ebp - 0x312c], xmm0
mov ecx, dword [edi + edx*4]
mov eax, dword [eax + 0x74]
mov edi, dword [ebp - 0x3130]
mov dword [ebp - 0x18a0], eax
mov eax, dword [0x10064dd4]
cmp eax, dword [ecx + 4]
jle 0x1001953c
push 0x10064dd4
call fcn.100513b1
add esp, 4
cmp dword [0x10064dd4], 0xffffffff
jne 0x10019534
push str.m_iClass
push str.CTFPlayer
mov byte [ebp - 4], 4
call fcn.1004bfd0
push 0x10064dd4
mov dword [0x10064dd0], eax
mov byte [ebp - 4], 0
call fcn.10051360
add esp, 4
movss xmm0, dword [ebp - 0x312c]
mov eax, dword [0x10064dd0]
mov ecx, dword [ebp - 0x18a0]
cmp dword [ecx + eax], 8
je 0x100195a8
mov eax, dword [0x100662f8]
lea ecx, [ebp - 0x31fc]
push ecx
mov ecx, dword [eax + 0x74]
call fcn.10003760
lea ecx, [ebp - 0x3180]
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 - 0x3180], xmm2
movss dword [ebp - 0x317c], xmm1
movss dword [ebp - 0x3178], xmm0
call fcn.10003370
movss dword [ebp - 0x312c], xmm0
movss xmm1, dword [0x1005c528]
comiss xmm1, xmm0
jb 0x10019b4c
mov eax, dword [0x100662f8]
lea ecx, [ebp - 0x31a8]
push esi
push ecx
mov ecx, dword [eax + 0x74]
call fcn.10003b70
mov edx, eax
lea ecx, [ebp - 0x1898]
call fcn.100033c0
mov eax, dword [0x10066318]
add esp, 4
cmp byte [eax + 0xc3], 0
je 0x10019ad9
mov edi, dword fs:[0x2c]
mov edx, dword [0x10064d58]
mov eax, dword [0x100662f8]
mov ecx, dword [edi + edx*4]
mov eax, dword [eax + 0x74]
mov edi, dword [ebp - 0x3130]
mov dword [ebp - 0x18a0], eax
mov eax, dword [0x10064dd4]
cmp eax, dword [ecx + 4]
jle 0x10019660
push 0x10064dd4
call fcn.100513b1
add esp, 4
cmp dword [0x10064dd4], 0xffffffff
jne 0x10019660
push str.m_iClass
push str.CTFPlayer
mov byte [ebp - 4], 5
call fcn.1004bfd0
push 0x10064dd4
mov dword [0x10064dd0], eax
mov byte [ebp - 4], 0
call fcn.10051360
add esp, 4
mov eax, dword [0x10064dd0]
mov ecx, dword [ebp - 0x18a0]
cmp dword [ecx + eax], 8
jne 0x10019ad9
mov eax, dword [0x100662f8]
lea ecx, [ebp - 0x31b4]
push ecx
mov ecx, dword [eax + 0x74]
call fcn.10003760
movss xmm5, dword [esi]
movss xmm6, dword [esi + 4]
mov edx, dword [0x10064d58]
mov esi, dword fs:[0x2c]
subss xmm5, dword [eax]
subss xmm6, dword [eax + 4]
mov eax, dword [0x10064e54]
mov ecx, dword [esi + edx*4]
movss dword [ebp - 0x189c], xmm5
movss dword [ebp - 0x3128], xmm6
cmp eax, dword [ecx + 4]
jle 0x10019717
push 0x10064e54
call fcn.100513b1
add esp, 4
cmp dword [0x10064e54], 0xffffffff
jne 0x10019707
push str.m_angEyeAngles_0_
push str.CTFPlayer
mov byte [ebp - 4], 6
call fcn.1004bfd0
push 0x10064e54
mov dword [0x10064e3c], eax
mov byte [ebp - 4], 0
call fcn.10051360
add esp, 4
movss xmm6, dword [ebp - 0x3128]
movss xmm5, dword [ebp - 0x189c]
mov esi, dword [0x10064e3c]
lea ecx, [ebp - 0x188c]
movss dword [ebp - 0x188c], xmm5
movss dword [ebp - 0x1888], xmm6
mov dword [ebp - 0x1884], 0
call fcn.10003370
movss xmm7, dword [0x1005c3d0]
lea eax, [ebp - 0x3158]
movss xmm1, dword [0x1005c470]
addss xmm0, xmm7
mov dword [ebp - 0x189c], eax
lea eax, [ebp - 0x319c]
mov dword [ebp - 0x18a4], eax
divss xmm1, xmm0
movss xmm0, dword [ebp - 0x1898]
mulss xmm5, xmm1
mulss xmm6, xmm1
mulss xmm1, dword [0x1005c3c4]
movss dword [ebp - 0x188c], xmm5
movss dword [ebp - 0x1888], xmm6
movss dword [ebp - 0x3128], xmm1
movss dword [ebp - 0x1884], xmm1
movss xmm1, dword [0x1005c414]
mulss xmm0, xmm1
movss dword [ebp - 0x18a0], xmm0
fld dword [ebp - 0x18a0]
fsincos
mov edx, dword [ebp - 0x189c]
mov eax, dword [ebp - 0x18a4]
fstp dword [edx]
fstp dword [eax]
movss xmm0, dword [ebp - 0x1894]
lea eax, [ebp - 0x3154]
mulss xmm0, xmm1
mov dword [ebp - 0x18a0], eax
lea eax, [ebp - 0x315c]
mov dword [ebp - 0x189c], eax
movss dword [ebp - 0x18a4], xmm0
fld dword [ebp - 0x18a4]
fsincos
mov edx, dword [ebp - 0x18a0]
mov eax, dword [ebp - 0x189c]
fstp dword [edx]
fstp dword [eax]
movss xmm3, dword [ebp - 0x3154]
lea ecx, [ebp - 0x3140]
movss xmm4, dword [ebp - 0x315c]
mulss xmm3, dword [ebp - 0x3158]
mov dword [ebp - 0x3138], 0
mulss xmm4, dword [ebp - 0x3158]
movss dword [ebp - 0x3140], xmm3
movss dword [ebp - 0x313c], xmm4
call fcn.10003370
movss xmm1, dword [0x1005c470]
addss xmm0, xmm7
mov ecx, dword [ebp - 0x311c]
lea eax, [ebp - 0x3164]
mov dword [ebp - 0x189c], eax
lea eax, [ebp - 0x3150]
mov dword [ebp - 0x1880], eax
divss xmm1, xmm0
movss xmm0, dword [esi + ecx]
movaps xmm7, xmm1
mulss xmm7, xmm3
movaps xmm3, xmm1
mulss xmm1, dword [0x1005c3c4]
mulss xmm3, xmm4
movss dword [ebp - 0x18a0], xmm1
movss dword [ebp - 0x3138], xmm1
movss xmm1, dword [0x1005c414]
mulss xmm0, xmm1
movss dword [ebp - 0x3140], xmm7
movss dword [ebp - 0x313c], xmm3
movss dword [ebp - 0x18a4], xmm0
fld dword [ebp - 0x18a4]
fsincos
mov edx, dword [ebp - 0x189c]
mov eax, dword [ebp - 0x1880]
fstp dword [edx]
fstp dword [eax]
movss xmm0, dword [esi + ecx + 4]
lea eax, [ebp - 0x3160]
mulss xmm0, xmm1
mov dword [ebp - 0x18a4], eax
lea eax, [ebp - 0x3168]
mov dword [ebp - 0x189c], eax
movss dword [ebp - 0x1880], xmm0
fld dword [ebp - 0x1880]
fsincos
mov edx, dword [ebp - 0x18a4]
mov eax, dword [ebp - 0x189c]
fstp dword [edx]
fstp dword [eax]
movss xmm4, dword [ebp - 0x3160]
movss xmm1, dword [ebp - 0x3168]
mulss xmm1, dword [ebp - 0x3164]
mov dword [ebp - 0x3144], 0
mulss xmm4, dword [ebp - 0x3164]
movss dword [ebp - 0x189c], xmm1
movss dword [ebp - 0x3148], xmm1
movss dword [ebp - 0x314c], xmm4
lea ecx, [ebp - 0x314c]
call fcn.10003370
addss xmm0, dword [0x1005c3d0]
movss xmm2, dword [0x1005c470]
movaps xmm1, xmm7
mulss xmm1, xmm5
divss xmm2, xmm0
movss xmm0, dword [ebp - 0x189c]
mulss xmm0, xmm2
mulss xmm4, xmm2
mulss xmm2, dword [0x1005c3c4]
movss dword [ebp - 0x189c], xmm0
movss dword [ebp - 0x3148], xmm0
movaps xmm0, xmm6
mulss xmm0, xmm3
movss dword [ebp - 0x314c], xmm4
movss dword [ebp - 0x3144], xmm2
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x18a0]
mulss xmm0, dword [ebp - 0x3128]
addss xmm1, xmm0
movss xmm0, dword [0x1005c464]
comiss xmm0, xmm1
jae 0x10019a5e
movss xmm1, dword [ebp - 0x189c]
movaps xmm0, xmm4
mulss xmm0, xmm5
mulss xmm1, xmm6
addss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [ebp - 0x3128]
addss xmm1, xmm0
movss xmm0, dword [0x1005c400]
comiss xmm0, xmm1
jae 0x10019a5e
mulss xmm3, dword [ebp - 0x189c]
mulss xmm2, dword [ebp - 0x18a0]
movss xmm0, dword [0x1005c5ec]
mulss xmm7, xmm4
addss xmm3, xmm7
addss xmm3, xmm2
comiss xmm0, xmm3
jb 0x10019ad9
push 0x1860
lea eax, [ebp - 0x4a60]
mov dword [ebp - 0x4a68], 0
push 0
push eax
mov dword [ebp - 0x4a64], 0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x4a60]
call fcn.10009da0
mov eax, dword [ebp - 0x4a64]
lea ecx, [ebp - 0x3108]
movss xmm0, dword [ebp - 0x4a68]
mov dword [ebp - 0x310c], eax
lea eax, [ebp - 0x4a60]
push eax
mov dword [ebp - 0x3200], 0
movss dword [ebp - 0x3110], xmm0
call fcn.1000a510
mov eax, dword [ebp - 0x3200]
mov dword [ebp - 0x18a8], eax
jmp 0x10019b4c
movss xmm0, dword [ebp - 0x312c]
lea ecx, [ebp - 0x3108]
mov eax, dword [ebp - 0x311c]
push dword [ebp - 0x3120]
movss dword [ebp - 0x3110], xmm0
mov dword [ebp - 0x18a8], eax
call fcn.1000a510
mov eax, dword [ebp - 0x1878]
lea ecx, [ebp - 0x3110]
mov dword [ebp - 0x310c], 1
cmp eax, dword [ebp - 0x1874]
je 0x10019b3f
push 0x186c
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add dword [ebp - 0x1878], 0x186c
jmp 0x10019b4c
push ecx
push eax
lea ecx, [ebp - 0x187c]
call fcn.1001a3d0
mov eax, dword [edi]
mov ecx, edi
inc dword [ebp - 0x3118]
mov esi, dword [0x10066324]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [ebp - 0x3118]
lea eax, [eax + eax*4]
cmp ecx, dword [esi + eax*4 + 0x24]
jb 0x10019421
jmp 0x10019d2a
movss xmm0, dword [ebp - 0x3118]
comiss xmm0, dword [0x1005c528]
ja 0x10019d2a
mov eax, dword [0x10066318]
mov esi, dword [ebp - 0x311c]
cmp byte [eax + 0xc4], 0
jne 0x10019bb1
mov ecx, esi
call fcn.10041bb0
test al, al
je 0x10019d2a
mov eax, dword [0x100662f8]
mov ecx, dword fs:[0x2c]
mov edi, dword [eax + 0x74]
mov eax, dword [0x10064d58]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10064dd4]
mov dword [ebp - 0x18a0], ecx
cmp eax, dword [ecx + 4]
jle 0x10019c20
push 0x10064dd4
call fcn.100513b1
add esp, 4
cmp dword [0x10064dd4], 0xffffffff
jne 0x10019c1a
push str.m_iClass
push str.CTFPlayer
mov byte [ebp - 4], 7
call fcn.1004bfd0
push 0x10064dd4
mov dword [0x10064dd0], eax
mov byte [ebp - 4], 0
call fcn.10051360
add esp, 4
mov ecx, dword [ebp - 0x18a0]
mov eax, dword [0x10064dd0]
cmp dword [edi + eax], 9
jne 0x10019d2a
mov eax, dword [0x100662f8]
mov edi, dword [eax + 0x20]
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x3120], eax
mov eax, dword [0x10064ec4]
cmp eax, dword [ecx + 4]
jle 0x10019c8e
push 0x10064ec4
call fcn.100513b1
add esp, 4
cmp dword [0x10064ec4], 0xffffffff
jne 0x10019c8e
push str.m_hBuilder
push str.CBaseObject
mov byte [ebp - 4], 8
call fcn.1004bfd0
push 0x10064ec4
mov dword [0x10064ec8], eax
mov byte [ebp - 4], 0
call fcn.10051360
add esp, 4
mov eax, dword [0x10064ec8]
mov ecx, edi
push dword [eax + esi]
call dword [ebp - 0x3120]
mov edi, eax
test edi, edi
je 0x10019d2a
movss xmm0, dword [ebp - 0x3118]
lea eax, [ebp - 0x1870]
push 0x1860
push 0
push eax
movss dword [ebp - 0x3110], xmm0
mov dword [ebp - 0x18a8], esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x1870]
call fcn.10009da0
lea eax, [ebp - 0x1870]
push eax
lea ecx, [ebp - 0x3108]
call fcn.1000a510
mov eax, dword [0x100662f8]
xor ecx, ecx
cmp edi, dword [eax + 0x74]
mov eax, dword [ebp - 0x1878]
sete cl
inc ecx
mov dword [ebp - 0x310c], ecx
lea ecx, [ebp - 0x3110]
cmp eax, dword [ebp - 0x1874]
jne 0x100193a6
push ecx
push eax
lea ecx, [ebp - 0x187c]
call fcn.1001a3d0
mov ecx, dword [ebp - 0x3114]
mov esi, dword [ebp - 0x3134]
add esi, 4
mov dword [ebp - 0x3134], esi
cmp esi, ecx
jne 0x10018fb0
mov ecx, dword [ebp - 0x187c]
mov esi, dword [ebp - 0x1878]
mov eax, 0x14f6fddf
push dword [ebp - 0x3150]
sub esi, ecx
imul esi
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1878]
push eax
call fcn.1001a590
mov esi, dword [ebp - 0x187c]
add esp, 8
cmp esi, dword [ebp - 0x1878]
je 0x1001a2ee
push 0x186c
lea eax, [ebp - 0x3110]
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
mov edi, dword [ebp - 0x18a8]
add esp, 0xc
test edi, edi
je 0x1001a2ee
movss xmm1, dword [ebp - 0x18bc]
comiss xmm1, dword [0x1005c3c4]
jbe 0x10019de5
movq xmm0, qword [ebp - 0x30cc]
lea esi, [ebp - 0x1898]
mov eax, dword [ebp - 0x30c4]
movq qword [ebp - 0x1898], xmm0
mov dword [ebp - 0x1890], eax
jmp 0x10019df5
lea eax, [ebp - 0x31b4]
mov ecx, edi
push eax
call fcn.10003760
mov esi, eax
mov ecx, dword [0x100662f8]
lea eax, [ebp - 0x31a8]
push eax
mov ecx, dword [ecx + 0x74]
call fcn.10003b70
push esi
mov edx, eax
lea ecx, [ebp - 0x188c]
call fcn.100033c0
add esp, 4
lea ecx, [ebp - 0x188c]
call fcn.10013c10
mov eax, dword [0x100662f8]
mov ecx, dword fs:[0x2c]
mov eax, dword [eax + 0x74]
mov dword [ebp - 0x3120], eax
mov eax, dword [0x10064d58]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x10064ecc]
cmp eax, dword [esi + 4]
jle 0x10019e8f
push 0x10064ecc
call fcn.100513b1
add esp, 4
cmp dword [0x10064ecc], 0xffffffff
jne 0x10019e8f
push str.m_fFlags
push str.CBasePlayer
mov byte [ebp - 4], 9
call fcn.1004bfd0
push 0x10064ecc
mov dword [0x10064ec0], eax
mov byte [ebp - 4], 0
call fcn.10051360
add esp, 4
mov eax, dword [0x10064ec0]
mov ecx, dword [ebp - 0x3120]
test byte [ecx + eax], 1
jne 0x10019f2c
mov eax, dword [0x100662f8]
mov eax, dword [eax + 0x74]
mov dword [ebp - 0x3120], eax
mov eax, dword [0x10064da4]
cmp eax, dword [esi + 4]
jle 0x10019efe
push 0x10064da4
call fcn.100513b1
add esp, 4
cmp dword [0x10064da4], 0xffffffff
jne 0x10019efe
push str.m_vecOrigin
push str.CBaseEntity
mov byte [ebp - 4], 0xa
call fcn.1004bfd0
push 0x10064da4
mov dword [0x10064dcc], eax
mov byte [ebp - 4], 0
call fcn.10051360
add esp, 4
mov eax, dword [0x10064dcc]
mov ecx, dword [ebp - 0x3120]
mov edx, dword [ebp - 0x3124]
movss xmm0, dword [ecx + eax + 8]
subss xmm0, dword [ebp - 0x3100]
comiss xmm0, dword [0x1005c518]
jbe 0x10019f32
or dword [edx + 0x24], 4
jmp 0x10019f32
mov edx, dword [ebp - 0x3124]
or dword [edx + 0x24], 1
movss xmm0, dword [ebp - 0x1888]
movss xmm1, dword [ebp - 0x188c]
movss dword [edx + 0x10], xmm0
movss xmm0, dword [ebp - 0x1884]
movss dword [edx + 0xc], xmm1
movss dword [edx + 0x14], xmm0
mov ecx, dword [0x100662f8]
push edx
movss dword [ecx + 0x4e8], xmm1
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x4ec], eax
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x4f0], eax
mov eax, dword [0x100662f8]
mov dword [eax + 0x4f4], 0
mov eax, dword [0x100662f8]
mov ecx, dword [eax + 0x78]
call fcn.100423b0
test al, al
je 0x1001a2e8
movss xmm0, dword [ebp - 0x18bc]
comiss xmm0, dword [0x1005c3c4]
jbe 0x1001a20f
mov eax, dword [0x10064e54]
cmp eax, dword [esi + 4]
jle 0x1001a003
push 0x10064e54
call fcn.100513b1
add esp, 4
cmp dword [0x10064e54], 0xffffffff
jne 0x1001a003
push str.m_angEyeAngles_0_
push str.CTFPlayer
mov byte [ebp - 4], 0xb
call fcn.1004bfd0
push 0x10064e54
mov dword [0x10064e3c], eax
mov byte [ebp - 4], 0
call fcn.10051360
add esp, 4
mov eax, dword [0x10064e3c]
movss xmm0, dword [ebp - 0x30fc]
movss dword [edi + eax], xmm0
movss xmm0, dword [ebp - 0x30f8]
movss dword [edi + eax + 4], xmm0
movss xmm0, dword [ebp - 0x30f4]
movss dword [edi + eax + 8], xmm0
mov eax, dword [0x10064da0]
cmp eax, dword [esi + 4]
jle 0x1001a07d
push 0x10064da0
call fcn.100513b1
add esp, 4
cmp dword [0x10064da0], 0xffffffff
jne 0x1001a07d
push str.m_vecMins
push str.CBaseEntity
mov byte [ebp - 4], 0xc
call fcn.1004bfd0
push 0x10064da0
mov dword [0x10064de0], eax
mov byte [ebp - 4], 0
call fcn.10051360
add esp, 4
mov eax, dword [0x10064de0]
movss xmm0, dword [ebp - 0x30f0]
movss dword [eax + edi], xmm0
movss xmm0, dword [ebp - 0x30ec]
movss dword [eax + edi + 4], xmm0
movss xmm0, dword [ebp - 0x30e8]
movss dword [eax + edi + 8], xmm0
mov eax, dword [0x10064dfc]
cmp eax, dword [esi + 4]
jle 0x1001a0f7
push 0x10064dfc
call fcn.100513b1
add esp, 4
cmp dword [0x10064dfc], 0xffffffff
jne 0x1001a0f7
push str.m_vecMaxs
push str.CBaseEntity
mov byte [ebp - 4], 0xd
call fcn.1004bfd0
push 0x10064dfc
mov dword [0x10064dec], eax
mov byte [ebp - 4], 0
call fcn.10051360
add esp, 4
mov eax, dword [0x10064dec]
movss xmm0, dword [ebp - 0x30e4]
movss dword [edi + eax], xmm0
movss xmm0, dword [ebp - 0x30e0]
movss dword [edi + eax + 4], xmm0
movss xmm0, dword [ebp - 0x30dc]
movss dword [edi + eax + 8], xmm0
mov eax, dword [0x10064df0]
cmp eax, dword [esi + 4]
jle 0x1001a171
push 0x10064df0
call fcn.100513b1
add esp, 4
cmp dword [0x10064df0], 0xffffffff
jne 0x1001a171
push str.m_vecVelocity_0_
push str.CBasePlayer
mov byte [ebp - 4], 0xe
call fcn.1004bfd0
push 0x10064df0
mov dword [0x10064e04], eax
mov byte [ebp - 4], 0
call fcn.10051360
add esp, 4
mov eax, dword [0x10064e04]
movss xmm0, dword [ebp - 0x30d8]
movss dword [edi + eax], xmm0
movss xmm0, dword [ebp - 0x30d4]
movss dword [edi + eax + 4], xmm0
movss xmm0, dword [ebp - 0x30d0]
movss dword [edi + eax + 8], xmm0
mov eax, dword [0x10064e58]
cmp eax, dword [esi + 4]
jle 0x1001a1eb
push 0x10064e58
call fcn.100513b1
add esp, 4
cmp dword [0x10064e58], 0xffffffff
jne 0x1001a1eb
push str.m_flCycle
push str.CBaseAnimating
mov byte [ebp - 4], 0xf
call fcn.1004bfd0
push 0x10064e58
mov dword [0x10064e28], eax
mov byte [ebp - 4], 0
call fcn.10051360
add esp, 4
mov eax, dword [0x10064e28]
movss xmm0, dword [ebp - 0x18b8]
movss dword [edi + eax], xmm0
call fcn.100089a0
addss xmm0, dword [ebp - 0x18bc]
jmp 0x1001a2c6
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 8]
call eax
cmp dword [eax + 0x14], 0xf7
jne 0x1001a2e8
push 0x1800
lea eax, [ebp - 0x1810]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [0x100662f8]
lea ecx, [edi + 4]
add esp, 8
lea edx, [ebp - 0x1810]
mov eax, dword [eax + 0x2c]
movss xmm0, dword [eax + 0xc]
mov eax, dword [ecx]
movss dword [esp], xmm0
push 0x100
push 0x80
mov eax, dword [eax + 0x40]
push edx
call eax
mov eax, dword [0x10064d94]
cmp eax, dword [esi + 4]
jle 0x1001a2b6
push 0x10064d94
call fcn.100513b1
add esp, 4
cmp dword [0x10064d94], 0xffffffff
jne 0x1001a2b6
push str.m_flSimulationTime
push str.CBaseEntity
mov byte [ebp - 4], 0x10
call fcn.1004bfd0
push 0x10064d94
mov dword [0x10064d7c], eax
mov byte [ebp - 4], 0
call fcn.10051360
add esp, 4
mov esi, dword [0x10064d7c]
call fcn.100089a0
addss xmm0, dword [esi + edi]
mov eax, dword [0x100662f8]
mov ecx, dword [ebp - 0x3124]
mov eax, dword [eax + 0x2c]
divss xmm0, dword [eax + 0x1c]
addss xmm0, dword [0x1005c464]
cvttss2si eax, xmm0
mov dword [ecx + 8], eax
mov esi, dword [ebp - 0x187c]
test esi, esi
je 0x1001a33b
mov ecx, dword [ebp - 0x1874]
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 0x1001a331
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1001a331
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.10051764
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10051327
mov esp, ebp
pop ebp
ret 4