40c030:	74 1d                	je     0x40c04f
40c032:	4a                   	dec    %edx
40c033:	83 ea 0a             	sub    $0xa,%edx
40c036:	73 22                	jae    0x40c05a
40c038:	8d 04 c5 6c 52 45 00 	lea    0x45526c(,%eax,8),%eax
40c03f:	8b 48 04             	mov    0x4(%eax),%ecx
40c042:	8b 00                	mov    (%eax),%eax
40c044:	b2 01                	mov    $0x1,%dl
40c046:	e8 c9 f9 ff ff       	call   0x40ba14
40c04b:	8b d8                	mov    %eax,%ebx
40c04d:	eb 3b                	jmp    0x40c08a
40c04f:	55                   	push   %ebp
40c050:	e8 d3 fd ff ff       	call   0x40be28
40c055:	59                   	pop    %ecx
40c056:	8b d8                	mov    %eax,%ebx
40c058:	eb 30                	jmp    0x40c08a
40c05a:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c05d:	8b 00                	mov    (%eax),%eax
40c05f:	89 45 f4             	mov    %eax,-0xc(%ebp)
40c062:	c6 45 f8 00          	movb   $0x0,-0x8(%ebp)
40c066:	8d 45 f4             	lea    -0xc(%ebp),%eax
40c069:	50                   	push   %eax
40c06a:	6a 00                	push   $0x0
40c06c:	8d 55 f0             	lea    -0x10(%ebp),%edx
40c06f:	a1 cc 09 46 00       	mov    0x4609cc,%eax
40c074:	e8 c3 a0 ff ff       	call   0x40613c
40c079:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40c07c:	b2 01                	mov    $0x1,%dl
40c07e:	a1 00 77 40 00       	mov    0x407700,%eax
40c083:	e8 c8 f9 ff ff       	call   0x40ba50
40c088:	8b d8                	mov    %eax,%ebx
40c08a:	8b c3                	mov    %ebx,%eax
40c08c:	8b 15 a8 76 40 00    	mov    0x4076a8,%edx
40c092:	e8 fd 78 ff ff       	call   0x403994
40c097:	84 c0                	test   %al,%al
40c099:	74 06                	je     0x40c0a1
40c09b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c09e:	89 43 0c             	mov    %eax,0xc(%ebx)
40c0a1:	33 c0                	xor    %eax,%eax
40c0a3:	5a                   	pop    %edx
40c0a4:	59                   	pop    %ecx
40c0a5:	59                   	pop    %ecx
40c0a6:	64 89 10             	mov    %edx,%fs:(%eax)
40c0a9:	68 be c0 40 00       	push   $0x40c0be
40c0ae:	8d 45 f0             	lea    -0x10(%ebp),%eax
40c0b1:	e8 ba 84 ff ff       	call   0x404570
40c0b6:	c3                   	ret
40c0b7:	e9 90 7e ff ff       	jmp    0x403f4c
40c0bc:	eb f0                	jmp    0x40c0ae
40c0be:	8b c3                	mov    %ebx,%eax
40c0c0:	5b                   	pop    %ebx
40c0c1:	8b e5                	mov    %ebp,%esp
40c0c3:	5d                   	pop    %ebp
40c0c4:	c3                   	ret
40c0c5:	8d 40 00             	lea    0x0(%eax),%eax
40c0c8:	e8 7f f8 ff ff       	call   0x40b94c
40c0cd:	b8 01 00 00 00       	mov    $0x1,%eax
40c0d2:	e8 81 84 ff ff       	call   0x404558
40c0d7:	c3                   	ret
40c0d8:	8b 0d 4c 0a 46 00    	mov    0x460a4c,%ecx
40c0de:	b2 01                	mov    $0x1,%dl
40c0e0:	a1 f4 75 40 00       	mov    0x4075f4,%eax
40c0e5:	e8 e6 f9 ff ff       	call   0x40bad0
40c0ea:	a3 98 17 46 00       	mov    %eax,0x461798
40c0ef:	8b 0d cc 0b 46 00    	mov    0x460bcc,%ecx
40c0f5:	b2 01                	mov    $0x1,%dl
40c0f7:	a1 7c 7a 40 00       	mov    0x407a7c,%eax
40c0fc:	e8 cf f9 ff ff       	call   0x40bad0
40c101:	a3 9c 17 46 00       	mov    %eax,0x46179c
40c106:	a1 dc 09 46 00       	mov    0x4609dc,%eax
40c10b:	c7 00 4c bc 40 00    	movl   $0x40bc4c,(%eax)
40c111:	a1 c4 0a 46 00       	mov    0x460ac4,%eax
40c116:	c7 00 c8 c0 40 00    	movl   $0x40c0c8,(%eax)
40c11c:	a1 3c 0a 46 00       	mov    0x460a3c,%eax
40c121:	8b 15 30 75 40 00    	mov    0x407530,%edx
40c127:	89 10                	mov    %edx,(%eax)
40c129:	a1 a8 0a 46 00       	mov    0x460aa8,%eax
40c12e:	c7 00 10 be 40 00    	movl   $0x40be10,(%eax)
40c134:	a1 cc 0a 46 00       	mov    0x460acc,%eax
40c139:	c7 00 fc bf 40 00    	movl   $0x40bffc,(%eax)
40c13f:	b8 5c bd 40 00       	mov    $0x40bd5c,%eax
40c144:	8b 15 f4 0b 46 00    	mov    0x460bf4,%edx
40c14a:	89 02                	mov    %eax,(%edx)
40c14c:	b8 78 bd 40 00       	mov    $0x40bd78,%eax
40c151:	8b 15 c8 09 46 00    	mov    0x4609c8,%edx
40c157:	89 02                	mov    %eax,(%edx)
40c159:	c3                   	ret
40c15a:	8b c0                	mov    %eax,%eax
40c15c:	83 3d 98 17 46 00 00 	cmpl   $0x0,0x461798
40c163:	74 1a                	je     0x40c17f
40c165:	a1 98 17 46 00       	mov    0x461798,%eax
40c16a:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
40c16e:	a1 98 17 46 00       	mov    0x461798,%eax
40c173:	8b 10                	mov    (%eax),%edx
40c175:	ff 52 f8             	call   *-0x8(%edx)
40c178:	33 c0                	xor    %eax,%eax
40c17a:	a3 98 17 46 00       	mov    %eax,0x461798
40c17f:	83 3d 9c 17 46 00 00 	cmpl   $0x0,0x46179c
40c186:	74 1a                	je     0x40c1a2
40c188:	a1 9c 17 46 00       	mov    0x46179c,%eax
40c18d:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
40c191:	a1 9c 17 46 00       	mov    0x46179c,%eax
40c196:	e8 61 76 ff ff       	call   0x4037fc
40c19b:	33 c0                	xor    %eax,%eax
40c19d:	a3 9c 17 46 00       	mov    %eax,0x46179c
40c1a2:	a1 dc 09 46 00       	mov    0x4609dc,%eax
40c1a7:	33 d2                	xor    %edx,%edx
40c1a9:	89 10                	mov    %edx,(%eax)
40c1ab:	a1 c4 0a 46 00       	mov    0x460ac4,%eax
40c1b0:	33 d2                	xor    %edx,%edx
40c1b2:	89 10                	mov    %edx,(%eax)
40c1b4:	a1 3c 0a 46 00       	mov    0x460a3c,%eax
40c1b9:	33 d2                	xor    %edx,%edx
40c1bb:	89 10                	mov    %edx,(%eax)
40c1bd:	a1 a8 0a 46 00       	mov    0x460aa8,%eax
40c1c2:	33 d2                	xor    %edx,%edx
40c1c4:	89 10                	mov    %edx,(%eax)
40c1c6:	a1 cc 0a 46 00       	mov    0x460acc,%eax
40c1cb:	33 d2                	xor    %edx,%edx
40c1cd:	89 10                	mov    %edx,(%eax)
40c1cf:	a1 f4 0b 46 00       	mov    0x460bf4,%eax
40c1d4:	33 d2                	xor    %edx,%edx
40c1d6:	89 10                	mov    %edx,(%eax)
40c1d8:	c3                   	ret
40c1d9:	8d 40 00             	lea    0x0(%eax),%eax
40c1dc:	81 c4 6c ff ff ff    	add    $0xffffff6c,%esp
40c1e2:	c7 04 24 94 00 00 00 	movl   $0x94,(%esp)
40c1e9:	54                   	push   %esp
40c1ea:	e8 0d a5 ff ff       	call   0x4066fc
40c1ef:	85 c0                	test   %eax,%eax
40c1f1:	74 50                	je     0x40c243
40c1f3:	8b 44 24 10          	mov    0x10(%esp),%eax
40c1f7:	a3 f4 50 45 00       	mov    %eax,0x4550f4
40c1fc:	8b 44 24 04          	mov    0x4(%esp),%eax
40c200:	a3 f8 50 45 00       	mov    %eax,0x4550f8
40c205:	8b 44 24 08          	mov    0x8(%esp),%eax
40c209:	a3 fc 50 45 00       	mov    %eax,0x4550fc
40c20e:	83 3d f4 50 45 00 01 	cmpl   $0x1,0x4550f4
40c215:	75 10                	jne    0x40c227
40c217:	8b 44 24 0c          	mov    0xc(%esp),%eax
40c21b:	25 ff ff 00 00       	and    $0xffff,%eax
40c220:	a3 00 51 45 00       	mov    %eax,0x455100
40c225:	eb 09                	jmp    0x40c230
40c227:	8b 44 24 0c          	mov    0xc(%esp),%eax
40c22b:	a3 00 51 45 00       	mov    %eax,0x455100
40c230:	b8 04 51 45 00       	mov    $0x455104,%eax
40c235:	8d 54 24 14          	lea    0x14(%esp),%edx
40c239:	b9 80 00 00 00       	mov    $0x80,%ecx
40c23e:	e8 9d 85 ff ff       	call   0x4047e0
40c243:	81 c4 94 00 00 00    	add    $0x94,%esp
40c249:	c3                   	ret
40c24a:	8b c0                	mov    %eax,%eax
40c24c:	3b 05 f8 50 45 00    	cmp    0x4550f8,%eax
40c252:	7c 13                	jl     0x40c267
40c254:	3b 05 f8 50 45 00    	cmp    0x4550f8,%eax
40c25a:	75 08                	jne    0x40c264
40c25c:	3b 15 fc 50 45 00    	cmp    0x4550fc,%edx
40c262:	7e 03                	jle    0x40c267
40c264:	33 c0                	xor    %eax,%eax
40c266:	c3                   	ret
40c267:	b0 01                	mov    $0x1,%al
40c269:	c3                   	ret
40c26a:	8b c0                	mov    %eax,%eax
40c26c:	55                   	push   %ebp
40c26d:	8b ec                	mov    %esp,%ebp
40c26f:	83 c4 e8             	add    $0xffffffe8,%esp
40c272:	53                   	push   %ebx
40c273:	33 d2                	xor    %edx,%edx
40c275:	89 55 f8             	mov    %edx,-0x8(%ebp)
40c278:	8b d8                	mov    %eax,%ebx
40c27a:	33 c0                	xor    %eax,%eax
40c27c:	55                   	push   %ebp
40c27d:	68 42 c3 40 00       	push   $0x40c342
40c282:	64 ff 30             	push   %fs:(%eax)
40c285:	64 89 20             	mov    %esp,%fs:(%eax)
40c288:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40c28f:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c292:	8b d3                	mov    %ebx,%edx
40c294:	e8 6f 83 ff ff       	call   0x404608
40c299:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c29c:	e8 df 87 ff ff       	call   0x404a80
40c2a1:	8d 45 f4             	lea    -0xc(%ebp),%eax
40c2a4:	50                   	push   %eax
40c2a5:	8b 45 f8             	mov    -0x8(%ebp),%eax
40c2a8:	e8 83 87 ff ff       	call   0x404a30
40c2ad:	50                   	push   %eax
40c2ae:	e8 49 a5 ff ff       	call   0x4067fc
40c2b3:	8b d8                	mov    %eax,%ebx
40c2b5:	85 db                	test   %ebx,%ebx
40c2b7:	74 73                	je     0x40c32c
40c2b9:	8b c3                	mov    %ebx,%eax
40c2bb:	e8 78 67 ff ff       	call   0x402a38
40c2c0:	89 45 f0             	mov    %eax,-0x10(%ebp)
40c2c3:	33 c0                	xor    %eax,%eax
40c2c5:	55                   	push   %ebp
40c2c6:	68 25 c3 40 00       	push   $0x40c325
40c2cb:	64 ff 30             	push   %fs:(%eax)
40c2ce:	64 89 20             	mov    %esp,%fs:(%eax)
40c2d1:	8b 45 f0             	mov    -0x10(%ebp),%eax
40c2d4:	50                   	push   %eax
40c2d5:	53                   	push   %ebx
40c2d6:	8b 45 f4             	mov    -0xc(%ebp),%eax
40c2d9:	50                   	push   %eax
40c2da:	8b 45 f8             	mov    -0x8(%ebp),%eax
40c2dd:	e8 4e 87 ff ff       	call   0x404a30
40c2e2:	50                   	push   %eax
40c2e3:	e8 0c a5 ff ff       	call   0x4067f4
40c2e8:	85 c0                	test   %eax,%eax
40c2ea:	74 23                	je     0x40c30f
40c2ec:	8d 45 e8             	lea    -0x18(%ebp),%eax
40c2ef:	50                   	push   %eax
40c2f0:	8d 45 ec             	lea    -0x14(%ebp),%eax
40c2f3:	50                   	push   %eax
40c2f4:	68 54 c3 40 00       	push   $0x40c354
40c2f9:	8b 45 f0             	mov    -0x10(%ebp),%eax
40c2fc:	50                   	push   %eax
40c2fd:	e8 02 a5 ff ff       	call   0x406804
40c302:	85 c0                	test   %eax,%eax
40c304:	74 09                	je     0x40c30f
40c306:	8b 45 ec             	mov    -0x14(%ebp),%eax
40c309:	8b 40 08             	mov    0x8(%eax),%eax
40c30c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c30f:	33 c0                	xor    %eax,%eax
40c311:	5a                   	pop    %edx
40c312:	59                   	pop    %ecx
40c313:	59                   	pop    %ecx
40c314:	64 89 10             	mov    %edx,%fs:(%eax)
40c317:	68 2c c3 40 00       	push   $0x40c32c
40c31c:	8b 45 f0             	mov    -0x10(%ebp),%eax
40c31f:	e8 44 67 ff ff       	call   0x402a68
40c324:	c3                   	ret
40c325:	e9 22 7c ff ff       	jmp    0x403f4c
40c32a:	eb f0                	jmp    0x40c31c
40c32c:	33 c0                	xor    %eax,%eax
40c32e:	5a                   	pop    %edx
40c32f:	59                   	pop    %ecx
40c330:	59                   	pop    %ecx
40c331:	64 89 10             	mov    %edx,%fs:(%eax)
40c334:	68 49 c3 40 00       	push   $0x40c349
40c339:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c33c:	e8 2f 82 ff ff       	call   0x404570
40c341:	c3                   	ret
40c342:	e9 05 7c ff ff       	jmp    0x403f4c
40c347:	eb f0                	jmp    0x40c339
40c349:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c34c:	5b                   	pop    %ebx
40c34d:	8b e5                	mov    %ebp,%esp
40c34f:	5d                   	pop    %ebp
40c350:	c3                   	ret
40c351:	00 00                	add    %al,(%eax)
40c353:	00 5c 00 00          	add    %bl,0x0(%eax,%eax,1)
40c357:	00 56 57             	add    %dl,0x57(%esi)
40c35a:	8b fa                	mov    %edx,%edi
40c35c:	33 d2                	xor    %edx,%edx
40c35e:	85 c0                	test   %eax,%eax
40c360:	74 66                	je     0x40c3c8
40c362:	80 3c 38 00          	cmpb   $0x0,(%eax,%edi,1)
40c366:	74 60                	je     0x40c3c8
40c368:	85 ff                	test   %edi,%edi
40c36a:	75 14                	jne    0x40c380
40c36c:	8a 00                	mov    (%eax),%al
40c36e:	25 ff 00 00 00       	and    $0xff,%eax
40c373:	0f a3 05 3c 51 45 00 	bt     %eax,0x45513c
40c37a:	73 4c                	jae    0x40c3c8
40c37c:	b2 01                	mov    $0x1,%dl
40c37e:	eb 48                	jmp    0x40c3c8
40c380:	8b f7                	mov    %edi,%esi
40c382:	4e                   	dec    %esi
40c383:	eb 01                	jmp    0x40c386
40c385:	4e                   	dec    %esi
40c386:	85 f6                	test   %esi,%esi
40c388:	7c 12                	jl     0x40c39c
40c38a:	8a 0c 30             	mov    (%eax,%esi,1),%cl
40c38d:	81 e1 ff 00 00 00    	and    $0xff,%ecx
40c393:	0f a3 0d 3c 51 45 00 	bt     %ecx,0x45513c
40c39a:	72 e9                	jb     0x40c385
40c39c:	8b cf                	mov    %edi,%ecx
40c39e:	2b ce                	sub    %esi,%ecx
40c3a0:	81 e1 01 00 00 80    	and    $0x80000001,%ecx
40c3a6:	79 05                	jns    0x40c3ad
40c3a8:	49                   	dec    %ecx
40c3a9:	83 c9 fe             	or     $0xfffffffe,%ecx
40c3ac:	41                   	inc    %ecx
40c3ad:	85 c9                	test   %ecx,%ecx
40c3af:	75 04                	jne    0x40c3b5
40c3b1:	b2 02                	mov    $0x2,%dl
40c3b3:	eb 13                	jmp    0x40c3c8
40c3b5:	8a 04 38             	mov    (%eax,%edi,1),%al
40c3b8:	25 ff 00 00 00       	and    $0xff,%eax
40c3bd:	0f a3 05 3c 51 45 00 	bt     %eax,0x45513c
40c3c4:	73 02                	jae    0x40c3c8
40c3c6:	b2 01                	mov    $0x1,%dl
40c3c8:	8b c2                	mov    %edx,%eax
40c3ca:	5f                   	pop    %edi
40c3cb:	5e                   	pop    %esi
40c3cc:	c3                   	ret
40c3cd:	8d 40 00             	lea    0x0(%eax),%eax
40c3d0:	53                   	push   %ebx
40c3d1:	56                   	push   %esi
40c3d2:	8b f2                	mov    %edx,%esi
40c3d4:	8b d8                	mov    %eax,%ebx
40c3d6:	33 c0                	xor    %eax,%eax
40c3d8:	80 3d 50 17 46 00 00 	cmpb   $0x0,0x461750
40c3df:	74 0f                	je     0x40c3f0
40c3e1:	8b c3                	mov    %ebx,%eax
40c3e3:	e8 48 86 ff ff       	call   0x404a30
40c3e8:	8b d6                	mov    %esi,%edx
40c3ea:	4a                   	dec    %edx
40c3eb:	e8 68 ff ff ff       	call   0x40c358
40c3f0:	5e                   	pop    %esi
40c3f1:	5b                   	pop    %ebx
40c3f2:	c3                   	ret
40c3f3:	90                   	nop
40c3f4:	33 c9                	xor    %ecx,%ecx
40c3f6:	80 3d 50 17 46 00 00 	cmpb   $0x0,0x461750
40c3fd:	74 07                	je     0x40c406
40c3ff:	e8 54 ff ff ff       	call   0x40c358
40c404:	8b c8                	mov    %eax,%ecx
40c406:	8b c1                	mov    %ecx,%eax
40c408:	c3                   	ret
40c409:	8d 40 00             	lea    0x0(%eax),%eax
40c40c:	53                   	push   %ebx
40c40d:	56                   	push   %esi
40c40e:	8b f2                	mov    %edx,%esi
40c410:	8b d8                	mov    %eax,%ebx
40c412:	8b c3                	mov    %ebx,%eax
40c414:	e8 17 84 ff ff       	call   0x404830
40c419:	3b f0                	cmp    %eax,%esi
40c41b:	7e 09                	jle    0x40c426
40c41d:	8b c3                	mov    %ebx,%eax
40c41f:	e8 0c 84 ff ff       	call   0x404830
40c424:	8b f0                	mov    %eax,%esi
40c426:	8b d6                	mov    %esi,%edx
40c428:	8b c3                	mov    %ebx,%eax
40c42a:	e8 05 00 00 00       	call   0x40c434
40c42f:	5e                   	pop    %esi
40c430:	5b                   	pop    %ebx
40c431:	c3                   	ret
40c432:	8b c0                	mov    %eax,%eax
40c434:	53                   	push   %ebx
40c435:	56                   	push   %esi
40c436:	57                   	push   %edi
40c437:	55                   	push   %ebp
40c438:	8b fa                	mov    %edx,%edi
40c43a:	8b f0                	mov    %eax,%esi
40c43c:	33 ed                	xor    %ebp,%ebp
40c43e:	85 ff                	test   %edi,%edi
40c440:	7e 46                	jle    0x40c488
40c442:	8b c6                	mov    %esi,%eax
40c444:	e8 e7 83 ff ff       	call   0x404830