44c657:	03 d0                	add    %eax,%edx
44c659:	8b 45 f8             	mov    -0x8(%ebp),%eax
44c65c:	e8 bb 06 00 00       	call   0x44cd1c
44c661:	eb 0a                	jmp    0x44c66d
44c663:	33 d2                	xor    %edx,%edx
44c665:	8b 45 f8             	mov    -0x8(%ebp),%eax
44c668:	e8 af 06 00 00       	call   0x44cd1c
44c66d:	5e                   	pop    %esi
44c66e:	5b                   	pop    %ebx
44c66f:	8b e5                	mov    %ebp,%esp
44c671:	5d                   	pop    %ebp
44c672:	c3                   	ret
44c673:	90                   	nop
44c674:	53                   	push   %ebx
44c675:	56                   	push   %esi
44c676:	8b d8                	mov    %eax,%ebx
44c678:	be 00 00 10 00       	mov    $0x100000,%esi
44c67d:	80 7b 18 01          	cmpb   $0x1,0x18(%ebx)
44c681:	75 05                	jne    0x44c688
44c683:	be 00 00 20 00       	mov    $0x200000,%esi
44c688:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
44c68c:	74 14                	je     0x44c6a2
44c68e:	6a f0                	push   $0xfffffff0
44c690:	8b 43 04             	mov    0x4(%ebx),%eax
44c693:	e8 18 52 ff ff       	call   0x4418b0
44c698:	50                   	push   %eax
44c699:	e8 32 a9 fb ff       	call   0x406fd0
44c69e:	85 f0                	test   %esi,%eax
44c6a0:	75 05                	jne    0x44c6a7
44c6a2:	33 c0                	xor    %eax,%eax
44c6a4:	5e                   	pop    %esi
44c6a5:	5b                   	pop    %ebx
44c6a6:	c3                   	ret
44c6a7:	b0 01                	mov    $0x1,%al
44c6a9:	5e                   	pop    %esi
44c6aa:	5b                   	pop    %ebx
44c6ab:	c3                   	ret
44c6ac:	55                   	push   %ebp
44c6ad:	8b ec                	mov    %esp,%ebp
44c6af:	53                   	push   %ebx
44c6b0:	bb 00 00 10 00       	mov    $0x100000,%ebx
44c6b5:	66 83 f8 01          	cmp    $0x1,%ax
44c6b9:	75 05                	jne    0x44c6c0
44c6bb:	bb 00 00 20 00       	mov    $0x200000,%ebx
44c6c0:	6a f0                	push   $0xfffffff0
44c6c2:	8b 45 08             	mov    0x8(%ebp),%eax
44c6c5:	8b 40 fc             	mov    -0x4(%eax),%eax
44c6c8:	8b 40 04             	mov    0x4(%eax),%eax
44c6cb:	e8 e0 51 ff ff       	call   0x4418b0
44c6d0:	50                   	push   %eax
44c6d1:	e8 fa a8 fb ff       	call   0x406fd0
44c6d6:	85 d8                	test   %ebx,%eax
44c6d8:	0f 95 c0             	setne  %al
44c6db:	5b                   	pop    %ebx
44c6dc:	5d                   	pop    %ebp
44c6dd:	c3                   	ret
44c6de:	8b c0                	mov    %eax,%eax
44c6e0:	55                   	push   %ebp
44c6e1:	8b ec                	mov    %esp,%ebp
44c6e3:	53                   	push   %ebx
44c6e4:	56                   	push   %esi
44c6e5:	57                   	push   %edi
44c6e6:	8b fa                	mov    %edx,%edi
44c6e8:	8b f0                	mov    %eax,%esi
44c6ea:	33 db                	xor    %ebx,%ebx
44c6ec:	8b 45 08             	mov    0x8(%ebp),%eax
44c6ef:	80 78 fb 00          	cmpb   $0x0,-0x5(%eax)
44c6f3:	75 60                	jne    0x44c755
44c6f5:	8b 45 08             	mov    0x8(%ebp),%eax
44c6f8:	80 78 fa 00          	cmpb   $0x0,-0x6(%eax)
44c6fc:	74 29                	je     0x44c727
44c6fe:	8b 45 08             	mov    0x8(%ebp),%eax
44c701:	50                   	push   %eax
44c702:	8b c6                	mov    %esi,%eax
44c704:	e8 a3 ff ff ff       	call   0x44c6ac
44c709:	59                   	pop    %ecx
44c70a:	84 c0                	test   %al,%al
44c70c:	75 19                	jne    0x44c727
44c70e:	0f b7 c7             	movzwl %di,%eax
44c711:	50                   	push   %eax
44c712:	a1 10 d5 46 00       	mov    0x46d510,%eax
44c717:	8b 00                	mov    (%eax),%eax
44c719:	ff d0                	call   *%eax
44c71b:	8b d8                	mov    %eax,%ebx
44c71d:	8b 45 08             	mov    0x8(%ebp),%eax
44c720:	2b 58 f4             	sub    -0xc(%eax),%ebx
44c723:	f7 db                	neg    %ebx
44c725:	eb 2e                	jmp    0x44c755
44c727:	8b 45 08             	mov    0x8(%ebp),%eax
44c72a:	80 78 fa 00          	cmpb   $0x0,-0x6(%eax)
44c72e:	75 25                	jne    0x44c755
44c730:	8b 45 08             	mov    0x8(%ebp),%eax
44c733:	50                   	push   %eax
44c734:	8b c6                	mov    %esi,%eax
44c736:	e8 71 ff ff ff       	call   0x44c6ac
44c73b:	59                   	pop    %ecx
44c73c:	84 c0                	test   %al,%al
44c73e:	74 15                	je     0x44c755
44c740:	0f b7 c7             	movzwl %di,%eax
44c743:	50                   	push   %eax
44c744:	a1 10 d5 46 00       	mov    0x46d510,%eax
44c749:	8b 00                	mov    (%eax),%eax
44c74b:	ff d0                	call   *%eax
44c74d:	8b d8                	mov    %eax,%ebx
44c74f:	8b 45 08             	mov    0x8(%ebp),%eax
44c752:	2b 58 f4             	sub    -0xc(%eax),%ebx
44c755:	8b c3                	mov    %ebx,%eax
44c757:	5f                   	pop    %edi
44c758:	5e                   	pop    %esi
44c759:	5b                   	pop    %ebx
44c75a:	5d                   	pop    %ebp
44c75b:	c3                   	ret
44c75c:	55                   	push   %ebp
44c75d:	8b ec                	mov    %esp,%ebp
44c75f:	83 c4 f4             	add    $0xfffffff4,%esp
44c762:	53                   	push   %ebx
44c763:	88 4d fa             	mov    %cl,-0x6(%ebp)
44c766:	88 55 fb             	mov    %dl,-0x5(%ebp)
44c769:	89 45 fc             	mov    %eax,-0x4(%ebp)
44c76c:	6a f0                	push   $0xfffffff0
44c76e:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c771:	8b 40 04             	mov    0x4(%eax),%eax
44c774:	e8 37 51 ff ff       	call   0x4418b0
44c779:	50                   	push   %eax
44c77a:	e8 51 a8 fb ff       	call   0x406fd0
44c77f:	a9 00 00 84 00       	test   $0x840000,%eax
44c784:	0f 95 c0             	setne  %al
44c787:	83 e0 7f             	and    $0x7f,%eax
44c78a:	89 45 f4             	mov    %eax,-0xc(%ebp)
44c78d:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c790:	80 78 18 01          	cmpb   $0x1,0x18(%eax)
44c794:	75 20                	jne    0x44c7b6
44c796:	55                   	push   %ebp
44c797:	66 ba 15 00          	mov    $0x15,%dx
44c79b:	33 c0                	xor    %eax,%eax
44c79d:	e8 3e ff ff ff       	call   0x44c6e0
44c7a2:	59                   	pop    %ecx
44c7a3:	8b d8                	mov    %eax,%ebx
44c7a5:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c7a8:	8b 40 04             	mov    0x4(%eax),%eax
44c7ab:	e8 ac d0 fe ff       	call   0x43985c
44c7b0:	03 d8                	add    %eax,%ebx
44c7b2:	8b c3                	mov    %ebx,%eax
44c7b4:	eb 20                	jmp    0x44c7d6
44c7b6:	55                   	push   %ebp
44c7b7:	66 ba 14 00          	mov    $0x14,%dx
44c7bb:	66 b8 01 00          	mov    $0x1,%ax
44c7bf:	e8 1c ff ff ff       	call   0x44c6e0
44c7c4:	59                   	pop    %ecx
44c7c5:	8b d8                	mov    %eax,%ebx
44c7c7:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c7ca:	8b 40 04             	mov    0x4(%eax),%eax
44c7cd:	e8 46 d0 fe ff       	call   0x439818
44c7d2:	03 d8                	add    %eax,%ebx
44c7d4:	8b c3                	mov    %ebx,%eax
44c7d6:	5b                   	pop    %ebx
44c7d7:	8b e5                	mov    %ebp,%esp
44c7d9:	5d                   	pop    %ebp
44c7da:	c3                   	ret
44c7db:	90                   	nop
44c7dc:	53                   	push   %ebx
44c7dd:	8b d8                	mov    %eax,%ebx
44c7df:	33 c9                	xor    %ecx,%ecx
44c7e1:	33 d2                	xor    %edx,%edx
44c7e3:	8b c3                	mov    %ebx,%eax
44c7e5:	e8 72 ff ff ff       	call   0x44c75c
44c7ea:	3b 43 10             	cmp    0x10(%ebx),%eax
44c7ed:	0f 9c c0             	setl   %al
44c7f0:	5b                   	pop    %ebx
44c7f1:	c3                   	ret
44c7f2:	8b c0                	mov    %eax,%eax
44c7f4:	55                   	push   %ebp
44c7f5:	8b ec                	mov    %esp,%ebp
44c7f7:	83 c4 e4             	add    $0xffffffe4,%esp
44c7fa:	53                   	push   %ebx
44c7fb:	56                   	push   %esi
44c7fc:	c7 45 e4 1c 00 00 00 	movl   $0x1c,-0x1c(%ebp)
44c803:	c7 45 e8 10 00 00 00 	movl   $0x10,-0x18(%ebp)
44c80a:	33 db                	xor    %ebx,%ebx
44c80c:	8b 45 08             	mov    0x8(%ebp),%eax
44c80f:	8b 40 fc             	mov    -0x4(%eax),%eax
44c812:	80 78 18 01          	cmpb   $0x1,0x18(%eax)
44c816:	75 05                	jne    0x44c81d
44c818:	bb 01 00 00 00       	mov    $0x1,%ebx
44c81d:	8b 45 08             	mov    0x8(%ebp),%eax
44c820:	8b 70 f8             	mov    -0x8(%eax),%esi
44c823:	0f bf 76 06          	movswl 0x6(%esi),%esi
44c827:	8d 45 e4             	lea    -0x1c(%ebp),%eax
44c82a:	50                   	push   %eax
44c82b:	53                   	push   %ebx
44c82c:	8b 45 08             	mov    0x8(%ebp),%eax
44c82f:	8b 40 fc             	mov    -0x4(%eax),%eax
44c832:	8b 40 04             	mov    0x4(%eax),%eax
44c835:	e8 76 50 ff ff       	call   0x4418b0
44c83a:	50                   	push   %eax
44c83b:	a1 84 d5 46 00       	mov    0x46d584,%eax
44c840:	8b 00                	mov    (%eax),%eax
44c842:	ff d0                	call   *%eax
44c844:	85 c0                	test   %eax,%eax
44c846:	74 03                	je     0x44c84b
44c848:	8b 75 fc             	mov    -0x4(%ebp),%esi
44c84b:	8b c6                	mov    %esi,%eax
44c84d:	5e                   	pop    %esi
44c84e:	5b                   	pop    %ebx
44c84f:	8b e5                	mov    %ebp,%esp
44c851:	5d                   	pop    %ebp
44c852:	c3                   	ret
44c853:	90                   	nop
44c854:	55                   	push   %ebp
44c855:	8b ec                	mov    %esp,%ebp
44c857:	83 c4 ec             	add    $0xffffffec,%esp
44c85a:	53                   	push   %ebx
44c85b:	56                   	push   %esi
44c85c:	57                   	push   %edi
44c85d:	89 55 f8             	mov    %edx,-0x8(%ebp)
44c860:	89 45 fc             	mov    %eax,-0x4(%ebp)
44c863:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c866:	80 78 1f 00          	cmpb   $0x0,0x1f(%eax)
44c86a:	0f 84 bf 01 00 00    	je     0x44ca2f
44c870:	8b 45 f8             	mov    -0x8(%ebp),%eax
44c873:	0f b7 40 04          	movzwl 0x4(%eax),%eax
44c877:	66 83 e8 04          	sub    $0x4,%ax
44c87b:	0f 83 ae 01 00 00    	jae    0x44ca2f
44c881:	8b 45 f8             	mov    -0x8(%ebp),%eax
44c884:	0f b7 40 04          	movzwl 0x4(%eax),%eax
44c888:	66 83 e8 02          	sub    $0x2,%ax
44c88c:	72 08                	jb     0x44c896
44c88e:	66 83 e8 02          	sub    $0x2,%ax
44c892:	72 23                	jb     0x44c8b7
44c894:	eb 47                	jmp    0x44c8dd
44c896:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c899:	0f b7 58 08          	movzwl 0x8(%eax),%ebx
44c89d:	8b c3                	mov    %ebx,%eax
44c89f:	8b 55 fc             	mov    -0x4(%ebp),%edx
44c8a2:	8b 4a 40             	mov    0x40(%edx),%ecx
44c8a5:	99                   	cltd
44c8a6:	f7 f9                	idiv   %ecx
44c8a8:	89 45 f4             	mov    %eax,-0xc(%ebp)
44c8ab:	8b c3                	mov    %ebx,%eax
44c8ad:	99                   	cltd
44c8ae:	f7 f9                	idiv   %ecx
44c8b0:	89 55 f0             	mov    %edx,-0x10(%ebp)
44c8b3:	8b f9                	mov    %ecx,%edi
44c8b5:	eb 32                	jmp    0x44c8e9
44c8b7:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c8ba:	0f b7 40 0a          	movzwl 0xa(%eax),%eax
44c8be:	89 45 f4             	mov    %eax,-0xc(%ebp)
44c8c1:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c8c4:	8b 58 3c             	mov    0x3c(%eax),%ebx
44c8c7:	8b 45 f4             	mov    -0xc(%ebp),%eax
44c8ca:	99                   	cltd
44c8cb:	f7 fb                	idiv   %ebx
44c8cd:	89 55 f0             	mov    %edx,-0x10(%ebp)
44c8d0:	8b 45 f4             	mov    -0xc(%ebp),%eax
44c8d3:	99                   	cltd
44c8d4:	f7 fb                	idiv   %ebx
44c8d6:	89 45 f4             	mov    %eax,-0xc(%ebp)
44c8d9:	8b fb                	mov    %ebx,%edi
44c8db:	eb 0c                	jmp    0x44c8e9
44c8dd:	33 ff                	xor    %edi,%edi
44c8df:	33 c0                	xor    %eax,%eax
44c8e1:	89 45 f4             	mov    %eax,-0xc(%ebp)
44c8e4:	33 c0                	xor    %eax,%eax
44c8e6:	89 45 f0             	mov    %eax,-0x10(%ebp)
44c8e9:	33 c0                	xor    %eax,%eax
44c8eb:	89 45 ec             	mov    %eax,-0x14(%ebp)
44c8ee:	85 ff                	test   %edi,%edi
44c8f0:	0f 8e b9 00 00 00    	jle    0x44c9af
44c8f6:	e8 ed a0 fb ff       	call   0x4069e8
44c8fb:	8b d8                	mov    %eax,%ebx
44c8fd:	8b f3                	mov    %ebx,%esi
44c8ff:	2b 75 ec             	sub    -0x14(%ebp),%esi
44c902:	8b c6                	mov    %esi,%eax
44c904:	33 d2                	xor    %edx,%edx
44c906:	52                   	push   %edx
44c907:	50                   	push   %eax
44c908:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c90b:	8b 40 20             	mov    0x20(%eax),%eax
44c90e:	99                   	cltd
44c90f:	3b 54 24 04          	cmp    0x4(%esp),%edx
44c913:	75 09                	jne    0x44c91e
44c915:	3b 04 24             	cmp    (%esp),%eax
44c918:	5a                   	pop    %edx
44c919:	58                   	pop    %eax
44c91a:	76 14                	jbe    0x44c930
44c91c:	eb 04                	jmp    0x44c922
44c91e:	5a                   	pop    %edx
44c91f:	58                   	pop    %eax
44c920:	7e 0e                	jle    0x44c930
44c922:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c925:	8b 40 20             	mov    0x20(%eax),%eax
44c928:	2b c6                	sub    %esi,%eax
44c92a:	50                   	push   %eax
44c92b:	e8 84 0e fc ff       	call   0x40d7b4
44c930:	89 5d ec             	mov    %ebx,-0x14(%ebp)
44c933:	8b 45 f8             	mov    -0x8(%ebp),%eax
44c936:	0f b7 40 04          	movzwl 0x4(%eax),%eax
44c93a:	66 83 e8 01          	sub    $0x1,%ax
44c93e:	72 0e                	jb     0x44c94e
44c940:	74 1f                	je     0x44c961
44c942:	66 ff c8             	dec    %ax
44c945:	74 2d                	je     0x44c974
44c947:	66 ff c8             	dec    %ax
44c94a:	74 3b                	je     0x44c987
44c94c:	eb 4a                	jmp    0x44c998
44c94e:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c951:	8b 50 0c             	mov    0xc(%eax),%edx
44c954:	2b 55 f4             	sub    -0xc(%ebp),%edx
44c957:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c95a:	e8 85 02 00 00       	call   0x44cbe4
44c95f:	eb 37                	jmp    0x44c998
44c961:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c964:	8b 50 0c             	mov    0xc(%eax),%edx
44c967:	03 55 f4             	add    -0xc(%ebp),%edx
44c96a:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c96d:	e8 72 02 00 00       	call   0x44cbe4
44c972:	eb 24                	jmp    0x44c998
44c974:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c977:	8b 50 0c             	mov    0xc(%eax),%edx
44c97a:	2b 55 f4             	sub    -0xc(%ebp),%edx
44c97d:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c980:	e8 5f 02 00 00       	call   0x44cbe4
44c985:	eb 11                	jmp    0x44c998
44c987:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c98a:	8b 50 0c             	mov    0xc(%eax),%edx
44c98d:	03 55 f4             	add    -0xc(%ebp),%edx
44c990:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c993:	e8 4c 02 00 00       	call   0x44cbe4
44c998:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c99b:	8b 40 04             	mov    0x4(%eax),%eax
44c99e:	8b 10                	mov    (%eax),%edx
44c9a0:	ff 92 8c 00 00 00    	call   *0x8c(%edx)
44c9a6:	4f                   	dec    %edi
44c9a7:	85 ff                	test   %edi,%edi
44c9a9:	0f 8f 47 ff ff ff    	jg     0x44c8f6
44c9af:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
44c9b3:	0f 8e aa 01 00 00    	jle    0x44cb63
44c9b9:	8b 45 f8             	mov    -0x8(%ebp),%eax
44c9bc:	0f b7 40 04          	movzwl 0x4(%eax),%eax
44c9c0:	66 83 e8 01          	sub    $0x1,%ax
44c9c4:	72 11                	jb     0x44c9d7
44c9c6:	74 25                	je     0x44c9ed
44c9c8:	66 ff c8             	dec    %ax
44c9cb:	74 36                	je     0x44ca03
44c9cd:	66 ff c8             	dec    %ax
44c9d0:	74 47                	je     0x44ca19
44c9d2:	e9 8c 01 00 00       	jmp    0x44cb63
44c9d7:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c9da:	8b 50 0c             	mov    0xc(%eax),%edx
44c9dd:	2b 55 f0             	sub    -0x10(%ebp),%edx