40e5c7:	8b 41 3c             	mov    0x3c(%ecx),%eax
40e5ca:	89 45 f8             	mov    %eax,-0x8(%ebp)
40e5cd:	8b 41 38             	mov    0x38(%ecx),%eax
40e5d0:	89 45 f4             	mov    %eax,-0xc(%ebp)
40e5d3:	8b 41 34             	mov    0x34(%ecx),%eax
40e5d6:	89 45 f0             	mov    %eax,-0x10(%ebp)
40e5d9:	8b 41 30             	mov    0x30(%ecx),%eax
40e5dc:	89 45 ec             	mov    %eax,-0x14(%ebp)
40e5df:	8b 41 2c             	mov    0x2c(%ecx),%eax
40e5e2:	89 45 e8             	mov    %eax,-0x18(%ebp)
40e5e5:	8b 41 28             	mov    0x28(%ecx),%eax
40e5e8:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40e5eb:	8b 41 10             	mov    0x10(%ecx),%eax
40e5ee:	89 45 e0             	mov    %eax,-0x20(%ebp)
40e5f1:	8b 41 0c             	mov    0xc(%ecx),%eax
40e5f4:	89 45 dc             	mov    %eax,-0x24(%ebp)
40e5f7:	8b 01                	mov    (%ecx),%eax
40e5f9:	89 45 d8             	mov    %eax,-0x28(%ebp)
40e5fc:	8b 41 44             	mov    0x44(%ecx),%eax
40e5ff:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40e602:	8b 41 20             	mov    0x20(%ecx),%eax
40e605:	89 45 d0             	mov    %eax,-0x30(%ebp)
40e608:	8b 41 1c             	mov    0x1c(%ecx),%eax
40e60b:	89 45 cc             	mov    %eax,-0x34(%ebp)
40e60e:	8b 41 04             	mov    0x4(%ecx),%eax
40e611:	89 45 c8             	mov    %eax,-0x38(%ebp)
40e614:	8d 45 b8             	lea    -0x48(%ebp),%eax
40e617:	89 45 c4             	mov    %eax,-0x3c(%ebp)
40e61a:	8d 45 fc             	lea    -0x4(%ebp),%eax
40e61d:	50                   	push   %eax
40e61e:	8d 45 f8             	lea    -0x8(%ebp),%eax
40e621:	50                   	push   %eax
40e622:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e625:	50                   	push   %eax
40e626:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e629:	50                   	push   %eax
40e62a:	8d 45 ec             	lea    -0x14(%ebp),%eax
40e62d:	50                   	push   %eax
40e62e:	8d 45 e8             	lea    -0x18(%ebp),%eax
40e631:	50                   	push   %eax
40e632:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40e635:	50                   	push   %eax
40e636:	8d 45 e0             	lea    -0x20(%ebp),%eax
40e639:	50                   	push   %eax
40e63a:	8d 45 dc             	lea    -0x24(%ebp),%eax
40e63d:	50                   	push   %eax
40e63e:	8d 45 d8             	lea    -0x28(%ebp),%eax
40e641:	50                   	push   %eax
40e642:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40e645:	50                   	push   %eax
40e646:	8d 45 d0             	lea    -0x30(%ebp),%eax
40e649:	50                   	push   %eax
40e64a:	8d 45 cc             	lea    -0x34(%ebp),%eax
40e64d:	50                   	push   %eax
40e64e:	8d 45 c8             	lea    -0x38(%ebp),%eax
40e651:	50                   	push   %eax
40e652:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40e655:	50                   	push   %eax
40e656:	51                   	push   %ecx
40e657:	51                   	push   %ecx
40e658:	8b ce                	mov    %esi,%ecx
40e65a:	e8 3c 68 ff ff       	call   0x404e9b
40e65f:	5e                   	pop    %esi
40e660:	c9                   	leave
40e661:	c2 04 00             	ret    $0x4
40e664:	8b ff                	mov    %edi,%edi
40e666:	55                   	push   %ebp
40e667:	8b ec                	mov    %esp,%ebp
40e669:	83 ec 50             	sub    $0x50,%esp
40e66c:	56                   	push   %esi
40e66d:	8b 71 04             	mov    0x4(%ecx),%esi
40e670:	83 3e 02             	cmpl   $0x2,(%esi)
40e673:	0f 86 cf 00 00 00    	jbe    0x40e748
40e679:	8b 4d 08             	mov    0x8(%ebp),%ecx
40e67c:	ba 44 48 40 00       	mov    $0x404844,%edx
40e681:	83 65 b4 00          	andl   $0x0,-0x4c(%ebp)
40e685:	c7 45 b0 00 00 00 01 	movl   $0x1000000,-0x50(%ebp)
40e68c:	8b 41 18             	mov    0x18(%ecx),%eax
40e68f:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e692:	8b 41 24             	mov    0x24(%ecx),%eax
40e695:	89 45 f8             	mov    %eax,-0x8(%ebp)
40e698:	8b 41 08             	mov    0x8(%ecx),%eax
40e69b:	89 45 f4             	mov    %eax,-0xc(%ebp)
40e69e:	8b 41 40             	mov    0x40(%ecx),%eax
40e6a1:	89 45 f0             	mov    %eax,-0x10(%ebp)
40e6a4:	8b 41 3c             	mov    0x3c(%ecx),%eax
40e6a7:	89 45 ec             	mov    %eax,-0x14(%ebp)
40e6aa:	8b 41 38             	mov    0x38(%ecx),%eax
40e6ad:	89 45 e8             	mov    %eax,-0x18(%ebp)
40e6b0:	8b 41 34             	mov    0x34(%ecx),%eax
40e6b3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40e6b6:	8b 41 30             	mov    0x30(%ecx),%eax
40e6b9:	89 45 e0             	mov    %eax,-0x20(%ebp)
40e6bc:	8b 41 2c             	mov    0x2c(%ecx),%eax
40e6bf:	89 45 dc             	mov    %eax,-0x24(%ebp)
40e6c2:	8b 41 28             	mov    0x28(%ecx),%eax
40e6c5:	89 45 d8             	mov    %eax,-0x28(%ebp)
40e6c8:	8b 41 10             	mov    0x10(%ecx),%eax
40e6cb:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40e6ce:	8b 41 0c             	mov    0xc(%ecx),%eax
40e6d1:	89 45 d0             	mov    %eax,-0x30(%ebp)
40e6d4:	8b 01                	mov    (%ecx),%eax
40e6d6:	89 45 cc             	mov    %eax,-0x34(%ebp)
40e6d9:	8b 41 44             	mov    0x44(%ecx),%eax
40e6dc:	89 45 c8             	mov    %eax,-0x38(%ebp)
40e6df:	8b 41 20             	mov    0x20(%ecx),%eax
40e6e2:	89 45 c4             	mov    %eax,-0x3c(%ebp)
40e6e5:	8b 41 1c             	mov    0x1c(%ecx),%eax
40e6e8:	89 45 c0             	mov    %eax,-0x40(%ebp)
40e6eb:	8b 41 04             	mov    0x4(%ecx),%eax
40e6ee:	89 45 bc             	mov    %eax,-0x44(%ebp)
40e6f1:	8d 45 b0             	lea    -0x50(%ebp),%eax
40e6f4:	89 45 b8             	mov    %eax,-0x48(%ebp)
40e6f7:	8d 45 fc             	lea    -0x4(%ebp),%eax
40e6fa:	50                   	push   %eax
40e6fb:	8d 45 f8             	lea    -0x8(%ebp),%eax
40e6fe:	50                   	push   %eax
40e6ff:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e702:	50                   	push   %eax
40e703:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e706:	50                   	push   %eax
40e707:	8d 45 ec             	lea    -0x14(%ebp),%eax
40e70a:	50                   	push   %eax
40e70b:	8d 45 e8             	lea    -0x18(%ebp),%eax
40e70e:	50                   	push   %eax
40e70f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40e712:	50                   	push   %eax
40e713:	8d 45 e0             	lea    -0x20(%ebp),%eax
40e716:	50                   	push   %eax
40e717:	8d 45 dc             	lea    -0x24(%ebp),%eax
40e71a:	50                   	push   %eax
40e71b:	8d 45 d8             	lea    -0x28(%ebp),%eax
40e71e:	50                   	push   %eax
40e71f:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40e722:	50                   	push   %eax
40e723:	8d 45 d0             	lea    -0x30(%ebp),%eax
40e726:	50                   	push   %eax
40e727:	8d 45 cc             	lea    -0x34(%ebp),%eax
40e72a:	50                   	push   %eax
40e72b:	8d 45 c8             	lea    -0x38(%ebp),%eax
40e72e:	50                   	push   %eax
40e72f:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40e732:	50                   	push   %eax
40e733:	8d 45 c0             	lea    -0x40(%ebp),%eax
40e736:	50                   	push   %eax
40e737:	8d 45 bc             	lea    -0x44(%ebp),%eax
40e73a:	50                   	push   %eax
40e73b:	8d 45 b8             	lea    -0x48(%ebp),%eax
40e73e:	50                   	push   %eax
40e73f:	51                   	push   %ecx
40e740:	51                   	push   %ecx
40e741:	8b ce                	mov    %esi,%ecx
40e743:	e8 3f 69 ff ff       	call   0x405087
40e748:	5e                   	pop    %esi
40e749:	c9                   	leave
40e74a:	c2 04 00             	ret    $0x4
40e74d:	cc                   	int3
40e74e:	cc                   	int3
40e74f:	cc                   	int3
40e750:	8b ff                	mov    %edi,%edi
40e752:	55                   	push   %ebp
40e753:	8b ec                	mov    %esp,%ebp
40e755:	83 e4 f8             	and    $0xfffffff8,%esp
40e758:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
40e75c:	75 1e                	jne    0x40e77c
40e75e:	83 79 0c 01          	cmpl   $0x1,0xc(%ecx)
40e762:	75 0a                	jne    0x40e76e
40e764:	ff 75 0c             	push   0xc(%ebp)
40e767:	e8 17 fe ff ff       	call   0x40e583
40e76c:	eb 0e                	jmp    0x40e77c
40e76e:	83 79 0c 02          	cmpl   $0x2,0xc(%ecx)
40e772:	75 08                	jne    0x40e77c
40e774:	ff 75 0c             	push   0xc(%ebp)
40e777:	e8 e8 fe ff ff       	call   0x40e664
40e77c:	8b e5                	mov    %ebp,%esp
40e77e:	5d                   	pop    %ebp
40e77f:	c2 08 00             	ret    $0x8
40e782:	8b ff                	mov    %edi,%edi
40e784:	51                   	push   %ecx
40e785:	80 79 08 00          	cmpb   $0x0,0x8(%ecx)
40e789:	c7 01 b8 17 40 00    	movl   $0x4017b8,(%ecx)
40e78f:	74 1c                	je     0x40e7ad
40e791:	8b 49 04             	mov    0x4(%ecx),%ecx
40e794:	8b 41 1c             	mov    0x1c(%ecx),%eax
40e797:	8b 51 18             	mov    0x18(%ecx),%edx
40e79a:	83 21 00             	andl   $0x0,(%ecx)
40e79d:	83 61 18 00          	andl   $0x0,0x18(%ecx)
40e7a1:	83 61 1c 00          	andl   $0x0,0x1c(%ecx)
40e7a5:	50                   	push   %eax
40e7a6:	52                   	push   %edx
40e7a7:	ff 15 08 b0 41 00    	call   *0x41b008
40e7ad:	59                   	pop    %ecx
40e7ae:	c3                   	ret
40e7af:	cc                   	int3
40e7b0:	8b ff                	mov    %edi,%edi
40e7b2:	55                   	push   %ebp
40e7b3:	8b ec                	mov    %esp,%ebp
40e7b5:	51                   	push   %ecx
40e7b6:	51                   	push   %ecx
40e7b7:	8d 45 f8             	lea    -0x8(%ebp),%eax
40e7ba:	50                   	push   %eax
40e7bb:	8d 45 fc             	lea    -0x4(%ebp),%eax
40e7be:	50                   	push   %eax
40e7bf:	6a 01                	push   $0x1
40e7c1:	68 94 a3 41 00       	push   $0x41a394
40e7c6:	ff 15 90 b1 41 00    	call   *0x41b190
40e7cc:	85 c0                	test   %eax,%eax
40e7ce:	74 0e                	je     0x40e7de
40e7d0:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40e7d4:	75 08                	jne    0x40e7de
40e7d6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40e7d9:	e8 a4 ff ff ff       	call   0x40e782
40e7de:	c9                   	leave
40e7df:	c3                   	ret
40e7e0:	8b ff                	mov    %edi,%edi
40e7e2:	55                   	push   %ebp
40e7e3:	8b ec                	mov    %esp,%ebp
40e7e5:	83 e4 f8             	and    $0xfffffff8,%esp
40e7e8:	83 ec 7c             	sub    $0x7c,%esp
40e7eb:	a1 18 51 41 00       	mov    0x415118,%eax
40e7f0:	33 c4                	xor    %esp,%eax
40e7f2:	89 44 24 78          	mov    %eax,0x78(%esp)
40e7f6:	53                   	push   %ebx
40e7f7:	56                   	push   %esi
40e7f8:	57                   	push   %edi
40e7f9:	8d 44 24 0c          	lea    0xc(%esp),%eax
40e7fd:	33 ff                	xor    %edi,%edi
40e7ff:	50                   	push   %eax
40e800:	8d 44 24 14          	lea    0x14(%esp),%eax
40e804:	89 7c 24 10          	mov    %edi,0x10(%esp)
40e808:	50                   	push   %eax
40e809:	57                   	push   %edi
40e80a:	68 94 a3 41 00       	push   $0x41a394
40e80f:	ff 15 90 b1 41 00    	call   *0x41b190
40e815:	85 c0                	test   %eax,%eax
40e817:	0f 84 ba 00 00 00    	je     0x40e8d7
40e81d:	39 7c 24 10          	cmp    %edi,0x10(%esp)
40e821:	0f 84 b0 00 00 00    	je     0x40e8d7
40e827:	c7 44 24 0c 98 a3 41 	movl   $0x41a398,0xc(%esp)
40e82e:	00
40e82f:	c7 05 98 a3 41 00 b8 	movl   $0x4017b8,0x41a398
40e836:	17 40 00
40e839:	68 b0 e7 40 00       	push   $0x40e7b0
40e83e:	c7 05 a8 a3 41 00 00 	movl   $0x415000,0x41a3a8
40e845:	50 41 00
40e848:	e8 7e 52 00 00       	call   0x413acb
40e84d:	8b 1d a8 a3 41 00    	mov    0x41a3a8,%ebx
40e853:	8d 7c 24 24          	lea    0x24(%esp),%edi
40e857:	89 1d 9c a3 41 00    	mov    %ebx,0x41a39c
40e85d:	8d 44 24 24          	lea    0x24(%esp),%eax
40e861:	c6 05 a0 a3 41 00 01 	movb   $0x1,0x41a3a0
40e868:	59                   	pop    %ecx
40e869:	8b 73 04             	mov    0x4(%ebx),%esi
40e86c:	83 ee 10             	sub    $0x10,%esi
40e86f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40e870:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40e871:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40e872:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40e873:	8d 73 18             	lea    0x18(%ebx),%esi
40e876:	33 ff                	xor    %edi,%edi
40e878:	56                   	push   %esi
40e879:	53                   	push   %ebx
40e87a:	68 20 4e 40 00       	push   $0x404e20
40e87f:	50                   	push   %eax
40e880:	89 7b 20             	mov    %edi,0x20(%ebx)
40e883:	89 7b 24             	mov    %edi,0x24(%ebx)
40e886:	ff 15 10 b0 41 00    	call   *0x41b010
40e88c:	85 c0                	test   %eax,%eax
40e88e:	75 15                	jne    0x40e8a5
40e890:	8b 4b 04             	mov    0x4(%ebx),%ecx
40e893:	0f b7 01             	movzwl (%ecx),%eax
40e896:	50                   	push   %eax
40e897:	51                   	push   %ecx
40e898:	6a 02                	push   $0x2
40e89a:	ff 76 04             	push   0x4(%esi)
40e89d:	ff 36                	push   (%esi)
40e89f:	ff 15 0c b0 41 00    	call   *0x41b00c
40e8a5:	a1 98 a3 41 00       	mov    0x41a398,%eax
40e8aa:	c7 05 a4 a3 41 00 01 	movl   $0x1,0x41a3a4
40e8b1:	00 00 00
40e8b4:	8b 70 04             	mov    0x4(%eax),%esi
40e8b7:	8b ce                	mov    %esi,%ecx
40e8b9:	ff 15 90 b3 41 00    	call   *0x41b390
40e8bf:	b9 98 a3 41 00       	mov    $0x41a398,%ecx
40e8c4:	ff d6                	call   *%esi
40e8c6:	68 98 a3 41 00       	push   $0x41a398
40e8cb:	57                   	push   %edi
40e8cc:	68 94 a3 41 00       	push   $0x41a394
40e8d1:	ff 15 94 b1 41 00    	call   *0x41b194
40e8d7:	8b 44 24 0c          	mov    0xc(%esp),%eax
40e8db:	8b 70 04             	mov    0x4(%eax),%esi
40e8de:	83 3e 05             	cmpl   $0x5,(%esi)
40e8e1:	76 70                	jbe    0x40e953
40e8e3:	68 00 40 00 00       	push   $0x4000
40e8e8:	57                   	push   %edi
40e8e9:	8b ce                	mov    %esi,%ecx
40e8eb:	e8 90 69 ff ff       	call   0x405280
40e8f0:	84 c0                	test   %al,%al
40e8f2:	74 5f                	je     0x40e953
40e8f4:	8d 44 24 14          	lea    0x14(%esp),%eax
40e8f8:	89 7c 24 14          	mov    %edi,0x14(%esp)
40e8fc:	89 44 24 70          	mov    %eax,0x70(%esp)
40e900:	8d 4c 24 18          	lea    0x18(%esp),%ecx
40e904:	8d 44 24 60          	lea    0x60(%esp),%eax
40e908:	c7 44 24 18 7c 3d 40 	movl   $0x403d7c,0x18(%esp)
40e90f:	00
40e910:	50                   	push   %eax
40e911:	c7 44 24 20 8c 3d 40 	movl   $0x403d8c,0x20(%esp)
40e918:	00
40e919:	89 7c 24 78          	mov    %edi,0x78(%esp)
40e91d:	c7 44 24 7c 04 00 00 	movl   $0x4,0x7c(%esp)
40e924:	00
40e925:	89 bc 24 80 00 00 00 	mov    %edi,0x80(%esp)
40e92c:	e8 84 69 ff ff       	call   0x4052b5
40e931:	8d 44 24 50          	lea    0x50(%esp),%eax
40e935:	50                   	push   %eax
40e936:	8d 4c 24 20          	lea    0x20(%esp),%ecx
40e93a:	e8 76 69 ff ff       	call   0x4052b5
40e93f:	8d 44 24 30          	lea    0x30(%esp),%eax
40e943:	50                   	push   %eax
40e944:	6a 05                	push   $0x5
40e946:	57                   	push   %edi
40e947:	57                   	push   %edi
40e948:	68 7a 49 40 00       	push   $0x40497a
40e94d:	56                   	push   %esi
40e94e:	e8 9c 69 ff ff       	call   0x4052ef
40e953:	8b 8c 24 84 00 00 00 	mov    0x84(%esp),%ecx
40e95a:	5f                   	pop    %edi
40e95b:	5e                   	pop    %esi
40e95c:	5b                   	pop    %ebx
40e95d:	33 cc                	xor    %esp,%ecx
40e95f:	e8 7c 4f 00 00       	call   0x4138e0
40e964:	8b e5                	mov    %ebp,%esp
40e966:	5d                   	pop    %ebp
40e967:	c2 04 00             	ret    $0x4
40e96a:	8b ff                	mov    %edi,%edi
40e96c:	55                   	push   %ebp
40e96d:	8b ec                	mov    %esp,%ebp
40e96f:	83 ec 24             	sub    $0x24,%esp
40e972:	a1 18 51 41 00       	mov    0x415118,%eax
40e977:	33 c5                	xor    %ebp,%eax
40e979:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e97c:	56                   	push   %esi
40e97d:	8b f2                	mov    %edx,%esi
40e97f:	b8 ff 00 00 00       	mov    $0xff,%eax
40e984:	57                   	push   %edi
40e985:	8b f9                	mov    %ecx,%edi
40e987:	66 39 06             	cmp    %ax,(%esi)
40e98a:	73 03                	jae    0x40e98f
40e98c:	56                   	push   %esi