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
444020:	3d 50 00 07 80       	cmp    $0x80070050,%eax
444025:	74 0c                	je     0x444033
444027:	3d b7 00 07 80       	cmp    $0x800700b7,%eax
44402c:	74 05                	je     0x444033
44402e:	46                   	inc    %esi
44402f:	85 c0                	test   %eax,%eax
444031:	78 bf                	js     0x443ff2
444033:	5e                   	pop    %esi
444034:	5d                   	pop    %ebp
444035:	c2 14 00             	ret    $0x14
444038:	55                   	push   %ebp
444039:	8b ec                	mov    %esp,%ebp
44403b:	51                   	push   %ecx
44403c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
444040:	8d 45 fc             	lea    -0x4(%ebp),%eax
444043:	56                   	push   %esi
444044:	50                   	push   %eax
444045:	ff 75 08             	push   0x8(%ebp)
444048:	33 f6                	xor    %esi,%esi
44404a:	e8 c6 02 00 00       	call   0x444315
44404f:	85 c0                	test   %eax,%eax
444051:	74 6c                	je     0x4440bf
444053:	f6 45 fc 07          	testb  $0x7,-0x4(%ebp)
444057:	53                   	push   %ebx
444058:	bb 00 00 07 80       	mov    $0x80070000,%ebx
44405d:	74 2e                	je     0x44408d
44405f:	68 80 00 00 00       	push   $0x80
444064:	ff 75 08             	push   0x8(%ebp)
444067:	ff 15 68 b1 44 00    	call   *0x44b168
44406d:	85 c0                	test   %eax,%eax
44406f:	75 1c                	jne    0x44408d
444071:	ff 15 e8 b0 44 00    	call   *0x44b0e8
444077:	0f b7 f0             	movzwl %ax,%esi
44407a:	0b f3                	or     %ebx,%esi
44407c:	85 c0                	test   %eax,%eax
44407e:	0f 4e f0             	cmovle %eax,%esi
444081:	85 f6                	test   %esi,%esi
444083:	79 08                	jns    0x44408d
444085:	56                   	push   %esi
444086:	68 bc 05 00 00       	push   $0x5bc
44408b:	eb 27                	jmp    0x4440b4
44408d:	ff 75 08             	push   0x8(%ebp)
444090:	ff 15 70 b1 44 00    	call   *0x44b170
444096:	85 c0                	test   %eax,%eax
444098:	75 24                	jne    0x4440be
44409a:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4440a0:	0f b7 f0             	movzwl %ax,%esi
4440a3:	0b f3                	or     %ebx,%esi
4440a5:	85 c0                	test   %eax,%eax
4440a7:	0f 4e f0             	cmovle %eax,%esi
4440aa:	85 f6                	test   %esi,%esi
4440ac:	79 10                	jns    0x4440be
4440ae:	56                   	push   %esi
4440af:	68 c2 05 00 00       	push   $0x5c2
4440b4:	68 8c 67 46 00       	push   $0x46678c
4440b9:	e8 15 f7 fb ff       	call   0x4037d3
4440be:	5b                   	pop    %ebx
4440bf:	8b c6                	mov    %esi,%eax
4440c1:	5e                   	pop    %esi
4440c2:	8b e5                	mov    %ebp,%esp
4440c4:	5d                   	pop    %ebp
4440c5:	c2 04 00             	ret    $0x4
4440c8:	55                   	push   %ebp
4440c9:	8b ec                	mov    %esp,%ebp
4440cb:	53                   	push   %ebx
4440cc:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4440cf:	33 c0                	xor    %eax,%eax
4440d1:	56                   	push   %esi
4440d2:	33 f6                	xor    %esi,%esi
4440d4:	39 45 10             	cmp    %eax,0x10(%ebp)
4440d7:	0f 95 c0             	setne  %al
4440da:	8b c8                	mov    %eax,%ecx
4440dc:	83 c9 02             	or     $0x2,%ecx
4440df:	39 75 14             	cmp    %esi,0x14(%ebp)
4440e2:	0f 44 c8             	cmove  %eax,%ecx
4440e5:	51                   	push   %ecx
4440e6:	53                   	push   %ebx
4440e7:	ff 75 08             	push   0x8(%ebp)
4440ea:	89 4d 14             	mov    %ecx,0x14(%ebp)
4440ed:	ff 15 7c b1 44 00    	call   *0x44b17c
4440f3:	85 c0                	test   %eax,%eax
4440f5:	0f 85 ce 00 00 00    	jne    0x4441c9
4440fb:	57                   	push   %edi
4440fc:	ff 15 e8 b0 44 00    	call   *0x44b0e8
444102:	8b f8                	mov    %eax,%edi
444104:	39 75 10             	cmp    %esi,0x10(%ebp)
444107:	75 15                	jne    0x44411e
444109:	83 ff 50             	cmp    $0x50,%edi
44410c:	74 08                	je     0x444116
44410e:	81 ff b7 00 00 00    	cmp    $0xb7,%edi
444114:	75 08                	jne    0x44411e
444116:	33 f6                	xor    %esi,%esi
444118:	46                   	inc    %esi
444119:	e9 aa 00 00 00       	jmp    0x4441c8
44411e:	83 ff 02             	cmp    $0x2,%edi
444121:	75 14                	jne    0x444137
444123:	56                   	push   %esi
444124:	ff 75 08             	push   0x8(%ebp)
444127:	e8 e9 01 00 00       	call   0x444315
44412c:	85 c0                	test   %eax,%eax
44412e:	0f 84 86 00 00 00    	je     0x4441ba
444134:	6a 03                	push   $0x3
444136:	5f                   	pop    %edi
444137:	83 ff 03             	cmp    $0x3,%edi
44413a:	75 7e                	jne    0x4441ba
44413c:	0f b7 03             	movzwl (%ebx),%eax
44413f:	8b fe                	mov    %esi,%edi
444141:	8b cb                	mov    %ebx,%ecx
444143:	66 85 c0             	test   %ax,%ax
444146:	74 6b                	je     0x4441b3
444148:	6a 5c                	push   $0x5c
44414a:	5a                   	pop    %edx
44414b:	66 3b c2             	cmp    %dx,%ax
44414e:	0f 44 f9             	cmove  %ecx,%edi
444151:	83 c1 02             	add    $0x2,%ecx
444154:	0f b7 01             	movzwl (%ecx),%eax
444157:	66 85 c0             	test   %ax,%ax
44415a:	75 ef                	jne    0x44414b
44415c:	85 ff                	test   %edi,%edi
44415e:	74 53                	je     0x4441b3
444160:	56                   	push   %esi
444161:	33 c0                	xor    %eax,%eax
444163:	53                   	push   %ebx
444164:	66 89 07             	mov    %ax,(%edi)
444167:	e8 a7 fe fb ff       	call   0x404013
44416c:	8b f0                	mov    %eax,%esi
44416e:	6a 5c                	push   $0x5c
444170:	58                   	pop    %eax
444171:	66 89 07             	mov    %ax,(%edi)
444174:	85 f6                	test   %esi,%esi
444176:	78 50                	js     0x4441c8
444178:	ff 75 14             	push   0x14(%ebp)
44417b:	53                   	push   %ebx
44417c:	ff 75 08             	push   0x8(%ebp)
44417f:	ff 15 7c b1 44 00    	call   *0x44b17c
444185:	85 c0                	test   %eax,%eax
444187:	75 3f                	jne    0x4441c8
444189:	ff 15 e8 b0 44 00    	call   *0x44b0e8
44418f:	0f b7 f0             	movzwl %ax,%esi
444192:	81 ce 00 00 07 80    	or     $0x80070000,%esi
444198:	85 c0                	test   %eax,%eax
44419a:	0f 4e f0             	cmovle %eax,%esi
44419d:	85 f6                	test   %esi,%esi
44419f:	79 27                	jns    0x4441c8
4441a1:	56                   	push   %esi
4441a2:	68 cc 04 00 00       	push   $0x4cc
4441a7:	68 8c 67 46 00       	push   $0x46678c
4441ac:	e8 22 f6 fb ff       	call   0x4037d3
4441b1:	eb 15                	jmp    0x4441c8
4441b3:	be 03 00 07 80       	mov    $0x80070003,%esi
4441b8:	eb 0e                	jmp    0x4441c8
4441ba:	0f b7 f7             	movzwl %di,%esi
4441bd:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4441c3:	85 ff                	test   %edi,%edi
4441c5:	0f 4e f7             	cmovle %edi,%esi
4441c8:	5f                   	pop    %edi
4441c9:	8b c6                	mov    %esi,%eax
4441cb:	5e                   	pop    %esi
4441cc:	5b                   	pop    %ebx
4441cd:	5d                   	pop    %ebp
4441ce:	c2 10 00             	ret    $0x10
4441d1:	55                   	push   %ebp
4441d2:	8b ec                	mov    %esp,%ebp
4441d4:	56                   	push   %esi
4441d5:	57                   	push   %edi
4441d6:	8b 7d 18             	mov    0x18(%ebp),%edi
4441d9:	33 f6                	xor    %esi,%esi
4441db:	b9 05 40 00 80       	mov    $0x80004005,%ecx
4441e0:	47                   	inc    %edi
4441e1:	3b f7                	cmp    %edi,%esi
4441e3:	73 25                	jae    0x44420a
4441e5:	85 f6                	test   %esi,%esi
4441e7:	74 09                	je     0x4441f2
4441e9:	ff 75 1c             	push   0x1c(%ebp)
4441ec:	ff 15 08 b1 44 00    	call   *0x44b108