4eccaf:	33 c0                	xor    %eax,%eax
4eccb1:	89 4c 24 14          	mov    %ecx,0x14(%esp)
4eccb5:	89 44 24 18          	mov    %eax,0x18(%esp)
4eccb9:	8b 14 24             	mov    (%esp),%edx
4eccbc:	8d 8a f8 00 00 00    	lea    0xf8(%edx),%ecx
4eccc2:	89 4c 24 30          	mov    %ecx,0x30(%esp)
4eccc6:	e9 40 01 00 00       	jmp    0x4ece0b
4ecccb:	8b 44 24 30          	mov    0x30(%esp),%eax
4ecccf:	8b 54 24 0c          	mov    0xc(%esp),%edx
4eccd3:	8b 18                	mov    (%eax),%ebx
4eccd5:	8b 44 24 08          	mov    0x8(%esp),%eax
4eccd9:	3b c2                	cmp    %edx,%eax
4eccdb:	73 05                	jae    0x4ecce2
4eccdd:	8b 4b 34             	mov    0x34(%ebx),%ecx
4ecce0:	eb 03                	jmp    0x4ecce5
4ecce2:	8b 4b 44             	mov    0x44(%ebx),%ecx
4ecce5:	89 4c 24 24          	mov    %ecx,0x24(%esp)
4ecce9:	8b 44 24 08          	mov    0x8(%esp),%eax
4ecced:	f7 6b 40             	imull  0x40(%ebx)
4eccf0:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4eccf4:	8b 54 24 20          	mov    0x20(%esp),%edx
4eccf8:	c1 e2 03             	shl    $0x3,%edx
4eccfb:	89 54 24 28          	mov    %edx,0x28(%esp)
4eccff:	33 c0                	xor    %eax,%eax
4ecd01:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4ecd05:	e9 e9 00 00 00       	jmp    0x4ecdf3
4ecd0a:	8b 56 08             	mov    0x8(%esi),%edx
4ecd0d:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4ecd11:	3b d1                	cmp    %ecx,%edx
4ecd13:	72 15                	jb     0x4ecd2a
4ecd15:	8b 44 24 20          	mov    0x20(%esp),%eax
4ecd19:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4ecd1d:	03 c2                	add    %edx,%eax
4ecd1f:	8b 4b 48             	mov    0x48(%ebx),%ecx
4ecd22:	3b c1                	cmp    %ecx,%eax
4ecd24:	0f 8d 80 00 00 00    	jge    0x4ecdaa
4ecd2a:	8b 44 24 14          	mov    0x14(%esp),%eax
4ecd2e:	8b 54 86 18          	mov    0x18(%esi,%eax,4),%edx
4ecd32:	52                   	push   %edx
4ecd33:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4ecd37:	51                   	push   %ecx
4ecd38:	8b 44 24 34          	mov    0x34(%esp),%eax
4ecd3c:	50                   	push   %eax
4ecd3d:	8b 54 24 30          	mov    0x30(%esp),%edx
4ecd41:	52                   	push   %edx
4ecd42:	8b d3                	mov    %ebx,%edx
4ecd44:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4ecd48:	8b 43 04             	mov    0x4(%ebx),%eax
4ecd4b:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
4ecd4e:	8b 44 24 10          	mov    0x10(%esp),%eax
4ecd52:	8b b8 68 01 00 00    	mov    0x168(%eax),%edi
4ecd58:	ff 57 04             	call   *0x4(%edi)
4ecd5b:	8b 43 34             	mov    0x34(%ebx),%eax
4ecd5e:	8b 54 24 24          	mov    0x24(%esp),%edx
4ecd62:	3b c2                	cmp    %edx,%eax
4ecd64:	7e 7d                	jle    0x4ecde3
4ecd66:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4ecd6a:	8b 54 24 24          	mov    0x24(%esp),%edx
4ecd6e:	03 ca                	add    %edx,%ecx
4ecd70:	8b d0                	mov    %eax,%edx
4ecd72:	8b 44 24 24          	mov    0x24(%esp),%eax
4ecd76:	2b d0                	sub    %eax,%edx
4ecd78:	8b 4c 8e 18          	mov    0x18(%esi,%ecx,4),%ecx
4ecd7c:	c1 e2 07             	shl    $0x7,%edx
4ecd7f:	8b c1                	mov    %ecx,%eax
4ecd81:	e8 82 d2 ff ff       	call   0x4ea008
4ecd86:	8b 44 24 24          	mov    0x24(%esp),%eax
4ecd8a:	eb 15                	jmp    0x4ecda1
4ecd8c:	8b 54 24 14          	mov    0x14(%esp),%edx
4ecd90:	03 d0                	add    %eax,%edx
4ecd92:	40                   	inc    %eax
4ecd93:	8b 4c 96 14          	mov    0x14(%esi,%edx,4),%ecx
4ecd97:	8b 54 96 18          	mov    0x18(%esi,%edx,4),%edx
4ecd9b:	66 8b 09             	mov    (%ecx),%cx
4ecd9e:	66 89 0a             	mov    %cx,(%edx)
4ecda1:	8b 53 34             	mov    0x34(%ebx),%edx
4ecda4:	3b c2                	cmp    %edx,%eax
4ecda6:	7c e4                	jl     0x4ecd8c
4ecda8:	eb 39                	jmp    0x4ecde3
4ecdaa:	8b 44 24 14          	mov    0x14(%esp),%eax
4ecdae:	8b 44 86 18          	mov    0x18(%esi,%eax,4),%eax
4ecdb2:	8b 53 34             	mov    0x34(%ebx),%edx
4ecdb5:	c1 e2 07             	shl    $0x7,%edx
4ecdb8:	e8 4b d2 ff ff       	call   0x4ea008
4ecdbd:	33 c0                	xor    %eax,%eax
4ecdbf:	8b 54 24 14          	mov    0x14(%esp),%edx
4ecdc3:	8d 54 96 14          	lea    0x14(%esi,%edx,4),%edx
4ecdc7:	eb 13                	jmp    0x4ecddc
4ecdc9:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4ecdcd:	8b 3a                	mov    (%edx),%edi
4ecdcf:	03 c8                	add    %eax,%ecx
4ecdd1:	40                   	inc    %eax
4ecdd2:	66 8b 3f             	mov    (%edi),%di
4ecdd5:	8b 4c 8e 18          	mov    0x18(%esi,%ecx,4),%ecx
4ecdd9:	66 89 39             	mov    %di,(%ecx)
4ecddc:	8b 4b 34             	mov    0x34(%ebx),%ecx
4ecddf:	3b c1                	cmp    %ecx,%eax
4ecde1:	7c e6                	jl     0x4ecdc9
4ecde3:	8b 43 34             	mov    0x34(%ebx),%eax
4ecde6:	01 44 24 14          	add    %eax,0x14(%esp)
4ecdea:	83 44 24 28 08       	addl   $0x8,0x28(%esp)
4ecdef:	ff 44 24 1c          	incl   0x1c(%esp)
4ecdf3:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4ecdf7:	8b 43 38             	mov    0x38(%ebx),%eax
4ecdfa:	3b d0                	cmp    %eax,%edx
4ecdfc:	0f 8c 08 ff ff ff    	jl     0x4ecd0a
4ece02:	ff 44 24 18          	incl   0x18(%esp)
4ece06:	83 44 24 30 04       	addl   $0x4,0x30(%esp)
4ece0b:	8b 14 24             	mov    (%esp),%edx
4ece0e:	8b 8a f4 00 00 00    	mov    0xf4(%edx),%ecx
4ece14:	8b 44 24 18          	mov    0x18(%esp),%eax
4ece18:	3b c8                	cmp    %eax,%ecx
4ece1a:	0f 8f ab fe ff ff    	jg     0x4ecccb
4ece20:	8d 56 18             	lea    0x18(%esi),%edx
4ece23:	8b 04 24             	mov    (%esp),%eax
4ece26:	8b 88 6c 01 00 00    	mov    0x16c(%eax),%ecx
4ece2c:	ff 51 04             	call   *0x4(%ecx)
4ece2f:	85 c0                	test   %eax,%eax
4ece31:	75 12                	jne    0x4ece45
4ece33:	8b 54 24 20          	mov    0x20(%esp),%edx
4ece37:	89 56 10             	mov    %edx,0x10(%esi)
4ece3a:	8b 44 24 08          	mov    0x8(%esp),%eax
4ece3e:	89 46 0c             	mov    %eax,0xc(%esi)
4ece41:	33 c0                	xor    %eax,%eax
4ece43:	eb 3c                	jmp    0x4ece81
4ece45:	ff 44 24 08          	incl   0x8(%esp)
4ece49:	8b 54 24 08          	mov    0x8(%esp),%edx
4ece4d:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4ece51:	3b d1                	cmp    %ecx,%edx
4ece53:	0f 86 54 fe ff ff    	jbe    0x4eccad
4ece59:	33 c0                	xor    %eax,%eax
4ece5b:	89 46 0c             	mov    %eax,0xc(%esi)
4ece5e:	ff 44 24 20          	incl   0x20(%esp)
4ece62:	8b 56 14             	mov    0x14(%esi),%edx
4ece65:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4ece69:	3b d1                	cmp    %ecx,%edx
4ece6b:	0f 8f 25 fe ff ff    	jg     0x4ecc96
4ece71:	ff 46 08             	incl   0x8(%esi)
4ece74:	8b 04 24             	mov    (%esp),%eax
4ece77:	e8 f8 fc ff ff       	call   0x4ecb74
4ece7c:	b8 01 00 00 00       	mov    $0x1,%eax
4ece81:	83 c4 34             	add    $0x34,%esp
4ece84:	5f                   	pop    %edi
4ece85:	5e                   	pop    %esi
4ece86:	5b                   	pop    %ebx
4ece87:	c3                   	ret
4ece88:	53                   	push   %ebx
4ece89:	56                   	push   %esi
4ece8a:	57                   	push   %edi
4ece8b:	83 c4 b8             	add    $0xffffffb8,%esp
4ece8e:	89 54 24 04          	mov    %edx,0x4(%esp)
4ece92:	89 04 24             	mov    %eax,(%esp)
4ece95:	8b 04 24             	mov    (%esp),%eax
4ece98:	8b 90 58 01 00 00    	mov    0x158(%eax),%edx
4ece9e:	89 54 24 08          	mov    %edx,0x8(%esp)
4ecea2:	8b 0c 24             	mov    (%esp),%ecx
4ecea5:	8b 81 f0 00 00 00    	mov    0xf0(%ecx),%eax
4eceab:	48                   	dec    %eax
4eceac:	33 d2                	xor    %edx,%edx
4eceae:	89 44 24 0c          	mov    %eax,0xc(%esp)
4eceb2:	89 54 24 1c          	mov    %edx,0x1c(%esp)
4eceb6:	8b 0c 24             	mov    (%esp),%ecx
4eceb9:	8b 41 44             	mov    0x44(%ecx),%eax
4ecebc:	89 44 24 28          	mov    %eax,0x28(%esp)
4ecec0:	8b 54 24 04          	mov    0x4(%esp),%edx
4ecec4:	8b ca                	mov    %edx,%ecx
4ecec6:	89 4c 24 40          	mov    %ecx,0x40(%esp)
4ececa:	8b 44 24 08          	mov    0x8(%esp),%eax
4ecece:	8d 50 40             	lea    0x40(%eax),%edx
4eced1:	89 54 24 34          	mov    %edx,0x34(%esp)
4eced5:	e9 1c 02 00 00       	jmp    0x4ed0f6
4eceda:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4ecede:	8b 41 0c             	mov    0xc(%ecx),%eax
4ecee1:	50                   	push   %eax
4ecee2:	6a 01                	push   $0x1
4ecee4:	8b 54 24 10          	mov    0x10(%esp),%edx
4ecee8:	8b 4a 08             	mov    0x8(%edx),%ecx
4eceeb:	0f af c8             	imul   %eax,%ecx
4eceee:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4ecef2:	8b 10                	mov    (%eax),%edx
4ecef4:	8b 44 24 08          	mov    0x8(%esp),%eax
4ecef8:	8b 58 04             	mov    0x4(%eax),%ebx
4ecefb:	ff 53 20             	call   *0x20(%ebx)
4ecefe:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4ecf02:	8b 44 24 08          	mov    0x8(%esp),%eax
4ecf06:	8b 50 08             	mov    0x8(%eax),%edx
4ecf09:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4ecf0d:	3b d1                	cmp    %ecx,%edx
4ecf0f:	73 0d                	jae    0x4ecf1e
4ecf11:	8b 44 24 28          	mov    0x28(%esp),%eax
4ecf15:	8b 50 0c             	mov    0xc(%eax),%edx
4ecf18:	89 54 24 24          	mov    %edx,0x24(%esp)
4ecf1c:	eb 22                	jmp    0x4ecf40
4ecf1e:	8b 54 24 28          	mov    0x28(%esp),%edx
4ecf22:	8b 44 24 28          	mov    0x28(%esp),%eax
4ecf26:	8b 4a 0c             	mov    0xc(%edx),%ecx
4ecf29:	8b 40 20             	mov    0x20(%eax),%eax
4ecf2c:	33 d2                	xor    %edx,%edx
4ecf2e:	f7 f1                	div    %ecx
4ecf30:	89 54 24 24          	mov    %edx,0x24(%esp)
4ecf34:	8b 44 24 24          	mov    0x24(%esp),%eax
4ecf38:	85 c0                	test   %eax,%eax
4ecf3a:	75 04                	jne    0x4ecf40
4ecf3c:	89 4c 24 24          	mov    %ecx,0x24(%esp)
4ecf40:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4ecf44:	8b 41 1c             	mov    0x1c(%ecx),%eax
4ecf47:	89 44 24 10          	mov    %eax,0x10(%esp)
4ecf4b:	8b 54 24 28          	mov    0x28(%esp),%edx
4ecf4f:	8b 44 24 10          	mov    0x10(%esp),%eax
4ecf53:	8b 5a 08             	mov    0x8(%edx),%ebx
4ecf56:	33 d2                	xor    %edx,%edx
4ecf58:	f7 f3                	div    %ebx
4ecf5a:	8b f2                	mov    %edx,%esi
4ecf5c:	85 f6                	test   %esi,%esi
4ecf5e:	7e 06                	jle    0x4ecf66
4ecf60:	8b c3                	mov    %ebx,%eax
4ecf62:	2b c6                	sub    %esi,%eax
4ecf64:	8b f0                	mov    %eax,%esi
4ecf66:	33 d2                	xor    %edx,%edx
4ecf68:	89 54 24 20          	mov    %edx,0x20(%esp)
4ecf6c:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4ecf70:	8b c1                	mov    %ecx,%eax
4ecf72:	89 44 24 3c          	mov    %eax,0x3c(%esp)
4ecf76:	8b 54 24 2c          	mov    0x2c(%esp),%edx
4ecf7a:	8b ca                	mov    %edx,%ecx
4ecf7c:	89 4c 24 38          	mov    %ecx,0x38(%esp)
4ecf80:	8b 44 24 20          	mov    0x20(%esp),%eax
4ecf84:	8b 54 24 24          	mov    0x24(%esp),%edx
4ecf88:	3b c2                	cmp    %edx,%eax
4ecf8a:	0f 8d 8b 00 00 00    	jge    0x4ed01b
4ecf90:	8b 4c 24 38          	mov    0x38(%esp),%ecx
4ecf94:	8b 01                	mov    (%ecx),%eax
4ecf96:	89 44 24 30          	mov    %eax,0x30(%esp)
4ecf9a:	8b 54 24 30          	mov    0x30(%esp),%edx
4ecf9e:	52                   	push   %edx
4ecf9f:	8b 4c 24 24          	mov    0x24(%esp),%ecx
4ecfa3:	c1 e1 03             	shl    $0x3,%ecx
4ecfa6:	51                   	push   %ecx
4ecfa7:	6a 00                	push   $0x0
4ecfa9:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4ecfad:	50                   	push   %eax
4ecfae:	8b 44 24 10          	mov    0x10(%esp),%eax
4ecfb2:	8b 54 24 4c          	mov    0x4c(%esp),%edx
4ecfb6:	8b b8 68 01 00 00    	mov    0x168(%eax),%edi
4ecfbc:	8b 0a                	mov    (%edx),%ecx
4ecfbe:	8b 54 24 38          	mov    0x38(%esp),%edx
4ecfc2:	ff 57 04             	call   *0x4(%edi)
4ecfc5:	85 f6                	test   %esi,%esi
4ecfc7:	7e 39                	jle    0x4ed002
4ecfc9:	8b 44 24 10          	mov    0x10(%esp),%eax
4ecfcd:	c1 e0 07             	shl    $0x7,%eax
4ecfd0:	01 44 24 30          	add    %eax,0x30(%esp)
4ecfd4:	8b d6                	mov    %esi,%edx
4ecfd6:	c1 e2 07             	shl    $0x7,%edx
4ecfd9:	8b 44 24 30          	mov    0x30(%esp),%eax
4ecfdd:	e8 26 d0 ff ff       	call   0x4ea008
4ecfe2:	8b 54 24 30          	mov    0x30(%esp),%edx
4ecfe6:	33 c0                	xor    %eax,%eax
4ecfe8:	3b f0                	cmp    %eax,%esi
4ecfea:	66 8b 4a 80          	mov    -0x80(%edx),%cx
4ecfee:	8b 54 24 30          	mov    0x30(%esp),%edx
4ecff2:	7e 0e                	jle    0x4ed002
4ecff4:	66 89 0a             	mov    %cx,(%edx)
4ecff7:	40                   	inc    %eax
4ecff8:	81 c2 80 00 00 00    	add    $0x80,%edx
4ecffe:	3b f0                	cmp    %eax,%esi
4ed000:	7f f2                	jg     0x4ecff4
4ed002:	ff 44 24 20          	incl   0x20(%esp)
4ed006:	83 44 24 38 04       	addl   $0x4,0x38(%esp)
4ed00b:	8b 44 24 20          	mov    0x20(%esp),%eax
4ed00f:	8b 4c 24 24          	mov    0x24(%esp),%ecx
4ed013:	3b c1                	cmp    %ecx,%eax
4ed015:	0f 8c 75 ff ff ff    	jl     0x4ecf90
4ed01b:	8b 44 24 08          	mov    0x8(%esp),%eax
4ed01f:	8b 50 08             	mov    0x8(%eax),%edx
4ed022:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4ed026:	3b d1                	cmp    %ecx,%edx
4ed028:	0f 85 b5 00 00 00    	jne    0x4ed0e3
4ed02e:	01 74 24 10          	add    %esi,0x10(%esp)
4ed032:	8b 44 24 10          	mov    0x10(%esp),%eax
4ed036:	33 d2                	xor    %edx,%edx
4ed038:	f7 f3                	div    %ebx
4ed03a:	89 44 24 14          	mov    %eax,0x14(%esp)
4ed03e:	8b 4c 24 24          	mov    0x24(%esp),%ecx
4ed042:	89 4c 24 20          	mov    %ecx,0x20(%esp)
4ed046:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4ed04a:	8b 54 24 20          	mov    0x20(%esp),%edx
4ed04e:	8d 0c 90             	lea    (%eax,%edx,4),%ecx
4ed051:	89 4c 24 44          	mov    %ecx,0x44(%esp)
4ed055:	eb 79                	jmp    0x4ed0d0
4ed057:	8b 44 24 44          	mov    0x44(%esp),%eax
4ed05b:	8b 10                	mov    (%eax),%edx
4ed05d:	89 54 24 30          	mov    %edx,0x30(%esp)
4ed061:	8b 4c 24 44          	mov    0x44(%esp),%ecx
4ed065:	8b 54 24 10          	mov    0x10(%esp),%edx
4ed069:	c1 e2 07             	shl    $0x7,%edx
4ed06c:	8b 44 24 30          	mov    0x30(%esp),%eax
4ed070:	8b 71 fc             	mov    -0x4(%ecx),%esi
4ed073:	e8 90 cf ff ff       	call   0x4ea008
4ed078:	33 c9                	xor    %ecx,%ecx
4ed07a:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4ed07e:	8b 44 24 18          	mov    0x18(%esp),%eax
4ed082:	8b 54 24 14          	mov    0x14(%esp),%edx
4ed086:	3b c2                	cmp    %edx,%eax
4ed088:	73 3d                	jae    0x4ed0c7
4ed08a:	8b cb                	mov    %ebx,%ecx
4ed08c:	33 c0                	xor    %eax,%eax
4ed08e:	c1 e1 07             	shl    $0x7,%ecx
4ed091:	3b d8                	cmp    %eax,%ebx
4ed093:	8b 54 24 30          	mov    0x30(%esp),%edx
4ed097:	66 8b 4c 0e 80       	mov    -0x80(%esi,%ecx,1),%cx
4ed09c:	7e 0e                	jle    0x4ed0ac
4ed09e:	66 89 0a             	mov    %cx,(%edx)
4ed0a1:	40                   	inc    %eax
4ed0a2:	81 c2 80 00 00 00    	add    $0x80,%edx
4ed0a8:	3b d8                	cmp    %eax,%ebx
4ed0aa:	7f f2                	jg     0x4ed09e
4ed0ac:	8b c3                	mov    %ebx,%eax
4ed0ae:	c1 e0 07             	shl    $0x7,%eax
4ed0b1:	01 44 24 30          	add    %eax,0x30(%esp)
4ed0b5:	03 f0                	add    %eax,%esi
4ed0b7:	ff 44 24 18          	incl   0x18(%esp)
4ed0bb:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4ed0bf:	8b 44 24 14          	mov    0x14(%esp),%eax
4ed0c3:	3b c8                	cmp    %eax,%ecx
4ed0c5:	72 c3                	jb     0x4ed08a
4ed0c7:	ff 44 24 20          	incl   0x20(%esp)
4ed0cb:	83 44 24 44 04       	addl   $0x4,0x44(%esp)
4ed0d0:	8b 54 24 28          	mov    0x28(%esp),%edx
4ed0d4:	8b 4a 0c             	mov    0xc(%edx),%ecx
4ed0d7:	8b 44 24 20          	mov    0x20(%esp),%eax
4ed0db:	3b c8                	cmp    %eax,%ecx
4ed0dd:	0f 8f 74 ff ff ff    	jg     0x4ed057
4ed0e3:	83 44 24 34 04       	addl   $0x4,0x34(%esp)
4ed0e8:	83 44 24 40 04       	addl   $0x4,0x40(%esp)
4ed0ed:	ff 44 24 1c          	incl   0x1c(%esp)
4ed0f1:	83 44 24 28 54       	addl   $0x54,0x28(%esp)
4ed0f6:	8b 14 24             	mov    (%esp),%edx
4ed0f9:	8b 4a 3c             	mov    0x3c(%edx),%ecx
4ed0fc:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4ed100:	3b c8                	cmp    %eax,%ecx
4ed102:	0f 8f d2 fd ff ff    	jg     0x4eceda
4ed108:	8b 54 24 04          	mov    0x4(%esp),%edx
4ed10c:	8b 04 24             	mov    (%esp),%eax
4ed10f:	e8 08 00 00 00       	call   0x4ed11c
4ed114:	83 c4 48             	add    $0x48,%esp
4ed117:	5f                   	pop    %edi
4ed118:	5e                   	pop    %esi
4ed119:	5b                   	pop    %ebx
4ed11a:	c3                   	ret