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

Disassembly:
push 0xffffffffffffffff
push 0x1029331e
mov eax, dword fs:[0]
push eax
sub esp, 0x138
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1037c990]
xor eax, esp
push eax
lea eax, [esp + 0x14c]
mov dword fs:[0], eax
mov edi, ecx
mov esi, dword [esp + 0x15c]
call fcn.101bdd60
xor ebx, ebx
cmp edi, ebx
jne 0x100e78e6
push ebx
push 0x14f
push 0x102c8bc4
push 0x80070057
call fcn.100048f0
lea eax, [esp + 0x38]
push eax
call fcn.10136270
mov dword [esp + 0x154], 1
lea ecx, [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x3c]
call fcn.100bf190
mov byte [esp + 0x154], 3
jmp 0x100e7922
xor ebx, ebx
mov ebp, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [esp + 0x94]
push edx
call ebp
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x1c], ebx
cmp eax, ebx
je 0x100e7960
mov ecx, dword [eax]
lea edx, [esp + 0x1c]
push edx
lea edx, [esp + 0x98]
push edx
push 1
push eax
mov eax, dword [ecx + 0xc]
call eax
cmp eax, ebx
jl 0x100e7e39
cmp dword [esp + 0x1c], ebx
seta al
test al, al
je 0x100e7ee1
lea ecx, [esp + 0x20]
push ecx
lea esi, [esp + 0x90]
call fcn.100f36a0
mov byte [esp + 0x154], 4
mov eax, dword [esp + 0x20]
mov edx, dword [eax]
mov edx, dword [edx + 0x38]
lea ecx, [esp + 0x68]
push ecx
push eax
call edx
cmp eax, ebx
jl 0x100e7e46
push 0x103b7524
lea ecx, [esp + 0x70]
call fcn.10003eb0
mov byte [esp + 0x154], 6
lea eax, [esp + 0x74]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov byte [esp + 0x154], 7
mov dword [esp + 0x84], ebx
mov byte [esp + 0x154], 8
mov esi, dword [esp + 0x20]
lea ecx, [esp + 0x6c]
mov dword [esp + 0x84], ebx
call fcn.100041b0
lea ecx, [esp + 0x74]
push ecx
call ebp
cmp eax, ebx
jl 0x100e7e39
mov edx, 8
mov word [esp + 0x74], dx
lea ecx, [esp + 0x7c]
mov dword [esp + 0x84], 2
mov dword [esp + 0x7c], ebx
mov eax, dword [esi]
mov edx, dword [eax + 0x28]
push ecx
push esi
call edx
cmp eax, ebx
jl 0x100e7e57
lea ecx, [esp + 0xac]
call fcn.10056c80
mov byte [esp + 0x154], 9
lea ecx, [esp + 0x6c]
call fcn.10003840
mov eax, dword [eax]
sub eax, 0x10
lea ecx, [esp + 0xc4]
push eax
mov dword [esp + 0x38], ecx
call fcn.10004780
add eax, 0x10
add esp, 4
mov dword [esp + 0xc4], eax
mov byte [esp + 0x154], 0xc
lea edx, [esp + 0xc8]
push edx
lea ecx, [esp + 0xb0]
call fcn.101da900
mov byte [esp + 0x154], 0xf
lea eax, [esp + 0xc4]
mov dword [esp + 0x34], eax
mov byte [esp + 0x154], 0xf
mov eax, dword [esp + 0xc4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100e7ac4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x154], 0xe
lea ecx, [esp + 0xac]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea edx, [esp + 0x104]
push edx
lea ecx, [esp + 0xcc]
call fcn.10055810
mov byte [esp + 0x154], 0x13
lea eax, [esp + 0x104]
push eax
lea ecx, [esp + 0xe8]
call fcn.10055870
mov esi, eax
mov byte [esp + 0x154], 0x14
mov ecx, esi
call fcn.10003840
cmp dword [esi + 0x18], 3
jne 0x100e7b36
lea ecx, [esi + 8]
push ecx
mov dword [esi + 0x18], 1
call ebp
cmp eax, ebx
jl 0x100e7e39
cmp dword [esi + 0x18], ebx
jne 0x100e7b42
mov dword [esi + 0x18], 1
mov eax, dword [esi]
mov edi, dword [eax - 0xc]
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, edi
or eax, ecx
jge 0x100e7b60
push edi
mov ecx, esi
call fcn.100042e0
mov eax, dword [esi]
lea edx, [edi + 1]
push edx
push eax
call fcn.102317bd
add esp, 8
cmp edi, ebx
jl 0x100e7ecc
mov eax, dword [esi]
cmp edi, dword [eax - 8]
jg 0x100e7ecc
mov dword [eax - 0xc], edi
mov eax, dword [esi]
xor ecx, ecx
mov word [eax + edi*2], cx
mov esi, dword [esi]
sub esi, 0x10
push esi
call fcn.10004780
lea esi, [eax + 0x10]
add esp, 4
mov dword [esp + 0xa8], esi
mov byte [esp + 0x154], 0x18
lea edx, [esp + 0xec]
push edx
call ebp
mov byte [esp + 0x154], 0x17
mov eax, dword [esp + 0xe4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100e7be2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x154], 0x1c
lea ecx, [esp + 0x10c]
push ecx
call ebp
mov byte [esp + 0x154], 0x1b
mov eax, dword [esp + 0x104]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x100e7c1f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x160]
push esi
lea eax, [esp + 0x5c]
lea edi, [esp + 0x68]
xor ebp, ebp
call fcn.10137d10
cmp eax, ebx
je 0x100e7c42
mov ebp, dword [eax + 4]
mov eax, dword [esp + 0x20]
mov edx, dword [eax]
mov edx, dword [edx + 0x20]
lea ecx, [esp + 0x5c]
push ecx
push eax
call edx
test eax, eax
jl 0x100e7e68
mov ecx, dword [esp + 0x5c]
mov eax, ecx
sub eax, 2
je 0x100e7c78
sub eax, 4
jne 0x100e7e7a
mov ebx, dword [esp + 0x68]
jmp 0x100e7d53
call fcn.100dbe80
cmp dword [eax + 0x1c], 4
jl 0x100e7d53
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
push 0x1b
mov edi, 7
xor eax, eax
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], 0
push str..NVDiskSpaceConstraint.cpp
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x170], 0x1f
push 0x16f
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x78], esp
push 0x44
xor edx, edx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], 0
push str.CNVDiskSpaceConstraint::CalculateSpaceGainFromUninstallingPackagesKB
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x190], 0x20
lea eax, [esp + 0x57]
lea ecx, [esp + 0x80]
mov dword [esp + 0x84], eax
mov dword [esp + 0x8c], ecx
lea edx, [esp + 0xa8]
lea eax, [esp + 0x88]
lea ecx, [esp + 0x68]
push 4
mov byte [esp + 0x5b], 0
mov dword [esp + 0x8c], str.Ignoring_the_unexpected_copy_file_action_to_path
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], eax
mov dword [esp + 0x64], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_class_CAutoString_const___class_Nvidia::Logging::Chain_char_const_____49___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType____.0
mov dword [esp + 0x68], ecx
call fcn.100dbe80
push eax
mov byte [esp + 0x198], 0x1b
lea edi, [esp + 0x68]
call fcn.10002b50
mov edx, dword [esp + 0x15c]
add ebp, ebx
push ebp
push edx
mov ecx, esi
call fcn.100f5e70
mov byte [esp + 0x154], 0xe
lea eax, [esi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100e7d89
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x154], 0x24
lea ecx, [esp + 0xe0]
mov dword [esp + 0x3c], ecx
mov byte [esp + 0x154], 0x24
mov eax, dword [esp + 0xe0]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x100e7dc7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x154], 8
lea ecx, [esp + 0xc8]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov byte [esp + 0x154], 0x28
lea edx, [esp + 0x74]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [esp + 0x154], 4
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 0x100e7e18
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x154], 3
mov eax, dword [esp + 0x20]
test eax, eax
je 0x100e7920
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x100e7920
push ebx
push ebx
push 0x102b274a
push eax
call fcn.100048f0
push ebx
push 0x157
push 0x102c8bc4
push eax
call fcn.100048f0
push ebx
push 0x159
push 0x102c8bc4
push eax
call fcn.100048f0
push 0
push 0x163
push 0x102c8bc4
push eax
call fcn.100048f0
push ecx
lea eax, [esp + 0x128]
push eax
call fcn.100550d0
add esp, 8
mov byte [esp + 0x154], 0x21
mov ecx, eax
call fcn.10003840
push eax
lea ecx, [esp + 0x44]
push str.File_action_not_supported._File_action_value
push ecx
call fcn.10002820
add esp, 0xc
mov byte [esp + 0x154], 0x22
mov edx, dword [eax]
push edx
push 0x172
push 0x102c8bc4
push 0x80004001
call fcn.100048f0
push ebx
push 0x359
push str.c:dvsp4_build_sw_toolswin32msvc90VC_atlmfcinclude_atlsimpstr.h
push 0x80070057
call fcn.100048f0
mov byte [esp + 0x154], 1
lea eax, [esp + 0x8c]
push eax
call fcn.10085de0
mov esi, dword [esp + 0x15c]
cmp dword [esi + 4], ebx
jne 0x100e7f17
mov dword [esp + 0x154], 0xffffffff
lea ecx, [esp + 0x38]
push ecx
jmp 0x100e8151
call fcn.100dbe80
cmp dword [eax + 0x1c], 6
jl 0x100e7fad
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x5c], esp
push str..NVDiskSpaceConstraint.cpp
call fcn.10035dd0
mov byte [esp + 0x170], 0x2c
push 0x17e
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x78], esp
push str.CNVDiskSpaceConstraint::CalculateSpaceGainFromUninstallingPackagesKB
call fcn.10035dd0
mov byte [esp + 0x190], 0x2d
lea edx, [esp + 0x57]
lea eax, [esp + 0x80]
lea ecx, [esp + 0x60]
push 6
mov byte [esp + 0x5b], 0
mov dword [esp + 0x88], edx
mov dword [esp + 0x64], str.Space_used_up_by_currently_installed_packages:
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____47___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov dword [esp + 0x70], ecx
call fcn.100dbe80
push eax
mov byte [esp + 0x198], 1
lea edi, [esp + 0x70]
call fcn.10002b50
mov ecx, esi
call fcn.10136df0
mov dword [esp + 0x1c], eax
cmp eax, ebx
je 0x100e8141
mov ebp, 0x102caf9c
jmp 0x100e7fd7
mov esi, dword [esp + 0x15c]
lea edx, [esp + 0x1c]
push edx
mov ebx, esi
call fcn.1015ae60
mov esi, eax
call fcn.100dbe80
xor ebx, ebx
cmp dword [eax + 0x1c], 6
jl 0x100e8137
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x5c], esp
push 0x1b
mov edi, 7
xor eax, eax
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str..NVDiskSpaceConstraint.cpp
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x170], 0x2e
push 0x182
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x78], esp
push 0x44
xor edx, edx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.CNVDiskSpaceConstraint::CalculateSpaceGainFromUninstallingPackagesKB
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x190], 0x2f
push esi
lea ecx, [esp + 0x108]
call fcn.10056360
mov edi, eax
mov byte [esp + 0x190], 0x30
mov eax, dword [esi + 4]
push eax
lea ecx, [esp + 0x124]
push ecx
call fcn.100550d0
add esp, 8
mov byte [esp + 0x190], 0x31
mov dword [esp + 0x60], eax
lea edx, [esp + 0x57]
lea eax, [esp + 0x80]
lea ecx, [esp + 0x60]
mov dword [esp + 0x84], edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x6c], ecx
lea edx, [esp + 0x68]
lea eax, [esp + 0x88]
lea ecx, [esp + 0x9c]
mov byte [esp + 0x57], bl
mov dword [esp + 0x68], str.kilobytes_on_drive_
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edx
mov dword [esp + 0x9c], 0x102b5204
mov dword [esp + 0xa0], eax
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], ecx
push 6
call fcn.100dbe80
push eax
mov byte [esp + 0x198], 0x33
lea edi, [esp + 0x98]
call fcn.10002b50
mov byte [esp + 0x154], 0x32
lea ecx, [esp + 0xe4]
call fcn.10002d20
mov byte [esp + 0x154], 1
lea ecx, [esp + 0xc8]
call fcn.10056b10
cmp dword [esp + 0x1c], ebx
jne 0x100e7fd0
mov dword [esp + 0x154], 0xffffffff
lea edx, [esp + 0x38]
push edx
call fcn.100b9200
mov ecx, dword [esp + 0x14c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret 4