Function at 0x5fb660
Capabilities:
Get file version info
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
call fcn.004678f0
dec eax
mov dword [ebp - 8], 0x78
jne 0x5fb67c
mov dword [ebp - 8], 0xf8
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov ecx, esi
call fcn.00583b60
xor eax, eax
mov ax, word [0x7d4f10]
push 1
push fcn.00642550
mov ecx, esi
push eax
call fcn.00588140
xor ecx, ecx
mov cx, word [0x7d4b3c]
push 0x10
mov eax, 0xffff80bd
push eax
push ecx
mov ecx, esi
call fcn.00581f30
xor edi, edi
push edi
mov ecx, esi
call fcn.005813c0
push edi
mov ecx, esi
call fcn.00581400
push 0x7c6180
mov ecx, esi
mov dword [esi + 0x120], 0x3f000000
mov dword [esi + 0x124], 0x3f733333
mov dword [esi + 0x158], edi
mov byte [esi + 0x77], 1
mov dword [esi + 0xc8], edi
call fcn.0058ae20
push 0x10
mov eax, 0xffff80be
push eax
push 0xffff8051
mov ecx, esi
call fcn.00581f30
push 0x15e
mov ecx, esi
call fcn.00581210
mov edx, dword [ebp - 8]
push edx
mov ecx, esi
call fcn.00581130
push 0x20
push 0x58f790
push 0xffff8043
mov ecx, esi
call fcn.00581f30
push 8
push fcn.005fcb30
push 0xffff8047
mov ecx, esi
call fcn.00581f30
push 0x20
push 0x5fd120
push 0xffff803f
mov ecx, esi
call fcn.00581f30
xor eax, eax
mov ax, word [0x7d7e50]
mov ecx, esi
push eax
call fcn.00582de0
mov esi, eax
push 0x7c6180
mov ecx, esi
call fcn.0058ae20
push 2
mov dword [ebp + 8], 0x3f000000
mov ecx, dword [ebp + 8]
push ecx
push 0xffff8054
mov ecx, esi
mov dword [esi + 0xc8], edi
call fcn.00581f30
push 2
mov dword [ebp + 8], 0x3f000000
mov edx, dword [ebp + 8]
push edx
push 0xffff8055
mov ecx, esi
call fcn.00581f30
push edi
push 0xffff80b4
mov ecx, esi
call fcn.00588980
mov ebx, eax
push 1
mov ecx, ebx
call fcn.005813c0
push 1
mov ecx, ebx
call fcn.00581400
push 0x10
mov eax, 0xffff80cc
push eax
push 0xffff8059
mov ecx, ebx
call fcn.00581f30
push 2
mov dword [ebp + 8], 0x3f000000
mov eax, dword [ebp + 8]
push eax
push 0xffff8054
mov ecx, ebx
mov dword [ebx + 0xb4], edi
mov dword [ebx + 0xc8], edi
call fcn.00581f30
push 2
mov dword [ebp + 8], 0x3f000000
mov ecx, dword [ebp + 8]
push ecx
push 0xffff8055
mov ecx, ebx
call fcn.00581f30
mov ecx, 0x7cb478
call fcn.004d51b0
xor edx, edx
mov dx, word [0x7d4ef8]
push edi
mov ecx, ebx
mov esi, eax
push edx
call fcn.00588980
mov edi, eax
push 0x78
mov ecx, edi
mov dword [ebp - 4], edi
call fcn.00581130
push 0x32
mov ecx, edi
call fcn.00581210
push 1
xor eax, eax
push eax
push 0xffff800b
mov ecx, edi
call fcn.00581f30
push 0x20
push 0x5fdcd0
push 0xffff8035
mov ecx, edi
call fcn.00581f30
push 0x20
push 0x5fddc0
push 0xffff8034
mov ecx, edi
call fcn.00581f30
push 0x20
push 0x5fde60
push 0xffff8033
mov ecx, edi
call fcn.00581f30
push 0x20
push 0x5fdf00
push 0xffff8032
mov ecx, edi
call fcn.00581f30
mov edi, dword [sym.imp.MSVCRT.dll_sprintf]
push str.Textures
push str._smenu_return.tga
push esi
call edi
mov ecx, dword [ebp - 4]
xor eax, eax
mov ax, word [0x7d4ef0]
add esp, 0xc
push 0
push esi
push eax
call fcn.00588630
push 0x78
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.00581130
mov ecx, dword [ebp + 8]
push 0x32
call fcn.00581210
mov ecx, dword [ebp + 8]
push 1
xor eax, eax
push eax
push 0xffff800b
call fcn.00581f30
mov ecx, dword [ebp + 8]
push str.Textures
push str._smenu_return_over.tga
push esi
mov byte [ecx + 0x7f], 0
call edi
mov ecx, dword [ebp - 4]
xor edx, edx
mov dx, word [0x7d4f08]
add esp, 0xc
push 0
push esi
push edx
call fcn.00588630
push 0x78
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.00581130
mov ecx, dword [ebp + 8]
push 0x32
call fcn.00581210
mov ecx, dword [ebp + 8]
push 1
xor eax, eax
push eax
push 0xffff800b
call fcn.00581f30
mov ecx, dword [ebp + 8]
push 0
mov byte [ecx + 0x7f], 0
call fcn.0057f2a0
push str.Textures
push str._smenu_return_pressed.tga
push esi
call edi
mov ecx, dword [ebp - 4]
xor eax, eax
mov ax, word [0x7d4fda]
add esp, 0xc
push 0
push esi
push eax
call fcn.00588630
push 0x78
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.00581130
mov ecx, dword [ebp + 8]
push 0x32
call fcn.00581210
xor eax, eax
push 1
push eax
mov ecx, dword [ebp + 8]
push 0xffff800b
call fcn.00581f30
mov ecx, dword [ebp + 8]
push 0
mov byte [ecx + 0x7f], 0
call fcn.0057f2a0
xor ecx, ecx
mov cx, word [0x7d4f3a]
push 0
push ecx
mov ecx, ebx
call fcn.00588980
mov edx, dword [ebp - 8]
push edx
mov ecx, eax
mov dword [ebp - 4], eax
call fcn.00581130
mov ecx, dword [ebp - 4]
push 0x32
call fcn.00581210
mov ecx, dword [ebp - 4]
push 1
xor eax, eax
push eax
push 0xffff800b
call fcn.00581f30
mov ecx, dword [ebp - 4]
push 0x20
push 0x5fcc40
push 0xffff8035
call fcn.00581f30
mov ecx, dword [ebp - 4]
push 0x20
push 0x5fcd00
push 0xffff8034
call fcn.00581f30
mov ecx, dword [ebp - 4]
push 0x20
push 0x5fce50
push 0xffff8033
call fcn.00581f30
mov ecx, dword [ebp - 4]
push 0x20
push 0x5fcef0
push 0xffff8032
call fcn.00581f30
push str.Textures
push str._smenu_newgame.tga
push esi
call edi
mov ecx, dword [ebp - 4]
xor eax, eax
mov ax, word [0x7d4fe6]
add esp, 0xc
push 0
push esi
push eax
call fcn.00588630
mov ecx, dword [ebp - 8]
push ecx
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.00581130
mov ecx, dword [ebp + 8]
push 0x32
call fcn.00581210
mov ecx, dword [ebp + 8]
push 1
xor eax, eax
push eax
push 0xffff800b
mov byte [ecx + 0x7f], 0
call fcn.00581f30
push str.Textures
push str._smenu_newgame_over.tga
push esi
call edi
add esp, 0xc
push 0
push esi
mov ecx, dword [ebp - 4]
xor edx, edx
mov dx, word [0x7d4f28]
push edx
call fcn.00588630
mov ecx, dword [ebp - 8]
push ecx
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.00581130
mov ecx, dword [ebp + 8]
push 0x32
call fcn.00581210
mov ecx, dword [ebp + 8]
push 1
xor eax, eax
push eax
push 0xffff800b
call fcn.00581f30
mov ecx, dword [ebp + 8]
push 0
mov byte [ecx + 0x7f], 0
call fcn.0057f2a0
push str.Textures
push str._smenu_newgame_pressed.tga
push esi
call edi
mov ecx, dword [ebp - 4]
xor edx, edx
mov dx, word [0x7d4f5c]
add esp, 0xc
push 0
push esi
push edx
call fcn.00588630
mov ecx, dword [ebp - 8]
push ecx
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.00581130
mov ecx, dword [ebp + 8]
push 0x32
call fcn.00581210
mov ecx, dword [ebp + 8]
push 1
xor eax, eax
push eax
push 0xffff800b
call fcn.00581f30
mov ecx, dword [ebp + 8]
push 0
mov byte [ecx + 0x7f], 0
call fcn.0057f2a0
push str..Morrowind.ini
push 0
push str.QuickStart
push str.General
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
cmp eax, 1
jne 0x5fbc1f
mov ecx, dword [ebp - 4]
xor edx, edx
mov dx, word [0x7d4fe6]
push 0
push fcn.00639420
push edx
call fcn.00588140
push 0
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.005813c0
mov ecx, dword [ebp + 8]
push 1
mov eax, 0xc8
push eax
push 0xffff802b
call fcn.00581f30
mov ecx, dword [ebp + 8]
push 1
xor eax, eax
push eax
push 0xffff800b
call fcn.00581f30
mov ecx, dword [ebp + 8]
push 1
mov eax, 5
push eax
push 0xffff800e
call fcn.00581f30
mov ecx, dword [ebp + 8]
push 2
mov dword [ebp - 4], 0x3f000000
mov eax, dword [ebp - 4]
push eax
push 0xffff8054
call fcn.00581f30
mov ecx, dword [ebp + 8]
push 0x20
push 0x5fe070
push 0xffff8035
call fcn.00581f30
mov ecx, dword [ebp + 8]
push str.QuickStart
call fcn.0058ad30
jmp 0x5fbc2c
mov ecx, dword [0x7c67dc]
mov byte [ecx + 0xe6], 0
xor edx, edx
mov dx, word [0x7d4ed8]
push 0
mov ecx, ebx
push edx
call fcn.00588980
mov ecx, dword [ebp - 8]
push ecx
mov ecx, eax
mov dword [ebp - 4], eax
call fcn.00581130
mov ecx, dword [ebp - 4]
push 0x32
call fcn.00581210
mov ecx, dword [ebp - 4]
push 1
xor eax, eax
push eax
push 0xffff800b
call fcn.00581f30
mov ecx, dword [ebp - 4]
push 0x20
push 0x5fcf90
push 0xffff8035
call fcn.00581f30
mov ecx, dword [ebp - 4]
push 0x20
push 0x5fd080
push 0xffff8034
call fcn.00581f30
mov ecx, dword [ebp - 4]
push 0x20
push 0x5fd190
push 0xffff8033
call fcn.00581f30
mov ecx, dword [ebp - 4]
push 0x20
push 0x5fd230
push 0xffff8032
call fcn.00581f30
push str.Textures
push str._smenu_savegame.tga
push esi
call edi
mov ecx, dword [ebp - 4]
xor edx, edx
mov dx, word [0x7d4fac]
add esp, 0xc
push 0
push esi
push edx
call fcn.00588630
mov ecx, dword [ebp - 8]
push ecx
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.00581130
mov ecx, dword [ebp + 8]
push 0x32
call fcn.00581210
mov ecx, dword [ebp + 8]
push 1
xor eax, eax
push eax
push 0xffff800b
mov byte [ecx + 0x7f], 0
call fcn.00581f30
push str.Textures
push str._smenu_savegame_over.tga
push esi
call edi
mov ecx, dword [ebp - 4]
xor edx, edx
mov dx, word [0x7d4f12]
add esp, 0xc
push 0
push esi
push edx
call fcn.00588630
mov ecx, dword [ebp - 8]
mov dword [ebp + 8], eax
push ecx
mov ecx, eax
call fcn.00581130
mov ecx, dword [ebp + 8]
push 0x32
call fcn.00581210
mov ecx, dword [ebp + 8]
push 1
xor eax, eax
push eax
push 0xffff800b
call fcn.00581f30
mov ecx, dword [ebp + 8]
push 0
mov byte [ecx + 0x7f], 0
call fcn.0057f2a0
push str.Textures
push str._smenu_savegame_pressed.tga
push esi
call edi
mov ecx, dword [ebp - 4]
xor edx, edx
mov dx, word [0x7d4f8e]
add esp, 0xc
push 0
push esi
push edx
call fcn.00588630
mov ecx, dword [ebp - 8]
push ecx
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.00581130
mov ecx, dword [ebp + 8]
push 0x32
call fcn.00581210
mov ecx, dword [ebp + 8]
push 1
xor eax, eax
push eax
push 0xffff800b
call fcn.00581f30
mov ecx, dword [ebp + 8]
push 0
mov byte [ecx + 0x7f], 0
call fcn.0057f2a0
xor edx, edx
mov dx, word [0x7d4f8c]
push 0
mov ecx, ebx
push edx
call fcn.00588980
push 0x78
mov ecx, eax
mov dword [ebp - 4], eax
call fcn.00581130
mov ecx, dword [ebp - 4]
push 0x32
call fcn.00581210
mov ecx, dword [ebp - 4]
push 1
xor eax, eax
push eax
push 0xffff800b
call fcn.00581f30
mov ecx, dword [ebp - 4]
push 0x20
push 0x5fd2d0
push 0xffff8035
call fcn.00581f30
mov ecx, dword [ebp - 4]
push 0x20
push 0x5fd310
push 0xffff8034
call fcn.00581f30
mov ecx, dword [ebp - 4]
push 0x20
push 0x5fd3b0
push 0xffff8033
call fcn.00581f30
push 0x20
mov ecx, dword [ebp - 4]
push 0x5fd450
push 0xffff8032
call fcn.00581f30
push str.Textures
push str._smenu_loadgame.tga
push esi
call edi
mov ecx, dword [ebp - 4]
xor eax, eax
mov ax, word [0x7d4f64]
add esp, 0xc
push 0
push esi
push eax
call fcn.00588630
push 0x78
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.00581130
mov ecx, dword [ebp + 8]
push 0x32
call fcn.00581210
mov ecx, dword [ebp + 8]
push 1
xor eax, eax
push eax
push 0xffff800b
mov byte [ecx + 0x7f], 0
call fcn.00581f30
push str.Textures
push str._smenu_loadgame_over.tga
push esi
call edi
xor ecx, ecx
mov cx, word [0x7d4f38]
add esp, 0xc
push 0
push esi
push ecx
mov ecx, dword [ebp - 4]
call fcn.00588630
push 0x78
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.00581130
mov ecx, dword [ebp + 8]
push 0x32
call fcn.00581210
mov ecx, dword [ebp + 8]
push 1
xor eax, eax
push eax
push 0xffff800b
call fcn.00581f30
mov ecx, dword [ebp + 8]
push 0
mov byte [ecx + 0x7f], 0
call fcn.0057f2a0
push str.Textures
push str._smenu_loadgame_pressed.tga
push esi
call edi
mov ecx, dword [ebp - 4]
xor edx, edx
mov dx, word [0x7d4fcc]
add esp, 0xc
push 0
push esi
push edx
call fcn.00588630
push 0x78
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.00581130
mov ecx, dword [ebp + 8]
push 0x32
call fcn.00581210
xor eax, eax
push 1
push eax
mov ecx, dword [ebp + 8]
push 0xffff800b
call fcn.00581f30
mov ecx, dword [ebp + 8]
push 0
mov byte [ecx + 0x7f], 0
call fcn.0057f2a0
xor eax, eax
mov ax, word [0x7d4f44]
push 0
mov ecx, ebx
push eax
call fcn.00588980
push 0x78
mov ecx, eax
mov dword [ebp - 4], eax
call fcn.00581130
mov ecx, dword [ebp - 4]
push 0x32
call fcn.00581210
mov ecx, dword [ebp - 4]
push 1
xor eax, eax
push eax
push 0xffff800b
call fcn.00581f30
mov ecx, dword [ebp - 4]
push 0x20
push 0x5fd4f0
push 0xffff8035
call fcn.00581f30
mov ecx, dword [ebp - 4]
push 0x20
push 0x5fd560
push 0xffff8034
call fcn.00581f30
mov ecx, dword [ebp - 4]
push 0x20
push 0x5fd600
push 0xffff8033
call fcn.00581f30
mov ecx, dword [ebp - 4]
push 0x20
push 0x5fd6a0
push 0xffff8032
call fcn.00581f30
push str.Textures
push str._smenu_options.tga
push esi
call edi
xor ecx, ecx
mov cx, word [0x7d4fd8]
add esp, 0xc
push 0
push esi
push ecx
mov ecx, dword [ebp - 4]
call fcn.00588630
push 0x78
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.00581130
mov ecx, dword [ebp + 8]
push 0x32
call fcn.00581210
mov ecx, dword [ebp + 8]
push 1
xor eax, eax
push eax
push 0xffff800b
mov byte [ecx + 0x7f], 0
call fcn.00581f30
push str.Textures
push str._smenu_options_over.tga
push esi
call edi
add esp, 0xc
push 0
xor edx, edx
mov dx, word [0x7d4edc]
push esi
mov ecx, dword [ebp - 4]
push edx
call fcn.00588630
push 0x78
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.00581130
mov ecx, dword [ebp + 8]
push 0x32
call fcn.00581210
mov ecx, dword [ebp + 8]
push 1
xor eax, eax
push eax
push 0xffff800b
call fcn.00581f30
mov ecx, dword [ebp + 8]
push 0
mov byte [ecx + 0x7f], 0
call fcn.0057f2a0
push str.Textures
push str._smenu_options_pressed.tga
push esi
call edi
mov ecx, dword [ebp - 4]
xor eax, eax
mov ax, word [0x7d4fe0]
add esp, 0xc
push 0
push esi
push eax
call fcn.00588630
push 0x78
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.00581130
mov ecx, dword [ebp + 8]
push 0x32
call fcn.00581210
mov ecx, dword [ebp + 8]
push 1
xor eax, eax
push eax
push 0xffff800b
call fcn.00581f30
mov ecx, dword [ebp + 8]
push 0
mov byte [ecx + 0x7f], 0
call fcn.0057f2a0
xor ecx, ecx
mov cx, word [0x7d4f0a]
push 0
push ecx
mov ecx, ebx
call fcn.00588980
push 0x78
mov ecx, eax
mov dword [ebp - 4], eax
call fcn.00581130
mov ecx, dword [ebp - 4]
push 0x32
call fcn.00581210
mov ecx, dword [ebp - 4]
push 1
xor eax, eax
push eax
push 0xffff800b
call fcn.00581f30
mov ecx, dword [ebp - 4]
push 0x20
push 0x5fd740
push 0xffff8035
call fcn.00581f30
mov ecx, dword [ebp - 4]
push 0x20
push 0x5fd890
push 0xffff8034
call fcn.00581f30
push 0x20
push 0x5fd930
push 0xffff8033
mov ecx, dword [ebp - 4]
call fcn.00581f30
mov ecx, dword [ebp - 4]
push 0x20
push 0x5fd9d0
push 0xffff8032
call fcn.00581f30
push str.Textures
push str._smenu_credits.tga
push esi
call edi
mov ecx, dword [ebp - 4]
xor edx, edx
mov dx, word [0x7d4ebe]
add esp, 0xc
push 0
push esi
push edx
call fcn.00588630
push 0x78
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.00581130
mov ecx, dword [ebp + 8]
push 0x32
call fcn.00581210
mov ecx, dword [ebp + 8]
push 1
xor eax, eax
push eax
push 0xffff800b
mov byte [ecx + 0x7f], 0
call fcn.00581f30
push str.Textures
push str._smenu_credits_over.tga
push esi
call edi
mov ecx, dword [ebp - 4]
xor eax, eax
mov ax, word [0x7d4ff0]
add esp, 0xc
push 0
push esi
push eax
call fcn.00588630
push 0x78
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.00581130
mov ecx, dword [ebp + 8]
push 0x32
call fcn.00581210
mov ecx, dword [ebp + 8]
push 1
xor eax, eax
push eax
push 0xffff800b
call fcn.00581f30
mov ecx, dword [ebp + 8]
push 0
mov byte [ecx + 0x7f], 0
call fcn.0057f2a0
push str.Textures
push str._smenu_credits_pressed.tga
push esi
call edi
xor ecx, ecx
mov cx, word [0x7d4fe2]
add esp, 0xc
push 0
push esi
push ecx
mov ecx, dword [ebp - 4]
call fcn.00588630
push 0x78
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.00581130
mov ecx, dword [ebp + 8]
push 0x32
call fcn.00581210
mov ecx, dword [ebp + 8]
push 1
xor eax, eax
push eax
push 0xffff800b
call fcn.00581f30
mov ecx, dword [ebp + 8]
push 0
mov byte [ecx + 0x7f], 0
call fcn.0057f2a0
xor edx, edx
mov dx, word [0x7d4ebc]
push 0
mov ecx, ebx
push edx
call fcn.00588980
mov ebx, eax
push 0x78
mov ecx, ebx
call fcn.00581130
push 0x32
mov ecx, ebx
call fcn.00581210
push 1
xor eax, eax
push eax
push 0xffff800b
mov ecx, ebx
call fcn.00581f30
push 0x20
push 0x5fda70
push 0xffff8035
mov ecx, ebx
call fcn.00581f30
push 0x20
push 0x5fdaf0
push 0xffff8034
mov ecx, ebx
call fcn.00581f30
push 0x20
push 0x5fdb90
push 0xffff8033
mov ecx, ebx
call fcn.00581f30
push 0x20
push 0x5fdc30
push 0xffff8032
mov ecx, ebx
call fcn.00581f30
push str.Textures
push str._smenu_exitgame.tga
push esi
call edi
xor eax, eax
mov ax, word [0x7d4ed0]
add esp, 0xc
push 0
push esi
mov ecx, ebx
push eax
call fcn.00588630
push 0x78
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.00581130
mov ecx, dword [ebp + 8]
push 0x32
call fcn.00581210
mov ecx, dword [ebp + 8]
push 1
xor eax, eax
push eax
push 0xffff800b
mov byte [ecx + 0x7f], 0
call fcn.00581f30
push str.Textures
push str._smenu_exitgame_over.tga
push esi
call edi
add esp, 0xc
push 0
xor ecx, ecx
mov cx, word [0x7d4e90]
push esi
push ecx
mov ecx, ebx
call fcn.00588630
push 0x78
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.00581130
mov ecx, dword [ebp + 8]
push 0x32
call fcn.00581210
mov ecx, dword [ebp + 8]
push 1
xor eax, eax
push eax
push 0xffff800b
call fcn.00581f30
mov ecx, dword [ebp + 8]
push 0
mov byte [ecx + 0x7f], 0
call fcn.0057f2a0
push str.Textures
push str._smenu_exitgame_pressed.tga
push esi
call edi
xor edx, edx
mov dx, word [0x7d4f1c]
add esp, 0xc
push 0
push esi
mov ecx, ebx
push edx
call fcn.00588630
mov esi, eax
push 0x78
mov ecx, esi
call fcn.00581130
push 0x32
mov ecx, esi
call fcn.00581210
push 1
xor eax, eax
push eax
push 0xffff800b
mov ecx, esi
call fcn.00581f30
push 0
mov ecx, esi
mov byte [esi + 0x7f], 0
call fcn.0057f2a0
lea eax, [ebp - 0xc]
push eax
push str.Morrowind.EXE
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov esi, eax
test esi, esi
je 0x5fc533
push esi
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov ecx, dword [ebp - 0xc]
add esp, 4
mov edi, eax
push edi
push esi
push ecx
push str.Morrowind.EXE
call sub.VERSION.dll_GetFileVersionInfoA
lea edx, [ebp - 4]
push edx
lea eax, [ebp - 8]
push eax
push str.StringFileInfo040904b0ProductVersion
push edi
call sub.VERSION.dll_VerQueryValueA
mov ecx, dword [0x7c6cb0]
mov edx, dword [ecx]
call dword [edx + 0x54]
test al, al
mov byte [0x7d4fe4], al
je 0x5fc462
mov ecx, dword [0x7c6cb0]
mov eax, dword [ecx]
push 0
call dword [eax + 0x50]
lea ecx, [ebp - 0x2c]
push 0xffff80d1
push ecx
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
call fcn.0057f610
add esp, 8
mov dword [ebp - 0x10], 0x437f0000
fld dword [ebp - 0x10]
fistp dword [ebp - 0x14]
fld dword [ebp - 0x2c]
fmul dword [0x746568]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fistp dword [ebp - 0x18]
fld dword [ebp - 0x28]
fmul dword [0x746568]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fistp dword [ebp - 0x1c]
fld dword [ebp - 0x24]
fmul dword [0x746568]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fistp dword [ebp - 0x20]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 8]
shl edx, 8
or edx, eax
mov eax, dword [ebp - 0x20]
shl edx, 8
or edx, esi
shl edx, 8
or edx, eax
lea eax, [ebp + 8]
push eax
mov eax, dword [0x7c67dc]
mov dword [ebp + 8], edx
fild dword [eax + 0x7c]
push 1
push ecx
fmul dword [0x746498]
push ecx
fsubr dword [0x746470]
fstp dword [esp]
push ecx
fild dword [eax + 0x78]
fmul dword [0x746498]
fsubr dword [0x746470]
fstp dword [esp]
push 1
push 0x7d4f48
call fcn.00416870
push edi
call fcn.00727530
add esp, 0x20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret