Function at 0x14012ef90
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xb0
mov qword [rbp + 0x17], 0xfffffffffffffffe
mov qword [rsp + 0xd8], rbx
mov rax, qword [0x14028e6b0]
xor rax, rsp
mov qword [rbp + 0x3f], rax
mov rsi, r9
mov rdi, rcx
cmp edx, 2
je 0x14012f2e4
cmp edx, 5
je 0x14012f2a9
cmp edx, 0x4e
je 0x14012f030
cmp edx, 0x110
jne 0x14012f2f1
mov rax, qword [rcx + 0x98]
mov r9, qword [rcx + 0xc8]
mov r8, qword [rcx + 0x18]
mov rdx, qword [rcx + 8]
add rcx, 0x98
call qword [rax + 0x60]
lea rcx, [rdi + 0x98]
call fcn.1401301a0
mov rax, qword [rdi + 0x98]
mov dl, 1
lea rcx, [rdi + 0x98]
call qword [rax + 0x18]
mov eax, 1
jmp 0x14012f2f3
mov eax, dword [r9 + 0x10]
add eax, 0x9e
cmp eax, 0x9c
ja case.0x14012f059.157
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x12f330]
mov ecx, dword [rdx + rax*4 + 0x12f314]
add rcx, rdx
jmp rcx
cmp dword [r9 + 0x18], 0xffffffff
jne case.0x14012f059.157
xor r9d, r9d
mov edx, 0x111
mov r8d, 0xa029
mov rcx, qword [rdi + 0x10]
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x14012f2f3
mov ecx, reloc.COMCTL32.dll_InitCommonControls
call qword [sym.imp.USER32.dll_GetKeyState]
test al, al
js case.0x14012f059.157
mov ecx, InitCommonControls
call qword [sym.imp.USER32.dll_GetKeyState]
test al, al
js case.0x14012f059.157
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
mov rcx, qword [rdi + 0xb0]
call qword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [rsi + 0x18]
cmp ecx, 0xffffffff
je case.0x14012f059.157
cmp ecx, eax
jge case.0x14012f059.157
mov dword [rbp - 0x35], ecx
mov dword [rbp - 0x39], 4
lea r9, [rbp - 0x39]
xor r8d, r8d
mov edx, 0x104b
mov rcx, qword [rsi]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, qword [rbp - 0x11]
mov rcx, rdi
call fcn.14012eea0
mov eax, 1
jmp 0x14012f2f3
mov rcx, qword [rdi + 0xb0]
cmp qword [r9], rcx
jne case.0x14012f059.157
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
call qword [sym.imp.USER32.dll_SendMessageW]
mov rbx, rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1032
mov rcx, qword [rdi + 0xb0]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 1
jne 0x14012f183
mov ecx, dword [rsi + 0x18]
cmp ecx, 0xffffffff
je case.0x14012f059.157
cmp ecx, ebx
jge case.0x14012f059.157
mov dword [rbp - 0x39], 4
mov dword [rbp - 0x35], ecx
lea r9, [rbp - 0x39]
xor r8d, r8d
mov edx, 0x104b
mov rcx, qword [rsi]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, qword [rbp - 0x11]
mov rcx, rdi
call fcn.14012eea0
mov dword [rbp + 0x2f], 0xfffffffb
mov rcx, qword [rdi + 0x18]
mov qword [rbp + 0x1f], rcx
call qword [sym.imp.USER32.dll_GetDlgCtrlID]
movsxd r8, eax
mov qword [rbp + 0x27], r8
lea r9, [rbp + 0x1f]
mov edx, 0x4e
mov rcx, qword [rdi + 0x10]
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x14012f2f3
movsxd rax, dword [r9 + 0x2c]
cmp eax, 0xffffffff
je case.0x14012f059.157
mov r8, rax
lea rdx, [rbp + 0x1f]
mov rcx, rdi
call fcn.14012ef50
nop
lea rdx, [rbp + 0x1f]
cmp qword [rbp + 0x37], 8
cmovae rdx, qword [rbp + 0x1f]
mov r8d, dword [rsi + 0x28]
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.KERNEL32.dll_lstrcpynW]
nop
mov r8, qword [rbp + 0x37]
cmp r8, 8
jb 0x14012f210
inc r8
mov rdx, qword [rbp + 0x1f]
lea rcx, [rbp + 0x1f]
call fcn.140007680
mov qword [rbp + 0x37], 7
xor eax, eax
mov qword [rbp + 0x2f], rax
mov word [rbp + 0x1f], ax
mov eax, 1
jmp 0x14012f2f3
mov edx, dword [r9 + 0x1c]
mov rcx, rdi
call fcn.14012f3d0
mov dword [rdi + 0x94], eax
mov ecx, dword [rsi + 0x1c]
mov dword [rdi + 0x90], ecx
cmp eax, 0xffffffff
je 0x14012f259
mov rcx, rdi
call fcn.14012f4b0
jmp case.0x14012f059.157
lea rcx, [rdi + 0x98]
call fcn.140130740
mov rcx, rdi
call fcn.14012f5d0
mov eax, 1
jmp 0x14012f2f3
cmp word [r9 + 0x18], 0xd
jne case.0x14012f059.157
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1042
mov rcx, qword [rdi + 0xb0]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0xffffffff
je case.0x14012f059.157
mov dword [rbp - 0x35], eax
jmp 0x14012f0d1
movzx ebx, si
shr rsi, 0x10
movzx eax, si
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], eax
mov r9d, ebx
xor r8d, r8d
xor edx, edx
mov rcx, qword [rcx + 0xb0]
call qword [sym.imp.USER32.dll_MoveWindow]
lea rcx, [rdi + 0x98]
mov edx, ebx
call fcn.140130940
jmp 0x14012f2f1
add rcx, 0x98
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
xor eax, eax
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.140168660
mov rbx, qword [rsp + 0xd8]
add rsp, 0xb0
pop rdi
pop rsi
pop rbp
ret