Function at 0x1400449c0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
push rbx
push rsi
push rdi
mov eax, 0x13d0
call fcn.140052e60
sub rsp, rax
mov rax, qword [0x140064040]
xor rax, rsp
mov qword [rsp + 0x13c0], rax
mov rax, qword gs:[0x58]
mov edi, edx
mov ebx, ecx
mov edx, 4
mov esi, r8d
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x140064978], eax
jle 0x140044a4b
lea rcx, [0x140064978]
call fcn.140052140
cmp dword [0x140064978], 0xffffffff
jne 0x140044a4b
lea rcx, str.user32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.mouse_event
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x140064978]
mov qword [0x140064958], rax
call fcn.1400520d4
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rsp + 0x13b4], 0xffffffff
mov edx, 1
mov dword [rsp + 0x34], eax
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x34], eax
inc rdx
cmp rdx, 0x270
jb 0x140044a70
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x30], 0x270
call fcn.140051d90
mov ecx, eax
mov eax, 0x80000000
add rcx, rcx
shr rcx, 0x20
add eax, ecx
cmp ebx, 2
jne 0x140044ad0
add eax, 0x80000000
jne 0x140044ad0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.mouse_event_n
call fcn.140050510
xor r9d, r9d
mov qword [rsp + 0x20], 0
mov r8d, esi
mov edx, edi
mov ecx, ebx
call qword [0x140064958]
mov rcx, qword [rsp + 0x13c0]
xor rcx, rsp
call fcn.140051f30
add rsp, 0x13d0
pop rdi
pop rsi
pop rbx
ret

Function at 0x140044b10
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
push rbx
mov eax, 0x13c0
call fcn.140052e60
sub rsp, rax
mov rax, qword [0x140064040]
xor rax, rsp
mov qword [rsp + 0x13b0], rax
mov rax, qword gs:[0x58]
mov ebx, ecx
mov edx, 4
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x140064950], eax
jle 0x140044b94
lea rcx, [0x140064950]
call fcn.140052140
cmp dword [0x140064950], 0xffffffff
jne 0x140044b94
lea rcx, str.user32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [0x14005b4f8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x140064950]
mov qword [0x140064970], rax
call fcn.1400520d4
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rsp + 0x13a4], 0xffffffff
mov edx, 1
mov dword [rsp + 0x24], eax
nop
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x24], eax
inc rdx
cmp rdx, 0x270
jb 0x140044bb0
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x270
call fcn.140051d90
mov edx, eax
mov eax, 0x80000000
add rdx, rdx
shr rdx, 0x20
add eax, edx
cmp ebx, 0x10
jne 0x140044c10
add eax, 0x80000000
jne 0x140044c10
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.GetAsyncKeyState_n
call fcn.140050510
mov ecx, ebx
call qword [0x140064970]
mov rcx, qword [rsp + 0x13b0]
xor rcx, rsp
call fcn.140051f30
add rsp, 0x13c0
pop rbx
ret