Function at 0x140002140
Capabilities:
Generate random numbers via winapi

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push r13
push r14
push r15
sub rsp, 0x120
mov rax, qword [0x1400f3e08]
xor rax, rsp
mov qword [rsp + 0x110], rax
xor r12b, r12b
call fcn.140056b90
xor r13d, r13d
mov edi, eax
test eax, eax
js 0x140002765
lea r8, [rsp + 0x34]
mov r12b, 1
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAdjustment]
mov eax, 0xcccccccd
mul dword [rsp + 0x30]
movabs rax, 0x624dd2f1a9fbe77
shr edx, 3
mov ecx, edx
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 9
inc cl
mov byte [0x1400f757a], cl
lea rcx, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r8, qword [0x1400f8b08]
xor edx, edx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
mov ecx, ecx
shr rax, 0x20
imul r9, rax, 0xf4240
mov rax, r9
div r8
mov rax, rdx
imul rdx, rcx, 0xf4240
shl rax, 0x20
add rax, rdx
xor edx, edx
div r8
xor edx, edx
mov rcx, rax
mov rax, r9
div r8
xor edx, edx
mov r8d, 0x100
shl rax, 0x20
add rcx, rax
mov qword [0x1400f8968], rcx
lea rcx, [0x1400f8970]
call fcn.1400819f0
lea r9d, [r13 + 2]
xor ecx, ecx
lea r8d, [r13 + 0x2a]
lea rdx, [0x1400f8928]
call qword [sym.imp.bcrypt.dll_BCryptGenRandom]
lea rcx, [0x1400f7628]
call fcn.140058ad0
xorps xmm0, xmm0
lea r9, [0x1400f7598]
lea r8d, [r13 + 1]
xor ecx, ecx
lea rdx, [fcn.140002040]
movups xmmword [0x1400f7490], xmm0
movups xmmword [0x1400f74a0], xmm0
movups xmmword [0x1400f74b0], xmm0
movups xmmword [0x1400f74c0], xmm0
movups xmmword [0x1400f74d0], xmm0
movups xmmword [0x1400f74e0], xmm0
movups xmmword [0x1400f74f0], xmm0
movups xmmword [0x1400f7500], xmm0
movups xmmword [0x1400f7510], xmm0
call fcn.1400573d0
lea rdi, [r13 - 1]
mov r15d, eax
test eax, eax
jns 0x140002340
test byte [0x1400f8b3e], 0x20
je 0x14000233d
lea r9, str.__lib__Failed_to_open_global_settings__0x_x
mov dword [rsp + 0x20], eax
mov r8, rdi
lea rcx, [rsp + 0x90]
mov edx, 0x80
call fcn.1400015d0
lea rcx, [rsp + 0x90]
mov rax, rdi
nop
inc rax
cmp byte [rcx + rax], r13b
jne 0x140002300
inc eax
mov dword [rsp + 0x54], r13d
mov dword [rsp + 0x50], eax
lea rcx, [rsp + 0x90]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x48], rcx
mov r9d, 2
mov qword [rsp + 0x20], rax
lea rdx, [0x1400d0598]
call fcn.140001460
mov r15d, r13d
xor ecx, ecx
call fcn.140002040
mov r8d, dword [0x1400d1488]
lea rbx, [0x1400d14a4]
xorps xmm0, xmm0
mov esi, 4
movups xmmword [0x1400f7608], xmm0
mov edx, esi
mov ecx, r13d
movups xmmword [0x1400f7618], xmm0
mov rax, rbx
cmp dword [rax - 4], 0x1000000
jne 0x140002381
cmp dword [rax], r8d
je 0x14000238e
inc ecx
add rax, 8
cmp ecx, 3
jb 0x140002373
jmp 0x140002393
mov edx, 8
mov r8, qword [0x1400d148c]
mov ecx, r13d
mov rax, rbx
cmp dword [rax - 4], 0x1000000
jne 0x1400023ae
cmp dword [rax], r8d
je 0x1400023bb
inc ecx
add rax, 8
cmp ecx, 3
jb 0x1400023a0
jmp 0x1400023bd
add edx, esi
mov r8, qword [0x1400d1490]
mov ecx, r13d
mov rax, rbx
nop word [rax + rax]
cmp dword [rax - 4], 0x1000000
jne 0x1400023de
cmp dword [rax], r8d
je 0x1400023eb
inc ecx
add rax, 8
cmp ecx, 3
jb 0x1400023d0
jmp 0x1400023ed
add edx, esi
mov r8d, dword [0x1400d1494]
mov ecx, r13d
mov rax, rbx
nop word [rax + rax]
cmp dword [rax - 4], 0x1000000
jne 0x14000240e
cmp dword [rax], r8d
je 0x14000241b
inc ecx
add rax, 8
cmp ecx, 3
jb 0x140002400
jmp 0x14000241d
add edx, esi
mov rcx, qword [0x1400f8a70]
test edx, edx
cmove edx, r13d
mov r14d, edx
mov r8d, edx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [0x1400f8958], rax
mov r8, rax
test rax, rax
jne 0x1400024ab
test byte [0x1400f8b38], 2
je 0x1400024a1
lea rax, str.default_compatibility_list
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x68], rax
lea r9d, [r8 + 3]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x70], 0x1b
mov qword [rsp + 0x78], rax
lea rdx, [0x1400d0050]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x80], 8
mov qword [rsp + 0x20], rax
call fcn.140001460
mov r8, qword [0x1400f8958]
mov edi, 0x8007000e
jmp 0x14000276c
mov r9d, dword [0x1400d1488]
mov eax, r14d
shr eax, 2
mov edx, esi
mov dword [0x1400f8960], eax
mov ecx, r13d
mov rax, rbx
cmp dword [rax - 4], 0x1000000
jne 0x1400024d4
cmp dword [rax], r9d
je 0x1400024e1
inc ecx
add rax, 8
cmp ecx, 3
jb 0x1400024c6
jmp 0x1400024e6
mov edx, 8
mov r9, qword [0x1400d148c]
mov ecx, r13d
mov rax, rbx
cmp dword [rax - 4], 0x1000000
jne 0x140002501
cmp dword [rax], r9d
je 0x14000250e
inc ecx
add rax, 8
cmp ecx, 3
jb 0x1400024f3
jmp 0x140002510
add edx, esi
mov r9, qword [0x1400d1490]
mov ecx, r13d
mov rax, rbx
nop dword [rax]
cmp dword [rax - 4], 0x1000000
jne 0x14000252e
cmp dword [rax], r9d
je 0x14000253b
inc ecx
add rax, 8
cmp ecx, 3
jb 0x140002520
jmp 0x14000253d
add edx, esi
mov r9d, dword [0x1400d1494]
mov ecx, r13d
mov rax, rbx
nop word [rax + rax]
cmp dword [rax - 4], 0x1000000
jne 0x14000255e
cmp dword [rax], r9d
je 0x14000256b
inc ecx
add rax, 8
cmp ecx, 3
jb 0x140002550
jmp 0x14000256d
add edx, esi
cmp r14d, edx
jb 0x14000275d
test r8, r8
je 0x14000275d
mov dword [r8], 0x1000000
mov ecx, r13d
mov r9d, dword [0x1400d1488]
mov rax, rbx
cmp dword [rax - 4], 0x1000000
jne 0x1400025a3
mov edx, dword [rax]
cmp edx, r9d
je 0x1400025b0
inc ecx
add rax, 8
cmp ecx, 3
jb 0x140002593
jmp 0x1400025b9
mov dword [r8 + 4], edx
mov esi, 8
mov r9, qword [0x1400d148c]
mov ecx, r13d
mov rax, rbx
cmp dword [rax - 4], 0x1000000
jne 0x1400025d6
mov edx, dword [rax]
cmp edx, r9d
je 0x1400025e3
inc ecx
add rax, 8
cmp ecx, 3
jb 0x1400025c6
jmp 0x1400025ec
mov eax, esi
add esi, 4
mov dword [rax + r8], edx
mov r9, qword [0x1400d1490]
mov ecx, r13d
mov rax, rbx
nop dword [rax]
cmp dword [rax - 4], 0x1000000
jne 0x140002610
mov edx, dword [rax]
cmp edx, r9d
je 0x14000261d
inc ecx
add rax, 8
cmp ecx, 3
jb 0x140002600
jmp 0x140002626
mov eax, esi
add esi, 4
mov dword [rax + r8], edx
mov edx, dword [0x1400d1494]
mov eax, r13d
nop
cmp dword [rbx - 4], 0x1000000
jne 0x14000263f
mov ecx, dword [rbx]
cmp ecx, edx
je 0x14000264c
inc eax
add rbx, 8
cmp eax, 3
jb 0x140002630
jmp 0x140002652
mov eax, esi
mov dword [rax + r8], ecx
mov rax, qword [0x1400f8b38]
test r12b, al
je 0x1400026ad
lea rax, [rsp + 0x38]
mov r9d, 1
lea rdx, [0x1400cffb0]
mov qword [rsp + 0x20], rax
call fcn.140001460
mov rax, qword [0x1400f8b38]
test r12b, al
je 0x1400026ad
mov eax, dword [0x1400f7480]
mov r9d, dword [0x1400f7478]
mov r8d, dword [0x1400f7474]
mov dword [rsp + 0x28], eax
mov eax, dword [0x1400f747c]
mov dword [rsp + 0x20], eax
call fcn.1400014c0
lea rcx, str.verifier.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1400026d5
lea rcx, str.vrfcore.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1400026d5
mov cl, 4
jmp 0x1400026d7
xor cl, cl
movzx eax, byte [0x1400f7470]
and al, 0xfb
or al, cl
mov byte [0x1400f7470], al
test al, 4
je 0x14000275d
test byte [0x1400f8b3e], 0x40
je 0x14000275d
lea r9, str.__lib__Verifing_enabled_for_all_
mov r8, rdi
mov edx, 0x80
lea rcx, [rsp + 0x90]
call fcn.1400015d0
lea rax, [rsp + 0x90]
nop dword [rax]
inc rdi
cmp byte [rax + rdi], r13b
jne 0x140002720
lea rax, [rsp + 0x90]
mov dword [rsp + 0x54], r13d
mov qword [rsp + 0x48], rax
lea rdx, [0x1400d0290]
lea rax, [rsp + 0x38]
inc edi
mov r9d, 2
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x50], edi
call fcn.140001460
mov eax, r15d
jmp 0x1400027eb
mov r8, qword [0x1400f8958]
mov rbx, qword [0x1400f7598]
test rbx, rbx
je 0x1400027c4
mov rcx, qword [rbx + 0x10]
mov edx, 1
call qword [sym.imp.KERNEL32.dll_WaitForThreadpoolWaitCallbacks]
mov rcx, qword [rbx]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_CloseThreadpoolWait]
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [0x1400f8a70]
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8, qword [0x1400f8958]
mov qword [0x1400f7598], r13
test r8, r8
je 0x1400027df
mov rcx, qword [0x1400f8a70]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [0x1400f8958], r13
test r12b, r12b
je 0x1400027e9
call fcn.140056f70
mov eax, edi
mov rcx, qword [rsp + 0x110]
xor rcx, rsp
call fcn.14007f5b0
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
ret