.globl _initPerlinNoise .def _initPerlinNoise; .scl 2; .type 32; .endef _initPerlinNoise: pushl %ebx movl $1024, %ecx subl $1048, %esp movl %ecx, 8(%esp) leal 16(%esp), %eax movl $LC3, %edx movl %edx, 4(%esp) movl $_perm, %ebx movl %eax, (%esp) call _memcpy xorl %ecx, %ecx .p2align 4,,15 L242: movl 16(%esp,%ecx,4), %eax movl %eax, _perm(,%ecx,4) movl %eax, 1024(%ebx,%ecx,4) leal 1(%ecx), %eax movl 16(%esp,%eax,4), %edx movl %edx, _perm(,%eax,4) movl %edx, 1024(%ebx,%eax,4) leal 2(%ecx), %eax movl 16(%esp,%eax,4), %edx movl %edx, _perm(,%eax,4) movl %edx, 1024(%ebx,%eax,4) leal 3(%ecx), %eax movl 16(%esp,%eax,4), %edx movl %edx, _perm(,%eax,4) movl %edx, 1024(%ebx,%eax,4) leal 4(%ecx), %eax movl 16(%esp,%eax,4), %edx movl %edx, _perm(,%eax,4) movl %edx, 1024(%ebx,%eax,4) leal 5(%ecx), %eax movl 16(%esp,%eax,4), %edx movl %edx, _perm(,%eax,4) movl %edx, 1024(%ebx,%eax,4) leal 6(%ecx), %eax movl 16(%esp,%eax,4), %edx movl %edx, _perm(,%eax,4) movl %edx, 1024(%ebx,%eax,4) leal 7(%ecx), %eax movl 16(%esp,%eax,4), %edx addl $8, %ecx cmpl $255, %ecx movl %edx, _perm(,%eax,4) movl %edx, 1024(%ebx,%eax,4) jle L242 addl $1048, %esp popl %ebx ret .section .rdata,"dr" .align 4 LC4: .long 1086324736 .align 4 LC5: .long 1097859072 .align 4 LC6: .long 1092616192 .text .p2align 4,,15 .globl _fade .def _fade; .scl 2; .type 32; .endef _fade: subl $4, %esp movss 8(%esp), %xmm0 movaps %xmm0, %xmm1 movaps %xmm0, %xmm2 mulss LC4, %xmm1 mulss %xmm0, %xmm2 mulss %xmm0, %xmm2 subss LC5, %xmm1 mulss %xmm0, %xmm1 addss LC6, %xmm1 mulss %xmm1, %xmm2 movss %xmm2, (%esp) flds (%esp) popl %eax ret .p2align 4,,15 .globl _lerp .def _lerp; .scl 2; .type 32; .endef _lerp: subl $4, %esp movss 12(%esp), %xmm1 movss 16(%esp), %xmm0 subss %xmm1, %xmm0 mulss 8(%esp), %xmm0 addss %xmm1, %xmm0 movss %xmm0, (%esp) flds (%esp) popl %eax ret .section .rdata,"dr" .align 16 LC9: .long -2147483648 .long 0 .long 0 .long 0 .text .p2align 4,,15 .globl _grad .def _grad; .scl 2; .type 32; .endef _grad: subl $4, %esp movl 16(%esp), %edx movl 8(%esp), %ecx flds 12(%esp) movl %edx, (%esp) andl $15, %ecx cmpl $7, %ecx flds (%esp) setg %al testb %al, %al movss (%esp), %xmm1 fcmove %st(1), %st cmpl $3, %ecx jle L266 flds 20(%esp) cmpl $12, %ecx sete %al cmpl $14, %ecx sete %dl orl %edx, %eax testb $1, %al fcmovne %st(2), %st fstp %st(2) fxch %st(1) fstps (%esp) movss (%esp), %xmm1 jmp L260 .p2align 4,,7 L266: fstp %st(1) L260: fstps (%esp) testb $1, %cl movss (%esp), %xmm0 je L263 xorps LC9, %xmm0 L263: movaps %xmm0, %xmm2 subss %xmm1, %xmm0 addss %xmm1, %xmm2 movss %xmm2, (%esp) testb $2, %cl flds (%esp) movss %xmm0, (%esp) flds (%esp) popl %eax fcmove %st(1), %st fstp %st(1) ret .section .rdata,"dr" .align 4 LC11: .long 1065353216 .align 16 LC12: .long -2147483648 .long 0 .long 0 .long 0 .align 4 LC13: .long 1086324736 .align 4 LC14: .long 1097859072 .align 4 LC15: .long 1092616192 .text .p2align 4,,15 .globl _noise .def _noise; .scl 2; .type 32; .endef _noise: pushl %esi pushl %ebx subl $44, %esp movss 56(%esp), %xmm1 movss 60(%esp), %xmm2 movss 64(%esp), %xmm4 cvttss2si %xmm1, %ebx movaps %xmm1, %xmm5 cvtsi2ss %ebx, %xmm6 andl $255, %ebx movl _perm+4(,%ebx,4), %esi movl _perm(,%ebx,4), %ecx cvttss2si %xmm2, %eax cvttss2si %xmm4, %edx cvtsi2ss %eax, %xmm3 andl $255, %eax cvtsi2ss %edx, %xmm0 addl %eax, %ecx addl %esi, %eax movl _perm(,%ecx,4), %ebx movl _perm(,%eax,4), %esi andl $255, %edx subss %xmm6, %xmm5 movl _perm+4(,%ecx,4), %ecx movaps %xmm2, %xmm6 addl %edx, %ebx cvtsi2ss _perm(,%ebx,4), %xmm7 addl %edx, %esi addl %edx, %ecx addl _perm+4(,%eax,4), %edx subss %xmm3, %xmm6 subss %xmm0, %xmm4 cvtsi2ss _perm(,%ecx,4), %xmm1 cvtsi2ss _perm+4(,%ecx,4), %xmm3 cvtsi2ss _perm(,%edx,4), %xmm2 cvtsi2ss _perm+4(,%edx,4), %xmm0 movss %xmm4, 8(%esp) cvtsi2ss _perm(,%esi,4), %xmm4 movss %xmm7, 40(%esp) cvtsi2ss _perm+4(,%ebx,4), %xmm7 movss %xmm1, 36(%esp) movaps %xmm5, %xmm1 movss %xmm2, 28(%esp) cvttss2si %xmm0, %ecx andl $15, %ecx movss LC11, %xmm2 movss %xmm3, (%esp) movaps %xmm6, %xmm3 movss %xmm4, 32(%esp) cmpl $7, %ecx setg %al cvtsi2ss _perm+4(,%esi,4), %xmm4 subss %xmm2, %xmm1 subss %xmm2, %xmm3 movss %xmm1, 4(%esp) movss 8(%esp), %xmm0 movl 4(%esp), %esi movss %xmm3, 4(%esp) movl 4(%esp), %edx testb %al, %al movaps %xmm3, %xmm1 movl %esi, %ebx subss %xmm2, %xmm0 cmovne %edx, %ebx cmpl $3, %ecx jle L271 movss %xmm0, 4(%esp) cmpl $12, %ecx sete %al cmpl $14, %ecx sete %dl orl %edx, %eax movl 4(%esp), %edx testb $1, %al cmovne %esi, %edx movl %edx, 4(%esp) movss 4(%esp), %xmm1 L271: movl %ebx, 4(%esp) testb $1, %cl movss 4(%esp), %xmm0 je L274 xorps LC12, %xmm0 L274: movaps %xmm0, %xmm3 subss %xmm1, %xmm0 addss %xmm1, %xmm3 movss %xmm0, 4(%esp) testb $2, %cl movl 4(%esp), %ecx movss %xmm3, 24(%esp) movaps %xmm6, %xmm0 subss %xmm2, %xmm0 cmove 24(%esp), %ecx movss %xmm0, 4(%esp) movl 4(%esp), %esi movss %xmm5, 4(%esp) movl %ecx, 24(%esp) cvttss2si (%esp), %ecx movss 8(%esp), %xmm0 andl $15, %ecx cmpl $7, %ecx setg %bl subss %xmm2, %xmm0 testb %bl, %bl movl 4(%esp), %ebx movl %esi, 4(%esp) movss 4(%esp), %xmm1 cmovne %esi, %ebx cmpl $3, %ecx jle L281 movss %xmm5, 4(%esp) cmpl $12, %ecx sete %al flds 4(%esp) cmpl $14, %ecx sete %dl movss %xmm0, 4(%esp) orl %edx, %eax testb $1, %al flds 4(%esp) fcmovne %st(1), %st fstp %st(1) fstps 4(%esp) movss 4(%esp), %xmm1 L281: movl %ebx, 4(%esp) testb $1, %cl movss 4(%esp), %xmm0 je L284 xorps LC12, %xmm0 L284: movaps %xmm0, %xmm3 subss %xmm1, %xmm0 addss %xmm1, %xmm3 movss %xmm0, 4(%esp) testb $2, %cl movl 4(%esp), %esi movss %xmm3, 20(%esp) cvttss2si %xmm4, %ecx movaps %xmm5, %xmm4 cmove 20(%esp), %esi subss %xmm2, %xmm4 andl $15, %ecx movss %xmm4, 4(%esp) cmpl $7, %ecx setg %bl movl %esi, 20(%esp) movl 4(%esp), %esi testb %bl, %bl movss %xmm6, 4(%esp) movss 8(%esp), %xmm0 movl 4(%esp), %ebx movaps %xmm6, %xmm1 cmove %esi, %ebx cmpl $3, %ecx subss %xmm2, %xmm0 jle L291 movl %esi, 4(%esp) cmpl $12, %ecx sete %al flds 4(%esp) cmpl $14, %ecx sete %dl movss %xmm0, 4(%esp) orl %edx, %eax testb $1, %al flds 4(%esp) fcmovne %st(1), %st fstp %st(1) fstps 4(%esp) movss 4(%esp), %xmm1 L291: movl %ebx, 4(%esp) testb $1, %cl movss 4(%esp), %xmm0 je L294 xorps LC12, %xmm0 L294: movaps %xmm0, %xmm4 subss %xmm1, %xmm0 addss %xmm1, %xmm4 movss %xmm4, 4(%esp) testb $2, %cl cvttss2si %xmm7, %ecx flds 4(%esp) movss %xmm0, 4(%esp) movaps %xmm6, %xmm1 flds 4(%esp) movss %xmm5, 4(%esp) movss 8(%esp), %xmm0 fcmove %st(1), %st fstp %st(1) andl $15, %ecx cmpl $7, %ecx setg %bl subss %xmm2, %xmm0 testb %bl, %bl movl 4(%esp), %ebx movss %xmm6, 4(%esp) movl 4(%esp), %esi cmovne %esi, %ebx cmpl $3, %ecx jle L301 movss %xmm5, 4(%esp) cmpl $12, %ecx sete %al flds 4(%esp) cmpl $14, %ecx sete %dl movss %xmm0, 4(%esp) orl %edx, %eax testb $1, %al flds 4(%esp) fcmovne %st(1), %st fstp %st(1) fstps 4(%esp) movss 4(%esp), %xmm1 L301: movl %ebx, 4(%esp) testb $1, %cl movss 4(%esp), %xmm0 je L304 xorps LC12, %xmm0 L304: movaps %xmm0, %xmm3 subss %xmm1, %xmm0 addss %xmm1, %xmm3 movss %xmm0, 4(%esp) testb $2, %cl movl 4(%esp), %ecx movss %xmm3, 16(%esp) movaps %xmm5, %xmm7 subss %xmm2, %xmm7 cmove 16(%esp), %ecx movaps %xmm6, %xmm1 subss %xmm2, %xmm1 movss %xmm7, 4(%esp) movl 4(%esp), %esi movl %ecx, 16(%esp) cvttss2si 28(%esp), %ecx movss %xmm1, 4(%esp) movl 4(%esp), %edx andl $15, %ecx cmpl $7, %ecx setg %bl testb %bl, %bl movl %esi, %ebx cmovne %edx, %ebx cmpl $3, %ecx jle L311 cmpl $12, %ecx sete %al cmpl $14, %ecx sete %dl orl %edx, %eax testb $1, %al movl %esi, %eax cmove 8(%esp), %eax movl %eax, 4(%esp) movss 4(%esp), %xmm1 L311: movl %ebx, 4(%esp) testb $1, %cl movss 4(%esp), %xmm0 je L314 xorps LC12, %xmm0 L314: movaps %xmm0, %xmm4 subss %xmm1, %xmm0 addss %xmm1, %xmm4 movss %xmm4, 4(%esp) testb $2, %cl flds 4(%esp) cvttss2si 36(%esp), %ecx movss %xmm0, 4(%esp) movaps %xmm6, %xmm0 subss %xmm2, %xmm0 flds 4(%esp) movss %xmm0, 4(%esp) movl 4(%esp), %esi movss %xmm5, 4(%esp) movaps %xmm0, %xmm1 fcmove %st(1), %st fstp %st(1) andl $15, %ecx cmpl $7, %ecx setg %bl testb %bl, %bl movl 4(%esp), %ebx cmovne %esi, %ebx cmpl $3, %ecx jle L321 cmpl $12, %ecx sete %al cmpl $14, %ecx sete %dl orl %edx, %eax testb $1, %al movl 4(%esp), %eax cmove 8(%esp), %eax movl %eax, 4(%esp) movss 4(%esp), %xmm1 L321: movl %ebx, 4(%esp) testb $1, %cl movss 4(%esp), %xmm0 je L324 xorps LC12, %xmm0 L324: movaps %xmm0, %xmm7 subss %xmm1, %xmm0 addss %xmm1, %xmm7 movss %xmm0, 4(%esp) testb $2, %cl movl 4(%esp), %ecx movss %xmm7, 12(%esp) movaps %xmm5, %xmm1 subss %xmm2, %xmm1 cmove 12(%esp), %ecx movss %xmm1, 4(%esp) movl 4(%esp), %ebx movss %xmm6, 4(%esp) movl 4(%esp), %esi movaps %xmm6, %xmm1 movl %ecx, 12(%esp) cvttss2si 32(%esp), %ecx andl $15, %ecx cmpl $7, %ecx setg %al testb %al, %al cmove %ebx, %esi cmpl $3, %ecx jle L331 cmpl $12, %ecx sete %al cmpl $14, %ecx sete %dl orl %edx, %eax testb $1, %al movl %ebx, %edx cmove 8(%esp), %edx movl %edx, 4(%esp) movss 4(%esp), %xmm1 L331: movl %esi, 4(%esp) testb $1, %cl movss 4(%esp), %xmm0 je L334 xorps LC12, %xmm0 L334: movaps %xmm0, %xmm2 subss %xmm1, %xmm0 addss %xmm1, %xmm2 movss %xmm2, 4(%esp) testb $2, %cl movl 4(%esp), %esi movss %xmm0, 4(%esp) movaps %xmm6, %xmm1 movl 4(%esp), %ecx movss %xmm5, 4(%esp) cmovne %ecx, %esi cvttss2si 40(%esp), %ecx andl $15, %ecx cmpl $7, %ecx setg %bl testb %bl, %bl movl 4(%esp), %ebx movss %xmm6, 4(%esp) movl 4(%esp), %eax cmovne %eax, %ebx cmpl $3, %ecx jle L341 movss %xmm5, 4(%esp) cmpl $12, %ecx sete %al cmpl $14, %ecx sete %dl orl %edx, %eax testb $1, %al movl 4(%esp), %edx cmove 8(%esp), %edx movl %edx, 4(%esp) movss 4(%esp), %xmm1 L341: movl %ebx, 4(%esp) testb $1, %cl movss 4(%esp), %xmm0 je L344 xorps LC12, %xmm0 L344: movss LC14, %xmm4 movaps %xmm0, %xmm2 addss %xmm1, %xmm2 movss %xmm2, 4(%esp) subss %xmm1, %xmm0 movaps %xmm5, %xmm2 movss LC13, %xmm1 mulss %xmm5, %xmm2 mulss %xmm5, %xmm2 flds 4(%esp) movss %xmm0, 4(%esp) movaps %xmm5, %xmm0 movss LC15, %xmm3 mulss %xmm1, %xmm0 flds 4(%esp) subss %xmm4, %xmm0 testb $2, %cl mulss %xmm5, %xmm0 addss %xmm3, %xmm0 movaps %xmm6, %xmm5 fcmove %st(1), %st fstp %st(1) mulss %xmm0, %xmm2 movaps %xmm6, %xmm0 mulss %xmm1, %xmm0 mulss %xmm6, %xmm5 subss %xmm4, %xmm0 mulss 8(%esp), %xmm1 mulss %xmm6, %xmm5 fstps 4(%esp) mulss %xmm6, %xmm0 addss %xmm3, %xmm0 movss 8(%esp), %xmm6 mulss %xmm0, %xmm5 subss %xmm4, %xmm1 mulss 8(%esp), %xmm1 movss 4(%esp), %xmm7 mulss %xmm6, %xmm6 mulss 8(%esp), %xmm6 addss %xmm3, %xmm1 movl %esi, 4(%esp) movss 24(%esp), %xmm3 mulss %xmm1, %xmm6 movss 4(%esp), %xmm1 fstps 4(%esp) movss 4(%esp), %xmm0 fstps 4(%esp) subss %xmm7, %xmm1 mulss %xmm2, %xmm1 movss 4(%esp), %xmm4 addss %xmm7, %xmm1 subss 12(%esp), %xmm0 subss 20(%esp), %xmm3 subss 16(%esp), %xmm4 mulss %xmm2, %xmm0 addss 12(%esp), %xmm0 mulss %xmm2, %xmm4 mulss %xmm3, %xmm2 addss 16(%esp), %xmm4 subss %xmm1, %xmm0 mulss %xmm5, %xmm0 addss 20(%esp), %xmm2 addss %xmm1, %xmm0 subss %xmm4, %xmm2 mulss %xmm2, %xmm5 addss %xmm5, %xmm4 subss %xmm0, %xmm4 mulss %xmm4, %xmm6 addss %xmm6, %xmm0 movss %xmm0, 24(%esp) flds 24(%esp) addl $44, %esp popl %ebx popl %esi ret .section .rdata,"dr" .align 4 LC17: .long 1008981770 .text .p2align 4,,15 .globl _Java_pack_Code_sse_1noise@20 .def _Java_pack_Code_sse_1noise@20; .scl 2; .type 32; .endef _Java_pack_Code_sse_1noise@20: pushl %ebp movl $1, %edx pushl %edi pushl %esi pushl %ebx subl $28, %esp movl 64(%esp), %eax movzbl 64(%esp), %ecx movl 64(%esp), %ebx addl %eax, %eax movl %eax, 24(%esp) movl 56(%esp), %eax sall %cl, %edx movl %edx, %ebp leal -1(%edx), %edi movl 48(%esp), %esi imull %edx, %ebp andl $15, %eax sall $2, %ebx movl %ebx, 20(%esp) imull %edx, %ebp xorl %edx, %edx movl %edx, %ecx orl %eax, %ecx jne L376 L359: movl 56(%esp), %esi movl %ebp, %ebx decl %ebx movl %esi, 16(%esp) js L366 movzbl 64(%esp), %ecx movl %ebx, %esi andl $1, %esi movl %esi, 12(%esp) movl %ebx, %esi movl %ebx, %edx movl %ebx, %eax sarl %cl, %esi andl %edi, %esi movzbl 24(%esp), %ecx cvtsi2ss %esi, %xmm0 movl %ebp, %esi sarl %cl, %edx andl %edi, %edx cvtsi2ss %edx, %xmm1 movzbl 20(%esp), %ecx mulss LC17, %xmm0 sarl %cl, %eax andl %edi, %eax mulss LC17, %xmm1 cvtsi2ss %eax, %xmm2 movss %xmm0, (%esp) movss %xmm1, 4(%esp) mulss LC17, %xmm2 movss %xmm2, 8(%esp) call _noise movl 16(%esp), %eax subl $2, %esi fstps (%eax,%ebx,4) js L366 movl 12(%esp), %ebx testl %ebx, %ebx jne L377 .p2align 4,,15 L364: movzbl 64(%esp), %ecx movl %esi, %ebp movl %esi, %edx movl %esi, %eax sarl %cl, %ebp andl %edi, %ebp movzbl 24(%esp), %ecx cvtsi2ss %ebp, %xmm3 sarl %cl, %edx movzbl 20(%esp), %ecx andl %edi, %edx cvtsi2ss %edx, %xmm1 mulss LC17, %xmm3 sarl %cl, %eax andl %edi, %eax mulss LC17, %xmm1 cvtsi2ss %eax, %xmm2 movss %xmm3, (%esp) movss %xmm1, 4(%esp) mulss LC17, %xmm2 movss %xmm2, 8(%esp) call _noise movzbl 64(%esp), %ecx movl 16(%esp), %ebx fstps (%ebx,%esi,4) leal -1(%esi), %ebx movl %ebx, %ebp sarl %cl, %ebp movzbl 24(%esp), %ecx movl %ebx, %edx movl %ebx, %eax andl %edi, %ebp cvtsi2ss %ebp, %xmm6 sarl %cl, %edx movzbl 20(%esp), %ecx andl %edi, %edx cvtsi2ss %edx, %xmm7 mulss LC17, %xmm6 sarl %cl, %eax andl %edi, %eax mulss LC17, %xmm7 cvtsi2ss %eax, %xmm0 movss %xmm6, (%esp) movss %xmm7, 4(%esp) mulss LC17, %xmm0 movss %xmm0, 8(%esp) call _noise movl 16(%esp), %ebp subl $2, %esi fstps (%ebp,%ebx,4) L375: jns L364 L366: addl $28, %esp popl %ebx popl %esi popl %edi popl %ebp ret $20 L377: movzbl 64(%esp), %ecx movl %esi, %ebx movl %esi, %edx movl %esi, %eax sarl %cl, %ebx andl %edi, %ebx movzbl 24(%esp), %ecx cvtsi2ss %ebx, %xmm3 sarl %cl, %edx movzbl 20(%esp), %ecx andl %edi, %edx cvtsi2ss %edx, %xmm4 mulss LC17, %xmm3 sarl %cl, %eax andl %edi, %eax mulss LC17, %xmm4 cvtsi2ss %eax, %xmm5 movss %xmm3, (%esp) movss %xmm4, 4(%esp) mulss LC17, %xmm5 movss %xmm5, 8(%esp) call _noise movl 16(%esp), %edx fstps (%edx,%esi,4) movl %ebp, %esi subl $3, %esi jmp L375 L376: movl (%esi), %ebx movl $LC0, %ecx movl %ecx, 4(%esp) movl %esi, (%esp) call *24(%ebx) movl $LC1, %edx movl %eax, %ebx movl (%esi), %eax subl $8, %esp movl %edx, 8(%esp) movl %ebx, 4(%esp) movl %esi, (%esp) call *56(%eax) movl (%esi), %eax subl $12, %esp movl %ebx, 4(%esp) movl %esi, (%esp) call *92(%eax) subl $8, %esp jmp L359 .comm _perm, 2048 # 2048 .def _memcpy; .scl 2; .type 32; .endef .section .drectve .ascii " -export:Java_pack_Code_sse_1noise@20"