4235c7:	8d 43 08             	lea    0x8(%ebx),%eax
4235ca:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4235ce:	50                   	push   %eax
4235cf:	b1 30                	mov    $0x30,%cl
4235d1:	e8 35 12 00 00       	call   0x42480b
4235d6:	0f b7 c0             	movzwl %ax,%eax
4235d9:	89 45 80             	mov    %eax,-0x80(%ebp)
4235dc:	8a 07                	mov    (%edi),%al
4235de:	59                   	pop    %ecx
4235df:	3c 2b                	cmp    $0x2b,%al
4235e1:	74 0a                	je     0x4235ed
4235e3:	3c 2d                	cmp    $0x2d,%al
4235e5:	74 06                	je     0x4235ed
4235e7:	83 65 a0 00          	andl   $0x0,-0x60(%ebp)
4235eb:	eb 07                	jmp    0x4235f4
4235ed:	c7 45 a0 01 00 00 00 	movl   $0x1,-0x60(%ebp)
4235f4:	ff 15 a4 80 4a 00    	call   *0x4a80a4
4235fa:	8b b5 6c ff ff ff    	mov    -0x94(%ebp),%esi
423600:	56                   	push   %esi
423601:	6a 65                	push   $0x65
423603:	8b 00                	mov    (%eax),%eax
423605:	57                   	push   %edi
423606:	8a 18                	mov    (%eax),%bl
423608:	88 5d a4             	mov    %bl,-0x5c(%ebp)
42360b:	66 c7 45 a5 65 00    	movw   $0x65,-0x5b(%ebp)
423611:	e8 a1 cf 06 00       	call   0x4905b7
423616:	83 c4 0c             	add    $0xc,%esp
423619:	89 45 88             	mov    %eax,-0x78(%ebp)
42361c:	0f be c3             	movsbl %bl,%eax
42361f:	56                   	push   %esi
423620:	50                   	push   %eax
423621:	57                   	push   %edi
423622:	e8 90 cf 06 00       	call   0x4905b7
423627:	83 c4 0c             	add    $0xc,%esp
42362a:	89 45 b0             	mov    %eax,-0x50(%ebp)
42362d:	f7 d8                	neg    %eax
42362f:	1b db                	sbb    %ebx,%ebx
423631:	8b 45 b8             	mov    -0x48(%ebp),%eax
423634:	23 9d 7c ff ff ff    	and    -0x84(%ebp),%ebx
42363a:	8b c8                	mov    %eax,%ecx
42363c:	83 7d cc 10          	cmpl   $0x10,-0x34(%ebp)
423640:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
423646:	73 03                	jae    0x42364b
423648:	8d 4d b8             	lea    -0x48(%ebp),%ecx
42364b:	80 39 7f             	cmpb   $0x7f,(%ecx)
42364e:	0f 84 0d 01 00 00    	je     0x423761
423654:	83 7d cc 10          	cmpl   $0x10,-0x34(%ebp)
423658:	73 03                	jae    0x42365d
42365a:	8d 45 b8             	lea    -0x48(%ebp),%eax
42365d:	80 38 00             	cmpb   $0x0,(%eax)
423660:	0f 8e fb 00 00 00    	jle    0x423761
423666:	56                   	push   %esi
423667:	57                   	push   %edi
423668:	8d 4d d0             	lea    -0x30(%ebp),%ecx
42366b:	e8 72 07 00 00       	call   0x423de2
423670:	8b 75 88             	mov    -0x78(%ebp),%esi
423673:	85 f6                	test   %esi,%esi
423675:	75 0d                	jne    0x423684
423677:	6a 30                	push   $0x30
423679:	53                   	push   %ebx
42367a:	8d 4d d0             	lea    -0x30(%ebp),%ecx
42367d:	e8 0f 07 00 00       	call   0x423d91
423682:	eb 25                	jmp    0x4236a9
423684:	83 7d b0 00          	cmpl   $0x0,-0x50(%ebp)
423688:	75 11                	jne    0x42369b
42368a:	6a 30                	push   $0x30
42368c:	ff 75 ac             	push   -0x54(%ebp)
42368f:	8d 4d d0             	lea    -0x30(%ebp),%ecx
423692:	e8 fa 06 00 00       	call   0x423d91
423697:	83 65 ac 00          	andl   $0x0,-0x54(%ebp)
42369b:	6a 30                	push   $0x30
42369d:	53                   	push   %ebx
42369e:	2b f7                	sub    %edi,%esi
4236a0:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4236a3:	56                   	push   %esi
4236a4:	e8 4c 06 00 00       	call   0x423cf5
4236a9:	8b 5d b0             	mov    -0x50(%ebp),%ebx
4236ac:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4236af:	6a 30                	push   $0x30
4236b1:	85 db                	test   %ebx,%ebx
4236b3:	75 0a                	jne    0x4236bf
4236b5:	ff 75 ac             	push   -0x54(%ebp)
4236b8:	e8 d4 06 00 00       	call   0x423d91
4236bd:	eb 26                	jmp    0x4236e5
4236bf:	ff b5 64 ff ff ff    	push   -0x9c(%ebp)
4236c5:	2b df                	sub    %edi,%ebx
4236c7:	8d 43 01             	lea    0x1(%ebx),%eax
4236ca:	50                   	push   %eax
4236cb:	e8 25 06 00 00       	call   0x423cf5
4236d0:	6a 30                	push   $0x30
4236d2:	ff 75 ac             	push   -0x54(%ebp)
4236d5:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4236d8:	53                   	push   %ebx
4236d9:	e8 17 06 00 00       	call   0x423cf5
4236de:	83 a5 64 ff ff ff 00 	andl   $0x0,-0x9c(%ebp)
4236e5:	83 65 ac 00          	andl   $0x0,-0x54(%ebp)
4236e9:	83 7d cc 10          	cmpl   $0x10,-0x34(%ebp)
4236ed:	8b 75 b8             	mov    -0x48(%ebp),%esi
4236f0:	73 03                	jae    0x4236f5
4236f2:	8d 75 b8             	lea    -0x48(%ebp),%esi
4236f5:	83 7d e8 10          	cmpl   $0x10,-0x18(%ebp)
4236f9:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4236fc:	73 03                	jae    0x423701
4236fe:	8d 45 d4             	lea    -0x2c(%ebp),%eax
423701:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
423704:	51                   	push   %ecx
423705:	50                   	push   %eax
423706:	ff 15 a0 80 4a 00    	call   *0x4a80a0
42370c:	8b f8                	mov    %eax,%edi
42370e:	8a 06                	mov    (%esi),%al
423710:	59                   	pop    %ecx
423711:	59                   	pop    %ecx
423712:	3c 7f                	cmp    $0x7f,%al
423714:	74 2e                	je     0x423744
423716:	8b 5d a0             	mov    -0x60(%ebp),%ebx
423719:	84 c0                	test   %al,%al
42371b:	7e 27                	jle    0x423744
42371d:	0f be c8             	movsbl %al,%ecx
423720:	8b c7                	mov    %edi,%eax
423722:	2b c3                	sub    %ebx,%eax
423724:	3b c8                	cmp    %eax,%ecx
423726:	73 1c                	jae    0x423744
423728:	6a 00                	push   $0x0
42372a:	2b f9                	sub    %ecx,%edi
42372c:	8d 4d d0             	lea    -0x30(%ebp),%ecx
42372f:	6a 01                	push   $0x1
423731:	57                   	push   %edi
423732:	e8 be 05 00 00       	call   0x423cf5
423737:	80 7e 01 00          	cmpb   $0x0,0x1(%esi)
42373b:	7e 01                	jle    0x42373e
42373d:	46                   	inc    %esi
42373e:	8a 06                	mov    (%esi),%al
423740:	3c 7f                	cmp    $0x7f,%al
423742:	75 d5                	jne    0x423719
423744:	83 7d e8 10          	cmpl   $0x10,-0x18(%ebp)
423748:	8b 7d d4             	mov    -0x2c(%ebp),%edi
42374b:	73 03                	jae    0x423750
42374d:	8d 7d d4             	lea    -0x2c(%ebp),%edi
423750:	8b 75 e4             	mov    -0x1c(%ebp),%esi
423753:	33 db                	xor    %ebx,%ebx
423755:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
42375b:	89 b5 6c ff ff ff    	mov    %esi,-0x94(%ebp)
423761:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
423767:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
42376a:	03 85 64 ff ff ff    	add    -0x9c(%ebp),%eax
423770:	03 45 ac             	add    -0x54(%ebp),%eax
423773:	8b 59 18             	mov    0x18(%ecx),%ebx
423776:	85 db                	test   %ebx,%ebx
423778:	7e 08                	jle    0x423782
42377a:	3b d8                	cmp    %eax,%ebx
42377c:	76 04                	jbe    0x423782
42377e:	2b d8                	sub    %eax,%ebx
423780:	eb 02                	jmp    0x423784
423782:	33 db                	xor    %ebx,%ebx
423784:	8b 41 10             	mov    0x10(%ecx),%eax
423787:	25 c0 01 00 00       	and    $0x1c0,%eax
42378c:	83 f8 40             	cmp    $0x40,%eax
42378f:	74 77                	je     0x423808
423791:	3d 00 01 00 00       	cmp    $0x100,%eax
423796:	74 2d                	je     0x4237c5
423798:	53                   	push   %ebx
423799:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
42379f:	ff 75 28             	push   0x28(%ebp)
4237a2:	ff 75 24             	push   0x24(%ebp)
4237a5:	8d 55 84             	lea    -0x7c(%ebp),%edx
4237a8:	e8 bd fa ff ff       	call   0x42326a
4237ad:	83 c4 10             	add    $0x10,%esp
4237b0:	33 db                	xor    %ebx,%ebx
4237b2:	8b 08                	mov    (%eax),%ecx
4237b4:	89 4d 24             	mov    %ecx,0x24(%ebp)
4237b7:	8b 40 04             	mov    0x4(%eax),%eax
4237ba:	89 4d b0             	mov    %ecx,-0x50(%ebp)
4237bd:	89 45 a0             	mov    %eax,-0x60(%ebp)
4237c0:	89 45 28             	mov    %eax,0x28(%ebp)
4237c3:	eb 4f                	jmp    0x423814
4237c5:	83 7d a0 00          	cmpl   $0x0,-0x60(%ebp)
4237c9:	76 2c                	jbe    0x4237f7
4237cb:	8b 4d 98             	mov    -0x68(%ebp),%ecx
4237ce:	8d 55 84             	lea    -0x7c(%ebp),%edx
4237d1:	6a 01                	push   $0x1
4237d3:	57                   	push   %edi
4237d4:	ff 75 28             	push   0x28(%ebp)
4237d7:	ff 75 24             	push   0x24(%ebp)
4237da:	e8 2a 04 00 00       	call   0x423c09
4237df:	83 c4 10             	add    $0x10,%esp
4237e2:	47                   	inc    %edi
4237e3:	4e                   	dec    %esi
4237e4:	89 b5 6c ff ff ff    	mov    %esi,-0x94(%ebp)
4237ea:	8b 08                	mov    (%eax),%ecx
4237ec:	89 4d 24             	mov    %ecx,0x24(%ebp)
4237ef:	8b 40 04             	mov    0x4(%eax),%eax
4237f2:	89 45 28             	mov    %eax,0x28(%ebp)
4237f5:	eb 06                	jmp    0x4237fd
4237f7:	8b 45 28             	mov    0x28(%ebp),%eax
4237fa:	8b 4d 24             	mov    0x24(%ebp),%ecx
4237fd:	53                   	push   %ebx
4237fe:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
423804:	50                   	push   %eax
423805:	51                   	push   %ecx
423806:	eb 9d                	jmp    0x4237a5
423808:	8b 45 28             	mov    0x28(%ebp),%eax
42380b:	89 45 a0             	mov    %eax,-0x60(%ebp)
42380e:	8b 45 24             	mov    0x24(%ebp),%eax
423811:	89 45 b0             	mov    %eax,-0x50(%ebp)
423814:	0f be 45 a4          	movsbl -0x5c(%ebp),%eax
423818:	56                   	push   %esi
423819:	50                   	push   %eax
42381a:	57                   	push   %edi
42381b:	e8 97 cd 06 00       	call   0x4905b7
423820:	83 c4 0c             	add    $0xc,%esp
423823:	85 c0                	test   %eax,%eax
423825:	0f 84 b2 00 00 00    	je     0x4238dd
42382b:	ff 75 a0             	push   -0x60(%ebp)
42382e:	8b 4d 98             	mov    -0x68(%ebp),%ecx
423831:	8d 55 9c             	lea    -0x64(%ebp),%edx
423834:	ff 75 b0             	push   -0x50(%ebp)
423837:	2b c7                	sub    %edi,%eax
423839:	ff 75 a8             	push   -0x58(%ebp)
42383c:	40                   	inc    %eax
42383d:	89 45 88             	mov    %eax,-0x78(%ebp)
423840:	48                   	dec    %eax
423841:	50                   	push   %eax
423842:	57                   	push   %edi
423843:	e8 34 03 00 00       	call   0x423b7c
423848:	83 c4 14             	add    $0x14,%esp
42384b:	8d 55 9c             	lea    -0x64(%ebp),%edx
42384e:	8b 08                	mov    (%eax),%ecx
423850:	ff 75 ac             	push   -0x54(%ebp)
423853:	89 4d 24             	mov    %ecx,0x24(%ebp)
423856:	ff 75 80             	push   -0x80(%ebp)
423859:	8b 40 04             	mov    0x4(%eax),%eax
42385c:	50                   	push   %eax
42385d:	51                   	push   %ecx
42385e:	89 45 28             	mov    %eax,0x28(%ebp)
423861:	e8 04 fa ff ff       	call   0x42326a
423866:	8b c8                	mov    %eax,%ecx
423868:	83 c4 10             	add    $0x10,%esp
42386b:	8b 01                	mov    (%ecx),%eax
42386d:	89 45 24             	mov    %eax,0x24(%ebp)
423870:	8b 41 04             	mov    0x4(%ecx),%eax
423873:	89 45 28             	mov    %eax,0x28(%ebp)
423876:	8b 45 90             	mov    -0x70(%ebp),%eax
423879:	8b 00                	mov    (%eax),%eax
42387b:	8b 70 04             	mov    0x4(%eax),%esi
42387e:	8b ce                	mov    %esi,%ecx
423880:	ff 15 2c 81 4a 00    	call   *0x4a812c
423886:	8b 4d 90             	mov    -0x70(%ebp),%ecx
423889:	ff d6                	call   *%esi
42388b:	0f b7 c8             	movzwl %ax,%ecx
42388e:	8b 45 24             	mov    0x24(%ebp),%eax
423891:	89 45 8c             	mov    %eax,-0x74(%ebp)
423894:	8b 45 28             	mov    0x28(%ebp),%eax
423897:	51                   	push   %ecx
423898:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
42389b:	89 45 90             	mov    %eax,-0x70(%ebp)
42389e:	e8 b1 03 00 00       	call   0x423c54
4238a3:	ff b5 64 ff ff ff    	push   -0x9c(%ebp)
4238a9:	8d 95 60 ff ff ff    	lea    -0xa0(%ebp),%edx
4238af:	ff 75 80             	push   -0x80(%ebp)
4238b2:	ff 75 90             	push   -0x70(%ebp)
4238b5:	ff 75 8c             	push   -0x74(%ebp)
4238b8:	e8 ad f9 ff ff       	call   0x42326a
4238bd:	8b b5 6c ff ff ff    	mov    -0x94(%ebp),%esi
4238c3:	83 c4 10             	add    $0x10,%esp
4238c6:	03 7d 88             	add    -0x78(%ebp),%edi
4238c9:	2b 75 88             	sub    -0x78(%ebp),%esi
4238cc:	8b 08                	mov    (%eax),%ecx
4238ce:	89 4d 24             	mov    %ecx,0x24(%ebp)
4238d1:	8b 40 04             	mov    0x4(%eax),%eax
4238d4:	89 4d b0             	mov    %ecx,-0x50(%ebp)
4238d7:	89 45 a0             	mov    %eax,-0x60(%ebp)
4238da:	89 45 28             	mov    %eax,0x28(%ebp)
4238dd:	56                   	push   %esi
4238de:	6a 65                	push   $0x65
4238e0:	57                   	push   %edi
4238e1:	e8 d1 cc 06 00       	call   0x4905b7
4238e6:	83 c4 0c             	add    $0xc,%esp
4238e9:	85 c0                	test   %eax,%eax
4238eb:	0f 84 98 00 00 00    	je     0x423989
4238f1:	ff 75 a0             	push   -0x60(%ebp)
4238f4:	8b 4d 98             	mov    -0x68(%ebp),%ecx
4238f7:	8d 95 68 ff ff ff    	lea    -0x98(%ebp),%edx
4238fd:	ff 75 b0             	push   -0x50(%ebp)
423900:	2b c7                	sub    %edi,%eax
423902:	ff 75 a8             	push   -0x58(%ebp)
423905:	40                   	inc    %eax
423906:	89 45 88             	mov    %eax,-0x78(%ebp)
423909:	48                   	dec    %eax
42390a:	50                   	push   %eax
42390b:	57                   	push   %edi
42390c:	e8 6b 02 00 00       	call   0x423b7c
423911:	83 c4 14             	add    $0x14,%esp
423914:	8d 95 78 ff ff ff    	lea    -0x88(%ebp),%edx
42391a:	8b 08                	mov    (%eax),%ecx
42391c:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
423922:	89 4d 24             	mov    %ecx,0x24(%ebp)
423925:	ff 75 80             	push   -0x80(%ebp)
423928:	8b 40 04             	mov    0x4(%eax),%eax
42392b:	50                   	push   %eax
42392c:	51                   	push   %ecx
42392d:	89 45 28             	mov    %eax,0x28(%ebp)
423930:	e8 35 f9 ff ff       	call   0x42326a
423935:	83 c4 10             	add    $0x10,%esp
423938:	8b 08                	mov    (%eax),%ecx
42393a:	89 4d 24             	mov    %ecx,0x24(%ebp)
42393d:	8b 50 04             	mov    0x4(%eax),%edx
423940:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
423946:	83 a5 7c ff ff ff 00 	andl   $0x0,-0x84(%ebp)
42394d:	89 55 28             	mov    %edx,0x28(%ebp)
423950:	f6 40 10 04          	testb  $0x4,0x10(%eax)
423954:	b8 2c fc 40 00       	mov    $0x40fc2c,%eax
423959:	75 05                	jne    0x423960
42395b:	b8 30 fc 40 00       	mov    $0x40fc30,%eax
423960:	6a 01                	push   $0x1
423962:	50                   	push   %eax
423963:	52                   	push   %edx
423964:	51                   	push   %ecx
423965:	8b 4d 98             	mov    -0x68(%ebp),%ecx
423968:	8d 95 68 ff ff ff    	lea    -0x98(%ebp),%edx
42396e:	e8 96 02 00 00       	call   0x423c09
423973:	03 7d 88             	add    -0x78(%ebp),%edi
423976:	83 c4 10             	add    $0x10,%esp
423979:	2b 75 88             	sub    -0x78(%ebp),%esi
42397c:	8b 08                	mov    (%eax),%ecx
42397e:	89 4d 24             	mov    %ecx,0x24(%ebp)
423981:	8b 40 04             	mov    0x4(%eax),%eax
423984:	89 45 28             	mov    %eax,0x28(%ebp)
423987:	eb 06                	jmp    0x42398f
423989:	8b 4d b0             	mov    -0x50(%ebp),%ecx
42398c:	8b 45 a0             	mov    -0x60(%ebp),%eax
42398f:	50                   	push   %eax
423990:	51                   	push   %ecx
423991:	ff 75 a8             	push   -0x58(%ebp)
423994:	8b 4d 98             	mov    -0x68(%ebp),%ecx
423997:	8d 55 84             	lea    -0x7c(%ebp),%edx
42399a:	56                   	push   %esi
42399b:	57                   	push   %edi
42399c:	e8 db 01 00 00       	call   0x423b7c
4239a1:	83 c4 14             	add    $0x14,%esp
4239a4:	8d 55 84             	lea    -0x7c(%ebp),%edx
4239a7:	8b 08                	mov    (%eax),%ecx
4239a9:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
4239af:	89 4d 24             	mov    %ecx,0x24(%ebp)
4239b2:	ff 75 80             	push   -0x80(%ebp)
4239b5:	8b 40 04             	mov    0x4(%eax),%eax
4239b8:	50                   	push   %eax
4239b9:	51                   	push   %ecx
4239ba:	89 45 28             	mov    %eax,0x28(%ebp)
4239bd:	e8 a8 f8 ff ff       	call   0x42326a
4239c2:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx