Function at 0x180047c20
Capabilities:
Hash data using fnv
Log keystrokes via polling

Disassembly:
xor eax, eax
movabs rdx, 0x953da1e1b12c0491
mov dword [0x1801bde78], eax
mov dword [0x1801bde88], eax
mov rax, qword [0x1801bde80]
mov dword [rax], ecx
inc dword [0x1801bde78]
jmp fcn.1800325a0
push rbx
sub rsp, 0x40
cmp byte [0x1801cef5e], 0
je 0x180047d8b
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rdi
call fcn.180007bb0
mov ecx, eax
xor edx, edx
call fcn.180007a40
mov esi, eax
call fcn.180047920
mov edi, eax
call fcn.180047920
mov ebx, eax
call fcn.180047920
mov r9d, edi
mov r8d, ebx
mov edx, eax
mov ecx, esi
call fcn.180043c10
mov edx, dword [0x1801bde58]
mov r9d, dword [0x1801bde60]
mov rdi, qword [rsp + 0x58]
test edx, edx
jle 0x180047ca5
test r9d, r9d
jne 0x180047ca5
mov r8d, dword [0x1801bde5c]
dec edx
inc r8d
mov dword [0x1801bde58], edx
mov dword [0x1801bde5c], r8d
jmp 0x180047cac
mov r8d, dword [0x1801bde5c]
test r8d, r8d
jle 0x180047cc9
test edx, edx
jne 0x180047cc9
dec r8d
inc r9d
mov dword [0x1801bde5c], r8d
mov dword [0x1801bde60], r9d
test r9d, r9d
jle 0x180047ce5
test r8d, r8d
jne 0x180047ce5
inc edx
dec r9d
mov dword [0x1801bde58], edx
mov dword [0x1801bde60], r9d
mov ecx, esi
call fcn.1800437e0
mov r9d, dword [0x1801bde60]
mov ecx, esi
mov r8d, dword [0x1801bde5c]
mov edx, dword [0x1801bde58]
call fcn.180043860
mov ecx, esi
call fcn.180043d80
xor edx, edx
mov ecx, esi
call fcn.180043d10
mov edx, 1
mov ecx, esi
call fcn.180043d10
mov edx, 2
mov ecx, esi
call fcn.180043d10
mov edx, 3
mov ecx, esi
call fcn.180043d10
mov edx, 4
mov ecx, esi
call fcn.180043d10
mov edx, 5
mov ecx, esi
call fcn.180043d10
mov edx, 6
mov ecx, esi
call fcn.180043d10
mov edx, 7
mov ecx, esi
call fcn.180043d10
mov r9d, dword [0x1801bde60]
mov ecx, esi
mov r8d, dword [0x1801bde5c]
mov edx, dword [0x1801bde58]
call fcn.180043c90
mov rsi, qword [rsp + 0x50]
cmp byte [0x1801cef5f], 0
je 0x180047ddc
call fcn.1800142e0
mov ecx, eax
call fcn.180047980
test eax, eax
je 0x180047ddc
call fcn.1800142e0
mov ecx, eax
call fcn.180007b70
mov ecx, eax
xor edx, edx
call fcn.180007a40
mov ecx, eax
mov ebx, eax
call fcn.1800173c0
mov ecx, ebx
call fcn.180017400
test eax, eax
je 0x180047ddc
movss xmm1, dword [0x1801a080c]
mov ecx, ebx
call fcn.1800479c0
cmp byte [0x1801cf0b5], 0
je 0x180047e49
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x180047e49
call fcn.1800142e0
mov ecx, eax
call fcn.180007b70
mov ecx, eax
xor edx, edx
call fcn.180007a40
mov ecx, eax
mov ebx, eax
call fcn.1800173c0
mov ecx, ebx
call fcn.180017400
test eax, eax
je 0x180047e49
mov ecx, ebx
call fcn.1800478e0
ucomiss xmm0, dword [0x1801a0b74]
je 0x180047e49
mov ecx, ebx
call fcn.1800478e0
addss xmm0, dword [0x1801a03b0]
mov ecx, ebx
movaps xmm1, xmm0
call fcn.1800479c0
cmp byte [0x1801cf0b6], 0
je 0x180047e9a
call fcn.180007bb0
mov ecx, eax
xor edx, edx
call fcn.180007a40
movzx edx, byte [0x1801cf0b6]
mov ecx, eax
mov ebx, eax
call fcn.180016ec0
mov ecx, ebx
call fcn.180047a60
mov ecx, ebx
call fcn.180047a10
mov ecx, ebx
call fcn.180043a80
mov ecx, ebx
call fcn.180047bd0
mov ecx, ebx
call fcn.180047b30
mov ecx, ebx
call fcn.180047b80
cmp byte [0x1801cf0b7], 0
je 0x180047ec6
call fcn.180007bb0
mov ecx, eax
xor edx, edx
call fcn.180007a40
mov ecx, eax
mov ebx, eax
call fcn.180043a80
mov ecx, ebx
add rsp, 0x40
pop rbx
jmp 0x180043ab0
add rsp, 0x40
pop rbx
ret