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

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], rsi
push rbp
lea rbp, [r11 - 0x5f]
sub rsp, 0xa0
mov rax, qword [0x1800da0c0]
xor rax, rsp
mov qword [rbp + 0x17], 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.RectangularLightSettings
movaps xmmword [r11 - 0x18], xmm6
movaps xmmword [r11 - 0x28], xmm7
xorps xmm7, xmm7
movaps xmmword [r11 - 0x38], xmm9
mov qword [rbp - 1], 0
call fcn.18001a770
lea rdx, [rbp - 1]
movss dword [rsp + 0x28], xmm7
mov qword [rsp + 0x20], rdx
lea rcx, str.RectangularLightSettings
mov edx, eax
xor r9d, r9d
mov r8d, 3
call fcn.18003a400
movss xmm9, dword [0x1800c5ecc]
test al, al
je 0x180073f26
xorps xmm1, xmm1
call fcn.18003d1d0
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180072382
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x180072382
cmp eax, 0xffffffff
je 0x18007237b
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rcx, str.Height
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
movss xmm6, dword [0x1800c5ff8]
mulss xmm0, xmm6
call fcn.18001d300
lea rax, [rbp - 9]
mov dword [rbp - 9], 0x3e99999a
lea r8, [rdi + 0x80]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 1]
mov dword [rbp - 1], 0x3dcccccd
lea rcx, [0x1800c59a8]
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 0x180072441
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180072441
cmp eax, 0xffffffff
je 0x180072437
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rcx, str.Width
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
lea rax, [rbp - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0x3c]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 0x3dcccccd
lea rcx, [0x1800c59c0]
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 0x1800724ff
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x1800724ff
cmp eax, 0xffffffff
je 0x1800724f8
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rcx, str.Aspect
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
lea rax, [rbp - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0xa0]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 0x3dcccccd
lea rcx, [0x1800c59d0]
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 0x1800725b5
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x1800725b5
cmp eax, 0xffffffff
je 0x1800725ab
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rcx, str.AttenuationOffset
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
lea rax, [rbp - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 0x3dcccccd
lea rcx, [0x1800c5220]
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 0x180072668
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x180072668
cmp eax, 0xffffffff
je 0x18007265e
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rcx, str.AttenuationRadius
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
lea rax, [rbp - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0xbc]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 0x3dcccccd
lea rcx, [0x1800c5250]
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 0x180072729
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x180072729
cmp eax, 0xffffffff
je 0x180072722
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rcx, str.ContactShadowLength
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
lea rax, [rbp - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0x9c]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 0x3dcccccd
lea rcx, [0x1800c5280]
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 0x1800727df
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x1800727df
cmp eax, 0xffffffff
je 0x1800727d5
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rcx, str.CullDistance
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
lea rax, [rbp - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0xb4]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 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 0x180072895
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x180072895
cmp eax, 0xffffffff
je 0x18007288b
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rcx, str.CullScreenArea
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
lea rax, [rbp - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0x68]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 0x3dcccccd
lea rcx, [0x1800c52d0]
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 0x180072953
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x180072953
cmp eax, 0xffffffff
je 0x18007294c
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rcx, str.Dimmer
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
lea rax, [rbp - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0x8c]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 0x3dcccccd
lea rcx, [0x1800c52f8]
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 0x180072a09
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180072a09
cmp eax, 0xffffffff
je 0x1800729ff
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 - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0x6c]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 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 0x180072abc
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x180072abc
cmp eax, 0xffffffff
je 0x180072ab2
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 - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0x90]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 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 0x180072b7d
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x180072b7d
cmp eax, 0xffffffff
je 0x180072b76
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rcx, str.Intensity
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
lea rax, [rbp - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0x7c]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 0x3dcccccd
lea rcx, [0x1800c5378]
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 0x180072c30
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180072c30
cmp eax, 0xffffffff
je 0x180072c26
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rcx, str.IntensityMultiplier
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
lea rax, [rbp - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0x64]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 0x3dcccccd
lea rcx, [0x1800c5398]
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 0x180072cee
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x180072cee
cmp eax, 0xffffffff
je 0x180072ce7
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rcx, str.OuterAngle
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
lea rax, [rbp - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 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 0x180072da1
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180072da1
cmp eax, 0xffffffff
je 0x180072d97
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rcx, str.ShadowCullDistance
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
lea rax, [rbp - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0x58]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 0x3dcccccd
lea rcx, [0x1800c53c8]
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 0x180072e54
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x180072e54
cmp eax, 0xffffffff
je 0x180072e4a
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rcx, str.ShadowCullScreenArea
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
lea rax, [rbp - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0x78]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 0x3dcccccd
lea rcx, [0x1800c53f8]
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 0x180072f12
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x180072f12
cmp eax, 0xffffffff
je 0x180072f0b
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rcx, str.ShadowDimmer
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
lea rax, [rbp - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0x88]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 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 0x180072fc8
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180072fc8
cmp eax, 0xffffffff
je 0x180072fbe
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rcx, str.ShadowFadeDistance
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
lea rax, [rbp - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0xac]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 0x3dcccccd
lea rcx, [0x1800c5448]
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 0x18007307e
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18007307e
cmp eax, 0xffffffff
je 0x180073074
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rcx, str.ShadowFadeOutRange
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
lea rax, [rbp - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0x5c]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 0x3dcccccd
lea rcx, [0x1800c5888]
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 0x18007313c
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18007313c
cmp eax, 0xffffffff
je 0x180073135
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rcx, str.ShadowFadeScreenArea
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
lea rax, [rbp - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0x54]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 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 0x1800731ef
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x1800731ef
cmp eax, 0xffffffff
je 0x1800731e5
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rcx, str.ShadowFarRadius
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
lea rax, [rbp - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0xa4]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 0x3dcccccd
lea rcx, [0x1800c54a8]
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 0x1800732a5
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x1800732a5
cmp eax, 0xffffffff
je 0x18007329b
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rcx, str.ShadowMaxAngle
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
lea rax, [rbp - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0x94]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 0x3dcccccd
lea rcx, [0x1800c58b8]
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 0x180073366
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x180073366
cmp eax, 0xffffffff
je 0x18007335f
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rcx, str.ShadowNearRadius
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
lea rax, [rbp - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0x98]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 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 0x18007341c
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18007341c
cmp eax, 0xffffffff
je 0x180073412
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rcx, str.VolumetricScatteringIntensity
call fcn.180042d70
movss xmm0, dword [0x1800daee8]
mulss xmm0, xmm6
call fcn.18001d300
lea rax, [rbp - 1]
mov dword [rbp - 1], 0x3e99999a
lea r8, [rdi + 0xb0]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
mov dword [rbp - 9], 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 0x18007353b
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18007353b
cmp eax, 0xffffffff
je 0x180073534
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rax, str.LuminousPower
mov edx, 0xffe6e6e6
mov qword [rbp - 1], rax
xor ecx, ecx
lea rax, str.Luminance
mov qword [rbp + 7], rax
call fcn.18000d710
lea rcx, str.LightUnit
call fcn.180042d70
mov r8, qword [0x1800dea00]
movsxd rax, dword [r8 + 0x4a30]
cmp eax, 1
jl 0x1800735a4
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 + 0x44]
mov dword [rsp + 0x20], 2
lea r9, [rbp - 1]
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 0x180073633
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180073633
cmp eax, 0xffffffff
je 0x180073629
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 0x180073686
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 + 0xa8]
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 0x18007371b
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18007371b
cmp eax, 0xffffffff
je 0x180073711
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 0x18007376e
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 + 0x48]
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 0x18007380b
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18007380b
cmp eax, 0xffffffff
je 0x180073804
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 0x18007385e
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 + 0xc0]
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 0x1800738f3
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x1800738f3
cmp eax, 0xffffffff
je 0x1800738e9
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 0x180073946
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 + 0x50]
mov dword [rsp + 0x20], 5
lea r9, [0x1800dae30]
lea rcx, [0x1800c5618]
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 0x1800739d8
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x1800739d8
cmp eax, 0xffffffff
je 0x1800739ce
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rax, str.Rectangular
mov edx, 0xffe6e6e6
mov qword [rbp - 1], rax
xor ecx, ecx
lea rax, str.Frustum
mov qword [rbp + 7], rax
lea rax, str.OrthoFrustum
mov qword [rbp + 0xf], rax
call fcn.18000d710
lea rcx, str.Shape
call fcn.180042d70
mov r8, qword [0x1800dea00]
movsxd rax, dword [r8 + 0x4a30]
cmp eax, 1
jl 0x180073a4c
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 + 0x4c]
mov dword [rsp + 0x20], 3
lea r9, [rbp - 1]
lea rcx, [0x1800c5a10]
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 0x180073b44
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x180073b44
cmp eax, 0xffffffff
je 0x180073b3d
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rdx, [rdi + 0xc5]
lea rcx, str.AffectDiffuse
call fcn.180044d10
or bl, al
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180073b88
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180073b88
cmp eax, 0xffffffff
je 0x180073b7e
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rdx, [rdi + 0xd1]
lea rcx, str.AffectRadiosity
call fcn.180044d10
or bl, al
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180073bcc
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x180073bcc
cmp eax, 0xffffffff
je 0x180073bc2
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rdx, [rdi + 0xd0]
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 0x180073c14
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x180073c14
cmp eax, 0xffffffff
je 0x180073c0d
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rdx, [rdi + 0xd2]
lea rcx, str.AllowGlobalCullFadeScale
call fcn.180044d10
or bl, al
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180073c58
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180073c58
cmp eax, 0xffffffff
je 0x180073c4e
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rdx, [rdi + 0xca]
lea rcx, str.AllowGlobalShadowCullFadeScale
call fcn.180044d10
or bl, al
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180073c9c
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x180073c9c
cmp eax, 0xffffffff
je 0x180073c92
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rdx, [rdi + 0xc8]
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 0x180073ce4
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x180073ce4
cmp eax, 0xffffffff
je 0x180073cdd
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rdx, [rdi + 0xcc]
lea rcx, str.CastShadowsEnable
call fcn.180044d10
or bl, al
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180073d28
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180073d28
cmp eax, 0xffffffff
je 0x180073d1e
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rdx, [rdi + 0xc9]
lea rcx, str.CastVolumetricShadowsEnable
call fcn.180044d10
or bl, al
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180073d6c
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x180073d6c
cmp eax, 0xffffffff
je 0x180073d62
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rdx, [rdi + 0xcb]
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 0x180073db4
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x180073db4
cmp eax, 0xffffffff
je 0x180073dad
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rdx, [rdi + 0xce]
lea rcx, str.EmissiveShapeEnable
call fcn.180044d10
or bl, al
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180073df8
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180073df8
cmp eax, 0xffffffff
je 0x180073dee
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 0x180073e3c
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x180073e3c
cmp eax, 0xffffffff
je 0x180073e32
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rdx, [rdi + 0xc4]
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 0x180073e84
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x180073e84
cmp eax, 0xffffffff
je 0x180073e7d
call fcn.18003de00
xor edx, edx
call fcn.18003dc20
lea rdx, [rdi + 0xcf]
lea rcx, str.ShadowCacheEnable
call fcn.180044d10
or bl, al
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180073ec8
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x180073ec8
cmp eax, 0xffffffff
je 0x180073ebe
call fcn.18003de00
mov edx, 1
call fcn.18003dc20
lea rdx, [rdi + 0xc6]
lea rcx, str.SurfelLightingForceShadowCasting
call fcn.180044d10
or bl, al
mov rax, qword [0x1800dea00]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x180073f0c
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x180073f0c
cmp eax, 0xffffffff
je 0x180073f02
call fcn.18003de00
mov edx, 2
call fcn.18003dc20
lea rdx, [rdi + 0xcd]
lea rcx, str.UseEmissiveMaterial
call fcn.180044d10
or bl, al
call fcn.18003c880
lea rcx, str.RectangularLightSettings1
mov qword [rbp - 1], 0
call fcn.18001a770
lea rdx, [rbp - 1]
movss dword [rsp + 0x28], xmm7
mov qword [rsp + 0x20], rdx
lea rcx, str.RectangularLightSettings1
mov edx, eax
xor r9d, r9d
mov r8d, 4
call fcn.18003a400
movaps xmm7, xmmword [rsp + 0x80]
test al, al
je 0x180073fd5
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 + 0x70]
test bl, bl
mov rbx, qword [rsp + 0xb8]
movaps xmm6, xmmword [rsp + 0x90]
mov rdi, qword [rsp + 0xc0]
je 0x180074004
cmp dword [rsi + 0x1c], 0
je 0x180074004
mov dword [rsi + 0x1c], 1
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.18007c0e0
mov rsi, qword [rsp + 0xc8]
add rsp, 0xa0
pop rbp
ret