Removed HEAP_NO_VALLOC from Heap Manager because the flag is redunant.
Removed Version Differentation in epsapi because it's only meant to run
on ROS, and we decide what to emulate. KJK agrees.
Modified: trunk/reactos/include/ntos/heap.h
Modified: trunk/reactos/include/ntos/rtltypes.h
Modified: trunk/reactos/lib/epsapi/enum/processes.c
Modified: trunk/reactos/lib/ntdll/csr/lpc.c
Modified: trunk/reactos/lib/rtl/heap.c
Modified: trunk/reactos/lib/unicode/wine_unicode.map
_____
Modified: trunk/reactos/include/ntos/heap.h
--- trunk/reactos/include/ntos/heap.h 2004-12-31 19:43:35 UTC (rev
12668)
+++ trunk/reactos/include/ntos/heap.h 2004-12-31 20:05:16 UTC (rev
12669)
@@ -12,9 +12,6 @@
#ifndef __INCLUDE_HEAP_H
#define __INCLUDE_HEAP_H
-/* HeapAlloc, HeapReAlloc */
-#define HEAP_NO_VALLOC (256)
-
#ifndef __USE_W32API
#define HEAP_NO_SERIALIZE (1)
_____
Modified: trunk/reactos/include/ntos/rtltypes.h
--- trunk/reactos/include/ntos/rtltypes.h 2004-12-31 19:43:35 UTC
(rev 12668)
+++ trunk/reactos/include/ntos/rtltypes.h 2004-12-31 20:05:16 UTC
(rev 12669)
@@ -1,4 +1,4 @@
-/* $Id: rtltypes.h,v 1.16 2004/10/24 20:37:26 weiden Exp $
+/* $Id$
*
*/
@@ -445,4 +445,8 @@
} RTL_GENERIC_TABLE;
typedef RTL_GENERIC_TABLE *PRTL_GENERIC_TABLE;
+typedef NTSTATUS
+(*PHEAP_ENUMERATION_ROUTINE)(IN PVOID HeapHandle,
+ IN PVOID UserParam);
+
#endif /* __DDK_RTLTYPES_H */
_____
Modified: trunk/reactos/lib/epsapi/enum/processes.c
--- trunk/reactos/lib/epsapi/enum/processes.c 2004-12-31 19:43:35 UTC
(rev 12668)
+++ trunk/reactos/lib/epsapi/enum/processes.c 2004-12-31 20:05:16 UTC
(rev 12669)
@@ -1,4 +1,4 @@
-/* $Id: processes.c,v 1.3 2004/11/08 00:34:46 weiden Exp $
+/* $Id$
*/
/*
* COPYRIGHT: See COPYING in the top level directory
@@ -261,33 +261,9 @@
{
static SIZE_T nOffsetOfThreads = 0;
- /* get the offset of the Threads field (dependant on the kernel
version) */
- if(!nOffsetOfThreads)
- {
- /*
- FIXME: we should probably use the build number, instead, but it
isn't
- available as reliably as the major and minor version numbers
- */
- switch(SharedUserData->NtMajorVersion)
- {
- /* NT 3 and 4 */
- case 3:
- case 4:
- {
- nOffsetOfThreads = offsetof(SYSTEM_PROCESSES_NT4, Threads);
- break;
- }
+ /* get the offset of the Threads field */
+ nOffsetOfThreads = offsetof(SYSTEM_PROCESSES, Threads);
- /* NT 5 and later */
- case 5:
- default:
- {
- nOffsetOfThreads = offsetof(SYSTEM_PROCESSES_NT5, Threads);
- break;
- }
- }
- }
-
return (PSYSTEM_THREADS)((ULONG_PTR)CurrentProcess +
nOffsetOfThreads);
}
_____
Modified: trunk/reactos/lib/ntdll/csr/lpc.c
--- trunk/reactos/lib/ntdll/csr/lpc.c 2004-12-31 19:43:35 UTC (rev
12668)
+++ trunk/reactos/lib/ntdll/csr/lpc.c 2004-12-31 20:05:16 UTC (rev
12669)
@@ -1,4 +1,4 @@
-/* $Id: lpc.c,v 1.15 2004/12/24 17:45:57 weiden Exp $
+/* $Id$
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -168,7 +168,7 @@
CsrSectionMapServerBase = LpcWrite.TargetViewBase;
/* Create the heap for communication for csrss. */
- CsrCommHeap = RtlCreateHeap(HEAP_NO_VALLOC,
+ CsrCommHeap = RtlCreateHeap(0,
CsrSectionMapBase,
CsrSectionViewSize.u.LowPart,
CsrSectionViewSize.u.LowPart,
_____
Modified: trunk/reactos/lib/rtl/heap.c
--- trunk/reactos/lib/rtl/heap.c 2004-12-31 19:43:35 UTC (rev
12668)
+++ trunk/reactos/lib/rtl/heap.c 2004-12-31 20:05:16 UTC (rev
12669)
@@ -30,7 +30,7 @@
#endif
-static CRITICAL_SECTION RtlpProcessHeapsListLock;
+static RTL_CRITICAL_SECTION RtlpProcessHeapsListLock;
typedef struct tagARENA_INUSE
@@ -98,7 +98,7 @@
SUBHEAP subheap; /* First sub-heap */
struct tagHEAP *next; /* Next heap for this process */
FREE_LIST_ENTRY freeList[HEAP_NB_FREE_LISTS]; /* Free lists */
- CRITICAL_SECTION critSection; /* Critical section for
serialization */
+ RTL_CRITICAL_SECTION critSection; /* Critical section for
serialization */
ULONG flags; /* Heap flags */
ULONG magic; /* Magic number */
UCHAR filler[4]; /* Make multiple of 8 bytes */
@@ -306,23 +306,21 @@
address = (PVOID)((char *)subheap + subheap->commitSize);
commitsize = size - subheap->commitSize;
- if (!(flags & HEAP_NO_VALLOC))
+ Status = NtAllocateVirtualMemory(NtCurrentProcess(),
+ &address,
+ 0,
+ &commitsize,
+ MEM_COMMIT,
+ PAGE_EXECUTE_READWRITE);
+ if (!NT_SUCCESS(Status))
{
- Status = NtAllocateVirtualMemory(NtCurrentProcess(),
- &address,
- 0,
- &commitsize,
- MEM_COMMIT,
- PAGE_EXECUTE_READWRITE);
- if (!NT_SUCCESS(Status))
- {
- DPRINT( "Could not commit %08lx bytes at %p for heap %p\n",
- size - subheap->commitSize,
- ((char *)subheap + subheap->commitSize),
- subheap->heap );
- return FALSE;
- }
+ DPRINT( "Could not commit %08lx bytes at %p for heap %p\n",
+ size - subheap->commitSize,
+ ((char *)subheap + subheap->commitSize),
+ subheap->heap );
+ return FALSE;
}
+
subheap->commitSize += commitsize;
return TRUE;
}
@@ -347,22 +345,19 @@
address = (PVOID)((char *)subheap + size);
decommitsize = subheap->commitSize - size;
- if (!(flags & HEAP_NO_VALLOC))
+ Status = ZwFreeVirtualMemory(NtCurrentProcess(),
+ &address,
+ &decommitsize,
+ MEM_DECOMMIT);
+ if (!NT_SUCCESS(Status))
{
- Status = ZwFreeVirtualMemory(NtCurrentProcess(),
- &address,
- &decommitsize,
- MEM_DECOMMIT);
- if (!NT_SUCCESS(Status))
- ;
- {
- DPRINT( "Could not decommit %08lx bytes at %p for heap %p\n",
- subheap->commitSize - size,
- ((char *)subheap + size),
- subheap->heap );
- return FALSE;
- }
+ DPRINT( "Could not decommit %08lx bytes at %p for heap %p\n",
+ subheap->commitSize - size,
+ ((char *)subheap + size),
+ subheap->heap );
+ return FALSE;
}
+
subheap->commitSize -= decommitsize;
return TRUE;
}
@@ -438,6 +433,7 @@
{
ARENA_FREE *pFree;
ULONG size = (pArena->size & ARENA_SIZE_MASK) + sizeof(*pArena);
+ ULONG dummySize = 0;
/* Check if we can merge with previous block */
@@ -475,14 +471,10 @@
pPrev->next = subheap->next;
/* Free the memory */
subheap->magic = 0;
- if (!(flags & HEAP_NO_VALLOC))
- {
- ULONG dummySize = 0;
- ZwFreeVirtualMemory(NtCurrentProcess(),
- (PVOID*)&subheap,
- &dummySize,
- MEM_RELEASE);
- }
+ ZwFreeVirtualMemory(NtCurrentProcess(),
+ (PVOID*)&subheap,
+ &dummySize,
+ MEM_RELEASE);
return;
}
@@ -525,20 +517,17 @@
NTSTATUS Status;
/* Commit memory */
- if (!(flags & HEAP_NO_VALLOC))
+ Status = ZwAllocateVirtualMemory(NtCurrentProcess(),
+ &address,
+ 0,
+ (PULONG)&commitSize,
+ MEM_COMMIT,
+ PAGE_EXECUTE_READWRITE);
+ if (!NT_SUCCESS(Status))
{
- Status = ZwAllocateVirtualMemory(NtCurrentProcess(),
- &address,
- 0,
- (PULONG)&commitSize,
- MEM_COMMIT,
- PAGE_EXECUTE_READWRITE);
- if (!NT_SUCCESS(Status))
- {
- DPRINT("Could not commit %08lx bytes for sub-heap %p\n",
- commitSize, address);
- return FALSE;
- }
+ DPRINT("Could not commit %08lx bytes for sub-heap %p\n",
+ commitSize, address);
+ return FALSE;
}
/* Fill the sub-heap structure */
@@ -619,7 +608,7 @@
/* Allocate the memory block */
address = BaseAddress;
- if (!(flags & HEAP_NO_VALLOC))
+ if (!address)
{
Status = ZwAllocateVirtualMemory(NtCurrentProcess(),
&address,
@@ -640,7 +629,7 @@
if (!HEAP_InitSubHeap( heap? heap : (HEAP *)address,
address, flags, commitSize, totalSize ))
{
- if (address && !(flags & HEAP_NO_VALLOC))
+ if (!BaseAddress)
{
ULONG dummySize = 0;
ZwFreeVirtualMemory(NtCurrentProcess(),
@@ -1150,15 +1139,11 @@
while (subheap)
{
SUBHEAP *next = subheap->next;
-
- if (!(flags & HEAP_NO_VALLOC))
- {
- ULONG dummySize = 0;
- ZwFreeVirtualMemory(NtCurrentProcess(),
- (PVOID*)&subheap,
- &dummySize,
- MEM_RELEASE);
- }
+ ULONG dummySize = 0;
+ ZwFreeVirtualMemory(NtCurrentProcess(),
+ (PVOID*)&subheap,
+ &dummySize,
+ MEM_RELEASE);
subheap = next;
}
return (HANDLE)NULL;
@@ -1730,8 +1715,8 @@
* @implemented
*/
NTSTATUS STDCALL
-RtlEnumProcessHeaps(NTSTATUS STDCALL_FUNC(*func)(PVOID, LONG),
- LONG lParam)
+RtlEnumProcessHeaps(PHEAP_ENUMERATION_ROUTINE HeapEnumerationRoutine,
+ PVOID lParam)
{
NTSTATUS Status = STATUS_SUCCESS;
HEAP** pptr;
@@ -1740,7 +1725,7 @@
for (pptr = (HEAP**)&NtCurrentPeb()->ProcessHeaps; *pptr; pptr =
&(*pptr)->next)
{
- Status = func(*pptr,lParam);
+ Status = HeapEnumerationRoutine(*pptr,lParam);
if (!NT_SUCCESS(Status))
break;
}
_____
Modified: trunk/reactos/lib/unicode/wine_unicode.map
--- trunk/reactos/lib/unicode/wine_unicode.map 2004-12-31 19:43:35 UTC
(rev 12668)
+++ trunk/reactos/lib/unicode/wine_unicode.map 2004-12-31 20:05:16 UTC
(rev 12669)
@@ -1,6011 +1,5805 @@
-
-wine_unicode.nostrip.dll: file format pei-i386
-
-Disassembly of section .text:
-
-6b201000 <_DllMainCRTStartup@12>:
-6b201000: 55 push %ebp
-6b201001: 89 e5 mov %esp,%ebp
-6b201003: 83 ec 18 sub $0x18,%esp
-6b201006: 89 75 fc mov %esi,0xfffffffc(%ebp)
-6b201009: 8b 75 0c mov 0xc(%ebp),%esi
-6b20100c: 89 5d f8 mov %ebx,0xfffffff8(%ebp)
-6b20100f: 83 fe 01 cmp $0x1,%esi
-6b201012: 74 4f je 6b201063
<_DllMainCRTStartup@12+0x63>
-6b201014: 89 74 24 04 mov %esi,0x4(%esp)
-6b201018: 8b 45 10 mov 0x10(%ebp),%eax
-6b20101b: 89 44 24 08 mov %eax,0x8(%esp)
-6b20101f: 8b 45 08 mov 0x8(%ebp),%eax
-6b201022: 89 04 24 mov %eax,(%esp)
-6b201025: e8 16 40 00 00 call 6b205040 <_DllMain@12>
-6b20102a: 83 ec 0c sub $0xc,%esp
-6b20102d: 83 fe 01 cmp $0x1,%esi
-6b201030: 89 c3 mov %eax,%ebx
-6b201032: 74 24 je 6b201058
<_DllMainCRTStartup@12+0x58>
-6b201034: 85 f6 test %esi,%esi
-6b201036: 75 0b jne 6b201043
<_DllMainCRTStartup@12+0x43>
-6b201038: a1 00 50 2f 6b mov 0x6b2f5000,%eax
-6b20103d: 85 c0 test %eax,%eax
-6b20103f: 75 10 jne 6b201051
<_DllMainCRTStartup@12+0x51>
-6b201041: 31 db xor %ebx,%ebx
-6b201043: 89 d8 mov %ebx,%eax
-6b201045: 8b 5d f8 mov 0xfffffff8(%ebp),%ebx
-6b201048: 8b 75 fc mov 0xfffffffc(%ebp),%esi
-6b20104b: 89 ec mov %ebp,%esp
-6b20104d: 5d pop %ebp
-6b20104e: c2 0c 00 ret $0xc
-6b201051: e8 4a 00 00 00 call 6b2010a0 <___dll_exit>
-6b201056: eb eb jmp 6b201043
<_DllMainCRTStartup@12+0x43>
-6b201058: 85 c0 test %eax,%eax
-6b20105a: 75 d8 jne 6b201034
<_DllMainCRTStartup@12+0x34>
-6b20105c: e8 3f 00 00 00 call 6b2010a0 <___dll_exit>
-6b201061: eb d1 jmp 6b201034
<_DllMainCRTStartup@12+0x34>
-6b201063: c7 04 24 80 00 00 00 movl $0x80,(%esp)
-6b20106a: e8 f1 43 00 00 call 6b205460 <_malloc>
-6b20106f: a3 00 50 2f 6b mov %eax,0x6b2f5000
-6b201074: 85 c0 test %eax,%eax
-6b201076: 74 17 je 6b20108f
<_DllMainCRTStartup@12+0x8f>
-6b201078: c7 00 00 00 00 00 movl $0x0,(%eax)
-6b20107e: a3 10 50 2f 6b mov %eax,0x6b2f5010
-6b201083: e8 b8 40 00 00 call 6b205140
<__pei386_runtime_relocator>
-6b201088: e8 53 40 00 00 call 6b2050e0 <___main>
-6b20108d: eb 85 jmp 6b201014
<_DllMainCRTStartup@12+0x14>
-6b20108f: e8 bc 43 00 00 call 6b205450 <__errno>
-6b201094: c7 00 0c 00 00 00 movl $0xc,(%eax)
-6b20109a: 31 c0 xor %eax,%eax
-6b20109c: eb a7 jmp 6b201045
<_DllMainCRTStartup@12+0x45>
-6b20109e: 89 f6 mov %esi,%esi
-
-6b2010a0 <___dll_exit>:
-6b2010a0: 55 push %ebp
-6b2010a1: 89 e5 mov %esp,%ebp
-6b2010a3: 83 ec 08 sub $0x8,%esp
-6b2010a6: 89 5d fc mov %ebx,0xfffffffc(%ebp)
-6b2010a9: 8b 15 00 50 2f 6b mov 0x6b2f5000,%edx
-6b2010af: 85 d2 test %edx,%edx
-6b2010b1: 74 2a je 6b2010dd
<___dll_exit+0x3d>
-6b2010b3: 8b 1d 10 50 2f 6b mov 0x6b2f5010,%ebx
-6b2010b9: 83 eb 04 sub $0x4,%ebx
-6b2010bc: 39 d3 cmp %edx,%ebx
-6b2010be: 72 0d jb 6b2010cd
<___dll_exit+0x2d>
-6b2010c0: 8b 03 mov (%ebx),%eax
-6b2010c2: 85 c0 test %eax,%eax
-6b2010c4: 75 2a jne 6b2010f0
<___dll_exit+0x50>
-6b2010c6: 83 eb 04 sub $0x4,%ebx
-6b2010c9: 39 d3 cmp %edx,%ebx
-6b2010cb: 73 f3 jae 6b2010c0
<___dll_exit+0x20>
-6b2010cd: 89 14 24 mov %edx,(%esp)
-6b2010d0: e8 6b 43 00 00 call 6b205440 <_free>
-6b2010d5: 31 d2 xor %edx,%edx
-6b2010d7: 89 15 00 50 2f 6b mov %edx,0x6b2f5000
-6b2010dd: c7 04 24 00 00 00 00 movl $0x0,(%esp)
-6b2010e4: e8 47 43 00 00 call 6b205430 <_fflush>
-6b2010e9: 8b 5d fc mov 0xfffffffc(%ebp),%ebx
-6b2010ec: 89 ec mov %ebp,%esp
-6b2010ee: 5d pop %ebp
-6b2010ef: c3 ret
-6b2010f0: ff d0 call *%eax
-6b2010f2: 8b 15 00 50 2f 6b mov 0x6b2f5000,%edx
-6b2010f8: eb cc jmp 6b2010c6
<___dll_exit+0x26>
-6b2010fa: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
-
-6b201100 <_atexit>:
-6b201100: 55 push %ebp
-6b201101: 89 e5 mov %esp,%ebp
-6b201103: 83 ec 18 sub $0x18,%esp
-6b201106: c7 44 24 08 10 50 2f movl $0x6b2f5010,0x8(%esp)
-6b20110d: 6b
-6b20110e: 8b 45 08 mov 0x8(%ebp),%eax
-6b201111: c7 44 24 04 00 50 2f movl $0x6b2f5000,0x4(%esp)
-6b201118: 6b
-6b201119: 89 04 24 mov %eax,(%esp)
-6b20111c: e8 ff 42 00 00 call 6b205420 <___dllonexit>
-6b201121: 85 c0 test %eax,%eax
-6b201123: 0f 95 c0 setne %al
-6b201126: 89 ec mov %ebp,%esp
-6b201128: 5d pop %ebp
-6b201129: 0f b6 c0 movzbl %al,%eax
-6b20112c: 48 dec %eax
-6b20112d: c3 ret
-6b20112e: 89 f6 mov %esi,%esi
-
-6b201130 <__onexit>:
-6b201130: 55 push %ebp
-6b201131: 89 e5 mov %esp,%ebp
-6b201133: 83 ec 18 sub $0x18,%esp
-6b201136: c7 44 24 08 10 50 2f movl $0x6b2f5010,0x8(%esp)
-6b20113d: 6b
-6b20113e: 8b 45 08 mov 0x8(%ebp),%eax
-6b201141: c7 44 24 04 00 50 2f movl $0x6b2f5000,0x4(%esp)
-6b201148: 6b
-6b201149: 89 04 24 mov %eax,(%esp)
-6b20114c: e8 cf 42 00 00 call 6b205420 <___dllonexit>
-6b201151: 89 ec mov %ebp,%esp
-6b201153: 5d pop %ebp
-6b201154: c3 ret
-6b201155: 90 nop
-6b201156: 90 nop
-6b201157: 90 nop
-6b201158: 90 nop
-6b201159: 90 nop
-6b20115a: 90 nop
-6b20115b: 90 nop
-6b20115c: 90 nop
-6b20115d: 90 nop
-6b20115e: 90 nop
-6b20115f: 90 nop
-
-6b201160 <___do_sjlj_init>:
-6b201160: 55 push %ebp
-6b201161: 89 e5 mov %esp,%ebp
-6b201163: 5d pop %ebp
-6b201164: e9 77 40 00 00 jmp 6b2051e0
<___w32_sharedptr_initialize>
-6b201169: 90 nop
-6b20116a: 90 nop
-6b20116b: 90 nop
-6b20116c: 90 nop
-6b20116d: 90 nop
-6b20116e: 90 nop
-6b20116f: 90 nop
-
-6b201170 <_cmp_codepage>:
-6b201170: 55 push %ebp
-6b201171: 89 e5 mov %esp,%ebp
-6b201173: 8b 45 0c mov 0xc(%ebp),%eax
-6b201176: 8b 00 mov (%eax),%eax
-6b201178: 8b 10 mov (%eax),%edx
-6b20117a: 8b 45 08 mov 0x8(%ebp),%eax
-6b20117d: 29 d0 sub %edx,%eax
-6b20117f: 5d pop %ebp
-6b201180: c3 ret
-
-6b201181 <_wine_cp_get_table>:
-
-
-/* get the table of a given code page */
-const union cptable *wine_cp_get_table( unsigned int codepage )
-{
-6b201181: 55 push %ebp
-6b201182: 89 e5 mov %esp,%ebp
-6b201184: 83 ec 08 sub $0x8,%esp
- const union cptable **res;
-
- if (!(res = bsearch( (void *)codepage, cptables, NB_CODEPAGES,
-6b201187: 83 ec 0c sub $0xc,%esp
-6b20118a: 68 70 11 20 6b push $0x6b201170
-6b20118f: 6a 04 push $0x4
-6b201191: 6a 3b push $0x3b
-6b201193: 68 40 c7 21 6b push $0x6b21c740
-6b201198: ff 75 08 pushl 0x8(%ebp)
-6b20119b: e8 d0 42 00 00 call 6b205470 <_bsearch>
-6b2011a0: 83 c4 20 add $0x20,%esp
-6b2011a3: 89 45 fc mov %eax,0xfffffffc(%ebp)
-6b2011a6: 8b 45 fc mov 0xfffffffc(%ebp),%eax
-6b2011a9: 85 c0 test %eax,%eax
-6b2011ab: 75 09 jne 6b2011b6
<_wine_cp_get_table+0x35>
- sizeof(cptables[0]), cmp_codepage ))) return
NULL;
-6b2011ad: c7 45 f8 00 00 00 00 movl $0x0,0xfffffff8(%ebp)
-6b2011b4: eb 08 jmp 6b2011be
<_wine_cp_get_table+0x3d>
- return *res;
-6b2011b6: 8b 45 fc mov 0xfffffffc(%ebp),%eax
-6b2011b9: 8b 00 mov (%eax),%eax
-6b2011bb: 89 45 f8 mov %eax,0xfffffff8(%ebp)
-}
-6b2011be: 8b 45 f8 mov 0xfffffff8(%ebp),%eax
-6b2011c1: c9 leave
-6b2011c2: c3 ret
-
-6b2011c3 <_wine_cp_enum_table>:
-
-
-/* enum valid codepages */
-const union cptable *wine_cp_enum_table( unsigned int index )
-{
-6b2011c3: 55 push %ebp
-6b2011c4: 89 e5 mov %esp,%ebp
-6b2011c6: 83 ec 04 sub $0x4,%esp
- if (index >= NB_CODEPAGES) return NULL;
-6b2011c9: 83 7d 08 3a cmpl $0x3a,0x8(%ebp)
-6b2011cd: 76 09 jbe 6b2011d8
<_wine_cp_enum_table+0x15>
-6b2011cf: c7 45 fc 00 00 00 00 movl $0x0,0xfffffffc(%ebp)
-6b2011d6: eb 0d jmp 6b2011e5
<_wine_cp_enum_table+0x22>
- return cptables[index];
-6b2011d8: 8b 45 08 mov 0x8(%ebp),%eax
-6b2011db: 8b 04 85 40 c7 21 6b mov 0x6b21c740(,%eax,4),%eax
-6b2011e2: 89 45 fc mov %eax,0xfffffffc(%ebp)
-}
-6b2011e5: 8b 45 fc mov 0xfffffffc(%ebp),%eax
-6b2011e8: c9 leave
-6b2011e9: c3 ret
-6b2011ea: 90 nop
-6b2011eb: 90 nop
-6b2011ec: 90 nop
-6b2011ed: 90 nop
-6b2011ee: 90 nop
-6b2011ef: 90 nop
-
-6b2011f0 <_wine_fold_string>:
-6b2011f0: 55 push %ebp
-6b2011f1: 89 e5 mov %esp,%ebp
-6b2011f3: 83 ec 18 sub $0x18,%esp
-6b2011f6: 8b 45 14 mov 0x14(%ebp),%eax
-6b2011f9: 89 45 fc mov %eax,0xfffffffc(%ebp)
-6b2011fc: 83 7d 10 ff cmpl $0xffffffff,0x10(%ebp)
-6b201200: 75 12 jne 6b201214
<_wine_fold_string+0x24>
-6b201202: 83 ec 0c sub $0xc,%esp
-6b201205: ff 75 0c pushl 0xc(%ebp)
-6b201208: e8 73 42 00 00 call 6b205480 <_wcslen>
-6b20120d: 83 c4 10 add $0x10,%esp
-6b201210: 40 inc %eax
-6b201211: 89 45 10 mov %eax,0x10(%ebp)
-6b201214: 83 7d 18 00 cmpl $0x0,0x18(%ebp)
-6b201218: 75 5e jne 6b201278
<_wine_fold_string+0x88>
-6b20121a: 8b 45 10 mov 0x10(%ebp),%eax
-6b20121d: 89 45 18 mov %eax,0x18(%ebp)
-6b201220: 8b 45 08 mov 0x8(%ebp),%eax
-6b201223: c1 e8 0d shr $0xd,%eax
-6b201226: 83 e0 01 and $0x1,%eax
-6b201229: 85 c0 test %eax,%eax
-6b20122b: 74 31 je 6b20125e
<_wine_fold_string+0x6e>
-6b20122d: 8d 45 10 lea 0x10(%ebp),%eax
-6b201230: ff 08 decl (%eax)
-6b201232: 83 7d 10 ff cmpl $0xffffffff,0x10(%ebp)
-6b201236: 74 35 je 6b20126d
<_wine_fold_string+0x7d>
-6b201238: 83 ec 0c sub $0xc,%esp
-6b20123b: 8b 45 0c mov 0xc(%ebp),%eax
-6b20123e: 66 8b 00 mov (%eax),%ax
-6b201241: 25 ff ff 00 00 and $0xffff,%eax
-6b201246: 50 push %eax
-6b201247: e8 d0 02 00 00 call 6b20151c
<_get_ligature_len>
-6b20124c: 83 c4 10 add $0x10,%esp
-6b20124f: 89 c2 mov %eax,%edx
-6b201251: 8d 45 18 lea 0x18(%ebp),%eax
-6b201254: 01 10 add %edx,(%eax)
-6b201256: 8d 45 0c lea 0xc(%ebp),%eax
-6b201259: 83 00 02 addl $0x2,(%eax)
-6b20125c: eb cf jmp 6b20122d
<_wine_fold_string+0x3d>
-6b20125e: 8b 45 08 mov 0x8(%ebp),%eax
-6b201261: c1 e8 06 shr $0x6,%eax
-6b201264: 83 e0 01 and $0x1,%eax
-6b201267: 85 c0 test %eax,%eax
-6b201269: 74 02 je 6b20126d
<_wine_fold_string+0x7d>
-6b20126b: eb 00 jmp 6b20126d
<_wine_fold_string+0x7d>
-6b20126d: 8b 45 18 mov 0x18(%ebp),%eax
-6b201270: 89 45 ec mov %eax,0xffffffec(%ebp)
-6b201273: e9 78 01 00 00 jmp 6b2013f0
<_wine_fold_string+0x200>
-6b201278: 8b 45 10 mov 0x10(%ebp),%eax
-6b20127b: 3b 45 18 cmp 0x18(%ebp),%eax
-6b20127e: 7e 0c jle 6b20128c
<_wine_fold_string+0x9c>
-6b201280: c7 45 ec 00 00 00 00 movl $0x0,0xffffffec(%ebp)
-6b201287: e9 64 01 00 00 jmp 6b2013f0
<_wine_fold_string+0x200>
-6b20128c: 8b 55 10 mov 0x10(%ebp),%edx
-6b20128f: 8d 45 18 lea 0x18(%ebp),%eax
-6b201292: 29 10 sub %edx,(%eax)
-6b201294: c7 45 f4 00 00 00 00 movl $0x0,0xfffffff4(%ebp)
-6b20129b: 8b 45 f4 mov 0xfffffff4(%ebp),%eax
-6b20129e: 3b 45 10 cmp 0x10(%ebp),%eax
-6b2012a1: 0f 8d 3c 01 00 00 jge 6b2013e3
<_wine_fold_string+0x1f3>
-6b2012a7: 8b 45 0c mov 0xc(%ebp),%eax
-6b2012aa: 66 8b 00 mov (%eax),%ax
-6b2012ad: 66 89 45 f2 mov %ax,0xfffffff2(%ebp)
-6b2012b1: 8b 45 08 mov 0x8(%ebp),%eax
-6b2012b4: c1 e8 0d shr $0xd,%eax
-6b2012b7: 83 e0 01 and $0x1,%eax
-6b2012ba: 85 c0 test %eax,%eax
-6b2012bc: 0f 84 a4 00 00 00 je 6b201366
<_wine_fold_string+0x176>
-6b2012c2: 83 ec 0c sub $0xc,%esp
-6b2012c5: 66 8b 45 f2 mov 0xfffffff2(%ebp),%ax
-6b2012c9: 25 ff ff 00 00 and $0xffff,%eax
-6b2012ce: 50 push %eax
-6b2012cf: e8 bd 01 00 00 call 6b201491 <_get_ligature>
-6b2012d4: 83 c4 10 add $0x10,%esp
-6b2012d7: 89 45 f8 mov %eax,0xfffffff8(%ebp)
-6b2012da: 8b 45 f8 mov 0xfffffff8(%ebp),%eax
-6b2012dd: 66 83 38 00 cmpw $0x0,(%eax)
-6b2012e1: 0f 84 8e 00 00 00 je 6b201375
<_wine_fold_string+0x185>
-6b2012e7: 8d 45 18 lea 0x18(%ebp),%eax
-6b2012ea: ff 08 decl (%eax)
-6b2012ec: 83 7d 18 ff cmpl $0xffffffff,0x18(%ebp)
-6b2012f0: 75 0c jne 6b2012fe
<_wine_fold_string+0x10e>
-6b2012f2: c7 45 ec 00 00 00 00 movl $0x0,0xffffffec(%ebp)
-6b2012f9: e9 f2 00 00 00 jmp 6b2013f0
<_wine_fold_string+0x200>
-6b2012fe: 8b 55 14 mov 0x14(%ebp),%edx
-6b201301: 8b 45 f8 mov 0xfffffff8(%ebp),%eax
-6b201304: 66 8b 00 mov (%eax),%ax
-6b201307: 66 89 02 mov %ax,(%edx)
-6b20130a: 8b 45 f8 mov 0xfffffff8(%ebp),%eax
-6b20130d: 83 c0 04 add $0x4,%eax
-6b201310: 66 83 38 00 cmpw $0x0,(%eax)
-6b201314: 74 3b je 6b201351
<_wine_fold_string+0x161>
-6b201316: 8d 45 18 lea 0x18(%ebp),%eax
-6b201319: ff 08 decl (%eax)
-6b20131b: 83 7d 18 ff cmpl $0xffffffff,0x18(%ebp)
-6b20131f: 75 0c jne 6b20132d
<_wine_fold_string+0x13d>
-6b201321: c7 45 ec 00 00 00 00 movl $0x0,0xffffffec(%ebp)
-6b201328: e9 c3 00 00 00 jmp 6b2013f0
<_wine_fold_string+0x200>
-6b20132d: 8d 45 14 lea 0x14(%ebp),%eax
-6b201330: 83 00 02 addl $0x2,(%eax)
-6b201333: 8b 55 14 mov 0x14(%ebp),%edx
-6b201336: 8b 45 f8 mov 0xfffffff8(%ebp),%eax
-6b201339: 83 c0 02 add $0x2,%eax
-6b20133c: 66 8b 00 mov (%eax),%ax
-6b20133f: 66 89 02 mov %ax,(%edx)
-6b201342: 8b 45 f8 mov 0xfffffff8(%ebp),%eax
-6b201345: 83 c0 04 add $0x4,%eax
-6b201348: 66 8b 00 mov (%eax),%ax
-6b20134b: 66 89 45 f2 mov %ax,0xfffffff2(%ebp)
-6b20134f: eb 0d jmp 6b20135e
<_wine_fold_string+0x16e>
-6b201351: 8b 45 f8 mov 0xfffffff8(%ebp),%eax
-6b201354: 83 c0 02 add $0x2,%eax
-6b201357: 66 8b 00 mov (%eax),%ax
-6b20135a: 66 89 45 f2 mov %ax,0xfffffff2(%ebp)
-6b20135e: 8d 45 14 lea 0x14(%ebp),%eax
-6b201361: 83 00 02 addl $0x2,(%eax)
-6b201364: eb 0f jmp 6b201375
<_wine_fold_string+0x185>
-6b201366: 8b 45 08 mov 0x8(%ebp),%eax
-6b201369: c1 e8 06 shr $0x6,%eax
-6b20136c: 83 e0 01 and $0x1,%eax
-6b20136f: 85 c0 test %eax,%eax
-6b201371: 74 02 je 6b201375
<_wine_fold_string+0x185>
-6b201373: eb 00 jmp 6b201375
<_wine_fold_string+0x185>
-6b201375: 8b 45 08 mov 0x8(%ebp),%eax
-6b201378: c1 e8 07 shr $0x7,%eax
-6b20137b: 83 e0 01 and $0x1,%eax
-6b20137e: 85 c0 test %eax,%eax
-6b201380: 74 19 je 6b20139b
<_wine_fold_string+0x1ab>
-6b201382: 83 ec 0c sub $0xc,%esp
-6b201385: 66 8b 45 f2 mov 0xfffffff2(%ebp),%ax
-6b201389: 25 ff ff 00 00 and $0xffff,%eax
-6b20138e: 50 push %eax
-6b20138f: e8 af 00 00 00 call 6b201443
<_to_unicode_digit>
-6b201394: 83 c4 10 add $0x10,%esp
-6b201397: 66 89 45 f2 mov %ax,0xfffffff2(%ebp)
-6b20139b: 8b 45 08 mov 0x8(%ebp),%eax
-6b20139e: c1 e8 04 shr $0x4,%eax
-6b2013a1: 83 e0 01 and $0x1,%eax
-6b2013a4: 85 c0 test %eax,%eax
-6b2013a6: 74 19 je 6b2013c1
<_wine_fold_string+0x1d1>
-6b2013a8: 83 ec 0c sub $0xc,%esp
-6b2013ab: 66 8b 45 f2 mov 0xfffffff2(%ebp),%ax
-6b2013af: 25 ff ff 00 00 and $0xffff,%eax
-6b2013b4: 50 push %eax
-6b2013b5: e8 3b 00 00 00 call 6b2013f5
<_to_unicode_native>
-6b2013ba: 83 c4 10 add $0x10,%esp
-6b2013bd: 66 89 45 f2 mov %ax,0xfffffff2(%ebp)
-6b2013c1: 8b 45 14 mov 0x14(%ebp),%eax
-6b2013c4: 89 c2 mov %eax,%edx
-6b2013c6: 66 8b 45 f2 mov 0xfffffff2(%ebp),%ax
-6b2013ca: 66 89 02 mov %ax,(%edx)
-6b2013cd: 8d 45 14 lea 0x14(%ebp),%eax
-6b2013d0: 83 00 02 addl $0x2,(%eax)
-6b2013d3: 8d 45 0c lea 0xc(%ebp),%eax
-6b2013d6: 83 00 02 addl $0x2,(%eax)
-6b2013d9: 8d 45 f4 lea 0xfffffff4(%ebp),%eax
-6b2013dc: ff 00 incl (%eax)
-6b2013de: e9 b8 fe ff ff jmp 6b20129b
<_wine_fold_string+0xab>
-6b2013e3: 8b 55 fc mov 0xfffffffc(%ebp),%edx
-6b2013e6: 8b 45 14 mov 0x14(%ebp),%eax
-6b2013e9: 29 d0 sub %edx,%eax
-6b2013eb: d1 f8 sar %eax
-6b2013ed: 89 45 ec mov %eax,0xffffffec(%ebp)
-6b2013f0: 8b 45 ec mov 0xffffffec(%ebp),%eax
-6b2013f3: c9 leave
-6b2013f4: c3 ret
-
-6b2013f5 <_to_unicode_native>:
-6b2013f5: 55 push %ebp
-6b2013f6: 89 e5 mov %esp,%ebp
-6b2013f8: 83 ec 04 sub $0x4,%esp
-6b2013fb: 8b 45 08 mov 0x8(%ebp),%eax
-6b2013fe: 66 89 45 fe mov %ax,0xfffffffe(%ebp)
-6b201402: 66 8b 45 fe mov 0xfffffffe(%ebp),%ax
-6b201406: 66 c1 e8 08 shr $0x8,%ax
-6b20140a: 25 ff ff 00 00 and $0xffff,%eax
-6b20140f: 66 8b 84 00 60 bf 20 mov
0x6b20bf60(%eax,%eax,1),%ax
-6b201416: 6b
-6b201417: 89 c2 mov %eax,%edx
-6b201419: 81 e2 ff ff 00 00 and $0xffff,%edx
-6b20141f: 66 8b 45 fe mov 0xfffffffe(%ebp),%ax
-6b201423: 25 ff ff 00 00 and $0xffff,%eax
-6b201428: 25 ff 00 00 00 and $0xff,%eax
-6b20142d: 8d 14 10 lea (%eax,%edx,1),%edx
-6b201430: 66 8b 45 fe mov 0xfffffffe(%ebp),%ax
-6b201434: 66 03 84 12 60 bf 20 add
0x6b20bf60(%edx,%edx,1),%ax
-6b20143b: 6b
-6b20143c: 25 ff ff 00 00 and $0xffff,%eax
-6b201441: c9 leave
-6b201442: c3 ret
-
-6b201443 <_to_unicode_digit>:
-6b201443: 55 push %ebp
-6b201444: 89 e5 mov %esp,%ebp
-6b201446: 83 ec 04 sub $0x4,%esp
-6b201449: 8b 45 08 mov 0x8(%ebp),%eax
-6b20144c: 66 89 45 fe mov %ax,0xfffffffe(%ebp)
-6b201450: 66 8b 45 fe mov 0xfffffffe(%ebp),%ax
-6b201454: 66 c1 e8 08 shr $0x8,%ax
-6b201458: 25 ff ff 00 00 and $0xffff,%eax
-6b20145d: 66 8b 84 00 80 9e 20 mov
0x6b209e80(%eax,%eax,1),%ax
-6b201464: 6b
-6b201465: 89 c2 mov %eax,%edx
-6b201467: 81 e2 ff ff 00 00 and $0xffff,%edx
-6b20146d: 66 8b 45 fe mov 0xfffffffe(%ebp),%ax
-6b201471: 25 ff ff 00 00 and $0xffff,%eax
-6b201476: 25 ff 00 00 00 and $0xff,%eax
-6b20147b: 8d 14 10 lea (%eax,%edx,1),%edx
-6b20147e: 66 8b 45 fe mov 0xfffffffe(%ebp),%ax
-6b201482: 66 03 84 12 80 9e 20 add
0x6b209e80(%edx,%edx,1),%ax
-6b201489: 6b
-6b20148a: 25 ff ff 00 00 and $0xffff,%eax
-6b20148f: c9 leave
-6b201490: c3 ret
-
-6b201491 <_get_ligature>:
-6b201491: 55 push %ebp
-6b201492: 89 e5 mov %esp,%ebp
-6b201494: 83 ec 14 sub $0x14,%esp
-6b201497: 8b 45 08 mov 0x8(%ebp),%eax
-6b20149a: 66 89 45 fe mov %ax,0xfffffffe(%ebp)
-6b20149e: c7 45 f8 00 00 00 00 movl $0x0,0xfffffff8(%ebp)
-6b2014a5: c7 45 f4 22 00 00 00 movl $0x22,0xfffffff4(%ebp)
-6b2014ac: 8b 45 f8 mov 0xfffffff8(%ebp),%eax
-6b2014af: 3b 45 f4 cmp 0xfffffff4(%ebp),%eax
-6b2014b2: 7f 5c jg 6b201510
<_get_ligature+0x7f>
-6b2014b4: 8b 45 f4 mov 0xfffffff4(%ebp),%eax
-6b2014b7: 8b 55 f8 mov 0xfffffff8(%ebp),%edx
-6b2014ba: 01 c2 add %eax,%edx
-6b2014bc: 89 d0 mov %edx,%eax
-6b2014be: c1 f8 1f sar $0x1f,%eax
-6b2014c1: c1 e8 1f shr $0x1f,%eax
-6b2014c4: 8d 04 02 lea (%edx,%eax,1),%eax
-6b2014c7: d1 f8 sar %eax
-6b2014c9: 89 45 f0 mov %eax,0xfffffff0(%ebp)
-6b2014cc: 8b 45 f0 mov 0xfffffff0(%ebp),%eax
-6b2014cf: 66 8b 84 00 40 c8 21 mov
0x6b21c840(%eax,%eax,1),%ax
-6b2014d6: 6b
-6b2014d7: 66 3b 45 fe cmp 0xfffffffe(%ebp),%ax
-6b2014db: 73 09 jae 6b2014e6
<_get_ligature+0x55>
-6b2014dd: 8b 45 f0 mov 0xfffffff0(%ebp),%eax
-6b2014e0: 40 inc %eax
-6b2014e1: 89 45 f8 mov %eax,0xfffffff8(%ebp)
-6b2014e4: eb c6 jmp 6b2014ac
<_get_ligature+0x1b>
-6b2014e6: 8b 45 f0 mov 0xfffffff0(%ebp),%eax
-6b2014e9: 66 8b 84 00 40 c8 21 mov
0x6b21c840(%eax,%eax,1),%ax
-6b2014f0: 6b
-6b2014f1: 66 3b 45 fe cmp 0xfffffffe(%ebp),%ax
-6b2014f5: 76 09 jbe 6b201500
<_get_ligature+0x6f>
-6b2014f7: 8b 45 f0 mov 0xfffffff0(%ebp),%eax
-6b2014fa: 48 dec %eax
-6b2014fb: 89 45 f4 mov %eax,0xfffffff4(%ebp)
-6b2014fe: eb ac jmp 6b2014ac
<_get_ligature+0x1b>
-6b201500: 8b 45 f0 mov 0xfffffff0(%ebp),%eax
-6b201503: c1 e0 03 shl $0x3,%eax
-6b201506: 05 a0 c8 21 6b add $0x6b21c8a0,%eax
-6b20150b: 89 45 ec mov %eax,0xffffffec(%ebp)
-6b20150e: eb 07 jmp 6b201517
<_get_ligature+0x86>
-6b201510: c7 45 ec b8 c9 21 6b movl
$0x6b21c9b8,0xffffffec(%ebp)
-6b201517: 8b 45 ec mov 0xffffffec(%ebp),%eax
-6b20151a: c9 leave
-6b20151b: c3 ret
-
-6b20151c <_get_ligature_len>:
-6b20151c: 55 push %ebp
-6b20151d: 89 e5 mov %esp,%ebp
-6b20151f: 83 ec 14 sub $0x14,%esp
-6b201522: 8b 45 08 mov 0x8(%ebp),%eax
-6b201525: 66 89 45 fe mov %ax,0xfffffffe(%ebp)
-6b201529: c7 45 f8 00 00 00 00 movl $0x0,0xfffffff8(%ebp)
-6b201530: c7 45 f4 22 00 00 00 movl $0x22,0xfffffff4(%ebp)
-6b201537: 8b 45 f8 mov 0xfffffff8(%ebp),%eax
-6b20153a: 3b 45 f4 cmp 0xfffffff4(%ebp),%eax
-6b20153d: 7f 61 jg 6b2015a0
<_get_ligature_len+0x84>
-6b20153f: 8b 45 f4 mov 0xfffffff4(%ebp),%eax
-6b201542: 8b 55 f8 mov 0xfffffff8(%ebp),%edx
-6b201545: 01 c2 add %eax,%edx
-6b201547: 89 d0 mov %edx,%eax
-6b201549: c1 f8 1f sar $0x1f,%eax
-6b20154c: c1 e8 1f shr $0x1f,%eax
-6b20154f: 8d 04 02 lea (%edx,%eax,1),%eax
-6b201552: d1 f8 sar %eax
-6b201554: 89 45 f0 mov %eax,0xfffffff0(%ebp)
-6b201557: 8b 45 f0 mov 0xfffffff0(%ebp),%eax
-6b20155a: 66 8b 84 00 40 c8 21 mov
0x6b21c840(%eax,%eax,1),%ax
-6b201561: 6b
-6b201562: 66 3b 45 fe cmp 0xfffffffe(%ebp),%ax
-6b201566: 73 09 jae 6b201571
<_get_ligature_len+0x55>
-6b201568: 8b 45 f0 mov 0xfffffff0(%ebp),%eax
-6b20156b: 40 inc %eax
-6b20156c: 89 45 f8 mov %eax,0xfffffff8(%ebp)
-6b20156f: eb c6 jmp 6b201537
<_get_ligature_len+0x1b>
-6b201571: 8b 45 f0 mov 0xfffffff0(%ebp),%eax
-6b201574: 66 8b 84 00 40 c8 21 mov
0x6b21c840(%eax,%eax,1),%ax
-6b20157b: 6b
-6b20157c: 66 3b 45 fe cmp 0xfffffffe(%ebp),%ax
-6b201580: 76 09 jbe 6b20158b
<_get_ligature_len+0x6f>
-6b201582: 8b 45 f0 mov 0xfffffff0(%ebp),%eax
-6b201585: 48 dec %eax
-6b201586: 89 45 f4 mov %eax,0xfffffff4(%ebp)
-6b201589: eb ac jmp 6b201537
<_get_ligature_len+0x1b>
-6b20158b: 8b 45 f0 mov 0xfffffff0(%ebp),%eax
-6b20158e: 66 8b 04 c5 a6 c8 21 mov 0x6b21c8a6(,%eax,8),%ax
-6b201595: 6b
-6b201596: 25 ff ff 00 00 and $0xffff,%eax
-6b20159b: 89 45 ec mov %eax,0xffffffec(%ebp)
-6b20159e: eb 07 jmp 6b2015a7
<_get_ligature_len+0x8b>
-6b2015a0: c7 45 ec 00 00 00 00 movl $0x0,0xffffffec(%ebp)
-6b2015a7: 8b 45 ec mov 0xffffffec(%ebp),%eax
-6b2015aa: c9 leave
-6b2015ab: c3 ret
-6b2015ac: 90 nop
-6b2015ad: 90 nop
-6b2015ae: 90 nop
-6b2015af: 90 nop
-
-6b2015b0 <_get_decomposition>:
-6b2015b0: 55 push %ebp
-6b2015b1: 89 e5 mov %esp,%ebp
-6b2015b3: 83 ec 10 sub $0x10,%esp
-6b2015b6: 8b 45 08 mov 0x8(%ebp),%eax
-6b2015b9: 66 89 45 fe mov %ax,0xfffffffe(%ebp)
-6b2015bd: c7 45 f8 a0 a3 21 6b movl
$0x6b21a3a0,0xfffffff8(%ebp)
-6b2015c4: 8b 55 0c mov 0xc(%ebp),%edx
-6b2015c7: 66 8b 45 fe mov 0xfffffffe(%ebp),%ax
-6b2015cb: 66 89 02 mov %ax,(%edx)
-6b2015ce: 66 8b 45 fe mov 0xfffffffe(%ebp),%ax
-6b2015d2: 66 c1 e8 08 shr $0x8,%ax
-6b2015d6: 25 ff ff 00 00 and $0xffff,%eax
-6b2015db: 8d 14 00 lea (%eax,%eax,1),%edx
-6b2015de: 8b 45 f8 mov 0xfffffff8(%ebp),%eax
-6b2015e1: 66 8b 04 02 mov (%edx,%eax,1),%ax
-6b2015e5: 25 ff ff 00 00 and $0xffff,%eax
-6b2015ea: 01 c0 add %eax,%eax
-6b2015ec: 05 a0 a3 21 6b add $0x6b21a3a0,%eax
-6b2015f1: 89 45 f8 mov %eax,0xfffffff8(%ebp)
-6b2015f4: 66 8b 45 fe mov 0xfffffffe(%ebp),%ax
-6b2015f8: 25 ff ff 00 00 and $0xffff,%eax
-6b2015fd: 83 e0 0f and $0xf,%eax
-6b201600: 8d 0c 00 lea (%eax,%eax,1),%ecx
-6b201603: 66 8b 45 fe mov 0xfffffffe(%ebp),%ax
-6b201607: 66 c1 e8 04 shr $0x4,%ax
-6b20160b: 25 ff ff 00 00 and $0xffff,%eax
-6b201610: 83 e0 0f and $0xf,%eax
-6b201613: 8d 14 00 lea (%eax,%eax,1),%edx
-6b201616: 8b 45 f8 mov 0xfffffff8(%ebp),%eax
-6b201619: 66 8b 04 02 mov (%edx,%eax,1),%ax
-6b20161d: 25 ff ff 00 00 and $0xffff,%eax
-6b201622: 8d 04 01 lea (%ecx,%eax,1),%eax
-6b201625: 01 c0 add %eax,%eax
-6b201627: 05 a0 a3 21 6b add $0x6b21a3a0,%eax
-6b20162c: 89 45 f8 mov %eax,0xfffffff8(%ebp)
-6b20162f: 8b 45 f8 mov 0xfffffff8(%ebp),%eax
-6b201632: 66 83 38 00 cmpw $0x0,(%eax)
-6b201636: 75 09 jne 6b201641
<_get_decomposition+0x91>
-6b201638: c7 45 f0 01 00 00 00 movl $0x1,0xfffffff0(%ebp)
-6b20163f: eb 58 jmp 6b201699
<_get_decomposition+0xe9>
-6b201641: 83 7d 10 01 cmpl $0x1,0x10(%ebp)
-6b201645: 77 09 ja 6b201650
<_get_decomposition+0xa0>
-6b201647: c7 45 f0 00 00 00 00 movl $0x0,0xfffffff0(%ebp)
-6b20164e: eb 49 jmp 6b201699
<_get_decomposition+0xe9>
-6b201650: 83 ec 04 sub $0x4,%esp
-6b201653: 8b 45 10 mov 0x10(%ebp),%eax
-6b201656: 48 dec %eax
-6b201657: 50 push %eax
-6b201658: ff 75 0c pushl 0xc(%ebp)
-6b20165b: 8b 45 f8 mov 0xfffffff8(%ebp),%eax
-6b20165e: 66 8b 00 mov (%eax),%ax
-6b201661: 25 ff ff 00 00 and $0xffff,%eax
-6b201666: 50 push %eax
-6b201667: e8 44 ff ff ff call 6b2015b0
<_get_decomposition>
-6b20166c: 83 c4 10 add $0x10,%esp
-6b20166f: 89 45 f4 mov %eax,0xfffffff4(%ebp)
-6b201672: 83 7d f4 00 cmpl $0x0,0xfffffff4(%ebp)
-6b201676: 74 1b je 6b201693
<_get_decomposition+0xe3>
-6b201678: 8b 45 f4 mov 0xfffffff4(%ebp),%eax
-6b20167b: 8d 0c 00 lea (%eax,%eax,1),%ecx
-6b20167e: 8b 55 0c mov 0xc(%ebp),%edx
-6b201681: 8b 45 f8 mov 0xfffffff8(%ebp),%eax
-6b201684: 83 c0 02 add $0x2,%eax
-6b201687: 66 8b 00 mov (%eax),%ax
-6b20168a: 66 89 04 11 mov %ax,(%ecx,%edx,1)
-6b20168e: 8d 45 f4 lea 0xfffffff4(%ebp),%eax
-6b201691: ff 00 incl (%eax)
-6b201693: 8b 45 f4 mov 0xfffffff4(%ebp),%eax
-6b201696: 89 45 f0 mov %eax,0xfffffff0(%ebp)
-6b201699: 8b 45 f0 mov 0xfffffff0(%ebp),%eax
-6b20169c: c9 leave
-6b20169d: c3 ret
-
-6b20169e <_mbstowcs_sbcs_decompose>:
-6b20169e: 55 push %ebp
-6b20169f: 89 e5 mov %esp,%ebp
-6b2016a1: 83 ec 18 sub $0x18,%esp
-6b2016a4: 8b 45 08 mov 0x8(%ebp),%eax
-6b2016a7: 8b 40 10 mov 0x10(%eax),%eax
-6b2016aa: 89 45 fc mov %eax,0xfffffffc(%ebp)
-6b2016ad: 83 7d 18 00 cmpl $0x0,0x18(%ebp)
-6b2016b1: 75 53 jne 6b201706
<_mbstowcs_sbcs_decompose+0x68>
-6b2016b3: c7 45 f8 00 00 00 00 movl $0x0,0xfffffff8(%ebp)
-6b2016ba: 83 7d 10 00 cmpl $0x0,0x10(%ebp)
-6b2016be: 74 3b je 6b2016fb
<_mbstowcs_sbcs_decompose+0x5d>
-6b2016c0: 6a 04 push $0x4
-6b2016c2: 8d 45 f0 lea 0xfffffff0(%ebp),%eax
-6b2016c5: 50 push %eax
-6b2016c6: 8b 45 0c mov 0xc(%ebp),%eax
-6b2016c9: 8a 00 mov (%eax),%al
-6b2016cb: 25 ff 00 00 00 and $0xff,%eax
-6b2016d0: 8d 14 00 lea (%eax,%eax,1),%edx
-6b2016d3: 8b 45 fc mov 0xfffffffc(%ebp),%eax
-6b2016d6: 66 8b 04 02 mov (%edx,%eax,1),%ax
-6b2016da: 25 ff ff 00 00 and $0xffff,%eax
-6b2016df: 50 push %eax
-6b2016e0: e8 cb fe ff ff call 6b2015b0
<_get_decomposition>
-6b2016e5: 83 c4 0c add $0xc,%esp
-6b2016e8: 89 c2 mov %eax,%edx
-6b2016ea: 8d 45 f8 lea 0xfffffff8(%ebp),%eax
-6b2016ed: 01 10 add %edx,(%eax)
-6b2016ef: 8d 45 10 lea 0x10(%ebp),%eax
-6b2016f2: ff 08 decl (%eax)
-6b2016f4: 8d 45 0c lea 0xc(%ebp),%eax
-6b2016f7: ff 00 incl (%eax)
-6b2016f9: eb bf jmp 6b2016ba
<_mbstowcs_sbcs_decompose+0x1c>
-6b2016fb: 8b 45 f8 mov 0xfffffff8(%ebp),%eax
-6b2016fe: 89 45 e8 mov %eax,0xffffffe8(%ebp)
-6b201701: e9 80 00 00 00 jmp 6b201786
<_mbstowcs_sbcs_decompose+0xe8>
-6b201706: 8b 45 18 mov 0x18(%ebp),%eax
-6b201709: 89 45 f8 mov %eax,0xfffffff8(%ebp)
-6b20170c: 83 7d 10 00 cmpl $0x0,0x10(%ebp)
-6b201710: 74 58 je 6b20176a
<_mbstowcs_sbcs_decompose+0xcc>
-6b201712: 83 7d f8 00 cmpl $0x0,0xfffffff8(%ebp)
-6b201716: 74 52 je 6b20176a
<_mbstowcs_sbcs_decompose+0xcc>
-6b201718: ff 75 f8 pushl 0xfffffff8(%ebp)
-6b20171b: ff 75 14 pushl 0x14(%ebp)
-6b20171e: 8b 45 0c mov 0xc(%ebp),%eax
-6b201721: 8a 00 mov (%eax),%al
-6b201723: 25 ff 00 00 00 and $0xff,%eax
-6b201728: 8d 14 00 lea (%eax,%eax,1),%edx
-6b20172b: 8b 45 fc mov 0xfffffffc(%ebp),%eax
-6b20172e: 66 8b 04 02 mov (%edx,%eax,1),%ax
-6b201732: 25 ff ff 00 00 and $0xffff,%eax
-6b201737: 50 push %eax
-6b201738: e8 73 fe ff ff call 6b2015b0
<_get_decomposition>
-6b20173d: 83 c4 0c add $0xc,%esp
-6b201740: 89 45 ec mov %eax,0xffffffec(%ebp)
-6b201743: 83 7d ec 00 cmpl $0x0,0xffffffec(%ebp)
-6b201747: 75 02 jne 6b20174b
<_mbstowcs_sbcs_decompose+0xad>
-6b201749: eb 1f jmp 6b20176a
<_mbstowcs_sbcs_decompose+0xcc>
-6b20174b: 8b 55 ec mov 0xffffffec(%ebp),%edx
-6b20174e: 8d 45 f8 lea 0xfffffff8(%ebp),%eax
-6b201751: 29 10 sub %edx,(%eax)
-6b201753: 8b 45 ec mov 0xffffffec(%ebp),%eax
-6b201756: 8d 14 00 lea (%eax,%eax,1),%edx
-6b201759: 8d 45 14 lea 0x14(%ebp),%eax
-6b20175c: 01 10 add %edx,(%eax)
-6b20175e: 8d 45 10 lea 0x10(%ebp),%eax
-6b201761: ff 08 decl (%eax)
-6b201763: 8d 45 0c lea 0xc(%ebp),%eax
-6b201766: ff 00 incl (%eax)
-6b201768: eb a2 jmp 6b20170c
<_mbstowcs_sbcs_decompose+0x6e>
[truncated at 1000 lines; 11129 more skipped]