40cfc6:	e8 03 74 22 83       	call   0x836343ce
40cfcb:	e8 08 74 17 48       	call   0x485843d8
40cfd0:	83 e8 01             	sub    $0x1,%eax
40cfd3:	74 0b                	je     0x40cfe0
40cfd5:	83 e8 03             	sub    $0x3,%eax
40cfd8:	75 1c                	jne    0x40cff6
40cfda:	83 49 20 08          	orl    $0x8,0x20(%ecx)
40cfde:	eb 16                	jmp    0x40cff6
40cfe0:	83 49 20 04          	orl    $0x4,0x20(%ecx)
40cfe4:	eb 10                	jmp    0x40cff6
40cfe6:	83 49 20 01          	orl    $0x1,0x20(%ecx)
40cfea:	eb 0a                	jmp    0x40cff6
40cfec:	83 49 20 20          	orl    $0x20,0x20(%ecx)
40cff0:	eb 04                	jmp    0x40cff6
40cff2:	83 49 20 02          	orl    $0x2,0x20(%ecx)
40cff6:	b0 01                	mov    $0x1,%al
40cff8:	c3                   	ret
40cff9:	0f be 41 31          	movsbl 0x31(%ecx),%eax
40cffd:	83 e8 20             	sub    $0x20,%eax
40d000:	74 2d                	je     0x40d02f
40d002:	83 e8 03             	sub    $0x3,%eax
40d005:	74 22                	je     0x40d029
40d007:	83 e8 08             	sub    $0x8,%eax
40d00a:	74 17                	je     0x40d023
40d00c:	48                   	dec    %eax
40d00d:	83 e8 01             	sub    $0x1,%eax
40d010:	74 0b                	je     0x40d01d
40d012:	83 e8 03             	sub    $0x3,%eax
40d015:	75 1c                	jne    0x40d033
40d017:	83 49 20 08          	orl    $0x8,0x20(%ecx)
40d01b:	eb 16                	jmp    0x40d033
40d01d:	83 49 20 04          	orl    $0x4,0x20(%ecx)
40d021:	eb 10                	jmp    0x40d033
40d023:	83 49 20 01          	orl    $0x1,0x20(%ecx)
40d027:	eb 0a                	jmp    0x40d033
40d029:	83 49 20 20          	orl    $0x20,0x20(%ecx)
40d02d:	eb 04                	jmp    0x40d033
40d02f:	83 49 20 02          	orl    $0x2,0x20(%ecx)
40d033:	b0 01                	mov    $0x1,%al
40d035:	c3                   	ret
40d036:	0f b7 41 32          	movzwl 0x32(%ecx),%eax
40d03a:	83 e8 20             	sub    $0x20,%eax
40d03d:	74 2d                	je     0x40d06c
40d03f:	83 e8 03             	sub    $0x3,%eax
40d042:	74 22                	je     0x40d066
40d044:	83 e8 08             	sub    $0x8,%eax
40d047:	74 17                	je     0x40d060
40d049:	48                   	dec    %eax
40d04a:	83 e8 01             	sub    $0x1,%eax
40d04d:	74 0b                	je     0x40d05a
40d04f:	83 e8 03             	sub    $0x3,%eax
40d052:	75 1c                	jne    0x40d070
40d054:	83 49 20 08          	orl    $0x8,0x20(%ecx)
40d058:	eb 16                	jmp    0x40d070
40d05a:	83 49 20 04          	orl    $0x4,0x20(%ecx)
40d05e:	eb 10                	jmp    0x40d070
40d060:	83 49 20 01          	orl    $0x1,0x20(%ecx)
40d064:	eb 0a                	jmp    0x40d070
40d066:	83 49 20 20          	orl    $0x20,0x20(%ecx)
40d06a:	eb 04                	jmp    0x40d070
40d06c:	83 49 20 02          	orl    $0x2,0x20(%ecx)
40d070:	b0 01                	mov    $0x1,%al
40d072:	c3                   	ret
40d073:	e8 58 00 00 00       	call   0x40d0d0
40d078:	84 c0                	test   %al,%al
40d07a:	75 13                	jne    0x40d08f
40d07c:	e8 ea 79 00 00       	call   0x414a6b
40d081:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40d087:	e8 56 ec ff ff       	call   0x40bce2
40d08c:	32 c0                	xor    %al,%al
40d08e:	c3                   	ret
40d08f:	b0 01                	mov    $0x1,%al
40d091:	c3                   	ret
40d092:	e8 63 00 00 00       	call   0x40d0fa
40d097:	84 c0                	test   %al,%al
40d099:	75 13                	jne    0x40d0ae
40d09b:	e8 cb 79 00 00       	call   0x414a6b
40d0a0:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40d0a6:	e8 37 ec ff ff       	call   0x40bce2
40d0ab:	32 c0                	xor    %al,%al
40d0ad:	c3                   	ret
40d0ae:	b0 01                	mov    $0x1,%al
40d0b0:	c3                   	ret
40d0b1:	e8 6e 00 00 00       	call   0x40d124
40d0b6:	84 c0                	test   %al,%al
40d0b8:	75 13                	jne    0x40d0cd
40d0ba:	e8 ac 79 00 00       	call   0x414a6b
40d0bf:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40d0c5:	e8 18 ec ff ff       	call   0x40bce2
40d0ca:	32 c0                	xor    %al,%al
40d0cc:	c3                   	ret
40d0cd:	b0 01                	mov    $0x1,%al
40d0cf:	c3                   	ret
40d0d0:	8b ff                	mov    %edi,%edi
40d0d2:	56                   	push   %esi
40d0d3:	6a 00                	push   $0x0
40d0d5:	8b f1                	mov    %ecx,%esi
40d0d7:	e8 63 00 00 00       	call   0x40d13f
40d0dc:	84 c0                	test   %al,%al
40d0de:	75 02                	jne    0x40d0e2
40d0e0:	5e                   	pop    %esi
40d0e1:	c3                   	ret
40d0e2:	8d 46 18             	lea    0x18(%esi),%eax
40d0e5:	50                   	push   %eax
40d0e6:	0f b6 46 31          	movzbl 0x31(%esi),%eax
40d0ea:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
40d0f0:	50                   	push   %eax
40d0f1:	e8 c4 1c 00 00       	call   0x40edba
40d0f6:	b0 01                	mov    $0x1,%al
40d0f8:	5e                   	pop    %esi
40d0f9:	c3                   	ret
40d0fa:	8b ff                	mov    %edi,%edi
40d0fc:	56                   	push   %esi
40d0fd:	6a 00                	push   $0x0
40d0ff:	8b f1                	mov    %ecx,%esi
40d101:	e8 9a 00 00 00       	call   0x40d1a0
40d106:	84 c0                	test   %al,%al
40d108:	75 02                	jne    0x40d10c
40d10a:	5e                   	pop    %esi
40d10b:	c3                   	ret
40d10c:	8d 46 18             	lea    0x18(%esi),%eax
40d10f:	50                   	push   %eax
40d110:	0f b6 46 31          	movzbl 0x31(%esi),%eax
40d114:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
40d11a:	50                   	push   %eax
40d11b:	e8 17 1d 00 00       	call   0x40ee37
40d120:	b0 01                	mov    $0x1,%al
40d122:	5e                   	pop    %esi
40d123:	c3                   	ret
40d124:	8d 51 18             	lea    0x18(%ecx),%edx
40d127:	c6 41 3c 01          	movb   $0x1,0x3c(%ecx)
40d12b:	52                   	push   %edx
40d12c:	0f b7 51 32          	movzwl 0x32(%ecx),%edx
40d130:	81 c1 48 04 00 00    	add    $0x448,%ecx
40d136:	52                   	push   %edx
40d137:	e8 bb 1c 00 00       	call   0x40edf7
40d13c:	b0 01                	mov    $0x1,%al
40d13e:	c3                   	ret
40d13f:	8b ff                	mov    %edi,%edi
40d141:	56                   	push   %esi
40d142:	8b f1                	mov    %ecx,%esi
40d144:	57                   	push   %edi
40d145:	bf 00 80 00 00       	mov    $0x8000,%edi
40d14a:	8b 46 08             	mov    0x8(%esi),%eax
40d14d:	8a 4e 31             	mov    0x31(%esi),%cl
40d150:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
40d154:	0f b6 d1             	movzbl %cl,%edx
40d157:	8b 00                	mov    (%eax),%eax
40d159:	8b 00                	mov    (%eax),%eax
40d15b:	66 85 3c 50          	test   %di,(%eax,%edx,2)
40d15f:	74 38                	je     0x40d199
40d161:	8d 46 18             	lea    0x18(%esi),%eax
40d164:	50                   	push   %eax
40d165:	51                   	push   %ecx
40d166:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
40d16c:	e8 49 1c 00 00       	call   0x40edba
40d171:	8b 4e 10             	mov    0x10(%esi),%ecx
40d174:	8a 01                	mov    (%ecx),%al
40d176:	88 46 31             	mov    %al,0x31(%esi)
40d179:	8d 41 01             	lea    0x1(%ecx),%eax
40d17c:	80 7e 31 00          	cmpb   $0x0,0x31(%esi)
40d180:	89 46 10             	mov    %eax,0x10(%esi)
40d183:	75 14                	jne    0x40d199
40d185:	e8 e1 78 00 00       	call   0x414a6b
40d18a:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40d190:	e8 4d eb ff ff       	call   0x40bce2
40d195:	32 c0                	xor    %al,%al
40d197:	eb 02                	jmp    0x40d19b
40d199:	b0 01                	mov    $0x1,%al
40d19b:	5f                   	pop    %edi
40d19c:	5e                   	pop    %esi
40d19d:	c2 04 00             	ret    $0x4
40d1a0:	8b ff                	mov    %edi,%edi
40d1a2:	56                   	push   %esi
40d1a3:	8b f1                	mov    %ecx,%esi
40d1a5:	57                   	push   %edi
40d1a6:	bf 00 80 00 00       	mov    $0x8000,%edi
40d1ab:	8b 46 08             	mov    0x8(%esi),%eax
40d1ae:	8a 4e 31             	mov    0x31(%esi),%cl
40d1b1:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
40d1b5:	0f b6 d1             	movzbl %cl,%edx
40d1b8:	8b 00                	mov    (%eax),%eax
40d1ba:	8b 00                	mov    (%eax),%eax
40d1bc:	66 85 3c 50          	test   %di,(%eax,%edx,2)
40d1c0:	74 38                	je     0x40d1fa
40d1c2:	8d 46 18             	lea    0x18(%esi),%eax
40d1c5:	50                   	push   %eax
40d1c6:	51                   	push   %ecx
40d1c7:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
40d1cd:	e8 65 1c 00 00       	call   0x40ee37
40d1d2:	8b 4e 10             	mov    0x10(%esi),%ecx
40d1d5:	8a 01                	mov    (%ecx),%al
40d1d7:	88 46 31             	mov    %al,0x31(%esi)
40d1da:	8d 41 01             	lea    0x1(%ecx),%eax
40d1dd:	80 7e 31 00          	cmpb   $0x0,0x31(%esi)
40d1e1:	89 46 10             	mov    %eax,0x10(%esi)
40d1e4:	75 14                	jne    0x40d1fa
40d1e6:	e8 80 78 00 00       	call   0x414a6b
40d1eb:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40d1f1:	e8 ec ea ff ff       	call   0x40bce2
40d1f6:	32 c0                	xor    %al,%al
40d1f8:	eb 02                	jmp    0x40d1fc
40d1fa:	b0 01                	mov    $0x1,%al
40d1fc:	5f                   	pop    %edi
40d1fd:	5e                   	pop    %esi
40d1fe:	c2 04 00             	ret    $0x4
40d201:	80 79 31 2a          	cmpb   $0x2a,0x31(%ecx)
40d205:	74 0a                	je     0x40d211
40d207:	8d 41 28             	lea    0x28(%ecx),%eax
40d20a:	50                   	push   %eax
40d20b:	e8 3e f9 ff ff       	call   0x40cb4e
40d210:	c3                   	ret
40d211:	83 41 14 04          	addl   $0x4,0x14(%ecx)
40d215:	8b 41 14             	mov    0x14(%ecx),%eax
40d218:	8b 40 fc             	mov    -0x4(%eax),%eax
40d21b:	89 41 28             	mov    %eax,0x28(%ecx)
40d21e:	85 c0                	test   %eax,%eax
40d220:	79 04                	jns    0x40d226
40d222:	83 49 28 ff          	orl    $0xffffffff,0x28(%ecx)
40d226:	b0 01                	mov    $0x1,%al
40d228:	c3                   	ret
40d229:	80 79 31 2a          	cmpb   $0x2a,0x31(%ecx)
40d22d:	74 0a                	je     0x40d239
40d22f:	8d 41 28             	lea    0x28(%ecx),%eax
40d232:	50                   	push   %eax
40d233:	e8 72 f9 ff ff       	call   0x40cbaa
40d238:	c3                   	ret
40d239:	83 41 14 04          	addl   $0x4,0x14(%ecx)
40d23d:	8b 41 14             	mov    0x14(%ecx),%eax
40d240:	8b 40 fc             	mov    -0x4(%eax),%eax
40d243:	89 41 28             	mov    %eax,0x28(%ecx)
40d246:	85 c0                	test   %eax,%eax
40d248:	79 04                	jns    0x40d24e
40d24a:	83 49 28 ff          	orl    $0xffffffff,0x28(%ecx)
40d24e:	b0 01                	mov    $0x1,%al
40d250:	c3                   	ret
40d251:	66 83 79 32 2a       	cmpw   $0x2a,0x32(%ecx)
40d256:	74 0a                	je     0x40d262
40d258:	8d 41 28             	lea    0x28(%ecx),%eax
40d25b:	50                   	push   %eax
40d25c:	e8 a5 f9 ff ff       	call   0x40cc06
40d261:	c3                   	ret
40d262:	83 41 14 04          	addl   $0x4,0x14(%ecx)
40d266:	8b 41 14             	mov    0x14(%ecx),%eax
40d269:	8b 40 fc             	mov    -0x4(%eax),%eax
40d26c:	89 41 28             	mov    %eax,0x28(%ecx)
40d26f:	85 c0                	test   %eax,%eax
40d271:	79 04                	jns    0x40d277
40d273:	83 49 28 ff          	orl    $0xffffffff,0x28(%ecx)
40d277:	b0 01                	mov    $0x1,%al
40d279:	c3                   	ret
40d27a:	8a 41 31             	mov    0x31(%ecx),%al
40d27d:	3c 46                	cmp    $0x46,%al
40d27f:	75 1a                	jne    0x40d29b
40d281:	8b 01                	mov    (%ecx),%eax
40d283:	83 e0 08             	and    $0x8,%eax
40d286:	83 c8 00             	or     $0x0,%eax
40d289:	0f 85 51 01 00 00    	jne    0x40d3e0
40d28f:	c7 41 1c 07 00 00 00 	movl   $0x7,0x1c(%ecx)
40d296:	e9 2d 04 00 00       	jmp    0x40d6c8
40d29b:	3c 4e                	cmp    $0x4e,%al
40d29d:	75 26                	jne    0x40d2c5
40d29f:	8b 01                	mov    (%ecx),%eax
40d2a1:	6a 08                	push   $0x8
40d2a3:	5a                   	pop    %edx
40d2a4:	23 c2                	and    %edx,%eax
40d2a6:	83 c8 00             	or     $0x0,%eax
40d2a9:	0f 85 31 01 00 00    	jne    0x40d3e0
40d2af:	89 51 1c             	mov    %edx,0x1c(%ecx)
40d2b2:	e8 b4 77 00 00       	call   0x414a6b
40d2b7:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40d2bd:	e8 20 ea ff ff       	call   0x40bce2
40d2c2:	32 c0                	xor    %al,%al
40d2c4:	c3                   	ret
40d2c5:	83 79 2c 00          	cmpl   $0x0,0x2c(%ecx)
40d2c9:	75 e7                	jne    0x40d2b2
40d2cb:	0f be c0             	movsbl %al,%eax
40d2ce:	83 f8 6a             	cmp    $0x6a,%eax
40d2d1:	0f 8f be 00 00 00    	jg     0x40d395
40d2d7:	0f 84 af 00 00 00    	je     0x40d38c
40d2dd:	83 f8 49             	cmp    $0x49,%eax
40d2e0:	74 4f                	je     0x40d331
40d2e2:	83 f8 4c             	cmp    $0x4c,%eax
40d2e5:	74 3e                	je     0x40d325
40d2e7:	83 f8 54             	cmp    $0x54,%eax
40d2ea:	74 2d                	je     0x40d319
40d2ec:	83 f8 68             	cmp    $0x68,%eax
40d2ef:	0f 85 eb 00 00 00    	jne    0x40d3e0
40d2f5:	8b 41 10             	mov    0x10(%ecx),%eax
40d2f8:	80 38 68             	cmpb   $0x68,(%eax)
40d2fb:	75 10                	jne    0x40d30d
40d2fd:	40                   	inc    %eax
40d2fe:	c7 41 2c 01 00 00 00 	movl   $0x1,0x2c(%ecx)
40d305:	89 41 10             	mov    %eax,0x10(%ecx)
40d308:	e9 d3 00 00 00       	jmp    0x40d3e0
40d30d:	c7 41 2c 02 00 00 00 	movl   $0x2,0x2c(%ecx)
40d314:	e9 c7 00 00 00       	jmp    0x40d3e0
40d319:	c7 41 2c 0d 00 00 00 	movl   $0xd,0x2c(%ecx)
40d320:	e9 bb 00 00 00       	jmp    0x40d3e0
40d325:	c7 41 2c 08 00 00 00 	movl   $0x8,0x2c(%ecx)
40d32c:	e9 af 00 00 00       	jmp    0x40d3e0
40d331:	8b 51 10             	mov    0x10(%ecx),%edx
40d334:	8a 02                	mov    (%edx),%al
40d336:	3c 33                	cmp    $0x33,%al
40d338:	75 18                	jne    0x40d352
40d33a:	80 7a 01 32          	cmpb   $0x32,0x1(%edx)
40d33e:	75 12                	jne    0x40d352
40d340:	8d 42 02             	lea    0x2(%edx),%eax
40d343:	c7 41 2c 0a 00 00 00 	movl   $0xa,0x2c(%ecx)
40d34a:	89 41 10             	mov    %eax,0x10(%ecx)
40d34d:	e9 8e 00 00 00       	jmp    0x40d3e0
40d352:	3c 36                	cmp    $0x36,%al
40d354:	75 15                	jne    0x40d36b
40d356:	80 7a 01 34          	cmpb   $0x34,0x1(%edx)
40d35a:	75 0f                	jne    0x40d36b
40d35c:	8d 42 02             	lea    0x2(%edx),%eax
40d35f:	c7 41 2c 0b 00 00 00 	movl   $0xb,0x2c(%ecx)
40d366:	89 41 10             	mov    %eax,0x10(%ecx)
40d369:	eb 75                	jmp    0x40d3e0
40d36b:	3c 64                	cmp    $0x64,%al
40d36d:	74 14                	je     0x40d383
40d36f:	3c 69                	cmp    $0x69,%al
40d371:	74 10                	je     0x40d383
40d373:	3c 6f                	cmp    $0x6f,%al
40d375:	74 0c                	je     0x40d383
40d377:	3c 75                	cmp    $0x75,%al
40d379:	74 08                	je     0x40d383
40d37b:	3c 78                	cmp    $0x78,%al
40d37d:	74 04                	je     0x40d383
40d37f:	3c 58                	cmp    $0x58,%al
40d381:	75 5d                	jne    0x40d3e0
40d383:	c7 41 2c 09 00 00 00 	movl   $0x9,0x2c(%ecx)
40d38a:	eb 54                	jmp    0x40d3e0
40d38c:	c7 41 2c 05 00 00 00 	movl   $0x5,0x2c(%ecx)
40d393:	eb 4b                	jmp    0x40d3e0
40d395:	83 f8 6c             	cmp    $0x6c,%eax
40d398:	74 2a                	je     0x40d3c4
40d39a:	83 f8 74             	cmp    $0x74,%eax
40d39d:	74 1c                	je     0x40d3bb
40d39f:	83 f8 77             	cmp    $0x77,%eax
40d3a2:	74 0e                	je     0x40d3b2
40d3a4:	83 f8 7a             	cmp    $0x7a,%eax
40d3a7:	75 37                	jne    0x40d3e0
40d3a9:	c7 41 2c 06 00 00 00 	movl   $0x6,0x2c(%ecx)
40d3b0:	eb 2e                	jmp    0x40d3e0
40d3b2:	c7 41 2c 0c 00 00 00 	movl   $0xc,0x2c(%ecx)
40d3b9:	eb 25                	jmp    0x40d3e0
40d3bb:	c7 41 2c 07 00 00 00 	movl   $0x7,0x2c(%ecx)
40d3c2:	eb 1c                	jmp    0x40d3e0
40d3c4:	8b 41 10             	mov    0x10(%ecx),%eax