4123c5:	8b 4f 04             	mov    0x4(%edi),%ecx
4123c8:	8b 49 10             	mov    0x10(%ecx),%ecx
4123cb:	e8 cc 78 ff ff       	call   0x409c9c
4123d0:	89 45 f0             	mov    %eax,-0x10(%ebp)
4123d3:	83 fe 03             	cmp    $0x3,%esi
4123d6:	76 0e                	jbe    0x4123e6
4123d8:	8b 4f 04             	mov    0x4(%edi),%ecx
4123db:	8b 49 0c             	mov    0xc(%ecx),%ecx
4123de:	e8 b9 78 ff ff       	call   0x409c9c
4123e3:	89 45 ec             	mov    %eax,-0x14(%ebp)
4123e6:	83 fe 02             	cmp    $0x2,%esi
4123e9:	76 0e                	jbe    0x4123f9
4123eb:	8b 4f 04             	mov    0x4(%edi),%ecx
4123ee:	8b 49 08             	mov    0x8(%ecx),%ecx
4123f1:	e8 a6 78 ff ff       	call   0x409c9c
4123f6:	89 45 f8             	mov    %eax,-0x8(%ebp)
4123f9:	83 fe 01             	cmp    $0x1,%esi
4123fc:	76 0e                	jbe    0x41240c
4123fe:	8b 4f 04             	mov    0x4(%edi),%ecx
412401:	8b 49 04             	mov    0x4(%ecx),%ecx
412404:	e8 93 78 ff ff       	call   0x409c9c
412409:	89 45 f4             	mov    %eax,-0xc(%ebp)
41240c:	8b 4f 04             	mov    0x4(%edi),%ecx
41240f:	8b 31                	mov    (%ecx),%esi
412411:	8b ce                	mov    %esi,%ecx
412413:	e8 7f 75 ff ff       	call   0x409997
412418:	ff 75 08             	push   0x8(%ebp)
41241b:	8b 4e 08             	mov    0x8(%esi),%ecx
41241e:	ff 75 fc             	push   -0x4(%ebp)
412421:	53                   	push   %ebx
412422:	ff 75 f8             	push   -0x8(%ebp)
412425:	ff 75 f4             	push   -0xc(%ebp)
412428:	ff 75 f0             	push   -0x10(%ebp)
41242b:	ff 75 ec             	push   -0x14(%ebp)
41242e:	ff 31                	push   (%ecx)
412430:	e8 a4 03 ff ff       	call   0x4027d9
412435:	8b f8                	mov    %eax,%edi
412437:	85 ff                	test   %edi,%edi
412439:	0f 84 0a 47 03 00    	je     0x446b49
41243f:	8b 75 0c             	mov    0xc(%ebp),%esi
412442:	8b ce                	mov    %esi,%ecx
412444:	e8 d7 75 ff ff       	call   0x409a20
412449:	89 3e                	mov    %edi,(%esi)
41244b:	5f                   	pop    %edi
41244c:	c7 46 0c 07 00 00 00 	movl   $0x7,0xc(%esi)
412453:	33 c0                	xor    %eax,%eax
412455:	5e                   	pop    %esi
412456:	5b                   	pop    %ebx
412457:	8b e5                	mov    %ebp,%esp
412459:	5d                   	pop    %ebp
41245a:	c2 08 00             	ret    $0x8
41245d:	55                   	push   %ebp
41245e:	8b ec                	mov    %esp,%ebp
412460:	ff 75 0c             	push   0xc(%ebp)
412463:	ff 75 08             	push   0x8(%ebp)
412466:	6a 1b                	push   $0x1b
412468:	e8 3e e4 ff ff       	call   0x4108ab
41246d:	5d                   	pop    %ebp
41246e:	c2 08 00             	ret    $0x8
412471:	55                   	push   %ebp
412472:	8b ec                	mov    %esp,%ebp
412474:	8b 45 08             	mov    0x8(%ebp),%eax
412477:	56                   	push   %esi
412478:	57                   	push   %edi
412479:	8b 40 04             	mov    0x4(%eax),%eax
41247c:	8b 08                	mov    (%eax),%ecx
41247e:	e8 19 78 ff ff       	call   0x409c9c
412483:	50                   	push   %eax
412484:	b9 b0 67 4c 00       	mov    $0x4c67b0,%ecx
412489:	e8 8a 07 ff ff       	call   0x402c18
41248e:	8b 75 0c             	mov    0xc(%ebp),%esi
412491:	8b f8                	mov    %eax,%edi
412493:	8b ce                	mov    %esi,%ecx
412495:	e8 86 75 ff ff       	call   0x409a20
41249a:	89 3e                	mov    %edi,(%esi)
41249c:	33 c0                	xor    %eax,%eax
41249e:	5f                   	pop    %edi
41249f:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4124a6:	5e                   	pop    %esi
4124a7:	5d                   	pop    %ebp
4124a8:	c2 08 00             	ret    $0x8
4124ab:	55                   	push   %ebp
4124ac:	8b ec                	mov    %esp,%ebp
4124ae:	83 ec 10             	sub    $0x10,%esp
4124b1:	53                   	push   %ebx
4124b2:	56                   	push   %esi
4124b3:	8b 75 08             	mov    0x8(%ebp),%esi
4124b6:	57                   	push   %edi
4124b7:	83 cf ff             	or     $0xffffffff,%edi
4124ba:	8b df                	mov    %edi,%ebx
4124bc:	89 7d f0             	mov    %edi,-0x10(%ebp)
4124bf:	8b 46 04             	mov    0x4(%esi),%eax
4124c2:	89 7d f4             	mov    %edi,-0xc(%ebp)
4124c5:	89 7d f8             	mov    %edi,-0x8(%ebp)
4124c8:	89 7d fc             	mov    %edi,-0x4(%ebp)
4124cb:	8b 48 04             	mov    0x4(%eax),%ecx
4124ce:	e8 c9 77 ff ff       	call   0x409c9c
4124d3:	85 c0                	test   %eax,%eax
4124d5:	0f 8e df 46 03 00    	jle    0x446bba
4124db:	83 7e 08 07          	cmpl   $0x7,0x8(%esi)
4124df:	0f 87 89 46 03 00    	ja     0x446b6e
4124e5:	83 7e 08 06          	cmpl   $0x6,0x8(%esi)
4124e9:	0f 87 92 46 03 00    	ja     0x446b81
4124ef:	83 7e 08 05          	cmpl   $0x5,0x8(%esi)
4124f3:	0f 87 9b 46 03 00    	ja     0x446b94
4124f9:	83 7e 08 04          	cmpl   $0x4,0x8(%esi)
4124fd:	0f 87 a4 46 03 00    	ja     0x446ba7
412503:	83 7e 08 03          	cmpl   $0x3,0x8(%esi)
412507:	76 0d                	jbe    0x412516
412509:	8b 46 04             	mov    0x4(%esi),%eax
41250c:	8b 48 0c             	mov    0xc(%eax),%ecx
41250f:	e8 88 77 ff ff       	call   0x409c9c
412514:	8b d8                	mov    %eax,%ebx
412516:	83 7e 08 02          	cmpl   $0x2,0x8(%esi)
41251a:	76 0d                	jbe    0x412529
41251c:	8b 46 04             	mov    0x4(%esi),%eax
41251f:	8b 48 08             	mov    0x8(%eax),%ecx
412522:	e8 75 77 ff ff       	call   0x409c9c
412527:	8b f8                	mov    %eax,%edi
412529:	ff 75 fc             	push   -0x4(%ebp)
41252c:	8b 56 04             	mov    0x4(%esi),%edx
41252f:	ff 75 f8             	push   -0x8(%ebp)
412532:	ff 75 f4             	push   -0xc(%ebp)
412535:	8b 4a 04             	mov    0x4(%edx),%ecx
412538:	ff 75 f0             	push   -0x10(%ebp)
41253b:	8b 32                	mov    (%edx),%esi
41253d:	53                   	push   %ebx
41253e:	57                   	push   %edi
41253f:	e8 58 77 ff ff       	call   0x409c9c
412544:	50                   	push   %eax
412545:	8b ce                	mov    %esi,%ecx
412547:	e8 50 77 ff ff       	call   0x409c9c
41254c:	50                   	push   %eax
41254d:	e8 43 0a ff ff       	call   0x402f95
412552:	8b 75 0c             	mov    0xc(%ebp),%esi
412555:	8b f8                	mov    %eax,%edi
412557:	8b ce                	mov    %esi,%ecx
412559:	e8 c2 74 ff ff       	call   0x409a20
41255e:	89 3e                	mov    %edi,(%esi)
412560:	5f                   	pop    %edi
412561:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
412568:	33 c0                	xor    %eax,%eax
41256a:	5e                   	pop    %esi
41256b:	5b                   	pop    %ebx
41256c:	8b e5                	mov    %ebp,%esp
41256e:	5d                   	pop    %ebp
41256f:	c2 08 00             	ret    $0x8
412572:	55                   	push   %ebp
412573:	8b ec                	mov    %esp,%ebp
412575:	56                   	push   %esi
412576:	8b 75 08             	mov    0x8(%ebp),%esi
412579:	33 c0                	xor    %eax,%eax
41257b:	57                   	push   %edi
41257c:	83 7e 08 01          	cmpl   $0x1,0x8(%esi)
412580:	77 38                	ja     0x4125ba
412582:	8b 4e 04             	mov    0x4(%esi),%ecx
412585:	6a ff                	push   $0xffffffff
412587:	6a ff                	push   $0xffffffff
412589:	50                   	push   %eax
41258a:	8b 09                	mov    (%ecx),%ecx
41258c:	6a ff                	push   $0xffffffff
41258e:	6a 00                	push   $0x0
412590:	e8 07 77 ff ff       	call   0x409c9c
412595:	50                   	push   %eax
412596:	6a 00                	push   $0x0
412598:	e8 d5 05 ff ff       	call   0x402b72
41259d:	8b 75 0c             	mov    0xc(%ebp),%esi
4125a0:	8b f8                	mov    %eax,%edi
4125a2:	8b ce                	mov    %esi,%ecx
4125a4:	e8 77 74 ff ff       	call   0x409a20
4125a9:	89 3e                	mov    %edi,(%esi)
4125ab:	33 c0                	xor    %eax,%eax
4125ad:	5f                   	pop    %edi
4125ae:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4125b5:	5e                   	pop    %esi
4125b6:	5d                   	pop    %ebp
4125b7:	c2 08 00             	ret    $0x8
4125ba:	8b 46 04             	mov    0x4(%esi),%eax
4125bd:	8b 48 04             	mov    0x4(%eax),%ecx
4125c0:	e8 f6 63 05 00       	call   0x4689bb
4125c5:	eb bb                	jmp    0x412582
4125c7:	55                   	push   %ebp
4125c8:	8b ec                	mov    %esp,%ebp
4125ca:	83 ec 38             	sub    $0x38,%esp
4125cd:	53                   	push   %ebx
4125ce:	56                   	push   %esi
4125cf:	8b 75 08             	mov    0x8(%ebp),%esi
4125d2:	33 db                	xor    %ebx,%ebx
4125d4:	57                   	push   %edi
4125d5:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4125d8:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4125db:	8b 46 04             	mov    0x4(%esi),%eax
4125de:	8b 78 04             	mov    0x4(%eax),%edi
4125e1:	8b cf                	mov    %edi,%ecx
4125e3:	83 7f 0c 0e          	cmpl   $0xe,0xc(%edi)
4125e7:	0f 84 df 45 03 00    	je     0x446bcc
4125ed:	6a 02                	push   $0x2
4125ef:	58                   	pop    %eax
4125f0:	89 45 08             	mov    %eax,0x8(%ebp)
4125f3:	e8 9f 73 ff ff       	call   0x409997
4125f8:	8b 4f 08             	mov    0x8(%edi),%ecx
4125fb:	8b 01                	mov    (%ecx),%eax
4125fd:	89 45 d8             	mov    %eax,-0x28(%ebp)
412600:	8b 41 04             	mov    0x4(%ecx),%eax
412603:	89 45 dc             	mov    %eax,-0x24(%ebp)
412606:	8b 41 08             	mov    0x8(%ecx),%eax
412609:	89 45 e0             	mov    %eax,-0x20(%ebp)
41260c:	8b 41 0c             	mov    0xc(%ecx),%eax
41260f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
412612:	89 45 e4             	mov    %eax,-0x1c(%ebp)
412615:	ff 00                	incl   (%eax)
412617:	8b 01                	mov    (%ecx),%eax
412619:	89 45 e8             	mov    %eax,-0x18(%ebp)
41261c:	8b 41 04             	mov    0x4(%ecx),%eax
41261f:	89 45 ec             	mov    %eax,-0x14(%ebp)
412622:	8b 41 08             	mov    0x8(%ecx),%eax
412625:	89 45 f0             	mov    %eax,-0x10(%ebp)
412628:	8b 41 0c             	mov    0xc(%ecx),%eax
41262b:	89 45 f4             	mov    %eax,-0xc(%ebp)
41262e:	ff 00                	incl   (%eax)
412630:	8b 45 08             	mov    0x8(%ebp),%eax
412633:	a8 02                	test   $0x2,%al
412635:	74 11                	je     0x412648
412637:	83 e0 fd             	and    $0xfffffffd,%eax
41263a:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41263d:	89 45 08             	mov    %eax,0x8(%ebp)
412640:	e8 1f 34 ff ff       	call   0x405a64
412645:	8b 45 08             	mov    0x8(%ebp),%eax
412648:	a8 01                	test   $0x1,%al
41264a:	75 5a                	jne    0x4126a6
41264c:	8b 7d fc             	mov    -0x4(%ebp),%edi
41264f:	8d 45 e8             	lea    -0x18(%ebp),%eax
412652:	50                   	push   %eax
412653:	8b cf                	mov    %edi,%ecx
412655:	e8 63 79 ff ff       	call   0x409fbd
41265a:	85 c0                	test   %eax,%eax
41265c:	0f 84 80 45 03 00    	je     0x446be2
412662:	83 7e 08 02          	cmpl   $0x2,0x8(%esi)
412666:	8b c3                	mov    %ebx,%eax
412668:	77 46                	ja     0x4126b0
41266a:	8b 4e 04             	mov    0x4(%esi),%ecx
41266d:	50                   	push   %eax
41266e:	8d 45 e8             	lea    -0x18(%ebp),%eax
412671:	50                   	push   %eax
412672:	8b 09                	mov    (%ecx),%ecx
412674:	e8 23 76 ff ff       	call   0x409c9c
412679:	50                   	push   %eax
41267a:	e8 a8 04 ff ff       	call   0x402b27
41267f:	8b 75 0c             	mov    0xc(%ebp),%esi
412682:	8b f8                	mov    %eax,%edi
412684:	8b ce                	mov    %esi,%ecx
412686:	e8 95 73 ff ff       	call   0x409a20
41268b:	33 c0                	xor    %eax,%eax
41268d:	89 3e                	mov    %edi,(%esi)
41268f:	40                   	inc    %eax
412690:	89 46 0c             	mov    %eax,0xc(%esi)
412693:	8d 4d e8             	lea    -0x18(%ebp),%ecx
412696:	e8 c9 33 ff ff       	call   0x405a64
41269b:	5f                   	pop    %edi
41269c:	5e                   	pop    %esi
41269d:	8b c3                	mov    %ebx,%eax
41269f:	5b                   	pop    %ebx
4126a0:	8b e5                	mov    %ebp,%esp
4126a2:	5d                   	pop    %ebp
4126a3:	c2 08 00             	ret    $0x8
4126a6:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4126a9:	e8 b6 33 ff ff       	call   0x405a64
4126ae:	eb 9c                	jmp    0x41264c
4126b0:	8b 46 04             	mov    0x4(%esi),%eax
4126b3:	8b 48 08             	mov    0x8(%eax),%ecx
4126b6:	e8 00 63 05 00       	call   0x4689bb
4126bb:	eb ad                	jmp    0x41266a
4126bd:	55                   	push   %ebp
4126be:	8b ec                	mov    %esp,%ebp
4126c0:	53                   	push   %ebx
4126c1:	56                   	push   %esi
4126c2:	8b 75 08             	mov    0x8(%ebp),%esi
4126c5:	33 db                	xor    %ebx,%ebx
4126c7:	57                   	push   %edi
4126c8:	6a 05                	push   $0x5
4126ca:	5f                   	pop    %edi
4126cb:	83 7e 08 01          	cmpl   $0x1,0x8(%esi)
4126cf:	0f 87 35 45 03 00    	ja     0x446c0a
4126d5:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
4126d9:	77 25                	ja     0x412700
4126db:	53                   	push   %ebx
4126dc:	57                   	push   %edi
4126dd:	e8 79 03 ff ff       	call   0x402a5b
4126e2:	8b 75 0c             	mov    0xc(%ebp),%esi
4126e5:	8b f8                	mov    %eax,%edi
4126e7:	8b ce                	mov    %esi,%ecx
4126e9:	e8 32 73 ff ff       	call   0x409a20
4126ee:	89 3e                	mov    %edi,(%esi)
4126f0:	33 c0                	xor    %eax,%eax
4126f2:	5f                   	pop    %edi
4126f3:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4126fa:	5e                   	pop    %esi
4126fb:	5b                   	pop    %ebx
4126fc:	5d                   	pop    %ebp
4126fd:	c2 08 00             	ret    $0x8
412700:	8b 46 04             	mov    0x4(%esi),%eax
412703:	8b 08                	mov    (%eax),%ecx
412705:	e8 92 75 ff ff       	call   0x409c9c
41270a:	8b f8                	mov    %eax,%edi
41270c:	eb cd                	jmp    0x4126db
41270e:	55                   	push   %ebp
41270f:	8b ec                	mov    %esp,%ebp
412711:	83 ec 68             	sub    $0x68,%esp
412714:	56                   	push   %esi
412715:	8b 75 08             	mov    0x8(%ebp),%esi
412718:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41271b:	8b 56 04             	mov    0x4(%esi),%edx
41271e:	8b 02                	mov    (%edx),%eax
412720:	83 78 0c 0b          	cmpl   $0xb,0xc(%eax)
412724:	0f 84 f2 44 03 00    	je     0x446c1c
41272a:	53                   	push   %ebx
41272b:	57                   	push   %edi
41272c:	6a 08                	push   $0x8
41272e:	33 db                	xor    %ebx,%ebx
412730:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
412734:	83 7e 08 01          	cmpl   $0x1,0x8(%esi)
412738:	5f                   	pop    %edi
412739:	76 2d                	jbe    0x412768
41273b:	8b 42 04             	mov    0x4(%edx),%eax
41273e:	89 45 f8             	mov    %eax,-0x8(%ebp)
412741:	83 78 0c 0a          	cmpl   $0xa,0xc(%eax)
412745:	0f 84 13 45 03 00    	je     0x446c5e
41274b:	8b c8                	mov    %eax,%ecx
41274d:	88 5d ff             	mov    %bl,-0x1(%ebp)
412750:	e8 47 75 ff ff       	call   0x409c9c
412755:	8b f8                	mov    %eax,%edi
412757:	83 ff 10             	cmp    $0x10,%edi
41275a:	0f 8f a8 00 00 00    	jg     0x412808
412760:	85 ff                	test   %edi,%edi
412762:	0f 88 a8 00 00 00    	js     0x412810
412768:	8b 46 04             	mov    0x4(%esi),%eax
41276b:	8b 08                	mov    (%eax),%ecx
41276d:	83 79 0c 07          	cmpl   $0x7,0xc(%ecx)
412771:	0f 84 00 45 03 00    	je     0x446c77
412777:	83 7e 08 01          	cmpl   $0x1,0x8(%esi)
41277b:	76 16                	jbe    0x412793
41277d:	8b 70 04             	mov    0x4(%eax),%esi
412780:	8b ce                	mov    %esi,%ecx
412782:	e8 99 72 ff ff       	call   0x409a20
412787:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
41278e:	89 1e                	mov    %ebx,(%esi)
412790:	8b 75 08             	mov    0x8(%ebp),%esi
412793:	8b 4d f4             	mov    -0xc(%ebp),%ecx
412796:	8d 45 e0             	lea    -0x20(%ebp),%eax
412799:	50                   	push   %eax