504fc7:	41                   	inc    %ecx
504fc8:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
504fcc:	8b f7                	mov    %edi,%esi
504fce:	77 bf                	ja     0x504f8f
504fd0:	8d 04 76             	lea    (%esi,%esi,2),%eax
504fd3:	03 45 ec             	add    -0x14(%ebp),%eax
504fd6:	83 c0 08             	add    $0x8,%eax
504fd9:	c1 f8 04             	sar    $0x4,%eax
504fdc:	88 01                	mov    %al,(%ecx)
504fde:	8b c6                	mov    %esi,%eax
504fe0:	c1 e0 02             	shl    $0x2,%eax
504fe3:	41                   	inc    %ecx
504fe4:	83 c0 07             	add    $0x7,%eax
504fe7:	c1 f8 04             	sar    $0x4,%eax
504fea:	88 01                	mov    %al,(%ecx)
504fec:	ff 45 e0             	incl   -0x20(%ebp)
504fef:	83 7d e0 02          	cmpl   $0x2,-0x20(%ebp)
504ff3:	0f 8c 0a ff ff ff    	jl     0x504f03
504ff9:	83 45 d4 04          	addl   $0x4,-0x2c(%ebp)
504ffd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
505000:	8b 81 30 01 00 00    	mov    0x130(%ecx),%eax
505006:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
505009:	0f 8f db fe ff ff    	jg     0x504eea
50500f:	5f                   	pop    %edi
505010:	5e                   	pop    %esi
505011:	5b                   	pop    %ebx
505012:	8b e5                	mov    %ebp,%esp
505014:	5d                   	pop    %ebp
505015:	c2 04 00             	ret    $0x4
505018:	53                   	push   %ebx
505019:	8b d8                	mov    %eax,%ebx
50501b:	8b c3                	mov    %ebx,%eax
50501d:	56                   	push   %esi
50501e:	57                   	push   %edi
50501f:	55                   	push   %ebp
505020:	8b 70 04             	mov    0x4(%eax),%esi
505023:	83 c4 e4             	add    $0xffffffe4,%esp
505026:	b9 a0 00 00 00       	mov    $0xa0,%ecx
50502b:	ba 01 00 00 00       	mov    $0x1,%edx
505030:	ff 16                	call   *(%esi)
505032:	89 04 24             	mov    %eax,(%esp)
505035:	8b 04 24             	mov    (%esp),%eax
505038:	89 83 bc 01 00 00    	mov    %eax,0x1bc(%ebx)
50503e:	8b 14 24             	mov    (%esp),%edx
505041:	c7 02 34 4b 50 00    	movl   $0x504b34,(%edx)
505047:	8b 0c 24             	mov    (%esp),%ecx
50504a:	c7 41 04 4c 4b 50 00 	movl   $0x504b4c,0x4(%ecx)
505051:	8b 04 24             	mov    (%esp),%eax
505054:	33 d2                	xor    %edx,%edx
505056:	89 50 08             	mov    %edx,0x8(%eax)
505059:	83 bb 28 01 00 00 00 	cmpl   $0x0,0x128(%ebx)
505060:	74 0f                	je     0x505071
505062:	8b 0b                	mov    (%ebx),%ecx
505064:	8b c3                	mov    %ebx,%eax
505066:	c7 41 14 17 00 00 00 	movl   $0x17,0x14(%ecx)
50506d:	8b 10                	mov    (%eax),%edx
50506f:	ff 12                	call   *(%edx)
505071:	83 7b 48 00          	cmpl   $0x0,0x48(%ebx)
505075:	74 09                	je     0x505080
505077:	83 bb 34 01 00 00 01 	cmpl   $0x1,0x134(%ebx)
50507e:	7f 04                	jg     0x505084
505080:	33 c9                	xor    %ecx,%ecx
505082:	eb 05                	jmp    0x505089
505084:	b9 01 00 00 00       	mov    $0x1,%ecx
505089:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
50508d:	33 c0                	xor    %eax,%eax
50508f:	89 44 24 04          	mov    %eax,0x4(%esp)
505093:	8b bb d4 00 00 00    	mov    0xd4(%ebx),%edi
505099:	8b 04 24             	mov    (%esp),%eax
50509c:	8d 90 8c 00 00 00    	lea    0x8c(%eax),%edx
5050a2:	89 54 24 18          	mov    %edx,0x18(%esp)
5050a6:	8b 0c 24             	mov    (%esp),%ecx
5050a9:	8d 71 64             	lea    0x64(%ecx),%esi
5050ac:	e9 6a 01 00 00       	jmp    0x50521b
5050b1:	8b 47 08             	mov    0x8(%edi),%eax
5050b4:	8b 4f 24             	mov    0x24(%edi),%ecx
5050b7:	f7 e9                	imul   %ecx
5050b9:	99                   	cltd
5050ba:	f7 bb 34 01 00 00    	idivl  0x134(%ebx)
5050c0:	8b e8                	mov    %eax,%ebp
5050c2:	8b 47 0c             	mov    0xc(%edi),%eax
5050c5:	f7 e9                	imul   %ecx
5050c7:	99                   	cltd
5050c8:	f7 bb 34 01 00 00    	idivl  0x134(%ebx)
5050ce:	8b c8                	mov    %eax,%ecx
5050d0:	8b 83 2c 01 00 00    	mov    0x12c(%ebx),%eax
5050d6:	89 44 24 10          	mov    %eax,0x10(%esp)
5050da:	8b 93 30 01 00 00    	mov    0x130(%ebx),%edx
5050e0:	89 54 24 14          	mov    %edx,0x14(%esp)
5050e4:	89 0e                	mov    %ecx,(%esi)
5050e6:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
5050ed:	00
5050ee:	83 7f 30 00          	cmpl   $0x0,0x30(%edi)
5050f2:	75 12                	jne    0x505106
5050f4:	c7 46 d0 58 4c 50 00 	movl   $0x504c58,-0x30(%esi)
5050fb:	33 c9                	xor    %ecx,%ecx
5050fd:	89 4c 24 08          	mov    %ecx,0x8(%esp)
505101:	e9 d9 00 00 00       	jmp    0x5051df
505106:	3b 6c 24 10          	cmp    0x10(%esp),%ebp
50510a:	75 18                	jne    0x505124
50510c:	3b 4c 24 14          	cmp    0x14(%esp),%ecx
505110:	75 12                	jne    0x505124
505112:	c7 46 d0 4c 4c 50 00 	movl   $0x504c4c,-0x30(%esi)
505119:	33 c0                	xor    %eax,%eax
50511b:	89 44 24 08          	mov    %eax,0x8(%esp)
50511f:	e9 bb 00 00 00       	jmp    0x5051df
505124:	8b d5                	mov    %ebp,%edx
505126:	03 d2                	add    %edx,%edx
505128:	3b 54 24 10          	cmp    0x10(%esp),%edx
50512c:	75 2b                	jne    0x505159
50512e:	3b 4c 24 14          	cmp    0x14(%esp),%ecx
505132:	75 25                	jne    0x505159
505134:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
505139:	74 12                	je     0x50514d
50513b:	83 7f 28 02          	cmpl   $0x2,0x28(%edi)
50513f:	76 0c                	jbe    0x50514d
505141:	c7 46 d0 10 4e 50 00 	movl   $0x504e10,-0x30(%esi)
505148:	e9 92 00 00 00       	jmp    0x5051df
50514d:	c7 46 d0 24 4d 50 00 	movl   $0x504d24,-0x30(%esi)
505154:	e9 86 00 00 00       	jmp    0x5051df
505159:	8b c5                	mov    %ebp,%eax
50515b:	03 c0                	add    %eax,%eax
50515d:	3b 44 24 10          	cmp    0x10(%esp),%eax
505161:	75 33                	jne    0x505196
505163:	8b d1                	mov    %ecx,%edx
505165:	03 d2                	add    %edx,%edx
505167:	3b 54 24 14          	cmp    0x14(%esp),%edx
50516b:	75 29                	jne    0x505196
50516d:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
505172:	74 19                	je     0x50518d
505174:	83 7f 28 02          	cmpl   $0x2,0x28(%edi)
505178:	76 13                	jbe    0x50518d
50517a:	c7 46 d0 c4 4e 50 00 	movl   $0x504ec4,-0x30(%esi)
505181:	8b 0c 24             	mov    (%esp),%ecx
505184:	c7 41 08 01 00 00 00 	movl   $0x1,0x8(%ecx)
50518b:	eb 52                	jmp    0x5051df
50518d:	c7 46 d0 80 4d 50 00 	movl   $0x504d80,-0x30(%esi)
505194:	eb 49                	jmp    0x5051df
505196:	8b 44 24 10          	mov    0x10(%esp),%eax
50519a:	99                   	cltd
50519b:	f7 fd                	idiv   %ebp
50519d:	85 d2                	test   %edx,%edx
50519f:	75 2f                	jne    0x5051d0
5051a1:	8b 44 24 14          	mov    0x14(%esp),%eax
5051a5:	99                   	cltd
5051a6:	f7 f9                	idiv   %ecx
5051a8:	85 d2                	test   %edx,%edx
5051aa:	75 24                	jne    0x5051d0
5051ac:	c7 46 d0 68 4c 50 00 	movl   $0x504c68,-0x30(%esi)
5051b3:	8b 44 24 10          	mov    0x10(%esp),%eax
5051b7:	99                   	cltd
5051b8:	f7 fd                	idiv   %ebp
5051ba:	8b 54 24 18          	mov    0x18(%esp),%edx
5051be:	88 02                	mov    %al,(%edx)
5051c0:	8b 44 24 14          	mov    0x14(%esp),%eax
5051c4:	99                   	cltd
5051c5:	f7 f9                	idiv   %ecx
5051c7:	8b 4c 24 18          	mov    0x18(%esp),%ecx
5051cb:	88 41 0a             	mov    %al,0xa(%ecx)
5051ce:	eb 0f                	jmp    0x5051df
5051d0:	8b 03                	mov    (%ebx),%eax
5051d2:	c7 40 14 25 00 00 00 	movl   $0x25,0x14(%eax)
5051d9:	8b c3                	mov    %ebx,%eax
5051db:	8b 10                	mov    (%eax),%edx
5051dd:	ff 12                	call   *(%edx)
5051df:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
5051e4:	74 27                	je     0x50520d
5051e6:	8b 8b 30 01 00 00    	mov    0x130(%ebx),%ecx
5051ec:	51                   	push   %ecx
5051ed:	8b 93 2c 01 00 00    	mov    0x12c(%ebx),%edx
5051f3:	8b 43 6c             	mov    0x6c(%ebx),%eax
5051f6:	e8 81 29 00 00       	call   0x507b7c
5051fb:	8b c8                	mov    %eax,%ecx
5051fd:	8b c3                	mov    %ebx,%eax
5051ff:	ba 01 00 00 00       	mov    $0x1,%edx
505204:	8b 68 04             	mov    0x4(%eax),%ebp
505207:	ff 55 08             	call   *0x8(%ebp)
50520a:	89 46 a8             	mov    %eax,-0x58(%esi)
50520d:	83 c6 04             	add    $0x4,%esi
505210:	ff 44 24 18          	incl   0x18(%esp)
505214:	ff 44 24 04          	incl   0x4(%esp)
505218:	83 c7 54             	add    $0x54,%edi
50521b:	8b 44 24 04          	mov    0x4(%esp),%eax
50521f:	3b 43 20             	cmp    0x20(%ebx),%eax
505222:	0f 8c 89 fe ff ff    	jl     0x5050b1
505228:	83 c4 1c             	add    $0x1c,%esp
50522b:	5d                   	pop    %ebp
50522c:	5f                   	pop    %edi
50522d:	5e                   	pop    %esi
50522e:	5b                   	pop    %ebx
50522f:	c3                   	ret
505230:	55                   	push   %ebp
505231:	8b ec                	mov    %esp,%ebp
505233:	81 c4 b0 fe ff ff    	add    $0xfffffeb0,%esp
505239:	53                   	push   %ebx
50523a:	56                   	push   %esi
50523b:	57                   	push   %edi
50523c:	bf 08 00 00 00       	mov    $0x8,%edi
505241:	8b 80 3c 01 00 00    	mov    0x13c(%eax),%eax
505247:	8d 9d b0 fe ff ff    	lea    -0x150(%ebp),%ebx
50524d:	05 80 00 00 00       	add    $0x80,%eax
505252:	89 45 b8             	mov    %eax,-0x48(%ebp)
505255:	8b c1                	mov    %ecx,%eax
505257:	8b 52 50             	mov    0x50(%edx),%edx
50525a:	66 8b 48 10          	mov    0x10(%eax),%cx
50525e:	66 0b 48 20          	or     0x20(%eax),%cx
505262:	66 0b 48 30          	or     0x30(%eax),%cx
505266:	66 0b 48 40          	or     0x40(%eax),%cx
50526a:	66 0b 48 50          	or     0x50(%eax),%cx
50526e:	66 0b 48 60          	or     0x60(%eax),%cx
505272:	66 0b 48 70          	or     0x70(%eax),%cx
505276:	75 50                	jne    0x5052c8
505278:	df 00                	filds  (%eax)
50527a:	83 c0 02             	add    $0x2,%eax
50527d:	d8 0a                	fmuls  (%edx)
50527f:	83 c2 04             	add    $0x4,%edx
505282:	d9 5d b4             	fstps  -0x4c(%ebp)
505285:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
505288:	89 0b                	mov    %ecx,(%ebx)
50528a:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
50528d:	89 4b 20             	mov    %ecx,0x20(%ebx)
505290:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
505293:	89 4b 40             	mov    %ecx,0x40(%ebx)
505296:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
505299:	89 4b 60             	mov    %ecx,0x60(%ebx)
50529c:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
50529f:	89 8b 80 00 00 00    	mov    %ecx,0x80(%ebx)
5052a5:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
5052a8:	89 8b a0 00 00 00    	mov    %ecx,0xa0(%ebx)
5052ae:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
5052b1:	89 8b c0 00 00 00    	mov    %ecx,0xc0(%ebx)
5052b7:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
5052ba:	89 8b e0 00 00 00    	mov    %ecx,0xe0(%ebx)
5052c0:	83 c3 04             	add    $0x4,%ebx
5052c3:	e9 83 01 00 00       	jmp    0x50544b
5052c8:	df 00                	filds  (%eax)
5052ca:	d8 0a                	fmuls  (%edx)
5052cc:	d9 5d fc             	fstps  -0x4(%ebp)
5052cf:	df 40 20             	filds  0x20(%eax)
5052d2:	d8 4a 40             	fmuls  0x40(%edx)
5052d5:	d9 5d f8             	fstps  -0x8(%ebp)
5052d8:	df 40 40             	filds  0x40(%eax)
5052db:	d8 8a 80 00 00 00    	fmuls  0x80(%edx)
5052e1:	d9 5d f4             	fstps  -0xc(%ebp)
5052e4:	df 40 60             	filds  0x60(%eax)
5052e7:	d8 8a c0 00 00 00    	fmuls  0xc0(%edx)
5052ed:	d9 5d f0             	fstps  -0x10(%ebp)
5052f0:	d9 45 fc             	flds   -0x4(%ebp)
5052f3:	d8 45 f4             	fadds  -0xc(%ebp)
5052f6:	d9 5d dc             	fstps  -0x24(%ebp)
5052f9:	d9 45 fc             	flds   -0x4(%ebp)
5052fc:	d8 65 f4             	fsubs  -0xc(%ebp)
5052ff:	d9 5d d8             	fstps  -0x28(%ebp)
505302:	d9 45 f8             	flds   -0x8(%ebp)
505305:	d8 45 f0             	fadds  -0x10(%ebp)
505308:	d9 5d d0             	fstps  -0x30(%ebp)
50530b:	d9 45 f8             	flds   -0x8(%ebp)
50530e:	d8 65 f0             	fsubs  -0x10(%ebp)
505311:	d8 0d 50 56 50 00    	fmuls  0x505650
505317:	d8 65 d0             	fsubs  -0x30(%ebp)
50531a:	d9 5d d4             	fstps  -0x2c(%ebp)
50531d:	d9 45 dc             	flds   -0x24(%ebp)
505320:	d8 45 d0             	fadds  -0x30(%ebp)
505323:	d9 5d fc             	fstps  -0x4(%ebp)
505326:	d9 45 dc             	flds   -0x24(%ebp)
505329:	d8 65 d0             	fsubs  -0x30(%ebp)
50532c:	d9 5d f0             	fstps  -0x10(%ebp)
50532f:	d9 45 d8             	flds   -0x28(%ebp)
505332:	d8 45 d4             	fadds  -0x2c(%ebp)
505335:	d9 5d f8             	fstps  -0x8(%ebp)
505338:	d9 45 d8             	flds   -0x28(%ebp)
50533b:	d8 65 d4             	fsubs  -0x2c(%ebp)
50533e:	d9 5d f4             	fstps  -0xc(%ebp)
505341:	df 40 10             	filds  0x10(%eax)
505344:	d8 4a 20             	fmuls  0x20(%edx)
505347:	d9 5d ec             	fstps  -0x14(%ebp)
50534a:	df 40 30             	filds  0x30(%eax)
50534d:	d8 4a 60             	fmuls  0x60(%edx)
505350:	d9 5d e8             	fstps  -0x18(%ebp)
505353:	df 40 50             	filds  0x50(%eax)
505356:	d8 8a a0 00 00 00    	fmuls  0xa0(%edx)
50535c:	d9 5d e4             	fstps  -0x1c(%ebp)
50535f:	df 40 70             	filds  0x70(%eax)
505362:	d8 8a e0 00 00 00    	fmuls  0xe0(%edx)
505368:	d9 5d e0             	fstps  -0x20(%ebp)
50536b:	d9 45 e4             	flds   -0x1c(%ebp)
50536e:	d8 45 e8             	fadds  -0x18(%ebp)
505371:	d9 5d bc             	fstps  -0x44(%ebp)
505374:	d9 45 e4             	flds   -0x1c(%ebp)
505377:	d8 65 e8             	fsubs  -0x18(%ebp)
50537a:	d9 5d c8             	fstps  -0x38(%ebp)
50537d:	d9 45 ec             	flds   -0x14(%ebp)
505380:	d8 45 e0             	fadds  -0x20(%ebp)
505383:	d9 5d c4             	fstps  -0x3c(%ebp)
505386:	d9 45 ec             	flds   -0x14(%ebp)
505389:	d8 65 e0             	fsubs  -0x20(%ebp)
50538c:	d9 5d c0             	fstps  -0x40(%ebp)
50538f:	d9 45 c4             	flds   -0x3c(%ebp)
505392:	d8 45 bc             	fadds  -0x44(%ebp)
505395:	d9 5d e0             	fstps  -0x20(%ebp)
505398:	d9 45 c4             	flds   -0x3c(%ebp)
50539b:	d8 65 bc             	fsubs  -0x44(%ebp)
50539e:	d8 0d 50 56 50 00    	fmuls  0x505650
5053a4:	d9 5d d8             	fstps  -0x28(%ebp)
5053a7:	d9 45 c8             	flds   -0x38(%ebp)
5053aa:	d8 45 c0             	fadds  -0x40(%ebp)
5053ad:	d8 0d 54 56 50 00    	fmuls  0x505654
5053b3:	d9 5d cc             	fstps  -0x34(%ebp)
5053b6:	d9 05 58 56 50 00    	flds   0x505658
5053bc:	d8 4d c0             	fmuls  -0x40(%ebp)
5053bf:	d8 65 cc             	fsubs  -0x34(%ebp)
5053c2:	d9 5d dc             	fstps  -0x24(%ebp)
5053c5:	d9 05 5c 56 50 00    	flds   0x50565c
5053cb:	d8 4d c8             	fmuls  -0x38(%ebp)
5053ce:	83 c0 02             	add    $0x2,%eax
5053d1:	83 c2 04             	add    $0x4,%edx
5053d4:	d8 45 cc             	fadds  -0x34(%ebp)
5053d7:	d9 5d d4             	fstps  -0x2c(%ebp)
5053da:	d9 45 d4             	flds   -0x2c(%ebp)
5053dd:	d8 65 e0             	fsubs  -0x20(%ebp)
5053e0:	d9 5d e4             	fstps  -0x1c(%ebp)
5053e3:	d9 45 d8             	flds   -0x28(%ebp)
5053e6:	d8 65 e4             	fsubs  -0x1c(%ebp)
5053e9:	d9 5d e8             	fstps  -0x18(%ebp)
5053ec:	d9 45 dc             	flds   -0x24(%ebp)
5053ef:	d8 45 e8             	fadds  -0x18(%ebp)
5053f2:	d9 5d ec             	fstps  -0x14(%ebp)
5053f5:	d9 45 fc             	flds   -0x4(%ebp)
5053f8:	d8 45 e0             	fadds  -0x20(%ebp)
5053fb:	d9 1b                	fstps  (%ebx)
5053fd:	d9 45 fc             	flds   -0x4(%ebp)
505400:	d8 65 e0             	fsubs  -0x20(%ebp)
505403:	d9 9b e0 00 00 00    	fstps  0xe0(%ebx)
505409:	d9 45 f8             	flds   -0x8(%ebp)
50540c:	d8 45 e4             	fadds  -0x1c(%ebp)
50540f:	d9 5b 20             	fstps  0x20(%ebx)
505412:	d9 45 f8             	flds   -0x8(%ebp)
505415:	d8 65 e4             	fsubs  -0x1c(%ebp)
505418:	d9 9b c0 00 00 00    	fstps  0xc0(%ebx)
50541e:	d9 45 f4             	flds   -0xc(%ebp)
505421:	d8 45 e8             	fadds  -0x18(%ebp)
505424:	d9 5b 40             	fstps  0x40(%ebx)
505427:	d9 45 f4             	flds   -0xc(%ebp)
50542a:	d8 65 e8             	fsubs  -0x18(%ebp)
50542d:	d9 9b a0 00 00 00    	fstps  0xa0(%ebx)
505433:	d9 45 f0             	flds   -0x10(%ebp)
505436:	d8 45 ec             	fadds  -0x14(%ebp)
505439:	d9 9b 80 00 00 00    	fstps  0x80(%ebx)
50543f:	d9 45 f0             	flds   -0x10(%ebp)
505442:	d8 65 ec             	fsubs  -0x14(%ebp)