7cc473:	f7 74 24 38          	divl   0x38(%esp)
7cc477:	8b 54 24 18          	mov    0x18(%esp),%edx
7cc47b:	4a                   	dec    %edx
7cc47c:	03 c2                	add    %edx,%eax
7cc47e:	8b 97 b0 00 00 00    	mov    0xb0(%edi),%edx
7cc484:	0f b7 c0             	movzwl %ax,%eax
7cc487:	89 44 24 2c          	mov    %eax,0x2c(%esp)
7cc48b:	8b 44 24 30          	mov    0x30(%esp),%eax
7cc48f:	0f b7 44 82 02       	movzwl 0x2(%edx,%eax,4),%eax
7cc494:	33 d2                	xor    %edx,%edx
7cc496:	0f af c1             	imul   %ecx,%eax
7cc499:	8b 4c 24 30          	mov    0x30(%esp),%ecx
7cc49d:	f7 74 24 38          	divl   0x38(%esp)
7cc4a1:	01 44 24 18          	add    %eax,0x18(%esp)
7cc4a5:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%eax,%eax,1)
7cc4ac:	00 00 00 00
7cc4b0:	8b 87 b0 00 00 00    	mov    0xb0(%edi),%eax
7cc4b6:	49                   	dec    %ecx
7cc4b7:	66 83 44 88 02 08    	addw   $0x8,0x2(%eax,%ecx,4)
7cc4bd:	85 c9                	test   %ecx,%ecx
7cc4bf:	7f ef                	jg     0x7cc4b0
7cc4c1:	8b 87 b0 00 00 00    	mov    0xb0(%edi),%eax
7cc4c7:	b9 d8 0e 00 00       	mov    $0xed8,%ecx
7cc4cc:	66 39 48 02          	cmp    %cx,0x2(%eax)
7cc4d0:	76 0f                	jbe    0x7cc4e1
7cc4d2:	8d 87 a8 00 00 00    	lea    0xa8(%edi),%eax
7cc4d8:	50                   	push   %eax
7cc4d9:	e8 92 1a 00 00       	call   0x7cdf70
7cc4de:	83 c4 04             	add    $0x4,%esp
7cc4e1:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cc4e5:	8b 54 24 2c          	mov    0x2c(%esp),%edx
7cc4e9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
7cc4f0:	8b 44 24 18          	mov    0x18(%esp),%eax
7cc4f4:	33 c2                	xor    %edx,%eax
7cc4f6:	a9 00 80 00 00       	test   $0x8000,%eax
7cc4fb:	8b 44 24 18          	mov    0x18(%esp),%eax
7cc4ff:	74 2a                	je     0x7cc52b
7cc501:	a9 00 40 00 00       	test   $0x4000,%eax
7cc506:	0f 84 cf 00 00 00    	je     0x7cc5db
7cc50c:	f7 c2 00 40 00 00    	test   $0x4000,%edx
7cc512:	0f 85 c3 00 00 00    	jne    0x7cc5db
7cc518:	81 74 24 1c 00 40 00 	xorl   $0x4000,0x1c(%esp)
7cc51f:	00
7cc520:	25 ff 3f 00 00       	and    $0x3fff,%eax
7cc525:	81 ca 00 40 00 00    	or     $0x4000,%edx
7cc52b:	03 c0                	add    %eax,%eax
7cc52d:	89 44 24 18          	mov    %eax,0x18(%esp)
7cc531:	8d 04 12             	lea    (%edx,%edx,1),%eax
7cc534:	83 c8 01             	or     $0x1,%eax
7cc537:	0f b7 d0             	movzwl %ax,%edx
7cc53a:	89 54 24 2c          	mov    %edx,0x2c(%esp)
7cc53e:	80 fb 01             	cmp    $0x1,%bl
7cc541:	73 71                	jae    0x7cc5b4
7cc543:	3b f5                	cmp    %ebp,%esi
7cc545:	72 1b                	jb     0x7cc562
7cc547:	57                   	push   %edi
7cc548:	e8 43 1b 00 00       	call   0x7ce090
7cc54d:	83 c4 04             	add    $0x4,%esp
7cc550:	85 c0                	test   %eax,%eax
7cc552:	0f 85 35 11 00 00    	jne    0x7cd68d
7cc558:	8b 6f 30             	mov    0x30(%edi),%ebp
7cc55b:	8b 77 2c             	mov    0x2c(%edi),%esi
7cc55e:	89 6c 24 20          	mov    %ebp,0x20(%esp)
7cc562:	8a 3e                	mov    (%esi),%bh
7cc564:	46                   	inc    %esi
7cc565:	3b f5                	cmp    %ebp,%esi
7cc567:	72 1b                	jb     0x7cc584
7cc569:	57                   	push   %edi
7cc56a:	e8 21 1b 00 00       	call   0x7ce090
7cc56f:	83 c4 04             	add    $0x4,%esp
7cc572:	85 c0                	test   %eax,%eax
7cc574:	0f 85 13 11 00 00    	jne    0x7cd68d
7cc57a:	8b 6f 30             	mov    0x30(%edi),%ebp
7cc57d:	8b 77 2c             	mov    0x2c(%edi),%esi
7cc580:	89 6c 24 20          	mov    %ebp,0x20(%esp)
7cc584:	8a 06                	mov    (%esi),%al
7cc586:	b9 10 00 00 00       	mov    $0x10,%ecx
7cc58b:	0f b6 d7             	movzbl %bh,%edx
7cc58e:	46                   	inc    %esi
7cc58f:	c1 e2 08             	shl    $0x8,%edx
7cc592:	0f b6 c0             	movzbl %al,%eax
7cc595:	0b d0                	or     %eax,%edx
7cc597:	0f b6 c3             	movzbl %bl,%eax
7cc59a:	2b c8                	sub    %eax,%ecx
7cc59c:	80 c3 10             	add    $0x10,%bl
7cc59f:	d3 e2                	shl    %cl,%edx
7cc5a1:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cc5a5:	0b ca                	or     %edx,%ecx
7cc5a7:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cc5ab:	80 fb 01             	cmp    $0x1,%bl
7cc5ae:	72 93                	jb     0x7cc543
7cc5b0:	8b 54 24 2c          	mov    0x2c(%esp),%edx
7cc5b4:	8b 44 24 1c          	mov    0x1c(%esp),%eax
7cc5b8:	c1 e9 1f             	shr    $0x1f,%ecx
7cc5bb:	03 c0                	add    %eax,%eax
7cc5bd:	0b c8                	or     %eax,%ecx
7cc5bf:	0f b7 c1             	movzwl %cx,%eax
7cc5c2:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cc5c6:	03 c9                	add    %ecx,%ecx
7cc5c8:	89 44 24 1c          	mov    %eax,0x1c(%esp)
7cc5cc:	fe cb                	dec    %bl
7cc5ce:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cc5d2:	88 5c 24 12          	mov    %bl,0x12(%esp)
7cc5d6:	e9 15 ff ff ff       	jmp    0x7cc4f0
7cc5db:	8b 4c 24 40          	mov    0x40(%esp),%ecx
7cc5df:	83 f9 04             	cmp    $0x4,%ecx
7cc5e2:	0f 83 26 02 00 00    	jae    0x7cc80e
7cc5e8:	85 c9                	test   %ecx,%ecx
7cc5ea:	75 05                	jne    0x7cc5f1
7cc5ec:	8d 41 48             	lea    0x48(%ecx),%eax
7cc5ef:	eb 1a                	jmp    0x7cc60b
7cc5f1:	83 f9 01             	cmp    $0x1,%ecx
7cc5f4:	75 05                	jne    0x7cc5fb
7cc5f6:	8d 41 53             	lea    0x53(%ecx),%eax
7cc5f9:	eb 10                	jmp    0x7cc60b
7cc5fb:	83 f9 02             	cmp    $0x2,%ecx
7cc5fe:	b8 6c 00 00 00       	mov    $0x6c,%eax
7cc603:	b9 60 00 00 00       	mov    $0x60,%ecx
7cc608:	0f 44 c1             	cmove  %ecx,%eax
7cc60b:	8b 4c 24 18          	mov    0x18(%esp),%ecx
7cc60f:	03 c7                	add    %edi,%eax
7cc611:	89 44 24 40          	mov    %eax,0x40(%esp)
7cc615:	0f b7 c9             	movzwl %cx,%ecx
7cc618:	0f b7 d2             	movzwl %dx,%edx
7cc61b:	8b 40 08             	mov    0x8(%eax),%eax
7cc61e:	2b d1                	sub    %ecx,%edx
7cc620:	89 44 24 38          	mov    %eax,0x38(%esp)
7cc624:	89 54 24 48          	mov    %edx,0x48(%esp)
7cc628:	0f b7 40 02          	movzwl 0x2(%eax),%eax
7cc62c:	89 44 24 30          	mov    %eax,0x30(%esp)
7cc630:	8b 44 24 1c          	mov    0x1c(%esp),%eax
7cc634:	0f b7 c0             	movzwl %ax,%eax
7cc637:	2b c1                	sub    %ecx,%eax
7cc639:	0f b7 ca             	movzwl %dx,%ecx
7cc63c:	40                   	inc    %eax
7cc63d:	41                   	inc    %ecx
7cc63e:	0f af 44 24 30       	imul   0x30(%esp),%eax
7cc643:	33 d2                	xor    %edx,%edx
7cc645:	48                   	dec    %eax
7cc646:	f7 f1                	div    %ecx
7cc648:	8b 4c 24 40          	mov    0x40(%esp),%ecx
7cc64c:	0f b7 c0             	movzwl %ax,%eax
7cc64f:	89 44 24 24          	mov    %eax,0x24(%esp)
7cc653:	b8 01 00 00 00       	mov    $0x1,%eax
7cc658:	89 44 24 2c          	mov    %eax,0x2c(%esp)
7cc65c:	8b 51 04             	mov    0x4(%ecx),%edx
7cc65f:	3b d0                	cmp    %eax,%edx
7cc661:	7e 22                	jle    0x7cc685
7cc663:	8b 4c 24 38          	mov    0x38(%esp),%ecx
7cc667:	8b 7c 24 24          	mov    0x24(%esp),%edi
7cc66b:	83 c1 06             	add    $0x6,%ecx
7cc66e:	66 90                	xchg   %ax,%ax
7cc670:	66 39 39             	cmp    %di,(%ecx)
7cc673:	76 08                	jbe    0x7cc67d
7cc675:	40                   	inc    %eax
7cc676:	83 c1 04             	add    $0x4,%ecx
7cc679:	3b c2                	cmp    %edx,%eax
7cc67b:	7c f3                	jl     0x7cc670
7cc67d:	8b 7c 24 54          	mov    0x54(%esp),%edi
7cc681:	89 44 24 2c          	mov    %eax,0x2c(%esp)
7cc685:	8b 54 24 38          	mov    0x38(%esp),%edx
7cc689:	0f b7 4c 82 fc       	movzwl -0x4(%edx,%eax,4),%ecx
7cc68e:	0f b7 44 82 fe       	movzwl -0x2(%edx,%eax,4),%eax
7cc693:	33 d2                	xor    %edx,%edx
7cc695:	89 4c 24 4c          	mov    %ecx,0x4c(%esp)
7cc699:	8b 4c 24 48          	mov    0x48(%esp),%ecx
7cc69d:	41                   	inc    %ecx
7cc69e:	0f af c1             	imul   %ecx,%eax
7cc6a1:	f7 74 24 30          	divl   0x30(%esp)
7cc6a5:	8b 54 24 18          	mov    0x18(%esp),%edx
7cc6a9:	4a                   	dec    %edx
7cc6aa:	03 c2                	add    %edx,%eax
7cc6ac:	8b 54 24 38          	mov    0x38(%esp),%edx
7cc6b0:	0f b7 c0             	movzwl %ax,%eax
7cc6b3:	89 44 24 24          	mov    %eax,0x24(%esp)
7cc6b7:	8b 44 24 2c          	mov    0x2c(%esp),%eax
7cc6bb:	0f b7 44 82 02       	movzwl 0x2(%edx,%eax,4),%eax
7cc6c0:	33 d2                	xor    %edx,%edx
7cc6c2:	0f af c1             	imul   %ecx,%eax
7cc6c5:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
7cc6c9:	f7 74 24 30          	divl   0x30(%esp)
7cc6cd:	8b 54 24 40          	mov    0x40(%esp),%edx
7cc6d1:	01 44 24 18          	add    %eax,0x18(%esp)
7cc6d5:	8b 42 08             	mov    0x8(%edx),%eax
7cc6d8:	49                   	dec    %ecx
7cc6d9:	66 83 44 88 02 08    	addw   $0x8,0x2(%eax,%ecx,4)
7cc6df:	85 c9                	test   %ecx,%ecx
7cc6e1:	7f f2                	jg     0x7cc6d5
7cc6e3:	8b 42 08             	mov    0x8(%edx),%eax
7cc6e6:	b9 d8 0e 00 00       	mov    $0xed8,%ecx
7cc6eb:	66 39 48 02          	cmp    %cx,0x2(%eax)
7cc6ef:	76 09                	jbe    0x7cc6fa
7cc6f1:	52                   	push   %edx
7cc6f2:	e8 79 18 00 00       	call   0x7cdf70
7cc6f7:	83 c4 04             	add    $0x4,%esp
7cc6fa:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cc6fe:	8b 54 24 24          	mov    0x24(%esp),%edx
7cc702:	8b 44 24 18          	mov    0x18(%esp),%eax
7cc706:	33 c2                	xor    %edx,%eax
7cc708:	a9 00 80 00 00       	test   $0x8000,%eax
7cc70d:	8b 44 24 18          	mov    0x18(%esp),%eax
7cc711:	74 2a                	je     0x7cc73d
7cc713:	a9 00 40 00 00       	test   $0x4000,%eax
7cc718:	0f 84 cf 00 00 00    	je     0x7cc7ed
7cc71e:	f7 c2 00 40 00 00    	test   $0x4000,%edx
7cc724:	0f 85 c3 00 00 00    	jne    0x7cc7ed
7cc72a:	81 74 24 1c 00 40 00 	xorl   $0x4000,0x1c(%esp)
7cc731:	00
7cc732:	25 ff 3f 00 00       	and    $0x3fff,%eax
7cc737:	81 ca 00 40 00 00    	or     $0x4000,%edx
7cc73d:	03 c0                	add    %eax,%eax
7cc73f:	89 44 24 18          	mov    %eax,0x18(%esp)
7cc743:	8d 04 12             	lea    (%edx,%edx,1),%eax
7cc746:	83 c8 01             	or     $0x1,%eax
7cc749:	0f b7 d0             	movzwl %ax,%edx
7cc74c:	89 54 24 24          	mov    %edx,0x24(%esp)
7cc750:	80 fb 01             	cmp    $0x1,%bl
7cc753:	73 71                	jae    0x7cc7c6
7cc755:	3b f5                	cmp    %ebp,%esi
7cc757:	72 1b                	jb     0x7cc774
7cc759:	57                   	push   %edi
7cc75a:	e8 31 19 00 00       	call   0x7ce090
7cc75f:	83 c4 04             	add    $0x4,%esp
7cc762:	85 c0                	test   %eax,%eax
7cc764:	0f 85 23 0f 00 00    	jne    0x7cd68d
7cc76a:	8b 6f 30             	mov    0x30(%edi),%ebp
7cc76d:	8b 77 2c             	mov    0x2c(%edi),%esi
7cc770:	89 6c 24 20          	mov    %ebp,0x20(%esp)
7cc774:	8a 3e                	mov    (%esi),%bh
7cc776:	46                   	inc    %esi
7cc777:	3b f5                	cmp    %ebp,%esi
7cc779:	72 1b                	jb     0x7cc796
7cc77b:	57                   	push   %edi
7cc77c:	e8 0f 19 00 00       	call   0x7ce090
7cc781:	83 c4 04             	add    $0x4,%esp
7cc784:	85 c0                	test   %eax,%eax
7cc786:	0f 85 01 0f 00 00    	jne    0x7cd68d
7cc78c:	8b 6f 30             	mov    0x30(%edi),%ebp
7cc78f:	8b 77 2c             	mov    0x2c(%edi),%esi
7cc792:	89 6c 24 20          	mov    %ebp,0x20(%esp)
7cc796:	8a 06                	mov    (%esi),%al
7cc798:	b9 10 00 00 00       	mov    $0x10,%ecx
7cc79d:	0f b6 d7             	movzbl %bh,%edx
7cc7a0:	46                   	inc    %esi
7cc7a1:	c1 e2 08             	shl    $0x8,%edx
7cc7a4:	0f b6 c0             	movzbl %al,%eax
7cc7a7:	0b d0                	or     %eax,%edx
7cc7a9:	0f b6 c3             	movzbl %bl,%eax
7cc7ac:	2b c8                	sub    %eax,%ecx
7cc7ae:	80 c3 10             	add    $0x10,%bl
7cc7b1:	d3 e2                	shl    %cl,%edx
7cc7b3:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cc7b7:	0b ca                	or     %edx,%ecx
7cc7b9:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cc7bd:	80 fb 01             	cmp    $0x1,%bl
7cc7c0:	72 93                	jb     0x7cc755
7cc7c2:	8b 54 24 24          	mov    0x24(%esp),%edx
7cc7c6:	8b 44 24 1c          	mov    0x1c(%esp),%eax
7cc7ca:	c1 e9 1f             	shr    $0x1f,%ecx
7cc7cd:	03 c0                	add    %eax,%eax
7cc7cf:	0b c8                	or     %eax,%ecx
7cc7d1:	0f b7 c1             	movzwl %cx,%eax
7cc7d4:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cc7d8:	03 c9                	add    %ecx,%ecx
7cc7da:	89 44 24 1c          	mov    %eax,0x1c(%esp)
7cc7de:	fe cb                	dec    %bl
7cc7e0:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cc7e4:	88 5c 24 12          	mov    %bl,0x12(%esp)
7cc7e8:	e9 15 ff ff ff       	jmp    0x7cc702
7cc7ed:	8b 7c 24 34          	mov    0x34(%esp),%edi
7cc7f1:	8b 4c 24 28          	mov    0x28(%esp),%ecx
7cc7f5:	8b 44 24 4c          	mov    0x4c(%esp),%eax
7cc7f9:	ff 4c 24 3c          	decl   0x3c(%esp)
7cc7fd:	88 04 39             	mov    %al,(%ecx,%edi,1)
7cc800:	b8 01 00 00 00       	mov    $0x1,%eax
7cc805:	8b 7c 24 54          	mov    0x54(%esp),%edi
7cc809:	e9 60 0c 00 00       	jmp    0x7cd46e
7cc80e:	83 e9 04             	sub    $0x4,%ecx
7cc811:	0f 84 c2 08 00 00    	je     0x7cd0d9
7cc817:	83 e9 01             	sub    $0x1,%ecx
7cc81a:	0f 84 d8 05 00 00    	je     0x7ccdf8
7cc820:	83 e9 01             	sub    $0x1,%ecx
7cc823:	0f 85 6f 0e 00 00    	jne    0x7cd698
7cc829:	0f b7 c8             	movzwl %ax,%ecx
7cc82c:	8b 87 a4 00 00 00    	mov    0xa4(%edi),%eax
7cc832:	0f b7 d2             	movzwl %dx,%edx
7cc835:	2b d1                	sub    %ecx,%edx
7cc837:	89 54 24 48          	mov    %edx,0x48(%esp)
7cc83b:	0f b7 40 02          	movzwl 0x2(%eax),%eax
7cc83f:	89 44 24 38          	mov    %eax,0x38(%esp)
7cc843:	8b 44 24 1c          	mov    0x1c(%esp),%eax
7cc847:	0f b7 c0             	movzwl %ax,%eax
7cc84a:	2b c1                	sub    %ecx,%eax
7cc84c:	0f b7 ca             	movzwl %dx,%ecx
7cc84f:	40                   	inc    %eax
7cc850:	33 d2                	xor    %edx,%edx
7cc852:	0f af 44 24 38       	imul   0x38(%esp),%eax
7cc857:	41                   	inc    %ecx
7cc858:	48                   	dec    %eax
7cc859:	f7 f1                	div    %ecx
7cc85b:	8b 97 a0 00 00 00    	mov    0xa0(%edi),%edx
7cc861:	0f b7 c0             	movzwl %ax,%eax
7cc864:	89 44 24 4c          	mov    %eax,0x4c(%esp)
7cc868:	b8 01 00 00 00       	mov    $0x1,%eax
7cc86d:	89 44 24 30          	mov    %eax,0x30(%esp)
7cc871:	3b d0                	cmp    %eax,%edx
7cc873:	7e 22                	jle    0x7cc897
7cc875:	8b 8f a4 00 00 00    	mov    0xa4(%edi),%ecx
7cc87b:	8b 7c 24 4c          	mov    0x4c(%esp),%edi
7cc87f:	83 c1 06             	add    $0x6,%ecx
7cc882:	66 39 39             	cmp    %di,(%ecx)
7cc885:	76 08                	jbe    0x7cc88f
7cc887:	40                   	inc    %eax
7cc888:	83 c1 04             	add    $0x4,%ecx
7cc88b:	3b c2                	cmp    %edx,%eax
7cc88d:	7c f3                	jl     0x7cc882
7cc88f:	8b 7c 24 54          	mov    0x54(%esp),%edi
7cc893:	89 44 24 30          	mov    %eax,0x30(%esp)
7cc897:	8b 97 a4 00 00 00    	mov    0xa4(%edi),%edx
7cc89d:	0f b7 4c 82 fc       	movzwl -0x4(%edx,%eax,4),%ecx
7cc8a2:	0f b7 44 82 fe       	movzwl -0x2(%edx,%eax,4),%eax
7cc8a7:	33 d2                	xor    %edx,%edx
7cc8a9:	89 4c 24 40          	mov    %ecx,0x40(%esp)
7cc8ad:	8b 4c 24 48          	mov    0x48(%esp),%ecx
7cc8b1:	41                   	inc    %ecx
7cc8b2:	0f af c1             	imul   %ecx,%eax
7cc8b5:	f7 74 24 38          	divl   0x38(%esp)
7cc8b9:	8b 54 24 18          	mov    0x18(%esp),%edx
7cc8bd:	4a                   	dec    %edx
7cc8be:	03 c2                	add    %edx,%eax
7cc8c0:	8b 97 a4 00 00 00    	mov    0xa4(%edi),%edx
7cc8c6:	0f b7 c0             	movzwl %ax,%eax
7cc8c9:	89 44 24 2c          	mov    %eax,0x2c(%esp)
7cc8cd:	8b 44 24 30          	mov    0x30(%esp),%eax
7cc8d1:	0f b7 44 82 02       	movzwl 0x2(%edx,%eax,4),%eax
7cc8d6:	33 d2                	xor    %edx,%edx
7cc8d8:	0f af c1             	imul   %ecx,%eax
7cc8db:	8b 4c 24 30          	mov    0x30(%esp),%ecx
7cc8df:	f7 74 24 38          	divl   0x38(%esp)
7cc8e3:	01 44 24 18          	add    %eax,0x18(%esp)
7cc8e7:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
7cc8ee:	00 00
7cc8f0:	8b 87 a4 00 00 00    	mov    0xa4(%edi),%eax
7cc8f6:	49                   	dec    %ecx
7cc8f7:	66 83 44 88 02 08    	addw   $0x8,0x2(%eax,%ecx,4)
7cc8fd:	85 c9                	test   %ecx,%ecx
7cc8ff:	7f ef                	jg     0x7cc8f0
7cc901:	8b 87 a4 00 00 00    	mov    0xa4(%edi),%eax
7cc907:	b9 d8 0e 00 00       	mov    $0xed8,%ecx
7cc90c:	66 39 48 02          	cmp    %cx,0x2(%eax)