Function at 0x14000b1e0
Capabilities:
Generate random numbers via rtlgenrandom
Generate random numbers via winapi
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0xd0
mov esi, dword [0x140056018]
test esi, esi
je 0x14000b450
dec esi
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
ja 0x14000b445
je 0x14000b2ad
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x20]
xor ecx, ecx
mov r8d, 0x20
mov r9d, 2
call sub.bcrypt.dll_BCryptGenRandom
cmp eax, 0xc0000000
jb 0x14000b259
mov edi, eax
lea rbx, [rsp + 0x20]
mov rcx, rbx
mov edx, 0x20
call sub.ADVAPI32.dll_SystemFunction036
test al, al
je 0x14000b49e
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
mov rax, qword [0x1400670e0]
test rax, rax
je 0x14000b471
and eax, 0x4000
xor ecx, ecx
lea rdi, [rsp + 0x50]
or rax, rcx
je 0x14000b2b4
lea r8, [0x14005aca8]
lea rdx, [rsp + 0x80]
mov rcx, rdi
call fcn.14000d850
jmp 0x14000b2d6
xor eax, eax
jmp 0x14000b445
movaps xmm0, xmmword [rsp + 0x80]
movaps xmm1, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x60], xmm1
xorps xmm0, xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmm0, xmmword [rdi]
movaps xmm1, xmmword [rdi + 0x10]
movaps xmm2, xmmword [rdi + 0x20]
movups xmmword [rsp + 0x48], xmm0
movups xmmword [rsp + 0x58], xmm1
movups xmmword [rsp + 0x68], xmm2
movzx eax, byte [0x1400670e8]
mov ecx, 0x170
call fcn.14004a330
test rax, rax
je 0x14000b47b
mov rdi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
xorps xmm0, xmm0
movaps xmmword [rax + 0x10], xmm0
movaps xmmword [rax + 0x20], xmm0
movaps xmmword [rax + 0x30], xmm0
movaps xmmword [rax + 0x40], xmm0
movaps xmmword [rax + 0x50], xmm0
movaps xmmword [rax + 0x60], xmm0
movaps xmmword [rax + 0x70], xmm0
movaps xmmword [rax + 0x80], xmm0
movaps xmmword [rax + 0x90], xmm0
movaps xmmword [rax + 0xa0], xmm0
movaps xmmword [rax + 0xb0], xmm0
movaps xmmword [rax + 0xc0], xmm0
movaps xmmword [rax + 0xd0], xmm0
movaps xmmword [rax + 0xe0], xmm0
movaps xmmword [rax + 0xf0], xmm0
movaps xmmword [rax + 0x100], xmm0
mov qword [rax + 0x110], 0x40
movups xmm0, xmmword [rsp + 0x40]
movups xmm1, xmmword [rsp + 0x50]
movups xmm2, xmmword [rsp + 0x60]
movups xmmword [rax + 0x118], xmm0
movups xmmword [rax + 0x128], xmm1
movups xmmword [rax + 0x138], xmm2
mov rax, qword [rsp + 0x70]
mov qword [rdi + 0x148], rax
mov qword [rdi + 0x150], 0x10000
mov qword [rdi + 0x158], 0x10000
mov qword [rdi + 0x160], 0
movzx eax, byte [0x1400670e8]
mov ecx, 0x10
call fcn.14004a330
test rax, rax
je 0x14000b48a
mov qword [rax], rdi
mov dword [rax + 8], esi
mov ecx, esi
mov rbx, rax
call sub.kernel32.dll_TlsGetValue
mov rdi, rax
mov ecx, esi
mov rsi, rbx
mov rdx, rbx
call sub.kernel32.dll_TlsSetValue
test rdi, rdi
je 0x14000b442
mov r8, qword [rdi]
dec qword [r8]
jne 0x14000b431
dec qword [r8 + 8]
jne 0x14000b431
mov rcx, qword [0x1400670d0]
xor edx, edx
call fcn.14005452c
mov rcx, qword [0x1400670d0]
xor edx, edx
mov r8, rdi
call fcn.14005452c
mov rax, rsi
add rsp, 0xd0
pop rbx
pop rdi
pop rsi
ret
lea rcx, section..data
call fcn.140018c10
mov esi, eax
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x14000b20b
jmp 0x14000b445
call fcn.14004e4a0
jmp 0x14000b283
mov ecx, 0x10
mov edx, 0x170
call fcn.140004690
mov ecx, 8
mov edx, 0x10
call fcn.140004690
jmp 0x14000b538
movzx eax, byte [0x1400670e8]
mov ecx, 4
call fcn.14004a330
test rax, rax
jne 0x14000b4c3
mov ecx, 4
mov edx, 4
call fcn.140004690
and edi, 0x7fffffff
mov dword [rax], edi
mov qword [rsp + 0x20], rax
lea rax, [0x14005abe8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x80], rbx
lea rax, [0x14000d870]
mov qword [rsp + 0x88], rax
lea rax, [0x14005aab0]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
mov qword [rsp + 0x60], 0
lea rax, [rsp + 0x80]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
lea rdx, str._home_medusa_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rand_0.8.5_src_rngs_thread.rs
lea rcx, [rsp + 0x40]
call fcn.140004ef0
ud2