Function at 0x439f60
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x729e1b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov dword [esp + 0x10], esi
mov dword [esi], ebx
mov dword [esp + 0x30], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x50], ebx
mov dword [esi + 0x54], ebx
mov dword [esi + 0x58], ebx
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x60], ebx
mov dword [esi + 0x64], ebx
mov dword [esi + 0x68], ebx
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x70], ebx
mov dword [esi + 0x74], ebx
mov dword [esi + 0x78], ebx
mov dword [esi + 0x7c], ebx
mov dword [esi + 0x80], ebx
mov dword [esi + 0x84], ebx
mov dword [esi + 0x88], ebx
mov dword [esi + 0x8c], ebx
mov dword [esi + 0x90], ebx
mov dword [esi + 0x94], ebx
mov dword [esi + 0x98], ebx
mov dword [esi + 0x9c], ebx
mov dword [esi + 0xa0], ebx
mov dword [esi + 0xa4], ebx
mov dword [esi + 0xac], ebx
mov dword [esi + 0xb0], ebx
mov dword [esi + 0xb4], ebx
lea ecx, [esi + 0x144]
mov byte [esp + 0x30], 0x16
call fcn.0047e1e0
lea ecx, [esi + 0x158]
mov byte [esp + 0x30], 0x17
call fcn.0047e1e0
mov dword [esi + 0x1b4], ebx
mov dword [esi + 0x1b8], ebx
mov dword [esi + 0x1bc], ebx
mov ecx, 0x7cb478
mov byte [esp + 0x30], 0x18
mov dword [esi + 0x1c4], ebx
mov dword [esi + 0x1c8], ebx
mov dword [esi + 0x1cc], ebx
call fcn.004d51b0
mov edi, eax
mov eax, dword [0x7c67e0]
mov dword [esi + 0x1d4], eax
push 0x318
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x30], 0x19
je 0x43a089
push esi
mov ecx, eax
call fcn.00446320
jmp 0x43a08b
xor eax, eax
push 0x318
mov byte [esp + 0x34], 0x18
mov dword [esi + 0x14], 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 + 0x30], 0x1a
je 0x43a0b7
push esi
mov ecx, eax
call fcn.004470e0
jmp 0x43a0b9
xor eax, eax
push 0x318
mov byte [esp + 0x34], 0x18
mov dword [esi + 0x18], 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 + 0x30], 0x1b
je 0x43a0e5
push esi
mov ecx, eax
call fcn.00447f30
jmp 0x43a0e7
xor eax, eax
push 0x318
mov byte [esp + 0x34], 0x18
mov dword [esi + 0x1c], 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 + 0x30], 0x1c
je 0x43a113
push esi
mov ecx, eax
call fcn.00448d40
jmp 0x43a115
xor eax, eax
push 0x43c
mov byte [esp + 0x34], 0x18
mov dword [esi + 0x20], 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 + 0x30], 0x1d
je 0x43a141
push esi
mov ecx, eax
call fcn.00449be0
jmp 0x43a143
xor eax, eax
push 0x86c
mov byte [esp + 0x34], 0x18
mov dword [esi + 0x24], 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 + 0x30], 0x1e
je 0x43a16f
push esi
mov ecx, eax
call fcn.0044b4c0
jmp 0x43a171
xor eax, eax
push 0x324
mov byte [esp + 0x34], 0x18
mov dword [esi + 0x28], 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 + 0x30], 0x1f
je 0x43a19d
push esi
mov ecx, eax
call fcn.0044d2b0
jmp 0x43a19f
xor eax, eax
push 0x340
mov byte [esp + 0x34], 0x18
mov dword [esi + 0x2c], 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 + 0x30], 0x20
je 0x43a1cb
push esi
mov ecx, eax
call fcn.0044e470
jmp 0x43a1cd
xor eax, eax
push 0x330
mov byte [esp + 0x34], 0x18
mov dword [esi + 0x30], 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 + 0x30], 0x21
je 0x43a1f9
push esi
mov ecx, eax
call fcn.0044f710
jmp 0x43a1fb
xor eax, eax
push 0x31c
mov byte [esp + 0x34], 0x18
mov dword [esi + 0x34], 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 + 0x30], 0x22
je 0x43a227
push esi
mov ecx, eax
call fcn.004508c0
jmp 0x43a229
xor eax, eax
mov ecx, dword [esp + 0x38]
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [esi + 0x38], eax
mov edx, dword [esi + ecx*4 + 0x14]
mov dword [esi + 0x3c], edx
mov dword [esi + 0x40], ebx
mov eax, dword [0x7de6cc]
push str..Morrowind.ini
push 0x200
mov dword [esi + 0x1dc], eax
mov ecx, dword [0x7de6d0]
push edi
mov dword [esi + 0x1e0], ecx
mov edx, dword [0x7de6d4]
push 0x7864dc
mov dword [esi + 0x1e4], edx
push str.Sun_Glare_Fader_Max
mov byte [esi + 0x19c], bl
push str.Weather
mov byte [esp + 0x48], 0x18
mov dword [esi + 0xd0], 0x3f800000
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fst dword [esi + 0xd4]
fcomp dword [0x746468]
add esp, 4
fnstsw ax
test ah, 1
je 0x43a2b7
mov dword [esi + 0xd4], ebx
fld dword [esi + 0xd4]
fcomp dword [0x746470]
fnstsw ax
test ah, 0x41
jne 0x43a2d4
mov dword [esi + 0xd4], 0x3f800000
push str..Morrowind.ini
push 0x200
push edi
push str.15.0
push str.Sun_Glare_Fader_Angle_Max
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fmul dword [0x7464f0]
add esp, 4
fst dword [esi + 0xd8]
fcomp dword [0x746468]
fnstsw ax
test ah, 1
je 0x43a332
fld dword [esi + 0xd8]
fadd dword [0x7469c4]
fst dword [esi + 0xd8]
fcomp dword [0x746468]
fnstsw ax
test ah, 1
jne 0x43a313
fld dword [esi + 0xd8]
fcomp dword [0x7469c4]
fnstsw ax
test ah, 0x41
jne 0x43a364
fld dword [esi + 0xd8]
fsub dword [0x7469c4]
fst dword [esi + 0xd8]
fcomp dword [0x7469c4]
fnstsw ax
test ah, 0x41
je 0x43a345
push str..Morrowind.ini
push ebx
push str.Timescale_Clouds
push str.Weather
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
test eax, eax
je 0x43a385
mov byte [esi + 0x19c], 1
push str..Morrowind.ini
push 0x200
push edi
push 0x786484
push str.Precip_Gravity
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fmul dword [0x7464b8]
add esp, 4
push str..Morrowind.ini
push 0x200
fstp dword [esi + 0x17c]
push edi
push str.255_255_255
push str.Sun_Glare_Fader_Color
push str.Weather
call ebp
lea eax, [esi + 0x1cc]
push eax
lea ecx, [esi + 0x1c8]
push ecx
lea eax, [esi + 0x1c4]
push eax
push str._f__f__f
push edi
call dword [sym.imp.MSVCRT.dll_sscanf]
fld dword [esi + 0x1c4]
fmul dword [0x746adc]
add esp, 0x14
push str..Morrowind.ini
push 0x200
fstp dword [esi + 0x1c4]
push edi
fld dword [esi + 0x1c8]
push 0x786440
fmul dword [0x746adc]
push str.UnderwaterSunriseFog
push str.Water
fstp dword [esi + 0x1c8]
fld dword [esi + 0x1cc]
fmul dword [0x746adc]
fstp dword [esi + 0x1cc]
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0x1a0]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x786440
push str.UnderwaterDayFog
push str.Water
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0x1a4]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x786440
push str.UnderwaterSunsetFog
push str.Water
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0x1a8]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x786440
push str.UnderwaterNightFog
push str.Water
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
add esp, 4
push str..Morrowind.ini
fstp dword [esi + 0x1ac]
push 0x200
push edi
push 0x786440
push str.UnderwaterIndoorFog
push str.Water
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0x1b0]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push str.100_175_250
push str.UnderwaterColor
push str.Water
call ebp
lea edx, [esi + 0x1bc]
push edx
lea eax, [esi + 0x1b8]
push eax
lea eax, [esi + 0x1b4]
push eax
push str._f__f__f
push edi
call dword [sym.imp.MSVCRT.dll_sscanf]
fld dword [esi + 0x1b4]
fmul dword [0x746adc]
add esp, 0x14
push str..Morrowind.ini
push 0x200
fstp dword [esi + 0x1b4]
push edi
fld dword [esi + 0x1b8]
push 0x777770
fmul dword [0x746adc]
push str.UnderwaterColorWeight
push str.Water
fstp dword [esi + 0x1b8]
fld dword [esi + 0x1bc]
fmul dword [0x746adc]
fstp dword [esi + 0x1bc]
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fst dword [esi + 0x1c0]
fcomp dword [0x746468]
add esp, 4
fnstsw ax
test ah, 1
je 0x43a5be
mov dword [esi + 0x1c0], ebx
fld dword [esi + 0x1c0]
fcomp dword [0x746470]
fnstsw ax
test ah, 0x41
jne 0x43a5db
mov dword [esi + 0x1c0], 0x3f800000
push str..Morrowind.ini
push 0x200
push edi
push 0x7863a0
push str.Hours_Between_Weather_Changes
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0x16c]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x78637c
push str.Rain_Ripples
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atoi]
add esp, 4
push str..Morrowind.ini
push 0x3e8
test eax, eax
push str.Rain_Ripple_Radius
setne cl
push str.Weather
mov byte [esi + 0x19a], cl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push str..Morrowind.ini
push 3
push str.Rain_Ripples_Per_Drop
push str.Weather
mov dword [0x785fbc], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push str..Morrowind.ini
push 0x200
push edi
push 0x777760
push str.Rain_Ripple_Scale
push str.Weather
mov dword [0x785fc0], eax
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [0x785fc4]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x777760
push str.Rain_Ripple_Speed
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [0x785fc8]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x78637c
push str.Snow_Ripples
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atoi]
add esp, 4
push str..Morrowind.ini
push 0x3e8
cmp eax, ebx
push str.Snow_Ripple_Radius
setne dl
push str.Weather
mov byte [esi + 0x19b], dl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push str..Morrowind.ini
push 3
push str.Snow_Ripples_Per_Flake
mov dword [0x785fcc], eax
push str.Weather
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push str..Morrowind.ini
push 0x200
push edi
push 0x777760
push str.Snow_Ripple_Scale
push str.Weather
mov dword [0x785fd0], eax
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [0x785fd4]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x777760
push str.Snow_Ripple_Speed
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [0x785fd8]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push str.0.25
push str.Snow_Gravity_Scale
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0x180]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x786294
push str.Snow_High_Kill
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0x184]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x786294
push str.Snow_Low_Kill
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0x188]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x777760
push str.Fog_Depth_Change_Speed
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0xec]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x786258
push str.Sunrise_Time
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0xdc]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x786244
push str.Sunset_Time
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0xe0]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x786234
push str.Sunrise_Duration
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0xe4]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x786234
push str.Sunset_Duration
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0xe8]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x78637c
push str.Ambient_Pre_Sunrise_Time
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0xf0]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x786234
push str.Ambient_Post_Sunrise_Time
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0xf4]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x786234
push str.Ambient_Pre_Sunset_Time
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0xf8]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x78637c
push str.Ambient_Post_Sunset_Time
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0xfc]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x78637c
push str.Fog_Pre_Sunrise_Time
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0x100]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x786234
push str.Fog_Post_Sunrise_Time
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0x104]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x786234
push str.Fog_Pre_Sunset_Time
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0x108]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x78637c
push str.Fog_Post_Sunset_Time
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0x10c]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x78637c
push str.Sky_Pre_Sunrise_Time
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0x110]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x78637c
push str.Sky_Post_Sunrise_Time
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0x114]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x78637c
push str.Sky_Pre_Sunset_Time
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0x118]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x78637c
push str.Sky_Post_Sunset_Time
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
add esp, 4
push str..Morrowind.ini
fstp dword [esi + 0x11c]
push 0x200
push edi
push 0x78637c
push str.Sun_Pre_Sunrise_Time
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0x120]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x78637c
push str.Sun_Post_Sunrise_Time
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0x124]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x78637c
push str.Sun_Pre_Sunset_Time
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0x128]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x78637c
push str.Sun_Post_Sunset_Time
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0x12c]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x78608c
push str.Stars_Post_Sunset_Start
push str.Weather
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x786234
fadd dword [esi + 0xe0]
push str.Stars_Pre_Sunrise_Finish
push str.Weather
fstp dword [esi + 0x130]
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
add esp, 4
push str..Morrowind.ini
push 0x200
push edi
push 0x786234
fsubr dword [esi + 0xdc]
push str.Stars_Fading_Duration
push str.Weather
fstp dword [esi + 0x134]
call ebp
push edi
call dword [sym.imp.MSVCRT.dll_atof]
fstp dword [esi + 0x138]
mov dword [esi + 0x18c], 0xc3c80000
mov dword [esi + 0x190], 0x42960000
mov dword [esi + 0x194], 0xc2c80000
mov dword [esi + 0x44], ebx
mov dword [esi + 0x48], ebx
mov eax, dword [0x7de6cc]
mov dword [esi + 0xb8], eax
mov ecx, dword [0x7de6d0]
mov dword [esi + 0xbc], ecx
mov edx, dword [0x7de6d4]
mov dword [esi + 0xc0], edx
mov eax, dword [0x7de6cc]
mov dword [esi + 0xc4], eax
mov ecx, dword [0x7de6d0]
mov dword [esi + 0xc8], ecx
mov edx, dword [0x7de6d4]
mov dword [esi + 0xcc], edx
push 0xb0
mov dword [esi + 0x178], ebx
mov byte [esi + 0x199], bl
mov dword [esi + 0x1d0], ebx
mov byte [esi + 0x198], 1
mov byte [esi + 0x10], bl
mov dword [esi + 0x174], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x170], ebx
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 8
mov dword [esp + 0x38], eax
cmp eax, ebx
mov byte [esp + 0x30], 0x23
je 0x43acf6
mov ecx, eax
call fcn.006c81e0
mov edi, eax
jmp 0x43acf8
xor edi, edi
mov ecx, dword [esi + 0x4c]
cmp ecx, edi
mov byte [esp + 0x30], 0x18
je 0x43ad21
cmp ecx, ebx
je 0x43ad17
dec dword [ecx + 4]
jne 0x43ad17
cmp ecx, ebx
je 0x43ad17
mov eax, dword [ecx]
push 1
call dword [eax]
cmp edi, ebx
mov dword [esi + 0x4c], edi
je 0x43ad21
inc dword [edi + 4]
push 0x1c
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x38], edi
cmp edi, ebx
mov byte [esp + 0x30], 0x24
je 0x43ad8e
mov ecx, edi
call fcn.006e9ed0
mov word [edi + 0x14], bx
push ebx
push ebx
mov ecx, edi
mov byte [esp + 0x38], 0x25
mov dword [edi], 0x7465a8
call fcn.00405960
push 1
push 0xf
push 6
mov ecx, edi
call fcn.00408a10
push 5
push 0xf
push 7
mov ecx, edi
call fcn.00408a10
push 9
push ebx
mov ecx, edi
call fcn.00405960
push 0xa
push 7
push ebx
mov ecx, edi
call fcn.00408a10
mov byte [edi + 0x18], bl
jmp 0x43ad90
xor edi, edi
mov ecx, dword [esi + 0x4c]
push str.skyRoot
mov byte [esp + 0x34], 0x18
call fcn.006ea1a0
push str.sun_alphaProperty
mov ecx, edi
call fcn.006ea1a0
xor ecx, ecx
mov cx, word [edi + 0x14]
and ecx, 0xfeed
or ecx, 0x20ed
cmp edi, ebx
mov word [edi + 0x14], cx
mov eax, dword [esi + 0x4c]
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
mov dword [ecx], edi
je 0x43add7
inc dword [edi + 4]
lea ecx, [eax + 0x88]
call fcn.00405840
lea edx, [esp + 0x1c]
push edx
mov ecx, esi
call fcn.00443490
mov ecx, dword [eax]
lea ebp, [esi + 0x90]
mov dword [ebp], ecx
mov edx, dword [eax + 4]
lea ecx, [esp + 0x1c]
mov dword [ebp + 4], edx
mov eax, dword [eax + 8]
push ecx
mov ecx, esi
mov dword [ebp + 8], eax
call fcn.00443a70
mov edx, dword [eax]
mov dword [esi + 0x9c], edx
mov ecx, dword [eax + 4]
mov dword [esi + 0xa0], ecx
mov edx, dword [eax + 8]
mov ecx, esi
mov dword [esi + 0xa4], edx
call fcn.0043bc90
mov ecx, esi
call fcn.0043d780
mov ecx, esi
call fcn.0043d890
mov ecx, esi
call fcn.0043ce50
mov ecx, esi
call fcn.0043bde0
mov ecx, esi
call fcn.0043c030
mov ecx, esi
call fcn.0043c9d0
mov eax, dword [esi + 0x4c]
mov ecx, dword [0x7de6cc]
mov dword [eax + 0x30], ecx
mov edx, dword [0x7de6d0]
mov dword [eax + 0x34], edx
mov ecx, dword [0x7de6d4]
mov dword [eax + 0x38], ecx
mov edx, dword [esi + 0x9c]
sub esp, 0xc
mov eax, esp
mov dword [esp + 0x44], esp
mov dword [eax], edx
mov ecx, dword [esi + 0xa0]
sub esp, 0xc
mov dword [eax + 4], ecx
mov edx, dword [esi + 0xa4]
mov ecx, esp
mov dword [esp + 0x50], esp
push ebp
mov dword [eax + 8], edx
call fcn.0040a7e0
mov ecx, esi
call fcn.0043ba40
push 0x38
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x38], eax
cmp eax, ebx
mov byte [esp + 0x30], 0x26
je 0x43aed3
mov ecx, eax
call fcn.006f2df0
jmp 0x43aed5
xor eax, eax
mov dword [esi + 0xa8], eax
mov dword [eax], 1
mov eax, dword [esi + 0xa8]
mov dword [eax + 8], 1
mov eax, dword [esi + 0xa8]
mov byte [eax + 0x10], 1
mov eax, dword [esi + 0xa8]
push 0x1c
mov byte [esp + 0x34], 0x18
mov byte [eax + 0x11], 1
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov ebp, eax
add esp, 4
mov dword [esp + 0x38], ebp
cmp ebp, ebx
mov byte [esp + 0x30], 0x27
je 0x43af57
mov ecx, ebp
call fcn.006e9ed0
mov word [ebp + 0x14], bx
push ebx
push ebx
mov ecx, ebp
mov byte [esp + 0x38], 0x28
mov dword [ebp], 0x74652c
call fcn.00405960
push 1
push ebx
mov ecx, ebp
call fcn.00405960
mov dword [ebp + 0x18], 3
mov dword [esp + 0x38], ebp
jmp 0x43af5d
mov dword [esp + 0x38], ebx
mov ebp, ebx
cmp ebp, ebx
mov ecx, dword [esi + 0x4c]
push ecx
mov eax, esp
mov byte [esp + 0x34], 0x18
mov dword [esp + 0x18], esp
mov dword [eax], ebp
je 0x43af75
inc dword [ebp + 4]
add ecx, 0x88
call fcn.00405840
cmp ebp, ebx
mov ecx, dword [esi + 8]
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
mov dword [eax], ebp
je 0x43af93
inc dword [ebp + 4]
add ecx, 0x88
call fcn.00405840
cmp edi, ebx
mov ecx, dword [esi + 8]
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
mov dword [eax], edi
je 0x43afb1
inc dword [edi + 4]
add ecx, 0x88
call fcn.00405840
push 0x20
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov ebp, eax
add esp, 4
mov dword [esp + 0x14], ebp
cmp ebp, ebx
mov byte [esp + 0x30], 0x29
je 0x43aff3
mov ecx, ebp
call fcn.006e9ed0
mov word [ebp + 0x14], bx
mov dword [ebp], 0x7464f8
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x1c], 1
jmp 0x43aff5
xor ebp, ebp
cmp ebp, ebx
mov dword [esp + 0x14], ebp
je 0x43b000
inc dword [ebp + 4]
cmp ebp, ebx
mov dword [ebp + 0x18], 2
mov ecx, dword [esi + 0x4c]
push ecx
mov eax, esp
mov byte [esp + 0x34], 0x2a
mov dword [esp + 0x1c], esp
mov dword [eax], ebp
je 0x43b01f
inc dword [ebp + 4]
add ecx, 0x88
call fcn.00405840
cmp ebp, ebx
mov ecx, dword [esi + 8]
push ecx
mov eax, esp
mov dword [esp + 0x1c], esp
mov dword [eax], ebp
je 0x43b03d
inc dword [ebp + 4]
add ecx, 0x88
call fcn.00405840
push 0xd0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, ebx
mov byte [esp + 0x30], 0x2b
je 0x43b06d
mov ecx, eax
call fcn.006d0520
mov edi, eax
jmp 0x43b06f
xor edi, edi
cmp edi, ebx
mov dword [esp + 0x18], edi
je 0x43b07a
inc dword [edi + 4]
mov ecx, dword [esp + 0x38]
push str.sun_zBufferProperty
mov byte [esp + 0x34], 0x2c
call fcn.006ea1a0
push str.skyRoot_vertexColorProperty
mov ecx, ebp
call fcn.006ea1a0
push 0x785fdc
mov ecx, edi
call fcn.006ea1a0
mov eax, dword [0x7de818]
mov dword [edi + 0xac], eax
mov ecx, dword [0x7de81c]
mov dword [edi + 0xb0], ecx
mov edx, dword [0x7de820]
mov dword [edi + 0xb4], edx
inc dword [edi + 0x9c]
mov eax, dword [esi + 0x58]
push eax
mov ecx, edi
call fcn.006f3790
mov eax, dword [esi + 0x5c]
push eax
mov ecx, edi
call fcn.006f3790
mov eax, dword [esi + 0x60]
push eax
mov ecx, edi
call fcn.006f3790
mov eax, dword [esi + 0x54]
push eax
mov ecx, edi
call fcn.006f3790
mov eax, dword [esi + 0x50]
push eax
mov ecx, edi
call fcn.006f3790
mov eax, dword [esi]
push eax
mov ecx, edi
call fcn.006f3790
mov eax, dword [esi + 8]
push eax
mov ecx, edi
call fcn.006f3790
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
push eax
mov ecx, edi
call fcn.006f3790
mov ecx, dword [esi + 0x48]
mov eax, dword [ecx]
push eax
mov ecx, edi
call fcn.006f3790
mov ecx, dword [esi + 0x4c]
mov edx, dword [ecx]
push 1
push edi
call dword [edx + 0x94]
mov ecx, dword [esi + 0x4c]
call fcn.006eb0e0
mov ecx, dword [esi + 0x4c]
call fcn.006eb380
mov ecx, dword [esi + 0x4c]
push 1
push ebx
push ebx
call fcn.006eb000
mov ecx, dword [esi + 8]
call fcn.006eb0e0
cmp edi, ebx
mov dword [esi + 0x1d8], ebx
mov dword [esi + 0x1e8], 1
mov byte [esi + 0x1ec], bl
mov byte [esp + 0x30], 0x2a
je 0x43b192
dec dword [edi + 4]
jne 0x43b192
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax]
cmp ebp, ebx
mov byte [esp + 0x30], 0x18
je 0x43b1a9
dec dword [ebp + 4]
jne 0x43b1a9
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx]
mov ecx, dword [esp + 0x28]
pop edi
mov eax, esi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x24
ret 4