4573f8:	56                   	push   %esi
4573f9:	e8 6e 9c fc ff       	call   0x42106c
4573fe:	59                   	pop    %ecx
4573ff:	8b c6                	mov    %esi,%eax
457401:	5e                   	pop    %esi
457402:	c2 04 00             	ret    $0x4
457405:	56                   	push   %esi
457406:	8b f1                	mov    %ecx,%esi
457408:	e8 cb a6 00 00       	call   0x461ad8
45740d:	56                   	push   %esi
45740e:	e8 59 9c fc ff       	call   0x42106c
457413:	59                   	pop    %ecx
457414:	8b c6                	mov    %esi,%eax
457416:	5e                   	pop    %esi
457417:	c2 04 00             	ret    $0x4
45741a:	56                   	push   %esi
45741b:	8b f1                	mov    %ecx,%esi
45741d:	8b 4e 0c             	mov    0xc(%esi),%ecx
457420:	c7 06 40 70 4b 00    	movl   $0x4b7040,(%esi)
457426:	85 c9                	test   %ecx,%ecx
457428:	74 06                	je     0x457430
45742a:	51                   	push   %ecx
45742b:	e8 c0 ff ff ff       	call   0x4573f0
457430:	8b 4e 10             	mov    0x10(%esi),%ecx
457433:	85 c9                	test   %ecx,%ecx
457435:	74 06                	je     0x45743d
457437:	51                   	push   %ecx
457438:	e8 c8 ff ff ff       	call   0x457405
45743d:	8d 4e 18             	lea    0x18(%esi),%ecx
457440:	e8 1f e6 fa ff       	call   0x405a64
457445:	56                   	push   %esi
457446:	e8 21 9c fc ff       	call   0x42106c
45744b:	59                   	pop    %ecx
45744c:	8b c6                	mov    %esi,%eax
45744e:	5e                   	pop    %esi
45744f:	c2 04 00             	ret    $0x4
457452:	55                   	push   %ebp
457453:	8b ec                	mov    %esp,%ebp
457455:	8b 4d 14             	mov    0x14(%ebp),%ecx
457458:	85 c9                	test   %ecx,%ecx
45745a:	74 2d                	je     0x457489
45745c:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
457460:	75 27                	jne    0x457489
457462:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
457466:	75 21                	jne    0x457489
457468:	8b 45 08             	mov    0x8(%ebp),%eax
45746b:	83 78 08 0c          	cmpl   $0xc,0x8(%eax)
45746f:	75 18                	jne    0x457489
457471:	6a 16                	push   $0x16
457473:	5a                   	pop    %edx
457474:	66 89 11             	mov    %dx,(%ecx)
457477:	8b 40 0c             	mov    0xc(%eax),%eax
45747a:	8b 40 0c             	mov    0xc(%eax),%eax
45747d:	48                   	dec    %eax
45747e:	c1 e8 02             	shr    $0x2,%eax
457481:	40                   	inc    %eax
457482:	89 41 08             	mov    %eax,0x8(%ecx)
457485:	33 c0                	xor    %eax,%eax
457487:	eb 05                	jmp    0x45748e
457489:	b8 01 40 00 80       	mov    $0x80004001,%eax
45748e:	5d                   	pop    %ebp
45748f:	c2 10 00             	ret    $0x10
457492:	55                   	push   %ebp
457493:	8b ec                	mov    %esp,%ebp
457495:	56                   	push   %esi
457496:	8b 75 14             	mov    0x14(%ebp),%esi
457499:	85 f6                	test   %esi,%esi
45749b:	74 51                	je     0x4574ee
45749d:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4574a1:	75 4b                	jne    0x4574ee
4574a3:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
4574a7:	75 45                	jne    0x4574ee
4574a9:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
4574ad:	75 3f                	jne    0x4574ee
4574af:	8b 4d 08             	mov    0x8(%ebp),%ecx
4574b2:	b8 00 80 00 00       	mov    $0x8000,%eax
4574b7:	66 89 06             	mov    %ax,(%esi)
4574ba:	66 0b 41 08          	or     0x8(%ecx),%ax
4574be:	66 89 06             	mov    %ax,(%esi)
4574c1:	8b 41 08             	mov    0x8(%ecx),%eax
4574c4:	83 e8 0c             	sub    $0xc,%eax
4574c7:	74 1b                	je     0x4574e4
4574c9:	48                   	dec    %eax
4574ca:	74 13                	je     0x4574df
4574cc:	48                   	dec    %eax
4574cd:	74 05                	je     0x4574d4
4574cf:	8b 41 10             	mov    0x10(%ecx),%eax
4574d2:	eb 13                	jmp    0x4574e7
4574d4:	ff 71 18             	push   0x18(%ecx)
4574d7:	ff 15 78 f4 48 00    	call   *0x48f478
4574dd:	eb 08                	jmp    0x4574e7
4574df:	8b 41 14             	mov    0x14(%ecx),%eax
4574e2:	eb 03                	jmp    0x4574e7
4574e4:	8b 41 0c             	mov    0xc(%ecx),%eax
4574e7:	89 46 08             	mov    %eax,0x8(%esi)
4574ea:	33 c0                	xor    %eax,%eax
4574ec:	eb 05                	jmp    0x4574f3
4574ee:	b8 57 00 07 80       	mov    $0x80070057,%eax
4574f3:	5e                   	pop    %esi
4574f4:	5d                   	pop    %ebp
4574f5:	c2 14 00             	ret    $0x14
4574f8:	55                   	push   %ebp
4574f9:	8b ec                	mov    %esp,%ebp
4574fb:	6a 10                	push   $0x10
4574fd:	68 ec 2b 49 00       	push   $0x492bec
457502:	ff 75 0c             	push   0xc(%ebp)
457505:	e8 ba a1 fc ff       	call   0x4216c4
45750a:	83 c4 0c             	add    $0xc,%esp
45750d:	85 c0                	test   %eax,%eax
45750f:	74 1d                	je     0x45752e
457511:	6a 10                	push   $0x10
457513:	68 1c 2c 49 00       	push   $0x492c1c
457518:	ff 75 0c             	push   0xc(%ebp)
45751b:	e8 a4 a1 fc ff       	call   0x4216c4
457520:	83 c4 0c             	add    $0xc,%esp
457523:	85 c0                	test   %eax,%eax
457525:	74 07                	je     0x45752e
457527:	b8 02 40 00 80       	mov    $0x80004002,%eax
45752c:	eb 12                	jmp    0x457540
45752e:	56                   	push   %esi
45752f:	8b 75 08             	mov    0x8(%ebp),%esi
457532:	56                   	push   %esi
457533:	8b 06                	mov    (%esi),%eax
457535:	ff 50 04             	call   *0x4(%eax)
457538:	8b 45 10             	mov    0x10(%ebp),%eax
45753b:	89 30                	mov    %esi,(%eax)
45753d:	33 c0                	xor    %eax,%eax
45753f:	5e                   	pop    %esi
457540:	5d                   	pop    %ebp
457541:	c2 0c 00             	ret    $0xc
457544:	55                   	push   %ebp
457545:	8b ec                	mov    %esp,%ebp
457547:	56                   	push   %esi
457548:	8b 75 08             	mov    0x8(%ebp),%esi
45754b:	8d 46 04             	lea    0x4(%esi),%eax
45754e:	50                   	push   %eax
45754f:	ff 15 50 f3 48 00    	call   *0x48f350
457555:	85 c0                	test   %eax,%eax
457557:	75 0e                	jne    0x457567
457559:	85 f6                	test   %esi,%esi
45755b:	74 08                	je     0x457565
45755d:	51                   	push   %ecx
45755e:	8b ce                	mov    %esi,%ecx
457560:	e8 b5 fe ff ff       	call   0x45741a
457565:	33 c0                	xor    %eax,%eax
457567:	5e                   	pop    %esi
457568:	5d                   	pop    %ebp
457569:	c2 04 00             	ret    $0x4
45756c:	8b 09                	mov    (%ecx),%ecx
45756e:	85 c9                	test   %ecx,%ecx
457570:	74 06                	je     0x457578
457572:	8b 01                	mov    (%ecx),%eax
457574:	51                   	push   %ecx
457575:	ff 50 08             	call   *0x8(%eax)
457578:	c3                   	ret
457579:	55                   	push   %ebp
45757a:	8b ec                	mov    %esp,%ebp
45757c:	51                   	push   %ecx
45757d:	51                   	push   %ecx
45757e:	85 c9                	test   %ecx,%ecx
457580:	75 0a                	jne    0x45758c
457582:	68 57 00 07 80       	push   $0x80070057
457587:	e8 a5 00 00 00       	call   0x457631
45758c:	8b 01                	mov    (%ecx),%eax
45758e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
457592:	56                   	push   %esi
457593:	57                   	push   %edi
457594:	6a 1d                	push   $0x1d
457596:	5e                   	pop    %esi
457597:	8d 7d fc             	lea    -0x4(%ebp),%edi
45759a:	57                   	push   %edi
45759b:	52                   	push   %edx
45759c:	51                   	push   %ecx
45759d:	ff 50 38             	call   *0x38(%eax)
4575a0:	85 c0                	test   %eax,%eax
4575a2:	79 09                	jns    0x4575ad
4575a4:	8b cf                	mov    %edi,%ecx
4575a6:	e8 c1 ff ff ff       	call   0x45756c
4575ab:	eb 7b                	jmp    0x457628
4575ad:	8b 45 fc             	mov    -0x4(%ebp),%eax
4575b0:	8d 55 f8             	lea    -0x8(%ebp),%edx
4575b3:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4575b7:	52                   	push   %edx
4575b8:	50                   	push   %eax
4575b9:	8b 08                	mov    (%eax),%ecx
4575bb:	ff 51 0c             	call   *0xc(%ecx)
4575be:	8b 55 f8             	mov    -0x8(%ebp),%edx
4575c1:	85 c0                	test   %eax,%eax
4575c3:	78 48                	js     0x45760d
4575c5:	85 d2                	test   %edx,%edx
4575c7:	74 52                	je     0x45761b
4575c9:	8b 42 28             	mov    0x28(%edx),%eax
4575cc:	83 f8 06             	cmp    $0x6,%eax
4575cf:	74 04                	je     0x4575d5
4575d1:	85 c0                	test   %eax,%eax
4575d3:	75 38                	jne    0x45760d
4575d5:	0f b7 4a 40          	movzwl 0x40(%edx),%ecx
4575d9:	66 3b ce             	cmp    %si,%cx
4575dc:	75 13                	jne    0x4575f1
4575de:	8b 52 3c             	mov    0x3c(%edx),%edx
4575e1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4575e4:	e8 90 ff ff ff       	call   0x457579
4575e9:	8b 55 f8             	mov    -0x8(%ebp),%edx
4575ec:	0f b7 f0             	movzwl %ax,%esi
4575ef:	eb 1c                	jmp    0x45760d
4575f1:	83 e8 00             	sub    $0x0,%eax
4575f4:	74 14                	je     0x45760a
4575f6:	83 e8 03             	sub    $0x3,%eax
4575f9:	74 0b                	je     0x457606
4575fb:	48                   	dec    %eax
4575fc:	74 04                	je     0x457602
4575fe:	8b f1                	mov    %ecx,%esi
457600:	eb 0b                	jmp    0x45760d
457602:	6a 09                	push   $0x9
457604:	eb 06                	jmp    0x45760c
457606:	6a 0d                	push   $0xd
457608:	eb 02                	jmp    0x45760c
45760a:	6a 03                	push   $0x3
45760c:	5e                   	pop    %esi
45760d:	85 d2                	test   %edx,%edx
45760f:	74 0a                	je     0x45761b
457611:	8b 45 fc             	mov    -0x4(%ebp),%eax
457614:	52                   	push   %edx
457615:	50                   	push   %eax
457616:	8b 08                	mov    (%eax),%ecx
457618:	ff 51 4c             	call   *0x4c(%ecx)
45761b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45761e:	85 c9                	test   %ecx,%ecx
457620:	74 06                	je     0x457628
457622:	8b 11                	mov    (%ecx),%edx
457624:	51                   	push   %ecx
457625:	ff 52 08             	call   *0x8(%edx)
457628:	5f                   	pop    %edi
457629:	66 8b c6             	mov    %si,%ax
45762c:	5e                   	pop    %esi
45762d:	8b e5                	mov    %ebp,%esp
45762f:	5d                   	pop    %ebp
457630:	c3                   	ret
457631:	55                   	push   %ebp
457632:	8b ec                	mov    %esp,%ebp
457634:	33 c0                	xor    %eax,%eax
457636:	81 7d 08 0e 00 07 80 	cmpl   $0x8007000e,0x8(%ebp)
45763d:	6a 01                	push   $0x1
45763f:	0f 94 c0             	sete   %al
457642:	48                   	dec    %eax
457643:	83 e0 06             	and    $0x6,%eax
457646:	05 17 00 00 c0       	add    $0xc0000017,%eax
45764b:	50                   	push   %eax
45764c:	e8 bd 0a 00 00       	call   0x45810e
457651:	cc                   	int3
457652:	55                   	push   %ebp
457653:	8b ec                	mov    %esp,%ebp
457655:	51                   	push   %ecx
457656:	53                   	push   %ebx
457657:	56                   	push   %esi
457658:	8b 75 08             	mov    0x8(%ebp),%esi
45765b:	8b c2                	mov    %edx,%eax
45765d:	89 45 fc             	mov    %eax,-0x4(%ebp)
457660:	8b d9                	mov    %ecx,%ebx
457662:	57                   	push   %edi
457663:	85 f6                	test   %esi,%esi
457665:	74 06                	je     0x45766d
457667:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
45766d:	50                   	push   %eax
45766e:	53                   	push   %ebx
45766f:	ff 15 38 f8 48 00    	call   *0x48f838
457675:	8b f8                	mov    %eax,%edi
457677:	85 ff                	test   %edi,%edi
457679:	78 35                	js     0x4576b0
45767b:	85 f6                	test   %esi,%esi
45767d:	74 3d                	je     0x4576bc
45767f:	83 65 08 00          	andl   $0x0,0x8(%ebp)
457683:	8d 45 08             	lea    0x8(%ebp),%eax
457686:	50                   	push   %eax
457687:	ff 75 fc             	push   -0x4(%ebp)
45768a:	ff 15 34 f8 48 00    	call   *0x48f834
457690:	85 c0                	test   %eax,%eax
457692:	78 28                	js     0x4576bc
457694:	ff 75 08             	push   0x8(%ebp)
457697:	53                   	push   %ebx
457698:	ff 15 38 f3 48 00    	call   *0x48f338
45769e:	85 c0                	test   %eax,%eax
4576a0:	74 03                	je     0x4576a5
4576a2:	83 26 00             	andl   $0x0,(%esi)
4576a5:	ff 75 08             	push   0x8(%ebp)
4576a8:	ff 15 2c f8 48 00    	call   *0x48f82c
4576ae:	eb 0c                	jmp    0x4576bc
4576b0:	ff 75 fc             	push   -0x4(%ebp)
4576b3:	53                   	push   %ebx
4576b4:	ff 15 30 f8 48 00    	call   *0x48f830
4576ba:	8b f8                	mov    %eax,%edi
4576bc:	8b c7                	mov    %edi,%eax
4576be:	5f                   	pop    %edi
4576bf:	5e                   	pop    %esi
4576c0:	5b                   	pop    %ebx
4576c1:	8b e5                	mov    %ebp,%esp
4576c3:	5d                   	pop    %ebp
4576c4:	c3                   	ret
4576c5:	55                   	push   %ebp
4576c6:	8b ec                	mov    %esp,%ebp
4576c8:	83 ec 18             	sub    $0x18,%esp
4576cb:	8b 45 10             	mov    0x10(%ebp),%eax
4576ce:	53                   	push   %ebx
4576cf:	56                   	push   %esi
4576d0:	57                   	push   %edi
4576d1:	8b fa                	mov    %edx,%edi
4576d3:	33 db                	xor    %ebx,%ebx
4576d5:	33 d2                	xor    %edx,%edx
4576d7:	89 18                	mov    %ebx,(%eax)
4576d9:	89 50 0c             	mov    %edx,0xc(%eax)
4576dc:	8d 55 fc             	lea    -0x4(%ebp),%edx
4576df:	8b 01                	mov    (%ecx),%eax
4576e1:	52                   	push   %edx
4576e2:	68 00 08 00 00       	push   $0x800
4576e7:	53                   	push   %ebx
4576e8:	51                   	push   %ecx
4576e9:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4576ec:	ff 50 10             	call   *0x10(%eax)
4576ef:	8b f0                	mov    %eax,%esi
4576f1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4576f4:	85 f6                	test   %esi,%esi
4576f6:	0f 88 0f 03 00 00    	js     0x457a0b
4576fc:	85 c0                	test   %eax,%eax
4576fe:	75 0a                	jne    0x45770a
457700:	be 01 40 00 80       	mov    $0x80004001,%esi
457705:	e9 01 03 00 00       	jmp    0x457a0b
45770a:	89 5d f8             	mov    %ebx,-0x8(%ebp)
45770d:	8d 55 f4             	lea    -0xc(%ebp),%edx
457710:	8b 08                	mov    (%eax),%ecx
457712:	52                   	push   %edx
457713:	50                   	push   %eax
457714:	ff 51 0c             	call   *0xc(%ecx)
457717:	8b f0                	mov    %eax,%esi
457719:	85 f6                	test   %esi,%esi
45771b:	0f 88 e7 02 00 00    	js     0x457a08
457721:	8b 55 f4             	mov    -0xc(%ebp),%edx
457724:	83 7a 28 03          	cmpl   $0x3,0x28(%edx)
457728:	0f 85 ad 00 00 00    	jne    0x4577db
45772e:	f6 42 36 40          	testb  $0x40,0x36(%edx)
457732:	0f 84 a3 00 00 00    	je     0x4577db
457738:	8b 45 fc             	mov    -0x4(%ebp),%eax
45773b:	52                   	push   %edx
45773c:	50                   	push   %eax
45773d:	8b 08                	mov    (%eax),%ecx
45773f:	ff 51 4c             	call   *0x4c(%ecx)
457742:	8b 45 fc             	mov    -0x4(%ebp),%eax
457745:	8d 55 e8             	lea    -0x18(%ebp),%edx
457748:	52                   	push   %edx
457749:	6a ff                	push   $0xffffffff
45774b:	50                   	push   %eax