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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf5560]
mov eax, 0xf5660
call fcn.140002a30
sub rsp, rax
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0xf5550], rax
xor r14d, r14d
test r14, r14
je 0x140001649
lea rax, [r14 + 1]
test r14, rax
je 0x140001649
mov bl, 0x3f
nop dword [rax]
movzx eax, bl
bt r14, rax
jb 0x140001380
sub bl, 1
jns 0x140001360
xor dil, dil
mov r15b, 0xff
xor ecx, ecx
call fcn.140001c44
mov r12, rax
jmp 0x1400013c2
inc bl
movzx edi, bl
lea r15d, [rdi - 1]
mov ecx, edi
call fcn.140001c44
mov r12, rax
xor r8b, r8b
test bl, bl
je 0x1400013c2
nop word [rax + rax]
movzx eax, r8b
mov rdx, r14
mov ecx, eax
shr rdx, cl
and dl, 1
movzx ecx, bl
sub rcx, rax
mov byte [rcx + r12 - 1], dl
inc r8b
cmp r8b, dil
jb 0x1400013a0
movzx eax, dil
add al, al
add dil, al
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x1304], 0xffffffff
mov dword [rbp - 0x7c], eax
mov edx, 1
nop dword [rax]
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 - 0x7c], eax
inc rdx
cmp rdx, 0x270
jb 0x1400013f0
mov dword [rbp - 0x80], 0x270
movzx esi, dil
mov ecx, esi
call fcn.140001c44
mov qword [rsp + 0x50], rax
test dil, dil
je 0x14000144f
mov rbx, rax
nop
lea rcx, [rbp - 0x80]
call fcn.140001a40
mov ecx, eax
shl rcx, 8
shr rcx, 0x20
mov byte [rbx], cl
lea rbx, [rbx + 1]
sub rsi, 1
jne 0x140001430
xor edx, edx
mov r8d, 0xf4240
lea rcx, [rbp + 0x1310]
call sub.VCRUNTIME140.dll_memset
mov eax, 0x1f4
movzx ebx, ax
movzx r10d, ax
mov r9b, 0xff
xor r8b, r8b
xor r11d, r11d
mov r13d, 0x3e8
nop
movzx edi, r9b
movzx eax, r10w
imul rdx, rax, 0x3e8
movzx eax, bx
lea rsi, [rbp + 0x1310]
add rsi, rax
add rsi, rdx
movzx ecx, byte [rsi]
movzx edx, r9b
movzx r9d, r8b
cmp byte [rcx + r12], 0
je 0x1400014ba
movzx r8d, dl
neg r8b
jmp 0x1400014c1
neg r9b
movzx r8d, dl
cmp cl, r15b
jae 0x1400014ca
inc cl
jmp 0x1400014cc
xor cl, cl
mov byte [rsi], cl
movsx eax, r9b
add bx, ax
movsx eax, r8b
add r10w, ax
cmp bx, r13w
jae 0x1400014f5
cmp r10w, r13w
jae 0x1400014f5
inc r11
cmp r11, 0x5f5e100
jb 0x140001480
mov rdx, r14
lea rcx, [rsp + 0x58]
call fcn.140001700
nop
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
mov rax, r8
sub rax, rdx
cmp rax, 4
mov r13, qword [rsp + 0x50]
lea rcx, [rsp + 0x58]
jb 0x14000154b
lea rax, [rdx + 4]
mov qword [rsp + 0x68], rax
cmp r8, 0xf
cmova rcx, qword [rsp + 0x58]
mov eax, dword [str..bmp]
mov dword [rcx + rdx], eax
mov byte [rcx + rdx + 4], 0
lea rax, [rsp + 0x58]
jmp 0x14000155e
mov qword [rsp + 0x20], 4
mov edx, 4
call fcn.1400018b0
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xor ebx, ebx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rbx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x40], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], bl
lea r8, [rsp + 0x30]
cmp qword [rsp + 0x48], 0xf
cmova r8, qword [rsp + 0x30]
mov rdx, r13
lea rcx, [rbp + 0x1310]
call fcn.1400011c0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x1400015ee
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400015e9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001688
call fcn.140001c00
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], bl
mov rdx, qword [rsp + 0x70]
cmp rdx, 0xf
jbe 0x140001639
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001634
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000168f
call fcn.140001c00
mov rcx, r12
call fcn.140001c00
mov rcx, r13
call fcn.140001c00
inc r14
cmp r14, 0x64
jb 0x140001341
xor eax, eax
mov rcx, qword [rbp + 0xf5550]
xor rcx, rsp
call fcn.140001be0
lea r11, [rsp + 0xf5660]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3