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

Disassembly:
push rbp
push rbx
lea rbp, [rsp - 0x1388]
mov eax, 0x1488
call fcn.14006d980
sub rsp, rax
mov rax, qword [0x140083010]
xor rax, rsp
mov qword [rbp + 0x12c0], rax
mov rbx, rcx
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x12b4], 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 0x140003fe0
cmp dword [rbx + 0x1c], 0
mov dword [rsp + 0x30], 0x270
jne 0x1400045fb
mov qword [rsp + 0x14a8], rsi
mov qword [rsp + 0x14b0], rdi
mov qword [rsp + 0x14b8], r12
mov qword [rsp + 0x1480], r13
mov qword [rsp + 0x1478], r14
mov qword [rsp + 0x1470], r15
movaps xmmword [rsp + 0x1460], xmm6
movsd xmm6, qword [0x1400787f0]
movaps xmmword [rsp + 0x1450], xmm7
xorps xmm7, xmm7
movaps xmmword [rsp + 0x1440], xmm8
movsd xmm8, qword [0x140078710]
movaps xmmword [rsp + 0x1430], xmm9
movaps xmmword [rsp + 0x1420], xmm10
movaps xmmword [rsp + 0x1410], xmm11
movsd xmm11, qword [0x1400786a0]
movaps xmmword [rsp + 0x1400], xmm12
movss xmm12, dword [0x140078674]
movaps xmmword [rsp + 0x13f0], xmm13
xorps xmm13, xmm13
movaps xmmword [rsp + 0x13e0], xmm14
movss xmm14, dword [0x1400787c0]
movaps xmmword [rsp + 0x13d0], xmm15
movsd xmm15, qword [0x140078698]
mov qword [rsp + 0x28], 0x64
nop
mov ecx, dword [rbx + 0x24]
test ecx, ecx
je 0x140004485
sub ecx, 1
je 0x1400043d6
sub ecx, 1
je 0x14000431f
cmp ecx, 1
jne 0x14000455f
mov ecx, 4
call fcn.14006c8c0
mov ecx, 4
mov r14, rax
call fcn.14006c8c0
mov ecx, 4
mov r15, rax
call fcn.14006c8c0
mov ecx, 4
mov r13, rax
call fcn.14006c8c0
mov ecx, 4
mov r12, rax
call fcn.14006c8c0
mov dword [r13], 0x41700000
mov rsi, rax
mov dword [r12], 0x42200000
movss xmm0, dword [rbx + 0x4c]
subss xmm0, dword [rbx + 0x50]
movss dword [r15], xmm0
mov ecx, dword [rbx + 0x54]
mov dword [r14], ecx
mov dword [rax], 0x3f000000
cmp dword [rbx + 0x24], 3
jne 0x1400042e6
movss xmm15, dword [0x140078930]
cmp dword [rbx + 0x1c], 0
jne 0x1400042d5
mov ecx, dword [rbx + 0x64]
cmp ecx, dword [rbx + 0x68]
jne 0x14000419f
mov dword [rbx + 0x60], ecx
jmp 0x1400042b8
movss xmm0, dword [rbx + 0x4c]
movaps xmm6, xmm12
subss xmm0, dword [rbx + 0x50]
movss dword [r15], xmm0
divss xmm6, dword [r13]
movss xmm9, dword [rsi]
movaps xmm1, xmm6
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
xorps xmm0, xmm15
xorps xmm10, xmm10
cvtss2sd xmm10, xmm0
movaps xmm0, xmm12
movaps xmm1, xmm6
subss xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
xorps xmm3, xmm3
movaps xmm2, xmm7
cvtss2sd xmm3, xmm0
mov edi, 2
movaps xmm1, xmm11
nop word [rax + rax]
lea rcx, [rsp + 0x30]
call fcn.140006b70
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm7
mulsd xmm0, xmm1
mulsd xmm1, xmm8
addsd xmm2, xmm0
sub rdi, 1
jne 0x140004200
divsd xmm2, xmm1
xorps xmm1, xmm1
subsd xmm3, xmm10
mulsd xmm3, xmm2
addsd xmm3, xmm10
cvtsd2ss xmm1, xmm3
divss xmm1, dword [r12]
addss xmm1, xmm9
movss dword [rsi], xmm1
mulss xmm1, dword [r15]
addss xmm1, dword [rbx + 0x50]
movss dword [r14], xmm1
movss xmm0, dword [rbx + 0x50]
subss xmm0, xmm1
comiss xmm0, xmm13
jbe 0x14000427d
mov dword [rsi], edi
movss xmm1, dword [rbx + 0x50]
movss dword [r14], xmm1
movss xmm0, dword [rbx + 0x4c]
subss xmm0, xmm1
comiss xmm13, xmm0
jbe 0x14000429c
mov dword [rsi], 0x3f800000
movss xmm1, dword [rbx + 0x4c]
movss dword [r14], xmm1
comiss xmm1, xmm12
jb 0x1400042b0
movaps xmm0, xmm14
divss xmm0, xmm1
cvttss2si eax, xmm0
jmp 0x1400042b5
mov eax, 0xf4240
mov dword [rbx + 0x60], eax
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], 1
call fcn.1400062d0
cmp dword [rbx + 0x24], 3
je 0x140004185
movsd xmm15, qword [0x140078698]
movsd xmm6, qword [0x1400787f0]
mov edx, 4
mov rcx, r14
call fcn.14006c8fc
mov edx, 4
mov rcx, r15
call fcn.14006c8fc
mov edx, 4
mov rcx, r13
call fcn.14006c8fc
mov edx, 4
mov rcx, r12
call fcn.14006c8fc
jmp 0x140004552
mov ecx, 4
call fcn.14006c8c0
cmp dword [rbx + 0x24], 2
mov r14, rax
jne 0x1400043ce
cmp dword [rbx + 0x1c], 0
jne 0x1400043ce
mov ecx, dword [rbx + 0x64]
mov esi, dword [rbx + 0x68]
cmp ecx, esi
je 0x1400043ae
movaps xmm1, xmm7
movaps xmm2, xmm11
mov edi, 2
lea rcx, [rsp + 0x30]
call fcn.140006b70
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm7
mulsd xmm0, xmm2
mulsd xmm2, xmm8
addsd xmm1, xmm0
sub rdi, 1
jne 0x140004356
mov ecx, dword [rbx + 0x5c]
mov eax, ecx
divsd xmm1, xmm2
sub eax, esi
movd xmm0, eax
addsd xmm1, xmm7
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm15
mulsd xmm0, xmm6
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
sub ecx, eax
mov dword [r14], ecx
mov dword [rbx + 0x60], ecx
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], 1
call fcn.1400062d0
cmp dword [rbx + 0x24], 2
je 0x140004336
mov rcx, r14
jmp 0x140004555
mov ecx, 4
call fcn.14006c8c0
cmp dword [rbx + 0x24], 1
mov r15, rax
jne 0x14000447d
nop dword [rax]
cmp dword [rbx + 0x1c], 0
jne 0x14000447d
mov ecx, dword [rbx + 0x64]
mov esi, ecx
mov r14d, dword [rbx + 0x68]
sub esi, r14d
je 0x14000445d
movaps xmm1, xmm7
movaps xmm2, xmm11
mov edi, 2
lea rcx, [rsp + 0x30]
call fcn.140006b70
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm7
mulsd xmm0, xmm2
mulsd xmm2, xmm8
addsd xmm1, xmm0
sub rdi, 1
jne 0x140004414
divsd xmm1, xmm2
movd xmm0, esi
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm7
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
add ecx, r14d
mov dword [r15], ecx
mov dword [rbx + 0x60], ecx
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], 1
call fcn.1400062d0
cmp dword [rbx + 0x24], 1
je 0x1400043f0
mov rcx, r15
jmp 0x140004555
mov ecx, 4
call fcn.14006c8c0
cmp dword [rbx + 0x24], 0
mov rsi, rax
jne 0x140004552
nop dword [rax]
cmp dword [rbx + 0x1c], 0
jne 0x140004552
movss xmm4, dword [rbx + 0x50]
movss xmm3, dword [rbx + 0x4c]
subss xmm3, xmm4
ucomiss xmm3, xmm13
jp 0x1400044d9
jne 0x1400044d9
lea rcx, [rsp + 0x20]
movss dword [rsi], xmm4
mov qword [rsp + 0x20], 1
call fcn.1400062d0
jmp 0x140004548
movaps xmm1, xmm7
movaps xmm2, xmm11
mov edi, 2
lea rcx, [rsp + 0x30]
call fcn.140006b70
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm7
mulsd xmm0, xmm2
mulsd xmm2, xmm8
addsd xmm1, xmm0
sub rdi, 1
jne 0x1400044e5
divsd xmm1, xmm2
xorps xmm2, xmm2
addsd xmm1, xmm7
cvtsd2ss xmm2, xmm1
mulss xmm2, xmm3
addss xmm2, xmm4
comiss xmm2, xmm12
movss dword [rsi], xmm2
jb 0x140004542
movaps xmm0, xmm14
divss xmm0, xmm2
cvttss2si eax, xmm0
mov dword [rbx + 0x60], eax
jmp 0x140004548
mov dword [rsi], 0x3f800000
cmp dword [rbx + 0x24], 0
je 0x1400044a0
mov rcx, rsi
mov edx, 4
call fcn.14006c8fc
lea rcx, [rsp + 0x28]
call fcn.1400062d0
cmp dword [rbx + 0x1c], 0
je 0x1400040e0
movaps xmm15, xmmword [rsp + 0x13d0]
movaps xmm14, xmmword [rsp + 0x13e0]
movaps xmm13, xmmword [rsp + 0x13f0]
movaps xmm12, xmmword [rsp + 0x1400]
movaps xmm11, xmmword [rsp + 0x1410]
movaps xmm10, xmmword [rsp + 0x1420]
movaps xmm9, xmmword [rsp + 0x1430]
movaps xmm8, xmmword [rsp + 0x1440]
movaps xmm7, xmmword [rsp + 0x1450]
movaps xmm6, xmmword [rsp + 0x1460]
mov r15, qword [rsp + 0x1470]
mov r14, qword [rsp + 0x1478]
mov r13, qword [rsp + 0x1480]
mov r12, qword [rsp + 0x14b8]
mov rdi, qword [rsp + 0x14b0]
mov rsi, qword [rsp + 0x14a8]
mov rcx, qword [rbp + 0x12c0]
xor rcx, rsp
call fcn.14006c8a0
add rsp, 0x1488
pop rbx
pop rbp
ret