Function at 0x4a8520
Capabilities:
Inspect section memory permissions

Disassembly:
sub esp, 0x440
push ebx
push ebp
mov ebp, dword [esp + 0x44c]
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x2c], eax
mov dword [ebp], 1
mov eax, dword [0x834fe8]
push esi
mov dword [ebp + 0x2b4], eax
mov ecx, dword [0x834fec]
mov dword [ebp + 0x2b8], ecx
mov edx, dword [0x82ce28]
push edi
mov dword [esp + 0x24], 0x100
mov dword [ebp + 0x2bc], edx
mov ebx, dword [esp + 0x458]
mov edi, 1
push edi
push ebx
call fcn.004650d0
mov esi, eax
add esp, 8
mov al, byte [esi]
test al, al
je 0x4aa9de
cmp al, 0x7d
je 0x4aab17
push str.nomipmaps
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a85c5
mov dword [ebp + 0x2b4], edi
jmp 0x4a8588
push str.nopicmip
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a85df
mov dword [ebp + 0x2b8], edi
jmp 0x4a8588
push str.force32bit
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a85f9
mov dword [ebp + 0x2bc], edi
jmp 0x4a8588
push 0x5528a4
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8741
push eax
push ebx
call fcn.004650d0
mov esi, eax
add esp, 8
cmp byte [esi], 0
je 0x4aa9fb
push str._whiteimage
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8651
mov eax, dword [esp + 0x14]
mov edx, dword [0x1313d58]
lea ecx, [eax + eax*4]
shl ecx, 4
sub ecx, eax
mov dword [ebp + ecx*4 + 4], edx
jmp 0x4a8588
push str._lightmap
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a86a0
mov eax, dword [esp + 0x14]
lea ecx, [eax + eax*4]
shl ecx, 4
sub ecx, eax
lea eax, [ebp + ecx*4]
mov dword [eax + 0x134], edi
mov ecx, dword [0x82ce70]
test ecx, ecx
jge 0x4a8691
mov edx, dword [0x1313d58]
mov dword [eax + 4], edx
jmp 0x4a8588
mov ecx, dword [ecx*4 + 0x1313db4]
mov dword [eax + 4], ecx
jmp 0x4a8588
push str._bumpmap
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a86e8
push eax
push ebx
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x4a8588
push 0x82ce30
push str.WARNING:_missing_parameter_for_bumpmap_keyword_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x440
ret
mov edx, dword [ebp + 0x2bc]
push 0x2901
push 0x2901
push edx
mov edx, dword [ebp + 0x2b8]
xor eax, eax
test edx, edx
sete al
push eax
mov eax, dword [ebp + 0x2b4]
xor ecx, ecx
test eax, eax
sete cl
push ecx
push esi
call fcn.0048afd0
mov ecx, dword [esp + 0x2c]
add esp, 0x18
lea edx, [ecx + ecx*4]
shl edx, 4
sub edx, ecx
test eax, eax
mov dword [ebp + edx*4 + 4], eax
jne 0x4a8588
push 0x82ce30
push esi
jmp 0x4aaafa
push 8
push str.clampmap
push esi
call fcn.00465510
add esp, 0xc
test eax, eax
jne 0x4a8865
mov al, byte [esi + 8]
xor ebx, ebx
xor edi, edi
test al, al
jne 0x4a878e
mov eax, dword [0x13e6b50]
fld dword [eax + 0x1c]
fcomp dword [0x5354c0]
fnstsw ax
test ah, 0x44
jnp 0x4a8782
mov ebx, 0x812f
mov edi, ebx
jmp 0x4a87fd
mov ebx, 0x2900
mov edi, 0x2900
jmp 0x4a87fd
cmp al, 0x78
jne 0x4a87c0
mov cl, byte [esi + 9]
test cl, cl
jne 0x4a87c0
mov ecx, dword [0x13e6b50]
mov ebx, 0x812f
fld dword [ecx + 0x1c]
fcomp dword [0x5354c0]
fnstsw ax
test ah, 0x44
jp 0x4a87b9
mov ebx, 0x2900
mov edi, 0x2901
jmp 0x4a87fd
cmp al, 0x79
jne 0x4a87ed
mov al, byte [esi + 9]
test al, al
jne 0x4a87ed
mov edx, dword [0x13e6b50]
mov ebx, 0x2901
fld dword [edx + 0x1c]
fcomp dword [0x5354c0]
fnstsw ax
test ah, 0x44
jnp 0x4a8787
mov edi, 0x812f
jmp 0x4a87fd
push str.WARNING:_Converting_unknown_clampmap_type_to_clampmap_n
push 3
call dword [0x1313c40]
add esp, 8
mov eax, dword [esp + 0x458]
push 0
push eax
call fcn.004650d0
mov esi, eax
add esp, 8
cmp byte [esi], 0
je 0x4aaa1d
mov ecx, dword [ebp + 0x2bc]
push edi
push ebx
mov ebx, dword [ebp + 0x2b4]
push ecx
mov ecx, dword [ebp + 0x2b8]
xor edx, edx
test ecx, ecx
sete dl
xor eax, eax
push edx
test ebx, ebx
sete al
push eax
push esi
call fcn.0048afd0
mov ecx, dword [esp + 0x2c]
add esp, 0x18
lea edx, [ecx + ecx*4]
shl edx, 4
sub edx, ecx
test eax, eax
mov dword [ebp + edx*4 + 4], eax
je 0x4a8736
jmp 0x4a8581
push str.animMap
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4aa88a
push str.animMapOnce
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4aa88a
push str.animMapPhase
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4aa88a
push str.alphaFunc
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8953
push eax
push ebx
call fcn.004650d0
mov esi, eax
add esp, 8
cmp byte [esi], 0
je 0x4aaa2c
push 0x5613cc
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a88f2
mov eax, 0x10000000
mov dword [esp + 0x30], eax
jmp 0x4a8588
push str.LT128
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8912
mov eax, 0x20000000
mov dword [esp + 0x30], eax
jmp 0x4a8588
push str.GE128
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8932
mov eax, 0x40000000
mov dword [esp + 0x30], eax
jmp 0x4a8588
push 0x82ce30
push esi
push str.WARNING:_invalid_alphaFunc_name__s_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0x10
xor eax, eax
mov dword [esp + 0x30], eax
jmp 0x4a8588
push str.depthfunc
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a89cf
push eax
push ebx
call fcn.004650d0
mov esi, eax
add esp, 8
cmp byte [esi], 0
je 0x4aaa4e
push str.lequal
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8995
mov dword [esp + 0x28], eax
jmp 0x4a8588
push str.equal
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a89b4
mov dword [esp + 0x28], 0x800
jmp 0x4a8588
push 0x82ce30
push esi
push str.WARNING:_unknown_depthfunc__s_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0x10
jmp 0x4a8588
push str.blendfunc
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8ce8
push eax
push ebx
call fcn.004650d0
mov esi, eax
add esp, 8
cmp byte [esi], 0
je 0x4a8bb4
push 0x54c748
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8a19
mov dword [esp + 0x18], 2
jmp 0x4a8cc7
push str.filter
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8a40
mov dword [esp + 0x18], 3
mov dword [esp + 0x1c], 0x10
jmp 0x4a8ccf
push str.blend
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8a67
mov dword [esp + 0x18], 5
mov dword [esp + 0x1c], 0x60
jmp 0x4a8ccf
push str.alphaadd
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8a86
mov dword [esp + 0x18], 5
jmp 0x4a8cc7
push str.GL_ONE
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4a8b9a
push str.GL_ZERO
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8ab7
mov dword [esp + 0x18], edi
jmp 0x4a8ba2
push str.GL_DST_COLOR
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8ad6
mov dword [esp + 0x18], 3
jmp 0x4a8ba2
push str.GL_ONE_MINUS_DST_COLOR
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8af5
mov dword [esp + 0x18], 4
jmp 0x4a8ba2
push str.GL_SRC_ALPHA
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8b14
mov dword [esp + 0x18], 5
jmp 0x4a8ba2
push str.GL_ONE_MINUS_SRC_ALPHA
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8b30
mov dword [esp + 0x18], 6
jmp 0x4a8ba2
push str.GL_DST_ALPHA
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8b4c
mov dword [esp + 0x18], 7
jmp 0x4a8ba2
push str.GL_ONE_MINUS_DST_ALPHA
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8b68
mov dword [esp + 0x18], 8
jmp 0x4a8ba2
push str.GL_SRC_ALPHA_SATURATE
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8b84
mov dword [esp + 0x18], 9
jmp 0x4a8ba2
push 0x82ce30
push esi
push str.WARNING:_unknown_blend_mode__s_in_shader__s__substituting_GL_ONE_n
push 3
call dword [0x1313c40]
add esp, 0x10
mov dword [esp + 0x18], 2
push 0
push ebx
call fcn.004650d0
mov esi, eax
add esp, 8
cmp byte [esi], 0
jne 0x4a8bce
push 0x82ce30
push str.WARNING:_missing_parm_for_blendFunc_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push str.GL_ONE
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4a8cc7
push str.GL_ZERO
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8c03
mov dword [esp + 0x1c], 0x10
jmp 0x4a8ccf
push str.GL_SRC_ALPHA
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8c22
mov dword [esp + 0x1c], 0x50
jmp 0x4a8ccf
push str.GL_ONE_MINUS_SRC_ALPHA
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8c41
mov dword [esp + 0x1c], 0x60
jmp 0x4a8ccf
push str.GL_DST_ALPHA
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8c5d
mov dword [esp + 0x1c], 0x70
jmp 0x4a8ccf
push str.GL_ONE_MINUS_DST_ALPHA
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8c79
mov dword [esp + 0x1c], pe_nt_image_headers32
jmp 0x4a8ccf
push str.GL_SRC_COLOR
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8c95
mov dword [esp + 0x1c], 0x30
jmp 0x4a8ccf
push str.GL_ONE_MINUS_SRC_COLOR
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8cb1
mov dword [esp + 0x1c], 0x40
jmp 0x4a8ccf
push 0x82ce30
push esi
push str.WARNING:_unknown_blend_mode__s_in_shader__s__substituting_GL_ONE_n
push 3
call dword [0x1313c40]
add esp, 0x10
mov dword [esp + 0x1c], 0x20
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x4a8588
mov dword [esp + 0x24], 0
jmp 0x4a8588
push str.rgbGen
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a9286
xor edi, edi
push edi
push ebx
call fcn.004650d0
mov esi, eax
add esp, 8
cmp byte [esi], 0
jne 0x4a8d2b
push 0x82ce30
push str.WARNING:_missing_parameters_for_rgbGen_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push str.wave
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8d68
lea eax, [ebp + 0x280]
push eax
push ebx
call fcn.004a82c0
mov dword [ebp + 0x294], 8
mov eax, dword [0x82cfd0]
add esp, 8
or al, 2
mov dword [0x82cfd0], eax
jmp 0x4a8588
push str.colorwave
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8e2c
mov edi, dword [esp + 0x458]
xor esi, esi
push 0
push edi
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4a8dad
push eax
call fcn.0051b18c
fstp dword [esp + esi*4 + 0x3c]
add esp, 4
inc esi
cmp esi, 3
jl 0x4a8d87
jmp 0x4a8dc2
push 0x82ce30
push str.WARNING:_missing_vector_element_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
fld dword [esp + 0x38]
fmul dword [0x535c44]
call fcn.0051a9fc
fld dword [esp + 0x3c]
fmul dword [0x535c44]
mov byte [ebp + 0x2d4], al
call fcn.0051a9fc
fld dword [esp + 0x40]
fmul dword [0x535c44]
mov byte [ebp + 0x2d5], al
call fcn.0051a9fc
lea ecx, [ebp + 0x280]
mov byte [ebp + 0x2d6], al
push ecx
push edi
call fcn.004a82c0
mov dword [ebp + 0x294], 9
mov eax, dword [0x82cfd0]
add esp, 8
or al, 2
mov dword [0x82cfd0], eax
jmp 0x4a8581
push str.identity
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8e4d
mov dword [ebp + 0x294], 1
jmp 0x4a8588
push str.identityLighting
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8e6e
mov dword [ebp + 0x294], 2
jmp 0x4a8588
push str.global
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8e8f
mov dword [ebp + 0x294], 0xe
jmp 0x4a8588
push str.entity
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4a9277
push str.fromentity
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4a9277
push str.oneMinusEntity
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8edc
mov dword [ebp + 0x294], 4
jmp 0x4a8588
push str.vertex
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4a9252
push str.fromclient
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4a9252
push str.exactVertex
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8f29
mov dword [ebp + 0x294], 5
jmp 0x4a8588
push str.lightingGrid
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8f4a
mov dword [ebp + 0x294], 0xa
jmp 0x4a8588
push str.lightingSpherical
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8f6b
mov dword [ebp + 0x294], 0xb
jmp 0x4a8588
push str.oneMinusVertex
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8f8c
mov dword [ebp + 0x294], 7
jmp 0x4a8588
push str.const
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4a91c0
push str.constant
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4a91c0
push str.static
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a8fd9
mov dword [ebp + 0x294], 0xf
jmp 0x4a925c
push str.sCoord
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4a90c6
push str.tCoord
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4a90c6
push 0x561130
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a9083
mov dword [0x82cef0], 1
mov dword [ebp + 0x294], 0x12
push edi
push ebx
mov dword [ebp + 0x2c0], edi
mov dword [ebp + 0x2c4], 0x3f800000
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4a8588
push eax
call fcn.0051b18c
fstp dword [ebp + 0x2c0]
push edi
push ebx
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
je 0x4a8588
push eax
call fcn.0051b18c
fstp dword [ebp + 0x2c4]
add esp, 4
jmp 0x4a8588
push str.oneminusdot
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a90ab
mov dword [0x82cef0], 1
mov dword [ebp + 0x294], 0x13
jmp 0x4a902b
push 0x82ce30
push esi
push str.WARNING:_unknown_rgbGen_parameter__s_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0x10
jmp 0x4a8588
push str.sCoord
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a90e4
mov dword [ebp + 0x294], 0x10
jmp 0x4a90ee
mov dword [ebp + 0x294], 0x11
push edi
push ebx
mov dword [ebp + 0x2c0], edi
mov dword [ebp + 0x2c4], 0x3f800000
mov byte [ebp + 0x2d9], 0
mov byte [ebp + 0x2d8], 0xff
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4a8588
push eax
call fcn.0051b18c
fstp dword [ebp + 0x2c0]
push edi
push ebx
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
je 0x4a8588
push eax
call fcn.0051b18c
fstp dword [ebp + 0x2c4]
push edi
push ebx
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
je 0x4a8588
push eax
call fcn.0051b18c
fmul qword [0x5360f8]
call fcn.0051a9fc
push edi
push ebx
mov byte [ebp + 0x2d9], al
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
je 0x4a91a6
push eax
call fcn.0051b18c
fmul qword [0x5360f8]
add esp, 4
call fcn.0051a9fc
mov byte [ebp + 0x2d8], al
jmp 0x4a8588
push 0x82ce30
push str.WARNING:_missing_rgbGen_sCoord_or_tCoord_parm_max_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
mov edi, dword [esp + 0x458]
xor esi, esi
push 0
push edi
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4a91ef
push eax
call fcn.0051b18c
fstp dword [esp + esi*4 + 0x48]
add esp, 4
inc esi
cmp esi, 3
jl 0x4a91c9
jmp 0x4a9204
push 0x82ce30
push str.WARNING:_missing_vector_element_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
fld dword [esp + 0x44]
fmul dword [0x535c44]
call fcn.0051a9fc
fld dword [esp + 0x48]
fmul dword [0x535c44]
mov byte [ebp + 0x2d4], al
call fcn.0051a9fc
fld dword [esp + 0x4c]
fmul dword [0x535c44]
mov byte [ebp + 0x2d5], al
call fcn.0051a9fc
mov byte [ebp + 0x2d6], al
mov dword [ebp + 0x294], 0xc
jmp 0x4a8581
mov dword [ebp + 0x294], 6
cmp dword [ebp + 0x2ac], edi
jne 0x4a8588
mov dword [ebp + 0x2ac], 4
jmp 0x4a8588
mov dword [ebp + 0x294], 3
jmp 0x4a8588
push str.alphaGen
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a98da
xor edi, edi
push edi
push ebx
call fcn.004650d0
mov esi, eax
add esp, 8
cmp byte [esi], 0
jne 0x4a92c9
push 0x82ce30
push str.WARNING:_missing_parameters_for_alphaGen_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push str.wave
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a9306
lea edx, [ebp + 0x298]
push edx
push ebx
call fcn.004a82c0
mov dword [ebp + 0x2ac], 7
mov eax, dword [0x82cfd0]
add esp, 8
or al, 2
mov dword [0x82cfd0], eax
jmp 0x4a8588
push str.identity
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a9323
mov dword [ebp + 0x2ac], edi
jmp 0x4a8588
push str.global
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a9344
mov dword [ebp + 0x2ac], 0xd
jmp 0x4a8588
push str.entity
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4a98cb
push str.fromentity
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4a98cb
push str.oneMinusEntity
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a9391
mov dword [ebp + 0x2ac], 3
jmp 0x4a8588
push str.vertex
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4a9268
push str.fromclient
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4a9268
push str.oneMinusVertex
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4a98bc
push str.oneMinusFromClient
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4a98bc
push str.lightingSpecular
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a94ac
lea esi, [ebp + 0x2c8]
push edi
mov dword [0x82cef0], 1
push ebx
mov dword [ebp + 0x2ac], 6
mov dword [ebp + 0x2c4], 0x437f0000
mov dword [esi], 0xc4700000
mov dword [ebp + 0x2cc], 0x44f78000
mov dword [ebp + 0x2d0], 0x42c00000
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4a8588
push eax
call fcn.0051b18c
fmul qword [0x5360f8]
add esp, 4
xor edi, edi
fstp dword [ebp + 0x2c4]
push 0
push ebx
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4a9492
push eax
call fcn.0051b18c
fstp dword [esi]
add esp, 4
inc edi
add esi, 4
cmp edi, 3
jl 0x4a9468
jmp 0x4a8588
push 0x82ce30
push str.WARNING:_missing_vector_element_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push str.portal
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a9500
push edi
push ebx
mov dword [ebp + 0x2ac], 8
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x4a9564
push 0x82ce30
push str.WARNING:_missing_range_parameter_for_alphaGen_portal_in_shader__s__defaulting_to_256_n
push 3
mov dword [0x82cedc], 0x43800000
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push str.distFade
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a9578
push edi
mov dword [ebp + 0x2ac], 0x12
push ebx
mov dword [0x82cedc], 0x43800000
mov dword [0x82cee0], 0x43800000
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4a8588
push eax
call fcn.0051b18c
fstp dword [0x82cee0]
push edi
push ebx
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
je 0x4a8588
push eax
call fcn.0051b18c
fstp dword [0x82cedc]
add esp, 4
jmp 0x4a8588
push str.oneMinusDistFade
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a95f0
push edi
mov dword [ebp + 0x2ac], 0x13
push ebx
mov dword [0x82cedc], 0x43800000
mov dword [0x82cee0], 0x43800000
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4a8588
push eax
call fcn.0051b18c
fstp dword [0x82cee0]
push edi
push ebx
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
je 0x4a8588
push eax
call fcn.0051b18c
fstp dword [0x82cedc]
add esp, 4
jmp 0x4a8588
push 0x561130
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a961b
mov dword [0x82cef0], 1
mov dword [ebp + 0x2ac], 0xa
jmp 0x4a902b
push str.dotView
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a9646
mov dword [0x82cef0], 1
mov dword [ebp + 0x2ac], 0x14
jmp 0x4a902b
push str.oneMinusDotView
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a9671
mov dword [0x82cef0], 1
mov dword [ebp + 0x2ac], 0x15
jmp 0x4a902b
push str.oneMinusDot
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a969c
mov dword [0x82cef0], 1
mov dword [ebp + 0x2ac], 0xb
jmp 0x4a902b
push str.const
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4a9843
push str.constant
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4a9843
push str.skyAlpha
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a96e9
mov dword [ebp + 0x2ac], 0xe
jmp 0x4a8588
push str.oneMinusSkyAlpha
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a970a
mov dword [ebp + 0x2ac], 0xf
jmp 0x4a8588
push str.sCoord
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4a9749
push str.tCoord
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4a9749
push 0x82ce30
push esi
push str.WARNING:_unknown_alphaGen_parameter__s_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0x10
jmp 0x4a8588
push str.sCoord
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a9767
mov dword [ebp + 0x2ac], 0x10
jmp 0x4a9771
mov dword [ebp + 0x2ac], 0x11
push edi
push ebx
mov dword [ebp + 0x2c0], edi
mov dword [ebp + 0x2c4], 0x3f800000
mov byte [ebp + 0x2d9], 0
mov byte [ebp + 0x2d8], 0xff
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4a8588
push eax
call fcn.0051b18c
fstp dword [ebp + 0x2c0]
push edi
push ebx
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
je 0x4a8588
push eax
call fcn.0051b18c
fstp dword [ebp + 0x2c4]
push edi
push ebx
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
je 0x4a8588
push eax
call fcn.0051b18c
fmul qword [0x5360f8]
call fcn.0051a9fc
push edi
push ebx
mov byte [ebp + 0x2d9], al
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
je 0x4a9829
push eax
call fcn.0051b18c
fmul qword [0x5360f8]
add esp, 4
call fcn.0051a9fc
mov byte [ebp + 0x2d8], al
jmp 0x4a8588
push 0x82ce30
push str.WARNING:_missing_alphaGen_s_or_tCoord_parm_max_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push edi
push ebx
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4a98a2
push eax
call fcn.0051b18c
fmul dword [0x535c44]
add esp, 4
call fcn.0051a9fc
cmp eax, edi
jl 0x4a9887
cmp eax, 0xff
jg 0x4a9887
mov dword [ebp + 0x2ac], 0xc
mov byte [ebp + 0x2d7], al
jmp 0x4a8588
push 0x82ce30
push eax
push str.WARNING:_alphaGen_constant__d_out_of__0..1__range_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0x10
jmp 0x4a8588
push 0x82ce30
push str.WARNING:_no_alphaGen_constant_specified_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
mov dword [ebp + 0x2ac], 5
jmp 0x4a8588
mov dword [ebp + 0x2ac], 2
jmp 0x4a8588
push str.texgen
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4aa678
push str.tcGen
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4aa678
push str.tcMod
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4aa58b
mov al, byte [0x56e6c4]
mov ecx, 0xff
mov byte [esp + 0x50], al
xor eax, eax
lea edi, [esp + 0x51]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0
push ebx
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4a998a
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x50]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x50]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ax, word [0x542d70]
mov word [edi - 1], ax
jmp 0x4a9935
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x50]
mov dword [esp + 0x10], ecx
lea edx, [eax + eax*4]
shl edx, 4
sub edx, eax
mov ecx, dword [ebp + edx*4 + 0x12c]
lea edx, [ebp + edx*4]
cmp ecx, 4
jne 0x4a99c8
push 0x82ce30
push str.ERROR:_too_many_tcMod_stages_in_shader__s_n
push 1
call dword [0x1313c44]
add esp, 0xc
jmp 0x4a8588
mov esi, dword [edx + 0x130]
lea eax, [ecx*8]
sub eax, ecx
inc ecx
mov dword [edx + 0x12c], ecx
lea ecx, [esp + 0x10]
lea eax, [eax + eax*2]
push 0
push ecx
lea esi, [esi + eax*4]
call fcn.004650d0
mov edi, eax
push str.turb
push edi
call fcn.004655b0
add esp, 0x10
test eax, eax
jne 0x4a9b01
lea edx, [esp + 0x10]
push eax
push edx
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x4a9a36
push 0x82ce30
push str.WARNING:_missing_tcMod_turb_parms_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push eax
call fcn.0051b18c
fstp dword [esi + 8]
lea eax, [esp + 0x14]
push 0
push eax
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4a9a6e
push 0x82ce30
push str.WARNING:_missing_tcMod_turb_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push eax
call fcn.0051b18c
fstp dword [esi + 0xc]
lea ecx, [esp + 0x14]
push 0
push ecx
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4a9aa6
push 0x82ce30
push str.WARNING:_missing_tcMod_turb_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push eax
call fcn.0051b18c
fstp dword [esi + 0x10]
lea edx, [esp + 0x14]
push 0
push edx
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4a9ade
push 0x82ce30
push str.WARNING:_missing_tcMod_turb_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push eax
call fcn.0051b18c
fstp dword [esi + 0x14]
mov dword [esi], 2
mov eax, dword [0x82cfd0]
add esp, 4
or al, 2
mov dword [0x82cfd0], eax
jmp 0x4a8588
push str.scale
push edi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a9b90
push eax
lea eax, [esp + 0x14]
push eax
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x4a9b41
push 0x82ce30
push str.WARNING:_missing_scale_parms_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push eax
call fcn.0051b18c
fstp dword [esi + 0x30]
lea ecx, [esp + 0x14]
push 0
push ecx
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4a9b79
push 0x82ce30
push str.WARNING:_missing_scale_parms_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push eax
call fcn.0051b18c
fstp dword [esi + 0x34]
add esp, 4
mov dword [esi], 4
jmp 0x4a8588
push str.scroll
push edi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a9dbe
lea edx, [esp + 0x10]
push eax
push edx
call fcn.004650d0
mov edi, eax
add esp, 8
cmp byte [edi], 0
jne 0x4a9bd5
push 0x82ce30
push str.WARNING:_missing_scale_scroll_parms_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push str.fromEntity
push edi
call fcn.0051be70
add esp, 8
test eax, eax
jne 0x4a9bf0
mov dword [esi + 0x40], 0x4996b438
jmp 0x4a9bfc
push edi
call fcn.0051b18c
fstp dword [esi + 0x40]
add esp, 4
lea eax, [esp + 0x10]
push 0
push eax
call fcn.004650d0
mov edi, eax
add esp, 8
cmp byte [edi], 0
jne 0x4a9c2c
push 0x82ce30
push str.WARNING:_missing_scale_scroll_parms_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push str.fromEntity
push edi
call fcn.0051be70
add esp, 8
test eax, eax
jne 0x4a9c47
mov dword [esi + 0x44], 0x4996b438
jmp 0x4a9c53
push edi
call fcn.0051b18c
fstp dword [esi + 0x44]
add esp, 4
lea ecx, [esp + 0x10]
push 0
push ecx
call fcn.004650d0
mov edi, eax
add esp, 8
cmp byte [edi], 0
je 0x4a9cfd
push edi
call fcn.0051b18c
fcomp qword [0x535be0]
add esp, 4
push edi
fnstsw ax
test ah, 5
jp 0x4a9cb4
call fcn.0051b18c
fmul qword [0x535ab8]
add esp, 4
call fcn.0051a9fc
mov edi, eax
call fcn.0051bf85
cdq
idiv edi
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x535428]
fsubr dword [esi + 0x40]
jmp 0x4a9cfa
call fcn.0051b18c
fcomp qword [0x535be0]
add esp, 4
fnstsw ax
and eax, 0x4100
jne 0x4a9cfd
push edi
call fcn.0051b18c
fmul qword [0x535ab8]
add esp, 4
call fcn.0051a9fc
mov edi, eax
call fcn.0051bf85
cdq
idiv edi
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x535428]
fadd dword [esi + 0x40]
fstp dword [esi + 0x40]
lea edx, [esp + 0x10]
push 0
push edx
call fcn.004650d0
mov edi, eax
add esp, 8
cmp byte [edi], 0
je 0x4a9da7
push edi
call fcn.0051b18c
fcomp qword [0x535be0]
add esp, 4
push edi
fnstsw ax
test ah, 5
jp 0x4a9d5e
call fcn.0051b18c
fmul qword [0x535ab8]
add esp, 4
call fcn.0051a9fc
mov edi, eax
call fcn.0051bf85
cdq
idiv edi
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x535428]
fsubr dword [esi + 0x44]
jmp 0x4a9da4
call fcn.0051b18c
fcomp qword [0x535be0]
add esp, 4
fnstsw ax
and eax, 0x4100
jne 0x4a9da7
push edi
call fcn.0051b18c
fmul qword [0x535ab8]
add esp, 4
call fcn.0051a9fc
mov edi, eax
call fcn.0051bf85
cdq
idiv edi
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x535428]
fadd dword [esi + 0x44]
fstp dword [esi + 0x44]
mov dword [esi], 3
mov eax, dword [0x82cfd0]
or al, 2
mov dword [0x82cfd0], eax
jmp 0x4a8588
push str.stretch
push edi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a9df8
lea eax, [esi + 4]
lea ecx, [esp + 0x10]
push eax
push ecx
call fcn.004a82c0
mov dword [esi], 5
mov eax, dword [0x82cfd0]
add esp, 8
or al, 2
mov dword [0x82cfd0], eax
jmp 0x4a8588
push str.wavetrans
push edi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a9e32
lea edx, [esi + 4]
lea eax, [esp + 0x10]
push edx
push eax
call fcn.004a82c0
mov dword [esi], 0xc
mov eax, dword [0x82cfd0]
add esp, 8
or al, 2
mov dword [0x82cfd0], eax
jmp 0x4a8588
push str.wavetrant
push edi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a9e6c
lea ecx, [esi + 4]
lea edx, [esp + 0x10]
push ecx
push edx
call fcn.004a82c0
mov dword [esi], 0xd
mov eax, dword [0x82cfd0]
add esp, 8
or al, 2
mov dword [0x82cfd0], eax
jmp 0x4a8588
push str.bulge
push edi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4a9f7b
push eax
lea eax, [esp + 0x14]
push eax
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x4a9eb0
push 0x82ce30
push str.WARNING:_missing_tcMod_bulge_parms_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push eax
call fcn.0051b18c
fstp dword [esi + 8]
lea ecx, [esp + 0x14]
push 0
push ecx
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4a9ee8
push 0x82ce30
push str.WARNING:_missing_tcMod_bulge_parms_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push eax
call fcn.0051b18c
fstp dword [esi + 0xc]
lea edx, [esp + 0x14]
push 0
push edx
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4a9f20
push 0x82ce30
push str.WARNING:_missing_tcMod_bulge_parms_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push eax
call fcn.0051b18c
fstp dword [esi + 0x14]
lea eax, [esp + 0x14]
push 0
push eax
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4a9f58
push 0x82ce30
push str.WARNING:_missing_tcMod_bulge_parms_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push eax
call fcn.0051b18c
fstp dword [esi + 0x10]
mov dword [esi], 0xe
mov eax, dword [0x82cfd0]
add esp, 4
or al, 2
mov dword [0x82cfd0], eax
jmp 0x4a8588
push str.transform
push edi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4aa0ee
lea ecx, [esp + 0x10]
push eax
push ecx
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x4a9fbf
push 0x82ce30
push str.WARNING:_missing_transform_parms_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push eax
call fcn.0051b18c
fstp dword [esi + 0x18]
lea edx, [esp + 0x14]
push 0
push edx
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4a9ff7
push 0x82ce30
push str.WARNING:_missing_transform_parms_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push eax
call fcn.0051b18c
fstp dword [esi + 0x1c]
lea eax, [esp + 0x14]
push 0
push eax
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4aa02f
push 0x82ce30
push str.WARNING:_missing_transform_parms_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push eax
call fcn.0051b18c
fstp dword [esi + 0x20]
lea ecx, [esp + 0x14]
push 0
push ecx
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4aa067
push 0x82ce30
push str.WARNING:_missing_transform_parms_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push eax
call fcn.0051b18c
fstp dword [esi + 0x24]
lea edx, [esp + 0x14]
push 0
push edx
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4aa09f
push 0x82ce30
push str.WARNING:_missing_transform_parms_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push eax
call fcn.0051b18c
fstp dword [esi + 0x28]
lea eax, [esp + 0x14]
push 0
push eax
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4aa0d7
push 0x82ce30
push str.WARNING:_missing_transform_parms_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push eax
call fcn.0051b18c
fstp dword [esi + 0x2c]
add esp, 4
mov dword [esi], 1
jmp 0x4a8588
push str.rotate
push edi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4aa1e1
lea ecx, [esp + 0x10]
push eax
push ecx
call fcn.004650d0
mov edi, eax
add esp, 8
cmp byte [edi], 0
jne 0x4aa133
push 0x82ce30
push str.WARNING:_missing_tcMod_rotate_parms_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push str.fromEntity
push edi
call fcn.0051be70
add esp, 8
test eax, eax
jne 0x4aa14e
mov dword [esi + 0x48], 0x4996b438
jmp 0x4aa15a
push edi
call fcn.0051b18c
fstp dword [esi + 0x48]
add esp, 4
lea edx, [esp + 0x10]
push 0
push edx
call fcn.004650d0
mov edi, eax
add esp, 8
cmp byte [edi], 0
jne 0x4aa179
mov dword [esi + 0x4c], 0
jmp 0x4aa1a0
push str.fromEntity
push edi
call fcn.0051be70
add esp, 8
test eax, eax
jne 0x4aa194
mov dword [esi + 0x4c], 0x4996b438
jmp 0x4aa1a0
push edi
call fcn.0051b18c
fstp dword [esi + 0x4c]
add esp, 4
lea eax, [esp + 0x10]
push 0
push eax
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x4aa1be
mov dword [esi + 0x50], 0x3f800000
jmp 0x4aa1ca
push eax
call fcn.0051b18c
fstp dword [esi + 0x50]
add esp, 4
mov dword [esi], 6
mov eax, dword [0x82cfd0]
or al, 2
mov dword [0x82cfd0], eax
jmp 0x4a8588
push str.offset
push edi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4aa41b
lea ecx, [esp + 0x10]
push eax
push ecx
call fcn.004650d0
mov edi, eax
add esp, 8
cmp byte [edi], 0
jne 0x4aa226
push 0x82ce30
push str.WARNING:_missing_offset_parms_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push str.fromEntity
push edi
call fcn.0051be70
add esp, 8
test eax, eax
jne 0x4aa241
mov dword [esi + 0x40], 0x4996b438
jmp 0x4aa24d
push edi
call fcn.0051b18c
fstp dword [esi + 0x40]
add esp, 4
lea edx, [esp + 0x10]
push 0
push edx
call fcn.004650d0
mov edi, eax
add esp, 8
cmp byte [edi], 0
jne 0x4aa27d
push 0x82ce30
push str.WARNING:_missing_offset_parms_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push str.fromEntity
push edi
call fcn.0051be70
add esp, 8
test eax, eax
jne 0x4aa298
mov dword [esi + 0x44], 0x4996b438
jmp 0x4aa2a4
push edi
call fcn.0051b18c
fstp dword [esi + 0x44]
add esp, 4
lea eax, [esp + 0x10]
push 0
push eax
call fcn.004650d0
mov edi, eax
add esp, 8
cmp byte [edi], 0
je 0x4aa35a
push edi
call fcn.0051b18c
fcomp qword [0x535be0]
add esp, 4
push edi
fnstsw ax
test ah, 5
jp 0x4aa30b
call fcn.0051b18c
fmul qword [0x535ab8]
add esp, 4
fadd qword [0x535478]
call fcn.0051a9fc
mov edi, eax
call fcn.0051bf85
cdq
idiv edi
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x535428]
fsubr dword [esi + 0x40]
jmp 0x4aa357
call fcn.0051b18c
fcomp qword [0x535be0]
add esp, 4
fnstsw ax
and eax, 0x4100
jne 0x4aa35a
push edi
call fcn.0051b18c
fmul qword [0x535ab8]
add esp, 4
fadd qword [0x535478]
call fcn.0051a9fc
mov edi, eax
call fcn.0051bf85
cdq
idiv edi
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x535428]
fadd dword [esi + 0x40]
fstp dword [esi + 0x40]
lea ecx, [esp + 0x10]
push 0
push ecx
call fcn.004650d0
mov edi, eax
add esp, 8
cmp byte [edi], 0
je 0x4aa410
push edi
call fcn.0051b18c
fcomp qword [0x535be0]
add esp, 4
push edi
fnstsw ax
test ah, 5
jp 0x4aa3c7
call fcn.0051b18c
fmul qword [0x535ab8]
add esp, 4
call fcn.0051a9fc
mov edi, eax
call fcn.0051bf85
cdq
idiv edi
mov dword [esi], 9
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x535428]
fsubr dword [esi + 0x44]
fstp dword [esi + 0x44]
jmp 0x4a8588
call fcn.0051b18c
fcomp qword [0x535be0]
add esp, 4
fnstsw ax
and eax, 0x4100
jne 0x4aa410
push edi
call fcn.0051b18c
fmul qword [0x535ab8]
add esp, 4
call fcn.0051a9fc
mov edi, eax
call fcn.0051bf85
cdq
idiv edi
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x535428]
fadd dword [esi + 0x44]
fstp dword [esi + 0x44]
mov dword [esi], 9
jmp 0x4a8588
push str.entityTranslate
push edi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4aa438
mov dword [esi], 7
jmp 0x4a8588
push str.parallax
push edi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4aa4c7
lea edx, [esp + 0x10]
push eax
push edx
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x4aa478
push 0x82ce30
push str.WARNING:_missing_rate_parms_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push eax
call fcn.0051b18c
fstp dword [esi + 0x38]
lea eax, [esp + 0x14]
push 0
push eax
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4aa4b0
push 0x82ce30
push str.WARNING:_missing_rate_parms_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push eax
call fcn.0051b18c
fstp dword [esi + 0x3c]
add esp, 4
mov dword [esi], 0xa
jmp 0x4a8588
push str.macro
push edi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4aa570
lea ecx, [esp + 0x10]
push eax
push ecx
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x4aa50b
push 0x82ce30
push str.WARNING:_missing_scale_parms_in_shader__s_for_macro_definition_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push eax
call fcn.0051b18c
fdivr qword [0x535478]
lea edx, [esp + 0x14]
push 0
push edx
fstp dword [esi + 0x30]
call fcn.004650d0
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4aa549
push 0x82ce30
push str.WARNING:_missing_scale_parms_in_shader__s_for_macro_definition_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push eax
call fcn.0051b18c
fdivr qword [0x535478]
mov dword [esi], 0xb
add esp, 4
fstp dword [esi + 0x34]
mov dword [0x82cef0], 1
jmp 0x4a8588
push 0x82ce30
push edi
push str.WARNING:_unknown_tcMod__s_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0x10
jmp 0x4a8588
push str.depthwrite
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4aa667
push str.depthmask
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4aa667
push str.noDepthTest
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4aa5d6
mov dword [esp + 0x34], 0x400
jmp 0x4a8588
push str.nextBundle
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4aaa8d
mov eax, dword [0x13e6bf8]
test eax, eax
je 0x4aaa70
push 0
push ebx
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4aa628
push 0x54c748
push eax
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4aa628
mov dword [ebp + 0x27c], 0x104
jmp 0x4aa632
mov dword [ebp + 0x27c], 0x2100
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
inc eax
cmp eax, 2
jle 0x4a8588
push 0x82ce30
push str.WARNING:_too_many_nextBundle_commands_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x440
ret
mov dword [esp + 0x24], 0x100
mov dword [esp + 0x2c], edi
jmp 0x4a8588
push 0
push ebx
call fcn.004650d0
mov esi, eax
add esp, 8
cmp byte [esi], 0
jne 0x4aa6a4
push 0x82ce30
push str.WARNING:_missing_texgen_parm_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
push str.environment
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4aa6d8
mov eax, dword [esp + 0x14]
mov dword [0x82cef0], edi
lea ecx, [eax + eax*4]
shl ecx, 4
sub ecx, eax
mov dword [ebp + ecx*4 + 0x110], 4
jmp 0x4a8588
push str.environmentmodel
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4aa70c
mov eax, dword [esp + 0x14]
mov dword [0x82cef0], edi
lea edx, [eax + eax*4]
shl edx, 4
sub edx, eax
mov dword [ebp + edx*4 + 0x110], 6
jmp 0x4a8588
push str.sunreflection
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4aa740
mov eax, dword [esp + 0x14]
mov dword [0x82cef0], edi
lea ecx, [eax + eax*4]
shl ecx, 4
sub ecx, eax
mov dword [ebp + ecx*4 + 0x110], 7
jmp 0x4a8588
push str.lightmap
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4aa76e
mov eax, dword [esp + 0x14]
lea edx, [eax + eax*4]
shl edx, 4
sub edx, eax
mov dword [ebp + edx*4 + 0x110], 2
jmp 0x4a8588
push str.texture
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4aa86e
push str.base
push esi
call fcn.004655b0
add esp, 8
test eax, eax
je 0x4aa86e
push str.vector
push esi
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4aa854
xor esi, esi
lea edi, [ebp + 0x114]
push 0
push ebx
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4aa7df
push eax
call fcn.0051b18c
fstp dword [edi]
add esp, 4
inc esi
add edi, 4
cmp esi, 3
jl 0x4aa7b8
jmp 0x4aa7f4
push 0x82ce30
push str.WARNING:_missing_vector_element_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
xor esi, esi
lea edi, [ebp + 0x120]
push 0
push ebx
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4aa823
push eax
call fcn.0051b18c
fstp dword [edi]
add esp, 4
inc esi
add edi, 4
cmp esi, 3
jl 0x4aa7fc
jmp 0x4aa838
push 0x82ce30
push str.WARNING:_missing_vector_element_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
mov eax, dword [esp + 0x14]
lea ecx, [eax + eax*4]
shl ecx, 4
sub ecx, eax
mov dword [ebp + ecx*4 + 0x110], 5
jmp 0x4a8588
push 0x82ce30
push str.WARNING:_unknown_texgen_parm_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a8588
mov eax, dword [esp + 0x14]
lea edx, [eax + eax*4]
shl edx, 4
sub edx, eax
mov dword [ebp + edx*4 + 0x110], 3
jmp 0x4a8588
mov ecx, dword [0x82cfd0]
push str.animMapOnce
or ecx, 3
push esi
mov dword [0x82cfd0], ecx
call fcn.004655b0
add esp, 8
test eax, eax
jne 0x4aa8c5
mov eax, dword [esp + 0x14]
inc eax
lea ecx, [eax + eax*4]
shl ecx, 4
sub ecx, eax
lea eax, [ebp + ecx*4]
mov cl, byte [ebp + ecx*4]
or cl, 1
mov byte [eax], cl
push str.animMapPhase
push esi
call fcn.004655b0
mov esi, eax
push 0
neg esi
sbb esi, esi
push ebx
inc esi
call fcn.004650d0
mov cl, byte [eax]
add esp, 0x10
test cl, cl
je 0x4aaab0
mov ecx, dword [esp + 0x14]
push eax
lea edx, [ecx + ecx*4]
shl edx, 4
sub edx, ecx
lea ebx, [ebp + edx*4]
call fcn.0051b18c
fstp dword [ebx + 0x108]
add esp, 4
mov dword [ebx + 0x10c], 0
test esi, esi
je 0x4aa944
mov eax, dword [esp + 0x458]
push 0
push eax
call fcn.004650d0
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4aaad2
push eax
call fcn.0051b18c
fstp dword [ebx + 0x10c]
add esp, 4
mov ecx, dword [esp + 0x458]
push 0
push ecx
call fcn.004650d0
mov edi, eax
add esp, 8
cmp byte [edi], 0
je 0x4a8581
mov esi, dword [ebx + 0x104]
cmp esi, 0x40
jge 0x4aa9c4
mov edx, dword [ebp + 0x2bc]
push 0x2901
push 0x2901
push edx
mov edx, dword [ebp + 0x2b8]
xor eax, eax
test edx, edx
sete al
push eax
mov eax, dword [ebp + 0x2b4]
xor ecx, ecx
test eax, eax
sete cl
push ecx
push edi
call fcn.0048afd0
mov ecx, dword [esp + 0x2c]
add esp, 0x18
lea edx, [ecx + ecx*4]
shl edx, 4
sub edx, ecx
add edx, esi
test eax, eax
mov dword [ebp + edx*4 + 4], eax
je 0x4aaaf4
inc dword [ebx + 0x104]
jmp 0x4aa944
push 0x82ce30
push str.WARNING:_mapanim___too_many_animated_textures_specified_for_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4aa944
push str.WARNING:_no_matching__found_n
push 3
call dword [0x1313c40]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x440
ret
push 0x82ce30
push str.WARNING:_missing_parameter_for_map_keyword_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x440
ret
push 0x82ce30
push str.WARNING:_missing_parameter_for_clampmap_keyword_in_shader__s_n
jmp 0x4a86d0
push 0x82ce30
push str.WARNING:_missing_parameter_for_alphaFunc_keyword_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x440
ret
push 0x82ce30
push str.WARNING:_missing_parameter_for_depthfunc_keyword_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x440
ret
push str.WARNING:_Medal_of_Honor_requires_a_video_card_with_multitexturing_capability_n
push 0
call dword [0x1313c44]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x440
ret
push 0x82ce30
push esi
push str.WARNING:_unknown_parameter__s_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x440
ret
push 0x82ce30
push str.WARNING:_missing_parameter_for_animMap_keyword_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x440
ret
push 0x82ce30
push str.WARNING:_missing_phase_for_animMapPhase_keyword_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x440
ret
push 0x82ce30
push edi
push str.WARNING:_R_FindImageFile_could_not_find__s_in_shader__s_n
push 3
call dword [0x1313c40]
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x440
ret
mov eax, dword [ebp + 0x294]
test eax, eax
jne 0x4aab5d
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4aab51
mov eax, dword [ebp + 0x134]
test eax, eax
jne 0x4aab51
mov edx, dword [esp + 0x18]
test edx, edx
je 0x4aab45
cmp edx, 2
je 0x4aab45
cmp edx, 5
jne 0x4aab55
mov dword [ebp + 0x294], 2
jmp 0x4aab61
mov edx, dword [esp + 0x18]
mov dword [ebp + 0x294], edi
jmp 0x4aab61
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
cmp edx, 2
jne 0x4aab7a
cmp edi, 0x10
jne 0x4aab7a
xor edx, edx
xor edi, edi
mov esi, 0x100
jmp 0x4aab7e
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
cmp ecx, 0x400
jne 0x4aab8c
xor esi, esi
mov eax, dword [ebp + 0x2ac]
test eax, eax
jne 0x4aabb5
mov eax, dword [ebp + 0x294]
cmp eax, 1
je 0x4aabab
cmp eax, 0xa
je 0x4aabab
cmp eax, 0xb
jne 0x4aabb5
mov dword [ebp + 0x2ac], 1
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
or ecx, ebx
or ecx, eax
mov eax, 1
or ecx, edi
pop edi
or ecx, edx
or ecx, esi
pop esi
mov dword [ebp + 0x2b0], ecx
pop ebp
pop ebx
add esp, 0x440
ret