4011f7:	53                   	push   %ebx
4011f8:	56                   	push   %esi
4011f9:	8b f2                	mov    %edx,%esi
4011fb:	69 f6 18 08 00 00    	imul   $0x818,%esi,%esi
401201:	8b 1d 88 a2 42 00    	mov    0x42a288,%ebx
401207:	33 c9                	xor    %ecx,%ecx
401209:	03 f3                	add    %ebx,%esi
40120b:	57                   	push   %edi
40120c:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40120f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
401212:	8b 46 08             	mov    0x8(%esi),%eax
401215:	a8 02                	test   $0x2,%al
401217:	74 0b                	je     0x401224
401219:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
40121c:	74 06                	je     0x401224
40121e:	24 be                	and    $0xbe,%al
401220:	42                   	inc    %edx
401221:	89 46 08             	mov    %eax,0x8(%esi)
401224:	3b 15 8c a2 42 00    	cmp    0x42a28c,%edx
40122a:	73 44                	jae    0x401270
40122c:	8b c2                	mov    %edx,%eax
40122e:	69 c0 18 08 00 00    	imul   $0x818,%eax,%eax
401234:	8d 7c 18 08          	lea    0x8(%eax,%ebx,1),%edi
401238:	8d 42 01             	lea    0x1(%edx),%eax
40123b:	8b 0f                	mov    (%edi),%ecx
40123d:	f6 c1 02             	test   $0x2,%cl
401240:	74 0a                	je     0x40124c
401242:	6a 01                	push   $0x1
401244:	52                   	push   %edx
401245:	e8 a5 ff ff ff       	call   0x4011ef
40124a:	8b 0f                	mov    (%edi),%ecx
40124c:	f6 c1 04             	test   $0x4,%cl
40124f:	75 28                	jne    0x401279
401251:	f6 c1 40             	test   $0x40,%cl
401254:	74 03                	je     0x401259
401256:	ff 45 fc             	incl   -0x4(%ebp)
401259:	f6 c1 01             	test   $0x1,%cl
40125c:	74 05                	je     0x401263
40125e:	ff 45 fc             	incl   -0x4(%ebp)
401261:	eb 03                	jmp    0x401266
401263:	ff 45 f8             	incl   -0x8(%ebp)
401266:	3b 05 8c a2 42 00    	cmp    0x42a28c,%eax
40126c:	8b d0                	mov    %eax,%edx
40126e:	72 bc                	jb     0x40122c
401270:	33 c0                	xor    %eax,%eax
401272:	5f                   	pop    %edi
401273:	5e                   	pop    %esi
401274:	5b                   	pop    %ebx
401275:	c9                   	leave
401276:	c2 08 00             	ret    $0x8
401279:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40127d:	74 f3                	je     0x401272
40127f:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
401283:	74 06                	je     0x40128b
401285:	83 4e 08 40          	orl    $0x40,0x8(%esi)
401289:	eb e7                	jmp    0x401272
40128b:	8b 4e 08             	mov    0x8(%esi),%ecx
40128e:	80 e1 7f             	and    $0x7f,%cl
401291:	83 c9 01             	or     $0x1,%ecx
401294:	89 4e 08             	mov    %ecx,0x8(%esi)
401297:	eb d9                	jmp    0x401272
401299:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40129d:	a1 88 a2 42 00       	mov    0x42a288,%eax
4012a2:	56                   	push   %esi
4012a3:	33 f6                	xor    %esi,%esi
4012a5:	83 f9 20             	cmp    $0x20,%ecx
4012a8:	73 34                	jae    0x4012de
4012aa:	39 35 8c a2 42 00    	cmp    %esi,0x42a28c
4012b0:	76 2c                	jbe    0x4012de
4012b2:	8d 50 08             	lea    0x8(%eax),%edx
4012b5:	57                   	push   %edi
4012b6:	8b 02                	mov    (%edx),%eax
4012b8:	a8 06                	test   $0x6,%al
4012ba:	75 12                	jne    0x4012ce
4012bc:	33 ff                	xor    %edi,%edi
4012be:	47                   	inc    %edi
4012bf:	d3 e7                	shl    %cl,%edi
4012c1:	85 7a fc             	test   %edi,-0x4(%edx)
4012c4:	74 04                	je     0x4012ca
4012c6:	0c 01                	or     $0x1,%al
4012c8:	eb 02                	jmp    0x4012cc
4012ca:	24 fe                	and    $0xfe,%al
4012cc:	89 02                	mov    %eax,(%edx)
4012ce:	46                   	inc    %esi
4012cf:	81 c2 18 08 00 00    	add    $0x818,%edx
4012d5:	3b 35 8c a2 42 00    	cmp    0x42a28c,%esi
4012db:	72 d9                	jb     0x4012b6
4012dd:	5f                   	pop    %edi
4012de:	5e                   	pop    %esi
4012df:	c2 04 00             	ret    $0x4
4012e2:	55                   	push   %ebp
4012e3:	8b ec                	mov    %esp,%ebp
4012e5:	83 ec 0c             	sub    $0xc,%esp
4012e8:	a1 54 a2 42 00       	mov    0x42a254,%eax
4012ed:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4012f1:	53                   	push   %ebx
4012f2:	56                   	push   %esi
4012f3:	05 94 00 00 00       	add    $0x94,%eax
4012f8:	57                   	push   %edi
4012f9:	8b 3d 8c a2 42 00    	mov    0x42a28c,%edi
4012ff:	89 45 f8             	mov    %eax,-0x8(%ebp)
401302:	8b 45 f8             	mov    -0x8(%ebp),%eax
401305:	33 db                	xor    %ebx,%ebx
401307:	39 18                	cmp    %ebx,(%eax)
401309:	74 4b                	je     0x401356
40130b:	3b df                	cmp    %edi,%ebx
40130d:	73 45                	jae    0x401354
40130f:	8b 35 88 a2 42 00    	mov    0x42a288,%esi
401315:	83 c6 08             	add    $0x8,%esi
401318:	8b 16                	mov    (%esi),%edx
40131a:	f6 c2 06             	test   $0x6,%dl
40131d:	75 28                	jne    0x401347
40131f:	8b 45 08             	mov    0x8(%ebp),%eax
401322:	85 c0                	test   %eax,%eax
401324:	74 06                	je     0x40132c
401326:	83 3c 98 00          	cmpl   $0x0,(%eax,%ebx,4)
40132a:	74 1b                	je     0x401347
40132c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40132f:	33 c0                	xor    %eax,%eax
401331:	40                   	inc    %eax
401332:	83 e2 01             	and    $0x1,%edx
401335:	d3 e0                	shl    %cl,%eax
401337:	8b 4e fc             	mov    -0x4(%esi),%ecx
40133a:	23 c8                	and    %eax,%ecx
40133c:	8b c1                	mov    %ecx,%eax
40133e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
401341:	d3 e2                	shl    %cl,%edx
401343:	3b c2                	cmp    %edx,%eax
401345:	75 0b                	jne    0x401352
401347:	43                   	inc    %ebx
401348:	81 c6 18 08 00 00    	add    $0x818,%esi
40134e:	3b df                	cmp    %edi,%ebx
401350:	72 c6                	jb     0x401318
401352:	3b df                	cmp    %edi,%ebx
401354:	74 0d                	je     0x401363
401356:	ff 45 fc             	incl   -0x4(%ebp)
401359:	83 45 f8 04          	addl   $0x4,-0x8(%ebp)
40135d:	83 7d fc 20          	cmpl   $0x20,-0x4(%ebp)
401361:	72 9f                	jb     0x401302
401363:	8b 45 fc             	mov    -0x4(%ebp),%eax
401366:	5f                   	pop    %edi
401367:	5e                   	pop    %esi
401368:	5b                   	pop    %ebx
401369:	c9                   	leave
40136a:	c2 04 00             	ret    $0x4
40136d:	8b 44 24 04          	mov    0x4(%esp),%eax
401371:	85 c0                	test   %eax,%eax
401373:	7d 11                	jge    0x401386
401375:	40                   	inc    %eax
401376:	b9 00 b0 42 00       	mov    $0x42b000,%ecx
40137b:	c1 e0 0b             	shl    $0xb,%eax
40137e:	2b c8                	sub    %eax,%ecx
401380:	51                   	push   %ecx
401381:	e8 c2 4f 00 00       	call   0x406348
401386:	c2 04 00             	ret    $0x4
401389:	56                   	push   %esi
40138a:	8b 74 24 08          	mov    0x8(%esp),%esi
40138e:	eb 6a                	jmp    0x4013fa
401390:	8b c6                	mov    %esi,%eax
401392:	8b 0d 90 a2 42 00    	mov    0x42a290,%ecx
401398:	6b c0 1c             	imul   $0x1c,%eax,%eax
40139b:	03 c1                	add    %ecx,%eax
40139d:	83 38 01             	cmpl   $0x1,(%eax)
4013a0:	74 5c                	je     0x4013fe
4013a2:	50                   	push   %eax
4013a3:	e8 8c 00 00 00       	call   0x401434
4013a8:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
4013ad:	74 55                	je     0x401404
4013af:	50                   	push   %eax
4013b0:	e8 b8 ff ff ff       	call   0x40136d
4013b5:	85 c0                	test   %eax,%eax
4013b7:	75 04                	jne    0x4013bd
4013b9:	40                   	inc    %eax
4013ba:	46                   	inc    %esi
4013bb:	eb 07                	jmp    0x4013c4
4013bd:	48                   	dec    %eax
4013be:	8b ce                	mov    %esi,%ecx
4013c0:	8b f0                	mov    %eax,%esi
4013c2:	2b c1                	sub    %ecx,%eax
4013c4:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
4013c9:	74 2f                	je     0x4013fa
4013cb:	01 05 2c 92 42 00    	add    %eax,0x42922c
4013d1:	6a 00                	push   $0x0
4013d3:	ff 35 14 92 42 00    	push   0x429214
4013d9:	68 30 75 00 00       	push   $0x7530
4013de:	ff 35 2c 92 42 00    	push   0x42922c
4013e4:	ff 15 54 81 40 00    	call   *0x408154
4013ea:	50                   	push   %eax
4013eb:	68 02 04 00 00       	push   $0x402
4013f0:	ff 74 24 18          	push   0x18(%esp)
4013f4:	ff 15 18 82 40 00    	call   *0x408218
4013fa:	85 f6                	test   %esi,%esi
4013fc:	7d 92                	jge    0x401390
4013fe:	33 c0                	xor    %eax,%eax
401400:	5e                   	pop    %esi
401401:	c2 08 00             	ret    $0x8
401404:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
401409:	eb f5                	jmp    0x401400
40140b:	8b 44 24 04          	mov    0x4(%esp),%eax
40140f:	8b 0d 54 a2 42 00    	mov    0x42a254,%ecx
401415:	6a 00                	push   $0x0
401417:	ff 74 81 6c          	push   0x6c(%ecx,%eax,4)
40141b:	e8 69 ff ff ff       	call   0x401389
401420:	c2 04 00             	ret    $0x4
401423:	68 d8 ad 40 00       	push   $0x40add8
401428:	ff 74 24 08          	push   0x8(%esp)
40142c:	e8 1f 40 00 00       	call   0x405450
401431:	c2 04 00             	ret    $0x4
401434:	55                   	push   %ebp
401435:	8b ec                	mov    %esp,%ebp
401437:	81 ec d4 02 00 00    	sub    $0x2d4,%esp
40143d:	53                   	push   %ebx
40143e:	56                   	push   %esi
40143f:	8b 75 08             	mov    0x8(%ebp),%esi
401442:	57                   	push   %edi
401443:	a1 48 a2 42 00       	mov    0x42a248,%eax
401448:	6a 07                	push   $0x7
40144a:	59                   	pop    %ecx
40144b:	8d 7d d4             	lea    -0x2c(%ebp),%edi
40144e:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
401450:	8b 4d dc             	mov    -0x24(%ebp),%ecx
401453:	8b 55 d4             	mov    -0x2c(%ebp),%edx
401456:	bf 00 b0 42 00       	mov    $0x42b000,%edi
40145b:	89 45 f8             	mov    %eax,-0x8(%ebp)
40145e:	8b 45 d8             	mov    -0x28(%ebp),%eax
401461:	33 db                	xor    %ebx,%ebx
401463:	c1 e1 0b             	shl    $0xb,%ecx
401466:	03 cf                	add    %edi,%ecx
401468:	8b f0                	mov    %eax,%esi
40146a:	89 4d f4             	mov    %ecx,-0xc(%ebp)
40146d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
401470:	c1 e6 0b             	shl    $0xb,%esi
401473:	89 0d 34 ce 40 00    	mov    %ecx,0x40ce34
401479:	8d 4a fe             	lea    -0x2(%edx),%ecx
40147c:	03 f7                	add    %edi,%esi
40147e:	83 f9 43             	cmp    $0x43,%ecx
401481:	89 5d fc             	mov    %ebx,-0x4(%ebp)
401484:	0f 87 3b 16 00 00    	ja     0x402ac5
40148a:	ff 24 8d d7 2a 40 00 	jmp    *0x402ad7(,%ecx,4)
401491:	53                   	push   %ebx
401492:	50                   	push   %eax
401493:	e8 b8 3f 00 00       	call   0x405450
401498:	e9 5a 0e 00 00       	jmp    0x4022f7
40149d:	ff 05 0c 92 42 00    	incl   0x42920c
4014a3:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
4014a6:	0f 84 4b 0e 00 00    	je     0x4022f7
4014ac:	53                   	push   %ebx
4014ad:	ff 15 94 82 40 00    	call   *0x408294
4014b3:	e9 3f 0e 00 00       	jmp    0x4022f7
4014b8:	50                   	push   %eax
4014b9:	e8 af fe ff ff       	call   0x40136d
4014be:	48                   	dec    %eax
4014bf:	53                   	push   %ebx
4014c0:	50                   	push   %eax
4014c1:	e8 c3 fe ff ff       	call   0x401389
4014c6:	e9 05 16 00 00       	jmp    0x402ad0
4014cb:	53                   	push   %ebx
4014cc:	50                   	push   %eax
4014cd:	e8 7e 3f 00 00       	call   0x405450
4014d2:	e9 ee 15 00 00       	jmp    0x402ac5
4014d7:	53                   	push   %ebx
4014d8:	e8 42 17 00 00       	call   0x402c1f
4014dd:	83 f8 01             	cmp    $0x1,%eax
4014e0:	59                   	pop    %ecx
4014e1:	89 55 b4             	mov    %edx,-0x4c(%ebp)
4014e4:	7f 03                	jg     0x4014e9
4014e6:	33 c0                	xor    %eax,%eax
4014e8:	40                   	inc    %eax
4014e9:	50                   	push   %eax
4014ea:	ff 15 78 80 40 00    	call   *0x408078
4014f0:	e9 d0 15 00 00       	jmp    0x402ac5
4014f5:	ff 75 f8             	push   -0x8(%ebp)
4014f8:	ff 15 64 82 40 00    	call   *0x408264
4014fe:	e9 c2 15 00 00       	jmp    0x402ac5
401503:	c1 e0 02             	shl    $0x2,%eax
401506:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
401509:	75 26                	jne    0x401531
40150b:	8b 88 e0 a2 42 00    	mov    0x42a2e0(%eax),%ecx
401511:	6a 01                	push   $0x1
401513:	89 88 20 a3 42 00    	mov    %ecx,0x42a320(%eax)
401519:	e8 01 17 00 00       	call   0x402c1f
40151e:	59                   	pop    %ecx
40151f:	89 55 b4             	mov    %edx,-0x4c(%ebp)
401522:	8b 4d d8             	mov    -0x28(%ebp),%ecx
401525:	89 04 8d e0 a2 42 00 	mov    %eax,0x42a2e0(,%ecx,4)
40152c:	e9 94 15 00 00       	jmp    0x402ac5
401531:	8b 88 20 a3 42 00    	mov    0x42a320(%eax),%ecx
401537:	89 88 e0 a2 42 00    	mov    %ecx,0x42a2e0(%eax)
40153d:	e9 83 15 00 00       	jmp    0x402ac5
401542:	8b 45 e0             	mov    -0x20(%ebp),%eax
401545:	8d 34 85 e0 a2 42 00 	lea    0x42a2e0(,%eax,4),%esi
40154c:	33 c0                	xor    %eax,%eax
40154e:	8b 0e                	mov    (%esi),%ecx
401550:	3b cb                	cmp    %ebx,%ecx
401552:	0f 94 c0             	sete   %al
401555:	23 4d e4             	and    -0x1c(%ebp),%ecx
401558:	8b 44 85 d8          	mov    -0x28(%ebp,%eax,4),%eax
40155c:	89 0e                	mov    %ecx,(%esi)
40155e:	e9 6d 15 00 00       	jmp    0x402ad0
401563:	8b 45 dc             	mov    -0x24(%ebp),%eax
401566:	ff 34 85 e0 a2 42 00 	push   0x42a2e0(,%eax,4)
40156d:	56                   	push   %esi
40156e:	e9 f8 14 00 00       	jmp    0x402a6b
401573:	8b 0d 10 92 42 00    	mov    0x429210,%ecx
401579:	8b 35 68 82 40 00    	mov    0x408268,%esi
40157f:	3b cb                	cmp    %ebx,%ecx
401581:	74 09                	je     0x40158c
401583:	ff 75 dc             	push   -0x24(%ebp)
401586:	51                   	push   %ecx
401587:	ff d6                	call   *%esi
401589:	8b 45 d8             	mov    -0x28(%ebp),%eax
40158c:	8b 0d 24 92 42 00    	mov    0x429224,%ecx
401592:	3b cb                	cmp    %ebx,%ecx
401594:	0f 84 2b 15 00 00    	je     0x402ac5
40159a:	50                   	push   %eax
40159b:	51                   	push   %ecx
40159c:	ff d6                	call   *%esi
40159e:	e9 22 15 00 00       	jmp    0x402ac5
4015a3:	6a f0                	push   $0xfffffff0
4015a5:	e8 97 16 00 00       	call   0x402c41
4015aa:	ff 75 dc             	push   -0x24(%ebp)
4015ad:	50                   	push   %eax
4015ae:	ff 15 74 80 40 00    	call   *0x408074
4015b4:	85 c0                	test   %eax,%eax
4015b6:	0f 85 09 15 00 00    	jne    0x402ac5
4015bc:	e9 ca 12 00 00       	jmp    0x40288b
4015c1:	6a f0                	push   $0xfffffff0
4015c3:	e8 79 16 00 00       	call   0x402c41
4015c8:	50                   	push   %eax
4015c9:	89 45 08             	mov    %eax,0x8(%ebp)
4015cc:	e8 97 47 00 00       	call   0x405d68
4015d1:	8b f0                	mov    %eax,%esi
4015d3:	3b f3                	cmp    %ebx,%esi
4015d5:	74 5a                	je     0x401631
4015d7:	6a 5c                	push   $0x5c
4015d9:	56                   	push   %esi
4015da:	e8 0b 47 00 00       	call   0x405cea
4015df:	8b f0                	mov    %eax,%esi
4015e1:	66 8b 3e             	mov    (%esi),%di
4015e4:	66 89 1e             	mov    %bx,(%esi)
4015e7:	66 3b fb             	cmp    %bx,%di
4015ea:	75 18                	jne    0x401604
4015ec:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
4015ef:	74 13                	je     0x401604
4015f1:	e8 c3 43 00 00       	call   0x4059b9
4015f6:	85 c0                	test   %eax,%eax
4015f8:	74 0a                	je     0x401604
4015fa:	ff 75 08             	push   0x8(%ebp)
4015fd:	e8 1d 43 00 00       	call   0x40591f
401602:	eb 08                	jmp    0x40160c