Function at 0x3000a0d2
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
and dword [ebp - 4], 0
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push edi
xor esi, esi
inc esi
push ebx
mov dword [ebp - 8], esi
call fcn.3000c11d
test eax, eax
mov edi, eax
jne 0x3000a0f7
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x14]
mov ecx, 0x112
cmp eax, ecx
ja 0x3000a4f8
je 0x3000a461
cmp eax, 0x21
ja 0x3000a2eb
je 0x3000a2a8
cmp eax, 2
je 0x3000a262
cmp eax, 6
je 0x3000a221
cmp eax, 7
je 0x3000a1fb
cmp eax, 0xf
jbe 0x3000a689
cmp eax, 0x11
jbe 0x3000a195
cmp eax, 0x20
jne 0x3000a689
cmp byte [0x3009c375], 0
jne 0x3000a16f
push dword [ebp + 0x1c]
push dword [0x3009e19c]
call fcn.300031ae
pop ecx
pop ecx
mov dword [ebp - 4], esi
jmp 0x3000a6d4
mov eax, dword [0x3009e09c]
xor esi, esi
cmp dword [eax + 0x16], esi
je 0x3000a18a
push dword [ebp + 0x1c]
push dword [eax + 0x16]
call fcn.300031ae
pop ecx
pop ecx
jmp 0x3000a18d
mov dword [eax + 0x1a], esi
mov dword [ebp - 8], esi
jmp 0x3000a6d4
push ebx
call fcn.300105a8
test eax, eax
pop ecx
je 0x3000a1bc
push 0x24
push 0
push 0
push 0xf0003
call fcn.3000689f
add esp, 0x10
cmp eax, 7
je 0x3000a6d4
test byte [0x3009df14], 1
je 0x3000a1d4
push ebx
call fcn.3003232a
test eax, eax
pop ecx
jne 0x3000a689
test byte [0x3009df14], 2
jne 0x3000a689
push 0
push 0x23
push 0xd0000
push ebx
call fcn.3000cfbf
add esp, 0x10
cmp eax, 2
jmp 0x3000a378
push ebx
call fcn.3000c142
test eax, eax
pop ecx
jne 0x3000a215
push ebx
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
jne 0x3000a689
push 0
call fcn.3008461e
jmp 0x3000a602
push ebx
call fcn.3000c2d0
test eax, eax
pop ecx
je 0x3000a689
cmp dword [ebp + 0x18], 0
je 0x3000a240
mov eax, ebx
mov dword [0x3009c3a8], ebx
jmp 0x3000a257
cmp dword [0x3009c3a8], ebx
mov eax, dword [0x3009c3a4]
je 0x3000a250
mov eax, dword [ebp + 0x1c]
and dword [0x3009c3a8], 0
push eax
call fcn.30030056
jmp 0x3000a353
push edi
call fcn.3000c5d9
test eax, eax
pop ecx
je 0x3000a27c
mov esi, dword [eax + 0x28]
push edi
push ebx
call fcn.3000a0a4
pop ecx
xor esi, esi
pop ecx
inc esi
push ebx
call fcn.3000c2d0
test eax, eax
pop ecx
jne 0x3000a689
and edi, 0xff00
cmp edi, 0xc00
je 0x3000a689
mov dword [0x3009dfe4], esi
jmp 0x3000a689
push ebx
call fcn.3000c2d0
test eax, eax
pop ecx
jne 0x3000a2db
and edi, 0xff00
cmp edi, 0xc00
je 0x3000a2db
cmp ebx, dword [0x3009c3a4]
je 0x3000a2db
cmp word [ebp + 0x1c], si
jne 0x3000a2db
mov dword [ebp - 4], 2
jmp 0x3000a6d4
mov eax, dword [0x3009e09c]
cmp byte [eax], 0
je 0x3000a541
jmp 0x3000a2cf
sub eax, 0x22
je 0x3000a383
sub eax, 0x5f
je 0x3000a359
dec eax
je 0x3000a336
sub eax, 0x8f
jne 0x3000a689
cmp word [ebp + 0x1c], 0
jne 0x3000a689
cmp dword [ebp + 0x18], 0xf000
jb 0x3000a327
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push ecx
jmp 0x3000a455
push dword [ebp + 0x18]
push ebx
call fcn.3000b559
pop ecx
jmp 0x3000a602
push edi
call fcn.3000c5d9
test eax, eax
pop ecx
je 0x3000a34d
mov esi, dword [eax + 0x2c]
push edi
push ebx
call fcn.3000a0a4
pop ecx
pop ecx
push ebx
call fcn.3000cd59
pop ecx
jmp 0x3000a689
mov esi, dword [sym.imp.USER32.dll_SetWindowLongA]
push 0
push 0
push ebx
call esi
push 0
push 2
push ebx
call esi
push edi
push ebx
call fcn.3000b49d
pop ecx
pop ecx
test eax, eax
je 0x3000a6d4
jmp 0x3000a689
push 2
push ebx
call dword [sym.imp.USER32.dll_GetWindowLongA]
test eax, eax
je 0x3000a689
cmp dword [0x3009c38c], 0
jne 0x3000a689
push ebx
call fcn.3000c2d0
test eax, eax
pop ecx
jne 0x3000a689
cmp ebx, dword [0x3009c3a4]
je 0x3000a689
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 1
call esi
test ax, ax
js 0x3000a3d8
push 2
call esi
test ax, ax
jns 0x3000a689
push ebx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x3000a689
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x20]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
push dword [ebp - 0xc]
lea eax, [ebp - 0x20]
push dword [ebp - 0x10]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x3000a689
movzx eax, word [ebp - 0xc]
movzx ecx, word [ebp - 0x10]
shl eax, 0x10
or eax, ecx
push eax
push 0
push 0x84
push ebx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 2
je 0x3000a44c
cmp eax, 4
je 0x3000a44c
cmp eax, 9
jbe 0x3000a689
cmp eax, 0x11
ja 0x3000a689
push 0
push 0
push 0x5f9
push ebx
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x3000a6d4
cmp dword [0x3009c334], 0
je 0x3000a478
push esi
push dword [ebp + 0x18]
call fcn.30006d22
jmp 0x3000a330
mov eax, dword [ebp + 0x18]
and eax, 0xfff0
sub eax, 0xf020
je 0x3000a4e0
sub eax, 0x10
je 0x3000a4a1
sub eax, 0x10
je 0x3000a4c7
sub eax, 0x20
je 0x3000a4bd
sub eax, 0xc0
jne 0x3000a689
cmp ebx, dword [0x3009c3a4]
jne 0x3000a689
push esi
push ebx
push ebx
call fcn.30009f5d
add esp, 0xc
jmp 0x3000a689
call fcn.30003202
jmp 0x3000a689
push ebx
call fcn.3000c2d0
test eax, eax
pop ecx
jne 0x3000a689
call fcn.3000ad67
jmp 0x3000a6d4
push 2
push ebx
push ebx
call fcn.30009f5d
add esp, 0xc
push ebx
call dword [sym.imp.USER32.dll_UpdateWindow]
jmp 0x3000a689
mov ecx, 0x222
cmp eax, ecx
ja 0x3000a608
je 0x3000a5b7
cmp eax, 0x114
jb 0x3000a689
cmp eax, 0x115
jbe 0x3000a5a5
cmp eax, 0x117
je 0x3000a588
cmp eax, 0x11f
je 0x3000a566
cmp eax, 0x121
je 0x3000a553
cmp eax, 0x201
jne 0x3000a689
cmp dword [0x3009c334], 0
je 0x3000a689
jmp 0x3000a2cf
push esi
call fcn.3000b37d
push dword [ebp + 0x18]
call fcn.300096a7
jmp 0x3000a330
mov eax, dword [0x3009e09c]
mov ecx, dword [ebp + 0x18]
mov dword [eax + 0x158], ecx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [0x3009e09c]
mov dword [ecx + 0x15c], eax
jmp 0x3000a6d4
mov eax, dword [ebp + 0x1c]
shr eax, 0x10
push eax
movzx eax, word [ebp + 0x1c]
push eax
push dword [ebp + 0x18]
push ebx
call fcn.3000b789
add esp, 0x10
jmp 0x3000a6d4
cmp dword [0x3009c334], 0
jne 0x3000a6d4
jmp 0x3000a689
xor esi, esi
cmp dword [ebp + 0x1c], esi
jne 0x3000a5c9
push esi
call fcn.3000a6e6
jmp 0x3000a353
cmp dword [ebp + 0x1c], ebx
jne 0x3000a689
push 2
push ebx
call dword [sym.imp.USER32.dll_GetWindowLongA]
test eax, eax
je 0x3000a689
push ebx
call fcn.3000c142
test eax, eax
pop ecx
jne 0x3000a5fc
push ebx
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je 0x3000a5fc
push ebx
jmp 0x3000a5bf
push esi
call fcn.3000a6e6
pop ecx
jmp 0x3000a6d4
sub eax, 0x30f
je 0x3000a663
dec eax
dec eax
je 0x3000a64d
sub eax, 0x2e7
je 0x3000a640
dec eax
jne 0x3000a689
push ebx
call fcn.3000c2d0
test eax, eax
pop ecx
jne 0x3000a6d4
push ebx
call fcn.3000c142
test eax, eax
pop ecx
je 0x3000a63d
mov ebx, dword [0x3009c3a4]
push ebx
jmp 0x3000a5fd
cmp word [ebp + 0x1c], 0xc04
jne 0x3000a689
jmp 0x3000a167
mov eax, dword [ebp + 0x18]
cmp eax, dword [0x3009c34c]
je 0x3000a689
push eax
call fcn.3000c49f
test eax, eax
pop ecx
jne 0x3000a689
push ebx
call fcn.3000c2d0
test eax, eax
pop ecx
je 0x3000a689
mov eax, dword [0x3009e09c]
cmp dword [eax + 0x72], 0
je 0x3000a689
push 0
push ebx
call fcn.3007f314
mov ebx, eax
test ebx, ebx
pop ecx
pop ecx
jne 0x3000a68f
and dword [ebp - 8], 0
jmp 0x3000a6d4
mov eax, dword [0x3009e09c]
mov edi, dword [sym.imp.GDI32.dll_SelectPalette]
push 0
push dword [eax + 0x72]
push ebx
call edi
test eax, eax
mov dword [ebp + 0x1c], eax
je 0x3000a6c2
mov esi, dword [sym.imp.GDI32.dll_RealizePalette]
push ebx
call esi
push 1
push dword [ebp + 0x1c]
mov dword [ebp - 4], eax
push ebx
call edi
push ebx
call esi
jmp 0x3000a6c6
and dword [ebp - 4], 0
push 0
push ebx
push dword [ebp + 0x10]
call fcn.3007f368
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
pop edi
pop esi
mov dword [eax], ecx
mov eax, dword [ebp - 4]
pop ebx
leave
ret 0x18