Function at 0x180050d50
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x128
mov rax, qword [0x1802e9b90]
xor rax, rsp
mov qword [rsp + 0x88], rax
cmp byte [0x1802eace0], 0
je 0x18005117b
mov ecx, dword [reloc.WS2_32.dll_bind]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18005117b
mov qword [rsp + 0x130], rbx
call fcn.18004f6c0
mov rbx, rax
test rax, rax
je 0x180051173
mov rcx, qword [rax + 0x180]
movdqu xmm0, xmmword [rax + 0x430]
movaps xmmword [rsp + 0x110], xmm6
movaps xmmword [rsp + 0x100], xmm7
movups xmm4, xmmword [rcx]
movups xmm5, xmmword [rcx + 0x10]
movups xmm7, xmmword [rcx + 0x30]
movups xmm6, xmmword [rcx + 0x20]
mov ecx, dword [0x1802eace8]
movaps xmmword [rsp + 0xf0], xmm8
movaps xmmword [rsp + 0xe0], xmm9
movaps xmmword [rsp + 0xd0], xmm10
movaps xmm10, xmm4
movaps xmmword [rsp + 0xc0], xmm11
pshufd xmm1, xmm0, 0
mulps xmm10, xmm1
movaps xmm1, xmm6
movaps xmmword [rsp + 0xb0], xmm12
movaps xmmword [rsp + 0xa0], xmm13
xorps xmm13, xmm13
pshufd xmm3, xmm0, 0xaa
movaps xmmword [rsp + 0x90], xmm14
addps xmm10, xmm7
pshufd xmm2, xmm0, 0x55
xorps xmm14, xmm14
mulps xmm1, xmm3
movaps xmm0, xmm5
mulps xmm0, xmm2
cvtsi2ss xmm13, dword [0x1802eaca0]
addps xmm10, xmm0
mulss xmm13, dword [0x18014ba90]
cvtsi2ss xmm14, dword [0x1802eaca4]
addps xmm10, xmm1
mulss xmm14, dword [0x18014ba90]
movaps xmm11, xmm10
movaps xmm12, xmm10
shufps xmm11, xmm10, 0x55
shufps xmm12, xmm10, 0xaa
test ecx, ecx
je 0x180050edc
sub ecx, 1
je 0x180050e9c
cmp ecx, 1
jne 0x180050ef1
movdqu xmm0, xmmword [rax + 0x4b0]
jmp 0x180050ea4
movdqu xmm0, xmmword [rax + 0x4a0]
pshufd xmm1, xmm0, 0
mulps xmm4, xmm1
pshufd xmm2, xmm0, 0x55
mulps xmm5, xmm2
addps xmm4, xmm7
pshufd xmm3, xmm0, 0xaa
mulps xmm6, xmm3
addps xmm4, xmm5
addps xmm4, xmm6
movaps xmm11, xmm4
movaps xmm10, xmm4
shufps xmm11, xmm4, 0x55
shufps xmm4, xmm4, 0xaa
movaps xmm12, xmm4
jmp 0x180050ef1
movaps xmm1, xmm10
movaps xmm11, xmm1
shufps xmm11, xmm1, 0x55
shufps xmm1, xmm1, 0xaa
movaps xmm12, xmm1
lea rax, [rsp + 0x84]
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x28], rax
movaps xmm3, xmm12
lea rax, [rsp + 0x80]
movaps xmm2, xmm11
movaps xmm1, xmm10
mov qword [rsp + 0x20], rax
movabs rcx, 0x34e82f05df2974f5
xorps xmm9, xmm9
call fcn.180014930
movss xmm1, dword [rsp + 0x84]
movss xmm8, dword [rsp + 0x80]
movd xmm0, dword [0x1802eaca0]
cvtdq2ps xmm0, xmm0
mulss xmm8, xmm0
movd xmm0, dword [0x1802eaca4]
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x80], xmm8
mulss xmm1, xmm0
cvtps2pd xmm0, xmm1
movss dword [rsp + 0x84], xmm1
cvtps2pd xmm1, xmm14
subsd xmm0, xmm1
movsd xmm1, qword [0x18014bb00]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [0x18014bb00]
movaps xmm7, xmm0
cvtps2pd xmm0, xmm8
cvtps2pd xmm2, xmm13
subsd xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm14, xmmword [rsp + 0x90]
addsd xmm7, xmm0
movaps xmm13, xmmword [rsp + 0xa0]
xorps xmm0, xmm0
movaps xmm8, xmmword [rsp + 0xf0]
xorps xmm1, xmm1
cvtsd2ss xmm0, xmm7
ucomiss xmm1, xmm0
ja 0x180050fe6
xorps xmm1, xmm1
sqrtss xmm1, xmm0
jmp 0x180050fee
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm1, xmm0
mov ecx, dword [0x1802eacec]
test ecx, ecx
je 0x1800511ce
sub ecx, 1
je 0x180051193
cmp ecx, 1
jne 0x18005113f
mov eax, dword [reloc.WS2_32.dll_ioctlsocket]
lea ecx, [rax + rax*4]
add ecx, ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x18005113f
mov rax, qword [0x1802eac28]
mov rcx, qword [rax]
test rcx, rcx
je 0x18005113f
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x18005113f
mov rax, qword [0x1802eac58]
mov rcx, qword [rax + rdx]
test rcx, rcx
je 0x18005113f
mov rax, qword [rcx + 0x20]
test rax, rax
je 0x18005113f
mov qword [rsp + 0x120], rdi
mov rdi, qword [rax + 0x10]
call fcn.18004f6c0
test rax, rax
jne 0x180051088
xorps xmm6, xmm6
xorps xmm7, xmm7
jmp 0x1800510af
movsd xmm1, qword [rax + 0x90]
movss xmm7, dword [rax + 0x98]
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
movsd qword [rsp + 0x70], xmm1
movaps xmm6, xmm0
movss xmm9, dword [rsp + 0x70]
movabs rcx, 0xd80958fc74e988a6
call fcn.180014430
mov ebx, eax
test eax, eax
je 0x180051137
mov edx, eax
movabs rcx, 0x34616828cd07f1a1
call fcn.1800144d0
test eax, eax
je 0x180051137
movss xmm0, dword [0x18014bb0c]
xor eax, eax
movss dword [rsp + 0x68], xmm0
movaps xmm3, xmm7
mov dword [rsp + 0x60], eax
movaps xmm2, xmm6
mov dword [rsp + 0x58], 1
movaps xmm1, xmm9
mov dword [rsp + 0x50], ebx
movabs rcx, 0x867654cbc7606f2c
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x40], eax
mov eax, dword [reloc.WLDAP32.dll_Ordinal_50]
mov dword [rsp + 0x38], eax
movss dword [rsp + 0x30], xmm7
movss dword [rsp + 0x28], xmm6
movss dword [rsp + 0x20], xmm9
call fcn.1800155c0
mov rdi, qword [rsp + 0x120]
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm9, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0x100]
movaps xmm6, xmmword [rsp + 0x110]
movaps xmm11, xmmword [rsp + 0xc0]
movaps xmm12, xmmword [rsp + 0xb0]
mov rbx, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.180106370
add rsp, 0x128
ret
mov eax, dword [reloc.WS2_32.dll_ioctlsocket]
lea ecx, [rax + rax*4]
add ecx, ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x18005113f
movaps xmm0, xmm10
movss dword [rsp + 0x78], xmm12
unpcklps xmm0, xmm11
lea rcx, [rsp + 0x70]
movsd qword [rsp + 0x70], xmm0
call fcn.180075e00
jmp 0x18005113f
mov rcx, rbx
call fcn.18006f310
jmp 0x18005113f