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
44c9e0:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c9e3:	e8 fc 01 00 00       	call   0x44cbe4
44c9e8:	e9 76 01 00 00       	jmp    0x44cb63
44c9ed:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c9f0:	8b 50 0c             	mov    0xc(%eax),%edx
44c9f3:	03 55 f0             	add    -0x10(%ebp),%edx
44c9f6:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c9f9:	e8 e6 01 00 00       	call   0x44cbe4
44c9fe:	e9 60 01 00 00       	jmp    0x44cb63
44ca03:	8b 45 fc             	mov    -0x4(%ebp),%eax
44ca06:	8b 50 0c             	mov    0xc(%eax),%edx
44ca09:	2b 55 f0             	sub    -0x10(%ebp),%edx
44ca0c:	8b 45 fc             	mov    -0x4(%ebp),%eax
44ca0f:	e8 d0 01 00 00       	call   0x44cbe4
44ca14:	e9 4a 01 00 00       	jmp    0x44cb63
44ca19:	8b 45 fc             	mov    -0x4(%ebp),%eax
44ca1c:	8b 50 0c             	mov    0xc(%eax),%edx
44ca1f:	03 55 f0             	add    -0x10(%ebp),%edx
44ca22:	8b 45 fc             	mov    -0x4(%ebp),%eax
44ca25:	e8 ba 01 00 00       	call   0x44cbe4
44ca2a:	e9 34 01 00 00       	jmp    0x44cb63
44ca2f:	8b 45 f8             	mov    -0x8(%ebp),%eax
44ca32:	0f bf 40 04          	movswl 0x4(%eax),%eax
44ca36:	83 f8 07             	cmp    $0x7,%eax
44ca39:	0f 87 24 01 00 00    	ja     0x44cb63
44ca3f:	ff 24 85 46 ca 44 00 	jmp    *0x44ca46(,%eax,4)
44ca46:	66 ca 44 00          	lretw  $0x44
44ca4a:	82 ca 44             	or     $0x44,%dl
44ca4d:	00 9e ca 44 00 bf    	add    %bl,-0x40ffbb36(%esi)
44ca53:	ca 44 00             	lret   $0x44
44ca56:	e0 ca                	loopne 0x44ca22
44ca58:	44                   	inc    %esp
44ca59:	00 10                	add    %dl,(%eax)
44ca5b:	cb                   	lret
44ca5c:	44                   	inc    %esp
44ca5d:	00 49 cb             	add    %cl,-0x35(%ecx)
44ca60:	44                   	inc    %esp
44ca61:	00 55 cb             	add    %dl,-0x35(%ebp)
44ca64:	44                   	inc    %esp
44ca65:	00 8b 45 fc 8b 50    	add    %cl,0x508bfc45(%ebx)
44ca6b:	0c 8b                	or     $0x8b,%al
44ca6d:	45                   	inc    %ebp
44ca6e:	fc                   	cld
44ca6f:	0f b7 40 08          	movzwl 0x8(%eax),%eax
44ca73:	2b d0                	sub    %eax,%edx
44ca75:	8b 45 fc             	mov    -0x4(%ebp),%eax
44ca78:	e8 67 01 00 00       	call   0x44cbe4
44ca7d:	e9 e1 00 00 00       	jmp    0x44cb63
44ca82:	8b 45 fc             	mov    -0x4(%ebp),%eax
44ca85:	8b 50 0c             	mov    0xc(%eax),%edx
44ca88:	8b 45 fc             	mov    -0x4(%ebp),%eax
44ca8b:	0f b7 40 08          	movzwl 0x8(%eax),%eax
44ca8f:	03 d0                	add    %eax,%edx
44ca91:	8b 45 fc             	mov    -0x4(%ebp),%eax
44ca94:	e8 4b 01 00 00       	call   0x44cbe4
44ca99:	e9 c5 00 00 00       	jmp    0x44cb63
44ca9e:	33 c9                	xor    %ecx,%ecx
44caa0:	b2 01                	mov    $0x1,%dl
44caa2:	8b 45 fc             	mov    -0x4(%ebp),%eax
44caa5:	e8 b2 fc ff ff       	call   0x44c75c
44caaa:	8b 55 fc             	mov    -0x4(%ebp),%edx
44caad:	8b 52 0c             	mov    0xc(%edx),%edx
44cab0:	2b d0                	sub    %eax,%edx
44cab2:	8b 45 fc             	mov    -0x4(%ebp),%eax
44cab5:	e8 2a 01 00 00       	call   0x44cbe4
44caba:	e9 a4 00 00 00       	jmp    0x44cb63
44cabf:	33 c9                	xor    %ecx,%ecx
44cac1:	b2 01                	mov    $0x1,%dl
44cac3:	8b 45 fc             	mov    -0x4(%ebp),%eax
44cac6:	e8 91 fc ff ff       	call   0x44c75c
44cacb:	8b d0                	mov    %eax,%edx
44cacd:	8b 45 fc             	mov    -0x4(%ebp),%eax
44cad0:	03 50 0c             	add    0xc(%eax),%edx
44cad3:	8b 45 fc             	mov    -0x4(%ebp),%eax
44cad6:	e8 09 01 00 00       	call   0x44cbe4
44cadb:	e9 83 00 00 00       	jmp    0x44cb63
44cae0:	8b 45 fc             	mov    -0x4(%ebp),%eax
44cae3:	81 78 14 ff 7f 00 00 	cmpl   $0x7fff,0x14(%eax)
44caea:	7e 13                	jle    0x44caff
44caec:	55                   	push   %ebp
44caed:	e8 02 fd ff ff       	call   0x44c7f4
44caf2:	59                   	pop    %ecx
44caf3:	8b d0                	mov    %eax,%edx
44caf5:	8b 45 fc             	mov    -0x4(%ebp),%eax
44caf8:	e8 e7 00 00 00       	call   0x44cbe4
44cafd:	eb 64                	jmp    0x44cb63
44caff:	8b 55 f8             	mov    -0x8(%ebp),%edx
44cb02:	0f bf 52 06          	movswl 0x6(%edx),%edx
44cb06:	8b 45 fc             	mov    -0x4(%ebp),%eax
44cb09:	e8 d6 00 00 00       	call   0x44cbe4
44cb0e:	eb 53                	jmp    0x44cb63
44cb10:	8b 45 fc             	mov    -0x4(%ebp),%eax
44cb13:	80 78 1d 00          	cmpb   $0x0,0x1d(%eax)
44cb17:	74 4a                	je     0x44cb63
44cb19:	8b 45 fc             	mov    -0x4(%ebp),%eax
44cb1c:	81 78 14 ff 7f 00 00 	cmpl   $0x7fff,0x14(%eax)
44cb23:	7e 13                	jle    0x44cb38
44cb25:	55                   	push   %ebp
44cb26:	e8 c9 fc ff ff       	call   0x44c7f4
44cb2b:	59                   	pop    %ecx
44cb2c:	8b d0                	mov    %eax,%edx
44cb2e:	8b 45 fc             	mov    -0x4(%ebp),%eax
44cb31:	e8 ae 00 00 00       	call   0x44cbe4
44cb36:	eb 2b                	jmp    0x44cb63
44cb38:	8b 55 f8             	mov    -0x8(%ebp),%edx
44cb3b:	0f bf 52 06          	movswl 0x6(%edx),%edx
44cb3f:	8b 45 fc             	mov    -0x4(%ebp),%eax
44cb42:	e8 9d 00 00 00       	call   0x44cbe4
44cb47:	eb 1a                	jmp    0x44cb63
44cb49:	33 d2                	xor    %edx,%edx
44cb4b:	8b 45 fc             	mov    -0x4(%ebp),%eax
44cb4e:	e8 91 00 00 00       	call   0x44cbe4
44cb53:	eb 0e                	jmp    0x44cb63
44cb55:	8b 45 fc             	mov    -0x4(%ebp),%eax
44cb58:	8b 50 14             	mov    0x14(%eax),%edx
44cb5b:	8b 45 fc             	mov    -0x4(%ebp),%eax
44cb5e:	e8 81 00 00 00       	call   0x44cbe4
44cb63:	5f                   	pop    %edi
44cb64:	5e                   	pop    %esi
44cb65:	5b                   	pop    %ebx
44cb66:	8b e5                	mov    %ebp,%esp
44cb68:	5d                   	pop    %ebp
44cb69:	c3                   	ret
44cb6a:	8b c0                	mov    %eax,%eax
44cb6c:	53                   	push   %ebx
44cb6d:	56                   	push   %esi
44cb6e:	8b d8                	mov    %eax,%ebx
44cb70:	3b 53 24             	cmp    0x24(%ebx),%edx
44cb73:	74 35                	je     0x44cbaa
44cb75:	8b f2                	mov    %edx,%esi
44cb77:	85 f6                	test   %esi,%esi
44cb79:	75 17                	jne    0x44cb92
44cb7b:	0f b6 43 18          	movzbl 0x18(%ebx),%eax
44cb7f:	8b 04 85 d8 15 46 00 	mov    0x4615d8(,%eax,4),%eax
44cb86:	50                   	push   %eax
44cb87:	a1 10 d5 46 00       	mov    0x46d510,%eax
44cb8c:	8b 00                	mov    (%eax),%eax
44cb8e:	ff d0                	call   *%eax
44cb90:	8b d0                	mov    %eax,%edx
44cb92:	89 53 24             	mov    %edx,0x24(%ebx)
44cb95:	c6 43 44 01          	movb   $0x1,0x44(%ebx)
44cb99:	8b 43 04             	mov    0x4(%ebx),%eax
44cb9c:	e8 c3 06 00 00       	call   0x44d264
44cba1:	85 f6                	test   %esi,%esi
44cba3:	75 05                	jne    0x44cbaa
44cba5:	33 c0                	xor    %eax,%eax
44cba7:	89 43 24             	mov    %eax,0x24(%ebx)
44cbaa:	5e                   	pop    %esi
44cbab:	5b                   	pop    %ebx
44cbac:	c3                   	ret
44cbad:	8d 40 00             	lea    0x0(%eax),%eax
44cbb0:	3b 50 28             	cmp    0x28(%eax),%edx
44cbb3:	74 13                	je     0x44cbc8
44cbb5:	89 50 28             	mov    %edx,0x28(%eax)
44cbb8:	c6 40 2c 00          	movb   $0x0,0x2c(%eax)
44cbbc:	c6 40 44 01          	movb   $0x1,0x44(%eax)
44cbc0:	8b 40 04             	mov    0x4(%eax),%eax
44cbc3:	e8 9c 06 00 00       	call   0x44d264
44cbc8:	c3                   	ret
44cbc9:	8d 40 00             	lea    0x0(%eax),%eax
44cbcc:	3a 50 2c             	cmp    0x2c(%eax),%dl
44cbcf:	74 11                	je     0x44cbe2
44cbd1:	88 50 2c             	mov    %dl,0x2c(%eax)
44cbd4:	84 d2                	test   %dl,%dl
44cbd6:	74 0a                	je     0x44cbe2
44cbd8:	ba 14 00 00 ff       	mov    $0xff000014,%edx
44cbdd:	e8 ce ff ff ff       	call   0x44cbb0
44cbe2:	c3                   	ret
44cbe3:	90                   	nop
44cbe4:	53                   	push   %ebx
44cbe5:	56                   	push   %esi
44cbe6:	57                   	push   %edi
44cbe7:	8b d8                	mov    %eax,%ebx
44cbe9:	8b 43 04             	mov    0x4(%ebx),%eax
44cbec:	f6 40 1c 02          	testb  $0x2,0x1c(%eax)