Function at 0x433c4b
Capabilities:
Log keystrokes via polling

Disassembly:
mov eax, 0x456ed8
call fcn.00452450
sub esp, 0x40
cmp ecx, 0x3e8
push ebx
jl 0x433cc5
push esi
push ecx
mov ecx, dword [0x46f69c]
imul ecx, ecx, 0x164
add ecx, 0x46f704
call fcn.00442e1c
mov eax, dword [0x46f69c]
mov esi, eax
imul esi, esi, 0x164
add esi, 0x46f850
mov ecx, dword [esi]
test ecx, ecx
je 0x433ca1
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
and dword [esi], 0
mov eax, dword [0x46f69c]
imul eax, eax, 0x164
add eax, 0x46f854
mov esi, eax
mov eax, dword [esi]
test eax, eax
je 0x433cbd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [esi], 0
mov al, 1
pop esi
jmp 0x433fc4
mov eax, 0x223
push 1
cmp ecx, eax
pop ebx
jg 0x433e7d
je 0x433e65
add eax, 0xfffffffa
cmp ecx, eax
jg 0x433de6
je 0x433ddf
sub ecx, 0x65
je 0x433db8
dec ecx
je 0x433d95
dec ecx
je 0x433d6e
dec ecx
je 0x433d47
dec ecx
je 0x433d17
sub ecx, 0x1b3
jne case.0x433e9f.553
push ebx
jmp 0x433e49
push 0x45d324
lea ecx, [ebp - 0x1c]
call fcn.00401f6c
lea eax, [ebp - 0x1c]
mov ecx, 0x46f690
push eax
mov dword [ebp - 4], 4
call fcn.00438268
push dword [ebp - 0x1c]
call fcn.004026ee
pop ecx
jmp 0x433fc2
push str.SHA1
lea ecx, [ebp - 0x28]
call fcn.00401f6c
lea eax, [ebp - 0x28]
mov ecx, 0x46f690
push eax
mov dword [ebp - 4], 3
call fcn.00438268
push dword [ebp - 0x28]
jmp 0x433d3c
push str.CRC64
lea ecx, [ebp - 0x34]
call fcn.00401f6c
lea eax, [ebp - 0x34]
mov ecx, 0x46f690
push eax
mov dword [ebp - 4], 2
call fcn.00438268
push dword [ebp - 0x34]
jmp 0x433d3c
push str.CRC32
lea ecx, [ebp - 0x40]
call fcn.00401f6c
lea eax, [ebp - 0x40]
mov ecx, 0x46f690
push eax
mov dword [ebp - 4], ebx
call fcn.00438268
push dword [ebp - 0x40]
jmp 0x433d3c
push 0x45b4c4
lea ecx, [ebp - 0x4c]
call fcn.00401f6c
and dword [ebp - 4], 0
lea eax, [ebp - 0x4c]
push eax
mov ecx, 0x46f690
call fcn.00438268
push dword [ebp - 0x4c]
jmp 0x433d3c
push 0
jmp 0x433fab
sub ecx, 0x21e
je 0x433e47
dec ecx
je 0x433e43
dec ecx
je 0x433e26
dec ecx
je 0x433e0a
dec ecx
jne case.0x433e9f.553
push dword [0x46f69c]
push 0
push 0
jmp 0x433e6e
mov ecx, dword [0x46f69c]
imul ecx, ecx, 0x164
add ecx, 0x46f704
call fcn.00443fa7
jmp 0x433fc2
push ebx
mov ecx, dword [0x46f69c]
imul ecx, ecx, 0x164
add ecx, 0x46f704
call fcn.0043fd9c
jmp 0x433fc2
push 0
jmp 0x433e27
push 0
mov ecx, dword [0x46f69c]
imul ecx, ecx, 0x164
add ecx, 0x46f704
call fcn.0043fefd
jmp 0x433fc2
push dword [0x46f69c]
push 0
push ebx
mov ecx, 0x46f690
call fcn.004282a8
jmp 0x433fc2
mov eax, 0x24e
cmp ecx, eax
jg 0x433f9a
je 0x433f93
lea eax, [ecx - 0x224]
cmp eax, 0xb
ja case.0x433e9f.553
jmp dword [eax*4 + 0x433fd1]
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, dword [0x46f69c]
imul ecx, ecx, 0x164
shr eax, 0xf
not al
and al, bl
add ecx, 0x46f704
mov byte [ebp - 0x10], al
push dword [ebp - 0x10]
call fcn.0044333a
jmp 0x433fc2
mov ecx, 0x46f690
call fcn.0043bd1b
jmp 0x433fc2
mov ecx, 0x46f690
call fcn.00445389
jmp 0x433fc2
mov ecx, 0x46f690
call fcn.00445bb1
jmp 0x433fc2
mov ecx, dword [0x46f69c]
imul ecx, ecx, 0x164
add ecx, 0x46f704
call fcn.00441dae
jmp 0x433fc2
mov ecx, dword [0x46f69c]
imul ecx, ecx, 0x164
add ecx, 0x46f704
call fcn.00443fd8
jmp 0x433fc2
mov ecx, dword [0x46f69c]
imul ecx, ecx, 0x164
add ecx, 0x46f704
call fcn.00443ae9
jmp 0x433fc2
mov ecx, dword [0x46f69c]
imul ecx, ecx, 0x164
add ecx, 0x46f704
call fcn.00443d39
jmp 0x433fc2
mov ecx, 0x46f690
call fcn.00450bc5
jmp 0x433fc2
mov ecx, dword [0x46f69c]
imul ecx, ecx, 0x164
add ecx, 0x46f704
call fcn.0043b35f
jmp 0x433fc2
push 0x45b4c4
jmp 0x433fab
cmp ecx, 0x24f
je 0x433fa6
xor al, al
jmp 0x433fc4
push 0x45dfec
mov ecx, dword [0x46f69c]
imul ecx, ecx, 0x164
add ecx, 0x46f704
call fcn.0043feb8
mov al, bl
mov ecx, dword [ebp - 0xc]
pop ebx
mov dword fs:[0], ecx
leave
ret