Function at 0x10088a00
Capabilities:
Hide graphical window
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1017398c
mov eax, dword fs:[0]
push eax
sub esp, 0x110
mov eax, dword [0x101bd92c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x18]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x118], eax
mov dword [0x101ec828], 0
call fcn.10008b70
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0
push dword [edi + 4]
mov esi, eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp esi, eax
je 0x10088a70
mov ecx, edi
call fcn.10086e50
mov ecx, edi
call fcn.100869a0
mov eax, dword [0x101ed76c]
test eax, eax
jne 0x10088aa4
push 0xc
call fcn.10092352
add esp, 4
test eax, eax
je 0x10088a9d
mov dword [eax + 8], 0
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x10088a9f
xor eax, eax
mov dword [0x101ed76c], eax
lea esi, [ebx - 0xc]
push esi
mov ecx, eax
call fcn.1008c520
mov eax, dword [0x101ed76c]
test eax, eax
jne 0x10088ae3
push 0xc
call fcn.10092352
add esp, 4
test eax, eax
je 0x10088adc
mov dword [eax + 8], 0
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x10088ade
xor eax, eax
mov dword [0x101ed76c], eax
push dword [ebp + 0xc]
mov ecx, eax
call fcn.1008c5a0
test dword [ebx + 0x24], 0x40000000
mov ebx, dword [sym.imp.USER32.dll_GetKeyState]
je 0x10088b5c
call fcn.10008b70
cmp dword [eax + 8], 0
jne 0x10088b16
mov ecx, esi
call fcn.10089e10
push eax
mov ecx, esi
call fcn.10089e60
push 0x11
call ebx
push 0x10
movzx esi, ax
call ebx
and eax, 0x8000
and esi, 0x8000
jne 0x10088b5c
test eax, eax
jne 0x10088b5c
call fcn.10066040
mov esi, eax
push 2
push dword [esi + 8]
call dword [sym.imp.USER32.dll_KillTimer]
push dword [esi + 8]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10088b5c
push 0
push dword [esi + 8]
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x11
call ebx
movzx eax, ax
push 0x10
mov dword [ebp - 0x11c], eax
call ebx
movzx esi, ax
push 0xff
lea eax, [ebp - 0x10f]
push 0
push eax
mov byte [ebp - 0x110], 0
call fcn.10098090
add esp, 0xc
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.USER32.dll_GetKeyboardState]
mov ecx, dword [0x101ed6a8]
test ecx, ecx
jne 0x10088bb6
push 1
call fcn.10092352
mov ecx, eax
add esp, 4
mov dword [0x101ed6a8], ecx
mov eax, dword [0x101ed724]
test eax, eax
jne 0x10088bfa
push 0x1d4
call fcn.10092352
add esp, 4
mov dword [ebp - 0x114], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x10088be6
mov ecx, eax
call fcn.1002c6b0
jmp 0x10088be8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x101ed6a8]
mov dword [0x101ed724], eax
mov dword [eax + 0x17c], 0
test ecx, ecx
jne 0x10088c1c
push 1
call fcn.10092352
mov dword [0x101ed6a8], eax
mov eax, dword [0x101ed724]
add esp, 4
test eax, eax
jne 0x10088c55
push 0x1d4
call fcn.10092352
add esp, 4
mov dword [ebp - 0x114], eax
mov dword [ebp - 4], 1
test eax, eax
je 0x10088c47
mov ecx, eax
call fcn.1002c6b0
jmp 0x10088c49
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x101ed724], eax
mov edi, dword [ebp + 0x10]
lea ecx, [ebp - 0x110]
push ecx
push dword [ebp + 0x14]
mov ecx, eax
push edi
call fcn.1002d740
cmp word [ebp - 0x11c], 0
mov ecx, eax
mov dword [ebp - 0x114], ecx
jge 0x10088d3d
test si, si
js 0x10088d3d
mov ecx, dword [0x101ed6cc]
test ecx, ecx
jne 0x10088cb3
push 4
call fcn.10092352
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x10088cab
mov dword [ecx], vtable.CShareConfigManager.0
jmp 0x10088cad
xor ecx, ecx
mov dword [0x101ed6cc], ecx
mov eax, dword [ecx]
push 0x73
call dword [eax]
cmp eax, 1
jne 0x10088d2f
lea eax, [edi - 0x30]
cmp eax, 9
ja 0x10088d2f
push edi
call ebx
test ax, ax
jns 0x10088d2f
mov eax, 9
lea esi, [edi - 0x31]
cmp edi, 0x30
cmove esi, eax
call fcn.10006740
mov edx, dword [eax]
push 0x81
mov ecx, eax
call dword [edx + 0x44]
test eax, eax
je 0x10088d21
call fcn.10006740
mov edx, dword [eax]
push 0x82
mov ecx, eax
call dword [edx + 0x44]
cmp eax, esi
jne 0x10088d21
call fcn.1000a8d0
push dword [eax + 4]
call fcn.10085f50
xor eax, eax
cmp dword [ebp - 0x114], 0xffffffff
sete al
jmp 0x10088d44
call fcn.1000a8d0
push esi
push dword [eax + 4]
call fcn.10086090
xor eax, eax
cmp dword [ebp - 0x114], 0xffffffff
sete al
jmp 0x10088d44
xor eax, eax
test ecx, ecx
setne al
mov esi, dword [ebp - 0x118]
mov ecx, dword [0x101ed774]
mov dword [esi], eax
test ecx, ecx
jne 0x10088d92
push 0x14
call fcn.10092352
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x10088d8a
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
mov dword [ecx + 0x10], 0
jmp 0x10088d8c
xor ecx, ecx
mov dword [0x101ed774], ecx
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
mov dword [ecx + 0x10], 0
mov eax, dword [esi]
mov dword [ecx], eax
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1009174c
mov esp, ebp
pop ebp
ret 0x14