Function at 0x560310
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
push 0x70
mov esi, ecx
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp dword [esi + 0x217b8], 1
je 0x5606c1
cmp dword [esi + 0x217b8], 4
je 0x5606c1
cmp byte [esi + 0x216ac], 0
je 0x5603a7
cmp byte [esi + 0x2172c], 0
je 0x5603a7
push ecx
mov ecx, 0x6830f0
call fcn.0055dce0
add esp, 4
test al, al
je 0x5603a7
movss xmm3, dword [0x655c60]
lea eax, [ebp - 4]
movss xmm2, dword [0x655c64]
movss xmm1, dword [0x655c50]
push eax
push ecx
mov ecx, dword [0x72c094]
mov dword [esp], 0x42900000
call fcn.005633e0
cmp dword [0x72c060], 0
je 0x5603a7
mov ecx, esi
call fcn.00566cb0
movss xmm1, dword [0x655c5c]
movss xmm0, dword [0x655c70]
call fcn.0055f840
test al, al
je 0x5603d4
push 0
push str.Forgot_Password__
push str.Not_implemented_on_server_yet.
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [0x72c068]
movss xmm2, dword [0x6830e0]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm2
jb 0x56047b
movss xmm0, dword [0x6830e8]
addss xmm0, xmm2
comiss xmm0, xmm1
jb 0x56047b
movd xmm2, dword [0x72c064]
movss xmm1, dword [0x6830e4]
cvtdq2ps xmm2, xmm2
comiss xmm2, xmm1
jb 0x56047b
movss xmm0, dword [0x6830ec]
addss xmm0, xmm1
comiss xmm0, xmm2
jb 0x56047b
movss xmm3, dword [0x655c60]
lea eax, [ebp - 4]
movss xmm2, dword [0x655c74]
movss xmm1, dword [0x655c50]
push eax
push ecx
mov ecx, dword [0x72c08c]
mov dword [esp], 0x42900000
call fcn.005633e0
cmp dword [0x72c060], 0
je 0x560475
mov dword [esi + 0x20d84], 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x72c068]
mov eax, dword [esi + 0x216a8]
cmp byte [eax], 0
je 0x560505
push 0
push 0
lea eax, [ebp - 8]
mov dword [ebp - 8], 0x96000000
push eax
sub esp, 0x10
mov dword [esp + 0xc], 0x41c80000
mov dword [esp + 8], 0x43a58000
mov dword [esp + 4], 0x43910000
mov dword [esp], 0x43660000
call fcn.00577350
mov ecx, dword [0x72c078]
lea eax, [ebp - 0xc]
add esp, 0x1c
mov dword [ebp - 0xc], 0xffff1a1a
push 1
push dword [esi + 0x216a8]
push eax
sub esp, 0x10
mov dword [esp + 0xc], 0x41c80000
mov dword [esp + 8], 0x43a58000
mov dword [esp + 4], 0x43910000
mov dword [esp], 0x43660000
call fcn.00572540
mov ecx, dword [0x72c068]
mov eax, dword [0x72e56c]
test al, 1
jne 0x560528
or eax, 1
mov dword [0x72e56c], eax
xor eax, eax
cmp byte [esi + 0x216ac], al
setne al
mov dword [0x72e570], eax
jmp 0x56052d
mov eax, dword [0x72e570]
cmp dword [0x72c060], 0
movss xmm1, dword [0x683114]
movss xmm2, dword [0x683110]
je 0x56060e
movd xmm3, ecx
cvtdq2ps xmm3, xmm3
comiss xmm3, xmm2
jb 0x5605a1
movaps xmm0, xmm2
addss xmm0, dword [0x683118]
comiss xmm0, xmm3
jb 0x5605a1
movd xmm3, dword [0x72c064]
cvtdq2ps xmm3, xmm3
comiss xmm3, xmm1
jb 0x5605a1
movaps xmm0, xmm1
addss xmm0, dword [0x68311c]
comiss xmm0, xmm3
jb 0x5605a1
xor eax, eax
mov dword [0x72e570], eax
mov dword [0x683fe4], 0x72c740
mov dword [0x683fe0], 0x72c740
cmp dword [0x72c060], 0
je 0x56060e
movss xmm0, dword [0x683100]
movd xmm3, ecx
cvtdq2ps xmm3, xmm3
comiss xmm3, xmm0
jb 0x56060e
addss xmm0, dword [0x683108]
comiss xmm0, xmm3
jb 0x56060e
movd xmm3, dword [0x72c064]
movss xmm0, dword [0x683104]
cvtdq2ps xmm3, xmm3
comiss xmm3, xmm0
jb 0x56060e
addss xmm0, dword [0x68310c]
comiss xmm0, xmm3
jb 0x56060e
mov eax, 1
mov dword [0x72e570], eax
mov dword [0x683fe4], 0x72c740
mov dword [0x683fe0], 0x72c740
test eax, eax
lea ecx, [esi + 0x216ac]
push 0x40
push 0
sete dl
movaps xmm0, xmm2
call fcn.0055f080
add esp, 8
cmp eax, 9
jne 0x560634
mov eax, 1
jmp 0x56064d
cmp eax, 0xd
mov eax, dword [0x72e570]
jne 0x560652
cmp byte [esi + 0x216ac], 0
mov ecx, 1
cmovne eax, ecx
mov dword [0x72e570], eax
movss xmm1, dword [0x683104]
lea ecx, [esi + 0x2172c]
movss xmm0, dword [0x683100]
cmp eax, 1
push 0x20
push 1
sete dl
call fcn.0055f080
add esp, 8
cmp eax, 9
jne 0x560690
mov dword [0x72e570], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0xd
jne 0x5607e8
cmp byte [esi + 0x2172c], 0
je 0x5607e8
cmp byte [esi + 0x216ac], 0
je 0x5607e8
mov ecx, esi
call fcn.00566cb0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movss xmm0, dword [0x68311c]
lea eax, [ebp - 0x10]
addss xmm0, dword [0x655c38]
push 0
push 0
push eax
sub esp, 0x10
mov dword [ebp - 0x10], 0x64000000
movss dword [esp + 0xc], xmm0
movss xmm0, dword [0x683118]
addss xmm0, dword [0x655c38]
movss dword [esp + 8], xmm0
movss xmm0, dword [0x683114]
subss xmm0, dword [0x655c34]
movss dword [esp + 4], xmm0
movss xmm0, dword [0x683110]
subss xmm0, dword [0x655c34]
movss dword [esp], xmm0
call fcn.00577350
movss xmm0, dword [0x68310c]
lea eax, [ebp - 0x14]
addss xmm0, dword [0x655c38]
add esp, 0x1c
mov dword [ebp - 0x14], 0x64000000
push 0
push 0
push eax
sub esp, 0x10
movss dword [esp + 0xc], xmm0
movss xmm0, dword [0x683108]
addss xmm0, dword [0x655c38]
movss dword [esp + 8], xmm0
movss xmm0, dword [0x683104]
subss xmm0, dword [0x655c34]
movss dword [esp + 4], xmm0
movss xmm0, dword [0x683100]
subss xmm0, dword [0x655c34]
movss dword [esp], xmm0
call fcn.00577350
movss xmm1, dword [0x683114]
lea ecx, [esi + 0x216ac]
movss xmm0, dword [0x683110]
add esp, 0x1c
xor dl, dl
push 0x20
push 0
call fcn.0055f080
movss xmm1, dword [0x683104]
lea ecx, [esi + 0x2172c]
movss xmm0, dword [0x683100]
xor dl, dl
push 0x20
push 1
call fcn.0055f080
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret