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
4ed11b:	90                   	nop
4ed11c:	53                   	push   %ebx
4ed11d:	56                   	push   %esi
4ed11e:	57                   	push   %edi
4ed11f:	83 c4 c8             	add    $0xffffffc8,%esp
4ed122:	33 c9                	xor    %ecx,%ecx
4ed124:	89 04 24             	mov    %eax,(%esp)
4ed127:	8b 04 24             	mov    (%esp),%eax
4ed12a:	8d 74 24 28          	lea    0x28(%esp),%esi
4ed12e:	8b 90 58 01 00 00    	mov    0x158(%eax),%edx
4ed134:	89 54 24 04          	mov    %edx,0x4(%esp)
4ed138:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
4ed13c:	8b 04 24             	mov    (%esp),%eax
4ed13f:	8d 98 f8 00 00 00    	lea    0xf8(%eax),%ebx
4ed145:	eb 3f                	jmp    0x4ed186
4ed147:	8b 03                	mov    (%ebx),%eax
4ed149:	89 44 24 18          	mov    %eax,0x18(%esp)
4ed14d:	8b 54 24 18          	mov    0x18(%esp),%edx
4ed151:	8b 7a 0c             	mov    0xc(%edx),%edi
4ed154:	57                   	push   %edi
4ed155:	6a 00                	push   $0x0
4ed157:	8b 44 24 0c          	mov    0xc(%esp),%eax
4ed15b:	8b 54 24 20          	mov    0x20(%esp),%edx
4ed15f:	8b 48 08             	mov    0x8(%eax),%ecx
4ed162:	8b 42 04             	mov    0x4(%edx),%eax
4ed165:	0f af cf             	imul   %edi,%ecx
4ed168:	8b 54 24 0c          	mov    0xc(%esp),%edx
4ed16c:	8b 54 82 40          	mov    0x40(%edx,%eax,4),%edx
4ed170:	8b 44 24 08          	mov    0x8(%esp),%eax
4ed174:	8b 78 04             	mov    0x4(%eax),%edi
4ed177:	ff 57 20             	call   *0x20(%edi)
4ed17a:	89 06                	mov    %eax,(%esi)
4ed17c:	83 c6 04             	add    $0x4,%esi
4ed17f:	ff 44 24 0c          	incl   0xc(%esp)
4ed183:	83 c3 04             	add    $0x4,%ebx
4ed186:	8b 04 24             	mov    (%esp),%eax
4ed189:	8b 90 f4 00 00 00    	mov    0xf4(%eax),%edx
4ed18f:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4ed193:	3b d1                	cmp    %ecx,%edx
4ed195:	7f b0                	jg     0x4ed147
4ed197:	8b 44 24 04          	mov    0x4(%esp),%eax
4ed19b:	8b 50 10             	mov    0x10(%eax),%edx
4ed19e:	89 54 24 10          	mov    %edx,0x10(%esp)
4ed1a2:	e9 19 01 00 00       	jmp    0x4ed2c0
4ed1a7:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4ed1ab:	8b 41 0c             	mov    0xc(%ecx),%eax
4ed1ae:	89 44 24 08          	mov    %eax,0x8(%esp)
4ed1b2:	e9 e7 00 00 00       	jmp    0x4ed29e
4ed1b7:	33 db                	xor    %ebx,%ebx
4ed1b9:	33 c0                	xor    %eax,%eax
4ed1bb:	89 44 24 0c          	mov    %eax,0xc(%esp)
4ed1bf:	8d 54 24 28          	lea    0x28(%esp),%edx
4ed1c3:	89 54 24 24          	mov    %edx,0x24(%esp)
4ed1c7:	8b 0c 24             	mov    (%esp),%ecx
4ed1ca:	8d 81 f8 00 00 00    	lea    0xf8(%ecx),%eax
4ed1d0:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4ed1d4:	eb 7e                	jmp    0x4ed254
4ed1d6:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4ed1da:	8b 0a                	mov    (%edx),%ecx
4ed1dc:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4ed1e0:	8b 44 24 18          	mov    0x18(%esp),%eax
4ed1e4:	8b 50 34             	mov    0x34(%eax),%edx
4ed1e7:	0f af 54 24 08       	imul   0x8(%esp),%edx
4ed1ec:	89 54 24 14          	mov    %edx,0x14(%esp)
4ed1f0:	33 f6                	xor    %esi,%esi
4ed1f2:	8b 44 24 24          	mov    0x24(%esp),%eax
4ed1f6:	8b d0                	mov    %eax,%edx
4ed1f8:	89 54 24 20          	mov    %edx,0x20(%esp)
4ed1fc:	eb 3d                	jmp    0x4ed23b
4ed1fe:	8b 44 24 20          	mov    0x20(%esp),%eax
4ed202:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4ed206:	03 ce                	add    %esi,%ecx
4ed208:	8b 10                	mov    (%eax),%edx
4ed20a:	8b 44 24 14          	mov    0x14(%esp),%eax
4ed20e:	c1 e0 07             	shl    $0x7,%eax
4ed211:	8b 14 8a             	mov    (%edx,%ecx,4),%edx
4ed214:	03 d0                	add    %eax,%edx
4ed216:	8b 44 24 04          	mov    0x4(%esp),%eax
4ed21a:	33 c9                	xor    %ecx,%ecx
4ed21c:	8d 44 98 18          	lea    0x18(%eax,%ebx,4),%eax
4ed220:	eb 0d                	jmp    0x4ed22f
4ed222:	89 10                	mov    %edx,(%eax)
4ed224:	81 c2 80 00 00 00    	add    $0x80,%edx
4ed22a:	43                   	inc    %ebx
4ed22b:	83 c0 04             	add    $0x4,%eax
4ed22e:	41                   	inc    %ecx
4ed22f:	8b 7c 24 18          	mov    0x18(%esp),%edi
4ed233:	8b 7f 34             	mov    0x34(%edi),%edi
4ed236:	3b cf                	cmp    %edi,%ecx
4ed238:	7c e8                	jl     0x4ed222
4ed23a:	46                   	inc    %esi
4ed23b:	8b 44 24 18          	mov    0x18(%esp),%eax
4ed23f:	8b 50 38             	mov    0x38(%eax),%edx
4ed242:	3b f2                	cmp    %edx,%esi
4ed244:	7c b8                	jl     0x4ed1fe
4ed246:	ff 44 24 0c          	incl   0xc(%esp)
4ed24a:	83 44 24 24 04       	addl   $0x4,0x24(%esp)
4ed24f:	83 44 24 1c 04       	addl   $0x4,0x1c(%esp)
4ed254:	8b 0c 24             	mov    (%esp),%ecx
4ed257:	8b 81 f4 00 00 00    	mov    0xf4(%ecx),%eax
4ed25d:	8b 54 24 0c          	mov    0xc(%esp),%edx
4ed261:	3b c2                	cmp    %edx,%eax
4ed263:	0f 8f 6d ff ff ff    	jg     0x4ed1d6
4ed269:	8b 04 24             	mov    (%esp),%eax
4ed26c:	8b 54 24 04          	mov    0x4(%esp),%edx
4ed270:	83 c2 18             	add    $0x18,%edx
4ed273:	8b 88 6c 01 00 00    	mov    0x16c(%eax),%ecx
4ed279:	ff 51 04             	call   *0x4(%ecx)
4ed27c:	85 c0                	test   %eax,%eax
4ed27e:	75 1a                	jne    0x4ed29a
4ed280:	8b 44 24 04          	mov    0x4(%esp),%eax
4ed284:	8b 54 24 10          	mov    0x10(%esp),%edx
4ed288:	89 50 10             	mov    %edx,0x10(%eax)
4ed28b:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4ed28f:	8b 44 24 08          	mov    0x8(%esp),%eax
4ed293:	89 41 0c             	mov    %eax,0xc(%ecx)
4ed296:	33 c0                	xor    %eax,%eax
4ed298:	eb 4d                	jmp    0x4ed2e7
4ed29a:	ff 44 24 08          	incl   0x8(%esp)
4ed29e:	8b 14 24             	mov    (%esp),%edx
4ed2a1:	8b 8a 08 01 00 00    	mov    0x108(%edx),%ecx
4ed2a7:	8b 44 24 08          	mov    0x8(%esp),%eax
4ed2ab:	3b c8                	cmp    %eax,%ecx
4ed2ad:	0f 87 04 ff ff ff    	ja     0x4ed1b7
4ed2b3:	8b 54 24 04          	mov    0x4(%esp),%edx
4ed2b7:	33 c9                	xor    %ecx,%ecx
4ed2b9:	89 4a 0c             	mov    %ecx,0xc(%edx)
4ed2bc:	ff 44 24 10          	incl   0x10(%esp)
4ed2c0:	8b 44 24 04          	mov    0x4(%esp),%eax
4ed2c4:	8b 50 14             	mov    0x14(%eax),%edx
4ed2c7:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4ed2cb:	3b d1                	cmp    %ecx,%edx
4ed2cd:	0f 8f d4 fe ff ff    	jg     0x4ed1a7
4ed2d3:	8b 44 24 04          	mov    0x4(%esp),%eax
4ed2d7:	ff 40 08             	incl   0x8(%eax)
4ed2da:	8b 04 24             	mov    (%esp),%eax
4ed2dd:	e8 92 f8 ff ff       	call   0x4ecb74
4ed2e2:	b8 01 00 00 00       	mov    $0x1,%eax
4ed2e7:	83 c4 38             	add    $0x38,%esp
4ed2ea:	5f                   	pop    %edi
4ed2eb:	5e                   	pop    %esi
4ed2ec:	5b                   	pop    %ebx
4ed2ed:	c3                   	ret
4ed2ee:	90                   	nop
4ed2ef:	90                   	nop
4ed2f0:	53                   	push   %ebx
4ed2f1:	56                   	push   %esi
4ed2f2:	8b f0                	mov    %eax,%esi
4ed2f4:	57                   	push   %edi
4ed2f5:	8b c6                	mov    %esi,%eax
4ed2f7:	55                   	push   %ebp
4ed2f8:	8b da                	mov    %edx,%ebx
4ed2fa:	ba 01 00 00 00       	mov    $0x1,%edx
4ed2ff:	8b 78 04             	mov    0x4(%eax),%edi
4ed302:	83 c4 f8             	add    $0xfffffff8,%esp
4ed305:	b9 68 00 00 00       	mov    $0x68,%ecx
4ed30a:	ff 17                	call   *(%edi)
4ed30c:	89 04 24             	mov    %eax,(%esp)
4ed30f:	85 db                	test   %ebx,%ebx
4ed311:	8b 04 24             	mov    (%esp),%eax
4ed314:	89 86 58 01 00 00    	mov    %eax,0x158(%esi)
4ed31a:	8b 14 24             	mov    (%esp),%edx
4ed31d:	c7 02 c0 cb 4e 00    	movl   $0x4ecbc0,(%edx)
4ed323:	74 55                	je     0x4ed37a
4ed325:	33 c9                	xor    %ecx,%ecx
4ed327:	89 4c 24 04          	mov    %ecx,0x4(%esp)
4ed32b:	8b 5e 44             	mov    0x44(%esi),%ebx
4ed32e:	8b 04 24             	mov    (%esp),%eax
4ed331:	8d 78 40             	lea    0x40(%eax),%edi
4ed334:	eb 37                	jmp    0x4ed36d
4ed336:	8b 53 08             	mov    0x8(%ebx),%edx
4ed339:	8b 43 1c             	mov    0x1c(%ebx),%eax
4ed33c:	e8 53 cc ff ff       	call   0x4e9f94
4ed341:	50                   	push   %eax
4ed342:	8b 53 0c             	mov    0xc(%ebx),%edx