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

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x5d8
mov ebx, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x578], edx
mov edx, dword [ecx + 8]
mov dword [ebp - 0x594], edx
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x568], edx
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x58c], edx
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x598], edx
mov ecx, dword [ecx + 0x18]
mov dword [ebp - 0x544], ecx
mov eax, dword [ebx + 0x24c0]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x540], eax
mov eax, dword [ebx + 0x24b0]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x564], eax
mov eax, dword [ebx + 0x24b4]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x538], edx
mov edx, dword [ebx + 0x24b8]
mov edx, dword [edx + 0xc]
mov dword [ebp - 0x530], edx
mov eax, dword [eax + 4]
mov dword [ebp - 0x53c], eax
mov edi, dword [ebx + 0x24c8]
test edi, edi
je 0x6c276b3f
mov ecx, dword [ebx + 0x24cc]
mov dword [ebp - 0x534], ecx
lea edx, [edi + 0x20]
mov dword [ebp - 0x53c], 0
lea esi, [ebp - 0x528]
mov dword [ebp - 0x52c], esi
mov eax, esi
jmp 0x6c276b02
lea ecx, [edx + 0x10]
mov dword [eax], ecx
mov dword [eax + 0x10], edx
add eax, 0x20
sub eax, 0x10
cmp eax, dword [ebp - 0x52c]
jb 0x6c276b3f
mov esi, dword [edx]
mov ecx, esi
and ecx, 3
cmp ecx, 3
je 0x6c27788c
mov esi, dword [ebp - 0x578]
fld dword [esi + ecx*4]
fld dword [edx + 4]
fxch st(1)
mov edx, dword [edx + 0xc]
fcompi st(1)
fstp st(0)
jae 0x6c276aec
mov dword [eax], edx
add edx, 0x10
mov dword [eax + 0x10], edx
add eax, 0x20
sub eax, 0x10
cmp eax, dword [ebp - 0x52c]
jae 0x6c276b02
mov edx, dword [ebp - 0x568]
movaps xmm2, xmmword [edx]
mov edx, dword [ebp - 0x58c]
movaps xmm1, xmmword [edx]
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xc9
mulps xmm0, xmm2
shufps xmm2, xmm2, 0xc9
mulps xmm1, xmm2
subps xmm1, xmm0
shufps xmm1, xmm1, 0xc9
movaps xmmword [ebp - 0x558], xmm1
mov eax, dword [ebp - 0x53c]
test eax, eax
je 0x6c2784ea
xor edi, edi
lea edx, [ebx + 0x1960]
mov dword [ebp - 0x55c], edx
jmp 0x6c276ba5
test al, 0x80
jne 0x6c276d06
inc edi
cmp edi, dword [ebp - 0x53c]
je 0x6c276e3a
mov eax, dword [ebx + 0x24cc]
mov eax, dword [eax + edi*4]
lea edx, [eax + eax*8]
lea esi, [eax + edx*2]
shl esi, 4
add esi, dword [ebp - 0x538]
mov edx, dword [esi + 0x118]
mov eax, edx
and eax, 0xfffffffb
mov dword [esi + 0x118], eax
and edx, 0x40
je 0x6c276b90
mov dword [esp + 4], 0x84c1
mov edx, dword [ebp - 0x55c]
mov dword [esp], edx
call fcn.6c251c20
mov eax, dword [ebx + 0x1f44]
imul eax, dword [esi + 0x10]
mov edx, dword [ebx + 0x1f50]
mov eax, dword [edx + eax]
mov dword [esp + 4], eax
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp + 8], 0x2703
mov dword [esp + 4], 0x2801
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x2601
mov dword [esp + 4], 0x2800
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 1
mov dword [esp + 4], 0x8191
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov eax, dword [0x6c2e3088]
test eax, eax
je 0x6c276c95
mov eax, dword [0x6c490a10]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x84fe
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameterf
sub esp, 0xc
mov eax, dword [esi + 0x28]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x1401
mov dword [esp + 0x18], 0x1907
mov dword [esp + 0x14], 0
mov eax, dword [esi + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x8051
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexImage2D
sub esp, 0x24
mov dword [esp], 0xde1
call dword [0x6c454318]
push eax
mov eax, dword [esi + 0x118]
and eax, 0xffffffbf
mov dword [esi + 0x118], eax
test al, 0x80
je 0x6c276b98
mov dword [esp + 4], 0x84c1
mov edx, dword [ebp - 0x55c]
mov dword [esp], edx
call fcn.6c251c20
mov eax, dword [ebx + 0x1f44]
imul eax, dword [esi + 0x34]
mov edx, dword [ebx + 0x1f50]
mov eax, dword [edx + eax]
mov dword [esp + 4], eax
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp + 8], 0x2703
mov dword [esp + 4], 0x2801
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x2601
mov dword [esp + 4], 0x2800
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 1
mov dword [esp + 4], 0x8191
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov ecx, dword [0x6c2e3088]
test ecx, ecx
je 0x6c276dc9
mov eax, dword [0x6c490a10]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x84fe
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameterf
sub esp, 0xc
mov eax, dword [esi + 0x4c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x1401
mov dword [esp + 0x18], 0x1907
mov dword [esp + 0x14], 0
mov eax, dword [esi + 0x3c]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x38]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x8051
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexImage2D
sub esp, 0x24
mov dword [esp], 0xde1
call dword [0x6c454318]
push edx
and dword [esi + 0x118], 0xffffff7f
inc edi
cmp edi, dword [ebp - 0x53c]
jne 0x6c276ba5
mov dword [esp + 4], 0x84c0
mov edx, dword [ebp - 0x55c]
mov dword [esp], edx
call fcn.6c251c20
mov eax, dword [ebx + 0x1f44]
imul eax, dword [ebx + 0x19cc]
mov edx, dword [ebx + 0x1f50]
mov eax, dword [edx + eax]
mov dword [esp + 4], eax
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp + 4], 0x84c2
mov edx, dword [ebp - 0x55c]
mov dword [esp], edx
call fcn.6c251c20
mov eax, dword [ebx + 0x1f44]
imul eax, dword [ebx + 0x19d0]
mov edx, dword [ebx + 0x1f50]
mov eax, dword [edx + eax]
mov dword [esp + 4], eax
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [ebx + 0x1fa4], 0
mov dword [ebx + 0x1fa8], 0
mov dword [ebx + 0x1fac], 0xffffffff
mov edx, dword [ebx + 0x1f44]
mov eax, dword [ebx + 0x1f50]
mov ecx, dword [ebx + 0x19cc]
imul ecx, edx
mov ecx, dword [eax + ecx]
mov dword [ebx + 0x1fb0], ecx
imul edx, dword [ebx + 0x19d0]
mov eax, dword [eax + edx]
mov dword [ebx + 0x1fb4], eax
mov dword [ebx + 0x1f8c], 0
mov dword [ebx + 0x1f94], 0xffffffff
mov dword [ebx + 0x1f98], 0xffffffff
mov dword [ebx + 0x1f9c], 0xffffffff
mov dword [esp + 4], 0x303
mov dword [esp], 0x302
call sub.OPENGL32.DLL_glBlendFunc
sub esp, 8
mov dword [esp], 0xbe2
call sub.OPENGL32.DLL_glDisable
push eax
mov edx, dword [ebp - 0x578]
mov eax, dword [ebp - 0x544]
test eax, eax
je 0x6c2784b4
fld dword [edx]
fld dword [edx + 4]
fld dword [edx + 8]
fld st(2)
mov edx, dword [ebp - 0x544]
fmul dword [edx]
fld dword [edx + 0x10]
fmul st(3)
faddp st(1)
fld dword [edx + 0x20]
fmul st(2)
faddp st(1)
fadd dword [edx + 0x30]
fld dword [edx + 4]
fmul st(4)
fld dword [edx + 0x14]
fmul st(4)
faddp st(1)
fld dword [edx + 0x24]
fmul st(3)
faddp st(1)
fadd dword [edx + 0x34]
fxch st(4)
fmul dword [edx + 8]
fxch st(3)
fmul dword [edx + 0x18]
faddp st(3)
fxch st(1)
fmul dword [edx + 0x28]
faddp st(2)
fxch st(1)
fadd dword [edx + 0x38]
fstp dword [ebp - 0x5ac]
movss xmm0, dword [ebp - 0x5ac]
xorps xmm2, xmm2
unpcklps xmm0, xmm2
movaps xmm1, xmm0
fstp dword [ebp - 0x5ac]
movss xmm3, dword [ebp - 0x5ac]
fstp dword [ebp - 0x5ac]
movss xmm4, dword [ebp - 0x5ac]
unpcklps xmm3, xmm4
movaps xmm0, xmm3
movlhps xmm0, xmm1
mov ecx, dword [ebp - 0x530]
movaps xmmword [ecx + 0x10], xmm0
mov dword [ecx + 0x1c], 0
mov dword [ebx + 0x1f88], 0xffffffff
mov dword [esp], 0
movaps xmmword [ebp - 0x5a8], xmm0
call dword [0x6c4542d4]
push eax
mov dword [esp], 1
call dword [0x6c4542d4]
push eax
mov dword [esp], 2
call dword [0x6c4542d4]
push eax
mov dword [ebx + 0x1e2c], 0xffffffff
movaps xmm0, xmmword [ebp - 0x5a8]
movaps xmmword [ebx + 0x1ed0], xmm0
mov dword [ebx + 0x1f90], 1
mov edx, dword [ebp - 0x53c]
dec edx
mov dword [ebp - 0x548], edx
js 0x6c277420
mov edx, dword [ebp - 0x53c]
lea edx, [edx*4 - 4]
mov dword [ebp - 0x534], edx
mov edx, dword [ebp - 0x548]
mov dword [ebp - 0x530], edx
mov ecx, dword [ebp - 0x540]
add ecx, 0x60
mov dword [ebp - 0x590], ecx
jmp 0x6c2770b7
sub dword [ebp - 0x534], 4
dec dword [ebp - 0x530]
js 0x6c277420
mov eax, dword [ebx + 0x24cc]
mov edx, dword [ebp - 0x534]
mov eax, dword [eax + edx]
lea edx, [eax + eax*8]
lea edx, [eax + edx*2]
shl edx, 4
add edx, dword [ebp - 0x538]
test byte [edx + 0x118], 6
jne 0x6c2770a4
mov eax, dword [edx + 0x114]
lea eax, [eax + eax*2]
lea esi, [eax + eax*4]
shl esi, 4
add esi, dword [ebp - 0x540]
mov ecx, 0x39
mov edi, dword [ebp - 0x540]
rep movsd dword es:[edi], dword [esi]
cmp dword [edx + 0x114], 1
je 0x6c277ca4
mov eax, dword [edx + 0x50]
mov dword [ebx + 0x1fa0], eax
mov dword [ebx + 0x1f80], 0
mov dword [esp + 4], 0x84c1
mov ecx, dword [ebp - 0x55c]
mov dword [esp], ecx
mov dword [ebp - 0x5a8], edx
call fcn.6c251c20
mov edx, dword [ebp - 0x5a8]
mov eax, dword [edx + 0x120]
test eax, eax
je 0x6c277d40
mov edi, dword [ebx + 0x1fa8]
test edi, edi
je 0x6c277d08
mov eax, dword [edx + 0x124]
mov dword [ebx + 0x1fa8], eax
mov eax, dword [ebx + 0x1f44]
imul eax, dword [ebx + 0x19cc]
mov ecx, dword [ebx + 0x1f50]
mov eax, dword [ecx + eax]
mov dword [esp + 4], eax
mov dword [esp], 0xde1
mov dword [ebp - 0x5a8], edx
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov edx, dword [ebp - 0x5a8]
mov eax, dword [edx + 0x110]
mov dword [esp], eax
mov dword [ebp - 0x5a8], edx
call sub.OPENGL32.DLL_glCullFace
push eax
mov dword [ebx + 0x1970], 0
mov edx, dword [ebp - 0x5a8]
mov eax, dword [edx + 0x5c]
test eax, eax
je 0x6c2778bc
movaps xmm2, xmmword [edx + 0xb0]
movaps xmm0, xmm2
mulps xmm0, xmm2
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xc9
addps xmm1, xmm0
shufps xmm0, xmm0, 0xd2
addps xmm1, xmm0
rsqrtps xmm1, xmm1
mulps xmm1, xmm2
xorps xmm0, xmm0
cmpneqps xmm0, xmm2
andps xmm1, xmm0
movaps xmmword [edx + 0xb0], xmm1
movaps xmm0, xmmword [ebp - 0x558]
shufps xmm0, xmm0, 0xc9
mulps xmm0, xmm1
movaps xmm4, xmm1
shufps xmm4, xmm1, 0xc9
movaps xmm2, xmmword [ebp - 0x558]
mulps xmm2, xmm4
subps xmm2, xmm0
shufps xmm2, xmm2, 0xc9
movaps xmm3, xmm2
mulps xmm3, xmm2
movaps xmm0, xmm3
shufps xmm0, xmm3, 0xc9
addps xmm0, xmm3
shufps xmm3, xmm3, 0xd2
addps xmm0, xmm3
rsqrtps xmm0, xmm0
mulps xmm0, xmm2
xorps xmm3, xmm3
cmpneqps xmm3, xmm2
andps xmm0, xmm3
movaps xmm3, xmm0
mulps xmm3, xmm0
movaps xmm2, xmm3
shufps xmm2, xmm3, 0xc9
addps xmm2, xmm3
shufps xmm3, xmm3, 0xd2
addps xmm2, xmm3
movss dword [ebp - 0x560], xmm2
fldz
fld dword [ebp - 0x560]
fxch st(1)
fcompi st(1)
fstp st(0)
jae 0x6c277d80
mulps xmm4, xmm0
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xc9
mulps xmm2, xmm1
subps xmm2, xmm4
shufps xmm2, xmm2, 0xc9
movaps xmm4, xmm2
mulps xmm4, xmm2
movaps xmm3, xmm4
shufps xmm3, xmm4, 0xc9
addps xmm3, xmm4
shufps xmm4, xmm4, 0xd2
addps xmm3, xmm4
rsqrtps xmm3, xmm3
mulps xmm3, xmm2
xorps xmm4, xmm4
cmpneqps xmm4, xmm2
andps xmm3, xmm4
movss xmm4, dword [edx + 0x88]
shufps xmm4, xmm4, 0
mulps xmm4, xmm1
movss xmm5, dword [edx + 0x84]
shufps xmm5, xmm5, 0
mulps xmm5, xmm3
movss xmm2, dword [edx + 0x80]
shufps xmm2, xmm2, 0
mulps xmm2, xmm0
addps xmm2, xmmword [edx + 0x60]
addps xmm2, xmm5
addps xmm2, xmm4
movaps xmmword [ebp - 0x48], xmm2
mov dword [ebp - 0x3c], 0x3f800000
movss xmm2, dword [edx + 0x70]
shufps xmm2, xmm2, 0
mulps xmm2, xmm0
movaps xmmword [ebp - 0x108], xmm2
movss xmm0, dword [edx + 0x74]
shufps xmm0, xmm0, 0
mulps xmm0, xmm3
movaps xmmword [ebp - 0xf8], xmm0
movss xmm0, dword [edx + 0x78]
shufps xmm0, xmm0, 0
mulps xmm0, xmm1
movaps xmmword [ebp - 0xe8], xmm0
lea edi, [ebp - 0xd8]
lea esi, [ebp - 0x48]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebx + 0x180c]
lea eax, [esi + 0x600]
mov edi, dword [ebx + eax*4]
lea ecx, [edi + 1]
mov dword [ebp - 0x560], ecx
shl esi, 5
add ecx, esi
shl ecx, 6
add ecx, ebx
mov dword [ebp - 0x588], ecx
add esi, edi
shl esi, 6
add esi, ebx
mov ecx, 0x10
mov edi, dword [ebp - 0x588]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x560]
mov dword [ebx + eax*4], esi
mov eax, dword [ebp - 0x544]
test eax, eax
je 0x6c2773b7
mov eax, dword [ebp - 0x544]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [ebp - 0x5a8], edx
call fcn.6c267960
mov edx, dword [ebp - 0x5a8]
lea esi, [ebp - 0x108]
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [ebp - 0x5a8], edx
call fcn.6c267960
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.6c267f74
mov dword [ebx + 0x1e30], esi
mov edx, dword [ebp - 0x5a8]
mov eax, dword [edx + 4]
shl eax, 4
mov edx, dword [ebp - 0x564]
mov eax, dword [edx + eax + 8]
mov dword [esp], eax
call fcn.6c256db0
mov dword [esp], ebx
call fcn.6c268028
sub dword [ebp - 0x534], 4
dec dword [ebp - 0x530]
jns 0x6c2770b7
nop
mov ecx, dword [ebx + 0x1fa8]
test ecx, ecx
jne 0x6c278260
mov eax, dword [0x6c2e3088]
test eax, eax
je 0x6c27822c
test byte [ebx + 0x1f84], 8
jne 0x6c277d90
mov edx, dword [ebp - 0x544]
mov dword [esp + 0x18], edx
mov edx, dword [ebp - 0x598]
mov dword [esp + 0x14], edx
mov edx, dword [ebp - 0x58c]
mov dword [esp + 0x10], edx
mov edx, dword [ebp - 0x568]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x594]
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x578]
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.6c275674
mov dword [esp], 0
call dword [0x6c4542d4]
push esi
mov dword [esp], 1
call dword [0x6c4542d4]
push edi
mov dword [esp], 2
call dword [0x6c4542d4]
push eax
mov dword [esp], 0xbe2
call sub.OPENGL32.DLL_glEnable
push eax
mov dword [ebx + 0x1f90], 0xfffffffe
mov eax, dword [ebp - 0x53c]
test eax, eax
je 0x6c277a64
mov dword [ebp - 0x530], 0
movaps xmm0, xmmword [ebp - 0x558]
shufps xmm0, xmm0, 0xc9
movaps xmmword [ebp - 0x578], xmm0
jmp 0x6c277514
inc dword [ebp - 0x530]
mov edx, dword [ebp - 0x53c]
cmp dword [ebp - 0x530], edx
je 0x6c277a64
mov eax, dword [ebx + 0x24cc]
mov edx, dword [ebp - 0x530]
mov eax, dword [eax + edx*4]
lea edx, [eax + eax*8]
lea edx, [eax + edx*2]
shl edx, 4
add edx, dword [ebp - 0x538]
test byte [edx + 0x118], 6
jne 0x6c2774fc
mov eax, dword [edx + 0x114]
lea eax, [eax + eax*2]
lea esi, [eax + eax*4]
shl esi, 4
add esi, dword [ebp - 0x540]
mov ecx, 0x39
mov edi, dword [ebp - 0x540]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x540]
test dword [ecx + 4], 0x1c4
jne 0x6c277589
mov eax, dword [edx + 4]
shl eax, 4
mov esi, dword [ebp - 0x564]
mov eax, dword [esi + eax + 8]
test dword [eax + 0x48], 0x1c4
je 0x6c2774fc
mov eax, dword [edx + 0x50]
mov dword [ebx + 0x1fa0], eax
mov dword [ebx + 0x1f80], 0
mov dword [esp + 4], 0x84c1
mov eax, dword [ebp - 0x55c]
mov dword [esp], eax
mov dword [ebp - 0x5a8], edx
call fcn.6c251c20
mov edx, dword [ebp - 0x5a8]
mov ecx, dword [edx + 0x120]
test ecx, ecx
je 0x6c278280
mov eax, dword [ebx + 0x1fa8]
test eax, eax
je 0x6c277d24
mov eax, dword [edx + 0x124]
mov dword [ebx + 0x1fa8], eax
mov eax, dword [ebx + 0x1f44]
imul eax, dword [ebx + 0x19cc]
mov ecx, dword [ebx + 0x1f50]
mov eax, dword [ecx + eax]
mov dword [esp + 4], eax
mov dword [esp], 0xde1
mov dword [ebp - 0x5a8], edx
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov edx, dword [ebp - 0x5a8]
mov eax, dword [edx + 0x110]
mov dword [esp], eax
mov dword [ebp - 0x5a8], edx
call sub.OPENGL32.DLL_glCullFace
push edi
mov dword [esp], 0xbc0
call sub.OPENGL32.DLL_glEnable
push eax
mov dword [ebx + 0x1970], 0
mov edx, dword [ebp - 0x5a8]
mov eax, dword [edx + 0x5c]
test eax, eax
je 0x6c277b80
movaps xmm2, xmmword [edx + 0xb0]
movaps xmm0, xmm2
mulps xmm0, xmm2
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xc9
addps xmm1, xmm0
shufps xmm0, xmm0, 0xd2
addps xmm1, xmm0
rsqrtps xmm1, xmm1
mulps xmm1, xmm2
xorps xmm0, xmm0
cmpneqps xmm0, xmm2
andps xmm1, xmm0
movaps xmmword [edx + 0xb0], xmm1
movaps xmm0, xmmword [ebp - 0x578]
mulps xmm0, xmm1
movaps xmm4, xmm1
shufps xmm4, xmm1, 0xc9
movaps xmm2, xmmword [ebp - 0x558]
mulps xmm2, xmm4
subps xmm2, xmm0
shufps xmm2, xmm2, 0xc9
movaps xmm3, xmm2
mulps xmm3, xmm2
movaps xmm0, xmm3
shufps xmm0, xmm3, 0xc9
addps xmm0, xmm3
shufps xmm3, xmm3, 0xd2
addps xmm0, xmm3
rsqrtps xmm0, xmm0
mulps xmm0, xmm2
xorps xmm3, xmm3
cmpneqps xmm3, xmm2
andps xmm0, xmm3
movaps xmm3, xmm0
mulps xmm3, xmm0
movaps xmm2, xmm3
shufps xmm2, xmm3, 0xc9
addps xmm2, xmm3
shufps xmm3, xmm3, 0xd2
addps xmm2, xmm3
movss dword [ebp - 0x534], xmm2
fldz
fld dword [ebp - 0x534]
fxch st(1)
fcompi st(1)
fstp st(0)
jae 0x6c278360
mulps xmm4, xmm0
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xc9
mulps xmm2, xmm1
subps xmm2, xmm4
shufps xmm2, xmm2, 0xc9
movaps xmm4, xmm2
mulps xmm4, xmm2
movaps xmm3, xmm4
shufps xmm3, xmm4, 0xc9
addps xmm3, xmm4
shufps xmm4, xmm4, 0xd2
addps xmm3, xmm4
rsqrtps xmm3, xmm3
mulps xmm3, xmm2
xorps xmm4, xmm4
cmpneqps xmm4, xmm2
andps xmm3, xmm4
movss xmm4, dword [edx + 0x88]
shufps xmm4, xmm4, 0
mulps xmm4, xmm1
movss xmm5, dword [edx + 0x84]
shufps xmm5, xmm5, 0
mulps xmm5, xmm3
movss xmm2, dword [edx + 0x80]
shufps xmm2, xmm2, 0
mulps xmm2, xmm0
addps xmm2, xmmword [edx + 0x60]
addps xmm2, xmm5
addps xmm2, xmm4
movaps xmmword [ebp - 0x28], xmm2
mov dword [ebp - 0x1c], 0x3f800000
movss xmm2, dword [edx + 0x70]
shufps xmm2, xmm2, 0
mulps xmm2, xmm0
movaps xmmword [ebp - 0x88], xmm2
movss xmm0, dword [edx + 0x74]
shufps xmm0, xmm0, 0
mulps xmm0, xmm3
movaps xmmword [ebp - 0x78], xmm0
movss xmm0, dword [edx + 0x78]
shufps xmm0, xmm0, 0
mulps xmm0, xmm1
movaps xmmword [ebp - 0x68], xmm0
lea edi, [ebp - 0x58]
lea esi, [ebp - 0x28]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebx + 0x180c]
lea eax, [esi + 0x600]
mov edi, dword [ebx + eax*4]
lea ecx, [edi + 1]
mov dword [ebp - 0x534], ecx
shl esi, 5
add ecx, esi
shl ecx, 6
add ecx, ebx
mov dword [ebp - 0x548], ecx
add esi, edi
shl esi, 6
add esi, ebx
mov ecx, 0x10
mov edi, dword [ebp - 0x548]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x534]
mov dword [ebx + eax*4], esi
mov esi, dword [ebp - 0x544]
test esi, esi
je 0x6c277833
mov eax, dword [ebp - 0x544]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [ebp - 0x5a8], edx
call fcn.6c267960
mov edx, dword [ebp - 0x5a8]
lea esi, [ebp - 0x88]
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [ebp - 0x5a8], edx
call fcn.6c267960
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.6c267f74
mov dword [ebx + 0x1e30], esi
mov edx, dword [ebp - 0x5a8]
mov eax, dword [edx + 4]
shl eax, 4
mov edx, dword [ebp - 0x564]
mov eax, dword [edx + eax + 8]
mov dword [esp], eax
call fcn.6c256db0
mov dword [esp], ebx
call fcn.6c268028
jmp 0x6c2774fc
test esi, 0x1fc
je 0x6c2778b3
shr esi, 9
mov edx, dword [edi + 0x34]
mov edx, dword [edx + esi*4]
mov ecx, dword [ebp - 0x53c]
mov esi, dword [ebp - 0x534]
mov dword [esi + ecx*4], edx
inc ecx
mov dword [ebp - 0x53c], ecx
mov edx, dword [eax - 0x10]
jmp 0x6c276af7
mov esi, dword [ebx + 0x180c]
lea eax, [esi + 0x600]
mov edi, dword [ebx + eax*4]
lea ecx, [edi + 1]
mov dword [ebp - 0x560], ecx
shl esi, 5
add ecx, esi
shl ecx, 6
add ecx, ebx
mov dword [ebp - 0x588], ecx
add esi, edi
shl esi, 6
add esi, ebx
mov ecx, 0x10
mov edi, dword [ebp - 0x588]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x560]
mov dword [ebx + eax*4], esi
mov eax, dword [ebp - 0x544]
test eax, eax
je 0x6c277929
mov eax, dword [ebp - 0x544]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [ebp - 0x5a8], edx
call fcn.6c267960
mov edx, dword [ebp - 0x5a8]
lea esi, [edx + 0x90]
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [ebp - 0x5a8], edx
call fcn.6c267960
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.6c267f74
mov dword [ebx + 0x1e30], esi
mov edx, dword [ebp - 0x5a8]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 0x564]
mov eax, dword [ecx + eax + 8]
mov dword [esp], eax
call fcn.6c256db0
mov eax, dword [ebx + 0x2464]
test eax, eax
mov edx, dword [ebp - 0x5a8]
je 0x6c277cd0
cmp dword [edx + 0x114], 1
je 0x6c27840c
mov dword [esp + 4], 0x84c1
mov esi, dword [ebp - 0x55c]
mov dword [esp], esi
mov dword [ebp - 0x5a8], edx
call fcn.6c251c20
mov edx, dword [ebp - 0x5a8]
mov eax, dword [edx + 0x128]
test eax, eax
je 0x6c278370
mov eax, dword [edx + 0x12c]
mov dword [ebx + 0x1fa8], eax
mov eax, dword [ebx + 0x1f44]
imul eax, dword [ebx + 0x19cc]
mov ecx, dword [ebx + 0x1f50]
mov eax, dword [ecx + eax]
mov dword [esp + 4], eax
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov edx, dword [ebp - 0x5a8]
mov eax, dword [edx + 0x54]
mov dword [ebx + 0x1fa0], eax
xor eax, eax
cmp dword [edx + 0x110], 0x405
setne al
add eax, 0x404
mov dword [esp], eax
mov dword [ebp - 0x5a8], edx
call sub.OPENGL32.DLL_glCullFace
push edi
mov dword [ebx + 0x1970], 1
mov edx, dword [ebp - 0x5a8]
mov eax, dword [edx + 4]
shl eax, 4
mov edx, dword [ebp - 0x564]
mov eax, dword [edx + eax + 8]
mov dword [esp], eax
call fcn.6c256db0
mov dword [esp], ebx
call fcn.6c268028
jmp 0x6c2770a4
mov eax, dword [ebx + 0x1fa8]
test eax, eax
je 0x6c277a86
mov dword [esp], 3
call dword [0x6c4542d0]
push eax
mov dword [ebx + 0x1fa8], 0
mov dword [esp], 0
call dword [0x6c4542d0]
push eax
mov dword [esp], 1
call dword [0x6c4542d0]
push edx
mov dword [esp], 2
call dword [0x6c4542d0]
push ecx
mov dword [esp + 4], 0
mov dword [esp], 0x8893
call dword [0x6c4542e4]
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], 0x8892
call dword [0x6c4542e4]
sub esp, 8
mov dword [esp], 0x84c3
call dword [0x6c45438c]
push ebx
mov dword [esp + 4], 0
mov dword [esp], 0x8513
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp], 0x84c2
call dword [0x6c45438c]
push esi
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp], 0x84c1
call dword [0x6c45438c]
push edi
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp], 0x84c0
call dword [0x6c45438c]
push eax
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
mov esi, dword [ebx + 0x180c]
lea eax, [esi + 0x600]
mov edi, dword [ebx + eax*4]
lea ecx, [edi + 1]
mov dword [ebp - 0x534], ecx
shl esi, 5
add ecx, esi
shl ecx, 6
add ecx, ebx
mov dword [ebp - 0x548], ecx
add esi, edi
shl esi, 6
add esi, ebx
mov ecx, 0x10
mov edi, dword [ebp - 0x548]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x534]
mov dword [ebx + eax*4], esi
mov ecx, dword [ebp - 0x544]
test ecx, ecx
je 0x6c277bed
mov eax, dword [ebp - 0x544]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [ebp - 0x5a8], edx
call fcn.6c267960
mov edx, dword [ebp - 0x5a8]
lea esi, [edx + 0x90]
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [ebp - 0x5a8], edx
call fcn.6c267960
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.6c267f74
mov dword [ebx + 0x1e30], esi
mov edx, dword [ebp - 0x5a8]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 0x564]
mov eax, dword [ecx + eax + 8]
mov dword [esp], eax
call fcn.6c256db0
mov edx, dword [ebx + 0x2464]
test edx, edx
mov edx, dword [ebp - 0x5a8]
jne 0x6c2782c0
test byte [edx + 0x118], 8
je 0x6c277c97
xor eax, eax
cmp dword [edx + 0x110], 0x405
setne al
add eax, 0x404
mov dword [esp], eax
mov dword [ebp - 0x5a8], edx
call sub.OPENGL32.DLL_glCullFace
push eax
mov edx, dword [ebp - 0x5a8]
mov eax, dword [edx + 4]
shl eax, 4
mov edx, dword [ebp - 0x564]
mov eax, dword [edx + eax + 8]
mov dword [esp], eax
call fcn.6c256db0
mov dword [esp], ebx
call fcn.6c268028
jmp 0x6c2774fc
lea esi, [ebx + 0x2440]
mov cl, 4
mov edi, dword [ebp - 0x590]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x540]
add edi, 0xc0
lea esi, [ebx + 0x2440]
mov cl, 4
rep movsd dword es:[edi], dword [esi]
jmp 0x6c27710d
test byte [edx + 0x118], 8
je 0x6c277a55
xor eax, eax
cmp dword [edx + 0x110], 0x405
setne al
add eax, 0x404
mov dword [esp], eax
mov dword [ebp - 0x5a8], edx
call sub.OPENGL32.DLL_glCullFace
push esi
jmp 0x6c277a37
mov dword [esp], 3
call dword [0x6c4542d4]
push esi
mov edx, dword [ebp - 0x5a8]
jmp 0x6c27715e
mov dword [esp], 3
call dword [0x6c4542d4]
push eax
mov edx, dword [ebp - 0x5a8]
jmp 0x6c2775da
mov ecx, dword [ebx + 0x1fa8]
test ecx, ecx
jne 0x6c2784bc
mov dword [ebx + 0x1fa8], 0
test byte [ebx + 0x19c9], 0x80
mov eax, dword [ebx + 0x1f44]
je 0x6c2783c0
imul eax, dword [ebx + 0x19cc]
mov ecx, dword [ebx + 0x1f50]
mov eax, dword [ecx + eax]
jmp 0x6c277180
mov eax, dword [ebp - 0x568]
movaps xmm0, xmmword [eax]
jmp 0x6c277284
mov dword [esp], 1
call dword [0x6c4542d0]
push eax
mov eax, dword [ebx + 0x1f44]
imul eax, dword [ebx + 0x19cc]
mov edx, dword [ebx + 0x1f50]
mov eax, dword [edx + eax]
mov dword [ebx + 0x1f34], eax
mov dword [ebx + 0x1fb0], eax
mov dword [esp + 4], 0x84c0
mov edx, dword [ebp - 0x55c]
mov dword [esp], edx
call fcn.6c251c20
mov eax, dword [ebx + 0x1f34]
mov dword [esp + 4], eax
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp], 0x8037
call sub.OPENGL32.DLL_glEnable
push eax
mov eax, dword [ebp - 0x548]
test eax, eax
js 0x6c2780ec
mov edx, dword [ebp - 0x53c]
lea edx, [edx*4 - 4]
mov dword [ebp - 0x530], edx
movaps xmm0, xmmword [ebp - 0x558]
shufps xmm0, xmm0, 0xc9
movaps xmmword [ebp - 0x588], xmm0
jmp 0x6c277e47
sub dword [ebp - 0x530], 4
dec dword [ebp - 0x548]
js 0x6c2780ec
mov eax, dword [ebx + 0x24cc]
mov edx, dword [ebp - 0x530]
mov eax, dword [eax + edx]
lea edx, [eax + eax*8]
lea edx, [eax + edx*2]
shl edx, 4
add edx, dword [ebp - 0x538]
test byte [edx + 0x118], 6
jne 0x6c277e34
mov eax, dword [edx + 0x110]
mov dword [esp], eax
mov dword [ebp - 0x5a8], edx
call sub.OPENGL32.DLL_glCullFace
push eax
mov dword [ebx + 0x1970], 0
mov edx, dword [ebp - 0x5a8]
mov eax, dword [edx + 0x5c]
test eax, eax
je 0x6c27810c
movaps xmm2, xmmword [edx + 0xb0]
movaps xmm0, xmm2
mulps xmm0, xmm2
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xc9
addps xmm1, xmm0
shufps xmm0, xmm0, 0xd2
addps xmm1, xmm0
rsqrtps xmm1, xmm1
mulps xmm1, xmm2
xorps xmm0, xmm0
cmpneqps xmm0, xmm2
andps xmm1, xmm0
movaps xmmword [edx + 0xb0], xmm1
movaps xmm0, xmmword [ebp - 0x588]
mulps xmm0, xmm1
movaps xmm4, xmm1
shufps xmm4, xmm1, 0xc9
movaps xmm2, xmmword [ebp - 0x558]
mulps xmm2, xmm4
subps xmm2, xmm0
shufps xmm2, xmm2, 0xc9
movaps xmm3, xmm2
mulps xmm3, xmm2
movaps xmm0, xmm3
shufps xmm0, xmm3, 0xc9
addps xmm0, xmm3
shufps xmm3, xmm3, 0xd2
addps xmm0, xmm3
rsqrtps xmm0, xmm0
mulps xmm0, xmm2
xorps xmm3, xmm3
cmpneqps xmm3, xmm2
andps xmm0, xmm3
movaps xmm3, xmm0
mulps xmm3, xmm0
movaps xmm2, xmm3
shufps xmm2, xmm3, 0xc9
addps xmm2, xmm3
shufps xmm3, xmm3, 0xd2
addps xmm2, xmm3
movss dword [ebp - 0x534], xmm2
fldz
fld dword [ebp - 0x534]
fxch st(1)
fcompi st(1)
fstp st(0)
jae 0x6c2784dc
mulps xmm4, xmm0
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xc9
mulps xmm2, xmm1
subps xmm2, xmm4
shufps xmm2, xmm2, 0xc9
movaps xmm4, xmm2
mulps xmm4, xmm2
movaps xmm3, xmm4
shufps xmm3, xmm4, 0xc9
addps xmm3, xmm4
shufps xmm4, xmm4, 0xd2
addps xmm3, xmm4
rsqrtps xmm3, xmm3
mulps xmm3, xmm2
xorps xmm4, xmm4
cmpneqps xmm4, xmm2
andps xmm3, xmm4
movss xmm4, dword [edx + 0x88]
shufps xmm4, xmm4, 0
mulps xmm4, xmm1
movss xmm5, dword [edx + 0x84]
shufps xmm5, xmm5, 0
mulps xmm5, xmm3
movss xmm2, dword [edx + 0x80]
shufps xmm2, xmm2, 0
mulps xmm2, xmm0
addps xmm2, xmmword [edx + 0x60]
addps xmm2, xmm5
addps xmm2, xmm4
movaps xmmword [ebp - 0x38], xmm2
mov dword [ebp - 0x2c], 0x3f800000
movss xmm2, dword [edx + 0x70]
shufps xmm2, xmm2, 0
mulps xmm2, xmm0
movaps xmmword [ebp - 0xc8], xmm2
movss xmm0, dword [edx + 0x74]
shufps xmm0, xmm0, 0
mulps xmm0, xmm3
movaps xmmword [ebp - 0xb8], xmm0
movss xmm0, dword [edx + 0x78]
shufps xmm0, xmm0, 0
mulps xmm0, xmm1
movaps xmmword [ebp - 0xa8], xmm0
lea edi, [ebp - 0x98]
lea esi, [ebp - 0x38]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebx + 0x180c]
lea eax, [esi + 0x600]
mov edi, dword [ebx + eax*4]
lea ecx, [edi + 1]
mov dword [ebp - 0x534], ecx
shl esi, 5
add ecx, esi
shl ecx, 6
add ecx, ebx
mov dword [ebp - 0x560], ecx
add esi, edi
shl esi, 6
add esi, ebx
mov ecx, 0x10
mov edi, dword [ebp - 0x560]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x534]
mov dword [ebx + eax*4], esi
mov edi, dword [ebp - 0x544]
test edi, edi
je 0x6c278082
mov eax, dword [ebp - 0x544]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [ebp - 0x5a8], edx
call fcn.6c267960
mov edx, dword [ebp - 0x5a8]
lea esi, [ebp - 0xc8]
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [ebp - 0x5a8], edx
call fcn.6c267960
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.6c267f74
mov dword [ebx + 0x1e30], esi
mov edx, dword [ebp - 0x5a8]
mov eax, dword [edx + 4]
shl eax, 4
mov edx, dword [ebp - 0x564]
mov eax, dword [edx + eax + 8]
mov dword [esp], eax
call fcn.6c255608
mov dword [esp], ebx
call fcn.6c268028
sub dword [ebp - 0x530], 4
dec dword [ebp - 0x548]
jns 0x6c277e47
lea esi, [esi]
mov dword [esp], 0x8037
call sub.OPENGL32.DLL_glDisable
push eax
mov dword [esp], 1
call dword [0x6c4542d4]
push eax
jmp 0x6c277448
mov esi, dword [ebx + 0x180c]
lea eax, [esi + 0x600]
mov edi, dword [ebx + eax*4]
lea ecx, [edi + 1]
mov dword [ebp - 0x534], ecx
shl esi, 5
add ecx, esi
shl ecx, 6
add ecx, ebx
mov dword [ebp - 0x560], ecx
add esi, edi
shl esi, 6
add esi, ebx
mov ecx, 0x10
mov edi, dword [ebp - 0x560]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x534]
mov dword [ebx + eax*4], esi
mov esi, dword [ebp - 0x544]
test esi, esi
je 0x6c278179
mov eax, dword [ebp - 0x544]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [ebp - 0x5a8], edx
call fcn.6c267960
mov edx, dword [ebp - 0x5a8]
lea esi, [edx + 0x90]
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [ebp - 0x5a8], edx
call fcn.6c267960
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.6c267f74
mov dword [ebx + 0x1e30], esi
mov edx, dword [ebp - 0x5a8]
mov eax, dword [edx + 4]
shl eax, 4
mov ecx, dword [ebp - 0x564]
mov eax, dword [ecx + eax + 8]
mov dword [esp], eax
call fcn.6c255608
mov ecx, dword [ebx + 0x2464]
test ecx, ecx
mov edx, dword [ebp - 0x5a8]
je 0x6c2783d4
xor eax, eax
cmp dword [edx + 0x110], 0x405
setne al
add eax, 0x404
mov dword [esp], eax
call sub.OPENGL32.DLL_glCullFace
push edx
mov dword [ebx + 0x1970], 1
mov edx, dword [ebp - 0x5a8]
mov eax, dword [edx + 4]
shl eax, 4
mov edx, dword [ebp - 0x564]
mov eax, dword [edx + eax + 8]
mov dword [esp], eax
call fcn.6c255608
mov dword [esp], ebx
call fcn.6c268028
jmp 0x6c277e34
mov dword [esp + 4], 0x84c1
mov edx, dword [ebp - 0x55c]
mov dword [esp], edx
call fcn.6c251c20
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
jmp 0x6c27743b
mov dword [esp], 3
call dword [0x6c4542d0]
push edx
mov dword [ebx + 0x1fa8], 0
jmp 0x6c27742e
mov eax, dword [ebx + 0x1fa8]
test eax, eax
jne 0x6c2784fb
mov dword [ebx + 0x1fa8], 0
test byte [ebx + 0x19c9], 0x80
mov eax, dword [ebx + 0x1f44]
je 0x6c27843c
imul eax, dword [ebx + 0x19cc]
mov ecx, dword [ebx + 0x1f50]
mov eax, dword [ecx + eax]
jmp 0x6c2775fc
mov dword [esp + 4], 0x84c1
mov esi, dword [ebp - 0x55c]
mov dword [esp], esi
call fcn.6c251c20
mov edx, dword [ebp - 0x5a8]
mov eax, dword [edx + 0x128]
test eax, eax
je 0x6c278465
mov eax, dword [edx + 0x12c]
mov dword [ebx + 0x1fa8], eax
mov eax, dword [ebx + 0x1f44]
imul eax, dword [ebx + 0x19cc]
mov ecx, dword [ebx + 0x1f50]
mov eax, dword [ecx + eax]
mov dword [esp + 4], eax
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov edx, dword [ebp - 0x5a8]
mov eax, dword [edx + 0x54]
mov dword [ebx + 0x1fa0], eax
xor eax, eax
cmp dword [edx + 0x110], 0x405
setne al
add eax, 0x404
mov dword [esp], eax
mov dword [ebp - 0x5a8], edx
call sub.OPENGL32.DLL_glCullFace
push eax
mov dword [ebx + 0x1970], 1
jmp 0x6c277c79
mov eax, dword [ebp - 0x568]
movaps xmm0, xmmword [eax]
jmp 0x6c277709
mov dword [ebx + 0x1fa8], 0
test byte [ebx + 0x19c9], 0x80
mov eax, dword [ebx + 0x1f44]
jne 0x6c278450
imul eax, dword [edx + 0x34]
mov ecx, dword [ebx + 0x1f50]
mov eax, dword [ecx + eax]
mov dword [esp + 4], eax
mov dword [esp], 0xde1
mov dword [ebp - 0x5a8], edx
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov edx, dword [ebp - 0x5a8]
jmp 0x6c277a01
imul eax, dword [edx + 0x10]
mov ecx, dword [ebx + 0x1f50]
mov eax, dword [ecx + eax]
jmp 0x6c277180
test byte [edx + 0x118], 8
je 0x6c27821e
xor eax, eax
cmp dword [edx + 0x110], 0x405
setne al
add eax, 0x404
mov dword [esp], eax
mov dword [ebp - 0x5a8], edx
call sub.OPENGL32.DLL_glCullFace
push eax
jmp 0x6c278200
lea esi, [ebx + 0x2450]
mov ecx, 4
mov edi, dword [ebp - 0x590]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x540]
add edi, 0xc0
lea esi, [ebx + 0x2450]
mov cl, 4
rep movsd dword es:[edi], dword [esi]
jmp 0x6c277996
imul eax, dword [edx + 0x10]
mov ecx, dword [ebx + 0x1f50]
mov eax, dword [ecx + eax]
jmp 0x6c2775fc
imul eax, dword [ebx + 0x19cc]
mov ecx, dword [ebx + 0x1f50]
mov eax, dword [ecx + eax]
jmp 0x6c27839a
mov dword [ebx + 0x1fa8], 0
test byte [ebx + 0x19c9], 0x80
mov eax, dword [ebx + 0x1f44]
jne 0x6c27851a
imul eax, dword [edx + 0x34]
mov ecx, dword [ebx + 0x1f50]
mov eax, dword [ecx + eax]
mov dword [esp + 4], eax
mov dword [esp], 0xde1
mov dword [ebp - 0x5a8], edx
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov edx, dword [ebp - 0x5a8]
jmp 0x6c278325
movaps xmm0, xmmword [edx]
jmp 0x6c276ff1
mov dword [esp], 3
mov dword [ebp - 0x5a8], edx
call dword [0x6c4542d0]
push edx
mov edx, dword [ebp - 0x5a8]
jmp 0x6c277d4e
mov eax, dword [ebp - 0x568]
movaps xmm0, xmmword [eax]
jmp 0x6c277f4f
lea edx, [ebx + 0x1960]
mov dword [ebp - 0x55c], edx
jmp 0x6c276e3a
mov dword [esp], 3
mov dword [ebp - 0x5a8], edx
call dword [0x6c4542d0]
push eax
mov edx, dword [ebp - 0x5a8]
jmp 0x6c27828e
imul eax, dword [ebx + 0x19cc]
mov ecx, dword [ebx + 0x1f50]
mov eax, dword [ecx + eax]
jmp 0x6c27848f
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x558
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x500], edx
mov ebx, dword [ecx + 8]
mov dword [ebp - 0x524], ebx
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x508], edx
mov ebx, dword [ecx + 0x10]
mov dword [ebp - 0x51c], ebx
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x528], ecx
mov edx, dword [eax + 0x24c0]
mov edx, dword [edx + 0xc]
mov dword [ebp - 0x4e8], edx
mov edx, dword [eax + 0x24b0]
mov edx, dword [edx + 0xc]
mov dword [ebp - 0x504], edx
mov edx, dword [eax + 0x24b4]
mov ebx, dword [edx + 0xc]
mov dword [ebp - 0x4e4], ebx
mov edx, dword [edx + 4]
mov dword [ebp - 0x4e0], edx
mov edi, dword [eax + 0x24c8]
test edi, edi
je 0x6c278633
mov esi, dword [eax + 0x24cc]
mov dword [ebp - 0x4f8], esi
lea ecx, [edi + 0x20]
mov dword [ebp - 0x4e0], 0
lea edx, [ebp - 0x4d8]
mov dword [ebp - 0x4dc], edx
jmp 0x6c2785f6
lea ebx, [ecx + 0x10]
mov dword [edx], ebx
mov dword [edx + 0x10], ecx
add edx, 0x20
sub edx, 0x10
cmp edx, dword [ebp - 0x4dc]
jb 0x6c278633
mov esi, dword [ecx]
mov ebx, esi
and ebx, 3
cmp ebx, 3
je 0x6c279088
mov esi, dword [ebp - 0x500]
fld dword [esi + ebx*4]
fld dword [ecx + 4]
fxch st(1)
mov ecx, dword [ecx + 0xc]
fcompi st(1)
fstp st(0)
jae 0x6c2785e0
mov dword [edx], ecx
add ecx, 0x10
mov dword [edx + 0x10], ecx
add edx, 0x20
sub edx, 0x10
cmp edx, dword [ebp - 0x4dc]
jae 0x6c2785f6
mov edx, dword [ebp - 0x508]
movaps xmm2, xmmword [edx]
mov ebx, dword [ebp - 0x51c]
movaps xmm1, xmmword [ebx]
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xc9
mulps xmm0, xmm2
shufps xmm2, xmm2, 0xc9
mulps xmm1, xmm2
subps xmm1, xmm0
shufps xmm1, xmm1, 0xc9
movaps xmmword [ebp - 0x4f8], xmm1
mov edx, dword [ebp - 0x4e0]
test edx, edx
je 0x6c27949a
xor esi, esi
lea edx, [eax + 0x1960]
mov dword [ebp - 0x4fc], edx
mov edi, eax
jmp 0x6c278699
test al, 0x80
jne 0x6c2787e0
inc esi
cmp esi, dword [ebp - 0x4e0]
je 0x6c278905
mov eax, dword [edi + 0x24cc]
mov eax, dword [eax + esi*4]
lea edx, [eax + eax*8]
lea ebx, [eax + edx*2]
shl ebx, 4
add ebx, dword [ebp - 0x4e4]
mov eax, dword [ebx + 0x118]
test al, 0x40
je 0x6c278684
mov dword [esp + 4], 0x84c1
mov eax, dword [ebp - 0x4fc]
mov dword [esp], eax
call fcn.6c251c20
mov eax, dword [edi + 0x1f44]
imul eax, dword [ebx + 0x10]
mov edx, dword [edi + 0x1f50]
mov eax, dword [edx + eax]
mov dword [esp + 4], eax
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp + 8], 0x2703
mov dword [esp + 4], 0x2801
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x2601
mov dword [esp + 4], 0x2800
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 1
mov dword [esp + 4], 0x8191
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov eax, dword [0x6c2e3088]
test eax, eax
je 0x6c27877d
mov eax, dword [0x6c490a10]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x84fe
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameterf
sub esp, 0xc
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x1401
mov dword [esp + 0x18], 0x1907
mov dword [esp + 0x14], 0
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x8051
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexImage2D
sub esp, 0x24
mov eax, dword [ebx + 0x118]
and eax, 0xffffffbf
mov dword [ebx + 0x118], eax
test al, 0x80
je 0x6c27868c
mov dword [esp + 4], 0x84c1
mov edx, dword [ebp - 0x4fc]
mov dword [esp], edx
call fcn.6c251c20
mov eax, dword [edi + 0x1f44]
imul eax, dword [ebx + 0x34]
mov edx, dword [edi + 0x1f50]
mov eax, dword [edx + eax]
mov dword [esp + 4], eax
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp + 8], 0x2703
mov dword [esp + 4], 0x2801
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 0x2601
mov dword [esp + 4], 0x2800
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov dword [esp + 8], 1
mov dword [esp + 4], 0x8191
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameteri
sub esp, 0xc
mov eax, dword [0x6c2e3088]
test eax, eax
je 0x6c2788a2
mov eax, dword [0x6c490a10]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x84fe
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexParameterf
sub esp, 0xc
mov eax, dword [ebx + 0x4c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x1401
mov dword [esp + 0x18], 0x1907
mov dword [esp + 0x14], 0
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x38]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x8051
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glTexImage2D
sub esp, 0x24
and dword [ebx + 0x118], 0xffffff7f
inc esi
cmp esi, dword [ebp - 0x4e0]
jne 0x6c278699
mov dword [esp + 4], 0x84c0
mov ebx, dword [ebp - 0x4fc]
mov dword [esp], ebx
mov dword [ebp - 0x530], edi
call fcn.6c251c20
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glEnable
push eax
mov eax, dword [ebp - 0x530]
mov edx, dword [eax + 0x1f44]
imul edx, dword [eax + 0x19cc]
mov ecx, dword [eax + 0x1f50]
mov edx, dword [ecx + edx]
mov dword [esp + 4], edx
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov eax, dword [ebp - 0x530]
mov dword [eax + 0x1f8c], 0
mov dword [esp + 4], 0x303
mov dword [esp], 0x302
call sub.OPENGL32.DLL_glBlendFunc
sub esp, 8
mov dword [esp], 0xbc0
call sub.OPENGL32.DLL_glEnable
push eax
mov eax, dword [ebp - 0x530]
mov dword [eax + 0x1f90], 1
xor edx, edx
mov esi, dword [ebp - 0x4e8]
add esi, 0x60
mov dword [ebp - 0x520], esi
jmp 0x6c2789c1
inc edx
cmp edx, dword [ebp - 0x4e0]
je 0x6c278c99
mov ecx, dword [eax + 0x24cc]
mov ecx, dword [ecx + edx*4]
lea ebx, [ecx + ecx*8]
lea ebx, [ecx + ebx*2]
shl ebx, 4
add ebx, dword [ebp - 0x4e4]
test byte [ebx + 0x118], 2
jne 0x6c2789b4
mov ecx, dword [ebx + 0x114]
lea ecx, [ecx + ecx*2]
lea esi, [ecx + ecx*4]
shl esi, 4
add esi, dword [ebp - 0x4e8]
mov ecx, 0x39
mov edi, dword [ebp - 0x4e8]
rep movsd dword es:[edi], dword [esi]
cmp dword [ebx + 0x114], 1
je 0x6c279208
mov dword [eax + 0x1f80], 0
mov dword [esp + 4], 0x84c1
mov ecx, dword [ebp - 0x4fc]
mov dword [esp], ecx
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], edx
call fcn.6c251c20
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glEnable
push eax
mov eax, dword [ebp - 0x530]
test byte [eax + 0x19c9], 0x80
mov edx, dword [ebp - 0x52c]
mov ecx, dword [eax + 0x1f44]
je 0x6c2790b8
imul ecx, dword [eax + 0x19cc]
mov esi, dword [eax + 0x1f50]
mov ecx, dword [esi + ecx]
mov dword [esp + 4], ecx
mov dword [esp], 0xde1
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], edx
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov ecx, dword [ebx + 0x110]
mov dword [esp], ecx
call sub.OPENGL32.DLL_glCullFace
push esi
mov eax, dword [ebp - 0x530]
mov dword [eax + 0x1970], 0
mov edi, dword [ebx + 0x5c]
test edi, edi
mov edx, dword [ebp - 0x52c]
je 0x6c2790e0
movaps xmm2, xmmword [ebx + 0xb0]
movaps xmm0, xmm2
mulps xmm0, xmm2
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xc9
addps xmm1, xmm0
shufps xmm0, xmm0, 0xd2
addps xmm1, xmm0
rsqrtps xmm1, xmm1
mulps xmm1, xmm2
xorps xmm0, xmm0
cmpneqps xmm0, xmm2
andps xmm1, xmm0
movaps xmmword [ebx + 0xb0], xmm1
movaps xmm0, xmmword [ebp - 0x4f8]
shufps xmm0, xmm0, 0xc9
mulps xmm0, xmm1
movaps xmm4, xmm1
shufps xmm4, xmm1, 0xc9
movaps xmm2, xmmword [ebp - 0x4f8]
mulps xmm2, xmm4
subps xmm2, xmm0
shufps xmm2, xmm2, 0xc9
movaps xmm3, xmm2
mulps xmm3, xmm2
movaps xmm0, xmm3
shufps xmm0, xmm3, 0xc9
addps xmm0, xmm3
shufps xmm3, xmm3, 0xd2
addps xmm0, xmm3
rsqrtps xmm0, xmm0
mulps xmm0, xmm2
xorps xmm3, xmm3
cmpneqps xmm3, xmm2
andps xmm0, xmm3
movaps xmm3, xmm0
mulps xmm3, xmm0
movaps xmm2, xmm3
shufps xmm2, xmm3, 0xc9
addps xmm2, xmm3
shufps xmm3, xmm3, 0xd2
addps xmm2, xmm3
movss dword [ebp - 0x518], xmm2
fldz
fld dword [ebp - 0x518]
fxch st(1)
fcompi st(1)
fstp st(0)
jae 0x6c279234
mulps xmm4, xmm0
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xc9
mulps xmm2, xmm1
subps xmm2, xmm4
shufps xmm2, xmm2, 0xc9
movaps xmm4, xmm2
mulps xmm4, xmm2
movaps xmm3, xmm4
shufps xmm3, xmm4, 0xc9
addps xmm3, xmm4
shufps xmm4, xmm4, 0xd2
addps xmm3, xmm4
rsqrtps xmm3, xmm3
mulps xmm3, xmm2
xorps xmm4, xmm4
cmpneqps xmm4, xmm2
andps xmm3, xmm4
movss xmm4, dword [ebx + 0x88]
shufps xmm4, xmm4, 0
mulps xmm4, xmm1
movss xmm5, dword [ebx + 0x84]
shufps xmm5, xmm5, 0
mulps xmm5, xmm3
movss xmm2, dword [ebx + 0x80]
shufps xmm2, xmm2, 0
mulps xmm2, xmm0
addps xmm2, xmmword [ebx + 0x60]
addps xmm2, xmm5
addps xmm2, xmm4
movaps xmmword [ebp - 0x38], xmm2
mov dword [ebp - 0x2c], 0x3f800000
movss xmm2, dword [ebx + 0x70]
shufps xmm2, xmm2, 0
mulps xmm2, xmm0
movaps xmmword [ebp - 0xb8], xmm2
movss xmm0, dword [ebx + 0x74]
shufps xmm0, xmm0, 0
mulps xmm0, xmm3
movaps xmmword [ebp - 0xa8], xmm0
movss xmm0, dword [ebx + 0x78]
shufps xmm0, xmm0, 0
mulps xmm0, xmm1
movaps xmmword [ebp - 0x98], xmm0
lea edi, [ebp - 0x88]
lea esi, [ebp - 0x38]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], edx
call sub.OPENGL32.DLL_glPushMatrix
lea ecx, [ebp - 0xb8]
mov dword [esp], ecx
call sub.OPENGL32.DLL_glMultMatrixf
push ecx
mov ecx, dword [ebx + 4]
shl ecx, 4
mov ebx, dword [ebp - 0x504]
mov ecx, dword [ebx + ecx + 8]
mov dword [esp], ecx
call fcn.6c25767c
call sub.OPENGL32.DLL_glPopMatrix
mov eax, dword [ebp - 0x530]
mov edx, dword [ebp - 0x52c]
inc edx
cmp edx, dword [ebp - 0x4e0]
jne 0x6c2789c1
mov dword [esp + 4], 0x84c1
mov edx, dword [ebp - 0x4fc]
mov dword [esp], edx
mov dword [ebp - 0x530], eax
call fcn.6c251c20
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp + 0x18], 0
mov ebx, dword [ebp - 0x528]
mov dword [esp + 0x14], ebx
mov edx, dword [ebp - 0x51c]
mov dword [esp + 0x10], edx
mov ebx, dword [ebp - 0x508]
mov dword [esp + 0xc], ebx
mov edx, dword [ebp - 0x524]
mov dword [esp + 8], edx
mov ebx, dword [ebp - 0x500]
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x530]
mov dword [esp], eax
call fcn.6c275674
mov dword [esp], 0xbc0
call sub.OPENGL32.DLL_glDisable
push eax
mov eax, dword [ebp - 0x530]
mov dword [eax + 0x1f90], 0xfffffffe
xor edx, edx
movaps xmm0, xmmword [ebp - 0x4f8]
shufps xmm0, xmm0, 0xc9
movaps xmmword [ebp - 0x518], xmm0
jmp 0x6c278d55
inc edx
cmp edx, dword [ebp - 0x4e0]
je 0x6c279024
mov ecx, dword [eax + 0x24cc]
mov ecx, dword [ecx + edx*4]
lea ebx, [ecx + ecx*8]
lea ebx, [ecx + ebx*2]
shl ebx, 4
add ebx, dword [ebp - 0x4e4]
test byte [ebx + 0x118], 2
jne 0x6c278d48
mov ecx, dword [ebx + 0x114]
lea ecx, [ecx + ecx*2]
lea esi, [ecx + ecx*4]
shl esi, 4
add esi, dword [ebp - 0x4e8]
mov ecx, 0x39
mov edi, dword [ebp - 0x4e8]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x4e8]
test byte [ecx + 4], 0xc4
jne 0x6c278dba
mov ecx, dword [ebx + 4]
shl ecx, 4
mov esi, dword [ebp - 0x504]
mov ecx, dword [esi + ecx + 8]
test byte [ecx + 0x48], 0xc4
je 0x6c278d48
mov dword [eax + 0x1f80], 0
mov dword [esp + 4], 0x84c1
mov ecx, dword [ebp - 0x4fc]
mov dword [esp], ecx
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], edx
call fcn.6c251c20
mov eax, dword [ebp - 0x530]
test byte [eax + 0x19c9], 0x80
mov edx, dword [ebp - 0x52c]
mov ecx, dword [eax + 0x1f44]
je 0x6c2790cc
imul ecx, dword [eax + 0x19cc]
mov esi, dword [eax + 0x1f50]
mov ecx, dword [esi + ecx]
mov dword [esp + 4], ecx
mov dword [esp], 0xde1
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], edx
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov ecx, dword [ebx + 0x110]
mov dword [esp], ecx
call sub.OPENGL32.DLL_glCullFace
push esi
mov eax, dword [ebp - 0x530]
mov dword [eax + 0x1970], 0
mov edi, dword [ebx + 0x5c]
test edi, edi
mov edx, dword [ebp - 0x52c]
je 0x6c279244
movaps xmm2, xmmword [ebx + 0xb0]
movaps xmm0, xmm2
mulps xmm0, xmm2
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xc9
addps xmm1, xmm0
shufps xmm0, xmm0, 0xd2
addps xmm1, xmm0
rsqrtps xmm1, xmm1
mulps xmm1, xmm2
xorps xmm0, xmm0
cmpneqps xmm0, xmm2
andps xmm1, xmm0
movaps xmmword [ebx + 0xb0], xmm1
movaps xmm0, xmmword [ebp - 0x518]
mulps xmm0, xmm1
movaps xmm4, xmm1
shufps xmm4, xmm1, 0xc9
movaps xmm2, xmmword [ebp - 0x4f8]
mulps xmm2, xmm4
subps xmm2, xmm0
shufps xmm2, xmm2, 0xc9
movaps xmm3, xmm2
mulps xmm3, xmm2
movaps xmm0, xmm3
shufps xmm0, xmm3, 0xc9
addps xmm0, xmm3
shufps xmm3, xmm3, 0xd2
addps xmm0, xmm3
rsqrtps xmm0, xmm0
mulps xmm0, xmm2
xorps xmm3, xmm3
cmpneqps xmm3, xmm2
andps xmm0, xmm3
movaps xmm3, xmm0
mulps xmm3, xmm0
movaps xmm2, xmm3
shufps xmm2, xmm3, 0xc9
addps xmm2, xmm3
shufps xmm3, xmm3, 0xd2
addps xmm2, xmm3
movss dword [ebp - 0x500], xmm2
fldz
fld dword [ebp - 0x500]
fxch st(1)
fcompi st(1)
fstp st(0)
jae 0x6c27938c
mulps xmm4, xmm0
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xc9
mulps xmm2, xmm1
subps xmm2, xmm4
shufps xmm2, xmm2, 0xc9
movaps xmm4, xmm2
mulps xmm4, xmm2
movaps xmm3, xmm4
shufps xmm3, xmm4, 0xc9
addps xmm3, xmm4
shufps xmm4, xmm4, 0xd2
addps xmm3, xmm4
rsqrtps xmm3, xmm3
mulps xmm3, xmm2
xorps xmm4, xmm4
cmpneqps xmm4, xmm2
andps xmm3, xmm4
movss xmm4, dword [ebx + 0x88]
shufps xmm4, xmm4, 0
mulps xmm4, xmm1
movss xmm5, dword [ebx + 0x84]
shufps xmm5, xmm5, 0
mulps xmm5, xmm3
movss xmm2, dword [ebx + 0x80]
shufps xmm2, xmm2, 0
mulps xmm2, xmm0
addps xmm2, xmmword [ebx + 0x60]
addps xmm2, xmm5
addps xmm2, xmm4
movaps xmmword [ebp - 0x28], xmm2
mov dword [ebp - 0x1c], 0x3f800000
movss xmm2, dword [ebx + 0x70]
shufps xmm2, xmm2, 0
mulps xmm2, xmm0
movaps xmmword [ebp - 0x78], xmm2
movss xmm0, dword [ebx + 0x74]
shufps xmm0, xmm0, 0
mulps xmm0, xmm3
movaps xmmword [ebp - 0x68], xmm0
movss xmm0, dword [ebx + 0x78]
shufps xmm0, xmm0, 0
mulps xmm0, xmm1
movaps xmmword [ebp - 0x58], xmm0
lea edi, [ebp - 0x48]
lea esi, [ebp - 0x28]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], edx
call sub.OPENGL32.DLL_glPushMatrix
lea ecx, [ebp - 0x78]
mov dword [esp], ecx
call sub.OPENGL32.DLL_glMultMatrixf
push ecx
mov ecx, dword [ebx + 4]
shl ecx, 4
mov ebx, dword [ebp - 0x504]
mov ecx, dword [ebx + ecx + 8]
mov dword [esp], ecx
call fcn.6c25767c
call sub.OPENGL32.DLL_glPopMatrix
mov eax, dword [ebp - 0x530]
mov edx, dword [ebp - 0x52c]
inc edx
cmp edx, dword [ebp - 0x4e0]
jne 0x6c278d55
nop
mov dword [esp], 0x84c1
call dword [0x6c45438c]
push edx
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp], 0x84c0
call dword [0x6c45438c]
push ecx
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glDisable
push ebx
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
test esi, 0x1fc
je 0x6c2790af
shr esi, 9
mov ecx, dword [edi + 0x34]
mov ecx, dword [ecx + esi*4]
mov ebx, dword [ebp - 0x4e0]
mov esi, dword [ebp - 0x4f8]
mov dword [esi + ebx*4], ecx
inc ebx
mov dword [ebp - 0x4e0], ebx
mov ecx, dword [edx - 0x10]
jmp 0x6c2785eb
imul ecx, dword [ebx + 0x10]
mov esi, dword [eax + 0x1f50]
mov ecx, dword [esi + ecx]
jmp 0x6c278a79
imul ecx, dword [ebx + 0x10]
mov esi, dword [eax + 0x1f50]
mov ecx, dword [esi + ecx]
jmp 0x6c278e15
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], edx
call sub.OPENGL32.DLL_glPushMatrix
lea ecx, [ebx + 0x90]
mov dword [esp], ecx
call sub.OPENGL32.DLL_glMultMatrixf
push eax
mov ecx, dword [ebx + 4]
shl ecx, 4
mov esi, dword [ebp - 0x504]
mov ecx, dword [esi + ecx + 8]
mov dword [esp], ecx
call fcn.6c25767c
mov eax, dword [ebp - 0x530]
mov edx, dword [eax + 0x2464]
test edx, edx
mov edx, dword [ebp - 0x52c]
je 0x6c279310
cmp dword [ebx + 0x114], 1
je 0x6c27946c
mov dword [esp + 4], 0x84c1
mov ecx, dword [ebp - 0x4fc]
mov dword [esp], ecx
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], edx
call fcn.6c251c20
mov eax, dword [ebp - 0x530]
test byte [eax + 0x19c9], 0x80
mov edx, dword [ebp - 0x52c]
mov ecx, dword [eax + 0x1f44]
je 0x6c27939c
imul ecx, dword [eax + 0x19cc]
mov esi, dword [eax + 0x1f50]
mov ecx, dword [esi + ecx]
mov dword [esp + 4], ecx
mov dword [esp], 0xde1
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], edx
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
xor ecx, ecx
cmp dword [ebx + 0x110], 0x405
setne cl
add ecx, 0x404
mov dword [esp], ecx
call sub.OPENGL32.DLL_glCullFace
push eax
mov eax, dword [ebp - 0x530]
mov dword [eax + 0x1970], 1
mov ecx, dword [ebx + 4]
shl ecx, 4
mov ebx, dword [ebp - 0x504]
mov ecx, dword [ebx + ecx + 8]
mov dword [esp], ecx
call fcn.6c25767c
mov eax, dword [ebp - 0x530]
mov edx, dword [ebp - 0x52c]
jmp 0x6c279367
lea esi, [eax + 0x2440]
mov cl, 4
mov edi, dword [ebp - 0x520]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x4e8]
add edi, 0xc0
lea esi, [eax + 0x2440]
mov cl, 4
rep movsd dword es:[edi], dword [esi]
jmp 0x6c278a11
mov ecx, dword [ebp - 0x508]
movaps xmm0, xmmword [ecx]
jmp 0x6c278b7d
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], edx
call sub.OPENGL32.DLL_glPushMatrix
lea ecx, [ebx + 0x90]
mov dword [esp], ecx
call sub.OPENGL32.DLL_glMultMatrixf
push eax
mov ecx, dword [ebx + 4]
shl ecx, 4
mov esi, dword [ebp - 0x504]
mov ecx, dword [esi + ecx + 8]
mov dword [esp], ecx
call fcn.6c25767c
mov eax, dword [ebp - 0x530]
mov edx, dword [eax + 0x2464]
test edx, edx
mov edx, dword [ebp - 0x52c]
jne 0x6c2793b0
test byte [ebx + 0x118], 8
je 0x6c2792ed
xor ecx, ecx
cmp dword [ebx + 0x110], 0x405
setne cl
add ecx, 0x404
mov dword [esp], ecx
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], edx
call sub.OPENGL32.DLL_glCullFace
push esi
mov ecx, dword [ebx + 4]
shl ecx, 4
mov ebx, dword [ebp - 0x504]
mov ecx, dword [ebx + ecx + 8]
mov dword [esp], ecx
call fcn.6c256db0
mov edx, dword [ebp - 0x52c]
mov eax, dword [ebp - 0x530]
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], edx
call sub.OPENGL32.DLL_glPopMatrix
mov edx, dword [ebp - 0x52c]
mov eax, dword [ebp - 0x530]
jmp 0x6c278d48
test byte [ebx + 0x118], 8
je 0x6c279367
xor ecx, ecx
cmp dword [ebx + 0x110], 0x405
setne cl
add ecx, 0x404
mov dword [esp], ecx
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], edx
call sub.OPENGL32.DLL_glCullFace
push eax
mov ecx, dword [ebx + 4]
shl ecx, 4
mov ebx, dword [ebp - 0x504]
mov ecx, dword [ebx + ecx + 8]
mov dword [esp], ecx
call fcn.6c256db0
mov edx, dword [ebp - 0x52c]
mov eax, dword [ebp - 0x530]
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], edx
call sub.OPENGL32.DLL_glPopMatrix
mov edx, dword [ebp - 0x52c]
mov eax, dword [ebp - 0x530]
jmp 0x6c2789b4
mov ecx, dword [ebp - 0x508]
movaps xmm0, xmmword [ecx]
jmp 0x6c278f15
imul ecx, dword [ebx + 0x34]
mov esi, dword [eax + 0x1f50]
mov ecx, dword [esi + ecx]
jmp 0x6c279190
mov dword [esp + 4], 0x84c1
mov ecx, dword [ebp - 0x4fc]
mov dword [esp], ecx
call fcn.6c251c20
mov eax, dword [ebp - 0x530]
test byte [eax + 0x19c9], 0x80
mov edx, dword [ebp - 0x52c]
mov ecx, dword [eax + 0x1f44]
je 0x6c2795c7
imul ecx, dword [eax + 0x19cc]
mov esi, dword [eax + 0x1f50]
mov ecx, dword [esi + ecx]
mov dword [esp + 4], ecx
mov dword [esp], 0xde1
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], edx
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
xor ecx, ecx
cmp dword [ebx + 0x110], 0x405
setne cl
add ecx, 0x404
mov dword [esp], ecx
call sub.OPENGL32.DLL_glCullFace
push edi
mov eax, dword [ebp - 0x530]
mov dword [eax + 0x1970], 1
mov ecx, dword [ebx + 4]
shl ecx, 4
mov ebx, dword [ebp - 0x504]
mov ecx, dword [ebx + ecx + 8]
mov dword [esp], ecx
call fcn.6c25767c
mov eax, dword [ebp - 0x530]
mov edx, dword [ebp - 0x52c]
jmp 0x6c2792ed
lea esi, [eax + 0x2450]
mov ecx, 4
mov edi, dword [ebp - 0x520]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x4e8]
add edi, 0xc0
lea esi, [eax + 0x2450]
mov cl, 4
rep movsd dword es:[edi], dword [esi]
jmp 0x6c27913f
lea ebx, [eax + 0x1960]
mov dword [esp + 4], 0x84c0
mov dword [esp], ebx
mov dword [ebp - 0x530], eax
call fcn.6c251c20
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glEnable
push eax
mov eax, dword [ebp - 0x530]
mov edx, dword [eax + 0x1f44]
imul edx, dword [eax + 0x19cc]
mov ecx, dword [eax + 0x1f50]
mov edx, dword [ecx + edx]
mov dword [esp + 4], edx
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov eax, dword [ebp - 0x530]
mov dword [eax + 0x1f8c], 0
mov dword [esp + 4], 0x303
mov dword [esp], 0x302
call sub.OPENGL32.DLL_glBlendFunc
sub esp, 8
mov dword [esp], 0xbc0
call sub.OPENGL32.DLL_glEnable
push eax
mov eax, dword [ebp - 0x530]
mov dword [eax + 0x1f90], 1
mov dword [esp + 4], 0x84c1
mov dword [esp], ebx
call fcn.6c251c20
mov dword [esp + 4], 0
mov dword [esp], 0xde1
call sub.OPENGL32.DLL_glBindTexture
sub esp, 8
mov dword [esp + 0x18], 0
mov edx, dword [ebp - 0x528]
mov dword [esp + 0x14], edx
mov ebx, dword [ebp - 0x51c]
mov dword [esp + 0x10], ebx
mov edx, dword [ebp - 0x508]
mov dword [esp + 0xc], edx
mov ebx, dword [ebp - 0x524]
mov dword [esp + 8], ebx
mov edx, dword [ebp - 0x500]
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x530]
mov dword [esp], eax
call fcn.6c275674
mov dword [esp], 0xbc0
call sub.OPENGL32.DLL_glDisable
push eax
mov eax, dword [ebp - 0x530]
mov dword [eax + 0x1f90], 0xfffffffe
jmp 0x6c279024
imul ecx, dword [ebx + 0x34]
mov esi, dword [eax + 0x1f50]
mov ecx, dword [esi + ecx]
jmp 0x6c2793f5
push ebp
push edi
push esi
push ebx
sub esp, 0x2c
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x1c], eax
mov dword [esp], 0x1700
call sub.OPENGL32.DLL_glMatrixMode
push eax
mov dword [ebx + 0x180c], 0
mov eax, dword [0x6c2e3088]
test eax, eax
je 0x6c279674
mov eax, 0x3f800000
test esi, 8
jne 0x6c27963a
xor eax, eax
mov dword [ebx + 0x1fcc], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], esi
mov eax, dword [esp + 0x18]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], ebx
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
jmp 0x6c276a24
test esi, 8
jne 0x6c2796f0
mov dword [ebx + 0x1fcc], 0
mov dword [esp], 0xb60
call sub.OPENGL32.DLL_glDisable
push ecx
mov eax, dword [ebx + 0x1fcc]
mov dword [esp + 4], eax
mov dword [esp], 0xb62
call sub.OPENGL32.DLL_glFogf
sub esp, 8
mov dword [esp + 4], 0x8452
mov dword [esp], 0x8450
call sub.OPENGL32.DLL_glFogi
sub esp, 8
mov dword [esp + 0x54], esi
mov eax, dword [esp + 0x18]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], ebx
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
jmp 0x6c278530
mov dword [ebx + 0x1fcc], 0x3f800000
mov dword [esp], 0xb60
call sub.OPENGL32.DLL_glEnable
push eax
jmp 0x6c279693