Function at 0x14000c660
Capabilities:
Access peb ldr_data
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm7
movaps xmmword [rsp + 0x50], xmm8
mov rax, qword [0x140073040]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rbx, rcx
xor r13d, r13d
mov esi, 4
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
lea r12, [0x1400763d0]
mov eax, dword [rsi + rdi]
cmp dword [0x140077770], eax
jle 0x14000c737
lea rcx, [0x140077770]
call fcn.14005c358
cmp dword [0x140077770], 0xffffffff
jne 0x14000c737
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [0x140077754], 0xffffffff
mov dword [0x1400763d4], eax
mov r8d, 1
nop dword [rax + rax]
mov edx, eax
shr edx, 0x1e
xor edx, eax
imul eax, edx, 0x6c078965
add eax, r8d
mov dword [r12 + r8*4 + 4], eax
inc r8
cmp r8, 0x270
jb 0x14000c700
mov dword [0x1400763d0], 0x270
lea rcx, [0x140077770]
call fcn.14005c2ec
mov eax, dword [rsi + rdi]
cmp dword [0x1400763c4], eax
jle 0x14000c772
lea rcx, [0x1400763c4]
call fcn.14005c358
cmp dword [0x1400763c4], 0xffffffff
jne 0x14000c772
movdqa xmm0, xmmword [0x140067ba0]
movups xmmword [0x140077760], xmm0
lea rcx, [0x1400763c4]
call fcn.14005c2ec
mov rdi, qword [rbx]
mov r15, qword [rbx + 8]
cmp rdi, r15
je 0x14000ca40
xorps xmm6, xmm6
movsd xmm8, qword [0x140067498]
movsd xmm7, qword [0x140067548]
movabs rcx, 0x636f6c42626f7250
mov r14, qword [rdi + 0x10]
mov rbx, rdi
mov rbp, qword [rdi + 0x18]
cmp rbp, 0xf
jbe 0x14000c7b4
mov rbx, qword [rdi]
cmp r14, 6
jb 0x14000c811
lea rsi, [r14 + rbx]
lea r8, [rsi - 5]
sub r8, rbx
mov edx, 0x52
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x14000c807
cmp dword [rax], 0x65706552
jne 0x14000c7eb
cmp word [rax + 4], 0x7461
je 0x14000c8cd
inc rax
lea r8, [rsi - 5]
sub r8, rax
mov edx, 0x52
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x14000c7d7
movabs rcx, 0x636f6c42626f7250
mov rax, rdi
cmp rbp, 0xf
jbe 0x14000c81d
mov rax, qword [rdi]
cmp r14, 0xa
jne 0x14000ca2b
cmp qword [rax], rcx
jne 0x14000ca2b
cmp word [rax + 8], 0x7b6b
jne 0x14000ca2b
movaps xmm2, xmm6
movaps xmm1, xmm8
mov ebx, 2
mov rcx, r12
call fcn.140013bf0
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm6
mulsd xmm0, xmm1
addsd xmm2, xmm0
mulsd xmm1, xmm7
sub rbx, 1
jne 0x14000c848
divsd xmm2, xmm1
movsd xmm0, qword [0x140077768]
movups xmm1, xmmword [0x140077760]
subsd xmm0, xmm1
mulsd xmm2, xmm0
addsd xmm2, xmm1
movaps xmm0, xmm6
mov rcx, qword [rdi + 0x20]
mov rax, qword [rdi + 0x28]
cmp rcx, rax
je 0x14000ca33
nop dword [rax]
nop word [rax + rax]
addsd xmm0, qword [rcx + 0x38]
comisd xmm0, xmm2
jae 0x14000ca20
add rcx, 0x40
cmp rcx, rax
jne 0x14000c8b0
jmp 0x14000ca33
sub rax, rbx
cmp rax, 0xffffffffffffffff
je 0x14000c807
mov rbx, rdi
cmp rbp, 0xf
jbe 0x14000c8e6
mov rbx, qword [rdi]
lea rsi, [r14 + rbx]
mov r8, rsi
sub r8, rbx
mov edx, 0x28
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x14000c926
cmp byte [rax], 0x28
je 0x14000ca18
inc rax
mov r8, rsi
sub r8, rax
mov edx, 0x28
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x14000c902
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], r13
mov rax, r14
cmp r14, rcx
jb 0x14000caa0
sub rax, rcx
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
mov rax, rdi
cmp rbp, 0xf
jbe 0x14000c96c
mov rax, qword [rdi]
lea rdx, [rax + rcx]
lea rcx, [rsp + 0x20]
call fcn.140002c80
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov r14, rax
lea rbx, [rsp + 0x20]
cmp qword [rsp + 0x38], 0xf
cmova rbx, qword [rsp + 0x20]
mov dword [rax], r13d
mov r8d, 0xa
lea rdx, [rsp + 0x40]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
mov esi, eax
cmp rbx, qword [rsp + 0x40]
je 0x14000ca92
cmp dword [r14], 0x22
je 0x14000ca84
mov rdx, qword [rsp + 0x38]
cmp rdx, 0xf
jbe 0x14000ca00
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c9fb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ca7d
call fcn.14005c27c
test esi, esi
jle 0x14000ca33
mov rbx, rsi
lea rcx, [rdi + 0x20]
call fcn.14000c660
sub rbx, 1
jne 0x14000ca07
jmp 0x14000ca33
sub rax, rbx
jmp 0x14000c92d
add rcx, 0x20
call fcn.14000c660
jmp 0x14000ca33
mov rcx, rdi
call fcn.14000b2c0
add rdi, 0x40
cmp rdi, r15
jne 0x14000c796
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14005bfe0
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea rcx, str.stoi_argument_out_of_range
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
int3
lea rcx, str.invalid_stoi_argument
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_]
nop
call fcn.140002820
int3