428500:	66 83 fa 3c          	cmp    $0x3c,%dx
428504:	0f 85 63 01 00 00    	jne    0x42866d
42850a:	66 83 78 02 21       	cmpw   $0x21,0x2(%eax)
42850f:	75 7f                	jne    0x428590
428511:	0f b7 50 04          	movzwl 0x4(%eax),%edx
428515:	83 fa 2d             	cmp    $0x2d,%edx
428518:	74 76                	je     0x428590
42851a:	83 fa 5b             	cmp    $0x5b,%edx
42851d:	75 6b                	jne    0x42858a
42851f:	0f b7 48 06          	movzwl 0x6(%eax),%ecx
428523:	83 c0 06             	add    $0x6,%eax
428526:	33 d2                	xor    %edx,%edx
428528:	66 85 c9             	test   %cx,%cx
42852b:	0f 84 cd 00 00 00    	je     0x4285fe
428531:	8b f1                	mov    %ecx,%esi
428533:	66 83 fe 3c          	cmp    $0x3c,%si
428537:	75 14                	jne    0x42854d
428539:	66 83 78 02 21       	cmpw   $0x21,0x2(%eax)
42853e:	75 2a                	jne    0x42856a
428540:	66 83 78 04 5b       	cmpw   $0x5b,0x4(%eax)
428545:	75 23                	jne    0x42856a
428547:	83 c0 06             	add    $0x6,%eax
42854a:	42                   	inc    %edx
42854b:	eb 20                	jmp    0x42856d
42854d:	66 83 fe 5d          	cmp    $0x5d,%si
428551:	75 17                	jne    0x42856a
428553:	66 39 70 02          	cmp    %si,0x2(%eax)
428557:	75 11                	jne    0x42856a
428559:	66 83 78 04 3e       	cmpw   $0x3e,0x4(%eax)
42855e:	75 0a                	jne    0x42856a
428560:	83 c0 06             	add    $0x6,%eax
428563:	85 d2                	test   %edx,%edx
428565:	74 7a                	je     0x4285e1
428567:	4a                   	dec    %edx
428568:	eb 03                	jmp    0x42856d
42856a:	83 c0 02             	add    $0x2,%eax
42856d:	0f b7 08             	movzwl (%eax),%ecx
428570:	8b f1                	mov    %ecx,%esi
428572:	66 85 c9             	test   %cx,%cx
428575:	75 bc                	jne    0x428533
428577:	5f                   	pop    %edi
428578:	89 43 04             	mov    %eax,0x4(%ebx)
42857b:	33 c0                	xor    %eax,%eax
42857d:	5e                   	pop    %esi
42857e:	c7 43 08 09 00 00 00 	movl   $0x9,0x8(%ebx)
428585:	5b                   	pop    %ebx
428586:	5d                   	pop    %ebp
428587:	c2 08 00             	ret    $0x8
42858a:	83 c0 04             	add    $0x4,%eax
42858d:	47                   	inc    %edi
42858e:	eb 55                	jmp    0x4285e5
428590:	0f b7 48 02          	movzwl 0x2(%eax),%ecx
428594:	8b d1                	mov    %ecx,%edx
428596:	83 f9 3f             	cmp    $0x3f,%ecx
428599:	75 76                	jne    0x428611
42859b:	8d 48 04             	lea    0x4(%eax),%ecx
42859e:	0f b7 01             	movzwl (%ecx),%eax
4285a1:	66 85 c0             	test   %ax,%ax
4285a4:	74 25                	je     0x4285cb
4285a6:	8b d0                	mov    %eax,%edx
4285a8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
4285af:	00
4285b0:	8b c1                	mov    %ecx,%eax
4285b2:	8d 48 02             	lea    0x2(%eax),%ecx
4285b5:	66 83 fa 3f          	cmp    $0x3f,%dx
4285b9:	75 06                	jne    0x4285c1
4285bb:	66 83 39 3e          	cmpw   $0x3e,(%ecx)
4285bf:	74 1d                	je     0x4285de
4285c1:	0f b7 01             	movzwl (%ecx),%eax
4285c4:	8b d0                	mov    %eax,%edx
4285c6:	66 85 c0             	test   %ax,%ax
4285c9:	75 e5                	jne    0x4285b0
4285cb:	5f                   	pop    %edi
4285cc:	5e                   	pop    %esi
4285cd:	89 4b 04             	mov    %ecx,0x4(%ebx)
4285d0:	33 c0                	xor    %eax,%eax
4285d2:	c7 43 08 09 00 00 00 	movl   $0x9,0x8(%ebx)
4285d9:	5b                   	pop    %ebx
4285da:	5d                   	pop    %ebp
4285db:	c2 08 00             	ret    $0x8
4285de:	83 c0 04             	add    $0x4,%eax
4285e1:	85 c0                	test   %eax,%eax
4285e3:	74 23                	je     0x428608
4285e5:	0f b7 08             	movzwl (%eax),%ecx
4285e8:	8b d1                	mov    %ecx,%edx
4285ea:	66 85 c9             	test   %cx,%cx
4285ed:	0f 85 0d ff ff ff    	jne    0x428500
4285f3:	85 ff                	test   %edi,%edi
4285f5:	75 07                	jne    0x4285fe
4285f7:	66 83 7d 0c 3e       	cmpw   $0x3e,0xc(%ebp)
4285fc:	74 0c                	je     0x42860a
4285fe:	89 43 04             	mov    %eax,0x4(%ebx)
428601:	c7 43 08 09 00 00 00 	movl   $0x9,0x8(%ebx)
428608:	33 c0                	xor    %eax,%eax
42860a:	5f                   	pop    %edi
42860b:	5e                   	pop    %esi
42860c:	5b                   	pop    %ebx
42860d:	5d                   	pop    %ebp
42860e:	c2 08 00             	ret    $0x8
428611:	83 fa 21             	cmp    $0x21,%edx
428614:	75 e8                	jne    0x4285fe
428616:	66 83 78 04 2d       	cmpw   $0x2d,0x4(%eax)
42861b:	75 e1                	jne    0x4285fe
42861d:	66 83 78 06 2d       	cmpw   $0x2d,0x6(%eax)
428622:	75 da                	jne    0x4285fe
428624:	8d 48 08             	lea    0x8(%eax),%ecx
428627:	0f b7 01             	movzwl (%ecx),%eax
42862a:	66 85 c0             	test   %ax,%ax
42862d:	74 9c                	je     0x4285cb
42862f:	8b d0                	mov    %eax,%edx
428631:	66 83 fa 2d          	cmp    $0x2d,%dx
428635:	75 0d                	jne    0x428644
428637:	66 39 51 02          	cmp    %dx,0x2(%ecx)
42863b:	75 07                	jne    0x428644
42863d:	66 83 79 04 3e       	cmpw   $0x3e,0x4(%ecx)
428642:	74 21                	je     0x428665
428644:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
428648:	83 c1 02             	add    $0x2,%ecx
42864b:	8b d0                	mov    %eax,%edx
42864d:	66 85 c0             	test   %ax,%ax
428650:	75 df                	jne    0x428631
428652:	5f                   	pop    %edi
428653:	5e                   	pop    %esi
428654:	89 4b 04             	mov    %ecx,0x4(%ebx)
428657:	33 c0                	xor    %eax,%eax
428659:	c7 43 08 09 00 00 00 	movl   $0x9,0x8(%ebx)
428660:	5b                   	pop    %ebx
428661:	5d                   	pop    %ebp
428662:	c2 08 00             	ret    $0x8
428665:	8d 41 06             	lea    0x6(%ecx),%eax
428668:	e9 74 ff ff ff       	jmp    0x4285e1
42866d:	66 83 fa 22          	cmp    $0x22,%dx
428671:	74 19                	je     0x42868c
428673:	66 83 fa 27          	cmp    $0x27,%dx
428677:	74 13                	je     0x42868c
428679:	66 83 fa 3e          	cmp    $0x3e,%dx
42867d:	75 05                	jne    0x428684
42867f:	85 ff                	test   %edi,%edi
428681:	74 87                	je     0x42860a
428683:	4f                   	dec    %edi
428684:	83 c0 02             	add    $0x2,%eax
428687:	e9 59 ff ff ff       	jmp    0x4285e5
42868c:	0f b7 48 02          	movzwl 0x2(%eax),%ecx
428690:	83 c0 02             	add    $0x2,%eax
428693:	66 85 c9             	test   %cx,%cx
428696:	0f 84 62 ff ff ff    	je     0x4285fe
42869c:	8b f1                	mov    %ecx,%esi
42869e:	66 90                	xchg   %ax,%ax
4286a0:	83 c0 02             	add    $0x2,%eax
4286a3:	66 3b f2             	cmp    %dx,%si
4286a6:	0f 84 35 ff ff ff    	je     0x4285e1
4286ac:	0f b7 08             	movzwl (%eax),%ecx
4286af:	8b f1                	mov    %ecx,%esi
4286b1:	66 85 c9             	test   %cx,%cx
4286b4:	75 ea                	jne    0x4286a0
4286b6:	5f                   	pop    %edi
4286b7:	89 43 04             	mov    %eax,0x4(%ebx)
4286ba:	33 c0                	xor    %eax,%eax
4286bc:	5e                   	pop    %esi
4286bd:	c7 43 08 09 00 00 00 	movl   $0x9,0x8(%ebx)
4286c4:	5b                   	pop    %ebx
4286c5:	5d                   	pop    %ebp
4286c6:	c2 08 00             	ret    $0x8
4286c9:	cc                   	int3
4286ca:	cc                   	int3
4286cb:	cc                   	int3
4286cc:	cc                   	int3
4286cd:	cc                   	int3
4286ce:	cc                   	int3
4286cf:	cc                   	int3
4286d0:	55                   	push   %ebp
4286d1:	8b ec                	mov    %esp,%ebp
4286d3:	53                   	push   %ebx
4286d4:	56                   	push   %esi
4286d5:	8b 75 08             	mov    0x8(%ebp),%esi
4286d8:	83 c6 02             	add    $0x2,%esi
4286db:	57                   	push   %edi
4286dc:	8b f9                	mov    %ecx,%edi
4286de:	0f b7 06             	movzwl (%esi),%eax
4286e1:	83 f8 2d             	cmp    $0x2d,%eax
4286e4:	75 74                	jne    0x42875a
4286e6:	83 c6 02             	add    $0x2,%esi
4286e9:	66 39 06             	cmp    %ax,(%esi)
4286ec:	75 40                	jne    0x42872e
4286ee:	0f b7 46 02          	movzwl 0x2(%esi),%eax
4286f2:	83 c6 02             	add    $0x2,%esi
4286f5:	66 85 c0             	test   %ax,%ax
4286f8:	74 34                	je     0x42872e
4286fa:	8b 55 14             	mov    0x14(%ebp),%edx
4286fd:	8b c8                	mov    %eax,%ecx
4286ff:	90                   	nop
428700:	66 83 f9 2d          	cmp    $0x2d,%cx
428704:	75 1a                	jne    0x428720
428706:	66 39 4e 02          	cmp    %cx,0x2(%esi)
42870a:	75 14                	jne    0x428720
42870c:	0f b7 46 04          	movzwl 0x4(%esi),%eax
428710:	83 f8 3e             	cmp    $0x3e,%eax
428713:	74 2c                	je     0x428741
428715:	66 85 c0             	test   %ax,%ax
428718:	75 06                	jne    0x428720
42871a:	66 83 fa 3e          	cmp    $0x3e,%dx
42871e:	74 21                	je     0x428741
428720:	0f b7 46 02          	movzwl 0x2(%esi),%eax
428724:	83 c6 02             	add    $0x2,%esi
428727:	8b c8                	mov    %eax,%ecx
428729:	66 85 c0             	test   %ax,%ax
42872c:	75 d2                	jne    0x428700
42872e:	89 77 04             	mov    %esi,0x4(%edi)
428731:	33 c0                	xor    %eax,%eax
428733:	c7 47 08 07 00 00 00 	movl   $0x7,0x8(%edi)
42873a:	5f                   	pop    %edi
42873b:	5e                   	pop    %esi
42873c:	5b                   	pop    %ebx
42873d:	5d                   	pop    %ebp
42873e:	c2 10 00             	ret    $0x10
428741:	33 c0                	xor    %eax,%eax
428743:	66 83 7e 04 3e       	cmpw   $0x3e,0x4(%esi)
428748:	5f                   	pop    %edi
428749:	0f 94 c0             	sete   %al
42874c:	8d 34 46             	lea    (%esi,%eax,2),%esi
42874f:	83 c6 04             	add    $0x4,%esi
428752:	8b c6                	mov    %esi,%eax
428754:	5e                   	pop    %esi
428755:	5b                   	pop    %ebx
428756:	5d                   	pop    %ebp
428757:	c2 10 00             	ret    $0x10
42875a:	83 f8 5b             	cmp    $0x5b,%eax
42875d:	0f 85 bf 00 00 00    	jne    0x428822
428763:	83 c6 02             	add    $0x2,%esi
428766:	66 83 3e 43          	cmpw   $0x43,(%esi)
42876a:	0f 85 9f 00 00 00    	jne    0x42880f
428770:	83 c6 02             	add    $0x2,%esi
428773:	66 83 3e 44          	cmpw   $0x44,(%esi)
428777:	0f 85 92 00 00 00    	jne    0x42880f
42877d:	83 c6 02             	add    $0x2,%esi
428780:	66 83 3e 41          	cmpw   $0x41,(%esi)
428784:	0f 85 85 00 00 00    	jne    0x42880f
42878a:	83 c6 02             	add    $0x2,%esi
42878d:	66 83 3e 54          	cmpw   $0x54,(%esi)
428791:	75 7c                	jne    0x42880f
428793:	83 c6 02             	add    $0x2,%esi
428796:	66 83 3e 41          	cmpw   $0x41,(%esi)
42879a:	75 73                	jne    0x42880f
42879c:	83 c6 02             	add    $0x2,%esi
42879f:	66 39 06             	cmp    %ax,(%esi)
4287a2:	75 6b                	jne    0x42880f
4287a4:	8b 17                	mov    (%edi),%edx
4287a6:	83 c6 02             	add    $0x2,%esi
4287a9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4287ac:	6a 04                	push   $0x4
4287ae:	e8 ad f7 ff ff       	call   0x427f60
4287b3:	8b d8                	mov    %eax,%ebx
4287b5:	83 c4 04             	add    $0x4,%esp
4287b8:	85 db                	test   %ebx,%ebx
4287ba:	75 11                	jne    0x4287cd
4287bc:	89 77 04             	mov    %esi,0x4(%edi)
4287bf:	c7 47 08 03 00 00 00 	movl   $0x3,0x8(%edi)
4287c6:	5f                   	pop    %edi
4287c7:	5e                   	pop    %esi
4287c8:	5b                   	pop    %ebx
4287c9:	5d                   	pop    %ebp
4287ca:	c2 10 00             	ret    $0x10
4287cd:	8b 55 14             	mov    0x14(%ebp),%edx
4287d0:	8b ce                	mov    %esi,%ecx
4287d2:	89 73 08             	mov    %esi,0x8(%ebx)
4287d5:	e8 b6 fb ff ff       	call   0x428390
4287da:	8b f0                	mov    %eax,%esi
4287dc:	85 f6                	test   %esi,%esi
4287de:	75 16                	jne    0x4287f6
4287e0:	8b 43 08             	mov    0x8(%ebx),%eax
4287e3:	89 47 04             	mov    %eax,0x4(%edi)
4287e6:	33 c0                	xor    %eax,%eax
4287e8:	c7 47 08 08 00 00 00 	movl   $0x8,0x8(%edi)
4287ef:	5f                   	pop    %edi
4287f0:	5e                   	pop    %esi
4287f1:	5b                   	pop    %ebx
4287f2:	5d                   	pop    %ebp
4287f3:	c2 10 00             	ret    $0x10
4287f6:	33 c0                	xor    %eax,%eax
4287f8:	66 83 7e 02 3e       	cmpw   $0x3e,0x2(%esi)
4287fd:	5f                   	pop    %edi
4287fe:	0f 94 c0             	sete   %al
428801:	8d 34 46             	lea    (%esi,%eax,2),%esi
428804:	83 c6 02             	add    $0x2,%esi
428807:	8b c6                	mov    %esi,%eax
428809:	5e                   	pop    %esi
42880a:	5b                   	pop    %ebx
42880b:	5d                   	pop    %ebp
42880c:	c2 10 00             	ret    $0x10
42880f:	89 77 04             	mov    %esi,0x4(%edi)
428812:	33 c0                	xor    %eax,%eax
428814:	c7 47 08 08 00 00 00 	movl   $0x8,0x8(%edi)
42881b:	5f                   	pop    %edi
42881c:	5e                   	pop    %esi
42881d:	5b                   	pop    %ebx
42881e:	5d                   	pop    %ebp
42881f:	c2 10 00             	ret    $0x10
428822:	83 f8 44             	cmp    $0x44,%eax
428825:	0f 85 8f 00 00 00    	jne    0x4288ba
42882b:	66 83 7e 02 4f       	cmpw   $0x4f,0x2(%esi)
428830:	0f 85 a0 00 00 00    	jne    0x4288d6
428836:	66 83 7e 04 43       	cmpw   $0x43,0x4(%esi)
42883b:	0f 85 95 00 00 00    	jne    0x4288d6
428841:	66 83 7e 06 54       	cmpw   $0x54,0x6(%esi)
428846:	0f 85 8a 00 00 00    	jne    0x4288d6
42884c:	66 83 7e 08 59       	cmpw   $0x59,0x8(%esi)
428851:	0f 85 7f 00 00 00    	jne    0x4288d6
428857:	66 83 7e 0a 50       	cmpw   $0x50,0xa(%esi)
42885c:	75 78                	jne    0x4288d6
42885e:	0f b7 46 0c          	movzwl 0xc(%esi),%eax
428862:	8b 4d 14             	mov    0x14(%ebp),%ecx
428865:	83 f8 45             	cmp    $0x45,%eax
428868:	74 0b                	je     0x428875
42886a:	66 85 c0             	test   %ax,%ax
42886d:	75 67                	jne    0x4288d6
42886f:	66 83 f9 45          	cmp    $0x45,%cx
428873:	75 61                	jne    0x4288d6
428875:	8b 45 0c             	mov    0xc(%ebp),%eax
428878:	83 ee 04             	sub    $0x4,%esi
42887b:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
42887f:	74 13                	je     0x428894
428881:	89 77 04             	mov    %esi,0x4(%edi)
428884:	33 c0                	xor    %eax,%eax
428886:	c7 47 08 09 00 00 00 	movl   $0x9,0x8(%edi)
42888d:	5f                   	pop    %edi
42888e:	5e                   	pop    %esi
42888f:	5b                   	pop    %ebx
428890:	5d                   	pop    %ebp
428891:	c2 10 00             	ret    $0x10
428894:	51                   	push   %ecx
428895:	56                   	push   %esi
428896:	8b cf                	mov    %edi,%ecx
428898:	e8 43 fc ff ff       	call   0x4284e0
42889d:	8b f0                	mov    %eax,%esi
42889f:	85 f6                	test   %esi,%esi
4288a1:	74 3d                	je     0x4288e0
4288a3:	66 83 3e 00          	cmpw   $0x0,(%esi)
4288a7:	74 08                	je     0x4288b1
4288a9:	33 c0                	xor    %eax,%eax
4288ab:	66 89 06             	mov    %ax,(%esi)
4288ae:	83 c6 02             	add    $0x2,%esi
4288b1:	5f                   	pop    %edi
4288b2:	8b c6                	mov    %esi,%eax
4288b4:	5e                   	pop    %esi
4288b5:	5b                   	pop    %ebx
4288b6:	5d                   	pop    %ebp
4288b7:	c2 10 00             	ret    $0x10
4288ba:	66 85 c0             	test   %ax,%ax
4288bd:	75 17                	jne    0x4288d6
4288bf:	8b 45 14             	mov    0x14(%ebp),%eax