40bfe1:	0f 85 3b ff ff ff    	jne    0x40bf22
40bfe7:	8b 46 18             	mov    0x18(%esi),%eax
40bfea:	e9 30 ff ff ff       	jmp    0x40bf1f
40bfef:	90                   	nop
40bff0:	5c                   	pop    %esp
40bff1:	bf 40 00 65 bf       	mov    $0xbf650040,%edi
40bff6:	40                   	inc    %eax
40bff7:	00 7a bf             	add    %bh,-0x41(%edx)
40bffa:	40                   	inc    %eax
40bffb:	00 83 bf 40 00 8c    	add    %al,-0x73ffbf41(%ebx)
40c001:	bf 40 00 91 bf       	mov    $0xbf910040,%edi
40c006:	40                   	inc    %eax
40c007:	00 9a bf 40 00 a3    	add    %bl,-0x5cffbf41(%edx)
40c00d:	bf 40 00 0f be       	mov    $0xbe0f0040,%edi
40c012:	41                   	inc    %ecx
40c013:	31 83 e8 20 74 2d    	xor    %eax,0x2d7420e8(%ebx)
40c019:	83 e8 03             	sub    $0x3,%eax
40c01c:	74 22                	je     0x40c040
40c01e:	83 e8 08             	sub    $0x8,%eax
40c021:	74 17                	je     0x40c03a
40c023:	48                   	dec    %eax
40c024:	83 e8 01             	sub    $0x1,%eax
40c027:	74 0b                	je     0x40c034
40c029:	83 e8 03             	sub    $0x3,%eax
40c02c:	75 1c                	jne    0x40c04a
40c02e:	83 49 20 08          	orl    $0x8,0x20(%ecx)
40c032:	eb 16                	jmp    0x40c04a
40c034:	83 49 20 04          	orl    $0x4,0x20(%ecx)
40c038:	eb 10                	jmp    0x40c04a
40c03a:	83 49 20 01          	orl    $0x1,0x20(%ecx)
40c03e:	eb 0a                	jmp    0x40c04a
40c040:	83 49 20 20          	orl    $0x20,0x20(%ecx)
40c044:	eb 04                	jmp    0x40c04a
40c046:	83 49 20 02          	orl    $0x2,0x20(%ecx)
40c04a:	b0 01                	mov    $0x1,%al
40c04c:	c3                   	ret
40c04d:	e8 1a 00 00 00       	call   0x40c06c
40c052:	84 c0                	test   %al,%al
40c054:	75 13                	jne    0x40c069
40c056:	e8 a0 2d 00 00       	call   0x40edfb
40c05b:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40c061:	e8 1b 10 00 00       	call   0x40d081
40c066:	32 c0                	xor    %al,%al
40c068:	c3                   	ret
40c069:	b0 01                	mov    $0x1,%al
40c06b:	c3                   	ret
40c06c:	8b ff                	mov    %edi,%edi
40c06e:	56                   	push   %esi
40c06f:	6a 00                	push   $0x0
40c071:	8b f1                	mov    %ecx,%esi
40c073:	e8 1e 00 00 00       	call   0x40c096
40c078:	84 c0                	test   %al,%al
40c07a:	75 02                	jne    0x40c07e
40c07c:	5e                   	pop    %esi
40c07d:	c3                   	ret
40c07e:	8d 46 18             	lea    0x18(%esi),%eax
40c081:	50                   	push   %eax
40c082:	0f b6 46 31          	movzbl 0x31(%esi),%eax
40c086:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
40c08c:	50                   	push   %eax
40c08d:	e8 82 09 00 00       	call   0x40ca14
40c092:	b0 01                	mov    $0x1,%al
40c094:	5e                   	pop    %esi
40c095:	c3                   	ret
40c096:	8b ff                	mov    %edi,%edi
40c098:	53                   	push   %ebx
40c099:	56                   	push   %esi
40c09a:	8b f1                	mov    %ecx,%esi
40c09c:	68 00 80 00 00       	push   $0x8000
40c0a1:	8a 5e 31             	mov    0x31(%esi),%bl
40c0a4:	0f be c3             	movsbl %bl,%eax
40c0a7:	50                   	push   %eax
40c0a8:	8b 46 08             	mov    0x8(%esi),%eax
40c0ab:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
40c0af:	8b 00                	mov    (%eax),%eax
40c0b1:	ff 30                	push   (%eax)
40c0b3:	e8 aa 0a 00 00       	call   0x40cb62
40c0b8:	83 c4 0c             	add    $0xc,%esp
40c0bb:	85 c0                	test   %eax,%eax
40c0bd:	74 34                	je     0x40c0f3
40c0bf:	8d 46 18             	lea    0x18(%esi),%eax
40c0c2:	50                   	push   %eax
40c0c3:	53                   	push   %ebx
40c0c4:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
40c0ca:	e8 45 09 00 00       	call   0x40ca14
40c0cf:	8b 46 10             	mov    0x10(%esi),%eax
40c0d2:	8a 08                	mov    (%eax),%cl
40c0d4:	40                   	inc    %eax
40c0d5:	88 4e 31             	mov    %cl,0x31(%esi)
40c0d8:	89 46 10             	mov    %eax,0x10(%esi)
40c0db:	84 c9                	test   %cl,%cl
40c0dd:	75 14                	jne    0x40c0f3
40c0df:	e8 17 2d 00 00       	call   0x40edfb
40c0e4:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40c0ea:	e8 92 0f 00 00       	call   0x40d081
40c0ef:	32 c0                	xor    %al,%al
40c0f1:	eb 02                	jmp    0x40c0f5
40c0f3:	b0 01                	mov    $0x1,%al
40c0f5:	5e                   	pop    %esi
40c0f6:	5b                   	pop    %ebx
40c0f7:	c2 04 00             	ret    $0x4
40c0fa:	80 79 31 2a          	cmpb   $0x2a,0x31(%ecx)
40c0fe:	8d 51 28             	lea    0x28(%ecx),%edx
40c101:	74 07                	je     0x40c10a
40c103:	52                   	push   %edx
40c104:	e8 6c fd ff ff       	call   0x40be75
40c109:	c3                   	ret
40c10a:	83 41 14 04          	addl   $0x4,0x14(%ecx)
40c10e:	8b 41 14             	mov    0x14(%ecx),%eax
40c111:	8b 40 fc             	mov    -0x4(%eax),%eax
40c114:	89 02                	mov    %eax,(%edx)
40c116:	85 c0                	test   %eax,%eax
40c118:	79 03                	jns    0x40c11d
40c11a:	83 0a ff             	orl    $0xffffffff,(%edx)
40c11d:	b0 01                	mov    $0x1,%al
40c11f:	c3                   	ret
40c120:	8a 41 31             	mov    0x31(%ecx),%al
40c123:	3c 46                	cmp    $0x46,%al
40c125:	75 1a                	jne    0x40c141
40c127:	8b 01                	mov    (%ecx),%eax
40c129:	83 e0 08             	and    $0x8,%eax
40c12c:	83 c8 00             	or     $0x0,%eax
40c12f:	0f 85 36 01 00 00    	jne    0x40c26b
40c135:	c7 41 1c 07 00 00 00 	movl   $0x7,0x1c(%ecx)
40c13c:	e9 2d 01 00 00       	jmp    0x40c26e
40c141:	3c 4e                	cmp    $0x4e,%al
40c143:	75 26                	jne    0x40c16b
40c145:	8b 01                	mov    (%ecx),%eax
40c147:	6a 08                	push   $0x8
40c149:	5a                   	pop    %edx
40c14a:	23 c2                	and    %edx,%eax
40c14c:	83 c8 00             	or     $0x0,%eax
40c14f:	0f 85 16 01 00 00    	jne    0x40c26b
40c155:	89 51 1c             	mov    %edx,0x1c(%ecx)
40c158:	e8 9e 2c 00 00       	call   0x40edfb
40c15d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40c163:	e8 19 0f 00 00       	call   0x40d081
40c168:	32 c0                	xor    %al,%al
40c16a:	c3                   	ret
40c16b:	83 79 2c 00          	cmpl   $0x0,0x2c(%ecx)
40c16f:	75 e7                	jne    0x40c158
40c171:	3c 6a                	cmp    $0x6a,%al
40c173:	0f 8f b1 00 00 00    	jg     0x40c22a
40c179:	0f 84 a2 00 00 00    	je     0x40c221
40c17f:	3c 49                	cmp    $0x49,%al
40c181:	74 43                	je     0x40c1c6
40c183:	3c 4c                	cmp    $0x4c,%al
40c185:	74 33                	je     0x40c1ba
40c187:	3c 54                	cmp    $0x54,%al
40c189:	74 23                	je     0x40c1ae
40c18b:	3c 68                	cmp    $0x68,%al
40c18d:	0f 85 d8 00 00 00    	jne    0x40c26b
40c193:	8b 41 10             	mov    0x10(%ecx),%eax
40c196:	80 38 68             	cmpb   $0x68,(%eax)
40c199:	75 0c                	jne    0x40c1a7
40c19b:	40                   	inc    %eax
40c19c:	89 41 10             	mov    %eax,0x10(%ecx)
40c19f:	33 c0                	xor    %eax,%eax
40c1a1:	40                   	inc    %eax
40c1a2:	e9 c1 00 00 00       	jmp    0x40c268
40c1a7:	6a 02                	push   $0x2
40c1a9:	e9 b9 00 00 00       	jmp    0x40c267
40c1ae:	c7 41 2c 0d 00 00 00 	movl   $0xd,0x2c(%ecx)
40c1b5:	e9 b1 00 00 00       	jmp    0x40c26b
40c1ba:	c7 41 2c 08 00 00 00 	movl   $0x8,0x2c(%ecx)
40c1c1:	e9 a5 00 00 00       	jmp    0x40c26b
40c1c6:	8b 51 10             	mov    0x10(%ecx),%edx
40c1c9:	8a 02                	mov    (%edx),%al
40c1cb:	3c 33                	cmp    $0x33,%al
40c1cd:	75 18                	jne    0x40c1e7
40c1cf:	80 7a 01 32          	cmpb   $0x32,0x1(%edx)
40c1d3:	75 12                	jne    0x40c1e7
40c1d5:	8d 42 02             	lea    0x2(%edx),%eax
40c1d8:	c7 41 2c 0a 00 00 00 	movl   $0xa,0x2c(%ecx)
40c1df:	89 41 10             	mov    %eax,0x10(%ecx)
40c1e2:	e9 84 00 00 00       	jmp    0x40c26b
40c1e7:	3c 36                	cmp    $0x36,%al
40c1e9:	75 15                	jne    0x40c200
40c1eb:	80 7a 01 34          	cmpb   $0x34,0x1(%edx)
40c1ef:	75 0f                	jne    0x40c200
40c1f1:	8d 42 02             	lea    0x2(%edx),%eax
40c1f4:	c7 41 2c 0b 00 00 00 	movl   $0xb,0x2c(%ecx)
40c1fb:	89 41 10             	mov    %eax,0x10(%ecx)
40c1fe:	eb 6b                	jmp    0x40c26b
40c200:	3c 64                	cmp    $0x64,%al
40c202:	74 14                	je     0x40c218
40c204:	3c 69                	cmp    $0x69,%al
40c206:	74 10                	je     0x40c218
40c208:	3c 6f                	cmp    $0x6f,%al
40c20a:	74 0c                	je     0x40c218
40c20c:	3c 75                	cmp    $0x75,%al
40c20e:	74 08                	je     0x40c218
40c210:	3c 78                	cmp    $0x78,%al
40c212:	74 04                	je     0x40c218
40c214:	3c 58                	cmp    $0x58,%al
40c216:	75 53                	jne    0x40c26b
40c218:	c7 41 2c 09 00 00 00 	movl   $0x9,0x2c(%ecx)
40c21f:	eb 4a                	jmp    0x40c26b
40c221:	c7 41 2c 05 00 00 00 	movl   $0x5,0x2c(%ecx)
40c228:	eb 41                	jmp    0x40c26b
40c22a:	3c 6c                	cmp    $0x6c,%al
40c22c:	74 27                	je     0x40c255
40c22e:	3c 74                	cmp    $0x74,%al
40c230:	74 1a                	je     0x40c24c
40c232:	3c 77                	cmp    $0x77,%al
40c234:	74 0d                	je     0x40c243
40c236:	3c 7a                	cmp    $0x7a,%al
40c238:	75 31                	jne    0x40c26b
40c23a:	c7 41 2c 06 00 00 00 	movl   $0x6,0x2c(%ecx)
40c241:	eb 28                	jmp    0x40c26b
40c243:	c7 41 2c 0c 00 00 00 	movl   $0xc,0x2c(%ecx)
40c24a:	eb 1f                	jmp    0x40c26b
40c24c:	c7 41 2c 07 00 00 00 	movl   $0x7,0x2c(%ecx)
40c253:	eb 16                	jmp    0x40c26b
40c255:	8b 41 10             	mov    0x10(%ecx),%eax
40c258:	80 38 6c             	cmpb   $0x6c,(%eax)
40c25b:	75 08                	jne    0x40c265
40c25d:	40                   	inc    %eax
40c25e:	89 41 10             	mov    %eax,0x10(%ecx)
40c261:	6a 04                	push   $0x4
40c263:	eb 02                	jmp    0x40c267
40c265:	6a 03                	push   $0x3
40c267:	58                   	pop    %eax
40c268:	89 41 2c             	mov    %eax,0x2c(%ecx)
40c26b:	b0 01                	mov    $0x1,%al
40c26d:	c3                   	ret
40c26e:	8b ff                	mov    %edi,%edi
40c270:	55                   	push   %ebp
40c271:	8b ec                	mov    %esp,%ebp
40c273:	51                   	push   %ecx
40c274:	51                   	push   %ecx
40c275:	53                   	push   %ebx
40c276:	56                   	push   %esi
40c277:	8b f1                	mov    %ecx,%esi
40c279:	33 db                	xor    %ebx,%ebx
40c27b:	6a 58                	push   $0x58
40c27d:	59                   	pop    %ecx
40c27e:	0f be 46 31          	movsbl 0x31(%esi),%eax
40c282:	83 f8 64             	cmp    $0x64,%eax
40c285:	7f 6c                	jg     0x40c2f3
40c287:	0f 84 93 00 00 00    	je     0x40c320
40c28d:	3b c1                	cmp    %ecx,%eax
40c28f:	7f 3f                	jg     0x40c2d0
40c291:	74 37                	je     0x40c2ca
40c293:	83 f8 41             	cmp    $0x41,%eax
40c296:	0f 84 94 00 00 00    	je     0x40c330
40c29c:	83 f8 43             	cmp    $0x43,%eax
40c29f:	74 3f                	je     0x40c2e0
40c2a1:	83 f8 44             	cmp    $0x44,%eax
40c2a4:	7e 1d                	jle    0x40c2c3
40c2a6:	83 f8 47             	cmp    $0x47,%eax
40c2a9:	0f 8e 81 00 00 00    	jle    0x40c330
40c2af:	83 f8 53             	cmp    $0x53,%eax
40c2b2:	75 0f                	jne    0x40c2c3
40c2b4:	8b ce                	mov    %esi,%ecx
40c2b6:	e8 ab 06 00 00       	call   0x40c966
40c2bb:	84 c0                	test   %al,%al
40c2bd:	0f 85 a0 00 00 00    	jne    0x40c363
40c2c3:	32 c0                	xor    %al,%al
40c2c5:	e9 d2 01 00 00       	jmp    0x40c49c
40c2ca:	6a 01                	push   $0x1
40c2cc:	6a 10                	push   $0x10
40c2ce:	eb 57                	jmp    0x40c327
40c2d0:	83 e8 5a             	sub    $0x5a,%eax
40c2d3:	74 15                	je     0x40c2ea
40c2d5:	83 e8 07             	sub    $0x7,%eax
40c2d8:	74 56                	je     0x40c330
40c2da:	48                   	dec    %eax
40c2db:	83 e8 01             	sub    $0x1,%eax
40c2de:	75 e3                	jne    0x40c2c3
40c2e0:	53                   	push   %ebx
40c2e1:	8b ce                	mov    %esi,%ecx
40c2e3:	e8 ef 03 00 00       	call   0x40c6d7
40c2e8:	eb d1                	jmp    0x40c2bb
40c2ea:	8b ce                	mov    %esi,%ecx
40c2ec:	e8 3b 02 00 00       	call   0x40c52c
40c2f1:	eb c8                	jmp    0x40c2bb
40c2f3:	83 f8 70             	cmp    $0x70,%eax
40c2f6:	7f 4d                	jg     0x40c345
40c2f8:	74 3f                	je     0x40c339
40c2fa:	83 f8 67             	cmp    $0x67,%eax
40c2fd:	7e 31                	jle    0x40c330
40c2ff:	83 f8 69             	cmp    $0x69,%eax
40c302:	74 1c                	je     0x40c320
40c304:	83 f8 6e             	cmp    $0x6e,%eax
40c307:	74 0e                	je     0x40c317
40c309:	83 f8 6f             	cmp    $0x6f,%eax
40c30c:	75 b5                	jne    0x40c2c3
40c30e:	8b ce                	mov    %esi,%ecx
40c310:	e8 1a 06 00 00       	call   0x40c92f
40c315:	eb a4                	jmp    0x40c2bb
40c317:	8b ce                	mov    %esi,%ecx
40c319:	e8 9d 05 00 00       	call   0x40c8bb
40c31e:	eb 9b                	jmp    0x40c2bb
40c320:	83 4e 20 10          	orl    $0x10,0x20(%esi)
40c324:	53                   	push   %ebx
40c325:	6a 0a                	push   $0xa
40c327:	8b ce                	mov    %esi,%ecx
40c329:	e8 3c 04 00 00       	call   0x40c76a
40c32e:	eb 8b                	jmp    0x40c2bb
40c330:	8b ce                	mov    %esi,%ecx
40c332:	e8 4f 02 00 00       	call   0x40c586
40c337:	eb 82                	jmp    0x40c2bb
40c339:	8b ce                	mov    %esi,%ecx
40c33b:	e8 0e 06 00 00       	call   0x40c94e
40c340:	e9 76 ff ff ff       	jmp    0x40c2bb
40c345:	83 e8 73             	sub    $0x73,%eax
40c348:	0f 84 66 ff ff ff    	je     0x40c2b4
40c34e:	48                   	dec    %eax
40c34f:	83 e8 01             	sub    $0x1,%eax
40c352:	74 d0                	je     0x40c324
40c354:	83 e8 03             	sub    $0x3,%eax
40c357:	0f 85 66 ff ff ff    	jne    0x40c2c3
40c35d:	53                   	push   %ebx
40c35e:	e9 69 ff ff ff       	jmp    0x40c2cc
40c363:	38 5e 30             	cmp    %bl,0x30(%esi)
40c366:	0f 85 2e 01 00 00    	jne    0x40c49a
40c36c:	8b cb                	mov    %ebx,%ecx
40c36e:	66 89 5d fc          	mov    %bx,-0x4(%ebp)
40c372:	88 5d fe             	mov    %bl,-0x2(%ebp)
40c375:	33 d2                	xor    %edx,%edx
40c377:	8b 5e 20             	mov    0x20(%esi),%ebx
40c37a:	42                   	inc    %edx
40c37b:	8b c3                	mov    %ebx,%eax
40c37d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40c380:	c1 e8 04             	shr    $0x4,%eax
40c383:	84 c2                	test   %al,%dl
40c385:	74 2f                	je     0x40c3b6
40c387:	8b c3                	mov    %ebx,%eax
40c389:	c1 e8 06             	shr    $0x6,%eax
40c38c:	84 c2                	test   %al,%dl
40c38e:	74 06                	je     0x40c396
40c390:	c6 45 fc 2d          	movb   $0x2d,-0x4(%ebp)
40c394:	eb 08                	jmp    0x40c39e
40c396:	84 da                	test   %bl,%dl
40c398:	74 0b                	je     0x40c3a5
40c39a:	c6 45 fc 2b          	movb   $0x2b,-0x4(%ebp)
40c39e:	8b ca                	mov    %edx,%ecx
40c3a0:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40c3a3:	eb 11                	jmp    0x40c3b6
40c3a5:	8b c3                	mov    %ebx,%eax
40c3a7:	d1 e8                	shr    $1,%eax
40c3a9:	84 c2                	test   %al,%dl
40c3ab:	74 09                	je     0x40c3b6
40c3ad:	c6 45 fc 20          	movb   $0x20,-0x4(%ebp)
40c3b1:	8b ca                	mov    %edx,%ecx
40c3b3:	89 55 f8             	mov    %edx,-0x8(%ebp)
40c3b6:	8a 56 31             	mov    0x31(%esi),%dl
40c3b9:	80 fa 78             	cmp    $0x78,%dl
40c3bc:	74 05                	je     0x40c3c3