445400:	39 5d 10             	cmp    %ebx,0x10(%ebp)
445403:	76 2f                	jbe    0x445434
445405:	8b 45 0c             	mov    0xc(%ebp),%eax
445408:	8b 04 98             	mov    (%eax,%ebx,4),%eax
44540b:	50                   	push   %eax
44540c:	56                   	push   %esi
44540d:	89 45 14             	mov    %eax,0x14(%ebp)
445410:	e8 8e 00 00 00       	call   0x4454a3
445415:	8b f8                	mov    %eax,%edi
445417:	81 ff 90 04 07 80    	cmp    $0x80070490,%edi
44541d:	75 0b                	jne    0x44542a
44541f:	ff 75 14             	push   0x14(%ebp)
445422:	56                   	push   %esi
445423:	e8 b9 fd ff ff       	call   0x4451e1
445428:	8b f8                	mov    %eax,%edi
44542a:	85 ff                	test   %edi,%edi
44542c:	78 0d                	js     0x44543b
44542e:	43                   	inc    %ebx
44542f:	3b 5d 10             	cmp    0x10(%ebp),%ebx
445432:	72 d1                	jb     0x445405
445434:	8b 45 08             	mov    0x8(%ebp),%eax
445437:	89 30                	mov    %esi,(%eax)
445439:	33 f6                	xor    %esi,%esi
44543b:	85 f6                	test   %esi,%esi
44543d:	74 06                	je     0x445445
44543f:	56                   	push   %esi
445440:	e8 0b 00 00 00       	call   0x445450
445445:	8b c7                	mov    %edi,%eax
445447:	5f                   	pop    %edi
445448:	5e                   	pop    %esi
445449:	5b                   	pop    %ebx
44544a:	8b e5                	mov    %ebp,%esp
44544c:	5d                   	pop    %ebp
44544d:	c2 10 00             	ret    $0x10
445450:	55                   	push   %ebp
445451:	8b ec                	mov    %esp,%ebp
445453:	56                   	push   %esi
445454:	8b 75 08             	mov    0x8(%ebp),%esi
445457:	83 3e 02             	cmpl   $0x2,(%esi)
44545a:	75 20                	jne    0x44547c
44545c:	57                   	push   %edi
44545d:	33 ff                	xor    %edi,%edi
44545f:	39 7e 0c             	cmp    %edi,0xc(%esi)
445462:	76 17                	jbe    0x44547b
445464:	8b 46 18             	mov    0x18(%esi),%eax
445467:	83 3c b8 00          	cmpl   $0x0,(%eax,%edi,4)
44546b:	74 08                	je     0x445475
44546d:	ff 34 b8             	push   (%eax,%edi,4)
445470:	e8 7a 00 00 00       	call   0x4454ef
445475:	47                   	inc    %edi
445476:	3b 7e 0c             	cmp    0xc(%esi),%edi
445479:	72 e9                	jb     0x445464
44547b:	5f                   	pop    %edi
44547c:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
445480:	74 08                	je     0x44548a
445482:	ff 76 18             	push   0x18(%esi)
445485:	e8 0f e5 fb ff       	call   0x403999
44548a:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
44548e:	74 08                	je     0x445498
445490:	ff 76 14             	push   0x14(%esi)
445493:	e8 01 e5 fb ff       	call   0x403999
445498:	56                   	push   %esi
445499:	e8 fb e4 fb ff       	call   0x403999
44549e:	5e                   	pop    %esi
44549f:	5d                   	pop    %ebp
4454a0:	c2 04 00             	ret    $0x4
4454a3:	55                   	push   %ebp
4454a4:	8b ec                	mov    %esp,%ebp
4454a6:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4454aa:	56                   	push   %esi
4454ab:	75 19                	jne    0x4454c6
4454ad:	b8 57 00 07 80       	mov    $0x80070057,%eax
4454b2:	50                   	push   %eax
4454b3:	68 a1 01 00 00       	push   $0x1a1
4454b8:	68 e8 67 46 00       	push   $0x4667e8
4454bd:	8b f0                	mov    %eax,%esi
4454bf:	e8 0f e3 fb ff       	call   0x4037d3
4454c4:	eb 22                	jmp    0x4454e8
4454c6:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4454ca:	75 0d                	jne    0x4454d9
4454cc:	b8 57 00 07 80       	mov    $0x80070057,%eax
4454d1:	50                   	push   %eax
4454d2:	68 a2 01 00 00       	push   $0x1a2
4454d7:	eb df                	jmp    0x4454b8
4454d9:	6a 00                	push   $0x0
4454db:	ff 75 0c             	push   0xc(%ebp)
4454de:	ff 75 08             	push   0x8(%ebp)
4454e1:	e8 77 fa ff ff       	call   0x444f5d
4454e6:	8b f0                	mov    %eax,%esi
4454e8:	8b c6                	mov    %esi,%eax
4454ea:	5e                   	pop    %esi
4454eb:	5d                   	pop    %ebp
4454ec:	c2 08 00             	ret    $0x8
4454ef:	55                   	push   %ebp
4454f0:	8b ec                	mov    %esp,%ebp
4454f2:	5d                   	pop    %ebp
4454f3:	e9 a1 e4 fb ff       	jmp    0x403999
4454f8:	55                   	push   %ebp
4454f9:	8b ec                	mov    %esp,%ebp
4454fb:	51                   	push   %ecx
4454fc:	56                   	push   %esi
4454fd:	57                   	push   %edi
4454fe:	33 ff                	xor    %edi,%edi
445500:	8d 45 fc             	lea    -0x4(%ebp),%eax
445503:	57                   	push   %edi
445504:	ff 75 08             	push   0x8(%ebp)
445507:	89 7d fc             	mov    %edi,-0x4(%ebp)
44550a:	50                   	push   %eax
44550b:	e8 95 cc fb ff       	call   0x4021a5
445510:	8b f0                	mov    %eax,%esi
445512:	85 f6                	test   %esi,%esi
445514:	78 59                	js     0x44556f
445516:	be 05 40 00 80       	mov    $0x80004005,%esi
44551b:	3b 7d 24             	cmp    0x24(%ebp),%edi
44551e:	77 3b                	ja     0x44555b
445520:	85 ff                	test   %edi,%edi
445522:	74 09                	je     0x44552d
445524:	ff 75 28             	push   0x28(%ebp)
445527:	ff 15 08 b1 44 00    	call   *0x44b108
44552d:	ff 75 20             	push   0x20(%ebp)
445530:	ff 75 1c             	push   0x1c(%ebp)
445533:	ff 75 18             	push   0x18(%ebp)
445536:	ff 75 14             	push   0x14(%ebp)
445539:	ff 75 10             	push   0x10(%ebp)
44553c:	ff 75 0c             	push   0xc(%ebp)
44553f:	ff 75 fc             	push   -0x4(%ebp)
445542:	ff 15 50 b0 44 00    	call   *0x44b050
445548:	0f b7 f0             	movzwl %ax,%esi
44554b:	81 ce 00 00 07 80    	or     $0x80070000,%esi
445551:	85 c0                	test   %eax,%eax
445553:	0f 4e f0             	cmovle %eax,%esi
445556:	47                   	inc    %edi
445557:	85 f6                	test   %esi,%esi
445559:	78 c0                	js     0x44551b
44555b:	85 f6                	test   %esi,%esi
44555d:	79 10                	jns    0x44556f
44555f:	56                   	push   %esi
445560:	68 99 03 00 00       	push   $0x399
445565:	68 f8 67 46 00       	push   $0x4667f8
44556a:	e8 64 e2 fb ff       	call   0x4037d3
44556f:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
445573:	74 08                	je     0x44557d
445575:	ff 75 fc             	push   -0x4(%ebp)
445578:	e8 72 ff ff ff       	call   0x4454ef
44557d:	5f                   	pop    %edi
44557e:	8b c6                	mov    %esi,%eax
445580:	5e                   	pop    %esi
445581:	8b e5                	mov    %ebp,%esp
445583:	5d                   	pop    %ebp
445584:	c2 24 00             	ret    $0x24
445587:	55                   	push   %ebp
445588:	8b ec                	mov    %esp,%ebp
44558a:	51                   	push   %ecx
44558b:	56                   	push   %esi
44558c:	8d 45 fc             	lea    -0x4(%ebp),%eax
44558f:	33 f6                	xor    %esi,%esi
445591:	50                   	push   %eax
445592:	56                   	push   %esi
445593:	ff 75 0c             	push   0xc(%ebp)
445596:	89 75 fc             	mov    %esi,-0x4(%ebp)
445599:	ff 75 08             	push   0x8(%ebp)
44559c:	ff 15 38 a9 46 00    	call   *0x46a938
4455a2:	85 c0                	test   %eax,%eax
4455a4:	75 30                	jne    0x4455d6
4455a6:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4455ac:	0f b7 f0             	movzwl %ax,%esi
4455af:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4455b5:	85 c0                	test   %eax,%eax
4455b7:	0f 4e f0             	cmovle %eax,%esi
4455ba:	b8 05 40 00 80       	mov    $0x80004005,%eax
4455bf:	85 f6                	test   %esi,%esi
4455c1:	0f 49 f0             	cmovns %eax,%esi
4455c4:	56                   	push   %esi
4455c5:	6a 17                	push   $0x17
4455c7:	68 04 68 46 00       	push   $0x466804
4455cc:	e8 02 e2 fb ff       	call   0x4037d3
4455d1:	e9 85 00 00 00       	jmp    0x44565b
4455d6:	57                   	push   %edi
4455d7:	6a 01                	push   $0x1
4455d9:	ff 75 fc             	push   -0x4(%ebp)
4455dc:	e8 f3 e2 fb ff       	call   0x4038d4
4455e1:	8b f8                	mov    %eax,%edi
4455e3:	85 ff                	test   %edi,%edi
4455e5:	75 14                	jne    0x4455fb
4455e7:	be 0e 00 07 80       	mov    $0x8007000e,%esi
4455ec:	56                   	push   %esi
4455ed:	6a 1b                	push   $0x1b
4455ef:	68 04 68 46 00       	push   $0x466804
4455f4:	e8 da e1 fb ff       	call   0x4037d3
4455f9:	eb 5f                	jmp    0x44565a
4455fb:	8d 45 fc             	lea    -0x4(%ebp),%eax
4455fe:	50                   	push   %eax
4455ff:	57                   	push   %edi
445600:	ff 75 0c             	push   0xc(%ebp)
445603:	ff 75 08             	push   0x8(%ebp)
445606:	ff 15 38 a9 46 00    	call   *0x46a938
44560c:	85 c0                	test   %eax,%eax
44560e:	75 2d                	jne    0x44563d
445610:	ff 15 e8 b0 44 00    	call   *0x44b0e8
445616:	0f b7 f0             	movzwl %ax,%esi
445619:	81 ce 00 00 07 80    	or     $0x80070000,%esi
44561f:	85 c0                	test   %eax,%eax
445621:	0f 4e f0             	cmovle %eax,%esi
445624:	b8 05 40 00 80       	mov    $0x80004005,%eax
445629:	85 f6                	test   %esi,%esi
44562b:	0f 49 f0             	cmovns %eax,%esi
44562e:	56                   	push   %esi
44562f:	6a 1f                	push   $0x1f
445631:	68 04 68 46 00       	push   $0x466804
445636:	e8 98 e1 fb ff       	call   0x4037d3
44563b:	eb 13                	jmp    0x445650
44563d:	8b 45 10             	mov    0x10(%ebp),%eax
445640:	8b 4d 14             	mov    0x14(%ebp),%ecx
445643:	89 38                	mov    %edi,(%eax)
445645:	8b fe                	mov    %esi,%edi
445647:	85 c9                	test   %ecx,%ecx
445649:	74 0f                	je     0x44565a
44564b:	8b 45 fc             	mov    -0x4(%ebp),%eax
44564e:	89 01                	mov    %eax,(%ecx)
445650:	85 ff                	test   %edi,%edi
445652:	74 06                	je     0x44565a
445654:	57                   	push   %edi
445655:	e8 3f e3 fb ff       	call   0x403999
44565a:	5f                   	pop    %edi
44565b:	8b c6                	mov    %esi,%eax
44565d:	5e                   	pop    %esi
44565e:	8b e5                	mov    %ebp,%esp
445660:	5d                   	pop    %ebp
445661:	c2 10 00             	ret    $0x10
445664:	55                   	push   %ebp
445665:	8b ec                	mov    %esp,%ebp
445667:	51                   	push   %ecx
445668:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
44566c:	8d 45 fc             	lea    -0x4(%ebp),%eax
44566f:	56                   	push   %esi
445670:	50                   	push   %eax
445671:	ff 75 08             	push   0x8(%ebp)
445674:	68 14 68 46 00       	push   $0x466814
445679:	e8 fb d6 fb ff       	call   0x402d79
44567e:	8b f0                	mov    %eax,%esi
445680:	85 f6                	test   %esi,%esi
445682:	78 17                	js     0x44569b
445684:	ff 75 0c             	push   0xc(%ebp)
445687:	68 19 00 02 00       	push   $0x20019
44568c:	ff 75 fc             	push   -0x4(%ebp)
44568f:	68 02 00 00 80       	push   $0x80000002
445694:	e8 a6 b7 ff ff       	call   0x440e3f
445699:	8b f0                	mov    %eax,%esi
44569b:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
44569f:	74 08                	je     0x4456a9
4456a1:	ff 75 fc             	push   -0x4(%ebp)
4456a4:	e8 46 fe ff ff       	call   0x4454ef
4456a9:	8b c6                	mov    %esi,%eax
4456ab:	5e                   	pop    %esi
4456ac:	8b e5                	mov    %ebp,%esp
4456ae:	5d                   	pop    %ebp
4456af:	c2 08 00             	ret    $0x8
4456b2:	55                   	push   %ebp
4456b3:	8b ec                	mov    %esp,%ebp
4456b5:	51                   	push   %ecx
4456b6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4456ba:	8d 45 fc             	lea    -0x4(%ebp),%eax
4456bd:	53                   	push   %ebx
4456be:	56                   	push   %esi
4456bf:	57                   	push   %edi
4456c0:	50                   	push   %eax
4456c1:	ff 75 08             	push   0x8(%ebp)
4456c4:	e8 9b ff ff ff       	call   0x445664
4456c9:	8b 7d 14             	mov    0x14(%ebp),%edi
4456cc:	8b f0                	mov    %eax,%esi
4456ce:	81 fe 02 00 07 80    	cmp    $0x80070002,%esi
4456d4:	74 27                	je     0x4456fd
4456d6:	bb 03 00 07 80       	mov    $0x80070003,%ebx
4456db:	3b f3                	cmp    %ebx,%esi
4456dd:	74 1e                	je     0x4456fd
4456df:	85 f6                	test   %esi,%esi
4456e1:	78 1d                	js     0x445700
4456e3:	57                   	push   %edi
4456e4:	ff 75 0c             	push   0xc(%ebp)
4456e7:	ff 75 fc             	push   -0x4(%ebp)
4456ea:	e8 fd b7 ff ff       	call   0x440eec
4456ef:	8b f0                	mov    %eax,%esi
4456f1:	81 fe 02 00 07 80    	cmp    $0x80070002,%esi
4456f7:	74 04                	je     0x4456fd
4456f9:	3b f3                	cmp    %ebx,%esi
4456fb:	75 03                	jne    0x445700
4456fd:	33 f6                	xor    %esi,%esi
4456ff:	46                   	inc    %esi
445700:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
445704:	74 09                	je     0x44570f
445706:	ff 75 fc             	push   -0x4(%ebp)
445709:	ff 15 00 b0 44 00    	call   *0x44b000
44570f:	83 fe 01             	cmp    $0x1,%esi
445712:	74 04                	je     0x445718
445714:	85 f6                	test   %esi,%esi
445716:	79 05                	jns    0x44571d
445718:	8b 45 10             	mov    0x10(%ebp),%eax
44571b:	89 07                	mov    %eax,(%edi)
44571d:	5f                   	pop    %edi
44571e:	8b c6                	mov    %esi,%eax
445720:	5e                   	pop    %esi
445721:	5b                   	pop    %ebx
445722:	8b e5                	mov    %ebp,%esp
445724:	5d                   	pop    %ebp
445725:	c2 10 00             	ret    $0x10
445728:	55                   	push   %ebp
445729:	8b ec                	mov    %esp,%ebp
44572b:	51                   	push   %ecx
44572c:	53                   	push   %ebx
44572d:	56                   	push   %esi
44572e:	57                   	push   %edi
44572f:	8d 45 fc             	lea    -0x4(%ebp),%eax
445732:	33 db                	xor    %ebx,%ebx
445734:	50                   	push   %eax
445735:	ff 75 08             	push   0x8(%ebp)
445738:	89 5d fc             	mov    %ebx,-0x4(%ebp)
44573b:	e8 24 ff ff ff       	call   0x445664
445740:	8b 7d 14             	mov    0x14(%ebp),%edi
445743:	8b f0                	mov    %eax,%esi
445745:	81 fe 02 00 07 80    	cmp    $0x80070002,%esi
44574b:	74 2a                	je     0x445777
44574d:	81 fe 03 00 07 80    	cmp    $0x80070003,%esi
445753:	74 22                	je     0x445777
445755:	85 f6                	test   %esi,%esi
445757:	78 21                	js     0x44577a
445759:	57                   	push   %edi
44575a:	ff 75 0c             	push   0xc(%ebp)
44575d:	ff 75 fc             	push   -0x4(%ebp)
445760:	e8 09 b8 ff ff       	call   0x440f6e
445765:	8b f0                	mov    %eax,%esi
445767:	81 fe 02 00 07 80    	cmp    $0x80070002,%esi
44576d:	74 08                	je     0x445777
44576f:	81 fe 03 00 07 80    	cmp    $0x80070003,%esi
445775:	75 03                	jne    0x44577a
445777:	33 f6                	xor    %esi,%esi
445779:	46                   	inc    %esi
44577a:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
44577d:	74 0c                	je     0x44578b
44577f:	ff 75 fc             	push   -0x4(%ebp)
445782:	ff 15 00 b0 44 00    	call   *0x44b000
445788:	89 5d fc             	mov    %ebx,-0x4(%ebp)
44578b:	83 fe 01             	cmp    $0x1,%esi
44578e:	74 04                	je     0x445794
445790:	85 f6                	test   %esi,%esi
445792:	79 20                	jns    0x4457b4
445794:	39 5d 10             	cmp    %ebx,0x10(%ebp)
445797:	75 0f                	jne    0x4457a8
445799:	39 1f                	cmp    %ebx,(%edi)
44579b:	74 17                	je     0x4457b4
44579d:	ff 37                	push   (%edi)