Function at 0x50e880
Capabilities:
Read .ini file
Write file on windows

Disassembly:
sub esp, 0x24
push ebx
push esi
push edi
mov ecx, 0x7cb478
call fcn.004d51b0
mov ecx, 0x7cb478
mov edi, eax
call fcn.004d5220
push str..Morrowind.ini
push 0x200
push edi
push 0x7c6180
push str.Beta_Comment_File
push str.General
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x50ec2e
push 0
push 0x80
push 4
push 0
push 0
push 0xc0000000
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x50ec2e
push ebp
push 2
push 0
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ecx, dword [esp + 0x1e]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ebp, dword [sym.imp.MSVCRT.dll_sprintf]
and ecx, 0xffff
push ecx
mov ecx, dword [esp + 0x1e]
and edx, 0xffff
push edx
mov edx, dword [esp + 0x1e]
and eax, 0xffff
push eax
and ecx, 0xffff
push ecx
and edx, 0xffff
push edx
push str._d__d__d___02d:_02d__t
push esi
call ebp
add esp, 0x1c
push 0
lea eax, [esp + 0x14]
push eax
or ecx, 0xffffffff
xor eax, eax
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [0x7cebec]
call fcn.004eee40
test eax, eax
je 0x50ea0f
mov ecx, dword [0x7cebec]
call fcn.004eee40
add eax, 0xc
push eax
push 0x7b05e8
push esi
call ebp
add esp, 0xc
push 0
lea ecx, [esp + 0x14]
push ecx
or ecx, 0xffffffff
xor eax, eax
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [0x7cebec]
lea edx, [esp + 0x24]
push edx
call fcn.004eee40
mov ecx, eax
call fcn.004b5ab0
mov eax, dword [esp + 0x2e]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
and eax, 0xffff
push eax
mov eax, dword [esp + 0x2e]
and ecx, 0xffff
push ecx
mov ecx, dword [esp + 0x2e]
and edx, 0xffff
push edx
and eax, 0xffff
push eax
and ecx, 0xffff
push ecx
push str._d__d__d___02d:_02d__t
push esi
call ebp
add esp, 0x1c
push 0
lea edx, [esp + 0x14]
push edx
jmp 0x50ea21
push 0x7b05e4
push esi
call ebp
add esp, 8
push 0
lea eax, [esp + 0x14]
push eax
or ecx, 0xffffffff
xor eax, eax
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push 0x7c6b3c
push 0x7b05e8
push esi
call ebp
add esp, 0xc
push 0
lea ecx, [esp + 0x14]
push ecx
or ecx, 0xffffffff
xor eax, eax
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [0x7cebec]
mov ecx, dword [edx + 0x28]
mov eax, dword [ecx]
call dword [eax + 0x20]
push eax
push 0x7b05e8
push esi
call ebp
add esp, 0xc
push 0
lea ecx, [esp + 0x14]
push ecx
or ecx, 0xffffffff
xor eax, eax
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [0x7cebec]
call fcn.004eb670
mov edi, eax
test edi, edi
jne 0x50eab6
push str.NO_CELL_t
push esi
call ebp
add esp, 8
jmp 0x50eaf9
mov ecx, edi
call fcn.004e22f0
test al, al
jne 0x50eae6
mov ecx, edi
call fcn.004db9f0
push eax
mov ecx, edi
call fcn.004db9d0
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 0x20]
push eax
push str._s___d__d__t
push esi
call ebp
add esp, 0x14
jmp 0x50eaf9
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x20]
push eax
push 0x7b05e8
push esi
call ebp
add esp, 0xc
push 0
lea ecx, [esp + 0x14]
push ecx
or ecx, 0xffffffff
xor eax, eax
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [0x7cebec]
sub esp, 8
fld dword [edx + 0x38]
fstp qword [esp]
push str._.0f_t
push esi
call ebp
add esp, 0x10
push 0
lea eax, [esp + 0x14]
push eax
or ecx, 0xffffffff
xor eax, eax
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [0x7cebec]
sub esp, 8
fld dword [ecx + 0x3c]
fstp qword [esp]
push str._.0f_t
push esi
call ebp
add esp, 0x10
or ecx, 0xffffffff
xor eax, eax
mov edi, esi
repne scasb al, byte es:[edi]
push 0
lea edx, [esp + 0x14]
push edx
not ecx
dec ecx
push ecx
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [0x7cebec]
sub esp, 8
fld dword [eax + 0x40]
fstp qword [esp]
push str._.0f_t
push esi
call ebp
add esp, 0x10
push 0
lea ecx, [esp + 0x14]
push ecx
or ecx, 0xffffffff
xor eax, eax
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push 0x7ce6f8
push str.__s__t
push esi
call ebp
add esp, 0xc
or ecx, 0xffffffff
xor eax, eax
mov edi, esi
repne scasb al, byte es:[edi]
push 0
lea edx, [esp + 0x14]
push edx
not ecx
dec ecx
push ecx
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push 0x776ca0
push esi
call ebp
add esp, 8
push 0
lea eax, [esp + 0x14]
push eax
or ecx, 0xffffffff
xor eax, eax
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, byte [0x7cebdc]
test al, al
pop ebp
je 0x50ec2e
mov ecx, dword [0x7c67dc]
push str.Beta_Comment_added.
push ecx
call fcn.0040f970
add esp, 8
pop edi
pop esi
pop ebx
add esp, 0x24
ret