44a6e3:	8b 55 08             	mov    0x8(%ebp),%edx
44a6e6:	8b c3                	mov    %ebx,%eax
44a6e8:	e8 ef fd ff ff       	call   0x44a4dc
44a6ed:	89 45 f8             	mov    %eax,-0x8(%ebp)
44a6f0:	33 c0                	xor    %eax,%eax
44a6f2:	8a 45 ff             	mov    -0x1(%ebp),%al
44a6f5:	8a 80 dc 5c 45 00    	mov    0x455cdc(%eax),%al
44a6fb:	88 45 f7             	mov    %al,-0x9(%ebp)
44a6fe:	8b 43 64             	mov    0x64(%ebx),%eax
44a701:	e8 36 f5 ff ff       	call   0x449c3c
44a706:	48                   	dec    %eax
44a707:	75 6a                	jne    0x44a773
44a709:	8b 7b 64             	mov    0x64(%ebx),%edi
44a70c:	8a 45 f7             	mov    -0x9(%ebp),%al
44a70f:	88 47 10             	mov    %al,0x10(%edi)
44a712:	8a 45 f7             	mov    -0x9(%ebp),%al
44a715:	fe c8                	dec    %al
44a717:	74 06                	je     0x44a71f
44a719:	fe c8                	dec    %al
44a71b:	74 2d                	je     0x44a74a
44a71d:	eb 54                	jmp    0x44a773
44a71f:	8b 47 08             	mov    0x8(%edi),%eax
44a722:	ba 02 00 00 00       	mov    $0x2,%edx
44a727:	e8 90 f6 ff ff       	call   0x449dbc
44a72c:	8b d0                	mov    %eax,%edx
44a72e:	8b c7                	mov    %edi,%eax
44a730:	e8 7f fa ff ff       	call   0x44a1b4
44a735:	8b 43 64             	mov    0x64(%ebx),%eax
44a738:	8b 40 08             	mov    0x8(%eax),%eax
44a73b:	ba 01 00 00 00       	mov    $0x1,%edx
44a740:	e8 77 f6 ff ff       	call   0x449dbc
44a745:	89 43 68             	mov    %eax,0x68(%ebx)
44a748:	eb 29                	jmp    0x44a773
44a74a:	8b 47 08             	mov    0x8(%edi),%eax
44a74d:	ba 01 00 00 00       	mov    $0x1,%edx
44a752:	e8 65 f6 ff ff       	call   0x449dbc
44a757:	8b d0                	mov    %eax,%edx
44a759:	8b c7                	mov    %edi,%eax
44a75b:	e8 54 fa ff ff       	call   0x44a1b4
44a760:	8b 43 64             	mov    0x64(%ebx),%eax
44a763:	8b 40 08             	mov    0x8(%eax),%eax
44a766:	ba 02 00 00 00       	mov    $0x2,%edx
44a76b:	e8 4c f6 ff ff       	call   0x449dbc
44a770:	89 43 68             	mov    %eax,0x68(%ebx)
44a773:	8b cb                	mov    %ebx,%ecx
44a775:	b2 01                	mov    $0x1,%dl
44a777:	a1 bc e5 43 00       	mov    0x43e5bc,%eax
44a77c:	e8 97 f4 ff ff       	call   0x449c18
44a781:	89 70 04             	mov    %esi,0x4(%eax)
44a784:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
44a788:	74 0b                	je     0x44a795
44a78a:	8b 55 f8             	mov    -0x8(%ebp),%edx
44a78d:	8b 52 14             	mov    0x14(%edx),%edx
44a790:	8a 52 10             	mov    0x10(%edx),%dl
44a793:	eb 06                	jmp    0x44a79b
44a795:	8b 53 64             	mov    0x64(%ebx),%edx
44a798:	8a 52 10             	mov    0x10(%edx),%dl
44a79b:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
44a79f:	75 03                	jne    0x44a7a4
44a7a1:	88 55 f7             	mov    %dl,-0x9(%ebp)
44a7a4:	3a 55 f7             	cmp    -0x9(%ebp),%dl
44a7a7:	75 1a                	jne    0x44a7c3
44a7a9:	33 d2                	xor    %edx,%edx
44a7ab:	8a 55 ff             	mov    -0x1(%ebp),%dl
44a7ae:	8a 92 e4 5c 45 00    	mov    0x455ce4(%edx),%dl
44a7b4:	52                   	push   %edx
44a7b5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44a7b8:	8b d0                	mov    %eax,%edx
44a7ba:	8b c3                	mov    %ebx,%eax
44a7bc:	e8 d7 01 00 00       	call   0x44a998
44a7c1:	eb 1c                	jmp    0x44a7df
44a7c3:	8a 55 f7             	mov    -0x9(%ebp),%dl
44a7c6:	52                   	push   %edx
44a7c7:	33 d2                	xor    %edx,%edx
44a7c9:	8a 55 ff             	mov    -0x1(%ebp),%dl
44a7cc:	8a 92 e4 5c 45 00    	mov    0x455ce4(%edx),%dl
44a7d2:	52                   	push   %edx
44a7d3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44a7d6:	8b d0                	mov    %eax,%edx
44a7d8:	8b c3                	mov    %ebx,%eax
44a7da:	e8 11 00 00 00       	call   0x44a7f0
44a7df:	8b 43 14             	mov    0x14(%ebx),%eax
44a7e2:	8b 10                	mov    (%eax),%edx
44a7e4:	ff 52 7c             	call   *0x7c(%edx)
44a7e7:	5f                   	pop    %edi
44a7e8:	5e                   	pop    %esi
44a7e9:	5b                   	pop    %ebx
44a7ea:	8b e5                	mov    %ebp,%esp
44a7ec:	5d                   	pop    %ebp
44a7ed:	c2 04 00             	ret    $0x4
44a7f0:	55                   	push   %ebp
44a7f1:	8b ec                	mov    %esp,%ebp
44a7f3:	51                   	push   %ecx
44a7f4:	53                   	push   %ebx
44a7f5:	56                   	push   %esi
44a7f6:	57                   	push   %edi
44a7f7:	8b f9                	mov    %ecx,%edi
44a7f9:	89 55 fc             	mov    %edx,-0x4(%ebp)
44a7fc:	8b f0                	mov    %eax,%esi
44a7fe:	8b ce                	mov    %esi,%ecx
44a800:	b2 01                	mov    $0x1,%dl
44a802:	a1 bc e5 43 00       	mov    0x43e5bc,%eax
44a807:	e8 0c f4 ff ff       	call   0x449c18
44a80c:	8b d8                	mov    %eax,%ebx
44a80e:	8a 45 0c             	mov    0xc(%ebp),%al
44a811:	88 43 10             	mov    %al,0x10(%ebx)
44a814:	85 ff                	test   %edi,%edi
44a816:	0f 85 dd 00 00 00    	jne    0x44a8f9
44a81c:	8b 56 68             	mov    0x68(%esi),%edx
44a81f:	8b c3                	mov    %ebx,%eax
44a821:	e8 8e f9 ff ff       	call   0x44a1b4
44a826:	8b 46 64             	mov    0x64(%esi),%eax
44a829:	e8 5e f9 ff ff       	call   0x44a18c
44a82e:	89 46 68             	mov    %eax,0x68(%esi)
44a831:	8a 45 0c             	mov    0xc(%ebp),%al
44a834:	88 46 48             	mov    %al,0x48(%esi)
44a837:	33 c0                	xor    %eax,%eax
44a839:	89 46 40             	mov    %eax,0x40(%esi)
44a83c:	c7 46 44 00 00 e0 3f 	movl   $0x3fe00000,0x44(%esi)
44a843:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
44a847:	74 33                	je     0x44a87c
44a849:	8b 46 64             	mov    0x64(%esi),%eax
44a84c:	89 43 08             	mov    %eax,0x8(%ebx)
44a84f:	8b 46 64             	mov    0x64(%esi),%eax
44a852:	89 58 14             	mov    %ebx,0x14(%eax)
44a855:	8b 55 fc             	mov    -0x4(%ebp),%edx
44a858:	89 50 0c             	mov    %edx,0xc(%eax)
44a85b:	8b 55 fc             	mov    -0x4(%ebp),%edx
44a85e:	89 42 18             	mov    %eax,0x18(%edx)
44a861:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a864:	89 58 14             	mov    %ebx,0x14(%eax)
44a867:	89 5e 64             	mov    %ebx,0x64(%esi)
44a86a:	56                   	push   %esi
44a86b:	68 84 b8 44 00       	push   $0x44b884
44a870:	8b 53 08             	mov    0x8(%ebx),%edx
44a873:	8b c6                	mov    %esi,%eax
44a875:	e8 ca fc ff ff       	call   0x44a544
44a87a:	eb 6c                	jmp    0x44a8e8
44a87c:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a87f:	89 43 08             	mov    %eax,0x8(%ebx)
44a882:	8b 46 64             	mov    0x64(%esi),%eax
44a885:	89 58 14             	mov    %ebx,0x14(%eax)
44a888:	8b 55 fc             	mov    -0x4(%ebp),%edx
44a88b:	89 50 18             	mov    %edx,0x18(%eax)
44a88e:	8b 55 fc             	mov    -0x4(%ebp),%edx
44a891:	89 42 0c             	mov    %eax,0xc(%edx)
44a894:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a897:	89 58 14             	mov    %ebx,0x14(%eax)
44a89a:	89 5e 64             	mov    %ebx,0x64(%esi)
44a89d:	56                   	push   %esi
44a89e:	68 84 b8 44 00       	push   $0x44b884
44a8a3:	8b 53 08             	mov    0x8(%ebx),%edx
44a8a6:	8b c6                	mov    %esi,%eax
44a8a8:	e8 97 fc ff ff       	call   0x44a544
44a8ad:	8b 46 64             	mov    0x64(%esi),%eax
44a8b0:	e8 d7 f8 ff ff       	call   0x44a18c
44a8b5:	d1 f8                	sar    $1,%eax
44a8b7:	79 03                	jns    0x44a8bc
44a8b9:	83 d0 00             	adc    $0x0,%eax
44a8bc:	89 46 4c             	mov    %eax,0x4c(%esi)
44a8bf:	56                   	push   %esi
44a8c0:	68 08 bc 44 00       	push   $0x44bc08
44a8c5:	8b 53 08             	mov    0x8(%ebx),%edx
44a8c8:	8b c6                	mov    %esi,%eax
44a8ca:	e8 75 fc ff ff       	call   0x44a544
44a8cf:	8b 46 64             	mov    0x64(%esi),%eax
44a8d2:	e8 b5 f8 ff ff       	call   0x44a18c
44a8d7:	8b d0                	mov    %eax,%edx
44a8d9:	d1 fa                	sar    $1,%edx
44a8db:	79 03                	jns    0x44a8e0
44a8dd:	83 d2 00             	adc    $0x0,%edx
44a8e0:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a8e3:	e8 cc f8 ff ff       	call   0x44a1b4
44a8e8:	56                   	push   %esi
44a8e9:	68 3c bd 44 00       	push   $0x44bd3c
44a8ee:	33 d2                	xor    %edx,%edx
44a8f0:	8b c6                	mov    %esi,%eax
44a8f2:	e8 4d fc ff ff       	call   0x44a544
44a8f7:	eb 77                	jmp    0x44a970
44a8f9:	8b c7                	mov    %edi,%eax
44a8fb:	e8 8c f8 ff ff       	call   0x44a18c
44a900:	8b d0                	mov    %eax,%edx
44a902:	8b c3                	mov    %ebx,%eax
44a904:	e8 ab f8 ff ff       	call   0x44a1b4
44a909:	8b 47 14             	mov    0x14(%edi),%eax
44a90c:	89 43 14             	mov    %eax,0x14(%ebx)
44a90f:	8b 47 18             	mov    0x18(%edi),%eax
44a912:	89 43 18             	mov    %eax,0x18(%ebx)
44a915:	85 c0                	test   %eax,%eax
44a917:	74 03                	je     0x44a91c
44a919:	89 58 0c             	mov    %ebx,0xc(%eax)
44a91c:	8b 47 0c             	mov    0xc(%edi),%eax
44a91f:	89 43 0c             	mov    %eax,0xc(%ebx)
44a922:	85 c0                	test   %eax,%eax
44a924:	74 03                	je     0x44a929
44a926:	89 58 18             	mov    %ebx,0x18(%eax)
44a929:	8b 43 14             	mov    0x14(%ebx),%eax
44a92c:	3b 78 08             	cmp    0x8(%eax),%edi
44a92f:	75 03                	jne    0x44a934
44a931:	89 58 08             	mov    %ebx,0x8(%eax)
44a934:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a937:	89 58 14             	mov    %ebx,0x14(%eax)
44a93a:	89 5f 14             	mov    %ebx,0x14(%edi)
44a93d:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
44a941:	74 16                	je     0x44a959
44a943:	89 7b 08             	mov    %edi,0x8(%ebx)
44a946:	33 c0                	xor    %eax,%eax
44a948:	89 47 18             	mov    %eax,0x18(%edi)
44a94b:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a94e:	89 47 0c             	mov    %eax,0xc(%edi)
44a951:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a954:	89 78 18             	mov    %edi,0x18(%eax)
44a957:	eb 17                	jmp    0x44a970
44a959:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a95c:	89 43 08             	mov    %eax,0x8(%ebx)
44a95f:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a962:	89 47 18             	mov    %eax,0x18(%edi)
44a965:	33 c0                	xor    %eax,%eax
44a967:	89 47 0c             	mov    %eax,0xc(%edi)
44a96a:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a96d:	89 78 0c             	mov    %edi,0xc(%eax)
44a970:	8b c3                	mov    %ebx,%eax
44a972:	e8 fd f4 ff ff       	call   0x449e74
44a977:	8b c3                	mov    %ebx,%eax
44a979:	e8 8a f8 ff ff       	call   0x44a208
44a97e:	56                   	push   %esi
44a97f:	68 3c bd 44 00       	push   $0x44bd3c
44a984:	33 d2                	xor    %edx,%edx
44a986:	8b c6                	mov    %esi,%eax
44a988:	e8 b7 fb ff ff       	call   0x44a544
44a98d:	5f                   	pop    %edi
44a98e:	5e                   	pop    %esi
44a98f:	5b                   	pop    %ebx
44a990:	59                   	pop    %ecx
44a991:	5d                   	pop    %ebp
44a992:	c2 08 00             	ret    $0x8
44a995:	8d 40 00             	lea    0x0(%eax),%eax
44a998:	55                   	push   %ebp
44a999:	8b ec                	mov    %esp,%ebp
44a99b:	53                   	push   %ebx
44a99c:	8b d9                	mov    %ecx,%ebx
44a99e:	8b 4d 08             	mov    0x8(%ebp),%ecx
44a9a1:	85 db                	test   %ebx,%ebx
44a9a3:	75 15                	jne    0x44a9ba
44a9a5:	8b 40 64             	mov    0x64(%eax),%eax
44a9a8:	8b 58 08             	mov    0x8(%eax),%ebx
44a9ab:	84 c9                	test   %cl,%cl
44a9ad:	74 0b                	je     0x44a9ba
44a9af:	eb 02                	jmp    0x44a9b3
44a9b1:	8b d8                	mov    %eax,%ebx
44a9b3:	8b 43 0c             	mov    0xc(%ebx),%eax
44a9b6:	85 c0                	test   %eax,%eax
44a9b8:	75 f7                	jne    0x44a9b1
44a9ba:	84 c9                	test   %cl,%cl
44a9bc:	74 1b                	je     0x44a9d9
44a9be:	8b 43 14             	mov    0x14(%ebx),%eax
44a9c1:	89 42 14             	mov    %eax,0x14(%edx)
44a9c4:	89 5a 18             	mov    %ebx,0x18(%edx)
44a9c7:	8b 43 0c             	mov    0xc(%ebx),%eax
44a9ca:	89 42 0c             	mov    %eax,0xc(%edx)
44a9cd:	85 c0                	test   %eax,%eax
44a9cf:	74 03                	je     0x44a9d4
44a9d1:	89 50 18             	mov    %edx,0x18(%eax)
44a9d4:	89 53 0c             	mov    %edx,0xc(%ebx)
44a9d7:	eb 21                	jmp    0x44a9fa
44a9d9:	89 5a 0c             	mov    %ebx,0xc(%edx)
44a9dc:	8b 43 18             	mov    0x18(%ebx),%eax
44a9df:	89 42 18             	mov    %eax,0x18(%edx)
44a9e2:	85 c0                	test   %eax,%eax
44a9e4:	74 03                	je     0x44a9e9
44a9e6:	89 50 0c             	mov    %edx,0xc(%eax)
44a9e9:	89 53 18             	mov    %edx,0x18(%ebx)
44a9ec:	8b 43 14             	mov    0x14(%ebx),%eax
44a9ef:	89 42 14             	mov    %eax,0x14(%edx)
44a9f2:	3b 58 08             	cmp    0x8(%eax),%ebx
44a9f5:	75 03                	jne    0x44a9fa
44a9f7:	89 50 08             	mov    %edx,0x8(%eax)
44a9fa:	8b 43 14             	mov    0x14(%ebx),%eax
44a9fd:	e8 72 f4 ff ff       	call   0x449e74
44aa02:	8b 43 14             	mov    0x14(%ebx),%eax
44aa05:	e8 fe f7 ff ff       	call   0x44a208
44aa0a:	5b                   	pop    %ebx
44aa0b:	5d                   	pop    %ebp
44aa0c:	c2 04 00             	ret    $0x4
44aa0f:	90                   	nop
44aa10:	55                   	push   %ebp
44aa11:	8b ec                	mov    %esp,%ebp
44aa13:	53                   	push   %ebx
44aa14:	56                   	push   %esi
44aa15:	57                   	push   %edi
44aa16:	8b d8                	mov    %eax,%ebx
44aa18:	8b 43 14             	mov    0x14(%ebx),%eax
44aa1b:	80 78 10 01          	cmpb   $0x1,0x10(%eax)
44aa1f:	75 44                	jne    0x44aa65
44aa21:	8b c3                	mov    %ebx,%eax
44aa23:	e8 64 f7 ff ff       	call   0x44a18c
44aa28:	8b 55 08             	mov    0x8(%ebp),%edx
44aa2b:	8b 52 fc             	mov    -0x4(%edx),%edx
44aa2e:	3b 42 04             	cmp    0x4(%edx),%eax
44aa31:	7c 32                	jl     0x44aa65
44aa33:	8b c3                	mov    %ebx,%eax
44aa35:	e8 52 f7 ff ff       	call   0x44a18c
44aa3a:	8b 55 08             	mov    0x8(%ebp),%edx
44aa3d:	8b 52 f8             	mov    -0x8(%edx),%edx
44aa40:	2b 42 0c             	sub    0xc(%edx),%eax
44aa43:	8b 55 08             	mov    0x8(%ebp),%edx
44aa46:	8b 52 fc             	mov    -0x4(%edx),%edx
44aa49:	3b 42 04             	cmp    0x4(%edx),%eax
44aa4c:	7f 17                	jg     0x44aa65
44aa4e:	8b 45 08             	mov    0x8(%ebp),%eax
44aa51:	8b 40 f4             	mov    -0xc(%eax),%eax
44aa54:	c7 00 12 00 00 00    	movl   $0x12,(%eax)
44aa5a:	8b 45 08             	mov    0x8(%ebp),%eax
44aa5d:	89 58 f0             	mov    %ebx,-0x10(%eax)
44aa60:	e9 88 01 00 00       	jmp    0x44abed
44aa65:	8b 43 14             	mov    0x14(%ebx),%eax
44aa68:	80 78 10 02          	cmpb   $0x2,0x10(%eax)
44aa6c:	75 42                	jne    0x44aab0
44aa6e:	8b c3                	mov    %ebx,%eax
44aa70:	e8 17 f7 ff ff       	call   0x44a18c
44aa75:	8b 55 08             	mov    0x8(%ebp),%edx
44aa78:	8b 52 fc             	mov    -0x4(%edx),%edx
44aa7b:	3b 02                	cmp    (%edx),%eax
44aa7d:	7c 31                	jl     0x44aab0
44aa7f:	8b c3                	mov    %ebx,%eax
44aa81:	e8 06 f7 ff ff       	call   0x44a18c
44aa86:	8b 55 08             	mov    0x8(%ebp),%edx
44aa89:	8b 52 f8             	mov    -0x8(%edx),%edx
44aa8c:	2b 42 0c             	sub    0xc(%edx),%eax
44aa8f:	8b 55 08             	mov    0x8(%ebp),%edx
44aa92:	8b 52 fc             	mov    -0x4(%edx),%edx
44aa95:	3b 02                	cmp    (%edx),%eax
44aa97:	7f 17                	jg     0x44aab0
44aa99:	8b 45 08             	mov    0x8(%ebp),%eax
44aa9c:	8b 40 f4             	mov    -0xc(%eax),%eax
44aa9f:	c7 00 12 00 00 00    	movl   $0x12,(%eax)
44aaa5:	8b 45 08             	mov    0x8(%ebp),%eax
44aaa8:	89 58 f0             	mov    %ebx,-0x10(%eax)
44aaab:	e9 3d 01 00 00       	jmp    0x44abed
44aab0:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
44aab4:	0f 84 33 01 00 00    	je     0x44abed
44aaba:	ba 01 00 00 00       	mov    $0x1,%edx
44aabf:	8b c3                	mov    %ebx,%eax
44aac1:	e8 72 f2 ff ff       	call   0x449d38
44aac6:	8b f0                	mov    %eax,%esi
44aac8:	ba 02 00 00 00       	mov    $0x2,%edx
44aacd:	8b c3                	mov    %ebx,%eax
44aacf:	e8 64 f2 ff ff       	call   0x449d38
44aad4:	8b f8                	mov    %eax,%edi
44aad6:	8b 45 08             	mov    0x8(%ebp),%eax