Function at 0x140008814
Capabilities:
Generate random numbers via winapi

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x100
mov qword [rbp - 0x59], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x20], rsi
mov r12, r8
mov r15, rdx
mov rbx, rcx
xor edi, edi
mov dword [rsp + 0x30], edi
test r9b, r9b
jne 0x140008936
mov r9, qword [rcx + 0x40]
sub r9, qword [rcx + 0x38]
movabs rax, 0x6666666666666667
imul r9
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x140008936
lea rdx, [rcx + 8]
lea rcx, [rbp - 0x51]
call fcn.140008b9c
nop
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], rdi
movdqu xmmword [rbp - 9], xmm0
mov qword [rbp + 7], rdi
movzx eax, word [rbx]
mov word [rbp + 0xf], ax
lea r8, [rbp - 0x51]
lea rdx, [rbp - 0x79]
mov rcx, rbx
call fcn.1400084b0
nop
mov rbx, qword [rbp - 0x69]
sub rbx, qword [rbp - 0x71]
sar rbx, 3
lea rcx, [rbp + 0x77]
lea rdx, [rbp + 0x7f]
sub edx, ecx
lea r8, [rbp + 0x77]
mov rcx, qword [0x14001d0c0]
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
xor edx, edx
mov rax, qword [rbp + 0x77]
div rbx
mov rax, qword [rbp - 0x69]
mov rcx, qword [rbp - 0x71]
sub rax, rcx
test rax, 0xfffffffffffffff8
je 0x140008901
mov rdi, qword [rcx + rdx*8]
mov rcx, qword [rbp - 0x71]
call qword [sym.imp.msvcrt.dll_free]
nop
mov rcx, qword [rbp - 9]
call qword [sym.imp.msvcrt.dll_free]
nop
mov rcx, qword [rbp - 0x29]
call qword [sym.imp.msvcrt.dll_free]
nop
mov rcx, qword [rbp - 0x49]
call qword [sym.imp.msvcrt.dll_free]
mov ebx, dword [rdi + 0x58]
movzx r14d, word [rdi + 0x5e]
jmp 0x14000897f
lea rcx, [rbp + 0x77]
lea rdx, [rbp + 0x7f]
sub edx, ecx
lea r8, [rbp + 0x77]
mov rcx, qword [0x14001d0c0]
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
movabs rax, 0xe38e38e38e38e38f
mov rbx, qword [rbp + 0x77]
mul rbx
shr rdx, 3
lea rax, [rdx + rdx*8]
sub rbx, rax
lea rax, [0x140013430]
mov rbx, qword [rax + rbx*8]
mov r14, rbx
shr r14, 0x20
mov rdi, qword [r12]
mov ecx, ebx
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov rdx, rax
or r8, 0xffffffffffffffff
lea rcx, [rbp - 0x79]
call fcn.140001b78
mov esi, 2
mov dword [rsp + 0x30], esi
mov r9, qword [rax + 8]
movzx eax, r14w
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], eax
lea r8, [0x140014960]
xor edx, edx
lea rcx, [0x14001d010]
call fcn.140001720
and esi, 0xfffffffd
mov dword [rsp + 0x30], esi
lea rcx, [rbp - 0x79]
call fcn.140001bac
movups xmm0, xmmword [r12]
movdqu xmmword [rbp - 0x79], xmm0
mov ecx, ebx
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov rdx, rax
or r8, 0xffffffffffffffff
lea rcx, [rbp + 0x17]
call fcn.140001b78
or esi, 4
mov dword [rsp + 0x30], esi
mov r9, qword [rax + 8]
mov rdx, qword [rax + 0x10]
sub rdx, r9
lea rcx, [rdx - 1]
neg rdx
sbb rax, rax
and rcx, rax
add rcx, r9
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x48], rcx
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
lea r9, [rbp - 0x79]
movzx r8d, r14w
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.1400037b8
or esi, 1
mov dword [rsp + 0x30], esi
and esi, 0xfffffffb
mov dword [rsp + 0x30], esi
lea rcx, [rbp + 0x17]
call fcn.140001bac
mov rax, r15
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret