4270ae:	8b 41 14             	mov    0x14(%ecx),%eax
4270b1:	53                   	push   %ebx
4270b2:	56                   	push   %esi
4270b3:	57                   	push   %edi
4270b4:	0f b7 70 08          	movzwl 0x8(%eax),%esi
4270b8:	8b fa                	mov    %edx,%edi
4270ba:	d1 ee                	shr    $1,%esi
4270bc:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4270bf:	8d 5e 01             	lea    0x1(%esi),%ebx
4270c2:	85 db                	test   %ebx,%ebx
4270c4:	75 18                	jne    0x4270de
4270c6:	03 f6                	add    %esi,%esi
4270c8:	56                   	push   %esi
4270c9:	ff 70 0c             	push   0xc(%eax)
4270cc:	53                   	push   %ebx
4270cd:	e8 cf 12 00 00       	call   0x4283a1
4270d2:	83 c4 0c             	add    $0xc,%esp
4270d5:	33 c0                	xor    %eax,%eax
4270d7:	66 89 06             	mov    %ax,(%esi)
4270da:	33 c0                	xor    %eax,%eax
4270dc:	eb 59                	jmp    0x427137
4270de:	ff 75 0c             	push   0xc(%ebp)
4270e1:	8d 45 fc             	lea    -0x4(%ebp),%eax
4270e4:	50                   	push   %eax
4270e5:	e8 4a ff ff ff       	call   0x427034
4270ea:	8b 75 fc             	mov    -0x4(%ebp),%esi
4270ed:	83 f8 7a             	cmp    $0x7a,%eax
4270f0:	74 3a                	je     0x42712c
4270f2:	85 c0                	test   %eax,%eax
4270f4:	75 41                	jne    0x427137
4270f6:	8d 04 33             	lea    (%ebx,%esi,1),%eax
4270f9:	3b f8                	cmp    %eax,%edi
4270fb:	72 2f                	jb     0x42712c
4270fd:	8b 45 0c             	mov    0xc(%ebp),%eax
427100:	4e                   	dec    %esi
427101:	6a 21                	push   $0x21
427103:	59                   	pop    %ecx
427104:	2b fe                	sub    %esi,%edi
427106:	66 89 0c 70          	mov    %cx,(%eax,%esi,2)
42710a:	8d 04 70             	lea    (%eax,%esi,2),%eax
42710d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
427110:	83 c0 02             	add    $0x2,%eax
427113:	50                   	push   %eax
427114:	8d 45 fc             	lea    -0x4(%ebp),%eax
427117:	50                   	push   %eax
427118:	8d 57 ff             	lea    -0x1(%edi),%edx
42711b:	e8 1e 00 00 00       	call   0x42713e
427120:	8b 45 08             	mov    0x8(%ebp),%eax
427123:	8d 4e 01             	lea    0x1(%esi),%ecx
427126:	03 cb                	add    %ebx,%ecx
427128:	89 08                	mov    %ecx,(%eax)
42712a:	eb ae                	jmp    0x4270da
42712c:	8b 4d 08             	mov    0x8(%ebp),%ecx
42712f:	8d 14 33             	lea    (%ebx,%esi,1),%edx
427132:	6a 7a                	push   $0x7a
427134:	58                   	pop    %eax
427135:	89 11                	mov    %edx,(%ecx)
427137:	5f                   	pop    %edi
427138:	5e                   	pop    %esi
427139:	5b                   	pop    %ebx
42713a:	c9                   	leave
42713b:	c2 08 00             	ret    $0x8
42713e:	8b ff                	mov    %edi,%edi
427140:	55                   	push   %ebp
427141:	8b ec                	mov    %esp,%ebp
427143:	8b 45 08             	mov    0x8(%ebp),%eax
427146:	56                   	push   %esi
427147:	8b 71 14             	mov    0x14(%ecx),%esi
42714a:	57                   	push   %edi
42714b:	0f b7 7e 08          	movzwl 0x8(%esi),%edi
42714f:	d1 ef                	shr    $1,%edi
427151:	8d 4f 01             	lea    0x1(%edi),%ecx
427154:	89 08                	mov    %ecx,(%eax)
427156:	3b d1                	cmp    %ecx,%edx
427158:	73 05                	jae    0x42715f
42715a:	6a 7a                	push   $0x7a
42715c:	58                   	pop    %eax
42715d:	eb 18                	jmp    0x427177
42715f:	03 ff                	add    %edi,%edi
427161:	57                   	push   %edi
427162:	ff 76 0c             	push   0xc(%esi)
427165:	8b 75 0c             	mov    0xc(%ebp),%esi
427168:	56                   	push   %esi
427169:	e8 33 12 00 00       	call   0x4283a1
42716e:	83 c4 0c             	add    $0xc,%esp
427171:	33 c0                	xor    %eax,%eax
427173:	66 89 04 37          	mov    %ax,(%edi,%esi,1)
427177:	5f                   	pop    %edi
427178:	5e                   	pop    %esi
427179:	5d                   	pop    %ebp
42717a:	c2 08 00             	ret    $0x8
42717d:	8b ff                	mov    %edi,%edi
42717f:	55                   	push   %ebp
427180:	8b ec                	mov    %esp,%ebp
427182:	83 ec 24             	sub    $0x24,%esp
427185:	53                   	push   %ebx
427186:	56                   	push   %esi
427187:	8b c2                	mov    %edx,%eax
427189:	33 f6                	xor    %esi,%esi
42718b:	57                   	push   %edi
42718c:	8b f9                	mov    %ecx,%edi
42718e:	89 45 e8             	mov    %eax,-0x18(%ebp)
427191:	8d 4d e0             	lea    -0x20(%ebp),%ecx
427194:	89 75 e0             	mov    %esi,-0x20(%ebp)
427197:	89 30                	mov    %esi,(%eax)
427199:	89 75 e4             	mov    %esi,-0x1c(%ebp)
42719c:	e8 47 fd ff ff       	call   0x426ee8
4271a1:	8d 55 fc             	lea    -0x4(%ebp),%edx
4271a4:	8b cf                	mov    %edi,%ecx
4271a6:	e8 65 fd ff ff       	call   0x426f10
4271ab:	8b f8                	mov    %eax,%edi
4271ad:	85 ff                	test   %edi,%edi
4271af:	75 23                	jne    0x4271d4
4271b1:	51                   	push   %ecx
4271b2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4271b5:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4271b8:	50                   	push   %eax
4271b9:	8d 55 e0             	lea    -0x20(%ebp),%edx
4271bc:	e8 82 fd ff ff       	call   0x426f43
4271c1:	83 7d fc fc          	cmpl   $0xfffffffc,-0x4(%ebp)
4271c5:	8b f8                	mov    %eax,%edi
4271c7:	74 09                	je     0x4271d2
4271c9:	ff 75 fc             	push   -0x4(%ebp)
4271cc:	ff 15 30 c2 42 00    	call   *0x42c230
4271d2:	85 ff                	test   %edi,%edi
4271d4:	7e 09                	jle    0x4271df
4271d6:	0f b7 ff             	movzwl %di,%edi
4271d9:	81 cf 00 00 07 80    	or     $0x80070000,%edi
4271df:	81 ff 90 04 07 80    	cmp    $0x80070490,%edi
4271e5:	0f 84 57 01 00 00    	je     0x427342
4271eb:	81 ff 05 00 07 80    	cmp    $0x80070005,%edi
4271f1:	0f 84 4b 01 00 00    	je     0x427342
4271f7:	85 ff                	test   %edi,%edi
4271f9:	79 0a                	jns    0x427205
4271fb:	ba a5 00 00 00       	mov    $0xa5,%edx
427200:	e9 c0 00 00 00       	jmp    0x4272c5
427205:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
427208:	8b 5b 14             	mov    0x14(%ebx),%ebx
42720b:	0f b7 7b 08          	movzwl 0x8(%ebx),%edi
42720f:	d1 ef                	shr    $1,%edi
427211:	8d 47 01             	lea    0x1(%edi),%eax
427214:	89 45 f8             	mov    %eax,-0x8(%ebp)
427217:	85 c0                	test   %eax,%eax
427219:	75 19                	jne    0x427234
42721b:	03 ff                	add    %edi,%edi
42721d:	57                   	push   %edi
42721e:	ff 73 0c             	push   0xc(%ebx)
427221:	56                   	push   %esi
427222:	e8 7a 11 00 00       	call   0x4283a1
427227:	83 c4 0c             	add    $0xc,%esp
42722a:	33 c0                	xor    %eax,%eax
42722c:	66 89 07             	mov    %ax,(%edi)
42722f:	e9 87 00 00 00       	jmp    0x4272bb
427234:	0f b7 03             	movzwl (%ebx),%eax
427237:	6a 5f                	push   $0x5f
427239:	ff 73 04             	push   0x4(%ebx)
42723c:	d1 e8                	shr    $1,%eax
42723e:	89 45 fc             	mov    %eax,-0x4(%ebp)
427241:	ff 15 30 c3 42 00    	call   *0x42c330
427247:	59                   	pop    %ecx
427248:	83 c0 02             	add    $0x2,%eax
42724b:	59                   	pop    %ecx
42724c:	8b 4b 04             	mov    0x4(%ebx),%ecx
42724f:	2b c1                	sub    %ecx,%eax
427251:	d1 f8                	sar    $1,%eax
427253:	89 4d f4             	mov    %ecx,-0xc(%ebp)
427256:	89 45 f0             	mov    %eax,-0x10(%ebp)
427259:	8d 58 0e             	lea    0xe(%eax),%ebx
42725c:	89 5d ec             	mov    %ebx,-0x14(%ebp)
42725f:	85 db                	test   %ebx,%ebx
427261:	75 72                	jne    0x4272d5
427263:	8d 3c 00             	lea    (%eax,%eax,1),%edi
427266:	57                   	push   %edi
427267:	51                   	push   %ecx
427268:	56                   	push   %esi
427269:	e8 33 11 00 00       	call   0x4283a1
42726e:	8b 45 fc             	mov    -0x4(%ebp),%eax
427271:	83 c4 0c             	add    $0xc,%esp
427274:	8b 4d f4             	mov    -0xc(%ebp),%ecx
427277:	83 c0 f3             	add    $0xfffffff3,%eax
42727a:	6a 06                	push   $0x6
42727c:	8d 34 41             	lea    (%ecx,%eax,2),%esi
42727f:	8b 45 f0             	mov    -0x10(%ebp),%eax
427282:	59                   	pop    %ecx
427283:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
427285:	33 c9                	xor    %ecx,%ecx
427287:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
427289:	66 89 0c 45 1a 00 00 	mov    %cx,0x1a(,%eax,2)
427290:	00
427291:	03 5d f8             	add    -0x8(%ebp),%ebx
427294:	75 44                	jne    0x4272da
427296:	8b 55 ec             	mov    -0x14(%ebp),%edx
427299:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
42729c:	4a                   	dec    %edx
42729d:	6a 21                	push   $0x21
42729f:	58                   	pop    %eax
4272a0:	66 89 04 55 00 00 00 	mov    %ax,0x0(,%edx,2)
4272a7:	00
4272a8:	8d 04 55 02 00 00 00 	lea    0x2(,%edx,2),%eax
4272af:	50                   	push   %eax
4272b0:	8d 45 e8             	lea    -0x18(%ebp),%eax
4272b3:	f7 d2                	not    %edx
4272b5:	50                   	push   %eax
4272b6:	e8 83 fe ff ff       	call   0x42713e
4272bb:	bf ff ff 00 80       	mov    $0x8000ffff,%edi
4272c0:	ba a8 00 00 00       	mov    $0xa8,%edx
4272c5:	8b 4d 04             	mov    0x4(%ebp),%ecx
4272c8:	57                   	push   %edi
4272c9:	68 b8 5c 40 00       	push   $0x405cb8
4272ce:	e8 0a 6e fe ff       	call   0x40e0dd
4272d3:	eb 6d                	jmp    0x427342
4272d5:	03 5d f8             	add    -0x8(%ebp),%ebx
4272d8:	eb 02                	jmp    0x4272dc
4272da:	33 f6                	xor    %esi,%esi
4272dc:	56                   	push   %esi
4272dd:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4272e0:	89 75 f8             	mov    %esi,-0x8(%ebp)
4272e3:	e8 fb 0c 00 00       	call   0x427fe3
4272e8:	8d 45 f8             	lea    -0x8(%ebp),%eax
4272eb:	8b d3                	mov    %ebx,%edx
4272ed:	50                   	push   %eax
4272ee:	e8 7e fb ff ff       	call   0x426e71
4272f3:	8b f8                	mov    %eax,%edi
4272f5:	85 ff                	test   %edi,%edi
4272f7:	79 15                	jns    0x42730e
4272f9:	8b 4d 04             	mov    0x4(%ebp),%ecx
4272fc:	ba ab 00 00 00       	mov    $0xab,%edx
427301:	57                   	push   %edi
427302:	68 b8 5c 40 00       	push   $0x405cb8
427307:	e8 d1 6d fe ff       	call   0x40e0dd
42730c:	eb 22                	jmp    0x427330
42730e:	8b 7d f8             	mov    -0x8(%ebp),%edi
427311:	8d 45 ec             	lea    -0x14(%ebp),%eax
427314:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
427317:	8b d3                	mov    %ebx,%edx
427319:	57                   	push   %edi
42731a:	50                   	push   %eax
42731b:	e8 87 fd ff ff       	call   0x4270a7
427320:	85 c0                	test   %eax,%eax
427322:	74 11                	je     0x427335
427324:	50                   	push   %eax
427325:	51                   	push   %ecx
427326:	8b 4d 04             	mov    0x4(%ebp),%ecx
427329:	e8 ca fa ff ff       	call   0x426df8
42732e:	8b f8                	mov    %eax,%edi
427330:	8b 75 f8             	mov    -0x8(%ebp),%esi
427333:	eb 07                	jmp    0x42733c
427335:	8b 45 e8             	mov    -0x18(%ebp),%eax
427338:	89 38                	mov    %edi,(%eax)
42733a:	8b fe                	mov    %esi,%edi
42733c:	56                   	push   %esi
42733d:	e8 a1 0c 00 00       	call   0x427fe3
427342:	8d 4d e0             	lea    -0x20(%ebp),%ecx
427345:	e8 9e fb ff ff       	call   0x426ee8
42734a:	8b c7                	mov    %edi,%eax
42734c:	5f                   	pop    %edi
42734d:	5e                   	pop    %esi
42734e:	5b                   	pop    %ebx
42734f:	c9                   	leave
427350:	c3                   	ret
427351:	8b ff                	mov    %edi,%edi
427353:	51                   	push   %ecx
427354:	8b c1                	mov    %ecx,%eax
427356:	6a 0c                	push   $0xc
427358:	59                   	pop    %ecx
427359:	f7 e1                	mul    %ecx
42735b:	85 d2                	test   %edx,%edx
42735d:	77 1b                	ja     0x42737a
42735f:	72 05                	jb     0x427366
427361:	83 f8 ff             	cmp    $0xffffffff,%eax
427364:	77 14                	ja     0x42737a
427366:	50                   	push   %eax
427367:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
42736d:	6a 00                	push   $0x0
42736f:	ff 70 18             	push   0x18(%eax)
427372:	ff 15 ec c3 42 00    	call   *0x42c3ec
427378:	59                   	pop    %ecx
427379:	c3                   	ret
42737a:	33 c0                	xor    %eax,%eax
42737c:	59                   	pop    %ecx
42737d:	c3                   	ret
42737e:	8b ff                	mov    %edi,%edi
427380:	55                   	push   %ebp
427381:	8b ec                	mov    %esp,%ebp
427383:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
427387:	74 14                	je     0x42739d
427389:	ff 75 08             	push   0x8(%ebp)
42738c:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
427392:	6a 00                	push   $0x0
427394:	ff 70 18             	push   0x18(%eax)
427397:	ff 15 e8 c3 42 00    	call   *0x42c3e8
42739d:	5d                   	pop    %ebp
42739e:	c2 04 00             	ret    $0x4
4273a1:	cc                   	int3
4273a2:	cc                   	int3
4273a3:	cc                   	int3
4273a4:	cc                   	int3
4273a5:	cc                   	int3
4273a6:	cc                   	int3
4273a7:	cc                   	int3
4273a8:	cc                   	int3
4273a9:	cc                   	int3
4273aa:	cc                   	int3
4273ab:	cc                   	int3
4273ac:	cc                   	int3
4273ad:	cc                   	int3
4273ae:	cc                   	int3
4273af:	cc                   	int3
4273b0:	e8 48 02 00 00       	call   0x4275fd
4273b5:	6a 01                	push   $0x1
4273b7:	a3 d8 b6 42 00       	mov    %eax,0x42b6d8
4273bc:	e8 97 03 00 00       	call   0x427758
4273c1:	50                   	push   %eax
4273c2:	ff 15 9c c3 42 00    	call   *0x42c39c
4273c8:	83 0d 6c bc 42 00 ff 	orl    $0xffffffff,0x42bc6c
4273cf:	83 0d 70 bc 42 00 ff 	orl    $0xffffffff,0x42bc70
4273d6:	59                   	pop    %ecx
4273d7:	59                   	pop    %ecx
4273d8:	ff 15 8c c3 42 00    	call   *0x42c38c
4273de:	8b 0d ec b6 42 00    	mov    0x42b6ec,%ecx
4273e4:	89 08                	mov    %ecx,(%eax)
4273e6:	ff 15 a8 c3 42 00    	call   *0x42c3a8
4273ec:	8b 0d e0 b6 42 00    	mov    0x42b6e0,%ecx
4273f2:	89 08                	mov    %ecx,(%eax)
4273f4:	e8 87 17 ff ff       	call   0x418b80
4273f9:	83 3d 70 b6 42 00 00 	cmpl   $0x0,0x42b670
427400:	75 0c                	jne    0x42740e
427402:	68 80 8b 41 00       	push   $0x418b80
427407:	ff 15 88 c3 42 00    	call   *0x42c388
42740d:	59                   	pop    %ecx
42740e:	e8 6a 05 00 00       	call   0x42797d
427413:	33 c0                	xor    %eax,%eax
427415:	c3                   	ret
427416:	cc                   	int3
427417:	cc                   	int3
427418:	cc                   	int3
427419:	cc                   	int3
42741a:	cc                   	int3
42741b:	cc                   	int3
42741c:	cc                   	int3
42741d:	cc                   	int3
42741e:	cc                   	int3
42741f:	cc                   	int3
427420:	a1 e8 b6 42 00       	mov    0x42b6e8,%eax
427425:	68 dc b6 42 00       	push   $0x42b6dc
42742a:	ff 35 e4 b6 42 00    	push   0x42b6e4
427430:	a3 dc b6 42 00       	mov    %eax,0x42b6dc
427435:	68 d0 b6 42 00       	push   $0x42b6d0
42743a:	68 cc b6 42 00       	push   $0x42b6cc
42743f:	68 c8 b6 42 00       	push   $0x42b6c8