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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
mov ebp, r9d
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
mov rax, qword [0x140145040]
xor rax, rsp
mov qword [rsp + 0x130], rax
movabs r15, 0x8637bd05af7
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x110], rax
mov rax, qword [fcn.1400965a0]
lea r13, [0x1400b3080]
cmp rax, r13
jne 0x14000c48c
lea r14, [rsp + 0xc0]
mov qword [r14], 0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r14]
mov rcx, qword [0x140157648]
cmp rax, r15
jge 0x14000c4b5
imul rax, rax, 0xf4240
cqo
idiv rcx
mov qword [rsp + 0x110], rax
test bpl, bpl
je 0x14000c0d7
xorps xmm0, xmm0
lea r14, [rsp + 0xf0]
movaps xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
movaps xmm0, xmmword [0x1401213c0]
lea r15, [rsp + 0xc0]
movaps xmmword [r15 + 0x20], xmm0
movaps xmmword [r15 + 0x10], xmm0
movaps xmmword [r15], xmm0
lea r12, [rsp + 0x118]
mov rcx, rdi
mov rdx, r12
call fcn.140025de0
mov rcx, r15
mov rdx, r12
mov r8, r14
call fcn.14000c9c0
cmp byte [r12 + 0x17], 0
jns 0x14000c076
mov rcx, qword [rsp + 0x118]
call fcn.1400b4d44
mov rax, qword [rsp + 0xc0]
inc rax
cmp rax, 2
jae 0x14000c128
xor edi, edi
lea rcx, [rsp + 0xc0]
call fcn.140096cf0
cmp byte [rsp + 0x107], 0
jns 0x14000c0b1
mov rcx, qword [rsp + 0xf0]
call fcn.1400b4d44
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.1400b7310
mov eax, edi
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r14, [rsp + 0xc0]
mov rcx, rdi
mov rdx, r14
call fcn.140025de0
mov rcx, r14
call fcn.14000cff0
cmp byte [r14 + 0x17], 0
jns 0x14000c00c
mov rcx, qword [rsp + 0xc0]
call fcn.1400b4d44
jmp 0x14000c00c
mov eax, dword [rax + 0x38]
cmp eax, 3
je 0x14000c5e4
xor edx, edx
cmp eax, 1
sete dl
jmp 0x14000c1f8
mov r12, qword [rbx + 8]
test r12, r12
jle 0x14000c173
mov rbx, qword [rbx]
add r12, rbx
mov ebp, 0x800000
lea r14, [rsp + 0xc0]
mov r15, r12
sub r15, rbx
cmp r15, rbp
cmovge r15, rbp
mov rcx, r14
mov rdx, rbx
mov r8d, r15d
call fcn.14000c6f0
cmp eax, r15d
jne 0x14000c4d5
movsxd rax, r15d
add rbx, rax
cmp rbx, r12
jb 0x14000c144
lea rcx, [rsp + 0xc0]
call fcn.14000c5f0
test al, al
je 0x14000c4df
mov dword [rsp + 0x5c], 0
movabs rax, 0xaaaaaa00aaaaaa00
mov qword [rsp + 0x118], rax
mov eax, dword [0x140153d98]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea r14, [rax + 0x138]
mov ebp, dword [r14]
cmp ebp, 4
jg 0x14000c209
mov dword [rsp + 0x118], ebp
mov byte [rsp + 0x11c], 1
mov eax, dword [0x140153d98]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x190]
xor edx, edx
test rax, rax
jne 0x14000c10f
mov ecx, 5
call fcn.140006fc0
mov dword [r14], 5
lea rcx, [rsp + 0xc0]
call fcn.1400974a0
lea rcx, [rsp + 0xf0]
lea r8, [rsp + 0x5c]
mov rdx, rdi
call fcn.14009c410
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
test bl, bl
je 0x14000c531
cmp ebp, 4
jg 0x14000c27f
mov edi, dword [rsp + 0x118]
mov eax, dword [0x140153d98]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x190]
xor edx, edx
test rax, rax
jne 0x14000c473
cmp edi, 7
jge 0x14000c4b2
mov ecx, edi
call fcn.140006fc0
mov dword [r14], edi
xor r15d, r15d
lea rcx, str.ImportantFile.FileReplaceRetryCount
mov edx, r15d
mov r8d, 0xa
call fcn.14009c630
mov dil, 1
mov rax, qword [fcn.1400965a0]
cmp rax, r13
movabs r14, 0x8637bd05af7
jne 0x14000c49f
lea rbx, [rsp + 0x118]
mov qword [rbx], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
mov rcx, qword [0x140157648]
cmp rax, r14
jge 0x14000c511
imul rax, rax, 0xf4240
cqo
idiv rcx
mov qword [rsp + 0x118], rax
mov rbx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x110]
xor ecx, ecx
cmp rbx, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
sub rbx, rax
movabs r12, 0x8000000000000000
cmovo rbx, rdx
mov r15, qword [rsi]
mov rsi, qword [rsi + 8]
mov ecx, 0x20
call fcn.1400b4d4c
mov r14, rax
mov qword [rsp + 0x118], rax
lea rax, [r12 + 0x20]
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x120], 0x1b
movups xmm0, xmmword [0x1401306dd]
movups xmmword [r14 + 0xb], xmm0
movups xmm0, xmmword [str.ImportantFile.WriteDuration]
movups xmmword [r14], xmm0
mov byte [r14 + 0x1b], 0
test rsi, rsi
je 0x14000c444
mov word [r14 + 0x1b], 0x2e
cmp rsi, 3
jbe 0x14000c423
lea rax, [r12 + rsi]
add rax, 0x25
lea rcx, [r12 + 0x28]
cmp rax, rcx
jb 0x14000c50e
lea rbp, [rsi + 0x1c]
cmp rbp, 0x3f
mov r12d, 0x3e
cmovae r12, rbp
or r12, 7
inc r12
mov rcx, r12
call fcn.1400b4d4c
mov r13, rax
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0xc]
movups xmmword [rax], xmm0
movups xmmword [rax + 0xc], xmm1
lea rcx, [rax + 0x1c]
mov rdx, r15
mov r8, rsi
call fcn.1400eabe0
mov rcx, r14
call fcn.1400b4d44
mov qword [rsp + 0x118], r13
movabs rax, 0x8000000000000000
or r12, rax
mov qword [rsp + 0x128], r12
mov qword [rsp + 0x120], rbp
add rsi, r13
add rsi, 0x1c
jmp 0x14000c441
lea rcx, [r14 + 0x1c]
mov rdx, r15
mov r8, rsi
call fcn.1400eabe0
or rsi, 0x1c
mov qword [rsp + 0x120], rsi
add rsi, r14
mov byte [rsi], 0
lea rsi, [rsp + 0x118]
mov rcx, rsi
mov rdx, rbx
call fcn.14009dc90
cmp byte [rsi + 0x17], 0
jns 0x14000c08d
mov rcx, qword [rsp + 0x118]
call fcn.1400b4d44
jmp 0x14000c08d
mov eax, dword [rax + 0x38]
cmp eax, 3
je 0x14000c5da
xor edx, edx
cmp eax, 1
sete dl
jmp 0x14000c26c
lea rcx, [rsp + 0x110]
call qword [0x14013a9a8]
jmp 0x14000c003
lea rcx, [rsp + 0x118]
call qword [0x14013a9a8]
jmp 0x14000c2f3
int3
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14000bffb
lea rsi, [rsp + 0x90]
jmp 0x14000c4e4
lea rsi, [rsp + 0x60]
lea rdx, [rsp + 0xc0]
mov rcx, rsi
call fcn.1400ad7b0
lea rdx, [rsp + 0xf0]
xor edi, edi
mov rcx, rsi
xor r8d, r8d
call fcn.1401094c0
jmp 0x14000c08d
int3
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14000c2eb
xor ebx, ebx
mov r14, qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, 0x186a0
call fcn.14010cd60
lea rcx, [rsp + 0xf0]
mov rdx, rdi
lea r8, [rsp + 0x5c]
call fcn.14009c410
mov r12d, eax
call r14
mov ebp, eax
lea r15d, [rbx + 1]
test r12b, r12b
jne 0x14000c572
cmp ebx, 4
mov ebx, r15d
jb 0x14000c53a
lea rcx, [rsp + 0x118]
call fcn.140039c20
test r12b, r12b
jne 0x14000c282
lea rcx, str.ImportantFile.FileReplaceRetryCount
mov edx, 0xa
mov r8d, 0xa
call fcn.14009c630
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
xorps xmm0, xmm0
lea rcx, [rsp + 0x20]
movaps xmmword [rcx + 0x10], xmm0
movaps xmmword [rcx], xmm0
mov dword [rcx + 0x24], 0xffffffff
mov word [rcx + 0x28], 0
lea rdx, [rsp + 0xf0]
xor edi, edi
xor r8d, r8d
call fcn.1401094c0
jmp 0x14000c29a
mov edx, 3
jmp 0x14000c26c
mov edx, 3
jmp 0x14000c1f8