Function at 0x402056
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push 0
mov ebx, 0x350
call fcn.00407710
add esp, 4
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 0x40209f
push 0x60
push 0x4010ed2
push 6
call fcn.004072b8
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x4021e1
push 0
mov ebx, 0x104
call fcn.00407fa0
add esp, 4
mov dword [ebp - 4], eax
push 0
mov ebx, 0x108
call fcn.00408030
add esp, 4
mov dword [ebp - 8], eax
push dword [ebp - 8]
push 0x4233bd
push dword [ebp - 4]
mov ecx, 3
call fcn.00401a71
add esp, 0xc
mov dword [ebp - 0xc], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x402101
push ebx
call fcn.004072a0
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x402111
push ebx
call fcn.004072a0
add esp, 4
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
push 0
lea eax, [ebp - 0xc]
push eax
call fcn.004028a8
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x402149
push ebx
call fcn.004072a0
add esp, 4
mov dword [ebp - 4], 0
push 0
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 0
push dword [ebp - 8]
push 1
push 0
push dword [0x423a2a]
call fcn.00402aed
push 1
push 0
push dword [0x423a2a]
call fcn.00402cd6
mov ebx, 6
call fcn.00401081
push 0x80000301
push 0
push 0x40
push 0x80000004
push 0
push 0x4233bf
push 4
mov ebx, 0x300
call fcn.00407780
add esp, 0x34
push 0x80000301
push 0
push 0x7d0
push 1
mov ebx, 0x67c
call fcn.004079c0
add esp, 0x10
push 0
call fcn.0040728e
add esp, 4
push 0
push 0
push 0
push 0x80000004
push 0
push str.Hotkey
push 0x80000004
push 0
mov eax, dword [0x423a56]
test eax, eax
jne 0x402208
mov eax, 0x42333d
push eax
push 0x80000004
push 0
mov eax, dword [0x423a52]
test eax, eax
jne 0x40221e
mov eax, 0x42333d
push eax
push 4
mov ebx, 0x8c8
call fcn.00407b00
add esp, 0x34
mov dword [ebp - 4], eax
push 0x80000004
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x402247
mov eax, 0x42333d
push eax
push 1
mov ebx, 0x9dc
call fcn.00407ba0
add esp, 0x10
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40226d
push ebx
call fcn.004072a0
add esp, 4
mov eax, dword [ebp - 8]
mov dword [0x423a4e], eax
push 0
push 0
push 0
push 0x80000004
push 0
push str.Rate
push 0x80000004
push 0
mov eax, dword [0x423a56]
test eax, eax
jne 0x40229c
mov eax, 0x42333d
push eax
push 0x80000004
push 0
mov eax, dword [0x423a52]
test eax, eax
jne 0x4022b2
mov eax, 0x42333d
push eax
push 4
mov ebx, 0x8c8
call fcn.00407b00
add esp, 0x34
mov dword [ebp - 4], eax
push 0x80000004
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x4022db
mov eax, 0x42333d
push eax
push 1
mov ebx, 0x9dc
call fcn.00407ba0
add esp, 0x10
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x402301
push ebx
call fcn.004072a0
add esp, 4
mov eax, dword [ebp - 8]
mov dword [0x423a5a], eax
push 0
push 0
push 0
push 0x80000004
push 0
push str.Similarity
push 0x80000004
push 0
mov eax, dword [0x423a56]
test eax, eax
jne 0x402330
mov eax, 0x42333d
push eax
push 0x80000004
push 0
mov eax, dword [0x423a52]
test eax, eax
jne 0x402346
mov eax, 0x42333d
push eax
push 4
mov ebx, 0x8c8
call fcn.00407b00
add esp, 0x34
mov dword [ebp - 4], eax
push 0x80000004
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x40236f
mov eax, 0x42333d
push eax
push 1
mov ebx, 0x9e4
call fcn.004080c0
add esp, 0x10
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x402395
push ebx
call fcn.004072a0
add esp, 4
mov eax, dword [ebp - 8]
mov dword [0x423a5e], eax
push 0
push 0
push 0
push 0x80000004
push 0
push str.delay
push 0x80000004
push 0
mov eax, dword [0x423a56]
test eax, eax
jne 0x4023c4
mov eax, 0x42333d
push eax
push 0x80000004
push 0
mov eax, dword [0x423a52]
test eax, eax
jne 0x4023da
mov eax, 0x42333d
push eax
push 4
mov ebx, 0x8c8
call fcn.00407b00
add esp, 0x34
mov dword [ebp - 4], eax
push 0x80000004
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x402403
mov eax, 0x42333d
push eax
push 1
mov ebx, 0x9dc
call fcn.00407ba0
add esp, 0x10
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x402429
push ebx
call fcn.004072a0
add esp, 4
mov eax, dword [ebp - 8]
mov dword [0x423a62], eax
push 0
push 0
push 0
push 0x80000004
push 0
push str.height
push 0x80000004
push 0
mov eax, dword [0x423a56]
test eax, eax
jne 0x402458
mov eax, 0x42333d
push eax
push 0x80000004
push 0
mov eax, dword [0x423a52]
test eax, eax
jne 0x40246e
mov eax, 0x42333d
push eax
push 4
mov ebx, 0x8c8
call fcn.00407b00
add esp, 0x34
mov dword [ebp - 4], eax
push 0x80000004
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x402497
mov eax, 0x42333d
push eax
push 1
mov ebx, 0x9dc
call fcn.00407ba0
add esp, 0x10
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4024bd
push ebx
call fcn.004072a0
add esp, 4
mov eax, dword [ebp - 8]
mov dword [0x423a66], eax
push 0
push 0
push 0
push 0x80000004
push 0
push str.Range
push 0x80000004
push 0
mov eax, dword [0x423a56]
test eax, eax
jne 0x4024ec
mov eax, 0x42333d
push eax
push 0x80000004
push 0
mov eax, dword [0x423a52]
test eax, eax
jne 0x402502
mov eax, 0x42333d
push eax
push 4
mov ebx, 0x8c8
call fcn.00407b00
add esp, 0x34
mov dword [ebp - 4], eax
push 0x80000004
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x40252b
mov eax, 0x42333d
push eax
push 1
mov ebx, 0x9dc
call fcn.00407ba0
add esp, 0x10
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x402551
push ebx
call fcn.004072a0
add esp, 4
cmp dword [ebp - 8], 1
jne 0x40256a
mov dword [0x423a6a], 1
jmp 0x402574
mov dword [0x423a6a], 0
push 0
push 0
push 0
push 0x80000004
push 0
push str.automatic
push 0x80000004
push 0
mov eax, dword [0x423a56]
test eax, eax
jne 0x40259b
mov eax, 0x42333d
push eax
push 0x80000004
push 0
mov eax, dword [0x423a52]
test eax, eax
jne 0x4025b1
mov eax, 0x42333d
push eax
push 4
mov ebx, 0x8c8
call fcn.00407b00
add esp, 0x34
mov dword [ebp - 4], eax
push 0x80000004
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x4025da
mov eax, 0x42333d
push eax
push 1
mov ebx, 0x9dc
call fcn.00407ba0
add esp, 0x10
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x402600
push ebx
call fcn.004072a0
add esp, 4
cmp dword [ebp - 8], 1
jne 0x402619
mov dword [0x423a6e], 1
jmp 0x402623
mov dword [0x423a6e], 0
push 0
push 0
push 0
push 0x80000004
push 0
push str.colour
push 0x80000004
push 0
mov eax, dword [0x423a56]
test eax, eax
jne 0x40264a
mov eax, 0x42333d
push eax
push 0x80000004
push 0
mov eax, dword [0x423a52]
test eax, eax
jne 0x402660
mov eax, 0x42333d
push eax
push 4
mov ebx, 0x8c8
call fcn.00407b00
add esp, 0x34
mov dword [ebp - 4], eax
push 0x80000004
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x402689
mov eax, 0x42333d
push eax
push 1
mov ebx, 0x9dc
call fcn.00407ba0
add esp, 0x10
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4026af
push ebx
call fcn.004072a0
add esp, 4
cmp dword [ebp - 8], 1
jne 0x4026c8
mov dword [0x423a72], 1
jmp 0x4026d2
mov dword [0x423a72], 0
push 0
push 0
push 0
push 0x80000004
push 0
push str.screen
push 0x80000004
push 0
mov eax, dword [0x423a56]
test eax, eax
jne 0x4026f9
mov eax, 0x42333d
push eax
push 0x80000004
push 0
mov eax, dword [0x423a52]
test eax, eax
jne 0x40270f
mov eax, 0x42333d
push eax
push 4
mov ebx, 0x8c8
call fcn.00407b00
add esp, 0x34
mov dword [ebp - 4], eax
push 0x80000004
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x402738
mov eax, 0x42333d
push eax
push 1
mov ebx, 0x9dc
call fcn.00407ba0
add esp, 0x10
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40275e
push ebx
call fcn.004072a0
add esp, 4
cmp dword [ebp - 8], 1
jne 0x402777
mov dword [0x423a76], 1
jmp 0x402781
mov dword [0x423a76], 0
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 0x4027af
push 0x7d4
push 0x4010ed2
push 6
call fcn.004072b8
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.004081a0
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x40282b
mov dword [ebp - 4], 0
push 0
push dword [ebp - 4]
push 1
push 1
push 1
push 0x64
push 1
push 0x64
call fcn.00402f1e
push 0x80000301
push 0
push 0x64
push 1
mov ebx, 0x67c
call fcn.004079c0
add esp, 0x10
mov dword [ebp - 4], 0
push 0
push dword [ebp - 4]
push 1
push 0
push 0xa
call fcn.00403760
jmp 0x40205f