40af8d:	e8 e6 df ff ff       	call   0x408f78
40af92:	85 c0                	test   %eax,%eax
40af94:	75 28                	jne    0x40afbe
40af96:	66 83 7d ea 0c       	cmpw   $0xc,-0x16(%ebp)
40af9b:	72 03                	jb     0x40afa0
40af9d:	83 c6 02             	add    $0x2,%esi
40afa0:	8b 45 08             	mov    0x8(%ebp),%eax
40afa3:	50                   	push   %eax
40afa4:	ba 01 00 00 00       	mov    $0x1,%edx
40afa9:	8b c6                	mov    %esi,%eax
40afab:	e8 ec f6 ff ff       	call   0x40a69c
40afb0:	59                   	pop    %ecx
40afb1:	83 45 fc 02          	addl   $0x2,-0x4(%ebp)
40afb5:	c6 45 e2 01          	movb   $0x1,-0x1e(%ebp)
40afb9:	e9 f2 01 00 00       	jmp    0x40b1b0
40afbe:	ba fc b1 40 00       	mov    $0x40b1fc,%edx
40afc3:	b9 04 00 00 00       	mov    $0x4,%ecx
40afc8:	8b c6                	mov    %esi,%eax
40afca:	e8 a9 df ff ff       	call   0x408f78
40afcf:	85 c0                	test   %eax,%eax
40afd1:	75 34                	jne    0x40b007
40afd3:	66 83 7d ea 0c       	cmpw   $0xc,-0x16(%ebp)
40afd8:	73 11                	jae    0x40afeb
40afda:	8b 45 08             	mov    0x8(%ebp),%eax
40afdd:	50                   	push   %eax
40afde:	a1 9c c6 49 00       	mov    0x49c69c,%eax
40afe3:	e8 f8 f6 ff ff       	call   0x40a6e0
40afe8:	59                   	pop    %ecx
40afe9:	eb 0f                	jmp    0x40affa
40afeb:	8b 45 08             	mov    0x8(%ebp),%eax
40afee:	50                   	push   %eax
40afef:	a1 a0 c6 49 00       	mov    0x49c6a0,%eax
40aff4:	e8 e7 f6 ff ff       	call   0x40a6e0
40aff9:	59                   	pop    %ecx
40affa:	83 45 fc 03          	addl   $0x3,-0x4(%ebp)
40affe:	c6 45 e2 01          	movb   $0x1,-0x1e(%ebp)
40b002:	e9 a9 01 00 00       	jmp    0x40b1b0
40b007:	ba 04 b2 40 00       	mov    $0x40b204,%edx
40b00c:	b9 04 00 00 00       	mov    $0x4,%ecx
40b011:	8b c6                	mov    %esi,%eax
40b013:	e8 60 df ff ff       	call   0x408f78
40b018:	85 c0                	test   %eax,%eax
40b01a:	75 32                	jne    0x40b04e
40b01c:	55                   	push   %ebp
40b01d:	e8 56 f7 ff ff       	call   0x40a778
40b022:	59                   	pop    %ecx
40b023:	8b 45 08             	mov    0x8(%ebp),%eax
40b026:	50                   	push   %eax
40b027:	8b 45 08             	mov    0x8(%ebp),%eax
40b02a:	ff 70 0c             	push   0xc(%eax)
40b02d:	ff 70 08             	push   0x8(%eax)
40b030:	e8 2b f6 ff ff       	call   0x40a660
40b035:	0f b7 c0             	movzwl %ax,%eax
40b038:	8b 04 85 24 c7 49 00 	mov    0x49c724(,%eax,4),%eax
40b03f:	e8 9c f6 ff ff       	call   0x40a6e0
40b044:	59                   	pop    %ecx
40b045:	83 45 fc 03          	addl   $0x3,-0x4(%ebp)
40b049:	e9 62 01 00 00       	jmp    0x40b1b0
40b04e:	ba 0c b2 40 00       	mov    $0x40b20c,%edx
40b053:	b9 03 00 00 00       	mov    $0x3,%ecx
40b058:	8b c6                	mov    %esi,%eax
40b05a:	e8 19 df ff ff       	call   0x408f78
40b05f:	85 c0                	test   %eax,%eax
40b061:	75 32                	jne    0x40b095
40b063:	55                   	push   %ebp
40b064:	e8 0f f7 ff ff       	call   0x40a778
40b069:	59                   	pop    %ecx
40b06a:	8b 45 08             	mov    0x8(%ebp),%eax
40b06d:	50                   	push   %eax
40b06e:	8b 45 08             	mov    0x8(%ebp),%eax
40b071:	ff 70 0c             	push   0xc(%eax)
40b074:	ff 70 08             	push   0x8(%eax)
40b077:	e8 e4 f5 ff ff       	call   0x40a660
40b07c:	0f b7 c0             	movzwl %ax,%eax
40b07f:	8b 04 85 08 c7 49 00 	mov    0x49c708(,%eax,4),%eax
40b086:	e8 55 f6 ff ff       	call   0x40a6e0
40b08b:	59                   	pop    %ecx
40b08c:	83 45 fc 02          	addl   $0x2,-0x4(%ebp)
40b090:	e9 1b 01 00 00       	jmp    0x40b1b0
40b095:	8b 45 08             	mov    0x8(%ebp),%eax
40b098:	50                   	push   %eax
40b099:	8d 45 fb             	lea    -0x5(%ebp),%eax
40b09c:	ba 01 00 00 00       	mov    $0x1,%edx
40b0a1:	e8 f6 f5 ff ff       	call   0x40a69c
40b0a6:	59                   	pop    %ecx
40b0a7:	e9 04 01 00 00       	jmp    0x40b1b0
40b0ac:	55                   	push   %ebp
40b0ad:	e8 9a f6 ff ff       	call   0x40a74c
40b0b2:	59                   	pop    %ecx
40b0b3:	8b 45 08             	mov    0x8(%ebp),%eax
40b0b6:	50                   	push   %eax
40b0b7:	a1 90 c6 49 00       	mov    0x49c690,%eax
40b0bc:	e8 9f f9 ff ff       	call   0x40aa60
40b0c1:	59                   	pop    %ecx
40b0c2:	55                   	push   %ebp
40b0c3:	e8 e8 f6 ff ff       	call   0x40a7b0
40b0c8:	59                   	pop    %ecx
40b0c9:	66 83 7d ea 00       	cmpw   $0x0,-0x16(%ebp)
40b0ce:	75 12                	jne    0x40b0e2
40b0d0:	66 83 7d e8 00       	cmpw   $0x0,-0x18(%ebp)
40b0d5:	75 0b                	jne    0x40b0e2
40b0d7:	66 83 7d e6 00       	cmpw   $0x0,-0x1a(%ebp)
40b0dc:	0f 84 ce 00 00 00    	je     0x40b1b0
40b0e2:	8b 45 08             	mov    0x8(%ebp),%eax
40b0e5:	50                   	push   %eax
40b0e6:	b8 10 b2 40 00       	mov    $0x40b210,%eax
40b0eb:	ba 01 00 00 00       	mov    $0x1,%edx
40b0f0:	e8 a7 f5 ff ff       	call   0x40a69c
40b0f5:	59                   	pop    %ecx
40b0f6:	8b 45 08             	mov    0x8(%ebp),%eax
40b0f9:	50                   	push   %eax
40b0fa:	a1 a8 c6 49 00       	mov    0x49c6a8,%eax
40b0ff:	e8 5c f9 ff ff       	call   0x40aa60
40b104:	59                   	pop    %ecx
40b105:	e9 a6 00 00 00       	jmp    0x40b1b0
40b10a:	80 3d 8d c6 49 00 00 	cmpb   $0x0,0x49c68d
40b111:	0f 84 99 00 00 00    	je     0x40b1b0
40b117:	8b 45 08             	mov    0x8(%ebp),%eax
40b11a:	50                   	push   %eax
40b11b:	b8 8d c6 49 00       	mov    $0x49c68d,%eax
40b120:	ba 01 00 00 00       	mov    $0x1,%edx
40b125:	e8 72 f5 ff ff       	call   0x40a69c
40b12a:	59                   	pop    %ecx
40b12b:	e9 80 00 00 00       	jmp    0x40b1b0
40b130:	80 3d 98 c6 49 00 00 	cmpb   $0x0,0x49c698
40b137:	74 77                	je     0x40b1b0
40b139:	8b 45 08             	mov    0x8(%ebp),%eax
40b13c:	50                   	push   %eax
40b13d:	b8 98 c6 49 00       	mov    $0x49c698,%eax
40b142:	ba 01 00 00 00       	mov    $0x1,%edx
40b147:	e8 50 f5 ff ff       	call   0x40a69c
40b14c:	59                   	pop    %ecx
40b14d:	eb 61                	jmp    0x40b1b0
40b14f:	8b 75 fc             	mov    -0x4(%ebp),%esi
40b152:	eb 1e                	jmp    0x40b172
40b154:	25 ff 00 00 00       	and    $0xff,%eax
40b159:	0f a3 05 0c d1 48 00 	bt     %eax,0x48d10c
40b160:	73 0d                	jae    0x40b16f
40b162:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b165:	e8 fa 1e 00 00       	call   0x40d064
40b16a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b16d:	eb 03                	jmp    0x40b172
40b16f:	ff 45 fc             	incl   -0x4(%ebp)
40b172:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b175:	8a 00                	mov    (%eax),%al
40b177:	84 c0                	test   %al,%al
40b179:	74 05                	je     0x40b180
40b17b:	3a 45 fb             	cmp    -0x5(%ebp),%al
40b17e:	75 d4                	jne    0x40b154
40b180:	8b 45 08             	mov    0x8(%ebp),%eax
40b183:	50                   	push   %eax
40b184:	8b 55 fc             	mov    -0x4(%ebp),%edx
40b187:	2b d6                	sub    %esi,%edx
40b189:	8b c6                	mov    %esi,%eax
40b18b:	e8 0c f5 ff ff       	call   0x40a69c
40b190:	59                   	pop    %ecx
40b191:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b194:	80 38 00             	cmpb   $0x0,(%eax)
40b197:	74 17                	je     0x40b1b0
40b199:	ff 45 fc             	incl   -0x4(%ebp)
40b19c:	eb 12                	jmp    0x40b1b0
40b19e:	8b 45 08             	mov    0x8(%ebp),%eax
40b1a1:	50                   	push   %eax
40b1a2:	8d 45 fb             	lea    -0x5(%ebp),%eax
40b1a5:	ba 01 00 00 00       	mov    $0x1,%edx
40b1aa:	e8 ed f4 ff ff       	call   0x40a69c
40b1af:	59                   	pop    %ecx
40b1b0:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b1b3:	8a 00                	mov    (%eax),%al
40b1b5:	84 c0                	test   %al,%al
40b1b7:	0f 85 fa f8 ff ff    	jne    0x40aab7
40b1bd:	8b 45 08             	mov    0x8(%ebp),%eax
40b1c0:	ff 88 f8 fe ff ff    	decl   -0x108(%eax)
40b1c6:	33 c0                	xor    %eax,%eax
40b1c8:	5a                   	pop    %edx
40b1c9:	59                   	pop    %ecx
40b1ca:	59                   	pop    %ecx
40b1cb:	64 89 10             	mov    %edx,%fs:(%eax)
40b1ce:	68 e8 b1 40 00       	push   $0x40b1e8
40b1d3:	8d 45 d8             	lea    -0x28(%ebp),%eax
40b1d6:	ba 02 00 00 00       	mov    $0x2,%edx
40b1db:	e8 a8 8f ff ff       	call   0x404188
40b1e0:	c3                   	ret
40b1e1:	e9 82 89 ff ff       	jmp    0x403b68
40b1e6:	eb eb                	jmp    0x40b1d3
40b1e8:	5e                   	pop    %esi
40b1e9:	5b                   	pop    %ebx
40b1ea:	8b e5                	mov    %ebp,%esp
40b1ec:	5d                   	pop    %ebp
40b1ed:	c3                   	ret
40b1ee:	00 00                	add    %al,(%eax)
40b1f0:	41                   	inc    %ecx
40b1f1:	4d                   	dec    %ebp
40b1f2:	2f                   	das
40b1f3:	50                   	push   %eax
40b1f4:	4d                   	dec    %ebp
40b1f5:	00 00                	add    %al,(%eax)
40b1f7:	00 41 2f             	add    %al,0x2f(%ecx)
40b1fa:	50                   	push   %eax
40b1fb:	00 41 4d             	add    %al,0x4d(%ecx)
40b1fe:	50                   	push   %eax
40b1ff:	4d                   	dec    %ebp
40b200:	00 00                	add    %al,(%eax)
40b202:	00 00                	add    %al,(%eax)
40b204:	41                   	inc    %ecx
40b205:	41                   	inc    %ecx
40b206:	41                   	inc    %ecx
40b207:	41                   	inc    %ecx
40b208:	00 00                	add    %al,(%eax)
40b20a:	00 00                	add    %al,(%eax)
40b20c:	41                   	inc    %ecx
40b20d:	41                   	inc    %ecx
40b20e:	41                   	inc    %ecx
40b20f:	00 20                	add    %ah,(%eax)
40b211:	00 00                	add    %al,(%eax)
40b213:	00 55 8b             	add    %dl,-0x75(%ebp)
40b216:	ec                   	in     (%dx),%al
40b217:	81 c4 f8 fe ff ff    	add    $0xfffffef8,%esp
40b21d:	53                   	push   %ebx
40b21e:	56                   	push   %esi
40b21f:	8b da                	mov    %edx,%ebx
40b221:	8b f0                	mov    %eax,%esi
40b223:	33 c0                	xor    %eax,%eax
40b225:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
40b22b:	33 c0                	xor    %eax,%eax
40b22d:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40b233:	85 db                	test   %ebx,%ebx
40b235:	74 0b                	je     0x40b242
40b237:	55                   	push   %ebp
40b238:	8b c3                	mov    %ebx,%eax
40b23a:	e8 21 f8 ff ff       	call   0x40aa60
40b23f:	59                   	pop    %ecx
40b240:	eb 0c                	jmp    0x40b24e
40b242:	55                   	push   %ebp
40b243:	b8 6c b2 40 00       	mov    $0x40b26c,%eax
40b248:	e8 13 f8 ff ff       	call   0x40aa60
40b24d:	59                   	pop    %ecx
40b24e:	8d 95 00 ff ff ff    	lea    -0x100(%ebp),%edx
40b254:	8b c6                	mov    %esi,%eax
40b256:	8b 8d fc fe ff ff    	mov    -0x104(%ebp),%ecx
40b25c:	e8 f3 8f ff ff       	call   0x404254
40b261:	5e                   	pop    %esi
40b262:	5b                   	pop    %ebx
40b263:	8b e5                	mov    %ebp,%esp
40b265:	5d                   	pop    %ebp
40b266:	c2 08 00             	ret    $0x8
40b269:	00 00                	add    %al,(%eax)
40b26b:	00 43 00             	add    %al,0x0(%ebx)
40b26e:	00 00                	add    %al,(%eax)
40b270:	55                   	push   %ebp
40b271:	8b ec                	mov    %esp,%ebp
40b273:	ff 75 0c             	push   0xc(%ebp)
40b276:	ff 75 08             	push   0x8(%ebp)
40b279:	33 d2                	xor    %edx,%edx
40b27b:	e8 94 ff ff ff       	call   0x40b214
40b280:	5d                   	pop    %ebp
40b281:	c2 08 00             	ret    $0x8
40b284:	53                   	push   %ebx
40b285:	56                   	push   %esi
40b286:	57                   	push   %edi
40b287:	8b fa                	mov    %edx,%edi
40b289:	8b f0                	mov    %eax,%esi
40b28b:	8b 1f                	mov    (%edi),%ebx
40b28d:	eb 01                	jmp    0x40b290
40b28f:	43                   	inc    %ebx
40b290:	8b c6                	mov    %esi,%eax
40b292:	e8 8d 91 ff ff       	call   0x404424
40b297:	3b d8                	cmp    %eax,%ebx
40b299:	7f 07                	jg     0x40b2a2
40b29b:	80 7c 1e ff 20       	cmpb   $0x20,-0x1(%esi,%ebx,1)
40b2a0:	74 ed                	je     0x40b28f
40b2a2:	89 1f                	mov    %ebx,(%edi)
40b2a4:	5f                   	pop    %edi
40b2a5:	5e                   	pop    %esi
40b2a6:	5b                   	pop    %ebx
40b2a7:	c3                   	ret
40b2a8:	55                   	push   %ebp
40b2a9:	8b ec                	mov    %esp,%ebp
40b2ab:	83 c4 f4             	add    $0xfffffff4,%esp
40b2ae:	53                   	push   %ebx
40b2af:	56                   	push   %esi
40b2b0:	57                   	push   %edi
40b2b1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40b2b4:	89 55 fc             	mov    %edx,-0x4(%ebp)
40b2b7:	8b f8                	mov    %eax,%edi
40b2b9:	c6 45 f7 00          	movb   $0x0,-0x9(%ebp)
40b2bd:	8b 45 08             	mov    0x8(%ebp),%eax
40b2c0:	c6 00 00             	movb   $0x0,(%eax)
40b2c3:	8b 55 fc             	mov    -0x4(%ebp),%edx
40b2c6:	8b c7                	mov    %edi,%eax
40b2c8:	e8 b7 ff ff ff       	call   0x40b284
40b2cd:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40b2d0:	8b 1b                	mov    (%ebx),%ebx
40b2d2:	33 f6                	xor    %esi,%esi
40b2d4:	eb 17                	jmp    0x40b2ed
40b2d6:	8b c6                	mov    %esi,%eax
40b2d8:	03 c0                	add    %eax,%eax
40b2da:	8d 04 80             	lea    (%eax,%eax,4),%eax
40b2dd:	33 d2                	xor    %edx,%edx
40b2df:	8a 54 1f ff          	mov    -0x1(%edi,%ebx,1),%dl
40b2e3:	66 83 ea 30          	sub    $0x30,%dx
40b2e7:	66 03 c2             	add    %dx,%ax
40b2ea:	8b f0                	mov    %eax,%esi
40b2ec:	43                   	inc    %ebx
40b2ed:	8b c7                	mov    %edi,%eax
40b2ef:	e8 30 91 ff ff       	call   0x404424
40b2f4:	3b d8                	cmp    %eax,%ebx
40b2f6:	7f 11                	jg     0x40b309
40b2f8:	8a 44 1f ff          	mov    -0x1(%edi,%ebx,1),%al
40b2fc:	04 d0                	add    $0xd0,%al
40b2fe:	2c 0a                	sub    $0xa,%al
40b300:	73 07                	jae    0x40b309
40b302:	66 81 fe e8 03       	cmp    $0x3e8,%si
40b307:	72 cd                	jb     0x40b2d6
40b309:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b30c:	3b 18                	cmp    (%eax),%ebx
40b30e:	7e 1d                	jle    0x40b32d
40b310:	8b c3                	mov    %ebx,%eax
40b312:	8b 55 fc             	mov    -0x4(%ebp),%edx
40b315:	8b 12                	mov    (%edx),%edx
40b317:	2a c2                	sub    %dl,%al
40b319:	8b 55 08             	mov    0x8(%ebp),%edx
40b31c:	88 02                	mov    %al,(%edx)
40b31e:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b321:	89 18                	mov    %ebx,(%eax)
40b323:	8b 45 f8             	mov    -0x8(%ebp),%eax
40b326:	66 89 30             	mov    %si,(%eax)
40b329:	c6 45 f7 01          	movb   $0x1,-0x9(%ebp)
40b32d:	8a 45 f7             	mov    -0x9(%ebp),%al
40b330:	5f                   	pop    %edi
40b331:	5e                   	pop    %esi
40b332:	5b                   	pop    %ebx
40b333:	8b e5                	mov    %ebp,%esp
40b335:	5d                   	pop    %ebp
40b336:	c2 04 00             	ret    $0x4
40b339:	8d 40 00             	lea    0x0(%eax),%eax
40b33c:	55                   	push   %ebp
40b33d:	8b ec                	mov    %esp,%ebp
40b33f:	83 c4 f8             	add    $0xfffffff8,%esp
40b342:	53                   	push   %ebx
40b343:	56                   	push   %esi
40b344:	57                   	push   %edi
40b345:	33 db                	xor    %ebx,%ebx
40b347:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40b34a:	8b f9                	mov    %ecx,%edi
40b34c:	8b f2                	mov    %edx,%esi
40b34e:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b351:	33 c0                	xor    %eax,%eax
40b353:	55                   	push   %ebp
40b354:	68 b5 b3 40 00       	push   $0x40b3b5