421489:	57                   	push   %edi
42148a:	8b 7d 08             	mov    0x8(%ebp),%edi
42148d:	33 db                	xor    %ebx,%ebx
42148f:	53                   	push   %ebx
421490:	ff 75 0c             	push   0xc(%ebp)
421493:	83 4f 3c ff          	orl    $0xffffffff,0x3c(%edi)
421497:	8d 47 1c             	lea    0x1c(%edi),%eax
42149a:	50                   	push   %eax
42149b:	e8 05 0d fe ff       	call   0x4021a5
4214a0:	8b f0                	mov    %eax,%esi
4214a2:	85 f6                	test   %esi,%esi
4214a4:	79 0a                	jns    0x4214b0
4214a6:	68 9c a7 45 00       	push   $0x45a79c
4214ab:	e9 ec 00 00 00       	jmp    0x42159c
4214b0:	8b 35 00 b2 44 00    	mov    0x44b200,%esi
4214b6:	53                   	push   %ebx
4214b7:	53                   	push   %ebx
4214b8:	6a 01                	push   $0x1
4214ba:	53                   	push   %ebx
4214bb:	ff d6                	call   *%esi
4214bd:	89 47 24             	mov    %eax,0x24(%edi)
4214c0:	85 c0                	test   %eax,%eax
4214c2:	75 38                	jne    0x4214fc
4214c4:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4214ca:	0f b7 f0             	movzwl %ax,%esi
4214cd:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4214d3:	85 c0                	test   %eax,%eax
4214d5:	0f 4e f0             	cmovle %eax,%esi
4214d8:	b8 05 40 00 80       	mov    $0x80004005,%eax
4214dd:	85 f6                	test   %esi,%esi
4214df:	0f 49 f0             	cmovns %eax,%esi
4214e2:	56                   	push   %esi
4214e3:	68 8c 00 00 00       	push   $0x8c
4214e8:	68 b8 a7 45 00       	push   $0x45a7b8
4214ed:	e8 e1 22 fe ff       	call   0x4037d3
4214f2:	68 c8 a7 45 00       	push   $0x45a7c8
4214f7:	e9 a0 00 00 00       	jmp    0x42159c
4214fc:	53                   	push   %ebx
4214fd:	53                   	push   %ebx
4214fe:	6a 01                	push   $0x1
421500:	53                   	push   %ebx
421501:	ff d6                	call   *%esi
421503:	89 47 28             	mov    %eax,0x28(%edi)
421506:	85 c0                	test   %eax,%eax
421508:	75 35                	jne    0x42153f
42150a:	ff 15 e8 b0 44 00    	call   *0x44b0e8
421510:	0f b7 f0             	movzwl %ax,%esi
421513:	81 ce 00 00 07 80    	or     $0x80070000,%esi
421519:	85 c0                	test   %eax,%eax
42151b:	0f 4e f0             	cmovle %eax,%esi
42151e:	b8 05 40 00 80       	mov    $0x80004005,%eax
421523:	85 f6                	test   %esi,%esi
421525:	0f 49 f0             	cmovns %eax,%esi
421528:	56                   	push   %esi
421529:	68 8f 00 00 00       	push   $0x8f
42152e:	68 b8 a7 45 00       	push   $0x45a7b8
421533:	e8 9b 22 fe ff       	call   0x4037d3
421538:	68 f0 a7 45 00       	push   $0x45a7f0
42153d:	eb 5d                	jmp    0x42159c
42153f:	53                   	push   %ebx
421540:	53                   	push   %ebx
421541:	57                   	push   %edi
421542:	68 43 0e 42 00       	push   $0x420e43
421547:	53                   	push   %ebx
421548:	53                   	push   %ebx
421549:	ff 15 20 b2 44 00    	call   *0x44b220
42154f:	89 47 20             	mov    %eax,0x20(%edi)
421552:	85 c0                	test   %eax,%eax
421554:	75 35                	jne    0x42158b
421556:	ff 15 e8 b0 44 00    	call   *0x44b0e8
42155c:	0f b7 f0             	movzwl %ax,%esi
42155f:	81 ce 00 00 07 80    	or     $0x80070000,%esi
421565:	85 c0                	test   %eax,%eax
421567:	0f 4e f0             	cmovle %eax,%esi
42156a:	b8 05 40 00 80       	mov    $0x80004005,%eax
42156f:	85 f6                	test   %esi,%esi
421571:	0f 49 f0             	cmovns %eax,%esi
421574:	56                   	push   %esi
421575:	68 93 00 00 00       	push   $0x93
42157a:	68 b8 a7 45 00       	push   $0x45a7b8
42157f:	e8 4f 22 fe ff       	call   0x4037d3
421584:	68 1c a8 45 00       	push   $0x45a81c
421589:	eb 11                	jmp    0x42159c
42158b:	57                   	push   %edi
42158c:	e8 93 fc ff ff       	call   0x421224
421591:	8b f0                	mov    %eax,%esi
421593:	85 f6                	test   %esi,%esi
421595:	79 0d                	jns    0x4215a4
421597:	68 40 a8 45 00       	push   $0x45a840
42159c:	56                   	push   %esi
42159d:	e8 8d eb 01 00       	call   0x44012f
4215a2:	59                   	pop    %ecx
4215a3:	59                   	pop    %ecx
4215a4:	5f                   	pop    %edi
4215a5:	8b c6                	mov    %esi,%eax
4215a7:	5e                   	pop    %esi
4215a8:	5b                   	pop    %ebx
4215a9:	5d                   	pop    %ebp
4215aa:	c2 08 00             	ret    $0x8
4215ad:	55                   	push   %ebp
4215ae:	8b ec                	mov    %esp,%ebp
4215b0:	8b 45 08             	mov    0x8(%ebp),%eax
4215b3:	56                   	push   %esi
4215b4:	50                   	push   %eax
4215b5:	c7 40 2c 04 00 00 00 	movl   $0x4,0x2c(%eax)
4215bc:	e8 59 ef ff ff       	call   0x42051a
4215c1:	8b f0                	mov    %eax,%esi
4215c3:	85 f6                	test   %esi,%esi
4215c5:	79 0d                	jns    0x4215d4
4215c7:	68 68 a8 45 00       	push   $0x45a868
4215cc:	56                   	push   %esi
4215cd:	e8 5d eb 01 00       	call   0x44012f
4215d2:	59                   	pop    %ecx
4215d3:	59                   	pop    %ecx
4215d4:	8b c6                	mov    %esi,%eax
4215d6:	5e                   	pop    %esi
4215d7:	5d                   	pop    %ebp
4215d8:	c2 04 00             	ret    $0x4
4215db:	55                   	push   %ebp
4215dc:	8b ec                	mov    %esp,%ebp
4215de:	56                   	push   %esi
4215df:	8b 75 08             	mov    0x8(%ebp),%esi
4215e2:	57                   	push   %edi
4215e3:	56                   	push   %esi
4215e4:	c7 46 2c 03 00 00 00 	movl   $0x3,0x2c(%esi)
4215eb:	e8 2a ef ff ff       	call   0x42051a
4215f0:	8b f8                	mov    %eax,%edi
4215f2:	85 ff                	test   %edi,%edi
4215f4:	79 0f                	jns    0x421605
4215f6:	68 68 a8 45 00       	push   $0x45a868
4215fb:	57                   	push   %edi
4215fc:	e8 2e eb 01 00       	call   0x44012f
421601:	59                   	pop    %ecx
421602:	59                   	pop    %ecx
421603:	eb 1b                	jmp    0x421620
421605:	8b 45 0c             	mov    0xc(%ebp),%eax
421608:	8b 4e 40             	mov    0x40(%esi),%ecx
42160b:	89 08                	mov    %ecx,(%eax)
42160d:	8b 45 10             	mov    0x10(%ebp),%eax
421610:	8b 4e 44             	mov    0x44(%esi),%ecx
421613:	89 08                	mov    %ecx,(%eax)
421615:	33 c0                	xor    %eax,%eax
421617:	89 46 40             	mov    %eax,0x40(%esi)
42161a:	89 46 44             	mov    %eax,0x44(%esi)
42161d:	89 46 48             	mov    %eax,0x48(%esi)
421620:	8b c7                	mov    %edi,%eax
421622:	5f                   	pop    %edi
421623:	5e                   	pop    %esi
421624:	5d                   	pop    %ebp
421625:	c2 0c 00             	ret    $0xc
421628:	55                   	push   %ebp
421629:	8b ec                	mov    %esp,%ebp
42162b:	8b 45 0c             	mov    0xc(%ebp),%eax
42162e:	56                   	push   %esi
42162f:	8b 75 08             	mov    0x8(%ebp),%esi
421632:	57                   	push   %edi
421633:	56                   	push   %esi
421634:	c7 46 2c 02 00 00 00 	movl   $0x2,0x2c(%esi)
42163b:	89 46 38             	mov    %eax,0x38(%esi)
42163e:	e8 d7 ee ff ff       	call   0x42051a
421643:	8b f8                	mov    %eax,%edi
421645:	85 ff                	test   %edi,%edi
421647:	79 0f                	jns    0x421658
421649:	68 68 a8 45 00       	push   $0x45a868
42164e:	57                   	push   %edi
42164f:	e8 db ea 01 00       	call   0x44012f
421654:	59                   	pop    %ecx
421655:	59                   	pop    %ecx
421656:	eb 04                	jmp    0x42165c
421658:	83 66 38 00          	andl   $0x0,0x38(%esi)
42165c:	8b c7                	mov    %edi,%eax
42165e:	5f                   	pop    %edi
42165f:	5e                   	pop    %esi
421660:	5d                   	pop    %ebp
421661:	c2 08 00             	ret    $0x8
421664:	55                   	push   %ebp
421665:	8b ec                	mov    %esp,%ebp
421667:	56                   	push   %esi
421668:	8b 75 14             	mov    0x14(%ebp),%esi
42166b:	85 f6                	test   %esi,%esi
42166d:	75 04                	jne    0x421673
42166f:	33 c0                	xor    %eax,%eax
421671:	eb 6d                	jmp    0x4216e0
421673:	8b 45 08             	mov    0x8(%ebp),%eax
421676:	85 c0                	test   %eax,%eax
421678:	75 13                	jne    0x42168d
42167a:	e8 b7 27 01 00       	call   0x433e36
42167f:	6a 16                	push   $0x16
421681:	5e                   	pop    %esi
421682:	89 30                	mov    %esi,(%eax)
421684:	e8 f1 26 01 00       	call   0x433d7a
421689:	8b c6                	mov    %esi,%eax
42168b:	eb 53                	jmp    0x4216e0
42168d:	57                   	push   %edi
42168e:	8b 7d 10             	mov    0x10(%ebp),%edi
421691:	85 ff                	test   %edi,%edi
421693:	74 14                	je     0x4216a9
421695:	39 75 0c             	cmp    %esi,0xc(%ebp)
421698:	72 0f                	jb     0x4216a9
42169a:	56                   	push   %esi
42169b:	57                   	push   %edi
42169c:	50                   	push   %eax
42169d:	e8 4e da 00 00       	call   0x42f0f0
4216a2:	83 c4 0c             	add    $0xc,%esp
4216a5:	33 c0                	xor    %eax,%eax
4216a7:	eb 36                	jmp    0x4216df
4216a9:	ff 75 0c             	push   0xc(%ebp)
4216ac:	6a 00                	push   $0x0
4216ae:	50                   	push   %eax
4216af:	e8 bc df 00 00       	call   0x42f670
4216b4:	83 c4 0c             	add    $0xc,%esp
4216b7:	85 ff                	test   %edi,%edi
4216b9:	75 09                	jne    0x4216c4
4216bb:	e8 76 27 01 00       	call   0x433e36
4216c0:	6a 16                	push   $0x16
4216c2:	eb 0c                	jmp    0x4216d0
4216c4:	39 75 0c             	cmp    %esi,0xc(%ebp)
4216c7:	73 13                	jae    0x4216dc
4216c9:	e8 68 27 01 00       	call   0x433e36
4216ce:	6a 22                	push   $0x22
4216d0:	5e                   	pop    %esi
4216d1:	89 30                	mov    %esi,(%eax)
4216d3:	e8 a2 26 01 00       	call   0x433d7a
4216d8:	8b c6                	mov    %esi,%eax
4216da:	eb 03                	jmp    0x4216df
4216dc:	6a 16                	push   $0x16
4216de:	58                   	pop    %eax
4216df:	5f                   	pop    %edi
4216e0:	5e                   	pop    %esi
4216e1:	5d                   	pop    %ebp
4216e2:	c3                   	ret
4216e3:	55                   	push   %ebp
4216e4:	8b ec                	mov    %esp,%ebp
4216e6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4216e9:	33 d2                	xor    %edx,%edx
4216eb:	53                   	push   %ebx
4216ec:	56                   	push   %esi
4216ed:	8b 75 08             	mov    0x8(%ebp),%esi
4216f0:	8b c2                	mov    %edx,%eax
4216f2:	57                   	push   %edi
4216f3:	8b fa                	mov    %edx,%edi
4216f5:	8b 9e b8 00 00 00    	mov    0xb8(%esi),%ebx
4216fb:	85 db                	test   %ebx,%ebx
4216fd:	74 24                	je     0x421723
4216ff:	8b b6 b4 00 00 00    	mov    0xb4(%esi),%esi
421705:	39 56 08             	cmp    %edx,0x8(%esi)
421708:	74 04                	je     0x42170e
42170a:	8b 06                	mov    (%esi),%eax
42170c:	eb 05                	jmp    0x421713
42170e:	3b 4e 04             	cmp    0x4(%esi),%ecx
421711:	74 0a                	je     0x42171d
421713:	47                   	inc    %edi
421714:	83 c6 0c             	add    $0xc,%esi
421717:	3b fb                	cmp    %ebx,%edi
421719:	72 ea                	jb     0x421705
42171b:	eb 02                	jmp    0x42171f
42171d:	8b 06                	mov    (%esi),%eax
42171f:	85 c0                	test   %eax,%eax
421721:	75 44                	jne    0x421767
421723:	85 c9                	test   %ecx,%ecx
421725:	75 05                	jne    0x42172c
421727:	33 c0                	xor    %eax,%eax
421729:	40                   	inc    %eax
42172a:	eb 3b                	jmp    0x421767
42172c:	81 f9 c2 0b 00 00    	cmp    $0xbc2,%ecx
421732:	74 30                	je     0x421764
421734:	81 f9 c2 0b 07 80    	cmp    $0x80070bc2,%ecx
42173a:	74 28                	je     0x421764
42173c:	81 f9 c3 0b 00 00    	cmp    $0xbc3,%ecx
421742:	74 20                	je     0x421764
421744:	81 f9 c3 0b 07 80    	cmp    $0x80070bc3,%ecx
42174a:	74 18                	je     0x421764
42174c:	81 f9 69 06 00 00    	cmp    $0x669,%ecx
421752:	74 0c                	je     0x421760
421754:	81 f9 69 06 07 80    	cmp    $0x80070669,%ecx
42175a:	74 04                	je     0x421760
42175c:	6a 02                	push   $0x2
42175e:	eb 06                	jmp    0x421766
421760:	6a 04                	push   $0x4
421762:	eb 02                	jmp    0x421766
421764:	6a 03                	push   $0x3
421766:	58                   	pop    %eax
421767:	5f                   	pop    %edi
421768:	5e                   	pop    %esi
421769:	5b                   	pop    %ebx
42176a:	83 e8 01             	sub    $0x1,%eax
42176d:	74 4a                	je     0x4217b9
42176f:	83 e8 01             	sub    $0x1,%eax
421772:	74 27                	je     0x42179b
421774:	83 e8 01             	sub    $0x1,%eax
421777:	74 17                	je     0x421790
421779:	83 e8 01             	sub    $0x1,%eax
42177c:	74 07                	je     0x421785
42177e:	ba ff ff 00 80       	mov    $0x8000ffff,%edx
421783:	eb 39                	jmp    0x4217be
421785:	8b 45 10             	mov    0x10(%ebp),%eax
421788:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
42178e:	eb 2e                	jmp    0x4217be
421790:	8b 45 10             	mov    0x10(%ebp),%eax
421793:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
421799:	eb 23                	jmp    0x4217be
42179b:	8b 45 10             	mov    0x10(%ebp),%eax
42179e:	89 10                	mov    %edx,(%eax)
4217a0:	0f b7 d1             	movzwl %cx,%edx
4217a3:	81 ca 00 00 07 80    	or     $0x80070000,%edx
4217a9:	85 c9                	test   %ecx,%ecx
4217ab:	0f 4e d1             	cmovle %ecx,%edx
4217ae:	85 d2                	test   %edx,%edx
4217b0:	78 0c                	js     0x4217be
4217b2:	ba 05 40 00 80       	mov    $0x80004005,%edx
4217b7:	eb 05                	jmp    0x4217be
4217b9:	8b 4d 10             	mov    0x10(%ebp),%ecx
4217bc:	89 11                	mov    %edx,(%ecx)
4217be:	8b c2                	mov    %edx,%eax
4217c0:	5d                   	pop    %ebp
4217c1:	c2 0c 00             	ret    $0xc
4217c4:	55                   	push   %ebp
4217c5:	8b ec                	mov    %esp,%ebp
4217c7:	83 ec 0c             	sub    $0xc,%esp
4217ca:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4217ce:	8d 45 f4             	lea    -0xc(%ebp),%eax
4217d1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4217d5:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4217d9:	56                   	push   %esi
4217da:	50                   	push   %eax
4217db:	68 c4 b4 45 00       	push   $0x45b4c4
4217e0:	ff 75 08             	push   0x8(%ebp)
4217e3:	e8 1b 20 02 00       	call   0x443803
4217e8:	8b f0                	mov    %eax,%esi
4217ea:	85 f6                	test   %esi,%esi
4217ec:	79 12                	jns    0x421800
4217ee:	68 dc b4 45 00       	push   $0x45b4dc
4217f3:	56                   	push   %esi
4217f4:	e8 36 e9 01 00       	call   0x44012f
4217f9:	59                   	pop    %ecx
4217fa:	59                   	pop    %ecx
4217fb:	e9 22 01 00 00       	jmp    0x421922
421800:	8b 45 f4             	mov    -0xc(%ebp),%eax
421803:	8d 55 f8             	lea    -0x8(%ebp),%edx
421806:	52                   	push   %edx
421807:	50                   	push   %eax
421808:	8b 08                	mov    (%eax),%ecx
42180a:	ff 51 20             	call   *0x20(%ecx)
42180d:	8b f0                	mov    %eax,%esi
42180f:	85 f6                	test   %esi,%esi
421811:	79 07                	jns    0x42181a
421813:	68 0c b5 45 00       	push   $0x45b50c
421818:	eb d9                	jmp    0x4217f3
42181a:	8b 45 f8             	mov    -0x8(%ebp),%eax
42181d:	53                   	push   %ebx