4102af:	e9 40 fe ff ff       	jmp    0x4100f4
4102b4:	83 f8 06             	cmp    $0x6,%eax
4102b7:	77 34                	ja     0x4102ed
4102b9:	ff 24 85 88 16 41 00 	jmp    *0x411688(,%eax,4)
4102c0:	84 c9                	test   %cl,%cl
4102c2:	0f 85 73 05 00 00    	jne    0x41083b
4102c8:	6a 08                	push   $0x8
4102ca:	e8 1b f2 00 00       	call   0x41f4ea
4102cf:	83 c4 04             	add    $0x4,%esp
4102d2:	85 c0                	test   %eax,%eax
4102d4:	0f 84 a3 12 00 00    	je     0x41157d
4102da:	89 30                	mov    %esi,(%eax)
4102dc:	89 58 04             	mov    %ebx,0x4(%eax)
4102df:	8b d8                	mov    %eax,%ebx
4102e1:	89 5c 24 34          	mov    %ebx,0x34(%esp)
4102e5:	89 5c 24 58          	mov    %ebx,0x58(%esp)
4102e9:	ff 44 24 54          	incl   0x54(%esp)
4102ed:	83 fe 07             	cmp    $0x7,%esi
4102f0:	0f 84 c2 0d 00 00    	je     0x4110b8
4102f6:	83 fe 08             	cmp    $0x8,%esi
4102f9:	0f 84 b9 0d 00 00    	je     0x4110b8
4102ff:	8b 75 0c             	mov    0xc(%ebp),%esi
410302:	8b 44 24 28          	mov    0x28(%esp),%eax
410306:	8b 7c 24 20          	mov    0x20(%esp),%edi
41030a:	89 44 24 10          	mov    %eax,0x10(%esp)
41030e:	e9 25 fc ff ff       	jmp    0x40ff38
410313:	8b 44 24 30          	mov    0x30(%esp),%eax
410317:	8b 12                	mov    (%edx),%edx
410319:	8b 00                	mov    (%eax),%eax
41031b:	89 44 24 3c          	mov    %eax,0x3c(%esp)
41031f:	85 c9                	test   %ecx,%ecx
410321:	0f 84 1d fe ff ff    	je     0x410144
410327:	eb 07                	jmp    0x410330
410329:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
410330:	66 8b 00             	mov    (%eax),%ax
410333:	66 3b 02             	cmp    (%edx),%ax
410336:	8b 44 24 3c          	mov    0x3c(%esp),%eax
41033a:	0f 84 76 0c 00 00    	je     0x410fb6
410340:	0f b7 00             	movzwl (%eax),%eax
410343:	66 3b 02             	cmp    (%edx),%ax
410346:	e9 03 fe ff ff       	jmp    0x41014e
41034b:	8b 74 24 24          	mov    0x24(%esp),%esi
41034f:	c7 44 24 18 16 00 00 	movl   $0x16,0x18(%esp)
410356:	00
410357:	85 f6                	test   %esi,%esi
410359:	0f 85 e8 04 00 00    	jne    0x410847
41035f:	81 ff 20 22 4c 00    	cmp    $0x4c2220,%edi
410365:	74 3e                	je     0x4103a5
410367:	83 7f 0c 04          	cmpl   $0x4,0xc(%edi)
41036b:	0f 84 5b 04 00 00    	je     0x4107cc
410371:	8b 77 08             	mov    0x8(%edi),%esi
410374:	85 f6                	test   %esi,%esi
410376:	0f 85 62 04 00 00    	jne    0x4107de
41037c:	8b 47 0c             	mov    0xc(%edi),%eax
41037f:	83 f8 05             	cmp    $0x5,%eax
410382:	0f 8d 02 9e 06 00    	jge    0x47a18a
410388:	68 20 22 4c 00       	push   $0x4c2220
41038d:	8b cf                	mov    %edi,%ecx
41038f:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
410396:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
41039c:	e8 7f 13 00 00       	call   0x411720
4103a1:	8b 74 24 24          	mov    0x24(%esp),%esi
4103a5:	8b 54 24 10          	mov    0x10(%esp),%edx
4103a9:	8b 45 0c             	mov    0xc(%ebp),%eax
4103ac:	46                   	inc    %esi
4103ad:	8b 08                	mov    (%eax),%ecx
4103af:	8b 45 08             	mov    0x8(%ebp),%eax
4103b2:	89 74 24 24          	mov    %esi,0x24(%esp)
4103b6:	8b 40 04             	mov    0x4(%eax),%eax
4103b9:	8b 04 88             	mov    (%eax,%ecx,4),%eax
4103bc:	83 fe 01             	cmp    $0x1,%esi
4103bf:	0f 85 ce 04 00 00    	jne    0x410893
4103c5:	8b f7                	mov    %edi,%esi
4103c7:	8b 4e 08             	mov    0x8(%esi),%ecx
4103ca:	8b 00                	mov    (%eax),%eax
4103cc:	89 44 24 48          	mov    %eax,0x48(%esp)
4103d0:	85 c9                	test   %ecx,%ecx
4103d2:	0f 85 68 9f 06 00    	jne    0x47a340
4103d8:	8b 46 0c             	mov    0xc(%esi),%eax
4103db:	83 f8 05             	cmp    $0x5,%eax
4103de:	0f 8d 6e 9f 06 00    	jge    0x47a352
4103e4:	8b 44 24 48          	mov    0x48(%esp),%eax
4103e8:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4103ef:	89 06                	mov    %eax,(%esi)
4103f1:	8b 75 0c             	mov    0xc(%ebp),%esi
4103f4:	ff 06                	incl   (%esi)
4103f6:	e9 3d fb ff ff       	jmp    0x40ff38
4103fb:	8b 44 24 30          	mov    0x30(%esp),%eax
4103ff:	8b 35 e0 20 4c 00    	mov    0x4c20e0,%esi
410405:	85 f6                	test   %esi,%esi
410407:	0f 84 f7 a4 06 00    	je     0x47a904
41040d:	8b 0d f0 21 4c 00    	mov    0x4c21f0,%ecx
410413:	c6 44 24 1f 00       	movb   $0x0,0x1f(%esp)
410418:	f6 c1 01             	test   $0x1,%cl
41041b:	0f 84 ef a1 06 00    	je     0x47a610
410421:	c7 05 10 22 4c 00 00 	movl   $0x0,0x4c2210
410428:	00 00 00
41042b:	c7 05 0c 22 4c 00 00 	movl   $0x0,0x4c220c
410432:	00 00 00
410435:	c7 44 24 3c f4 21 4c 	movl   $0x4c21f4,0x3c(%esp)
41043c:	00
41043d:	c7 44 24 68 f4 21 4c 	movl   $0x4c21f4,0x68(%esp)
410444:	00
410445:	8b 50 04             	mov    0x4(%eax),%edx
410448:	8b 4e 04             	mov    0x4(%esi),%ecx
41044b:	89 54 24 44          	mov    %edx,0x44(%esp)
41044f:	85 d2                	test   %edx,%edx
410451:	0f 84 e8 a1 06 00    	je     0x47a63f
410457:	85 c9                	test   %ecx,%ecx
410459:	0f 84 e8 a1 06 00    	je     0x47a647
41045f:	3b d1                	cmp    %ecx,%edx
410461:	0f 82 96 01 00 00    	jb     0x4105fd
410467:	8b 0e                	mov    (%esi),%ecx
410469:	8b c2                	mov    %edx,%eax
41046b:	8b 54 24 30          	mov    0x30(%esp),%edx
41046f:	89 44 24 48          	mov    %eax,0x48(%esp)
410473:	8b 12                	mov    (%edx),%edx
410475:	85 c0                	test   %eax,%eax
410477:	74 1f                	je     0x410498
410479:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
410480:	66 8b 02             	mov    (%edx),%ax
410483:	66 3b 01             	cmp    (%ecx),%ax
410486:	0f 85 c1 01 00 00    	jne    0x41064d
41048c:	83 c2 02             	add    $0x2,%edx
41048f:	83 c1 02             	add    $0x2,%ecx
410492:	ff 4c 24 48          	decl   0x48(%esp)
410496:	75 e8                	jne    0x410480
410498:	33 c0                	xor    %eax,%eax
41049a:	8b 54 24 44          	mov    0x44(%esp),%edx
41049e:	85 c0                	test   %eax,%eax
4104a0:	0f 88 b8 01 00 00    	js     0x41065e
4104a6:	0f 8f 90 00 00 00    	jg     0x41053c
4104ac:	c6 44 24 1f 01       	movb   $0x1,0x1f(%esp)
4104b1:	80 7c 24 1f 00       	cmpb   $0x0,0x1f(%esp)
4104b6:	8b 46 18             	mov    0x18(%esi),%eax
4104b9:	8b 4c 24 68          	mov    0x68(%esp),%ecx
4104bd:	89 41 1c             	mov    %eax,0x1c(%ecx)
4104c0:	a1 e0 20 4c 00       	mov    0x4c20e0,%eax
4104c5:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
4104c9:	8b 40 1c             	mov    0x1c(%eax),%eax
4104cc:	89 41 18             	mov    %eax,0x18(%ecx)
4104cf:	8b 0d e0 20 4c 00    	mov    0x4c20e0,%ecx
4104d5:	a1 10 22 4c 00       	mov    0x4c2210,%eax
4104da:	89 41 18             	mov    %eax,0x18(%ecx)
4104dd:	8b 0d e0 20 4c 00    	mov    0x4c20e0,%ecx
4104e3:	a1 0c 22 4c 00       	mov    0x4c220c,%eax
4104e8:	89 41 1c             	mov    %eax,0x1c(%ecx)
4104eb:	0f 84 13 a4 06 00    	je     0x47a904
4104f1:	a1 e0 20 4c 00       	mov    0x4c20e0,%eax
4104f6:	85 c0                	test   %eax,%eax
4104f8:	0f 84 06 a4 06 00    	je     0x47a904
4104fe:	8b 40 14             	mov    0x14(%eax),%eax
410501:	85 c0                	test   %eax,%eax
410503:	0f 85 10 fa ff ff    	jne    0x40ff19
410509:	e9 f6 a3 06 00       	jmp    0x47a904
41050e:	83 c0 02             	add    $0x2,%eax
410511:	83 c2 02             	add    $0x2,%edx
410514:	ff 4c 24 3c          	decl   0x3c(%esp)
410518:	89 44 24 44          	mov    %eax,0x44(%esp)
41051c:	0f 85 fe fc ff ff    	jne    0x410220
410522:	8b 44 24 60          	mov    0x60(%esp),%eax
410526:	3b 41 04             	cmp    0x4(%ecx),%eax
410529:	0f 83 24 fd ff ff    	jae    0x410253
41052f:	e9 04 fd ff ff       	jmp    0x410238
410534:	8b 43 04             	mov    0x4(%ebx),%eax
410537:	e9 72 fa ff ff       	jmp    0x40ffae
41053c:	8d 46 1c             	lea    0x1c(%esi),%eax
41053f:	89 44 24 38          	mov    %eax,0x38(%esp)
410543:	8b 00                	mov    (%eax),%eax
410545:	85 c0                	test   %eax,%eax
410547:	0f 84 64 ff ff ff    	je     0x4104b1
41054d:	8b 48 04             	mov    0x4(%eax),%ecx
410550:	89 4c 24 40          	mov    %ecx,0x40(%esp)
410554:	3b ca                	cmp    %edx,%ecx
410556:	76 06                	jbe    0x41055e
410558:	8b ca                	mov    %edx,%ecx
41055a:	89 54 24 40          	mov    %edx,0x40(%esp)
41055e:	8b 10                	mov    (%eax),%edx
410560:	8b 44 24 40          	mov    0x40(%esp),%eax
410564:	89 4c 24 48          	mov    %ecx,0x48(%esp)
410568:	8b 4c 24 30          	mov    0x30(%esp),%ecx
41056c:	8b 09                	mov    (%ecx),%ecx
41056e:	85 c0                	test   %eax,%eax
410570:	74 18                	je     0x41058a
410572:	66 8b 02             	mov    (%edx),%ax
410575:	66 3b 01             	cmp    (%ecx),%ax
410578:	75 18                	jne    0x410592
41057a:	83 c2 02             	add    $0x2,%edx
41057d:	83 c1 02             	add    $0x2,%ecx
410580:	ff 4c 24 48          	decl   0x48(%esp)
410584:	75 ec                	jne    0x410572
410586:	8b 44 24 40          	mov    0x40(%esp),%eax
41058a:	3b 44 24 44          	cmp    0x44(%esp),%eax
41058e:	72 04                	jb     0x410594
410590:	eb 25                	jmp    0x4105b7
410592:	73 23                	jae    0x4105b7
410594:	8b 4c 24 38          	mov    0x38(%esp),%ecx
410598:	8b 31                	mov    (%ecx),%esi
41059a:	8b 46 18             	mov    0x18(%esi),%eax
41059d:	89 01                	mov    %eax,(%ecx)
41059f:	a1 e0 20 4c 00       	mov    0x4c20e0,%eax
4105a4:	89 46 18             	mov    %eax,0x18(%esi)
4105a7:	89 35 e0 20 4c 00    	mov    %esi,0x4c20e0
4105ad:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
4105b1:	0f 84 fa fe ff ff    	je     0x4104b1
4105b7:	8b 4c 24 68          	mov    0x68(%esp),%ecx
4105bb:	89 71 1c             	mov    %esi,0x1c(%ecx)
4105be:	a1 e0 20 4c 00       	mov    0x4c20e0,%eax
4105c3:	89 44 24 68          	mov    %eax,0x68(%esp)
4105c7:	8b 70 1c             	mov    0x1c(%eax),%esi
4105ca:	8b 44 24 30          	mov    0x30(%esp),%eax
4105ce:	89 35 e0 20 4c 00    	mov    %esi,0x4c20e0
4105d4:	e9 6c fe ff ff       	jmp    0x410445
4105d9:	8d 44 24 20          	lea    0x20(%esp),%eax
4105dd:	50                   	push   %eax
4105de:	8d 44 24 58          	lea    0x58(%esp),%eax
4105e2:	50                   	push   %eax
4105e3:	e8 28 17 00 00       	call   0x411d10
4105e8:	85 c0                	test   %eax,%eax
4105ea:	0f 88 b1 0f 00 00    	js     0x4115a1
4105f0:	8b 5c 24 58          	mov    0x58(%esp),%ebx
4105f4:	89 5c 24 34          	mov    %ebx,0x34(%esp)
4105f8:	e9 a3 f9 ff ff       	jmp    0x40ffa0
4105fd:	8b 06                	mov    (%esi),%eax
4105ff:	8b 5c 24 30          	mov    0x30(%esp),%ebx
410603:	89 44 24 38          	mov    %eax,0x38(%esp)
410607:	8b 03                	mov    (%ebx),%eax
410609:	8b 5c 24 34          	mov    0x34(%esp),%ebx
41060d:	89 44 24 40          	mov    %eax,0x40(%esp)
410611:	85 c9                	test   %ecx,%ecx
410613:	0f 84 09 02 00 00    	je     0x410822
410619:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
410620:	8b 5c 24 38          	mov    0x38(%esp),%ebx
410624:	66 8b 00             	mov    (%eax),%ax
410627:	66 3b 03             	cmp    (%ebx),%ax
41062a:	8b 5c 24 34          	mov    0x34(%esp),%ebx
41062e:	8b 44 24 40          	mov    0x40(%esp),%eax
410632:	0f 84 d7 01 00 00    	je     0x41080f
410638:	0f b7 00             	movzwl (%eax),%eax
41063b:	8b 4c 24 38          	mov    0x38(%esp),%ecx
41063f:	66 3b 01             	cmp    (%ecx),%ax
410642:	1b c0                	sbb    %eax,%eax
410644:	83 e0 fe             	and    $0xfffffffe,%eax
410647:	40                   	inc    %eax
410648:	e9 51 fe ff ff       	jmp    0x41049e
41064d:	0f b7 02             	movzwl (%edx),%eax
410650:	66 3b 01             	cmp    (%ecx),%ax
410653:	1b c0                	sbb    %eax,%eax
410655:	83 e0 fe             	and    $0xfffffffe,%eax
410658:	40                   	inc    %eax
410659:	e9 3c fe ff ff       	jmp    0x41049a
41065e:	8b 4e 18             	mov    0x18(%esi),%ecx
410661:	8d 46 18             	lea    0x18(%esi),%eax
410664:	89 44 24 44          	mov    %eax,0x44(%esp)
410668:	85 c9                	test   %ecx,%ecx
41066a:	0f 84 41 fe ff ff    	je     0x4104b1
410670:	8b 41 04             	mov    0x4(%ecx),%eax
410673:	3b d0                	cmp    %eax,%edx
410675:	0f 87 08 0b 00 00    	ja     0x411183
41067b:	8b 01                	mov    (%ecx),%eax
41067d:	8b 5c 24 30          	mov    0x30(%esp),%ebx
410681:	89 44 24 38          	mov    %eax,0x38(%esp)
410685:	8b 03                	mov    (%ebx),%eax
410687:	8b 5c 24 34          	mov    0x34(%esp),%ebx
41068b:	89 54 24 48          	mov    %edx,0x48(%esp)
41068f:	89 44 24 40          	mov    %eax,0x40(%esp)
410693:	85 d2                	test   %edx,%edx
410695:	74 2f                	je     0x4106c6
410697:	eb 07                	jmp    0x4106a0
410699:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4106a0:	8b 5c 24 38          	mov    0x38(%esp),%ebx
4106a4:	66 8b 00             	mov    (%eax),%ax
4106a7:	66 3b 03             	cmp    (%ebx),%ax
4106aa:	8b 5c 24 34          	mov    0x34(%esp),%ebx
4106ae:	8b 44 24 40          	mov    0x40(%esp),%eax
4106b2:	75 19                	jne    0x4106cd
4106b4:	83 44 24 38 02       	addl   $0x2,0x38(%esp)
4106b9:	83 c0 02             	add    $0x2,%eax
4106bc:	ff 4c 24 48          	decl   0x48(%esp)
4106c0:	89 44 24 40          	mov    %eax,0x40(%esp)
4106c4:	75 da                	jne    0x4106a0
4106c6:	3b 51 04             	cmp    0x4(%ecx),%edx
4106c9:	72 0e                	jb     0x4106d9
4106cb:	eb 2f                	jmp    0x4106fc
4106cd:	8b 54 24 38          	mov    0x38(%esp),%edx
4106d1:	66 8b 00             	mov    (%eax),%ax
4106d4:	66 3b 02             	cmp    (%edx),%ax
4106d7:	73 23                	jae    0x4106fc
4106d9:	8b f1                	mov    %ecx,%esi
4106db:	8b 4c 24 44          	mov    0x44(%esp),%ecx
4106df:	8b 46 1c             	mov    0x1c(%esi),%eax
4106e2:	89 01                	mov    %eax,(%ecx)
4106e4:	a1 e0 20 4c 00       	mov    0x4c20e0,%eax
4106e9:	89 46 1c             	mov    %eax,0x1c(%esi)
4106ec:	89 35 e0 20 4c 00    	mov    %esi,0x4c20e0
4106f2:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
4106f6:	0f 84 b5 fd ff ff    	je     0x4104b1
4106fc:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
410700:	89 71 18             	mov    %esi,0x18(%ecx)
410703:	a1 e0 20 4c 00       	mov    0x4c20e0,%eax
410708:	89 44 24 3c          	mov    %eax,0x3c(%esp)
41070c:	8b 70 18             	mov    0x18(%eax),%esi
41070f:	8b 44 24 30          	mov    0x30(%esp),%eax
410713:	89 35 e0 20 4c 00    	mov    %esi,0x4c20e0
410719:	e9 27 fd ff ff       	jmp    0x410445
41071e:	80 7c 24 2d 00       	cmpb   $0x0,0x2d(%esp)
410723:	0f 85 7b 06 00 00    	jne    0x410da4
410729:	6a 18                	push   $0x18
41072b:	e8 ba ed 00 00       	call   0x41f4ea
410730:	8b f0                	mov    %eax,%esi
410732:	83 c4 04             	add    $0x4,%esp
410735:	85 f6                	test   %esi,%esi
410737:	0f 84 2d 0e 00 00    	je     0x41156a
41073d:	68 20 22 4c 00       	push   $0x4c2220
410742:	8b ce                	mov    %esi,%ecx
410744:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
41074b:	e8 d0 0f 00 00       	call   0x411720
410750:	8b 44 24 10          	mov    0x10(%esp),%eax
410754:	89 46 10             	mov    %eax,0x10(%esi)
410757:	8b c6                	mov    %esi,%eax
410759:	8b 74 24 24          	mov    0x24(%esp),%esi
41075d:	89 44 24 10          	mov    %eax,0x10(%esp)
410761:	89 44 24 28          	mov    %eax,0x28(%esp)
410765:	e9 f6 f8 ff ff       	jmp    0x410060
41076a:	80 7c 24 2d 00       	cmpb   $0x0,0x2d(%esp)
41076f:	0f 85 fc 0d 00 00    	jne    0x411571
410775:	89 44 24 6c          	mov    %eax,0x6c(%esp)
410779:	e9 f4 f8 ff ff       	jmp    0x410072
41077e:	8b 5c 24 10          	mov    0x10(%esp),%ebx
410782:	8b 4b 08             	mov    0x8(%ebx),%ecx
410785:	8b 73 10             	mov    0x10(%ebx),%esi
410788:	89 4c 24 48          	mov    %ecx,0x48(%esp)
41078c:	85 c9                	test   %ecx,%ecx
41078e:	0f 85 16 0a 00 00    	jne    0x4111aa
410794:	8b 43 0c             	mov    0xc(%ebx),%eax
410797:	83 f8 05             	cmp    $0x5,%eax
41079a:	0f 8d 81 0b 00 00    	jge    0x411321
4107a0:	53                   	push   %ebx
4107a1:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
4107a8:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
4107ae:	e8 ab ed 00 00       	call   0x41f55e
4107b3:	83 c4 04             	add    $0x4,%esp
4107b6:	8b de                	mov    %esi,%ebx
4107b8:	85 f6                	test   %esi,%esi
4107ba:	75 c6                	jne    0x410782
4107bc:	8b 5c 24 34          	mov    0x34(%esp),%ebx
4107c0:	e9 1c f8 ff ff       	jmp    0x40ffe1
4107c5:	8b d0                	mov    %eax,%edx
4107c7:	e9 b4 f9 ff ff       	jmp    0x410180
4107cc:	83 3d 2c 22 4c 00 04 	cmpl   $0x4,0x4c222c