Function at 0x45e160
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x20
cmp ecx, 0x44c
mov edx, ecx
jb 0x45e1f9
mov ecx, dword [0x004ce7c0]
lea rax, [0x004ce868]
imul rcx, rcx, 0x238
add rcx, rax
call fcn.0047870c
mov r11d, dword [0x004ce7c0]
lea rax, [0x004cea80]
mov rbx, r11
imul rbx, rbx, 0x238
add rbx, rax
mov rcx, qword [rbx]
test rcx, rcx
je 0x45e1c7
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov qword [rbx], 0
mov r11d, dword [0x004ce7c0]
mov ebx, r11d
lea rax, [0x004cea88]
imul rbx, rbx, 0x238
add rbx, rax
mov rcx, qword [rbx]
test rcx, rcx
je 0x45e54d
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov qword [rbx], 0
jmp 0x45e54d
mov eax, 0x224
cmp ecx, eax
ja 0x45e3bc
je 0x45e37e
mov eax, 0x21d
cmp ecx, eax
ja 0x45e2b4
je 0x45e296
sub edx, 0x65
je 0x45e28d
dec edx
je 0x45e284
dec edx
je 0x45e27b
dec edx
je 0x45e272
dec edx
je 0x45e25a
cmp edx, 0x1b3
jne 0x45e51f
mov ecx, dword [0x004ce7c0]
lea rax, [0x004ce868]
mov dl, 1
imul rcx, rcx, 0x238
add rcx, rax
jmp 0x45e374
lea rdx, str.SHA256
lea rcx, [0x004ce7b0]
call fcn.0046620c
jmp 0x45e54d
lea rdx, str.SHA1
jmp 0x45e261
lea rdx, str.CRC64
jmp 0x45e261
lea rdx, str.CRC32
jmp 0x45e261
lea rdx, [0x00497be0]
jmp 0x45e261
mov ecx, dword [0x004ce7c0]
lea rax, [0x004ce868]
imul rcx, rcx, 0x238
add rcx, rax
xor edx, edx
jmp 0x45e501
sub edx, 0x21e
je 0x45e35b
dec edx
je 0x45e340
dec edx
je 0x45e31d
dec edx
je 0x45e2fc
dec edx
je 0x45e2f5
dec edx
jne 0x45e51f
xor r8d, r8d
mov dl, 1
mov r9d, dword [0x004ce7c0]
lea rcx, [0x004ce7b0]
call fcn.0044c42c
jmp 0x45e54d
xor r8d, r8d
xor edx, edx
jmp 0x45e2dd
mov ecx, dword [0x004ce7c0]
lea rax, [0x004ce868]
imul rcx, rcx, 0x238
add rcx, rax
call fcn.0047b18c
jmp 0x45e54d
mov ecx, dword [0x004ce7c0]
lea rax, [0x004ce868]
mov dl, 1
imul rcx, rcx, 0x238
add rcx, rax
call fcn.004747b0
jmp 0x45e54d
mov ecx, dword [0x004ce7c0]
lea rax, [0x004ce868]
imul rcx, rcx, 0x238
add rcx, rax
xor edx, edx
jmp 0x45e336
mov ecx, dword [0x004ce7c0]
lea rax, [0x004ce868]
imul rcx, rcx, 0x238
add rcx, rax
xor edx, edx
call fcn.00474998
jmp 0x45e54d
mov ecx, InitCommonControls
call qword [sym.imp.USER32.dll_GetKeyState]
mov ecx, dword [0x004ce7c0]
mov r11w, ax
lea rax, [0x004ce868]
imul rcx, rcx, 0x238
shr r11d, 0xf
add rcx, rax
not r11b
and r11b, 1
mov dl, r11b
call fcn.0047bbcc
jmp 0x45e54d
mov eax, 0x22c
cmp ecx, eax
ja 0x45e4af
je 0x45e48e
sub edx, 0x225
je 0x45e47d
dec edx
je 0x45e46c
dec edx
je 0x45e44b
dec edx
je 0x45e42a
sub edx, 2
je 0x45e419
dec edx
jne 0x45e51f
mov ecx, dword [0x004ce7c0]
lea rax, [0x004ce868]
imul rcx, rcx, 0x238
add rcx, rax
call fcn.0047ca3c
jmp 0x45e54d
lea rcx, [0x004ce7b0]
call fcn.0046f658
jmp 0x45e54d
mov ecx, dword [0x004ce7c0]
lea rax, [0x004ce868]
imul rcx, rcx, 0x238
add rcx, rax
call fcn.0047b424
jmp 0x45e54d
mov ecx, dword [0x004ce7c0]
lea rax, [0x004ce868]
imul rcx, rcx, 0x238
add rcx, rax
call fcn.0047a228
jmp 0x45e54d
lea rcx, [0x004ce7b0]
call fcn.004803e8
jmp 0x45e54d
lea rcx, [0x004ce7b0]
call fcn.0047f2e0
jmp 0x45e54d
mov ecx, dword [0x004ce7c0]
lea rax, [0x004ce868]
imul rcx, rcx, 0x238
add rcx, rax
call fcn.0047d038
jmp 0x45e54d
cmp ecx, 0x22e
je 0x45e541
cmp ecx, 0x22f
je 0x45e523
cmp ecx, 0x243
jbe 0x45e51f
cmp ecx, 0x247
jbe 0x45e511
cmp ecx, 0x24e
je 0x45e508
cmp ecx, 0x24f
jne 0x45e51f
lea rdx, [0x0049c770]
mov ecx, dword [0x004ce7c0]
lea rax, [0x004ce868]
imul rcx, rcx, 0x238
add rcx, rax
call fcn.004743d4
jmp 0x45e54d
lea rdx, [0x00497b30]
jmp 0x45e4ea
lea rcx, [0x004ce7b0]
call fcn.0048dfb8
jmp 0x45e54d
xor al, al
jmp 0x45e54f
mov ecx, dword [0x004ce7c0]
lea rax, [0x004ce868]
imul rcx, rcx, 0x238
add rcx, rax
call fcn.0046c9e0
jmp 0x45e54d
lea rcx, [0x004ce7b0]
call fcn.00492e34
mov al, 1
add rsp, 0x20
pop rbx
ret