Function at 0x40dac0
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x728265
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
push ebp
push esi
mov esi, ecx
mov dword [esp + 0x10], esi
call fcn.004535d0
xor ebx, ebx
mov dword [esi + 0xf4], ebx
lea ecx, [esi + 0xf8]
mov dword [esp + 0x20], ebx
call fcn.00432e60
lea ecx, [esi + 0x124]
mov byte [esp + 0x20], 1
call fcn.00432e60
lea ecx, [esi + 0x150]
mov byte [esp + 0x20], 2
call fcn.00432e60
lea ecx, [esi + 0x17c]
mov byte [esp + 0x20], 3
call fcn.00432e60
lea ecx, [esi + 0x1a8]
mov byte [esp + 0x20], 4
call fcn.0042d1e0
lea ecx, [esi + 0x22c]
mov byte [esp + 0x20], 5
call fcn.0042d1e0
lea ecx, [esi + 0x2b0]
mov byte [esp + 0x20], 6
call fcn.00432e60
mov dword [esi + 0x36c], ebx
xor eax, eax
lea ecx, [esi + 0x40]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [esi + 0x30], ebx
mov dword [esi + 0xa4], ebx
mov dword [esi + 0x4c], ebx
mov dword [0x7c67e0], ebx
mov dword [esi + 0x54], ebx
mov dword [esi + 0x58], ebx
mov dword [esi + 0x348], ebx
mov dword [esi + 0x34c], ebx
push 0x50
mov byte [esp + 0x24], 8
mov dword [esi + 0x350], ebx
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x20], 9
je 0x40dbbf
mov ecx, eax
call fcn.004080e0
jmp 0x40dbc1
xor eax, eax
mov dword [esi + 0x50], eax
mov dword [esi + 0x2e4], ebx
mov dword [esi + 0x34], ebx
mov dword [esi + 0xa8], ebx
mov dword [esi + 0xac], ebx
mov dword [esi + 0xb0], ebx
mov dword [esi + 0xb4], ebx
mov dword [esi + 0xb8], ebx
mov dword [esi + 0xbc], ebx
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xc4], ebx
mov dword [esi + 0x320], ebx
mov dword [esi + 0x328], ebx
mov dword [esi + 0x88], ebx
mov dword [esi + 0x90], 0x3f4ccccd
mov dword [esi + 0x98], 0x3e2aaaab
mov dword [esi + 0x9c], ebx
mov byte [esi + 0x8c], bl
mov byte [esi + 0xd4], 1
mov byte [esi + 0xd5], 1
mov byte [esi + 0xd6], bl
mov byte [esi + 0xd7], bl
mov byte [esi + 0xd8], 1
mov byte [esi + 0xd9], bl
mov byte [esi + 0xda], bl
mov byte [esi + 0xdb], bl
mov byte [esi + 0xdc], bl
mov byte [esi + 0xdd], bl
mov byte [esi + 0xde], bl
mov byte [esi + 0xdf], bl
mov byte [esi + 0xe0], bl
mov byte [esi + 0xe1], bl
mov byte [esi + 0xe2], bl
mov eax, 0x3b03126f
mov byte [esi + 0x94], bl
push edi
mov ecx, 0x7cb478
mov byte [esp + 0x24], 8
mov byte [esi + 0xe6], bl
mov byte [esi + 0x334], bl
mov byte [esi + 0xe7], 1
mov byte [esi + 0xe3], 1
mov dword [esi + 0xe8], eax
mov dword [esi + 0xec], eax
call fcn.004d51b0
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push str..Morrowind.ini
push 1
push str.PSWaterReflectTerrain
push str.Water
mov edi, eax
call ebp
push str..Morrowind.ini
push 0x200
push edi
push 0x7762f4
test eax, eax
push str.PSWaterReflectUpdate
setne dl
push str.Water
mov byte [esi + 0xe7], dl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0xf0]
mov byte [esi + 0xe4], bl
mov byte [esi + 0x344], bl
mov dword [esi + 0x84], ebx
mov ecx, dword [esi + 0xf4]
add esp, 4
cmp ecx, ebx
je 0x40dd54
dec dword [ecx + 4]
jne 0x40dd4e
cmp ecx, ebx
je 0x40dd4e
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0xf4], ebx
push str..Morrowind.ini
push 0x78
push str.Werewolf_FOV
push str.General
mov byte [esi + 0x368], bl
mov dword [esi + 0x32c], ebx
mov dword [esi + 0x68], ebx
mov dword [esi + 0x6c], ebx
call ebp
push 0x24
mov dword [esi + 0xa0], eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
cmp edi, ebx
je 0x40ddc0
mov cl, byte [esp + 0x13]
mov byte [edi], cl
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
mov dl, byte [esp + 0x13]
mov byte [edi + 0x10], dl
mov dword [edi + 0x14], ebx
mov dword [edi + 0x18], ebx
mov dword [edi + 0x1c], ebx
mov ecx, edi
mov byte [esp + 0x24], 0xc
call fcn.006321c0
jmp 0x40ddc2
xor edi, edi
push 0x14
mov byte [esp + 0x28], 8
mov dword [esi + 0x2e8], edi
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, ebx
mov byte [esp + 0x24], 0xd
pop edi
je 0x40ddee
mov ecx, eax
call fcn.0047e1e0
jmp 0x40ddf0
xor eax, eax
push 0x14
mov byte [esp + 0x24], 8
mov dword [esi + 0x338], eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x20], 0xe
je 0x40de1b
mov ecx, eax
call fcn.0047e1e0
jmp 0x40de1d
xor eax, eax
push 0x14
mov byte [esp + 0x24], 8
mov dword [esi + 0x33c], eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x20], 0xf
je 0x40de48
mov ecx, eax
call fcn.0047e1e0
jmp 0x40de4a
xor eax, eax
push 0x8c
mov byte [esp + 0x24], 8
mov dword [esi + 0x340], eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x20], 0x10
je 0x40de78
mov ecx, eax
call fcn.00563240
jmp 0x40de7a
xor eax, eax
push 0xc
mov byte [esp + 0x24], 8
mov dword [esi + 0x5c], eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x20], 0x11
je 0x40dea2
mov ecx, eax
call fcn.0055d750
jmp 0x40dea4
xor eax, eax
push 0xc
mov byte [esp + 0x24], 8
mov dword [esi + 0x60], eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x20], 0x12
je 0x40decc
mov ecx, eax
call fcn.00414f60
jmp 0x40dece
xor eax, eax
push 0x38
mov byte [esp + 0x24], 8
mov dword [esi + 0x64], eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x20], 0x13
je 0x40def6
mov ecx, eax
call fcn.00453e40
jmp 0x40def8
xor eax, eax
push 0x14
mov byte [esp + 0x24], 8
mov dword [esi + 0x70], eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x20], 0x14
je 0x40df20
mov ecx, eax
call fcn.004680f0
jmp 0x40df22
xor eax, eax
push 0x70
mov byte [esp + 0x24], 8
mov dword [esi + 0x74], eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x20], 0x15
je 0x40df4a
mov ecx, eax
call fcn.00434020
jmp 0x40df4c
xor eax, eax
push 0x38
mov byte [esp + 0x24], 8
mov dword [esi + 0x2dc], eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x20], 0x16
je 0x40df77
mov ecx, eax
call fcn.0041da30
jmp 0x40df79
xor eax, eax
push 3
push 3
mov ecx, eax
mov byte [esp + 0x28], 8
mov dword [esi + 0x2e0], eax
call fcn.0041eea0
push str..Morrowind.ini
push 0x5a
push str.DeadFloatScale
push str.General
call ebp
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov dword [esi + 0x354], ebx
mov dword [esi + 0x358], ebx
fmul dword [0x746608]
mov dword [esi + 0x35c], ebx
mov dword [esi + 0x360], ebx
mov dword [esi + 0x364], ebx
fstp dword [esi + 0x330]
mov eax, esi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x18
ret