Function at 0x4bb5a0
Capabilities:
Inspect section memory permissions

Disassembly:
sub esp, 0x450
push ebx
push ebp
mov ebp, dword [esp + 0x45c]
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], eax
mov dword [ebp], 1
mov eax, dword [0x9cd5d0]
push esi
mov dword [ebp + 0x2b4], eax
mov ecx, dword [0x9cd5d4]
mov dword [ebp + 0x2b8], ecx
mov edx, dword [0x9c5410]
push edi
mov dword [esp + 0x28], pe_nt_image_headers32
mov dword [ebp + 0x2bc], edx
mov dword [esp + 0x30], 1
mov ebx, dword [esp + 0x468]
mov edi, 1
push edi
push ebx
call fcn.00474120
mov esi, eax
add esp, 8
mov al, byte [esi]
test al, al
je 0x4bdd5d
cmp al, 0x7d
je 0x4bdef2
push str.nomipmaps
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bb655
mov dword [ebp + 0x2b4], edi
jmp 0x4bb618
push str.nopicmip
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bb66f
mov dword [ebp + 0x2b8], edi
jmp 0x4bb618
push str.nofog
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bb68b
mov dword [esp + 0x3c], 0x8000
jmp 0x4bb618
push str.force32bit
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bb6a8
mov dword [ebp + 0x2bc], edi
jmp 0x4bb618
push 0x56eb6c
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bb7f8
push eax
push ebx
call fcn.00474120
mov esi, eax
add esp, 8
cmp byte [esi], 0
je 0x4bdd7a
push str._whiteimage
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bb700
mov eax, dword [esp + 0x18]
mov edx, dword [0x160cd78]
lea ecx, [eax + eax*4]
shl ecx, 4
sub ecx, eax
mov dword [ebp + ecx*4 + 4], edx
jmp 0x4bb618
push str._lightmap
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bb74f
mov eax, dword [esp + 0x18]
lea ecx, [eax + eax*4]
shl ecx, 4
sub ecx, eax
lea eax, [ebp + ecx*4]
mov dword [eax + 0x134], edi
mov ecx, dword [0x9c5458]
test ecx, ecx
jge 0x4bb740
mov edx, dword [0x160cd78]
mov dword [eax + 4], edx
jmp 0x4bb618
mov ecx, dword [ecx*4 + 0x160cdd4]
mov dword [eax + 4], ecx
jmp 0x4bb618
push str._bumpmap
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bb797
push eax
push ebx
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x4bb618
push 0x9c5418
push str.WARNING:_missing_parameter_for_bumpmap_keyword_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x450
ret
mov eax, dword [ebp + 0x2b8]
mov edx, dword [ebp + 0x2bc]
neg eax
push 0x2901
push 0x2901
sbb eax, eax
push edx
mov edx, dword [esp + 0x478]
xor ecx, ecx
not eax
and eax, edx
push eax
mov eax, dword [ebp + 0x2b4]
test eax, eax
sete cl
push ecx
push esi
call fcn.0049c510
mov ecx, dword [esp + 0x30]
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 0x4bb618
push 0x9c5418
push esi
jmp 0x4bded5
push 8
push str.clampmap
push esi
call fcn.00474560
add esp, 0xc
test eax, eax
jne 0x4bb924
mov al, byte [esi + 8]
xor ebx, ebx
xor edi, edi
test al, al
jne 0x4bb845
mov eax, dword [0x16e0b94]
fld dword [eax + 0x1c]
fcomp dword [0x54e4d0]
fnstsw ax
test ah, 0x44
jnp 0x4bb839
mov ebx, 0x812f
mov edi, ebx
jmp 0x4bb8b4
mov ebx, 0x2900
mov edi, 0x2900
jmp 0x4bb8b4
cmp al, 0x78
jne 0x4bb877
mov cl, byte [esi + 9]
test cl, cl
jne 0x4bb877
mov ecx, dword [0x16e0b94]
mov ebx, 0x812f
fld dword [ecx + 0x1c]
fcomp dword [0x54e4d0]
fnstsw ax
test ah, 0x44
jp 0x4bb870
mov ebx, 0x2900
mov edi, 0x2901
jmp 0x4bb8b4
cmp al, 0x79
jne 0x4bb8a4
mov al, byte [esi + 9]
test al, al
jne 0x4bb8a4
mov edx, dword [0x16e0b94]
mov ebx, 0x2901
fld dword [edx + 0x1c]
fcomp dword [0x54e4d0]
fnstsw ax
test ah, 0x44
jnp 0x4bb83e
mov edi, 0x812f
jmp 0x4bb8b4
push str.WARNING:_Converting_unknown_clampmap_type_to_clampmap_n
push 3
call dword [0x160cc60]
add esp, 8
mov eax, dword [esp + 0x468]
push 0
push eax
call fcn.00474120
mov esi, eax
add esp, 8
cmp byte [esi], 0
je 0x4bdd9c
mov edx, dword [ebp + 0x2b8]
mov ecx, dword [ebp + 0x2bc]
neg edx
push edi
push ebx
mov ebx, dword [ebp + 0x2b4]
push ecx
mov ecx, dword [esp + 0x478]
sbb edx, edx
xor eax, eax
not edx
and edx, ecx
test ebx, ebx
sete al
push edx
push eax
push esi
call fcn.0049c510
mov ecx, dword [esp + 0x30]
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 0x4bb7ed
jmp 0x4bb611
push str.animMap
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bdbfe
push str.animMapOnce
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bdbfe
push str.animMapPhase
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bdbfe
push str.alphaFunc
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bba92
push eax
push ebx
call fcn.00474120
mov esi, eax
add esp, 8
cmp byte [esi], 0
je 0x4bddab
push 0x57d844
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bb9b1
mov eax, 0x10000000
mov dword [esp + 0x38], eax
jmp 0x4bb618
push str.LT128
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bb9d1
mov eax, 0x20000000
mov dword [esp + 0x38], eax
jmp 0x4bb618
push str.GE128
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bb9f1
mov eax, 0x30000000
mov dword [esp + 0x38], eax
jmp 0x4bb618
push str.LT_FOLIAGE1
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bba11
mov eax, 0x40000000
mov dword [esp + 0x38], eax
jmp 0x4bb618
push str.GE_FOLIAGE1
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bba31
mov eax, 0x50000000
mov dword [esp + 0x38], eax
jmp 0x4bb618
push str.LT_FOLIAGE2
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bba51
mov eax, 0x60000000
mov dword [esp + 0x38], eax
jmp 0x4bb618
push str.GE_FOLIAGE2
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bba71
mov eax, 0x70000000
mov dword [esp + 0x38], eax
jmp 0x4bb618
push 0x9c5418
push esi
push str.WARNING:_invalid_alphaFunc_name__s_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0x10
xor eax, eax
mov dword [esp + 0x38], eax
jmp 0x4bb618
push str.depthfunc
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbb0e
push eax
push ebx
call fcn.00474120
mov esi, eax
add esp, 8
cmp byte [esi], 0
je 0x4bddcd
push str.lequal
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbad4
mov dword [esp + 0x2c], eax
jmp 0x4bb618
push str.equal
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbaf3
mov dword [esp + 0x2c], 0x1000
jmp 0x4bb618
push 0x9c5418
push esi
push str.WARNING:_unknown_depthfunc__s_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0x10
jmp 0x4bb618
push str.blendfunc
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbe27
push eax
push ebx
call fcn.00474120
mov esi, eax
add esp, 8
cmp byte [esi], 0
je 0x4bbcf3
push 0x5684d8
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbb58
mov dword [esp + 0x14], 2
jmp 0x4bbe06
push str.filter
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbb7f
mov dword [esp + 0x14], 3
mov dword [esp + 0x1c], 0x10
jmp 0x4bbe0e
push str.blend
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbba6
mov dword [esp + 0x14], 5
mov dword [esp + 0x1c], 0x60
jmp 0x4bbe0e
push str.alphaadd
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbbc5
mov dword [esp + 0x14], 5
jmp 0x4bbe06
push str.GL_ONE
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bbcd9
push str.GL_ZERO
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbbf6
mov dword [esp + 0x14], edi
jmp 0x4bbce1
push str.GL_DST_COLOR
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbc15
mov dword [esp + 0x14], 3
jmp 0x4bbce1
push str.GL_ONE_MINUS_DST_COLOR
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbc34
mov dword [esp + 0x14], 4
jmp 0x4bbce1
push str.GL_SRC_ALPHA
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbc53
mov dword [esp + 0x14], 5
jmp 0x4bbce1
push str.GL_ONE_MINUS_SRC_ALPHA
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbc6f
mov dword [esp + 0x14], 6
jmp 0x4bbce1
push str.GL_DST_ALPHA
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbc8b
mov dword [esp + 0x14], 7
jmp 0x4bbce1
push str.GL_ONE_MINUS_DST_ALPHA
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbca7
mov dword [esp + 0x14], 8
jmp 0x4bbce1
push str.GL_SRC_ALPHA_SATURATE
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbcc3
mov dword [esp + 0x14], 9
jmp 0x4bbce1
push 0x9c5418
push esi
push str.WARNING:_unknown_blend_mode__s_in_shader__s__substituting_GL_ONE_n
push 3
call dword [0x160cc60]
add esp, 0x10
mov dword [esp + 0x14], 2
push 0
push ebx
call fcn.00474120
mov esi, eax
add esp, 8
cmp byte [esi], 0
jne 0x4bbd0d
push 0x9c5418
push str.WARNING:_missing_parm_for_blendFunc_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push str.GL_ONE
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bbe06
push str.GL_ZERO
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbd42
mov dword [esp + 0x1c], 0x10
jmp 0x4bbe0e
push str.GL_SRC_ALPHA
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbd61
mov dword [esp + 0x1c], 0x50
jmp 0x4bbe0e
push str.GL_ONE_MINUS_SRC_ALPHA
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbd80
mov dword [esp + 0x1c], 0x60
jmp 0x4bbe0e
push str.GL_DST_ALPHA
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbd9c
mov dword [esp + 0x1c], 0x70
jmp 0x4bbe0e
push str.GL_ONE_MINUS_DST_ALPHA
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbdb8
mov dword [esp + 0x1c], 0x80
jmp 0x4bbe0e
push str.GL_SRC_COLOR
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbdd4
mov dword [esp + 0x1c], 0x30
jmp 0x4bbe0e
push str.GL_ONE_MINUS_SRC_COLOR
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbdf0
mov dword [esp + 0x1c], 0x40
jmp 0x4bbe0e
push 0x9c5418
push esi
push str.WARNING:_unknown_blend_mode__s_in_shader__s__substituting_GL_ONE_n
push 3
call dword [0x160cc60]
add esp, 0x10
mov dword [esp + 0x1c], 0x20
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x4bb618
mov dword [esp + 0x28], 0
jmp 0x4bb618
push str.rgbGen
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc3c5
xor edi, edi
push edi
push ebx
call fcn.00474120
mov esi, eax
add esp, 8
cmp byte [esi], 0
jne 0x4bbe6a
push 0x9c5418
push str.WARNING:_missing_parameters_for_rgbGen_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push str.wave
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbea7
lea eax, [ebp + 0x280]
push eax
push ebx
call fcn.004bb340
mov dword [ebp + 0x294], 8
mov eax, dword [0x9c55b8]
add esp, 8
or al, 2
mov dword [0x9c55b8], eax
jmp 0x4bb618
push str.colorwave
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbf6b
mov edi, dword [esp + 0x468]
xor esi, esi
push 0
push edi
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4bbeec
push eax
call fcn.005335ec
fstp dword [esp + esi*4 + 0x4c]
add esp, 4
inc esi
cmp esi, 3
jl 0x4bbec6
jmp 0x4bbf01
push 0x9c5418
push str.WARNING:_missing_vector_element_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
fld dword [esp + 0x48]
fmul dword [0x54f148]
call fcn.00532e5c
fld dword [esp + 0x4c]
fmul dword [0x54f148]
mov byte [ebp + 0x2d4], al
call fcn.00532e5c
fld dword [esp + 0x50]
fmul dword [0x54f148]
mov byte [ebp + 0x2d5], al
call fcn.00532e5c
lea ecx, [ebp + 0x280]
mov byte [ebp + 0x2d6], al
push ecx
push edi
call fcn.004bb340
mov dword [ebp + 0x294], 9
mov eax, dword [0x9c55b8]
add esp, 8
or al, 2
mov dword [0x9c55b8], eax
jmp 0x4bb611
push str.identity
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbf8c
mov dword [ebp + 0x294], 1
jmp 0x4bb618
push str.identityLighting
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbfad
mov dword [ebp + 0x294], 2
jmp 0x4bb618
push str.global
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bbfce
mov dword [ebp + 0x294], 0xe
jmp 0x4bb618
push str.entity
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bc3b6
push str.fromentity
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bc3b6
push str.oneMinusEntity
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc01b
mov dword [ebp + 0x294], 4
jmp 0x4bb618
push str.vertex
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bc391
push str.fromclient
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bc391
push str.exactVertex
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc068
mov dword [ebp + 0x294], 5
jmp 0x4bb618
push str.lightingGrid
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc089
mov dword [ebp + 0x294], 0xa
jmp 0x4bb618
push str.lightingSpherical
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc0aa
mov dword [ebp + 0x294], 0xb
jmp 0x4bb618
push str.oneMinusVertex
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc0cb
mov dword [ebp + 0x294], 7
jmp 0x4bb618
push str.const
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bc2ff
push str.constant
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bc2ff
push str.static
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc118
mov dword [ebp + 0x294], 0xf
jmp 0x4bc39b
push str.sCoord
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bc205
push str.tCoord
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bc205
push 0x57d578
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc1c2
mov dword [0x9c54d8], 1
mov dword [ebp + 0x294], 0x12
push edi
push ebx
mov dword [ebp + 0x2c0], edi
mov dword [ebp + 0x2c4], 0x3f800000
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4bb618
push eax
call fcn.005335ec
push edi
fstp dword [ebp + 0x2c0]
push ebx
call fcn.00474120
mov cl, byte [eax]
add esp, 0xc
test cl, cl
je 0x4bb618
push eax
call fcn.005335ec
fstp dword [ebp + 0x2c4]
add esp, 4
jmp 0x4bb618
push str.oneminusdot
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc1ea
mov dword [0x9c54d8], 1
mov dword [ebp + 0x294], 0x13
jmp 0x4bc16a
push 0x9c5418
push esi
push str.WARNING:_unknown_rgbGen_parameter__s_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0x10
jmp 0x4bb618
push str.sCoord
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc223
mov dword [ebp + 0x294], 0x10
jmp 0x4bc22d
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.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4bb618
push eax
call fcn.005335ec
fstp dword [ebp + 0x2c0]
push edi
push ebx
call fcn.00474120
mov cl, byte [eax]
add esp, 0xc
test cl, cl
je 0x4bb618
push eax
call fcn.005335ec
fstp dword [ebp + 0x2c4]
push edi
push ebx
call fcn.00474120
mov cl, byte [eax]
add esp, 0xc
test cl, cl
je 0x4bb618
push eax
call fcn.005335ec
fmul qword [0x54f600]
call fcn.00532e5c
push edi
push ebx
mov byte [ebp + 0x2d9], al
call fcn.00474120
mov cl, byte [eax]
add esp, 0xc
test cl, cl
je 0x4bc2e5
push eax
call fcn.005335ec
fmul qword [0x54f600]
add esp, 4
call fcn.00532e5c
mov byte [ebp + 0x2d8], al
jmp 0x4bb618
push 0x9c5418
push str.WARNING:_missing_rgbGen_sCoord_or_tCoord_parm_max_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
mov edi, dword [esp + 0x468]
xor esi, esi
push 0
push edi
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4bc32e
push eax
call fcn.005335ec
fstp dword [esp + esi*4 + 0x58]
add esp, 4
inc esi
cmp esi, 3
jl 0x4bc308
jmp 0x4bc343
push 0x9c5418
push str.WARNING:_missing_vector_element_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
fld dword [esp + 0x54]
fmul dword [0x54f148]
call fcn.00532e5c
fld dword [esp + 0x58]
fmul dword [0x54f148]
mov byte [ebp + 0x2d4], al
call fcn.00532e5c
fld dword [esp + 0x5c]
fmul dword [0x54f148]
mov byte [ebp + 0x2d5], al
call fcn.00532e5c
mov byte [ebp + 0x2d6], al
mov dword [ebp + 0x294], 0xc
jmp 0x4bb611
mov dword [ebp + 0x294], 6
cmp dword [ebp + 0x2ac], edi
jne 0x4bb618
mov dword [ebp + 0x2ac], 4
jmp 0x4bb618
mov dword [ebp + 0x294], 3
jmp 0x4bb618
push str.alphaGen
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bcafa
push eax
push ebx
call fcn.00474120
mov esi, eax
add esp, 8
cmp byte [esi], 0
jne 0x4bc406
push 0x9c5418
push str.WARNING:_missing_parameters_for_alphaGen_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push str.wave
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc443
lea edx, [ebp + 0x298]
push edx
push ebx
call fcn.004bb340
mov dword [ebp + 0x2ac], 7
mov eax, dword [0x9c55b8]
add esp, 8
or al, 2
mov dword [0x9c55b8], eax
jmp 0x4bb618
push str.identity
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc460
mov dword [ebp + 0x2ac], eax
jmp 0x4bb618
push str.global
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc481
mov dword [ebp + 0x2ac], 0xd
jmp 0x4bb618
push str.entity
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bcaeb
push str.fromentity
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bcaeb
push str.oneMinusEntity
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc4ce
mov dword [ebp + 0x2ac], 3
jmp 0x4bb618
push str.vertex
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bc3a7
push str.fromclient
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bc3a7
push str.oneMinusVertex
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bcadc
push str.oneMinusFromClient
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bcadc
push str.lightingSpecular
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc5e5
lea esi, [ebp + 0x2c8]
push eax
mov dword [0x9c54d8], edi
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.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4bb618
push eax
call fcn.005335ec
fmul qword [0x54f600]
add esp, 4
xor edi, edi
fstp dword [ebp + 0x2c4]
push 0
push ebx
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4bc5cb
push eax
call fcn.005335ec
fstp dword [esi]
add esp, 4
inc edi
add esi, 4
cmp edi, 3
jl 0x4bc5a1
jmp 0x4bb618
push 0x9c5418
push str.WARNING:_missing_vector_element_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push str.portal
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc639
push eax
push ebx
mov dword [ebp + 0x2ac], 8
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x4bcac8
push 0x9c5418
push str.WARNING:_missing_range_parameter_for_alphaGen_portal_in_shader__s__defaulting_to_256_n
push 3
mov dword [0x9c54c4], 0x43800000
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push str.distFade
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bca1a
push str.oneMinusDistFade
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bca1a
push str.tikiDistFade
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bca1a
push str.oneMinusTikiDistFade
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bca1a
push 0x57d578
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc6b8
mov dword [0x9c54d8], edi
mov dword [ebp + 0x2ac], 0xa
jmp 0x4bc7bb
push str.heightFade
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc6f3
mov dword [0x9c54d8], edi
mov dword [ebp + 0x2ac], 0x18
mov dword [ebp + 0x2c0], 0x43800000
mov dword [ebp + 0x2c4], 0x44000000
jmp 0x4bc7cf
push str.dotView
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc746
push eax
mov dword [0x9c54d8], edi
push ebx
mov dword [ebp + 0x2ac], 0x16
mov dword [ebp + 0x2c0], eax
mov dword [ebp + 0x2c4], 0x3f800000
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4bb618
push eax
call fcn.005335ec
push 0
jmp 0x4bc195
push str.oneMinusDotView
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc799
push eax
mov dword [0x9c54d8], edi
push ebx
mov dword [ebp + 0x2ac], 0x17
mov dword [ebp + 0x2c0], eax
mov dword [ebp + 0x2c4], 0x3f800000
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4bb618
push eax
call fcn.005335ec
push 0
jmp 0x4bc195
push str.oneMinusDot
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc7f1
mov dword [0x9c54d8], edi
mov dword [ebp + 0x2ac], 0xb
mov dword [ebp + 0x2c0], 0
mov dword [ebp + 0x2c4], 0x3f800000
push 0
push ebx
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4bb618
push eax
call fcn.005335ec
push 0
jmp 0x4bc195
push str.const
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bc9a0
push str.constant
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bc9a0
push str.skyAlpha
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc83e
mov dword [ebp + 0x2ac], 0xe
jmp 0x4bb618
push str.oneMinusSkyAlpha
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc85f
mov dword [ebp + 0x2ac], 0xf
jmp 0x4bb618
push str.sCoord
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bc89e
push str.tCoord
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bc89e
push 0x9c5418
push esi
push str.WARNING:_unknown_alphaGen_parameter__s_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0x10
jmp 0x4bb618
push str.sCoord
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bc8bc
mov dword [ebp + 0x2ac], 0x10
jmp 0x4bc8c6
mov dword [ebp + 0x2ac], 0x11
push 0
push ebx
mov dword [ebp + 0x2c0], 0
mov dword [ebp + 0x2c4], 0x3f800000
mov byte [ebp + 0x2d9], 0
mov byte [ebp + 0x2d8], 0xff
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4bb618
push eax
call fcn.005335ec
fstp dword [ebp + 0x2c0]
push 0
push ebx
call fcn.00474120
mov cl, byte [eax]
add esp, 0xc
test cl, cl
je 0x4bb618
push eax
call fcn.005335ec
fstp dword [ebp + 0x2c4]
push 0
push ebx
call fcn.00474120
mov cl, byte [eax]
add esp, 0xc
test cl, cl
je 0x4bb618
push eax
call fcn.005335ec
fmul qword [0x54f600]
call fcn.00532e5c
push 0
push ebx
mov byte [ebp + 0x2d9], al
call fcn.00474120
mov cl, byte [eax]
add esp, 0xc
test cl, cl
je 0x4bc986
push eax
call fcn.005335ec
fmul qword [0x54f600]
add esp, 4
call fcn.00532e5c
mov byte [ebp + 0x2d8], al
jmp 0x4bb618
push 0x9c5418
push str.WARNING:_missing_alphaGen_s_or_tCoord_parm_max_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push 0
push ebx
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4bca00
push eax
call fcn.005335ec
fmul dword [0x54f148]
add esp, 4
call fcn.00532e5c
test eax, eax
jl 0x4bc9e5
cmp eax, 0xff
jg 0x4bc9e5
mov dword [ebp + 0x2ac], 0xc
mov byte [ebp + 0x2d7], al
jmp 0x4bb618
push 0x9c5418
push eax
push str.WARNING:_alphaGen_constant__d_out_of__0..1__range_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0x10
jmp 0x4bb618
push 0x9c5418
push str.WARNING:_no_alphaGen_constant_specified_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push str.distFade
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bca38
mov dword [ebp + 0x2ac], 0x12
jmp 0x4bca7e
push str.oneMinusDistFade
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bca56
mov dword [ebp + 0x2ac], 0x13
jmp 0x4bca7e
push str.tikiDistFade
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bca74
mov dword [ebp + 0x2ac], 0x14
jmp 0x4bca7e
mov dword [ebp + 0x2ac], 0x15
push 0
push ebx
mov dword [0x9c54c4], 0x43800000
mov dword [0x9c54c8], 0x43800000
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4bb618
push eax
call fcn.005335ec
fstp dword [0x9c54c8]
push 0
push ebx
call fcn.00474120
mov cl, byte [eax]
add esp, 0xc
test cl, cl
je 0x4bb618
push eax
call fcn.005335ec
fstp dword [0x9c54c4]
add esp, 4
jmp 0x4bb618
mov dword [ebp + 0x2ac], 5
jmp 0x4bb618
mov dword [ebp + 0x2ac], 2
jmp 0x4bb618
push str.texgen
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bd9ec
push str.tcGen
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bd9ec
push str.tcMod
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bd7ab
mov al, byte [0x58b6e4]
mov ecx, 0xff
mov byte [esp + 0x60], al
xor eax, eax
lea edi, [esp + 0x61]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0
push ebx
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4bcbaa
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x60]
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 + 0x60]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ax, word [0x55ce14]
mov word [edi - 1], ax
jmp 0x4bcb55
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x60]
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 0x4bcbe8
push 0x9c5418
push str.ERROR:_too_many_tcMod_stages_in_shader__s_n
push 1
call dword [0x160cc64]
add esp, 0xc
jmp 0x4bb618
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.00474120
mov edi, eax
push str.turb
push edi
call fcn.00474600
add esp, 0x10
test eax, eax
jne 0x4bcd21
lea edx, [esp + 0x10]
push eax
push edx
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x4bcc56
push 0x9c5418
push str.WARNING:_missing_tcMod_turb_parms_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push eax
call fcn.005335ec
fstp dword [esi + 8]
lea eax, [esp + 0x14]
push 0
push eax
call fcn.00474120
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4bcc8e
push 0x9c5418
push str.WARNING:_missing_tcMod_turb_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push eax
call fcn.005335ec
fstp dword [esi + 0xc]
lea ecx, [esp + 0x14]
push 0
push ecx
call fcn.00474120
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4bccc6
push 0x9c5418
push str.WARNING:_missing_tcMod_turb_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push eax
call fcn.005335ec
fstp dword [esi + 0x10]
lea edx, [esp + 0x14]
push 0
push edx
call fcn.00474120
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4bccfe
push 0x9c5418
push str.WARNING:_missing_tcMod_turb_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push eax
call fcn.005335ec
fstp dword [esi + 0x14]
mov dword [esi], 2
mov eax, dword [0x9c55b8]
add esp, 4
or al, 2
mov dword [0x9c55b8], eax
jmp 0x4bb618
push str.scale
push edi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bcdb0
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x4bcd61
push 0x9c5418
push str.WARNING:_missing_scale_parms_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push eax
call fcn.005335ec
fstp dword [esi + 0x30]
lea ecx, [esp + 0x14]
push 0
push ecx
call fcn.00474120
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4bcd99
push 0x9c5418
push str.WARNING:_missing_scale_parms_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push eax
call fcn.005335ec
fstp dword [esi + 0x34]
add esp, 4
mov dword [esi], 4
jmp 0x4bb618
push str.scroll
push edi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bcfde
lea edx, [esp + 0x10]
push eax
push edx
call fcn.00474120
mov edi, eax
add esp, 8
cmp byte [edi], 0
jne 0x4bcdf5
push 0x9c5418
push str.WARNING:_missing_scale_scroll_parms_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push str.fromEntity
push edi
call fcn.00535800
add esp, 8
test eax, eax
jne 0x4bce10
mov dword [esi + 0x40], 0x4996b438
jmp 0x4bce1c
push edi
call fcn.005335ec
fstp dword [esi + 0x40]
add esp, 4
lea eax, [esp + 0x10]
push 0
push eax
call fcn.00474120
mov edi, eax
add esp, 8
cmp byte [edi], 0
jne 0x4bce4c
push 0x9c5418
push str.WARNING:_missing_scale_scroll_parms_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push str.fromEntity
push edi
call fcn.00535800
add esp, 8
test eax, eax
jne 0x4bce67
mov dword [esi + 0x44], 0x4996b438
jmp 0x4bce73
push edi
call fcn.005335ec
fstp dword [esi + 0x44]
add esp, 4
lea ecx, [esp + 0x10]
push 0
push ecx
call fcn.00474120
mov edi, eax
add esp, 8
cmp byte [edi], 0
je 0x4bcf1d
push edi
call fcn.005335ec
fcomp qword [0x54ee98]
add esp, 4
push edi
fnstsw ax
test ah, 5
jp 0x4bced4
call fcn.005335ec
fmul qword [0x54ed50]
add esp, 4
call fcn.00532e5c
mov edi, eax
call fcn.00534ea1
cdq
idiv edi
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x54e438]
fsubr dword [esi + 0x40]
jmp 0x4bcf1a
call fcn.005335ec
fcomp qword [0x54ee98]
add esp, 4
fnstsw ax
and eax, 0x4100
jne 0x4bcf1d
push edi
call fcn.005335ec
fmul qword [0x54ed50]
add esp, 4
call fcn.00532e5c
mov edi, eax
call fcn.00534ea1
cdq
idiv edi
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x54e438]
fadd dword [esi + 0x40]
fstp dword [esi + 0x40]
lea edx, [esp + 0x10]
push 0
push edx
call fcn.00474120
mov edi, eax
add esp, 8
cmp byte [edi], 0
je 0x4bcfc7
push edi
call fcn.005335ec
fcomp qword [0x54ee98]
add esp, 4
push edi
fnstsw ax
test ah, 5
jp 0x4bcf7e
call fcn.005335ec
fmul qword [0x54ed50]
add esp, 4
call fcn.00532e5c
mov edi, eax
call fcn.00534ea1
cdq
idiv edi
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x54e438]
fsubr dword [esi + 0x44]
jmp 0x4bcfc4
call fcn.005335ec
fcomp qword [0x54ee98]
add esp, 4
fnstsw ax
and eax, 0x4100
jne 0x4bcfc7
push edi
call fcn.005335ec
fmul qword [0x54ed50]
add esp, 4
call fcn.00532e5c
mov edi, eax
call fcn.00534ea1
cdq
idiv edi
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x54e438]
fadd dword [esi + 0x44]
fstp dword [esi + 0x44]
mov dword [esi], 3
mov eax, dword [0x9c55b8]
or al, 2
mov dword [0x9c55b8], eax
jmp 0x4bb618
push str.stretch
push edi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bd018
lea eax, [esi + 4]
lea ecx, [esp + 0x10]
push eax
push ecx
call fcn.004bb340
mov dword [esi], 5
mov eax, dword [0x9c55b8]
add esp, 8
or al, 2
mov dword [0x9c55b8], eax
jmp 0x4bb618
push str.wavetrans
push edi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bd052
lea edx, [esi + 4]
lea eax, [esp + 0x10]
push edx
push eax
call fcn.004bb340
mov dword [esi], 0xc
mov eax, dword [0x9c55b8]
add esp, 8
or al, 2
mov dword [0x9c55b8], eax
jmp 0x4bb618
push str.wavetrant
push edi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bd08c
lea ecx, [esi + 4]
lea edx, [esp + 0x10]
push ecx
push edx
call fcn.004bb340
mov dword [esi], 0xd
mov eax, dword [0x9c55b8]
add esp, 8
or al, 2
mov dword [0x9c55b8], eax
jmp 0x4bb618
push str.bulge
push edi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bd19b
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x4bd0d0
push 0x9c5418
push str.WARNING:_missing_tcMod_bulge_parms_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push eax
call fcn.005335ec
fstp dword [esi + 8]
lea ecx, [esp + 0x14]
push 0
push ecx
call fcn.00474120
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4bd108
push 0x9c5418
push str.WARNING:_missing_tcMod_bulge_parms_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push eax
call fcn.005335ec
fstp dword [esi + 0xc]
lea edx, [esp + 0x14]
push 0
push edx
call fcn.00474120
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4bd140
push 0x9c5418
push str.WARNING:_missing_tcMod_bulge_parms_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push eax
call fcn.005335ec
fstp dword [esi + 0x14]
lea eax, [esp + 0x14]
push 0
push eax
call fcn.00474120
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4bd178
push 0x9c5418
push str.WARNING:_missing_tcMod_bulge_parms_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push eax
call fcn.005335ec
fstp dword [esi + 0x10]
mov dword [esi], 0xe
mov eax, dword [0x9c55b8]
add esp, 4
or al, 2
mov dword [0x9c55b8], eax
jmp 0x4bb618
push str.transform
push edi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bd30e
lea ecx, [esp + 0x10]
push eax
push ecx
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x4bd1df
push 0x9c5418
push str.WARNING:_missing_transform_parms_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push eax
call fcn.005335ec
fstp dword [esi + 0x18]
lea edx, [esp + 0x14]
push 0
push edx
call fcn.00474120
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4bd217
push 0x9c5418
push str.WARNING:_missing_transform_parms_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push eax
call fcn.005335ec
fstp dword [esi + 0x1c]
lea eax, [esp + 0x14]
push 0
push eax
call fcn.00474120
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4bd24f
push 0x9c5418
push str.WARNING:_missing_transform_parms_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push eax
call fcn.005335ec
fstp dword [esi + 0x20]
lea ecx, [esp + 0x14]
push 0
push ecx
call fcn.00474120
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4bd287
push 0x9c5418
push str.WARNING:_missing_transform_parms_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push eax
call fcn.005335ec
fstp dword [esi + 0x24]
lea edx, [esp + 0x14]
push 0
push edx
call fcn.00474120
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4bd2bf
push 0x9c5418
push str.WARNING:_missing_transform_parms_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push eax
call fcn.005335ec
fstp dword [esi + 0x28]
lea eax, [esp + 0x14]
push 0
push eax
call fcn.00474120
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4bd2f7
push 0x9c5418
push str.WARNING:_missing_transform_parms_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push eax
call fcn.005335ec
fstp dword [esi + 0x2c]
add esp, 4
mov dword [esi], 1
jmp 0x4bb618
push str.rotate
push edi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bd401
lea ecx, [esp + 0x10]
push eax
push ecx
call fcn.00474120
mov edi, eax
add esp, 8
cmp byte [edi], 0
jne 0x4bd353
push 0x9c5418
push str.WARNING:_missing_tcMod_rotate_parms_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push str.fromEntity
push edi
call fcn.00535800
add esp, 8
test eax, eax
jne 0x4bd36e
mov dword [esi + 0x48], 0x4996b438
jmp 0x4bd37a
push edi
call fcn.005335ec
fstp dword [esi + 0x48]
add esp, 4
lea edx, [esp + 0x10]
push 0
push edx
call fcn.00474120
mov edi, eax
add esp, 8
cmp byte [edi], 0
jne 0x4bd399
mov dword [esi + 0x4c], 0
jmp 0x4bd3c0
push str.fromEntity
push edi
call fcn.00535800
add esp, 8
test eax, eax
jne 0x4bd3b4
mov dword [esi + 0x4c], 0x4996b438
jmp 0x4bd3c0
push edi
call fcn.005335ec
fstp dword [esi + 0x4c]
add esp, 4
lea eax, [esp + 0x10]
push 0
push eax
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x4bd3de
mov dword [esi + 0x50], 0x3f800000
jmp 0x4bd3ea
push eax
call fcn.005335ec
fstp dword [esi + 0x50]
add esp, 4
mov dword [esi], 6
mov eax, dword [0x9c55b8]
or al, 2
mov dword [0x9c55b8], eax
jmp 0x4bb618
push str.offset
push edi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bd63b
lea ecx, [esp + 0x10]
push eax
push ecx
call fcn.00474120
mov edi, eax
add esp, 8
cmp byte [edi], 0
jne 0x4bd446
push 0x9c5418
push str.WARNING:_missing_offset_parms_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push str.fromEntity
push edi
call fcn.00535800
add esp, 8
test eax, eax
jne 0x4bd461
mov dword [esi + 0x40], 0x4996b438
jmp 0x4bd46d
push edi
call fcn.005335ec
fstp dword [esi + 0x40]
add esp, 4
lea edx, [esp + 0x10]
push 0
push edx
call fcn.00474120
mov edi, eax
add esp, 8
cmp byte [edi], 0
jne 0x4bd49d
push 0x9c5418
push str.WARNING:_missing_offset_parms_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push str.fromEntity
push edi
call fcn.00535800
add esp, 8
test eax, eax
jne 0x4bd4b8
mov dword [esi + 0x44], 0x4996b438
jmp 0x4bd4c4
push edi
call fcn.005335ec
fstp dword [esi + 0x44]
add esp, 4
lea eax, [esp + 0x10]
push 0
push eax
call fcn.00474120
mov edi, eax
add esp, 8
cmp byte [edi], 0
je 0x4bd57a
push edi
call fcn.005335ec
fcomp qword [0x54ee98]
add esp, 4
push edi
fnstsw ax
test ah, 5
jp 0x4bd52b
call fcn.005335ec
fmul qword [0x54ed50]
add esp, 4
fadd qword [0x54e488]
call fcn.00532e5c
mov edi, eax
call fcn.00534ea1
cdq
idiv edi
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x54e438]
fsubr dword [esi + 0x40]
jmp 0x4bd577
call fcn.005335ec
fcomp qword [0x54ee98]
add esp, 4
fnstsw ax
and eax, 0x4100
jne 0x4bd57a
push edi
call fcn.005335ec
fmul qword [0x54ed50]
add esp, 4
fadd qword [0x54e488]
call fcn.00532e5c
mov edi, eax
call fcn.00534ea1
cdq
idiv edi
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x54e438]
fadd dword [esi + 0x40]
fstp dword [esi + 0x40]
lea ecx, [esp + 0x10]
push 0
push ecx
call fcn.00474120
mov edi, eax
add esp, 8
cmp byte [edi], 0
je 0x4bd630
push edi
call fcn.005335ec
fcomp qword [0x54ee98]
add esp, 4
push edi
fnstsw ax
test ah, 5
jp 0x4bd5e7
call fcn.005335ec
fmul qword [0x54ed50]
add esp, 4
call fcn.00532e5c
mov edi, eax
call fcn.00534ea1
cdq
idiv edi
mov dword [esi], 9
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x54e438]
fsubr dword [esi + 0x44]
fstp dword [esi + 0x44]
jmp 0x4bb618
call fcn.005335ec
fcomp qword [0x54ee98]
add esp, 4
fnstsw ax
and eax, 0x4100
jne 0x4bd630
push edi
call fcn.005335ec
fmul qword [0x54ed50]
add esp, 4
call fcn.00532e5c
mov edi, eax
call fcn.00534ea1
cdq
idiv edi
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x54e438]
fadd dword [esi + 0x44]
fstp dword [esi + 0x44]
mov dword [esi], 9
jmp 0x4bb618
push str.entityTranslate
push edi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bd658
mov dword [esi], 7
jmp 0x4bb618
push str.parallax
push edi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bd6e7
lea edx, [esp + 0x10]
push eax
push edx
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x4bd698
push 0x9c5418
push str.WARNING:_missing_rate_parms_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push eax
call fcn.005335ec
fstp dword [esi + 0x38]
lea eax, [esp + 0x14]
push 0
push eax
call fcn.00474120
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4bd6d0
push 0x9c5418
push str.WARNING:_missing_rate_parms_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push eax
call fcn.005335ec
fstp dword [esi + 0x3c]
add esp, 4
mov dword [esi], 0xa
jmp 0x4bb618
push str.macro
push edi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bd790
lea ecx, [esp + 0x10]
push eax
push ecx
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x4bd72b
push 0x9c5418
push str.WARNING:_missing_scale_parms_in_shader__s_for_macro_definition_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push eax
call fcn.005335ec
fdivr qword [0x54e488]
lea edx, [esp + 0x14]
push 0
push edx
fstp dword [esi + 0x30]
call fcn.00474120
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x4bd769
push 0x9c5418
push str.WARNING:_missing_scale_parms_in_shader__s_for_macro_definition_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push eax
call fcn.005335ec
fdivr qword [0x54e488]
mov dword [esi], 0xb
add esp, 4
fstp dword [esi + 0x34]
mov dword [0x9c54d8], 1
jmp 0x4bb618
push 0x9c5418
push edi
push str.WARNING:_unknown_tcMod__s_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0x10
jmp 0x4bb618
push str.depthwrite
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bd9db
push str.depthmask
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bd9db
push str.nodepthwrite
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bd9ca
push str.nodepthmask
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bd9ca
push str.nocolorwrite
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bd9bd
push str.nocolormask
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bd9bd
push str.noDepthTest
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bd84e
mov dword [esp + 0x40], 0x800
jmp 0x4bb618
push str.nextBundle
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bd8db
mov eax, dword [0x16e0c54]
test eax, eax
je 0x4bddef
push 0
push ebx
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4bd89c
push 0x5684d8
push eax
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bd89c
mov dword [ebp + 0x27c], 0x104
jmp 0x4bd8a6
mov dword [ebp + 0x27c], 0x2100
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
inc eax
cmp eax, 2
jle 0x4bb618
push 0x9c5418
push str.WARNING:_too_many_nextBundle_commands_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x450
ret
push str.ifCvar
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bd903
push str.ifCvarNot
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bde0c
mov cl, byte [esi + 6]
xor eax, eax
test cl, cl
setne al
mov esi, eax
push 0
push ebx
mov dword [esp + 0x18], esi
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4bde2f
push 0
push 0x55cd40
push eax
call dword [0x160cc8c]
mov ecx, dword [esp + 0x474]
push 0
push ecx
mov ebx, eax
call fcn.00474120
mov esi, eax
add esp, 0x14
cmp byte [esi], 0
je 0x4bde5b
fld dword [ebx + 0x1c]
push esi
mov edi, 1
fstp qword [esp + 0x24]
call fcn.005335ec
fcomp qword [esp + 0x24]
add esp, 4
fnstsw ax
test ah, 0x44
jp 0x4bd9a6
fld dword [ebx + 0x1c]
fcomp dword [0x54e4d0]
fnstsw ax
test ah, 0x44
jp 0x4bd9a8
mov al, byte [esi]
cmp al, 0x30
je 0x4bd9a8
cmp al, 0x2e
jne 0x4bd995
cmp byte [esi + 1], 0x30
je 0x4bd9a8
mov edx, dword [ebx + 4]
push esi
push edx
call fcn.00535800
add esp, 8
test eax, eax
je 0x4bd9a8
xor edi, edi
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
xor edi, ecx
and eax, edi
mov dword [esp + 0x30], eax
jmp 0x4bb611
mov dword [esp + 0x44], 0x200
jmp 0x4bb618
mov dword [esp + 0x28], 0
mov dword [esp + 0x34], edi
jmp 0x4bb618
mov dword [esp + 0x28], pe_nt_image_headers32
mov dword [esp + 0x34], edi
jmp 0x4bb618
push 0
push ebx
call fcn.00474120
mov esi, eax
add esp, 8
cmp byte [esi], 0
jne 0x4bda18
push 0x9c5418
push str.WARNING:_missing_texgen_parm_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
push str.environment
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bda4c
mov eax, dword [esp + 0x18]
mov dword [0x9c54d8], edi
lea ecx, [eax + eax*4]
shl ecx, 4
sub ecx, eax
mov dword [ebp + ecx*4 + 0x110], 4
jmp 0x4bb618
push str.environmentmodel
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bda80
mov eax, dword [esp + 0x18]
mov dword [0x9c54d8], edi
lea edx, [eax + eax*4]
shl edx, 4
sub edx, eax
mov dword [ebp + edx*4 + 0x110], 6
jmp 0x4bb618
push str.sunreflection
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bdab4
mov eax, dword [esp + 0x18]
mov dword [0x9c54d8], edi
lea ecx, [eax + eax*4]
shl ecx, 4
sub ecx, eax
mov dword [ebp + ecx*4 + 0x110], 7
jmp 0x4bb618
push str.lightmap
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bdae2
mov eax, dword [esp + 0x18]
lea edx, [eax + eax*4]
shl edx, 4
sub edx, eax
mov dword [ebp + edx*4 + 0x110], 2
jmp 0x4bb618
push str.texture
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bdbe2
push str.base
push esi
call fcn.00474600
add esp, 8
test eax, eax
je 0x4bdbe2
push str.vector
push esi
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bdbc8
xor esi, esi
lea edi, [ebp + 0x114]
push 0
push ebx
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4bdb53
push eax
call fcn.005335ec
fstp dword [edi]
add esp, 4
inc esi
add edi, 4
cmp esi, 3
jl 0x4bdb2c
jmp 0x4bdb68
push 0x9c5418
push str.WARNING:_missing_vector_element_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
xor esi, esi
lea edi, [ebp + 0x120]
push 0
push ebx
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4bdb97
push eax
call fcn.005335ec
fstp dword [edi]
add esp, 4
inc esi
add edi, 4
cmp esi, 3
jl 0x4bdb70
jmp 0x4bdbac
push 0x9c5418
push str.WARNING:_missing_vector_element_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
mov eax, dword [esp + 0x18]
lea ecx, [eax + eax*4]
shl ecx, 4
sub ecx, eax
mov dword [ebp + ecx*4 + 0x110], 5
jmp 0x4bb618
push 0x9c5418
push str.WARNING:_unknown_texgen_parm_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bb618
mov eax, dword [esp + 0x18]
lea edx, [eax + eax*4]
shl edx, 4
sub edx, eax
mov dword [ebp + edx*4 + 0x110], 3
jmp 0x4bb618
mov ecx, dword [0x9c55b8]
push str.animMapOnce
or ecx, 3
push esi
mov dword [0x9c55b8], ecx
call fcn.00474600
add esp, 8
test eax, eax
jne 0x4bdc39
mov eax, dword [esp + 0x18]
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.00474600
mov esi, eax
push 0
neg esi
sbb esi, esi
push ebx
inc esi
call fcn.00474120
mov cl, byte [eax]
add esp, 0x10
test cl, cl
je 0x4bde8b
mov ecx, dword [esp + 0x18]
push eax
lea edx, [ecx + ecx*4]
shl edx, 4
sub edx, ecx
lea ebx, [ebp + edx*4]
call fcn.005335ec
fstp dword [ebx + 0x108]
add esp, 4
mov dword [ebx + 0x10c], 0
test esi, esi
je 0x4bdcb8
mov eax, dword [esp + 0x468]
push 0
push eax
call fcn.00474120
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4bdead
push eax
call fcn.005335ec
fstp dword [ebx + 0x10c]
add esp, 4
mov ecx, dword [esp + 0x468]
push 0
push ecx
call fcn.00474120
mov edi, eax
add esp, 8
cmp byte [edi], 0
je 0x4bb611
mov esi, dword [ebx + 0x104]
cmp esi, 0x40
jge 0x4bdd43
mov eax, dword [ebp + 0x2b8]
mov edx, dword [ebp + 0x2bc]
neg eax
push 0x2901
push 0x2901
sbb eax, eax
push edx
mov edx, dword [esp + 0x478]
xor ecx, ecx
not eax
and eax, edx
push eax
mov eax, dword [ebp + 0x2b4]
test eax, eax
sete cl
push ecx
push edi
call fcn.0049c510
mov ecx, dword [esp + 0x30]
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 0x4bdecf
inc dword [ebx + 0x104]
jmp 0x4bdcb8
push 0x9c5418
push str.WARNING:_mapanim___too_many_animated_textures_specified_for_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
jmp 0x4bdcb8
push str.WARNING:_no_matching__found_n
push 3
call dword [0x160cc60]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x450
ret
push 0x9c5418
push str.WARNING:_missing_parameter_for_map_keyword_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x450
ret
push 0x9c5418
push str.WARNING:_missing_parameter_for_clampmap_keyword_in_shader__s_n
jmp 0x4bb77f
push 0x9c5418
push str.WARNING:_missing_parameter_for_alphaFunc_keyword_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x450
ret
push 0x9c5418
push str.WARNING:_missing_parameter_for_depthfunc_keyword_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x450
ret
push str.WARNING:_Medal_of_Honor_requires_a_video_card_with_multitexturing_capability_n
push 0
call dword [0x160cc64]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x450
ret
push 0x9c5418
push esi
push str.WARNING:_unknown_parameter__s_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x450
ret
test esi, esi
mov eax, str.ifCvar
jne 0x4bde3d
mov eax, str.ifCvarNot
push eax
push str.WARNING:_missing_cvar_name_in__s
push 3
call dword [0x160cc60]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x450
ret
mov eax, dword [esp + 0x10]
test eax, eax
mov eax, str.ifCvar
jne 0x4bde6d
mov eax, str.ifCvarNot
push eax
push str.WARNING:_missing_cvar_value_in__s
push 3
call dword [0x160cc60]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x450
ret
push 0x9c5418
push str.WARNING:_missing_parameter_for_animMap_keyword_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x450
ret
push 0x9c5418
push str.WARNING:_missing_phase_for_animMapPhase_keyword_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x450
ret
push 0x9c5418
push edi
push str.WARNING:_R_FindImageFile_could_not_find__s_in_shader__s_n
push 3
call dword [0x160cc60]
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x450
ret
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x4bdf18
mov eax, edi
pop edi
mov dword [ebp], 0
mov dword [ebp + 0x294], 0
pop esi
pop ebp
pop ebx
add esp, 0x450
ret
mov eax, dword [ebp + 0x294]
test eax, eax
jne 0x4bdf5e
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4bdf52
mov eax, dword [ebp + 0x134]
test eax, eax
jne 0x4bdf52
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x4bdf46
cmp ecx, 2
je 0x4bdf46
cmp ecx, 5
jne 0x4bdf56
mov dword [ebp + 0x294], 2
jmp 0x4bdf62
mov ecx, dword [esp + 0x14]
mov dword [ebp + 0x294], edi
jmp 0x4bdf62
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
cmp ecx, 2
jne 0x4bdf7b
cmp esi, 0x10
jne 0x4bdf7b
xor ecx, ecx
xor esi, esi
mov edx, pe_nt_image_headers32
jmp 0x4bdf7f
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x40]
cmp edi, 0x800
jne 0x4bdf8d
xor edx, edx
mov eax, dword [ebp + 0x2ac]
test eax, eax
jne 0x4bdfb6
mov eax, dword [ebp + 0x294]
cmp eax, 1
je 0x4bdfac
cmp eax, 0xa
je 0x4bdfac
cmp eax, 0xb
jne 0x4bdfb6
mov dword [ebp + 0x2ac], 1
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x44]
or eax, edi
pop edi
or eax, ebx
mov ebx, dword [esp + 0x34]
or eax, edx
mov edx, dword [esp + 0x28]
or eax, edx
or eax, ebx
or eax, esi
pop esi
or eax, ecx
mov dword [ebp + 0x2b0], eax
pop ebp
mov eax, 1
pop ebx
add esp, 0x450
ret