Function at 0x447fd0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4d9408
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov ebx, ecx
test esi, esi
je 0x44829d
push edi
push esi
lea ecx, [ebp - 0x18]
call fcn.004bca20
mov edi, dword [ebp + 0x10]
lea eax, [edi - 0xabbe]
mov dword [ebp - 4], 0
cmp eax, 0x24
ja case.0x448024.43967
movzx eax, byte [eax + 0x4482ec]
jmp dword [eax*4 + 0x4482b0]
mov ecx, dword [0x52fe30]
cmp byte [ecx + 0x11340], 0
je 0x44805b
push 0
push 0
push esi
call fcn.004bb980
add esp, 0xc
test al, al
je 0x44805b
push 0
push esi
call fcn.004bba00
add esp, 8
jmp 0x44828d
mov ecx, esi
call fcn.004bcc80
mov ecx, eax
call fcn.00496f60
jmp 0x44828d
push 0
push 0
mov ecx, esi
call fcn.004bcc80
mov ecx, eax
call fcn.004918d0
jmp 0x44828d
mov ecx, esi
call fcn.004bcc80
mov ecx, eax
call fcn.00490610
jmp 0x44828d
cmp edi, 0xabd6
je 0x4480d4
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
mov edx, 0x8000
and ax, dx
mov ecx, edx
cmp ax, cx
je 0x4480d4
push 0
push 0
push 0
push 0
push 0
mov ecx, esi
call fcn.004bcc80
mov ecx, eax
call fcn.00496600
jmp 0x44828d
mov ecx, esi
call fcn.004bcc80
mov ecx, eax
call fcn.00498950
jmp 0x44828d
mov ecx, esi
call fcn.004bcc80
mov ecx, eax
call fcn.0048af10
jmp 0x44828d
push 1
push 0
push 1
mov ecx, esi
call fcn.004bcc80
mov ecx, eax
call fcn.00496a60
jmp 0x44828d
push 1
push 1
push 0
mov ecx, esi
call fcn.004bcc80
mov ecx, eax
call fcn.00496a60
jmp 0x44828d
cmp edi, 0xabe0
sete dl
movzx eax, dl
push eax
push esi
call fcn.004bba00
add esp, 8
jmp 0x44828d
xor ecx, ecx
cmp edi, 0xabe2
setne cl
dec ecx
and ecx, esi
push ecx
call fcn.004bb2f0
add esp, 4
jmp 0x44828d
mov ecx, dword [0x52fe2c]
push 1
push esi
call fcn.0040a980
test al, al
je 0x44828d
cmp edi, 0xabde
je 0x44819c
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
mov edx, 0x8000
and ax, dx
mov ecx, edx
cmp ax, cx
je 0x44819c
xor eax, eax
jmp 0x4481a1
mov eax, 1
mov ecx, dword [0x52fe2c]
xor edx, edx
cmp edi, 0xabd3
setne dl
dec edx
and edx, 2
push edx
push eax
push 1
call fcn.0040fca0
jmp 0x44828d
mov eax, dword [0x52fe30]
cmp byte [eax + 0x11430], 0
jne 0x4481ed
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
and ax, cx
mov edx, ecx
cmp ax, dx
je 0x4481ed
xor eax, eax
jmp 0x4481f2
mov eax, 1
mov ecx, dword [0x52fe34]
push 0
push eax
call fcn.0046aa90
mov ecx, dword [0x52fe2c]
push eax
call fcn.0040fca0
jmp 0x44828d
mov eax, dword [0x52fe14]
push 0
push 0xabda
push eax
jmp 0x448286
push 0
push 0x4f3d1c
mov ecx, esi
call fcn.004bcc80
mov ecx, eax
call fcn.0048ce20
jmp 0x44828d
mov ecx, dword [0x52fe30]
mov edx, dword [ecx + 0x113a8]
push 0
push edx
mov ecx, esi
call fcn.004bcc80
mov ecx, eax
call fcn.0048ce20
jmp 0x44828d
cmp dword [ebp + 8], 2
jne 0x448274
lea eax, [edi - 0xab40]
cmp eax, 0x60
ja 0x448274
add edi, 0xffff54c0
push edi
mov ecx, esi
call fcn.004c46c0
jmp 0x44828d
cmp edi, 0xab00
jl 0x44828d
mov ecx, dword [0x52fe14]
push 0
push edi
push ecx
mov ecx, ebx
call fcn.00448690
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.004bc960
pop edi
mov ecx, dword [ebp - 0xc]
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc