Function at 0x1800436c0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x40
mov rax, qword [0x180113a00]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov r12, r9
mov rbx, r8
mov esi, edx
mov r15, rcx
call fcn.180021400
test rax, rax
je case.0x1800439a3.527
call fcn.180021650
mov r14, rax
call fcn.180021400
test rax, rax
je 0x180043717
call fcn.180021650
mov rbp, qword [rax + 0x88]
jmp 0x180043719
xor ebp, ebp
cmp esi, 0x200
ja 0x180043979
je 0x180043939
lea eax, [rsi - 7]
cmp eax, 0xfe
ja case.0x1800439a3.527
lea rdx, [0x180000000]
movzx eax, byte [rdx + rax + 0x43b20]
mov ecx, dword [rdx + rax*4 + 0x43b0c]
add rcx, rdx
jmp rcx
lea eax, [rsi - 0x100]
mov ecx, 0x100
test eax, 0xfffffffb
sete dil
cmp rbx, rcx
jae case.0x1800439a3.527
cmp rbx, 0xd
jne 0x180043789
mov rax, r12
shr rax, 0x10
test cx, ax
mov eax, 0x10d
cmovne ebx, eax
movsxd rcx, ebx
call fcn.180043170
shr r12, 0x10
movzx esi, r12b
test eax, eax
je 0x1800437ae
mov r9d, esi
mov r8d, ebx
movzx edx, dil
mov ecx, eax
call fcn.180042690
cmp ebx, 0x10
jne 0x180043814
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp al, dil
jne 0x1800437df
mov r9d, esi
mov r8d, 0xa0
movzx edx, dil
mov ecx, 0x230
call fcn.180042690
mov ecx, 0xa1
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp al, dil
jne case.0x1800439a3.527
mov r9d, esi
mov r8d, 0xa1
movzx edx, dil
mov ecx, 0x234
call fcn.180042690
jmp case.0x1800439a3.527
cmp ebx, 0x11
jne 0x18004387a
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp al, dil
jne 0x180043845
mov r9d, esi
mov r8d, 0xa2
movzx edx, dil
mov ecx, 0x231
call fcn.180042690
mov ecx, 0xa3
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp al, dil
jne case.0x1800439a3.527
mov r9d, esi
mov r8d, 0xa3
movzx edx, dil
mov ecx, 0x235
call fcn.180042690
jmp case.0x1800439a3.527
cmp ebx, 0x12
jne case.0x1800439a3.527
mov ecx, 0xa4
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp al, dil
jne 0x1800438af
mov r9d, esi
mov r8d, 0xa4
movzx edx, dil
mov ecx, 0x232
call fcn.180042690
mov ecx, 0xa5
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
cmp al, dil
jne case.0x1800439a3.527
mov r9d, esi
mov r8d, 0xa5
movzx edx, dil
mov ecx, 0x236
call fcn.180042690
jmp case.0x1800439a3.527
cmp esi, 7
mov rcx, r14
sete dl
call fcn.18001ab00
jmp case.0x1800439a3.527
lea rax, [rbx - 1]
cmp rax, 0xfffe
ja case.0x1800439a3.527
movzx edx, bx
mov rcx, r14
call fcn.18001ab10
jmp case.0x1800439a3.527
cmp r12w, 1
jne case.0x1800439a3.527
call fcn.180042ff0
test al, al
je case.0x1800439a3.527
mov eax, 1
jmp 0x180043aee
cmp byte [rbp + 0x10], 0
mov qword [rbp + 8], r15
jne case.0x1800439a3.527
mov edi, 2
mov dword [rsp + 0x20], Ordinal_27
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x24], edi
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x30], 0
call qword [sym.imp.USER32.dll_TrackMouseEvent]
mov byte [rbp + 0x10], 1
jmp case.0x1800439a3.527
lea eax, [rsi - 0x201]
cmp eax, 0xa2
ja case.0x1800439a3.527
lea rdx, [0x180000000]
movzx eax, byte [rdx + rax + 0x43c3c]
mov ecx, dword [rdx + rax*4 + 0x43c20]
add rcx, rdx
jmp rcx
cmp qword [rbp + 8], r15
jne 0x1800439b3
mov qword [rbp + 8], 0
mov byte [rbp + 0x10], 0
jmp case.0x1800439a3.527
cmp esi, 0x204
je 0x1800439ce
xor edi, edi
cmp esi, 0x206
jne 0x1800439d3
mov edi, 1
cmp esi, 0x207
je 0x1800439e3
cmp esi, 0x209
jne 0x1800439e8
mov edi, 2
cmp esi, 0x20b
je 0x1800439f8
cmp esi, 0x20d
jne 0x180043a0a
xor edi, edi
shr rbx, 0x10
cmp bx, 1
setne dil
add rdi, 3
call fcn.180022d50
test al, al
jne 0x180043a27
call qword [sym.imp.USER32.dll_GetCapture]
test rax, rax
jne 0x180043a27
mov rcx, r15
call qword [sym.imp.USER32.dll_SetCapture]
mov byte [rdi + r14 + 0xd0], 1
jmp case.0x1800439a3.527
xor edi, edi
cmp esi, 0x205
sete dil
cmp esi, 0x208
jne 0x180043a50
mov edi, 2
jmp 0x180043a6a
cmp esi, 0x20c
jne 0x180043a6a
xor edi, edi
shr rbx, 0x10
cmp bx, 1
setne dil
add rdi, 3
mov byte [rdi + r14 + 0xd0], 0
call fcn.180022d50
test al, al
jne case.0x1800439a3.527
call qword [sym.imp.USER32.dll_GetCapture]
cmp rax, r15
jne case.0x1800439a3.527
call qword [sym.imp.USER32.dll_ReleaseCapture]
jmp case.0x1800439a3.527
shr rbx, 0x10
movsx eax, bx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x1800a8b18]
addss xmm0, dword [r14 + 0xd8]
movss dword [r14 + 0xd8], xmm0
jmp case.0x1800439a3.527
shr rbx, 0x10
movsx eax, bx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x1800a8b18]
addss xmm0, dword [r14 + 0xdc]
movss dword [r14 + 0xdc], xmm0
jmp case.0x1800439a3.527
cmp ebx, 7
jne case.0x1800439a3.527
mov byte [rbp + 0x2d], 1
xor eax, eax
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1800a3bf0
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret