415559:	0c 0d                	or     $0xd,%al
41555b:	0e                   	push   %cs
41555c:	0e                   	push   %cs
41555d:	0f 10 11             	movups (%ecx),%xmm2
415560:	12 13                	adc    (%ebx),%dl
415562:	14 15                	adc    $0x15,%al
415564:	16                   	push   %ss
415565:	17                   	pop    %ss
415566:	18 19                	sbb    %bl,(%ecx)
415568:	1a 1b                	sbb    (%ebx),%bl
41556a:	1c 1d                	sbb    $0x1d,%al
41556c:	1d 1e 1e 1e 1e       	sbb    $0x1e1e1e1e,%eax
415571:	1e                   	push   %ds
415572:	1e                   	push   %ds
415573:	1f                   	pop    %ds
415574:	1f                   	pop    %ds
415575:	20 21                	and    %ah,(%ecx)
415577:	22 23                	and    (%ebx),%ah
415579:	24 1e                	and    $0x1e,%al
41557b:	1e                   	push   %ds
41557c:	1e                   	push   %ds
41557d:	1e                   	push   %ds
41557e:	1e                   	push   %ds
41557f:	1e                   	push   %ds
415580:	1f                   	pop    %ds
415581:	1f                   	pop    %ds
415582:	20 21                	and    %ah,(%ecx)
415584:	22 23                	and    (%ebx),%ah
415586:	24 25                	and    $0x25,%al
415588:	25 25 25 25 25       	and    $0x25252525,%eax
41558d:	26 26 27             	es es daa
415590:	28 29                	sub    %ch,(%ecx)
415592:	2a 2b                	sub    (%ebx),%ch
415594:	25 25 25 25 25       	and    $0x25252525,%eax
415599:	25 26 26 27 28       	and    $0x28272626,%eax
41559e:	29 2a                	sub    %ebp,(%edx)
4155a0:	2b 2c 2c             	sub    (%esp,%ebp,1),%ebp
4155a3:	2c 2c                	sub    $0x2c,%al
4155a5:	2c 2c                	sub    $0x2c,%al
4155a7:	2d 2d 2e 2f 30       	sub    $0x302f2e2d,%eax
4155ac:	31 32                	xor    %esi,(%edx)
4155ae:	52                   	push   %edx
4155af:	52                   	push   %edx
4155b0:	52                   	push   %edx
4155b1:	52                   	push   %edx
4155b2:	52                   	push   %edx
4155b3:	52                   	push   %edx
4155b4:	52                   	push   %edx
4155b5:	52                   	push   %edx
4155b6:	52                   	push   %edx
4155b7:	52                   	push   %edx
4155b8:	52                   	push   %edx
4155b9:	52                   	push   %edx
4155ba:	33 33                	xor    (%ebx),%esi
4155bc:	34 35                	xor    $0x35,%al
4155be:	35 36 36 37 38       	xor    $0x38373636,%eax
4155c3:	39 3a                	cmp    %edi,(%edx)
4155c5:	3a 3a                	cmp    (%edx),%bh
4155c7:	3a 3b                	cmp    (%ebx),%bh
4155c9:	3c 3d                	cmp    $0x3d,%al
4155cb:	3c 3d                	cmp    $0x3d,%al
4155cd:	3e 3f                	ds aas
4155cf:	3e 40                	ds inc %eax
4155d1:	41                   	inc    %ecx
4155d2:	42                   	inc    %edx
4155d3:	43                   	inc    %ebx
4155d4:	3e 40                	ds inc %eax
4155d6:	41                   	inc    %ecx
4155d7:	42                   	inc    %edx
4155d8:	43                   	inc    %ebx
4155d9:	52                   	push   %edx
4155da:	52                   	push   %edx
4155db:	52                   	push   %edx
4155dc:	52                   	push   %edx
4155dd:	52                   	push   %edx
4155de:	44                   	inc    %esp
4155df:	45                   	inc    %ebp
4155e0:	46                   	inc    %esi
4155e1:	47                   	inc    %edi
4155e2:	48                   	dec    %eax
4155e3:	49                   	dec    %ecx
4155e4:	4a                   	dec    %edx
4155e5:	4b                   	dec    %ebx
4155e6:	4c                   	dec    %esp
4155e7:	4d                   	dec    %ebp
4155e8:	4e                   	dec    %esi
4155e9:	4f                   	dec    %edi
4155ea:	00 00                	add    %al,(%eax)
4155ec:	50                   	push   %eax
4155ed:	51                   	push   %ecx
4155ee:	8b ff                	mov    %edi,%edi
4155f0:	dc 51 41             	fcoml  0x41(%ecx)
4155f3:	00 9f a0 44 00 00    	add    %bl,0x44a0(%edi)
4155f9:	00 00                	add    %al,(%eax)
4155fb:	00 00                	add    %al,(%eax)
4155fd:	00 01                	add    %al,(%ecx)
4155ff:	01 00                	add    %eax,(%eax)
415601:	00 00                	add    %al,(%eax)
415603:	01 55 8b             	add    %edx,-0x75(%ebp)
415606:	ec                   	in     (%dx),%al
415607:	56                   	push   %esi
415608:	57                   	push   %edi
415609:	8b 7d 08             	mov    0x8(%ebp),%edi
41560c:	8b f1                	mov    %ecx,%esi
41560e:	8b 4e 14             	mov    0x14(%esi),%ecx
415611:	85 c9                	test   %ecx,%ecx
415613:	74 60                	je     0x415675
415615:	80 7e 10 00          	cmpb   $0x0,0x10(%esi)
415619:	74 5a                	je     0x415675
41561b:	83 3f ff             	cmpl   $0xffffffff,(%edi)
41561e:	74 55                	je     0x415675
415620:	8b 56 1c             	mov    0x1c(%esi),%edx
415623:	39 17                	cmp    %edx,(%edi)
415625:	7f 4e                	jg     0x415675
415627:	ff 76 24             	push   0x24(%esi)
41562a:	8b 46 34             	mov    0x34(%esi),%eax
41562d:	ff 76 20             	push   0x20(%esi)
415630:	0b 46 2c             	or     0x2c(%esi),%eax
415633:	50                   	push   %eax
415634:	ff 37                	push   (%edi)
415636:	52                   	push   %edx
415637:	ff 36                	push   (%esi)
415639:	8b 56 18             	mov    0x18(%esi),%edx
41563c:	e8 ff ea ff ff       	call   0x414140
415641:	83 c4 18             	add    $0x18,%esp
415644:	89 46 28             	mov    %eax,0x28(%esi)
415647:	85 c0                	test   %eax,%eax
415649:	0f 8e 68 ae 03 00    	jle    0x4504b7
41564f:	8b 46 20             	mov    0x20(%esi),%eax
415652:	8b 48 04             	mov    0x4(%eax),%ecx
415655:	83 66 2c 00          	andl   $0x0,0x2c(%esi)
415659:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
41565d:	74 0b                	je     0x41566a
41565f:	8b 10                	mov    (%eax),%edx
415661:	3b 50 04             	cmp    0x4(%eax),%edx
415664:	0f 84 6b ae 03 00    	je     0x4504d5
41566a:	89 0f                	mov    %ecx,(%edi)
41566c:	8b 46 28             	mov    0x28(%esi),%eax
41566f:	5f                   	pop    %edi
415670:	5e                   	pop    %esi
415671:	5d                   	pop    %ebp
415672:	c2 08 00             	ret    $0x8
415675:	33 c0                	xor    %eax,%eax
415677:	eb f6                	jmp    0x41566f
415679:	cc                   	int3
41567a:	cc                   	int3
41567b:	cc                   	int3
41567c:	cc                   	int3
41567d:	cc                   	int3
41567e:	cc                   	int3
41567f:	cc                   	int3
415680:	55                   	push   %ebp
415681:	8b ec                	mov    %esp,%ebp
415683:	83 ec 4c             	sub    $0x4c,%esp
415686:	89 4d f4             	mov    %ecx,-0xc(%ebp)
415689:	b8 08 00 00 00       	mov    $0x8,%eax
41568e:	33 c9                	xor    %ecx,%ecx
415690:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
415697:	ba 02 00 00 00       	mov    $0x2,%edx
41569c:	c7 45 e0 08 00 00 00 	movl   $0x8,-0x20(%ebp)
4156a3:	f7 e2                	mul    %edx
4156a5:	53                   	push   %ebx
4156a6:	56                   	push   %esi
4156a7:	0f 90 c1             	seto   %cl
4156aa:	f7 d9                	neg    %ecx
4156ac:	0b c8                	or     %eax,%ecx
4156ae:	57                   	push   %edi
4156af:	51                   	push   %ecx
4156b0:	e8 41 b9 00 00       	call   0x420ff6
4156b5:	83 c4 04             	add    $0x4,%esp
4156b8:	89 45 d8             	mov    %eax,-0x28(%ebp)
4156bb:	33 c9                	xor    %ecx,%ecx
4156bd:	66 89 08             	mov    %cx,(%eax)
4156c0:	6a 04                	push   $0x4
4156c2:	e8 2f b9 00 00       	call   0x420ff6
4156c7:	8b f0                	mov    %eax,%esi
4156c9:	83 c4 04             	add    $0x4,%esp
4156cc:	89 75 ec             	mov    %esi,-0x14(%ebp)
4156cf:	85 f6                	test   %esi,%esi
4156d1:	0f 84 b3 01 00 00    	je     0x41588a
4156d7:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
4156dd:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4156e0:	33 ff                	xor    %edi,%edi
4156e2:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4156e5:	89 7d fc             	mov    %edi,-0x4(%ebp)
4156e8:	89 7d f0             	mov    %edi,-0x10(%ebp)
4156eb:	8b 4b 0c             	mov    0xc(%ebx),%ecx
4156ee:	8b 01                	mov    (%ecx),%eax
4156f0:	83 f8 01             	cmp    $0x1,%eax
4156f3:	0f 8f f7 ad 03 00    	jg     0x4504f0
4156f9:	8b 03                	mov    (%ebx),%eax
4156fb:	33 c9                	xor    %ecx,%ecx
4156fd:	89 7b 04             	mov    %edi,0x4(%ebx)
415700:	66 89 08             	mov    %cx,(%eax)
415703:	8b 45 08             	mov    0x8(%ebp),%eax
415706:	8b 40 04             	mov    0x4(%eax),%eax
415709:	85 c0                	test   %eax,%eax
41570b:	0f 8e a6 00 00 00    	jle    0x4157b7
415711:	dd 05 10 6f 4b 00    	fldl   0x4b6f10
415717:	dd 05 08 6f 4b 00    	fldl   0x4b6f08
41571d:	dd 05 00 6f 4b 00    	fldl   0x4b6f00
415723:	8b 75 08             	mov    0x8(%ebp),%esi
415726:	8b 0e                	mov    (%esi),%ecx
415728:	3b f8                	cmp    %eax,%edi
41572a:	0f 83 64 01 00 00    	jae    0x415894
415730:	8d 14 79             	lea    (%ecx,%edi,2),%edx
415733:	66 83 3a 5c          	cmpw   $0x5c,(%edx)
415737:	0f 84 e9 ad 03 00    	je     0x450526
41573d:	3b f8                	cmp    %eax,%edi
41573f:	0f 83 57 01 00 00    	jae    0x41589c
415745:	8d 14 79             	lea    (%ecx,%edi,2),%edx
415748:	66 83 3a 24          	cmpw   $0x24,(%edx)
41574c:	0f 84 63 ae 03 00    	je     0x4505b5
415752:	8b d7                	mov    %edi,%edx
415754:	47                   	inc    %edi
415755:	89 7d fc             	mov    %edi,-0x4(%ebp)
415758:	3b d0                	cmp    %eax,%edx
41575a:	0f 83 44 01 00 00    	jae    0x4158a4
415760:	8d 04 51             	lea    (%ecx,%edx,2),%eax
415763:	8b 4b 0c             	mov    0xc(%ebx),%ecx
415766:	0f b7 00             	movzwl (%eax),%eax
415769:	89 45 f8             	mov    %eax,-0x8(%ebp)
41576c:	8b 01                	mov    (%ecx),%eax
41576e:	83 f8 01             	cmp    $0x1,%eax
415771:	0f 8f 70 ae 03 00    	jg     0x4505e7
415777:	8b 43 04             	mov    0x4(%ebx),%eax
41577a:	83 c0 02             	add    $0x2,%eax
41577d:	39 43 08             	cmp    %eax,0x8(%ebx)
415780:	0f 82 bb ae 03 00    	jb     0x450641
415786:	8b 4b 04             	mov    0x4(%ebx),%ecx
415789:	8b 03                	mov    (%ebx),%eax
41578b:	8b 55 f8             	mov    -0x8(%ebp),%edx
41578e:	66 89 14 48          	mov    %dx,(%eax,%ecx,2)
415792:	ff 43 04             	incl   0x4(%ebx)
415795:	33 d2                	xor    %edx,%edx
415797:	8b 4b 04             	mov    0x4(%ebx),%ecx
41579a:	8b 03                	mov    (%ebx),%eax
41579c:	66 89 14 48          	mov    %dx,(%eax,%ecx,2)
4157a0:	8b 46 04             	mov    0x4(%esi),%eax
4157a3:	3b f8                	cmp    %eax,%edi
4157a5:	0f 8c 7b ff ff ff    	jl     0x415726
4157ab:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4157ae:	dd da                	fstp   %st(2)
4157b0:	dd d8                	fstp   %st(0)
4157b2:	89 75 ec             	mov    %esi,-0x14(%ebp)
4157b5:	dd d8                	fstp   %st(0)
4157b7:	33 c0                	xor    %eax,%eax
4157b9:	c7 45 d0 08 00 00 00 	movl   $0x8,-0x30(%ebp)
4157c0:	89 45 f8             	mov    %eax,-0x8(%ebp)
4157c3:	33 c9                	xor    %ecx,%ecx
4157c5:	89 45 cc             	mov    %eax,-0x34(%ebp)
4157c8:	ba 02 00 00 00       	mov    $0x2,%edx
4157cd:	b8 08 00 00 00       	mov    $0x8,%eax
4157d2:	f7 e2                	mul    %edx
4157d4:	0f 90 c1             	seto   %cl
4157d7:	f7 d9                	neg    %ecx
4157d9:	0b c8                	or     %eax,%ecx
4157db:	51                   	push   %ecx
4157dc:	e8 15 b8 00 00       	call   0x420ff6
4157e1:	83 c4 04             	add    $0x4,%esp
4157e4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4157e7:	33 c9                	xor    %ecx,%ecx
4157e9:	89 45 c8             	mov    %eax,-0x38(%ebp)
4157ec:	66 89 08             	mov    %cx,(%eax)
4157ef:	6a 04                	push   $0x4
4157f1:	e8 00 b8 00 00       	call   0x420ff6
4157f6:	8b c8                	mov    %eax,%ecx
4157f8:	83 c4 04             	add    $0x4,%esp
4157fb:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4157fe:	85 c9                	test   %ecx,%ecx
415800:	0f 84 a6 00 00 00    	je     0x4158ac
415806:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
41580c:	8b 45 08             	mov    0x8(%ebp),%eax
41580f:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
415812:	8b 50 04             	mov    0x4(%eax),%edx
415815:	3b fa                	cmp    %edx,%edi
415817:	0f 87 99 00 00 00    	ja     0x4158b6
41581d:	8b c2                	mov    %edx,%eax
41581f:	2b c7                	sub    %edi,%eax
415821:	89 45 0c             	mov    %eax,0xc(%ebp)
415824:	0f 85 48 af 03 00    	jne    0x450772
41582a:	8b 7d fc             	mov    -0x4(%ebp),%edi
41582d:	8d 45 c8             	lea    -0x38(%ebp),%eax
415830:	3b d8                	cmp    %eax,%ebx
415832:	0f 84 cf af 03 00    	je     0x450807
415838:	8b 55 f8             	mov    -0x8(%ebp),%edx
41583b:	85 d2                	test   %edx,%edx
41583d:	0f 85 e5 af 03 00    	jne    0x450828
415843:	ff 09                	decl   (%ecx)
415845:	75 14                	jne    0x41585b
415847:	57                   	push   %edi
415848:	e8 1f b8 00 00       	call   0x42106c
41584d:	83 c4 04             	add    $0x4,%esp
415850:	ff 75 f4             	push   -0xc(%ebp)
415853:	e8 14 b8 00 00       	call   0x42106c
415858:	83 c4 04             	add    $0x4,%esp
41585b:	8b 5d f0             	mov    -0x10(%ebp),%ebx
41585e:	85 db                	test   %ebx,%ebx
415860:	75 05                	jne    0x415867
415862:	bb 01 00 00 00       	mov    $0x1,%ebx
415867:	ff 0e                	decl   (%esi)
415869:	75 14                	jne    0x41587f
41586b:	ff 75 d8             	push   -0x28(%ebp)
41586e:	e8 f9 b7 00 00       	call   0x42106c
415873:	83 c4 04             	add    $0x4,%esp
415876:	56                   	push   %esi
415877:	e8 f0 b7 00 00       	call   0x42106c
41587c:	83 c4 04             	add    $0x4,%esp
41587f:	5f                   	pop    %edi
415880:	5e                   	pop    %esi
415881:	8b c3                	mov    %ebx,%eax
415883:	5b                   	pop    %ebx
415884:	8b e5                	mov    %ebp,%esp
415886:	5d                   	pop    %ebp
415887:	c2 08 00             	ret    $0x8
41588a:	33 f6                	xor    %esi,%esi
41588c:	89 75 ec             	mov    %esi,-0x14(%ebp)
41588f:	e9 49 fe ff ff       	jmp    0x4156dd
415894:	8d 14 41             	lea    (%ecx,%eax,2),%edx
415897:	e9 97 fe ff ff       	jmp    0x415733
41589c:	8d 14 41             	lea    (%ecx,%eax,2),%edx
41589f:	e9 a4 fe ff ff       	jmp    0x415748
4158a4:	8d 04 41             	lea    (%ecx,%eax,2),%eax
4158a7:	e9 b7 fe ff ff       	jmp    0x415763
4158ac:	33 c9                	xor    %ecx,%ecx
4158ae:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4158b1:	e9 56 ff ff ff       	jmp    0x41580c
4158b6:	8b fa                	mov    %edx,%edi
4158b8:	e9 60 ff ff ff       	jmp    0x41581d
4158bd:	cc                   	int3
4158be:	cc                   	int3
4158bf:	cc                   	int3
4158c0:	55                   	push   %ebp
4158c1:	8b ec                	mov    %esp,%ebp
4158c3:	83 ec 68             	sub    $0x68,%esp
4158c6:	53                   	push   %ebx
4158c7:	56                   	push   %esi
4158c8:	8b f1                	mov    %ecx,%esi
4158ca:	57                   	push   %edi
4158cb:	89 75 ec             	mov    %esi,-0x14(%ebp)
4158ce:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
4158d2:	0f 84 b2 02 00 00    	je     0x415b8a
4158d8:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
4158dc:	0f 84 a8 02 00 00    	je     0x415b8a
4158e2:	8b 7d 10             	mov    0x10(%ebp),%edi
4158e5:	33 c0                	xor    %eax,%eax
4158e7:	6a ff                	push   $0xffffffff
4158e9:	50                   	push   %eax
4158ea:	8b cf                	mov    %edi,%ecx
4158ec:	c6 45 fb 00          	movb   $0x0,-0x5(%ebp)