44194b:	68 18 e1 46 00       	push   $0x46e118
441950:	e8 2b 34 ff ff       	call   0x434d80
441955:	33 c0                	xor    %eax,%eax
441957:	8b 75 0c             	mov    0xc(%ebp),%esi
44195a:	85 f6                	test   %esi,%esi
44195c:	0f 95 c0             	setne  %al
44195f:	85 c0                	test   %eax,%eax
441961:	75 17                	jne    0x44197a
441963:	e8 40 30 ff ff       	call   0x4349a8
441968:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
44196e:	e8 fb 29 ff ff       	call   0x43436e
441973:	b8 ff ff 00 00       	mov    $0xffff,%eax
441978:	eb 2f                	jmp    0x4419a9
44197a:	89 75 0c             	mov    %esi,0xc(%ebp)
44197d:	56                   	push   %esi
44197e:	e8 9c ea fe ff       	call   0x43041f
441983:	59                   	pop    %ecx
441984:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
441988:	56                   	push   %esi
441989:	ff 75 08             	push   0x8(%ebp)
44198c:	e8 31 fe ff ff       	call   0x4417c2
441991:	59                   	pop    %ecx
441992:	59                   	pop    %ecx
441993:	0f b7 c0             	movzwl %ax,%eax
441996:	89 45 e4             	mov    %eax,-0x1c(%ebp)
441999:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4419a0:	e8 0a 00 00 00       	call   0x4419af
4419a5:	66 8b 45 e4          	mov    -0x1c(%ebp),%ax
4419a9:	e8 17 34 ff ff       	call   0x434dc5
4419ae:	c3                   	ret
4419af:	ff 75 0c             	push   0xc(%ebp)
4419b2:	e8 db ea fe ff       	call   0x430492
4419b7:	59                   	pop    %ecx
4419b8:	c3                   	ret
4419b9:	8b ff                	mov    %edi,%edi
4419bb:	55                   	push   %ebp
4419bc:	8b ec                	mov    %esp,%ebp
4419be:	5d                   	pop    %ebp
4419bf:	e9 85 ff ff ff       	jmp    0x441949
4419c4:	8b ff                	mov    %edi,%edi
4419c6:	55                   	push   %ebp
4419c7:	8b ec                	mov    %esp,%ebp
4419c9:	83 ec 10             	sub    $0x10,%esp
4419cc:	53                   	push   %ebx
4419cd:	56                   	push   %esi
4419ce:	8b 75 0c             	mov    0xc(%ebp),%esi
4419d1:	33 db                	xor    %ebx,%ebx
4419d3:	3b f3                	cmp    %ebx,%esi
4419d5:	74 15                	je     0x4419ec
4419d7:	39 5d 10             	cmp    %ebx,0x10(%ebp)
4419da:	74 10                	je     0x4419ec
4419dc:	38 1e                	cmp    %bl,(%esi)
4419de:	75 12                	jne    0x4419f2
4419e0:	8b 45 08             	mov    0x8(%ebp),%eax
4419e3:	3b c3                	cmp    %ebx,%eax
4419e5:	74 05                	je     0x4419ec
4419e7:	33 c9                	xor    %ecx,%ecx
4419e9:	66 89 08             	mov    %cx,(%eax)
4419ec:	33 c0                	xor    %eax,%eax
4419ee:	5e                   	pop    %esi
4419ef:	5b                   	pop    %ebx
4419f0:	c9                   	leave
4419f1:	c3                   	ret
4419f2:	ff 75 14             	push   0x14(%ebp)
4419f5:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4419f8:	e8 ed f1 fe ff       	call   0x430bea
4419fd:	8b 45 f0             	mov    -0x10(%ebp),%eax
441a00:	39 58 14             	cmp    %ebx,0x14(%eax)
441a03:	75 1e                	jne    0x441a23
441a05:	8b 45 08             	mov    0x8(%ebp),%eax
441a08:	3b c3                	cmp    %ebx,%eax
441a0a:	74 06                	je     0x441a12
441a0c:	0f b6 0e             	movzbl (%esi),%ecx
441a0f:	66 89 08             	mov    %cx,(%eax)
441a12:	38 5d fc             	cmp    %bl,-0x4(%ebp)
441a15:	74 07                	je     0x441a1e
441a17:	8b 45 f8             	mov    -0x8(%ebp),%eax
441a1a:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
441a1e:	33 c0                	xor    %eax,%eax
441a20:	40                   	inc    %eax
441a21:	eb cb                	jmp    0x4419ee
441a23:	8d 45 f0             	lea    -0x10(%ebp),%eax
441a26:	50                   	push   %eax
441a27:	0f b6 06             	movzbl (%esi),%eax
441a2a:	50                   	push   %eax
441a2b:	e8 79 d5 ff ff       	call   0x43efa9
441a30:	59                   	pop    %ecx
441a31:	59                   	pop    %ecx
441a32:	85 c0                	test   %eax,%eax
441a34:	74 7d                	je     0x441ab3
441a36:	8b 45 f0             	mov    -0x10(%ebp),%eax
441a39:	8b 88 ac 00 00 00    	mov    0xac(%eax),%ecx
441a3f:	83 f9 01             	cmp    $0x1,%ecx
441a42:	7e 25                	jle    0x441a69
441a44:	39 4d 10             	cmp    %ecx,0x10(%ebp)
441a47:	7c 20                	jl     0x441a69
441a49:	33 d2                	xor    %edx,%edx
441a4b:	39 5d 08             	cmp    %ebx,0x8(%ebp)
441a4e:	0f 95 c2             	setne  %dl
441a51:	52                   	push   %edx
441a52:	ff 75 08             	push   0x8(%ebp)
441a55:	51                   	push   %ecx
441a56:	56                   	push   %esi
441a57:	6a 09                	push   $0x9
441a59:	ff 70 04             	push   0x4(%eax)
441a5c:	ff 15 e8 34 47 00    	call   *0x4734e8
441a62:	85 c0                	test   %eax,%eax
441a64:	8b 45 f0             	mov    -0x10(%ebp),%eax
441a67:	75 10                	jne    0x441a79
441a69:	8b 4d 10             	mov    0x10(%ebp),%ecx
441a6c:	3b 88 ac 00 00 00    	cmp    0xac(%eax),%ecx
441a72:	72 20                	jb     0x441a94
441a74:	38 5e 01             	cmp    %bl,0x1(%esi)
441a77:	74 1b                	je     0x441a94
441a79:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
441a7f:	38 5d fc             	cmp    %bl,-0x4(%ebp)
441a82:	0f 84 66 ff ff ff    	je     0x4419ee
441a88:	8b 4d f8             	mov    -0x8(%ebp),%ecx
441a8b:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
441a8f:	e9 5a ff ff ff       	jmp    0x4419ee
441a94:	e8 0f 2f ff ff       	call   0x4349a8
441a99:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
441a9f:	38 5d fc             	cmp    %bl,-0x4(%ebp)
441aa2:	74 07                	je     0x441aab
441aa4:	8b 45 f8             	mov    -0x8(%ebp),%eax
441aa7:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
441aab:	83 c8 ff             	or     $0xffffffff,%eax
441aae:	e9 3b ff ff ff       	jmp    0x4419ee
441ab3:	33 c0                	xor    %eax,%eax
441ab5:	39 5d 08             	cmp    %ebx,0x8(%ebp)
441ab8:	0f 95 c0             	setne  %al
441abb:	50                   	push   %eax
441abc:	ff 75 08             	push   0x8(%ebp)
441abf:	8b 45 f0             	mov    -0x10(%ebp),%eax
441ac2:	6a 01                	push   $0x1
441ac4:	56                   	push   %esi
441ac5:	6a 09                	push   $0x9
441ac7:	ff 70 04             	push   0x4(%eax)
441aca:	ff 15 e8 34 47 00    	call   *0x4734e8
441ad0:	85 c0                	test   %eax,%eax
441ad2:	0f 85 3a ff ff ff    	jne    0x441a12
441ad8:	eb ba                	jmp    0x441a94
441ada:	8b ff                	mov    %edi,%edi
441adc:	55                   	push   %ebp
441add:	8b ec                	mov    %esp,%ebp
441adf:	6a 00                	push   $0x0
441ae1:	ff 75 10             	push   0x10(%ebp)
441ae4:	ff 75 0c             	push   0xc(%ebp)
441ae7:	ff 75 08             	push   0x8(%ebp)
441aea:	e8 d5 fe ff ff       	call   0x4419c4
441aef:	83 c4 10             	add    $0x10,%esp
441af2:	5d                   	pop    %ebp
441af3:	c3                   	ret
441af4:	8b ff                	mov    %edi,%edi
441af6:	55                   	push   %ebp
441af7:	8b ec                	mov    %esp,%ebp
441af9:	83 ec 18             	sub    $0x18,%esp
441afc:	53                   	push   %ebx
441afd:	ff 75 10             	push   0x10(%ebp)
441b00:	8d 4d e8             	lea    -0x18(%ebp),%ecx
441b03:	e8 e2 f0 fe ff       	call   0x430bea
441b08:	8b 5d 08             	mov    0x8(%ebp),%ebx
441b0b:	8d 43 01             	lea    0x1(%ebx),%eax
441b0e:	3d 00 01 00 00       	cmp    $0x100,%eax
441b13:	77 0f                	ja     0x441b24
441b15:	8b 45 e8             	mov    -0x18(%ebp),%eax
441b18:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
441b1e:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
441b22:	eb 75                	jmp    0x441b99
441b24:	89 5d 08             	mov    %ebx,0x8(%ebp)
441b27:	c1 7d 08 08          	sarl   $0x8,0x8(%ebp)
441b2b:	8d 45 e8             	lea    -0x18(%ebp),%eax
441b2e:	50                   	push   %eax
441b2f:	8b 45 08             	mov    0x8(%ebp),%eax
441b32:	25 ff 00 00 00       	and    $0xff,%eax
441b37:	50                   	push   %eax
441b38:	e8 6c d4 ff ff       	call   0x43efa9
441b3d:	59                   	pop    %ecx
441b3e:	59                   	pop    %ecx
441b3f:	85 c0                	test   %eax,%eax
441b41:	74 12                	je     0x441b55
441b43:	8a 45 08             	mov    0x8(%ebp),%al
441b46:	6a 02                	push   $0x2
441b48:	88 45 f8             	mov    %al,-0x8(%ebp)
441b4b:	88 5d f9             	mov    %bl,-0x7(%ebp)
441b4e:	c6 45 fa 00          	movb   $0x0,-0x6(%ebp)
441b52:	59                   	pop    %ecx
441b53:	eb 0a                	jmp    0x441b5f
441b55:	33 c9                	xor    %ecx,%ecx
441b57:	88 5d f8             	mov    %bl,-0x8(%ebp)
441b5a:	c6 45 f9 00          	movb   $0x0,-0x7(%ebp)
441b5e:	41                   	inc    %ecx
441b5f:	8b 45 e8             	mov    -0x18(%ebp),%eax
441b62:	6a 01                	push   $0x1
441b64:	ff 70 14             	push   0x14(%eax)
441b67:	ff 70 04             	push   0x4(%eax)
441b6a:	8d 45 fc             	lea    -0x4(%ebp),%eax
441b6d:	50                   	push   %eax
441b6e:	51                   	push   %ecx
441b6f:	8d 45 f8             	lea    -0x8(%ebp),%eax
441b72:	50                   	push   %eax
441b73:	8d 45 e8             	lea    -0x18(%ebp),%eax
441b76:	6a 01                	push   $0x1
441b78:	50                   	push   %eax
441b79:	e8 84 08 00 00       	call   0x442402
441b7e:	83 c4 20             	add    $0x20,%esp
441b81:	85 c0                	test   %eax,%eax
441b83:	75 10                	jne    0x441b95
441b85:	38 45 f4             	cmp    %al,-0xc(%ebp)
441b88:	74 07                	je     0x441b91
441b8a:	8b 45 f0             	mov    -0x10(%ebp),%eax
441b8d:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
441b91:	33 c0                	xor    %eax,%eax
441b93:	eb 14                	jmp    0x441ba9
441b95:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
441b99:	23 45 0c             	and    0xc(%ebp),%eax
441b9c:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
441ba0:	74 07                	je     0x441ba9
441ba2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
441ba5:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
441ba9:	5b                   	pop    %ebx
441baa:	c9                   	leave
441bab:	c3                   	ret
441bac:	8b ff                	mov    %edi,%edi
441bae:	55                   	push   %ebp
441baf:	8b ec                	mov    %esp,%ebp
441bb1:	83 3d c4 10 47 00 00 	cmpl   $0x0,0x4710c4
441bb8:	75 12                	jne    0x441bcc
441bba:	8b 45 08             	mov    0x8(%ebp),%eax
441bbd:	8b 0d 08 fe 46 00    	mov    0x46fe08,%ecx
441bc3:	0f b7 04 41          	movzwl (%ecx,%eax,2),%eax
441bc7:	23 45 0c             	and    0xc(%ebp),%eax
441bca:	5d                   	pop    %ebp
441bcb:	c3                   	ret
441bcc:	6a 00                	push   $0x0
441bce:	ff 75 0c             	push   0xc(%ebp)
441bd1:	ff 75 08             	push   0x8(%ebp)
441bd4:	e8 1b ff ff ff       	call   0x441af4
441bd9:	83 c4 0c             	add    $0xc,%esp
441bdc:	5d                   	pop    %ebp
441bdd:	c3                   	ret
441bde:	cc                   	int3
441bdf:	cc                   	int3
441be0:	8b 44 24 08          	mov    0x8(%esp),%eax
441be4:	8b 4c 24 10          	mov    0x10(%esp),%ecx
441be8:	0b c8                	or     %eax,%ecx
441bea:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
441bee:	75 09                	jne    0x441bf9
441bf0:	8b 44 24 04          	mov    0x4(%esp),%eax
441bf4:	f7 e1                	mul    %ecx
441bf6:	c2 10 00             	ret    $0x10
441bf9:	53                   	push   %ebx
441bfa:	f7 e1                	mul    %ecx
441bfc:	8b d8                	mov    %eax,%ebx
441bfe:	8b 44 24 08          	mov    0x8(%esp),%eax
441c02:	f7 64 24 14          	mull   0x14(%esp)
441c06:	03 d8                	add    %eax,%ebx
441c08:	8b 44 24 08          	mov    0x8(%esp),%eax
441c0c:	f7 e1                	mul    %ecx
441c0e:	03 d3                	add    %ebx,%edx
441c10:	5b                   	pop    %ebx
441c11:	c2 10 00             	ret    $0x10
441c14:	8b ff                	mov    %edi,%edi
441c16:	55                   	push   %ebp
441c17:	8b ec                	mov    %esp,%ebp
441c19:	8b 55 08             	mov    0x8(%ebp),%edx
441c1c:	56                   	push   %esi
441c1d:	57                   	push   %edi
441c1e:	85 d2                	test   %edx,%edx
441c20:	74 07                	je     0x441c29
441c22:	8b 7d 0c             	mov    0xc(%ebp),%edi
441c25:	85 ff                	test   %edi,%edi
441c27:	75 13                	jne    0x441c3c
441c29:	e8 7a 2d ff ff       	call   0x4349a8
441c2e:	6a 16                	push   $0x16
441c30:	5e                   	pop    %esi
441c31:	89 30                	mov    %esi,(%eax)
441c33:	e8 36 27 ff ff       	call   0x43436e
441c38:	8b c6                	mov    %esi,%eax
441c3a:	eb 33                	jmp    0x441c6f
441c3c:	8b 45 10             	mov    0x10(%ebp),%eax
441c3f:	85 c0                	test   %eax,%eax
441c41:	75 04                	jne    0x441c47
441c43:	88 02                	mov    %al,(%edx)
441c45:	eb e2                	jmp    0x441c29
441c47:	8b f2                	mov    %edx,%esi
441c49:	2b f0                	sub    %eax,%esi
441c4b:	8a 08                	mov    (%eax),%cl
441c4d:	88 0c 06             	mov    %cl,(%esi,%eax,1)
441c50:	40                   	inc    %eax
441c51:	84 c9                	test   %cl,%cl
441c53:	74 03                	je     0x441c58
441c55:	4f                   	dec    %edi
441c56:	75 f3                	jne    0x441c4b
441c58:	85 ff                	test   %edi,%edi
441c5a:	75 11                	jne    0x441c6d
441c5c:	c6 02 00             	movb   $0x0,(%edx)
441c5f:	e8 44 2d ff ff       	call   0x4349a8
441c64:	6a 22                	push   $0x22
441c66:	59                   	pop    %ecx
441c67:	89 08                	mov    %ecx,(%eax)
441c69:	8b f1                	mov    %ecx,%esi
441c6b:	eb c6                	jmp    0x441c33
441c6d:	33 c0                	xor    %eax,%eax
441c6f:	5f                   	pop    %edi
441c70:	5e                   	pop    %esi
441c71:	5d                   	pop    %ebp
441c72:	c3                   	ret
441c73:	8b ff                	mov    %edi,%edi
441c75:	55                   	push   %ebp
441c76:	8b ec                	mov    %esp,%ebp
441c78:	83 ec 10             	sub    $0x10,%esp
441c7b:	ff 75 08             	push   0x8(%ebp)
441c7e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
441c81:	e8 64 ef fe ff       	call   0x430bea
441c86:	0f b6 45 0c          	movzbl 0xc(%ebp),%eax
441c8a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
441c8d:	8a 55 14             	mov    0x14(%ebp),%dl
441c90:	84 54 01 1d          	test   %dl,0x1d(%ecx,%eax,1)
441c94:	75 1e                	jne    0x441cb4
441c96:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
441c9a:	74 12                	je     0x441cae
441c9c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
441c9f:	8b 89 c8 00 00 00    	mov    0xc8(%ecx),%ecx
441ca5:	0f b7 04 41          	movzwl (%ecx,%eax,2),%eax
441ca9:	23 45 10             	and    0x10(%ebp),%eax
441cac:	eb 02                	jmp    0x441cb0
441cae:	33 c0                	xor    %eax,%eax
441cb0:	85 c0                	test   %eax,%eax
441cb2:	74 03                	je     0x441cb7
441cb4:	33 c0                	xor    %eax,%eax
441cb6:	40                   	inc    %eax
441cb7:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
441cbb:	74 07                	je     0x441cc4
441cbd:	8b 4d f8             	mov    -0x8(%ebp),%ecx
441cc0:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
441cc4:	c9                   	leave
441cc5:	c3                   	ret
441cc6:	8b ff                	mov    %edi,%edi
441cc8:	55                   	push   %ebp
441cc9:	8b ec                	mov    %esp,%ebp
441ccb:	6a 01                	push   $0x1
441ccd:	6a 00                	push   $0x0
441ccf:	ff 75 08             	push   0x8(%ebp)
441cd2:	ff 75 0c             	push   0xc(%ebp)
441cd5:	e8 99 ff ff ff       	call   0x441c73
441cda:	83 c4 10             	add    $0x10,%esp
441cdd:	5d                   	pop    %ebp
441cde:	c3                   	ret
441cdf:	8b ff                	mov    %edi,%edi