Function at 0x46c3d0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf5c
mov eax, dword [0x4e412c]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0xd30], 0
mov dword [ebp - 0xf54], 0
mov dword [ebp - 0xe3c], 0xffffffff
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
push str.UninstDelUpperFolderFile__s__s__Start__n
push 0
call fcn.0046fd10
add esp, 0x10
mov byte [ebp - 0xd10], 0
push 0x7ff
push 0
lea edx, [ebp - 0xd0f]
push edx
call fcn.004886d0
add esp, 0xc
mov byte [ebp - 0x408], 0
push 0x3ff
push 0
lea eax, [ebp - 0x407]
push eax
call fcn.004886d0
add esp, 0xc
mov ecx, dword [0x4cadbc]
mov dword [ebp - 0xd20], ecx
mov edx, dword [0x4cadc0]
mov dword [ebp - 0xd1c], edx
mov ax, word [0x4cadc4]
mov word [ebp - 0xd18], ax
mov cl, byte [0x4cadc6]
mov byte [ebp - 0xd16], cl
mov edx, dword [0x4cadc8]
mov dword [ebp - 0xd2c], edx
mov eax, dword [0x4cadcc]
mov dword [ebp - 0xd28], eax
mov cx, word [0x4cadd0]
mov word [ebp - 0xd24], cx
mov dl, byte [0x4cadd2]
mov byte [ebp - 0xd22], dl
mov byte [ebp - 0x508], 0
push 0xff
push 0
lea eax, [ebp - 0x507]
push eax
call fcn.004886d0
add esp, 0xc
mov dword [ebp - 0xf5c], 0
mov dword [ebp - 0xe44], 0
mov ecx, dword [ebp + 0xc]
push ecx
push 0x800
lea edx, [ebp - 0xd10]
push edx
push 0
push 0
lea eax, [ebp - 0xd20]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [ebp - 0xf5c]
movsx edx, byte [ebp + ecx - 0xd10]
test edx, edx
je 0x46c5ef
lea eax, [ebp - 0xd2c]
push eax
call fcn.00489c70
add esp, 4
push eax
lea ecx, [ebp - 0xd2c]
push ecx
mov edx, dword [ebp - 0xf5c]
lea eax, [ebp + edx - 0xd10]
push eax
call fcn.00489fce
add esp, 0xc
test eax, eax
jne 0x46c5c4
mov ecx, dword [ebp + 0xc]
push ecx
push 0x400
lea edx, [ebp - 0x408]
push edx
push 0
mov eax, dword [ebp - 0xf5c]
lea ecx, [ebp + eax - 0xd10]
push ecx
lea edx, [ebp - 0xd20]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x408]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0049c8ee
add esp, 8
test eax, eax
jne 0x46c5c4
push 0x4cadd4
lea edx, [ebp - 0x508]
push edx
call fcn.00489ae0
add esp, 8
mov eax, dword [ebp - 0xf5c]
lea ecx, [ebp + eax - 0xd10]
push ecx
lea edx, [ebp - 0x508]
push edx
call fcn.00489af0
add esp, 8
jmp 0x46c5ef
mov eax, dword [ebp - 0xf5c]
lea ecx, [ebp + eax - 0xd10]
push ecx
call fcn.00489c70
add esp, 4
mov edx, dword [ebp - 0xf5c]
lea eax, [edx + eax + 1]
mov dword [ebp - 0xf5c], eax
jmp 0x46c506
mov dword [ebp - 0xf54], 0
lea ecx, [ebp - 0xf54]
push ecx
push 0x104
lea edx, [ebp - 0xe38]
push edx
push 1
mov eax, dword [ebp + 0x10]
push eax
push 0
call sub.WINSPOOL.DRV_GetPrinterDriverDirectoryA
mov dword [ebp - 0xd30], eax
cmp dword [ebp - 0xd30], 0
je 0x46c865
lea ecx, [ebp - 0xe38]
push ecx
push str.UninstDelUpperFolderFile___szDriverDirectory_s__n
push 0
call fcn.0046fd10
add esp, 0xc
lea edx, [ebp - 0xe38]
push edx
lea eax, [ebp - 0xf50]
push eax
call fcn.00489ae0
add esp, 8
push 0x5c
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00468590
add esp, 8
push eax
lea edx, [ebp - 0xf50]
push edx
call fcn.00489af0
add esp, 8
lea eax, [ebp - 0xf50]
push eax
push str.UninstDelUpperFolderFile___NewPath_s__n
push 0
call fcn.0046fd10
add esp, 0xc
lea ecx, [ebp - 0xe40]
push ecx
push 2
push 0x4cae3c
lea edx, [ebp - 0xf50]
push edx
call dword [sym.imp.SETUPAPI.dll_SetupOpenInfFileA]
mov dword [ebp - 0x510], eax
cmp dword [ebp - 0x510], 0xffffffff
je 0x46c865
lea eax, [ebp - 0xe38]
push eax
push 0x101d0
mov ecx, dword [ebp - 0x510]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupSetDirectoryIdA]
mov dword [ebp - 0xd30], eax
lea edx, [ebp - 0xe38]
push edx
push 0x101d1
mov eax, dword [ebp - 0x510]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupSetDirectoryIdA]
mov dword [ebp - 0xd30], eax
lea ecx, [ebp - 0xe38]
push ecx
push 0x101d2
mov edx, dword [ebp - 0x510]
push edx
call dword [sym.imp.SETUPAPI.dll_SetupSetDirectoryIdA]
mov dword [ebp - 0xd30], eax
lea eax, [ebp - 0xe38]
push eax
push 0x101d3
mov ecx, dword [ebp - 0x510]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupSetDirectoryIdA]
mov dword [ebp - 0xd30], eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0xd14], eax
mov edx, dword [ebp - 0xd14]
push edx
call dword [sym.imp.SETUPAPI.dll_SetupInitDefaultQueueCallback]
mov dword [ebp - 0xf58], eax
call dword [sym.imp.SETUPAPI.dll_SetupOpenFileQueue]
mov dword [ebp - 0x50c], eax
lea eax, [ebp - 0xf50]
push eax
push str.UninstDelUpperFolderFile__s__Ponit1__n
push 0
call fcn.0046fd10
add esp, 0xc
push 0x400
push 0
push 0x4cae6c
mov ecx, dword [ebp - 0x50c]
push ecx
push 0
mov edx, dword [ebp - 0x510]
push edx
call dword [sym.imp.SETUPAPI.dll_SetupInstallFilesFromInfSectionA]
mov dword [ebp - 0xd30], eax
lea eax, [ebp - 0x508]
push eax
call fcn.00489c70
add esp, 4
test eax, eax
je 0x46c7e2
push 0x400
push 0
lea ecx, [ebp - 0x508]
push ecx
mov edx, dword [ebp - 0x50c]
push edx
push 0
mov eax, dword [ebp - 0x510]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupInstallFilesFromInfSectionA]
or eax, dword [ebp - 0xd30]
mov dword [ebp - 0xd30], eax
cmp dword [ebp - 0xd30], 0
je 0x46c83e
lea ecx, [ebp - 0xf50]
push ecx
push str.UninstDelUpperFolderFile__s__Ponit2__n
push 0
call fcn.0046fd10
add esp, 0xc
mov edx, dword [ebp - 0xf58]
push edx
mov eax, dword [sym.imp.SETUPAPI.dll_SetupDefaultQueueCallbackA]
push eax
mov ecx, dword [ebp - 0x50c]
push ecx
mov edx, dword [ebp - 0xd14]
push edx
call dword [sym.imp.SETUPAPI.dll_SetupCommitFileQueueA]
mov dword [ebp - 0xd30], eax
lea eax, [ebp - 0xf50]
push eax
push str.UninstDelUpperFolderFile__s__Ponit3__n
push 0
call fcn.0046fd10
add esp, 0xc
mov ecx, dword [ebp - 0xf58]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupTermDefaultQueueCallback]
mov edx, dword [ebp - 0x50c]
push edx
call dword [sym.imp.SETUPAPI.dll_SetupCloseFileQueue]
mov eax, dword [ebp - 0x510]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupCloseInfFile]
mov ecx, dword [ebp - 0xd30]
push ecx
mov edx, dword [ebp + 0xc]
push edx
push str.UninstDelUpperFolderFile__s__End_bRet___d_TRUE_n
push 0
call fcn.0046fd10
add esp, 0x10
mov eax, dword [ebp - 0xd30]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00488550
mov esp, ebp
pop ebp
ret