Function at 0x5e6ee0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6aceab
mov eax, dword fs:[0]
push eax
sub esp, 0xe0
mov eax, dword [0x75868c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0xc0]
mov esi, dword [ebp + 0xc]
call fcn.0057fce0
push esi
lea ecx, [ebp - 0xc0]
mov dword [ebp - 4], 0
call fcn.00580d20
test al, al
jne 0x5e6f3d
xor bl, bl
jmp 0x5e8455
lea ecx, [ebp - 0xc0]
call fcn.00581820
mov dword [ebp - 0x40], 0
push str.reserved
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 0x298]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580530
mov edx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e6fc4
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e6fba
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e847e
push edx
push ecx
call fcn.00617a75
add esp, 8
push str.directionallight
lea ecx, [ebp - 0xc0]
call fcn.00581710
test eax, eax
je 0x5e73a2
mov dword [ebp - 0x28], 0
push str.direction
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580730
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e7055
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e704b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e8483
push edx
push ecx
call fcn.00617a75
add esp, 8
push str.background
lea ecx, [ebp - 0xc0]
call fcn.00581710
test eax, eax
je 0x5e71f0
movq xmm0, qword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
movq qword [edi + 0x48], xmm0
mov dword [edi + 0x50], eax
mov dword [ebp - 0x28], 0
push str.enable
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
push edi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580530
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e70f3
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e70e9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e8488
push edx
push ecx
call fcn.00617a75
add esp, 8
mov dword [ebp - 0x28], 0
push str.diffuse
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 0xc]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580610
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e716c
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e7162
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e848d
push edx
push ecx
call fcn.00617a75
add esp, 8
mov dword [ebp - 0x28], 0
push str.ambient
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 0x2c]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580610
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e71e5
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e71db
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e8492
push edx
push ecx
call fcn.00617a75
add esp, 8
lea ecx, [ebp - 0xc0]
call fcn.00581800
push str.character
lea ecx, [ebp - 0xc0]
call fcn.00581710
test eax, eax
je 0x5e7397
movq xmm0, qword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
movq qword [edi + 0xb0], xmm0
mov dword [edi + 0xb8], eax
mov dword [ebp - 0x28], 0
push str.enable
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 4]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580530
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e7297
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e728d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e8497
push edx
push ecx
call fcn.00617a75
add esp, 8
mov dword [ebp - 0x28], 0
push str.diffuse
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 0x74]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580610
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e7310
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e7306
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e849c
push edx
push ecx
call fcn.00617a75
add esp, 8
mov dword [ebp - 0x28], 0
push str.ambient
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 0x94]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580610
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e738c
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e7382
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e84a1
push edx
push ecx
call fcn.00617a75
add esp, 8
lea ecx, [ebp - 0xc0]
call fcn.00581800
lea ecx, [ebp - 0xc0]
call fcn.00581800
push str.material
lea ecx, [ebp - 0xc0]
call fcn.00581710
test eax, eax
je 0x5e7539
mov dword [ebp - 0x28], 0
push str.diffuse
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 0xd8]
mov byte [ebp - 4], 0x12
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580610
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e7436
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e742c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e84a6
push edx
push ecx
call fcn.00617a75
add esp, 8
mov dword [ebp - 0x28], 0
push str.ambient
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 0xe8]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580610
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e74b2
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e74a8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e84ab
push edx
push ecx
call fcn.00617a75
add esp, 8
mov dword [ebp - 0x28], 0
push str.emissive
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 0x108]
mov byte [ebp - 4], 0x16
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580610
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e752e
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e7524
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e84b0
push edx
push ecx
call fcn.00617a75
add esp, 8
lea ecx, [ebp - 0xc0]
call fcn.00581800
push 0x6cb9b4
lea ecx, [ebp - 0xc0]
call fcn.00581710
test eax, eax
je 0x5e77c8
mov dword [ebp - 0x28], 0
push str.enable
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 0x11c]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580530
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e75cd
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e75c3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e84b5
push edx
push ecx
call fcn.00617a75
add esp, 8
mov dword [ebp - 0x28], 0
push str.isdensity
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 0x120]
mov byte [ebp - 4], 0x1a
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580530
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e7649
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e763f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e84ba
push edx
push ecx
call fcn.00617a75
add esp, 8
mov dword [ebp - 0x28], 0
push str.neardistance
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 0x124]
mov byte [ebp - 4], 0x1c
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580830
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e76c5
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e76bb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e84bf
push edx
push ecx
call fcn.00617a75
add esp, 8
mov dword [ebp - 0x28], 0
push str.fardistance
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 0x128]
mov byte [ebp - 4], 0x1e
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580830
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e7741
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e7737
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e84c4
push edx
push ecx
call fcn.00617a75
add esp, 8
mov dword [ebp - 0x28], 0
push str.color
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 0x12c]
mov byte [ebp - 4], 0x20
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580610
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e77bd
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e77b3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e84c9
push edx
push ecx
call fcn.00617a75
add esp, 8
lea ecx, [ebp - 0xc0]
call fcn.00581800
push str.filter
lea ecx, [ebp - 0xc0]
call fcn.00581710
test eax, eax
je 0x5e79db
mov dword [ebp - 0x28], 0
push str.enable
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 0x13c]
mov byte [ebp - 4], 0x22
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580530
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e785c
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e7852
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e84ce
push edx
push ecx
call fcn.00617a75
add esp, 8
mov dword [ebp - 0x28], 0
push str.color
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 0x140]
mov byte [ebp - 4], 0x24
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580610
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e78d8
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e78ce
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e84d3
push edx
push ecx
call fcn.00617a75
add esp, 8
mov dword [ebp - 0x28], 0
push str.alphasrc
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 0x150]
mov byte [ebp - 4], 0x26
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.005805a0
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e7954
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e794a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e84d8
push edx
push ecx
call fcn.00617a75
add esp, 8
mov dword [ebp - 0x28], 0
push str.alphadest
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 0x151]
mov byte [ebp - 4], 0x28
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.005805a0
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e79d0
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e79c6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e84dd
push edx
push ecx
call fcn.00617a75
add esp, 8
lea ecx, [ebp - 0xc0]
call fcn.00581800
push str.skybox
lea ecx, [ebp - 0xc0]
call fcn.00581710
test eax, eax
je 0x5e821a
mov dword [ebp - 0x28], 0
push str.btexturerendermode
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 0x168]
mov byte [ebp - 4], 0x2a
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580530
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e7a6f
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e7a65
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e84e2
push edx
push ecx
call fcn.00617a75
add esp, 8
mov dword [ebp - 0x28], 0
push str.scale
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 0x15c]
mov byte [ebp - 4], 0x2c
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580730
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e7aeb
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e7ae1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e84e7
push edx
push ecx
call fcn.00617a75
add esp, 8
mov dword [ebp - 0x28], 0
push str.gradientlevelupper
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea ebx, [edi + 0x16c]
mov byte [ebp - 4], 0x2e
push ebx
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.005805a0
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e7b67
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e7b5d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e84ec
push edx
push ecx
call fcn.00617a75
add esp, 8
push str.gradientlevellower
lea ecx, [ebp - 0x28]
call fcn.00478a40
lea eax, [edi + 0x16d]
mov byte [ebp - 4], 0x2f
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.005805a0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.004787b0
push str.frontfacefilename
lea ecx, [ebp - 0x28]
call fcn.00478a40
lea eax, [edi + 0x170]
mov byte [ebp - 4], 0x30
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.005808b0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.004787b0
push str.backfacefilename
lea ecx, [ebp - 0x28]
call fcn.00478a40
lea eax, [edi + 0x188]
mov byte [ebp - 4], 0x31
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.005808b0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.004787b0
push str.leftfacefilename
lea ecx, [ebp - 0x28]
call fcn.00478a40
lea eax, [edi + 0x1a0]
mov byte [ebp - 4], 0x32
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.005808b0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.004787b0
push str.rightfacefilename
lea ecx, [ebp - 0x28]
call fcn.00478a40
lea eax, [edi + 0x1b8]
mov byte [ebp - 4], 0x33
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.005808b0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.004787b0
push str.topfacefilename
lea ecx, [ebp - 0x28]
call fcn.00478a40
lea eax, [edi + 0x1d0]
mov byte [ebp - 4], 0x34
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.005808b0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.004787b0
push str.bottomfacefilename
lea ecx, [ebp - 0x28]
call fcn.00478a40
lea eax, [edi + 0x1e8]
mov byte [ebp - 4], 0x35
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.005808b0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.004787b0
push str.cloudscale
lea ecx, [ebp - 0x28]
call fcn.00478a40
lea eax, [edi + 0x200]
mov byte [ebp - 4], 0x36
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580920
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.004787b0
push str.cloudheight
lea ecx, [ebp - 0x28]
call fcn.00478a40
lea eax, [edi + 0x208]
mov byte [ebp - 4], 0x37
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580830
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.004787b0
push str.cloudtexturescale
lea ecx, [ebp - 0x28]
call fcn.00478a40
lea eax, [edi + 0x20c]
mov byte [ebp - 4], 0x38
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580920
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.004787b0
push str.cloudspeed
lea ecx, [ebp - 0x28]
call fcn.00478a40
lea eax, [edi + 0x214]
mov byte [ebp - 4], 0x39
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580920
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.004787b0
push str.cloudtexturefilename
lea ecx, [ebp - 0x28]
call fcn.00478a40
lea eax, [edi + 0x21c]
mov byte [ebp - 4], 0x3a
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.005808b0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.004787b0
push str.cloudcolor
lea ecx, [ebp - 0x28]
call fcn.00478a40
lea eax, [ebp - 0xe4]
mov byte [ebp - 4], 0x3b
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.005809d0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
mov esi, eax
call fcn.004787b0
test esi, esi
je 0x5e7f48
mov esi, dword [ebp - 0xe4]
mov eax, 0x2aaaaaab
mov ecx, dword [esi + 4]
sub ecx, dword [esi]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
test al, 7
jne 0x5e7f48
push 0
mov ecx, esi
call fcn.00496a70
cmp dword [eax + 0x14], 0x10
jb 0x5e7e3d
mov eax, dword [eax]
push eax
call fcn.0065a544
mov ecx, dword [ebp - 0xe4]
add esp, 4
fstp dword [edi + 0x234]
push 1
call fcn.00496a70
cmp dword [eax + 0x14], 0x10
jb 0x5e7e61
mov eax, dword [eax]
push eax
call fcn.0065a544
mov ecx, dword [ebp - 0xe4]
add esp, 4
fstp dword [edi + 0x238]
push 2
call fcn.00496a70
cmp dword [eax + 0x14], 0x10
jb 0x5e7e85
mov eax, dword [eax]
push eax
call fcn.0065a544
mov ecx, dword [ebp - 0xe4]
add esp, 4
fstp dword [edi + 0x23c]
push 3
call fcn.00496a70
cmp dword [eax + 0x14], 0x10
jb 0x5e7ea9
mov eax, dword [eax]
push eax
call fcn.0065a544
mov ecx, dword [ebp - 0xe4]
add esp, 4
fstp dword [edi + 0x240]
push 4
call fcn.00496a70
cmp dword [eax + 0x14], 0x10
jb 0x5e7ecd
mov eax, dword [eax]
push eax
call fcn.0065a544
mov ecx, dword [ebp - 0xe4]
add esp, 4
fstp dword [edi + 0x244]
push 5
call fcn.00496a70
cmp dword [eax + 0x14], 0x10
jb 0x5e7ef1
mov eax, dword [eax]
push eax
call fcn.0065a544
mov ecx, dword [ebp - 0xe4]
add esp, 4
fstp dword [edi + 0x248]
push 6
call fcn.00496a70
cmp dword [eax + 0x14], 0x10
jb 0x5e7f15
mov eax, dword [eax]
push eax
call fcn.0065a544
mov ecx, dword [ebp - 0xe4]
add esp, 4
fstp dword [edi + 0x24c]
push 7
call fcn.00496a70
cmp dword [eax + 0x14], 0x10
jb 0x5e7f39
mov eax, dword [eax]
push eax
call fcn.0065a544
fstp dword [edi + 0x250]
add esp, 4
mov al, byte [edi + 0x16d]
lea ecx, [ebp - 0x28]
add al, byte [ebx]
push str.gradient
mov byte [ebp - 0xe5], al
call fcn.00478a40
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x3c
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.005809d0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
mov esi, eax
call fcn.004787b0
test esi, esi
je 0x5e820f
mov ebx, dword [ebp - 0xe0]
mov eax, 0x2aaaaaab
mov ecx, dword [ebx + 4]
sub ecx, dword [ebx]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
test al, 7
jne 0x5e820f
movzx esi, byte [ebp - 0xe5]
mov ecx, ebx
mov dword [ebp - 0xec], esi
call fcn.00496aa0
shr eax, 3
cmp esi, eax
jne 0x5e820f
mov ecx, dword [edi + 0x254]
lea ebx, [edi + 0x254]
mov dword [ebx + 4], ecx
test esi, esi
je 0x5e820f
mov eax, dword [ebx + 8]
sub eax, ecx
sar eax, 5
cmp esi, eax
jbe 0x5e800a
lea eax, [ebp - 0xdc]
mov ecx, ebx
push eax
push esi
call fcn.005e6a30
jmp 0x5e8022
push dword [ebp - 0xdc]
push esi
push ecx
mov ecx, ebx
call fcn.005e8660
mov dword [ebx + 4], eax
mov dword [ebp - 0xec], esi
xor ebx, ebx
mov esi, 2
nop dword [eax]
mov ecx, dword [ebp - 0xe0]
lea eax, [esi - 2]
push eax
call fcn.00496a70
cmp dword [eax + 0x14], 0x10
jb 0x5e8047
mov eax, dword [eax]
push eax
call fcn.0065a544
mov eax, dword [edi + 0x254]
add esp, 4
fstp dword [ebp - 0xdc]
movss xmm0, dword [ebp - 0xdc]
movss dword [eax + ebx], xmm0
lea eax, [esi - 1]
mov ecx, dword [ebp - 0xe0]
push eax
call fcn.00496a70
cmp dword [eax + 0x14], 0x10
jb 0x5e8080
mov eax, dword [eax]
push eax
call fcn.0065a544
mov eax, dword [edi + 0x254]
add esp, 4
fstp dword [ebp - 0xdc]
movss xmm0, dword [ebp - 0xdc]
movss dword [eax + ebx + 4], xmm0
mov ecx, dword [ebp - 0xe0]
push esi
call fcn.00496a70
cmp dword [eax + 0x14], 0x10
jb 0x5e80b7
mov eax, dword [eax]
push eax
call fcn.0065a544
mov eax, dword [edi + 0x254]
add esp, 4
fstp dword [ebp - 0xdc]
movss xmm0, dword [ebp - 0xdc]
movss dword [eax + ebx + 8], xmm0
lea eax, [esi + 1]
mov ecx, dword [ebp - 0xe0]
push eax
call fcn.00496a70
cmp dword [eax + 0x14], 0x10
jb 0x5e80f1
mov eax, dword [eax]
push eax
call fcn.0065a544
mov eax, dword [edi + 0x254]
add esp, 4
fstp dword [ebp - 0xdc]
movss xmm0, dword [ebp - 0xdc]
movss dword [eax + ebx + 0xc], xmm0
lea eax, [esi + 2]
mov ecx, dword [ebp - 0xe0]
push eax
call fcn.00496a70
cmp dword [eax + 0x14], 0x10
jb 0x5e812b
mov eax, dword [eax]
push eax
call fcn.0065a544
mov eax, dword [edi + 0x254]
add esp, 4
fstp dword [ebp - 0xdc]
movss xmm0, dword [ebp - 0xdc]
movss dword [eax + ebx + 0x10], xmm0
lea eax, [esi + 3]
mov ecx, dword [ebp - 0xe0]
push eax
call fcn.00496a70
cmp dword [eax + 0x14], 0x10
jb 0x5e8165
mov eax, dword [eax]
push eax
call fcn.0065a544
mov eax, dword [edi + 0x254]
add esp, 4
fstp dword [ebp - 0xdc]
movss xmm0, dword [ebp - 0xdc]
movss dword [eax + ebx + 0x14], xmm0
lea eax, [esi + 4]
mov ecx, dword [ebp - 0xe0]
push eax
call fcn.00496a70
cmp dword [eax + 0x14], 0x10
jb 0x5e819f
mov eax, dword [eax]
push eax
call fcn.0065a544
mov eax, dword [edi + 0x254]
add esp, 4
fstp dword [ebp - 0xdc]
movss xmm0, dword [ebp - 0xdc]
movss dword [eax + ebx + 0x18], xmm0
lea eax, [esi + 5]
mov ecx, dword [ebp - 0xe0]
push eax
call fcn.00496a70
cmp dword [eax + 0x14], 0x10
jb 0x5e81d9
mov eax, dword [eax]
push eax
call fcn.0065a544
mov eax, dword [edi + 0x254]
add esp, 4
fstp dword [ebp - 0xdc]
movss xmm0, dword [ebp - 0xdc]
add esi, 8
movss dword [eax + ebx + 0x1c], xmm0
add ebx, 0x20
sub dword [ebp - 0xec], 1
jne 0x5e8030
lea ecx, [ebp - 0xc0]
call fcn.00581800
push str.lensflare
lea ecx, [ebp - 0xc0]
call fcn.00581710
test eax, eax
je 0x5e8453
mov dword [ebp - 0x28], 0
push str.enable
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 0x260]
mov byte [ebp - 4], 0x3e
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580530
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e82ae
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e82a4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e84f1
push edx
push ecx
call fcn.00617a75
add esp, 8
mov dword [ebp - 0x28], 0
push str.brightnesscolor
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 0x264]
mov byte [ebp - 4], 0x40
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580610
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e832a
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e8320
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e84f6
push edx
push ecx
call fcn.00617a75
add esp, 8
mov dword [ebp - 0x28], 0
push str.maxbrightness
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
call fcn.00478780
lea eax, [edi + 0x274]
mov byte [ebp - 4], 0x42
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580830
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x5e83a6
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5e839c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5e84fb
push edx
push ecx
call fcn.00617a75
add esp, 8
push str.mainflareenable
lea ecx, [ebp - 0x28]
call fcn.00478a40
lea eax, [edi + 0x278]
mov byte [ebp - 4], 0x43
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580530
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.004787b0
push str.mainflaretexturefilename
lea ecx, [ebp - 0x40]
call fcn.00478a40
lea eax, [edi + 0x27c]
mov byte [ebp - 4], 0x44
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0xc0]
call fcn.005808b0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.004787b0
push str.mainflaresize
lea ecx, [ebp - 0xd8]
call fcn.00478a40
lea eax, [edi + 0x294]
mov byte [ebp - 4], 0x45
push eax
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00580830
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0
call fcn.004787b0
lea ecx, [ebp - 0xc0]
call fcn.00581800
mov bl, 1
lea ecx, [ebp - 0xc0]
call fcn.0057ff30
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00617a25
mov esp, ebp
pop ebp
ret
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
call fcn.006533c4
int3