Function at 0x1400a78e9
Capabilities:
Generate random numbers via rtlgenrandom
Generate random numbers via winapi

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1f8
mov rdi, r8
mov rbx, rdx
mov qword [rsp + 0x88], rcx
movabs rax, 0x100000002
cmp qword [rdx], rax
jne 0x1400a79f6
movabs rax, 0x3eb00000002
cmp qword [rbx + 8], rax
jne 0x1400a79f6
mov r14, qword [rdi]
add r14, 0x18
imul rsi, qword [rdi + 0x10], 0x28
movabs rbp, 0x600000002
movabs r13, 0x3ba00000002
lea r12, [rsp + 0x40]
test rsi, rsi
je 0x1400a79f6
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x168], r13
cmp qword [r14 - 0x18], rbp
jne 0x1400a79d4
mov r15, qword [r14 - 0x10]
lea rcx, [rsp + 0x168]
call fcn.14003810e
mov rcx, r12
call fcn.14003810e
cmp r15, r13
jne 0x1400a79e9
mov rcx, r14
call fcn.140038437
mov r9d, 9
mov rcx, rax
lea r8, str.text_htmlapplication_xhtmlxmlBad_DOCTYPE:
call fcn.1400a8a02
test al, al
jne 0x1400a79f6
mov rcx, r14
call fcn.140038437
mov r9d, 0x15
mov rcx, rax
lea r8, [0x1401a4ff1]
call fcn.1400a8a02
test al, al
je 0x1400a79e9
jmp 0x1400a79f6
lea rcx, [rsp + 0x168]
call fcn.14003810e
mov rcx, r12
call fcn.14003810e
add r14, 0x28
add rsi, 0xffffffffffffffd8
jmp 0x1400a7956
mov rax, qword [rbx + 0x10]
lea rdx, [rsp + 0x100]
mov qword [rdx + 0x10], rax
movups xmm0, xmmword [rbx]
movaps xmmword [rdx], xmm0
mov rbx, qword [rdi]
mov rax, qword [rdi + 8]
mov qword [rsp + 0x90], rax
mov r12, qword [rdi + 0x10]
lea rcx, [rsp + 0x118]
call fcn.1400a78a2
mov rsi, qword [0x1401dd1a0]
test rsi, rsi
jne 0x1400a7ab1
mov ecx, 8
mov edx, 8
call fcn.140040661
mov rdi, rax
lea rax, [0x1400f7d28]
mov qword [rdi], rax
mov ecx, 0x10
mov edx, 8
call fcn.140040661
mov rsi, rax
mov qword [rax], rdi
lea rax, [0x1401a57b0]
mov qword [rsi + 8], rax
xor eax, eax
lock cmpxchg qword [0x1401dd1a0], rsi
je 0x1400a7ab1
mov rdi, rax
mov r14, qword [rsi]
mov r15, qword [rsi + 8]
mov rcx, r14
call qword [r15]
mov r8, qword [r15 + 8]
mov rdx, qword [r15 + 0x10]
mov rcx, r14
call fcn.140002892
mov edx, 8
mov rcx, rsi
call fcn.14000f230
mov rsi, rdi
mov rcx, qword [rsi]
mov rdx, qword [rsi + 8]
mov r15, qword [0x1401dd198]
test r15, r15
mov qword [rsp + 0x30], r12
jne 0x1400a7bf4
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x28], rcx
xorps xmm0, xmm0
lea r12, [rsp + 0xb0]
movaps xmmword [r12 + 0x30], xmm0
movaps xmmword [r12 + 0x20], xmm0
movaps xmmword [r12 + 0x10], xmm0
movaps xmmword [r12], xmm0
mov r15d, 0x40
mov r13d, 0xffffffff
mov rdi, qword [sym.imp.bcrypt.dll_BCryptGenRandom]
test r15, r15
je 0x1400a7b5c
mov rsi, r12
cmp r15, r13
mov r14d, 0xffffffff
cmovb r14, r15
add r12, r14
sub r15, r14
xor ecx, ecx
mov rdx, rsi
mov r8d, r14d
mov r9d, 2
call rdi
cmp eax, 0xc0000000
jb 0x1400a7b0c
mov ebp, eax
mov rcx, rsi
mov edx, r14d
call qword [sym.imp.ADVAPI32.dll_SystemFunction036]
test al, al
jne 0x1400a7b0c
xor ebp, 0x80000000
jne 0x1400a7fec
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movaps xmm2, xmmword [rsp + 0xd0]
movaps xmm3, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x70], xmm3
movaps xmmword [rsp + 0x60], xmm2
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
mov ecx, 0x40
mov edx, 8
call fcn.140040661
mov r15, rax
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movaps xmm3, xmmword [rsp + 0x70]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x30], xmm3
xor eax, eax
lock cmpxchg qword [0x1401dd198], r15
je 0x1400a7be5
mov rsi, rax
mov edx, 8
mov rcx, r15
call fcn.14000f230
mov r15, rsi
mov r12, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x38]
imul r14, r12, 0x28
add qword [rsp + 0x88], 0x18
lea rax, [rbx + r14]
mov qword [rsp + 0x28], rax
call qword [rdx + 0x18]
mov rcx, qword [r15 + 8]
movups xmm0, xmmword [r15 + 0x10]
xor rax, qword [r15]
lea r13, [rsp + 0xb0]
mov qword [r13 + 0x18], rcx
movups xmmword [r13], xmm0
movabs rcx, 0x5851f42d4c957f2d
mul rcx
xor rdx, rax
mov qword [r13 + 0x10], rdx
mov rsi, qword [r15 + 0x20]
mov r12, qword [r15 + 0x30]
mov rcx, r13
mov rdx, rsi
mov r8, r12
call fcn.14000f3bb
mov qword [rsp + 0x38], rax
mov rbp, qword [r15 + 0x28]
mov r15, qword [r15 + 0x38]
mov rcx, r13
mov rdx, rbp
mov r8, r15
call fcn.14000f3bb
mov rdi, rax
mov rcx, r13
mov rdx, r12
mov r8, rbp
mov rbp, r13
call fcn.14000f3bb
mov r12, rax
mov rcx, r13
mov rdx, r15
mov r8, rsi
lea rsi, [rsp + 0x60]
call fcn.14000f3bb
mov rcx, qword [rsp + 0x38]
mov qword [rsi], rcx
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], rax
lea rax, [0x1401acb20]
mov qword [rsi - 0x20], rax
xorps xmm0, xmm0
movups xmmword [rsi - 0x18], xmm0
and qword [rsi - 8], 0
lea rdi, [rsp + 0x40]
mov rcx, rdi
mov rdx, qword [rsp + 0x30]
mov r8, rsi
call fcn.14009b9c8
mov rcx, r14
mov qword [rsp + 0x130], rbx
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x148], rax
lea r15, [rsp + 0xa0]
lea r14, [rbx + 0x28]
lea r13, [rsp + 0x98]
test rcx, rcx
je 0x1400a7eda
mov rax, qword [rbx]
test rax, rax
je 0x1400a7edf
mov qword [rsp + 0x30], rcx
movups xmm0, xmmword [rbx + 8]
movups xmm1, xmmword [rbx + 0x18]
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
movups xmm0, xmmword [rbp + 0x10]
movaps xmmword [rsp + 0xf0], xmm0
mov qword [rsp + 0x98], rax
movups xmm0, xmmword [rbx + 8]
movups xmmword [r15], xmm0
mov rcx, rsi
mov rdx, r13
call fcn.14009b834
mov r12, rax
mov rcx, rdi
mov rdx, rax
mov r8, r13
call fcn.14009b977
test rax, rax
je 0x1400a7db1
movups xmm0, xmmword [rax - 0x10]
lea rcx, [rsp + 0x158]
movups xmmword [rcx], xmm0
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [rax - 0x10], xmm0
mov rcx, r13
call fcn.14009b4dc
mov eax, 1
jmp 0x1400a7eaf
mov rdi, rsi
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xc0], rax
movups xmm0, xmmword [rsp + 0x98]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [rbp + 0x18], xmm0
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rcx, rbp
mov rdx, rsi
mov r8, r12
call fcn.140057c87
movzx r15d, byte [rbp + rax]
mov rcx, qword [rsp + 0x50]
and r15d, 1
test rcx, rcx
jne 0x1400a7e40
test r15b, r15b
je 0x1400a7e40
mov edx, 1
lea rcx, [rsp + 0x40]
mov r8, rdi
call fcn.14009b9c8
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rcx, rbp
mov rdx, rsi
mov r8, r12
call fcn.140057c87
mov rcx, qword [rsp + 0x50]
sub rcx, r15
mov qword [rsp + 0x50], rcx
shr r12, 0x39
lea rcx, [rax - 0x10]
and rcx, rsi
mov byte [rbp + rax], r12b
mov byte [rcx + rbp + 0x10], r12b
inc qword [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
neg rax
imul rax, rax, 0x28
mov rdx, qword [rsp + 0xd0]
mov qword [rcx + rax - 8], rdx
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movups xmmword [rcx + rax - 0x18], xmm1
movups xmmword [rcx + rax - 0x28], xmm0
xor eax, eax
mov rsi, rdi
lea rbp, [rsp + 0xb0]
lea rdi, [rsp + 0x40]
lea r15, [rsp + 0xa0]
add rbx, 0x28
mov qword [rsp + 0x150], rax
lea rcx, [rsp + 0x150]
call fcn.140037f38
add r14, 0x28
mov rcx, qword [rsp + 0x30]
add rcx, 0xffffffffffffffd8
jmp 0x1400a7d15
mov r14, qword [rsp + 0x28]
lea rcx, [rsp + 0x130]
mov qword [rcx + 0x10], r14
call fcn.14009b7e2
lea rdi, [rsp + 0x40]
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmm3, xmmword [rdi + 0x30]
lea rcx, [rsp + 0x170]
movups xmmword [rcx + 0x48], xmm3
movups xmmword [rcx + 0x38], xmm2
movups xmmword [rcx + 0x28], xmm1
movups xmmword [rcx + 0x18], xmm0
mov rax, qword [rsp + 0x128]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsp + 0x118]
movups xmmword [rcx], xmm0
lea r14, [rsp + 0x168]
mov qword [r14 + 0x60], 2
and qword [r14 + 0x78], 0
mov qword [r14], 5
mov rcx, qword [rsp + 0x88]
mov rdx, r14
call fcn.14009f76c
mov rsi, rax
mov rbx, rdx
movabs r12, 0x700000002
mov qword [rdi], r12
movabs r15, 0x3c500000002
mov qword [r14], r15
mov r13, qword [rsp + 0x100]
mov r14, qword [rsp + 0x108]
lea rcx, [rsp + 0x168]
call fcn.14003810e
mov rcx, rdi
call fcn.14003810e
cmp r13, r12
jne 0x1400a7fc8
cmp r14, r15
jne 0x1400a7fc8
lea r8, [rsp + 0x168]
mov qword [r8], 1
mov rcx, rsi
mov rdx, rbx
call fcn.14009f741
lea rcx, [rsp + 0x100]
call fcn.14009b4dc
mov rax, rsi
add rsp, 0x1f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, [rsp + 0x40]
mov dword [r8], ebp
lea rax, [0x1401a5798]
mov qword [rsp + 0x20], rax
lea rcx, str.getrandom::getrandom___failed.C:Users_abasa.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ahash_0.8.3_src_random_state.rs
lea r9, [0x1401a56b0]
mov edx, 0x1e
call fcn.1400f0710
ud2