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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1029df50
mov eax, dword fs:[0]
push eax
sub esp, 0x54
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1037c990]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x48], esi
mov eax, dword [esi + 8]
xor ebx, ebx
cmp eax, ebx
je 0x100a7241
add eax, 4
jmp 0x100a7243
xor eax, eax
mov eax, dword [eax + 4]
shr eax, 3
test al, 1
jne 0x100a758a
mov eax, dword [esi + 8]
cmp eax, ebx
je 0x100a725d
add eax, 4
jmp 0x100a725f
xor eax, eax
mov ecx, dword [eax + 4]
shr ecx, 4
or ebp, 0xffffffff
test cl, 1
jne 0x100a74ce
lea edx, [esp + 0x2c]
push edx
call fcn.100c1000
mov dword [esp + 0x70], ebx
mov eax, dword [esi + 8]
cmp eax, ebx
je 0x100a728b
add eax, 4
jmp 0x100a728d
xor eax, eax
mov eax, dword [eax + 8]
mov ecx, dword [eax]
lea edx, [esp + 0x2c]
push edx
push eax
mov eax, dword [ecx + 0x20]
call eax
cmp eax, ebx
jge 0x100a72af
push ebx
push 0x53
push 0x102c1330
push eax
call fcn.100048f0
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x30]
call fcn.100bef40
mov byte [esp + 0x70], 1
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [esp + 0x54]
push edx
call edi
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x34], ebx
cmp eax, ebx
je 0x100a72f7
mov ecx, dword [eax]
lea edx, [esp + 0x34]
push edx
lea edx, [esp + 0x58]
push edx
push 1
push eax
mov eax, dword [ecx + 0xc]
call eax
cmp eax, ebx
jl 0x100a7456
cmp dword [esp + 0x34], ebx
seta al
cmp al, bl
je 0x100a74a9
lea ecx, [esp + 0x44]
push ecx
lea esi, [esp + 0x50]
call fcn.100900e0
mov byte [esp + 0x70], 2
mov eax, dword [eax]
push eax
lea edx, [esp + 0x24]
push edx
call fcn.100901b0
mov byte [esp + 0x70], 4
mov eax, dword [esp + 0x44]
cmp eax, ebx
je 0x100a733b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x28], ebx
mov byte [esp + 0x70], 7
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
lea edx, [esp + 0x28]
push edx
push eax
mov eax, dword [ecx + 0x24]
call eax
cmp eax, ebx
jl 0x100a7463
cmp dword [esp + 0x28], ebx
je 0x100a7423
mov dword [esp + 0x24], ebx
mov byte [esp + 0x70], 9
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
lea edx, [esp + 0x24]
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
cmp eax, ebx
jl 0x100a7471
cmp dword [esp + 0x24], ebx
je 0x100a740e
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x70], 0xb
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
lea edx, [esp + 0x1c]
push edx
push eax
mov eax, dword [ecx + 0x4c]
call eax
cmp eax, ebx
jl 0x100a747f
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x3c]
mov dword [esp + 0x3c], ebp
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x74]
call eax
cmp eax, ebx
jl 0x100a748d
mov eax, dword [esp + 0x1c]
push 0x80
call fcn.10059f10
add esp, 4
test al, al
jne 0x100a73ff
cmp word [esp + 0x3c], bx
jne 0x100a73ff
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x28]
push ebp
push eax
call edx
cmp eax, ebx
jl 0x100a749b
mov byte [esp + 0x70], 9
lea eax, [esp + 0x1c]
push eax
call fcn.100409e0
mov byte [esp + 0x70], 7
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x100a7423
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x70], 4
mov eax, dword [esp + 0x28]
cmp eax, ebx
je 0x100a7438
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x70], 1
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x100a72c8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x100a72c8
push ebx
push ebx
push 0x102b274a
push eax
call fcn.100048f0
push ebx
push 0x58
push 0x102c1330
push eax
call fcn.100048f0
push ebx
push 0x5c
push 0x102c1330
push eax
call fcn.100048f0
push ebx
push 0x60
push 0x102c1330
push eax
call fcn.100048f0
push ebx
push 0x62
push 0x102c1330
push eax
call fcn.100048f0
push ebx
push 0x69
push 0x102c1330
push eax
call fcn.100048f0
mov byte [esp + 0x70], bl
lea eax, [esp + 0x4c]
push eax
call fcn.10085de0
mov dword [esp + 0x70], ebp
lea ecx, [esp + 0x2c]
push ecx
call fcn.100b9200
mov esi, dword [esp + 0x48]
jmp 0x100a7562
call fcn.10098810
cmp dword [eax + 0x1c], 5
jl 0x100a7562
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x64], esp
push str..InstallationSteps.cpp
call fcn.10035dd0
mov dword [esp + 0x8c], 0x10
push 0x71
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x80], esp
push str.CInstallationInstallChecking::PreSelect
call fcn.10035dd0
mov byte [esp + 0xac], 0x11
lea edx, [esp + 0x57]
lea eax, [esp + 0x68]
lea ecx, [esp + 0x78]
push 5
mov byte [esp + 0x5b], bl
mov dword [esp + 0x70], edx
mov dword [esp + 0x7c], str.Default_preselection_of_packages_based_on_presence_of_older_packages_is_skipped
mov dword [esp + 0x80], eax
mov dword [esp + 0x74], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____80___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov dword [esp + 0x78], ecx
call fcn.10098810
push eax
mov dword [esp + 0xb4], ebp
lea edi, [esp + 0x78]
call fcn.10002b50
push ecx
mov ecx, esp
mov dword [esp + 0x4c], esp
push str.install_pre_selection
call fcn.100044a0
mov dword [esp + 0x74], 0x12
push 0x100a75a0
push esi
mov dword [esp + 0x7c], ebp
call fcn.1009b790
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret