Function at 0x40f1ba
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov dword [ebp - 4], esp
push 0x23
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 4], esp
je 0x40f1f1
push 0x4c
push 0x402a28e
push 6
call fcn.0041fc57
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.00424270
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x40f233
push 0
call fcn.0041fc39
add esp, 4
mov dword [ebp - 4], esp
push 0x70
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 4], esp
je 0x40f261
push 0x165
push 0x402a28e
push 6
call fcn.0041fc57
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.00424270
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x40f333
and dword [0x45abf9], 1
xor dword [0x45abf9], 1
cmp dword [0x45abf9], 1
jne 0x40f2f6
mov eax, 0x4470d5
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
call fcn.0040138f
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40f2d8
push ebx
call fcn.0041fc51
add esp, 4
lea eax, [ebp - 8]
push eax
call fcn.0040aa7f
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40f2f1
push ebx
call fcn.0041fc51
add esp, 4
jmp 0x40f333
mov eax, 0x4470f2
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
call fcn.0040138f
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40f31a
push ebx
call fcn.0041fc51
add esp, 4
lea eax, [ebp - 8]
push eax
call fcn.0040aa7f
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40f333
push ebx
call fcn.0041fc51
add esp, 4
mov dword [ebp - 4], esp
push 0x71
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 4], esp
je 0x40f361
push 0x42f
push 0x402a28e
push 6
call fcn.0041fc57
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.00424270
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x40f58d
cmp dword [0x45abfd], 4
jne 0x40f3b5
mov dword [0x45abfd], 0
jmp 0x40f3bb
inc dword [0x45abfd]
cmp dword [0x45abfd], 0
jne 0x40f40f
mov dword [0x45ac01], 1
mov eax, 0x44710f
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
call fcn.0040138f
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40f3f6
push ebx
call fcn.0041fc51
add esp, 4
lea eax, [ebp - 8]
push eax
call fcn.0040aa7f
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40f40f
push ebx
call fcn.0041fc51
add esp, 4
cmp dword [0x45abfd], 1
jne 0x40f463
mov dword [0x45ac01], 2
mov eax, 0x44712d
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
call fcn.0040138f
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40f44a
push ebx
call fcn.0041fc51
add esp, 4
lea eax, [ebp - 8]
push eax
call fcn.0040aa7f
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40f463
push ebx
call fcn.0041fc51
add esp, 4
cmp dword [0x45abfd], 2
jne 0x40f4b7
mov dword [0x45ac01], 0x10
mov eax, 0x44714b
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
call fcn.0040138f
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40f49e
push ebx
call fcn.0041fc51
add esp, 4
lea eax, [ebp - 8]
push eax
call fcn.0040aa7f
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40f4b7
push ebx
call fcn.0041fc51
add esp, 4
cmp dword [0x45abfd], 3
jne 0x40f50b
mov dword [0x45ac01], 6
mov eax, 0x44716b
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
call fcn.0040138f
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40f4f2
push ebx
call fcn.0041fc51
add esp, 4
lea eax, [ebp - 8]
push eax
call fcn.0040aa7f
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40f50b
push ebx
call fcn.0041fc51
add esp, 4
cmp dword [0x45abfd], 4
jne 0x40f55f
mov dword [0x45ac01], 5
mov eax, 0x44718a
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
call fcn.0040138f
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40f546
push ebx
call fcn.0041fc51
add esp, 4
lea eax, [ebp - 8]
push eax
call fcn.0040aa7f
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40f55f
push ebx
call fcn.0041fc51
add esp, 4
mov dword [ebp - 4], esp
push 0x64
xor eax, eax
call dword [sym.imp.KERNEL32.dll_Sleep]
nop
nop
cmp dword [ebp - 4], esp
je 0x40f58d
push 0xb82
push 0x402a28e
push 6
call fcn.0041fc57
add esp, 0xc
mov dword [ebp - 4], esp
push 0x72
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 4], esp
je 0x40f5bb
push 0xc0a
push 0x402a28e
push 6
call fcn.0041fc57
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.00424270
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x40f6bb
and dword [0x45ac05], 1
xor dword [0x45ac05], 1
cmp dword [0x45ac05], 1
jne 0x40f650
mov eax, 0x4471a9
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
call fcn.0040138f
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40f632
push ebx
call fcn.0041fc51
add esp, 4
lea eax, [ebp - 8]
push eax
call fcn.0040aa7f
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40f64b
push ebx
call fcn.0041fc51
add esp, 4
jmp 0x40f68d
mov eax, 0x4471c6
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
call fcn.0040138f
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40f674
push ebx
call fcn.0041fc51
add esp, 4
lea eax, [ebp - 8]
push eax
call fcn.0040aa7f
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40f68d
push ebx
call fcn.0041fc51
add esp, 4
mov dword [ebp - 4], esp
push 0x64
xor eax, eax
call dword [sym.imp.KERNEL32.dll_Sleep]
nop
nop
cmp dword [ebp - 4], esp
je 0x40f6bb
push 0xe68
push 0x402a28e
push 6
call fcn.0041fc57
add esp, 0xc
mov dword [ebp - 4], esp
push 0x26
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 4], esp
je 0x40f6e9
push 0xef4
push 0x402a28e
push 6
call fcn.0041fc57
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.00424270
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x40f8a4
fld dword [0x45ac09]
fstp qword [ebp - 8]
fld qword [ebp - 8]
fsub qword [0x4471e3]
ftst
fnstsw ax
test ah, 1
je 0x40f73e
fchs
fcomp qword [0x434c1c]
fnstsw ax
test ah, 0x41
je 0x40f75e
mov dword [0x45ac09], 0x41a00000
jmp 0x40f7aa
fld dword [0x45ac09]
fstp qword [ebp - 8]
fld qword [ebp - 8]
fsub qword [0x4471eb]
fcomp qword [0x447019]
fnstsw ax
test ah, 1
jne 0x40f798
fld dword [0x45ac09]
fadd qword [0x4471f3]
fstp dword [0x45ac09]
jmp 0x40f7aa
fld dword [0x45ac09]
fadd qword [0x4471fb]
fstp dword [0x45ac09]
mov eax, 0x447203
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
call fcn.0040138f
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40f7ce
push ebx
call fcn.0041fc51
add esp, 4
push 0x80000501
push 0
push dword [0x45ac09]
push 1
mov ebx, 0x168
call fcn.00420f00
add esp, 0x10
mov dword [ebp - 0xc], eax
mov eax, 0x44721c
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call fcn.0040138f
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40f814
push ebx
call fcn.0041fc51
add esp, 4
push dword [ebp - 0x14]
push dword [ebp - 0xc]
push dword [ebp - 8]
mov ecx, 3
call fcn.00401333
add esp, 0xc
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40f83d
push ebx
call fcn.0041fc51
add esp, 4
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40f84d
push ebx
call fcn.0041fc51
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40f85d
push ebx
call fcn.0041fc51
add esp, 4
lea eax, [ebp - 0x18]
push eax
call fcn.0040aa7f
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40f876
push ebx
call fcn.0041fc51
add esp, 4
mov dword [ebp - 4], esp
push 0x64
xor eax, eax
call dword [sym.imp.KERNEL32.dll_Sleep]
nop
nop
cmp dword [ebp - 4], esp
je 0x40f8a4
push 0x1158
push 0x402a28e
push 6
call fcn.0041fc57
add esp, 0xc
mov dword [ebp - 4], esp
push 0x28
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 4], esp
je 0x40f8d2
push 0x11bf
push 0x402a28e
push 6
call fcn.0041fc57
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.00424270
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x40fa8d
fld dword [0x45ac09]
fstp qword [ebp - 8]
fld qword [ebp - 8]
fsub qword [0x4471fb]
ftst
fnstsw ax
test ah, 1
je 0x40f927
fchs
fcomp qword [0x434c1c]
fnstsw ax
test ah, 0x41
je 0x40f947
mov dword [0x45ac09], 0x43fa0000
jmp 0x40f993
fld dword [0x45ac09]
fstp qword [ebp - 8]
fld qword [ebp - 8]
fsub qword [0x4471eb]
fcomp qword [0x447019]
fnstsw ax
test ah, 1
jne 0x40f981
fld dword [0x45ac09]
fsub qword [0x4471f3]
fstp dword [0x45ac09]
jmp 0x40f993
fld dword [0x45ac09]
fsub qword [0x4471fb]
fstp dword [0x45ac09]
mov eax, 0x447226
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
call fcn.0040138f
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40f9b7
push ebx
call fcn.0041fc51
add esp, 4
push 0x80000501
push 0
push dword [0x45ac09]
push 1
mov ebx, 0x168
call fcn.00420f00
add esp, 0x10
mov dword [ebp - 0xc], eax
mov eax, 0x44723f
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call fcn.0040138f
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40f9fd
push ebx
call fcn.0041fc51
add esp, 4
push dword [ebp - 0x14]
push dword [ebp - 0xc]
push dword [ebp - 8]
mov ecx, 3
call fcn.00401333
add esp, 0xc
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40fa26
push ebx
call fcn.0041fc51
add esp, 4
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40fa36
push ebx
call fcn.0041fc51
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40fa46
push ebx
call fcn.0041fc51
add esp, 4
lea eax, [ebp - 0x18]
push eax
call fcn.0040aa7f
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40fa5f
push ebx
call fcn.0041fc51
add esp, 4
mov dword [ebp - 4], esp
push 0x64
xor eax, eax
call dword [sym.imp.KERNEL32.dll_Sleep]
nop
nop
cmp dword [ebp - 4], esp
je 0x40fa8d
push 0x1423
push 0x402a28e
push 6
call fcn.0041fc57
add esp, 0xc
mov dword [ebp - 4], esp
push 0x73
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 4], esp
je 0x40fabb
push 0x1498
push 0x402a28e
push 6
call fcn.0041fc57
add esp, 0xc
mov dword [ebp - 8], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0xc4
call fcn.00424270
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x40fbbb
and dword [0x45ac0d], 1
xor dword [0x45ac0d], 1
cmp dword [0x45ac0d], 1
jne 0x40fb50
mov eax, 0x447249
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
call fcn.0040138f
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40fb32
push ebx
call fcn.0041fc51
add esp, 4
lea eax, [ebp - 8]
push eax
call fcn.0040aa7f
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40fb4b
push ebx
call fcn.0041fc51
add esp, 4
jmp 0x40fb8d
mov eax, 0x447266
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
call fcn.0040138f
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40fb74
push ebx
call fcn.0041fc51
add esp, 4
lea eax, [ebp - 8]
push eax
call fcn.0040aa7f
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40fb8d
push ebx
call fcn.0041fc51
add esp, 4
mov dword [ebp - 4], esp
push 0x64
xor eax, eax
call dword [sym.imp.KERNEL32.dll_Sleep]
nop
nop
cmp dword [ebp - 4], esp
je 0x40fbbb
push 0x16f6
push 0x402a28e
push 6
call fcn.0041fc57
add esp, 0xc
jmp 0x40f1c3