Function at 0x14000be90
Capabilities:
Generate random numbers via winapi

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0xa0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x98], rax
xor ebp, ebp
mov rbx, rdx
mov rdi, rcx
cmp byte [rdx + 0x21], bpl
jne 0x14000bfb4
cmp byte [rcx + 0x38], bpl
jne 0x14000bf3e
cmp dword [rcx + 0x34], 3
jne 0x14000bee5
lea rax, [rcx + 0x18]
test rax, rax
je 0x14000bee5
mov dword [rax], 5
mov dword [rax + 4], 2
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x40], 0xffffffffffffffff
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x58], 0xffffffffffffffff
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x50], rbp
test rcx, rcx
je 0x14000bf6f
lea rdx, [rsp + 0x30]
call fcn.14000a810
test eax, eax
jns 0x14000bf6f
mov rdx, qword [rdi]
lea rcx, [rdi + 0x18]
test rdx, rdx
jne 0x14000bf5d
test rcx, rcx
je 0x14000bf3e
mov qword [rcx], 0x12
add rbx, 0x30
je 0x14000c046
mov eax, dword [rdi + 0x18]
mov dword [rbx], eax
mov eax, dword [rdi + 0x1c]
mov dword [rbx + 4], eax
mov eax, 0xffffffff
jmp 0x14000c0e2
test rcx, rcx
je 0x14000bf3e
mov eax, dword [rdx + 0x18]
mov dword [rcx], eax
mov eax, dword [rdx + 0x1c]
mov dword [rcx + 4], eax
jmp 0x14000bf3e
mov r9d, 3
lea rdx, [rsp + 0x30]
mov rcx, rdi
lea r8d, [r9 + 0x3d]
call fcn.14000b0e0
test rax, rax
js 0x14000bf3e
cmp byte [rbx + 0x21], bpl
jne 0x14000bfb4
test byte [rsp + 0x30], 0x10
lea rcx, [rbx + 0x28]
je 0x14000bfaa
mov rax, qword [rsp + 0x58]
mov qword [rcx], rax
mov byte [rbx + 0x21], 1
jmp 0x14000bfb4
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov byte [rbx + 0x21], 1
mov rax, qword [rbx + 0x28]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x20], rax
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__localtime64_s]
test eax, eax
lea rcx, [rsp + 0x70]
cmovne rcx, rbp
test rcx, rcx
jne 0x14000bfe2
movzx edi, bp
jmp 0x14000c006
cmp dword [rcx + 0x14], 0x50
jge 0x14000bfef
mov dword [rcx + 0x14], 0x50
movzx edi, word [rcx + 8]
mov eax, dword [rcx]
shl di, 6
add di, word [rcx + 4]
shl di, 5
sar eax, 1
add di, ax
mov ecx, 0xc
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rsi, rax
test rax, rax
je 0x14000c032
mov ecx, 0x20
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
jne 0x14000c050
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, rbp
mov qword [rbx + 0x18], rax
add rbx, 0x30
je 0x14000c046
mov qword [rbx], 0xe
mov eax, 0xffffffff
jmp 0x14000c0e2
mov word [rax], 0x101
mov r9d, 2
mov qword [rax + 8], rsi
xor ecx, ecx
mov qword [rax + 0x10], 0xc
mov qword [rax + 0x18], rbp
mov qword [rbx + 0x18], rax
lea r8d, [r9 + 9]
mov rsi, qword [rax + 8]
mov rdx, rsi
call qword [sym.imp.bcrypt.dll_BCryptGenRandom]
test eax, eax
jns 0x14000c0c3
lea rax, [rbx + 0x30]
test rax, rax
je 0x14000c096
mov qword [rax], 0x14
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x14000c0b8
cmp byte [rdi + 1], bpl
je 0x14000c0af
mov rcx, qword [rdi + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x18], rbp
mov eax, 0xffffffff
jmp 0x14000c0e2
shr di, 8
lea rcx, [rbx + 8]
mov r9d, 0xc
mov byte [rsi + 0xb], dil
mov r8, rsi
mov rdx, rsi
call fcn.14000e3c0
xor eax, eax
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.140017a70
mov rbx, qword [rsp + 0xd0]
add rsp, 0xa0
pop rdi
pop rsi
pop rbp
ret