40a30c:	55                   	push   %ebp
40a30d:	e8 fe fa ff ff       	call   0x409e10
40a312:	59                   	pop    %ecx
40a313:	8b 45 f4             	mov    -0xc(%ebp),%eax
40a316:	48                   	dec    %eax
40a317:	83 e8 02             	sub    $0x2,%eax
40a31a:	72 04                	jb     0x40a320
40a31c:	74 18                	je     0x40a336
40a31e:	eb 30                	jmp    0x40a350
40a320:	8b 45 08             	mov    0x8(%ebp),%eax
40a323:	50                   	push   %eax
40a324:	0f b7 45 f0          	movzwl -0x10(%ebp),%eax
40a328:	8b 55 f4             	mov    -0xc(%ebp),%edx
40a32b:	e8 64 fa ff ff       	call   0x409d94
40a330:	59                   	pop    %ecx
40a331:	e9 3d 05 00 00       	jmp    0x40a873
40a336:	8b 45 08             	mov    0x8(%ebp),%eax
40a339:	50                   	push   %eax
40a33a:	0f b7 45 f0          	movzwl -0x10(%ebp),%eax
40a33e:	8b 04 85 a8 16 46 00 	mov    0x4616a8(,%eax,4),%eax
40a345:	e8 2a fa ff ff       	call   0x409d74
40a34a:	59                   	pop    %ecx
40a34b:	e9 23 05 00 00       	jmp    0x40a873
40a350:	8b 45 08             	mov    0x8(%ebp),%eax
40a353:	50                   	push   %eax
40a354:	0f b7 45 f0          	movzwl -0x10(%ebp),%eax
40a358:	8b 04 85 d8 16 46 00 	mov    0x4616d8(,%eax,4),%eax
40a35f:	e8 10 fa ff ff       	call   0x409d74
40a364:	59                   	pop    %ecx
40a365:	e9 09 05 00 00       	jmp    0x40a873
40a36a:	55                   	push   %ebp
40a36b:	e8 70 fa ff ff       	call   0x409de0
40a370:	59                   	pop    %ecx
40a371:	8b 45 f4             	mov    -0xc(%ebp),%eax
40a374:	48                   	dec    %eax
40a375:	83 e8 02             	sub    $0x2,%eax
40a378:	72 0a                	jb     0x40a384
40a37a:	74 25                	je     0x40a3a1
40a37c:	48                   	dec    %eax
40a37d:	74 49                	je     0x40a3c8
40a37f:	48                   	dec    %eax
40a380:	74 6d                	je     0x40a3ef
40a382:	eb 7f                	jmp    0x40a403
40a384:	55                   	push   %ebp
40a385:	e8 86 fa ff ff       	call   0x409e10
40a38a:	59                   	pop    %ecx
40a38b:	8b 45 08             	mov    0x8(%ebp),%eax
40a38e:	50                   	push   %eax
40a38f:	0f b7 45 ee          	movzwl -0x12(%ebp),%eax
40a393:	8b 55 f4             	mov    -0xc(%ebp),%edx
40a396:	e8 f9 f9 ff ff       	call   0x409d94
40a39b:	59                   	pop    %ecx
40a39c:	e9 d2 04 00 00       	jmp    0x40a873
40a3a1:	8b 45 08             	mov    0x8(%ebp),%eax
40a3a4:	50                   	push   %eax
40a3a5:	8b 45 08             	mov    0x8(%ebp),%eax
40a3a8:	ff 70 0c             	push   0xc(%eax)
40a3ab:	ff 70 08             	push   0x8(%eax)
40a3ae:	e8 41 f9 ff ff       	call   0x409cf4
40a3b3:	0f b7 c0             	movzwl %ax,%eax
40a3b6:	8b 04 85 08 17 46 00 	mov    0x461708(,%eax,4),%eax
40a3bd:	e8 b2 f9 ff ff       	call   0x409d74
40a3c2:	59                   	pop    %ecx
40a3c3:	e9 ab 04 00 00       	jmp    0x40a873
40a3c8:	8b 45 08             	mov    0x8(%ebp),%eax
40a3cb:	50                   	push   %eax
40a3cc:	8b 45 08             	mov    0x8(%ebp),%eax
40a3cf:	ff 70 0c             	push   0xc(%eax)
40a3d2:	ff 70 08             	push   0x8(%eax)
40a3d5:	e8 1a f9 ff ff       	call   0x409cf4
40a3da:	0f b7 c0             	movzwl %ax,%eax
40a3dd:	8b 04 85 24 17 46 00 	mov    0x461724(,%eax,4),%eax
40a3e4:	e8 8b f9 ff ff       	call   0x409d74
40a3e9:	59                   	pop    %ecx
40a3ea:	e9 84 04 00 00       	jmp    0x40a873
40a3ef:	8b 45 08             	mov    0x8(%ebp),%eax
40a3f2:	50                   	push   %eax
40a3f3:	a1 90 16 46 00       	mov    0x461690,%eax
40a3f8:	e8 ff fc ff ff       	call   0x40a0fc
40a3fd:	59                   	pop    %ecx
40a3fe:	e9 70 04 00 00       	jmp    0x40a873
40a403:	8b 45 08             	mov    0x8(%ebp),%eax
40a406:	50                   	push   %eax
40a407:	a1 94 16 46 00       	mov    0x461694,%eax
40a40c:	e8 eb fc ff ff       	call   0x40a0fc
40a411:	59                   	pop    %ecx
40a412:	e9 5c 04 00 00       	jmp    0x40a873
40a417:	55                   	push   %ebp
40a418:	e8 c3 f9 ff ff       	call   0x409de0
40a41d:	59                   	pop    %ecx
40a41e:	55                   	push   %ebp
40a41f:	e8 24 fa ff ff       	call   0x409e48
40a424:	59                   	pop    %ecx
40a425:	c6 45 e0 00          	movb   $0x0,-0x20(%ebp)
40a429:	8b 06                	mov    (%esi),%eax
40a42b:	89 45 dc             	mov    %eax,-0x24(%ebp)
40a42e:	e9 aa 00 00 00       	jmp    0x40a4dd
40a433:	8b 45 dc             	mov    -0x24(%ebp),%eax
40a436:	8a 00                	mov    (%eax),%al
40a438:	25 ff 00 00 00       	and    $0xff,%eax
40a43d:	0f a3 05 3c 51 45 00 	bt     %eax,0x45513c
40a444:	73 10                	jae    0x40a456
40a446:	8b 45 dc             	mov    -0x24(%ebp),%eax
40a449:	e8 b6 21 00 00       	call   0x40c604
40a44e:	89 45 dc             	mov    %eax,-0x24(%ebp)
40a451:	e9 87 00 00 00       	jmp    0x40a4dd
40a456:	8b 45 dc             	mov    -0x24(%ebp),%eax
40a459:	0f b6 00             	movzbl (%eax),%eax
40a45c:	83 f8 48             	cmp    $0x48,%eax
40a45f:	7f 17                	jg     0x40a478
40a461:	0f 84 82 00 00 00    	je     0x40a4e9
40a467:	83 e8 22             	sub    $0x22,%eax
40a46a:	74 66                	je     0x40a4d2
40a46c:	83 e8 05             	sub    $0x5,%eax
40a46f:	74 61                	je     0x40a4d2
40a471:	83 e8 1a             	sub    $0x1a,%eax
40a474:	74 0e                	je     0x40a484
40a476:	eb 62                	jmp    0x40a4da
40a478:	83 e8 61             	sub    $0x61,%eax
40a47b:	74 07                	je     0x40a484
40a47d:	83 e8 07             	sub    $0x7,%eax
40a480:	74 67                	je     0x40a4e9
40a482:	eb 56                	jmp    0x40a4da
40a484:	80 7d e0 00          	cmpb   $0x0,-0x20(%ebp)
40a488:	75 50                	jne    0x40a4da
40a48a:	ba b0 a8 40 00       	mov    $0x40a8b0,%edx
40a48f:	b9 05 00 00 00       	mov    $0x5,%ecx
40a494:	8b 45 dc             	mov    -0x24(%ebp),%eax
40a497:	e8 ec e6 ff ff       	call   0x408b88
40a49c:	85 c0                	test   %eax,%eax
40a49e:	74 2c                	je     0x40a4cc
40a4a0:	ba b8 a8 40 00       	mov    $0x40a8b8,%edx
40a4a5:	b9 03 00 00 00       	mov    $0x3,%ecx
40a4aa:	8b 45 dc             	mov    -0x24(%ebp),%eax
40a4ad:	e8 d6 e6 ff ff       	call   0x408b88
40a4b2:	85 c0                	test   %eax,%eax
40a4b4:	74 16                	je     0x40a4cc
40a4b6:	ba bc a8 40 00       	mov    $0x40a8bc,%edx
40a4bb:	b9 04 00 00 00       	mov    $0x4,%ecx
40a4c0:	8b 45 dc             	mov    -0x24(%ebp),%eax
40a4c3:	e8 c0 e6 ff ff       	call   0x408b88
40a4c8:	85 c0                	test   %eax,%eax
40a4ca:	75 1d                	jne    0x40a4e9
40a4cc:	c6 45 e1 01          	movb   $0x1,-0x1f(%ebp)
40a4d0:	eb 17                	jmp    0x40a4e9
40a4d2:	8a 45 e0             	mov    -0x20(%ebp),%al
40a4d5:	34 01                	xor    $0x1,%al
40a4d7:	88 45 e0             	mov    %al,-0x20(%ebp)
40a4da:	ff 45 dc             	incl   -0x24(%ebp)
40a4dd:	8b 45 dc             	mov    -0x24(%ebp),%eax
40a4e0:	80 38 00             	cmpb   $0x0,(%eax)
40a4e3:	0f 85 4a ff ff ff    	jne    0x40a433
40a4e9:	66 8b 7d ea          	mov    -0x16(%ebp),%di
40a4ed:	80 7d e1 00          	cmpb   $0x0,-0x1f(%ebp)
40a4f1:	74 15                	je     0x40a508
40a4f3:	66 85 ff             	test   %di,%di
40a4f6:	75 06                	jne    0x40a4fe
40a4f8:	66 bf 0c 00          	mov    $0xc,%di
40a4fc:	eb 0a                	jmp    0x40a508
40a4fe:	66 83 ff 0c          	cmp    $0xc,%di
40a502:	76 04                	jbe    0x40a508
40a504:	66 83 ef 0c          	sub    $0xc,%di
40a508:	83 7d f4 02          	cmpl   $0x2,-0xc(%ebp)
40a50c:	7e 07                	jle    0x40a515
40a50e:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
40a515:	8b 45 08             	mov    0x8(%ebp),%eax
40a518:	50                   	push   %eax
40a519:	0f b7 c7             	movzwl %di,%eax
40a51c:	8b 55 f4             	mov    -0xc(%ebp),%edx
40a51f:	e8 70 f8 ff ff       	call   0x409d94
40a524:	59                   	pop    %ecx
40a525:	e9 49 03 00 00       	jmp    0x40a873
40a52a:	55                   	push   %ebp
40a52b:	e8 b0 f8 ff ff       	call   0x409de0
40a530:	59                   	pop    %ecx
40a531:	55                   	push   %ebp
40a532:	e8 11 f9 ff ff       	call   0x409e48
40a537:	59                   	pop    %ecx
40a538:	83 7d f4 02          	cmpl   $0x2,-0xc(%ebp)
40a53c:	7e 07                	jle    0x40a545
40a53e:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
40a545:	8b 45 08             	mov    0x8(%ebp),%eax
40a548:	50                   	push   %eax
40a549:	0f b7 45 e8          	movzwl -0x18(%ebp),%eax
40a54d:	8b 55 f4             	mov    -0xc(%ebp),%edx
40a550:	e8 3f f8 ff ff       	call   0x409d94
40a555:	59                   	pop    %ecx
40a556:	e9 18 03 00 00       	jmp    0x40a873
40a55b:	55                   	push   %ebp
40a55c:	e8 7f f8 ff ff       	call   0x409de0
40a561:	59                   	pop    %ecx
40a562:	55                   	push   %ebp
40a563:	e8 e0 f8 ff ff       	call   0x409e48
40a568:	59                   	pop    %ecx
40a569:	83 7d f4 02          	cmpl   $0x2,-0xc(%ebp)
40a56d:	7e 07                	jle    0x40a576
40a56f:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
40a576:	8b 45 08             	mov    0x8(%ebp),%eax
40a579:	50                   	push   %eax
40a57a:	0f b7 45 e6          	movzwl -0x1a(%ebp),%eax
40a57e:	8b 55 f4             	mov    -0xc(%ebp),%edx
40a581:	e8 0e f8 ff ff       	call   0x409d94
40a586:	59                   	pop    %ecx
40a587:	e9 e7 02 00 00       	jmp    0x40a873
40a58c:	55                   	push   %ebp
40a58d:	e8 4e f8 ff ff       	call   0x409de0
40a592:	59                   	pop    %ecx
40a593:	83 7d f4 01          	cmpl   $0x1,-0xc(%ebp)
40a597:	75 14                	jne    0x40a5ad
40a599:	8b 45 08             	mov    0x8(%ebp),%eax
40a59c:	50                   	push   %eax
40a59d:	a1 a4 16 46 00       	mov    0x4616a4,%eax
40a5a2:	e8 55 fb ff ff       	call   0x40a0fc
40a5a7:	59                   	pop    %ecx
40a5a8:	e9 c6 02 00 00       	jmp    0x40a873
40a5ad:	8b 45 08             	mov    0x8(%ebp),%eax
40a5b0:	50                   	push   %eax
40a5b1:	a1 a8 16 46 00       	mov    0x4616a8,%eax
40a5b6:	e8 41 fb ff ff       	call   0x40a0fc
40a5bb:	59                   	pop    %ecx
40a5bc:	e9 b2 02 00 00       	jmp    0x40a873
40a5c1:	55                   	push   %ebp
40a5c2:	e8 19 f8 ff ff       	call   0x409de0
40a5c7:	59                   	pop    %ecx
40a5c8:	55                   	push   %ebp
40a5c9:	e8 7a f8 ff ff       	call   0x409e48
40a5ce:	59                   	pop    %ecx
40a5cf:	83 7d f4 03          	cmpl   $0x3,-0xc(%ebp)
40a5d3:	7e 07                	jle    0x40a5dc
40a5d5:	c7 45 f4 03 00 00 00 	movl   $0x3,-0xc(%ebp)
40a5dc:	8b 45 08             	mov    0x8(%ebp),%eax
40a5df:	50                   	push   %eax
40a5e0:	0f b7 45 e4          	movzwl -0x1c(%ebp),%eax
40a5e4:	8b 55 f4             	mov    -0xc(%ebp),%edx
40a5e7:	e8 a8 f7 ff ff       	call   0x409d94
40a5ec:	59                   	pop    %ecx
40a5ed:	e9 81 02 00 00       	jmp    0x40a873
40a5f2:	55                   	push   %ebp
40a5f3:	e8 50 f8 ff ff       	call   0x409e48
40a5f8:	59                   	pop    %ecx
40a5f9:	8b 06                	mov    (%esi),%eax
40a5fb:	48                   	dec    %eax
40a5fc:	89 45 dc             	mov    %eax,-0x24(%ebp)
40a5ff:	ba b0 a8 40 00       	mov    $0x40a8b0,%edx
40a604:	b9 05 00 00 00       	mov    $0x5,%ecx
40a609:	8b 45 dc             	mov    -0x24(%ebp),%eax
40a60c:	e8 77 e5 ff ff       	call   0x408b88
40a611:	85 c0                	test   %eax,%eax
40a613:	75 29                	jne    0x40a63e
40a615:	66 83 7d ea 0c       	cmpw   $0xc,-0x16(%ebp)
40a61a:	72 04                	jb     0x40a620
40a61c:	83 45 dc 03          	addl   $0x3,-0x24(%ebp)
40a620:	8b 45 08             	mov    0x8(%ebp),%eax
40a623:	50                   	push   %eax
40a624:	ba 02 00 00 00       	mov    $0x2,%edx
40a629:	8b 45 dc             	mov    -0x24(%ebp),%eax
40a62c:	e8 ff f6 ff ff       	call   0x409d30
40a631:	59                   	pop    %ecx
40a632:	83 06 04             	addl   $0x4,(%esi)
40a635:	c6 45 e1 01          	movb   $0x1,-0x1f(%ebp)
40a639:	e9 35 02 00 00       	jmp    0x40a873
40a63e:	ba b8 a8 40 00       	mov    $0x40a8b8,%edx
40a643:	b9 03 00 00 00       	mov    $0x3,%ecx
40a648:	8b 45 dc             	mov    -0x24(%ebp),%eax
40a64b:	e8 38 e5 ff ff       	call   0x408b88
40a650:	85 c0                	test   %eax,%eax
40a652:	75 29                	jne    0x40a67d
40a654:	66 83 7d ea 0c       	cmpw   $0xc,-0x16(%ebp)
40a659:	72 04                	jb     0x40a65f
40a65b:	83 45 dc 02          	addl   $0x2,-0x24(%ebp)
40a65f:	8b 45 08             	mov    0x8(%ebp),%eax
40a662:	50                   	push   %eax
40a663:	ba 01 00 00 00       	mov    $0x1,%edx
40a668:	8b 45 dc             	mov    -0x24(%ebp),%eax
40a66b:	e8 c0 f6 ff ff       	call   0x409d30
40a670:	59                   	pop    %ecx
40a671:	83 06 02             	addl   $0x2,(%esi)
40a674:	c6 45 e1 01          	movb   $0x1,-0x1f(%ebp)
40a678:	e9 f6 01 00 00       	jmp    0x40a873
40a67d:	ba bc a8 40 00       	mov    $0x40a8bc,%edx
40a682:	b9 04 00 00 00       	mov    $0x4,%ecx
40a687:	8b 45 dc             	mov    -0x24(%ebp),%eax
40a68a:	e8 f9 e4 ff ff       	call   0x408b88
40a68f:	85 c0                	test   %eax,%eax
40a691:	75 33                	jne    0x40a6c6
40a693:	66 83 7d ea 0c       	cmpw   $0xc,-0x16(%ebp)
40a698:	73 11                	jae    0x40a6ab
40a69a:	8b 45 08             	mov    0x8(%ebp),%eax
40a69d:	50                   	push   %eax
40a69e:	a1 9c 16 46 00       	mov    0x46169c,%eax
40a6a3:	e8 cc f6 ff ff       	call   0x409d74
40a6a8:	59                   	pop    %ecx
40a6a9:	eb 0f                	jmp    0x40a6ba
40a6ab:	8b 45 08             	mov    0x8(%ebp),%eax
40a6ae:	50                   	push   %eax
40a6af:	a1 a0 16 46 00       	mov    0x4616a0,%eax
40a6b4:	e8 bb f6 ff ff       	call   0x409d74
40a6b9:	59                   	pop    %ecx
40a6ba:	83 06 03             	addl   $0x3,(%esi)
40a6bd:	c6 45 e1 01          	movb   $0x1,-0x1f(%ebp)
40a6c1:	e9 ad 01 00 00       	jmp    0x40a873
40a6c6:	ba c4 a8 40 00       	mov    $0x40a8c4,%edx
40a6cb:	b9 04 00 00 00       	mov    $0x4,%ecx
40a6d0:	8b 45 dc             	mov    -0x24(%ebp),%eax
40a6d3:	e8 b0 e4 ff ff       	call   0x408b88
40a6d8:	85 c0                	test   %eax,%eax
40a6da:	75 31                	jne    0x40a70d
40a6dc:	55                   	push   %ebp
40a6dd:	e8 2e f7 ff ff       	call   0x409e10
40a6e2:	59                   	pop    %ecx
40a6e3:	8b 45 08             	mov    0x8(%ebp),%eax
40a6e6:	50                   	push   %eax
40a6e7:	8b 45 08             	mov    0x8(%ebp),%eax
40a6ea:	ff 70 0c             	push   0xc(%eax)
40a6ed:	ff 70 08             	push   0x8(%eax)
40a6f0:	e8 ff f5 ff ff       	call   0x409cf4
40a6f5:	0f b7 c0             	movzwl %ax,%eax
40a6f8:	8b 04 85 24 17 46 00 	mov    0x461724(,%eax,4),%eax
40a6ff:	e8 70 f6 ff ff       	call   0x409d74
40a704:	59                   	pop    %ecx
40a705:	83 06 03             	addl   $0x3,(%esi)
40a708:	e9 66 01 00 00       	jmp    0x40a873
40a70d:	ba cc a8 40 00       	mov    $0x40a8cc,%edx
40a712:	b9 03 00 00 00       	mov    $0x3,%ecx
40a717:	8b 45 dc             	mov    -0x24(%ebp),%eax
40a71a:	e8 69 e4 ff ff       	call   0x408b88
40a71f:	85 c0                	test   %eax,%eax
40a721:	75 31                	jne    0x40a754
40a723:	55                   	push   %ebp
40a724:	e8 e7 f6 ff ff       	call   0x409e10
40a729:	59                   	pop    %ecx
40a72a:	8b 45 08             	mov    0x8(%ebp),%eax
40a72d:	50                   	push   %eax
40a72e:	8b 45 08             	mov    0x8(%ebp),%eax
40a731:	ff 70 0c             	push   0xc(%eax)
40a734:	ff 70 08             	push   0x8(%eax)
40a737:	e8 b8 f5 ff ff       	call   0x409cf4
40a73c:	0f b7 c0             	movzwl %ax,%eax
40a73f:	8b 04 85 08 17 46 00 	mov    0x461708(,%eax,4),%eax
40a746:	e8 29 f6 ff ff       	call   0x409d74
40a74b:	59                   	pop    %ecx
40a74c:	83 06 02             	addl   $0x2,(%esi)
40a74f:	e9 1f 01 00 00       	jmp    0x40a873
40a754:	8b 45 08             	mov    0x8(%ebp),%eax
40a757:	50                   	push   %eax
40a758:	8d 45 fb             	lea    -0x5(%ebp),%eax
40a75b:	ba 01 00 00 00       	mov    $0x1,%edx
40a760:	e8 cb f5 ff ff       	call   0x409d30
40a765:	59                   	pop    %ecx
40a766:	e9 08 01 00 00       	jmp    0x40a873