43551b:	83 f8 24             	cmp    $0x24,%eax
43551e:	7e 26                	jle    0x435546
435520:	e8 11 e9 ff ff       	call   0x433e36
435525:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
43552b:	e8 4a e8 ff ff       	call   0x433d7a
435530:	33 db                	xor    %ebx,%ebx
435532:	8b 55 10             	mov    0x10(%ebp),%edx
435535:	85 d2                	test   %edx,%edx
435537:	74 05                	je     0x43553e
435539:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43553c:	89 0a                	mov    %ecx,(%edx)
43553e:	5f                   	pop    %edi
43553f:	8b c3                	mov    %ebx,%eax
435541:	5b                   	pop    %ebx
435542:	8b e5                	mov    %ebp,%esp
435544:	5d                   	pop    %ebp
435545:	c3                   	ret
435546:	56                   	push   %esi
435547:	ff 75 08             	push   0x8(%ebp)
43554a:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
43554d:	e8 65 c4 ff ff       	call   0x4319b7
435552:	8b 45 0c             	mov    0xc(%ebp),%eax
435555:	33 f6                	xor    %esi,%esi
435557:	89 75 f8             	mov    %esi,-0x8(%ebp)
43555a:	89 45 f4             	mov    %eax,-0xc(%ebp)
43555d:	eb 03                	jmp    0x435562
43555f:	8b 45 0c             	mov    0xc(%ebp),%eax
435562:	0f b7 30             	movzwl (%eax),%esi
435565:	03 c7                	add    %edi,%eax
435567:	6a 08                	push   $0x8
435569:	56                   	push   %esi
43556a:	89 45 0c             	mov    %eax,0xc(%ebp)
43556d:	e8 1b 07 00 00       	call   0x435c8d
435572:	59                   	pop    %ecx
435573:	59                   	pop    %ecx
435574:	85 c0                	test   %eax,%eax
435576:	75 e7                	jne    0x43555f
435578:	33 db                	xor    %ebx,%ebx
43557a:	38 5d 18             	cmp    %bl,0x18(%ebp)
43557d:	0f 95 c3             	setne  %bl
435580:	66 83 fe 2d          	cmp    $0x2d,%si
435584:	75 04                	jne    0x43558a
435586:	0b df                	or     %edi,%ebx
435588:	eb 06                	jmp    0x435590
43558a:	66 83 fe 2b          	cmp    $0x2b,%si
43558e:	75 0e                	jne    0x43559e
435590:	8b 7d 0c             	mov    0xc(%ebp),%edi
435593:	0f b7 37             	movzwl (%edi),%esi
435596:	83 c7 02             	add    $0x2,%edi
435599:	89 7d 0c             	mov    %edi,0xc(%ebp)
43559c:	eb 03                	jmp    0x4355a1
43559e:	8b 7d 0c             	mov    0xc(%ebp),%edi
4355a1:	8b 4d 14             	mov    0x14(%ebp),%ecx
4355a4:	c7 45 fc 19 00 00 00 	movl   $0x19,-0x4(%ebp)
4355ab:	6a 30                	push   $0x30
4355ad:	58                   	pop    %eax
4355ae:	6a 10                	push   $0x10
4355b0:	5a                   	pop    %edx
4355b1:	85 c9                	test   %ecx,%ecx
4355b3:	74 08                	je     0x4355bd
4355b5:	3b ca                	cmp    %edx,%ecx
4355b7:	0f 85 db 02 00 00    	jne    0x435898
4355bd:	66 3b f0             	cmp    %ax,%si
4355c0:	0f 82 55 02 00 00    	jb     0x43581b
4355c6:	6a 3a                	push   $0x3a
4355c8:	58                   	pop    %eax
4355c9:	66 3b f0             	cmp    %ax,%si
4355cc:	73 0b                	jae    0x4355d9
4355ce:	0f b7 c6             	movzwl %si,%eax
4355d1:	83 e8 30             	sub    $0x30,%eax
4355d4:	e9 3d 02 00 00       	jmp    0x435816
4355d9:	b8 10 ff 00 00       	mov    $0xff10,%eax
4355de:	66 3b f0             	cmp    %ax,%si
4355e1:	0f 83 18 02 00 00    	jae    0x4357ff
4355e7:	b8 60 06 00 00       	mov    $0x660,%eax
4355ec:	66 3b f0             	cmp    %ax,%si
4355ef:	0f 82 26 02 00 00    	jb     0x43581b
4355f5:	83 c0 0a             	add    $0xa,%eax
4355f8:	66 3b f0             	cmp    %ax,%si
4355fb:	73 0d                	jae    0x43560a
4355fd:	0f b7 c6             	movzwl %si,%eax
435600:	2d 60 06 00 00       	sub    $0x660,%eax
435605:	e9 0c 02 00 00       	jmp    0x435816
43560a:	b8 f0 06 00 00       	mov    $0x6f0,%eax
43560f:	66 3b f0             	cmp    %ax,%si
435612:	0f 82 03 02 00 00    	jb     0x43581b
435618:	83 c0 0a             	add    $0xa,%eax
43561b:	66 3b f0             	cmp    %ax,%si
43561e:	73 0d                	jae    0x43562d
435620:	0f b7 c6             	movzwl %si,%eax
435623:	2d f0 06 00 00       	sub    $0x6f0,%eax
435628:	e9 e9 01 00 00       	jmp    0x435816
43562d:	b8 66 09 00 00       	mov    $0x966,%eax
435632:	66 3b f0             	cmp    %ax,%si
435635:	0f 82 e0 01 00 00    	jb     0x43581b
43563b:	83 c0 0a             	add    $0xa,%eax
43563e:	66 3b f0             	cmp    %ax,%si
435641:	73 0d                	jae    0x435650
435643:	0f b7 c6             	movzwl %si,%eax
435646:	2d 66 09 00 00       	sub    $0x966,%eax
43564b:	e9 c6 01 00 00       	jmp    0x435816
435650:	b8 e6 09 00 00       	mov    $0x9e6,%eax
435655:	66 3b f0             	cmp    %ax,%si
435658:	0f 82 bd 01 00 00    	jb     0x43581b
43565e:	83 c0 0a             	add    $0xa,%eax
435661:	66 3b f0             	cmp    %ax,%si
435664:	73 0d                	jae    0x435673
435666:	0f b7 c6             	movzwl %si,%eax
435669:	2d e6 09 00 00       	sub    $0x9e6,%eax
43566e:	e9 a3 01 00 00       	jmp    0x435816
435673:	b8 66 0a 00 00       	mov    $0xa66,%eax
435678:	66 3b f0             	cmp    %ax,%si
43567b:	0f 82 9a 01 00 00    	jb     0x43581b
435681:	83 c0 0a             	add    $0xa,%eax
435684:	66 3b f0             	cmp    %ax,%si
435687:	73 0d                	jae    0x435696
435689:	0f b7 c6             	movzwl %si,%eax
43568c:	2d 66 0a 00 00       	sub    $0xa66,%eax
435691:	e9 80 01 00 00       	jmp    0x435816
435696:	b8 e6 0a 00 00       	mov    $0xae6,%eax
43569b:	66 3b f0             	cmp    %ax,%si
43569e:	0f 82 77 01 00 00    	jb     0x43581b
4356a4:	83 c0 0a             	add    $0xa,%eax
4356a7:	66 3b f0             	cmp    %ax,%si
4356aa:	73 0d                	jae    0x4356b9
4356ac:	0f b7 c6             	movzwl %si,%eax
4356af:	2d e6 0a 00 00       	sub    $0xae6,%eax
4356b4:	e9 5d 01 00 00       	jmp    0x435816
4356b9:	b8 66 0b 00 00       	mov    $0xb66,%eax
4356be:	66 3b f0             	cmp    %ax,%si
4356c1:	0f 82 54 01 00 00    	jb     0x43581b
4356c7:	83 c0 0a             	add    $0xa,%eax
4356ca:	66 3b f0             	cmp    %ax,%si
4356cd:	73 0d                	jae    0x4356dc
4356cf:	0f b7 c6             	movzwl %si,%eax
4356d2:	2d 66 0b 00 00       	sub    $0xb66,%eax
4356d7:	e9 3a 01 00 00       	jmp    0x435816
4356dc:	b8 66 0c 00 00       	mov    $0xc66,%eax
4356e1:	66 3b f0             	cmp    %ax,%si
4356e4:	0f 82 31 01 00 00    	jb     0x43581b
4356ea:	83 c0 0a             	add    $0xa,%eax
4356ed:	66 3b f0             	cmp    %ax,%si
4356f0:	73 0d                	jae    0x4356ff
4356f2:	0f b7 c6             	movzwl %si,%eax
4356f5:	2d 66 0c 00 00       	sub    $0xc66,%eax
4356fa:	e9 17 01 00 00       	jmp    0x435816
4356ff:	b8 e6 0c 00 00       	mov    $0xce6,%eax
435704:	66 3b f0             	cmp    %ax,%si
435707:	0f 82 0e 01 00 00    	jb     0x43581b
43570d:	83 c0 0a             	add    $0xa,%eax
435710:	66 3b f0             	cmp    %ax,%si
435713:	73 0d                	jae    0x435722
435715:	0f b7 c6             	movzwl %si,%eax
435718:	2d e6 0c 00 00       	sub    $0xce6,%eax
43571d:	e9 f4 00 00 00       	jmp    0x435816
435722:	b8 66 0d 00 00       	mov    $0xd66,%eax
435727:	66 3b f0             	cmp    %ax,%si
43572a:	0f 82 eb 00 00 00    	jb     0x43581b
435730:	83 c0 0a             	add    $0xa,%eax
435733:	66 3b f0             	cmp    %ax,%si
435736:	73 0d                	jae    0x435745
435738:	0f b7 c6             	movzwl %si,%eax
43573b:	2d 66 0d 00 00       	sub    $0xd66,%eax
435740:	e9 d1 00 00 00       	jmp    0x435816
435745:	b8 50 0e 00 00       	mov    $0xe50,%eax
43574a:	66 3b f0             	cmp    %ax,%si
43574d:	0f 82 c8 00 00 00    	jb     0x43581b
435753:	83 c0 0a             	add    $0xa,%eax
435756:	66 3b f0             	cmp    %ax,%si
435759:	73 0d                	jae    0x435768
43575b:	0f b7 c6             	movzwl %si,%eax
43575e:	2d 50 0e 00 00       	sub    $0xe50,%eax
435763:	e9 ae 00 00 00       	jmp    0x435816
435768:	b8 d0 0e 00 00       	mov    $0xed0,%eax
43576d:	66 3b f0             	cmp    %ax,%si
435770:	0f 82 a5 00 00 00    	jb     0x43581b
435776:	83 c0 0a             	add    $0xa,%eax
435779:	66 3b f0             	cmp    %ax,%si
43577c:	73 0d                	jae    0x43578b
43577e:	0f b7 c6             	movzwl %si,%eax
435781:	2d d0 0e 00 00       	sub    $0xed0,%eax
435786:	e9 8b 00 00 00       	jmp    0x435816
43578b:	b8 20 0f 00 00       	mov    $0xf20,%eax
435790:	66 3b f0             	cmp    %ax,%si
435793:	0f 82 82 00 00 00    	jb     0x43581b
435799:	83 c0 0a             	add    $0xa,%eax
43579c:	66 3b f0             	cmp    %ax,%si
43579f:	73 0a                	jae    0x4357ab
4357a1:	0f b7 c6             	movzwl %si,%eax
4357a4:	2d 20 0f 00 00       	sub    $0xf20,%eax
4357a9:	eb 6b                	jmp    0x435816
4357ab:	b8 40 10 00 00       	mov    $0x1040,%eax
4357b0:	66 3b f0             	cmp    %ax,%si
4357b3:	72 66                	jb     0x43581b
4357b5:	83 c0 0a             	add    $0xa,%eax
4357b8:	66 3b f0             	cmp    %ax,%si
4357bb:	73 0a                	jae    0x4357c7
4357bd:	0f b7 c6             	movzwl %si,%eax
4357c0:	2d 40 10 00 00       	sub    $0x1040,%eax
4357c5:	eb 4f                	jmp    0x435816
4357c7:	b8 e0 17 00 00       	mov    $0x17e0,%eax
4357cc:	66 3b f0             	cmp    %ax,%si
4357cf:	72 4a                	jb     0x43581b
4357d1:	83 c0 0a             	add    $0xa,%eax
4357d4:	66 3b f0             	cmp    %ax,%si
4357d7:	73 0a                	jae    0x4357e3
4357d9:	0f b7 c6             	movzwl %si,%eax
4357dc:	2d e0 17 00 00       	sub    $0x17e0,%eax
4357e1:	eb 33                	jmp    0x435816
4357e3:	b8 10 18 00 00       	mov    $0x1810,%eax
4357e8:	66 3b f0             	cmp    %ax,%si
4357eb:	72 2e                	jb     0x43581b
4357ed:	83 c0 0a             	add    $0xa,%eax
4357f0:	66 3b f0             	cmp    %ax,%si
4357f3:	73 26                	jae    0x43581b
4357f5:	0f b7 c6             	movzwl %si,%eax
4357f8:	2d 10 18 00 00       	sub    $0x1810,%eax
4357fd:	eb 17                	jmp    0x435816
4357ff:	b8 1a ff 00 00       	mov    $0xff1a,%eax
435804:	66 3b f0             	cmp    %ax,%si
435807:	73 0a                	jae    0x435813
435809:	0f b7 c6             	movzwl %si,%eax
43580c:	2d 10 ff 00 00       	sub    $0xff10,%eax
435811:	eb 03                	jmp    0x435816
435813:	83 c8 ff             	or     $0xffffffff,%eax
435816:	83 f8 ff             	cmp    $0xffffffff,%eax
435819:	75 30                	jne    0x43584b
43581b:	6a 41                	push   $0x41
43581d:	58                   	pop    %eax
43581e:	66 3b c6             	cmp    %si,%ax
435821:	77 08                	ja     0x43582b
435823:	6a 5a                	push   $0x5a
435825:	58                   	pop    %eax
435826:	66 3b f0             	cmp    %ax,%si
435829:	76 09                	jbe    0x435834
43582b:	8d 46 9f             	lea    -0x61(%esi),%eax
43582e:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
435832:	77 14                	ja     0x435848
435834:	8d 46 9f             	lea    -0x61(%esi),%eax
435837:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
43583b:	0f b7 c6             	movzwl %si,%eax
43583e:	77 03                	ja     0x435843
435840:	83 e8 20             	sub    $0x20,%eax
435843:	83 c0 c9             	add    $0xffffffc9,%eax
435846:	eb 03                	jmp    0x43584b
435848:	83 c8 ff             	or     $0xffffffff,%eax
43584b:	85 c0                	test   %eax,%eax
43584d:	74 0d                	je     0x43585c
43584f:	85 c9                	test   %ecx,%ecx
435851:	75 45                	jne    0x435898
435853:	c7 45 14 0a 00 00 00 	movl   $0xa,0x14(%ebp)
43585a:	eb 3c                	jmp    0x435898
43585c:	0f b7 07             	movzwl (%edi),%eax
43585f:	83 c7 02             	add    $0x2,%edi
435862:	89 7d 0c             	mov    %edi,0xc(%ebp)
435865:	83 f8 78             	cmp    $0x78,%eax
435868:	74 1e                	je     0x435888
43586a:	83 f8 58             	cmp    $0x58,%eax
43586d:	74 19                	je     0x435888
43586f:	85 c9                	test   %ecx,%ecx
435871:	75 07                	jne    0x43587a
435873:	c7 45 14 08 00 00 00 	movl   $0x8,0x14(%ebp)
43587a:	50                   	push   %eax
43587b:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43587e:	e8 81 03 00 00       	call   0x435c04
435883:	8b 7d 0c             	mov    0xc(%ebp),%edi
435886:	eb 10                	jmp    0x435898
435888:	85 c9                	test   %ecx,%ecx
43588a:	75 03                	jne    0x43588f
43588c:	89 55 14             	mov    %edx,0x14(%ebp)
43588f:	0f b7 37             	movzwl (%edi),%esi
435892:	83 c7 02             	add    $0x2,%edi
435895:	89 7d 0c             	mov    %edi,0xc(%ebp)
435898:	83 c8 ff             	or     $0xffffffff,%eax
43589b:	33 d2                	xor    %edx,%edx
43589d:	f7 75 14             	divl   0x14(%ebp)
4358a0:	8b c8                	mov    %eax,%ecx
4358a2:	6a 30                	push   $0x30
4358a4:	58                   	pop    %eax
4358a5:	66 3b f0             	cmp    %ax,%si
4358a8:	0f 82 55 02 00 00    	jb     0x435b03
4358ae:	6a 3a                	push   $0x3a
4358b0:	58                   	pop    %eax
4358b1:	66 3b f0             	cmp    %ax,%si
4358b4:	73 0b                	jae    0x4358c1
4358b6:	0f b7 c6             	movzwl %si,%eax
4358b9:	83 e8 30             	sub    $0x30,%eax
4358bc:	e9 3d 02 00 00       	jmp    0x435afe
4358c1:	b8 10 ff 00 00       	mov    $0xff10,%eax
4358c6:	66 3b f0             	cmp    %ax,%si
4358c9:	0f 83 18 02 00 00    	jae    0x435ae7
4358cf:	b8 60 06 00 00       	mov    $0x660,%eax
4358d4:	66 3b f0             	cmp    %ax,%si
4358d7:	0f 82 26 02 00 00    	jb     0x435b03
4358dd:	83 c0 0a             	add    $0xa,%eax
4358e0:	66 3b f0             	cmp    %ax,%si
4358e3:	73 0d                	jae    0x4358f2
4358e5:	0f b7 c6             	movzwl %si,%eax
4358e8:	2d 60 06 00 00       	sub    $0x660,%eax
4358ed:	e9 0c 02 00 00       	jmp    0x435afe
4358f2:	b8 f0 06 00 00       	mov    $0x6f0,%eax
4358f7:	66 3b f0             	cmp    %ax,%si
4358fa:	0f 82 03 02 00 00    	jb     0x435b03
435900:	83 c0 0a             	add    $0xa,%eax
435903:	66 3b f0             	cmp    %ax,%si
435906:	73 0d                	jae    0x435915
435908:	0f b7 c6             	movzwl %si,%eax
43590b:	2d f0 06 00 00       	sub    $0x6f0,%eax
435910:	e9 e9 01 00 00       	jmp    0x435afe
435915:	b8 66 09 00 00       	mov    $0x966,%eax
43591a:	66 3b f0             	cmp    %ax,%si
43591d:	0f 82 e0 01 00 00    	jb     0x435b03
435923:	83 c0 0a             	add    $0xa,%eax
435926:	66 3b f0             	cmp    %ax,%si
435929:	73 0d                	jae    0x435938
43592b:	0f b7 c6             	movzwl %si,%eax
43592e:	2d 66 09 00 00       	sub    $0x966,%eax
435933:	e9 c6 01 00 00       	jmp    0x435afe
435938:	b8 e6 09 00 00       	mov    $0x9e6,%eax
43593d:	66 3b f0             	cmp    %ax,%si
435940:	0f 82 bd 01 00 00    	jb     0x435b03
435946:	83 c0 0a             	add    $0xa,%eax
435949:	66 3b f0             	cmp    %ax,%si
43594c:	73 0d                	jae    0x43595b
43594e:	0f b7 c6             	movzwl %si,%eax
435951:	2d e6 09 00 00       	sub    $0x9e6,%eax
435956:	e9 a3 01 00 00       	jmp    0x435afe
43595b:	b8 66 0a 00 00       	mov    $0xa66,%eax
435960:	66 3b f0             	cmp    %ax,%si
435963:	0f 82 9a 01 00 00    	jb     0x435b03
435969:	83 c0 0a             	add    $0xa,%eax
43596c:	66 3b f0             	cmp    %ax,%si
43596f:	73 0d                	jae    0x43597e
435971:	0f b7 c6             	movzwl %si,%eax
435974:	2d 66 0a 00 00       	sub    $0xa66,%eax
435979:	e9 80 01 00 00       	jmp    0x435afe
43597e:	b8 e6 0a 00 00       	mov    $0xae6,%eax
435983:	66 3b f0             	cmp    %ax,%si
435986:	0f 82 77 01 00 00    	jb     0x435b03
43598c:	83 c0 0a             	add    $0xa,%eax
43598f:	66 3b f0             	cmp    %ax,%si
435992:	73 0d                	jae    0x4359a1
435994:	0f b7 c6             	movzwl %si,%eax
435997:	2d e6 0a 00 00       	sub    $0xae6,%eax
43599c:	e9 5d 01 00 00       	jmp    0x435afe
4359a1:	b8 66 0b 00 00       	mov    $0xb66,%eax
4359a6:	66 3b f0             	cmp    %ax,%si
4359a9:	0f 82 54 01 00 00    	jb     0x435b03
4359af:	83 c0 0a             	add    $0xa,%eax
4359b2:	66 3b f0             	cmp    %ax,%si