Function at 0x4308e0
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x98
push edi
mov edi, dword [esp + 0xa0]
test edi, edi
je 0x430ce2
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push str..Morrowind.ini
push 0xa
lea eax, [esp + 0x28]
push eax
push 0x777760
push str.DirectionalDiffuseR
push str.Inventory
call esi
lea ecx, [esp + 0x20]
push ecx
call dword [sym.imp.MSVCRT.dll_atof]
fst dword [esp + 0x1c]
fcomp dword [0x746470]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x430943
mov dword [esp + 0x18], 0x3f800000
jmp 0x43095c
fld dword [esp + 0x18]
fcomp dword [0x7464b8]
fnstsw ax
test ah, 1
je 0x43095c
mov dword [esp + 0x18], 0xbf800000
push str..Morrowind.ini
push 0xa
lea edx, [esp + 0x28]
push edx
push 0x777760
push str.DirectionalDiffuseG
push str.Inventory
call esi
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.MSVCRT.dll_atof]
fst dword [esp + 0x20]
fcomp dword [0x746470]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x4309a2
mov dword [esp + 0x1c], 0x3f800000
jmp 0x4309bb
fld dword [esp + 0x1c]
fcomp dword [0x7464b8]
fnstsw ax
test ah, 1
je 0x4309bb
mov dword [esp + 0x1c], 0xbf800000
push str..Morrowind.ini
push 0xa
lea ecx, [esp + 0x28]
push ecx
push 0x777760
push str.DirectionalDiffuseB
push str.Inventory
call esi
lea edx, [esp + 0x20]
push edx
call dword [sym.imp.MSVCRT.dll_atof]
fst dword [esp + 0x18]
fcomp dword [0x746470]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x430a01
mov dword [esp + 0x14], 0x3f800000
jmp 0x430a1a
fld dword [esp + 0x14]
fcomp dword [0x7464b8]
fnstsw ax
test ah, 1
je 0x430a1a
mov dword [esp + 0x14], 0xbf800000
push str..Morrowind.ini
push 0xa
lea eax, [esp + 0x28]
push eax
push 0x777770
push str.DirectionalAmbientR
push str.Inventory
call esi
lea ecx, [esp + 0x20]
push ecx
call dword [sym.imp.MSVCRT.dll_atof]
fst dword [esp + 0x10]
fcomp dword [0x746470]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x430a60
mov dword [esp + 0xc], 0x3f800000
jmp 0x430a79
fld dword [esp + 0xc]
fcomp dword [0x7464b8]
fnstsw ax
test ah, 1
je 0x430a79
mov dword [esp + 0xc], 0xbf800000
push str..Morrowind.ini
push 0xa
lea edx, [esp + 0x28]
push edx
push 0x777770
push str.DirectionalAmbientG
push str.Inventory
call esi
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.MSVCRT.dll_atof]
fst dword [esp + 0x14]
fcomp dword [0x746470]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x430abf
mov dword [esp + 0x10], 0x3f800000
jmp 0x430ad8
fld dword [esp + 0x10]
fcomp dword [0x7464b8]
fnstsw ax
test ah, 1
je 0x430ad8
mov dword [esp + 0x10], 0xbf800000
push str..Morrowind.ini
push 0xa
lea ecx, [esp + 0x28]
push ecx
push 0x777770
push str.DirectionalAmbientB
push str.Inventory
call esi
lea edx, [esp + 0x20]
push edx
call dword [sym.imp.MSVCRT.dll_atof]
fst dword [esp + 0xc]
fcomp dword [0x746470]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x430b1e
mov dword [esp + 8], 0x3f800000
jmp 0x430b37
fld dword [esp + 8]
fcomp dword [0x7464b8]
fnstsw ax
test ah, 1
je 0x430b37
mov dword [esp + 8], 0xbf800000
push str..Morrowind.ini
push 0xa
lea eax, [esp + 0x28]
push eax
push 0x777760
push str.DirectionalRotationX
push str.Inventory
call esi
lea ecx, [esp + 0x20]
push ecx
call dword [sym.imp.MSVCRT.dll_atof]
fmul dword [0x7464f0]
add esp, 4
fcom dword [0x7469c4]
fst dword [esp + 0x2c]
fnstsw ax
test ah, 0x41
jne 0x430b90
fsub dword [0x7469c4]
fcom dword [0x7469c4]
fnstsw ax
test ah, 0x41
je 0x430b79
fst dword [esp + 0x2c]
fcom dword [0x746468]
fnstsw ax
test ah, 1
je 0x430c33
fadd dword [0x7469c4]
fcom dword [0x746468]
fnstsw ax
test ah, 1
jne 0x430ba1
fstp dword [esp + 0x2c]
push str..Morrowind.ini
push 0xa
lea edx, [esp + 0x28]
push edx
push 0x785be0
push str.DirectionalRotationY
push str.Inventory
call esi
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.MSVCRT.dll_atof]
fmul dword [0x7464f0]
add esp, 4
fcom dword [0x7469c4]
fst dword [esp + 0x30]
fnstsw ax
test ah, 0x41
jne 0x430c11
fsub dword [0x7469c4]
fcom dword [0x7469c4]
fnstsw ax
test ah, 0x41
je 0x430bfa
fst dword [esp + 0x30]
fcom dword [0x746468]
fnstsw ax
test ah, 1
je 0x430c37
fadd dword [0x7469c4]
fcom dword [0x746468]
fnstsw ax
test ah, 1
jne 0x430c1e
jmp 0x430c3b
fstp st(0)
jmp 0x430bb8
fstp st(0)
jmp 0x430c3f
fstp dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov dword [edi + 0xb8], ecx
mov ecx, dword [esp + 0xc]
mov dword [edi + 0xc0], eax
mov dword [edi + 0xbc], edx
mov eax, dword [edi + 0x9c]
mov edx, dword [esp + 0x10]
inc eax
mov dword [edi + 0x9c], eax
mov eax, dword [esp + 8]
mov dword [edi + 0xac], ecx
mov ecx, dword [esp + 0x2c]
mov dword [edi + 0xb0], edx
mov dword [edi + 0xb4], eax
mov esi, dword [edi + 0x9c]
push ecx
inc esi
lea ecx, [esp + 0x38]
mov dword [edi + 0x9c], esi
call fcn.006e7d20
fld dword [esp + 0x30]
push ecx
fstp dword [esp]
lea ecx, [esp + 0x5c]
call fcn.006e7d60
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x3c]
call fcn.006e80a0
push eax
lea ecx, [esp + 0x38]
call fcn.006e7cd0
lea ecx, [esp + 0x34]
push ecx
lea ecx, [edi + 0x2c]
call fcn.006e93d0
pop esi
pop edi
add esp, 0x98
ret