45d479:	56                   	push   %esi
45d47a:	57                   	push   %edi
45d47b:	55                   	push   %ebp
45d47c:	51                   	push   %ecx
45d47d:	8b da                	mov    %edx,%ebx
45d47f:	8b f8                	mov    %eax,%edi
45d481:	8b c7                	mov    %edi,%eax
45d483:	e8 9c 6f fa ff       	call   0x404424
45d488:	8b d0                	mov    %eax,%edx
45d48a:	8b c7                	mov    %edi,%eax
45d48c:	e8 93 ff ff ff       	call   0x45d424
45d491:	3b c3                	cmp    %ebx,%eax
45d493:	7d 05                	jge    0x45d49a
45d495:	83 cd ff             	or     $0xffffffff,%ebp
45d498:	eb 32                	jmp    0x45d4cc
45d49a:	33 ed                	xor    %ebp,%ebp
45d49c:	89 1c 24             	mov    %ebx,(%esp)
45d49f:	8b c7                	mov    %edi,%eax
45d4a1:	e8 7e 6f fa ff       	call   0x404424
45d4a6:	8b d8                	mov    %eax,%ebx
45d4a8:	85 db                	test   %ebx,%ebx
45d4aa:	7e 20                	jle    0x45d4cc
45d4ac:	be 01 00 00 00       	mov    $0x1,%esi
45d4b1:	45                   	inc    %ebp
45d4b2:	8b d6                	mov    %esi,%edx
45d4b4:	8b c7                	mov    %edi,%eax
45d4b6:	e8 4d fa ff ff       	call   0x45cf08
45d4bb:	3c 03                	cmp    $0x3,%al
45d4bd:	74 09                	je     0x45d4c8
45d4bf:	ff 0c 24             	decl   (%esp)
45d4c2:	83 3c 24 00          	cmpl   $0x0,(%esp)
45d4c6:	7c 04                	jl     0x45d4cc
45d4c8:	46                   	inc    %esi
45d4c9:	4b                   	dec    %ebx
45d4ca:	75 e5                	jne    0x45d4b1
45d4cc:	8b c5                	mov    %ebp,%eax
45d4ce:	5a                   	pop    %edx
45d4cf:	5d                   	pop    %ebp
45d4d0:	5f                   	pop    %edi
45d4d1:	5e                   	pop    %esi
45d4d2:	5b                   	pop    %ebx
45d4d3:	c3                   	ret
45d4d4:	53                   	push   %ebx
45d4d5:	56                   	push   %esi
45d4d6:	8b f0                	mov    %eax,%esi
45d4d8:	33 db                	xor    %ebx,%ebx
45d4da:	8b c6                	mov    %esi,%eax
45d4dc:	e8 97 ff ff ff       	call   0x45d478
45d4e1:	85 c0                	test   %eax,%eax
45d4e3:	7c 0f                	jl     0x45d4f4
45d4e5:	8b d0                	mov    %eax,%edx
45d4e7:	8b c6                	mov    %esi,%eax
45d4e9:	e8 1a fa ff ff       	call   0x45cf08
45d4ee:	48                   	dec    %eax
45d4ef:	2c 02                	sub    $0x2,%al
45d4f1:	0f 92 c3             	setb   %bl
45d4f4:	8b c3                	mov    %ebx,%eax
45d4f6:	5e                   	pop    %esi
45d4f7:	5b                   	pop    %ebx
45d4f8:	c3                   	ret
45d4f9:	8d 40 00             	lea    0x0(%eax),%eax
45d4fc:	55                   	push   %ebp
45d4fd:	8b ec                	mov    %esp,%ebp
45d4ff:	51                   	push   %ecx
45d500:	b9 04 00 00 00       	mov    $0x4,%ecx
45d505:	6a 00                	push   $0x0
45d507:	6a 00                	push   $0x0
45d509:	49                   	dec    %ecx
45d50a:	75 f9                	jne    0x45d505
45d50c:	51                   	push   %ecx
45d50d:	87 4d fc             	xchg   %ecx,-0x4(%ebp)
45d510:	53                   	push   %ebx
45d511:	56                   	push   %esi
45d512:	57                   	push   %edi
45d513:	89 4d f8             	mov    %ecx,-0x8(%ebp)
45d516:	8b fa                	mov    %edx,%edi
45d518:	89 45 fc             	mov    %eax,-0x4(%ebp)
45d51b:	8b 5d 08             	mov    0x8(%ebp),%ebx
45d51e:	8b 75 14             	mov    0x14(%ebp),%esi
45d521:	33 c0                	xor    %eax,%eax
45d523:	55                   	push   %ebp
45d524:	68 81 d6 45 00       	push   $0x45d681
45d529:	64 ff 30             	push   %fs:(%eax)
45d52c:	64 89 20             	mov    %esp,%fs:(%eax)
45d52f:	8b c6                	mov    %esi,%eax
45d531:	2b 45 f8             	sub    -0x8(%ebp),%eax
45d534:	3b 45 10             	cmp    0x10(%ebp),%eax
45d537:	0f 8d 80 00 00 00    	jge    0x45d5bd
45d53d:	ba 01 00 00 00       	mov    $0x1,%edx
45d542:	8b 45 fc             	mov    -0x4(%ebp),%eax
45d545:	e8 12 fb ff ff       	call   0x45d05c
45d54a:	88 45 f7             	mov    %al,-0x9(%ebp)
45d54d:	8b c6                	mov    %esi,%eax
45d54f:	48                   	dec    %eax
45d550:	89 45 f0             	mov    %eax,-0x10(%ebp)
45d553:	f6 45 f7 01          	testb  $0x1,-0x9(%ebp)
45d557:	74 07                	je     0x45d560
45d559:	8b 45 f8             	mov    -0x8(%ebp),%eax
45d55c:	48                   	dec    %eax
45d55d:	89 45 f0             	mov    %eax,-0x10(%ebp)
45d560:	53                   	push   %ebx
45d561:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45d564:	ba 01 00 00 00       	mov    $0x1,%edx
45d569:	8b c7                	mov    %edi,%eax
45d56b:	e8 14 71 fa ff       	call   0x404684
45d570:	2b 75 f8             	sub    -0x8(%ebp),%esi
45d573:	8b 45 10             	mov    0x10(%ebp),%eax
45d576:	2b c6                	sub    %esi,%eax
45d578:	85 c0                	test   %eax,%eax
45d57a:	7e 1a                	jle    0x45d596
45d57c:	89 c6                	mov    %eax,%esi
45d57e:	8d 45 ec             	lea    -0x14(%ebp),%eax
45d581:	8a 55 0c             	mov    0xc(%ebp),%dl
45d584:	e8 c3 6d fa ff       	call   0x40434c
45d589:	8b 55 ec             	mov    -0x14(%ebp),%edx
45d58c:	8b c3                	mov    %ebx,%eax
45d58e:	e8 99 6e fa ff       	call   0x40442c
45d593:	4e                   	dec    %esi
45d594:	75 e8                	jne    0x45d57e
45d596:	8d 45 e8             	lea    -0x18(%ebp),%eax
45d599:	50                   	push   %eax
45d59a:	8b c7                	mov    %edi,%eax
45d59c:	e8 83 6e fa ff       	call   0x404424
45d5a1:	8b c8                	mov    %eax,%ecx
45d5a3:	8b 55 f0             	mov    -0x10(%ebp),%edx
45d5a6:	42                   	inc    %edx
45d5a7:	8b c7                	mov    %edi,%eax
45d5a9:	e8 d6 70 fa ff       	call   0x404684
45d5ae:	8b 55 e8             	mov    -0x18(%ebp),%edx
45d5b1:	8b c3                	mov    %ebx,%eax
45d5b3:	e8 74 6e fa ff       	call   0x40442c
45d5b8:	e9 a9 00 00 00       	jmp    0x45d666
45d5bd:	8b c6                	mov    %esi,%eax
45d5bf:	2b 45 f8             	sub    -0x8(%ebp),%eax
45d5c2:	3b 45 10             	cmp    0x10(%ebp),%eax
45d5c5:	0f 8e 92 00 00 00    	jle    0x45d65d
45d5cb:	ba 01 00 00 00       	mov    $0x1,%edx
45d5d0:	8b 45 fc             	mov    -0x4(%ebp),%eax
45d5d3:	e8 84 fa ff ff       	call   0x45d05c
45d5d8:	88 45 f7             	mov    %al,-0x9(%ebp)
45d5db:	f6 45 f7 01          	testb  $0x1,-0x9(%ebp)
45d5df:	74 3e                	je     0x45d61f
45d5e1:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45d5e4:	50                   	push   %eax
45d5e5:	8b c7                	mov    %edi,%eax
45d5e7:	e8 38 6e fa ff       	call   0x404424
45d5ec:	8b c8                	mov    %eax,%ecx
45d5ee:	8b d6                	mov    %esi,%edx
45d5f0:	2b 55 10             	sub    0x10(%ebp),%edx
45d5f3:	8b c7                	mov    %edi,%eax
45d5f5:	e8 8a 70 fa ff       	call   0x404684
45d5fa:	8b 45 e4             	mov    -0x1c(%ebp),%eax
45d5fd:	50                   	push   %eax
45d5fe:	8d 45 e0             	lea    -0x20(%ebp),%eax
45d601:	50                   	push   %eax
45d602:	8b 4d f8             	mov    -0x8(%ebp),%ecx
45d605:	49                   	dec    %ecx
45d606:	ba 01 00 00 00       	mov    $0x1,%edx
45d60b:	8b c7                	mov    %edi,%eax
45d60d:	e8 72 70 fa ff       	call   0x404684
45d612:	8b 55 e0             	mov    -0x20(%ebp),%edx
45d615:	8b c3                	mov    %ebx,%eax
45d617:	59                   	pop    %ecx
45d618:	e8 53 6e fa ff       	call   0x404470
45d61d:	eb 47                	jmp    0x45d666
45d61f:	8d 45 dc             	lea    -0x24(%ebp),%eax
45d622:	50                   	push   %eax
45d623:	8b c7                	mov    %edi,%eax
45d625:	e8 fa 6d fa ff       	call   0x404424
45d62a:	8b c8                	mov    %eax,%ecx
45d62c:	8b d6                	mov    %esi,%edx
45d62e:	8b c7                	mov    %edi,%eax
45d630:	e8 4f 70 fa ff       	call   0x404684
45d635:	8b 45 dc             	mov    -0x24(%ebp),%eax
45d638:	50                   	push   %eax
45d639:	8d 45 d8             	lea    -0x28(%ebp),%eax
45d63c:	50                   	push   %eax
45d63d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
45d640:	03 4d 10             	add    0x10(%ebp),%ecx
45d643:	49                   	dec    %ecx
45d644:	ba 01 00 00 00       	mov    $0x1,%edx
45d649:	8b c7                	mov    %edi,%eax
45d64b:	e8 34 70 fa ff       	call   0x404684
45d650:	8b 55 d8             	mov    -0x28(%ebp),%edx
45d653:	8b c3                	mov    %ebx,%eax
45d655:	59                   	pop    %ecx
45d656:	e8 15 6e fa ff       	call   0x404470
45d65b:	eb 09                	jmp    0x45d666
45d65d:	8b c3                	mov    %ebx,%eax
45d65f:	8b d7                	mov    %edi,%edx
45d661:	e8 52 6b fa ff       	call   0x4041b8
45d666:	33 c0                	xor    %eax,%eax
45d668:	5a                   	pop    %edx
45d669:	59                   	pop    %ecx
45d66a:	59                   	pop    %ecx
45d66b:	64 89 10             	mov    %edx,%fs:(%eax)
45d66e:	68 88 d6 45 00       	push   $0x45d688
45d673:	8d 45 d8             	lea    -0x28(%ebp),%eax
45d676:	ba 06 00 00 00       	mov    $0x6,%edx
45d67b:	e8 08 6b fa ff       	call   0x404188
45d680:	c3                   	ret
45d681:	e9 e2 64 fa ff       	jmp    0x403b68
45d686:	eb eb                	jmp    0x45d673
45d688:	5f                   	pop    %edi
45d689:	5e                   	pop    %esi
45d68a:	5b                   	pop    %ebx
45d68b:	8b e5                	mov    %ebp,%esp
45d68d:	5d                   	pop    %ebp
45d68e:	c2 10 00             	ret    $0x10
45d691:	8d 40 00             	lea    0x0(%eax),%eax
45d694:	55                   	push   %ebp
45d695:	8b ec                	mov    %esp,%ebp
45d697:	83 c4 d8             	add    $0xffffffd8,%esp
45d69a:	53                   	push   %ebx
45d69b:	56                   	push   %esi
45d69c:	57                   	push   %edi
45d69d:	33 db                	xor    %ebx,%ebx
45d69f:	89 5d d8             	mov    %ebx,-0x28(%ebp)
45d6a2:	89 5d dc             	mov    %ebx,-0x24(%ebp)
45d6a5:	89 5d e0             	mov    %ebx,-0x20(%ebp)
45d6a8:	88 4d ff             	mov    %cl,-0x1(%ebp)
45d6ab:	8b fa                	mov    %edx,%edi
45d6ad:	8b f0                	mov    %eax,%esi
45d6af:	8b 5d 08             	mov    0x8(%ebp),%ebx
45d6b2:	33 c0                	xor    %eax,%eax
45d6b4:	55                   	push   %ebp
45d6b5:	68 5a d8 45 00       	push   $0x45d85a
45d6ba:	64 ff 30             	push   %fs:(%eax)
45d6bd:	64 89 20             	mov    %esp,%fs:(%eax)
45d6c0:	33 c0                	xor    %eax,%eax
45d6c2:	89 45 f8             	mov    %eax,-0x8(%ebp)
45d6c5:	8b c3                	mov    %ebx,%eax
45d6c7:	8b d7                	mov    %edi,%edx
45d6c9:	e8 ea 6a fa ff       	call   0x4041b8
45d6ce:	8b c6                	mov    %esi,%eax
45d6d0:	e8 4f 6d fa ff       	call   0x404424
45d6d5:	85 c0                	test   %eax,%eax
45d6d7:	0f 8e d0 00 00 00    	jle    0x45d7ad
45d6dd:	89 45 e8             	mov    %eax,-0x18(%ebp)
45d6e0:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
45d6e7:	8b 55 ec             	mov    -0x14(%ebp),%edx
45d6ea:	8b c6                	mov    %esi,%eax
45d6ec:	e8 17 f8 ff ff       	call   0x45cf08
45d6f1:	48                   	dec    %eax
45d6f2:	2c 02                	sub    $0x2,%al
45d6f4:	0f 83 a7 00 00 00    	jae    0x45d7a1
45d6fa:	8b 55 ec             	mov    -0x14(%ebp),%edx
45d6fd:	8b c6                	mov    %esi,%eax
45d6ff:	e8 20 fd ff ff       	call   0x45d424
45d704:	89 45 f0             	mov    %eax,-0x10(%ebp)
45d707:	8b 03                	mov    (%ebx),%eax
45d709:	e8 16 6d fa ff       	call   0x404424
45d70e:	40                   	inc    %eax
45d70f:	89 45 f4             	mov    %eax,-0xc(%ebp)
45d712:	8b 7d f8             	mov    -0x8(%ebp),%edi
45d715:	47                   	inc    %edi
45d716:	8b 03                	mov    (%ebx),%eax
45d718:	e8 07 6d fa ff       	call   0x404424
45d71d:	2b c7                	sub    %edi,%eax
45d71f:	7c 23                	jl     0x45d744
45d721:	40                   	inc    %eax
45d722:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45d725:	8b 45 ec             	mov    -0x14(%ebp),%eax
45d728:	8a 44 06 ff          	mov    -0x1(%esi,%eax,1),%al
45d72c:	e8 a7 f9 ff ff       	call   0x45d0d8
45d731:	8b 13                	mov    (%ebx),%edx
45d733:	3a 44 3a ff          	cmp    -0x1(%edx,%edi,1),%al
45d737:	75 05                	jne    0x45d73e
45d739:	89 7d f4             	mov    %edi,-0xc(%ebp)
45d73c:	eb 06                	jmp    0x45d744
45d73e:	47                   	inc    %edi
45d73f:	ff 4d e4             	decl   -0x1c(%ebp)
45d742:	75 e1                	jne    0x45d725
45d744:	8b 03                	mov    (%ebx),%eax
45d746:	e8 d9 6c fa ff       	call   0x404424
45d74b:	3b 45 f4             	cmp    -0xc(%ebp),%eax
45d74e:	7d 20                	jge    0x45d770
45d750:	8b 45 ec             	mov    -0x14(%ebp),%eax
45d753:	8a 44 06 ff          	mov    -0x1(%esi,%eax,1),%al
45d757:	e8 7c f9 ff ff       	call   0x45d0d8
45d75c:	8b d0                	mov    %eax,%edx
45d75e:	8d 45 e0             	lea    -0x20(%ebp),%eax
45d761:	e8 e6 6b fa ff       	call   0x40434c
45d766:	8b 55 e0             	mov    -0x20(%ebp),%edx
45d769:	8b c3                	mov    %ebx,%eax
45d76b:	e8 bc 6c fa ff       	call   0x40442c
45d770:	8b 45 f4             	mov    -0xc(%ebp),%eax
45d773:	50                   	push   %eax
45d774:	8b 7d f8             	mov    -0x8(%ebp),%edi
45d777:	47                   	inc    %edi
45d778:	8b 45 f0             	mov    -0x10(%ebp),%eax
45d77b:	2b c7                	sub    %edi,%eax
45d77d:	50                   	push   %eax
45d77e:	8a 45 ff             	mov    -0x1(%ebp),%al
45d781:	50                   	push   %eax
45d782:	8d 45 dc             	lea    -0x24(%ebp),%eax
45d785:	50                   	push   %eax
45d786:	8b cf                	mov    %edi,%ecx
45d788:	8b 13                	mov    (%ebx),%edx
45d78a:	8b c6                	mov    %esi,%eax
45d78c:	e8 6b fd ff ff       	call   0x45d4fc
45d791:	8b 55 dc             	mov    -0x24(%ebp),%edx
45d794:	8b c3                	mov    %ebx,%eax
45d796:	e8 1d 6a fa ff       	call   0x4041b8
45d79b:	8b 45 f0             	mov    -0x10(%ebp),%eax
45d79e:	89 45 f8             	mov    %eax,-0x8(%ebp)
45d7a1:	ff 45 ec             	incl   -0x14(%ebp)
45d7a4:	ff 4d e8             	decl   -0x18(%ebp)
45d7a7:	0f 85 3a ff ff ff    	jne    0x45d6e7
45d7ad:	8b c6                	mov    %esi,%eax
45d7af:	e8 70 6c fa ff       	call   0x404424
45d7b4:	8b d0                	mov    %eax,%edx
45d7b6:	8b c6                	mov    %esi,%eax
45d7b8:	e8 67 fc ff ff       	call   0x45d424
45d7bd:	8b f8                	mov    %eax,%edi
45d7bf:	8b 03                	mov    (%ebx),%eax
45d7c1:	e8 5e 6c fa ff       	call   0x404424
45d7c6:	3b f8                	cmp    %eax,%edi
45d7c8:	74 2c                	je     0x45d7f6
45d7ca:	8b 03                	mov    (%ebx),%eax
45d7cc:	e8 53 6c fa ff       	call   0x404424
45d7d1:	40                   	inc    %eax
45d7d2:	50                   	push   %eax
45d7d3:	2b 7d f8             	sub    -0x8(%ebp),%edi
45d7d6:	57                   	push   %edi
45d7d7:	8a 45 ff             	mov    -0x1(%ebp),%al
45d7da:	50                   	push   %eax
45d7db:	8d 45 d8             	lea    -0x28(%ebp),%eax
45d7de:	50                   	push   %eax
45d7df:	8b 4d f8             	mov    -0x8(%ebp),%ecx
45d7e2:	41                   	inc    %ecx
45d7e3:	8b 13                	mov    (%ebx),%edx
45d7e5:	8b c6                	mov    %esi,%eax
45d7e7:	e8 10 fd ff ff       	call   0x45d4fc
45d7ec:	8b 55 d8             	mov    -0x28(%ebp),%edx
45d7ef:	8b c3                	mov    %ebx,%eax
45d7f1:	e8 c2 69 fa ff       	call   0x4041b8
45d7f6:	8b 03                	mov    (%ebx),%eax
45d7f8:	e8 27 6c fa ff       	call   0x404424
45d7fd:	85 c0                	test   %eax,%eax
45d7ff:	7e 3e                	jle    0x45d83f
45d801:	89 45 e8             	mov    %eax,-0x18(%ebp)
45d804:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
45d80b:	8b 03                	mov    (%ebx),%eax
45d80d:	8b 55 f0             	mov    -0x10(%ebp),%edx
45d810:	80 7c 10 ff 20       	cmpb   $0x20,-0x1(%eax,%edx,1)
45d815:	75 20                	jne    0x45d837
45d817:	8b 55 f0             	mov    -0x10(%ebp),%edx
45d81a:	4a                   	dec    %edx
45d81b:	8b c6                	mov    %esi,%eax