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

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], rsi
push rbp
lea rbp, [r11 - 0x5f]
sub rsp, 0x90
mov rax, qword [0x1800db0c0]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov qword [r11 + 0x10], rbx
mov rsi, rcx
mov qword [r11 + 0x18], rdi
xor bl, bl
mov rdi, qword [rcx + 8]
lea rcx, str.SpotLightSettings
movaps xmmword [r11 - 0x18], xmm6
movaps xmmword [rsp + 0x70], xmm7
xorps xmm7, xmm7
movaps xmmword [r11 - 0x38], xmm9
mov qword [rbp + 0xf], 0
call fcn.18001a780
lea rdx, [rbp + 0xf]
movss dword [rsp + 0x28], xmm7
xor r9d, r9d
mov qword [rsp + 0x20], rdx
mov edx, eax
lea rcx, str.SpotLightSettings
lea r8d, [r9 + 3]
call fcn.18003af80
movss xmm9, dword [0x1800c6eac]
test al, al
je 0x1800717e8
xorps xmm1, xmm1
call fcn.18003dda0
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18006fd10
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006fd10
cmp eax, 0xffffffff
je 0x18006fd09
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
lea rcx, str.AttenuationOffset
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
movss xmm6, dword [0x1800c6fd8]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 7]
mov dword [rbp + 7], 0x3e99999a
lea r8, [rdi + 0x94]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3dcccccd
lea rcx, [0x1800c6200]
call fcn.180047ed0
mov r10, qword [0x1800df940]
movzx ebx, al
mov rcx, qword [r10 + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [r10 + 0x4008]
mov rcx, qword [r9 + 0x1e0]
movsxd r8, dword [r9 + 0x1d8]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
mov rcx, qword [r10 + 0x4da8]
test rcx, rcx
je 0x18006fdcf
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006fdcf
cmp eax, 0xffffffff
je 0x18006fdc5
call fcn.18003e9e0
mov edx, 1
call fcn.18003e800
lea rcx, str.AttenuationRadius
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0x74]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c6230]
call fcn.180047ed0
mov r10, qword [0x1800df940]
or bl, al
mov rcx, qword [r10 + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [r10 + 0x4008]
mov rcx, qword [r9 + 0x1e0]
movsxd r8, dword [r9 + 0x1d8]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
mov rcx, qword [r10 + 0x4da8]
test rcx, rcx
je 0x18006fe82
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18006fe82
cmp eax, 0xffffffff
je 0x18006fe78
call fcn.18003e9e0
mov edx, 2
call fcn.18003e800
lea rcx, str.ContactShadowLength
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0x98]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c6260]
call fcn.180047ed0
mov rdx, qword [0x1800df940]
xorps xmm1, xmm1
or bl, al
mov rcx, qword [rdx + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [rdx + 0x4008]
movsxd r8, dword [r9 + 0x1d8]
mov rcx, qword [r9 + 0x1e0]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
call fcn.18003dda0
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18006ff43
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006ff43
cmp eax, 0xffffffff
je 0x18006ff3c
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
lea rcx, str.CullDistance
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0xb0]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c6290]
call fcn.180047ed0
mov r10, qword [0x1800df940]
or bl, al
mov rcx, qword [r10 + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [r10 + 0x4008]
mov rcx, qword [r9 + 0x1e0]
movsxd r8, dword [r9 + 0x1d8]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
mov rcx, qword [r10 + 0x4da8]
test rcx, rcx
je 0x18006fff9
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006fff9
cmp eax, 0xffffffff
je 0x18006ffef
call fcn.18003e9e0
mov edx, 1
call fcn.18003e800
lea rcx, str.CullScreenArea
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0x54]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c62b0]
call fcn.180047ed0
mov r10, qword [0x1800df940]
or bl, al
mov rcx, qword [r10 + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [r10 + 0x4008]
mov rcx, qword [r9 + 0x1e0]
movsxd r8, dword [r9 + 0x1d8]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
mov rcx, qword [r10 + 0x4da8]
test rcx, rcx
je 0x1800700ac
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x1800700ac
cmp eax, 0xffffffff
je 0x1800700a2
call fcn.18003e9e0
mov edx, 2
call fcn.18003e800
lea rcx, str.Dimmer
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0x80]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c62d8]
call fcn.180047ed0
mov rdx, qword [0x1800df940]
xorps xmm1, xmm1
or bl, al
mov rcx, qword [rdx + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [rdx + 0x4008]
movsxd r8, dword [r9 + 0x1d8]
mov rcx, qword [r9 + 0x1e0]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
call fcn.18003dda0
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18007016d
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18007016d
cmp eax, 0xffffffff
je 0x180070166
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
lea rcx, str.DiscRadius
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0x44]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c6808]
call fcn.180047ed0
mov r10, qword [0x1800df940]
or bl, al
mov rcx, qword [r10 + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [r10 + 0x4008]
mov rcx, qword [r9 + 0x1e0]
movsxd r8, dword [r9 + 0x1d8]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
mov rcx, qword [r10 + 0x4da8]
test rcx, rcx
je 0x180070220
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180070220
cmp eax, 0xffffffff
je 0x180070216
call fcn.18003e9e0
mov edx, 1
call fcn.18003e800
lea rcx, str.FadeDistance
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c62f0]
call fcn.180047ed0
mov r10, qword [0x1800df940]
or bl, al
mov rcx, qword [r10 + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [r10 + 0x4008]
mov rcx, qword [r9 + 0x1e0]
movsxd r8, dword [r9 + 0x1d8]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
mov rcx, qword [r10 + 0x4da8]
test rcx, rcx
je 0x1800702d3
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x1800702d3
cmp eax, 0xffffffff
je 0x1800702c9
call fcn.18003e9e0
mov edx, 2
call fcn.18003e800
lea rcx, str.FadeScreenArea
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0x8c]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c6310]
call fcn.180047ed0
mov rdx, qword [0x1800df940]
xorps xmm1, xmm1
or bl, al
mov rcx, qword [rdx + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [rdx + 0x4008]
movsxd r8, dword [r9 + 0x1d8]
mov rcx, qword [r9 + 0x1e0]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
call fcn.18003dda0
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180070394
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x180070394
cmp eax, 0xffffffff
je 0x18007038d
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
lea rcx, str.IESMultiplier
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0x68]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c6338]
call fcn.180047ed0
mov r10, qword [0x1800df940]
or bl, al
mov rcx, qword [r10 + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [r10 + 0x4008]
mov rcx, qword [r9 + 0x1e0]
movsxd r8, dword [r9 + 0x1d8]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
mov rcx, qword [r10 + 0x4da8]
test rcx, rcx
je 0x180070447
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180070447
cmp eax, 0xffffffff
je 0x18007043d
call fcn.18003e9e0
mov edx, 1
call fcn.18003e800
lea rcx, str.InnerAngle
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0x64]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c6828]
call fcn.180047ed0
mov r10, qword [0x1800df940]
or bl, al
mov rcx, qword [r10 + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [r10 + 0x4008]
mov rcx, qword [r9 + 0x1e0]
movsxd r8, dword [r9 + 0x1d8]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
mov rcx, qword [r10 + 0x4da8]
test rcx, rcx
je 0x1800704fa
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x1800704fa
cmp eax, 0xffffffff
je 0x1800704f0
call fcn.18003e9e0
mov edx, 2
call fcn.18003e800
lea rcx, str.Intensity
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0x5c]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c6358]
call fcn.180047ed0
mov rdx, qword [0x1800df940]
xorps xmm1, xmm1
or bl, al
mov rcx, qword [rdx + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [rdx + 0x4008]
movsxd r8, dword [r9 + 0x1d8]
mov rcx, qword [r9 + 0x1e0]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
call fcn.18003dda0
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x1800705b8
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x1800705b8
cmp eax, 0xffffffff
je 0x1800705b1
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
lea rcx, str.IntensityMultiplier
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c6378]
call fcn.180047ed0
mov r10, qword [0x1800df940]
or bl, al
mov rcx, qword [r10 + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [r10 + 0x4008]
mov rcx, qword [r9 + 0x1e0]
movsxd r8, dword [r9 + 0x1d8]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
mov rcx, qword [r10 + 0x4da8]
test rcx, rcx
je 0x18007066b
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18007066b
cmp eax, 0xffffffff
je 0x180070661
call fcn.18003e9e0
mov edx, 1
call fcn.18003e800
lea rcx, str.OuterAngle
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0x9c]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c6848]
call fcn.180047ed0
mov r10, qword [0x1800df940]
or bl, al
mov rcx, qword [r10 + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [r10 + 0x4008]
mov rcx, qword [r9 + 0x1e0]
movsxd r8, dword [r9 + 0x1d8]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
mov rcx, qword [r10 + 0x4da8]
test rcx, rcx
je 0x180070721
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x180070721
cmp eax, 0xffffffff
je 0x180070717
call fcn.18003e9e0
mov edx, 2
call fcn.18003e800
lea rcx, str.ShadowCullDistance
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c63a8]
call fcn.180047ed0
mov rdx, qword [0x1800df940]
xorps xmm1, xmm1
or bl, al
mov rcx, qword [rdx + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [rdx + 0x4008]
movsxd r8, dword [r9 + 0x1d8]
mov rcx, qword [r9 + 0x1e0]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
call fcn.18003dda0
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x1800707df
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x1800707df
cmp eax, 0xffffffff
je 0x1800707d8
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
lea rcx, str.ShadowCullScreenArea
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0x6c]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c63d8]
call fcn.180047ed0
mov r10, qword [0x1800df940]
or bl, al
mov rcx, qword [r10 + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [r10 + 0x4008]
mov rcx, qword [r9 + 0x1e0]
movsxd r8, dword [r9 + 0x1d8]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
mov rcx, qword [r10 + 0x4da8]
test rcx, rcx
je 0x180070892
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180070892
cmp eax, 0xffffffff
je 0x180070888
call fcn.18003e9e0
mov edx, 1
call fcn.18003e800
lea rcx, str.ShadowDimmer
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0x7c]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c6408]
call fcn.180047ed0
mov r10, qword [0x1800df940]
or bl, al
mov rcx, qword [r10 + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [r10 + 0x4008]
mov rcx, qword [r9 + 0x1e0]
movsxd r8, dword [r9 + 0x1d8]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
mov rcx, qword [r10 + 0x4da8]
test rcx, rcx
je 0x180070945
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x180070945
cmp eax, 0xffffffff
je 0x18007093b
call fcn.18003e9e0
mov edx, 2
call fcn.18003e800
lea rcx, str.ShadowFadeDistance
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0xa8]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c6428]
call fcn.180047ed0
mov rdx, qword [0x1800df940]
xorps xmm1, xmm1
or bl, al
mov rcx, qword [rdx + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [rdx + 0x4008]
movsxd r8, dword [r9 + 0x1d8]
mov rcx, qword [r9 + 0x1e0]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
call fcn.18003dda0
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180070a06
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x180070a06
cmp eax, 0xffffffff
je 0x1800709ff
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
lea rcx, str.ShadowFadeOutRange
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0x90]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c6868]
call fcn.180047ed0
mov r10, qword [0x1800df940]
or bl, al
mov rcx, qword [r10 + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [r10 + 0x4008]
mov rcx, qword [r9 + 0x1e0]
movsxd r8, dword [r9 + 0x1d8]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
mov rcx, qword [r10 + 0x4da8]
test rcx, rcx
je 0x180070abc
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180070abc
cmp eax, 0xffffffff
je 0x180070ab2
call fcn.18003e9e0
mov edx, 1
call fcn.18003e800
lea rcx, str.ShadowFadeScreenArea
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c6458]
call fcn.180047ed0
mov r10, qword [0x1800df940]
or bl, al
mov rcx, qword [r10 + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [r10 + 0x4008]
mov rcx, qword [r9 + 0x1e0]
movsxd r8, dword [r9 + 0x1d8]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
mov rcx, qword [r10 + 0x4da8]
test rcx, rcx
je 0x180070b6f
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x180070b6f
cmp eax, 0xffffffff
je 0x180070b65
call fcn.18003e9e0
mov edx, 2
call fcn.18003e800
lea rcx, str.ShadowFarRadius
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0xa0]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c6488]
call fcn.180047ed0
mov rdx, qword [0x1800df940]
xorps xmm1, xmm1
or bl, al
mov rcx, qword [rdx + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [rdx + 0x4008]
movsxd r8, dword [r9 + 0x1d8]
mov rcx, qword [r9 + 0x1e0]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
call fcn.18003dda0
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180070c30
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x180070c30
cmp eax, 0xffffffff
je 0x180070c29
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
lea rcx, str.ShadowMaxAngle
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0x88]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c6898]
call fcn.180047ed0
mov r10, qword [0x1800df940]
or bl, al
mov rcx, qword [r10 + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [r10 + 0x4008]
mov rcx, qword [r9 + 0x1e0]
movsxd r8, dword [r9 + 0x1d8]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
mov rcx, qword [r10 + 0x4da8]
test rcx, rcx
je 0x180070ce6
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180070ce6
cmp eax, 0xffffffff
je 0x180070cdc
call fcn.18003e9e0
mov edx, 1
call fcn.18003e800
lea rcx, str.ShadowNearRadius
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0x84]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c64b0]
call fcn.180047ed0
mov r10, qword [0x1800df940]
or bl, al
mov rcx, qword [r10 + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [r10 + 0x4008]
mov rcx, qword [r9 + 0x1e0]
movsxd r8, dword [r9 + 0x1d8]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
mov rcx, qword [r10 + 0x4da8]
test rcx, rcx
je 0x180070d9c
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x180070d9c
cmp eax, 0xffffffff
je 0x180070d92
call fcn.18003e9e0
mov edx, 2
call fcn.18003e800
lea rcx, str.VolumetricScatteringIntensity
call fcn.180043a00
movss xmm0, dword [0x1800dbe38]
mulss xmm0, xmm6
call fcn.18001d3a0
lea rax, [rbp + 0xf]
mov dword [rbp + 0xf], 0x3e99999a
lea r8, [rdi + 0xb8]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c6500]
call fcn.180047ed0
mov r10, qword [0x1800df940]
or bl, al
movss xmm0, dword [0x1800dbe38]
mulss xmm0, dword [0x1800c6f94]
mov rcx, qword [r10 + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [r10 + 0x4008]
movsxd r8, dword [r9 + 0x1d8]
mov rcx, qword [r9 + 0x1e0]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
mov rax, qword [r10 + 0x4008]
movss xmm1, dword [rax + 0x114]
subss xmm1, dword [rax + 0x2c]
addss xmm1, dword [rax + 0x90]
mov byte [rax + 0xc0], 1
mov rax, qword [r10 + 0x4008]
addss xmm1, xmm0
movss xmm0, dword [rax + 0x2c]
subss xmm0, dword [rax + 0x90]
mov byte [rax + 0x151], 1
addss xmm0, xmm1
xorps xmm1, xmm1
movss dword [rax + 0x114], xmm0
call fcn.18003dda0
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180070ebb
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x180070ebb
cmp eax, 0xffffffff
je 0x180070eb4
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
lea rax, str.LuminousPower
mov edx, 0xffe6e6e6
mov qword [rbp + 0xf], rax
xor ecx, ecx
lea rax, str.Luminance
mov qword [rbp + 0x17], rax
call fcn.18000d790
lea rcx, str.LightUnit
call fcn.180043a00
mov r8, qword [0x1800df940]
movsxd rax, dword [r8 + 0x4a30]
cmp eax, 1
jl 0x180070f24
mov rcx, qword [r8 + 0x4a38]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [r8 + rax*8 + 0x39d4], xmm0
dec dword [r8 + 0x4a30]
movaps xmm0, xmm6
call fcn.18001d3a0
lea rdx, [rdi + 0x38]
mov dword [rsp + 0x20], 2
lea r9, [rbp + 0xf]
lea rcx, [0x1800c6560]
call fcn.1800472c0
mov r10, qword [0x1800df940]
or bl, al
mov rcx, qword [r10 + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [r10 + 0x4008]
mov rcx, qword [r9 + 0x1e0]
movsxd r8, dword [r9 + 0x1d8]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
mov rcx, qword [r10 + 0x4da8]
test rcx, rcx
je 0x180070fb3
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180070fb3
cmp eax, 0xffffffff
je 0x180070fa9
call fcn.18003e9e0
mov edx, 1
call fcn.18003e800
mov edx, 0xffe6e6e6
xor ecx, ecx
call fcn.18000d790
lea rcx, str.CastVolumetricShadows
call fcn.180043a00
mov r8, qword [0x1800df940]
movsxd rax, dword [r8 + 0x4a30]
cmp eax, 1
jl 0x180071006
mov rcx, qword [r8 + 0x4a38]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [r8 + rax*8 + 0x39d4], xmm0
dec dword [r8 + 0x4a30]
movaps xmm0, xmm6
call fcn.18001d3a0
lea rdx, [rdi + 0xa4]
mov dword [rsp + 0x20], 5
lea r9, [0x1800dbd80]
lea rcx, [0x1800c6580]
call fcn.1800472c0
mov r10, qword [0x1800df940]
or bl, al
mov rcx, qword [r10 + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [r10 + 0x4008]
mov rcx, qword [r9 + 0x1e0]
movsxd r8, dword [r9 + 0x1d8]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
mov rcx, qword [r10 + 0x4da8]
test rcx, rcx
je 0x18007109b
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18007109b
cmp eax, 0xffffffff
je 0x180071091
call fcn.18003e9e0
mov edx, 2
call fcn.18003e800
mov edx, 0xffe6e6e6
xor ecx, ecx
call fcn.18000d790
lea rcx, str.CastShadows
call fcn.180043a00
mov r8, qword [0x1800df940]
movsxd rax, dword [r8 + 0x4a30]
cmp eax, 1
jl 0x1800710ee
mov rcx, qword [r8 + 0x4a38]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [r8 + rax*8 + 0x39d4], xmm0
dec dword [r8 + 0x4a30]
movaps xmm0, xmm6
call fcn.18001d3a0
lea rdx, [rdi + 0x40]
mov dword [rsp + 0x20], 5
lea r9, [0x1800dbd80]
lea rcx, [0x1800c65b0]
call fcn.1800472c0
mov rdx, qword [0x1800df940]
xorps xmm1, xmm1
or bl, al
mov rcx, qword [rdx + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [rdx + 0x4008]
movsxd r8, dword [r9 + 0x1d8]
mov rcx, qword [r9 + 0x1e0]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
call fcn.18003dda0
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18007118b
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18007118b
cmp eax, 0xffffffff
je 0x180071184
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
mov edx, 0xffe6e6e6
xor ecx, ecx
call fcn.18000d790
lea rcx, str.CastVolumetric
call fcn.180043a00
mov r8, qword [0x1800df940]
movsxd rax, dword [r8 + 0x4a30]
cmp eax, 1
jl 0x1800711de
mov rcx, qword [r8 + 0x4a38]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [r8 + rax*8 + 0x39d4], xmm0
dec dword [r8 + 0x4a30]
movaps xmm0, xmm6
call fcn.18001d3a0
lea rdx, [rdi + 0x3c]
mov dword [rsp + 0x20], 5
lea r9, [0x1800dbd80]
lea rcx, [0x1800c65d0]
call fcn.1800472c0
mov r10, qword [0x1800df940]
or bl, al
mov rcx, qword [r10 + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [r10 + 0x4008]
mov rcx, qword [r9 + 0x1e0]
movsxd r8, dword [r9 + 0x1d8]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
mov rcx, qword [r10 + 0x4da8]
test rcx, rcx
je 0x180071270
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180071270
cmp eax, 0xffffffff
je 0x180071266
call fcn.18003e9e0
mov edx, 1
call fcn.18003e800
mov edx, 0xffe6e6e6
xor ecx, ecx
call fcn.18000d790
lea rcx, str.CastContactShadows
call fcn.180043a00
mov r8, qword [0x1800df940]
movsxd rax, dword [r8 + 0x4a30]
cmp eax, 1
jl 0x1800712c3
mov rcx, qword [r8 + 0x4a38]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm1, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [r8 + rax*8 + 0x39d4], xmm1
dec dword [r8 + 0x4a30]
movaps xmm0, xmm6
call fcn.18001d3a0
lea rdx, [rdi + 0x58]
mov dword [rsp + 0x20], 5
lea r9, [0x1800dbd80]
lea rcx, [0x1800c65f8]
call fcn.1800472c0
mov r10, qword [0x1800df940]
or bl, al
movss xmm0, dword [0x1800dbe38]
mulss xmm0, dword [0x1800c6f94]
mov rcx, qword [r10 + 0x4008]
mov byte [rcx + 0xc0], 1
mov r9, qword [r10 + 0x4008]
movsxd r8, dword [r9 + 0x1d8]
mov rcx, qword [r9 + 0x1e0]
mov edx, dword [rcx + r8*4 - 4]
lea ecx, [r8 - 1]
mov dword [r9 + 0x1d8], ecx
mov dword [r9 + 0x1cc], edx
mov rax, qword [r10 + 0x4008]
movss xmm1, dword [rax + 0x114]
subss xmm1, dword [rax + 0x2c]
addss xmm1, dword [rax + 0x90]
mov byte [rax + 0xc0], 1
mov rax, qword [r10 + 0x4008]
addss xmm1, xmm0
movss xmm0, dword [rax + 0x2c]
subss xmm0, dword [rax + 0x90]
mov byte [rax + 0x151], 1
addss xmm0, xmm1
xorps xmm1, xmm1
movss dword [rax + 0x114], xmm0
call fcn.18003dda0
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x1800713be
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x1800713be
cmp eax, 0xffffffff
je 0x1800713b7
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
lea rdx, [rdi + 0xbe]
lea rcx, str.AffectDiffuse
call fcn.1800459c0
or bl, al
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180071402
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180071402
cmp eax, 0xffffffff
je 0x1800713f8
call fcn.18003e9e0
mov edx, 1
call fcn.18003e800
lea rdx, [rdi + 0xc9]
lea rcx, str.AffectRadiosity
call fcn.1800459c0
or bl, al
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180071446
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x180071446
cmp eax, 0xffffffff
je 0x18007143c
call fcn.18003e9e0
mov edx, 2
call fcn.18003e800
lea rdx, [rdi + 0xbf]
lea rcx, str.AffectSpecular
call fcn.1800459c0
xorps xmm1, xmm1
or bl, al
call fcn.18003dda0
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18007148e
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18007148e
cmp eax, 0xffffffff
je 0x180071487
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
lea rdx, [rdi + 0xca]
lea rcx, str.AllowGlobalCullFadeScale
call fcn.1800459c0
or bl, al
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x1800714d2
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x1800714d2
cmp eax, 0xffffffff
je 0x1800714c8
call fcn.18003e9e0
mov edx, 1
call fcn.18003e800
lea rdx, [rdi + 0xc1]
lea rcx, str.AllowGlobalShadowCullFadeScale
call fcn.1800459c0
or bl, al
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180071516
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x180071516
cmp eax, 0xffffffff
je 0x18007150c
call fcn.18003e9e0
mov edx, 2
call fcn.18003e800
lea rdx, [rdi + 0xc2]
lea rcx, str.CastContactShadowsEnable
call fcn.1800459c0
xorps xmm1, xmm1
or bl, al
call fcn.18003dda0
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18007155e
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18007155e
cmp eax, 0xffffffff
je 0x180071557
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
lea rdx, [rdi + 0xc5]
lea rcx, str.CastShadowsEnable
call fcn.1800459c0
or bl, al
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x1800715a2
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x1800715a2
cmp eax, 0xffffffff
je 0x180071598
call fcn.18003e9e0
mov edx, 1
call fcn.18003e800
lea rdx, [rdi + 0xc3]
lea rcx, str.CastVolumetricShadowsEnable
call fcn.1800459c0
or bl, al
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x1800715e6
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x1800715e6
cmp eax, 0xffffffff
je 0x1800715dc
call fcn.18003e9e0
mov edx, 2
call fcn.18003e800
lea rdx, [rdi + 0xc4]
lea rcx, str.DirectLightmapEnable
call fcn.1800459c0
xorps xmm1, xmm1
or bl, al
call fcn.18003dda0
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18007162e
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18007162e
cmp eax, 0xffffffff
je 0x180071627
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
lea rdx, [rdi + 0xcb]
lea rcx, str.EmissiveShapeEnable
call fcn.1800459c0
or bl, al
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180071672
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180071672
cmp eax, 0xffffffff
je 0x180071668
call fcn.18003e9e0
mov edx, 1
call fcn.18003e800
lea rdx, [rdi + 0xc7]
lea rcx, str.IsEnabled
call fcn.1800459c0
or bl, al
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x1800716b6
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x1800716b6
cmp eax, 0xffffffff
je 0x1800716ac
call fcn.18003e9e0
mov edx, 2
call fcn.18003e800
lea rdx, [rdi + 0xbc]
lea rcx, str.IsFirstPerson
call fcn.1800459c0
xorps xmm1, xmm1
or bl, al
call fcn.18003dda0
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x1800716fe
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x1800716fe
cmp eax, 0xffffffff
je 0x1800716f7
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
lea rdx, [rdi + 0xc0]
lea rcx, str.ReflectorEnable
call fcn.1800459c0
or bl, al
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180071742
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180071742
cmp eax, 0xffffffff
je 0x180071738
call fcn.18003e9e0
mov edx, 1
call fcn.18003e800
lea rdx, [rdi + 0xc8]
lea rcx, str.ShadowCacheEnable
call fcn.1800459c0
or bl, al
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180071786
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x180071786
cmp eax, 0xffffffff
je 0x18007177c
call fcn.18003e9e0
mov edx, 2
call fcn.18003e800
lea rdx, [rdi + 0xbd]
lea rcx, str.SurfelLightingForceShadowCasting
call fcn.1800459c0
xorps xmm1, xmm1
or bl, al
call fcn.18003dda0
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x1800717ce
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x1800717ce
cmp eax, 0xffffffff
je 0x1800717c7
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
lea rdx, [rdi + 0xc6]
lea rcx, str.UseIESProfileAsMask
call fcn.1800459c0
or bl, al
call fcn.18003d440
lea rcx, str.SpotLightSettings1
mov qword [rbp + 0xf], 0
call fcn.18001a780
lea rdx, [rbp + 0xf]
movss dword [rsp + 0x28], xmm7
xor r9d, r9d
mov qword [rsp + 0x20], rdx
mov edx, eax
lea rcx, str.SpotLightSettings1
lea r8d, [r9 + 4]
call fcn.18003af80
movaps xmm7, xmmword [rsp + 0x70]
test al, al
je 0x180071892
movss xmm6, dword [0x1800c6fc8]
lea rcx, str.Color
movaps xmm3, xmm6
movss dword [rsp + 0x20], xmm9
mov r8b, 1
mov rdx, rdi
call fcn.180058650
lea rdx, [rdi + 0x20]
movss dword [rsp + 0x20], xmm9
movaps xmm3, xmm6
lea rcx, str.RadiosityColorScale
xor r8d, r8d
or bl, al
call fcn.180058650
lea rdx, [rdi + 0x10]
movss dword [rsp + 0x20], xmm9
movaps xmm3, xmm6
lea rcx, str.ParticleColorScale
xor r8d, r8d
or bl, al
call fcn.180058650
or bl, al
call fcn.18003d440
movaps xmm9, xmmword [rsp + 0x60]
test bl, bl
mov rbx, qword [rsp + 0xa8]
movaps xmm6, xmmword [rsp + 0x80]
mov rdi, qword [rsp + 0xb0]
je 0x1800718c1
cmp dword [rsi + 0x1c], 0
je 0x1800718c1
mov dword [rsi + 0x1c], 1
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.18007cc10
mov rsi, qword [rsp + 0xb8]
add rsp, 0x90
pop rbp
ret