411424:	85 f6                	test   %esi,%esi
411426:	79 28                	jns    0x411450
411428:	68 40 37 45 00       	push   $0x453740
41142d:	eb a6                	jmp    0x4113d5
41142f:	6b 4d fc 28          	imul   $0x28,-0x4(%ebp),%ecx
411433:	8b 47 4c             	mov    0x4c(%edi),%eax
411436:	ff 74 08 0c          	push   0xc(%eax,%ecx,1)
41143a:	8d 45 f8             	lea    -0x8(%ebp),%eax
41143d:	50                   	push   %eax
41143e:	e8 62 0d ff ff       	call   0x4021a5
411443:	8b f0                	mov    %eax,%esi
411445:	85 f6                	test   %esi,%esi
411447:	79 07                	jns    0x411450
411449:	68 90 37 45 00       	push   $0x453790
41144e:	eb 85                	jmp    0x4113d5
411450:	8d 45 f4             	lea    -0xc(%ebp),%eax
411453:	50                   	push   %eax
411454:	57                   	push   %edi
411455:	e8 99 fa ff ff       	call   0x410ef3
41145a:	8b f0                	mov    %eax,%esi
41145c:	85 f6                	test   %esi,%esi
41145e:	79 0a                	jns    0x41146a
411460:	68 e0 37 45 00       	push   $0x4537e0
411465:	e9 6b ff ff ff       	jmp    0x4113d5
41146a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41146d:	8b 57 50             	mov    0x50(%edi),%edx
411470:	4a                   	dec    %edx
411471:	c7 01 08 00 00 00    	movl   $0x8,(%ecx)
411477:	8b 43 48             	mov    0x48(%ebx),%eax
41147a:	89 41 04             	mov    %eax,0x4(%ecx)
41147d:	8b 45 fc             	mov    -0x4(%ebp),%eax
411480:	89 59 08             	mov    %ebx,0x8(%ecx)
411483:	89 41 18             	mov    %eax,0x18(%ecx)
411486:	8b 45 f8             	mov    -0x8(%ebp),%eax
411489:	89 41 1c             	mov    %eax,0x1c(%ecx)
41148c:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
411490:	eb 06                	jmp    0x411498
411492:	8b 4d f4             	mov    -0xc(%ebp),%ecx
411495:	8b 55 f0             	mov    -0x10(%ebp),%edx
411498:	81 7d fc 00 00 00 80 	cmpl   $0x80000000,-0x4(%ebp)
41149f:	0f 45 55 fc          	cmovne -0x4(%ebp),%edx
4114a3:	6b c2 28             	imul   $0x28,%edx,%eax
4114a6:	03 47 4c             	add    0x4c(%edi),%eax
4114a9:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
4114ad:	74 1c                	je     0x4114cb
4114af:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
4114b3:	75 16                	jne    0x4114cb
4114b5:	83 60 04 00          	andl   $0x0,0x4(%eax)
4114b9:	83 7b 48 00          	cmpl   $0x0,0x48(%ebx)
4114bd:	75 0c                	jne    0x4114cb
4114bf:	8b 43 18             	mov    0x18(%ebx),%eax
4114c2:	01 47 20             	add    %eax,0x20(%edi)
4114c5:	8b 43 1c             	mov    0x1c(%ebx),%eax
4114c8:	11 47 24             	adc    %eax,0x24(%edi)
4114cb:	8b 45 18             	mov    0x18(%ebp),%eax
4114ce:	89 08                	mov    %ecx,(%eax)
4114d0:	8b 45 1c             	mov    0x1c(%ebp),%eax
4114d3:	89 10                	mov    %edx,(%eax)
4114d5:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4114d9:	74 08                	je     0x4114e3
4114db:	ff 75 f8             	push   -0x8(%ebp)
4114de:	e8 0c 40 03 00       	call   0x4454ef
4114e3:	5f                   	pop    %edi
4114e4:	8b c6                	mov    %esi,%eax
4114e6:	5e                   	pop    %esi
4114e7:	5b                   	pop    %ebx
4114e8:	8b e5                	mov    %ebp,%esp
4114ea:	5d                   	pop    %ebp
4114eb:	c2 18 00             	ret    $0x18
4114ee:	55                   	push   %ebp
4114ef:	8b ec                	mov    %esp,%ebp
4114f1:	51                   	push   %ecx
4114f2:	51                   	push   %ecx
4114f3:	56                   	push   %esi
4114f4:	33 f6                	xor    %esi,%esi
4114f6:	89 75 fc             	mov    %esi,-0x4(%ebp)
4114f9:	39 75 10             	cmp    %esi,0x10(%ebp)
4114fc:	0f 86 f2 00 00 00    	jbe    0x4115f4
411502:	57                   	push   %edi
411503:	8b 7d 0c             	mov    0xc(%ebp),%edi
411506:	8b c6                	mov    %esi,%eax
411508:	83 c7 18             	add    $0x18,%edi
41150b:	53                   	push   %ebx
41150c:	83 7f e8 05          	cmpl   $0x5,-0x18(%edi)
411510:	0f 85 a8 00 00 00    	jne    0x4115be
411516:	8b 5f f0             	mov    -0x10(%edi),%ebx
411519:	39 b3 d4 00 00 00    	cmp    %esi,0xd4(%ebx)
41151f:	0f 84 99 00 00 00    	je     0x4115be
411525:	8b 83 d4 00 00 00    	mov    0xd4(%ebx),%eax
41152b:	6a 01                	push   $0x1
41152d:	c1 e0 02             	shl    $0x2,%eax
411530:	50                   	push   %eax
411531:	e8 9e 23 ff ff       	call   0x4038d4
411536:	89 47 08             	mov    %eax,0x8(%edi)
411539:	85 c0                	test   %eax,%eax
41153b:	0f 84 8f 00 00 00    	je     0x4115d0
411541:	83 3f 05             	cmpl   $0x5,(%edi)
411544:	74 75                	je     0x4115bb
411546:	83 3f 01             	cmpl   $0x1,(%edi)
411549:	74 70                	je     0x4115bb
41154b:	8b ce                	mov    %esi,%ecx
41154d:	39 b3 d4 00 00 00    	cmp    %esi,0xd4(%ebx)
411553:	76 66                	jbe    0x4115bb
411555:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
411559:	8b 83 cc 00 00 00    	mov    0xcc(%ebx),%eax
41155f:	8b 14 88             	mov    (%eax,%ecx,4),%edx
411562:	74 05                	je     0x411569
411564:	8b 42 5c             	mov    0x5c(%edx),%eax
411567:	eb 03                	jmp    0x41156c
411569:	8b 42 60             	mov    0x60(%edx),%eax
41156c:	89 45 0c             	mov    %eax,0xc(%ebp)
41156f:	8b 47 08             	mov    0x8(%edi),%eax
411572:	8b 75 0c             	mov    0xc(%ebp),%esi
411575:	89 34 88             	mov    %esi,(%eax,%ecx,4)
411578:	33 f6                	xor    %esi,%esi
41157a:	8b 82 a8 00 00 00    	mov    0xa8(%edx),%eax
411580:	89 45 f8             	mov    %eax,-0x8(%ebp)
411583:	85 c0                	test   %eax,%eax
411585:	74 2b                	je     0x4115b2
411587:	8b 82 a4 00 00 00    	mov    0xa4(%edx),%eax
41158d:	8b d6                	mov    %esi,%edx
41158f:	3b 58 58             	cmp    0x58(%eax),%ebx
411592:	74 0b                	je     0x41159f
411594:	42                   	inc    %edx
411595:	83 c0 6c             	add    $0x6c,%eax
411598:	3b 55 f8             	cmp    -0x8(%ebp),%edx
41159b:	72 f2                	jb     0x41158f
41159d:	eb 13                	jmp    0x4115b2
41159f:	39 75 08             	cmp    %esi,0x8(%ebp)
4115a2:	74 05                	je     0x4115a9
4115a4:	8b 50 64             	mov    0x64(%eax),%edx
4115a7:	eb 03                	jmp    0x4115ac
4115a9:	8b 50 68             	mov    0x68(%eax),%edx
4115ac:	8b 47 08             	mov    0x8(%edi),%eax
4115af:	89 14 88             	mov    %edx,(%eax,%ecx,4)
4115b2:	41                   	inc    %ecx
4115b3:	3b 8b d4 00 00 00    	cmp    0xd4(%ebx),%ecx
4115b9:	72 9a                	jb     0x411555
4115bb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4115be:	40                   	inc    %eax
4115bf:	83 c7 30             	add    $0x30,%edi
4115c2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4115c5:	3b 45 10             	cmp    0x10(%ebp),%eax
4115c8:	0f 82 3e ff ff ff    	jb     0x41150c
4115ce:	eb 22                	jmp    0x4115f2
4115d0:	be 0e 00 07 80       	mov    $0x8007000e,%esi
4115d5:	56                   	push   %esi
4115d6:	68 cb 0a 00 00       	push   $0xacb
4115db:	68 b8 28 45 00       	push   $0x4528b8
4115e0:	e8 ee 21 ff ff       	call   0x4037d3
4115e5:	68 e0 38 45 00       	push   $0x4538e0
4115ea:	56                   	push   %esi
4115eb:	e8 3f eb 02 00       	call   0x44012f
4115f0:	59                   	pop    %ecx
4115f1:	59                   	pop    %ecx
4115f2:	5b                   	pop    %ebx
4115f3:	5f                   	pop    %edi
4115f4:	8b c6                	mov    %esi,%eax
4115f6:	5e                   	pop    %esi
4115f7:	8b e5                	mov    %ebp,%esp
4115f9:	5d                   	pop    %ebp
4115fa:	c2 0c 00             	ret    $0xc
4115fd:	55                   	push   %ebp
4115fe:	8b ec                	mov    %esp,%ebp
411600:	8b 45 14             	mov    0x14(%ebp),%eax
411603:	33 c9                	xor    %ecx,%ecx
411605:	8b 55 18             	mov    0x18(%ebp),%edx
411608:	56                   	push   %esi
411609:	57                   	push   %edi
41160a:	bf 00 00 00 80       	mov    $0x80000000,%edi
41160f:	33 f6                	xor    %esi,%esi
411611:	3b c7                	cmp    %edi,%eax
411613:	0f 44 c1             	cmove  %ecx,%eax
411616:	3b d7                	cmp    %edi,%edx
411618:	8b 7d 0c             	mov    0xc(%ebp),%edi
41161b:	75 03                	jne    0x411620
41161d:	8b 57 50             	mov    0x50(%edi),%edx
411620:	3b c2                	cmp    %edx,%eax
411622:	73 45                	jae    0x411669
411624:	6b c8 28             	imul   $0x28,%eax,%ecx
411627:	53                   	push   %ebx
411628:	8b 5d 08             	mov    0x8(%ebp),%ebx
41162b:	03 4f 4c             	add    0x4c(%edi),%ecx
41162e:	8b 7d 10             	mov    0x10(%ebp),%edi
411631:	39 19                	cmp    %ebx,(%ecx)
411633:	75 14                	jne    0x411649
411635:	83 39 07             	cmpl   $0x7,(%ecx)
411638:	75 05                	jne    0x41163f
41163a:	39 79 08             	cmp    %edi,0x8(%ecx)
41163d:	74 14                	je     0x411653
41163f:	83 39 08             	cmpl   $0x8,(%ecx)
411642:	75 05                	jne    0x411649
411644:	39 79 08             	cmp    %edi,0x8(%ecx)
411647:	74 0a                	je     0x411653
411649:	40                   	inc    %eax
41164a:	83 c1 28             	add    $0x28,%ecx
41164d:	3b c2                	cmp    %edx,%eax
41164f:	72 e0                	jb     0x411631
411651:	eb 15                	jmp    0x411668
411653:	8b 55 1c             	mov    0x1c(%ebp),%edx
411656:	85 d2                	test   %edx,%edx
411658:	74 02                	je     0x41165c
41165a:	89 0a                	mov    %ecx,(%edx)
41165c:	8b 4d 20             	mov    0x20(%ebp),%ecx
41165f:	85 c9                	test   %ecx,%ecx
411661:	74 02                	je     0x411665
411663:	89 01                	mov    %eax,(%ecx)
411665:	33 f6                	xor    %esi,%esi
411667:	46                   	inc    %esi
411668:	5b                   	pop    %ebx
411669:	5f                   	pop    %edi
41166a:	8b c6                	mov    %esi,%eax
41166c:	5e                   	pop    %esi
41166d:	5d                   	pop    %ebp
41166e:	c2 1c 00             	ret    $0x1c
411671:	55                   	push   %ebp
411672:	8b ec                	mov    %esp,%ebp
411674:	8b 45 08             	mov    0x8(%ebp),%eax
411677:	56                   	push   %esi
411678:	6a 03                	push   $0x3
41167a:	59                   	pop    %ecx
41167b:	33 f6                	xor    %esi,%esi
41167d:	2b c1                	sub    %ecx,%eax
41167f:	0f 84 97 00 00 00    	je     0x41171c
411685:	83 e8 01             	sub    $0x1,%eax
411688:	74 7a                	je     0x411704
41168a:	83 e8 01             	sub    $0x1,%eax
41168d:	74 6a                	je     0x4116f9
41168f:	83 e8 01             	sub    $0x1,%eax
411692:	74 3e                	je     0x4116d2
411694:	83 e8 01             	sub    $0x1,%eax
411697:	74 2e                	je     0x4116c7
411699:	83 e8 01             	sub    $0x1,%eax
41169c:	74 5b                	je     0x4116f9
41169e:	83 e8 01             	sub    $0x1,%eax
4116a1:	74 56                	je     0x4116f9
4116a3:	be 57 00 07 80       	mov    $0x80070057,%esi
4116a8:	56                   	push   %esi
4116a9:	68 b8 07 00 00       	push   $0x7b8
4116ae:	68 b8 28 45 00       	push   $0x4528b8
4116b3:	e8 1b 21 ff ff       	call   0x4037d3
4116b8:	68 40 32 45 00       	push   $0x453240
4116bd:	56                   	push   %esi
4116be:	e8 6c ea 02 00       	call   0x44012f
4116c3:	59                   	pop    %ecx
4116c4:	59                   	pop    %ecx
4116c5:	eb 65                	jmp    0x41172c
4116c7:	8b 45 14             	mov    0x14(%ebp),%eax
4116ca:	c7 00 05 00 00 00    	movl   $0x5,(%eax)
4116d0:	eb 5a                	jmp    0x41172c
4116d2:	8b 45 10             	mov    0x10(%ebp),%eax
4116d5:	6a 02                	push   $0x2
4116d7:	5a                   	pop    %edx
4116d8:	2b c2                	sub    %edx,%eax
4116da:	74 16                	je     0x4116f2
4116dc:	83 e8 01             	sub    $0x1,%eax
4116df:	74 0a                	je     0x4116eb
4116e1:	83 e8 01             	sub    $0x1,%eax
4116e4:	8b 45 14             	mov    0x14(%ebp),%eax
4116e7:	74 13                	je     0x4116fc
4116e9:	eb 2d                	jmp    0x411718
4116eb:	8b 45 14             	mov    0x14(%ebp),%eax
4116ee:	89 08                	mov    %ecx,(%eax)
4116f0:	eb 3a                	jmp    0x41172c
4116f2:	8b 45 14             	mov    0x14(%ebp),%eax
4116f5:	89 10                	mov    %edx,(%eax)
4116f7:	eb 33                	jmp    0x41172c
4116f9:	8b 45 14             	mov    0x14(%ebp),%eax
4116fc:	c7 00 04 00 00 00    	movl   $0x4,(%eax)
411702:	eb 28                	jmp    0x41172c
411704:	8b 45 10             	mov    0x10(%ebp),%eax
411707:	2b c1                	sub    %ecx,%eax
411709:	74 0a                	je     0x411715
41170b:	83 e8 01             	sub    $0x1,%eax
41170e:	8b 45 14             	mov    0x14(%ebp),%eax
411711:	74 e9                	je     0x4116fc
411713:	eb d9                	jmp    0x4116ee
411715:	8b 45 14             	mov    0x14(%ebp),%eax
411718:	89 30                	mov    %esi,(%eax)
41171a:	eb 10                	jmp    0x41172c
41171c:	8b 4d 14             	mov    0x14(%ebp),%ecx
41171f:	33 c0                	xor    %eax,%eax
411721:	39 45 0c             	cmp    %eax,0xc(%ebp)
411724:	6a 02                	push   $0x2
411726:	5a                   	pop    %edx
411727:	0f 45 d0             	cmovne %eax,%edx
41172a:	89 11                	mov    %edx,(%ecx)
41172c:	8b c6                	mov    %esi,%eax
41172e:	5e                   	pop    %esi
41172f:	5d                   	pop    %ebp
411730:	c2 10 00             	ret    $0x10
411733:	55                   	push   %ebp
411734:	8b ec                	mov    %esp,%ebp
411736:	8b 4d 0c             	mov    0xc(%ebp),%ecx
411739:	83 79 20 02          	cmpl   $0x2,0x20(%ecx)
41173d:	75 0d                	jne    0x41174c
41173f:	8b 45 08             	mov    0x8(%ebp),%eax
411742:	83 38 05             	cmpl   $0x5,(%eax)
411745:	7c 05                	jl     0x41174c
411747:	33 c0                	xor    %eax,%eax
411749:	40                   	inc    %eax
41174a:	eb 1a                	jmp    0x411766
41174c:	33 c0                	xor    %eax,%eax
41174e:	83 b9 8c 00 00 00 01 	cmpl   $0x1,0x8c(%ecx)
411755:	75 08                	jne    0x41175f
411757:	39 41 5c             	cmp    %eax,0x5c(%ecx)
41175a:	0f 95 c0             	setne  %al
41175d:	eb 07                	jmp    0x411766
41175f:	83 79 5c 01          	cmpl   $0x1,0x5c(%ecx)
411763:	0f 9f c0             	setg   %al
411766:	5d                   	pop    %ebp
411767:	c2 08 00             	ret    $0x8
41176a:	55                   	push   %ebp
41176b:	8b ec                	mov    %esp,%ebp
41176d:	56                   	push   %esi
41176e:	57                   	push   %edi
41176f:	ff 75 0c             	push   0xc(%ebp)
411772:	8b 7d 10             	mov    0x10(%ebp),%edi
411775:	57                   	push   %edi
411776:	ff 75 08             	push   0x8(%ebp)
411779:	e8 72 68 01 00       	call   0x427ff0
41177e:	8b f0                	mov    %eax,%esi
411780:	85 f6                	test   %esi,%esi
411782:	79 09                	jns    0x41178d
411784:	ff 37                	push   (%edi)
411786:	68 0c 2b 45 00       	push   $0x452b0c
41178b:	eb 36                	jmp    0x4117c3
41178d:	ff 75 0c             	push   0xc(%ebp)
411790:	57                   	push   %edi
411791:	6a 00                	push   $0x0
411793:	e8 63 67 01 00       	call   0x427efb
411798:	8b f0                	mov    %eax,%esi
41179a:	85 f6                	test   %esi,%esi
41179c:	79 0f                	jns    0x4117ad
41179e:	68 10 39 45 00       	push   $0x453910
4117a3:	56                   	push   %esi
4117a4:	e8 86 e9 02 00       	call   0x44012f
4117a9:	59                   	pop    %ecx
4117aa:	59                   	pop    %ecx
4117ab:	eb 1f                	jmp    0x4117cc
4117ad:	ff 75 0c             	push   0xc(%ebp)
4117b0:	57                   	push   %edi
4117b1:	e8 c2 6a 01 00       	call   0x428278
4117b6:	8b f0                	mov    %eax,%esi
4117b8:	85 f6                	test   %esi,%esi
4117ba:	79 10                	jns    0x4117cc
4117bc:	ff 37                	push   (%edi)
4117be:	68 8c 2b 45 00       	push   $0x452b8c
4117c3:	56                   	push   %esi
4117c4:	e8 66 e9 02 00       	call   0x44012f