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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1029b668
mov eax, dword fs:[0]
push eax
sub esp, 0x270
mov eax, dword [0x1037c990]
xor eax, esp
mov dword [esp + 0x268], eax
push ebx
push esi
push edi
mov eax, dword [0x1037c990]
xor eax, esp
push eax
lea eax, [esp + 0x280]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
lea edx, [esp + 0x1c]
mov esi, ecx
mov ecx, dword [eax]
push edx
mov dword [esp + 0x34], eax
push eax
mov eax, dword [ecx + 0x2c]
xor ebx, ebx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x24], ebx
call eax
cmp dword [esp + 0x1c], 6
setne al
cmp al, bl
jne 0x101988c1
push ebx
push 0x124
push 0x102b4e68
push 0xe0e00008
call fcn.100048f0
mov dword [esp + 0x68], ebx
mov dword [esp + 0x288], 1
mov ecx, dword [esi]
mov eax, dword [ecx + 0x48]
lea edx, [esp + 0x68]
push edx
push esi
call eax
cmp eax, ebx
jge 0x101988f2
push ebx
push 0xbec
push 0x102dcf48
push eax
call fcn.100048f0
mov dword [esp + 0x34], ebx
mov byte [esp + 0x288], 3
mov ecx, dword [esi]
mov eax, dword [ecx + 0x58]
lea edx, [esp + 0x34]
push edx
push esi
call eax
cmp eax, ebx
jge 0x10198920
push ebx
push 0xbf5
push 0x102dcf48
push eax
call fcn.100048f0
cmp dword [esp + 0x34], ebx
setne al
cmp al, bl
jne 0x10198940
push ebx
push 0xbf6
push 0x102dcf48
push 0xe0e00000
call fcn.100048f0
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x288], 7
lea ecx, [esp + 0x2c]
push ecx
push 0x102b3b0c
call fcn.1004d780
cmp eax, ebx
jge 0x10198970
push ebx
push 0xbf9
push 0x102dcf48
push eax
call fcn.100048f0
mov edx, dword [esp + 0x34]
push edx
lea eax, [esp + 0x30]
push eax
call fcn.100d5a80
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], ebx
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
cmp eax, ebx
jl 0x101996de
cmp dword [esp + 0x1c], ebx
jle 0x101997d0
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x30]
push edx
call fcn.101a2730
mov byte [esp + 0x288], 8
cmp dword [esp + 0x18], ebx
jne 0x101989c8
jmp 0x101996a9
mov esi, dword [esp + 0x30]
lea edi, [esi + 4]
mov dword [esp + 0x6c], edi
push edi
mov byte [esp + 0x74], bl
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [esp + 0x70], 1
mov byte [esp + 0x288], 0xa
xor ecx, ecx
call fcn.101914a0
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x20]
push ecx
push edx
mov ecx, esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x30], ebx
call fcn.10191320
test al, al
je 0x10198a51
mov dword [esp + 0x20], ebx
mov edi, esi
add edi, 0x274
lea ebx, [esp + 0x20]
call fcn.100fed00
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x20], ecx
setbe al
test al, al
je 0x101996eb
push ecx
call fcn.10135a80
mov ecx, dword [esp + 0x24]
call fcn.101914a0
mov edi, dword [esp + 0x6c]
xor ebx, ebx
mov byte [esp + 0x288], 8
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [esp + 0x3c]
mov byte [esp + 0x70], bl
mov dword [esp + 0x28], ebx
mov dword [esp + 0x60], ebx
call fcn.10002dd0
mov byte [esp + 0x288], 0xb
lea ecx, [esp + 0x74]
call fcn.10002dd0
mov byte [esp + 0x288], 0xc
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
lea edx, [esp + 0x28]
push edx
push eax
mov eax, dword [ecx + 0x1c]
call eax
cmp eax, ebx
jl 0x10199701
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x74]
mov dword [esp + 0x8c], ebx
call fcn.100041b0
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [esp + 0x7c]
push ecx
call edi
cmp eax, ebx
jl 0x101996de
mov edx, 8
mov word [esp + 0x7c], dx
lea ecx, [esp + 0x84]
mov dword [esp + 0x8c], 2
mov dword [esp + 0x84], ebx
mov eax, dword [esi]
mov edx, dword [eax + 0x48]
push ecx
push esi
call edx
cmp eax, ebx
jl 0x10199712
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
lea edx, [esp + 0x60]
push edx
push eax
mov eax, dword [ecx + 0x3c]
call eax
cmp eax, ebx
jl 0x10199723
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], ebx
call fcn.100041b0
lea ecx, [esp + 0x44]
push ecx
call edi
cmp eax, ebx
jl 0x101996de
mov edx, 8
mov word [esp + 0x44], dx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x54], 2
mov dword [esp + 0x4c], ebx
mov eax, dword [esi]
mov edx, dword [eax + 0x24]
push ecx
push esi
call edx
cmp eax, ebx
jl 0x10199734
mov eax, dword [esp + 0x54]
cmp eax, 3
ja case.default.0x10198e28
jmp dword [eax*4 + 0x10199830]
xor eax, eax
jmp 0x10198bc1
mov eax, dword [esp + 0x3c]
mov eax, dword [eax - 0xc]
jmp 0x10198bc1
lea ecx, [esp + 0x3c]
call fcn.100039a0
movzx ecx, word [eax]
cmp cx, bx
je 0x10198bb6
cmp cx, 1
je 0x10198bb6
cmp cx, 8
sete cl
cmp cl, bl
je 0x10199745
mov eax, dword [eax + 8]
cmp eax, ebx
jne 0x10198bba
xor eax, eax
jmp 0x10198bc1
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, ebx
sete al
cmp al, bl
je 0x10198c0f
lea ecx, [esp + 0x3c]
call fcn.10003840
cmp dword [esp + 0x54], 3
jne 0x10198bf1
lea ecx, [esp + 0x44]
push ecx
mov dword [esp + 0x58], 1
call edi
cmp eax, ebx
jl 0x101996de
cmp dword [esp + 0x54], ebx
jne 0x10198bff
mov dword [esp + 0x54], 1
push 9
push str._unnamed_
lea ecx, [esp + 0x44]
call fcn.100043a0
mov eax, dword [esp + 0x60]
cmp eax, 3
ja case.default.0x10198c1c
jmp dword [eax*4 + 0x10199840]
call fcn.101f5f10
cmp ax, 9
je case.0x10198c1c.0
call fcn.10045b90
cmp dword [eax + 0x1c], 5
jl 0x10198d13
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x14
mov esi, 7
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str..PerformInstall.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x2a4], 0xd
push 0xc4b
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x5c], esp
push 0x32
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.CNVInstaller::InternalPerformPrestagePackagePhases
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x2c4], 0xe
lea ecx, [esp + 0x53]
lea edx, [esp + 0x1fc]
mov dword [esp + 0x200], ecx
mov dword [esp + 0x164], edx
lea eax, [esp + 0x78]
lea ecx, [esp + 0x160]
lea edx, [esp + 0x1bc]
push 5
mov byte [esp + 0x57], bl
mov dword [esp + 0x164], str.Skipping_AMD64_phase
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], ecx
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], 0x102c0f18
mov dword [esp + 0x190], edx
call fcn.10045b90
push eax
mov byte [esp + 0x2cc], 0xc
lea edi, [esp + 0x190]
call fcn.10002b50
xor eax, eax
mov dword [esp + 0x28], eax
jmp 0x10198f82
call fcn.101f5f10
test ax, ax
je case.0x10198c1c.0
call fcn.10045b90
cmp dword [eax + 0x1c], 5
jl 0x10198e0d
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x14
mov esi, 7
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str..PerformInstall.cpp
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x2a4], 0xf
push 0xc54
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x5c], esp
push 0x32
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.CNVInstaller::InternalPerformPrestagePackagePhases
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x2c4], 0x10
lea eax, [esp + 0x53]
lea ecx, [esp + 0x214]
mov dword [esp + 0x218], eax
mov dword [esp + 0x12c], ecx
lea edx, [esp + 0x78]
lea eax, [esp + 0x128]
lea ecx, [esp + 0xf0]
push 5
mov byte [esp + 0x57], bl
mov dword [esp + 0x12c], str.Skipping_x86_only_phase
mov dword [esp + 0xf4], edx
mov dword [esp + 0xf8], eax
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], 0x102df49c
mov dword [esp + 0x138], ecx
call fcn.10045b90
push eax
mov byte [esp + 0x2cc], 0xc
lea edi, [esp + 0x138]
call fcn.10002b50
xor eax, eax
mov dword [esp + 0x28], eax
jmp 0x10198f82
mov eax, dword [esp + 0x8c]
cmp eax, 3
ja case.default.0x10198e28
jmp dword [eax*4 + 0x10199850]
xor eax, eax
jmp 0x10198e54
mov edx, dword [esp + 0x74]
mov eax, dword [edx - 0xc]
jmp 0x10198e54
lea ecx, [esp + 0x74]
call fcn.10003a50
cmp eax, ebx
jne 0x10198e4d
xor eax, eax
jmp 0x10198e54
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, ebx
sete al
cmp al, bl
jne 0x10198f7e
mov eax, dword [esp + 0x28]
cmp eax, 1
je 0x10198e73
cmp eax, 3
jne 0x10198f82
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x64]
push eax
call fcn.10197140
test al, al
je 0x10198f92
call fcn.10045b90
cmp dword [eax + 0x1c], 5
jl 0x10198f7e
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push str..PerformInstall.cpp
call fcn.10035dd0
mov byte [esp + 0x2a4], 0x11
push 0xc68
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x5c], esp
push str.CNVInstaller::InternalPerformPrestagePackagePhases
call fcn.10035dd0
mov byte [esp + 0x2c4], 0x12
lea ecx, [esp + 0x53]
lea edx, [esp + 0x204]
mov dword [esp + 0x208], ecx
mov dword [esp + 0x104], edx
lea eax, [esp + 0xb0]
lea ecx, [esp + 0x100]
lea edx, [esp + 0x140]
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], ecx
mov dword [esp + 0x114], edx
lea eax, [esp + 0x78]
lea ecx, [esp + 0x110]
lea edx, [esp + 0x150]
push 5
mov byte [esp + 0x57], bl
mov dword [esp + 0x104], str.Condition
mov dword [esp + 0x114], str.enabled_phase
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], 0x102df6a4
mov dword [esp + 0x128], edx
call fcn.10045b90
push eax
mov byte [esp + 0x2cc], 0xc
lea edi, [esp + 0x128]
call fcn.10002b50
mov eax, dword [esp + 0x28]
cmp eax, 4
ja case.default.0x10198f8b
jmp dword [eax*4 + 0x10199860]
call fcn.10045b90
cmp dword [eax + 0x1c], 5
jl 0x10199087
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push str..PerformInstall.cpp
call fcn.10035dd0
mov byte [esp + 0x2a4], 0x13
push 0xc6c
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x5c], esp
push str.CNVInstaller::InternalPerformPrestagePackagePhases
call fcn.10035dd0
mov byte [esp + 0x2c4], 0x14
lea eax, [esp + 0x53]
lea ecx, [esp + 0x21c]
mov dword [esp + 0x220], eax
mov dword [esp + 0xdc], ecx
lea edx, [esp + 0xb0]
lea eax, [esp + 0xd8]
lea ecx, [esp + 0x170]
mov dword [esp + 0x170], edx
mov dword [esp + 0x174], eax
mov dword [esp + 0x13c], ecx
lea edx, [esp + 0x78]
lea eax, [esp + 0x138]
lea ecx, [esp + 0x178]
push 5
mov byte [esp + 0x57], bl
mov dword [esp + 0xdc], str.Condition
mov dword [esp + 0x13c], str.disabled_phase
mov dword [esp + 0x17c], edx
mov dword [esp + 0x180], eax
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], 0x102df6b8
mov dword [esp + 0x150], ecx
call fcn.10045b90
push eax
mov byte [esp + 0x2cc], 0xc
lea edi, [esp + 0x150]
call fcn.10002b50
xor eax, eax
mov dword [esp + 0x28], eax
jmp 0x10198f82
call fcn.10045b90
cmp dword [eax + 0x1c], 5
jl 0x10199635
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x14
mov esi, 7
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str..PerformInstall.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x2a4], 0x15
push 0xc7e
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x5c], esp
push 0x32
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.CNVInstaller::InternalPerformPrestagePackagePhases
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x2c4], 0x16
lea ecx, [esp + 0x53]
lea edx, [esp + 0x22c]
mov dword [esp + 0x230], ecx
mov dword [esp + 0x184], edx
lea eax, [esp + 0x78]
lea ecx, [esp + 0x180]
lea edx, [esp + 0x158]
push 5
mov byte [esp + 0x57], bl
mov dword [esp + 0x184], str.Skipping_prestage_actions_of_phase
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], ecx
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], 0x102df6e0
mov dword [esp + 0x198], edx
call fcn.10045b90
push eax
mov byte [esp + 0x2cc], 0xc
lea edi, [esp + 0x198]
call fcn.10002b50
jmp 0x10199635
push 0x14
xor eax, eax
mov esi, 7
push str..PerformInstall.cpp
lea ecx, [esp + 0x1ac]
mov dword [esp + 0x1c4], esi
mov dword [esp + 0x1c0], ebx
mov word [esp + 0x1b0], ax
call fcn.10035ce0
mov byte [esp + 0x288], 0x17
xor ecx, ecx
push 0x32
mov word [esp + 0x190], cx
push str.CNVInstaller::InternalPerformPrestagePackagePhases
lea ecx, [esp + 0x190]
mov dword [esp + 0x1a8], esi
mov dword [esp + 0x1a4], ebx
call fcn.10035ce0
mov byte [esp + 0x288], 0x18
lea ecx, [esp + 0x3c]
mov dword [esp + 0xa4], ecx
lea edx, [esp + 0x17]
lea eax, [esp + 0x1e8]
lea ecx, [esp + 0x1f8]
mov dword [esp + 0x1ec], edx
mov dword [esp + 0x130], eax
lea edx, [esp + 0x12c]
lea eax, [esp + 0xa4]
push ecx
lea ecx, [esp + 0xb0]
mov dword [esp + 0x130], str.Prestage_Phase
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], 0x102df690
mov dword [esp + 0xb4], eax
call dword [0x102df698]
mov byte [esp + 0x288], 0x19
lea edx, [esp + 0x1a4]
push edx
push 0xc84
lea ecx, [esp + 0x190]
push ecx
lea edx, [esp + 0x220]
push edx
mov ecx, eax
call fcn.1018a880
mov byte [esp + 0x288], 0x1b
mov edi, 8
cmp dword [esp + 0x210], edi
jb 0x101992a0
mov eax, dword [esp + 0x1fc]
push eax
call fcn.101d2eac
add esp, 4
xor ecx, ecx
mov dword [esp + 0x210], esi
mov dword [esp + 0x20c], ebx
mov word [esp + 0x1fc], cx
mov byte [esp + 0x288], 0x1c
cmp dword [esp + 0x1a0], edi
jb 0x101992d9
mov edx, dword [esp + 0x18c]
push edx
call fcn.101d2eac
add esp, 4
xor eax, eax
mov dword [esp + 0x1a0], esi
mov dword [esp + 0x19c], ebx
mov word [esp + 0x18c], ax
mov byte [esp + 0x288], 0x1d
cmp dword [esp + 0x1bc], edi
jb 0x10199312
mov ecx, dword [esp + 0x1a8]
push ecx
call fcn.101d2eac
add esp, 4
xor edx, edx
lea ecx, [esp + 0x15c]
mov dword [esp + 0x1bc], 7
mov dword [esp + 0x1b8], ebx
mov word [esp + 0x1a8], dx
call fcn.10002dd0
mov byte [esp + 0x288], 0x1e
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x15c]
mov dword [esp + 0x174], ebx
call fcn.100041b0
lea eax, [esp + 0x164]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp eax, ebx
jl 0x101996de
mov ecx, 8
mov word [esp + 0x164], cx
lea eax, [esp + 0x16c]
mov dword [esp + 0x174], 2
mov dword [esp + 0x16c], ebx
mov edx, dword [esi]
mov ecx, dword [edx + 0x2c]
push eax
push esi
call ecx
cmp eax, ebx
jl 0x1019976f
lea ecx, [esp + 0x15c]
call fcn.10003840
mov ecx, dword [esp + 0x30]
push eax
add ecx, 0x2a4
call fcn.1007dc80
mov edx, dword [esp + 0x18]
push edx
lea eax, [esp + 0x3c]
push eax
call fcn.101a2f90
mov byte [esp + 0x288], 0x1f
mov eax, dword [esp + 0x38]
cmp eax, ebx
jne 0x1019953a
call fcn.10045b90
cmp dword [eax + 0x1c], 5
jl 0x101994c6
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x14
mov esi, 7
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str..PerformInstall.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x2a4], 0x20
push 0xc91
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x5c], esp
push 0x32
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.CNVInstaller::InternalPerformPrestagePackagePhases
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x2c4], 0x21
lea ecx, [esp + 0x53]
lea edx, [esp + 0x78]
mov dword [esp + 0x210], ecx
mov dword [esp + 0xf8], edx
lea eax, [esp + 0x20c]
lea ecx, [esp + 0xf8]
lea edx, [esp + 0x108]
push 5
mov byte [esp + 0x57], bl
mov dword [esp + 0x100], eax
mov dword [esp + 0x10c], str.does_not_support_prestaging
mov dword [esp + 0x110], ecx
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], 0x102df6f4
mov dword [esp + 0x120], edx
call fcn.10045b90
push eax
mov byte [esp + 0x2cc], 0x1f
lea edi, [esp + 0x120]
call fcn.10002b50
mov byte [esp + 0x288], 0x1e
lea eax, [esp + 0x38]
push eax
call fcn.100409e0
mov byte [esp + 0x288], 0x1d
lea ecx, [esp + 0x15c]
call fcn.10002d20
mov byte [esp + 0x288], 0xc
lea ecx, [esp + 0x214]
push ecx
call fcn.1018aa00
mov byte [esp + 0x288], 0xb
lea ecx, [esp + 0x74]
call fcn.10002d20
mov byte [esp + 0x288], 8
lea ecx, [esp + 0x3c]
call fcn.10002d20
mov byte [esp + 0x288], 7
lea edx, [esp + 0x18]
push edx
call fcn.100409e0
jmp 0x101996c1
mov edx, dword [esp + 0x2c]
mov ecx, dword [eax]
push edx
mov edx, dword [esp + 0x68]
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
mov esi, eax
cmp esi, ebx
jl 0x101995c6
mov byte [esp + 0x288], 0x1e
lea ecx, [esp + 0x38]
push ecx
call fcn.1005b8c0
mov byte [esp + 0x288], 0x1d
lea ecx, [esp + 0x15c]
call fcn.10002d20
mov byte [esp + 0x288], 0xc
lea edx, [esp + 0x214]
push edx
call fcn.1018aa00
mov byte [esp + 0x288], 0xb
lea ecx, [esp + 0x74]
call fcn.10002d20
mov byte [esp + 0x288], 8
lea ecx, [esp + 0x3c]
call fcn.10002d20
mov byte [esp + 0x288], 7
lea eax, [esp + 0x18]
push eax
call fcn.100409e0
jmp 0x101996c1
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
lea edx, [esp + 0x98]
push edx
push eax
mov eax, dword [ecx + 0x34]
call eax
cmp eax, ebx
jl 0x10199780
mov eax, dword [esp + 0x98]
cmp eax, 1
je 0x10199791
cmp eax, ebx
je 0x10199791
mov byte [esp + 0x288], 0x1e
lea ecx, [esp + 0x38]
push ecx
call fcn.1005b8c0
mov byte [esp + 0x288], 0x1d
lea ecx, [esp + 0x15c]
call fcn.10002d20
mov byte [esp + 0x288], 0xc
lea edx, [esp + 0x214]
push edx
call fcn.1018aa00
mov byte [esp + 0x288], 0x23
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [esp + 0x7c]
push eax
call esi
mov byte [esp + 0x288], 0xb
mov eax, dword [esp + 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10199672
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x288], 0x26
lea ecx, [esp + 0x44]
push ecx
call esi
mov byte [esp + 0x288], 8
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x101996a9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x288], 7
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x101996c1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], ebx
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
cmp eax, ebx
jge 0x1019899c
push ebx
push ebx
push 0x102b274a
push eax
call fcn.100048f0
push 0
push 0xc1d
push 0x102dcf48
push 0xe0e00000
call fcn.100048f0
push ebx
push 0xc36
push 0x102dcf48
push eax
call fcn.100048f0
push ebx
push 0xc37
push 0x102dcf48
push eax
call fcn.100048f0
push ebx
push 0xc38
push 0x102dcf48
push eax
call fcn.100048f0
push ebx
push 0xc39
push 0x102dcf48
push eax
call fcn.100048f0
push ebx
push 0xb7
push str.c:dvsp4_build_sw_relgpu_drvinstaller_coreincAutoString.h
push 0xe0e00000
call fcn.100048f0
push ebx
push 0x12b
push str.c:dvsp4_build_sw_relgpu_drvinstaller_coreincAutoString.h
push 0xe0e00000
call fcn.100048f0
push ebx
push 0xc87
push 0x102dcf48
push eax
call fcn.100048f0
push ebx
push 0xc9b
push 0x102dcf48
push eax
call fcn.100048f0
push str.Phase_failure
push 0xc9e
push 0x102dcf48
push esi
call fcn.100048f0
push ebx
push 0xca3
push 0x102dcf48
push 0xe0e00000
call fcn.100048f0
push ebx
push 0xc5b
push 0x102dcf48
push 0xe0e00000
call fcn.100048f0
mov byte [esp + 0x288], 3
lea ecx, [esp + 0x2c]
push ecx
call fcn.100b9200
mov byte [esp + 0x288], 1
lea ecx, [esp + 0x34]
call fcn.1003ca30
mov dword [esp + 0x288], 0xffffffff
lea edx, [esp + 0x68]
push edx
call fcn.100409e0
mov ecx, dword [esp + 0x280]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x268]
xor ecx, esp
call fcn.1022e78c
mov esp, ebp
pop ebp
ret 4