Function at 0x100166f0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1019c5a3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x138
cmp byte [0x102a0608], 0
push ebx
push esi
mov ebx, ecx
push edi
mov dword [ebp - 0x34], ebx
je 0x10017210
mov edx, dword [0x10266294]
mov eax, dword [0x102a05e0]
cmp edx, 3
ja case.0x10016733.0
jmp dword [edx*4 + 0x10017240]
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
cwde
shr eax, 0x10
test eax, eax
setne al
jmp 0x1001676b
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
setne al
jmp 0x1001676b
push eax
call dword [sym.imp.USER32.dll_GetKeyState]
cwde
shr eax, 0x10
test eax, eax
sete al
test al, al
je 0x10017210
cmp dword [0x102a036c], 0
je 0x10017210
call fcn.1000c3f0
test byte [0x102a06d4], 1
jne 0x10017210
cmp eax, 8
je 0x10017210
cmp eax, 0xa
je 0x10017210
cmp eax, 9
je 0x10017210
cmp dword [0x102a06a0], 0
jne 0x10017056
mov ecx, dword [0x1026a338]
push str.m_yaw
mov eax, dword [ecx]
call dword [eax + 0x44]
mov ecx, dword [0x1026a338]
mov esi, eax
push str.sensitivity
mov edx, dword [ecx]
call dword [edx + 0x44]
mov ecx, dword [esi]
mov edi, eax
mov ecx, dword [ecx + 0x30]
mov dword [ebp - 0x14], ecx
mov ecx, esi
call dword [ebp - 0x14]
mov ecx, dword [edi]
fstp dword [ebp - 0x20]
mov eax, dword [ecx + 0x30]
mov ecx, edi
mov dword [ebp - 0x14], eax
call dword [ebp - 0x14]
mov eax, dword [0x102a02f8]
movss xmm0, dword [0x102661cc]
mov ecx, dword [ebp - 0x34]
movss xmm1, dword [0x10251710]
divss xmm0, dword [eax + 0x20]
movsx eax, word [ecx + 0x44]
fstp dword [ebp - 0x14]
addss xmm0, dword [0x10251528]
movss dword [ebp - 0x18], xmm1
cvttss2si ebx, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x1c], ebx
mulss xmm0, dword [ebp - 0x20]
mulss xmm0, dword [ebp - 0x14]
comiss xmm0, xmm1
seta al
test al, al
jne 0x1001686d
movss xmm1, dword [0x10251898]
comiss xmm1, xmm0
movss dword [ebp - 0x18], xmm1
seta al
test al, al
jne 0x1001686d
movaps xmm1, xmm0
movss dword [ebp - 0x18], xmm0
cmp byte [0x102a0659], 0
je 0x1001688a
ucomiss xmm1, dword [0x1025145c]
mov dword [ebp - 0x14], 4
lahf
test ah, 0x44
jp 0x10016891
mov dword [ebp - 0x14], 2
movss xmm0, dword [ecx + 0x24]
mov eax, dword [0x102a0300]
mov edi, dword [0x102a036c]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [ecx + 0x28]
movss dword [ebp - 0x40], xmm0
movq xmm0, qword [ecx + 0xc]
mov ecx, dword [0x1029bbdc]
movq qword [ebp - 0x50], xmm0
movss xmm0, dword [ebp - 0x4c]
movss dword [0x102a0698], xmm0
mov dword [0x1029bbe0], ecx
test eax, eax
jne 0x1001690b
mov edx, 0xe80c2f78
mov ecx, 0x10211305
call fcn.10005520
mov edx, 0xc10bf213
mov ecx, 0x10211311
mov esi, eax
call fcn.10005520
mov edx, esi
mov ecx, eax
call fcn.10133370
mov ecx, dword [0x1029bbe0]
mov dword [0x102a0300], eax
add eax, edi
cmp ecx, dword [0x1029bbe4]
je 0x1001692c
movq xmm0, qword [eax]
movq qword [ecx], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
add dword [0x1029bbe0], 0xc
jmp 0x10016938
push eax
push ecx
mov ecx, 0x1029bbdc
call fcn.10007fd0
xor esi, esi
mov dword [ebp - 0x30], esi
nop dword [eax]
cmp esi, 1
jle 0x10016d60
movd xmm0, dword [0x10266244]
movss xmm1, dword [ebp - 0x18]
cvtdq2ps xmm0, xmm0
movaps xmm2, xmm1
divss xmm1, xmm0
movss dword [ebp - 0x44], xmm2
movaps xmm0, xmm1
movss dword [ebp - 0x18], xmm1
call fcn.10009aa0
movaps xmm1, xmm0
movaps xmm0, xmm2
call fcn.10009aa0
comiss xmm0, xmm1
movss dword [ebp - 0x2c], xmm0
jb 0x1001701b
mov eax, dword [0x1026a304]
mov ecx, dword fs:[0x2c]
mov edi, dword [ecx + eax*4]
mov dword [ebp - 0x24], edi
nop dword [eax]
push dword [ebp - 0x34]
lea ecx, [ebp - 0xd8]
call fcn.10017250
mov dword [ebp - 4], 0
cmp esi, 2
jne 0x100169ca
or dword [ebp - 0xa8], 4
mov byte [0x102a067c], 1
jmp 0x100169dd
cmp esi, 3
jne 0x10016a0b
and dword [ebp - 0xa8], 0xfffffffb
mov byte [0x102a067c], 0
movss xmm0, dword [ebp - 0x4c]
movss dword [ebp - 0xc8], xmm0
movss xmm0, dword [ebp - 0x3c]
movss dword [ebp - 0xb4], xmm0
movss xmm0, dword [ebp - 0x40]
movss dword [ebp - 0xb0], xmm0
mov byte [0x102a0688], 1
mov eax, dword [0x102a05b0]
mov esi, dword [eax + 0x1c]
mov eax, dword [0x102a5fec]
dec esi
cmp eax, dword [edi + 4]
jle 0x10016a60
push 0x102a5fec
call fcn.1019a606
add esp, 4
cmp dword [0x102a5fec], 0xffffffff
jne 0x10016a60
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov byte [ebp - 4], 1
mov ecx, str.client.dll
call fcn.10008920
push 0x102a5fec
mov dword [0x102a5ff0], eax
mov byte [ebp - 4], 0
call fcn.1019a5bc
add esp, 4
push esi
push 0
call dword [0x102a5ff0]
mov eax, 1
mov dword [ebp - 0x28], eax
cmp ebx, eax
jl 0x10016d1c
nop dword [eax]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
push ecx
mulss xmm0, dword [ebp - 0x18]
addss xmm0, dword [ebp - 0x4c]
movss dword [ebp - 0x38], xmm0
fld dword [ebp - 0x38]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll__fdclass
add esp, 4
test ax, ax
jle 0x10016aaf
xorps xmm1, xmm1
jmp 0x10016b15
movss xmm1, dword [ebp - 0x38]
comiss xmm1, dword [0x102518b4]
jb 0x10016aca
movss xmm0, dword [0x10251778]
comiss xmm0, xmm1
jae 0x10016b15
movaps xmm0, xmm1
divss xmm0, dword [0x102517c8]
call fcn.10009aa0
movss dword [ebp - 0x20], xmm0
fld dword [ebp - 0x20]
push ecx
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movss xmm1, dword [ebp - 0x38]
xorps xmm0, xmm0
add esp, 4
comiss xmm0, xmm1
fstp dword [ebp - 0x20]
movss xmm0, dword [ebp - 0x20]
mulss xmm0, dword [0x102517c8]
jbe 0x10016b11
addss xmm1, xmm0
jmp 0x10016b15
subss xmm1, xmm0
movss dword [ebp - 0xc8], xmm1
subss xmm1, dword [0x102a0698]
movaps xmm0, xmm1
call fcn.10009aa0
comiss xmm0, dword [0x102a05c4]
ja 0x10016d19
lea ecx, [ebp - 0xd8]
call fcn.10026730
call fcn.10026e70
mov eax, dword [0x102a03e4]
mov edi, dword [0x102a036c]
mov ebx, edi
test eax, eax
jne 0x10016b8f
mov edx, 0xe80c2f78
mov ecx, 0x10211675
call fcn.10005520
mov edx, 0xc10bf213
mov ecx, 0x10211311
mov esi, eax
call fcn.10005520
mov edx, esi
mov ecx, eax
call fcn.10133370
mov edi, dword [0x102a036c]
mov dword [0x102a03e4], eax
movss xmm0, dword [ebx + eax + 8]
comiss xmm0, dword [0x1025145c]
ja 0x10016d16
test eax, eax
jne 0x10016bd4
mov edx, 0xe80c2f78
mov ecx, 0x10211675
call fcn.10005520
mov edx, 0xc10bf213
mov ecx, 0x10211311
mov esi, eax
call fcn.10005520
mov edx, esi
mov ecx, eax
call fcn.10133370
mov dword [0x102a03e4], eax
movss xmm1, dword [edi + eax + 4]
movss xmm0, dword [edi + eax]
mulss xmm0, xmm0
mov dword [ebp - 0x60], 0
mulss xmm1, xmm1
addss xmm0, xmm1
movss dword [ebp - 0x20], xmm0
sqrtss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [ebp - 0x60]
ucomiss xmm0, dword [0x1025145c]
lahf
test ah, 0x44
jnp 0x10016d16
call fcn.1000c3f0
cmp eax, 9
je 0x10016d16
mov eax, dword [0x102a0300]
mov edi, dword [0x102a036c]
test eax, eax
jne 0x10016c62
mov edx, 0xe80c2f78
mov ecx, 0x10211305
call fcn.10005520
mov edx, 0xc10bf213
mov ecx, 0x10211311
mov esi, eax
call fcn.10005520
mov edx, esi
mov ecx, eax
call fcn.10133370
mov dword [0x102a0300], eax
mov ecx, dword [0x1029bbe0]
add eax, edi
cmp ecx, dword [0x1029bbe4]
je 0x10016c89
movq xmm0, qword [eax]
movq qword [ecx], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
add dword [0x1029bbe0], 0xc
jmp 0x10016c95
push eax
push ecx
mov ecx, 0x1029bbdc
call fcn.10007fd0
lea edx, [ebp - 0xd]
mov byte [ebp - 0xd], 0
lea ecx, [ebp - 0xd8]
call fcn.100163f0
test al, al
jne 0x10016cc4
mov ebx, dword [ebp - 0x1c]
cmp byte [ebp - 0xd], al
jne 0x10016d19
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, ebx
jle 0x10016a80
jmp 0x10016d19
mov eax, dword [0x102a02f8]
mov edx, dword [ebp - 0x28]
movss xmm0, dword [ebp - 0xb4]
movss dword [0x102a0690], xmm0
mov ecx, dword [eax + 0x1c]
movss xmm0, dword [ebp - 0xb0]
movss dword [0x102a0694], xmm0
movss xmm0, dword [ebp - 0x18]
lea eax, [ecx + edx]
mov dword [0x102a06a0], edx
mov dword [0x102a069c], edx
mov dword [0x102a0684], eax
mov dword [0x102a0680], ecx
movss dword [0x102a068c], xmm0
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x24]
movss xmm1, dword [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
movd xmm0, dword [0x10266244]
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss xmm0, dword [ebp - 0x18]
addss xmm0, xmm1
movss dword [ebp - 0x18], xmm0
call fcn.10009aa0
movss xmm1, dword [ebp - 0x2c]
comiss xmm1, xmm0
mov esi, dword [ebp - 0x30]
jae 0x100169a0
jmp 0x10017018
push dword [ebp - 0x34]
lea ecx, [ebp - 0x140]
call fcn.10017250
mov dword [ebp - 4], 2
test esi, esi
jne 0x10016d89
or dword [ebp - 0x110], 4
mov byte [0x102a067c], 1
jmp 0x10016d9c
cmp esi, 1
jne 0x10016db7
and dword [ebp - 0x110], 0xfffffffb
mov byte [0x102a067c], 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x11c], 0
mov byte [0x102a0688], 0
mov eax, dword [0x102a05b0]
mov ecx, dword fs:[0x2c]
mov esi, dword [eax + 0x1c]
mov eax, dword [0x1026a304]
dec esi
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x102a5fec]
cmp eax, dword [ecx + 4]
jle 0x10016e1b
push 0x102a5fec
call fcn.1019a606
add esp, 4
cmp dword [0x102a5fec], 0xffffffff
jne 0x10016e1b
mov edx, str.55_8B_EC_8B_4D___56_E8_________8B_75
mov byte [ebp - 4], 3
mov ecx, str.client.dll
call fcn.10008920
push 0x102a5fec
mov dword [0x102a5ff0], eax
mov byte [ebp - 4], 2
call fcn.1019a5bc
add esp, 4
push esi
push 0
call dword [0x102a5ff0]
mov ebx, 1
cmp dword [ebp - 0x1c], ebx
jl 0x10017007
lea ecx, [ebp - 0x140]
call fcn.10026730
call fcn.10026e70
mov eax, dword [0x102a03e4]
mov edi, dword [0x102a036c]
mov dword [ebp - 0x2c], edi
test eax, eax
jne 0x10016e88
mov edx, 0xe80c2f78
mov ecx, 0x10211675
call fcn.10005520
mov edx, 0xc10bf213
mov ecx, 0x10211311
mov esi, eax
call fcn.10005520
mov edx, esi
mov ecx, eax
call fcn.10133370
mov edi, dword [0x102a036c]
mov dword [0x102a03e4], eax
mov ecx, dword [ebp - 0x2c]
movss xmm0, dword [ecx + eax + 8]
comiss xmm0, dword [0x1025145c]
ja 0x10017007
test eax, eax
jne 0x10016ed0
mov edx, 0xe80c2f78
mov ecx, 0x10211675
call fcn.10005520
mov edx, 0xc10bf213
mov ecx, 0x10211311
mov esi, eax
call fcn.10005520
mov edx, esi
mov ecx, eax
call fcn.10133370
mov dword [0x102a03e4], eax
movss xmm1, dword [edi + eax + 4]
movss xmm0, dword [edi + eax]
mulss xmm0, xmm0
mov dword [ebp - 0x70], 0
mulss xmm1, xmm1
addss xmm0, xmm1
movss dword [ebp - 0x2c], xmm0
sqrtss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x70], xmm0
movss xmm0, dword [ebp - 0x70]
ucomiss xmm0, dword [0x1025145c]
lahf
test ah, 0x44
jnp 0x10017007
call fcn.1000c3f0
cmp eax, 9
je 0x10017007
mov eax, dword [0x102a0300]
mov edi, dword [0x102a036c]
test eax, eax
jne 0x10016f5e
mov edx, 0xe80c2f78
mov ecx, 0x10211305
call fcn.10005520
mov edx, 0xc10bf213
mov ecx, 0x10211311
mov esi, eax
call fcn.10005520
mov edx, esi
mov ecx, eax
call fcn.10133370
mov dword [0x102a0300], eax
mov ecx, dword [0x1029bbe0]
add eax, edi
cmp ecx, dword [0x1029bbe4]
je 0x10016f85
movq xmm0, qword [eax]
movq qword [ecx], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
add dword [0x1029bbe0], 0xc
jmp 0x10016f91
push eax
push ecx
mov ecx, 0x1029bbdc
call fcn.10007fd0
lea edx, [ebp - 0xd]
mov byte [ebp - 0xd], 0
lea ecx, [ebp - 0x140]
call fcn.100163f0
test al, al
jne 0x10016fb8
cmp byte [ebp - 0xd], al
jne 0x10017007
inc ebx
cmp ebx, dword [ebp - 0x1c]
jle 0x10016e32
jmp 0x10017007
mov eax, dword [0x102a02f8]
movss xmm0, dword [ebp - 0x11c]
movss dword [0x102a0690], xmm0
movss xmm0, dword [ebp - 0x118]
mov ecx, dword [eax + 0x1c]
movss dword [0x102a0694], xmm0
movss xmm0, dword [ebp - 0x18]
mov dword [0x102a06a0], ebx
lea eax, [ecx + ebx]
mov dword [0x102a069c], ebx
mov dword [0x102a0684], eax
mov dword [0x102a0680], ecx
movss dword [0x102a068c], xmm0
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - method.c_usercmd.virtual_0], vtable.c_usercmd.0
mov esi, dword [ebp - 0x30]
cmp dword [0x102a06a0], 0
jne 0x10017053
mov ebx, dword [ebp - 0x1c]
inc esi
mov dword [ebp - 0x30], esi
cmp esi, dword [ebp - 0x14]
jl 0x10016940
mov byte [0x102a5f7f], 0
mov byte [0x102a06a4], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0x34]
cmp dword [0x102a06a0], 1
jne 0x10017082
cmp byte [0x102a063c], 0
je 0x1001707b
push str.delusional_print_edgebugged
push dword [0x102a03e8]
call fcn.1000c3b0
add esp, 8
mov byte [0x102a06a4], 1
mov ecx, dword [ebx + 0x30]
mov eax, ecx
or eax, 4
mov byte [0x102a5f7f], 1
and ecx, 0xfffffffb
cmp byte [0x102a067c], 0
cmovne ecx, eax
cmp byte [0x102a0688], 0
mov dword [ebx + 0x30], ecx
je 0x100171eb
mov eax, dword [0x102a069c]
movss xmm0, dword [0x102a0690]
sub eax, dword [0x102a06a0]
movss dword [ebx + 0x24], xmm0
inc eax
movss xmm0, dword [0x102a0694]
movss dword [ebx + 0x28], xmm0
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102a068c]
addss xmm0, dword [0x102a0698]
movss dword [ebp - 0x28], xmm0
fld dword [ebp - 0x28]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll__fdclass
add esp, 4
test ax, ax
jle 0x10017123
dec dword [0x102a06a0]
xorps xmm2, xmm2
movss dword [ebx + 0x10], xmm2
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movss xmm0, dword [ebp - 0x28]
comiss xmm0, dword [0x102518b4]
jb 0x1001715d
movss xmm1, dword [0x10251778]
comiss xmm1, xmm0
jb 0x1001715d
dec dword [0x102a06a0]
movaps xmm2, xmm0
movss dword [ebx + 0x10], xmm2
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
divss xmm0, dword [0x102517c8]
call fcn.10009aa0
movss dword [ebp - 0x2c], xmm0
fld dword [ebp - 0x2c]
push ecx
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movss xmm1, dword [ebp - 0x28]
xorps xmm0, xmm0
add esp, 4
comiss xmm0, xmm1
fstp dword [ebp - 0x14]
jbe 0x100171bb
movss xmm2, dword [ebp - 0x14]
mulss xmm2, dword [0x102517c8]
dec dword [0x102a06a0]
addss xmm2, xmm1
movss dword [ebx + 0x10], xmm2
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movss xmm0, dword [ebp - 0x14]
movaps xmm2, xmm1
mulss xmm0, dword [0x102517c8]
dec dword [0x102a06a0]
subss xmm2, xmm0
movss dword [ebx + 0x10], xmm2
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
dec dword [0x102a06a0]
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x28], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword [0x102a0680], 0
mov dword [0x102a0684], 0
mov dword [0x102a06a0], 0
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret