Function at 0x10093e00
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x298
mov eax, dword [0x1021663c]
xor edx, edx
movq xmm0, qword [0x101ae130]
push esi
push edi
mov esi, dword [eax + 0x38]
mov al, byte [0x101ae138]
movq qword [ebp - 0x51], xmm0
mov byte [ebp - 0x49], al
mov dword [ebp - 4], edx
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 4]
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x34
xor byte [ebp + edx - 0x51], cl
inc edx
mov dword [ebp - 4], edx
cmp edx, 9
jl 0x10093e40
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x51]
movaps xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x1c], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10093e82
sub ecx, edx
lea eax, [ebp - 0x51]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.100291a0
cmp dword [ebp - 0x1c], 0xf
lea eax, [ebp - 0x30]
mov dword [ebp - 4], eax
jbe 0x10093eaa
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], eax
mov eax, dword [0x10216630]
mov eax, dword [eax + 0x90]
mov dword [ebp - 0xc], eax
push 0
mov edx, dword [ebp - 4]
mov ecx, str.VertexLitGeneric
call dword [ebp - 0xc]
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [esi]
mov ecx, esi
push dword [ebp - 8]
mov eax, dword [eax + 0x14c]
push str.normal
call eax
mov ecx, dword [ebp - 0x1c]
mov dword [0x104236a0], eax
cmp ecx, 0xf
jbe 0x10093f18
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10093f0e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100956af
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov eax, dword [0x1021663c]
xor edx, edx
movq xmm0, qword [0x101ae130]
movq qword [ebp - 0x51], xmm0
mov dword [ebp - 4], edx
mov esi, dword [eax + 0x38]
mov al, byte [0x101ae138]
mov byte [ebp - 0x49], al
nop word [eax + eax]
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 4]
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x34
xor byte [ebp + edx - 0x51], cl
inc edx
mov dword [ebp - 4], edx
cmp edx, 9
jl 0x10093f40
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x51]
movaps xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x1c], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10093f82
sub ecx, edx
lea eax, [ebp - 0x51]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.100291a0
cmp dword [ebp - 0x1c], 0xf
lea eax, [ebp - 0x30]
mov dword [ebp - 4], eax
jbe 0x10093faa
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], eax
mov eax, dword [0x10216630]
mov eax, dword [eax + 0x90]
mov dword [ebp - 8], eax
push 0
mov edx, dword [ebp - 4]
mov ecx, str.UnlitGeneric
call dword [ebp - 8]
add esp, 4
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
mov ecx, esi
push dword [ebp - 0xc]
mov eax, dword [eax + 0x14c]
push str.flat
call eax
mov ecx, dword [ebp - 0x1c]
mov dword [0x104236a4], eax
cmp ecx, 0xf
jbe 0x10094018
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009400e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100956b4
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov eax, dword [0x1021663c]
mov esi, dword [eax + 0x38]
mov eax, dword [0x10216630]
mov eax, dword [eax + 0x90]
mov dword [ebp - 8], eax
push 0
mov edx, str._envmap_env_cubemap
mov ecx, str.VertexLitGeneric
call dword [ebp - 8]
add esp, 4
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
mov ecx, esi
push dword [ebp - 0xc]
mov eax, dword [eax + 0x14c]
push str.chrome
call eax
mov dword [0x103238c4], eax
mov eax, dword [0x1021663c]
mov esi, dword [eax + 0x38]
mov eax, dword [0x10216630]
mov eax, dword [eax + 0x90]
mov dword [ebp - 8], eax
push 0
mov edx, str._additive_1__nofog_1__envmap_models_effects_cube_white__envmapfresnel_1__alpha_.8
mov ecx, str.VertexLitGeneric
call dword [ebp - 8]
add esp, 4
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
mov ecx, esi
push dword [ebp - 0xc]
mov eax, dword [eax + 0x14c]
push str.glow
call eax
mov dword [0x104236c0], eax
mov eax, dword [0x1021663c]
mov esi, dword [eax + 0x38]
mov eax, dword [0x10216630]
mov eax, dword [eax + 0x90]
mov dword [ebp - 8], eax
push 0
mov edx, str._basetexture_vgui_white_additive__ambientonly_1__phong_1__pearlescent_3__basemapalphaphongmask_1
mov ecx, str.VertexLitGeneric
call dword [ebp - 8]
add esp, 4
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
mov ecx, esi
push dword [ebp - 0xc]
mov eax, dword [eax + 0x14c]
push str.pearlescent
call eax
mov dword [0x1042369c], eax
mov eax, dword [0x1021663c]
mov esi, dword [eax + 0x38]
mov eax, dword [0x10216630]
mov eax, dword [eax + 0x90]
mov dword [ebp - 8], eax
push 0
mov edx, str._basetexture_white__ignorez_0__envmap_env_cubemap__normalmapalphaenvmapmask_1__envmapcontrast_1__nofog_1__model_1__nocull_0__selfillum_1__halfambert_1__znearer_0__flat_1
mov ecx, str.VertexLitGeneric
call dword [ebp - 8]
add esp, 4
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
mov ecx, esi
push dword [ebp - 0xc]
mov eax, dword [eax + 0x14c]
push str.metallic
call eax
movups xmm0, xmmword [0x101adb70]
mov dword [0x104236c4], eax
xor ecx, ecx
cmp dword [0x10217ca4], 2
mov eax, dword [0x1021663c]
movups xmmword [ebp - 0xe0], xmm0
mov dword [ebp - 4], ecx
movups xmm0, xmmword [0x101adb80]
mov esi, dword [eax + 0x38]
mov al, byte [0x101adbc0]
movups xmmword [ebp - 0xd0], xmm0
mov byte [ebp - 0x90], al
movups xmm0, xmmword [0x101adb90]
movups xmmword [ebp - 0xc0], xmm0
movups xmm0, xmmword [0x101adba0]
movups xmmword [ebp - 0xb0], xmm0
movups xmm0, xmmword [0x101adbb0]
movups xmmword [ebp - 0xa0], xmm0
jl 0x100942c6
movaps xmm0, xmmword [str.4444444444444444]
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed3a0]
movaps xmm5, xmmword [0x101ed090]
movaps xmmword [ebp - 0x60], xmm0
mov edx, dword [ebp - 0x60]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0xe0]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0xe0], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0xdc]
xorps xmm1, xmm0
movd dword [ebp + ecx - 0xdc], xmm1
add ecx, 8
cmp ecx, 0x50
jl 0x100941c0
mov dword [ebp - 4], ecx
cmp ecx, 0x51
jge 0x10094300
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul ecx
mov al, 1
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub al, cl
mov ecx, dword [ebp - 4]
movsx eax, al
imul eax, eax, 0x34
add al, cl
xor byte [ebp + ecx - 0xe0], al
inc ecx
mov dword [ebp - 4], ecx
cmp ecx, 0x51
jl 0x100942d0
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0xe0]
movaps xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x1c], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10094320
sub ecx, edx
lea eax, [ebp - 0xe0]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.100291a0
cmp dword [ebp - 0x1c], 0xf
lea eax, [ebp - 0x30]
mov dword [ebp - 4], eax
jbe 0x1009434b
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], eax
mov eax, dword [0x10216630]
mov eax, dword [eax + 0x90]
mov dword [ebp - 8], eax
push 0
mov edx, dword [ebp - 4]
mov ecx, str.VertexLitGeneric
call dword [ebp - 8]
add esp, 4
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
mov ecx, esi
push dword [ebp - 0xc]
mov eax, dword [eax + 0x14c]
push str.fractal
call eax
mov ecx, dword [ebp - 0x1c]
mov dword [0x104236b8], eax
cmp ecx, 0xf
jbe 0x100943b9
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100943af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100956b9
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov eax, dword [0x1021663c]
lea edi, [ebp - 0x295]
mov ecx, 0x6d
mov esi, 0x101adf78
rep movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x38]
xor ecx, ecx
cmp dword [0x10217ca4], 2
mov dword [ebp - 0xc], eax
movsb byte es:[edi], byte [esi]
mov dword [ebp - 4], ecx
jl 0x10094519
movaps xmm0, xmmword [str.4444444444444444]
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed3a0]
movaps xmm5, xmmword [0x101ed090]
movaps xmmword [ebp - 0x60], xmm0
mov edx, dword [ebp - 0x60]
nop dword [eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x295]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0x295], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x291]
xorps xmm1, xmm0
movd dword [ebp + ecx - 0x291], xmm1
add ecx, 8
cmp ecx, 0x1b0
jl 0x10094410
mov dword [ebp - 4], ecx
cmp ecx, 0x1b5
jge 0x10094554
mov eax, 0x4ec4ec4f
imul ecx
mov al, 1
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub al, cl
mov ecx, dword [ebp - 4]
movsx eax, al
imul eax, eax, 0x34
add al, cl
xor byte [ebp + ecx - 0x295], al
inc ecx
mov dword [ebp - 4], ecx
cmp ecx, 0x1b5
jl 0x10094521
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x295]
movaps xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x1c], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10094572
sub ecx, edx
lea eax, [ebp - 0x295]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.100291a0
cmp dword [ebp - 0x1c], 0xf
lea eax, [ebp - 0x30]
mov dword [ebp - 4], eax
jbe 0x1009459d
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], eax
mov eax, dword [0x10216630]
mov eax, dword [eax + 0x90]
mov dword [ebp - 8], eax
push 0
mov edx, dword [ebp - 4]
mov ecx, str.VertexLitGeneric
call dword [ebp - 8]
add esp, 4
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0xc]
push dword [ebp - 0x34]
mov eax, dword [ecx]
push str.tiedye
mov eax, dword [eax + 0x14c]
call eax
mov ecx, dword [ebp - 0x1c]
mov dword [0x104236ac], eax
cmp ecx, 0xf
jbe 0x1009460c
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10094602
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100956be
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov ecx, 0x2f
lea edi, [ebp - 0x19d]
mov esi, 0x101ade08
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
cmp dword [0x10217ca4], 2
mov dword [ebp - 4], ecx
movsb byte es:[edi], byte [esi]
jl 0x1009475d
movaps xmm0, xmmword [str.4444444444444444]
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed3a0]
movaps xmm5, xmmword [0x101ed090]
movaps xmmword [ebp - 0x60], xmm0
mov edx, dword [ebp - 0x60]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x19d]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0x19d], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x199]
xorps xmm1, xmm0
movd dword [ebp + ecx - 0x199], xmm1
add ecx, 8
cmp ecx, 0xb8
jl 0x10094654
mov dword [ebp - 4], ecx
cmp ecx, 0xbd
jge 0x10094798
mov eax, 0x4ec4ec4f
imul ecx
mov al, 1
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub al, cl
mov ecx, dword [ebp - 4]
movsx eax, al
imul eax, eax, 0x34
add al, cl
xor byte [ebp + ecx - 0x19d], al
inc ecx
mov dword [ebp - 4], ecx
cmp ecx, 0xbd
jl 0x10094765
xorps xmm0, xmm0
mov dword [ebp - 0x50], 0
lea ecx, [ebp - 0x19d]
movaps xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x4c], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100947b6
sub ecx, edx
lea eax, [ebp - 0x19d]
push ecx
push eax
lea ecx, [ebp - 0x60]
call fcn.100291a0
cmp dword [ebp - 0x4c], 0xf
lea eax, [ebp - 0x60]
mov dword [ebp - 4], eax
jbe 0x100947e1
mov eax, dword [ebp - 0x60]
mov dword [ebp - 4], eax
mov eax, dword [0x10216630]
mov eax, dword [eax + 0x90]
mov dword [ebp - 0x34], eax
push 0
mov edx, dword [ebp - 4]
mov ecx, str.UnlitGeneric
call dword [ebp - 0x34]
add esp, 4
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 8]
cmp ecx, 0xf
jbe 0x10094839
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009482f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100956c3
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov eax, dword [0x10216630]
mov ecx, esi
push 1
push str._envmaptint
mov dword [ebp - 0x50], 0
mov eax, dword [eax + 0x94]
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
call eax
test eax, eax
je 0x10094879
mov ecx, eax
mov eax, dword [0x10216630]
push str._.0_.0_.0_
mov eax, dword [eax + 0x98]
call eax
mov eax, dword [0x1021663c]
push esi
push str.animated
mov ecx, dword [eax + 0x38]
mov eax, dword [ecx]
mov eax, dword [eax + 0x14c]
call eax
mov ecx, 0x37
mov dword [0x104236a8], eax
mov esi, 0x101add10
lea edi, [ebp - 0x1bd]
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov dword [ebp - 4], ecx
movsb byte es:[edi], byte [esi]
mov edi, dword [0x10217ca4]
cmp edi, 2
jl 0x100949e9
movaps xmm0, xmmword [str.4444444444444444]
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed3a0]
movaps xmm5, xmmword [0x101ed090]
movaps xmmword [ebp - 0x60], xmm0
mov edx, dword [ebp - 0x60]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x1bd]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0x1bd], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x1b9]
xorps xmm1, xmm0
movd dword [ebp + ecx - 0x1b9], xmm1
add ecx, 8
cmp ecx, 0xd8
jl 0x100948e0
mov dword [ebp - 4], ecx
cmp ecx, 0xdd
jge 0x10094a24
mov eax, 0x4ec4ec4f
imul ecx
mov al, 1
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub al, cl
mov ecx, dword [ebp - 4]
movsx eax, al
imul eax, eax, 0x34
add al, cl
xor byte [ebp + ecx - 0x1bd], al
inc ecx
mov dword [ebp - 4], ecx
cmp ecx, 0xdd
jl 0x100949f1
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x1bd]
movaps xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x1c], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10094a42
sub ecx, edx
lea eax, [ebp - 0x1bd]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.100291a0
cmp dword [ebp - 0x1c], 0xf
lea eax, [ebp - 0x30]
mov dword [ebp - 4], eax
jbe 0x10094a6d
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], eax
mov eax, dword [0x10216630]
mov eax, dword [eax + 0x90]
mov dword [ebp - 0x34], eax
push 0
mov edx, dword [ebp - 4]
mov ecx, str.UnlitGeneric
call dword [ebp - 0x34]
add esp, 4
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x10094ac2
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10094ab8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100956c8
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov eax, dword [0x1021663c]
movq xmm0, qword [0x101ae210]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0xf
mov esi, dword [eax + 0x38]
mov ax, word [0x101ae218]
mov byte [ebp - 0x30], 0
movq qword [ebp - 0x52], xmm0
mov word [ebp - 0x4a], ax
test ah, ah
je 0x10094b27
xor edx, edx
mov dword [ebp - 4], edx
nop dword [eax]
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 4]
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x34
xor byte [ebp + edx - 0x52], cl
inc edx
mov dword [ebp - 4], edx
cmp edx, 0xa
jl 0x10094b00
xorps xmm0, xmm0
mov dword [ebp - 0x70], 0
lea ecx, [ebp - 0x52]
movaps xmmword [ebp - 0x80], xmm0
mov dword [ebp - 0x6c], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10094b42
sub ecx, edx
lea eax, [ebp - 0x52]
push ecx
push eax
lea ecx, [ebp - 0x80]
call fcn.100291a0
cmp dword [ebp - 0x6c], 0xf
lea edx, [ebp - 0x80]
mov eax, dword [esi]
mov ecx, esi
push dword [ebp - 8]
cmova edx, dword [ebp - 0x80]
push edx
mov eax, dword [eax + 0x14c]
call eax
mov ecx, dword [ebp - 0x6c]
mov dword [0x10323e2c], eax
cmp ecx, 0xf
jbe 0x10094bac
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10094ba2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100956cd
push ecx
push edx
call fcn.1015fe24
add esp, 8
movups xmm0, xmmword [0x101adcb8]
mov eax, dword [0x101adcf8]
xor ecx, ecx
mov dword [ebp - 0xa0], eax
mov ax, word [0x101adcfc]
mov word [ebp - 0x9c], ax
mov dword [ebp - 4], ecx
movups xmmword [ebp - 0xe0], xmm0
movups xmm0, xmmword [0x101adcc8]
movups xmmword [ebp - 0xd0], xmm0
movups xmm0, xmmword [0x101adcd8]
movups xmmword [ebp - 0xc0], xmm0
movups xmm0, xmmword [0x101adce8]
movups xmmword [ebp - 0xb0], xmm0
cmp edi, 2
jl 0x10094d36
movaps xmm0, xmmword [str.4444444444444444]
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed3a0]
movaps xmm5, xmmword [0x101ed090]
movaps xmmword [ebp - 0x60], xmm0
mov edx, dword [ebp - 0x60]
nop dword [eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0xe0]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0xe0], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0xdc]
xorps xmm1, xmm0
movd dword [ebp + ecx - 0xdc], xmm1
add ecx, 8
cmp ecx, 0x40
jl 0x10094c30
mov dword [ebp - 4], ecx
cmp ecx, 0x46
jge 0x10094d70
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul ecx
mov al, 1
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub al, cl
mov ecx, dword [ebp - 4]
movsx eax, al
imul eax, eax, 0x34
add al, cl
xor byte [ebp + ecx - 0xe0], al
inc ecx
mov dword [ebp - 4], ecx
cmp ecx, 0x46
jl 0x10094d40
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0xe0]
movaps xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x1c], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10094d90
sub ecx, edx
lea eax, [ebp - 0xe0]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.100291a0
cmp dword [ebp - 0x1c], 0xf
lea eax, [ebp - 0x30]
mov dword [ebp - 4], eax
jbe 0x10094dbb
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], eax
mov eax, dword [0x10216630]
mov eax, dword [eax + 0x90]
mov dword [ebp - 0x34], eax
push 0
mov edx, dword [ebp - 4]
mov ecx, str.VertexLitGeneric
call dword [ebp - 0x34]
add esp, 4
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x10094e10
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10094e06
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100956d2
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov eax, dword [0x1021663c]
push dword [ebp - 8]
mov dword [ebp - 0x20], 0
push str.glass
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x30], 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x14c]
call eax
mov ecx, 0x2a
mov dword [0x104236bc], eax
mov esi, 0x101adec8
lea edi, [ebp - 0x189]
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
cmp dword [0x10217ca4], 2
mov dword [ebp - 4], ecx
movsb byte es:[edi], byte [esi]
jl 0x10094f99
movaps xmm0, xmmword [str.4444444444444444]
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed3a0]
movaps xmm5, xmmword [0x101ed090]
movaps xmmword [ebp - 0x60], xmm0
mov edx, dword [ebp - 0x60]
nop dword [eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x189]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0x189], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x185]
xorps xmm1, xmm0
movd dword [ebp + ecx - 0x185], xmm1
add ecx, 8
cmp ecx, 0xa8
jl 0x10094e90
mov dword [ebp - 4], ecx
cmp ecx, 0xa9
jge 0x10094fd4
mov eax, 0x4ec4ec4f
imul ecx
mov al, 1
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub al, cl
mov ecx, dword [ebp - 4]
movsx eax, al
imul eax, eax, 0x34
add al, cl
xor byte [ebp + ecx - 0x189], al
inc ecx
mov dword [ebp - 4], ecx
cmp ecx, 0xa9
jl 0x10094fa1
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x189]
movaps xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x1c], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10094ff2
sub ecx, edx
lea eax, [ebp - 0x189]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.100291a0
cmp dword [ebp - 0x1c], 0xf
lea eax, [ebp - 0x30]
mov dword [ebp - 4], eax
jbe 0x1009501d
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], eax
mov eax, dword [0x10216630]
mov eax, dword [eax + 0x90]
mov dword [ebp - 0x34], eax
push 0
mov edx, dword [ebp - 4]
mov ecx, str.VertexLitGeneric
call dword [ebp - 0x34]
add esp, 4
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 8]
cmp ecx, 0xf
jbe 0x10095075
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009506b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100956d7
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov eax, dword [0x10216630]
mov ecx, esi
push 1
push str._phongtint
mov dword [ebp - 0x20], 0
mov eax, dword [eax + 0x94]
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x30], 0
call eax
test eax, eax
je 0x100950b5
mov ecx, eax
mov eax, dword [0x10216630]
push str._.2_.35_.6_
mov eax, dword [eax + 0x98]
call eax
mov eax, dword [0x1021663c]
push esi
push str.crystal
mov ecx, dword [eax + 0x38]
mov eax, dword [ecx]
mov eax, dword [eax + 0x14c]
call eax
mov ecx, 0x3c
mov dword [0x10323354], eax
mov esi, 0x101adbc8
lea edi, [ebp - 0x1d0]
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
cmp dword [0x10217ca4], 2
mov dword [ebp - 4], ecx
jl 0x10095229
movaps xmm0, xmmword [str.4444444444444444]
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed3a0]
movaps xmm5, xmmword [0x101ed090]
movaps xmmword [ebp - 0x60], xmm0
mov edx, dword [ebp - 0x60]
nop dword [eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x1d0]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0x1d0], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x1cc]
xorps xmm1, xmm0
movd dword [ebp + ecx - 0x1cc], xmm1
add ecx, 8
cmp ecx, 0xf0
jl 0x10095120
mov dword [ebp - 4], ecx
cmp ecx, 0xf0
jge 0x10095264
mov eax, 0x4ec4ec4f
imul ecx
mov al, 1
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub al, cl
mov ecx, dword [ebp - 4]
movsx eax, al
imul eax, eax, 0x34
add al, cl
xor byte [ebp + ecx - 0x1d0], al
inc ecx
mov dword [ebp - 4], ecx
cmp ecx, 0xf0
jl 0x10095231
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x1d0]
movaps xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x1c], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10095282
sub ecx, edx
lea eax, [ebp - 0x1d0]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.100291a0
cmp dword [ebp - 0x1c], 0xf
lea eax, [ebp - 0x30]
mov dword [ebp - 4], eax
jbe 0x100952ad
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], eax
mov eax, dword [0x10216630]
mov eax, dword [eax + 0x90]
mov dword [ebp - 0x34], eax
push 0
mov edx, dword [ebp - 4]
mov ecx, str.VertexLitGeneric
call dword [ebp - 0x34]
add esp, 4
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x10095302
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100952f8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100956dc
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov eax, dword [0x1021663c]
push dword [ebp - 8]
mov dword [ebp - 0x20], 0
push str.plastic
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x30], 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x14c]
call eax
mov ecx, 0x34
mov dword [0x104236b0], eax
mov esi, 0x101ae140
lea edi, [ebp - 0x1b0]
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
cmp dword [0x10217ca4], 2
mov dword [ebp - 4], ecx
jl 0x10095489
movaps xmm0, xmmword [str.4444444444444444]
movaps xmm4, xmmword [0x101ed000]
movaps xmm3, xmmword [0x101ed3a0]
movaps xmm5, xmmword [0x101ed090]
movaps xmmword [ebp - 0x60], xmm0
mov edx, dword [ebp - 0x60]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x1b0]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0x1b0], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x1ac]
xorps xmm1, xmm0
movd dword [ebp + ecx - 0x1ac], xmm1
add ecx, 8
cmp ecx, 0xd0
jl 0x10095380
mov dword [ebp - 4], ecx
cmp ecx, 0xd0
jge 0x100954c4
mov eax, 0x4ec4ec4f
imul ecx
mov al, 1
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub al, cl
mov ecx, dword [ebp - 4]
movsx eax, al
imul eax, eax, 0x34
add al, cl
xor byte [ebp + ecx - 0x1b0], al
inc ecx
mov dword [ebp - 4], ecx
cmp ecx, 0xd0
jl 0x10095491
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x1b0]
movaps xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x1c], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100954e2
sub ecx, edx
lea eax, [ebp - 0x1b0]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.100291a0
cmp dword [ebp - 0x1c], 0xf
lea eax, [ebp - 0x30]
mov dword [ebp - 4], eax
jbe 0x1009550d
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], eax
mov eax, dword [0x10216630]
mov eax, dword [eax + 0x90]
mov dword [ebp - 0x34], eax
push 0
mov edx, dword [ebp - 4]
mov ecx, str.UnlitGeneric
call dword [ebp - 0x34]
add esp, 4
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 8]
cmp ecx, 0xf
jbe 0x10095565
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009555b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100956e1
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov eax, dword [0x10216630]
mov ecx, esi
push 1
push str._envmaptint
mov dword [ebp - 0x20], 0
mov eax, dword [eax + 0x94]
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x30], 0
call eax
test eax, eax
je 0x100955a5
mov ecx, eax
mov eax, dword [0x10216630]
push str._0_0_0_
mov eax, dword [eax + 0x98]
call eax
mov eax, dword [0x10216630]
mov ecx, esi
push 1
push str._envmapfresnelminmaxexp
mov eax, dword [eax + 0x94]
call eax
test eax, eax
je 0x100955d3
mov ecx, eax
mov eax, dword [0x10216630]
push str._.00000_.0_.0_
mov eax, dword [eax + 0x98]
call eax
mov eax, dword [0x1021663c]
xor edx, edx
movq xmm0, qword [str.G_Y_U_PYN_]
movq qword [ebp - 0x53], xmm0
mov dword [ebp - 4], edx
mov edi, dword [eax + 0x38]
mov ax, word [0x101addf8]
mov word [ebp - 0x4b], ax
mov al, byte [0x101addfa]
mov byte [ebp - 0x49], al
nop
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 4]
mov cl, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x34
xor byte [ebp + edx - 0x53], cl
inc edx
mov dword [ebp - 4], edx
cmp edx, 0xb
jl 0x10095600
xorps xmm0, xmm0
mov dword [ebp - 0x70], 0
lea ecx, [ebp - 0x53]
movaps xmmword [ebp - 0x80], xmm0
mov dword [ebp - 0x6c], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10095642
sub ecx, edx
lea eax, [ebp - 0x53]
push ecx
push eax
lea ecx, [ebp - 0x80]
call fcn.100291a0
cmp dword [ebp - 0x6c], 0xf
lea edx, [ebp - 0x80]
mov eax, dword [edi]
mov ecx, edi
cmova edx, dword [ebp - 0x80]
push esi
push edx
mov eax, dword [eax + 0x14c]
call eax
mov ecx, dword [ebp - 0x6c]
mov dword [0x104236b4], eax
cmp ecx, 0xf
jbe 0x100956a6
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009569c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100956e6
push ecx
push edx
call fcn.1015fe24
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.10164f66
call fcn.10164f66
call fcn.10164f66
call fcn.10164f66
call fcn.10164f66
call fcn.10164f66
call fcn.10164f66
call fcn.10164f66
call fcn.10164f66
call fcn.10164f66
call fcn.10164f66
call fcn.10164f66
int3