; 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