40e708:	79 16                	jns    0x40e720
40e70a:	56                   	push   %esi
40e70b:	68 7c 3d 40 00       	push   $0x403d7c
40e710:	68 ed 03 00 00       	push   $0x3ed
40e715:	68 e8 3c 40 00       	push   $0x403ce8
40e71a:	51                   	push   %ecx
40e71b:	e8 b2 28 00 00       	call   0x410fd2
40e720:	5f                   	pop    %edi
40e721:	8b c6                	mov    %esi,%eax
40e723:	5e                   	pop    %esi
40e724:	5b                   	pop    %ebx
40e725:	5d                   	pop    %ebp
40e726:	c2 04 00             	ret    $0x4
40e729:	6a 04                	push   $0x4
40e72b:	b8 3d 30 41 00       	mov    $0x41303d,%eax
40e730:	e8 29 3e 00 00       	call   0x41255e
40e735:	8b d9                	mov    %ecx,%ebx
40e737:	8b 4b 04             	mov    0x4(%ebx),%ecx
40e73a:	85 c9                	test   %ecx,%ecx
40e73c:	0f 84 8b 00 00 00    	je     0x40e7cd
40e742:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
40e746:	75 3c                	jne    0x40e784
40e748:	68 cc 3c 40 00       	push   $0x403ccc
40e74d:	ff 15 a4 61 41 00    	call   *0x4161a4
40e753:	8b f0                	mov    %eax,%esi
40e755:	89 75 f0             	mov    %esi,-0x10(%ebp)
40e758:	85 f6                	test   %esi,%esi
40e75a:	74 79                	je     0x40e7d5
40e75c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40e760:	8b 43 04             	mov    0x4(%ebx),%eax
40e763:	56                   	push   %esi
40e764:	6a 00                	push   $0x0
40e766:	50                   	push   %eax
40e767:	8b 08                	mov    (%eax),%ecx
40e769:	8b 79 20             	mov    0x20(%ecx),%edi
40e76c:	8b cf                	mov    %edi,%ecx
40e76e:	ff 15 28 63 41 00    	call   *0x416328
40e774:	ff d7                	call   *%edi
40e776:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40e77a:	56                   	push   %esi
40e77b:	ff 15 b8 61 41 00    	call   *0x4161b8
40e781:	8b 4b 04             	mov    0x4(%ebx),%ecx
40e784:	85 c9                	test   %ecx,%ecx
40e786:	74 45                	je     0x40e7cd
40e788:	e8 42 f2 ff ff       	call   0x40d9cf
40e78d:	8b 4b 04             	mov    0x4(%ebx),%ecx
40e790:	85 c9                	test   %ecx,%ecx
40e792:	74 39                	je     0x40e7cd
40e794:	8b 51 08             	mov    0x8(%ecx),%edx
40e797:	85 d2                	test   %edx,%edx
40e799:	74 1a                	je     0x40e7b5
40e79b:	8b 02                	mov    (%edx),%eax
40e79d:	52                   	push   %edx
40e79e:	8b 70 08             	mov    0x8(%eax),%esi
40e7a1:	8b ce                	mov    %esi,%ecx
40e7a3:	ff 15 28 63 41 00    	call   *0x416328
40e7a9:	ff d6                	call   *%esi
40e7ab:	8b 43 04             	mov    0x4(%ebx),%eax
40e7ae:	83 60 08 00          	andl   $0x0,0x8(%eax)
40e7b2:	8b 4b 04             	mov    0x4(%ebx),%ecx
40e7b5:	85 c9                	test   %ecx,%ecx
40e7b7:	74 14                	je     0x40e7cd
40e7b9:	8b 01                	mov    (%ecx),%eax
40e7bb:	51                   	push   %ecx
40e7bc:	8b 70 08             	mov    0x8(%eax),%esi
40e7bf:	8b ce                	mov    %esi,%ecx
40e7c1:	ff 15 28 63 41 00    	call   *0x416328
40e7c7:	ff d6                	call   *%esi
40e7c9:	83 63 04 00          	andl   $0x0,0x4(%ebx)
40e7cd:	e8 5a 3d 00 00       	call   0x41252c
40e7d2:	c2 04 00             	ret    $0x4
40e7d5:	b9 0e 00 07 80       	mov    $0x8007000e,%ecx
40e7da:	e8 10 64 ff ff       	call   0x404bef
40e7df:	cc                   	int3
40e7e0:	6a 18                	push   $0x18
40e7e2:	b8 78 30 41 00       	mov    $0x413078,%eax
40e7e7:	e8 72 3d 00 00       	call   0x41255e
40e7ec:	33 db                	xor    %ebx,%ebx
40e7ee:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40e7f1:	89 5d f0             	mov    %ebx,-0x10(%ebp)
40e7f4:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40e7f7:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40e7fa:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40e7fd:	8b 7d 08             	mov    0x8(%ebp),%edi
40e800:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40e804:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40e807:	85 ff                	test   %edi,%edi
40e809:	75 1f                	jne    0x40e82a
40e80b:	68 03 40 00 80       	push   $0x80004003
40e810:	68 b0 3d 40 00       	push   $0x403db0
40e815:	68 4f 04 00 00       	push   $0x44f
40e81a:	68 e8 3c 40 00       	push   $0x403ce8
40e81f:	51                   	push   %ecx
40e820:	e8 ad 27 00 00       	call   0x410fd2
40e825:	e9 d8 01 00 00       	jmp    0x40ea02
40e82a:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e82d:	50                   	push   %eax
40e82e:	68 08 2b 40 00       	push   $0x402b08
40e833:	6a 04                	push   $0x4
40e835:	53                   	push   %ebx
40e836:	68 c8 2c 40 00       	push   $0x402cc8
40e83b:	ff 15 20 62 41 00    	call   *0x416220
40e841:	8b f0                	mov    %eax,%esi
40e843:	85 f6                	test   %esi,%esi
40e845:	79 17                	jns    0x40e85e
40e847:	51                   	push   %ecx
40e848:	51                   	push   %ecx
40e849:	e8 c1 25 00 00       	call   0x410e0f
40e84e:	56                   	push   %esi
40e84f:	68 b0 3d 40 00       	push   $0x403db0
40e854:	68 5c 04 00 00       	push   $0x45c
40e859:	e9 38 01 00 00       	jmp    0x40e996
40e85e:	8b 4f 04             	mov    0x4(%edi),%ecx
40e861:	85 c9                	test   %ecx,%ecx
40e863:	75 14                	jne    0x40e879
40e865:	68 ff ff 00 80       	push   $0x8000ffff
40e86a:	68 b0 3d 40 00       	push   $0x403db0
40e86f:	68 66 04 00 00       	push   $0x466
40e874:	e9 1d 01 00 00       	jmp    0x40e996
40e879:	8b 01                	mov    (%ecx),%eax
40e87b:	8d 55 ec             	lea    -0x14(%ebp),%edx
40e87e:	52                   	push   %edx
40e87f:	51                   	push   %ecx
40e880:	8b 70 10             	mov    0x10(%eax),%esi
40e883:	8b ce                	mov    %esi,%ecx
40e885:	ff 15 28 63 41 00    	call   *0x416328
40e88b:	ff d6                	call   *%esi
40e88d:	85 c0                	test   %eax,%eax
40e88f:	79 10                	jns    0x40e8a1
40e891:	50                   	push   %eax
40e892:	68 b0 3d 40 00       	push   $0x403db0
40e897:	68 6c 04 00 00       	push   $0x46c
40e89c:	e9 f5 00 00 00       	jmp    0x40e996
40e8a1:	8b 45 f0             	mov    -0x10(%ebp),%eax
40e8a4:	ff 75 ec             	push   -0x14(%ebp)
40e8a7:	50                   	push   %eax
40e8a8:	8b 08                	mov    (%eax),%ecx
40e8aa:	8b 71 40             	mov    0x40(%ecx),%esi
40e8ad:	8b ce                	mov    %esi,%ecx
40e8af:	ff 15 28 63 41 00    	call   *0x416328
40e8b5:	ff d6                	call   *%esi
40e8b7:	85 c0                	test   %eax,%eax
40e8b9:	79 10                	jns    0x40e8cb
40e8bb:	50                   	push   %eax
40e8bc:	68 b0 3d 40 00       	push   $0x403db0
40e8c1:	68 71 04 00 00       	push   $0x471
40e8c6:	e9 cb 00 00 00       	jmp    0x40e996
40e8cb:	8b 45 f0             	mov    -0x10(%ebp),%eax
40e8ce:	53                   	push   %ebx
40e8cf:	6a 01                	push   $0x1
40e8d1:	53                   	push   %ebx
40e8d2:	8b 30                	mov    (%eax),%esi
40e8d4:	50                   	push   %eax
40e8d5:	8b 4e 1c             	mov    0x1c(%esi),%ecx
40e8d8:	ff 15 28 63 41 00    	call   *0x416328
40e8de:	ff 56 1c             	call   *0x1c(%esi)
40e8e1:	85 c0                	test   %eax,%eax
40e8e3:	79 10                	jns    0x40e8f5
40e8e5:	50                   	push   %eax
40e8e6:	68 b0 3d 40 00       	push   $0x403db0
40e8eb:	68 84 04 00 00       	push   $0x484
40e8f0:	e9 a1 00 00 00       	jmp    0x40e996
40e8f5:	8b 45 f0             	mov    -0x10(%ebp),%eax
40e8f8:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40e8fb:	53                   	push   %ebx
40e8fc:	51                   	push   %ecx
40e8fd:	50                   	push   %eax
40e8fe:	8b 30                	mov    (%eax),%esi
40e900:	8b 4e 2c             	mov    0x2c(%esi),%ecx
40e903:	ff 15 28 63 41 00    	call   *0x416328
40e909:	ff 56 2c             	call   *0x2c(%esi)
40e90c:	85 c0                	test   %eax,%eax
40e90e:	79 0d                	jns    0x40e91d
40e910:	50                   	push   %eax
40e911:	68 b0 3d 40 00       	push   $0x403db0
40e916:	68 8e 04 00 00       	push   $0x48e
40e91b:	eb 79                	jmp    0x40e996
40e91d:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
40e921:	75 11                	jne    0x40e934
40e923:	68 ff ff 00 80       	push   $0x8000ffff
40e928:	68 b0 3d 40 00       	push   $0x403db0
40e92d:	68 9a 04 00 00       	push   $0x49a
40e932:	eb 62                	jmp    0x40e996
40e934:	8b 45 f0             	mov    -0x10(%ebp),%eax
40e937:	8d 55 e8             	lea    -0x18(%ebp),%edx
40e93a:	52                   	push   %edx
40e93b:	50                   	push   %eax
40e93c:	8b 08                	mov    (%eax),%ecx
40e93e:	8b 71 20             	mov    0x20(%ecx),%esi
40e941:	8b ce                	mov    %esi,%ecx
40e943:	ff 15 28 63 41 00    	call   *0x416328
40e949:	ff d6                	call   *%esi
40e94b:	85 c0                	test   %eax,%eax
40e94d:	79 0d                	jns    0x40e95c
40e94f:	50                   	push   %eax
40e950:	68 b0 3d 40 00       	push   $0x403db0
40e955:	68 a4 04 00 00       	push   $0x4a4
40e95a:	eb 3a                	jmp    0x40e996
40e95c:	8b 4f 04             	mov    0x4(%edi),%ecx
40e95f:	85 c9                	test   %ecx,%ecx
40e961:	75 11                	jne    0x40e974
40e963:	68 ff ff 00 80       	push   $0x8000ffff
40e968:	68 b0 3d 40 00       	push   $0x403db0
40e96d:	68 ae 04 00 00       	push   $0x4ae
40e972:	eb 22                	jmp    0x40e996
40e974:	8b 01                	mov    (%ecx),%eax
40e976:	ff 75 e8             	push   -0x18(%ebp)
40e979:	51                   	push   %ecx
40e97a:	8b 70 1c             	mov    0x1c(%eax),%esi
40e97d:	8b ce                	mov    %esi,%ecx
40e97f:	ff 15 28 63 41 00    	call   *0x416328
40e985:	ff d6                	call   *%esi
40e987:	85 c0                	test   %eax,%eax
40e989:	79 77                	jns    0x40ea02
40e98b:	50                   	push   %eax
40e98c:	68 b0 3d 40 00       	push   $0x403db0
40e991:	68 b4 04 00 00       	push   $0x4b4
40e996:	68 e8 3c 40 00       	push   $0x403ce8
40e99b:	51                   	push   %ecx
40e99c:	e8 31 26 00 00       	call   0x410fd2
40e9a1:	8b 4f 04             	mov    0x4(%edi),%ecx
40e9a4:	85 c9                	test   %ecx,%ecx
40e9a6:	74 5a                	je     0x40ea02
40e9a8:	8d 45 e0             	lea    -0x20(%ebp),%eax
40e9ab:	50                   	push   %eax
40e9ac:	e8 4b f0 ff ff       	call   0x40d9fc
40e9b1:	85 c0                	test   %eax,%eax
40e9b3:	78 4d                	js     0x40ea02
40e9b5:	8b 5d e0             	mov    -0x20(%ebp),%ebx
40e9b8:	85 db                	test   %ebx,%ebx
40e9ba:	74 46                	je     0x40ea02
40e9bc:	68 cc 3c 40 00       	push   $0x403ccc
40e9c1:	ff 15 a4 61 41 00    	call   *0x4161a4
40e9c7:	8b f0                	mov    %eax,%esi
40e9c9:	89 75 e0             	mov    %esi,-0x20(%ebp)
40e9cc:	85 f6                	test   %esi,%esi
40e9ce:	74 56                	je     0x40ea26
40e9d0:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40e9d4:	8b 03                	mov    (%ebx),%eax
40e9d6:	56                   	push   %esi
40e9d7:	6a 00                	push   $0x0
40e9d9:	53                   	push   %ebx
40e9da:	8b 78 1c             	mov    0x1c(%eax),%edi
40e9dd:	8b cf                	mov    %edi,%ecx
40e9df:	ff 15 28 63 41 00    	call   *0x416328
40e9e5:	ff d7                	call   *%edi
40e9e7:	56                   	push   %esi
40e9e8:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40e9ec:	ff 15 b8 61 41 00    	call   *0x4161b8
40e9f2:	8b 03                	mov    (%ebx),%eax
40e9f4:	53                   	push   %ebx
40e9f5:	8b 70 08             	mov    0x8(%eax),%esi
40e9f8:	8b ce                	mov    %esi,%ecx
40e9fa:	ff 15 28 63 41 00    	call   *0x416328
40ea00:	ff d6                	call   *%esi
40ea02:	ff 75 ec             	push   -0x14(%ebp)
40ea05:	ff 15 b8 61 41 00    	call   *0x4161b8
40ea0b:	ff 75 e8             	push   -0x18(%ebp)
40ea0e:	ff 15 b8 61 41 00    	call   *0x4161b8
40ea14:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40ea17:	e8 d3 7f ff ff       	call   0x4069ef
40ea1c:	33 c0                	xor    %eax,%eax
40ea1e:	e8 09 3b 00 00       	call   0x41252c
40ea23:	c2 04 00             	ret    $0x4
40ea26:	b9 0e 00 07 80       	mov    $0x8007000e,%ecx
40ea2b:	e8 bf 61 ff ff       	call   0x404bef
40ea30:	cc                   	int3
40ea31:	cc                   	int3
40ea32:	cc                   	int3
40ea33:	cc                   	int3
40ea34:	cc                   	int3
40ea35:	cc                   	int3
40ea36:	cc                   	int3
40ea37:	cc                   	int3
40ea38:	cc                   	int3
40ea39:	cc                   	int3
40ea3a:	cc                   	int3
40ea3b:	cc                   	int3
40ea3c:	cc                   	int3
40ea3d:	cc                   	int3
40ea3e:	cc                   	int3
40ea3f:	cc                   	int3
40ea40:	6a 08                	push   $0x8
40ea42:	b8 9b 30 41 00       	mov    $0x41309b,%eax
40ea47:	e8 12 3b 00 00       	call   0x41255e
40ea4c:	33 db                	xor    %ebx,%ebx
40ea4e:	89 5d f0             	mov    %ebx,-0x10(%ebp)
40ea51:	8b 7d 08             	mov    0x8(%ebp),%edi
40ea54:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40ea57:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40ea5a:	85 ff                	test   %edi,%edi
40ea5c:	75 1f                	jne    0x40ea7d
40ea5e:	68 03 40 00 80       	push   $0x80004003
40ea63:	68 e0 3d 40 00       	push   $0x403de0
40ea68:	68 e4 04 00 00       	push   $0x4e4
40ea6d:	68 e8 3c 40 00       	push   $0x403ce8
40ea72:	51                   	push   %ecx
40ea73:	e8 5a 25 00 00       	call   0x410fd2
40ea78:	e9 3c 01 00 00       	jmp    0x40ebb9
40ea7d:	39 1f                	cmp    %ebx,(%edi)
40ea7f:	75 14                	jne    0x40ea95
40ea81:	68 03 40 00 80       	push   $0x80004003
40ea86:	68 e0 3d 40 00       	push   $0x403de0
40ea8b:	68 e5 04 00 00       	push   $0x4e5
40ea90:	e9 e9 00 00 00       	jmp    0x40eb7e
40ea95:	39 5f 04             	cmp    %ebx,0x4(%edi)
40ea98:	75 14                	jne    0x40eaae
40ea9a:	68 03 40 00 80       	push   $0x80004003
40ea9f:	68 e0 3d 40 00       	push   $0x403de0
40eaa4:	68 e6 04 00 00       	push   $0x4e6
40eaa9:	e9 d0 00 00 00       	jmp    0x40eb7e
40eaae:	8d 45 f0             	lea    -0x10(%ebp),%eax
40eab1:	50                   	push   %eax
40eab2:	68 08 2b 40 00       	push   $0x402b08
40eab7:	6a 04                	push   $0x4
40eab9:	53                   	push   %ebx
40eaba:	68 c8 2c 40 00       	push   $0x402cc8
40eabf:	ff 15 20 62 41 00    	call   *0x416220
40eac5:	8b f0                	mov    %eax,%esi
40eac7:	85 f6                	test   %esi,%esi
40eac9:	79 17                	jns    0x40eae2
40eacb:	51                   	push   %ecx
40eacc:	51                   	push   %ecx
40eacd:	e8 3d 23 00 00       	call   0x410e0f
40ead2:	56                   	push   %esi
40ead3:	68 e0 3d 40 00       	push   $0x403de0
40ead8:	68 f3 04 00 00       	push   $0x4f3
40eadd:	e9 9c 00 00 00       	jmp    0x40eb7e
40eae2:	8b 45 f0             	mov    -0x10(%ebp),%eax
40eae5:	ff 37                	push   (%edi)
40eae7:	50                   	push   %eax
40eae8:	8b 08                	mov    (%eax),%ecx
40eaea:	8b 71 24             	mov    0x24(%ecx),%esi
40eaed:	8b ce                	mov    %esi,%ecx
40eaef:	ff 15 28 63 41 00    	call   *0x416328
40eaf5:	ff d6                	call   *%esi
40eaf7:	85 c0                	test   %eax,%eax
40eaf9:	79 0d                	jns    0x40eb08
40eafb:	50                   	push   %eax
40eafc:	68 e0 3d 40 00       	push   $0x403de0
40eb01:	68 fa 04 00 00       	push   $0x4fa
40eb06:	eb 76                	jmp    0x40eb7e
40eb08:	8b 45 f0             	mov    -0x10(%ebp),%eax
40eb0b:	ff 77 04             	push   0x4(%edi)
40eb0e:	50                   	push   %eax
40eb0f:	8b 08                	mov    (%eax),%ecx
40eb11:	8b 71 48             	mov    0x48(%ecx),%esi
40eb14:	8b ce                	mov    %esi,%ecx
40eb16:	ff 15 28 63 41 00    	call   *0x416328
40eb1c:	ff d6                	call   *%esi