00401000 <.text>:
401000:	55                   	push   %ebp
401001:	8b ec                	mov    %esp,%ebp
401003:	56                   	push   %esi
401004:	8b 75 0c             	mov    0xc(%ebp),%esi
401007:	57                   	push   %edi
401008:	56                   	push   %esi
401009:	33 ff                	xor    %edi,%edi
40100b:	e8 40 76 01 00       	call   0x418650
401010:	83 c4 04             	add    $0x4,%esp
401013:	85 c0                	test   %eax,%eax
401015:	74 0a                	je     0x401021
401017:	66 83 3c 46 5c       	cmpw   $0x5c,(%esi,%eax,2)
40101c:	74 03                	je     0x401021
40101e:	48                   	dec    %eax
40101f:	75 f6                	jne    0x401017
401021:	48                   	dec    %eax
401022:	74 0b                	je     0x40102f
401024:	66 83 3c 46 5c       	cmpw   $0x5c,(%esi,%eax,2)
401029:	74 04                	je     0x40102f
40102b:	47                   	inc    %edi
40102c:	48                   	dec    %eax
40102d:	75 f5                	jne    0x401024
40102f:	85 c0                	test   %eax,%eax
401031:	74 19                	je     0x40104c
401033:	85 ff                	test   %edi,%edi
401035:	74 15                	je     0x40104c
401037:	8d 0c 3f             	lea    (%edi,%edi,1),%ecx
40103a:	51                   	push   %ecx
40103b:	8d 54 46 02          	lea    0x2(%esi,%eax,2),%edx
40103f:	8b 45 08             	mov    0x8(%ebp),%eax
401042:	52                   	push   %edx
401043:	50                   	push   %eax
401044:	e8 17 73 01 00       	call   0x418360
401049:	83 c4 0c             	add    $0xc,%esp
40104c:	5f                   	pop    %edi
40104d:	5e                   	pop    %esi
40104e:	5d                   	pop    %ebp
40104f:	c3                   	ret
401050:	55                   	push   %ebp
401051:	8b ec                	mov    %esp,%ebp
401053:	83 ec 30             	sub    $0x30,%esp
401056:	32 c0                	xor    %al,%al
401058:	56                   	push   %esi
401059:	8b 75 0c             	mov    0xc(%ebp),%esi
40105c:	88 45 ec             	mov    %al,-0x14(%ebp)
40105f:	88 45 fc             	mov    %al,-0x4(%ebp)
401062:	88 45 f4             	mov    %al,-0xc(%ebp)
401065:	6a 02                	push   $0x2
401067:	8d 45 f8             	lea    -0x8(%ebp),%eax
40106a:	50                   	push   %eax
40106b:	56                   	push   %esi
40106c:	c7 45 e8 38 00 00 00 	movl   $0x38,-0x18(%ebp)
401073:	c7 45 f8 31 30 00 00 	movl   $0x3031,-0x8(%ebp)
40107a:	c7 45 d8 32 30 31 32 	movl   $0x32313032,-0x28(%ebp)
401081:	66 c7 45 dc 00 00    	movw   $0x0,-0x24(%ebp)
401087:	c7 45 d0 32 30 31 36 	movl   $0x36313032,-0x30(%ebp)
40108e:	66 c7 45 d4 00 00    	movw   $0x0,-0x2c(%ebp)
401094:	c7 45 f0 37 00 00 00 	movl   $0x37,-0x10(%ebp)
40109b:	c7 45 e0 32 30 30 38 	movl   $0x38303032,-0x20(%ebp)
4010a2:	66 c7 45 e4 00 00    	movw   $0x0,-0x1c(%ebp)
4010a8:	e8 f3 79 01 00       	call   0x418aa0
4010ad:	83 c4 0c             	add    $0xc,%esp
4010b0:	85 c0                	test   %eax,%eax
4010b2:	74 0a                	je     0x4010be
4010b4:	8b 4d 08             	mov    0x8(%ebp),%ecx
4010b7:	c7 41 64 01 00 00 00 	movl   $0x1,0x64(%ecx)
4010be:	6a 01                	push   $0x1
4010c0:	8d 55 f0             	lea    -0x10(%ebp),%edx
4010c3:	52                   	push   %edx
4010c4:	56                   	push   %esi
4010c5:	e8 d6 79 01 00       	call   0x418aa0
4010ca:	83 c4 0c             	add    $0xc,%esp
4010cd:	85 c0                	test   %eax,%eax
4010cf:	75 6e                	jne    0x40113f
4010d1:	6a 04                	push   $0x4
4010d3:	8d 45 e0             	lea    -0x20(%ebp),%eax
4010d6:	50                   	push   %eax
4010d7:	56                   	push   %esi
4010d8:	e8 c3 79 01 00       	call   0x418aa0
4010dd:	83 c4 0c             	add    $0xc,%esp
4010e0:	85 c0                	test   %eax,%eax
4010e2:	75 5b                	jne    0x40113f
4010e4:	6a 01                	push   $0x1
4010e6:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4010e9:	51                   	push   %ecx
4010ea:	56                   	push   %esi
4010eb:	e8 b0 79 01 00       	call   0x418aa0
4010f0:	83 c4 0c             	add    $0xc,%esp
4010f3:	85 c0                	test   %eax,%eax
4010f5:	75 3e                	jne    0x401135
4010f7:	6a 02                	push   $0x2
4010f9:	8d 55 f8             	lea    -0x8(%ebp),%edx
4010fc:	52                   	push   %edx
4010fd:	56                   	push   %esi
4010fe:	e8 9d 79 01 00       	call   0x418aa0
401103:	83 c4 0c             	add    $0xc,%esp
401106:	85 c0                	test   %eax,%eax
401108:	75 2b                	jne    0x401135
40110a:	6a 04                	push   $0x4
40110c:	8d 45 d8             	lea    -0x28(%ebp),%eax
40110f:	50                   	push   %eax
401110:	56                   	push   %esi
401111:	e8 8a 79 01 00       	call   0x418aa0
401116:	83 c4 0c             	add    $0xc,%esp
401119:	85 c0                	test   %eax,%eax
40111b:	75 18                	jne    0x401135
40111d:	6a 04                	push   $0x4
40111f:	8d 4d d0             	lea    -0x30(%ebp),%ecx
401122:	51                   	push   %ecx
401123:	56                   	push   %esi
401124:	e8 77 79 01 00       	call   0x418aa0
401129:	83 c4 0c             	add    $0xc,%esp
40112c:	85 c0                	test   %eax,%eax
40112e:	75 05                	jne    0x401135
401130:	5e                   	pop    %esi
401131:	8b e5                	mov    %ebp,%esp
401133:	5d                   	pop    %ebp
401134:	c3                   	ret
401135:	b8 08 00 00 00       	mov    $0x8,%eax
40113a:	5e                   	pop    %esi
40113b:	8b e5                	mov    %ebp,%esp
40113d:	5d                   	pop    %ebp
40113e:	c3                   	ret
40113f:	b8 07 00 00 00       	mov    $0x7,%eax
401144:	5e                   	pop    %esi
401145:	8b e5                	mov    %ebp,%esp
401147:	5d                   	pop    %ebp
401148:	c3                   	ret
401149:	94                   	xchg   %eax,%esp
40114a:	02 ea                	add    %dl,%ch
40114c:	4a                   	dec    %edx
40114d:	d2 71 5f             	shlb   %cl,0x5f(%ecx)
401150:	55                   	push   %ebp
401151:	8b ec                	mov    %esp,%ebp
401153:	83 ec 58             	sub    $0x58,%esp
401156:	53                   	push   %ebx
401157:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40115a:	85 db                	test   %ebx,%ebx
40115c:	0f 84 3c 03 00 00    	je     0x40149e
401162:	81 fb 00 40 1f 00    	cmp    $0x1f4000,%ebx
401168:	0f 87 30 03 00 00    	ja     0x40149e
40116e:	56                   	push   %esi
40116f:	57                   	push   %edi
401170:	8b 7d 08             	mov    0x8(%ebp),%edi
401173:	8b b7 d8 07 00 00    	mov    0x7d8(%edi),%esi
401179:	6a 38                	push   $0x38
40117b:	8d 45 b0             	lea    -0x50(%ebp),%eax
40117e:	6a 00                	push   $0x0
401180:	50                   	push   %eax
401181:	c7 45 a8 32 30 30 20 	movl   $0x20303032,-0x58(%ebp)
401188:	c7 45 ac 4f 4b 0d 00 	movl   $0xd4b4f,-0x54(%ebp)
40118f:	e8 4c 72 01 00       	call   0x4183e0
401194:	6a 06                	push   $0x6
401196:	8d 8e 31 74 00 00    	lea    0x7431(%esi),%ecx
40119c:	51                   	push   %ecx
40119d:	8d 55 a8             	lea    -0x58(%ebp),%edx
4011a0:	52                   	push   %edx
4011a1:	e8 ca 74 01 00       	call   0x418670
4011a6:	83 c4 18             	add    $0x18,%esp
4011a9:	85 c0                	test   %eax,%eax
4011ab:	0f 84 fc 01 00 00    	je     0x4013ad
4011b1:	33 c0                	xor    %eax,%eax
4011b3:	8d 53 fc             	lea    -0x4(%ebx),%edx
4011b6:	89 45 f4             	mov    %eax,-0xc(%ebp)
4011b9:	3b d0                	cmp    %eax,%edx
4011bb:	0f 86 ec 01 00 00    	jbe    0x4013ad
4011c1:	8b 8c 30 28 74 00 00 	mov    0x7428(%eax,%esi,1),%ecx
4011c8:	81 f9 46 42 4e 47    	cmp    $0x474e4246,%ecx
4011ce:	74 16                	je     0x4011e6
4011d0:	3b 8f 94 0b 00 00    	cmp    0xb94(%edi),%ecx
4011d6:	74 0e                	je     0x4011e6
4011d8:	40                   	inc    %eax
4011d9:	3b c2                	cmp    %edx,%eax
4011db:	72 e4                	jb     0x4011c1
4011dd:	5f                   	pop    %edi
4011de:	5e                   	pop    %esi
4011df:	33 c0                	xor    %eax,%eax
4011e1:	5b                   	pop    %ebx
4011e2:	8b e5                	mov    %ebp,%esp
4011e4:	5d                   	pop    %ebp
4011e5:	c3                   	ret
4011e6:	8d 9c 30 2c 74 00 00 	lea    0x742c(%eax,%esi,1),%ebx
4011ed:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4011f0:	85 db                	test   %ebx,%ebx
4011f2:	0f 84 b5 01 00 00    	je     0x4013ad
4011f8:	8b 03                	mov    (%ebx),%eax
4011fa:	25 46 42 43 00       	and    $0x434246,%eax
4011ff:	3d 46 42 43 00       	cmp    $0x434246,%eax
401204:	75 12                	jne    0x401218
401206:	57                   	push   %edi
401207:	e8 34 12 00 00       	call   0x402440
40120c:	83 c4 04             	add    $0x4,%esp
40120f:	5f                   	pop    %edi
401210:	5e                   	pop    %esi
401211:	33 c0                	xor    %eax,%eax
401213:	5b                   	pop    %ebx
401214:	8b e5                	mov    %ebp,%esp
401216:	5d                   	pop    %ebp
401217:	c3                   	ret
401218:	8a 03                	mov    (%ebx),%al
40121a:	3c 31                	cmp    $0x31,%al
40121c:	0f 82 70 02 00 00    	jb     0x401492
401222:	3c 39                	cmp    $0x39,%al
401224:	0f 87 68 02 00 00    	ja     0x401492
40122a:	8b 55 0c             	mov    0xc(%ebp),%edx
40122d:	8d 8e 00 20 00 00    	lea    0x2000(%esi),%ecx
401233:	2b cb                	sub    %ebx,%ecx
401235:	8d 84 11 27 54 00 00 	lea    0x5427(%ecx,%edx,1),%eax
40123c:	50                   	push   %eax
40123d:	89 45 fc             	mov    %eax,-0x4(%ebp)
401240:	8b 87 38 0b 00 00    	mov    0xb38(%edi),%eax
401246:	50                   	push   %eax
401247:	e8 44 71 01 00       	call   0x418390
40124c:	8b 87 38 0b 00 00    	mov    0xb38(%edi),%eax
401252:	33 d2                	xor    %edx,%edx
401254:	83 c4 08             	add    $0x8,%esp
401257:	39 55 fc             	cmp    %edx,-0x4(%ebp)
40125a:	76 5c                	jbe    0x4012b8
40125c:	89 45 0c             	mov    %eax,0xc(%ebp)
40125f:	90                   	nop
401260:	8a 44 1a 01          	mov    0x1(%edx,%ebx,1),%al
401264:	8d 4c 1a 01          	lea    0x1(%edx,%ebx,1),%ecx
401268:	3c 0d                	cmp    $0xd,%al
40126a:	75 3d                	jne    0x4012a9
40126c:	80 7c 1a 02 0a       	cmpb   $0xa,0x2(%edx,%ebx,1)
401271:	75 36                	jne    0x4012a9
401273:	b8 03 00 00 00       	mov    $0x3,%eax
401278:	8d 58 07             	lea    0x7(%eax),%ebx
40127b:	eb 03                	jmp    0x401280
40127d:	8d 49 00             	lea    0x0(%ecx),%ecx
401280:	80 3c 01 0d          	cmpb   $0xd,(%ecx,%eax,1)
401284:	75 06                	jne    0x40128c
401286:	38 5c 01 01          	cmp    %bl,0x1(%ecx,%eax,1)
40128a:	74 14                	je     0x4012a0
40128c:	40                   	inc    %eax
40128d:	3b c3                	cmp    %ebx,%eax
40128f:	72 ef                	jb     0x401280
401291:	8b 45 0c             	mov    0xc(%ebp),%eax
401294:	8b 5d f8             	mov    -0x8(%ebp),%ebx
401297:	c6 00 0d             	movb   $0xd,(%eax)
40129a:	40                   	inc    %eax
40129b:	89 45 0c             	mov    %eax,0xc(%ebp)
40129e:	eb 12                	jmp    0x4012b2
4012a0:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4012a3:	8d 54 02 02          	lea    0x2(%edx,%eax,1),%edx
4012a7:	eb 0a                	jmp    0x4012b3
4012a9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4012ac:	88 01                	mov    %al,(%ecx)
4012ae:	41                   	inc    %ecx
4012af:	89 4d 0c             	mov    %ecx,0xc(%ebp)
4012b2:	42                   	inc    %edx
4012b3:	3b 55 fc             	cmp    -0x4(%ebp),%edx
4012b6:	72 a8                	jb     0x401260
4012b8:	8b 55 fc             	mov    -0x4(%ebp),%edx
4012bb:	8b 87 38 0b 00 00    	mov    0xb38(%edi),%eax
4012c1:	8d 8e 08 6c 00 00    	lea    0x6c08(%esi),%ecx
4012c7:	51                   	push   %ecx
4012c8:	52                   	push   %edx
4012c9:	50                   	push   %eax
4012ca:	e8 71 6e 00 00       	call   0x408140
4012cf:	8a 0b                	mov    (%ebx),%cl
4012d1:	83 c4 0c             	add    $0xc,%esp
4012d4:	80 f9 33             	cmp    $0x33,%cl
4012d7:	75 45                	jne    0x40131e
4012d9:	8b 8f 38 0b 00 00    	mov    0xb38(%edi),%ecx
4012df:	81 39 46 42 4e 47    	cmpl   $0x474e4246,(%ecx)
4012e5:	75 2e                	jne    0x401315
4012e7:	57                   	push   %edi
4012e8:	c7 86 84 68 00 00 01 	movl   $0x1,0x6884(%esi)
4012ef:	00 00 00
4012f2:	e8 e9 0a 00 00       	call   0x401de0
4012f7:	8b 97 54 0b 00 00    	mov    0xb54(%edi),%edx
4012fd:	6a 01                	push   $0x1
4012ff:	52                   	push   %edx
401300:	8d 45 0c             	lea    0xc(%ebp),%eax
401303:	50                   	push   %eax
401304:	57                   	push   %edi
401305:	e8 76 95 00 00       	call   0x40a880
40130a:	6a 00                	push   $0x0
40130c:	57                   	push   %edi
40130d:	e8 fe 5b 01 00       	call   0x416f10
401312:	83 c4 1c             	add    $0x1c,%esp
401315:	5f                   	pop    %edi
401316:	5e                   	pop    %esi
401317:	33 c0                	xor    %eax,%eax
401319:	5b                   	pop    %ebx
40131a:	8b e5                	mov    %ebp,%esp
40131c:	5d                   	pop    %ebp
40131d:	c3                   	ret
40131e:	80 f9 35             	cmp    $0x35,%cl
401321:	75 20                	jne    0x401343
401323:	8b 8f 38 0b 00 00    	mov    0xb38(%edi),%ecx
401329:	81 39 46 42 4e 47    	cmpl   $0x474e4246,(%ecx)
40132f:	75 7c                	jne    0x4013ad
401331:	57                   	push   %edi
401332:	e8 79 13 00 00       	call   0x4026b0
401337:	83 c4 04             	add    $0x4,%esp
40133a:	5f                   	pop    %edi
40133b:	5e                   	pop    %esi
40133c:	33 c0                	xor    %eax,%eax
40133e:	5b                   	pop    %ebx
40133f:	8b e5                	mov    %ebp,%esp
401341:	5d                   	pop    %ebp
401342:	c3                   	ret
401343:	80 f9 36             	cmp    $0x36,%cl
401346:	75 22                	jne    0x40136a
401348:	8b 97 38 0b 00 00    	mov    0xb38(%edi),%edx
40134e:	81 3a 46 42 4e 47    	cmpl   $0x474e4246,(%edx)
401354:	75 32                	jne    0x401388
401356:	6a 12                	push   $0x12
401358:	57                   	push   %edi
401359:	e8 92 0b 00 00       	call   0x401ef0
40135e:	83 c4 08             	add    $0x8,%esp
401361:	5f                   	pop    %edi
401362:	5e                   	pop    %esi
401363:	33 c0                	xor    %eax,%eax
401365:	5b                   	pop    %ebx
401366:	8b e5                	mov    %ebp,%esp
401368:	5d                   	pop    %ebp
401369:	c3                   	ret
40136a:	80 f9 37             	cmp    $0x37,%cl
40136d:	75 22                	jne    0x401391
40136f:	8b 87 38 0b 00 00    	mov    0xb38(%edi),%eax
401375:	81 38 46 42 4e 47    	cmpl   $0x474e4246,(%eax)
40137b:	75 0b                	jne    0x401388
40137d:	6a 18                	push   $0x18
40137f:	57                   	push   %edi
401380:	e8 6b 0b 00 00       	call   0x401ef0
401385:	83 c4 08             	add    $0x8,%esp
401388:	5f                   	pop    %edi
401389:	5e                   	pop    %esi
40138a:	33 c0                	xor    %eax,%eax
40138c:	5b                   	pop    %ebx
40138d:	8b e5                	mov    %ebp,%esp
40138f:	5d                   	pop    %ebp
401390:	c3                   	ret
401391:	80 f9 38             	cmp    $0x38,%cl
401394:	75 20                	jne    0x4013b6
401396:	8b 8f 38 0b 00 00    	mov    0xb38(%edi),%ecx
40139c:	81 39 46 42 4e 47    	cmpl   $0x474e4246,(%ecx)
4013a2:	75 09                	jne    0x4013ad
4013a4:	57                   	push   %edi
4013a5:	e8 86 0e 00 00       	call   0x402230
4013aa:	83 c4 04             	add    $0x4,%esp
4013ad:	5f                   	pop    %edi
4013ae:	5e                   	pop    %esi
4013af:	33 c0                	xor    %eax,%eax
4013b1:	5b                   	pop    %ebx
4013b2:	8b e5                	mov    %ebp,%esp