Function at 0x4076af
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x440666
call fcn.004151bc
sub esp, 0x47c
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [ebp - 0x48]
call fcn.00406add
mov eax, dword [0x466c7c]
and dword [ebp - 4], 0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 2
push eax
call fcn.004318d8
and dword [ebp - 0x1c], 0
lea ecx, [esi + 0x1e4]
push 0x467e68
call fcn.00432ae6
lea eax, [esi + 0x238]
push 0x453458
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00432b8c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.00432a96
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.004329a9
push 0x462974
lea ecx, [ebp - 0x18]
call fcn.00432c5f
push dword [ebp - 0x18]
lea eax, [ebp - 0x448]
mov edi, str.Error
mov ebx, str.LOGFILE
push 0x400
push eax
push edi
push ebx
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
push ebx
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
push 0x462d30
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
lea eax, [ebp - 0x448]
push edi
push eax
call fcn.00415510
pop ecx
test eax, eax
pop ecx
je 0x4077d6
lea eax, [ebp - 0x448]
lea ebx, [esi + 0x1e4]
push eax
mov ecx, ebx
call fcn.00432ae6
push 0x2e
mov ecx, ebx
call fcn.00431bd4
cmp eax, 0xffffffff
jne 0x4077d6
push str..log
mov ecx, ebx
call fcn.00432c5f
push 0x5dd
lea ecx, [ebp - 0x20]
call fcn.004363be
push ecx
lea ecx, [ebp - 0x2c]
mov eax, esp
mov dword [ebp - 0x30], esp
or dword [eax], 0xffffffff
call fcn.0040979d
push 1
test eax, eax
pop ebx
je 0x407887
push 0
lea ecx, [ebp - 0x2c]
call fcn.004318eb
mov eax, dword [eax + 4]
push 0
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x28], eax
call fcn.004318eb
mov eax, dword [eax + 8]
push 0
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x24], eax
call fcn.004318eb
mov eax, dword [eax + 0xc]
push 0
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x14], eax
call fcn.004318eb
mov eax, dword [eax + 0x10]
push 0
inc eax
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x34], eax
call fcn.004318eb
push dword [ebp - 0x28]
mov eax, dword [eax + 0x14]
add eax, 0x76c
push dword [ebp - 0x24]
push dword [ebp - 0x14]
push dword [ebp - 0x34]
push eax
push str.2000_XP
push dword [ebp - 0x20]
lea eax, [ebp - 0x448]
push eax
call dword [0x467d20]
add esp, 0x20
lea eax, [ebp - 0x448]
mov ecx, esi
push ebx
push ebx
push eax
call fcn.0040bf1d
push 0x5de
lea ecx, [ebp - 0x20]
call fcn.004363be
push ebx
push 2
push dword [ebp - 0x20]
mov ecx, esi
call fcn.0040bf1d
push dword [ebp - 0x18]
lea eax, [ebp - 0x448]
push 0x400
push eax
push edi
push str.INF_FILENAME
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.INF_FILENAME
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
push 0x462d0c
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
lea eax, [ebp - 0x448]
push edi
push eax
call fcn.00415510
pop ecx
test eax, eax
pop ecx
je 0x40794e
lea eax, [ebp - 0x448]
lea ecx, [esi + 0x210]
push eax
call fcn.00432ae6
push str.INF_FILE_NAME_
lea ecx, [ebp - 0x20]
call fcn.00432ae6
lea eax, [ebp - 0x448]
lea ecx, [ebp - 0x20]
push eax
call fcn.00432c5f
push ebx
push 0
push dword [ebp - 0x20]
mov ecx, esi
call fcn.0040bf1d
mov dword [ebp - 0x1c], ebx
mov ecx, esi
call fcn.004087c8
lea eax, [esi + 0x1b4]
lea ecx, [esi + 0xdc]
push eax
call fcn.00403704
lea eax, [ebp - 0x488]
lea ecx, [esi + 0xdc]
push eax
call fcn.0040337c
add eax, 0x20
lea ecx, [esi + 0xdc]
push eax
mov byte [ebp - 4], 4
call fcn.00404282
neg al
sbb al, al
lea ecx, [ebp - 0x488]
inc al
mov byte [ebp - 4], 2
mov byte [ebp - 0xd], al
call fcn.004032cb
cmp byte [ebp - 0xd], 0
je 0x4079c3
mov eax, dword [esi + 0x1b8]
mov ecx, dword [0x467e6c]
push 0
mov eax, dword [eax]
add eax, 0x28
push eax
call fcn.004061a6
and dword [esi + 0x1d8], 0
and dword [esi + 0x1e0], 0
lea ecx, [esi + 0x1cc]
push 0x467e68
mov dword [esi + 0x1dc], ebx
call fcn.00432ae6
and dword [esi + 0x1d0], 0
lea ecx, [esi + 0x1e8]
push 0x467e68
call fcn.00432ae6
lea ecx, [esi + 0x1ec]
push 0x467e68
call fcn.00432ae6
xor eax, eax
lea ecx, [esi + 0x220]
mov dword [esi + 0x1f0], ebx
mov dword [esi + 0x1f4], ebx
mov dword [esi + 0x1f8], eax
mov dword [esi + 0x1fc], eax
mov dword [esi + 0x204], eax
mov dword [esi + 0x200], eax
mov dword [esi + 0x208], eax
mov dword [esi + 0x20c], eax
mov dword [esi + 0x21c], eax
mov dword [esi + 0x218], eax
mov dword [ebp - 0x30], ecx
call fcn.00432934
push dword [ebp - 0x18]
and byte [esi + 0x234], 0
lea eax, [ebp - 0x448]
push 0x400
push eax
push edi
push str.BYPASS_DRIVER_SIGNING
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x448]
push edi
push eax
call fcn.00415510
pop ecx
test eax, eax
pop ecx
je 0x407ac2
lea eax, [ebp - 0x448]
push 0x462cdc
push eax
call fcn.00415510
pop ecx
test eax, eax
pop ecx
jne 0x407ac2
push ebx
push eax
push str.BYPASS_DRIVER_SIGNING_info_is_used.
mov ecx, esi
call fcn.0040bf1d
mov dword [esi + 0x21c], ebx
mov dword [ebp - 0x1c], ebx
push dword [ebp - 0x18]
lea eax, [ebp - 0x448]
push 0x400
push eax
push edi
push str.LANGUAGE
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.LANGUAGE
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.LANG
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
lea eax, [ebp - 0x448]
push edi
push eax
call fcn.00415510
pop ecx
test eax, eax
pop ecx
je 0x407c62
lea eax, [ebp - 0x448]
push eax
call fcn.00415ec5
mov al, byte [ebp - 0xd]
pop ecx
push 0
lea ecx, [ebp - 0x44]
mov byte [ebp - 0x44], al
call fcn.00404e00
lea eax, [ebp - 0x448]
push eax
call fcn.00415410
pop ecx
push eax
lea eax, [ebp - 0x448]
push eax
lea ecx, [ebp - 0x44]
call fcn.00404e9a
lea eax, [ebp - 0x44]
lea ecx, [esi + 0xdc]
push eax
mov byte [ebp - 4], 5
call fcn.00404282
push ebx
lea ecx, [ebp - 0x44]
mov byte [ebp - 0xd], al
mov byte [ebp - 4], 2
call fcn.00404e00
cmp byte [ebp - 0xd], 0
je 0x407c62
push str.LANGUAGE_
lea ecx, [ebp - 0x20]
call fcn.00432ae6
lea eax, [ebp - 0x448]
lea ecx, [ebp - 0x20]
push eax
call fcn.00432c5f
push ebx
push 0
push dword [ebp - 0x20]
mov ecx, esi
call fcn.0040bf1d
mov al, byte [ebp - 0xd]
push 0
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x1c], ebx
mov dword [esi + 0x1d8], ebx
mov byte [ebp - 0x44], al
call fcn.00404e00
lea eax, [ebp - 0x448]
push eax
call fcn.00415410
pop ecx
push eax
lea eax, [ebp - 0x448]
push eax
lea ecx, [ebp - 0x44]
call fcn.00404e9a
mov ecx, dword [0x467e6c]
lea eax, [ebp - 0x44]
push 0
push eax
mov byte [ebp - 4], 6
call fcn.004061a6
neg al
sbb al, al
push ebx
inc al
lea ecx, [ebp - 0x44]
mov byte [ebp - 0xd], al
mov byte [ebp - 4], 2
call fcn.00404e00
cmp byte [ebp - 0xd], 0
je 0x407c62
lea eax, [ebp - 0x488]
lea ecx, [esi + 0xdc]
push eax
call fcn.004042b7
mov ecx, dword [0x467e6c]
add eax, 0x20
push 0
push eax
mov byte [ebp - 4], 7
call fcn.004061a6
lea ecx, [ebp - 0x488]
mov byte [ebp - 4], 2
call fcn.004032cb
mov ecx, dword [0x467e6c]
lea eax, [ebp - 0x44]
push 0
push eax
call fcn.00405c6a
mov eax, dword [eax + 4]
mov byte [ebp - 4], 8
test eax, eax
jne 0x407c83
mov eax, 0x444464
push eax
mov ecx, esi
call fcn.00408aef
push ebx
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 2
call fcn.00404e00
mov ecx, esi
call fcn.0040d9fa
mov dword [esi + 0x214], eax
lea eax, [ebp - 0x34]
push eax
mov ecx, esi
call fcn.004091cc
push eax
lea ecx, [esi + 0x1cc]
mov byte [ebp - 4], 9
call fcn.00432a96
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 2
call fcn.004329a9
call fcn.00401158
mov ecx, eax
call fcn.004012ec
test al, al
je 0x407d77
push dword [ebp - 0x18]
lea eax, [ebp - 0x448]
push 0x400
push eax
push edi
push str.ADDPAGESTOLIMITEDUSERS
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.ADDPAGESTOLIMITEDUSERS
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
lea eax, [ebp - 0x448]
push edi
push eax
call fcn.00415510
pop ecx
test eax, eax
pop ecx
je 0x407d77
push str.ADDPAGESTOLIMITEDUSERS_
lea ecx, [ebp - 0x20]
call fcn.00432ae6
lea eax, [ebp - 0x448]
lea ecx, [ebp - 0x20]
push eax
call fcn.00432c5f
push ebx
push 0
push dword [ebp - 0x20]
mov ecx, esi
call fcn.0040bf1d
lea eax, [ebp - 0x448]
push 0x462cdc
push eax
call fcn.00418db0
pop ecx
test eax, eax
pop ecx
jne 0x407d77
mov byte [esi + 0x234], bl
push dword [ebp - 0x18]
lea eax, [ebp - 0x448]
push 0x400
push eax
push edi
push str.REBOOT
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.REBOOT
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push 0x462c58
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push 0x462c54
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x448]
push edi
push eax
call fcn.00415510
pop ecx
test eax, eax
pop ecx
je 0x407e81
lea eax, [ebp - 0x448]
push 0x462cdc
push eax
call fcn.00418db0
pop ecx
test eax, eax
pop ecx
je 0x407e27
cmp dword [ebp - 0x24], 0
je 0x407e45
push ebx
push 0
push str.REBOOT__YES
mov ecx, esi
call fcn.0040bf1d
mov dword [ebp - 0x1c], ebx
mov dword [esi + 0x1dc], ebx
mov dword [esi + 0x1e0], ebx
lea eax, [ebp - 0x448]
push 0x462c40
push eax
call fcn.00418db0
pop ecx
test eax, eax
pop ecx
je 0x407e62
cmp dword [ebp - 0x28], 0
je 0x407e81
push ebx
push 0
push str.REBOOT__NO
mov ecx, esi
call fcn.0040bf1d
and dword [esi + 0x1dc], 0
mov dword [ebp - 0x1c], ebx
mov dword [esi + 0x1e0], ebx
push dword [ebp - 0x18]
lea eax, [ebp - 0x448]
push 0x400
push eax
push edi
push str.VERSION
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x448]
push edi
push eax
call fcn.00415510
pop ecx
test eax, eax
pop ecx
je 0x407ed8
push ebx
push 0
push str.VERSION_info_is_used.
mov ecx, esi
call fcn.0040bf1d
lea eax, [ebp - 0x448]
lea ecx, [esi + 0x1cc]
push eax
call fcn.00432ae6
mov dword [ebp - 0x1c], ebx
push dword [ebp - 0x18]
lea eax, [ebp - 0x448]
push 0x400
push eax
push edi
push str.SILENT
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.SILENT
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push 0x462c08
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x448]
push edi
push eax
call fcn.00415510
pop ecx
test eax, eax
pop ecx
je 0x407f7f
lea eax, [ebp - 0x448]
push 0x462cdc
push eax
call fcn.00418db0
pop ecx
test eax, eax
pop ecx
je 0x407f67
cmp dword [ebp - 0x24], 0
je 0x407f7f
push ebx
push 0
push str.SILENT__YES
mov ecx, esi
call fcn.0040bf1d
mov dword [esi + 0x1d0], ebx
mov dword [ebp - 0x1c], ebx
push dword [ebp - 0x18]
lea eax, [ebp - 0x448]
push 0x400
push eax
push edi
push str.SHOWTVOUT
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x448]
push edi
push eax
call fcn.00415510
pop ecx
test eax, eax
pop ecx
je 0x407fe7
lea eax, [ebp - 0x448]
push 0x462cdc
push eax
call fcn.00418db0
pop ecx
test eax, eax
pop ecx
je 0x407fcf
cmp dword [ebp - 0x24], 0
je 0x407fe7
push ebx
push 0
push str.SHOWTVOUT__YES
mov ecx, esi
call fcn.0040bf1d
mov dword [esi + 0x224], ebx
mov dword [ebp - 0x1c], ebx
push dword [ebp - 0x18]
lea eax, [ebp - 0x448]
push 0x400
push eax
push edi
push str.TVSTANDARD
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x448]
push edi
push eax
call fcn.00415510
pop ecx
test eax, eax
pop ecx
je 0x40804f
lea eax, [ebp - 0x448]
push 0x462bcc
push eax
call fcn.00418db0
pop ecx
test eax, eax
pop ecx
je 0x408037
cmp dword [ebp - 0x24], 0
je 0x40804f
push ebx
push 0
push str.TVSTANDARD__PAL
mov ecx, esi
call fcn.0040bf1d
mov dword [esi + 0x22c], ebx
mov dword [ebp - 0x1c], ebx
push dword [ebp - 0x18]
lea eax, [ebp - 0x448]
push 0x400
push eax
push edi
push str.TVCABLE
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x448]
push edi
push eax
call fcn.00415510
pop ecx
test eax, eax
pop ecx
je 0x4080b7
lea eax, [ebp - 0x448]
push str.SCART
push eax
call fcn.00418db0
pop ecx
test eax, eax
pop ecx
je 0x40809f
cmp dword [ebp - 0x24], 0
je 0x4080b7
push ebx
push 0
push str.TVCABLE__SCART
mov ecx, esi
call fcn.0040bf1d
mov dword [esi + 0x230], ebx
mov dword [ebp - 0x1c], ebx
push dword [ebp - 0x18]
lea eax, [ebp - 0x448]
push 0x400
push eax
push edi
push str.DISPLAYMODE
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.DISPLAYMODE
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.MODE
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
lea eax, [ebp - 0x448]
push edi
push eax
call fcn.00415510
pop ecx
test eax, eax
pop ecx
je 0x408164
push str.DISPLAYMODE_
lea ecx, [ebp - 0x20]
call fcn.00432ae6
lea eax, [ebp - 0x448]
lea ecx, [ebp - 0x20]
push eax
call fcn.00432c5f
push ebx
push 0
push dword [ebp - 0x20]
mov ecx, esi
call fcn.0040bf1d
lea eax, [ebp - 0x448]
lea ecx, [esi + 0x1e8]
push eax
call fcn.00432ae6
mov dword [ebp - 0x1c], ebx
push dword [ebp - 0x18]
lea eax, [ebp - 0x448]
push 0x400
push eax
push edi
push str.DRIVEREXTRA
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.DRIVEREXTRA
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.MODE
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
lea eax, [ebp - 0x448]
push edi
push eax
call fcn.00415510
pop ecx
test eax, eax
pop ecx
je 0x408211
push str.DRIVEREXTRA_
lea ecx, [ebp - 0x20]
call fcn.00432ae6
lea eax, [ebp - 0x448]
lea ecx, [ebp - 0x20]
push eax
call fcn.00432c5f
push ebx
push 0
push dword [ebp - 0x20]
mov ecx, esi
call fcn.0040bf1d
lea eax, [ebp - 0x448]
lea ecx, [esi + 0x1ec]
push eax
call fcn.00432ae6
mov dword [ebp - 0x1c], ebx
push dword [ebp - 0x18]
lea eax, [ebp - 0x448]
push 0x400
push eax
push edi
push str.RUN_QDESK
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.RUN_QDESK
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
lea eax, [ebp - 0x448]
push edi
push eax
call fcn.00415510
pop ecx
test eax, eax
pop ecx
je 0x408291
lea eax, [ebp - 0x448]
push 0x462c40
push eax
call fcn.00418db0
pop ecx
test eax, eax
pop ecx
jne 0x408291
push ebx
push eax
push str.RUN_QDESK__NO
mov ecx, esi
call fcn.0040bf1d
and dword [esi + 0x1f0], 0
mov dword [ebp - 0x1c], ebx
push dword [ebp - 0x18]
lea eax, [ebp - 0x448]
push 0x400
push eax
push edi
push str.RUN_DIAG
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.RUN_DIAG
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
lea eax, [ebp - 0x448]
push edi
push eax
call fcn.00415510
pop ecx
test eax, eax
pop ecx
je 0x408311
lea eax, [ebp - 0x448]
push 0x462c40
push eax
call fcn.00418db0
pop ecx
test eax, eax
pop ecx
jne 0x408311
push ebx
push eax
push str.RUN_DIAG__NO
mov ecx, esi
call fcn.0040bf1d
and dword [esi + 0x1f4], 0
mov dword [ebp - 0x1c], ebx
push dword [ebp - 0x18]
lea eax, [ebp - 0x448]
push 0x400
push eax
push edi
push str.COPY_ALL_DRIVERS
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.COPY_ALL_DRIVERS
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.COPYALL
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x448]
push edi
push eax
call fcn.00415510
pop ecx
test eax, eax
pop ecx
je 0x4083b8
lea eax, [ebp - 0x448]
push 0x462cdc
push eax
call fcn.00418db0
pop ecx
test eax, eax
pop ecx
je 0x4083a0
cmp dword [ebp - 0x24], 0
je 0x4083b8
push ebx
push 0
push str.COPY_ALL_DRIVERS__YES
mov ecx, esi
call fcn.0040bf1d
mov dword [esi + 0x1f8], ebx
mov dword [ebp - 0x1c], ebx
push dword [ebp - 0x18]
lea eax, [ebp - 0x448]
push 0x400
push eax
push edi
push str.RESET_USER_CONFIG_DRIVER
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.RESET_USER_CONFIG_DRIVER
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.RESET_DRIVER
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.NORESET_DRIVER
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x448]
push edi
push eax
call fcn.00415510
pop ecx
test eax, eax
pop ecx
je 0x4084c2
lea eax, [ebp - 0x448]
push 0x462cdc
push eax
call fcn.00418db0
pop ecx
test eax, eax
pop ecx
je 0x408468
cmp dword [ebp - 0x24], 0
je 0x408486
push ebx
push 0
push str.RESET_USER_CONFIG_DRIVER__YES
mov ecx, esi
call fcn.0040bf1d
mov dword [esi + 0x1fc], ebx
mov dword [esi + 0x204], ebx
mov dword [ebp - 0x1c], ebx
lea eax, [ebp - 0x448]
push 0x462c40
push eax
call fcn.00418db0
pop ecx
test eax, eax
pop ecx
je 0x4084a3
cmp dword [ebp - 0x28], 0
je 0x4084c2
push ebx
push 0
push str.RESET_USER_CONFIG_DRIVER__NO
mov ecx, esi
call fcn.0040bf1d
and dword [esi + 0x1fc], 0
mov dword [esi + 0x204], ebx
mov dword [ebp - 0x1c], ebx
push dword [ebp - 0x18]
lea eax, [ebp - 0x448]
push 0x400
push eax
push edi
push str.RESET_USER_CONFIG_PDESK
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.RESET_USER_CONFIG_PDESK
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.RESET_PDESK
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.NORESET_PDESK
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x448]
push edi
push eax
call fcn.00415510
pop ecx
test eax, eax
pop ecx
je 0x4085cc
lea eax, [ebp - 0x448]
push 0x462cdc
push eax
call fcn.00418db0
pop ecx
test eax, eax
pop ecx
je 0x408572
cmp dword [ebp - 0x24], 0
je 0x408590
push ebx
push 0
push str.RESET_USER_CONFIG_PDESK__YES
mov ecx, esi
call fcn.0040bf1d
mov dword [esi + 0x200], ebx
mov dword [esi + 0x208], ebx
mov dword [ebp - 0x1c], ebx
lea eax, [ebp - 0x448]
push 0x462c40
push eax
call fcn.00418db0
pop ecx
test eax, eax
pop ecx
je 0x4085ad
cmp dword [ebp - 0x28], 0
je 0x4085cc
push ebx
push 0
push str.RESET_USER_CONFIG_PDESK__NO
mov ecx, esi
call fcn.0040bf1d
and dword [esi + 0x200], 0
mov dword [esi + 0x208], ebx
mov dword [ebp - 0x1c], ebx
push dword [ebp - 0x18]
lea eax, [ebp - 0x448]
push 0x400
push eax
push edi
push str.TRUE_MULTIDISPLAY
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.TRUE_MULTIDISPLAY
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
lea eax, [ebp - 0x448]
push edi
push eax
call fcn.00415510
pop ecx
test eax, eax
pop ecx
je 0x4086ad
lea eax, [ebp - 0x448]
push 0x462cdc
push eax
call fcn.00418db0
pop ecx
test eax, eax
pop ecx
jne 0x408671
call fcn.00401158
mov dword [ebp - 0x14], eax
call fcn.0040130f
mov ecx, dword [ebp - 0x14]
call fcn.004012df
test al, al
je 0x4086ad
push ebx
push 0
push str.TRUE_MULTIDISPLAY__YES
mov ecx, esi
call fcn.0040bf1d
mov dword [ebp - 0x1c], ebx
mov dword [esi + 0x214], ebx
mov dword [esi + 0x218], ebx
jmp 0x4086ad
lea eax, [ebp - 0x448]
push 0x462c40
push eax
call fcn.00418db0
pop ecx
test eax, eax
pop ecx
jne 0x4086ad
push ebx
push eax
push str.TRUE_MULTIDISPLAY__NO
mov ecx, esi
call fcn.0040bf1d
xor eax, eax
mov dword [ebp - 0x1c], ebx
mov dword [esi + 0x214], eax
mov dword [esi + 0x218], eax
mov dword [esi + 0x278], eax
lea eax, [ebp - 0x448]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push str.MAIN_SETUP
call fcn.00432a17
mov ecx, esi
call fcn.0040bd09
test eax, eax
je 0x4086e7
push ebx
push 0
push str.MAIN_SETUP_is_active.
mov ecx, esi
call fcn.0040bf1d
mov dword [esi + 0x20c], ebx
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 0
jne 0x408707
push 0x5df
lea ecx, [ebp - 0x20]
call fcn.004363be
push ebx
push 0
push dword [ebp - 0x20]
mov ecx, esi
call fcn.0040bf1d
push ebx
push 3
push 0
mov ecx, esi
call fcn.0040bf1d
call fcn.00406c49
mov ecx, eax
call fcn.004097e1
mov dword [ebp - 0x14], eax
call fcn.00406c49
mov ecx, eax
call fcn.00409048
cmp dword [eax + 0x38], 0
je 0x408746
call fcn.00406c49
mov ecx, eax
call fcn.00409048
cmp dword [eax + 0x3c], 0
jne 0x408752
cmp dword [ebp - 0x14], 0
jne 0x408752
mov dword [esi + 0x1fc], ebx
push dword [ebp - 0x18]
lea eax, [ebp - 0x448]
push 0x400
push eax
push edi
push str.AFTERFINISH_LAUNCH
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x448]
push edi
push eax
call fcn.00415510
pop ecx
test eax, eax
pop ecx
je 0x408794
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x448]
push eax
call fcn.00432ae6
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], bl
call fcn.004329a9
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004329a9
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
call fcn.00406b32
mov ecx, dword [ebp - 0xc]
pop edi
mov eax, ebx
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret