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

Disassembly:
push rbp
push rbx
lea rbp, [rsp - 0x13a8]
mov eax, 0x14a8
call fcn.14007bd40
sub rsp, rax
mov rax, qword [0x140095028]
xor rax, rsp
mov qword [rbp + 0x12e0], rax
mov rbx, rcx
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x12d4], 0xffffffff
mov edx, 1
mov dword [rsp + 0x54], 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 + 0x54], eax
inc rdx
cmp rdx, 0x270
jb 0x1400061a0
cmp dword [rbx + 0x20], 0
mov dword [rsp + 0x50], 0x270
jne 0x140006aef
mov qword [rsp + 0x14c8], rsi
mov qword [rsp + 0x14d0], rdi
mov qword [rsp + 0x14d8], r12
mov qword [rsp + 0x14a0], r13
xor r13d, r13d
mov qword [rsp + 0x1498], r14
mov qword [rsp + 0x1490], r15
movaps xmmword [rsp + 0x1480], xmm6
movss xmm6, dword [0x140089564]
movaps xmmword [rsp + 0x1470], xmm7
xorps xmm7, xmm7
movaps xmmword [rsp + 0x1460], xmm8
movsd xmm8, qword [0x140089438]
movaps xmmword [rsp + 0x1450], xmm9
movss xmm9, dword [0x1400892d4]
movaps xmmword [rsp + 0x1440], xmm10
movsd xmm10, qword [0x140089588]
movaps xmmword [rsp + 0x1430], xmm11
movsd xmm11, qword [0x1400893c8]
movaps xmmword [rsp + 0x1420], xmm12
movss xmm12, dword [0x14008938c]
movaps xmmword [rsp + 0x1410], xmm13
movss xmm13, dword [0x140089558]
movaps xmmword [rsp + 0x1400], xmm14
xorps xmm14, xmm14
movaps xmmword [rsp + 0x13f0], xmm15
movsd xmm15, qword [0x1400893c0]
nop word [rax + rax]
cmp byte [rbx + 0xd], 0
je 0x140006a67
mov ecx, dword [rbx + 0x28]
test ecx, ecx
je 0x140006964
sub ecx, 1
je 0x1400068a1
sub ecx, 1
je 0x1400067de
sub ecx, 1
je 0x1400065d6
cmp ecx, 1
jne 0x140006a4a
mov ecx, 4
call fcn.14007ac90
mov ecx, 4
mov qword [rsp + 0x38], rax
mov r14, rax
call fcn.14007ac90
mov ecx, 4
mov qword [rsp + 0x40], rax
mov r15, rax
call fcn.14007ac90
mov ecx, 4
mov r13, rax
call fcn.14007ac90
mov ecx, 4
mov r12, rax
call fcn.14007ac90
mov ecx, 4
mov qword [rsp + 0x30], rax
mov rsi, rax
call fcn.14007ac90
mov ecx, dword [rbx + 0x5c]
mov rdi, rax
mov dword [r14], ecx
mov dword [r15], 0x3a83126f
mov dword [r13], 0x3f000000
mov dword [r12], 0x3f000000
mov dword [rsi], 0
mov ecx, dword [rbx + 0x64]
mov dword [rax], ecx
cmp dword [rbx + 0x28], 4
mov qword [rsp + 0x20], rax
jne 0x140006580
movss xmm10, dword [0x140089410]
cmp dword [rbx + 0x20], 0
jne 0x140006572
cmp byte [rbx + 0xd], 0
je 0x140006572
mov ecx, dword [rbx + 0x6c]
cmp ecx, dword [rbx + 0x70]
jne 0x1400063bd
mov dword [rbx + 0x68], ecx
lea rcx, [rsp + 0x28]
mov qword [rsp + 0x28], 1
call fcn.140008b00
jmp 0x140006568
movss xmm3, dword [r13]
movss xmm0, dword [r12]
subss xmm0, xmm3
comiss xmm9, xmm0
movss dword [rsi], xmm0
jb 0x140006430
comiss xmm0, xmm6
jb 0x140006430
movaps xmm1, xmm7
movaps xmm2, xmm11
mov edi, 2
nop dword [rax + rax]
lea rcx, [rsp + 0x50]
call fcn.140009410
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 0x1400063f0
divsd xmm1, xmm2
xorps xmm0, xmm0
addsd xmm1, xmm7
cvtsd2ss xmm0, xmm1
movss dword [r12], xmm0
movss xmm2, dword [r15]
movaps xmm0, xmm13
mulss xmm2, dword [rsi]
mulss xmm2, xmm10
addss xmm2, xmm3
movss dword [r13], xmm2
movss xmm1, dword [rbx + 0x54]
subss xmm1, dword [rbx + 0x58]
mulss xmm1, xmm2
addss xmm1, dword [rbx + 0x58]
comiss xmm1, xmm12
divss xmm0, xmm1
movss dword [r14], xmm1
cvttss2si r15d, xmm0
jb 0x140006548
mov r14d, dword [rbx + 0x70]
movaps xmm1, xmm7
mov esi, dword [rbx + 0x6c]
movaps xmm2, xmm11
mov eax, esi
mov edi, 2
sub eax, r14d
cdq
sub eax, edx
sar eax, 1
add eax, r14d
cmp r15d, eax
jg 0x1400064e0
nop dword [rax]
lea rcx, [rsp + 0x50]
call fcn.140009410
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 0x1400064a0
mov eax, r15d
sub eax, r14d
movd xmm0, eax
jmp 0x140006512
lea rcx, [rsp + 0x50]
call fcn.140009410
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 0x1400064e0
sub esi, r15d
movd xmm0, esi
mov rsi, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
divsd xmm1, xmm2
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm7
addsd xmm0, xmm0
subsd xmm1, xmm15
mulsd xmm1, xmm0
movd xmm0, r15d
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
jmp 0x14000654d
mov eax, 0xf4240
mov dword [rbx + 0x68], eax
lea rcx, [rsp + 0x28]
mov qword [rsp + 0x28], 1
call fcn.140008b00
mov r15, qword [rsp + 0x40]
cmp dword [rbx + 0x28], 4
je 0x140006386
movsd xmm10, qword [0x140089588]
mov rdi, qword [rsp + 0x20]
mov edx, 4
mov rcx, r14
call fcn.14007accc
mov edx, 4
mov rcx, r15
call fcn.14007accc
mov edx, 4
mov rcx, r13
call fcn.14007accc
mov edx, 4
mov rcx, r12
call fcn.14007accc
mov edx, 4
mov rcx, rsi
call fcn.14007accc
mov edx, 4
mov rcx, rdi
call fcn.14007accc
xor r13d, r13d
jmp 0x140006a4a
mov ecx, 4
call fcn.14007ac90
mov ecx, 4
mov r14, rax
call fcn.14007ac90
mov ecx, 4
mov r15, rax
call fcn.14007ac90
mov ecx, 4
mov r12, rax
call fcn.14007ac90
mov dword [r15], 0x41700000
mov rsi, rax
mov dword [r12], 0x42700000
mov ecx, dword [rbx + 0x5c]
mov dword [r14], ecx
mov dword [rax], 0x3f000000
cmp dword [rbx + 0x28], 3
jne 0x1400067b2
movss xmm15, dword [0x140089690]
nop dword [rax + rax]
cmp dword [rbx + 0x20], 0
jne 0x14000678f
cmp byte [rbx + 0xd], 0
je 0x14000678f
mov ecx, dword [rbx + 0x6c]
cmp ecx, dword [rbx + 0x70]
jne 0x140006664
mov dword [rbx + 0x68], ecx
jmp 0x140006772
movss xmm9, dword [rsi]
movaps xmm6, xmm12
divss xmm6, dword [r15]
movaps xmm0, xmm9
movaps xmm1, xmm6
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
lea rcx, [rsp + 0x50]
call fcn.140009410
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 0x1400066b0
divsd xmm2, xmm1
xorps xmm1, xmm1
subsd xmm3, xmm10
mulsd xmm2, xmm3
addsd xmm2, xmm10
cvtsd2ss xmm1, xmm2
divss xmm1, dword [r12]
addss xmm1, xmm9
movss dword [rsi], xmm1
movss xmm2, dword [rbx + 0x54]
subss xmm2, dword [rbx + 0x58]
mulss xmm2, xmm1
addss xmm2, dword [rbx + 0x58]
movss dword [r14], xmm2
movss xmm0, dword [rbx + 0x58]
subss xmm0, xmm2
comiss xmm0, xmm14
jbe 0x140006737
mov dword [rsi], r13d
movss xmm2, dword [rbx + 0x58]
movss dword [r14], xmm2
movss xmm0, dword [rbx + 0x54]
subss xmm0, xmm2
comiss xmm14, xmm0
jbe 0x140006756
mov dword [rsi], 0x3f800000
movss xmm2, dword [rbx + 0x54]
movss dword [r14], xmm2
comiss xmm2, xmm12
jb 0x14000676a
movaps xmm0, xmm13
divss xmm0, xmm2
cvttss2si eax, xmm0
jmp 0x14000676f
mov eax, 0xf4240
mov dword [rbx + 0x68], eax
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], 1
call fcn.140008b00
cmp dword [rbx + 0x28], 3
je 0x140006640
movsd xmm15, qword [0x1400893c0]
movss xmm6, dword [0x140089564]
movss xmm9, dword [0x1400892d4]
movsd xmm10, qword [0x140089588]
mov edx, 4
mov rcx, r14
call fcn.14007accc
mov edx, 4
mov rcx, r15
call fcn.14007accc
mov edx, 4
mov rcx, r12
call fcn.14007accc
jmp 0x140006a3d
mov ecx, 4
call fcn.14007ac90
cmp dword [rbx + 0x28], 2
mov r14, rax
jne 0x140006899
cmp dword [rbx + 0x20], 0
jne 0x140006899
cmp byte [rbx + 0xd], 0
je 0x140006899
mov ecx, dword [rbx + 0x6c]
mov esi, dword [rbx + 0x70]
cmp ecx, esi
je 0x140006879
movaps xmm1, xmm7
movaps xmm2, xmm11
mov edi, 2
nop
lea rcx, [rsp + 0x50]
call fcn.140009410
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 0x140006820
mov ecx, dword [rbx + 0x64]
mov eax, ecx
divsd xmm1, xmm2
sub eax, esi
movd xmm0, eax
addsd xmm1, xmm7
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm15
mulsd xmm0, xmm10
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
sub ecx, eax
mov dword [r14], ecx
mov dword [rbx + 0x68], ecx
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], 1
call fcn.140008b00
cmp dword [rbx + 0x28], 2
je 0x1400067f5
mov rcx, r14
jmp 0x140006a40
mov ecx, 4
call fcn.14007ac90
cmp dword [rbx + 0x28], 1
mov r15, rax
jne 0x14000695c
nop dword [rax + rax]
cmp dword [rbx + 0x20], 0
jne 0x14000695c
cmp byte [rbx + 0xd], 0
je 0x14000695c
mov eax, dword [rbx + 0x6c]
mov esi, eax
mov r14d, dword [rbx + 0x70]
sub esi, r14d
jne 0x1400068e7
mov dword [rbx + 0x68], eax
jmp 0x14000693f
movaps xmm1, xmm7
movaps xmm2, xmm11
mov edi, 2
lea rcx, [rsp + 0x50]
call fcn.140009410
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 0x1400068f3
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 + 0x68], ecx
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], 1
call fcn.140008b00
cmp dword [rbx + 0x28], 1
je 0x1400068c0
mov rcx, r15
jmp 0x140006a40
mov ecx, 4
call fcn.14007ac90
cmp dword [rbx + 0x28], 0
mov rsi, rax
jne 0x140006a3d
nop dword [rax + rax]
cmp dword [rbx + 0x20], 0
jne 0x140006a3d
cmp byte [rbx + 0xd], 0
je 0x140006a3d
movss xmm4, dword [rbx + 0x58]
movss xmm3, dword [rbx + 0x54]
subss xmm3, xmm4
ucomiss xmm3, xmm14
jp 0x1400069c3
jne 0x1400069c3
lea rcx, [rsp + 0x20]
movss dword [rsi], xmm4
mov qword [rsp + 0x20], 1
call fcn.140008b00
jmp 0x140006a33
movaps xmm1, xmm7
movaps xmm2, xmm11
mov edi, 2
nop
lea rcx, [rsp + 0x50]
call fcn.140009410
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 0x1400069d0
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 0x140006a2d
movaps xmm0, xmm13
divss xmm0, xmm2
cvttss2si eax, xmm0
mov dword [rbx + 0x68], eax
jmp 0x140006a33
mov dword [rsi], 0x3f800000
cmp dword [rbx + 0x28], 0
je 0x140006980
mov rcx, rsi
mov edx, 4
call fcn.14007accc
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], 0x64
call fcn.140008b00
cmp dword [rbx + 0x20], 0
je 0x1400062b0
movaps xmm14, xmmword [rsp + 0x1400]
movaps xmm13, xmmword [rsp + 0x1410]
movaps xmm12, xmmword [rsp + 0x1420]
movaps xmm11, xmmword [rsp + 0x1430]
movaps xmm10, xmmword [rsp + 0x1440]
movaps xmm9, xmmword [rsp + 0x1450]
movaps xmm8, xmmword [rsp + 0x1460]
movaps xmm7, xmmword [rsp + 0x1470]
movaps xmm6, xmmword [rsp + 0x1480]
mov r15, qword [rsp + 0x1490]
mov r14, qword [rsp + 0x1498]
mov r13, qword [rsp + 0x14a0]
mov r12, qword [rsp + 0x14d8]
mov rdi, qword [rsp + 0x14d0]
mov rsi, qword [rsp + 0x14c8]
movaps xmm15, xmmword [rsp + 0x13f0]
mov rcx, qword [rbp + 0x12e0]
xor rcx, rsp
call fcn.14007ac70
add rsp, 0x14a8
pop rbx
pop rbp
ret