Function at 0x180051860
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x58
cmp byte [0x1802ead0c], 0
je 0x180051c49
mov rax, qword [0x1802eac28]
mov rcx, qword [rax]
test rcx, rcx
je 0x180051c49
mov qword [rsp + 0x78], rdi
mov rdi, qword [rcx + 8]
test rdi, rdi
je 0x180051c44
mov rdi, qword [rdi + 0xd30]
test rdi, rdi
je 0x180051c44
mov qword [rsp + 0x60], rbx
movabs rbx, 0xd80958fc74e988a6
mov rcx, rbx
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x70], rsi
call fcn.180014430
mov edx, eax
movabs rcx, 0x814fa8be5449445d
mov esi, eax
call fcn.1800144d0
mov rcx, rbx
mov ebp, eax
call fcn.180014430
mov r8d, 1
mov edx, eax
movabs rcx, 0x9a9112a0fe9a4713
call fcn.1800145a0
cmp byte [0x1802ead10], 0
mov ebx, eax
je 0x18005191d
mov r8d, 1
mov edx, ebp
movabs rcx, 0xb664292eaecf7fa6
call fcn.180014dc0
cmp byte [0x1802ead11], 0
je 0x180051948
mov r9d, 1
mov dword [rsp + 0x20], 0
mov r8d, r9d
mov edx, ebx
movabs rcx, 0x2497c4717c8b881e
call fcn.180014fc0
cmp byte [0x1802ead12], 0
je 0x18005196b
mov r9d, 0xffffffff
mov r8d, ebp
mov edx, esi
movabs rcx, 0xf75b0d629e1c063d
call fcn.180014eb0
cmp byte [0x1802ead0e], 0
je 0x180051a56
mov r8d, 1
mov qword [rsp + 0x50], r14
mov edx, ebx
movabs rcx, 0x3882114bde571ad4
call fcn.180014dc0
mov dword [rsp + 0x48], 1
mov r9d, 1
mov dword [rsp + 0x40], 1
mov r8d, r9d
mov dword [rsp + 0x38], 1
mov edx, ebx
mov dword [rsp + 0x30], 1
movabs rcx, 0xfaee099c6f890bb8
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 1
call fcn.1800150e0
movabs r14, 0xeb9dc3c7d8596c46
xor r8d, r8d
mov rcx, r14
mov edx, ebx
call fcn.180014dc0
movabs rbp, 0x29b18b4fd460ca8f
xor r8d, r8d
mov rcx, rbp
mov edx, ebx
call fcn.180014dc0
xor r8d, r8d
mov edx, ebx
movabs rcx, 0x4c7028f78ffd3681
call fcn.180014dc0
xor r8d, r8d
mov edx, ebx
mov rcx, r14
call fcn.180014dc0
xor r8d, r8d
mov edx, ebx
mov rcx, rbp
call fcn.180014dc0
mov r8d, 1
mov edx, ebx
movabs rcx, 0x92f0cf722bc4202f
call fcn.180014dc0
mov r14, qword [rsp + 0x50]
xor r8d, r8d
mov edx, esi
movabs rcx, 0x997abd671d25ca0b
call fcn.1800145a0
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x68]
test eax, eax
je 0x180051c38
cmp byte [0x1802ead13], 0
mov byte [0x1802ead1d], 1
je 0x180051b19
mov edx, ebx
mov dword [rdi + 0x908], 0x447a0000
movabs rcx, 0x953da1e1b12c0491
mov dword [rdi + 0x840], 0x447a0000
call fcn.180014cf0
movss xmm2, dword [0x18014bbbc]
mov edx, ebx
movabs rcx, 0x45f6d8eef34abef1
call fcn.1800153d0
movss xmm2, dword [0x18014bbbc]
mov edx, ebx
movabs rcx, 0xb77d05ac8c78aadb
call fcn.1800153d0
mov r8d, 1
mov edx, ebx
movabs rcx, 0x6e13fc662b882d1d
call fcn.180014dc0
xor r8d, r8d
mov edx, ebx
movabs rcx, 0x2970eaa18fd5e42f
call fcn.180014dc0
mov byte [0x1802ead13], 0
cmp byte [0x1802ead1c], 0
je 0x180051b50
mov r9d, dword [0x1802ead2c]
mov edx, ebx
mov r8d, dword [0x1802ead20]
movabs rcx, 0x6af0636ddedcb6dd
mov dword [rsp + 0x20], 0
call fcn.180014fc0
mov byte [0x1802ead1c], 0
cmp byte [0x1802ead15], 0
mov rax, qword [rdi + 0x938]
je 0x180051b77
test rax, rax
je 0x180051b83
movd xmm0, dword [0x1802ead18]
cvtdq2ps xmm0, xmm0
movss dword [rax + 0x4c], xmm0
jmp 0x180051b83
test rax, rax
je 0x180051b83
mov dword [rax + 0x4c], 0x3f800000
cmp byte [0x1802ead14], 0
je 0x180051bbf
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rcx, qword [rdi + 0x938]
test ax, ax
jns 0x180051bb1
test rcx, rcx
je 0x180051bd2
mov dword [rcx + 0x4c], 0x47c35000
jmp 0x180051bd2
test rcx, rcx
je 0x180051bd2
mov dword [rcx + 0x4c], 0x3f800000
jmp 0x180051bd2
mov rax, qword [rdi + 0x938]
test rax, rax
je 0x180051bd2
mov dword [rax + 0x4c], 0x3f800000
cmp byte [0x1802ead38], 0
je 0x180051c01
mov r9d, dword [0x1802ead28]
mov edx, ebx
mov r8d, dword [0x1802ead24]
movabs rcx, 0x4f1d4be3a7f24601
call fcn.180014eb0
mov byte [0x1802ead38], 0
cmp byte [0x1802ead39], 0
je 0x180051c3f
lea r8, [0x1802ead30]
mov edx, ebx
movabs rcx, 0x95a88f0b409cda47
call fcn.1800154d0
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x78]
mov byte [0x1802ead39], 0
add rsp, 0x58
ret
mov byte [0x1802ead1d], 0
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x78]
add rsp, 0x58
ret