43948d:	6a 30                	push   $0x30
43948f:	5a                   	pop    %edx
439490:	88 10                	mov    %dl,(%eax)
439492:	40                   	inc    %eax
439493:	49                   	dec    %ecx
439494:	85 c9                	test   %ecx,%ecx
439496:	7f e9                	jg     0x439481
439498:	8b 55 14             	mov    0x14(%ebp),%edx
43949b:	c6 00 00             	movb   $0x0,(%eax)
43949e:	85 c9                	test   %ecx,%ecx
4394a0:	78 12                	js     0x4394b4
4394a2:	80 3f 35             	cmpb   $0x35,(%edi)
4394a5:	7c 0d                	jl     0x4394b4
4394a7:	eb 03                	jmp    0x4394ac
4394a9:	c6 00 30             	movb   $0x30,(%eax)
4394ac:	48                   	dec    %eax
4394ad:	80 38 39             	cmpb   $0x39,(%eax)
4394b0:	74 f7                	je     0x4394a9
4394b2:	fe 00                	incb   (%eax)
4394b4:	80 3e 31             	cmpb   $0x31,(%esi)
4394b7:	75 05                	jne    0x4394be
4394b9:	ff 42 04             	incl   0x4(%edx)
4394bc:	eb 12                	jmp    0x4394d0
4394be:	53                   	push   %ebx
4394bf:	e8 bc a4 fe ff       	call   0x423980
4394c4:	40                   	inc    %eax
4394c5:	50                   	push   %eax
4394c6:	53                   	push   %ebx
4394c7:	56                   	push   %esi
4394c8:	e8 53 eb fe ff       	call   0x428020
4394cd:	83 c4 10             	add    $0x10,%esp
4394d0:	33 c0                	xor    %eax,%eax
4394d2:	5b                   	pop    %ebx
4394d3:	5f                   	pop    %edi
4394d4:	5e                   	pop    %esi
4394d5:	5d                   	pop    %ebp
4394d6:	c3                   	ret
4394d7:	55                   	push   %ebp
4394d8:	8b ec                	mov    %esp,%ebp
4394da:	51                   	push   %ecx
4394db:	51                   	push   %ecx
4394dc:	8b 45 0c             	mov    0xc(%ebp),%eax
4394df:	53                   	push   %ebx
4394e0:	56                   	push   %esi
4394e1:	57                   	push   %edi
4394e2:	0f b7 78 06          	movzwl 0x6(%eax),%edi
4394e6:	bb 00 00 00 80       	mov    $0x80000000,%ebx
4394eb:	8b 50 04             	mov    0x4(%eax),%edx
4394ee:	8b cf                	mov    %edi,%ecx
4394f0:	8b 00                	mov    (%eax),%eax
4394f2:	81 e7 00 80 00 00    	and    $0x8000,%edi
4394f8:	c1 e9 04             	shr    $0x4,%ecx
4394fb:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
439501:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
439507:	89 7d f8             	mov    %edi,-0x8(%ebp)
43950a:	8b f1                	mov    %ecx,%esi
43950c:	89 45 fc             	mov    %eax,-0x4(%ebp)
43950f:	85 f6                	test   %esi,%esi
439511:	74 17                	je     0x43952a
439513:	81 fe ff 07 00 00    	cmp    $0x7ff,%esi
439519:	74 08                	je     0x439523
43951b:	8d 81 00 3c 00 00    	lea    0x3c00(%ecx),%eax
439521:	eb 25                	jmp    0x439548
439523:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
439528:	eb 21                	jmp    0x43954b
43952a:	85 d2                	test   %edx,%edx
43952c:	75 12                	jne    0x439540
43952e:	85 c0                	test   %eax,%eax
439530:	75 0e                	jne    0x439540
439532:	8b 45 08             	mov    0x8(%ebp),%eax
439535:	21 50 04             	and    %edx,0x4(%eax)
439538:	21 10                	and    %edx,(%eax)
43953a:	66 89 78 08          	mov    %di,0x8(%eax)
43953e:	eb 58                	jmp    0x439598
439540:	8d 81 01 3c 00 00    	lea    0x3c01(%ecx),%eax
439546:	33 db                	xor    %ebx,%ebx
439548:	0f b7 c0             	movzwl %ax,%eax
43954b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43954e:	8b f1                	mov    %ecx,%esi
439550:	c1 ee 15             	shr    $0x15,%esi
439553:	c1 e2 0b             	shl    $0xb,%edx
439556:	0b f2                	or     %edx,%esi
439558:	c1 e1 0b             	shl    $0xb,%ecx
43955b:	0b f3                	or     %ebx,%esi
43955d:	89 45 0c             	mov    %eax,0xc(%ebp)
439560:	8b 5d 08             	mov    0x8(%ebp),%ebx
439563:	89 73 04             	mov    %esi,0x4(%ebx)
439566:	89 0b                	mov    %ecx,(%ebx)
439568:	85 f6                	test   %esi,%esi
43956a:	78 26                	js     0x439592
43956c:	8b f8                	mov    %eax,%edi
43956e:	8b 13                	mov    (%ebx),%edx
439570:	03 f6                	add    %esi,%esi
439572:	8b ca                	mov    %edx,%ecx
439574:	81 c7 ff ff 00 00    	add    $0xffff,%edi
43957a:	c1 e9 1f             	shr    $0x1f,%ecx
43957d:	0b f1                	or     %ecx,%esi
43957f:	8d 04 12             	lea    (%edx,%edx,1),%eax
439582:	89 03                	mov    %eax,(%ebx)
439584:	79 e8                	jns    0x43956e
439586:	89 7d 0c             	mov    %edi,0xc(%ebp)
439589:	8b 7d f8             	mov    -0x8(%ebp),%edi
43958c:	8b 45 0c             	mov    0xc(%ebp),%eax
43958f:	89 73 04             	mov    %esi,0x4(%ebx)
439592:	0b f8                	or     %eax,%edi
439594:	66 89 7b 08          	mov    %di,0x8(%ebx)
439598:	5f                   	pop    %edi
439599:	5e                   	pop    %esi
43959a:	5b                   	pop    %ebx
43959b:	8b e5                	mov    %ebp,%esp
43959d:	5d                   	pop    %ebp
43959e:	c3                   	ret
43959f:	55                   	push   %ebp
4395a0:	8b ec                	mov    %esp,%ebp
4395a2:	83 ec 30             	sub    $0x30,%esp
4395a5:	a1 50 fd 4b 00       	mov    0x4bfd50,%eax
4395aa:	33 c5                	xor    %ebp,%eax
4395ac:	89 45 fc             	mov    %eax,-0x4(%ebp)
4395af:	8b 45 14             	mov    0x14(%ebp),%eax
4395b2:	53                   	push   %ebx
4395b3:	8b 5d 10             	mov    0x10(%ebp),%ebx
4395b6:	56                   	push   %esi
4395b7:	89 45 dc             	mov    %eax,-0x24(%ebp)
4395ba:	8d 45 08             	lea    0x8(%ebp),%eax
4395bd:	57                   	push   %edi
4395be:	50                   	push   %eax
4395bf:	8d 45 d0             	lea    -0x30(%ebp),%eax
4395c2:	50                   	push   %eax
4395c3:	e8 0f ff ff ff       	call   0x4394d7
4395c8:	59                   	pop    %ecx
4395c9:	59                   	pop    %ecx
4395ca:	8d 45 e0             	lea    -0x20(%ebp),%eax
4395cd:	50                   	push   %eax
4395ce:	6a 00                	push   $0x0
4395d0:	6a 11                	push   $0x11
4395d2:	83 ec 0c             	sub    $0xc,%esp
4395d5:	8d 75 d0             	lea    -0x30(%ebp),%esi
4395d8:	8b fc                	mov    %esp,%edi
4395da:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4395db:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4395dc:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
4395de:	e8 22 07 00 00       	call   0x439d05
4395e3:	8b 75 dc             	mov    -0x24(%ebp),%esi
4395e6:	89 43 08             	mov    %eax,0x8(%ebx)
4395e9:	0f be 45 e2          	movsbl -0x1e(%ebp),%eax
4395ed:	89 03                	mov    %eax,(%ebx)
4395ef:	0f bf 45 e0          	movswl -0x20(%ebp),%eax
4395f3:	89 43 04             	mov    %eax,0x4(%ebx)
4395f6:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4395f9:	50                   	push   %eax
4395fa:	ff 75 18             	push   0x18(%ebp)
4395fd:	56                   	push   %esi
4395fe:	e8 ff b1 ff ff       	call   0x434802
439603:	83 c4 24             	add    $0x24,%esp
439606:	85 c0                	test   %eax,%eax
439608:	75 16                	jne    0x439620
43960a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43960d:	8b c3                	mov    %ebx,%eax
43960f:	5f                   	pop    %edi
439610:	89 73 0c             	mov    %esi,0xc(%ebx)
439613:	33 cd                	xor    %ebp,%ecx
439615:	5e                   	pop    %esi
439616:	5b                   	pop    %ebx
439617:	e8 1a 32 ff ff       	call   0x42c836
43961c:	8b e5                	mov    %ebp,%esp
43961e:	5d                   	pop    %ebp
43961f:	c3                   	ret
439620:	33 c0                	xor    %eax,%eax
439622:	50                   	push   %eax
439623:	50                   	push   %eax
439624:	50                   	push   %eax
439625:	50                   	push   %eax
439626:	50                   	push   %eax
439627:	e8 da f9 fe ff       	call   0x429006
43962c:	cc                   	int3
43962d:	cc                   	int3
43962e:	cc                   	int3
43962f:	cc                   	int3
439630:	57                   	push   %edi
439631:	56                   	push   %esi
439632:	55                   	push   %ebp
439633:	33 ff                	xor    %edi,%edi
439635:	33 ed                	xor    %ebp,%ebp
439637:	8b 44 24 14          	mov    0x14(%esp),%eax
43963b:	0b c0                	or     %eax,%eax
43963d:	7d 15                	jge    0x439654
43963f:	47                   	inc    %edi
439640:	45                   	inc    %ebp
439641:	8b 54 24 10          	mov    0x10(%esp),%edx
439645:	f7 d8                	neg    %eax
439647:	f7 da                	neg    %edx
439649:	83 d8 00             	sbb    $0x0,%eax
43964c:	89 44 24 14          	mov    %eax,0x14(%esp)
439650:	89 54 24 10          	mov    %edx,0x10(%esp)
439654:	8b 44 24 1c          	mov    0x1c(%esp),%eax
439658:	0b c0                	or     %eax,%eax
43965a:	7d 14                	jge    0x439670
43965c:	47                   	inc    %edi
43965d:	8b 54 24 18          	mov    0x18(%esp),%edx
439661:	f7 d8                	neg    %eax
439663:	f7 da                	neg    %edx
439665:	83 d8 00             	sbb    $0x0,%eax
439668:	89 44 24 1c          	mov    %eax,0x1c(%esp)
43966c:	89 54 24 18          	mov    %edx,0x18(%esp)
439670:	0b c0                	or     %eax,%eax
439672:	75 28                	jne    0x43969c
439674:	8b 4c 24 18          	mov    0x18(%esp),%ecx
439678:	8b 44 24 14          	mov    0x14(%esp),%eax
43967c:	33 d2                	xor    %edx,%edx
43967e:	f7 f1                	div    %ecx
439680:	8b d8                	mov    %eax,%ebx
439682:	8b 44 24 10          	mov    0x10(%esp),%eax
439686:	f7 f1                	div    %ecx
439688:	8b f0                	mov    %eax,%esi
43968a:	8b c3                	mov    %ebx,%eax
43968c:	f7 64 24 18          	mull   0x18(%esp)
439690:	8b c8                	mov    %eax,%ecx
439692:	8b c6                	mov    %esi,%eax
439694:	f7 64 24 18          	mull   0x18(%esp)
439698:	03 d1                	add    %ecx,%edx
43969a:	eb 47                	jmp    0x4396e3
43969c:	8b d8                	mov    %eax,%ebx
43969e:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4396a2:	8b 54 24 14          	mov    0x14(%esp),%edx
4396a6:	8b 44 24 10          	mov    0x10(%esp),%eax
4396aa:	d1 eb                	shr    $1,%ebx
4396ac:	d1 d9                	rcr    $1,%ecx
4396ae:	d1 ea                	shr    $1,%edx
4396b0:	d1 d8                	rcr    $1,%eax
4396b2:	0b db                	or     %ebx,%ebx
4396b4:	75 f4                	jne    0x4396aa
4396b6:	f7 f1                	div    %ecx
4396b8:	8b f0                	mov    %eax,%esi
4396ba:	f7 64 24 1c          	mull   0x1c(%esp)
4396be:	8b c8                	mov    %eax,%ecx
4396c0:	8b 44 24 18          	mov    0x18(%esp),%eax
4396c4:	f7 e6                	mul    %esi
4396c6:	03 d1                	add    %ecx,%edx
4396c8:	72 0e                	jb     0x4396d8
4396ca:	3b 54 24 14          	cmp    0x14(%esp),%edx
4396ce:	77 08                	ja     0x4396d8
4396d0:	72 0f                	jb     0x4396e1
4396d2:	3b 44 24 10          	cmp    0x10(%esp),%eax
4396d6:	76 09                	jbe    0x4396e1
4396d8:	4e                   	dec    %esi
4396d9:	2b 44 24 18          	sub    0x18(%esp),%eax
4396dd:	1b 54 24 1c          	sbb    0x1c(%esp),%edx
4396e1:	33 db                	xor    %ebx,%ebx
4396e3:	2b 44 24 10          	sub    0x10(%esp),%eax
4396e7:	1b 54 24 14          	sbb    0x14(%esp),%edx
4396eb:	4d                   	dec    %ebp
4396ec:	79 07                	jns    0x4396f5
4396ee:	f7 da                	neg    %edx
4396f0:	f7 d8                	neg    %eax
4396f2:	83 da 00             	sbb    $0x0,%edx
4396f5:	8b ca                	mov    %edx,%ecx
4396f7:	8b d3                	mov    %ebx,%edx
4396f9:	8b d9                	mov    %ecx,%ebx
4396fb:	8b c8                	mov    %eax,%ecx
4396fd:	8b c6                	mov    %esi,%eax
4396ff:	4f                   	dec    %edi
439700:	75 07                	jne    0x439709
439702:	f7 da                	neg    %edx
439704:	f7 d8                	neg    %eax
439706:	83 da 00             	sbb    $0x0,%edx
439709:	5d                   	pop    %ebp
43970a:	5e                   	pop    %esi
43970b:	5f                   	pop    %edi
43970c:	c2 10 00             	ret    $0x10
43970f:	55                   	push   %ebp
439710:	8b ec                	mov    %esp,%ebp
439712:	8b 4d 10             	mov    0x10(%ebp),%ecx
439715:	8b 45 0c             	mov    0xc(%ebp),%eax
439718:	81 e1 ff ff f7 ff    	and    $0xfff7ffff,%ecx
43971e:	23 c1                	and    %ecx,%eax
439720:	56                   	push   %esi
439721:	8b 75 08             	mov    0x8(%ebp),%esi
439724:	a9 e0 fc f0 fc       	test   $0xfcf0fce0,%eax
439729:	74 24                	je     0x43974f
43972b:	85 f6                	test   %esi,%esi
43972d:	74 0d                	je     0x43973c
43972f:	6a 00                	push   $0x0
439731:	6a 00                	push   $0x0
439733:	e8 4a 10 00 00       	call   0x43a782
439738:	59                   	pop    %ecx
439739:	59                   	pop    %ecx
43973a:	89 06                	mov    %eax,(%esi)
43973c:	e8 27 f6 fe ff       	call   0x428d68
439741:	6a 16                	push   $0x16
439743:	5e                   	pop    %esi
439744:	89 30                	mov    %esi,(%eax)
439746:	e8 ab f8 fe ff       	call   0x428ff6
43974b:	8b c6                	mov    %esi,%eax
43974d:	eb 1a                	jmp    0x439769
43974f:	51                   	push   %ecx
439750:	ff 75 0c             	push   0xc(%ebp)
439753:	85 f6                	test   %esi,%esi
439755:	74 09                	je     0x439760
439757:	e8 26 10 00 00       	call   0x43a782
43975c:	89 06                	mov    %eax,(%esi)
43975e:	eb 05                	jmp    0x439765
439760:	e8 1d 10 00 00       	call   0x43a782
439765:	59                   	pop    %ecx
439766:	59                   	pop    %ecx
439767:	33 c0                	xor    %eax,%eax
439769:	5e                   	pop    %esi
43976a:	5d                   	pop    %ebp
43976b:	c3                   	ret
43976c:	55                   	push   %ebp
43976d:	8b ec                	mov    %esp,%ebp
43976f:	83 ec 24             	sub    $0x24,%esp
439772:	8d 4d dc             	lea    -0x24(%ebp),%ecx
439775:	ff 75 08             	push   0x8(%ebp)
439778:	e8 38 99 fe ff       	call   0x4230b5
43977d:	8b 45 10             	mov    0x10(%ebp),%eax
439780:	85 c0                	test   %eax,%eax
439782:	74 05                	je     0x439789
439784:	8b 4d 0c             	mov    0xc(%ebp),%ecx
439787:	89 08                	mov    %ecx,(%eax)
439789:	8b 45 0c             	mov    0xc(%ebp),%eax
43978c:	53                   	push   %ebx
43978d:	56                   	push   %esi
43978e:	57                   	push   %edi
43978f:	85 c0                	test   %eax,%eax
439791:	74 11                	je     0x4397a4
439793:	8b 7d 14             	mov    0x14(%ebp),%edi
439796:	85 ff                	test   %edi,%edi
439798:	74 1f                	je     0x4397b9
43979a:	83 ff 02             	cmp    $0x2,%edi
43979d:	7c 05                	jl     0x4397a4
43979f:	83 ff 24             	cmp    $0x24,%edi
4397a2:	7e 15                	jle    0x4397b9
4397a4:	e8 bf f5 fe ff       	call   0x428d68
4397a9:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4397af:	e8 42 f8 fe ff       	call   0x428ff6
4397b4:	e9 c1 01 00 00       	jmp    0x43997a
4397b9:	8b 7d dc             	mov    -0x24(%ebp),%edi
4397bc:	8d 70 01             	lea    0x1(%eax),%esi
4397bf:	33 db                	xor    %ebx,%ebx
4397c1:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4397c4:	8a 18                	mov    (%eax),%bl
4397c6:	83 7f 74 01          	cmpl   $0x1,0x74(%edi)
4397ca:	7e 17                	jle    0x4397e3
4397cc:	8d 45 dc             	lea    -0x24(%ebp),%eax
4397cf:	50                   	push   %eax
4397d0:	0f b6 c3             	movzbl %bl,%eax
4397d3:	6a 08                	push   $0x8
4397d5:	50                   	push   %eax
4397d6:	e8 b1 26 ff ff       	call   0x42be8c
4397db:	8b 7d dc             	mov    -0x24(%ebp),%edi