40bebc:	33 c0                	xor    %eax,%eax
40bebe:	a3 94 97 46 00       	mov    %eax,0x469794
40bec3:	83 3d 98 97 46 00 00 	cmpl   $0x0,0x469798
40beca:	74 1a                	je     0x40bee6
40becc:	a1 98 97 46 00       	mov    0x469798,%eax
40bed1:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
40bed5:	a1 98 97 46 00       	mov    0x469798,%eax
40beda:	e8 8d 73 ff ff       	call   0x40326c
40bedf:	33 c0                	xor    %eax,%eax
40bee1:	a3 98 97 46 00       	mov    %eax,0x469798
40bee6:	a1 b4 7c 46 00       	mov    0x467cb4,%eax
40beeb:	33 d2                	xor    %edx,%edx
40beed:	89 10                	mov    %edx,(%eax)
40beef:	a1 b0 7d 46 00       	mov    0x467db0,%eax
40bef4:	33 d2                	xor    %edx,%edx
40bef6:	89 10                	mov    %edx,(%eax)
40bef8:	a1 24 7d 46 00       	mov    0x467d24,%eax
40befd:	33 d2                	xor    %edx,%edx
40beff:	89 10                	mov    %edx,(%eax)
40bf01:	a1 94 7d 46 00       	mov    0x467d94,%eax
40bf06:	33 d2                	xor    %edx,%edx
40bf08:	89 10                	mov    %edx,(%eax)
40bf0a:	a1 b8 7d 46 00       	mov    0x467db8,%eax
40bf0f:	33 d2                	xor    %edx,%edx
40bf11:	89 10                	mov    %edx,(%eax)
40bf13:	a1 fc 7e 46 00       	mov    0x467efc,%eax
40bf18:	33 d2                	xor    %edx,%edx
40bf1a:	89 10                	mov    %edx,(%eax)
40bf1c:	c3                   	ret
40bf1d:	8d 40 00             	lea    0x0(%eax),%eax
40bf20:	81 c4 6c ff ff ff    	add    $0xffffff6c,%esp
40bf26:	c7 04 24 94 00 00 00 	movl   $0x94,(%esp)
40bf2d:	54                   	push   %esp
40bf2e:	e8 bd a1 ff ff       	call   0x4060f0
40bf33:	85 c0                	test   %eax,%eax
40bf35:	74 50                	je     0x40bf87
40bf37:	8b 44 24 10          	mov    0x10(%esp),%eax
40bf3b:	a3 c4 d0 45 00       	mov    %eax,0x45d0c4
40bf40:	8b 44 24 04          	mov    0x4(%esp),%eax
40bf44:	a3 c8 d0 45 00       	mov    %eax,0x45d0c8
40bf49:	8b 44 24 08          	mov    0x8(%esp),%eax
40bf4d:	a3 cc d0 45 00       	mov    %eax,0x45d0cc
40bf52:	83 3d c4 d0 45 00 01 	cmpl   $0x1,0x45d0c4
40bf59:	75 10                	jne    0x40bf6b
40bf5b:	8b 44 24 0c          	mov    0xc(%esp),%eax
40bf5f:	25 ff ff 00 00       	and    $0xffff,%eax
40bf64:	a3 d0 d0 45 00       	mov    %eax,0x45d0d0
40bf69:	eb 09                	jmp    0x40bf74
40bf6b:	8b 44 24 0c          	mov    0xc(%esp),%eax
40bf6f:	a3 d0 d0 45 00       	mov    %eax,0x45d0d0
40bf74:	b8 d4 d0 45 00       	mov    $0x45d0d4,%eax
40bf79:	8d 54 24 14          	lea    0x14(%esp),%edx
40bf7d:	b9 80 00 00 00       	mov    $0x80,%ecx
40bf82:	e8 a5 82 ff ff       	call   0x40422c
40bf87:	81 c4 94 00 00 00    	add    $0x94,%esp
40bf8d:	c3                   	ret
40bf8e:	8b c0                	mov    %eax,%eax
40bf90:	3b 05 c8 d0 45 00    	cmp    0x45d0c8,%eax
40bf96:	7c 13                	jl     0x40bfab
40bf98:	3b 05 c8 d0 45 00    	cmp    0x45d0c8,%eax
40bf9e:	75 08                	jne    0x40bfa8
40bfa0:	3b 15 cc d0 45 00    	cmp    0x45d0cc,%edx
40bfa6:	7e 03                	jle    0x40bfab
40bfa8:	33 c0                	xor    %eax,%eax
40bfaa:	c3                   	ret
40bfab:	b0 01                	mov    $0x1,%al
40bfad:	c3                   	ret
40bfae:	8b c0                	mov    %eax,%eax
40bfb0:	55                   	push   %ebp
40bfb1:	8b ec                	mov    %esp,%ebp
40bfb3:	83 c4 e8             	add    $0xffffffe8,%esp
40bfb6:	53                   	push   %ebx
40bfb7:	33 d2                	xor    %edx,%edx
40bfb9:	89 55 f8             	mov    %edx,-0x8(%ebp)
40bfbc:	8b d8                	mov    %eax,%ebx
40bfbe:	33 c0                	xor    %eax,%eax
40bfc0:	55                   	push   %ebp
40bfc1:	68 86 c0 40 00       	push   $0x40c086
40bfc6:	64 ff 30             	push   %fs:(%eax)
40bfc9:	64 89 20             	mov    %esp,%fs:(%eax)
40bfcc:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40bfd3:	8d 45 f8             	lea    -0x8(%ebp),%eax
40bfd6:	8b d3                	mov    %ebx,%edx
40bfd8:	e8 77 80 ff ff       	call   0x404054
40bfdd:	8d 45 f8             	lea    -0x8(%ebp),%eax
40bfe0:	e8 e7 84 ff ff       	call   0x4044cc
40bfe5:	8d 45 f4             	lea    -0xc(%ebp),%eax
40bfe8:	50                   	push   %eax
40bfe9:	8b 45 f8             	mov    -0x8(%ebp),%eax
40bfec:	e8 8b 84 ff ff       	call   0x40447c
40bff1:	50                   	push   %eax
40bff2:	e8 f9 a1 ff ff       	call   0x4061f0
40bff7:	8b d8                	mov    %eax,%ebx
40bff9:	85 db                	test   %ebx,%ebx
40bffb:	74 73                	je     0x40c070
40bffd:	8b c3                	mov    %ebx,%eax
40bfff:	e8 b8 66 ff ff       	call   0x4026bc
40c004:	89 45 f0             	mov    %eax,-0x10(%ebp)
40c007:	33 c0                	xor    %eax,%eax
40c009:	55                   	push   %ebp
40c00a:	68 69 c0 40 00       	push   $0x40c069
40c00f:	64 ff 30             	push   %fs:(%eax)
40c012:	64 89 20             	mov    %esp,%fs:(%eax)
40c015:	8b 45 f0             	mov    -0x10(%ebp),%eax
40c018:	50                   	push   %eax
40c019:	53                   	push   %ebx
40c01a:	8b 45 f4             	mov    -0xc(%ebp),%eax
40c01d:	50                   	push   %eax
40c01e:	8b 45 f8             	mov    -0x8(%ebp),%eax
40c021:	e8 56 84 ff ff       	call   0x40447c
40c026:	50                   	push   %eax
40c027:	e8 bc a1 ff ff       	call   0x4061e8
40c02c:	85 c0                	test   %eax,%eax
40c02e:	74 23                	je     0x40c053
40c030:	8d 45 e8             	lea    -0x18(%ebp),%eax
40c033:	50                   	push   %eax
40c034:	8d 45 ec             	lea    -0x14(%ebp),%eax
40c037:	50                   	push   %eax
40c038:	68 98 c0 40 00       	push   $0x40c098
40c03d:	8b 45 f0             	mov    -0x10(%ebp),%eax
40c040:	50                   	push   %eax
40c041:	e8 b2 a1 ff ff       	call   0x4061f8
40c046:	85 c0                	test   %eax,%eax
40c048:	74 09                	je     0x40c053
40c04a:	8b 45 ec             	mov    -0x14(%ebp),%eax
40c04d:	8b 40 08             	mov    0x8(%eax),%eax
40c050:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c053:	33 c0                	xor    %eax,%eax
40c055:	5a                   	pop    %edx
40c056:	59                   	pop    %ecx
40c057:	59                   	pop    %ecx
40c058:	64 89 10             	mov    %edx,%fs:(%eax)
40c05b:	68 70 c0 40 00       	push   $0x40c070
40c060:	8b 45 f0             	mov    -0x10(%ebp),%eax
40c063:	e8 74 66 ff ff       	call   0x4026dc
40c068:	c3                   	ret
40c069:	e9 52 79 ff ff       	jmp    0x4039c0
40c06e:	eb f0                	jmp    0x40c060
40c070:	33 c0                	xor    %eax,%eax
40c072:	5a                   	pop    %edx
40c073:	59                   	pop    %ecx
40c074:	59                   	pop    %ecx
40c075:	64 89 10             	mov    %edx,%fs:(%eax)
40c078:	68 8d c0 40 00       	push   $0x40c08d
40c07d:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c080:	e8 37 7f ff ff       	call   0x403fbc
40c085:	c3                   	ret
40c086:	e9 35 79 ff ff       	jmp    0x4039c0
40c08b:	eb f0                	jmp    0x40c07d
40c08d:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c090:	5b                   	pop    %ebx
40c091:	8b e5                	mov    %ebp,%esp
40c093:	5d                   	pop    %ebp
40c094:	c3                   	ret
40c095:	00 00                	add    %al,(%eax)
40c097:	00 5c 00 00          	add    %bl,0x0(%eax,%eax,1)
40c09b:	00 56 57             	add    %dl,0x57(%esi)
40c09e:	8b fa                	mov    %edx,%edi
40c0a0:	33 d2                	xor    %edx,%edx
40c0a2:	85 c0                	test   %eax,%eax
40c0a4:	74 66                	je     0x40c10c
40c0a6:	80 3c 38 00          	cmpb   $0x0,(%eax,%edi,1)
40c0aa:	74 60                	je     0x40c10c
40c0ac:	85 ff                	test   %edi,%edi
40c0ae:	75 14                	jne    0x40c0c4
40c0b0:	8a 00                	mov    (%eax),%al
40c0b2:	25 ff 00 00 00       	and    $0xff,%eax
40c0b7:	0f a3 05 0c d1 45 00 	bt     %eax,0x45d10c
40c0be:	73 4c                	jae    0x40c10c
40c0c0:	b2 01                	mov    $0x1,%dl
40c0c2:	eb 48                	jmp    0x40c10c
40c0c4:	8b f7                	mov    %edi,%esi
40c0c6:	4e                   	dec    %esi
40c0c7:	eb 01                	jmp    0x40c0ca
40c0c9:	4e                   	dec    %esi
40c0ca:	85 f6                	test   %esi,%esi
40c0cc:	7c 12                	jl     0x40c0e0
40c0ce:	8a 0c 30             	mov    (%eax,%esi,1),%cl
40c0d1:	81 e1 ff 00 00 00    	and    $0xff,%ecx
40c0d7:	0f a3 0d 0c d1 45 00 	bt     %ecx,0x45d10c
40c0de:	72 e9                	jb     0x40c0c9
40c0e0:	8b cf                	mov    %edi,%ecx
40c0e2:	2b ce                	sub    %esi,%ecx
40c0e4:	81 e1 01 00 00 80    	and    $0x80000001,%ecx
40c0ea:	79 05                	jns    0x40c0f1
40c0ec:	49                   	dec    %ecx
40c0ed:	83 c9 fe             	or     $0xfffffffe,%ecx
40c0f0:	41                   	inc    %ecx
40c0f1:	85 c9                	test   %ecx,%ecx
40c0f3:	75 04                	jne    0x40c0f9
40c0f5:	b2 02                	mov    $0x2,%dl
40c0f7:	eb 13                	jmp    0x40c10c
40c0f9:	8a 04 38             	mov    (%eax,%edi,1),%al
40c0fc:	25 ff 00 00 00       	and    $0xff,%eax
40c101:	0f a3 05 0c d1 45 00 	bt     %eax,0x45d10c
40c108:	73 02                	jae    0x40c10c
40c10a:	b2 01                	mov    $0x1,%dl
40c10c:	8b c2                	mov    %edx,%eax
40c10e:	5f                   	pop    %edi
40c10f:	5e                   	pop    %esi
40c110:	c3                   	ret
40c111:	8d 40 00             	lea    0x0(%eax),%eax
40c114:	53                   	push   %ebx
40c115:	56                   	push   %esi
40c116:	8b f2                	mov    %edx,%esi
40c118:	8b d8                	mov    %eax,%ebx
40c11a:	33 c0                	xor    %eax,%eax
40c11c:	80 3d 4c 97 46 00 00 	cmpb   $0x0,0x46974c
40c123:	74 0f                	je     0x40c134
40c125:	8b c3                	mov    %ebx,%eax
40c127:	e8 50 83 ff ff       	call   0x40447c
40c12c:	8b d6                	mov    %esi,%edx
40c12e:	4a                   	dec    %edx
40c12f:	e8 68 ff ff ff       	call   0x40c09c
40c134:	5e                   	pop    %esi
40c135:	5b                   	pop    %ebx
40c136:	c3                   	ret
40c137:	90                   	nop
40c138:	33 c9                	xor    %ecx,%ecx
40c13a:	80 3d 4c 97 46 00 00 	cmpb   $0x0,0x46974c
40c141:	74 07                	je     0x40c14a
40c143:	e8 54 ff ff ff       	call   0x40c09c
40c148:	8b c8                	mov    %eax,%ecx
40c14a:	8b c1                	mov    %ecx,%eax
40c14c:	c3                   	ret
40c14d:	8d 40 00             	lea    0x0(%eax),%eax
40c150:	53                   	push   %ebx
40c151:	56                   	push   %esi
40c152:	8b f2                	mov    %edx,%esi
40c154:	8b d8                	mov    %eax,%ebx
40c156:	8b c3                	mov    %ebx,%eax
40c158:	e8 1f 81 ff ff       	call   0x40427c
40c15d:	3b f0                	cmp    %eax,%esi
40c15f:	7e 09                	jle    0x40c16a
40c161:	8b c3                	mov    %ebx,%eax
40c163:	e8 14 81 ff ff       	call   0x40427c
40c168:	8b f0                	mov    %eax,%esi
40c16a:	8b d6                	mov    %esi,%edx
40c16c:	8b c3                	mov    %ebx,%eax
40c16e:	e8 05 00 00 00       	call   0x40c178
40c173:	5e                   	pop    %esi
40c174:	5b                   	pop    %ebx
40c175:	c3                   	ret
40c176:	8b c0                	mov    %eax,%eax
40c178:	53                   	push   %ebx
40c179:	56                   	push   %esi
40c17a:	57                   	push   %edi
40c17b:	8b f2                	mov    %edx,%esi
40c17d:	8b d8                	mov    %eax,%ebx
40c17f:	33 ff                	xor    %edi,%edi
40c181:	85 f6                	test   %esi,%esi
40c183:	7e 45                	jle    0x40c1ca
40c185:	8b c3                	mov    %ebx,%eax
40c187:	e8 f0 80 ff ff       	call   0x40427c
40c18c:	3b f0                	cmp    %eax,%esi
40c18e:	7f 3a                	jg     0x40c1ca
40c190:	8b fe                	mov    %esi,%edi
40c192:	80 3d 4c 97 46 00 00 	cmpb   $0x0,0x46974c
40c199:	74 2f                	je     0x40c1ca
40c19b:	b8 01 00 00 00       	mov    $0x1,%eax
40c1a0:	33 ff                	xor    %edi,%edi
40c1a2:	3b f0                	cmp    %eax,%esi
40c1a4:	7c 24                	jl     0x40c1ca
40c1a6:	8a 54 03 ff          	mov    -0x1(%ebx,%eax,1),%dl
40c1aa:	81 e2 ff 00 00 00    	and    $0xff,%edx
40c1b0:	0f a3 15 0c d1 45 00 	bt     %edx,0x45d10c
40c1b7:	73 0b                	jae    0x40c1c4
40c1b9:	8b d0                	mov    %eax,%edx
40c1bb:	8b c3                	mov    %ebx,%eax
40c1bd:	e8 c6 01 00 00       	call   0x40c388
40c1c2:	eb 01                	jmp    0x40c1c5
40c1c4:	40                   	inc    %eax
40c1c5:	47                   	inc    %edi
40c1c6:	3b f0                	cmp    %eax,%esi
40c1c8:	7d dc                	jge    0x40c1a6
40c1ca:	8b c7                	mov    %edi,%eax
40c1cc:	5f                   	pop    %edi
40c1cd:	5e                   	pop    %esi
40c1ce:	5b                   	pop    %ebx
40c1cf:	c3                   	ret
40c1d0:	55                   	push   %ebp
40c1d1:	8b ec                	mov    %esp,%ebp
40c1d3:	83 c4 f4             	add    $0xfffffff4,%esp
40c1d6:	53                   	push   %ebx
40c1d7:	56                   	push   %esi
40c1d8:	57                   	push   %edi
40c1d9:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40c1dc:	89 55 fc             	mov    %edx,-0x4(%ebp)
40c1df:	8b f8                	mov    %eax,%edi
40c1e1:	8b c7                	mov    %edi,%eax
40c1e3:	e8 94 80 ff ff       	call   0x40427c
40c1e8:	89 45 f4             	mov    %eax,-0xc(%ebp)
40c1eb:	be 01 00 00 00       	mov    $0x1,%esi
40c1f0:	bb 01 00 00 00       	mov    $0x1,%ebx
40c1f5:	eb 21                	jmp    0x40c218
40c1f7:	46                   	inc    %esi
40c1f8:	8a 44 1f ff          	mov    -0x1(%edi,%ebx,1),%al
40c1fc:	25 ff 00 00 00       	and    $0xff,%eax
40c201:	0f a3 05 0c d1 45 00 	bt     %eax,0x45d10c
40c208:	73 0d                	jae    0x40c217
40c20a:	8b d3                	mov    %ebx,%edx
40c20c:	8b c7                	mov    %edi,%eax
40c20e:	e8 75 01 00 00       	call   0x40c388
40c213:	8b d8                	mov    %eax,%ebx
40c215:	eb 01                	jmp    0x40c218
40c217:	43                   	inc    %ebx
40c218:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
40c21b:	7d 05                	jge    0x40c222
40c21d:	3b 75 fc             	cmp    -0x4(%ebp),%esi
40c220:	7c d5                	jl     0x40c1f7
40c222:	3b 75 fc             	cmp    -0x4(%ebp),%esi
40c225:	75 23                	jne    0x40c24a
40c227:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
40c22a:	7d 1e                	jge    0x40c24a
40c22c:	8a 44 1f ff          	mov    -0x1(%edi,%ebx,1),%al
40c230:	25 ff 00 00 00       	and    $0xff,%eax
40c235:	0f a3 05 0c d1 45 00 	bt     %eax,0x45d10c
40c23c:	73 0c                	jae    0x40c24a
40c23e:	8b d3                	mov    %ebx,%edx
40c240:	8b c7                	mov    %edi,%eax
40c242:	e8 41 01 00 00       	call   0x40c388
40c247:	48                   	dec    %eax
40c248:	8b d8                	mov    %eax,%ebx
40c24a:	8b 45 f8             	mov    -0x8(%ebp),%eax
40c24d:	89 30                	mov    %esi,(%eax)
40c24f:	8b 45 08             	mov    0x8(%ebp),%eax
40c252:	89 18                	mov    %ebx,(%eax)
40c254:	5f                   	pop    %edi
40c255:	5e                   	pop    %esi
40c256:	5b                   	pop    %ebx
40c257:	8b e5                	mov    %ebp,%esp
40c259:	5d                   	pop    %ebp
40c25a:	c2 04 00             	ret    $0x4
40c25d:	8d 40 00             	lea    0x0(%eax),%eax
40c260:	53                   	push   %ebx
40c261:	56                   	push   %esi
40c262:	83 c4 f8             	add    $0xfffffff8,%esp
40c265:	8b da                	mov    %edx,%ebx
40c267:	8b f0                	mov    %eax,%esi
40c269:	33 c0                	xor    %eax,%eax
40c26b:	89 04 24             	mov    %eax,(%esp)
40c26e:	85 db                	test   %ebx,%ebx
40c270:	7e 4a                	jle    0x40c2bc
40c272:	8b c6                	mov    %esi,%eax
40c274:	e8 03 80 ff ff       	call   0x40427c
40c279:	3b d8                	cmp    %eax,%ebx
40c27b:	7f 3f                	jg     0x40c2bc
40c27d:	83 fb 01             	cmp    $0x1,%ebx
40c280:	7e 37                	jle    0x40c2b9
40c282:	80 3d 4c 97 46 00 00 	cmpb   $0x0,0x46974c