Function at 0x140018d52
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x70
mov r15, rcx
lea r14, [rcx + 8]
mov r8d, 0x1020
mov rcx, r14
xor edx, edx
call fcn.140033a40
lea rcx, [r15 + 0x10]
mov esi, 0x800
mov edi, 0xffffffff
test rsi, rsi
je 0x140018dfd
cmp rsi, rdi
mov edx, 0xffffffff
cmovb rdx, rsi
lea rbx, [rcx + rdx]
sub rsi, rdx
call sub.advapi32.dll_SystemFunction036
mov rcx, rbx
test al, al
jne 0x140018d86
call fcn.14000e6d0
lea rcx, [rsp + 0x28]
mov qword [rcx], rax
lea rax, [rsp + 0x30]
mov qword [rax], rcx
lea rdx, [0x14004f790]
lea rcx, [rsp + 0x40]
mov qword [rcx], rdx
mov edx, 1
mov qword [rcx + 8], rdx
and qword [rcx + 0x10], 0
lea rbx, [0x140026b90]
mov qword [rax + 8], rbx
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x28], rdx
lea rdx, [0x14004cb68]
call fcn.14003fec0
ud2
and qword [r15 + 8], 0
xorps xmm0, xmm0
movups xmmword [r15 + 0x1010], xmm0
and qword [r15 + 0x1020], 0
movabs rcx, 0x647c4677a2884b7c
movabs r11, 0xb9f8b322c73ac862
movabs rdx, 0x8c0ea5053d4712a0
movabs r12, 0xb29b2e824a595524
movabs rdi, 0x82f053db8355e0ce
movabs r9, 0x48fe4a0fa5a09315
movabs r8, 0xae985bf2cbfc89ed
movabs r10, 0x98f5704f6c44c0ab
mov rax, 0xfffffffffffff800
test rax, rax
je 0x140018f84
add rcx, qword [r15 + rax + 0x810]
add r11, qword [r15 + rax + 0x818]
add rdx, qword [r15 + rax + 0x820]
add r12, qword [r15 + rax + 0x828]
add rdi, qword [r15 + rax + 0x830]
add r9, qword [r15 + rax + 0x838]
add r8, qword [r15 + rax + 0x840]
add r10, qword [r15 + rax + 0x848]
sub rcx, rdi
mov rbx, r10
shr rbx, 9
xor rbx, r9
add r10, rcx
sub r11, rbx
lea r9, [r11 + rcx]
shl rcx, 9
xor rcx, r8
sub rdx, rcx
mov rsi, r11
shr rsi, 0x17
xor rsi, r10
add r11, rdx
sub r12, rsi
lea r8, [r12 + rdx]
shl rdx, 0xf
mov r13, rdx
xor r13, r9
sub rdi, r13
lea r10, [rdi + r12]
shr r12, 0xe
xor r11, r12
sub rbx, r11
lea r12, [rbx + rdi]
shl rdi, 0x14
mov rdx, rdi
xor rdx, r8
sub rcx, rdx
lea r9, [rcx + rbx]
shr rbx, 0x11
xor rbx, r10
sub rsi, rbx
lea r8, [rsi + rcx]
shl rcx, 0xe
xor rcx, r12
mov qword [r15 + rax + 0x1010], r13
mov qword [r15 + rax + 0x1018], r11
mov qword [r15 + rax + 0x1020], rdx
mov qword [r15 + rax + 0x1028], rbx
mov qword [r15 + rax + 0x1030], rcx
mov qword [r15 + rax + 0x1038], r9
mov qword [r15 + rax + 0x1040], r8
mov qword [r15 + rax + 0x1048], rsi
add rax, 0x40
mov r10, rsi
mov rdi, rcx
mov r12, rbx
mov rcx, r13
jmp 0x140018e6c
xor eax, eax
cmp rax, 0x800
je 0x1400190a1
add rcx, qword [r15 + rax + 0x810]
add r11, qword [r15 + rax + 0x818]
add rdx, qword [r15 + rax + 0x820]
add r12, qword [r15 + rax + 0x828]
add rdi, qword [r15 + rax + 0x830]
add r9, qword [r15 + rax + 0x838]
add r8, qword [r15 + rax + 0x840]
add r10, qword [r15 + rax + 0x848]
sub rcx, rdi
mov rbx, r10
shr rbx, 9
xor rbx, r9
add r10, rcx
sub r11, rbx
lea r9, [r11 + rcx]
shl rcx, 9
xor rcx, r8
sub rdx, rcx
mov rsi, r11
shr rsi, 0x17
xor rsi, r10
add r11, rdx
sub r12, rsi
lea r8, [r12 + rdx]
shl rdx, 0xf
mov r13, rdx
xor r13, r9
sub rdi, r13
lea r10, [rdi + r12]
shr r12, 0xe
xor r11, r12
sub rbx, r11
lea r12, [rbx + rdi]
shl rdi, 0x14
mov rdx, rdi
xor rdx, r8
sub rcx, rdx
lea r9, [rcx + rbx]
shr rbx, 0x11
xor rbx, r10
sub rsi, rbx
lea r8, [rsi + rcx]
shl rcx, 0xe
xor rcx, r12
mov qword [r15 + rax + 0x810], r13
mov qword [r15 + rax + 0x818], r11
mov qword [r15 + rax + 0x820], rdx
mov qword [r15 + rax + 0x828], rbx
mov qword [r15 + rax + 0x830], rcx
mov qword [r15 + rax + 0x838], r9
mov qword [r15 + rax + 0x840], r8
mov qword [r15 + rax + 0x848], rsi
add rax, 0x40
mov r10, rsi
mov rdi, rcx
mov r12, rbx
mov rcx, r13
jmp 0x140018f86
mov rcx, r14
call fcn.1400190e1
and qword [r15], 0
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret