Function at 0x1400284fc
Capabilities:
Generate random numbers via winapi

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov r12, rdx
mov r13, rcx
xor esi, esi
mov qword [rbp + 0x50], rsi
mov r15d, esi
call fcn.14002847c
mov r14, rax
mov rcx, rax
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_AcquireSRWLockExclusive]
nop dword [rax + rax]
mov qword [rbp + 0x58], r14
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x18], xmm1
mov qword [rbp - 8], rsi
lea rcx, [rbp - 0x28]
call qword [sym.imp.api_ms_win_core_profile_l1_1_0.dll_QueryPerformanceCounter]
nop dword [rax + rax]
lea ebx, [rsi + 0x10]
lea rdi, str.onecoreds_security_ngcctnrsvciso_trustletexe_securebioauthorization.cpp
test eax, eax
jne 0x140028585
lea edx, [rsi + 0x72]
mov r8, rdi
mov rcx, qword [rbp + 0x38]
call fcn.140004468
mov ebx, eax
jmp 0x140028636
lea rcx, [rbp - 0x20]
call qword [sym.imp.api_ms_win_core_profile_l1_1_0.dll_QueryPerformanceFrequency]
nop dword [rax + rax]
test eax, eax
jne 0x14002859e
lea edx, [rax + 0x73]
jmp 0x140028572
mov rcx, qword [rbp - 0x10]
mov r8, rcx
mov rdx, qword [rbp - 0x18]
sub r8, rdx
cmp r8, rbx
jbe 0x1400285bb
lea rcx, [rdx + 0x10]
mov qword [rbp - 0x10], rcx
jmp 0x1400285fd
jae 0x1400285fd
mov rax, qword [rbp - 8]
sub rax, rdx
cmp rax, rbx
jae 0x1400285db
mov rdx, rbx
lea rcx, [rbp - 0x18]
call fcn.140022820
mov rcx, qword [rbp - 0x10]
jmp 0x1400285f9
mov rbx, rcx
sub rbx, r8
add rbx, 0x10
mov r8, rbx
sub r8, rcx
xor edx, edx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rcx, rbx
mov qword [rbp - 0x10], rbx
mov rdx, qword [rbp - 0x18]
sub rcx, rdx
mov r9d, 2
mov r8d, ecx
xor ecx, ecx
call qword [sym.imp.bcrypt.dll_BCryptGenRandom]
nop dword [rax + rax]
test eax, eax
jns 0x140028634
mov rcx, qword [rbp + 0x38]
mov r9d, eax
mov r8, rdi
mov edx, 0x7a
call fcn.140022ba8
jmp 0x14002857e
mov ebx, esi
test ebx, ebx
jns 0x140028644
mov r8, rdi
mov edx, 0x15
jmp 0x1400286c0
mov rdi, rsi
mov rcx, qword [rbp - 0x10]
sub rcx, qword [rbp - 0x18]
call fcn.140028100
mov rbx, rax
test rax, rax
jne 0x14002867b
mov rcx, qword [rbp + 0x38]
mov ebx, 0x8007000e
mov r9d, ebx
lea r8, str.onecoreds_security_ngcctnrsvciso_trustletexe_securebioauthorization.cpp
mov edx, 0x86
call fcn.140004430
jmp 0x14002869e
mov r8, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x18]
sub r8, rdx
mov rcx, rbx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r15, qword [rbp - 0x10]
sub r15, qword [rbp - 0x18]
mov r15d, r15d
mov rdi, rbx
mov ebx, esi
mov rcx, qword [rbp + 0x50]
mov qword [rbp + 0x50], rdi
test rcx, rcx
je 0x1400286b0
call fcn.140028140
test ebx, ebx
jns 0x1400286d1
lea r8, str.onecoreds_security_ngcctnrsvciso_trustletexe_securebioauthorization.cpp
mov edx, 0x18
mov r9d, ebx
mov rcx, qword [rbp + 0x38]
call fcn.140004430
jmp 0x140028806
call fcn.14002847c
lea rcx, [rax + 8]
mov rdx, qword [rcx + 8]
cmp qword [rcx + 0x10], rdx
je 0x14002872a
mov rax, qword [rbp - 0x28]
mov qword [rdx], rax
mov rax, qword [rbp - 0x20]
mov qword [rdx + 8], rax
mov qword [rdx + 0x10], rsi
mov qword [rdx + 0x18], rsi
mov qword [rdx + 0x20], rsi
mov rax, qword [rbp - 0x18]
mov qword [rdx + 0x10], rax
mov rax, qword [rbp - 0x10]
mov qword [rdx + 0x18], rax
mov rax, qword [rbp - 8]
mov qword [rdx + 0x20], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], rsi
add qword [rcx + 8], 0x28
jmp 0x140028733
lea r8, [rbp - 0x28]
call fcn.140028dcc
call fcn.14002847c
mov rcx, qword [rax + 0x10]
sub rcx, qword [rax + 8]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 0x10
jbe 0x1400287f4
call fcn.14002847c
mov rdi, rax
mov rbx, qword [rax + 8]
cmp rbx, qword [rax + 0x10]
je 0x14002879c
mov rcx, rbx
call fcn.140028acc
test al, al
jne 0x14002879c
mov r8, rbx
lea rdx, [rbp - 0x30]
lea rcx, [rdi + 8]
call fcn.140028b68
mov rbx, qword [rax]
cmp rbx, qword [rdi + 0x10]
jne 0x140028777
call fcn.14002847c
movabs rdi, 0x6666666666666667
mov rcx, qword [rax + 0x10]
sub rcx, qword [rax + 8]
mov rax, rdi
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 0x10
jbe 0x1400287f2
call fcn.14002847c
mov rbx, rax
call fcn.14002847c
lea rcx, [rax + 8]
mov r8, qword [rbx + 8]
lea rdx, [rbp + 0x58]
call fcn.140028b68
call fcn.14002847c
jmp 0x1400287ab
xor esi, esi
mov qword [r13], r15
mov rax, qword [rbp + 0x50]
mov qword [rbp + 0x50], rsi
mov qword [r12], rax
mov ebx, esi
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x140028855
mov rdx, qword [rbp - 8]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140028844
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140028844
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__invalid_parameter_noinfo_noreturn]
nop dword [rax + rax]
int3
call fcn.14004d380
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], rsi
test r14, r14
je 0x14002886a
mov rcx, r14
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSRWLockExclusive]
nop dword [rax + rax]
nop
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x140028878
call fcn.140028140
mov eax, ebx
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret