Function at 0x140056e70
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov r12, r8
mov rsi, rdx
xor ebx, ebx
cmp rdx, rbx
jne 0x140056ea6
mov qword [rsp + 0x40], rbx
jmp 0x140056eaf
mov rax, qword [rdx + 0x40]
mov qword [rsp + 0x40], rax
mov r13d, dword [r8 + 8]
call qword [sym.imp.USER32.dll_GetFocus]
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.1400216c4
mov r14, rax
mov qword [rsp + 0x48], rax
mov r15d, 0x100
cmp r13d, r15d
jb 0x140056ee2
cmp r13d, 0x109
jbe 0x140056ef2
lea eax, [r13 - 0x200]
cmp eax, 9
ja 0x140056ff1
cmp r14, rbx
je 0x140056ff1
mov rdi, r14
cmp qword [rdi + 0xa0], rbx
jne 0x140056f38
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.1400216c4
cmp rax, rsi
je 0x140056f38
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.1400216c4
mov rdi, rax
cmp rax, rbx
jne 0x140056efe
cmp rdi, rbx
je 0x140056f70
mov rax, qword [rdi + 0xa0]
cmp rax, rbx
je 0x140056f70
cmp qword [rax + 0x90], rbx
je 0x140056f70
mov rcx, qword [rax + 0x90]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + reloc.OLEAUT32.dll_SafeArrayAllocDescriptorEx]
cmp eax, ebx
jne 0x140056f70
mov eax, 1
jmp 0x14005748b
cmp r13d, 0x101
je 0x140056f87
cmp r13d, r15d
je 0x140056f87
cmp r13d, 0x102
jne 0x140056fe2
cmp rdi, rbx
je 0x140056fe2
mov rax, qword [rdi + 0xa0]
cmp rax, rbx
je 0x140056fe2
mov ecx, SafeArrayGetDim
cmp word [r12 + 0x10], cx
jne 0x140056fb3
lea edi, [rcx - 0xc]
test byte [rax + 0xcc], dil
jne 0x140056fd3
jmp 0x140056fb8
mov edi, 1
mov r15d, reloc.OLEAUT32.dll_DispGetParam
cmp word [r12 + 0x10], r15w
jne 0x140056fda
lea r12d, [r15 - 0x19]
test byte [rax + 0xcc], r12b
je 0x140056ffe
xor eax, eax
jmp 0x14005748b
mov r12d, 2
jmp 0x140056ffe
mov edi, 1
lea r15d, [rdi + 0x1a]
lea r12d, [rdi + 1]
jmp 0x140056ffe
mov edi, 1
lea r15d, [rdi + 0x1a]
lea r12d, [rdi + 1]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax]
call fcn.1400216c4
mov qword [rsp + 0x38], rax
mov ecx, r13d
sub ecx, 0x100
je 0x1400570e3
sub ecx, r12d
je 0x140057063
cmp ecx, 4
jne 0x1400573ab
cmp r14, rbx
jne 0x14005704e
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetUBound
call qword [sym.imp.USER32.dll_GetKeyState]
cmp ax, bx
jge 0x1400573e7
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0xc0]
cmp word [rdx + 0x10], 0x20
je 0x1400573dd
jmp 0x14005706b
mov rdx, qword [rsp + 0xc0]
mov rcx, rax
call fcn.1400562f4
cmp r13d, 0x102
jne 0x140057084
test al, 0x84
jne 0x1400573d3
mov r13, qword [rsp + 0xc0]
mov edx, 9
cmp word [r13 + 0x10], dx
jne 0x1400570a1
test r12b, al
jne 0x1400573ef
cmp word [r13 + 0x10], 0x20
jne 0x1400570b0
xor eax, eax
jmp 0x14005748b
mov r8, r13
mov rdx, qword [rsp + 0x38]
mov rcx, rsi
call fcn.140056d2c
cmp rax, rbx
je 0x1400573ef
mov rcx, qword [rax + 8]
cmp rcx, rbx
je 0x1400573ef
mov rdx, r13
call fcn.14004cd1c
jmp 0x140057436
mov r13, qword [rsp + 0xc0]
mov rdx, r13
mov rcx, rax
call fcn.1400562f4
movzx ecx, word [r13 + 0x10]
cmp ecx, 3
je 0x140057332
mov edx, 9
cmp ecx, edx
je 0x140057277
cmp ecx, 0xd
je 0x140057237
cmp ecx, r15d
je 0x140057332
cmp ecx, 0x24
jle 0x1400573ef
cmp ecx, 0x26
jle 0x140057144
cmp ecx, 0x28
jle 0x140057149
cmp ecx, 0x2b
je 0x140057237
jmp 0x1400573ef
mov r15d, edi
jmp 0x14005714c
mov r15d, ebx
mov rdx, r13
mov rcx, r14
call fcn.1400562f4
test dil, al
jne 0x1400573ef
cmp r15d, ebx
je 0x140057174
xor edx, edx
mov rcx, rsi
call fcn.140013848
mov r12, rax
jmp 0x140057181
xor edx, edx
mov rcx, rsi
call fcn.1400138ac
mov r12, rax
cmp r12, rbx
je 0x1400573ef
cmp dword [r12 + 0x10], ebx
je 0x14005719c
mov rdx, r12
mov rcx, rsi
call fcn.140013100
cmp qword [r12 + 8], rbx
je 0x1400571b9
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x158]
jmp 0x140057436
cmp qword [r12], rbx
je 0x1400571cd
mov rcx, qword [r12]
call fcn.1400216c4
mov r13, rax
jmp 0x1400571f3
cmp r14, rbx
jne 0x1400571d7
mov rdx, rbx
jmp 0x1400571db
mov rdx, qword [r14 + 0x40]
mov r8d, r15d
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_GetNextDlgGroupItem]
mov rcx, rax
call fcn.1400216c4
mov r13, rax
cmp r13, rbx
je 0x1400573c9
mov rax, qword [rsi + 0x98]
mov qword [rax + 0xd8], rbx
mov rcx, r13
call fcn.1400564e8
cmp dword [r12 + 0x10], ebx
je 0x140057436
xor r9d, r9d
mov r8, rdi
mov edx, 0xf1
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_SendMessageA]
jmp 0x140057436
test al, 4
jne 0x1400573ef
mov rcx, r14
call fcn.140056448
test al, 0x10
je 0x140057267
mov r13, r14
mov rcx, r14
call fcn.14001271c
mov r12d, eax
cmp r14, rbx
jne 0x140057345
jmp 0x140057332
mov rcx, rsi
call fcn.1400569a4
mov r12d, eax
jmp 0x140057332
test r12b, al
jne 0x1400573ef
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
call qword [sym.imp.USER32.dll_GetKeyState]
mov r12d, ebx
cmp ax, bx
setl r12b
mov r8d, r12d
xor edx, edx
mov rcx, rsi
call fcn.140012f44
cmp rax, rbx
je 0x1400573ef
cmp qword [rax + 8], rbx
je 0x1400572c6
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x158]
jmp 0x140057436
cmp qword [rax], rbx
je 0x1400572d8
mov rcx, qword [rax]
call fcn.1400216c4
mov r12, rax
jmp 0x140057303
mov rdx, qword [rsp + 0x38]
cmp rdx, rbx
jne 0x1400572e7
mov rdx, rbx
jmp 0x1400572eb
mov rdx, qword [rdx + 0x40]
mov r8d, r12d
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_GetNextDlgTabItem]
mov rcx, rax
call fcn.1400216c4
mov r12, rax
cmp r12, rbx
je 0x140057436
mov rax, qword [rsi + 0x98]
mov qword [rax + 0xd8], rbx
mov rcx, r12
call fcn.1400564e8
mov rdx, r12
mov rcx, r14
call fcn.140056758
jmp 0x140057436
mov edx, r12d
mov rcx, rsi
call fcn.140056818
mov r13, rax
cmp rax, rbx
je 0x1400573bf
mov rcx, r13
call fcn.1400127fc
cmp eax, ebx
jne 0x140057366
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBeep]
mov r13, qword [rsp + 0xc0]
jmp 0x1400573ef
cmp qword [r13 + 0xa0], rbx
je 0x1400573b5
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
movzx r9d, bx
movzx r8d, di
mov edx, 0xfffffdd9
mov rcx, r13
call fcn.140012894
nop
jmp 0x140057436
mov r13, qword [rsp + 0xc0]
jmp 0x1400573ef
mov r13, qword [rsp + 0xc0]
jmp 0x1400573ef
mov r13, qword [rsp + 0xc0]
jmp 0x1400573ef
mov r13, qword [rsp + 0xc0]
jmp 0x1400573ef
mov r13, qword [rsp + 0xc0]
jmp 0x1400573ef
mov r13, qword [rsp + 0xc0]
jmp 0x1400573ef
mov r13, qword [rsp + 0xc0]
bt dword [rsi + 0x78], 0xc
jb 0x140057434
mov rdx, r13
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_IsDialogMessageA]
mov edi, eax
cmp eax, ebx
je 0x140057436
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.1400216c4
cmp rax, r14
je 0x140057436
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.1400216c4
mov rcx, rax
call fcn.1400566b8
jmp 0x140057436
mov edi, ebx
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.USER32.dll_IsWindow]
cmp eax, ebx
je 0x140057489
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.1400216c4
mov rdx, rax
mov rcx, r14
call fcn.140056758
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.USER32.dll_IsWindow]
cmp eax, ebx
je 0x140057489
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.1400216c4
mov r8, rax
mov rdx, r14
mov rcx, rsi
call fcn.1400569e0
mov eax, edi
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret