4e5503:	8b 41 4c             	mov    0x4c(%ecx),%eax
4e5506:	85 c0                	test   %eax,%eax
4e5508:	75 07                	jne    0x4e5511
4e550a:	33 c0                	xor    %eax,%eax
4e550c:	e9 8b 00 00 00       	jmp    0x4e559c
4e5511:	66 83 38 00          	cmpw   $0x0,(%eax)
4e5515:	74 23                	je     0x4e553a
4e5517:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
4e551c:	74 1c                	je     0x4e553a
4e551e:	66 83 78 10 00       	cmpw   $0x0,0x10(%eax)
4e5523:	74 15                	je     0x4e553a
4e5525:	66 83 78 20 00       	cmpw   $0x0,0x20(%eax)
4e552a:	74 0e                	je     0x4e553a
4e552c:	66 83 78 12 00       	cmpw   $0x0,0x12(%eax)
4e5531:	74 07                	je     0x4e553a
4e5533:	66 83 78 04 00       	cmpw   $0x0,0x4(%eax)
4e5538:	75 04                	jne    0x4e553e
4e553a:	33 c0                	xor    %eax,%eax
4e553c:	eb 5e                	jmp    0x4e559c
4e553e:	8b 14 24             	mov    (%esp),%edx
4e5541:	8b 82 a0 00 00 00    	mov    0xa0(%edx),%eax
4e5547:	8b d3                	mov    %ebx,%edx
4e5549:	c1 e2 08             	shl    $0x8,%edx
4e554c:	03 c2                	add    %edx,%eax
4e554e:	8b 08                	mov    (%eax),%ecx
4e5550:	85 c9                	test   %ecx,%ecx
4e5552:	7d 04                	jge    0x4e5558
4e5554:	33 c0                	xor    %eax,%eax
4e5556:	eb 44                	jmp    0x4e559c
4e5558:	b9 01 00 00 00       	mov    $0x1,%ecx
4e555d:	8d 56 04             	lea    0x4(%esi),%edx
4e5560:	83 c0 04             	add    $0x4,%eax
4e5563:	8b 38                	mov    (%eax),%edi
4e5565:	89 3a                	mov    %edi,(%edx)
4e5567:	8b 38                	mov    (%eax),%edi
4e5569:	85 ff                	test   %edi,%edi
4e556b:	74 08                	je     0x4e5575
4e556d:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
4e5574:	00
4e5575:	41                   	inc    %ecx
4e5576:	83 c2 04             	add    $0x4,%edx
4e5579:	83 c0 04             	add    $0x4,%eax
4e557c:	83 f9 05             	cmp    $0x5,%ecx
4e557f:	7e e2                	jle    0x4e5563
4e5581:	83 c6 18             	add    $0x18,%esi
4e5584:	43                   	inc    %ebx
4e5585:	83 44 24 08 54       	addl   $0x54,0x8(%esp)
4e558a:	8b 04 24             	mov    (%esp),%eax
4e558d:	8b 50 24             	mov    0x24(%eax),%edx
4e5590:	3b da                	cmp    %edx,%ebx
4e5592:	0f 8c 67 ff ff ff    	jl     0x4e54ff
4e5598:	8b 44 24 04          	mov    0x4(%esp),%eax
4e559c:	83 c4 0c             	add    $0xc,%esp
4e559f:	5f                   	pop    %edi
4e55a0:	5e                   	pop    %esi
4e55a1:	5b                   	pop    %ebx
4e55a2:	c3                   	ret
4e55a3:	90                   	nop
4e55a4:	53                   	push   %ebx
4e55a5:	56                   	push   %esi
4e55a6:	81 c4 e8 fe ff ff    	add    $0xfffffee8,%esp
4e55ac:	89 54 24 04          	mov    %edx,0x4(%esp)
4e55b0:	89 04 24             	mov    %eax,(%esp)
4e55b3:	8b 04 24             	mov    (%esp),%eax
4e55b6:	8b 90 ac 01 00 00    	mov    0x1ac(%eax),%edx
4e55bc:	89 54 24 08          	mov    %edx,0x8(%esp)
4e55c0:	8b 0c 24             	mov    (%esp),%ecx
4e55c3:	8b 81 40 01 00 00    	mov    0x140(%ecx),%eax
4e55c9:	48                   	dec    %eax
4e55ca:	89 44 24 0c          	mov    %eax,0xc(%esp)
4e55ce:	eb 68                	jmp    0x4e5638
4e55d0:	8b 14 24             	mov    (%esp),%edx
4e55d3:	8b 04 24             	mov    (%esp),%eax
4e55d6:	8b 8a 98 00 00 00    	mov    0x98(%edx),%ecx
4e55dc:	8b 90 90 00 00 00    	mov    0x90(%eax),%edx
4e55e2:	3b ca                	cmp    %edx,%ecx
4e55e4:	75 3c                	jne    0x4e5622
4e55e6:	8b 0c 24             	mov    (%esp),%ecx
4e55e9:	8b 81 90 01 00 00    	mov    0x190(%ecx),%eax
4e55ef:	85 c0                	test   %eax,%eax
4e55f1:	75 07                	jne    0x4e55fa
4e55f3:	ba 01 00 00 00       	mov    $0x1,%edx
4e55f8:	eb 02                	jmp    0x4e55fc
4e55fa:	33 d2                	xor    %edx,%edx
4e55fc:	89 94 24 90 00 00 00 	mov    %edx,0x90(%esp)
4e5603:	8b 04 24             	mov    (%esp),%eax
4e5606:	8b 88 94 00 00 00    	mov    0x94(%eax),%ecx
4e560c:	8b 04 24             	mov    (%esp),%eax
4e560f:	8b 90 9c 00 00 00    	mov    0x9c(%eax),%edx
4e5615:	8b 84 24 90 00 00 00 	mov    0x90(%esp),%eax
4e561c:	03 d0                	add    %eax,%edx
4e561e:	3b ca                	cmp    %edx,%ecx
4e5620:	77 40                	ja     0x4e5662
4e5622:	8b 04 24             	mov    (%esp),%eax
4e5625:	8b 90 b4 01 00 00    	mov    0x1b4(%eax),%edx
4e562b:	ff 12                	call   *(%edx)
4e562d:	85 c0                	test   %eax,%eax
4e562f:	75 07                	jne    0x4e5638
4e5631:	33 c0                	xor    %eax,%eax
4e5633:	e9 61 07 00 00       	jmp    0x4e5d99
4e5638:	8b 14 24             	mov    (%esp),%edx
4e563b:	8b 04 24             	mov    (%esp),%eax
4e563e:	8b 8a 98 00 00 00    	mov    0x98(%edx),%ecx
4e5644:	8b 90 90 00 00 00    	mov    0x90(%eax),%edx
4e564a:	3b ca                	cmp    %edx,%ecx
4e564c:	7c 14                	jl     0x4e5662
4e564e:	8b 0c 24             	mov    (%esp),%ecx
4e5651:	8b 81 b4 01 00 00    	mov    0x1b4(%ecx),%eax
4e5657:	8b 50 14             	mov    0x14(%eax),%edx
4e565a:	85 d2                	test   %edx,%edx
4e565c:	0f 84 6e ff ff ff    	je     0x4e55d0
4e5662:	33 c9                	xor    %ecx,%ecx
4e5664:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4e5668:	8b 04 24             	mov    (%esp),%eax
4e566b:	8b 90 d8 00 00 00    	mov    0xd8(%eax),%edx
4e5671:	89 54 24 40          	mov    %edx,0x40(%esp)
4e5675:	e9 e5 06 00 00       	jmp    0x4e5d5f
4e567a:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4e567e:	8b 41 30             	mov    0x30(%ecx),%eax
4e5681:	85 c0                	test   %eax,%eax
4e5683:	0f 84 cd 06 00 00    	je     0x4e5d56
4e5689:	8b 14 24             	mov    (%esp),%edx
4e568c:	8b 8a 9c 00 00 00    	mov    0x9c(%edx),%ecx
4e5692:	8b 44 24 0c          	mov    0xc(%esp),%eax
4e5696:	3b c8                	cmp    %eax,%ecx
4e5698:	73 1d                	jae    0x4e56b7
4e569a:	8b 54 24 40          	mov    0x40(%esp),%edx
4e569e:	8b 4a 0c             	mov    0xc(%edx),%ecx
4e56a1:	89 4c 24 20          	mov    %ecx,0x20(%esp)
4e56a5:	8b 44 24 20          	mov    0x20(%esp),%eax
4e56a9:	03 c0                	add    %eax,%eax
4e56ab:	89 44 24 24          	mov    %eax,0x24(%esp)
4e56af:	33 d2                	xor    %edx,%edx
4e56b1:	89 54 24 4c          	mov    %edx,0x4c(%esp)
4e56b5:	eb 39                	jmp    0x4e56f0
4e56b7:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4e56bb:	8b 54 24 40          	mov    0x40(%esp),%edx
4e56bf:	8b 41 20             	mov    0x20(%ecx),%eax
4e56c2:	8b 4a 0c             	mov    0xc(%edx),%ecx
4e56c5:	33 d2                	xor    %edx,%edx
4e56c7:	f7 f1                	div    %ecx
4e56c9:	89 54 24 20          	mov    %edx,0x20(%esp)
4e56cd:	8b 44 24 20          	mov    0x20(%esp),%eax
4e56d1:	85 c0                	test   %eax,%eax
4e56d3:	75 0b                	jne    0x4e56e0
4e56d5:	8b 44 24 40          	mov    0x40(%esp),%eax
4e56d9:	8b 50 0c             	mov    0xc(%eax),%edx
4e56dc:	89 54 24 20          	mov    %edx,0x20(%esp)
4e56e0:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4e56e4:	89 4c 24 24          	mov    %ecx,0x24(%esp)
4e56e8:	c7 44 24 4c 01 00 00 	movl   $0x1,0x4c(%esp)
4e56ef:	00
4e56f0:	8b 04 24             	mov    (%esp),%eax
4e56f3:	8b 90 9c 00 00 00    	mov    0x9c(%eax),%edx
4e56f9:	85 d2                	test   %edx,%edx
4e56fb:	76 55                	jbe    0x4e5752
4e56fd:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4e5701:	8b 41 0c             	mov    0xc(%ecx),%eax
4e5704:	01 44 24 24          	add    %eax,0x24(%esp)
4e5708:	8b 54 24 24          	mov    0x24(%esp),%edx
4e570c:	52                   	push   %edx
4e570d:	6a 00                	push   $0x0
4e570f:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4e5713:	8b 44 24 48          	mov    0x48(%esp),%eax
4e5717:	8b 54 24 10          	mov    0x10(%esp),%edx
4e571b:	8b 89 9c 00 00 00    	mov    0x9c(%ecx),%ecx
4e5721:	49                   	dec    %ecx
4e5722:	0f af 48 0c          	imul   0xc(%eax),%ecx
4e5726:	8b 44 24 20          	mov    0x20(%esp),%eax
4e572a:	8b 54 82 48          	mov    0x48(%edx,%eax,4),%edx
4e572e:	8b 44 24 08          	mov    0x8(%esp),%eax
4e5732:	8b 58 04             	mov    0x4(%eax),%ebx
4e5735:	ff 53 20             	call   *0x20(%ebx)
4e5738:	89 44 24 28          	mov    %eax,0x28(%esp)
4e573c:	8b 44 24 40          	mov    0x40(%esp),%eax
4e5740:	8b 50 0c             	mov    0xc(%eax),%edx
4e5743:	c1 e2 02             	shl    $0x2,%edx
4e5746:	01 54 24 28          	add    %edx,0x28(%esp)
4e574a:	33 c9                	xor    %ecx,%ecx
4e574c:	89 4c 24 48          	mov    %ecx,0x48(%esp)
4e5750:	eb 2b                	jmp    0x4e577d
4e5752:	8b 44 24 24          	mov    0x24(%esp),%eax
4e5756:	50                   	push   %eax
4e5757:	6a 00                	push   $0x0
4e5759:	8b 44 24 08          	mov    0x8(%esp),%eax
4e575d:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4e5761:	8b 54 24 10          	mov    0x10(%esp),%edx
4e5765:	8b 58 04             	mov    0x4(%eax),%ebx
4e5768:	8b 54 8a 48          	mov    0x48(%edx,%ecx,4),%edx
4e576c:	33 c9                	xor    %ecx,%ecx
4e576e:	ff 53 20             	call   *0x20(%ebx)
4e5771:	89 44 24 28          	mov    %eax,0x28(%esp)
4e5775:	c7 44 24 48 01 00 00 	movl   $0x1,0x48(%esp)
4e577c:	00
4e577d:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4e5781:	8b 44 24 08          	mov    0x8(%esp),%eax
4e5785:	c1 e1 03             	shl    $0x3,%ecx
4e5788:	8b 50 70             	mov    0x70(%eax),%edx
4e578b:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
4e578e:	03 d1                	add    %ecx,%edx
4e5790:	89 54 24 50          	mov    %edx,0x50(%esp)
4e5794:	8b 44 24 40          	mov    0x40(%esp),%eax
4e5798:	8b 50 4c             	mov    0x4c(%eax),%edx
4e579b:	89 54 24 54          	mov    %edx,0x54(%esp)
4e579f:	8b 4c 24 54          	mov    0x54(%esp),%ecx
4e57a3:	0f b7 01             	movzwl (%ecx),%eax
4e57a6:	89 44 24 58          	mov    %eax,0x58(%esp)
4e57aa:	8b 54 24 54          	mov    0x54(%esp),%edx
4e57ae:	0f b7 4a 02          	movzwl 0x2(%edx),%ecx
4e57b2:	89 4c 24 5c          	mov    %ecx,0x5c(%esp)
4e57b6:	8b 44 24 54          	mov    0x54(%esp),%eax
4e57ba:	0f b7 50 10          	movzwl 0x10(%eax),%edx
4e57be:	89 54 24 64          	mov    %edx,0x64(%esp)
4e57c2:	8b 4c 24 54          	mov    0x54(%esp),%ecx
4e57c6:	0f b7 41 20          	movzwl 0x20(%ecx),%eax
4e57ca:	89 44 24 6c          	mov    %eax,0x6c(%esp)
4e57ce:	8b 54 24 54          	mov    0x54(%esp),%edx
4e57d2:	0f b7 4a 12          	movzwl 0x12(%edx),%ecx
4e57d6:	89 4c 24 68          	mov    %ecx,0x68(%esp)
4e57da:	8b 44 24 54          	mov    0x54(%esp),%eax
4e57de:	0f b7 50 04          	movzwl 0x4(%eax),%edx
4e57e2:	89 54 24 60          	mov    %edx,0x60(%esp)
4e57e6:	8b 0c 24             	mov    (%esp),%ecx
4e57e9:	8b 54 24 18          	mov    0x18(%esp),%edx
4e57ed:	8b 81 c0 01 00 00    	mov    0x1c0(%ecx),%eax
4e57f3:	8b 4c 90 04          	mov    0x4(%eax,%edx,4),%ecx
4e57f7:	89 4c 24 44          	mov    %ecx,0x44(%esp)
4e57fb:	8b 44 24 04          	mov    0x4(%esp),%eax
4e57ff:	8b 54 24 18          	mov    0x18(%esp),%edx
4e5803:	8b 0c 90             	mov    (%eax,%edx,4),%ecx
4e5806:	33 c0                	xor    %eax,%eax
4e5808:	89 4c 24 38          	mov    %ecx,0x38(%esp)
4e580c:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4e5810:	8b 54 24 28          	mov    0x28(%esp),%edx
4e5814:	8b ca                	mov    %edx,%ecx
4e5816:	89 8c 24 94 00 00 00 	mov    %ecx,0x94(%esp)
4e581d:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4e5821:	8b 54 24 20          	mov    0x20(%esp),%edx
4e5825:	3b c2                	cmp    %edx,%eax
4e5827:	0f 8d 29 05 00 00    	jge    0x4e5d56
4e582d:	8b 8c 24 94 00 00 00 	mov    0x94(%esp),%ecx
4e5834:	8b 01                	mov    (%ecx),%eax
4e5836:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4e583a:	8b 54 24 48          	mov    0x48(%esp),%edx
4e583e:	85 d2                	test   %edx,%edx
4e5840:	74 12                	je     0x4e5854
4e5842:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4e5846:	85 c9                	test   %ecx,%ecx
4e5848:	75 0a                	jne    0x4e5854
4e584a:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4e584e:	89 44 24 30          	mov    %eax,0x30(%esp)
4e5852:	eb 0e                	jmp    0x4e5862
4e5854:	8b 94 24 94 00 00 00 	mov    0x94(%esp),%edx
4e585b:	8b 4a fc             	mov    -0x4(%edx),%ecx
4e585e:	89 4c 24 30          	mov    %ecx,0x30(%esp)
4e5862:	8b 44 24 4c          	mov    0x4c(%esp),%eax
4e5866:	85 c0                	test   %eax,%eax
4e5868:	74 17                	je     0x4e5881
4e586a:	8b 54 24 20          	mov    0x20(%esp),%edx
4e586e:	4a                   	dec    %edx
4e586f:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4e5873:	3b d1                	cmp    %ecx,%edx
4e5875:	75 0a                	jne    0x4e5881
4e5877:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4e587b:	89 44 24 34          	mov    %eax,0x34(%esp)
4e587f:	eb 0e                	jmp    0x4e588f
4e5881:	8b 94 24 94 00 00 00 	mov    0x94(%esp),%edx
4e5888:	8b 4a 04             	mov    0x4(%edx),%ecx
4e588b:	89 4c 24 34          	mov    %ecx,0x34(%esp)
4e588f:	8b 44 24 30          	mov    0x30(%esp),%eax
4e5893:	0f bf 10             	movswl (%eax),%edx
4e5896:	89 54 24 78          	mov    %edx,0x78(%esp)
4e589a:	89 54 24 74          	mov    %edx,0x74(%esp)
4e589e:	89 54 24 70          	mov    %edx,0x70(%esp)
4e58a2:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4e58a6:	0f bf 08             	movswl (%eax),%ecx
4e58a9:	89 8c 24 80 00 00 00 	mov    %ecx,0x80(%esp)
4e58b0:	89 4c 24 7c          	mov    %ecx,0x7c(%esp)
4e58b4:	8b 44 24 34          	mov    0x34(%esp),%eax
4e58b8:	8b f1                	mov    %ecx,%esi
4e58ba:	0f bf 10             	movswl (%eax),%edx
4e58bd:	89 94 24 8c 00 00 00 	mov    %edx,0x8c(%esp)
4e58c4:	89 94 24 88 00 00 00 	mov    %edx,0x88(%esp)
4e58cb:	89 94 24 84 00 00 00 	mov    %edx,0x84(%esp)
4e58d2:	33 c0                	xor    %eax,%eax
4e58d4:	89 44 24 3c          	mov    %eax,0x3c(%esp)
4e58d8:	33 d2                	xor    %edx,%edx
4e58da:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4e58de:	8b 41 1c             	mov    0x1c(%ecx),%eax
4e58e1:	48                   	dec    %eax
4e58e2:	89 44 24 14          	mov    %eax,0x14(%esp)
4e58e6:	89 54 24 10          	mov    %edx,0x10(%esp)
4e58ea:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4e58ee:	8b 44 24 14          	mov    0x14(%esp),%eax
4e58f2:	3b c8                	cmp    %eax,%ecx
4e58f4:	0f 87 32 04 00 00    	ja     0x4e5d2c
4e58fa:	8d 94 24 98 00 00 00 	lea    0x98(%esp),%edx
4e5901:	b9 01 00 00 00       	mov    $0x1,%ecx
4e5906:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4e590a:	e8 e9 46 00 00       	call   0x4e9ff8
4e590f:	8b 54 24 10          	mov    0x10(%esp),%edx
4e5913:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4e5917:	3b d1                	cmp    %ecx,%edx
4e5919:	73 33                	jae    0x4e594e
4e591b:	8b 44 24 30          	mov    0x30(%esp),%eax
4e591f:	0f bf 90 80 00 00 00 	movswl 0x80(%eax),%edx
4e5926:	89 54 24 78          	mov    %edx,0x78(%esp)
4e592a:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4e592e:	0f bf 81 80 00 00 00 	movswl 0x80(%ecx),%eax
4e5935:	89 84 24 80 00 00 00 	mov    %eax,0x80(%esp)
4e593c:	8b 54 24 34          	mov    0x34(%esp),%edx
4e5940:	0f bf 8a 80 00 00 00 	movswl 0x80(%edx),%ecx
4e5947:	89 8c 24 8c 00 00 00 	mov    %ecx,0x8c(%esp)
4e594e:	8b 44 24 50          	mov    0x50(%esp),%eax
4e5952:	8b 58 04             	mov    0x4(%eax),%ebx
4e5955:	85 db                	test   %ebx,%ebx
4e5957:	0f 84 97 00 00 00    	je     0x4e59f4
4e595d:	66 83 bc 24 9a 00 00 	cmpw   $0x0,0x9a(%esp)
4e5964:	00 00
4e5966:	0f 85 88 00 00 00    	jne    0x4e59f4
4e596c:	8b d6                	mov    %esi,%edx
4e596e:	8b 8c 24 80 00 00 00 	mov    0x80(%esp),%ecx
4e5975:	2b d1                	sub    %ecx,%edx
4e5977:	0f af 54 24 58       	imul   0x58(%esp),%edx
4e597c:	8b ca                	mov    %edx,%ecx
4e597e:	c1 e1 02             	shl    $0x2,%ecx
4e5981:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
4e5984:	85 c9                	test   %ecx,%ecx
4e5986:	7c 32                	jl     0x4e59ba
4e5988:	8b 44 24 5c          	mov    0x5c(%esp),%eax
4e598c:	8b 54 24 5c          	mov    0x5c(%esp),%edx
4e5990:	c1 e0 07             	shl    $0x7,%eax
4e5993:	c1 e2 08             	shl    $0x8,%edx
4e5996:	03 c1                	add    %ecx,%eax
4e5998:	8b ca                	mov    %edx,%ecx
4e599a:	99                   	cltd
4e599b:	f7 f9                	idiv   %ecx
4e599d:	85 db                	test   %ebx,%ebx
4e599f:	7e 4b                	jle    0x4e59ec
4e59a1:	8b cb                	mov    %ebx,%ecx
4e59a3:	ba 01 00 00 00       	mov    $0x1,%edx
4e59a8:	d3 e2                	shl    %cl,%edx
4e59aa:	3b c2                	cmp    %edx,%eax
4e59ac:	7c 3e                	jl     0x4e59ec
4e59ae:	8b cb                	mov    %ebx,%ecx
4e59b0:	b8 01 00 00 00       	mov    $0x1,%eax
4e59b5:	d3 e0                	shl    %cl,%eax
4e59b7:	48                   	dec    %eax
4e59b8:	eb 32                	jmp    0x4e59ec
4e59ba:	8b 44 24 5c          	mov    0x5c(%esp),%eax