Function at 0x1001543c
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006bd06
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x70
push esi
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x100154a1
mov eax, dword [ebp + 8]
mov dword [ebp - 0x54], eax
lea eax, [ebp + 0x14]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
movzx eax, byte [eax]
test eax, eax
je 0x10015496
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
movzx eax, byte [eax]
test eax, eax
je 0x10015494
push 0
call dword [sym.imp.USER32.dll_GetKeyboardState]
jmp 0x1001549c
call dword [sym.imp.GDI32.dll_GdiFlush]
jmp 0x100156ed
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x14], 0x1f7e2799
mov dword [ebp - 0x4c], 0x6046e74a
mov dword [ebp - 0x14], 0
jmp 0x100154c5
mov eax, dword [ebp - 0x14]
dec eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffe6
jl 0x100156e1
push 1
lea ecx, [ebp - 0x7c]
call fcn.1002c487
and dword [ebp - 4], 0
mov dword [ebp - 0x1c], 0xedc7555b
mov dword [ebp - 0x68], 0xa9d01274
mov dword [ebp - 0x18], 0
jmp 0x100154fb
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 1
jge 0x10015514
push dword [ebp - 0x18]
lea ecx, [ebp - 0x7c]
call fcn.1002c5a0
mov dword [eax], 0xb72f
jmp 0x100154f4
mov dword [ebp - 0x1c], 0
jmp 0x10015524
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jl 0x100156c9
mov dword [ebp - 0x10], 0x9cc14173
mov dword [ebp - 0x38], 0x6eab3ae5
mov dword [ebp - 0x10], 0
jmp 0x1001554c
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jg 0x100156c4
cmp dword [ebp - 0x4c], 0x172ddb74
je 0x10015577
push 0
lea ecx, [ebp - 0x7c]
call fcn.1002c5a0
cmp dword [eax], 0
je 0x10015577
mov dword [ebp - 0x20], 1
jmp 0x1001557b
and dword [ebp - 0x20], 0
mov esi, dword [ebp - 0x10]
add esi, dword [ebp - 0x20]
push dword [ebp - 0x10]
lea ecx, [ebp - 0x7c]
call fcn.1002c5a0
cmp esi, dword [eax]
jge 0x1001559d
push 0xfffffffffffffffb
pop eax
test eax, eax
jne 0x1001559d
and dword [ebp - 0x24], 0
jmp 0x100155a4
mov dword [ebp - 0x24], 1
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x24], eax
jge 0x100155b5
mov dword [ebp - 0x28], 1
jmp 0x100155b9
and dword [ebp - 0x28], 0
cmp dword [ebp - 0x28], 0xbfe7374
jge 0x100155cb
mov dword [ebp - 0x2c], 1
jmp 0x100155cf
and dword [ebp - 0x2c], 0
push dword [ebp - 0x10]
lea ecx, [ebp - 0x7c]
call fcn.1002c5a0
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [eax]
jne 0x100155ea
mov dword [ebp - 0x30], 1
jmp 0x100155ee
and dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x30], eax
jne 0x100155ff
mov dword [ebp - 0x34], 1
jmp 0x10015603
and dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x10]
cmp eax, 1
jge 0x1001561d
mov dword [ebp - 0x60], 1
jmp 0x10015621
and dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x70], eax
mov esi, dword [ebp - 0x10]
push 0
lea ecx, [ebp - 0x7c]
call fcn.1002c5a0
cmp esi, dword [eax]
jl 0x10015641
mov dword [ebp - 0x3c], 1
jmp 0x10015645
and dword [ebp - 0x3c], 0
push 0
lea ecx, [ebp - 0x7c]
call fcn.1002c5a0
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [eax]
jg 0x1001565f
mov dword [ebp - 0x64], 1
jmp 0x10015663
and dword [ebp - 0x64], 0
push dword [ebp - 0x10]
lea ecx, [ebp - 0x7c]
call fcn.1002c5a0
mov eax, 0x9a733e34
cmp eax, 0xffffffff
je 0x10015681
mov dword [ebp - 0x40], 1
jmp 0x10015685
and dword [ebp - 0x40], 0
cmp dword [ebp - 0x40], 0x98
je 0x10015697
mov dword [ebp - 0x44], 1
jmp 0x1001569b
and dword [ebp - 0x44], 0
cmp dword [ebp - 0x44], 0xf7a0
jle 0x100156ad
mov dword [ebp - 0x48], 1
jmp 0x100156b1
and dword [ebp - 0x48], 0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x10], 0
je 0x100156bf
jmp 0x100156c4
jmp 0x10015545
jmp 0x1001551d
mov dword [ebp - 0x4c], 1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7c]
call fcn.1002c55e
jmp 0x100154be
push dword [ebp - 0x6c]
push 0
call fcn.10009c81
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret