Function at 0x140051860
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x20
movsxd rbx, ecx
mov ecx, reloc.WS2_32.dll_recvfrom
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140051c4c
cmp byte [0x1400e3303], 1
jne 0x140051950
mov rax, rbx
shl rax, 4
add rax, qword [0x1400e33c8]
cmp byte [0x1400e31eb], 1
jne 0x1400518f3
cmp byte [0x1400e3306], 1
jne 0x1400518bc
movsd xmm1, qword [0x1400d1490]
movsd qword [0x1400e23a8], xmm1
jmp 0x1400518c4
movsd xmm1, qword [0x1400e23a8]
cmp byte [0x1400e31ea], 1
je 0x1400518e9
cmp byte [0x1400e3300], 1
je 0x1400518e9
cmp byte [0x1400e3304], 1
jne 0x1400518fb
movsd xmm1, qword [0x1400d14a0]
jmp 0x1400518fb
movsd xmm1, qword [0x1400d1488]
jmp 0x1400518fb
movsd xmm1, qword [0x1400e23b8]
call fcn.140051680
mulsd xmm0, qword [rax]
mulsd xmm0, xmm1
movss xmm1, dword [0x1400e2118]
mulss xmm1, dword [0x1400d14a8]
cvtps2pd xmm2, xmm1
mov eax, dword [0x1400e2120]
xorps xmm1, xmm1
mulsd xmm2, qword [0x1400d15c0]
add eax, eax
cvtsi2sd xmm1, eax
mulsd xmm2, qword [0x1400d14b0]
divsd xmm1, qword [0x1400d1500]
mulsd xmm2, xmm1
divsd xmm0, xmm2
add rsp, 0x20
pop rbx
ret
cmp byte [0x1400e31ec], 1
jne 0x140051992
mov rax, rbx
shl rax, 4
add rax, qword [0x1400e3320]
cmp byte [0x1400e31eb], 1
jne 0x1400518f3
cmp byte [0x1400e3306], 1
jne 0x1400518bc
movsd xmm1, qword [0x1400d1490]
movsd qword [0x1400e23a8], xmm1
jmp 0x1400518c4
cmp byte [0x1400e3318], 1
jne 0x1400519d8
mov rax, rbx
shl rax, 4
add rax, qword [0x1400e3368]
cmp byte [0x1400e31eb], 1
jne 0x1400518f3
cmp byte [0x1400e3306], 1
jne 0x1400518bc
movsd xmm1, qword [0x1400d1490]
movsd qword [0x1400e23a8], xmm1
jmp 0x1400518c4
cmp byte [0x1400e31ef], 1
jne 0x140051a1e
mov rax, rbx
shl rax, 4
add rax, qword [0x1400e3398]
cmp byte [0x1400e31eb], 1
jne 0x1400518f3
cmp byte [0x1400e3306], 1
jne 0x1400518bc
movsd xmm1, qword [0x1400d1490]
movsd qword [0x1400e23a8], xmm1
jmp 0x1400518c4
cmp byte [0x1400e3306], 1
jne 0x140051a8e
movzx ecx, byte [0x1400e31eb]
mov rax, rbx
shl rax, 4
add rax, qword [0x1400e3380]
cmp cl, 1
jne 0x1400518f3
cmp byte [0x1400e31ea], cl
movsd xmm1, qword [0x1400d1490]
movsd qword [0x1400e23a8], xmm1
je 0x1400518e9
cmp byte [0x1400e3300], cl
je 0x1400518e9
cmp byte [0x1400e3304], cl
jne 0x1400518fb
cmp cl, cl
jne 0x1400518fb
movsd xmm1, qword [0x1400d14a0]
jmp 0x1400518fb
cmp byte [0x1400e3307], 1
jne 0x140051ae6
mov rax, rbx
shl rax, 4
add rax, qword [0x1400e3338]
cmp byte [0x1400e31eb], 1
jne 0x1400518f3
cmp byte [0x1400e31ea], 1
je 0x1400518e9
cmp byte [0x1400e3300], 1
je 0x1400518e9
cmp byte [0x1400e3304], 1
je 0x1400518df
movsd xmm1, qword [0x1400e23a8]
jmp 0x1400518fb
cmp byte [0x1400e31ed], 1
jne 0x140051b3a
mov rax, rbx
shl rax, 4
add rax, qword [0x1400e3350]
cmp byte [0x1400e31eb], 1
jne 0x1400518f3
cmp byte [0x1400e31ea], 1
je 0x1400518e9
cmp byte [0x1400e3300], 1
je 0x1400518e9
cmp byte [0x1400e3304], 1
jne 0x140051ad9
movsd xmm1, qword [0x1400d14a0]
jmp 0x1400518fb
cmp byte [0x1400e3305], 1
jne 0x140051b92
mov rax, rbx
shl rax, 4
add rax, qword [0x1400e33b0]
cmp byte [0x1400e31eb], 1
jne 0x1400518f3
cmp byte [0x1400e31ea], 1
je 0x1400518e9
cmp byte [0x1400e3300], 1
je 0x1400518e9
cmp byte [0x1400e3304], 1
jne 0x140051ad9
movsd xmm1, qword [0x1400d14a0]
jmp 0x1400518fb
cmp byte [0x1400e31ee], 1
jne 0x140051fda
cmp byte [0x1400e31eb], 1
jne 0x140051be1
cmp byte [0x1400e31ea], 1
je 0x140051bd7
cmp byte [0x1400e3300], 1
je 0x140051bd7
cmp byte [0x1400e3304], 1
jne 0x140051bcd
movsd xmm1, qword [0x1400d14a0]
jmp 0x140051be9
movsd xmm1, qword [0x1400e23a8]
jmp 0x140051be9
movsd xmm1, qword [0x1400d1488]
jmp 0x140051be9
movsd xmm1, qword [0x1400e23b8]
call fcn.140051680
mov rax, qword [0x1400e36b0]
mov rcx, rbx
add rcx, rcx
mulsd xmm0, qword [rax + rcx*8]
mov eax, dword [0x1400e2120]
add eax, eax
mulsd xmm0, xmm1
movss xmm1, dword [0x1400e2118]
mulss xmm1, dword [0x1400d14a8]
cvtps2pd xmm2, xmm1
xorps xmm1, xmm1
mulsd xmm2, qword [0x1400d15c0]
cvtsi2sd xmm1, eax
mulsd xmm2, qword [0x1400d14b0]
divsd xmm1, qword [0x1400d1500]
mulsd xmm2, xmm1
divsd xmm0, xmm2
add rsp, 0x20
pop rbx
ret
cmp byte [0x1400e3303], 1
jne 0x140051ce7
mov rax, rbx
shl rax, 4
add rax, qword [0x1400e33c8]
cmp byte [0x1400e31eb], 1
jne 0x140051cc2
cmp byte [0x1400e3306], 1
jne 0x140051c8b
movsd xmm1, qword [0x1400d1490]
movsd qword [0x1400e23a8], xmm1
jmp 0x140051c93
movsd xmm1, qword [0x1400e23a8]
cmp byte [0x1400e31ea], 1
je 0x140051cb8
cmp byte [0x1400e3300], 1
je 0x140051cb8
cmp byte [0x1400e3304], 1
jne 0x140051cca
movsd xmm1, qword [0x1400d14a0]
jmp 0x140051cca
movsd xmm1, qword [0x1400d1488]
jmp 0x140051cca
movsd xmm1, qword [0x1400e23b8]
call fcn.140051680
mulsd xmm0, qword [rax]
movss xmm2, dword [0x1400e2118]
cvtps2pd xmm2, xmm2
mulsd xmm0, xmm1
jmp 0x14005191b
cmp byte [0x1400e31ec], 1
jne 0x140051d82
cmp byte [0x1400e31eb], 1
jne 0x140051d4f
cmp byte [0x1400e3306], 1
jne 0x140051d18
movsd xmm1, qword [0x1400d1490]
movsd qword [0x1400e23a8], xmm1
jmp 0x140051d20
movsd xmm1, qword [0x1400e23a8]
cmp byte [0x1400e31ea], 1
je 0x140051d45
cmp byte [0x1400e3300], 1
je 0x140051d45
cmp byte [0x1400e3304], 1
jne 0x140051d57
movsd xmm1, qword [0x1400d14a0]
jmp 0x140051d57
movsd xmm1, qword [0x1400d1488]
jmp 0x140051d57
movsd xmm1, qword [0x1400e23b8]
call fcn.140051680
mov rax, qword [0x1400e3320]
mov rcx, rbx
movss xmm2, dword [0x1400e2118]
add rcx, rcx
cvtps2pd xmm2, xmm2
mulsd xmm0, qword [rax + rcx*8]
mulsd xmm0, xmm1
jmp 0x14005191b
cmp byte [0x1400e3318], 1
jne 0x140051dc8
mov rax, rbx
shl rax, 4
add rax, qword [0x1400e3368]
cmp byte [0x1400e31eb], 1
jne 0x140051cc2
cmp byte [0x1400e3306], 1
jne 0x140051c8b
movsd xmm1, qword [0x1400d1490]
movsd qword [0x1400e23a8], xmm1
jmp 0x140051c93
cmp byte [0x1400e31ef], 1
jne 0x140051e0e
mov rax, rbx
shl rax, 4
add rax, qword [0x1400e3398]
cmp byte [0x1400e31eb], 1
jne 0x140051cc2
cmp byte [0x1400e3306], 1
jne 0x140051c8b
movsd xmm1, qword [0x1400d1490]
movsd qword [0x1400e23a8], xmm1
jmp 0x140051c93
cmp byte [0x1400e3306], 1
jne 0x140051e7e
movzx ecx, byte [0x1400e31eb]
mov rax, rbx
shl rax, 4
add rax, qword [0x1400e3380]
cmp cl, 1
jne 0x140051cc2
cmp byte [0x1400e31ea], cl
movsd xmm1, qword [0x1400d1490]
movsd qword [0x1400e23a8], xmm1
je 0x140051cb8
cmp byte [0x1400e3300], cl
je 0x140051cb8
cmp byte [0x1400e3304], cl
jne 0x140051cca
cmp cl, cl
jne 0x140051cca
movsd xmm1, qword [0x1400d14a0]
jmp 0x140051cca
cmp byte [0x1400e3307], 1
jne 0x140051ed6
mov rax, rbx
shl rax, 4
add rax, qword [0x1400e3338]
cmp byte [0x1400e31eb], 1
jne 0x140051cc2
cmp byte [0x1400e31ea], 1
je 0x140051cb8
cmp byte [0x1400e3300], 1
je 0x140051cb8
cmp byte [0x1400e3304], 1
je 0x140051cae
movsd xmm1, qword [0x1400e23a8]
jmp 0x140051cca
cmp byte [0x1400e31ed], 1
jne 0x140051f2a
mov rax, rbx
shl rax, 4
add rax, qword [0x1400e3350]
cmp byte [0x1400e31eb], 1
jne 0x140051cc2
cmp byte [0x1400e31ea], 1
je 0x140051cb8
cmp byte [0x1400e3300], 1
je 0x140051cb8
cmp byte [0x1400e3304], 1
jne 0x140051ec9
movsd xmm1, qword [0x1400d14a0]
jmp 0x140051cca
cmp byte [0x1400e3305], 1
jne 0x140051f82
mov rax, rbx
shl rax, 4
add rax, qword [0x1400e33b0]
cmp byte [0x1400e31eb], 1
jne 0x140051cc2
cmp byte [0x1400e31ea], 1
je 0x140051cb8
cmp byte [0x1400e3300], 1
je 0x140051cb8
cmp byte [0x1400e3304], 1
jne 0x140051ec9
movsd xmm1, qword [0x1400d14a0]
jmp 0x140051cca
cmp byte [0x1400e31ee], 1
jne 0x140051fda
mov rax, rbx
shl rax, 4
add rax, qword [0x1400e36b0]
cmp byte [0x1400e31eb], 1
jne 0x140051cc2
cmp byte [0x1400e31ea], 1
je 0x140051cb8
cmp byte [0x1400e3300], 1
je 0x140051cb8
cmp byte [0x1400e3304], 1
jne 0x140051ec9
movsd xmm1, qword [0x1400d14a0]
jmp 0x140051cca
xorps xmm0, xmm0
add rsp, 0x20
pop rbx
ret