Function at 0x4046d8
Capabilities:
Check if file exists
Get file attributes
Read .ini file

Disassembly:
push 0x6c
mov eax, 0x463710
call fcn.0043e9a8
mov edi, ecx
push edi
push str.Internet_Security
call fcn.0041ad8c
push str.....isolate.ini
lea eax, [ebp - 0x10]
push edi
push eax
call fcn.00403107
add esp, 0x14
mov eax, dword [eax]
and dword [ebp - 4], 0
lea ebx, [edi + 0x14]
mov esi, 0x104
push esi
mov ecx, ebx
mov dword [ebp - 0x1c], eax
call fcn.00402209
push dword [ebp - 0x1c]
push esi
push eax
push 0x46bf48
push str.silo
push str.isolation
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
add ecx, 0xfffffff0
mov dword [ebp - 0x14], eax
call fcn.004014ff
push 0xffffffffffffffff
mov ecx, ebx
call fcn.00401bd9
cmp dword [ebp - 0x14], 0
jne 0x40475f
xor al, al
call fcn.0043ea80
ret
push 0x4872a4
lea ecx, [ebp - 0x10]
call fcn.00401c03
push str.....isolate.ini
lea eax, [ebp - 0x20]
push edi
push eax
mov dword [ebp - 4], 1
call fcn.00403107
add esp, 0xc
mov eax, dword [eax]
push esi
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 2
mov dword [ebp - 0x1c], eax
call fcn.00402209
push dword [ebp - 0x1c]
push esi
push eax
push 0x46bf48
push str.reghive
push str.isolation
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 1
call fcn.004014ff
push 0xffffffffffffffff
lea ecx, [ebp - 0x10]
call fcn.00401bd9
cmp dword [ebp - 0x14], 0
jne 0x4047e3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.004014ff
jmp 0x404757
push dword [ebx]
call fcn.0041a66e
push dword [ebp - 0x10]
call fcn.0041aa85
push dword [ebx]
push 0x46bed8
call fcn.00408586
add esp, 0x10
push 0x46bed4
lea ecx, [ebp - 0x14]
call fcn.004042e3
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x1c]
push eax
mov byte [ebp - 4], 3
call fcn.004030b0
push ebx
push eax
lea eax, [ebp - 0x20]
push eax
mov byte [ebp - 4], 4
call fcn.004030b0
add esp, 0x18
lea ebx, [edi + 0x10]
push eax
mov ecx, ebx
mov byte [ebp - 4], 5
call fcn.00402be3
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.004014ff
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.004014ff
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.004014ff
and dword [ebp - 0x2c], 0
and dword [ebp - 0x28], 0
mov eax, dword [ebx]
push 0x20019
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 6
call fcn.004013c6
test eax, eax
je 0x4048a5
push dword [ebx]
push str.Unable_to_open_isolation_key:__s_
call fcn.004085ae
pop ecx
pop ecx
lea ecx, [ebp - 0x2c]
call fcn.00401351
jmp 0x4047d3
lea ecx, [edi + 4]
push esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], ecx
call fcn.00402209
lea ecx, [ebp - 0x14]
push ecx
push eax
push str.PRODUCTVERSION
lea ecx, [ebp - 0x2c]
call fcn.0040143f
test eax, eax
je 0x4048e1
push str.Unable_to_query_PRODUCTVERSION_
call fcn.004085ae
pop ecx
mov ecx, dword [ebp - 0x1c]
push 0xffffffffffffffff
call fcn.00401bd9
jmp 0x404898
mov ecx, dword [ebp - 0x1c]
push 0xffffffffffffffff
call fcn.00401bd9
and dword [ebp - 0x34], 0
and dword [ebp - 0x30], 0
push 0x46be0c
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 7
call fcn.004042e3
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push ebx
push eax
mov byte [ebp - 4], 8
call fcn.004030b0
mov eax, dword [eax]
add esp, 0xc
push 0x20019
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x34]
call fcn.004013c6
mov ecx, dword [ebp - 0x20]
test eax, eax
setne bl
add ecx, 0xfffffff0
call fcn.004014ff
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 7
call fcn.004014ff
test bl, bl
je 0x404969
push str.Unable_to_open_PathExpansionMap_key_
call fcn.004085ae
pop ecx
lea ecx, [ebp - 0x34]
call fcn.00401351
jmp 0x404898
lea ebx, [edi + 0xc]
push esi
mov ecx, ebx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], ebx
call fcn.00402209
lea ecx, [ebp - 0x14]
push ecx
push eax
push str.INSTALLCACHEDIR
lea ecx, [ebp - 0x34]
call fcn.0040143f
test eax, eax
je 0x4049a6
push str.Unable_to_query_INSTALLCACHEDIR_value_
call fcn.004085ae
pop ecx
push 0xffffffffffffffff
mov ecx, ebx
call fcn.00401bd9
jmp 0x40495c
push 0xffffffffffffffff
mov ecx, ebx
call fcn.00401bd9
lea ecx, [ebp - 0x78]
call fcn.00409e90
push 0x4872a4
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 9
call fcn.00401c03
push 0x46b5a0
lea eax, [ebp - 0x1c]
push ebx
push eax
mov byte [ebp - 4], 0xa
call fcn.00403107
push str.InstStub.exe
push eax
lea eax, [ebp - 0x20]
push eax
mov byte [ebp - 4], 0xb
call fcn.00403107
mov eax, dword [eax]
add esp, 0x18
push 0
push eax
lea ecx, [ebp - 0x78]
call fcn.0040a4bf
mov ecx, dword [ebp - 0x20]
mov bl, al
neg bl
sbb bl, bl
add ecx, 0xfffffff0
inc bl
call fcn.004014ff
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xa
call fcn.004014ff
test bl, bl
je 0x404a85
push 0x46b5a0
push dword [ebp - 0x24]
lea eax, [ebp - 0x20]
push eax
call fcn.00403107
push str.InstStub.exe
push eax
lea eax, [ebp - 0x24]
push eax
mov byte [ebp - 4], 0xc
call fcn.00403107
push dword [eax]
push str.Error_occurs_in_fdExtender.Initialize_L__s___true__
call fcn.004085ae
mov ecx, dword [ebp - 0x24]
add esp, 0x20
add ecx, 0xfffffff0
call fcn.004014ff
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.004014ff
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.004014ff
lea ecx, [ebp - 0x78]
call fcn.00409ecc
jmp 0x40495c
lea eax, [edi + 0x1c]
push eax
push 0xe
lea ecx, [ebp - 0x78]
call fcn.00409cff
test al, al
je 0x404a6d
lea eax, [edi + 0x18]
push eax
push 0
lea ecx, [ebp - 0x78]
call fcn.00409cff
test al, al
je 0x404a6d
lea eax, [edi + 0x20]
push eax
push 7
lea ecx, [ebp - 0x78]
call fcn.00409cff
test al, al
jne 0x404af2
xor bl, bl
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.004014ff
lea ecx, [ebp - 0x78]
call fcn.00409ecc
lea ecx, [ebp - 0x34]
call fcn.00401351
lea ecx, [ebp - 0x2c]
call fcn.00401351
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.004014ff
mov al, bl
jmp 0x404759
push esi
lea ebx, [edi + 0x24]
push esi
mov ecx, ebx
call fcn.00402209
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0xffffffffffffffff
mov ecx, ebx
call fcn.00401bd9
push 0x5c
mov ecx, ebx
call fcn.0040182a
push eax
push 0
lea eax, [ebp - 0x24]
push eax
mov ecx, ebx
call fcn.004029e6
lea ecx, [edi + 0x2c]
push eax
mov byte [ebp - 4], 0xd
call fcn.00402be3
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xa
call fcn.004014ff
push 0x5c
mov ecx, ebx
call fcn.0040182a
inc eax
push eax
lea eax, [ebp - 0x24]
push eax
mov ecx, ebx
call fcn.0040308d
lea ecx, [edi + 0x28]
push eax
mov byte [ebp - 4], 0xe
call fcn.00402be3
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xa
call fcn.004014ff
push 0x4872a4
lea ecx, [ebp - 0x18]
call fcn.00401c03
lea eax, [ebp - 0x18]
push eax
push str._APPDATA_
call fcn.0041959b
lea eax, [ebp - 0x18]
push str.diMastereula.dat
push eax
call fcn.00417145
add esp, 0x10
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ecx, dword [ebp - 0x18]
cmp eax, 0xffffffff
setne al
add ecx, 0xfffffff0
mov byte [edi + 8], al
call fcn.004014ff
mov bl, 1
jmp 0x404abd