Function at 0x100203e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101023fa
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x330
mov eax, dword [0x10167080]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor eax, eax
xorps xmm4, xmm4
mov dword [ebp - 0x31c], eax
mov ecx, dword [0x1021abec]
mov dword [ebp - 0x328], eax
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
movss xmm0, dword [eax + 0x1ac]
addss xmm0, dword [0x10151ae0]
movss dword [eax + 0x1ac], xmm0
addss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0x1b4]
movss dword [eax + 0xc4], xmm0
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
movss xmm5, dword [0x10151ac0]
cmp byte [eax + 0x7b], 0
jne 0x100204fa
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, xmm5
movss dword [ebp - 0x24], xmm2
movaps xmm3, xmm2
movss dword [ebp - 0x20], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1006edf0
add esp, 4
push 0
lea edx, [ebp - 0x310]
mov dword [ebp - 0x310], 0
mov ecx, str.Toggle_Day_Night
mov dword [ebp - 0x30c], 0
call fcn.10080c50
add esp, 4
test al, al
je 0x10020564
mov eax, dword [0x1020d148]
test eax, eax
je 0x10020541
cmp byte [eax + 0xc], 0
sete cl
test eax, eax
je 0x10020541
mov byte [eax + 0xc], cl
mov byte [eax + 0x1c], cl
push str.sm_sunSampleSizeNear
call fcn.100658f0
add esp, 4
test eax, eax
je 0x10020564
mov dword [eax + 0xc], 0x3f0ccccd
mov dword [eax + 0x1c], 0x3f0ccccd
mov byte [eax + 0xb], 1
movss xmm1, dword [0x1013df50]
xorps xmm0, xmm0
xorps xmm4, xmm4
call fcn.100770c0
mov ecx, dword [0x1021abec]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x100205fa
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, xmm4
movss dword [ebp - 0x24], xmm2
movaps xmm3, xmm2
movss dword [ebp - 0x20], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1006edf0
add esp, 4
movss xmm1, dword [0x1013df50]
xorps xmm0, xmm0
call fcn.100770c0
mov edx, 0x1017001f
mov ecx, str.Enable_Time_of_Day_Lerping
call fcn.10082720
movss xmm1, dword [0x1013df50]
xorps xmm0, xmm0
xorps xmm4, xmm4
call fcn.100770c0
mov ecx, dword [0x1021abec]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x100206af
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, xmm4
movss dword [ebp - 0x24], xmm2
movaps xmm3, xmm2
movss dword [ebp - 0x20], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1006edf0
add esp, 4
movss xmm1, dword [0x1013df50]
xorps xmm0, xmm0
call fcn.100770c0
mov edx, 0x10167b4c
mov ecx, str.Enable_Auto_Sun_Rotation
call fcn.10082720
xor ecx, ecx
call fcn.1006efa0
movss xmm1, dword [0x101519fc]
test al, al
je 0x10020708
mov eax, dword [0x1021abec]
cmp byte [eax + 0xec], cl
jne 0x10020708
movss xmm0, dword [eax + 0x19b4]
comiss xmm0, xmm1
jbe 0x10020708
push str.Automatically_rotate_the_sun._Disable_for_manual_mode_using_Sun_Direction.
call fcn.100772c0
add esp, 4
push str.r_lightTweakSunDirection
call fcn.100658f0
add esp, 4
test eax, eax
je 0x100207a4
mov ecx, eax
call fcn.10025a20
movss xmm3, dword [0x10151988]
mov edx, 4
push ecx
mov dword [esp], 0x3f800000
lea ecx, [ebp - 0x304]
push str._.2f
push ecx
lea ecx, [ebp - 0x308]
mov dword [ebp - 0x308], 0xc3b40000
push ecx
push eax
mov ecx, str.Sun_Direction
mov dword [ebp - 0x304], 0x43b40000
call fcn.10084a10
add esp, 0x14
xor ecx, ecx
call fcn.1006efa0
test al, al
je 0x100207a4
mov eax, dword [0x1021abec]
cmp byte [eax + 0xec], cl
jne 0x100207a4
movss xmm0, dword [eax + 0x19b4]
comiss xmm0, dword [0x101519fc]
jbe 0x100207a4
push str.Current_Sun_Direction__x_._Disable_Auto_Sun_Rotation_for_manual_mode.
call fcn.100772c0
add esp, 4
movss xmm3, dword [0x10151940]
lea eax, [ebp - 0x304]
push ecx
mov dword [esp], 0x3f800000
mov edx, 4
push str._.4f
push eax
lea eax, [ebp - 0x308]
mov dword [ebp - 0x308], 0
push eax
push 0x10167cc0
mov ecx, str.Day_Length_Scalar
mov dword [ebp - 0x304], 0x42c80000
call fcn.10084a10
add esp, 0x14
xor ecx, ecx
call fcn.1006efa0
test al, al
je 0x10020828
mov eax, dword [0x1021abec]
cmp byte [eax + 0xec], cl
jne 0x10020828
movss xmm0, dword [eax + 0x19b4]
comiss xmm0, dword [0x101519fc]
jbe 0x10020828
push str.Does_influence_Time_of_Day_Interpolation_Speeds.
call fcn.100772c0
add esp, 4
movss xmm3, dword [0x10151940]
lea eax, [ebp - 0x304]
push ecx
mov dword [esp], 0x3f800000
mov edx, 4
push str._.4f
push eax
lea eax, [ebp - 0x308]
mov dword [ebp - 0x308], 0x3dcccccd
push eax
push 0x10167cbc
mov ecx, str.Day_Speed_Scalar
mov dword [ebp - 0x304], 0x42480000
call fcn.10084a10
add esp, 0x14
xor ecx, ecx
call fcn.1006efa0
test al, al
je 0x100208ac
mov eax, dword [0x1021abec]
cmp byte [eax + 0xec], cl
jne 0x100208ac
movss xmm0, dword [eax + 0x19b4]
comiss xmm0, dword [0x101519fc]
jbe 0x100208ac
push str.Speed_up___Slow_down_daytime.
call fcn.100772c0
add esp, 4
movss xmm3, dword [0x10151940]
lea eax, [ebp - 0x304]
push ecx
mov dword [esp], 0x3f800000
mov edx, 4
push str._.4f
push eax
lea eax, [ebp - 0x308]
mov dword [ebp - 0x308], 0x3dcccccd
push eax
push 0x10167cb8
mov ecx, str.Night_Speed_Scalar
mov dword [ebp - 0x304], 0x42480000
call fcn.10084a10
add esp, 0x14
xor ecx, ecx
call fcn.1006efa0
test al, al
je 0x10020930
mov eax, dword [0x1021abec]
cmp byte [eax + 0xec], cl
jne 0x10020930
movss xmm0, dword [eax + 0x19b4]
comiss xmm0, dword [0x101519fc]
jbe 0x10020930
push str.Speed_up___Slow_down_nighttime.
call fcn.100772c0
add esp, 4
push str.sm_sunSampleSizeNear
call fcn.100658f0
add esp, 4
test eax, eax
je 0x100209ce
mov ecx, eax
call fcn.10025a20
movss xmm3, dword [0x10151988]
mov edx, 4
push ecx
mov dword [esp], 0x3f800000
lea ecx, [ebp - 0x304]
push str._.2f
push ecx
lea ecx, [ebp - 0x308]
mov dword [ebp - 0x308], 0x3d800000
push ecx
push eax
mov ecx, str.Shadow_Near_Sample
mov dword [ebp - 0x304], 0x42000000
call fcn.10084a10
add esp, 0x14
xor ecx, ecx
call fcn.1006efa0
test al, al
je 0x100209ce
mov ecx, dword [0x1021abec]
cmp byte [ecx + 0xec], 0
jne 0x100209d4
movss xmm0, dword [ecx + 0x19b4]
comiss xmm0, dword [0x101519fc]
jbe 0x100209d4
push str.sm_sunSampleSizeNear_::_Higher_values_increases_shadow_draw_distance_but_reduces_quality.
call fcn.100772c0
add esp, 4
mov ecx, dword [0x1021abec]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
movss xmm0, dword [eax + 0x1ac]
subss xmm0, dword [0x10151ae0]
movss dword [eax + 0x1ac], xmm0
addss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0x1b4]
movss dword [eax + 0xc4], xmm0
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x10020a95
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, dword [0x10151ac0]
movaps xmm3, xmm2
movss dword [ebp - 0x24], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0x20], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1006edf0
add esp, 4
mov esi, dword [0x1021abec]
mov eax, dword [esi + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [esi + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x100219ed
mov ecx, dword [eax + 0x1bc]
xor edx, edx
mov eax, dword [eax + 0x1c4]
push dword [eax + ecx*4 - 4]
mov ecx, str.Cloud_Settings
call fcn.1006c490
add esp, 4
cmp dword [esi + 0x19bc], eax
jne 0x10020ae2
mov dword [esi + 0x19c4], eax
cmp dword [esi + 0x19c0], eax
jne 0x10020af1
mov byte [esi + 0x19cf], 1
push 0
push str.Cloud_Settings
mov edx, 0x3a
mov ecx, eax
call fcn.100913f0
add esp, 8
test al, al
je 0x100219ed
mov ecx, dword [0x1021abec]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
movss xmm0, dword [eax + 0x1ac]
addss xmm0, dword [0x10151ae0]
movss dword [eax + 0x1ac], xmm0
addss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0x1b4]
movss dword [eax + 0xc4], xmm0
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x10020bd6
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, dword [0x10151ac0]
movaps xmm3, xmm2
movss dword [ebp - 0x24], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0x20], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1006edf0
add esp, 4
xor edx, edx
mov ecx, str.Cloud_Quality_Presets:
call fcn.1007f800
push 0
lea edx, [ebp - 0x310]
mov dword [ebp - 0x310], 0
mov ecx, str.Ultra_Performance
mov dword [ebp - 0x30c], 0
call fcn.10080c50
add esp, 4
test al, al
je 0x10020c4b
mov dword [0x10167ca8], 0x3ef5c28f
mov dword [0x10167c8c], 0x413d70a4
mov dword [0x10167c88], 0x3e8f5c29
mov dword [0x10167c7c], 0x3e75c28f
mov dword [0x10167c78], 0
mov dword [0x10167c74], 0x4100cccd
movss xmm1, dword [0x1013df50]
xorps xmm0, xmm0
call fcn.100770c0
push 0
lea edx, [ebp - 0x310]
mov dword [ebp - 0x310], 0
mov ecx, 0x1013f940
mov dword [ebp - 0x30c], 0
call fcn.10080c50
add esp, 4
test al, al
je 0x10020cc4
mov dword [0x10167ca8], 0x3f028f5c
mov dword [0x10167c8c], 0x41380000
mov dword [0x10167c88], 0x3e8f5c29
mov dword [0x10167c7c], 0x3eb33333
mov dword [0x10167c78], 0x40000000
mov dword [0x10167c74], 0x40d33333
movss xmm1, dword [0x1013df50]
xorps xmm0, xmm0
call fcn.100770c0
push 0
lea edx, [ebp - 0x310]
mov dword [ebp - 0x310], 0
mov ecx, 0x1013f944
mov dword [ebp - 0x30c], 0
call fcn.10080c50
add esp, 4
test al, al
je 0x10020d3d
mov dword [0x10167ca8], 0x3f147ae1
mov dword [0x10167c8c], 0x41380000
mov dword [0x10167c88], 0x3e8a3d71
mov dword [0x10167c7c], 0x3eb851ec
mov dword [0x10167c78], 0x40400000
mov dword [0x10167c74], 0x40f33333
movss xmm1, dword [0x1013df50]
xorps xmm0, xmm0
call fcn.100770c0
push 0
lea edx, [ebp - 0x310]
mov dword [ebp - 0x310], 0
mov ecx, str.High
mov dword [ebp - 0x30c], 0
call fcn.10080c50
add esp, 4
test al, al
je 0x10020db6
mov dword [0x10167ca8], 0x3f2147ae
mov dword [0x10167c8c], 0x41480000
mov dword [0x10167c88], 0x3e800000
mov dword [0x10167c7c], 0x3eb851ec
mov dword [0x10167c78], 0x40800000
mov dword [0x10167c74], 0x40c33333
movss xmm1, dword [0x1013df50]
xorps xmm0, xmm0
call fcn.100770c0
push 0
lea edx, [ebp - 0x310]
mov dword [ebp - 0x310], 0
mov ecx, str.Quality
mov dword [ebp - 0x30c], 0
call fcn.10080c50
add esp, 4
test al, al
je 0x10020e2f
mov dword [0x10167ca8], 0x3f2e147b
mov dword [0x10167c8c], 0x41566666
mov dword [0x10167c88], 0x3e570a3d
mov dword [0x10167c7c], 0x3e6b851f
mov dword [0x10167c78], 0x40a00000
mov dword [0x10167c74], 0x40c66666
mov ecx, dword [0x1021abec]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x10020eb9
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, dword [0x10151ac0]
movaps xmm3, xmm2
movss dword [ebp - 0x24], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0x20], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1006edf0
add esp, 4
call fcn.10083740
mov ecx, dword [0x1021abec]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x10020f48
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, dword [0x10151ac0]
movaps xmm3, xmm2
movss dword [ebp - 0x24], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0x20], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1006edf0
add esp, 4
push str.FilterTap_0_
call fcn.1007fea0
add esp, 4
mov edx, 0x10167cac
mov ecx, str.Cloud_Sunset_Color
push 0x5000002
call fcn.1008c1a0
movss xmm3, dword [0x10151940]
lea eax, [ebp - 0x304]
mov dword [esp], 0x3f800000
mov edx, 4
push str._.4f
push eax
lea eax, [ebp - 0x308]
mov dword [ebp - 0x308], 0
push eax
push 0x10167ca8
mov ecx, str.Extinction_Scale
mov dword [ebp - 0x304], 0x42c80000
call fcn.10084a10
mov ecx, dword [0x1021abec]
add esp, 0x14
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x10021040
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, dword [0x10151ac0]
movaps xmm3, xmm2
movss dword [ebp - 0x24], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0x20], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1006edf0
add esp, 4
push str.FilterTap_1_
call fcn.1007fea0
mov dword [esp], 0x3f800000
lea eax, [ebp - 0x304]
push str._.4f
push eax
lea eax, [ebp - 0x308]
mov dword [ebp - 0x308], 0
push eax
push ecx
mov dword [esp], 0x3c23d70a
mov edx, 4
push 3
push 0x10167c9c
mov ecx, str.Cloud_Day_Color
mov dword [ebp - 0x304], 0x40800000
call fcn.100852d0
movss xmm3, dword [0x10151940]
lea eax, [ebp - 0x304]
add esp, 0x18
mov edx, 4
mov ecx, str.Cloud_Horizon_Fade
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x304], 0x42c80000
mov dword [esp], 0x3f800000
push str._.4f
push eax
lea eax, [ebp - 0x308]
push eax
push 0x10167c98
call fcn.10084a10
mov ecx, dword [0x1021abec]
add esp, 0x14
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x10021170
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, dword [0x10151ac0]
movaps xmm3, xmm2
movss dword [ebp - 0x24], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0x20], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1006edf0
add esp, 4
push str.FilterTap_2_
call fcn.1007fea0
movss xmm3, dword [0x10151940]
lea eax, [ebp - 0x304]
mov dword [esp], 0x3f800000
mov edx, 4
push str._.4f
push eax
lea eax, [ebp - 0x308]
mov dword [ebp - 0x308], 0
push eax
push 0x10167c94
mov ecx, str.Skydome_Scale
mov dword [ebp - 0x304], 0x42c80000
call fcn.10084a10
movss xmm3, dword [0x10151940]
lea eax, [ebp - 0x304]
add esp, 0x10
mov edx, 4
mov ecx, str.Cloud_Coverage
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x304], 0x41200000
mov dword [esp], 0x3f800000
push str._.4f
push eax
lea eax, [ebp - 0x308]
push eax
push 0x10167c90
call fcn.10084a10
movss xmm3, dword [0x10151940]
lea eax, [ebp - 0x304]
add esp, 0x10
mov edx, 4
mov ecx, str.Cloud_Thickness
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x304], 0x42c80000
mov dword [esp], 0x3f800000
push str._.4f
push eax
lea eax, [ebp - 0x308]
push eax
push 0x10167c8c
call fcn.10084a10
movss xmm3, dword [0x10151940]
lea eax, [ebp - 0x304]
add esp, 0x10
mov edx, 4
mov ecx, str.Cloud_Absorbtion
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x304], 0x41200000
mov dword [esp], 0x3f800000
push str._.4f
push eax
lea eax, [ebp - 0x308]
push eax
push 0x10167c88
call fcn.10084a10
mov ecx, dword [0x1021abec]
add esp, 0x14
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x10021338
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, dword [0x10151ac0]
movaps xmm3, xmm2
movss dword [ebp - 0x24], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0x20], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1006edf0
add esp, 4
push str.FilterTap_3_
call fcn.1007fea0
movss xmm3, dword [0x10151940]
lea eax, [ebp - 0x304]
mov dword [esp], 0x3f800000
mov edx, 4
push str._.4f
push eax
lea eax, [ebp - 0x308]
mov dword [ebp - 0x308], 0
push eax
push 0x10167c84
mov ecx, str.Star_Scale
mov dword [ebp - 0x304], 0x42c80000
call fcn.10084a10
movss xmm3, dword [0x10151940]
lea eax, [ebp - 0x304]
add esp, 0x10
mov edx, 4
mov ecx, str.Cloud_Step_Distance_XZ
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x304], 0x43fa0000
mov dword [esp], 0x3f800000
push str._.4f
push eax
lea eax, [ebp - 0x308]
push eax
push 0x10167c80
call fcn.10084a10
add esp, 0x14
xor ecx, ecx
call fcn.1006efa0
test al, al
je 0x10021412
mov eax, dword [0x1021abec]
cmp byte [eax + 0xec], cl
jne 0x10021412
movss xmm0, dword [eax + 0x19b4]
comiss xmm0, dword [0x101519fc]
jbe 0x10021412
push str.Distance_from_map_center_at_which_to_draw_less_detailed_clouds.
call fcn.100772c0
add esp, 4
movss xmm3, dword [0x10151940]
lea eax, [ebp - 0x304]
push ecx
mov dword [esp], 0x3f800000
mov edx, 4
push str._.4f
push eax
lea eax, [ebp - 0x308]
mov dword [ebp - 0x308], 0
push eax
push 0x10167c7c
mov ecx, str.Cloud_Exposure
mov dword [ebp - 0x304], 0x41200000
call fcn.10084a10
mov ecx, dword [0x1021abec]
add esp, 0x14
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x100214ea
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, dword [0x10151ac0]
movaps xmm3, xmm2
movss dword [ebp - 0x24], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0x20], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1006edf0
add esp, 4
push str.FilterTap_4_
call fcn.1007fea0
movss xmm3, dword [0x10151960]
lea eax, [ebp - 0x304]
mov dword [esp], 0x3f800000
mov edx, 4
push str._.0f
push eax
lea eax, [ebp - 0x308]
mov dword [ebp - 0x308], 0
push eax
push 0x10167c78
mov ecx, str.Cloud_Lighting_Steps
mov dword [ebp - 0x304], 0x41900000
call fcn.10084a10
movss xmm3, dword [0x10151940]
lea eax, [ebp - 0x304]
add esp, 0x10
mov edx, 4
mov ecx, str.Cloud_Step_Distance_Fade
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x304], 0x41a00000
mov dword [esp], 0x3f800000
push str._.2f
push eax
lea eax, [ebp - 0x308]
push eax
push 0x10167c74
call fcn.10084a10
movss xmm3, dword [0x10151940]
lea eax, [ebp - 0x304]
add esp, 0x10
mov edx, 4
mov ecx, str.Cloud_Wind_Angle
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x304], 0x43b40000
mov dword [esp], 0x3f800000
push str._.2f
push eax
lea eax, [ebp - 0x308]
push eax
push 0x10167c70
call fcn.10084a10
movss xmm3, dword [0x10151940]
lea eax, [ebp - 0x304]
add esp, 0x10
mov edx, 4
mov ecx, str.Cloud_Wind_Speed
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x304], 0x41200000
mov dword [esp], 0x3f800000
push str._.4f
push eax
lea eax, [ebp - 0x308]
push eax
push 0x10167c6c
call fcn.10084a10
mov ecx, dword [0x1021abec]
add esp, 0x14
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x100216b2
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, dword [0x10151ac0]
movaps xmm3, xmm2
movss dword [ebp - 0x24], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0x20], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1006edf0
add esp, 4
push str.FilterTap_5_
call fcn.1007fea0
movss xmm3, dword [0x10151940]
lea eax, [ebp - 0x304]
mov dword [esp], 0x3f800000
mov edx, 4
push str._.4f
push eax
lea eax, [ebp - 0x308]
mov dword [ebp - 0x308], 0
push eax
push 0x10167c68
mov ecx, str.Sky_Sun_Intensity
mov dword [ebp - 0x304], 0x42c80000
call fcn.10084a10
add esp, 0x10
lea eax, [ebp - 0x304]
mov edx, 4
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x304], 0x42c80000
mov dword [esp], 0x3f800000
push str._.4f
push eax
lea eax, [ebp - 0x308]
push eax
push ecx
mov dword [esp], 0x3c23d70a
mov ecx, str.Sky_Rayleigh_Coeff
push 3
push 0x10167c5c
call fcn.100852d0
mov ecx, dword [0x1021abec]
add esp, 0x1c
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x100217e2
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, dword [0x10151ac0]
movaps xmm3, xmm2
movss dword [ebp - 0x24], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0x20], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1006edf0
add esp, 4
push str.FilterTap_6_
call fcn.1007fea0
movss xmm3, dword [0x10151940]
lea eax, [ebp - 0x304]
mov dword [esp], 0x3f800000
mov edx, 4
push str._.4f
push eax
lea eax, [ebp - 0x308]
mov dword [ebp - 0x308], 0
push eax
push 0x10167c58
mov ecx, str.Sky_Mie_Coeff
mov dword [ebp - 0x304], 0x42c80000
call fcn.10084a10
movss xmm3, dword [0x10151940]
lea eax, [ebp - 0x304]
add esp, 0x10
mov edx, 4
mov ecx, str.Sky_Rayleigh_Scale
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x304], 0x44fa0000
mov dword [esp], 0x3f800000
push str._.4f
push eax
lea eax, [ebp - 0x308]
push eax
push 0x10167c54
call fcn.10084a10
movss xmm3, dword [0x10151940]
lea eax, [ebp - 0x304]
add esp, 0x10
mov edx, 4
mov ecx, str.Sky_Mie_Scale
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x304], 0x43fa0000
mov dword [esp], 0x3f800000
push str._.4f
push eax
lea eax, [ebp - 0x308]
push eax
push 0x10167bfc
call fcn.10084a10
movss xmm3, dword [0x10151940]
lea eax, [ebp - 0x304]
add esp, 0x10
mov edx, 4
mov ecx, str.Sky_Mie_Scatter_Dir
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x304], 0x41200000
mov dword [esp], 0x3f800000
push str._.4f
push eax
lea eax, [ebp - 0x308]
push eax
push 0x10167ba4
call fcn.10084a10
mov ecx, dword [0x1021abec]
add esp, 0x14
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x100219aa
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, dword [0x10151ac0]
movaps xmm3, xmm2
movss dword [ebp - 0x24], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0x20], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1006edf0
add esp, 4
mov ecx, dword [0x1021abec]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
movss xmm0, dword [eax + 0x1ac]
subss xmm0, dword [0x10151ae0]
movss dword [eax + 0x1ac], xmm0
addss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0x1b4]
movss dword [eax + 0xc4], xmm0
mov esi, dword [0x1021abec]
mov eax, dword [esi + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [esi + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x10021d25
mov ecx, dword [eax + 0x1bc]
xor edx, edx
mov eax, dword [eax + 0x1c4]
push dword [eax + ecx*4 - 4]
mov ecx, str.Time_of_Day_Settings
call fcn.1006c490
add esp, 4
cmp dword [esi + 0x19bc], eax
jne 0x10021a3a
mov dword [esi + 0x19c4], eax
cmp dword [esi + 0x19c0], eax
jne 0x10021a49
mov byte [esi + 0x19cf], 1
push 0
push str.Time_of_Day_Settings
mov edx, 0x1a
mov ecx, eax
call fcn.100913f0
add esp, 8
test al, al
je 0x10021d25
mov ecx, dword [0x1021abec]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
movss xmm0, dword [eax + 0x1ac]
addss xmm0, dword [0x10151ae0]
movss dword [eax + 0x1ac], xmm0
addss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0x1b4]
movss dword [eax + 0xc4], xmm0
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x10021b2e
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, dword [0x10151ac0]
movaps xmm3, xmm2
movss dword [ebp - 0x24], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0x20], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1006edf0
add esp, 4
xor edx, edx
mov ecx, str.tod_tabs
call fcn.10094e20
test al, al
je 0x10021c5e
push 0
xor edx, edx
mov ecx, 0x1013fbc8
call fcn.10095e00
add esp, 4
test al, al
je 0x10021b9f
mov ecx, 0x10167ba8
call fcn.1001fef0
mov eax, dword [0x1021abec]
mov esi, dword [eax + 0x199c]
cmp byte [esi + 0x7b], 0
jne 0x10021b9f
mov ecx, dword [eax + 0x1cfc]
mov eax, dword [eax + 0x1d04]
mov ecx, dword [eax + ecx*4 - 4]
movsx eax, word [ecx + 0x56]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 8]
test byte [eax + edx*4 + 4], 8
jne 0x10021b9f
dec dword [esi + 0x1bc]
push 0
xor edx, edx
mov ecx, str.Sunrise_Sunset
call fcn.10095e00
add esp, 4
test al, al
je 0x10021bfc
mov ecx, 0x10167b50
call fcn.1001fef0
mov eax, dword [0x1021abec]
mov esi, dword [eax + 0x199c]
cmp byte [esi + 0x7b], 0
jne 0x10021bfc
mov ecx, dword [eax + 0x1cfc]
mov eax, dword [eax + 0x1d04]
mov ecx, dword [eax + ecx*4 - 4]
movsx eax, word [ecx + 0x56]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 8]
test byte [eax + edx*4 + 4], 8
jne 0x10021bfc
dec dword [esi + 0x1bc]
push 0
xor edx, edx
mov ecx, str.Night
call fcn.10095e00
add esp, 4
test al, al
je 0x10021c59
mov ecx, 0x10167c00
call fcn.1001fef0
mov eax, dword [0x1021abec]
mov esi, dword [eax + 0x199c]
cmp byte [esi + 0x7b], 0
jne 0x10021c59
mov ecx, dword [eax + 0x1cfc]
mov eax, dword [eax + 0x1d04]
mov ecx, dword [eax + ecx*4 - 4]
movsx eax, word [ecx + 0x56]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ecx + 8]
test byte [eax + edx*4 + 4], 8
jne 0x10021c59
dec dword [esi + 0x1bc]
call fcn.100951a0
mov ecx, dword [0x1021abec]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
movss xmm0, dword [eax + 0x1ac]
subss xmm0, dword [0x10151ae0]
movss dword [eax + 0x1ac], xmm0
addss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0x1b4]
movss dword [eax + 0xc4], xmm0
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x10021d25
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, dword [0x10151ac0]
movaps xmm3, xmm2
movss dword [ebp - 0x24], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0x20], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1006edf0
add esp, 4
mov esi, dword [0x1021abec]
mov eax, dword [esi + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [esi + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x10022212
mov ecx, dword [eax + 0x1bc]
xor edx, edx
mov eax, dword [eax + 0x1c4]
push dword [eax + ecx*4 - 4]
mov ecx, str.Filmtweaks
call fcn.1006c490
add esp, 4
cmp dword [esi + 0x19bc], eax
jne 0x10021d72
mov dword [esi + 0x19c4], eax
cmp dword [esi + 0x19c0], eax
jne 0x10021d81
mov byte [esi + 0x19cf], 1
push 0
push str.Filmtweaks
mov edx, 0x1a
mov ecx, eax
call fcn.100913f0
add esp, 8
test al, al
je 0x10022212
push str.r_filmTweakEnable
call fcn.100658f0
add esp, 4
mov esi, eax
push str.r_filmUseTweaks
call fcn.100658f0
mov edx, dword [0x1021abec]
mov edi, eax
add esp, 4
mov ecx, dword [edx + 0x199c]
mov byte [ecx + 0x78], 1
mov ecx, dword [edx + 0x199c]
movss xmm0, dword [ecx + 0x1ac]
addss xmm0, dword [0x10151ae0]
movss dword [ecx + 0x1ac], xmm0
addss xmm0, dword [ecx + 0xc]
addss xmm0, dword [ecx + 0x1b4]
movss dword [ecx + 0xc4], xmm0
mov eax, dword [edx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [edx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x10021e84
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, dword [0x10151ac0]
movaps xmm3, xmm2
movss dword [ebp - 0x24], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0x20], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1006edf0
add esp, 4
test esi, esi
je 0x10022145
test edi, edi
je 0x10022145
lea edx, [esi + 0xc]
mov ecx, str.Enable_Filmtweaks
call fcn.10082720
movss xmm1, dword [0x1013df50]
xorps xmm0, xmm0
call fcn.100770c0
lea edx, [edi + 0xc]
mov ecx, str.Use_Filmtweaks
call fcn.10082720
cmp byte [esi + 0xc], 0
je 0x10022145
cmp byte [edi + 0xc], 0
je 0x10022145
push str.r_filmTweakInvert
call fcn.100658f0
add esp, 4
mov esi, eax
push str.r_filmTweakLightTint
call fcn.100658f0
add esp, 4
mov edi, eax
push str.r_filmTweakDarkTint
call fcn.100658f0
add esp, 4
mov dword [ebp - 0x324], eax
push str.r_filmTweakDesaturation
call fcn.100658f0
add esp, 4
mov dword [ebp - 0x308], eax
push str.r_filmTweakContrast
call fcn.100658f0
add esp, 4
mov dword [ebp - 0x304], eax
push str.r_filmTweakBrightness
call fcn.100658f0
add esp, 4
mov dword [ebp - 0x31c], eax
test esi, esi
je 0x10022145
test edi, edi
je 0x10022145
cmp dword [ebp - 0x324], 0
je 0x10022145
cmp dword [ebp - 0x308], 0
je 0x10022145
cmp dword [ebp - 0x304], 0
je 0x10022145
test eax, eax
je 0x10022145
movss xmm1, dword [0x1013df50]
xorps xmm0, xmm0
call fcn.100770c0
lea edx, [esi + 0xc]
mov ecx, str.Invert
call fcn.10082720
mov ecx, dword [0x1021abec]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x10022022
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, dword [0x10151ac0]
movaps xmm3, xmm2
movss dword [ebp - 0x24], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0x20], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1006edf0
add esp, 4
lea edx, [edi + 0xc]
mov ecx, str.Light_Tint
push 0x5080002
call fcn.1008c1a0
mov edx, dword [ebp - 0x324]
add esp, 4
mov ecx, str.Dark_Tint
lea edx, [edx + 0xc]
push 0x5080002
call fcn.1008c1a0
mov eax, dword [ebp - 0x308]
lea ecx, [ebp - 0x308]
movss xmm3, dword [0x10151934]
add eax, 0xc
mov dword [esp], 0x3f800000
mov edx, 4
push str._.3f
push ecx
lea ecx, [ebp - 0x324]
mov dword [ebp - 0x324], 0
push ecx
push eax
mov ecx, str.Desaturation
mov dword [ebp - 0x308], 0x3f800000
call fcn.10084a10
mov eax, dword [ebp - 0x304]
lea ecx, [ebp - 0x304]
movss xmm3, dword [0x10151934]
add esp, 0x10
add eax, 0xc
mov dword [ebp - 0x308], 0
mov edx, 4
mov dword [ebp - 0x304], 0x40800000
mov dword [esp], 0x3f800000
push str._.3f
push ecx
lea ecx, [ebp - 0x308]
push ecx
push eax
mov ecx, str.Contrast
call fcn.10084a10
mov eax, dword [ebp - 0x31c]
lea ecx, [ebp - 0x31c]
movss xmm3, dword [0x10151934]
add esp, 0x10
add eax, 0xc
mov dword [ebp - 0x304], 0xbf800000
mov edx, 4
mov dword [ebp - 0x31c], 0x3f800000
mov dword [esp], 0x3f800000
push str._.3f
push ecx
lea ecx, [ebp - 0x304]
push ecx
push eax
mov ecx, str.Brightness
call fcn.10084a10
add esp, 0x14
mov ecx, dword [0x1021abec]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x100221cf
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, dword [0x10151ac0]
movaps xmm3, xmm2
movss dword [ebp - 0x24], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0x20], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1006edf0
add esp, 4
mov ecx, dword [0x1021abec]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
movss xmm0, dword [eax + 0x1ac]
subss xmm0, dword [0x10151ae0]
movss dword [eax + 0x1ac], xmm0
addss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0x1b4]
movss dword [eax + 0xc4], xmm0
mov esi, dword [0x1021abec]
mov eax, dword [esi + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [esi + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x10022612
mov ecx, dword [eax + 0x1bc]
xor edx, edx
mov eax, dword [eax + 0x1c4]
push dword [eax + ecx*4 - 4]
mov ecx, str.Lighttweaks
call fcn.1006c490
add esp, 4
cmp dword [esi + 0x19bc], eax
jne 0x1002225f
mov dword [esi + 0x19c4], eax
cmp dword [esi + 0x19c0], eax
jne 0x1002226e
mov byte [esi + 0x19cf], 1
push 0
push str.Lighttweaks
mov edx, 0x1a
mov ecx, eax
call fcn.100913f0
add esp, 8
test al, al
je 0x10022612
push str.r_lightTweakSunColor
call fcn.100658f0
add esp, 4
mov esi, eax
push str.r_lightTweakSunDirection
call fcn.100658f0
add esp, 4
mov dword [ebp - 0x304], eax
push str.r_lightTweakSunLight
call fcn.100658f0
mov edx, dword [0x1021abec]
mov edi, eax
add esp, 4
mov ecx, dword [edx + 0x199c]
mov byte [ecx + 0x78], 1
mov ecx, dword [edx + 0x199c]
movss xmm0, dword [ecx + 0x1ac]
addss xmm0, dword [0x10151ae0]
movss dword [ecx + 0x1ac], xmm0
addss xmm0, dword [ecx + 0xc]
addss xmm0, dword [ecx + 0x1b4]
movss dword [ecx + 0xc4], xmm0
mov eax, dword [edx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [edx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x10022384
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, dword [0x10151ac0]
movaps xmm3, xmm2
movss dword [ebp - 0x24], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0x20], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1006edf0
add esp, 4
test esi, esi
je 0x10022536
cmp dword [ebp - 0x304], 0
je 0x10022536
test edi, edi
je 0x10022536
movss xmm1, dword [0x10151930]
lea edx, [ebp - 0x24]
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
movq qword [ebp - 0x20], xmm0
mov ecx, str.Sun_Color
movzx eax, byte [esi + 0xc]
push 0x5000002
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x24], xmm0
movzx eax, byte [esi + 0xd]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x20], xmm0
movzx eax, byte [esi + 0xe]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x1c], xmm0
movzx eax, byte [esi + 0xf]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x18], xmm0
call fcn.1008c1a0
add esp, 4
test al, al
je 0x10022490
movsd xmm1, qword [0x10151ab8]
xor ecx, ecx
movsd xmm2, qword [0x10151970]
movss xmm0, dword [ebp + ecx*4 - 0x24]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
addsd xmm0, xmm2
cvttsd2si eax, xmm0
test eax, eax
jns 0x10022458
xorps xmm0, xmm0
jmp 0x10022466
cvttsd2si eax, xmm0
cmp eax, 0xff
jle 0x10022466
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov byte [ecx + esi + 0xc], al
inc ecx
cmp ecx, 4
jl 0x10022433
mov al, byte [esi + 0xc]
mov byte [esi + 0x1c], al
mov al, byte [esi + 0xd]
mov byte [esi + 0x1d], al
mov al, byte [esi + 0xe]
mov byte [esi + 0x1e], al
mov al, byte [esi + 0xf]
mov byte [esi + 0x1f], al
mov byte [esi + 0xb], 1
mov ecx, dword [ebp - 0x304]
call fcn.10025a20
push ecx
mov dword [esp], 0x3f800000
lea edx, [ebp - 0x31c]
push str._.2f
push edx
lea edx, [ebp - 0x304]
mov dword [ebp - 0x304], 0xc3b40000
push edx
push ecx
mov dword [esp], 0x3e800000
mov edx, 4
push 3
push eax
mov ecx, str.Sun_Direction
mov dword [ebp - 0x31c], 0x43b40000
call fcn.100852d0
movss xmm0, dword [edi + 0x40]
add esp, 0x1c
movss dword [ebp - 0x31c], xmm0
mov ecx, edi
movss xmm0, dword [edi + 0x3c]
movss dword [ebp - 0x304], xmm0
call fcn.10025a20
push ecx
mov dword [esp], 0x3f800000
lea ecx, [ebp - 0x31c]
push str._.2f
push ecx
lea ecx, [ebp - 0x304]
mov edx, 4
push ecx
push eax
mov ecx, str.Sun_Light
call fcn.10085a10
add esp, 0x14
mov ecx, dword [0x1021abec]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x100225cf
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, dword [0x10151ac0]
movaps xmm3, xmm2
movss dword [ebp - 0x338], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0x334], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x32c], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x330], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x338]
call fcn.1006edf0
add esp, 4
mov ecx, dword [0x1021abec]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
movss xmm0, dword [eax + 0x1ac]
subss xmm0, dword [0x10151ae0]
movss dword [eax + 0x1ac], xmm0
addss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0x1b4]
movss dword [eax + 0xc4], xmm0
mov esi, dword [0x1021abec]
mov eax, dword [esi + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [esi + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x100229f8
mov ecx, dword [eax + 0x1bc]
xor edx, edx
mov eax, dword [eax + 0x1c4]
push dword [eax + ecx*4 - 4]
mov ecx, str.Fog_Tweaks
call fcn.1006c490
add esp, 4
cmp dword [esi + 0x19bc], eax
jne 0x1002265f
mov dword [esi + 0x19c4], eax
cmp dword [esi + 0x19c0], eax
jne 0x1002266e
mov byte [esi + 0x19cf], 1
push 0
push str.Fog_Tweaks
mov edx, 0x1a
mov ecx, eax
call fcn.100913f0
add esp, 8
test al, al
je 0x100229f8
mov ecx, dword [0x1021abec]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
movss xmm0, dword [eax + 0x1ac]
addss xmm0, dword [0x10151ae0]
movss dword [eax + 0x1ac], xmm0
addss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0x1b4]
movss dword [eax + 0xc4], xmm0
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x10022762
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, dword [0x10151ac0]
movaps xmm3, xmm2
movss dword [ebp - 0x338], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0x334], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x32c], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x330], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x338]
call fcn.1006edf0
add esp, 4
mov ecx, dword [0x1020d29c]
call fcn.10025a20
mov edx, eax
mov ecx, str.Tweak_Framefog
call fcn.10082720
xor ecx, ecx
call fcn.1006efa0
test al, al
je 0x100227af
mov eax, dword [0x1021abec]
cmp byte [eax + 0xec], cl
jne 0x100227af
movss xmm0, dword [eax + 0x19b4]
comiss xmm0, dword [0x101519fc]
jbe 0x100227af
push str.r_fogTweaks
call fcn.100772c0
add esp, 4
mov ecx, dword [0x1020d290]
push 0x5000000
call fcn.10025a20
mov edx, eax
mov ecx, str.Fog_Color
call fcn.1008c1a0
add esp, 4
xor ecx, ecx
call fcn.1006efa0
test al, al
je 0x10022804
mov eax, dword [0x1021abec]
cmp byte [eax + 0xec], cl
jne 0x10022804
movss xmm0, dword [eax + 0x19b4]
comiss xmm0, dword [0x101519fc]
jbe 0x10022804
push str.r_fogTweaksColor
call fcn.100772c0
add esp, 4
mov ecx, dword [0x1020d298]
call fcn.10025a20
movss xmm3, dword [0x10151ac8]
mov edx, 4
push ecx
mov dword [esp], 0x3f800000
lea ecx, [ebp - 0x31c]
push str._.4f
push ecx
lea ecx, [ebp - 0x304]
mov dword [ebp - 0x304], 0xc47a0000
push ecx
push eax
mov ecx, str.Fog_Start
mov dword [ebp - 0x31c], 0x46ea6000
call fcn.10084a10
add esp, 0x14
xor ecx, ecx
call fcn.1006efa0
test al, al
je 0x1002288f
mov eax, dword [0x1021abec]
cmp byte [eax + 0xec], cl
jne 0x1002288f
movss xmm0, dword [eax + 0x19b4]
comiss xmm0, dword [0x101519fc]
jbe 0x1002288f
push str.r_fogTweaksStart
call fcn.100772c0
add esp, 4
mov ecx, dword [0x1020d294]
call fcn.10025a20
movss xmm3, dword [0x1015190c]
mov edx, 4
push ecx
mov dword [esp], 0x3f800000
lea ecx, [ebp - 0x31c]
push str._.4f
push ecx
lea ecx, [ebp - 0x304]
mov dword [ebp - 0x304], 0
push ecx
push eax
mov ecx, str.Fog_Density
mov dword [ebp - 0x31c], 0x3f800000
call fcn.10084a10
add esp, 0x14
xor ecx, ecx
call fcn.1006efa0
mov ecx, dword [0x1021abec]
test al, al
je 0x10022922
cmp byte [ecx + 0xec], 0
jne 0x10022922
movss xmm0, dword [ecx + 0x19b4]
comiss xmm0, dword [0x101519fc]
jbe 0x10022922
push str.r_fogTweaksDensity
call fcn.100772c0
mov ecx, dword [0x1021abec]
add esp, 4
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x100229b5
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, dword [0x10151ac0]
movaps xmm3, xmm2
movss dword [ebp - 0x338], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0x334], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x32c], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x330], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x338]
call fcn.1006edf0
add esp, 4
mov ecx, dword [0x1021abec]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
movss xmm0, dword [eax + 0x1ac]
subss xmm0, dword [0x10151ae0]
movss dword [eax + 0x1ac], xmm0
addss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0x1b4]
movss dword [eax + 0xc4], xmm0
mov esi, dword [0x1021abec]
mov eax, dword [esi + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [esi + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x10023617
mov ecx, dword [eax + 0x1bc]
xor edx, edx
mov eax, dword [eax + 0x1c4]
push dword [eax + ecx*4 - 4]
mov ecx, str.Configs
call fcn.1006c490
add esp, 4
cmp dword [esi + 0x19bc], eax
jne 0x10022a45
mov dword [esi + 0x19c4], eax
cmp dword [esi + 0x19c0], eax
jne 0x10022a54
mov byte [esi + 0x19cf], 1
push 0
push str.Configs
mov edx, 0x1a
mov ecx, eax
call fcn.100913f0
add esp, 8
test al, al
je 0x10023617
mov ecx, dword [0x1021abec]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
movss xmm0, dword [eax + 0x1ac]
addss xmm0, dword [0x10151ae0]
movss dword [eax + 0x1ac], xmm0
addss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0x1b4]
movss dword [eax + 0xc4], xmm0
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x10022b39
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, dword [0x10151ac0]
movaps xmm3, xmm2
movss dword [ebp - 0x24], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0x20], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1006edf0
add esp, 4
push 0
lea edx, [ebp - 0x310]
mov dword [ebp - 0x310], 0
mov ecx, str.Save
mov dword [ebp - 0x30c], 0
call fcn.10080c50
add esp, 4
test al, al
je 0x10022bac
sub esp, 0x18
mov ecx, str.daynight_
mov edx, esp
xorps xmm0, xmm0
lea esi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10022b87
sub ecx, esi
push ecx
push str.daynight_
mov ecx, edx
call fcn.100035b0
call fcn.1001d2d0
add esp, 0x18
mov byte [0x1017001d], 0
xor ecx, ecx
call fcn.1006efa0
test al, al
je 0x10022be2
mov eax, dword [0x1021abec]
cmp byte [eax + 0xec], cl
jne 0x10022be2
movss xmm0, dword [eax + 0x19b4]
comiss xmm0, dword [0x101519fc]
jbe 0x10022be2
push str.Save_config____root_iw3xo_daynight
call fcn.100772c0
add esp, 4
movss xmm1, dword [0x1013df50]
xorps xmm0, xmm0
call fcn.100770c0
mov ecx, dword [0x1021abec]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
lea esi, [eax + 0x17c]
mov dword [ebp - 0x31c], eax
mov dword [eax + 0x168], 0x43c80000
mov edi, dword [esi + 4]
mov ecx, dword [esi]
cmp ecx, edi
jne 0x10022c4f
inc ecx
test edi, edi
je 0x10022c37
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10022c3c
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.1007efa0
mov eax, dword [ebp - 0x31c]
mov edx, dword [esi]
mov ecx, dword [esi + 8]
mov eax, dword [eax + 0x168]
push 0
push 0
mov dword [ecx + edx*4], eax
lea eax, [ebp - 0x310]
inc dword [esi]
mov edx, str.daynight_
push 0
push eax
push 0x40
mov ecx, str.Config_Name
mov dword [ebp - 0x310], 0
mov dword [ebp - 0x30c], 0
call fcn.10088cf0
mov esi, dword [0x1021abec]
add esp, 0x14
mov eax, dword [esi + 0x199c]
mov byte [eax + 0x78], 1
mov edx, dword [esi + 0x199c]
add dword [edx + 0x17c], 0xffffffff
jne 0x10022cbd
movss xmm0, dword [edx + 0x21c]
jmp 0x10022ccf
mov ecx, dword [edx + 0x17c]
mov eax, dword [edx + 0x184]
movss xmm0, dword [eax + ecx*4 - 4]
movss dword [edx + 0x168], xmm0
mov eax, dword [esi + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [esi + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x10022d5b
movss xmm0, dword [eax + 0xc8]
lea ecx, [ebp - 0x310]
movss xmm2, dword [eax + 0xc4]
movaps xmm1, xmm0
addss xmm1, dword [0x10151ac0]
movaps xmm3, xmm2
movss dword [ebp - 0x24], xmm2
xorps xmm4, xmm4
movss dword [ebp - 0x20], xmm0
addss xmm3, xmm4
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x30c], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x310], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1006edf0
add esp, 4
push 0
lea edx, [ebp - 0x310]
mov dword [ebp - 0x310], 0
mov ecx, str.Load
mov dword [ebp - 0x30c], 0
call fcn.10080c50
add esp, 4
test al, al
je 0x10022d9d
mov eax, dword [0x1017aab0]
lea ecx, [eax + eax*2]
mov eax, dword [0x1021e2a4]
lea ecx, [eax + ecx*8]
call fcn.1001e2b0
xor ecx, ecx
call fcn.1006efa0
test al, al
je 0x10022dd3
mov eax, dword [0x1021abec]
cmp byte [eax + 0xec], cl
jne 0x10022dd3
movss xmm0, dword [eax + 0x19b4]
comiss xmm0, dword [0x101519fc]
jbe 0x10022dd3
push str.Load_the_selected_config____root_iw3xo_daynight
call fcn.100772c0
add esp, 4
movss xmm1, dword [0x1013df50]
xorps xmm0, xmm0
call fcn.100770c0
push 0
lea edx, [ebp - 0x310]
mov dword [ebp - 0x310], 0
mov ecx, str.Refresh
mov dword [ebp - 0x30c], 0
call fcn.10080c50
add esp, 4
test al, al
je 0x10022e17
mov byte [0x1017001d], 0
xor ecx, ecx
call fcn.1006efa0
test al, al
je 0x10022e4d
mov eax, dword [0x1021abec]
cmp byte [eax + 0xec], cl
jne 0x10022e4d
movss xmm0, dword [eax + 0x19b4]
comiss xmm0, dword [0x101519fc]
jbe 0x10022e4d
push str.Refresh_configs____root_iw3xo_daynight
call fcn.100772c0
add esp, 4
cmp byte [0x1017001d], 0
jne 0x10023472
mov ecx, dword [0x1021e2a4]
mov edx, dword [0x1021e2a8]
cmp ecx, edx
je 0x10022e7d
push ecx
call fcn.1002bd30
mov eax, dword [0x1021e2a4]
add esp, 4
mov dword [0x1021e2a8], eax
push str.fs_basepath
call fcn.100658f0
add esp, 4
test eax, eax
je 0x1002346b
mov edx, dword [eax + 0xc]
xorps xmm0, xmm0
mov ecx, edx
mov dword [ebp - 0x74], 0
movups xmmword [ebp - 0x84], xmm0
mov dword [ebp - 0x70], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10022eb2
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x84]
call fcn.100035b0
push 0x10
push str.iw3xodaynight_
lea ecx, [ebp - 0x84]
mov dword [ebp - 4], 0
call fcn.10003330
mov byte [ebp - 0x31c], 0
lea edx, [ebp - 0x84]
push dword [ebp - 0x31c]
lea ecx, [ebp - 0x6c]
call fcn.10009020
add esp, 4
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 1
call fcn.1000c920
lea ecx, [ebp - 0x6c]
mov byte [ebp - 0x31d], al
mov byte [ebp - 4], 0
call fcn.1000c5e0
cmp byte [ebp - 0x31d], 0
je 0x1002342d
mov byte [ebp - 0x31c], 0
lea edx, [ebp - 0x84]
push dword [ebp - 0x31c]
lea ecx, [ebp - 0x6c]
call fcn.10009020
add esp, 4
xor edi, edi
xor esi, esi
mov dword [ebp - 0x324], edi
mov dword [ebp - 0x310], edi
mov dword [ebp - 0x308], esi
mov dword [ebp - 0x30c], esi
push esi
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x300]
call fcn.1002b2e0
mov byte [ebp - 4], 4
cmp byte [ebp - 0x94], 0
je 0x10022fea
push 0x50
call fcn.100d91f3
mov esi, eax
mov dword [ebp - 0x308], esi
mov dword [ebp - 0x33c], esi
mov byte [ebp - 4], 5
lea eax, [ebp - 0x300]
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], edi
lea edi, [esi + 0x10]
push eax
mov ecx, edi
mov dword [esi + 4], 1
mov dword [esi + 8], 1
mov dword [esi], vtable.std::_Ref_count_obj2_struct_std::filesystem::_Dir_enum_impl_.0
mov dword [ebp - 0x324], edi
call fcn.1002bbb0
mov eax, 0x4000
mov dword [ebp - 0x310], edi
mov dword [ebp - 0x328], eax
mov dword [ebp - 0x30c], esi
mov eax, dword [ebp - 0x90]
mov byte [ebp - 4], 3
push dword [ebp - 0x2e8]
mov dword [ebp - 0x31c], eax
call fcn.100d7660
lea ecx, [ebp - 0x300]
call fcn.1000c5e0
mov eax, dword [ebp - 0x31c]
test eax, eax
jne 0x10023635
lea ecx, [ebp - 0x6c]
call fcn.1000c5e0
test esi, esi
je 0x1002302e
lock inc dword [esi + 4]
mov dword [ebp - 0x330], edi
mov dword [ebp - 0x32c], esi
test esi, esi
je 0x10023042
lock inc dword [esi + 4]
xorps xmm0, xmm0
movlpd qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
test esi, esi
je 0x1002307d
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x1002307d
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x1002307d
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 9
test edi, edi
je 0x100233d7
push 4
push str..cfg
call fcn.100d746d
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.100091e0
or dword [ebp - 0x328], 0x18
add esp, 8
lea eax, [edi + 0x20]
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x14], 7
mov ecx, eax
mov dword [ebp - 0x31c], eax
jbe 0x100230c0
mov ecx, dword [eax]
mov eax, dword [eax + 0x10]
lea esi, [ecx + eax*2]
mov edx, esi
call fcn.1002b530
push 0x3a
mov edi, eax
push esi
push edi
call fcn.100d7120
mov edx, eax
cmp edi, edx
je 0x1002310f
lea ecx, [edx - 2]
cmp edi, ecx
je 0x1002310f
cmp word [ecx], 0x2e
jne 0x100230fb
lea eax, [ecx - 2]
cmp edi, eax
jne 0x10023111
cmp word [ecx - 2], 0x2e
jne 0x10023111
jmp 0x1002310f
sub ecx, 2
cmp edi, ecx
je 0x1002310f
cmp word [ecx], 0x2e
je 0x10023111
sub ecx, 2
cmp edi, ecx
jne 0x10023102
mov ecx, edx
sub edx, ecx
mov dword [ebp - 0x44], 0
sar edx, 1
xorps xmm0, xmm0
push edx
push ecx
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x40], 0
movups xmmword [ebp - 0x54], xmm0
call fcn.1002b9d0
or dword [ebp - 0x328], 7
lea eax, [ebp - 0x3c]
cmp dword [ebp - 0x28], 7
lea ecx, [ebp - 0x54]
push dword [ebp - 0x2c]
cmova eax, dword [ebp - 0x3c]
push eax
call fcn.1002af90
lea ecx, [ebp - 0x54]
mov esi, eax
call fcn.1000c5e0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 9
call fcn.1000c5e0
test esi, esi
jne 0x10023329
push dword [ebp - 0x31c]
lea ecx, [ebp - 0x6c]
call fcn.1000c530
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x6c]
cmp dword [ebp - 0x58], 7
mov eax, dword [ebp - 0x5c]
cmova ecx, dword [ebp - 0x6c]
lea esi, [ecx + eax*2]
mov edx, esi
call fcn.1002b530
sub esi, eax
mov dword [ebp - 0x44], 0
sar esi, 1
lea ecx, [ebp - 0x54]
push esi
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
push eax
movups xmmword [ebp - 0x54], xmm0
call fcn.1002b9d0
mov esi, dword [ebp - 0x328]
or esi, 0xe0
cmp dword [ebp - 0x40], 7
lea eax, [ebp - 0x54]
mov edi, dword [ebp - 0x44]
cmova eax, dword [ebp - 0x54]
mov dword [ebp - 0x304], eax
call fcn.100d746d
mov dword [ebp - 0x33c], eax
mov byte [ebp - 4], 0xd
or esi, 0x800
mov dword [ebp - 0x2c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0xf
mov dword [ebp - 0x328], esi
mov dword [ebp - 0x31c], esi
movups xmmword [ebp - 0x3c], xmm0
mov byte [ebp - 0x3c], 0
test edi, edi
je 0x100232a0
cmp edi, 0x7fffffff
ja 0x10023647
push 0
push 0
push edi
push dword [ebp - 0x304]
push eax
call fcn.100d74be
mov esi, eax
test edx, edx
jne 0x10023640
mov ecx, dword [ebp - 0x2c]
cmp esi, ecx
ja 0x10023264
cmp dword [ebp - 0x28], 0xf
lea eax, [ebp - 0x3c]
mov ecx, esi
jbe 0x1002325b
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], esi
mov byte [ecx + eax], 0
jmp 0x10023273
mov eax, esi
sub eax, ecx
lea ecx, [ebp - 0x3c]
push 0
push eax
call fcn.1000b8b0
cmp dword [ebp - 0x28], 0xf
lea eax, [ebp - 0x3c]
push esi
cmova eax, dword [ebp - 0x3c]
push eax
push edi
push dword [ebp - 0x304]
push dword [ebp - 0x33c]
call fcn.100d74be
test edx, edx
jne 0x10023640
mov esi, dword [ebp - 0x328]
and esi, 0xfffff7ff
mov dword [ebp - 4], 0xc
or esi, 0x700
mov dword [ebp - 0x328], esi
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0xe
push eax
mov ecx, 0x1021e2a4
call fcn.1002af20
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xf
jbe 0x10023303
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100232f9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10023653
push ecx
push edx
call fcn.100d91c2
add esp, 8
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
call fcn.1000c5e0
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 9
call fcn.1000c5e0
mov edi, dword [ebp - 0x324]
nop
lea eax, [ebp - 0x2e0]
push eax
push dword [edi + 0x38]
call fcn.100d763f
cmp eax, 0x12
je 0x10023385
test eax, eax
jne 0x1002364c
cmp word [ebp - 0x2b4], 0x2e
jne 0x10023372
mov ax, word [ebp - 0x2b2]
test ax, ax
je 0x10023330
cmp ax, 0x2e
jne 0x10023372
cmp word [ebp - 0x2b0], 0
je 0x10023330
lea eax, [ebp - 0x2e0]
mov ecx, edi
push eax
call fcn.1002ba70
jmp 0x10023081
mov esi, dword [ebp - 0x32c]
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x324], edi
mov dword [ebp - 0x330], edi
mov dword [ebp - 0x32c], ecx
test esi, esi
je 0x10023081
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x10023081
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x10023081
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
jmp 0x10023081
mov ecx, dword [ebp - 0x32c]
or edi, 0xffffffff
test ecx, ecx
je 0x10023405
mov eax, edi
lock xadd dword [ecx + 4], eax
jne 0x10023405
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x32c]
mov eax, edi
lock xadd dword [ecx + 8], eax
jne 0x10023405
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x308]
test esi, esi
je 0x1002342d
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x1002342d
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x1002342d
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x70]
cmp ecx, 0xf
jbe 0x1002346b
mov edx, dword [ebp - 0x84]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10023461
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10023653
push ecx
push edx
call fcn.100d91c2
add esp, 8
mov byte [0x1017001d], 1
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
mov ecx, str.Configs
mov dword [ebp - 0x18], 0
call fcn.100928b0
test al, al
je 0x10023547
mov ecx, dword [0x1021e2a8]
mov eax, 0x2aaaaaab
mov edi, dword [0x1021e2a4]
xor esi, esi
sub ecx, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10023542
xor ecx, ecx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x324], ecx
nop word [eax + eax]
cmp dword [0x1017aab0], esi
sete al
add ecx, edi
mov byte [ebp - 0x31d], al
cmp dword [ecx + 0x14], 0xf
jbe 0x100234e9
mov ecx, dword [ecx]
lea edx, [ebp - 0x1c]
push edx
push 0
mov dl, al
call fcn.10092190
add esp, 8
test al, al
je 0x10023503
mov dword [0x1017aab0], esi
cmp byte [ebp - 0x31d], 0
je 0x10023511
call fcn.10076b70
mov ecx, dword [0x1021e2a8]
mov eax, 0x2aaaaaab
mov edi, dword [0x1021e2a4]
inc esi
add dword [ebp - 0x324], 0x18
sub ecx, edi
imul ecx
mov ecx, dword [ebp - 0x324]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x100234d0
call fcn.10092bb0
mov ecx, dword [0x1021abec]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x100235d4
movss xmm4, dword [eax + 0xc4]
lea ecx, [ebp - 0x1c]
movss xmm2, dword [eax + 0xc8]
movaps xmm3, xmm4
xorps xmm1, xmm1
movss dword [ebp - 0x318], xmm4
movaps xmm0, xmm2
movss dword [ebp - 0x314], xmm2
addss xmm0, dword [0x10151ac0]
addss xmm3, xmm1
movss dword [ebp - 0x30c], xmm0
subss xmm0, xmm2
movss dword [ebp - 0x310], xmm3
subss xmm3, xmm4
movss dword [ebp - 0x18], xmm0
movss dword [ebp - 0x1c], xmm3
call fcn.1006ecd0
push 0
xor edx, edx
lea ecx, [ebp - 0x318]
call fcn.1006edf0
add esp, 4
mov ecx, dword [0x1021abec]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x199c]
movss xmm0, dword [eax + 0x1ac]
subss xmm0, dword [0x10151ae0]
movss dword [eax + 0x1ac], xmm0
addss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0x1b4]
movss dword [eax + 0xc4], xmm0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100d8e9a
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
lea ecx, [ebp - 0x6c]
mov edx, eax
push ecx
call fcn.1002bc90
mov ecx, edx
call fcn.1000bd50
call fcn.1000b880
mov edx, eax
call fcn.1002b1f0
call fcn.100de11f
int3