; Listing generated by Microsoft (R) Optimizing Compiler Version 15.00.30729.01 

	TITLE	d:\# METIN2\work in progress\source client\Client\EterLocale\Arabic.cpp
	.686P
	.XMM
	include listing.inc
	.model	flat

INCLUDELIB LIBCMT
INCLUDELIB OLDNAMES

PUBLIC	?Arabic_IsInSpace@@YA_N_W@Z			; Arabic_IsInSpace
; Function compile flags: /Ogtpy
; File d:\# metin2\work in progress\source client\client\eterlocale\arabic.cpp
;	COMDAT ?Arabic_IsInSpace@@YA_N_W@Z
_TEXT	SEGMENT
_code$ = 8						; size = 2
?Arabic_IsInSpace@@YA_N_W@Z PROC			; Arabic_IsInSpace, COMDAT

; 24   : 	switch (code)

  00000	0f b7 44 24 04	 movzx	 eax, WORD PTR _code$[esp-4]
  00005	83 f8 09	 cmp	 eax, 9
  00008	74 08		 je	 SHORT $LN2@Arabic_IsI
  0000a	83 f8 20	 cmp	 eax, 32			; 00000020H
  0000d	74 03		 je	 SHORT $LN2@Arabic_IsI

; 29   : 		default:
; 30   : 			return false;

  0000f	32 c0		 xor	 al, al

; 31   : 	}
; 32   : }

  00011	c3		 ret	 0
$LN2@Arabic_IsI:

; 25   : 	{
; 26   : 		case ' ':
; 27   : 		case '\t':
; 28   : 			return true;

  00012	b0 01		 mov	 al, 1

; 31   : 	}
; 32   : }

  00014	c3		 ret	 0
?Arabic_IsInSpace@@YA_N_W@Z ENDP			; Arabic_IsInSpace
_TEXT	ENDS
PUBLIC	?Arabic_IsInSymbol@@YA_N_W@Z			; Arabic_IsInSymbol
; Function compile flags: /Ogtpy
;	COMDAT ?Arabic_IsInSymbol@@YA_N_W@Z
_TEXT	SEGMENT
_code$ = 8						; size = 2
?Arabic_IsInSymbol@@YA_N_W@Z PROC			; Arabic_IsInSymbol, COMDAT

; 36   : 	return	(code >= 0x20 && code <= 0x2f) || 
; 37   : 			(code >= 0x3a && code <= 0x40) || 
; 38   : 			(code >= 0x5b && code <= 0x60) ||
; 39   : 			(code >= 0x7b && code <= 0x7e);

  00000	8b 44 24 04	 mov	 eax, DWORD PTR _code$[esp-4]
  00004	66 83 f8 20	 cmp	 ax, 32			; 00000020H
  00008	72 06		 jb	 SHORT $LN3@Arabic_IsI@2
  0000a	66 83 f8 2f	 cmp	 ax, 47			; 0000002fH
  0000e	76 21		 jbe	 SHORT $LN5@Arabic_IsI@2
$LN3@Arabic_IsI@2:
  00010	66 83 f8 3a	 cmp	 ax, 58			; 0000003aH
  00014	72 06		 jb	 SHORT $LN4@Arabic_IsI@2
  00016	66 83 f8 40	 cmp	 ax, 64			; 00000040H
  0001a	76 15		 jbe	 SHORT $LN5@Arabic_IsI@2
$LN4@Arabic_IsI@2:
  0001c	66 83 f8 5b	 cmp	 ax, 91			; 0000005bH
  00020	72 06		 jb	 SHORT $LN6@Arabic_IsI@2
  00022	66 83 f8 60	 cmp	 ax, 96			; 00000060H
  00026	76 09		 jbe	 SHORT $LN5@Arabic_IsI@2
$LN6@Arabic_IsI@2:
  00028	83 c0 85	 add	 eax, -123		; ffffff85H
  0002b	66 83 f8 03	 cmp	 ax, 3
  0002f	77 06		 ja	 SHORT $LN7@Arabic_IsI@2
$LN5@Arabic_IsI@2:
  00031	b8 01 00 00 00	 mov	 eax, 1

; 40   : }

  00036	c3		 ret	 0
$LN7@Arabic_IsI@2:

; 36   : 	return	(code >= 0x20 && code <= 0x2f) || 
; 37   : 			(code >= 0x3a && code <= 0x40) || 
; 38   : 			(code >= 0x5b && code <= 0x60) ||
; 39   : 			(code >= 0x7b && code <= 0x7e);

  00037	33 c0		 xor	 eax, eax

; 40   : }

  00039	c3		 ret	 0
?Arabic_IsInSymbol@@YA_N_W@Z ENDP			; Arabic_IsInSymbol
_TEXT	ENDS
PUBLIC	?Arabic_IsInPresentation@@YA_N_W@Z		; Arabic_IsInPresentation
; Function compile flags: /Ogtpy
;	COMDAT ?Arabic_IsInPresentation@@YA_N_W@Z
_TEXT	SEGMENT
_code$ = 8						; size = 2
?Arabic_IsInPresentation@@YA_N_W@Z PROC			; Arabic_IsInPresentation, COMDAT

; 45   : 	return (code >= 0xfb50 && code <= 0xfdff) || (code >= 0xfe70 && code <= 0xfeff) || (code == 0x08);

  00000	66 8b 44 24 04	 mov	 ax, WORD PTR _code$[esp-4]
  00005	b9 50 fb 00 00	 mov	 ecx, 64336		; 0000fb50H
  0000a	66 3b c1	 cmp	 ax, cx
  0000d	72 0a		 jb	 SHORT $LN3@Arabic_IsI@3
  0000f	ba ff fd 00 00	 mov	 edx, 65023		; 0000fdffH
  00014	66 3b c2	 cmp	 ax, dx
  00017	76 1d		 jbe	 SHORT $LN5@Arabic_IsI@3
$LN3@Arabic_IsI@3:
  00019	b9 70 fe 00 00	 mov	 ecx, 65136		; 0000fe70H
  0001e	66 3b c1	 cmp	 ax, cx
  00021	72 0a		 jb	 SHORT $LN4@Arabic_IsI@3
  00023	ba ff fe 00 00	 mov	 edx, 65279		; 0000feffH
  00028	66 3b c2	 cmp	 ax, dx
  0002b	76 09		 jbe	 SHORT $LN5@Arabic_IsI@3
$LN4@Arabic_IsI@3:
  0002d	66 83 f8 08	 cmp	 ax, 8
  00031	74 03		 je	 SHORT $LN5@Arabic_IsI@3
  00033	33 c0		 xor	 eax, eax

; 46   : }

  00035	c3		 ret	 0
$LN5@Arabic_IsI@3:

; 45   : 	return (code >= 0xfb50 && code <= 0xfdff) || (code >= 0xfe70 && code <= 0xfeff) || (code == 0x08);

  00036	b8 01 00 00 00	 mov	 eax, 1

; 46   : }

  0003b	c3		 ret	 0
?Arabic_IsInPresentation@@YA_N_W@Z ENDP			; Arabic_IsInPresentation
_TEXT	ENDS
PUBLIC	?Arabic_HasPresentation@@YA_NPA_WH@Z		; Arabic_HasPresentation
; Function compile flags: /Ogtpy
;	COMDAT ?Arabic_HasPresentation@@YA_NPA_WH@Z
_TEXT	SEGMENT
_codes$ = 8						; size = 4
_last$ = 12						; size = 4
?Arabic_HasPresentation@@YA_NPA_WH@Z PROC		; Arabic_HasPresentation, COMDAT

; 50   : 	while (last > 0)

  00000	8b 4c 24 08	 mov	 ecx, DWORD PTR _last$[esp-4]
  00004	85 c9		 test	 ecx, ecx
  00006	7e 1e		 jle	 SHORT $LN2@Arabic_Has
  00008	8b 54 24 04	 mov	 edx, DWORD PTR _codes$[esp-4]
  0000c	8d 64 24 00	 npad	 4
$LL6@Arabic_Has:

; 51   : 	{
; 52   : 		if (Arabic_IsInSpace(codes[last]))

  00010	0f b7 04 4a	 movzx	 eax, WORD PTR [edx+ecx*2]
  00014	50		 push	 eax
  00015	e8 00 00 00 00	 call	 ?Arabic_IsInSpace@@YA_N_W@Z ; Arabic_IsInSpace
  0001a	83 c4 04	 add	 esp, 4
  0001d	84 c0		 test	 al, al
  0001f	74 08		 je	 SHORT $LN4@Arabic_Has

; 53   : 		{
; 54   : 			last--;	

  00021	49		 dec	 ecx
  00022	85 c9		 test	 ecx, ecx
  00024	7f ea		 jg	 SHORT $LL6@Arabic_Has
$LN2@Arabic_Has:

; 60   : 			else
; 61   : 				break;
; 62   : 		}
; 63   : 	}
; 64   : 	return false;

  00026	32 c0		 xor	 al, al

; 65   : }

  00028	c3		 ret	 0
$LN4@Arabic_Has:

; 55   : 		}
; 56   : 		else
; 57   : 		{
; 58   : 			if (Arabic_IsInPresentation(codes[last]))

  00029	0f b7 0c 4a	 movzx	 ecx, WORD PTR [edx+ecx*2]
  0002d	51		 push	 ecx
  0002e	e8 00 00 00 00	 call	 ?Arabic_IsInPresentation@@YA_N_W@Z ; Arabic_IsInPresentation
  00033	83 c4 04	 add	 esp, 4
  00036	84 c0		 test	 al, al
  00038	74 ec		 je	 SHORT $LN2@Arabic_Has

; 59   : 				return true;

  0003a	b0 01		 mov	 al, 1

; 65   : }

  0003c	c3		 ret	 0
?Arabic_HasPresentation@@YA_NPA_WH@Z ENDP		; Arabic_HasPresentation
_TEXT	ENDS
PUBLIC	?Arabic_GetComposition@@YA_W_W0W4ARABIC_FORM_TYPE@@@Z ; Arabic_GetComposition
;	COMDAT ?LAM_ALEF@?1??Arabic_GetComposition@@YA_W_W0W4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?LAM_ALEF@?1??Arabic_GetComposition@@YA_W_W0W4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0627H ; `Arabic_GetComposition'::`2'::LAM_ALEF
	DW	0fefbH
	DW	00H
	DW	00H
	DW	0fefcH
_DATA	ENDS
;	COMDAT ?LAM_ALEF_HAMZA_BELOW@?1??Arabic_GetComposition@@YA_W_W0W4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?LAM_ALEF_HAMZA_BELOW@?1??Arabic_GetComposition@@YA_W_W0W4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0625H ; `Arabic_GetComposition'::`2'::LAM_ALEF_HAMZA_BELOW
	DW	0fef9H
	DW	00H
	DW	00H
	DW	0fefaH
_DATA	ENDS
;	COMDAT ?LAM_ALEF_HAMZA_ABOVE@?1??Arabic_GetComposition@@YA_W_W0W4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?LAM_ALEF_HAMZA_ABOVE@?1??Arabic_GetComposition@@YA_W_W0W4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0623H ; `Arabic_GetComposition'::`2'::LAM_ALEF_HAMZA_ABOVE
	DW	0fef7H
	DW	00H
	DW	00H
	DW	0fef8H
_DATA	ENDS
;	COMDAT ?LAM_ALEF_MADDA@?1??Arabic_GetComposition@@YA_W_W0W4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?LAM_ALEF_MADDA@?1??Arabic_GetComposition@@YA_W_W0W4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0622H ; `Arabic_GetComposition'::`2'::LAM_ALEF_MADDA
	DW	0fef5H
	DW	00H
	DW	00H
	DW	0fef6H
