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

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0x68
push 0xffffffffffffffff
push 0x1029c884
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
push ebx
push esi
push edi
mov eax, dword [0x1037c990]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov esi, edx
test esi, esi
jne 0x10147f4d
push edx
push 0xbe
push 0x102d589c
push 0x80070057
call fcn.100048f0
test edi, edi
jne 0x10147f66
push edi
push 0xbf
push 0x102d589c
push 0x80070057
call fcn.100048f0
mov ebx, dword [ebp + 0x70]
lea eax, [ebx + 4]
mov dword [ebp], eax
mov byte [ebp + 4], 0
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp + 4], 1
mov dword [ebp - 4], 0
cmp dword [ebx + 0x74], esi
je 0x10147fa4
mov eax, dword [esi]
push esi
mov ecx, dword [eax + 4]
call ecx
mov eax, dword [ebx + 0x74]
test eax, eax
je 0x10147fa1
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [ebx + 0x74], esi
cmp dword [ebx + 0x70], edi
je 0x10147fc3
mov ecx, dword [edi]
push edi
mov edx, dword [ecx + 4]
call edx
mov eax, dword [ebx + 0x70]
test eax, eax
je 0x10147fc0
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
mov dword [ebx + 0x70], edi
mov edi, dword [ebp + 0x74]
mov eax, dword [edi + 0x184]
mov ecx, dword [eax - 0xc]
push ecx
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
test eax, eax
jne 0x10147fe0
call fcn.10004630
mov dword [ebx + 0x98], eax
lea esi, [ebx + 0x6c]
push esi
push 0x102b3b4c
call fcn.1004d560
test eax, eax
jge 0x1014800a
push 0
push 0xcb
push 0x102d589c
push eax
call fcn.100048f0
push edi
mov ecx, ebx
call fcn.101477e0
lea ecx, [ebp + 0x48]
call fcn.10002d80
mov byte [ebp - 4], 1
add edi, 0x130
push edi
lea ecx, [ebp + 0x48]
call fcn.100036b0
mov eax, dword [ebp + 0x48]
cmp dword [eax - 0xc], 0
je 0x1014807a
lea ecx, [ebp - 0x30]
call fcn.10002dd0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x30]
call fcn.10002cd0
mov edi, dword [ebp + 0x70]
add edi, 0xa0
mov ebx, eax
call fcn.100a25d0
lea ecx, [ebp - 0x30]
call fcn.10003840
push eax
lea ecx, [ebp + 0x48]
call fcn.100036b0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x30]
call fcn.10002d20
mov ebx, dword [ebp + 0x70]
lea ecx, [ebp + 0x48]
push ecx
lea ecx, [ebp - 0x30]
call fcn.100023b0
mov byte [ebp - 4], 3
xor edi, edi
cmp dword [eax + 0x18], edi
je 0x101480ce
mov ecx, eax
call fcn.100039a0
movzx ecx, word [eax]
cmp cx, di
je 0x101480ce
cmp cx, 1
je 0x101480ce
cmp cx, 8
sete cl
test cl, cl
jne 0x101480c6
push edi
push 0xb7
push str.c:dvsp4_build_sw_relgpu_drvinstaller_coreincAutoString.h
push 0xe0e00000
call fcn.100048f0
mov edx, dword [eax + 8]
mov dword [ebp + 0x5c], edx
jmp 0x101480d1
mov dword [ebp + 0x5c], edi
mov eax, dword [esi]
lea edi, [ebx + 0xb8]
push str.Description
push eax
mov ecx, edi
call fcn.100a3970
mov eax, dword [ebp + 0x5c]
push eax
call fcn.10138e80
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x30]
call fcn.10002d20
mov eax, dword [esi]
push str.InstallLocation
push eax
lea ecx, [ebx + 0xc4]
call fcn.100a3970
mov eax, dword [esi]
push str.FixedInstallLocation
push eax
lea ecx, [ebx + 0xdc]
call fcn.100a3970
mov eax, dword [ebx + 0xe0]
mov ecx, dword [eax]
push 0xffffffffffffffff
push eax
mov edx, dword [ecx + 0x28]
call edx
test eax, eax
jge 0x10148144
push 0
push 0x7b
push str.c:dvsp4_build_sw_relgpu_drvinstaller_coreincNVProp.h
push eax
call fcn.100048f0
mov dword [ebp + 0x60], 0
mov byte [ebp - 4], 5
mov edi, dword [ebp + 0x74]
mov eax, dword [edi + 0x128]
mov dword [ebp + 0x60], eax
test eax, eax
je 0x10148167
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 4]
call edx
mov dword [ebp + 0x64], 0
mov byte [ebp - 4], 7
mov eax, dword [edi + 0x12c]
mov dword [ebp + 0x64], eax
test eax, eax
je 0x10148187
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 4]
call edx
mov dword [ebp + 0x30], 0
mov byte [ebp - 4], 9
mov eax, dword [ebp + 0x60]
mov ecx, dword [eax]
lea edx, [ebp + 0x30]
push edx
push eax
mov eax, dword [ecx + 0x1c]
call eax
push 0
test eax, eax
jge 0x101481b7
push 0xf6
push 0x102d589c
push eax
call fcn.100048f0
mov edi, dword [esi]
mov ecx, dword [ebp + 0x30]
call fcn.1015f7f0
add esp, 4
cmp dword [ebp + 0x78], 1
je 0x10148220
cmp dword [ebp + 0x64], 0
je 0x10148220
lea ecx, [ebp + 0x78]
push ecx
call fcn.100d5e10
mov byte [ebp - 4], 0xa
mov eax, dword [ebp + 0x64]
mov edx, dword [eax]
lea ecx, [ebp + 0x78]
push ecx
push eax
mov edx, dword [edx + 0x1c]
call edx
test eax, eax
jge 0x10148202
push 0
push 0xfb
push 0x102d589c
push eax
call fcn.100048f0
mov esi, dword [esi]
push 1
mov edi, esi
mov ecx, dword [ebp + 0x78]
call fcn.1015f7f0
add esp, 4
mov byte [ebp - 4], 9
lea eax, [ebp + 0x78]
push eax
call fcn.100409e0
mov dword [ebp + 0x38], 0
mov byte [ebp - 4], 0xd
mov eax, dword [ebp + 0x60]
mov ecx, dword [eax]
lea edx, [ebp + 0x38]
push edx
push eax
mov eax, dword [ecx + 0x38]
call eax
test eax, eax
jge 0x10148250
push 0
push 0x103
push 0x102d589c
push eax
call fcn.100048f0
mov ebx, dword [ebx + 0x84]
lea ecx, [ebp + 0x20]
push ecx
mov edi, ebx
call fcn.10136270
mov byte [ebp - 4], 0xe
mov edx, dword [ebp + 0x38]
push edx
lea eax, [ebp + 0x20]
push eax
call fcn.100d5a80
cmp dword [ebp + 0x64], 0
je 0x1014838b
mov dword [ebp + 0x5c], 0
mov byte [ebp - 4], 0x10
mov eax, dword [ebp + 0x64]
mov ecx, dword [eax]
lea edx, [ebp + 0x5c]
push edx
push eax
mov eax, dword [ecx + 0x30]
call eax
test eax, eax
jge 0x101482ac
push 0
push 0x10e
push 0x102d589c
push eax
call fcn.100048f0
lea ecx, [ebp + 8]
push ecx
mov ecx, dword [ebp + 0x5c]
call fcn.100bef40
mov byte [ebp - 4], 0x11
mov bl, 0x12
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [ebp + 0x10]
push edx
call edi
mov dword [ebp + 0x50], 0
mov eax, dword [ebp + 8]
test eax, eax
je 0x101482ee
mov ecx, dword [eax]
lea edx, [ebp + 0x50]
push edx
lea edx, [ebp + 0x10]
push edx
push 1
push eax
mov eax, dword [ecx + 0xc]
call eax
test eax, eax
jl 0x10148363
cmp dword [ebp + 0x50], 0
seta al
test al, al
je 0x10148372
lea ecx, [ebp + 0x78]
push ecx
lea esi, [ebp + 8]
call fcn.100909a0
mov byte [ebp - 4], bl
mov esi, dword [ebp + 0x70]
mov eax, dword [esi + 0x74]
mov ecx, dword [ebp + 0x78]
mov edx, dword [ecx]
push eax
push ecx
mov eax, dword [edx + 0x20]
call eax
mov eax, dword [ebp + 0x78]
mov ecx, dword [eax]
push esi
push eax
mov edx, dword [ecx + 0x28]
call edx
add esi, 0x3c
mov eax, dword [esi]
push eax
lea ecx, [ebp + 0x78]
push ecx
mov ecx, esi
call fcn.101378f0
mov ecx, dword [esi]
test ecx, ecx
je 0x10148342
mov dword [ecx + 4], eax
jmp 0x10148345
mov dword [esi + 4], eax
mov dword [esi], eax
mov byte [ebp - 4], 0x11
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x101482c4
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x101482c4
push 0
push 0
push 0x102b274a
push eax
call fcn.100048f0
mov byte [ebp - 4], 0x10
lea ecx, [ebp + 8]
push ecx
call fcn.10085de0
mov byte [ebp - 4], 0xe
lea ecx, [ebp + 0x5c]
call fcn.1003ca30
mov dword [ebp + 0x2c], 0
mov byte [ebp - 4], 0x15
mov eax, dword [ebp + 0x60]
mov edx, dword [eax]
lea ecx, [ebp + 0x2c]
push ecx
push eax
mov edx, dword [edx + 0x30]
call edx
test eax, eax
jge 0x101483bb
push 0
push 0x11b
push 0x102d589c
push eax
call fcn.100048f0
lea eax, [ebp - 0x48]
push eax
mov ecx, dword [ebp + 0x2c]
call fcn.100bf190
mov byte [ebp - 4], 0x17
xor ebx, ebx
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [ebp - 0x40]
push ecx
call edi
mov dword [ebp + 0x50], ebx
mov eax, dword [ebp - 0x48]
cmp eax, ebx
je 0x101483f9
mov edx, dword [eax]
lea ecx, [ebp + 0x50]
push ecx
lea ecx, [ebp - 0x40]
push ecx
push 1
push eax
mov edx, dword [edx + 0xc]
call edx
cmp eax, ebx
jl 0x1014846e
cmp dword [ebp + 0x50], ebx
seta al
test al, al
je 0x1014847b
lea eax, [ebp + 0x78]
push eax
lea esi, [ebp - 0x48]
call fcn.100909a0
mov byte [ebp - 4], 0x18
mov esi, dword [ebp + 0x70]
mov eax, dword [esi + 0x74]
mov ecx, dword [ebp + 0x78]
mov edx, dword [ecx]
push eax
push ecx
mov eax, dword [edx + 0x20]
call eax
mov eax, dword [ebp + 0x78]
mov ecx, dword [eax]
push esi
push eax
mov edx, dword [ecx + 0x28]
call edx
add esi, 0x3c
mov eax, dword [esi]
push eax
lea ecx, [ebp + 0x78]
push ecx
mov ecx, esi
call fcn.101378f0
mov ecx, dword [esi]
cmp ecx, ebx
je 0x1014844d
mov dword [ecx + 4], eax
jmp 0x10148450
mov dword [esi + 4], eax
mov dword [esi], eax
mov byte [ebp - 4], 0x17
mov eax, dword [ebp + 0x78]
cmp eax, ebx
je 0x101483d3
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x101483d3
push ebx
push ebx
push 0x102b274a
push eax
call fcn.100048f0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x48]
push ecx
call fcn.10040980
mov dword [ebp + 0x54], ebx
mov byte [ebp - 4], 0x1d
lea edx, [ebp + 0x54]
push edx
push 0x102b3b4c
call fcn.1004d560
cmp eax, ebx
jge 0x101484b2
push ebx
push 0x12b
push 0x102d589c
push eax
call fcn.100048f0
mov dword [ebp + 0x44], ebx
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp + 0x60]
mov ecx, dword [eax]
lea edx, [ebp + 0x44]
push edx
push eax
mov eax, dword [ecx + 0x20]
call eax
cmp eax, ebx
jge 0x101484dd
push ebx
push 0x12d
push 0x102d589c
push eax
call fcn.100048f0
mov edi, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x44]
call fcn.1015f9b0
cmp dword [ebp + 0x64], ebx
je 0x10148530
mov dword [ebp + 0x78], ebx
mov byte [ebp - 4], 0x21
mov eax, dword [ebp + 0x64]
mov ecx, dword [eax]
lea edx, [ebp + 0x78]
push edx
push eax
mov eax, dword [ecx + 0x20]
call eax
cmp eax, ebx
jge 0x10148518
push ebx
push 0x132
push 0x102d589c
push eax
call fcn.100048f0
mov edi, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x78]
call fcn.1015f9b0
mov byte [ebp - 4], 0x1f
lea ecx, [ebp + 0x78]
push ecx
call fcn.100409e0
lea edx, [ebp - 0x28]
push edx
mov ecx, dword [ebp + 0x54]
call fcn.100bf190
mov byte [ebp - 4], 0x23
xor ebx, ebx
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x20]
push eax
call edi
mov dword [ebp + 0x50], ebx
mov eax, dword [ebp - 0x28]
cmp eax, ebx
je 0x10148572
mov ecx, dword [eax]
lea edx, [ebp + 0x50]
push edx
lea edx, [ebp - 0x20]
push edx
push 1
push eax
mov eax, dword [ecx + 0xc]
call eax
cmp eax, ebx
jl 0x1014846e
cmp dword [ebp + 0x50], ebx
seta al
test al, al
je 0x10148676
lea ecx, [ebp + 0x5c]
push ecx
lea esi, [ebp - 0x28]
call fcn.100bef90
mov byte [ebp - 4], 0x24
lea edx, [ebp + 0x10]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov byte [ebp - 4], 0x25
mov eax, dword [ebp + 0x5c]
mov ecx, dword [eax]
lea edx, [ebp + 0x10]
push edx
push eax
mov eax, dword [ecx + 0x1c]
call eax
cmp eax, ebx
jl 0x10148654
cmp word [ebp + 0x10], bx
je 0x1014862e
push 0xd
push ebx
lea ecx, [ebp + 0x10]
push ecx
mov edx, ecx
push edx
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
cmp eax, ebx
jl 0x10148665
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0x78], ebx
mov byte [ebp - 4], 0x27
cmp eax, ebx
je 0x101485f1
mov ecx, dword [eax]
lea edx, [ebp + 0x78]
push edx
push 0x102b80f4
push eax
mov eax, dword [ecx]
call eax
mov byte [ebp - 4], 0x28
mov esi, dword [ebp + 0x70]
add esi, 0x54
push ebx
mov ecx, dword [esi + 4]
push ecx
lea edx, [ebp + 0x78]
push edx
mov ecx, esi
call fcn.10137980
mov ecx, dword [esi + 4]
cmp ecx, ebx
je 0x10148616
mov dword [ecx], eax
jmp 0x10148618
mov dword [esi], eax
mov dword [esi + 4], eax
mov byte [ebp - 4], 0x25
mov eax, dword [ebp + 0x78]
cmp eax, ebx
je 0x1014862e
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
mov byte [ebp - 4], 0x24
lea eax, [ebp + 0x10]
push eax
call edi
mov byte [ebp - 4], 0x23
mov eax, dword [ebp + 0x5c]
cmp eax, ebx
je 0x10148548
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
jmp 0x10148548
push ebx
push 0x143
push 0x102d589c
push eax
call fcn.100048f0
push ebx
push 0x146
push 0x102d589c
push eax
call fcn.100048f0
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x28]
push eax
call fcn.10040980
mov esi, dword [ebp + 0x70]
mov edi, dword [esi + 0x78]
lea ecx, [ebp + 0x28]
push ecx
call fcn.10136270
mov byte [ebp - 4], 0x2e
mov dword [ebp + 0x3c], ebx
mov byte [ebp - 4], 0x31
mov eax, dword [ebp + 0x60]
mov edx, dword [eax]
lea ecx, [ebp + 0x3c]
push ecx
push eax
mov edx, dword [edx + 0x2c]
call edx
cmp eax, ebx
jge 0x101486c1
push ebx
push 0x151
push 0x102d589c
push eax
call fcn.100048f0
mov eax, dword [ebp + 0x3c]
push eax
lea ecx, [ebp + 0x28]
push ecx
call fcn.100d5a80
cmp dword [ebp + 0x64], ebx
je 0x10148718
mov dword [ebp + 0x78], ebx
mov byte [ebp - 4], 0x34
mov eax, dword [ebp + 0x64]
mov edx, dword [eax]
lea ecx, [ebp + 0x78]
push ecx
push eax
mov edx, dword [edx + 0x2c]
call edx
cmp eax, ebx
jge 0x101486fe
push ebx
push 0x159
push 0x102d589c
push eax
call fcn.100048f0
mov eax, dword [ebp + 0x78]
push eax
lea ecx, [ebp + 0x28]
push ecx
call fcn.100d5a80
mov byte [ebp - 4], 0x31
lea edx, [ebp + 0x78]
push edx
call fcn.100a12e0
push esi
mov esi, dword [ebp + 0x74]
call fcn.10149eb0
mov esi, dword [ebp + 0x70]
push esi
mov ecx, dword [ebp + 0x74]
call fcn.101495e0
push esi
call fcn.10148920
mov eax, dword [ebp + 0x60]
push eax
lea ecx, [ebp + 0x40]
push ecx
call fcn.1014daa0
mov ebx, 0x35
mov byte [ebp - 4], bl
mov byte [ebp - 4], 0x36
push 0x16a
push 0x102d589c
push 0xe0e00000
cmp dword [ebp + 0x40], 0
setne dl
movzx eax, dl
push eax
call fcn.10004930
add esp, 0x10
mov dword [ebp - 4], ebx
mov edi, dword [esi + 0x170]
lea ecx, [ebp + 0x24]
push ecx
call fcn.10136270
mov byte [ebp - 4], 0x3a
mov dword [ebp + 0x34], 0
mov byte [ebp - 4], 0x3d
mov eax, dword [ebp + 0x40]
mov edx, dword [eax]
lea ecx, [ebp + 0x34]
push ecx
push eax
mov edx, dword [edx + 0x50]
call edx
test eax, eax
jge 0x101487b4
push 0
push 0x16d
push 0x102d589c
push eax
call fcn.100048f0
mov eax, dword [ebp + 0x34]
push eax
lea ecx, [ebp + 0x24]
push ecx
call fcn.100d5a80
mov byte [ebp - 4], 0x3a
lea ecx, [ebp + 0x34]
call fcn.1003ca30
mov byte [ebp - 4], bl
lea ecx, [ebp + 0x24]
call fcn.1003ca30
mov byte [ebp - 4], 0x31
lea edx, [ebp + 0x40]
push edx
call fcn.100409e0
mov byte [ebp - 4], 0x2e
lea ecx, [ebp + 0x3c]
call fcn.1003ca30
mov byte [ebp - 4], 0x1f
lea ecx, [ebp + 0x28]
call fcn.1003ca30
mov byte [ebp - 4], 0x1d
lea eax, [ebp + 0x44]
push eax
call fcn.100409e0
mov byte [ebp - 4], 0x15
lea ecx, [ebp + 0x54]
push ecx
call fcn.100409e0
mov byte [ebp - 4], 0xe
lea ecx, [ebp + 0x2c]
call fcn.1003ca30
mov byte [ebp - 4], 0xd
lea ecx, [ebp + 0x20]
call fcn.1003ca30
mov byte [ebp - 4], 9
lea ecx, [ebp + 0x38]
call fcn.1003ca30
mov byte [ebp - 4], 7
lea edx, [ebp + 0x30]
push edx
call fcn.100409e0
mov byte [ebp - 4], 5
lea eax, [ebp + 0x64]
push eax
call fcn.100409e0
mov byte [ebp - 4], 1
lea ecx, [ebp + 0x60]
push ecx
call fcn.100409e0
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x48]
call fcn.10004720
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp]
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [ebp + 4], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add ebp, 0x68
mov esp, ebp
pop ebp
ret 0xc