40fea1:	77 16                	ja     0x40feb9
40fea3:	2b c1                	sub    %ecx,%eax
40fea5:	40                   	inc    %eax
40fea6:	50                   	push   %eax
40fea7:	8d 94 0d 98 03 00 00 	lea    0x398(%ebp,%ecx,1),%edx
40feae:	6a 20                	push   $0x20
40feb0:	52                   	push   %edx
40feb1:	e8 9a 5c ff ff       	call   0x405b50
40feb6:	83 c4 0c             	add    $0xc,%esp
40feb9:	43                   	inc    %ebx
40feba:	8a 03                	mov    (%ebx),%al
40febc:	43                   	inc    %ebx
40febd:	84 c0                	test   %al,%al
40febf:	75 d8                	jne    0x40fe99
40fec1:	6a 00                	push   $0x0
40fec3:	ff 76 0c             	push   0xc(%esi)
40fec6:	8d 45 98             	lea    -0x68(%ebp),%eax
40fec9:	ff 76 04             	push   0x4(%esi)
40fecc:	50                   	push   %eax
40fecd:	57                   	push   %edi
40fece:	8d 85 98 03 00 00    	lea    0x398(%ebp),%eax
40fed4:	50                   	push   %eax
40fed5:	6a 01                	push   $0x1
40fed7:	6a 00                	push   $0x0
40fed9:	e8 0c 0a 00 00       	call   0x4108ea
40fede:	33 db                	xor    %ebx,%ebx
40fee0:	53                   	push   %ebx
40fee1:	ff 76 04             	push   0x4(%esi)
40fee4:	8d 85 98 02 00 00    	lea    0x298(%ebp),%eax
40feea:	57                   	push   %edi
40feeb:	50                   	push   %eax
40feec:	57                   	push   %edi
40feed:	8d 85 98 03 00 00    	lea    0x398(%ebp),%eax
40fef3:	50                   	push   %eax
40fef4:	57                   	push   %edi
40fef5:	ff 76 0c             	push   0xc(%esi)
40fef8:	53                   	push   %ebx
40fef9:	e8 ea 8e ff ff       	call   0x408de8
40fefe:	83 c4 44             	add    $0x44,%esp
40ff01:	53                   	push   %ebx
40ff02:	ff 76 04             	push   0x4(%esi)
40ff05:	8d 85 98 01 00 00    	lea    0x198(%ebp),%eax
40ff0b:	57                   	push   %edi
40ff0c:	50                   	push   %eax
40ff0d:	57                   	push   %edi
40ff0e:	8d 85 98 03 00 00    	lea    0x398(%ebp),%eax
40ff14:	50                   	push   %eax
40ff15:	68 00 02 00 00       	push   $0x200
40ff1a:	ff 76 0c             	push   0xc(%esi)
40ff1d:	53                   	push   %ebx
40ff1e:	e8 c5 8e ff ff       	call   0x408de8
40ff23:	83 c4 24             	add    $0x24,%esp
40ff26:	33 c0                	xor    %eax,%eax
40ff28:	0f b7 4c 45 98       	movzwl -0x68(%ebp,%eax,2),%ecx
40ff2d:	f6 c1 01             	test   $0x1,%cl
40ff30:	74 0e                	je     0x40ff40
40ff32:	80 4c 06 1d 10       	orb    $0x10,0x1d(%esi,%eax,1)
40ff37:	8a 8c 05 98 02 00 00 	mov    0x298(%ebp,%eax,1),%cl
40ff3e:	eb 11                	jmp    0x40ff51
40ff40:	f6 c1 02             	test   $0x2,%cl
40ff43:	74 15                	je     0x40ff5a
40ff45:	80 4c 06 1d 20       	orb    $0x20,0x1d(%esi,%eax,1)
40ff4a:	8a 8c 05 98 01 00 00 	mov    0x198(%ebp,%eax,1),%cl
40ff51:	88 8c 06 1d 01 00 00 	mov    %cl,0x11d(%esi,%eax,1)
40ff58:	eb 08                	jmp    0x40ff62
40ff5a:	c6 84 06 1d 01 00 00 	movb   $0x0,0x11d(%esi,%eax,1)
40ff61:	00
40ff62:	40                   	inc    %eax
40ff63:	3b c7                	cmp    %edi,%eax
40ff65:	72 c1                	jb     0x40ff28
40ff67:	eb 4d                	jmp    0x40ffb6
40ff69:	8d 86 1d 01 00 00    	lea    0x11d(%esi),%eax
40ff6f:	c7 45 80 9f ff ff ff 	movl   $0xffffff9f,-0x80(%ebp)
40ff76:	33 c9                	xor    %ecx,%ecx
40ff78:	29 45 80             	sub    %eax,-0x80(%ebp)
40ff7b:	8b 55 80             	mov    -0x80(%ebp),%edx
40ff7e:	8d 84 0e 1d 01 00 00 	lea    0x11d(%esi,%ecx,1),%eax
40ff85:	03 d0                	add    %eax,%edx
40ff87:	8d 5a 20             	lea    0x20(%edx),%ebx
40ff8a:	83 fb 19             	cmp    $0x19,%ebx
40ff8d:	77 0c                	ja     0x40ff9b
40ff8f:	80 4c 0e 1d 10       	orb    $0x10,0x1d(%esi,%ecx,1)
40ff94:	8a d1                	mov    %cl,%dl
40ff96:	80 c2 20             	add    $0x20,%dl
40ff99:	eb 0f                	jmp    0x40ffaa
40ff9b:	83 fa 19             	cmp    $0x19,%edx
40ff9e:	77 0e                	ja     0x40ffae
40ffa0:	80 4c 0e 1d 20       	orb    $0x20,0x1d(%esi,%ecx,1)
40ffa5:	8a d1                	mov    %cl,%dl
40ffa7:	80 ea 20             	sub    $0x20,%dl
40ffaa:	88 10                	mov    %dl,(%eax)
40ffac:	eb 03                	jmp    0x40ffb1
40ffae:	c6 00 00             	movb   $0x0,(%eax)
40ffb1:	41                   	inc    %ecx
40ffb2:	3b cf                	cmp    %edi,%ecx
40ffb4:	72 c5                	jb     0x40ff7b
40ffb6:	8b 8d 98 04 00 00    	mov    0x498(%ebp),%ecx
40ffbc:	5f                   	pop    %edi
40ffbd:	33 cd                	xor    %ebp,%ecx
40ffbf:	5b                   	pop    %ebx
40ffc0:	e8 70 5f ff ff       	call   0x405f35
40ffc5:	81 c5 9c 04 00 00    	add    $0x49c,%ebp
40ffcb:	c9                   	leave
40ffcc:	c3                   	ret
40ffcd:	6a 0c                	push   $0xc
40ffcf:	68 f8 ad 41 00       	push   $0x41adf8
40ffd4:	e8 6f d6 ff ff       	call   0x40d648
40ffd9:	e8 6e c5 ff ff       	call   0x40c54c
40ffde:	8b f8                	mov    %eax,%edi
40ffe0:	a1 38 d1 41 00       	mov    0x41d138,%eax
40ffe5:	85 47 70             	test   %eax,0x70(%edi)
40ffe8:	74 1d                	je     0x410007
40ffea:	83 7f 6c 00          	cmpl   $0x0,0x6c(%edi)
40ffee:	74 17                	je     0x410007
40fff0:	8b 77 68             	mov    0x68(%edi),%esi
40fff3:	85 f6                	test   %esi,%esi
40fff5:	75 08                	jne    0x40ffff
40fff7:	6a 20                	push   $0x20
40fff9:	e8 48 d8 ff ff       	call   0x40d846
40fffe:	59                   	pop    %ecx
40ffff:	8b c6                	mov    %esi,%eax
410001:	e8 87 d6 ff ff       	call   0x40d68d
410006:	c3                   	ret
410007:	6a 0d                	push   $0xd
410009:	e8 09 cb ff ff       	call   0x40cb17
41000e:	59                   	pop    %ecx
41000f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
410013:	8b 77 68             	mov    0x68(%edi),%esi
410016:	89 75 e4             	mov    %esi,-0x1c(%ebp)
410019:	3b 35 40 d0 41 00    	cmp    0x41d040,%esi
41001f:	74 36                	je     0x410057
410021:	85 f6                	test   %esi,%esi
410023:	74 1a                	je     0x41003f
410025:	56                   	push   %esi
410026:	ff 15 98 70 41 00    	call   *0x417098
41002c:	85 c0                	test   %eax,%eax
41002e:	75 0f                	jne    0x41003f
410030:	81 fe 18 cc 41 00    	cmp    $0x41cc18,%esi
410036:	74 07                	je     0x41003f
410038:	56                   	push   %esi
410039:	e8 15 64 ff ff       	call   0x406453
41003e:	59                   	pop    %ecx
41003f:	a1 40 d0 41 00       	mov    0x41d040,%eax
410044:	89 47 68             	mov    %eax,0x68(%edi)
410047:	8b 35 40 d0 41 00    	mov    0x41d040,%esi
41004d:	89 75 e4             	mov    %esi,-0x1c(%ebp)
410050:	56                   	push   %esi
410051:	ff 15 94 70 41 00    	call   *0x417094
410057:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41005e:	e8 05 00 00 00       	call   0x410068
410063:	eb 8e                	jmp    0x40fff3
410065:	8b 75 e4             	mov    -0x1c(%ebp),%esi
410068:	6a 0d                	push   $0xd
41006a:	e8 d0 c9 ff ff       	call   0x40ca3f
41006f:	59                   	pop    %ecx
410070:	c3                   	ret
410071:	55                   	push   %ebp
410072:	8b ec                	mov    %esp,%ebp
410074:	83 ec 10             	sub    $0x10,%esp
410077:	53                   	push   %ebx
410078:	33 db                	xor    %ebx,%ebx
41007a:	53                   	push   %ebx
41007b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41007e:	e8 41 89 ff ff       	call   0x4089c4
410083:	83 fe fe             	cmp    $0xfffffffe,%esi
410086:	89 1d 24 e3 41 00    	mov    %ebx,0x41e324
41008c:	75 1e                	jne    0x4100ac
41008e:	c7 05 24 e3 41 00 01 	movl   $0x1,0x41e324
410095:	00 00 00
410098:	ff 15 64 71 41 00    	call   *0x417164
41009e:	38 5d fc             	cmp    %bl,-0x4(%ebp)
4100a1:	74 45                	je     0x4100e8
4100a3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4100a6:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
4100aa:	eb 3c                	jmp    0x4100e8
4100ac:	83 fe fd             	cmp    $0xfffffffd,%esi
4100af:	75 12                	jne    0x4100c3
4100b1:	c7 05 24 e3 41 00 01 	movl   $0x1,0x41e324
4100b8:	00 00 00
4100bb:	ff 15 60 71 41 00    	call   *0x417160
4100c1:	eb db                	jmp    0x41009e
4100c3:	83 fe fc             	cmp    $0xfffffffc,%esi
4100c6:	75 12                	jne    0x4100da
4100c8:	8b 45 f0             	mov    -0x10(%ebp),%eax
4100cb:	8b 40 04             	mov    0x4(%eax),%eax
4100ce:	c7 05 24 e3 41 00 01 	movl   $0x1,0x41e324
4100d5:	00 00 00
4100d8:	eb c4                	jmp    0x41009e
4100da:	38 5d fc             	cmp    %bl,-0x4(%ebp)
4100dd:	74 07                	je     0x4100e6
4100df:	8b 45 f8             	mov    -0x8(%ebp),%eax
4100e2:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
4100e6:	8b c6                	mov    %esi,%eax
4100e8:	5b                   	pop    %ebx
4100e9:	c9                   	leave
4100ea:	c3                   	ret
4100eb:	55                   	push   %ebp
4100ec:	8b ec                	mov    %esp,%ebp
4100ee:	83 ec 20             	sub    $0x20,%esp
4100f1:	a1 20 c5 41 00       	mov    0x41c520,%eax
4100f6:	33 c5                	xor    %ebp,%eax
4100f8:	89 45 fc             	mov    %eax,-0x4(%ebp)
4100fb:	53                   	push   %ebx
4100fc:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4100ff:	56                   	push   %esi
410100:	8b 75 08             	mov    0x8(%ebp),%esi
410103:	57                   	push   %edi
410104:	e8 68 ff ff ff       	call   0x410071
410109:	8b f8                	mov    %eax,%edi
41010b:	33 f6                	xor    %esi,%esi
41010d:	3b fe                	cmp    %esi,%edi
41010f:	89 7d 08             	mov    %edi,0x8(%ebp)
410112:	75 0e                	jne    0x410122
410114:	8b c3                	mov    %ebx,%eax
410116:	e8 d3 fc ff ff       	call   0x40fdee
41011b:	33 c0                	xor    %eax,%eax
41011d:	e9 65 01 00 00       	jmp    0x410287
410122:	89 75 e4             	mov    %esi,-0x1c(%ebp)
410125:	33 c0                	xor    %eax,%eax
410127:	39 b8 48 d0 41 00    	cmp    %edi,0x41d048(%eax)
41012d:	74 67                	je     0x410196
41012f:	ff 45 e4             	incl   -0x1c(%ebp)
410132:	83 c0 30             	add    $0x30,%eax
410135:	3d f0 00 00 00       	cmp    $0xf0,%eax
41013a:	72 eb                	jb     0x410127
41013c:	8d 45 e8             	lea    -0x18(%ebp),%eax
41013f:	50                   	push   %eax
410140:	57                   	push   %edi
410141:	ff 15 e0 70 41 00    	call   *0x4170e0
410147:	85 c0                	test   %eax,%eax
410149:	0f 84 29 01 00 00    	je     0x410278
41014f:	68 01 01 00 00       	push   $0x101
410154:	8d 43 1c             	lea    0x1c(%ebx),%eax
410157:	56                   	push   %esi
410158:	50                   	push   %eax
410159:	e8 f2 59 ff ff       	call   0x405b50
41015e:	33 d2                	xor    %edx,%edx
410160:	42                   	inc    %edx
410161:	83 c4 0c             	add    $0xc,%esp
410164:	39 55 e8             	cmp    %edx,-0x18(%ebp)
410167:	89 7b 04             	mov    %edi,0x4(%ebx)
41016a:	89 73 0c             	mov    %esi,0xc(%ebx)
41016d:	0f 86 f8 00 00 00    	jbe    0x41026b
410173:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
410177:	0f 84 cf 00 00 00    	je     0x41024c
41017d:	8d 75 ef             	lea    -0x11(%ebp),%esi
410180:	8a 0e                	mov    (%esi),%cl
410182:	84 c9                	test   %cl,%cl
410184:	0f 84 c2 00 00 00    	je     0x41024c
41018a:	0f b6 46 ff          	movzbl -0x1(%esi),%eax
41018e:	0f b6 c9             	movzbl %cl,%ecx
410191:	e9 a6 00 00 00       	jmp    0x41023c
410196:	68 01 01 00 00       	push   $0x101
41019b:	8d 43 1c             	lea    0x1c(%ebx),%eax
41019e:	56                   	push   %esi
41019f:	50                   	push   %eax
4101a0:	e8 ab 59 ff ff       	call   0x405b50
4101a5:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4101a8:	83 c4 0c             	add    $0xc,%esp
4101ab:	6b c9 30             	imul   $0x30,%ecx,%ecx
4101ae:	89 75 e0             	mov    %esi,-0x20(%ebp)
4101b1:	8d b1 58 d0 41 00    	lea    0x41d058(%ecx),%esi
4101b7:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4101ba:	eb 2a                	jmp    0x4101e6
4101bc:	8a 46 01             	mov    0x1(%esi),%al
4101bf:	84 c0                	test   %al,%al
4101c1:	74 28                	je     0x4101eb
4101c3:	0f b6 3e             	movzbl (%esi),%edi
4101c6:	0f b6 c0             	movzbl %al,%eax
4101c9:	eb 12                	jmp    0x4101dd
4101cb:	8b 45 e0             	mov    -0x20(%ebp),%eax
4101ce:	8a 80 44 d0 41 00    	mov    0x41d044(%eax),%al
4101d4:	08 44 3b 1d          	or     %al,0x1d(%ebx,%edi,1)
4101d8:	0f b6 46 01          	movzbl 0x1(%esi),%eax
4101dc:	47                   	inc    %edi
4101dd:	3b f8                	cmp    %eax,%edi
4101df:	76 ea                	jbe    0x4101cb
4101e1:	8b 7d 08             	mov    0x8(%ebp),%edi
4101e4:	46                   	inc    %esi
4101e5:	46                   	inc    %esi
4101e6:	80 3e 00             	cmpb   $0x0,(%esi)
4101e9:	75 d1                	jne    0x4101bc
4101eb:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4101ee:	ff 45 e0             	incl   -0x20(%ebp)
4101f1:	83 c6 08             	add    $0x8,%esi
4101f4:	83 7d e0 04          	cmpl   $0x4,-0x20(%ebp)
4101f8:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4101fb:	72 e9                	jb     0x4101e6
4101fd:	8b c7                	mov    %edi,%eax
4101ff:	89 7b 04             	mov    %edi,0x4(%ebx)
410202:	c7 43 08 01 00 00 00 	movl   $0x1,0x8(%ebx)
410209:	e8 b1 fb ff ff       	call   0x40fdbf
41020e:	6a 06                	push   $0x6
410210:	89 43 0c             	mov    %eax,0xc(%ebx)
410213:	8d 43 10             	lea    0x10(%ebx),%eax
410216:	8d 89 4c d0 41 00    	lea    0x41d04c(%ecx),%ecx
41021c:	5a                   	pop    %edx
41021d:	66 8b 31             	mov    (%ecx),%si
410220:	41                   	inc    %ecx
410221:	66 89 30             	mov    %si,(%eax)
410224:	41                   	inc    %ecx
410225:	40                   	inc    %eax
410226:	40                   	inc    %eax
410227:	4a                   	dec    %edx
410228:	75 f3                	jne    0x41021d
41022a:	8b f3                	mov    %ebx,%esi
41022c:	e8 12 fc ff ff       	call   0x40fe43
410231:	e9 e5 fe ff ff       	jmp    0x41011b
410236:	80 4c 03 1d 04       	orb    $0x4,0x1d(%ebx,%eax,1)
41023b:	40                   	inc    %eax
41023c:	3b c1                	cmp    %ecx,%eax
41023e:	76 f6                	jbe    0x410236
410240:	46                   	inc    %esi
410241:	46                   	inc    %esi
410242:	80 7e ff 00          	cmpb   $0x0,-0x1(%esi)
410246:	0f 85 34 ff ff ff    	jne    0x410180
41024c:	8d 43 1e             	lea    0x1e(%ebx),%eax
41024f:	b9 fe 00 00 00       	mov    $0xfe,%ecx
410254:	80 08 08             	orb    $0x8,(%eax)
410257:	40                   	inc    %eax
410258:	49                   	dec    %ecx
410259:	75 f9                	jne    0x410254
41025b:	8b 43 04             	mov    0x4(%ebx),%eax
41025e:	e8 5c fb ff ff       	call   0x40fdbf
410263:	89 43 0c             	mov    %eax,0xc(%ebx)
410266:	89 53 08             	mov    %edx,0x8(%ebx)
410269:	eb 03                	jmp    0x41026e
41026b:	89 73 08             	mov    %esi,0x8(%ebx)
41026e:	33 c0                	xor    %eax,%eax
410270:	8d 7b 10             	lea    0x10(%ebx),%edi
410273:	ab                   	stos   %eax,%es:(%edi)
410274:	ab                   	stos   %eax,%es:(%edi)
410275:	ab                   	stos   %eax,%es:(%edi)
410276:	eb b2                	jmp    0x41022a
410278:	39 35 24 e3 41 00    	cmp    %esi,0x41e324
41027e:	0f 85 90 fe ff ff    	jne    0x410114
410284:	83 c8 ff             	or     $0xffffffff,%eax
410287:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41028a:	5f                   	pop    %edi
41028b:	5e                   	pop    %esi
41028c:	33 cd                	xor    %ebp,%ecx
41028e:	5b                   	pop    %ebx
41028f:	e8 a1 5c ff ff       	call   0x405f35
410294:	c9                   	leave
410295:	c3                   	ret
410296:	6a 14                	push   $0x14
410298:	68 18 ae 41 00       	push   $0x41ae18
41029d:	e8 a6 d3 ff ff       	call   0x40d648
4102a2:	83 4d e0 ff          	orl    $0xffffffff,-0x20(%ebp)
4102a6:	e8 a1 c2 ff ff       	call   0x40c54c