Function at 0x5fc540
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x1c
call fcn.004678f0
dec eax
mov dword [esp + 0x14], 0x78
jne 0x5fc55b
mov dword [esp + 0x14], 0xf8
mov al, byte [esp + 0x20]
test al, al
push esi
jne 0x5fcae7
xor eax, eax
mov ax, word [0x7d4f10]
push eax
call fcn.00595370
add esp, 4
test eax, eax
jne 0x5fcae2
xor ecx, ecx
mov cx, word [0x7d4f10]
push ecx
call fcn.00595400
mov esi, eax
push esi
call fcn.005fb660
mov al, byte [0x7d5004]
add esp, 8
test al, al
mov byte [0x7d4ffc], 0
jne 0x5fc5cc
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x2e4]
xor edx, edx
mov dx, word [0x7d4f10]
push edx
call fcn.00596610
mov byte [0x7d5004], 1
mov eax, dword [0x7c67dc]
mov cl, byte [eax + 0xd6]
test cl, cl
mov dword [esp + 0x24], 0x15e
jne 0x5fc5f4
mov ecx, dword [eax + 0x2e4]
mov dx, word [0x7d4f10]
mov word [ecx + 0x3c], dx
xor eax, eax
mov ax, word [0x7d4ed8]
push ebx
push ebp
push edi
mov ecx, esi
push eax
call fcn.00582de0
xor ecx, ecx
mov cx, word [0x7d4fac]
mov edi, eax
push ecx
mov ecx, esi
call fcn.00582de0
xor edx, edx
mov dx, word [0x7d4f12]
mov ecx, esi
mov ebp, eax
push edx
call fcn.00582de0
mov ebx, eax
xor eax, eax
mov ax, word [0x7d4f8e]
mov ecx, esi
push eax
call fcn.00582de0
xor ecx, ecx
mov cx, word [0x7d4ef8]
mov dword [esp + 0x10], eax
push ecx
mov ecx, esi
call fcn.00582de0
xor edx, edx
mov dx, word [0x7d4ef0]
mov ecx, esi
mov dword [esp + 0x20], eax
push edx
call fcn.00582de0
mov dword [esp + 0x14], eax
xor eax, eax
mov ax, word [0x7d4f08]
mov ecx, esi
push eax
call fcn.00582de0
xor ecx, ecx
mov cx, word [0x7d4fda]
mov dword [esp + 0x18], eax
push ecx
mov ecx, esi
call fcn.00582de0
mov edx, dword [0x7c67dc]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x2e4]
mov cx, word [eax + 0x3c]
xor edx, edx
mov dx, word [0x7d4f10]
mov word [esp + 0x28], cx
push edx
call fcn.00595370
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x5fc711
mov eax, dword [0x7c67dc]
mov edx, dword [eax + 0xc0]
fld dword [edx + 0x34]
fcomp dword [0x7464b8]
fnstsw ax
test ah, 0x40
je 0x5fc711
mov ax, word [esp + 0x28]
cmp ax, word [ecx + 0x14]
jne 0x5fc711
push 1
mov ecx, ebp
call fcn.0057f2a0
push 0
mov ecx, ebx
call fcn.0057f2a0
mov ecx, dword [esp + 0x10]
push 0
call fcn.0057f2a0
push 1
mov ecx, edi
call fcn.0057f2a0
jmp 0x5fc73f
push 0
mov ecx, ebp
call fcn.0057f2a0
push 0
mov ecx, ebx
call fcn.0057f2a0
mov ecx, dword [esp + 0x10]
push 0
call fcn.0057f2a0
push 0
mov ecx, edi
call fcn.0057f2a0
mov dword [esp + 0x30], 0x12c
xor ecx, ecx
mov cx, word [0x7d4fb4]
push ecx
mov ecx, esi
call fcn.00582ad0
test ax, ax
jne 0x5fc77d
mov edx, dword [0x7c67dc]
mov al, byte [edx + 0xd6]
neg al
push 0x10
mov ecx, esi
sbb eax, eax
add eax, 0xffff80be
push eax
xor eax, eax
mov ax, word [0x7d4fb4]
push eax
call fcn.00581f30
mov ecx, esi
call fcn.00583b60
push 0x20
push fcn.00727b50
push 0xffff80ae
mov ecx, esi
call fcn.00581f30
mov dword [esi + 0x158], 0
mov byte [esi + 0x77], 1
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0xc0]
fld dword [edx + 0x34]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
jne 0x5fc822
test ecx, ecx
je 0x5fc7e7
call fcn.0040ff20
test eax, eax
je 0x5fc7e7
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov al, byte [eax + 0xdd]
cmp al, 0x13
je 0x5fc822
cmp al, 0x12
je 0x5fc822
mov ecx, dword [esp + 0x20]
push 1
mov dword [esi + 0x124], 0x3f000000
call fcn.0057f2a0
mov ecx, dword [esp + 0x14]
push 1
call fcn.0057f2a0
mov ecx, dword [esp + 0x18]
push 0
call fcn.0057f2a0
mov ecx, dword [esp + 0x1c]
push 0
call fcn.0057f2a0
jmp 0x5fc977
mov ecx, dword [esp + 0x14]
push 0
call fcn.0057f2a0
mov ecx, dword [esp + 0x18]
push 0
call fcn.0057f2a0
mov ecx, dword [esp + 0x1c]
push 0
call fcn.0057f2a0
mov ecx, dword [esp + 0x20]
push 0
call fcn.0057f2a0
sub dword [esp + 0x30], 0x32
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0xc0]
fld dword [ecx + 0x34]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
je 0x5fc952
mov al, byte [0x7d5005]
test al, al
jne 0x5fc952
mov ecx, 0x7cb478
call fcn.004d51b0
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x34]
mov edi, eax
test byte [edx + 8], 2
jne 0x5fc8a6
push 1
push str.Data_Files_Music_Special_morrowind_title.mp3
call fcn.00410fa0
push str..Morrowind.ini
push 0x200
push edi
push str.mw_logo.bik
push str.Morrowind_Logo
push str.Movies
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [0x7c6cdc]
mov ecx, dword [eax + 0x108]
push 1
call fcn.004599e0
mov ecx, dword [0x7c6cdc]
mov eax, dword [ecx + 0x108]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x5fc8f2
mov edx, dword [ecx]
push 0
call dword [edx + 0x1c]
mov eax, dword [0x7c6cdc]
mov ecx, dword [eax + 0x108]
push 0
push 0
push 0
push 0
push 0
push 1
push edi
call fcn.004587e0
mov ecx, dword [0x7c6cdc]
mov edi, dword [ecx + 0x108]
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x5fc952
call fcn.006b6e20
cmp eax, 2
je 0x5fc939
mov ecx, dword [edi + 4]
call fcn.006b6e20
cmp eax, 3
jne 0x5fc952
mov edx, dword [0x7c6cdc]
mov ecx, dword [edx + 0x108]
push 1
push 1
push 1
call fcn.00458910
jmp 0x5fc90f
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0xc0]
fld dword [ecx + 0x34]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
jne 0x5fc977
mov dword [esi + 0x124], 0x3f000000
xor edx, edx
mov dx, word [0x7d4ebe]
mov ecx, esi
push edx
call fcn.00582de0
mov edi, eax
xor eax, eax
mov ax, word [0x7d4ff0]
mov ecx, esi
push eax
call fcn.00582de0
xor ecx, ecx
mov cx, word [0x7d4fe2]
mov ebx, eax
push ecx
mov ecx, esi
call fcn.00582de0
xor edx, edx
mov dx, word [0x7d4f0a]
mov ecx, esi
mov ebp, eax
push edx
call fcn.00582de0
mov ecx, eax
mov eax, dword [0x7c67dc]
test eax, eax
je 0x5fca0c
mov eax, dword [eax + 0xc0]
test eax, eax
je 0x5fca0c
fld dword [eax + 0x34]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
jne 0x5fca0c
push 0
call fcn.0057f2a0
push 0
mov ecx, edi
call fcn.0057f2a0
push 0
mov ecx, ebx
call fcn.0057f2a0
push 0
mov ecx, ebp
call fcn.0057f2a0
sub dword [esp + 0x30], 0x32
mov eax, dword [esp + 0x30]
push eax
mov ecx, esi
call fcn.00581210
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, esi
call fcn.00581130
push 1
mov ecx, esi
call fcn.00583b70
xor edx, edx
mov dx, word [0x7d71d0]
push edx
call fcn.00595a10
add esp, 4
test eax, eax
pop edi
pop ebp
pop ebx
je 0x5fca4f
push 1
mov ecx, eax
call fcn.00582fb0
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0xc0]
fld dword [ecx + 0x34]
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
je 0x5fcae7
mov al, byte [0x7d5005]
test al, al
jne 0x5fcae7
mov edx, dword [0x7c6cdc]
mov byte [0x7d5005], 1
mov eax, dword [edx + 0x108]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x5fca94
mov eax, dword [ecx]
push 1
call dword [eax + 0x1c]
mov ecx, dword [0x7c6cdc]
mov ecx, dword [ecx + 0x108]
push 1
call fcn.00458cc0
mov ecx, 0x7cb478
call fcn.004d51b0
push str.Textures
mov esi, eax
push str._smenu_morrowind.tga
push esi
call dword [sym.imp.MSVCRT.dll_sprintf]
mov edx, dword [0x7c6cdc]
mov ecx, dword [edx + 0x108]
add esp, 0xc
push 1
push 1
push esi
call fcn.00458dd0
pop esi
add esp, 0x1c
ret
call fcn.005feb30
pop esi
add esp, 0x1c
ret