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

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov dword [rax + 0x10], edx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x160
mov qword [rbp - 8], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rsi, r8
mov rbx, rcx
lea rax, [0x14016f048]
mov rcx, qword [0x14016f048]
cmp rcx, rax
je 0x1400fb6f5
test byte [rcx + 0x1c], 1
je 0x1400fb6f5
cmp byte [rcx + 0x19], 4
jb 0x1400fb6f5
mov edx, 0xa
lea r8, [0x140154fa8]
mov rcx, qword [rcx + 0x10]
call fcn.1400049d8
xor eax, eax
mov r12d, eax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rax
mov r14d, eax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x68], rax
mov r13d, eax
mov qword [rbp - 0x58], rax
mov edi, eax
mov qword [rbp - 0x70], rax
mov r15d, eax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x60], rax
cmp qword [rbx], rax
je 0x1400fb748
lea r8, str.m_wszSpecsXML__NULL
mov edx, 0xc1
lea rcx, str.base_stor_blbengine_blbengutils_blbbackupitemsutils.cpp
call fcn.140082070
xor eax, eax
cmp qword [rbx + 8], rax
je 0x1400fb766
lea r8, str.m_spBackupItemsRoot__NULL
mov edx, 0xc2
lea rcx, str.base_stor_blbengine_blbengutils_blbbackupitemsutils.cpp
call fcn.140082070
mov edx, 0x1c
lea r8d, [rdx - 0x1a]
lea rcx, [rbp - 0x38]
call fcn.14000f99c
mov ebx, eax
test eax, eax
js 0x1400fbfa7
mov r9d, 1
lea r8, str._BackupSpecs_Version__u__
lea edx, [r9 + 0x19]
mov rcx, qword [rbp - 0x38]
call fcn.14000f924
mov ebx, eax
test eax, eax
js 0x1400fbfa7
or rdi, 0xffffffffffffffff
mov rcx, qword [rbp - 0x38]
xor ebx, ebx
test rcx, rcx
je 0x1400fb7d2
mov rax, rdi
inc rax
cmp word [rcx + rax*2], bx
jne 0x1400fb7b8
mov r8d, eax
mov rdx, rcx
lea rcx, [rbp - 0x60]
call fcn.1400697ac
jmp 0x1400fb7d4
mov eax, ebx
test eax, eax
js 0x1400fc085
lea rdx, str._FileSpecs_
mov rax, rdi
inc rax
cmp word [rdx + rax*2], bx
jne 0x1400fb7e6
mov r8d, eax
lea rcx, [rbp - 0x60]
call fcn.1400697ac
test eax, eax
js 0x1400fc08d
mov eax, ebx
mov dword [rbp - 0x50], ebx
lea r13, str.false
mov ecx, dword [rbp + 0x48]
test ecx, ecx
je 0x1400fbb13
add rsi, 0x18
cmp byte [rsi + 0x3c], bl
je 0x1400fbaf7
test r12, r12
je 0x1400fb83c
mov rcx, r12
call qword [sym.imp.ole32.dll_CoTaskMemFree]
xor r12d, r12d
mov qword [rbp - 0x40], r12
test r14, r14
je 0x1400fb853
mov rcx, r14
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov r14, r12
mov qword [rbp - 0x80], r12
jmp 0x1400fb857
mov r14, qword [rbp - 0x80]
lea rcx, [rsi - 0x18]
xor r9d, r9d
lea r8, [rbp - 0x40]
mov edx, dword [rsi + 0x40]
call fcn.140085a88
mov ebx, eax
test eax, eax
js 0x1400fbb4d
mov rax, qword [rsi - 8]
test rax, rax
je 0x1400fb88c
mov rdx, rdi
inc rdx
cmp word [rax + rdx*2], r12w
jne 0x1400fb880
jmp 0x1400fb88f
mov rdx, r12
mov rax, qword [rsi]
test rax, rax
je 0x1400fb8a6
mov rcx, rdi
inc rcx
cmp word [rax + rcx*2], r12w
jne 0x1400fb89a
jmp 0x1400fb8a9
mov rcx, r12
mov rax, rdi
mov r12, qword [rbp - 0x40]
xor r15d, r15d
inc rax
cmp word [r12 + rax*2], r15w
jne 0x1400fb8b3
add eax, edx
lea r14d, [rcx + 0x63]
add r14d, eax
mov r8d, 2
mov edx, r14d
lea rcx, [rbp - 0x80]
call fcn.14000f99c
mov ebx, eax
test eax, eax
js 0x1400fbf9f
lea r8, [0x140148138]
mov rcx, r8
cmp qword [rsi], r15
cmovne rcx, qword [rsi]
mov rax, r8
cmp qword [rsi - 8], r15
cmovne rax, qword [rsi - 8]
mov edx, r14d
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov r9, r12
lea r8, str._Volume_Name__ws__AccessPath__ws__OriginalAccessPath__ws__Label__ws__OriginalLabel__ws___
mov r14, qword [rbp - 0x80]
mov rcx, r14
call fcn.14000f924
mov ebx, eax
test eax, eax
js 0x1400fbf9f
xor ebx, ebx
test r14, r14
je 0x1400fb95b
mov rax, rdi
inc rax
cmp word [r14 + rax*2], bx
jne 0x1400fb940
mov r8d, eax
mov rdx, r14
lea rcx, [rbp - 0x60]
call fcn.1400697ac
jmp 0x1400fb95d
mov eax, ebx
test eax, eax
js 0x1400fc0ad
test byte [rsi + 0x40], 1
jne 0x1400fbad3
mov r13d, ebx
cmp dword [rsi + 0x50], ebx
jbe 0x1400fbad3
mov r14, qword [rbp - 0x70]
mov eax, r13d
lea r15, [rax + rax*2]
mov r12, qword [rsi + 0x58]
test r14, r14
je 0x1400fb99c
mov rcx, r14
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rbp - 0x70], rbx
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x1400fb9b2
mov rcx, rax
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rbp - 0x78], rbx
lea rdx, [rbp - 0x78]
mov rcx, qword [r12 + r15*8]
call fcn.140082c18
mov ebx, eax
xor edx, edx
test eax, eax
js 0x1400fbf9f
mov r14, rdi
mov rax, qword [rbp - 0x78]
inc r14
cmp word [rax + r14*2], dx
jne 0x1400fb9d2
mov rcx, qword [r12 + r15*8 + 8]
mov rax, rdi
inc rax
cmp word [rcx + rax*2], dx
jne 0x1400fb9e4
add r14d, eax
mov al, byte [r12 + r15*8 + 0x10]
neg al
sbb ecx, ecx
add ecx, 0x56
add r14d, ecx
mov al, byte [r12 + r15*8 + 0x11]
neg al
sbb ecx, ecx
add ecx, 5
add r14d, ecx
mov r8d, 2
mov edx, r14d
lea rcx, [rbp - 0x70]
call fcn.14000f99c
mov ebx, eax
xor edx, edx
test eax, eax
js 0x1400fbf9f
lea rax, str.false
mov rcx, rax
cmp byte [r12 + r15*8 + 0x11], dl
lea r8, str.true
cmovne rcx, r8
cmp byte [r12 + r15*8 + 0x10], dl
cmovne rax, r8
mov edx, r14d
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov rax, qword [r12 + r15*8 + 8]
mov qword [rsp + 0x20], rax
mov r15, qword [rbp - 0x78]
mov r9, r15
lea r8, str._FileSpec_FilePath__ws__FileName__ws__IsRecursive__ws__IsInclude__ws____
mov r14, qword [rbp - 0x70]
mov rcx, r14
call fcn.14000f924
mov ebx, eax
xor r12d, r12d
test eax, eax
js 0x1400fbb40
test r14, r14
je 0x1400fbab0
mov rax, rdi
inc rax
cmp word [r14 + rax*2], r12w
jne 0x1400fba95
mov r8d, eax
mov rdx, r14
lea rcx, [rbp - 0x60]
call fcn.1400697ac
jmp 0x1400fbab3
mov eax, r12d
test eax, eax
js 0x1400fc09d
inc r13d
cmp r13d, dword [rsi + 0x50]
mov rbx, r12
jb 0x1400fb97f
mov r14, qword [rbp - 0x80]
mov r12, qword [rbp - 0x40]
mov r8d, 9
lea rdx, str.__Volume_
lea rcx, [rbp - 0x60]
call fcn.1400697ac
test eax, eax
js 0x1400fc0a5
mov eax, dword [rbp - 0x50]
mov ecx, dword [rbp + 0x48]
inc eax
mov dword [rbp - 0x50], eax
sub rsi, 0xffffffffffffff80
cmp eax, ecx
jb 0x1400fb81e
mov r15, qword [rbp - 0x48]
lea r13, str.false
lea rdx, str.__FileSpecs_
mov rax, rdi
xor r12d, r12d
inc rax
cmp word [rdx + rax*2], r12w
jne 0x1400fbb20
mov r8d, eax
lea rcx, [rbp - 0x60]
call fcn.1400697ac
test eax, eax
js 0x1400fc095
jmp 0x1400fbb5e
mov rdi, qword [rbp - 0x70]
mov r13, qword [rbp - 0x58]
jmp 0x1400fbfab
mov rdi, qword [rbp - 0x70]
mov r13, qword [rbp - 0x58]
mov r15, qword [rbp - 0x78]
jmp 0x1400fbfaf
mov r14b, byte [rbp + 0x68]
mov al, r14b
neg al
sbb esi, esi
add esi, 0x29
mov r8d, 2
mov edx, esi
lea rcx, [rbp - 0x68]
call fcn.14000f99c
mov ebx, eax
test eax, eax
js 0x1400fbf9f
mov r9, r13
test r14b, r14b
lea rax, str.true
cmovne r9, rax
mov edx, esi
lea r8, str._SystemState_IsPresent__ws____
mov rsi, qword [rbp - 0x68]
mov rcx, rsi
call fcn.14000f924
mov ebx, eax
test eax, eax
js 0x1400fbf8d
test rsi, rsi
je 0x1400fbbda
mov rax, rdi
inc rax
cmp word [rsi + rax*2], r12w
jne 0x1400fbbbf
mov r8d, eax
mov rdx, rsi
lea rcx, [rbp - 0x60]
call fcn.1400697ac
jmp 0x1400fbbdd
mov eax, r12d
test eax, eax
js 0x1400fc0b5
mov r14b, byte [rbp + 0x70]
mov al, r14b
neg al
sbb esi, esi
add esi, 0x29
mov r8d, 2
mov edx, esi
lea rcx, [rbp - 0x58]
call fcn.14000f99c
mov ebx, eax
test eax, eax
js 0x1400fbf9f
test r14b, r14b
lea rax, str.true
cmovne r13, rax
mov edx, esi
mov r9, r13
lea r8, str._AllCritical_IsPresent__ws____
mov r13, qword [rbp - 0x58]
mov rcx, r13
call fcn.14000f924
mov ebx, eax
test eax, eax
js 0x1400fbfa3
test r13, r13
je 0x1400fbc62
mov rax, rdi
inc rax
cmp word [r13 + rax*2], r12w
jne 0x1400fbc46
mov r8d, eax
mov rdx, r13
lea rcx, [rbp - 0x60]
call fcn.1400697ac
jmp 0x1400fbc65
mov eax, r12d
test eax, eax
js 0x1400fc0bd
lea rdx, str._ComponentSpecs_
mov rax, rdi
inc rax
cmp word [rdx + rax*2], r12w
jne 0x1400fbc77
mov r8d, eax
lea rcx, [rbp - 0x60]
call fcn.1400697ac
test eax, eax
js 0x1400fc0c5
mov dword [rbp - 0x50], r12d
cmp dword [rbp + 0x58], r12d
jbe 0x1400fbef7
mov r13, qword [rbp + 0x60]
add r13, 8
mov qword [rbp - 0x28], r13
test r15, r15
je 0x1400fbcc1
mov rcx, r15
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rbp - 0x48], r12
mov rax, qword [r13]
test rax, rax
je 0x1400fbcd9
mov rcx, rdi
inc rcx
cmp word [rax + rcx*2], r12w
jne 0x1400fbccd
jmp 0x1400fbcdc
mov rcx, r12
mov rdx, qword [r13 - 8]
test rdx, rdx
je 0x1400fbcf4
mov rax, rdi
inc rax
cmp word [rdx + rax*2], r12w
jne 0x1400fbce8
jmp 0x1400fbcf7
mov rax, r12
lea edx, [rax + 0x10f]
mov rax, qword [r13 + 0x28]
test rax, rax
je 0x1400fbd12
inc rdi
cmp word [rax + rdi*2], r12w
jne 0x1400fbd06
jmp 0x1400fbd15
mov rdi, r12
lea eax, [rdx + rcx]
add eax, edi
mov dword [rbp - 0x30], eax
mov r8d, 2
mov edx, eax
lea rcx, [rbp - 0x48]
call fcn.14000f99c
mov ebx, eax
test eax, eax
js 0x1400fbf9f
lea rcx, [0x140148138]
mov rax, rcx
cmp qword [r13 + 0x28], r12
cmovne rax, qword [r13 + 0x28]
mov qword [rbp - 0x20], rax
mov rax, rcx
cmp qword [r13 - 8], r12
cmovne rax, qword [r13 - 8]
mov qword [rbp - 0x18], rax
mov rax, rcx
cmp qword [r13], r12
cmovne rax, qword [r13]
mov qword [rbp - 0x10], rax
movzx eax, byte [r13 + 0x27]
movzx ecx, byte [r13 + 0x26]
movzx r8d, byte [r13 + 0x25]
movzx r9d, byte [r13 + 0x24]
movzx r10d, byte [r13 + 0x23]
movzx r11d, byte [r13 + 0x22]
movzx ebx, byte [r13 + 0x21]
movzx edi, byte [r13 + 0x20]
movzx esi, word [r13 + 0x1e]
movzx r14d, word [r13 + 0x1c]
movzx r15d, byte [r13 + 0x17]
mov dword [rbp - 0x2c], r15d
movzx r12d, byte [r13 + 0x16]
movzx r13d, byte [r13 + 0x15]
mov edx, dword [rbp - 0x30]
mov r15, qword [rbp - 0x20]
mov qword [rsp + 0xd8], r15
mov r15, qword [rbp - 0x18]
mov qword [rsp + 0xd0], r15
mov r15, qword [rbp - 0x10]
mov qword [rsp + 0xc8], r15
mov dword [rsp + 0xc0], eax
mov dword [rsp + 0xb8], ecx
mov dword [rsp + 0xb0], r8d
mov dword [rsp + 0xa8], r9d
mov dword [rsp + 0xa0], r10d
mov dword [rsp + 0x98], r11d
mov dword [rsp + 0x90], ebx
mov dword [rsp + 0x88], edi
mov dword [rsp + 0x80], esi
mov dword [rsp + 0x78], r14d
mov rax, qword [rbp - 0x28]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x70], eax
mov r15d, dword [rbp - 0x2c]
mov dword [rsp + 0x68], r15d
mov dword [rsp + 0x60], r12d
mov dword [rsp + 0x58], r13d
mov r13, qword [rbp - 0x28]
movzx eax, byte [r13 + 0x14]
mov dword [rsp + 0x50], eax
movzx eax, byte [r13 + 0x13]
mov dword [rsp + 0x48], eax
movzx eax, byte [r13 + 0x12]
mov dword [rsp + 0x40], eax
movzx eax, byte [r13 + 0x11]
mov dword [rsp + 0x38], eax
movzx eax, byte [r13 + 0x10]
mov dword [rsp + 0x30], eax
movzx eax, word [r13 + 0xe]
mov dword [rsp + 0x28], eax
movzx eax, word [r13 + 0xc]
mov dword [rsp + 0x20], eax
mov r9d, dword [r13 + 8]
lea r8, str._ComponentSpec_WriterId__.8x__.4x__.4x__.2x_.2x__.2x_.2x_.2x_.2x_.2x_.2x__InstanceId__.8x__.4x__.4x__.2x_.2x__.2x_.2x_.2x_.2x_.2x_.2x__ComponentName__ws__LogicalPath__ws__Caption__ws____
mov r15, qword [rbp - 0x48]
mov rcx, r15
call fcn.14000f924
mov ebx, eax
xor r12d, r12d
test eax, eax
js 0x1400fbf9f
or rdi, 0xffffffffffffffff
test r15, r15
je 0x1400fbecf
mov rax, rdi
inc rax
cmp word [r15 + rax*2], r12w
jne 0x1400fbeb4
mov r8d, eax
mov rdx, r15
lea rcx, [rbp - 0x60]
call fcn.1400697ac
jmp 0x1400fbed2
mov eax, r12d
test eax, eax
js 0x1400fc0d5
mov ecx, dword [rbp - 0x50]
inc ecx
mov dword [rbp - 0x50], ecx
add r13, 0x48
mov qword [rbp - 0x28], r13
cmp ecx, dword [rbp + 0x58]
jb 0x1400fbcaf
mov r13, qword [rbp - 0x58]
lea rdx, str.__ComponentSpecs_
mov rax, rdi
inc rax
cmp word [rdx + rax*2], r12w
jne 0x1400fbf01
mov r8d, eax
lea rcx, [rbp - 0x60]
call fcn.1400697ac
test eax, eax
js 0x1400fc0cd
lea rdx, str.__BackupSpecs_
inc rdi
cmp word [rdx + rdi*2], r12w
jne 0x1400fbf26
mov r8d, edi
lea rcx, [rbp - 0x60]
call fcn.1400697ac
test eax, eax
js 0x1400fc0dd
mov rcx, qword [0x14016f048]
lea rax, [0x14016f048]
cmp rcx, rax
je 0x1400fbf7c
test byte [rcx + 0x1c], 1
je 0x1400fbf7c
cmp byte [rcx + 0x19], 4
jb 0x1400fbf7c
mov edx, 0xb
mov r9, qword [rbp - 0x60]
lea r8, [0x140154fa8]
mov rcx, qword [rcx + 0x10]
call fcn.1400058d8
lea rdx, [rbp - 0x60]
mov rcx, qword [rbp + 0x40]
call fcn.1400fc0e8
mov ebx, eax
jmp 0x1400fbfa3
mov r14, qword [rbp - 0x80]
mov rdi, qword [rbp - 0x70]
mov r13, qword [rbp - 0x58]
mov r15, qword [rbp - 0x78]
jmp 0x1400fbfb3
mov r13, qword [rbp - 0x58]
mov rdi, qword [rbp - 0x70]
mov r15, qword [rbp - 0x78]
mov r14, qword [rbp - 0x80]
mov rsi, qword [rbp - 0x68]
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x1400fbfc5
mov rcx, rax
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test r14, r14
je 0x1400fbfd3
mov rcx, r14
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test rdi, rdi
je 0x1400fbfe1
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x1400fbff0
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test r15, r15
je 0x1400fbffe
mov rcx, r15
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test rsi, rsi
je 0x1400fc00c
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test r13, r13
je 0x1400fc01a
mov rcx, r13
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x1400fc029
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x14016f048]
lea rax, [0x14016f048]
cmp rcx, rax
je 0x1400fc05e
test byte [rcx + 0x1c], 1
je 0x1400fc05e
cmp byte [rcx + 0x19], 4
jb 0x1400fc05e
mov edx, 0xc
lea r8, [0x140154fa8]
mov rcx, qword [rcx + 0x10]
call fcn.1400049d8
nop
mov rcx, qword [rbp - 0x60]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, ebx
mov rbx, qword [rsp + 0x1b0]
add rsp, 0x160
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, eax
call fcn.140001b04
int3
mov ecx, eax
call fcn.140001b04
int3
mov ecx, eax
call fcn.140001b04
int3
mov ecx, eax
call fcn.140001b04
int3
mov ecx, eax
call fcn.140001b04
int3
mov ecx, eax
call fcn.140001b04
int3
mov ecx, eax
call fcn.140001b04
int3
mov ecx, eax
call fcn.140001b04
int3
mov ecx, eax
call fcn.140001b04
int3
mov ecx, eax
call fcn.140001b04
int3
mov ecx, eax
call fcn.140001b04
int3
mov ecx, eax
call fcn.140001b04
int3