Function at 0x100c0630
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ee3b0
mov eax, dword fs:[0]
push eax
sub esp, 0x25c
mov eax, dword [0x10112040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x23c], edx
mov edi, ecx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x238], 0
test ebx, ebx
je 0x100c19f9
cmp dword [ebx + 4], 0
je 0x100c19f9
mov eax, dword [0x10117880]
mov eax, dword [eax + 0xa8]
cmp byte [eax], 0
jne 0x100c19f9
mov eax, dword [0x101160f0]
mov ecx, dword [0x10115ffc]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x101160f0]
push eax
call esi
mov dword [0x10116080], eax
test eax, eax
je 0x100c06f2
mov eax, dword [0x101160f0]
mov ecx, dword [0x10115ffc]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x101160f0]
push eax
call esi
mov ecx, eax
call fcn.100da2e0
mov ecx, eax
mov eax, dword [0x10116080]
jmp 0x100c06f4
xor ecx, ecx
mov dword [0x10116000], ecx
test eax, eax
je 0x100c19e3
mov ecx, dword [0x10115ffc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x100c19e3
vmovss xmm0, dword [ebp + 8]
mov eax, dword [sym.ateris.dll_bool____fastcall___void___void___float__class_CUserCmd___CreateMove::OriginalFunction]
mov edx, dword [ebp - 0x23c]
push ebx
push ecx
mov ecx, edi
vmovss dword [esp], xmm0
call eax
test al, al
je 0x100c0747
mov ecx, dword [0x10115ffc]
mov eax, dword [ecx]
mov edx, dword [eax + 0x50]
lea eax, [ebx + 0xc]
push eax
call edx
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x244], ebp
mov eax, dword [ebp - 0x244]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [0x10117880]
dec ecx
mov dword [ebp - 0x22c], ecx
mov dword [eax + 0x18], ecx
vmovss xmm0, dword [ebx + 0xc]
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10115fb4]
mov esi, dword [0x10116080]
vmovss dword [ebp - 0x248], xmm0
vmovss xmm0, dword [ebx + 0x10]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10116068]
vmovss dword [ebp - 0x24c], xmm0
vmovss xmm0, dword [ebx + 0x14]
vmovss dword [ebp - 0x23c], xmm0
vmovss xmm0, dword [ebx + 0x18]
vmovss dword [ebp - 0x250], xmm0
vmovss xmm0, dword [ebx + 0x1c]
vmovss dword [ebp - 0x234], xmm0
mov dword [ebp - 0x230], ecx
cmp eax, dword [ecx + 4]
jle 0x100c0820
push 0x10116068
call fcn.100e1f99
add esp, 4
cmp dword [0x10116068], 0xffffffff
jne 0x100c0820
push str.m_fFlags
push str.CBasePlayer
mov dword [ebp - 4], 0
call fcn.100e1150
push 0x10116068
mov dword [0x10116038], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e1f48
add esp, 4
mov eax, dword [0x10116038]
mov ecx, dword [0x101160c0]
mov edx, dword [0x101160d0]
mov eax, dword [eax + esi]
mov dword [ebp - 0x240], eax
mov eax, dword [ecx]
mov esi, dword [edx + 0x1a0]
mov edi, dword [eax + 0xc]
mov eax, dword [edx + 0x4b28]
add eax, dword [edx + 0x4b24]
test esi, esi
push eax
push dword [edx + 0x4b2c]
setg al
movzx eax, al
push eax
push esi
call edi
call fcn.1002f1b0
mov esi, dword [0x10116080]
mov edi, dword [ebp - 0x230]
test esi, esi
je 0x100c08f3
mov eax, dword [0x10116050]
cmp eax, dword [edi + 4]
jle 0x100c08cb
push 0x10116050
call fcn.100e1f99
add esp, 4
cmp dword [0x10116050], 0xffffffff
jne 0x100c08cb
push str.m_lifeState
push str.CBasePlayer
mov dword [ebp - 4], 1
call fcn.100e1150
push 0x10116050
mov dword [0x10116010], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e1f48
add esp, 4
mov eax, dword [0x10116010]
cmp byte [eax + esi], 0
jne 0x100c08f3
mov ecx, dword [0x10116000]
test ecx, ecx
je 0x100c08f3
mov eax, dword [ecx]
mov eax, dword [eax + 0x5f4]
call eax
mov ecx, dword [0x10117880]
mov dword [ecx + 0x74], eax
push ebx
call fcn.1009b8d0
push ebx
call fcn.1009bbf0
push ebx
call fcn.1009ccd0
push ebx
call fcn.1009dc00
push ebx
call fcn.1009c820
push ebx
call fcn.1009cff0
mov eax, dword [0x10117880]
cmp dword [eax + 8], 0
jle 0x100c0942
cmp byte [eax + 0x16], 0
jne 0x100c0933
push ebx
call fcn.1009c170
mov eax, dword [0x10117880]
cmp dword [eax + 8], 1
mov ecx, dword [ebp - 0x22c]
sete al
mov byte [ecx], al
mov eax, dword [0x10118568]
cmp eax, dword [edi + 4]
jle 0x100c0997
push 0x10118568
call fcn.100e1f99
add esp, 4
cmp dword [0x10118568], 0xffffffff
jne 0x100c0997
mov dword [ebp - 4], 2
mov ecx, dword [0x10116180]
push str.cl_cmdrate
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
push 0x10118568
mov dword [0x1011859c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e1f48
add esp, 4
cmp dword [0x1011859c], 0
je 0x100c0b1a
mov ecx, dword [0x10116080]
test ecx, ecx
je 0x100c0b1a
cmp dword [0x10116164], 0
je 0x100c0b1a
mov eax, dword [0x101160d0]
cmp dword [eax + 0x10], 0
je 0x100c0b1a
mov eax, dword [0x101178b0]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xc]
cmp byte [eax + 0x14], 0
je 0x100c0b1a
test ecx, ecx
je 0x100c09f5
add ecx, 8
je 0x100c09f5
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
jmp 0x100c09f7
xor eax, eax
push eax
call fcn.1002ed40
push 0x214
mov esi, eax
lea eax, [ebp - 0x228]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [0x101178b0]
add esp, 0xc
mov ecx, dword [ecx + 4]
mov eax, dword [ecx + 0xc]
cmp esi, dword [eax + 0x18]
jle 0x100c0a2d
mov eax, 0x100fc438
jmp 0x100c0a61
mov eax, dword [0x1011859c]
lea ecx, [ebp - 0x268]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + 0x30]
call fcn.1006b0d0
mov dword [ebp - 0x238], 3
lea eax, [ebp - 0x268]
cmp dword [ebp - 0x254], 0xf
cmova eax, dword [ebp - 0x268]
push eax
push ecx
lea ecx, [ebp - 0x228]
call fcn.100c0310
mov dword [ebp - 4], 3
test byte [ebp - 0x238], 1
je 0x100c0ad5
mov ecx, dword [ebp - 0x254]
cmp ecx, 0xf
jbe 0x100c0aba
mov edx, dword [ebp - 0x268]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c0ab0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c0ab0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100e1ebd
add esp, 8
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0xf
mov byte [ebp - 0x268], 0
mov eax, dword [0x101160a4]
mov eax, dword [eax + 0x18]
and eax, 0x8000001f
jns 0x100c0aeb
dec eax
or eax, 0xffffffe0
add eax, 1
jne 0x100c0b09
mov ecx, dword [0x101160d0]
lea eax, [ebp - 0x228]
push 0
push 0
push eax
mov ecx, dword [ecx + 0x10]
xor edx, edx
call dword [sym.ateris.dll_bool____fastcall___void___void___class_INetMessage___bool__bool__SendNetMessage::OriginalFunction]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - method.INetMessage.virtual_0], vtable.INetMessage.0
mov eax, dword [0x10118444]
cmp eax, dword [edi + 4]
jle 0x100c0b6f
push 0x10118444
call fcn.100e1f99
add esp, 4
cmp dword [0x10118444], 0xffffffff
jne 0x100c0b6f
mov dword [ebp - 4], 4
mov ecx, dword [0x10116180]
push str.mp_idlemaxtime
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
push 0x10118444
mov dword [0x1011843c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e1f48
add esp, 4
mov eax, dword [0x1011843c]
vmovss xmm2, dword [0x10100c20]
test eax, eax
je 0x100c0bd9
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x100c0bd9
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vmulss xmm0, xmm0, dword [0x10100d58]
mov eax, dword [0x101160a4]
vdivss xmm0, xmm0, dword [eax + 0x1c]
vaddss xmm0, xmm0, dword [0x10100bf8]
vcvttss2si eax, xmm0
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vmulss xmm0, xmm0, dword [0x10100bf8]
mov eax, dword [ebx + 4]
vsubss xmm0, xmm0, xmm2
vcvttss2si ecx, xmm0
cdq
idiv ecx
test edx, edx
jne 0x100c0bd9
or dword [ebx + 0x24], 0x800000
mov ecx, dword [0x10115ffc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x238], eax
call dword [ebp - 0x238]
mov eax, dword [0x10117880]
fstp dword [ebp - 0x238]
vmovss xmm0, dword [ebp - 0x238]
mov eax, dword [eax + 0x94]
vmovss xmm1, dword [eax + 4]
vcomiss xmm0, xmm1
vxorps xmm0, xmm0, xmm0
jbe 0x100c0ce1
vcomiss xmm1, dword [0x10100ba4]
jbe 0x100c0ce1
vmovss dword [eax + 4], xmm0
mov eax, dword [0x10117880]
mov eax, dword [eax + 0x94]
mov byte [eax], 1
mov esi, dword [0x101178c8]
push dword [esi + 0x64]
call fcn.100e2285
add esp, 4
mov dword [esi + 0x64], 0
mov dword [esi + 0x68], 0
push dword [esi + 0x44]
call dword [sym.imp.WINMM.dll_waveOutReset]
push dword [esi + 0x44]
call dword [sym.imp.WINMM.dll_waveOutClose]
mov dword [esi + 0x44], 0
mov eax, dword [0x10117880]
mov eax, dword [eax + 0x94]
cmp byte [eax], 0
je 0x100c0ce1
mov ecx, dword [0x10115ffc]
push str.voice_loopback_0
mov eax, dword [ecx]
mov eax, dword [eax + 0x1a8]
call eax
mov ecx, dword [0x10115ffc]
push str._voicerecord
mov eax, dword [ecx]
mov eax, dword [eax + 0x1a8]
call eax
push str.stopped_n
lea eax, [ebp - 0x238]
mov dword [ebp - 0x238], 0xffffff00
push eax
push dword [0x10116180]
call fcn.10033bd0
mov eax, dword [0x10117880]
add esp, 0xc
mov eax, dword [eax + 0x94]
mov byte [eax], 0
mov eax, dword [0x10118430]
cmp eax, dword [edi + 4]
jle 0x100c0d7e
push 0x10118430
call fcn.100e1f99
add esp, 4
cmp dword [0x10118430], 0xffffffff
jne 0x100c0d7e
mov dword [ebp - 4], 5
mov eax, dword [0x1011609c]
mov esi, dword [0x10116080]
cmp eax, dword [edi + 4]
jle 0x100c0d5d
push 0x1011609c
call fcn.100e1f99
add esp, 4
cmp dword [0x1011609c], 0xffffffff
jne 0x100c0d5d
push str.m_iClass
push str.CTFPlayer
mov byte [ebp - 4], 6
call fcn.100e1150
push 0x1011609c
mov dword [0x1011608c], eax
call fcn.100e1f48
add esp, 4
mov eax, dword [0x1011608c]
push 0x10118430
mov eax, dword [eax + esi]
mov dword [0x101184dc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e1f48
add esp, 4
mov eax, dword [0x1011609c]
mov esi, dword [0x10116080]
cmp eax, dword [edi + 4]
jle 0x100c0dd6
push 0x1011609c
call fcn.100e1f99
add esp, 4
cmp dword [0x1011609c], 0xffffffff
jne 0x100c0dd6
push str.m_iClass
push str.CTFPlayer
mov dword [ebp - 4], 7
call fcn.100e1150
push 0x1011609c
mov dword [0x1011608c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e1f48
add esp, 4
mov eax, dword [0x1011608c]
mov ecx, dword [0x101184dc]
cmp ecx, dword [esi + eax]
je 0x100c0e54
mov eax, dword [0x10117924]
mov byte [eax + 9], 0
mov eax, dword [0x1011609c]
mov esi, dword [0x10116080]
cmp eax, dword [edi + 4]
jle 0x100c0e47
push 0x1011609c
call fcn.100e1f99
add esp, 4
cmp dword [0x1011609c], 0xffffffff
jne 0x100c0e47
push str.m_iClass
push str.CTFPlayer
mov dword [ebp - 4], 8
call fcn.100e1150
push 0x1011609c
mov dword [0x1011608c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e1f48
add esp, 4
mov eax, dword [0x1011608c]
mov eax, dword [eax + esi]
mov dword [0x101184dc], eax
mov eax, dword [0x10117880]
vxorps xmm0, xmm0, xmm0
push ebx
vmovss dword [eax + 0x58], xmm0
vmovss dword [eax + 0x5c], xmm0
vmovss dword [eax + 0x60], xmm0
call fcn.100364d0
mov ecx, dword [0x101178b8]
push ebx
call fcn.10020bf0
push ebx
call fcn.10047b00
mov ecx, dword [0x101182a4]
push ebx
call fcn.100ad8d0
push ebx
call fcn.1009f6e0
push ebx
call fcn.10049bd0
push ebx
call fcn.1002af50
push ebx
call fcn.100296d0
push ebx
call fcn.10028310
push ebx
call fcn.10027e80
mov esi, dword [ebp - 0x22c]
push esi
push ebx
call fcn.1009d380
push esi
push ebx
call fcn.1009d950
push ebx
call fcn.1009f200
push ebx
call fcn.100a13d0
mov eax, dword [0x101178b0]
mov eax, dword [eax + 0x14]
cmp byte [eax + 2], 0
je 0x100c0ff5
cmp dword [0x10116228], 0
jne 0x100c0f06
push str.Team_Fortress_2
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [0x10116228], eax
jmp 0x100c0ff5
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0x10116228]
jne 0x100c0ff5
mov eax, dword [0x10116050]
mov esi, dword [0x10116080]
cmp eax, dword [edi + 4]
jle 0x100c0f70
push 0x10116050
call fcn.100e1f99
add esp, 4
cmp dword [0x10116050], 0xffffffff
jne 0x100c0f70
push str.m_lifeState
push str.CBasePlayer
mov dword [ebp - 4], 9
call fcn.100e1150
push 0x10116050
mov dword [0x10116010], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e1f48
add esp, 4
mov eax, dword [0x10116010]
cmp byte [esi + eax], 0
jne 0x100c0ff5
call fcn.1009b730
cmp byte [eax], 1
ja 0x100c0ff5
mov ecx, dword [0x10116080]
call fcn.100262e0
mov eax, dword [eax]
shr eax, 0xd
test al, 1
jne 0x100c0ff5
call fcn.10026430
test al, al
jne 0x100c0ff5
mov ecx, dword [0x10116080]
mov eax, dword [ecx + 0x1a4]
cmp eax, 8
je 0x100c0ff5
cmp eax, 9
je 0x100c0ff5
cmp eax, 0xa
je 0x100c0ff5
mov eax, dword [0x101178b0]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x40]
test eax, eax
je 0x100c0fde
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x100c0ff5
mov ecx, dword [0x10116080]
test byte [ebp - 0x240], 1
je 0x100c0ff5
call fcn.1001cce0
test byte [eax], 1
jne 0x100c0ff5
or dword [ebx + 0x24], 2
push dword [ebp - 0x22c]
push ebx
call fcn.100270c0
push ebx
call fcn.10033fa0
mov esi, dword [0x10116080]
mov edi, dword [0x1011793c]
test esi, esi
je 0x100c12e9
mov ecx, dword [ebp - 0x230]
mov eax, dword [0x10116050]
mov dword [ebp - 0x240], esi
cmp eax, dword [ecx + 4]
jle 0x100c107f
push 0x10116050
call fcn.100e1f99
add esp, 4
cmp dword [0x10116050], 0xffffffff
jne 0x100c1079
push str.m_lifeState
push str.CBasePlayer
mov dword [ebp - 4], 0xa
call fcn.100e1150
push 0x10116050
mov dword [0x10116010], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e1f48
add esp, 4
mov esi, dword [0x10116080]
mov eax, dword [0x10116010]
mov ecx, dword [ebp - 0x240]
cmp byte [ecx + eax], 0
jne 0x100c112a
mov ecx, dword [0x101161a8]
push esi
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [0x101160a4]
mov eax, dword [edi + 0xa8]
mov dword [ecx + 0xc], eax
mov eax, dword [edi + 0xac]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 0xb0]
mov dword [ecx + 0x18], eax
mov ecx, dword [0x101160c0]
mov al, byte [edi + 0xb4]
mov byte [ecx + 8], al
mov al, byte [edi + 0xb5]
mov byte [ecx + 9], al
mov ecx, dword [ebp - 0x230]
mov eax, dword [0x10117930]
cmp eax, dword [ecx + 4]
jle 0x100c110f
push 0x10117930
call fcn.100e1f99
add esp, 4
cmp dword [0x10117930], 0xffffffff
jne 0x100c110f
push 0x10117930
call fcn.100e1f48
add esp, 4
mov esi, dword [0x10116080]
mov eax, dword [0x10116188]
mov dword [esi + 0x1184], 0
mov dword [eax], 0xffffffff
test esi, esi
je 0x100c12e9
mov ecx, dword [ebp - 0x230]
mov edi, esi
mov eax, dword [0x10116050]
cmp eax, dword [ecx + 4]
jle 0x100c1198
push 0x10116050
call fcn.100e1f99
add esp, 4
cmp dword [0x10116050], 0xffffffff
jne 0x100c118c
push str.m_lifeState
push str.CBasePlayer
mov dword [ebp - 4], 0xb
call fcn.100e1150
push 0x10116050
mov dword [0x10116010], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e1f48
add esp, 4
mov ecx, dword [ebp - 0x230]
mov esi, dword [0x10116080]
mov eax, dword [0x10116010]
cmp byte [edi + eax], 0
jne 0x100c12e9
mov eax, dword [0x101178b0]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x30]
cmp byte [eax], 0
je 0x100c12e9
mov eax, dword [0x10117880]
cmp dword [eax + 8], 0
jg 0x100c12e9
cmp dword [0x10116000], 0
je 0x100c12e9
mov eax, dword [0x1011609c]
cmp eax, dword [ecx + 4]
jle 0x100c1229
push 0x1011609c
call fcn.100e1f99
add esp, 4
cmp dword [0x1011609c], 0xffffffff
jne 0x100c1229
push str.m_iClass
push str.CTFPlayer
mov dword [ebp - 4], 0xc
call fcn.100e1150
push 0x1011609c
mov dword [0x1011608c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e1f48
add esp, 4
mov eax, dword [0x1011608c]
cmp dword [esi + eax], 4
jne 0x100c1251
mov ecx, dword [0x10116000]
test ecx, ecx
je 0x100c1251
mov eax, dword [ecx]
mov eax, dword [eax + 0x528]
call eax
cmp eax, 1
je 0x100c12e9
mov ecx, dword [ebp - 0x230]
mov eax, dword [0x1011824c]
mov esi, dword [0x10116000]
cmp eax, dword [ecx + 4]
jle 0x100c1293
push 0x1011824c
call fcn.100e1f99
add esp, 4
cmp dword [0x1011824c], 0xffffffff
jne 0x100c1293
push 0x1011824c
mov dword [0x10118254], esi
call fcn.100e1f48
add esp, 4
cmp dword [0x10118254], esi
je 0x100c12ad
mov eax, dword [0x10117880]
mov dword [eax + 0xc], 0x1a
mov dword [0x10118254], esi
mov ecx, dword [0x10116000]
call fcn.100d9bd0
test al, al
jne 0x100c12c8
mov eax, dword [0x10117880]
mov dword [eax + 0xc], 0x17
mov ecx, dword [0x10117880]
cmp dword [ecx + 0x74], 0x12
jne 0x100c12e9
mov eax, dword [0x10116000]
cmp dword [eax + 0xc48], 3
je 0x100c12e9
mov dword [ecx + 0xc], 0x18
mov eax, dword [0x10117880]
cmp byte [eax + 0x16], 0
je 0x100c12f8
and dword [ebx + 0x24], 0xfffffffe
push ebx
call fcn.100d49b0
test al, al
je 0x100c154a
mov eax, dword [0x101178b0]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x30]
cmp byte [eax], 0
je 0x100c154a
call fcn.100264e0
movzx eax, al
mov esi, 0xb
sub esi, eax
mov eax, dword [0x101178b0]
add esi, esi
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x30]
cmp dword [eax + 0x10], 2
jne 0x100c1346
mov eax, dword [0x10117880]
cmp esi, dword [eax]
cmovge esi, dword [eax]
mov eax, dword [0x10117880]
cmp dword [eax], esi
jl 0x100c154a
push dword [0x10116000]
call fcn.100d3bd0
test al, al
jne 0x100c154a
mov edi, dword [0x10116080]
test edi, edi
je 0x100c154a
mov edx, dword [ebp - 0x230]
mov eax, dword [0x10116050]
cmp eax, dword [edx + 4]
jle 0x100c13d2
push 0x10116050
call fcn.100e1f99
add esp, 4
cmp dword [0x10116050], 0xffffffff
jne 0x100c13cc
push str.m_lifeState
push str.CBasePlayer
mov dword [ebp - 4], 0xd
call fcn.100e1150
push 0x10116050
mov dword [0x10116010], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e1f48
add esp, 4
mov edx, dword [ebp - 0x230]
mov eax, dword [0x10116010]
cmp byte [eax + edi], 0
jne 0x100c154a
mov ecx, dword [0x101178b0]
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x30]
cmp byte [eax + 0x22], 0
jne 0x100c1460
mov eax, dword [0x10116068]
mov edi, dword [0x10116080]
cmp eax, dword [edx + 4]
jle 0x100c1451
push 0x10116068
call fcn.100e1f99
add esp, 4
cmp dword [0x10116068], 0xffffffff
jne 0x100c144b
push str.m_fFlags
push str.CBasePlayer
mov dword [ebp - 4], 0xe
call fcn.100e1150
push 0x10116068
mov dword [0x10116038], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e1f48
add esp, 4
mov ecx, dword [0x101178b0]
mov eax, dword [0x10116038]
test byte [edi + eax], 1
je 0x100c154a
mov eax, dword [ecx + 0x14]
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov eax, dword [eax + 0x30]
cmp byte [eax + 0x23], 0
jne 0x100c1497
mov eax, dword [0x10117880]
cmp byte [eax + 0x40], 0
jne 0x100c1497
mov eax, dword [ecx + 4]
mov eax, dword [eax + 0x14]
push dword [eax + 0x20]
call edi
test ax, ax
jns 0x100c154a
mov ecx, dword [0x101178b0]
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x30]
cmp byte [eax + 0x24], 0
je 0x100c14ce
mov eax, dword [0x10117880]
cmp byte [eax + 0x64], 0
jne 0x100c14ce
cmp byte [eax + 0x40], 0
je 0x100c14ce
mov eax, dword [ecx + 4]
mov eax, dword [eax + 0x14]
push dword [eax + 0x20]
call edi
test ax, ax
jns 0x100c154a
mov ecx, dword [0x101178b0]
mov eax, dword [0x10117880]
cmp byte [eax + 0x16], 0
jne 0x100c154a
cmp byte [eax + 0x1c], 0
jne 0x100c154a
cmp dword [eax + 0xc], 0
jg 0x100c154a
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100c150f
push eax
call edi
test ax, ax
js 0x100c150f
mov eax, dword [0x101178b0]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
push dword [eax + 0x20]
call edi
test ax, ax
jns 0x100c154a
mov eax, dword [0x10117880]
mov dword [eax + 8], esi
cmp dword [0x101160d0], 0
je 0x100c1528
mov eax, dword [0x10117880]
mov dword [eax + 0x10], esi
mov eax, dword [0x10117880]
cmp dword [eax], 2
jle 0x100c153f
cmp dword [eax + 0x74], 0x18
jne 0x100c153f
mov dword [eax + 8], 0x14
mov esi, dword [ebp - 0x22c]
mov byte [esi], 0
jmp 0x100c1550
mov esi, dword [ebp - 0x22c]
mov edi, dword [0x10116080]
test edi, edi
je 0x100c165b
mov ecx, dword [ebp - 0x230]
mov eax, dword [0x10116050]
cmp eax, dword [ecx + 4]
jle 0x100c15b6
push 0x10116050
call fcn.100e1f99
add esp, 4
cmp dword [0x10116050], 0xffffffff
jne 0x100c15b6
push str.m_lifeState
push str.CBasePlayer
mov dword [ebp - 4], 0xf
call fcn.100e1150
push 0x10116050
mov dword [0x10116010], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100e1f48
add esp, 4
mov eax, dword [0x10116010]
cmp byte [edi + eax], 0
jne 0x100c165b
mov ecx, dword [0x10116080]
call fcn.1001cce0
test byte [eax], 1
je 0x100c165b
call fcn.1009b730
cmp byte [eax], 1
ja 0x100c165b
mov ecx, dword [0x10116080]
call fcn.100262e0
mov eax, dword [eax]
shr eax, 0xd
test al, 1
jne 0x100c165b
call fcn.10026430
test al, al
jne 0x100c165b
mov ecx, dword [0x10116080]
call fcn.1001cec0
mov eax, dword [eax]
shr eax, 0x11
test al, 1
jne 0x100c165b
mov eax, dword [0x101178b0]
mov eax, dword [eax + 0x14]
cmp byte [eax + 0x18], 0
je 0x100c165b
mov eax, dword [eax + 0x2c]
cmp byte [eax], 0
je 0x100c1635
mov eax, dword [0x101178d0]
cmp byte [eax + 0xd], 0
jne 0x100c165b
test byte [ebx + 0x24], 0x10
je 0x100c165b
push ebx
call fcn.100d49b0
test al, al
jne 0x100c165b
test dword [ebx + 0x24], 0x608
jne 0x100c165b
vmovss xmm0, dword [0x10100ef4]
vmovss dword [ebx + 0x14], xmm0
mov eax, dword [0x10117880]
cmp dword [eax + 8], 0
jg 0x100c1701
push dword [0x10116000]
call fcn.100d3d20
test al, al
je 0x100c1701
push ebx
call fcn.100d49b0
test al, al
jne 0x100c16f7
mov eax, dword [0x10117880]
cmp dword [eax + 0x74], 0x6d
jne 0x100c16a1
mov ecx, dword [0x10116000]
call fcn.100d9bd0
test al, al
jne 0x100c16f7
cmp byte [0x1011781c], 0
je 0x100c1701
vmovss xmm0, dword [ebp - 0x248]
mov byte [esi], 1
vmovss dword [ebx + 0xc], xmm0
vmovss xmm0, dword [ebp - 0x24c]
vmovss dword [ebx + 0x10], xmm0
vmovss xmm0, dword [ebp - 0x23c]
vmovss dword [ebx + 0x14], xmm0
vmovss xmm0, dword [ebp - 0x250]
vmovss dword [ebx + 0x18], xmm0
vmovss xmm0, dword [ebp - 0x234]
vmovss dword [ebx + 0x1c], xmm0
mov byte [0x1011781c], 0
jmp 0x100c1701
mov byte [esi], 0
mov byte [0x1011781c], 1
mov eax, dword [0x10117880]
mov eax, dword [eax + 0x7c]
mov dword [eax + 0x1840], ebx
mov eax, dword [0x10117880]
mov ecx, dword [eax + 0x7c]
mov eax, dword [ebx + 0xc]
add ecx, 0x2c
mov dword [ecx], eax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 0x14]
mov dword [ecx + 8], eax
cmp byte [esi], 0
je 0x100c1796
mov eax, dword [0x10117880]
mov ecx, dword [eax + 0x88]
mov eax, dword [ecx + 8]
mov dword [ecx + 0x1820], eax
mov eax, dword [0x101178b0]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x24]
cmp byte [eax], 0
je 0x100c1796
mov eax, dword [0x101160a4]
mov ecx, dword [0x10116080]
add ecx, 4
push ecx
vmovss xmm0, dword [eax + 0xc]
mov eax, dword [0x10117880]
vmovss dword [esp], xmm0
push 0x7ff00
push 0x80
mov edx, dword [eax + 0x7c]
mov eax, dword [ecx]
add edx, 0x3c
push edx
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x10117880]
mov ecx, dword [ecx + 0x7c]
mov byte [ecx + 0x38], al
mov eax, dword [0x101160d0]
test eax, eax
je 0x100c17cf
cmp dword [eax + 0x4b28], 0x18
jle 0x100c17cf
push str.Safe_guard_triggered__n
lea eax, [ebp - 0x22c]
mov byte [esi], 1
push eax
push dword [0x10116180]
mov dword [ebp - 0x22c], 0xffffff00
call fcn.10033bd0
add esp, 0xc
mov eax, dword [0x101178c4]
mov cl, byte [ebx + 0x24]
and cl, 1
mov byte [eax + 0xc], cl
mov eax, dword [0x10117880]
mov esi, dword [0x101178c4]
cmp dword [eax + 8], 0
jg 0x100c18ff
cmp byte [eax + 0x16], 0
jne 0x100c18ff
cmp dword [esi], 2
jne 0x100c1805
mov byte [esi + 8], 0
mov ecx, dword [ebp - 0x230]
mov eax, dword [0x10118290]
cmp eax, dword [ecx + 4]
jle 0x100c1866
push 0x10118290
call fcn.100e1f99
add esp, 4
cmp dword [0x10118290], 0xffffffff
jne 0x100c1866
mov dword [ebp - 4], 0x10
mov ecx, dword [0x10115ffc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x234], eax
call dword [ebp - 0x234]
push 0x10118290
fstp dword [0x10118284]
mov dword [ebp - 4], 0xffffffff
call fcn.100e1f48
add esp, 4
mov ecx, dword [0x10115ffc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x234], eax
call dword [ebp - 0x234]
cmp dword [esi], 0
fstp dword [ebp - 0x234]
jne 0x100c18b7
cmp byte [esi + 0xb], 0
jne 0x100c1964
mov ecx, dword [0x10115ffc]
mov byte [esi + 8], 1
mov byte [esi + 5], 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x234], eax
call dword [ebp - 0x234]
fstp dword [0x10118284]
cmp dword [esi], 2
je 0x100c18c2
cmp byte [esi + 7], 0
je 0x100c18ff
vmovss xmm3, dword [esi + 0x48]
vucomiss xmm3, dword [0x10100b20]
lahf
test ah, 0x44
jnp 0x100c18ff
mov eax, dword [0x101178b0]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x38]
cmp byte [eax], 0
je 0x100c18ff
test byte [ebx + 0x24], 1
je 0x100c18ff
movzx eax, byte [esi + 0x38]
mov ecx, esi
push eax
lea eax, [ebx + 0xc]
push eax
call fcn.100a6660
mov byte [esi + 0xa], 1
vmovss xmm0, dword [ebp - 0x248]
sub esp, 0xc
mov eax, esp
push ebx
vmovss dword [eax], xmm0
vmovss xmm0, dword [ebp - 0x24c]
vmovss dword [eax + 4], xmm0
vmovss xmm0, dword [ebp - 0x23c]
vmovss dword [eax + 8], xmm0
call fcn.100d44d0
vmovss xmm0, dword [ebx + 0x10]
vmovss dword [ebp - 0x234], xmm0
fld dword [ebp - 0x234]
push ecx
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll__fdclass
add esp, 4
test ax, ax
jle 0x100c198d
vxorps xmm0, xmm0, xmm0
vmovss dword [ebx + 0x10], xmm0
xor al, al
jmp 0x100c1a0c
vmovss xmm0, dword [ebp - 0x234]
vsubss xmm0, xmm0, dword [0x10118284]
vcomiss xmm0, dword [0x10100c20]
jbe 0x100c18b7
mov dword [esi], 1
jmp 0x100c18bc
vmovss xmm2, dword [0x10100dbc]
vmovss xmm0, dword [ebx + 0x10]
vcomiss xmm0, xmm2
vmovss xmm1, dword [0x10100e00]
jbe 0x100c19ba
nop dword [eax + eax]
vsubss xmm0, xmm0, xmm1
vcomiss xmm0, xmm2
ja 0x100c19b0
vmovss xmm2, dword [0x10100f00]
vcomiss xmm2, xmm0
jbe 0x100c19da
nop dword [eax + eax]
vaddss xmm0, xmm0, xmm1
vcomiss xmm2, xmm0
ja 0x100c19d0
vmovss dword [ebx + 0x10], xmm0
xor al, al
jmp 0x100c1a0c
mov edx, dword [ebp - 0x23c]
push ebx
push ecx
mov dword [0x10116000], 0
mov ecx, edi
jmp 0x100c19fb
push ebx
push ecx
vmovss xmm0, dword [ebp + 8]
mov eax, dword [sym.ateris.dll_bool____fastcall___void___void___float__class_CUserCmd___CreateMove::OriginalFunction]
vmovss dword [esp], xmm0
call eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100e1a4b
mov esp, ebp
pop ebp
ret 8