40bd7c:	b8 d4 30 46 00       	mov    $0x4630d4,%eax
40bd81:	8d 54 24 14          	lea    0x14(%esp),%edx
40bd85:	b9 80 00 00 00       	mov    $0x80,%ecx
40bd8a:	e8 79 84 ff ff       	call   0x404208
40bd8f:	81 c4 94 00 00 00    	add    $0x94,%esp
40bd95:	c3                   	ret
40bd96:	8b c0                	mov    %eax,%eax
40bd98:	3b 05 c8 30 46 00    	cmp    0x4630c8,%eax
40bd9e:	7c 13                	jl     0x40bdb3
40bda0:	3b 05 c8 30 46 00    	cmp    0x4630c8,%eax
40bda6:	75 08                	jne    0x40bdb0
40bda8:	3b 15 cc 30 46 00    	cmp    0x4630cc,%edx
40bdae:	7e 03                	jle    0x40bdb3
40bdb0:	33 c0                	xor    %eax,%eax
40bdb2:	c3                   	ret
40bdb3:	b0 01                	mov    $0x1,%al
40bdb5:	c3                   	ret
40bdb6:	8b c0                	mov    %eax,%eax
40bdb8:	55                   	push   %ebp
40bdb9:	8b ec                	mov    %esp,%ebp
40bdbb:	83 c4 e8             	add    $0xffffffe8,%esp
40bdbe:	53                   	push   %ebx
40bdbf:	33 d2                	xor    %edx,%edx
40bdc1:	89 55 f8             	mov    %edx,-0x8(%ebp)
40bdc4:	8b d8                	mov    %eax,%ebx
40bdc6:	33 c0                	xor    %eax,%eax
40bdc8:	55                   	push   %ebp
40bdc9:	68 8e be 40 00       	push   $0x40be8e
40bdce:	64 ff 30             	push   %fs:(%eax)
40bdd1:	64 89 20             	mov    %esp,%fs:(%eax)
40bdd4:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40bddb:	8d 45 f8             	lea    -0x8(%ebp),%eax
40bdde:	8b d3                	mov    %ebx,%edx
40bde0:	e8 4b 82 ff ff       	call   0x404030
40bde5:	8d 45 f8             	lea    -0x8(%ebp),%eax
40bde8:	e8 bb 86 ff ff       	call   0x4044a8
40bded:	8d 45 f4             	lea    -0xc(%ebp),%eax
40bdf0:	50                   	push   %eax
40bdf1:	8b 45 f8             	mov    -0x8(%ebp),%eax
40bdf4:	e8 5f 86 ff ff       	call   0x404458
40bdf9:	50                   	push   %eax
40bdfa:	e8 cd a3 ff ff       	call   0x4061cc
40bdff:	8b d8                	mov    %eax,%ebx
40be01:	85 db                	test   %ebx,%ebx
40be03:	74 73                	je     0x40be78
40be05:	8b c3                	mov    %ebx,%eax
40be07:	e8 b0 68 ff ff       	call   0x4026bc
40be0c:	89 45 f0             	mov    %eax,-0x10(%ebp)
40be0f:	33 c0                	xor    %eax,%eax
40be11:	55                   	push   %ebp
40be12:	68 71 be 40 00       	push   $0x40be71
40be17:	64 ff 30             	push   %fs:(%eax)
40be1a:	64 89 20             	mov    %esp,%fs:(%eax)
40be1d:	8b 45 f0             	mov    -0x10(%ebp),%eax
40be20:	50                   	push   %eax
40be21:	53                   	push   %ebx
40be22:	8b 45 f4             	mov    -0xc(%ebp),%eax
40be25:	50                   	push   %eax
40be26:	8b 45 f8             	mov    -0x8(%ebp),%eax
40be29:	e8 2a 86 ff ff       	call   0x404458
40be2e:	50                   	push   %eax
40be2f:	e8 90 a3 ff ff       	call   0x4061c4
40be34:	85 c0                	test   %eax,%eax
40be36:	74 23                	je     0x40be5b
40be38:	8d 45 e8             	lea    -0x18(%ebp),%eax
40be3b:	50                   	push   %eax
40be3c:	8d 45 ec             	lea    -0x14(%ebp),%eax
40be3f:	50                   	push   %eax
40be40:	68 a0 be 40 00       	push   $0x40bea0
40be45:	8b 45 f0             	mov    -0x10(%ebp),%eax
40be48:	50                   	push   %eax
40be49:	e8 86 a3 ff ff       	call   0x4061d4
40be4e:	85 c0                	test   %eax,%eax
40be50:	74 09                	je     0x40be5b
40be52:	8b 45 ec             	mov    -0x14(%ebp),%eax
40be55:	8b 40 08             	mov    0x8(%eax),%eax
40be58:	89 45 fc             	mov    %eax,-0x4(%ebp)
40be5b:	33 c0                	xor    %eax,%eax
40be5d:	5a                   	pop    %edx
40be5e:	59                   	pop    %ecx
40be5f:	59                   	pop    %ecx
40be60:	64 89 10             	mov    %edx,%fs:(%eax)
40be63:	68 78 be 40 00       	push   $0x40be78
40be68:	8b 45 f0             	mov    -0x10(%ebp),%eax
40be6b:	e8 6c 68 ff ff       	call   0x4026dc
40be70:	c3                   	ret
40be71:	e9 26 7b ff ff       	jmp    0x40399c
40be76:	eb f0                	jmp    0x40be68
40be78:	33 c0                	xor    %eax,%eax
40be7a:	5a                   	pop    %edx
40be7b:	59                   	pop    %ecx
40be7c:	59                   	pop    %ecx
40be7d:	64 89 10             	mov    %edx,%fs:(%eax)
40be80:	68 95 be 40 00       	push   $0x40be95
40be85:	8d 45 f8             	lea    -0x8(%ebp),%eax
40be88:	e8 0b 81 ff ff       	call   0x403f98
40be8d:	c3                   	ret
40be8e:	e9 09 7b ff ff       	jmp    0x40399c
40be93:	eb f0                	jmp    0x40be85
40be95:	8b 45 fc             	mov    -0x4(%ebp),%eax
40be98:	5b                   	pop    %ebx
40be99:	8b e5                	mov    %ebp,%esp
40be9b:	5d                   	pop    %ebp
40be9c:	c3                   	ret
40be9d:	00 00                	add    %al,(%eax)
40be9f:	00 5c 00 00          	add    %bl,0x0(%eax,%eax,1)
40bea3:	00 56 57             	add    %dl,0x57(%esi)
40bea6:	8b fa                	mov    %edx,%edi
40bea8:	33 d2                	xor    %edx,%edx
40beaa:	85 c0                	test   %eax,%eax
40beac:	74 66                	je     0x40bf14
40beae:	80 3c 38 00          	cmpb   $0x0,(%eax,%edi,1)
40beb2:	74 60                	je     0x40bf14
40beb4:	85 ff                	test   %edi,%edi
40beb6:	75 14                	jne    0x40becc
40beb8:	8a 00                	mov    (%eax),%al
40beba:	25 ff 00 00 00       	and    $0xff,%eax
40bebf:	0f a3 05 0c 31 46 00 	bt     %eax,0x46310c
40bec6:	73 4c                	jae    0x40bf14
40bec8:	b2 01                	mov    $0x1,%dl
40beca:	eb 48                	jmp    0x40bf14
40becc:	8b f7                	mov    %edi,%esi
40bece:	4e                   	dec    %esi
40becf:	eb 01                	jmp    0x40bed2
40bed1:	4e                   	dec    %esi
40bed2:	85 f6                	test   %esi,%esi
40bed4:	7c 12                	jl     0x40bee8
40bed6:	8a 0c 30             	mov    (%eax,%esi,1),%cl
40bed9:	81 e1 ff 00 00 00    	and    $0xff,%ecx
40bedf:	0f a3 0d 0c 31 46 00 	bt     %ecx,0x46310c
40bee6:	72 e9                	jb     0x40bed1
40bee8:	8b cf                	mov    %edi,%ecx
40beea:	2b ce                	sub    %esi,%ecx
40beec:	81 e1 01 00 00 80    	and    $0x80000001,%ecx
40bef2:	79 05                	jns    0x40bef9
40bef4:	49                   	dec    %ecx
40bef5:	83 c9 fe             	or     $0xfffffffe,%ecx
40bef8:	41                   	inc    %ecx
40bef9:	85 c9                	test   %ecx,%ecx
40befb:	75 04                	jne    0x40bf01
40befd:	b2 02                	mov    $0x2,%dl
40beff:	eb 13                	jmp    0x40bf14
40bf01:	8a 04 38             	mov    (%eax,%edi,1),%al
40bf04:	25 ff 00 00 00       	and    $0xff,%eax
40bf09:	0f a3 05 0c 31 46 00 	bt     %eax,0x46310c
40bf10:	73 02                	jae    0x40bf14
40bf12:	b2 01                	mov    $0x1,%dl
40bf14:	8b c2                	mov    %edx,%eax
40bf16:	5f                   	pop    %edi
40bf17:	5e                   	pop    %esi
40bf18:	c3                   	ret
40bf19:	8d 40 00             	lea    0x0(%eax),%eax
40bf1c:	53                   	push   %ebx
40bf1d:	56                   	push   %esi
40bf1e:	8b f2                	mov    %edx,%esi
40bf20:	8b d8                	mov    %eax,%ebx
40bf22:	33 c0                	xor    %eax,%eax
40bf24:	80 3d 4c e7 46 00 00 	cmpb   $0x0,0x46e74c
40bf2b:	74 0f                	je     0x40bf3c
40bf2d:	8b c3                	mov    %ebx,%eax
40bf2f:	e8 24 85 ff ff       	call   0x404458
40bf34:	8b d6                	mov    %esi,%edx
40bf36:	4a                   	dec    %edx
40bf37:	e8 68 ff ff ff       	call   0x40bea4
40bf3c:	5e                   	pop    %esi
40bf3d:	5b                   	pop    %ebx
40bf3e:	c3                   	ret
40bf3f:	90                   	nop
40bf40:	33 c9                	xor    %ecx,%ecx
40bf42:	80 3d 4c e7 46 00 00 	cmpb   $0x0,0x46e74c
40bf49:	74 07                	je     0x40bf52
40bf4b:	e8 54 ff ff ff       	call   0x40bea4
40bf50:	8b c8                	mov    %eax,%ecx
40bf52:	8b c1                	mov    %ecx,%eax
40bf54:	c3                   	ret
40bf55:	8d 40 00             	lea    0x0(%eax),%eax
40bf58:	53                   	push   %ebx
40bf59:	56                   	push   %esi
40bf5a:	8b f2                	mov    %edx,%esi
40bf5c:	8b d8                	mov    %eax,%ebx
40bf5e:	8b c3                	mov    %ebx,%eax
40bf60:	e8 f3 82 ff ff       	call   0x404258
40bf65:	3b f0                	cmp    %eax,%esi
40bf67:	7e 09                	jle    0x40bf72
40bf69:	8b c3                	mov    %ebx,%eax
40bf6b:	e8 e8 82 ff ff       	call   0x404258
40bf70:	8b f0                	mov    %eax,%esi
40bf72:	8b d6                	mov    %esi,%edx
40bf74:	8b c3                	mov    %ebx,%eax
40bf76:	e8 05 00 00 00       	call   0x40bf80
40bf7b:	5e                   	pop    %esi
40bf7c:	5b                   	pop    %ebx
40bf7d:	c3                   	ret
40bf7e:	8b c0                	mov    %eax,%eax
40bf80:	53                   	push   %ebx
40bf81:	56                   	push   %esi
40bf82:	57                   	push   %edi
40bf83:	8b f2                	mov    %edx,%esi
40bf85:	8b d8                	mov    %eax,%ebx
40bf87:	33 ff                	xor    %edi,%edi
40bf89:	85 f6                	test   %esi,%esi
40bf8b:	7e 45                	jle    0x40bfd2
40bf8d:	8b c3                	mov    %ebx,%eax
40bf8f:	e8 c4 82 ff ff       	call   0x404258
40bf94:	3b f0                	cmp    %eax,%esi
40bf96:	7f 3a                	jg     0x40bfd2
40bf98:	8b fe                	mov    %esi,%edi
40bf9a:	80 3d 4c e7 46 00 00 	cmpb   $0x0,0x46e74c
40bfa1:	74 2f                	je     0x40bfd2
40bfa3:	b8 01 00 00 00       	mov    $0x1,%eax
40bfa8:	33 ff                	xor    %edi,%edi
40bfaa:	3b f0                	cmp    %eax,%esi
40bfac:	7c 24                	jl     0x40bfd2
40bfae:	8a 54 03 ff          	mov    -0x1(%ebx,%eax,1),%dl
40bfb2:	81 e2 ff 00 00 00    	and    $0xff,%edx
40bfb8:	0f a3 15 0c 31 46 00 	bt     %edx,0x46310c
40bfbf:	73 0b                	jae    0x40bfcc
40bfc1:	8b d0                	mov    %eax,%edx
40bfc3:	8b c3                	mov    %ebx,%eax
40bfc5:	e8 c6 01 00 00       	call   0x40c190
40bfca:	eb 01                	jmp    0x40bfcd
40bfcc:	40                   	inc    %eax
40bfcd:	47                   	inc    %edi
40bfce:	3b f0                	cmp    %eax,%esi
40bfd0:	7d dc                	jge    0x40bfae
40bfd2:	8b c7                	mov    %edi,%eax
40bfd4:	5f                   	pop    %edi
40bfd5:	5e                   	pop    %esi
40bfd6:	5b                   	pop    %ebx
40bfd7:	c3                   	ret
40bfd8:	55                   	push   %ebp
40bfd9:	8b ec                	mov    %esp,%ebp
40bfdb:	83 c4 f4             	add    $0xfffffff4,%esp
40bfde:	53                   	push   %ebx
40bfdf:	56                   	push   %esi
40bfe0:	57                   	push   %edi
40bfe1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40bfe4:	89 55 fc             	mov    %edx,-0x4(%ebp)
40bfe7:	8b f8                	mov    %eax,%edi
40bfe9:	8b c7                	mov    %edi,%eax
40bfeb:	e8 68 82 ff ff       	call   0x404258
40bff0:	89 45 f4             	mov    %eax,-0xc(%ebp)
40bff3:	be 01 00 00 00       	mov    $0x1,%esi
40bff8:	bb 01 00 00 00       	mov    $0x1,%ebx
40bffd:	eb 21                	jmp    0x40c020
40bfff:	46                   	inc    %esi
40c000:	8a 44 1f ff          	mov    -0x1(%edi,%ebx,1),%al
40c004:	25 ff 00 00 00       	and    $0xff,%eax
40c009:	0f a3 05 0c 31 46 00 	bt     %eax,0x46310c
40c010:	73 0d                	jae    0x40c01f
40c012:	8b d3                	mov    %ebx,%edx
40c014:	8b c7                	mov    %edi,%eax
40c016:	e8 75 01 00 00       	call   0x40c190
40c01b:	8b d8                	mov    %eax,%ebx
40c01d:	eb 01                	jmp    0x40c020
40c01f:	43                   	inc    %ebx
40c020:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
40c023:	7d 05                	jge    0x40c02a
40c025:	3b 75 fc             	cmp    -0x4(%ebp),%esi
40c028:	7c d5                	jl     0x40bfff
40c02a:	3b 75 fc             	cmp    -0x4(%ebp),%esi
40c02d:	75 23                	jne    0x40c052
40c02f:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
40c032:	7d 1e                	jge    0x40c052
40c034:	8a 44 1f ff          	mov    -0x1(%edi,%ebx,1),%al
40c038:	25 ff 00 00 00       	and    $0xff,%eax
40c03d:	0f a3 05 0c 31 46 00 	bt     %eax,0x46310c
40c044:	73 0c                	jae    0x40c052
40c046:	8b d3                	mov    %ebx,%edx
40c048:	8b c7                	mov    %edi,%eax
40c04a:	e8 41 01 00 00       	call   0x40c190
40c04f:	48                   	dec    %eax
40c050:	8b d8                	mov    %eax,%ebx
40c052:	8b 45 f8             	mov    -0x8(%ebp),%eax
40c055:	89 30                	mov    %esi,(%eax)
40c057:	8b 45 08             	mov    0x8(%ebp),%eax
40c05a:	89 18                	mov    %ebx,(%eax)
40c05c:	5f                   	pop    %edi
40c05d:	5e                   	pop    %esi
40c05e:	5b                   	pop    %ebx
40c05f:	8b e5                	mov    %ebp,%esp
40c061:	5d                   	pop    %ebp
40c062:	c2 04 00             	ret    $0x4
40c065:	8d 40 00             	lea    0x0(%eax),%eax
40c068:	53                   	push   %ebx
40c069:	56                   	push   %esi
40c06a:	83 c4 f8             	add    $0xfffffff8,%esp
40c06d:	8b da                	mov    %edx,%ebx
40c06f:	8b f0                	mov    %eax,%esi
40c071:	33 c0                	xor    %eax,%eax
40c073:	89 04 24             	mov    %eax,(%esp)
40c076:	85 db                	test   %ebx,%ebx
40c078:	7e 4a                	jle    0x40c0c4
40c07a:	8b c6                	mov    %esi,%eax
40c07c:	e8 d7 81 ff ff       	call   0x404258
40c081:	3b d8                	cmp    %eax,%ebx
40c083:	7f 3f                	jg     0x40c0c4
40c085:	83 fb 01             	cmp    $0x1,%ebx
40c088:	7e 37                	jle    0x40c0c1
40c08a:	80 3d 4c e7 46 00 00 	cmpb   $0x0,0x46e74c
40c091:	74 2e                	je     0x40c0c1
40c093:	54                   	push   %esp
40c094:	8d 4c 24 08          	lea    0x8(%esp),%ecx
40c098:	8b d3                	mov    %ebx,%edx
40c09a:	4a                   	dec    %edx
40c09b:	8b c6                	mov    %esi,%eax
40c09d:	e8 36 ff ff ff       	call   0x40bfd8
40c0a2:	4b                   	dec    %ebx
40c0a3:	3b 5c 24 04          	cmp    0x4(%esp),%ebx
40c0a7:	7f 0c                	jg     0x40c0b5
40c0a9:	8b c6                	mov    %esi,%eax
40c0ab:	e8 a8 81 ff ff       	call   0x404258
40c0b0:	3b 04 24             	cmp    (%esp),%eax
40c0b3:	7f 07                	jg     0x40c0bc
40c0b5:	33 c0                	xor    %eax,%eax
40c0b7:	89 04 24             	mov    %eax,(%esp)
40c0ba:	eb 08                	jmp    0x40c0c4
40c0bc:	ff 04 24             	incl   (%esp)
40c0bf:	eb 03                	jmp    0x40c0c4
40c0c1:	89 1c 24             	mov    %ebx,(%esp)
40c0c4:	8b 04 24             	mov    (%esp),%eax
40c0c7:	59                   	pop    %ecx
40c0c8:	5a                   	pop    %edx
40c0c9:	5e                   	pop    %esi
40c0ca:	5b                   	pop    %ebx
40c0cb:	c3                   	ret
40c0cc:	53                   	push   %ebx
40c0cd:	56                   	push   %esi
40c0ce:	83 c4 f8             	add    $0xfffffff8,%esp
40c0d1:	8b da                	mov    %edx,%ebx
40c0d3:	8b f0                	mov    %eax,%esi
40c0d5:	33 c0                	xor    %eax,%eax
40c0d7:	89 04 24             	mov    %eax,(%esp)
40c0da:	85 db                	test   %ebx,%ebx
40c0dc:	7e 46                	jle    0x40c124
40c0de:	8b c6                	mov    %esi,%eax
40c0e0:	e8 73 81 ff ff       	call   0x404258
40c0e5:	3b d8                	cmp    %eax,%ebx
40c0e7:	7e 09                	jle    0x40c0f2
40c0e9:	8b c6                	mov    %esi,%eax
40c0eb:	e8 68 81 ff ff       	call   0x404258
40c0f0:	8b d8                	mov    %eax,%ebx
40c0f2:	80 3d 4c e7 46 00 00 	cmpb   $0x0,0x46e74c
40c0f9:	74 26                	je     0x40c121
40c0fb:	54                   	push   %esp
40c0fc:	8d 4c 24 08          	lea    0x8(%esp),%ecx
40c100:	8b d3                	mov    %ebx,%edx
40c102:	8b c6                	mov    %esi,%eax
40c104:	e8 cf fe ff ff       	call   0x40bfd8
40c109:	8b c6                	mov    %esi,%eax