458372:	eb 06                	jmp    0x45837a
458374:	ff 15 1c d7 48 00    	call   *0x48d71c
45837a:	89 45 fc             	mov    %eax,-0x4(%ebp)
45837d:	8b 46 04             	mov    0x4(%esi),%eax
458380:	8b 08                	mov    (%eax),%ecx
458382:	e8 ff 4e fb ff       	call   0x40d286
458387:	8b 4e 04             	mov    0x4(%esi),%ecx
45838a:	8b f8                	mov    %eax,%edi
45838c:	8b 49 04             	mov    0x4(%ecx),%ecx
45838f:	89 7d e0             	mov    %edi,-0x20(%ebp)
458392:	e8 ef 4e fb ff       	call   0x40d286
458397:	8b 4e 04             	mov    0x4(%esi),%ecx
45839a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45839d:	8b 49 08             	mov    0x8(%ecx),%ecx
4583a0:	e8 e1 4e fb ff       	call   0x40d286
4583a5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4583a8:	8b f0                	mov    %eax,%esi
4583aa:	8b 49 04             	mov    0x4(%ecx),%ecx
4583ad:	89 75 e8             	mov    %esi,-0x18(%ebp)
4583b0:	8b 49 0c             	mov    0xc(%ecx),%ecx
4583b3:	e8 ce 4e fb ff       	call   0x40d286
4583b8:	2b f7                	sub    %edi,%esi
4583ba:	56                   	push   %esi
4583bb:	89 45 ec             	mov    %eax,-0x14(%ebp)
4583be:	e8 da c8 fc ff       	call   0x424c9d
4583c3:	59                   	pop    %ecx
4583c4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4583c7:	8d 78 01             	lea    0x1(%eax),%edi
4583ca:	8d 45 08             	lea    0x8(%ebp),%eax
4583cd:	50                   	push   %eax
4583ce:	8d 45 e0             	lea    -0x20(%ebp),%eax
4583d1:	50                   	push   %eax
4583d2:	ff 75 fc             	push   -0x4(%ebp)
4583d5:	e8 e7 19 00 00       	call   0x459dc1
4583da:	8b f0                	mov    %eax,%esi
4583dc:	85 f6                	test   %esi,%esi
4583de:	74 37                	je     0x458417
4583e0:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
4583e4:	ff 75 0c             	push   0xc(%ebp)
4583e7:	57                   	push   %edi
4583e8:	ff 75 08             	push   0x8(%ebp)
4583eb:	56                   	push   %esi
4583ec:	75 07                	jne    0x4583f5
4583ee:	e8 33 19 00 00       	call   0x459d26
4583f3:	eb 05                	jmp    0x4583fa
4583f5:	e8 5a 18 00 00       	call   0x459c54
4583fa:	8b cb                	mov    %ebx,%ecx
4583fc:	dd 5d f0             	fstpl  -0x10(%ebp)
4583ff:	e8 1c a8 fb ff       	call   0x412c20
458404:	dd 45 f0             	fldl   -0x10(%ebp)
458407:	56                   	push   %esi
458408:	dd 1b                	fstpl  (%ebx)
45840a:	c7 43 0c 03 00 00 00 	movl   $0x3,0xc(%ebx)
458411:	e8 48 71 fc ff       	call   0x41f55e
458416:	59                   	pop    %ecx
458417:	5f                   	pop    %edi
458418:	5e                   	pop    %esi
458419:	33 c0                	xor    %eax,%eax
45841b:	5b                   	pop    %ebx
45841c:	c9                   	leave
45841d:	c2 08 00             	ret    $0x8
458420:	55                   	push   %ebp
458421:	8b ec                	mov    %esp,%ebp
458423:	83 ec 0c             	sub    $0xc,%esp
458426:	53                   	push   %ebx
458427:	56                   	push   %esi
458428:	8b 75 08             	mov    0x8(%ebp),%esi
45842b:	57                   	push   %edi
45842c:	83 7e 08 03          	cmpl   $0x3,0x8(%esi)
458430:	89 4d fc             	mov    %ecx,-0x4(%ebp)
458433:	72 23                	jb     0x458458
458435:	8b 46 04             	mov    0x4(%esi),%eax
458438:	8b 48 08             	mov    0x8(%eax),%ecx
45843b:	e8 37 31 ff ff       	call   0x44b577
458440:	50                   	push   %eax
458441:	ff 15 30 d6 48 00    	call   *0x48d630
458447:	85 c0                	test   %eax,%eax
458449:	74 0d                	je     0x458458
45844b:	8b 46 04             	mov    0x4(%esi),%eax
45844e:	8b 48 08             	mov    0x8(%eax),%ecx
458451:	e8 21 31 ff ff       	call   0x44b577
458456:	eb 06                	jmp    0x45845e
458458:	ff 15 1c d7 48 00    	call   *0x48d71c
45845e:	8b d8                	mov    %eax,%ebx
458460:	8b 46 04             	mov    0x4(%esi),%eax
458463:	8b 08                	mov    (%eax),%ecx
458465:	e8 1c 4e fb ff       	call   0x40d286
45846a:	8b 4e 04             	mov    0x4(%esi),%ecx
45846d:	8b f8                	mov    %eax,%edi
45846f:	8b 49 04             	mov    0x4(%ecx),%ecx
458472:	e8 0f 4e fb ff       	call   0x40d286
458477:	8b f0                	mov    %eax,%esi
458479:	53                   	push   %ebx
45847a:	8d 45 f4             	lea    -0xc(%ebp),%eax
45847d:	50                   	push   %eax
45847e:	8b 45 fc             	mov    -0x4(%ebp),%eax
458481:	ff b0 08 01 00 00    	push   0x108(%eax)
458487:	e8 b8 e0 ff ff       	call   0x456544
45848c:	03 7d f4             	add    -0xc(%ebp),%edi
45848f:	03 75 f8             	add    -0x8(%ebp),%esi
458492:	6a 00                	push   $0x0
458494:	ff 15 10 d6 48 00    	call   *0x48d610
45849a:	56                   	push   %esi
45849b:	57                   	push   %edi
45849c:	50                   	push   %eax
45849d:	89 45 08             	mov    %eax,0x8(%ebp)
4584a0:	ff 15 14 d1 48 00    	call   *0x48d114
4584a6:	8b 75 0c             	mov    0xc(%ebp),%esi
4584a9:	8b ce                	mov    %esi,%ecx
4584ab:	8b d8                	mov    %eax,%ebx
4584ad:	e8 6e a7 fb ff       	call   0x412c20
4584b2:	ff 75 08             	push   0x8(%ebp)
4584b5:	8b d3                	mov    %ebx,%edx
4584b7:	c1 fa 10             	sar    $0x10,%edx
4584ba:	0f b6 cb             	movzbl %bl,%ecx
4584bd:	81 e2 ff 00 00 00    	and    $0xff,%edx
4584c3:	c1 e1 10             	shl    $0x10,%ecx
4584c6:	0b d1                	or     %ecx,%edx
4584c8:	81 e3 00 ff 00 00    	and    $0xff00,%ebx
4584ce:	0b d3                	or     %ebx,%edx
4584d0:	6a 00                	push   $0x0
4584d2:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4584d9:	89 16                	mov    %edx,(%esi)
4584db:	ff 15 0c d6 48 00    	call   *0x48d60c
4584e1:	33 c0                	xor    %eax,%eax
4584e3:	5f                   	pop    %edi
4584e4:	5e                   	pop    %esi
4584e5:	5b                   	pop    %ebx
4584e6:	c9                   	leave
4584e7:	c2 08 00             	ret    $0x8
4584ea:	55                   	push   %ebp
4584eb:	8b ec                	mov    %esp,%ebp
4584ed:	83 ec 4c             	sub    $0x4c,%esp
4584f0:	53                   	push   %ebx
4584f1:	56                   	push   %esi
4584f2:	8b 75 08             	mov    0x8(%ebp),%esi
4584f5:	8b d9                	mov    %ecx,%ebx
4584f7:	8b 46 04             	mov    0x4(%esi),%eax
4584fa:	57                   	push   %edi
4584fb:	8b 08                	mov    (%eax),%ecx
4584fd:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
458500:	e8 81 4d fb ff       	call   0x40d286
458505:	8b 4e 04             	mov    0x4(%esi),%ecx
458508:	89 45 b4             	mov    %eax,-0x4c(%ebp)
45850b:	8b 49 04             	mov    0x4(%ecx),%ecx
45850e:	e8 73 4d fb ff       	call   0x40d286
458513:	8b 4e 04             	mov    0x4(%esi),%ecx
458516:	89 45 b8             	mov    %eax,-0x48(%ebp)
458519:	8b 49 08             	mov    0x8(%ecx),%ecx
45851c:	e8 65 4d fb ff       	call   0x40d286
458521:	8b 4e 04             	mov    0x4(%esi),%ecx
458524:	89 45 08             	mov    %eax,0x8(%ebp)
458527:	8b 49 0c             	mov    0xc(%ecx),%ecx
45852a:	89 45 bc             	mov    %eax,-0x44(%ebp)
45852d:	e8 54 4d fb ff       	call   0x40d286
458532:	83 7e 08 08          	cmpl   $0x8,0x8(%esi)
458536:	89 45 ec             	mov    %eax,-0x14(%ebp)
458539:	89 45 c0             	mov    %eax,-0x40(%ebp)
45853c:	72 23                	jb     0x458561
45853e:	8b 4e 04             	mov    0x4(%esi),%ecx
458541:	8b 49 1c             	mov    0x1c(%ecx),%ecx
458544:	e8 2e 30 ff ff       	call   0x44b577
458549:	50                   	push   %eax
45854a:	ff 15 30 d6 48 00    	call   *0x48d630
458550:	85 c0                	test   %eax,%eax
458552:	74 0d                	je     0x458561
458554:	8b 46 04             	mov    0x4(%esi),%eax
458557:	8b 48 1c             	mov    0x1c(%eax),%ecx
45855a:	e8 18 30 ff ff       	call   0x44b577
45855f:	eb 06                	jmp    0x458567
458561:	ff 15 1c d7 48 00    	call   *0x48d71c
458567:	8b f8                	mov    %eax,%edi
458569:	57                   	push   %edi
45856a:	8d 45 c4             	lea    -0x3c(%ebp),%eax
45856d:	50                   	push   %eax
45856e:	ff b3 08 01 00 00    	push   0x108(%ebx)
458574:	e8 cb df ff ff       	call   0x456544
458579:	83 7e 08 07          	cmpl   $0x7,0x8(%esi)
45857d:	72 20                	jb     0x45859f
45857f:	8b 46 04             	mov    0x4(%esi),%eax
458582:	8b 48 18             	mov    0x18(%eax),%ecx
458585:	e8 fc 4c fb ff       	call   0x40d286
45858a:	83 f8 01             	cmp    $0x1,%eax
45858d:	7e 10                	jle    0x45859f
45858f:	8b 46 04             	mov    0x4(%esi),%eax
458592:	8b 48 18             	mov    0x18(%eax),%ecx
458595:	e8 ec 4c fb ff       	call   0x40d286
45859a:	89 45 f8             	mov    %eax,-0x8(%ebp)
45859d:	eb 07                	jmp    0x4585a6
45859f:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
4585a6:	83 7e 08 06          	cmpl   $0x6,0x8(%esi)
4585aa:	72 0f                	jb     0x4585bb
4585ac:	8b 46 04             	mov    0x4(%esi),%eax
4585af:	8b 48 14             	mov    0x14(%eax),%ecx
4585b2:	e8 cf 4c fb ff       	call   0x40d286
4585b7:	8b c8                	mov    %eax,%ecx
4585b9:	eb 02                	jmp    0x4585bd
4585bb:	33 c9                	xor    %ecx,%ecx
4585bd:	8b 46 04             	mov    0x4(%esi),%eax
4585c0:	51                   	push   %ecx
4585c1:	8b 48 10             	mov    0x10(%eax),%ecx
4585c4:	e8 bd 4c fb ff       	call   0x40d286
4585c9:	50                   	push   %eax
4585ca:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4585cd:	e8 13 de ff ff       	call   0x4563e5
4585d2:	8b 75 08             	mov    0x8(%ebp),%esi
4585d5:	3b 75 b4             	cmp    -0x4c(%ebp),%esi
4585d8:	8b 45 ec             	mov    -0x14(%ebp),%eax
4585db:	0f 9c 45 ff          	setl   -0x1(%ebp)
4585df:	3b 45 b8             	cmp    -0x48(%ebp),%eax
4585e2:	0f 9c 45 fe          	setl   -0x2(%ebp)
4585e6:	2b 45 b8             	sub    -0x48(%ebp),%eax
4585e9:	50                   	push   %eax
4585ea:	e8 ae c6 fc ff       	call   0x424c9d
4585ef:	2b 75 b4             	sub    -0x4c(%ebp),%esi
4585f2:	40                   	inc    %eax
4585f3:	56                   	push   %esi
4585f4:	89 45 e8             	mov    %eax,-0x18(%ebp)
4585f7:	e8 a1 c6 fc ff       	call   0x424c9d
4585fc:	59                   	pop    %ecx
4585fd:	59                   	pop    %ecx
4585fe:	8d 70 01             	lea    0x1(%eax),%esi
458601:	8d 45 dc             	lea    -0x24(%ebp),%eax
458604:	50                   	push   %eax
458605:	32 c9                	xor    %cl,%cl
458607:	8d 45 b4             	lea    -0x4c(%ebp),%eax
45860a:	50                   	push   %eax
45860b:	88 4d 0b             	mov    %cl,0xb(%ebp)
45860e:	57                   	push   %edi
45860f:	8b cb                	mov    %ebx,%ecx
458611:	89 75 d8             	mov    %esi,-0x28(%ebp)
458614:	e8 a8 17 00 00       	call   0x459dc1
458619:	8b 5d 0c             	mov    0xc(%ebp),%ebx
45861c:	89 45 ec             	mov    %eax,-0x14(%ebp)
45861f:	85 c0                	test   %eax,%eax
458621:	0f 84 28 01 00 00    	je     0x45874f
458627:	8b 55 f8             	mov    -0x8(%ebp),%edx
45862a:	33 c9                	xor    %ecx,%ecx
45862c:	8b c2                	mov    %edx,%eax
45862e:	f7 d8                	neg    %eax
458630:	89 45 dc             	mov    %eax,-0x24(%ebp)
458633:	8b 45 c0             	mov    -0x40(%ebp),%eax
458636:	89 4d 0c             	mov    %ecx,0xc(%ebp)
458639:	89 45 f4             	mov    %eax,-0xc(%ebp)
45863c:	3b 4d e8             	cmp    -0x18(%ebp),%ecx
45863f:	0f 8d fa 00 00 00    	jge    0x45873f
458645:	8b c6                	mov    %esi,%eax
458647:	c1 e0 02             	shl    $0x2,%eax
45864a:	8b f8                	mov    %eax,%edi
45864c:	0f af f9             	imul   %ecx,%edi
45864f:	03 c7                	add    %edi,%eax
458651:	89 45 e4             	mov    %eax,-0x1c(%ebp)
458654:	8a 45 0b             	mov    0xb(%ebp),%al
458657:	89 7d e0             	mov    %edi,-0x20(%ebp)
45865a:	8b f7                	mov    %edi,%esi
45865c:	89 7d f0             	mov    %edi,-0x10(%ebp)
45865f:	84 c0                	test   %al,%al
458661:	0f 85 bf 00 00 00    	jne    0x458726
458667:	3b 75 e4             	cmp    -0x1c(%ebp),%esi
45866a:	0f 8d b3 00 00 00    	jge    0x458723
458670:	8b 45 ec             	mov    -0x14(%ebp),%eax
458673:	03 c6                	add    %esi,%eax
458675:	50                   	push   %eax
458676:	8d 4d cc             	lea    -0x34(%ebp),%ecx
458679:	e8 54 14 00 00       	call   0x459ad2
45867e:	84 c0                	test   %al,%al
458680:	0f 84 89 00 00 00    	je     0x45870f
458686:	6a 02                	push   $0x2
458688:	6a 01                	push   $0x1
45868a:	53                   	push   %ebx
45868b:	c6 45 0b 01          	movb   $0x1,0xb(%ebp)
45868f:	e8 bc 39 fc ff       	call   0x41c050
458694:	83 c4 0c             	add    $0xc,%esp
458697:	8b c6                	mov    %esi,%eax
458699:	2b c7                	sub    %edi,%eax
45869b:	6a 04                	push   $0x4
45869d:	99                   	cltd
45869e:	59                   	pop    %ecx
45869f:	f7 f9                	idiv   %ecx
4586a1:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
4586a5:	74 07                	je     0x4586ae
4586a7:	8b 7d bc             	mov    -0x44(%ebp),%edi
4586aa:	2b f8                	sub    %eax,%edi
4586ac:	eb 05                	jmp    0x4586b3
4586ae:	8b 7d b4             	mov    -0x4c(%ebp),%edi
4586b1:	03 f8                	add    %eax,%edi
4586b3:	2b 7d c4             	sub    -0x3c(%ebp),%edi
4586b6:	6a 00                	push   $0x0
4586b8:	6a 01                	push   $0x1
4586ba:	6a 00                	push   $0x0
4586bc:	53                   	push   %ebx
4586bd:	e8 ce 94 fb ff       	call   0x411b90
4586c2:	8b f0                	mov    %eax,%esi
4586c4:	83 c4 10             	add    $0x10,%esp
4586c7:	8b ce                	mov    %esi,%ecx
4586c9:	e8 52 a5 fb ff       	call   0x412c20
4586ce:	33 d2                	xor    %edx,%edx
4586d0:	42                   	inc    %edx
4586d1:	80 7d fe 00          	cmpb   $0x0,-0x2(%ebp)
4586d5:	89 56 0c             	mov    %edx,0xc(%esi)
4586d8:	89 3e                	mov    %edi,(%esi)
4586da:	74 05                	je     0x4586e1
4586dc:	8b 7d f4             	mov    -0xc(%ebp),%edi
4586df:	eb 06                	jmp    0x4586e7
4586e1:	8b 7d 0c             	mov    0xc(%ebp),%edi
4586e4:	03 7d b8             	add    -0x48(%ebp),%edi
4586e7:	2b 7d c8             	sub    -0x38(%ebp),%edi
4586ea:	52                   	push   %edx
4586eb:	52                   	push   %edx
4586ec:	6a 00                	push   $0x0
4586ee:	53                   	push   %ebx
4586ef:	e8 9c 94 fb ff       	call   0x411b90
4586f4:	8b f0                	mov    %eax,%esi
4586f6:	83 c4 10             	add    $0x10,%esp
4586f9:	8b ce                	mov    %esi,%ecx
4586fb:	e8 20 a5 fb ff       	call   0x412c20
458700:	89 3e                	mov    %edi,(%esi)
458702:	8b 7d e0             	mov    -0x20(%ebp),%edi
458705:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
45870c:	8b 75 f0             	mov    -0x10(%ebp),%esi
45870f:	8b 55 f8             	mov    -0x8(%ebp),%edx
458712:	8a 45 0b             	mov    0xb(%ebp),%al
458715:	8d 34 96             	lea    (%esi,%edx,4),%esi
458718:	89 75 f0             	mov    %esi,-0x10(%ebp)
45871b:	84 c0                	test   %al,%al
45871d:	0f 84 44 ff ff ff    	je     0x458667
458723:	8b 4d 0c             	mov    0xc(%ebp),%ecx
458726:	8b 75 f4             	mov    -0xc(%ebp),%esi
458729:	03 75 dc             	add    -0x24(%ebp),%esi
45872c:	03 ca                	add    %edx,%ecx
45872e:	89 75 f4             	mov    %esi,-0xc(%ebp)
458731:	8b 75 d8             	mov    -0x28(%ebp),%esi
458734:	89 4d 0c             	mov    %ecx,0xc(%ebp)
458737:	84 c0                	test   %al,%al
458739:	0f 84 fd fe ff ff    	je     0x45863c
45873f:	ff 75 ec             	push   -0x14(%ebp)
458742:	e8 17 6e fc ff       	call   0x41f55e
458747:	59                   	pop    %ecx
458748:	8a 4d 0b             	mov    0xb(%ebp),%cl
45874b:	84 c9                	test   %cl,%cl
45874d:	75 22                	jne    0x458771
45874f:	8b cb                	mov    %ebx,%ecx
458751:	e8 ca a4 fb ff       	call   0x412c20
458756:	8b 55 d4             	mov    -0x2c(%ebp),%edx
458759:	83 23 00             	andl   $0x0,(%ebx)
45875c:	33 c0                	xor    %eax,%eax
45875e:	40                   	inc    %eax
45875f:	6a 00                	push   $0x0
458761:	89 43 0c             	mov    %eax,0xc(%ebx)
458764:	50                   	push   %eax