Files
bluflame/ev14-4k/project/obj/intro/main.compress.asm
2026-04-18 22:31:51 +02:00

636 lines
16 KiB
NASM

; Listing generated by Microsoft (R) Optimizing Compiler Version 18.00.21005.1
TITLE E:\blu-flame.org\ev14-4k\project\main.compress.cpp
.686P
.XMM
include listing.inc
.model flat
INCLUDELIB LIBCMT
INCLUDELIB OLDNAMES
PUBLIC ?mark_fs_0@@3PADA ; mark_fs_0
PUBLIC ?_fltused@@3HA ; _fltused
PUBLIC ?g_SceneLength@@3PAHA ; g_SceneLength
PUBLIC ?g_SceneShader@@3PAHA ; g_SceneShader
PUBLIC ??_C@_0BJ@MMLKJOPF@glCreateShaderProgramEXT?$AA@ ; `string'
PUBLIC ??_C@_0N@ICBDHBI@glUseProgram?$AA@ ; `string'
PUBLIC ??_C@_0M@MNEJMNAO@glUniform4f?$AA@ ; `string'
PUBLIC ?WaveFMT@@3UtWAVEFORMATEX@@A ; WaveFMT
PUBLIC ?WaveHDR@@3Uwavehdr_tag@@A ; WaveHDR
PUBLIC ?MMTime@@3Ummtime_tag@@A ; MMTime
synthnothing SEGMENT
_lpSoundBuffer DD 0bebc00H DUP (?)
synthnothing ENDS
wavehdr SEGMENT
?WaveHDR@@3Uwavehdr_tag@@A DD FLAT:_lpSoundBuffer ; WaveHDR
DD 02faf000H
DD 00H
DD 00H
DD 02H
DD 00H
DD 00H
DD 00H
wavehdr ENDS
wavefmt SEGMENT
?WaveFMT@@3UtWAVEFORMATEX@@A DW 03H ; WaveFMT
DW 02H
DD 0ac44H
DD 056220H
DW 08H
DW 020H
DW 00H
wavefmt ENDS
; COMDAT ??_C@_0M@MNEJMNAO@glUniform4f?$AA@
CONST SEGMENT
??_C@_0M@MNEJMNAO@glUniform4f?$AA@ DB 'glUniform4f', 00H ; `string'
CONST ENDS
glUniform4f SEGMENT
_sglUniform4f DD FLAT:??_C@_0M@MNEJMNAO@glUniform4f?$AA@
glUniform4f ENDS
; COMDAT ??_C@_0N@ICBDHBI@glUseProgram?$AA@
CONST SEGMENT
??_C@_0N@ICBDHBI@glUseProgram?$AA@ DB 'glUseProgram', 00H ; `string'
CONST ENDS
glUseProgram SEGMENT
_sglUseProgram DD FLAT:??_C@_0N@ICBDHBI@glUseProgram?$AA@
glUseProgram ENDS
; COMDAT ??_C@_0BJ@MMLKJOPF@glCreateShaderProgramEXT?$AA@
CONST SEGMENT
??_C@_0BJ@MMLKJOPF@glCreateShaderProgramEXT?$AA@ DB 'glCreateShaderProgra'
DB 'mEXT', 00H ; `string'
CONST ENDS
glCreateShaderProgramEXT SEGMENT
_sglCreateShaderProgramEXT DD FLAT:??_C@_0BJ@MMLKJOPF@glCreateShaderProgramEXT?$AA@
glCreateShaderProgramEXT ENDS
g_SceneShader SEGMENT
?g_SceneShader@@3PAHA DD 00H ; g_SceneShader
DD 00H
DD 00H
DD 00H
DD 00H
DD 00H
DD 00H
DD 00H
DD 01H
DD 01H
DD 01H
DD 01H
DD 02H
DD 02H
DD 02H
DD 02H
g_SceneShader ENDS
g_SceneLength SEGMENT
?g_SceneLength@@3PAHA DD 010H ; g_SceneLength
DD 010H
DD 010H
DD 08H
DD 08H
DD 08H
DD 08H
DD 010H
DD 08H
DD 08H
DD 010H
DD 010H
DD 010H
DD 010H
DD 010H
DD 010H
DD 080000000H
g_SceneLength ENDS
fltused SEGMENT
?_fltused@@3HA DD 01H ; _fltused
_gCurScene DD 00H
_gCurSceneStart DD 00H
_lf_Time DD 000000000r ; 0
fltused ENDS
dmScreenSettings SEGMENT
_dmScreenSettings DB 00H
ORG $+31
DW 00H
DW 00H
DW 09cH
DW 00H
DD 0180000H
DW 00H
DW 00H
DW 00H
DW 00H
DW 00H
DW 00H
DW 00H
DW 00H
DW 00H
DW 00H
DW 00H
DW 00H
DW 00H
DB 00H
ORG $+31
DW 00H
DD 00H
DD 0500H
DD 0400H
ORG $+40
dmScreenSettings ENDS
CONST SEGMENT
_pfd DW 00H
DW 01H
DD 021H
DB 00H
DB 020H
DB 00H
DB 00H
DB 00H
DB 00H
DB 00H
DB 00H
DB 00H
DB 00H
DB 00H
DB 00H
DB 00H
DB 00H
DB 08H
ORG $+17
CONST ENDS
aspect SEGMENT
_aspect DD 03e000000r ; 0.125
aspect ENDS
mmtime SEGMENT
?mark_fs_0@@3PADA DB 'const int z=0;uniform vec4 v;float f,y,x,e,m,s=6.28'
DB '319;int i;vec2 r;vec3 l,c=vec3(0.),w=vec3(0.),d=vec3(8.,4.,2.'
DB '),t=vec3(.7,1.,1.2);vec4 n;vec2 h(vec2 y,float i){return cos('
DB 'i)*y+sin(i)*vec2(-y.y,y.x);}float h(inout vec2 z,float v,floa'
DB 't y){float e=atan(z.y,z.x),x=mod(e,y)-y*.5;z=length(z)*vec2(c'
DB 'os(x),sin(x));z.x-=v;return e-x;}void p(inout float z,float y'
DB '){z=mod(z-y*.5,y)-y*.5;}float o(float z,float y){return floor'
DB '((z-y*.5)/y);}float a(vec3 z,float y){return length(vec2(leng'
DB 'th(z.xz)-y,z.y));}float a(in vec3 z,in vec3 y,float x){return'
DB ' length(max(abs(z)-y+vec3(x),0.))-x;}float a(float z,float y,'
DB 'float x,float i){return sin(z+y+i*sin(z+x));}float o(float y,'
DB 'float z,float x){float m=clamp(.5+.5*(z-y)/x,0.,1.);return mi'
DB 'x(z,y,m)-x*m*(1.-m);}float a(vec3 v){if(z==0){float m=length('
DB 'v)-24.-a(.3*v.x,8.*y,.3*v.y,sin(.3*v.z));if(e==2.)return 999.'
DB ';else if(e<4.)return m;else return v.x+=sin(4.*x+.2*v.y),v.z+'
DB '=sin(.3*v.y),.8*o(max(v.y,length(v.xz)-4.-a(0.,.2*v.y,.5*v.x,'
DB '.3*v.z)+11.*smoothstep(11.,-11.,v.y+222.*x)),m,11.);}else if('
DB 'z==1){vec3 i=v;i.x+=sin(4.*y+.2*i.y);i.z+=sin(.3*i.y);v.y-=11'
DB '.-6.*smoothstep(-22.,0.,v.x);p(v.y,88.);float m=v.x;v.x-=77.*'
DB 'y;v.yz=h(v.yz,cos(.3*m)+4.*y*cos(77.*o(v.x,6.)));p(v.x,6.);v.'
DB 'y-=1.;return o(max(length(v)-1.,m),length(i.xz)-6.-a(0.,.2*i.'
DB 'y,.5*i.x,.3*i.z),4.);}else{float i=v.x;v.x-=77.*smoothstep(0.'
DB ',.6,x);i=a(16.*y,.3*v.y,.3*v.z,sin(.3*v.x))*smoothstep(34.,33'
DB '.,i);if(a(16.,.3,o(v.z,99.),o(v.x,77.)-(y-x))>.8)i+=8.;p(v.z,'
DB '99.);p(v.x,77.);return a(v,22.)-6.+i;}}float h(vec3 v){if(z=='
DB '0){if(e<2.)return 999.;v.xz=h(v.xz,2.*x);h(v.xz,44.,s/5.);v.y'
DB '+=77.-x*22.;v.xy=h(v.xy,-x);vec3 i=v;i.y-=17.;i.x-=38.;i.xy=h'
DB '(i.xy,.4);float m=-i.y;i.y+=83.;return max(m,length(i)-88.);}'
DB 'else if(z==1){v.xz=h(v.xz,11.*sin(99.*o(v.y,22.))+4.*y*cos(66'
DB '.*o(v.y,22.)));p(v.y,22.);float m=length(v.xz)-22.;v.z-=44.;f'
DB 'loat i=length(max(vec2(abs(v.y)-2.7,58.-length(v.xz)),0.))-2.'
DB ';return max(i,m);}else{p(v.z,99.);v.x-=77.*smoothstep(0.,.6,x'
DB ')-77.*smoothstep(.6,.9,x);v.y-=22.*smoothstep(.5,.7,x)-22.*sm'
DB 'oothstep(.9,1.,x);v.y-=4.;float i=a(v,vec3(33.,7.,33.),3.);h('
DB 'v.zx,11.,s/2.);v.y-=11.;return o(i,a(v,vec3(22.,22.,8.),8.),8'
DB '.);}}float o(vec3 v){if(z==0){if(e<2.)return 999.;v.xz=h(v.xz'
DB ',2.*x);h(v.xz,44.,s/5.);v.y+=77.-x*22.;v.xy=h(v.xy,-x);vec3 i'
DB '=v;i.y-=17.;i.x-=38.;i.xy=h(i.xy,.4);float m=max(max(i.y,leng'
DB 'th(i)-31.),min(abs(i.z),-i.y)-2.);v.z=abs(v.z)-8.;return min('
DB 'm,a(v,vec3(33.,8.-.1*v.x,4.),2.));}else if(z==1){v.xz=h(v.xz,'
DB '11.*sin(99.*o(v.y,22.))+4.*y*cos(66.*o(v.y,22.)));p(v.y,22.);'
DB 'float i=length(v.xz)-22.;v.z-=12.;float m=length(v.xz)-28.;h('
DB 'v.xz,0.,s/22.);return.6*max(length(v.y)-5.,o(o(length(i)-.5,l'
DB 'ength(m)-.5,4.),max(length(v.yz)-.5,max(m+2.,2.-i)),4.));}els'
DB 'e{p(v.z,99.);float m=v.x;v.x-=77.*smoothstep(0.,.6,x)-77.*smo'
DB 'othstep(.6,.9,x);vec3 i=v;v.y-=22.*smoothstep(.5,.7,x)-22.*sm'
DB 'oothstep(.9,1.,x);v.y-=55.;i.y-=99.;v.z=11.-length(v.z);float'
DB ' f=a(i,vec3(22.,11.,33.),2.);i.z=22.-length(i.z);float l=a(i,'
DB 'vec3(999.,4.,7.),2.);i.x=m;p(i.x,11.);return min(max(l,-lengt'
DB 'h(i.xz)+4.),o(a(v,vec3(6.,44.,6.),2.),f,8.));}}float p(vec3 v'
DB '){if(z==0){if(e<2.)return 999.;float m=v.y+77.;p(v.y,11.);ret'
DB 'urn max(max(length(v.y)-2.,m),length(a(v,vec3(22.,22.,22.),3.'
DB '))-2.);return max(max(abs(v.y-2.),m),length(a(v,vec3(22.,22.,'
DB '22.),3.))-2.);return max(v.y+12.,24.-length(v.z));}else if(z='
DB '=1){v.y-=11.;p(v.y,88.);float i=v.x+44.;v.yz=h(v.yz,11.*sin(9'
DB '9.*o(v.x,18.))+4.*y*cos(77.*o(v.x,18.)));p(v.x,18.);return ma'
DB 'x(i,max(a(v,vec3(5.,22.,22.),2.),-a(v,vec3(11.,11.,11.),4.)))'
DB ';}else{p(v.z,99.);v.x-=77.*smoothstep(0.,.6,x);p(v.x,77.);flo'
DB 'at i=a(v,22.)-9.;v.y-=7.;i=o(a(v,vec3(33.,7.,33.),2.),i,8.);v'
DB '.y+=11.;return min(v.y+10.+length(4.-mod(v.x,8.))/4.,max(a(v,'
DB 'vec3(37.,6.,37.),3.),-i));}}float g(vec3 v){return min(min(mi'
DB 'n(a(v),h(v)),o(v)),p(v));}void u(vec3 v){float z=.5;if(z>a(v)'
DB ')n=vec4(-1.,.4,0.,1.6),c=vec3(.5,0.,.1),m=.3;if(z>h(v))z=h(v)'
DB ',n=vec4(-2.,.8,0.,4.),c=vec3(.4,.1,0.),m=.8;if(z>o(v))z=p(v),'
DB 'n=vec4(-2.,.8,.5,1.2),c=vec3(1.1,.8,.7),m=.1;if(z>p(v))z=o(v)'
DB ',n=vec4(-1.,-.3,.5,.9),c=vec3(.2,.2,.2),m=.05,r.y=0.,r.x=0.;}'
DB 'void g(vec3 y,float v){l+=y*f,f*=v;}vec3 g(vec3 y,vec3 z,vec2'
DB ' v){return smoothstep(v.x,v.y,dot(vec3(.7,.7,0.),y))*z;}void '
DB 'main(){y=v.y;e=v.x;x=y*y;vec3 z=vec3(gl_FragCoord.xy/v.z-.5,.'
DB '6);z.x-=v.w;float o=1.-length(z.xy/vec2(2.6,2.));vec3 p=vec3('
DB '99.,55.,44.)*(1.-y*.3);if(e--<1.)z.yz=h(z.yz,.4),z.xz=h(z.xz,'
DB '2.6);else if(e--<1.)p=vec3(-33.,-11.,y*33.),z.yz=h(z.yz,-.4),'
DB 'z.xz=h(z.xz,4.5);else if(e--<1.)p=vec3(11.,-99.*(1.-y*1.2),-8'
DB '8.),z.yz=h(z.yz,.5),x=0.;else if(e--<1.)p=vec3(-33.,44.*(1.-y'
DB '*.4),-99.),z.yz=h(z.yz,.5);else if(e--<1.)p=vec3(11.,66.*(1.-'
DB 'y*.4),-33.),z.yz=h(z.yz,1.2);else if(e--<1.)p=vec3(-66.,-88.*'
DB '(.6+y*.3),66.),z.yz=h(z.yz,-.4),z.xz=h(z.xz,4.5);else if(e--<'
DB '1.)p=vec3(-33.,-99.*(.5+y),-33.),z.yz=h(z.yz,-.3),z.xz=h(z.xz'
DB ',5.3);else if(e--<1.)p=vec3(0.,-99.*(.5+y*1.5),-6.),z.yz=h(z.'
DB 'yz,-1.);else if(e--<1.)p=vec3(-88.*(1.+y),10.,-4.),z.yz=h(z.y'
DB 'z,-.3),z.xz=h(z.xz,1.-y);else if(e--<1.)p=vec3(-88.*(1.-y*.4)'
DB ',13.,4.),z.yz=h(z.yz,.3),z.xz=h(z.xz,3.+y);else if(e--<1.)p=v'
DB 'ec3(-33.*(1.-y*.6),103.,-6.),z.yz=h(z.yz,.6),z.xz=h(z.xz,6.),'
DB 'x*=2.;else if(e--<1.)p=vec3(-8.,-99.*(y*1.8),6.),z.yz=h(z.yz,'
DB '.6+y),z.xz=h(z.xz,3.),x*=2.;else if(e--<1.)p=vec3(-88.,22.,-9'
DB '9.*(1.-y*1.2)),z.xz=h(z.xz,5.5),y=y*8.+.6,x=mod(y,1.);else if'
DB '(e--<1.)p=vec3(166.,44.,99.*(1.-y*3.3)),z.yz=h(z.yz,.4),z.xz='
DB 'h(z.xz,1.-y),y=y*8.+.6,x=mod(y,1.);else if(e--<1.)p=vec3(-99.'
DB '*(1.-y*3.3),88.,-44.),z.yz=h(z.yz,.6+y),z.xz=h(z.xz,2.5),y=y*'
DB '8.+.6,x=mod(y,1.);else if(e--<1.)p=vec3(-99.*(1.-y*.8),12.,99'
DB '.),z.xz=h(z.xz,4.5),y=y*8.+.6,x=mod(y,1.);e=v.x;z=normalize(z'
DB ');l=vec3(0.,0.,0.);f=1.;float a=0.,b,k;i=0;n=vec4(-3.,8.,.98,'
DB '1.);while(i++<2){for(m=1.;a<999.&&m>a*.0005;a+=m,w=z*a)m=g(p+'
DB 'w);vec3 F=p+w;p=F;r=vec2(.04,0.);vec3 C=normalize(vec3(g(p+r.'
DB 'xyy)-g(p-r.xyy),g(p+r.yxy)-g(p-r.yxy),g(p+r.yyx)-g(p-r.yyx)))'
DB ';u(p);if(a>999.){if(i<2)n=vec4(-3.,8.,.98,1.);break;}z=reflec'
DB 't(z,C);b=8.;for(k=1.;b>0.;b--)k-=.5*(b-g(p+C*b))/exp2(b);c*=k'
DB '*g(z,t,n.xy);l+=f*c;f*=m;a=.5;w=z*a;}gl_FragColor.xyz=smooths'
DB 'tep(15.8,15.79,v.x+v.y)*o*min(1.,sin(v.y*s/2.)*15.8)*(l+f*(g('
DB 'z,d,n.zw)+g(z,t,n.xy)));}', 00H ; mark_fs_0
ORG $+1
?MMTime@@3Ummtime_tag@@A DD 02H ; MMTime
DD 00H
ORG $+4
mmtime ENDS
PUBLIC _main
EXTRN __imp__Sleep@4:PROC
EXTRN __imp__ExitProcess@4:PROC
EXTRN __imp__CreateThread@24:PROC
EXTRN __imp__ChoosePixelFormat@8:PROC
EXTRN __imp__SetPixelFormat@12:PROC
EXTRN __imp__wglCreateContext@4:PROC
EXTRN __imp__wglGetProcAddress@4:PROC
EXTRN __imp__wglMakeCurrent@8:PROC
EXTRN __imp__SwapBuffers@4:PROC
EXTRN __imp__PeekMessageA@20:PROC
EXTRN __imp__CreateWindowExA@48:PROC
EXTRN __imp__GetAsyncKeyState@4:PROC
EXTRN __imp__GetDC@4:PROC
EXTRN __imp__ShowCursor@4:PROC
EXTRN __imp__ChangeDisplaySettingsA@8:PROC
EXTRN __imp__waveOutOpen@24:PROC
EXTRN __imp__waveOutWrite@12:PROC
EXTRN __imp__waveOutGetPosition@12:PROC
EXTRN __4klang_render@4:PROC
EXTRN __imp__glRecti@16:PROC
synthnothing SEGMENT
_hWaveOut DD 01H DUP (?)
synthnothing ENDS
; Function compile flags: /Ogspy
; COMDAT _main
main SEGMENT
_main PROC ; COMDAT
; File e:\blu-flame.org\ev14-4k\project\main.compress.cpp
; Line 84
push ebx
push esi
push edi
; Line 87
xor esi, esi
; Line 90
push esi
; Line 91
push esi
; Line 92
push esi
; Line 93
push esi
; Line 94
push esi
; Line 95
push esi
; Line 96
push esi
; Line 97
push esi
; Line 98
push -1862270976 ; 91000000H
; Line 99
push esi
; Line 100
push 49177 ; 0000c019H
; Line 101
push esi
; Line 102
push 4
; Line 103
push OFFSET _dmScreenSettings
; Line 104
call DWORD PTR __imp__ChangeDisplaySettingsA@8
; Line 105
call DWORD PTR __imp__CreateWindowExA@48
; Line 121
push eax
; Line 122
call DWORD PTR __imp__GetDC@4
; Line 123
mov edi, eax
; Line 125
push edi
; Line 126
push edi
; Line 127
push OFFSET _pfd
; Line 128
push OFFSET _pfd
; Line 129
push edi
; Line 130
call DWORD PTR __imp__ChoosePixelFormat@8
; Line 131
push eax
; Line 132
push edi
; Line 133
call DWORD PTR __imp__SetPixelFormat@12
; Line 134
call DWORD PTR __imp__wglCreateContext@4
; Line 135
push eax
; Line 136
push edi
; Line 137
call DWORD PTR __imp__wglMakeCurrent@8
; Line 138
call DWORD PTR __imp__SwapBuffers@4
; Line 143
push 32 ; 00000020H
; Line 144
push OFFSET ?WaveHDR@@3Uwavehdr_tag@@A
; Line 145
push esi
; Line 146
push esi
; Line 147
push esi
; Line 148
push OFFSET ?WaveFMT@@3UtWAVEFORMATEX@@A
; Line 149
push -1
; Line 150
push OFFSET _hWaveOut
; Line 151
push 1024 ; 00000400H
; Line 152
push esi
; Line 153
push esi
; Line 154
push OFFSET _lpSoundBuffer
; Line 155
push OFFSET __4klang_render@4
; Line 156
push esi
; Line 157
push esi
; Line 158
push 0
; Line 161
push 1
; Line 162
push 1
; Line 163
push -1
; Line 164
push -1
; Line 165
push 3
; Line 166
push DWORD PTR _sglUseProgram
; Line 168
push OFFSET ?mark_fs_0@@3PADA
; Line 169
push 35632 ; 00008b30H
; Line 170
push DWORD PTR _sglCreateShaderProgramEXT
; Line 173
push 1
; Line 174
push 1
; Line 175
push -1
; Line 176
push -1
; Line 177
push 2
; Line 178
push DWORD PTR _sglUseProgram
; Line 180
push OFFSET ?mark_fs_0@@3PADA
; Line 181
push 35632 ; 00008b30H
; Line 182
push DWORD PTR _sglCreateShaderProgramEXT
; Line 185
push 1
; Line 186
push 1
; Line 187
push -1
; Line 188
push -1
; Line 189
push 1
; Line 190
push DWORD PTR _sglUseProgram
; Line 192
push OFFSET ?mark_fs_0@@3PADA
; Line 193
push 35632 ; 00008b30H
; Line 194
push DWORD PTR _sglCreateShaderProgramEXT
; Line 196
call DWORD PTR __imp__wglGetProcAddress@4
; Line 197
call eax
; Line 199
call DWORD PTR __imp__wglGetProcAddress@4
; Line 200
call eax
; Line 201
call (null) PTR __imp__glRecti@16
; Line 203
inc BYTE PTR ?mark_fs_0@@3PADA+12
; Line 205
call DWORD PTR __imp__wglGetProcAddress@4
; Line 206
call eax
; Line 208
call DWORD PTR __imp__wglGetProcAddress@4
; Line 209
call eax
; Line 210
call (null) PTR __imp__glRecti@16
; Line 212
inc BYTE PTR ?mark_fs_0@@3PADA+12
; Line 214
call DWORD PTR __imp__wglGetProcAddress@4
; Line 215
call eax
; Line 217
call DWORD PTR __imp__wglGetProcAddress@4
; Line 218
call eax
; Line 219
call (null) PTR __imp__glRecti@16
; Line 221
inc BYTE PTR ?mark_fs_0@@3PADA+12
; Line 223
call DWORD PTR __imp__ShowCursor@4
; Line 224
call DWORD PTR __imp__CreateThread@24
; Line 225
call (null) PTR __imp__Sleep@4
; Line 226
call DWORD PTR __imp__waveOutOpen@24
; Line 227
push DWORD PTR _hWaveOut
; Line 228
call DWORD PTR __imp__waveOutWrite@12
$introloop$4:
; Line 234
push 12 ; 0000000cH
; Line 235
push OFFSET ?MMTime@@3Ummtime_tag@@A
; Line 236
push DWORD PTR _hWaveOut
; Line 237
call DWORD PTR __imp__waveOutGetPosition@12
; Line 239
mov ecx, DWORD PTR ?MMTime@@3Ummtime_tag@@A+4
; Line 240
sub ecx, DWORD PTR _gCurSceneStart
; Line 241
mov eax, DWORD PTR _gCurScene
; Line 242
imul ebx, DWORD PTR ?g_SceneLength@@3PAHA[eax*4], 30048
; Line 243
mov eax, DWORD PTR ?g_SceneShader@@3PAHA[eax*4]
; Line 244
inc eax
; Line 245
push eax
; Line 247
mov DWORD PTR _lf_Time, ecx
; Line 248
fild DWORD PTR _lf_Time
; Line 249
mov DWORD PTR _lf_Time, ebx
; Line 250
fild DWORD PTR _lf_Time
; Line 251
fdivp ST(1), ST(0)
; Line 252
fst DWORD PTR _lf_Time
; Line 254
push DWORD PTR _sglUseProgram
; Line 255
call DWORD PTR __imp__wglGetProcAddress@4
; Line 256
call eax
; Line 258
sub esp, 16 ; 00000010H
; Line 259
fld DWORD PTR _aspect
; Line 260
fstp DWORD PTR [esp+12]
; Line 261
fild DWORD PTR _dmScreenSettings+112
; Line 262
fstp DWORD PTR [esp+8]
; Line 263
fld DWORD PTR _lf_Time
; Line 264
fstp DWORD PTR [esp+4]
; Line 265
fild DWORD PTR _gCurScene
; Line 266
fstp DWORD PTR [esp]
; Line 267
push esi
; Line 268
push DWORD PTR _sglUniform4f
; Line 269
call DWORD PTR __imp__wglGetProcAddress@4
; Line 270
call eax
; Line 272
push 27 ; 0000001bH
; Line 273
push esi
; Line 274
push esi
; Line 275
push esi
; Line 276
push esi
; Line 277
push esi
; Line 278
push edi
; Line 279
push 1
; Line 280
push 1
; Line 281
push -1
; Line 282
push -1
; Line 283
call (null) PTR __imp__glRecti@16
; Line 284
call DWORD PTR __imp__SwapBuffers@4
; Line 286
fld1
; Line 287
fcomp DWORD PTR _lf_Time
; Line 288
fnstsw ax
; Line 289
test ah, 5
; Line 290
jp SHORT $peekmessage$5
; Line 292
add DWORD PTR _gCurSceneStart, ebx
; Line 293
inc DWORD PTR _gCurScene
$peekmessage$5:
; Line 296
call DWORD PTR __imp__PeekMessageA@20
; Line 298
cmp DWORD PTR ?MMTime@@3Ummtime_tag@@A+4, 6249984 ; 005f5e00H
; Line 299
jae SHORT $exit$6
; Line 301
call WORD PTR __imp__GetAsyncKeyState@4
; Line 302
test ax, ax
; Line 303
je $introloop$4
$exit$6:
; Line 306
push esi
; Line 307
call (null) PTR __imp__ExitProcess@4
; Line 312
pop edi
pop esi
pop ebx
ret 0
_main ENDP
main ENDS
END