Function at 0x45e664
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x20
cmp ecx, 0x44c
mov edx, ecx
jb 0x45e6fd
mov ecx, dword [0x004cf7e0]
lea rax, [0x004cf888]
imul rcx, rcx, 0x238
add rcx, rax
call fcn.00478cd8
mov r11d, dword [0x004cf7e0]
lea rax, [0x004cfaa0]
mov rbx, r11
imul rbx, rbx, 0x238
add rbx, rax
mov rcx, qword [rbx]
test rcx, rcx
je 0x45e6cb
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov qword [rbx], 0
mov r11d, dword [0x004cf7e0]
mov ebx, r11d
lea rax, [0x004cfaa8]
imul rbx, rbx, 0x238
add rbx, rax
mov rcx, qword [rbx]
test rcx, rcx
je 0x45ea51
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov qword [rbx], 0
jmp 0x45ea51
mov eax, 0x224
cmp ecx, eax
ja 0x45e8c0
je 0x45e882
mov eax, 0x21d
cmp ecx, eax
ja 0x45e7b8
je 0x45e79a
sub edx, 0x65
je 0x45e791
dec edx
je 0x45e788
dec edx
je 0x45e77f
dec edx
je 0x45e776
dec edx
je 0x45e75e
cmp edx, 0x1b3
jne 0x45ea23
mov ecx, dword [0x004cf7e0]
lea rax, [0x004cf888]
mov dl, 1
imul rcx, rcx, 0x238
add rcx, rax
jmp 0x45e878
lea rdx, str.SHA256
lea rcx, [0x004cf7d0]
int3
lea rdx, str.SHA1
jmp 0x45e765
lea rdx, str.CRC64
jmp 0x45e765
lea rdx, str.CRC32
jmp 0x45e765
lea rdx, [0x00498b80]
jmp 0x45e765
mov ecx, dword [0x004cf7e0]
lea rax, [0x004cf888]
imul rcx, rcx, 0x238
add rcx, rax
xor edx, edx
jmp 0x45ea05
sub edx, 0x21e
je 0x45e85f
dec edx
je 0x45e844
dec edx
je 0x45e821
dec edx
je 0x45e800
dec edx
je 0x45e7f9
dec edx
jne 0x45ea23
xor r8d, r8d
mov dl, 1
mov r9d, dword [0x004cf7e0]
lea rcx, [0x004cf7d0]
call fcn.0044c764
jmp 0x45ea51
xor r8d, r8d
xor edx, edx
jmp 0x45e7e1
mov ecx, dword [0x004cf7e0]
lea rax, [0x004cf888]
imul rcx, rcx, 0x238
add rcx, rax
int3
mov ecx, dword [0x004cf7e0]
lea rax, [0x004cf888]
mov dl, 1
imul rcx, rcx, 0x238
add rcx, rax
call fcn.00474d10
jmp 0x45ea51
mov ecx, dword [0x004cf7e0]
lea rax, [0x004cf888]
imul rcx, rcx, 0x238
add rcx, rax
xor edx, edx
jmp 0x45e83a
mov ecx, dword [0x004cf7e0]
lea rax, [0x004cf888]
imul rcx, rcx, 0x238
add rcx, rax
xor edx, edx
call fcn.00474ef8
jmp 0x45ea51
mov ecx, InitCommonControls
call qword [sym.imp.USER32.dll_GetKeyState]
mov ecx, dword [0x004cf7e0]
mov r11w, ax
lea rax, [0x004cf888]
imul rcx, rcx, 0x238
shr r11d, 0xf
add rcx, rax
not r11b
and r11b, 1
mov dl, r11b
call fcn.0047c2d8
jmp 0x45ea51
mov eax, 0x22c
cmp ecx, eax
ja 0x45e9b3
je 0x45e992
sub edx, 0x225
je 0x45e981
dec edx
je 0x45e970
dec edx
je 0x45e94f
dec edx
je 0x45e92e
sub edx, 2
je 0x45e91d
dec edx
jne 0x45ea23
mov ecx, dword [0x004cf7e0]
lea rax, [0x004cf888]
imul rcx, rcx, 0x238
add rcx, rax
call fcn.0047d0b8
jmp 0x45ea51
lea rcx, [0x004cf7d0]
call fcn.0046fb88
jmp 0x45ea51
mov ecx, dword [0x004cf7e0]
lea rax, [0x004cf888]
imul rcx, rcx, 0x238
add rcx, rax
call fcn.0047bb30
jmp 0x45ea51
mov ecx, dword [0x004cf7e0]
lea rax, [0x004cf888]
imul rcx, rcx, 0x238
add rcx, rax
call fcn.0047a7f4
jmp 0x45ea51
lea rcx, [0x004cf7d0]
call fcn.00480a28
jmp 0x45ea51
lea rcx, [0x004cf7d0]
call fcn.0047f920
jmp 0x45ea51
mov ecx, dword [0x004cf7e0]
lea rax, [0x004cf888]
imul rcx, rcx, 0x238
add rcx, rax
call fcn.0047d6b4
jmp 0x45ea51
cmp ecx, 0x22e
je 0x45ea45
cmp ecx, 0x22f
je 0x45ea27
cmp ecx, 0x243
jbe 0x45ea23
cmp ecx, 0x247
jbe 0x45ea15
cmp ecx, 0x24e
je 0x45ea0c
cmp ecx, 0x24f
jne 0x45ea23
lea rdx, [0x0049d790]
mov ecx, dword [0x004cf7e0]
lea rax, [0x004cf888]
imul rcx, rcx, 0x238
add rcx, rax
int3
lea rdx, [0x00498ad0]
jmp 0x45e9ee
lea rcx, [0x004cf7d0]
call fcn.0048e684
jmp 0x45ea51
xor al, al
jmp 0x45ea53
mov ecx, dword [0x004cf7e0]
lea rax, [0x004cf888]
imul rcx, rcx, 0x238
add rcx, rax
call fcn.0046cf14
jmp 0x45ea51
lea rcx, [0x004cf7d0]
call fcn.004935d8
mov al, 1
add rsp, 0x20
pop rbx
ret