415350:	6a 00                	push   $0x0
415352:	ff 75 10             	push   0x10(%ebp)
415355:	ff 75 0c             	push   0xc(%ebp)
415358:	ff 75 08             	push   0x8(%ebp)
41535b:	ff 35 74 19 42 00    	push   0x421974
415361:	ff 15 08 90 41 00    	call   *0x419008
415367:	8b f0                	mov    %eax,%esi
415369:	85 f6                	test   %esi,%esi
41536b:	75 2d                	jne    0x41539a
41536d:	ff 15 28 90 41 00    	call   *0x419028
415373:	83 f8 06             	cmp    $0x6,%eax
415376:	75 22                	jne    0x41539a
415378:	e8 b6 ff ff ff       	call   0x415333
41537d:	e8 73 ff ff ff       	call   0x4152f5
415382:	56                   	push   %esi
415383:	ff 75 10             	push   0x10(%ebp)
415386:	ff 75 0c             	push   0xc(%ebp)
415389:	ff 75 08             	push   0x8(%ebp)
41538c:	ff 35 74 19 42 00    	push   0x421974
415392:	ff 15 08 90 41 00    	call   *0x419008
415398:	8b f0                	mov    %eax,%esi
41539a:	8b c6                	mov    %esi,%eax
41539c:	5e                   	pop    %esi
41539d:	5d                   	pop    %ebp
41539e:	c3                   	ret
41539f:	8b ff                	mov    %edi,%edi
4153a1:	55                   	push   %ebp
4153a2:	8b ec                	mov    %esp,%ebp
4153a4:	b8 ff ff 00 00       	mov    $0xffff,%eax
4153a9:	83 ec 14             	sub    $0x14,%esp
4153ac:	66 39 45 08          	cmp    %ax,0x8(%ebp)
4153b0:	0f 84 bb 00 00 00    	je     0x415471
4153b6:	56                   	push   %esi
4153b7:	ff 75 0c             	push   0xc(%ebp)
4153ba:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4153bd:	e8 60 91 ff ff       	call   0x40e522
4153c2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4153c5:	be 00 01 00 00       	mov    $0x100,%esi
4153ca:	66 8b 45 08          	mov    0x8(%ebp),%ax
4153ce:	81 79 08 e9 fd 00 00 	cmpl   $0xfde9,0x8(%ecx)
4153d5:	75 29                	jne    0x415400
4153d7:	8d 56 80             	lea    -0x80(%esi),%edx
4153da:	66 3b c2             	cmp    %dx,%ax
4153dd:	73 55                	jae    0x415434
4153df:	0f b6 d0             	movzbl %al,%edx
4153e2:	f6 04 55 f2 b5 41 00 	testb  $0x1,0x41b5f2(,%edx,2)
4153e9:	01
4153ea:	74 0c                	je     0x4153f8
4153ec:	8b 81 94 00 00 00    	mov    0x94(%ecx),%eax
4153f2:	0f b6 04 10          	movzbl (%eax,%edx,1),%eax
4153f6:	eb 03                	jmp    0x4153fb
4153f8:	0f b6 c0             	movzbl %al,%eax
4153fb:	0f b7 c0             	movzwl %ax,%eax
4153fe:	eb 2c                	jmp    0x41542c
415400:	66 3b c6             	cmp    %si,%ax
415403:	73 1e                	jae    0x415423
415405:	0f b6 d0             	movzbl %al,%edx
415408:	f6 04 55 f2 b5 41 00 	testb  $0x1,0x41b5f2(,%edx,2)
41540f:	01
415410:	74 0c                	je     0x41541e
415412:	8b 81 94 00 00 00    	mov    0x94(%ecx),%eax
415418:	0f b6 04 10          	movzbl (%eax,%edx,1),%eax
41541c:	eb 0e                	jmp    0x41542c
41541e:	0f b6 c0             	movzbl %al,%eax
415421:	eb 09                	jmp    0x41542c
415423:	83 b9 a8 00 00 00 00 	cmpl   $0x0,0xa8(%ecx)
41542a:	75 08                	jne    0x415434
41542c:	0f b7 c0             	movzwl %ax,%eax
41542f:	0f b7 c0             	movzwl %ax,%eax
415432:	eb 23                	jmp    0x415457
415434:	6a 01                	push   $0x1
415436:	8d 45 fc             	lea    -0x4(%ebp),%eax
415439:	50                   	push   %eax
41543a:	6a 01                	push   $0x1
41543c:	8d 45 08             	lea    0x8(%ebp),%eax
41543f:	50                   	push   %eax
415440:	56                   	push   %esi
415441:	ff b1 a8 00 00 00    	push   0xa8(%ecx)
415447:	e8 e4 0b 00 00       	call   0x416030
41544c:	83 c4 18             	add    $0x18,%esp
41544f:	85 c0                	test   %eax,%eax
415451:	75 09                	jne    0x41545c
415453:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
415457:	0f b7 c0             	movzwl %ax,%eax
41545a:	eb 04                	jmp    0x415460
41545c:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
415460:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
415464:	5e                   	pop    %esi
415465:	74 0a                	je     0x415471
415467:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41546a:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
415471:	c9                   	leave
415472:	c3                   	ret
415473:	cc                   	int3
415474:	cc                   	int3
415475:	cc                   	int3
415476:	cc                   	int3
415477:	cc                   	int3
415478:	cc                   	int3
415479:	cc                   	int3
41547a:	cc                   	int3
41547b:	cc                   	int3
41547c:	cc                   	int3
41547d:	cc                   	int3
41547e:	cc                   	int3
41547f:	cc                   	int3
415480:	55                   	push   %ebp
415481:	8b ec                	mov    %esp,%ebp
415483:	57                   	push   %edi
415484:	56                   	push   %esi
415485:	53                   	push   %ebx
415486:	8b 4d 10             	mov    0x10(%ebp),%ecx
415489:	0b c9                	or     %ecx,%ecx
41548b:	74 4d                	je     0x4154da
41548d:	8b 75 08             	mov    0x8(%ebp),%esi
415490:	8b 7d 0c             	mov    0xc(%ebp),%edi
415493:	b7 41                	mov    $0x41,%bh
415495:	b3 5a                	mov    $0x5a,%bl
415497:	b6 20                	mov    $0x20,%dh
415499:	8d 49 00             	lea    0x0(%ecx),%ecx
41549c:	8a 26                	mov    (%esi),%ah
41549e:	0a e4                	or     %ah,%ah
4154a0:	8a 07                	mov    (%edi),%al
4154a2:	74 27                	je     0x4154cb
4154a4:	0a c0                	or     %al,%al
4154a6:	74 23                	je     0x4154cb
4154a8:	83 c6 01             	add    $0x1,%esi
4154ab:	83 c7 01             	add    $0x1,%edi
4154ae:	3a e7                	cmp    %bh,%ah
4154b0:	72 06                	jb     0x4154b8
4154b2:	3a e3                	cmp    %bl,%ah
4154b4:	77 02                	ja     0x4154b8
4154b6:	02 e6                	add    %dh,%ah
4154b8:	3a c7                	cmp    %bh,%al
4154ba:	72 06                	jb     0x4154c2
4154bc:	3a c3                	cmp    %bl,%al
4154be:	77 02                	ja     0x4154c2
4154c0:	02 c6                	add    %dh,%al
4154c2:	3a e0                	cmp    %al,%ah
4154c4:	75 0b                	jne    0x4154d1
4154c6:	83 e9 01             	sub    $0x1,%ecx
4154c9:	75 d1                	jne    0x41549c
4154cb:	33 c9                	xor    %ecx,%ecx
4154cd:	3a e0                	cmp    %al,%ah
4154cf:	74 09                	je     0x4154da
4154d1:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
4154d6:	72 02                	jb     0x4154da
4154d8:	f7 d9                	neg    %ecx
4154da:	8b c1                	mov    %ecx,%eax
4154dc:	5b                   	pop    %ebx
4154dd:	5e                   	pop    %esi
4154de:	5f                   	pop    %edi
4154df:	c9                   	leave
4154e0:	c3                   	ret
4154e1:	8b ff                	mov    %edi,%edi
4154e3:	55                   	push   %ebp
4154e4:	8b ec                	mov    %esp,%ebp
4154e6:	53                   	push   %ebx
4154e7:	56                   	push   %esi
4154e8:	8b 75 08             	mov    0x8(%ebp),%esi
4154eb:	33 db                	xor    %ebx,%ebx
4154ed:	57                   	push   %edi
4154ee:	6a 01                	push   $0x1
4154f0:	53                   	push   %ebx
4154f1:	53                   	push   %ebx
4154f2:	56                   	push   %esi
4154f3:	8b f9                	mov    %ecx,%edi
4154f5:	e8 45 b9 ff ff       	call   0x410e3f
4154fa:	6a 02                	push   $0x2
4154fc:	53                   	push   %ebx
4154fd:	53                   	push   %ebx
4154fe:	56                   	push   %esi
4154ff:	89 07                	mov    %eax,(%edi)
415501:	89 57 04             	mov    %edx,0x4(%edi)
415504:	e8 36 b9 ff ff       	call   0x410e3f
415509:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41550c:	83 c4 20             	add    $0x20,%esp
41550f:	89 47 08             	mov    %eax,0x8(%edi)
415512:	2b c8                	sub    %eax,%ecx
415514:	8b 45 10             	mov    0x10(%ebp),%eax
415517:	1b c2                	sbb    %edx,%eax
415519:	89 77 18             	mov    %esi,0x18(%edi)
41551c:	89 47 14             	mov    %eax,0x14(%edi)
41551f:	8b c7                	mov    %edi,%eax
415521:	89 57 0c             	mov    %edx,0xc(%edi)
415524:	89 4f 10             	mov    %ecx,0x10(%edi)
415527:	5f                   	pop    %edi
415528:	5e                   	pop    %esi
415529:	5b                   	pop    %ebx
41552a:	5d                   	pop    %ebp
41552b:	c2 0c 00             	ret    $0xc
41552e:	8b ff                	mov    %edi,%edi
415530:	55                   	push   %ebp
415531:	8b ec                	mov    %esp,%ebp
415533:	83 ec 28             	sub    $0x28,%esp
415536:	8d 4d d8             	lea    -0x28(%ebp),%ecx
415539:	56                   	push   %esi
41553a:	6a 00                	push   $0x0
41553c:	e8 29 12 ff ff       	call   0x40676a
415541:	8d 45 d8             	lea    -0x28(%ebp),%eax
415544:	50                   	push   %eax
415545:	ff 75 10             	push   0x10(%ebp)
415548:	ff 75 0c             	push   0xc(%ebp)
41554b:	ff 75 08             	push   0x8(%ebp)
41554e:	e8 12 00 00 00       	call   0x415565
415553:	83 c4 10             	add    $0x10,%esp
415556:	8d 4d d8             	lea    -0x28(%ebp),%ecx
415559:	8b f0                	mov    %eax,%esi
41555b:	e8 52 12 ff ff       	call   0x4067b2
415560:	8b c6                	mov    %esi,%eax
415562:	5e                   	pop    %esi
415563:	c9                   	leave
415564:	c3                   	ret
415565:	8b ff                	mov    %edi,%edi
415567:	55                   	push   %ebp
415568:	8b ec                	mov    %esp,%ebp
41556a:	83 ec 2c             	sub    $0x2c,%esp
41556d:	53                   	push   %ebx
41556e:	8b 5d 08             	mov    0x8(%ebp),%ebx
415571:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
415574:	56                   	push   %esi
415575:	57                   	push   %edi
415576:	ff 75 10             	push   0x10(%ebp)
415579:	8b 7d 14             	mov    0x14(%ebp),%edi
41557c:	ff 75 0c             	push   0xc(%ebp)
41557f:	53                   	push   %ebx
415580:	e8 5c ff ff ff       	call   0x4154e1
415585:	8b 45 d4             	mov    -0x2c(%ebp),%eax
415588:	23 45 d8             	and    -0x28(%ebp),%eax
41558b:	83 f8 ff             	cmp    $0xffffffff,%eax
41558e:	0f 84 40 01 00 00    	je     0x4156d4
415594:	8b 45 dc             	mov    -0x24(%ebp),%eax
415597:	23 45 e0             	and    -0x20(%ebp),%eax
41559a:	83 f8 ff             	cmp    $0xffffffff,%eax
41559d:	0f 84 31 01 00 00    	je     0x4156d4
4155a3:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4155a6:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4155a9:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4155ac:	89 45 fc             	mov    %eax,-0x4(%ebp)
4155af:	85 c9                	test   %ecx,%ecx
4155b1:	0f 8c d2 00 00 00    	jl     0x415689
4155b7:	7f 08                	jg     0x4155c1
4155b9:	85 c0                	test   %eax,%eax
4155bb:	0f 84 be 00 00 00    	je     0x41567f
4155c1:	6a 01                	push   $0x1
4155c3:	68 00 10 00 00       	push   $0x1000
4155c8:	e8 75 51 ff ff       	call   0x40a742
4155cd:	8b f0                	mov    %eax,%esi
4155cf:	59                   	pop    %ecx
4155d0:	59                   	pop    %ecx
4155d1:	85 f6                	test   %esi,%esi
4155d3:	75 0f                	jne    0x4155e4
4155d5:	6a 0c                	push   $0xc
4155d7:	5b                   	pop    %ebx
4155d8:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
4155dc:	89 5f 18             	mov    %ebx,0x18(%edi)
4155df:	e9 92 00 00 00       	jmp    0x415676
4155e4:	68 00 80 00 00       	push   $0x8000
4155e9:	53                   	push   %ebx
4155ea:	e8 ef 47 ff ff       	call   0x409dde
4155ef:	59                   	pop    %ecx
4155f0:	59                   	pop    %ecx
4155f1:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4155f4:	89 45 f4             	mov    %eax,-0xc(%ebp)
4155f7:	8b 45 e8             	mov    -0x18(%ebp),%eax
4155fa:	85 c0                	test   %eax,%eax
4155fc:	7c 0f                	jl     0x41560d
4155fe:	7f 08                	jg     0x415608
415600:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
415606:	72 05                	jb     0x41560d
415608:	b9 00 10 00 00       	mov    $0x1000,%ecx
41560d:	57                   	push   %edi
41560e:	51                   	push   %ecx
41560f:	56                   	push   %esi
415610:	53                   	push   %ebx
415611:	e8 be 64 ff ff       	call   0x40bad4
415616:	83 c4 10             	add    $0x10,%esp
415619:	83 f8 ff             	cmp    $0xffffffff,%eax
41561c:	74 34                	je     0x415652
41561e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
415621:	99                   	cltd
415622:	2b c8                	sub    %eax,%ecx
415624:	8b 45 f8             	mov    -0x8(%ebp),%eax
415627:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41562a:	1b c2                	sbb    %edx,%eax
41562c:	89 45 f8             	mov    %eax,-0x8(%ebp)
41562f:	85 c0                	test   %eax,%eax
415631:	7f d5                	jg     0x415608
415633:	7c 04                	jl     0x415639
415635:	85 c9                	test   %ecx,%ecx
415637:	75 c1                	jne    0x4155fa
415639:	ff 75 f4             	push   -0xc(%ebp)
41563c:	53                   	push   %ebx
41563d:	e8 9c 47 ff ff       	call   0x409dde
415642:	56                   	push   %esi
415643:	e8 57 51 ff ff       	call   0x40a79f
415648:	83 c4 0c             	add    $0xc,%esp
41564b:	33 db                	xor    %ebx,%ebx
41564d:	e9 90 00 00 00       	jmp    0x4156e2
415652:	80 7f 24 00          	cmpb   $0x0,0x24(%edi)
415656:	74 11                	je     0x415669
415658:	83 7f 20 05          	cmpl   $0x5,0x20(%edi)
41565c:	75 0b                	jne    0x415669
41565e:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
415662:	c7 47 18 0d 00 00 00 	movl   $0xd,0x18(%edi)
415669:	80 7f 1c 00          	cmpb   $0x0,0x1c(%edi)
41566d:	74 05                	je     0x415674
41566f:	8b 5f 18             	mov    0x18(%edi),%ebx
415672:	eb 02                	jmp    0x415676
415674:	33 db                	xor    %ebx,%ebx
415676:	56                   	push   %esi
415677:	e8 23 51 ff ff       	call   0x40a79f
41567c:	59                   	pop    %ecx
41567d:	eb 63                	jmp    0x4156e2
41567f:	85 c9                	test   %ecx,%ecx
415681:	7f c8                	jg     0x41564b
415683:	7c 04                	jl     0x415689
415685:	85 c0                	test   %eax,%eax
415687:	73 c2                	jae    0x41564b
415689:	6a 00                	push   $0x0
41568b:	ff 75 10             	push   0x10(%ebp)
41568e:	ff 75 0c             	push   0xc(%ebp)
415691:	53                   	push   %ebx
415692:	e8 a8 b7 ff ff       	call   0x410e3f
415697:	23 c2                	and    %edx,%eax
415699:	83 c4 10             	add    $0x10,%esp
41569c:	83 f8 ff             	cmp    $0xffffffff,%eax
41569f:	75 08                	jne    0x4156a9
4156a1:	80 7f 1c 00          	cmpb   $0x0,0x1c(%edi)
4156a5:	74 a4                	je     0x41564b
4156a7:	eb 31                	jmp    0x4156da
4156a9:	53                   	push   %ebx
4156aa:	e8 4c a2 ff ff       	call   0x40f8fb
4156af:	59                   	pop    %ecx
4156b0:	50                   	push   %eax
4156b1:	ff 15 04 90 41 00    	call   *0x419004
4156b7:	85 c0                	test   %eax,%eax
4156b9:	75 90                	jne    0x41564b
4156bb:	ff 15 28 90 41 00    	call   *0x419028
4156c1:	6a 0d                	push   $0xd
4156c3:	c6 47 24 01          	movb   $0x1,0x24(%edi)
4156c7:	89 47 20             	mov    %eax,0x20(%edi)
4156ca:	5b                   	pop    %ebx
4156cb:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
4156cf:	89 5f 18             	mov    %ebx,0x18(%edi)
4156d2:	eb 0e                	jmp    0x4156e2
4156d4:	80 7f 1c 00          	cmpb   $0x0,0x1c(%edi)
4156d8:	74 05                	je     0x4156df
4156da:	8b 5f 18             	mov    0x18(%edi),%ebx
4156dd:	eb 03                	jmp    0x4156e2