421b29:	85 c0                	test   %eax,%eax
421b2b:	0f 84 f9 00 00 00    	je     0x421c2a
421b31:	8b 7d f8             	mov    -0x8(%ebp),%edi
421b34:	33 c0                	xor    %eax,%eax
421b36:	50                   	push   %eax
421b37:	50                   	push   %eax
421b38:	50                   	push   %eax
421b39:	50                   	push   %eax
421b3a:	50                   	push   %eax
421b3b:	57                   	push   %edi
421b3c:	56                   	push   %esi
421b3d:	ff 75 10             	push   0x10(%ebp)
421b40:	ff 75 0c             	push   0xc(%ebp)
421b43:	e8 42 cb ff ff       	call   0x41e68a
421b48:	8b d8                	mov    %eax,%ebx
421b4a:	85 db                	test   %ebx,%ebx
421b4c:	0f 84 d8 00 00 00    	je     0x421c2a
421b52:	ba 00 04 00 00       	mov    $0x400,%edx
421b57:	85 55 10             	test   %edx,0x10(%ebp)
421b5a:	74 38                	je     0x421b94
421b5c:	8b 45 20             	mov    0x20(%ebp),%eax
421b5f:	85 c0                	test   %eax,%eax
421b61:	0f 84 c5 00 00 00    	je     0x421c2c
421b67:	3b d8                	cmp    %eax,%ebx
421b69:	0f 8f bb 00 00 00    	jg     0x421c2a
421b6f:	33 c9                	xor    %ecx,%ecx
421b71:	51                   	push   %ecx
421b72:	51                   	push   %ecx
421b73:	51                   	push   %ecx
421b74:	50                   	push   %eax
421b75:	ff 75 1c             	push   0x1c(%ebp)
421b78:	57                   	push   %edi
421b79:	56                   	push   %esi
421b7a:	ff 75 10             	push   0x10(%ebp)
421b7d:	ff 75 0c             	push   0xc(%ebp)
421b80:	e8 05 cb ff ff       	call   0x41e68a
421b85:	8b d8                	mov    %eax,%ebx
421b87:	85 db                	test   %ebx,%ebx
421b89:	0f 85 9d 00 00 00    	jne    0x421c2c
421b8f:	e9 96 00 00 00       	jmp    0x421c2a
421b94:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
421b97:	8d 48 08             	lea    0x8(%eax),%ecx
421b9a:	3b c1                	cmp    %ecx,%eax
421b9c:	1b c0                	sbb    %eax,%eax
421b9e:	23 c1                	and    %ecx,%eax
421ba0:	74 7b                	je     0x421c1d
421ba2:	3b c2                	cmp    %edx,%eax
421ba4:	77 13                	ja     0x421bb9
421ba6:	e8 65 c2 00 00       	call   0x42de10
421bab:	8b fc                	mov    %esp,%edi
421bad:	85 ff                	test   %edi,%edi
421baf:	74 6e                	je     0x421c1f
421bb1:	c7 07 cc cc 00 00    	movl   $0xcccc,(%edi)
421bb7:	eb 13                	jmp    0x421bcc
421bb9:	50                   	push   %eax
421bba:	e8 71 50 fe ff       	call   0x406c30
421bbf:	8b f8                	mov    %eax,%edi
421bc1:	59                   	pop    %ecx
421bc2:	85 ff                	test   %edi,%edi
421bc4:	74 59                	je     0x421c1f
421bc6:	c7 07 dd dd 00 00    	movl   $0xdddd,(%edi)
421bcc:	83 c7 08             	add    $0x8,%edi
421bcf:	85 ff                	test   %edi,%edi
421bd1:	74 4c                	je     0x421c1f
421bd3:	33 c0                	xor    %eax,%eax
421bd5:	50                   	push   %eax
421bd6:	50                   	push   %eax
421bd7:	50                   	push   %eax
421bd8:	53                   	push   %ebx
421bd9:	57                   	push   %edi
421bda:	ff 75 f8             	push   -0x8(%ebp)
421bdd:	56                   	push   %esi
421bde:	ff 75 10             	push   0x10(%ebp)
421be1:	ff 75 0c             	push   0xc(%ebp)
421be4:	e8 a1 ca ff ff       	call   0x41e68a
421be9:	85 c0                	test   %eax,%eax
421beb:	74 32                	je     0x421c1f
421bed:	33 c0                	xor    %eax,%eax
421bef:	50                   	push   %eax
421bf0:	50                   	push   %eax
421bf1:	39 45 20             	cmp    %eax,0x20(%ebp)
421bf4:	75 1f                	jne    0x421c15
421bf6:	50                   	push   %eax
421bf7:	50                   	push   %eax
421bf8:	53                   	push   %ebx
421bf9:	57                   	push   %edi
421bfa:	50                   	push   %eax
421bfb:	ff 75 24             	push   0x24(%ebp)
421bfe:	e8 e7 11 00 00       	call   0x422dea
421c03:	8b d8                	mov    %eax,%ebx
421c05:	83 c4 20             	add    $0x20,%esp
421c08:	85 db                	test   %ebx,%ebx
421c0a:	74 13                	je     0x421c1f
421c0c:	57                   	push   %edi
421c0d:	e8 e6 17 ff ff       	call   0x4133f8
421c12:	59                   	pop    %ecx
421c13:	eb 17                	jmp    0x421c2c
421c15:	ff 75 20             	push   0x20(%ebp)
421c18:	ff 75 1c             	push   0x1c(%ebp)
421c1b:	eb db                	jmp    0x421bf8
421c1d:	33 ff                	xor    %edi,%edi
421c1f:	57                   	push   %edi
421c20:	e8 d3 17 ff ff       	call   0x4133f8
421c25:	59                   	pop    %ecx
421c26:	eb 02                	jmp    0x421c2a
421c28:	33 f6                	xor    %esi,%esi
421c2a:	33 db                	xor    %ebx,%ebx
421c2c:	56                   	push   %esi
421c2d:	e8 c6 17 ff ff       	call   0x4133f8
421c32:	59                   	pop    %ecx
421c33:	8b c3                	mov    %ebx,%eax
421c35:	8d 65 ec             	lea    -0x14(%ebp),%esp
421c38:	5f                   	pop    %edi
421c39:	5e                   	pop    %esi
421c3a:	5b                   	pop    %ebx
421c3b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
421c3e:	33 cd                	xor    %ebp,%ecx
421c40:	e8 62 80 fe ff       	call   0x409ca7
421c45:	c9                   	leave
421c46:	c3                   	ret
421c47:	8b ff                	mov    %edi,%edi
421c49:	55                   	push   %ebp
421c4a:	8b ec                	mov    %esp,%ebp
421c4c:	83 ec 10             	sub    $0x10,%esp
421c4f:	ff 75 08             	push   0x8(%ebp)
421c52:	8d 4d f0             	lea    -0x10(%ebp),%ecx
421c55:	e8 9a 15 ff ff       	call   0x4131f4
421c5a:	ff 75 28             	push   0x28(%ebp)
421c5d:	8d 45 f4             	lea    -0xc(%ebp),%eax
421c60:	ff 75 24             	push   0x24(%ebp)
421c63:	ff 75 20             	push   0x20(%ebp)
421c66:	ff 75 1c             	push   0x1c(%ebp)
421c69:	ff 75 18             	push   0x18(%ebp)
421c6c:	ff 75 14             	push   0x14(%ebp)
421c6f:	ff 75 10             	push   0x10(%ebp)
421c72:	ff 75 0c             	push   0xc(%ebp)
421c75:	50                   	push   %eax
421c76:	e8 dd fd ff ff       	call   0x421a58
421c7b:	83 c4 24             	add    $0x24,%esp
421c7e:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
421c82:	74 0a                	je     0x421c8e
421c84:	8b 4d f0             	mov    -0x10(%ebp),%ecx
421c87:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
421c8e:	c9                   	leave
421c8f:	c3                   	ret
421c90:	8b ff                	mov    %edi,%edi
421c92:	55                   	push   %ebp
421c93:	8b ec                	mov    %esp,%ebp
421c95:	8b 55 08             	mov    0x8(%ebp),%edx
421c98:	53                   	push   %ebx
421c99:	56                   	push   %esi
421c9a:	57                   	push   %edi
421c9b:	85 d2                	test   %edx,%edx
421c9d:	74 13                	je     0x421cb2
421c9f:	8b 7d 0c             	mov    0xc(%ebp),%edi
421ca2:	85 ff                	test   %edi,%edi
421ca4:	74 0c                	je     0x421cb2
421ca6:	8b 5d 10             	mov    0x10(%ebp),%ebx
421ca9:	85 db                	test   %ebx,%ebx
421cab:	75 1b                	jne    0x421cc8
421cad:	33 c0                	xor    %eax,%eax
421caf:	66 89 02             	mov    %ax,(%edx)
421cb2:	e8 ba a9 ff ff       	call   0x41c671
421cb7:	6a 16                	push   $0x16
421cb9:	5e                   	pop    %esi
421cba:	89 30                	mov    %esi,(%eax)
421cbc:	e8 2d b7 fe ff       	call   0x40d3ee
421cc1:	5f                   	pop    %edi
421cc2:	8b c6                	mov    %esi,%eax
421cc4:	5e                   	pop    %esi
421cc5:	5b                   	pop    %ebx
421cc6:	5d                   	pop    %ebp
421cc7:	c3                   	ret
421cc8:	8b ca                	mov    %edx,%ecx
421cca:	33 f6                	xor    %esi,%esi
421ccc:	66 39 31             	cmp    %si,(%ecx)
421ccf:	74 0a                	je     0x421cdb
421cd1:	83 c1 02             	add    $0x2,%ecx
421cd4:	83 ef 01             	sub    $0x1,%edi
421cd7:	75 f3                	jne    0x421ccc
421cd9:	eb d2                	jmp    0x421cad
421cdb:	2b d9                	sub    %ecx,%ebx
421cdd:	0f b7 04 0b          	movzwl (%ebx,%ecx,1),%eax
421ce1:	66 89 01             	mov    %ax,(%ecx)
421ce4:	8d 49 02             	lea    0x2(%ecx),%ecx
421ce7:	66 85 c0             	test   %ax,%ax
421cea:	74 d5                	je     0x421cc1
421cec:	83 ef 01             	sub    $0x1,%edi
421cef:	75 ec                	jne    0x421cdd
421cf1:	33 c0                	xor    %eax,%eax
421cf3:	66 89 02             	mov    %ax,(%edx)
421cf6:	e8 76 a9 ff ff       	call   0x41c671
421cfb:	6a 22                	push   $0x22
421cfd:	eb ba                	jmp    0x421cb9
421cff:	8b ff                	mov    %edi,%edi
421d01:	55                   	push   %ebp
421d02:	8b ec                	mov    %esp,%ebp
421d04:	51                   	push   %ecx
421d05:	8b 4d 08             	mov    0x8(%ebp),%ecx
421d08:	53                   	push   %ebx
421d09:	8b 5d 10             	mov    0x10(%ebp),%ebx
421d0c:	56                   	push   %esi
421d0d:	8b 75 14             	mov    0x14(%ebp),%esi
421d10:	57                   	push   %edi
421d11:	85 f6                	test   %esi,%esi
421d13:	75 1f                	jne    0x421d34
421d15:	85 c9                	test   %ecx,%ecx
421d17:	75 1f                	jne    0x421d38
421d19:	39 75 0c             	cmp    %esi,0xc(%ebp)
421d1c:	74 2a                	je     0x421d48
421d1e:	e8 4e a9 ff ff       	call   0x41c671
421d23:	6a 16                	push   $0x16
421d25:	5e                   	pop    %esi
421d26:	89 30                	mov    %esi,(%eax)
421d28:	e8 c1 b6 fe ff       	call   0x40d3ee
421d2d:	8b c6                	mov    %esi,%eax
421d2f:	5f                   	pop    %edi
421d30:	5e                   	pop    %esi
421d31:	5b                   	pop    %ebx
421d32:	c9                   	leave
421d33:	c3                   	ret
421d34:	85 c9                	test   %ecx,%ecx
421d36:	74 e6                	je     0x421d1e
421d38:	8b 45 0c             	mov    0xc(%ebp),%eax
421d3b:	85 c0                	test   %eax,%eax
421d3d:	74 df                	je     0x421d1e
421d3f:	85 f6                	test   %esi,%esi
421d41:	75 09                	jne    0x421d4c
421d43:	33 c0                	xor    %eax,%eax
421d45:	66 89 01             	mov    %ax,(%ecx)
421d48:	33 c0                	xor    %eax,%eax
421d4a:	eb e3                	jmp    0x421d2f
421d4c:	85 db                	test   %ebx,%ebx
421d4e:	75 07                	jne    0x421d57
421d50:	33 c0                	xor    %eax,%eax
421d52:	66 89 01             	mov    %ax,(%ecx)
421d55:	eb c7                	jmp    0x421d1e
421d57:	2b d9                	sub    %ecx,%ebx
421d59:	89 75 fc             	mov    %esi,-0x4(%ebp)
421d5c:	8b d1                	mov    %ecx,%edx
421d5e:	8b f8                	mov    %eax,%edi
421d60:	83 fe ff             	cmp    $0xffffffff,%esi
421d63:	75 16                	jne    0x421d7b
421d65:	0f b7 04 13          	movzwl (%ebx,%edx,1),%eax
421d69:	66 89 02             	mov    %ax,(%edx)
421d6c:	8d 52 02             	lea    0x2(%edx),%edx
421d6f:	66 85 c0             	test   %ax,%ax
421d72:	74 d4                	je     0x421d48
421d74:	83 ef 01             	sub    $0x1,%edi
421d77:	75 ec                	jne    0x421d65
421d79:	eb 26                	jmp    0x421da1
421d7b:	0f b7 04 13          	movzwl (%ebx,%edx,1),%eax
421d7f:	66 89 02             	mov    %ax,(%edx)
421d82:	8d 52 02             	lea    0x2(%edx),%edx
421d85:	66 85 c0             	test   %ax,%ax
421d88:	74 be                	je     0x421d48
421d8a:	8b 45 fc             	mov    -0x4(%ebp),%eax
421d8d:	83 ef 01             	sub    $0x1,%edi
421d90:	74 08                	je     0x421d9a
421d92:	83 e8 01             	sub    $0x1,%eax
421d95:	89 45 fc             	mov    %eax,-0x4(%ebp)
421d98:	75 e1                	jne    0x421d7b
421d9a:	85 c0                	test   %eax,%eax
421d9c:	75 03                	jne    0x421da1
421d9e:	66 89 02             	mov    %ax,(%edx)
421da1:	85 ff                	test   %edi,%edi
421da3:	75 a3                	jne    0x421d48
421da5:	83 fe ff             	cmp    $0xffffffff,%esi
421da8:	75 12                	jne    0x421dbc
421daa:	8b 45 0c             	mov    0xc(%ebp),%eax
421dad:	33 d2                	xor    %edx,%edx
421daf:	6a 50                	push   $0x50
421db1:	66 89 54 41 fe       	mov    %dx,-0x2(%ecx,%eax,2)
421db6:	58                   	pop    %eax
421db7:	e9 73 ff ff ff       	jmp    0x421d2f
421dbc:	33 c0                	xor    %eax,%eax
421dbe:	66 89 01             	mov    %ax,(%ecx)
421dc1:	e8 ab a8 ff ff       	call   0x41c671
421dc6:	6a 22                	push   $0x22
421dc8:	e9 58 ff ff ff       	jmp    0x421d25
421dcd:	8b ff                	mov    %edi,%edi
421dcf:	55                   	push   %ebp
421dd0:	8b ec                	mov    %esp,%ebp
421dd2:	5d                   	pop    %ebp
421dd3:	e9 27 ff ff ff       	jmp    0x421cff
421dd8:	8b ff                	mov    %edi,%edi
421dda:	55                   	push   %ebp
421ddb:	8b ec                	mov    %esp,%ebp
421ddd:	8b 45 0c             	mov    0xc(%ebp),%eax
421de0:	3b 45 08             	cmp    0x8(%ebp),%eax
421de3:	76 05                	jbe    0x421dea
421de5:	83 c8 ff             	or     $0xffffffff,%eax
421de8:	5d                   	pop    %ebp
421de9:	c3                   	ret
421dea:	1b c0                	sbb    %eax,%eax
421dec:	f7 d8                	neg    %eax
421dee:	5d                   	pop    %ebp
421def:	c3                   	ret
421df0:	8b ff                	mov    %edi,%edi
421df2:	55                   	push   %ebp
421df3:	8b ec                	mov    %esp,%ebp
421df5:	53                   	push   %ebx
421df6:	56                   	push   %esi
421df7:	8b 75 08             	mov    0x8(%ebp),%esi
421dfa:	85 f6                	test   %esi,%esi
421dfc:	75 1c                	jne    0x421e1a
421dfe:	8b 75 0c             	mov    0xc(%ebp),%esi
421e01:	8b ce                	mov    %esi,%ecx
421e03:	e8 ff 67 ff ff       	call   0x418607
421e08:	33 db                	xor    %ebx,%ebx
421e0a:	89 5e 08             	mov    %ebx,0x8(%esi)
421e0d:	89 5e 0c             	mov    %ebx,0xc(%esi)
421e10:	89 5e 10             	mov    %ebx,0x10(%esi)
421e13:	33 c0                	xor    %eax,%eax
421e15:	e9 98 00 00 00       	jmp    0x421eb2
421e1a:	33 db                	xor    %ebx,%ebx
421e1c:	66 39 1e             	cmp    %bx,(%esi)
421e1f:	75 1c                	jne    0x421e3d
421e21:	8b 75 0c             	mov    0xc(%ebp),%esi
421e24:	39 5e 0c             	cmp    %ebx,0xc(%esi)
421e27:	75 0d                	jne    0x421e36
421e29:	6a 01                	push   $0x1
421e2b:	8b ce                	mov    %esi,%ecx
421e2d:	e8 5c 05 00 00       	call   0x42238e
421e32:	85 c0                	test   %eax,%eax
421e34:	75 7c                	jne    0x421eb2
421e36:	8b 46 08             	mov    0x8(%esi),%eax
421e39:	88 18                	mov    %bl,(%eax)
421e3b:	eb d3                	jmp    0x421e10
421e3d:	53                   	push   %ebx
421e3e:	53                   	push   %ebx
421e3f:	53                   	push   %ebx
421e40:	53                   	push   %ebx
421e41:	6a ff                	push   $0xffffffff
421e43:	56                   	push   %esi
421e44:	53                   	push   %ebx
421e45:	ff 75 14             	push   0x14(%ebp)
421e48:	e8 9d 0f 00 00       	call   0x422dea
421e4d:	83 c4 20             	add    $0x20,%esp
421e50:	85 c0                	test   %eax,%eax
421e52:	75 16                	jne    0x421e6a
421e54:	ff 15 08 11 43 00    	call   *0x431108
421e5a:	50                   	push   %eax
421e5b:	e8 b7 a7 ff ff       	call   0x41c617
421e60:	59                   	pop    %ecx
421e61:	e8 0b a8 ff ff       	call   0x41c671
421e66:	8b 00                	mov    (%eax),%eax
421e68:	eb 48                	jmp    0x421eb2
421e6a:	57                   	push   %edi
421e6b:	8b 7d 0c             	mov    0xc(%ebp),%edi