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)
439d44:	ff d3                	call   *%ebx
439d46:	8b 45 fc             	mov    -0x4(%ebp),%eax
439d49:	ff 75 f8             	push   -0x8(%ebp)
439d4c:	8b 08                	mov    (%eax),%ecx
439d4e:	50                   	push   %eax
439d4f:	ff 51 50             	call   *0x50(%ecx)
439d52:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
439d56:	8b 45 f4             	mov    -0xc(%ebp),%eax
439d59:	47                   	inc    %edi
439d5a:	66 3b 78 2c          	cmp    0x2c(%eax),%di
439d5e:	72 99                	jb     0x439cf9
439d60:	eb 05                	jmp    0x439d67
439d62:	ff 75 f0             	push   -0x10(%ebp)
439d65:	ff d3                	call   *%ebx
439d67:	8b 5d 10             	mov    0x10(%ebp),%ebx
439d6a:	e9 42 ff ff ff       	jmp    0x439cb1
439d6f:	8b 45 fc             	mov    -0x4(%ebp),%eax
439d72:	ff 75 f4             	push   -0xc(%ebp)
439d75:	8b 08                	mov    (%eax),%ecx
439d77:	50                   	push   %eax
439d78:	ff 51 4c             	call   *0x4c(%ecx)
439d7b:	e9 cc 00 00 00       	jmp    0x439e4c
439d80:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
439d84:	33 c9                	xor    %ecx,%ecx
439d86:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
439d8c:	66 3b c8             	cmp    %ax,%cx
439d8f:	7d 74                	jge    0x439e05
439d91:	33 ff                	xor    %edi,%edi
439d93:	8d 73 10             	lea    0x10(%ebx),%esi
439d96:	8b 5a 08             	mov    0x8(%edx),%ebx
439d99:	0f b7 44 3b 04       	movzwl 0x4(%ebx,%edi,1),%eax
439d9e:	66 89 06             	mov    %ax,(%esi)
439da1:	83 f8 1a             	cmp    $0x1a,%eax
439da4:	75 0f                	jne    0x439db5
439da6:	8b 04 3b             	mov    (%ebx,%edi,1),%eax
439da9:	b9 00 40 00 00       	mov    $0x4000,%ecx
439dae:	66 0b 48 04          	or     0x4(%eax),%cx
439db2:	66 89 0e             	mov    %cx,(%esi)
439db5:	66 83 3e 1b          	cmpw   $0x1b,(%esi)
439db9:	75 0f                	jne    0x439dca
439dbb:	8b 04 3b             	mov    (%ebx,%edi,1),%eax
439dbe:	b9 00 20 00 00       	mov    $0x2000,%ecx
439dc3:	66 0b 48 04          	or     0x4(%eax),%cx
439dc7:	66 89 0e             	mov    %cx,(%esi)
439dca:	66 83 3e 1d          	cmpw   $0x1d,(%esi)
439dce:	75 11                	jne    0x439de1
439dd0:	8b 14 3b             	mov    (%ebx,%edi,1),%edx
439dd3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
439dd6:	e8 17 fc ff ff       	call   0x4399f2
439ddb:	8b 55 f8             	mov    -0x8(%ebp),%edx
439dde:	66 89 06             	mov    %ax,(%esi)
439de1:	8b 42 08             	mov    0x8(%edx),%eax
439de4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
439de7:	66 8b 44 38 0c       	mov    0xc(%eax,%edi,1),%ax
439dec:	66 89 46 02          	mov    %ax,0x2(%esi)
439df0:	0f bf 42 18          	movswl 0x18(%edx),%eax
439df4:	41                   	inc    %ecx
439df5:	83 c7 10             	add    $0x10,%edi
439df8:	83 c6 04             	add    $0x4,%esi
439dfb:	89 4d f0             	mov    %ecx,-0x10(%ebp)
439dfe:	3b c8                	cmp    %eax,%ecx
439e00:	7c 94                	jl     0x439d96
439e02:	8b 5d 10             	mov    0x10(%ebp),%ebx
439e05:	0f b7 4a 24          	movzwl 0x24(%edx),%ecx
439e09:	8b c1                	mov    %ecx,%eax
439e0b:	83 e8 16             	sub    $0x16,%eax
439e0e:	74 15                	je     0x439e25
439e10:	48                   	dec    %eax
439e11:	74 0e                	je     0x439e21
439e13:	48                   	dec    %eax
439e14:	74 07                	je     0x439e1d
439e16:	48                   	dec    %eax
439e17:	75 0f                	jne    0x439e28
439e19:	6a 0a                	push   $0xa
439e1b:	eb 0a                	jmp    0x439e27
439e1d:	33 c9                	xor    %ecx,%ecx
439e1f:	eb 07                	jmp    0x439e28
439e21:	6a 13                	push   $0x13
439e23:	eb 02                	jmp    0x439e27
439e25:	6a 03                	push   $0x3
439e27:	59                   	pop    %ecx
439e28:	8b 42 10             	mov    0x10(%edx),%eax
439e2b:	89 43 04             	mov    %eax,0x4(%ebx)
439e2e:	8b 42 14             	mov    0x14(%edx),%eax
439e31:	89 43 08             	mov    %eax,0x8(%ebx)
439e34:	66 8b 42 18          	mov    0x18(%edx),%ax
439e38:	66 89 43 0e          	mov    %ax,0xe(%ebx)
439e3c:	8b 45 fc             	mov    -0x4(%ebp),%eax
439e3f:	66 89 4b 0c          	mov    %cx,0xc(%ebx)
439e43:	8b 08                	mov    (%eax),%ecx
439e45:	52                   	push   %edx
439e46:	50                   	push   %eax
439e47:	ff 51 50             	call   *0x50(%ecx)
439e4a:	33 f6                	xor    %esi,%esi
439e4c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
439e4f:	e8 2f fb ff ff       	call   0x439983
439e54:	5f                   	pop    %edi
439e55:	8b c6                	mov    %esi,%eax
439e57:	5e                   	pop    %esi
439e58:	5b                   	pop    %ebx
439e59:	c9                   	leave
439e5a:	c3                   	ret
439e5b:	55                   	push   %ebp
439e5c:	8b ec                	mov    %esp,%ebp
439e5e:	51                   	push   %ecx
439e5f:	53                   	push   %ebx
439e60:	56                   	push   %esi
439e61:	57                   	push   %edi
439e62:	8b fa                	mov    %edx,%edi
439e64:	33 f6                	xor    %esi,%esi
439e66:	8b d9                	mov    %ecx,%ebx
439e68:	85 ff                	test   %edi,%edi
439e6a:	74 3b                	je     0x439ea7
439e6c:	57                   	push   %edi
439e6d:	e8 69 6e fe ff       	call   0x420cdb
439e72:	59                   	pop    %ecx
439e73:	85 c0                	test   %eax,%eax
439e75:	74 30                	je     0x439ea7
439e77:	8b cf                	mov    %edi,%ecx
439e79:	e8 76 28 fe ff       	call   0x41c6f4
439e7e:	ff 75 08             	push   0x8(%ebp)
439e81:	8d 4d fc             	lea    -0x4(%ebp),%ecx
439e84:	68 00 08 00 00       	push   $0x800
439e89:	6a 01                	push   $0x1
439e8b:	51                   	push   %ecx
439e8c:	89 45 fc             	mov    %eax,-0x4(%ebp)
439e8f:	8b 03                	mov    (%ebx),%eax
439e91:	68 3c d9 48 00       	push   $0x48d93c
439e96:	53                   	push   %ebx
439e97:	ff 50 14             	call   *0x14(%eax)
439e9a:	ff 75 fc             	push   -0x4(%ebp)
439e9d:	8b f0                	mov    %eax,%esi
439e9f:	e8 3c 6f fe ff       	call   0x420de0
439ea4:	59                   	pop    %ecx
439ea5:	eb 05                	jmp    0x439eac
439ea7:	8b 45 08             	mov    0x8(%ebp),%eax
439eaa:	89 30                	mov    %esi,(%eax)
439eac:	5f                   	pop    %edi
439ead:	8b c6                	mov    %esi,%eax
439eaf:	5e                   	pop    %esi
439eb0:	5b                   	pop    %ebx
439eb1:	c9                   	leave
439eb2:	c3                   	ret
439eb3:	55                   	push   %ebp
439eb4:	8b ec                	mov    %esp,%ebp
439eb6:	83 ec 54             	sub    $0x54,%esp
439eb9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
439ebd:	53                   	push   %ebx
439ebe:	56                   	push   %esi
439ebf:	57                   	push   %edi
439ec0:	be 3c d9 48 00       	mov    $0x48d93c,%esi
439ec5:	8d 7d ac             	lea    -0x54(%ebp),%edi
439ec8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
439ec9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
439eca:	8b d9                	mov    %ecx,%ebx
439ecc:	8d 4d d8             	lea    -0x28(%ebp),%ecx
439ecf:	8b 03                	mov    (%ebx),%eax
439ed1:	51                   	push   %ecx
439ed2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
439ed3:	68 8c d9 48 00       	push   $0x48d98c
439ed8:	53                   	push   %ebx
439ed9:	89 55 cc             	mov    %edx,-0x34(%ebp)
439edc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
439edd:	ff 10                	call   *(%eax)
439edf:	8d 4d fc             	lea    -0x4(%ebp),%ecx
439ee2:	51                   	push   %ecx
439ee3:	85 c0                	test   %eax,%eax
439ee5:	78 13                	js     0x439efa
439ee7:	8b 75 d8             	mov    -0x28(%ebp),%esi
439eea:	56                   	push   %esi
439eeb:	8b 06                	mov    (%esi),%eax
439eed:	ff 50 0c             	call   *0xc(%eax)
439ef0:	8b 0e                	mov    (%esi),%ecx
439ef2:	56                   	push   %esi
439ef3:	8b f8                	mov    %eax,%edi