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

Disassembly:
push 0xffffffffffffffff
push 0x1028c3c0
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1037c990]
xor eax, esp
push eax
lea eax, [esp + 0x80]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x90]
cmp dword [ebp + 0x40], 3
sete al
xor ebx, ebx
cmp al, bl
jne 0x10159d33
push ebx
push 0x1c0
push 0x102d7190
push 0xe0e00062
call fcn.100048f0
mov ecx, dword [esp + 0x94]
call fcn.1005eb40
cmp dword [ebp + 4], ebx
je 0x1015a1eb
mov eax, ebp
call fcn.10159c10
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], 0xa
mov dword [esp + 0x88], ebx
xor eax, eax
cmp dword [ebp + 4], ebx
je 0x10159d97
mov edx, dword [ebp + 8]
cmp edx, ebx
jbe 0x10159d95
mov esi, dword [ebp]
mov ecx, esi
cmp dword [ecx], ebx
jne 0x10159ebc
inc eax
add ecx, 4
cmp eax, edx
jb 0x10159d85
xor eax, eax
mov dword [esp + 0x18], eax
cmp eax, ebx
je 0x10159ed8
lea eax, [esp + 0x18]
push eax
mov ebx, ebp
call fcn.1015ae60
mov esi, eax
mov eax, dword [esi + 4]
xor ebx, ebx
mov dword [esp + 0x1c], eax
cmp dword [eax + 0x68], ebx
jne 0x10159ecc
call fcn.10158220
cmp dword [eax + 0x1c], 6
jl 0x10159e9d
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x1a
mov edi, 7
xor edx, edx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str..NVPackagesOrderGraph.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0xa4], 1
push 0x1d5
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x60], esp
push 0x2e
xor eax, eax
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.CNVPackagesOrderGraph::GetPackagesInstallOrder
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0xc4], 2
lea ecx, [esp + 0x53]
lea edx, [esp + 0x84]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x68], edx
lea eax, [esp + 0x64]
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x74]
push 6
mov byte [esp + 0x57], bl
mov dword [esp + 0x68], 0x102c03b4
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], str.next_in_ordering
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], 0x102d7b34
mov dword [esp + 0x84], edx
call fcn.10158220
push eax
mov byte [esp + 0xcc], bl
lea edi, [esp + 0x84]
call fcn.10002b50
mov eax, dword [esp + 0x54]
push eax
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x58]
call fcn.1015b110
mov ecx, dword [esp + 0x54]
cmp ecx, ebx
je 0x10159ec4
mov dword [ecx], eax
jmp 0x10159ec8
mov eax, dword [esi + eax*4]
jmp 0x10159d97
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
cmp dword [esp + 0x18], ebx
jne 0x10159da3
xor ebx, ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], 0xa
mov byte [esp + 0x88], 3
cmp dword [esp + 0x58], ebx
je 0x1015a0bd
mov ecx, dword [esp + 0x50]
xor eax, eax
cmp ecx, ebx
setne al
cmp eax, ebx
je 0x1015a19d
mov eax, dword [ecx]
mov esi, dword [ecx + 8]
mov dword [esp + 0x50], eax
cmp eax, ebx
je 0x10159f2b
mov dword [eax + 4], ebx
jmp 0x10159f2f
mov dword [esp + 0x54], ebx
mov edx, dword [esp + 0x60]
mov dword [ecx], edx
sub dword [esp + 0x58], 1
mov dword [esp + 0x60], ecx
jne 0x10159f49
lea ecx, [esp + 0x50]
call fcn.1015ace0
mov ecx, dword [esp + 0x6c]
mov eax, dword [esi]
push ebx
push ecx
push eax
lea ecx, [esp + 0x74]
call fcn.10095150
mov ecx, dword [esp + 0x6c]
cmp ecx, ebx
je 0x10159f67
mov dword [ecx], eax
jmp 0x10159f6b
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov ebp, dword [esi + 4]
cmp ebp, ebx
je 0x1015a0ac
lea ebx, [ebx]
xor eax, eax
cmp ebp, ebx
setne al
cmp eax, ebx
je 0x1015a1b2
mov eax, ebp
mov esi, dword [eax + 8]
mov ebp, dword [ebp]
add dword [esi + 0x68], 0xffffffff
mov dword [esp + 0x1c], esi
jne 0x1015a0a4
call fcn.10158220
cmp dword [eax + 0x1c], 6
jl 0x1015a07d
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x1a
mov edi, 7
xor edx, edx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str..NVPackagesOrderGraph.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0xa4], 4
push 0x1e9
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x5c], esp
push 0x2e
xor eax, eax
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.CNVPackagesOrderGraph::GetPackagesInstallOrder
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0xc4], 5
lea ecx, [esp + 0x53]
lea edx, [esp + 0x84]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x80], edx
lea eax, [esp + 0x7c]
lea ecx, [esp + 0x74]
lea edx, [esp + 0x6c]
push 6
mov byte [esp + 0x57], bl
mov dword [esp + 0x80], 0x102c03b4
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], eax
mov dword [esp + 0x70], str.next_in_ordering
mov dword [esp + 0x74], ecx
mov dword [esp + 0x68], 0x102d7b34
mov dword [esp + 0x6c], edx
call fcn.10158220
push eax
mov byte [esp + 0xcc], 3
lea edi, [esp + 0x6c]
call fcn.10002b50
mov eax, dword [esp + 0x54]
push eax
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x58]
call fcn.1015b110
mov ecx, dword [esp + 0x54]
cmp ecx, ebx
je 0x1015a09c
mov dword [ecx], eax
jmp 0x1015a0a0
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
cmp ebp, ebx
jne 0x10159f80
cmp dword [esp + 0x58], ebx
jne 0x10159f06
mov ebp, dword [esp + 0x90]
mov edi, dword [esp + 0x94]
lea eax, [esp + 0x68]
call fcn.100944d0
mov eax, dword [ebp + 4]
cmp dword [esp + 0x70], eax
je 0x1015a1c7
push ebp
lea ecx, [esp + 0x6c]
call fcn.1015a460
call fcn.10158220
cmp dword [eax + 0x1c], 3
jl 0x1015a188
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xb0], esp
push str..NVPackagesOrderGraph.cpp
call fcn.10035dd0
mov byte [esp + 0xa4], 6
push 0x1f5
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x60], esp
push str.CNVPackagesOrderGraph::GetPackagesInstallOrder
call fcn.10035dd0
mov byte [esp + 0xc4], 7
lea edx, [esp + 0xcc]
lea eax, [esp + 0x84]
lea ecx, [esp + 0x7c]
push 3
mov byte [esp + 0xd0], bl
mov dword [esp + 0x8c], edx
mov dword [esp + 0x80], str.Number_of_packages_in_install_ordered_list_does_not_match_with_number_of_packages_available_for_install__possible_cyclic_dependency_between_the_packages_
mov dword [esp + 0x84], eax
mov dword [esp + 0x78], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_wchar_t_const_____154___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov dword [esp + 0x7c], ecx
call fcn.10158220
push eax
mov byte [esp + 0xcc], 3
lea edi, [esp + 0x7c]
call fcn.10002b50
push ebx
push 0x1f6
push 0x102d7190
push 0xe0e00065
call fcn.100048f0
push ebx
push 0x63c
push str.c:dvsp4_build_sw_toolswin32msvc90VC_atlmfcinclude_atlcoll.h
push 0x80004005
call fcn.100048f0
push ebx
push 0x514
push str.c:dvsp4_build_sw_toolswin32msvc90VC_atlmfcinclude_atlcoll.h
push 0x80004005
call fcn.100048f0
mov byte [esp + 0x88], bl
lea ecx, [esp + 0x68]
call fcn.1005eb40
mov dword [esp + 0x88], 0xffffffff
lea ecx, [esp + 0x50]
call fcn.1015ace0
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x78
ret 8