40d455:	cc                   	int3
40d456:	cc                   	int3
40d457:	cc                   	int3
40d458:	cc                   	int3
40d459:	cc                   	int3
40d45a:	cc                   	int3
40d45b:	cc                   	int3
40d45c:	cc                   	int3
40d45d:	cc                   	int3
40d45e:	cc                   	int3
40d45f:	cc                   	int3
40d460:	8b 41 18             	mov    0x18(%ecx),%eax
40d463:	c3                   	ret
40d464:	cc                   	int3
40d465:	cc                   	int3
40d466:	cc                   	int3
40d467:	cc                   	int3
40d468:	cc                   	int3
40d469:	cc                   	int3
40d46a:	cc                   	int3
40d46b:	cc                   	int3
40d46c:	cc                   	int3
40d46d:	cc                   	int3
40d46e:	cc                   	int3
40d46f:	cc                   	int3
40d470:	8b 41 10             	mov    0x10(%ecx),%eax
40d473:	c3                   	ret
40d474:	cc                   	int3
40d475:	cc                   	int3
40d476:	cc                   	int3
40d477:	cc                   	int3
40d478:	cc                   	int3
40d479:	cc                   	int3
40d47a:	cc                   	int3
40d47b:	cc                   	int3
40d47c:	cc                   	int3
40d47d:	cc                   	int3
40d47e:	cc                   	int3
40d47f:	cc                   	int3
40d480:	8b 41 14             	mov    0x14(%ecx),%eax
40d483:	c3                   	ret
40d484:	cc                   	int3
40d485:	cc                   	int3
40d486:	cc                   	int3
40d487:	cc                   	int3
40d488:	cc                   	int3
40d489:	cc                   	int3
40d48a:	cc                   	int3
40d48b:	cc                   	int3
40d48c:	cc                   	int3
40d48d:	cc                   	int3
40d48e:	cc                   	int3
40d48f:	cc                   	int3
40d490:	8b 41 20             	mov    0x20(%ecx),%eax
40d493:	c3                   	ret
40d494:	cc                   	int3
40d495:	cc                   	int3
40d496:	cc                   	int3
40d497:	cc                   	int3
40d498:	cc                   	int3
40d499:	cc                   	int3
40d49a:	cc                   	int3
40d49b:	cc                   	int3
40d49c:	cc                   	int3
40d49d:	cc                   	int3
40d49e:	cc                   	int3
40d49f:	cc                   	int3
40d4a0:	8b 41 08             	mov    0x8(%ecx),%eax
40d4a3:	c3                   	ret
40d4a4:	cc                   	int3
40d4a5:	cc                   	int3
40d4a6:	cc                   	int3
40d4a7:	cc                   	int3
40d4a8:	cc                   	int3
40d4a9:	cc                   	int3
40d4aa:	cc                   	int3
40d4ab:	cc                   	int3
40d4ac:	cc                   	int3
40d4ad:	cc                   	int3
40d4ae:	cc                   	int3
40d4af:	cc                   	int3
40d4b0:	8b 41 1c             	mov    0x1c(%ecx),%eax
40d4b3:	c3                   	ret
40d4b4:	cc                   	int3
40d4b5:	cc                   	int3
40d4b6:	cc                   	int3
40d4b7:	cc                   	int3
40d4b8:	cc                   	int3
40d4b9:	cc                   	int3
40d4ba:	cc                   	int3
40d4bb:	cc                   	int3
40d4bc:	cc                   	int3
40d4bd:	cc                   	int3
40d4be:	cc                   	int3
40d4bf:	cc                   	int3
40d4c0:	8b 41 0c             	mov    0xc(%ecx),%eax
40d4c3:	c3                   	ret
40d4c4:	cc                   	int3
40d4c5:	cc                   	int3
40d4c6:	cc                   	int3
40d4c7:	cc                   	int3
40d4c8:	cc                   	int3
40d4c9:	cc                   	int3
40d4ca:	cc                   	int3
40d4cb:	cc                   	int3
40d4cc:	cc                   	int3
40d4cd:	cc                   	int3
40d4ce:	cc                   	int3
40d4cf:	cc                   	int3
40d4d0:	8b ff                	mov    %edi,%edi
40d4d2:	55                   	push   %ebp
40d4d3:	8b ec                	mov    %esp,%ebp
40d4d5:	56                   	push   %esi
40d4d6:	8b f1                	mov    %ecx,%esi
40d4d8:	ff 76 0c             	push   0xc(%esi)
40d4db:	c7 06 e4 15 40 00    	movl   $0x4015e4,(%esi)
40d4e1:	ff 15 c4 21 41 00    	call   *0x4121c4
40d4e7:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40d4eb:	59                   	pop    %ecx
40d4ec:	74 08                	je     0x40d4f6
40d4ee:	56                   	push   %esi
40d4ef:	ff 15 e4 21 41 00    	call   *0x4121e4
40d4f5:	59                   	pop    %ecx
40d4f6:	8b c6                	mov    %esi,%eax
40d4f8:	5e                   	pop    %esi
40d4f9:	5d                   	pop    %ebp
40d4fa:	c2 04 00             	ret    $0x4
40d4fd:	8b ff                	mov    %edi,%edi
40d4ff:	55                   	push   %ebp
40d500:	8b ec                	mov    %esp,%ebp
40d502:	53                   	push   %ebx
40d503:	56                   	push   %esi
40d504:	8b d9                	mov    %ecx,%ebx
40d506:	33 c9                	xor    %ecx,%ecx
40d508:	8b f1                	mov    %ecx,%esi
40d50a:	57                   	push   %edi
40d50b:	bf 57 00 07 80       	mov    $0x80070057,%edi
40d510:	85 d2                	test   %edx,%edx
40d512:	74 08                	je     0x40d51c
40d514:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
40d51a:	76 02                	jbe    0x40d51e
40d51c:	8b f7                	mov    %edi,%esi
40d51e:	85 f6                	test   %esi,%esi
40d520:	78 62                	js     0x40d584
40d522:	8b f1                	mov    %ecx,%esi
40d524:	85 d2                	test   %edx,%edx
40d526:	75 17                	jne    0x40d53f
40d528:	8b 45 14             	mov    0x14(%ebp),%eax
40d52b:	66 39 08             	cmp    %cx,(%eax)
40d52e:	74 49                	je     0x40d579
40d530:	85 db                	test   %ebx,%ebx
40d532:	75 04                	jne    0x40d538
40d534:	8b f7                	mov    %edi,%esi
40d536:	eb 55                	jmp    0x40d58d
40d538:	be 7a 00 07 80       	mov    $0x8007007a,%esi
40d53d:	eb 3a                	jmp    0x40d579
40d53f:	ff 75 18             	push   0x18(%ebp)
40d542:	8d 7a ff             	lea    -0x1(%edx),%edi
40d545:	ff 75 14             	push   0x14(%ebp)
40d548:	57                   	push   %edi
40d549:	53                   	push   %ebx
40d54a:	ff 15 9c 21 41 00    	call   *0x41219c
40d550:	83 c4 10             	add    $0x10,%esp
40d553:	b9 7a 00 07 80       	mov    $0x8007007a,%ecx
40d558:	85 c0                	test   %eax,%eax
40d55a:	78 0a                	js     0x40d566
40d55c:	3b c7                	cmp    %edi,%eax
40d55e:	77 06                	ja     0x40d566
40d560:	74 06                	je     0x40d568
40d562:	8b f8                	mov    %eax,%edi
40d564:	eb 08                	jmp    0x40d56e
40d566:	8b f1                	mov    %ecx,%esi
40d568:	33 c0                	xor    %eax,%eax
40d56a:	66 89 04 7b          	mov    %ax,(%ebx,%edi,2)
40d56e:	8d 1c 7b             	lea    (%ebx,%edi,2),%ebx
40d571:	85 f6                	test   %esi,%esi
40d573:	79 04                	jns    0x40d579
40d575:	3b f1                	cmp    %ecx,%esi
40d577:	75 14                	jne    0x40d58d
40d579:	8b 45 08             	mov    0x8(%ebp),%eax
40d57c:	85 c0                	test   %eax,%eax
40d57e:	74 0d                	je     0x40d58d
40d580:	89 18                	mov    %ebx,(%eax)
40d582:	eb 09                	jmp    0x40d58d
40d584:	85 d2                	test   %edx,%edx
40d586:	74 05                	je     0x40d58d
40d588:	33 c0                	xor    %eax,%eax
40d58a:	66 89 03             	mov    %ax,(%ebx)
40d58d:	5f                   	pop    %edi
40d58e:	8b c6                	mov    %esi,%eax
40d590:	5e                   	pop    %esi
40d591:	5b                   	pop    %ebx
40d592:	5d                   	pop    %ebp
40d593:	c2 14 00             	ret    $0x14
40d596:	8b ff                	mov    %edi,%edi
40d598:	55                   	push   %ebp
40d599:	8b ec                	mov    %esp,%ebp
40d59b:	6a 00                	push   $0x0
40d59d:	6a 04                	push   $0x4
40d59f:	8d 45 10             	lea    0x10(%ebp),%eax
40d5a2:	50                   	push   %eax
40d5a3:	51                   	push   %ecx
40d5a4:	52                   	push   %edx
40d5a5:	6a 2b                	push   $0x2b
40d5a7:	ff 75 0c             	push   0xc(%ebp)
40d5aa:	ff 75 08             	push   0x8(%ebp)
40d5ad:	ff 15 2c 21 41 00    	call   *0x41212c
40d5b3:	83 c4 20             	add    $0x20,%esp
40d5b6:	5d                   	pop    %ebp
40d5b7:	c2 0c 00             	ret    $0xc
40d5ba:	8b ff                	mov    %edi,%edi
40d5bc:	55                   	push   %ebp
40d5bd:	8b ec                	mov    %esp,%ebp
40d5bf:	83 ec 28             	sub    $0x28,%esp
40d5c2:	53                   	push   %ebx
40d5c3:	56                   	push   %esi
40d5c4:	57                   	push   %edi
40d5c5:	8b f9                	mov    %ecx,%edi
40d5c7:	8b f2                	mov    %edx,%esi
40d5c9:	85 ff                	test   %edi,%edi
40d5cb:	0f 84 e9 00 00 00    	je     0x40d6ba
40d5d1:	33 db                	xor    %ebx,%ebx
40d5d3:	66 39 1f             	cmp    %bx,(%edi)
40d5d6:	0f 84 de 00 00 00    	je     0x40d6ba
40d5dc:	68 04 01 00 00       	push   $0x104
40d5e1:	8b ce                	mov    %esi,%ecx
40d5e3:	e8 05 a3 ff ff       	call   0x4078ed
40d5e8:	8b 46 04             	mov    0x4(%esi),%eax
40d5eb:	2b 06                	sub    (%esi),%eax
40d5ed:	53                   	push   %ebx
40d5ee:	ff 36                	push   (%esi)
40d5f0:	d1 f8                	sar    $1,%eax
40d5f2:	50                   	push   %eax
40d5f3:	57                   	push   %edi
40d5f4:	ff 15 84 20 41 00    	call   *0x412084
40d5fa:	8b c8                	mov    %eax,%ecx
40d5fc:	85 c9                	test   %ecx,%ecx
40d5fe:	0f 84 d1 00 00 00    	je     0x40d6d5
40d604:	8b 46 04             	mov    0x4(%esi),%eax
40d607:	2b 06                	sub    (%esi),%eax
40d609:	d1 f8                	sar    $1,%eax
40d60b:	3b c8                	cmp    %eax,%ecx
40d60d:	0f 86 bd 00 00 00    	jbe    0x40d6d0
40d613:	51                   	push   %ecx
40d614:	8b ce                	mov    %esi,%ecx
40d616:	e8 d2 a2 ff ff       	call   0x4078ed
40d61b:	8b 46 04             	mov    0x4(%esi),%eax
40d61e:	2b 06                	sub    (%esi),%eax
40d620:	53                   	push   %ebx
40d621:	ff 36                	push   (%esi)
40d623:	d1 f8                	sar    $1,%eax
40d625:	50                   	push   %eax
40d626:	57                   	push   %edi
40d627:	ff 15 84 20 41 00    	call   *0x412084
40d62d:	8b c8                	mov    %eax,%ecx
40d62f:	85 c9                	test   %ecx,%ecx
40d631:	75 44                	jne    0x40d677
40d633:	ff 15 70 20 41 00    	call   *0x412070
40d639:	8b f0                	mov    %eax,%esi
40d63b:	85 f6                	test   %esi,%esi
40d63d:	75 05                	jne    0x40d644
40d63f:	be 07 05 00 00       	mov    $0x507,%esi
40d644:	a1 00 10 41 00       	mov    0x411000,%eax
40d649:	3d 00 10 41 00       	cmp    $0x411000,%eax
40d64e:	74 20                	je     0x40d670
40d650:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40d654:	74 1a                	je     0x40d670
40d656:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
40d65a:	72 14                	jb     0x40d670
40d65c:	56                   	push   %esi
40d65d:	ff 70 14             	push   0x14(%eax)
40d660:	ba d4 47 40 00       	mov    $0x4047d4,%edx
40d665:	ff 70 10             	push   0x10(%eax)
40d668:	6a 0b                	push   $0xb
40d66a:	59                   	pop    %ecx
40d66b:	e8 26 ff ff ff       	call   0x40d596
40d670:	6a 21                	push   $0x21
40d672:	e9 9d 00 00 00       	jmp    0x40d714
40d677:	8b 46 04             	mov    0x4(%esi),%eax
40d67a:	2b 06                	sub    (%esi),%eax
40d67c:	d1 f8                	sar    $1,%eax
40d67e:	3b c8                	cmp    %eax,%ecx
40d680:	76 4e                	jbe    0x40d6d0
40d682:	a1 00 10 41 00       	mov    0x411000,%eax
40d687:	3d 00 10 41 00       	cmp    $0x411000,%eax
40d68c:	74 21                	je     0x40d6af
40d68e:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40d692:	74 1b                	je     0x40d6af
40d694:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
40d698:	72 15                	jb     0x40d6af
40d69a:	6a 7a                	push   $0x7a
40d69c:	ff 70 14             	push   0x14(%eax)
40d69f:	ba d4 47 40 00       	mov    $0x4047d4,%edx
40d6a4:	ff 70 10             	push   0x10(%eax)
40d6a7:	6a 0c                	push   $0xc
40d6a9:	59                   	pop    %ecx
40d6aa:	e8 e7 fe ff ff       	call   0x40d596
40d6af:	6a 24                	push   $0x24
40d6b1:	68 a4 47 40 00       	push   $0x4047a4
40d6b6:	6a 7a                	push   $0x7a
40d6b8:	eb 60                	jmp    0x40d71a
40d6ba:	8b 06                	mov    (%esi),%eax
40d6bc:	8b ce                	mov    %esi,%ecx
40d6be:	89 46 04             	mov    %eax,0x4(%esi)
40d6c1:	33 c0                	xor    %eax,%eax
40d6c3:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
40d6c7:	8d 45 fe             	lea    -0x2(%ebp),%eax
40d6ca:	50                   	push   %eax
40d6cb:	e8 86 03 00 00       	call   0x40da56
40d6d0:	5f                   	pop    %edi
40d6d1:	5e                   	pop    %esi
40d6d2:	5b                   	pop    %ebx
40d6d3:	c9                   	leave
40d6d4:	c3                   	ret
40d6d5:	ff 15 70 20 41 00    	call   *0x412070
40d6db:	8b f0                	mov    %eax,%esi
40d6dd:	85 f6                	test   %esi,%esi
40d6df:	75 05                	jne    0x40d6e6
40d6e1:	be 07 05 00 00       	mov    $0x507,%esi
40d6e6:	a1 00 10 41 00       	mov    0x411000,%eax
40d6eb:	3d 00 10 41 00       	cmp    $0x411000,%eax
40d6f0:	74 20                	je     0x40d712
40d6f2:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40d6f6:	74 1a                	je     0x40d712
40d6f8:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
40d6fc:	72 14                	jb     0x40d712
40d6fe:	56                   	push   %esi
40d6ff:	ff 70 14             	push   0x14(%eax)
40d702:	ba d4 47 40 00       	mov    $0x4047d4,%edx
40d707:	ff 70 10             	push   0x10(%eax)
40d70a:	6a 0a                	push   $0xa
40d70c:	59                   	pop    %ecx
40d70d:	e8 84 fe ff ff       	call   0x40d596
40d712:	6a 1c                	push   $0x1c
40d714:	68 a4 47 40 00       	push   $0x4047a4
40d719:	56                   	push   %esi
40d71a:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40d71d:	e8 df fc ff ff       	call   0x40d401
40d722:	68 60 03 41 00       	push   $0x410360
40d727:	8b c1                	mov    %ecx,%eax
40d729:	50                   	push   %eax
40d72a:	e8 e7 0e 00 00       	call   0x40e616
40d72f:	cc                   	int3
40d730:	8b ff                	mov    %edi,%edi
40d732:	55                   	push   %ebp
40d733:	8b ec                	mov    %esp,%ebp
40d735:	8b 45 08             	mov    0x8(%ebp),%eax
40d738:	8a 40 04             	mov    0x4(%eax),%al
40d73b:	88 41 04             	mov    %al,0x4(%ecx)
40d73e:	8b c1                	mov    %ecx,%eax