428b22:	74 3b                	je     0x428b5f
428b24:	8b 30                	mov    (%eax),%esi
428b26:	8d 45 d4             	lea    -0x2c(%ebp),%eax
428b29:	50                   	push   %eax
428b2a:	8d 45 d0             	lea    -0x30(%ebp),%eax
428b2d:	50                   	push   %eax
428b2e:	8b 76 10             	mov    0x10(%esi),%esi
428b31:	8d 45 cc             	lea    -0x34(%ebp),%eax
428b34:	50                   	push   %eax
428b35:	8d 45 c8             	lea    -0x38(%ebp),%eax
428b38:	8b ce                	mov    %esi,%ecx
428b3a:	50                   	push   %eax
428b3b:	8d 45 c4             	lea    -0x3c(%ebp),%eax
428b3e:	50                   	push   %eax
428b3f:	ff 15 20 a5 43 00    	call   *0x43a520
428b45:	8b 4d 48             	mov    0x48(%ebp),%ecx
428b48:	ff d6                	call   *%esi
428b4a:	84 c0                	test   %al,%al
428b4c:	74 18                	je     0x428b66
428b4e:	8b 75 ec             	mov    -0x14(%ebp),%esi
428b51:	46                   	inc    %esi
428b52:	89 75 ec             	mov    %esi,-0x14(%ebp)
428b55:	3b 75 dc             	cmp    -0x24(%ebp),%esi
428b58:	72 90                	jb     0x428aea
428b5a:	e9 6c ff ff ff       	jmp    0x428acb
428b5f:	6a 07                	push   $0x7
428b61:	59                   	pop    %ecx
428b62:	cd 29                	int    $0x29
428b64:	b3 01                	mov    $0x1,%bl
428b66:	8d 4d 08             	lea    0x8(%ebp),%ecx
428b69:	e8 82 c6 ff ff       	call   0x4251f0
428b6e:	8a c3                	mov    %bl,%al
428b70:	e8 67 22 ff ff       	call   0x41addc
428b75:	c2 48 00             	ret    $0x48
428b78:	8b ff                	mov    %edi,%edi
428b7a:	51                   	push   %ecx
428b7b:	ff 15 9c a2 43 00    	call   *0x43a29c
428b81:	c3                   	ret
428b82:	8b ff                	mov    %edi,%edi
428b84:	55                   	push   %ebp
428b85:	8b ec                	mov    %esp,%ebp
428b87:	6a 19                	push   $0x19
428b89:	6a 00                	push   $0x0
428b8b:	ff 75 08             	push   0x8(%ebp)
428b8e:	e8 88 34 fe ff       	call   0x40c01b
428b93:	8b 45 08             	mov    0x8(%ebp),%eax
428b96:	5d                   	pop    %ebp
428b97:	c2 08 00             	ret    $0x8
428b9a:	8b ff                	mov    %edi,%edi
428b9c:	55                   	push   %ebp
428b9d:	8b ec                	mov    %esp,%ebp
428b9f:	51                   	push   %ecx
428ba0:	80 3d 88 90 43 00 00 	cmpb   $0x0,0x439088
428ba7:	75 05                	jne    0x428bae
428ba9:	e8 95 e6 ff ff       	call   0x427243
428bae:	80 3d 89 90 43 00 00 	cmpb   $0x0,0x439089
428bb5:	75 24                	jne    0x428bdb
428bb7:	68 b8 55 40 00       	push   $0x4055b8
428bbc:	ff 35 04 80 43 00    	push   0x438004
428bc2:	ff 35 00 80 43 00    	push   0x438000
428bc8:	ff 15 60 a3 43 00    	call   *0x43a360
428bce:	84 c0                	test   %al,%al
428bd0:	75 09                	jne    0x428bdb
428bd2:	83 3d a4 8d 43 00 00 	cmpl   $0x0,0x438da4
428bd9:	76 13                	jbe    0x428bee
428bdb:	8d 45 0c             	lea    0xc(%ebp),%eax
428bde:	89 45 fc             	mov    %eax,-0x4(%ebp)
428be1:	8d 45 fc             	lea    -0x4(%ebp),%eax
428be4:	50                   	push   %eax
428be5:	ff 75 08             	push   0x8(%ebp)
428be8:	51                   	push   %ecx
428be9:	e8 27 ed ff ff       	call   0x427915
428bee:	c9                   	leave
428bef:	c3                   	ret
428bf0:	8b ff                	mov    %edi,%edi
428bf2:	55                   	push   %ebp
428bf3:	8b ec                	mov    %esp,%ebp
428bf5:	83 ec 0c             	sub    $0xc,%esp
428bf8:	53                   	push   %ebx
428bf9:	8b 5d 28             	mov    0x28(%ebp),%ebx
428bfc:	33 c0                	xor    %eax,%eax
428bfe:	56                   	push   %esi
428bff:	57                   	push   %edi
428c00:	8b 7d 1c             	mov    0x1c(%ebp),%edi
428c03:	66 89 03             	mov    %ax,(%ebx)
428c06:	8b 45 30             	mov    0x30(%ebp),%eax
428c09:	89 55 f8             	mov    %edx,-0x8(%ebp)
428c0c:	89 4d f4             	mov    %ecx,-0xc(%ebp)
428c0f:	c6 00 00             	movb   $0x0,(%eax)
428c12:	33 c0                	xor    %eax,%eax
428c14:	89 45 fc             	mov    %eax,-0x4(%ebp)
428c17:	8b 45 18             	mov    0x18(%ebp),%eax
428c1a:	83 e8 00             	sub    $0x0,%eax
428c1d:	74 46                	je     0x428c65
428c1f:	83 e8 01             	sub    $0x1,%eax
428c22:	74 38                	je     0x428c5c
428c24:	83 e8 01             	sub    $0x1,%eax
428c27:	74 0d                	je     0x428c36
428c29:	83 e8 01             	sub    $0x1,%eax
428c2c:	75 41                	jne    0x428c6f
428c2e:	57                   	push   %edi
428c2f:	e8 4c 12 ff ff       	call   0x419e80
428c34:	eb 36                	jmp    0x428c6c
428c36:	85 ff                	test   %edi,%edi
428c38:	78 19                	js     0x428c53
428c3a:	bf 9c 02 07 80       	mov    $0x8007029c,%edi
428c3f:	57                   	push   %edi
428c40:	6a 02                	push   $0x2
428c42:	ff 75 14             	push   0x14(%ebp)
428c45:	ff 75 10             	push   0x10(%ebp)
428c48:	ff 75 0c             	push   0xc(%ebp)
428c4b:	ff 75 08             	push   0x8(%ebp)
428c4e:	e8 1b 2f 00 00       	call   0x42bb6e
428c53:	8b cf                	mov    %edi,%ecx
428c55:	e8 de 19 00 00       	call   0x42a638
428c5a:	eb 10                	jmp    0x428c6c
428c5c:	8b cf                	mov    %edi,%ecx
428c5e:	e8 e8 19 00 00       	call   0x42a64b
428c63:	eb 07                	jmp    0x428c6c
428c65:	8b cf                	mov    %edi,%ecx
428c67:	e8 74 18 00 00       	call   0x42a4e0
428c6c:	89 45 fc             	mov    %eax,-0x4(%ebp)
428c6f:	8b 75 38             	mov    0x38(%ebp),%esi
428c72:	8b 45 18             	mov    0x18(%ebp),%eax
428c75:	89 06                	mov    %eax,(%esi)
428c77:	33 c0                	xor    %eax,%eax
428c79:	89 7e 04             	mov    %edi,0x4(%esi)
428c7c:	40                   	inc    %eax
428c7d:	f0 0f c1 05 18 8b 43 	lock xadd %eax,0x438b18
428c84:	00
428c85:	40                   	inc    %eax
428c86:	89 46 08             	mov    %eax,0x8(%esi)
428c89:	8b 45 20             	mov    0x20(%ebp),%eax
428c8c:	85 c0                	test   %eax,%eax
428c8e:	74 07                	je     0x428c97
428c90:	33 c9                	xor    %ecx,%ecx
428c92:	66 39 08             	cmp    %cx,(%eax)
428c95:	75 02                	jne    0x428c99
428c97:	33 c0                	xor    %eax,%eax
428c99:	89 46 0c             	mov    %eax,0xc(%esi)
428c9c:	ff 15 f8 a1 43 00    	call   *0x43a1f8
428ca2:	89 46 10             	mov    %eax,0x10(%esi)
428ca5:	8d 7e 2c             	lea    0x2c(%esi),%edi
428ca8:	8b 45 08             	mov    0x8(%ebp),%eax
428cab:	33 d2                	xor    %edx,%edx
428cad:	89 46 1c             	mov    %eax,0x1c(%esi)
428cb0:	8b 45 f8             	mov    -0x8(%ebp),%eax
428cb3:	89 46 20             	mov    %eax,0x20(%esi)
428cb6:	8b 45 fc             	mov    -0x4(%ebp),%eax
428cb9:	89 46 24             	mov    %eax,0x24(%esi)
428cbc:	8b 45 10             	mov    0x10(%ebp),%eax
428cbf:	89 46 14             	mov    %eax,0x14(%esi)
428cc2:	8b 45 0c             	mov    0xc(%ebp),%eax
428cc5:	89 46 18             	mov    %eax,0x18(%esi)
428cc8:	8b 45 14             	mov    0x14(%ebp),%eax
428ccb:	89 46 48             	mov    %eax,0x48(%esi)
428cce:	8b 45 f4             	mov    -0xc(%ebp),%eax
428cd1:	89 46 4c             	mov    %eax,0x4c(%esi)
428cd4:	33 c0                	xor    %eax,%eax
428cd6:	6a 06                	push   $0x6
428cd8:	59                   	pop    %ecx
428cd9:	89 56 28             	mov    %edx,0x28(%esi)
428cdc:	f3 ab                	rep stos %eax,%es:(%edi)
428cde:	8b 3d 50 90 43 00    	mov    0x439050,%edi
428ce4:	85 ff                	test   %edi,%edi
428ce6:	74 0a                	je     0x428cf2
428ce8:	8b cf                	mov    %edi,%ecx
428cea:	ff 15 20 a5 43 00    	call   *0x43a520
428cf0:	ff d7                	call   *%edi
428cf2:	8b 3d f8 89 43 00    	mov    0x4389f8,%edi
428cf8:	89 46 44             	mov    %eax,0x44(%esi)
428cfb:	85 ff                	test   %edi,%edi
428cfd:	74 13                	je     0x428d12
428cff:	68 00 04 00 00       	push   $0x400
428d04:	ff 75 30             	push   0x30(%ebp)
428d07:	8b cf                	mov    %edi,%ecx
428d09:	56                   	push   %esi
428d0a:	ff 15 20 a5 43 00    	call   *0x43a520
428d10:	ff d7                	call   *%edi
428d12:	8b 3d dc 90 43 00    	mov    0x4390dc,%edi
428d18:	85 ff                	test   %edi,%edi
428d1a:	74 0b                	je     0x428d27
428d1c:	56                   	push   %esi
428d1d:	8b cf                	mov    %edi,%ecx
428d1f:	ff 15 20 a5 43 00    	call   *0x43a520
428d25:	ff d7                	call   *%edi
428d27:	8b 3d e4 90 43 00    	mov    0x4390e4,%edi
428d2d:	85 ff                	test   %edi,%edi
428d2f:	74 0b                	je     0x428d3c
428d31:	56                   	push   %esi
428d32:	8b cf                	mov    %edi,%ecx
428d34:	ff 15 20 a5 43 00    	call   *0x43a520
428d3a:	ff d7                	call   *%edi
428d3c:	33 c0                	xor    %eax,%eax
428d3e:	39 46 04             	cmp    %eax,0x4(%esi)
428d41:	7c 11                	jl     0x428d54
428d43:	83 7d 18 03          	cmpl   $0x3,0x18(%ebp)
428d47:	0f 85 90 00 00 00    	jne    0x428ddd
428d4d:	c7 46 04 ff ff 00 80 	movl   $0x8000ffff,0x4(%esi)
428d54:	e8 b3 fc ff ff       	call   0x428a0c
428d59:	8b 3d c8 90 43 00    	mov    0x4390c8,%edi
428d5f:	84 c0                	test   %al,%al
428d61:	75 1d                	jne    0x428d80
428d63:	85 ff                	test   %edi,%edi
428d65:	74 52                	je     0x428db9
428d67:	38 05 d4 90 43 00    	cmp    %al,0x4390d4
428d6d:	75 4a                	jne    0x428db9
428d6f:	33 c0                	xor    %eax,%eax
428d71:	8b cf                	mov    %edi,%ecx
428d73:	50                   	push   %eax
428d74:	50                   	push   %eax
428d75:	56                   	push   %esi
428d76:	ff 15 20 a5 43 00    	call   *0x43a520
428d7c:	ff d7                	call   *%edi
428d7e:	eb 39                	jmp    0x428db9
428d80:	85 ff                	test   %edi,%edi
428d82:	74 1a                	je     0x428d9e
428d84:	80 3d d4 90 43 00 00 	cmpb   $0x0,0x4390d4
428d8b:	75 11                	jne    0x428d9e
428d8d:	68 00 08 00 00       	push   $0x800
428d92:	53                   	push   %ebx
428d93:	56                   	push   %esi
428d94:	8b cf                	mov    %edi,%ecx
428d96:	ff 15 20 a5 43 00    	call   *0x43a520
428d9c:	ff d7                	call   *%edi
428d9e:	33 c0                	xor    %eax,%eax
428da0:	66 39 03             	cmp    %ax,(%ebx)
428da3:	75 0d                	jne    0x428db2
428da5:	56                   	push   %esi
428da6:	ba 00 08 00 00       	mov    $0x800,%edx
428dab:	8b cb                	mov    %ebx,%ecx
428dad:	e8 6c f2 ff ff       	call   0x42801e
428db2:	53                   	push   %ebx
428db3:	ff 15 8c a0 43 00    	call   *0x43a08c
428db9:	80 3d cc 90 43 00 00 	cmpb   $0x0,0x4390cc
428dc0:	74 14                	je     0x428dd6
428dc2:	8b 35 48 90 43 00    	mov    0x439048,%esi
428dc8:	85 f6                	test   %esi,%esi
428dca:	74 0a                	je     0x428dd6
428dcc:	8b ce                	mov    %esi,%ecx
428dce:	ff 15 20 a5 43 00    	call   *0x43a520
428dd4:	ff d6                	call   *%esi
428dd6:	5f                   	pop    %edi
428dd7:	5e                   	pop    %esi
428dd8:	5b                   	pop    %ebx
428dd9:	c9                   	leave
428dda:	c2 34 00             	ret    $0x34
428ddd:	e8 0f 52 00 00       	call   0x42dff1
428de2:	cc                   	int3
428de3:	8b ff                	mov    %edi,%edi
428de5:	55                   	push   %ebp
428de6:	8b ec                	mov    %esp,%ebp
428de8:	8b 55 0c             	mov    0xc(%ebp),%edx
428deb:	8d 45 14             	lea    0x14(%ebp),%eax
428dee:	56                   	push   %esi
428def:	8b 75 08             	mov    0x8(%ebp),%esi
428df2:	2b d6                	sub    %esi,%edx
428df4:	50                   	push   %eax
428df5:	ff 75 10             	push   0x10(%ebp)
428df8:	d1 fa                	sar    $1,%edx
428dfa:	8b ce                	mov    %esi,%ecx
428dfc:	e8 8e 41 00 00       	call   0x42cf8f
428e01:	39 75 0c             	cmp    %esi,0xc(%ebp)
428e04:	74 17                	je     0x428e1d
428e06:	8b ce                	mov    %esi,%ecx
428e08:	8d 51 02             	lea    0x2(%ecx),%edx
428e0b:	66 8b 01             	mov    (%ecx),%ax
428e0e:	83 c1 02             	add    $0x2,%ecx
428e11:	66 85 c0             	test   %ax,%ax
428e14:	75 f5                	jne    0x428e0b
428e16:	2b ca                	sub    %edx,%ecx
428e18:	d1 f9                	sar    $1,%ecx
428e1a:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
428e1d:	8b c6                	mov    %esi,%eax
428e1f:	5e                   	pop    %esi
428e20:	5d                   	pop    %ebp
428e21:	c3                   	ret
428e22:	8b ff                	mov    %edi,%edi
428e24:	55                   	push   %ebp
428e25:	8b ec                	mov    %esp,%ebp
428e27:	ff 75 0c             	push   0xc(%ebp)
428e2a:	6a 02                	push   $0x2
428e2c:	ff 75 04             	push   0x4(%ebp)
428e2f:	6a 00                	push   $0x0
428e31:	6a 00                	push   $0x0
428e33:	ff 75 08             	push   0x8(%ebp)
428e36:	e8 33 2d 00 00       	call   0x42bb6e
428e3b:	8b 45 0c             	mov    0xc(%ebp),%eax
428e3e:	5d                   	pop    %ebp
428e3f:	c2 08 00             	ret    $0x8
428e42:	8b ff                	mov    %edi,%edi
428e44:	55                   	push   %ebp
428e45:	8b ec                	mov    %esp,%ebp
428e47:	53                   	push   %ebx
428e48:	56                   	push   %esi
428e49:	57                   	push   %edi
428e4a:	8b f9                	mov    %ecx,%edi
428e4c:	33 f6                	xor    %esi,%esi
428e4e:	39 77 08             	cmp    %esi,0x8(%edi)
428e51:	7e 1a                	jle    0x428e6d
428e53:	8b 5d 08             	mov    0x8(%ebp),%ebx
428e56:	8b 07                	mov    (%edi),%eax
428e58:	ff 33                	push   (%ebx)
428e5a:	ff 34 b0             	push   (%eax,%esi,4)
428e5d:	ff 15 78 a2 43 00    	call   *0x43a278
428e63:	85 c0                	test   %eax,%eax
428e65:	74 09                	je     0x428e70
428e67:	46                   	inc    %esi
428e68:	3b 77 08             	cmp    0x8(%edi),%esi
428e6b:	7c e9                	jl     0x428e56
428e6d:	83 ce ff             	or     $0xffffffff,%esi
428e70:	83 fe ff             	cmp    $0xffffffff,%esi
428e73:	75 04                	jne    0x428e79
428e75:	33 c0                	xor    %eax,%eax
428e77:	eb 0a                	jmp    0x428e83
428e79:	56                   	push   %esi
428e7a:	8b cf                	mov    %edi,%ecx
428e7c:	e8 3f f8 ff ff       	call   0x4286c0
428e81:	8b 00                	mov    (%eax),%eax
428e83:	5f                   	pop    %edi
428e84:	5e                   	pop    %esi
428e85:	5b                   	pop    %ebx
428e86:	5d                   	pop    %ebp
428e87:	c2 04 00             	ret    $0x4
428e8a:	8b ff                	mov    %edi,%edi
428e8c:	55                   	push   %ebp
428e8d:	8b ec                	mov    %esp,%ebp
428e8f:	83 ec 1c             	sub    $0x1c,%esp
428e92:	66 8b 41 06          	mov    0x6(%ecx),%ax
428e96:	33 d2                	xor    %edx,%edx
428e98:	66 89 45 e4          	mov    %ax,-0x1c(%ebp)
428e9c:	8a 41 08             	mov    0x8(%ecx),%al
428e9f:	53                   	push   %ebx
428ea0:	8b 5d 08             	mov    0x8(%ebp),%ebx
428ea3:	56                   	push   %esi
428ea4:	8b 75 0c             	mov    0xc(%ebp),%esi
428ea7:	88 45 e6             	mov    %al,-0x1a(%ebp)
428eaa:	33 c0                	xor    %eax,%eax
428eac:	89 4d f8             	mov    %ecx,-0x8(%ebp)
428eaf:	89 55 e8             	mov    %edx,-0x18(%ebp)
428eb2:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
428eb6:	89 55 f0             	mov    %edx,-0x10(%ebp)
428eb9:	89 55 f4             	mov    %edx,-0xc(%ebp)
428ebc:	85 f6                	test   %esi,%esi
428ebe:	74 47                	je     0x428f07
428ec0:	57                   	push   %edi
428ec1:	8b 41 0c             	mov    0xc(%ecx),%eax
428ec4:	8b fe                	mov    %esi,%edi
428ec6:	ff 71 14             	push   0x14(%ecx)
428ec9:	d1 ef                	shr    $1,%edi