414f1d:	8a 40 01             	mov    0x1(%eax),%al
414f20:	8b c8                	mov    %eax,%ecx
414f22:	25 ff 00 00 00       	and    $0xff,%eax
414f27:	d3 ea                	shr    %cl,%edx
414f29:	2b d8                	sub    %eax,%ebx
414f2b:	f6 45 f0 10          	testb  $0x10,-0x10(%ebp)
414f2f:	0f 84 40 02 00 00    	je     0x415175
414f35:	83 65 f0 0f          	andl   $0xf,-0x10(%ebp)
414f39:	8b 4d f4             	mov    -0xc(%ebp),%ecx
414f3c:	2b 5d f0             	sub    -0x10(%ebp),%ebx
414f3f:	8b 41 04             	mov    0x4(%ecx),%eax
414f42:	8b 4d f0             	mov    -0x10(%ebp),%ecx
414f45:	8b 0c 8d 50 85 42 00 	mov    0x428550(,%ecx,4),%ecx
414f4c:	23 ca                	and    %edx,%ecx
414f4e:	03 c1                	add    %ecx,%eax
414f50:	8b 4d f0             	mov    -0x10(%ebp),%ecx
414f53:	d3 ea                	shr    %cl,%edx
414f55:	83 fb 0f             	cmp    $0xf,%ebx
414f58:	73 1c                	jae    0x414f76
414f5a:	ff 4d ec             	decl   -0x14(%ebp)
414f5d:	8a 0e                	mov    (%esi),%cl
414f5f:	46                   	inc    %esi
414f60:	8b f9                	mov    %ecx,%edi
414f62:	8b cb                	mov    %ebx,%ecx
414f64:	81 e7 ff 00 00 00    	and    $0xff,%edi
414f6a:	83 c3 08             	add    $0x8,%ebx
414f6d:	d3 e7                	shl    %cl,%edi
414f6f:	0b d7                	or     %edi,%edx
414f71:	83 fb 0f             	cmp    $0xf,%ebx
414f74:	72 e4                	jb     0x414f5a
414f76:	8b 4d dc             	mov    -0x24(%ebp),%ecx
414f79:	23 ca                	and    %edx,%ecx
414f7b:	c1 e1 03             	shl    $0x3,%ecx
414f7e:	03 4d 10             	add    0x10(%ebp),%ecx
414f81:	89 4d f4             	mov    %ecx,-0xc(%ebp)
414f84:	0f b6 09             	movzbl (%ecx),%ecx
414f87:	89 4d f0             	mov    %ecx,-0x10(%ebp)
414f8a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
414f8d:	8a 49 01             	mov    0x1(%ecx),%cl
414f90:	d3 ea                	shr    %cl,%edx
414f92:	8b 4d f4             	mov    -0xc(%ebp),%ecx
414f95:	0f b6 49 01          	movzbl 0x1(%ecx),%ecx
414f99:	2b d9                	sub    %ecx,%ebx
414f9b:	f6 45 f0 10          	testb  $0x10,-0x10(%ebp)
414f9f:	0f 84 33 01 00 00    	je     0x4150d8
414fa5:	83 65 f0 0f          	andl   $0xf,-0x10(%ebp)
414fa9:	3b 5d f0             	cmp    -0x10(%ebp),%ebx
414fac:	73 1c                	jae    0x414fca
414fae:	ff 4d ec             	decl   -0x14(%ebp)
414fb1:	8a 0e                	mov    (%esi),%cl
414fb3:	46                   	inc    %esi
414fb4:	8b f9                	mov    %ecx,%edi
414fb6:	8b cb                	mov    %ebx,%ecx
414fb8:	81 e7 ff 00 00 00    	and    $0xff,%edi
414fbe:	83 c3 08             	add    $0x8,%ebx
414fc1:	d3 e7                	shl    %cl,%edi
414fc3:	0b d7                	or     %edi,%edx
414fc5:	3b 5d f0             	cmp    -0x10(%ebp),%ebx
414fc8:	72 e4                	jb     0x414fae
414fca:	8b 4d f4             	mov    -0xc(%ebp),%ecx
414fcd:	8b 79 04             	mov    0x4(%ecx),%edi
414fd0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
414fd3:	8b 0c 8d 50 85 42 00 	mov    0x428550(,%ecx,4),%ecx
414fda:	23 ca                	and    %edx,%ecx
414fdc:	03 f9                	add    %ecx,%edi
414fde:	8b 4d f0             	mov    -0x10(%ebp),%ecx
414fe1:	d3 ea                	shr    %cl,%edx
414fe3:	2b 5d f0             	sub    -0x10(%ebp),%ebx
414fe6:	29 45 e4             	sub    %eax,-0x1c(%ebp)
414fe9:	8b 4d e8             	mov    -0x18(%ebp),%ecx
414fec:	2b cf                	sub    %edi,%ecx
414fee:	89 4d d8             	mov    %ecx,-0x28(%ebp)
414ff1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
414ff4:	8b 49 28             	mov    0x28(%ecx),%ecx
414ff7:	3b 4d d8             	cmp    -0x28(%ebp),%ecx
414ffa:	0f 86 9e 00 00 00    	jbe    0x41509e
415000:	8b 4d 0c             	mov    0xc(%ebp),%ecx
415003:	8b 7d 0c             	mov    0xc(%ebp),%edi
415006:	8b 49 2c             	mov    0x2c(%ecx),%ecx
415009:	2b 4f 28             	sub    0x28(%edi),%ecx
41500c:	01 4d d8             	add    %ecx,-0x28(%ebp)
41500f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
415012:	8b 49 28             	mov    0x28(%ecx),%ecx
415015:	3b 4d d8             	cmp    -0x28(%ebp),%ecx
415018:	77 e6                	ja     0x415000
41501a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41501d:	8b 49 2c             	mov    0x2c(%ecx),%ecx
415020:	2b 4d d8             	sub    -0x28(%ebp),%ecx
415023:	89 4d f0             	mov    %ecx,-0x10(%ebp)
415026:	3b 45 f0             	cmp    -0x10(%ebp),%eax
415029:	76 39                	jbe    0x415064
41502b:	2b 45 f0             	sub    -0x10(%ebp),%eax
41502e:	8b 4d d8             	mov    -0x28(%ebp),%ecx
415031:	8b 7d e8             	mov    -0x18(%ebp),%edi
415034:	8a 09                	mov    (%ecx),%cl
415036:	88 0f                	mov    %cl,(%edi)
415038:	ff 45 d8             	incl   -0x28(%ebp)
41503b:	ff 45 e8             	incl   -0x18(%ebp)
41503e:	ff 4d f0             	decl   -0x10(%ebp)
415041:	75 eb                	jne    0x41502e
415043:	8b 4d 0c             	mov    0xc(%ebp),%ecx
415046:	8b 49 28             	mov    0x28(%ecx),%ecx
415049:	89 4d d8             	mov    %ecx,-0x28(%ebp)
41504c:	8b 4d d8             	mov    -0x28(%ebp),%ecx
41504f:	8b 7d e8             	mov    -0x18(%ebp),%edi
415052:	8a 09                	mov    (%ecx),%cl
415054:	88 0f                	mov    %cl,(%edi)
415056:	ff 45 d8             	incl   -0x28(%ebp)
415059:	ff 45 e8             	incl   -0x18(%ebp)
41505c:	48                   	dec    %eax
41505d:	75 ed                	jne    0x41504c
41505f:	e9 3d 02 00 00       	jmp    0x4152a1
415064:	8b 4d d8             	mov    -0x28(%ebp),%ecx
415067:	8b 7d e8             	mov    -0x18(%ebp),%edi
41506a:	48                   	dec    %eax
41506b:	8a 09                	mov    (%ecx),%cl
41506d:	88 0f                	mov    %cl,(%edi)
41506f:	ff 45 d8             	incl   -0x28(%ebp)
415072:	ff 45 e8             	incl   -0x18(%ebp)
415075:	8b 4d d8             	mov    -0x28(%ebp),%ecx
415078:	8b 7d e8             	mov    -0x18(%ebp),%edi
41507b:	8a 09                	mov    (%ecx),%cl
41507d:	88 0f                	mov    %cl,(%edi)
41507f:	ff 45 d8             	incl   -0x28(%ebp)
415082:	ff 45 e8             	incl   -0x18(%ebp)
415085:	48                   	dec    %eax
415086:	8b 4d d8             	mov    -0x28(%ebp),%ecx
415089:	8b 7d e8             	mov    -0x18(%ebp),%edi
41508c:	8a 09                	mov    (%ecx),%cl
41508e:	88 0f                	mov    %cl,(%edi)
415090:	ff 45 d8             	incl   -0x28(%ebp)
415093:	ff 45 e8             	incl   -0x18(%ebp)
415096:	48                   	dec    %eax
415097:	75 ed                	jne    0x415086
415099:	e9 03 02 00 00       	jmp    0x4152a1
41509e:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4150a1:	8b 7d e8             	mov    -0x18(%ebp),%edi
4150a4:	48                   	dec    %eax
4150a5:	8a 09                	mov    (%ecx),%cl
4150a7:	88 0f                	mov    %cl,(%edi)
4150a9:	ff 45 d8             	incl   -0x28(%ebp)
4150ac:	ff 45 e8             	incl   -0x18(%ebp)
4150af:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4150b2:	8b 7d e8             	mov    -0x18(%ebp),%edi
4150b5:	8a 09                	mov    (%ecx),%cl
4150b7:	88 0f                	mov    %cl,(%edi)
4150b9:	ff 45 d8             	incl   -0x28(%ebp)
4150bc:	ff 45 e8             	incl   -0x18(%ebp)
4150bf:	48                   	dec    %eax
4150c0:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4150c3:	8b 7d e8             	mov    -0x18(%ebp),%edi
4150c6:	8a 09                	mov    (%ecx),%cl
4150c8:	88 0f                	mov    %cl,(%edi)
4150ca:	ff 45 d8             	incl   -0x28(%ebp)
4150cd:	ff 45 e8             	incl   -0x18(%ebp)
4150d0:	48                   	dec    %eax
4150d1:	75 ed                	jne    0x4150c0
4150d3:	e9 c9 01 00 00       	jmp    0x4152a1
4150d8:	f6 45 f0 40          	testb  $0x40,-0x10(%ebp)
4150dc:	75 2c                	jne    0x41510a
4150de:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4150e1:	8b 49 04             	mov    0x4(%ecx),%ecx
4150e4:	c1 e1 03             	shl    $0x3,%ecx
4150e7:	01 4d f4             	add    %ecx,-0xc(%ebp)
4150ea:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4150ed:	8b 0c 8d 50 85 42 00 	mov    0x428550(,%ecx,4),%ecx
4150f4:	23 ca                	and    %edx,%ecx
4150f6:	c1 e1 03             	shl    $0x3,%ecx
4150f9:	01 4d f4             	add    %ecx,-0xc(%ebp)
4150fc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4150ff:	0f b6 09             	movzbl (%ecx),%ecx
415102:	89 4d f0             	mov    %ecx,-0x10(%ebp)
415105:	e9 80 fe ff ff       	jmp    0x414f8a
41510a:	8b 45 08             	mov    0x8(%ebp),%eax
41510d:	8b cb                	mov    %ebx,%ecx
41510f:	c1 e9 03             	shr    $0x3,%ecx
415112:	c7 40 18 94 85 42 00 	movl   $0x428594,0x18(%eax)
415119:	8b 45 08             	mov    0x8(%ebp),%eax
41511c:	8b 40 04             	mov    0x4(%eax),%eax
41511f:	2b 45 ec             	sub    -0x14(%ebp),%eax
415122:	3b c1                	cmp    %ecx,%eax
415124:	76 07                	jbe    0x41512d
415126:	8b cb                	mov    %ebx,%ecx
415128:	c1 e9 03             	shr    $0x3,%ecx
41512b:	eb 02                	jmp    0x41512f
41512d:	8b c8                	mov    %eax,%ecx
41512f:	8b c1                	mov    %ecx,%eax
415131:	01 45 ec             	add    %eax,-0x14(%ebp)
415134:	2b f0                	sub    %eax,%esi
415136:	c1 e0 03             	shl    $0x3,%eax
415139:	2b d8                	sub    %eax,%ebx
41513b:	8b 45 0c             	mov    0xc(%ebp),%eax
41513e:	89 50 20             	mov    %edx,0x20(%eax)
415141:	8b 55 0c             	mov    0xc(%ebp),%edx
415144:	89 5a 1c             	mov    %ebx,0x1c(%edx)
415147:	8b 45 08             	mov    0x8(%ebp),%eax
41514a:	8b 55 ec             	mov    -0x14(%ebp),%edx
41514d:	89 50 04             	mov    %edx,0x4(%eax)
415150:	8b c6                	mov    %esi,%eax
415152:	8b 4d 08             	mov    0x8(%ebp),%ecx
415155:	8b 55 08             	mov    0x8(%ebp),%edx
415158:	2b 01                	sub    (%ecx),%eax
41515a:	01 42 08             	add    %eax,0x8(%edx)
41515d:	8b 4d 08             	mov    0x8(%ebp),%ecx
415160:	89 31                	mov    %esi,(%ecx)
415162:	8b 45 0c             	mov    0xc(%ebp),%eax
415165:	8b 55 e8             	mov    -0x18(%ebp),%edx
415168:	89 50 34             	mov    %edx,0x34(%eax)
41516b:	b8 fd ff ff ff       	mov    $0xfffffffd,%eax
415170:	e9 98 01 00 00       	jmp    0x41530d
415175:	f6 45 f0 40          	testb  $0x40,-0x10(%ebp)
415179:	75 57                	jne    0x4151d2
41517b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41517e:	8b 41 04             	mov    0x4(%ecx),%eax
415181:	c1 e0 03             	shl    $0x3,%eax
415184:	01 45 f4             	add    %eax,-0xc(%ebp)
415187:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41518a:	8b 04 8d 50 85 42 00 	mov    0x428550(,%ecx,4),%eax
415191:	23 c2                	and    %edx,%eax
415193:	c1 e0 03             	shl    $0x3,%eax
415196:	01 45 f4             	add    %eax,-0xc(%ebp)
415199:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41519c:	33 c0                	xor    %eax,%eax
41519e:	8a 01                	mov    (%ecx),%al
4151a0:	89 45 f0             	mov    %eax,-0x10(%ebp)
4151a3:	85 c0                	test   %eax,%eax
4151a5:	0f 85 6f fd ff ff    	jne    0x414f1a
4151ab:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4151ae:	8a 41 01             	mov    0x1(%ecx),%al
4151b1:	8b c8                	mov    %eax,%ecx
4151b3:	25 ff 00 00 00       	and    $0xff,%eax
4151b8:	d3 ea                	shr    %cl,%edx
4151ba:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4151bd:	2b d8                	sub    %eax,%ebx
4151bf:	8a 41 04             	mov    0x4(%ecx),%al
4151c2:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4151c5:	88 01                	mov    %al,(%ecx)
4151c7:	ff 45 e8             	incl   -0x18(%ebp)
4151ca:	ff 4d e4             	decl   -0x1c(%ebp)
4151cd:	e9 cf 00 00 00       	jmp    0x4152a1
4151d2:	f6 45 f0 20          	testb  $0x20,-0x10(%ebp)
4151d6:	74 61                	je     0x415239
4151d8:	8b 45 08             	mov    0x8(%ebp),%eax
4151db:	8b cb                	mov    %ebx,%ecx
4151dd:	c1 e9 03             	shr    $0x3,%ecx
4151e0:	8b 40 04             	mov    0x4(%eax),%eax
4151e3:	2b 45 ec             	sub    -0x14(%ebp),%eax
4151e6:	3b c1                	cmp    %ecx,%eax
4151e8:	76 07                	jbe    0x4151f1
4151ea:	8b cb                	mov    %ebx,%ecx
4151ec:	c1 e9 03             	shr    $0x3,%ecx
4151ef:	eb 02                	jmp    0x4151f3
4151f1:	8b c8                	mov    %eax,%ecx
4151f3:	8b c1                	mov    %ecx,%eax
4151f5:	01 45 ec             	add    %eax,-0x14(%ebp)
4151f8:	2b f0                	sub    %eax,%esi
4151fa:	c1 e0 03             	shl    $0x3,%eax
4151fd:	2b d8                	sub    %eax,%ebx
4151ff:	8b 45 0c             	mov    0xc(%ebp),%eax
415202:	89 50 20             	mov    %edx,0x20(%eax)
415205:	8b 55 0c             	mov    0xc(%ebp),%edx
415208:	89 5a 1c             	mov    %ebx,0x1c(%edx)
41520b:	8b 45 08             	mov    0x8(%ebp),%eax
41520e:	8b 55 ec             	mov    -0x14(%ebp),%edx
415211:	89 50 04             	mov    %edx,0x4(%eax)
415214:	8b c6                	mov    %esi,%eax
415216:	8b 4d 08             	mov    0x8(%ebp),%ecx
415219:	8b 55 08             	mov    0x8(%ebp),%edx
41521c:	2b 01                	sub    (%ecx),%eax
41521e:	01 42 08             	add    %eax,0x8(%edx)
415221:	8b 4d 08             	mov    0x8(%ebp),%ecx
415224:	89 31                	mov    %esi,(%ecx)
415226:	8b 45 0c             	mov    0xc(%ebp),%eax
415229:	8b 55 e8             	mov    -0x18(%ebp),%edx
41522c:	89 50 34             	mov    %edx,0x34(%eax)
41522f:	b8 01 00 00 00       	mov    $0x1,%eax
415234:	e9 d4 00 00 00       	jmp    0x41530d
415239:	8b 4d 08             	mov    0x8(%ebp),%ecx
41523c:	c7 41 18 aa 85 42 00 	movl   $0x4285aa,0x18(%ecx)
415243:	8b 45 08             	mov    0x8(%ebp),%eax
415246:	8b cb                	mov    %ebx,%ecx
415248:	c1 e9 03             	shr    $0x3,%ecx
41524b:	8b 40 04             	mov    0x4(%eax),%eax
41524e:	2b 45 ec             	sub    -0x14(%ebp),%eax
415251:	3b c1                	cmp    %ecx,%eax
415253:	76 07                	jbe    0x41525c
415255:	8b cb                	mov    %ebx,%ecx
415257:	c1 e9 03             	shr    $0x3,%ecx
41525a:	eb 02                	jmp    0x41525e
41525c:	8b c8                	mov    %eax,%ecx
41525e:	8b c1                	mov    %ecx,%eax
415260:	01 45 ec             	add    %eax,-0x14(%ebp)
415263:	2b f0                	sub    %eax,%esi
415265:	c1 e0 03             	shl    $0x3,%eax
415268:	2b d8                	sub    %eax,%ebx
41526a:	8b 45 0c             	mov    0xc(%ebp),%eax
41526d:	89 50 20             	mov    %edx,0x20(%eax)
415270:	8b 55 0c             	mov    0xc(%ebp),%edx
415273:	89 5a 1c             	mov    %ebx,0x1c(%edx)
415276:	8b 45 08             	mov    0x8(%ebp),%eax
415279:	8b 55 ec             	mov    -0x14(%ebp),%edx
41527c:	89 50 04             	mov    %edx,0x4(%eax)
41527f:	8b c6                	mov    %esi,%eax
415281:	8b 4d 08             	mov    0x8(%ebp),%ecx
415284:	8b 55 08             	mov    0x8(%ebp),%edx
415287:	2b 01                	sub    (%ecx),%eax
415289:	01 42 08             	add    %eax,0x8(%edx)
41528c:	8b 4d 08             	mov    0x8(%ebp),%ecx
41528f:	89 31                	mov    %esi,(%ecx)
415291:	8b 45 0c             	mov    0xc(%ebp),%eax
415294:	8b 55 e8             	mov    -0x18(%ebp),%edx
415297:	89 50 34             	mov    %edx,0x34(%eax)
41529a:	b8 fd ff ff ff       	mov    $0xfffffffd,%eax
41529f:	eb 6c                	jmp    0x41530d
4152a1:	81 7d e4 02 01 00 00 	cmpl   $0x102,-0x1c(%ebp)
4152a8:	72 0a                	jb     0x4152b4
4152aa:	83 7d ec 0a          	cmpl   $0xa,-0x14(%ebp)
4152ae:	0f 83 08 fc ff ff    	jae    0x414ebc
4152b4:	8b 4d 08             	mov    0x8(%ebp),%ecx
4152b7:	8b 41 04             	mov    0x4(%ecx),%eax
4152ba:	8b cb                	mov    %ebx,%ecx
4152bc:	c1 e9 03             	shr    $0x3,%ecx
4152bf:	2b 45 ec             	sub    -0x14(%ebp),%eax
4152c2:	3b c1                	cmp    %ecx,%eax
4152c4:	76 07                	jbe    0x4152cd
4152c6:	8b cb                	mov    %ebx,%ecx
4152c8:	c1 e9 03             	shr    $0x3,%ecx
4152cb:	eb 02                	jmp    0x4152cf
4152cd:	8b c8                	mov    %eax,%ecx
4152cf:	8b c1                	mov    %ecx,%eax
4152d1:	01 45 ec             	add    %eax,-0x14(%ebp)
4152d4:	2b f0                	sub    %eax,%esi
4152d6:	c1 e0 03             	shl    $0x3,%eax
4152d9:	2b d8                	sub    %eax,%ebx
4152db:	8b 45 0c             	mov    0xc(%ebp),%eax
4152de:	89 50 20             	mov    %edx,0x20(%eax)
4152e1:	8b 55 0c             	mov    0xc(%ebp),%edx
4152e4:	89 5a 1c             	mov    %ebx,0x1c(%edx)
4152e7:	8b 45 08             	mov    0x8(%ebp),%eax
4152ea:	8b 55 ec             	mov    -0x14(%ebp),%edx
4152ed:	89 50 04             	mov    %edx,0x4(%eax)
4152f0:	8b c6                	mov    %esi,%eax
4152f2:	8b 4d 08             	mov    0x8(%ebp),%ecx
4152f5:	8b 55 08             	mov    0x8(%ebp),%edx
4152f8:	2b 01                	sub    (%ecx),%eax
4152fa:	01 42 08             	add    %eax,0x8(%edx)
4152fd:	8b 4d 08             	mov    0x8(%ebp),%ecx
415300:	89 31                	mov    %esi,(%ecx)
415302:	8b 45 0c             	mov    0xc(%ebp),%eax
415305:	8b 55 e8             	mov    -0x18(%ebp),%edx