; Function compile flags: /Ogtpy
_DATA	ENDS
;	COMDAT ?Arabic_GetComposition@@YA_W_W0W4ARABIC_FORM_TYPE@@@Z
_TEXT	SEGMENT
_cur$ = 8						; size = 2
_next$ = 12						; size = 2
_pos$ = 16						; size = 4
?Arabic_GetComposition@@YA_W_W0W4ARABIC_FORM_TYPE@@@Z PROC ; Arabic_GetComposition, COMDAT

; 69   : 	static wchar_t LAM_ALEF_MADDA[ARABIC_FORM_TYPE_NUM]			= {0x0622, 0xFEF5,      0,      0, 0xFEF6};
; 70   : 	static wchar_t LAM_ALEF_HAMZA_ABOVE[ARABIC_FORM_TYPE_NUM]	= {0x0623, 0xFEF7,      0,      0, 0xFEF8};
; 71   : 	static wchar_t LAM_ALEF_HAMZA_BELOW[ARABIC_FORM_TYPE_NUM]	= {0x0625, 0xFEF9,      0,      0, 0xFEFA};
; 72   : 	static wchar_t LAM_ALEF[ARABIC_FORM_TYPE_NUM]				= {0x0627, 0xFEFB,      0,      0, 0xFEFC};
; 73   : 	
; 74   : 	switch (cur)

  00000	b8 44 06 00 00	 mov	 eax, 1604		; 00000644H
  00005	66 39 44 24 04	 cmp	 WORD PTR _cur$[esp-4], ax
  0000a	75 4a		 jne	 SHORT $LN5@Arabic_Get

; 75   : 	{
; 76   : 		case 0x0644:
; 77   : 			switch (next)

  0000c	0f b7 44 24 08	 movzx	 eax, WORD PTR _next$[esp-4]
  00011	05 de f9 ff ff	 add	 eax, -1570		; fffff9deH
  00016	83 f8 05	 cmp	 eax, 5
  00019	77 3b		 ja	 SHORT $LN5@Arabic_Get
  0001b	ff 24 85 00 00
	00 00		 jmp	 DWORD PTR $LN12@Arabic_Get[eax*4]
$LN4@Arabic_Get:

; 78   : 			{
; 79   : 				case 0x0622:return LAM_ALEF_MADDA[pos];break;

  00022	8b 4c 24 0c	 mov	 ecx, DWORD PTR _pos$[esp-4]
  00026	66 8b 04 4d 00
	00 00 00	 mov	 ax, WORD PTR ?LAM_ALEF_MADDA@?1??Arabic_GetComposition@@YA_W_W0W4ARABIC_FORM_TYPE@@@Z@4PA_WA[ecx*2]

; 87   : }

  0002e	c3		 ret	 0
$LN3@Arabic_Get:

; 80   : 				case 0x0623:return LAM_ALEF_HAMZA_ABOVE[pos];break;

  0002f	8b 54 24 0c	 mov	 edx, DWORD PTR _pos$[esp-4]
  00033	66 8b 04 55 00
	00 00 00	 mov	 ax, WORD PTR ?LAM_ALEF_HAMZA_ABOVE@?1??Arabic_GetComposition@@YA_W_W0W4ARABIC_FORM_TYPE@@@Z@4PA_WA[edx*2]

; 87   : }

  0003b	c3		 ret	 0
$LN2@Arabic_Get:

; 81   : 				case 0x0625:return LAM_ALEF_HAMZA_BELOW[pos];break;

  0003c	8b 44 24 0c	 mov	 eax, DWORD PTR _pos$[esp-4]
  00040	66 8b 04 45 00
	00 00 00	 mov	 ax, WORD PTR ?LAM_ALEF_HAMZA_BELOW@?1??Arabic_GetComposition@@YA_W_W0W4ARABIC_FORM_TYPE@@@Z@4PA_WA[eax*2]

; 87   : }

  00048	c3		 ret	 0
$LN1@Arabic_Get:

; 82   : 				case 0x0627:return LAM_ALEF[pos];break;

  00049	8b 4c 24 0c	 mov	 ecx, DWORD PTR _pos$[esp-4]
  0004d	66 8b 04 4d 00
	00 00 00	 mov	 ax, WORD PTR ?LAM_ALEF@?1??Arabic_GetComposition@@YA_W_W0W4ARABIC_FORM_TYPE@@@Z@4PA_WA[ecx*2]

; 87   : }

  00055	c3		 ret	 0
$LN5@Arabic_Get:

; 83   : 			}
; 84   : 			break;
; 85   : 	}
; 86   : 	return 0;

  00056	33 c0		 xor	 eax, eax

; 87   : }

  00058	c3		 ret	 0
  00059	8d 49 00	 npad	 3
$LN12@Arabic_Get:
  0005c	00 00 00 00	 DD	 $LN4@Arabic_Get
  00060	00 00 00 00	 DD	 $LN3@Arabic_Get
  00064	00 00 00 00	 DD	 $LN5@Arabic_Get
  00068	00 00 00 00	 DD	 $LN2@Arabic_Get
  0006c	00 00 00 00	 DD	 $LN5@Arabic_Get
  00070	00 00 00 00	 DD	 $LN1@Arabic_Get
?Arabic_GetComposition@@YA_W_W0W4ARABIC_FORM_TYPE@@@Z ENDP ; Arabic_GetComposition
_TEXT	ENDS
PUBLIC	?Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z	; Arabic_GetMap
;	COMDAT ?YEH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?YEH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 064aH ; `Arabic_GetMap'::`2'::YEH
	DW	0fef1H
	DW	0fef3H
	DW	0fef4H
	DW	0fef2H
_DATA	ENDS
;	COMDAT ?ALEF_MAKSURA@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?ALEF_MAKSURA@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0649H ; `Arabic_GetMap'::`2'::ALEF_MAKSURA
	DW	0feefH
	DW	00H
	DW	00H
	DW	0fef0H
_DATA	ENDS
;	COMDAT ?WAW@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?WAW@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0648H ; `Arabic_GetMap'::`2'::WAW
	DW	0feedH
	DW	00H
	DW	00H
	DW	0feeeH
_DATA	ENDS
;	COMDAT ?HEH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?HEH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0647H ; `Arabic_GetMap'::`2'::HEH
	DW	0fee9H
	DW	0feebH
	DW	0feecH
	DW	0feeaH
_DATA	ENDS
;	COMDAT ?NOON@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?NOON@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0646H ; `Arabic_GetMap'::`2'::NOON
	DW	0fee5H
	DW	0fee7H
	DW	0fee8H
	DW	0fee6H
_DATA	ENDS
;	COMDAT ?MEEM@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?MEEM@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0645H ; `Arabic_GetMap'::`2'::MEEM
	DW	0fee1H
	DW	0fee3H
	DW	0fee4H
	DW	0fee2H
_DATA	ENDS
;	COMDAT ?LAM@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?LAM@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0644H ; `Arabic_GetMap'::`2'::LAM
	DW	0feddH
	DW	0fedfH
	DW	0fee0H
	DW	0fedeH
_DATA	ENDS
;	COMDAT ?KAF@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?KAF@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0643H ; `Arabic_GetMap'::`2'::KAF
	DW	0fed9H
	DW	0fedbH
	DW	0fedcH
	DW	0fedaH
_DATA	ENDS
;	COMDAT ?QAF@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?QAF@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0642H ; `Arabic_GetMap'::`2'::QAF
	DW	0fed5H
	DW	0fed7H
	DW	0fed8H
	DW	0fed6H
_DATA	ENDS
;	COMDAT ?OX_FEH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?OX_FEH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0641H ; `Arabic_GetMap'::`2'::OX_FEH
	DW	0fed1H
	DW	0fed3H
	DW	0fed4H
	DW	0fed2H
_DATA	ENDS
;	COMDAT ?TATWEEL@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?TATWEEL@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0640H ; `Arabic_GetMap'::`2'::TATWEEL
	DW	0640H
	DW	00H
	DW	00H
	DW	00H
_DATA	ENDS
;	COMDAT ?GHAIN@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?GHAIN@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 063aH ; `Arabic_GetMap'::`2'::GHAIN
	DW	0fecdH
	DW	0fecfH
	DW	0fed0H
	DW	0feceH
_DATA	ENDS
;	COMDAT ?AIN@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?AIN@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0639H ; `Arabic_GetMap'::`2'::AIN
	DW	0fec9H
	DW	0fecbH
	DW	0feccH
	DW	0fecaH
_DATA	ENDS
;	COMDAT ?ZAH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?ZAH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0638H ; `Arabic_GetMap'::`2'::ZAH
	DW	0fec5H
	DW	0fec7H
	DW	0fec8H
	DW	0fec6H
_DATA	ENDS
;	COMDAT ?TAH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?TAH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0637H ; `Arabic_GetMap'::`2'::TAH
	DW	0fec1H
	DW	0fec3H
	DW	0fec4H
	DW	0fec2H
_DATA	ENDS
;	COMDAT ?DAD@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?DAD@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0636H ; `Arabic_GetMap'::`2'::DAD
	DW	0febdH
	DW	0febfH
	DW	0fec0H
	DW	0febeH
_DATA	ENDS
;	COMDAT ?SAD@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?SAD@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0635H ; `Arabic_GetMap'::`2'::SAD
	DW	0feb9H
	DW	0febbH
	DW	0febcH
	DW	0febaH
_DATA	ENDS
;	COMDAT ?SHEEN@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?SHEEN@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0634H ; `Arabic_GetMap'::`2'::SHEEN
	DW	0feb5H
	DW	0feb7H
	DW	0feb8H
	DW	0feb6H
_DATA	ENDS
;	COMDAT ?SEEN@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?SEEN@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0633H ; `Arabic_GetMap'::`2'::SEEN
	DW	0feb1H
	DW	0feb3H
	DW	0feb4H
	DW	0feb2H
_DATA	ENDS
;	COMDAT ?ZAIN@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?ZAIN@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0632H ; `Arabic_GetMap'::`2'::ZAIN
	DW	0feafH
	DW	00H
	DW	00H
	DW	0feb0H
_DATA	ENDS
;	COMDAT ?REH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?REH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0631H ; `Arabic_GetMap'::`2'::REH
	DW	0feadH
	DW	00H
	DW	00H
	DW	0feaeH
_DATA	ENDS
;	COMDAT ?THAL@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?THAL@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0630H ; `Arabic_GetMap'::`2'::THAL
	DW	0feabH
	DW	00H
	DW	00H
	DW	0feacH
_DATA	ENDS
;	COMDAT ?DAL@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?DAL@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 062fH ; `Arabic_GetMap'::`2'::DAL
	DW	0fea9H
	DW	00H
	DW	00H
	DW	0feaaH
_DATA	ENDS
;	COMDAT ?KHAH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?KHAH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 062eH ; `Arabic_GetMap'::`2'::KHAH
	DW	0fea5H
	DW	0fea7H
	DW	0fea8H
	DW	0fea6H
_DATA	ENDS
;	COMDAT ?HAH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?HAH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 062dH ; `Arabic_GetMap'::`2'::HAH
	DW	0fea1H
	DW	0fea3H
	DW	0fea4H
	DW	0fea2H
_DATA	ENDS
;	COMDAT ?JEEM@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?JEEM@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 062cH ; `Arabic_GetMap'::`2'::JEEM
	DW	0fe9dH
	DW	0fe9fH
	DW	0fea0H
	DW	0fe9eH
