Function at 0x1007c270
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x38
mov eax, dword [0x10269840]
xor eax, esp
mov dword [esp + 0x34], eax
mov eax, dword [0x102699d4]
push esi
push edi
mov edi, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, dword [0x10269e40]
mov dword [esp + 0x18], ecx
test al, 1
jne 0x1007c320
mov esi, dword [0x10269968]
lea ecx, [esp + 0x24]
push 0xa
or eax, 1
mov dword [esp + 0x38], 0
vpxor xmm0, xmm0, xmm0
push str.m_MoveType
mov dword [0x10269e40], eax
vmovdqu xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x40], 0
call fcn.10002ab0
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x38]
mov dword [0x10269e3c], eax
cmp ecx, 0xf
jbe 0x1007c320
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007c316
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007d01f
push ecx
push edx
call fcn.101042db
add esp, 8
mov eax, dword [0x10269e3c]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 4]
cmp byte [ecx + eax], 2
jne 0x1007d0c5
mov eax, dword [0x102699d4]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, dword [0x10269e50]
test al, 1
jne 0x1007c3c9
mov esi, dword [0x10269968]
lea ecx, [esp + 0x24]
push 0x19
or eax, 1
mov dword [esp + 0x38], 0
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_flMaxspeed
mov dword [0x10269e50], eax
vmovdqu xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x40], 0
call fcn.10002ab0
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x38]
mov dword [0x10269e4c], eax
cmp ecx, 0xf
jbe 0x1007c3c9
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007c3bf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007d01f
push ecx
push edx
call fcn.101042db
add esp, 8
mov eax, dword [0x10269e4c]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
vmovss xmm0, dword [0x1016f6b0]
mov eax, dword [eax + 4]
mov eax, dword [ecx + eax]
mov dword [esi + 0x50], eax
mov eax, dword [0x10269964]
mov ecx, dword [eax + 0x18c]
test ecx, ecx
je 0x1007c410
mov eax, dword [ecx]
mov eax, dword [eax + 0x6e8]
mov dword [esp + 0x14], eax
call dword [esp + 0x14]
fstp dword [esp + 0x14]
vmovss xmm0, dword [esp + 0x14]
vmovss dword [esi + 0x54], xmm0
mov eax, dword [0x102699d4]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, dword [0x10269e18]
test al, 1
jne 0x1007c4b0
mov esi, dword [0x10269968]
lea ecx, [esp + 0x24]
push 0x1d
or eax, 1
mov dword [esp + 0x38], 0
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_vecVelocity_0_
mov dword [0x10269e18], eax
vmovdqu xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x40], 0
call fcn.10002ab0
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x38]
mov dword [0x10269e14], eax
cmp ecx, 0xf
jbe 0x1007c4ac
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007c4a2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007d01f
push ecx
push edx
call fcn.101042db
add esp, 8
mov esi, dword [esp + 0x18]
mov eax, dword [0x10269e14]
lea ecx, [esi + 0x3c]
push ecx
push edi
mov eax, dword [eax + 4]
add eax, dword [esp + 0x1c]
vmovq xmm0, qword [eax]
vmovq qword [ecx], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.1007d0e0
cmp byte [esi + 0xb], 0
je 0x1007c4e3
or dword [edi + 0x30], 0x400000
cmp byte [esi + 0x4c], 0
je 0x1007c783
mov eax, dword [0x10269a30]
cmp dword [eax + 0x38], 0
je 0x1007c5bc
mov eax, dword [0x102699d4]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, dword [0x10269edc]
test al, 1
jne 0x1007c58f
mov esi, dword [0x10269968]
lea ecx, [esp + 0x24]
push 0xe
or eax, 1
mov dword [esp + 0x38], 0
vpxor xmm0, xmm0, xmm0
push str.m_flDuckAmount
mov dword [0x10269edc], eax
vmovdqu xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x40], 0
call fcn.10002ab0
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x38]
mov dword [0x10269ed8], eax
cmp ecx, 0xf
jbe 0x1007c58f
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007c585
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007d01f
push ecx
push edx
call fcn.101042db
add esp, 8
mov eax, dword [0x10269ed8]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 4]
vmovss xmm0, dword [ecx + eax]
vcomiss xmm0, dword [0x101252a8]
jbe 0x1007c5b3
or dword [edi + 0x30], 4
jmp 0x1007c783
and dword [edi + 0x30], 0xfffffffb
jmp 0x1007c783
or dword [edi + 0x30], 0x400000
mov eax, dword [0x102699d4]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, dword [0x10269f54]
test al, 1
jne 0x1007c656
mov esi, dword [0x10269968]
lea ecx, [esp + 0x24]
push 0x1a
or eax, 1
mov dword [esp + 0x38], 0
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_flDuckSpeed
mov dword [0x10269f54], eax
vmovdqu xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x40], 0
call fcn.10002ab0
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x38]
mov dword [0x10269f50], eax
cmp ecx, 0xf
jbe 0x1007c656
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007c64c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007d01f
push ecx
push edx
call fcn.101042db
add esp, 8
mov eax, dword [0x10269f50]
mov ecx, dword [eax + 4]
mov eax, dword [0x10269970]
vmovss xmm0, dword [eax + 0x20]
mov eax, dword [esp + 0x14]
vmulss xmm1, xmm0, dword [0x10129e00]
vmulss xmm0, xmm1, dword [ecx + eax]
mov eax, dword [0x102699d4]
vminss xmm0, xmm0, dword [0x10107b88]
vmovss dword [esp + 0x14], xmm0
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [0x10269edc]
test al, 1
jne 0x1007c724
mov esi, dword [0x10269968]
lea ecx, [esp + 0x24]
push 0xe
or eax, 1
mov dword [esp + 0x38], 0
vpxor xmm0, xmm0, xmm0
push str.m_flDuckAmount
mov dword [0x10269edc], eax
vmovdqu xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x40], 0
call fcn.10002ab0
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x38]
mov dword [0x10269ed8], eax
cmp ecx, 0xf
jbe 0x1007c71e
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007c714
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007d01f
push ecx
push edx
call fcn.101042db
add esp, 8
vmovss xmm0, dword [esp + 0x14]
mov eax, dword [0x10269ed8]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 4]
vcomiss xmm0, dword [ecx + eax]
jb 0x1007c773
mov eax, dword [0x1026997c]
cmp dword [eax + 0x4d30], 7
jge 0x1007c74b
and dword [edi + 0x30], 0xfffffffb
jmp 0x1007c74f
or dword [edi + 0x30], 4
mov ecx, dword [0x10269964]
mov al, byte [ecx + 0x188]
test al, 1
je 0x1007c769
or al, 2
mov byte [ecx + 0x188], al
jmp 0x1007c783
and al, 0xfd
mov byte [ecx + 0x188], al
jmp 0x1007c783
and dword [edi + 0x30], 0xfffffffb
mov eax, dword [0x10269964]
and byte [eax + 0x188], 0xfd
mov esi, dword [esp + 0x18]
mov ecx, esi
push edi
call fcn.1007dee0
push edi
mov ecx, esi
mov byte [esp + 0x23], al
call fcn.1007b240
cmp byte [esp + 0x1f], 0
mov byte [esp + 0xf], al
jne 0x1007cf7d
cmp byte [esi + 0xa], 0
je 0x1007cbc9
push dword [esi + 0x24]
call dword [sym.imp.USER32.dll_GetKeyState]
cwde
shr eax, 0x10
test eax, eax
je 0x1007c9c7
test byte [edi + 0x30], 2
jne 0x1007c9c7
mov eax, dword [0x102699d4]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [0x102699dc]
test al, 1
jne 0x1007c86d
or dword [0x102699dc], 1
lea ecx, [esp + 0x24]
mov esi, dword [0x10269968]
push 0x15
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_fFlags
vmovdqu xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
call fcn.10002ab0
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x38]
mov dword [0x102699d8], eax
cmp ecx, 0xf
jbe 0x1007c869
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007c85f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007d01f
push ecx
push edx
call fcn.101042db
add esp, 8
mov esi, dword [esp + 0x18]
mov eax, dword [0x102699d8]
mov ecx, dword [esp + 0x10]
vxorps xmm1, xmm1, xmm1
mov eax, dword [eax + 4]
test byte [ecx + eax], 1
je 0x1007c9cb
vmovss xmm0, dword [edi + 0x24]
vucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1007c8a9
vmovss xmm0, dword [edi + 0x28]
vucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1007c9cb
vmovss xmm0, dword [esi + 0x3c]
vmovss xmm3, dword [esi + 0x40]
vmovss xmm2, dword [esi + 0x44]
vmulss xmm1, xmm0, xmm0
vmulss xmm0, xmm3, xmm3
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm2, xmm2
vaddss xmm0, xmm1, xmm0
vcvtss2sd xmm0, xmm0, xmm0
vxorpd xmm1, xmm1, xmm1
vucomisd xmm1, xmm0
ja 0x1007c8e0
vsqrtsd xmm0, xmm0, xmm0
jmp 0x1007c8e5
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
vmovss xmm1, dword [esi + 0x14]
vcvtsd2ss xmm0, xmm0, xmm0
vcomiss xmm0, xmm1
jb 0x1007c9c7
vmovss dword [esi + 0x54], xmm1
vmovss dword [esi + 0x50], xmm1
mov eax, dword [0x102699d4]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [0x10269e18]
test al, 1
jne 0x1007c99d
mov esi, dword [0x10269968]
lea ecx, [esp + 0x24]
push 0x1d
or eax, 1
mov dword [esp + 0x38], 0
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_vecVelocity_0_
mov dword [0x10269e18], eax
vmovdqu xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x40], 0
call fcn.10002ab0
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x38]
mov dword [0x10269e14], eax
cmp ecx, 0xf
jbe 0x1007c999
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007c98f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007d01f
push ecx
push edx
call fcn.101042db
add esp, 8
mov esi, dword [esp + 0x18]
mov eax, dword [0x10269e14]
mov ecx, esi
mov eax, dword [eax + 4]
add eax, dword [esp + 0x10]
vmovq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x24]
push eax
push edi
vmovq qword [esp + 0x2c], xmm0
call fcn.1007bd90
vxorps xmm1, xmm1, xmm1
mov al, byte [esp + 0xf]
test al, al
jne 0x1007cf7d
mov eax, dword [0x10269a4c]
cmp byte [eax + 0x1a], 0
je 0x1007ce8c
vmovss xmm0, dword [edi + 0x24]
vucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1007ca08
vmovss xmm0, dword [edi + 0x28]
vucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1007ce8c
test byte [edi + 0x30], 4
jne 0x1007ce8c
cmp byte [esi + 0x4c], 0
jne 0x1007ce8c
mov eax, dword [0x102699d4]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [0x102699dc]
test al, 1
jne 0x1007cab6
or dword [0x102699dc], 1
lea ecx, [esp + 0x24]
mov esi, dword [0x10269968]
push 0x15
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_fFlags
vmovdqu xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
call fcn.10002ab0
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x38]
mov dword [0x102699d8], eax
cmp ecx, 0xf
jbe 0x1007cab2
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007caa8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007d01f
push ecx
push edx
call fcn.101042db
add esp, 8
mov esi, dword [esp + 0x18]
mov eax, dword [0x102699d8]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 4]
test byte [ecx + eax], 1
je 0x1007ce8c
test byte [edi + 0x30], 2
jne 0x1007ce8c
mov eax, dword [0x10269964]
cmp dword [eax + 0x18c], 0
je 0x1007ce95
cmp dword [eax + 0x190], 0
je 0x1007ce95
mov eax, dword [0x102699d4]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [0x10269e50]
test al, 1
jne 0x1007cb88
mov esi, dword [0x10269968]
lea ecx, [esp + 0x24]
push 0x19
or eax, 1
mov dword [esp + 0x38], 0
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_flMaxspeed
mov dword [0x10269e50], eax
vmovdqu xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x40], 0
call fcn.10002ab0
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x38]
mov dword [0x10269e4c], eax
cmp ecx, 0xf
jbe 0x1007cb88
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007cb7e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007d01f
push ecx
push edx
call fcn.101042db
add esp, 8
mov eax, dword [0x10269e4c]
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov eax, dword [eax + 4]
mov eax, dword [ecx + eax]
mov dword [esi + 0x50], eax
mov eax, dword [0x10269964]
mov ecx, dword [eax + 0x18c]
test ecx, ecx
je 0x1007cbd2
mov eax, dword [ecx]
mov eax, dword [eax + 0x6e8]
mov dword [esp + 0x10], eax
call dword [esp + 0x10]
fstp dword [esp + 0x10]
vmovss xmm0, dword [esp + 0x10]
jmp 0x1007cbda
vxorps xmm1, xmm1, xmm1
jmp 0x1007c9cf
vmovss xmm0, dword [0x1016f6b0]
vmovss dword [esi + 0x54], xmm0
mov eax, dword [0x102699d4]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [0x10269e18]
test al, 1
jne 0x1007cc72
mov esi, dword [0x10269968]
lea ecx, [esp + 0x24]
push 0x1d
or eax, 1
mov dword [esp + 0x38], 0
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_vecVelocity_0_
mov dword [0x10269e18], eax
vmovdqu xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x40], 0
call fcn.10002ab0
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x38]
mov dword [0x10269e14], eax
cmp ecx, 0xf
jbe 0x1007cc72
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007cc68
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007d01f
push ecx
push edx
call fcn.101042db
add esp, 8
mov eax, dword [0x10269e14]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x10]
vmovq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x24]
push eax
push edi
vmovq qword [esp + 0x2c], xmm0
call fcn.1007d0e0
vmovss xmm0, dword [esp + 0x24]
vmulss xmm1, xmm0, xmm0
vmovss xmm0, dword [esp + 0x28]
vmulss xmm0, xmm0, xmm0
vaddss xmm0, xmm1, xmm0
vcvtss2sd xmm0, xmm0, xmm0
vxorpd xmm1, xmm1, xmm1
vucomisd xmm1, xmm0
ja 0x1007ccca
vsqrtsd xmm0, xmm0, xmm0
jmp 0x1007cccf
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
vcvtsd2ss xmm0, xmm0, xmm0
vcomiss xmm0, dword [0x101252d0]
vmovss dword [esp + 0x14], xmm0
jbe 0x1007ce8c
mov eax, dword [0x102699d4]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [0x10269e18]
test al, 1
jne 0x1007cd7a
mov esi, dword [0x10269968]
lea ecx, [esp + 0x24]
push 0x1d
or eax, 1
mov dword [esp + 0x38], 0
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_vecVelocity_0_
mov dword [0x10269e18], eax
vmovdqu xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x40], 0
call fcn.10002ab0
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x38]
mov dword [0x10269e14], eax
cmp ecx, 0xf
jbe 0x1007cd7a
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007cd70
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007d01f
push ecx
push edx
call fcn.101042db
add esp, 8
mov eax, dword [0x10269e14]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x10]
vmovss xmm0, dword [eax]
vmovss xmm2, dword [eax + 4]
vmulss xmm1, xmm0, xmm0
vmulss xmm0, xmm2, xmm2
vaddss xmm0, xmm1, xmm0
vcvtss2sd xmm0, xmm0, xmm0
vxorpd xmm1, xmm1, xmm1
vucomisd xmm1, xmm0
ja 0x1007cdaf
vsqrtsd xmm0, xmm0, xmm0
jmp 0x1007cdb4
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
vmovss xmm1, dword [esp + 0x14]
vcvtsd2ss xmm0, xmm0, xmm0
vsubss xmm1, xmm1, xmm0
vandps xmm1, xmm1, xmmword [0x101253d0]
vmovss xmm0, dword [0x101252e8]
vcomiss xmm0, xmm1
jbe 0x1007ce8c
vmovss xmm0, dword [edi + 0x24]
vmovss xmm2, dword [edi + 0x28]
vmulss xmm1, xmm0, xmm0
vmulss xmm0, xmm2, xmm2
vaddss xmm0, xmm1, xmm0
vcvtss2sd xmm0, xmm0, xmm0
vxorpd xmm1, xmm1, xmm1
vucomisd xmm1, xmm0
ja 0x1007ce06
vsqrtsd xmm0, xmm0, xmm0
jmp 0x1007ce0b
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
mov eax, dword [0x10269964]
sub esp, 8
vcvtsd2ss xmm0, xmm0, xmm0
vmovss dword [esp + 0x1c], xmm0
vmovss xmm0, dword [0x10125318]
mov eax, dword [eax]
vmovss dword [esp + 4], xmm0
vmovss xmm0, dword [0x10107b88]
mov dword [esp + 0x18], eax
vmovss dword [esp], xmm0
call dword [esp + 0x18]
mov eax, dword [0x10269964]
add esp, 8
fstp dword [esp + 0x20]
mov ecx, dword [eax + 0x18c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6e8]
call eax
vmovss xmm1, dword [esp + 0x14]
fstp dword [esp + 0x10]
vminss xmm0, xmm1, dword [esp + 0x10]
vsubss xmm0, xmm0, dword [esp + 0x20]
vdivss xmm1, xmm0, xmm1
vmulss xmm0, xmm1, dword [edi + 0x24]
vmovss dword [edi + 0x24], xmm0
vmulss xmm0, xmm1, dword [edi + 0x28]
vmovss dword [edi + 0x28], xmm0
mov esi, dword [esp + 0x18]
mov eax, dword [0x10269964]
cmp byte [esi + 0xc], 0
je 0x1007cf75
test byte [edi + 0x30], 2
je 0x1007cf75
mov ecx, dword [eax + 0xe8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
jne 0x1007cf75
mov eax, dword [0x102699d4]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov eax, dword [0x102699dc]
test al, 1
jne 0x1007cf59
mov esi, dword [0x10269968]
lea ecx, [esp + 0x24]
push 0x15
or eax, 1
mov dword [esp + 0x38], 0
vpxor xmm0, xmm0, xmm0
push str.CBasePlayer__m_fFlags
mov dword [0x102699dc], eax
vmovdqu xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x40], 0
call fcn.10002ab0
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x38]
mov dword [0x102699d8], eax
cmp ecx, 0xf
jbe 0x1007cf55
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007cf4b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007d01f
push ecx
push edx
call fcn.101042db
add esp, 8
mov esi, dword [esp + 0x18]
mov eax, dword [0x102699d8]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + 4]
test byte [ecx + eax], 1
je 0x1007cf71
or dword [edi + 0x30], 2
jmp 0x1007cf75
and dword [edi + 0x30], 0xfffffffd
push edi
mov ecx, esi
call fcn.10079db0
push edi
mov ecx, esi
call fcn.1007a5c0
and dword [edi + 0x30], 0xfffff9e7
cmp byte [esi + 9], 0
je 0x1007d07c
mov eax, dword [0x102699d4]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov eax, dword [0x10269e40]
test al, 1
jne 0x1007d02f
mov esi, dword [0x10269968]
lea ecx, [esp + 0x24]
push 0xa
or eax, 1
mov dword [esp + 0x38], 0
vpxor xmm0, xmm0, xmm0
push str.m_MoveType
mov dword [0x10269e40], eax
vmovdqu xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x40], 0
call fcn.10002ab0
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [esp + 0x38]
mov dword [0x10269e3c], eax
cmp ecx, 0xf
jbe 0x1007d02f
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007d025
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1007d025
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.101042db
add esp, 8
mov eax, dword [0x10269e3c]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + 4]
cmp byte [ecx + eax], 2
jne 0x1007d07c
vmovss xmm1, dword [edi + 0x24]
vxorps xmm0, xmm0, xmm0
vucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x1007d067
xor eax, eax
vcomiss xmm0, xmm1
setbe al
lea eax, [eax*8 + 8]
or dword [edi + 0x30], eax
vmovss xmm1, dword [edi + 0x28]
vucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x1007d0c5
vcomiss xmm0, xmm1
jmp 0x1007d0b5
vmovss xmm1, dword [edi + 0x24]
vxorps xmm0, xmm0, xmm0
vucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x1007d0a2
xor eax, eax
vcomiss xmm1, xmm0
setbe al
lea eax, [eax*8 + 8]
or dword [edi + 0x30], eax
vmovss xmm1, dword [edi + 0x28]
vucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x1007d0c5
vcomiss xmm1, xmm0
mov eax, 0x200
mov ecx, 0x400
cmova eax, ecx
or dword [edi + 0x30], eax
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
xor ecx, esp
call fcn.10104603
mov esp, ebp
pop ebp
ret 4