Function at 0x180008c00
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov dword [rax + 0x20], r9d
mov dword [rax + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
movaps xmmword [rax - 0x48], xmm6
mov r15d, r9d
mov r12, r8
mov r13, rcx
cmp byte [rsp + 0xd8], 0
je 0x180008c7b
lea rdx, [rax + 0x10]
call fcn.1800076f0
mov rbx, qword [rax + 0x18]
mov rsi, qword [rax + 0x20]
cmp rbx, rsi
je 0x180008c7b
nop word [rax + rax]
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
sub rax, rcx
cmp rax, r15
jne 0x180008c72
mov r8, r15
mov rdx, r12
call fcn.18017b590
test eax, eax
je 0x180008ee1
add rbx, 0x18
cmp rbx, rsi
jne 0x180008c50
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
xor ebx, ebx
mov qword [rsp + 0x58], rbx
test r15d, r15d
je 0x180008ca5
lea r8, [rsp + 0xd8]
mov rdx, r15
lea rcx, [rsp + 0x48]
call fcn.180005ab0
mov r8, r15
mov rdx, r12
mov rcx, qword [rsp + 0x48]
call fcn.18017b690
lea rdx, [rsp + 0xb8]
mov rcx, r13
call fcn.1800076f0
mov rdi, rax
mov r14, qword [rax + 0x20]
cmp r14, qword [rax + 0x28]
je 0x180008d6e
mov qword [r14], rbx
mov qword [r14 + 8], rbx
mov qword [r14 + 0x10], rbx
mov rbp, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
cmp rbp, r15
je 0x180008d5f
mov rsi, r15
sub rsi, rbp
cmp rsi, 0x1000
jb 0x180008d28
lea rcx, [rsi + 0x27]
cmp rcx, rsi
jbe 0x180008f04
call fcn.18015ce58
test rax, rax
je 0x180008f0a
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x180008d38
test rsi, rsi
je 0x180008d38
mov rcx, rsi
call fcn.18015ce58
mov rbx, rax
mov qword [r14], rbx
mov qword [r14 + 8], rbx
lea rax, [rbx + rsi]
mov qword [r14 + 0x10], rax
mov r8, rsi
mov rdx, rbp
mov rcx, rbx
call fcn.18017b690
sub rbx, rbp
add rbx, r15
mov qword [r14 + 8], rbx
add qword [rdi + 0x20], 0x18
mov r15d, dword [rsp + 0xc8]
jmp 0x180008d7f
lea r8, [rsp + 0x48]
mov rdx, r14
lea rcx, [rax + 0x18]
call fcn.180005500
lea rdx, [rsp + 0xb8]
mov rcx, r13
call fcn.1800076f0
mov r14, qword [rax + 8]
mov rdi, qword [rax]
movsd xmm6, qword [rsp + 0xd0]
cmp rdi, r14
je 0x180008e6e
nop dword [rax + rax]
mov rbx, qword [rdi]
mov esi, dword [rsp + 0xb8]
mov rbp, qword [r13 + 0x10]
mov edx, 8
lea rcx, [0x180264900]
call sub.advapi32.dll_SystemFunction036
mov rdx, qword [0x180264900]
add rdx, 1
mov qword [0x180264900], rdx
jne 0x180008ded
inc rdx
mov qword [0x180264900], rdx
mov byte [rsp + 0x30], 0
movsd qword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], r15d
mov r9, r12
mov r8d, esi
mov rcx, rbp
call fcn.180009020
mov qword [rsp + 0x40], rbx
mov rcx, qword [r13 + 0x10]
mov r8, qword [rcx + 8]
mov rdx, qword [rcx]
cmp rdx, r8
je 0x180008e61
cmp qword [rdx], rax
je 0x180008e30
add rdx, 0x58
cmp rdx, r8
jne 0x180008e20
jmp 0x180008e61
cmp rdx, r8
je 0x180008e61
lea rcx, [rdx + 8]
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x180008e4d
mov qword [rdx], rbx
add qword [rcx + 8], 8
jmp 0x180008e57
lea r8, [rsp + 0x40]
call fcn.180004d00
mov eax, dword [rbx + 0xc]
or byte [rbx + 8], 1
mov dword [rbx + 0xc], eax
add rdi, 8
cmp rdi, r14
jne 0x180008db0
lea rdx, [rsp + 0xb8]
mov rcx, r13
call fcn.1800076f0
mov rcx, qword [rax + 8]
cmp qword [rax], rcx
jne 0x180008ea9
mov byte [rsp + 0x28], 0
movsd qword [rsp + 0x20], xmm6
mov r9d, r15d
mov r8, r12
mov edx, dword [rsp + 0xb8]
mov rcx, qword [r13 + 0x10]
call fcn.180008f90
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x180008ee1
mov rdx, qword [rsp + 0x58]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180008edc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008efe
call fcn.18015ce94
mov rbx, qword [rsp + 0xb0]
movaps xmm6, xmmword [rsp + 0x60]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18018023c
nop
call fcn.180008ab0
nop
call fcn.18018023c
int3