Function at 0x1400031f0
Capabilities:
Create thread
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x60
movaps xmmword [rsp + 0x50], xmm6
mov rax, qword [0x140009008]
xor rax, rsp
mov qword [rsp + 0x48], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0x100
call qword [sym.imp.KERNEL32.dll_SetPriorityClass]
xor eax, eax
lea r8, [0x140002ec0]
mov qword [rsp + 0x28], rax
xor r9d, r9d
xor edx, edx
mov dword [rsp + 0x20], eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Spark.WTF
call fcn.140003f80
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
lea rdx, [0x1400097b8]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::operator___float____ptr64____ptr64]
call fcn.140001ee0
movsd xmm6, qword [0x140006718]
movabs rbp, 0x311cdad160000
movabs r12, 0x7ffffffffff0bdbe
movabs r15, 0x7fffffffffffffff
movabs r14, 0x112e0be826d694b3
mov ecx, 0x60
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400033cb
cmp byte [0x1400097b2], 0
sete al
mov byte [0x1400097b2], al
cmp al, 1
jne 0x14000331e
mov r8d, 4
lea rdx, str.AK47
lea rcx, [0x140009078]
call fcn.140001d80
mov byte [0x1400097b5], 0
mov byte [0x1400097bf], 0
mov byte [0x1400097b7], 0
mov byte [0x1400097bd], 0
mov byte [0x1400097bc], 0
mov byte [0x1400097b3], 0
jmp 0x140003389
test al, al
jne 0x140003389
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x140009078]
call fcn.140001d80
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x140009058]
call fcn.140001d80
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x1400090f0]
call fcn.140001d80
mov byte [0x1400097b6], 0
mov byte [0x1400097b4], 0
mov byte [0x1400097b1], 0
mov byte [0x1400097b0], 0
call fcn.140001ee0
cmp byte [0x1400097b2], 1
jne 0x1400033a7
cmp byte [0x140009048], 1
jne 0x1400033c0
mov ecx, 0x4b0
jmp 0x1400033b5
cmp byte [0x140009048], 1
jne 0x1400033c0
mov ecx, 0x320
mov edx, 0x64
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x78
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x61
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400034e5
cmp byte [0x1400097b5], 0
sete al
mov byte [0x1400097b5], al
cmp al, 1
jne 0x140003438
mov r8d, 5
lea rdx, str.LR300
lea rcx, [0x140009078]
call fcn.140001d80
mov byte [0x1400097bf], 0
mov byte [0x1400097b7], 0
mov byte [0x1400097bd], 0
mov byte [0x1400097bc], 0
mov byte [0x1400097b3], 0
mov byte [0x1400097b2], 0
jmp 0x1400034a3
test al, al
jne 0x1400034a3
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x140009078]
call fcn.140001d80
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x140009058]
call fcn.140001d80
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x1400090f0]
call fcn.140001d80
mov byte [0x1400097b6], 0
mov byte [0x1400097b4], 0
mov byte [0x1400097b1], 0
mov byte [0x1400097b0], 0
call fcn.140001ee0
cmp byte [0x1400097b5], 1
jne 0x1400034c1
cmp byte [0x140009048], 1
jne 0x1400034da
mov ecx, 0x4b0
jmp 0x1400034cf
cmp byte [0x140009048], 1
jne 0x1400034da
mov ecx, 0x320
mov edx, 0x64
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x78
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x62
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400035ff
cmp byte [0x1400097bf], 0
sete al
mov byte [0x1400097bf], al
cmp al, 1
jne 0x140003552
mov r8d, 5
lea rdx, str.MP5A4
lea rcx, [0x140009078]
call fcn.140001d80
mov byte [0x1400097b5], 0
mov byte [0x1400097b7], 0
mov byte [0x1400097bd], 0
mov byte [0x1400097bc], 0
mov byte [0x1400097b3], 0
mov byte [0x1400097b2], 0
jmp 0x1400035bd
test al, al
jne 0x1400035bd
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x140009078]
call fcn.140001d80
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x140009058]
call fcn.140001d80
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x1400090f0]
call fcn.140001d80
mov byte [0x1400097b6], 0
mov byte [0x1400097b4], 0
mov byte [0x1400097b1], 0
mov byte [0x1400097b0], 0
call fcn.140001ee0
cmp byte [0x1400097bf], 1
jne 0x1400035db
cmp byte [0x140009048], 1
jne 0x1400035f4
mov ecx, 0x4b0
jmp 0x1400035e9
cmp byte [0x140009048], 1
jne 0x1400035f4
mov ecx, 0x320
mov edx, 0x64
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x78
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x63
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140003719
cmp byte [0x1400097b7], 0
sete al
mov byte [0x1400097b7], al
cmp al, 1
jne 0x14000366c
mov r8d, 0xa
lea rdx, str.CUSTOM_SMG
lea rcx, [0x140009078]
call fcn.140001d80
mov byte [0x1400097b5], 0
mov byte [0x1400097bf], 0
mov byte [0x1400097bd], 0
mov byte [0x1400097bc], 0
mov byte [0x1400097b3], 0
mov byte [0x1400097b2], 0
jmp 0x1400036d7
test al, al
jne 0x1400036d7
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x140009078]
call fcn.140001d80
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x140009058]
call fcn.140001d80
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x1400090f0]
call fcn.140001d80
mov byte [0x1400097b6], 0
mov byte [0x1400097b4], 0
mov byte [0x1400097b1], 0
mov byte [0x1400097b0], 0
call fcn.140001ee0
cmp byte [0x1400097b7], 1
jne 0x1400036f5
cmp byte [0x140009048], 1
jne 0x14000370e
mov ecx, 0x4b0
jmp 0x140003703
cmp byte [0x140009048], 1
jne 0x14000370e
mov ecx, 0x320
mov edx, 0x64
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x78
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x66
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140003833
cmp byte [0x1400097bd], 0
sete al
mov byte [0x1400097bd], al
cmp al, 1
jne 0x140003786
mov r8d, 8
lea rdx, str.THOMPSON
lea rcx, [0x140009078]
call fcn.140001d80
mov byte [0x1400097b5], 0
mov byte [0x1400097bf], 0
mov byte [0x1400097b7], 0
mov byte [0x1400097bc], 0
mov byte [0x1400097b3], 0
mov byte [0x1400097b2], 0
jmp 0x1400037f1
test al, al
jne 0x1400037f1
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x140009078]
call fcn.140001d80
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x140009058]
call fcn.140001d80
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x1400090f0]
call fcn.140001d80
mov byte [0x1400097b6], 0
mov byte [0x1400097b4], 0
mov byte [0x1400097b1], 0
mov byte [0x1400097b0], 0
call fcn.140001ee0
cmp byte [0x1400097bd], 1
jne 0x14000380f
cmp byte [0x140009048], 1
jne 0x140003828
mov ecx, 0x4b0
jmp 0x14000381d
cmp byte [0x140009048], 1
jne 0x140003828
mov ecx, 0x320
mov edx, 0x64
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x78
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x6a
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14000394d
cmp byte [0x1400097bc], 0
sete al
mov byte [0x1400097bc], al
cmp al, 1
jne 0x1400038a0
mov r8d, 0xf
lea rdx, str.SEMI_AUTO_RIFLE
lea rcx, [0x140009078]
call fcn.140001d80
mov byte [0x1400097b5], 0
mov byte [0x1400097bf], 0
mov byte [0x1400097b7], 0
mov byte [0x1400097bd], 0
mov byte [0x1400097b3], 0
mov byte [0x1400097b2], 0
jmp 0x14000390b
test al, al
jne 0x14000390b
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x140009078]
call fcn.140001d80
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x140009058]
call fcn.140001d80
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x1400090f0]
call fcn.140001d80
mov byte [0x1400097b6], 0
mov byte [0x1400097b4], 0
mov byte [0x1400097b1], 0
mov byte [0x1400097b0], 0
call fcn.140001ee0
cmp byte [0x1400097bc], 1
jne 0x140003929
cmp byte [0x140009048], 1
jne 0x140003942
mov ecx, 0x4b0
jmp 0x140003937
cmp byte [0x140009048], 1
jne 0x140003942
mov ecx, 0x320
mov edx, 0x64
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x78
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x6f
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140003a67
cmp byte [0x1400097b3], 0
sete al
mov byte [0x1400097b3], al
cmp al, 1
jne 0x1400039ba
mov r8d, 4
lea rdx, str.M249
lea rcx, [0x140009078]
call fcn.140001d80
mov byte [0x1400097b5], 0
mov byte [0x1400097bf], 0
mov byte [0x1400097b7], 0
mov byte [0x1400097bd], 0
mov byte [0x1400097bc], 0
mov byte [0x1400097b2], 0
jmp 0x140003a25
test al, al
jne 0x140003a25
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x140009078]
call fcn.140001d80
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x140009058]
call fcn.140001d80
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x1400090f0]
call fcn.140001d80
mov byte [0x1400097b6], 0
mov byte [0x1400097b4], 0
mov byte [0x1400097b1], 0
mov byte [0x1400097b0], 0
call fcn.140001ee0
cmp byte [0x1400097b3], 1
jne 0x140003a43
cmp byte [0x140009048], 1
jne 0x140003a5c
mov ecx, 0x4b0
jmp 0x140003a51
cmp byte [0x140009048], 1
jne 0x140003a5c
mov ecx, 0x320
mov edx, 0x64
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x78
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x65
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140003b19
cmp byte [0x1400097b6], 0
sete al
mov byte [0x1400097b6], al
movzx ecx, al
test al, al
je 0x140003abe
cmp ecx, 1
jne 0x140003ad7
lea r8d, [rcx + 1]
lea rcx, [0x140009058]
lea rdx, [0x140006640]
call fcn.140001d80
mov byte [0x1400097b4], 0
mov byte [0x1400097b1], 0
jmp 0x140003ad7
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x140009058]
call fcn.140001d80
call fcn.140001ee0
cmp byte [0x1400097b6], 1
jne 0x140003af5
cmp byte [0x140009048], 1
jne 0x140003b0e
mov ecx, 0x4b0
jmp 0x140003b03
cmp byte [0x140009048], 1
jne 0x140003b0e
mov ecx, 0x320
mov edx, 0x64
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x78
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x67
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140003bc9
cmp byte [0x1400097b1], 0
sete al
mov byte [0x1400097b1], al
cmp al, 1
jne 0x140003b6a
mov r8d, 6
lea rdx, str.SIMPLE
lea rcx, [0x140009058]
call fcn.140001d80
mov byte [0x1400097b6], 0
mov byte [0x1400097b4], 0
jmp 0x140003b87
test al, al
jne 0x140003b87
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x140009058]
call fcn.140001d80
call fcn.140001ee0
cmp byte [0x1400097b1], 1
jne 0x140003ba5
cmp byte [0x140009048], 1
jne 0x140003bbe
mov ecx, 0x4b0
jmp 0x140003bb3
cmp byte [0x140009048], 1
jne 0x140003bbe
mov ecx, 0x320
mov edx, 0x64
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x78
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x64
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140003c79
cmp byte [0x1400097b4], 0
sete al
mov byte [0x1400097b4], al
cmp al, 1
jne 0x140003c1a
mov r8d, 4
lea rdx, str.HOLO
lea rcx, [0x140009058]
call fcn.140001d80
mov byte [0x1400097b6], 0
mov byte [0x1400097b1], 0
jmp 0x140003c37
test al, al
jne 0x140003c37
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x140009058]
call fcn.140001d80
call fcn.140001ee0
cmp byte [0x1400097b4], 1
jne 0x140003c55
cmp byte [0x140009048], 1
jne 0x140003c6e
mov ecx, 0x4b0
jmp 0x140003c63
cmp byte [0x140009048], 1
jne 0x140003c6e
mov ecx, 0x320
mov edx, 0x64
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x78
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x69
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140003d22
cmp byte [0x1400097b0], 0
sete al
mov byte [0x1400097b0], al
cmp al, 1
jne 0x140003cc3
mov r8d, 8
lea rdx, str.SILENCER
lea rcx, [0x1400090f0]
call fcn.140001d80
mov byte [0x1400097be], 0
jmp 0x140003ce0
test al, al
jne 0x140003ce0
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x1400090f0]
call fcn.140001d80
call fcn.140001ee0
cmp byte [0x1400097b0], 1
jne 0x140003cfe
cmp byte [0x140009048], 1
jne 0x140003d17
mov ecx, 0x4b0
jmp 0x140003d0c
cmp byte [0x140009048], 1
jne 0x140003d17
mov ecx, 0x320
mov edx, 0x64
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x78
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x68
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140003dcb
cmp byte [0x1400097be], 0
sete al
mov byte [0x1400097be], al
cmp al, 1
jne 0x140003d6c
mov r8d, 5
lea rdx, str.Boost
lea rcx, [0x1400090f0]
call fcn.140001d80
mov byte [0x1400097b0], 0
jmp 0x140003d89
test al, al
jne 0x140003d89
mov r8d, 4
lea rdx, str.NONE
lea rcx, [0x1400090f0]
call fcn.140001d80
call fcn.140001ee0
cmp byte [0x1400097be], 1
jne 0x140003da7
cmp byte [0x140009048], 1
jne 0x140003dc0
mov ecx, 0x4b0
jmp 0x140003db5
cmp byte [0x140009048], 1
jne 0x140003dc0
mov ecx, 0x320
mov edx, 0x64
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x78
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x6b
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140003e44
cmp byte [0x140009048], 0
sete al
mov byte [0x140009048], al
cmp al, 1
jne 0x140003dfe
mov r8d, 2
lea rdx, [0x140006484]
jmp 0x140003e0f
test al, al
jne 0x140003e1b
mov r8d, 3
lea rdx, [0x14000666c]
lea rcx, [0x140009098]
call fcn.140001d80
call fcn.140001ee0
cmp byte [0x140009048], 1
jne 0x140003e39
mov ecx, 0x4b0
mov edx, 0x64
call qword [sym.imp.KERNEL32.dll_Beep]
mov ecx, 0x78
call qword [sym.imp.KERNEL32.dll_Sleep]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
mov r8, rax
cmp rbx, 0x989680
jne 0x140003e65
imul rcx, r8, 0x64
jmp 0x140003e8b
cqo
idiv rbx
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
mov rcx, rax
mov rax, r8
cqo
idiv rbx
imul rdx, rax, 0x3b9aca00
add rcx, rdx
lea rsi, [rcx + 0xf4240]
cmp rcx, r12
jle 0x140003ea0
mov rsi, r15
nop word [rax + rax]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
mov rcx, rax
cmp rdi, 0x989680
jne 0x140003ec1
imul rbx, rcx, 0x64
jmp 0x140003ee7
cqo
idiv rdi
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
mov rbx, rax
mov rax, rcx
cqo
idiv rdi
imul rcx, rax, 0x3b9aca00
add rbx, rcx
cmp rsi, rbx
je 0x1400032b1
jl 0x1400032b1
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
imul rcx, rax, 0x64
xorps xmm0, xmm0
mov rax, rsi
sub rax, rbx
cvtsi2sd xmm0, rax
comisd xmm0, xmm6
jbe 0x140003f1d
lea r8, [rcx + rbp]
mov rax, rbp
jmp 0x140003f21
lea r8, [rax + rcx]
add rcx, rax
mov rax, r14
imul rcx
lea rcx, [rsp + 0x38]
sar rdx, 0x1a
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul eax, edx, 0x3b9aca00
mov qword [rsp + 0x38], rdx
sub r8d, eax
mov dword [rsp + 0x40], r8d
call qword [sym.imp.MSVCP140.dll__Thrd_sleep]
jmp 0x140003ea0