Function at 0x140026bf0
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov dword [rax + 0x10], edx
mov qword [rax + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x280
mov qword [rax - 0xd8], 0xfffffffffffffffe
mov r12, r8
mov r14d, edx
mov rdi, rcx
lea rax, str.base_stor_vss_tools_vssagenthwdiag.cpp
mov qword [rsp + 0x58], rax
lea rax, str.CHwDiag::LocateLuns
mov qword [rsp + 0x60], rax
lea rax, str.VHWDIAGC
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], 0x219
mov dword [rsp + 0x74], 6
mov dword [rsp + 0x78], 0xff
xor ebx, ebx
mov dword [rsp + 0xf8], 0x1000000
xor edx, edx
lea r8d, [rbx + 0x78]
lea rcx, [rsp + 0x80]
call sub.msvcrt.dll_memset
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x170]
call fcn.14004058c
nop
mov dword [rsp + 0x2d8], 0x80042306
mov dword [rsp + 0x50], ebx
lea rcx, [rdi + 0x2c8]
mov qword [rsp + 0x120], rcx
lea rax, [rdi + 0x38]
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x170]
mov qword [rsp + 0x38], rax
mov rax, qword [rdi + 0x4d8]
mov qword [rsp + 0x30], rax
mov rax, qword [rdi + 0x4e0]
mov qword [rsp + 0x28], rax
mov eax, dword [0x14007ccf4]
mov dword [rsp + 0x20], eax
lea r9d, [rbx + 0xe]
lea r8, str.LocateLuns
lea edx, [rbx + 1]
lea rcx, [rsp + 0x130]
call fcn.140037ff4
nop
mov rax, qword [rsp + 0x158]
mov word [rax], bx
lea rdx, [0x14005d46c]
lea rcx, [rsp + 0x130]
call fcn.140038654
mov r8d, r14d
lea rdx, str.lLunCount___d_r_n
lea rcx, [rsp + 0x130]
call fcn.140038654
mov esi, ebx
cmp esi, r14d
jge 0x140026d85
mov r8d, esi
lea rdx, str.rgSourceLuns__d______r_n
lea rcx, [rsp + 0x130]
call fcn.140038654
movsxd rax, esi
lea rdx, [rax + rax*2]
shl rdx, 5
add rdx, r12
lea rcx, [rsp + 0x130]
call fcn.1400382e4
inc esi
jmp 0x140026d4a
mov r8, qword [rsp + 0x158]
lea rdx, str.InputParameters
lea rcx, [rsp + 0x148]
call fcn.140004f4c
mov rdx, qword [0x14009d7d0]
lea rcx, [rsp + 0x100]
call fcn.140029ca4
nop
lea r8, [rdi + 0x2c8]
lea rdx, [rdi + 0x38]
call fcn.14003938c
mov rcx, qword [0x14007cd30]
call fcn.140038ec4
mov r13, qword [0x14007cd30]
mov r15, r12
mov esi, ebx
cmp esi, r14d
jge 0x140026dfa
mov rdx, r15
mov rcx, r13
call fcn.140039e9c
test al, al
je 0x140026dfa
inc esi
add r15, 0x60
jmp 0x140026dde
lea rcx, [rsp + 0x100]
call fcn.1400299c8
nop
lea rcx, [rsp + 0x130]
call fcn.1400381ac
nop
jmp 0x140026e32
cmp qword [rdi + 0x20], rbx
je 0x140026e7e
call qword [sym.imp.KERNEL32.dll_GetTickCount]
nop dword [rax + rax]
mov ebx, eax
mov rcx, qword [rdi + 0x20]
mov rax, qword [rcx]
mov r8, r12
mov edx, r14d
mov rax, qword [rax + 0x38]
call qword [0x140053f18]
mov dword [rsp + 0x2d8], eax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
nop dword [rax + rax]
mov ecx, eax
sub ecx, ebx
cmp eax, ebx
jae 0x140026e7a
dec ecx
mov dword [rsp + 0x50], ecx
jmp 0x140026e88
mov eax, dword [rsp + 0x2d8]
neg eax
sbb r9d, r9d
and r9d, 0xfffffff6
add r9d, 0xf
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x170]
mov qword [rsp + 0x38], rax
mov rax, qword [rdi + 0x4d8]
mov qword [rsp + 0x30], rax
mov rax, qword [rdi + 0x4e0]
mov qword [rsp + 0x28], rax
mov eax, dword [0x14007ccf4]
mov dword [rsp + 0x20], eax
lea r8, str.LocateLuns
xor edx, edx
lea rcx, [rsp + 0x130]
call fcn.140037ff4
nop
mov r9d, dword [rsp + 0x50]
lea r8, str._u__ms_
lea rdx, str.TimeElapsed
lea rcx, [rsp + 0x130]
call fcn.140038208
mov r8d, VariantTimeToDosDateTime
mov edx, dword [rsp + 0x2d8]
lea rcx, [rsp + 0x130]
call fcn.1400388f4
nop
lea rcx, [rsp + 0x130]
call fcn.1400381ac
nop
inc dword [0x14007ccf4]
lea rcx, [rsp + 0x170]
call fcn.1400406a0
mov eax, dword [rsp + 0x2d8]
add rsp, 0x280
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret