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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1028af07
mov eax, dword fs:[0]
push eax
sub esp, 0x1f0
push ebx
push esi
push edi
mov eax, dword [0x1037c990]
xor eax, esp
push eax
lea eax, [esp + 0x200]
mov dword fs:[0], eax
mov esi, dword [ebp + 0xc]
lea eax, [esp + 0x1cc]
push eax
call fcn.10177160
xor ebx, ebx
mov dword [esp + 0x208], ebx
mov eax, 0xa
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf0], eax
mov byte [esp + 0x208], 1
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], ebx
mov dword [esp + 0x108], eax
mov byte [esp + 0x208], 2
call fcn.101717b0
cmp dword [eax + 0x1c], 5
jl 0x10175b3b
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x54], esp
push 0x15
mov edi, 7
xor edx, edx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str..NVServiceAction.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x224], 3
push 0x41b
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x70], esp
push 0x2d
xor eax, eax
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.CNVServiceAction::RemoveServiceFromPnpDevices
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x244], 4
lea ecx, [esp + 0x53]
mov dword [esp + 0x5c], ecx
lea edx, [esp + 0x58]
lea eax, [esp + 0x88]
lea ecx, [esp + 0x98]
push 5
mov byte [esp + 0x57], bl
mov dword [esp + 0x8c], str.Checking_PnP_dependencies_of_service
mov dword [esp + 0x90], edx
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], eax
mov dword [esp + 0xd0], 0x102daf30
mov dword [esp + 0xd4], ecx
call fcn.101717b0
push eax
mov byte [esp + 0x24c], 2
lea edi, [esp + 0xd4]
call fcn.10002b50
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], ebx
mov byte [esp + 0x208], 5
lea edx, [esp + 0x124]
push ebx
push edx
call fcn.101f22b0
mov eax, dword [esp + 0x130]
add esp, 8
mov dword [esp + 0x40], ebx
cmp eax, ebx
jbe 0x10175fce
mov dword [esp + 0x2c], ebx
jmp 0x10175b90
cmp dword [esp + 0x40], eax
jae 0x1017624e
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x2c]
lea esi, [eax + ecx]
mov eax, 0x102dafe0
cmp esi, ebx
je 0x10175bb3
mov eax, esi
push eax
lea edx, [esp + 0x198]
push edx
call fcn.101e8390
add esp, 8
mov byte [esp + 0x208], 6
mov ecx, eax
call fcn.10003840
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.10004780
add eax, 0x10
add esp, 4
mov dword [esp + 0x3c], eax
mov byte [esp + 0x208], 0xa
lea eax, [esp + 0x19c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [esp + 0x208], 9
mov eax, dword [esp + 0x194]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10175c29
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x12
mov ecx, esi
call fcn.101f1f40
mov edi, eax
mov dword [esp + 0x30], edi
mov byte [esp + 0x208], 0xd
push 0x11
mov ecx, esi
call fcn.101f1f40
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], eax
mov byte [esp + 0x208], 0xe
cmp edi, ebx
je 0x10175dd2
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x30]
push ecx
push edx
call fcn.10177240
cmp al, bl
je 0x10175dd2
call fcn.101717b0
cmp dword [eax + 0x1c], 5
jl 0x10175d9f
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x54], esp
push 0x15
mov edi, 7
xor eax, eax
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str..NVServiceAction.cpp
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x224], 0xf
push 0x426
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xc8], esp
push 0x2d
xor edx, edx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.CNVServiceAction::RemoveServiceFromPnpDevices
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x244], 0x10
lea eax, [esp + 0x53]
lea ecx, [esp + 0x58]
lea edx, [esp + 0x78]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x98], edx
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x88]
lea ecx, [esp + 0x98]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xc0], edx
lea eax, [esp + 0xcc]
lea ecx, [esp + 0xc0]
lea edx, [esp + 0xf4]
push 5
mov byte [esp + 0x57], bl
mov dword [esp + 0x8c], str.Class
mov dword [esp + 0xd0], str.uses
mov dword [esp + 0xc8], eax
mov dword [esp + 0xf8], str.as_lower_filter
mov dword [esp + 0xfc], ecx
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], 0x102daf44
mov dword [esp + 0x118], edx
call fcn.101717b0
push eax
mov byte [esp + 0x24c], 0xe
lea edi, [esp + 0x118]
call fcn.10002b50
mov ecx, 0x102dafe0
cmp esi, ebx
je 0x10175daa
mov ecx, esi
lea eax, [esp + 0x1cc]
push eax
call fcn.10177f00
mov eax, dword [esp + 0x30]
mov ecx, esi
cmp eax, ebx
jne 0x10175dca
push 0x12
call fcn.101f11c0
jmp 0x10175dd2
push eax
push 0x12
call fcn.101f2120
cmp dword [esp + 0x34], ebx
je 0x10175f4c
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.10177240
cmp al, bl
je 0x10175f4c
call fcn.101717b0
cmp dword [eax + 0x1c], 5
jl 0x10175f17
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x54], esp
push 0x15
mov edi, 7
xor eax, eax
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str..NVServiceAction.cpp
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x224], 0x11
push 0x433
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x70], esp
push 0x2d
xor edx, edx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.CNVServiceAction::RemoveServiceFromPnpDevices
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x244], 0x12
lea eax, [esp + 0x53]
lea ecx, [esp + 0x60]
lea edx, [esp + 0x78]
mov dword [esp + 0x64], eax
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x104], edx
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0xd4]
lea ecx, [esp + 0x104]
mov dword [esp + 0x108], eax
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xec], edx
lea eax, [esp + 0xdc]
lea ecx, [esp + 0xec]
lea edx, [esp + 0xfc]
push 5
mov byte [esp + 0x57], bl
mov dword [esp + 0xd8], str.Class
mov dword [esp + 0xe0], str.uses
mov dword [esp + 0xf4], eax
mov dword [esp + 0x100], str.as_upper_filter
mov dword [esp + 0x104], ecx
mov dword [esp + 0xe8], 0x102daf44
mov dword [esp + 0xec], edx
call fcn.101717b0
push eax
mov byte [esp + 0x24c], 0xe
lea edi, [esp + 0xec]
call fcn.10002b50
mov ecx, 0x102dafe0
cmp esi, ebx
je 0x10175f22
mov ecx, esi
lea eax, [esp + 0x1cc]
push eax
call fcn.10177f00
mov edi, dword [esp + 0x18]
mov ecx, esi
cmp edi, ebx
jne 0x10175f42
push 0x11
call fcn.101f11c0
jmp 0x10175f50
push edi
push 0x11
call fcn.101f2120
jmp 0x10175f50
mov edi, dword [esp + 0x18]
mov byte [esp + 0x208], 0xd
cmp edi, ebx
je 0x10175f66
mov edx, dword [edi]
mov eax, dword [edx]
push 1
mov ecx, edi
call eax
mov dword [esp + 0x18], ebx
mov byte [esp + 0x208], 9
mov ecx, dword [esp + 0x30]
cmp ecx, ebx
je 0x10175f82
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [esp + 0x30], ebx
mov byte [esp + 0x208], 5
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10175fae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x128]
add dword [esp + 0x2c], 0x10
inc ecx
mov dword [esp + 0x40], ecx
cmp ecx, eax
jb 0x10175b90
mov esi, dword [ebp + 0xc]
push ebx
push ebx
push ebx
lea ecx, [esp + 0xdc]
push 4
push ecx
call fcn.100c1e30
add esp, 0x14
mov byte [esp + 0x208], 0x14
mov dword [esp + 0x134], ebx
mov dword [esp + 0x138], ebx
mov dword [esp + 0x13c], ebx
mov dword [esp + 0x140], ebx
mov dword [esp + 0x144], ebx
mov dword [esp + 0x148], 0xa
mov byte [esp + 0x208], 0x15
mov eax, dword [esp + 0x134]
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x134]
push ecx
lea ecx, [esp + 0xd4]
mov dword [esp + 0x70], vtable.CAtlListBuilder_class_CDevDevice__class_ATL::CElementTraits_class_CDevDevice___class_ATL::CAtlList_class_CDevDevice__class_ATL::CElementTraits_class_CDevDevice___.0
mov dword [esp + 0x7c], edx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], eax
call fcn.101f2dd0
mov eax, dword [esp + 0x134]
mov dword [esp + 0x3c], eax
cmp eax, ebx
je 0x1017681b
xor eax, eax
cmp dword [esp + 0x3c], ebx
setne al
cmp eax, ebx
je 0x10176960
mov esi, dword [esp + 0x3c]
mov edx, dword [esi]
lea eax, [esp + 0x18]
add esi, 8
push eax
mov ecx, esi
mov dword [esp + 0x40], edx
call fcn.100dbb10
mov byte [esp + 0x208], 0x16
push 4
mov ecx, esi
call fcn.101f24f0
mov edi, eax
mov dword [esp + 0x8c], edi
mov dword [esp + 0x34], edi
mov byte [esp + 0x208], 0x17
cmp edi, ebx
je 0x101762dc
mov edx, dword [edi]
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x2c]
push eax
mov ecx, edi
call edx
mov byte [esp + 0x208], 0x18
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov ecx, dword [esp + 0x2c]
push eax
push ecx
call fcn.10231171
add esp, 8
test eax, eax
jne 0x101762b4
call fcn.101717b0
cmp dword [eax + 0x1c], 5
jl 0x10176225
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x54], esp
push 0x15
mov esi, 7
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str..NVServiceAction.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x224], 0x19
push 0x450
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xc0], esp
push 0x2d
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.CNVServiceAction::RemoveServiceFromPnpDevices
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x244], 0x1a
lea ecx, [esp + 0x53]
lea edx, [esp + 0x1f0]
lea eax, [esp + 0x54]
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0xe8], edx
mov dword [esp + 0xfc], eax
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0xe4]
lea edx, [esp + 0xfc]
mov dword [esp + 0x100], ecx
mov dword [esp + 0xf0], edx
mov dword [esp + 0xdc], eax
lea ecx, [esp + 0xec]
lea edx, [esp + 0xdc]
lea eax, [esp + 0x104]
push 5
mov byte [esp + 0x57], bl
mov dword [esp + 0xe8], str.Device
mov dword [esp + 0xf0], str.uses
mov dword [esp + 0xe4], ecx
mov dword [esp + 0x108], str.as_function_service
mov dword [esp + 0x10c], edx
mov dword [esp + 0xd8], 0x102daf58
mov dword [esp + 0xdc], eax
call fcn.101717b0
push eax
mov byte [esp + 0x24c], 0x18
lea edi, [esp + 0xdc]
call fcn.10002b50
mov edi, dword [esp + 0x8c]
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x18]
push ebx
push ecx
push edx
lea ecx, [esp + 0xe8]
call fcn.10095150
mov ecx, dword [esp + 0xe0]
cmp ecx, ebx
je 0x10176263
mov dword [ecx], eax
jmp 0x1017626a
push ebx
push 0x2c6
push str.c:dvsp4_build_sw_toolswin32msvc90VC_atlmfcinclude_atlcoll.h
push 0x80070057
call fcn.100048f0
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], eax
mov byte [esp + 0x208], 0x17
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10176299
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x208], 0x16
mov edx, dword [edi]
mov eax, dword [edx]
push 1
mov ecx, edi
call eax
mov dword [esp + 0x34], ebx
jmp 0x101767e6
mov byte [esp + 0x208], 0x17
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x101762dc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0x10]
mov dword [esp + 0x10c], ecx
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x114], eax
lea eax, [esp + 0x10c]
mov byte [esp + 0x17], bl
mov dword [esp + 0x110], edx
mov dword [esp + 0x118], ecx
call fcn.10178cc0
mov edi, eax
lea edx, [esp + 0x84]
push edx
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x64]
lea ecx, [esp + 0x1d4]
call fcn.10178670
cmp eax, ebx
je 0x10176458
call fcn.101717b0
cmp dword [eax + 0x1c], 5
jl 0x10176453
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xa0], esp
push 0x15
mov edi, 7
xor edx, edx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str..NVServiceAction.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x224], 0x1e
push 0x45c
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x74], esp
push 0x2d
xor eax, eax
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.CNVServiceAction::RemoveServiceFromPnpDevices
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x244], 0x1f
lea ecx, [esp + 0x53]
lea edx, [esp + 0x1f8]
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x114], edx
lea eax, [esp + 0x54]
lea ecx, [esp + 0x110]
lea edx, [esp + 0xf4]
mov dword [esp + 0xf4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x1a4], edx
lea ecx, [esp + 0x1a0]
lea edx, [esp + 0x188]
push 5
mov byte [esp + 0x57], bl
mov dword [esp + 0x114], str.Device
mov dword [esp + 0x1a4], str.is_part_of_a_class_that_uses
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], 0x102daf6c
mov dword [esp + 0x1b8], edx
call fcn.101717b0
push eax
mov byte [esp + 0x24c], 0x17
lea edi, [esp + 0x1b8]
call fcn.10002b50
mov byte [esp + 0x17], 1
push 0x12
mov ecx, esi
call fcn.101f24f0
mov edi, eax
mov dword [esp + 0x40], edi
mov byte [esp + 0x208], 0x20
push 0x11
mov ecx, esi
call fcn.101f24f0
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], eax
mov byte [esp + 0x208], 0x21
cmp edi, ebx
je 0x101765f7
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0x40]
push eax
push ecx
call fcn.10177240
cmp al, bl
je 0x101765f7
mov byte [esp + 0x17], 1
call fcn.101717b0
cmp dword [eax + 0x1c], 5
jl 0x101765dc
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xa0], esp
push 0x15
mov edi, 7
xor edx, edx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str..NVServiceAction.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x224], 0x22
push 0x464
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x88], esp
push 0x2d
xor eax, eax
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.CNVServiceAction::RemoveServiceFromPnpDevices
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x244], 0x23
lea ecx, [esp + 0x52]
lea edx, [esp + 0x200]
lea eax, [esp + 0x54]
mov dword [esp + 0x204], ecx
mov dword [esp + 0x1c4], edx
mov dword [esp + 0x1c8], eax
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x1c0]
lea edx, [esp + 0x1c8]
mov dword [esp + 0x1cc], ecx
mov dword [esp + 0x19c], edx
mov dword [esp + 0x1a8], eax
lea ecx, [esp + 0x198]
lea edx, [esp + 0x1a8]
lea eax, [esp + 0x1b8]
push 5
mov byte [esp + 0x56], bl
mov dword [esp + 0x1c4], str.Device
mov dword [esp + 0x19c], str.uses
mov dword [esp + 0x1b0], ecx
mov dword [esp + 0x1bc], str.as_lower_filter
mov dword [esp + 0x1c0], edx
mov dword [esp + method.Nvidia::Logging::Loggable.virtual_0], 0x102daf80
mov dword [esp + 0x198], eax
call fcn.101717b0
push eax
mov byte [esp + 0x24c], 0x21
lea edi, [esp + 0x198]
call fcn.10002b50
mov eax, dword [esp + 0x40]
mov ecx, esi
cmp eax, ebx
jne 0x101765ef
push 0x12
call fcn.101f26f0
jmp 0x101765f7
push eax
push 0x12
call fcn.101f2750
cmp dword [esp + 0x38], ebx
je 0x10176750
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x30]
push ecx
push edx
call fcn.10177240
cmp al, bl
je 0x10176750
call fcn.101717b0
cmp dword [eax + 0x1c], 5
jl 0x10176733
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x68], esp
push 0x15
mov edi, 7
xor eax, eax
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str..NVServiceAction.cpp
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x224], 0x24
push 0x471
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xc0], esp
push 0x2d
xor edx, edx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.CNVServiceAction::RemoveServiceFromPnpDevices
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x244], 0x25
lea eax, [esp + 0x52]
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x54]
mov dword [esp + 0xac], eax
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xa0], edx
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0xb8]
lea ecx, [esp + 0xa0]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x94], ecx
mov dword [esp + 0x80], edx
lea eax, [esp + 0x90]
lea ecx, [esp + 0x80]
lea edx, [esp + 0x60]
push 5
mov byte [esp + 0x56], bl
mov dword [esp + 0xbc], str.Device
mov dword [esp + 0x94], str.uses
mov dword [esp + 0x88], eax
mov dword [esp + 0x64], str.as_upper_filter
mov dword [esp + 0x68], ecx
mov dword [esp + 0x5c], 0x102daf80
mov dword [esp + 0x60], edx
call fcn.101717b0
push eax
mov byte [esp + 0x24c], 0x21
lea edi, [esp + 0x60]
call fcn.10002b50
mov edi, dword [esp + 0x30]
mov ecx, esi
cmp edi, ebx
jne 0x10176746
push 0x11
call fcn.101f26f0
jmp 0x1017675a
push edi
push 0x11
call fcn.101f2750
jmp 0x1017675a
mov edi, dword [esp + 0x30]
cmp byte [esp + 0x17], bl
je 0x10176791
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0x18]
push ebx
push eax
push ecx
lea ecx, [esp + 0x100]
call fcn.10095150
mov ecx, dword [esp + 0xf8]
cmp ecx, ebx
je 0x10176783
mov dword [ecx], eax
jmp 0x1017678a
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], eax
mov byte [esp + 0x208], 0x20
cmp edi, ebx
je 0x101767a7
mov edx, dword [edi]
mov eax, dword [edx]
push 1
mov ecx, edi
call eax
mov dword [esp + 0x30], ebx
mov byte [esp + 0x208], 0x17
mov ecx, dword [esp + 0x40]
cmp ecx, ebx
je 0x101767c3
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [esp + 0x40], ebx
mov byte [esp + 0x208], 0x16
mov ecx, dword [esp + 0x8c]
cmp ecx, ebx
je 0x101767e2
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [esp + 0x34], ebx
mov byte [esp + 0x208], 0x15
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1017680e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x3c], ebx
jne 0x10176067
mov esi, dword [ebp + 0xc]
cmp dword [esp + 0xe4], ebx
jbe 0x10176d6d
call fcn.101717b0
cmp dword [eax + 0x1c], 4
jl 0x10176944
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x68], esp
push 0x15
mov edi, 7
xor edx, edx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str..NVServiceAction.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x224], 0x27
push 0x486
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x98], esp
push 0x2d
xor eax, eax
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.CNVServiceAction::RemoveServiceFromPnpDevices
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x244], 0x28
mov eax, dword [esp + 0x120]
lea ecx, [esp + 0x52]
lea edx, [esp + 0xa8]
mov dword [esp + 0xac], ecx
mov dword [esp + 0x5c], edx
lea ecx, [esp + 0x58]
lea edx, [esp + 0x60]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x84], edx
lea eax, [esp + 0x80]
lea ecx, [esp + 0x90]
lea edx, [esp + 0xa0]
push 4
mov byte [esp + 0x56], bl
mov dword [esp + 0x5c], str.Removing
mov dword [esp + 0x84], str.devices_that_use
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], eax
mov dword [esp + 0xa4], str.__implies_missing_or_incorrectly_located_remove_device_action
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xbc], 0x102daf94
mov dword [esp + 0xc0], edx
call fcn.101717b0
push eax
mov byte [esp + 0x24c], 0x15
lea edi, [esp + 0xc0]
call fcn.10002b50
mov edi, dword [ebp + 8]
cmp edi, ebx
jne 0x10176975
push ebx
push 0x4d0
push 0x102da518
push 0x80070057
call fcn.100048f0
push ebx
push 0x514
push str.c:dvsp4_build_sw_toolswin32msvc90VC_atlmfcinclude_atlcoll.h
push 0x80004005
call fcn.100048f0
cmp dword [esp + 0xe4], ebx
je 0x10176d6d
push 1
push ecx
call fcn.10037cf0
add esp, 4
mov ecx, eax
call fcn.100db860
mov byte [esp + 0x208], 0x29
mov eax, dword [edi]
mov edx, dword [eax + 0x40]
lea ecx, [esp + 0x2c]
push ecx
push edi
mov dword [esp + 0x34], ebx
call edx
cmp eax, ebx
jge 0x101769c2
push ebx
push 0x4df
push 0x102da518
push eax
call fcn.100048f0
cmp dword [esp + 0x2c], ebx
jne 0x10176a64
call fcn.101717b0
cmp dword [eax + 0x1c], 4
jl 0x10176a64
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x68], esp
push str..NVServiceAction.cpp
call fcn.10035dd0
mov byte [esp + 0x224], 0x2a
push 0x4e2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x98], esp
push str.CNVServiceAction::SendDeviceCommand
call fcn.10035dd0
mov byte [esp + 0x244], 0x2b
lea eax, [esp + 0x52]
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x58]
push 4
mov byte [esp + 0x56], bl
mov dword [esp + 0xb0], eax
mov dword [esp + 0x5c], str.Parent_window_handle_is_reported_to_be_NULL
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____44___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov dword [esp + 0x68], edx
call fcn.101717b0
push eax
mov byte [esp + 0x24c], 0x29
lea edi, [esp + 0x68]
call fcn.10002b50
mov dword [esp + 0x194], ebx
mov dword [esp + 0x198], ebx
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x1a4], ebx
mov dword [esp + 0x1a8], 0xa
mov byte [esp + 0x208], 0x2c
mov edx, dword [esp + 0x2c]
push ebx
lea eax, [esp + 0x198]
push eax
lea ecx, [esp + 0xe4]
push ecx
push 0xd
push edx
call fcn.101ce1a0
add esp, 0x14
lea ebx, [ebx]
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x120], 0xa
mov byte [esp + 0x208], 0x2d
lea eax, [esp + 0x17]
push eax
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x114]
push edx
mov byte [esp + 0x23], bl
call fcn.101ce460
add esp, 0xc
mov dword [esp + 0x38], eax
cmp byte [esp + 0x17], bl
je 0x10176b31
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x44]
push eax
call edx
cmp eax, ebx
jl 0x10176c5f
mov esi, dword [esp + 0x10c]
cmp esi, ebx
je 0x10176c2f
xor eax, eax
cmp esi, ebx
setne al
cmp eax, ebx
je 0x10176960
mov edi, esi
mov esi, dword [esi]
add edi, 8
call fcn.101717b0
cmp dword [eax + 0x1c], 5
jl 0x10176c27
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x68], esp
push 0x15
xor eax, eax
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
push str..NVServiceAction.cpp
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x224], 0x2e
push 0x4f5
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x98], esp
push 0x23
xor edx, edx
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
push str.CNVServiceAction::SendDeviceCommand
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x244], 0x2f
lea eax, [esp + 0x52]
mov dword [esp + 0xac], eax
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x58]
lea eax, [esp + 0x60]
push 5
mov byte [esp + 0x56], bl
mov dword [esp + 0x5c], str.Completed_device
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], edx
mov dword [esp + 0x84], 0x102c42c8
mov dword [esp + 0x88], eax
call fcn.101717b0
push eax
mov byte [esp + 0x24c], 0x2d
lea edi, [esp + 0x88]
call fcn.10002b50
cmp esi, ebx
jne 0x10176b40
cmp dword [esp + 0x38], ebx
je 0x10176c70
cmp dword [esp + 0x114], ebx
jne 0x10176c46
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov byte [esp + 0x208], 0x2c
lea ecx, [esp + 0x10c]
call fcn.1005eb40
jmp 0x10176ac0
push ebx
push 0x4ef
push 0x102da518
push eax
call fcn.100048f0
call fcn.101717b0
cmp dword [eax + 0x1c], 5
jl 0x10176d29
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x68], esp
push 0x15
mov esi, 7
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str..NVServiceAction.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x224], 0x30
push 0x4fa
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x98], esp
push 0x23
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.CNVServiceAction::SendDeviceCommand
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x244], 0x31
lea ecx, [esp + 0x52]
lea edx, [esp + 0xa8]
lea eax, [esp + 0x58]
push 5
mov byte [esp + 0x56], bl
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x5c], str.Completed_all_devices
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____22___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov dword [esp + 0x68], eax
call fcn.101717b0
push eax
mov byte [esp + 0x24c], 0x2d
lea edi, [esp + 0x68]
call fcn.10002b50
mov byte [esp + 0x208], 0x2c
lea ecx, [esp + 0x10c]
call fcn.1005eb40
mov byte [esp + 0x208], 0x29
lea ecx, [esp + 0x194]
call fcn.10091d30
mov byte [esp + 0x208], 0x15
push ebx
push ecx
call fcn.10037cf0
add esp, 4
mov ecx, eax
call fcn.100db860
mov esi, dword [ebp + 0xc]
cmp dword [esp + 0xfc], ebx
jbe 0x10176fd6
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
lea edx, [esp + 0x34]
push edx
push eax
mov eax, dword [ecx + 0x34]
mov dword [esp + 0x3c], ebx
call eax
cmp eax, ebx
jge 0x10176da3
push ebx
push 0x48d
push 0x102da518
push eax
call fcn.100048f0
cmp word [esp + 0x34], bx
je 0x10176ecf
call fcn.101717b0
cmp dword [eax + 0x1c], 5
jl 0x10176fd6
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x68], esp
push 0x15
mov edi, 7
xor edx, edx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str..NVServiceAction.cpp
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x224], 0x32
push 0x491
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x98], esp
push 0x2d
xor eax, eax
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.CNVServiceAction::RemoveServiceFromPnpDevices
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x244], 0x33
lea ecx, [esp + 0x52]
lea edx, [esp + 0xa8]
mov dword [esp + 0xac], ecx
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x138]
lea eax, [esp + 0x58]
lea ecx, [esp + 0x60]
mov dword [esp + 0x64], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x90], edx
lea eax, [esp + 0x80]
lea ecx, [esp + 0x90]
lea edx, [esp + 0xa0]
push 5
mov byte [esp + 0x56], bl
mov dword [esp + 0x5c], str.Removed
mov dword [esp + 0x64], esi
mov dword [esp + 0x84], str.from
mov dword [esp + 0x98], eax
mov dword [esp + 0xa4], str.devices___changes_take_effect_after_reboot
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xbc], 0x102dafa8
mov dword [esp + 0xc0], edx
call fcn.101717b0
push eax
mov byte [esp + 0x24c], 0x15
lea edi, [esp + 0xc0]
call fcn.10002b50
jmp 0x10176fd6
call fcn.101717b0
cmp dword [eax + 0x1c], 4
jl 0x10176fc3
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x68], esp
push 0x15
xor eax, eax
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
push str..NVServiceAction.cpp
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x224], 0x34
push 0x495
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x98], esp
push str.CNVServiceAction::RemoveServiceFromPnpDevices
call fcn.10035dd0
mov byte [esp + 0x244], 0x35
mov eax, dword [esp + 0x138]
lea ecx, [esp + 0x52]
mov dword [esp + 0xac], ecx
lea edx, [esp + 0xa8]
lea ecx, [esp + 0x58]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
lea edx, [esp + 0x60]
lea eax, [esp + 0x80]
lea ecx, [esp + 0x90]
push 4
mov byte [esp + 0x56], bl
mov dword [esp + 0x5c], str.Restarting
mov dword [esp + 0x84], str.devices_that_used
mov dword [esp + 0x88], edx
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], eax
mov dword [esp + 0xa4], 0x102dafbc
mov dword [esp + 0xa8], ecx
call fcn.101717b0
push eax
mov byte [esp + 0x24c], 0x15
lea edi, [esp + 0xa8]
call fcn.10002b50
mov eax, dword [ebp + 8]
lea edx, [esp + 0xf4]
push edx
push 0x14
push eax
call fcn.101773b0
cmp dword [esp + 0xe4], ebx
jne 0x101770b6
cmp dword [esp + 0xfc], ebx
jne 0x101770b6
call fcn.101717b0
cmp dword [eax + 0x1c], 5
jl 0x101770b6
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x68], esp
push str..NVServiceAction.cpp
call fcn.10035dd0
mov byte [esp + 0x224], 0x36
push 0x49c
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x98], esp
push str.CNVServiceAction::RemoveServiceFromPnpDevices
call fcn.10035dd0
mov byte [esp + 0x244], 0x37
lea ecx, [esp + 0x52]
lea edx, [esp + 0xa8]
mov dword [esp + 0xac], ecx
mov dword [esp + 0x5c], edx
lea eax, [esp + 0x58]
lea ecx, [esp + 0x60]
lea edx, [esp + 0x80]
push 5
mov byte [esp + 0x56], bl
mov dword [esp + 0x5c], str.Kernel_service
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], eax
mov dword [esp + 0x84], str.not_used_by_any_devices
mov dword [esp + 0x88], ecx
mov dword [esp + 0x94], 0x102dafd0
mov dword [esp + 0x98], edx
call fcn.101717b0
push eax
mov byte [esp + 0x24c], 0x15
lea edi, [esp + 0x98]
call fcn.10002b50
mov byte [esp + 0x208], 0x14
lea ecx, [esp + 0x134]
call fcn.100c12c0
mov byte [esp + 0x208], 5
lea ecx, [esp + 0xd0]
call fcn.100c1de0
mov byte [esp + 0x208], 2
mov eax, dword [esp + 0x124]
cmp eax, ebx
je 0x101770fa
push eax
call fcn.1022f576
add esp, 4
mov byte [esp + 0x208], 1
lea ecx, [esp + 0xf4]
call fcn.1005eb40
mov byte [esp + 0x208], bl
lea ecx, [esp + 0xdc]
call fcn.1005eb40
mov dword [esp + 0x208], 0xffffffff
lea eax, [esp + 0x1cc]
push eax
call fcn.101771f0
mov ecx, dword [esp + 0x200]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8