415efa:	88 41 02             	mov    %al,0x2(%ecx)
415efd:	0f 86 29 fb ff ff    	jbe    0x415a2c
415f03:	83 7d 08 04          	cmpl   $0x4,0x8(%ebp)
415f07:	8b 45 fc             	mov    -0x4(%ebp),%eax
415f0a:	8a 40 03             	mov    0x3(%eax),%al
415f0d:	88 41 03             	mov    %al,0x3(%ecx)
415f10:	0f 86 16 fb ff ff    	jbe    0x415a2c
415f16:	83 7d 08 05          	cmpl   $0x5,0x8(%ebp)
415f1a:	8b 45 fc             	mov    -0x4(%ebp),%eax
415f1d:	8a 40 04             	mov    0x4(%eax),%al
415f20:	88 41 04             	mov    %al,0x4(%ecx)
415f23:	0f 86 03 fb ff ff    	jbe    0x415a2c
415f29:	83 7d 08 06          	cmpl   $0x6,0x8(%ebp)
415f2d:	8b 45 fc             	mov    -0x4(%ebp),%eax
415f30:	8a 40 05             	mov    0x5(%eax),%al
415f33:	88 41 05             	mov    %al,0x5(%ecx)
415f36:	0f 86 f0 fa ff ff    	jbe    0x415a2c
415f3c:	8b 45 fc             	mov    -0x4(%ebp),%eax
415f3f:	8a 40 06             	mov    0x6(%eax),%al
415f42:	88 41 06             	mov    %al,0x6(%ecx)
415f45:	e9 e2 fa ff ff       	jmp    0x415a2c
415f4a:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
415f4e:	0f 86 d8 fa ff ff    	jbe    0x415a2c
415f54:	8b 97 f8 e6 00 00    	mov    0xe6f8(%edi),%edx
415f5a:	8b 87 34 4b 00 00    	mov    0x4b34(%edi),%eax
415f60:	ff 4d 08             	decl   0x8(%ebp)
415f63:	23 ca                	and    %edx,%ecx
415f65:	8a 0c 01             	mov    (%ecx,%eax,1),%cl
415f68:	8b 57 70             	mov    0x70(%edi),%edx
415f6b:	88 0c 10             	mov    %cl,(%eax,%edx,1)
415f6e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
415f71:	8b 47 70             	mov    0x70(%edi),%eax
415f74:	8b 97 f8 e6 00 00    	mov    0xe6f8(%edi),%edx
415f7a:	41                   	inc    %ecx
415f7b:	40                   	inc    %eax
415f7c:	23 c2                	and    %edx,%eax
415f7e:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
415f82:	89 4d ec             	mov    %ecx,-0x14(%ebp)
415f85:	89 47 70             	mov    %eax,0x70(%edi)
415f88:	77 d0                	ja     0x415f5a
415f8a:	e9 9d fa ff ff       	jmp    0x415a2c
415f8f:	3b c1                	cmp    %ecx,%eax
415f91:	75 2c                	jne    0x415fbf
415f93:	8d 45 d0             	lea    -0x30(%ebp),%eax
415f96:	50                   	push   %eax
415f97:	56                   	push   %esi
415f98:	8b cf                	mov    %edi,%ecx
415f9a:	e8 15 df ff ff       	call   0x413eb4
415f9f:	84 c0                	test   %al,%al
415fa1:	74 13                	je     0x415fb6
415fa3:	8d 45 d0             	lea    -0x30(%ebp),%eax
415fa6:	50                   	push   %eax
415fa7:	8b cf                	mov    %edi,%ecx
415fa9:	e8 e4 f3 ff ff       	call   0x415392
415fae:	84 c0                	test   %al,%al
415fb0:	0f 85 76 fa ff ff    	jne    0x415a2c
415fb6:	b0 01                	mov    $0x1,%al
415fb8:	5e                   	pop    %esi
415fb9:	5f                   	pop    %edi
415fba:	5b                   	pop    %ebx
415fbb:	c9                   	leave
415fbc:	c2 04 00             	ret    $0x4
415fbf:	3d 01 01 00 00       	cmp    $0x101,%eax
415fc4:	0f 85 9f 01 00 00    	jne    0x416169
415fca:	8b 47 68             	mov    0x68(%edi),%eax
415fcd:	85 c0                	test   %eax,%eax
415fcf:	0f 84 57 fa ff ff    	je     0x415a2c
415fd5:	8b 4f 70             	mov    0x70(%edi),%ecx
415fd8:	8b 57 54             	mov    0x54(%edi),%edx
415fdb:	89 45 08             	mov    %eax,0x8(%ebp)
415fde:	8b c1                	mov    %ecx,%eax
415fe0:	2b c2                	sub    %edx,%eax
415fe2:	8b 97 f4 e6 00 00    	mov    0xe6f4(%edi),%edx
415fe8:	81 c2 ff ef ff ff    	add    $0xffffefff,%edx
415fee:	89 45 ec             	mov    %eax,-0x14(%ebp)
415ff1:	3b c2                	cmp    %edx,%eax
415ff3:	0f 83 2b 01 00 00    	jae    0x416124
415ff9:	3b ca                	cmp    %edx,%ecx
415ffb:	0f 83 23 01 00 00    	jae    0x416124
416001:	8b 97 34 4b 00 00    	mov    0x4b34(%edi),%edx
416007:	03 c2                	add    %edx,%eax
416009:	89 45 f8             	mov    %eax,-0x8(%ebp)
41600c:	8b 45 08             	mov    0x8(%ebp),%eax
41600f:	03 d1                	add    %ecx,%edx
416011:	03 c8                	add    %eax,%ecx
416013:	89 55 fc             	mov    %edx,-0x4(%ebp)
416016:	89 4f 70             	mov    %ecx,0x70(%edi)
416019:	39 47 54             	cmp    %eax,0x54(%edi)
41601c:	73 55                	jae    0x416073
41601e:	83 f8 08             	cmp    $0x8,%eax
416021:	72 7c                	jb     0x41609f
416023:	c1 e8 03             	shr    $0x3,%eax
416026:	89 45 ec             	mov    %eax,-0x14(%ebp)
416029:	8b 45 f8             	mov    -0x8(%ebp),%eax
41602c:	8b ca                	mov    %edx,%ecx
41602e:	8a 10                	mov    (%eax),%dl
416030:	83 6d 08 08          	subl   $0x8,0x8(%ebp)
416034:	88 11                	mov    %dl,(%ecx)
416036:	8a 50 01             	mov    0x1(%eax),%dl
416039:	88 51 01             	mov    %dl,0x1(%ecx)
41603c:	8a 50 02             	mov    0x2(%eax),%dl
41603f:	88 51 02             	mov    %dl,0x2(%ecx)
416042:	8a 50 03             	mov    0x3(%eax),%dl
416045:	88 51 03             	mov    %dl,0x3(%ecx)
416048:	8a 50 04             	mov    0x4(%eax),%dl
41604b:	88 51 04             	mov    %dl,0x4(%ecx)
41604e:	8a 50 05             	mov    0x5(%eax),%dl
416051:	88 51 05             	mov    %dl,0x5(%ecx)
416054:	8a 50 06             	mov    0x6(%eax),%dl
416057:	88 51 06             	mov    %dl,0x6(%ecx)
41605a:	8a 50 07             	mov    0x7(%eax),%dl
41605d:	88 51 07             	mov    %dl,0x7(%ecx)
416060:	83 c0 08             	add    $0x8,%eax
416063:	83 c1 08             	add    $0x8,%ecx
416066:	ff 4d ec             	decl   -0x14(%ebp)
416069:	75 c3                	jne    0x41602e
41606b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41606e:	89 45 f8             	mov    %eax,-0x8(%ebp)
416071:	eb 2c                	jmp    0x41609f
416073:	83 f8 08             	cmp    $0x8,%eax
416076:	72 27                	jb     0x41609f
416078:	c1 e8 03             	shr    $0x3,%eax
41607b:	89 45 ec             	mov    %eax,-0x14(%ebp)
41607e:	6a 08                	push   $0x8
416080:	ff 75 f8             	push   -0x8(%ebp)
416083:	ff 75 fc             	push   -0x4(%ebp)
416086:	e8 e5 5b 00 00       	call   0x41bc70
41608b:	83 45 f8 08          	addl   $0x8,-0x8(%ebp)
41608f:	83 45 fc 08          	addl   $0x8,-0x4(%ebp)
416093:	83 6d 08 08          	subl   $0x8,0x8(%ebp)
416097:	83 c4 0c             	add    $0xc,%esp
41609a:	ff 4d ec             	decl   -0x14(%ebp)
41609d:	75 df                	jne    0x41607e
41609f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4160a3:	0f 86 83 f9 ff ff    	jbe    0x415a2c
4160a9:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
4160ad:	8b 45 f8             	mov    -0x8(%ebp),%eax
4160b0:	8a 00                	mov    (%eax),%al
4160b2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4160b5:	88 01                	mov    %al,(%ecx)
4160b7:	0f 86 6f f9 ff ff    	jbe    0x415a2c
4160bd:	83 7d 08 02          	cmpl   $0x2,0x8(%ebp)
4160c1:	8b 45 f8             	mov    -0x8(%ebp),%eax
4160c4:	8a 40 01             	mov    0x1(%eax),%al
4160c7:	88 41 01             	mov    %al,0x1(%ecx)
4160ca:	0f 86 5c f9 ff ff    	jbe    0x415a2c
4160d0:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
4160d4:	8b 45 f8             	mov    -0x8(%ebp),%eax
4160d7:	8a 40 02             	mov    0x2(%eax),%al
4160da:	88 41 02             	mov    %al,0x2(%ecx)
4160dd:	0f 86 49 f9 ff ff    	jbe    0x415a2c
4160e3:	83 7d 08 04          	cmpl   $0x4,0x8(%ebp)
4160e7:	8b 45 f8             	mov    -0x8(%ebp),%eax
4160ea:	8a 40 03             	mov    0x3(%eax),%al
4160ed:	88 41 03             	mov    %al,0x3(%ecx)
4160f0:	0f 86 36 f9 ff ff    	jbe    0x415a2c
4160f6:	83 7d 08 05          	cmpl   $0x5,0x8(%ebp)
4160fa:	8b 45 f8             	mov    -0x8(%ebp),%eax
4160fd:	8a 40 04             	mov    0x4(%eax),%al
416100:	88 41 04             	mov    %al,0x4(%ecx)
416103:	0f 86 23 f9 ff ff    	jbe    0x415a2c
416109:	83 7d 08 06          	cmpl   $0x6,0x8(%ebp)
41610d:	8b 45 f8             	mov    -0x8(%ebp),%eax
416110:	8a 40 05             	mov    0x5(%eax),%al
416113:	88 41 05             	mov    %al,0x5(%ecx)
416116:	0f 86 10 f9 ff ff    	jbe    0x415a2c
41611c:	8b 45 f8             	mov    -0x8(%ebp),%eax
41611f:	e9 1b fe ff ff       	jmp    0x415f3f
416124:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
416128:	0f 86 fe f8 ff ff    	jbe    0x415a2c
41612e:	8b 97 f8 e6 00 00    	mov    0xe6f8(%edi),%edx
416134:	8b 8f 34 4b 00 00    	mov    0x4b34(%edi),%ecx
41613a:	ff 4d 08             	decl   0x8(%ebp)
41613d:	23 c2                	and    %edx,%eax
41613f:	8a 04 08             	mov    (%eax,%ecx,1),%al
416142:	8b 57 70             	mov    0x70(%edi),%edx
416145:	88 04 11             	mov    %al,(%ecx,%edx,1)
416148:	8b 45 ec             	mov    -0x14(%ebp),%eax
41614b:	8b 4f 70             	mov    0x70(%edi),%ecx
41614e:	8b 97 f8 e6 00 00    	mov    0xe6f8(%edi),%edx
416154:	40                   	inc    %eax
416155:	41                   	inc    %ecx
416156:	23 ca                	and    %edx,%ecx
416158:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41615c:	89 45 ec             	mov    %eax,-0x14(%ebp)
41615f:	89 4f 70             	mov    %ecx,0x70(%edi)
416162:	77 d0                	ja     0x416134
416164:	e9 c3 f8 ff ff       	jmp    0x415a2c
416169:	05 fe fe ff ff       	add    $0xfffffefe,%eax
41616e:	8d 4c 87 54          	lea    0x54(%edi,%eax,4),%ecx
416172:	8b 11                	mov    (%ecx),%edx
416174:	89 55 ec             	mov    %edx,-0x14(%ebp)
416177:	74 0d                	je     0x416186
416179:	8b 51 fc             	mov    -0x4(%ecx),%edx
41617c:	89 11                	mov    %edx,(%ecx)
41617e:	48                   	dec    %eax
41617f:	83 e9 04             	sub    $0x4,%ecx
416182:	85 c0                	test   %eax,%eax
416184:	77 f3                	ja     0x416179
416186:	8b 45 ec             	mov    -0x14(%ebp),%eax
416189:	8b ce                	mov    %esi,%ecx
41618b:	89 47 54             	mov    %eax,0x54(%edi)
41618e:	e8 77 35 ff ff       	call   0x40970a
416193:	8b 93 78 2d 00 00    	mov    0x2d78(%ebx),%edx
416199:	25 fe ff 00 00       	and    $0xfffe,%eax
41619e:	3b 84 93 f8 2c 00 00 	cmp    0x2cf8(%ebx,%edx,4),%eax
4161a5:	73 29                	jae    0x4161d0
4161a7:	6a 10                	push   $0x10
4161a9:	59                   	pop    %ecx
4161aa:	2b ca                	sub    %edx,%ecx
4161ac:	d3 e8                	shr    %cl,%eax
4161ae:	0f b6 8c 18 7c 2d 00 	movzbl 0x2d7c(%eax,%ebx,1),%ecx
4161b5:	00
4161b6:	03 4e 04             	add    0x4(%esi),%ecx
4161b9:	8b d1                	mov    %ecx,%edx
4161bb:	c1 ea 03             	shr    $0x3,%edx
4161be:	01 16                	add    %edx,(%esi)
4161c0:	83 e1 07             	and    $0x7,%ecx
4161c3:	89 4e 04             	mov    %ecx,0x4(%esi)
4161c6:	0f b7 84 43 7c 31 00 	movzwl 0x317c(%ebx,%eax,2),%eax
4161cd:	00
4161ce:	eb 63                	jmp    0x416233
4161d0:	42                   	inc    %edx
4161d1:	c7 45 08 0f 00 00 00 	movl   $0xf,0x8(%ebp)
4161d8:	83 fa 0f             	cmp    $0xf,%edx
4161db:	73 19                	jae    0x4161f6
4161dd:	8d 8c 93 f8 2c 00 00 	lea    0x2cf8(%ebx,%edx,4),%ecx
4161e4:	3b 01                	cmp    (%ecx),%eax
4161e6:	72 0b                	jb     0x4161f3
4161e8:	42                   	inc    %edx
4161e9:	83 c1 04             	add    $0x4,%ecx
4161ec:	83 fa 0f             	cmp    $0xf,%edx
4161ef:	72 f3                	jb     0x4161e4
4161f1:	eb 03                	jmp    0x4161f6
4161f3:	89 55 08             	mov    %edx,0x8(%ebp)
4161f6:	8b 4e 04             	mov    0x4(%esi),%ecx
4161f9:	03 4d 08             	add    0x8(%ebp),%ecx
4161fc:	6a 10                	push   $0x10
4161fe:	8b d1                	mov    %ecx,%edx
416200:	c1 ea 03             	shr    $0x3,%edx
416203:	01 16                	add    %edx,(%esi)
416205:	8b 55 08             	mov    0x8(%ebp),%edx
416208:	83 e1 07             	and    $0x7,%ecx
41620b:	89 4e 04             	mov    %ecx,0x4(%esi)
41620e:	2b 84 93 f4 2c 00 00 	sub    0x2cf4(%ebx,%edx,4),%eax
416215:	59                   	pop    %ecx
416216:	2b ca                	sub    %edx,%ecx
416218:	d3 e8                	shr    %cl,%eax
41621a:	03 84 93 38 2d 00 00 	add    0x2d38(%ebx,%edx,4),%eax
416221:	3b 83 f4 2c 00 00    	cmp    0x2cf4(%ebx),%eax
416227:	72 02                	jb     0x41622b
416229:	33 c0                	xor    %eax,%eax
41622b:	0f b7 84 43 7c 39 00 	movzwl 0x397c(%ebx,%eax,2),%eax
416232:	00
416233:	83 f8 08             	cmp    $0x8,%eax
416236:	73 08                	jae    0x416240
416238:	83 c0 02             	add    $0x2,%eax
41623b:	89 45 f0             	mov    %eax,-0x10(%ebp)
41623e:	eb 42                	jmp    0x416282
416240:	8b c8                	mov    %eax,%ecx
416242:	83 e0 03             	and    $0x3,%eax
416245:	c1 e9 02             	shr    $0x2,%ecx
416248:	49                   	dec    %ecx
416249:	83 c8 04             	or     $0x4,%eax
41624c:	d3 e0                	shl    %cl,%eax
41624e:	89 4d 08             	mov    %ecx,0x8(%ebp)
416251:	40                   	inc    %eax
416252:	40                   	inc    %eax
416253:	89 45 f0             	mov    %eax,-0x10(%ebp)
416256:	85 c9                	test   %ecx,%ecx
416258:	76 28                	jbe    0x416282
41625a:	8b ce                	mov    %esi,%ecx
41625c:	e8 a9 34 ff ff       	call   0x40970a
416261:	6a 10                	push   $0x10
416263:	59                   	pop    %ecx
416264:	2b 4d 08             	sub    0x8(%ebp),%ecx
416267:	d3 e8                	shr    %cl,%eax
416269:	01 45 f0             	add    %eax,-0x10(%ebp)
41626c:	8b 46 04             	mov    0x4(%esi),%eax
41626f:	03 45 08             	add    0x8(%ebp),%eax
416272:	8b c8                	mov    %eax,%ecx
416274:	c1 e9 03             	shr    $0x3,%ecx
416277:	01 0e                	add    %ecx,(%esi)
416279:	83 e0 07             	and    $0x7,%eax
41627c:	89 46 04             	mov    %eax,0x4(%esi)
41627f:	8b 45 f0             	mov    -0x10(%ebp),%eax
416282:	8b 57 70             	mov    0x70(%edi),%edx
416285:	2b 55 ec             	sub    -0x14(%ebp),%edx
416288:	8b 8f f4 e6 00 00    	mov    0xe6f4(%edi),%ecx
41628e:	81 c1 ff ef ff ff    	add    $0xffffefff,%ecx
416294:	89 47 68             	mov    %eax,0x68(%edi)
416297:	89 45 08             	mov    %eax,0x8(%ebp)
41629a:	89 55 f4             	mov    %edx,-0xc(%ebp)
41629d:	3b d1                	cmp    %ecx,%edx
41629f:	0f 83 b9 00 00 00    	jae    0x41635e
4162a5:	39 4f 70             	cmp    %ecx,0x70(%edi)
4162a8:	0f 83 b0 00 00 00    	jae    0x41635e
4162ae:	8b 8f 34 4b 00 00    	mov    0x4b34(%edi),%ecx
4162b4:	03 d1                	add    %ecx,%edx
4162b6:	89 55 f8             	mov    %edx,-0x8(%ebp)
4162b9:	8b 57 70             	mov    0x70(%edi),%edx
4162bc:	03 ca                	add    %edx,%ecx
4162be:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4162c1:	8d 0c 10             	lea    (%eax,%edx,1),%ecx
4162c4:	89 4f 70             	mov    %ecx,0x70(%edi)
4162c7:	39 45 ec             	cmp    %eax,-0x14(%ebp)
4162ca:	73 5a                	jae    0x416326
4162cc:	83 f8 08             	cmp    $0x8,%eax
4162cf:	0f 82 ca fd ff ff    	jb     0x41609f
4162d5:	8b 45 f0             	mov    -0x10(%ebp),%eax
4162d8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4162db:	c1 e8 03             	shr    $0x3,%eax
4162de:	89 45 ec             	mov    %eax,-0x14(%ebp)
4162e1:	8b 45 f8             	mov    -0x8(%ebp),%eax
4162e4:	8a 10                	mov    (%eax),%dl
4162e6:	83 6d 08 08          	subl   $0x8,0x8(%ebp)
4162ea:	88 11                	mov    %dl,(%ecx)
4162ec:	8a 50 01             	mov    0x1(%eax),%dl
4162ef:	88 51 01             	mov    %dl,0x1(%ecx)
4162f2:	8a 50 02             	mov    0x2(%eax),%dl
4162f5:	88 51 02             	mov    %dl,0x2(%ecx)
4162f8:	8a 50 03             	mov    0x3(%eax),%dl
4162fb:	88 51 03             	mov    %dl,0x3(%ecx)
4162fe:	8a 50 04             	mov    0x4(%eax),%dl
416301:	88 51 04             	mov    %dl,0x4(%ecx)
416304:	8a 50 05             	mov    0x5(%eax),%dl
416307:	88 51 05             	mov    %dl,0x5(%ecx)
41630a:	8a 50 06             	mov    0x6(%eax),%dl
41630d:	88 51 06             	mov    %dl,0x6(%ecx)
416310:	8a 50 07             	mov    0x7(%eax),%dl
416313:	88 51 07             	mov    %dl,0x7(%ecx)
416316:	83 c0 08             	add    $0x8,%eax
416319:	83 c1 08             	add    $0x8,%ecx
41631c:	ff 4d ec             	decl   -0x14(%ebp)
41631f:	75 c3                	jne    0x4162e4
416321:	e9 45 fd ff ff       	jmp    0x41606b
416326:	83 f8 08             	cmp    $0x8,%eax
416329:	0f 82 70 fd ff ff    	jb     0x41609f
41632f:	8b 45 f0             	mov    -0x10(%ebp),%eax
416332:	c1 e8 03             	shr    $0x3,%eax
416335:	89 45 ec             	mov    %eax,-0x14(%ebp)
416338:	6a 08                	push   $0x8
41633a:	ff 75 f8             	push   -0x8(%ebp)
41633d:	ff 75 fc             	push   -0x4(%ebp)
416340:	e8 2b 59 00 00       	call   0x41bc70
416345:	83 45 f8 08          	addl   $0x8,-0x8(%ebp)
416349:	83 45 fc 08          	addl   $0x8,-0x4(%ebp)
41634d:	83 6d 08 08          	subl   $0x8,0x8(%ebp)
416351:	83 c4 0c             	add    $0xc,%esp
416354:	ff 4d ec             	decl   -0x14(%ebp)