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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x108]
sub rsp, 0x1e0
mov rax, qword [0x14016a508]
xor rax, rsp
mov qword [rbp + 0xd0], rax
mov rsi, rcx
mov rcx, qword [0x14016a048]
lea rdx, [0x14016a048]
mov eax, 1
cmp rcx, rdx
je 0x14005f4bc
test byte [rcx + 0x1c], al
je 0x14005f4bc
cmp byte [rcx + 0x19], 4
jb 0x14005f4bc
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 0x52]
lea r8, [0x14014b5c0]
call fcn.14000c0e8
mov eax, dword [rsi + 0x110]
lea rcx, [rbp - 0x10]
xor edi, edi
xor edx, edx
mov r15d, edi
mov dword [rbp - 0x70], edi
mov r8d, 0xd0
mov qword [rbp - 0x58], rdi
lea r13, [rax + rax*2]
mov qword [rbp - 0x78], rdi
shl r13, 6
mov r14d, edi
add r13, qword [rsi + 0x108]
mov qword [rbp - 0x68], rdi
mov dword [rsp + 0x74], edi
mov dword [rbp - 0x60], r15d
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x38], rdi
mov byte [rsp + 0x70], dil
mov byte [rsp + 0x78], dil
mov qword [rbp - 0x40], rdi
mov qword [rbp + 0xc0], rdi
mov qword [rbp + 0xc8], rdi
call sub.msvcrt.dll_memset
lea r12, [rsi + 8]
mov rcx, r12
call fcn.14000b6e0
mov rbx, rax
test rax, rax
jne 0x14005f555
lea r8, str.pCatalogSystem
mov edx, 0x8bd
lea rcx, str.base_stor_blbengine_service_restore.cpp
call fcn.140088f60
mov rcx, qword [rbx]
movups xmm0, xmmword [rsi + 0xd0]
mov rax, qword [rcx + 0x58]
movdqu xmmword [rbp - 0x20], xmm0
movabs r10, 0xf81d3e6538d5fb70
mov r9b, 1
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x20]
mov rcx, rbx
call qword [vtable.H_MA8HI.0]
mov edi, eax
test eax, eax
js 0x14005f6b1
mov edx, dword [rbp + 0xb4]
lea r9, [rsp + 0x70]
mov ecx, dword [rbp + 0xb0]
lea r8, [rbp - 0x40]
mov byte [rsp + 0x78], 1
call fcn.14010dc90
mov edi, eax
test eax, eax
js 0x14005f6b1
mov r12, qword [rbp - 0x40]
test r12, r12
jne 0x14005f5da
lea r8, str.wszVhdExtension___NULL
mov edx, 0x8cf
lea rcx, str.base_stor_blbengine_service_restore.cpp
call fcn.140088f60
lea rdx, [rbp - 0x58]
mov rcx, r13
call fcn.14005c9d0
mov edi, eax
test eax, eax
js 0x14005f6a9
mov r8d, dword [r13 + 0x4c]
lea rcx, [rbp - 0x68]
mov qword [rsp + 0x20], rcx
lea rdx, [r13 + 0x3c]
mov rcx, qword [rsi + 0xc8]
mov r9, r12
call fcn.14010bb40
mov edi, eax
test eax, eax
js 0x14005f6a9
test byte [r13 + 0x4c], 8
mov r14d, 1
je 0x14005f638
test byte [r13 + 0x4c], 0x20
movzx r15d, r15b
cmove r15d, r14d
mov dword [rbp - 0x60], r15d
xor edx, edx
lea rcx, [rsi + 0x18]
call fcn.1400f8654
mov edi, eax
test eax, eax
js 0x14005f6a9
mov r15, qword [rbp - 0x68]
xor r8d, r8d
mov rcx, r15
call fcn.1400fce48
mov edi, eax
test eax, eax
jns 0x14005f816
mov rcx, qword [0x14016a048]
lea rbx, [0x14016a048]
cmp rcx, rbx
je 0x14005f809
test byte [rcx + 0x1c], r14b
je 0x14005f809
cmp byte [rcx + 0x19], 2
jb 0x14005f809
mov rcx, qword [rcx + 0x10]
lea r8, [0x14014b5c0]
mov edx, 0x54
mov dword [rsp + 0x20], eax
mov r9, r15
call fcn.140014f78
mov r14, qword [rbp - 0x58]
lea r12, [rsi + 8]
lea rbx, [0x14016a048]
mov r15d, 1
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x14005f74c
test byte [rsi + 0x148], 2
je 0x14005f6f0
lea r8, str._CHUNKED_m_ulFeatures_
mov edx, 0xa2d
lea rcx, str.base_stor_blbengine_service_restore.cpp
call fcn.140088f60
mov rcx, qword [rbp - 0x80]
test edi, edi
jns 0x14005f736
call fcn.140112780
test eax, eax
jns 0x14005f732
mov rcx, qword [0x14016a048]
cmp rcx, rbx
je 0x14005f732
test byte [rcx + 0x1c], r15b
je 0x14005f732
cmp byte [rcx + 0x19], 2
jb 0x14005f732
mov r9, qword [rbp - 0x80]
lea r8, [0x14014b5c0]
mov rcx, qword [rcx + 0x10]
mov edx, 0x68
mov dword [rsp + 0x20], eax
call fcn.140014f78
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x14005f74c
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
and qword [rbp - 0x80], 0
lea rcx, [rsi + 0x18]
call fcn.1400f8e24
lea rbx, [rsi + 0x118]
mov rcx, r12
mov rdx, rbx
call fcn.14002ee94
mov eax, dword [rsi + 0x11c]
cmp dword [rbx], eax
jbe 0x14005f789
lea r8, str.m_ulBagsProcessed___m_cBags
mov edx, 0xa41
lea rcx, str.base_stor_blbengine_service_restore.cpp
call fcn.140088f60
test edi, edi
jns 0x1400602c6
cmp edi, 0x80780118
je 0x140060257
test r14, r14
je 0x140060257
mov rdx, qword [rsi + 0x164]
mov rcx, r14
call fcn.14010a9d4
test eax, eax
jns 0x140060257
mov rcx, qword [0x14016a048]
lea rbx, [0x14016a048]
cmp rcx, rbx
je 0x14006025e
test byte [rcx + 0x1c], r15b
je 0x14006025e
cmp byte [rcx + 0x19], 2
jb 0x14006025e
mov rcx, qword [rcx + 0x10]
lea r8, [0x14014b5c0]
mov edx, 0x69
mov dword [rsp + 0x20], eax
mov r9, r14
call fcn.140014f78
jmp 0x14006025e
mov r14, qword [rbp - 0x58]
lea r12, [rsi + 8]
jmp 0x14005f6b8
lea rcx, [rsi + 0x18]
call fcn.1400f8e24
mov r8b, r14b
mov edx, 3
mov rcx, rsi
call fcn.14006080c
mov r14, qword [rbp - 0x58]
lea rdx, [rbp - 0x78]
mov rcx, r14
call fcn.14008a658
mov edi, eax
test eax, eax
js 0x14005f6ad
mov ebx, dword [r13 + 0x4c]
lea r12, [rsi + 0x158]
and ebx, 2
cmp qword [r12], 0
jne 0x14005fbe5
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call fcn.140060a48
mov rcx, qword [0x14016a048]
lea rax, [0x14016a048]
cmp rcx, rax
je 0x14005f8b2
mov eax, 1
test byte [rcx + 0x1c], al
je 0x14005f8b2
cmp byte [rcx + 0x19], 4
jb 0x14005f8b2
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 0x54]
mov eax, dword [rsi + 0x110]
lea r8, [0x14014b5c0]
mov r9, r14
mov dword [rsp + 0x20], eax
call fcn.140040130
test ebx, ebx
jne 0x14005f8c8
mov rcx, rsi
call fcn.14005cc70
mov edi, eax
test eax, eax
js 0x14005f6ad
mov r15, qword [rbp - 0x78]
lea r8, [r13 + 0xb0]
mov rcx, r15
lea rdx, [rsp + 0x74]
call fcn.1400c5ef4
mov ebx, eax
test eax, eax
je 0x14005f941
mov rcx, qword [0x14016a048]
lea rax, [0x14016a048]
cmp rcx, rax
je 0x14005f92b
mov eax, 1
test byte [rcx + 0x1c], al
je 0x14005f92b
cmp byte [rcx + 0x19], 2
jb 0x14005f92b
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 0x55]
mov eax, dword [rsp + 0x74]
lea r8, [0x14014b5c0]
mov dword [rsp + 0x28], eax
mov r9, r15
mov dword [rsp + 0x20], ebx
call fcn.14003fc40
mov edx, dword [rsp + 0x74]
lea r8, [rbp - 0x70]
mov ecx, ebx
call fcn.1400fcbb0
mov edi, eax
jmp 0x14005f6ad
mov rcx, qword [0x14016a048]
lea rax, [0x14016a048]
cmp rcx, rax
je 0x14005f985
mov eax, 1
test byte [rcx + 0x1c], al
je 0x14005f985
cmp byte [rcx + 0x19], 4
mov rbx, qword [rbp - 0x68]
jb 0x14005f989
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 0x56]
mov r9, r15
mov qword [rsp + 0x20], rbx
lea r8, [0x14014b5c0]
call fcn.140014ff8
jmp 0x14005f989
mov rbx, qword [rbp - 0x68]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
nop dword [rax + rax]
test byte [rsi + 0x148], 2
mov r15d, eax
jne 0x14005faf7
cmp byte [rsp + 0x70], 0
jne 0x14005faf7
lea rax, [rbp - 0x80]
xor r9d, r9d
mov qword [rsp + 0x28], rax
lea rcx, [rsi + 0x18]
and dword [rsp + 0x20], 0
xor r8d, r8d
mov rdx, rbx
call fcn.1401147a4
mov edi, eax
test eax, eax
jns 0x14005fa20
mov rcx, qword [0x14016a048]
lea rbx, [0x14016a048]
mov r15d, 1
cmp rcx, rbx
je 0x14005fa17
test byte [rcx + 0x1c], r15b
je 0x14005fa17
cmp byte [rcx + 0x19], 2
jb 0x14005fa17
mov r9, qword [rbp - 0x80]
lea edx, [r15 + 0x57]
mov rcx, qword [rcx + 0x10]
lea r8, [0x14014b5c0]
mov dword [rsp + 0x20], eax
call fcn.140014f78
lea r12, [rsi + 8]
jmp 0x14005f6be
mov r10, qword [rbp - 0x80]
test r10, r10
jne 0x14005fa45
lea r8, str.wszMountedVhdPath___NULL
mov edx, 0x947
lea rcx, str.base_stor_blbengine_service_restore.cpp
call fcn.140088f60
mov r10, qword [rbp - 0x80]
mov rcx, qword [0x14016a048]
lea rax, [0x14016a048]
cmp rcx, rax
je 0x14005fa87
mov eax, 1
test byte [rcx + 0x1c], al
je 0x14005fa87
cmp byte [rcx + 0x19], 4
jb 0x14005fa87
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 0x58]
mov r9, rbx
mov qword [rsp + 0x20], r10
lea r8, [0x14014b5c0]
call fcn.140014ff8
mov r10, qword [rbp - 0x80]
mov eax, dword [r13 + 0x4c]
lea rcx, [rsp + 0x74]
mov r8b, byte [rsi + 0x161]
mov ebx, 1
mov dl, byte [rsi + 0x160]
mov r9b, bl
mov qword [rsp + 0x68], rcx
lea rcx, [rbp - 0x38]
mov qword [rsp + 0x60], rcx
lea rcx, [rbp - 0x48]
mov qword [rsp + 0x58], rcx
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x50], rcx
lea rcx, [rbp - 0x30]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], rcx
mov rcx, r10
shr eax, 0xd
and al, bl
mov byte [rsp + 0x38], al
lea rax, [fcn.14005ae40]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
call fcn.1400c50e8
jmp 0x14005fb22
lea rcx, [rsi + 0x18]
call fcn.140028d1c
mov r8b, byte [rbp - 0x60]
lea rcx, [rsp + 0x74]
mov qword [rsp + 0x28], rcx
mov r9, rax
mov rcx, qword [rbp - 0x78]
mov rdx, rbx
mov qword [rsp + 0x20], r12
call fcn.1400c5340
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
nop dword [rax + rax]
mov r9d, dword [rsi + 0x16c]
sub r9d, r15d
add r9d, eax
mov dword [rsi + 0x16c], r9d
mov rcx, qword [0x14016a048]
lea rax, [0x14016a048]
mov r15d, 1
cmp rcx, rax
je 0x14005fb8b
test byte [rcx + 0x1c], r15b
je 0x14005fb8b
cmp byte [rcx + 0x19], 4
jb 0x14005fb8b
mov rcx, qword [rcx + 0x10]
lea edx, [r15 + 0x59]
lea r8, [0x14014b5c0]
call fcn.14000c23c
mov rcx, qword [0x14016a048]
lea rax, [0x14016a048]
test ebx, ebx
je 0x14005fbee
cmp rcx, rax
je 0x14005fbc4
test byte [rcx + 0x1c], r15b
je 0x14005fbc4
cmp byte [rcx + 0x19], 2
jb 0x14005fbc4
mov edx, 0x5b
mov eax, dword [rsp + 0x74]
lea r8, [0x14014b5c0]
mov rcx, qword [rcx + 0x10]
mov r9, r14
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
call fcn.14003fc40
mov edx, dword [rsp + 0x74]
lea r8, [rbp - 0x70]
mov ecx, ebx
call fcn.1400fcbb0
mov edi, eax
lea r12, [rsi + 8]
lea rbx, [0x14016a048]
jmp 0x14005f6be
mov rcx, qword [0x14016a048]
jmp 0x14005fbf2
mov r15, qword [rbp - 0x68]
lea rax, [0x14016a048]
cmp rcx, rax
je 0x14005fc2f
mov eax, 1
test byte [rcx + 0x1c], al
je 0x14005fc2f
cmp byte [rcx + 0x19], 4
mov rbx, qword [rbp - 0x78]
jb 0x14005fc33
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 0x5b]
mov r9, rbx
mov qword [rsp + 0x20], r15
lea r8, [0x14014b5c0]
call fcn.140014ff8
jmp 0x14005fc33
mov rbx, qword [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
nop dword [rax + rax]
test byte [rsi + 0x148], 2
mov r15d, eax
jne 0x14005fcbc
xor ecx, ecx
cmp byte [rsp + 0x70], cl
jne 0x14005fcbc
movups xmm0, xmmword [0x140147ba0]
lea rax, [rsp + 0x74]
mov r9, rbx
mov qword [rsp + 0x60], rax
lea rdx, [fcn.14005ae40]
mov qword [rsp + 0x58], rcx
lea rax, [rbp - 0x48]
mov qword [rsp + 0x50], rax
mov r8, rsi
lea rax, [rbp - 0x50]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, qword [r12]
movdqu xmmword [rbp - 0x20], xmm0
call fcn.140001fc0
jmp 0x14005fd09
lea rcx, [rsi + 0x18]
call fcn.140028d1c
mov rdx, qword [rbp - 0x68]
lea rcx, [rsp + 0x74]
mov qword [rsp + 0x40], rcx
lea r8, [fcn.14005ae40]
lea rcx, [rbp - 0x48]
mov r9, rsi
mov qword [rsp + 0x38], rcx
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0xc0]
mov qword [rsp + 0x28], rcx
mov rcx, qword [r12]
mov qword [rsp + 0x20], rax
call fcn.1400c61dc
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
nop dword [rax + rax]
sub eax, r15d
add dword [rsi + 0x170], eax
mov rcx, qword [0x14016a048]
lea rax, [0x14016a048]
mov r15d, 1
cmp rcx, rax
je 0x14005fd60
test byte [rcx + 0x1c], r15b
je 0x14005fd60
cmp byte [rcx + 0x19], 4
jb 0x14005fd60
mov r9d, dword [rsi + 0x16c]
lea edx, [r15 + 0x5c]
mov rcx, qword [rcx + 0x10]
lea r8, [0x14014b5c0]
call fcn.14000c23c
mov r8, qword [rbp - 0x50]
mov rcx, rsi
mov rdx, qword [rbp - 0x48]
call fcn.140060a48
test ebx, ebx
je 0x14005fdf3
cmp ebx, 1
je 0x14005fdae
mov rcx, qword [0x14016a048]
lea rax, [0x14016a048]
cmp rcx, rax
je 0x14005fbc4
test byte [rcx + 0x1c], r15b
je 0x14005fbc4
cmp byte [rcx + 0x19], 2
jb 0x14005fbc4
mov edx, 0x5e
jmp 0x14005fba5
lea r12, [rsi + 8]
mov rax, qword [r12]
movabs r10, 0xb0e41f4d3e5c9b70
mov rax, qword [rax + 0x10]
mov rcx, r12
call qword [vtable.H_MA8HI.0]
test al, al
jne 0x14005fde9
lea r8, str.IsAborted__
mov edx, 0x999
lea rcx, str.base_stor_blbengine_service_restore.cpp
call fcn.140088f60
mov edi, 0x80780167
jmp 0x14005fbd9
mov eax, dword [rsi + 0x118]
mov r8, qword [rsi + 0x120]
imul rcx, rax, 0x6c
mov rax, qword [rbp + 0xc0]
sub rax, qword [rcx + r8 + 0x50]
jne 0x14005fe1e
mov rax, qword [rbp + 0xc8]
sub rax, qword [rcx + r8 + 0x58]
test rax, rax
je 0x14005fea9
cmp byte [rbp - 0x60], 0
je 0x14005fea9
mov rbx, qword [0x14016a048]
lea rax, [0x14016a048]
cmp rbx, rax
je 0x14005feb0
test byte [rbx + 0x1c], r15b
je 0x14005feb0
cmp byte [rbx + 0x19], 3
jb 0x14005feb0
mov eax, dword [rbp + 0xcc]
mov edx, 0x5f
mov r9d, dword [rcx + r8 + 0x50]
mov dword [rsp + 0x50], eax
mov eax, dword [rbp + 0xc8]
mov dword [rsp + 0x48], eax
mov eax, dword [rbp + 0xc4]
mov dword [rsp + 0x40], eax
mov eax, dword [rbp + 0xc0]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + r8 + 0x5c]
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + r8 + 0x58]
mov dword [rsp + 0x28], eax
mov eax, dword [rcx + r8 + 0x54]
lea r8, [0x14014b5c0]
mov rcx, qword [rbx + 0x10]
mov dword [rsp + 0x20], eax
call fcn.140061240
mov rbx, qword [0x14016a048]
mov eax, dword [rsi + 0x118]
inc eax
cmp eax, dword [rsi + 0x11c]
je 0x14005feeb
mov r9d, dword [r13 + 0x4c]
lea r8, [r13 + 0x3c]
imul rdx, rax, 0x6c
mov rax, qword [rsi + 0x120]
lea rcx, [rax + 0x2c]
add rcx, rdx
mov edx, dword [rdx + rax + 0x3c]
call fcn.14008d2c4
test al, al
jne 0x140060174
lea rax, [0x14016a048]
cmp rbx, rax
je 0x14005ff25
test byte [rbx + 0x1c], r15b
je 0x14005ff25
cmp byte [rbx + 0x19], 4
jb 0x14005ff25
mov eax, dword [rsi + 0x110]
lea r8, [0x14014b5c0]
mov rcx, qword [rbx + 0x10]
mov edx, 0x60
mov r9, r14
mov dword [rsp + 0x20], eax
call fcn.140040130
test byte [rsi + 0x148], 2
jne 0x14005ff35
cmp byte [rsp + 0x70], 0
je 0x14005ff41
mov rdx, qword [r12]
mov rcx, r13
call fcn.1400604e4
cmp qword [r12], 0
jne 0x14005ff60
lea r8, str.m_pCurrentRestoreContext
mov edx, 0x9cd
lea rcx, str.base_stor_blbengine_service_restore.cpp
call fcn.140088f60
mov rcx, qword [r12]
call fcn.1400c40f0
and qword [r12], 0
test byte [r13 + 0x4c], r15b
jne 0x14006014a
cmp byte [rsi + 0x180], 0
jne 0x1400600bb
mov r15, qword [rbp - 0x78]
lea rdx, [r13 + 0xb0]
mov rcx, r15
mov byte [rsp + 0x70], 0
lea r9, [rsp + 0x70]
lea r8, [rsp + 0x74]
call fcn.1400c4b8c
mov ebx, eax
test eax, eax
je 0x14005ffe7
mov rcx, qword [0x14016a048]
lea rax, [0x14016a048]
mov r15d, 1
cmp rcx, rax
je 0x14005fbc4
test byte [rcx + 0x1c], r15b
je 0x14005fbc4
cmp byte [rcx + 0x19], 2
jb 0x14005fbc4
lea edx, [r15 + 0x60]
jmp 0x14005fba5
mov rcx, qword [0x14016a048]
lea rax, [0x14016a048]
mov bl, byte [rsp + 0x70]
cmp rcx, rax
mov eax, 1
je 0x140060041
test byte [rcx + 0x1c], al
je 0x140060041
cmp byte [rcx + 0x19], 4
jb 0x140060041
mov rcx, qword [rcx + 0x10]
lea rax, [0x14014b450]
test bl, bl
mov qword [rsp + 0x20], r15
lea r9, [0x14014a788]
mov edx, 0x62
cmove r9, rax
lea r8, [0x14014b5c0]
call fcn.140014ff8
mov eax, 1
test bl, bl
je 0x1400600f5
mov r8b, al
mov edx, 0xc
mov rcx, rsi
call fcn.14006080c
mov rdx, r15
mov rcx, r13
call fcn.14005f19c
mov edi, eax
test eax, eax
jns 0x1400600f5
mov rcx, qword [0x14016a048]
lea rbx, [0x14016a048]
mov r15d, 1
cmp rcx, rbx
je 0x14005fa17
test byte [rcx + 0x1c], r15b
je 0x14005fa17
cmp byte [rcx + 0x19], 2
jb 0x14005fa17
mov rcx, qword [rcx + 0x10]
lea edx, [r15 + 0x62]
mov r9d, eax
lea r8, [0x14014b5c0]
call fcn.14000c114
jmp 0x14005fa17
mov rcx, qword [0x14016a048]
lea rbx, [0x14016a048]
cmp rcx, rbx
je 0x1400600ef
test byte [rcx + 0x1c], r15b
je 0x1400600ef
cmp byte [rcx + 0x19], 4
jb 0x1400600ef
mov rcx, qword [rcx + 0x10]
lea r8, [0x14014b5c0]
mov edx, 0x64
call fcn.14000c0e8
mov r15, qword [rbp - 0x78]
jmp 0x1400600fc
lea rbx, [0x14016a048]
mov rcx, r15
call fcn.1400faa40
mov edi, eax
test eax, eax
jns 0x140060159
mov rcx, qword [0x14016a048]
cmp rcx, rbx
je 0x140060140
mov eax, 1
test byte [rcx + 0x1c], al
je 0x140060140
cmp byte [rcx + 0x19], 2
jb 0x140060140
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 0x64]
mov r9, r15
mov dword [rsp + 0x20], edi
lea r8, [0x14014b5c0]
call fcn.140014f78
mov edi, 0x80780124
jmp 0x14005f80d
mov edx, 9
mov rcx, r13
call fcn.1400608c0
jmp 0x14006015f
mov r15d, 1
lea r12, [rsi + 8]
mov rcx, r12
lea rdx, [rsi + 0x150]
call fcn.14002ee94
jmp 0x140060178
lea r12, [rsi + 8]
lea rdx, [r13 + 0x10]
mov rcx, r12
call fcn.14002ee94
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x14005f74c
test byte [rsi + 0x148], 2
je 0x1400601b6
lea r8, str._CHUNKED_m_ulFeatures_
mov edx, 0xa1b
lea rcx, str.base_stor_blbengine_service_restore.cpp
call fcn.140088f60
mov rcx, qword [rbp - 0x80]
call fcn.140112780
mov edi, eax
test eax, eax
jns 0x14006020e
mov rcx, qword [0x14016a048]
lea rbx, [0x14016a048]
cmp rcx, rbx
je 0x14005f6be
test byte [rcx + 0x1c], r15b
je 0x14005f6be
cmp byte [rcx + 0x19], 2
jb 0x14005f6be
mov r9, qword [rbp - 0x80]
lea r8, [0x14014b5c0]
mov rcx, qword [rcx + 0x10]
mov edx, 0x66
mov dword [rsp + 0x20], eax
call fcn.140014f78
jmp 0x14005f6be
mov rcx, qword [0x14016a048]
lea rbx, [0x14016a048]
cmp rcx, rbx
je 0x14005f6be
test byte [rcx + 0x1c], r15b
je 0x14005f6be
cmp byte [rcx + 0x19], 4
jb 0x14005f6be
mov r9, qword [rbp - 0x80]
lea r8, [0x14014b5c0]
mov rcx, qword [rcx + 0x10]
mov edx, 0x67
call fcn.140014f10
jmp 0x14005f6be
lea rbx, [0x14016a048]
mov rcx, qword [rsi + 0x158]
test rcx, rcx
je 0x140060277
call fcn.1400c40f0
and qword [rsi + 0x158], 0
mov r8d, dword [rbp - 0x70]
mov edx, edi
mov rcx, r13
call fcn.140060470
mov rcx, qword [0x14016a048]
cmp rcx, rbx
je 0x1400602d4
test byte [rcx + 0x1c], r15b
je 0x1400602d4
cmp byte [rcx + 0x19], 2
jb 0x1400602d4
mov rcx, qword [rcx + 0x10]
lea r9, [0x14014b478]
test r14, r14
mov dword [rsp + 0x20], edi
mov edx, 0x6a
lea r8, [0x14014b5c0]
cmovne r9, r14
call fcn.140014f78
jmp 0x1400602cd
lea rbx, [0x14016a048]
mov rcx, qword [0x14016a048]
mov rax, qword [rbp - 0x68]
test rax, rax
je 0x1400602f3
mov rcx, rax
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
mov rcx, qword [0x14016a048]
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x140060312
mov rcx, rax
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
mov rcx, qword [0x14016a048]
test r14, r14
je 0x14006032d
mov rcx, r14
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
mov rcx, qword [0x14016a048]
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x14006034c
mov rcx, rax
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
mov rcx, qword [0x14016a048]
cmp byte [rsp + 0x78], 0
je 0x140060363
lea rcx, [rbp - 0x10]
call fcn.14009b92c
mov rcx, qword [0x14016a048]
cmp rcx, rbx
je 0x140060389
test byte [rcx + 0x1c], r15b
je 0x140060389
cmp byte [rcx + 0x19], 4
jb 0x140060389
mov rcx, qword [rcx + 0x10]
lea r8, [0x14014b5c0]
mov edx, 0x6b
call fcn.14000c0e8
mov eax, edi
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.1400071e0
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret