Function at 0x1400219c0
Capabilities:
Check for time delay via queryperformancecounter
Generate random numbers via winapi

Disassembly:
mov r11, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r15
lea rbp, [r11 - 0x278]
sub rsp, 0x348
mov rax, qword [0x1400f3e08]
xor rax, rsp
mov qword [rbp + 0x230], rax
mov qword [r11 - 0x38], r14
xor r12b, r12b
movzx r14d, byte [r8 + 0x56]
mov rbx, r8
mov qword [rsp + 0x30], rbx
mov r15, rdx
mov rsi, rcx
mov rdi, 0xffffffffffffffff
test r14b, r14b
je 0x140021a5a
mov rbx, qword [rcx + 0x4f0]
mov qword [r11 + 0x20], r13
mov r13, qword [r8 + 0x40]
test rbx, rbx
je 0x140021c11
cmp r14b, byte [rbx + 0x11]
jne 0x140021a45
mov r8, r14
lea rdx, [rbx + 0x20]
mov rcx, r13
call fcn.140081240
test eax, eax
je 0x140021b3d
mov rbx, qword [rbx]
test rbx, rbx
jne 0x140021a28
mov rbx, qword [rsp + 0x30]
mov r13, qword [rsp + 0x398]
mov rcx, qword [r15]
mov r14, qword [rsp + 0x340]
movzx eax, byte [rcx + 1]
test al, 0x10
jne 0x140021d5e
or al, 0x10
mov byte [rcx + 1], al
mov rdx, qword [r15]
test byte [rdx + 1], 2
jne 0x140021d79
mov rax, qword [rdx + 0x90]
test rax, rax
je 0x140021aa2
test r12b, r12b
je 0x140021c2e
cmp byte [rax + 0x21], 0
je 0x140021c2e
lea rcx, [rsi + 0x4f8]
mov rax, qword [rcx]
cmp rax, rcx
je 0x140021ac3
test byte [rax + 0x20], 0x28
je 0x140021c19
mov rax, qword [rax]
cmp rax, rcx
jne 0x140021ab1
test byte [0x1400f8b3b], 4
je 0x140021b23
lea rax, [rbp + 0x138]
mov qword [rbp + 0x138], rsi
mov qword [rbp + 0x188], rax
lea rdx, [0x1400cffc0]
lea rax, str.No_unused_CID_for_new_path
mov qword [rbp + 0x190], 8
mov qword [rbp + 0x198], rax
mov r9d, 3
lea rax, [rbp + 0x178]
mov qword [rbp + 0x1a0], 0x1b
mov qword [rsp + 0x20], rax
call fcn.140001460
mov rax, qword [r15]
and byte [rax + 1], 0xef
mov rax, qword [r15]
mov qword [rax + 0x90], 0
jmp 0x140021e8a
test byte [rbx + 0x10], 0x10
jne 0x140021a4d
test byte [0x1400f8b3b], 0x80
je 0x140021bf7
movzx r8d, r14b
lea rcx, [rsp + 0x38]
mov rdx, r13
call fcn.140005e20
lea r9, str.First_usage_of_SrcCid:__s
mov qword [rsp + 0x20], rax
mov r8, rdi
lea rcx, [rbp + 0x1b0]
mov edx, 0x80
call fcn.1400015d0
lea rax, [rbp + 0x138]
mov qword [rbp + 0x138], rsi
mov qword [rbp + 0x188], rax
lea rcx, [rbp + 0x1b0]
mov rax, rdi
mov qword [rbp + 0x190], 8
nop
inc rax
cmp byte [rcx + rax], r12b
jne 0x140021bb0
inc eax
mov dword [rbp + 0x1a4], 0
mov dword [rbp + 0x1a0], eax
lea rcx, [rbp + 0x1b0]
lea rax, [rbp + 0x178]
mov qword [rbp + 0x198], rcx
mov r9d, 3
mov qword [rsp + 0x20], rax
lea rdx, [0x1400d0508]
call fcn.140001460
or byte [rbx + 0x10], 0x10
mov eax, 1
test byte [rbx + 0x10], 1
movzx r12d, r12b
cmove r12d, eax
jmp 0x140021a4d
mov rbx, r8
jmp 0x140021a52
mov qword [rdx + 0x90], rax
mov rax, qword [r15]
mov rcx, qword [rax + 0x90]
or byte [rcx + 0x20], 8
mov rax, qword [r15]
lea rcx, [rbp + 0x138]
or byte [rax + 2], 1
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r9, qword [0x1400f8b08]
xor edx, edx
mov rcx, qword [rbp + 0x138]
mov rax, rcx
mov ecx, ecx
shr rax, 0x20
imul r10, rax, 0xf4240
mov rax, r10
div r9
mov rax, rdx
shl rax, 0x20
imul rdx, rcx, 0xf4240
mov rcx, qword [r15]
add rax, rdx
xor edx, edx
div r9
xor edx, edx
mov r8, rax
mov rax, r10
div r9
shl rax, 0x20
add r8, rax
mov qword [rcx + 0xe8], r8
xor ecx, ecx
mov rdx, qword [r15]
add rdx, 0xdc
lea r9d, [rcx + 2]
lea r8d, [rcx + 8]
call qword [sym.imp.bcrypt.dll_BCryptGenRandom]
movzx eax, byte [rsi + 0x131]
test al, 0x20
je 0x140021d4b
or byte [rsi + 0x132], 1
lea rcx, [rbp + 0x138]
and al, 0xdf
mov byte [rsi + 0x131], al
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r8, qword [0x1400f8b08]
xor edx, edx
mov rcx, qword [rbp + 0x138]
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
lea rdx, [rsi + 0x20c]
shl rax, 0x20
add rcx, rax
mov qword [rsi + 0x218], rcx
xor ecx, ecx
lea r9d, [rcx + 2]
lea r8d, [rcx + 8]
call qword [sym.imp.bcrypt.dll_BCryptGenRandom]
lea rcx, [rsi + 0xd58]
mov edx, 0x400
call fcn.140042460
jmp 0x140021d79
test r12b, r12b
je 0x140021d79
test al, 4
jne 0x140021d74
mov rdx, rcx
mov rcx, rsi
call fcn.140016ac0
jmp 0x140021d79
and al, 0xfb
mov byte [rcx + 1], al
movzx eax, byte [rbx + 0x5d]
and al, 0xc
cmp al, 0xc
jne 0x140021e8a
mov rdx, qword [r15]
test byte [rdx + 1], 2
jne 0x140021e8a
mov rcx, rsi
call fcn.140041ad0
lea rax, [rsi + 0x130]
mov qword [r15], rax
test byte [0x1400f8b39], 0x40
je 0x140021dcd
lea rax, [rsi + 0x168]
mov r9b, 0x1c
mov r8, rsi
mov qword [rsp + 0x20], rax
lea rdx, [0x1400d0180]
call fcn.140005d90
mov rax, qword [r15]
add rax, 0x38
mov dword [rbp + 0x140], 5
test byte [0x1400f8b3c], 1
mov qword [rbp + 0x148], rax
je 0x140021e7b
lea r9, str.Indicating_QUIC_CONNECTION_EVENT_PEER_ADDRESS_CHANGED
mov r8, rdi
mov edx, 0x80
lea rcx, [rbp + 0x1b0]
call fcn.1400015d0
lea rax, [rbp + 0x138]
mov qword [rbp + 0x138], rsi
mov qword [rbp + 0x188], rax
lea rax, [rbp + 0x1b0]
mov qword [rbp + 0x190], 8
inc rdi
cmp byte [rax + rdi], 0
jne 0x140021e34
lea rax, [rbp + 0x1b0]
mov dword [rbp + 0x1a4], 0
mov qword [rbp + 0x198], rax
lea rdx, [0x1400d0190]
lea rax, [rbp + 0x178]
inc edi
mov r9d, 3
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x1a0], edi
call fcn.140001460
lea rdx, [rbp + 0x140]
mov rcx, rsi
call fcn.140015f70
mov rcx, qword [rbp + 0x230]
xor rcx, rsp
call fcn.14007f5b0
add rsp, 0x348
pop r15
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret