Function at 0x180027630
Capabilities:
Log keystrokes via polling

Disassembly:
push rsi
sub rsp, 0x30
movss xmm0, dword [0x1803ed6ac]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], r14
movaps xmmword [rsp + 0x20], xmm6
xorps xmm6, xmm6
ucomiss xmm0, xmm6
mov r14d, 4
jne 0x18002769f
call fcn.180015bb0
mov rbx, rax
test rax, rax
je 0x180027697
mov ecx, dword [0x1803ed330]
mov rax, qword gs:[0x58]
mov rax, qword [rax + rcx*8]
mov eax, dword [r14 + rax]
cmp dword [0x180423930], eax
jg 0x1800278ce
mov rax, qword [0x180423798]
movss xmm6, dword [rax + rbx]
movss dword [0x1803ed6ac], xmm6
call fcn.180015bb0
mov rcx, qword [0x1803ed4f0]
movabs rsi, 0x7fffffff0000
add rcx, 0x3981d08
cmp rcx, 0x40000
jbe 0x1800276ef
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x1800276ef
mov rbx, qword [rcx]
add rbx, 0xb8
cmp rbx, 0x40000
jbe 0x1800276ef
lea rax, [rbx + 8]
cmp rax, rsi
jae 0x1800276ef
mov rbx, qword [rbx]
jmp 0x1800276f1
xor ebx, ebx
cmp byte [0x1803ed599], 0
je 0x180027729
mov ecx, dword [0x1803ed640]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180027729
lea rcx, [rbx + 0x18]
cmp rcx, 0x40000
jbe 0x18002774b
lea rax, [rcx + 4]
cmp rax, rsi
jae 0x18002774b
mov dword [rcx], 0x41200000
jmp 0x18002774b
add rbx, 0x18
cmp rbx, 0x40000
jbe 0x18002774b
lea rax, [rbx + 4]
cmp rax, rsi
jae 0x18002774b
movss xmm0, dword [0x18029c2c8]
movss dword [rbx], xmm0
cmp byte [0x1803ed5f8], 0
mov rbx, qword [rsp + 0x40]
je 0x18002778b
mov rax, qword [0x1803ed4f0]
add rax, 0x289f070
call rax
movss xmm1, dword [0x18029c2d4]
mov rcx, rax
mov rdx, qword [0x1803ed4f0]
mulss xmm1, dword [0x1802848b4]
add rdx, 0x289f8a0
call rdx
cmp byte [0x1803ed613], 0
je 0x1800277d2
call fcn.180015bb0
lea rcx, [rax + 0x8f0]
cmp rcx, 0x40000
jbe 0x1800277d2
lea rax, [rcx + 4]
cmp rax, rsi
jae 0x1800277b9
mov edx, dword [rcx]
or edx, 4
jmp 0x1800277d0
cmp rcx, 0x40000
jbe 0x1800277d2
lea rax, [rcx + 4]
mov edx, 4
cmp rax, rsi
jae 0x1800277d2
mov dword [rcx], edx
cmp byte [0x1803ed5eb], 0
je 0x18002781b
call fcn.180015bb0
lea rcx, [rax + 0x8f0]
cmp rcx, 0x40000
jbe 0x18002781b
lea rax, [rcx + 4]
cmp rax, rsi
jae 0x1800277fd
mov edx, dword [rcx]
jmp 0x180027811
cmp rcx, 0x40000
jbe 0x18002781b
xor edx, edx
lea rax, [rcx + 4]
cmp rax, rsi
jae 0x18002781b
xor eax, eax
cmp edx, 4
sete al
mov dword [rcx], eax
cmp byte [0x1803ed5fc], 0
je 0x180027861
mov ecx, dword [0x1803ed330]
mov rax, qword gs:[0x58]
movss xmm6, dword [0x18029c2b4]
mov rax, qword [rax + rcx*8]
mov eax, dword [r14 + rax]
cmp dword [0x180423fc0], eax
jg 0x180027909
mov rax, qword [0x1804236e8]
mov rcx, qword [rax + 0xb8]
movss dword [rcx], xmm6
cmp byte [0x1803ed626], 0
movaps xmm6, xmmword [rsp + 0x20]
mov r14, qword [rsp + 0x48]
je 0x1800278c8
mov ecx, dword [0x1803ed65c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800278c8
call fcn.180015bb0
add rax, 0x8f8
cmp rax, 0x40000
jbe 0x1800278c8
lea rcx, [rax + 8]
cmp rcx, rsi
jae 0x1800278c8
mov rcx, qword [rax]
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x1800278c8
lea rax, [rcx + 0xc]
cmp rax, rsi
jae 0x1800278c8
mov dword [rcx], 0
mov qword [rcx + 4], 0x3fc00000
add rsp, 0x30
pop rsi
ret
lea rcx, [0x180423930]
call fcn.180109418
cmp dword [0x180423930], 0xffffffff
jne 0x18002768b
mov ecx, 0xc566d10
call fcn.18000f6e0
lea rcx, [0x180423930]
mov qword [0x180423798], rax
call fcn.1801093ac
jmp 0x18002768b
lea rcx, [0x180423fc0]
call fcn.180109418
cmp dword [0x180423fc0], 0xffffffff
jne 0x18002784f
mov ecx, 0x75db24b0
call fcn.18000d5a0
lea rcx, [0x180423fc0]
mov qword [0x1804236e8], rax
call fcn.1801093ac
jmp 0x18002784f