Function at 0x18006ec70
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 [0x1800da0c0]
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.18001a770
lea rdx, [rbp + 0xf]
movss dword [rsp + 0x28], xmm7
mov qword [rsp + 0x20], rdx
lea rcx, str.SpotLightSettings
mov edx, eax
xor r9d, r9d
mov r8d, 3
call fcn.18003a400
movss xmm9, dword [0x1800c5ecc]
test al, al
je 0x18007080a
xorps xmm1, xmm1
call fcn.18003d1d0
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18006ed32
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006ed32
cmp eax, 0xffffffff
je 0x18006ed2b
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rcx, str.AttenuationOffset
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
movss xmm6, dword [0x1800c5ff8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c5220]
call fcn.1800471e0
mov r10, qword [0x1800dea00]
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 0x18006edf1
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006edf1
cmp eax, 0xffffffff
je 0x18006ede7
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rcx, str.AttenuationRadius
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c5250]
call fcn.1800471e0
mov r10, qword [0x1800dea00]
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 0x18006eea4
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18006eea4
cmp eax, 0xffffffff
je 0x18006ee9a
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rcx, str.ContactShadowLength
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c5280]
call fcn.1800471e0
mov rdx, qword [0x1800dea00]
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.18003d1d0
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18006ef65
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006ef65
cmp eax, 0xffffffff
je 0x18006ef5e
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rcx, str.CullDistance
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c52b0]
call fcn.1800471e0
mov r10, qword [0x1800dea00]
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 0x18006f01b
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006f01b
cmp eax, 0xffffffff
je 0x18006f011
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rcx, str.CullScreenArea
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c52d0]
call fcn.1800471e0
mov r10, qword [0x1800dea00]
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 0x18006f0ce
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18006f0ce
cmp eax, 0xffffffff
je 0x18006f0c4
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rcx, str.Dimmer
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c52f8]
call fcn.1800471e0
mov rdx, qword [0x1800dea00]
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.18003d1d0
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18006f18f
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006f18f
cmp eax, 0xffffffff
je 0x18006f188
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rcx, str.DiscRadius
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c5828]
call fcn.1800471e0
mov r10, qword [0x1800dea00]
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 0x18006f242
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006f242
cmp eax, 0xffffffff
je 0x18006f238
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rcx, str.FadeDistance
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c5310]
call fcn.1800471e0
mov r10, qword [0x1800dea00]
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 0x18006f2f5
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18006f2f5
cmp eax, 0xffffffff
je 0x18006f2eb
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rcx, str.FadeScreenArea
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c5330]
call fcn.1800471e0
mov rdx, qword [0x1800dea00]
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.18003d1d0
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18006f3b6
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006f3b6
cmp eax, 0xffffffff
je 0x18006f3af
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rcx, str.IESMultiplier
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c5358]
call fcn.1800471e0
mov r10, qword [0x1800dea00]
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 0x18006f469
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006f469
cmp eax, 0xffffffff
je 0x18006f45f
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rcx, str.InnerAngle
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c5848]
call fcn.1800471e0
mov r10, qword [0x1800dea00]
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 0x18006f51c
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18006f51c
cmp eax, 0xffffffff
je 0x18006f512
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rcx, str.Intensity
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c5378]
call fcn.1800471e0
mov rdx, qword [0x1800dea00]
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.18003d1d0
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18006f5da
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006f5da
cmp eax, 0xffffffff
je 0x18006f5d3
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rcx, str.IntensityMultiplier
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c5398]
call fcn.1800471e0
mov r10, qword [0x1800dea00]
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 0x18006f68d
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006f68d
cmp eax, 0xffffffff
je 0x18006f683
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rcx, str.OuterAngle
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c5868]
call fcn.1800471e0
mov r10, qword [0x1800dea00]
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 0x18006f743
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18006f743
cmp eax, 0xffffffff
je 0x18006f739
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rcx, str.ShadowCullDistance
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c53c8]
call fcn.1800471e0
mov rdx, qword [0x1800dea00]
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.18003d1d0
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18006f801
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006f801
cmp eax, 0xffffffff
je 0x18006f7fa
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rcx, str.ShadowCullScreenArea
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c53f8]
call fcn.1800471e0
mov r10, qword [0x1800dea00]
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 0x18006f8b4
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006f8b4
cmp eax, 0xffffffff
je 0x18006f8aa
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rcx, str.ShadowDimmer
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c5428]
call fcn.1800471e0
mov r10, qword [0x1800dea00]
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 0x18006f967
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18006f967
cmp eax, 0xffffffff
je 0x18006f95d
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rcx, str.ShadowFadeDistance
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c5448]
call fcn.1800471e0
mov rdx, qword [0x1800dea00]
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.18003d1d0
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18006fa28
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006fa28
cmp eax, 0xffffffff
je 0x18006fa21
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rcx, str.ShadowFadeOutRange
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c5888]
call fcn.1800471e0
mov r10, qword [0x1800dea00]
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 0x18006fade
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006fade
cmp eax, 0xffffffff
je 0x18006fad4
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rcx, str.ShadowFadeScreenArea
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c5478]
call fcn.1800471e0
mov r10, qword [0x1800dea00]
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 0x18006fb91
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18006fb91
cmp eax, 0xffffffff
je 0x18006fb87
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rcx, str.ShadowFarRadius
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c54a8]
call fcn.1800471e0
mov rdx, qword [0x1800dea00]
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.18003d1d0
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18006fc52
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006fc52
cmp eax, 0xffffffff
je 0x18006fc4b
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rcx, str.ShadowMaxAngle
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c58b8]
call fcn.1800471e0
mov r10, qword [0x1800dea00]
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 0x18006fd08
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006fd08
cmp eax, 0xffffffff
je 0x18006fcfe
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rcx, str.ShadowNearRadius
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c54d0]
call fcn.1800471e0
mov r10, qword [0x1800dea00]
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 0x18006fdbe
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18006fdbe
cmp eax, 0xffffffff
je 0x18006fdb4
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rcx, str.VolumetricScatteringIntensity
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
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, [0x1800c5520]
call fcn.1800471e0
mov r10, qword [0x1800dea00]
or bl, al
movss xmm0, dword [0x1800daee8]
mulss xmm0, dword [0x1800c5fb4]
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.18003d1d0
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18006fedd
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006fedd
cmp eax, 0xffffffff
je 0x18006fed6
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
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.18000d710
lea rcx, str.LightUnit
call fcn.180042d70
mov r8, qword [0x1800dea00]
movsxd rax, dword [r8 + 0x4a30]
cmp eax, 1
jl 0x18006ff46
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.18001d300
lea rdx, [rdi + 0x38]
mov dword [rsp + 0x20], 2
lea r9, [rbp + 0xf]
lea rcx, [0x1800c5580]
call fcn.1800465d0
mov r10, qword [0x1800dea00]
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 0x18006ffd5
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006ffd5
cmp eax, 0xffffffff
je 0x18006ffcb
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
mov edx, 0xffe6e6e6
xor ecx, ecx
call fcn.18000d710
lea rcx, str.CastVolumetricShadows
call fcn.180042d70
mov r8, qword [0x1800dea00]
movsxd rax, dword [r8 + 0x4a30]
cmp eax, 1
jl 0x180070028
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.18001d300
lea rdx, [rdi + 0xa4]
mov dword [rsp + 0x20], 5
lea r9, [0x1800dae30]
lea rcx, [0x1800c55a0]
call fcn.1800465d0
mov r10, qword [0x1800dea00]
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 0x1800700bd
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x1800700bd
cmp eax, 0xffffffff
je 0x1800700b3
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
mov edx, 0xffe6e6e6
xor ecx, ecx
call fcn.18000d710
lea rcx, str.CastShadows
call fcn.180042d70
mov r8, qword [0x1800dea00]
movsxd rax, dword [r8 + 0x4a30]
cmp eax, 1
jl 0x180070110
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.18001d300
lea rdx, [rdi + 0x40]
mov dword [rsp + 0x20], 5
lea r9, [0x1800dae30]
lea rcx, [0x1800c55d0]
call fcn.1800465d0
mov rdx, qword [0x1800dea00]
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.18003d1d0
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x1800701ad
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x1800701ad
cmp eax, 0xffffffff
je 0x1800701a6
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
mov edx, 0xffe6e6e6
xor ecx, ecx
call fcn.18000d710
lea rcx, str.CastVolumetric
call fcn.180042d70
mov r8, qword [0x1800dea00]
movsxd rax, dword [r8 + 0x4a30]
cmp eax, 1
jl 0x180070200
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.18001d300
lea rdx, [rdi + 0x3c]
mov dword [rsp + 0x20], 5
lea r9, [0x1800dae30]
lea rcx, [0x1800c55f0]
call fcn.1800465d0
mov r10, qword [0x1800dea00]
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 0x180070292
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180070292
cmp eax, 0xffffffff
je 0x180070288
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
mov edx, 0xffe6e6e6
xor ecx, ecx
call fcn.18000d710
lea rcx, str.CastContactShadows
call fcn.180042d70
mov r8, qword [0x1800dea00]
movsxd rax, dword [r8 + 0x4a30]
cmp eax, 1
jl 0x1800702e5
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.18001d300
lea rdx, [rdi + 0x58]
mov dword [rsp + 0x20], 5
lea r9, [0x1800dae30]
lea rcx, [0x1800c5618]
call fcn.1800465d0
mov r10, qword [0x1800dea00]
or bl, al
movss xmm0, dword [0x1800daee8]
mulss xmm0, dword [0x1800c5fb4]
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.18003d1d0
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x1800703e0
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x1800703e0
cmp eax, 0xffffffff
je 0x1800703d9
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rdx, [rdi + 0xbe]
lea rcx, str.AffectDiffuse
call fcn.180044d10
or bl, al
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180070424
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180070424
cmp eax, 0xffffffff
je 0x18007041a
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rdx, [rdi + 0xc9]
lea rcx, str.AffectRadiosity
call fcn.180044d10
or bl, al
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180070468
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x180070468
cmp eax, 0xffffffff
je 0x18007045e
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rdx, [rdi + 0xbf]
lea rcx, str.AffectSpecular
call fcn.180044d10
xorps xmm1, xmm1
or bl, al
call fcn.18003d1d0
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x1800704b0
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x1800704b0
cmp eax, 0xffffffff
je 0x1800704a9
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rdx, [rdi + 0xca]
lea rcx, str.AllowGlobalCullFadeScale
call fcn.180044d10
or bl, al
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x1800704f4
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x1800704f4
cmp eax, 0xffffffff
je 0x1800704ea
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rdx, [rdi + 0xc1]
lea rcx, str.AllowGlobalShadowCullFadeScale
call fcn.180044d10
or bl, al
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180070538
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x180070538
cmp eax, 0xffffffff
je 0x18007052e
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rdx, [rdi + 0xc2]
lea rcx, str.CastContactShadowsEnable
call fcn.180044d10
xorps xmm1, xmm1
or bl, al
call fcn.18003d1d0
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180070580
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x180070580
cmp eax, 0xffffffff
je 0x180070579
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rdx, [rdi + 0xc5]
lea rcx, str.CastShadowsEnable
call fcn.180044d10
or bl, al
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x1800705c4
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x1800705c4
cmp eax, 0xffffffff
je 0x1800705ba
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rdx, [rdi + 0xc3]
lea rcx, str.CastVolumetricShadowsEnable
call fcn.180044d10
or bl, al
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180070608
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x180070608
cmp eax, 0xffffffff
je 0x1800705fe
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rdx, [rdi + 0xc4]
lea rcx, str.DirectLightmapEnable
call fcn.180044d10
xorps xmm1, xmm1
or bl, al
call fcn.18003d1d0
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180070650
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x180070650
cmp eax, 0xffffffff
je 0x180070649
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rdx, [rdi + 0xcb]
lea rcx, str.EmissiveShapeEnable
call fcn.180044d10
or bl, al
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180070694
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180070694
cmp eax, 0xffffffff
je 0x18007068a
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rdx, [rdi + 0xc7]
lea rcx, str.IsEnabled
call fcn.180044d10
or bl, al
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x1800706d8
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x1800706d8
cmp eax, 0xffffffff
je 0x1800706ce
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rdx, [rdi + 0xbc]
lea rcx, str.IsFirstPerson
call fcn.180044d10
xorps xmm1, xmm1
or bl, al
call fcn.18003d1d0
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180070720
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x180070720
cmp eax, 0xffffffff
je 0x180070719
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rdx, [rdi + 0xc0]
lea rcx, str.ReflectorEnable
call fcn.180044d10
or bl, al
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180070764
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180070764
cmp eax, 0xffffffff
je 0x18007075a
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rdx, [rdi + 0xc8]
lea rcx, str.ShadowCacheEnable
call fcn.180044d10
or bl, al
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x1800707a8
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x1800707a8
cmp eax, 0xffffffff
je 0x18007079e
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rdx, [rdi + 0xbd]
lea rcx, str.SurfelLightingForceShadowCasting
call fcn.180044d10
xorps xmm1, xmm1
or bl, al
call fcn.18003d1d0
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x1800707f0
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x1800707f0
cmp eax, 0xffffffff
je 0x1800707e9
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rdx, [rdi + 0xc6]
lea rcx, str.UseIESProfileAsMask
call fcn.180044d10
or bl, al
call fcn.18003c880
lea rcx, str.SpotLightSettings1
mov qword [rbp + 0xf], 0
call fcn.18001a770
lea rdx, [rbp + 0xf]
movss dword [rsp + 0x28], xmm7
mov qword [rsp + 0x20], rdx
lea rcx, str.SpotLightSettings1
mov edx, eax
xor r9d, r9d
mov r8d, 4
call fcn.18003a400
movaps xmm7, xmmword [rsp + 0x70]
test al, al
je 0x1800708b6
movss xmm6, dword [0x1800c5fe8]
lea rcx, str.Color
movaps xmm3, xmm6
movss dword [rsp + 0x20], xmm9
mov r8b, 1
mov rdx, rdi
call fcn.180057630
lea rdx, [rdi + 0x20]
movss dword [rsp + 0x20], xmm9
movaps xmm3, xmm6
lea rcx, str.RadiosityColorScale
xor r8d, r8d
or bl, al
call fcn.180057630
lea rdx, [rdi + 0x10]
movss dword [rsp + 0x20], xmm9
movaps xmm3, xmm6
lea rcx, str.ParticleColorScale
xor r8d, r8d
or bl, al
call fcn.180057630
or bl, al
call fcn.18003c880
movaps xmm9, xmmword [rsp + 0x60]
test bl, bl
mov rbx, qword [rsp + 0xa8]
movaps xmm6, xmmword [rsp + 0x80]
mov rdi, qword [rsp + 0xb0]
je 0x1800708e5
cmp dword [rsi + 0x1c], 0
je 0x1800708e5
mov dword [rsi + 0x1c], 1
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.18007c0e0
mov rsi, qword [rsp + 0xb8]
add rsp, 0x90
pop rbp
ret