Function at 0x581680
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x824
mov eax, dword [0x6b8c10]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x70
mov esi, ecx
mov dword [ebp - 0x80c], 0xffffffff
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp dword [esi + 0x21890], 1
je 0x581aec
cmp dword [esi + 0x21890], 4
je 0x581aec
cmp byte [esi + 0x21600], 0
movss xmm3, dword [0x67c8c8]
je 0x581728
cmp byte [esi + 0x21680], 0
je 0x581728
push ecx
mov ecx, 0x6bafe0
call fcn.0057f020
add esp, 4
test al, al
je 0x581728
lea eax, [ebp - 0x80c]
xorps xmm2, xmm2
push eax
push ecx
mov ecx, dword [0x764c3c]
xorps xmm1, xmm1
mov dword [esp], 0x44104000
call fcn.00585560
cmp dword [0x764bf0], 0
je 0x581720
mov ecx, esi
call fcn.00589640
movss xmm3, dword [0x67c8c8]
movd xmm1, dword [0x764bf8]
movss xmm2, dword [0x6bafd0]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm2
jb 0x5817bd
movss xmm0, dword [0x6bafd8]
addss xmm0, xmm2
comiss xmm0, xmm1
jb 0x5817bd
movd xmm1, dword [0x764bf4]
movss xmm2, dword [0x6bafd4]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm2
jb 0x5817bd
movss xmm0, dword [0x6bafdc]
addss xmm0, xmm2
comiss xmm0, xmm1
jb 0x5817bd
lea eax, [ebp - 0x80c]
xorps xmm2, xmm2
push eax
push ecx
mov ecx, dword [0x764c34]
xorps xmm1, xmm1
mov dword [esp], 0x44104000
call fcn.00585560
cmp dword [0x764bf0], 0
je 0x5817bd
xor ecx, ecx
call fcn.0057d1c0
cmp eax, 1
jne 0x581c07
mov dword [esi + 0x20d8c], 2
push str.Players_Online:
lea eax, [ebp - 0x818]
mov dword [ebp - 0x818], 0xff7a7a7a
push eax
sub esp, 8
mov dword [esp + 4], 0x441dc000
mov dword [esp], 0x44228000
push dword [0x764c0c]
call fcn.00597280
add esp, 0x14
mov ecx, esi
call fcn.005892a0
push eax
lea eax, [ebp - 0x808]
push 0x67a494
push eax
call fcn.00583c50
add esp, 0xc
mov dword [ebp - 0x824], 0xff5de592
lea eax, [ebp - 0x808]
push eax
lea eax, [ebp - 0x824]
push eax
sub esp, 8
mov dword [esp + 4], 0x441dc000
mov dword [esp], 0x443e0000
push dword [0x764c0c]
call fcn.00597280
movss xmm3, dword [0x67c8a4]
lea eax, [ebp - 0x80c]
movss xmm2, dword [0x67c8b8]
add esp, 0x14
cmp byte [esi + 0x21e2c], 0
movss xmm1, dword [0x67c8b4]
push eax
push ecx
mov ecx, dword [0x764c10]
mov dword [esp], 0x41a00000
je 0x581883
mov ecx, dword [0x764c14]
call fcn.00585560
mov eax, dword [esi + 0x215fc]
cmp byte [eax], 0
je 0x58191c
push 0
push 0
lea eax, [ebp - 0x810]
mov dword [ebp - 0x810], 0x96000000
push eax
sub esp, 0x10
mov dword [esp + 0xc], 0x41c80000
mov dword [esp + 8], 0x43a58000
mov dword [esp + 4], 0x43fb8000
mov dword [esp], 0x43ac0000
call fcn.0059b600
mov ecx, dword [0x764c0c]
lea eax, [ebp - 0x820]
add esp, 0x1c
mov dword [ebp - 0x820], 0xffff1a1a
push 1
push dword [esi + 0x215fc]
push eax
sub esp, 0x10
mov dword [esp + 0xc], 0x41c80000
mov dword [esp + 8], 0x43a58000
mov dword [esp + 4], 0x43fb8000
mov dword [esp], 0x43ac0000
call fcn.005967f0
mov eax, dword [0x766f74]
test al, 1
jne 0x58193f
or eax, 1
mov dword [0x766f74], eax
xor eax, eax
cmp byte [esi + 0x21600], al
setne al
mov dword [0x766f78], eax
jmp 0x581944
mov eax, dword [0x766f78]
mov ecx, dword [0x764bf0]
movss xmm1, dword [0x6bb004]
movss xmm2, dword [0x6bb000]
test ecx, ecx
je 0x581a25
mov edx, dword [0x764bf8]
mov ebx, dword [0x764bf4]
movd xmm3, edx
cvtdq2ps xmm3, xmm3
comiss xmm3, xmm2
jb 0x5819c1
movaps xmm0, xmm2
addss xmm0, dword [0x6bb008]
comiss xmm0, xmm3
jb 0x5819c1
movd xmm3, ebx
cvtdq2ps xmm3, xmm3
comiss xmm3, xmm1
jb 0x5819c1
movaps xmm0, xmm1
addss xmm0, dword [0x6bb00c]
comiss xmm0, xmm3
jb 0x5819c1
xor eax, eax
mov dword [0x766f78], eax
mov dword [0x6bc6e4], 0x764ef0
mov dword [0x6bc6e0], 0x764ef0
test ecx, ecx
je 0x581a25
movss xmm0, dword [0x6baff0]
movd xmm3, edx
cvtdq2ps xmm3, xmm3
comiss xmm3, xmm0
jb 0x581a25
addss xmm0, dword [0x6baff8]
comiss xmm0, xmm3
jb 0x581a25
movss xmm0, dword [0x6baff4]
movd xmm3, ebx
cvtdq2ps xmm3, xmm3
comiss xmm3, xmm0
jb 0x581a25
addss xmm0, dword [0x6baffc]
comiss xmm0, xmm3
jb 0x581a25
mov eax, 1
mov dword [0x766f78], eax
mov dword [0x6bc6e4], 0x764ef0
mov dword [0x6bc6e0], 0x764ef0
test eax, eax
lea ecx, [esi + 0x21600]
push 0x40
push 0
sete dl
movaps xmm0, xmm2
call fcn.005806d0
add esp, 8
cmp eax, 9
jne 0x581a4b
mov eax, 1
jmp 0x581a64
cmp eax, 0xd
mov eax, dword [0x766f78]
jne 0x581a69
cmp byte [esi + 0x21600], 0
mov ecx, 1
cmovne eax, ecx
mov dword [0x766f78], eax
movss xmm1, dword [0x6baff4]
lea ecx, [esi + 0x21680]
movss xmm0, dword [0x6baff0]
cmp eax, 1
push 0x20
push 1
sete dl
call fcn.005806d0
add esp, 8
cmp eax, 9
jne 0x581ab1
mov dword [0x766f78], 0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005b2af3
mov esp, ebp
pop ebp
ret
cmp eax, 0xd
jne 0x581c07
cmp byte [esi + 0x21680], 0
je 0x581c07
cmp byte [esi + 0x21600], 0
je 0x581c07
mov ecx, esi
call fcn.00589640
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005b2af3
mov esp, ebp
pop ebp
ret
movss xmm1, dword [0x67c894]
lea eax, [ebp - 0x814]
movss xmm0, dword [0x6bb00c]
push 0
addss xmm0, xmm1
mov dword [ebp - 0x814], 0x64000000
push 0
push eax
sub esp, 0x10
movss dword [esp + 0xc], xmm0
movss xmm0, dword [0x6bb008]
addss xmm0, xmm1
movss dword [esp + 8], xmm0
movss xmm0, dword [0x6bb004]
subss xmm0, xmm1
movss dword [esp + 4], xmm0
movss xmm0, dword [0x6bb000]
movss dword [esp], xmm0
call fcn.0059b600
movss xmm1, dword [0x67c894]
lea eax, [ebp - 0x81c]
movss xmm0, dword [0x6baffc]
add esp, 0x1c
addss xmm0, xmm1
mov dword [ebp - 0x81c], 0x64000000
push 0
push 0
push eax
sub esp, 0x10
movss dword [esp + 0xc], xmm0
movss xmm0, dword [0x6baff8]
addss xmm0, xmm1
movss dword [esp + 8], xmm0
movss xmm0, dword [0x6baff4]
subss xmm0, xmm1
movss dword [esp + 4], xmm0
movss xmm0, dword [0x6baff0]
movss dword [esp], xmm0
call fcn.0059b600
movss xmm1, dword [0x6bb004]
lea ecx, [esi + 0x21600]
movss xmm0, dword [0x6bb000]
add esp, 0x1c
xor dl, dl
push 0x20
push 0
call fcn.005806d0
movss xmm1, dword [0x6baff4]
lea ecx, [esi + 0x21680]
movss xmm0, dword [0x6baff0]
xor dl, dl
push 0x20
push 1
call fcn.005806d0
add esp, 0x10
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005b2af3
mov esp, ebp
pop ebp
ret