446a90:	8b 40 10             	mov    0x10(%eax),%eax
446a93:	8b 4d 08             	mov    0x8(%ebp),%ecx
446a96:	39 08                	cmp    %ecx,(%eax)
446a98:	8b 45 10             	mov    0x10(%ebp),%eax
446a9b:	0f 84 20 03 00 00    	je     0x446dc1
446aa1:	6a 00                	push   $0x0
446aa3:	6a 00                	push   $0x0
446aa5:	83 c0 18             	add    $0x18,%eax
446aa8:	68 00 c0 00 00       	push   $0xc000
446aad:	50                   	push   %eax
446aae:	e8 62 c9 ff ff       	call   0x443415
446ab3:	85 c0                	test   %eax,%eax
446ab5:	89 45 10             	mov    %eax,0x10(%ebp)
446ab8:	75 d3                	jne    0x446a8d
446aba:	8b 45 ec             	mov    -0x14(%ebp),%eax
446abd:	8b 00                	mov    (%eax),%eax
446abf:	89 45 ec             	mov    %eax,-0x14(%ebp)
446ac2:	85 c0                	test   %eax,%eax
446ac4:	0f 85 76 ff ff ff    	jne    0x446a40
446aca:	21 43 04             	and    %eax,0x4(%ebx)
446acd:	6a 07                	push   $0x7
446acf:	e8 35 7b 02 00       	call   0x46e609
446ad4:	33 c0                	xor    %eax,%eax
446ad6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
446ad9:	5f                   	pop    %edi
446ada:	5e                   	pop    %esi
446adb:	5b                   	pop    %ebx
446adc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
446ae3:	c9                   	leave
446ae4:	c2 10 00             	ret    $0x10
446ae7:	ff 75 0c             	push   0xc(%ebp)
446aea:	e8 6a 88 00 00       	call   0x44f359
446aef:	50                   	push   %eax
446af0:	e9 00 01 00 00       	jmp    0x446bf5
446af5:	ff 75 0c             	push   0xc(%ebp)
446af8:	e9 f8 00 00 00       	jmp    0x446bf5
446afd:	56                   	push   %esi
446afe:	e8 9f e1 ff ff       	call   0x444ca2
446b03:	50                   	push   %eax
446b04:	e9 38 02 00 00       	jmp    0x446d41
446b09:	8b c6                	mov    %esi,%eax
446b0b:	c1 e8 10             	shr    $0x10,%eax
446b0e:	50                   	push   %eax
446b0f:	0f b7 c6             	movzwl %si,%eax
446b12:	50                   	push   %eax
446b13:	ff 75 0c             	push   0xc(%ebp)
446b16:	e8 87 e1 ff ff       	call   0x444ca2
446b1b:	e9 f9 00 00 00       	jmp    0x446c19
446b20:	56                   	push   %esi
446b21:	ff 75 0c             	push   0xc(%ebp)
446b24:	e8 79 e1 ff ff       	call   0x444ca2
446b29:	e9 ff 01 00 00       	jmp    0x446d2d
446b2e:	8d 4d dc             	lea    -0x24(%ebp),%ecx
446b31:	e8 53 81 00 00       	call   0x44ec89
446b36:	8b 46 04             	mov    0x4(%esi),%eax
446b39:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
446b3d:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
446b40:	89 45 e0             	mov    %eax,-0x20(%ebp)
446b43:	e8 f1 d2 ff ff       	call   0x443e39
446b48:	8b 06                	mov    (%esi),%eax
446b4a:	8b 76 08             	mov    0x8(%esi),%esi
446b4d:	50                   	push   %eax
446b4e:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
446b52:	89 45 a8             	mov    %eax,-0x58(%ebp)
446b55:	e8 6f e1 ff ff       	call   0x444cc9
446b5a:	85 c0                	test   %eax,%eax
446b5c:	75 1c                	jne    0x446b7a
446b5e:	8b 47 48             	mov    0x48(%edi),%eax
446b61:	85 c0                	test   %eax,%eax
446b63:	74 12                	je     0x446b77
446b65:	ff 75 a8             	push   -0x58(%ebp)
446b68:	8d 48 20             	lea    0x20(%eax),%ecx
446b6b:	e8 56 7c ff ff       	call   0x43e7c6
446b70:	85 c0                	test   %eax,%eax
446b72:	74 03                	je     0x446b77
446b74:	89 45 d8             	mov    %eax,-0x28(%ebp)
446b77:	8d 45 8c             	lea    -0x74(%ebp),%eax
446b7a:	56                   	push   %esi
446b7b:	50                   	push   %eax
446b7c:	8d 45 dc             	lea    -0x24(%ebp),%eax
446b7f:	50                   	push   %eax
446b80:	8b cf                	mov    %edi,%ecx
446b82:	ff d3                	call   *%ebx
446b84:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
446b88:	83 65 a8 00          	andl   $0x0,-0x58(%ebp)
446b8c:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
446b8f:	89 45 f0             	mov    %eax,-0x10(%ebp)
446b92:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
446b96:	e8 67 ea ff ff       	call   0x445602
446b9b:	eb 27                	jmp    0x446bc4
446b9d:	8d 4d dc             	lea    -0x24(%ebp),%ecx
446ba0:	e8 e4 80 00 00       	call   0x44ec89
446ba5:	8b 46 04             	mov    0x4(%esi),%eax
446ba8:	ff 76 08             	push   0x8(%esi)
446bab:	89 45 e0             	mov    %eax,-0x20(%ebp)
446bae:	8d 45 dc             	lea    -0x24(%ebp),%eax
446bb1:	50                   	push   %eax
446bb2:	8b cf                	mov    %edi,%ecx
446bb4:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
446bbb:	ff d3                	call   *%ebx
446bbd:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
446bc1:	89 45 f0             	mov    %eax,-0x10(%ebp)
446bc4:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
446bc8:	8d 4d dc             	lea    -0x24(%ebp),%ecx
446bcb:	e8 15 88 00 00       	call   0x44f3e5
446bd0:	e9 07 02 00 00       	jmp    0x446ddc
446bd5:	8b 45 0c             	mov    0xc(%ebp),%eax
446bd8:	c1 e8 10             	shr    $0x10,%eax
446bdb:	50                   	push   %eax
446bdc:	56                   	push   %esi
446bdd:	e8 c0 e0 ff ff       	call   0x444ca2
446be2:	eb 30                	jmp    0x446c14
446be4:	8b 45 0c             	mov    0xc(%ebp),%eax
446be7:	c1 e8 10             	shr    $0x10,%eax
446bea:	50                   	push   %eax
446beb:	0f b7 45 0c          	movzwl 0xc(%ebp),%eax
446bef:	e9 39 01 00 00       	jmp    0x446d2d
446bf4:	56                   	push   %esi
446bf5:	8b cf                	mov    %edi,%ecx
446bf7:	ff d3                	call   *%ebx
446bf9:	e9 db 01 00 00       	jmp    0x446dd9
446bfe:	56                   	push   %esi
446bff:	ff 75 0c             	push   0xc(%ebp)
446c02:	e9 27 01 00 00       	jmp    0x446d2e
446c07:	56                   	push   %esi
446c08:	e8 0d 08 00 00       	call   0x44741a
446c0d:	50                   	push   %eax
446c0e:	8b 45 0c             	mov    0xc(%ebp),%eax
446c11:	c1 e8 10             	shr    $0x10,%eax
446c14:	50                   	push   %eax
446c15:	0f b7 45 0c          	movzwl 0xc(%ebp),%eax
446c19:	50                   	push   %eax
446c1a:	8b cf                	mov    %edi,%ecx
446c1c:	ff d3                	call   *%ebx
446c1e:	e9 b6 01 00 00       	jmp    0x446dd9
446c23:	8b cf                	mov    %edi,%ecx
446c25:	ff d3                	call   *%ebx
446c27:	e9 b0 01 00 00       	jmp    0x446ddc
446c2c:	ff 75 0c             	push   0xc(%ebp)
446c2f:	e9 1a 01 00 00       	jmp    0x446d4e
446c34:	8b 45 0c             	mov    0xc(%ebp),%eax
446c37:	c1 e8 10             	shr    $0x10,%eax
446c3a:	50                   	push   %eax
446c3b:	0f b7 45 0c          	movzwl 0xc(%ebp),%eax
446c3f:	50                   	push   %eax
446c40:	e9 ff 00 00 00       	jmp    0x446d44
446c45:	8b c6                	mov    %esi,%eax
446c47:	c1 e8 10             	shr    $0x10,%eax
446c4a:	0f bf c0             	movswl %ax,%eax
446c4d:	50                   	push   %eax
446c4e:	0f bf c6             	movswl %si,%eax
446c51:	eb ec                	jmp    0x446c3f
446c53:	8b c6                	mov    %esi,%eax
446c55:	c1 e8 10             	shr    $0x10,%eax
446c58:	50                   	push   %eax
446c59:	0f b7 c6             	movzwl %si,%eax
446c5c:	e9 11 01 00 00       	jmp    0x446d72
446c61:	ff 75 0c             	push   0xc(%ebp)
446c64:	e8 39 e0 ff ff       	call   0x444ca2
446c69:	50                   	push   %eax
446c6a:	56                   	push   %esi
446c6b:	e8 32 e0 ff ff       	call   0x444ca2
446c70:	50                   	push   %eax
446c71:	33 c0                	xor    %eax,%eax
446c73:	39 77 1c             	cmp    %esi,0x1c(%edi)
446c76:	0f 94 c0             	sete   %al
446c79:	50                   	push   %eax
446c7a:	e9 f7 00 00 00       	jmp    0x446d76
446c7f:	ff 75 0c             	push   0xc(%ebp)
446c82:	e8 d2 86 00 00       	call   0x44f359
446c87:	50                   	push   %eax
446c88:	e9 c1 00 00 00       	jmp    0x446d4e
446c8d:	ff 75 0c             	push   0xc(%ebp)
446c90:	e8 85 07 00 00       	call   0x44741a
446c95:	eb f0                	jmp    0x446c87
446c97:	8b c6                	mov    %esi,%eax
446c99:	c1 e8 10             	shr    $0x10,%eax
446c9c:	50                   	push   %eax
446c9d:	0f b7 c6             	movzwl %si,%eax
446ca0:	50                   	push   %eax
446ca1:	ff 75 0c             	push   0xc(%ebp)
446ca4:	e8 71 07 00 00       	call   0x44741a
446ca9:	eb ce                	jmp    0x446c79
446cab:	ff 75 0c             	push   0xc(%ebp)
446cae:	eb 01                	jmp    0x446cb1
446cb0:	56                   	push   %esi
446cb1:	e8 ec df ff ff       	call   0x444ca2
446cb6:	eb cf                	jmp    0x446c87
446cb8:	8b c6                	mov    %esi,%eax
446cba:	c1 e8 10             	shr    $0x10,%eax
446cbd:	50                   	push   %eax
446cbe:	0f b7 c6             	movzwl %si,%eax
446cc1:	eb 0a                	jmp    0x446ccd
446cc3:	0f bf c6             	movswl %si,%eax
446cc6:	c1 ee 10             	shr    $0x10,%esi
446cc9:	0f bf ce             	movswl %si,%ecx
446ccc:	51                   	push   %ecx
446ccd:	50                   	push   %eax
446cce:	ff 75 0c             	push   0xc(%ebp)
446cd1:	e8 cc df ff ff       	call   0x444ca2
446cd6:	eb a1                	jmp    0x446c79
446cd8:	56                   	push   %esi
446cd9:	ff 75 0c             	push   0xc(%ebp)
446cdc:	e8 c1 df ff ff       	call   0x444ca2
446ce1:	e9 59 ff ff ff       	jmp    0x446c3f
446ce6:	8b 45 0c             	mov    0xc(%ebp),%eax
446ce9:	c1 e8 10             	shr    $0x10,%eax
446cec:	50                   	push   %eax
446ced:	56                   	push   %esi
446cee:	e8 af df ff ff       	call   0x444ca2
446cf3:	eb 69                	jmp    0x446d5e
446cf5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
446cf8:	0f bf d1             	movswl %cx,%edx
446cfb:	c1 e9 10             	shr    $0x10,%ecx
446cfe:	83 f8 27             	cmp    $0x27,%eax
446d01:	0f bf c9             	movswl %cx,%ecx
446d04:	89 55 08             	mov    %edx,0x8(%ebp)
446d07:	89 4d 0c             	mov    %ecx,0xc(%ebp)
446d0a:	75 0f                	jne    0x446d1b
446d0c:	56                   	push   %esi
446d0d:	e8 90 df ff ff       	call   0x444ca2
446d12:	50                   	push   %eax
446d13:	ff 75 0c             	push   0xc(%ebp)
446d16:	ff 75 08             	push   0x8(%ebp)
446d19:	eb 5b                	jmp    0x446d76
446d1b:	ff 75 0c             	push   0xc(%ebp)
446d1e:	ff 75 08             	push   0x8(%ebp)
446d21:	eb 21                	jmp    0x446d44
446d23:	0f bf c6             	movswl %si,%eax
446d26:	c1 ee 10             	shr    $0x10,%esi
446d29:	0f bf ce             	movswl %si,%ecx
446d2c:	51                   	push   %ecx
446d2d:	50                   	push   %eax
446d2e:	8b cf                	mov    %edi,%ecx
446d30:	ff d3                	call   *%ebx
446d32:	e9 a2 00 00 00       	jmp    0x446dd9
446d37:	8b cf                	mov    %edi,%ecx
446d39:	ff d3                	call   *%ebx
446d3b:	e9 99 00 00 00       	jmp    0x446dd9
446d40:	56                   	push   %esi
446d41:	ff 75 0c             	push   0xc(%ebp)
446d44:	8b cf                	mov    %edi,%ecx
446d46:	ff d3                	call   *%ebx
446d48:	e9 8f 00 00 00       	jmp    0x446ddc
446d4d:	56                   	push   %esi
446d4e:	8b cf                	mov    %edi,%ecx
446d50:	ff d3                	call   *%ebx
446d52:	e9 85 00 00 00       	jmp    0x446ddc
446d57:	8b 45 0c             	mov    0xc(%ebp),%eax
446d5a:	56                   	push   %esi
446d5b:	c1 e8 10             	shr    $0x10,%eax
446d5e:	50                   	push   %eax
446d5f:	0f b7 45 0c          	movzwl 0xc(%ebp),%eax
446d63:	e9 11 ff ff ff       	jmp    0x446c79
446d68:	0f bf c6             	movswl %si,%eax
446d6b:	c1 ee 10             	shr    $0x10,%esi
446d6e:	0f bf ce             	movswl %si,%ecx
446d71:	51                   	push   %ecx
446d72:	50                   	push   %eax
446d73:	ff 75 0c             	push   0xc(%ebp)
446d76:	8b cf                	mov    %edi,%ecx
446d78:	ff d3                	call   *%ebx
446d7a:	eb 60                	jmp    0x446ddc
446d7c:	56                   	push   %esi
446d7d:	ff 75 0c             	push   0xc(%ebp)
446d80:	8b cf                	mov    %edi,%ecx
446d82:	ff d3                	call   *%ebx
446d84:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
446d8b:	eb 4f                	jmp    0x446ddc
446d8d:	0f b7 c6             	movzwl %si,%eax
446d90:	c1 ee 10             	shr    $0x10,%esi
446d93:	56                   	push   %esi
446d94:	50                   	push   %eax
446d95:	8b 45 0c             	mov    0xc(%ebp),%eax
446d98:	c1 e8 10             	shr    $0x10,%eax
446d9b:	50                   	push   %eax
446d9c:	0f b7 45 0c          	movzwl 0xc(%ebp),%eax
446da0:	50                   	push   %eax
446da1:	8b cf                	mov    %edi,%ecx
446da3:	ff d3                	call   *%ebx
446da5:	89 45 f0             	mov    %eax,-0x10(%ebp)
446da8:	85 c0                	test   %eax,%eax
446daa:	75 30                	jne    0x446ddc
446dac:	e9 23 fd ff ff       	jmp    0x446ad4
446db1:	8b cf                	mov    %edi,%ecx
446db3:	ff d3                	call   *%ebx
446db5:	85 c0                	test   %eax,%eax
446db7:	89 45 f0             	mov    %eax,-0x10(%ebp)
446dba:	74 20                	je     0x446ddc
446dbc:	e9 13 fd ff ff       	jmp    0x446ad4
446dc1:	6a 07                	push   $0x7
446dc3:	89 43 04             	mov    %eax,0x4(%ebx)
446dc6:	e8 3e 78 02 00       	call   0x46e609
446dcb:	8b 45 10             	mov    0x10(%ebp),%eax
446dce:	8b 40 14             	mov    0x14(%eax),%eax
446dd1:	56                   	push   %esi
446dd2:	ff 75 0c             	push   0xc(%ebp)
446dd5:	8b cf                	mov    %edi,%ecx
446dd7:	ff d0                	call   *%eax
446dd9:	89 45 f0             	mov    %eax,-0x10(%ebp)
446ddc:	8b 45 14             	mov    0x14(%ebp),%eax
446ddf:	85 c0                	test   %eax,%eax
446de1:	74 05                	je     0x446de8
446de3:	8b 4d f0             	mov    -0x10(%ebp),%ecx
446de6:	89 08                	mov    %ecx,(%eax)
446de8:	33 c0                	xor    %eax,%eax
446dea:	40                   	inc    %eax
446deb:	e9 e6 fc ff ff       	jmp    0x446ad6
446df0:	e7 6a                	out    %eax,$0x6a
446df2:	44                   	inc    %esp
446df3:	00 f5                	add    %dh,%ch
446df5:	6a 44                	push   $0x44
446df7:	00 f5                	add    %dh,%ch
446df9:	6a 44                	push   $0x44
446dfb:	00 f5                	add    %dh,%ch
446dfd:	6a 44                	push   $0x44
446dff:	00 09                	add    %cl,(%ecx)
446e01:	6b 44 00 20 6b       	imul   $0x6b,0x20(%eax,%eax,1),%eax
446e06:	44                   	inc    %esp
446e07:	00 f4                	add    %dh,%ah
446e09:	6b 44 00 2e 6b       	imul   $0x6b,0x2e(%eax,%eax,1),%eax
446e0e:	44                   	inc    %esp
446e0f:	00 9d 6b 44 00 d5    	add    %bl,-0x2affbb95(%ebp)
446e15:	6b 44 00 e4 6b       	imul   $0x6b,-0x1c(%eax,%eax,1),%eax
446e1a:	44                   	inc    %esp
446e1b:	00 09                	add    %cl,(%ecx)
446e1d:	6b 44 00 f4 6b       	imul   $0x6b,-0xc(%eax,%eax,1),%eax
446e22:	44                   	inc    %esp
446e23:	00 fe                	add    %bh,%dh
446e25:	6b 44 00 07 6c       	imul   $0x6c,0x7(%eax,%eax,1),%eax
446e2a:	44                   	inc    %esp
446e2b:	00 23                	add    %ah,(%ebx)
446e2d:	6c                   	insb   (%dx),%es:(%edi)
446e2e:	44                   	inc    %esp
446e2f:	00 2c 6c             	add    %ch,(%esp,%ebp,2)
446e32:	44                   	inc    %esp
446e33:	00 40 6d             	add    %al,0x6d(%eax)
446e36:	44                   	inc    %esp
446e37:	00 34 6c             	add    %dh,(%esp,%ebp,2)
446e3a:	44                   	inc    %esp
446e3b:	00 45 6c             	add    %al,0x6c(%ebp)
446e3e:	44                   	inc    %esp
446e3f:	00 53 6c             	add    %dl,0x6c(%ebx)
446e42:	44                   	inc    %esp
446e43:	00 53 6c             	add    %dl,0x6c(%ebx)
446e46:	44                   	inc    %esp
446e47:	00 fd                	add    %bh,%ch
446e49:	6a 44                	push   $0x44
446e4b:	00 f5                	add    %dh,%ch
446e4d:	6a 44                	push   $0x44