_DATA	ENDS
;	COMDAT ?THEH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?THEH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 062bH ; `Arabic_GetMap'::`2'::THEH
	DW	0fe99H
	DW	0fe9bH
	DW	0fe9cH
	DW	0fe9aH
_DATA	ENDS
;	COMDAT ?TEH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?TEH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 062aH ; `Arabic_GetMap'::`2'::TEH
	DW	0fe95H
	DW	0fe97H
	DW	0fe98H
	DW	0fe96H
_DATA	ENDS
;	COMDAT ?TEH_MARBUTA@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?TEH_MARBUTA@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0629H ; `Arabic_GetMap'::`2'::TEH_MARBUTA
	DW	0fe93H
	DW	00H
	DW	00H
	DW	0fe94H
_DATA	ENDS
;	COMDAT ?BEH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?BEH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0628H ; `Arabic_GetMap'::`2'::BEH
	DW	0fe8fH
	DW	0fe91H
	DW	0fe92H
	DW	0fe90H
_DATA	ENDS
;	COMDAT ?ALEF@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?ALEF@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0627H ; `Arabic_GetMap'::`2'::ALEF
	DW	0fe8dH
	DW	00H
	DW	00H
	DW	0fe8eH
_DATA	ENDS
;	COMDAT ?YEH_HAMZA@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?YEH_HAMZA@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0626H ; `Arabic_GetMap'::`2'::YEH_HAMZA
	DW	0fe89H
	DW	0fe8bH
	DW	0fe8cH
	DW	0fe8aH
_DATA	ENDS
;	COMDAT ?ALEF_HAMZA_BELOW@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?ALEF_HAMZA_BELOW@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0625H ; `Arabic_GetMap'::`2'::ALEF_HAMZA_BELOW
	DW	0fe87H
	DW	00H
	DW	00H
	DW	0fe88H
_DATA	ENDS
;	COMDAT ?WAW_HAMZA@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?WAW_HAMZA@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0624H ; `Arabic_GetMap'::`2'::WAW_HAMZA
	DW	0fe85H
	DW	00H
	DW	00H
	DW	0fe86H
_DATA	ENDS
;	COMDAT ?ALEF_HAMZA_ABOVE@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?ALEF_HAMZA_ABOVE@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0623H ; `Arabic_GetMap'::`2'::ALEF_HAMZA_ABOVE
	DW	0fe83H
	DW	00H
	DW	00H
	DW	0fe84H
_DATA	ENDS
;	COMDAT ?ALEF_MADDA@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?ALEF_MADDA@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0622H ; `Arabic_GetMap'::`2'::ALEF_MADDA
	DW	0fe81H
	DW	00H
	DW	00H
	DW	0fe82H
_DATA	ENDS
;	COMDAT ?HAMZA@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA
_DATA	SEGMENT
?HAMZA@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA DW 0621H ; `Arabic_GetMap'::`2'::HAMZA
	DW	0fe80H
	DW	00H
	DW	00H
	DW	00H
; Function compile flags: /Ogtpy
_DATA	ENDS
;	COMDAT ?Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z
_TEXT	SEGMENT
_code$ = 8						; size = 2
_pos$ = 12						; size = 4
?Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z PROC	; Arabic_GetMap, COMDAT

; 91   : 	static wchar_t HAMZA[ARABIC_FORM_TYPE_NUM]				= {0x0621        ,      0xFE80,      0,      0,      0};        
; 92   : 	static wchar_t ALEF_MADDA[ARABIC_FORM_TYPE_NUM]			= {0x0622        ,      0xFE81,      0,      0, 0xFE82};        
; 93   : 	static wchar_t ALEF_HAMZA_ABOVE[ARABIC_FORM_TYPE_NUM]	= {0x0623        ,      0xFE83,      0,      0, 0xFE84};        
; 94   : 	static wchar_t WAW_HAMZA[ARABIC_FORM_TYPE_NUM]			= {0x0624        ,      0xFE85,      0,      0, 0xFE86};        
; 95   : 	static wchar_t ALEF_HAMZA_BELOW[ARABIC_FORM_TYPE_NUM]	= {0x0625        ,      0xFE87,      0,      0, 0xFE88};        
; 96   : 	static wchar_t YEH_HAMZA[ARABIC_FORM_TYPE_NUM]			= {0x0626        ,      0xFE89, 0xFE8B, 0xFE8C, 0xFE8A};        
; 97   : 	static wchar_t ALEF[ARABIC_FORM_TYPE_NUM]				= {0x0627        ,      0xFE8D,      0,      0, 0xFE8E};        
; 98   : 	static wchar_t BEH[ARABIC_FORM_TYPE_NUM]				= {0x0628        ,      0xFE8F, 0xFE91, 0xFE92, 0xFE90};        
; 99   : 	static wchar_t TEH_MARBUTA[ARABIC_FORM_TYPE_NUM]		= {0x0629        ,      0xFE93,      0,      0, 0xFE94};        
; 100  : 	static wchar_t TEH[ARABIC_FORM_TYPE_NUM]				= {0x062A        ,      0xFE95, 0xFE97, 0xFE98, 0xFE96};        
; 101  : 	static wchar_t THEH[ARABIC_FORM_TYPE_NUM]				= {0x062B        ,      0xFE99, 0xFE9B, 0xFE9C, 0xFE9A};        
; 102  : 	static wchar_t JEEM[ARABIC_FORM_TYPE_NUM]				= {0x062C        ,      0xFE9D, 0xFE9F, 0xFEA0, 0xFE9E};        
; 103  : 	static wchar_t HAH[ARABIC_FORM_TYPE_NUM]				= {0x062D        ,      0xFEA1, 0xFEA3, 0xFEA4, 0xFEA2};        
; 104  : 	static wchar_t KHAH[ARABIC_FORM_TYPE_NUM]				= {0x062E        ,      0xFEA5, 0xFEA7, 0xFEA8, 0xFEA6};        
; 105  : 	static wchar_t DAL[ARABIC_FORM_TYPE_NUM]				= {0x062F        ,      0xFEA9,      0,      0, 0xFEAA};        
; 106  : 	static wchar_t THAL[ARABIC_FORM_TYPE_NUM]				= {0x0630        ,      0xFEAB,      0,      0, 0xFEAC};        
; 107  : 	static wchar_t REH[ARABIC_FORM_TYPE_NUM]				= {0x0631        ,      0xFEAD,      0,      0, 0xFEAE};        
; 108  : 	static wchar_t ZAIN[ARABIC_FORM_TYPE_NUM]				= {0x0632        ,      0xFEAF,      0,      0, 0xFEB0};        
; 109  : 	static wchar_t SEEN[ARABIC_FORM_TYPE_NUM]				= {0x0633        ,      0xFEB1, 0xFEB3, 0xFEB4, 0xFEB2};        
; 110  : 	static wchar_t SHEEN[ARABIC_FORM_TYPE_NUM]				= {0x0634        ,      0xFEB5, 0xFEB7, 0xFEB8, 0xFEB6};        
; 111  : 	static wchar_t SAD[ARABIC_FORM_TYPE_NUM]				= {0x0635        ,      0xFEB9, 0xFEBB, 0xFEBC, 0xFEBA};        
; 112  : 	static wchar_t DAD[ARABIC_FORM_TYPE_NUM]				= {0x0636        ,      0xFEBD, 0xFEBF, 0xFEC0, 0xFEBE};        
; 113  : 	static wchar_t TAH[ARABIC_FORM_TYPE_NUM]				= {0x0637        ,      0xFEC1, 0xFEC3, 0xFEC4, 0xFEC2};        
; 114  : 	static wchar_t ZAH[ARABIC_FORM_TYPE_NUM]				= {0x0638        ,      0xFEC5, 0xFEC7, 0xFEC8, 0xFEC6};        
; 115  : 	static wchar_t AIN[ARABIC_FORM_TYPE_NUM]				= {0x0639        ,      0xFEC9, 0xFECB, 0xFECC, 0xFECA};        
; 116  : 	static wchar_t GHAIN[ARABIC_FORM_TYPE_NUM]				= {0x063A        ,      0xFECD, 0xFECF, 0xFED0, 0xFECE};        
; 117  : 	static wchar_t TATWEEL[ARABIC_FORM_TYPE_NUM]			= {0x0640        ,      0x0640,      0,      0,      0};        
; 118  : 	static wchar_t OX_FEH[ARABIC_FORM_TYPE_NUM]				= {0x0641        ,      0xFED1, 0xFED3, 0xFED4, 0xFED2};        
; 119  : 	static wchar_t QAF[ARABIC_FORM_TYPE_NUM]				= {0x0642        ,      0xFED5, 0xFED7, 0xFED8, 0xFED6};        
; 120  : 	static wchar_t KAF[ARABIC_FORM_TYPE_NUM]				= {0x0643        ,      0xFED9, 0xFEDB, 0xFEDC, 0xFEDA};        
; 121  : 	static wchar_t LAM[ARABIC_FORM_TYPE_NUM]				= {0x0644        ,      0xFEDD, 0xFEDF, 0xFEE0, 0xFEDE};        
; 122  : 	static wchar_t MEEM[ARABIC_FORM_TYPE_NUM]				= {0x0645        ,      0xFEE1, 0xFEE3, 0xFEE4, 0xFEE2};        
; 123  : 	static wchar_t NOON[ARABIC_FORM_TYPE_NUM]				= {0x0646        ,      0xFEE5, 0xFEE7, 0xFEE8, 0xFEE6};        
; 124  : 	static wchar_t HEH[ARABIC_FORM_TYPE_NUM]				= {0x0647        ,      0xFEE9, 0xFEEB, 0xFEEC, 0xFEEA};        
; 125  : 	static wchar_t WAW[ARABIC_FORM_TYPE_NUM]				= {0x0648        ,      0xFEED,      0,      0, 0xFEEE};        
; 126  : 	static wchar_t ALEF_MAKSURA[ARABIC_FORM_TYPE_NUM]		= {0x0649        ,      0xFEEF,      0,      0, 0xFEF0};        
; 127  : 	static wchar_t YEH[ARABIC_FORM_TYPE_NUM]				= {0x064A        ,      0xFEF1, 0xFEF3, 0xFEF4, 0xFEF2};  
; 128  : 
; 129  : 	switch (code)

  00000	0f b7 44 24 04	 movzx	 eax, WORD PTR _code$[esp-4]
  00005	05 df f9 ff ff	 add	 eax, -1569		; fffff9dfH
  0000a	83 f8 29	 cmp	 eax, 41			; 00000029H
  0000d	0f 87 e8 01 00
	00		 ja	 $LN38@Arabic_Get@2
  00013	ff 24 85 00 00
	00 00		 jmp	 DWORD PTR $LN42@Arabic_Get@2[eax*4]
$LN37@Arabic_Get@2:

; 130  : 	{
; 131  : 		case 0x0621: return	HAMZA[pos];break;				

  0001a	8b 44 24 08	 mov	 eax, DWORD PTR _pos$[esp-4]
  0001e	66 8b 04 45 00
	00 00 00	 mov	 ax, WORD PTR ?HAMZA@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[eax*2]

; 170  : }

  00026	c3		 ret	 0
$LN36@Arabic_Get@2:

; 132  : 		case 0x0622: return	ALEF_MADDA[pos];break;		

  00027	8b 4c 24 08	 mov	 ecx, DWORD PTR _pos$[esp-4]
  0002b	66 8b 04 4d 00
	00 00 00	 mov	 ax, WORD PTR ?ALEF_MADDA@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[ecx*2]

; 170  : }

  00033	c3		 ret	 0
$LN35@Arabic_Get@2:

