517 lines
14 KiB
NASM
517 lines
14 KiB
NASM
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23918.0
|
|
|
|
TITLE E:\blu-flame.org\ev16-4k\redist\main.compress.cpp
|
|
.686P
|
|
.XMM
|
|
include listing.inc
|
|
.model flat
|
|
|
|
INCLUDELIB LIBCMT
|
|
INCLUDELIB OLDNAMES
|
|
|
|
PUBLIC ?intro_fs@@3PADA ; intro_fs
|
|
PUBLIC ?source@@3PADA ; source
|
|
PUBLIC ?_fltused@@3HA ; _fltused
|
|
PUBLIC ??_C@_0BH@BOJGDFJN@glCreateShaderProgramv?$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@@3PAMA DD 0c9db00H DUP (?) ; lpSoundBuffer
|
|
synthnothing ENDS
|
|
mmtime SEGMENT
|
|
?MMTime@@3Ummtime_tag@@A DD 02H ; MMTime
|
|
DD 00H
|
|
ORG $+4
|
|
mmtime ENDS
|
|
wavehdr SEGMENT
|
|
?WaveHDR@@3Uwavehdr_tag@@A DD FLAT:?lpSoundBuffer@@3PAMA ; WaveHDR
|
|
DD 03276c00H
|
|
DD 00H
|
|
DD 00H
|
|
DD 00H
|
|
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@@3PBDB DD FLAT:??_C@_0M@MNEJMNAO@glUniform4f?$AA@ ; sglUniform4f
|
|
glUniform4f ENDS
|
|
; COMDAT ??_C@_0N@ICBDHBI@glUseProgram?$AA@
|
|
CONST SEGMENT
|
|
??_C@_0N@ICBDHBI@glUseProgram?$AA@ DB 'glUseProgram', 00H ; `string'
|
|
CONST ENDS
|
|
glUseProgram SEGMENT
|
|
?sglUseProgram@@3PBDB DD FLAT:??_C@_0N@ICBDHBI@glUseProgram?$AA@ ; sglUseProgram
|
|
glUseProgram ENDS
|
|
; COMDAT ??_C@_0BH@BOJGDFJN@glCreateShaderProgramv?$AA@
|
|
CONST SEGMENT
|
|
??_C@_0BH@BOJGDFJN@glCreateShaderProgramv?$AA@ DB 'glCreateShaderProgramv'
|
|
DB 00H ; `string'
|
|
CONST ENDS
|
|
glCreateShaderProgramv SEGMENT
|
|
?sglCreateShaderProgramv@@3PBDB DD FLAT:??_C@_0BH@BOJGDFJN@glCreateShaderProgramv?$AA@ ; sglCreateShaderProgramv
|
|
glCreateShaderProgramv ENDS
|
|
fltused SEGMENT
|
|
?_fltused@@3HA DD 01H ; _fltused
|
|
fltused ENDS
|
|
fcw SEGMENT
|
|
?fcw@@3GA DW 0e7fH ; fcw
|
|
fcw ENDS
|
|
devmode SEGMENT
|
|
?devmode@@3UFAKEDEVMODE@@A DB 00H ; devmode
|
|
ORG $+35
|
|
DD 07cH
|
|
DD 0180000H
|
|
DB 00H
|
|
ORG $+3
|
|
DD 021H
|
|
DB 00H
|
|
ORG $+55
|
|
DD 0500H
|
|
DD 0400H
|
|
DB 00H
|
|
ORG $+7
|
|
devmode ENDS
|
|
Shader0 SEGMENT
|
|
?intro_fs@@3PADA DB 'const int z=0x0;uniform vec4 v;float i,y,f,m,l=6.283'
|
|
DB '19;int e;vec2 r;vec3 x,a,s=vec3(0.),w=vec3(0.),d=vec3(3.,2.5,'
|
|
DB '2.),t=vec3(.7,.6,.4);vec4 b;vec2 n(vec2 a,float y){return cos'
|
|
DB '(y)*a+sin(y)*vec2(-a.y,a.x);}float n(inout vec2 a,float v,flo'
|
|
DB 'at y){float z=atan(a.y,a.x),m=mod(z,y)-y*.5;a=length(a)*vec2('
|
|
DB 'cos(m),sin(m));a.x-=v;return z-m;}void h(inout float z,float '
|
|
DB 'y){z=mod(z-y*.5,y)-y*.5;}void h(inout float z,float y,float x'
|
|
DB '){z=max(abs(z)-x,mod(z-y*.5,y)-y*.5);}float p(float z,float y'
|
|
DB '){return floor((z-y*.5)/y);}float p(in vec3 z,in vec3 y,float'
|
|
DB ' a){return length(max(abs(z)-y+vec3(a),0.))-a;}float c(in vec'
|
|
DB '2 z,in vec2 y,float a){return length(max(abs(z)-y+vec2(a),0.)'
|
|
DB ')-a;}float c(float z,float y,float x,float i){return sin(z+y+'
|
|
DB 'i*sin(z+x));}float o(float y,float z,float x){float a=clamp(.'
|
|
DB '5+.5*(z-y)/x,0.,1.);return mix(z,y,a)-x*a*(1.-a);}float c(vec'
|
|
DB '2 z){float y=dot(z,vec2(23.2,15.7));return fract(sin(y)*232.4'
|
|
DB '5);}float h(vec2 y){vec2 a=vec2(1.,0.),z=floor(y),v=fract(y);'
|
|
DB 'v*=v*(3.-2.*v);return-.5+mix(mix(c(z+a.yy),c(z+a.xy),v.x),mix'
|
|
DB '(c(z+a.yx),c(z+a.xx),v.x),v.y);}float n(vec3 a){a.y+=4.*c(1.1'
|
|
DB ',y*3.+a.z*.02,.4,a.z*.02);a.x+=4.*c(.9,y*4.+a.z*.02,-1.4,a.z*'
|
|
DB '.02);float z=p(a.z,24.);h(a.z,24.);a.xy=n(a.xy,z+c(1.1,y*4.,1'
|
|
DB '.3,z*.2));z=max(12.-length(a.xz),length(length(a.xy)-32.)-1.)'
|
|
DB ';n(a.xy,32.,l/5.);return min(z,max(length(a.z)-1.,length(leng'
|
|
DB 'th(a.xy)-18.)-1.));}float o(vec3 y){if(z>7)return length(y)-3'
|
|
DB '2.-v.w;else return length(y)-48.-v.w;}float p(vec3 a){if(z>7)'
|
|
DB '{float i=999.;for(float f=0.;f<3.;f+=1){vec3 m=a;m.xy=n(m.xy,'
|
|
DB 'f+2.3*y);m.zx=n(m.zx,2.*f+4.3*y);m.z+=48.+8.*c(1.1,y*2.,.4,y*'
|
|
DB '.02);m.yz=n(m.yz,f+5.9*y);m.xy=n(m.xy,f+2.3*y);i=min(i,p(m,ve'
|
|
DB 'c3(16.,16.,16.)+v.w,3.));}return max(40.-length(a),o(i,length'
|
|
DB '(a)-34.,24.));}else if(z>3){float i=360.-y*222.-a.z;i=8.-(i<0'
|
|
DB '.?0.:.001*i*i);a.y-=4.*c(1.1,y*2.+a.z*.02,.4,a.z*.02);a.x-=4.'
|
|
DB '*c(.9,y*2.+a.z*.02,-1.4,a.z*.02);return length(a.xy)-i-v.w;}e'
|
|
DB 'lse return a.z+=192.-96.*y,a.xy=n(a.xy,2.3*y),a.yz=n(a.yz,1.9'
|
|
DB '*y),p(a,vec3(32.,32.,32.)+v.w,0.);}float u(vec3 a){if(z>7){fl'
|
|
DB 'oat i=p(a,vec3(555.,555.,555.),0.),f=1.;vec3 v=a;for(int m=0;'
|
|
DB 'm<4;m++){v.x+=33.;v.xz=n(v.xz,1.6+.13*y);v.yz=n(v.yz,.912*y);'
|
|
DB 'float x=444./f;vec3 s=abs(.33-abs(mod(v-x*.5,x)-x*.5));i=max('
|
|
DB 'i,111./f-min(max(s.x,s.y),min(max(s.y,s.z),max(s.z,s.x))));f*'
|
|
DB '=3.;}return i;}else if(z>3)return n(a);else{float i=n(a.xy,64'
|
|
DB '.,l/48.),f=p(a.z,6.);h(a.z,12.);i=c(i,y*8.,1.3,f*.2)+.8;retur'
|
|
DB 'n length(a)-i;}}float g(vec3 a){return min(min(o(a),p(a)),u(a'
|
|
DB '));}float F(vec3 a){return g(a);}void C(vec3 a){b=vec4(-1.8,3'
|
|
DB '.,.6,2.);float z=.1;if(z>o(a))z=o(a),s=vec3(250,105,0)/255,m='
|
|
DB '.6;if(z>p(a))z=p(a),s=vec3(105,210,231)/255,m=.6;if(z>u(a))s='
|
|
DB 'vec3(224,228,204)/255,m=.3;}vec3 C(vec3 y,vec3 z,vec2 a){retu'
|
|
DB 'rn smoothstep(a.x,a.y,dot(vec3(.86,.5,0.),y))*z;}vec3 k(vec3 '
|
|
DB 'y){vec2 a=vec2(gl_FragCoord.xy/v.y);a.x-=v.z;vec2 z=2*a-1;flo'
|
|
DB 'at i=min(8.*abs(sin(v.x*3.1415)),1.);y*=.9+.1*sin(10.*v.x+z.x'
|
|
DB '*v.y);y*=.9+.1*sin(10.*v.x+z.y*v.y);float m=1.5-length(z*2)*.'
|
|
DB '15;if(a.y>=i-.02)y*=.7;if(a.y>=i-.04)y*=.7;if(a.y<=1.02-i)y*='
|
|
DB '.7;if(a.y<=1.04-i)y*=.7;return smoothstep(0.,1.,y*m*i)*2.;}vo'
|
|
DB 'id main(){y=fract(v.x);f=y*y;a=vec3(gl_FragCoord.xy/v.y-.5,.8'
|
|
DB ');a.x-=v.z;vec3 l=vec3(0.,11.,-y*33.);if(z<1)l=vec3(-44.,-33.'
|
|
DB ',99.),a.yz=n(a.yz,-y),a.xz=n(a.xz,-y);else if(z<2)l=vec3(22.,'
|
|
DB '3.,111.*(1.-y*.3)),a.xz=n(a.xz,3.);else if(z<3)l=vec3(-44.,-3'
|
|
DB '3.,-99.),a.yz=n(a.yz,-y),a.xz=n(a.xz,4.5-y);else if(z<4)l=vec'
|
|
DB '3(55.,33.,-155.*(1.-y*.6)),a.yz=n(a.yz,.4),a.xz=n(a.xz,-4.5-y'
|
|
DB ');else if(z<5)l=vec3(11.,0.,-111.),a.xz=n(a.xz,3.);else if(z<'
|
|
DB '6)l=vec3(-18.,-11.,-111.*(1.-y*.3)),a.yz=n(a.yz,-y*.3),a.xz=n'
|
|
DB '(a.xz,-y);else if(z<7)l=vec3(-18.,-11.,144.*(1.-y*.3)),a.yz=n'
|
|
DB '(a.yz,-y*.3),a.xz=n(a.xz,-y);else if(z<8)l=vec3(18.,-11.,111.'
|
|
DB '*(1.-y*.5)),a.yz=n(a.yz,-y*.3),a.xz=n(a.xz,-.3+y*2.);else if('
|
|
DB 'z<9)l=vec3(-55.,99.,177.),a.yz=n(a.yz,-.4),a.xz=n(a.xz,3.5*(1'
|
|
DB '.-y*.3));else if(z<10)l=vec3(-290.,153.,-70.),a.yz=n(a.yz,.4)'
|
|
DB ',a.xz=n(a.xz,-y);else if(z<11)l=vec3(-66.,44.,0.),a.yz=n(a.yz'
|
|
DB ',.6),a.xz=n(a.xz,4.4);else l=vec3(-33.,33.*(1.-y),-11.),a.yz='
|
|
DB 'n(a.yz,-.5),a.xz=n(a.xz,-1.);a=normalize(a);x=vec3(0.,0.,0.);'
|
|
DB 'i=1.;float h=0.,u,p;e=0;b=vec4(-3.,8.,.9,1.);vec3 c=C(a,d,b.z'
|
|
DB 'w);while(e++<5){float o=222.;for(m=1.;o>=0.&&h<999.&&m>h*1e-0'
|
|
DB '6;h+=m,w=a*h,o-=1.)m=g(l+w);if(o<=1){o=0.;h=999.3;w=a*h;break'
|
|
DB ';}o=smoothstep(44.,1.,o);vec3 Z=l+w;l=Z;r=vec2(.04,0.);vec3 Y'
|
|
DB '=vec3(F(l+r.xyy)-F(l-r.xyy),F(l+r.yxy)-F(l-r.yxy),F(l+r.yyx)-'
|
|
DB 'F(l-r.yyx));C(l);Y=normalize(Y);if(h>999.){if(e<2)b=vec4(-3.,'
|
|
DB '8.,.9,1.);break;}a=reflect(a,Y);u=8.;for(p=1.;u>0.;u-=1.)p-=.'
|
|
DB '5*(u-g(l+Y*u))/exp2(u);s*=p;s*=C(a,t,b.xy);x+=i*mix(s,c,o);i*'
|
|
DB '=m;h=.5;w=a*h;}gl_FragColor.xyz=step(-12.,-v.x)*k(x+i*(C(a,d,'
|
|
DB 'b.zw)+C(a,t,b.xy)));}', 00H ; intro_fs
|
|
?source@@3PADA DD FLAT:?intro_fs@@3PADA ; source
|
|
Shader0 ENDS
|
|
CONST SEGMENT
|
|
?gfAspectOffset@@3MB DD 03e000000r ; 0.125 ; gfAspectOffset
|
|
?giSceneLength@@3HB DD 081300H ; giSceneLength
|
|
CONST ENDS
|
|
PUBLIC _main
|
|
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__waveOutPrepareHeader@12:PROC
|
|
EXTRN __imp__waveOutWrite@12:PROC
|
|
EXTRN __imp__waveOutGetPosition@12:PROC
|
|
EXTRN __4klang_render@4:PROC
|
|
EXTRN __imp__glRecti@16:PROC
|
|
EXTRN __4klang_envelope_buffer:DWORD
|
|
synthnothing SEGMENT
|
|
?hWaveOut@@3PAUHWAVEOUT__@@A DD 01H DUP (?) ; hWaveOut
|
|
synthnothing ENDS
|
|
mainbss SEGMENT
|
|
?programs@@3PAIA DD 0dH DUP (?) ; programs
|
|
mainbss ENDS
|
|
; Function compile flags: /Ogspy
|
|
; COMDAT _main
|
|
main SEGMENT
|
|
_main PROC ; COMDAT
|
|
; File e:\blu-flame.org\ev16-4k\redist\main.compress.cpp
|
|
; Line 98
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
; Line 101
|
|
fldcw WORD PTR ?fcw@@3GA
|
|
; Line 103
|
|
xor esi, esi
|
|
; Line 105
|
|
push esi
|
|
; Line 106
|
|
push esi
|
|
; Line 107
|
|
push esi
|
|
; Line 108
|
|
push esi
|
|
; Line 111
|
|
push esi
|
|
; Line 112
|
|
push esi
|
|
; Line 113
|
|
push esi
|
|
; Line 114
|
|
push esi
|
|
; Line 115
|
|
push -1862270976 ; 91000000H
|
|
; Line 116
|
|
push esi
|
|
; Line 117
|
|
push 49177 ; 0000c019H
|
|
; Line 118
|
|
push esi
|
|
; Line 119
|
|
push 4
|
|
; Line 120
|
|
push OFFSET ?devmode@@3UFAKEDEVMODE@@A
|
|
; Line 121
|
|
push esi
|
|
; Line 122
|
|
push esi
|
|
; Line 123
|
|
push OFFSET ?lpSoundBuffer@@3PAMA
|
|
; Line 124
|
|
push OFFSET __4klang_render@4
|
|
; Line 125
|
|
push esi
|
|
; Line 126
|
|
push esi
|
|
; Line 127
|
|
call DWORD PTR __imp__CreateThread@24
|
|
; Line 128
|
|
call DWORD PTR __imp__ChangeDisplaySettingsA@8
|
|
; Line 129
|
|
call DWORD PTR __imp__CreateWindowExA@48
|
|
; Line 149
|
|
push eax
|
|
; Line 150
|
|
call DWORD PTR __imp__GetDC@4
|
|
; Line 151
|
|
mov edi, eax
|
|
; Line 153
|
|
push esi
|
|
; Line 155
|
|
push edi
|
|
; Line 157
|
|
push edi
|
|
; Line 162
|
|
push esi
|
|
; Line 163
|
|
push OFFSET ?devmode@@3UFAKEDEVMODE@@A+44
|
|
; Line 164
|
|
push edi
|
|
; Line 165
|
|
call DWORD PTR __imp__ChoosePixelFormat@8
|
|
; Line 166
|
|
push eax
|
|
; Line 168
|
|
push edi
|
|
; Line 169
|
|
call DWORD PTR __imp__SetPixelFormat@12
|
|
; Line 170
|
|
call DWORD PTR __imp__wglCreateContext@4
|
|
; Line 171
|
|
push eax
|
|
; Line 172
|
|
push edi
|
|
; Line 173
|
|
call DWORD PTR __imp__wglMakeCurrent@8
|
|
; Line 175
|
|
call DWORD PTR __imp__SwapBuffers@4
|
|
; Line 177
|
|
call DWORD PTR __imp__ShowCursor@4
|
|
; Line 179
|
|
xor ebx, ebx
|
|
$shaderwarmup$4:
|
|
; Line 183
|
|
push 1
|
|
; Line 184
|
|
push 1
|
|
; Line 185
|
|
push -1
|
|
; Line 186
|
|
push -1
|
|
; Line 188
|
|
push OFFSET ?source@@3PADA ; source
|
|
; Line 189
|
|
push 1
|
|
; Line 190
|
|
push 35632 ; 00008b30H
|
|
; Line 191
|
|
push DWORD PTR ?sglCreateShaderProgramv@@3PBDB
|
|
; Line 192
|
|
call DWORD PTR __imp__wglGetProcAddress@4
|
|
; Line 193
|
|
call eax
|
|
; Line 194
|
|
mov DWORD PTR ?programs@@3PAIA[ebx*4], eax
|
|
; Line 196
|
|
push eax
|
|
; Line 197
|
|
push DWORD PTR ?sglUseProgram@@3PBDB
|
|
; Line 198
|
|
call DWORD PTR __imp__wglGetProcAddress@4
|
|
; Line 199
|
|
call eax
|
|
; Line 201
|
|
inc BYTE PTR ?intro_fs@@3PADA+14
|
|
; Line 203
|
|
cmp ebx, 9
|
|
; Line 204
|
|
jne SHORT $skip$5
|
|
; Line 205
|
|
mov BYTE PTR ?intro_fs@@3PADA+14, 65 ; 00000041H
|
|
$skip$5:
|
|
; Line 208
|
|
push esi
|
|
; Line 209
|
|
push DWORD PTR ?gfAspectOffset@@3MB
|
|
; Line 210
|
|
push DWORD PTR ?devmode@@3UFAKEDEVMODE@@A+112
|
|
; Line 211
|
|
fild DWORD PTR [esp]
|
|
; Line 212
|
|
fstp DWORD PTR [esp]
|
|
; Line 213
|
|
push ebx
|
|
; Line 214
|
|
fild DWORD PTR [esp]
|
|
; Line 215
|
|
fstp DWORD PTR [esp]
|
|
; Line 216
|
|
push esi
|
|
; Line 217
|
|
push DWORD PTR ?sglUniform4f@@3PBDB
|
|
; Line 218
|
|
call DWORD PTR __imp__wglGetProcAddress@4
|
|
; Line 219
|
|
call eax
|
|
; Line 220
|
|
call (null) PTR __imp__glRecti@16
|
|
; Line 222
|
|
inc ebx
|
|
; Line 223
|
|
cmp ebx, 13 ; 0000000dH
|
|
; Line 224
|
|
jne SHORT $shaderwarmup$4
|
|
; Line 227
|
|
push 32 ; 00000020H
|
|
; Line 228
|
|
push OFFSET ?WaveHDR@@3Uwavehdr_tag@@A
|
|
; Line 230
|
|
push 32 ; 00000020H
|
|
; Line 231
|
|
push OFFSET ?WaveHDR@@3Uwavehdr_tag@@A
|
|
; Line 232
|
|
push esi
|
|
; Line 233
|
|
push esi
|
|
; Line 234
|
|
push esi
|
|
; Line 235
|
|
push OFFSET ?WaveFMT@@3UtWAVEFORMATEX@@A
|
|
; Line 236
|
|
push -1
|
|
; Line 237
|
|
push OFFSET ?hWaveOut@@3PAUHWAVEOUT__@@A
|
|
; Line 238
|
|
call DWORD PTR __imp__waveOutOpen@24
|
|
; Line 240
|
|
push DWORD PTR ?hWaveOut@@3PAUHWAVEOUT__@@A
|
|
; Line 241
|
|
call DWORD PTR __imp__waveOutPrepareHeader@12
|
|
; Line 243
|
|
push DWORD PTR ?hWaveOut@@3PAUHWAVEOUT__@@A
|
|
; Line 244
|
|
call DWORD PTR __imp__waveOutWrite@12
|
|
$mainloop$6:
|
|
; Line 247
|
|
push 12 ; 0000000cH
|
|
; Line 248
|
|
push OFFSET ?MMTime@@3Ummtime_tag@@A
|
|
; Line 249
|
|
push DWORD PTR ?hWaveOut@@3PAUHWAVEOUT__@@A
|
|
; Line 250
|
|
call DWORD PTR __imp__waveOutGetPosition@12
|
|
; Line 252
|
|
push esi
|
|
; Line 253
|
|
push esi
|
|
; Line 254
|
|
push esi
|
|
; Line 255
|
|
push esi
|
|
; Line 256
|
|
push esi
|
|
; Line 257
|
|
push edi
|
|
; Line 258
|
|
push 1
|
|
; Line 259
|
|
push 1
|
|
; Line 260
|
|
push -1
|
|
; Line 261
|
|
push -1
|
|
; Line 262
|
|
push esi
|
|
; Line 265
|
|
mov eax, DWORD PTR ?MMTime@@3Ummtime_tag@@A+4
|
|
; Line 266
|
|
shr eax, 3
|
|
; Line 267
|
|
and eax, 536870880 ; 1fffffe0H
|
|
; Line 268
|
|
movss xmm0, XMMWORD PTR __4klang_envelope_buffer[GF2f+eax*4+20]
|
|
; Line 269
|
|
addss xmm0, DWORD PTR __4klang_envelope_buffer[GF2f+eax*4+16]
|
|
; Line 270
|
|
movss XMMWORD PTR [esp], xmm0
|
|
; Line 272
|
|
push DWORD PTR ?gfAspectOffset@@3MB
|
|
; Line 273
|
|
push DWORD PTR ?devmode@@3UFAKEDEVMODE@@A+112
|
|
; Line 274
|
|
fild DWORD PTR [esp]
|
|
; Line 275
|
|
fstp DWORD PTR [esp]
|
|
; Line 276
|
|
push DWORD PTR ?MMTime@@3Ummtime_tag@@A+4
|
|
; Line 277
|
|
fild DWORD PTR [esp]
|
|
; Line 278
|
|
fild DWORD PTR ?giSceneLength@@3HB
|
|
; Line 279
|
|
fdivp ST(1), ST(0)
|
|
; Line 280
|
|
fst DWORD PTR [esp]
|
|
; Line 281
|
|
push esi
|
|
; Line 282
|
|
push esi
|
|
; Line 283
|
|
fistp DWORD PTR [esp]
|
|
; Line 284
|
|
pop eax
|
|
; Line 285
|
|
push DWORD PTR ?programs@@3PAIA[eax*4]
|
|
; Line 286
|
|
push DWORD PTR ?sglUseProgram@@3PBDB
|
|
; Line 287
|
|
call DWORD PTR __imp__wglGetProcAddress@4
|
|
; Line 288
|
|
call eax
|
|
; Line 290
|
|
push DWORD PTR ?sglUniform4f@@3PBDB
|
|
; Line 291
|
|
call DWORD PTR __imp__wglGetProcAddress@4
|
|
; Line 292
|
|
call eax
|
|
; Line 293
|
|
call (null) PTR __imp__glRecti@16
|
|
; Line 294
|
|
call DWORD PTR __imp__SwapBuffers@4
|
|
; Line 295
|
|
call DWORD PTR __imp__PeekMessageA@20
|
|
; Line 297
|
|
cmp DWORD PTR ?MMTime@@3Ummtime_tag@@A+4, 6614400 ; 0064ed80H
|
|
; Line 298
|
|
jae SHORT $exit$7
|
|
; Line 299
|
|
push 27 ; 0000001bH
|
|
; Line 300
|
|
call WORD PTR __imp__GetAsyncKeyState@4
|
|
; Line 301
|
|
test ax, ax
|
|
; Line 302
|
|
je $mainloop$6
|
|
$exit$7:
|
|
; Line 304
|
|
push esi
|
|
; Line 305
|
|
call (null) PTR __imp__ExitProcess@4
|
|
; Line 307
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
ret 0
|
|
_main ENDP
|
|
main ENDS
|
|
END
|