Function at 0x140095c28
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov byte [rax + 0x18], r8b
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov qword [rax - 0x50], 0xfffffffffffffffe
movaps xmmword [rax - 0x48], xmm6
mov rsi, rdx
mov rdi, rcx
xor ebx, ebx
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x128], ebx
mov r12d, ebx
mov qword [rsp + 0x50], rbx
xorps xmm0, xmm0
movdqu xmmword [rax - 0x70], xmm0
mov qword [rax - 0x60], rbx
mov qword [rax - 0x58], rbx
mov r13d, ebx
mov dword [rsp + 0x38], ebx
test rdx, rdx
jne 0x140095ca5
lea r8, str.pBackupSet
mov edx, 0x586
lea rcx, str.base_stor_blbcatalogcatalog.cpp
call fcn.14008410c
nop
add rdi, 0x2a8
mov dword [rsp + 0x80], 6
movups xmm0, xmmword [rsi]
movdqu xmmword [rsp + 0x88], xmm0
cmp dword [rdi + 0x90], ebx
jne 0x140095cd4
lea rcx, [rdi + 0x60]
call fcn.1400ab360
lea r15, [rdi + 0x60]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x80]
mov esi, 1
mov r8d, esi
xor edx, edx
mov rcx, r15
call fcn.1400ab990
mov r14d, eax
mov dword [rsp + 0x68], eax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x80]
mov r8d, esi
mov edx, esi
mov rcx, r15
call fcn.1400ab990
mov esi, eax
mov dword [rsp + 0x6c], eax
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x58], r15
inc eax
cmp eax, r14d
jge 0x140095d51
lea r8, str.result.m_high__1___result.m_low
mov edx, 0x596
lea rcx, str.base_stor_blbcatalogcatalog.cpp
call fcn.14008410c
sub esi, r14d
add esi, 1
jne 0x140095d6d
mov rax, qword [rsp + 0x118]
mov dword [rax + 0x50], ebx
mov qword [rax + 0x58], rbx
jmp 0x1400962fe
mov r14d, esi
mov dword [rsp + 0x128], esi
mov r15b, byte [rsp + 0x120]
test r15b, r15b
je 0x140095e4a
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x98]
call fcn.1400ab300
mov r15d, ebx
or r13d, 0xffffffff
cmp r15d, esi
jae 0x140095e50
lea rcx, [rsp + 0x98]
call fcn.1400ab230
cmp eax, r13d
jne 0x140095de6
mov rcx, qword [rsp + 0x110]
mov eax, dword [rcx + 0xc]
neg eax
sbb ecx, ecx
add ecx, 0x80780002
mov dword [rsp + 0x3c], ecx
lea rdx, [0x14016e140]
lea rcx, [rsp + 0x3c]
call sub.msvcrt.dll__CxxThrowException
mov edx, eax
mov rcx, rdi
call fcn.1400a8c24
mov rdx, rax
mov rcx, rdi
call fcn.1400aa5fc
mov r14d, eax
test eax, eax
je 0x140095e1f
cmp eax, 7
je 0x140095e25
lea r8, str.eReason___EReasonForExclusion_eNone__eReason___EReasonForExclusion_eSkippedInSnapshot
mov edx, 0x5b9
lea rcx, str.base_stor_blbcatalogcatalog.cpp
call fcn.14008410c
cmp r14d, 7
jne 0x140095e3a
mov r14d, dword [rsp + 0x128]
add r14d, r13d
mov dword [rsp + 0x128], r14d
jmp 0x140095e42
mov r14d, dword [rsp + 0x128]
inc r15d
jmp 0x140095da1
or r13d, 0xffffffff
jmp 0x140095e58
mov r15b, byte [rsp + 0x120]
mov eax, r14d
imul rcx, rax, 0x88
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov r12, rax
mov qword [rsp + 0x50], rax
test rax, rax
jne 0x140095ec9
lea rax, [0x1401720a0]
mov rcx, qword [0x1401720a0]
cmp rcx, rax
je 0x140095eb0
test byte [rcx + 0x1c], 2
je 0x140095eb0
cmp byte [rcx + 0x19], 1
jb 0x140095eb0
imul r9d, r14d, 0x88
lea edx, [r12 + 0x20]
lea r8, [0x140150e30]
mov rcx, qword [rcx + 0x10]
call fcn.140004b98
mov dword [rsp + 0x40], 0x8007000e
lea rdx, [0x14016e140]
lea rcx, [rsp + 0x40]
call sub.msvcrt.dll__CxxThrowException
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x98]
call fcn.1400ab300
mov eax, 1
test al, al
je 0x1400962f1
lea rcx, [rsp + 0x98]
call fcn.1400ab230
cmp eax, r13d
je 0x1400962f1
mov edx, eax
mov rcx, rdi
call fcn.1400a8c24
mov rsi, rax
mov rdx, rax
mov rcx, rdi
call fcn.1400aa5fc
test r15b, r15b
je 0x140095f20
cmp eax, 7
je 0x140095edb
mov ecx, dword [rsp + 0x34]
imul r14, rcx, 0x88
add r14, r12
mov r13d, 1
add ecx, r13d
mov dword [rsp + 0x34], ecx
xor r9d, r9d
mov r8, rsi
lea rdx, [rsp + 0x80]
mov rcx, rdi
call fcn.1400a8810
movups xmm0, xmmword [rsp + 0x80]
movdqu xmmword [r14], xmm0
mov r9d, r13d
mov r8, rsi
lea rdx, [rsp + 0x58]
mov rcx, rdi
call fcn.1400a8810
movups xmm0, xmmword [rsp + 0x58]
movdqu xmmword [r14 + 0x10], xmm0
test rsi, rsi
jne 0x140095f99
lea r8, str.pRow___NULL
mov edx, 0x209
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.14008410c
movups xmm6, xmmword [0x140154f60]
lea r9, [rsp + 0x44]
mov r8d, 7
mov rdx, rsi
mov rcx, rdi
call fcn.1400a8704
mov r15, rax
test rax, rax
je 0x140095fe1
cmp dword [rsp + 0x44], 0x10
je 0x140095fdd
lea r8, str.cb__sizeof_GUID_
mov edx, 0x218
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.14008410c
movups xmm6, xmmword [r15]
movups xmm0, xmm6
movdqu xmmword [r14 + 0x20], xmm0
mov r8d, 2
mov rdx, rsi
mov rcx, rdi
call fcn.1400a8604
mov rdx, rax
call fcn.140096be8
mov qword [r14 + 0x30], rax
mov r8d, 3
mov rdx, rsi
mov rcx, rdi
call fcn.1400a8604
mov rdx, rax
call fcn.140096be8
mov qword [r14 + 0x38], rax
mov r15d, 0xa
mov r8d, r15d
mov rdx, rsi
mov rcx, rdi
call fcn.1400a8604
mov rdx, rax
call fcn.140096be8
mov qword [r14 + 0x48], rax
mov r8d, r15d
mov rdx, rsi
mov rcx, rdi
call fcn.1400a8604
mov rdx, rax
call fcn.140096be8
mov qword [r14 + 0x40], rax
lea r8d, [r15 + 1]
mov rdx, rsi
mov rcx, rdi
call fcn.1400a8ad8
cmp rax, 0xffffffffffffffff
cmove rax, rbx
mov qword [r14 + 0x50], rax
lea r8d, [r15 - 6]
mov rdx, rsi
mov rcx, rdi
call fcn.1400a8604
mov rdx, rax
call fcn.140096be8
mov qword [r14 + 0x58], rax
test rsi, rsi
jne 0x1400960b1
lea r8, str.pRow___NULL
mov edx, 0x13c
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.14008410c
mov dword [rsp + 0x30], ebx
lea r9, [rsp + 0x30]
mov r8d, 5
mov rdx, rsi
mov rcx, rdi
call fcn.1400a8704
mov r15d, dword [rsp + 0x30]
shr r15d, 4
mov dword [r14 + 0x60], r15d
mov ecx, r15d
shl rcx, 4
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov qword [r14 + 0x68], rax
test rax, rax
jne 0x140096142
lea rax, [0x1401720a0]
mov rcx, qword [0x1401720a0]
cmp rcx, rax
je 0x140096129
test byte [rcx + 0x1c], 2
je 0x140096129
cmp byte [rcx + 0x19], r13b
jb 0x140096129
shl r15d, 4
mov edx, 0x21
mov r9d, r15d
lea r8, [0x140150e30]
mov rcx, qword [rcx + 0x10]
call fcn.140004b98
mov dword [rsp + 0x48], 0x8007000e
lea rdx, [0x14016e140]
lea rcx, [rsp + 0x48]
call sub.msvcrt.dll__CxxThrowException
mov r13d, ebx
cmp r13d, r15d
jae 0x1400961fe
test rsi, rsi
jne 0x14009616b
lea r8, str.pRow___NULL
mov edx, 0x166
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.14008410c
mov dword [rsp + 0x30], ebx
lea r9, [rsp + 0x30]
mov r8d, 5
mov rdx, rsi
mov rcx, rdi
call fcn.1400a8704
mov r8, rax
mov qword [rsp + 0x78], rax
mov edx, dword [rsp + 0x30]
shr edx, 4
cmp r13d, edx
jb 0x1400961b6
lea r8, str.iVolume___cb_sizeof_GUID_
mov edx, 0x170
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.14008410c
mov r8, qword [rsp + 0x78]
test r8, r8
jne 0x1400961e2
mov rcx, rdi
call fcn.1400a81c0
neg eax
sbb ecx, ecx
add ecx, 0x80780002
mov dword [rsp + 0x4c], ecx
lea rdx, [0x14016e140]
lea rcx, [rsp + 0x4c]
call sub.msvcrt.dll__CxxThrowException
mov ecx, r13d
add rcx, rcx
mov rax, qword [r14 + 0x68]
movups xmm0, xmmword [r8 + rcx*8]
movdqu xmmword [rax + rcx*8], xmm0
inc r13d
jmp 0x140096145
test rsi, rsi
jne 0x14009621b
lea r8, str.pRow___NULL
mov edx, 0x18d
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.14008410c
mov r8d, 6
mov rdx, rsi
mov rcx, rdi
call fcn.1400a8a00
test eax, eax
setne al
mov byte [r14 + 0x70], al
test rsi, rsi
jne 0x140096252
lea r8, str.pRow___NULL
mov edx, 0x1ad
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.14008410c
mov r8d, 8
mov rdx, rsi
mov rcx, rdi
call fcn.1400a8a00
test eax, eax
setne al
mov byte [r14 + 0x71], al
test rsi, rsi
jne 0x140096289
lea r8, str.pRow___NULL
mov edx, 0x1ec
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.14008410c
mov r8d, 0xd
mov rdx, rsi
mov rcx, rdi
call fcn.1400a8a00
test eax, eax
setne cl
movzx r8d, cl
or r13d, 0xffffffff
cmp eax, r13d
cmove r8d, ebx
mov byte [r14 + 0x84], r8b
mov rdx, rsi
mov rcx, rdi
call fcn.1400aa5fc
mov dword [r14 + 0x80], eax
mov r8d, 9
mov rdx, rsi
mov rcx, rdi
call fcn.1400a8604
mov rdx, rax
call fcn.140096be8
mov qword [r14 + 0x78], rax
mov r15b, byte [rsp + 0x120]
jmp 0x140095edb
mov rax, qword [rsp + 0x118]
mov r13d, dword [rsp + 0x38]
mov edx, dword [rsp + 0x34]
cmp edx, dword [rsp + 0x128]
je 0x14009633c
lea r8, str.cRestorableComponentCount__cValidComponents
mov edx, 0x65c
lea rcx, str.base_stor_blbcatalogcatalog.cpp
call fcn.14008410c
mov rcx, qword [rsp + 0x110]
mov eax, dword [rcx + 0xc]
neg eax
sbb r13d, r13d
add r13d, 0x80780002
jmp 0x140096352
mov dword [rax + 0x50], edx
mov qword [rax + 0x58], r12
jmp 0x140096366
test r12, r12
je 0x140096366
lea rdx, [rsp + 0x34]
lea rcx, [rsp + 0x50]
call fcn.140095980
lea rax, [0x1401720a0]
mov rcx, qword [0x1401720a0]
cmp rcx, rax
je 0x14009639d
test byte [rcx + 0x1c], 2
je 0x14009639d
cmp byte [rcx + 0x19], 4
jb 0x14009639d
mov edx, 0x22
mov r9d, r13d
lea r8, [0x140150e30]
mov rcx, qword [rcx + 0x10]
call fcn.140004b98
mov eax, r13d
movaps xmm6, xmmword [rsp + 0xc0]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret