55a451:	43                   	inc    %ebx
55a452:	4f                   	dec    %edi
55a453:	0f 85 56 ff ff ff    	jne    0x55a3af
55a459:	8b 45 0c             	mov    0xc(%ebp),%eax
55a45c:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
55a461:	74 1e                	je     0x55a481
55a463:	db 45 e0             	fildl  -0x20(%ebp)
55a466:	8b 45 0c             	mov    0xc(%ebp),%eax
55a469:	dc 48 18             	fmull  0x18(%eax)
55a46c:	e8 5b 88 ea ff       	call   0x402ccc
55a471:	8b c8                	mov    %eax,%ecx
55a473:	8b 5d 0c             	mov    0xc(%ebp),%ebx
55a476:	8b 55 0c             	mov    0xc(%ebp),%edx
55a479:	8b 52 08             	mov    0x8(%edx),%edx
55a47c:	8b 43 04             	mov    0x4(%ebx),%eax
55a47f:	ff 13                	call   *(%ebx)
55a481:	8b 45 0c             	mov    0xc(%ebp),%eax
55a484:	8b 40 28             	mov    0x28(%eax),%eax
55a487:	80 38 00             	cmpb   $0x0,(%eax)
55a48a:	75 0c                	jne    0x55a498
55a48c:	ff 45 e0             	incl   -0x20(%ebp)
55a48f:	ff 4d a4             	decl   -0x5c(%ebp)
55a492:	0f 85 fb fe ff ff    	jne    0x55a393
55a498:	8b 45 ec             	mov    -0x14(%ebp),%eax
55a49b:	48                   	dec    %eax
55a49c:	85 c0                	test   %eax,%eax
55a49e:	7c 19                	jl     0x55a4b9
55a4a0:	40                   	inc    %eax
55a4a1:	89 45 a4             	mov    %eax,-0x5c(%ebp)
55a4a4:	8d 9d 4c ff ff ff    	lea    -0xb4(%ebp),%ebx
55a4aa:	8b 03                	mov    (%ebx),%eax
55a4ac:	e8 e3 d8 01 00       	call   0x577d94
55a4b1:	83 c3 04             	add    $0x4,%ebx
55a4b4:	ff 4d a4             	decl   -0x5c(%ebp)
55a4b7:	75 f1                	jne    0x55a4aa
55a4b9:	8b 45 bc             	mov    -0x44(%ebp),%eax
55a4bc:	e8 0b 83 ea ff       	call   0x4027cc
55a4c1:	8b 45 b8             	mov    -0x48(%ebp),%eax
55a4c4:	e8 03 83 ea ff       	call   0x4027cc
55a4c9:	83 7d e8 03          	cmpl   $0x3,-0x18(%ebp)
55a4cd:	75 20                	jne    0x55a4ef
55a4cf:	8b 45 b4             	mov    -0x4c(%ebp),%eax
55a4d2:	e8 f5 82 ea ff       	call   0x4027cc
55a4d7:	8b 45 b0             	mov    -0x50(%ebp),%eax
55a4da:	e8 ed 82 ea ff       	call   0x4027cc
55a4df:	8b 45 ac             	mov    -0x54(%ebp),%eax
55a4e2:	e8 e5 82 ea ff       	call   0x4027cc
55a4e7:	8b 45 a8             	mov    -0x58(%ebp),%eax
55a4ea:	e8 dd 82 ea ff       	call   0x4027cc
55a4ef:	8b c6                	mov    %esi,%eax
55a4f1:	e8 b2 a8 01 00       	call   0x574da8
55a4f6:	5f                   	pop    %edi
55a4f7:	5e                   	pop    %esi
55a4f8:	5b                   	pop    %ebx
55a4f9:	8b e5                	mov    %ebp,%esp
55a4fb:	5d                   	pop    %ebp
55a4fc:	c2 08 00             	ret    $0x8
55a4ff:	00 72 62             	add    %dh,0x62(%edx)
55a502:	00 00                	add    %al,(%eax)
55a504:	00 00                	add    %al,(%eax)
55a506:	c8 42 55 8b          	enter  $0x5542,$0x8b
55a50a:	ec                   	in     (%dx),%al
55a50b:	81 c4 78 ff ff ff    	add    $0xffffff78,%esp
55a511:	53                   	push   %ebx
55a512:	56                   	push   %esi
55a513:	57                   	push   %edi
55a514:	33 db                	xor    %ebx,%ebx
55a516:	89 9d 78 ff ff ff    	mov    %ebx,-0x88(%ebp)
55a51c:	89 5d ec             	mov    %ebx,-0x14(%ebp)
55a51f:	89 4d f4             	mov    %ecx,-0xc(%ebp)
55a522:	89 55 f8             	mov    %edx,-0x8(%ebp)
55a525:	89 45 fc             	mov    %eax,-0x4(%ebp)
55a528:	33 c0                	xor    %eax,%eax
55a52a:	55                   	push   %ebp
55a52b:	68 31 aa 55 00       	push   $0x55aa31
55a530:	64 ff 30             	push   %fs:(%eax)
55a533:	64 89 20             	mov    %esp,%fs:(%eax)
55a536:	8b 45 0c             	mov    0xc(%ebp),%eax
55a539:	8b 40 28             	mov    0x28(%eax),%eax
55a53c:	89 45 a8             	mov    %eax,-0x58(%ebp)
55a53f:	33 c0                	xor    %eax,%eax
55a541:	89 45 80             	mov    %eax,-0x80(%ebp)
55a544:	89 45 84             	mov    %eax,-0x7c(%ebp)
55a547:	33 c0                	xor    %eax,%eax
55a549:	89 45 88             	mov    %eax,-0x78(%ebp)
55a54c:	33 f6                	xor    %esi,%esi
55a54e:	ba 44 aa 55 00       	mov    $0x55aa44,%edx
55a553:	8b 45 fc             	mov    -0x4(%ebp),%eax
55a556:	e8 85 df 01 00       	call   0x5784e0
55a55b:	89 45 f0             	mov    %eax,-0x10(%ebp)
55a55e:	8b 45 f8             	mov    -0x8(%ebp),%eax
55a561:	8b 10                	mov    (%eax),%edx
55a563:	ff 52 0c             	call   *0xc(%edx)
55a566:	89 45 e8             	mov    %eax,-0x18(%ebp)
55a569:	8b 45 f8             	mov    -0x8(%ebp),%eax
55a56c:	8b 10                	mov    (%eax),%edx
55a56e:	ff 52 08             	call   *0x8(%edx)
55a571:	8b d8                	mov    %eax,%ebx
55a573:	33 c0                	xor    %eax,%eax
55a575:	89 45 b0             	mov    %eax,-0x50(%ebp)
55a578:	33 c0                	xor    %eax,%eax
55a57a:	89 45 b4             	mov    %eax,-0x4c(%ebp)
55a57d:	c7 45 b8 01 00 00 00 	movl   $0x1,-0x48(%ebp)
55a584:	c7 45 bc 01 00 00 00 	movl   $0x1,-0x44(%ebp)
55a58b:	8b 45 e8             	mov    -0x18(%ebp),%eax
55a58e:	89 45 c0             	mov    %eax,-0x40(%ebp)
55a591:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
55a594:	8b 45 f8             	mov    -0x8(%ebp),%eax
55a597:	8b 10                	mov    (%eax),%edx
55a599:	ff 52 10             	call   *0x10(%edx)
55a59c:	3c 01                	cmp    $0x1,%al
55a59e:	75 18                	jne    0x55a5b8
55a5a0:	8b 45 f4             	mov    -0xc(%ebp),%eax
55a5a3:	8b 00                	mov    (%eax),%eax
55a5a5:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
55a5ac:	8b 45 f4             	mov    -0xc(%ebp),%eax
55a5af:	8b 00                	mov    (%eax),%eax
55a5b1:	c6 80 ee 00 00 00 00 	movb   $0x0,0xee(%eax)
55a5b8:	8b 45 f4             	mov    -0xc(%ebp),%eax
55a5bb:	8b 00                	mov    (%eax),%eax
55a5bd:	66 8b 40 08          	mov    0x8(%eax),%ax
55a5c1:	66 89 45 c8          	mov    %ax,-0x38(%ebp)
55a5c5:	8b 45 f4             	mov    -0xc(%ebp),%eax
55a5c8:	8b 00                	mov    (%eax),%eax
55a5ca:	8b 48 08             	mov    0x8(%eax),%ecx
55a5cd:	b8 01 00 00 00       	mov    $0x1,%eax
55a5d2:	d3 e0                	shl    %cl,%eax
55a5d4:	48                   	dec    %eax
55a5d5:	89 45 e0             	mov    %eax,-0x20(%ebp)
55a5d8:	33 c0                	xor    %eax,%eax
55a5da:	89 45 cc             	mov    %eax,-0x34(%ebp)
55a5dd:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
55a5e3:	db 85 7c ff ff ff    	fildl  -0x84(%ebp)
55a5e9:	d8 3d 48 aa 55 00    	fdivrs 0x55aa48
55a5ef:	8b 45 0c             	mov    0xc(%ebp),%eax
55a5f2:	dd 58 18             	fstpl  0x18(%eax)
55a5f5:	9b                   	fwait
55a5f6:	8b 45 0c             	mov    0xc(%ebp),%eax
55a5f9:	33 d2                	xor    %edx,%edx
55a5fb:	89 50 0c             	mov    %edx,0xc(%eax)
55a5fe:	8b 45 f4             	mov    -0xc(%ebp),%eax
55a601:	8b 00                	mov    (%eax),%eax
55a603:	8a 80 ee 00 00 00    	mov    0xee(%eax),%al
55a609:	2c 01                	sub    $0x1,%al
55a60b:	72 0d                	jb     0x55a61a
55a60d:	2c 02                	sub    $0x2,%al
55a60f:	0f 82 cc 01 00 00    	jb     0x55a7e1
55a615:	e9 63 03 00 00       	jmp    0x55a97d
55a61a:	8d 55 b0             	lea    -0x50(%ebp),%edx
55a61d:	b9 01 00 00 00       	mov    $0x1,%ecx
55a622:	66 b8 01 00          	mov    $0x1,%ax
55a626:	e8 e5 a4 01 00       	call   0x574b10
55a62b:	8b f0                	mov    %eax,%esi
55a62d:	33 c0                	xor    %eax,%eax
55a62f:	e8 e0 f0 ff ff       	call   0x559714
55a634:	8b c8                	mov    %eax,%ecx
55a636:	33 d2                	xor    %edx,%edx
55a638:	8b c6                	mov    %esi,%eax
55a63a:	e8 59 fb 01 00       	call   0x57a198
55a63f:	8b 45 f8             	mov    -0x8(%ebp),%eax
55a642:	8b 10                	mov    (%eax),%edx
55a644:	ff 52 10             	call   *0x10(%edx)
55a647:	3c 05                	cmp    $0x5,%al
55a649:	0f 85 e8 00 00 00    	jne    0x55a737
55a64f:	4b                   	dec    %ebx
55a650:	85 db                	test   %ebx,%ebx
55a652:	0f 8c 25 03 00 00    	jl     0x55a97d
55a658:	43                   	inc    %ebx
55a659:	89 5d d8             	mov    %ebx,-0x28(%ebp)
55a65c:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
55a663:	8b 55 e4             	mov    -0x1c(%ebp),%edx
55a666:	8b 45 f8             	mov    -0x8(%ebp),%eax
55a669:	8b 08                	mov    (%eax),%ecx
55a66b:	ff 11                	call   *(%ecx)
55a66d:	89 45 dc             	mov    %eax,-0x24(%ebp)
55a670:	8b 7d e8             	mov    -0x18(%ebp),%edi
55a673:	4f                   	dec    %edi
55a674:	85 ff                	test   %edi,%edi
55a676:	7c 77                	jl     0x55a6ef
55a678:	47                   	inc    %edi
55a679:	33 db                	xor    %ebx,%ebx
55a67b:	8b 45 dc             	mov    -0x24(%ebp),%eax
55a67e:	89 45 d4             	mov    %eax,-0x2c(%ebp)
55a681:	8b 45 d4             	mov    -0x2c(%ebp),%eax
55a684:	0f b6 40 02          	movzbl 0x2(%eax),%eax
55a688:	8b 15 24 72 6a 00    	mov    0x6a7224,%edx
55a68e:	f7 2a                	imull  (%edx)
55a690:	8b 55 d4             	mov    -0x2c(%ebp),%edx
55a693:	0f b6 52 01          	movzbl 0x1(%edx),%edx
55a697:	8b 0d 4c 71 6a 00    	mov    0x6a714c,%ecx
55a69d:	0f af 11             	imul   (%ecx),%edx
55a6a0:	03 c2                	add    %edx,%eax
55a6a2:	8b 55 d4             	mov    -0x2c(%ebp),%edx
55a6a5:	0f b6 12             	movzbl (%edx),%edx
55a6a8:	8b 0d bc 6d 6a 00    	mov    0x6a6dbc,%ecx
55a6ae:	0f af 11             	imul   (%ecx),%edx
55a6b1:	03 c2                	add    %edx,%eax
55a6b3:	b9 64 00 00 00       	mov    $0x64,%ecx
55a6b8:	99                   	cltd
55a6b9:	f7 f9                	idiv   %ecx
55a6bb:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
55a6c1:	db 85 7c ff ff ff    	fildl  -0x84(%ebp)
55a6c7:	d8 35 4c aa 55 00    	fdivs  0x55aa4c
55a6cd:	db 45 e0             	fildl  -0x20(%ebp)
55a6d0:	de c9                	fmulp  %st,%st(1)
55a6d2:	e8 f5 85 ea ff       	call   0x402ccc
55a6d7:	8b 55 e4             	mov    -0x1c(%ebp),%edx
55a6da:	52                   	push   %edx
55a6db:	50                   	push   %eax
55a6dc:	8b cb                	mov    %ebx,%ecx
55a6de:	33 d2                	xor    %edx,%edx
55a6e0:	8b c6                	mov    %esi,%eax
55a6e2:	e8 11 b5 01 00       	call   0x575bf8
55a6e7:	83 45 dc 03          	addl   $0x3,-0x24(%ebp)
55a6eb:	43                   	inc    %ebx
55a6ec:	4f                   	dec    %edi
55a6ed:	75 8c                	jne    0x55a67b
55a6ef:	8b 45 0c             	mov    0xc(%ebp),%eax
55a6f2:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
55a6f7:	74 1e                	je     0x55a717
55a6f9:	db 45 e4             	fildl  -0x1c(%ebp)
55a6fc:	8b 45 0c             	mov    0xc(%ebp),%eax
55a6ff:	dc 48 18             	fmull  0x18(%eax)
55a702:	e8 c5 85 ea ff       	call   0x402ccc
55a707:	8b c8                	mov    %eax,%ecx
55a709:	8b 5d 0c             	mov    0xc(%ebp),%ebx
55a70c:	8b 55 0c             	mov    0xc(%ebp),%edx
55a70f:	8b 52 08             	mov    0x8(%edx),%edx
55a712:	8b 43 04             	mov    0x4(%ebx),%eax
55a715:	ff 13                	call   *(%ebx)
55a717:	8b 45 0c             	mov    0xc(%ebp),%eax
55a71a:	8b 40 28             	mov    0x28(%eax),%eax
55a71d:	80 38 00             	cmpb   $0x0,(%eax)
55a720:	0f 85 57 02 00 00    	jne    0x55a97d
55a726:	ff 45 e4             	incl   -0x1c(%ebp)
55a729:	ff 4d d8             	decl   -0x28(%ebp)
55a72c:	0f 85 31 ff ff ff    	jne    0x55a663
55a732:	e9 46 02 00 00       	jmp    0x55a97d
55a737:	4b                   	dec    %ebx
55a738:	85 db                	test   %ebx,%ebx
55a73a:	0f 8c 3d 02 00 00    	jl     0x55a97d
55a740:	43                   	inc    %ebx
55a741:	89 5d d8             	mov    %ebx,-0x28(%ebp)
55a744:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
55a74b:	8b 55 e4             	mov    -0x1c(%ebp),%edx
55a74e:	8b 45 f8             	mov    -0x8(%ebp),%eax
55a751:	8b 08                	mov    (%eax),%ecx
55a753:	ff 11                	call   *(%ecx)
55a755:	89 45 dc             	mov    %eax,-0x24(%ebp)
55a758:	8b 7d e8             	mov    -0x18(%ebp),%edi
55a75b:	4f                   	dec    %edi
55a75c:	85 ff                	test   %edi,%edi
55a75e:	7c 39                	jl     0x55a799
55a760:	47                   	inc    %edi
55a761:	33 db                	xor    %ebx,%ebx
55a763:	8b d3                	mov    %ebx,%edx
55a765:	8b 45 dc             	mov    -0x24(%ebp),%eax
55a768:	e8 93 53 05 00       	call   0x5afb00
55a76d:	85 c0                	test   %eax,%eax
55a76f:	74 13                	je     0x55a784
55a771:	8b 45 e4             	mov    -0x1c(%ebp),%eax
55a774:	50                   	push   %eax
55a775:	6a 01                	push   $0x1
55a777:	8b cb                	mov    %ebx,%ecx
55a779:	33 d2                	xor    %edx,%edx
55a77b:	8b c6                	mov    %esi,%eax
55a77d:	e8 76 b4 01 00       	call   0x575bf8
55a782:	eb 11                	jmp    0x55a795
55a784:	8b 45 e4             	mov    -0x1c(%ebp),%eax
55a787:	50                   	push   %eax
55a788:	6a 00                	push   $0x0
55a78a:	8b cb                	mov    %ebx,%ecx
55a78c:	33 d2                	xor    %edx,%edx
55a78e:	8b c6                	mov    %esi,%eax
55a790:	e8 63 b4 01 00       	call   0x575bf8
55a795:	43                   	inc    %ebx
55a796:	4f                   	dec    %edi
55a797:	75 ca                	jne    0x55a763
55a799:	8b 45 0c             	mov    0xc(%ebp),%eax
55a79c:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
55a7a1:	74 1e                	je     0x55a7c1
55a7a3:	db 45 e4             	fildl  -0x1c(%ebp)
55a7a6:	8b 45 0c             	mov    0xc(%ebp),%eax
55a7a9:	dc 48 18             	fmull  0x18(%eax)
55a7ac:	e8 1b 85 ea ff       	call   0x402ccc
55a7b1:	8b c8                	mov    %eax,%ecx
55a7b3:	8b 5d 0c             	mov    0xc(%ebp),%ebx
55a7b6:	8b 55 0c             	mov    0xc(%ebp),%edx
55a7b9:	8b 52 08             	mov    0x8(%edx),%edx
55a7bc:	8b 43 04             	mov    0x4(%ebx),%eax
55a7bf:	ff 13                	call   *(%ebx)
55a7c1:	8b 45 0c             	mov    0xc(%ebp),%eax
55a7c4:	8b 40 28             	mov    0x28(%eax),%eax
55a7c7:	80 38 00             	cmpb   $0x0,(%eax)
55a7ca:	0f 85 ad 01 00 00    	jne    0x55a97d
55a7d0:	ff 45 e4             	incl   -0x1c(%ebp)
55a7d3:	ff 4d d8             	decl   -0x28(%ebp)
55a7d6:	0f 85 6f ff ff ff    	jne    0x55a74b
55a7dc:	e9 9c 01 00 00       	jmp    0x55a97d
55a7e1:	e8 32 a4 01 00       	call   0x574c18
55a7e6:	8b f0                	mov    %eax,%esi
55a7e8:	ba 02 00 00 00       	mov    $0x2,%edx
55a7ed:	8b c6                	mov    %esi,%eax
55a7ef:	e8 b0 f9 01 00       	call   0x57a1a4
55a7f4:	8d 4d b0             	lea    -0x50(%ebp),%ecx
55a7f7:	33 d2                	xor    %edx,%edx
55a7f9:	8b c6                	mov    %esi,%eax
55a7fb:	e8 44 ae 01 00       	call   0x575644
55a800:	8d 4d b0             	lea    -0x50(%ebp),%ecx
55a803:	66 ba 01 00          	mov    $0x1,%dx
55a807:	8b c6                	mov    %esi,%eax
55a809:	e8 36 ae 01 00       	call   0x575644
55a80e:	8d 4d b0             	lea    -0x50(%ebp),%ecx
55a811:	66 ba 02 00          	mov    $0x2,%dx
55a815:	8b c6                	mov    %esi,%eax
55a817:	e8 28 ae 01 00       	call   0x575644
55a81c:	33 c0                	xor    %eax,%eax
55a81e:	e8 f1 ee ff ff       	call   0x559714
55a823:	8b c8                	mov    %eax,%ecx
55a825:	33 d2                	xor    %edx,%edx
55a827:	8b c6                	mov    %esi,%eax
55a829:	e8 6a f9 01 00       	call   0x57a198
55a82e:	b8 01 00 00 00       	mov    $0x1,%eax
55a833:	e8 dc ee ff ff       	call   0x559714
55a838:	8b c8                	mov    %eax,%ecx
55a83a:	ba 01 00 00 00       	mov    $0x1,%edx
55a83f:	8b c6                	mov    %esi,%eax
55a841:	e8 52 f9 01 00       	call   0x57a198
55a846:	b8 02 00 00 00       	mov    $0x2,%eax
55a84b:	e8 c4 ee ff ff       	call   0x559714
55a850:	8b c8                	mov    %eax,%ecx
55a852:	ba 02 00 00 00       	mov    $0x2,%edx
55a857:	8b c6                	mov    %esi,%eax
55a859:	e8 3a f9 01 00       	call   0x57a198
55a85e:	4b                   	dec    %ebx
55a85f:	85 db                	test   %ebx,%ebx
55a861:	0f 8c 16 01 00 00    	jl     0x55a97d
55a867:	43                   	inc    %ebx
55a868:	89 5d d8             	mov    %ebx,-0x28(%ebp)
55a86b:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
55a872:	8b 55 e4             	mov    -0x1c(%ebp),%edx
55a875:	8b 45 f8             	mov    -0x8(%ebp),%eax
55a878:	8b 08                	mov    (%eax),%ecx
55a87a:	ff 11                	call   *(%ecx)
55a87c:	89 45 dc             	mov    %eax,-0x24(%ebp)
55a87f:	8b 7d e8             	mov    -0x18(%ebp),%edi
55a882:	4f                   	dec    %edi
55a883:	85 ff                	test   %edi,%edi
55a885:	0f 8c b3 00 00 00    	jl     0x55a93e
55a88b:	47                   	inc    %edi