PASTEBIN
| #1 paste tool since 2002
create new paste
tools
api
archive
faq
PASTEBIN
create new paste
trending pastes
sign up
login
my alerts
my settings
my profile
Don't like ads?
PRO users
don't see any ads ;-)
Public Pastes
Untitled
0 sec ago
Izanbuyer
2 sec ago
Untitled
6 sec ago
Untitled
7 sec ago
Untitled
7 sec ago
Untitled
11 sec ago
Untitled
16 sec ago
Untitled
17 sec ago
Untitled
By: a guest on
Aug 19th, 2010
| syntax:
ASM (NASM)
| size: 15.48 KB | hits: 45 | expires: Never
download
|
raw
|
embed
|
report abuse
|
print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
.
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"
create a
new version
of this paste
RAW Paste Data
.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"