4011e5:	8b 7e 04             	mov    0x4(%esi),%edi
4011e8:	8b c8                	mov    %eax,%ecx
4011ea:	c1 e9 02             	shr    $0x2,%ecx
4011ed:	8d 44 01 20          	lea    0x20(%ecx,%eax,1),%eax
4011f1:	3b f8                	cmp    %eax,%edi
4011f3:	77 02                	ja     0x4011f7
4011f5:	8b f8                	mov    %eax,%edi
4011f7:	8d 04 3f             	lea    (%edi,%edi,1),%eax
4011fa:	50                   	push   %eax
4011fb:	ff 36                	push   (%esi)
4011fd:	e8 6e 8d 01 00       	call   0x419f70
401202:	8b d8                	mov    %eax,%ebx
401204:	59                   	pop    %ecx
401205:	59                   	pop    %ecx
401206:	85 db                	test   %ebx,%ebx
401208:	75 07                	jne    0x401211
40120a:	8b cd                	mov    %ebp,%ecx
40120c:	e8 f7 52 00 00       	call   0x406508
401211:	89 7e 08             	mov    %edi,0x8(%esi)
401214:	5f                   	pop    %edi
401215:	5d                   	pop    %ebp
401216:	89 1e                	mov    %ebx,(%esi)
401218:	5b                   	pop    %ebx
401219:	5e                   	pop    %esi
40121a:	c2 04 00             	ret    $0x4
40121d:	81 c1 20 10 00 00    	add    $0x1020,%ecx
401223:	e9 e7 13 01 00       	jmp    0x41260f
401228:	b8 07 91 42 00       	mov    $0x429107,%eax
40122d:	e8 86 8c 01 00       	call   0x419eb8
401232:	51                   	push   %ecx
401233:	56                   	push   %esi
401234:	8b f1                	mov    %ecx,%esi
401236:	89 75 f0             	mov    %esi,-0x10(%ebp)
401239:	c7 06 48 a4 42 00    	movl   $0x42a448,(%esi)
40123f:	80 be 00 57 00 00 00 	cmpb   $0x0,0x5700(%esi)
401246:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
40124d:	74 1a                	je     0x401269
40124f:	57                   	push   %edi
401250:	8b be 04 57 00 00    	mov    0x5704(%esi),%edi
401256:	85 ff                	test   %edi,%edi
401258:	74 0e                	je     0x401268
40125a:	8b cf                	mov    %edi,%ecx
40125c:	e8 ad 8c 00 00       	call   0x409f0e
401261:	57                   	push   %edi
401262:	e8 70 8c 01 00       	call   0x419ed7
401267:	59                   	pop    %ecx
401268:	5f                   	pop    %edi
401269:	8d 8e 28 8b 00 00    	lea    0x8b28(%esi),%ecx
40126f:	e8 9b 13 01 00       	call   0x41260f
401274:	8d 8e e8 67 00 00    	lea    0x67e8(%esi),%ecx
40127a:	e8 90 13 01 00       	call   0x41260f
40127f:	8d 8e 30 1c 00 00    	lea    0x1c30(%esi),%ecx
401285:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
401289:	e8 73 fd ff ff       	call   0x401001
40128e:	8d 8e 24 10 00 00    	lea    0x1024(%esi),%ecx
401294:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
401298:	e8 42 4d 00 00       	call   0x405fdf
40129d:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4012a1:	8b ce                	mov    %esi,%ecx
4012a3:	e8 62 79 00 00       	call   0x408c0a
4012a8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4012ab:	5e                   	pop    %esi
4012ac:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4012b3:	c9                   	leave
4012b4:	c3                   	ret
4012b5:	56                   	push   %esi
4012b6:	6a 01                	push   $0x1
4012b8:	8b f1                	mov    %ecx,%esi
4012ba:	e8 47 fe ff ff       	call   0x401106
4012bf:	8b 46 04             	mov    0x4(%esi),%eax
4012c2:	8b 0e                	mov    (%esi),%ecx
4012c4:	8a 54 24 08          	mov    0x8(%esp),%dl
4012c8:	88 54 08 ff          	mov    %dl,-0x1(%eax,%ecx,1)
4012cc:	5e                   	pop    %esi
4012cd:	c2 04 00             	ret    $0x4
4012d0:	56                   	push   %esi
4012d1:	ff 74 24 08          	push   0x8(%esp)
4012d5:	8b f1                	mov    %ecx,%esi
4012d7:	33 c0                	xor    %eax,%eax
4012d9:	89 06                	mov    %eax,(%esi)
4012db:	89 46 04             	mov    %eax,0x4(%esi)
4012de:	89 46 08             	mov    %eax,0x8(%esi)
4012e1:	89 46 0c             	mov    %eax,0xc(%esi)
4012e4:	e8 1d fe ff ff       	call   0x401106
4012e9:	8b c6                	mov    %esi,%eax
4012eb:	5e                   	pop    %esi
4012ec:	c2 04 00             	ret    $0x4
4012ef:	8b 44 24 04          	mov    0x4(%esp),%eax
4012f3:	3b 41 08             	cmp    0x8(%ecx),%eax
4012f6:	76 0b                	jbe    0x401303
4012f8:	2b 41 04             	sub    0x4(%ecx),%eax
4012fb:	50                   	push   %eax
4012fc:	e8 a6 fe ff ff       	call   0x4011a7
401301:	eb 03                	jmp    0x401306
401303:	89 41 04             	mov    %eax,0x4(%ecx)
401306:	c2 04 00             	ret    $0x4
401309:	b8 19 91 42 00       	mov    $0x429119,%eax
40130e:	e8 a5 8b 01 00       	call   0x419eb8
401313:	83 ec 10             	sub    $0x10,%esp
401316:	53                   	push   %ebx
401317:	56                   	push   %esi
401318:	33 f6                	xor    %esi,%esi
40131a:	8b d9                	mov    %ecx,%ebx
40131c:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40131f:	89 75 e8             	mov    %esi,-0x18(%ebp)
401322:	89 75 ec             	mov    %esi,-0x14(%ebp)
401325:	89 75 f0             	mov    %esi,-0x10(%ebp)
401328:	56                   	push   %esi
401329:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40132c:	50                   	push   %eax
40132d:	89 75 fc             	mov    %esi,-0x4(%ebp)
401330:	e8 bf 18 00 00       	call   0x402bf4
401335:	84 c0                	test   %al,%al
401337:	75 15                	jne    0x40134e
401339:	39 75 e4             	cmp    %esi,-0x1c(%ebp)
40133c:	74 09                	je     0x401347
40133e:	ff 75 e4             	push   -0x1c(%ebp)
401341:	e8 9c 8b 01 00       	call   0x419ee2
401346:	59                   	pop    %ecx
401347:	32 c0                	xor    %al,%al
401349:	e9 82 00 00 00       	jmp    0x4013d0
40134e:	57                   	push   %edi
40134f:	8b 7d e8             	mov    -0x18(%ebp),%edi
401352:	56                   	push   %esi
401353:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
401356:	e8 5a ff ff ff       	call   0x4012b5
40135b:	8b 75 08             	mov    0x8(%ebp),%esi
40135e:	8d 47 01             	lea    0x1(%edi),%eax
401361:	50                   	push   %eax
401362:	8b ce                	mov    %esi,%ecx
401364:	e8 86 ff ff ff       	call   0x4012ef
401369:	83 bb 30 a2 00 00 03 	cmpl   $0x3,0xa230(%ebx)
401370:	75 0f                	jne    0x401381
401372:	ff 76 04             	push   0x4(%esi)
401375:	ff 36                	push   (%esi)
401377:	ff 75 e4             	push   -0x1c(%ebp)
40137a:	e8 8a 05 01 00       	call   0x411909
40137f:	eb 2d                	jmp    0x4013ae
401381:	f6 83 24 7b 00 00 01 	testb  $0x1,0x7b24(%ebx)
401388:	74 17                	je     0x4013a1
40138a:	d1 ef                	shr    $1,%edi
40138c:	57                   	push   %edi
40138d:	ff 36                	push   (%esi)
40138f:	ff 75 e4             	push   -0x1c(%ebp)
401392:	e8 48 04 01 00       	call   0x4117df
401397:	8b 06                	mov    (%esi),%eax
401399:	33 c9                	xor    %ecx,%ecx
40139b:	66 89 0c 78          	mov    %cx,(%eax,%edi,2)
40139f:	eb 0d                	jmp    0x4013ae
4013a1:	ff 76 04             	push   0x4(%esi)
4013a4:	ff 36                	push   (%esi)
4013a6:	ff 75 e4             	push   -0x1c(%ebp)
4013a9:	e8 c6 03 01 00       	call   0x411774
4013ae:	ff 36                	push   (%esi)
4013b0:	e8 d6 8d 01 00       	call   0x41a18b
4013b5:	59                   	pop    %ecx
4013b6:	50                   	push   %eax
4013b7:	8b ce                	mov    %esi,%ecx
4013b9:	e8 31 ff ff ff       	call   0x4012ef
4013be:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
4013c2:	5f                   	pop    %edi
4013c3:	74 09                	je     0x4013ce
4013c5:	ff 75 e4             	push   -0x1c(%ebp)
4013c8:	e8 15 8b 01 00       	call   0x419ee2
4013cd:	59                   	pop    %ecx
4013ce:	b0 01                	mov    $0x1,%al
4013d0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4013d3:	5e                   	pop    %esi
4013d4:	5b                   	pop    %ebx
4013d5:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4013dc:	c9                   	leave
4013dd:	c2 04 00             	ret    $0x4
4013e0:	56                   	push   %esi
4013e1:	8b f1                	mov    %ecx,%esi
4013e3:	e8 40 fe ff ff       	call   0x401228
4013e8:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
4013ed:	74 07                	je     0x4013f6
4013ef:	56                   	push   %esi
4013f0:	e8 e2 8a 01 00       	call   0x419ed7
4013f5:	59                   	pop    %ecx
4013f6:	8b c6                	mov    %esi,%eax
4013f8:	5e                   	pop    %esi
4013f9:	c2 04 00             	ret    $0x4
4013fc:	33 d2                	xor    %edx,%edx
4013fe:	8b c1                	mov    %ecx,%eax
401400:	8d 88 20 10 00 00    	lea    0x1020(%eax),%ecx
401406:	89 11                	mov    %edx,(%ecx)
401408:	89 51 04             	mov    %edx,0x4(%ecx)
40140b:	89 51 08             	mov    %edx,0x8(%ecx)
40140e:	89 51 0c             	mov    %edx,0xc(%ecx)
401411:	89 90 30 10 00 00    	mov    %edx,0x1030(%eax)
401417:	89 90 34 10 00 00    	mov    %edx,0x1034(%eax)
40141d:	89 90 38 10 00 00    	mov    %edx,0x1038(%eax)
401423:	89 90 3c 10 00 00    	mov    %edx,0x103c(%eax)
401429:	89 90 40 10 00 00    	mov    %edx,0x1040(%eax)
40142f:	89 90 44 10 00 00    	mov    %edx,0x1044(%eax)
401435:	c3                   	ret
401436:	b8 33 91 42 00       	mov    $0x429133,%eax
40143b:	e8 78 8a 01 00       	call   0x419eb8
401440:	83 ec 28             	sub    $0x28,%esp
401443:	53                   	push   %ebx
401444:	56                   	push   %esi
401445:	8b f1                	mov    %ecx,%esi
401447:	8b 06                	mov    (%esi),%eax
401449:	57                   	push   %edi
40144a:	6a 07                	push   $0x7
40144c:	33 db                	xor    %ebx,%ebx
40144e:	8d be 40 57 00 00    	lea    0x5740(%esi),%edi
401454:	57                   	push   %edi
401455:	88 9e 3c a2 00 00    	mov    %bl,0xa23c(%esi)
40145b:	88 9e 44 a2 00 00    	mov    %bl,0xa244(%esi)
401461:	ff 50 08             	call   *0x8(%eax)
401464:	83 f8 07             	cmp    $0x7,%eax
401467:	74 07                	je     0x401470
401469:	32 c0                	xor    %al,%al
40146b:	e9 ed 02 00 00       	jmp    0x40175d
401470:	6a 07                	push   $0x7
401472:	57                   	push   %edi
401473:	8b ce                	mov    %esi,%ecx
401475:	89 9e 40 a2 00 00    	mov    %ebx,0xa240(%esi)
40147b:	e8 ea fb ff ff       	call   0x40106a
401480:	3b c3                	cmp    %ebx,%eax
401482:	74 28                	je     0x4014ac
401484:	89 86 30 a2 00 00    	mov    %eax,0xa230(%esi)
40148a:	83 f8 01             	cmp    $0x1,%eax
40148d:	0f 85 11 01 00 00    	jne    0x4015a4
401493:	8b 3e                	mov    (%esi),%edi
401495:	53                   	push   %ebx
401496:	8b ce                	mov    %esi,%ecx
401498:	ff 57 10             	call   *0x10(%edi)
40149b:	83 e8 07             	sub    $0x7,%eax
40149e:	1b d3                	sbb    %ebx,%edx
4014a0:	52                   	push   %edx
4014a1:	50                   	push   %eax
4014a2:	8b ce                	mov    %esi,%ecx
4014a4:	ff 57 0c             	call   *0xc(%edi)
4014a7:	e9 f8 00 00 00       	jmp    0x4015a4
4014ac:	68 00 00 10 00       	push   $0x100000
4014b1:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4014b4:	e8 17 fe ff ff       	call   0x4012d0
4014b9:	8b 06                	mov    (%esi),%eax
4014bb:	8b ce                	mov    %esi,%ecx
4014bd:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4014c0:	ff 50 10             	call   *0x10(%eax)
4014c3:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4014c6:	83 c1 f0             	add    $0xfffffff0,%ecx
4014c9:	51                   	push   %ecx
4014ca:	ff 75 dc             	push   -0x24(%ebp)
4014cd:	8b f8                	mov    %eax,%edi
4014cf:	8b 06                	mov    (%esi),%eax
4014d1:	8b ce                	mov    %esi,%ecx
4014d3:	ff 50 08             	call   *0x8(%eax)
4014d6:	33 d2                	xor    %edx,%edx
4014d8:	3b c3                	cmp    %ebx,%eax
4014da:	89 45 f0             	mov    %eax,-0x10(%ebp)
4014dd:	0f 8e 90 00 00 00    	jle    0x401573
4014e3:	8b 45 dc             	mov    -0x24(%ebp),%eax
4014e6:	03 c2                	add    %edx,%eax
4014e8:	80 38 52             	cmpb   $0x52,(%eax)
4014eb:	75 4b                	jne    0x401538
4014ed:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4014f0:	2b ca                	sub    %edx,%ecx
4014f2:	51                   	push   %ecx
4014f3:	50                   	push   %eax
4014f4:	8b ce                	mov    %esi,%ecx
4014f6:	e8 6f fb ff ff       	call   0x40106a
4014fb:	3b c3                	cmp    %ebx,%eax
4014fd:	74 39                	je     0x401538
4014ff:	89 86 30 a2 00 00    	mov    %eax,0xa230(%esi)
401505:	83 f8 01             	cmp    $0x1,%eax
401508:	75 36                	jne    0x401540
40150a:	3b d3                	cmp    %ebx,%edx
40150c:	7e 32                	jle    0x401540
40150e:	83 ff 1c             	cmp    $0x1c,%edi
401511:	7d 2d                	jge    0x401540
401513:	83 7d f0 1f          	cmpl   $0x1f,-0x10(%ebp)
401517:	7e 27                	jle    0x401540
401519:	8b 45 dc             	mov    -0x24(%ebp),%eax
40151c:	2b c7                	sub    %edi,%eax
40151e:	83 c0 1c             	add    $0x1c,%eax
401521:	80 38 52             	cmpb   $0x52,(%eax)
401524:	75 12                	jne    0x401538
401526:	80 78 01 53          	cmpb   $0x53,0x1(%eax)
40152a:	75 0c                	jne    0x401538
40152c:	80 78 02 46          	cmpb   $0x46,0x2(%eax)
401530:	75 06                	jne    0x401538
401532:	80 78 03 58          	cmpb   $0x58,0x3(%eax)
401536:	74 08                	je     0x401540
401538:	42                   	inc    %edx
401539:	3b 55 f0             	cmp    -0x10(%ebp),%edx
40153c:	7c a5                	jl     0x4014e3
40153e:	eb 33                	jmp    0x401573
401540:	53                   	push   %ebx
401541:	8d 04 3a             	lea    (%edx,%edi,1),%eax
401544:	8b 16                	mov    (%esi),%edx
401546:	53                   	push   %ebx
401547:	50                   	push   %eax
401548:	8b ce                	mov    %esi,%ecx
40154a:	89 86 40 a2 00 00    	mov    %eax,0xa240(%esi)
401550:	ff 52 0c             	call   *0xc(%edx)
401553:	8b 86 30 a2 00 00    	mov    0xa230(%esi),%eax
401559:	83 f8 02             	cmp    $0x2,%eax
40155c:	74 05                	je     0x401563
40155e:	83 f8 03             	cmp    $0x3,%eax
401561:	75 10                	jne    0x401573
401563:	8b 16                	mov    (%esi),%edx
401565:	6a 07                	push   $0x7
401567:	8d 86 40 57 00 00    	lea    0x5740(%esi),%eax
40156d:	50                   	push   %eax
40156e:	8b ce                	mov    %esi,%ecx
401570:	ff 52 08             	call   *0x8(%edx)
401573:	39 9e 40 a2 00 00    	cmp    %ebx,0xa240(%esi)
401579:	75 17                	jne    0x401592
40157b:	39 5d dc             	cmp    %ebx,-0x24(%ebp)
40157e:	0f 84 e5 fe ff ff    	je     0x401469
401584:	ff 75 dc             	push   -0x24(%ebp)
401587:	e8 56 89 01 00       	call   0x419ee2
40158c:	59                   	pop    %ecx
40158d:	e9 d7 fe ff ff       	jmp    0x401469
401592:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
401596:	39 5d dc             	cmp    %ebx,-0x24(%ebp)
401599:	74 09                	je     0x4015a4
40159b:	ff 75 dc             	push   -0x24(%ebp)
40159e:	e8 3f 89 01 00       	call   0x419ee2
4015a3:	59                   	pop    %ecx
4015a4:	8b 86 30 a2 00 00    	mov    0xa230(%esi),%eax
4015aa:	83 f8 04             	cmp    $0x4,%eax
4015ad:	75 10                	jne    0x4015bf
4015af:	83 c6 1e             	add    $0x1e,%esi
4015b2:	56                   	push   %esi
4015b3:	6a 3b                	push   $0x3b
4015b5:	e8 f6 4e 00 00       	call   0x4064b0
4015ba:	e9 aa fe ff ff       	jmp    0x401469
4015bf:	83 f8 03             	cmp    $0x3,%eax
4015c2:	75 24                	jne    0x4015e8
4015c4:	8b 06                	mov    (%esi),%eax
4015c6:	6a 01                	push   $0x1
4015c8:	8d be 47 57 00 00    	lea    0x5747(%esi),%edi
4015ce:	57                   	push   %edi
4015cf:	8b ce                	mov    %esi,%ecx
4015d1:	ff 50 08             	call   *0x8(%eax)
4015d4:	38 1f                	cmp    %bl,(%edi)
4015d6:	0f 85 8d fe ff ff    	jne    0x401469
4015dc:	c7 86 48 57 00 00 08 	movl   $0x8,0x5748(%esi)
4015e3:	00 00 00
4015e6:	eb 2b                	jmp    0x401613
4015e8:	c7 86 48 57 00 00 07 	movl   $0x7,0x5748(%esi)
4015ef:	00 00 00
4015f2:	eb 1f                	jmp    0x401613
4015f4:	8b 86 24 57 00 00    	mov    0x5724(%esi),%eax