41338b:	7d 42                	jge    0x4133cf
41338d:	8d 1c 12             	lea    (%edx,%edx,1),%ebx
413390:	3b d8                	cmp    %eax,%ebx
413392:	0f 97 c0             	seta   %al
413395:	88 86 6d 0a 00 00    	mov    %al,0xa6d(%esi)
41339b:	89 96 80 4a 00 00    	mov    %edx,0x4a80(%esi)
4133a1:	0f b6 c0             	movzbl %al,%eax
4133a4:	01 86 64 06 00 00    	add    %eax,0x664(%esi)
4133aa:	83 c2 04             	add    $0x4,%edx
4133ad:	89 be 50 06 00 00    	mov    %edi,0x650(%esi)
4133b3:	88 57 01             	mov    %dl,0x1(%edi)
4133b6:	66 83 41 02 04       	addw   $0x4,0x2(%ecx)
4133bb:	83 fa 7c             	cmp    $0x7c,%edx
4133be:	7e 06                	jle    0x4133c6
4133c0:	56                   	push   %esi
4133c1:	e8 a6 f9 ff ff       	call   0x412d6c
4133c6:	83 a6 7c 4a 00 00 00 	andl   $0x0,0x4a7c(%esi)
4133cd:	eb 40                	jmp    0x41340f
4133cf:	83 be 50 06 00 00 00 	cmpl   $0x0,0x650(%esi)
4133d6:	74 a5                	je     0x41337d
4133d8:	c6 86 6d 0a 00 00 00 	movb   $0x0,0xa6d(%esi)
4133df:	0f b7 19             	movzwl (%ecx),%ebx
4133e2:	4b                   	dec    %ebx
4133e3:	eb 03                	jmp    0x4133e8
4133e5:	4b                   	dec    %ebx
4133e6:	74 30                	je     0x413418
4133e8:	0f b6 47 07          	movzbl 0x7(%edi),%eax
4133ec:	83 c7 06             	add    $0x6,%edi
4133ef:	03 d0                	add    %eax,%edx
4133f1:	3b 55 08             	cmp    0x8(%ebp),%edx
4133f4:	7e ef                	jle    0x4133e5
4133f6:	89 96 80 4a 00 00    	mov    %edx,0x4a80(%esi)
4133fc:	0f b6 47 01          	movzbl 0x1(%edi),%eax
413400:	57                   	push   %edi
413401:	2b d0                	sub    %eax,%edx
413403:	56                   	push   %esi
413404:	89 96 7c 4a 00 00    	mov    %edx,0x4a7c(%esi)
41340a:	e8 e4 fe ff ff       	call   0x4132f3
41340f:	b0 01                	mov    $0x1,%al
413411:	5f                   	pop    %edi
413412:	5e                   	pop    %esi
413413:	5b                   	pop    %ebx
413414:	5d                   	pop    %ebp
413415:	c2 04 00             	ret    $0x4
413418:	8b 86 50 06 00 00    	mov    0x650(%esi),%eax
41341e:	0f b6 00             	movzbl (%eax),%eax
413421:	8a 84 30 6c 09 00 00 	mov    0x96c(%eax,%esi,1),%al
413428:	88 86 6e 0a 00 00    	mov    %al,0xa6e(%esi)
41342e:	89 96 7c 4a 00 00    	mov    %edx,0x4a7c(%esi)
413434:	0f b6 07             	movzbl (%edi),%eax
413437:	8a 96 6c 0a 00 00    	mov    0xa6c(%esi),%dl
41343d:	88 94 30 6c 06 00 00 	mov    %dl,0x66c(%eax,%esi,1)
413444:	0f b7 01             	movzwl (%ecx),%eax
413447:	89 86 54 06 00 00    	mov    %eax,0x654(%esi)
41344d:	48                   	dec    %eax
41344e:	83 a6 50 06 00 00 00 	andl   $0x0,0x650(%esi)
413455:	8a 96 6c 0a 00 00    	mov    0xa6c(%esi),%dl
41345b:	83 ef 06             	sub    $0x6,%edi
41345e:	48                   	dec    %eax
41345f:	0f b6 0f             	movzbl (%edi),%ecx
413462:	88 94 31 6c 06 00 00 	mov    %dl,0x66c(%ecx,%esi,1)
413469:	75 ea                	jne    0x413455
41346b:	8b 86 84 4a 00 00    	mov    0x4a84(%esi),%eax
413471:	89 86 80 4a 00 00    	mov    %eax,0x4a80(%esi)
413477:	eb 96                	jmp    0x41340f
413479:	8b 44 24 08          	mov    0x8(%esp),%eax
41347d:	56                   	push   %esi
41347e:	8b 74 24 08          	mov    0x8(%esp),%esi
413482:	89 86 50 06 00 00    	mov    %eax,0x650(%esi)
413488:	80 40 01 04          	addb   $0x4,0x1(%eax)
41348c:	66 83 41 02 04       	addw   $0x4,0x2(%ecx)
413491:	80 78 01 7c          	cmpb   $0x7c,0x1(%eax)
413495:	76 06                	jbe    0x41349d
413497:	56                   	push   %esi
413498:	e8 cf f8 ff ff       	call   0x412d6c
41349d:	8b 86 68 06 00 00    	mov    0x668(%esi),%eax
4134a3:	fe 86 6c 0a 00 00    	incb   0xa6c(%esi)
4134a9:	89 86 64 06 00 00    	mov    %eax,0x664(%esi)
4134af:	5e                   	pop    %esi
4134b0:	c2 08 00             	ret    $0x8
4134b3:	55                   	push   %ebp
4134b4:	8b ec                	mov    %esp,%ebp
4134b6:	51                   	push   %ecx
4134b7:	0f b7 01             	movzwl (%ecx),%eax
4134ba:	ba 00 01 00 00       	mov    $0x100,%edx
4134bf:	57                   	push   %edi
4134c0:	66 3b c2             	cmp    %dx,%ax
4134c3:	74 66                	je     0x41352b
4134c5:	53                   	push   %ebx
4134c6:	0f b7 f8             	movzwl %ax,%edi
4134c9:	8b 45 0c             	mov    0xc(%ebp),%eax
4134cc:	33 db                	xor    %ebx,%ebx
4134ce:	56                   	push   %esi
4134cf:	8b 75 08             	mov    0x8(%ebp),%esi
4134d2:	39 86 54 06 00 00    	cmp    %eax,0x654(%esi)
4134d8:	0f b6 94 06 6b 07 00 	movzbl 0x76b(%esi,%eax,1),%edx
4134df:	00
4134e0:	0f 9f c3             	setg   %bl
4134e3:	89 7d fc             	mov    %edi,-0x4(%ebp)
4134e6:	6b ff 0b             	imul   $0xb,%edi,%edi
4134e9:	8d 04 93             	lea    (%ebx,%edx,4),%eax
4134ec:	0f b7 51 02          	movzwl 0x2(%ecx),%edx
4134f0:	8b 49 08             	mov    0x8(%ecx),%ecx
4134f3:	0f b7 09             	movzwl (%ecx),%ecx
4134f6:	33 db                	xor    %ebx,%ebx
4134f8:	3b d7                	cmp    %edi,%edx
4134fa:	0f 9c c3             	setl   %bl
4134fd:	2b 4d fc             	sub    -0x4(%ebp),%ecx
413500:	33 d2                	xor    %edx,%edx
413502:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
413505:	0f b6 8e 6e 0a 00 00 	movzbl 0xa6e(%esi),%ecx
41350c:	0f 9c c2             	setl   %dl
41350f:	8d 04 43             	lea    (%ebx,%eax,2),%eax
413512:	8d 04 42             	lea    (%edx,%eax,2),%eax
413515:	03 c1                	add    %ecx,%eax
413517:	8d 3c 86             	lea    (%esi,%eax,4),%edi
41351a:	8b cf                	mov    %edi,%ecx
41351c:	e8 2b f2 ff ff       	call   0x41274c
413521:	89 86 84 4a 00 00    	mov    %eax,0x4a84(%esi)
413527:	5e                   	pop    %esi
413528:	5b                   	pop    %ebx
413529:	eb 13                	jmp    0x41353e
41352b:	8b 45 08             	mov    0x8(%ebp),%eax
41352e:	8d b8 40 06 00 00    	lea    0x640(%eax),%edi
413534:	c7 80 84 4a 00 00 01 	movl   $0x1,0x4a84(%eax)
41353b:	00 00 00
41353e:	8b c7                	mov    %edi,%eax
413540:	5f                   	pop    %edi
413541:	c9                   	leave
413542:	c2 08 00             	ret    $0x8
413545:	55                   	push   %ebp
413546:	8b ec                	mov    %esp,%ebp
413548:	81 ec 08 04 00 00    	sub    $0x408,%esp
41354e:	53                   	push   %ebx
41354f:	56                   	push   %esi
413550:	8b 75 08             	mov    0x8(%ebp),%esi
413553:	57                   	push   %edi
413554:	8b d9                	mov    %ecx,%ebx
413556:	0f b7 3b             	movzwl (%ebx),%edi
413559:	2b be 54 06 00 00    	sub    0x654(%esi),%edi
41355f:	57                   	push   %edi
413560:	56                   	push   %esi
413561:	e8 4d ff ff ff       	call   0x4134b3
413566:	89 45 fc             	mov    %eax,-0x4(%ebp)
413569:	8d 85 f8 fb ff ff    	lea    -0x408(%ebp),%eax
41356f:	89 45 08             	mov    %eax,0x8(%ebp)
413572:	8b 43 04             	mov    0x4(%ebx),%eax
413575:	83 e8 06             	sub    $0x6,%eax
413578:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
41357c:	8a 8e 6c 0a 00 00    	mov    0xa6c(%esi),%cl
413582:	83 c0 06             	add    $0x6,%eax
413585:	0f b6 10             	movzbl (%eax),%edx
413588:	38 8c 32 6c 06 00 00 	cmp    %cl,0x66c(%edx,%esi,1)
41358f:	74 eb                	je     0x41357c
413591:	0f b6 50 01          	movzbl 0x1(%eax),%edx
413595:	8b 4d f8             	mov    -0x8(%ebp),%ecx
413598:	03 ca                	add    %edx,%ecx
41359a:	8b 55 08             	mov    0x8(%ebp),%edx
41359d:	83 45 08 04          	addl   $0x4,0x8(%ebp)
4135a1:	4f                   	dec    %edi
4135a2:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4135a5:	89 02                	mov    %eax,(%edx)
4135a7:	75 d3                	jne    0x41357c
4135a9:	01 8e 84 4a 00 00    	add    %ecx,0x4a84(%esi)
4135af:	8d be 70 4a 00 00    	lea    0x4a70(%esi),%edi
4135b5:	8b 47 08             	mov    0x8(%edi),%eax
4135b8:	33 d2                	xor    %edx,%edx
4135ba:	f7 77 14             	divl   0x14(%edi)
4135bd:	33 d2                	xor    %edx,%edx
4135bf:	89 45 08             	mov    %eax,0x8(%ebp)
4135c2:	89 47 08             	mov    %eax,0x8(%edi)
4135c5:	8b 47 04             	mov    0x4(%edi),%eax
4135c8:	2b 07                	sub    (%edi),%eax
4135ca:	f7 75 08             	divl   0x8(%ebp)
4135cd:	8b 96 84 4a 00 00    	mov    0x4a84(%esi),%edx
4135d3:	3b c2                	cmp    %edx,%eax
4135d5:	89 45 08             	mov    %eax,0x8(%ebp)
4135d8:	7c 07                	jl     0x4135e1
4135da:	32 c0                	xor    %al,%al
4135dc:	e9 9c 00 00 00       	jmp    0x41367d
4135e1:	39 4d 08             	cmp    %ecx,0x8(%ebp)
4135e4:	8b bd f8 fb ff ff    	mov    -0x408(%ebp),%edi
4135ea:	8d 85 f8 fb ff ff    	lea    -0x408(%ebp),%eax
4135f0:	7d 3d                	jge    0x41362f
4135f2:	8b cf                	mov    %edi,%ecx
4135f4:	0f b6 51 01          	movzbl 0x1(%ecx),%edx
4135f8:	eb 0b                	jmp    0x413605
4135fa:	83 c0 04             	add    $0x4,%eax
4135fd:	8b 38                	mov    (%eax),%edi
4135ff:	0f b6 4f 01          	movzbl 0x1(%edi),%ecx
413603:	03 d1                	add    %ecx,%edx
413605:	3b 55 08             	cmp    0x8(%ebp),%edx
413608:	7e f0                	jle    0x4135fa
41360a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41360d:	89 96 80 4a 00 00    	mov    %edx,0x4a80(%esi)
413613:	0f b6 47 01          	movzbl 0x1(%edi),%eax
413617:	2b d0                	sub    %eax,%edx
413619:	89 96 7c 4a 00 00    	mov    %edx,0x4a7c(%esi)
41361f:	e8 46 f1 ff ff       	call   0x41276a
413624:	57                   	push   %edi
413625:	56                   	push   %esi
413626:	8b cb                	mov    %ebx,%ecx
413628:	e8 4c fe ff ff       	call   0x413479
41362d:	eb 4c                	jmp    0x41367b
41362f:	89 8e 7c 4a 00 00    	mov    %ecx,0x4a7c(%esi)
413635:	89 96 80 4a 00 00    	mov    %edx,0x4a80(%esi)
41363b:	0f b7 3b             	movzwl (%ebx),%edi
41363e:	2b be 54 06 00 00    	sub    0x654(%esi),%edi
413644:	8d 85 f8 fb ff ff    	lea    -0x408(%ebp),%eax
41364a:	83 e8 04             	sub    $0x4,%eax
41364d:	8a 96 6c 0a 00 00    	mov    0xa6c(%esi),%dl
413653:	83 c0 04             	add    $0x4,%eax
413656:	4f                   	dec    %edi
413657:	8b 08                	mov    (%eax),%ecx
413659:	0f b6 09             	movzbl (%ecx),%ecx
41365c:	88 94 31 6c 06 00 00 	mov    %dl,0x66c(%ecx,%esi,1)
413663:	75 e8                	jne    0x41364d
413665:	8b 45 fc             	mov    -0x4(%ebp),%eax
413668:	66 8b 8e 84 4a 00 00 	mov    0x4a84(%esi),%cx
41366f:	66 01 08             	add    %cx,(%eax)
413672:	0f b7 03             	movzwl (%ebx),%eax
413675:	89 86 54 06 00 00    	mov    %eax,0x654(%esi)
41367b:	b0 01                	mov    $0x1,%al
41367d:	5f                   	pop    %edi
41367e:	5e                   	pop    %esi
41367f:	5b                   	pop    %ebx
413680:	c9                   	leave
413681:	c2 04 00             	ret    $0x4
413684:	56                   	push   %esi
413685:	8b f1                	mov    %ecx,%esi
413687:	57                   	push   %edi
413688:	8d be 8c 4a 00 00    	lea    0x4a8c(%esi),%edi
41368e:	8b cf                	mov    %edi,%ecx
413690:	e8 8a e5 ff ff       	call   0x411c1f
413695:	6a 01                	push   $0x1
413697:	8b cf                	mov    %edi,%ecx
413699:	e8 96 e5 ff ff       	call   0x411c34
41369e:	6a 02                	push   $0x2
4136a0:	8b ce                	mov    %esi,%ecx
4136a2:	e8 14 f6 ff ff       	call   0x412cbb
4136a7:	5f                   	pop    %edi
4136a8:	5e                   	pop    %esi
4136a9:	c3                   	ret
4136aa:	55                   	push   %ebp
4136ab:	8b ec                	mov    %esp,%ebp
4136ad:	51                   	push   %ecx
4136ae:	53                   	push   %ebx
4136af:	56                   	push   %esi
4136b0:	57                   	push   %edi
4136b1:	8b 7d 08             	mov    0x8(%ebp),%edi
4136b4:	8b f1                	mov    %ecx,%esi
4136b6:	8b cf                	mov    %edi,%ecx
4136b8:	e8 01 f1 ff ff       	call   0x4127be
4136bd:	8b d8                	mov    %eax,%ebx
4136bf:	89 5d 08             	mov    %ebx,0x8(%ebp)
4136c2:	c1 eb 05             	shr    $0x5,%ebx
4136c5:	80 e3 01             	and    $0x1,%bl
4136c8:	74 52                	je     0x41371c
4136ca:	8b cf                	mov    %edi,%ecx
4136cc:	e8 ed f0 ff ff       	call   0x4127be
4136d1:	89 45 fc             	mov    %eax,-0x4(%ebp)
4136d4:	f6 45 08 40          	testb  $0x40,0x8(%ebp)
4136d8:	74 0c                	je     0x4136e6
4136da:	8b cf                	mov    %edi,%ecx
4136dc:	e8 dd f0 ff ff       	call   0x4127be
4136e1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4136e4:	89 01                	mov    %eax,(%ecx)
4136e6:	57                   	push   %edi
4136e7:	8d 8e 70 4a 00 00    	lea    0x4a70(%esi),%ecx
4136ed:	e8 ed f0 ff ff       	call   0x4127df
4136f2:	84 db                	test   %bl,%bl
4136f4:	74 45                	je     0x41373b
4136f6:	8b 45 08             	mov    0x8(%ebp),%eax
4136f9:	83 e0 1f             	and    $0x1f,%eax
4136fc:	40                   	inc    %eax
4136fd:	8b d8                	mov    %eax,%ebx
4136ff:	83 fb 10             	cmp    $0x10,%ebx
413702:	7e 06                	jle    0x41370a
413704:	6b db 03             	imul   $0x3,%ebx,%ebx
413707:	83 eb 20             	sub    $0x20,%ebx
41370a:	8d 8e 8c 4a 00 00    	lea    0x4a8c(%esi),%ecx
413710:	83 fb 01             	cmp    $0x1,%ebx
413713:	75 14                	jne    0x413729
413715:	e8 05 e5 ff ff       	call   0x411c1f
41371a:	eb 09                	jmp    0x413725
41371c:	83 be 8c 4a 00 00 00 	cmpl   $0x0,0x4a8c(%esi)
413723:	75 af                	jne    0x4136d4
413725:	32 c0                	xor    %al,%al
413727:	eb 1d                	jmp    0x413746
413729:	8b 45 fc             	mov    -0x4(%ebp),%eax
41372c:	40                   	inc    %eax
41372d:	50                   	push   %eax
41372e:	e8 01 e5 ff ff       	call   0x411c34
413733:	53                   	push   %ebx
413734:	8b ce                	mov    %esi,%ecx
413736:	e8 80 f5 ff ff       	call   0x412cbb
41373b:	33 c0                	xor    %eax,%eax
41373d:	39 86 44 06 00 00    	cmp    %eax,0x644(%esi)
413743:	0f 95 c0             	setne  %al
413746:	5f                   	pop    %edi
413747:	5e                   	pop    %esi
413748:	5b                   	pop    %ebx
413749:	c9                   	leave
41374a:	c2 08 00             	ret    $0x8
41374d:	56                   	push   %esi
41374e:	8b f1                	mov    %ecx,%esi
413750:	8b 8e 44 06 00 00    	mov    0x644(%esi),%ecx
413756:	8b 96 dc 4b 00 00    	mov    0x4bdc(%esi),%edx
41375c:	57                   	push   %edi
41375d:	3b ca                	cmp    %edx,%ecx
41375f:	76 25                	jbe    0x413786
413761:	8b be e4 4b 00 00    	mov    0x4be4(%esi),%edi
413767:	3b cf                	cmp    %edi,%ecx
413769:	77 1b                	ja     0x413786
41376b:	66 83 39 01          	cmpw   $0x1,(%ecx)
41376f:	74 1b                	je     0x41378c
413771:	8b 41 04             	mov    0x4(%ecx),%eax
413774:	3b c2                	cmp    %edx,%eax
413776:	76 0e                	jbe    0x413786
413778:	3b c7                	cmp    %edi,%eax
41377a:	77 0a                	ja     0x413786
41377c:	56                   	push   %esi
41377d:	e8 b9 fb ff ff       	call   0x41333b
413782:	84 c0                	test   %al,%al
413784:	75 0c                	jne    0x413792
413786:	83 c8 ff             	or     $0xffffffff,%eax
413789:	5f                   	pop    %edi
41378a:	5e                   	pop    %esi
41378b:	c3                   	ret
41378c:	56                   	push   %esi
41378d:	e8 b2 e6 ff ff       	call   0x411e44
413792:	8b 8e 7c 4a 00 00    	mov    0x4a7c(%esi),%ecx
413798:	8d 86 78 4a 00 00    	lea    0x4a78(%esi),%eax
41379e:	8b 10                	mov    (%eax),%edx
4137a0:	8b fa                	mov    %edx,%edi
4137a2:	0f af f9             	imul   %ecx,%edi
4137a5:	01 be 70 4a 00 00    	add    %edi,0x4a70(%esi)
4137ab:	8b be 80 4a 00 00    	mov    0x4a80(%esi),%edi
4137b1:	2b f9                	sub    %ecx,%edi
4137b3:	0f af fa             	imul   %edx,%edi
4137b6:	89 38                	mov    %edi,(%eax)
4137b8:	83 be 50 06 00 00 00 	cmpl   $0x0,0x650(%esi)
4137bf:	74 37                	je     0x4137f8
4137c1:	83 be 5c 06 00 00 00 	cmpl   $0x0,0x65c(%esi)
4137c8:	8b 86 50 06 00 00    	mov    0x650(%esi),%eax
4137ce:	53                   	push   %ebx
4137cf:	0f b6 18             	movzbl (%eax),%ebx
4137d2:	0f 85 bd 00 00 00    	jne    0x413895
4137d8:	8b 40 02             	mov    0x2(%eax),%eax
4137db:	3b 86 dc 4b 00 00    	cmp    0x4bdc(%esi),%eax