Function at 0x401000
Capabilities:
Get common file path
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
push str._nAge_of_Empires_Registry_Setup_n_c_oded_by_Beowulf._n_n
call fcn.00401490
add esp, 4
lea eax, [ebp - 0x204]
push eax
push 0xff
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push 0x4070f8
push str.EMPIRES.EXE
call fcn.00401470
add esp, 8
mov dword [ebp - 0x20c], eax
cmp dword [ebp - 0x20c], 0
jne 0x40105b
push str.ERROR:_You_must_run_SETUP_from_the_directory_where_Age_of_Empires_n_______is_installed_into._n
call fcn.00401490
add esp, 4
jmp 0x401240
mov ecx, dword [ebp - 0x20c]
push ecx
call fcn.004013c0
add esp, 4
lea edx, [ebp - 0x208]
push edx
mov eax, dword [str.SOFTWAREMicrosoftGamesAge_of_Empires1.00]
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
je 0x401098
push str.ERROR:_Unable_to_create_registry_key._n
call fcn.00401490
add esp, 4
jmp 0x401240
lea ecx, [ebp - 0x204]
push ecx
lea edx, [ebp - 0x104]
push edx
call fcn.004012d0
add esp, 8
push 0x407190
lea eax, [ebp - 0x104]
push eax
call fcn.004012e0
add esp, 8
lea ecx, [ebp - 0x104]
push ecx
call fcn.00401250
add esp, 4
add eax, 1
push eax
lea edx, [ebp - 0x104]
push edx
push 1
push 0
push str.CDPath
mov eax, dword [ebp - 0x208]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [str.00000_000_0000000_00000]
push ecx
call fcn.00401250
add esp, 4
push eax
mov edx, dword [str.00000_000_0000000_00000]
push edx
push 1
push 0
push 0x40719c
mov eax, dword [ebp - 0x208]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 2
push 0x4071a0
push 1
push 0
push str.InstallType
mov ecx, dword [ebp - 0x208]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
lea edx, [ebp - 0x204]
push edx
call fcn.00401250
add esp, 4
add eax, 1
push eax
lea eax, [ebp - 0x204]
push eax
push 1
push 0
push str.InstallationDirectory
mov ecx, dword [ebp - 0x208]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edx, dword [str.http:__www.zone.com_asp_aoferedir.asp]
push edx
call fcn.00401250
add esp, 4
add eax, 1
push eax
mov eax, dword [str.http:__www.zone.com_asp_aoferedir.asp]
push eax
push 1
push 0
push str.Zone
mov ecx, dword [ebp - 0x208]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 2
push 0x4071d0
push 1
push 0
push str.Launched
mov edx, dword [ebp - 0x208]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov eax, dword [str.RetailVersion]
push eax
call fcn.00401250
add esp, 4
add eax, 1
push eax
mov ecx, dword [str.RetailVersion]
push ecx
push 1
push 0
push str.VersionType
mov edx, dword [ebp - 0x208]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 4], 0
push 4
lea eax, [ebp - 4]
push eax
push 4
push 0
push str.Custom_Mouse
mov ecx, dword [ebp - 0x208]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
lea edx, [ebp - 4]
push edx
push 4
push 0
push str.Game_File_Number
mov eax, dword [ebp - 0x208]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [ebp - 0x208]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push str.Setup_is_complete__Enjoy..._n
call fcn.00401490
add esp, 4
mov esp, ebp
pop ebp
ret