57b39f:	90                   	nop
57b3a0:	53                   	push   %ebx
57b3a1:	56                   	push   %esi
57b3a2:	8b f2                	mov    %edx,%esi
57b3a4:	8b d8                	mov    %eax,%ebx
57b3a6:	85 f6                	test   %esi,%esi
57b3a8:	0f 85 b1 00 00 00    	jne    0x57b45f
57b3ae:	8b 43 10             	mov    0x10(%ebx),%eax
57b3b1:	89 83 7c 76 00 00    	mov    %eax,0x767c(%ebx)
57b3b7:	33 c0                	xor    %eax,%eax
57b3b9:	89 43 28             	mov    %eax,0x28(%ebx)
57b3bc:	8b 43 10             	mov    0x10(%ebx),%eax
57b3bf:	89 43 14             	mov    %eax,0x14(%ebx)
57b3c2:	8b c8                	mov    %eax,%ecx
57b3c4:	b8 01 00 00 00       	mov    $0x1,%eax
57b3c9:	d3 e0                	shl    %cl,%eax
57b3cb:	48                   	dec    %eax
57b3cc:	89 43 18             	mov    %eax,0x18(%ebx)
57b3cf:	8b 4b 10             	mov    0x10(%ebx),%ecx
57b3d2:	49                   	dec    %ecx
57b3d3:	b8 01 00 00 00       	mov    $0x1,%eax
57b3d8:	d3 e0                	shl    %cl,%eax
57b3da:	89 43 1c             	mov    %eax,0x1c(%ebx)
57b3dd:	40                   	inc    %eax
57b3de:	89 43 20             	mov    %eax,0x20(%ebx)
57b3e1:	8b 43 1c             	mov    0x1c(%ebx),%eax
57b3e4:	83 c0 02             	add    $0x2,%eax
57b3e7:	89 43 24             	mov    %eax,0x24(%ebx)
57b3ea:	33 c0                	xor    %eax,%eax
57b3ec:	89 43 2c             	mov    %eax,0x2c(%ebx)
57b3ef:	8b c3                	mov    %ebx,%eax
57b3f1:	e8 5a fd ff ff       	call   0x57b150
57b3f6:	89 83 8c 76 00 00    	mov    %eax,0x768c(%ebx)
57b3fc:	33 c0                	xor    %eax,%eax
57b3fe:	89 83 98 76 00 00    	mov    %eax,0x7698(%ebx)
57b404:	c7 83 80 76 00 00 8b 	movl   $0x138b,0x7680(%ebx)
57b40b:	13 00 00
57b40e:	eb 14                	jmp    0x57b424
57b410:	ff 83 98 76 00 00    	incl   0x7698(%ebx)
57b416:	8b 83 80 76 00 00    	mov    0x7680(%ebx),%eax
57b41c:	03 c0                	add    %eax,%eax
57b41e:	89 83 80 76 00 00    	mov    %eax,0x7680(%ebx)
57b424:	81 bb 80 76 00 00 00 	cmpl   $0x10000,0x7680(%ebx)
57b42b:	00 01 00
57b42e:	7c e0                	jl     0x57b410
57b430:	b8 08 00 00 00       	mov    $0x8,%eax
57b435:	2b 83 98 76 00 00    	sub    0x7698(%ebx),%eax
57b43b:	89 83 98 76 00 00    	mov    %eax,0x7698(%ebx)
57b441:	b8 8b 13 00 00       	mov    $0x138b,%eax
57b446:	89 83 94 76 00 00    	mov    %eax,0x7694(%ebx)
57b44c:	8b d0                	mov    %eax,%edx
57b44e:	8b c3                	mov    %ebx,%eax
57b450:	e8 17 fd ff ff       	call   0x57b16c
57b455:	8b 53 1c             	mov    0x1c(%ebx),%edx
57b458:	8b c3                	mov    %ebx,%eax
57b45a:	e8 f1 fd ff ff       	call   0x57b250
57b45f:	85 f6                	test   %esi,%esi
57b461:	74 09                	je     0x57b46c
57b463:	83 fe 01             	cmp    $0x1,%esi
57b466:	0f 85 3a 01 00 00    	jne    0x57b5a6
57b46c:	8b c3                	mov    %ebx,%eax
57b46e:	e8 dd fc ff ff       	call   0x57b150
57b473:	8b f0                	mov    %eax,%esi
57b475:	89 b3 88 76 00 00    	mov    %esi,0x7688(%ebx)
57b47b:	83 fe ff             	cmp    $0xffffffff,%esi
57b47e:	0f 84 3e 01 00 00    	je     0x57b5c2
57b484:	c1 e6 0c             	shl    $0xc,%esi
57b487:	03 b3 8c 76 00 00    	add    0x768c(%ebx),%esi
57b48d:	89 b3 80 76 00 00    	mov    %esi,0x7680(%ebx)
57b493:	8b 8b 98 76 00 00    	mov    0x7698(%ebx),%ecx
57b499:	8b 83 88 76 00 00    	mov    0x7688(%ebx),%eax
57b49f:	d3 e0                	shl    %cl,%eax
57b4a1:	33 83 8c 76 00 00    	xor    0x768c(%ebx),%eax
57b4a7:	89 83 84 76 00 00    	mov    %eax,0x7684(%ebx)
57b4ad:	8b 54 83 30          	mov    0x30(%ebx,%eax,4),%edx
57b4b1:	3b 93 80 76 00 00    	cmp    0x7680(%ebx),%edx
57b4b7:	75 10                	jne    0x57b4c9
57b4b9:	0f b7 84 43 5c 4e 00 	movzwl 0x4e5c(%ebx,%eax,2),%eax
57b4c0:	00
57b4c1:	89 83 8c 76 00 00    	mov    %eax,0x768c(%ebx)
57b4c7:	eb a3                	jmp    0x57b46c
57b4c9:	8b 83 84 76 00 00    	mov    0x7684(%ebx),%eax
57b4cf:	83 7c 83 30 00       	cmpl   $0x0,0x30(%ebx,%eax,4)
57b4d4:	7c 78                	jl     0x57b54e
57b4d6:	8b 83 94 76 00 00    	mov    0x7694(%ebx),%eax
57b4dc:	2b 83 84 76 00 00    	sub    0x7684(%ebx),%eax
57b4e2:	89 83 90 76 00 00    	mov    %eax,0x7690(%ebx)
57b4e8:	83 bb 84 76 00 00 00 	cmpl   $0x0,0x7684(%ebx)
57b4ef:	75 0a                	jne    0x57b4fb
57b4f1:	c7 83 90 76 00 00 01 	movl   $0x1,0x7690(%ebx)
57b4f8:	00 00 00
57b4fb:	8b 83 90 76 00 00    	mov    0x7690(%ebx),%eax
57b501:	29 83 84 76 00 00    	sub    %eax,0x7684(%ebx)
57b507:	83 bb 84 76 00 00 00 	cmpl   $0x0,0x7684(%ebx)
57b50e:	7d 0c                	jge    0x57b51c
57b510:	8b 83 94 76 00 00    	mov    0x7694(%ebx),%eax
57b516:	01 83 84 76 00 00    	add    %eax,0x7684(%ebx)
57b51c:	8b 83 84 76 00 00    	mov    0x7684(%ebx),%eax
57b522:	8b 54 83 30          	mov    0x30(%ebx,%eax,4),%edx
57b526:	3b 93 80 76 00 00    	cmp    0x7680(%ebx),%edx
57b52c:	75 13                	jne    0x57b541
57b52e:	0f b7 84 43 5c 4e 00 	movzwl 0x4e5c(%ebx,%eax,2),%eax
57b535:	00
57b536:	89 83 8c 76 00 00    	mov    %eax,0x768c(%ebx)
57b53c:	e9 2b ff ff ff       	jmp    0x57b46c
57b541:	8b 83 84 76 00 00    	mov    0x7684(%ebx),%eax
57b547:	83 7c 83 30 00       	cmpl   $0x0,0x30(%ebx,%eax,4)
57b54c:	7f ad                	jg     0x57b4fb
57b54e:	8b 93 8c 76 00 00    	mov    0x768c(%ebx),%edx
57b554:	8b c3                	mov    %ebx,%eax
57b556:	e8 f5 fc ff ff       	call   0x57b250
57b55b:	8b 83 88 76 00 00    	mov    0x7688(%ebx),%eax
57b561:	89 83 8c 76 00 00    	mov    %eax,0x768c(%ebx)
57b567:	81 7b 24 fe 0f 00 00 	cmpl   $0xffe,0x24(%ebx)
57b56e:	7d 2a                	jge    0x57b59a
57b570:	8b 83 84 76 00 00    	mov    0x7684(%ebx),%eax
57b576:	66 8b 53 24          	mov    0x24(%ebx),%dx
57b57a:	66 89 94 43 5c 4e 00 	mov    %dx,0x4e5c(%ebx,%eax,2)
57b581:	00
57b582:	ff 43 24             	incl   0x24(%ebx)
57b585:	8b 83 84 76 00 00    	mov    0x7684(%ebx),%eax
57b58b:	8b 93 80 76 00 00    	mov    0x7680(%ebx),%edx
57b591:	89 54 83 30          	mov    %edx,0x30(%ebx,%eax,4)
57b595:	e9 d2 fe ff ff       	jmp    0x57b46c
57b59a:	8b c3                	mov    %ebx,%eax
57b59c:	e8 d3 fd ff ff       	call   0x57b374
57b5a1:	e9 c6 fe ff ff       	jmp    0x57b46c
57b5a6:	83 fe 02             	cmp    $0x2,%esi
57b5a9:	75 17                	jne    0x57b5c2
57b5ab:	8b 93 8c 76 00 00    	mov    0x768c(%ebx),%edx
57b5b1:	8b c3                	mov    %ebx,%eax
57b5b3:	e8 98 fc ff ff       	call   0x57b250
57b5b8:	8b 53 20             	mov    0x20(%ebx),%edx
57b5bb:	8b c3                	mov    %ebx,%eax
57b5bd:	e8 8e fc ff ff       	call   0x57b250
57b5c2:	5e                   	pop    %esi
57b5c3:	5b                   	pop    %ebx
57b5c4:	c3                   	ret
57b5c5:	8d 40 00             	lea    0x0(%eax),%eax
57b5c8:	55                   	push   %ebp
57b5c9:	8b ec                	mov    %esp,%ebp
57b5cb:	83 c4 f8             	add    $0xfffffff8,%esp
57b5ce:	53                   	push   %ebx
57b5cf:	56                   	push   %esi
57b5d0:	57                   	push   %edi
57b5d1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
57b5d4:	89 55 fc             	mov    %edx,-0x4(%ebp)
57b5d7:	8b f8                	mov    %eax,%edi
57b5d9:	8b 75 08             	mov    0x8(%ebp),%esi
57b5dc:	83 3e 00             	cmpl   $0x0,(%esi)
57b5df:	75 48                	jne    0x57b629
57b5e1:	b8 9c 76 00 00       	mov    $0x769c,%eax
57b5e6:	e8 c1 71 e8 ff       	call   0x4027ac
57b5eb:	8b d8                	mov    %eax,%ebx
57b5ed:	89 7b 0c             	mov    %edi,0xc(%ebx)
57b5f0:	8b 45 f8             	mov    -0x8(%ebp),%eax
57b5f3:	89 43 04             	mov    %eax,0x4(%ebx)
57b5f6:	33 c0                	xor    %eax,%eax
57b5f8:	89 83 74 75 00 00    	mov    %eax,0x7574(%ebx)
57b5fe:	33 c0                	xor    %eax,%eax
57b600:	89 83 78 75 00 00    	mov    %eax,0x7578(%ebx)
57b606:	8b 45 fc             	mov    -0x4(%ebp),%eax
57b609:	89 43 08             	mov    %eax,0x8(%ebx)
57b60c:	33 c0                	xor    %eax,%eax
57b60e:	89 43 24             	mov    %eax,0x24(%ebx)
57b611:	33 c0                	xor    %eax,%eax
57b613:	89 03                	mov    %eax,(%ebx)
57b615:	c7 43 10 09 00 00 00 	movl   $0x9,0x10(%ebx)
57b61c:	8b c3                	mov    %ebx,%eax
57b61e:	33 d2                	xor    %edx,%edx
57b620:	e8 7b fd ff ff       	call   0x57b3a0
57b625:	89 1e                	mov    %ebx,(%esi)
57b627:	eb 3e                	jmp    0x57b667
57b629:	83 3e 00             	cmpl   $0x0,(%esi)
57b62c:	74 39                	je     0x57b667
57b62e:	8b 1e                	mov    (%esi),%ebx
57b630:	85 ff                	test   %edi,%edi
57b632:	75 1a                	jne    0x57b64e
57b634:	8b c3                	mov    %ebx,%eax
57b636:	ba 02 00 00 00       	mov    $0x2,%edx
57b63b:	e8 60 fd ff ff       	call   0x57b3a0
57b640:	ba 9c 76 00 00       	mov    $0x769c,%edx
57b645:	8b c3                	mov    %ebx,%eax
57b647:	e8 80 71 e8 ff       	call   0x4027cc
57b64c:	eb 19                	jmp    0x57b667
57b64e:	8b 45 fc             	mov    -0x4(%ebp),%eax
57b651:	89 43 08             	mov    %eax,0x8(%ebx)
57b654:	89 7b 0c             	mov    %edi,0xc(%ebx)
57b657:	33 c0                	xor    %eax,%eax
57b659:	89 03                	mov    %eax,(%ebx)
57b65b:	8b c3                	mov    %ebx,%eax
57b65d:	ba 01 00 00 00       	mov    $0x1,%edx
57b662:	e8 39 fd ff ff       	call   0x57b3a0
57b667:	5f                   	pop    %edi
57b668:	5e                   	pop    %esi
57b669:	5b                   	pop    %ebx
57b66a:	59                   	pop    %ecx
57b66b:	59                   	pop    %ecx
57b66c:	5d                   	pop    %ebp
57b66d:	c2 04 00             	ret    $0x4
57b670:	55                   	push   %ebp
57b671:	8b ec                	mov    %esp,%ebp
57b673:	33 c0                	xor    %eax,%eax
57b675:	55                   	push   %ebp
57b676:	68 95 b6 57 00       	push   $0x57b695
57b67b:	64 ff 30             	push   %fs:(%eax)
57b67e:	64 89 20             	mov    %esp,%fs:(%eax)
57b681:	ff 05 14 28 6b 00    	incl   0x6b2814
57b687:	33 c0                	xor    %eax,%eax
57b689:	5a                   	pop    %edx
57b68a:	59                   	pop    %ecx
57b68b:	59                   	pop    %ecx
57b68c:	64 89 10             	mov    %edx,%fs:(%eax)
57b68f:	68 9c b6 57 00       	push   $0x57b69c
57b694:	c3                   	ret
57b695:	e9 72 8b e8 ff       	jmp    0x40420c
57b69a:	eb f8                	jmp    0x57b694
57b69c:	5d                   	pop    %ebp
57b69d:	c3                   	ret
57b69e:	8b c0                	mov    %eax,%eax
57b6a0:	83 2d 14 28 6b 00 01 	subl   $0x1,0x6b2814
57b6a7:	c3                   	ret
57b6a8:	55                   	push   %ebp
57b6a9:	8b ec                	mov    %esp,%ebp
57b6ab:	dd 45 08             	fldl   0x8(%ebp)
57b6ae:	d8 0d c0 b6 57 00    	fmuls  0x57b6c0
57b6b4:	e8 07 76 e8 ff       	call   0x402cc0
57b6b9:	5d                   	pop    %ebp
57b6ba:	c2 08 00             	ret    $0x8
57b6bd:	00 00                	add    %al,(%eax)
57b6bf:	00 00                	add    %al,(%eax)
57b6c1:	00 80 47 83 c4 f4    	add    %al,-0xb3b7cb9(%eax)
57b6c7:	89 44 24 08          	mov    %eax,0x8(%esp)
57b6cb:	db 44 24 08          	fildl  0x8(%esp)
57b6cf:	d8 35 e0 b6 57 00    	fdivs  0x57b6e0
57b6d5:	dd 1c 24             	fstpl  (%esp)
57b6d8:	9b dd 04 24          	fldl   (%esp)
57b6dc:	83 c4 0c             	add    $0xc,%esp
57b6df:	c3                   	ret
57b6e0:	00 00                	add    %al,(%eax)
57b6e2:	80 47 53 56          	addb   $0x56,0x53(%edi)
57b6e6:	83 c4 f8             	add    $0xfffffff8,%esp
57b6e9:	8b f2                	mov    %edx,%esi
57b6eb:	8b d8                	mov    %eax,%ebx
57b6ed:	89 1c 24             	mov    %ebx,(%esp)
57b6f0:	db 04 24             	fildl  (%esp)
57b6f3:	d8 35 1c b7 57 00    	fdivs  0x57b71c
57b6f9:	89 74 24 04          	mov    %esi,0x4(%esp)
57b6fd:	db 44 24 04          	fildl  0x4(%esp)
57b701:	d8 35 1c b7 57 00    	fdivs  0x57b71c
57b707:	de c9                	fmulp  %st,%st(1)
57b709:	d8 0d 1c b7 57 00    	fmuls  0x57b71c
57b70f:	e8 ac 75 e8 ff       	call   0x402cc0
57b714:	59                   	pop    %ecx
57b715:	5a                   	pop    %edx
57b716:	5e                   	pop    %esi
57b717:	5b                   	pop    %ebx
57b718:	c3                   	ret
57b719:	00 00                	add    %al,(%eax)
57b71b:	00 00                	add    %al,(%eax)
57b71d:	00 80 47 83 c4 f8    	add    %al,-0x73b7cb9(%eax)
57b723:	8b 08                	mov    (%eax),%ecx
57b725:	89 0c 24             	mov    %ecx,(%esp)
57b728:	8b 48 04             	mov    0x4(%eax),%ecx
57b72b:	89 4c 24 04          	mov    %ecx,0x4(%esp)
57b72f:	8b 0a                	mov    (%edx),%ecx
57b731:	89 08                	mov    %ecx,(%eax)
57b733:	8b 4a 04             	mov    0x4(%edx),%ecx
57b736:	89 48 04             	mov    %ecx,0x4(%eax)
57b739:	8b 04 24             	mov    (%esp),%eax
57b73c:	89 02                	mov    %eax,(%edx)
57b73e:	8b 44 24 04          	mov    0x4(%esp),%eax
57b742:	89 42 04             	mov    %eax,0x4(%edx)
57b745:	59                   	pop    %ecx
57b746:	5a                   	pop    %edx
57b747:	c3                   	ret
57b748:	55                   	push   %ebp
57b749:	8b ec                	mov    %esp,%ebp
57b74b:	51                   	push   %ecx
57b74c:	53                   	push   %ebx
57b74d:	56                   	push   %esi
57b74e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
57b751:	8b da                	mov    %edx,%ebx
57b753:	8b f0                	mov    %eax,%esi
57b755:	8b cb                	mov    %ebx,%ecx
57b757:	0f af 4d fc          	imul   -0x4(%ebp),%ecx
57b75b:	8b d6                	mov    %esi,%edx
57b75d:	8b 45 08             	mov    0x8(%ebp),%eax
57b760:	8b 30                	mov    (%eax),%esi
57b762:	ff 56 08             	call   *0x8(%esi)
57b765:	99                   	cltd
57b766:	f7 fb                	idiv   %ebx
57b768:	5e                   	pop    %esi
57b769:	5b                   	pop    %ebx
57b76a:	59                   	pop    %ecx
57b76b:	5d                   	pop    %ebp
57b76c:	c2 04 00             	ret    $0x4
57b76f:	90                   	nop
57b770:	55                   	push   %ebp
57b771:	8b ec                	mov    %esp,%ebp
57b773:	53                   	push   %ebx
57b774:	33 db                	xor    %ebx,%ebx
57b776:	ff 75 0c             	push   0xc(%ebp)
57b779:	ff 75 08             	push   0x8(%ebp)
57b77c:	e8 57 2f ea ff       	call   0x41e6d8
57b781:	8b c3                	mov    %ebx,%eax
57b783:	5b                   	pop    %ebx
57b784:	5d                   	pop    %ebp
57b785:	c2 08 00             	ret    $0x8
57b788:	c3                   	ret
57b789:	8d 40 00             	lea    0x0(%eax),%eax
57b78c:	83 c4 f8             	add    $0xfffffff8,%esp
57b78f:	e8 24 2f ea ff       	call   0x41e6b8
57b794:	89 04 24             	mov    %eax,(%esp)
57b797:	89 54 24 04          	mov    %edx,0x4(%esp)
57b79b:	8b 04 24             	mov    (%esp),%eax
57b79e:	8b 54 24 04          	mov    0x4(%esp),%edx
57b7a2:	59                   	pop    %ecx
57b7a3:	5a                   	pop    %edx
57b7a4:	c3                   	ret
57b7a5:	8d 40 00             	lea    0x0(%eax),%eax
57b7a8:	8a 10                	mov    (%eax),%dl
57b7aa:	8a 48 01             	mov    0x1(%eax),%cl
57b7ad:	88 08                	mov    %cl,(%eax)
57b7af:	88 50 01             	mov    %dl,0x1(%eax)
57b7b2:	c3                   	ret
57b7b3:	90                   	nop
57b7b4:	53                   	push   %ebx
57b7b5:	56                   	push   %esi
57b7b6:	8a 08                	mov    (%eax),%cl
57b7b8:	40                   	inc    %eax
57b7b9:	8a 10                	mov    (%eax),%dl
57b7bb:	40                   	inc    %eax
57b7bc:	8b f0                	mov    %eax,%esi
57b7be:	4e                   	dec    %esi
57b7bf:	8a 18                	mov    (%eax),%bl
57b7c1:	88 1e                	mov    %bl,(%esi)
57b7c3:	88 10                	mov    %dl,(%eax)
57b7c5:	40                   	inc    %eax
57b7c6:	8b f0                	mov    %eax,%esi
57b7c8:	83 ee 03             	sub    $0x3,%esi
57b7cb:	8a 10                	mov    (%eax),%dl
57b7cd:	88 16                	mov    %dl,(%esi)
57b7cf:	88 08                	mov    %cl,(%eax)
57b7d1:	5e                   	pop    %esi
57b7d2:	5b                   	pop    %ebx
57b7d3:	c3                   	ret
57b7d4:	55                   	push   %ebp
57b7d5:	8b ec                	mov    %esp,%ebp
57b7d7:	8b 55 18             	mov    0x18(%ebp),%edx