55f4c1:	f7 d7                	not    %edi
55f4c3:	23 f8                	and    %eax,%edi
55f4c5:	eb 02                	jmp    0x55f4c9
55f4c7:	8b 3b                	mov    (%ebx),%edi
55f4c9:	66 83 7e 2e 00       	cmpw   $0x0,0x2e(%esi)
55f4ce:	76 15                	jbe    0x55f4e5
55f4d0:	66 8b 4e 2e          	mov    0x2e(%esi),%cx
55f4d4:	b8 01 00 00 00       	mov    $0x1,%eax
55f4d9:	d3 e0                	shl    %cl,%eax
55f4db:	48                   	dec    %eax
55f4dc:	8b 53 04             	mov    0x4(%ebx),%edx
55f4df:	f7 d0                	not    %eax
55f4e1:	23 c2                	and    %edx,%eax
55f4e3:	eb 03                	jmp    0x55f4e8
55f4e5:	8b 43 04             	mov    0x4(%ebx),%eax
55f4e8:	89 44 24 0c          	mov    %eax,0xc(%esp)
55f4ec:	66 83 7e 2c 00       	cmpw   $0x0,0x2c(%esi)
55f4f1:	76 3d                	jbe    0x55f530
55f4f3:	66 83 7e 2c 00       	cmpw   $0x0,0x2c(%esi)
55f4f8:	76 23                	jbe    0x55f51d
55f4fa:	66 8b 4e 2c          	mov    0x2c(%esi),%cx
55f4fe:	ba 01 00 00 00       	mov    $0x1,%edx
55f503:	d3 e2                	shl    %cl,%edx
55f505:	66 8b 4e 2c          	mov    0x2c(%esi),%cx
55f509:	8b 43 08             	mov    0x8(%ebx),%eax
55f50c:	03 d0                	add    %eax,%edx
55f50e:	b8 01 00 00 00       	mov    $0x1,%eax
55f513:	d3 e0                	shl    %cl,%eax
55f515:	48                   	dec    %eax
55f516:	4a                   	dec    %edx
55f517:	f7 d0                	not    %eax
55f519:	23 d0                	and    %eax,%edx
55f51b:	eb 16                	jmp    0x55f533
55f51d:	66 8b 4e 2c          	mov    0x2c(%esi),%cx
55f521:	ba 01 00 00 00       	mov    $0x1,%edx
55f526:	d3 e2                	shl    %cl,%edx
55f528:	8b 43 08             	mov    0x8(%ebx),%eax
55f52b:	03 d0                	add    %eax,%edx
55f52d:	4a                   	dec    %edx
55f52e:	eb 03                	jmp    0x55f533
55f530:	8b 53 08             	mov    0x8(%ebx),%edx
55f533:	89 54 24 10          	mov    %edx,0x10(%esp)
55f537:	66 83 7e 2e 00       	cmpw   $0x0,0x2e(%esi)
55f53c:	76 3d                	jbe    0x55f57b
55f53e:	66 83 7e 2e 00       	cmpw   $0x0,0x2e(%esi)
55f543:	76 23                	jbe    0x55f568
55f545:	66 8b 4e 2e          	mov    0x2e(%esi),%cx
55f549:	bd 01 00 00 00       	mov    $0x1,%ebp
55f54e:	d3 e5                	shl    %cl,%ebp
55f550:	66 8b 4e 2e          	mov    0x2e(%esi),%cx
55f554:	ba 01 00 00 00       	mov    $0x1,%edx
55f559:	d3 e2                	shl    %cl,%edx
55f55b:	4a                   	dec    %edx
55f55c:	8b 43 0c             	mov    0xc(%ebx),%eax
55f55f:	03 e8                	add    %eax,%ebp
55f561:	f7 d2                	not    %edx
55f563:	4d                   	dec    %ebp
55f564:	23 ea                	and    %edx,%ebp
55f566:	eb 16                	jmp    0x55f57e
55f568:	66 8b 4e 2e          	mov    0x2e(%esi),%cx
55f56c:	bd 01 00 00 00       	mov    $0x1,%ebp
55f571:	d3 e5                	shl    %cl,%ebp
55f573:	8b 43 0c             	mov    0xc(%ebx),%eax
55f576:	03 e8                	add    %eax,%ebp
55f578:	4d                   	dec    %ebp
55f579:	eb 03                	jmp    0x55f57e
55f57b:	8b 6b 0c             	mov    0xc(%ebx),%ebp
55f57e:	66 83 7e 2c 00       	cmpw   $0x0,0x2c(%esi)
55f583:	77 17                	ja     0x55f59c
55f585:	68 91 09 00 00       	push   $0x991
55f58a:	68 e6 e3 69 00       	push   $0x69e3e6
55f58f:	68 b0 e3 69 00       	push   $0x69e3b0
55f594:	e8 a7 b5 ff ff       	call   0x55ab40
55f599:	83 c4 0c             	add    $0xc,%esp
55f59c:	66 8b 4e 2c          	mov    0x2c(%esi),%cx
55f5a0:	8b 44 24 10          	mov    0x10(%esp),%eax
55f5a4:	2b c7                	sub    %edi,%eax
55f5a6:	d3 e8                	shr    %cl,%eax
55f5a8:	89 43 10             	mov    %eax,0x10(%ebx)
55f5ab:	66 83 7e 2e 00       	cmpw   $0x0,0x2e(%esi)
55f5b0:	77 17                	ja     0x55f5c9
55f5b2:	68 93 09 00 00       	push   $0x993
55f5b7:	68 27 e4 69 00       	push   $0x69e427
55f5bc:	68 f0 e3 69 00       	push   $0x69e3f0
55f5c1:	e8 7a b5 ff ff       	call   0x55ab40
55f5c6:	83 c4 0c             	add    $0xc,%esp
55f5c9:	66 8b 4e 2e          	mov    0x2e(%esi),%cx
55f5cd:	8b fd                	mov    %ebp,%edi
55f5cf:	8b 44 24 0c          	mov    0xc(%esp),%eax
55f5d3:	2b f8                	sub    %eax,%edi
55f5d5:	d3 ef                	shr    %cl,%edi
55f5d7:	89 7b 14             	mov    %edi,0x14(%ebx)
55f5da:	8b 53 10             	mov    0x10(%ebx),%edx
55f5dd:	0f af d7             	imul   %edi,%edx
55f5e0:	89 53 18             	mov    %edx,0x18(%ebx)
55f5e3:	8b 53 14             	mov    0x14(%ebx),%edx
55f5e6:	8b 43 10             	mov    0x10(%ebx),%eax
55f5e9:	e8 a6 a2 01 00       	call   0x579894
55f5ee:	89 43 20             	mov    %eax,0x20(%ebx)
55f5f1:	85 c0                	test   %eax,%eax
55f5f3:	0f 84 e6 00 00 00    	je     0x55f6df
55f5f9:	8b 53 14             	mov    0x14(%ebx),%edx
55f5fc:	8b 43 10             	mov    0x10(%ebx),%eax
55f5ff:	e8 90 a2 01 00       	call   0x579894
55f604:	89 43 24             	mov    %eax,0x24(%ebx)
55f607:	85 c0                	test   %eax,%eax
55f609:	0f 84 d0 00 00 00    	je     0x55f6df
55f60f:	8b 53 14             	mov    0x14(%ebx),%edx
55f612:	8b 43 10             	mov    0x10(%ebx),%eax
55f615:	e8 7a a2 01 00       	call   0x579894
55f61a:	89 43 2c             	mov    %eax,0x2c(%ebx)
55f61d:	85 c0                	test   %eax,%eax
55f61f:	0f 84 ba 00 00 00    	je     0x55f6df
55f625:	8b 53 14             	mov    0x14(%ebx),%edx
55f628:	8b 43 10             	mov    0x10(%ebx),%eax
55f62b:	e8 64 a2 01 00       	call   0x579894
55f630:	89 43 30             	mov    %eax,0x30(%ebx)
55f633:	85 c0                	test   %eax,%eax
55f635:	0f 84 a4 00 00 00    	je     0x55f6df
55f63b:	8b 43 18             	mov    0x18(%ebx),%eax
55f63e:	c1 e0 02             	shl    $0x2,%eax
55f641:	8d 04 40             	lea    (%eax,%eax,2),%eax
55f644:	8d 04 80             	lea    (%eax,%eax,4),%eax
55f647:	e8 30 8d 01 00       	call   0x57837c
55f64c:	8b f0                	mov    %eax,%esi
55f64e:	89 73 1c             	mov    %esi,0x1c(%ebx)
55f651:	85 f6                	test   %esi,%esi
55f653:	0f 84 86 00 00 00    	je     0x55f6df
55f659:	33 ff                	xor    %edi,%edi
55f65b:	eb 20                	jmp    0x55f67d
55f65d:	33 c0                	xor    %eax,%eax
55f65f:	33 d2                	xor    %edx,%edx
55f661:	89 46 04             	mov    %eax,0x4(%esi)
55f664:	89 56 14             	mov    %edx,0x14(%esi)
55f667:	33 c9                	xor    %ecx,%ecx
55f669:	33 c0                	xor    %eax,%eax
55f66b:	89 4e 18             	mov    %ecx,0x18(%esi)
55f66e:	89 46 1c             	mov    %eax,0x1c(%esi)
55f671:	33 d2                	xor    %edx,%edx
55f673:	47                   	inc    %edi
55f674:	89 56 20             	mov    %edx,0x20(%esi)
55f677:	89 5e 2c             	mov    %ebx,0x2c(%esi)
55f67a:	83 c6 3c             	add    $0x3c,%esi
55f67d:	8b 4b 18             	mov    0x18(%ebx),%ecx
55f680:	3b f9                	cmp    %ecx,%edi
55f682:	72 d9                	jb     0x55f65d
55f684:	33 ff                	xor    %edi,%edi
55f686:	8b 73 1c             	mov    0x1c(%ebx),%esi
55f689:	eb 14                	jmp    0x55f69f
55f68b:	8b cb                	mov    %ebx,%ecx
55f68d:	8b 14 24             	mov    (%esp),%edx
55f690:	8b c6                	mov    %esi,%eax
55f692:	e8 b9 00 00 00       	call   0x55f750
55f697:	85 c0                	test   %eax,%eax
55f699:	74 44                	je     0x55f6df
55f69b:	47                   	inc    %edi
55f69c:	83 c6 3c             	add    $0x3c,%esi
55f69f:	8b 43 18             	mov    0x18(%ebx),%eax
55f6a2:	3b f8                	cmp    %eax,%edi
55f6a4:	72 e5                	jb     0x55f68b
55f6a6:	eb 33                	jmp    0x55f6db
55f6a8:	8b 53 08             	mov    0x8(%ebx),%edx
55f6ab:	33 c0                	xor    %eax,%eax
55f6ad:	89 13                	mov    %edx,(%ebx)
55f6af:	33 d2                	xor    %edx,%edx
55f6b1:	8b 4b 0c             	mov    0xc(%ebx),%ecx
55f6b4:	89 4b 04             	mov    %ecx,0x4(%ebx)
55f6b7:	89 43 18             	mov    %eax,0x18(%ebx)
55f6ba:	89 53 10             	mov    %edx,0x10(%ebx)
55f6bd:	33 c9                	xor    %ecx,%ecx
55f6bf:	89 4b 14             	mov    %ecx,0x14(%ebx)
55f6c2:	33 c0                	xor    %eax,%eax
55f6c4:	89 43 1c             	mov    %eax,0x1c(%ebx)
55f6c7:	33 d2                	xor    %edx,%edx
55f6c9:	89 53 20             	mov    %edx,0x20(%ebx)
55f6cc:	33 c9                	xor    %ecx,%ecx
55f6ce:	33 c0                	xor    %eax,%eax
55f6d0:	89 4b 24             	mov    %ecx,0x24(%ebx)
55f6d3:	89 43 2c             	mov    %eax,0x2c(%ebx)
55f6d6:	33 d2                	xor    %edx,%edx
55f6d8:	89 53 30             	mov    %edx,0x30(%ebx)
55f6db:	8b c3                	mov    %ebx,%eax
55f6dd:	eb 09                	jmp    0x55f6e8
55f6df:	8b c3                	mov    %ebx,%eax
55f6e1:	e8 0a 00 00 00       	call   0x55f6f0
55f6e6:	33 c0                	xor    %eax,%eax
55f6e8:	83 c4 14             	add    $0x14,%esp
55f6eb:	5d                   	pop    %ebp
55f6ec:	5f                   	pop    %edi
55f6ed:	5e                   	pop    %esi
55f6ee:	5b                   	pop    %ebx
55f6ef:	c3                   	ret
55f6f0:	53                   	push   %ebx
55f6f1:	8b d8                	mov    %eax,%ebx
55f6f3:	56                   	push   %esi
55f6f4:	57                   	push   %edi
55f6f5:	8b 43 1c             	mov    0x1c(%ebx),%eax
55f6f8:	85 c0                	test   %eax,%eax
55f6fa:	74 20                	je     0x55f71c
55f6fc:	33 ff                	xor    %edi,%edi
55f6fe:	8b f0                	mov    %eax,%esi
55f700:	eb 0b                	jmp    0x55f70d
55f702:	8b c6                	mov    %esi,%eax
55f704:	e8 2f 02 00 00       	call   0x55f938
55f709:	47                   	inc    %edi
55f70a:	83 c6 3c             	add    $0x3c,%esi
55f70d:	8b 53 18             	mov    0x18(%ebx),%edx
55f710:	3b fa                	cmp    %edx,%edi
55f712:	72 ee                	jb     0x55f702
55f714:	8b 43 1c             	mov    0x1c(%ebx),%eax
55f717:	e8 68 8c 01 00       	call   0x578384
55f71c:	8b 43 20             	mov    0x20(%ebx),%eax
55f71f:	85 c0                	test   %eax,%eax
55f721:	74 05                	je     0x55f728
55f723:	e8 f4 a2 01 00       	call   0x579a1c
55f728:	8b 43 24             	mov    0x24(%ebx),%eax
55f72b:	85 c0                	test   %eax,%eax
55f72d:	74 05                	je     0x55f734
55f72f:	e8 e8 a2 01 00       	call   0x579a1c
55f734:	8b 43 2c             	mov    0x2c(%ebx),%eax
55f737:	85 c0                	test   %eax,%eax
55f739:	74 05                	je     0x55f740
55f73b:	e8 dc a2 01 00       	call   0x579a1c
55f740:	8b 43 30             	mov    0x30(%ebx),%eax
55f743:	85 c0                	test   %eax,%eax
55f745:	74 05                	je     0x55f74c
55f747:	e8 d0 a2 01 00       	call   0x579a1c
55f74c:	5f                   	pop    %edi
55f74d:	5e                   	pop    %esi
55f74e:	5b                   	pop    %ebx
55f74f:	c3                   	ret
55f750:	53                   	push   %ebx
55f751:	56                   	push   %esi
55f752:	8b f1                	mov    %ecx,%esi
55f754:	57                   	push   %edi
55f755:	8b d8                	mov    %eax,%ebx
55f757:	55                   	push   %ebp
55f758:	8b 56 1c             	mov    0x1c(%esi),%edx
55f75b:	8b c3                	mov    %ebx,%eax
55f75d:	2b c2                	sub    %edx,%eax
55f75f:	b9 3c 00 00 00       	mov    $0x3c,%ecx
55f764:	99                   	cltd
55f765:	f7 f9                	idiv   %ecx
55f767:	8b c8                	mov    %eax,%ecx
55f769:	8b 7e 10             	mov    0x10(%esi),%edi
55f76c:	8b c1                	mov    %ecx,%eax
55f76e:	33 d2                	xor    %edx,%edx
55f770:	f7 f7                	div    %edi
55f772:	8b ea                	mov    %edx,%ebp
55f774:	33 d2                	xor    %edx,%edx
55f776:	8b c1                	mov    %ecx,%eax
55f778:	33 c9                	xor    %ecx,%ecx
55f77a:	f7 f7                	div    %edi
55f77c:	8b d0                	mov    %eax,%edx
55f77e:	8b 46 28             	mov    0x28(%esi),%eax
55f781:	83 c4 e8             	add    $0xffffffe8,%esp
55f784:	8b 40 20             	mov    0x20(%eax),%eax
55f787:	89 73 2c             	mov    %esi,0x2c(%ebx)
55f78a:	89 0b                	mov    %ecx,(%ebx)
55f78c:	33 c9                	xor    %ecx,%ecx
55f78e:	89 4b 04             	mov    %ecx,0x4(%ebx)
55f791:	33 c9                	xor    %ecx,%ecx
55f793:	89 4b 08             	mov    %ecx,0x8(%ebx)
55f796:	33 c9                	xor    %ecx,%ecx
55f798:	89 4b 0c             	mov    %ecx,0xc(%ebx)
55f79b:	33 c9                	xor    %ecx,%ecx
55f79d:	89 4b 10             	mov    %ecx,0x10(%ebx)
55f7a0:	33 c9                	xor    %ecx,%ecx
55f7a2:	89 4b 14             	mov    %ecx,0x14(%ebx)
55f7a5:	33 c9                	xor    %ecx,%ecx
55f7a7:	89 4b 18             	mov    %ecx,0x18(%ebx)
55f7aa:	33 c9                	xor    %ecx,%ecx
55f7ac:	89 4b 20             	mov    %ecx,0x20(%ebx)
55f7af:	33 c9                	xor    %ecx,%ecx
55f7b1:	89 4b 24             	mov    %ecx,0x24(%ebx)
55f7b4:	33 c9                	xor    %ecx,%ecx
55f7b6:	89 4b 28             	mov    %ecx,0x28(%ebx)
55f7b9:	33 c9                	xor    %ecx,%ecx
55f7bb:	89 4b 1c             	mov    %ecx,0x1c(%ebx)
55f7be:	33 c9                	xor    %ecx,%ecx
55f7c0:	89 4b 30             	mov    %ecx,0x30(%ebx)
55f7c3:	33 c9                	xor    %ecx,%ecx
55f7c5:	89 4b 34             	mov    %ecx,0x34(%ebx)
55f7c8:	33 c9                	xor    %ecx,%ecx
55f7ca:	89 4b 38             	mov    %ecx,0x38(%ebx)
55f7cd:	8b 4e 28             	mov    0x28(%esi),%ecx
55f7d0:	89 0c 24             	mov    %ecx,(%esp)
55f7d3:	66 83 78 2c 00       	cmpw   $0x0,0x2c(%eax)
55f7d8:	76 14                	jbe    0x55f7ee
55f7da:	66 8b 48 2c          	mov    0x2c(%eax),%cx
55f7de:	bf 01 00 00 00       	mov    $0x1,%edi
55f7e3:	d3 e7                	shl    %cl,%edi
55f7e5:	4f                   	dec    %edi
55f7e6:	8b 0e                	mov    (%esi),%ecx
55f7e8:	f7 d7                	not    %edi
55f7ea:	23 f9                	and    %ecx,%edi
55f7ec:	eb 02                	jmp    0x55f7f0
55f7ee:	8b 3e                	mov    (%esi),%edi
55f7f0:	89 7c 24 10          	mov    %edi,0x10(%esp)
55f7f4:	66 83 78 2e 00       	cmpw   $0x0,0x2e(%eax)
55f7f9:	76 15                	jbe    0x55f810
55f7fb:	66 8b 48 2e          	mov    0x2e(%eax),%cx
55f7ff:	bf 01 00 00 00       	mov    $0x1,%edi
55f804:	d3 e7                	shl    %cl,%edi
55f806:	4f                   	dec    %edi
55f807:	8b 4e 04             	mov    0x4(%esi),%ecx
55f80a:	f7 d7                	not    %edi
55f80c:	23 f9                	and    %ecx,%edi
55f80e:	eb 03                	jmp    0x55f813
55f810:	8b 7e 04             	mov    0x4(%esi),%edi
55f813:	89 7c 24 14          	mov    %edi,0x14(%esp)
55f817:	66 8b 48 2c          	mov    0x2c(%eax),%cx
55f81b:	8b fd                	mov    %ebp,%edi
55f81d:	d3 e7                	shl    %cl,%edi
55f81f:	8b 4c 24 10          	mov    0x10(%esp),%ecx
55f823:	03 f9                	add    %ecx,%edi
55f825:	8b 0e                	mov    (%esi),%ecx
55f827:	3b f9                	cmp    %ecx,%edi
55f829:	76 10                	jbe    0x55f83b
55f82b:	66 8b 48 2c          	mov    0x2c(%eax),%cx
55f82f:	8b fd                	mov    %ebp,%edi
55f831:	d3 e7                	shl    %cl,%edi
55f833:	8b 4c 24 10          	mov    0x10(%esp),%ecx
55f837:	03 f9                	add    %ecx,%edi
55f839:	eb 02                	jmp    0x55f83d
55f83b:	8b 3e                	mov    (%esi),%edi
55f83d:	89 7c 24 04          	mov    %edi,0x4(%esp)
55f841:	66 8b 48 2e          	mov    0x2e(%eax),%cx
55f845:	8b fa                	mov    %edx,%edi
55f847:	d3 e7                	shl    %cl,%edi
55f849:	8b 4c 24 14          	mov    0x14(%esp),%ecx
55f84d:	03 f9                	add    %ecx,%edi
55f84f:	8b 4e 04             	mov    0x4(%esi),%ecx
55f852:	3b f9                	cmp    %ecx,%edi
55f854:	76 10                	jbe    0x55f866
55f856:	66 8b 48 2e          	mov    0x2e(%eax),%cx
55f85a:	8b fa                	mov    %edx,%edi
55f85c:	d3 e7                	shl    %cl,%edi
55f85e:	8b 4c 24 14          	mov    0x14(%esp),%ecx
55f862:	03 f9                	add    %ecx,%edi
55f864:	eb 03                	jmp    0x55f869
55f866:	8b 7e 04             	mov    0x4(%esi),%edi
55f869:	89 7c 24 08          	mov    %edi,0x8(%esp)
55f86d:	66 8b 48 2c          	mov    0x2c(%eax),%cx
55f871:	8d 7d 01             	lea    0x1(%ebp),%edi
55f874:	d3 e7                	shl    %cl,%edi
55f876:	8b 4c 24 10          	mov    0x10(%esp),%ecx
55f87a:	03 f9                	add    %ecx,%edi
55f87c:	8b 4e 08             	mov    0x8(%esi),%ecx
55f87f:	3b f9                	cmp    %ecx,%edi