; 133  : 		case 0x0623: return	ALEF_HAMZA_ABOVE[pos];break;	

  00034	8b 54 24 08	 mov	 edx, DWORD PTR _pos$[esp-4]
  00038	66 8b 04 55 00
	00 00 00	 mov	 ax, WORD PTR ?ALEF_HAMZA_ABOVE@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[edx*2]

; 170  : }

  00040	c3		 ret	 0
$LN34@Arabic_Get@2:

; 134  : 		case 0x0624: return	WAW_HAMZA[pos];break;			

  00041	8b 44 24 08	 mov	 eax, DWORD PTR _pos$[esp-4]
  00045	66 8b 04 45 00
	00 00 00	 mov	 ax, WORD PTR ?WAW_HAMZA@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[eax*2]

; 170  : }

  0004d	c3		 ret	 0
$LN33@Arabic_Get@2:

; 135  : 		case 0x0625: return	ALEF_HAMZA_BELOW[pos];break;	

  0004e	8b 4c 24 08	 mov	 ecx, DWORD PTR _pos$[esp-4]
  00052	66 8b 04 4d 00
	00 00 00	 mov	 ax, WORD PTR ?ALEF_HAMZA_BELOW@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[ecx*2]

; 170  : }

  0005a	c3		 ret	 0
$LN32@Arabic_Get@2:

; 136  : 		case 0x0626: return	YEH_HAMZA[pos];break;			

  0005b	8b 54 24 08	 mov	 edx, DWORD PTR _pos$[esp-4]
  0005f	66 8b 04 55 00
	00 00 00	 mov	 ax, WORD PTR ?YEH_HAMZA@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[edx*2]

; 170  : }

  00067	c3		 ret	 0
$LN31@Arabic_Get@2:

; 137  : 		case 0x0627: return	ALEF[pos];break;				

  00068	8b 44 24 08	 mov	 eax, DWORD PTR _pos$[esp-4]
  0006c	66 8b 04 45 00
	00 00 00	 mov	 ax, WORD PTR ?ALEF@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[eax*2]

; 170  : }

  00074	c3		 ret	 0
$LN30@Arabic_Get@2:

; 138  : 		case 0x0628: return	BEH[pos];break;				

  00075	8b 4c 24 08	 mov	 ecx, DWORD PTR _pos$[esp-4]
  00079	66 8b 04 4d 00
	00 00 00	 mov	 ax, WORD PTR ?BEH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[ecx*2]

; 170  : }

  00081	c3		 ret	 0
$LN29@Arabic_Get@2:

; 139  : 		case 0x0629: return	TEH_MARBUTA[pos];break;		

  00082	8b 54 24 08	 mov	 edx, DWORD PTR _pos$[esp-4]
  00086	66 8b 04 55 00
	00 00 00	 mov	 ax, WORD PTR ?TEH_MARBUTA@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[edx*2]

; 170  : }

  0008e	c3		 ret	 0
$LN28@Arabic_Get@2:

; 140  : 		case 0x062A: return	TEH[pos];break;				

  0008f	8b 44 24 08	 mov	 eax, DWORD PTR _pos$[esp-4]
  00093	66 8b 04 45 00
	00 00 00	 mov	 ax, WORD PTR ?TEH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[eax*2]

; 170  : }

  0009b	c3		 ret	 0
$LN27@Arabic_Get@2:

; 141  : 		case 0x062B: return	THEH[pos];break;				

  0009c	8b 4c 24 08	 mov	 ecx, DWORD PTR _pos$[esp-4]
  000a0	66 8b 04 4d 00
	00 00 00	 mov	 ax, WORD PTR ?THEH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[ecx*2]

; 170  : }

  000a8	c3		 ret	 0
$LN26@Arabic_Get@2:

; 142  : 		case 0x062C: return	JEEM[pos];break;				

  000a9	8b 54 24 08	 mov	 edx, DWORD PTR _pos$[esp-4]
  000ad	66 8b 04 55 00
	00 00 00	 mov	 ax, WORD PTR ?JEEM@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[edx*2]

; 170  : }

  000b5	c3		 ret	 0
$LN25@Arabic_Get@2:

; 143  : 		case 0x062D: return	HAH[pos];break;				

  000b6	8b 44 24 08	 mov	 eax, DWORD PTR _pos$[esp-4]
  000ba	66 8b 04 45 00
	00 00 00	 mov	 ax, WORD PTR ?HAH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[eax*2]

; 170  : }

  000c2	c3		 ret	 0
$LN24@Arabic_Get@2:

; 144  : 		case 0x062E: return	KHAH[pos];break;				

  000c3	8b 4c 24 08	 mov	 ecx, DWORD PTR _pos$[esp-4]
  000c7	66 8b 04 4d 00
	00 00 00	 mov	 ax, WORD PTR ?KHAH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[ecx*2]

; 170  : }

  000cf	c3		 ret	 0
$LN23@Arabic_Get@2:

; 145  : 		case 0x062F: return	DAL[pos];break;				

  000d0	8b 54 24 08	 mov	 edx, DWORD PTR _pos$[esp-4]
  000d4	66 8b 04 55 00
	00 00 00	 mov	 ax, WORD PTR ?DAL@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[edx*2]

; 170  : }

  000dc	c3		 ret	 0
$LN22@Arabic_Get@2:

; 146  : 		case 0x0630: return	THAL[pos];break;				

  000dd	8b 44 24 08	 mov	 eax, DWORD PTR _pos$[esp-4]
  000e1	66 8b 04 45 00
	00 00 00	 mov	 ax, WORD PTR ?THAL@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[eax*2]

; 170  : }

  000e9	c3		 ret	 0
$LN21@Arabic_Get@2:

; 147  : 		case 0x0631: return	REH[pos];break;				

  000ea	8b 4c 24 08	 mov	 ecx, DWORD PTR _pos$[esp-4]
  000ee	66 8b 04 4d 00
	00 00 00	 mov	 ax, WORD PTR ?REH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[ecx*2]

; 170  : }

  000f6	c3		 ret	 0
$LN20@Arabic_Get@2:

; 148  : 		case 0x0632: return	ZAIN[pos];break;				

  000f7	8b 54 24 08	 mov	 edx, DWORD PTR _pos$[esp-4]
  000fb	66 8b 04 55 00
	00 00 00	 mov	 ax, WORD PTR ?ZAIN@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[edx*2]

; 170  : }

  00103	c3		 ret	 0
$LN19@Arabic_Get@2:

; 149  : 		case 0x0633: return	SEEN[pos];break;				

  00104	8b 44 24 08	 mov	 eax, DWORD PTR _pos$[esp-4]
  00108	66 8b 04 45 00
	00 00 00	 mov	 ax, WORD PTR ?SEEN@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[eax*2]

; 170  : }

  00110	c3		 ret	 0
$LN18@Arabic_Get@2:

; 150  : 		case 0x0634: return	SHEEN[pos];break;				

  00111	8b 4c 24 08	 mov	 ecx, DWORD PTR _pos$[esp-4]
  00115	66 8b 04 4d 00
	00 00 00	 mov	 ax, WORD PTR ?SHEEN@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[ecx*2]

; 170  : }

  0011d	c3		 ret	 0
$LN17@Arabic_Get@2:

; 151  : 		case 0x0635: return	SAD[pos];break;				

  0011e	8b 54 24 08	 mov	 edx, DWORD PTR _pos$[esp-4]
  00122	66 8b 04 55 00
	00 00 00	 mov	 ax, WORD PTR ?SAD@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[edx*2]

; 170  : }

  0012a	c3		 ret	 0
$LN16@Arabic_Get@2:

; 152  : 		case 0x0636: return	DAD[pos];break;				

  0012b	8b 44 24 08	 mov	 eax, DWORD PTR _pos$[esp-4]
  0012f	66 8b 04 45 00
	00 00 00	 mov	 ax, WORD PTR ?DAD@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[eax*2]

; 170  : }

  00137	c3		 ret	 0
$LN15@Arabic_Get@2:

; 153  : 		case 0x0637: return	TAH[pos];break;				

  00138	8b 4c 24 08	 mov	 ecx, DWORD PTR _pos$[esp-4]
  0013c	66 8b 04 4d 00
	00 00 00	 mov	 ax, WORD PTR ?TAH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[ecx*2]

; 170  : }

  00144	c3		 ret	 0
$LN14@Arabic_Get@2:

; 154  : 		case 0x0638: return	ZAH[pos];break;				

  00145	8b 54 24 08	 mov	 edx, DWORD PTR _pos$[esp-4]
  00149	66 8b 04 55 00
	00 00 00	 mov	 ax, WORD PTR ?ZAH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[edx*2]

; 170  : }

  00151	c3		 ret	 0
$LN13@Arabic_Get@2:

; 155  : 		case 0x0639: return	AIN[pos];break;				

  00152	8b 44 24 08	 mov	 eax, DWORD PTR _pos$[esp-4]
  00156	66 8b 04 45 00
	00 00 00	 mov	 ax, WORD PTR ?AIN@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[eax*2]

; 170  : }

  0015e	c3		 ret	 0
$LN12@Arabic_Get@2:

; 156  : 		case 0x063A: return	GHAIN[pos];break;				

  0015f	8b 4c 24 08	 mov	 ecx, DWORD PTR _pos$[esp-4]
  00163	66 8b 04 4d 00
	00 00 00	 mov	 ax, WORD PTR ?GHAIN@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[ecx*2]

; 170  : }

  0016b	c3		 ret	 0
$LN11@Arabic_Get@2:

; 157  : 		case 0x0640: return	TATWEEL[pos];break;			

  0016c	8b 54 24 08	 mov	 edx, DWORD PTR _pos$[esp-4]
  00170	66 8b 04 55 00
	00 00 00	 mov	 ax, WORD PTR ?TATWEEL@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[edx*2]

; 170  : }

  00178	c3		 ret	 0
$LN10@Arabic_Get@2:

; 158  : 		case 0x0641: return	OX_FEH[pos];break;			

  00179	8b 44 24 08	 mov	 eax, DWORD PTR _pos$[esp-4]
  0017d	66 8b 04 45 00
	00 00 00	 mov	 ax, WORD PTR ?OX_FEH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[eax*2]

; 170  : }

  00185	c3		 ret	 0
$LN9@Arabic_Get@2:

; 159  : 		case 0x0642: return	QAF[pos];break;				

  00186	8b 4c 24 08	 mov	 ecx, DWORD PTR _pos$[esp-4]
  0018a	66 8b 04 4d 00
	00 00 00	 mov	 ax, WORD PTR ?QAF@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[ecx*2]

; 170  : }

  00192	c3		 ret	 0
$LN8@Arabic_Get@2:

; 160  : 		case 0x0643: return	KAF[pos];break;				

  00193	8b 54 24 08	 mov	 edx, DWORD PTR _pos$[esp-4]
  00197	66 8b 04 55 00
	00 00 00	 mov	 ax, WORD PTR ?KAF@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[edx*2]

; 170  : }

  0019f	c3		 ret	 0
$LN7@Arabic_Get@2:

; 161  : 		case 0x0644: return	LAM[pos];break;				

  001a0	8b 44 24 08	 mov	 eax, DWORD PTR _pos$[esp-4]
  001a4	66 8b 04 45 00
	00 00 00	 mov	 ax, WORD PTR ?LAM@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[eax*2]

; 170  : }

  001ac	c3		 ret	 0
$LN6@Arabic_Get@2:

; 162  : 		case 0x0645: return	MEEM[pos];break;				

  001ad	8b 4c 24 08	 mov	 ecx, DWORD PTR _pos$[esp-4]
  001b1	66 8b 04 4d 00
	00 00 00	 mov	 ax, WORD PTR ?MEEM@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[ecx*2]

; 170  : }

  001b9	c3		 ret	 0
$LN5@Arabic_Get@2:

; 163  : 		case 0x0646: return	NOON[pos];break;				

  001ba	8b 54 24 08	 mov	 edx, DWORD PTR _pos$[esp-4]
  001be	66 8b 04 55 00
	00 00 00	 mov	 ax, WORD PTR ?NOON@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[edx*2]

; 170  : }

  001c6	c3		 ret	 0
$LN4@Arabic_Get@2:

; 164  : 		case 0x0647: return	HEH[pos];break;				

  001c7	8b 44 24 08	 mov	 eax, DWORD PTR _pos$[esp-4]
  001cb	66 8b 04 45 00
	00 00 00	 mov	 ax, WORD PTR ?HEH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[eax*2]

; 170  : }

  001d3	c3		 ret	 0
$LN3@Arabic_Get@2:

; 165  : 		case 0x0648: return	WAW[pos];break;				

  001d4	8b 4c 24 08	 mov	 ecx, DWORD PTR _pos$[esp-4]
  001d8	66 8b 04 4d 00
	00 00 00	 mov	 ax, WORD PTR ?WAW@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[ecx*2]

; 170  : }

  001e0	c3		 ret	 0
$LN2@Arabic_Get@2:

; 166  : 		case 0x0649: return	ALEF_MAKSURA[pos];break;		

  001e1	8b 54 24 08	 mov	 edx, DWORD PTR _pos$[esp-4]
  001e5	66 8b 04 55 00
	00 00 00	 mov	 ax, WORD PTR ?ALEF_MAKSURA@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[edx*2]

; 170  : }

  001ed	c3		 ret	 0
$LN1@Arabic_Get@2:

; 167  : 		case 0x064A: return	YEH[pos];break;				

  001ee	8b 44 24 08	 mov	 eax, DWORD PTR _pos$[esp-4]
  001f2	66 8b 04 45 00
	00 00 00	 mov	 ax, WORD PTR ?YEH@?1??Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z@4PA_WA[eax*2]

; 170  : }

  001fa	c3		 ret	 0
$LN38@Arabic_Get@2:

; 168  : 	}
; 169  : 	return 0;

  001fb	33 c0		 xor	 eax, eax

; 170  : }

  001fd	c3		 ret	 0
  001fe	8b ff		 npad	 2
$LN42@Arabic_Get@2:
  00200	00 00 00 00	 DD	 $LN37@Arabic_Get@2
  00204	00 00 00 00	 DD	 $LN36@Arabic_Get@2
  00208	00 00 00 00	 DD	 $LN35@Arabic_Get@2
  0020c	00 00 00 00	 DD	 $LN34@Arabic_Get@2
  00210	00 00 00 00	 DD	 $LN33@Arabic_Get@2
  00214	00 00 00 00	 DD	 $LN32@Arabic_Get@2
  00218	00 00 00 00	 DD	 $LN31@Arabic_Get@2
  0021c	00 00 00 00	 DD	 $LN30@Arabic_Get@2
  00220	00 00 00 00	 DD	 $LN29@Arabic_Get@2
  00224	00 00 00 00	 DD	 $LN28@Arabic_Get@2
  00228	00 00 00 00	 DD	 $LN27@Arabic_Get@2
  0022c	00 00 00 00	 DD	 $LN26@Arabic_Get@2
  00230	00 00 00 00	 DD	 $LN25@Arabic_Get@2
  00234	00 00 00 00	 DD	 $LN24@Arabic_Get@2
  00238	00 00 00 00	 DD	 $LN23@Arabic_Get@2
  0023c	00 00 00 00	 DD	 $LN22@Arabic_Get@2
  00240	00 00 00 00	 DD	 $LN21@Arabic_Get@2
  00244	00 00 00 00	 DD	 $LN20@Arabic_Get@2
  00248	00 00 00 00	 DD	 $LN19@Arabic_Get@2
  0024c	00 00 00 00	 DD	 $LN18@Arabic_Get@2
  00250	00 00 00 00	 DD	 $LN17@Arabic_Get@2
  00254	00 00 00 00	 DD	 $LN16@Arabic_Get@2
  00258	00 00 00 00	 DD	 $LN15@Arabic_Get@2
  0025c	00 00 00 00	 DD	 $LN14@Arabic_Get@2
  00260	00 00 00 00	 DD	 $LN13@Arabic_Get@2
  00264	00 00 00 00	 DD	 $LN12@Arabic_Get@2
  00268	00 00 00 00	 DD	 $LN38@Arabic_Get@2
  0026c	00 00 00 00	 DD	 $LN38@Arabic_Get@2
  00270	00 00 00 00	 DD	 $LN38@Arabic_Get@2
  00274	00 00 00 00	 DD	 $LN38@Arabic_Get@2
  00278	00 00 00 00	 DD	 $LN38@Arabic_Get@2
  0027c	00 00 00 00	 DD	 $LN11@Arabic_Get@2
  00280	00 00 00 00	 DD	 $LN10@Arabic_Get@2
  00284	00 00 00 00	 DD	 $LN9@Arabic_Get@2
  00288	00 00 00 00	 DD	 $LN8@Arabic_Get@2
  0028c	00 00 00 00	 DD	 $LN7@Arabic_Get@2
  00290	00 00 00 00	 DD	 $LN6@Arabic_Get@2
  00294	00 00 00 00	 DD	 $LN5@Arabic_Get@2
  00298	00 00 00 00	 DD	 $LN4@Arabic_Get@2
  0029c	00 00 00 00	 DD	 $LN3@Arabic_Get@2
  002a0	00 00 00 00	 DD	 $LN2@Arabic_Get@2
  002a4	00 00 00 00	 DD	 $LN1@Arabic_Get@2
?Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z ENDP	; Arabic_GetMap
_TEXT	ENDS
PUBLIC	?Arabic_IsInMap@@YA_N_W@Z			; Arabic_IsInMap
; Function compile flags: /Ogtpy
;	COMDAT ?Arabic_IsInMap@@YA_N_W@Z
_TEXT	SEGMENT
_code$ = 8						; size = 2
?Arabic_IsInMap@@YA_N_W@Z PROC				; Arabic_IsInMap, COMDAT

; 174  : 	return (code >= ARABIC_CODE_BASE && code <= ARABIC_CODE_LAST);

  00000	8b 44 24 04	 mov	 eax, DWORD PTR _code$[esp-4]
  00004	05 df f9 ff ff	 add	 eax, -1569		; fffff9dfH
  00009	66 b9 29 00	 mov	 cx, 41			; 00000029H
  0000d	66 3b c8	 cmp	 cx, ax
  00010	1b c0		 sbb	 eax, eax
  00012	40		 inc	 eax

; 175  : }

  00013	c3		 ret	 0
?Arabic_IsInMap@@YA_N_W@Z ENDP				; Arabic_IsInMap
_TEXT	ENDS
PUBLIC	?Arabic_IsInComposing@@YA_N_W@Z			; Arabic_IsInComposing
; Function compile flags: /Ogtpy
;	COMDAT ?Arabic_IsInComposing@@YA_N_W@Z
_TEXT	SEGMENT
_code$ = 8						; size = 2
?Arabic_IsInComposing@@YA_N_W@Z PROC			; Arabic_IsInComposing, COMDAT

; 179  : 	switch (code)

  00000	0f b7 44 24 04	 movzx	 eax, WORD PTR _code$[esp-4]
  00005	05 b5 f9 ff ff	 add	 eax, -1611		; fffff9b5H
  0000a	3d a2 00 00 00	 cmp	 eax, 162		; 000000a2H
  0000f	77 11		 ja	 SHORT $LN2@Arabic_IsI@4
  00011	0f b6 80 00 00
	00 00		 movzx	 eax, BYTE PTR $LN6@Arabic_IsI@4[eax]
  00018	ff 24 85 00 00
	00 00		 jmp	 DWORD PTR $LN7@Arabic_IsI@4[eax*4]
$LN1@Arabic_IsI@4:

; 180  : 	{
; 181  : 		case 0x064B:         // FATHATAN
; 182  : 		case 0x064C:         // DAMMATAN
; 183  : 		case 0x064D:         // KASRATAN
; 184  : 		case 0x064E:         // FATHA
; 185  : 		case 0x064F:         // DAMMA
; 186  : 		case 0x0650:         // KASRA
; 187  : 		case 0x0651:         // SHADDA
; 188  : 		case 0x0652:         // SUKUN
; 189  : 		case 0x0653:         // MADDAH ABOVE
; 190  : 		case 0x0654:         // HAMZA ABOVE
; 191  : 		case 0x0655:         // HAMZA BELOW
; 192  : 		case 0x0670:         // SUPERSCRIPT ALEF
; 193  : 		case 0x06D6:         // HIGH LIG. SAD WITH LAM WITH ALEF MAKSURA
; 194  : 		case 0x06D7:         // HIGH LIG. QAF WITH LAM WITH ALEF MAKSURA
; 195  : 		case 0x06D8:         // HIGH MEEM INITIAL FORM
; 196  : 		case 0x06D9:         // HIGH LAM ALEF
; 197  : 		case 0x06DA:         // HIGH JEEM
; 198  : 		case 0x06DB:         // HIGH THREE DOTS
; 199  : 		case 0x06DC:         // HIGH SEEN
; 200  : 
; 201  : 		// The 2 entires below should not be here - contact unicode.org !!
; 202  : 		// case 0x06DD:         // END OF AYAH
; 203  : 		// case 0x06DE:         // START OF RUB EL HIZB
; 204  : 
; 205  : 		case 0x06DF:         // HIGH ROUNDED ZERO
; 206  : 		case 0x06E0:         // HIGH UPRIGHT RECTANGULAR ZERO
; 207  : 		case 0x06E1:         // HIGH DOTLESS HEAD OF KHAH
; 208  : 		case 0x06E2:         // HIGH MEEM ISOLATED FORM
; 209  : 		case 0x06E3:         // LOW SEEN
; 210  : 		case 0x06E4:         // HIGH MADDA
; 211  : 		case 0x06E7:         // HIGH YEH
; 212  : 		case 0x06E8:         // HIGH NOON
; 213  : 		case 0x06EA:         // EMPTY CENTRE LOW STOP
; 214  : 		case 0x06EB:         // EMPTY CENTRE HIGH STOP
; 215  : 		case 0x06EC:         // HIGH STOP WITH FILLED CENTRE
; 216  : 		case 0x06ED:         // LOW MEEM
; 217  : 			return true;

  0001f	b0 01		 mov	 al, 1

; 220  : }

  00021	c3		 ret	 0
$LN2@Arabic_IsI@4:

; 218  : 	}
; 219  : 	return false;

  00022	32 c0		 xor	 al, al

; 220  : }

  00024	c3		 ret	 0
  00025	8d 49 00	 npad	 3
$LN7@Arabic_IsI@4:
  00028	00 00 00 00	 DD	 $LN1@Arabic_IsI@4
  0002c	00 00 00 00	 DD	 $LN2@Arabic_IsI@4
$LN6@Arabic_IsI@4:
  00030	00		 DB	 0
  00031	00		 DB	 0
  00032	00		 DB	 0
  00033	00		 DB	 0
  00034	00		 DB	 0
  00035	00		 DB	 0
  00036	00		 DB	 0
  00037	00		 DB	 0
  00038	00		 DB	 0
  00039	00		 DB	 0
  0003a	00		 DB	 0
  0003b	01		 DB	 1
  0003c	01		 DB	 1
  0003d	01		 DB	 1
  0003e	01		 DB	 1
  0003f	01		 DB	 1
  00040	01		 DB	 1
  00041	01		 DB	 1
  00042	01		 DB	 1
  00043	01		 DB	 1
  00044	01		 DB	 1
  00045	01		 DB	 1
  00046	01		 DB	 1
  00047	01		 DB	 1
  00048	01		 DB	 1
  00049	01		 DB	 1
  0004a	01		 DB	 1
  0004b	01		 DB	 1
  0004c	01		 DB	 1
  0004d	01		 DB	 1
  0004e	01		 DB	 1
  0004f	01		 DB	 1
  00050	01		 DB	 1
  00051	01		 DB	 1
  00052	01		 DB	 1
  00053	01		 DB	 1
  00054	01		 DB	 1
  00055	00		 DB	 0
  00056	01		 DB	 1
  00057	01		 DB	 1
  00058	01		 DB	 1
  00059	01		 DB	 1
  0005a	01		 DB	 1
  0005b	01		 DB	 1
  0005c	01		 DB	 1
  0005d	01		 DB	 1
  0005e	01		 DB	 1
  0005f	01		 DB	 1
  00060	01		 DB	 1
  00061	01		 DB	 1
  00062	01		 DB	 1
  00063	01		 DB	 1
  00064	01		 DB	 1
  00065	01		 DB	 1
  00066	01		 DB	 1
  00067	01		 DB	 1
  00068	01		 DB	 1
  00069	01		 DB	 1
  0006a	01		 DB	 1
  0006b	01		 DB	 1
  0006c	01		 DB	 1
  0006d	01		 DB	 1
  0006e	01		 DB	 1
  0006f	01		 DB	 1
  00070	01		 DB	 1
  00071	01		 DB	 1
  00072	01		 DB	 1
  00073	01		 DB	 1
  00074	01		 DB	 1
  00075	01		 DB	 1
  00076	01		 DB	 1
  00077	01		 DB	 1
  00078	01		 DB	 1
  00079	01		 DB	 1
  0007a	01		 DB	 1
  0007b	01		 DB	 1
  0007c	01		 DB	 1
  0007d	01		 DB	 1
  0007e	01		 DB	 1
  0007f	01		 DB	 1
  00080	01		 DB	 1
  00081	01		 DB	 1
  00082	01		 DB	 1
  00083	01		 DB	 1
  00084	01		 DB	 1
  00085	01		 DB	 1
  00086	01		 DB	 1
  00087	01		 DB	 1
  00088	01		 DB	 1
  00089	01		 DB	 1
  0008a	01		 DB	 1
  0008b	01		 DB	 1
  0008c	01		 DB	 1
  0008d	01		 DB	 1
  0008e	01		 DB	 1
  0008f	01		 DB	 1
  00090	01		 DB	 1
  00091	01		 DB	 1
  00092	01		 DB	 1
  00093	01		 DB	 1
  00094	01		 DB	 1
  00095	01		 DB	 1
  00096	01		 DB	 1
  00097	01		 DB	 1
  00098	01		 DB	 1
  00099	01		 DB	 1
  0009a	01		 DB	 1
  0009b	01		 DB	 1
  0009c	01		 DB	 1
  0009d	01		 DB	 1
  0009e	01		 DB	 1
  0009f	01		 DB	 1
  000a0	01		 DB	 1
  000a1	01		 DB	 1
  000a2	01		 DB	 1
  000a3	01		 DB	 1
  000a4	01		 DB	 1
  000a5	01		 DB	 1
  000a6	01		 DB	 1
  000a7	01		 DB	 1
  000a8	01		 DB	 1
  000a9	01		 DB	 1
  000aa	01		 DB	 1
  000ab	01		 DB	 1
  000ac	01		 DB	 1
  000ad	01		 DB	 1
  000ae	01		 DB	 1
  000af	01		 DB	 1
  000b0	01		 DB	 1
  000b1	01		 DB	 1
  000b2	01		 DB	 1
  000b3	01		 DB	 1
  000b4	01		 DB	 1
  000b5	01		 DB	 1
  000b6	01		 DB	 1
  000b7	01		 DB	 1
  000b8	01		 DB	 1
  000b9	01		 DB	 1
  000ba	01		 DB	 1
  000bb	00		 DB	 0
  000bc	00		 DB	 0
  000bd	00		 DB	 0
  000be	00		 DB	 0
  000bf	00		 DB	 0
  000c0	00		 DB	 0
  000c1	00		 DB	 0
  000c2	01		 DB	 1
  000c3	01		 DB	 1
  000c4	00		 DB	 0
  000c5	00		 DB	 0
  000c6	00		 DB	 0
  000c7	00		 DB	 0
  000c8	00		 DB	 0
  000c9	00		 DB	 0
  000ca	01		 DB	 1
  000cb	01		 DB	 1
  000cc	00		 DB	 0
  000cd	00		 DB	 0
  000ce	01		 DB	 1
  000cf	00		 DB	 0
  000d0	00		 DB	 0
  000d1	00		 DB	 0
  000d2	00		 DB	 0
?Arabic_IsInComposing@@YA_N_W@Z ENDP			; Arabic_IsInComposing
_TEXT	ENDS
PUBLIC	?Arabic_IsNext@@YA_N_W@Z			; Arabic_IsNext
; Function compile flags: /Ogtpy
;	COMDAT ?Arabic_IsNext@@YA_N_W@Z
_TEXT	SEGMENT
_code$ = 8						; size = 2
?Arabic_IsNext@@YA_N_W@Z PROC				; Arabic_IsNext, COMDAT

; 224  : 	return (code == 0x0640);

  00000	b8 40 06 00 00	 mov	 eax, 1600		; 00000640H
  00005	33 c9		 xor	 ecx, ecx
  00007	66 39 44 24 04	 cmp	 WORD PTR _code$[esp-4], ax
  0000c	0f 94 c1	 sete	 cl
  0000f	8a c1		 mov	 al, cl

; 225  : }

  00011	c3		 ret	 0
?Arabic_IsNext@@YA_N_W@Z ENDP				; Arabic_IsNext
_TEXT	ENDS
PUBLIC	?Arabic_IsComb1@@YA_N_W@Z			; Arabic_IsComb1
; Function compile flags: /Ogtpy
;	COMDAT ?Arabic_IsComb1@@YA_N_W@Z
_TEXT	SEGMENT
_code$ = 8						; size = 2
?Arabic_IsComb1@@YA_N_W@Z PROC				; Arabic_IsComb1, COMDAT

; 229  : 	return (code == 0x0644);

  00000	b8 44 06 00 00	 mov	 eax, 1604		; 00000644H
  00005	33 c9		 xor	 ecx, ecx
  00007	66 39 44 24 04	 cmp	 WORD PTR _code$[esp-4], ax
  0000c	0f 94 c1	 sete	 cl
  0000f	8a c1		 mov	 al, cl

; 230  : }

  00011	c3		 ret	 0
?Arabic_IsComb1@@YA_N_W@Z ENDP				; Arabic_IsComb1
_TEXT	ENDS
PUBLIC	?Arabic_IsComb2@@YA_N_W@Z			; Arabic_IsComb2
; Function compile flags: /Ogtpy
;	COMDAT ?Arabic_IsComb2@@YA_N_W@Z
_TEXT	SEGMENT
_code$ = 8						; size = 2
?Arabic_IsComb2@@YA_N_W@Z PROC				; Arabic_IsComb2, COMDAT

; 234  : 	switch (code)

  00000	0f b7 44 24 04	 movzx	 eax, WORD PTR _code$[esp-4]
  00005	05 de f9 ff ff	 add	 eax, -1570		; fffff9deH
  0000a	83 f8 05	 cmp	 eax, 5
  0000d	77 11		 ja	 SHORT $LN2@Arabic_IsC
  0000f	0f b6 80 00 00
	00 00		 movzx	 eax, BYTE PTR $LN6@Arabic_IsC[eax]
  00016	ff 24 85 00 00
	00 00		 jmp	 DWORD PTR $LN7@Arabic_IsC[eax*4]
$LN1@Arabic_IsC:

; 235  : 	{
; 236  : 		case 0x0622:
; 237  : 		case 0x0623:
; 238  : 		case 0x0625:
; 239  : 		case 0x0627:
; 240  : 			return true;

  0001d	b0 01		 mov	 al, 1

; 244  : }

  0001f	c3		 ret	 0
$LN2@Arabic_IsC:

; 241  : 	}
; 242  : 
; 243  : 	return false;

  00020	32 c0		 xor	 al, al

; 244  : }

  00022	c3		 ret	 0
  00023	90		 npad	 1
$LN7@Arabic_IsC:
  00024	00 00 00 00	 DD	 $LN1@Arabic_IsC
  00028	00 00 00 00	 DD	 $LN2@Arabic_IsC
$LN6@Arabic_IsC:
  0002c	00		 DB	 0
  0002d	00		 DB	 0
  0002e	01		 DB	 1
  0002f	00		 DB	 0
  00030	01		 DB	 1
  00031	00		 DB	 0
?Arabic_IsComb2@@YA_N_W@Z ENDP				; Arabic_IsComb2
_TEXT	ENDS
PUBLIC	?Arabic_MakeShape@@YAIPA_WI0I@Z			; Arabic_MakeShape
; Function compile flags: /Ogtpy
;	COMDAT ?Arabic_MakeShape@@YAIPA_WI0I@Z
_TEXT	SEGMENT
_srcIndex$27098 = -4					; size = 4
_src$ = 8						; size = 4
_srcLen$ = 12						; size = 4
_dst$ = 16						; size = 4
_dstLen$ = 20						; size = 4
?Arabic_MakeShape@@YAIPA_WI0I@Z PROC			; Arabic_MakeShape, COMDAT

; 247  : {	

  00000	51		 push	 ecx
  00001	56		 push	 esi

; 248  : 	assert(dstLen >= srcLen);
; 249  : 
; 250  : 	const size_t srcLastIndex = srcLen - 1;
; 251  : 
; 252  : 	unsigned dstIndex = 0;	
; 253  : 	for (size_t srcIndex = 0; srcIndex < srcLen; ++srcIndex)

  00002	33 f6		 xor	 esi, esi
  00004	57		 push	 edi
  00005	33 ff		 xor	 edi, edi
  00007	89 74 24 08	 mov	 DWORD PTR _srcIndex$27098[esp+12], esi
  0000b	39 74 24 14	 cmp	 DWORD PTR _srcLen$[esp+8], esi
  0000f	0f 86 b9 01 00
	00		 jbe	 $LN34@Arabic_Mak
  00015	53		 push	 ebx
  00016	55		 push	 ebp
$LL41@Arabic_Mak:

; 254  : 	{
; 255  : 		wchar_t cur = src[srcIndex];

  00017	8b 54 24 18	 mov	 edx, DWORD PTR _src$[esp+16]
  0001b	0f b7 2c 72	 movzx	 ebp, WORD PTR [edx+esi*2]

; 256  : 
; 257  : 		//printf("now %x\n", cur);
; 258  : 
; 259  : 		if (Arabic_IsInMap(cur))

  0001f	55		 push	 ebp
  00020	e8 00 00 00 00	 call	 ?Arabic_IsInMap@@YA_N_W@Z ; Arabic_IsInMap
  00025	83 c4 04	 add	 esp, 4
  00028	84 c0		 test	 al, al
  0002a	0f 84 80 01 00
	00		 je	 $LN24@Arabic_Mak

; 260  : 		{
; 261  : 			// 이전 글자 얻어내기
; 262  : 			wchar_t prev = 0;			

  00030	33 db		 xor	 ebx, ebx

; 263  : 			{
; 264  : 				size_t prevIndex = srcIndex;

  00032	8b ce		 mov	 ecx, esi
$LL23@Arabic_Mak:

; 265  : 				while (prevIndex > 0)

  00034	85 c9		 test	 ecx, ecx
  00036	76 13		 jbe	 SHORT $LN21@Arabic_Mak

; 266  : 				{
; 267  : 					prevIndex--;
; 268  : 					prev = src[prevIndex];

  00038	0f b7 5c 4a fe	 movzx	 ebx, WORD PTR [edx+ecx*2-2]
  0003d	49		 dec	 ecx

; 269  : 					//printf("\tprev %d:%x\n", prevIndex, cur);
; 270  : 					if (Arabic_IsInComposing(prev))

  0003e	53		 push	 ebx
  0003f	e8 00 00 00 00	 call	 ?Arabic_IsInComposing@@YA_N_W@Z ; Arabic_IsInComposing
  00044	83 c4 04	 add	 esp, 4
  00047	84 c0		 test	 al, al
  00049	75 e9		 jne	 SHORT $LL23@Arabic_Mak
$LN21@Arabic_Mak:

; 271  : 						continue;
; 272  : 					else
; 273  : 						break;
; 274  : 				}
; 275  : 
; 276  : 				if ((srcIndex == 0) || 
; 277  : 					(!Arabic_IsInMap(prev)) || 
; 278  : 					(!Arabic_GetMap(prev, INITIAL) && !Arabic_GetMap(prev, MEDIAL)))

  0004b	85 f6		 test	 esi, esi
  0004d	74 31		 je	 SHORT $LN40@Arabic_Mak
  0004f	53		 push	 ebx
  00050	e8 00 00 00 00	 call	 ?Arabic_IsInMap@@YA_N_W@Z ; Arabic_IsInMap
  00055	83 c4 04	 add	 esp, 4
  00058	84 c0		 test	 al, al
  0005a	74 24		 je	 SHORT $LN40@Arabic_Mak
  0005c	6a 02		 push	 2
  0005e	53		 push	 ebx
  0005f	e8 00 00 00 00	 call	 ?Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z ; Arabic_GetMap
  00064	83 c4 08	 add	 esp, 8
  00067	66 85 c0	 test	 ax, ax
  0006a	75 18		 jne	 SHORT $LN35@Arabic_Mak
  0006c	6a 03		 push	 3
  0006e	53		 push	 ebx
  0006f	e8 00 00 00 00	 call	 ?Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z ; Arabic_GetMap
  00074	83 c4 08	 add	 esp, 8
  00077	66 85 c0	 test	 ax, ax
  0007a	75 08		 jne	 SHORT $LN35@Arabic_Mak
  0007c	8b 54 24 18	 mov	 edx, DWORD PTR _src$[esp+16]
$LN40@Arabic_Mak:

; 279  : 				{
; 280  : 					//printf("\tprev not defined\n");
; 281  : 					prev = 0;

  00080	33 db		 xor	 ebx, ebx
  00082	eb 04		 jmp	 SHORT $LN19@Arabic_Mak
$LN35@Arabic_Mak:
  00084	8b 54 24 18	 mov	 edx, DWORD PTR _src$[esp+16]
$LN19@Arabic_Mak:

; 282  : 				}
; 283  : 			}
; 284  : 
; 285  : 			// 다음 글자 얻어내기
; 286  : 			wchar_t next = 0;
; 287  : 			{
; 288  : 				size_t nextIndex = srcIndex;

  00088	8b 4c 24 10	 mov	 ecx, DWORD PTR _srcIndex$27098[esp+20]
  0008c	33 f6		 xor	 esi, esi
  0008e	8b ff		 npad	 2
$LL17@Arabic_Mak:

; 289  : 				while (nextIndex < srcLastIndex)

  00090	8b 44 24 1c	 mov	 eax, DWORD PTR _srcLen$[esp+16]
  00094	48		 dec	 eax
  00095	3b c8		 cmp	 ecx, eax
  00097	73 13		 jae	 SHORT $LN15@Arabic_Mak

; 290  : 				{
; 291  : 					nextIndex++;
; 292  : 					next = src[nextIndex];

  00099	0f b7 74 4a 02	 movzx	 esi, WORD PTR [edx+ecx*2+2]
  0009e	41		 inc	 ecx

; 293  : 					if (Arabic_IsInComposing(next))

  0009f	56		 push	 esi
  000a0	e8 00 00 00 00	 call	 ?Arabic_IsInComposing@@YA_N_W@Z ; Arabic_IsInComposing
  000a5	83 c4 04	 add	 esp, 4
  000a8	84 c0		 test	 al, al
  000aa	75 e4		 jne	 SHORT $LL17@Arabic_Mak
$LN15@Arabic_Mak:

; 294  : 						continue;
; 295  : 					else
; 296  : 						break;
; 297  : 				}
; 298  : 
; 299  : 				if ((nextIndex == srcLen) || 
; 300  : 					(!Arabic_IsInMap(next)) ||
; 301  : 					(!Arabic_GetMap(next, MEDIAL) && !Arabic_GetMap(next, FINAL) && !Arabic_IsNext(next)))

  000ac	3b 4c 24 1c	 cmp	 ecx, DWORD PTR _srcLen$[esp+16]
  000b0	74 3a		 je	 SHORT $LN12@Arabic_Mak
  000b2	56		 push	 esi
  000b3	e8 00 00 00 00	 call	 ?Arabic_IsInMap@@YA_N_W@Z ; Arabic_IsInMap
  000b8	83 c4 04	 add	 esp, 4
  000bb	84 c0		 test	 al, al
  000bd	74 2d		 je	 SHORT $LN12@Arabic_Mak
  000bf	6a 03		 push	 3
  000c1	56		 push	 esi
  000c2	e8 00 00 00 00	 call	 ?Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z ; Arabic_GetMap
  000c7	83 c4 08	 add	 esp, 8
  000ca	66 85 c0	 test	 ax, ax
  000cd	75 1f		 jne	 SHORT $LN36@Arabic_Mak
  000cf	6a 04		 push	 4
  000d1	56		 push	 esi
  000d2	e8 00 00 00 00	 call	 ?Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z ; Arabic_GetMap
  000d7	83 c4 08	 add	 esp, 8
  000da	66 85 c0	 test	 ax, ax
  000dd	75 0f		 jne	 SHORT $LN36@Arabic_Mak
  000df	56		 push	 esi
  000e0	e8 00 00 00 00	 call	 ?Arabic_IsNext@@YA_N_W@Z ; Arabic_IsNext
  000e5	83 c4 04	 add	 esp, 4
  000e8	84 c0		 test	 al, al
  000ea	75 02		 jne	 SHORT $LN36@Arabic_Mak
$LN12@Arabic_Mak:

; 302  : 				{
; 303  : 					//printf("\tnext not defined\n");
; 304  : 					next = 0;

  000ec	33 f6		 xor	 esi, esi
$LN36@Arabic_Mak:

; 305  : 				}
; 306  : 			}
; 307  : 
; 308  : 			if (Arabic_IsComb1(cur) && Arabic_IsComb2(next))

  000ee	55		 push	 ebp
  000ef	e8 00 00 00 00	 call	 ?Arabic_IsComb1@@YA_N_W@Z ; Arabic_IsComb1
  000f4	83 c4 04	 add	 esp, 4
  000f7	84 c0		 test	 al, al
  000f9	74 49		 je	 SHORT $LN11@Arabic_Mak
  000fb	56		 push	 esi
  000fc	e8 00 00 00 00	 call	 ?Arabic_IsComb2@@YA_N_W@Z ; Arabic_IsComb2
  00101	83 c4 04	 add	 esp, 4
  00104	84 c0		 test	 al, al
  00106	74 3c		 je	 SHORT $LN11@Arabic_Mak

; 309  : 			{
; 310  : 				if (prev)

  00108	66 85 db	 test	 bx, bx
  0010b	74 1d		 je	 SHORT $LN10@Arabic_Mak

; 311  : 					dst[dstIndex] = Arabic_GetComposition(cur, next, FINAL);

  0010d	6a 04		 push	 4
  0010f	56		 push	 esi
  00110	55		 push	 ebp
  00111	e8 00 00 00 00	 call	 ?Arabic_GetComposition@@YA_W_W0W4ARABIC_FORM_TYPE@@@Z ; Arabic_GetComposition
  00116	8b 4c 24 2c	 mov	 ecx, DWORD PTR _dst$[esp+28]

; 312  : 				else
; 313  : 					dst[dstIndex] = Arabic_GetComposition(cur, next, ISOLATED);

  0011a	83 c4 0c	 add	 esp, 12			; 0000000cH

; 314  : 
; 315  : 				//printf("\tGot me a complex:%x\n", dst[dstIndex]);
; 316  : 
; 317  : 				srcIndex++;

  0011d	ff 44 24 10	 inc	 DWORD PTR _srcIndex$27098[esp+20]
  00121	66 89 04 79	 mov	 WORD PTR [ecx+edi*2], ax

; 318  : 				dstIndex++;				

  00125	e9 8e 00 00 00	 jmp	 $LN43@Arabic_Mak
$LN10@Arabic_Mak:

; 312  : 				else
; 313  : 					dst[dstIndex] = Arabic_GetComposition(cur, next, ISOLATED);

  0012a	6a 01		 push	 1
  0012c	56		 push	 esi
  0012d	55		 push	 ebp
  0012e	e8 00 00 00 00	 call	 ?Arabic_GetComposition@@YA_W_W0W4ARABIC_FORM_TYPE@@@Z ; Arabic_GetComposition
  00133	8b 54 24 2c	 mov	 edx, DWORD PTR _dst$[esp+28]
  00137	83 c4 0c	 add	 esp, 12			; 0000000cH

; 314  : 
; 315  : 				//printf("\tGot me a complex:%x\n", dst[dstIndex]);
; 316  : 
; 317  : 				srcIndex++;

  0013a	ff 44 24 10	 inc	 DWORD PTR _srcIndex$27098[esp+20]
  0013e	66 89 04 7a	 mov	 WORD PTR [edx+edi*2], ax

; 318  : 				dstIndex++;				

  00142	eb 74		 jmp	 SHORT $LN43@Arabic_Mak
$LN11@Arabic_Mak:

; 319  : 			}
; 320  : 			else if (prev && next && (dst[dstIndex] = Arabic_GetMap(cur, MEDIAL)))

  00144	66 85 db	 test	 bx, bx
  00147	74 39		 je	 SHORT $LN39@Arabic_Mak
  00149	66 85 f6	 test	 si, si
  0014c	74 1a		 je	 SHORT $LN37@Arabic_Mak
  0014e	6a 03		 push	 3
  00150	55		 push	 ebp
  00151	e8 00 00 00 00	 call	 ?Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z ; Arabic_GetMap
  00156	8b 5c 24 28	 mov	 ebx, DWORD PTR _dst$[esp+24]
  0015a	83 c4 08	 add	 esp, 8
  0015d	66 89 04 7b	 mov	 WORD PTR [ebx+edi*2], ax
  00161	66 85 c0	 test	 ax, ax
  00164	74 06		 je	 SHORT $LN7@Arabic_Mak

; 321  : 			{
; 322  : 				//printf("\tGot prev & next:%x\n", dst[dstIndex]);
; 323  : 				dstIndex++;				

  00166	eb 50		 jmp	 SHORT $LN43@Arabic_Mak
$LN37@Arabic_Mak:
  00168	8b 5c 24 20	 mov	 ebx, DWORD PTR _dst$[esp+16]
$LN7@Arabic_Mak:

; 324  : 			}
; 325  : 			else if (prev && (dst[dstIndex] = Arabic_GetMap(cur, FINAL)))

  0016c	6a 04		 push	 4
  0016e	55		 push	 ebp
  0016f	e8 00 00 00 00	 call	 ?Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z ; Arabic_GetMap
  00174	83 c4 08	 add	 esp, 8
  00177	66 89 04 7b	 mov	 WORD PTR [ebx+edi*2], ax
  0017b	66 85 c0	 test	 ax, ax
  0017e	74 06		 je	 SHORT $LN5@Arabic_Mak

; 326  : 			{
; 327  : 				//printf("\tGot prev:%x\n", dst[dstIndex]);
; 328  : 				dstIndex++;				

  00180	eb 36		 jmp	 SHORT $LN43@Arabic_Mak
$LN39@Arabic_Mak:
  00182	8b 5c 24 20	 mov	 ebx, DWORD PTR _dst$[esp+16]
$LN5@Arabic_Mak:

; 329  : 			}
; 330  : 			else if (next && (dst[dstIndex] = Arabic_GetMap(cur, INITIAL)))

  00186	66 85 f6	 test	 si, si
  00189	74 14		 je	 SHORT $LN3@Arabic_Mak
  0018b	6a 02		 push	 2
  0018d	55		 push	 ebp
  0018e	e8 00 00 00 00	 call	 ?Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z ; Arabic_GetMap
  00193	83 c4 08	 add	 esp, 8
  00196	66 89 04 7b	 mov	 WORD PTR [ebx+edi*2], ax
  0019a	66 85 c0	 test	 ax, ax

; 331  : 			{
; 332  : 				//printf("\tGot next:%x\n", dst[dstIndex]);
; 333  : 				dstIndex++;				
; 334  : 			}
; 335  : 			else

  0019d	75 19		 jne	 SHORT $LN43@Arabic_Mak
$LN3@Arabic_Mak:

; 336  : 			{
; 337  : 				dst[dstIndex] = Arabic_GetMap(cur, ISOLATED);

  0019f	6a 01		 push	 1
  001a1	55		 push	 ebp
  001a2	e8 00 00 00 00	 call	 ?Arabic_GetMap@@YA_W_WW4ARABIC_FORM_TYPE@@@Z ; Arabic_GetMap
  001a7	83 c4 08	 add	 esp, 8
  001aa	66 89 04 7b	 mov	 WORD PTR [ebx+edi*2], ax

; 338  : 				//printf("\tGot nothing:%x\n", dst[dstIndex]);
; 339  : 				dstIndex++;
; 340  : 			}
; 341  : 		}
; 342  : 		else

  001ae	eb 08		 jmp	 SHORT $LN43@Arabic_Mak
$LN24@Arabic_Mak:

; 343  : 		{
; 344  : 			dst[dstIndex] = cur;

  001b0	8b 44 24 20	 mov	 eax, DWORD PTR _dst$[esp+16]
  001b4	66 89 2c 78	 mov	 WORD PTR [eax+edi*2], bp
$LN43@Arabic_Mak:
  001b8	8b 74 24 10	 mov	 esi, DWORD PTR _srcIndex$27098[esp+20]
  001bc	46		 inc	 esi

; 345  : 			dstIndex++;

  001bd	47		 inc	 edi
  001be	89 74 24 10	 mov	 DWORD PTR _srcIndex$27098[esp+20], esi
  001c2	3b 74 24 1c	 cmp	 esi, DWORD PTR _srcLen$[esp+16]
  001c6	0f 82 4b fe ff
	ff		 jb	 $LL41@Arabic_Mak
  001cc	5d		 pop	 ebp
  001cd	5b		 pop	 ebx
$LN34@Arabic_Mak:

; 346  : 		}
; 347  : 	}
; 348  : 	return dstIndex;

  001ce	8b c7		 mov	 eax, edi
  001d0	5f		 pop	 edi
  001d1	5e		 pop	 esi

; 349  : }

  001d2	59		 pop	 ecx
  001d3	c3		 ret	 0
