Function at 0x45ea30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x48c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ebx, 1
mov dword [esp + 0x1c], 0
push ebx
push edi
call fcn.00429210
mov cl, byte [eax]
add esp, 8
cmp cl, 0x7b
je 0x45ea87
push 0xa47b40
push eax
push str.WARNING:_expecting___found__s_instead_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
mov ebx, 1
push ebx
push edi
call fcn.00429210
mov esi, eax
add esp, 8
mov al, byte [esi]
test al, al
je 0x460363
cmp al, 0x7d
je 0x4603a0
cmp al, 0x7b
jne 0x45f849
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], 0x100
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*8]
lea ebx, [eax*8 + 0xa47d98]
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [ebx], 1
mov edi, dword [ebp + 8]
push 1
push edi
call fcn.00429210
mov esi, eax
add esp, 8
mov al, byte [esi]
test al, al
je 0x4601fd
cmp al, 0x7d
je 0x45f7ac
push str.map16
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45eb2d
cmp dword [0x1172dc8], 0x10
jg 0x45eba9
mov esi, 0x4e85c8
jmp 0x45ec3e
push str.map32
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45eb52
cmp dword [0x1172dc8], 0x10
jle 0x45eba9
mov esi, 0x4e85c8
jmp 0x45ec3e
push str.mapcomp
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45eb84
mov eax, dword [0x1172de0]
test eax, eax
je 0x45eba9
mov edx, dword [0x1172e40]
mov eax, dword [edx + 0x20]
test eax, eax
je 0x45eba9
mov esi, 0x4e85c8
jmp 0x45ec3e
push str.mapnocomp
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45ebb9
mov eax, dword [0x1172de0]
test eax, eax
jne 0x45eba9
mov esi, 0x4e85c8
jmp 0x45ec3e
push 0
push edi
call fcn.00429210
add esp, 8
jmp 0x45eae5
push str.animmapcomp
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45ebff
mov eax, dword [0x1172de0]
test eax, eax
je 0x45ebe0
mov eax, dword [0x1172e40]
mov ecx, dword [eax + 0x20]
test ecx, ecx
jne 0x45ec39
cmp byte [esi], 0
je 0x45eae5
push 0
push edi
call fcn.00429210
mov al, byte [esi]
add esp, 8
test al, al
jne 0x45ebe9
jmp 0x45eae5
push str.animmapnocomp
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45ec3e
mov eax, dword [0x1172de0]
test eax, eax
je 0x45ec39
cmp byte [esi], 0
je 0x45eae5
push 0
push edi
call fcn.00429210
mov al, byte [esi]
add esp, 8
test al, al
jne 0x45ec23
jmp 0x45eae5
mov esi, str.animmap
push 0x4e85c8
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45ed43
push eax
push edi
call fcn.00429210
mov esi, eax
add esp, 8
cmp byte [esi], 0
je 0x460216
push str._whiteimage
push esi
call fcn.004297a0
add esp, 8
test eax, eax
je 0x45ed35
push str.white
push esi
call fcn.004297a0
add esp, 8
test eax, eax
je 0x45ed35
push str._dlight
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45ecb5
mov ecx, dword [0x11622b0]
mov dword [ebx + 4], ecx
jmp 0x45eae5
push str._lightmap
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45ecf4
mov eax, dword [0xa47b80]
mov dword [ebx + 0x74], 1
test eax, eax
jge 0x45ece5
mov edx, dword [0x11622b8]
mov dword [ebx + 4], edx
jmp 0x45eae5
mov eax, dword [eax*4 + 0x11622f8]
mov dword [ebx + 4], eax
jmp 0x45eae5
mov ecx, dword [0xa47c04]
push 0x2901
push ecx
mov ecx, dword [0xa47c00]
xor edx, edx
test ecx, ecx
sete dl
push edx
mov edx, dword [0xa47bfc]
xor eax, eax
test edx, edx
sete al
push eax
push esi
call fcn.00456ed0
add esp, 0x14
mov dword [ebx + 4], eax
test eax, eax
je 0x460234
jmp 0x45eae5
mov ecx, dword [0x11622b8]
mov dword [ebx + 4], ecx
jmp 0x45eae5
push str.clampmap
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45edaa
push eax
push edi
call fcn.00429210
mov esi, eax
add esp, 8
cmp byte [esi], 0
je 0x460253
mov edx, dword [0xa47c04]
push 0x2900
push edx
mov edx, dword [0xa47c00]
xor eax, eax
test edx, edx
sete al
push eax
mov eax, dword [0xa47bfc]
xor ecx, ecx
test eax, eax
sete cl
push ecx
push esi
call fcn.00456ed0
add esp, 0x14
mov dword [ebx + 4], eax
test eax, eax
je 0x460234
jmp 0x45eae5
push str.animMap
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45ee40
push eax
push edi
call fcn.00429210
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x460271
push eax
call fcn.004c37cb
fstp dword [ebx + 0x48]
add esp, 4
mov edx, dword [ebp + 8]
push 0
push edx
call fcn.00429210
mov edi, eax
add esp, 8
cmp byte [edi], 0
je 0x45eae2
mov esi, dword [ebx + 0x44]
cmp esi, 0x10
jge 0x45ede0
mov eax, dword [0xa47c04]
push 0x2901
push eax
mov eax, dword [0xa47c00]
xor ecx, ecx
test eax, eax
mov eax, dword [0xa47bfc]
sete cl
xor edx, edx
push ecx
test eax, eax
sete dl
push edx
push edi
call fcn.00456ed0
add esp, 0x14
mov dword [ebx + esi*4 + 4], eax
test eax, eax
je 0x46028f
inc dword [ebx + 0x44]
jmp 0x45ede0
push str.videoMap
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45eea2
push eax
push edi
call fcn.00429210
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4602ae
push 0x1a
push 0x100
push 0x100
push 0
push 0
push eax
call dword [0x11621dc]
add esp, 0x18
cmp eax, 0xffffffff
mov dword [ebx + 0x70], eax
je 0x45eae5
mov eax, dword [eax*4 + 0x116222c]
mov dword [ebx + 0x7c], 1
mov dword [ebx + 4], eax
jmp 0x45eae5
push str.alphaFunc
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45eeda
push eax
push edi
call fcn.00429210
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x4602cc
push eax
call fcn.004604f0
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x45eae5
push str.depthfunc
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45ef56
push eax
push edi
call fcn.00429210
mov esi, eax
add esp, 8
cmp byte [esi], 0
je 0x4602ea
push str.lequal
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45ef1c
mov dword [esp + 0x20], eax
jmp 0x45eae5
push str.equal
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45ef3b
mov dword [esp + 0x20], 0x20000
jmp 0x45eae5
push 0xa47b40
push esi
push str.WARNING:_unknown_depthfunc__s_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0x10
jmp 0x45eae5
push str.detail
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45ef77
mov dword [ebx + 0x140], 1
jmp 0x45eae5
push 0x4f2db4
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45efe3
push eax
push edi
call fcn.00429210
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x45efb3
push 0xa47b40
push str.WARNING:_missing_parm_for_fog_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0xc
jmp 0x45eae5
push 0x4f39b4
push eax
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45efd4
mov dword [ebx + 0x144], 1
jmp 0x45eae5
mov dword [ebx + 0x144], 0
jmp 0x45eae5
push str.blendfunc
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f0d8
push eax
push edi
call fcn.00429210
mov esi, eax
add esp, 8
cmp byte [esi], 0
je 0x45f098
push 0x4f39a4
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f035
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 0x20
jmp 0x45f0bf
push str.filter
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f059
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 0x10
jmp 0x45f0bf
push str.blend
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f07d
mov dword [esp + 0xc], 5
mov dword [esp + 0x10], 0x60
jmp 0x45f0bf
push esi
call fcn.00460560
push 0
push edi
mov dword [esp + 0x18], eax
call fcn.00429210
mov cl, byte [eax]
add esp, 0xc
test cl, cl
jne 0x45f0b2
push 0xa47b40
push str.WARNING:_missing_parm_for_blendFunc_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0xc
jmp 0x45eae5
push eax
call fcn.00460660
add esp, 4
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x45eae5
mov dword [esp + 0x18], 0
jmp 0x45eae5
push str.rgbGen
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f2f5
push eax
push edi
call fcn.00429210
mov esi, eax
add esp, 8
cmp byte [esi], 0
jne 0x45f119
push 0xa47b40
push str.WARNING:_missing_parameters_for_rgbGen_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0xc
jmp 0x45eae5
push str.wave
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f14a
lea ecx, [ebx + 0xfc]
push ecx
push edi
call fcn.00460750
add esp, 8
mov dword [ebx + 0x110], 8
jmp 0x45eae5
push str.const
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f1ba
lea edx, [esp + 0x40]
push edx
push 3
push edi
call fcn.004603e0
fld dword [esp + 0x4c]
fmul dword [0x4d7490]
add esp, 0xc
call fcn.004c2730
fld dword [esp + 0x44]
fmul dword [0x4d7490]
mov byte [ebx + 0x12c], al
call fcn.004c2730
fld dword [esp + 0x48]
fmul dword [0x4d7490]
mov byte [ebx + 0x12d], al
call fcn.004c2730
mov byte [ebx + 0x12e], al
mov dword [ebx + 0x110], 0xb
jmp 0x45eae5
push str.identity
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f1db
mov dword [ebx + 0x110], 2
jmp 0x45eae5
push str.identityLighting
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f1fc
mov dword [ebx + 0x110], 1
jmp 0x45eae5
push str.entity
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f21d
mov dword [ebx + 0x110], 3
jmp 0x45eae5
push str.oneMinusEntity
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f23e
mov dword [ebx + 0x110], 4
jmp 0x45eae5
push str.vertex
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f277
mov eax, dword [ebx + 0x128]
mov dword [ebx + 0x110], 6
test eax, eax
jne 0x45eae5
mov dword [ebx + 0x128], 5
jmp 0x45eae5
push str.exactVertex
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f298
mov dword [ebx + 0x110], 5
jmp 0x45eae5
push str.lightingDiffuse
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f2b9
mov dword [ebx + 0x110], 9
jmp 0x45eae5
push str.oneMinusVertex
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f2da
mov dword [ebx + 0x110], 7
jmp 0x45eae5
push 0xa47b40
push esi
push str.WARNING:_unknown_rgbGen_parameter__s_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0x10
jmp 0x45eae5
push str.alphaGen
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f58f
push eax
push edi
call fcn.00429210
mov esi, eax
add esp, 8
cmp byte [esi], 0
jne 0x45f336
push 0xa47b40
push str.WARNING:_missing_parameters_for_alphaGen_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0xc
jmp 0x45eae5
push str.wave
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f367
lea eax, [ebx + 0x114]
push eax
push edi
call fcn.00460750
add esp, 8
mov dword [ebx + 0x128], 8
jmp 0x45eae5
push str.const
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f3a9
push eax
push edi
call fcn.00429210
push eax
call fcn.004c37cb
fmul qword [0x4d78a8]
add esp, 0xc
call fcn.004c2730
mov byte [ebx + 0x12f], al
mov dword [ebx + 0x128], 0xa
jmp 0x45eae5
push str.identity
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f3c6
mov dword [ebx + 0x128], eax
jmp 0x45eae5
push str.entity
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f3e7
mov dword [ebx + 0x128], 2
jmp 0x45eae5
push str.oneMinusEntity
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f408
mov dword [ebx + 0x128], 3
jmp 0x45eae5
push str.normalzfade
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f4ad
push eax
push edi
mov dword [ebx + 0x128], 4
call fcn.00429210
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x45f454
push eax
call fcn.004c37cb
fmul qword [0x4d78a8]
add esp, 4
call fcn.004c2730
mov byte [ebx + 0x12f], al
jmp 0x45f45b
mov byte [ebx + 0x12f], 0xff
push 0
push edi
call fcn.00429210
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x45f494
push eax
call fcn.004c37cb
fstp dword [ebx + 0x138]
push 0
push edi
call fcn.00429210
push eax
call fcn.004c37cb
fstp dword [ebx + 0x13c]
add esp, 0x10
jmp 0x45eae5
mov dword [ebx + 0x138], 0xbf800000
mov dword [ebx + 0x13c], 0x3f800000
jmp 0x45eae5
push str.vertex
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f4ce
mov dword [ebx + 0x128], 5
jmp 0x45eae5
push str.lightingSpecular
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f4ef
mov dword [ebx + 0x128], 7
jmp 0x45eae5
push str.oneMinusVertex
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f510
mov dword [ebx + 0x128], 6
jmp 0x45eae5
push str.portal
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f574
push eax
push edi
mov dword [ebx + 0x128], 9
call fcn.00429210
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x45f560
push 0xa47b40
push str.WARNING:_missing_range_parameter_for_alphaGen_portal_in_shader__s__defaulting_to_256_n
push 2
mov dword [0xa47bec], 0x43800000
call dword [0x1162180]
add esp, 0xc
jmp 0x45eae5
push eax
call fcn.004c37cb
fstp dword [0xa47bec]
add esp, 4
jmp 0x45eae5
push 0xa47b40
push esi
push str.WARNING:_unknown_alphaGen_parameter__s_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0x10
jmp 0x45eae5
push str.texgen
push esi
call fcn.004297a0
add esp, 8
test eax, eax
je 0x45f6a3
push str.tcGen
push esi
call fcn.004297a0
add esp, 8
test eax, eax
je 0x45f6a3
push str.tcMod
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f678
mov cl, byte [0x5013b0]
lea edi, [esp + 0x99]
mov byte [esp + 0x98], cl
mov ecx, 0xff
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edx, dword [ebp + 8]
push 0
push edx
call fcn.00429210
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x45f662
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x98]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x98]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x4db3bc
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
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]
jmp 0x45f5ef
lea eax, [esp + 0x98]
push ebx
push eax
call fcn.004608b0
add esp, 8
jmp 0x45eae2
push str.depthwrite
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x460308
mov dword [esp + 0x18], 0x100
mov dword [esp + 0x24], 1
jmp 0x45eae5
push 0
push edi
call fcn.00429210
mov esi, eax
add esp, 8
cmp byte [esi], 0
jne 0x45f6cf
push 0xa47b40
push str.WARNING:_missing_texgen_parm_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0xc
jmp 0x45eae5
push str.environment
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f6ed
mov dword [ebx + 0x4c], 4
jmp 0x45eae5
push str.firerisenv
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f70b
mov dword [ebx + 0x4c], 5
jmp 0x45eae5
push str.lightmap
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f729
mov dword [ebx + 0x4c], 2
jmp 0x45eae5
push str.texture
push esi
call fcn.004297a0
add esp, 8
test eax, eax
je 0x45f7a0
push str.base
push esi
call fcn.004297a0
add esp, 8
test eax, eax
je 0x45f7a0
push str.vector
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f786
lea ecx, [ebx + 0x50]
push ecx
push 3
push edi
call fcn.004603e0
lea edx, [ebx + 0x5c]
push edx
push 3
push edi
call fcn.004603e0
add esp, 0x18
mov dword [ebx + 0x4c], 7
jmp 0x45eae5
push 0xa47b40
push str.WARNING:_unknown_texgen_parm_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0xc
jmp 0x45eae5
mov dword [ebx + 0x4c], 3
jmp 0x45eae5
mov eax, dword [ebx + 0x110]
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x45f7de
test ecx, ecx
je 0x45f7d4
cmp ecx, 2
je 0x45f7d4
cmp ecx, 5
je 0x45f7d4
mov dword [ebx + 0x110], 2
jmp 0x45f7de
mov dword [ebx + 0x110], 1
mov edx, dword [esp + 0x10]
cmp ecx, 2
jne 0x45f7f8
cmp edx, 0x10
jne 0x45f7f8
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x18], 0x100
cmp dword [ebx + 0x128], 2
jne 0x45f81b
mov eax, dword [ebx + 0x110]
cmp eax, 2
je 0x45f811
cmp eax, 9
jne 0x45f81b
mov dword [ebx + 0x128], 1
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
or eax, edi
or eax, edx
or eax, ecx
mov ecx, dword [esp + 0x18]
or eax, ecx
mov dword [ebx + 0x130], eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [ebx], 1
mov dword [esp + 0x1c], eax
jmp 0x45ea7f
push 3
push 0x4f36ac
push esi
call fcn.004296d0
add esp, 0xc
test eax, eax
jne 0x45f86b
push edi
call fcn.00429400
add esp, 4
jmp 0x45ea87
push str.q3map_sun
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f963
push eax
push edi
call fcn.00429210
push eax
call fcn.004c37cb
fstp dword [0x1162c84]
push 0
push edi
call fcn.00429210
push eax
call fcn.004c37cb
fstp dword [0x1162c88]
push 0
push edi
call fcn.00429210
push eax
call fcn.004c37cb
fstp dword [0x1162c8c]
push 0x1162c84
call fcn.00428370
push 0
push edi
fstp st(0)
call fcn.00429210
push eax
call fcn.004c37cb
fld dword [0x1162c84]
fmul st(1)
push 0
push edi
fstp dword [0x1162c84]
fld dword [0x1162c88]
fmul st(1)
fstp dword [0x1162c88]
fld dword [0x1162c8c]
fmul st(1)
fstp dword [0x1162c8c]
fstp st(0)
call fcn.00429210
push eax
call fcn.004c37cb
fmul dword [0x4d7918]
add esp, 0x40
push 0
push edi
fstp dword [esp + 0x1c]
call fcn.00429210
push eax
call fcn.004c37cb
fmul dword [0x4d7918]
add esp, 0xc
fld st(0)
fcos
fld dword [esp + 0x14]
fcos
fmul st(1)
fstp dword [0x1162c90]
fld dword [esp + 0x14]
fsin
fmul st(1)
fstp dword [0x1162c94]
fstp st(0)
fsin
fstp dword [0x1162c98]
jmp 0x45ea87
push str.deformVertexes
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f983
push edi
call fcn.00460eb0
add esp, 4
jmp 0x45ea87
push str.tesssize
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f9a3
push edi
call fcn.00429400
add esp, 4
jmp 0x45ea87
push str.clampTime
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45f9dd
push eax
push edi
call fcn.00429210
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x45ea87
push eax
call fcn.004c37cb
fstp dword [0xa47ce8]
add esp, 4
jmp 0x45ea87
push 5
push str.q3map
push esi
call fcn.004296d0
add esp, 0xc
test eax, eax
jne 0x45f9ff
push edi
call fcn.00429400
add esp, 4
jmp 0x45ea87
push str.surfaceParm
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45fa78
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00429210
add esp, 8
mov edi, eax
xor ebx, ebx
mov esi, 0x4f28b8
mov ecx, dword [esi]
push ecx
push edi
call fcn.004297a0
add esp, 8
test eax, eax
je 0x45fa48
add esi, 0x10
inc ebx
cmp esi, 0x4f2bc8
jl 0x45fa27
jmp 0x45ea7f
mov esi, dword [0xa47b98]
mov ecx, dword [0xa47b9c]
shl ebx, 4
mov edx, dword [ebx + 0x4f28c0]
mov eax, dword [ebx + 0x4f28c4]
or esi, edx
or ecx, eax
mov dword [0xa47b98], esi
mov dword [0xa47b9c], ecx
jmp 0x45ea7f
push str.nomipmaps
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45fa9b
mov dword [0xa47bfc], ebx
mov dword [0xa47c00], ebx
jmp 0x45ea87
push str.nopicmip
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45fab8
mov dword [0xa47c00], ebx
jmp 0x45ea87
push str.picmip2
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45fad5
mov dword [0xa47c04], ebx
jmp 0x45ea87
push str.polygonOffset
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45faf2
mov dword [0xa47bf8], ebx
jmp 0x45ea87
push str.entityMergable
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45fb0f
mov dword [0xa47ba0], ebx
jmp 0x45ea87
push str.fogParms
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45fc1a
push eax
push edi
call fcn.00429210
add esp, 8
mov esi, 0x4e73c0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x45fb58
test cl, cl
je 0x45fb54
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x45fb58
add eax, 2
add esi, 2
test cl, cl
jne 0x45fb34
xor eax, eax
jmp 0x45fb5d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x460345
mov esi, 0xa47bdc
push 0
push edi
call fcn.00429210
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x460327
push eax
call fcn.004c37cb
fstp dword [esi]
add esi, 4
add esp, 4
cmp esi, 0xa47be8
jl 0x45fb6a
push 0
push edi
call fcn.00429210
add esp, 8
mov esi, 0x4e73bc
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x45fbc9
test cl, cl
je 0x45fbc5
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x45fbc9
add eax, 2
add esi, 2
test cl, cl
jne 0x45fba5
xor eax, eax
jmp 0x45fbce
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x460345
push eax
push edi
call fcn.00429210
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x45fc00
push 0xa47b40
push str.WARNING:_missing_parm_for_fogParms_keyword_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0xc
jmp 0x45ea87
push eax
call fcn.004c37cb
fstp dword [0xa47be8]
push edi
call fcn.00429400
add esp, 8
jmp 0x45ea87
push str.portal
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45fc3b
mov dword [0xa47b8c], 0x3f800000
jmp 0x45ea87
push str.skyparms
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45fc5b
push edi
call fcn.004611d0
add esp, 4
jmp 0x45ea87
push str.skyfogvars
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45fda5
push eax
push edi
call fcn.00429210
add esp, 8
mov esi, 0x4e73c0
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x45fca8
test cl, cl
je 0x45fca4
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x45fca8
add eax, 2
add esi, 2
test cl, cl
jne 0x45fc80
xor eax, eax
jmp 0x45fcad
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x460345
xor esi, esi
lea ebx, [esp + 0x4c]
push 0
push edi
call fcn.00429210
mov cl, byte [eax]
add esp, 8
test cl, cl
je 0x460327
push eax
call fcn.004c37cb
fstp dword [ebx]
add esp, 4
inc esi
add ebx, 4
cmp esi, 3
jl 0x45fcbb
push 0
push edi
call fcn.00429210
add esp, 8
mov esi, 0x4e73bc
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x45fd1c
test cl, cl
je 0x45fd18
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x45fd1c
add eax, 2
add esi, 2
test cl, cl
jne 0x45fcf4
xor eax, eax
jmp 0x45fd21
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x460345
push eax
push edi
call fcn.00429210
mov esi, eax
add esp, 8
cmp byte [esi], 0
jne 0x45fd4f
push str.WARNING:_missing_density_value_for_sky_fog_n
push 2
call dword [0x1162180]
add esp, 8
jmp 0x45ea82
push esi
call fcn.004c37cb
fcomp qword [0x4d7428]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x45fd7a
push str.WARNING:_last_value_for_skyfogvars_is_density_which_needs_to_be_0.0_1.0_n
push 2
call dword [0x1162180]
add esp, 8
jmp 0x45ea82
push esi
call fcn.004c37cb
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
fstp dword [esp]
mov edx, dword [esp + 0x50]
push eax
push ecx
push edx
push 5
push 0
push 1
call fcn.00448130
add esp, 0x1c
jmp 0x45ea82
push str.sunshader
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45fdef
push eax
push edi
call fcn.00429210
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x45fddc
push str.WARNING:_missing_shader_name_for_sunshader_n
push 2
call dword [0x1162180]
add esp, 8
jmp 0x45ea87
push eax
call fcn.0041c490
add esp, 4
mov dword [0x11622d4], eax
jmp 0x45ea87
push str.lightgridmulamb
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45fe55
push eax
push edi
call fcn.00429210
mov esi, eax
add esp, 8
cmp byte [esi], 0
jne 0x45fe27
push str.WARNING:_missing_value_for_lightgrid_ambient_multiplier_n
push 2
call dword [0x1162180]
add esp, 8
jmp 0x45ea87
push esi
call fcn.004c37cb
fcomp qword [0x4d7910]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x45ea87
push esi
call fcn.004c37cb
fstp dword [0x1162c9c]
add esp, 4
jmp 0x45ea87
push str.lightgridmuldir
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45febb
push eax
push edi
call fcn.00429210
mov esi, eax
add esp, 8
cmp byte [esi], 0
jne 0x45fe8d
push str.WARNING:_missing_value_for_lightgrid_directional_multiplier_n
push 2
call dword [0x1162180]
add esp, 8
jmp 0x45ea87
push esi
call fcn.004c37cb
fcomp qword [0x4d7910]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x45ea87
push esi
call fcn.004c37cb
fstp dword [0x1162ca0]
add esp, 4
jmp 0x45ea87
push str.waterfogvars
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x45ffbc
lea eax, [esp + 0x28]
push eax
push 3
push edi
call fcn.004603e0
add esp, 0xc
test eax, eax
je 0x4603ba
push 0
push edi
call fcn.00429210
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x45ff0f
push str.WARNING:_missing_density_distance_value_for_water_fog_n
push 2
call dword [0x1162180]
add esp, 8
jmp 0x45ea87
push eax
call fcn.004c37cb
fcom dword [0x4d7378]
add esp, 4
fnstsw ax
test ah, 0x40
jne 0x45ffa2
fcom dword [0x4d7390]
fld dword [esp + 0x30]
fnstsw ax
test ah, 0x41
jne 0x45ff6c
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x34]
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x38]
sub esp, 8
fstp qword [esp]
call fcn.004c2730
push eax
push str.0__d_1.1__f__f__f_200
lea ecx, [esp + 0x78]
push 0x40
push ecx
call fcn.00429910
add esp, 0x28
jmp 0x45ffa4
sub esp, 8
lea edx, [esp + 0x60]
fstp qword [esp]
fld dword [esp + 0x34]
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x38]
sub esp, 8
fstp qword [esp]
sub esp, 8
fstp qword [esp]
push str.0_5__f__f__f__f_200
push 0x40
push edx
call fcn.00429910
add esp, 0x2c
jmp 0x45ffa4
fstp st(0)
lea eax, [esp + 0x58]
push eax
push str.r_waterFogColor
call dword [0x11621a0]
add esp, 8
jmp 0x45ea87
push str.fogvars
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x460077
lea ecx, [esp + 0x34]
push ecx
push 3
push edi
call fcn.004603e0
add esp, 0xc
test eax, eax
je 0x4603ba
push 0
push edi
call fcn.00429210
mov cl, byte [eax]
add esp, 8
test cl, cl
jne 0x460010
push str.WARNING:_missing_density_value_for_the_fog_n
push 2
call dword [0x1162180]
add esp, 8
jmp 0x45ea87
push eax
call fcn.004c37cb
fcom dword [0x4d7390]
add esp, 4
fnstsw ax
test ah, 1
jne 0x46002f
fld st(0)
call fcn.004c2730
jmp 0x460034
mov eax, 5
fld dword [esp + 0x3c]
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x40]
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x44]
sub esp, 8
fstp qword [esp]
sub esp, 8
fstp qword [esp]
push eax
push str.0__d__f__f__f__f_0
call fcn.00429a30
push eax
push str.r_mapFogColor
call dword [0x11621a0]
add esp, 0x30
jmp 0x45ea87
push str.nofog
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x460094
mov dword [0xa47c1c], ebx
jmp 0x45ea87
push str.allowcompress
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x4600b1
mov dword [0x11710f8], ebx
jmp 0x45ea87
push str.nocompress
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x4600d2
mov dword [0x11710f8], 0xffffffff
jmp 0x45ea87
push str.light
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x4600f3
push eax
push edi
call fcn.00429210
add esp, 8
jmp 0x45ea87
push str.cull
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x4601d9
push eax
push edi
call fcn.00429210
mov esi, eax
add esp, 8
cmp byte [esi], 0
jne 0x460134
push 0xa47b40
push str.WARNING:_missing_cull_parms_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0xc
jmp 0x45ea87
push str.none
push esi
call fcn.004297a0
add esp, 8
test eax, eax
je 0x4601ca
push str.twosided
push esi
call fcn.004297a0
add esp, 8
test eax, eax
je 0x4601ca
push str.disable
push esi
call fcn.004297a0
add esp, 8
test eax, eax
je 0x4601ca
push str.back
push esi
call fcn.004297a0
add esp, 8
test eax, eax
je 0x4601bf
push str.backside
push esi
call fcn.004297a0
add esp, 8
test eax, eax
je 0x4601bf
push str.backsided
push esi
call fcn.004297a0
add esp, 8
test eax, eax
je 0x4601bf
push 0xa47b40
push esi
push str.WARNING:_invalid_cull_parm__s_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0x10
jmp 0x45ea87
mov dword [0xa47bf4], ebx
jmp 0x45ea87
mov dword [0xa47bf4], 2
jmp 0x45ea87
push str.sort
push esi
call fcn.004297a0
add esp, 8
test eax, eax
jne 0x460381
push edi
call fcn.0045e400
add esp, 4
jmp 0x45ea87
push str.WARNING:_no_matching__found_n
push 2
call dword [0x1162180]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa47b40
push str.WARNING:_missing_parameter_for_map_keyword_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa47b40
push esi
push str.WARNING:_R_FindImageFile_could_not_find__s_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa47b40
push str.WARNING:_missing_parameter_for_clampmap_keyword_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa47b40
push str.WARNING:_missing_parameter_for_animMmap_keyword_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa47b40
push edi
push str.WARNING:_R_FindImageFile_could_not_find__s_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa47b40
push str.WARNING:_missing_parameter_for_videoMmap_keyword_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa47b40
push str.WARNING:_missing_parameter_for_alphaFunc_keyword_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa47b40
push str.WARNING:_missing_parameter_for_depthfunc_keyword_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa47b40
push esi
push str.WARNING:_unknown_parameter__s_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa47b40
push str.WARNING:_missing_vector_element_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa47b40
push str.WARNING:_missing_parenthesis_in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa47b40
push str.WARNING:_no_concluding__in_shader__s_n
push 2
call dword [0x1162180]
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa47b40
push esi
push str.WARNING:_unknown_general_shader_parameter__s_in__s_n
push 2
call dword [0x1162180]
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4603c3
mov eax, dword [0xa47ba4]
test eax, eax
jne 0x4603c3
test byte [0xa47b9c], 0x40
jne 0x4603c3
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov dword [0xa47b94], ebx
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret