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

Disassembly:
push 0xffffffffffffffff
push 0x1027a81e
mov eax, dword fs:[0]
push eax
sub esp, 0xc4
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1037c990]
xor eax, esp
push eax
lea eax, [esp + 0xd8]
mov dword fs:[0], eax
mov ebx, ecx
mov esi, dword [esp + 0xe8]
mov dword [esi], 0
mov dword [esp + 0xe0], 1
lea edi, [esi + 4]
mov eax, edi
mov dword [esp + 0x18], eax
mov dword [eax], 0
mov byte [esp + 0xe0], 3
push esi
push 0x102e3edc
push 0x17
push 0
push 0x102aa65c
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jge 0x101cbcd6
push 0
push 0
push 0x102b274a
push eax
call fcn.100048f0
mov eax, dword [esp + 0xec]
mov ebp, dword [esi]
push eax
lea ecx, [esp + 0x9c]
call fcn.10056640
mov byte [esp + 0xe0], 4
cmp dword [eax + 0x18], 0
je 0x101cbd35
mov ecx, eax
call fcn.100039a0
movzx ecx, word [eax]
test cx, cx
je 0x101cbd35
cmp cx, 1
je 0x101cbd35
cmp cx, 8
sete cl
test cl, cl
jne 0x101cbd30
push 0
push 0xb7
push str.c:dvsp4_build_sw_relgpu_drvinstaller_coreincAutoString.h
push 0xe0e00000
call fcn.100048f0
mov eax, dword [eax + 8]
jmp 0x101cbd37
xor eax, eax
mov ecx, dword [ebp]
mov edx, dword [ecx + 0xbc]
push edi
push eax
push ebp
call edx
xor ebp, ebp
cmp eax, ebp
jge 0x101cbd58
push ebp
push ebp
push 0x102b274a
push eax
call fcn.100048f0
mov byte [esp + 0xe0], 3
lea ecx, [esp + 0x98]
call fcn.10002d20
mov eax, dword [esi]
mov edi, dword [edi]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x54]
push ebp
push edi
push eax
call edx
cmp eax, ebp
jge 0x101cbd8b
push ebp
push ebp
push 0x102b274a
push eax
call fcn.100048f0
lea ecx, [esp + 0x58]
call fcn.10002dd0
mov byte [esp + 0xe0], 5
lea ecx, [esp + 0x38]
call fcn.10002dd0
mov byte [esp + 0xe0], 6
lea ecx, [esp + 0x78]
call fcn.10002dd0
mov byte [esp + 0xe0], 7
lea ecx, [esp + 0x58]
mov dword [esp + 0x70], ebp
call fcn.100041b0
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [esp + 0x60]
push eax
call edi
cmp eax, ebp
jge 0x101cbde9
push ebp
push ebp
push 0x102b274a
push eax
call fcn.100048f0
mov edx, dword [ebx]
lea eax, [esp + 0x68]
mov ecx, 8
push eax
mov word [esp + 0x64], cx
mov ecx, dword [edx + 0x24]
push ebx
mov dword [esp + 0x78], 2
mov dword [esp + 0x70], ebp
call ecx
cmp eax, ebp
jge 0x101cbe1d
push ebp
push ebp
push 0x102b274a
push eax
call fcn.100048f0
lea ecx, [esp + 0x38]
mov dword [esp + 0x50], ebp
call fcn.100041b0
lea edx, [esp + 0x40]
push edx
call edi
cmp eax, ebp
jge 0x101cbe42
push ebp
push ebp
push 0x102b274a
push eax
call fcn.100048f0
mov ecx, dword [ebx]
lea edx, [esp + 0x48]
mov eax, 8
push edx
mov word [esp + 0x44], ax
mov eax, dword [ecx + 0x2c]
push ebx
mov dword [esp + 0x58], 2
mov dword [esp + 0x50], ebp
call eax
cmp eax, ebp
jge 0x101cbe76
push ebp
push ebp
push 0x102b274a
push eax
call fcn.100048f0
lea ecx, [esp + 0x78]
mov dword [esp + 0x90], ebp
call fcn.100041b0
lea ecx, [esp + 0x80]
push ecx
call edi
cmp eax, ebp
jge 0x101cbea1
push ebp
push ebp
push 0x102b274a
push eax
call fcn.100048f0
mov eax, dword [ebx]
lea ecx, [esp + 0x88]
mov edx, 8
push ecx
mov word [esp + 0x84], dx
mov edx, dword [eax + 0x48]
push ebx
mov dword [esp + 0x98], 2
mov dword [esp + 0x90], ebp
call edx
cmp eax, ebp
jge 0x101cbee1
push ebp
push ebp
push 0x102b274a
push eax
call fcn.100048f0
mov eax, dword [ebx]
mov edx, dword [eax + 0x34]
lea ecx, [esp + 0x30]
push ecx
push ebx
call edx
cmp eax, ebp
jge 0x101cbeff
push ebp
push ebp
push 0x102b274a
push eax
call fcn.100048f0
mov eax, dword [ebx]
mov edx, dword [eax + 0x3c]
lea ecx, [esp + 0x34]
push ecx
push ebx
call edx
cmp eax, ebp
jge 0x101cbf1d
push ebp
push ebp
push 0x102b274a
push eax
call fcn.100048f0
lea ecx, [esp + 0x58]
call fcn.100585c0
test eax, eax
je 0x101cbf67
push str.phase
lea ecx, [esp + 0x18]
call fcn.100044a0
mov byte [esp + 0xe0], 8
lea ecx, [esp + 0x58]
call fcn.10003840
lea ecx, [esp + 0x14]
push ecx
push esi
mov ecx, eax
call fcn.101cc5a0
mov byte [esp + 0xe0], 7
lea ecx, [esp + 0x14]
call fcn.10004720
lea ecx, [esp + 0x38]
call fcn.100585c0
test eax, eax
je 0x101cbfb1
push str.comment
lea ecx, [esp + 0x18]
call fcn.100044a0
mov byte [esp + 0xe0], 9
lea ecx, [esp + 0x38]
call fcn.10003840
lea edx, [esp + 0x14]
push edx
push esi
mov ecx, eax
call fcn.101cc5a0
mov byte [esp + 0xe0], 7
lea ecx, [esp + 0x14]
call fcn.10004720
lea ecx, [esp + 0x78]
call fcn.100585c0
test eax, eax
je 0x101cbffb
push str.condition
lea ecx, [esp + 0x18]
call fcn.100044a0
mov byte [esp + 0xe0], 0xa
lea ecx, [esp + 0x78]
call fcn.10003840
lea ecx, [esp + 0x14]
push ecx
push esi
mov ecx, eax
call fcn.101cc5a0
mov byte [esp + 0xe0], 7
lea ecx, [esp + 0x14]
call fcn.10004720
mov eax, dword [esp + 0x30]
sub eax, ebp
je 0x101cc0da
sub eax, 1
je 0x101cc07d
sub eax, 1
je 0x101cc023
push ebp
push 0x3f
push 0x102e3e18
push 0x80004001
call fcn.100048f0
push str.ignore
lea ecx, [esp + 0x24]
call fcn.100044a0
mov byte [esp + 0xe0], 0xd
push str.onError
lea ecx, [esp + 0x18]
call fcn.100044a0
mov byte [esp + 0xe0], 0xe
lea edx, [esp + 0x14]
push edx
push esi
lea ecx, [esp + 0x28]
call fcn.101cc5a0
mov byte [esp + 0xe0], 0xd
lea ecx, [esp + 0x14]
call fcn.10004720
mov byte [esp + 0xe0], 7
lea ecx, [esp + 0x20]
jmp 0x101cc0d5
push str.fail
lea ecx, [esp + 0x20]
call fcn.100044a0
mov byte [esp + 0xe0], 0xb
push str.onError
lea ecx, [esp + 0x28]
call fcn.100044a0
mov byte [esp + 0xe0], 0xc
lea eax, [esp + 0x24]
push eax
push esi
lea ecx, [esp + 0x24]
call fcn.101cc5a0
mov byte [esp + 0xe0], 0xb
lea ecx, [esp + 0x24]
call fcn.10004720
mov byte [esp + 0xe0], 7
lea ecx, [esp + 0x1c]
call fcn.10004720
mov eax, dword [esp + 0x34]
cmp eax, 3
ja case.default.0x101cc0e7
jmp dword [eax*4 + 0x101cc3f0]
push 0x102c2b80
lea ecx, [esp + 0x28]
call fcn.100044a0
mov byte [esp + 0xe0], 0xf
push str.platform
lea ecx, [esp + 0x20]
call fcn.100044a0
mov byte [esp + 0xe0], 0x10
lea ecx, [esp + 0x1c]
push ecx
push esi
lea ecx, [esp + 0x2c]
call fcn.101cc5a0
mov byte [esp + 0xe0], 0xf
lea ecx, [esp + 0x1c]
call fcn.10004720
mov byte [esp + 0xe0], 7
lea ecx, [esp + 0x24]
jmp 0x101cc1fd
push str.amd64
lea ecx, [esp + 0x18]
call fcn.100044a0
mov byte [esp + 0xe0], 0x11
push str.platform
lea ecx, [esp + 0x24]
call fcn.100044a0
mov byte [esp + 0xe0], 0x12
lea edx, [esp + 0x20]
push edx
push esi
lea ecx, [esp + 0x1c]
call fcn.101cc5a0
mov byte [esp + 0xe0], 0x11
lea ecx, [esp + 0x20]
call fcn.10004720
mov byte [esp + 0xe0], 7
lea ecx, [esp + 0x14]
jmp 0x101cc1fd
push str.x86only
lea ecx, [esp + 0x1c]
call fcn.100044a0
mov byte [esp + 0xe0], 0x13
push str.platform
lea ecx, [esp + 0x30]
call fcn.100044a0
mov byte [esp + 0xe0], 0x14
lea eax, [esp + 0x2c]
push eax
push esi
lea ecx, [esp + 0x20]
call fcn.101cc5a0
mov byte [esp + 0xe0], 0x13
lea ecx, [esp + 0x2c]
call fcn.10004720
mov byte [esp + 0xe0], 7
lea ecx, [esp + 0x18]
call fcn.10004720
push ebx
lea ecx, [esp + 0x2c]
push ecx
call fcn.100b36b0
mov byte [esp + 0xe0], 0x15
cmp dword [esp + 0x28], ebp
je 0x101cc36f
lea ecx, [esp + 0x98]
call fcn.10002dd0
mov byte [esp + 0xe0], 0x16
mov eax, dword [esp + 0x28]
mov edi, dword [eax]
lea ecx, [esp + 0x98]
mov ebp, eax
add edi, 0xc
call fcn.10002cd0
mov edx, dword [edi]
push eax
push ebp
call edx
test eax, eax
jge 0x101cc263
push 0
push 0x5a
push 0x102e3e18
push eax
call fcn.100048f0
lea ecx, [esp + 0x98]
call fcn.100585c0
test eax, eax
je 0x101cc2b3
push str.installText
lea ecx, [esp + 0x1c]
call fcn.100044a0
mov byte [esp + 0xe0], 0x17
lea ecx, [esp + 0x98]
call fcn.10003840
lea ecx, [esp + 0x18]
push ecx
push esi
mov ecx, eax
call fcn.101cc5a0
mov byte [esp + 0xe0], 0x16
lea ecx, [esp + 0x18]
call fcn.10004720
lea ecx, [esp + 0xb8]
call fcn.10002dd0
mov bl, 0x18
mov byte [esp + 0xe0], bl
mov eax, dword [esp + 0x28]
mov edi, dword [eax]
lea ecx, [esp + 0xb8]
mov ebp, eax
add edi, 0x14
call fcn.10002cd0
mov edx, dword [edi]
push eax
push ebp
call edx
test eax, eax
jge 0x101cc2f8
push 0
push 0x60
push 0x102e3e18
push eax
call fcn.100048f0
lea ecx, [esp + 0xb8]
call fcn.100585c0
test eax, eax
je 0x101cc347
push str.uninstallText
lea ecx, [esp + 0x1c]
call fcn.100044a0
mov byte [esp + 0xe0], 0x19
lea ecx, [esp + 0xb8]
call fcn.10003840
lea ecx, [esp + 0x18]
push ecx
push esi
mov ecx, eax
call fcn.101cc5a0
mov byte [esp + 0xe0], bl
lea ecx, [esp + 0x18]
call fcn.10004720
mov byte [esp + 0xe0], 0x16
lea ecx, [esp + 0xb8]
call fcn.10002d20
mov byte [esp + 0xe0], 0x15
lea ecx, [esp + 0x98]
call fcn.10002d20
mov byte [esp + 0xe0], 7
lea edx, [esp + 0x28]
push edx
call fcn.1005b8c0
mov byte [esp + 0xe0], 6
lea ecx, [esp + 0x78]
call fcn.10002d20
mov byte [esp + 0xe0], 5
lea ecx, [esp + 0x38]
call fcn.10002d20
mov byte [esp + 0xe0], 3
lea ecx, [esp + 0x58]
call fcn.10002d20
mov dword [esp + 0xe0], 0xffffffff
mov eax, esi
mov ecx, dword [esp + 0xd8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret 8
push ebp
push 0x53
push 0x102e3e18
push 0x80004001
call fcn.100048f0
nop
add al, dl
sbb al, 16
out dx, al
rcr byte [eax + edx], 75
rcr dword [eax + edx], 0xa5
rcr dword [eax + edx], 0x6a
push 0xffffffffffffffff
invalid
invalid