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

Disassembly:
push 0xffffffffffffffff
push 0x102983f3
mov eax, dword fs:[0]
push eax
sub esp, 0x90
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1037c990]
xor eax, esp
push eax
lea eax, [esp + 0xa4]
mov dword fs:[0], eax
xor eax, eax
cmp dword [esp + 0xb8], eax
jne 0x1008513d
push eax
push 0x210
push str..EngineCache.cpp
push 0x80070057
call fcn.100048f0
mov ecx, dword [esp + 0xbc]
cmp ecx, eax
jne 0x1008515d
push eax
push 0x211
push str..EngineCache.cpp
push 0x80004003
call fcn.100048f0
mov dword [ecx], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0xac], 2
mov dword [esp + 0x2c], eax
mov byte [esp + 0xac], 5
lea ebx, [esp + 0x2c]
lea edi, [esp + 0x28]
call fcn.10090040
xor ebx, ebx
cmp eax, ebx
jge 0x1008519e
push ebx
push 0x216
push str..EngineCache.cpp
push eax
call fcn.100048f0
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax]
lea edx, [esp + 0x7c]
push edx
call fcn.100bf190
mov byte [esp + 0xac], 7
mov ebp, dword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea eax, [esp + 0x84]
push eax
call ebp
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x30], ebx
cmp eax, ebx
je 0x100851f5
mov ecx, dword [eax]
lea edx, [esp + 0x30]
push edx
lea edx, [esp + 0x88]
push edx
push 1
push eax
mov eax, dword [ecx + 0xc]
call eax
cmp eax, ebx
jl 0x100854d7
cmp dword [esp + 0x30], ebx
seta al
cmp al, bl
je 0x1008553d
lea ecx, [esp + 0x38]
push ecx
lea esi, [esp + 0x80]
call fcn.100900e0
mov byte [esp + 0xac], 8
mov eax, dword [eax]
mov dword [esp + 0x1c], ebx
mov byte [esp + 0xac], 0xa
cmp eax, ebx
je 0x10085240
mov edx, dword [eax]
mov edx, dword [edx]
lea ecx, [esp + 0x1c]
push ecx
push 0x102bdf20
push eax
call edx
mov byte [esp + 0xac], 0xc
mov eax, dword [esp + 0x38]
cmp eax, ebx
je 0x10085258
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x20], ebx
mov byte [esp + 0xac], 0xf
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
lea edx, [esp + 0x20]
push edx
push eax
mov eax, dword [ecx + 0x4c]
call eax
cmp eax, ebx
jl 0x100854e4
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x100854f5
mov ecx, dword [eax]
lea edx, [esp + 0x34]
push edx
push eax
mov eax, dword [ecx + 0x1c]
mov dword [esp + 0x3c], ebx
call eax
cmp eax, ebx
jl 0x1008550a
mov cl, byte [esp + 0x34]
and cl, 1
je 0x100854bd
mov dword [esp + 0x24], ebx
mov byte [esp + 0xac], 0x11
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov edx, dword [edx + 0x28]
lea ecx, [esp + 0x24]
push ecx
push eax
call edx
cmp eax, ebx
jl 0x1008551b
mov eax, dword [esp + 0x24]
cmp eax, ebx
jne 0x10085491
lea ecx, [esp + 0x54]
call fcn.10002dd0
mov byte [esp + 0xac], 0x12
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x54]
mov dword [esp + 0x6c], ebx
call fcn.100041b0
lea eax, [esp + 0x5c]
push eax
call ebp
cmp eax, ebx
jl 0x100854d7
mov ecx, 8
mov word [esp + 0x5c], cx
lea eax, [esp + 0x64]
mov dword [esp + 0x6c], 2
mov dword [esp + 0x64], ebx
mov edx, dword [esi]
mov ecx, dword [edx + 0x20]
push eax
push esi
call ecx
cmp eax, ebx
jl 0x1008552c
call fcn.10081500
cmp dword [eax + 0x1c], 4
jl 0x10085420
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xb8], esp
push 0x11
mov esi, 7
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push 0x102bbbc0
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0xc8], 0x13
push 0x22e
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xb4], esp
push 0x26
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.CEngineCache::InternalGetInstallSetBut
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0xe8], 0x14
lea ecx, [esp + 0x57]
lea edx, [esp + 0xd0]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0x8c], edx
lea eax, [esp + 0x90]
lea ecx, [esp + 0x88]
lea edx, [esp + 0x78]
push 4
mov byte [esp + 0x5b], bl
mov dword [esp + 0x8c], str.Missing_selected_package
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], 0x102bda44
mov dword [esp + 0x88], edx
call fcn.10081500
push eax
mov byte [esp + 0xf0], 0x12
lea edi, [esp + 0x88]
call fcn.10002b50
mov byte [esp + 0xac], 0x15
lea eax, [esp + 0x5c]
push eax
call ebp
mov byte [esp + 0xac], 0x11
lea ecx, [esp + 0x54]
call fcn.10004720
mov byte [esp + 0xac], 0xf
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x10085458
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0xac], 0xc
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x10085470
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0xac], 7
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x100851c0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x100851c0
cmp eax, dword [esp + 0xb8]
je 0x100854a5
push eax
lea eax, [esp + 0x30]
push eax
call fcn.100650c0
mov byte [esp + 0xac], 0xf
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x100854bd
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0xac], 0xc
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x100854d5
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x10085470
push ebx
push ebx
push 0x102b274a
push eax
call fcn.100048f0
push ebx
push 0x21c
push str..EngineCache.cpp
push eax
call fcn.100048f0
push ebx
push 0x2bf
push str.c:dvsp4_build_sw_relgpu_drvinstaller_coreincNVI2Defns.h
push 0x80070057
call fcn.100048f0
push ebx
push 0x2c1
push str.c:dvsp4_build_sw_relgpu_drvinstaller_coreincNVI2Defns.h
push eax
call fcn.100048f0
push ebx
push 0x224
push str..EngineCache.cpp
push eax
call fcn.100048f0
push ebx
push 0x22d
push str..EngineCache.cpp
push eax
call fcn.100048f0
mov byte [esp + 0xac], 5
lea eax, [esp + 0x7c]
push eax
call fcn.10040980
mov edi, dword [esp + 0x28]
call fcn.10081c30
mov eax, dword [esp + 0x28]
mov esi, eax
cmp eax, ebx
je 0x1008556a
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esp + 0xbc]
mov dword [eax], esi
mov byte [esp + 0xac], 2
lea ecx, [esp + 0x2c]
call fcn.1003ca30
mov dword [esp + 0xac], 0xffffffff
lea ecx, [esp + 0x28]
push ecx
call fcn.100409e0
mov ecx, dword [esp + 0xa4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret 0xc