Function at 0x18006e290
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.SphereLightSettings
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.SphereLightSettings
lea r8d, [r9 + 3]
call fcn.18003af80
movss xmm9, dword [0x1800c6eac]
test al, al
je 0x18006fb4b
xorps xmm1, xmm1
call fcn.18003dda0
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18006e350
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006e350
cmp eax, 0xffffffff
je 0x18006e349
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 + 0x68]
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 0x18006e40c
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006e40c
cmp eax, 0xffffffff
je 0x18006e402
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 + 0x7c]
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 0x18006e4bf
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18006e4bf
cmp eax, 0xffffffff
je 0x18006e4b5
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 + 0x9c]
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 0x18006e580
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006e580
cmp eax, 0xffffffff
je 0x18006e579
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 + 0xa0]
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 0x18006e636
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006e636
cmp eax, 0xffffffff
je 0x18006e62c
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 + 0x38]
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 0x18006e6e9
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18006e6e9
cmp eax, 0xffffffff
je 0x18006e6df
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 + 0xa8]
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 0x18006e7aa
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006e7aa
cmp eax, 0xffffffff
je 0x18006e7a3
call fcn.18003e9e0
xor edx, edx
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 + 0x88]
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 0x18006e860
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006e860
cmp eax, 0xffffffff
je 0x18006e856
call fcn.18003e9e0
mov edx, 1
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 + 0x94]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c6310]
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 0x18006e916
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18006e916
cmp eax, 0xffffffff
je 0x18006e90c
call fcn.18003e9e0
mov edx, 2
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 + 0x80]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c6338]
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 0x18006e9d7
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006e9d7
cmp eax, 0xffffffff
je 0x18006e9d0
call fcn.18003e9e0
xor edx, edx
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 + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c6358]
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 0x18006ea8a
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006ea8a
cmp eax, 0xffffffff
je 0x18006ea80
call fcn.18003e9e0
mov edx, 1
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 + 0x44]
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 0x18006eb3d
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18006eb3d
cmp eax, 0xffffffff
je 0x18006eb33
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 + 0x50]
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 0x18006ebfb
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006ebfb
cmp eax, 0xffffffff
je 0x18006ebf4
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 + 0x3c]
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 0x18006ecae
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006ecae
cmp eax, 0xffffffff
je 0x18006eca4
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 + 0x84]
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 0x18006ed64
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18006ed64
cmp eax, 0xffffffff
je 0x18006ed5a
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 + 0x98]
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 0x18006ee25
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006ee25
cmp eax, 0xffffffff
je 0x18006ee1e
call fcn.18003e9e0
xor edx, edx
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 + 0x5c]
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 0x18006eed8
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006eed8
cmp eax, 0xffffffff
je 0x18006eece
call fcn.18003e9e0
mov edx, 1
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 + 0x6c]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c6488]
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 0x18006ef8b
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18006ef8b
cmp eax, 0xffffffff
je 0x18006ef81
call fcn.18003e9e0
mov edx, 2
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 + 0x8c]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c64b0]
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 0x18006f04c
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006f04c
cmp eax, 0xffffffff
je 0x18006f045
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
lea rcx, str.SphereRadius
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 + 0x58]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 7]
mov dword [rbp + 7], 0x3dcccccd
lea rcx, [0x1800c64e0]
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 0x18006f0ff
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006f0ff
cmp eax, 0xffffffff
je 0x18006f0f5
call fcn.18003e9e0
mov edx, 1
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 + 0x40]
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 0x18006f21b
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006f21b
cmp eax, 0xffffffff
je 0x18006f214
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 0x18006f284
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 + 0x48]
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 0x18006f313
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006f313
cmp eax, 0xffffffff
je 0x18006f309
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 0x18006f366
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 + 0x54]
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 0x18006f3f8
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18006f3f8
cmp eax, 0xffffffff
je 0x18006f3ee
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 0x18006f44b
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 + 0x64]
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 0x18006f4e8
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006f4e8
cmp eax, 0xffffffff
je 0x18006f4e1
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 0x18006f53b
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 + 0x90]
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 0x18006f5d0
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006f5d0
cmp eax, 0xffffffff
je 0x18006f5c6
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 0x18006f623
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 + 0xa4]
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 0x18006f721
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006f721
cmp eax, 0xffffffff
je 0x18006f71a
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
lea rdx, [rdi + 0xbb]
lea rcx, str.AffectDiffuse
call fcn.1800459c0
or bl, al
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18006f765
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006f765
cmp eax, 0xffffffff
je 0x18006f75b
call fcn.18003e9e0
mov edx, 1
call fcn.18003e800
lea rdx, [rdi + 0xb3]
lea rcx, str.AffectRadiosity
call fcn.1800459c0
or bl, al
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18006f7a9
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18006f7a9
cmp eax, 0xffffffff
je 0x18006f79f
call fcn.18003e9e0
mov edx, 2
call fcn.18003e800
lea rdx, [rdi + 0xb7]
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 0x18006f7f1
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006f7f1
cmp eax, 0xffffffff
je 0x18006f7ea
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
lea rdx, [rdi + 0xba]
lea rcx, str.AllowGlobalCullFadeScale
call fcn.1800459c0
or bl, al
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18006f835
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006f835
cmp eax, 0xffffffff
je 0x18006f82b
call fcn.18003e9e0
mov edx, 1
call fcn.18003e800
lea rdx, [rdi + 0xb4]
lea rcx, str.AllowGlobalShadowCullFadeScale
call fcn.1800459c0
or bl, al
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18006f879
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18006f879
cmp eax, 0xffffffff
je 0x18006f86f
call fcn.18003e9e0
mov edx, 2
call fcn.18003e800
lea rdx, [rdi + 0xad]
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 0x18006f8c1
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006f8c1
cmp eax, 0xffffffff
je 0x18006f8ba
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
lea rdx, [rdi + 0xb9]
lea rcx, str.CastShadowsEnable
call fcn.1800459c0
or bl, al
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18006f905
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006f905
cmp eax, 0xffffffff
je 0x18006f8fb
call fcn.18003e9e0
mov edx, 1
call fcn.18003e800
lea rdx, [rdi + 0xb6]
lea rcx, str.CastVolumetricShadowsEnable
call fcn.1800459c0
or bl, al
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18006f949
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18006f949
cmp eax, 0xffffffff
je 0x18006f93f
call fcn.18003e9e0
mov edx, 2
call fcn.18003e800
lea rdx, [rdi + 0xb1]
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 0x18006f991
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006f991
cmp eax, 0xffffffff
je 0x18006f98a
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
lea rdx, [rdi + 0xb0]
lea rcx, str.EmissiveShapeEnable
call fcn.1800459c0
or bl, al
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18006f9d5
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006f9d5
cmp eax, 0xffffffff
je 0x18006f9cb
call fcn.18003e9e0
mov edx, 1
call fcn.18003e800
lea rdx, [rdi + 0xb5]
lea rcx, str.IsEnabled
call fcn.1800459c0
or bl, al
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18006fa19
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18006fa19
cmp eax, 0xffffffff
je 0x18006fa0f
call fcn.18003e9e0
mov edx, 2
call fcn.18003e800
lea rdx, [rdi + 0xae]
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 0x18006fa61
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006fa61
cmp eax, 0xffffffff
je 0x18006fa5a
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
lea rdx, [rdi + 0xac]
lea rcx, str.OnlyHempishere
call fcn.1800459c0
or bl, al
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18006faa5
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18006faa5
cmp eax, 0xffffffff
je 0x18006fa9b
call fcn.18003e9e0
mov edx, 1
call fcn.18003e800
lea rdx, [rdi + 0xb8]
lea rcx, str.ShadowCacheEnable
call fcn.1800459c0
or bl, al
mov rax, qword [0x1800df940]
mov rcx, qword [rax + 0x4da8]
test rcx, rcx
je 0x18006fae9
mov eax, dword [rcx + 0x74]
cmp eax, 2
je 0x18006fae9
cmp eax, 0xffffffff
je 0x18006fadf
call fcn.18003e9e0
mov edx, 2
call fcn.18003e800
lea rdx, [rdi + 0xaf]
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 0x18006fb31
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18006fb31
cmp eax, 0xffffffff
je 0x18006fb2a
call fcn.18003e9e0
xor edx, edx
call fcn.18003e800
lea rdx, [rdi + 0xb2]
lea rcx, str.UseIESProfileAsMask
call fcn.1800459c0
or bl, al
call fcn.18003d440
lea rcx, str.SphereLightSettings1
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.SphereLightSettings1
lea r8d, [r9 + 4]
call fcn.18003af80
movaps xmm7, xmmword [rsp + 0x70]
test al, al
je 0x18006fbf5
movss xmm6, dword [0x1800c6fc8]
lea rdx, [rdi + 0x10]
movaps xmm3, xmm6
movss dword [rsp + 0x20], xmm9
mov r8b, 1
lea rcx, str.Color
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
movaps xmm3, xmm6
movss dword [rsp + 0x20], xmm9
xor r8d, r8d
lea rcx, str.ParticleColorScale
mov rdx, rdi
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 0x18006fc24
cmp dword [rsi + 0x1c], 0
je 0x18006fc24
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