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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10295a22
mov eax, dword fs:[0]
push eax
sub esp, 0x100
push ebx
push esi
push edi
mov eax, dword [0x1037c990]
xor eax, esp
push eax
lea eax, [esp + 0x110]
mov dword fs:[0], eax
mov esi, ecx
xor ebx, ebx
cmp esi, ebx
jne 0x100b814c
push ebx
push 0x66
push 0x102c3e5c
push 0x80070057
call fcn.100048f0
mov dword [esp + 0x34], ebx
mov dword [esp + 0x118], 3
mov eax, dword [esi]
mov edx, dword [eax + 0x20]
lea ecx, [esp + 0x34]
push ecx
push esi
call edx
cmp eax, ebx
jge 0x100b817a
push ebx
push 0x69
push 0x102c3e5c
push eax
call fcn.100048f0
mov eax, dword [esi]
mov edx, dword [eax + 0x2c]
lea ecx, [esp + 0x24]
push ecx
push esi
mov dword [esp + 0x2c], ebx
call edx
cmp eax, ebx
jge 0x100b819d
push ebx
push 0x6c
push 0x102c3e5c
push eax
call fcn.100048f0
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0xe4]
push eax
call fcn.100bf190
mov byte [esp + 0x118], 5
jmp 0x100b81c0
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [esp + 0xec]
push ecx
call edi
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x38], ebx
cmp eax, ebx
je 0x100b81fe
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esp + 0xf0]
push ecx
push 1
push eax
call edx
cmp eax, ebx
jl 0x100b88c0
cmp dword [esp + 0x38], ebx
seta al
cmp al, bl
je 0x100b8924
lea eax, [esp + 0x18]
push eax
lea esi, [esp + 0xe8]
call fcn.100900e0
mov byte [esp + 0x118], 6
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
lea edx, [esp + 0x2c]
push edx
push eax
mov eax, dword [ecx + 0x30]
call eax
cmp eax, ebx
jl 0x100b88cd
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x118], 8
push 0x103b7524
lea ecx, [esp + 0x40]
call fcn.10003eb0
mov byte [esp + 0x118], 0xa
lea ecx, [esp + 0x44]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov byte [esp + 0x118], 0xb
mov dword [esp + 0x54], ebx
mov byte [esp + 0x118], 0xc
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], ebx
call fcn.100041b0
lea edx, [esp + 0x44]
push edx
call edi
cmp eax, ebx
jl 0x100b88c0
mov eax, 8
mov word [esp + 0x44], ax
lea edx, [esp + 0x4c]
mov dword [esp + 0x54], 2
mov dword [esp + 0x4c], ebx
mov ecx, dword [esi]
mov eax, dword [ecx + 0x20]
push edx
push esi
call eax
cmp eax, ebx
jl 0x100b88db
mov eax, dword [esp + 0x24]
cmp eax, 8
jne 0x100b85b9
mov ecx, dword [esp + 0x2c]
shr ecx, 1
test cl, 1
je 0x100b842d
mov dword [esp + 0x28], ebx
mov byte [esp + 0x118], 0xe
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
mov edx, dword [edx + 0x24]
lea ecx, [esp + 0x28]
push ecx
push eax
call edx
cmp eax, ebx
jl 0x100b88e9
cmp dword [esp + 0x28], ebx
je 0x100b840e
call fcn.100b6e50
cmp dword [eax + 0x1c], 6
mov esi, 7
jl 0x100b83fd
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x1b
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str..NVCheckFilesInUseTest.cpp
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x134], 0xf
push 0x8a
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x6c], esp
push 0x2f
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.CNVCheckFilesInUseTest::PrepareFilesToCheckList
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x154], 0x10
lea eax, [esp + 0x53]
lea ecx, [esp + 0x78]
mov dword [esp + 0x10c], eax
mov dword [esp + 0xe8], ecx
lea edx, [esp + 0x108]
lea eax, [esp + 0xe8]
lea ecx, [esp + 0xa8]
push 6
mov byte [esp + 0x57], bl
mov dword [esp + 0xf0], edx
mov dword [esp + 0xac], str.is_selected_for_uninstall_before_install
mov dword [esp + 0xb0], eax
mov dword [esp + 0xfc], 0x102c42dc
mov dword [esp + 0x100], ecx
call fcn.100b6e50
push eax
mov byte [esp + 0x15c], 0xe
lea edi, [esp + 0x100]
call fcn.10002b50
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x28]
push 0xb
push edx
call fcn.100b8970
jmp 0x100b8413
mov esi, 7
mov byte [esp + 0x118], 0xc
mov eax, dword [esp + 0x28]
cmp eax, ebx
je 0x100b8432
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x100b8432
mov esi, 7
test byte [esp + 0x2c], 1
jne 0x100b858f
call fcn.100b6e50
cmp dword [eax + 0x1c], 6
jl 0x100b851f
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x4c], esp
push 0x1b
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str..NVCheckFilesInUseTest.cpp
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x134], 0x12
push 0x91
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x5c], esp
push 0x2f
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.CNVCheckFilesInUseTest::PrepareFilesToCheckList
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x154], 0x13
lea eax, [esp + 0x53]
lea ecx, [esp + 0x78]
mov dword [esp + 0x11c], eax
mov dword [esp + 0xb8], ecx
lea edx, [esp + 0x118]
lea eax, [esp + 0xb8]
lea ecx, [esp + 0x98]
push 6
mov byte [esp + 0x57], bl
mov dword [esp + 0xc0], edx
mov dword [esp + 0x9c], str.is_not_selected_for_install__hence_skipping
mov dword [esp + 0xa0], eax
mov dword [esp + 0xcc], 0x102c42f0
mov dword [esp + 0xd0], ecx
call fcn.100b6e50
push eax
mov byte [esp + 0x15c], 0xc
lea edi, [esp + 0xd0]
call fcn.10002b50
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [esp + 0x118], 0x14
lea edx, [esp + 0x44]
push edx
call edi
mov byte [esp + 0x118], 8
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100b8556
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x118], 6
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x100b856e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x118], 5
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x100b81c0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x100b81c0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
lea edx, [esp + 0x1c]
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
cmp eax, ebx
jge 0x100b86fe
push ebx
push 0x94
push 0x102c3e5c
push eax
call fcn.100048f0
cmp eax, 0xb
jne 0x100b890b
mov ecx, dword [esp + 0x2c]
shr ecx, 1
test cl, 1
jne 0x100b86e0
call fcn.100b6e50
cmp dword [eax + 0x1c], 6
jl 0x100b86b2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x4c], esp
push 0x1b
mov esi, 7
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str..NVCheckFilesInUseTest.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x134], 0x19
push 0x9a
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x5c], esp
push 0x2f
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.CNVCheckFilesInUseTest::PrepareFilesToCheckList
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x154], 0x1a
lea ecx, [esp + 0x53]
lea edx, [esp + 0x78]
mov dword [esp + 0x140], ecx
mov dword [esp + 0xe0], edx
lea eax, [esp + 0x13c]
lea ecx, [esp + 0xe0]
lea edx, [esp + 0xd8]
push 6
mov byte [esp + 0x57], bl
mov dword [esp + 0xe8], eax
mov dword [esp + 0xdc], str.is_not_selected_for_uninstall__hence_skipping
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xf4], 0x102c4304
mov dword [esp + 0xf8], edx
call fcn.100b6e50
push eax
mov byte [esp + 0x15c], 0xc
lea edi, [esp + 0xf8]
call fcn.10002b50
mov byte [esp + 0x118], 8
lea ecx, [esp + 0x3c]
call fcn.10002d20
mov byte [esp + 0x118], 6
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x100b86db
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x100b856e
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
lea edx, [esp + 0x1c]
push edx
push eax
mov eax, dword [ecx + 0x24]
call eax
cmp eax, ebx
jl 0x100b88fa
mov esi, 7
mov ecx, dword [esp + 0x1c]
cmp ecx, ebx
jne 0x100b8875
call fcn.100b6e50
cmp dword [eax + 0x1c], 6
jl 0x100b8838
cmp dword [esp + 0x24], 8
mov dword [esp + 0x20], str.install
je 0x100b8730
mov dword [esp + 0x20], str.uninstall
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x4c], esp
push 0x1b
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str..NVCheckFilesInUseTest.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x134], 0x1d
push 0xa6
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x144], esp
push 0x2f
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.CNVCheckFilesInUseTest::PrepareFilesToCheckList
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x154], 0x1e
lea ecx, [esp + 0x53]
lea edx, [esp + 0x78]
mov dword [esp + 0x114], ecx
mov dword [esp + 0x100], edx
lea eax, [esp + 0x110]
lea ecx, [esp + 0x100]
lea edx, [esp + 0x5c]
mov dword [esp + 0x104], eax
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xb0], edx
lea eax, [esp + 0xa0]
lea ecx, [esp + 0xb0]
lea edx, [esp + 0xc0]
push 6
mov byte [esp + 0x57], bl
mov dword [esp + 0xa4], str.is_not_available_for
mov dword [esp + 0xb8], eax
mov dword [esp + 0xc4], str.__hence_skipping
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xd4], 0x102c4318
mov dword [esp + 0xd8], edx
call fcn.100b6e50
push eax
mov byte [esp + 0x15c], 0xc
lea edi, [esp + 0xd8]
call fcn.10002b50
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [esp + 0x118], 0x1f
lea eax, [esp + 0x44]
push eax
call edi
mov byte [esp + 0x118], 8
lea ecx, [esp + 0x3c]
call fcn.10004720
mov byte [esp + 0x118], 6
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x100b8870
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x100b856e
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 8]
push eax
push edx
call fcn.100b8970
mov byte [esp + 0x118], 0x23
lea eax, [esp + 0x44]
push eax
call edi
mov byte [esp + 0x118], 8
lea ecx, [esp + 0x3c]
call fcn.10004720
mov byte [esp + 0x118], 6
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x100b88bb
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x100b856e
push ebx
push ebx
push 0x102b274a
push eax
call fcn.100048f0
push ebx
push 0x72
push 0x102c3e5c
push eax
call fcn.100048f0
push ebx
push 0x75
push 0x102c3e5c
push eax
call fcn.100048f0
push ebx
push 0x87
push 0x102c3e5c
push eax
call fcn.100048f0
push ebx
push 0x9d
push 0x102c3e5c
push eax
call fcn.100048f0
push str.Unsupported_install_mode.
push 0xa1
push 0x102c3e5c
push 0x80004001
call fcn.100048f0
mov byte [esp + 0x118], 3
lea eax, [esp + 0xe4]
push eax
call fcn.10085de0
mov dword [esp + 0x118], 0xffffffff
lea ecx, [esp + 0x34]
push ecx
call fcn.100b9200
mov ecx, dword [esp + 0x110]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4