40cc2c:	c3                   	ret
40cc2d:	55                   	push   %ebp
40cc2e:	8b ec                	mov    %esp,%ebp
40cc30:	8b 4d 08             	mov    0x8(%ebp),%ecx
40cc33:	8b 01                	mov    (%ecx),%eax
40cc35:	53                   	push   %ebx
40cc36:	57                   	push   %edi
40cc37:	ff 50 3c             	call   *0x3c(%eax)
40cc3a:	8b 4d 10             	mov    0x10(%ebp),%ecx
40cc3d:	8b d0                	mov    %eax,%edx
40cc3f:	33 c0                	xor    %eax,%eax
40cc41:	39 01                	cmp    %eax,(%ecx)
40cc43:	0f 95 c0             	setne  %al
40cc46:	89 45 08             	mov    %eax,0x8(%ebp)
40cc49:	eb 4b                	jmp    0x40cc96
40cc4b:	8b 42 04             	mov    0x4(%edx),%eax
40cc4e:	8b 48 18             	mov    0x18(%eax),%ecx
40cc51:	83 f9 ff             	cmp    $0xffffffff,%ecx
40cc54:	74 3e                	je     0x40cc94
40cc56:	8b 7d 10             	mov    0x10(%ebp),%edi
40cc59:	8b 7f 04             	mov    0x4(%edi),%edi
40cc5c:	39 78 04             	cmp    %edi,0x4(%eax)
40cc5f:	75 28                	jne    0x40cc89
40cc61:	3b 4d 08             	cmp    0x8(%ebp),%ecx
40cc64:	75 23                	jne    0x40cc89
40cc66:	8b 48 24             	mov    0x24(%eax),%ecx
40cc69:	83 f9 ff             	cmp    $0xffffffff,%ecx
40cc6c:	75 0f                	jne    0x40cc7d
40cc6e:	8b 48 20             	mov    0x20(%eax),%ecx
40cc71:	83 f9 ff             	cmp    $0xffffffff,%ecx
40cc74:	74 26                	je     0x40cc9c
40cc76:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
40cc79:	74 21                	je     0x40cc9c
40cc7b:	eb 0c                	jmp    0x40cc89
40cc7d:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40cc80:	39 58 20             	cmp    %ebx,0x20(%eax)
40cc83:	77 04                	ja     0x40cc89
40cc85:	3b d9                	cmp    %ecx,%ebx
40cc87:	76 13                	jbe    0x40cc9c
40cc89:	8b 48 40             	mov    0x40(%eax),%ecx
40cc8c:	83 c0 28             	add    $0x28,%eax
40cc8f:	83 f9 ff             	cmp    $0xffffffff,%ecx
40cc92:	75 c8                	jne    0x40cc5c
40cc94:	8b 12                	mov    (%edx),%edx
40cc96:	85 d2                	test   %edx,%edx
40cc98:	75 b1                	jne    0x40cc4b
40cc9a:	33 c0                	xor    %eax,%eax
40cc9c:	5f                   	pop    %edi
40cc9d:	5b                   	pop    %ebx
40cc9e:	5d                   	pop    %ebp
40cc9f:	c2 0c 00             	ret    $0xc
40cca2:	b8 35 35 48 00       	mov    $0x483535,%eax
40cca7:	e8 d0 af 00 00       	call   0x417c7c
40ccac:	83 ec 34             	sub    $0x34,%esp
40ccaf:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
40ccb3:	83 4d e4 ff          	orl    $0xffffffff,-0x1c(%ebp)
40ccb7:	53                   	push   %ebx
40ccb8:	56                   	push   %esi
40ccb9:	57                   	push   %edi
40ccba:	8b 7d 0c             	mov    0xc(%ebp),%edi
40ccbd:	89 65 f0             	mov    %esp,-0x10(%ebp)
40ccc0:	57                   	push   %edi
40ccc1:	ff 75 08             	push   0x8(%ebp)
40ccc4:	8b d9                	mov    %ecx,%ebx
40ccc6:	53                   	push   %ebx
40ccc7:	e8 61 ff ff ff       	call   0x40cc2d
40cccc:	8b f0                	mov    %eax,%esi
40ccce:	33 d2                	xor    %edx,%edx
40ccd0:	3b f2                	cmp    %edx,%esi
40ccd2:	75 07                	jne    0x40ccdb
40ccd4:	33 c0                	xor    %eax,%eax
40ccd6:	e9 b5 01 00 00       	jmp    0x40ce90
40ccdb:	8b 45 10             	mov    0x10(%ebp),%eax
40ccde:	3b c2                	cmp    %edx,%eax
40cce0:	74 2c                	je     0x40cd0e
40cce2:	89 18                	mov    %ebx,(%eax)
40cce4:	8b 3f                	mov    (%edi),%edi
40cce6:	3b fa                	cmp    %edx,%edi
40cce8:	7c 15                	jl     0x40ccff
40ccea:	83 ff 01             	cmp    $0x1,%edi
40cced:	7e 0a                	jle    0x40ccf9
40ccef:	83 ff 02             	cmp    $0x2,%edi
40ccf2:	75 0b                	jne    0x40ccff
40ccf4:	8b 4e 14             	mov    0x14(%esi),%ecx
40ccf7:	eb 03                	jmp    0x40ccfc
40ccf9:	8b 4e 10             	mov    0x10(%esi),%ecx
40ccfc:	89 48 04             	mov    %ecx,0x4(%eax)
40ccff:	33 c9                	xor    %ecx,%ecx
40cd01:	39 50 04             	cmp    %edx,0x4(%eax)
40cd04:	0f 95 c1             	setne  %cl
40cd07:	8b c1                	mov    %ecx,%eax
40cd09:	e9 82 01 00 00       	jmp    0x40ce90
40cd0e:	8b 07                	mov    (%edi),%eax
40cd10:	33 c9                	xor    %ecx,%ecx
40cd12:	83 7e 24 ff          	cmpl   $0xffffffff,0x24(%esi)
40cd16:	89 55 10             	mov    %edx,0x10(%ebp)
40cd19:	0f 95 c1             	setne  %cl
40cd1c:	2b c2                	sub    %edx,%eax
40cd1e:	89 55 fc             	mov    %edx,-0x4(%ebp)
40cd21:	89 4d e8             	mov    %ecx,-0x18(%ebp)
40cd24:	0f 84 80 00 00 00    	je     0x40cdaa
40cd2a:	48                   	dec    %eax
40cd2b:	74 4d                	je     0x40cd7a
40cd2d:	48                   	dec    %eax
40cd2e:	74 2c                	je     0x40cd5c
40cd30:	48                   	dec    %eax
40cd31:	0f 85 50 01 00 00    	jne    0x40ce87
40cd37:	8b 76 10             	mov    0x10(%esi),%esi
40cd3a:	8d 45 ec             	lea    -0x14(%ebp),%eax
40cd3d:	50                   	push   %eax
40cd3e:	ff 77 20             	push   0x20(%edi)
40cd41:	3b ca                	cmp    %edx,%ecx
40cd43:	ff 77 1c             	push   0x1c(%edi)
40cd46:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
40cd4d:	8b cb                	mov    %ebx,%ecx
40cd4f:	74 07                	je     0x40cd58
40cd51:	ff 75 08             	push   0x8(%ebp)
40cd54:	ff d6                	call   *%esi
40cd56:	eb 3f                	jmp    0x40cd97
40cd58:	ff d6                	call   *%esi
40cd5a:	eb 3b                	jmp    0x40cd97
40cd5c:	8b 76 14             	mov    0x14(%esi),%esi
40cd5f:	3b ca                	cmp    %edx,%ecx
40cd61:	8b cb                	mov    %ebx,%ecx
40cd63:	74 07                	je     0x40cd6c
40cd65:	ff 75 08             	push   0x8(%ebp)
40cd68:	ff d6                	call   *%esi
40cd6a:	eb 02                	jmp    0x40cd6e
40cd6c:	ff d6                	call   *%esi
40cd6e:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
40cd72:	89 45 10             	mov    %eax,0x10(%ebp)
40cd75:	e9 0d 01 00 00       	jmp    0x40ce87
40cd7a:	8b 76 10             	mov    0x10(%esi),%esi
40cd7d:	8d 45 ec             	lea    -0x14(%ebp),%eax
40cd80:	3b ca                	cmp    %edx,%ecx
40cd82:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
40cd89:	50                   	push   %eax
40cd8a:	8b cb                	mov    %ebx,%ecx
40cd8c:	74 07                	je     0x40cd95
40cd8e:	ff 75 08             	push   0x8(%ebp)
40cd91:	ff d6                	call   *%esi
40cd93:	eb 02                	jmp    0x40cd97
40cd95:	ff d6                	call   *%esi
40cd97:	89 45 10             	mov    %eax,0x10(%ebp)
40cd9a:	33 c0                	xor    %eax,%eax
40cd9c:	39 45 ec             	cmp    %eax,-0x14(%ebp)
40cd9f:	0f 94 c0             	sete   %al
40cda2:	89 45 ec             	mov    %eax,-0x14(%ebp)
40cda5:	e9 c6 00 00 00       	jmp    0x40ce70
40cdaa:	8d 45 c0             	lea    -0x40(%ebp),%eax
40cdad:	50                   	push   %eax
40cdae:	e8 01 d6 ff ff       	call   0x40a3b4
40cdb3:	83 65 d0 00          	andl   $0x0,-0x30(%ebp)
40cdb7:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
40cdbb:	74 57                	je     0x40ce14
40cdbd:	6a 10                	push   $0x10
40cdbf:	ff 77 08             	push   0x8(%edi)
40cdc2:	8d 45 d0             	lea    -0x30(%ebp),%eax
40cdc5:	50                   	push   %eax
40cdc6:	e8 a5 aa 00 00       	call   0x417870
40cdcb:	8b 45 d8             	mov    -0x28(%ebp),%eax
40cdce:	40                   	inc    %eax
40cdcf:	89 45 d8             	mov    %eax,-0x28(%ebp)
40cdd2:	c1 e0 04             	shl    $0x4,%eax
40cdd5:	50                   	push   %eax
40cdd6:	e8 7a 32 03 00       	call   0x440055
40cddb:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40cdde:	83 c4 10             	add    $0x10,%esp
40cde1:	49                   	dec    %ecx
40cde2:	c1 e1 04             	shl    $0x4,%ecx
40cde5:	51                   	push   %ecx
40cde6:	8b 4f 08             	mov    0x8(%edi),%ecx
40cde9:	89 45 d0             	mov    %eax,-0x30(%ebp)
40cdec:	ff 31                	push   (%ecx)
40cdee:	50                   	push   %eax
40cdef:	e8 7c aa 00 00       	call   0x417870
40cdf4:	8b 45 d8             	mov    -0x28(%ebp),%eax
40cdf7:	8b 4d d0             	mov    -0x30(%ebp),%ecx
40cdfa:	83 c4 0c             	add    $0xc,%esp
40cdfd:	c1 e0 04             	shl    $0x4,%eax
40ce00:	8d 44 08 f0          	lea    -0x10(%eax,%ecx,1),%eax
40ce04:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ce07:	66 c7 00 03 00       	movw   $0x3,(%eax)
40ce0c:	89 48 08             	mov    %ecx,0x8(%eax)
40ce0f:	8d 45 d0             	lea    -0x30(%ebp),%eax
40ce12:	eb 03                	jmp    0x40ce17
40ce14:	8b 47 08             	mov    0x8(%edi),%eax
40ce17:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40ce1a:	51                   	push   %ecx
40ce1b:	50                   	push   %eax
40ce1c:	8d 45 c0             	lea    -0x40(%ebp),%eax
40ce1f:	50                   	push   %eax
40ce20:	6a 01                	push   $0x1
40ce22:	56                   	push   %esi
40ce23:	8b cb                	mov    %ebx,%ecx
40ce25:	e8 ec f0 06 00       	call   0x47bf16
40ce2a:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
40ce2e:	89 45 ec             	mov    %eax,-0x14(%ebp)
40ce31:	0f bf 45 c8          	movswl -0x38(%ebp),%eax
40ce35:	89 45 10             	mov    %eax,0x10(%ebp)
40ce38:	74 36                	je     0x40ce70
40ce3a:	ff 75 d0             	push   -0x30(%ebp)
40ce3d:	e8 3e 32 03 00       	call   0x440080
40ce42:	59                   	pop    %ecx
40ce43:	eb 2b                	jmp    0x40ce70
40ce45:	8b 45 0c             	mov    0xc(%ebp),%eax
40ce48:	8b 40 0c             	mov    0xc(%eax),%eax
40ce4b:	85 c0                	test   %eax,%eax
40ce4d:	74 09                	je     0x40ce58
40ce4f:	ff 75 e0             	push   -0x20(%ebp)
40ce52:	50                   	push   %eax
40ce53:	e8 4b f5 06 00       	call   0x47c3a3
40ce58:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40ce5b:	e8 b9 30 03 00       	call   0x43ff19
40ce60:	c7 45 ec 09 00 02 80 	movl   $0x80020009,-0x14(%ebp)
40ce67:	b8 6d ce 40 00       	mov    $0x40ce6d,%eax
40ce6c:	c3                   	ret
40ce6d:	8b 7d 0c             	mov    0xc(%ebp),%edi
40ce70:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
40ce74:	7d 11                	jge    0x40ce87
40ce76:	8b 47 10             	mov    0x10(%edi),%eax
40ce79:	85 c0                	test   %eax,%eax
40ce7b:	74 0a                	je     0x40ce87
40ce7d:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40ce80:	83 f9 ff             	cmp    $0xffffffff,%ecx
40ce83:	74 02                	je     0x40ce87
40ce85:	89 08                	mov    %ecx,(%eax)
40ce87:	8b 45 ec             	mov    -0x14(%ebp),%eax
40ce8a:	89 47 18             	mov    %eax,0x18(%edi)
40ce8d:	8b 45 10             	mov    0x10(%ebp),%eax
40ce90:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40ce93:	5f                   	pop    %edi
40ce94:	5e                   	pop    %esi
40ce95:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40ce9c:	5b                   	pop    %ebx
40ce9d:	c9                   	leave
40ce9e:	c2 0c 00             	ret    $0xc
40cea1:	8b c1                	mov    %ecx,%eax
40cea3:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40cea7:	89 08                	mov    %ecx,(%eax)
40cea9:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40cead:	89 48 04             	mov    %ecx,0x4(%eax)
40ceb0:	c2 08 00             	ret    $0x8
40ceb3:	8b 51 0c             	mov    0xc(%ecx),%edx
40ceb6:	2b 51 04             	sub    0x4(%ecx),%edx
40ceb9:	8b 44 24 04          	mov    0x4(%esp),%eax
40cebd:	56                   	push   %esi
40cebe:	8b 71 08             	mov    0x8(%ecx),%esi
40cec1:	2b 31                	sub    (%ecx),%esi
40cec3:	89 50 04             	mov    %edx,0x4(%eax)
40cec6:	89 30                	mov    %esi,(%eax)
40cec8:	5e                   	pop    %esi
40cec9:	c2 04 00             	ret    $0x4
40cecc:	ff 74 24 08          	push   0x8(%esp)
40ced0:	ff 74 24 08          	push   0x8(%esp)
40ced4:	51                   	push   %ecx
40ced5:	ff 15 30 07 4b 00    	call   *0x4b0730
40cedb:	c2 08 00             	ret    $0x8
40cede:	b8 08 c3 48 00       	mov    $0x48c308,%eax
40cee3:	c3                   	ret
40cee4:	b8 d8 c2 48 00       	mov    $0x48c2d8,%eax
40cee9:	c3                   	ret
40ceea:	8b 49 04             	mov    0x4(%ecx),%ecx
40ceed:	85 c9                	test   %ecx,%ecx
40ceef:	74 07                	je     0x40cef8
40cef1:	8b 01                	mov    (%ecx),%eax
40cef3:	6a 01                	push   $0x1
40cef5:	ff 50 04             	call   *0x4(%eax)
40cef8:	c3                   	ret
40cef9:	e9 a8 f7 02 00       	jmp    0x43c6a6
40cefe:	56                   	push   %esi
40ceff:	8b f1                	mov    %ecx,%esi
40cf01:	e8 e4 ff ff ff       	call   0x40ceea
40cf06:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
40cf0b:	74 07                	je     0x40cf14
40cf0d:	56                   	push   %esi
40cf0e:	e8 6d 31 03 00       	call   0x440080
40cf13:	59                   	pop    %ecx
40cf14:	8b c6                	mov    %esi,%eax
40cf16:	5e                   	pop    %esi
40cf17:	c2 04 00             	ret    $0x4
40cf1a:	56                   	push   %esi
40cf1b:	8b f1                	mov    %ecx,%esi
40cf1d:	8b 46 64             	mov    0x64(%esi),%eax
40cf20:	85 c0                	test   %eax,%eax
40cf22:	57                   	push   %edi
40cf23:	8b 7c 24 0c          	mov    0xc(%esp),%edi
40cf27:	74 0d                	je     0x40cf36
40cf29:	3b c7                	cmp    %edi,%eax
40cf2b:	74 09                	je     0x40cf36
40cf2d:	8b 40 50             	mov    0x50(%eax),%eax
40cf30:	8b 08                	mov    (%eax),%ecx
40cf32:	50                   	push   %eax
40cf33:	ff 51 18             	call   *0x18(%ecx)
40cf36:	89 7e 64             	mov    %edi,0x64(%esi)
40cf39:	5f                   	pop    %edi
40cf3a:	5e                   	pop    %esi
40cf3b:	c2 04 00             	ret    $0x4
40cf3e:	8b 41 64             	mov    0x64(%ecx),%eax
40cf41:	3b 44 24 04          	cmp    0x4(%esp),%eax
40cf45:	75 04                	jne    0x40cf4b
40cf47:	83 61 64 00          	andl   $0x0,0x64(%ecx)
40cf4b:	c2 04 00             	ret    $0x4
40cf4e:	56                   	push   %esi
40cf4f:	8b 74 24 08          	mov    0x8(%esp),%esi
40cf53:	57                   	push   %edi
40cf54:	8b f9                	mov    %ecx,%edi
40cf56:	eb 13                	jmp    0x40cf6b
40cf58:	8b 07                	mov    (%edi),%eax
40cf5a:	33 c9                	xor    %ecx,%ecx
40cf5c:	3b 74 24 14          	cmp    0x14(%esp),%esi
40cf60:	0f 94 c1             	sete   %cl
40cf63:	51                   	push   %ecx
40cf64:	56                   	push   %esi
40cf65:	8b cf                	mov    %edi,%ecx
40cf67:	ff 50 68             	call   *0x68(%eax)
40cf6a:	46                   	inc    %esi
40cf6b:	3b 74 24 10          	cmp    0x10(%esp),%esi
40cf6f:	7e e7                	jle    0x40cf58
40cf71:	5f                   	pop    %edi
40cf72:	5e                   	pop    %esi
40cf73:	c2 0c 00             	ret    $0xc
40cf76:	55                   	push   %ebp
40cf77:	8b ec                	mov    %esp,%ebp
40cf79:	8b 01                	mov    (%ecx),%eax
40cf7b:	8d 55 08             	lea    0x8(%ebp),%edx
40cf7e:	52                   	push   %edx
40cf7f:	ff 75 08             	push   0x8(%ebp)
40cf82:	ff 50 70             	call   *0x70(%eax)
40cf85:	ff 75 08             	push   0x8(%ebp)
40cf88:	e8 15 7d 03 00       	call   0x444ca2
40cf8d:	5d                   	pop    %ebp
40cf8e:	c2 04 00             	ret    $0x4
40cf91:	55                   	push   %ebp
40cf92:	8b ec                	mov    %esp,%ebp
40cf94:	81 ec 04 01 00 00    	sub    $0x104,%esp
40cf9a:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
40cf9f:	68 00 01 00 00       	push   $0x100
40cfa4:	8d 95 fc fe ff ff    	lea    -0x104(%ebp),%edx
40cfaa:	52                   	push   %edx
40cfab:	ff 75 08             	push   0x8(%ebp)
40cfae:	89 45 fc             	mov    %eax,-0x4(%ebp)
40cfb1:	8b 01                	mov    (%ecx),%eax
40cfb3:	ff 50 7c             	call   *0x7c(%eax)
40cfb6:	85 c0                	test   %eax,%eax
40cfb8:	75 0e                	jne    0x40cfc8
40cfba:	8b 45 0c             	mov    0xc(%ebp),%eax
40cfbd:	85 c0                	test   %eax,%eax
40cfbf:	74 03                	je     0x40cfc4
40cfc1:	83 20 00             	andl   $0x0,(%eax)