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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100b0074
mov eax, dword fs:[0]
push eax
sub esp, 0x138
push ebx
push esi
push edi
mov eax, dword [0x100d8dd0]
xor eax, esp
push eax
lea eax, [esp + 0x148]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x150], ebx
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 8]
lea eax, [esp + 0x14]
push eax
call fcn.10005560
lea esi, [esp + 0x14]
call fcn.1000d510
test eax, eax
jne 0x1000cbd6
call fcn.100028e0
cmp dword [eax + 0x1c], 4
jl 0x1000d2e0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push str..DisplayDriverExtSite.cpp
call fcn.1004ce50
mov byte [esp + 0x16c], 1
push 0x94c
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x70], esp
push str.CEnumDevicesINF::PerformINFActionOnSupportedDevices
call fcn.1004ce50
mov byte [esp + 0x18c], 2
lea ecx, [esp + 0x4f]
lea edx, [esp + 0x7c]
lea eax, [esp + 0x74]
push 4
mov byte [esp + 0x53], bl
mov dword [esp + 0x84], ecx
mov dword [esp + 0x78], str._PopulatePkgINFs__fn_failed_to_populate_the_INF_list
mov dword [esp + 0x7c], edx
mov dword [esp + 0x68], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____53___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov dword [esp + 0x6c], eax
call fcn.100028e0
push eax
mov byte [esp + 0x194], bl
lea edi, [esp + 0x6c]
call fcn.1001ae50
jmp 0x1000d2e0
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], 0xa
mov byte [esp + 0x150], 3
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [edi + 8]
call fcn.10005410
cmp dword [esp + 0x54], ebx
jne 0x1000cca8
call fcn.100028e0
cmp dword [eax + 0x1c], 4
jl 0x1000d2d0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push str..DisplayDriverExtSite.cpp
call fcn.1004ce50
mov byte [esp + 0x16c], 4
push 0x954
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x70], esp
push str.CEnumDevicesINF::PerformINFActionOnSupportedDevices
call fcn.1004ce50
mov byte [esp + 0x18c], 5
lea edx, [esp + 0x4f]
lea eax, [esp + 0x7c]
lea ecx, [esp + 0x74]
push 4
mov byte [esp + 0x53], bl
mov dword [esp + 0x84], edx
mov dword [esp + 0x78], str._PopulateSupportedDevices__fn_failed_to_populate_supported_devices
mov dword [esp + 0x7c], eax
mov dword [esp + 0x68], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____67___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov dword [esp + 0x6c], ecx
call fcn.100028e0
push eax
mov byte [esp + 0x194], 3
lea edi, [esp + 0x6c]
call fcn.1001ae50
jmp 0x1000d2d0
mov dword [esp + 0x30], ebx
mov byte [esp + 0x150], 7
lea edx, [esp + 0x30]
push edx
push 0x100b8ecc
push 0x17
push ebx
push 0x100b225c
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, ebx
jge 0x1000cce1
push ebx
push 0x959
push 0x100b6c04
push eax
call fcn.10001ed0
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x1000d2be
mov esi, dword [sym.imp.OLEAUT32.dll_VariantClear]
jmp 0x1000ccf9
mov eax, dword [esp + 0x28]
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
je 0x1000d325
mov ecx, dword [eax]
lea edx, [esp + 0x34]
mov dword [esp + 0x28], ecx
lea ecx, [eax + 8]
push edx
call fcn.10015040
mov byte [esp + 0x150], 8
push eax
lea ecx, [esp + 0x128]
call fcn.10019e40
mov byte [esp + 0x150], 0xa
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1000cd58
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x150], 0xc
mov dword [esp + 0x20], ebx
mov byte [esp + 0x150], 0xd
mov dword [esp + 0x18], ebx
mov byte [esp + 0x150], 0xe
mov edx, dword [0x100e16bc]
mov eax, dword [edx + 0xc]
mov ecx, 0x100e16bc
call eax
add eax, 0x10
mov dword [esp + 0x64], eax
mov byte [esp + 0x150], 0x10
lea ecx, [esp + 0x6c]
push ecx
call esi
mov byte [esp + 0x150], 0x11
mov dword [esp + 0x7c], ebx
mov byte [esp + 0x150], 0x12
mov edx, dword [0x100e16bc]
mov eax, dword [edx + 0xc]
mov ecx, 0x100e16bc
call eax
add eax, 0x10
mov dword [esp + 0x84], eax
mov byte [esp + 0x150], 0x14
lea ecx, [esp + 0x8c]
push ecx
call esi
mov byte [esp + 0x150], 0x15
mov dword [esp + 0x9c], ebx
mov byte [esp + 0x150], 0x16
mov edx, dword [0x100e16bc]
mov eax, dword [edx + 0xc]
mov ecx, 0x100e16bc
call eax
add eax, 0x10
mov dword [esp + 0xf4], eax
mov byte [esp + 0x150], 0x18
lea ecx, [esp + 0xfc]
push ecx
call esi
mov byte [esp + 0x150], 0x19
mov dword [esp + 0x10c], ebx
mov byte [esp + 0x150], 0x1a
mov edx, dword [0x100e16bc]
mov eax, dword [edx + 0xc]
mov ecx, 0x100e16bc
call eax
add eax, 0x10
mov dword [esp + 0xd4], eax
mov byte [esp + 0x150], 0x1c
lea ecx, [esp + 0xdc]
push ecx
call esi
mov byte [esp + 0x150], 0x1d
mov dword [esp + 0xec], ebx
mov byte [esp + 0x150], 0x1e
mov edx, dword [0x100e16bc]
mov eax, dword [edx + 0xc]
mov ecx, 0x100e16bc
call eax
add eax, 0x10
mov dword [esp + 0xac], eax
mov byte [esp + 0x150], 0x20
lea ecx, [esp + 0xb4]
push ecx
call esi
mov byte [esp + 0x150], 0x21
mov dword [esp + 0xc4], ebx
mov byte [esp + 0x150], 0x22
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0xac]
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x24], edx
mov dword [esp + 0xc4], ebx
call fcn.10001780
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [esp + 0xb4]
push eax
call edi
cmp eax, ebx
jl 0x1000d33a
mov ecx, 8
mov word [esp + 0xb4], cx
lea ecx, [esp + 0xd4]
mov dword [esp + 0xc4], 2
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xec], ebx
call fcn.10001780
lea edx, [esp + 0xdc]
push edx
call edi
cmp eax, ebx
jl 0x1000d33a
mov eax, 8
lea ecx, [esp + 0xf4]
mov dword [esp + 0xec], 2
mov word [esp + 0xdc], ax
mov dword [esp + 0xe4], ebx
mov dword [esp + 0x10c], ebx
call fcn.10001780
lea ecx, [esp + 0xfc]
push ecx
call edi
cmp eax, ebx
jl 0x1000d33a
mov edx, 8
lea ecx, [esp + 0x84]
mov dword [esp + 0x10c], 2
mov word [esp + 0xfc], dx
mov dword [esp + 0x104], ebx
mov dword [esp + 0x9c], ebx
call fcn.10001780
lea eax, [esp + 0x8c]
push eax
call edi
cmp eax, ebx
jl 0x1000d33a
mov ecx, 8
mov word [esp + 0x8c], cx
lea ecx, [esp + 0x64]
mov dword [esp + 0x9c], 2
mov dword [esp + 0x94], ebx
mov dword [esp + 0x7c], ebx
call fcn.10001780
lea edx, [esp + 0x6c]
push edx
call edi
cmp eax, ebx
jl 0x1000d33a
mov eax, 8
mov dword [esp + 0x7c], 2
mov word [esp + 0x6c], ax
mov dword [esp + 0x74], ebx
cmp dword [esp + 0x13c], ebx
je 0x1000d057
lea ecx, [esp + 0x124]
call fcn.1001a1f0
movzx ecx, word [eax]
cmp cx, bx
je 0x1000d057
cmp cx, 1
je 0x1000d057
cmp cx, 8
sete cl
cmp cl, bl
je 0x1000d347
mov eax, dword [eax + 8]
jmp 0x1000d059
xor eax, eax
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
lea edi, [esp + 0xbc]
push edi
lea edi, [esp + 0xe8]
push edi
lea edi, [esp + 0x10c]
push edi
lea edi, [esp + 0xb0]
push edi
lea edi, [esp + 0x28]
push edi
lea edi, [esp + 0x34]
push edi
lea edi, [esp + 0x34]
push edi
lea edi, [esp + 0xb0]
push edi
lea edi, [esp + 0x94]
push edi
push eax
mov eax, dword [esp + 0x3c]
push eax
push ecx
mov ecx, dword [edx + 0x1c]
call ecx
cmp eax, ebx
jl 0x1000d35c
cmp eax, 1
jne 0x1000d1a1
call fcn.100028e0
cmp dword [eax + 0x1c], 4
jl 0x1000d1e8
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..DisplayDriverExtSite.cpp
mov word [ecx + 4], dx
call fcn.1004cd60
mov byte [esp + 0x16c], 0x23
push 0x983
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x74], esp
push 0x33
xor eax, eax
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.CEnumDevicesINF::PerformINFActionOnSupportedDevices
mov word [ecx + 4], ax
call fcn.1004cd60
mov byte [esp + 0x18c], 0x24
lea ecx, [esp + 0x4f]
lea edx, [esp + 0x158]
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x154], edx
lea eax, [esp + 0x160]
lea ecx, [esp + 0x150]
lea edx, [esp + 0x108]
push 4
mov byte [esp + 0x53], bl
mov dword [esp + 0x154], str.No_best_driver_found_for
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], ecx
mov dword [esp + 0x80], 0x100b8d8c
mov dword [esp + 0x84], edx
call fcn.100028e0
push eax
mov byte [esp + 0x194], 0x22
lea edi, [esp + 0x84]
call fcn.1001ae50
jmp 0x1000d1e8
lea ecx, [esp + 0x64]
call fcn.1001a080
push eax
lea ecx, [esp + 0x4c]
call fcn.10001d70
mov byte [esp + 0x150], 0x26
lea ecx, [esp + 0x84]
call fcn.1001a080
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov edx, dword [edx]
push eax
lea eax, [esp + 0x4c]
push eax
call edx
mov byte [esp + 0x150], 0x22
lea ecx, [esp + 0x48]
call fcn.10001df0
mov byte [esp + 0x150], 0x1e
lea ecx, [esp + 0xac]
call fcn.10019eb0
mov byte [esp + 0x150], 0x1a
lea ecx, [esp + 0xd4]
call fcn.10019eb0
mov byte [esp + 0x150], 0x16
lea ecx, [esp + 0xf4]
call fcn.10019eb0
mov byte [esp + 0x150], 0x12
lea ecx, [esp + 0x84]
call fcn.10019eb0
mov byte [esp + 0x150], 0xe
lea ecx, [esp + 0x64]
call fcn.10019eb0
mov byte [esp + 0x150], 0xd
mov eax, dword [esp + 0x18]
mov edi, dword [sym.imp.OLEAUT32.dll_SafeArrayGetDim]
cmp eax, ebx
je 0x1000d26a
push eax
call edi
cmp eax, ebx
jl 0x1000d26a
mov dword [esp + 0x18], ebx
mov byte [esp + 0x150], 0xc
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x1000d285
push eax
call edi
cmp eax, ebx
jl 0x1000d285
mov dword [esp + 0x20], ebx
mov byte [esp + 0x150], 0xa
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x1000d2a0
push eax
call edi
cmp eax, ebx
jl 0x1000d2a0
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x150], 7
lea ecx, [esp + 0x124]
call fcn.10019eb0
cmp dword [esp + 0x28], ebx
jne 0x1000ccf5
mov byte [esp + 0x150], 3
lea eax, [esp + 0x30]
push eax
call fcn.1000ca90
mov byte [esp + 0x150], bl
lea ecx, [esp + 0x4c]
call fcn.10017930
mov dword [esp + 0x150], 0xffffffff
mov esi, dword [esp + 0x14]
cmp esi, ebx
je 0x1000d30d
push esi
call dword [sym.imp.OLEAUT32.dll_SafeArrayAccessData]
test eax, eax
jl 0x1000d30d
push esi
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetDim]
test eax, eax
jl 0x1000d30d
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x148]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ebx
push 0x514
push str.c:dvsp4_build_sw_toolswin32msvc90VC_atlmfcinclude_atlcoll.h
push 0x80004005
call fcn.10001ed0
push ebx
push ebx
push 0x100b952a
push eax
call fcn.10001ed0
push ebx
push 0xb7
push str.c:dvsp4_build_sw_relgpu_drv_r265_r265_36installer2.0incAutoString.h
push 0xe0e00000
call fcn.10001ed0
push ebx
push 0x980
push 0x100b6c04
push eax
call fcn.10001ed0
int3