41652a:	6a 04                	push   $0x4
41652c:	b8 02 00 00 00       	mov    $0x2,%eax
416531:	e8 3a a9 08 00       	call   0x4a0e70
416536:	83 c4 08             	add    $0x8,%esp
416539:	b8 01 00 00 00       	mov    $0x1,%eax
41653e:	89 45 a4             	mov    %eax,-0x5c(%ebp)
416541:	8b 5d c0             	mov    -0x40(%ebp),%ebx
416544:	89 5d a0             	mov    %ebx,-0x60(%ebp)
416547:	e8 a7 d1 fe ff       	call   0x4036f3
41654c:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
41654f:	8b 7d a0             	mov    -0x60(%ebp),%edi
416552:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
416558:	83 c7 04             	add    $0x4,%edi
41655b:	8b c1                	mov    %ecx,%eax
41655d:	40                   	inc    %eax
41655e:	89 07                	mov    %eax,(%edi)
416560:	83 c7 04             	add    $0x4,%edi
416563:	3b fb                	cmp    %ebx,%edi
416565:	74 04                	je     0x41656b
416567:	8b f3                	mov    %ebx,%esi
416569:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41656b:	8b 45 9c             	mov    -0x64(%ebp),%eax
41656e:	40                   	inc    %eax
41656f:	c1 e0 02             	shl    $0x2,%eax
416572:	83 c0 08             	add    $0x8,%eax
416575:	50                   	push   %eax
416576:	ff 75 a0             	push   -0x60(%ebp)
416579:	e8 32 a0 08 00       	call   0x4a05b0
41657e:	83 c4 08             	add    $0x8,%esp
416581:	89 45 c0             	mov    %eax,-0x40(%ebp)
416584:	8b f8                	mov    %eax,%edi
416586:	83 c7 08             	add    $0x8,%edi
416589:	8b 45 9c             	mov    -0x64(%ebp),%eax
41658c:	c1 e0 02             	shl    $0x2,%eax
41658f:	03 f8                	add    %eax,%edi
416591:	8b 45 a4             	mov    -0x5c(%ebp),%eax
416594:	89 07                	mov    %eax,(%edi)
416596:	8d 45 c0             	lea    -0x40(%ebp),%eax
416599:	50                   	push   %eax
41659a:	6a 04                	push   $0x4
41659c:	b8 02 00 00 00       	mov    $0x2,%eax
4165a1:	e8 ca a8 08 00       	call   0x4a0e70
4165a6:	83 c4 08             	add    $0x8,%esp
4165a9:	b8 03 00 00 00       	mov    $0x3,%eax
4165ae:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4165b1:	8b 5d c0             	mov    -0x40(%ebp),%ebx
4165b4:	89 5d a0             	mov    %ebx,-0x60(%ebp)
4165b7:	e8 37 d1 fe ff       	call   0x4036f3
4165bc:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
4165bf:	8b 7d a0             	mov    -0x60(%ebp),%edi
4165c2:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
4165c8:	83 c7 04             	add    $0x4,%edi
4165cb:	8b c1                	mov    %ecx,%eax
4165cd:	40                   	inc    %eax
4165ce:	89 07                	mov    %eax,(%edi)
4165d0:	83 c7 04             	add    $0x4,%edi
4165d3:	3b fb                	cmp    %ebx,%edi
4165d5:	74 04                	je     0x4165db
4165d7:	8b f3                	mov    %ebx,%esi
4165d9:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4165db:	8b 45 9c             	mov    -0x64(%ebp),%eax
4165de:	40                   	inc    %eax
4165df:	c1 e0 02             	shl    $0x2,%eax
4165e2:	83 c0 08             	add    $0x8,%eax
4165e5:	50                   	push   %eax
4165e6:	ff 75 a0             	push   -0x60(%ebp)
4165e9:	e8 c2 9f 08 00       	call   0x4a05b0
4165ee:	83 c4 08             	add    $0x8,%esp
4165f1:	89 45 c0             	mov    %eax,-0x40(%ebp)
4165f4:	8b f8                	mov    %eax,%edi
4165f6:	83 c7 08             	add    $0x8,%edi
4165f9:	8b 45 9c             	mov    -0x64(%ebp),%eax
4165fc:	c1 e0 02             	shl    $0x2,%eax
4165ff:	03 f8                	add    %eax,%edi
416601:	8b 45 a4             	mov    -0x5c(%ebp),%eax
416604:	89 07                	mov    %eax,(%edi)
416606:	83 7d 3c 00          	cmpl   $0x0,0x3c(%ebp)
41660a:	0f 84 3c 01 00 00    	je     0x41674c
416610:	8b 5d 2c             	mov    0x2c(%ebp),%ebx
416613:	8b 1b                	mov    (%ebx),%ebx
416615:	e8 30 7e ff ff       	call   0x40e44a
41661a:	89 45 a4             	mov    %eax,-0x5c(%ebp)
41661d:	c7 45 9c 01 00 00 00 	movl   $0x1,-0x64(%ebp)
416624:	8b 45 a4             	mov    -0x5c(%ebp),%eax
416627:	83 f8 00             	cmp    $0x0,%eax
41662a:	7d 17                	jge    0x416643
41662c:	68 98 19 00 00       	push   $0x1998
416631:	68 0b d2 03 04       	push   $0x403d20b
416636:	68 0a 00 00 00       	push   $0xa
41663b:	e8 6a 9f 08 00       	call   0x4a05aa
416640:	83 c4 0c             	add    $0xc,%esp
416643:	89 45 a0             	mov    %eax,-0x60(%ebp)
416646:	8d 5d 9c             	lea    -0x64(%ebp),%ebx
416649:	e8 a5 d0 fe ff       	call   0x4036f3
41664e:	51                   	push   %ecx
41664f:	c1 e1 02             	shl    $0x2,%ecx
416652:	83 c1 08             	add    $0x8,%ecx
416655:	51                   	push   %ecx
416656:	e8 43 9f 08 00       	call   0x4a059e
41665b:	83 c4 04             	add    $0x4,%esp
41665e:	8b f8                	mov    %eax,%edi
416660:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
416666:	83 c7 04             	add    $0x4,%edi
416669:	59                   	pop    %ecx
41666a:	50                   	push   %eax
41666b:	51                   	push   %ecx
41666c:	8d 75 a0             	lea    -0x60(%ebp),%esi
41666f:	ad                   	lods   %ds:(%esi),%eax
416670:	ab                   	stos   %eax,%es:(%edi)
416671:	8b 5d bc             	mov    -0x44(%ebp),%ebx
416674:	e8 7a d0 fe ff       	call   0x4036f3
416679:	5a                   	pop    %edx
41667a:	85 c9                	test   %ecx,%ecx
41667c:	0f 84 1d 00 00 00    	je     0x41669f
416682:	57                   	push   %edi
416683:	52                   	push   %edx
416684:	51                   	push   %ecx
416685:	53                   	push   %ebx
416686:	8b 1b                	mov    (%ebx),%ebx
416688:	53                   	push   %ebx
416689:	8b 03                	mov    (%ebx),%eax
41668b:	ff 10                	call   *(%eax)
41668d:	e8 12 9f 08 00       	call   0x4a05a4
416692:	83 c4 04             	add    $0x4,%esp
416695:	5b                   	pop    %ebx
416696:	59                   	pop    %ecx
416697:	83 c3 04             	add    $0x4,%ebx
41669a:	49                   	dec    %ecx
41669b:	75 e7                	jne    0x416684
41669d:	5a                   	pop    %edx
41669e:	5f                   	pop    %edi
41669f:	85 d2                	test   %edx,%edx
4166a1:	0f 84 91 00 00 00    	je     0x416738
4166a7:	8b df                	mov    %edi,%ebx
4166a9:	52                   	push   %edx
4166aa:	53                   	push   %ebx
4166ab:	68 64 02 00 00       	push   $0x264
4166b0:	e8 e9 9e 08 00       	call   0x4a059e
4166b5:	83 c4 04             	add    $0x4,%esp
4166b8:	5b                   	pop    %ebx
4166b9:	53                   	push   %ebx
4166ba:	89 03                	mov    %eax,(%ebx)
4166bc:	8b d8                	mov    %eax,%ebx
4166be:	8b f8                	mov    %eax,%edi
4166c0:	33 c0                	xor    %eax,%eax
4166c2:	b9 99 00 00 00       	mov    $0x99,%ecx
4166c7:	f3 ab                	rep stos %eax,%es:(%edi)
4166c9:	c7 03 d4 06 4e 00    	movl   $0x4e06d4,(%ebx)
4166cf:	53                   	push   %ebx
4166d0:	81 c3 50 02 00 00    	add    $0x250,%ebx
4166d6:	53                   	push   %ebx
4166d7:	68 10 00 00 00       	push   $0x10
4166dc:	e8 bd 9e 08 00       	call   0x4a059e
4166e1:	83 c4 04             	add    $0x4,%esp
4166e4:	5b                   	pop    %ebx
4166e5:	53                   	push   %ebx
4166e6:	89 03                	mov    %eax,(%ebx)
4166e8:	8b d8                	mov    %eax,%ebx
4166ea:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
4166f0:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
4166f7:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
4166fe:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
416705:	5b                   	pop    %ebx
416706:	83 c3 10             	add    $0x10,%ebx
416709:	53                   	push   %ebx
41670a:	68 08 00 00 00       	push   $0x8
41670f:	e8 8a 9e 08 00       	call   0x4a059e
416714:	83 c4 04             	add    $0x4,%esp
416717:	5b                   	pop    %ebx
416718:	53                   	push   %ebx
416719:	89 03                	mov    %eax,(%ebx)
41671b:	8b d8                	mov    %eax,%ebx
41671d:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
416723:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
41672a:	5b                   	pop    %ebx
41672b:	5b                   	pop    %ebx
41672c:	5b                   	pop    %ebx
41672d:	5a                   	pop    %edx
41672e:	83 c3 04             	add    $0x4,%ebx
416731:	4a                   	dec    %edx
416732:	0f 85 71 ff ff ff    	jne    0x4166a9
416738:	ff 75 bc             	push   -0x44(%ebp)
41673b:	e8 64 9e 08 00       	call   0x4a05a4
416740:	83 c4 04             	add    $0x4,%esp
416743:	58                   	pop    %eax
416744:	89 45 bc             	mov    %eax,-0x44(%ebp)
416747:	e9 0e 01 00 00       	jmp    0x41685a
41674c:	8b 5d 2c             	mov    0x2c(%ebp),%ebx
41674f:	8b 1b                	mov    (%ebx),%ebx
416751:	e8 f4 7c ff ff       	call   0x40e44a
416756:	89 45 a4             	mov    %eax,-0x5c(%ebp)
416759:	c7 45 9c 01 00 00 00 	movl   $0x1,-0x64(%ebp)
416760:	8b 45 a4             	mov    -0x5c(%ebp),%eax
416763:	83 f8 00             	cmp    $0x0,%eax
416766:	7d 17                	jge    0x41677f
416768:	68 d0 19 00 00       	push   $0x19d0
41676d:	68 0b d2 03 04       	push   $0x403d20b
416772:	68 0a 00 00 00       	push   $0xa
416777:	e8 2e 9e 08 00       	call   0x4a05aa
41677c:	83 c4 0c             	add    $0xc,%esp
41677f:	89 45 a0             	mov    %eax,-0x60(%ebp)
416782:	8d 5d 9c             	lea    -0x64(%ebp),%ebx
416785:	e8 69 cf fe ff       	call   0x4036f3
41678a:	51                   	push   %ecx
41678b:	c1 e1 02             	shl    $0x2,%ecx
41678e:	83 c1 08             	add    $0x8,%ecx
416791:	51                   	push   %ecx
416792:	e8 07 9e 08 00       	call   0x4a059e
416797:	83 c4 04             	add    $0x4,%esp
41679a:	8b f8                	mov    %eax,%edi
41679c:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
4167a2:	83 c7 04             	add    $0x4,%edi
4167a5:	59                   	pop    %ecx
4167a6:	50                   	push   %eax
4167a7:	51                   	push   %ecx
4167a8:	8d 75 a0             	lea    -0x60(%ebp),%esi
4167ab:	ad                   	lods   %ds:(%esi),%eax
4167ac:	ab                   	stos   %eax,%es:(%edi)
4167ad:	8b 5d b8             	mov    -0x48(%ebp),%ebx
4167b0:	e8 3e cf fe ff       	call   0x4036f3
4167b5:	5a                   	pop    %edx
4167b6:	85 c9                	test   %ecx,%ecx
4167b8:	0f 84 1d 00 00 00    	je     0x4167db
4167be:	57                   	push   %edi
4167bf:	52                   	push   %edx
4167c0:	51                   	push   %ecx
4167c1:	53                   	push   %ebx
4167c2:	8b 1b                	mov    (%ebx),%ebx
4167c4:	53                   	push   %ebx
4167c5:	8b 03                	mov    (%ebx),%eax
4167c7:	ff 10                	call   *(%eax)
4167c9:	e8 d6 9d 08 00       	call   0x4a05a4
4167ce:	83 c4 04             	add    $0x4,%esp
4167d1:	5b                   	pop    %ebx
4167d2:	59                   	pop    %ecx
4167d3:	83 c3 04             	add    $0x4,%ebx
4167d6:	49                   	dec    %ecx
4167d7:	75 e7                	jne    0x4167c0
4167d9:	5a                   	pop    %edx
4167da:	5f                   	pop    %edi
4167db:	85 d2                	test   %edx,%edx
4167dd:	0f 84 68 00 00 00    	je     0x41684b
4167e3:	8b df                	mov    %edi,%ebx
4167e5:	52                   	push   %edx
4167e6:	53                   	push   %ebx
4167e7:	68 44 01 00 00       	push   $0x144
4167ec:	e8 ad 9d 08 00       	call   0x4a059e
4167f1:	83 c4 04             	add    $0x4,%esp
4167f4:	5b                   	pop    %ebx
4167f5:	53                   	push   %ebx
4167f6:	89 03                	mov    %eax,(%ebx)
4167f8:	8b d8                	mov    %eax,%ebx
4167fa:	8b f8                	mov    %eax,%edi
4167fc:	33 c0                	xor    %eax,%eax
4167fe:	b9 51 00 00 00       	mov    $0x51,%ecx
416803:	f3 ab                	rep stos %eax,%es:(%edi)
416805:	c7 03 fc ef 4d 00    	movl   $0x4deffc,(%ebx)
41680b:	53                   	push   %ebx
41680c:	81 c3 40 01 00 00    	add    $0x140,%ebx
416812:	53                   	push   %ebx
416813:	68 10 00 00 00       	push   $0x10
416818:	e8 81 9d 08 00       	call   0x4a059e
41681d:	83 c4 04             	add    $0x4,%esp
416820:	5b                   	pop    %ebx
416821:	53                   	push   %ebx
416822:	89 03                	mov    %eax,(%ebx)
416824:	8b d8                	mov    %eax,%ebx
416826:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
41682c:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
416833:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
41683a:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
416841:	5b                   	pop    %ebx
416842:	5b                   	pop    %ebx
416843:	5b                   	pop    %ebx
416844:	5a                   	pop    %edx
416845:	83 c3 04             	add    $0x4,%ebx
416848:	4a                   	dec    %edx
416849:	75 9a                	jne    0x4167e5
41684b:	ff 75 b8             	push   -0x48(%ebp)
41684e:	e8 51 9d 08 00       	call   0x4a05a4
416853:	83 c4 04             	add    $0x4,%esp
416856:	58                   	pop    %eax
416857:	89 45 b8             	mov    %eax,-0x48(%ebp)
41685a:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
416861:	8b 5d 2c             	mov    0x2c(%ebp),%ebx
416864:	8b 1b                	mov    (%ebx),%ebx
416866:	e8 df 7b ff ff       	call   0x40e44a
41686b:	33 c9                	xor    %ecx,%ecx
41686d:	50                   	push   %eax
41686e:	8d 45 b0             	lea    -0x50(%ebp),%eax
416871:	8b d8                	mov    %eax,%ebx
416873:	58                   	pop    %eax
416874:	41                   	inc    %ecx
416875:	51                   	push   %ecx
416876:	53                   	push   %ebx
416877:	89 0b                	mov    %ecx,(%ebx)
416879:	50                   	push   %eax
41687a:	3b c8                	cmp    %eax,%ecx
41687c:	0f 8f b5 09 00 00    	jg     0x417237
416882:	83 7d 3c 00          	cmpl   $0x0,0x3c(%ebp)
416886:	0f 84 a4 04 00 00    	je     0x416d30
41688c:	8b 5d bc             	mov    -0x44(%ebp),%ebx
41688f:	e8 5f ce fe ff       	call   0x4036f3
416894:	53                   	push   %ebx
416895:	51                   	push   %ecx
416896:	8b 45 b0             	mov    -0x50(%ebp),%eax
416899:	48                   	dec    %eax
41689a:	79 17                	jns    0x4168b3
41689c:	68 8d 1a 00 00       	push   $0x1a8d
4168a1:	68 0b d2 03 04       	push   $0x403d20b
4168a6:	68 04 00 00 00       	push   $0x4
4168ab:	e8 fa 9c 08 00       	call   0x4a05aa
4168b0:	83 c4 0c             	add    $0xc,%esp
4168b3:	59                   	pop    %ecx
4168b4:	5b                   	pop    %ebx
4168b5:	3b c1                	cmp    %ecx,%eax
4168b7:	7c 17                	jl     0x4168d0
4168b9:	68 8d 1a 00 00       	push   $0x1a8d
4168be:	68 0b d2 03 04       	push   $0x403d20b
4168c3:	68 01 00 00 00       	push   $0x1
4168c8:	e8 dd 9c 08 00       	call   0x4a05aa
4168cd:	83 c4 0c             	add    $0xc,%esp
4168d0:	c1 e0 02             	shl    $0x2,%eax
4168d3:	03 d8                	add    %eax,%ebx
4168d5:	89 5d a4             	mov    %ebx,-0x5c(%ebp)
4168d8:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4168db:	83 c3 08             	add    $0x8,%ebx
4168de:	89 5d a0             	mov    %ebx,-0x60(%ebp)
4168e1:	db 45 b0             	fildl  -0x50(%ebp)
4168e4:	dd 5d 98             	fstpl  -0x68(%ebp)
4168e7:	dd 45 98             	fldl   -0x68(%ebp)
4168ea:	dc 0d b1 44 4e 00    	fmull  0x4e44b1
4168f0:	dd 5d 90             	fstpl  -0x70(%ebp)
4168f3:	8b 5d e0             	mov    -0x20(%ebp),%ebx
4168f6:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
4168f9:	8b 5d a0             	mov    -0x60(%ebp),%ebx
4168fc:	d9 03                	flds   (%ebx)
4168fe:	dc 65 90             	fsubl  -0x70(%ebp)
416901:	8b 5d 8c             	mov    -0x74(%ebp),%ebx
416904:	d8 23                	fsubs  (%ebx)
416906:	dd 5d 84             	fstpl  -0x7c(%ebp)
416909:	8b 5d e0             	mov    -0x20(%ebp),%ebx
41690c:	83 c3 08             	add    $0x8,%ebx
41690f:	89 5d 80             	mov    %ebx,-0x80(%ebp)
416912:	dd 45 84             	fldl   -0x7c(%ebp)
416915:	8b 5d 80             	mov    -0x80(%ebp),%ebx
416918:	d8 03                	fadds  (%ebx)
41691a:	dd 9d 78 ff ff ff    	fstpl  -0x88(%ebp)
416920:	8b 5d f4             	mov    -0xc(%ebp),%ebx
416923:	83 c3 0c             	add    $0xc,%ebx