Function at 0x1400011c0
Capabilities:
Encode data using xor
Extract resource via kernel32 functions
Generate random numbers using a mersenne twister

Disassembly:
push rbp
push rbx
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1330]
mov eax, 0x1430
call fcn.140002d20
sub rsp, rax
mov rax, qword [0x140005008]
xor rax, rsp
mov qword [rbp + 0x1320], rax
movzx edx, word [rdx]
mov r14, rcx
mov qword [rsp + 0x28], rcx
mov r8d, 0xff
xor ecx, ecx
xor r13d, r13d
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbx, rax
test rax, rax
je 0x140001564
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov r12, rax
test rax, rax
je 0x140001564
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rdi, rax
test rax, rax
je 0x14000155b
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov r15d, eax
test eax, eax
je 0x14000155b
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x12d4], 0xffffffff
lea ecx, [r13 + 1]
mov edx, eax
mov dword [rsp + 0x54], eax
mov r9d, 0x270
nop dword [rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rsp + rcx*4 + 0x54], edx
inc rcx
cmp rcx, r9
jb 0x140001280
lea eax, [r15 - 1]
mov qword [rsp + 0x1480], rsi
mov dword [rsp + 0x50], r9d
cmp eax, 0x80000000
jb 0x140001332
cmp eax, 0xffffffff
jne 0x140001332
lea r8, [rsp + 0x58]
nop dword [rax]
mov edx, dword [r8 - 4]
xor edx, dword [r8]
lea r8, [r8 + 4]
btr edx, 0x1f
xor edx, dword [r8 - 8]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, edx
xor ecx, dword [r8 + 0x62c]
mov dword [r8 + 0x9b8], ecx
sub r9, 1
jne 0x1400012c0
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + rax*4 + 0x54]
mov eax, ecx
shr eax, 0xb
and eax, dword [rbp + 0x12d4]
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 r8d, ecx
shr r8d, 0x12
xor r8d, ecx
jmp 0x14000137a
lea rcx, [rsp + 0x50]
call fcn.140001bf0
mov r8d, eax
mov rbx, r15
imul r8, r15
cmp r8d, r15d
jae 0x140001376
xor edx, edx
mov eax, r15d
neg eax
div r15d
mov esi, edx
cmp r8d, edx
jae 0x140001376
nop dword [rax]
lea rcx, [rsp + 0x50]
call fcn.140001bf0
mov r8d, eax
imul r8, rbx
cmp r8d, esi
jb 0x140001360
shr r8, 0x20
movsxd rdx, r8d
lea rcx, [rdi + r15]
add rdx, rdi
mov r8d, 0x2401
mov rbx, rdx
movsx eax, byte [rdx]
cmp al, 0xd
ja 0x1400013b3
bt r8d, eax
jae 0x1400013b3
lea rax, [rdx - 1]
cmp rax, rdi
jbe 0x1400013a8
mov rdx, rax
jmp 0x1400013b8
lea rax, [rdx + 1]
cmp rax, rcx
cmovb rbx, rax
cmp rdx, rdi
jbe 0x1400013d2
movsx eax, byte [rdx]
cmp al, 0xd
ja 0x1400013c5
bt r8d, eax
jb 0x1400013cf
dec rdx
cmp rdx, rdi
ja 0x1400013b8
jmp 0x1400013d2
inc rdx
cmp rbx, rcx
jae 0x1400013ec
movsx eax, byte [rbx]
cmp al, 0xd
ja 0x1400013e4
bt r8d, eax
jb 0x1400013ec
inc rbx
cmp rbx, rcx
jb 0x1400013d7
sub rbx, rdx
lea rcx, [rbp + 0x12e0]
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
cmp rbx, 0x40
jae 0x14000157f
xorps xmm0, xmm0
mov byte [rbp + rbx + 0x12e0], r13b
movups xmmword [rsp + 0x30], xmm0
lea rax, [rbp + 0x12e0]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], r13b
jne 0x140001426
movabs rdi, 0x7fffffffffffffff
cmp rbx, rdi
ja 0x14000158b
cmp rbx, 0x10
jae 0x140001474
mov r8, rbx
mov qword [rsp + 0x40], rbx
lea rdx, [rbp + 0x12e0]
mov qword [rsp + 0x48], 0xf
lea rcx, [rsp + 0x30]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + rbx + 0x30], r13b
jmp 0x140001512
mov rax, rbx
or rax, 0xf
cmp rax, rdi
jbe 0x1400014a9
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.14000204c
test rax, rax
je 0x1400014d4
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1400014ed
mov ecx, 0x16
mov rdi, rax
cmp rax, rcx
cmovb rdi, rcx
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x1400014db
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140001585
jmp 0x14000148e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x1400014ea
call fcn.14000204c
mov rsi, rax
jmp 0x1400014ed
mov rsi, r13
mov r8, rbx
mov qword [rsp + 0x30], rsi
lea rdx, [rbp + 0x12e0]
mov qword [rsp + 0x40], rbx
mov rcx, rsi
mov qword [rsp + 0x48], rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + rbx], r13b
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FreeResource]
movups xmm0, xmmword [rsp + 0x30]
mov rsi, qword [rsp + 0x1480]
mov rax, r14
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [r14], xmm0
movups xmmword [r14 + 0x10], xmm1
mov rcx, qword [rbp + 0x1320]
xor rcx, rsp
call fcn.140001d90
add rsp, 0x1430
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FreeResource]
xorps xmm0, xmm0
mov rax, r14
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], r13
mov qword [r14 + 0x18], 0xf
mov byte [r14], r13b
jmp 0x140001539
call fcn.140001eb8
int3
call fcn.140001100
int3
call fcn.1400011a0
int3