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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x102878ec
mov eax, dword fs:[0]
push eax
sub esp, 0x98
push ebx
push esi
push edi
mov eax, dword [0x1037c990]
xor eax, esp
push eax
lea eax, [esp + 0xa8]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
push esi
mov dword [esp + 0x38], esi
mov byte [esp + 0x3c], 0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [esp + 0x38], 1
xor edi, edi
mov dword [esp + 0xb0], edi
cmp byte [esi + 0x30], 0
jne 0x101b394e
push edi
push 0x5b4
push 0x102e0474
push 0xe0e00062
call fcn.100048f0
mov eax, dword [esi + 0x1c]
xor ecx, ecx
cmp eax, edi
mov byte [esp + 0x17], 0
mov dword [esp + 0x1c], ecx
jg 0x101b39a6
cmp byte [esp + 0x17], 0
sete bl
mov dword [esp + 0xb0], 0xffffffff
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [esp + 0x38], 0
mov al, bl
mov ecx, dword [esp + 0xa8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x1c]
xor edi, edi
cmp ecx, edi
jl 0x101b3d97
cmp ecx, dword [esi + 0x1c]
jge 0x101b3d97
mov eax, dword [esi + 0x18]
mov esi, dword [eax + ecx*4]
lea eax, [eax + ecx*4]
mov dword [esp + 0xa0], esi
cmp esi, edi
je 0x101b39d3
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
push esi
call edx
mov byte [esp + 0xb0], 2
cmp esi, edi
setne al
test al, al
je 0x101b3d4f
lea ecx, [esp + 0x6c]
call fcn.10002dd0
mov byte [esp + 0xb0], 3
lea ecx, [esp + 0x6c]
mov dword [esp + 0x84], edi
call fcn.100041b0
lea eax, [esp + 0x74]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp eax, edi
jl 0x101b3d64
mov ecx, 8
mov word [esp + 0x74], cx
lea eax, [esp + 0x7c]
mov dword [esp + 0x84], 2
mov dword [esp + 0x7c], edi
mov edx, dword [esi]
mov ecx, dword [edx + 0x20]
push eax
push esi
call ecx
cmp eax, edi
jl 0x101b3d71
lea edx, [esp + 0x18]
push edx
push esi
call fcn.101abf90
mov byte [esp + 0xb0], 4
cmp dword [esp + 0x18], edi
setne al
test al, al
je 0x101b3d82
lea eax, [esp + 0x2c]
push eax
xor ecx, ecx
mov edx, esi
call fcn.10156e30
mov byte [esp + 0xb0], 5
mov ebx, dword [eax]
mov dword [esp + 0x9c], ebx
cmp ebx, edi
je 0x101b3a97
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
push ebx
call edx
mov byte [esp + 0xb0], 8
mov eax, dword [esp + 0x2c]
cmp eax, edi
je 0x101b3aaf
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov edi, dword [esp + 0x18]
call fcn.10040c00
test al, al
je 0x101b3cbc
test ebx, ebx
jne 0x101b3cbc
mov edi, dword [esp + 0x18]
call fcn.10040e80
test al, al
je 0x101b3ba0
call fcn.101ac000
cmp dword [eax + 0x1c], 3
jl 0x101b3b96
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
push str..RelationshipManager.cpp
call fcn.10035dd0
mov byte [esp + 0xcc], 0xb
push 0x5c4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x60], esp
push str.CRelationshipManager::VerifyRequiredPackagesPresent
call fcn.10035dd0
mov byte [esp + 0xec], 0xc
lea eax, [esp + 0x53]
lea ecx, [esp + 0xc8]
mov dword [esp + 0xcc], eax
mov dword [esp + 0x94], ecx
lea edx, [esp + 0xa8]
lea eax, [esp + 0x90]
lea ecx, [esp + 0x78]
push 3
mov byte [esp + 0x57], bl
mov dword [esp + 0x94], str.Missing_critical_package
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], eax
mov dword [esp + 0xa4], 0x102bda44
mov dword [esp + 0xa8], ecx
call fcn.101ac000
push eax
mov byte [esp + 0xf4], 8
lea edi, [esp + 0xa8]
call fcn.10002b50
mov byte [esp + 0x17], 1
jmp 0x101b3cbc
lea edx, [esp + 0x30]
push edx
mov ecx, 1
mov edx, esi
call fcn.10156e30
mov byte [esp + 0xb0], 0xd
push eax
lea eax, [esp + 0x24]
push eax
call fcn.1017d850
mov byte [esp + 0xb0], 0xf
lea ecx, [esp + 0x30]
push ecx
call fcn.100409e0
cmp dword [esp + 0x20], 0
jne 0x101b3caa
call fcn.101ac000
cmp dword [eax + 0x1c], 3
jl 0x101b3ca5
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push str..RelationshipManager.cpp
call fcn.10035dd0
mov byte [esp + 0xcc], 0x11
push 0x5cc
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x64], esp
push str.CRelationshipManager::VerifyRequiredPackagesPresent
call fcn.10035dd0
mov byte [esp + 0xec], 0x12
lea edx, [esp + 0x53]
lea eax, [esp + 0xd0]
mov dword [esp + 0xd4], edx
mov dword [esp + 0x84], eax
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x80]
lea eax, [esp + 0x88]
push 3
mov byte [esp + 0x57], 0
mov dword [esp + 0x84], str.Missing_required_package
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
mov dword [esp + 0x9c], 0x102bda44
mov dword [esp + 0xa0], eax
call fcn.101ac000
push eax
mov byte [esp + 0xf4], 0xf
lea edi, [esp + 0xa0]
call fcn.10002b50
mov byte [esp + 0x17], 1
mov byte [esp + 0xb0], 8
lea ecx, [esp + 0x20]
push ecx
call fcn.100409e0
mov byte [esp + 0xb0], 4
test ebx, ebx
je 0x101b3cd0
mov edx, dword [ebx]
mov eax, dword [edx + 8]
push ebx
call eax
mov byte [esp + 0xb0], 3
mov eax, dword [esp + 0x18]
test eax, eax
je 0x101b3ce8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0xb0], 0x15
lea eax, [esp + 0x74]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [esp + 0xb0], 2
mov eax, dword [esp + 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x101b3d23
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xb0], 0
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 8]
inc eax
cmp eax, dword [ecx + 0x1c]
mov dword [esp + 0x1c], eax
mov esi, ecx
jl 0x101b39a0
jmp 0x101b3960
push edi
push 0x5ba
push 0x102e0474
push 0xe0e00062
call fcn.100048f0
push edi
push edi
push 0x102b274a
push eax
call fcn.100048f0
push edi
push 0x5bc
push 0x102e0474
push eax
call fcn.100048f0
push edi
push 0x5be
push 0x102e0474
push 0xe0e00062
call fcn.100048f0
push edi
push edi
push 1
push 0xc000008c
call dword [sym.imp.KERNEL32.dll_RaiseException]