4399d0:	3b 4d 08             	cmp    0x8(%ebp),%ecx
4399d3:	0f 94 c0             	sete   %al
4399d6:	5d                   	pop    %ebp
4399d7:	c2 04 00             	ret    $0x4
4399da:	55                   	push   %ebp
4399db:	8b ec                	mov    %esp,%ebp
4399dd:	ff 75 08             	push   0x8(%ebp)
4399e0:	e8 e4 ff ff ff       	call   0x4399c9
4399e5:	33 c9                	xor    %ecx,%ecx
4399e7:	84 c0                	test   %al,%al
4399e9:	0f 94 c1             	sete   %cl
4399ec:	8a c1                	mov    %cl,%al
4399ee:	5d                   	pop    %ebp
4399ef:	c2 04 00             	ret    $0x4
4399f2:	55                   	push   %ebp
4399f3:	8b ec                	mov    %esp,%ebp
4399f5:	51                   	push   %ecx
4399f6:	51                   	push   %ecx
4399f7:	85 c9                	test   %ecx,%ecx
4399f9:	75 0a                	jne    0x439a05
4399fb:	b9 57 00 07 80       	mov    $0x80070057,%ecx
439a00:	e8 9e 00 00 00       	call   0x439aa3
439a05:	8b 01                	mov    (%ecx),%eax
439a07:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
439a0b:	56                   	push   %esi
439a0c:	57                   	push   %edi
439a0d:	6a 1d                	push   $0x1d
439a0f:	5e                   	pop    %esi
439a10:	8d 7d fc             	lea    -0x4(%ebp),%edi
439a13:	57                   	push   %edi
439a14:	52                   	push   %edx
439a15:	51                   	push   %ecx
439a16:	ff 50 38             	call   *0x38(%eax)
439a19:	85 c0                	test   %eax,%eax
439a1b:	79 09                	jns    0x439a26
439a1d:	8b cf                	mov    %edi,%ecx
439a1f:	e8 5a ff ff ff       	call   0x43997e
439a24:	eb 76                	jmp    0x439a9c
439a26:	8b 45 fc             	mov    -0x4(%ebp),%eax
439a29:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
439a2d:	8b 08                	mov    (%eax),%ecx
439a2f:	8d 55 f8             	lea    -0x8(%ebp),%edx
439a32:	52                   	push   %edx
439a33:	50                   	push   %eax
439a34:	ff 51 0c             	call   *0xc(%ecx)
439a37:	8b 7d f8             	mov    -0x8(%ebp),%edi
439a3a:	85 c0                	test   %eax,%eax
439a3c:	78 48                	js     0x439a86
439a3e:	85 ff                	test   %edi,%edi
439a40:	74 52                	je     0x439a94
439a42:	8b 47 28             	mov    0x28(%edi),%eax
439a45:	83 f8 06             	cmp    $0x6,%eax
439a48:	74 04                	je     0x439a4e
439a4a:	85 c0                	test   %eax,%eax
439a4c:	75 38                	jne    0x439a86
439a4e:	0f b7 4f 40          	movzwl 0x40(%edi),%ecx
439a52:	66 3b ce             	cmp    %si,%cx
439a55:	75 13                	jne    0x439a6a
439a57:	8b 57 3c             	mov    0x3c(%edi),%edx
439a5a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
439a5d:	e8 90 ff ff ff       	call   0x4399f2
439a62:	8b 7d f8             	mov    -0x8(%ebp),%edi
439a65:	0f b7 f0             	movzwl %ax,%esi
439a68:	eb 1c                	jmp    0x439a86
439a6a:	83 e8 00             	sub    $0x0,%eax
439a6d:	74 14                	je     0x439a83
439a6f:	83 e8 03             	sub    $0x3,%eax
439a72:	74 0b                	je     0x439a7f
439a74:	48                   	dec    %eax
439a75:	74 04                	je     0x439a7b
439a77:	8b f1                	mov    %ecx,%esi
439a79:	eb 0b                	jmp    0x439a86
439a7b:	6a 09                	push   $0x9
439a7d:	eb 06                	jmp    0x439a85
439a7f:	6a 0d                	push   $0xd
439a81:	eb 02                	jmp    0x439a85
439a83:	6a 03                	push   $0x3
439a85:	5e                   	pop    %esi
439a86:	85 ff                	test   %edi,%edi
439a88:	74 0a                	je     0x439a94
439a8a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
439a8d:	57                   	push   %edi
439a8e:	8b 11                	mov    (%ecx),%edx
439a90:	51                   	push   %ecx
439a91:	ff 52 4c             	call   *0x4c(%edx)
439a94:	8d 4d fc             	lea    -0x4(%ebp),%ecx
439a97:	e8 e7 fe ff ff       	call   0x439983
439a9c:	5f                   	pop    %edi
439a9d:	66 8b c6             	mov    %si,%ax
439aa0:	5e                   	pop    %esi
439aa1:	c9                   	leave
439aa2:	c3                   	ret
439aa3:	33 c0                	xor    %eax,%eax
439aa5:	81 f9 0e 00 07 80    	cmp    $0x8007000e,%ecx
439aab:	0f 94 c0             	sete   %al
439aae:	8d 48 ff             	lea    -0x1(%eax),%ecx
439ab1:	83 e1 06             	and    $0x6,%ecx
439ab4:	81 c1 17 00 00 c0    	add    $0xc0000017,%ecx
439aba:	e9 74 0a 00 00       	jmp    0x43a533
439abf:	55                   	push   %ebp
439ac0:	8b ec                	mov    %esp,%ebp
439ac2:	51                   	push   %ecx
439ac3:	53                   	push   %ebx
439ac4:	56                   	push   %esi
439ac5:	8b 75 08             	mov    0x8(%ebp),%esi
439ac8:	8b c2                	mov    %edx,%eax
439aca:	57                   	push   %edi
439acb:	89 45 fc             	mov    %eax,-0x4(%ebp)
439ace:	8b d9                	mov    %ecx,%ebx
439ad0:	85 f6                	test   %esi,%esi
439ad2:	74 06                	je     0x439ada
439ad4:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
439ada:	50                   	push   %eax
439adb:	53                   	push   %ebx
439adc:	ff 15 1c d8 48 00    	call   *0x48d81c
439ae2:	8b f8                	mov    %eax,%edi
439ae4:	85 ff                	test   %edi,%edi
439ae6:	78 35                	js     0x439b1d
439ae8:	85 f6                	test   %esi,%esi
439aea:	74 3d                	je     0x439b29
439aec:	83 65 08 00          	andl   $0x0,0x8(%ebp)
439af0:	8d 45 08             	lea    0x8(%ebp),%eax
439af3:	50                   	push   %eax
439af4:	ff 75 fc             	push   -0x4(%ebp)
439af7:	ff 15 18 d8 48 00    	call   *0x48d818
439afd:	85 c0                	test   %eax,%eax
439aff:	78 28                	js     0x439b29
439b01:	ff 75 08             	push   0x8(%ebp)
439b04:	53                   	push   %ebx
439b05:	ff 15 24 d3 48 00    	call   *0x48d324
439b0b:	85 c0                	test   %eax,%eax
439b0d:	74 03                	je     0x439b12
439b0f:	83 26 00             	andl   $0x0,(%esi)
439b12:	ff 75 08             	push   0x8(%ebp)
439b15:	ff 15 10 d8 48 00    	call   *0x48d810
439b1b:	eb 0c                	jmp    0x439b29
439b1d:	ff 75 fc             	push   -0x4(%ebp)
439b20:	53                   	push   %ebx
439b21:	ff 15 14 d8 48 00    	call   *0x48d814
439b27:	8b f8                	mov    %eax,%edi
439b29:	8b c7                	mov    %edi,%eax
439b2b:	5f                   	pop    %edi
439b2c:	5e                   	pop    %esi
439b2d:	5b                   	pop    %ebx
439b2e:	c9                   	leave
439b2f:	c3                   	ret
439b30:	55                   	push   %ebp
439b31:	8b ec                	mov    %esp,%ebp
439b33:	83 ec 18             	sub    $0x18,%esp
439b36:	53                   	push   %ebx
439b37:	8b 5d 10             	mov    0x10(%ebp),%ebx
439b3a:	56                   	push   %esi
439b3b:	57                   	push   %edi
439b3c:	8b fa                	mov    %edx,%edi
439b3e:	8d 55 fc             	lea    -0x4(%ebp),%edx
439b41:	52                   	push   %edx
439b42:	33 f6                	xor    %esi,%esi
439b44:	33 c0                	xor    %eax,%eax
439b46:	68 00 08 00 00       	push   $0x800
439b4b:	89 43 0c             	mov    %eax,0xc(%ebx)
439b4e:	8b 01                	mov    (%ecx),%eax
439b50:	56                   	push   %esi
439b51:	51                   	push   %ecx
439b52:	89 33                	mov    %esi,(%ebx)
439b54:	89 75 fc             	mov    %esi,-0x4(%ebp)
439b57:	ff 50 10             	call   *0x10(%eax)
439b5a:	8b f0                	mov    %eax,%esi
439b5c:	85 f6                	test   %esi,%esi
439b5e:	0f 88 e8 02 00 00    	js     0x439e4c
439b64:	6a 00                	push   $0x0
439b66:	8d 4d fc             	lea    -0x4(%ebp),%ecx
439b69:	e8 5b fe ff ff       	call   0x4399c9
439b6e:	84 c0                	test   %al,%al
439b70:	74 0a                	je     0x439b7c
439b72:	be 01 40 00 80       	mov    $0x80004001,%esi
439b77:	e9 d0 02 00 00       	jmp    0x439e4c
439b7c:	8b 45 fc             	mov    -0x4(%ebp),%eax
439b7f:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
439b83:	8b 08                	mov    (%eax),%ecx
439b85:	8d 55 f4             	lea    -0xc(%ebp),%edx
439b88:	52                   	push   %edx
439b89:	50                   	push   %eax
439b8a:	ff 51 0c             	call   *0xc(%ecx)
439b8d:	8b f0                	mov    %eax,%esi
439b8f:	85 f6                	test   %esi,%esi
439b91:	0f 88 b5 02 00 00    	js     0x439e4c
439b97:	8b 55 f4             	mov    -0xc(%ebp),%edx
439b9a:	83 7a 28 03          	cmpl   $0x3,0x28(%edx)
439b9e:	75 7a                	jne    0x439c1a
439ba0:	f6 42 36 40          	testb  $0x40,0x36(%edx)
439ba4:	74 74                	je     0x439c1a
439ba6:	8b 45 fc             	mov    -0x4(%ebp),%eax
439ba9:	52                   	push   %edx
439baa:	8b 08                	mov    (%eax),%ecx
439bac:	50                   	push   %eax
439bad:	ff 51 4c             	call   *0x4c(%ecx)
439bb0:	8b 45 fc             	mov    -0x4(%ebp),%eax
439bb3:	8d 55 e8             	lea    -0x18(%ebp),%edx
439bb6:	8b 08                	mov    (%eax),%ecx
439bb8:	52                   	push   %edx
439bb9:	6a ff                	push   $0xffffffff
439bbb:	50                   	push   %eax
439bbc:	ff 51 20             	call   *0x20(%ecx)
439bbf:	85 c0                	test   %eax,%eax
439bc1:	0f 88 15 01 00 00    	js     0x439cdc
439bc7:	8b 45 fc             	mov    -0x4(%ebp),%eax
439bca:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
439bce:	8b 08                	mov    (%eax),%ecx
439bd0:	8d 55 f0             	lea    -0x10(%ebp),%edx
439bd3:	52                   	push   %edx
439bd4:	ff 75 e8             	push   -0x18(%ebp)
439bd7:	50                   	push   %eax
439bd8:	ff 51 38             	call   *0x38(%ecx)
439bdb:	85 c0                	test   %eax,%eax
439bdd:	79 07                	jns    0x439be6
439bdf:	be 05 40 00 80       	mov    $0x80004005,%esi
439be4:	eb 1f                	jmp    0x439c05
439be6:	8d 45 f0             	lea    -0x10(%ebp),%eax
439be9:	50                   	push   %eax
439bea:	8d 4d fc             	lea    -0x4(%ebp),%ecx
439bed:	e8 9e fd ff ff       	call   0x439990
439bf2:	8b 45 fc             	mov    -0x4(%ebp),%eax
439bf5:	8d 55 f4             	lea    -0xc(%ebp),%edx
439bf8:	8b 08                	mov    (%eax),%ecx
439bfa:	52                   	push   %edx
439bfb:	50                   	push   %eax
439bfc:	ff 51 0c             	call   *0xc(%ecx)
439bff:	8b f0                	mov    %eax,%esi
439c01:	85 f6                	test   %esi,%esi
439c03:	79 0d                	jns    0x439c12
439c05:	8d 4d f0             	lea    -0x10(%ebp),%ecx
439c08:	e8 76 fd ff ff       	call   0x439983
439c0d:	e9 3a 02 00 00       	jmp    0x439e4c
439c12:	8d 4d f0             	lea    -0x10(%ebp),%ecx
439c15:	e8 69 fd ff ff       	call   0x439983
439c1a:	8b 45 fc             	mov    -0x4(%ebp),%eax
439c1d:	83 4d ec ff          	orl    $0xffffffff,-0x14(%ebp)
439c21:	8b 08                	mov    (%eax),%ecx
439c23:	8d 55 ec             	lea    -0x14(%ebp),%edx
439c26:	52                   	push   %edx
439c27:	6a 01                	push   $0x1
439c29:	8d 55 08             	lea    0x8(%ebp),%edx
439c2c:	52                   	push   %edx
439c2d:	50                   	push   %eax
439c2e:	ff 51 28             	call   *0x28(%ecx)
439c31:	85 c0                	test   %eax,%eax
439c33:	79 2c                	jns    0x439c61
439c35:	8b 45 fc             	mov    -0x4(%ebp),%eax
439c38:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
439c3c:	8b 08                	mov    (%eax),%ecx
439c3e:	8d 55 e8             	lea    -0x18(%ebp),%edx
439c41:	52                   	push   %edx
439c42:	6a 01                	push   $0x1
439c44:	8d 55 f0             	lea    -0x10(%ebp),%edx
439c47:	52                   	push   %edx
439c48:	57                   	push   %edi
439c49:	50                   	push   %eax
439c4a:	ff 51 1c             	call   *0x1c(%ecx)
439c4d:	85 c0                	test   %eax,%eax
439c4f:	0f 88 91 00 00 00    	js     0x439ce6
439c55:	ff 75 f0             	push   -0x10(%ebp)
439c58:	ff 15 0c d4 48 00    	call   *0x48d40c
439c5e:	89 7d ec             	mov    %edi,-0x14(%ebp)
439c61:	8b 45 f4             	mov    -0xc(%ebp),%eax
439c64:	33 c9                	xor    %ecx,%ecx
439c66:	33 ff                	xor    %edi,%edi
439c68:	66 3b 48 2c          	cmp    0x2c(%eax),%cx
439c6c:	73 43                	jae    0x439cb1
439c6e:	8b 45 fc             	mov    -0x4(%ebp),%eax
439c71:	8d 4d f8             	lea    -0x8(%ebp),%ecx
439c74:	8b 10                	mov    (%eax),%edx
439c76:	51                   	push   %ecx
439c77:	0f b7 cf             	movzwl %di,%ecx
439c7a:	51                   	push   %ecx
439c7b:	50                   	push   %eax
439c7c:	ff 52 14             	call   *0x14(%edx)
439c7f:	8b f0                	mov    %eax,%esi
439c81:	85 f6                	test   %esi,%esi
439c83:	0f 88 e6 00 00 00    	js     0x439d6f
439c89:	8b 55 f8             	mov    -0x8(%ebp),%edx
439c8c:	f6 42 10 03          	testb  $0x3,0x10(%edx)
439c90:	74 07                	je     0x439c99
439c92:	8b 02                	mov    (%edx),%eax
439c94:	3b 45 ec             	cmp    -0x14(%ebp),%eax
439c97:	74 18                	je     0x439cb1
439c99:	8b 45 fc             	mov    -0x4(%ebp),%eax
439c9c:	52                   	push   %edx
439c9d:	8b 08                	mov    (%eax),%ecx
439c9f:	50                   	push   %eax
439ca0:	ff 51 50             	call   *0x50(%ecx)
439ca3:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
439ca7:	8b 45 f4             	mov    -0xc(%ebp),%eax
439caa:	47                   	inc    %edi
439cab:	66 3b 78 2c          	cmp    0x2c(%eax),%di
439caf:	72 bd                	jb     0x439c6e
439cb1:	8b 45 fc             	mov    -0x4(%ebp),%eax
439cb4:	ff 75 f4             	push   -0xc(%ebp)
439cb7:	8b 08                	mov    (%eax),%ecx
439cb9:	50                   	push   %eax
439cba:	ff 51 4c             	call   *0x4c(%ecx)
439cbd:	8b 55 f8             	mov    -0x8(%ebp),%edx
439cc0:	85 d2                	test   %edx,%edx
439cc2:	74 18                	je     0x439cdc
439cc4:	0f b7 42 18          	movzwl 0x18(%edx),%eax
439cc8:	66 83 f8 20          	cmp    $0x20,%ax
439ccc:	0f 8e ae 00 00 00    	jle    0x439d80
439cd2:	8b 45 fc             	mov    -0x4(%ebp),%eax
439cd5:	52                   	push   %edx
439cd6:	8b 08                	mov    (%eax),%ecx
439cd8:	50                   	push   %eax
439cd9:	ff 51 50             	call   *0x50(%ecx)
439cdc:	be 05 40 00 80       	mov    $0x80004005,%esi
439ce1:	e9 66 01 00 00       	jmp    0x439e4c
439ce6:	8b 45 f4             	mov    -0xc(%ebp),%eax
439ce9:	33 c9                	xor    %ecx,%ecx
439ceb:	33 ff                	xor    %edi,%edi
439ced:	66 3b 48 2c          	cmp    0x2c(%eax),%cx
439cf1:	73 be                	jae    0x439cb1
439cf3:	8b 1d 0c d4 48 00    	mov    0x48d40c,%ebx
439cf9:	8b 45 fc             	mov    -0x4(%ebp),%eax
439cfc:	8d 4d f8             	lea    -0x8(%ebp),%ecx
439cff:	8b 10                	mov    (%eax),%edx
439d01:	51                   	push   %ecx
439d02:	0f b7 cf             	movzwl %di,%ecx
439d05:	51                   	push   %ecx
439d06:	50                   	push   %eax
439d07:	ff 52 14             	call   *0x14(%edx)
439d0a:	8b f0                	mov    %eax,%esi
439d0c:	8b 45 fc             	mov    -0x4(%ebp),%eax
439d0f:	85 f6                	test   %esi,%esi
439d11:	78 5f                	js     0x439d72
439d13:	8b 10                	mov    (%eax),%edx
439d15:	6a 00                	push   $0x0
439d17:	6a 00                	push   $0x0
439d19:	6a 00                	push   $0x0
439d1b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
439d1e:	51                   	push   %ecx
439d1f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
439d22:	ff 31                	push   (%ecx)
439d24:	50                   	push   %eax
439d25:	ff 52 30             	call   *0x30(%edx)
439d28:	8b 45 f8             	mov    -0x8(%ebp),%eax
439d2b:	f6 40 10 03          	testb  $0x3,0x10(%eax)
439d2f:	74 10                	je     0x439d41
439d31:	ff 75 08             	push   0x8(%ebp)
439d34:	ff 75 f0             	push   -0x10(%ebp)
439d37:	ff 15 24 d3 48 00    	call   *0x48d324
439d3d:	85 c0                	test   %eax,%eax
439d3f:	74 21                	je     0x439d62
439d41:	ff 75 f0             	push   -0x10(%ebp)