41138f:	8b 55 fc             	mov    -0x4(%ebp),%edx
411392:	57                   	push   %edi
411393:	8d 8d d4 f9 ff ff    	lea    -0x62c(%ebp),%ecx
411399:	51                   	push   %ecx
41139a:	52                   	push   %edx
41139b:	8d 85 dc fb ff ff    	lea    -0x424(%ebp),%eax
4113a1:	50                   	push   %eax
4113a2:	56                   	push   %esi
4113a3:	bb 01 00 00 00       	mov    $0x1,%ebx
4113a8:	e8 73 fb ff ff       	call   0x410f20
4113ad:	83 c4 14             	add    $0x14,%esp
4113b0:	33 c9                	xor    %ecx,%ecx
4113b2:	68 19 02 02 00       	push   $0x20219
4113b7:	8d 85 dc fb ff ff    	lea    -0x424(%ebp),%eax
4113bd:	66 89 8c 7d dc fb ff 	mov    %cx,-0x424(%ebp,%edi,2)
4113c4:	ff
4113c5:	50                   	push   %eax
4113c6:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4113c9:	51                   	push   %ecx
4113ca:	ba 36 00 00 00       	mov    $0x36,%edx
4113cf:	56                   	push   %esi
4113d0:	66 89 94 7d a2 fb ff 	mov    %dx,-0x45e(%ebp,%edi,2)
4113d7:	ff
4113d8:	e8 33 93 ff ff       	call   0x40a710
4113dd:	83 c4 10             	add    $0x10,%esp
4113e0:	85 c0                	test   %eax,%eax
4113e2:	74 42                	je     0x411426
4113e4:	85 db                	test   %ebx,%ebx
4113e6:	75 1d                	jne    0x411405
4113e8:	68 56 02 00 00       	push   $0x256
4113ed:	8d 95 d4 f9 ff ff    	lea    -0x62c(%ebp),%edx
4113f3:	52                   	push   %edx
4113f4:	56                   	push   %esi
4113f5:	e8 36 f7 ff ff       	call   0x410b30
4113fa:	83 c4 0c             	add    $0xc,%esp
4113fd:	85 c0                	test   %eax,%eax
4113ff:	0f 84 a1 00 00 00    	je     0x4114a6
411405:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411408:	57                   	push   %edi
411409:	8d 85 d4 f9 ff ff    	lea    -0x62c(%ebp),%eax
41140f:	50                   	push   %eax
411410:	51                   	push   %ecx
411411:	8d 95 dc fb ff ff    	lea    -0x424(%ebp),%edx
411417:	52                   	push   %edx
411418:	56                   	push   %esi
411419:	bb 01 00 00 00       	mov    $0x1,%ebx
41141e:	e8 fd fa ff ff       	call   0x410f20
411423:	83 c4 14             	add    $0x14,%esp
411426:	33 c0                	xor    %eax,%eax
411428:	33 c9                	xor    %ecx,%ecx
41142a:	51                   	push   %ecx
41142b:	8d 55 dc             	lea    -0x24(%ebp),%edx
41142e:	66 89 84 7d da fb ff 	mov    %ax,-0x426(%ebp,%edi,2)
411435:	ff
411436:	89 45 ea             	mov    %eax,-0x16(%ebp)
411439:	89 45 ee             	mov    %eax,-0x12(%ebp)
41143c:	89 45 f2             	mov    %eax,-0xe(%ebp)
41143f:	89 45 f6             	mov    %eax,-0xa(%ebp)
411442:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
411446:	52                   	push   %edx
411447:	8d 85 dc fb ff ff    	lea    -0x424(%ebp),%eax
41144d:	50                   	push   %eax
41144e:	c7 45 dc 5f 00 32 00 	movl   $0x32005f,-0x24(%ebp)
411455:	c7 45 e0 30 00 31 00 	movl   $0x310030,-0x20(%ebp)
41145c:	c7 45 e4 36 00 5c 00 	movl   $0x5c0036,-0x1c(%ebp)
411463:	66 89 4d e8          	mov    %cx,-0x18(%ebp)
411467:	e8 54 73 00 00       	call   0x4187c0
41146c:	68 19 02 02 00       	push   $0x20219
411471:	8d 8d dc fb ff ff    	lea    -0x424(%ebp),%ecx
411477:	51                   	push   %ecx
411478:	8d 55 fc             	lea    -0x4(%ebp),%edx
41147b:	52                   	push   %edx
41147c:	56                   	push   %esi
41147d:	e8 8e 92 ff ff       	call   0x40a710
411482:	83 c4 1c             	add    $0x1c,%esp
411485:	85 c0                	test   %eax,%eax
411487:	74 45                	je     0x4114ce
411489:	85 db                	test   %ebx,%ebx
41148b:	75 22                	jne    0x4114af
41148d:	68 56 02 00 00       	push   $0x256
411492:	8d 85 d4 f9 ff ff    	lea    -0x62c(%ebp),%eax
411498:	50                   	push   %eax
411499:	56                   	push   %esi
41149a:	e8 91 f6 ff ff       	call   0x410b30
41149f:	83 c4 0c             	add    $0xc,%esp
4114a2:	85 c0                	test   %eax,%eax
4114a4:	75 09                	jne    0x4114af
4114a6:	5f                   	pop    %edi
4114a7:	5e                   	pop    %esi
4114a8:	33 c0                	xor    %eax,%eax
4114aa:	5b                   	pop    %ebx
4114ab:	8b e5                	mov    %ebp,%esp
4114ad:	5d                   	pop    %ebp
4114ae:	c3                   	ret
4114af:	8b 55 fc             	mov    -0x4(%ebp),%edx
4114b2:	83 c7 05             	add    $0x5,%edi
4114b5:	57                   	push   %edi
4114b6:	8d 8d d4 f9 ff ff    	lea    -0x62c(%ebp),%ecx
4114bc:	51                   	push   %ecx
4114bd:	52                   	push   %edx
4114be:	8d 85 dc fb ff ff    	lea    -0x424(%ebp),%eax
4114c4:	50                   	push   %eax
4114c5:	56                   	push   %esi
4114c6:	e8 55 fa ff ff       	call   0x410f20
4114cb:	83 c4 14             	add    $0x14,%esp
4114ce:	5f                   	pop    %edi
4114cf:	5e                   	pop    %esi
4114d0:	b8 01 00 00 00       	mov    $0x1,%eax
4114d5:	5b                   	pop    %ebx
4114d6:	8b e5                	mov    %ebp,%esp
4114d8:	5d                   	pop    %ebp
4114d9:	c3                   	ret
4114da:	29 8b c8 58 7d 80    	sub    %ecx,-0x7f82a738(%ebx)
4114e0:	55                   	push   %ebp
4114e1:	8b ec                	mov    %esp,%ebp
4114e3:	83 ec 40             	sub    $0x40,%esp
4114e6:	53                   	push   %ebx
4114e7:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4114ea:	56                   	push   %esi
4114eb:	33 f6                	xor    %esi,%esi
4114ed:	3b de                	cmp    %esi,%ebx
4114ef:	75 08                	jne    0x4114f9
4114f1:	5e                   	pop    %esi
4114f2:	33 c0                	xor    %eax,%eax
4114f4:	5b                   	pop    %ebx
4114f5:	8b e5                	mov    %ebp,%esp
4114f7:	5d                   	pop    %ebp
4114f8:	c3                   	ret
4114f9:	8d 45 c0             	lea    -0x40(%ebp),%eax
4114fc:	53                   	push   %ebx
4114fd:	50                   	push   %eax
4114fe:	e8 bd 6b 00 00       	call   0x4180c0
411503:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
411506:	8b 91 a4 00 00 00    	mov    0xa4(%ecx),%edx
41150c:	8b 45 10             	mov    0x10(%ebp),%eax
41150f:	89 55 d0             	mov    %edx,-0x30(%ebp)
411512:	2b 41 34             	sub    0x34(%ecx),%eax
411515:	83 c4 08             	add    $0x8,%esp
411518:	89 45 cc             	mov    %eax,-0x34(%ebp)
41151b:	8b 89 a0 00 00 00    	mov    0xa0(%ecx),%ecx
411521:	03 cb                	add    %ebx,%ecx
411523:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
411526:	b9 08 00 00 00       	mov    $0x8,%ecx
41152b:	89 75 d8             	mov    %esi,-0x28(%ebp)
41152e:	66 89 4d dc          	mov    %cx,-0x24(%ebp)
411532:	3b d6                	cmp    %esi,%edx
411534:	0f 84 96 02 00 00    	je     0x4117d0
41153a:	3b c6                	cmp    %esi,%eax
41153c:	0f 84 8e 02 00 00    	je     0x4117d0
411542:	57                   	push   %edi
411543:	8b 7d 08             	mov    0x8(%ebp),%edi
411546:	51                   	push   %ecx
411547:	57                   	push   %edi
411548:	e8 63 7f 00 00       	call   0x4194b0
41154d:	6a 04                	push   $0x4
41154f:	57                   	push   %edi
411550:	89 45 f8             	mov    %eax,-0x8(%ebp)
411553:	e8 58 7f 00 00       	call   0x4194b0
411558:	83 c4 10             	add    $0x10,%esp
41155b:	89 45 e8             	mov    %eax,-0x18(%ebp)
41155e:	39 75 d0             	cmp    %esi,-0x30(%ebp)
411561:	76 43                	jbe    0x4115a6
411563:	89 75 ec             	mov    %esi,-0x14(%ebp)
411566:	8b 55 d4             	mov    -0x2c(%ebp),%edx
411569:	8d 04 16             	lea    (%esi,%edx,1),%eax
41156c:	50                   	push   %eax
41156d:	8d 4d f8             	lea    -0x8(%ebp),%ecx
411570:	51                   	push   %ecx
411571:	57                   	push   %edi
411572:	e8 d9 7f 00 00       	call   0x419550
411577:	8b 55 d4             	mov    -0x2c(%ebp),%edx
41157a:	8d 04 16             	lea    (%esi,%edx,1),%eax
41157d:	8d 4d e0             	lea    -0x20(%ebp),%ecx
411580:	51                   	push   %ecx
411581:	8d 55 e8             	lea    -0x18(%ebp),%edx
411584:	52                   	push   %edx
411585:	57                   	push   %edi
411586:	89 45 e0             	mov    %eax,-0x20(%ebp)
411589:	e8 52 80 00 00       	call   0x4195e0
41158e:	8b 45 ec             	mov    -0x14(%ebp),%eax
411591:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411594:	03 74 08 04          	add    0x4(%eax,%ecx,1),%esi
411598:	83 c0 08             	add    $0x8,%eax
41159b:	83 c4 18             	add    $0x18,%esp
41159e:	89 45 ec             	mov    %eax,-0x14(%ebp)
4115a1:	3b 75 d0             	cmp    -0x30(%ebp),%esi
4115a4:	72 c0                	jb     0x411566
4115a6:	8d 55 f8             	lea    -0x8(%ebp),%edx
4115a9:	52                   	push   %edx
4115aa:	e8 81 7f 00 00       	call   0x419530
4115af:	6a 02                	push   $0x2
4115b1:	57                   	push   %edi
4115b2:	89 45 d8             	mov    %eax,-0x28(%ebp)
4115b5:	e8 f6 7e 00 00       	call   0x4194b0
4115ba:	33 ff                	xor    %edi,%edi
4115bc:	83 c4 0c             	add    $0xc,%esp
4115bf:	89 45 f4             	mov    %eax,-0xc(%ebp)
4115c2:	39 7d d8             	cmp    %edi,-0x28(%ebp)
4115c5:	76 50                	jbe    0x411617
4115c7:	0f b7 45 dc          	movzwl -0x24(%ebp),%eax
4115cb:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4115ce:	8b ff                	mov    %edi,%edi
4115d0:	33 f6                	xor    %esi,%esi
4115d2:	3b 44 f9 04          	cmp    0x4(%ecx,%edi,8),%eax
4115d6:	73 39                	jae    0x411611
4115d8:	eb 06                	jmp    0x4115e0
4115da:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4115e0:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4115e3:	8b 14 b9             	mov    (%ecx,%edi,4),%edx
4115e6:	8b 4d 08             	mov    0x8(%ebp),%ecx
4115e9:	03 d0                	add    %eax,%edx
4115eb:	03 d6                	add    %esi,%edx
4115ed:	52                   	push   %edx
4115ee:	8d 45 f4             	lea    -0xc(%ebp),%eax
4115f1:	50                   	push   %eax
4115f2:	51                   	push   %ecx
4115f3:	e8 e8 7f 00 00       	call   0x4195e0
4115f8:	0f b7 45 dc          	movzwl -0x24(%ebp),%eax
4115fc:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4115ff:	83 c6 02             	add    $0x2,%esi
411602:	8d 14 30             	lea    (%eax,%esi,1),%edx
411605:	83 c4 0c             	add    $0xc,%esp
411608:	3b 54 f9 04          	cmp    0x4(%ecx,%edi,8),%edx
41160c:	72 d2                	jb     0x4115e0
41160e:	8b 5d 0c             	mov    0xc(%ebp),%ebx
411611:	47                   	inc    %edi
411612:	3b 7d d8             	cmp    -0x28(%ebp),%edi
411615:	72 b9                	jb     0x4115d0
411617:	8d 45 f4             	lea    -0xc(%ebp),%eax
41161a:	50                   	push   %eax
41161b:	e8 10 7f 00 00       	call   0x419530
411620:	8b 4d 08             	mov    0x8(%ebp),%ecx
411623:	6a 02                	push   $0x2
411625:	51                   	push   %ecx
411626:	8b f8                	mov    %eax,%edi
411628:	e8 83 7e 00 00       	call   0x4194b0
41162d:	83 c4 0c             	add    $0xc,%esp
411630:	33 f6                	xor    %esi,%esi
411632:	89 45 e4             	mov    %eax,-0x1c(%ebp)
411635:	85 ff                	test   %edi,%edi
411637:	74 31                	je     0x41166a
411639:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
411640:	8b 55 f4             	mov    -0xc(%ebp),%edx
411643:	66 8b 04 72          	mov    (%edx,%esi,2),%ax
411647:	66 c1 e8 0c          	shr    $0xc,%ax
41164b:	0f b7 c8             	movzwl %ax,%ecx
41164e:	8d 55 0c             	lea    0xc(%ebp),%edx
411651:	52                   	push   %edx
411652:	8d 45 e4             	lea    -0x1c(%ebp),%eax
411655:	89 4d 0c             	mov    %ecx,0xc(%ebp)
411658:	8b 4d 08             	mov    0x8(%ebp),%ecx
41165b:	50                   	push   %eax
41165c:	51                   	push   %ecx
41165d:	e8 7e 7f 00 00       	call   0x4195e0
411662:	46                   	inc    %esi
411663:	83 c4 0c             	add    $0xc,%esp
411666:	3b f7                	cmp    %edi,%esi
411668:	72 d6                	jb     0x411640
41166a:	8b 55 08             	mov    0x8(%ebp),%edx
41166d:	6a 02                	push   $0x2
41166f:	52                   	push   %edx
411670:	e8 3b 7e 00 00       	call   0x4194b0
411675:	83 c4 08             	add    $0x8,%esp
411678:	33 f6                	xor    %esi,%esi
41167a:	89 45 f0             	mov    %eax,-0x10(%ebp)
41167d:	85 ff                	test   %edi,%edi
41167f:	74 2e                	je     0x4116af
411681:	8b 45 f4             	mov    -0xc(%ebp),%eax
411684:	66 8b 0c 70          	mov    (%eax,%esi,2),%cx
411688:	ba ff 0f 00 00       	mov    $0xfff,%edx
41168d:	66 23 ca             	and    %dx,%cx
411690:	0f b7 c1             	movzwl %cx,%eax
411693:	8d 4d 0c             	lea    0xc(%ebp),%ecx
411696:	51                   	push   %ecx
411697:	8d 55 f0             	lea    -0x10(%ebp),%edx
41169a:	89 45 0c             	mov    %eax,0xc(%ebp)
41169d:	8b 45 08             	mov    0x8(%ebp),%eax
4116a0:	52                   	push   %edx
4116a1:	50                   	push   %eax
4116a2:	e8 39 7f 00 00       	call   0x4195e0
4116a7:	46                   	inc    %esi
4116a8:	83 c4 0c             	add    $0xc,%esp
4116ab:	3b f7                	cmp    %edi,%esi
4116ad:	72 d2                	jb     0x411681
4116af:	33 ff                	xor    %edi,%edi
4116b1:	89 7d ec             	mov    %edi,-0x14(%ebp)
4116b4:	39 7d d8             	cmp    %edi,-0x28(%ebp)
4116b7:	0f 86 d1 00 00 00    	jbe    0x41178e
4116bd:	8d 49 00             	lea    0x0(%ecx),%ecx
4116c0:	0f b7 55 dc          	movzwl -0x24(%ebp),%edx
4116c4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4116c7:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
4116ce:	3b 54 f9 04          	cmp    0x4(%ecx,%edi,8),%edx
4116d2:	0f 83 ac 00 00 00    	jae    0x411784
4116d8:	eb 06                	jmp    0x4116e0
4116da:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4116e0:	0f b7 75 ec          	movzwl -0x14(%ebp),%esi
4116e4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4116e7:	03 f6                	add    %esi,%esi
4116e9:	0f b7 04 06          	movzwl (%esi,%eax,1),%eax
4116ed:	66 85 c0             	test   %ax,%ax
4116f0:	74 73                	je     0x411765
4116f2:	83 f8 01             	cmp    $0x1,%eax
4116f5:	75 29                	jne    0x411720
4116f7:	6a 02                	push   $0x2
4116f9:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4116fc:	51                   	push   %ecx
4116fd:	8d 55 0c             	lea    0xc(%ebp),%edx
411700:	52                   	push   %edx
411701:	e8 5a 6c 00 00       	call   0x418360
411706:	8b 45 f0             	mov    -0x10(%ebp),%eax
411709:	0f b7 04 06          	movzwl (%esi,%eax,1),%eax
41170d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411710:	03 04 f9             	add    (%ecx,%edi,8),%eax
411713:	66 8b 55 0c          	mov    0xc(%ebp),%dx
411717:	83 c4 0c             	add    $0xc,%esp
41171a:	66 01 14 18          	add    %dx,(%eax,%ebx,1)
41171e:	eb 45                	jmp    0x411765
411720:	83 f8 02             	cmp    $0x2,%eax
411723:	75 2b                	jne    0x411750
411725:	50                   	push   %eax
411726:	8d 45 d4             	lea    -0x2c(%ebp),%eax
411729:	50                   	push   %eax
41172a:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41172d:	51                   	push   %ecx
41172e:	e8 2d 6c 00 00       	call   0x418360
411733:	8b 55 f0             	mov    -0x10(%ebp),%edx
411736:	0f b7 04 16          	movzwl (%esi,%edx,1),%eax
41173a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41173d:	03 04 f9             	add    (%ecx,%edi,8),%eax
411740:	66 8b 55 fc          	mov    -0x4(%ebp),%dx
411744:	8d 44 18 02          	lea    0x2(%eax,%ebx,1),%eax
411748:	83 c4 0c             	add    $0xc,%esp
41174b:	66 01 10             	add    %dx,(%eax)
41174e:	eb 15                	jmp    0x411765
411750:	83 f8 03             	cmp    $0x3,%eax
411753:	75 10                	jne    0x411765
411755:	8b 45 f0             	mov    -0x10(%ebp),%eax
411758:	0f b7 04 06          	movzwl (%esi,%eax,1),%eax
41175c:	03 04 f9             	add    (%ecx,%edi,8),%eax
41175f:	8b 4d cc             	mov    -0x34(%ebp),%ecx
411762:	01 0c 18             	add    %ecx,(%eax,%ebx,1)
411765:	8b 45 e0             	mov    -0x20(%ebp),%eax
411768:	0f b7 55 dc          	movzwl -0x24(%ebp),%edx
41176c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41176f:	ff 45 ec             	incl   -0x14(%ebp)
411772:	83 c0 02             	add    $0x2,%eax
411775:	03 d0                	add    %eax,%edx
411777:	89 45 e0             	mov    %eax,-0x20(%ebp)
41177a:	3b 54 f9 04          	cmp    0x4(%ecx,%edi,8),%edx