Function at 0x140009de0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x58]
sub rsp, 0x158
mov rax, qword [0x1400e6210]
xor rax, rsp
mov qword [rbp + 0x38], rax
mov r15, qword [0x1400e6b50]
lea rax, str.4_32_24_10_tme_cancel_48_24_9_tme_track_64_8_9_mouse_pos_80_2_3_wch
mov qword [rsp + 0x30], 0x41b58ab3
mov r14, r9
mov qword [rsp + 0x38], rax
mov rdi, r8
lea rax, [fcn.140009de0]
mov qword [rbp + 0x30], r9
mov qword [rsp + 0x40], rax
mov esi, edx
lea rax, [rsp + 0x30]
mov qword [rbp + 0x18], rcx
shr rax, 3
mov rbx, rcx
add rax, r15
mov qword [rbp + 0x20], r15
mov dword [rax], 0xf1f1f1f1
mov dword [rax + 4], 0xf2f8f8f8
mov dword [rax + 8], 0xf8f2f2f2
mov dword [rax + 0xc], 0xf2f2f8f8
mov dword [rax + 0x10], 0xf2f8f2f2
mov dword [rax + 0x14], 0xf3f3f3f8
mov byte [rax + 0x18], 0xf3
mov r12, qword [0x1400e6400]
mov qword [rbp + 0x10], r8
test r12, r12
je case.0x14000a40e.527
lea rcx, [r12 + 0x90]
lea r13, [r12 + 8]
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load8
mov r12, qword [r12 + 0x90]
cmp esi, 0x200
ja 0x14000a3e4
je case.0x140009ee6.160
lea eax, [rsi - 7]
cmp eax, 0xfe
ja case.0x14000a40e.527
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0xa69c]
mov ecx, dword [rdx + rax*4 + 0xa684]
add rcx, rdx
jmp rcx
lea eax, [rsi - 0x100]
mov esi, 0x100
test eax, 0xfffffffb
sete bl
cmp rdi, rsi
jae case.0x14000a40e.527
mov ecx, send
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
mov edx, 0x1000
and al, 1
mov rcx, r13
movzx r8d, al
call fcn.140012550
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
mov edx, 0x2000
and al, 1
mov rcx, r13
movzx r8d, al
call fcn.140012550
mov ecx, send
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
mov edx, 0x4000
and al, 1
mov rcx, r13
movzx r8d, al
call fcn.140012550
mov ecx, 0x5d
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
mov edx, 0x8000
and al, 1
mov rcx, r13
movzx r8d, al
call fcn.140012550
mov rdi, qword [rbp + 0x10]
cmp rdi, 0xd
jne 0x140009fa2
shr r14, 0x10
mov eax, 0x10d
test si, r14w
cmovne edi, eax
movsxd rcx, edi
call fcn.140009850
test eax, eax
je 0x140009fbb
mov r8d, edi
movzx edx, bl
mov ecx, eax
call fcn.1400087c0
cmp edi, 0x10
jne 0x14000a017
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp al, bl
jne 0x140009fe7
mov r8d, 0xa0
movzx edx, bl
mov ecx, 0x210
call fcn.1400087c0
mov ecx, 0xa1
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp al, bl
jne case.0x14000a40e.527
mov r8d, 0xa1
movzx edx, bl
mov ecx, 0x214
call fcn.1400087c0
jmp case.0x14000a40e.527
cmp edi, 0x11
jne 0x14000a073
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp al, bl
jne 0x14000a043
mov r8d, 0xa2
movzx edx, bl
mov ecx, 0x20f
call fcn.1400087c0
mov ecx, 0xa3
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp al, bl
jne case.0x14000a40e.527
mov r8d, 0xa3
movzx edx, bl
mov ecx, 0x213
call fcn.1400087c0
jmp case.0x14000a40e.527
cmp edi, 0x12
jne case.0x14000a40e.527
mov ecx, 0xa4
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp al, bl
jne 0x14000a0a3
mov r8d, 0xa4
movzx edx, bl
mov ecx, 0x211
call fcn.1400087c0
mov ecx, 0xa5
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp al, bl
jne case.0x14000a40e.527
mov r8d, 0xa5
movzx edx, bl
mov ecx, 0x215
call fcn.1400087c0
jmp case.0x14000a40e.527
cmp esi, 7
mov rcx, r13
sete dl
call fcn.140013250
jmp case.0x14000a40e.527
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsWindowUnicode]
test eax, eax
je 0x14000a114
mov rdx, qword [rbp + 0x10]
lea rax, [rdx - 1]
cmp rax, 0xfffe
ja case.0x14000a40e.527
mov rcx, r13
call fcn.140011c30
jmp case.0x14000a40e.527
lea rax, [rbp - 0x30]
shr rax, 3
lea rcx, [rbp - 0x30]
mov byte [rax + r15], 2
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store2
mov r15d, 1
lea rax, [rbp - 0x30]
xor edi, edi
mov dword [rsp + 0x28], r15d
mov r9d, r15d
mov qword [rsp + 0x20], rax
mov edx, r15d
mov word [rbp - 0x30], di
lea r8, [rbp + 0x10]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea rcx, [rbp - 0x30]
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load2
movzx edx, word [rbp - 0x30]
mov rcx, r13
call fcn.1400119e0
mov r15, qword [rbp + 0x20]
lea rax, [rbp - 0x30]
shr rax, 3
mov byte [rax + r15], pe_nt_image_headers64
jmp case.0x14000a40e.527
cmp r14w, 1
jne case.0x14000a40e.527
call fcn.140008610
test al, al
je case.0x14000a40e.527
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x30], 0x45e0360e
shr rcx, 3
mov edx, 0x19
add rcx, r15
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_set_shadow_00
mov eax, 1
jmp 0x14000a661
lea rax, [rbp - 0x40]
shr rax, 3
mov byte [rax + r15], 0
call qword [sym.imp.USER32.dll_GetMessageExtraInfo]
mov ecx, 0xffffff80
xor edi, edi
and rax, rcx
mov ecx, 0xff515700
lea r14d, [rdi + 2]
cmp rax, rcx
jne 0x14000a1f3
mov dword [rbp - 8], r14d
jmp 0x14000a203
mov ecx, edi
mov edx, 0xff515780
cmp rax, rdx
sete cl
mov dword [rbp - 8], ecx
mov eax, edi
lea rcx, [r12 + 8]
cmp esi, 0x200
setne al
inc eax
mov dword [rbp - 4], eax
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store8
mov rcx, rbx
mov qword [r12 + 8], rbx
lea rbx, [r12 + 0x10]
mov rcx, rbx
mov qword [rbp + 0x28], rbx
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
mov eax, dword [rbx]
mov ebx, dword [rbp - 4]
mov dword [rbp], eax
cmp eax, ebx
je 0x14000a350
lea rcx, [rsp + 0x50]
mov edx, 3
shr rcx, 3
add rcx, r15
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_set_shadow_00
lea rcx, [rbp - 0x78]
mov edx, 3
shr rcx, 3
add rcx, r15
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_set_shadow_00
lea rcx, [rsp + 0x50]
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [rsp + 0x54]
mov dword [rsp + 0x50], 0x18
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [rsp + 0x58]
mov dword [rsp + 0x54], 0x80000000
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store8
mov r12, qword [rbp + 0x18]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x58], r12
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [rbp - 0x78]
mov dword [rsp + 0x60], edi
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
mov eax, send
mov dword [rbp - 0x78], 0x18
cmp esi, 0x200
lea rcx, [rbp - 0x74]
cmovne r14d, eax
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [rbp - 0x70]
mov dword [rbp - 0x74], r14d
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store8
lea rcx, [rbp - 0x68]
mov qword [rbp - 0x70], r12
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
mov dword [rbp - 0x68], edi
cmp dword [rbp], edi
je 0x14000a30b
lea rcx, [rsp + 0x50]
call qword [sym.imp.USER32.dll_TrackMouseEvent]
lea rcx, [rbp - 0x78]
call qword [sym.imp.USER32.dll_TrackMouseEvent]
mov rdi, qword [rbp + 0x28]
mov rcx, rdi
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [rsp + 0x50]
mov dword [rdi], ebx
shr rcx, 3
mov edx, 3
add rcx, r15
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_set_shadow_f8
lea rcx, [rbp - 0x78]
mov edx, 3
shr rcx, 3
add rcx, r15
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_set_shadow_f8
jmp 0x14000a354
mov r12, qword [rbp + 0x18]
mov rdi, qword [rbp + 0x30]
lea rcx, [rbp - 0x40]
movsx ebx, di
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
shr rdi, 0x10
lea rcx, [rbp - 0x3c]
mov dword [rbp - 0x40], ebx
movsx ebx, di
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
mov dword [rbp - 0x3c], ebx
cmp esi, 0xa0
jne 0x14000a397
lea rdx, [rbp - 0x40]
mov rcx, r12
call qword [sym.imp.USER32.dll_ScreenToClient]
test eax, eax
je case.0x14000a40e.527
mov edx, dword [rbp - 8]
mov rcx, r13
movaps xmmword [rsp + 0x140], xmm6
call fcn.1400131d0
lea rcx, [rbp - 0x3c]
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
movd xmm6, dword [rbp - 0x3c]
lea rcx, [rbp - 0x40]
cvtdq2ps xmm6, xmm6
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
mov rcx, r13
movd xmm1, dword [rbp - 0x40]
movaps xmm2, xmm6
cvtdq2ps xmm1, xmm1
call fcn.1400125e0
movaps xmm6, xmmword [rsp + 0x140]
jmp case.0x14000a40e.527
lea eax, [rsi - 0x201]
cmp eax, 0xa2
ja case.0x14000a40e.527
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0xa7b8]
mov ecx, dword [rdx + rax*4 + 0xa79c]
add rcx, rdx
jmp rcx
xor edi, edi
lea rcx, [r12 + 0x10]
mov ebx, edi
cmp esi, 0x2a3
setne bl
inc ebx
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
cmp dword [r12 + 0x10], ebx
jne case.0x14000a40e.527
lea rcx, [r12 + 8]
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load8
mov rcx, qword [rbp + 0x18]
cmp qword [r12 + 8], rcx
jne 0x14000a458
lea rcx, [r12 + 8]
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store8
mov qword [r12 + 8], rdi
lea rcx, [r12 + 0x10]
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
movss xmm1, dword [0x1400cd328]
mov rcx, r13
movaps xmm2, xmm1
mov dword [r12 + 0x10], edi
call fcn.1400125e0
jmp case.0x14000a40e.527
call fcn.140009da0
xor edi, edi
mov dword [rbp + 4], eax
cmp esi, 0x204
je 0x14000a49c
mov r15d, edi
cmp esi, 0x206
jne 0x14000a4a2
mov r15d, 1
lea ecx, [rsi - 0x207]
mov r14d, 2
test ecx, 0xfffffffd
lea eax, [rsi - 0x20b]
cmove r15d, r14d
test eax, 0xfffffffd
jne 0x14000a4d9
mov rax, qword [rbp + 0x10]
shr rax, 0x10
cmp ax, 1
setne dil
lea r15d, [rdi + 3]
add r12, 0x14
mov rcx, r12
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
cmp dword [r12], 0
jne 0x14000a500
call qword [sym.imp.USER32.dll_GetCapture]
test rax, rax
jne 0x14000a500
mov rcx, rbx
call qword [sym.imp.USER32.dll_SetCapture]
mov rcx, r12
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
mov ebx, dword [r12]
mov rcx, r12
bts ebx, r15d
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
mov edx, dword [rbp + 4]
mov rcx, r13
mov dword [r12], ebx
call fcn.1400131d0
mov r8b, 1
mov edx, r15d
mov rcx, r13
call fcn.140012af0
lea rcx, [rsp + 0x30]
shr rcx, 3
add rcx, qword [rbp + 0x20]
jmp 0x14000a64c
call fcn.140009da0
xor edi, edi
mov dword [rbp + 8], eax
cmp esi, 0x205
mov r14d, edi
sete r14b
cmp esi, 0x208
jne 0x14000a56c
lea r14d, [rdi + 2]
jmp 0x14000a58b
cmp esi, 0x20c
jne 0x14000a58b
mov rax, qword [rbp + 0x10]
mov r14d, edi
shr rax, 0x10
cmp ax, 1
setne r14b
add r14d, 3
lea rcx, [r12 + 0x14]
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
mov ebx, dword [r12 + 0x14]
lea rcx, [r12 + 0x14]
btr ebx, r14d
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
mov dword [r12 + 0x14], ebx
test ebx, ebx
jne 0x14000a5c3
call qword [sym.imp.USER32.dll_GetCapture]
cmp rax, qword [rbp + 0x18]
jne 0x14000a5c3
call qword [sym.imp.USER32.dll_ReleaseCapture]
mov edx, dword [rbp + 8]
mov rcx, r13
call fcn.1400131d0
xor r8d, r8d
mov edx, r14d
mov rcx, r13
call fcn.140012af0
jmp case.0x14000a40e.527
shr rdi, 0x10
xorps xmm1, xmm1
movsx eax, di
mov rcx, r13
movd xmm2, eax
cvtdq2ps xmm2, xmm2
divss xmm2, dword [0x1400cd2e4]
call fcn.140012ee0
jmp case.0x14000a40e.527
shr rdi, 0x10
xorps xmm2, xmm2
movsx eax, di
mov rcx, r13
movd xmm1, eax
cvtdq2ps xmm1, xmm1
xorps xmm1, xmmword [0x1400cd410]
divss xmm1, dword [0x1400cd2e4]
call fcn.140012ee0
jmp case.0x14000a40e.527
cmp edi, 7
jne case.0x14000a40e.527
lea rcx, [r12 + 0x2d]
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store1
mov byte [r12 + 0x2d], 1
lea rcx, [rsp + 0x30]
shr rcx, 3
add rcx, r15
mov edx, 0x19
mov qword [rsp + 0x30], 0x45e0360e
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_set_shadow_00
xor eax, eax
mov rcx, qword [rbp + 0x38]
xor rcx, rsp
call fcn.140084bc0
add rsp, 0x158
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret