444994:	59                   	pop    %ecx
444995:	85 c0                	test   %eax,%eax
444997:	74 13                	je     0x4449ac
444999:	83 8e a4 00 00 00 04 	orl    $0x4,0xa4(%esi)
4449a0:	89 be b8 00 00 00    	mov    %edi,0xb8(%esi)
4449a6:	89 be b4 00 00 00    	mov    %edi,0xb4(%esi)
4449ac:	8b 86 a4 00 00 00    	mov    0xa4(%esi),%eax
4449b2:	c1 e8 02             	shr    $0x2,%eax
4449b5:	f7 d0                	not    %eax
4449b7:	83 e0 01             	and    $0x1,%eax
4449ba:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4449bd:	5f                   	pop    %edi
4449be:	33 cd                	xor    %ebp,%ecx
4449c0:	5e                   	pop    %esi
4449c1:	e8 cb 9f ff ff       	call   0x43e991
4449c6:	c9                   	leave
4449c7:	c2 04 00             	ret    $0x4
4449ca:	8b ff                	mov    %edi,%edi
4449cc:	55                   	push   %ebp
4449cd:	8b ec                	mov    %esp,%ebp
4449cf:	51                   	push   %ecx
4449d0:	56                   	push   %esi
4449d1:	8b f0                	mov    %eax,%esi
4449d3:	6a 02                	push   $0x2
4449d5:	8d 45 fc             	lea    -0x4(%ebp),%eax
4449d8:	50                   	push   %eax
4449d9:	8b c6                	mov    %esi,%eax
4449db:	25 ff 03 00 00       	and    $0x3ff,%eax
4449e0:	68 01 00 00 20       	push   $0x20000001
4449e5:	0d 00 04 00 00       	or     $0x400,%eax
4449ea:	50                   	push   %eax
4449eb:	ff 15 18 35 47 00    	call   *0x473518
4449f1:	85 c0                	test   %eax,%eax
4449f3:	75 04                	jne    0x4449f9
4449f5:	33 c0                	xor    %eax,%eax
4449f7:	eb 29                	jmp    0x444a22
4449f9:	3b 75 fc             	cmp    -0x4(%ebp),%esi
4449fc:	74 21                	je     0x444a1f
4449fe:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
444a02:	74 1b                	je     0x444a1f
444a04:	8b 45 0c             	mov    0xc(%ebp),%eax
444a07:	8b 30                	mov    (%eax),%esi
444a09:	57                   	push   %edi
444a0a:	8b d6                	mov    %esi,%edx
444a0c:	e8 f7 fe ff ff       	call   0x444908
444a11:	56                   	push   %esi
444a12:	8b f8                	mov    %eax,%edi
444a14:	e8 57 68 ff ff       	call   0x43b270
444a19:	59                   	pop    %ecx
444a1a:	3b f8                	cmp    %eax,%edi
444a1c:	5f                   	pop    %edi
444a1d:	74 d6                	je     0x4449f5
444a1f:	33 c0                	xor    %eax,%eax
444a21:	40                   	inc    %eax
444a22:	5e                   	pop    %esi
444a23:	c9                   	leave
444a24:	c3                   	ret
444a25:	8b ff                	mov    %edi,%edi
444a27:	55                   	push   %ebp
444a28:	8b ec                	mov    %esp,%ebp
444a2a:	83 ec 7c             	sub    $0x7c,%esp
444a2d:	a1 a8 f6 46 00       	mov    0x46f6a8,%eax
444a32:	33 c5                	xor    %ebp,%eax
444a34:	89 45 fc             	mov    %eax,-0x4(%ebp)
444a37:	53                   	push   %ebx
444a38:	56                   	push   %esi
444a39:	57                   	push   %edi
444a3a:	8b 7d 08             	mov    0x8(%ebp),%edi
444a3d:	e8 e6 fb fe ff       	call   0x434628
444a42:	8b d7                	mov    %edi,%edx
444a44:	8d b0 9c 00 00 00    	lea    0x9c(%eax),%esi
444a4a:	e8 88 fe ff ff       	call   0x4448d7
444a4f:	8b 1d c8 35 47 00    	mov    0x4735c8,%ebx
444a55:	8b f8                	mov    %eax,%edi
444a57:	6a 78                	push   $0x78
444a59:	8d 45 84             	lea    -0x7c(%ebp),%eax
444a5c:	50                   	push   %eax
444a5d:	8b 46 14             	mov    0x14(%esi),%eax
444a60:	f7 d8                	neg    %eax
444a62:	1b c0                	sbb    %eax,%eax
444a64:	25 05 f0 ff ff       	and    $0xfffff005,%eax
444a69:	05 02 10 00 00       	add    $0x1002,%eax
444a6e:	50                   	push   %eax
444a6f:	57                   	push   %edi
444a70:	ff d3                	call   *%ebx
444a72:	85 c0                	test   %eax,%eax
444a74:	75 0c                	jne    0x444a82
444a76:	83 66 08 00          	andl   $0x0,0x8(%esi)
444a7a:	33 c0                	xor    %eax,%eax
444a7c:	40                   	inc    %eax
444a7d:	e9 63 01 00 00       	jmp    0x444be5
444a82:	8d 45 84             	lea    -0x7c(%ebp),%eax
444a85:	50                   	push   %eax
444a86:	ff 76 04             	push   0x4(%esi)
444a89:	e8 bf e9 fe ff       	call   0x43344d
444a8e:	59                   	pop    %ecx
444a8f:	59                   	pop    %ecx
444a90:	85 c0                	test   %eax,%eax
444a92:	0f 85 91 00 00 00    	jne    0x444b29
444a98:	6a 78                	push   $0x78
444a9a:	8d 45 84             	lea    -0x7c(%ebp),%eax
444a9d:	50                   	push   %eax
444a9e:	8b 46 10             	mov    0x10(%esi),%eax
444aa1:	f7 d8                	neg    %eax
444aa3:	1b c0                	sbb    %eax,%eax
444aa5:	25 02 f0 ff ff       	and    $0xfffff002,%eax
444aaa:	05 01 10 00 00       	add    $0x1001,%eax
444aaf:	50                   	push   %eax
444ab0:	57                   	push   %edi
444ab1:	ff d3                	call   *%ebx
444ab3:	85 c0                	test   %eax,%eax
444ab5:	74 bf                	je     0x444a76
444ab7:	8d 45 84             	lea    -0x7c(%ebp),%eax
444aba:	50                   	push   %eax
444abb:	ff 36                	push   (%esi)
444abd:	e8 8b e9 fe ff       	call   0x43344d
444ac2:	59                   	pop    %ecx
444ac3:	59                   	pop    %ecx
444ac4:	85 c0                	test   %eax,%eax
444ac6:	75 0c                	jne    0x444ad4
444ac8:	81 4e 08 04 03 00 00 	orl    $0x304,0x8(%esi)
444acf:	89 7e 18             	mov    %edi,0x18(%esi)
444ad2:	eb 52                	jmp    0x444b26
444ad4:	f6 46 08 02          	testb  $0x2,0x8(%esi)
444ad8:	75 4f                	jne    0x444b29
444ada:	8b 46 0c             	mov    0xc(%esi),%eax
444add:	85 c0                	test   %eax,%eax
444adf:	74 2c                	je     0x444b0d
444ae1:	50                   	push   %eax
444ae2:	8d 45 84             	lea    -0x7c(%ebp),%eax
444ae5:	50                   	push   %eax
444ae6:	ff 36                	push   (%esi)
444ae8:	e8 01 33 00 00       	call   0x447dee
444aed:	83 c4 0c             	add    $0xc,%esp
444af0:	85 c0                	test   %eax,%eax
444af2:	75 19                	jne    0x444b0d
444af4:	ff 36                	push   (%esi)
444af6:	83 4e 08 02          	orl    $0x2,0x8(%esi)
444afa:	89 7e 1c             	mov    %edi,0x1c(%esi)
444afd:	e8 6e 67 ff ff       	call   0x43b270
444b02:	59                   	pop    %ecx
444b03:	3b 46 0c             	cmp    0xc(%esi),%eax
444b06:	75 21                	jne    0x444b29
444b08:	89 7e 18             	mov    %edi,0x18(%esi)
444b0b:	eb 1c                	jmp    0x444b29
444b0d:	8b 56 08             	mov    0x8(%esi),%edx
444b10:	f6 c2 01             	test   $0x1,%dl
444b13:	75 14                	jne    0x444b29
444b15:	57                   	push   %edi
444b16:	e8 97 fd ff ff       	call   0x4448b2
444b1b:	59                   	pop    %ecx
444b1c:	85 c0                	test   %eax,%eax
444b1e:	74 09                	je     0x444b29
444b20:	83 ca 01             	or     $0x1,%edx
444b23:	89 56 08             	mov    %edx,0x8(%esi)
444b26:	89 7e 1c             	mov    %edi,0x1c(%esi)
444b29:	8b 4e 08             	mov    0x8(%esi),%ecx
444b2c:	b8 00 03 00 00       	mov    $0x300,%eax
444b31:	23 c8                	and    %eax,%ecx
444b33:	3b c8                	cmp    %eax,%ecx
444b35:	0f 84 9f 00 00 00    	je     0x444bda
444b3b:	6a 78                	push   $0x78
444b3d:	8d 45 84             	lea    -0x7c(%ebp),%eax
444b40:	50                   	push   %eax
444b41:	8b 46 10             	mov    0x10(%esi),%eax
444b44:	f7 d8                	neg    %eax
444b46:	1b c0                	sbb    %eax,%eax
444b48:	25 02 f0 ff ff       	and    $0xfffff002,%eax
444b4d:	05 01 10 00 00       	add    $0x1001,%eax
444b52:	50                   	push   %eax
444b53:	57                   	push   %edi
444b54:	ff d3                	call   *%ebx
444b56:	85 c0                	test   %eax,%eax
444b58:	0f 84 18 ff ff ff    	je     0x444a76
444b5e:	8d 45 84             	lea    -0x7c(%ebp),%eax
444b61:	50                   	push   %eax
444b62:	ff 36                	push   (%esi)
444b64:	e8 e4 e8 fe ff       	call   0x43344d
444b69:	59                   	pop    %ecx
444b6a:	33 db                	xor    %ebx,%ebx
444b6c:	59                   	pop    %ecx
444b6d:	85 c0                	test   %eax,%eax
444b6f:	75 30                	jne    0x444ba1
444b71:	81 4e 08 00 02 00 00 	orl    $0x200,0x8(%esi)
444b78:	8b 46 08             	mov    0x8(%esi),%eax
444b7b:	39 5e 10             	cmp    %ebx,0x10(%esi)
444b7e:	74 0a                	je     0x444b8a
444b80:	0d 00 01 00 00       	or     $0x100,%eax
444b85:	89 46 08             	mov    %eax,0x8(%esi)
444b88:	eb 48                	jmp    0x444bd2
444b8a:	39 5e 0c             	cmp    %ebx,0xc(%esi)
444b8d:	74 3c                	je     0x444bcb
444b8f:	ff 36                	push   (%esi)
444b91:	e8 da 66 ff ff       	call   0x43b270
444b96:	59                   	pop    %ecx
444b97:	3b 46 0c             	cmp    0xc(%esi),%eax
444b9a:	75 2f                	jne    0x444bcb
444b9c:	56                   	push   %esi
444b9d:	6a 01                	push   $0x1
444b9f:	eb 1d                	jmp    0x444bbe
444ba1:	39 5e 10             	cmp    %ebx,0x10(%esi)
444ba4:	75 34                	jne    0x444bda
444ba6:	39 5e 0c             	cmp    %ebx,0xc(%esi)
444ba9:	74 2f                	je     0x444bda
444bab:	8d 45 84             	lea    -0x7c(%ebp),%eax
444bae:	50                   	push   %eax
444baf:	ff 36                	push   (%esi)
444bb1:	e8 97 e8 fe ff       	call   0x43344d
444bb6:	59                   	pop    %ecx
444bb7:	59                   	pop    %ecx
444bb8:	85 c0                	test   %eax,%eax
444bba:	75 1e                	jne    0x444bda
444bbc:	56                   	push   %esi
444bbd:	53                   	push   %ebx
444bbe:	8b c7                	mov    %edi,%eax
444bc0:	e8 05 fe ff ff       	call   0x4449ca
444bc5:	59                   	pop    %ecx
444bc6:	59                   	pop    %ecx
444bc7:	85 c0                	test   %eax,%eax
444bc9:	74 0f                	je     0x444bda
444bcb:	81 4e 08 00 01 00 00 	orl    $0x100,0x8(%esi)
444bd2:	39 5e 18             	cmp    %ebx,0x18(%esi)
444bd5:	75 03                	jne    0x444bda
444bd7:	89 7e 18             	mov    %edi,0x18(%esi)
444bda:	8b 46 08             	mov    0x8(%esi),%eax
444bdd:	c1 e8 02             	shr    $0x2,%eax
444be0:	f7 d0                	not    %eax
444be2:	83 e0 01             	and    $0x1,%eax
444be5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
444be8:	5f                   	pop    %edi
444be9:	5e                   	pop    %esi
444bea:	33 cd                	xor    %ebp,%ecx
444bec:	5b                   	pop    %ebx
444bed:	e8 9f 9d ff ff       	call   0x43e991
444bf2:	c9                   	leave
444bf3:	c2 04 00             	ret    $0x4
444bf6:	8b ff                	mov    %edi,%edi
444bf8:	55                   	push   %ebp
444bf9:	8b ec                	mov    %esp,%ebp
444bfb:	83 ec 7c             	sub    $0x7c,%esp
444bfe:	a1 a8 f6 46 00       	mov    0x46f6a8,%eax
444c03:	33 c5                	xor    %ebp,%eax
444c05:	89 45 fc             	mov    %eax,-0x4(%ebp)
444c08:	56                   	push   %esi
444c09:	57                   	push   %edi
444c0a:	8b 7d 08             	mov    0x8(%ebp),%edi
444c0d:	e8 16 fa fe ff       	call   0x434628
444c12:	8b d7                	mov    %edi,%edx
444c14:	8d b0 9c 00 00 00    	lea    0x9c(%eax),%esi
444c1a:	e8 b8 fc ff ff       	call   0x4448d7
444c1f:	8b f8                	mov    %eax,%edi
444c21:	6a 78                	push   $0x78
444c23:	8d 45 84             	lea    -0x7c(%ebp),%eax
444c26:	50                   	push   %eax
444c27:	8b 46 10             	mov    0x10(%esi),%eax
444c2a:	f7 d8                	neg    %eax
444c2c:	1b c0                	sbb    %eax,%eax
444c2e:	25 02 f0 ff ff       	and    $0xfffff002,%eax
444c33:	05 01 10 00 00       	add    $0x1001,%eax
444c38:	50                   	push   %eax
444c39:	57                   	push   %edi
444c3a:	ff 15 c8 35 47 00    	call   *0x4735c8
444c40:	85 c0                	test   %eax,%eax
444c42:	75 06                	jne    0x444c4a
444c44:	21 46 08             	and    %eax,0x8(%esi)
444c47:	40                   	inc    %eax
444c48:	eb 5c                	jmp    0x444ca6
444c4a:	8d 45 84             	lea    -0x7c(%ebp),%eax
444c4d:	50                   	push   %eax
444c4e:	ff 36                	push   (%esi)
444c50:	e8 f8 e7 fe ff       	call   0x43344d
444c55:	59                   	pop    %ecx
444c56:	59                   	pop    %ecx
444c57:	85 c0                	test   %eax,%eax
444c59:	75 0a                	jne    0x444c65
444c5b:	39 46 10             	cmp    %eax,0x10(%esi)
444c5e:	75 31                	jne    0x444c91
444c60:	56                   	push   %esi
444c61:	6a 01                	push   $0x1
444c63:	eb 1f                	jmp    0x444c84
444c65:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
444c69:	75 30                	jne    0x444c9b
444c6b:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
444c6f:	74 2a                	je     0x444c9b
444c71:	8d 45 84             	lea    -0x7c(%ebp),%eax
444c74:	50                   	push   %eax
444c75:	ff 36                	push   (%esi)
444c77:	e8 d1 e7 fe ff       	call   0x43344d
444c7c:	59                   	pop    %ecx
444c7d:	59                   	pop    %ecx
444c7e:	85 c0                	test   %eax,%eax
444c80:	75 19                	jne    0x444c9b
444c82:	56                   	push   %esi
444c83:	50                   	push   %eax
444c84:	8b c7                	mov    %edi,%eax
444c86:	e8 3f fd ff ff       	call   0x4449ca
444c8b:	59                   	pop    %ecx
444c8c:	59                   	pop    %ecx
444c8d:	85 c0                	test   %eax,%eax
444c8f:	74 0a                	je     0x444c9b
444c91:	83 4e 08 04          	orl    $0x4,0x8(%esi)
444c95:	89 7e 18             	mov    %edi,0x18(%esi)
444c98:	89 7e 1c             	mov    %edi,0x1c(%esi)
444c9b:	8b 46 08             	mov    0x8(%esi),%eax
444c9e:	c1 e8 02             	shr    $0x2,%eax
444ca1:	f7 d0                	not    %eax
444ca3:	83 e0 01             	and    $0x1,%eax
444ca6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
444ca9:	5f                   	pop    %edi
444caa:	33 cd                	xor    %ebp,%ecx
444cac:	5e                   	pop    %esi
444cad:	e8 df 9c ff ff       	call   0x43e991
444cb2:	c9                   	leave
444cb3:	c2 04 00             	ret    $0x4
444cb6:	ff 76 04             	push   0x4(%esi)
444cb9:	e8 b2 65 ff ff       	call   0x43b270
444cbe:	83 e8 03             	sub    $0x3,%eax
444cc1:	f7 d8                	neg    %eax
444cc3:	59                   	pop    %ecx
444cc4:	1b c0                	sbb    %eax,%eax
444cc6:	6a 01                	push   $0x1
444cc8:	40                   	inc    %eax
444cc9:	68 23 49 44 00       	push   $0x444923
444cce:	89 46 14             	mov    %eax,0x14(%esi)
444cd1:	ff 15 cc 35 47 00    	call   *0x4735cc
444cd7:	f6 46 08 04          	testb  $0x4,0x8(%esi)
444cdb:	75 04                	jne    0x444ce1
444cdd:	83 66 08 00          	andl   $0x0,0x8(%esi)
444ce1:	c3                   	ret
444ce2:	ff 36                	push   (%esi)
444ce4:	e8 87 65 ff ff       	call   0x43b270
444ce9:	ff 76 04             	push   0x4(%esi)
444cec:	83 e8 03             	sub    $0x3,%eax
444cef:	f7 d8                	neg    %eax
444cf1:	1b c0                	sbb    %eax,%eax
444cf3:	40                   	inc    %eax
444cf4:	89 46 10             	mov    %eax,0x10(%esi)
444cf7:	e8 74 65 ff ff       	call   0x43b270
444cfc:	83 e8 03             	sub    $0x3,%eax
444cff:	f7 d8                	neg    %eax
444d01:	1b c0                	sbb    %eax,%eax
444d03:	83 66 18 00          	andl   $0x0,0x18(%esi)
444d07:	40                   	inc    %eax
444d08:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
444d0c:	59                   	pop    %ecx
444d0d:	59                   	pop    %ecx
444d0e:	89 46 14             	mov    %eax,0x14(%esi)
444d11:	74 05                	je     0x444d18
444d13:	6a 02                	push   $0x2
444d15:	58                   	pop    %eax