Function at 0x14001b191
Capabilities:
Encode data using xor
Generate random numbers via rtlgenrandom

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x1088
call fcn.140034be0
sub rsp, rax
mov r14, rcx
lea rcx, [rsp + 0x68]
mov r8d, 0x1020
xor edx, edx
call fcn.140036410
mov esi, 0x800
lea rcx, [rsp + 0x70]
mov edi, 0xffffffff
test rsi, rsi
je 0x14001b248
cmp rsi, rdi
mov edx, 0xffffffff
cmovb rdx, rsi
sub rsi, rdx
lea rbx, [rcx + rdx]
call sub.advapi32.dll_SystemFunction036
mov rcx, rbx
test al, al
jne 0x14001b1ce
call fcn.14001b693
lea rcx, [rsp + 0x20]
mov qword [rcx], rax
lea rax, [rsp + 0x28]
mov qword [rax], rcx
lea rcx, [0x1400294a0]
mov qword [rax + 8], rcx
lea rdx, str.couldnt_generate_random_bytes:
lea rcx, [rsp + 0x38]
mov qword [rcx], rdx
mov edx, 1
mov qword [rcx + 8], rdx
mov qword [rcx + 0x10], 0
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x28], rdx
lea rdx, [0x14004fc18]
call fcn.140043030
ud2
xor eax, eax
mov qword [rsp + 0x68], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x1070], xmm0
mov qword [rsp + 0x1080], rax
movabs rbx, 0x98f5704f6c44c0ab
movabs r8, 0xae985bf2cbfc89ed
movabs r9, 0x48fe4a0fa5a09315
movabs rax, 0x82f053db8355e0ce
movabs rcx, 0xb29b2e824a595524
movabs rdi, 0x8c0ea5053d4712a0
movabs rsi, 0xb9f8b322c73ac862
movabs rdx, 0x647c4677a2884b7c
mov r10d, 0x840
add rdx, qword [rsp + r10 - 0x7d0]
add rsi, qword [rsp + r10 - 0x7c8]
add rdi, qword [rsp + r10 - 0x7c0]
add rcx, qword [rsp + r10 - 0x7b8]
add rax, qword [rsp + r10 - 0x7b0]
add r9, qword [rsp + r10 - 0x7a8]
add r8, qword [rsp + r10 - 0x7a0]
add rbx, qword [rsp + r10 - 0x798]
sub rdx, rax
mov r11, rbx
shr r11, 9
xor r11, r9
add rbx, rdx
sub rsi, r11
lea r9, [rsi + rdx]
shl rdx, 9
mov r15, rdx
xor r15, r8
sub rdi, r15
mov r8, rsi
shr rsi, 0x17
xor rbx, rsi
add r8, rdi
sub rcx, rbx
lea r12, [rcx + rdi]
shl rdi, 0xf
mov rdx, rdi
xor rdx, r9
sub rax, rdx
lea r13, [rax + rcx]
shr rcx, 0xe
mov rsi, rcx
xor rsi, r8
sub r11, rsi
lea rbp, [r11 + rax]
shl rax, 0x14
mov rdi, rax
xor rdi, r12
sub r15, rdi
lea r9, [r15 + r11]
shr r11, 0x11
mov rcx, r11
xor rcx, r13
sub rbx, rcx
lea r8, [rbx + r15]
shl r15, 0xe
mov rax, r15
xor rax, rbp
mov qword [rsp + r10 + 0x30], rdx
mov qword [rsp + r10 + 0x38], rsi
mov qword [rsp + r10 + 0x40], rdi
mov qword [rsp + r10 + 0x48], rcx
mov qword [rsp + r10 + 0x50], rax
mov qword [rsp + r10 + 0x58], r9
mov qword [rsp + r10 + 0x60], r8
mov qword [rsp + r10 + 0x68], rbx
add r10, 0x40
cmp r10, 0x1040
jne 0x14001b2b8
mov r10d, 0x840
add rdx, qword [rsp + r10 + 0x30]
add rsi, qword [rsp + r10 + 0x38]
add rdi, qword [rsp + r10 + 0x40]
add rcx, qword [rsp + r10 + 0x48]
add rax, qword [rsp + r10 + 0x50]
add r9, qword [rsp + r10 + 0x58]
add r8, qword [rsp + r10 + 0x60]
add rbx, qword [rsp + r10 + 0x68]
sub rdx, rax
mov r11, rbx
shr r11, 9
xor r11, r9
add rbx, rdx
sub rsi, r11
lea rbp, [rsi + rdx]
shl rdx, 9
xor rdx, r8
sub rdi, rdx
mov r15, rsi
shr r15, 0x17
xor r15, rbx
add rsi, rdi
sub rcx, r15
lea rbx, [rcx + rdi]
shl rdi, 0xf
xor rdi, rbp
sub rax, rdi
lea rbp, [rax + rcx]
shr rcx, 0xe
xor rsi, rcx
sub r11, rsi
lea rcx, [r11 + rax]
shl rax, 0x14
xor rax, rbx
sub rdx, rax
lea r9, [rdx + r11]
shr r11, 0x11
xor r11, rbp
sub r15, r11
lea r8, [r15 + rdx]
shl rdx, 0xe
mov rbx, rdx
xor rbx, rcx
mov qword [rsp + r10 + 0x30], rdi
mov qword [rsp + r10 + 0x38], rsi
mov qword [rsp + r10 + 0x40], rax
mov qword [rsp + r10 + 0x48], r11
mov qword [rsp + r10 + 0x50], rbx
mov qword [rsp + r10 + 0x58], r9
mov qword [rsp + r10 + 0x60], r8
mov qword [rsp + r10 + 0x68], r15
add r10, 0x40
mov rdx, rdi
mov rdi, rax
mov rcx, r11
mov rax, rbx
mov rbx, r15
cmp r10, 0x1040
jne 0x14001b3bd
lea rdi, [rsp + 0x68]
mov rcx, rdi
call fcn.14001b4fd
lea rcx, [r14 + 8]
mov r8d, 0x1020
mov rdx, rdi
call fcn.1400356d0
mov qword [r14], 0
add rsp, 0x1088
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret