489058:	85 db                	test   %ebx,%ebx
48905a:	0f 85 9d 00 00 00    	jne    0x4890fd
489060:	3b f3                	cmp    %ebx,%esi
489062:	75 08                	jne    0x48906c
489064:	6a 02                	push   $0x2
489066:	58                   	pop    %eax
489067:	e9 03 02 00 00       	jmp    0x48926f
48906c:	83 fb 01             	cmp    $0x1,%ebx
48906f:	7e 08                	jle    0x489079
489071:	33 c0                	xor    %eax,%eax
489073:	40                   	inc    %eax
489074:	e9 f6 01 00 00       	jmp    0x48926f
489079:	83 fe 01             	cmp    $0x1,%esi
48907c:	7e 04                	jle    0x489082
48907e:	6a 03                	push   $0x3
489080:	eb e4                	jmp    0x489066
489082:	8d 4d e8             	lea    -0x18(%ebp),%ecx
489085:	51                   	push   %ecx
489086:	50                   	push   %eax
489087:	ff 15 a4 41 49 00    	call   *0x4941a4
48908d:	85 c0                	test   %eax,%eax
48908f:	74 a5                	je     0x489036
489091:	85 f6                	test   %esi,%esi
489093:	7e 2f                	jle    0x4890c4
489095:	6a 02                	push   $0x2
489097:	58                   	pop    %eax
489098:	39 45 e8             	cmp    %eax,-0x18(%ebp)
48909b:	72 e1                	jb     0x48907e
48909d:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
4890a1:	8d 4d ee             	lea    -0x12(%ebp),%ecx
4890a4:	74 d8                	je     0x48907e
4890a6:	8a 51 01             	mov    0x1(%ecx),%dl
4890a9:	84 d2                	test   %dl,%dl
4890ab:	74 d1                	je     0x48907e
4890ad:	8a 1f                	mov    (%edi),%bl
4890af:	3a 19                	cmp    (%ecx),%bl
4890b1:	72 08                	jb     0x4890bb
4890b3:	3a da                	cmp    %dl,%bl
4890b5:	0f 86 b4 01 00 00    	jbe    0x48926f
4890bb:	03 c8                	add    %eax,%ecx
4890bd:	80 39 00             	cmpb   $0x0,(%ecx)
4890c0:	75 e4                	jne    0x4890a6
4890c2:	eb ba                	jmp    0x48907e
4890c4:	85 db                	test   %ebx,%ebx
4890c6:	7e 35                	jle    0x4890fd
4890c8:	6a 02                	push   $0x2
4890ca:	58                   	pop    %eax
4890cb:	39 45 e8             	cmp    %eax,-0x18(%ebp)
4890ce:	72 a1                	jb     0x489071
4890d0:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
4890d4:	8d 4d ee             	lea    -0x12(%ebp),%ecx
4890d7:	74 98                	je     0x489071
4890d9:	8b 75 dc             	mov    -0x24(%ebp),%esi
4890dc:	8a 51 01             	mov    0x1(%ecx),%dl
4890df:	84 d2                	test   %dl,%dl
4890e1:	74 8e                	je     0x489071
4890e3:	8a 1e                	mov    (%esi),%bl
4890e5:	3a 19                	cmp    (%ecx),%bl
4890e7:	72 08                	jb     0x4890f1
4890e9:	3a da                	cmp    %dl,%bl
4890eb:	0f 86 7e 01 00 00    	jbe    0x48926f
4890f1:	03 c8                	add    %eax,%ecx
4890f3:	80 39 00             	cmpb   $0x0,(%ecx)
4890f6:	75 e4                	jne    0x4890dc
4890f8:	e9 74 ff ff ff       	jmp    0x489071
4890fd:	33 ff                	xor    %edi,%edi
4890ff:	57                   	push   %edi
489100:	57                   	push   %edi
489101:	56                   	push   %esi
489102:	ff 75 e0             	push   -0x20(%ebp)
489105:	6a 09                	push   $0x9
489107:	ff 75 24             	push   0x24(%ebp)
48910a:	ff 15 74 41 49 00    	call   *0x494174
489110:	89 45 d8             	mov    %eax,-0x28(%ebp)
489113:	85 c0                	test   %eax,%eax
489115:	0f 84 1b ff ff ff    	je     0x489036
48911b:	8d 14 00             	lea    (%eax,%eax,1),%edx
48911e:	8d 4a 08             	lea    0x8(%edx),%ecx
489121:	3b d1                	cmp    %ecx,%edx
489123:	1b c0                	sbb    %eax,%eax
489125:	85 c1                	test   %eax,%ecx
489127:	74 59                	je     0x489182
489129:	8d 4a 08             	lea    0x8(%edx),%ecx
48912c:	3b d1                	cmp    %ecx,%edx
48912e:	1b c0                	sbb    %eax,%eax
489130:	23 c1                	and    %ecx,%eax
489132:	8d 4a 08             	lea    0x8(%edx),%ecx
489135:	3d 00 04 00 00       	cmp    $0x400,%eax
48913a:	77 20                	ja     0x48915c
48913c:	3b d1                	cmp    %ecx,%edx
48913e:	1b c0                	sbb    %eax,%eax
489140:	23 c1                	and    %ecx,%eax
489142:	e8 89 73 fb ff       	call   0x4404d0
489147:	8b c4                	mov    %esp,%eax
489149:	89 45 e4             	mov    %eax,-0x1c(%ebp)
48914c:	85 c0                	test   %eax,%eax
48914e:	0f 84 0f 01 00 00    	je     0x489263
489154:	c7 00 cc cc 00 00    	movl   $0xcccc,(%eax)
48915a:	eb 1e                	jmp    0x48917a
48915c:	3b d1                	cmp    %ecx,%edx
48915e:	1b c0                	sbb    %eax,%eax
489160:	23 c1                	and    %ecx,%eax
489162:	50                   	push   %eax
489163:	e8 c2 db fe ff       	call   0x476d2a
489168:	89 45 e4             	mov    %eax,-0x1c(%ebp)
48916b:	59                   	pop    %ecx
48916c:	85 c0                	test   %eax,%eax
48916e:	0f 84 ef 00 00 00    	je     0x489263
489174:	c7 00 dd dd 00 00    	movl   $0xdddd,(%eax)
48917a:	83 c0 08             	add    $0x8,%eax
48917d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
489180:	eb 05                	jmp    0x489187
489182:	8b c7                	mov    %edi,%eax
489184:	89 7d e4             	mov    %edi,-0x1c(%ebp)
489187:	85 c0                	test   %eax,%eax
489189:	0f 84 d4 00 00 00    	je     0x489263
48918f:	ff 75 d8             	push   -0x28(%ebp)
489192:	50                   	push   %eax
489193:	56                   	push   %esi
489194:	ff 75 e0             	push   -0x20(%ebp)
489197:	8b 75 24             	mov    0x24(%ebp),%esi
48919a:	6a 01                	push   $0x1
48919c:	56                   	push   %esi
48919d:	ff 15 74 41 49 00    	call   *0x494174
4891a3:	85 c0                	test   %eax,%eax
4891a5:	0f 84 b8 00 00 00    	je     0x489263
4891ab:	57                   	push   %edi
4891ac:	57                   	push   %edi
4891ad:	53                   	push   %ebx
4891ae:	ff 75 dc             	push   -0x24(%ebp)
4891b1:	6a 09                	push   $0x9
4891b3:	56                   	push   %esi
4891b4:	ff 15 74 41 49 00    	call   *0x494174
4891ba:	89 45 e0             	mov    %eax,-0x20(%ebp)
4891bd:	85 c0                	test   %eax,%eax
4891bf:	0f 84 9e 00 00 00    	je     0x489263
4891c5:	8d 14 00             	lea    (%eax,%eax,1),%edx
4891c8:	8d 4a 08             	lea    0x8(%edx),%ecx
4891cb:	3b d1                	cmp    %ecx,%edx
4891cd:	1b c0                	sbb    %eax,%eax
4891cf:	85 c1                	test   %eax,%ecx
4891d1:	74 4a                	je     0x48921d
4891d3:	8d 4a 08             	lea    0x8(%edx),%ecx
4891d6:	3b d1                	cmp    %ecx,%edx
4891d8:	1b c0                	sbb    %eax,%eax
4891da:	23 c1                	and    %ecx,%eax
4891dc:	8d 4a 08             	lea    0x8(%edx),%ecx
4891df:	3d 00 04 00 00       	cmp    $0x400,%eax
4891e4:	77 19                	ja     0x4891ff
4891e6:	3b d1                	cmp    %ecx,%edx
4891e8:	1b c0                	sbb    %eax,%eax
4891ea:	23 c1                	and    %ecx,%eax
4891ec:	e8 df 72 fb ff       	call   0x4404d0
4891f1:	8b f4                	mov    %esp,%esi
4891f3:	85 f6                	test   %esi,%esi
4891f5:	74 60                	je     0x489257
4891f7:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
4891fd:	eb 19                	jmp    0x489218
4891ff:	3b d1                	cmp    %ecx,%edx
489201:	1b c0                	sbb    %eax,%eax
489203:	23 c1                	and    %ecx,%eax
489205:	50                   	push   %eax
489206:	e8 1f db fe ff       	call   0x476d2a
48920b:	8b f0                	mov    %eax,%esi
48920d:	59                   	pop    %ecx
48920e:	85 f6                	test   %esi,%esi
489210:	74 45                	je     0x489257
489212:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
489218:	83 c6 08             	add    $0x8,%esi
48921b:	eb 02                	jmp    0x48921f
48921d:	8b f7                	mov    %edi,%esi
48921f:	85 f6                	test   %esi,%esi
489221:	74 34                	je     0x489257
489223:	ff 75 e0             	push   -0x20(%ebp)
489226:	56                   	push   %esi
489227:	53                   	push   %ebx
489228:	ff 75 dc             	push   -0x24(%ebp)
48922b:	6a 01                	push   $0x1
48922d:	ff 75 24             	push   0x24(%ebp)
489230:	ff 15 74 41 49 00    	call   *0x494174
489236:	85 c0                	test   %eax,%eax
489238:	74 1d                	je     0x489257
48923a:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
48923d:	57                   	push   %edi
48923e:	57                   	push   %edi
48923f:	57                   	push   %edi
489240:	ff 75 e0             	push   -0x20(%ebp)
489243:	56                   	push   %esi
489244:	ff 75 d8             	push   -0x28(%ebp)
489247:	53                   	push   %ebx
489248:	ff 75 10             	push   0x10(%ebp)
48924b:	ff 75 d4             	push   -0x2c(%ebp)
48924e:	e8 1a bc fe ff       	call   0x474e6d
489253:	8b f8                	mov    %eax,%edi
489255:	eb 03                	jmp    0x48925a
489257:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
48925a:	56                   	push   %esi
48925b:	e8 c3 ef f9 ff       	call   0x428223
489260:	59                   	pop    %ecx
489261:	eb 03                	jmp    0x489266
489263:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
489266:	53                   	push   %ebx
489267:	e8 b7 ef f9 ff       	call   0x428223
48926c:	59                   	pop    %ecx
48926d:	8b c7                	mov    %edi,%eax
48926f:	8d 65 c8             	lea    -0x38(%ebp),%esp
489272:	5f                   	pop    %edi
489273:	5e                   	pop    %esi
489274:	5b                   	pop    %ebx
489275:	8b 4d fc             	mov    -0x4(%ebp),%ecx
489278:	33 cd                	xor    %ebp,%ecx
48927a:	e8 83 67 fb ff       	call   0x43fa02
48927f:	8b e5                	mov    %ebp,%esp
489281:	5d                   	pop    %ebp
489282:	c3                   	ret
489283:	8b ff                	mov    %edi,%edi
489285:	55                   	push   %ebp
489286:	8b ec                	mov    %esp,%ebp
489288:	83 ec 10             	sub    $0x10,%esp
48928b:	ff 75 08             	push   0x8(%ebp)
48928e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
489291:	e8 72 5d fc ff       	call   0x44f008
489296:	ff 75 24             	push   0x24(%ebp)
489299:	8d 45 f4             	lea    -0xc(%ebp),%eax
48929c:	ff 75 20             	push   0x20(%ebp)
48929f:	ff 75 1c             	push   0x1c(%ebp)
4892a2:	ff 75 18             	push   0x18(%ebp)
4892a5:	ff 75 14             	push   0x14(%ebp)
4892a8:	ff 75 10             	push   0x10(%ebp)
4892ab:	ff 75 0c             	push   0xc(%ebp)
4892ae:	50                   	push   %eax
4892af:	e8 27 fd ff ff       	call   0x488fdb
4892b4:	83 c4 20             	add    $0x20,%esp
4892b7:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
4892bb:	74 0a                	je     0x4892c7
4892bd:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4892c0:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
4892c7:	8b e5                	mov    %ebp,%esp
4892c9:	5d                   	pop    %ebp
4892ca:	c3                   	ret
4892cb:	cc                   	int3
4892cc:	cc                   	int3
4892cd:	cc                   	int3
4892ce:	cc                   	int3
4892cf:	cc                   	int3
4892d0:	55                   	push   %ebp
4892d1:	8b ec                	mov    %esp,%ebp
4892d3:	83 ec 08             	sub    $0x8,%esp
4892d6:	83 e4 f0             	and    $0xfffffff0,%esp
4892d9:	dd 1c 24             	fstpl  (%esp)
4892dc:	f3 0f 7e 04 24       	movq   (%esp),%xmm0
4892e1:	e8 08 00 00 00       	call   0x4892ee
4892e6:	c9                   	leave
4892e7:	c3                   	ret
4892e8:	66 0f 12 44 24 04    	movlpd 0x4(%esp),%xmm0
4892ee:	ba 00 00 00 00       	mov    $0x0,%edx
4892f3:	66 0f 28 e8          	movapd %xmm0,%xmm5
4892f7:	66 0f 14 c0          	unpcklpd %xmm0,%xmm0
4892fb:	66 0f 73 d5 34       	psrlq  $0x34,%xmm5
489300:	66 0f c5 cd 00       	pextrw $0x0,%xmm5,%ecx
489305:	66 0f 28 0d d0 56 4a 	movapd 0x4a56d0,%xmm1
48930c:	00
48930d:	66 0f 28 15 e0 56 4a 	movapd 0x4a56e0,%xmm2
489314:	00
489315:	66 0f 28 1d 40 57 4a 	movapd 0x4a5740,%xmm3
48931c:	00
48931d:	66 0f 28 25 f0 56 4a 	movapd 0x4a56f0,%xmm4
489324:	00
489325:	66 0f 28 35 00 57 4a 	movapd 0x4a5700,%xmm6
48932c:	00
48932d:	66 0f 54 c1          	andpd  %xmm1,%xmm0
489331:	66 0f 56 c3          	orpd   %xmm3,%xmm0
489335:	66 0f 58 e0          	addpd  %xmm0,%xmm4
489339:	66 0f c5 c4 00       	pextrw $0x0,%xmm4,%eax
48933e:	25 f0 07 00 00       	and    $0x7f0,%eax
489343:	66 0f 28 a0 f0 5b 4a 	movapd 0x4a5bf0(%eax),%xmm4
48934a:	00
48934b:	66 0f 28 b8 e0 57 4a 	movapd 0x4a57e0(%eax),%xmm7
489352:	00
489353:	66 0f 54 f0          	andpd  %xmm0,%xmm6
489357:	66 0f 5c c6          	subpd  %xmm6,%xmm0
48935b:	66 0f 59 f4          	mulpd  %xmm4,%xmm6
48935f:	66 0f 5c f2          	subpd  %xmm2,%xmm6
489363:	f2 0f 58 fe          	addsd  %xmm6,%xmm7
489367:	66 0f 59 c4          	mulpd  %xmm4,%xmm0
48936b:	66 0f 28 e0          	movapd %xmm0,%xmm4
48936f:	66 0f 58 c6          	addpd  %xmm6,%xmm0
489373:	81 e1 ff 0f 00 00    	and    $0xfff,%ecx
489379:	83 e9 01             	sub    $0x1,%ecx
48937c:	81 f9 fd 07 00 00    	cmp    $0x7fd,%ecx
489382:	0f 87 be 00 00 00    	ja     0x489446
489388:	81 e9 fe 03 00 00    	sub    $0x3fe,%ecx
48938e:	03 ca                	add    %edx,%ecx
489390:	f2 0f 2a f1          	cvtsi2sd %ecx,%xmm6
489394:	66 0f 14 f6          	unpcklpd %xmm6,%xmm6
489398:	c1 e1 0a             	shl    $0xa,%ecx
48939b:	03 c1                	add    %ecx,%eax
48939d:	b9 10 00 00 00       	mov    $0x10,%ecx
4893a2:	ba 00 00 00 00       	mov    $0x0,%edx
4893a7:	83 f8 00             	cmp    $0x0,%eax
4893aa:	0f 44 d1             	cmove  %ecx,%edx
4893ad:	66 0f 28 0d 90 57 4a 	movapd 0x4a5790,%xmm1
4893b4:	00
4893b5:	66 0f 28 d8          	movapd %xmm0,%xmm3
4893b9:	66 0f 28 15 a0 57 4a 	movapd 0x4a57a0,%xmm2
4893c0:	00
4893c1:	66 0f 59 c8          	mulpd  %xmm0,%xmm1
4893c5:	66 0f 59 db          	mulpd  %xmm3,%xmm3
4893c9:	66 0f 58 ca          	addpd  %xmm2,%xmm1
4893cd:	66 0f 28 15 b0 57 4a 	movapd 0x4a57b0,%xmm2
4893d4:	00
4893d5:	f2 0f 59 db          	mulsd  %xmm3,%xmm3
4893d9:	66 0f 28 2d 10 57 4a 	movapd 0x4a5710,%xmm5
4893e0:	00
4893e1:	66 0f 59 f5          	mulpd  %xmm5,%xmm6
4893e5:	66 0f 28 aa 20 57 4a 	movapd 0x4a5720(%edx),%xmm5
4893ec:	00
4893ed:	66 0f 54 e5          	andpd  %xmm5,%xmm4
4893f1:	66 0f 58 fe          	addpd  %xmm6,%xmm7
4893f5:	66 0f 58 fc          	addpd  %xmm4,%xmm7
4893f9:	66 0f 59 c8          	mulpd  %xmm0,%xmm1
4893fd:	f2 0f 59 d8          	mulsd  %xmm0,%xmm3
489401:	66 0f 58 ca          	addpd  %xmm2,%xmm1
489405:	66 0f 28 15 c0 57 4a 	movapd 0x4a57c0,%xmm2
48940c:	00
48940d:	66 0f 59 d0          	mulpd  %xmm0,%xmm2
489411:	66 0f 28 f7          	movapd %xmm7,%xmm6
489415:	66 0f 15 f6          	unpckhpd %xmm6,%xmm6
489419:	66 0f 59 cb          	mulpd  %xmm3,%xmm1
48941d:	83 ec 10             	sub    $0x10,%esp
489420:	66 0f 28 c1          	movapd %xmm1,%xmm0
489424:	66 0f 58 ca          	addpd  %xmm2,%xmm1
489428:	66 0f 15 c0          	unpckhpd %xmm0,%xmm0
48942c:	f2 0f 58 c1          	addsd  %xmm1,%xmm0
489430:	f2 0f 58 c6          	addsd  %xmm6,%xmm0
489434:	f2 0f 58 c7          	addsd  %xmm7,%xmm0
489438:	66 0f 13 44 24 04    	movlpd %xmm0,0x4(%esp)
48943e:	dd 44 24 04          	fldl   0x4(%esp)
489442:	83 c4 10             	add    $0x10,%esp
489445:	c3                   	ret
489446:	66 0f 12 44 24 04    	movlpd 0x4(%esp),%xmm0
48944c:	66 0f 28 0d 50 57 4a 	movapd 0x4a5750,%xmm1
489453:	00
489454:	f2 0f c2 c8 00       	cmpeqsd %xmm0,%xmm1
489459:	66 0f c5 c1 00       	pextrw $0x0,%xmm1,%eax
48945e:	83 f8 00             	cmp    $0x0,%eax
489461:	77 48                	ja     0x4894ab
489463:	83 f9 ff             	cmp    $0xffffffff,%ecx
489466:	74 5e                	je     0x4894c6
489468:	81 f9 fe 07 00 00    	cmp    $0x7fe,%ecx