8ec489:	03 c8                	add    %eax,%ecx
8ec48b:	eb 0c                	jmp    0x8ec499
8ec48d:	8b 47 10             	mov    0x10(%edi),%eax
8ec490:	89 41 08             	mov    %eax,0x8(%ecx)
8ec493:	89 4f 10             	mov    %ecx,0x10(%edi)
8ec496:	83 e9 10             	sub    $0x10,%ecx
8ec499:	83 ea 01             	sub    $0x1,%edx
8ec49c:	79 ef                	jns    0x8ec48d
8ec49e:	8b 5f 10             	mov    0x10(%edi),%ebx
8ec4a1:	85 db                	test   %ebx,%ebx
8ec4a3:	74 32                	je     0x8ec4d7
8ec4a5:	8b 73 08             	mov    0x8(%ebx),%esi
8ec4a8:	6a 10                	push   $0x10
8ec4aa:	6a 00                	push   $0x0
8ec4ac:	53                   	push   %ebx
8ec4ad:	89 5d fc             	mov    %ebx,-0x4(%ebp)
8ec4b0:	e8 03 83 b2 ff       	call   0x4147b8
8ec4b5:	89 73 08             	mov    %esi,0x8(%ebx)
8ec4b8:	83 c4 0c             	add    $0xc,%esp
8ec4bb:	8b 4f 10             	mov    0x10(%edi),%ecx
8ec4be:	8b c3                	mov    %ebx,%eax
8ec4c0:	8b 49 08             	mov    0x8(%ecx),%ecx
8ec4c3:	ff 47 0c             	incl   0xc(%edi)
8ec4c6:	89 4f 10             	mov    %ecx,0x10(%edi)
8ec4c9:	8b 4d 08             	mov    0x8(%ebp),%ecx
8ec4cc:	5f                   	pop    %edi
8ec4cd:	5e                   	pop    %esi
8ec4ce:	89 0b                	mov    %ecx,(%ebx)
8ec4d0:	5b                   	pop    %ebx
8ec4d1:	8b e5                	mov    %ebp,%esp
8ec4d3:	5d                   	pop    %ebp
8ec4d4:	c2 04 00             	ret    $0x4
8ec4d7:	e8 8a 5a b4 ff       	call   0x431f66
8ec4dc:	cc                   	int3
8ec4dd:	cc                   	int3
8ec4de:	cc                   	int3
8ec4df:	cc                   	int3
8ec4e0:	cc                   	int3
8ec4e1:	cc                   	int3
8ec4e2:	cc                   	int3
8ec4e3:	cc                   	int3
8ec4e4:	cc                   	int3
8ec4e5:	cc                   	int3
8ec4e6:	cc                   	int3
8ec4e7:	cc                   	int3
8ec4e8:	cc                   	int3
8ec4e9:	cc                   	int3
8ec4ea:	cc                   	int3
8ec4eb:	cc                   	int3
8ec4ec:	cc                   	int3
8ec4ed:	cc                   	int3
8ec4ee:	cc                   	int3
8ec4ef:	cc                   	int3
8ec4f0:	cc                   	int3
8ec4f1:	cc                   	int3
8ec4f2:	cc                   	int3
8ec4f3:	cc                   	int3
8ec4f4:	cc                   	int3
8ec4f5:	cc                   	int3
8ec4f6:	cc                   	int3
8ec4f7:	cc                   	int3
8ec4f8:	cc                   	int3
8ec4f9:	cc                   	int3
8ec4fa:	cc                   	int3
8ec4fb:	cc                   	int3
8ec4fc:	55                   	push   %ebp
8ec4fd:	8b ec                	mov    %esp,%ebp
8ec4ff:	51                   	push   %ecx
8ec500:	53                   	push   %ebx
8ec501:	56                   	push   %esi
8ec502:	57                   	push   %edi
8ec503:	8b f9                	mov    %ecx,%edi
8ec505:	83 7f 10 00          	cmpl   $0x0,0x10(%edi)
8ec509:	75 31                	jne    0x8ec53c
8ec50b:	6a 10                	push   $0x10
8ec50d:	ff 77 18             	push   0x18(%edi)
8ec510:	8d 47 14             	lea    0x14(%edi),%eax
8ec513:	50                   	push   %eax
8ec514:	e8 93 6b b2 ff       	call   0x4130ac
8ec519:	8b 57 18             	mov    0x18(%edi),%edx
8ec51c:	83 c0 08             	add    $0x8,%eax
8ec51f:	8b ca                	mov    %edx,%ecx
8ec521:	c1 e1 04             	shl    $0x4,%ecx
8ec524:	83 c1 f0             	add    $0xfffffff0,%ecx
8ec527:	03 c8                	add    %eax,%ecx
8ec529:	eb 0c                	jmp    0x8ec537
8ec52b:	8b 47 10             	mov    0x10(%edi),%eax
8ec52e:	89 41 08             	mov    %eax,0x8(%ecx)
8ec531:	89 4f 10             	mov    %ecx,0x10(%edi)
8ec534:	83 e9 10             	sub    $0x10,%ecx
8ec537:	83 ea 01             	sub    $0x1,%edx
8ec53a:	79 ef                	jns    0x8ec52b
8ec53c:	8b 5f 10             	mov    0x10(%edi),%ebx
8ec53f:	85 db                	test   %ebx,%ebx
8ec541:	74 32                	je     0x8ec575
8ec543:	8b 73 08             	mov    0x8(%ebx),%esi
8ec546:	6a 10                	push   $0x10
8ec548:	6a 00                	push   $0x0
8ec54a:	53                   	push   %ebx
8ec54b:	89 5d fc             	mov    %ebx,-0x4(%ebp)
8ec54e:	e8 65 82 b2 ff       	call   0x4147b8
8ec553:	89 73 08             	mov    %esi,0x8(%ebx)
8ec556:	83 c4 0c             	add    $0xc,%esp
8ec559:	8b 4f 10             	mov    0x10(%edi),%ecx
8ec55c:	8b c3                	mov    %ebx,%eax
8ec55e:	8b 49 08             	mov    0x8(%ecx),%ecx
8ec561:	ff 47 0c             	incl   0xc(%edi)
8ec564:	89 4f 10             	mov    %ecx,0x10(%edi)
8ec567:	8b 4d 08             	mov    0x8(%ebp),%ecx
8ec56a:	5f                   	pop    %edi
8ec56b:	5e                   	pop    %esi
8ec56c:	89 0b                	mov    %ecx,(%ebx)
8ec56e:	5b                   	pop    %ebx
8ec56f:	8b e5                	mov    %ebp,%esp
8ec571:	5d                   	pop    %ebp
8ec572:	c2 04 00             	ret    $0x4
8ec575:	e8 ec 59 b4 ff       	call   0x431f66
8ec57a:	cc                   	int3
8ec57b:	cc                   	int3
8ec57c:	cc                   	int3
8ec57d:	cc                   	int3
8ec57e:	cc                   	int3
8ec57f:	cc                   	int3
8ec580:	cc                   	int3
8ec581:	cc                   	int3
8ec582:	cc                   	int3
8ec583:	cc                   	int3
8ec584:	cc                   	int3
8ec585:	cc                   	int3
8ec586:	cc                   	int3
8ec587:	cc                   	int3
8ec588:	cc                   	int3
8ec589:	cc                   	int3
8ec58a:	cc                   	int3
8ec58b:	cc                   	int3
8ec58c:	cc                   	int3
8ec58d:	cc                   	int3
8ec58e:	cc                   	int3
8ec58f:	cc                   	int3
8ec590:	cc                   	int3
8ec591:	cc                   	int3
8ec592:	cc                   	int3
8ec593:	cc                   	int3
8ec594:	cc                   	int3
8ec595:	cc                   	int3
8ec596:	cc                   	int3
8ec597:	cc                   	int3
8ec598:	cc                   	int3
8ec599:	cc                   	int3
8ec59a:	6a 08                	push   $0x8
8ec59c:	b8 5c 4a ba 00       	mov    $0xba4a5c,%eax
8ec5a1:	e8 e5 dc b1 ff       	call   0x40a28b
8ec5a6:	8b f9                	mov    %ecx,%edi
8ec5a8:	83 7f 10 00          	cmpl   $0x0,0x10(%edi)
8ec5ac:	75 2e                	jne    0x8ec5dc
8ec5ae:	6a 10                	push   $0x10
8ec5b0:	ff 77 18             	push   0x18(%edi)
8ec5b3:	8d 47 14             	lea    0x14(%edi),%eax
8ec5b6:	50                   	push   %eax
8ec5b7:	e8 f0 6a b2 ff       	call   0x4130ac
8ec5bc:	8b 57 18             	mov    0x18(%edi),%edx
8ec5bf:	8b ca                	mov    %edx,%ecx
8ec5c1:	c1 e1 04             	shl    $0x4,%ecx
8ec5c4:	83 c1 f8             	add    $0xfffffff8,%ecx
8ec5c7:	03 c8                	add    %eax,%ecx
8ec5c9:	eb 0c                	jmp    0x8ec5d7
8ec5cb:	8b 47 10             	mov    0x10(%edi),%eax
8ec5ce:	89 41 08             	mov    %eax,0x8(%ecx)
8ec5d1:	89 4f 10             	mov    %ecx,0x10(%edi)
8ec5d4:	83 e9 10             	sub    $0x10,%ecx
8ec5d7:	83 ea 01             	sub    $0x1,%edx
8ec5da:	79 ef                	jns    0x8ec5cb
8ec5dc:	8b 5f 10             	mov    0x10(%edi),%ebx
8ec5df:	85 db                	test   %ebx,%ebx
8ec5e1:	75 05                	jne    0x8ec5e8
8ec5e3:	e8 7e 59 b4 ff       	call   0x431f66
8ec5e8:	6a 10                	push   $0x10
8ec5ea:	6a 00                	push   $0x0
8ec5ec:	89 5d f0             	mov    %ebx,-0x10(%ebp)
8ec5ef:	8b 73 08             	mov    0x8(%ebx),%esi
8ec5f2:	53                   	push   %ebx
8ec5f3:	e8 c0 81 b2 ff       	call   0x4147b8
8ec5f8:	89 73 08             	mov    %esi,0x8(%ebx)
8ec5fb:	83 c4 0c             	add    $0xc,%esp
8ec5fe:	8b 47 10             	mov    0x10(%edi),%eax
8ec601:	89 5d ec             	mov    %ebx,-0x14(%ebp)
8ec604:	8b 48 08             	mov    0x8(%eax),%ecx
8ec607:	ff 47 0c             	incl   0xc(%edi)
8ec60a:	89 4f 10             	mov    %ecx,0x10(%edi)
8ec60d:	ff 75 08             	push   0x8(%ebp)
8ec610:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
8ec614:	8b cb                	mov    %ebx,%ecx
8ec616:	e8 68 83 b3 ff       	call   0x424983
8ec61b:	8b c3                	mov    %ebx,%eax
8ec61d:	e8 f5 1d b2 ff       	call   0x40e417
8ec622:	c2 04 00             	ret    $0x4
8ec625:	cc                   	int3
8ec626:	cc                   	int3
8ec627:	cc                   	int3
8ec628:	cc                   	int3
8ec629:	cc                   	int3
8ec62a:	cc                   	int3
8ec62b:	cc                   	int3
8ec62c:	cc                   	int3
8ec62d:	cc                   	int3
8ec62e:	cc                   	int3
8ec62f:	cc                   	int3
8ec630:	cc                   	int3
8ec631:	cc                   	int3
8ec632:	cc                   	int3
8ec633:	cc                   	int3
8ec634:	cc                   	int3
8ec635:	cc                   	int3
8ec636:	cc                   	int3
8ec637:	cc                   	int3
8ec638:	cc                   	int3
8ec639:	cc                   	int3
8ec63a:	cc                   	int3
8ec63b:	cc                   	int3
8ec63c:	cc                   	int3
8ec63d:	cc                   	int3
8ec63e:	cc                   	int3
8ec63f:	cc                   	int3
8ec640:	cc                   	int3
8ec641:	cc                   	int3
8ec642:	cc                   	int3
8ec643:	cc                   	int3
8ec644:	cc                   	int3
8ec645:	cc                   	int3
8ec646:	cc                   	int3
8ec647:	55                   	push   %ebp
8ec648:	8b ec                	mov    %esp,%ebp
8ec64a:	51                   	push   %ecx
8ec64b:	53                   	push   %ebx
8ec64c:	56                   	push   %esi
8ec64d:	8b f1                	mov    %ecx,%esi
8ec64f:	33 db                	xor    %ebx,%ebx
8ec651:	8b 4e 04             	mov    0x4(%esi),%ecx
8ec654:	85 c9                	test   %ecx,%ecx
8ec656:	74 1d                	je     0x8ec675
8ec658:	8b 56 08             	mov    0x8(%esi),%edx
8ec65b:	85 d2                	test   %edx,%edx
8ec65d:	74 0c                	je     0x8ec66b
8ec65f:	57                   	push   %edi
8ec660:	8b f9                	mov    %ecx,%edi
8ec662:	8d 7f 04             	lea    0x4(%edi),%edi
8ec665:	83 ea 01             	sub    $0x1,%edx
8ec668:	75 f8                	jne    0x8ec662
8ec66a:	5f                   	pop    %edi
8ec66b:	51                   	push   %ecx
8ec66c:	e8 a1 1f b5 ff       	call   0x43e612
8ec671:	59                   	pop    %ecx
8ec672:	89 5e 04             	mov    %ebx,0x4(%esi)
8ec675:	8b 4e 14             	mov    0x14(%esi),%ecx
8ec678:	89 5e 0c             	mov    %ebx,0xc(%esi)
8ec67b:	89 5e 10             	mov    %ebx,0x10(%esi)
8ec67e:	e8 e8 dd b1 ff       	call   0x40a46b
8ec683:	89 5e 14             	mov    %ebx,0x14(%esi)
8ec686:	5e                   	pop    %esi
8ec687:	5b                   	pop    %ebx
8ec688:	8b e5                	mov    %ebp,%esp
8ec68a:	5d                   	pop    %ebp
8ec68b:	c3                   	ret
8ec68c:	cc                   	int3
8ec68d:	cc                   	int3
8ec68e:	cc                   	int3
8ec68f:	cc                   	int3
8ec690:	cc                   	int3
8ec691:	cc                   	int3
8ec692:	cc                   	int3
8ec693:	cc                   	int3
8ec694:	cc                   	int3
8ec695:	cc                   	int3
8ec696:	cc                   	int3
8ec697:	cc                   	int3
8ec698:	cc                   	int3
8ec699:	cc                   	int3
8ec69a:	cc                   	int3
8ec69b:	cc                   	int3
8ec69c:	cc                   	int3
8ec69d:	55                   	push   %ebp
8ec69e:	8b ec                	mov    %esp,%ebp
8ec6a0:	51                   	push   %ecx
8ec6a1:	53                   	push   %ebx
8ec6a2:	56                   	push   %esi
8ec6a3:	8b f1                	mov    %ecx,%esi
8ec6a5:	33 db                	xor    %ebx,%ebx
8ec6a7:	8b 4e 04             	mov    0x4(%esi),%ecx
8ec6aa:	85 c9                	test   %ecx,%ecx
8ec6ac:	74 1d                	je     0x8ec6cb
8ec6ae:	8b 56 08             	mov    0x8(%esi),%edx
8ec6b1:	85 d2                	test   %edx,%edx
8ec6b3:	74 0c                	je     0x8ec6c1
8ec6b5:	57                   	push   %edi
8ec6b6:	8b f9                	mov    %ecx,%edi
8ec6b8:	8d 7f 04             	lea    0x4(%edi),%edi
8ec6bb:	83 ea 01             	sub    $0x1,%edx
8ec6be:	75 f8                	jne    0x8ec6b8
8ec6c0:	5f                   	pop    %edi
8ec6c1:	51                   	push   %ecx
8ec6c2:	e8 4b 1f b5 ff       	call   0x43e612
8ec6c7:	59                   	pop    %ecx
8ec6c8:	89 5e 04             	mov    %ebx,0x4(%esi)
8ec6cb:	8b 4e 14             	mov    0x14(%esi),%ecx
8ec6ce:	89 5e 0c             	mov    %ebx,0xc(%esi)
8ec6d1:	89 5e 10             	mov    %ebx,0x10(%esi)
8ec6d4:	e8 92 dd b1 ff       	call   0x40a46b
8ec6d9:	89 5e 14             	mov    %ebx,0x14(%esi)
8ec6dc:	5e                   	pop    %esi
8ec6dd:	5b                   	pop    %ebx
8ec6de:	8b e5                	mov    %ebp,%esp
8ec6e0:	5d                   	pop    %ebp
8ec6e1:	c3                   	ret
8ec6e2:	cc                   	int3
8ec6e3:	cc                   	int3
8ec6e4:	cc                   	int3
8ec6e5:	cc                   	int3
8ec6e6:	cc                   	int3
8ec6e7:	cc                   	int3
8ec6e8:	cc                   	int3
8ec6e9:	cc                   	int3
8ec6ea:	cc                   	int3
8ec6eb:	cc                   	int3
8ec6ec:	cc                   	int3
8ec6ed:	cc                   	int3
8ec6ee:	cc                   	int3
8ec6ef:	cc                   	int3
8ec6f0:	cc                   	int3
8ec6f1:	cc                   	int3
8ec6f2:	cc                   	int3
8ec6f3:	53                   	push   %ebx
8ec6f4:	56                   	push   %esi
8ec6f5:	8b f1                	mov    %ecx,%esi
8ec6f7:	33 db                	xor    %ebx,%ebx
8ec6f9:	39 5e 04             	cmp    %ebx,0x4(%esi)
8ec6fc:	74 34                	je     0x8ec732
8ec6fe:	57                   	push   %edi
8ec6ff:	8b fb                	mov    %ebx,%edi
8ec701:	39 5e 08             	cmp    %ebx,0x8(%esi)
8ec704:	76 1f                	jbe    0x8ec725
8ec706:	8b 46 04             	mov    0x4(%esi),%eax
8ec709:	8b 1c b8             	mov    (%eax,%edi,4),%ebx
8ec70c:	eb 0d                	jmp    0x8ec71b
8ec70e:	8b 0b                	mov    (%ebx),%ecx
8ec710:	83 e9 10             	sub    $0x10,%ecx
8ec713:	e8 fc 84 b1 ff       	call   0x404c14
8ec718:	8b 5b 08             	mov    0x8(%ebx),%ebx
8ec71b:	85 db                	test   %ebx,%ebx
8ec71d:	75 ef                	jne    0x8ec70e
8ec71f:	47                   	inc    %edi