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
4285d2:	89 45 e8             	mov    %eax,-0x18(%ebp)
4285d5:	ff 15 bc a1 44 00    	call   *0x44a1bc
4285db:	50                   	push   %eax
4285dc:	ff 15 38 a0 44 00    	call   *0x44a038
4285e2:	eb 0b                	jmp    0x4285ef
4285e4:	68 98 3e 40 00       	push   $0x403e98
4285e9:	e8 62 13 fe ff       	call   0x409950
4285ee:	59                   	pop    %ecx
4285ef:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4285f2:	33 c0                	xor    %eax,%eax
4285f4:	33 cd                	xor    %ebp,%ecx
4285f6:	5e                   	pop    %esi
4285f7:	e8 34 e5 fe ff       	call   0x416b30
4285fc:	c9                   	leave
4285fd:	c2 04 00             	ret    $0x4
428600:	8b ff                	mov    %edi,%edi
428602:	55                   	push   %ebp
428603:	8b ec                	mov    %esp,%ebp
428605:	53                   	push   %ebx
428606:	56                   	push   %esi
428607:	57                   	push   %edi
428608:	8b 7d 08             	mov    0x8(%ebp),%edi
42860b:	33 db                	xor    %ebx,%ebx
42860d:	33 d2                	xor    %edx,%edx
42860f:	8b f3                	mov    %ebx,%esi
428611:	8b 4f 3c             	mov    0x3c(%edi),%ecx
428614:	e8 f0 17 fe ff       	call   0x409e09
428619:	48                   	dec    %eax
42861a:	83 e8 01             	sub    $0x1,%eax
42861d:	0f 84 8e 00 00 00    	je     0x4286b1
428623:	83 e8 01             	sub    $0x1,%eax
428626:	75 67                	jne    0x42868f
428628:	8b 4f 3c             	mov    0x3c(%edi),%ecx
42862b:	e8 5e 18 fe ff       	call   0x409e8e
428630:	8b f8                	mov    %eax,%edi
428632:	0f b7 07             	movzwl (%edi),%eax
428635:	66 85 c0             	test   %ax,%ax
428638:	74 3f                	je     0x428679
42863a:	8b c8                	mov    %eax,%ecx
42863c:	51                   	push   %ecx
42863d:	ff 15 b4 a3 44 00    	call   *0x44a3b4
428643:	59                   	pop    %ecx
428644:	85 c0                	test   %eax,%eax
428646:	74 31                	je     0x428679
428648:	0f b7 07             	movzwl (%edi),%eax
42864b:	83 f8 39             	cmp    $0x39,%eax
42864e:	77 05                	ja     0x428655
428650:	83 c0 d0             	add    $0xffffffd0,%eax
428653:	eb 0c                	jmp    0x428661
428655:	50                   	push   %eax
428656:	ff 15 10 a4 44 00    	call   *0x44a410
42865c:	59                   	pop    %ecx
42865d:	66 83 e8 57          	sub    $0x57,%ax
428661:	83 c7 02             	add    $0x2,%edi
428664:	c1 e6 04             	shl    $0x4,%esi
428667:	0f b7 c0             	movzwl %ax,%eax
42866a:	03 f0                	add    %eax,%esi
42866c:	0f b7 f6             	movzwl %si,%esi
42866f:	0f b7 07             	movzwl (%edi),%eax
428672:	8b c8                	mov    %eax,%ecx
428674:	66 85 c0             	test   %ax,%ax
428677:	75 c3                	jne    0x42863c
428679:	8b cf                	mov    %edi,%ecx
42867b:	e8 0e 18 fe ff       	call   0x409e8e
428680:	66 39 18             	cmp    %bx,(%eax)
428683:	75 0a                	jne    0x42868f
428685:	b8 00 01 00 00       	mov    $0x100,%eax
42868a:	66 3b f0             	cmp    %ax,%si
42868d:	72 29                	jb     0x4286b8
42868f:	e8 7a 13 00 00       	call   0x429a0e
428694:	53                   	push   %ebx
428695:	68 23 27 00 40       	push   $0x40002723
42869a:	e8 1e dd fd ff       	call   0x4063bd
42869f:	59                   	pop    %ecx
4286a0:	59                   	pop    %ecx
4286a1:	88 1d 5b 90 44 00    	mov    %bl,0x44905b
4286a7:	33 c0                	xor    %eax,%eax
4286a9:	89 1d 0c 95 44 00    	mov    %ebx,0x44950c
4286af:	eb 13                	jmp    0x4286c4
4286b1:	0f b7 35 64 67 43 00 	movzwl 0x436764,%esi
4286b8:	8b ce                	mov    %esi,%ecx
4286ba:	e8 d7 fd ff ff       	call   0x428496
4286bf:	a3 dc 65 43 00       	mov    %eax,0x4365dc
4286c4:	5f                   	pop    %edi
4286c5:	5e                   	pop    %esi
4286c6:	5b                   	pop    %ebx
4286c7:	5d                   	pop    %ebp
4286c8:	c2 04 00             	ret    $0x4
4286cb:	cc                   	int3
4286cc:	cc                   	int3
4286cd:	cc                   	int3
4286ce:	cc                   	int3
4286cf:	cc                   	int3
4286d0:	8b ff                	mov    %edi,%edi
4286d2:	55                   	push   %ebp
4286d3:	8b ec                	mov    %esp,%ebp
4286d5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4286d8:	e8 30 fe ff ff       	call   0x42850d
4286dd:	a3 dc 65 43 00       	mov    %eax,0x4365dc
4286e2:	5d                   	pop    %ebp
4286e3:	c2 04 00             	ret    $0x4
4286e6:	8b ff                	mov    %edi,%edi
4286e8:	55                   	push   %ebp
4286e9:	8b ec                	mov    %esp,%ebp
4286eb:	56                   	push   %esi
4286ec:	51                   	push   %ecx
4286ed:	68 28 3d 40 00       	push   $0x403d28
4286f2:	8b f2                	mov    %edx,%esi
4286f4:	e8 57 12 fe ff       	call   0x409950
4286f9:	59                   	pop    %ecx
4286fa:	59                   	pop    %ecx
4286fb:	8b ce                	mov    %esi,%ecx
4286fd:	e8 1b 00 00 00       	call   0x42871d
428702:	8b 55 08             	mov    0x8(%ebp),%edx
428705:	8b 4e 38             	mov    0x38(%esi),%ecx
428708:	e8 84 00 00 00       	call   0x428791
42870d:	8b 55 08             	mov    0x8(%ebp),%edx
428710:	8b 4e 3c             	mov    0x3c(%esi),%ecx
428713:	e8 79 00 00 00       	call   0x428791
428718:	5e                   	pop    %esi
428719:	5d                   	pop    %ebp
42871a:	c2 04 00             	ret    $0x4
42871d:	8b ff                	mov    %edi,%edi
42871f:	56                   	push   %esi
428720:	8b 71 34             	mov    0x34(%ecx),%esi
428723:	85 f6                	test   %esi,%esi
428725:	74 5c                	je     0x428783
428727:	53                   	push   %ebx
428728:	57                   	push   %edi
428729:	6a 07                	push   $0x7
42872b:	5a                   	pop    %edx
42872c:	b9 34 3f 40 00       	mov    $0x403f34,%ecx
428731:	e8 57 12 fe ff       	call   0x40998d
428736:	33 db                	xor    %ebx,%ebx
428738:	0f b7 46 10          	movzwl 0x10(%esi),%eax
42873c:	50                   	push   %eax
42873d:	ff 36                	push   (%esi)
42873f:	68 44 3f 40 00       	push   $0x403f44
428744:	e8 07 12 fe ff       	call   0x409950
428749:	83 c4 0c             	add    $0xc,%esp
42874c:	39 5e 0c             	cmp    %ebx,0xc(%esi)
42874f:	74 0d                	je     0x42875e
428751:	33 d2                	xor    %edx,%edx
428753:	b9 50 3e 40 00       	mov    $0x403e50,%ecx
428758:	42                   	inc    %edx
428759:	e8 2f 12 fe ff       	call   0x40998d
42875e:	8b 4e 04             	mov    0x4(%esi),%ecx
428761:	8b d1                	mov    %ecx,%edx
428763:	8d 7a 02             	lea    0x2(%edx),%edi
428766:	66 8b 02             	mov    (%edx),%ax
428769:	83 c2 02             	add    $0x2,%edx
42876c:	66 3b c3             	cmp    %bx,%ax
42876f:	75 f5                	jne    0x428766
428771:	2b d7                	sub    %edi,%edx
428773:	d1 fa                	sar    $1,%edx
428775:	e8 13 12 fe ff       	call   0x40998d
42877a:	8b 76 14             	mov    0x14(%esi),%esi
42877d:	85 f6                	test   %esi,%esi
42877f:	75 b7                	jne    0x428738
428781:	5f                   	pop    %edi
428782:	5b                   	pop    %ebx
428783:	6a 02                	push   $0x2
428785:	5a                   	pop    %edx
428786:	b9 8c 1f 40 00       	mov    $0x401f8c,%ecx
42878b:	5e                   	pop    %esi
42878c:	e9 fc 11 fe ff       	jmp    0x40998d
428791:	8b ff                	mov    %edi,%edi
428793:	55                   	push   %ebp
428794:	8b ec                	mov    %esp,%ebp
428796:	83 ec 0c             	sub    $0xc,%esp
428799:	53                   	push   %ebx
42879a:	56                   	push   %esi
42879b:	57                   	push   %edi
42879c:	8b fa                	mov    %edx,%edi
42879e:	8b f1                	mov    %ecx,%esi