Function at 0x410f94
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
push ebx
push esi
mov esi, ecx
push edi
lea ebx, [esi + 0x168]
push ebx
call fcn.00411d6e
test eax, eax
jne 0x410fbb
mov ecx, esi
call fcn.00441487
jmp 0x4113b7
mov eax, dword [ebx]
and dword [ebp - 4], 0
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 4]
push 0x11
mov dword [ebp - 8], eax
call dword [sym.imp.USER32.dll_GetKeyState]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
test ah, 0x80
je 0x4110cb
mov eax, dword [ebp + 8]
sub eax, 0x41
je 0x4110c1
dec eax
dec eax
je 0x4110b2
sub eax, 0x13
je 0x4110a3
dec eax
dec eax
jne 0x4110cb
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xd0]
mov eax, dword [ebp + 8]
sub eax, 0x26
je 0x411280
dec eax
je 0x411272
dec eax
je 0x411261
sub eax, 6
jne 0x411217
push dword [esi + 0x16c]
mov ecx, esi
push dword [ebx]
call fcn.00414ed1
test eax, eax
je 0x41128e
push 0xffffffffffffff97
mov ecx, esi
push dword [esi + 0x16c]
push dword [ebx]
call fcn.00410841
mov eax, dword [esi]
push section..bss
push dword [esi + 0x16c]
mov ecx, esi
push dword [ebx]
call dword [eax + 0xbc]
push dword [esi + 0x16c]
mov ecx, esi
push dword [ebx]
push 1
call fcn.00414d29
push 0xffffffffffffff96
mov ecx, esi
push dword [esi + 0x16c]
push dword [ebx]
call fcn.00410841
push 0
push ebx
mov ecx, esi
call fcn.00411dc4
jmp 0x41128e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xd8]
jmp 0x411010
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xd4]
jmp 0x411010
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xdc]
mov eax, dword [ebp + 8]
cmp eax, 0x25
ja 0x411010
je 0x411254
sub eax, 9
je 0x4111de
sub eax, 0x18
je 0x411182
dec eax
je 0x41112f
dec eax
je 0x411115
dec eax
jne 0x411217
push 0
push 6
push 0x115
push dword [esi + 0x1c]
call edi
mov eax, dword [esi + 0x98]
jmp 0x4111d6
push 0
push 7
push 0x115
push dword [esi + 0x1c]
call edi
mov eax, dword [esi + 0x94]
dec eax
jmp 0x4111d6
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.0041328f
mov ecx, dword [eax]
push 0
push 3
push 0x115
mov eax, dword [eax + 4]
push dword [esi + 0x1c]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], eax
call edi
lea eax, [ebp - 0x24]
mov ecx, esi
push eax
call fcn.0041328f
mov ecx, eax
mov eax, dword [ecx]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x20], ecx
je 0x411123
add dword [ebp - 0xc], eax
mov eax, dword [esi + 0x94]
dec eax
cmp dword [ebp - 0xc], eax
jle 0x41128e
jmp 0x4111d6
lea eax, [ebp - 0x2c]
mov ecx, esi
push eax
call fcn.0041328f
mov ecx, dword [eax]
push 0
push 2
push 0x115
mov eax, dword [eax + 4]
push dword [esi + 0x1c]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], eax
call edi
lea eax, [ebp - 0x34]
mov ecx, esi
push eax
call fcn.0041328f
mov ecx, eax
mov eax, dword [ecx]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x30], ecx
je 0x41110a
add dword [ebp - 0xc], eax
mov eax, dword [esi + 0x98]
cmp dword [ebp - 0xc], eax
jge 0x41128e
mov dword [ebp - 0xc], eax
jmp 0x41128e
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test ah, 0x80
je 0x411220
mov eax, dword [esi + 0xa0]
cmp dword [ebp - 8], eax
jle 0x4111fe
dec dword [ebp - 8]
jmp 0x41128e
jne 0x411217
mov eax, dword [ebp - 0xc]
cmp eax, dword [esi + 0x98]
jle 0x411217
mov eax, dword [esi + 0x9c]
dec dword [ebp - 0xc]
dec eax
jmp 0x411248
mov ecx, esi
call fcn.00441487
jmp 0x41128e
mov eax, dword [esi + 0x9c]
dec eax
cmp dword [ebp - 8], eax
jge 0x411231
inc dword [ebp - 8]
jmp 0x41128e
jne 0x411217
mov eax, dword [esi + 0x94]
dec eax
cmp dword [ebp - 0xc], eax
jge 0x411217
inc dword [ebp - 0xc]
mov eax, dword [esi + 0xa0]
mov dword [ebp - 8], eax
mov dword [ebp - 4], 1
jmp 0x41128e
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0xa0]
jle 0x41128e
jmp 0x4111f6
mov eax, dword [esi + 0x94]
dec eax
cmp dword [ebp - 0xc], eax
jge 0x41128e
inc dword [ebp - 0xc]
jmp 0x41128e
mov eax, dword [esi + 0x9c]
dec eax
cmp dword [ebp - 8], eax
jge 0x41128e
jmp 0x41122c
mov eax, dword [ebp - 0xc]
cmp eax, dword [esi + 0x98]
jle 0x41128e
dec dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebx]
jne 0x4112a1
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 4]
je 0x4113b7
xor ebx, ebx
cmp dword [esi + 0x144], ebx
jne 0x4112fc
lea ecx, [esi + 0x1a4]
call fcn.00417415
mov eax, dword [esi + 0x74]
push 0x10
neg eax
sbb eax, eax
add eax, 4
mov dword [esi + 0x144], eax
call dword [sym.imp.USER32.dll_GetKeyState]
test ah, 0x80
je 0x4112d9
cmp dword [ebp + 8], 9
jne 0x4112eb
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x160], eax
mov eax, dword [ebp - 8]
mov dword [esi + 0x164], eax
lea eax, [ebp - 0xc]
mov ecx, esi
push eax
call fcn.0041259d
mov dword [esi + 0x144], ebx
push dword [ebp - 8]
lea eax, [ebp - 0x34]
mov ecx, esi
push dword [ebp - 0xc]
push eax
call fcn.00412053
push dword [ebp - 8]
mov ecx, esi
push dword [ebp - 0xc]
call fcn.00414ef5
test eax, eax
jne 0x4113b7
push dword [ebp - 8]
mov ecx, esi
push dword [ebp - 0xc]
call fcn.00414dc1
mov eax, dword [ebp + 8]
sub eax, 9
je 0x411357
sub eax, 0x1c
je 0x411353
dec eax
je 0x41134a
dec eax
je 0x41139e
dec eax
jne 0x4113ab
push ebx
push 1
jmp 0x41134c
push ebx
push ebx
push 0x115
jmp 0x4113a6
push ebx
push ebx
jmp 0x4113a1
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test ah, 0x80
je 0x41137f
cmp dword [ebp - 4], ebx
push ebx
push ebx
je 0x4113a1
push 0x115
push dword [esi + 0x1c]
call edi
push 1
push dword [esi + 0xdc]
jmp 0x411394
cmp dword [ebp - 4], ebx
je 0x41139e
push ebx
push 1
push 0x115
push dword [esi + 0x1c]
call edi
push 1
push ebx
push ebx
mov ecx, esi
call fcn.004135fd
jmp 0x4113ab
push ebx
push 1
push 0x114
push dword [esi + 0x1c]
call edi
push 1
push ebx
push dword [esi + 0x1c]
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
pop ebx
leave
ret 0xc