Function at 0x4017f0
Capabilities:
Enumerate gui resources
Get disk information

Disassembly:
sub esp, 0x24
push esi
push edi
push 0
push 0x401770
call dword [sym.imp.USER32.dll_EnumWindows]
mov eax, dword [0x404180]
test eax, eax
je 0x401813
xor eax, eax
pop edi
pop esi
add esp, 0x24
ret
mov esi, dword [sym.imp.USER32.dll_FindWindowA]
push 0x403128
push str.KKNDKrossfireAutoRunWindowClass
call esi
test eax, eax
je 0x401831
xor eax, eax
pop edi
pop esi
add esp, 0x24
ret
push str.KKND_Krossfire_Setup
push str.InstallShield_Win
call esi
test eax, eax
je 0x401849
xor eax, eax
pop edi
pop esi
add esp, 0x24
ret
lea eax, [esp + 8]
push eax
push 0x20019
push 0
push str.SOFTWAREMelbourne_HouseKKND_Krossfire1.00.000
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40187b
mov ecx, dword [esp + 8]
mov byte [0x404178], 1
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov al, byte [0x404178]
test al, al
jne 0x4018e2
lea edx, [esp + 0xc]
push 0x10
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [esp + 0x1c]
lea ecx, [esp + 0xc]
push 0
push 0
push 0
push 0
push 0
push 0x10
push eax
push ecx
mov byte [esp + 0x2f], 0
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
mov ecx, 7
lea edi, [esp + 0x1c]
mov esi, str.KKND2_2
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4018e2
push edx
push str.Message
push str.To_install_this_game__please_use_the_first_CD
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
pop edi
pop esi
add esp, 0x24
ret
mov eax, dword [0x404150]
push 0x1f1f
push eax
call fcn.00401ed0
call fcn.00402320
mov edx, 0x66
mov ecx, 0x404108
push 0xf0
push 0x140
call fcn.00401080
mov edx, 0x69
mov ecx, 0x4040c8
push 0xc8
push 0x110
call fcn.00401080
mov edx, 0x6d
mov ecx, 0x4040d8
push 0xc8
push 0x110
call fcn.00401080
mov edx, 0x6e
mov ecx, 0x4040e8
push 0xc8
push 0x110
call fcn.00401080
mov al, byte [0x404178]
test al, al
push 0x1e
push 0x50
jne 0x401987
mov edx, 0x6b
mov ecx, 0x404128
call fcn.00401080
mov edx, 0x71
mov ecx, 0x4040f8
push 0x1e
push 0x50
jmp 0x4019a4
mov edx, 0x6c
mov ecx, 0x404140
call fcn.00401080
mov edx, 0x6f
mov ecx, 0x404168
push 0x1e
push 0x50
call fcn.00401080
mov edx, 0x72
mov ecx, 0x404118
push 0x1e
push 0x50
call fcn.00401080
mov edx, 0x70
mov ecx, 0x404158
push 0x1e
push 0x50
call fcn.00401080
mov al, byte [0x404154]
test al, 1
jne 0x401a27
or al, 1
push 0x67
mov byte [0x404154], al
mov eax, dword [0x404150]
push eax
mov dword [0x404018], eax
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [0x40401c], eax
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [0x404020], eax
mov dword [0x404024], 0
mov dword [0x404028], 0
mov dword [0x40402c], 0x403198
push 0x404008
call dword [sym.imp.USER32.dll_RegisterClassA]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
call esi
mov edi, eax
push 1
call esi
mov ecx, dword [0x404150]
add eax, 0xffffff10
cdq
push 0
push ecx
push 0
sub eax, edx
push 0
push 0xf0
sar eax, 1
push 0x140
push eax
lea eax, [edi - 0x140]
cdq
sub eax, edx
sar eax, 1
push eax
push 0x90000000
push 0x403128
push str.KKNDKrossfireAutoRunWindowClass
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov edx, dword [0x40417c]
push edx
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ecx, dword [0x40417c]
xor eax, eax
test ecx, ecx
pop edi
pop esi
setne al
add esp, 0x24
ret