427189:	8b 0d 04 02 43 00    	mov    0x430204,%ecx
42718f:	41                   	inc    %ecx
427190:	8b c1                	mov    %ecx,%eax
427192:	99                   	cltd
427193:	83 e2 1f             	and    $0x1f,%edx
427196:	03 c2                	add    %edx,%eax
427198:	8b d1                	mov    %ecx,%edx
42719a:	c1 f8 05             	sar    $0x5,%eax
42719d:	81 e2 1f 00 00 80    	and    $0x8000001f,%edx
4271a3:	79 05                	jns    0x4271aa
4271a5:	4a                   	dec    %edx
4271a6:	83 ca e0             	or     $0xffffffe0,%edx
4271a9:	42                   	inc    %edx
4271aa:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4271ae:	83 65 08 00          	andl   $0x0,0x8(%ebp)
4271b2:	83 cf ff             	or     $0xffffffff,%edi
4271b5:	8b ca                	mov    %edx,%ecx
4271b7:	d3 e7                	shl    %cl,%edi
4271b9:	c7 45 fc 20 00 00 00 	movl   $0x20,-0x4(%ebp)
4271c0:	29 55 fc             	sub    %edx,-0x4(%ebp)
4271c3:	f7 d7                	not    %edi
4271c5:	8b 5d 08             	mov    0x8(%ebp),%ebx
4271c8:	8d 5c 9d e0          	lea    -0x20(%ebp,%ebx,4),%ebx
4271cc:	8b 33                	mov    (%ebx),%esi
4271ce:	8b ce                	mov    %esi,%ecx
4271d0:	23 cf                	and    %edi,%ecx
4271d2:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4271d5:	8b ca                	mov    %edx,%ecx
4271d7:	d3 ee                	shr    %cl,%esi
4271d9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4271dc:	0b 75 f4             	or     -0xc(%ebp),%esi
4271df:	89 33                	mov    %esi,(%ebx)
4271e1:	8b 75 f0             	mov    -0x10(%ebp),%esi
4271e4:	d3 e6                	shl    %cl,%esi
4271e6:	ff 45 08             	incl   0x8(%ebp)
4271e9:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
4271ed:	89 75 f4             	mov    %esi,-0xc(%ebp)
4271f0:	7c d3                	jl     0x4271c5
4271f2:	8b f0                	mov    %eax,%esi
4271f4:	6a 02                	push   $0x2
4271f6:	c1 e6 02             	shl    $0x2,%esi
4271f9:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4271fc:	5a                   	pop    %edx
4271fd:	2b ce                	sub    %esi,%ecx
4271ff:	3b d0                	cmp    %eax,%edx
427201:	7c 08                	jl     0x42720b
427203:	8b 31                	mov    (%ecx),%esi
427205:	89 74 95 e0          	mov    %esi,-0x20(%ebp,%edx,4)
427209:	eb 05                	jmp    0x427210
42720b:	83 64 95 e0 00       	andl   $0x0,-0x20(%ebp,%edx,4)
427210:	4a                   	dec    %edx
427211:	83 e9 04             	sub    $0x4,%ecx
427214:	85 d2                	test   %edx,%edx
427216:	7d e7                	jge    0x4271ff
427218:	6a 02                	push   $0x2
42721a:	33 db                	xor    %ebx,%ebx
42721c:	58                   	pop    %eax
42721d:	e9 5a 01 00 00       	jmp    0x42737c
427222:	3b 1d f8 01 43 00    	cmp    0x4301f8,%ebx
427228:	8b 0d 04 02 43 00    	mov    0x430204,%ecx
42722e:	0f 8c ad 00 00 00    	jl     0x4272e1
427234:	33 c0                	xor    %eax,%eax
427236:	8d 7d e0             	lea    -0x20(%ebp),%edi
427239:	ab                   	stos   %eax,%es:(%edi)
42723a:	ab                   	stos   %eax,%es:(%edi)
42723b:	ab                   	stos   %eax,%es:(%edi)
42723c:	81 4d e0 00 00 00 80 	orl    $0x80000000,-0x20(%ebp)
427243:	8b c1                	mov    %ecx,%eax
427245:	99                   	cltd
427246:	83 e2 1f             	and    $0x1f,%edx
427249:	03 c2                	add    %edx,%eax
42724b:	8b d1                	mov    %ecx,%edx
42724d:	c1 f8 05             	sar    $0x5,%eax
427250:	81 e2 1f 00 00 80    	and    $0x8000001f,%edx
427256:	79 05                	jns    0x42725d
427258:	4a                   	dec    %edx
427259:	83 ca e0             	or     $0xffffffe0,%edx
42725c:	42                   	inc    %edx
42725d:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
427261:	83 65 08 00          	andl   $0x0,0x8(%ebp)
427265:	83 cf ff             	or     $0xffffffff,%edi
427268:	8b ca                	mov    %edx,%ecx
42726a:	d3 e7                	shl    %cl,%edi
42726c:	c7 45 fc 20 00 00 00 	movl   $0x20,-0x4(%ebp)
427273:	29 55 fc             	sub    %edx,-0x4(%ebp)
427276:	f7 d7                	not    %edi
427278:	8b 5d 08             	mov    0x8(%ebp),%ebx
42727b:	8d 5c 9d e0          	lea    -0x20(%ebp,%ebx,4),%ebx
42727f:	8b 33                	mov    (%ebx),%esi
427281:	8b ce                	mov    %esi,%ecx
427283:	23 cf                	and    %edi,%ecx
427285:	89 4d f0             	mov    %ecx,-0x10(%ebp)
427288:	8b ca                	mov    %edx,%ecx
42728a:	d3 ee                	shr    %cl,%esi
42728c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42728f:	0b 75 f4             	or     -0xc(%ebp),%esi
427292:	89 33                	mov    %esi,(%ebx)
427294:	8b 75 f0             	mov    -0x10(%ebp),%esi
427297:	d3 e6                	shl    %cl,%esi
427299:	ff 45 08             	incl   0x8(%ebp)
42729c:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
4272a0:	89 75 f4             	mov    %esi,-0xc(%ebp)
4272a3:	7c d3                	jl     0x427278
4272a5:	8b f0                	mov    %eax,%esi
4272a7:	6a 02                	push   $0x2
4272a9:	c1 e6 02             	shl    $0x2,%esi
4272ac:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4272af:	5a                   	pop    %edx
4272b0:	2b ce                	sub    %esi,%ecx
4272b2:	3b d0                	cmp    %eax,%edx
4272b4:	7c 08                	jl     0x4272be
4272b6:	8b 31                	mov    (%ecx),%esi
4272b8:	89 74 95 e0          	mov    %esi,-0x20(%ebp,%edx,4)
4272bc:	eb 05                	jmp    0x4272c3
4272be:	83 64 95 e0 00       	andl   $0x0,-0x20(%ebp,%edx,4)
4272c3:	4a                   	dec    %edx
4272c4:	83 e9 04             	sub    $0x4,%ecx
4272c7:	85 d2                	test   %edx,%edx
4272c9:	7d e7                	jge    0x4272b2
4272cb:	a1 f8 01 43 00       	mov    0x4301f8,%eax
4272d0:	8b 0d 0c 02 43 00    	mov    0x43020c,%ecx
4272d6:	8d 1c 01             	lea    (%ecx,%eax,1),%ebx
4272d9:	33 c0                	xor    %eax,%eax
4272db:	40                   	inc    %eax
4272dc:	e9 9b 00 00 00       	jmp    0x42737c
4272e1:	a1 0c 02 43 00       	mov    0x43020c,%eax
4272e6:	81 65 e0 ff ff ff 7f 	andl   $0x7fffffff,-0x20(%ebp)
4272ed:	03 d8                	add    %eax,%ebx
4272ef:	8b c1                	mov    %ecx,%eax
4272f1:	99                   	cltd
4272f2:	83 e2 1f             	and    $0x1f,%edx
4272f5:	03 c2                	add    %edx,%eax
4272f7:	8b d1                	mov    %ecx,%edx
4272f9:	c1 f8 05             	sar    $0x5,%eax
4272fc:	81 e2 1f 00 00 80    	and    $0x8000001f,%edx
427302:	79 05                	jns    0x427309
427304:	4a                   	dec    %edx
427305:	83 ca e0             	or     $0xffffffe0,%edx
427308:	42                   	inc    %edx
427309:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
42730d:	83 65 08 00          	andl   $0x0,0x8(%ebp)
427311:	83 ce ff             	or     $0xffffffff,%esi
427314:	8b ca                	mov    %edx,%ecx
427316:	d3 e6                	shl    %cl,%esi
427318:	c7 45 fc 20 00 00 00 	movl   $0x20,-0x4(%ebp)
42731f:	29 55 fc             	sub    %edx,-0x4(%ebp)
427322:	f7 d6                	not    %esi
427324:	8b 4d 08             	mov    0x8(%ebp),%ecx
427327:	8b 7c 8d e0          	mov    -0x20(%ebp,%ecx,4),%edi
42732b:	8b cf                	mov    %edi,%ecx
42732d:	23 ce                	and    %esi,%ecx
42732f:	89 4d f0             	mov    %ecx,-0x10(%ebp)
427332:	8b ca                	mov    %edx,%ecx
427334:	d3 ef                	shr    %cl,%edi
427336:	8b 4d 08             	mov    0x8(%ebp),%ecx
427339:	0b 7d f4             	or     -0xc(%ebp),%edi
42733c:	89 7c 8d e0          	mov    %edi,-0x20(%ebp,%ecx,4)
427340:	8b 7d f0             	mov    -0x10(%ebp),%edi
427343:	8b 4d fc             	mov    -0x4(%ebp),%ecx
427346:	d3 e7                	shl    %cl,%edi
427348:	ff 45 08             	incl   0x8(%ebp)
42734b:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
42734f:	89 7d f4             	mov    %edi,-0xc(%ebp)
427352:	7c d0                	jl     0x427324
427354:	8b f0                	mov    %eax,%esi
427356:	6a 02                	push   $0x2
427358:	c1 e6 02             	shl    $0x2,%esi
42735b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
42735e:	5a                   	pop    %edx
42735f:	2b ce                	sub    %esi,%ecx
427361:	3b d0                	cmp    %eax,%edx
427363:	7c 08                	jl     0x42736d
427365:	8b 31                	mov    (%ecx),%esi
427367:	89 74 95 e0          	mov    %esi,-0x20(%ebp,%edx,4)
42736b:	eb 05                	jmp    0x427372
42736d:	83 64 95 e0 00       	andl   $0x0,-0x20(%ebp,%edx,4)
427372:	4a                   	dec    %edx
427373:	83 e9 04             	sub    $0x4,%ecx
427376:	85 d2                	test   %edx,%edx
427378:	7d e7                	jge    0x427361
42737a:	33 c0                	xor    %eax,%eax
42737c:	5e                   	pop    %esi
42737d:	6a 1f                	push   $0x1f
42737f:	59                   	pop    %ecx
427380:	2b 0d 04 02 43 00    	sub    0x430204,%ecx
427386:	d3 e3                	shl    %cl,%ebx
427388:	8b 4d ec             	mov    -0x14(%ebp),%ecx
42738b:	f7 d9                	neg    %ecx
42738d:	1b c9                	sbb    %ecx,%ecx
42738f:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
427395:	0b d9                	or     %ecx,%ebx
427397:	8b 0d 08 02 43 00    	mov    0x430208,%ecx
42739d:	0b 5d e0             	or     -0x20(%ebp),%ebx
4273a0:	83 f9 40             	cmp    $0x40,%ecx
4273a3:	75 0d                	jne    0x4273b2
4273a5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4273a8:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4273ab:	89 59 04             	mov    %ebx,0x4(%ecx)
4273ae:	89 11                	mov    %edx,(%ecx)
4273b0:	eb 0a                	jmp    0x4273bc
4273b2:	83 f9 20             	cmp    $0x20,%ecx
4273b5:	75 05                	jne    0x4273bc
4273b7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4273ba:	89 19                	mov    %ebx,(%ecx)
4273bc:	5f                   	pop    %edi
4273bd:	5b                   	pop    %ebx
4273be:	c9                   	leave
4273bf:	c3                   	ret
4273c0:	8b ff                	mov    %edi,%edi
4273c2:	55                   	push   %ebp
4273c3:	8b ec                	mov    %esp,%ebp
4273c5:	83 ec 2c             	sub    $0x2c,%esp
4273c8:	8b 45 08             	mov    0x8(%ebp),%eax
4273cb:	0f b7 48 0a          	movzwl 0xa(%eax),%ecx
4273cf:	53                   	push   %ebx
4273d0:	8b d9                	mov    %ecx,%ebx
4273d2:	81 e1 00 80 00 00    	and    $0x8000,%ecx
4273d8:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4273db:	8b 48 06             	mov    0x6(%eax),%ecx
4273de:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4273e1:	8b 48 02             	mov    0x2(%eax),%ecx
4273e4:	0f b7 00             	movzwl (%eax),%eax
4273e7:	81 e3 ff 7f 00 00    	and    $0x7fff,%ebx
4273ed:	81 eb ff 3f 00 00    	sub    $0x3fff,%ebx
4273f3:	c1 e0 10             	shl    $0x10,%eax
4273f6:	57                   	push   %edi
4273f7:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4273fa:	89 45 e8             	mov    %eax,-0x18(%ebp)
4273fd:	81 fb 01 c0 ff ff    	cmp    $0xffffc001,%ebx
427403:	75 27                	jne    0x42742c
427405:	33 db                	xor    %ebx,%ebx
427407:	33 c0                	xor    %eax,%eax
427409:	39 5c 85 e0          	cmp    %ebx,-0x20(%ebp,%eax,4)
42740d:	75 0d                	jne    0x42741c
42740f:	40                   	inc    %eax
427410:	83 f8 03             	cmp    $0x3,%eax
427413:	7c f4                	jl     0x427409
427415:	33 c0                	xor    %eax,%eax
427417:	e9 a5 04 00 00       	jmp    0x4278c1
42741c:	33 c0                	xor    %eax,%eax
42741e:	8d 7d e0             	lea    -0x20(%ebp),%edi
427421:	ab                   	stos   %eax,%es:(%edi)
427422:	ab                   	stos   %eax,%es:(%edi)
427423:	6a 02                	push   $0x2
427425:	ab                   	stos   %eax,%es:(%edi)
427426:	58                   	pop    %eax
427427:	e9 95 04 00 00       	jmp    0x4278c1
42742c:	83 65 08 00          	andl   $0x0,0x8(%ebp)
427430:	56                   	push   %esi
427431:	8d 75 e0             	lea    -0x20(%ebp),%esi
427434:	8d 7d d4             	lea    -0x2c(%ebp),%edi
427437:	a5                   	movsl  %ds:(%esi),%es:(%edi)
427438:	a5                   	movsl  %ds:(%esi),%es:(%edi)
427439:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42743a:	8b 35 18 02 43 00    	mov    0x430218,%esi
427440:	4e                   	dec    %esi
427441:	8d 4e 01             	lea    0x1(%esi),%ecx
427444:	8b c1                	mov    %ecx,%eax
427446:	99                   	cltd
427447:	83 e2 1f             	and    $0x1f,%edx
42744a:	03 c2                	add    %edx,%eax
42744c:	c1 f8 05             	sar    $0x5,%eax
42744f:	8b d1                	mov    %ecx,%edx
427451:	81 e2 1f 00 00 80    	and    $0x8000001f,%edx
427457:	89 5d f0             	mov    %ebx,-0x10(%ebp)
42745a:	89 45 f4             	mov    %eax,-0xc(%ebp)
42745d:	79 05                	jns    0x427464
42745f:	4a                   	dec    %edx
427460:	83 ca e0             	or     $0xffffffe0,%edx
427463:	42                   	inc    %edx
427464:	8d 7c 85 e0          	lea    -0x20(%ebp,%eax,4),%edi
427468:	6a 1f                	push   $0x1f
42746a:	33 c0                	xor    %eax,%eax
42746c:	59                   	pop    %ecx
42746d:	2b ca                	sub    %edx,%ecx
42746f:	40                   	inc    %eax
427470:	d3 e0                	shl    %cl,%eax
427472:	89 4d f8             	mov    %ecx,-0x8(%ebp)
427475:	85 07                	test   %eax,(%edi)
427477:	0f 84 8d 00 00 00    	je     0x42750a
42747d:	8b 45 f4             	mov    -0xc(%ebp),%eax
427480:	83 ca ff             	or     $0xffffffff,%edx
427483:	d3 e2                	shl    %cl,%edx
427485:	f7 d2                	not    %edx
427487:	85 54 85 e0          	test   %edx,-0x20(%ebp,%eax,4)
42748b:	eb 05                	jmp    0x427492
42748d:	83 7c 85 e0 00       	cmpl   $0x0,-0x20(%ebp,%eax,4)
427492:	75 08                	jne    0x42749c
427494:	40                   	inc    %eax
427495:	83 f8 03             	cmp    $0x3,%eax
427498:	7c f3                	jl     0x42748d
42749a:	eb 6e                	jmp    0x42750a
42749c:	8b c6                	mov    %esi,%eax
42749e:	99                   	cltd
42749f:	6a 1f                	push   $0x1f
4274a1:	59                   	pop    %ecx
4274a2:	23 d1                	and    %ecx,%edx
4274a4:	03 c2                	add    %edx,%eax
4274a6:	c1 f8 05             	sar    $0x5,%eax
4274a9:	81 e6 1f 00 00 80    	and    $0x8000001f,%esi
4274af:	79 05                	jns    0x4274b6
4274b1:	4e                   	dec    %esi
4274b2:	83 ce e0             	or     $0xffffffe0,%esi
4274b5:	46                   	inc    %esi
4274b6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4274ba:	2b ce                	sub    %esi,%ecx
4274bc:	33 d2                	xor    %edx,%edx
4274be:	42                   	inc    %edx
4274bf:	d3 e2                	shl    %cl,%edx
4274c1:	8d 4c 85 e0          	lea    -0x20(%ebp,%eax,4),%ecx
4274c5:	8b 31                	mov    (%ecx),%esi
4274c7:	03 f2                	add    %edx,%esi
4274c9:	89 75 08             	mov    %esi,0x8(%ebp)
4274cc:	8b 31                	mov    (%ecx),%esi
4274ce:	39 75 08             	cmp    %esi,0x8(%ebp)
4274d1:	72 22                	jb     0x4274f5
4274d3:	39 55 08             	cmp    %edx,0x8(%ebp)
4274d6:	eb 1b                	jmp    0x4274f3
4274d8:	85 c9                	test   %ecx,%ecx
4274da:	74 2b                	je     0x427507
4274dc:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4274e0:	8d 4c 85 e0          	lea    -0x20(%ebp,%eax,4),%ecx
4274e4:	8b 11                	mov    (%ecx),%edx
4274e6:	8d 72 01             	lea    0x1(%edx),%esi
4274e9:	89 75 08             	mov    %esi,0x8(%ebp)
4274ec:	3b f2                	cmp    %edx,%esi
4274ee:	72 05                	jb     0x4274f5
4274f0:	83 fe 01             	cmp    $0x1,%esi
4274f3:	73 07                	jae    0x4274fc
4274f5:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4274fc:	48                   	dec    %eax
4274fd:	8b 55 08             	mov    0x8(%ebp),%edx
427500:	89 11                	mov    %edx,(%ecx)
427502:	8b 4d fc             	mov    -0x4(%ebp),%ecx
427505:	79 d1                	jns    0x4274d8
427507:	89 4d 08             	mov    %ecx,0x8(%ebp)
42750a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42750d:	83 c8 ff             	or     $0xffffffff,%eax
427510:	d3 e0                	shl    %cl,%eax
427512:	21 07                	and    %eax,(%edi)
427514:	8b 45 f4             	mov    -0xc(%ebp),%eax
427517:	40                   	inc    %eax
427518:	83 f8 03             	cmp    $0x3,%eax
42751b:	7d 0d                	jge    0x42752a
42751d:	6a 03                	push   $0x3
42751f:	59                   	pop    %ecx
427520:	8d 7c 85 e0          	lea    -0x20(%ebp,%eax,4),%edi
427524:	2b c8                	sub    %eax,%ecx
427526:	33 c0                	xor    %eax,%eax
427528:	f3 ab                	rep stos %eax,%es:(%edi)