Function at 0x100c74b0
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x10294e56
mov eax, dword fs:[0]
push eax
sub esp, 0x164
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1037c990]
xor eax, esp
push eax
lea eax, [esp + 0x178]
mov dword fs:[0], eax
mov eax, dword [ecx]
mov eax, dword [eax - 0xc]
xor esi, esi
cmp eax, esi
jne 0x100c74fd
push esi
push 0x232
push 0x102c56c4
push 0x80070057
call fcn.100048f0
mov ebp, dword [esp + 0x190]
mov edx, dword [ebp + 0x18]
cmp dword [edx - 0xc], esi
jne 0x100c7521
push esi
push 0x233
push 0x102c56c4
push 0x80070057
call fcn.100048f0
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], 0xa
mov dword [esp + 0x180], esi
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x38]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x18c]
mov eax, dword [eax + 4]
mov dword [esp + 0x88], edx
lea edx, [esp + 0x80]
push edx
mov dword [esp + 0x84], vtable.CAtlListBuilder_struct__INFCONTEXT__class_ATL::CElementTraits_struct__INFCONTEXT___class_ATL::CAtlList_struct__INFCONTEXT__class_ATL::CElementTraits_struct__INFCONTEXT___.0
mov dword [esp + 0x88], esi
mov eax, dword [eax]
push ecx
push eax
call fcn.101f14e0
add esp, 0xc
mov dword [esp + 0x20], esi
mov byte [esp + 0x180], 3
mov dword [esp + 0x24], esi
mov byte [esp + 0x180], 6
lea ebx, [esp + 0x24]
lea edi, [esp + 0x20]
call fcn.10090040
test eax, eax
jge 0x100c75c5
push 0
push 0x23e
push 0x102c56c4
push eax
call fcn.100048f0
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x100c7664
mov edi, dword [esp + 0x194]
lea eax, [esp + 0x2c]
push eax
call fcn.10136270
mov byte [esp + 0x180], 0x1a
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x30]
push edx
call fcn.100d5a80
mov byte [esp + 0x180], 6
lea ecx, [esp + 0x2c]
call fcn.1003ca30
mov byte [esp + 0x180], 3
lea ecx, [esp + 0x24]
call fcn.1003ca30
mov byte [esp + 0x180], 0
lea eax, [esp + 0x20]
push eax
call fcn.100409e0
mov dword [esp + 0x180], 0xffffffff
lea ecx, [esp + 0x38]
call fcn.1015ace0
mov ecx, dword [esp + 0x178]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x170
ret 0x10
mov eax, dword [esp + 0x28]
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x100c7b25
mov ecx, dword [eax]
mov dword [esp + 0x28], ecx
push str.DeleteFiles
lea ecx, [esp + 0x34]
lea edi, [eax + 8]
call fcn.100044a0
mov byte [esp + 0x180], 7
mov eax, dword [esp + 0x18c]
lea edx, [esp + 0x30]
push edx
push eax
call fcn.100cf7c0
test al, al
sete bl
mov byte [esp + 0x180], 6
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100c76d1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
jne 0x100c77e6
push edi
call fcn.101f14c0
add esp, 4
push 0x103b7524
lea ecx, [esp + 0x20]
mov esi, eax
call fcn.10003eb0
mov byte [esp + 0x180], 0xa
cmp esi, 1
jb 0x100c77d5
push 1
lea ecx, [esp + 0x38]
push edi
push ecx
call fcn.101f1340
add esp, 0xc
mov byte [esp + 0x180], 0xb
push eax
lea ecx, [esp + 0x20]
call fcn.100036b0
mov byte [esp + 0x180], 0xa
lea ecx, [esp + 0x34]
call fcn.10004720
mov edx, dword [esp + 0x1c]
cmp dword [edx - 0xc], 0
je 0x100c77d5
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x100]
call fcn.10056360
mov byte [esp + 0x180], 0xc
push eax
lea ecx, [esp + 0xa8]
push ecx
mov ecx, ebp
call fcn.10055900
mov byte [esp + 0x180], 0xe
lea ecx, [esp + 0xfc]
call fcn.10056b10
lea edx, [esp + 0xa4]
push edx
lea ecx, [esp + 0x11c]
call fcn.10055370
mov byte [esp + 0x180], 0xf
mov ecx, eax
call fcn.101dc6d0
test al, al
sete bl
mov byte [esp + 0x180], 0xe
lea ecx, [esp + 0x118]
call fcn.10056b10
test bl, bl
je 0x100c77f6
mov byte [esp + 0x180], 0xa
lea ecx, [esp + 0xa4]
call fcn.10056b10
mov byte [esp + 0x180], 6
lea ecx, [esp + 0x1c]
call fcn.10004720
cmp dword [esp + 0x28], 0
jne 0x100c7660
jmp 0x100c75d1
lea eax, [esp + 0xc0]
push eax
mov ecx, ebp
call fcn.101da900
mov byte [esp + 0x180], 0x10
lea esi, [esp + 0xc0]
call fcn.100dbcb0
lea ecx, [esp + 0xa4]
mov esi, eax
mov edi, edx
call fcn.101dc770
push edi
push esi
push edx
push eax
call fcn.10234f30
mov ebp, ecx
mov ecx, ebx
xor ebx, ebx
mov dword [esp + 0x98], edx
cmp ecx, ebx
ja 0x100c7847
cmp ebp, ebx
jbe 0x100c7848
inc eax
push edi
push esi
push ebx
push eax
call fcn.10233430
mov edi, eax
shrd edi, edx, 0xa
xor ecx, ecx
shr edx, 0xa
and eax, 0x3ff
cmp ecx, ebx
ja 0x100c7869
cmp eax, ebx
jbe 0x100c786a
inc edi
mov dword [esp + 0x14], ebx
mov byte [esp + 0x180], 0x12
mov ecx, dword [esp + 0x188]
mov esi, dword [ecx + 0x40]
lea edx, [esp + 0x14]
dec esi
push edx
neg esi
push 0x102c5294
sbb esi, esi
call fcn.100d7bc0
cmp eax, ebx
jl 0x100c7b3b
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
push 6
push eax
call edx
cmp eax, ebx
jl 0x100c7b4c
lea eax, [esp + 0xdc]
push eax
lea ecx, [esp + 0xa8]
call fcn.10055810
mov byte [esp + 0x180], 0x13
mov ebp, dword [esp + 0x14]
lea ecx, [esp + 0xdc]
push ecx
lea ecx, [esp + 0x138]
call fcn.10055870
mov byte [esp + 0x180], 0x14
cmp dword [eax + 0x18], ebx
je 0x100c791c
mov ecx, eax
call fcn.100039a0
movzx ecx, word [eax]
cmp cx, bx
je 0x100c791c
cmp cx, 1
je 0x100c791c
cmp cx, 8
sete cl
cmp cl, bl
je 0x100c7b5d
mov eax, dword [eax + 8]
jmp 0x100c791e
xor eax, eax
mov edx, dword [ebp]
push eax
mov eax, dword [edx + 0x24]
push ebp
call eax
cmp eax, ebx
jl 0x100c7b72
mov byte [esp + 0x180], 0x13
lea ecx, [esp + 0x134]
call fcn.10002d20
mov byte [esp + 0x180], 0x12
lea ecx, [esp + 0xdc]
call fcn.10002d20
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x2c]
push esi
push eax
call edx
cmp eax, ebx
jl 0x100c7b83
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push edi
push eax
call edx
cmp eax, ebx
jl 0x100c7b94
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x28]
push ecx
call fcn.100650c0
call fcn.100c1f10
cmp dword [eax + 0x1c], 6
jl 0x100c7ace
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xac], esp
push str..NVDevicePhase.cpp
call fcn.10035dd0
mov byte [esp + 0x19c], 0x15
push 0x26f
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xd0], esp
push str.CNVDevicePhase::ProcessINFSectionDeleteFileActionsSizeList
call fcn.10035dd0
mov byte [esp + 0x1bc], 0x16
lea edx, [esp + 0x190]
push edi
push edx
call fcn.10054df0
add esp, 8
mov byte [esp + 0x1bc], 0x17
lea ecx, [esp + 0x57]
mov dword [esp + 0xdc], ecx
lea edx, [esp + 0xd8]
lea ecx, [esp + 0xe0]
mov dword [esp + 0xa0], edx
mov dword [esp + 0xac], ecx
lea edx, [esp + 0x9c]
lea ecx, [esp + 0xac]
mov dword [esp + 0xb0], edx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
lea edx, [esp + 0x8c]
lea eax, [esp + 0x94]
lea ecx, [esp + 0xa4]
mov byte [esp + 0x57], bl
mov dword [esp + 0x9c], 0x102c5a08
mov dword [esp + 0x8c], str.with_size
mov dword [esp + 0x98], edx
mov dword [esp + 0xa4], str.kilobytes
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb4], 0x102c77f4
mov dword [esp + 0xb8], ecx
push 6
call fcn.100c1f10
push eax
mov byte [esp + 0x1c4], 0x18
lea edi, [esp + 0xbc]
call fcn.10002b50
mov byte [esp + 0x180], 0x12
lea ecx, [esp + 0x154]
call fcn.10002d20
mov byte [esp + 0x180], 0x10
lea edx, [esp + 0x14]
push edx
call fcn.100409e0
mov byte [esp + 0x180], 0xe
lea ecx, [esp + 0xc0]
call fcn.10056b10
mov byte [esp + 0x180], 0xa
lea ecx, [esp + 0xa4]
call fcn.10056b10
mov byte [esp + 0x180], 6
lea ecx, [esp + 0x1c]
call fcn.10004720
mov ebp, dword [esp + 0x190]
jmp 0x100c77e6
push 0
push 0x514
push str.c:dvsp4_build_sw_toolswin32msvc90VC_atlmfcinclude_atlcoll.h
push 0x80004005
call fcn.100048f0
push ebx
push 0x269
push 0x102c56c4
push eax
call fcn.100048f0
push ebx
push 0x26a
push 0x102c56c4
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 0x26b
push 0x102c56c4
push eax
call fcn.100048f0
push ebx
push 0x26c
push 0x102c56c4
push eax
call fcn.100048f0
push ebx
push 0x26d
push 0x102c56c4
push eax
call fcn.100048f0
int3