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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1300]
mov eax, 0x1400
call fcn.180078db0
sub rsp, rax
movaps xmmword [rsp + 0x13f0], xmm6
movaps xmmword [rsp + 0x13e0], xmm7
mov rax, qword [0x180133090]
xor rax, rsp
mov qword [rbp + 0x12d0], rax
movaps xmm7, xmm3
movaps xmm6, xmm2
mov rdi, rcx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rcx
mov qword [rcx], rdx
mov dword [rcx + 8], 0x3f800000
mov dword [rcx + 0xc], 0x3f800000
mov dword [rcx + 0x10], 0x3f800000
lea rbx, [rcx + 0x18]
mov qword [rsp + 0x20], rbx
xor esi, esi
mov qword [rbx], rsi
mov qword [rbx + 8], rsi
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], rsi
mov qword [rbx + 0x20], rsi
lea ecx, [rsi + 0x10]
call fcn.180077be0
mov qword [rax + 8], rsi
mov qword [rbx], rax
mov qword [rax], rbx
lea rbx, [rdi + 0x40]
xor edx, edx
mov r8d, 0x400
mov rcx, rbx
call fcn.18007c360
lea rsi, [rdi + 0x440]
xor edx, edx
mov r8d, 0x400
mov rcx, rsi
call fcn.18007c360
lea r14, [rdi + 0x840]
xor edx, edx
mov r8d, 0x400
mov rcx, r14
call fcn.18007c360
lea r12, [rdi + 0xc40]
xor edx, edx
mov r8d, 0x400
mov rcx, r12
call fcn.18007c360
lea r13, [rdi + 0x1040]
xor edx, edx
mov r8d, 0x400
mov rcx, r13
call fcn.18007c360
lea rcx, [rdi + 0x1440]
mov qword [rsp + 0x20], rcx
xor edx, edx
mov r8d, 0x400
call fcn.18007c360
movss xmm1, dword [0x180116160]
movss xmm0, dword [rbp + 0x1350]
comiss xmm1, xmm0
ja 0x180012b42
minss xmm0, dword [0x1801161e0]
movaps xmm1, xmm0
movss dword [rdi + 0x10], xmm1
xorps xmm0, xmm0
movss xmm1, dword [0x1801161d4]
comiss xmm0, xmm6
jbe 0x180012b5c
xorps xmm6, xmm6
jmp 0x180012b60
minss xmm6, xmm1
movss dword [rdi + 8], xmm6
comiss xmm0, xmm7
ja 0x180012b71
minss xmm7, xmm1
movaps xmm0, xmm7
movss dword [rdi + 0xc], xmm0
call fcn.18003f410
mov dword [rbp + 0x12c4], 0xffffffff
mov dword [rsp + 0x44], eax
mov edx, 1
nop
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x44], eax
inc rdx
cmp rdx, 0x270
jb 0x180012b90
mov edx, 0x270
mov dword [rsp + 0x40], edx
mov r15d, pe_nt_image_headers64
mov r11d, r15d
xorps xmm1, xmm1
movsd xmm5, qword [0x180116168]
movsd xmm4, qword [0x1801161c8]
movaps xmm2, xmm1
movaps xmm3, xmm5
mov r10d, 2
cmp edx, 0x270
jne 0x180012c32
lea r8, [rsp + 0x48]
mov r9d, edx
mov edx, dword [r8 - 4]
xor edx, dword [r8]
btr edx, 0x1f
xor edx, dword [r8 - 4]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x630]
shr edx, 1
xor ecx, edx
mov dword [r8 + 0x9bc], ecx
lea r8, [r8 + 4]
sub r9, 1
jne 0x180012bf0
mov edx, dword [rsp + 0x40]
jmp 0x180012d1f
cmp edx, 0x4e0
jb 0x180012d1f
xor r8d, r8d
nop dword [rax]
nop word [rax + rax]
mov edx, dword [rbp + r8*4 + 0x908]
xor edx, dword [rbp + r8*4 + 0x904]
btr edx, 0x1f
xor edx, dword [rbp + r8*4 + 0x904]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
xor ecx, dword [rbp + r8*4 + 0xf38]
shr edx, 1
xor ecx, edx
mov dword [rsp + r8*4 + 0x44], ecx
inc r8
cmp r8, 0xe3
jb 0x180012c50
mov r8d, 0xe3
nop dword [rax]
mov edx, dword [rbp + r8*4 + 0x908]
xor edx, dword [rbp + r8*4 + 0x904]
btr edx, 0x1f
xor edx, dword [rbp + r8*4 + 0x904]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
xor ecx, dword [rbp + r8*4 - 0x448]
shr edx, 1
xor ecx, edx
mov dword [rsp + r8*4 + 0x44], ecx
inc r8
cmp r8, 0x26f
jb 0x180012ca0
mov edx, dword [rbp + 0x12c0]
xor edx, dword [rsp + 0x44]
btr edx, 0x1f
xor edx, dword [rbp + 0x12c0]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
shr edx, 1
xor ecx, edx
xor ecx, dword [rbp + 0x574]
mov dword [rbp + 0x900], ecx
xor edx, edx
mov dword [rsp + 0x40], edx
mov eax, edx
mov ecx, dword [rsp + rax*4 + 0x44]
inc edx
mov dword [rsp + 0x40], edx
mov eax, ecx
shr eax, 0xb
and eax, dword [rbp + 0x12c4]
xor ecx, eax
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov eax, ecx
shr eax, 0x12
xor eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm1
mulsd xmm0, xmm3
addsd xmm2, xmm0
mulsd xmm3, xmm4
sub r10, 1
jne 0x180012be0
divsd xmm2, xmm3
addsd xmm2, xmm1
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm2
movss dword [rbx], xmm0
add rbx, 4
sub r11, 1
jne 0x180012bd4
mov rdi, r15
nop dword [rax]
movaps xmm2, xmm1
movaps xmm3, xmm5
mov ebx, 2
nop dword [rax + rax]
lea rcx, [rsp + 0x40]
call fcn.180014b90
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm1
mulsd xmm0, xmm3
addsd xmm2, xmm0
mulsd xmm3, xmm4
sub rbx, 1
jne 0x180012db0
divsd xmm2, xmm3
addsd xmm2, xmm1
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm2
movss dword [rsi], xmm0
add rsi, 4
sub rdi, 1
jne 0x180012da0
mov rdi, r15
nop word [rax + rax]
movaps xmm2, xmm1
movaps xmm3, xmm5
mov ebx, 2
nop dword [rax + rax]
lea rcx, [rsp + 0x40]
call fcn.180014b90
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm1
mulsd xmm0, xmm3
addsd xmm2, xmm0
mulsd xmm3, xmm4
sub rbx, 1
jne 0x180012e10
divsd xmm2, xmm3
addsd xmm2, xmm1
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm2
movss dword [r14], xmm0
add r14, 4
sub rdi, 1
jne 0x180012e00
mov rdi, r15
nop dword [rax + rax]
movaps xmm2, xmm1
movaps xmm3, xmm5
mov ebx, 2
nop dword [rax + rax]
lea rcx, [rsp + 0x40]
call fcn.180014b90
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm1
mulsd xmm0, xmm3
addsd xmm2, xmm0
mulsd xmm3, xmm4
sub rbx, 1
jne 0x180012e70
divsd xmm2, xmm3
addsd xmm2, xmm1
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm2
movss dword [r12], xmm0
add r12, 4
sub rdi, 1
jne 0x180012e60
mov rdi, r15
nop dword [rax]
movaps xmm2, xmm1
movaps xmm3, xmm5
mov ebx, 2
nop dword [rax + rax]
lea rcx, [rsp + 0x40]
call fcn.180014b90
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm1
mulsd xmm0, xmm3
addsd xmm2, xmm0
mulsd xmm3, xmm4
sub rbx, 1
jne 0x180012ed0
divsd xmm2, xmm3
addsd xmm2, xmm1
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm2
movss dword [r13], xmm0
add r13, 4
sub rdi, 1
jne 0x180012ec0
nop dword [rax]
movaps xmm2, xmm1
movaps xmm3, xmm5
mov ebx, 2
nop dword [rax + rax]
lea rcx, [rsp + 0x40]
call fcn.180014b90
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm1
mulsd xmm0, xmm3
addsd xmm2, xmm0
mulsd xmm3, xmm4
sub rbx, 1
jne 0x180012f30
divsd xmm2, xmm3
addsd xmm2, xmm1
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm2
mov rax, qword [rsp + 0x20]
movss dword [rax], xmm0
add rax, 4
mov qword [rsp + 0x20], rax
sub r15, 1
jne 0x180012f20
mov rax, qword [rsp + 0x28]
mov rcx, qword [rbp + 0x12d0]
xor rcx, rsp
call fcn.180077bb0
lea r11, [rsp + 0x1400]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret