Function at 0x468610
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x420
mov eax, dword [0x68b740]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x41c], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x420], eax
cmp dword [ebp - 0x420], 0x512
ja 0x46867f
cmp dword [ebp - 0x420], 0x512
je 0x4686a4
cmp dword [ebp - 0x420], 0x100
je 0x468c4a
cmp dword [ebp - 0x420], 0x501
je 0x468c33
cmp dword [ebp - 0x420], 0x511
je 0x468864
jmp 0x468c9f
cmp dword [ebp - 0x420], 0x513
je 0x4687a9
cmp dword [ebp - 0x420], 0x565
je 0x4688a0
jmp 0x468c9f
mov ecx, 0x68d090
call fcn.0041add0
and eax, 4
je 0x4686c9
push 1
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp - 0x41c]
call fcn.004683e0
jmp 0x4687a4
mov ecx, 0x68d090
call fcn.0041add0
and eax, 2
je 0x4686ee
push 0
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp - 0x41c]
call fcn.004683e0
jmp 0x4687a4
mov ecx, 0x68d090
call fcn.0041add0
and eax, 0x10
je 0x468711
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x41c]
call fcn.00468500
jmp 0x4687a4
mov ecx, 0x68d090
call fcn.0041add0
and eax, 0x80
je 0x468733
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp - 0x41c]
call fcn.00468e60
jmp 0x4687a4
mov ecx, 0x68d090
call fcn.0041add0
and eax, 0x1000
je 0x468758
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [0x6de314]
call fcn.0053a3c0
jmp 0x4687a4
mov ecx, 0x68d090
call fcn.0041add0
and eax, 0x4000
je 0x46877f
push 1
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [0x6de314]
call fcn.0053a360
jmp 0x4687a4
mov ecx, 0x68d090
call fcn.0041add0
and eax, 0x8000
je 0x4687a4
push 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [0x6de314]
call fcn.0053a360
jmp 0x468cb8
mov ecx, 0x68d090
call fcn.0041add0
and eax, 4
jne 0x4687c7
mov ecx, 0x68d090
call fcn.0041add0
and eax, 2
je 0x46882a
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
movsx edx, ax
and edx, 0x8000
je 0x4687ed
push 1
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x41c]
call fcn.004683e0
jmp 0x468828
mov byte [ebp - 0xc], 0
mov byte [ebp - 0xb], 0
mov byte [ebp - 0xa], 0
mov byte [ebp - 9], 0
mov ecx, dword [0x6df784]
push ecx
lea edx, [ebp - 0x410]
push edx
call sub.MSVCR80.dll_strcpy
add esp, 8
push 0
push 0
lea eax, [ebp - 0x410]
push eax
push 0x1f
call fcn.00402de0
add esp, 0x10
jmp 0x46885f
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
movsx ecx, ax
and ecx, 0x8000
je 0x46884e
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp - 0x41c]
call fcn.00468f50
jmp 0x46885f
push 1
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x41c]
call fcn.004683e0
jmp 0x468cb8
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
movsx ecx, ax
and ecx, 0x8000
je 0x468888
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp - 0x41c]
call fcn.00518430
jmp 0x46889b
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp - 0x41c]
call fcn.00468d00
jmp 0x468cb8
mov edx, dword [ebp - 0x41c]
add edx, 0x9ec
cmp dword [ebp + 0xc], edx
jne 0x468928
push 1
call fcn.004e94b0
add esp, 4
push 1
call fcn.004e8b70
add esp, 4
call fcn.0049b0d0
call fcn.0049fbd0
call fcn.00497410
mov eax, dword [ebp - 0x41c]
add eax, 0x1a44
push eax
mov ecx, 0x68d090
call fcn.0041aea0
push 1
mov ecx, dword [ebp - 0x41c]
add ecx, 0x10dc
call fcn.00432d00
push 0
mov ecx, dword [ebp - 0x41c]
add ecx, 0x1484
call fcn.00426310
mov ecx, dword [ebp - 0x41c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x41c]
mov eax, dword [edx + 0x24]
call eax
jmp 0x468c2e
mov ecx, dword [ebp - 0x41c]
add ecx, 0x1234
cmp dword [ebp + 0xc], ecx
jne 0x46894b
push 0x63c950
call fcn.00414240
add esp, 4
jmp 0x468c2e
mov edx, dword [ebp - 0x41c]
add edx, 0x79c
cmp dword [ebp + 0xc], edx
jne 0x468996
call fcn.0046d5b0
test eax, eax
je 0x468991
mov eax, dword [ebp - 0x41c]
add eax, 0x1ec
push eax
push 0
mov ecx, dword [ebp - 0x41c]
push ecx
mov edx, dword [ebp - 0x41c]
mov eax, dword [edx + 0x1e8]
push eax
push 0
call fcn.00467110
add esp, 0x14
jmp 0x468c2e
mov ecx, dword [ebp - 0x41c]
add ecx, 0x1484
cmp dword [ebp + 0xc], ecx
jne 0x468a87
mov ecx, 0x68d090
call fcn.0041add0
and eax, 0x80
je 0x468a10
push 1
call fcn.004e94b0
add esp, 4
mov edx, dword [ebp - 0x41c]
add edx, 0x1a44
push edx
mov ecx, 0x68d090
call fcn.0041aea0
push 1
mov ecx, dword [ebp - 0x41c]
add ecx, 0x10dc
call fcn.00432d00
push 0
mov ecx, dword [ebp - 0x41c]
add ecx, 0x1484
call fcn.00426310
mov ecx, dword [0x6de314]
call fcn.005fcf10
jmp 0x468a82
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xbbd
mov ecx, dword [0x6de314]
call fcn.005389f0
test eax, eax
jne 0x468a82
mov ecx, 0x68d090
call fcn.0041add0
test eax, eax
jne 0x468a82
mov ecx, dword [0x6de314]
call fcn.0053a2f0
mov eax, dword [ebp - 0x41c]
add eax, 0x1a44
push eax
push 0x80
mov ecx, 0x68d090
call fcn.0041abd0
push 1
mov ecx, dword [ebp - 0x41c]
add ecx, 0x1484
call fcn.00426310
push 0
mov ecx, dword [ebp - 0x41c]
add ecx, 0x10dc
call fcn.00432d00
jmp 0x468c2e
mov ecx, dword [ebp - 0x41c]
add ecx, 0xc3c
cmp dword [ebp + 0xc], ecx
jne 0x468aeb
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xbbd
mov ecx, dword [0x6de314]
call fcn.005389f0
mov dword [ebp - 0x414], eax
cmp dword [ebp - 0x414], 0
jne 0x468ae6
mov ecx, 0x68d090
call fcn.0041add0
test eax, eax
je 0x468ada
mov ecx, 0x68d090
call fcn.0041add0
and eax, 0x80
je 0x468ae6
push 0
push 1
call fcn.004e9ba0
add esp, 8
jmp 0x468c2e
mov edx, dword [ebp - 0x41c]
add edx, 0xe8c
cmp dword [ebp + 0xc], edx
jne 0x468c2e
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xbbd
mov ecx, dword [0x6de314]
call fcn.005389f0
mov dword [ebp - 0x418], eax
push 0
mov ecx, dword [ebp - 0x41c]
add ecx, 0xe8c
call fcn.00426310
cmp dword [ebp - 0x418], 1
je 0x468b43
cmp dword [ebp - 0x418], 0
jne 0x468c2e
call fcn.004e9d10
test eax, eax
jne 0x468c2e
mov ecx, 0x68d090
call fcn.0041add0
test eax, eax
je 0x468b73
mov ecx, 0x68d090
call fcn.0041add0
and eax, 0x80
je 0x468c2e
call fcn.0046d5b0
test eax, eax
jne 0x468c2e
call fcn.0049af00
test eax, eax
jne 0x468c2e
call fcn.004972a0
test eax, eax
jne 0x468c2e
call fcn.0049fa60
test eax, eax
jne 0x468c2e
xor eax, eax
cmp dword [ebp - 0x418], 1
sete al
push eax
mov ecx, dword [ebp - 0x41c]
add ecx, 0xe8c
call fcn.00426310
mov ecx, 0x68d090
call fcn.0041add0
and eax, 0x80
je 0x468c1d
push 1
call fcn.004e94b0
add esp, 4
mov ecx, dword [ebp - 0x41c]
add ecx, 0x1a44
push ecx
mov ecx, 0x68d090
call fcn.0041aea0
push 1
mov ecx, dword [ebp - 0x41c]
add ecx, 0x10dc
call fcn.00432d00
push 0
mov ecx, dword [ebp - 0x41c]
add ecx, 0x1484
call fcn.00426310
push 0
push 0
push 0x47
mov ecx, dword [0x6de314]
call fcn.0053b770
jmp 0x468cb8
cmp dword [ebp + 0xc], 0
jne 0x468c48
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x41c]
call fcn.00468cd0
jmp 0x468cb8
cmp dword [ebp + 0xc], 0x1b
jne 0x468c9d
mov ecx, 0x68d090
call fcn.0041add0
and eax, 0x80
je 0x468c9d
push 0
mov ecx, dword [ebp - 0x41c]
add ecx, 0x1484
call fcn.00426310
mov eax, dword [ebp - 0x41c]
add eax, 0x1a44
push eax
mov ecx, 0x68d090
call fcn.0041aea0
push 1
mov ecx, dword [ebp - 0x41c]
add ecx, 0x10dc
call fcn.00432d00
jmp 0x468cb8
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x41c]
call fcn.004428d0
jmp 0x468cba
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00612c78
mov esp, ebp
pop ebp
ret 0xc