422aed:	ff 07                	incl   (%edi)
422aef:	ff 40 08             	incl   0x8(%eax)
422af2:	8b 02                	mov    (%edx),%eax
422af4:	8b 5d e8             	mov    -0x18(%ebp),%ebx
422af7:	8b 00                	mov    (%eax),%eax
422af9:	66 89 18             	mov    %bx,(%eax)
422afc:	8b 02                	mov    (%edx),%eax
422afe:	83 00 02             	addl   $0x2,(%eax)
422b01:	83 3f ff             	cmpl   $0xffffffff,(%edi)
422b04:	74 0b                	je     0x422b11
422b06:	8b 45 ec             	mov    -0x14(%ebp),%eax
422b09:	40                   	inc    %eax
422b0a:	89 45 ec             	mov    %eax,-0x14(%ebp)
422b0d:	3b c1                	cmp    %ecx,%eax
422b0f:	7c b9                	jl     0x422aca
422b11:	33 db                	xor    %ebx,%ebx
422b13:	80 7e 38 00          	cmpb   $0x0,0x38(%esi)
422b17:	0f 85 ad 00 00 00    	jne    0x422bca
422b1d:	39 5e 34             	cmp    %ebx,0x34(%esi)
422b20:	0f 8e a4 00 00 00    	jle    0x422bca
422b26:	8b 46 08             	mov    0x8(%esi),%eax
422b29:	89 45 e0             	mov    %eax,-0x20(%ebp)
422b2c:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
422b30:	75 0a                	jne    0x422b3c
422b32:	8b c8                	mov    %eax,%ecx
422b34:	e8 47 cb ff ff       	call   0x41f680
422b39:	8b 45 e0             	mov    -0x20(%ebp),%eax
422b3c:	8b 4e 30             	mov    0x30(%esi),%ecx
422b3f:	89 4d e8             	mov    %ecx,-0x18(%ebp)
422b42:	89 5d ec             	mov    %ebx,-0x14(%ebp)
422b45:	39 5e 34             	cmp    %ebx,0x34(%esi)
422b48:	0f 84 8d 00 00 00    	je     0x422bdb
422b4e:	8b 40 0c             	mov    0xc(%eax),%eax
422b51:	33 d2                	xor    %edx,%edx
422b53:	ff 76 08             	push   0x8(%esi)
422b56:	66 89 55 f0          	mov    %dx,-0x10(%ebp)
422b5a:	ff 70 04             	push   0x4(%eax)
422b5d:	8d 45 f0             	lea    -0x10(%ebp),%eax
422b60:	51                   	push   %ecx
422b61:	50                   	push   %eax
422b62:	e8 9e 8a 00 00       	call   0x42b605
422b67:	83 c4 10             	add    $0x10,%esp
422b6a:	89 45 f4             	mov    %eax,-0xc(%ebp)
422b6d:	8d 96 48 04 00 00    	lea    0x448(%esi),%edx
422b73:	85 c0                	test   %eax,%eax
422b75:	7e 4e                	jle    0x422bc5
422b77:	8b 0a                	mov    (%edx),%ecx
422b79:	0f b7 45 f0          	movzwl -0x10(%ebp),%eax
422b7d:	89 45 d8             	mov    %eax,-0x28(%ebp)
422b80:	8b 41 08             	mov    0x8(%ecx),%eax
422b83:	3b 41 04             	cmp    0x4(%ecx),%eax
422b86:	75 0f                	jne    0x422b97
422b88:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
422b8c:	74 04                	je     0x422b92
422b8e:	ff 07                	incl   (%edi)
422b90:	eb 19                	jmp    0x422bab
422b92:	83 0f ff             	orl    $0xffffffff,(%edi)
422b95:	eb 14                	jmp    0x422bab
422b97:	ff 07                	incl   (%edi)
422b99:	ff 41 08             	incl   0x8(%ecx)
422b9c:	8b 02                	mov    (%edx),%eax
422b9e:	8b 4d d8             	mov    -0x28(%ebp),%ecx
422ba1:	8b 00                	mov    (%eax),%eax
422ba3:	66 89 08             	mov    %cx,(%eax)
422ba6:	8b 02                	mov    (%edx),%eax
422ba8:	83 00 02             	addl   $0x2,(%eax)
422bab:	8b 4d e8             	mov    -0x18(%ebp),%ecx
422bae:	03 4d f4             	add    -0xc(%ebp),%ecx
422bb1:	8b 45 ec             	mov    -0x14(%ebp),%eax
422bb4:	40                   	inc    %eax
422bb5:	89 4d e8             	mov    %ecx,-0x18(%ebp)
422bb8:	3b 46 34             	cmp    0x34(%esi),%eax
422bbb:	89 45 ec             	mov    %eax,-0x14(%ebp)
422bbe:	8b 45 e0             	mov    -0x20(%ebp),%eax
422bc1:	75 8b                	jne    0x422b4e
422bc3:	eb 1c                	jmp    0x422be1
422bc5:	83 0f ff             	orl    $0xffffffff,(%edi)
422bc8:	eb 17                	jmp    0x422be1
422bca:	ff 76 08             	push   0x8(%esi)
422bcd:	8b ca                	mov    %edx,%ecx
422bcf:	57                   	push   %edi
422bd0:	ff 76 34             	push   0x34(%esi)
422bd3:	ff 76 30             	push   0x30(%esi)
422bd6:	e8 be 08 00 00       	call   0x423499
422bdb:	8d 96 48 04 00 00    	lea    0x448(%esi),%edx
422be1:	8b 0f                	mov    (%edi),%ecx
422be3:	85 c9                	test   %ecx,%ecx
422be5:	78 54                	js     0x422c3b
422be7:	8b 46 1c             	mov    0x1c(%esi),%eax
422bea:	c1 e8 02             	shr    $0x2,%eax
422bed:	a8 01                	test   $0x1,%al
422bef:	74 4a                	je     0x422c3b
422bf1:	8b 75 dc             	mov    -0x24(%ebp),%esi
422bf4:	85 f6                	test   %esi,%esi
422bf6:	7e 43                	jle    0x422c3b
422bf8:	8b 12                	mov    (%edx),%edx
422bfa:	8b 42 08             	mov    0x8(%edx),%eax
422bfd:	3b 42 04             	cmp    0x4(%edx),%eax
422c00:	75 13                	jne    0x422c15
422c02:	80 7a 0c 00          	cmpb   $0x0,0xc(%edx)
422c06:	74 03                	je     0x422c0b
422c08:	41                   	inc    %ecx
422c09:	eb 03                	jmp    0x422c0e
422c0b:	83 c9 ff             	or     $0xffffffff,%ecx
422c0e:	8b 55 e4             	mov    -0x1c(%ebp),%edx
422c11:	89 0f                	mov    %ecx,(%edi)
422c13:	eb 1a                	jmp    0x422c2f
422c15:	8d 41 01             	lea    0x1(%ecx),%eax
422c18:	89 07                	mov    %eax,(%edi)
422c1a:	ff 42 08             	incl   0x8(%edx)
422c1d:	8b 55 e4             	mov    -0x1c(%ebp),%edx
422c20:	6a 20                	push   $0x20
422c22:	59                   	pop    %ecx
422c23:	8b 02                	mov    (%edx),%eax
422c25:	8b 00                	mov    (%eax),%eax
422c27:	66 89 08             	mov    %cx,(%eax)
422c2a:	8b 02                	mov    (%edx),%eax
422c2c:	83 00 02             	addl   $0x2,(%eax)
422c2f:	8b 0f                	mov    (%edi),%ecx
422c31:	83 f9 ff             	cmp    $0xffffffff,%ecx
422c34:	74 05                	je     0x422c3b
422c36:	43                   	inc    %ebx
422c37:	3b de                	cmp    %esi,%ebx
422c39:	7c bd                	jl     0x422bf8
422c3b:	b0 01                	mov    $0x1,%al
422c3d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
422c40:	5f                   	pop    %edi
422c41:	5e                   	pop    %esi
422c42:	33 cd                	xor    %ebp,%ecx
422c44:	5b                   	pop    %ebx
422c45:	e8 60 6f ff ff       	call   0x419baa
422c4a:	c9                   	leave
422c4b:	c3                   	ret
422c4c:	8b ff                	mov    %edi,%edi
422c4e:	55                   	push   %ebp
422c4f:	8b ec                	mov    %esp,%ebp
422c51:	8b 45 08             	mov    0x8(%ebp),%eax
422c54:	83 f8 0b             	cmp    $0xb,%eax
422c57:	77 20                	ja     0x422c79
422c59:	0f b6 80 94 2c 42 00 	movzbl 0x422c94(%eax),%eax
422c60:	ff 24 85 80 2c 42 00 	jmp    *0x422c80(,%eax,4)
422c67:	33 c0                	xor    %eax,%eax
422c69:	40                   	inc    %eax
422c6a:	5d                   	pop    %ebp
422c6b:	c3                   	ret
422c6c:	6a 02                	push   $0x2
422c6e:	58                   	pop    %eax
422c6f:	5d                   	pop    %ebp
422c70:	c3                   	ret
422c71:	6a 04                	push   $0x4
422c73:	eb f9                	jmp    0x422c6e
422c75:	6a 08                	push   $0x8
422c77:	eb f5                	jmp    0x422c6e
422c79:	33 c0                	xor    %eax,%eax
422c7b:	5d                   	pop    %ebp
422c7c:	c3                   	ret
422c7d:	8d 49 00             	lea    0x0(%ecx),%ecx
422c80:	71 2c                	jno    0x422cae
422c82:	42                   	inc    %edx
422c83:	00 67 2c             	add    %ah,0x2c(%edi)
422c86:	42                   	inc    %edx
422c87:	00 6c 2c 42          	add    %ch,0x42(%esp,%ebp,1)
422c8b:	00 75 2c             	add    %dh,0x2c(%ebp)
422c8e:	42                   	inc    %edx
422c8f:	00 79 2c             	add    %bh,0x2c(%ecx)
422c92:	42                   	inc    %edx
422c93:	00 00                	add    %al,(%eax)
422c95:	01 02                	add    %eax,(%edx)
422c97:	00 03                	add    %al,(%ebx)
422c99:	03 00                	add    (%eax),%eax
422c9b:	00 04 00             	add    %al,(%eax,%eax,1)
422c9e:	00 03                	add    %al,(%ebx)
422ca0:	8b ff                	mov    %edi,%edi
422ca2:	53                   	push   %ebx
422ca3:	56                   	push   %esi
422ca4:	8b f1                	mov    %ecx,%esi
422ca6:	57                   	push   %edi
422ca7:	8b 56 10             	mov    0x10(%esi),%edx
422caa:	8d 42 04             	lea    0x4(%edx),%eax
422cad:	89 46 10             	mov    %eax,0x10(%esi)
422cb0:	8b 3a                	mov    (%edx),%edi
422cb2:	85 ff                	test   %edi,%edi
422cb4:	74 33                	je     0x422ce9
422cb6:	8b 5f 04             	mov    0x4(%edi),%ebx
422cb9:	85 db                	test   %ebx,%ebx
422cbb:	74 2c                	je     0x422ce9
422cbd:	ff 76 28             	push   0x28(%esi)
422cc0:	0f b6 46 2d          	movzbl 0x2d(%esi),%eax
422cc4:	50                   	push   %eax
422cc5:	ff 76 04             	push   0x4(%esi)
422cc8:	ff 36                	push   (%esi)
422cca:	e8 8c d4 ff ff       	call   0x42015b
422ccf:	83 c4 10             	add    $0x10,%esp
422cd2:	89 5e 30             	mov    %ebx,0x30(%esi)
422cd5:	0f b7 0f             	movzwl (%edi),%ecx
422cd8:	84 c0                	test   %al,%al
422cda:	8b c1                	mov    %ecx,%eax
422cdc:	6a 34                	push   $0x34
422cde:	59                   	pop    %ecx
422cdf:	74 15                	je     0x422cf6
422ce1:	c6 46 38 01          	movb   $0x1,0x38(%esi)
422ce5:	d1 e8                	shr    $1,%eax
422ce7:	eb 11                	jmp    0x422cfa
422ce9:	6a 06                	push   $0x6
422ceb:	58                   	pop    %eax
422cec:	6a 34                	push   $0x34
422cee:	c7 46 30 38 04 44 00 	movl   $0x440438,0x30(%esi)
422cf5:	59                   	pop    %ecx
422cf6:	c6 46 38 00          	movb   $0x0,0x38(%esi)
422cfa:	5f                   	pop    %edi
422cfb:	89 04 0e             	mov    %eax,(%esi,%ecx,1)
422cfe:	b0 01                	mov    $0x1,%al
422d00:	5e                   	pop    %esi
422d01:	5b                   	pop    %ebx
422d02:	c3                   	ret
422d03:	8b ff                	mov    %edi,%edi
422d05:	53                   	push   %ebx
422d06:	56                   	push   %esi
422d07:	8b f1                	mov    %ecx,%esi
422d09:	57                   	push   %edi
422d0a:	8b 56 10             	mov    0x10(%esi),%edx
422d0d:	8d 42 04             	lea    0x4(%edx),%eax
422d10:	89 46 10             	mov    %eax,0x10(%esi)
422d13:	8b 3a                	mov    (%edx),%edi
422d15:	85 ff                	test   %edi,%edi
422d17:	74 33                	je     0x422d4c
422d19:	8b 5f 04             	mov    0x4(%edi),%ebx
422d1c:	85 db                	test   %ebx,%ebx
422d1e:	74 2c                	je     0x422d4c
422d20:	ff 76 28             	push   0x28(%esi)
422d23:	0f b7 46 2e          	movzwl 0x2e(%esi),%eax
422d27:	50                   	push   %eax
422d28:	ff 76 04             	push   0x4(%esi)
422d2b:	ff 36                	push   (%esi)
422d2d:	e8 5a d4 ff ff       	call   0x42018c
422d32:	83 c4 10             	add    $0x10,%esp
422d35:	89 5e 30             	mov    %ebx,0x30(%esi)
422d38:	0f b7 0f             	movzwl (%edi),%ecx
422d3b:	84 c0                	test   %al,%al
422d3d:	8b c1                	mov    %ecx,%eax
422d3f:	6a 34                	push   $0x34
422d41:	59                   	pop    %ecx
422d42:	74 15                	je     0x422d59
422d44:	c6 46 38 01          	movb   $0x1,0x38(%esi)
422d48:	d1 e8                	shr    $1,%eax
422d4a:	eb 11                	jmp    0x422d5d
422d4c:	6a 06                	push   $0x6
422d4e:	58                   	pop    %eax
422d4f:	6a 34                	push   $0x34
422d51:	c7 46 30 38 04 44 00 	movl   $0x440438,0x30(%esi)
422d58:	59                   	pop    %ecx
422d59:	c6 46 38 00          	movb   $0x0,0x38(%esi)
422d5d:	5f                   	pop    %edi
422d5e:	89 04 0e             	mov    %eax,(%esi,%ecx,1)
422d61:	b0 01                	mov    $0x1,%al
422d63:	5e                   	pop    %esi
422d64:	5b                   	pop    %ebx
422d65:	c3                   	ret
422d66:	8b ff                	mov    %edi,%edi
422d68:	55                   	push   %ebp
422d69:	8b ec                	mov    %esp,%ebp
422d6b:	83 ec 14             	sub    $0x14,%esp
422d6e:	33 d2                	xor    %edx,%edx
422d70:	42                   	inc    %edx
422d71:	56                   	push   %esi
422d72:	8b f1                	mov    %ecx,%esi
422d74:	57                   	push   %edi
422d75:	83 4e 1c 10          	orl    $0x10,0x1c(%esi)
422d79:	8b 46 24             	mov    0x24(%esi),%eax
422d7c:	85 c0                	test   %eax,%eax
422d7e:	79 17                	jns    0x422d97
422d80:	8a 46 2d             	mov    0x2d(%esi),%al
422d83:	3c 61                	cmp    $0x61,%al
422d85:	74 08                	je     0x422d8f
422d87:	3c 41                	cmp    $0x41,%al
422d89:	74 04                	je     0x422d8f
422d8b:	6a 06                	push   $0x6
422d8d:	eb 02                	jmp    0x422d91
422d8f:	6a 0d                	push   $0xd
422d91:	58                   	pop    %eax
422d92:	89 46 24             	mov    %eax,0x24(%esi)
422d95:	eb 14                	jmp    0x422dab
422d97:	75 12                	jne    0x422dab
422d99:	8a 4e 2d             	mov    0x2d(%esi),%cl
422d9c:	80 f9 67             	cmp    $0x67,%cl
422d9f:	74 05                	je     0x422da6
422da1:	80 f9 47             	cmp    $0x47,%cl
422da4:	75 05                	jne    0x422dab
422da6:	89 56 24             	mov    %edx,0x24(%esi)
422da9:	8b c2                	mov    %edx,%eax
422dab:	53                   	push   %ebx
422dac:	ff 76 08             	push   0x8(%esi)
422daf:	05 5d 01 00 00       	add    $0x15d,%eax
422db4:	8d 7e 3c             	lea    0x3c(%esi),%edi
422db7:	50                   	push   %eax
422db8:	8b cf                	mov    %edi,%ecx
422dba:	e8 99 d2 ff ff       	call   0x420058
422dbf:	84 c0                	test   %al,%al
422dc1:	75 12                	jne    0x422dd5
422dc3:	8b cf                	mov    %edi,%ecx
422dc5:	e8 5d d2 ff ff       	call   0x420027
422dca:	8d 98 a3 fe ff ff    	lea    -0x15d(%eax),%ebx
422dd0:	89 5e 24             	mov    %ebx,0x24(%esi)
422dd3:	eb 03                	jmp    0x422dd8
422dd5:	8b 5e 24             	mov    0x24(%esi),%ebx
422dd8:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
422dde:	85 c0                	test   %eax,%eax
422de0:	75 02                	jne    0x422de4
422de2:	8b c7                	mov    %edi,%eax
422de4:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
422de8:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
422dec:	89 46 30             	mov    %eax,0x30(%esi)
422def:	8b 4e 10             	mov    0x10(%esi),%ecx
422df2:	8d 41 08             	lea    0x8(%ecx),%eax
422df5:	89 46 10             	mov    %eax,0x10(%esi)
422df8:	8b 01                	mov    (%ecx),%eax
422dfa:	8b 49 04             	mov    0x4(%ecx),%ecx
422dfd:	89 45 ec             	mov    %eax,-0x14(%ebp)
422e00:	0f be 46 2d          	movsbl 0x2d(%esi),%eax
422e04:	89 4d f0             	mov    %ecx,-0x10(%ebp)
422e07:	8b cf                	mov    %edi,%ecx
422e09:	89 45 fc             	mov    %eax,-0x4(%ebp)
422e0c:	e8 16 d2 ff ff       	call   0x420027
422e11:	8b cf                	mov    %edi,%ecx
422e13:	89 45 f8             	mov    %eax,-0x8(%ebp)
422e16:	e8 a1 db ff ff       	call   0x4209bc
422e1b:	8b cf                	mov    %edi,%ecx
422e1d:	89 45 f4             	mov    %eax,-0xc(%ebp)
422e20:	e8 02 d2 ff ff       	call   0x420027
422e25:	8b c8                	mov    %eax,%ecx
422e27:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
422e2d:	85 c0                	test   %eax,%eax
422e2f:	74 02                	je     0x422e33
422e31:	8b f8                	mov    %eax,%edi
422e33:	ff 76 08             	push   0x8(%esi)
422e36:	8d 45 ec             	lea    -0x14(%ebp),%eax
422e39:	6a 01                	push   $0x1
422e3b:	ff 76 04             	push   0x4(%esi)
422e3e:	ff 36                	push   (%esi)
422e40:	53                   	push   %ebx
422e41:	ff 75 fc             	push   -0x4(%ebp)
422e44:	ff 75 f8             	push   -0x8(%ebp)
422e47:	ff 75 f4             	push   -0xc(%ebp)
422e4a:	51                   	push   %ecx
422e4b:	57                   	push   %edi
422e4c:	50                   	push   %eax
422e4d:	e8 c8 84 00 00       	call   0x42b31a
422e52:	8b 46 1c             	mov    0x1c(%esi),%eax
422e55:	83 c4 2c             	add    $0x2c,%esp
422e58:	c1 e8 05             	shr    $0x5,%eax