42893d:	e8 4d 65 00 00       	call   0x42ee8f
428942:	8b 4c 24 24          	mov    0x24(%esp),%ecx
428946:	33 cc                	xor    %esp,%ecx
428948:	e8 73 1e ff ff       	call   0x41a7c0
42894d:	8b e5                	mov    %ebp,%esp
42894f:	5d                   	pop    %ebp
428950:	c3                   	ret
428951:	8b ff                	mov    %edi,%edi
428953:	55                   	push   %ebp
428954:	8b ec                	mov    %esp,%ebp
428956:	83 e4 f8             	and    $0xfffffff8,%esp
428959:	83 ec 28             	sub    $0x28,%esp
42895c:	a1 08 85 43 00       	mov    0x438508,%eax
428961:	33 c4                	xor    %esp,%eax
428963:	89 44 24 24          	mov    %eax,0x24(%esp)
428967:	e8 a9 30 ff ff       	call   0x41ba15
42896c:	8b 48 04             	mov    0x4(%eax),%ecx
42896f:	83 39 05             	cmpl   $0x5,(%ecx)
428972:	76 25                	jbe    0x428999
428974:	68 00 20 00 00       	push   $0x2000
428979:	6a 00                	push   $0x0
42897b:	e8 7c f3 fe ff       	call   0x417cfc
428980:	84 c0                	test   %al,%al
428982:	74 15                	je     0x428999
428984:	8d 04 24             	lea    (%esp),%eax
428987:	50                   	push   %eax
428988:	6a 02                	push   $0x2
42898a:	6a 00                	push   $0x0
42898c:	6a 00                	push   $0x0
42898e:	68 b4 64 40 00       	push   $0x4064b4
428993:	51                   	push   %ecx
428994:	e8 f6 64 00 00       	call   0x42ee8f
428999:	8b 4c 24 24          	mov    0x24(%esp),%ecx
42899d:	33 cc                	xor    %esp,%ecx
42899f:	e8 1c 1e ff ff       	call   0x41a7c0
4289a4:	8b e5                	mov    %ebp,%esp
4289a6:	5d                   	pop    %ebp
4289a7:	c3                   	ret
4289a8:	8b ff                	mov    %edi,%edi
4289aa:	55                   	push   %ebp
4289ab:	8b ec                	mov    %esp,%ebp
4289ad:	56                   	push   %esi
4289ae:	8b 75 08             	mov    0x8(%ebp),%esi
4289b1:	85 f6                	test   %esi,%esi
4289b3:	74 2d                	je     0x4289e2
4289b5:	ff 15 24 a1 43 00    	call   *0x43a124
4289bb:	83 25 a8 8d 43 00 00 	andl   $0x0,0x438da8
4289c2:	c1 ee 0b             	shr    $0xb,%esi
4289c5:	89 35 a4 8d 43 00    	mov    %esi,0x438da4
4289cb:	c1 e6 0b             	shl    $0xb,%esi
4289ce:	56                   	push   %esi
4289cf:	6a 08                	push   $0x8
4289d1:	50                   	push   %eax
4289d2:	a3 a0 8d 43 00       	mov    %eax,0x438da0
4289d7:	ff 15 1c a1 43 00    	call   *0x43a11c
4289dd:	a3 ac 8d 43 00       	mov    %eax,0x438dac
4289e2:	5e                   	pop    %esi
4289e3:	5d                   	pop    %ebp
4289e4:	c2 04 00             	ret    $0x4
4289e7:	cc                   	int3
4289e8:	cc                   	int3
4289e9:	cc                   	int3
4289ea:	cc                   	int3
4289eb:	cc                   	int3
4289ec:	cc                   	int3
4289ed:	cc                   	int3
4289ee:	cc                   	int3
4289ef:	cc                   	int3
4289f0:	83 3d bc 8e 43 00 00 	cmpl   $0x0,0x438ebc
4289f7:	74 12                	je     0x428a0b
4289f9:	8d 41 04             	lea    0x4(%ecx),%eax
4289fc:	50                   	push   %eax
4289fd:	ff 71 08             	push   0x8(%ecx)
428a00:	8b 0d cc 8e 43 00    	mov    0x438ecc,%ecx
428a06:	e8 43 ab 00 00       	call   0x43354e
428a0b:	c3                   	ret
428a0c:	80 3d c4 90 43 00 00 	cmpb   $0x0,0x4390c4
428a13:	53                   	push   %ebx
428a14:	56                   	push   %esi
428a15:	75 2b                	jne    0x428a42
428a17:	8b 35 c0 90 43 00    	mov    0x4390c0,%esi
428a1d:	33 db                	xor    %ebx,%ebx
428a1f:	85 f6                	test   %esi,%esi
428a21:	74 0f                	je     0x428a32
428a23:	8b ce                	mov    %esi,%ecx
428a25:	ff 15 20 a5 43 00    	call   *0x43a520
428a2b:	ff d6                	call   *%esi
428a2d:	0f b6 c0             	movzbl %al,%eax
428a30:	eb 0c                	jmp    0x428a3e
428a32:	ff 15 84 a0 43 00    	call   *0x43a084
428a38:	85 c0                	test   %eax,%eax
428a3a:	75 06                	jne    0x428a42
428a3c:	8b c3                	mov    %ebx,%eax
428a3e:	85 c0                	test   %eax,%eax
428a40:	74 02                	je     0x428a44
428a42:	b3 01                	mov    $0x1,%bl
428a44:	5e                   	pop    %esi
428a45:	8a c3                	mov    %bl,%al
428a47:	5b                   	pop    %ebx
428a48:	c3                   	ret
428a49:	8b ff                	mov    %edi,%edi
428a4b:	55                   	push   %ebp
428a4c:	8b ec                	mov    %esp,%ebp
428a4e:	66 8b 4d 08          	mov    0x8(%ebp),%cx
428a52:	0f b7 c1             	movzwl %cx,%eax
428a55:	83 f8 09             	cmp    $0x9,%eax
428a58:	72 15                	jb     0x428a6f
428a5a:	83 f8 0a             	cmp    $0xa,%eax
428a5d:	76 0b                	jbe    0x428a6a
428a5f:	83 f8 0d             	cmp    $0xd,%eax
428a62:	74 06                	je     0x428a6a
428a64:	66 83 f9 20          	cmp    $0x20,%cx
428a68:	75 05                	jne    0x428a6f
428a6a:	33 c0                	xor    %eax,%eax
428a6c:	40                   	inc    %eax
428a6d:	eb 02                	jmp    0x428a71
428a6f:	33 c0                	xor    %eax,%eax
428a71:	5d                   	pop    %ebp
428a72:	c2 04 00             	ret    $0x4
428a75:	6a 44                	push   $0x44
428a77:	b8 23 f2 41 00       	mov    $0x41f223,%eax
428a7c:	e8 8d 23 ff ff       	call   0x41ae0e
428a81:	8b f9                	mov    %ecx,%edi
428a83:	33 db                	xor    %ebx,%ebx
428a85:	89 5d fc             	mov    %ebx,-0x4(%ebp)
428a88:	8b 47 10             	mov    0x10(%edi),%eax
428a8b:	83 c0 0a             	add    $0xa,%eax
428a8e:	89 5d dc             	mov    %ebx,-0x24(%ebp)
428a91:	89 45 f0             	mov    %eax,-0x10(%ebp)
428a94:	66 8b 47 02          	mov    0x2(%edi),%ax
428a98:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
428a9c:	8a 47 04             	mov    0x4(%edi),%al
428a9f:	88 45 da             	mov    %al,-0x26(%ebp)
428aa2:	33 c0                	xor    %eax,%eax
428aa4:	66 89 45 e0          	mov    %ax,-0x20(%ebp)
428aa8:	66 8b 47 06          	mov    0x6(%edi),%ax
428aac:	66 89 45 b0          	mov    %ax,-0x50(%ebp)
428ab0:	8a 47 08             	mov    0x8(%edi),%al
428ab3:	88 45 b2             	mov    %al,-0x4e(%ebp)
428ab6:	33 c0                	xor    %eax,%eax
428ab8:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
428abb:	89 5d e8             	mov    %ebx,-0x18(%ebp)
428abe:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
428ac1:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
428ac5:	89 5d bc             	mov    %ebx,-0x44(%ebp)
428ac8:	89 5d c0             	mov    %ebx,-0x40(%ebp)
428acb:	ff 77 14             	push   0x14(%edi)
428ace:	8d 45 f0             	lea    -0x10(%ebp),%eax
428ad1:	50                   	push   %eax
428ad2:	8d 4d d8             	lea    -0x28(%ebp),%ecx
428ad5:	e8 8d 17 00 00       	call   0x42a267
428ada:	84 c0                	test   %al,%al
428adc:	0f 84 82 00 00 00    	je     0x428b64
428ae2:	89 5d ec             	mov    %ebx,-0x14(%ebp)
428ae5:	39 5d dc             	cmp    %ebx,-0x24(%ebp)
428ae8:	76 e1                	jbe    0x428acb
428aea:	ff 77 14             	push   0x14(%edi)
428aed:	8d 45 f0             	lea    -0x10(%ebp),%eax
428af0:	50                   	push   %eax
428af1:	8d 4d b0             	lea    -0x50(%ebp),%ecx
428af4:	e8 6e 17 00 00       	call   0x42a267
428af9:	84 c0                	test   %al,%al
428afb:	74 ce                	je     0x428acb
428afd:	8b 45 b4             	mov    -0x4c(%ebp),%eax
428b00:	89 45 d4             	mov    %eax,-0x2c(%ebp)
428b03:	0f b7 45 b8          	movzwl -0x48(%ebp),%eax
428b07:	89 45 d0             	mov    %eax,-0x30(%ebp)
428b0a:	8b 45 c0             	mov    -0x40(%ebp),%eax
428b0d:	89 45 cc             	mov    %eax,-0x34(%ebp)
428b10:	0f b7 45 e0          	movzwl -0x20(%ebp),%eax
428b14:	89 45 c8             	mov    %eax,-0x38(%ebp)
428b17:	8b 45 e8             	mov    -0x18(%ebp),%eax
428b1a:	89 45 c4             	mov    %eax,-0x3c(%ebp)
428b1d:	8b 45 48             	mov    0x48(%ebp),%eax
428b20:	85 c0                	test   %eax,%eax
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)