428259:	66 3b d0             	cmp    %ax,%dx
42825c:	76 55                	jbe    0x4282b3
42825e:	b8 d2 ff 00 00       	mov    $0xffd2,%eax
428263:	66 3b c2             	cmp    %dx,%ax
428266:	77 08                	ja     0x428270
428268:	83 c0 05             	add    $0x5,%eax
42826b:	66 3b d0             	cmp    %ax,%dx
42826e:	76 43                	jbe    0x4282b3
428270:	8d 42 26             	lea    0x26(%edx),%eax
428273:	66 83 f8 02          	cmp    $0x2,%ax
428277:	76 3a                	jbe    0x4282b3
428279:	8d 42 20             	lea    0x20(%edx),%eax
42827c:	66 83 f8 06          	cmp    $0x6,%ax
428280:	76 2c                	jbe    0x4282ae
428282:	8d 82 00 b2 ff ff    	lea    -0x4e00(%edx),%eax
428288:	b9 a5 51 00 00       	mov    $0x51a5,%ecx
42828d:	66 3b c1             	cmp    %cx,%ax
428290:	76 1c                	jbe    0x4282ae
428292:	8d 8a 00 07 00 00    	lea    0x700(%edx),%ecx
428298:	be 2d 01 00 00       	mov    $0x12d,%esi
42829d:	66 3b ce             	cmp    %si,%cx
4282a0:	76 0c                	jbe    0x4282ae
4282a2:	8d 8a d0 01 00 00    	lea    0x1d0(%edx),%ecx
4282a8:	66 83 f9 1f          	cmp    $0x1f,%cx
4282ac:	77 05                	ja     0x4282b3
4282ae:	33 c0                	xor    %eax,%eax
4282b0:	40                   	inc    %eax
4282b1:	5e                   	pop    %esi
4282b2:	c3                   	ret
4282b3:	33 c0                	xor    %eax,%eax
4282b5:	5e                   	pop    %esi
4282b6:	c3                   	ret
4282b7:	8b ff                	mov    %edi,%edi
4282b9:	56                   	push   %esi
4282ba:	8b 71 20             	mov    0x20(%ecx),%esi
4282bd:	57                   	push   %edi
4282be:	8b fa                	mov    %edx,%edi
4282c0:	89 71 18             	mov    %esi,0x18(%ecx)
4282c3:	85 ff                	test   %edi,%edi
4282c5:	74 0b                	je     0x4282d2
4282c7:	8b c6                	mov    %esi,%eax
4282c9:	33 d2                	xor    %edx,%edx
4282cb:	f7 f7                	div    %edi
4282cd:	2b f2                	sub    %edx,%esi
4282cf:	89 71 18             	mov    %esi,0x18(%ecx)
4282d2:	89 79 14             	mov    %edi,0x14(%ecx)
4282d5:	5f                   	pop    %edi
4282d6:	5e                   	pop    %esi
4282d7:	c3                   	ret
4282d8:	8b ff                	mov    %edi,%edi
4282da:	56                   	push   %esi
4282db:	57                   	push   %edi
4282dc:	8b f1                	mov    %ecx,%esi
4282de:	33 ff                	xor    %edi,%edi
4282e0:	e8 4f 11 fe ff       	call   0x409434
4282e5:	84 c0                	test   %al,%al
4282e7:	74 2a                	je     0x428313
4282e9:	0f b7 06             	movzwl (%esi),%eax
4282ec:	66 85 c0             	test   %ax,%ax
4282ef:	74 1e                	je     0x42830f
4282f1:	8b c8                	mov    %eax,%ecx
4282f3:	e8 56 fe ff ff       	call   0x42814e
4282f8:	33 c9                	xor    %ecx,%ecx
4282fa:	8d 76 02             	lea    0x2(%esi),%esi
4282fd:	85 c0                	test   %eax,%eax
4282ff:	0f 95 c1             	setne  %cl
428302:	41                   	inc    %ecx
428303:	03 f9                	add    %ecx,%edi
428305:	0f b7 0e             	movzwl (%esi),%ecx
428308:	8b c1                	mov    %ecx,%eax
42830a:	66 85 c9             	test   %cx,%cx
42830d:	75 e2                	jne    0x4282f1
42830f:	8b c7                	mov    %edi,%eax
428311:	eb 14                	jmp    0x428327
428313:	8d 4e 02             	lea    0x2(%esi),%ecx
428316:	66 8b 06             	mov    (%esi),%ax
428319:	83 c6 02             	add    $0x2,%esi
42831c:	66 3b c7             	cmp    %di,%ax
42831f:	75 f5                	jne    0x428316
428321:	2b f1                	sub    %ecx,%esi
428323:	d1 fe                	sar    $1,%esi
428325:	8b c6                	mov    %esi,%eax
428327:	5f                   	pop    %edi
428328:	5e                   	pop    %esi
428329:	c3                   	ret
42832a:	8b ff                	mov    %edi,%edi
42832c:	55                   	push   %ebp
42832d:	8b ec                	mov    %esp,%ebp
42832f:	83 ec 7c             	sub    $0x7c,%esp
428332:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
428337:	33 c5                	xor    %ebp,%eax
428339:	89 45 f8             	mov    %eax,-0x8(%ebp)
42833c:	56                   	push   %esi
42833d:	8b 75 08             	mov    0x8(%ebp),%esi
428340:	8d 45 14             	lea    0x14(%ebp),%eax
428343:	57                   	push   %edi
428344:	89 45 8c             	mov    %eax,-0x74(%ebp)
428347:	33 ff                	xor    %edi,%edi
428349:	8d 45 8c             	lea    -0x74(%ebp),%eax
42834c:	89 7d 90             	mov    %edi,-0x70(%ebp)
42834f:	50                   	push   %eax
428350:	6a 0a                	push   $0xa
428352:	8d 45 90             	lea    -0x70(%ebp),%eax
428355:	50                   	push   %eax
428356:	57                   	push   %edi
428357:	ff 75 0c             	push   0xc(%ebp)
42835a:	57                   	push   %edi
42835b:	68 00 19 00 00       	push   $0x1900
428360:	ff 15 88 a1 44 00    	call   *0x44a188
428366:	89 7d 8c             	mov    %edi,-0x74(%ebp)
428369:	85 c0                	test   %eax,%eax
42836b:	75 78                	jne    0x4283e5
42836d:	6a 10                	push   $0x10
42836f:	8d 45 d8             	lea    -0x28(%ebp),%eax
428372:	50                   	push   %eax
428373:	ff 75 0c             	push   0xc(%ebp)
428376:	ff 15 90 a3 44 00    	call   *0x44a390
42837c:	83 c4 0c             	add    $0xc,%esp
42837f:	8d 45 94             	lea    -0x6c(%ebp),%eax
428382:	6a 20                	push   $0x20
428384:	50                   	push   %eax
428385:	6a ff                	push   $0xffffffff
428387:	8d 45 d8             	lea    -0x28(%ebp),%eax
42838a:	50                   	push   %eax
42838b:	ff 15 90 a1 44 00    	call   *0x44a190
428391:	8b c8                	mov    %eax,%ecx
428393:	e8 b0 5e fe ff       	call   0x40e248
428398:	f7 d8                	neg    %eax
42839a:	1b c0                	sbb    %eax,%eax
42839c:	f7 d8                	neg    %eax
42839e:	50                   	push   %eax
42839f:	57                   	push   %edi
4283a0:	ff 15 68 a2 44 00    	call   *0x44a268
4283a6:	81 7d 0c 28 23 00 00 	cmpl   $0x2328,0xc(%ebp)
4283ad:	8d 45 94             	lea    -0x6c(%ebp),%eax
4283b0:	89 45 84             	mov    %eax,-0x7c(%ebp)
4283b3:	b8 70 3e 40 00       	mov    $0x403e70,%eax
4283b8:	73 05                	jae    0x4283bf
4283ba:	b8 88 3e 40 00       	mov    $0x403e88,%eax
4283bf:	89 45 88             	mov    %eax,-0x78(%ebp)
4283c2:	8d 45 84             	lea    -0x7c(%ebp),%eax
4283c5:	50                   	push   %eax
4283c6:	6a 0a                	push   $0xa
4283c8:	8d 45 90             	lea    -0x70(%ebp),%eax
4283cb:	50                   	push   %eax
4283cc:	57                   	push   %edi
4283cd:	68 3d 01 00 00       	push   $0x13d
4283d2:	57                   	push   %edi
4283d3:	68 00 31 00 00       	push   $0x3100
4283d8:	ff 15 88 a1 44 00    	call   *0x44a188
4283de:	85 c0                	test   %eax,%eax
4283e0:	75 03                	jne    0x4283e5
4283e2:	40                   	inc    %eax
4283e3:	eb 2f                	jmp    0x428414
4283e5:	ff 75 90             	push   -0x70(%ebp)
4283e8:	ba 00 1f 40 00       	mov    $0x401f00,%edx
4283ed:	8b ce                	mov    %esi,%ecx
4283ef:	e8 10 e2 fe ff       	call   0x416604
4283f4:	8b 56 10             	mov    0x10(%esi),%edx
4283f7:	8b ce                	mov    %esi,%ecx
4283f9:	e8 c7 c5 fd ff       	call   0x4049c5
4283fe:	85 c0                	test   %eax,%eax
428400:	74 07                	je     0x428409
428402:	8b ce                	mov    %esi,%ecx
428404:	e8 86 c5 fd ff       	call   0x40498f
428409:	ff 75 90             	push   -0x70(%ebp)
42840c:	ff 15 4c a1 44 00    	call   *0x44a14c
428412:	33 c0                	xor    %eax,%eax
428414:	8b 4d f8             	mov    -0x8(%ebp),%ecx
428417:	5f                   	pop    %edi
428418:	33 cd                	xor    %ebp,%ecx
42841a:	5e                   	pop    %esi
42841b:	e8 10 e7 fe ff       	call   0x416b30
428420:	c9                   	leave
428421:	c3                   	ret
428422:	8b ff                	mov    %edi,%edi
428424:	53                   	push   %ebx
428425:	56                   	push   %esi
428426:	8b f1                	mov    %ecx,%esi
428428:	57                   	push   %edi
428429:	8b 5e 14             	mov    0x14(%esi),%ebx
42842c:	85 db                	test   %ebx,%ebx
42842e:	74 56                	je     0x428486
428430:	e8 ff 0f fe ff       	call   0x409434
428435:	84 c0                	test   %al,%al
428437:	74 0c                	je     0x428445
428439:	8b 4e 10             	mov    0x10(%esi),%ecx
42843c:	e8 97 fe ff ff       	call   0x4282d8
428441:	8b c8                	mov    %eax,%ecx
428443:	eb 03                	jmp    0x428448
428445:	8b 4e 08             	mov    0x8(%esi),%ecx
428448:	33 d2                	xor    %edx,%edx
42844a:	8b c1                	mov    %ecx,%eax
42844c:	f7 f3                	div    %ebx
42844e:	2b da                	sub    %edx,%ebx
428450:	8d 04 0b             	lea    (%ebx,%ecx,1),%eax
428453:	3b 46 18             	cmp    0x18(%esi),%eax
428456:	73 34                	jae    0x42848c
428458:	8b 46 08             	mov    0x8(%esi),%eax
42845b:	8b 4e 10             	mov    0x10(%esi),%ecx
42845e:	8d 3c 41             	lea    (%ecx,%eax,2),%edi
428461:	85 db                	test   %ebx,%ebx
428463:	74 16                	je     0x42847b
428465:	8b cb                	mov    %ebx,%ecx
428467:	b8 20 00 20 00       	mov    $0x200020,%eax
42846c:	d1 e9                	shr    $1,%ecx
42846e:	f3 ab                	rep stos %eax,%es:(%edi)
428470:	13 c9                	adc    %ecx,%ecx
428472:	66 f3 ab             	rep stos %ax,%es:(%edi)
428475:	8b 46 08             	mov    0x8(%esi),%eax
428478:	8b 4e 10             	mov    0x10(%esi),%ecx
42847b:	03 c3                	add    %ebx,%eax
42847d:	33 d2                	xor    %edx,%edx
42847f:	89 46 08             	mov    %eax,0x8(%esi)
428482:	66 89 14 41          	mov    %dx,(%ecx,%eax,2)
428486:	33 c0                	xor    %eax,%eax
428488:	5f                   	pop    %edi
428489:	5e                   	pop    %esi
42848a:	5b                   	pop    %ebx
42848b:	c3                   	ret
42848c:	5f                   	pop    %edi
42848d:	8b ce                	mov    %esi,%ecx
42848f:	5e                   	pop    %esi
428490:	5b                   	pop    %ebx
428491:	e9 62 c5 fd ff       	jmp    0x4049f8
428496:	8b ff                	mov    %edi,%edi
428498:	55                   	push   %ebp
428499:	8b ec                	mov    %esp,%ebp
42849b:	83 ec 24             	sub    $0x24,%esp
42849e:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
4284a3:	33 c5                	xor    %ebp,%eax
4284a5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4284a8:	53                   	push   %ebx
4284a9:	8b d9                	mov    %ecx,%ebx
4284ab:	8b c3                	mov    %ebx,%eax
4284ad:	c0 e8 04             	shr    $0x4,%al
4284b0:	32 c3                	xor    %bl,%al
4284b2:	56                   	push   %esi
4284b3:	a8 0f                	test   $0xf,%al
4284b5:	74 45                	je     0x4284fc
4284b7:	6a f5                	push   $0xfffffff5
4284b9:	ff 15 bc a1 44 00    	call   *0x44a1bc
4284bf:	8b f0                	mov    %eax,%esi
4284c1:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4284c4:	50                   	push   %eax
4284c5:	56                   	push   %esi
4284c6:	ff 15 28 a0 44 00    	call   *0x44a028
4284cc:	85 c0                	test   %eax,%eax
4284ce:	74 2c                	je     0x4284fc
4284d0:	0f bf 4d e4          	movswl -0x1c(%ebp),%ecx
4284d4:	33 c0                	xor    %eax,%eax
4284d6:	89 45 e0             	mov    %eax,-0x20(%ebp)
4284d9:	8d 45 dc             	lea    -0x24(%ebp),%eax
4284dc:	50                   	push   %eax
4284dd:	0f bf 45 e6          	movswl -0x1a(%ebp),%eax
4284e1:	ff 75 e0             	push   -0x20(%ebp)
4284e4:	0f af c8             	imul   %eax,%ecx
4284e7:	51                   	push   %ecx
4284e8:	53                   	push   %ebx
4284e9:	56                   	push   %esi
4284ea:	ff 15 2c a0 44 00    	call   *0x44a02c
4284f0:	53                   	push   %ebx
4284f1:	56                   	push   %esi
4284f2:	ff 15 24 a0 44 00    	call   *0x44a024
4284f8:	33 c0                	xor    %eax,%eax
4284fa:	eb 03                	jmp    0x4284ff
4284fc:	33 c0                	xor    %eax,%eax
4284fe:	40                   	inc    %eax
4284ff:	8b 4d fc             	mov    -0x4(%ebp),%ecx
428502:	5e                   	pop    %esi
428503:	33 cd                	xor    %ebp,%ecx
428505:	5b                   	pop    %ebx
428506:	e8 25 e6 fe ff       	call   0x416b30
42850b:	c9                   	leave
42850c:	c3                   	ret
42850d:	8b 49 3c             	mov    0x3c(%ecx),%ecx
428510:	33 d2                	xor    %edx,%edx
428512:	42                   	inc    %edx
428513:	e8 f1 18 fe ff       	call   0x409e09
428518:	8b c8                	mov    %eax,%ecx
42851a:	8d 41 ff             	lea    -0x1(%ecx),%eax
42851d:	83 e8 01             	sub    $0x1,%eax
428520:	74 10                	je     0x428532
428522:	83 e8 01             	sub    $0x1,%eax
428525:	74 07                	je     0x42852e
428527:	e8 93 ca fd ff       	call   0x404fbf
42852c:	eb 1e                	jmp    0x42854c
42852e:	33 c0                	xor    %eax,%eax
428530:	40                   	inc    %eax
428531:	c3                   	ret
428532:	33 c0                	xor    %eax,%eax
428534:	38 05 58 90 44 00    	cmp    %al,0x449058
42853a:	6a 00                	push   $0x0
42853c:	0f 95 c0             	setne  %al
42853f:	05 47 23 00 00       	add    $0x2347,%eax
428544:	50                   	push   %eax
428545:	e8 73 de fd ff       	call   0x4063bd
42854a:	59                   	pop    %ecx
42854b:	59                   	pop    %ecx
42854c:	33 c0                	xor    %eax,%eax
42854e:	c3                   	ret
42854f:	cc                   	int3
428550:	8b ff                	mov    %edi,%edi
428552:	55                   	push   %ebp
428553:	8b ec                	mov    %esp,%ebp
428555:	83 ec 2c             	sub    $0x2c,%esp
428558:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
42855d:	33 c5                	xor    %ebp,%eax
42855f:	89 45 fc             	mov    %eax,-0x4(%ebp)
428562:	33 c9                	xor    %ecx,%ecx
428564:	56                   	push   %esi
428565:	41                   	inc    %ecx
428566:	e8 2d 58 fe ff       	call   0x40dd98
42856b:	85 c0                	test   %eax,%eax
42856d:	74 75                	je     0x4285e4
42856f:	6a f5                	push   $0xfffffff5
428571:	ff 15 bc a1 44 00    	call   *0x44a1bc
428577:	8b f0                	mov    %eax,%esi
428579:	8d 45 e4             	lea    -0x1c(%ebp),%eax
42857c:	50                   	push   %eax
42857d:	56                   	push   %esi
42857e:	ff 15 28 a0 44 00    	call   *0x44a028
428584:	85 c0                	test   %eax,%eax
428586:	74 5c                	je     0x4285e4
428588:	8b 4d e6             	mov    -0x1a(%ebp),%ecx
42858b:	33 c0                	xor    %eax,%eax
42858d:	66 89 45 dc          	mov    %ax,-0x24(%ebp)
428591:	f7 d9                	neg    %ecx
428593:	89 45 d4             	mov    %eax,-0x2c(%ebp)
428596:	66 8b 45 e6          	mov    -0x1a(%ebp),%ax
42859a:	66 89 45 da          	mov    %ax,-0x26(%ebp)
42859e:	66 8b 45 e4          	mov    -0x1c(%ebp),%ax
4285a2:	6a 20                	push   $0x20
4285a4:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
4285a8:	58                   	pop    %eax
4285a9:	66 89 45 e0          	mov    %ax,-0x20(%ebp)
4285ad:	66 8b 45 ec          	mov    -0x14(%ebp),%ax
4285b1:	66 89 45 e2          	mov    %ax,-0x1e(%ebp)
4285b5:	8d 45 e0             	lea    -0x20(%ebp),%eax
4285b8:	50                   	push   %eax
4285b9:	66 89 4d de          	mov    %cx,-0x22(%ebp)
4285bd:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4285c0:	ff 75 dc             	push   -0x24(%ebp)
4285c3:	6a 00                	push   $0x0
4285c5:	50                   	push   %eax
4285c6:	56                   	push   %esi
4285c7:	ff 15 3c a0 44 00    	call   *0x44a03c
4285cd:	33 c0                	xor    %eax,%eax
4285cf:	50                   	push   %eax
4285d0:	6a f5                	push   $0xfffffff5