Function at 0x140017bc0
Capabilities:
Generate random numbers via winapi

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x70
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
xor edi, edi
mov qword [rsp + 0x60], rdi
lea ecx, [rdi + 0x10]
call fcn.140024e1c
mov rsi, rax
mov qword [rsp + 0x50], rax
lea r14, [rax + 0x10]
mov qword [rsp + 0x60], r14
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x90], rdi
mov dword [rsp + 0x20], 0xf0000040
lea r9d, [rdi + 1]
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x90]
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
mov ebx, eax
test eax, eax
je 0x140017c4a
mov r8, rsi
lea edx, [rdi + 0x10]
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
mov ebx, eax
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x140017c5f
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
test ebx, ebx
je 0x140017e01
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rdi
mov r15, r14
sub r15, rsi
je 0x140017cb9
movabs rax, 0x7fffffffffffffff
cmp r15, rax
ja 0x140017e4e
mov rdx, r15
lea rcx, [rsp + 0x38]
call fcn.140009a50
mov r8, r15
mov rdx, rsi
mov rbx, qword [rsp + 0x38]
mov rcx, rbx
call fcn.140046b90
lea rax, [r15 + rbx]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x38]
lea rcx, [0x140062e50]
call fcn.140014a80
mov rbx, qword [rsp + 0x38]
test eax, eax
je 0x140017dc7
mov r15, qword [rsp + 0x40]
mov rax, r15
sub rax, rbx
cmp rax, 0x100
jne 0x140017dc7
lea rcx, [0x14006a098]
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov rcx, qword [0x14006a0f0]
test rcx, rcx
je 0x140017d3a
mov rdx, qword [0x14006a100]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140017d35
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140017e54
mov rcx, r8
call fcn.140024e14
mov qword [0x14006a0f0], rsi
mov qword [0x14006a0f8], r14
mov qword [0x14006a100], r14
mov rsi, rdi
mov r14, rdi
mov rcx, qword [0x14006a108]
test rcx, rcx
je 0x140017d95
mov rdx, qword [0x14006a118]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140017d90
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140017e54
mov rcx, r8
call fcn.140024e14
mov qword [0x14006a108], rbx
mov qword [0x14006a110], r15
mov rax, qword [rsp + 0x48]
mov qword [0x14006a118], rax
mov rbx, rdi
inc qword [0x14006a090]
lea rcx, [0x14006a098]
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
jmp 0x140017dcc
mov rdi, qword [rsp + 0x48]
test rbx, rbx
je 0x140017e01
sub rdi, rbx
mov rax, rbx
cmp rdi, 0x1000
jb 0x140017df5
add rdi, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140017e5a
mov rdx, rdi
mov rcx, rbx
call fcn.140024e14
nop
test rsi, rsi
je 0x140017e36
sub r14, rsi
mov rax, rsi
cmp r14, 0x1000
jb 0x140017e2a
add r14, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140017e60
mov rdx, r14
mov rcx, rsi
call fcn.140024e14
nop
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
call fcn.1400062f0
nop
call fcn.140036164
nop
call fcn.140036164
nop
call fcn.140036164
int3