Function at 0x1006f320
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push esi
mov eax, 0xcccccccc
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
cmp dword [0x10186864], 0
je 0x1006f34f
mov eax, dword [0x10186864]
cmp dword [eax + 0x420], 0
jne 0x1006f354
jmp 0x1006f938
movzx ecx, byte [0x101867e5]
test ecx, ecx
je 0x1006f36e
push 1
mov ecx, dword [0x1018687c]
call fcn.10084450
jmp 0x1006f386
movzx edx, byte [0x101867e5]
test edx, edx
jne 0x1006f386
push 0
mov ecx, dword [0x1018687c]
call fcn.10084450
call fcn.1006ecb0
mov eax, dword [0x1018687c]
mov ecx, dword [eax + 0x420]
mov dword [ebp - 4], ecx
movzx edx, byte [0x101867e3]
test edx, edx
je 0x1006f3ae
push 1
mov ecx, dword [ebp - 4]
call fcn.10084cc0
movzx eax, byte [0x101867ba]
test eax, eax
je 0x1006f3e7
push ecx
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push 0x101868ac
push 0xdb
call fcn.1006ead0
add esp, 0x10
movzx ecx, byte [0x101867f4]
test ecx, ecx
je 0x1006f402
mov byte [0x101867ee], 1
mov byte [0x101867ed], 1
jmp 0x1006f41b
movzx edx, byte [0x101867f4]
test edx, edx
jne 0x1006f41b
mov byte [0x101867ee], 0
mov byte [0x101867ed], 0
movzx eax, byte [0x101867ee]
test eax, eax
je 0x1006f4be
movzx ecx, byte [0x101867ec]
test ecx, ecx
je 0x1006f4be
push ecx
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push 0x10186894
push 0x43
call fcn.1006ead0
add esp, 0xc
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push 0x10186894
push 0x85
call fcn.1006ead0
add esp, 0xc
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push 0x10186894
push 0x8a
call fcn.1006ead0
add esp, 0x10
movzx edx, byte [0x101867ee]
test edx, edx
je 0x1006f53a
mov esi, esp
push 0x5a
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp esi, esp
call fcn.10086a70
cwde
test eax, eax
je 0x1006f53a
push ecx
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push 0x101868a8
push 0x85
call fcn.1006ead0
add esp, 0xc
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push 0x101868a8
push 0x8a
call fcn.1006ead0
add esp, 0x10
movzx ecx, byte [0x101867ed]
test ecx, ecx
je 0x1006f59d
push ecx
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push 0x10186898
push 0x6e
call fcn.1006ead0
add esp, 0xc
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push 0x10186898
push 0x9a
call fcn.1006ead0
add esp, 0x10
movzx edx, byte [0x101867eb]
test edx, edx
je 0x1006f5b1
mov byte [0x101867e6], 1
jmp 0x1006f5c3
movzx eax, byte [0x101867eb]
test eax, eax
jne 0x1006f5c3
mov byte [0x101867e6], 0
movzx ecx, byte [0x101867eb]
test ecx, ecx
je 0x1006f607
movzx edx, byte [0x101867dc]
test edx, edx
je 0x1006f607
push ecx
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101827e4]
movss dword [esp], xmm0
push 0x101868bc
push 0xcc
call fcn.1006ead0
add esp, 0x10
movzx eax, byte [0x101867de]
test eax, eax
je 0x1006f63d
push ecx
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push 0x101868b4
push 0x4c
call fcn.1006ead0
add esp, 0x10
movzx ecx, byte [0x101867df]
test ecx, ecx
je 0x1006f676
push ecx
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push 0x101868b8
push 0x140
call fcn.1006ead0
add esp, 0x10
movzx edx, byte [0x101867ef]
test edx, edx
je 0x1006f6af
push ecx
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push 0x10186890
push 0x174
call fcn.1006ead0
add esp, 0x10
movzx eax, byte [0x101867f5]
test eax, eax
je 0x1006f6e8
push ecx
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101826d0]
movss dword [esp], xmm0
push 0x101868c0
push 0x2ce
call fcn.1006ead0
add esp, 0x10
movzx ecx, byte [0x101867ea]
test ecx, ecx
je 0x1006f6fe
mov ecx, dword [0x1018687c]
call fcn.10084290
movzx edx, byte [0x101867e2]
test edx, edx
je 0x1006f745
mov esi, esp
push 0x74
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp esi, esp
call fcn.10086a70
cwde
and eax, 1
je 0x1006f745
mov ecx, dword [0x1018687c]
call fcn.10084a00
push 1
mov ecx, dword [0x1018687c]
call fcn.10084ae0
push 0
mov ecx, dword [0x1018687c]
call fcn.10084ae0
movzx ecx, byte [0x101867dd]
test ecx, ecx
je 0x1006f78e
mov esi, esp
push 0x75
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp esi, esp
call fcn.10086a70
movsx edx, ax
and edx, 1
je 0x1006f78e
mov ecx, dword [0x1018687c]
call fcn.10084370
push 1
mov ecx, dword [0x1018687c]
call fcn.10084ae0
push 0
mov ecx, dword [0x1018687c]
call fcn.10084ae0
movzx eax, byte [0x101867e1]
test eax, eax
je 0x1006f7e2
mov esi, esp
push 0x76
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp esi, esp
call fcn.10086a70
movsx ecx, ax
and ecx, 1
je 0x1006f7e2
mov ecx, dword [0x1018687c]
call fcn.100840b0
mov ecx, dword [0x1018687c]
call fcn.10084bd0
push 1
mov ecx, dword [0x1018687c]
call fcn.10084ae0
push 0
mov ecx, dword [0x1018687c]
call fcn.10084ae0
movzx edx, byte [0x101867e9]
test edx, edx
je 0x1006f810
mov esi, esp
push 0x4e
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp esi, esp
call fcn.10086a70
cwde
test eax, eax
je 0x1006f810
push 0x17
mov ecx, dword [0x1018687c]
call fcn.10084910
movzx ecx, byte [0x101867e4]
test ecx, ecx
je 0x1006f840
mov esi, esp
push 0x4d
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp esi, esp
call fcn.10086a70
movsx edx, ax
test edx, edx
je 0x1006f840
push 1
mov ecx, dword [0x1018687c]
call fcn.10084820
movzx eax, byte [0x101867e8]
test eax, eax
je 0x1006f870
mov esi, esp
push 0x45
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp esi, esp
call fcn.10086a70
movsx ecx, ax
test ecx, ecx
je 0x1006f870
push 0x57
mov ecx, dword [0x1018687c]
call fcn.10084910
movzx edx, byte [0x101867f6]
test edx, edx
je 0x1006f8dd
cmp dword [0x101867f0], 0
jne 0x1006f8ac
mov esi, esp
push 0x59
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp esi, esp
call fcn.10086a70
cwde
test eax, eax
je 0x1006f8aa
push 0xf8
mov ecx, dword [0x1018687c]
call fcn.10084910
jmp 0x1006f8dd
cmp dword [0x101867f0], 1
jne 0x1006f8dd
mov esi, esp
push 0x59
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp esi, esp
call fcn.10086a70
movsx ecx, ax
test ecx, ecx
je 0x1006f8dd
push 0xa4
mov ecx, dword [0x1018687c]
call fcn.10084910
movzx edx, byte [0x101867e7]
test edx, edx
je 0x1006f904
push str._010_Your_account_has_been_banned_
lea ecx, [ebp - 0x10]
call fcn.1006e390
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [0x1018687c]
call fcn.10084720
movzx ecx, byte [0x101867e0]
test ecx, ecx
je 0x1006f938
push 0x3e8
mov ecx, dword [0x1018687c]
call fcn.10084540
push ecx
movss xmm0, dword [0x1018288c]
movss dword [esp], xmm0
mov ecx, dword [0x1018687c]
call fcn.10084630
pop esi
add esp, 0x10
cmp ebp, esp
call fcn.10086a70
mov esp, ebp
pop ebp
ret