Function at 0x140093804
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 + 0x4c], ebx
test rdx, rdx
jne 0x140093881
lea r8, str.pBackupSet
mov edx, 0x586
lea rcx, str.base_stor_blbcatalogcatalog.cpp
call fcn.140082070
nop
add rdi, 0x2a8
mov dword [rsp + 0x80], 6
movups xmm0, xmmword [rsi]
movdqu xmmword [rsp + 0x88], xmm0
lea r14, [rdi + 0x60]
cmp dword [rdi + 0x90], ebx
jne 0x1400938b3
mov rcx, r14
call fcn.1400a8ea4
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x80]
mov esi, 1
mov r8d, esi
xor edx, edx
mov rcx, r14
call fcn.1400a9508
mov r15d, 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, r14
call fcn.1400a9508
mov esi, eax
mov dword [rsp + 0x6c], eax
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x58], r14
inc eax
cmp eax, r15d
jge 0x14009392c
lea r8, str.result.m_high__1___result.m_low
mov edx, 0x596
lea rcx, str.base_stor_blbcatalogcatalog.cpp
call fcn.140082070
sub esi, r15d
add esi, 1
jne 0x140093948
mov rax, qword [rsp + 0x118]
mov dword [rax + 0x50], ebx
mov qword [rax + 0x58], rbx
jmp 0x140093e3c
mov r14d, esi
mov dword [rsp + 0x128], esi
mov r15b, byte [rsp + 0x120]
test r15b, r15b
je 0x1400939f8
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x98]
call fcn.1400a8e48
mov r15d, ebx
or r13d, 0xffffffff
cmp r15d, esi
jae 0x1400939fe
lea rcx, [rsp + 0x98]
call fcn.1400a8d6c
cmp eax, r13d
je 0x140093ef9
mov edx, eax
mov rcx, rdi
call fcn.1400a683c
mov rdx, rax
mov rcx, rdi
call fcn.1400a8190
mov r14d, eax
test eax, eax
je 0x1400939d0
cmp eax, 7
je 0x1400939d6
lea r8, str.eReason___EReasonForExclusion_eNone__eReason___EReasonForExclusion_eSkippedInSnapshot
mov edx, 0x5b9
lea rcx, str.base_stor_blbcatalogcatalog.cpp
call fcn.140082070
cmp r14d, 7
jne 0x1400939eb
mov r14d, dword [rsp + 0x128]
add r14d, r13d
mov dword [rsp + 0x128], r14d
jmp 0x1400939f3
mov r14d, dword [rsp + 0x128]
inc r15d
jmp 0x14009397c
or r13d, 0xffffffff
jmp 0x140093a06
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 0x140093a53
lea rax, [0x14016f048]
mov rcx, qword [0x14016f048]
cmp rcx, rax
je 0x140093f3f
test byte [rcx + 0x1c], 2
je 0x140093f3f
cmp byte [rcx + 0x19], 1
jae 0x140093f23
jmp 0x140093f3f
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x98]
call fcn.1400a8e48
lea rcx, [rsp + 0x98]
call fcn.1400a8d6c
cmp eax, r13d
je 0x140093e2f
mov edx, eax
mov rcx, rdi
call fcn.1400a683c
mov rsi, rax
mov rdx, rax
mov rcx, rdi
call fcn.1400a8190
test r15b, r15b
je 0x140093a9d
cmp eax, 7
je 0x140093a65
mov ecx, dword [rsp + 0x34]
imul r14, rcx, 0x88
add r14, r12
inc ecx
mov dword [rsp + 0x34], ecx
xor r9d, r9d
mov r8, rsi
lea rdx, [rsp + 0x80]
mov rcx, rdi
call fcn.1400a6450
movups xmm0, xmmword [rsp + 0x80]
movdqu xmmword [r14], xmm0
mov r9d, 1
mov r8, rsi
lea rdx, [rsp + 0x58]
mov rcx, rdi
call fcn.1400a6450
movups xmm0, xmmword [rsp + 0x58]
movdqu xmmword [r14 + 0x10], xmm0
test rsi, rsi
jne 0x140093b12
lea r8, str.pRow___NULL
mov edx, 0x209
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.140082070
movups xmm6, xmmword [0x140151210]
mov rdi, qword [rsp + 0x110]
add rdi, 0x2a8
lea r9, [rsp + 0x40]
mov r8d, 7
mov rdx, rsi
mov rcx, rdi
call fcn.1400a6350
mov r15, rax
test rax, rax
je 0x140093b69
cmp dword [rsp + 0x40], 0x10
je 0x140093b65
lea r8, str.cb__sizeof_GUID_
mov edx, 0x218
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.140082070
movups xmm6, xmmword [r15]
movdqu xmmword [r14 + 0x20], xmm6
mov r8d, 2
mov rdx, rsi
mov rcx, rdi
call fcn.1400a6260
mov rdx, rax
call fcn.14009481c
mov qword [r14 + 0x30], rax
mov r8d, 3
mov rdx, rsi
mov rcx, rdi
call fcn.1400a6260
mov rdx, rax
call fcn.14009481c
mov qword [r14 + 0x38], rax
mov r15d, 0xa
mov r8d, r15d
mov rdx, rsi
mov rcx, rdi
call fcn.1400a6260
mov rdx, rax
call fcn.14009481c
mov qword [r14 + 0x48], rax
mov r8d, r15d
mov rdx, rsi
mov rcx, rdi
call fcn.1400a6260
mov rdx, rax
call fcn.14009481c
mov qword [r14 + 0x40], rax
lea r8d, [r15 + 1]
mov rdx, rsi
mov rcx, rdi
call fcn.1400a66f8
cmp rax, 0xffffffffffffffff
cmove rax, rbx
mov qword [r14 + 0x50], rax
lea r8d, [r15 - 6]
mov rdx, rsi
mov rcx, rdi
call fcn.1400a6260
mov rdx, rax
call fcn.14009481c
mov qword [r14 + 0x58], rax
test rsi, rsi
jne 0x140093c36
lea r8, str.pRow___NULL
mov edx, 0x13c
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.140082070
mov dword [rsp + 0x30], ebx
lea r9, [rsp + 0x30]
mov r8d, 5
mov rdx, rsi
mov rcx, rdi
call fcn.1400a6350
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 0x140093ca3
lea rax, [0x14016f048]
mov rcx, qword [0x14016f048]
cmp rcx, rax
je 0x140093f74
test byte [rcx + 0x1c], 2
je 0x140093f74
cmp byte [rcx + 0x19], 1
jae 0x140093f58
jmp 0x140093f74
mov r13d, ebx
cmp r13d, r15d
jae 0x140093d3c
test rsi, rsi
jne 0x140093ccc
lea r8, str.pRow___NULL
mov edx, 0x166
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.140082070
mov dword [rsp + 0x30], ebx
lea r9, [rsp + 0x30]
mov r8d, 5
mov rdx, rsi
mov rcx, rdi
call fcn.1400a6350
mov r8, rax
mov qword [rsp + 0x78], rax
mov edx, dword [rsp + 0x30]
shr edx, 4
cmp r13d, edx
jb 0x140093d17
lea r8, str.iVolume___cb_sizeof_GUID_
mov edx, 0x170
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.140082070
mov r8, qword [rsp + 0x78]
test r8, r8
je 0x140093f8d
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 0x140093ca6
test rsi, rsi
jne 0x140093d59
lea r8, str.pRow___NULL
mov edx, 0x18d
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.140082070
mov r8d, 6
mov rdx, rsi
mov rcx, rdi
call fcn.1400a662c
test eax, eax
setne al
mov byte [r14 + 0x70], al
test rsi, rsi
jne 0x140093d90
lea r8, str.pRow___NULL
mov edx, 0x1ad
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.140082070
mov r8d, 8
mov rdx, rsi
mov rcx, rdi
call fcn.1400a662c
test eax, eax
setne al
mov byte [r14 + 0x71], al
test rsi, rsi
jne 0x140093dc7
lea r8, str.pRow___NULL
mov edx, 0x1ec
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.140082070
mov r8d, 0xd
mov rdx, rsi
mov rcx, rdi
call fcn.1400a662c
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.1400a8190
mov dword [r14 + 0x80], eax
mov r8d, 9
mov rdx, rsi
mov rcx, rdi
call fcn.1400a6260
mov rdx, rax
call fcn.14009481c
mov qword [r14 + 0x78], rax
mov r15b, byte [rsp + 0x120]
jmp 0x140093a65
mov r13d, dword [rsp + 0x4c]
mov rax, qword [rsp + 0x118]
mov edx, dword [rsp + 0x34]
cmp edx, dword [rsp + 0x128]
je 0x140093e7a
lea r8, str.cRestorableComponentCount__cValidComponents
mov edx, 0x65c
lea rcx, str.base_stor_blbcatalogcatalog.cpp
call fcn.140082070
mov rcx, qword [rsp + 0x110]
mov eax, dword [rcx + 0xc]
neg eax
sbb r13d, r13d
add r13d, 0x80780002
jmp 0x140093e90
mov dword [rax + 0x50], edx
mov qword [rax + 0x58], r12
jmp 0x140093ea4
test r12, r12
je 0x140093ea4
lea rdx, [rsp + 0x34]
lea rcx, [rsp + 0x50]
call fcn.140093574
lea rax, [0x14016f048]
mov rcx, qword [0x14016f048]
cmp rcx, rax
je 0x140093edb
test byte [rcx + 0x1c], 2
je 0x140093edb
cmp byte [rcx + 0x19], 4
jb 0x140093edb
mov edx, 0x22
mov r9d, r13d
lea r8, [0x14014d0f0]
mov rcx, qword [rcx + 0x10]
call fcn.1400049f8
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
mov rcx, qword [rsp + 0x110]
mov eax, dword [rcx + 0xc]
neg eax
sbb ecx, ecx
add ecx, 0x80780002
mov dword [rsp + 0x38], ecx
lea rdx, [0x14016b340]
lea rcx, [rsp + 0x38]
call sub.msvcrt.dll__CxxThrowException
imul r9d, r14d, 0x88
mov edx, 0x20
lea r8, [0x14014d0f0]
mov rcx, qword [rcx + 0x10]
call fcn.1400049f8
mov dword [rsp + 0x3c], 0x8007000e
lea rdx, [0x14016b340]
lea rcx, [rsp + 0x3c]
call sub.msvcrt.dll__CxxThrowException
shl r15d, 4
mov edx, 0x21
mov r9d, r15d
lea r8, [0x14014d0f0]
mov rcx, qword [rcx + 0x10]
call fcn.1400049f8
mov dword [rsp + 0x44], 0x8007000e
lea rdx, [0x14016b340]
lea rcx, [rsp + 0x44]
call sub.msvcrt.dll__CxxThrowException
mov rcx, rdi
call fcn.1400a5e38
neg eax
sbb ecx, ecx
add ecx, 0x80780002
mov dword [rsp + 0x48], ecx
lea rdx, [0x14016b340]
lea rcx, [rsp + 0x48]
call sub.msvcrt.dll__CxxThrowException
int3