?Arabic_MakeShape@@YAIPA_WI0I@Z ENDP			; Arabic_MakeShape
_TEXT	ENDS
PUBLIC	?Arabic_ConvSymbol@@YA_W_W@Z			; Arabic_ConvSymbol
; Function compile flags: /Ogtpy
;	COMDAT ?Arabic_ConvSymbol@@YA_W_W@Z
_TEXT	SEGMENT
_c$ = 8							; size = 2
?Arabic_ConvSymbol@@YA_W_W@Z PROC			; Arabic_ConvSymbol, COMDAT

; 353  : 	switch (c)

  00000	66 8b 44 24 04	 mov	 ax, WORD PTR _c$[esp-4]
  00005	0f b7 c8	 movzx	 ecx, ax
  00008	83 c1 d8	 add	 ecx, -40		; ffffffd8H
  0000b	83 f9 55	 cmp	 ecx, 85			; 00000055H
  0000e	77 3d		 ja	 SHORT $LN10@Arabic_Con
  00010	0f b6 89 00 00
	00 00		 movzx	 ecx, BYTE PTR $LN14@Arabic_Con[ecx]
  00017	ff 24 8d 00 00
	00 00		 jmp	 DWORD PTR $LN15@Arabic_Con[ecx*4]
$LN9@Arabic_Con:

; 354  : 	{
; 355  : 		case '(': return')';break;

  0001e	b8 29 00 00 00	 mov	 eax, 41			; 00000029H

; 363  : 		default:
; 364  : 			return c;
; 365  : 	}
; 366  : }

  00023	c3		 ret	 0
$LN8@Arabic_Con:

; 356  : 		case ')': return'(';break;

  00024	b8 28 00 00 00	 mov	 eax, 40			; 00000028H

; 363  : 		default:
; 364  : 			return c;
; 365  : 	}
; 366  : }

  00029	c3		 ret	 0
$LN7@Arabic_Con:

; 357  : 		case '<': return'>';break;

  0002a	b8 3e 00 00 00	 mov	 eax, 62			; 0000003eH

; 363  : 		default:
; 364  : 			return c;
; 365  : 	}
; 366  : }

  0002f	c3		 ret	 0
$LN6@Arabic_Con:

; 358  : 		case '>': return'<';break;

  00030	b8 3c 00 00 00	 mov	 eax, 60			; 0000003cH

; 363  : 		default:
; 364  : 			return c;
; 365  : 	}
; 366  : }

  00035	c3		 ret	 0
$LN5@Arabic_Con:

; 359  : 		case '{': return'}';break;

  00036	b8 7d 00 00 00	 mov	 eax, 125		; 0000007dH

; 363  : 		default:
; 364  : 			return c;
; 365  : 	}
; 366  : }

  0003b	c3		 ret	 0
$LN4@Arabic_Con:

; 360  : 		case '}': return'{';break;

  0003c	b8 7b 00 00 00	 mov	 eax, 123		; 0000007bH

; 363  : 		default:
; 364  : 			return c;
; 365  : 	}
; 366  : }

  00041	c3		 ret	 0
$LN3@Arabic_Con:

; 361  : 		case '[': return']';break;

  00042	b8 5d 00 00 00	 mov	 eax, 93			; 0000005dH

; 363  : 		default:
; 364  : 			return c;
; 365  : 	}
; 366  : }

  00047	c3		 ret	 0
$LN2@Arabic_Con:

; 362  : 		case ']': return '[';break;

  00048	b8 5b 00 00 00	 mov	 eax, 91			; 0000005bH
$LN10@Arabic_Con:

; 363  : 		default:
; 364  : 			return c;
; 365  : 	}
; 366  : }

  0004d	c3		 ret	 0
  0004e	8b ff		 npad	 2
$LN15@Arabic_Con:
  00050	00 00 00 00	 DD	 $LN9@Arabic_Con
  00054	00 00 00 00	 DD	 $LN8@Arabic_Con
  00058	00 00 00 00	 DD	 $LN7@Arabic_Con
  0005c	00 00 00 00	 DD	 $LN6@Arabic_Con
  00060	00 00 00 00	 DD	 $LN3@Arabic_Con
  00064	00 00 00 00	 DD	 $LN2@Arabic_Con
  00068	00 00 00 00	 DD	 $LN5@Arabic_Con
  0006c	00 00 00 00	 DD	 $LN4@Arabic_Con
  00070	00 00 00 00	 DD	 $LN10@Arabic_Con
$LN14@Arabic_Con:
  00074	00		 DB	 0
  00075	01		 DB	 1
  00076	08		 DB	 8
  00077	08		 DB	 8
  00078	08		 DB	 8
  00079	08		 DB	 8
  0007a	08		 DB	 8
  0007b	08		 DB	 8
  0007c	08		 DB	 8
  0007d	08		 DB	 8
  0007e	08		 DB	 8
  0007f	08		 DB	 8
  00080	08		 DB	 8
  00081	08		 DB	 8
  00082	08		 DB	 8
  00083	08		 DB	 8
  00084	08		 DB	 8
  00085	08		 DB	 8
  00086	08		 DB	 8
  00087	08		 DB	 8
  00088	02		 DB	 2
  00089	08		 DB	 8
  0008a	03		 DB	 3
  0008b	08		 DB	 8
  0008c	08		 DB	 8
  0008d	08		 DB	 8
  0008e	08		 DB	 8
  0008f	08		 DB	 8
  00090	08		 DB	 8
  00091	08		 DB	 8
  00092	08		 DB	 8
  00093	08		 DB	 8
  00094	08		 DB	 8
  00095	08		 DB	 8
  00096	08		 DB	 8
  00097	08		 DB	 8
  00098	08		 DB	 8
  00099	08		 DB	 8
  0009a	08		 DB	 8
  0009b	08		 DB	 8
  0009c	08		 DB	 8
  0009d	08		 DB	 8
  0009e	08		 DB	 8
  0009f	08		 DB	 8
  000a0	08		 DB	 8
  000a1	08		 DB	 8
  000a2	08		 DB	 8
  000a3	08		 DB	 8
  000a4	08		 DB	 8
  000a5	08		 DB	 8
  000a6	08		 DB	 8
  000a7	04		 DB	 4
  000a8	08		 DB	 8
  000a9	05		 DB	 5
  000aa	08		 DB	 8
  000ab	08		 DB	 8
  000ac	08		 DB	 8
  000ad	08		 DB	 8
  000ae	08		 DB	 8
  000af	08		 DB	 8
  000b0	08		 DB	 8
  000b1	08		 DB	 8
  000b2	08		 DB	 8
  000b3	08		 DB	 8
  000b4	08		 DB	 8
  000b5	08		 DB	 8
  000b6	08		 DB	 8
  000b7	08		 DB	 8
  000b8	08		 DB	 8
  000b9	08		 DB	 8
  000ba	08		 DB	 8
  000bb	08		 DB	 8
  000bc	08		 DB	 8
  000bd	08		 DB	 8
  000be	08		 DB	 8
  000bf	08		 DB	 8
  000c0	08		 DB	 8
  000c1	08		 DB	 8
  000c2	08		 DB	 8
  000c3	08		 DB	 8
  000c4	08		 DB	 8
  000c5	08		 DB	 8
  000c6	08		 DB	 8
  000c7	06		 DB	 6
  000c8	08		 DB	 8
  000c9	07		 DB	 7
?Arabic_ConvSymbol@@YA_W_W@Z ENDP			; Arabic_ConvSymbol
_TEXT	ENDS
END
