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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rdi
push r14
sub rsp, 0xf0
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm12
mov rax, qword [0x1401430c0]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov rbp, rdx
movss xmm12, dword [0x140181e28]
movd xmm9, dword [0x14018376c]
cvtdq2pd xmm9, xmm9
mulsd xmm9, qword [0x14012f6f0]
movd xmm10, dword [0x140183770]
cvtdq2pd xmm10, xmm10
mulsd xmm10, qword [0x14012f6f0]
xorps xmm6, xmm6
xorps xmm8, xmm8
xorps xmm7, xmm7
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
lea r14, [0x140183cc0]
mov eax, dword [rcx + rax]
cmp dword [0x140183cbc], eax
jle 0x14004d387
lea rcx, [0x140183cbc]
call fcn.1400c20b0
cmp dword [0x140183cbc], 0xffffffff
jne 0x14004d387
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [0x140185044], 0xffffffff
mov dword [0x140183cc4], eax
mov r8d, 1
nop
mov edx, eax
shr edx, 0x1e
xor edx, eax
imul eax, edx, 0x6c078965
add eax, r8d
mov dword [r14 + r8*4 + 4], eax
inc r8
cmp r8, 0x270
jb 0x14004d350
mov dword [0x140183cc0], 0x270
lea rcx, [0x140183cbc]
call fcn.1400c2044
movsd xmm0, qword [rbp]
mov ebx, 2
movsd xmm5, qword [0x14012fcb0]
movsd xmm4, qword [0x14012f6f8]
movsd xmm3, qword [0x14012f7d8]
ucomisd xmm0, xmm6
jp 0x14004d3b5
je 0x14004d45a
comisd xmm0, xmm10
jbe 0x14004d3cb
movaps xmm8, xmm10
subsd xmm8, xmm0
xorps xmm8, xmm5
jmp 0x14004d3d4
movaps xmm8, xmm0
subsd xmm8, xmm10
xorps xmm0, xmm0
cvtss2sd xmm0, xmm12
divsd xmm8, xmm0
cmp byte [0x1401836db], 0
je 0x14004d43b
movaps xmm1, xmm6
movaps xmm2, xmm4
mov rdi, rbx
mov rcx, r14
call fcn.140058da0
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm6
mulsd xmm0, xmm2
addsd xmm1, xmm0
mulsd xmm2, xmm3
sub rdi, 1
jne 0x14004d3f3
divsd xmm1, xmm2
addsd xmm1, xmm1
subsd xmm1, xmm4
movss xmm0, dword [0x14017b79c]
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm0
addsd xmm8, xmm1
movaps xmm0, xmm8
addsd xmm0, xmm10
addsd xmm10, xmm10
comisd xmm0, xmm10
ja 0x14004d456
comisd xmm6, xmm0
jbe 0x14004d45a
movaps xmm8, xmm6
movsd xmm0, qword [rbp + 8]
ucomisd xmm0, xmm6
jp 0x14004d46b
je 0x14004d506
comisd xmm0, xmm9
jbe 0x14004d47f
movaps xmm7, xmm9
subsd xmm7, xmm0
xorps xmm7, xmm5
jmp 0x14004d487
movaps xmm7, xmm0
subsd xmm7, xmm9
xorps xmm0, xmm0
cvtss2sd xmm0, xmm12
divsd xmm7, xmm0
cmp byte [0x1401836db], 0
je 0x14004d4e9
movaps xmm1, xmm6
movaps xmm2, xmm4
mov rcx, r14
call fcn.140058da0
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm6
mulsd xmm0, xmm2
addsd xmm1, xmm0
mulsd xmm2, xmm3
sub rbx, 1
jne 0x14004d4a2
divsd xmm1, xmm2
addsd xmm1, xmm1
subsd xmm1, xmm4
movss xmm0, dword [0x14017b79c]
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm0
addsd xmm7, xmm1
movaps xmm0, xmm7
addsd xmm0, xmm9
addsd xmm9, xmm9
comisd xmm0, xmm9
ja 0x14004d503
comisd xmm6, xmm0
jbe 0x14004d506
movaps xmm7, xmm6
cmp byte [0x1401836df], 0
je 0x14004d5e2
xorps xmm0, xmm0
cvtss2sd xmm0, xmm12
xorps xmm7, xmm5
divsd xmm7, xmm0
divsd xmm8, xmm0
unpcklpd xmm7, xmm8
movaps xmmword [rsp + 0x40], xmm7
movsd qword [rsp + 0x70], xmm6
movsd qword [rsp + 0x50], xmm6
mov rax, qword [0x140183aa8]
mov rdx, qword [0x14012ded0]
add rdx, qword [rax + 0x20]
lea rdi, [rsp + 0xf8]
mov rbx, qword [rdi]
lea rax, [rsp + 0xf8]
xor ecx, ecx
mov qword [rax], rcx
mov dword [rsp + 0x81], ecx
mov word [rsp + 0x85], cx
mov byte [rsp + 0x87], cl
mov dword [rsp + 0x60], 0x98765432
mov qword [rsp + 0x68], rdx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], Ordinal_27
mov eax, dword [0x140183740]
mov dword [rsp + 0x64], eax
mov byte [rsp + 0x80], 1
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rcx
mov r9d, Ordinal_45
lea r8, [rsp + 0x60]
mov edx, 0x22448c
mov rcx, qword [0x140183738]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov qword [rdi], rbx
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.1400c1d40
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
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]
movaps xmm12, xmmword [r11 - 0x60]
mov rsp, r11
pop r14
ret