423a22:	85 c0                	test   %eax,%eax
423a24:	75 06                	jne    0x423a2c
423a26:	b8 84 50 45 00       	mov    $0x455084,%eax
423a2b:	c3                   	ret
423a2c:	83 c0 14             	add    $0x14,%eax
423a2f:	c3                   	ret
423a30:	e8 e5 6c 00 00       	call   0x42a71a
423a35:	85 c0                	test   %eax,%eax
423a37:	75 06                	jne    0x423a3f
423a39:	b8 80 50 45 00       	mov    $0x455080,%eax
423a3e:	c3                   	ret
423a3f:	83 c0 10             	add    $0x10,%eax
423a42:	c3                   	ret
423a43:	8b ff                	mov    %edi,%edi
423a45:	55                   	push   %ebp
423a46:	8b ec                	mov    %esp,%ebp
423a48:	51                   	push   %ecx
423a49:	ff 75 08             	push   0x8(%ebp)
423a4c:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
423a53:	8b 45 fc             	mov    -0x4(%ebp),%eax
423a56:	e8 5f 6e 00 00       	call   0x42a8ba
423a5b:	59                   	pop    %ecx
423a5c:	c9                   	leave
423a5d:	c3                   	ret
423a5e:	8b ff                	mov    %edi,%edi
423a60:	55                   	push   %ebp
423a61:	8b ec                	mov    %esp,%ebp
423a63:	5d                   	pop    %ebp
423a64:	e9 8b 6e 00 00       	jmp    0x42a8f4
423a69:	6a 08                	push   $0x8
423a6b:	68 68 2f 45 00       	push   $0x452f68
423a70:	e8 9b 6e ff ff       	call   0x41a910
423a75:	8b 45 08             	mov    0x8(%ebp),%eax
423a78:	ff 30                	push   (%eax)
423a7a:	e8 6d 05 00 00       	call   0x423fec
423a7f:	59                   	pop    %ecx
423a80:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
423a84:	8b 75 0c             	mov    0xc(%ebp),%esi
423a87:	ff 76 04             	push   0x4(%esi)
423a8a:	8b 06                	mov    (%esi),%eax
423a8c:	ff 30                	push   (%eax)
423a8e:	e8 5b 01 00 00       	call   0x423bee
423a93:	59                   	pop    %ecx
423a94:	59                   	pop    %ecx
423a95:	84 c0                	test   %al,%al
423a97:	74 32                	je     0x423acb
423a99:	8b 46 08             	mov    0x8(%esi),%eax
423a9c:	80 38 00             	cmpb   $0x0,(%eax)
423a9f:	75 0e                	jne    0x423aaf
423aa1:	8b 06                	mov    (%esi),%eax
423aa3:	8b 00                	mov    (%eax),%eax
423aa5:	8b 40 0c             	mov    0xc(%eax),%eax
423aa8:	90                   	nop
423aa9:	d1 e8                	shr    $1,%eax
423aab:	a8 01                	test   $0x1,%al
423aad:	74 1c                	je     0x423acb
423aaf:	8b 06                	mov    (%esi),%eax
423ab1:	ff 30                	push   (%eax)
423ab3:	e8 f3 01 00 00       	call   0x423cab
423ab8:	59                   	pop    %ecx
423ab9:	83 f8 ff             	cmp    $0xffffffff,%eax
423abc:	74 07                	je     0x423ac5
423abe:	8b 46 04             	mov    0x4(%esi),%eax
423ac1:	ff 00                	incl   (%eax)
423ac3:	eb 06                	jmp    0x423acb
423ac5:	8b 46 0c             	mov    0xc(%esi),%eax
423ac8:	83 08 ff             	orl    $0xffffffff,(%eax)
423acb:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
423ad2:	e8 12 00 00 00       	call   0x423ae9
423ad7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
423ada:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
423ae1:	59                   	pop    %ecx
423ae2:	5f                   	pop    %edi
423ae3:	5e                   	pop    %esi
423ae4:	5b                   	pop    %ebx
423ae5:	c9                   	leave
423ae6:	c2 0c 00             	ret    $0xc
423ae9:	8b 45 10             	mov    0x10(%ebp),%eax
423aec:	ff 30                	push   (%eax)
423aee:	e8 0d 05 00 00       	call   0x424000
423af3:	59                   	pop    %ecx
423af4:	c3                   	ret
423af5:	6a 2c                	push   $0x2c
423af7:	68 88 2f 45 00       	push   $0x452f88
423afc:	e8 0f 6e ff ff       	call   0x41a910
423b01:	8b 45 08             	mov    0x8(%ebp),%eax
423b04:	ff 30                	push   (%eax)
423b06:	e8 96 2d 00 00       	call   0x4268a1
423b0b:	59                   	pop    %ecx
423b0c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
423b10:	8b 35 c4 69 45 00    	mov    0x4569c4,%esi
423b16:	a1 c0 69 45 00       	mov    0x4569c0,%eax
423b1b:	8d 1c 86             	lea    (%esi,%eax,4),%ebx
423b1e:	8b 7d 0c             	mov    0xc(%ebp),%edi
423b21:	89 75 d4             	mov    %esi,-0x2c(%ebp)
423b24:	3b f3                	cmp    %ebx,%esi
423b26:	74 4f                	je     0x423b77
423b28:	8b 06                	mov    (%esi),%eax
423b2a:	89 45 e0             	mov    %eax,-0x20(%ebp)
423b2d:	ff 37                	push   (%edi)
423b2f:	50                   	push   %eax
423b30:	e8 b9 00 00 00       	call   0x423bee
423b35:	59                   	pop    %ecx
423b36:	59                   	pop    %ecx
423b37:	84 c0                	test   %al,%al
423b39:	74 37                	je     0x423b72
423b3b:	8b 57 08             	mov    0x8(%edi),%edx
423b3e:	8b 4f 04             	mov    0x4(%edi),%ecx
423b41:	8b 07                	mov    (%edi),%eax
423b43:	8d 7d e0             	lea    -0x20(%ebp),%edi
423b46:	89 7d c4             	mov    %edi,-0x3c(%ebp)
423b49:	89 45 c8             	mov    %eax,-0x38(%ebp)
423b4c:	89 4d cc             	mov    %ecx,-0x34(%ebp)
423b4f:	89 55 d0             	mov    %edx,-0x30(%ebp)
423b52:	8b 45 e0             	mov    -0x20(%ebp),%eax
423b55:	89 45 dc             	mov    %eax,-0x24(%ebp)
423b58:	89 45 d8             	mov    %eax,-0x28(%ebp)
423b5b:	8d 45 dc             	lea    -0x24(%ebp),%eax
423b5e:	50                   	push   %eax
423b5f:	8d 45 c4             	lea    -0x3c(%ebp),%eax
423b62:	50                   	push   %eax
423b63:	8d 45 d8             	lea    -0x28(%ebp),%eax
423b66:	50                   	push   %eax
423b67:	8d 4d e7             	lea    -0x19(%ebp),%ecx
423b6a:	e8 fa fe ff ff       	call   0x423a69
423b6f:	8b 7d 0c             	mov    0xc(%ebp),%edi
423b72:	83 c6 04             	add    $0x4,%esi
423b75:	eb aa                	jmp    0x423b21
423b77:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
423b7e:	e8 12 00 00 00       	call   0x423b95
423b83:	8b 4d f0             	mov    -0x10(%ebp),%ecx
423b86:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
423b8d:	59                   	pop    %ecx
423b8e:	5f                   	pop    %edi
423b8f:	5e                   	pop    %esi
423b90:	5b                   	pop    %ebx
423b91:	c9                   	leave
423b92:	c2 0c 00             	ret    $0xc
423b95:	8b 45 10             	mov    0x10(%ebp),%eax
423b98:	ff 30                	push   (%eax)
423b9a:	e8 52 2d 00 00       	call   0x4268f1
423b9f:	59                   	pop    %ecx
423ba0:	c3                   	ret
423ba1:	8b ff                	mov    %edi,%edi
423ba3:	55                   	push   %ebp
423ba4:	8b ec                	mov    %esp,%ebp
423ba6:	83 ec 20             	sub    $0x20,%esp
423ba9:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
423bad:	8d 45 f8             	lea    -0x8(%ebp),%eax
423bb0:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
423bb4:	8d 4d ff             	lea    -0x1(%ebp),%ecx
423bb7:	89 45 e0             	mov    %eax,-0x20(%ebp)
423bba:	8d 45 08             	lea    0x8(%ebp),%eax
423bbd:	89 45 e4             	mov    %eax,-0x1c(%ebp)
423bc0:	8d 45 f4             	lea    -0xc(%ebp),%eax
423bc3:	6a 08                	push   $0x8
423bc5:	89 45 e8             	mov    %eax,-0x18(%ebp)
423bc8:	58                   	pop    %eax
423bc9:	89 45 f0             	mov    %eax,-0x10(%ebp)
423bcc:	89 45 ec             	mov    %eax,-0x14(%ebp)
423bcf:	8d 45 f0             	lea    -0x10(%ebp),%eax
423bd2:	50                   	push   %eax
423bd3:	8d 45 e0             	lea    -0x20(%ebp),%eax
423bd6:	50                   	push   %eax
423bd7:	8d 45 ec             	lea    -0x14(%ebp),%eax
423bda:	50                   	push   %eax
423bdb:	e8 15 ff ff ff       	call   0x423af5
423be0:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
423be4:	8b 45 f8             	mov    -0x8(%ebp),%eax
423be7:	75 03                	jne    0x423bec
423be9:	8b 45 f4             	mov    -0xc(%ebp),%eax
423bec:	c9                   	leave
423bed:	c3                   	ret
423bee:	8b ff                	mov    %edi,%edi
423bf0:	55                   	push   %ebp
423bf1:	8b ec                	mov    %esp,%ebp
423bf3:	8b 45 08             	mov    0x8(%ebp),%eax
423bf6:	85 c0                	test   %eax,%eax
423bf8:	74 1d                	je     0x423c17
423bfa:	8b 48 0c             	mov    0xc(%eax),%ecx
423bfd:	90                   	nop
423bfe:	8b c1                	mov    %ecx,%eax
423c00:	c1 e8 0d             	shr    $0xd,%eax
423c03:	a8 01                	test   $0x1,%al
423c05:	74 10                	je     0x423c17
423c07:	51                   	push   %ecx
423c08:	e8 12 00 00 00       	call   0x423c1f
423c0d:	59                   	pop    %ecx
423c0e:	84 c0                	test   %al,%al
423c10:	75 09                	jne    0x423c1b
423c12:	8b 45 0c             	mov    0xc(%ebp),%eax
423c15:	ff 00                	incl   (%eax)
423c17:	32 c0                	xor    %al,%al
423c19:	5d                   	pop    %ebp
423c1a:	c3                   	ret
423c1b:	b0 01                	mov    $0x1,%al
423c1d:	5d                   	pop    %ebp
423c1e:	c3                   	ret
423c1f:	8b ff                	mov    %edi,%edi
423c21:	55                   	push   %ebp
423c22:	8b ec                	mov    %esp,%ebp
423c24:	8b 4d 08             	mov    0x8(%ebp),%ecx
423c27:	8b c1                	mov    %ecx,%eax
423c29:	24 03                	and    $0x3,%al
423c2b:	3c 02                	cmp    $0x2,%al
423c2d:	75 09                	jne    0x423c38
423c2f:	f6 c1 c0             	test   $0xc0,%cl
423c32:	74 04                	je     0x423c38
423c34:	fe c8                	dec    %al
423c36:	5d                   	pop    %ebp
423c37:	c3                   	ret
423c38:	c1 e9 0b             	shr    $0xb,%ecx
423c3b:	80 e1 01             	and    $0x1,%cl
423c3e:	8a c1                	mov    %cl,%al
423c40:	5d                   	pop    %ebp
423c41:	c3                   	ret
423c42:	8b ff                	mov    %edi,%edi
423c44:	55                   	push   %ebp
423c45:	8b ec                	mov    %esp,%ebp
423c47:	8b 4d 08             	mov    0x8(%ebp),%ecx
423c4a:	53                   	push   %ebx
423c4b:	56                   	push   %esi
423c4c:	57                   	push   %edi
423c4d:	8d 71 0c             	lea    0xc(%ecx),%esi
423c50:	8b 16                	mov    (%esi),%edx
423c52:	90                   	nop
423c53:	8b c2                	mov    %edx,%eax
423c55:	24 03                	and    $0x3,%al
423c57:	3c 02                	cmp    $0x2,%al
423c59:	75 49                	jne    0x423ca4
423c5b:	f6 c2 c0             	test   $0xc0,%dl
423c5e:	74 44                	je     0x423ca4
423c60:	8b 39                	mov    (%ecx),%edi
423c62:	8b 59 04             	mov    0x4(%ecx),%ebx
423c65:	2b fb                	sub    %ebx,%edi
423c67:	89 19                	mov    %ebx,(%ecx)
423c69:	83 61 08 00          	andl   $0x0,0x8(%ecx)
423c6d:	85 ff                	test   %edi,%edi
423c6f:	7e 33                	jle    0x423ca4
423c71:	51                   	push   %ecx
423c72:	e8 c1 7a 00 00       	call   0x42b738
423c77:	ff 75 0c             	push   0xc(%ebp)
423c7a:	57                   	push   %edi
423c7b:	53                   	push   %ebx
423c7c:	50                   	push   %eax
423c7d:	e8 99 8d 00 00       	call   0x42ca1b
423c82:	83 c4 14             	add    $0x14,%esp
423c85:	3b f8                	cmp    %eax,%edi
423c87:	74 0b                	je     0x423c94
423c89:	6a 10                	push   $0x10
423c8b:	58                   	pop    %eax
423c8c:	f0 09 06             	lock or %eax,(%esi)
423c8f:	83 c8 ff             	or     $0xffffffff,%eax
423c92:	eb 12                	jmp    0x423ca6
423c94:	8b 06                	mov    (%esi),%eax
423c96:	90                   	nop
423c97:	c1 e8 02             	shr    $0x2,%eax
423c9a:	a8 01                	test   $0x1,%al
423c9c:	74 06                	je     0x423ca4
423c9e:	6a fd                	push   $0xfffffffd
423ca0:	58                   	pop    %eax
423ca1:	f0 21 06             	lock and %eax,(%esi)
423ca4:	33 c0                	xor    %eax,%eax
423ca6:	5f                   	pop    %edi
423ca7:	5e                   	pop    %esi
423ca8:	5b                   	pop    %ebx
423ca9:	5d                   	pop    %ebp
423caa:	c3                   	ret
423cab:	8b ff                	mov    %edi,%edi
423cad:	55                   	push   %ebp
423cae:	8b ec                	mov    %esp,%ebp
423cb0:	83 ec 28             	sub    $0x28,%esp
423cb3:	8d 4d d8             	lea    -0x28(%ebp),%ecx
423cb6:	56                   	push   %esi
423cb7:	57                   	push   %edi
423cb8:	33 f6                	xor    %esi,%esi
423cba:	56                   	push   %esi
423cbb:	e8 10 b8 ff ff       	call   0x41f4d0
423cc0:	8b 7d 08             	mov    0x8(%ebp),%edi
423cc3:	85 ff                	test   %edi,%edi
423cc5:	75 0b                	jne    0x423cd2
423cc7:	56                   	push   %esi
423cc8:	e8 d4 fe ff ff       	call   0x423ba1
423ccd:	59                   	pop    %ecx
423cce:	8b f0                	mov    %eax,%esi
423cd0:	eb 30                	jmp    0x423d02
423cd2:	8d 45 d8             	lea    -0x28(%ebp),%eax
423cd5:	50                   	push   %eax
423cd6:	57                   	push   %edi
423cd7:	e8 66 ff ff ff       	call   0x423c42
423cdc:	59                   	pop    %ecx
423cdd:	59                   	pop    %ecx
423cde:	85 c0                	test   %eax,%eax
423ce0:	75 1d                	jne    0x423cff
423ce2:	8b 47 0c             	mov    0xc(%edi),%eax
423ce5:	90                   	nop
423ce6:	c1 e8 0b             	shr    $0xb,%eax
423ce9:	a8 01                	test   $0x1,%al
423ceb:	74 15                	je     0x423d02
423ced:	57                   	push   %edi
423cee:	e8 45 7a 00 00       	call   0x42b738
423cf3:	50                   	push   %eax
423cf4:	e8 cc 84 00 00       	call   0x42c1c5
423cf9:	59                   	pop    %ecx
423cfa:	59                   	pop    %ecx
423cfb:	85 c0                	test   %eax,%eax
423cfd:	74 03                	je     0x423d02
423cff:	83 ce ff             	or     $0xffffffff,%esi
423d02:	8d 4d d8             	lea    -0x28(%ebp),%ecx
423d05:	e8 26 b8 ff ff       	call   0x41f530
423d0a:	5f                   	pop    %edi
423d0b:	8b c6                	mov    %esi,%eax
423d0d:	5e                   	pop    %esi
423d0e:	c9                   	leave
423d0f:	c3                   	ret
423d10:	6a 01                	push   $0x1
423d12:	e8 8a fe ff ff       	call   0x423ba1
423d17:	59                   	pop    %ecx
423d18:	c3                   	ret
423d19:	8b ff                	mov    %edi,%edi
423d1b:	55                   	push   %ebp
423d1c:	8b ec                	mov    %esp,%ebp
423d1e:	53                   	push   %ebx
423d1f:	57                   	push   %edi
423d20:	8b f9                	mov    %ecx,%edi
423d22:	8b 4d 08             	mov    0x8(%ebp),%ecx
423d25:	c6 47 0c 00          	movb   $0x0,0xc(%edi)
423d29:	8d 5f 04             	lea    0x4(%edi),%ebx
423d2c:	85 c9                	test   %ecx,%ecx
423d2e:	74 07                	je     0x423d37
423d30:	8b 01                	mov    (%ecx),%eax
423d32:	8b 49 04             	mov    0x4(%ecx),%ecx
423d35:	eb 14                	jmp    0x423d4b
423d37:	83 3d 80 6d 45 00 00 	cmpl   $0x0,0x456d80
423d3e:	75 12                	jne    0x423d52
423d40:	a1 68 52 45 00       	mov    0x455268,%eax
423d45:	8b 0d 6c 52 45 00    	mov    0x45526c,%ecx
423d4b:	89 03                	mov    %eax,(%ebx)
423d4d:	89 4b 04             	mov    %ecx,0x4(%ebx)
423d50:	eb 41                	jmp    0x423d93
423d52:	56                   	push   %esi
423d53:	e8 71 68 00 00       	call   0x42a5c9
423d58:	89 07                	mov    %eax,(%edi)
423d5a:	8d 77 08             	lea    0x8(%edi),%esi
423d5d:	53                   	push   %ebx
423d5e:	50                   	push   %eax
423d5f:	8b 48 4c             	mov    0x4c(%eax),%ecx
423d62:	89 0b                	mov    %ecx,(%ebx)
423d64:	8b 48 48             	mov    0x48(%eax),%ecx
423d67:	89 0e                	mov    %ecx,(%esi)