Function at 0x14001d050
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister
Get disk information

Disassembly:
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x1310]
mov eax, 0x1410
call fcn.14002fa90
sub rsp, rax
mov rax, qword [0x1400a3100]
xor rax, rsp
mov qword [rbp + 0x1308], rax
lea rdi, [0x1400a6370]
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rdi + rax*2], 0
jne 0x14001d090
test rax, rax
jne 0x14001d3b1
movabs rax, 0x5c003a0043
mov qword [rsp + 0x1420], rbx
mov qword [rsp + 0x1428], rsi
lea r9, [rsp + 0x68]
xor esi, esi
mov qword [rbp + 0x1300], rax
mov dword [rsp + 0x38], esi
lea rcx, [rbp + 0x1300]
mov qword [rsp + 0x30], rsi
xor r8d, r8d
mov qword [rsp + 0x28], rsi
xor edx, edx
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
mov edx, dword [rsp + 0x68]
mov ecx, 1
mov dword [rsp + 0x74], edx
mov dword [rbp + 0x12f4], 0xffffffff
nop word [rax + rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rsp + rcx*4 + 0x74], edx
inc rcx
cmp rcx, 0x270
jb 0x14001d110
lea rdx, [0x14005fbbc]
mov dword [rsp + 0x70], 0x270
lea rcx, [rsp + 0x48]
call fcn.140019c40
lea rcx, [rsp + 0x70]
call fcn.14001d760
mov ecx, eax
imul r9, rcx, 0x1a
cmp r9d, 0x15
ja 0x14001d176
nop
lea rcx, [rsp + 0x70]
call fcn.14001d760
mov ecx, eax
imul r9, rcx, 0x1a
cmp r9d, 0x16
jb 0x14001d160
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
movzx ebx, byte [rsp + 0x40]
shr r9, 0x20
add r9w, 0x41
cmp rcx, rdx
jae 0x14001d1b7
lea rax, [rcx + 1]
cmp rdx, 7
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x48]
cmova rax, qword [rsp + 0x48]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], si
jmp 0x14001d1ca
movzx r8d, bl
lea rcx, [rsp + 0x48]
mov edx, 1
call fcn.14001d5d0
lea rcx, [rsp + 0x70]
call fcn.14001d760
mov ecx, eax
imul r9, rcx, 0x1a
cmp r9d, 0x15
ja 0x14001d1f6
lea rcx, [rsp + 0x70]
call fcn.14001d760
mov ecx, eax
imul r9, rcx, 0x1a
cmp r9d, 0x16
jb 0x14001d1e0
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
shr r9, 0x20
add r9w, 0x41
cmp rcx, rdx
jae 0x14001d232
lea rax, [rcx + 1]
cmp rdx, 7
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x48]
cmova rax, qword [rsp + 0x48]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], si
jmp 0x14001d245
movzx r8d, bl
lea rcx, [rsp + 0x48]
mov edx, 1
call fcn.14001d5d0
lea rcx, [rsp + 0x70]
call fcn.14001d760
mov ecx, eax
imul r9, rcx, 0x1a
cmp r9d, 0x15
ja 0x14001d276
nop dword [rax + rax]
lea rcx, [rsp + 0x70]
call fcn.14001d760
mov ecx, eax
imul r9, rcx, 0x1a
cmp r9d, 0x16
jb 0x14001d260
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
shr r9, 0x20
add r9w, 0x41
cmp rcx, rdx
jae 0x14001d2b2
lea rax, [rcx + 1]
cmp rdx, 7
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x48]
cmova rax, qword [rsp + 0x48]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], si
jmp 0x14001d2c5
movzx r8d, bl
lea rcx, [rsp + 0x48]
mov edx, 1
call fcn.14001d5d0
lea rcx, [rsp + 0x70]
call fcn.14001d760
mov ecx, eax
imul r9, rcx, 0x1a
cmp r9d, 0x15
ja 0x14001d2f6
nop dword [rax + rax]
lea rcx, [rsp + 0x70]
call fcn.14001d760
mov ecx, eax
imul r9, rcx, 0x1a
cmp r9d, 0x16
jb 0x14001d2e0
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
shr r9, 0x20
add r9w, 0x41
cmp rcx, rdx
jae 0x14001d332
lea rax, [rcx + 1]
cmp rdx, 7
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x48]
cmova rax, qword [rsp + 0x48]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], si
jmp 0x14001d345
movzx r8d, bl
lea rcx, [rsp + 0x48]
mov edx, 1
call fcn.14001d5d0
cmp qword [rsp + 0x60], 7
lea r8, [rsp + 0x48]
mov edx, 9
mov rcx, rdi
cmova r8, qword [rsp + 0x48]
call fcn.1400355ec
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x1428]
mov rbx, qword [rsp + 0x1420]
cmp rdx, 7
jbe 0x14001d3b1
mov rcx, qword [rsp + 0x48]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001d3ac
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d3d4
call fcn.14002f6d8
mov rax, rdi
mov rcx, qword [rbp + 0x1308]
xor rcx, rsp
call fcn.14002f0b0
mov rdi, qword [rsp + 0x1430]
add rsp, 0x1410
pop rbp
ret
call fcn.14003501c
int3