443c74:	ab                   	stos   %eax,%es:(%edi)
443c75:	ab                   	stos   %eax,%es:(%edi)
443c76:	8d 45 ec             	lea    -0x14(%ebp),%eax
443c79:	50                   	push   %eax
443c7a:	68 ac 66 46 00       	push   $0x4666ac
443c7f:	ff 15 c8 b3 44 00    	call   *0x44b3c8
443c85:	85 c0                	test   %eax,%eax
443c87:	78 14                	js     0x443c9d
443c89:	56                   	push   %esi
443c8a:	68 3c 6f 46 00       	push   $0x466f3c
443c8f:	6a 01                	push   $0x1
443c91:	6a 00                	push   $0x0
443c93:	8d 45 ec             	lea    -0x14(%ebp),%eax
443c96:	50                   	push   %eax
443c97:	ff 15 bc b3 44 00    	call   *0x44b3bc
443c9d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
443ca0:	5f                   	pop    %edi
443ca1:	33 cd                	xor    %ebp,%ecx
443ca3:	5e                   	pop    %esi
443ca4:	e8 8d a1 fe ff       	call   0x42de36
443ca9:	8b e5                	mov    %ebp,%esp
443cab:	5d                   	pop    %ebp
443cac:	c2 04 00             	ret    $0x4
443caf:	55                   	push   %ebp
443cb0:	8b ec                	mov    %esp,%ebp
443cb2:	51                   	push   %ecx
443cb3:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
443cb7:	8d 45 fc             	lea    -0x4(%ebp),%eax
443cba:	56                   	push   %esi
443cbb:	50                   	push   %eax
443cbc:	e8 97 ff ff ff       	call   0x443c58
443cc1:	8b f0                	mov    %eax,%esi
443cc3:	85 f6                	test   %esi,%esi
443cc5:	78 0b                	js     0x443cd2
443cc7:	8b 45 fc             	mov    -0x4(%ebp),%eax
443cca:	50                   	push   %eax
443ccb:	8b 08                	mov    (%eax),%ecx
443ccd:	ff 51 20             	call   *0x20(%ecx)
443cd0:	8b f0                	mov    %eax,%esi
443cd2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
443cd5:	85 c9                	test   %ecx,%ecx
443cd7:	74 06                	je     0x443cdf
443cd9:	8b 01                	mov    (%ecx),%eax
443cdb:	51                   	push   %ecx
443cdc:	ff 50 08             	call   *0x8(%eax)
443cdf:	8b c6                	mov    %esi,%eax
443ce1:	5e                   	pop    %esi
443ce2:	8b e5                	mov    %ebp,%esp
443ce4:	5d                   	pop    %ebp
443ce5:	c3                   	ret
443ce6:	55                   	push   %ebp
443ce7:	8b ec                	mov    %esp,%ebp
443ce9:	51                   	push   %ecx
443cea:	51                   	push   %ecx
443ceb:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
443cef:	8d 45 f8             	lea    -0x8(%ebp),%eax
443cf2:	56                   	push   %esi
443cf3:	50                   	push   %eax
443cf4:	68 90 66 46 00       	push   $0x466690
443cf9:	6a 01                	push   $0x1
443cfb:	6a 00                	push   $0x0
443cfd:	68 80 66 46 00       	push   $0x466680
443d02:	ff 15 bc b3 44 00    	call   *0x44b3bc
443d08:	8b f0                	mov    %eax,%esi
443d0a:	85 f6                	test   %esi,%esi
443d0c:	79 0f                	jns    0x443d1d
443d0e:	56                   	push   %esi
443d0f:	6a 3a                	push   $0x3a
443d11:	68 a0 66 46 00       	push   $0x4666a0
443d16:	e8 b8 fa fb ff       	call   0x4037d3
443d1b:	eb 28                	jmp    0x443d45
443d1d:	8b 45 f8             	mov    -0x8(%ebp),%eax
443d20:	8d 55 fc             	lea    -0x4(%ebp),%edx
443d23:	52                   	push   %edx
443d24:	50                   	push   %eax
443d25:	8b 08                	mov    (%eax),%ecx
443d27:	ff 51 20             	call   *0x20(%ecx)
443d2a:	8b f0                	mov    %eax,%esi
443d2c:	85 f6                	test   %esi,%esi
443d2e:	79 05                	jns    0x443d35
443d30:	56                   	push   %esi
443d31:	6a 3d                	push   $0x3d
443d33:	eb dc                	jmp    0x443d11
443d35:	33 c0                	xor    %eax,%eax
443d37:	33 c9                	xor    %ecx,%ecx
443d39:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
443d3d:	8b 45 08             	mov    0x8(%ebp),%eax
443d40:	0f 95 c1             	setne  %cl
443d43:	89 08                	mov    %ecx,(%eax)
443d45:	8b 4d f8             	mov    -0x8(%ebp),%ecx
443d48:	85 c9                	test   %ecx,%ecx
443d4a:	74 06                	je     0x443d52
443d4c:	8b 01                	mov    (%ecx),%eax
443d4e:	51                   	push   %ecx
443d4f:	ff 50 08             	call   *0x8(%eax)
443d52:	8b c6                	mov    %esi,%eax
443d54:	5e                   	pop    %esi
443d55:	8b e5                	mov    %ebp,%esp
443d57:	5d                   	pop    %ebp
443d58:	c2 04 00             	ret    $0x4
443d5b:	55                   	push   %ebp
443d5c:	8b ec                	mov    %esp,%ebp
443d5e:	51                   	push   %ecx
443d5f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
443d63:	8d 45 fc             	lea    -0x4(%ebp),%eax
443d66:	56                   	push   %esi
443d67:	50                   	push   %eax
443d68:	e8 eb fe ff ff       	call   0x443c58
443d6d:	8b f0                	mov    %eax,%esi
443d6f:	85 f6                	test   %esi,%esi
443d71:	78 0b                	js     0x443d7e
443d73:	8b 45 fc             	mov    -0x4(%ebp),%eax
443d76:	50                   	push   %eax
443d77:	8b 08                	mov    (%eax),%ecx
443d79:	ff 51 24             	call   *0x24(%ecx)
443d7c:	8b f0                	mov    %eax,%esi
443d7e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
443d81:	85 c9                	test   %ecx,%ecx
443d83:	74 06                	je     0x443d8b
443d85:	8b 01                	mov    (%ecx),%eax
443d87:	51                   	push   %ecx
443d88:	ff 50 08             	call   *0x8(%eax)
443d8b:	8b c6                	mov    %esi,%eax
443d8d:	5e                   	pop    %esi
443d8e:	8b e5                	mov    %ebp,%esp
443d90:	5d                   	pop    %ebp
443d91:	c3                   	ret
443d92:	55                   	push   %ebp
443d93:	8b ec                	mov    %esp,%ebp
443d95:	8b 4d 08             	mov    0x8(%ebp),%ecx
443d98:	8b 45 10             	mov    0x10(%ebp),%eax
443d9b:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
443d9e:	72 09                	jb     0x443da9
443da0:	2b 4d 0c             	sub    0xc(%ebp),%ecx
443da3:	89 08                	mov    %ecx,(%eax)
443da5:	33 c0                	xor    %eax,%eax
443da7:	eb 08                	jmp    0x443db1
443da9:	83 08 ff             	orl    $0xffffffff,(%eax)
443dac:	b8 16 02 07 80       	mov    $0x80070216,%eax
443db1:	5d                   	pop    %ebp
443db2:	c2 0c 00             	ret    $0xc
443db5:	55                   	push   %ebp
443db6:	8b ec                	mov    %esp,%ebp
443db8:	b8 18 10 00 00       	mov    $0x1018,%eax
443dbd:	e8 3e 61 00 00       	call   0x449f00
443dc2:	a1 08 a0 46 00       	mov    0x46a008,%eax
443dc7:	33 c5                	xor    %ebp,%eax
443dc9:	89 45 fc             	mov    %eax,-0x4(%ebp)
443dcc:	8b 45 08             	mov    0x8(%ebp),%eax
443dcf:	0f 57 c0             	xorps  %xmm0,%xmm0
443dd2:	53                   	push   %ebx
443dd3:	8b 5d 18             	mov    0x18(%ebp),%ebx
443dd6:	56                   	push   %esi
443dd7:	66 0f 13 85 f4 ef ff 	movlpd %xmm0,-0x100c(%ebp)
443dde:	ff
443ddf:	33 f6                	xor    %esi,%esi
443de1:	8b 8d f8 ef ff ff    	mov    -0x1008(%ebp),%ecx
443de7:	89 85 ec ef ff ff    	mov    %eax,-0x1014(%ebp)
443ded:	8b 45 0c             	mov    0xc(%ebp),%eax
443df0:	57                   	push   %edi
443df1:	8b bd f4 ef ff ff    	mov    -0x100c(%ebp),%edi
443df7:	89 85 e8 ef ff ff    	mov    %eax,-0x1018(%ebp)
443dfd:	89 8d f0 ef ff ff    	mov    %ecx,-0x1010(%ebp)
443e03:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
443e07:	75 0d                	jne    0x443e16
443e09:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
443e0d:	75 07                	jne    0x443e16
443e0f:	b8 00 10 00 00       	mov    $0x1000,%eax
443e14:	eb 2b                	jmp    0x443e41
443e16:	8b 45 10             	mov    0x10(%ebp),%eax
443e19:	8b 55 14             	mov    0x14(%ebp),%edx
443e1c:	2b c7                	sub    %edi,%eax
443e1e:	1b d1                	sbb    %ecx,%edx
443e20:	85 d2                	test   %edx,%edx
443e22:	72 17                	jb     0x443e3b
443e24:	77 07                	ja     0x443e2d
443e26:	3d 00 10 00 00       	cmp    $0x1000,%eax
443e2b:	76 0e                	jbe    0x443e3b
443e2d:	83 a5 f8 ef ff ff 00 	andl   $0x0,-0x1008(%ebp)
443e34:	b8 00 10 00 00       	mov    $0x1000,%eax
443e39:	eb 06                	jmp    0x443e41
443e3b:	89 95 f8 ef ff ff    	mov    %edx,-0x1008(%ebp)
443e41:	6a 00                	push   $0x0
443e43:	8d 8d f8 ef ff ff    	lea    -0x1008(%ebp),%ecx
443e49:	89 85 f8 ef ff ff    	mov    %eax,-0x1008(%ebp)
443e4f:	51                   	push   %ecx
443e50:	50                   	push   %eax
443e51:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
443e57:	50                   	push   %eax
443e58:	ff b5 ec ef ff ff    	push   -0x1014(%ebp)
443e5e:	ff 15 ec b1 44 00    	call   *0x44b1ec
443e64:	85 c0                	test   %eax,%eax
443e66:	74 59                	je     0x443ec1
443e68:	8b 85 f8 ef ff ff    	mov    -0x1008(%ebp),%eax
443e6e:	85 c0                	test   %eax,%eax
443e70:	74 1f                	je     0x443e91
443e72:	50                   	push   %eax
443e73:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
443e79:	50                   	push   %eax
443e7a:	ff b5 e8 ef ff ff    	push   -0x1018(%ebp)
443e80:	e8 69 0e 00 00       	call   0x444cee
443e85:	8b f0                	mov    %eax,%esi
443e87:	85 f6                	test   %esi,%esi
443e89:	78 64                	js     0x443eef
443e8b:	8b 85 f8 ef ff ff    	mov    -0x1008(%ebp),%eax
443e91:	8b 8d f0 ef ff ff    	mov    -0x1010(%ebp),%ecx
443e97:	03 f8                	add    %eax,%edi
443e99:	83 d1 00             	adc    $0x0,%ecx
443e9c:	89 8d f0 ef ff ff    	mov    %ecx,-0x1010(%ebp)
443ea2:	3b 4d 14             	cmp    0x14(%ebp),%ecx
443ea5:	77 0f                	ja     0x443eb6
443ea7:	72 05                	jb     0x443eae
443ea9:	3b 7d 10             	cmp    0x10(%ebp),%edi
443eac:	73 08                	jae    0x443eb6
443eae:	85 c0                	test   %eax,%eax
443eb0:	0f 85 4d ff ff ff    	jne    0x443e03
443eb6:	85 db                	test   %ebx,%ebx
443eb8:	74 35                	je     0x443eef
443eba:	89 3b                	mov    %edi,(%ebx)
443ebc:	89 4b 04             	mov    %ecx,0x4(%ebx)
443ebf:	eb 2e                	jmp    0x443eef
443ec1:	ff 15 e8 b0 44 00    	call   *0x44b0e8
443ec7:	0f b7 f0             	movzwl %ax,%esi
443eca:	81 ce 00 00 07 80    	or     $0x80070000,%esi
443ed0:	85 c0                	test   %eax,%eax
443ed2:	0f 4e f0             	cmovle %eax,%esi
443ed5:	b8 05 40 00 80       	mov    $0x80004005,%eax
443eda:	85 f6                	test   %esi,%esi
443edc:	0f 49 f0             	cmovns %eax,%esi
443edf:	56                   	push   %esi
443ee0:	68 07 04 00 00       	push   $0x407
443ee5:	68 8c 67 46 00       	push   $0x46678c
443eea:	e8 e4 f8 fb ff       	call   0x4037d3
443eef:	8b 4d fc             	mov    -0x4(%ebp),%ecx
443ef2:	8b c6                	mov    %esi,%eax
443ef4:	5f                   	pop    %edi
443ef5:	5e                   	pop    %esi
443ef6:	33 cd                	xor    %ebp,%ecx
443ef8:	5b                   	pop    %ebx
443ef9:	e8 38 9f fe ff       	call   0x42de36
443efe:	8b e5                	mov    %ebp,%esp
443f00:	5d                   	pop    %ebp
443f01:	c2 14 00             	ret    $0x14
443f04:	55                   	push   %ebp
443f05:	8b ec                	mov    %esp,%ebp
443f07:	53                   	push   %ebx
443f08:	8b 5d 0c             	mov    0xc(%ebp),%ebx
443f0b:	33 c0                	xor    %eax,%eax
443f0d:	56                   	push   %esi
443f0e:	57                   	push   %edi
443f0f:	8b 7d 10             	mov    0x10(%ebp),%edi
443f12:	33 f6                	xor    %esi,%esi
443f14:	85 ff                	test   %edi,%edi
443f16:	0f 94 c0             	sete   %al
443f19:	50                   	push   %eax
443f1a:	53                   	push   %ebx
443f1b:	ff 75 08             	push   0x8(%ebp)
443f1e:	ff 15 a4 b2 44 00    	call   *0x44b2a4
443f24:	85 c0                	test   %eax,%eax
443f26:	0f 85 af 00 00 00    	jne    0x443fdb
443f2c:	ff 15 e8 b0 44 00    	call   *0x44b0e8
443f32:	85 ff                	test   %edi,%edi
443f34:	75 14                	jne    0x443f4a
443f36:	83 f8 50             	cmp    $0x50,%eax
443f39:	74 07                	je     0x443f42
443f3b:	3d b7 00 00 00       	cmp    $0xb7,%eax
443f40:	75 08                	jne    0x443f4a
443f42:	33 f6                	xor    %esi,%esi
443f44:	46                   	inc    %esi
443f45:	e9 91 00 00 00       	jmp    0x443fdb
443f4a:	83 f8 03             	cmp    $0x3,%eax
443f4d:	75 7e                	jne    0x443fcd
443f4f:	0f b7 03             	movzwl (%ebx),%eax
443f52:	8b fe                	mov    %esi,%edi
443f54:	8b cb                	mov    %ebx,%ecx
443f56:	66 85 c0             	test   %ax,%ax
443f59:	74 6b                	je     0x443fc6
443f5b:	6a 5c                	push   $0x5c
443f5d:	5a                   	pop    %edx
443f5e:	66 3b c2             	cmp    %dx,%ax
443f61:	0f 44 f9             	cmove  %ecx,%edi
443f64:	83 c1 02             	add    $0x2,%ecx
443f67:	0f b7 01             	movzwl (%ecx),%eax
443f6a:	66 85 c0             	test   %ax,%ax
443f6d:	75 ef                	jne    0x443f5e
443f6f:	85 ff                	test   %edi,%edi
443f71:	74 53                	je     0x443fc6
443f73:	56                   	push   %esi
443f74:	33 c0                	xor    %eax,%eax
443f76:	53                   	push   %ebx
443f77:	66 89 07             	mov    %ax,(%edi)
443f7a:	e8 94 00 fc ff       	call   0x404013
443f7f:	8b f0                	mov    %eax,%esi
443f81:	6a 5c                	push   $0x5c
443f83:	58                   	pop    %eax
443f84:	66 89 07             	mov    %ax,(%edi)
443f87:	85 f6                	test   %esi,%esi
443f89:	78 50                	js     0x443fdb
443f8b:	ff 75 10             	push   0x10(%ebp)
443f8e:	53                   	push   %ebx
443f8f:	ff 75 08             	push   0x8(%ebp)
443f92:	ff 15 a4 b2 44 00    	call   *0x44b2a4
443f98:	85 c0                	test   %eax,%eax
443f9a:	75 3f                	jne    0x443fdb
443f9c:	ff 15 e8 b0 44 00    	call   *0x44b0e8
443fa2:	0f b7 f0             	movzwl %ax,%esi
443fa5:	81 ce 00 00 07 80    	or     $0x80070000,%esi
443fab:	85 c0                	test   %eax,%eax
443fad:	0f 4e f0             	cmovle %eax,%esi
443fb0:	85 f6                	test   %esi,%esi
443fb2:	79 27                	jns    0x443fdb
443fb4:	56                   	push   %esi
443fb5:	68 4c 04 00 00       	push   $0x44c
443fba:	68 8c 67 46 00       	push   $0x46678c
443fbf:	e8 0f f8 fb ff       	call   0x4037d3
443fc4:	eb 15                	jmp    0x443fdb
443fc6:	be 03 00 07 80       	mov    $0x80070003,%esi
443fcb:	eb 0e                	jmp    0x443fdb
443fcd:	0f b7 f0             	movzwl %ax,%esi
443fd0:	81 ce 00 00 07 80    	or     $0x80070000,%esi
443fd6:	85 c0                	test   %eax,%eax
443fd8:	0f 4e f0             	cmovle %eax,%esi
443fdb:	5f                   	pop    %edi
443fdc:	8b c6                	mov    %esi,%eax
443fde:	5e                   	pop    %esi
443fdf:	5b                   	pop    %ebx
443fe0:	5d                   	pop    %ebp
443fe1:	c2 0c 00             	ret    $0xc
443fe4:	cc                   	int3
443fe5:	cc                   	int3
443fe6:	cc                   	int3
443fe7:	55                   	push   %ebp
443fe8:	8b ec                	mov    %esp,%ebp
443fea:	56                   	push   %esi
443feb:	b8 05 40 00 80       	mov    $0x80004005,%eax
443ff0:	33 f6                	xor    %esi,%esi
443ff2:	3b 75 14             	cmp    0x14(%ebp),%esi
443ff5:	77 3c                	ja     0x444033
443ff7:	85 f6                	test   %esi,%esi
443ff9:	74 09                	je     0x444004
443ffb:	ff 75 18             	push   0x18(%ebp)
443ffe:	ff 15 08 b1 44 00    	call   *0x44b108
444004:	ff 75 10             	push   0x10(%ebp)
444007:	ff 75 0c             	push   0xc(%ebp)
44400a:	ff 75 08             	push   0x8(%ebp)
44400d:	e8 f2 fe ff ff       	call   0x443f04
444012:	3d 02 00 07 80       	cmp    $0x80070002,%eax
444017:	74 1a                	je     0x444033
444019:	3d 03 00 07 80       	cmp    $0x80070003,%eax
44401e:	74 13                	je     0x444033