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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1360]
mov eax, 0x1460
call fcn.1400a5600
sub rsp, rax
movaps xmmword [rsp + 0x1450], xmm6
movaps xmmword [rsp + 0x1440], xmm7
movaps xmmword [rsp + 0x1430], xmm8
movaps xmmword [rsp + 0x1420], xmm9
movaps xmmword [rsp + 0x1410], xmm10
mov rax, qword [0x1400cb060]
xor rax, rsp
mov qword [rbp + 0x1300], rax
mov r12, rdx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rdx
xor r8d, r8d
mov qword [rcx], r8
mov qword [rcx + 8], r8
mov qword [rcx + 0x10], r8
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x58], xmm1
mov qword [rsp + 0x68], r8
mov r13d, r8d
mov rsi, qword [rsp + 0x60]
movabs rdx, 0x2aaaaaaaaaaaaaab
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
mov r14, r8
mov qword [rsp + 0x50], r8
mov rcx, rsi
sub rcx, qword [rsp + 0x58]
mov rax, rdx
imul rcx
mov rbx, rdx
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
mov rcx, qword [r12]
mov rax, qword [r12 + 8]
sub rax, rcx
mov edx, ebx
mov rdi, qword [rsp + 0x48]
cmp rdx, rax
jae 0x14004127e
nop
lea r8, [rdx + rcx]
cmp rdi, r14
je 0x140041249
movzx eax, byte [r8]
mov byte [rdi], al
inc rdi
mov qword [rsp + 0x48], rdi
jmp 0x140041260
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.140044100
mov r14, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
add ebx, 5
mov rcx, qword [r12]
mov rax, qword [r12 + 8]
sub rax, rcx
mov edx, ebx
cmp rdx, rax
jb 0x140041230
mov rsi, qword [rsp + 0x60]
xor r8d, r8d
cmp rsi, qword [rsp + 0x68]
je 0x1400412d1
mov qword [rsi], r8
mov qword [rsi + 8], r8
mov qword [rsi + 0x10], r8
mov r15, qword [rsp + 0x40]
cmp r15, rdi
je 0x1400412c1
sub rdi, r15
mov rdx, rdi
mov rcx, rsi
call fcn.140043860
mov rbx, qword [rsi]
mov r8, rdi
mov rdx, r15
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rax, [rdi + rbx]
mov qword [rsi + 8], rax
mov rsi, qword [rsp + 0x60]
add rsi, 0x18
mov qword [rsp + 0x60], rsi
jmp 0x1400412f2
lea r8, [rsp + 0x40]
mov rdx, rsi
lea rcx, [rsp + 0x58]
call fcn.140043b70
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x50]
mov r15, qword [rsp + 0x40]
test r15, r15
je 0x14004132b
sub r14, r15
mov rax, r15
cmp r14, 0x1000
jb 0x14004131b
add r14, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004133c
mov rdx, r14
mov rcx, r15
call fcn.1400a4ab0
mov rsi, qword [rsp + 0x60]
inc r13d
cmp r13d, 5
jae 0x140041343
xor r8d, r8d
jmp 0x1400411dc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov r14, qword [rsp + 0x58]
cmp r14, rsi
je 0x140041511
movss xmm7, dword [0x1400bbcf0]
movss xmm9, dword [0x1400bbc8c]
xorps xmm6, xmm6
movss xmm10, dword [0x1400bbc24]
mov r12, qword [rsp + 0x20]
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r14 + 8]
sub rax, qword [r14]
lea r13d, [rax + rax]
mov ecx, r13d
call fcn.1400a52e4
mov r15, rax
mov r8d, r13d
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov ecx, r13d
call fcn.1400a52e4
mov rbx, rax
mov r8d, r13d
mov rdx, rax
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rbx
call fcn.1400a4ab0
mov rbx, qword [r14 + 8]
sub rbx, qword [r14]
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
mov dword [rbp + 0x12f4], 0xffffffff
mov dword [rsp + 0x74], eax
mov edi, 1
mov ecx, edi
nop dword [rax + rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rsp + rcx*4 + 0x74], edx
inc rcx
cmp rcx, 0x270
jb 0x1400413f0
mov dword [rsp + 0x70], 0x270
mov eax, ebx
xorps xmm8, xmm8
cvtsi2ss xmm8, rax
movaps xmm0, xmm7
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_log2f]
movaps xmm1, xmm9
divss xmm1, xmm0
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
cvttss2si eax, xmm0
cmp eax, edi
cmovl eax, edi
movaps xmm2, xmm6
movaps xmm1, xmm10
test eax, eax
jle 0x14004147a
mov ebx, eax
lea rcx, [rsp + 0x70]
call fcn.140044470
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm0, xmm6
mulss xmm0, xmm1
addss xmm2, xmm0
mulss xmm1, xmm7
sub rbx, rdi
jne 0x140041451
divss xmm2, xmm1
movaps xmm0, xmm6
subss xmm0, xmm8
mulss xmm2, xmm0
addss xmm2, xmm8
cvttss2si rbx, xmm2
mov rdx, qword [r14]
mov r8, qword [r14 + 8]
sub r8, rdx
mov ecx, ebx
add rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x48], r13d
mov dword [rsp + 0x4c], ebx
mov rax, qword [r14 + 8]
sub rax, qword [r14]
mov dword [rsp + 0x50], eax
mov rdx, qword [r12 + 8]
cmp rdx, qword [r12 + 0x10]
je 0x1400414e8
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rdx], xmm0
movsd xmm1, qword [rsp + 0x50]
movsd qword [rdx + 0x10], xmm1
add qword [r12 + 8], 0x18
jmp 0x1400414f5
lea r8, [rsp + 0x40]
mov rcx, r12
call fcn.140043ee0
add r14, 0x18
cmp r14, rsi
jne 0x140041380
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x58]
mov r12, qword [rsp + 0x28]
test r14, r14
je 0x140041582
mov rdx, rsi
mov rcx, r14
call fcn.140044270
mov rcx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x58]
sub rcx, r8
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, r8
cmp rdx, 0x1000
jb 0x140041579
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140041579
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.1400a4ab0
nop
mov rcx, qword [r12]
test rcx, rcx
je 0x1400415c9
mov rdx, qword [r12 + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1400415b4
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140041611
mov rcx, r8
call fcn.1400a4ab0
xor ecx, ecx
mov qword [r12], rcx
mov qword [r12 + 8], rcx
mov qword [r12 + 0x10], rcx
mov rax, qword [rsp + 0x20]
mov rcx, qword [rbp + 0x1300]
xor rcx, rsp
call fcn.1400a49c0
lea r11, [rsp + 0x1460]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3