45c3fe:	8b b8 a4 00 00 00    	mov    0xa4(%eax),%edi
45c404:	8b cf                	mov    %edi,%ecx
45c406:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45c40c:	8b ce                	mov    %esi,%ecx
45c40e:	ff d7                	call   *%edi
45c410:	ff 74 24 38          	push   0x38(%esp)
45c414:	8b d8                	mov    %eax,%ebx
45c416:	6a 00                	push   $0x0
45c418:	ff 74 24 2c          	push   0x2c(%esp)
45c41c:	8b 3b                	mov    (%ebx),%edi
45c41e:	55                   	push   %ebp
45c41f:	68 40 4e 4c 00       	push   $0x4c4e40
45c424:	8b bf 88 00 00 00    	mov    0x88(%edi),%edi
45c42a:	8b cf                	mov    %edi,%ecx
45c42c:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45c432:	8b cb                	mov    %ebx,%ecx
45c434:	ff d7                	call   *%edi
45c436:	33 c9                	xor    %ecx,%ecx
45c438:	85 c0                	test   %eax,%eax
45c43a:	0f 95 c1             	setne  %cl
45c43d:	89 4e 14             	mov    %ecx,0x14(%esi)
45c440:	85 c0                	test   %eax,%eax
45c442:	75 13                	jne    0x45c457
45c444:	8b 5c 24 14          	mov    0x14(%esp),%ebx
45c448:	89 46 2c             	mov    %eax,0x2c(%esi)
45c44b:	89 46 28             	mov    %eax,0x28(%esi)
45c44e:	8b 54 24 10          	mov    0x10(%esp),%edx
45c452:	e9 a9 fe ff ff       	jmp    0x45c300
45c457:	8b 4c 24 14          	mov    0x14(%esp),%ecx
45c45b:	b8 01 00 00 00       	mov    $0x1,%eax
45c460:	5f                   	pop    %edi
45c461:	8b 09                	mov    (%ecx),%ecx
45c463:	2b 4e 10             	sub    0x10(%esi),%ecx
45c466:	5e                   	pop    %esi
45c467:	3b c8                	cmp    %eax,%ecx
45c469:	5d                   	pop    %ebp
45c46a:	0f 47 c1             	cmova  %ecx,%eax
45c46d:	5b                   	pop    %ebx
45c46e:	83 c4 18             	add    $0x18,%esp
45c471:	c2 10 00             	ret    $0x10
45c474:	83 7c 24 34 00       	cmpl   $0x0,0x34(%esp)
45c479:	0f 84 d8 00 00 00    	je     0x45c557
45c47f:	83 7e 2c 00          	cmpl   $0x0,0x2c(%esi)
45c483:	7e 03                	jle    0x45c488
45c485:	ff 46 28             	incl   0x28(%esi)
45c488:	8b 4e 28             	mov    0x28(%esi),%ecx
45c48b:	33 ff                	xor    %edi,%edi
45c48d:	85 c9                	test   %ecx,%ecx
45c48f:	7e 1b                	jle    0x45c4ac
45c491:	8b 12                	mov    (%edx),%edx
45c493:	8b 46 18             	mov    0x18(%esi),%eax
45c496:	0f b6 0c 3a          	movzbl (%edx,%edi,1),%ecx
45c49a:	8a 04 01             	mov    (%ecx,%eax,1),%al
45c49d:	88 04 3a             	mov    %al,(%edx,%edi,1)
45c4a0:	47                   	inc    %edi
45c4a1:	8b 4e 28             	mov    0x28(%esi),%ecx
45c4a4:	8b 54 24 10          	mov    0x10(%esp),%edx
45c4a8:	3b f9                	cmp    %ecx,%edi
45c4aa:	7c e5                	jl     0x45c491
45c4ac:	8b 7e 1c             	mov    0x1c(%esi),%edi
45c4af:	83 ff ff             	cmp    $0xffffffff,%edi
45c4b2:	74 1c                	je     0x45c4d0
45c4b4:	85 c9                	test   %ecx,%ecx
45c4b6:	7e 18                	jle    0x45c4d0
45c4b8:	8b 03                	mov    (%ebx),%eax
45c4ba:	2b c1                	sub    %ecx,%eax
45c4bc:	50                   	push   %eax
45c4bd:	8b 02                	mov    (%edx),%eax
45c4bf:	03 c1                	add    %ecx,%eax
45c4c1:	57                   	push   %edi
45c4c2:	50                   	push   %eax
45c4c3:	e8 e8 f6 00 00       	call   0x46bbb0
45c4c8:	8b 03                	mov    (%ebx),%eax
45c4ca:	83 c4 0c             	add    $0xc,%esp
45c4cd:	89 46 28             	mov    %eax,0x28(%esi)
45c4d0:	8b 46 38             	mov    0x38(%esi),%eax
45c4d3:	8b 6e 28             	mov    0x28(%esi),%ebp
45c4d6:	89 44 24 24          	mov    %eax,0x24(%esp)
45c4da:	8b 06                	mov    (%esi),%eax
45c4dc:	8b b8 a4 00 00 00    	mov    0xa4(%eax),%edi
45c4e2:	8b cf                	mov    %edi,%ecx
45c4e4:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45c4ea:	8b ce                	mov    %esi,%ecx
45c4ec:	ff d7                	call   *%edi
45c4ee:	ff 74 24 38          	push   0x38(%esp)
45c4f2:	8b d8                	mov    %eax,%ebx
45c4f4:	8b 44 24 38          	mov    0x38(%esp),%eax
45c4f8:	85 c0                	test   %eax,%eax
45c4fa:	8b 3b                	mov    (%ebx),%edi
45c4fc:	8d 48 ff             	lea    -0x1(%eax),%ecx
45c4ff:	0f 44 c8             	cmove  %eax,%ecx
45c502:	51                   	push   %ecx
45c503:	55                   	push   %ebp
45c504:	ff 74 24 30          	push   0x30(%esp)
45c508:	8b bf 88 00 00 00    	mov    0x88(%edi),%edi
45c50e:	8b cf                	mov    %edi,%ecx
45c510:	68 40 4e 4c 00       	push   $0x4c4e40
45c515:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45c51b:	8b cb                	mov    %ebx,%ecx
45c51d:	ff d7                	call   *%edi
45c51f:	8b c8                	mov    %eax,%ecx
45c521:	f7 d9                	neg    %ecx
45c523:	1b c9                	sbb    %ecx,%ecx
45c525:	83 e1 02             	and    $0x2,%ecx
45c528:	89 4e 14             	mov    %ecx,0x14(%esi)
45c52b:	85 c0                	test   %eax,%eax
45c52d:	74 1a                	je     0x45c549
45c52f:	8b 4e 28             	mov    0x28(%esi),%ecx
45c532:	b8 01 00 00 00       	mov    $0x1,%eax
45c537:	2b 4e 10             	sub    0x10(%esi),%ecx
45c53a:	5f                   	pop    %edi
45c53b:	5e                   	pop    %esi
45c53c:	3b c8                	cmp    %eax,%ecx
45c53e:	5d                   	pop    %ebp
45c53f:	0f 47 c1             	cmova  %ecx,%eax
45c542:	5b                   	pop    %ebx
45c543:	83 c4 18             	add    $0x18,%esp
45c546:	c2 10 00             	ret    $0x10
45c549:	c7 46 2c 00 00 00 00 	movl   $0x0,0x2c(%esi)
45c550:	c7 46 28 00 00 00 00 	movl   $0x0,0x28(%esi)
45c557:	5f                   	pop    %edi
45c558:	5e                   	pop    %esi
45c559:	5d                   	pop    %ebp
45c55a:	33 c0                	xor    %eax,%eax
45c55c:	5b                   	pop    %ebx
45c55d:	83 c4 18             	add    $0x18,%esp
45c560:	c2 10 00             	ret    $0x10
45c563:	cc                   	int3
45c564:	cc                   	int3
45c565:	cc                   	int3
45c566:	cc                   	int3
45c567:	cc                   	int3
45c568:	cc                   	int3
45c569:	cc                   	int3
45c56a:	cc                   	int3
45c56b:	cc                   	int3
45c56c:	cc                   	int3
45c56d:	cc                   	int3
45c56e:	cc                   	int3
45c56f:	cc                   	int3
45c570:	55                   	push   %ebp
45c571:	8d ac 24 74 ff ff ff 	lea    -0x8c(%esp),%ebp
45c578:	81 ec 8c 00 00 00    	sub    $0x8c,%esp
45c57e:	6a ff                	push   $0xffffffff
45c580:	68 25 c2 49 00       	push   $0x49c225
45c585:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45c58b:	50                   	push   %eax
45c58c:	83 ec 34             	sub    $0x34,%esp
45c58f:	a1 14 40 4c 00       	mov    0x4c4014,%eax
45c594:	33 c5                	xor    %ebp,%eax
45c596:	89 85 88 00 00 00    	mov    %eax,0x88(%ebp)
45c59c:	53                   	push   %ebx
45c59d:	56                   	push   %esi
45c59e:	57                   	push   %edi
45c59f:	50                   	push   %eax
45c5a0:	8d 45 f4             	lea    -0xc(%ebp),%eax
45c5a3:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45c5a9:	8b d9                	mov    %ecx,%ebx
45c5ab:	8b bd 94 00 00 00    	mov    0x94(%ebp),%edi
45c5b1:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45c5b4:	51                   	push   %ecx
45c5b5:	68 5c 52 4c 00       	push   $0x4c525c
45c5ba:	68 78 17 4b 00       	push   $0x4b1778
45c5bf:	8b 07                	mov    (%edi),%eax
45c5c1:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
45c5c8:	8b 70 04             	mov    0x4(%eax),%esi
45c5cb:	8b ce                	mov    %esi,%ecx
45c5cd:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45c5d3:	8b cf                	mov    %edi,%ecx
45c5d5:	ff d6                	call   *%esi
45c5d7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45c5da:	89 4b 30             	mov    %ecx,0x30(%ebx)
45c5dd:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
45c5e4:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
45c5eb:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
45c5f2:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
45c5f9:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
45c5fd:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
45c604:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
45c60b:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
45c612:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
45c619:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
45c620:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
45c624:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
45c628:	85 c9                	test   %ecx,%ecx
45c62a:	8b 07                	mov    (%edi),%eax
45c62c:	8b 70 04             	mov    0x4(%eax),%esi
45c62f:	8d 45 d8             	lea    -0x28(%ebp),%eax
45c632:	50                   	push   %eax
45c633:	68 dc 50 4c 00       	push   $0x4c50dc
45c638:	68 60 17 4b 00       	push   $0x4b1760
45c63d:	8b ce                	mov    %esi,%ecx
45c63f:	74 14                	je     0x45c655
45c641:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45c647:	8b cf                	mov    %edi,%ecx
45c649:	ff d6                	call   *%esi
45c64b:	84 c0                	test   %al,%al
45c64d:	0f 84 ba 00 00 00    	je     0x45c70d
45c653:	eb 0a                	jmp    0x45c65f
45c655:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45c65b:	8b cf                	mov    %edi,%ecx
45c65d:	ff d6                	call   *%esi
45c65f:	8b 07                	mov    (%edi),%eax
45c661:	8d 4d c0             	lea    -0x40(%ebp),%ecx
45c664:	51                   	push   %ecx
45c665:	68 dc 50 4c 00       	push   $0x4c50dc
45c66a:	68 6c 17 4b 00       	push   $0x4b176c
45c66f:	8b 70 04             	mov    0x4(%eax),%esi
45c672:	8b ce                	mov    %esi,%ecx
45c674:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45c67a:	8b cf                	mov    %edi,%ecx
45c67c:	ff d6                	call   *%esi
45c67e:	80 7d d8 00          	cmpb   $0x0,-0x28(%ebp)
45c682:	74 08                	je     0x45c68c
45c684:	8b 45 e8             	mov    -0x18(%ebp),%eax
45c687:	8b 4d ec             	mov    -0x14(%ebp),%ecx
45c68a:	eb 06                	jmp    0x45c692
45c68c:	8b 45 e0             	mov    -0x20(%ebp),%eax
45c68f:	8b 4d dc             	mov    -0x24(%ebp),%ecx
45c692:	50                   	push   %eax
45c693:	51                   	push   %ecx
45c694:	8d 4b 18             	lea    0x18(%ebx),%ecx
45c697:	e8 04 3e fb ff       	call   0x4104a0
45c69c:	80 7d c0 00          	cmpb   $0x0,-0x40(%ebp)
45c6a0:	74 08                	je     0x45c6aa
45c6a2:	8b 45 d0             	mov    -0x30(%ebp),%eax
45c6a5:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
45c6a8:	eb 06                	jmp    0x45c6b0
45c6aa:	8b 45 c8             	mov    -0x38(%ebp),%eax
45c6ad:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
45c6b0:	50                   	push   %eax
45c6b1:	51                   	push   %ecx
45c6b2:	8d 4b 24             	lea    0x24(%ebx),%ecx
45c6b5:	e8 e6 3d fb ff       	call   0x4104a0
45c6ba:	8b 55 d4             	mov    -0x2c(%ebp),%edx
45c6bd:	32 c0                	xor    %al,%al
45c6bf:	8b 4d d0             	mov    -0x30(%ebp),%ecx
45c6c2:	8b fa                	mov    %edx,%edi
45c6c4:	c7 43 34 00 00 00 00 	movl   $0x0,0x34(%ebx)
45c6cb:	f3 aa                	rep stos %al,%es:(%edi)
45c6cd:	52                   	push   %edx
45c6ce:	e8 af cf 01 00       	call   0x479682
45c6d3:	8b 55 ec             	mov    -0x14(%ebp),%edx
45c6d6:	32 c0                	xor    %al,%al
45c6d8:	8b 4d e8             	mov    -0x18(%ebp),%ecx
45c6db:	8b fa                	mov    %edx,%edi
45c6dd:	f3 aa                	rep stos %al,%es:(%edi)
45c6df:	52                   	push   %edx
45c6e0:	e8 9d cf 01 00       	call   0x479682
45c6e5:	83 c4 08             	add    $0x8,%esp
45c6e8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45c6eb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45c6f2:	59                   	pop    %ecx
45c6f3:	5f                   	pop    %edi
45c6f4:	5e                   	pop    %esi
45c6f5:	5b                   	pop    %ebx
45c6f6:	8b 8d 88 00 00 00    	mov    0x88(%ebp),%ecx
45c6fc:	33 cd                	xor    %ebp,%ecx
45c6fe:	e8 c7 d2 00 00       	call   0x4699ca
45c703:	8d a5 8c 00 00 00    	lea    0x8c(%ebp),%esp
45c709:	5d                   	pop    %ebp
45c70a:	c2 04 00             	ret    $0x4
45c70d:	68 08 70 4b 00       	push   $0x4b7008
45c712:	8d 4d 48             	lea    0x48(%ebp),%ecx
45c715:	e8 26 e9 fa ff       	call   0x40b040
45c71a:	68 60 65 4b 00       	push   $0x4b6560
45c71f:	8b d0                	mov    %eax,%edx
45c721:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
45c725:	8d 4d 30             	lea    0x30(%ebp),%ecx
45c728:	e8 33 50 fb ff       	call   0x411760
45c72d:	68 60 17 4b 00       	push   $0x4b1760
45c732:	8b d0                	mov    %eax,%edx
45c734:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
45c738:	8d 4d 18             	lea    0x18(%ebp),%ecx
45c73b:	e8 20 50 fb ff       	call   0x411760
45c740:	68 30 15 4b 00       	push   $0x4b1530
45c745:	8b d0                	mov    %eax,%edx
45c747:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
45c74b:	8d 4d 00             	lea    0x0(%ebp),%ecx
45c74e:	e8 0d 50 fb ff       	call   0x411760
45c753:	83 c4 0c             	add    $0xc,%esp
45c756:	50                   	push   %eax
45c757:	8d 4d 60             	lea    0x60(%ebp),%ecx
45c75a:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
45c75e:	e8 2d f7 fa ff       	call   0x40be90
45c763:	68 b8 1d 4c 00       	push   $0x4c1db8
45c768:	8d 45 60             	lea    0x60(%ebp),%eax
45c76b:	50                   	push   %eax
45c76c:	e8 3d ee 00 00       	call   0x46b5ae
45c771:	cc                   	int3
45c772:	cc                   	int3
45c773:	cc                   	int3
45c774:	cc                   	int3
45c775:	cc                   	int3
45c776:	cc                   	int3
45c777:	cc                   	int3
45c778:	cc                   	int3
45c779:	cc                   	int3
45c77a:	cc                   	int3
45c77b:	cc                   	int3
45c77c:	cc                   	int3
45c77d:	cc                   	int3
45c77e:	cc                   	int3
45c77f:	cc                   	int3
45c780:	51                   	push   %ecx
45c781:	53                   	push   %ebx
45c782:	55                   	push   %ebp
45c783:	56                   	push   %esi
45c784:	8b f1                	mov    %ecx,%esi
45c786:	57                   	push   %edi
45c787:	8b 46 14             	mov    0x14(%esi),%eax
45c78a:	83 f8 04             	cmp    $0x4,%eax
45c78d:	0f 87 20 02 00 00    	ja     0x45c9b3
45c793:	ff 24 85 c0 c9 45 00 	jmp    *0x45c9c0(,%eax,4)
45c79a:	83 7e 30 00          	cmpl   $0x0,0x30(%esi)
45c79e:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
45c7a5:	0f 84 20 01 00 00    	je     0x45c8cb
45c7ab:	33 c9                	xor    %ecx,%ecx
45c7ad:	eb 7c                	jmp    0x45c82b
45c7af:	8b 46 30             	mov    0x30(%esi),%eax
45c7b2:	2b 46 34             	sub    0x34(%esi),%eax
45c7b5:	8b 6e 10             	mov    0x10(%esi),%ebp
45c7b8:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
45c7bc:	2b cd                	sub    %ebp,%ecx
45c7be:	3b c1                	cmp    %ecx,%eax
45c7c0:	0f 42 c8             	cmovb  %eax,%ecx
45c7c3:	8b 06                	mov    (%esi),%eax
45c7c5:	89 4c 24 10          	mov    %ecx,0x10(%esp)
45c7c9:	8b b8 a4 00 00 00    	mov    0xa4(%eax),%edi
45c7cf:	8b cf                	mov    %edi,%ecx
45c7d1:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45c7d7:	8b ce                	mov    %esi,%ecx
45c7d9:	ff d7                	call   *%edi
45c7db:	ff 74 24 24          	push   0x24(%esp)
45c7df:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
45c7e3:	8b d8                	mov    %eax,%ebx
45c7e5:	6a 00                	push   $0x0
45c7e7:	ff 74 24 18          	push   0x18(%esp)
45c7eb:	03 cd                	add    %ebp,%ecx
45c7ed:	8b 3b                	mov    (%ebx),%edi
45c7ef:	51                   	push   %ecx
45c7f0:	68 40 4e 4c 00       	push   $0x4c4e40
45c7f5:	8b bf 88 00 00 00    	mov    0x88(%edi),%edi
45c7fb:	8b cf                	mov    %edi,%ecx
45c7fd:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45c803:	8b cb                	mov    %ebx,%ecx
45c805:	ff d7                	call   *%edi
45c807:	8b 56 10             	mov    0x10(%esi),%edx
45c80a:	8b c8                	mov    %eax,%ecx
45c80c:	f7 d9                	neg    %ecx