Function at 0x1400f96f0
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x20c8
call fcn.1400116e0
sub rsp, rax
movaps xmmword [rsp + 0x20b0], xmm6
mov qword [rsp + 0x88], r8
mov rbx, rdx
mov qword [rsp + 0x60], rcx
lea rax, [rdx + 0x70]
mov qword [rsp + 0x98], rax
lea rax, [rdx + 0x80]
mov qword [rsp + 0x90], rax
xorps xmm6, xmm6
lea r14, [rsp + 0x30]
lea r15, [rsp + 0x28]
lea r12, [rsp + 0xb0]
xor esi, esi
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x68], rdx
jmp 0x1400f977f
mov esi, 0x2000
cmp byte [rdi + 0x10], 0x23
jne case.0x1400f9cd8.2
cmp rsi, 0x2001
jae 0x1400f9dd8
mov r8d, 0x2000
sub r8, rsi
lea rcx, [rsp + rsi]
add rcx, 0xb0
xor edx, edx
call sub.msvcrt.dll_memset
mov r13, qword [rbx + 0x98]
mov esi, dword [rbx + 0xa0]
mov rbp, qword [rbx + 0xa8]
test rbp, rbp
je 0x1400f97f0
mov rax, qword [rbx + 0xb0]
mov qword [rsp + 0x70], rax
mov ebx, 0x3b9aca00
cmp esi, 0x3b9aca00
jne 0x1400f98b2
jmp 0x1400f999b
mov rax, qword [rsp + 0x98]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x30], xmm0
lea rax, [0x1401cca10]
mov qword [rbx + 0x70], rax
lea rax, str.corrupt_deflate_stream
mov qword [rbx + 0x78], rax
mov rax, qword [rsp + 0x90]
movups xmmword [rax], xmm6
movzx eax, byte [0x140206138]
mov rax, qword [0x140206128]
test rax, rax
jne 0x1400f9852
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400f9dd8
mov qword [0x140206128], rax
mov r8d, 0x50
mov rcx, rax
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400f9dd8
mov rbp, rax
mov qword [rax], 1
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm1
mov qword [rbx + 0xa8], rax
lea rax, [0x1401ccbd0]
mov qword [rbx + 0xb0], rax
mov qword [rsp + 0x70], rax
mov ebx, 0x3b9aca00
cmp esi, 0x3b9aca00
je 0x1400f999b
mov qword [rsp + 0x30], 0
mov rcx, r14
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x1400f9e09
mov rdi, qword [rsp + 0x30]
mov r8, qword [0x140206100]
test r8, r8
jne 0x1400f990a
mov qword [rsp + 0x30], 0
mov rcx, r14
call sub.kernel32.dll_QueryPerformanceFrequency
test eax, eax
je 0x1400f9e09
mov r8, qword [rsp + 0x30]
mov qword [0x140206100], r8
test r8, r8
je 0x1400f9dd8
mov rax, rdi
or rax, r8
shr rax, 0x20
je 0x1400f9923
mov rax, rdi
xor edx, edx
div r8
mov rcx, rax
jmp 0x1400f992c
mov eax, edi
xor edx, edx
div r8d
mov ecx, eax
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, r8
shr rdx, 0x20
je 0x1400f9946
xor edx, edx
div r8
jmp 0x1400f994b
xor edx, edx
div r8d
imul rcx, rcx, 0x3b9aca00
add rcx, rax
mov rax, rcx
shr rax, 9
movabs rdx, 0x44b82fa09b5a53
mul rdx
shr rdx, 0xb
add r13, rdx
jb 0x1400f9dd8
imul rax, rdx, 0x3b9aca00
sub rcx, rax
add esi, ecx
cmp esi, 0x3b9aca00
jb 0x1400f9999
inc r13
je 0x1400f9dd8
add esi, 0xc4653600
mov ebx, esi
call fcn.1400df5d0
test rax, rax
je 0x1400f9dd8
mov rsi, rax
mov rdi, qword [rax]
test rdi, rdi
je 0x1400f9d5a
lock inc qword [rdi]
jle 0x1400f9dd8
movzx eax, byte [0x140206138]
mov rax, qword [0x140206128]
test rax, rax
jne 0x1400f99ea
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400f9dd8
mov qword [0x140206128], rax
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400f9dd8
mov qword [rax], 1
mov qword [rax + 8], 1
mov rcx, rax
add rcx, 0x10
mov qword [rax + 0x10], rdi
lea rax, fcn.140096040
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rcx
lea rax, [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x70]
mov rsi, qword [rax + 0x18]
cmp ebx, 0x3b9aca00
jne 0x1400f9ac9
mov qword [rsp + 0x20], 0x2000
mov rcx, r14
mov rdx, rbp
mov r8, r15
mov r9, r12
call rsi
mov rax, qword [rsp + 0x30]
cmp rax, 2
jne 0x1400f9bf0
call fcn.1400e1930
jmp 0x1400f9a50
mov qword [rsp + 0xa0], r13
mov dword [rsp + 0xa8], ebx
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x38], ecx
lea rcx, [rsp + 0xa0]
mov rdx, r14
call fcn.1400eadc0
cmp edx, 0x3b9aca00
mov ecx, 0
cmove edx, ecx
mov ecx, 0
cmovne rcx, rax
call fcn.1400e1a50
lea r15, [rsp + 0x28]
mov qword [rsp + 0x20], 0x2000
mov rcx, r14
mov rdx, rbp
mov r8, r15
mov r9, r12
call rsi
mov rax, qword [rsp + 0x30]
cmp rax, 2
jne 0x1400f9bf0
mov qword [rsp + 0x30], 0
mov rcx, r14
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x1400f9e09
mov rdi, qword [rsp + 0x30]
mov r8, qword [0x140206100]
test r8, r8
jne 0x1400f9b47
mov qword [rsp + 0x30], 0
mov rcx, r14
call sub.kernel32.dll_QueryPerformanceFrequency
test eax, eax
je 0x1400f9e09
mov r8, qword [rsp + 0x30]
mov qword [0x140206100], r8
test r8, r8
je 0x1400f9dd8
mov rax, rdi
or rax, r8
shr rax, 0x20
je 0x1400f9b60
mov rax, rdi
xor edx, edx
div r8
mov rcx, rax
jmp 0x1400f9b69
mov eax, edi
xor edx, edx
div r8d
mov ecx, eax
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, r8
shr rdx, 0x20
je 0x1400f9b90
xor edx, edx
div r8
jmp 0x1400f9b95
xor edx, edx
div r8d
imul rcx, rcx, 0x3b9aca00
add rcx, rax
mov rax, rcx
shr rax, 9
movabs rdx, 0x44b82fa09b5a53
mul rdx
shr rdx, 0xb
imul eax, edx, 0x3b9aca00
sub ecx, eax
cmp rdx, r13
jb 0x1400f9a80
mov r15d, 1
jne 0x1400f9d77
mov edi, 0
cmp ebx, ecx
ja 0x1400f9a80
jmp 0x1400f9c0b
test rax, rax
jne 0x1400f9c00
mov rdi, qword [rsp + 0x38]
xor r15d, r15d
jmp 0x1400f9c0b
mov rdi, qword [rsp + 0x38]
mov r15d, 1
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
call qword [rax + 0x18]
test r15, r15
je 0x1400f9d7e
test rdi, rdi
mov rbx, qword [rsp + 0x68]
je 0x1400f9c50
lea r15, [rsp + 0x28]
je 0x1400f9dc1
mov eax, edi
and eax, 3
lea rcx, [0x14019b880]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
movzx eax, byte [0x140206138]
mov rax, qword [0x140206128]
test rax, rax
lea r15, [rsp + 0x28]
jne 0x1400f9c7d
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400f9dd8
mov qword [0x140206128], rax
mov r8d, 0x70
mov rcx, rax
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400f9dd8
movabs rcx, 0x8000000000000000
mov qword [rax], rcx
mov qword [rax + 0x58], 1
lea rcx, [0x1401cc6a0]
mov qword [rax + 0x60], rcx
mov word [rax + 0x68], 5
mov rcx, rax
call fcn.14008d9a0
mov rdi, rax
and eax, 3
lea rcx, [0x14019b880]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
cmp byte [rdi + 0xf], 0x23
jne case.0x1400f9cd8.2
mov rbp, qword [rdi - 1]
mov rsi, qword [rdi + 7]
mov rcx, rbp
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x1400f9d14
cmp qword [rsi + 0x10], 0x11
jb 0x1400f9d03
mov rbp, qword [rbp - 8]
mov rcx, qword [0x140206128]
xor edx, edx
mov r8, rbp
call sub.kernel32.dll_HeapFree
dec rdi
mov rcx, qword [0x140206128]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
mov esi, 0x2000
jmp 0x1400f977f
mov rax, rdi
shr rax, 0x20
mov esi, 0x2000
cmp eax, 0x23
je 0x1400f977f
jmp case.0x1400f9cd8.2
call fcn.1400e1220
cmp qword [rsi], 0
jne 0x1400f9dd8
mov rdi, rax
mov qword [rsi], rax
lock inc qword [rdi]
jg 0x1400f99c2
jmp 0x1400f9dd8
xor edi, edi
jmp 0x1400f9c0b
mov esi, 0x2000
cmp rdi, 0x2001
cmovae rsi, rdi
mov rbx, qword [rsp + 0x68]
jae 0x1400f9dd8
test rdi, rdi
lea r15, [rsp + 0x28]
je 0x1400f9dc1
mov rcx, qword [rsp + 0x88]
mov rdx, r12
mov r8, rdi
call fcn.1400f5ae0
test rax, rax
jne 0x1400f9dda
add qword [rsp + 0x58], rdi
jmp 0x1400f977f
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov qword [rax + 8], rcx
mov qword [rax], 0
jmp 0x1400f9ded
ud2
mov rdi, rax
mov rax, qword [rsp + 0x60]
mov qword [rax + 8], rdi
mov qword [rax], 1
movaps xmm6, xmmword [rsp + 0x20b0]
add rsp, 0x20c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call sub.kernel32.dll_GetLastError
ud2
lea rcx, [0x14019b890]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
lea rsi, [rdi + 0x20]
mov rcx, rsi
call sub.kernel32.dll_AcquireSRWLockExclusive
movzx eax, byte [rdi + 0x28]
mov rcx, rsi
call fcn.1401168fc
add rdi, 0x30
xor byte [rax - 0x77], cl
stc
xor byte [rax - 0x77], cl
stc
add rsp, 0x20
pop rbx
pop rdi
pop rsi
jmp fcn.14011699c
add rsi, 0x120
mov rcx, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
jmp fcn.1400faa90