Function at 0x140008fbc
Capabilities:
Generate random numbers via winapi

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
mov qword [rbp - 0x59], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rsi, rcx
lea r13, [rcx + 0x58]
mov rax, qword [rcx + 0x60]
mov qword [rcx + 0x68], rax
mov rcx, qword [rcx + 0x10]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x49], xmm0
xor ebx, ebx
mov qword [rbp - 0x39], rbx
movdqu xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], rbx
movdqu xmmword [rbp - 9], xmm0
mov qword [rbp + 7], rbx
lea eax, [rbx + 0x20]
mov word [rbp + 0xf], ax
lea r8, [rbp - 0x51]
lea rdx, [rbp - 0x79]
call fcn.1400084b0
nop
mov rcx, qword [rbp - 9]
call qword [sym.imp.msvcrt.dll_free]
nop
mov rcx, qword [rbp - 0x29]
call qword [sym.imp.msvcrt.dll_free]
nop
mov rcx, qword [rbp - 0x49]
call qword [sym.imp.msvcrt.dll_free]
mov r12b, bl
mov r8b, r12b
lea rdx, [rbp + 0x17]
mov rcx, rsi
call fcn.140009344
nop
mov r15, qword [rbp - 0x71]
mov rdi, r15
mov r14, qword [rbp - 0x69]
mov rbx, r14
sub rbx, r15
sar rbx, 3
test rbx, rbx
jle 0x1400090c5
mov r13, rbx
sar r13, 1
lea rax, [rdi + r13*8]
mov qword [rbp + 0x67], rax
mov rax, qword [rax]
mov r8, qword [rax + 0x70]
mov rcx, qword [rax + 0x68]
sub r8, rcx
mov rdx, qword [rbp + 0x1f]
call sub.msvcrt.dll_memcmp
test eax, eax
jns 0x1400090b9
mov rdi, qword [rbp + 0x67]
add rdi, 8
or rax, 0xffffffffffffffff
sub rax, r13
add rbx, rax
jmp 0x1400090bc
mov rbx, r13
test rbx, rbx
jg 0x14000907c
lea r13, [rsi + 0x58]
sub rdi, r15
sar rdi, 3
inc rdi
xor ebx, ebx
sub r14, r15
sar r14, 3
lea rax, [rbx + rdi]
xor edx, edx
div r14
lea rdx, [r15 + rdx*8]
mov rcx, r13
call fcn.140008ac0
inc rbx
cmp rbx, 3
jae 0x140009100
mov r14, qword [rbp - 0x69]
mov r15, qword [rbp - 0x71]
jmp 0x1400090d1
mov rcx, qword [rbp + 0x1f]
call qword [sym.imp.msvcrt.dll_free]
inc r12b
cmp r12b, 2
jb 0x140009052
mov rcx, qword [rbp - 0x71]
call qword [sym.imp.msvcrt.dll_free]
mov rax, qword [rsi + 0x68]
sub rax, qword [rsi + 0x60]
test rax, 0xfffffffffffffff8
je 0x140009209
lea rbx, [rsi + 0x98]
lea rdi, [rbx + 0x14]
mov edx, edi
sub edx, ebx
mov r8, rbx
mov rcx, qword [0x14001d0c0]
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
mov r14, qword [rsi]
mov qword [rbp - 0x79], rbx
mov qword [rbp - 0x71], rdi
mov r9d, dword [r14 + 8]
lea r8, [0x1400140b0]
xor edx, edx
lea rbx, [0x14001d010]
mov rcx, rbx
call fcn.140001720
mov dword [r14 + 0xc], 7
movaps xmm0, xmmword [rbp - 0x79]
movdqa xmmword [rbp - 0x79], xmm0
xor edx, edx
mov byte [rsp + 0x20], 3
lea r9, [rbp - 0x79]
mov r8b, 0x21
mov rcx, r14
call fcn.140005d34
mov edx, 8
mov r8d, 0x7530
mov rcx, r14
call fcn.140006324
mov r9d, dword [r14 + 8]
mov rcx, rbx
test eax, eax
jne 0x1400091f8
lea r8, [0x140014100]
xor edx, edx
call fcn.140001720
xor edx, edx
jmp 0x1400091e1
mov rcx, rsi
call fcn.140009a48
test al, al
jne 0x1400091f4
mov rdx, rbx
mov rcx, rsi
call fcn.140009430
cmp rax, 0xffffffffffffffff
mov rbx, rax
jne 0x1400091d2
jmp 0x140009209
mov al, 1
jmp 0x14000920b
lea r8, [0x140014150]
mov edx, 3
call fcn.140001720
xor al, al
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret