Function at 0x104acfd
Capabilities:
Link many functions at runtime

Disassembly:
push 0x18
mov eax, 0x1060bb5
call fcn.0104f320
mov esi, ecx
mov dword [ebp - 0x20], esi
xor edi, edi
mov dword [ebp - 0x1c], edi
cmp dword [esi + 4], edi
je 0x104ad38
push 0x1015748
mov eax, 0x8000ffff
push 0x101572c
push eax
mov dword [ebp - 0x14], eax
call fcn.0104a504
add esp, 0xc
jmp 0x104afd8
mov dword [ebp - 4], edi
mov dword [ebp - 0x18], edi
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
push edi
push edi
push 3
push edi
push 1
push 0x80000000
push eax
mov byte [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, edi
je 0x104af39
cmp eax, 0xffffffff
je 0x104af39
push eax
push ebx
mov dword [ebp - 0x18], eax
call fcn.010443ca
cmp eax, edi
push dword [ebx]
mov dword [ebp - 0x14], eax
jge 0x104ad9e
push 0x10156d0
push 0x10156b4
push eax
call fcn.0104a504
add esp, 0x10
lea ecx, [ebp - 0x18]
call fcn.010303b2
jmp 0x104afd8
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, eax
mov dword [ebp - 0x1c], ebx
cmp ebx, edi
je 0x104aeef
cmp ebx, 0xffffffff
je 0x104aeef
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SPCHookEntry
push ebx
call edi
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x104adf7
push 0x1015660
push 0x1015640
mov eax, 0x80070057
mov dword [ebp - 0x14], eax
push eax
call fcn.0104a504
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.010303b2
jmp 0x104afa5
push str.SPCHookExit
push ebx
call edi
mov dword [esi + 0x10], eax
test eax, eax
jne 0x104ae12
push 0x10155f0
push 0x10155d0
jmp 0x104add9
push str.SPCHookPackageInstalled
push ebx
call edi
push str.SPCHookPackageStaged
push ebx
mov dword [esi + 0x14], eax
call edi
push str.SPCHookWaitIfReboot
push ebx
mov dword [esi + 0x18], eax
call edi
push str.SPCHookApplicablePackages
push ebx
mov dword [esi + 0x1c], eax
call edi
push str.SPCHookDiskSpaceCheck
push ebx
mov dword [esi + 0x20], eax
call edi
push str.SPCHookACCheck
push ebx
mov dword [esi + 0x24], eax
call edi
push str.SPCHookError
push ebx
mov dword [esi + 0x28], eax
call edi
push str.SPCHookPackageInstalling
push ebx
mov dword [esi + 0x2c], eax
call edi
push str.SPCHookPackageStaging
push ebx
mov dword [esi + 0x30], eax
call edi
push str.SPCHookInstallFinished
push ebx
mov dword [esi + 0x34], eax
call edi
push str.SPCHookPostSSUPreSleep
push ebx
mov dword [esi + 0x38], eax
call edi
push str.SPCHookDriverBlockFound
push ebx
mov dword [esi + 0x3c], eax
call edi
push str.SPCHookDriverWarnFound
push ebx
mov dword [esi + 0x40], eax
call edi
push str.SPCHookHotfixBlockFound
push ebx
mov dword [esi + 0x44], eax
call edi
push str.SPCHookUpdatedSPCFound
push ebx
mov dword [esi + 0x48], eax
call edi
push esi
mov dword [esi + 0x4c], eax
call dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
test eax, eax
jge 0x104aed1
push 0x1015578
push 0x1015558
jmp 0x104ade1
push dword [ebp + 8]
and dword [ebp - 0x1c], 0
lea ecx, [esi + 8]
mov dword [esi + 0xc], ebx
call fcn.010315c3
mov dword [esi + 4], 1
jmp 0x104ad91
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
jle 0x104af03
and eax, 0xffff
or eax, 0x80070000
cmp eax, edi
mov dword [ebp - 0x14], eax
jl 0x104af11
mov dword [ebp - 0x14], 0x80004005
mov eax, dword [ebp + 8]
push dword [eax]
push 0x10018cc
push 0x101553c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.0104a5f6
add esp, 0x10
lea ecx, [ebp - 0x18]
call fcn.010303b2
jmp 0x104afa7
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
cmp eax, edi
jle 0x104af4f
and eax, 0xffff
or eax, 0x80070000
cmp eax, edi
mov dword [ebp - 0x14], eax
jl 0x104af5d
mov dword [ebp - 0x14], 0x80004005
push dword [ebx]
push 0x10154a8
push 0x1015488
call esi
push eax
call fcn.0104a5f6
add esp, 0x10
jmp 0x104afd8
xor edi, edi
cmp ebx, edi
je 0x104afd8
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [esi + 0xc], edi
mov dword [esi], edi
mov dword [esi + 0x28], edi
mov dword [esi + 0x20], edi
mov dword [esi + 0x24], edi
mov dword [esi + 0x2c], edi
mov dword [esi + 0x10], edi
mov dword [esi + 0x38], edi
mov dword [esi + 0x14], edi
mov dword [esi + 0x30], edi
mov dword [esi + 0x18], edi
mov dword [esi + 0x34], edi
mov dword [esi + 0x1c], edi
mov eax, dword [ebp - 0x14]
call fcn.0104f3d4
ret 4