Function at 0x140099d58
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
movups xmmword [rax - 0x60], xmm0
mov r13d, ebx
mov dword [rsp + 0x4c], ebx
test rdx, rdx
jne 0x140099dd1
lea r8, str.pBackupSet
mov edx, 0x586
lea rcx, str.base_stor_blbcatalogcatalog.cpp
call fcn.1400876c8
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 0x140099e03
mov rcx, r14
call fcn.1400af7e4
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.1400afe30
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.1400afe30
mov esi, eax
mov dword [rsp + 0x6c], eax
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x58], r14
inc eax
cmp eax, r15d
jge 0x140099e7c
lea r8, str.result.m_high__1___result.m_low
mov edx, 0x596
lea rcx, str.base_stor_blbcatalogcatalog.cpp
call fcn.1400876c8
sub esi, r15d
add esi, 1
jne 0x140099e98
mov rax, qword [rsp + 0x118]
mov dword [rax + 0x50], ebx
mov qword [rax + 0x58], rbx
jmp 0x14009a33c
mov r14d, esi
mov dword [rsp + 0x128], esi
mov r15b, byte [rsp + 0x120]
test r15b, r15b
je 0x140099f48
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x98]
call fcn.1400af784
mov r15d, ebx
or r13d, 0xffffffff
cmp r15d, esi
jae 0x140099f4e
lea rcx, [rsp + 0x98]
call fcn.1400af6a0
cmp eax, r13d
je 0x14009a3fa
mov edx, eax
mov rcx, rdi
call fcn.1400ad0c4
mov rdx, rax
mov rcx, rdi
call fcn.1400aea6c
mov r14d, eax
test eax, eax
je 0x140099f20
cmp eax, 7
je 0x140099f26
lea r8, str.eReason___EReasonForExclusion_eNone__eReason___EReasonForExclusion_eSkippedInSnapshot
mov edx, 0x5b9
lea rcx, str.base_stor_blbcatalogcatalog.cpp
call fcn.1400876c8
cmp r14d, 7
jne 0x140099f3b
mov r14d, dword [rsp + 0x128]
add r14d, r13d
mov dword [rsp + 0x128], r14d
jmp 0x140099f43
mov r14d, dword [rsp + 0x128]
inc r15d
jmp 0x140099ecc
or r13d, 0xffffffff
jmp 0x140099f56
mov r15b, byte [rsp + 0x120]
mov eax, r14d
imul rcx, rax, 0x88
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
nop dword [rax + rax]
mov r12, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14009a424
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x98]
call fcn.1400af784
lea rcx, [rsp + 0x98]
call fcn.1400af6a0
cmp eax, r13d
je 0x14009a32f
mov edx, eax
mov rcx, rdi
call fcn.1400ad0c4
mov rsi, rax
mov rdx, rax
mov rcx, rdi
call fcn.1400aea6c
test r15b, r15b
je 0x140099fc7
cmp eax, 7
je 0x140099f8f
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.1400acc98
movups xmm0, xmmword [rsp + 0x80]
movdqu xmmword [r14], xmm0
mov r9d, 1
mov r8, rsi
lea rdx, [rsp + 0x58]
mov rcx, rdi
call fcn.1400acc98
movups xmm0, xmmword [rsp + 0x58]
movdqu xmmword [r14 + 0x10], xmm0
test rsi, rsi
jne 0x14009a03c
lea r8, str.pRow___NULL
mov edx, 0x209
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.1400876c8
movups xmm6, xmmword [0x140159df8]
mov rdi, qword [rsp + 0x110]
add rdi, 0x2a8
lea r9, [rsp + 0x40]
mov r8d, 7
mov rdx, rsi
mov rcx, rdi
call fcn.1400acb88
mov r15, rax
test rax, rax
je 0x14009a093
cmp dword [rsp + 0x40], 0x10
je 0x14009a08f
lea r8, str.cb__sizeof_GUID_
mov edx, 0x218
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.1400876c8
movups xmm6, xmmword [r15]
movdqu xmmword [r14 + 0x20], xmm6
mov r8d, 2
mov rdx, rsi
mov rcx, rdi
call fcn.1400aca88
mov rdx, rax
call fcn.14009ad34
mov qword [r14 + 0x30], rax
mov r8d, 3
mov rdx, rsi
mov rcx, rdi
call fcn.1400aca88
mov rdx, rax
call fcn.14009ad34
mov qword [r14 + 0x38], rax
mov r15d, 0xa
mov r8d, r15d
mov rdx, rsi
mov rcx, rdi
call fcn.1400aca88
mov rdx, rax
call fcn.14009ad34
mov qword [r14 + 0x48], rax
mov r8d, r15d
mov rdx, rsi
mov rcx, rdi
call fcn.1400aca88
mov rdx, rax
call fcn.14009ad34
mov qword [r14 + 0x40], rax
lea r8d, [r15 + 1]
mov rdx, rsi
mov rcx, rdi
call fcn.1400acf70
cmp rax, 0xffffffffffffffff
cmove rax, rbx
mov qword [r14 + 0x50], rax
lea r8d, [r15 - 6]
mov rdx, rsi
mov rcx, rdi
call fcn.1400aca88
mov rdx, rax
call fcn.14009ad34
mov qword [r14 + 0x58], rax
test rsi, rsi
jne 0x14009a160
lea r8, str.pRow___NULL
mov edx, 0x13c
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.1400876c8
mov dword [rsp + 0x30], ebx
lea r9, [rsp + 0x30]
mov r8d, 5
mov rdx, rsi
mov rcx, rdi
call fcn.1400acb88
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]
nop dword [rax + rax]
mov qword [r14 + 0x68], rax
test rax, rax
je 0x14009a478
mov r13d, ebx
cmp r13d, r15d
jae 0x14009a23c
test rsi, rsi
jne 0x14009a1d0
lea r8, str.pRow___NULL
mov edx, 0x166
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.1400876c8
mov dword [rsp + 0x30], ebx
lea r9, [rsp + 0x30]
mov r8d, 5
mov rdx, rsi
mov rcx, rdi
call fcn.1400acb88
mov qword [rsp + 0x78], rax
mov edx, dword [rsp + 0x30]
shr edx, 4
cmp r13d, edx
jb 0x14009a218
lea r8, str.iVolume___cb_sizeof_GUID_
mov edx, 0x170
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.1400876c8
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x14009a4cc
mov ecx, r13d
add rcx, rcx
movups xmm0, xmmword [rax + rcx*8]
mov rax, qword [r14 + 0x68]
movdqu xmmword [rax + rcx*8], xmm0
inc r13d
jmp 0x14009a1aa
test rsi, rsi
jne 0x14009a259
lea r8, str.pRow___NULL
mov edx, 0x18d
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.1400876c8
mov r8d, 6
mov rdx, rsi
mov rcx, rdi
call fcn.1400ace94
test eax, eax
setne al
mov byte [r14 + 0x70], al
test rsi, rsi
jne 0x14009a290
lea r8, str.pRow___NULL
mov edx, 0x1ad
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.1400876c8
mov r8d, 8
mov rdx, rsi
mov rcx, rdi
call fcn.1400ace94
test eax, eax
setne al
mov byte [r14 + 0x71], al
test rsi, rsi
jne 0x14009a2c7
lea r8, str.pRow___NULL
mov edx, 0x1ec
lea rcx, str.base_stor_blbcatalogcmpnttbl.cpp
call fcn.1400876c8
mov r8d, 0xd
mov rdx, rsi
mov rcx, rdi
call fcn.1400ace94
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.1400aea6c
mov dword [r14 + 0x80], eax
mov r8d, 9
mov rdx, rsi
mov rcx, rdi
call fcn.1400aca88
mov rdx, rax
call fcn.14009ad34
mov qword [r14 + 0x78], rax
mov r15b, byte [rsp + 0x120]
jmp 0x140099f8f
mov r13d, dword [rsp + 0x4c]
mov rax, qword [rsp + 0x118]
mov edx, dword [rsp + 0x34]
cmp edx, dword [rsp + 0x128]
je 0x14009a37a
lea r8, str.cRestorableComponentCount__cValidComponents
mov edx, 0x65c
lea rcx, str.base_stor_blbcatalogcatalog.cpp
call fcn.1400876c8
mov rcx, qword [rsp + 0x110]
mov eax, dword [rcx + 0xc]
neg eax
sbb r13d, r13d
add r13d, 0x80780002
jmp 0x14009a390
mov dword [rax + 0x50], edx
mov qword [rax + 0x58], r12
jmp 0x14009a3a4
test r12, r12
je 0x14009a3a4
lea rdx, [rsp + 0x34]
lea rcx, [rsp + 0x50]
call fcn.140099a70
lea rax, [0x14017a048]
mov rcx, qword [0x14017a048]
cmp rcx, rax
je 0x14009a3db
test byte [rcx + 0x1c], 2
je 0x14009a3db
cmp byte [rcx + 0x19], 4
jb 0x14009a3db
mov edx, 0x22
mov r9d, r13d
lea r8, [0x14015a240]
mov rcx, qword [rcx + 0x10]
call fcn.140004b9c
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, [0x1401768b0]
lea rcx, [rsp + 0x38]
call sub.msvcrt.dll__CxxThrowException
lea rax, [0x14017a048]
mov rcx, qword [0x14017a048]
cmp rcx, rax
je 0x14009a45f
test byte [rcx + 0x1c], 2
je 0x14009a45f
cmp byte [rcx + 0x19], 1
jb 0x14009a45f
imul r9d, r14d, 0x88
lea edx, [r12 + 0x20]
lea r8, [0x14015a240]
mov rcx, qword [rcx + 0x10]
call fcn.140004b9c
mov dword [rsp + 0x3c], 0x8007000e
lea rdx, [0x1401768b0]
lea rcx, [rsp + 0x3c]
call sub.msvcrt.dll__CxxThrowException
lea rax, [0x14017a048]
mov rcx, qword [0x14017a048]
cmp rcx, rax
je 0x14009a4b3
test byte [rcx + 0x1c], 2
je 0x14009a4b3
cmp byte [rcx + 0x19], 1
jb 0x14009a4b3
shl r15d, 4
mov edx, 0x21
mov r9d, r15d
lea r8, [0x14015a240]
mov rcx, qword [rcx + 0x10]
call fcn.140004b9c
mov dword [rsp + 0x44], 0x8007000e
lea rdx, [0x1401768b0]
lea rcx, [rsp + 0x44]
call sub.msvcrt.dll__CxxThrowException
mov rcx, rdi
call fcn.1400ac650
neg eax
sbb ecx, ecx
add ecx, 0x80780002
mov dword [rsp + 0x48], ecx
lea rdx, [0x1401768b0]
lea rcx, [rsp + 0x48]
call sub.msvcrt.dll__CxxThrowException
int3