Function at 0x140119380
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x80
mov r14, rdx
mov rbp, rcx
mov rcx, qword [rcx + 0x218]
test rcx, rcx
je 0x1401197f7
mov eax, dword [rbp + 0x194]
shr eax, 0x13
test al, 1
je 0x1401197f7
mov edx, 0xffffffec
call qword [sym.imp.USER32.dll_GetWindowLongW]
shr eax, 0x10
test al, 1
je 0x1401197f7
cmp dword [r14 + 8], 0x100
jne case.0x140119460.10
mov ecx, reloc.COMCTL32.dll_InitCommonControls
call qword [sym.imp.USER32.dll_GetKeyState]
movzx edi, ax
shr di, 0xf
mov ecx, reloc.COMCTL32.dll_CreateUpDownControl
call qword [sym.imp.USER32.dll_GetKeyState]
movzx ebx, ax
shr bx, 0xf
xor r9d, r9d
xor r8d, r8d
mov edx, 0x87
mov rcx, qword [r14]
call qword [sym.imp.USER32.dll_SendMessageW]
mov edx, eax
or edx, 3
test al, 4
cmove edx, eax
mov sil, 1
xor r15b, r15b
xor r12b, r12b
mov rax, qword [r14 + 0x10]
add rax, 0xfffffffffffffff7
cmp rax, 0x1f
ja case.0x140119460.10
lea r8, [0x140000000]
movzx eax, byte [r8 + rax + 0x119854]
mov ecx, dword [r8 + rax*4 + 0x119838]
add rcx, r8
jmp rcx
test dl, 2
je 0x14011946c
test dil, dil
je 0x14011947a
movzx r15d, dil
movzx esi, bl
xor sil, 1
mov r12b, 1
movzx eax, r12b
jmp 0x1401194cc
test sil, dl
jne case.0x140119460.10
test dil, dil
jne case.0x140119460.10
xor sil, sil
jmp 0x1401194d0
test sil, dl
jne case.0x140119460.10
test dil, dil
je 0x1401194d0
mov eax, dword [r14 + 8]
cmp eax, 0x100
jne 0x140119712
cmp qword [r14 + 0x10], 0x1b
jne 0x1401197df
jmp 0x1401197f7
xor sil, sil
test dl, 1
je 0x1401194c5
test dil, dil
je 0x1401194c8
mov r15b, 1
movzx eax, r15b
test al, al
je case.0x140119460.10
mov r8d, dword [0x1404c6148]
xor edx, edx
lea rcx, [rsp + 0x20]
call fcn.14004d060
lea rax, vtable.wxNavigationKeyEvent.0
mov qword [rsp + 0x20], rax
xor ebx, ebx
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x58], ebx
test sil, sil
setne bl
add ebx, 4
test r15b, r15b
je 0x14011950d
or ebx, 2
jmp 0x140119510
and ebx, 0xfffffffd
test r12b, r12b
je 0x14011951a
or ebx, 4
jmp 0x14011951d
and ebx, 0xfffffffb
mov dword [rsp + 0x70], ebx
mov qword [rsp + 0x30], rbp
lea rdx, [rsp + 0x20]
mov rcx, rbp
call fcn.140105820
test al, al
je 0x140119571
xor r9d, r9d
mov edx, 0x127
mov r8d, 0x10002
mov rcx, qword [rbp + 0x218]
call qword [sym.imp.USER32.dll_SendMessageW]
nop
lea rax, vtable.wxObject.0
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x20]
call fcn.14004cf00
nop
mov al, 1
jmp 0x140119815
lea rax, vtable.wxObject.0
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x20]
call fcn.14004cf00
nop
jmp case.0x140119460.10
test dl, 0x10
je 0x1401195c7
mov edx, 0xfffffff0
mov rcx, qword [r14]
call qword [sym.imp.USER32.dll_GetWindowLongW]
and eax, 0xb
cmp al, 0xb
jne case.0x140119460.10
mov rcx, qword [r14]
call fcn.14011ea30
mov rbx, rax
test rax, rax
je 0x1401196cb
mov rax, qword [rax]
jmp 0x14011968c
mov rbx, rbp
test dil, dil
jne 0x14011960d
nop
test dl, 4
jne 0x140119813
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x278]
test al, al
jne 0x14011960d
mov rbx, qword [rbx + 0x80]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x87
mov rcx, qword [rbx + 0x218]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, rax
jmp 0x1401195d0
mov rcx, rbx
call fcn.14010a4e0
mov rbx, rax
test rax, rax
je case.0x140119460.10
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.WS2_32.dll_htonl]
mov rdi, rax
lea rsi, str.wxTopLevelWindow
cmp rsi, rax
je 0x14011966b
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14011964e
mov rdx, rsi
call fcn.14004c8d0
test al, al
jne 0x14011966b
mov rcx, qword [rdi + 0x20]
test rcx, rcx
je case.0x140119460.10
mov rdx, rsi
call fcn.14004c8d0
test al, al
je case.0x140119460.10
mov eax, 0x2a8
mov ecx, 0x288
cmp qword [rbx + 0x2a8], 0
cmove eax, ecx
mov rbx, qword [rax + rbx]
test rbx, rbx
je 0x1401196cb
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lea rdi, str.Xs8_
cmp rdi, rax
mov rsi, rax
je 0x1401196d6
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401196b6
mov rdx, rdi
call fcn.14004c8d0
test al, al
jne 0x1401196d6
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x1401196cb
mov rdx, rdi
call fcn.14004c8d0
test al, al
jne 0x1401196d6
xor ebx, ebx
test rbx, rbx
je case.0x140119460.10
mov rcx, rbx
call fcn.140105b90
test al, al
je case.0x140119460.10
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x1f8]
test al, al
je case.0x140119460.10
mov rax, qword [rbx]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [rax + 0x648]
mov al, 1
jmp 0x140119815
cmp eax, 0x106
jne 0x1401197df
call qword [sym.imp.USER32.dll_GetFocus]
mov rdi, rax
mov edx, 0xffffffec
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowLongW]
bt eax, 0x10
jae 0x140119798
mov rbx, qword [rbp + 0xa0]
test rbx, rbx
je 0x1401197f7
nop word [rax + rax]
mov rsi, qword [rbx + 0x10]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x250]
test al, al
je 0x14011978d
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x260]
test al, al
je 0x14011978d
mov edx, 0xffffffec
mov rcx, qword [rsi + 0x218]
call qword [sym.imp.USER32.dll_GetWindowLongW]
shr eax, 0x10
test al, 1
je 0x140119798
mov rbx, qword [rbx + 0x18]
test rbx, rbx
jne 0x140119750
jmp 0x1401197f7
test rdi, rdi
je 0x1401197df
nop dword [rax]
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je 0x1401197f7
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x1401197f7
mov edx, 0xfffffff0
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetWindowLongW]
bt eax, 0x1e
jae 0x1401197df
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetParent]
mov rdi, rax
test rax, rax
jne 0x1401197a0
mov rdx, r14
mov rcx, qword [rbp + 0x218]
call qword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
jne 0x14011956a
cmp qword [rbp + 0x168], 0
je 0x140119813
cmp dword [r14 + 8], 0x200
jne 0x140119813
mov rcx, r14
call fcn.140167f30
xor al, al
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
ret