446a7a:	5f                   	pop    %edi
446a7b:	5e                   	pop    %esi
446a7c:	c9                   	leave
446a7d:	c3                   	ret
446a7e:	55                   	push   %ebp
446a7f:	8b ec                	mov    %esp,%ebp
446a81:	83 ec 10             	sub    $0x10,%esp
446a84:	53                   	push   %ebx
446a85:	56                   	push   %esi
446a86:	57                   	push   %edi
446a87:	6a 2a                	push   $0x2a
446a89:	58                   	pop    %eax
446a8a:	33 db                	xor    %ebx,%ebx
446a8c:	50                   	push   %eax
446a8d:	ff 75 08             	push   0x8(%ebp)
446a90:	8b fb                	mov    %ebx,%edi
446a92:	89 55 f0             	mov    %edx,-0x10(%ebp)
446a95:	89 4d fc             	mov    %ecx,-0x4(%ebp)
446a98:	89 7d f8             	mov    %edi,-0x8(%ebp)
446a9b:	8b f3                	mov    %ebx,%esi
446a9d:	89 45 f4             	mov    %eax,-0xc(%ebp)
446aa0:	e8 51 b9 fd ff       	call   0x4223f6
446aa5:	59                   	pop    %ecx
446aa6:	59                   	pop    %ecx
446aa7:	85 c0                	test   %eax,%eax
446aa9:	74 79                	je     0x446b24
446aab:	8b 45 08             	mov    0x8(%ebp),%eax
446aae:	6a 2a                	push   $0x2a
446ab0:	0f b7 08             	movzwl (%eax),%ecx
446ab3:	5a                   	pop    %edx
446ab4:	66 3b ca             	cmp    %dx,%cx
446ab7:	74 1a                	je     0x446ad3
446ab9:	8b d1                	mov    %ecx,%edx
446abb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
446abe:	66 89 14 71          	mov    %dx,(%ecx,%esi,2)
446ac2:	46                   	inc    %esi
446ac3:	47                   	inc    %edi
446ac4:	0f b7 14 78          	movzwl (%eax,%edi,2),%edx
446ac8:	66 3b 55 f4          	cmp    -0xc(%ebp),%dx
446acc:	75 f0                	jne    0x446abe
446ace:	89 7d f8             	mov    %edi,-0x8(%ebp)
446ad1:	eb 03                	jmp    0x446ad6
446ad3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
446ad6:	8b 55 fc             	mov    -0x4(%ebp),%edx
446ad9:	0f b7 12             	movzwl (%edx),%edx
446adc:	66 85 d2             	test   %dx,%dx
446adf:	74 1a                	je     0x446afb
446ae1:	8b 7d fc             	mov    -0x4(%ebp),%edi
446ae4:	8b c3                	mov    %ebx,%eax
446ae6:	66 89 14 71          	mov    %dx,(%ecx,%esi,2)
446aea:	46                   	inc    %esi
446aeb:	40                   	inc    %eax
446aec:	0f b7 14 47          	movzwl (%edi,%eax,2),%edx
446af0:	66 85 d2             	test   %dx,%dx
446af3:	75 f1                	jne    0x446ae6
446af5:	8b 7d f8             	mov    -0x8(%ebp),%edi
446af8:	8b 45 08             	mov    0x8(%ebp),%eax
446afb:	47                   	inc    %edi
446afc:	8d 04 78             	lea    (%eax,%edi,2),%eax
446aff:	66 39 18             	cmp    %bx,(%eax)
446b02:	74 18                	je     0x446b1c
446b04:	6a 2a                	push   $0x2a
446b06:	5f                   	pop    %edi
446b07:	0f b7 10             	movzwl (%eax),%edx
446b0a:	66 3b d7             	cmp    %di,%dx
446b0d:	74 05                	je     0x446b14
446b0f:	66 89 14 71          	mov    %dx,(%ecx,%esi,2)
446b13:	46                   	inc    %esi
446b14:	83 c0 02             	add    $0x2,%eax
446b17:	66 39 18             	cmp    %bx,(%eax)
446b1a:	75 eb                	jne    0x446b07
446b1c:	33 c0                	xor    %eax,%eax
446b1e:	66 89 04 71          	mov    %ax,(%ecx,%esi,2)
446b22:	b3 01                	mov    $0x1,%bl
446b24:	68 50 37 4b 00       	push   $0x4b3750
446b29:	ff 75 f0             	push   -0x10(%ebp)
446b2c:	e8 73 b9 fd ff       	call   0x4224a4
446b31:	59                   	pop    %ecx
446b32:	59                   	pop    %ecx
446b33:	5f                   	pop    %edi
446b34:	5e                   	pop    %esi
446b35:	84 db                	test   %bl,%bl
446b37:	5b                   	pop    %ebx
446b38:	75 0d                	jne    0x446b47
446b3a:	ff 75 08             	push   0x8(%ebp)
446b3d:	ff 75 0c             	push   0xc(%ebp)
446b40:	e8 de a1 fd ff       	call   0x420d23
446b45:	59                   	pop    %ecx
446b46:	59                   	pop    %ecx
446b47:	c9                   	leave
446b48:	c3                   	ret
446b49:	55                   	push   %ebp
446b4a:	8b ec                	mov    %esp,%ebp
446b4c:	81 ec 08 04 00 00    	sub    $0x408,%esp
446b52:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
446b58:	53                   	push   %ebx
446b59:	bb 00 01 00 00       	mov    $0x100,%ebx
446b5e:	53                   	push   %ebx
446b5f:	50                   	push   %eax
446b60:	51                   	push   %ecx
446b61:	6a 00                	push   $0x0
446b63:	ff 15 a8 d1 48 00    	call   *0x48d1a8
446b69:	50                   	push   %eax
446b6a:	ff 15 ec d5 48 00    	call   *0x48d5ec
446b70:	53                   	push   %ebx
446b71:	8d 85 f8 fb ff ff    	lea    -0x408(%ebp),%eax
446b77:	50                   	push   %eax
446b78:	68 89 13 00 00       	push   $0x1389
446b7d:	33 db                	xor    %ebx,%ebx
446b7f:	53                   	push   %ebx
446b80:	ff 15 a8 d1 48 00    	call   *0x48d1a8
446b86:	50                   	push   %eax
446b87:	ff 15 ec d5 48 00    	call   *0x48d5ec
446b8d:	38 5d 0c             	cmp    %bl,0xc(%ebp)
446b90:	74 25                	je     0x446bb7
446b92:	b8 00 dc 49 00       	mov    $0x49dc00,%eax
446b97:	50                   	push   %eax
446b98:	50                   	push   %eax
446b99:	8d 85 f8 fb ff ff    	lea    -0x408(%ebp),%eax
446b9f:	50                   	push   %eax
446ba0:	53                   	push   %ebx
446ba1:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
446ba7:	50                   	push   %eax
446ba8:	68 3c 33 4b 00       	push   $0x4b333c
446bad:	e8 9e b1 fd ff       	call   0x421d50
446bb2:	83 c4 18             	add    $0x18,%esp
446bb5:	eb 1a                	jmp    0x446bd1
446bb7:	68 10 10 01 00       	push   $0x11010
446bbc:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
446bc2:	50                   	push   %eax
446bc3:	8d 85 f8 fb ff ff    	lea    -0x408(%ebp),%eax
446bc9:	50                   	push   %eax
446bca:	53                   	push   %ebx
446bcb:	ff 15 e0 d6 48 00    	call   *0x48d6e0
446bd1:	5b                   	pop    %ebx
446bd2:	c9                   	leave
446bd3:	c3                   	ret
446bd4:	55                   	push   %ebp
446bd5:	8b ec                	mov    %esp,%ebp
446bd7:	53                   	push   %ebx
446bd8:	56                   	push   %esi
446bd9:	57                   	push   %edi
446bda:	33 db                	xor    %ebx,%ebx
446bdc:	53                   	push   %ebx
446bdd:	68 80 00 00 02       	push   $0x2000080
446be2:	6a 03                	push   $0x3
446be4:	53                   	push   %ebx
446be5:	6a 01                	push   $0x1
446be7:	68 00 00 00 40       	push   $0x40000000
446bec:	51                   	push   %ecx
446bed:	8b fa                	mov    %edx,%edi
446bef:	ff 15 c4 d1 48 00    	call   *0x48d1c4
446bf5:	8b f0                	mov    %eax,%esi
446bf7:	83 fe ff             	cmp    $0xffffffff,%esi
446bfa:	75 04                	jne    0x446c00
446bfc:	32 c0                	xor    %al,%al
446bfe:	eb 26                	jmp    0x446c26
446c00:	39 5d 08             	cmp    %ebx,0x8(%ebp)
446c03:	75 04                	jne    0x446c09
446c05:	57                   	push   %edi
446c06:	53                   	push   %ebx
446c07:	eb 0c                	jmp    0x446c15
446c09:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
446c0d:	53                   	push   %ebx
446c0e:	75 04                	jne    0x446c14
446c10:	53                   	push   %ebx
446c11:	57                   	push   %edi
446c12:	eb 02                	jmp    0x446c16
446c14:	57                   	push   %edi
446c15:	53                   	push   %ebx
446c16:	56                   	push   %esi
446c17:	ff 15 e8 d1 48 00    	call   *0x48d1e8
446c1d:	56                   	push   %esi
446c1e:	ff 15 0c d3 48 00    	call   *0x48d30c
446c24:	b0 01                	mov    $0x1,%al
446c26:	5f                   	pop    %edi
446c27:	5e                   	pop    %esi
446c28:	5b                   	pop    %ebx
446c29:	5d                   	pop    %ebp
446c2a:	c3                   	ret
446c2b:	53                   	push   %ebx
446c2c:	56                   	push   %esi
446c2d:	8b f1                	mov    %ecx,%esi
446c2f:	bb 64 21 4c 00       	mov    $0x4c2164,%ebx
446c34:	57                   	push   %edi
446c35:	8b cb                	mov    %ebx,%ecx
446c37:	8b fa                	mov    %edx,%edi
446c39:	e8 90 50 fc ff       	call   0x40bcce
446c3e:	6a 00                	push   $0x0
446c40:	68 58 6c 44 00       	push   $0x446c58
446c45:	56                   	push   %esi
446c46:	ff 15 5c d6 48 00    	call   *0x48d65c
446c4c:	53                   	push   %ebx
446c4d:	8b cf                	mov    %edi,%ecx
446c4f:	e8 99 02 fc ff       	call   0x406eed
446c54:	5f                   	pop    %edi
446c55:	5e                   	pop    %esi
446c56:	5b                   	pop    %ebx
446c57:	c3                   	ret
446c58:	55                   	push   %ebp
446c59:	8b ec                	mov    %esp,%ebp
446c5b:	56                   	push   %esi
446c5c:	68 00 00 01 00       	push   $0x10000
446c61:	e8 84 88 fd ff       	call   0x41f4ea
446c66:	8b f0                	mov    %eax,%esi
446c68:	c7 04 24 ff 7f 00 00 	movl   $0x7fff,(%esp)
446c6f:	56                   	push   %esi
446c70:	ff 75 08             	push   0x8(%ebp)
446c73:	ff 15 64 d6 48 00    	call   *0x48d664
446c79:	66 83 3e 00          	cmpw   $0x0,(%esi)
446c7d:	74 1b                	je     0x446c9a
446c7f:	57                   	push   %edi
446c80:	bf 64 21 4c 00       	mov    $0x4c2164,%edi
446c85:	56                   	push   %esi
446c86:	8b cf                	mov    %edi,%ecx
446c88:	e8 ff e4 fb ff       	call   0x40518c
446c8d:	68 b0 dc 49 00       	push   $0x49dcb0
446c92:	8b cf                	mov    %edi,%ecx
446c94:	e8 f3 e4 fb ff       	call   0x40518c
446c99:	5f                   	pop    %edi
446c9a:	56                   	push   %esi
446c9b:	e8 be 88 fd ff       	call   0x41f55e
446ca0:	59                   	pop    %ecx
446ca1:	33 c0                	xor    %eax,%eax
446ca3:	40                   	inc    %eax
446ca4:	5e                   	pop    %esi
446ca5:	5d                   	pop    %ebp
446ca6:	c2 08 00             	ret    $0x8
446ca9:	55                   	push   %ebp
446caa:	8b ec                	mov    %esp,%ebp
446cac:	83 e4 f8             	and    $0xfffffff8,%esp
446caf:	81 ec 54 02 00 00    	sub    $0x254,%esp
446cb5:	56                   	push   %esi
446cb6:	8b f1                	mov    %ecx,%esi
446cb8:	56                   	push   %esi
446cb9:	ff 15 ec d1 48 00    	call   *0x48d1ec
446cbf:	83 f8 ff             	cmp    $0xffffffff,%eax
446cc2:	75 20                	jne    0x446ce4
446cc4:	8d 4c 24 08          	lea    0x8(%esp),%ecx
446cc8:	51                   	push   %ecx
446cc9:	56                   	push   %esi
446cca:	ff 15 f0 d1 48 00    	call   *0x48d1f0
446cd0:	83 f8 ff             	cmp    $0xffffffff,%eax
446cd3:	75 04                	jne    0x446cd9
446cd5:	0b c0                	or     %eax,%eax
446cd7:	eb 0b                	jmp    0x446ce4
446cd9:	50                   	push   %eax
446cda:	ff 15 f4 d1 48 00    	call   *0x48d1f4
446ce0:	8b 44 24 08          	mov    0x8(%esp),%eax
446ce4:	5e                   	pop    %esi
446ce5:	8b e5                	mov    %ebp,%esp
446ce7:	5d                   	pop    %ebp
446ce8:	c3                   	ret
446ce9:	55                   	push   %ebp
446cea:	8b ec                	mov    %esp,%ebp
446cec:	83 ec 18             	sub    $0x18,%esp
446cef:	8d 45 e8             	lea    -0x18(%ebp),%eax
446cf2:	53                   	push   %ebx
446cf3:	56                   	push   %esi
446cf4:	57                   	push   %edi
446cf5:	8b f9                	mov    %ecx,%edi
446cf7:	50                   	push   %eax
446cf8:	57                   	push   %edi
446cf9:	8b da                	mov    %edx,%ebx
446cfb:	ff 15 5c d7 48 00    	call   *0x48d75c
446d01:	8b f0                	mov    %eax,%esi
446d03:	85 f6                	test   %esi,%esi
446d05:	75 07                	jne    0x446d0e
446d07:	32 c0                	xor    %al,%al
446d09:	e9 a8 01 00 00       	jmp    0x446eb6
446d0e:	56                   	push   %esi
446d0f:	e8 d6 87 fd ff       	call   0x41f4ea
446d14:	59                   	pop    %ecx
446d15:	50                   	push   %eax
446d16:	89 45 fc             	mov    %eax,-0x4(%ebp)
446d19:	56                   	push   %esi
446d1a:	33 c0                	xor    %eax,%eax
446d1c:	50                   	push   %eax
446d1d:	57                   	push   %edi
446d1e:	89 45 f4             	mov    %eax,-0xc(%ebp)
446d21:	ff 15 54 d7 48 00    	call   *0x48d754
446d27:	8b 75 08             	mov    0x8(%ebp),%esi
446d2a:	56                   	push   %esi
446d2b:	e8 ab 9f fd ff       	call   0x420cdb
446d30:	33 c9                	xor    %ecx,%ecx
446d32:	6a 02                	push   $0x2
446d34:	83 c0 1a             	add    $0x1a,%eax
446d37:	5a                   	pop    %edx
446d38:	f7 e2                	mul    %edx
446d3a:	0f 90 c1             	seto   %cl
446d3d:	f7 d9                	neg    %ecx
446d3f:	0b c8                	or     %eax,%ecx
446d41:	51                   	push   %ecx
446d42:	e8 a3 87 fd ff       	call   0x41f4ea
446d47:	8b f8                	mov    %eax,%edi
446d49:	68 54 dc 49 00       	push   $0x49dc54
446d4e:	57                   	push   %edi
446d4f:	e8 cf 9f fd ff       	call   0x420d23
446d54:	68 54 dc 49 00       	push   $0x49dc54
446d59:	56                   	push   %esi
446d5a:	e8 84 a8 fd ff       	call   0x4215e3
446d5f:	83 c4 18             	add    $0x18,%esp
446d62:	85 c0                	test   %eax,%eax
446d64:	0f 84 90 00 00 00    	je     0x446dfa
446d6a:	68 9c 36 4b 00       	push   $0x4b369c
446d6f:	57                   	push   %edi
446d70:	e8 7f 9f fd ff       	call   0x420cf4
446d75:	68 54 dc 49 00       	push   $0x49dc54
446d7a:	56                   	push   %esi
446d7b:	e8 86 ac fd ff       	call   0x421a06
446d80:	83 c4 10             	add    $0x10,%esp
446d83:	85 c0                	test   %eax,%eax
446d85:	75 6a                	jne    0x446df1
446d87:	8d 45 ec             	lea    -0x14(%ebp),%eax
446d8a:	50                   	push   %eax
446d8b:	8d 45 f0             	lea    -0x10(%ebp),%eax
446d8e:	50                   	push   %eax
446d8f:	68 bc 36 4b 00       	push   $0x4b36bc
446d94:	ff 75 fc             	push   -0x4(%ebp)
446d97:	ff 15 58 d7 48 00    	call   *0x48d758
446d9d:	85 c0                	test   %eax,%eax
446d9f:	74 2c                	je     0x446dcd
446da1:	8b 45 f0             	mov    -0x10(%ebp),%eax
446da4:	6a 00                	push   $0x0
446da6:	8b 30                	mov    (%eax),%esi
446da8:	56                   	push   %esi
446da9:	6a 04                	push   $0x4
446dab:	8d 4f 20             	lea    0x20(%edi),%ecx
446dae:	5a                   	pop    %edx
446daf:	e8 d3 60 fc ff       	call   0x40ce87
446db4:	6a 00                	push   $0x0
446db6:	c1 ee 10             	shr    $0x10,%esi
446db9:	56                   	push   %esi
446dba:	6a 04                	push   $0x4
446dbc:	8d 4f 28             	lea    0x28(%edi),%ecx
446dbf:	5a                   	pop    %edx
446dc0:	e8 c2 60 fc ff       	call   0x40ce87
446dc5:	8b 75 08             	mov    0x8(%ebp),%esi
446dc8:	83 c4 10             	add    $0x10,%esp
446dcb:	eb 0d                	jmp    0x446dda
446dcd:	68 f0 36 4b 00       	push   $0x4b36f0
446dd2:	57                   	push   %edi
446dd3:	e8 1c 9f fd ff       	call   0x420cf4
446dd8:	59                   	pop    %ecx
446dd9:	59                   	pop    %ecx
446dda:	68 54 dc 49 00       	push   $0x49dc54
446ddf:	57                   	push   %edi
446de0:	e8 0f 9f fd ff       	call   0x420cf4
446de5:	56                   	push   %esi
446de6:	57                   	push   %edi