Function at 0x14003e7f0
Capabilities:
Create thread
Encode data using xor
Generate random numbers using a mersenne twister
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rbp
lea rbp, [rsp - 0x1330]
mov eax, 0x1430
call fcn.140052d60
sub rsp, rax
movaps xmmword [rsp + 0x1420], xmm6
movaps xmmword [rsp + 0x1410], xmm7
movaps xmmword [rsp + 0x1400], xmm8
mov rax, qword [0x140126040]
xor rax, rsp
mov qword [rbp + 0x12f0], rax
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rcx, rax
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x14012a250], eax
lea ecx, [rbx + 1]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x14012a244], eax
lea ecx, [rbx + 8]
call fcn.140051e00
lea rcx, [0x14003e160]
mov qword [rax], rcx
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], ebx
mov r9, rax
lea r8, [0x14003f6b0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14003ecf1
cmp dword [rsp + 0x38], ebx
je 0x14003ece5
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
jne 0x14003ece5
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x30], xmm0
lea ecx, [rbx + 8]
call fcn.140051e00
lea rcx, [0x14003de90]
mov qword [rax], rcx
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], ebx
mov r9, rax
lea r8, [0x14003f6b0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14003ecd5
cmp dword [rsp + 0x38], ebx
je 0x14003ecc9
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
jne 0x14003ecc9
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x30], xmm0
lea ecx, [rbx + 8]
call fcn.140051e00
lea rcx, [0x14003d270]
mov qword [rax], rcx
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], ebx
mov r9, rax
lea r8, [0x14003f6b0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14003ecb9
cmp dword [rsp + 0x38], ebx
je 0x14003ecad
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
jne 0x14003ecad
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x30], xmm0
lea ecx, [rbx + 8]
call fcn.140051e00
lea rcx, [0x14003c800]
mov qword [rax], rcx
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], ebx
mov r9, rax
lea r8, [0x14003f6b0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14003ec9d
cmp dword [rsp + 0x38], ebx
je 0x14003ec91
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
jne 0x14003ec91
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x30], xmm0
cmp byte [0x140126154], al
je 0x14003ec3e
movsd xmm7, qword [0x14011ccf8]
movss xmm8, dword [0x14011cd68]
cmp byte [0x14012caf8], 0
je 0x14003ec1e
mov ecx, dword [0x1401260dc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003ec1e
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x12e4], 0xffffffff
mov dword [rsp + 0x64], eax
mov edx, 1
nop dword [rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x64], eax
inc rdx
cmp rdx, 0x270
jb 0x14003eaa0
mov dword [rsp + 0x60], 0x270
lea rcx, [0x14012b680]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
jne 0x14003ec85
cmp dword [0x14012b6cc], 0x7fffffff
je 0x14003ec6f
mov eax, dword [0x140126120]
mov dword [0x14012a234], eax
movd xmm0, dword [0x14012a240]
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm6, xmm0
movd xmm0, dword [0x14012a254]
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm6, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm6
ja 0x14003eb39
xorps xmm0, xmm0
sqrtsd xmm0, xmm6
jmp 0x14003eb41
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
cvtsd2ss xmm0, xmm0
movaps xmm6, xmm8
minss xmm6, xmm0
lea rcx, [rsp + 0x50]
call fcn.14003c2c0
mov rax, qword [rsp + 0x50]
sub rax, qword [0x14012a248]
cmp rax, 0x4d3f640
jl 0x14003ec11
movaps xmm0, xmm6
mulss xmm0, dword [0x140126148]
mov eax, dword [0x14012a254]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
divss xmm1, xmm6
mulss xmm1, xmm0
mov ecx, dword [0x14012a240]
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
divss xmm2, xmm6
mulss xmm2, xmm0
test eax, eax
jne 0x14003ebac
test ecx, ecx
je 0x14003ebfd
cvttss2si edx, xmm2
cvttss2si ecx, xmm1
call fcn.1400510c0
lea rcx, [rsp + 0x60]
call fcn.14003f3a0
mov ecx, eax
lea rax, [rcx + rcx*2]
test eax, eax
jne 0x14003ebe5
nop dword [rax]
lea rcx, [rsp + 0x60]
call fcn.14003f3a0
mov ecx, eax
lea rax, [rcx + rcx*2]
cmp eax, 1
jb 0x14003ebd0
shr rax, 0x20
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x40]
call fcn.14003ee00
call fcn.140051240
lea rcx, [rsp + 0x30]
call fcn.14003c2c0
mov rcx, qword [rax]
mov qword [0x14012a248], rcx
lea rcx, [0x14012b680]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov qword [rsp + 0x40], 1
lea rcx, [rsp + 0x40]
call fcn.14003ee00
cmp byte [0x140126154], 0
jne 0x14003ea62
xor eax, eax
mov rcx, qword [rbp + 0x12f0]
xor rcx, rsp
call fcn.140051cc0
lea r11, [rsp + 0x1430]
mov rbx, qword [r11 + 0x10]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop rbp
ret
mov dword [0x14012b6cc], 0x7ffffffe
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rsp + 0x38], ebx
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rsp + 0x38], ebx
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rsp + 0x38], ebx
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rsp + 0x38], ebx
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3