diff --git a/StgSharp.Common/HighPerformance/Memory/HLSFAllocator.Alloc.cs b/StgSharp.Common/HighPerformance/Memory/HLSFAllocator.Alloc.cs index 986758ce..680e9367 100644 --- a/StgSharp.Common/HighPerformance/Memory/HLSFAllocator.Alloc.cs +++ b/StgSharp.Common/HighPerformance/Memory/HLSFAllocator.Alloc.cs @@ -57,9 +57,7 @@ namespace StgSharp.HighPerformance.Memory int segmentIndex = DetermineSegmentIndex(size, level); int i = level, s = segmentIndex; - if (TryPopLevelForAllocation(i, s, out Entry* handle)) - { - SetEntryState(handle, EntryState.Allocated); + if (TryPopLevelForAllocation(i, s, out Entry* handle)) { return new hlsfHandle(handle, size); } @@ -82,10 +80,8 @@ namespace StgSharp.HighPerformance.Memory } } - if (handle != null) - { + if (handle != null) { SliceMemory(handle, (segmentIndex + 1) * levelSizeArray[level]); - SetEntryState(handle, EntryState.Allocated); } return new hlsfHandle(handle, size); @@ -106,14 +102,14 @@ namespace StgSharp.HighPerformance.Memory throw new InvalidOperationException("Entry position offset is not aligned to 64 bytes."); } - int minLevel = Math.Max((BitOperations.TrailingZeroCount(originOffset) - 6) / 2, 0); + int minLevel = Math.Max((BitOperations.TrailingZeroCount(finalOffset) - 6) / 2, 0); int i = minLevel >= levelSizeArray.Length ? levelSizeArray.Length - 1 : minLevel; for (; i < levelSizeArray.Length; i++) { int levelSize = levelSizeArray[i]; ulong board = (finalOffset + (ulong)levelSize - 1) & ~((ulong)levelSize - 1); - int blockCount = (int)(ulong.Min(board, end) / (ulong)levelSize); + int blockCount = (int)((ulong.Min(board, end) - board) / (ulong)levelSize); if (blockCount == 0) { break; @@ -126,7 +122,6 @@ namespace StgSharp.HighPerformance.Memory newEntry->Size = (uint)s; BucketNode* bucket = (BucketNode*)newEntry->Position; bucket->EntryRef = newEntry; - newEntry->State = EntryState.ThreadOccupied; // link new entry newEntry->PreviousNear = (ulong)current; @@ -155,7 +150,7 @@ namespace StgSharp.HighPerformance.Memory { int levelSize = levelSizeArray[i]; ulong board = (finalOffset + (ulong)levelSize - 1) & ~((ulong)levelSize - 1); - int blockCount = (int)(ulong.Min(board, end) / (ulong)levelSize); + int blockCount = (int)((ulong.Min(board, end) - finalOffset) / (ulong)levelSize); if (blockCount == 0) { continue; @@ -168,7 +163,6 @@ namespace StgSharp.HighPerformance.Memory newEntry->Size = (uint)s; BucketNode* bucket = (BucketNode*)newEntry->Position; bucket->EntryRef = newEntry; - newEntry->State = EntryState.ThreadOccupied; // link new entry newEntry->PreviousNear = (ulong)current; @@ -229,7 +223,6 @@ namespace StgSharp.HighPerformance.Memory handle = (Entry*)_entries.Allocate(); handle->Position = pos; handle->Size = (uint)blockSize; - SetEntryState(handle, EntryState.ThreadOccupied); handle->Level = GetLevelFromSize((uint)blockSize); // Update spare memory position diff --git a/StgSharp.Common/HighPerformance/Memory/HLSFAllocator.Free.cs b/StgSharp.Common/HighPerformance/Memory/HLSFAllocator.Free.cs index 77a34c82..ca85f2b6 100644 --- a/StgSharp.Common/HighPerformance/Memory/HLSFAllocator.Free.cs +++ b/StgSharp.Common/HighPerformance/Memory/HLSFAllocator.Free.cs @@ -48,13 +48,13 @@ namespace StgSharp.HighPerformance.Memory return; } - if (GetEntryState(e) != EntryState.Allocated) { + if (e->State != EntryState.Allocated) { return; } // Set to ThreadOccupied to prevent other operations - SetEntryState(e, EntryState.ThreadOccupied); + e->State = EntryState.Empty; // Try merge with adjacent free blocks and remove them from buckets @@ -68,7 +68,7 @@ namespace StgSharp.HighPerformance.Memory // Set the merged entry state to Empty (ready to be reused) - SetEntryState(e, EntryState.Empty); + e->State = EntryState.Empty; // Push the merged entry back to appropriate bucket diff --git a/StgSharp.Common/HighPerformance/Memory/HLSFAllocator.SegmentEntry.cs b/StgSharp.Common/HighPerformance/Memory/HLSFAllocator.SegmentEntry.cs index a31ab50c..059731d8 100644 --- a/StgSharp.Common/HighPerformance/Memory/HLSFAllocator.SegmentEntry.cs +++ b/StgSharp.Common/HighPerformance/Memory/HLSFAllocator.SegmentEntry.cs @@ -91,8 +91,6 @@ namespace StgSharp.HighPerformance.Memory RemoveFromBucket(originLevel, segment, (BucketNode*)entry->Position); - SetEntryState(entry, EntryState.Merging); - while (originLevel >= entry->Level) { originLevel = entry->Level; @@ -101,12 +99,11 @@ namespace StgSharp.HighPerformance.Memory // backward merging - simplified to single attempt ulong p = entry->PreviousNear; Entry* prev = (Entry*)p; - if (prev != null || - prev != _spareMemory || - GetEntryState(prev) == EntryState.Empty || + if (prev == null || + prev == _spareMemory || !AssertBackwardBoundary(entry->Position, prev, originLevel) || IsAdjacentTo(entry, prev) || - entry->Level == prev->Level || + entry->Level != prev->Level || !TryRemoveFromBucket(originLevel, DetermineSegmentIndex(prev->Size, originLevel), (BucketNode*)prev->Position)) { break; @@ -130,12 +127,11 @@ namespace StgSharp.HighPerformance.Memory // forward merging - simplified to single attempt ulong n = entry->NextNear; Entry* next = (Entry*)n; - if (next != null || - next != _spareMemory || - GetEntryState(next) == EntryState.Empty || + if (next == null || + next == _spareMemory || !AssertForwardBoundary(entry->Position + entry->Size, next, entry->Level) || IsAdjacentTo(entry, next) || - entry->Level == next->Level || + entry->Level != next->Level || !TryRemoveFromBucket(originLevel, DetermineSegmentIndex(next->Size, originLevel), (BucketNode*)next->Position)) { break; @@ -148,14 +144,12 @@ namespace StgSharp.HighPerformance.Memory } entry->NextNear = (ulong)nextNext; - // Merge entry->Size += next->Size; RecycleEntry(next); } entry->Level = GetLevelFromSize(entry->Size); } - SetEntryState(entry, EntryState.Empty); } private void RecycleEntry(Entry* entry) @@ -164,7 +158,6 @@ namespace StgSharp.HighPerformance.Memory return; } - entry->State = EntryState.Empty; entry->PreviousNear = EmptyHandle; entry->NextNear = EmptyHandle; _entries.Free((nuint)entry); @@ -199,27 +192,24 @@ namespace StgSharp.HighPerformance.Memory /// Entry structure - streamlined version (only position and state information) Stored in /// external SLAB /// - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 36)] internal struct Entry { [FieldOffset(28)] internal int Level; // Level of the block in the allocator - [FieldOffset(20)] internal int State; // Node state (using int for atomic operations) [FieldOffset(24)] internal uint Size; // Block size information [FieldOffset(8)] internal ulong NextNear; // Position linked list: next pointer [FieldOffset(16)] internal ulong PreviousNear; // Position linked list: previous pointer + [FieldOffset(32)] public EntryState State; [FieldOffset(0)] public nuint Position; // Memory block position } - // 更新后的EntryState常量类 - 使用int类型 - private static class EntryState + internal enum EntryState : uint { - public const int Allocated = 1; // Already allocated to user - public const int Empty = 0; // Free, can be allocated - public const int Merging = 3; // Currently being merged - public const int ThreadOccupied = 2; // Occupied by thread (being operated on) + Empty, + Allocated } @@ -237,56 +227,6 @@ namespace StgSharp.HighPerformance.Memory return entry == null; } - // Entry 状态操作 - [MethodImpl(MethodImplOptions.AggressiveInlining)] - private static bool TrySetEntryState(Entry* entry, int expectedState, int newState) - { - if (entry != null && entry->State == expectedState) - { - entry->State = newState; - return true; - } - return false; - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - private static int GetEntryState(Entry* entry) - { - return entry != null ? entry->State : 0; - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - private static void SetEntryState(Entry* entry, int newState) - { - if (entry != null) { - entry->State = newState; - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - private static bool IsEntryEmpty(Entry* entry) - { - return GetEntryState(entry) == EntryState.Empty; - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - private static bool IsEntryAllocated(Entry* entry) - { - return GetEntryState(entry) == EntryState.Allocated; - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - private static bool IsEntryThreadOccupied(Entry* entry) - { - return GetEntryState(entry) == EntryState.ThreadOccupied; - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - private static bool IsEntryMerging(Entry* entry) - { - return GetEntryState(entry) == EntryState.Merging; - } - #endregion } } diff --git a/StgSharp.Common/HighPerformance/Memory/HLSFAllocator.cs b/StgSharp.Common/HighPerformance/Memory/HLSFAllocator.cs index 1e84001c..7ef23b05 100644 --- a/StgSharp.Common/HighPerformance/Memory/HLSFAllocator.cs +++ b/StgSharp.Common/HighPerformance/Memory/HLSFAllocator.cs @@ -62,7 +62,7 @@ namespace StgSharp.HighPerformance.Memory InitializeBucketSystem(); _spareMemory = (Entry*)_entries.Allocate(); - SetEntryState(_spareMemory, EntryState.ThreadOccupied); + _spareMemory->State = EntryState.Empty; _spareMemory->PreviousNear = EmptyHandle; _spareMemory->NextNear = EmptyHandle; _spareMemory->Position = (nuint)m_Buffer; @@ -83,7 +83,7 @@ namespace StgSharp.HighPerformance.Memory InitializeBucketSystem(); _spareMemory = (Entry*)_entries.Allocate(); - SetEntryState(_spareMemory, EntryState.ThreadOccupied); + _spareMemory->State = EntryState.Empty; _spareMemory->PreviousNear = EmptyHandle; _spareMemory->NextNear = EmptyHandle; _spareMemory->Position = (nuint)m_Buffer; diff --git a/StgSharp.Common/StgSharp.Common.csproj b/StgSharp.Common/StgSharp.Common.csproj index 5b42a4dd..ad5fdb7d 100644 --- a/StgSharp.Common/StgSharp.Common.csproj +++ b/StgSharp.Common/StgSharp.Common.csproj @@ -6,7 +6,7 @@ Preview True True - AnyCPU;x64 + x64;ARM64 False True MIT @@ -21,6 +21,10 @@ True + + True + + False portable @@ -28,6 +32,13 @@ False + + False + portable + 1701;1702;0649;1591;0169 + False + + True embedded @@ -35,18 +46,11 @@ False - - portable - False - 1701;1702;0649;1591;0169 - False - - - - none - 1701;1702;0649;1591;0169 - False - True + + True + embedded + 1701;1702;0649;1591;0169 + False @@ -56,6 +60,13 @@ True + + none + 1701;1702;0649;1591;0169 + False + True + + true true @@ -107,6 +118,10 @@ False + + False + + diff --git a/StgSharp.Model/StgSharp.Model.csproj b/StgSharp.Model/StgSharp.Model.csproj index bf6032ec..9473b63e 100644 --- a/StgSharp.Model/StgSharp.Model.csproj +++ b/StgSharp.Model/StgSharp.Model.csproj @@ -4,7 +4,7 @@ net8.0 enable preview - AnyCPU;x64 + x64;ARM64 True diff --git a/StgSharp.Native/StgSharp.Native.vcxproj b/StgSharp.Native/StgSharp.Native.vcxproj index ffce9ba4..4daaa7b9 100644 --- a/StgSharp.Native/StgSharp.Native.vcxproj +++ b/StgSharp.Native/StgSharp.Native.vcxproj @@ -1,18 +1,18 @@  - + Debug - Win32 - - - Release - Win32 + ARM64 Debug x64 + + Release + ARM64 + Release x64 @@ -23,24 +23,18 @@ Win32Proj {20cbff26-6746-402e-992c-7b643e9423eb} StgSharpC - 10.0 + 10.0.22621.0 StgSharp.Native - - Application + + DynamicLibrary true v143 Unicode + false - - Application - false - v143 - true - Unicode - - + DynamicLibrary true v143 @@ -53,25 +47,31 @@ v143 true Unicode - 14.41.34120 + + + DynamicLibrary + false + v143 + true + Unicode - - - - - - + + + + + + $(SolutionDir)build @@ -80,34 +80,9 @@ $(SolutionDir)build false - - - Level3 - true - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - - - - - Level3 - true - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - true - true - - + + false + Level3 @@ -133,6 +108,31 @@ true + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + stdcpp20 + stdc17 + Disabled + true + All + true + true + Speed + $(ProjectDir)sdl-head;$(ProjectDir)sn-head;%(AdditionalIncludeDirectories) + + + Console + true + opengl32.lib;$(CoreLibraryDependencies);%(AdditionalDependencies) + + + true + + Level3 @@ -143,8 +143,34 @@ true Speed NoListing - stdcpp20 - stdc17 + Default + stdc11 + CompileAsC + true + $(ProjectDir)sdl-head;$(ProjectDir)sn-head;%(AdditionalIncludeDirectories) + + + Console + true + true + false + opengl32.lib;$(CoreLibraryDependencies);%(AdditionalDependencies) + LinkVerbose + UseLinkTimeCodeGeneration + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + Speed + NoListing + Default + stdc11 CompileAsC true $(ProjectDir)sdl-head;$(ProjectDir)sn-head;%(AdditionalIncludeDirectories) diff --git a/StgSharp.Native/StgSharp.Native.vcxproj.user b/StgSharp.Native/StgSharp.Native.vcxproj.user index 6e73c83d..04d86368 100644 --- a/StgSharp.Native/StgSharp.Native.vcxproj.user +++ b/StgSharp.Native/StgSharp.Native.vcxproj.user @@ -4,4 +4,8 @@ $(SolutionDir)Output\x64\Debug\net6.0\StgSharpDebug.exe WindowsLocalDebugger + + $(SolutionDir)Output\x64\Debug\net6.0\StgSharpDebug.exe + WindowsLocalDebugger + \ No newline at end of file diff --git a/StgSharp.Native/x64/Debug/FactorialSIMD.cod b/StgSharp.Native/x64/Debug/FactorialSIMD.cod deleted file mode 100644 index 31976a3d..00000000 --- a/StgSharp.Native/x64/Debug/FactorialSIMD.cod +++ /dev/null @@ -1,389 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.44.35215.0 - -include listing.inc - -INCLUDELIB MSVCRTD -INCLUDELIB OLDNAMES - -PUBLIC facIncrement -PUBLIC facBase -_DATA SEGMENT -COMM infolog:BYTE:0200H -_DATA ENDS -msvcjmc SEGMENT -__5C8CA4D3_mmintrin@h DB 01H -__8C83BECC_concurrencysal@h DB 01H -__608E3340_sal@h DB 01H -__FB67E29A_vadefs@h DB 01H -__1D1B619C_vcruntime@h DB 01H -__735960E1_corecrt@h DB 01H -__211DB995_corecrt_malloc@h DB 01H -__7CD62D9E_malloc@h DB 01H -__9DCE0DC8_xmmintrin@h DB 01H -__4C2AD0C7_winpackagefamily@h DB 01H -__9DED9ED1_winapifamily@h DB 01H -__12FEDF4E_sdkddkver@h DB 01H -__9BAEE128_excpt@h DB 01H -__B7B53233_stdarg@h DB 01H -__6B04FCB3_specstrings_undef@h DB 01H -__F4027AF7_specstrings_strict@h DB 01H -__B90340D4_sdv_driverspecs@h DB 01H -__BFFF5AD3_driverspecs@h DB 01H -__32847078_specstrings@h DB 01H -__108B2620_corecrt_wctype@h DB 01H -__6CD6613D_ctype@h DB 01H -__30902A1F_kernelspecs@h DB 01H -__376FD5CA_basetsd@h DB 01H -__13DE2371_errno@h DB 01H -__8C6AE390_vcruntime_string@h DB 01H -__8ACB2152_corecrt_memcpy_s@h DB 01H -__EA6C9D17_corecrt_memory@h DB 01H -__0DF2AF52_corecrt_wstring@h DB 01H -__6E889ECC_string@h DB 01H -__9BEDF4DE_guiddef@h DB 01H -__51BFD2FE_pshpack4@h DB 01H -__31652CEA_poppack@h DB 01H -__5532AE4C_pshpack2@h DB 01H -__58A52B9A_pshpack8@h DB 01H -__57741015_pshpack1@h DB 01H -__CDE68C90_apiset@h DB 01H -__0BF06E8D_ktmtypes@h DB 01H -__40C200C0_winnt@h DB 01H -__9336F789_minwindef@h DB 01H -__55136115_windef@h DB 01H -__32205BF0_apisetcconv@h DB 01H -__B48FDEA0_minwinbase@h DB 01H -__3551B028_apiquery2@h DB 01H -__65BE04AA_processenv@h DB 01H -__4767CA46_fileapi@h DB 01H -__282E6C4B_fileapifromapp@h DB 01H -__393AF12C_debugapi@h DB 01H -__EBC502B8_utilapiset@h DB 01H -__1EAD8C69_handleapi@h DB 01H -__D8EF9B29_errhandlingapi@h DB 01H -__97FC1204_fibersapi@h DB 01H -__27448220_namedpipeapi@h DB 01H -__6EA33B2A_profileapi@h DB 01H -__EAC6F673_heapapi@h DB 01H -__D64EEA5A_ioapiset@h DB 01H -__144BD4B6_synchapi@h DB 01H -__03B1C640_interlockedapi@h DB 01H -__DC64CB38_processthreadsapi@h DB 01H -__D719B518_sysinfoapi@h DB 01H -__410385B1_memoryapi@h DB 01H -__C1AD45EF_enclaveapi@h DB 01H -__F4C3AA32_threadpoollegacyapiset@h DB 01H -__AC5A7A9F_threadpoolapiset@h DB 01H -__F5254B21_jobapi@h DB 01H -__BCEA6EE8_jobapi2@h DB 01H -__D18ACE72_wow64apiset@h DB 01H -__669B0D4A_libloaderapi@h DB 01H -__645F7034_securitybaseapi@h DB 01H -__67E58557_namespaceapi@h DB 01H -__599D9D3A_systemtopologyapi@h DB 01H -__2337E373_processtopologyapi@h DB 01H -__02BFF239_securityappcontainer@h DB 01H -__9C196272_realtimeapiset@h DB 01H -__5AB313A4_winerror@h DB 01H -__B7E7187B_timezoneapi@h DB 01H -__6DE9EB6F_winbase@h DB 01H -__56B2AFF2_wingdi@h DB 01H -__BA1161A9_tvout@h DB 01H -__0501A018_winuser@h DB 01H -__EF12FA99_datetimeapi@h DB 01H -__8FA7C3CA_winnls@h DB 01H -__390F0C47_stringapiset@h DB 01H -__28605B0A_wincontypes@h DB 01H -__BFBDE86D_consoleapi@h DB 01H -__C3CAFBF0_consoleapi2@h DB 01H -__C20891C7_consoleapi3@h DB 01H -__717C98B6_wincon@h DB 01H -__2884C177_verrsrc@h DB 01H -__A3FD3A34_winver@h DB 01H -__6F8AD9F1_reason@h DB 01H -__4C90FD6F_winreg@h DB 01H -__68AFEBAD_wnnc@h DB 01H -__5A7AB086_winnetwk@h DB 01H -__2FE8A10C_stralign@h DB 01H -__34558472_winsvc@h DB 01H -__058845F1_mcx@h DB 01H -__7F16006B_ime_cmodes@h DB 01H -__0A3AF599_imm@h DB 01H -__9349FE86_windows@h DB 01H -__639A050C_sn_internal@h DB 01H -__60B45B40_corecrt_stdio_config@h DB 01H -__CFA3741E_corecrt_wstdio@h DB 01H -__B3FE3303_stdio@h DB 01H -__955456CD_stddef@h DB 01H -__99AED4FB_corecrt_search@h DB 01H -__8B813BF6_corecrt_wstdlib@h DB 01H -__3D1CA2C3_limits@h DB 01H -__E8FB0A68_stdlib@h DB 01H -__C363A436_stb_image@h DB 01H -__836A8CFC_stdint@h DB 01H -__C95DC661_khrplatform@h DB 01H -__6C577136_gl@h DB 01H -__EE638A2C_wgl@h DB 01H -__E76F0EB7_glfw3@h DB 01H -__F8AC8404_emmintrin@h DB 01H -__270DEC8D_pmmintrin@h DB 01H -__97D49F0F_tmmintrin@h DB 01H -__BEEF8A8C_smmintrin@h DB 01H -__DB8D0340_nmmintrin@h DB 01H -__0E36F90E_wmmintrin@h DB 01H -__C5A2B409_zmmintrin@h DB 01H -__F2B616C3_immintrin@h DB 01H -__9FB25DBE_assert@h DB 01H -__4E664295_glfw_function@h DB 01H -__64C0EF11_StgSharpNative@h DB 01H -__47E843D2_intrin0@inl@h DB 01H -__130964FF_setjmp@h DB 01H -__4875F786_ammintrin@h DB 01H -__353FD888_intrin@h DB 01H -__5FE1E9E3_isa_availability@h DB 01H -__AA840D82_sn_intrinsic@h DB 01H -__FEE4A61F_FactorialSIMD@c DB 01H -msvcjmc ENDS -_DATA SEGMENT -facIncrement DB 04H - DB 04H - DB 04H - DB 04H - ORG $+12 -facBase DB 01H - DB 02H - DB 03H - DB 04H - ORG $+12 -_DATA ENDS -PUBLIC factorial_simd_sse -PUBLIC __JustMyCode_Default -EXTRN _RTC_CheckStackVars:PROC -EXTRN _RTC_InitBase:PROC -EXTRN _RTC_Shutdown:PROC -EXTRN __CheckForDebuggerJustMyCode:PROC -; COMDAT pdata -pdata SEGMENT -$pdata$factorial_simd_sse DD imagerel $LN9 - DD imagerel $LN9+377 - DD imagerel $unwind$factorial_simd_sse -pdata ENDS -; COMDAT rtc$TMZ -rtc$TMZ SEGMENT -_RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown -rtc$TMZ ENDS -; COMDAT rtc$IMZ -rtc$IMZ SEGMENT -_RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase -rtc$IMZ ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$factorial_simd_sse DD 025052a01H - DD 010d2312H - DD 07006003dH - DD 05005H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -factorial_simd_sse$rtcName$0 DB 062H - DB 061H - DB 073H - DB 065H - DB 052H - DB 065H - DB 073H - DB 075H - DB 06cH - DB 074H - DB 00H - ORG $+5 -factorial_simd_sse$rtcVarDesc DD 030H - DD 010H - DQ FLAT:factorial_simd_sse$rtcName$0 - ORG $+48 -factorial_simd_sse$rtcFrameData DD 01H - DD 00H - DQ FLAT:factorial_simd_sse$rtcVarDesc -CONST ENDS -; Function compile flags: /Odt -; COMDAT __JustMyCode_Default -_TEXT SEGMENT -__JustMyCode_Default PROC ; COMDAT - 00000 c2 00 00 ret 0 -__JustMyCode_Default ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\FactorialSIMD.c -; COMDAT factorial_simd_sse -_TEXT SEGMENT -baseResult$ = 16 -facBaseLocal$ = 64 -cycle$ = 100 -rest$ = 132 -i$4 = 168 -result$ = 200 -i$5 = 232 -n$ = 480 -factorial_simd_sse PROC ; COMDAT - -; 8 : { - -$LN9: - 00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 00004 55 push rbp - 00005 57 push rdi - 00006 48 81 ec e8 01 - 00 00 sub rsp, 488 ; 000001e8H - 0000d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00012 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 00017 b9 42 00 00 00 mov ecx, 66 ; 00000042H - 0001c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00021 f3 ab rep stosd - 00023 8b 8c 24 08 02 - 00 00 mov ecx, DWORD PTR [rsp+520] - 0002a 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__FEE4A61F_FactorialSIMD@c - 00031 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00036 90 npad 1 - -; 9 : __m128i baseResult = facBase; - - 00037 66 0f 6f 05 00 - 00 00 00 movdqa xmm0, XMMWORD PTR facBase - 0003f 66 0f 7f 45 10 movdqa XMMWORD PTR baseResult$[rbp], xmm0 - -; 10 : __m128i facBaseLocal = facBase; - - 00044 66 0f 6f 05 00 - 00 00 00 movdqa xmm0, XMMWORD PTR facBase - 0004c 66 0f 7f 45 40 movdqa XMMWORD PTR facBaseLocal$[rbp], xmm0 - -; 11 : const int cycle = (n - 3) >> 2; - - 00051 8b 85 e0 01 00 - 00 mov eax, DWORD PTR n$[rbp] - 00057 83 e8 03 sub eax, 3 - 0005a c1 f8 02 sar eax, 2 - 0005d 89 45 64 mov DWORD PTR cycle$[rbp], eax - -; 12 : const uint32_t rest = (cycle << 2) + 1; - - 00060 8b 45 64 mov eax, DWORD PTR cycle$[rbp] - 00063 8d 04 85 01 00 - 00 00 lea eax, DWORD PTR [rax*4+1] - 0006a 89 85 84 00 00 - 00 mov DWORD PTR rest$[rbp], eax - -; 13 : for (size_t i = 0; i < cycle; i++) { - - 00070 48 c7 85 a8 00 - 00 00 00 00 00 - 00 mov QWORD PTR i$4[rbp], 0 - 0007b eb 11 jmp SHORT $LN4@factorial_ -$LN2@factorial_: - 0007d 48 8b 85 a8 00 - 00 00 mov rax, QWORD PTR i$4[rbp] - 00084 48 ff c0 inc rax - 00087 48 89 85 a8 00 - 00 00 mov QWORD PTR i$4[rbp], rax -$LN4@factorial_: - 0008e 48 63 45 64 movsxd rax, DWORD PTR cycle$[rbp] - 00092 48 39 85 a8 00 - 00 00 cmp QWORD PTR i$4[rbp], rax - 00099 73 24 jae SHORT $LN3@factorial_ - -; 14 : facBaseLocal = _mm_add_epi32(facBaseLocal, facIncrement); - - 0009b 66 0f 6f 45 40 movdqa xmm0, XMMWORD PTR facBaseLocal$[rbp] - 000a0 66 0f fe 05 00 - 00 00 00 paddd xmm0, XMMWORD PTR facIncrement - 000a8 66 0f 7f 45 40 movdqa XMMWORD PTR facBaseLocal$[rbp], xmm0 - -; 15 : baseResult = _mm_mullo_epi32(baseResult, facBaseLocal); - - 000ad 66 0f 6f 45 10 movdqa xmm0, XMMWORD PTR baseResult$[rbp] - 000b2 66 0f 38 40 45 - 40 pmulld xmm0, XMMWORD PTR facBaseLocal$[rbp] - 000b8 66 0f 7f 45 10 movdqa XMMWORD PTR baseResult$[rbp], xmm0 - -; 16 : } - - 000bd eb be jmp SHORT $LN2@factorial_ -$LN3@factorial_: - -; 17 : uint64_t result = (uint64_t)baseResult.m128i_i32[0] * (uint64_t)baseResult.m128i_i32[1] * - - 000bf b8 04 00 00 00 mov eax, 4 - 000c4 48 6b c0 00 imul rax, rax, 0 - 000c8 48 63 44 05 10 movsxd rax, DWORD PTR baseResult$[rbp+rax] - 000cd b9 04 00 00 00 mov ecx, 4 - 000d2 48 6b c9 01 imul rcx, rcx, 1 - 000d6 48 63 4c 0d 10 movsxd rcx, DWORD PTR baseResult$[rbp+rcx] - 000db 48 0f af c1 imul rax, rcx - 000df b9 04 00 00 00 mov ecx, 4 - 000e4 48 6b c9 02 imul rcx, rcx, 2 - 000e8 48 63 4c 0d 10 movsxd rcx, DWORD PTR baseResult$[rbp+rcx] - 000ed 48 0f af c1 imul rax, rcx - 000f1 b9 04 00 00 00 mov ecx, 4 - 000f6 48 6b c9 03 imul rcx, rcx, 3 - 000fa 48 63 4c 0d 10 movsxd rcx, DWORD PTR baseResult$[rbp+rcx] - 000ff 48 0f af c1 imul rax, rcx - 00103 48 89 85 c8 00 - 00 00 mov QWORD PTR result$[rbp], rax - -; 18 : (uint64_t)baseResult.m128i_i32[2] * (uint64_t)baseResult.m128i_i32[3]; -; 19 : for (uint64_t i = rest; i < n; i++) { - - 0010a 8b 85 84 00 00 - 00 mov eax, DWORD PTR rest$[rbp] - 00110 48 89 85 e8 00 - 00 00 mov QWORD PTR i$5[rbp], rax - 00117 eb 11 jmp SHORT $LN7@factorial_ -$LN5@factorial_: - 00119 48 8b 85 e8 00 - 00 00 mov rax, QWORD PTR i$5[rbp] - 00120 48 ff c0 inc rax - 00123 48 89 85 e8 00 - 00 00 mov QWORD PTR i$5[rbp], rax -$LN7@factorial_: - 0012a 48 63 85 e0 01 - 00 00 movsxd rax, DWORD PTR n$[rbp] - 00131 48 39 85 e8 00 - 00 00 cmp QWORD PTR i$5[rbp], rax - 00138 73 18 jae SHORT $LN6@factorial_ - -; 20 : result *= i ; - - 0013a 48 8b 85 c8 00 - 00 00 mov rax, QWORD PTR result$[rbp] - 00141 48 0f af 85 e8 - 00 00 00 imul rax, QWORD PTR i$5[rbp] - 00149 48 89 85 c8 00 - 00 00 mov QWORD PTR result$[rbp], rax - -; 21 : } - - 00150 eb c7 jmp SHORT $LN5@factorial_ -$LN6@factorial_: - -; 22 : return result; - - 00152 48 8b 85 c8 00 - 00 00 mov rax, QWORD PTR result$[rbp] - -; 23 : } - - 00159 48 8b f8 mov rdi, rax - 0015c 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 00160 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:factorial_simd_sse$rtcFrameData - 00167 e8 00 00 00 00 call _RTC_CheckStackVars - 0016c 48 8b c7 mov rax, rdi - 0016f 48 8d a5 c8 01 - 00 00 lea rsp, QWORD PTR [rbp+456] - 00176 5f pop rdi - 00177 5d pop rbp - 00178 c3 ret 0 -factorial_simd_sse ENDP -_TEXT ENDS -END diff --git a/StgSharp.Native/x64/Debug/FactorialSIMD.obj b/StgSharp.Native/x64/Debug/FactorialSIMD.obj deleted file mode 100644 index f7b163e0..00000000 Binary files a/StgSharp.Native/x64/Debug/FactorialSIMD.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/FactorialSIMD.sbr b/StgSharp.Native/x64/Debug/FactorialSIMD.sbr deleted file mode 100644 index 5b4d938a..00000000 Binary files a/StgSharp.Native/x64/Debug/FactorialSIMD.sbr and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/StgSharp.C.Build.CppClean.log b/StgSharp.Native/x64/Debug/StgSharp.C.Build.CppClean.log deleted file mode 100644 index e1f0e60f..00000000 --- a/StgSharp.Native/x64/Debug/StgSharp.C.Build.CppClean.log +++ /dev/null @@ -1,55 +0,0 @@ -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\build\stgsharp.c.bsc -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\intrinsic.sbr -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\intrinsic.obj -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\intrinsic.cod -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\hash.sbr -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\hash.obj -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\hash.cod -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat3.sbr -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat3.obj -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat3.cod -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat2.sbr -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat2.obj -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat2.cod -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stb_image.sbr -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stb_image.obj -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stb_image.cod -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\factorialsimd.sbr -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\factorialsimd.obj -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\factorialsimd.cod -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\dllmain.sbr -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\dllmain.obj -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\dllmain.cod -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\string.sbr -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\string.obj -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\string.cod -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat4.sbr -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat4.obj -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\mat4.cod -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vector_dot.sbr -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vector_dot.obj -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vector_dot.cod -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vector.sbr -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vector.obj -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vector.cod -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharpc.sbr -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharpc.obj -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharpc.cod -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vc143.pdb -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\vc143.idb -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\build\stgsharp.c.dll -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\build\stgsharp.c.pdb -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\build\stgsharp.c.lib -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\build\stgsharp.c.exp -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.ilk -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\bscmake.command.1.tlog -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\bscmake.read.1.tlog -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\bscmake.write.1.tlog -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\cl.command.1.tlog -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\cl.items.tlog -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\cl.read.1.tlog -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\cl.write.1.tlog -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\link.command.1.tlog -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\link.read.1.tlog -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\link.secondary.1.tlog -d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\内核源代码\stgsharp.c\x64\debug\stgsharp.c.tlog\link.write.1.tlog diff --git a/StgSharp.Native/x64/Debug/StgSharp.C.dll.recipe b/StgSharp.Native/x64/Debug/StgSharp.C.dll.recipe deleted file mode 100644 index d8a66a51..00000000 --- a/StgSharp.Native/x64/Debug/StgSharp.C.dll.recipe +++ /dev/null @@ -1,11 +0,0 @@ - - - - - D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\build\StgSharp.C.dll - - - - - - \ No newline at end of file diff --git a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/CL.command.1.tlog b/StgSharp.Native/x64/Debug/StgSharp.C.tlog/CL.command.1.tlog deleted file mode 100644 index 983b7a13..00000000 Binary files a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/CL.command.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/CL.read.1.tlog b/StgSharp.Native/x64/Debug/StgSharp.C.tlog/CL.read.1.tlog deleted file mode 100644 index 37590e3c..00000000 Binary files a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/CL.read.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/CL.write.1.tlog b/StgSharp.Native/x64/Debug/StgSharp.C.tlog/CL.write.1.tlog deleted file mode 100644 index e97fdf1d..00000000 Binary files a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/CL.write.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/Cl.items.tlog b/StgSharp.Native/x64/Debug/StgSharp.C.tlog/Cl.items.tlog deleted file mode 100644 index fb1836a5..00000000 --- a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/Cl.items.tlog +++ /dev/null @@ -1,12 +0,0 @@ -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\dllmain.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Debug\dllmain.obj -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\FactorialSIMD.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Debug\FactorialSIMD.obj -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\intrinsic.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Debug\intrinsic.obj -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Debug\mat2.obj -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Debug\mat3.obj -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Debug\mat4.obj -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\stb_image.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Debug\stb_image.obj -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\StgSharpC.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Debug\StgSharpC.obj -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\hash.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Debug\hash.obj -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\string.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Debug\string.obj -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Debug\vector.obj -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector_dot.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Debug\vector_dot.obj diff --git a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/StgSharp.C.lastbuildstate b/StgSharp.Native/x64/Debug/StgSharp.C.tlog/StgSharp.C.lastbuildstate deleted file mode 100644 index 174a20c9..00000000 --- a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/StgSharp.C.lastbuildstate +++ /dev/null @@ -1,2 +0,0 @@ -PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.41.34120:TargetPlatformVersion=10.0.22621.0: -Debug|x64|D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\| diff --git a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/bscmake.command.1.tlog b/StgSharp.Native/x64/Debug/StgSharp.C.tlog/bscmake.command.1.tlog deleted file mode 100644 index a8ce87e4..00000000 Binary files a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/bscmake.command.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/bscmake.read.1.tlog b/StgSharp.Native/x64/Debug/StgSharp.C.tlog/bscmake.read.1.tlog deleted file mode 100644 index 6b6d7510..00000000 Binary files a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/bscmake.read.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/bscmake.write.1.tlog b/StgSharp.Native/x64/Debug/StgSharp.C.tlog/bscmake.write.1.tlog deleted file mode 100644 index e2456207..00000000 Binary files a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/bscmake.write.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/link.command.1.tlog b/StgSharp.Native/x64/Debug/StgSharp.C.tlog/link.command.1.tlog deleted file mode 100644 index 577cfbb9..00000000 Binary files a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/link.command.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/link.read.1.tlog b/StgSharp.Native/x64/Debug/StgSharp.C.tlog/link.read.1.tlog deleted file mode 100644 index 835ce7e8..00000000 Binary files a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/link.read.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/link.secondary.1.tlog b/StgSharp.Native/x64/Debug/StgSharp.C.tlog/link.secondary.1.tlog deleted file mode 100644 index c749faeb..00000000 --- a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/link.secondary.1.tlog +++ /dev/null @@ -1,4 +0,0 @@ -^D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\GLFW3.LIB|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\GLFW3DLL.LIB|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\GLFW3_MT.LIB|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\DEBUG\DLLMAIN.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\DEBUG\FACTORIALSIMD.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\DEBUG\HASH.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\DEBUG\INTRINSIC.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\DEBUG\MAT2.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\DEBUG\MAT3.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\DEBUG\MAT4.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\DEBUG\STB_IMAGE.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\DEBUG\STGSHARPC.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\DEBUG\STRING.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\DEBUG\VECTOR.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\DEBUG\VECTOR_DOT.OBJ -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\build\StgSharp.C.lib -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\build\StgSharp.C.EXP -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Debug\StgSharp.C.ilk diff --git a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/link.write.1.tlog b/StgSharp.Native/x64/Debug/StgSharp.C.tlog/link.write.1.tlog deleted file mode 100644 index de20377f..00000000 Binary files a/StgSharp.Native/x64/Debug/StgSharp.C.tlog/link.write.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/StgSharp.Native.Build.CppClean.log b/StgSharp.Native/x64/Debug/StgSharp.Native.Build.CppClean.log deleted file mode 100644 index 731714cc..00000000 --- a/StgSharp.Native/x64/Debug/StgSharp.Native.Build.CppClean.log +++ /dev/null @@ -1,58 +0,0 @@ -d:\platform-dev\build\stgsharp.native.bsc -d:\platform-dev\stgsharp.native\x64\debug\vector.sbr -d:\platform-dev\stgsharp.native\x64\debug\vector.obj -d:\platform-dev\stgsharp.native\x64\debug\vector.cod -d:\platform-dev\stgsharp.native\x64\debug\stgsharp_native.sbr -d:\platform-dev\stgsharp.native\x64\debug\stgsharp_native.obj -d:\platform-dev\stgsharp.native\x64\debug\stgsharp_native.cod -d:\platform-dev\stgsharp.native\x64\debug\factorialsimd.sbr -d:\platform-dev\stgsharp.native\x64\debug\factorialsimd.obj -d:\platform-dev\stgsharp.native\x64\debug\factorialsimd.cod -d:\platform-dev\stgsharp.native\x64\debug\stb_image.sbr -d:\platform-dev\stgsharp.native\x64\debug\stb_image.obj -d:\platform-dev\stgsharp.native\x64\debug\stb_image.cod -d:\platform-dev\stgsharp.native\x64\debug\string.sbr -d:\platform-dev\stgsharp.native\x64\debug\string.obj -d:\platform-dev\stgsharp.native\x64\debug\string.cod -d:\platform-dev\stgsharp.native\x64\debug\hash.sbr -d:\platform-dev\stgsharp.native\x64\debug\hash.obj -d:\platform-dev\stgsharp.native\x64\debug\hash.cod -d:\platform-dev\stgsharp.native\x64\debug\mat4.sbr -d:\platform-dev\stgsharp.native\x64\debug\mat4.obj -d:\platform-dev\stgsharp.native\x64\debug\mat4.cod -d:\platform-dev\stgsharp.native\x64\debug\load_glfw.sbr -d:\platform-dev\stgsharp.native\x64\debug\load_glfw.obj -d:\platform-dev\stgsharp.native\x64\debug\load_glfw.cod -d:\platform-dev\stgsharp.native\x64\debug\vector_dot.sbr -d:\platform-dev\stgsharp.native\x64\debug\vector_dot.obj -d:\platform-dev\stgsharp.native\x64\debug\vector_dot.cod -d:\platform-dev\stgsharp.native\x64\debug\mat3.sbr -d:\platform-dev\stgsharp.native\x64\debug\mat3.obj -d:\platform-dev\stgsharp.native\x64\debug\mat3.cod -d:\platform-dev\stgsharp.native\x64\debug\intrinsic.sbr -d:\platform-dev\stgsharp.native\x64\debug\intrinsic.obj -d:\platform-dev\stgsharp.native\x64\debug\intrinsic.cod -d:\platform-dev\stgsharp.native\x64\debug\dllmain.sbr -d:\platform-dev\stgsharp.native\x64\debug\dllmain.obj -d:\platform-dev\stgsharp.native\x64\debug\dllmain.cod -d:\platform-dev\stgsharp.native\x64\debug\mat2.sbr -d:\platform-dev\stgsharp.native\x64\debug\mat2.obj -d:\platform-dev\stgsharp.native\x64\debug\mat2.cod -d:\platform-dev\stgsharp.native\x64\debug\vc143.pdb -d:\platform-dev\build\stgsharp.native.dll -d:\platform-dev\build\stgsharp.native.pdb -d:\platform-dev\build\stgsharp.native.lib -d:\platform-dev\build\stgsharp.native.exp -d:\platform-dev\stgsharp.native\x64\debug\stgsharp.native.ilk -d:\platform-dev\stgsharp.native\x64\debug\vc143.idb -d:\platform-dev\stgsharp.native\x64\debug\stgsharp.native.tlog\bscmake.command.1.tlog -d:\platform-dev\stgsharp.native\x64\debug\stgsharp.native.tlog\bscmake.read.1.tlog -d:\platform-dev\stgsharp.native\x64\debug\stgsharp.native.tlog\bscmake.write.1.tlog -d:\platform-dev\stgsharp.native\x64\debug\stgsharp.native.tlog\cl.10912.write.1.tlog -d:\platform-dev\stgsharp.native\x64\debug\stgsharp.native.tlog\cl.command.1.tlog -d:\platform-dev\stgsharp.native\x64\debug\stgsharp.native.tlog\cl.items.tlog -d:\platform-dev\stgsharp.native\x64\debug\stgsharp.native.tlog\cl.read.1.tlog -d:\platform-dev\stgsharp.native\x64\debug\stgsharp.native.tlog\link.command.1.tlog -d:\platform-dev\stgsharp.native\x64\debug\stgsharp.native.tlog\link.read.1.tlog -d:\platform-dev\stgsharp.native\x64\debug\stgsharp.native.tlog\link.secondary.1.tlog -d:\platform-dev\stgsharp.native\x64\debug\stgsharp.native.tlog\link.write.1.tlog diff --git a/StgSharp.Native/x64/Debug/StgSharp.Native.dll.recipe b/StgSharp.Native/x64/Debug/StgSharp.Native.dll.recipe deleted file mode 100644 index dfe78cb6..00000000 --- a/StgSharp.Native/x64/Debug/StgSharp.Native.dll.recipe +++ /dev/null @@ -1,11 +0,0 @@ - - - - - D:\platform-dev\build\StgSharp.Native.dll - - - - - - \ No newline at end of file diff --git a/StgSharp.Native/x64/Debug/StgSharp.Native.ilk b/StgSharp.Native/x64/Debug/StgSharp.Native.ilk deleted file mode 100644 index 1e37d4f4..00000000 Binary files a/StgSharp.Native/x64/Debug/StgSharp.Native.ilk and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/StgSharp.Native.log b/StgSharp.Native/x64/Debug/StgSharp.Native.log deleted file mode 100644 index 08d7b862..00000000 --- a/StgSharp.Native/x64/Debug/StgSharp.Native.log +++ /dev/null @@ -1,213 +0,0 @@ -C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(524,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。 -C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(538,5): warning MSB8028: 中间目录(x64\Debug\)包含从另一个项目(StgSharp.C.vcxproj)共享的文件。 这会导致错误的清除和重新生成行为。 - dllmain.c - FactorialSIMD.c - hash.c - intrinsic.c - load_glfw.c - mat2.c - mat3.c - mat4.c - stb_image.c - stgsharp_native.c - string.c - vector.c - vector_dot.c -D:\platform-dev\StgSharp.Native\sn-src\stb_image.c(882,25): warning C4047: “=”:“stbi_uc”与“char [33]”的间接级别不同 -D:\platform-dev\StgSharp.Native\glfw\glfw3.h(271,10): warning C4005: “GLFWAPI”: 宏重定义 - (编译源文件“sn-src/intrinsic.c”) - D:\platform-dev\StgSharp.Native\sn-head\StgSharpNative.h(15,9): - 参见“GLFWAPI”的前一个定义 - -D:\platform-dev\StgSharp.Native\glfw\glfw3.h(271,10): warning C4005: “GLFWAPI”: 宏重定义 - (编译源文件“sn-src/dllmain.c”) - D:\platform-dev\StgSharp.Native\sn-head\StgSharpNative.h(15,9): - 参见“GLFWAPI”的前一个定义 - -D:\platform-dev\StgSharp.Native\glfw\glfw3.h(271,10): warning C4005: “GLFWAPI”: 宏重定义 - (编译源文件“sn-src/stgsharp_native.c”) - D:\platform-dev\StgSharp.Native\sn-head\StgSharpNative.h(15,9): - 参见“GLFWAPI”的前一个定义 - -D:\platform-dev\StgSharp.Native\glfw\glfw3.h(271,10): warning C4005: “GLFWAPI”: 宏重定义 - (编译源文件“sn-src/vector_dot.c”) - D:\platform-dev\StgSharp.Native\sn-head\StgSharpNative.h(15,9): - 参见“GLFWAPI”的前一个定义 - -D:\platform-dev\StgSharp.Native\glfw\glfw3.h(271,10): warning C4005: “GLFWAPI”: 宏重定义 - (编译源文件“sn-src/load_glfw.c”) - D:\platform-dev\StgSharp.Native\sn-head\StgSharpNative.h(15,9): - 参见“GLFWAPI”的前一个定义 - -D:\platform-dev\StgSharp.Native\glfw\glfw3.h(271,10): warning C4005: “GLFWAPI”: 宏重定义 - (编译源文件“sn-src/string.c”) - D:\platform-dev\StgSharp.Native\sn-head\StgSharpNative.h(15,9): - 参见“GLFWAPI”的前一个定义 - -D:\platform-dev\StgSharp.Native\glfw\glfw3.h(271,10): warning C4005: “GLFWAPI”: 宏重定义 - (编译源文件“sn-src/mat2.c”) - D:\platform-dev\StgSharp.Native\sn-head\StgSharpNative.h(15,9): - 参见“GLFWAPI”的前一个定义 - -D:\platform-dev\StgSharp.Native\glfw\glfw3.h(271,10): warning C4005: “GLFWAPI”: 宏重定义 - (编译源文件“sn-src/hash.c”) - D:\platform-dev\StgSharp.Native\sn-head\StgSharpNative.h(15,9): - 参见“GLFWAPI”的前一个定义 - -D:\platform-dev\StgSharp.Native\glfw\glfw3.h(271,10): warning C4005: “GLFWAPI”: 宏重定义 - (编译源文件“sn-src/mat3.c”) - D:\platform-dev\StgSharp.Native\sn-head\StgSharpNative.h(15,9): - 参见“GLFWAPI”的前一个定义 - -D:\platform-dev\StgSharp.Native\glfw\glfw3.h(271,10): warning C4005: “GLFWAPI”: 宏重定义 - (编译源文件“sn-src/mat4.c”) - D:\platform-dev\StgSharp.Native\sn-head\StgSharpNative.h(15,9): - 参见“GLFWAPI”的前一个定义 - -D:\platform-dev\StgSharp.Native\glfw\glfw3.h(271,10): warning C4005: “GLFWAPI”: 宏重定义 - (编译源文件“sn-src/FactorialSIMD.c”) - D:\platform-dev\StgSharp.Native\sn-head\StgSharpNative.h(15,9): - 参见“GLFWAPI”的前一个定义 - -D:\platform-dev\StgSharp.Native\glfw\glfw3.h(271,10): warning C4005: “GLFWAPI”: 宏重定义 - (编译源文件“sn-src/vector.c”) - D:\platform-dev\StgSharp.Native\sn-head\StgSharpNative.h(15,9): - 参见“GLFWAPI”的前一个定义 - -D:\platform-dev\StgSharp.Native\sn-src\stgsharp_native.c(14,30): warning C4244: “函数”: 从“uint64_t”转换到“GLuint”,可能丢失数据 -D:\platform-dev\StgSharp.Native\sn-src\stgsharp_native.c(16,43): warning C4244: “函数”: 从“uint64_t”转换到“GLuint”,可能丢失数据 -D:\platform-dev\StgSharp.Native\sn-src\string.c(21,54): warning C4267: “return”: 从“size_t”转换到“int”,可能丢失数据 -D:\platform-dev\StgSharp.Native\sn-src\vector_dot.c(83,23): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\string.c(36,54): warning C4267: “return”: 从“size_t”转换到“int”,可能丢失数据 -D:\platform-dev\StgSharp.Native\sn-src\vector_dot.c(90,16): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\vector_dot.c(97,33): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\vector_dot.c(97,48): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\vector_dot.c(114,33): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\vector_dot.c(114,48): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\vector_dot.c(127,23): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\vector_dot.c(136,16): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\vector_dot.c(144,33): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\vector_dot.c(144,48): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(5,49): warning C4028: 形参 1 与声明不一致 -D:\platform-dev\StgSharp.Native\sn-src\mat2.c(4,50): warning C4028: 形参 1 与声明不一致 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(7,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat2.c(6,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat2.c(6,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(7,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(9,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat2.c(8,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat2.c(8,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(15,49): warning C4028: 形参 1 与声明不一致 -D:\platform-dev\StgSharp.Native\sn-src\mat2.c(16,50): warning C4028: 形参 1 与声明不一致 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(17,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(17,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat2.c(18,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(19,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat2.c(18,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(19,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat2.c(20,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(21,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat2.c(20,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(22,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat2.c(31,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(29,49): warning C4028: 形参 1 与声明不一致 -D:\platform-dev\StgSharp.Native\sn-src\mat2.c(31,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(31,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat2.c(32,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\hash.c(30,43): warning C4244: “函数”: 从“uint64_t”转换到“unsigned char”,可能丢失数据 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(31,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat2.c(32,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\hash.c(31,50): warning C4244: “函数”: 从“uint64_t”转换到“unsigned char”,可能丢失数据 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(33,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(33,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\hash.c(7,15): warning C4090: “初始化”: 不同的“const”限定符 -D:\platform-dev\StgSharp.Native\sn-src\mat2.c(40,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(35,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\hash.c(7,34): warning C4090: “初始化”: 不同的“const”限定符 -D:\platform-dev\StgSharp.Native\sn-src\mat2.c(40,64): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(36,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat2.c(46,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat2.c(46,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat2.c(47,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(80,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat2.c(47,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(80,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat2.c(55,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(81,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(9,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat2.c(55,64): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(81,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(9,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(82,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(11,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(82,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(11,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(91,38): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(20,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(91,60): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(20,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(92,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(22,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(22,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(92,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(24,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(24,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(106,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(26,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(26,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(106,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(107,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(36,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(107,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(36,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(108,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(38,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(38,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(108,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(40,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(117,38): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(117,60): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(40,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(118,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(42,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat3.c(118,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(42,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(51,54): warning C4028: 形参 1 与声明不一致 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(51,84): warning C4028: 形参 2 与声明不一致 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(53,22): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(54,22): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(55,22): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(56,22): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(59,28): warning C4013: “det_mat3_internal”未定义;假设外部返回 int -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(59,28): warning C4244: “函数”: 从“int”转换到“float”,可能丢失数据 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(59,62): warning C4244: “函数”: 从“int”转换到“float”,可能丢失数据 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(60,28): warning C4244: “函数”: 从“int”转换到“float”,可能丢失数据 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(60,62): warning C4244: “函数”: 从“int”转换到“float”,可能丢失数据 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(61,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(69,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(69,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(70,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(70,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(71,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(71,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(72,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(72,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(77,38): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(77,63): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(78,38): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(78,63): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(88,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(88,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(89,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(89,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(90,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(90,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(91,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(91,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(96,38): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(96,63): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(97,38): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\platform-dev\StgSharp.Native\sn-src\mat4.c(97,63): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 - 正在创建库 D:\platform-dev\build\StgSharp.Native.lib 和对象 D:\platform-dev\build\StgSharp.Native.exp -LINK : warning LNK4098: 默认库“LIBCMT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library - StgSharp.Native.vcxproj -> D:\platform-dev\build\StgSharp.Native.dll diff --git a/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/CL.command.1.tlog b/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/CL.command.1.tlog deleted file mode 100644 index 0abd2303..00000000 Binary files a/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/CL.command.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/CL.read.1.tlog b/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/CL.read.1.tlog deleted file mode 100644 index bfbf784a..00000000 Binary files a/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/CL.read.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/Cl.items.tlog b/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/Cl.items.tlog deleted file mode 100644 index 5351a383..00000000 --- a/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/Cl.items.tlog +++ /dev/null @@ -1,13 +0,0 @@ -D:\platform-dev\StgSharp.Native\sn-src\dllmain.c;D:\platform-dev\StgSharp.Native\x64\Debug\dllmain.obj -D:\platform-dev\StgSharp.Native\sn-src\FactorialSIMD.c;D:\platform-dev\StgSharp.Native\x64\Debug\FactorialSIMD.obj -D:\platform-dev\StgSharp.Native\sn-src\hash.c;D:\platform-dev\StgSharp.Native\x64\Debug\hash.obj -D:\platform-dev\StgSharp.Native\sn-src\intrinsic.c;D:\platform-dev\StgSharp.Native\x64\Debug\intrinsic.obj -D:\platform-dev\StgSharp.Native\sn-src\load_glfw.c;D:\platform-dev\StgSharp.Native\x64\Debug\load_glfw.obj -D:\platform-dev\StgSharp.Native\sn-src\mat2.c;D:\platform-dev\StgSharp.Native\x64\Debug\mat2.obj -D:\platform-dev\StgSharp.Native\sn-src\mat3.c;D:\platform-dev\StgSharp.Native\x64\Debug\mat3.obj -D:\platform-dev\StgSharp.Native\sn-src\mat4.c;D:\platform-dev\StgSharp.Native\x64\Debug\mat4.obj -D:\platform-dev\StgSharp.Native\sn-src\stb_image.c;D:\platform-dev\StgSharp.Native\x64\Debug\stb_image.obj -D:\platform-dev\StgSharp.Native\sn-src\stgsharp_native.c;D:\platform-dev\StgSharp.Native\x64\Debug\stgsharp_native.obj -D:\platform-dev\StgSharp.Native\sn-src\string.c;D:\platform-dev\StgSharp.Native\x64\Debug\string.obj -D:\platform-dev\StgSharp.Native\sn-src\vector.c;D:\platform-dev\StgSharp.Native\x64\Debug\vector.obj -D:\platform-dev\StgSharp.Native\sn-src\vector_dot.c;D:\platform-dev\StgSharp.Native\x64\Debug\vector_dot.obj diff --git a/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/StgSharp.Native.lastbuildstate b/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/StgSharp.Native.lastbuildstate deleted file mode 100644 index 71d59beb..00000000 --- a/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/StgSharp.Native.lastbuildstate +++ /dev/null @@ -1,2 +0,0 @@ -PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.44.35207:TargetPlatformVersion=10.0.26100.0: -Debug|x64|D:\platform-dev\| diff --git a/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/bscmake.command.1.tlog b/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/bscmake.command.1.tlog deleted file mode 100644 index d42c6e48..00000000 Binary files a/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/bscmake.command.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/bscmake.read.1.tlog b/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/bscmake.read.1.tlog deleted file mode 100644 index ab81c854..00000000 Binary files a/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/bscmake.read.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/bscmake.write.1.tlog b/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/bscmake.write.1.tlog deleted file mode 100644 index fba12fc3..00000000 Binary files a/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/bscmake.write.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/link.command.1.tlog b/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/link.command.1.tlog deleted file mode 100644 index 38b7258f..00000000 Binary files a/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/link.command.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/link.read.1.tlog b/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/link.read.1.tlog deleted file mode 100644 index 5ba5b451..00000000 Binary files a/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/link.read.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/link.secondary.1.tlog b/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/link.secondary.1.tlog deleted file mode 100644 index 12b37ad9..00000000 --- a/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/link.secondary.1.tlog +++ /dev/null @@ -1,4 +0,0 @@ -^D:\PLATFORM-DEV\STGSHARP.NATIVE\GLFW\GLFW3.LIB|D:\PLATFORM-DEV\STGSHARP.NATIVE\X64\DEBUG\DLLMAIN.OBJ|D:\PLATFORM-DEV\STGSHARP.NATIVE\X64\DEBUG\FACTORIALSIMD.OBJ|D:\PLATFORM-DEV\STGSHARP.NATIVE\X64\DEBUG\HASH.OBJ|D:\PLATFORM-DEV\STGSHARP.NATIVE\X64\DEBUG\INTRINSIC.OBJ|D:\PLATFORM-DEV\STGSHARP.NATIVE\X64\DEBUG\LOAD_GLFW.OBJ|D:\PLATFORM-DEV\STGSHARP.NATIVE\X64\DEBUG\MAT2.OBJ|D:\PLATFORM-DEV\STGSHARP.NATIVE\X64\DEBUG\MAT3.OBJ|D:\PLATFORM-DEV\STGSHARP.NATIVE\X64\DEBUG\MAT4.OBJ|D:\PLATFORM-DEV\STGSHARP.NATIVE\X64\DEBUG\STB_IMAGE.OBJ|D:\PLATFORM-DEV\STGSHARP.NATIVE\X64\DEBUG\STGSHARP_NATIVE.OBJ|D:\PLATFORM-DEV\STGSHARP.NATIVE\X64\DEBUG\STRING.OBJ|D:\PLATFORM-DEV\STGSHARP.NATIVE\X64\DEBUG\VECTOR.OBJ|D:\PLATFORM-DEV\STGSHARP.NATIVE\X64\DEBUG\VECTOR_DOT.OBJ -D:\platform-dev\build\StgSharp.Native.lib -D:\platform-dev\build\StgSharp.Native.EXP -D:\platform-dev\StgSharp.Native\x64\Debug\StgSharp.Native.ilk diff --git a/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/link.write.1.tlog b/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/link.write.1.tlog deleted file mode 100644 index 2c5b0c5e..00000000 Binary files a/StgSharp.Native/x64/Debug/StgSharp.Native.tlog/link.write.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/StgSharp.Native.vcxproj.FileListAbsolute.txt b/StgSharp.Native/x64/Debug/StgSharp.Native.vcxproj.FileListAbsolute.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/StgSharp.Native/x64/Debug/StgSharpC.log b/StgSharp.Native/x64/Debug/StgSharpC.log deleted file mode 100644 index 4c899481..00000000 --- a/StgSharp.Native/x64/Debug/StgSharpC.log +++ /dev/null @@ -1,142 +0,0 @@ -C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(517,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。 - FactorialSIMD.c - hash.c - intrinsic.c - mat2.c - mat3.c - mat4.c - string.c - vector_dot.c -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(4,50): warning C4028: 形参 1 与声明不同 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(9,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\string.c(21,54): warning C4267: “return”: 从“size_t”转换到“int”,可能丢失数据 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\hash.c(30,43): warning C4244: “函数”: 从“uint64_t”转换到“unsigned char”,可能丢失数据 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(6,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(9,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(6,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\hash.c(31,50): warning C4244: “函数”: 从“uint64_t”转换到“unsigned char”,可能丢失数据 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\string.c(36,54): warning C4267: “return”: 从“size_t”转换到“int”,可能丢失数据 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(8,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(11,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(8,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\hash.c(7,15): warning C4090: “初始化”: 不同的“const”限定符 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(5,49): warning C4028: 形参 1 与声明不同 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(11,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\hash.c(7,34): warning C4090: “初始化”: 不同的“const”限定符 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(20,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(7,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(20,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(16,50): warning C4028: 形参 1 与声明不同 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(7,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(22,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(18,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(9,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector_dot.c(83,23): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(22,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(24,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(18,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector_dot.c(90,16): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(24,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(26,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(26,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(20,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(15,49): warning C4028: 形参 1 与声明不同 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector_dot.c(97,33): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(36,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(20,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(36,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector_dot.c(97,48): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(38,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(17,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(38,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(40,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(31,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(40,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector_dot.c(114,33): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(17,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(31,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(42,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector_dot.c(114,48): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(42,62): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(19,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(32,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(19,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(51,54): warning C4028: 形参 1 与声明不同 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(21,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(32,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(22,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(51,84): warning C4028: 形参 2 与声明不同 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector_dot.c(127,23): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(40,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(53,22): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(29,49): warning C4028: 形参 1 与声明不同 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(40,64): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(54,22): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(31,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(55,22): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(31,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector_dot.c(136,16): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(46,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(56,22): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(59,28): warning C4013: “det_mat3_internal”未定义;假设外部返回 int -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(33,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector_dot.c(144,33): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(59,28): warning C4244: “函数”: 从“int”转换到“float”,可能丢失数据 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(33,62): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(46,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(59,62): warning C4244: “函数”: 从“int”转换到“float”,可能丢失数据 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector_dot.c(144,48): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(60,28): warning C4244: “函数”: 从“int”转换到“float”,可能丢失数据 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(35,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(47,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(60,62): warning C4244: “函数”: 从“int”转换到“float”,可能丢失数据 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(61,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(47,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(69,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(69,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(36,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(70,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(70,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(55,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(71,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c(55,64): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(71,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(80,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(72,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(80,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(72,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(81,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(81,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(77,38): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(77,63): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(78,38): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(78,63): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(82,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(88,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(82,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(88,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(91,38): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(91,60): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(89,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(92,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(89,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(92,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(90,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(90,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(106,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(91,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(106,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(91,61): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(107,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(107,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(96,38): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(96,63): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(97,38): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c(97,63): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(108,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(108,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(117,38): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(117,60): warning C4133: “函数”: 从“__m256 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(118,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c(118,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容 - StgSharpC.vcxproj -> D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\build\StgSharp.C.dll diff --git a/StgSharp.Native/x64/Debug/StgSharpC.vcxproj.FileListAbsolute.txt b/StgSharp.Native/x64/Debug/StgSharpC.vcxproj.FileListAbsolute.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/StgSharp.Native/x64/Debug/dllmain.cod b/StgSharp.Native/x64/Debug/dllmain.cod deleted file mode 100644 index 5f6e5c8f..00000000 --- a/StgSharp.Native/x64/Debug/dllmain.cod +++ /dev/null @@ -1,264 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.44.35215.0 - -include listing.inc - -INCLUDELIB MSVCRTD -INCLUDELIB OLDNAMES - -_DATA SEGMENT -COMM infolog:BYTE:0200H -_DATA ENDS -msvcjmc SEGMENT -__5C8CA4D3_mmintrin@h DB 01H -__8C83BECC_concurrencysal@h DB 01H -__608E3340_sal@h DB 01H -__FB67E29A_vadefs@h DB 01H -__1D1B619C_vcruntime@h DB 01H -__735960E1_corecrt@h DB 01H -__211DB995_corecrt_malloc@h DB 01H -__7CD62D9E_malloc@h DB 01H -__9DCE0DC8_xmmintrin@h DB 01H -__4C2AD0C7_winpackagefamily@h DB 01H -__9DED9ED1_winapifamily@h DB 01H -__12FEDF4E_sdkddkver@h DB 01H -__9BAEE128_excpt@h DB 01H -__B7B53233_stdarg@h DB 01H -__6B04FCB3_specstrings_undef@h DB 01H -__F4027AF7_specstrings_strict@h DB 01H -__B90340D4_sdv_driverspecs@h DB 01H -__BFFF5AD3_driverspecs@h DB 01H -__32847078_specstrings@h DB 01H -__108B2620_corecrt_wctype@h DB 01H -__6CD6613D_ctype@h DB 01H -__30902A1F_kernelspecs@h DB 01H -__376FD5CA_basetsd@h DB 01H -__13DE2371_errno@h DB 01H -__8C6AE390_vcruntime_string@h DB 01H -__8ACB2152_corecrt_memcpy_s@h DB 01H -__EA6C9D17_corecrt_memory@h DB 01H -__0DF2AF52_corecrt_wstring@h DB 01H -__6E889ECC_string@h DB 01H -__9BEDF4DE_guiddef@h DB 01H -__51BFD2FE_pshpack4@h DB 01H -__31652CEA_poppack@h DB 01H -__5532AE4C_pshpack2@h DB 01H -__58A52B9A_pshpack8@h DB 01H -__57741015_pshpack1@h DB 01H -__CDE68C90_apiset@h DB 01H -__0BF06E8D_ktmtypes@h DB 01H -__40C200C0_winnt@h DB 01H -__9336F789_minwindef@h DB 01H -__55136115_windef@h DB 01H -__32205BF0_apisetcconv@h DB 01H -__B48FDEA0_minwinbase@h DB 01H -__3551B028_apiquery2@h DB 01H -__65BE04AA_processenv@h DB 01H -__4767CA46_fileapi@h DB 01H -__282E6C4B_fileapifromapp@h DB 01H -__393AF12C_debugapi@h DB 01H -__EBC502B8_utilapiset@h DB 01H -__1EAD8C69_handleapi@h DB 01H -__D8EF9B29_errhandlingapi@h DB 01H -__97FC1204_fibersapi@h DB 01H -__27448220_namedpipeapi@h DB 01H -__6EA33B2A_profileapi@h DB 01H -__EAC6F673_heapapi@h DB 01H -__D64EEA5A_ioapiset@h DB 01H -__144BD4B6_synchapi@h DB 01H -__03B1C640_interlockedapi@h DB 01H -__DC64CB38_processthreadsapi@h DB 01H -__D719B518_sysinfoapi@h DB 01H -__410385B1_memoryapi@h DB 01H -__C1AD45EF_enclaveapi@h DB 01H -__F4C3AA32_threadpoollegacyapiset@h DB 01H -__AC5A7A9F_threadpoolapiset@h DB 01H -__F5254B21_jobapi@h DB 01H -__BCEA6EE8_jobapi2@h DB 01H -__D18ACE72_wow64apiset@h DB 01H -__669B0D4A_libloaderapi@h DB 01H -__645F7034_securitybaseapi@h DB 01H -__67E58557_namespaceapi@h DB 01H -__599D9D3A_systemtopologyapi@h DB 01H -__2337E373_processtopologyapi@h DB 01H -__02BFF239_securityappcontainer@h DB 01H -__9C196272_realtimeapiset@h DB 01H -__5AB313A4_winerror@h DB 01H -__B7E7187B_timezoneapi@h DB 01H -__6DE9EB6F_winbase@h DB 01H -__56B2AFF2_wingdi@h DB 01H -__BA1161A9_tvout@h DB 01H -__0501A018_winuser@h DB 01H -__EF12FA99_datetimeapi@h DB 01H -__8FA7C3CA_winnls@h DB 01H -__390F0C47_stringapiset@h DB 01H -__28605B0A_wincontypes@h DB 01H -__BFBDE86D_consoleapi@h DB 01H -__C3CAFBF0_consoleapi2@h DB 01H -__C20891C7_consoleapi3@h DB 01H -__717C98B6_wincon@h DB 01H -__2884C177_verrsrc@h DB 01H -__A3FD3A34_winver@h DB 01H -__6F8AD9F1_reason@h DB 01H -__4C90FD6F_winreg@h DB 01H -__68AFEBAD_wnnc@h DB 01H -__5A7AB086_winnetwk@h DB 01H -__2FE8A10C_stralign@h DB 01H -__34558472_winsvc@h DB 01H -__058845F1_mcx@h DB 01H -__7F16006B_ime_cmodes@h DB 01H -__0A3AF599_imm@h DB 01H -__9349FE86_windows@h DB 01H -__639A050C_sn_internal@h DB 01H -__60B45B40_corecrt_stdio_config@h DB 01H -__CFA3741E_corecrt_wstdio@h DB 01H -__B3FE3303_stdio@h DB 01H -__955456CD_stddef@h DB 01H -__99AED4FB_corecrt_search@h DB 01H -__8B813BF6_corecrt_wstdlib@h DB 01H -__3D1CA2C3_limits@h DB 01H -__E8FB0A68_stdlib@h DB 01H -__C363A436_stb_image@h DB 01H -__836A8CFC_stdint@h DB 01H -__C95DC661_khrplatform@h DB 01H -__6C577136_gl@h DB 01H -__EE638A2C_wgl@h DB 01H -__E76F0EB7_glfw3@h DB 01H -__F8AC8404_emmintrin@h DB 01H -__270DEC8D_pmmintrin@h DB 01H -__97D49F0F_tmmintrin@h DB 01H -__BEEF8A8C_smmintrin@h DB 01H -__DB8D0340_nmmintrin@h DB 01H -__0E36F90E_wmmintrin@h DB 01H -__C5A2B409_zmmintrin@h DB 01H -__F2B616C3_immintrin@h DB 01H -__9FB25DBE_assert@h DB 01H -__4E664295_glfw_function@h DB 01H -__64C0EF11_StgSharpNative@h DB 01H -__AE0F26BF_dllmain@c DB 01H -msvcjmc ENDS -PUBLIC DllMain -PUBLIC __JustMyCode_Default -EXTRN _RTC_InitBase:PROC -EXTRN _RTC_Shutdown:PROC -EXTRN __CheckForDebuggerJustMyCode:PROC -; COMDAT pdata -pdata SEGMENT -$pdata$DllMain DD imagerel $LN9 - DD imagerel $LN9+134 - DD imagerel $unwind$DllMain -pdata ENDS -; COMDAT rtc$TMZ -rtc$TMZ SEGMENT -_RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown -rtc$TMZ ENDS -; COMDAT rtc$IMZ -rtc$IMZ SEGMENT -_RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase -rtc$IMZ ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$DllMain DD 025051c01H - DD 0117231cH - DD 07010001fH - DD 0500fH -xdata ENDS -; Function compile flags: /Odt -; COMDAT __JustMyCode_Default -_TEXT SEGMENT -__JustMyCode_Default PROC ; COMDAT - 00000 c2 00 00 ret 0 -__JustMyCode_Default ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\dllmain.c -; COMDAT DllMain -_TEXT SEGMENT -tv64 = 192 -hModule$ = 240 -ul_reason_for_call$ = 248 -lpReserved$ = 256 -DllMain PROC ; COMDAT - -; 13 : { - -$LN9: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00009 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000e 55 push rbp - 0000f 57 push rdi - 00010 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 00017 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__AE0F26BF_dllmain@c - 00023 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00028 90 npad 1 - -; 14 : switch (ul_reason_for_call) - - 00029 8b 85 f8 00 00 - 00 mov eax, DWORD PTR ul_reason_for_call$[rbp] - 0002f 89 85 c0 00 00 - 00 mov DWORD PTR tv64[rbp], eax - 00035 83 bd c0 00 00 - 00 00 cmp DWORD PTR tv64[rbp], 0 - 0003c 74 32 je SHORT $LN7@DllMain - 0003e 83 bd c0 00 00 - 00 01 cmp DWORD PTR tv64[rbp], 1 - 00045 74 14 je SHORT $LN4@DllMain - 00047 83 bd c0 00 00 - 00 02 cmp DWORD PTR tv64[rbp], 2 - 0004e 74 12 je SHORT $LN5@DllMain - 00050 83 bd c0 00 00 - 00 03 cmp DWORD PTR tv64[rbp], 3 - 00057 74 10 je SHORT $LN6@DllMain - 00059 eb 1c jmp SHORT $LN2@DllMain -$LN4@DllMain: - -; 15 : { -; 16 : case DLL_PROCESS_ATTACH: -; 17 : return 1; - - 0005b b8 01 00 00 00 mov eax, 1 - 00060 eb 1a jmp SHORT $LN1@DllMain -$LN5@DllMain: - -; 18 : case DLL_THREAD_ATTACH: -; 19 : return 1; - - 00062 b8 01 00 00 00 mov eax, 1 - 00067 eb 13 jmp SHORT $LN1@DllMain -$LN6@DllMain: - -; 20 : case DLL_THREAD_DETACH: -; 21 : return 1; - - 00069 b8 01 00 00 00 mov eax, 1 - 0006e eb 0c jmp SHORT $LN1@DllMain -$LN7@DllMain: - -; 22 : case DLL_PROCESS_DETACH: -; 23 : return 1; - - 00070 b8 01 00 00 00 mov eax, 1 - 00075 eb 05 jmp SHORT $LN1@DllMain -$LN2@DllMain: - -; 24 : break; -; 25 : } -; 26 : return TRUE; - - 00077 b8 01 00 00 00 mov eax, 1 -$LN1@DllMain: - -; 27 : } - - 0007c 48 8d a5 d8 00 - 00 00 lea rsp, QWORD PTR [rbp+216] - 00083 5f pop rdi - 00084 5d pop rbp - 00085 c3 ret 0 -DllMain ENDP -_TEXT ENDS -END diff --git a/StgSharp.Native/x64/Debug/dllmain.obj b/StgSharp.Native/x64/Debug/dllmain.obj deleted file mode 100644 index 6984c08d..00000000 Binary files a/StgSharp.Native/x64/Debug/dllmain.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/dllmain.sbr b/StgSharp.Native/x64/Debug/dllmain.sbr deleted file mode 100644 index 00bbeece..00000000 Binary files a/StgSharp.Native/x64/Debug/dllmain.sbr and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/hash.cod b/StgSharp.Native/x64/Debug/hash.cod deleted file mode 100644 index ceb5f3fa..00000000 --- a/StgSharp.Native/x64/Debug/hash.cod +++ /dev/null @@ -1,532 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.44.35215.0 - -include listing.inc - -INCLUDELIB MSVCRTD -INCLUDELIB OLDNAMES - -_DATA SEGMENT -COMM infolog:BYTE:0200H -_DATA ENDS -msvcjmc SEGMENT -__5C8CA4D3_mmintrin@h DB 01H -__8C83BECC_concurrencysal@h DB 01H -__608E3340_sal@h DB 01H -__FB67E29A_vadefs@h DB 01H -__1D1B619C_vcruntime@h DB 01H -__735960E1_corecrt@h DB 01H -__211DB995_corecrt_malloc@h DB 01H -__7CD62D9E_malloc@h DB 01H -__9DCE0DC8_xmmintrin@h DB 01H -__4C2AD0C7_winpackagefamily@h DB 01H -__9DED9ED1_winapifamily@h DB 01H -__12FEDF4E_sdkddkver@h DB 01H -__9BAEE128_excpt@h DB 01H -__B7B53233_stdarg@h DB 01H -__6B04FCB3_specstrings_undef@h DB 01H -__F4027AF7_specstrings_strict@h DB 01H -__B90340D4_sdv_driverspecs@h DB 01H -__BFFF5AD3_driverspecs@h DB 01H -__32847078_specstrings@h DB 01H -__108B2620_corecrt_wctype@h DB 01H -__6CD6613D_ctype@h DB 01H -__30902A1F_kernelspecs@h DB 01H -__376FD5CA_basetsd@h DB 01H -__13DE2371_errno@h DB 01H -__8C6AE390_vcruntime_string@h DB 01H -__8ACB2152_corecrt_memcpy_s@h DB 01H -__EA6C9D17_corecrt_memory@h DB 01H -__0DF2AF52_corecrt_wstring@h DB 01H -__6E889ECC_string@h DB 01H -__9BEDF4DE_guiddef@h DB 01H -__51BFD2FE_pshpack4@h DB 01H -__31652CEA_poppack@h DB 01H -__5532AE4C_pshpack2@h DB 01H -__58A52B9A_pshpack8@h DB 01H -__57741015_pshpack1@h DB 01H -__CDE68C90_apiset@h DB 01H -__0BF06E8D_ktmtypes@h DB 01H -__40C200C0_winnt@h DB 01H -__9336F789_minwindef@h DB 01H -__55136115_windef@h DB 01H -__32205BF0_apisetcconv@h DB 01H -__B48FDEA0_minwinbase@h DB 01H -__3551B028_apiquery2@h DB 01H -__65BE04AA_processenv@h DB 01H -__4767CA46_fileapi@h DB 01H -__282E6C4B_fileapifromapp@h DB 01H -__393AF12C_debugapi@h DB 01H -__EBC502B8_utilapiset@h DB 01H -__1EAD8C69_handleapi@h DB 01H -__D8EF9B29_errhandlingapi@h DB 01H -__97FC1204_fibersapi@h DB 01H -__27448220_namedpipeapi@h DB 01H -__6EA33B2A_profileapi@h DB 01H -__EAC6F673_heapapi@h DB 01H -__D64EEA5A_ioapiset@h DB 01H -__144BD4B6_synchapi@h DB 01H -__03B1C640_interlockedapi@h DB 01H -__DC64CB38_processthreadsapi@h DB 01H -__D719B518_sysinfoapi@h DB 01H -__410385B1_memoryapi@h DB 01H -__C1AD45EF_enclaveapi@h DB 01H -__F4C3AA32_threadpoollegacyapiset@h DB 01H -__AC5A7A9F_threadpoolapiset@h DB 01H -__F5254B21_jobapi@h DB 01H -__BCEA6EE8_jobapi2@h DB 01H -__D18ACE72_wow64apiset@h DB 01H -__669B0D4A_libloaderapi@h DB 01H -__645F7034_securitybaseapi@h DB 01H -__67E58557_namespaceapi@h DB 01H -__599D9D3A_systemtopologyapi@h DB 01H -__2337E373_processtopologyapi@h DB 01H -__02BFF239_securityappcontainer@h DB 01H -__9C196272_realtimeapiset@h DB 01H -__5AB313A4_winerror@h DB 01H -__B7E7187B_timezoneapi@h DB 01H -__6DE9EB6F_winbase@h DB 01H -__56B2AFF2_wingdi@h DB 01H -__BA1161A9_tvout@h DB 01H -__0501A018_winuser@h DB 01H -__EF12FA99_datetimeapi@h DB 01H -__8FA7C3CA_winnls@h DB 01H -__390F0C47_stringapiset@h DB 01H -__28605B0A_wincontypes@h DB 01H -__BFBDE86D_consoleapi@h DB 01H -__C3CAFBF0_consoleapi2@h DB 01H -__C20891C7_consoleapi3@h DB 01H -__717C98B6_wincon@h DB 01H -__2884C177_verrsrc@h DB 01H -__A3FD3A34_winver@h DB 01H -__6F8AD9F1_reason@h DB 01H -__4C90FD6F_winreg@h DB 01H -__68AFEBAD_wnnc@h DB 01H -__5A7AB086_winnetwk@h DB 01H -__2FE8A10C_stralign@h DB 01H -__34558472_winsvc@h DB 01H -__058845F1_mcx@h DB 01H -__7F16006B_ime_cmodes@h DB 01H -__0A3AF599_imm@h DB 01H -__9349FE86_windows@h DB 01H -__639A050C_sn_internal@h DB 01H -__60B45B40_corecrt_stdio_config@h DB 01H -__CFA3741E_corecrt_wstdio@h DB 01H -__B3FE3303_stdio@h DB 01H -__955456CD_stddef@h DB 01H -__99AED4FB_corecrt_search@h DB 01H -__8B813BF6_corecrt_wstdlib@h DB 01H -__3D1CA2C3_limits@h DB 01H -__E8FB0A68_stdlib@h DB 01H -__C363A436_stb_image@h DB 01H -__836A8CFC_stdint@h DB 01H -__C95DC661_khrplatform@h DB 01H -__6C577136_gl@h DB 01H -__EE638A2C_wgl@h DB 01H -__E76F0EB7_glfw3@h DB 01H -__F8AC8404_emmintrin@h DB 01H -__270DEC8D_pmmintrin@h DB 01H -__97D49F0F_tmmintrin@h DB 01H -__BEEF8A8C_smmintrin@h DB 01H -__DB8D0340_nmmintrin@h DB 01H -__0E36F90E_wmmintrin@h DB 01H -__C5A2B409_zmmintrin@h DB 01H -__F2B616C3_immintrin@h DB 01H -__9FB25DBE_assert@h DB 01H -__4E664295_glfw_function@h DB 01H -__64C0EF11_StgSharpNative@h DB 01H -__47E843D2_intrin0@inl@h DB 01H -__130964FF_setjmp@h DB 01H -__4875F786_ammintrin@h DB 01H -__353FD888_intrin@h DB 01H -__5FE1E9E3_isa_availability@h DB 01H -__AA840D82_sn_intrinsic@h DB 01H -__1FCEA5C6_hash@c DB 01H -msvcjmc ENDS -PUBLIC city_hash_simplify_sse -PUBLIC __JustMyCode_Default -EXTRN _RTC_InitBase:PROC -EXTRN _RTC_Shutdown:PROC -EXTRN __CheckForDebuggerJustMyCode:PROC -; COMDAT pdata -pdata SEGMENT -$pdata$city_hash_simplify_sse DD imagerel $LN25 - DD imagerel $LN25+632 - DD imagerel $unwind$city_hash_simplify_sse -pdata ENDS -; COMDAT rtc$TMZ -rtc$TMZ SEGMENT -_RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown -rtc$TMZ ENDS -; COMDAT rtc$IMZ -rtc$IMZ SEGMENT -_RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase -rtc$IMZ ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$city_hash_simplify_sse DD 025051701H - DD 01122317H - DD 0700b0043H - DD 0500aH -xdata ENDS -; Function compile flags: /Odt -; COMDAT __JustMyCode_Default -_TEXT SEGMENT -__JustMyCode_Default PROC ; COMDAT - 00000 c2 00 00 ret 0 -__JustMyCode_Default ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\hash.c -; COMDAT city_hash_simplify_sse -_TEXT SEGMENT -hash$ = 4 -size$ = 36 -end$ = 72 -ptr$ = 104 -last$1 = 136 -last_128$2 = 168 -last_32$3 = 200 -hash64$4 = 232 -vec$5 = 272 -str$ = 528 -length$ = 536 -city_hash_simplify_sse PROC ; COMDAT - -; 5 : { - -$LN25: - 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00009 55 push rbp - 0000a 57 push rdi - 0000b 48 81 ec 18 02 - 00 00 sub rsp, 536 ; 00000218H - 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00017 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1FCEA5C6_hash@c - 0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00023 90 npad 1 - -; 6 : uint32_t hash = length, size = length << 1; - - 00024 8b 85 18 02 00 - 00 mov eax, DWORD PTR length$[rbp] - 0002a 89 45 04 mov DWORD PTR hash$[rbp], eax - 0002d 8b 85 18 02 00 - 00 mov eax, DWORD PTR length$[rbp] - 00033 d1 e0 shl eax, 1 - 00035 89 45 24 mov DWORD PTR size$[rbp], eax - -; 7 : byte *end = str + size, *ptr = str; - - 00038 8b 45 24 mov eax, DWORD PTR size$[rbp] - 0003b 48 8b 8d 10 02 - 00 00 mov rcx, QWORD PTR str$[rbp] - 00042 48 03 c8 add rcx, rax - 00045 48 8b c1 mov rax, rcx - 00048 48 89 45 48 mov QWORD PTR end$[rbp], rax - 0004c 48 8b 85 10 02 - 00 00 mov rax, QWORD PTR str$[rbp] - 00053 48 89 45 68 mov QWORD PTR ptr$[rbp], rax - -; 8 : -; 9 : if (size < 4) { - - 00057 83 7d 24 04 cmp DWORD PTR size$[rbp], 4 - 0005b 73 35 jae SHORT $LN20@city_hash_ - -; 10 : for (; ptr < end; ptr += 2) { - - 0005d eb 0c jmp SHORT $LN4@city_hash_ -$LN2@city_hash_: - 0005f 48 8b 45 68 mov rax, QWORD PTR ptr$[rbp] - 00063 48 83 c0 02 add rax, 2 - 00067 48 89 45 68 mov QWORD PTR ptr$[rbp], rax -$LN4@city_hash_: - 0006b 48 8b 45 48 mov rax, QWORD PTR end$[rbp] - 0006f 48 39 45 68 cmp QWORD PTR ptr$[rbp], rax - 00073 73 18 jae SHORT $LN3@city_hash_ - -; 11 : hash = _mm_crc32_u16(hash, *ptr); - - 00075 48 8b 45 68 mov rax, QWORD PTR ptr$[rbp] - 00079 66 0f be 00 movsx ax, BYTE PTR [rax] - 0007d 8b 4d 04 mov ecx, DWORD PTR hash$[rbp] - 00080 66 f2 0f 38 f1 - c8 crc32 ecx, ax - 00086 8b c1 mov eax, ecx - 00088 89 45 04 mov DWORD PTR hash$[rbp], eax - -; 12 : } - - 0008b eb d2 jmp SHORT $LN2@city_hash_ -$LN3@city_hash_: - -; 13 : } else if (size < 16) { - - 0008d e9 95 01 00 00 jmp $LN21@city_hash_ -$LN20@city_hash_: - 00092 83 7d 24 10 cmp DWORD PTR size$[rbp], 16 - 00096 73 6e jae SHORT $LN22@city_hash_ - -; 14 : byte *last = end - 4; - - 00098 48 8b 45 48 mov rax, QWORD PTR end$[rbp] - 0009c 48 83 e8 04 sub rax, 4 - 000a0 48 89 85 88 00 - 00 00 mov QWORD PTR last$1[rbp], rax - -; 15 : for (; ptr < end; ptr += 4) { - - 000a7 eb 0c jmp SHORT $LN7@city_hash_ -$LN5@city_hash_: - 000a9 48 8b 45 68 mov rax, QWORD PTR ptr$[rbp] - 000ad 48 83 c0 04 add rax, 4 - 000b1 48 89 45 68 mov QWORD PTR ptr$[rbp], rax -$LN7@city_hash_: - 000b5 48 8b 45 48 mov rax, QWORD PTR end$[rbp] - 000b9 48 39 45 68 cmp QWORD PTR ptr$[rbp], rax - 000bd 73 13 jae SHORT $LN6@city_hash_ - -; 16 : hash = _mm_crc32_u32(hash, *(uint32_t *)ptr); - - 000bf 48 8b 45 68 mov rax, QWORD PTR ptr$[rbp] - 000c3 8b 4d 04 mov ecx, DWORD PTR hash$[rbp] - 000c6 f2 0f 38 f1 08 crc32 ecx, DWORD PTR [rax] - 000cb 8b c1 mov eax, ecx - 000cd 89 45 04 mov DWORD PTR hash$[rbp], eax - -; 17 : } - - 000d0 eb d7 jmp SHORT $LN5@city_hash_ -$LN6@city_hash_: - -; 18 : for (; ptr < end; ptr++) { - - 000d2 eb 0b jmp SHORT $LN10@city_hash_ -$LN8@city_hash_: - 000d4 48 8b 45 68 mov rax, QWORD PTR ptr$[rbp] - 000d8 48 ff c0 inc rax - 000db 48 89 45 68 mov QWORD PTR ptr$[rbp], rax -$LN10@city_hash_: - 000df 48 8b 45 48 mov rax, QWORD PTR end$[rbp] - 000e3 48 39 45 68 cmp QWORD PTR ptr$[rbp], rax - 000e7 73 18 jae SHORT $LN9@city_hash_ - -; 19 : hash = _mm_crc32_u16(hash, *ptr); - - 000e9 48 8b 45 68 mov rax, QWORD PTR ptr$[rbp] - 000ed 66 0f be 00 movsx ax, BYTE PTR [rax] - 000f1 8b 4d 04 mov ecx, DWORD PTR hash$[rbp] - 000f4 66 f2 0f 38 f1 - c8 crc32 ecx, ax - 000fa 8b c1 mov eax, ecx - 000fc 89 45 04 mov DWORD PTR hash$[rbp], eax - -; 20 : } - - 000ff eb d3 jmp SHORT $LN8@city_hash_ -$LN9@city_hash_: - -; 21 : } else { - - 00101 e9 21 01 00 00 jmp $LN23@city_hash_ -$LN22@city_hash_: - -; 22 : byte *last_128 = end - 16; - - 00106 48 8b 45 48 mov rax, QWORD PTR end$[rbp] - 0010a 48 83 e8 10 sub rax, 16 - 0010e 48 89 85 a8 00 - 00 00 mov QWORD PTR last_128$2[rbp], rax - -; 23 : byte *last_32 = end - 4; - - 00115 48 8b 45 48 mov rax, QWORD PTR end$[rbp] - 00119 48 83 e8 04 sub rax, 4 - 0011d 48 89 85 c8 00 - 00 00 mov QWORD PTR last_32$3[rbp], rax - -; 24 : uint64_t hash64 = size; - - 00124 8b 45 24 mov eax, DWORD PTR size$[rbp] - 00127 48 89 85 e8 00 - 00 00 mov QWORD PTR hash64$4[rbp], rax - -; 25 : for (; ptr < last_128; ptr += 16) { - - 0012e eb 0c jmp SHORT $LN13@city_hash_ -$LN11@city_hash_: - 00130 48 8b 45 68 mov rax, QWORD PTR ptr$[rbp] - 00134 48 83 c0 10 add rax, 16 - 00138 48 89 45 68 mov QWORD PTR ptr$[rbp], rax -$LN13@city_hash_: - 0013c 48 8b 85 a8 00 - 00 00 mov rax, QWORD PTR last_128$2[rbp] - 00143 48 39 45 68 cmp QWORD PTR ptr$[rbp], rax - 00147 73 5e jae SHORT $LN12@city_hash_ - -; 26 : __m128i vec = _mm_loadu_si32((int *)ptr); - - 00149 48 8b 45 68 mov rax, QWORD PTR ptr$[rbp] - 0014d 66 0f 6e 00 movd xmm0, DWORD PTR [rax] - 00151 66 0f 7f 85 10 - 01 00 00 movdqa XMMWORD PTR vec$5[rbp], xmm0 - -; 27 : hash64 = _mm_crc32_u64(hash64, _mm_extract_epi64(vec, 0)); - - 00159 66 0f 6f 85 10 - 01 00 00 movdqa xmm0, XMMWORD PTR vec$5[rbp] - 00161 66 48 0f 3a 16 - c0 00 pextrq rax, xmm0, 0 - 00168 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR hash64$4[rbp] - 0016f f2 48 0f 38 f1 - c8 crc32 rcx, rax - 00175 48 8b c1 mov rax, rcx - 00178 48 89 85 e8 00 - 00 00 mov QWORD PTR hash64$4[rbp], rax - -; 28 : hash64 = _mm_crc32_u64(hash64, _mm_extract_epi64(vec, 1)); - - 0017f 66 0f 6f 85 10 - 01 00 00 movdqa xmm0, XMMWORD PTR vec$5[rbp] - 00187 66 48 0f 3a 16 - c0 01 pextrq rax, xmm0, 1 - 0018e 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR hash64$4[rbp] - 00195 f2 48 0f 38 f1 - c8 crc32 rcx, rax - 0019b 48 8b c1 mov rax, rcx - 0019e 48 89 85 e8 00 - 00 00 mov QWORD PTR hash64$4[rbp], rax - -; 29 : } - - 001a5 eb 89 jmp SHORT $LN11@city_hash_ -$LN12@city_hash_: - -; 30 : hash = _mm_crc32_u8(hash, hash64); - - 001a7 8b 45 04 mov eax, DWORD PTR hash$[rbp] - 001aa f2 0f 38 f0 85 - e8 00 00 00 crc32 eax, BYTE PTR hash64$4[rbp] - 001b3 89 45 04 mov DWORD PTR hash$[rbp], eax - -; 31 : hash = _mm_crc32_u8(hash, hash64 >> 32); - - 001b6 48 8b 85 e8 00 - 00 00 mov rax, QWORD PTR hash64$4[rbp] - 001bd 48 c1 e8 20 shr rax, 32 ; 00000020H - 001c1 8b 4d 04 mov ecx, DWORD PTR hash$[rbp] - 001c4 f2 0f 38 f0 c8 crc32 ecx, al - 001c9 8b c1 mov eax, ecx - 001cb 89 45 04 mov DWORD PTR hash$[rbp], eax - -; 32 : for (; ptr < last_32; ptr += 4) { - - 001ce eb 0c jmp SHORT $LN16@city_hash_ -$LN14@city_hash_: - 001d0 48 8b 45 68 mov rax, QWORD PTR ptr$[rbp] - 001d4 48 83 c0 04 add rax, 4 - 001d8 48 89 45 68 mov QWORD PTR ptr$[rbp], rax -$LN16@city_hash_: - 001dc 48 8b 85 c8 00 - 00 00 mov rax, QWORD PTR last_32$3[rbp] - 001e3 48 39 45 68 cmp QWORD PTR ptr$[rbp], rax - 001e7 73 13 jae SHORT $LN15@city_hash_ - -; 33 : hash = _mm_crc32_u32(hash,*(uint32_t *)ptr); - - 001e9 48 8b 45 68 mov rax, QWORD PTR ptr$[rbp] - 001ed 8b 4d 04 mov ecx, DWORD PTR hash$[rbp] - 001f0 f2 0f 38 f1 08 crc32 ecx, DWORD PTR [rax] - 001f5 8b c1 mov eax, ecx - 001f7 89 45 04 mov DWORD PTR hash$[rbp], eax - -; 34 : } - - 001fa eb d4 jmp SHORT $LN14@city_hash_ -$LN15@city_hash_: - -; 35 : for (; ptr < end; ptr += 2) { - - 001fc eb 0c jmp SHORT $LN19@city_hash_ -$LN17@city_hash_: - 001fe 48 8b 45 68 mov rax, QWORD PTR ptr$[rbp] - 00202 48 83 c0 02 add rax, 2 - 00206 48 89 45 68 mov QWORD PTR ptr$[rbp], rax -$LN19@city_hash_: - 0020a 48 8b 45 48 mov rax, QWORD PTR end$[rbp] - 0020e 48 39 45 68 cmp QWORD PTR ptr$[rbp], rax - 00212 73 13 jae SHORT $LN18@city_hash_ - -; 36 : hash = _mm_crc32_u8(hash,*ptr); - - 00214 48 8b 45 68 mov rax, QWORD PTR ptr$[rbp] - 00218 8b 4d 04 mov ecx, DWORD PTR hash$[rbp] - 0021b f2 0f 38 f0 08 crc32 ecx, BYTE PTR [rax] - 00220 8b c1 mov eax, ecx - 00222 89 45 04 mov DWORD PTR hash$[rbp], eax - -; 37 : } - - 00225 eb d7 jmp SHORT $LN17@city_hash_ -$LN18@city_hash_: -$LN23@city_hash_: -$LN21@city_hash_: - -; 38 : } -; 39 : hash ^= hash >> 16; - - 00227 8b 45 04 mov eax, DWORD PTR hash$[rbp] - 0022a c1 e8 10 shr eax, 16 - 0022d 8b 4d 04 mov ecx, DWORD PTR hash$[rbp] - 00230 33 c8 xor ecx, eax - 00232 8b c1 mov eax, ecx - 00234 89 45 04 mov DWORD PTR hash$[rbp], eax - -; 40 : hash *= 0x85ebca6b; - - 00237 69 45 04 6b ca - eb 85 imul eax, DWORD PTR hash$[rbp], -2048144789 ; 85ebca6bH - 0023e 89 45 04 mov DWORD PTR hash$[rbp], eax - -; 41 : hash ^= hash >> 13; - - 00241 8b 45 04 mov eax, DWORD PTR hash$[rbp] - 00244 c1 e8 0d shr eax, 13 - 00247 8b 4d 04 mov ecx, DWORD PTR hash$[rbp] - 0024a 33 c8 xor ecx, eax - 0024c 8b c1 mov eax, ecx - 0024e 89 45 04 mov DWORD PTR hash$[rbp], eax - -; 42 : hash *= 0xc2b2ae35; - - 00251 69 45 04 35 ae - b2 c2 imul eax, DWORD PTR hash$[rbp], -1028477387 ; c2b2ae35H - 00258 89 45 04 mov DWORD PTR hash$[rbp], eax - -; 43 : hash ^= hash >> 16; - - 0025b 8b 45 04 mov eax, DWORD PTR hash$[rbp] - 0025e c1 e8 10 shr eax, 16 - 00261 8b 4d 04 mov ecx, DWORD PTR hash$[rbp] - 00264 33 c8 xor ecx, eax - 00266 8b c1 mov eax, ecx - 00268 89 45 04 mov DWORD PTR hash$[rbp], eax - -; 44 : return hash; - - 0026b 8b 45 04 mov eax, DWORD PTR hash$[rbp] - -; 45 : } - - 0026e 48 8d a5 f8 01 - 00 00 lea rsp, QWORD PTR [rbp+504] - 00275 5f pop rdi - 00276 5d pop rbp - 00277 c3 ret 0 -city_hash_simplify_sse ENDP -_TEXT ENDS -END diff --git a/StgSharp.Native/x64/Debug/hash.obj b/StgSharp.Native/x64/Debug/hash.obj deleted file mode 100644 index a30af9e4..00000000 Binary files a/StgSharp.Native/x64/Debug/hash.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/hash.sbr b/StgSharp.Native/x64/Debug/hash.sbr deleted file mode 100644 index a772978a..00000000 Binary files a/StgSharp.Native/x64/Debug/hash.sbr and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/intrinsic.cod b/StgSharp.Native/x64/Debug/intrinsic.cod deleted file mode 100644 index f8746807..00000000 --- a/StgSharp.Native/x64/Debug/intrinsic.cod +++ /dev/null @@ -1,1236 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.44.35215.0 - -include listing.inc - -INCLUDELIB MSVCRTD -INCLUDELIB OLDNAMES - -_DATA SEGMENT -COMM infolog:BYTE:0200H -_DATA ENDS -msvcjmc SEGMENT -__5C8CA4D3_mmintrin@h DB 01H -__8C83BECC_concurrencysal@h DB 01H -__608E3340_sal@h DB 01H -__FB67E29A_vadefs@h DB 01H -__1D1B619C_vcruntime@h DB 01H -__735960E1_corecrt@h DB 01H -__211DB995_corecrt_malloc@h DB 01H -__7CD62D9E_malloc@h DB 01H -__9DCE0DC8_xmmintrin@h DB 01H -__4C2AD0C7_winpackagefamily@h DB 01H -__9DED9ED1_winapifamily@h DB 01H -__12FEDF4E_sdkddkver@h DB 01H -__9BAEE128_excpt@h DB 01H -__B7B53233_stdarg@h DB 01H -__6B04FCB3_specstrings_undef@h DB 01H -__F4027AF7_specstrings_strict@h DB 01H -__B90340D4_sdv_driverspecs@h DB 01H -__BFFF5AD3_driverspecs@h DB 01H -__32847078_specstrings@h DB 01H -__108B2620_corecrt_wctype@h DB 01H -__6CD6613D_ctype@h DB 01H -__30902A1F_kernelspecs@h DB 01H -__376FD5CA_basetsd@h DB 01H -__13DE2371_errno@h DB 01H -__8C6AE390_vcruntime_string@h DB 01H -__8ACB2152_corecrt_memcpy_s@h DB 01H -__EA6C9D17_corecrt_memory@h DB 01H -__0DF2AF52_corecrt_wstring@h DB 01H -__6E889ECC_string@h DB 01H -__9BEDF4DE_guiddef@h DB 01H -__51BFD2FE_pshpack4@h DB 01H -__31652CEA_poppack@h DB 01H -__5532AE4C_pshpack2@h DB 01H -__58A52B9A_pshpack8@h DB 01H -__57741015_pshpack1@h DB 01H -__CDE68C90_apiset@h DB 01H -__0BF06E8D_ktmtypes@h DB 01H -__40C200C0_winnt@h DB 01H -__9336F789_minwindef@h DB 01H -__55136115_windef@h DB 01H -__32205BF0_apisetcconv@h DB 01H -__B48FDEA0_minwinbase@h DB 01H -__3551B028_apiquery2@h DB 01H -__65BE04AA_processenv@h DB 01H -__4767CA46_fileapi@h DB 01H -__282E6C4B_fileapifromapp@h DB 01H -__393AF12C_debugapi@h DB 01H -__EBC502B8_utilapiset@h DB 01H -__1EAD8C69_handleapi@h DB 01H -__D8EF9B29_errhandlingapi@h DB 01H -__97FC1204_fibersapi@h DB 01H -__27448220_namedpipeapi@h DB 01H -__6EA33B2A_profileapi@h DB 01H -__EAC6F673_heapapi@h DB 01H -__D64EEA5A_ioapiset@h DB 01H -__144BD4B6_synchapi@h DB 01H -__03B1C640_interlockedapi@h DB 01H -__DC64CB38_processthreadsapi@h DB 01H -__D719B518_sysinfoapi@h DB 01H -__410385B1_memoryapi@h DB 01H -__C1AD45EF_enclaveapi@h DB 01H -__F4C3AA32_threadpoollegacyapiset@h DB 01H -__AC5A7A9F_threadpoolapiset@h DB 01H -__F5254B21_jobapi@h DB 01H -__BCEA6EE8_jobapi2@h DB 01H -__D18ACE72_wow64apiset@h DB 01H -__669B0D4A_libloaderapi@h DB 01H -__645F7034_securitybaseapi@h DB 01H -__67E58557_namespaceapi@h DB 01H -__599D9D3A_systemtopologyapi@h DB 01H -__2337E373_processtopologyapi@h DB 01H -__02BFF239_securityappcontainer@h DB 01H -__9C196272_realtimeapiset@h DB 01H -__5AB313A4_winerror@h DB 01H -__B7E7187B_timezoneapi@h DB 01H -__6DE9EB6F_winbase@h DB 01H -__56B2AFF2_wingdi@h DB 01H -__BA1161A9_tvout@h DB 01H -__0501A018_winuser@h DB 01H -__EF12FA99_datetimeapi@h DB 01H -__8FA7C3CA_winnls@h DB 01H -__390F0C47_stringapiset@h DB 01H -__28605B0A_wincontypes@h DB 01H -__BFBDE86D_consoleapi@h DB 01H -__C3CAFBF0_consoleapi2@h DB 01H -__C20891C7_consoleapi3@h DB 01H -__717C98B6_wincon@h DB 01H -__2884C177_verrsrc@h DB 01H -__A3FD3A34_winver@h DB 01H -__6F8AD9F1_reason@h DB 01H -__4C90FD6F_winreg@h DB 01H -__68AFEBAD_wnnc@h DB 01H -__5A7AB086_winnetwk@h DB 01H -__2FE8A10C_stralign@h DB 01H -__34558472_winsvc@h DB 01H -__058845F1_mcx@h DB 01H -__7F16006B_ime_cmodes@h DB 01H -__0A3AF599_imm@h DB 01H -__9349FE86_windows@h DB 01H -__639A050C_sn_internal@h DB 01H -__60B45B40_corecrt_stdio_config@h DB 01H -__CFA3741E_corecrt_wstdio@h DB 01H -__B3FE3303_stdio@h DB 01H -__955456CD_stddef@h DB 01H -__99AED4FB_corecrt_search@h DB 01H -__8B813BF6_corecrt_wstdlib@h DB 01H -__3D1CA2C3_limits@h DB 01H -__E8FB0A68_stdlib@h DB 01H -__C363A436_stb_image@h DB 01H -__836A8CFC_stdint@h DB 01H -__C95DC661_khrplatform@h DB 01H -__6C577136_gl@h DB 01H -__EE638A2C_wgl@h DB 01H -__E76F0EB7_glfw3@h DB 01H -__F8AC8404_emmintrin@h DB 01H -__270DEC8D_pmmintrin@h DB 01H -__97D49F0F_tmmintrin@h DB 01H -__BEEF8A8C_smmintrin@h DB 01H -__DB8D0340_nmmintrin@h DB 01H -__0E36F90E_wmmintrin@h DB 01H -__C5A2B409_zmmintrin@h DB 01H -__F2B616C3_immintrin@h DB 01H -__9FB25DBE_assert@h DB 01H -__4E664295_glfw_function@h DB 01H -__64C0EF11_StgSharpNative@h DB 01H -__47E843D2_intrin0@inl@h DB 01H -__130964FF_setjmp@h DB 01H -__4875F786_ammintrin@h DB 01H -__353FD888_intrin@h DB 01H -__5FE1E9E3_isa_availability@h DB 01H -__AA840D82_sn_intrinsic@h DB 01H -__A357B3F7_intrinsic@c DB 01H -msvcjmc ENDS -PUBLIC __check_isa_support -PUBLIC load_intrinsic_function -PUBLIC __JustMyCode_Default -PUBLIC ??_C@_1GG@DGIJFDBH@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ ; `string' -PUBLIC ??_C@_1DE@BIMGEDNO@?$AAi?$AAn?$AAt?$AAr?$AAi?$AAn?$AAs?$AAi?$AAc?$AA_?$AAc?$AAo?$AAn?$AAt?$AAe@ ; `string' -EXTRN __imp__wassert:PROC -EXTRN normalize:PROC -EXTRN addmatrix2_sse:PROC -EXTRN addmatrix2_avx:PROC -EXTRN submatrix2_sse:PROC -EXTRN transpose23:PROC -EXTRN transpose24:PROC -EXTRN addmatrix3_sse:PROC -EXTRN addmatrix3_avx:PROC -EXTRN addmatrix3_512:PROC -EXTRN submatrix3_sse:PROC -EXTRN transpose32:PROC -EXTRN transpose33:PROC -EXTRN transpose34:PROC -EXTRN det_mat3:PROC -EXTRN addmatrix4_sse:PROC -EXTRN addmatrix4_avx:PROC -EXTRN addmatrix4_512:PROC -EXTRN submatrix4_sse:PROC -EXTRN transpose42:PROC -EXTRN transpose43:PROC -EXTRN transpose44:PROC -EXTRN det_mat4:PROC -EXTRN dot_41_sse:PROC -EXTRN dot_31_sse:PROC -EXTRN dot_41_avx:PROC -EXTRN dot_31_avx:PROC -EXTRN dot_32_sse:PROC -EXTRN dot_32_avx:PROC -EXTRN dot_42_sse:PROC -EXTRN dot_42_avx:PROC -EXTRN dot_43_sse:PROC -EXTRN dot_43_avx:PROC -EXTRN factorial_simd_sse:PROC -EXTRN city_hash_simplify_sse:PROC -EXTRN index_pair_sse:PROC -EXTRN _RTC_InitBase:PROC -EXTRN _RTC_Shutdown:PROC -EXTRN __CheckForDebuggerJustMyCode:PROC -EXTRN __isa_inverted:QWORD -EXTRN __avx10_version:DWORD -; COMDAT pdata -pdata SEGMENT -$pdata$__check_isa_support DD imagerel $LN7 - DD imagerel $LN7+138 - DD imagerel $unwind$__check_isa_support -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$load_intrinsic_function DD imagerel $LN11 - DD imagerel $LN11+213 - DD imagerel $unwind$load_intrinsic_function -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$load_intrinsic_sse DD imagerel load_intrinsic_sse - DD imagerel load_intrinsic_sse+518 - DD imagerel $unwind$load_intrinsic_sse -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$load_intrinsic_avx DD imagerel load_intrinsic_avx - DD imagerel load_intrinsic_avx+461 - DD imagerel $unwind$load_intrinsic_avx -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$load_intrinsic_512 DD imagerel load_intrinsic_512 - DD imagerel load_intrinsic_512+461 - DD imagerel $unwind$load_intrinsic_512 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$check_isa DD imagerel check_isa - DD imagerel check_isa+70 - DD imagerel $unwind$check_isa -pdata ENDS -; COMDAT rtc$TMZ -rtc$TMZ SEGMENT -_RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown -rtc$TMZ ENDS -; COMDAT rtc$IMZ -rtc$IMZ SEGMENT -_RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase -rtc$IMZ ENDS -; COMDAT ??_C@_1DE@BIMGEDNO@?$AAi?$AAn?$AAt?$AAr?$AAi?$AAn?$AAs?$AAi?$AAc?$AA_?$AAc?$AAo?$AAn?$AAt?$AAe@ -CONST SEGMENT -??_C@_1DE@BIMGEDNO@?$AAi?$AAn?$AAt?$AAr?$AAi?$AAn?$AAs?$AAi?$AAc?$AA_?$AAc?$AAo?$AAn?$AAt?$AAe@ DB 'i' - DB 00H, 'n', 00H, 't', 00H, 'r', 00H, 'i', 00H, 'n', 00H, 's', 00H - DB 'i', 00H, 'c', 00H, '_', 00H, 'c', 00H, 'o', 00H, 'n', 00H, 't' - DB 00H, 'e', 00H, 'x', 00H, 't', 00H, ' ', 00H, '!', 00H, '=', 00H - DB ' ', 00H, 'N', 00H, 'U', 00H, 'L', 00H, 'L', 00H, 00H, 00H ; `string' -CONST ENDS -; COMDAT ??_C@_1GG@DGIJFDBH@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ -CONST SEGMENT -??_C@_1GG@DGIJFDBH@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ DB 'D' - DB 00H, ':', 00H, '\', 00H, 'p', 00H, 'l', 00H, 'a', 00H, 't', 00H - DB 'f', 00H, 'o', 00H, 'r', 00H, 'm', 00H, '-', 00H, 'd', 00H, 'e' - DB 00H, 'v', 00H, '\', 00H, 'S', 00H, 't', 00H, 'g', 00H, 'S', 00H - DB 'h', 00H, 'a', 00H, 'r', 00H, 'p', 00H, '.', 00H, 'N', 00H, 'a' - DB 00H, 't', 00H, 'i', 00H, 'v', 00H, 'e', 00H, '\', 00H, 's', 00H - DB 'n', 00H, '-', 00H, 's', 00H, 'r', 00H, 'c', 00H, '\', 00H, 'i' - DB 00H, 'n', 00H, 't', 00H, 'r', 00H, 'i', 00H, 'n', 00H, 's', 00H - DB 'i', 00H, 'c', 00H, '.', 00H, 'c', 00H, 00H, 00H ; `string' -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$check_isa DD 025051201H - DD 010d2312H - DD 07006001dH - DD 05005H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$load_intrinsic_512 DD 025051301H - DD 010e2313H - DD 07007001dH - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$load_intrinsic_avx DD 025051301H - DD 010e2313H - DD 07007001dH - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$load_intrinsic_sse DD 025051301H - DD 010e2313H - DD 07007001dH - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$load_intrinsic_function DD 025051301H - DD 010e2313H - DD 070070021H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$__check_isa_support DD 025051601H - DD 01112316H - DD 0700a001fH - DD 05009H -xdata ENDS -; Function compile flags: /Odt -; COMDAT __JustMyCode_Default -_TEXT SEGMENT -__JustMyCode_Default PROC ; COMDAT - 00000 c2 00 00 ret 0 -__JustMyCode_Default ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\intrinsic.c -; COMDAT check_isa -_TEXT SEGMENT -instruction_family$ = 224 -check_isa PROC ; COMDAT - -; 17 : { - - 00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 00004 55 push rbp - 00005 57 push rdi - 00006 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00012 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__A357B3F7_intrinsic@c - 00019 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001e 90 npad 1 - -; 18 : if (instruction_family != NEON) { - - 0001f 83 bd e0 00 00 - 00 05 cmp DWORD PTR instruction_family$[rbp], 5 - 00026 74 12 je SHORT $LN2@check_isa - -; 19 : #if defined(_MSC_VER) && !defined(__clang__) -; 20 : return __check_isa_support(instruction_family, 0); - - 00028 33 d2 xor edx, edx - 0002a 8b 8d e0 00 00 - 00 mov ecx, DWORD PTR instruction_family$[rbp] - 00030 e8 00 00 00 00 call __check_isa_support - 00035 0f b6 c0 movzx eax, al - 00038 eb 02 jmp SHORT $LN1@check_isa -$LN2@check_isa: - -; 21 : #else -; 22 : switch (instruction_family) { -; 23 : case SSE: -; 24 : return __builtin_cpu_supports("sse4.2"); -; 25 : case AVX256: -; 26 : return __builtin_cpu_supports("avx2"); -; 27 : case AVX512: -; 28 : return __builtin_cpu_supports("avx512f"); -; 29 : default: -; 30 : return 0; -; 31 : } -; 32 : #endif // _MSC_VER -; 33 : } -; 34 : -; 35 : #if defined(__ARM_NEON) || defined(__ARM_NEON__) -; 36 : return 1; -; 37 : #else -; 38 : return 0; - - 0003a 33 c0 xor eax, eax -$LN1@check_isa: - -; 39 : #endif -; 40 : } - - 0003c 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00043 5f pop rdi - 00044 5d pop rbp - 00045 c3 ret 0 -check_isa ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\intrinsic.c -; COMDAT load_intrinsic_512 -_TEXT SEGMENT -context$ = 224 -load_intrinsic_512 PROC ; COMDAT - -; 120 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__A357B3F7_intrinsic@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 121 : context->add_m2 = addmatrix2_avx; - - 00020 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00027 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:addmatrix2_avx - 0002e 48 89 08 mov QWORD PTR [rax], rcx - -; 122 : context->add_m3 = addmatrix3_512; - - 00031 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00038 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:addmatrix3_512 - 0003f 48 89 48 08 mov QWORD PTR [rax+8], rcx - -; 123 : context->add_m4 = addmatrix4_512; - - 00043 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 0004a 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:addmatrix4_512 - 00051 48 89 48 10 mov QWORD PTR [rax+16], rcx - -; 124 : context->transpose_23 = transpose23; - - 00055 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 0005c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose23 - 00063 48 89 88 88 00 - 00 00 mov QWORD PTR [rax+136], rcx - -; 125 : context->transpose_24 = transpose24; - - 0006a 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00071 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose24 - 00078 48 89 88 90 00 - 00 00 mov QWORD PTR [rax+144], rcx - -; 126 : context->transpose_32 = transpose32; - - 0007f 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00086 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose32 - 0008d 48 89 88 98 00 - 00 00 mov QWORD PTR [rax+152], rcx - -; 127 : context->transpose_33 = transpose33; - - 00094 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 0009b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose33 - 000a2 48 89 88 a0 00 - 00 00 mov QWORD PTR [rax+160], rcx - -; 128 : context->transpose_34 = transpose34; - - 000a9 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 000b0 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose34 - 000b7 48 89 88 a8 00 - 00 00 mov QWORD PTR [rax+168], rcx - -; 129 : context->transpose_42 = transpose42; - - 000be 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 000c5 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose42 - 000cc 48 89 88 b0 00 - 00 00 mov QWORD PTR [rax+176], rcx - -; 130 : context->transpose_43 = transpose43; - - 000d3 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 000da 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose43 - 000e1 48 89 88 b8 00 - 00 00 mov QWORD PTR [rax+184], rcx - -; 131 : context->transpose_44 = transpose44; - - 000e8 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 000ef 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose44 - 000f6 48 89 88 c0 00 - 00 00 mov QWORD PTR [rax+192], rcx - -; 132 : context->normalize_3 = normalize; - - 000fd 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00104 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:normalize - 0010b 48 89 48 68 mov QWORD PTR [rax+104], rcx - -; 133 : context->det_matrix33 = det_mat3; - - 0010f 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00116 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:det_mat3 - 0011d 48 89 48 20 mov QWORD PTR [rax+32], rcx - -; 134 : context->det_matrix44 = det_mat4; - - 00121 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00128 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:det_mat4 - 0012f 48 89 48 28 mov QWORD PTR [rax+40], rcx - -; 135 : context->dot_31 = dot_31_avx; - - 00133 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 0013a 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:dot_31_avx - 00141 48 89 48 30 mov QWORD PTR [rax+48], rcx - -; 136 : context->dot_32 = dot_32_avx; - - 00145 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 0014c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:dot_32_avx - 00153 48 89 48 38 mov QWORD PTR [rax+56], rcx - -; 137 : context->dot_41 = dot_41_avx; - - 00157 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 0015e 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:dot_41_avx - 00165 48 89 48 40 mov QWORD PTR [rax+64], rcx - -; 138 : context->dot_42 = dot_42_avx; - - 00169 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00170 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:dot_42_avx - 00177 48 89 48 48 mov QWORD PTR [rax+72], rcx - -; 139 : context->dot_43 = dot_43_avx; - - 0017b 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00182 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:dot_43_avx - 00189 48 89 48 50 mov QWORD PTR [rax+80], rcx - -; 140 : context->city_hash_simplify = city_hash_simplify_sse; - - 0018d 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00194 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:city_hash_simplify_sse - 0019b 48 89 48 18 mov QWORD PTR [rax+24], rcx - -; 141 : context->index_pair = index_pair_sse; - - 0019f 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 001a6 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:index_pair_sse - 001ad 48 89 48 60 mov QWORD PTR [rax+96], rcx - -; 142 : context->factorial_simd = factorial_simd_sse; - - 001b1 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 001b8 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:factorial_simd_sse - 001bf 48 89 48 58 mov QWORD PTR [rax+88], rcx - -; 143 : } - - 001c3 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 001ca 5f pop rdi - 001cb 5d pop rbp - 001cc c3 ret 0 -load_intrinsic_512 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\intrinsic.c -; COMDAT load_intrinsic_avx -_TEXT SEGMENT -context$ = 224 -load_intrinsic_avx PROC ; COMDAT - -; 94 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__A357B3F7_intrinsic@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 95 : context->add_m2 = addmatrix2_avx; - - 00020 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00027 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:addmatrix2_avx - 0002e 48 89 08 mov QWORD PTR [rax], rcx - -; 96 : context->add_m3 = addmatrix3_avx; - - 00031 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00038 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:addmatrix3_avx - 0003f 48 89 48 08 mov QWORD PTR [rax+8], rcx - -; 97 : context->add_m4 = addmatrix4_avx; - - 00043 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 0004a 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:addmatrix4_avx - 00051 48 89 48 10 mov QWORD PTR [rax+16], rcx - -; 98 : context->transpose_23 = transpose23; - - 00055 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 0005c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose23 - 00063 48 89 88 88 00 - 00 00 mov QWORD PTR [rax+136], rcx - -; 99 : context->transpose_24 = transpose24; - - 0006a 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00071 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose24 - 00078 48 89 88 90 00 - 00 00 mov QWORD PTR [rax+144], rcx - -; 100 : context->transpose_32 = transpose32; - - 0007f 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00086 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose32 - 0008d 48 89 88 98 00 - 00 00 mov QWORD PTR [rax+152], rcx - -; 101 : context->transpose_33 = transpose33; - - 00094 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 0009b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose33 - 000a2 48 89 88 a0 00 - 00 00 mov QWORD PTR [rax+160], rcx - -; 102 : context->transpose_34 = transpose34; - - 000a9 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 000b0 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose34 - 000b7 48 89 88 a8 00 - 00 00 mov QWORD PTR [rax+168], rcx - -; 103 : context->transpose_42 = transpose42; - - 000be 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 000c5 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose42 - 000cc 48 89 88 b0 00 - 00 00 mov QWORD PTR [rax+176], rcx - -; 104 : context->transpose_43 = transpose43; - - 000d3 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 000da 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose43 - 000e1 48 89 88 b8 00 - 00 00 mov QWORD PTR [rax+184], rcx - -; 105 : context->transpose_44 = transpose44; - - 000e8 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 000ef 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose44 - 000f6 48 89 88 c0 00 - 00 00 mov QWORD PTR [rax+192], rcx - -; 106 : context->normalize_3 = normalize; - - 000fd 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00104 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:normalize - 0010b 48 89 48 68 mov QWORD PTR [rax+104], rcx - -; 107 : context->det_matrix33 = det_mat3; - - 0010f 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00116 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:det_mat3 - 0011d 48 89 48 20 mov QWORD PTR [rax+32], rcx - -; 108 : context->det_matrix44 = det_mat4; - - 00121 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00128 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:det_mat4 - 0012f 48 89 48 28 mov QWORD PTR [rax+40], rcx - -; 109 : context->dot_31 = dot_31_avx; - - 00133 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 0013a 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:dot_31_avx - 00141 48 89 48 30 mov QWORD PTR [rax+48], rcx - -; 110 : context->dot_32 = dot_32_avx; - - 00145 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 0014c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:dot_32_avx - 00153 48 89 48 38 mov QWORD PTR [rax+56], rcx - -; 111 : context->dot_41 = dot_41_avx; - - 00157 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 0015e 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:dot_41_avx - 00165 48 89 48 40 mov QWORD PTR [rax+64], rcx - -; 112 : context->dot_42 = dot_42_avx; - - 00169 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00170 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:dot_42_avx - 00177 48 89 48 48 mov QWORD PTR [rax+72], rcx - -; 113 : context->dot_43 = dot_43_avx; - - 0017b 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00182 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:dot_43_avx - 00189 48 89 48 50 mov QWORD PTR [rax+80], rcx - -; 114 : context->city_hash_simplify = city_hash_simplify_sse; - - 0018d 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00194 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:city_hash_simplify_sse - 0019b 48 89 48 18 mov QWORD PTR [rax+24], rcx - -; 115 : context->index_pair = index_pair_sse; - - 0019f 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 001a6 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:index_pair_sse - 001ad 48 89 48 60 mov QWORD PTR [rax+96], rcx - -; 116 : context->factorial_simd = factorial_simd_sse; - - 001b1 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 001b8 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:factorial_simd_sse - 001bf 48 89 48 58 mov QWORD PTR [rax+88], rcx - -; 117 : } - - 001c3 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 001ca 5f pop rdi - 001cb 5d pop rbp - 001cc c3 ret 0 -load_intrinsic_avx ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\intrinsic.c -; COMDAT load_intrinsic_sse -_TEXT SEGMENT -context$ = 224 -load_intrinsic_sse PROC ; COMDAT - -; 65 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__A357B3F7_intrinsic@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 66 : context->add_m2 = addmatrix2_sse; - - 00020 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00027 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:addmatrix2_sse - 0002e 48 89 08 mov QWORD PTR [rax], rcx - -; 67 : context->add_m3 = addmatrix3_sse; - - 00031 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00038 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:addmatrix3_sse - 0003f 48 89 48 08 mov QWORD PTR [rax+8], rcx - -; 68 : context->add_m4 = addmatrix4_sse; - - 00043 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 0004a 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:addmatrix4_sse - 00051 48 89 48 10 mov QWORD PTR [rax+16], rcx - -; 69 : context->transpose_23 = transpose23; - - 00055 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 0005c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose23 - 00063 48 89 88 88 00 - 00 00 mov QWORD PTR [rax+136], rcx - -; 70 : context->transpose_24 = transpose24; - - 0006a 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00071 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose24 - 00078 48 89 88 90 00 - 00 00 mov QWORD PTR [rax+144], rcx - -; 71 : context->transpose_32 = transpose32; - - 0007f 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00086 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose32 - 0008d 48 89 88 98 00 - 00 00 mov QWORD PTR [rax+152], rcx - -; 72 : context->transpose_33 = transpose33; - - 00094 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 0009b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose33 - 000a2 48 89 88 a0 00 - 00 00 mov QWORD PTR [rax+160], rcx - -; 73 : context->transpose_34 = transpose34; - - 000a9 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 000b0 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose34 - 000b7 48 89 88 a8 00 - 00 00 mov QWORD PTR [rax+168], rcx - -; 74 : context->transpose_42 = transpose42; - - 000be 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 000c5 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose42 - 000cc 48 89 88 b0 00 - 00 00 mov QWORD PTR [rax+176], rcx - -; 75 : context->transpose_43 = transpose43; - - 000d3 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 000da 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose43 - 000e1 48 89 88 b8 00 - 00 00 mov QWORD PTR [rax+184], rcx - -; 76 : context->transpose_44 = transpose44; - - 000e8 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 000ef 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:transpose44 - 000f6 48 89 88 c0 00 - 00 00 mov QWORD PTR [rax+192], rcx - -; 77 : context->normalize_3 = normalize; - - 000fd 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00104 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:normalize - 0010b 48 89 48 68 mov QWORD PTR [rax+104], rcx - -; 78 : context->det_matrix33 = det_mat3; - - 0010f 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00116 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:det_mat3 - 0011d 48 89 48 20 mov QWORD PTR [rax+32], rcx - -; 79 : context->det_matrix44 = det_mat4; - - 00121 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00128 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:det_mat4 - 0012f 48 89 48 28 mov QWORD PTR [rax+40], rcx - -; 80 : context->dot_31 = dot_31_sse; - - 00133 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 0013a 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:dot_31_sse - 00141 48 89 48 30 mov QWORD PTR [rax+48], rcx - -; 81 : context->dot_32 = dot_32_sse; - - 00145 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 0014c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:dot_32_sse - 00153 48 89 48 38 mov QWORD PTR [rax+56], rcx - -; 82 : context->dot_41 = dot_41_sse; - - 00157 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 0015e 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:dot_41_sse - 00165 48 89 48 40 mov QWORD PTR [rax+64], rcx - -; 83 : context->dot_42 = dot_42_sse; - - 00169 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00170 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:dot_42_sse - 00177 48 89 48 48 mov QWORD PTR [rax+72], rcx - -; 84 : context->dot_43 = dot_43_sse; - - 0017b 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00182 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:dot_43_sse - 00189 48 89 48 50 mov QWORD PTR [rax+80], rcx - -; 85 : context->city_hash_simplify = city_hash_simplify_sse; - - 0018d 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 00194 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:city_hash_simplify_sse - 0019b 48 89 48 18 mov QWORD PTR [rax+24], rcx - -; 86 : context->index_pair = index_pair_sse; - - 0019f 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 001a6 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:index_pair_sse - 001ad 48 89 48 60 mov QWORD PTR [rax+96], rcx - -; 87 : context->sub_m2 = submatrix2_sse; - - 001b1 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 001b8 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:submatrix2_sse - 001bf 48 89 48 70 mov QWORD PTR [rax+112], rcx - -; 88 : context->sub_m3 = submatrix3_sse; - - 001c3 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 001ca 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:submatrix3_sse - 001d1 48 89 48 78 mov QWORD PTR [rax+120], rcx - -; 89 : context->sub_m4 = submatrix4_sse; - - 001d5 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 001dc 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:submatrix4_sse - 001e3 48 89 88 80 00 - 00 00 mov QWORD PTR [rax+128], rcx - -; 90 : context->factorial_simd = factorial_simd_sse; - - 001ea 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR context$[rbp] - 001f1 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:factorial_simd_sse - 001f8 48 89 48 58 mov QWORD PTR [rax+88], rcx - -; 91 : } - - 001fc 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00203 5f pop rdi - 00204 5d pop rbp - 00205 c3 ret 0 -load_intrinsic_sse ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\intrinsic.c -; COMDAT load_intrinsic_function -_TEXT SEGMENT -context$ = 8 -intrinsic_context$ = 256 -load_intrinsic_function PROC ; COMDAT - -; 43 : { - -$LN11: - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__A357B3F7_intrinsic@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 44 : sn_null_assert(intrinsic_context); - - 00020 48 83 bd 00 01 - 00 00 00 cmp QWORD PTR intrinsic_context$[rbp], 0 - 00028 75 1c jne SHORT $LN10@load_intri - 0002a 41 b8 2c 00 00 - 00 mov r8d, 44 ; 0000002cH - 00030 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_1GG@DGIJFDBH@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ - 00037 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_1DE@BIMGEDNO@?$AAi?$AAn?$AAt?$AAr?$AAi?$AAn?$AAs?$AAi?$AAc?$AA_?$AAc?$AAo?$AAn?$AAt?$AAe@ - 0003e ff 15 00 00 00 - 00 call QWORD PTR __imp__wassert - 00044 33 c0 xor eax, eax -$LN10@load_intri: - -; 45 : -; 46 : ssc_intrinsic *context = (ssc_intrinsic *)intrinsic_context; - - 00046 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR intrinsic_context$[rbp] - 0004d 48 89 45 08 mov QWORD PTR context$[rbp], rax - -; 47 : -; 48 : if (check_isa(AVX512)) { - - 00051 b9 04 00 00 00 mov ecx, 4 - 00056 e8 00 00 00 00 call check_isa - 0005b 85 c0 test eax, eax - 0005d 74 13 je SHORT $LN2@load_intri - -; 49 : load_intrinsic_512(context); - - 0005f 48 8b 4d 08 mov rcx, QWORD PTR context$[rbp] - 00063 e8 00 00 00 00 call load_intrinsic_512 - 00068 90 npad 1 - -; 50 : return 3; - - 00069 b8 03 00 00 00 mov eax, 3 - 0006e eb 5b jmp SHORT $LN1@load_intri - 00070 eb 57 jmp SHORT $LN3@load_intri -$LN2@load_intri: - -; 51 : } else if (check_isa(AVX256)) { - - 00072 b9 02 00 00 00 mov ecx, 2 - 00077 e8 00 00 00 00 call check_isa - 0007c 85 c0 test eax, eax - 0007e 74 13 je SHORT $LN4@load_intri - -; 52 : load_intrinsic_avx(context); - - 00080 48 8b 4d 08 mov rcx, QWORD PTR context$[rbp] - 00084 e8 00 00 00 00 call load_intrinsic_avx - 00089 90 npad 1 - -; 53 : return 2; - - 0008a b8 02 00 00 00 mov eax, 2 - 0008f eb 3a jmp SHORT $LN1@load_intri - 00091 eb 36 jmp SHORT $LN5@load_intri -$LN4@load_intri: - -; 54 : } else if (check_isa(SSE)) { - - 00093 b9 10 00 00 00 mov ecx, 16 - 00098 e8 00 00 00 00 call check_isa - 0009d 85 c0 test eax, eax - 0009f 74 13 je SHORT $LN6@load_intri - -; 55 : load_intrinsic_sse(context); - - 000a1 48 8b 4d 08 mov rcx, QWORD PTR context$[rbp] - 000a5 e8 00 00 00 00 call load_intrinsic_sse - 000aa 90 npad 1 - -; 56 : return 1; - - 000ab b8 01 00 00 00 mov eax, 1 - 000b0 eb 19 jmp SHORT $LN1@load_intri - 000b2 eb 15 jmp SHORT $LN7@load_intri -$LN6@load_intri: - -; 57 : } else if (check_isa(NEON)) { - - 000b4 b9 05 00 00 00 mov ecx, 5 - 000b9 e8 00 00 00 00 call check_isa - 000be 85 c0 test eax, eax - 000c0 74 07 je SHORT $LN8@load_intri - -; 58 : return -1; - - 000c2 b8 ff ff ff ff mov eax, -1 - 000c7 eb 02 jmp SHORT $LN1@load_intri -$LN8@load_intri: -$LN7@load_intri: -$LN5@load_intri: -$LN3@load_intri: - -; 59 : } -; 60 : -; 61 : return 0; - - 000c9 33 c0 xor eax, eax -$LN1@load_intri: - -; 62 : } - - 000cb 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 000d2 5f pop rdi - 000d3 5d pop rbp - 000d4 c3 ret 0 -load_intrinsic_function ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\immintrin.h -; COMDAT __check_isa_support -_TEXT SEGMENT -tv69 = 192 -tv71 = 196 -__x$ = 240 -__v$ = 248 -__check_isa_support PROC ; COMDAT - -; 112 : { return ((__x & __isa_inverted) == 0) && ((unsigned char)__avx10_version >= __v); } - -$LN7: - 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00004 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 00008 55 push rbp - 00009 57 push rdi - 0000a 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 00011 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00016 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__F2B616C3_immintrin@h - 0001d e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00022 90 npad 1 - 00023 8b 85 f0 00 00 - 00 mov eax, DWORD PTR __x$[rbp] - 00029 48 23 05 00 00 - 00 00 and rax, QWORD PTR __isa_inverted - 00030 48 85 c0 test rax, rax - 00033 75 1b jne SHORT $LN3@check_isa_ - 00035 0f b6 05 00 00 - 00 00 movzx eax, BYTE PTR __avx10_version - 0003c 3b 85 f8 00 00 - 00 cmp eax, DWORD PTR __v$[rbp] - 00042 72 0c jb SHORT $LN3@check_isa_ - 00044 c7 85 c0 00 00 - 00 01 00 00 00 mov DWORD PTR tv69[rbp], 1 - 0004e eb 0a jmp SHORT $LN4@check_isa_ -$LN3@check_isa_: - 00050 c7 85 c0 00 00 - 00 00 00 00 00 mov DWORD PTR tv69[rbp], 0 -$LN4@check_isa_: - 0005a 83 bd c0 00 00 - 00 00 cmp DWORD PTR tv69[rbp], 0 - 00061 75 0c jne SHORT $LN5@check_isa_ - 00063 c7 85 c4 00 00 - 00 00 00 00 00 mov DWORD PTR tv71[rbp], 0 - 0006d eb 0a jmp SHORT $LN6@check_isa_ -$LN5@check_isa_: - 0006f c7 85 c4 00 00 - 00 01 00 00 00 mov DWORD PTR tv71[rbp], 1 -$LN6@check_isa_: - 00079 0f b6 85 c4 00 - 00 00 movzx eax, BYTE PTR tv71[rbp] - 00080 48 8d a5 d8 00 - 00 00 lea rsp, QWORD PTR [rbp+216] - 00087 5f pop rdi - 00088 5d pop rbp - 00089 c3 ret 0 -__check_isa_support ENDP -_TEXT ENDS -END diff --git a/StgSharp.Native/x64/Debug/intrinsic.obj b/StgSharp.Native/x64/Debug/intrinsic.obj deleted file mode 100644 index f908294b..00000000 Binary files a/StgSharp.Native/x64/Debug/intrinsic.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/intrinsic.sbr b/StgSharp.Native/x64/Debug/intrinsic.sbr deleted file mode 100644 index 9238ea45..00000000 Binary files a/StgSharp.Native/x64/Debug/intrinsic.sbr and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/load_glfw.cod b/StgSharp.Native/x64/Debug/load_glfw.cod deleted file mode 100644 index c51729d3..00000000 --- a/StgSharp.Native/x64/Debug/load_glfw.cod +++ /dev/null @@ -1,1336 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.44.35215.0 - -include listing.inc - -INCLUDELIB MSVCRTD -INCLUDELIB OLDNAMES - -_DATA SEGMENT -COMM infolog:BYTE:0200H -_DATA ENDS -msvcjmc SEGMENT -__5C8CA4D3_mmintrin@h DB 01H -__8C83BECC_concurrencysal@h DB 01H -__608E3340_sal@h DB 01H -__FB67E29A_vadefs@h DB 01H -__1D1B619C_vcruntime@h DB 01H -__735960E1_corecrt@h DB 01H -__211DB995_corecrt_malloc@h DB 01H -__7CD62D9E_malloc@h DB 01H -__9DCE0DC8_xmmintrin@h DB 01H -__4C2AD0C7_winpackagefamily@h DB 01H -__9DED9ED1_winapifamily@h DB 01H -__12FEDF4E_sdkddkver@h DB 01H -__9BAEE128_excpt@h DB 01H -__B7B53233_stdarg@h DB 01H -__6B04FCB3_specstrings_undef@h DB 01H -__F4027AF7_specstrings_strict@h DB 01H -__B90340D4_sdv_driverspecs@h DB 01H -__BFFF5AD3_driverspecs@h DB 01H -__32847078_specstrings@h DB 01H -__108B2620_corecrt_wctype@h DB 01H -__6CD6613D_ctype@h DB 01H -__30902A1F_kernelspecs@h DB 01H -__376FD5CA_basetsd@h DB 01H -__13DE2371_errno@h DB 01H -__8C6AE390_vcruntime_string@h DB 01H -__8ACB2152_corecrt_memcpy_s@h DB 01H -__EA6C9D17_corecrt_memory@h DB 01H -__0DF2AF52_corecrt_wstring@h DB 01H -__6E889ECC_string@h DB 01H -__9BEDF4DE_guiddef@h DB 01H -__51BFD2FE_pshpack4@h DB 01H -__31652CEA_poppack@h DB 01H -__5532AE4C_pshpack2@h DB 01H -__58A52B9A_pshpack8@h DB 01H -__57741015_pshpack1@h DB 01H -__CDE68C90_apiset@h DB 01H -__0BF06E8D_ktmtypes@h DB 01H -__40C200C0_winnt@h DB 01H -__9336F789_minwindef@h DB 01H -__55136115_windef@h DB 01H -__32205BF0_apisetcconv@h DB 01H -__B48FDEA0_minwinbase@h DB 01H -__3551B028_apiquery2@h DB 01H -__65BE04AA_processenv@h DB 01H -__4767CA46_fileapi@h DB 01H -__282E6C4B_fileapifromapp@h DB 01H -__393AF12C_debugapi@h DB 01H -__EBC502B8_utilapiset@h DB 01H -__1EAD8C69_handleapi@h DB 01H -__D8EF9B29_errhandlingapi@h DB 01H -__97FC1204_fibersapi@h DB 01H -__27448220_namedpipeapi@h DB 01H -__6EA33B2A_profileapi@h DB 01H -__EAC6F673_heapapi@h DB 01H -__D64EEA5A_ioapiset@h DB 01H -__144BD4B6_synchapi@h DB 01H -__03B1C640_interlockedapi@h DB 01H -__DC64CB38_processthreadsapi@h DB 01H -__D719B518_sysinfoapi@h DB 01H -__410385B1_memoryapi@h DB 01H -__C1AD45EF_enclaveapi@h DB 01H -__F4C3AA32_threadpoollegacyapiset@h DB 01H -__AC5A7A9F_threadpoolapiset@h DB 01H -__F5254B21_jobapi@h DB 01H -__BCEA6EE8_jobapi2@h DB 01H -__D18ACE72_wow64apiset@h DB 01H -__669B0D4A_libloaderapi@h DB 01H -__645F7034_securitybaseapi@h DB 01H -__67E58557_namespaceapi@h DB 01H -__599D9D3A_systemtopologyapi@h DB 01H -__2337E373_processtopologyapi@h DB 01H -__02BFF239_securityappcontainer@h DB 01H -__9C196272_realtimeapiset@h DB 01H -__5AB313A4_winerror@h DB 01H -__B7E7187B_timezoneapi@h DB 01H -__6DE9EB6F_winbase@h DB 01H -__56B2AFF2_wingdi@h DB 01H -__BA1161A9_tvout@h DB 01H -__0501A018_winuser@h DB 01H -__EF12FA99_datetimeapi@h DB 01H -__8FA7C3CA_winnls@h DB 01H -__390F0C47_stringapiset@h DB 01H -__28605B0A_wincontypes@h DB 01H -__BFBDE86D_consoleapi@h DB 01H -__C3CAFBF0_consoleapi2@h DB 01H -__C20891C7_consoleapi3@h DB 01H -__717C98B6_wincon@h DB 01H -__2884C177_verrsrc@h DB 01H -__A3FD3A34_winver@h DB 01H -__6F8AD9F1_reason@h DB 01H -__4C90FD6F_winreg@h DB 01H -__68AFEBAD_wnnc@h DB 01H -__5A7AB086_winnetwk@h DB 01H -__2FE8A10C_stralign@h DB 01H -__34558472_winsvc@h DB 01H -__058845F1_mcx@h DB 01H -__7F16006B_ime_cmodes@h DB 01H -__0A3AF599_imm@h DB 01H -__9349FE86_windows@h DB 01H -__639A050C_sn_internal@h DB 01H -__60B45B40_corecrt_stdio_config@h DB 01H -__CFA3741E_corecrt_wstdio@h DB 01H -__B3FE3303_stdio@h DB 01H -__955456CD_stddef@h DB 01H -__99AED4FB_corecrt_search@h DB 01H -__8B813BF6_corecrt_wstdlib@h DB 01H -__3D1CA2C3_limits@h DB 01H -__E8FB0A68_stdlib@h DB 01H -__C363A436_stb_image@h DB 01H -__836A8CFC_stdint@h DB 01H -__C95DC661_khrplatform@h DB 01H -__6C577136_gl@h DB 01H -__EE638A2C_wgl@h DB 01H -__E76F0EB7_glfw3@h DB 01H -__F8AC8404_emmintrin@h DB 01H -__270DEC8D_pmmintrin@h DB 01H -__97D49F0F_tmmintrin@h DB 01H -__BEEF8A8C_smmintrin@h DB 01H -__DB8D0340_nmmintrin@h DB 01H -__0E36F90E_wmmintrin@h DB 01H -__C5A2B409_zmmintrin@h DB 01H -__F2B616C3_immintrin@h DB 01H -__9FB25DBE_assert@h DB 01H -__4E664295_glfw_function@h DB 01H -__64C0EF11_StgSharpNative@h DB 01H -__2C019110_load_glfw@c DB 01H -msvcjmc ENDS -PUBLIC load_glfw_functions -PUBLIC __JustMyCode_Default -EXTRN glfwInit:PROC -EXTRN glfwTerminate:PROC -EXTRN glfwInitHint:PROC -EXTRN glfwGetVersion:PROC -EXTRN glfwGetVersionString:PROC -EXTRN glfwGetError:PROC -EXTRN glfwSetErrorCallback:PROC -EXTRN glfwGetMonitors:PROC -EXTRN glfwGetPrimaryMonitor:PROC -EXTRN glfwGetMonitorPos:PROC -EXTRN glfwGetMonitorWorkarea:PROC -EXTRN glfwGetMonitorPhysicalSize:PROC -EXTRN glfwGetMonitorContentScale:PROC -EXTRN glfwGetMonitorName:PROC -EXTRN glfwSetMonitorUserPointer:PROC -EXTRN glfwGetMonitorUserPointer:PROC -EXTRN glfwSetMonitorCallback:PROC -EXTRN glfwGetVideoModes:PROC -EXTRN glfwGetVideoMode:PROC -EXTRN glfwSetGamma:PROC -EXTRN glfwGetGammaRamp:PROC -EXTRN glfwSetGammaRamp:PROC -EXTRN glfwDefaultWindowHints:PROC -EXTRN glfwWindowHint:PROC -EXTRN glfwWindowHintString:PROC -EXTRN glfwCreateWindow:PROC -EXTRN glfwDestroyWindow:PROC -EXTRN glfwWindowShouldClose:PROC -EXTRN glfwSetWindowShouldClose:PROC -EXTRN glfwSetWindowTitle:PROC -EXTRN glfwSetWindowIcon:PROC -EXTRN glfwGetWindowPos:PROC -EXTRN glfwSetWindowPos:PROC -EXTRN glfwGetWindowSize:PROC -EXTRN glfwSetWindowSizeLimits:PROC -EXTRN glfwSetWindowAspectRatio:PROC -EXTRN glfwSetWindowSize:PROC -EXTRN glfwGetFramebufferSize:PROC -EXTRN glfwGetWindowFrameSize:PROC -EXTRN glfwGetWindowContentScale:PROC -EXTRN glfwGetWindowOpacity:PROC -EXTRN glfwSetWindowOpacity:PROC -EXTRN glfwIconifyWindow:PROC -EXTRN glfwRestoreWindow:PROC -EXTRN glfwMaximizeWindow:PROC -EXTRN glfwShowWindow:PROC -EXTRN glfwHideWindow:PROC -EXTRN glfwFocusWindow:PROC -EXTRN glfwRequestWindowAttention:PROC -EXTRN glfwGetWindowMonitor:PROC -EXTRN glfwSetWindowMonitor:PROC -EXTRN glfwGetWindowAttrib:PROC -EXTRN glfwSetWindowAttrib:PROC -EXTRN glfwSetWindowUserPointer:PROC -EXTRN glfwGetWindowUserPointer:PROC -EXTRN glfwSetWindowPosCallback:PROC -EXTRN glfwSetWindowSizeCallback:PROC -EXTRN glfwSetWindowCloseCallback:PROC -EXTRN glfwSetWindowRefreshCallback:PROC -EXTRN glfwSetWindowFocusCallback:PROC -EXTRN glfwSetWindowIconifyCallback:PROC -EXTRN glfwSetWindowMaximizeCallback:PROC -EXTRN glfwSetFramebufferSizeCallback:PROC -EXTRN glfwSetWindowContentScaleCallback:PROC -EXTRN glfwPollEvents:PROC -EXTRN glfwWaitEvents:PROC -EXTRN glfwWaitEventsTimeout:PROC -EXTRN glfwPostEmptyEvent:PROC -EXTRN glfwGetInputMode:PROC -EXTRN glfwSetInputMode:PROC -EXTRN glfwRawMouseMotionSupported:PROC -EXTRN glfwGetKeyName:PROC -EXTRN glfwGetKeyScancode:PROC -EXTRN glfwGetKey:PROC -EXTRN glfwGetMouseButton:PROC -EXTRN glfwGetCursorPos:PROC -EXTRN glfwSetCursorPos:PROC -EXTRN glfwCreateCursor:PROC -EXTRN glfwCreateStandardCursor:PROC -EXTRN glfwDestroyCursor:PROC -EXTRN glfwSetCursor:PROC -EXTRN glfwSetKeyCallback:PROC -EXTRN glfwSetCharCallback:PROC -EXTRN glfwSetCharModsCallback:PROC -EXTRN glfwSetMouseButtonCallback:PROC -EXTRN glfwSetCursorPosCallback:PROC -EXTRN glfwSetCursorEnterCallback:PROC -EXTRN glfwSetScrollCallback:PROC -EXTRN glfwSetDropCallback:PROC -EXTRN glfwJoystickPresent:PROC -EXTRN glfwGetJoystickAxes:PROC -EXTRN glfwGetJoystickButtons:PROC -EXTRN glfwGetJoystickHats:PROC -EXTRN glfwGetJoystickName:PROC -EXTRN glfwGetJoystickGUID:PROC -EXTRN glfwGetJoystickUserPointer:PROC -EXTRN glfwJoystickIsGamepad:PROC -EXTRN glfwSetJoystickCallback:PROC -EXTRN glfwUpdateGamepadMappings:PROC -EXTRN glfwGetGamepadName:PROC -EXTRN glfwGetGamepadState:PROC -EXTRN glfwSetClipboardString:PROC -EXTRN glfwGetClipboardString:PROC -EXTRN glfwGetTime:PROC -EXTRN glfwSetTime:PROC -EXTRN glfwGetTimerValue:PROC -EXTRN glfwGetTimerFrequency:PROC -EXTRN glfwMakeContextCurrent:PROC -EXTRN glfwGetCurrentContext:PROC -EXTRN glfwSwapBuffers:PROC -EXTRN glfwSwapInterval:PROC -EXTRN glfwExtensionSupported:PROC -EXTRN glfwGetProcAddress:PROC -EXTRN glfwVulkanSupported:PROC -EXTRN glfwGetRequiredInstanceExtensions:PROC -EXTRN _RTC_InitBase:PROC -EXTRN _RTC_Shutdown:PROC -EXTRN __CheckForDebuggerJustMyCode:PROC -; COMDAT pdata -pdata SEGMENT -$pdata$load_glfw_functions DD imagerel $LN3 - DD imagerel $LN3+2408 - DD imagerel $unwind$load_glfw_functions -pdata ENDS -; COMDAT rtc$TMZ -rtc$TMZ SEGMENT -_RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown -rtc$TMZ ENDS -; COMDAT rtc$IMZ -rtc$IMZ SEGMENT -_RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase -rtc$IMZ ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$load_glfw_functions DD 025051301H - DD 010e2313H - DD 07007001dH - DD 05006H -xdata ENDS -; Function compile flags: /Odt -; COMDAT __JustMyCode_Default -_TEXT SEGMENT -__JustMyCode_Default PROC ; COMDAT - 00000 c2 00 00 ret 0 -__JustMyCode_Default ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\load_glfw.c -; COMDAT load_glfw_functions -_TEXT SEGMENT -table$ = 224 -load_glfw_functions PROC ; COMDAT - -; 6 : { - -$LN3: - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__2C019110_load_glfw@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 7 : table->glfwInit = glfwInit; - - 00020 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00027 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwInit - 0002e 48 89 88 b0 01 - 00 00 mov QWORD PTR [rax+432], rcx - -; 8 : table->glfwTerminate = glfwTerminate; - - 00035 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0003c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwTerminate - 00043 48 89 88 58 03 - 00 00 mov QWORD PTR [rax+856], rcx - -; 9 : table->glfwInitHint = glfwInitHint; - - 0004a 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00051 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwInitHint - 00058 48 89 88 b8 01 - 00 00 mov QWORD PTR [rax+440], rcx - -; 10 : table->glfwGetVersion = glfwGetVersion; - - 0005f 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00066 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetVersion - 0006d 48 89 88 40 01 - 00 00 mov QWORD PTR [rax+320], rcx - -; 11 : table->glfwGetVersionString = glfwGetVersionString; - - 00074 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0007b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetVersionString - 00082 48 89 88 48 01 - 00 00 mov QWORD PTR [rax+328], rcx - -; 12 : table->glfwGetError = glfwGetError; - - 00089 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00090 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetError - 00097 48 89 48 58 mov QWORD PTR [rax+88], rcx - -; 13 : table->glfwSetErrorCallback = glfwSetErrorCallback; - - 0009b 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 000a2 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetErrorCallback - 000a9 48 89 88 48 02 - 00 00 mov QWORD PTR [rax+584], rcx - -; 14 : table->glfwGetMonitors = glfwGetMonitors; - - 000b0 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 000b7 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetMonitors - 000be 48 89 88 00 01 - 00 00 mov QWORD PTR [rax+256], rcx - -; 15 : table->glfwGetPrimaryMonitor = glfwGetPrimaryMonitor; - - 000c5 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 000cc 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetPrimaryMonitor - 000d3 48 89 88 10 01 - 00 00 mov QWORD PTR [rax+272], rcx - -; 16 : table->glfwGetMonitorPos = glfwGetMonitorPos; - - 000da 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 000e1 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetMonitorPos - 000e8 48 89 88 e8 00 - 00 00 mov QWORD PTR [rax+232], rcx - -; 17 : table->glfwGetMonitorWorkarea = glfwGetMonitorWorkarea; - - 000ef 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 000f6 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetMonitorWorkarea - 000fd 48 89 88 f8 00 - 00 00 mov QWORD PTR [rax+248], rcx - -; 18 : table->glfwGetMonitorPhysicalSize = glfwGetMonitorPhysicalSize; - - 00104 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0010b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetMonitorPhysicalSize - 00112 48 89 88 e0 00 - 00 00 mov QWORD PTR [rax+224], rcx - -; 19 : table->glfwGetMonitorContentScale = glfwGetMonitorContentScale; - - 00119 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00120 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetMonitorContentScale - 00127 48 89 88 d0 00 - 00 00 mov QWORD PTR [rax+208], rcx - -; 20 : table->glfwGetMonitorName = glfwGetMonitorName; - - 0012e 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00135 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetMonitorName - 0013c 48 89 88 d8 00 - 00 00 mov QWORD PTR [rax+216], rcx - -; 21 : table->glfwSetMonitorUserPointer = glfwSetMonitorUserPointer; - - 00143 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0014a 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetMonitorUserPointer - 00151 48 89 88 88 02 - 00 00 mov QWORD PTR [rax+648], rcx - -; 22 : table->glfwGetMonitorUserPointer = glfwGetMonitorUserPointer; - - 00158 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0015f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetMonitorUserPointer - 00166 48 89 88 f0 00 - 00 00 mov QWORD PTR [rax+240], rcx - -; 23 : table->glfwSetMonitorCallback = glfwSetMonitorCallback; - - 0016d 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00174 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetMonitorCallback - 0017b 48 89 88 80 02 - 00 00 mov QWORD PTR [rax+640], rcx - -; 24 : table->glfwGetVideoModes = glfwGetVideoModes; - - 00182 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00189 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetVideoModes - 00190 48 89 88 58 01 - 00 00 mov QWORD PTR [rax+344], rcx - -; 25 : table->glfwGetVideoMode = glfwGetVideoMode; - - 00197 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0019e 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetVideoMode - 001a5 48 89 88 50 01 - 00 00 mov QWORD PTR [rax+336], rcx - -; 26 : table->glfwSetGamma = glfwSetGamma; - - 001ac 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 001b3 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetGamma - 001ba 48 89 88 58 02 - 00 00 mov QWORD PTR [rax+600], rcx - -; 27 : table->glfwGetGammaRamp = glfwGetGammaRamp; - - 001c1 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 001c8 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetGammaRamp - 001cf 48 89 48 78 mov QWORD PTR [rax+120], rcx - -; 28 : table->glfwSetGammaRamp = glfwSetGammaRamp; - - 001d3 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 001da 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetGammaRamp - 001e1 48 89 88 60 02 - 00 00 mov QWORD PTR [rax+608], rcx - -; 29 : table->glfwDefaultWindowHints = glfwDefaultWindowHints; - - 001e8 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 001ef 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwDefaultWindowHints - 001f6 48 89 48 18 mov QWORD PTR [rax+24], rcx - -; 30 : table->glfwWindowHint = glfwWindowHint; - - 001fa 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00201 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwWindowHint - 00208 48 89 88 80 03 - 00 00 mov QWORD PTR [rax+896], rcx - -; 31 : table->glfwWindowHintString = glfwWindowHintString; - - 0020f 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00216 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwWindowHintString - 0021d 48 89 88 88 03 - 00 00 mov QWORD PTR [rax+904], rcx - -; 32 : table->glfwCreateWindow = glfwCreateWindow; - - 00224 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0022b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwCreateWindow - 00232 48 89 48 10 mov QWORD PTR [rax+16], rcx - -; 33 : table->glfwDestroyWindow = glfwDestroyWindow; - - 00236 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0023d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwDestroyWindow - 00244 48 89 48 28 mov QWORD PTR [rax+40], rcx - -; 34 : table->glfwWindowShouldClose = glfwWindowShouldClose; - - 00248 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0024f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwWindowShouldClose - 00256 48 89 88 90 03 - 00 00 mov QWORD PTR [rax+912], rcx - -; 35 : table->glfwSetWindowShouldClose = glfwSetWindowShouldClose; - - 0025d 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00264 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetWindowShouldClose - 0026b 48 89 88 10 03 - 00 00 mov QWORD PTR [rax+784], rcx - -; 36 : table->glfwSetWindowTitle = glfwSetWindowTitle; - - 00272 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00279 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetWindowTitle - 00280 48 89 88 30 03 - 00 00 mov QWORD PTR [rax+816], rcx - -; 37 : table->glfwSetWindowIcon = glfwSetWindowIcon; - - 00287 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0028e 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetWindowIcon - 00295 48 89 88 d0 02 - 00 00 mov QWORD PTR [rax+720], rcx - -; 38 : table->glfwGetWindowPos = glfwGetWindowPos; - - 0029c 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 002a3 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetWindowPos - 002aa 48 89 88 88 01 - 00 00 mov QWORD PTR [rax+392], rcx - -; 39 : table->glfwSetWindowPos = glfwSetWindowPos; - - 002b1 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 002b8 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetWindowPos - 002bf 48 89 88 f8 02 - 00 00 mov QWORD PTR [rax+760], rcx - -; 40 : table->glfwGetWindowSize = glfwGetWindowSize; - - 002c6 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 002cd 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetWindowSize - 002d4 48 89 88 90 01 - 00 00 mov QWORD PTR [rax+400], rcx - -; 41 : table->glfwSetWindowSizeLimits = glfwSetWindowSizeLimits; - - 002db 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 002e2 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetWindowSizeLimits - 002e9 48 89 88 28 03 - 00 00 mov QWORD PTR [rax+808], rcx - -; 42 : table->glfwSetWindowAspectRatio = glfwSetWindowAspectRatio; - - 002f0 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 002f7 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetWindowAspectRatio - 002fe 48 89 88 a8 02 - 00 00 mov QWORD PTR [rax+680], rcx - -; 43 : table->glfwSetWindowSize = glfwSetWindowSize; - - 00305 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0030c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetWindowSize - 00313 48 89 88 18 03 - 00 00 mov QWORD PTR [rax+792], rcx - -; 44 : table->glfwGetFramebufferSize = glfwGetFramebufferSize; - - 0031a 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00321 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetFramebufferSize - 00328 48 89 48 60 mov QWORD PTR [rax+96], rcx - -; 45 : table->glfwGetWindowFrameSize = glfwGetWindowFrameSize; - - 0032c 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00333 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetWindowFrameSize - 0033a 48 89 88 70 01 - 00 00 mov QWORD PTR [rax+368], rcx - -; 46 : table->glfwGetWindowContentScale = glfwGetWindowContentScale; - - 00341 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00348 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetWindowContentScale - 0034f 48 89 88 68 01 - 00 00 mov QWORD PTR [rax+360], rcx - -; 47 : table->glfwGetWindowOpacity = glfwGetWindowOpacity; - - 00356 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0035d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetWindowOpacity - 00364 48 89 88 80 01 - 00 00 mov QWORD PTR [rax+384], rcx - -; 48 : table->glfwSetWindowOpacity = glfwSetWindowOpacity; - - 0036b 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00372 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetWindowOpacity - 00379 48 89 88 f0 02 - 00 00 mov QWORD PTR [rax+752], rcx - -; 49 : table->glfwIconifyWindow = glfwIconifyWindow; - - 00380 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00387 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwIconifyWindow - 0038e 48 89 88 a8 01 - 00 00 mov QWORD PTR [rax+424], rcx - -; 50 : table->glfwRestoreWindow = glfwRestoreWindow; - - 00395 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0039c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwRestoreWindow - 003a3 48 89 88 00 02 - 00 00 mov QWORD PTR [rax+512], rcx - -; 51 : table->glfwMaximizeWindow = glfwMaximizeWindow; - - 003aa 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 003b1 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwMaximizeWindow - 003b8 48 89 88 d8 01 - 00 00 mov QWORD PTR [rax+472], rcx - -; 52 : table->glfwShowWindow = glfwShowWindow; - - 003bf 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 003c6 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwShowWindow - 003cd 48 89 88 40 03 - 00 00 mov QWORD PTR [rax+832], rcx - -; 53 : table->glfwHideWindow = glfwHideWindow; - - 003d4 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 003db 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwHideWindow - 003e2 48 89 88 a0 01 - 00 00 mov QWORD PTR [rax+416], rcx - -; 54 : table->glfwFocusWindow = glfwFocusWindow; - - 003e9 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 003f0 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwFocusWindow - 003f7 48 89 48 38 mov QWORD PTR [rax+56], rcx - -; 55 : table->glfwRequestWindowAttention = glfwRequestWindowAttention; - - 003fb 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00402 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwRequestWindowAttention - 00409 48 89 88 f8 01 - 00 00 mov QWORD PTR [rax+504], rcx - -; 56 : table->glfwGetWindowMonitor = glfwGetWindowMonitor; - - 00410 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00417 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetWindowMonitor - 0041e 48 89 88 78 01 - 00 00 mov QWORD PTR [rax+376], rcx - -; 57 : table->glfwSetWindowMonitor = glfwSetWindowMonitor; - - 00425 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0042c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetWindowMonitor - 00433 48 89 88 e8 02 - 00 00 mov QWORD PTR [rax+744], rcx - -; 58 : table->glfwGetWindowAttrib = glfwGetWindowAttrib; - - 0043a 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00441 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetWindowAttrib - 00448 48 89 88 60 01 - 00 00 mov QWORD PTR [rax+352], rcx - -; 59 : table->glfwSetWindowAttrib = glfwSetWindowAttrib; - - 0044f 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00456 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetWindowAttrib - 0045d 48 89 88 b0 02 - 00 00 mov QWORD PTR [rax+688], rcx - -; 60 : table->glfwSetWindowUserPointer = glfwSetWindowUserPointer; - - 00464 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0046b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetWindowUserPointer - 00472 48 89 88 38 03 - 00 00 mov QWORD PTR [rax+824], rcx - -; 61 : table->glfwGetWindowUserPointer = glfwGetWindowUserPointer; - - 00479 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00480 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetWindowUserPointer - 00487 48 89 88 98 01 - 00 00 mov QWORD PTR [rax+408], rcx - -; 62 : table->glfwSetWindowPosCallback = glfwSetWindowPosCallback; - - 0048e 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00495 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetWindowPosCallback - 0049c 48 89 88 00 03 - 00 00 mov QWORD PTR [rax+768], rcx - -; 63 : table->glfwSetWindowSizeCallback = glfwSetWindowSizeCallback; - - 004a3 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 004aa 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetWindowSizeCallback - 004b1 48 89 88 20 03 - 00 00 mov QWORD PTR [rax+800], rcx - -; 64 : table->glfwSetWindowCloseCallback = glfwSetWindowCloseCallback; - - 004b8 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 004bf 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetWindowCloseCallback - 004c6 48 89 88 b8 02 - 00 00 mov QWORD PTR [rax+696], rcx - -; 65 : table->glfwSetWindowRefreshCallback = glfwSetWindowRefreshCallback; - - 004cd 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 004d4 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetWindowRefreshCallback - 004db 48 89 88 08 03 - 00 00 mov QWORD PTR [rax+776], rcx - -; 66 : table->glfwSetWindowFocusCallback = glfwSetWindowFocusCallback; - - 004e2 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 004e9 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetWindowFocusCallback - 004f0 48 89 88 c8 02 - 00 00 mov QWORD PTR [rax+712], rcx - -; 67 : table->glfwSetWindowIconifyCallback = glfwSetWindowIconifyCallback; - - 004f7 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 004fe 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetWindowIconifyCallback - 00505 48 89 88 d8 02 - 00 00 mov QWORD PTR [rax+728], rcx - -; 68 : table->glfwSetWindowMaximizeCallback = glfwSetWindowMaximizeCallback; - - 0050c 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00513 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetWindowMaximizeCallback - 0051a 48 89 88 e0 02 - 00 00 mov QWORD PTR [rax+736], rcx - -; 69 : table->glfwSetFramebufferSizeCallback = glfwSetFramebufferSizeCallback; - - 00521 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00528 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetFramebufferSizeCallback - 0052f 48 89 88 50 02 - 00 00 mov QWORD PTR [rax+592], rcx - -; 70 : table->glfwSetWindowContentScaleCallback = glfwSetWindowContentScaleCallback; - - 00536 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0053d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetWindowContentScaleCallback - 00544 48 89 88 c0 02 - 00 00 mov QWORD PTR [rax+704], rcx - -; 71 : table->glfwPollEvents = glfwPollEvents; - - 0054b 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00552 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwPollEvents - 00559 48 89 88 e0 01 - 00 00 mov QWORD PTR [rax+480], rcx - -; 72 : table->glfwWaitEvents = glfwWaitEvents; - - 00560 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00567 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwWaitEvents - 0056e 48 89 88 70 03 - 00 00 mov QWORD PTR [rax+880], rcx - -; 73 : table->glfwWaitEventsTimeout = glfwWaitEventsTimeout; - - 00575 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0057c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwWaitEventsTimeout - 00583 48 89 88 78 03 - 00 00 mov QWORD PTR [rax+888], rcx - -; 74 : table->glfwPostEmptyEvent = glfwPostEmptyEvent; - - 0058a 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00591 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwPostEmptyEvent - 00598 48 89 88 e8 01 - 00 00 mov QWORD PTR [rax+488], rcx - -; 75 : table->glfwGetInputMode = glfwGetInputMode; - - 0059f 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 005a6 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetInputMode - 005ad 48 89 88 80 00 - 00 00 mov QWORD PTR [rax+128], rcx - -; 76 : table->glfwSetInputMode = glfwSetInputMode; - - 005b4 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 005bb 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetInputMode - 005c2 48 89 88 68 02 - 00 00 mov QWORD PTR [rax+616], rcx - -; 77 : table->glfwRawMouseMotionSupported = glfwRawMouseMotionSupported; - - 005c9 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 005d0 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwRawMouseMotionSupported - 005d7 48 89 88 f0 01 - 00 00 mov QWORD PTR [rax+496], rcx - -; 78 : table->glfwGetKeyName = glfwGetKeyName; - - 005de 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 005e5 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetKeyName - 005ec 48 89 88 c0 00 - 00 00 mov QWORD PTR [rax+192], rcx - -; 79 : table->glfwGetKeyScancode = glfwGetKeyScancode; - - 005f3 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 005fa 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetKeyScancode - 00601 48 89 88 c8 00 - 00 00 mov QWORD PTR [rax+200], rcx - -; 80 : table->glfwGetKey = glfwGetKey; - - 00608 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0060f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetKey - 00616 48 89 88 b8 00 - 00 00 mov QWORD PTR [rax+184], rcx - -; 81 : table->glfwGetMouseButton = glfwGetMouseButton; - - 0061d 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00624 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetMouseButton - 0062b 48 89 88 08 01 - 00 00 mov QWORD PTR [rax+264], rcx - -; 82 : table->glfwGetCursorPos = glfwGetCursorPos; - - 00632 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00639 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetCursorPos - 00640 48 89 48 50 mov QWORD PTR [rax+80], rcx - -; 83 : table->glfwSetCursorPos = glfwSetCursorPos; - - 00644 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0064b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetCursorPos - 00652 48 89 88 18 02 - 00 00 mov QWORD PTR [rax+536], rcx - -; 84 : table->glfwCreateCursor = glfwCreateCursor; - - 00659 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00660 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwCreateCursor - 00667 48 89 08 mov QWORD PTR [rax], rcx - -; 85 : table->glfwCreateStandardCursor = glfwCreateStandardCursor; - - 0066a 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00671 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwCreateStandardCursor - 00678 48 89 48 08 mov QWORD PTR [rax+8], rcx - -; 86 : table->glfwDestroyCursor = glfwDestroyCursor; - - 0067c 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00683 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwDestroyCursor - 0068a 48 89 48 20 mov QWORD PTR [rax+32], rcx - -; 87 : table->glfwSetCursor = glfwSetCursor; - - 0068e 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00695 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetCursor - 0069c 48 89 88 10 02 - 00 00 mov QWORD PTR [rax+528], rcx - -; 88 : table->glfwSetKeyCallback = glfwSetKeyCallback; - - 006a3 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 006aa 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetKeyCallback - 006b1 48 89 88 78 02 - 00 00 mov QWORD PTR [rax+632], rcx - -; 89 : table->glfwSetCharCallback = glfwSetCharCallback; - - 006b8 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 006bf 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetCharCallback - 006c6 48 89 88 20 02 - 00 00 mov QWORD PTR [rax+544], rcx - -; 90 : table->glfwSetCharModsCallback = glfwSetCharModsCallback; - - 006cd 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 006d4 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetCharModsCallback - 006db 48 89 88 28 02 - 00 00 mov QWORD PTR [rax+552], rcx - -; 91 : table->glfwSetMouseButtonCallback = glfwSetMouseButtonCallback; - - 006e2 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 006e9 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetMouseButtonCallback - 006f0 48 89 88 90 02 - 00 00 mov QWORD PTR [rax+656], rcx - -; 92 : table->glfwSetCursorPosCallback = glfwSetCursorPosCallback; - - 006f7 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 006fe 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetCursorPosCallback - 00705 48 89 88 38 02 - 00 00 mov QWORD PTR [rax+568], rcx - -; 93 : table->glfwSetCursorEnterCallback = glfwSetCursorEnterCallback; - - 0070c 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00713 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetCursorEnterCallback - 0071a 48 89 88 30 02 - 00 00 mov QWORD PTR [rax+560], rcx - -; 94 : table->glfwSetScrollCallback = glfwSetScrollCallback; - - 00721 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00728 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetScrollCallback - 0072f 48 89 88 98 02 - 00 00 mov QWORD PTR [rax+664], rcx - -; 95 : table->glfwSetDropCallback = glfwSetDropCallback; - - 00736 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0073d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetDropCallback - 00744 48 89 88 40 02 - 00 00 mov QWORD PTR [rax+576], rcx - -; 96 : table->glfwJoystickPresent = glfwJoystickPresent; - - 0074b 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00752 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwJoystickPresent - 00759 48 89 88 c8 01 - 00 00 mov QWORD PTR [rax+456], rcx - -; 97 : table->glfwGetJoystickAxes = glfwGetJoystickAxes; - - 00760 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00767 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetJoystickAxes - 0076e 48 89 88 88 00 - 00 00 mov QWORD PTR [rax+136], rcx - -; 98 : table->glfwGetJoystickButtons = glfwGetJoystickButtons; - - 00775 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0077c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetJoystickButtons - 00783 48 89 88 90 00 - 00 00 mov QWORD PTR [rax+144], rcx - -; 99 : table->glfwGetJoystickGUID = glfwGetJoystickGUID; - - 0078a 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00791 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetJoystickGUID - 00798 48 89 88 98 00 - 00 00 mov QWORD PTR [rax+152], rcx - -; 100 : table->glfwGetJoystickHats = glfwGetJoystickHats; - - 0079f 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 007a6 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetJoystickHats - 007ad 48 89 88 a0 00 - 00 00 mov QWORD PTR [rax+160], rcx - -; 101 : table->glfwGetJoystickName = glfwGetJoystickName; - - 007b4 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 007bb 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetJoystickName - 007c2 48 89 88 a8 00 - 00 00 mov QWORD PTR [rax+168], rcx - -; 102 : table->glfwGetJoystickUserPointer = glfwGetJoystickUserPointer; - - 007c9 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 007d0 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetJoystickUserPointer - 007d7 48 89 88 b0 00 - 00 00 mov QWORD PTR [rax+176], rcx - -; 103 : table->glfwJoystickIsGamepad = glfwJoystickIsGamepad; - - 007de 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 007e5 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwJoystickIsGamepad - 007ec 48 89 88 c0 01 - 00 00 mov QWORD PTR [rax+448], rcx - -; 104 : table->glfwSetJoystickCallback = glfwSetJoystickCallback; - - 007f3 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 007fa 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetJoystickCallback - 00801 48 89 88 70 02 - 00 00 mov QWORD PTR [rax+624], rcx - -; 105 : table->glfwUpdateGamepadMappings = glfwUpdateGamepadMappings; - - 00808 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0080f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwUpdateGamepadMappings - 00816 48 89 88 60 03 - 00 00 mov QWORD PTR [rax+864], rcx - -; 106 : table->glfwGetGamepadName = glfwGetGamepadName; - - 0081d 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00824 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetGamepadName - 0082b 48 89 48 68 mov QWORD PTR [rax+104], rcx - -; 107 : table->glfwGetGamepadState = glfwGetGamepadState; - - 0082f 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00836 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetGamepadState - 0083d 48 89 48 70 mov QWORD PTR [rax+112], rcx - -; 108 : table->glfwSetClipboardString = glfwSetClipboardString; - - 00841 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00848 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetClipboardString - 0084f 48 89 88 08 02 - 00 00 mov QWORD PTR [rax+520], rcx - -; 109 : table->glfwGetClipboardString = glfwGetClipboardString; - - 00856 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0085d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetClipboardString - 00864 48 89 48 40 mov QWORD PTR [rax+64], rcx - -; 110 : table->glfwGetTime = glfwGetTime; - - 00868 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0086f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetTime - 00876 48 89 88 28 01 - 00 00 mov QWORD PTR [rax+296], rcx - -; 111 : table->glfwSetTime = glfwSetTime; - - 0087d 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00884 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSetTime - 0088b 48 89 88 a0 02 - 00 00 mov QWORD PTR [rax+672], rcx - -; 112 : table->glfwGetTimerValue = glfwGetTimerValue; - - 00892 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00899 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetTimerValue - 008a0 48 89 88 38 01 - 00 00 mov QWORD PTR [rax+312], rcx - -; 113 : table->glfwGetTimerFrequency = glfwGetTimerFrequency; - - 008a7 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 008ae 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetTimerFrequency - 008b5 48 89 88 30 01 - 00 00 mov QWORD PTR [rax+304], rcx - -; 114 : table->glfwMakeContextCurrent = glfwMakeContextCurrent; - - 008bc 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 008c3 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwMakeContextCurrent - 008ca 48 89 88 d0 01 - 00 00 mov QWORD PTR [rax+464], rcx - -; 115 : table->glfwGetCurrentContext = glfwGetCurrentContext; - - 008d1 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 008d8 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetCurrentContext - 008df 48 89 48 48 mov QWORD PTR [rax+72], rcx - -; 116 : table->glfwSwapBuffers = glfwSwapBuffers; - - 008e3 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 008ea 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSwapBuffers - 008f1 48 89 88 48 03 - 00 00 mov QWORD PTR [rax+840], rcx - -; 117 : table->glfwSwapInterval = glfwSwapInterval; - - 008f8 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 008ff 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwSwapInterval - 00906 48 89 88 50 03 - 00 00 mov QWORD PTR [rax+848], rcx - -; 118 : table->glfwExtensionSupported = glfwExtensionSupported; - - 0090d 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00914 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwExtensionSupported - 0091b 48 89 48 30 mov QWORD PTR [rax+48], rcx - -; 119 : table->glfwGetProcAddress = glfwGetProcAddress; - - 0091f 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00926 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetProcAddress - 0092d 48 89 88 18 01 - 00 00 mov QWORD PTR [rax+280], rcx - -; 120 : table->glfwVulkanSupported = glfwVulkanSupported; - - 00934 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 0093b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwVulkanSupported - 00942 48 89 88 68 03 - 00 00 mov QWORD PTR [rax+872], rcx - -; 121 : table->glfwGetRequiredInstanceExtensions = glfwGetRequiredInstanceExtensions; - - 00949 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR table$[rbp] - 00950 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:glfwGetRequiredInstanceExtensions - 00957 48 89 88 20 01 - 00 00 mov QWORD PTR [rax+288], rcx - -; 122 : } - - 0095e 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00965 5f pop rdi - 00966 5d pop rbp - 00967 c3 ret 0 -load_glfw_functions ENDP -_TEXT ENDS -END diff --git a/StgSharp.Native/x64/Debug/load_glfw.obj b/StgSharp.Native/x64/Debug/load_glfw.obj deleted file mode 100644 index 4fac4557..00000000 Binary files a/StgSharp.Native/x64/Debug/load_glfw.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/load_glfw.sbr b/StgSharp.Native/x64/Debug/load_glfw.sbr deleted file mode 100644 index 8ce29a3b..00000000 Binary files a/StgSharp.Native/x64/Debug/load_glfw.sbr and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/mat2.cod b/StgSharp.Native/x64/Debug/mat2.cod deleted file mode 100644 index f2ee2555..00000000 --- a/StgSharp.Native/x64/Debug/mat2.cod +++ /dev/null @@ -1,840 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.44.35215.0 - -include listing.inc - -INCLUDELIB MSVCRTD -INCLUDELIB OLDNAMES - -_DATA SEGMENT -COMM infolog:BYTE:0200H -_DATA ENDS -msvcjmc SEGMENT -__5C8CA4D3_mmintrin@h DB 01H -__8C83BECC_concurrencysal@h DB 01H -__608E3340_sal@h DB 01H -__FB67E29A_vadefs@h DB 01H -__1D1B619C_vcruntime@h DB 01H -__735960E1_corecrt@h DB 01H -__211DB995_corecrt_malloc@h DB 01H -__7CD62D9E_malloc@h DB 01H -__9DCE0DC8_xmmintrin@h DB 01H -__4C2AD0C7_winpackagefamily@h DB 01H -__9DED9ED1_winapifamily@h DB 01H -__12FEDF4E_sdkddkver@h DB 01H -__9BAEE128_excpt@h DB 01H -__B7B53233_stdarg@h DB 01H -__6B04FCB3_specstrings_undef@h DB 01H -__F4027AF7_specstrings_strict@h DB 01H -__B90340D4_sdv_driverspecs@h DB 01H -__BFFF5AD3_driverspecs@h DB 01H -__32847078_specstrings@h DB 01H -__108B2620_corecrt_wctype@h DB 01H -__6CD6613D_ctype@h DB 01H -__30902A1F_kernelspecs@h DB 01H -__376FD5CA_basetsd@h DB 01H -__13DE2371_errno@h DB 01H -__8C6AE390_vcruntime_string@h DB 01H -__8ACB2152_corecrt_memcpy_s@h DB 01H -__EA6C9D17_corecrt_memory@h DB 01H -__0DF2AF52_corecrt_wstring@h DB 01H -__6E889ECC_string@h DB 01H -__9BEDF4DE_guiddef@h DB 01H -__51BFD2FE_pshpack4@h DB 01H -__31652CEA_poppack@h DB 01H -__5532AE4C_pshpack2@h DB 01H -__58A52B9A_pshpack8@h DB 01H -__57741015_pshpack1@h DB 01H -__CDE68C90_apiset@h DB 01H -__0BF06E8D_ktmtypes@h DB 01H -__40C200C0_winnt@h DB 01H -__9336F789_minwindef@h DB 01H -__55136115_windef@h DB 01H -__32205BF0_apisetcconv@h DB 01H -__B48FDEA0_minwinbase@h DB 01H -__3551B028_apiquery2@h DB 01H -__65BE04AA_processenv@h DB 01H -__4767CA46_fileapi@h DB 01H -__282E6C4B_fileapifromapp@h DB 01H -__393AF12C_debugapi@h DB 01H -__EBC502B8_utilapiset@h DB 01H -__1EAD8C69_handleapi@h DB 01H -__D8EF9B29_errhandlingapi@h DB 01H -__97FC1204_fibersapi@h DB 01H -__27448220_namedpipeapi@h DB 01H -__6EA33B2A_profileapi@h DB 01H -__EAC6F673_heapapi@h DB 01H -__D64EEA5A_ioapiset@h DB 01H -__144BD4B6_synchapi@h DB 01H -__03B1C640_interlockedapi@h DB 01H -__DC64CB38_processthreadsapi@h DB 01H -__D719B518_sysinfoapi@h DB 01H -__410385B1_memoryapi@h DB 01H -__C1AD45EF_enclaveapi@h DB 01H -__F4C3AA32_threadpoollegacyapiset@h DB 01H -__AC5A7A9F_threadpoolapiset@h DB 01H -__F5254B21_jobapi@h DB 01H -__BCEA6EE8_jobapi2@h DB 01H -__D18ACE72_wow64apiset@h DB 01H -__669B0D4A_libloaderapi@h DB 01H -__645F7034_securitybaseapi@h DB 01H -__67E58557_namespaceapi@h DB 01H -__599D9D3A_systemtopologyapi@h DB 01H -__2337E373_processtopologyapi@h DB 01H -__02BFF239_securityappcontainer@h DB 01H -__9C196272_realtimeapiset@h DB 01H -__5AB313A4_winerror@h DB 01H -__B7E7187B_timezoneapi@h DB 01H -__6DE9EB6F_winbase@h DB 01H -__56B2AFF2_wingdi@h DB 01H -__BA1161A9_tvout@h DB 01H -__0501A018_winuser@h DB 01H -__EF12FA99_datetimeapi@h DB 01H -__8FA7C3CA_winnls@h DB 01H -__390F0C47_stringapiset@h DB 01H -__28605B0A_wincontypes@h DB 01H -__BFBDE86D_consoleapi@h DB 01H -__C3CAFBF0_consoleapi2@h DB 01H -__C20891C7_consoleapi3@h DB 01H -__717C98B6_wincon@h DB 01H -__2884C177_verrsrc@h DB 01H -__A3FD3A34_winver@h DB 01H -__6F8AD9F1_reason@h DB 01H -__4C90FD6F_winreg@h DB 01H -__68AFEBAD_wnnc@h DB 01H -__5A7AB086_winnetwk@h DB 01H -__2FE8A10C_stralign@h DB 01H -__34558472_winsvc@h DB 01H -__058845F1_mcx@h DB 01H -__7F16006B_ime_cmodes@h DB 01H -__0A3AF599_imm@h DB 01H -__9349FE86_windows@h DB 01H -__639A050C_sn_internal@h DB 01H -__60B45B40_corecrt_stdio_config@h DB 01H -__CFA3741E_corecrt_wstdio@h DB 01H -__B3FE3303_stdio@h DB 01H -__955456CD_stddef@h DB 01H -__99AED4FB_corecrt_search@h DB 01H -__8B813BF6_corecrt_wstdlib@h DB 01H -__3D1CA2C3_limits@h DB 01H -__E8FB0A68_stdlib@h DB 01H -__C363A436_stb_image@h DB 01H -__836A8CFC_stdint@h DB 01H -__C95DC661_khrplatform@h DB 01H -__6C577136_gl@h DB 01H -__EE638A2C_wgl@h DB 01H -__E76F0EB7_glfw3@h DB 01H -__F8AC8404_emmintrin@h DB 01H -__270DEC8D_pmmintrin@h DB 01H -__97D49F0F_tmmintrin@h DB 01H -__BEEF8A8C_smmintrin@h DB 01H -__DB8D0340_nmmintrin@h DB 01H -__0E36F90E_wmmintrin@h DB 01H -__C5A2B409_zmmintrin@h DB 01H -__F2B616C3_immintrin@h DB 01H -__9FB25DBE_assert@h DB 01H -__4E664295_glfw_function@h DB 01H -__64C0EF11_StgSharpNative@h DB 01H -__47E843D2_intrin0@inl@h DB 01H -__130964FF_setjmp@h DB 01H -__4875F786_ammintrin@h DB 01H -__353FD888_intrin@h DB 01H -__5FE1E9E3_isa_availability@h DB 01H -__AA840D82_sn_intrinsic@h DB 01H -__B3FFA7AA_mat2@c DB 01H -msvcjmc ENDS -PUBLIC addmatrix2_sse -PUBLIC addmatrix2_avx -PUBLIC submatrix2_sse -PUBLIC transpose23 -PUBLIC transpose24 -PUBLIC submatrix2_avx -PUBLIC __JustMyCode_Default -EXTRN _RTC_InitBase:PROC -EXTRN _RTC_Shutdown:PROC -EXTRN __CheckForDebuggerJustMyCode:PROC -; COMDAT pdata -pdata SEGMENT -$pdata$addmatrix2_sse DD imagerel $LN3 - DD imagerel $LN3+254 - DD imagerel $unwind$addmatrix2_sse -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$addmatrix2_avx DD imagerel $LN3 - DD imagerel $LN3+169 - DD imagerel $unwind$addmatrix2_avx -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$submatrix2_sse DD imagerel $LN3 - DD imagerel $LN3+254 - DD imagerel $unwind$submatrix2_sse -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$transpose23 DD imagerel $LN3 - DD imagerel $LN3+271 - DD imagerel $unwind$transpose23 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$transpose24 DD imagerel $LN3 - DD imagerel $LN3+305 - DD imagerel $unwind$transpose24 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$submatrix2_avx DD imagerel $LN3 - DD imagerel $LN3+169 - DD imagerel $unwind$submatrix2_avx -pdata ENDS -; COMDAT rtc$TMZ -rtc$TMZ SEGMENT -_RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown -rtc$TMZ ENDS -; COMDAT rtc$IMZ -rtc$IMZ SEGMENT -_RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase -rtc$IMZ ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$submatrix2_avx DD 02d062801H - DD 011a231fH - DD 07013002aH - DD 0d0115012H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$transpose24 DD 025051801H - DD 01132318H - DD 0700c0029H - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$transpose23 DD 025051801H - DD 01132318H - DD 0700c0029H - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$submatrix2_sse DD 025051d01H - DD 0118231dH - DD 070110029H - DD 05010H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$addmatrix2_avx DD 02d062801H - DD 011a231fH - DD 07013002aH - DD 0d0115012H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$addmatrix2_sse DD 025051d01H - DD 0118231dH - DD 070110029H - DD 05010H -xdata ENDS -; Function compile flags: /Odt -; COMDAT __JustMyCode_Default -_TEXT SEGMENT -__JustMyCode_Default PROC ; COMDAT - 00000 c2 00 00 ret 0 -__JustMyCode_Default ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat2.c -; COMDAT submatrix2_avx -_TEXT SEGMENT -temp$ = 32 -left$ = 336 -right$ = 344 -ans$ = 352 -submatrix2_avx PROC ; COMDAT - -; 54 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 41 55 push r13 - 00011 55 push rbp - 00012 57 push rdi - 00013 48 81 ec 50 01 - 00 00 sub rsp, 336 ; 00000150H - 0001a 4c 8d 6c 24 20 lea r13, QWORD PTR [rsp+32] - 0001f 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] - 00024 48 83 e5 e0 and rbp, -32 ; ffffffffffffffe0H - 00028 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B3FFA7AA_mat2@c - 0002f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00034 90 npad 1 - -; 55 : __m256 temp = _mm256_sub_ps(ALIGN256(left->column[0]), ALIGN256(right->column[0])); - - 00035 b8 10 00 00 00 mov eax, 16 - 0003a 48 6b c0 00 imul rax, rax, 0 - 0003e 49 8b 8d 58 01 - 00 00 mov rcx, QWORD PTR right$[r13] - 00045 48 03 c8 add rcx, rax - 00048 48 8b c1 mov rax, rcx - 0004b c5 fc 10 00 vmovups ymm0, YMMWORD PTR [rax] - 0004f b8 10 00 00 00 mov eax, 16 - 00054 48 6b c0 00 imul rax, rax, 0 - 00058 49 8b 8d 50 01 - 00 00 mov rcx, QWORD PTR left$[r13] - 0005f 48 03 c8 add rcx, rax - 00062 48 8b c1 mov rax, rcx - 00065 c5 fc 10 08 vmovups ymm1, YMMWORD PTR [rax] - 00069 c5 f4 5c c0 vsubps ymm0, ymm1, ymm0 - 0006d c5 fc 11 45 20 vmovups YMMWORD PTR temp$[rbp], ymm0 - -; 56 : _mm256_storeu_ps(&ans->m[0][0], temp); - - 00072 b8 08 00 00 00 mov eax, 8 - 00077 48 6b c0 00 imul rax, rax, 0 - 0007b 49 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR ans$[r13] - 00082 48 03 c8 add rcx, rax - 00085 48 8b c1 mov rax, rcx - 00088 b9 04 00 00 00 mov ecx, 4 - 0008d 48 6b c9 00 imul rcx, rcx, 0 - 00091 48 03 c1 add rax, rcx - 00094 c5 fc 10 45 20 vmovups ymm0, YMMWORD PTR temp$[rbp] - 00099 c5 fc 11 00 vmovups YMMWORD PTR [rax], ymm0 - -; 57 : } - - 0009d 49 8d a5 30 01 - 00 00 lea rsp, QWORD PTR [r13+304] - 000a4 5f pop rdi - 000a5 5d pop rbp - 000a6 41 5d pop r13 - 000a8 c3 ret 0 -submatrix2_avx ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat2.c -; COMDAT transpose24 -_TEXT SEGMENT -t0$ = 16 -t1$ = 64 -source$ = 320 -target$ = 328 -transpose24 PROC ; COMDAT - -; 17 : { - -$LN3: - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec 48 01 - 00 00 sub rsp, 328 ; 00000148H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B3FFA7AA_mat2@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 18 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]), - - 00025 b8 10 00 00 00 mov eax, 16 - 0002a 48 6b c0 01 imul rax, rax, 1 - 0002e 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 00035 48 03 c8 add rcx, rax - 00038 48 8b c1 mov rax, rcx - 0003b 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0003e b8 10 00 00 00 mov eax, 16 - 00043 48 6b c0 00 imul rax, rax, 0 - 00047 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 0004e 48 03 c8 add rcx, rax - 00051 48 8b c1 mov rax, rcx - 00054 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00057 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H - 0005b 0f 28 c1 movaps xmm0, xmm1 - 0005e 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0 - -; 19 : _MM_SHUFFLE(1, 0, 1, 0)); -; 20 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]), - - 00062 b8 10 00 00 00 mov eax, 16 - 00067 48 6b c0 01 imul rax, rax, 1 - 0006b 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 00072 48 03 c8 add rcx, rax - 00075 48 8b c1 mov rax, rcx - 00078 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0007b b8 10 00 00 00 mov eax, 16 - 00080 48 6b c0 00 imul rax, rax, 0 - 00084 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 0008b 48 03 c8 add rcx, rax - 0008e 48 8b c1 mov rax, rcx - 00091 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00094 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH - 00098 0f 28 c1 movaps xmm0, xmm1 - 0009b 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0 - -; 21 : _MM_SHUFFLE(3, 2, 3, 2)); -; 22 : -; 23 : target->column[0] = _mm_shuffle_ps(t0, zero_vec, _MM_SHUFFLE(2, 0, 2, 0)); - - 0009f 0f 57 c0 xorps xmm0, xmm0 - 000a2 0f 28 4d 10 movaps xmm1, XMMWORD PTR t0$[rbp] - 000a6 0f c6 c8 88 shufps xmm1, xmm0, 136 ; 00000088H - 000aa 0f 28 c1 movaps xmm0, xmm1 - 000ad b8 10 00 00 00 mov eax, 16 - 000b2 48 6b c0 00 imul rax, rax, 0 - 000b6 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 000bd 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 24 : target->column[1] = _mm_shuffle_ps(t0, zero_vec, _MM_SHUFFLE(3, 1, 3, 1)); - - 000c1 0f 57 c0 xorps xmm0, xmm0 - 000c4 0f 28 4d 10 movaps xmm1, XMMWORD PTR t0$[rbp] - 000c8 0f c6 c8 dd shufps xmm1, xmm0, 221 ; 000000ddH - 000cc 0f 28 c1 movaps xmm0, xmm1 - 000cf b8 10 00 00 00 mov eax, 16 - 000d4 48 6b c0 01 imul rax, rax, 1 - 000d8 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 000df 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 25 : target->column[2] = _mm_shuffle_ps(t1, zero_vec, _MM_SHUFFLE(2, 0, 2, 0)); - - 000e3 0f 57 c0 xorps xmm0, xmm0 - 000e6 0f 28 4d 40 movaps xmm1, XMMWORD PTR t1$[rbp] - 000ea 0f c6 c8 88 shufps xmm1, xmm0, 136 ; 00000088H - 000ee 0f 28 c1 movaps xmm0, xmm1 - 000f1 b8 10 00 00 00 mov eax, 16 - 000f6 48 6b c0 02 imul rax, rax, 2 - 000fa 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 00101 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 26 : target->column[3] = _mm_shuffle_ps(t1, zero_vec, _MM_SHUFFLE(3, 1, 3, 1)); - - 00105 0f 57 c0 xorps xmm0, xmm0 - 00108 0f 28 4d 40 movaps xmm1, XMMWORD PTR t1$[rbp] - 0010c 0f c6 c8 dd shufps xmm1, xmm0, 221 ; 000000ddH - 00110 0f 28 c1 movaps xmm0, xmm1 - 00113 b8 10 00 00 00 mov eax, 16 - 00118 48 6b c0 03 imul rax, rax, 3 - 0011c 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 00123 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 27 : } - - 00127 48 8d a5 28 01 - 00 00 lea rsp, QWORD PTR [rbp+296] - 0012e 5f pop rdi - 0012f 5d pop rbp - 00130 c3 ret 0 -transpose24 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat2.c -; COMDAT transpose23 -_TEXT SEGMENT -t0$ = 16 -t1$ = 64 -source$ = 320 -target$ = 328 -transpose23 PROC ; COMDAT - -; 5 : { - -$LN3: - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec 48 01 - 00 00 sub rsp, 328 ; 00000148H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B3FFA7AA_mat2@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 6 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]), - - 00025 b8 10 00 00 00 mov eax, 16 - 0002a 48 6b c0 01 imul rax, rax, 1 - 0002e 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 00035 48 03 c8 add rcx, rax - 00038 48 8b c1 mov rax, rcx - 0003b 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0003e b8 10 00 00 00 mov eax, 16 - 00043 48 6b c0 00 imul rax, rax, 0 - 00047 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 0004e 48 03 c8 add rcx, rax - 00051 48 8b c1 mov rax, rcx - 00054 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00057 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H - 0005b 0f 28 c1 movaps xmm0, xmm1 - 0005e 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0 - -; 7 : _MM_SHUFFLE(1, 0, 1, 0)); -; 8 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]), - - 00062 b8 10 00 00 00 mov eax, 16 - 00067 48 6b c0 01 imul rax, rax, 1 - 0006b 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 00072 48 03 c8 add rcx, rax - 00075 48 8b c1 mov rax, rcx - 00078 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0007b b8 10 00 00 00 mov eax, 16 - 00080 48 6b c0 00 imul rax, rax, 0 - 00084 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 0008b 48 03 c8 add rcx, rax - 0008e 48 8b c1 mov rax, rcx - 00091 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00094 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH - 00098 0f 28 c1 movaps xmm0, xmm1 - 0009b 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0 - -; 9 : _MM_SHUFFLE(3, 2, 3, 2)); -; 10 : -; 11 : target->column[0] = _mm_shuffle_ps(t0, zero_vec, _MM_SHUFFLE(2, 0, 2, 0)); - - 0009f 0f 57 c0 xorps xmm0, xmm0 - 000a2 0f 28 4d 10 movaps xmm1, XMMWORD PTR t0$[rbp] - 000a6 0f c6 c8 88 shufps xmm1, xmm0, 136 ; 00000088H - 000aa 0f 28 c1 movaps xmm0, xmm1 - 000ad b8 10 00 00 00 mov eax, 16 - 000b2 48 6b c0 00 imul rax, rax, 0 - 000b6 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 000bd 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 12 : target->column[1] = _mm_shuffle_ps(t0, zero_vec, _MM_SHUFFLE(3, 1, 3, 1)); - - 000c1 0f 57 c0 xorps xmm0, xmm0 - 000c4 0f 28 4d 10 movaps xmm1, XMMWORD PTR t0$[rbp] - 000c8 0f c6 c8 dd shufps xmm1, xmm0, 221 ; 000000ddH - 000cc 0f 28 c1 movaps xmm0, xmm1 - 000cf b8 10 00 00 00 mov eax, 16 - 000d4 48 6b c0 01 imul rax, rax, 1 - 000d8 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 000df 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 13 : target->column[2] = _mm_shuffle_ps(t1, zero_vec, _MM_SHUFFLE(2, 0, 2, 0)); - - 000e3 0f 57 c0 xorps xmm0, xmm0 - 000e6 0f 28 4d 40 movaps xmm1, XMMWORD PTR t1$[rbp] - 000ea 0f c6 c8 88 shufps xmm1, xmm0, 136 ; 00000088H - 000ee 0f 28 c1 movaps xmm0, xmm1 - 000f1 b8 10 00 00 00 mov eax, 16 - 000f6 48 6b c0 02 imul rax, rax, 2 - 000fa 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 00101 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 14 : } - - 00105 48 8d a5 28 01 - 00 00 lea rsp, QWORD PTR [rbp+296] - 0010c 5f pop rdi - 0010d 5d pop rbp - 0010e c3 ret 0 -transpose23 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat2.c -; COMDAT submatrix2_sse -_TEXT SEGMENT -temp0$ = 16 -temp1$ = 64 -left$ = 320 -right$ = 328 -ans$ = 336 -submatrix2_sse PROC ; COMDAT - -; 45 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec 48 01 - 00 00 sub rsp, 328 ; 00000148H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B3FFA7AA_mat2@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 46 : __m128 temp0 = _mm_sub_ps(ALIGN(left->column[0]), ALIGN(right->column[0])); - - 0002a b8 10 00 00 00 mov eax, 16 - 0002f 48 6b c0 00 imul rax, rax, 0 - 00033 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR right$[rbp] - 0003a 48 03 c8 add rcx, rax - 0003d 48 8b c1 mov rax, rcx - 00040 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 00043 b8 10 00 00 00 mov eax, 16 - 00048 48 6b c0 00 imul rax, rax, 0 - 0004c 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR left$[rbp] - 00053 48 03 c8 add rcx, rax - 00056 48 8b c1 mov rax, rcx - 00059 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 0005c 0f 5c c8 subps xmm1, xmm0 - 0005f 0f 28 c1 movaps xmm0, xmm1 - 00062 0f 29 45 10 movaps XMMWORD PTR temp0$[rbp], xmm0 - -; 47 : __m128 temp1 = _mm_sub_ps(ALIGN(left->column[1]), ALIGN(right->column[1])); - - 00066 b8 10 00 00 00 mov eax, 16 - 0006b 48 6b c0 01 imul rax, rax, 1 - 0006f 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR right$[rbp] - 00076 48 03 c8 add rcx, rax - 00079 48 8b c1 mov rax, rcx - 0007c 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0007f b8 10 00 00 00 mov eax, 16 - 00084 48 6b c0 01 imul rax, rax, 1 - 00088 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR left$[rbp] - 0008f 48 03 c8 add rcx, rax - 00092 48 8b c1 mov rax, rcx - 00095 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00098 0f 5c c8 subps xmm1, xmm0 - 0009b 0f 28 c1 movaps xmm0, xmm1 - 0009e 0f 29 45 40 movaps XMMWORD PTR temp1$[rbp], xmm0 - -; 48 : -; 49 : _mm_storeu_ps(&ans->m[0][0], temp0); - - 000a2 b8 08 00 00 00 mov eax, 8 - 000a7 48 6b c0 00 imul rax, rax, 0 - 000ab 48 8b 8d 50 01 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 000b2 48 03 c8 add rcx, rax - 000b5 48 8b c1 mov rax, rcx - 000b8 b9 04 00 00 00 mov ecx, 4 - 000bd 48 6b c9 00 imul rcx, rcx, 0 - 000c1 48 03 c1 add rax, rcx - 000c4 0f 28 45 10 movaps xmm0, XMMWORD PTR temp0$[rbp] - 000c8 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 50 : _mm_storeu_ps(&ans->m[0][1], temp1); - - 000cb b8 08 00 00 00 mov eax, 8 - 000d0 48 6b c0 00 imul rax, rax, 0 - 000d4 48 8b 8d 50 01 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 000db 48 03 c8 add rcx, rax - 000de 48 8b c1 mov rax, rcx - 000e1 b9 04 00 00 00 mov ecx, 4 - 000e6 48 6b c9 01 imul rcx, rcx, 1 - 000ea 48 03 c1 add rax, rcx - 000ed 0f 28 45 40 movaps xmm0, XMMWORD PTR temp1$[rbp] - 000f1 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 51 : } - - 000f4 48 8d a5 28 01 - 00 00 lea rsp, QWORD PTR [rbp+296] - 000fb 5f pop rdi - 000fc 5d pop rbp - 000fd c3 ret 0 -submatrix2_sse ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat2.c -; COMDAT addmatrix2_avx -_TEXT SEGMENT -temp$ = 32 -left$ = 336 -right$ = 344 -ans$ = 352 -addmatrix2_avx PROC ; COMDAT - -; 39 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 41 55 push r13 - 00011 55 push rbp - 00012 57 push rdi - 00013 48 81 ec 50 01 - 00 00 sub rsp, 336 ; 00000150H - 0001a 4c 8d 6c 24 20 lea r13, QWORD PTR [rsp+32] - 0001f 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] - 00024 48 83 e5 e0 and rbp, -32 ; ffffffffffffffe0H - 00028 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B3FFA7AA_mat2@c - 0002f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00034 90 npad 1 - -; 40 : __m256 temp = _mm256_add_ps(ALIGN256(left->column[0]), ALIGN256(right->column[0])); - - 00035 b8 10 00 00 00 mov eax, 16 - 0003a 48 6b c0 00 imul rax, rax, 0 - 0003e 49 8b 8d 58 01 - 00 00 mov rcx, QWORD PTR right$[r13] - 00045 48 03 c8 add rcx, rax - 00048 48 8b c1 mov rax, rcx - 0004b c5 fc 10 00 vmovups ymm0, YMMWORD PTR [rax] - 0004f b8 10 00 00 00 mov eax, 16 - 00054 48 6b c0 00 imul rax, rax, 0 - 00058 49 8b 8d 50 01 - 00 00 mov rcx, QWORD PTR left$[r13] - 0005f 48 03 c8 add rcx, rax - 00062 48 8b c1 mov rax, rcx - 00065 c5 fc 10 08 vmovups ymm1, YMMWORD PTR [rax] - 00069 c5 f4 58 c0 vaddps ymm0, ymm1, ymm0 - 0006d c5 fc 11 45 20 vmovups YMMWORD PTR temp$[rbp], ymm0 - -; 41 : _mm256_storeu_ps(&ans->m[0][0], temp); - - 00072 b8 08 00 00 00 mov eax, 8 - 00077 48 6b c0 00 imul rax, rax, 0 - 0007b 49 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR ans$[r13] - 00082 48 03 c8 add rcx, rax - 00085 48 8b c1 mov rax, rcx - 00088 b9 04 00 00 00 mov ecx, 4 - 0008d 48 6b c9 00 imul rcx, rcx, 0 - 00091 48 03 c1 add rax, rcx - 00094 c5 fc 10 45 20 vmovups ymm0, YMMWORD PTR temp$[rbp] - 00099 c5 fc 11 00 vmovups YMMWORD PTR [rax], ymm0 - -; 42 : } - - 0009d 49 8d a5 30 01 - 00 00 lea rsp, QWORD PTR [r13+304] - 000a4 5f pop rdi - 000a5 5d pop rbp - 000a6 41 5d pop r13 - 000a8 c3 ret 0 -addmatrix2_avx ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat2.c -; COMDAT addmatrix2_sse -_TEXT SEGMENT -temp0$ = 16 -temp1$ = 64 -left$ = 320 -right$ = 328 -ans$ = 336 -addmatrix2_sse PROC ; COMDAT - -; 30 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec 48 01 - 00 00 sub rsp, 328 ; 00000148H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B3FFA7AA_mat2@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 31 : __m128 temp0 = _mm_add_ps(ALIGN(left->column[0]), ALIGN(right->column[0])); - - 0002a b8 10 00 00 00 mov eax, 16 - 0002f 48 6b c0 00 imul rax, rax, 0 - 00033 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR right$[rbp] - 0003a 48 03 c8 add rcx, rax - 0003d 48 8b c1 mov rax, rcx - 00040 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 00043 b8 10 00 00 00 mov eax, 16 - 00048 48 6b c0 00 imul rax, rax, 0 - 0004c 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR left$[rbp] - 00053 48 03 c8 add rcx, rax - 00056 48 8b c1 mov rax, rcx - 00059 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 0005c 0f 58 c8 addps xmm1, xmm0 - 0005f 0f 28 c1 movaps xmm0, xmm1 - 00062 0f 29 45 10 movaps XMMWORD PTR temp0$[rbp], xmm0 - -; 32 : __m128 temp1 = _mm_add_ps(ALIGN(left->column[1]), ALIGN(right->column[1])); - - 00066 b8 10 00 00 00 mov eax, 16 - 0006b 48 6b c0 01 imul rax, rax, 1 - 0006f 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR right$[rbp] - 00076 48 03 c8 add rcx, rax - 00079 48 8b c1 mov rax, rcx - 0007c 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0007f b8 10 00 00 00 mov eax, 16 - 00084 48 6b c0 01 imul rax, rax, 1 - 00088 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR left$[rbp] - 0008f 48 03 c8 add rcx, rax - 00092 48 8b c1 mov rax, rcx - 00095 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00098 0f 58 c8 addps xmm1, xmm0 - 0009b 0f 28 c1 movaps xmm0, xmm1 - 0009e 0f 29 45 40 movaps XMMWORD PTR temp1$[rbp], xmm0 - -; 33 : -; 34 : _mm_storeu_ps(&ans->m[0][0], temp0); - - 000a2 b8 08 00 00 00 mov eax, 8 - 000a7 48 6b c0 00 imul rax, rax, 0 - 000ab 48 8b 8d 50 01 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 000b2 48 03 c8 add rcx, rax - 000b5 48 8b c1 mov rax, rcx - 000b8 b9 04 00 00 00 mov ecx, 4 - 000bd 48 6b c9 00 imul rcx, rcx, 0 - 000c1 48 03 c1 add rax, rcx - 000c4 0f 28 45 10 movaps xmm0, XMMWORD PTR temp0$[rbp] - 000c8 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 35 : _mm_storeu_ps(&ans->m[0][1], temp1); - - 000cb b8 08 00 00 00 mov eax, 8 - 000d0 48 6b c0 00 imul rax, rax, 0 - 000d4 48 8b 8d 50 01 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 000db 48 03 c8 add rcx, rax - 000de 48 8b c1 mov rax, rcx - 000e1 b9 04 00 00 00 mov ecx, 4 - 000e6 48 6b c9 01 imul rcx, rcx, 1 - 000ea 48 03 c1 add rax, rcx - 000ed 0f 28 45 40 movaps xmm0, XMMWORD PTR temp1$[rbp] - 000f1 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 36 : } - - 000f4 48 8d a5 28 01 - 00 00 lea rsp, QWORD PTR [rbp+296] - 000fb 5f pop rdi - 000fc 5d pop rbp - 000fd c3 ret 0 -addmatrix2_sse ENDP -_TEXT ENDS -END diff --git a/StgSharp.Native/x64/Debug/mat2.obj b/StgSharp.Native/x64/Debug/mat2.obj deleted file mode 100644 index 5633afc1..00000000 Binary files a/StgSharp.Native/x64/Debug/mat2.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/mat2.sbr b/StgSharp.Native/x64/Debug/mat2.sbr deleted file mode 100644 index 5861bdc8..00000000 Binary files a/StgSharp.Native/x64/Debug/mat2.sbr and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/mat3.cod b/StgSharp.Native/x64/Debug/mat3.cod deleted file mode 100644 index dc54b4d5..00000000 --- a/StgSharp.Native/x64/Debug/mat3.cod +++ /dev/null @@ -1,1566 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.44.35215.0 - -include listing.inc - -INCLUDELIB MSVCRTD -INCLUDELIB OLDNAMES - -_DATA SEGMENT -COMM infolog:BYTE:0200H -_DATA ENDS -msvcjmc SEGMENT -__5C8CA4D3_mmintrin@h DB 01H -__8C83BECC_concurrencysal@h DB 01H -__608E3340_sal@h DB 01H -__FB67E29A_vadefs@h DB 01H -__1D1B619C_vcruntime@h DB 01H -__735960E1_corecrt@h DB 01H -__211DB995_corecrt_malloc@h DB 01H -__7CD62D9E_malloc@h DB 01H -__9DCE0DC8_xmmintrin@h DB 01H -__4C2AD0C7_winpackagefamily@h DB 01H -__9DED9ED1_winapifamily@h DB 01H -__12FEDF4E_sdkddkver@h DB 01H -__9BAEE128_excpt@h DB 01H -__B7B53233_stdarg@h DB 01H -__6B04FCB3_specstrings_undef@h DB 01H -__F4027AF7_specstrings_strict@h DB 01H -__B90340D4_sdv_driverspecs@h DB 01H -__BFFF5AD3_driverspecs@h DB 01H -__32847078_specstrings@h DB 01H -__108B2620_corecrt_wctype@h DB 01H -__6CD6613D_ctype@h DB 01H -__30902A1F_kernelspecs@h DB 01H -__376FD5CA_basetsd@h DB 01H -__13DE2371_errno@h DB 01H -__8C6AE390_vcruntime_string@h DB 01H -__8ACB2152_corecrt_memcpy_s@h DB 01H -__EA6C9D17_corecrt_memory@h DB 01H -__0DF2AF52_corecrt_wstring@h DB 01H -__6E889ECC_string@h DB 01H -__9BEDF4DE_guiddef@h DB 01H -__51BFD2FE_pshpack4@h DB 01H -__31652CEA_poppack@h DB 01H -__5532AE4C_pshpack2@h DB 01H -__58A52B9A_pshpack8@h DB 01H -__57741015_pshpack1@h DB 01H -__CDE68C90_apiset@h DB 01H -__0BF06E8D_ktmtypes@h DB 01H -__40C200C0_winnt@h DB 01H -__9336F789_minwindef@h DB 01H -__55136115_windef@h DB 01H -__32205BF0_apisetcconv@h DB 01H -__B48FDEA0_minwinbase@h DB 01H -__3551B028_apiquery2@h DB 01H -__65BE04AA_processenv@h DB 01H -__4767CA46_fileapi@h DB 01H -__282E6C4B_fileapifromapp@h DB 01H -__393AF12C_debugapi@h DB 01H -__EBC502B8_utilapiset@h DB 01H -__1EAD8C69_handleapi@h DB 01H -__D8EF9B29_errhandlingapi@h DB 01H -__97FC1204_fibersapi@h DB 01H -__27448220_namedpipeapi@h DB 01H -__6EA33B2A_profileapi@h DB 01H -__EAC6F673_heapapi@h DB 01H -__D64EEA5A_ioapiset@h DB 01H -__144BD4B6_synchapi@h DB 01H -__03B1C640_interlockedapi@h DB 01H -__DC64CB38_processthreadsapi@h DB 01H -__D719B518_sysinfoapi@h DB 01H -__410385B1_memoryapi@h DB 01H -__C1AD45EF_enclaveapi@h DB 01H -__F4C3AA32_threadpoollegacyapiset@h DB 01H -__AC5A7A9F_threadpoolapiset@h DB 01H -__F5254B21_jobapi@h DB 01H -__BCEA6EE8_jobapi2@h DB 01H -__D18ACE72_wow64apiset@h DB 01H -__669B0D4A_libloaderapi@h DB 01H -__645F7034_securitybaseapi@h DB 01H -__67E58557_namespaceapi@h DB 01H -__599D9D3A_systemtopologyapi@h DB 01H -__2337E373_processtopologyapi@h DB 01H -__02BFF239_securityappcontainer@h DB 01H -__9C196272_realtimeapiset@h DB 01H -__5AB313A4_winerror@h DB 01H -__B7E7187B_timezoneapi@h DB 01H -__6DE9EB6F_winbase@h DB 01H -__56B2AFF2_wingdi@h DB 01H -__BA1161A9_tvout@h DB 01H -__0501A018_winuser@h DB 01H -__EF12FA99_datetimeapi@h DB 01H -__8FA7C3CA_winnls@h DB 01H -__390F0C47_stringapiset@h DB 01H -__28605B0A_wincontypes@h DB 01H -__BFBDE86D_consoleapi@h DB 01H -__C3CAFBF0_consoleapi2@h DB 01H -__C20891C7_consoleapi3@h DB 01H -__717C98B6_wincon@h DB 01H -__2884C177_verrsrc@h DB 01H -__A3FD3A34_winver@h DB 01H -__6F8AD9F1_reason@h DB 01H -__4C90FD6F_winreg@h DB 01H -__68AFEBAD_wnnc@h DB 01H -__5A7AB086_winnetwk@h DB 01H -__2FE8A10C_stralign@h DB 01H -__34558472_winsvc@h DB 01H -__058845F1_mcx@h DB 01H -__7F16006B_ime_cmodes@h DB 01H -__0A3AF599_imm@h DB 01H -__9349FE86_windows@h DB 01H -__639A050C_sn_internal@h DB 01H -__60B45B40_corecrt_stdio_config@h DB 01H -__CFA3741E_corecrt_wstdio@h DB 01H -__B3FE3303_stdio@h DB 01H -__955456CD_stddef@h DB 01H -__99AED4FB_corecrt_search@h DB 01H -__8B813BF6_corecrt_wstdlib@h DB 01H -__3D1CA2C3_limits@h DB 01H -__E8FB0A68_stdlib@h DB 01H -__C363A436_stb_image@h DB 01H -__836A8CFC_stdint@h DB 01H -__C95DC661_khrplatform@h DB 01H -__6C577136_gl@h DB 01H -__EE638A2C_wgl@h DB 01H -__E76F0EB7_glfw3@h DB 01H -__F8AC8404_emmintrin@h DB 01H -__270DEC8D_pmmintrin@h DB 01H -__97D49F0F_tmmintrin@h DB 01H -__BEEF8A8C_smmintrin@h DB 01H -__DB8D0340_nmmintrin@h DB 01H -__0E36F90E_wmmintrin@h DB 01H -__C5A2B409_zmmintrin@h DB 01H -__F2B616C3_immintrin@h DB 01H -__9FB25DBE_assert@h DB 01H -__4E664295_glfw_function@h DB 01H -__64C0EF11_StgSharpNative@h DB 01H -__47E843D2_intrin0@inl@h DB 01H -__130964FF_setjmp@h DB 01H -__4875F786_ammintrin@h DB 01H -__353FD888_intrin@h DB 01H -__5FE1E9E3_isa_availability@h DB 01H -__AA840D82_sn_intrinsic@h DB 01H -__B23DCD9D_mat3@c DB 01H -msvcjmc ENDS -PUBLIC addmatrix3_sse -PUBLIC addmatrix3_avx -PUBLIC addmatrix3_512 -PUBLIC submatrix3_sse -PUBLIC submatrix3_avx -PUBLIC submatrix3_512 -PUBLIC transpose32 -PUBLIC transpose33 -PUBLIC transpose34 -PUBLIC det_mat3 -PUBLIC det_mat3_internal -PUBLIC __JustMyCode_Default -EXTRN _RTC_CheckStackVars:PROC -EXTRN _RTC_InitBase:PROC -EXTRN _RTC_Shutdown:PROC -EXTRN __CheckForDebuggerJustMyCode:PROC -EXTRN _fltused:DWORD -; COMDAT pdata -pdata SEGMENT -$pdata$addmatrix3_sse DD imagerel $LN3 - DD imagerel $LN3+355 - DD imagerel $unwind$addmatrix3_sse -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$addmatrix3_avx DD imagerel $LN3 - DD imagerel $LN3+240 - DD imagerel $unwind$addmatrix3_avx -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$addmatrix3_512 DD imagerel $LN3 - DD imagerel $LN3+133 - DD imagerel $unwind$addmatrix3_512 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$submatrix3_sse DD imagerel $LN3 - DD imagerel $LN3+355 - DD imagerel $unwind$submatrix3_sse -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$submatrix3_avx DD imagerel $LN3 - DD imagerel $LN3+240 - DD imagerel $unwind$submatrix3_avx -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$submatrix3_512 DD imagerel $LN3 - DD imagerel $LN3+133 - DD imagerel $unwind$submatrix3_512 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$transpose32 DD imagerel $LN3 - DD imagerel $LN3+205 - DD imagerel $unwind$transpose32 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$transpose33 DD imagerel $LN3 - DD imagerel $LN3+340 - DD imagerel $unwind$transpose33 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$transpose34 DD imagerel $LN3 - DD imagerel $LN3+372 - DD imagerel $unwind$transpose34 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$det_mat3 DD imagerel $LN3 - DD imagerel $LN3+154 - DD imagerel $unwind$det_mat3 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$det_mat3_internal DD imagerel $LN3 - DD imagerel $LN3+371 - DD imagerel $unwind$det_mat3_internal -pdata ENDS -; COMDAT rtc$TMZ -rtc$TMZ SEGMENT -_RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown -rtc$TMZ ENDS -; COMDAT rtc$IMZ -rtc$IMZ SEGMENT -_RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase -rtc$IMZ ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$det_mat3_internal DD 035053601H - DD 0118331dH - DD 070110049H - DD 05010H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -det_mat3_internal$rtcName$0 DB 072H - DB 065H - DB 074H - DB 00H - ORG $+12 -det_mat3_internal$rtcVarDesc DD 0160H - DD 010H - DQ FLAT:det_mat3_internal$rtcName$0 - ORG $+48 -det_mat3_internal$rtcFrameData DD 01H - DD 00H - DQ FLAT:det_mat3_internal$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$det_mat3 DD 035051801H - DD 01133318H - DD 0700c0031H - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$transpose34 DD 025051801H - DD 01132318H - DD 0700c0035H - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$transpose33 DD 025051801H - DD 01132318H - DD 0700c0035H - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$transpose32 DD 025051801H - DD 01132318H - DD 0700c0029H - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$submatrix3_512 DD 02d062801H - DD 011a231fH - DD 070130036H - DD 0d0115012H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$submatrix3_avx DD 02d062801H - DD 011a231fH - DD 070130030H - DD 0d0115012H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$submatrix3_sse DD 025051d01H - DD 0118231dH - DD 07011002fH - DD 05010H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$addmatrix3_512 DD 02d062801H - DD 011a231fH - DD 070130036H - DD 0d0115012H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$addmatrix3_avx DD 02d062801H - DD 011a231fH - DD 070130030H - DD 0d0115012H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$addmatrix3_sse DD 025051d01H - DD 0118231dH - DD 07011002fH - DD 05010H -xdata ENDS -; Function compile flags: /Odt -; COMDAT __JustMyCode_Default -_TEXT SEGMENT -__JustMyCode_Default PROC ; COMDAT - 00000 c2 00 00 ret 0 -__JustMyCode_Default ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat3.c -; COMDAT det_mat3_internal -_TEXT SEGMENT -addc1$ = 16 -addc2$ = 64 -subc1$ = 112 -subc2$ = 160 -cache$ = 208 -sub$ = 256 -ret$ = 304 -c0$ = 560 -c1$ = 568 -c2$ = 576 -det_mat3_internal PROC ; COMDAT - -; 45 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec 48 02 - 00 00 sub rsp, 584 ; 00000248H - 00018 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 0001d 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 00022 b9 56 00 00 00 mov ecx, 86 ; 00000056H - 00027 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 0002c f3 ab rep stosd - 0002e 48 8b 8c 24 68 - 02 00 00 mov rcx, QWORD PTR [rsp+616] - 00036 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B23DCD9D_mat3@c - 0003d e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00042 90 npad 1 - -; 46 : //let adding row aligned -; 47 : __m128 addc1 = _mm_shuffle_ps(c1, c1, _MM_SHUFFLE(3, 0, 2, 1)); - - 00043 48 8b 85 38 02 - 00 00 mov rax, QWORD PTR c1$[rbp] - 0004a 48 8b 8d 38 02 - 00 00 mov rcx, QWORD PTR c1$[rbp] - 00051 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 00054 0f c6 01 c9 shufps xmm0, XMMWORD PTR [rcx], 201 ; 000000c9H - 00058 0f 29 45 10 movaps XMMWORD PTR addc1$[rbp], xmm0 - -; 48 : __m128 addc2 = _mm_shuffle_ps(c2, c2, _MM_SHUFFLE(3, 1, 0, 2)); - - 0005c 48 8b 85 40 02 - 00 00 mov rax, QWORD PTR c2$[rbp] - 00063 48 8b 8d 40 02 - 00 00 mov rcx, QWORD PTR c2$[rbp] - 0006a 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0006d 0f c6 01 d2 shufps xmm0, XMMWORD PTR [rcx], 210 ; 000000d2H - 00071 0f 29 45 40 movaps XMMWORD PTR addc2$[rbp], xmm0 - -; 49 : -; 50 : //let sub row aligned -; 51 : __m128 subc1 = _mm_shuffle_ps(c1, c1, _MM_SHUFFLE(3, 1, 0, 2)); - - 00075 48 8b 85 38 02 - 00 00 mov rax, QWORD PTR c1$[rbp] - 0007c 48 8b 8d 38 02 - 00 00 mov rcx, QWORD PTR c1$[rbp] - 00083 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 00086 0f c6 01 d2 shufps xmm0, XMMWORD PTR [rcx], 210 ; 000000d2H - 0008a 0f 29 45 70 movaps XMMWORD PTR subc1$[rbp], xmm0 - -; 52 : __m128 subc2 = _mm_shuffle_ps(c2, c2, _MM_SHUFFLE(3, 0, 2, 1)); - - 0008e 48 8b 85 40 02 - 00 00 mov rax, QWORD PTR c2$[rbp] - 00095 48 8b 8d 40 02 - 00 00 mov rcx, QWORD PTR c2$[rbp] - 0009c 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0009f 0f c6 01 c9 shufps xmm0, XMMWORD PTR [rcx], 201 ; 000000c9H - 000a3 0f 29 85 a0 00 - 00 00 movaps XMMWORD PTR subc2$[rbp], xmm0 - -; 53 : -; 54 : //multple all add row -; 55 : __m128 cache = _mm_mul_ps(c0, addc1); - - 000aa 48 8b 85 30 02 - 00 00 mov rax, QWORD PTR c0$[rbp] - 000b1 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 000b4 0f 59 45 10 mulps xmm0, XMMWORD PTR addc1$[rbp] - 000b8 0f 29 85 d0 00 - 00 00 movaps XMMWORD PTR cache$[rbp], xmm0 - -; 56 : cache = _mm_mul_ps(cache, addc2); - - 000bf 0f 28 85 d0 00 - 00 00 movaps xmm0, XMMWORD PTR cache$[rbp] - 000c6 0f 59 45 40 mulps xmm0, XMMWORD PTR addc2$[rbp] - 000ca 0f 29 85 d0 00 - 00 00 movaps XMMWORD PTR cache$[rbp], xmm0 - -; 57 : -; 58 : //multiple all sub row -; 59 : __m128 sub = _mm_mul_ps(c0, subc1); - - 000d1 48 8b 85 30 02 - 00 00 mov rax, QWORD PTR c0$[rbp] - 000d8 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 000db 0f 59 45 70 mulps xmm0, XMMWORD PTR subc1$[rbp] - 000df 0f 29 85 00 01 - 00 00 movaps XMMWORD PTR sub$[rbp], xmm0 - -; 60 : sub = _mm_mul_ps(sub, subc2); - - 000e6 0f 28 85 00 01 - 00 00 movaps xmm0, XMMWORD PTR sub$[rbp] - 000ed 0f 59 85 a0 00 - 00 00 mulps xmm0, XMMWORD PTR subc2$[rbp] - 000f4 0f 29 85 00 01 - 00 00 movaps XMMWORD PTR sub$[rbp], xmm0 - -; 61 : -; 62 : //main-corner sub sub-corner -; 63 : cache = _mm_sub_ps(cache, sub); - - 000fb 0f 28 85 d0 00 - 00 00 movaps xmm0, XMMWORD PTR cache$[rbp] - 00102 0f 5c 85 00 01 - 00 00 subps xmm0, XMMWORD PTR sub$[rbp] - 00109 0f 29 85 d0 00 - 00 00 movaps XMMWORD PTR cache$[rbp], xmm0 - -; 64 : -; 65 : __m128 ret = _mm_hadd_ps(cache, cache); //element 1 add element 2 - - 00110 0f 28 85 d0 00 - 00 00 movaps xmm0, XMMWORD PTR cache$[rbp] - 00117 f2 0f 7c 85 d0 - 00 00 00 haddps xmm0, XMMWORD PTR cache$[rbp] - 0011f 0f 29 85 30 01 - 00 00 movaps XMMWORD PTR ret$[rbp], xmm0 - -; 66 : ret = _mm_add_ps(ret, cache); //(e1 add e2) add element 3 - - 00126 0f 28 85 30 01 - 00 00 movaps xmm0, XMMWORD PTR ret$[rbp] - 0012d 0f 58 85 d0 00 - 00 00 addps xmm0, XMMWORD PTR cache$[rbp] - 00134 0f 29 85 30 01 - 00 00 movaps XMMWORD PTR ret$[rbp], xmm0 - -; 67 : -; 68 : return ret.m128_f32[2]; - - 0013b b8 04 00 00 00 mov eax, 4 - 00140 48 6b c0 02 imul rax, rax, 2 - 00144 f3 0f 10 84 05 - 30 01 00 00 movss xmm0, DWORD PTR ret$[rbp+rax] - -; 69 : } - - 0014d f3 0f 7f 44 24 - 20 movdqu XMMWORD PTR [rsp+32], xmm0 - 00153 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 00157 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:det_mat3_internal$rtcFrameData - 0015e e8 00 00 00 00 call _RTC_CheckStackVars - 00163 f3 0f 6f 44 24 - 20 movdqu xmm0, XMMWORD PTR [rsp+32] - 00169 48 8d a5 18 02 - 00 00 lea rsp, QWORD PTR [rbp+536] - 00170 5f pop rdi - 00171 5d pop rbp - 00172 c3 ret 0 -det_mat3_internal ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat3.c -; COMDAT det_mat3 -_TEXT SEGMENT -$T1 = 208 -$T2 = 256 -$T3 = 304 -source$ = 368 -transpose$ = 376 -det_mat3 PROC ; COMDAT - -; 72 : { - -$LN3: - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec 88 01 - 00 00 sub rsp, 392 ; 00000188H - 00013 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B23DCD9D_mat3@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 73 : return det_mat3_internal(source->column[0], source->column[1], source->column[2]); - - 00025 b8 10 00 00 00 mov eax, 16 - 0002a 48 6b c0 02 imul rax, rax, 2 - 0002e 48 8b 8d 70 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 00035 0f 10 04 01 movups xmm0, XMMWORD PTR [rcx+rax] - 00039 0f 11 85 30 01 - 00 00 movups XMMWORD PTR $T3[rbp], xmm0 - 00040 b8 10 00 00 00 mov eax, 16 - 00045 48 6b c0 01 imul rax, rax, 1 - 00049 48 8b 8d 70 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 00050 0f 10 04 01 movups xmm0, XMMWORD PTR [rcx+rax] - 00054 0f 11 85 00 01 - 00 00 movups XMMWORD PTR $T2[rbp], xmm0 - 0005b b8 10 00 00 00 mov eax, 16 - 00060 48 6b c0 00 imul rax, rax, 0 - 00064 48 8b 8d 70 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 0006b 0f 10 04 01 movups xmm0, XMMWORD PTR [rcx+rax] - 0006f 0f 11 85 d0 00 - 00 00 movups XMMWORD PTR $T1[rbp], xmm0 - 00076 4c 8d 85 30 01 - 00 00 lea r8, QWORD PTR $T3[rbp] - 0007d 48 8d 95 00 01 - 00 00 lea rdx, QWORD PTR $T2[rbp] - 00084 48 8d 8d d0 00 - 00 00 lea rcx, QWORD PTR $T1[rbp] - 0008b e8 00 00 00 00 call det_mat3_internal - -; 74 : } - - 00090 48 8d a5 58 01 - 00 00 lea rsp, QWORD PTR [rbp+344] - 00097 5f pop rdi - 00098 5d pop rbp - 00099 c3 ret 0 -det_mat3 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat3.c -; COMDAT transpose34 -_TEXT SEGMENT -t0$ = 16 -t1$ = 64 -t2$ = 112 -t3$ = 160 -source$ = 416 -target$ = 424 -transpose34 PROC ; COMDAT - -; 30 : { - -$LN3: - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec a8 01 - 00 00 sub rsp, 424 ; 000001a8H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B23DCD9D_mat3@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 31 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]), - - 00025 b8 10 00 00 00 mov eax, 16 - 0002a 48 6b c0 01 imul rax, rax, 1 - 0002e 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 00035 48 03 c8 add rcx, rax - 00038 48 8b c1 mov rax, rcx - 0003b 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0003e b8 10 00 00 00 mov eax, 16 - 00043 48 6b c0 00 imul rax, rax, 0 - 00047 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 0004e 48 03 c8 add rcx, rax - 00051 48 8b c1 mov rax, rcx - 00054 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00057 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H - 0005b 0f 28 c1 movaps xmm0, xmm1 - 0005e 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0 - -; 32 : _MM_SHUFFLE(1, 0, 1, 0)); -; 33 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]), - - 00062 b8 10 00 00 00 mov eax, 16 - 00067 48 6b c0 01 imul rax, rax, 1 - 0006b 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 00072 48 03 c8 add rcx, rax - 00075 48 8b c1 mov rax, rcx - 00078 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0007b b8 10 00 00 00 mov eax, 16 - 00080 48 6b c0 00 imul rax, rax, 0 - 00084 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 0008b 48 03 c8 add rcx, rax - 0008e 48 8b c1 mov rax, rcx - 00091 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00094 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH - 00098 0f 28 c1 movaps xmm0, xmm1 - 0009b 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0 - -; 34 : _MM_SHUFFLE(3, 2, 3, 2)); -; 35 : __m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), zero_vec, _MM_SHUFFLE(1, 0, 1, 0)); - - 0009f 0f 57 c0 xorps xmm0, xmm0 - 000a2 b8 10 00 00 00 mov eax, 16 - 000a7 48 6b c0 02 imul rax, rax, 2 - 000ab 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 000b2 48 03 c8 add rcx, rax - 000b5 48 8b c1 mov rax, rcx - 000b8 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 000bb 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H - 000bf 0f 28 c1 movaps xmm0, xmm1 - 000c2 0f 29 45 70 movaps XMMWORD PTR t2$[rbp], xmm0 - -; 36 : __m128 t3 = _mm_shuffle_ps(ALIGN(source->column[2]), zero_vec, _MM_SHUFFLE(3, 2, 3, 2)); - - 000c6 0f 57 c0 xorps xmm0, xmm0 - 000c9 b8 10 00 00 00 mov eax, 16 - 000ce 48 6b c0 02 imul rax, rax, 2 - 000d2 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 000d9 48 03 c8 add rcx, rax - 000dc 48 8b c1 mov rax, rcx - 000df 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 000e2 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH - 000e6 0f 28 c1 movaps xmm0, xmm1 - 000e9 0f 29 85 a0 00 - 00 00 movaps XMMWORD PTR t3$[rbp], xmm0 - -; 37 : -; 38 : target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0)); - - 000f0 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp] - 000f4 0f c6 45 70 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H - 000f9 b8 10 00 00 00 mov eax, 16 - 000fe 48 6b c0 00 imul rax, rax, 0 - 00102 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 00109 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 39 : target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1)); - - 0010d 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp] - 00111 0f c6 45 70 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH - 00116 b8 10 00 00 00 mov eax, 16 - 0011b 48 6b c0 01 imul rax, rax, 1 - 0011f 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 00126 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 40 : target->column[2] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(2, 0, 2, 0)); - - 0012a 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp] - 0012e 0f c6 85 a0 00 - 00 00 88 shufps xmm0, XMMWORD PTR t3$[rbp], 136 ; 00000088H - 00136 b8 10 00 00 00 mov eax, 16 - 0013b 48 6b c0 02 imul rax, rax, 2 - 0013f 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 00146 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 41 : target->column[3] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(3, 1, 3, 1)); - - 0014a 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp] - 0014e 0f c6 85 a0 00 - 00 00 dd shufps xmm0, XMMWORD PTR t3$[rbp], 221 ; 000000ddH - 00156 b8 10 00 00 00 mov eax, 16 - 0015b 48 6b c0 03 imul rax, rax, 3 - 0015f 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 00166 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 42 : } - - 0016a 48 8d a5 88 01 - 00 00 lea rsp, QWORD PTR [rbp+392] - 00171 5f pop rdi - 00172 5d pop rbp - 00173 c3 ret 0 -transpose34 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat3.c -; COMDAT transpose33 -_TEXT SEGMENT -t0$ = 16 -t1$ = 64 -t2$ = 112 -t3$ = 160 -source$ = 416 -target$ = 424 -transpose33 PROC ; COMDAT - -; 16 : { - -$LN3: - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec a8 01 - 00 00 sub rsp, 424 ; 000001a8H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B23DCD9D_mat3@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 17 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]), - - 00025 b8 10 00 00 00 mov eax, 16 - 0002a 48 6b c0 01 imul rax, rax, 1 - 0002e 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 00035 48 03 c8 add rcx, rax - 00038 48 8b c1 mov rax, rcx - 0003b 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0003e b8 10 00 00 00 mov eax, 16 - 00043 48 6b c0 00 imul rax, rax, 0 - 00047 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 0004e 48 03 c8 add rcx, rax - 00051 48 8b c1 mov rax, rcx - 00054 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00057 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H - 0005b 0f 28 c1 movaps xmm0, xmm1 - 0005e 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0 - -; 18 : _MM_SHUFFLE(1, 0, 1, 0)); -; 19 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]), - - 00062 b8 10 00 00 00 mov eax, 16 - 00067 48 6b c0 01 imul rax, rax, 1 - 0006b 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 00072 48 03 c8 add rcx, rax - 00075 48 8b c1 mov rax, rcx - 00078 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0007b b8 10 00 00 00 mov eax, 16 - 00080 48 6b c0 00 imul rax, rax, 0 - 00084 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 0008b 48 03 c8 add rcx, rax - 0008e 48 8b c1 mov rax, rcx - 00091 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00094 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH - 00098 0f 28 c1 movaps xmm0, xmm1 - 0009b 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0 - -; 20 : _MM_SHUFFLE(3, 2, 3, 2)); -; 21 : __m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), zero_vec, _MM_SHUFFLE(1, 0, 1, 0)); - - 0009f 0f 57 c0 xorps xmm0, xmm0 - 000a2 b8 10 00 00 00 mov eax, 16 - 000a7 48 6b c0 02 imul rax, rax, 2 - 000ab 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 000b2 48 03 c8 add rcx, rax - 000b5 48 8b c1 mov rax, rcx - 000b8 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 000bb 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H - 000bf 0f 28 c1 movaps xmm0, xmm1 - 000c2 0f 29 45 70 movaps XMMWORD PTR t2$[rbp], xmm0 - -; 22 : __m128 t3 = _mm_shuffle_ps(ALIGN(source->column[2]), zero_vec, _MM_SHUFFLE(3, 2, 3, 2)); - - 000c6 0f 57 c0 xorps xmm0, xmm0 - 000c9 b8 10 00 00 00 mov eax, 16 - 000ce 48 6b c0 02 imul rax, rax, 2 - 000d2 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 000d9 48 03 c8 add rcx, rax - 000dc 48 8b c1 mov rax, rcx - 000df 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 000e2 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH - 000e6 0f 28 c1 movaps xmm0, xmm1 - 000e9 0f 29 85 a0 00 - 00 00 movaps XMMWORD PTR t3$[rbp], xmm0 - -; 23 : -; 24 : target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0)); - - 000f0 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp] - 000f4 0f c6 45 70 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H - 000f9 b8 10 00 00 00 mov eax, 16 - 000fe 48 6b c0 00 imul rax, rax, 0 - 00102 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 00109 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 25 : target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1)); - - 0010d 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp] - 00111 0f c6 45 70 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH - 00116 b8 10 00 00 00 mov eax, 16 - 0011b 48 6b c0 01 imul rax, rax, 1 - 0011f 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 00126 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 26 : target->column[2] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(2, 0, 2, 0)); - - 0012a 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp] - 0012e 0f c6 85 a0 00 - 00 00 88 shufps xmm0, XMMWORD PTR t3$[rbp], 136 ; 00000088H - 00136 b8 10 00 00 00 mov eax, 16 - 0013b 48 6b c0 02 imul rax, rax, 2 - 0013f 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 00146 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 27 : } - - 0014a 48 8d a5 88 01 - 00 00 lea rsp, QWORD PTR [rbp+392] - 00151 5f pop rdi - 00152 5d pop rbp - 00153 c3 ret 0 -transpose33 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat3.c -; COMDAT transpose32 -_TEXT SEGMENT -t0$ = 16 -t2$ = 64 -source$ = 320 -target$ = 328 -transpose32 PROC ; COMDAT - -; 6 : { - -$LN3: - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec 48 01 - 00 00 sub rsp, 328 ; 00000148H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B23DCD9D_mat3@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 7 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]), - - 00025 b8 10 00 00 00 mov eax, 16 - 0002a 48 6b c0 01 imul rax, rax, 1 - 0002e 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 00035 48 03 c8 add rcx, rax - 00038 48 8b c1 mov rax, rcx - 0003b 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0003e b8 10 00 00 00 mov eax, 16 - 00043 48 6b c0 00 imul rax, rax, 0 - 00047 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 0004e 48 03 c8 add rcx, rax - 00051 48 8b c1 mov rax, rcx - 00054 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00057 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H - 0005b 0f 28 c1 movaps xmm0, xmm1 - 0005e 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0 - -; 8 : _MM_SHUFFLE(1, 0, 1, 0)); -; 9 : __m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), zero_vec, _MM_SHUFFLE(1, 0, 1, 0)); - - 00062 0f 57 c0 xorps xmm0, xmm0 - 00065 b8 10 00 00 00 mov eax, 16 - 0006a 48 6b c0 02 imul rax, rax, 2 - 0006e 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 00075 48 03 c8 add rcx, rax - 00078 48 8b c1 mov rax, rcx - 0007b 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 0007e 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H - 00082 0f 28 c1 movaps xmm0, xmm1 - 00085 0f 29 45 40 movaps XMMWORD PTR t2$[rbp], xmm0 - -; 10 : -; 11 : target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0)); - - 00089 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp] - 0008d 0f c6 45 40 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H - 00092 b8 10 00 00 00 mov eax, 16 - 00097 48 6b c0 00 imul rax, rax, 0 - 0009b 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 000a2 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 12 : target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1)); - - 000a6 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp] - 000aa 0f c6 45 40 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH - 000af b8 10 00 00 00 mov eax, 16 - 000b4 48 6b c0 01 imul rax, rax, 1 - 000b8 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 000bf 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 13 : } - - 000c3 48 8d a5 28 01 - 00 00 lea rsp, QWORD PTR [rbp+296] - 000ca 5f pop rdi - 000cb 5d pop rbp - 000cc c3 ret 0 -transpose32 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat3.c -; COMDAT submatrix3_512 -_TEXT SEGMENT -temp$ = 64 -left$ = 432 -right$ = 440 -ans$ = 448 -submatrix3_512 PROC ; COMDAT - -; 125 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 41 55 push r13 - 00011 55 push rbp - 00012 57 push rdi - 00013 48 81 ec b0 01 - 00 00 sub rsp, 432 ; 000001b0H - 0001a 4c 8d 6c 24 20 lea r13, QWORD PTR [rsp+32] - 0001f 48 8d 6c 24 60 lea rbp, QWORD PTR [rsp+96] - 00024 48 83 e5 c0 and rbp, -64 ; ffffffffffffffc0H - 00028 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B23DCD9D_mat3@c - 0002f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00034 90 npad 1 - -; 126 : __m512 temp = _mm512_sub_ps(_mm512_loadu_ps(left), _mm512_loadu_ps(right)); - - 00035 49 8b 85 b8 01 - 00 00 mov rax, QWORD PTR right$[r13] - 0003c 62 f1 7c 48 10 - 00 vmovups zmm0, ZMMWORD PTR [rax] - 00042 49 8b 85 b0 01 - 00 00 mov rax, QWORD PTR left$[r13] - 00049 62 f1 7c 48 10 - 08 vmovups zmm1, ZMMWORD PTR [rax] - 0004f 62 f1 74 48 5c - c0 vsubps zmm0, zmm1, zmm0 - 00055 62 f1 7c 48 11 - 45 01 vmovups ZMMWORD PTR temp$[rbp], zmm0 - -; 127 : _mm512_mask_store_ps(ans, 0x0fff, temp); - - 0005c b8 ff 0f 00 00 mov eax, 4095 ; 00000fffH - 00061 c5 f8 92 c8 kmovw k1, ax - 00065 49 8b 85 c0 01 - 00 00 mov rax, QWORD PTR ans$[r13] - 0006c 62 f1 7c 48 10 - 45 01 vmovups zmm0, ZMMWORD PTR temp$[rbp] - 00073 62 f1 7c 49 11 - 00 vmovups ZMMWORD PTR [rax] {k1}, zmm0 - -; 128 : } - - 00079 49 8d a5 90 01 - 00 00 lea rsp, QWORD PTR [r13+400] - 00080 5f pop rdi - 00081 5d pop rbp - 00082 41 5d pop r13 - 00084 c3 ret 0 -submatrix3_512 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat3.c -; COMDAT submatrix3_avx -_TEXT SEGMENT -temp0$ = 32 -temp1$ = 96 -left$ = 384 -right$ = 392 -ans$ = 400 -submatrix3_avx PROC ; COMDAT - -; 116 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 41 55 push r13 - 00011 55 push rbp - 00012 57 push rdi - 00013 48 81 ec 80 01 - 00 00 sub rsp, 384 ; 00000180H - 0001a 4c 8d 6c 24 20 lea r13, QWORD PTR [rsp+32] - 0001f 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] - 00024 48 83 e5 e0 and rbp, -32 ; ffffffffffffffe0H - 00028 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B23DCD9D_mat3@c - 0002f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00034 90 npad 1 - -; 117 : __m256 temp0 = _mm256_sub_ps(ALIGN256(left->part), ALIGN256(right->part)); - - 00035 49 8b 85 88 01 - 00 00 mov rax, QWORD PTR right$[r13] - 0003c c5 fc 10 00 vmovups ymm0, YMMWORD PTR [rax] - 00040 49 8b 85 80 01 - 00 00 mov rax, QWORD PTR left$[r13] - 00047 c5 fc 10 08 vmovups ymm1, YMMWORD PTR [rax] - 0004b c5 f4 5c c0 vsubps ymm0, ymm1, ymm0 - 0004f c5 fc 11 45 20 vmovups YMMWORD PTR temp0$[rbp], ymm0 - -; 118 : __m128 temp1 = _mm_sub_ps(ALIGN(left->column[2]), ALIGN(right->column[2])); - - 00054 b8 10 00 00 00 mov eax, 16 - 00059 48 6b c0 02 imul rax, rax, 2 - 0005d 49 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR right$[r13] - 00064 48 03 c8 add rcx, rax - 00067 48 8b c1 mov rax, rcx - 0006a 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0006d b8 10 00 00 00 mov eax, 16 - 00072 48 6b c0 02 imul rax, rax, 2 - 00076 49 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR left$[r13] - 0007d 48 03 c8 add rcx, rax - 00080 48 8b c1 mov rax, rcx - 00083 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00086 0f 5c c8 subps xmm1, xmm0 - 00089 0f 28 c1 movaps xmm0, xmm1 - 0008c 0f 29 45 60 movaps XMMWORD PTR temp1$[rbp], xmm0 - -; 119 : -; 120 : _mm256_storeu_ps(&ans->m[0][0], temp0); - - 00090 b8 0c 00 00 00 mov eax, 12 - 00095 48 6b c0 00 imul rax, rax, 0 - 00099 49 8b 8d 90 01 - 00 00 mov rcx, QWORD PTR ans$[r13] - 000a0 48 03 c8 add rcx, rax - 000a3 48 8b c1 mov rax, rcx - 000a6 b9 04 00 00 00 mov ecx, 4 - 000ab 48 6b c9 00 imul rcx, rcx, 0 - 000af 48 03 c1 add rax, rcx - 000b2 c5 fc 10 45 20 vmovups ymm0, YMMWORD PTR temp0$[rbp] - 000b7 c5 fc 11 00 vmovups YMMWORD PTR [rax], ymm0 - -; 121 : _mm_storeu_ps(&ans->m[0][2], temp1); - - 000bb b8 0c 00 00 00 mov eax, 12 - 000c0 48 6b c0 00 imul rax, rax, 0 - 000c4 49 8b 8d 90 01 - 00 00 mov rcx, QWORD PTR ans$[r13] - 000cb 48 03 c8 add rcx, rax - 000ce 48 8b c1 mov rax, rcx - 000d1 b9 04 00 00 00 mov ecx, 4 - 000d6 48 6b c9 02 imul rcx, rcx, 2 - 000da 48 03 c1 add rax, rcx - 000dd 0f 28 45 60 movaps xmm0, XMMWORD PTR temp1$[rbp] - 000e1 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 122 : } - - 000e4 49 8d a5 60 01 - 00 00 lea rsp, QWORD PTR [r13+352] - 000eb 5f pop rdi - 000ec 5d pop rbp - 000ed 41 5d pop r13 - 000ef c3 ret 0 -submatrix3_avx ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat3.c -; COMDAT submatrix3_sse -_TEXT SEGMENT -temp0$ = 16 -temp1$ = 64 -temp2$ = 112 -left$ = 368 -right$ = 376 -ans$ = 384 -submatrix3_sse PROC ; COMDAT - -; 105 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec 78 01 - 00 00 sub rsp, 376 ; 00000178H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B23DCD9D_mat3@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 106 : __m128 temp0 = _mm_sub_ps(ALIGN(left->column[0]), ALIGN(right->column[0])); - - 0002a b8 10 00 00 00 mov eax, 16 - 0002f 48 6b c0 00 imul rax, rax, 0 - 00033 48 8b 8d 78 01 - 00 00 mov rcx, QWORD PTR right$[rbp] - 0003a 48 03 c8 add rcx, rax - 0003d 48 8b c1 mov rax, rcx - 00040 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 00043 b8 10 00 00 00 mov eax, 16 - 00048 48 6b c0 00 imul rax, rax, 0 - 0004c 48 8b 8d 70 01 - 00 00 mov rcx, QWORD PTR left$[rbp] - 00053 48 03 c8 add rcx, rax - 00056 48 8b c1 mov rax, rcx - 00059 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 0005c 0f 5c c8 subps xmm1, xmm0 - 0005f 0f 28 c1 movaps xmm0, xmm1 - 00062 0f 29 45 10 movaps XMMWORD PTR temp0$[rbp], xmm0 - -; 107 : __m128 temp1 = _mm_sub_ps(ALIGN(left->column[1]), ALIGN(right->column[1])); - - 00066 b8 10 00 00 00 mov eax, 16 - 0006b 48 6b c0 01 imul rax, rax, 1 - 0006f 48 8b 8d 78 01 - 00 00 mov rcx, QWORD PTR right$[rbp] - 00076 48 03 c8 add rcx, rax - 00079 48 8b c1 mov rax, rcx - 0007c 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0007f b8 10 00 00 00 mov eax, 16 - 00084 48 6b c0 01 imul rax, rax, 1 - 00088 48 8b 8d 70 01 - 00 00 mov rcx, QWORD PTR left$[rbp] - 0008f 48 03 c8 add rcx, rax - 00092 48 8b c1 mov rax, rcx - 00095 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00098 0f 5c c8 subps xmm1, xmm0 - 0009b 0f 28 c1 movaps xmm0, xmm1 - 0009e 0f 29 45 40 movaps XMMWORD PTR temp1$[rbp], xmm0 - -; 108 : __m128 temp2 = _mm_sub_ps(ALIGN(left->column[2]), ALIGN(right->column[2])); - - 000a2 b8 10 00 00 00 mov eax, 16 - 000a7 48 6b c0 02 imul rax, rax, 2 - 000ab 48 8b 8d 78 01 - 00 00 mov rcx, QWORD PTR right$[rbp] - 000b2 48 03 c8 add rcx, rax - 000b5 48 8b c1 mov rax, rcx - 000b8 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 000bb b8 10 00 00 00 mov eax, 16 - 000c0 48 6b c0 02 imul rax, rax, 2 - 000c4 48 8b 8d 70 01 - 00 00 mov rcx, QWORD PTR left$[rbp] - 000cb 48 03 c8 add rcx, rax - 000ce 48 8b c1 mov rax, rcx - 000d1 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 000d4 0f 5c c8 subps xmm1, xmm0 - 000d7 0f 28 c1 movaps xmm0, xmm1 - 000da 0f 29 45 70 movaps XMMWORD PTR temp2$[rbp], xmm0 - -; 109 : -; 110 : _mm_storeu_ps(&ans->m[0][0], temp0); - - 000de b8 0c 00 00 00 mov eax, 12 - 000e3 48 6b c0 00 imul rax, rax, 0 - 000e7 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 000ee 48 03 c8 add rcx, rax - 000f1 48 8b c1 mov rax, rcx - 000f4 b9 04 00 00 00 mov ecx, 4 - 000f9 48 6b c9 00 imul rcx, rcx, 0 - 000fd 48 03 c1 add rax, rcx - 00100 0f 28 45 10 movaps xmm0, XMMWORD PTR temp0$[rbp] - 00104 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 111 : _mm_storeu_ps(&ans->m[0][1], temp1); - - 00107 b8 0c 00 00 00 mov eax, 12 - 0010c 48 6b c0 00 imul rax, rax, 0 - 00110 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 00117 48 03 c8 add rcx, rax - 0011a 48 8b c1 mov rax, rcx - 0011d b9 04 00 00 00 mov ecx, 4 - 00122 48 6b c9 01 imul rcx, rcx, 1 - 00126 48 03 c1 add rax, rcx - 00129 0f 28 45 40 movaps xmm0, XMMWORD PTR temp1$[rbp] - 0012d 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 112 : _mm_storeu_ps(&ans->m[0][2], temp2); - - 00130 b8 0c 00 00 00 mov eax, 12 - 00135 48 6b c0 00 imul rax, rax, 0 - 00139 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 00140 48 03 c8 add rcx, rax - 00143 48 8b c1 mov rax, rcx - 00146 b9 04 00 00 00 mov ecx, 4 - 0014b 48 6b c9 02 imul rcx, rcx, 2 - 0014f 48 03 c1 add rax, rcx - 00152 0f 28 45 70 movaps xmm0, XMMWORD PTR temp2$[rbp] - 00156 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 113 : } - - 00159 48 8d a5 58 01 - 00 00 lea rsp, QWORD PTR [rbp+344] - 00160 5f pop rdi - 00161 5d pop rbp - 00162 c3 ret 0 -submatrix3_sse ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat3.c -; COMDAT addmatrix3_512 -_TEXT SEGMENT -temp$ = 64 -left$ = 432 -right$ = 440 -ans$ = 448 -addmatrix3_512 PROC ; COMDAT - -; 99 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 41 55 push r13 - 00011 55 push rbp - 00012 57 push rdi - 00013 48 81 ec b0 01 - 00 00 sub rsp, 432 ; 000001b0H - 0001a 4c 8d 6c 24 20 lea r13, QWORD PTR [rsp+32] - 0001f 48 8d 6c 24 60 lea rbp, QWORD PTR [rsp+96] - 00024 48 83 e5 c0 and rbp, -64 ; ffffffffffffffc0H - 00028 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B23DCD9D_mat3@c - 0002f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00034 90 npad 1 - -; 100 : __m512 temp = _mm512_add_ps(_mm512_loadu_ps(left), _mm512_loadu_ps(right)); - - 00035 49 8b 85 b8 01 - 00 00 mov rax, QWORD PTR right$[r13] - 0003c 62 f1 7c 48 10 - 00 vmovups zmm0, ZMMWORD PTR [rax] - 00042 49 8b 85 b0 01 - 00 00 mov rax, QWORD PTR left$[r13] - 00049 62 f1 7c 48 10 - 08 vmovups zmm1, ZMMWORD PTR [rax] - 0004f 62 f1 74 48 58 - c0 vaddps zmm0, zmm1, zmm0 - 00055 62 f1 7c 48 11 - 45 01 vmovups ZMMWORD PTR temp$[rbp], zmm0 - -; 101 : _mm512_mask_store_ps(ans, 0x0fff, temp); - - 0005c b8 ff 0f 00 00 mov eax, 4095 ; 00000fffH - 00061 c5 f8 92 c8 kmovw k1, ax - 00065 49 8b 85 c0 01 - 00 00 mov rax, QWORD PTR ans$[r13] - 0006c 62 f1 7c 48 10 - 45 01 vmovups zmm0, ZMMWORD PTR temp$[rbp] - 00073 62 f1 7c 49 11 - 00 vmovups ZMMWORD PTR [rax] {k1}, zmm0 - -; 102 : } - - 00079 49 8d a5 90 01 - 00 00 lea rsp, QWORD PTR [r13+400] - 00080 5f pop rdi - 00081 5d pop rbp - 00082 41 5d pop r13 - 00084 c3 ret 0 -addmatrix3_512 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat3.c -; COMDAT addmatrix3_avx -_TEXT SEGMENT -temp0$ = 32 -temp1$ = 96 -left$ = 384 -right$ = 392 -ans$ = 400 -addmatrix3_avx PROC ; COMDAT - -; 90 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 41 55 push r13 - 00011 55 push rbp - 00012 57 push rdi - 00013 48 81 ec 80 01 - 00 00 sub rsp, 384 ; 00000180H - 0001a 4c 8d 6c 24 20 lea r13, QWORD PTR [rsp+32] - 0001f 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] - 00024 48 83 e5 e0 and rbp, -32 ; ffffffffffffffe0H - 00028 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B23DCD9D_mat3@c - 0002f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00034 90 npad 1 - -; 91 : __m256 temp0 = _mm256_add_ps(ALIGN256(left->part), ALIGN256(right->part)); - - 00035 49 8b 85 88 01 - 00 00 mov rax, QWORD PTR right$[r13] - 0003c c5 fc 10 00 vmovups ymm0, YMMWORD PTR [rax] - 00040 49 8b 85 80 01 - 00 00 mov rax, QWORD PTR left$[r13] - 00047 c5 fc 10 08 vmovups ymm1, YMMWORD PTR [rax] - 0004b c5 f4 58 c0 vaddps ymm0, ymm1, ymm0 - 0004f c5 fc 11 45 20 vmovups YMMWORD PTR temp0$[rbp], ymm0 - -; 92 : __m128 temp1 = _mm_add_ps(ALIGN(left->column[2]), ALIGN(right->column[2])); - - 00054 b8 10 00 00 00 mov eax, 16 - 00059 48 6b c0 02 imul rax, rax, 2 - 0005d 49 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR right$[r13] - 00064 48 03 c8 add rcx, rax - 00067 48 8b c1 mov rax, rcx - 0006a 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0006d b8 10 00 00 00 mov eax, 16 - 00072 48 6b c0 02 imul rax, rax, 2 - 00076 49 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR left$[r13] - 0007d 48 03 c8 add rcx, rax - 00080 48 8b c1 mov rax, rcx - 00083 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00086 0f 58 c8 addps xmm1, xmm0 - 00089 0f 28 c1 movaps xmm0, xmm1 - 0008c 0f 29 45 60 movaps XMMWORD PTR temp1$[rbp], xmm0 - -; 93 : -; 94 : _mm256_storeu_ps(&ans->m[0][0], temp0); - - 00090 b8 0c 00 00 00 mov eax, 12 - 00095 48 6b c0 00 imul rax, rax, 0 - 00099 49 8b 8d 90 01 - 00 00 mov rcx, QWORD PTR ans$[r13] - 000a0 48 03 c8 add rcx, rax - 000a3 48 8b c1 mov rax, rcx - 000a6 b9 04 00 00 00 mov ecx, 4 - 000ab 48 6b c9 00 imul rcx, rcx, 0 - 000af 48 03 c1 add rax, rcx - 000b2 c5 fc 10 45 20 vmovups ymm0, YMMWORD PTR temp0$[rbp] - 000b7 c5 fc 11 00 vmovups YMMWORD PTR [rax], ymm0 - -; 95 : _mm_storeu_ps(&ans->m[0][2], temp1); - - 000bb b8 0c 00 00 00 mov eax, 12 - 000c0 48 6b c0 00 imul rax, rax, 0 - 000c4 49 8b 8d 90 01 - 00 00 mov rcx, QWORD PTR ans$[r13] - 000cb 48 03 c8 add rcx, rax - 000ce 48 8b c1 mov rax, rcx - 000d1 b9 04 00 00 00 mov ecx, 4 - 000d6 48 6b c9 02 imul rcx, rcx, 2 - 000da 48 03 c1 add rax, rcx - 000dd 0f 28 45 60 movaps xmm0, XMMWORD PTR temp1$[rbp] - 000e1 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 96 : } - - 000e4 49 8d a5 60 01 - 00 00 lea rsp, QWORD PTR [r13+352] - 000eb 5f pop rdi - 000ec 5d pop rbp - 000ed 41 5d pop r13 - 000ef c3 ret 0 -addmatrix3_avx ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat3.c -; COMDAT addmatrix3_sse -_TEXT SEGMENT -temp0$ = 16 -temp1$ = 64 -temp2$ = 112 -left$ = 368 -right$ = 376 -ans$ = 384 -addmatrix3_sse PROC ; COMDAT - -; 79 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec 78 01 - 00 00 sub rsp, 376 ; 00000178H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B23DCD9D_mat3@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 80 : __m128 temp0 = _mm_add_ps(ALIGN(left->column[0]), ALIGN(right->column[0])); - - 0002a b8 10 00 00 00 mov eax, 16 - 0002f 48 6b c0 00 imul rax, rax, 0 - 00033 48 8b 8d 78 01 - 00 00 mov rcx, QWORD PTR right$[rbp] - 0003a 48 03 c8 add rcx, rax - 0003d 48 8b c1 mov rax, rcx - 00040 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 00043 b8 10 00 00 00 mov eax, 16 - 00048 48 6b c0 00 imul rax, rax, 0 - 0004c 48 8b 8d 70 01 - 00 00 mov rcx, QWORD PTR left$[rbp] - 00053 48 03 c8 add rcx, rax - 00056 48 8b c1 mov rax, rcx - 00059 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 0005c 0f 58 c8 addps xmm1, xmm0 - 0005f 0f 28 c1 movaps xmm0, xmm1 - 00062 0f 29 45 10 movaps XMMWORD PTR temp0$[rbp], xmm0 - -; 81 : __m128 temp1 = _mm_add_ps(ALIGN(left->column[1]), ALIGN(right->column[1])); - - 00066 b8 10 00 00 00 mov eax, 16 - 0006b 48 6b c0 01 imul rax, rax, 1 - 0006f 48 8b 8d 78 01 - 00 00 mov rcx, QWORD PTR right$[rbp] - 00076 48 03 c8 add rcx, rax - 00079 48 8b c1 mov rax, rcx - 0007c 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0007f b8 10 00 00 00 mov eax, 16 - 00084 48 6b c0 01 imul rax, rax, 1 - 00088 48 8b 8d 70 01 - 00 00 mov rcx, QWORD PTR left$[rbp] - 0008f 48 03 c8 add rcx, rax - 00092 48 8b c1 mov rax, rcx - 00095 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00098 0f 58 c8 addps xmm1, xmm0 - 0009b 0f 28 c1 movaps xmm0, xmm1 - 0009e 0f 29 45 40 movaps XMMWORD PTR temp1$[rbp], xmm0 - -; 82 : __m128 temp2 = _mm_add_ps(ALIGN(left->column[2]), ALIGN(right->column[2])); - - 000a2 b8 10 00 00 00 mov eax, 16 - 000a7 48 6b c0 02 imul rax, rax, 2 - 000ab 48 8b 8d 78 01 - 00 00 mov rcx, QWORD PTR right$[rbp] - 000b2 48 03 c8 add rcx, rax - 000b5 48 8b c1 mov rax, rcx - 000b8 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 000bb b8 10 00 00 00 mov eax, 16 - 000c0 48 6b c0 02 imul rax, rax, 2 - 000c4 48 8b 8d 70 01 - 00 00 mov rcx, QWORD PTR left$[rbp] - 000cb 48 03 c8 add rcx, rax - 000ce 48 8b c1 mov rax, rcx - 000d1 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 000d4 0f 58 c8 addps xmm1, xmm0 - 000d7 0f 28 c1 movaps xmm0, xmm1 - 000da 0f 29 45 70 movaps XMMWORD PTR temp2$[rbp], xmm0 - -; 83 : -; 84 : _mm_storeu_ps(&ans->m[0][0], temp0); - - 000de b8 0c 00 00 00 mov eax, 12 - 000e3 48 6b c0 00 imul rax, rax, 0 - 000e7 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 000ee 48 03 c8 add rcx, rax - 000f1 48 8b c1 mov rax, rcx - 000f4 b9 04 00 00 00 mov ecx, 4 - 000f9 48 6b c9 00 imul rcx, rcx, 0 - 000fd 48 03 c1 add rax, rcx - 00100 0f 28 45 10 movaps xmm0, XMMWORD PTR temp0$[rbp] - 00104 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 85 : _mm_storeu_ps(&ans->m[0][1], temp1); - - 00107 b8 0c 00 00 00 mov eax, 12 - 0010c 48 6b c0 00 imul rax, rax, 0 - 00110 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 00117 48 03 c8 add rcx, rax - 0011a 48 8b c1 mov rax, rcx - 0011d b9 04 00 00 00 mov ecx, 4 - 00122 48 6b c9 01 imul rcx, rcx, 1 - 00126 48 03 c1 add rax, rcx - 00129 0f 28 45 40 movaps xmm0, XMMWORD PTR temp1$[rbp] - 0012d 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 86 : _mm_storeu_ps(&ans->m[0][2], temp2); - - 00130 b8 0c 00 00 00 mov eax, 12 - 00135 48 6b c0 00 imul rax, rax, 0 - 00139 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 00140 48 03 c8 add rcx, rax - 00143 48 8b c1 mov rax, rcx - 00146 b9 04 00 00 00 mov ecx, 4 - 0014b 48 6b c9 02 imul rcx, rcx, 2 - 0014f 48 03 c1 add rax, rcx - 00152 0f 28 45 70 movaps xmm0, XMMWORD PTR temp2$[rbp] - 00156 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 87 : } - - 00159 48 8d a5 58 01 - 00 00 lea rsp, QWORD PTR [rbp+344] - 00160 5f pop rdi - 00161 5d pop rbp - 00162 c3 ret 0 -addmatrix3_sse ENDP -_TEXT ENDS -END diff --git a/StgSharp.Native/x64/Debug/mat3.obj b/StgSharp.Native/x64/Debug/mat3.obj deleted file mode 100644 index 89122f3d..00000000 Binary files a/StgSharp.Native/x64/Debug/mat3.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/mat3.sbr b/StgSharp.Native/x64/Debug/mat3.sbr deleted file mode 100644 index 71e51e70..00000000 Binary files a/StgSharp.Native/x64/Debug/mat3.sbr and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/mat4.cod b/StgSharp.Native/x64/Debug/mat4.cod deleted file mode 100644 index 5cd68975..00000000 --- a/StgSharp.Native/x64/Debug/mat4.cod +++ /dev/null @@ -1,1515 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.44.35215.0 - -include listing.inc - -INCLUDELIB MSVCRTD -INCLUDELIB OLDNAMES - -_DATA SEGMENT -COMM infolog:BYTE:0200H -_DATA ENDS -msvcjmc SEGMENT -__5C8CA4D3_mmintrin@h DB 01H -__8C83BECC_concurrencysal@h DB 01H -__608E3340_sal@h DB 01H -__FB67E29A_vadefs@h DB 01H -__1D1B619C_vcruntime@h DB 01H -__735960E1_corecrt@h DB 01H -__211DB995_corecrt_malloc@h DB 01H -__7CD62D9E_malloc@h DB 01H -__9DCE0DC8_xmmintrin@h DB 01H -__4C2AD0C7_winpackagefamily@h DB 01H -__9DED9ED1_winapifamily@h DB 01H -__12FEDF4E_sdkddkver@h DB 01H -__9BAEE128_excpt@h DB 01H -__B7B53233_stdarg@h DB 01H -__6B04FCB3_specstrings_undef@h DB 01H -__F4027AF7_specstrings_strict@h DB 01H -__B90340D4_sdv_driverspecs@h DB 01H -__BFFF5AD3_driverspecs@h DB 01H -__32847078_specstrings@h DB 01H -__108B2620_corecrt_wctype@h DB 01H -__6CD6613D_ctype@h DB 01H -__30902A1F_kernelspecs@h DB 01H -__376FD5CA_basetsd@h DB 01H -__13DE2371_errno@h DB 01H -__8C6AE390_vcruntime_string@h DB 01H -__8ACB2152_corecrt_memcpy_s@h DB 01H -__EA6C9D17_corecrt_memory@h DB 01H -__0DF2AF52_corecrt_wstring@h DB 01H -__6E889ECC_string@h DB 01H -__9BEDF4DE_guiddef@h DB 01H -__51BFD2FE_pshpack4@h DB 01H -__31652CEA_poppack@h DB 01H -__5532AE4C_pshpack2@h DB 01H -__58A52B9A_pshpack8@h DB 01H -__57741015_pshpack1@h DB 01H -__CDE68C90_apiset@h DB 01H -__0BF06E8D_ktmtypes@h DB 01H -__40C200C0_winnt@h DB 01H -__9336F789_minwindef@h DB 01H -__55136115_windef@h DB 01H -__32205BF0_apisetcconv@h DB 01H -__B48FDEA0_minwinbase@h DB 01H -__3551B028_apiquery2@h DB 01H -__65BE04AA_processenv@h DB 01H -__4767CA46_fileapi@h DB 01H -__282E6C4B_fileapifromapp@h DB 01H -__393AF12C_debugapi@h DB 01H -__EBC502B8_utilapiset@h DB 01H -__1EAD8C69_handleapi@h DB 01H -__D8EF9B29_errhandlingapi@h DB 01H -__97FC1204_fibersapi@h DB 01H -__27448220_namedpipeapi@h DB 01H -__6EA33B2A_profileapi@h DB 01H -__EAC6F673_heapapi@h DB 01H -__D64EEA5A_ioapiset@h DB 01H -__144BD4B6_synchapi@h DB 01H -__03B1C640_interlockedapi@h DB 01H -__DC64CB38_processthreadsapi@h DB 01H -__D719B518_sysinfoapi@h DB 01H -__410385B1_memoryapi@h DB 01H -__C1AD45EF_enclaveapi@h DB 01H -__F4C3AA32_threadpoollegacyapiset@h DB 01H -__AC5A7A9F_threadpoolapiset@h DB 01H -__F5254B21_jobapi@h DB 01H -__BCEA6EE8_jobapi2@h DB 01H -__D18ACE72_wow64apiset@h DB 01H -__669B0D4A_libloaderapi@h DB 01H -__645F7034_securitybaseapi@h DB 01H -__67E58557_namespaceapi@h DB 01H -__599D9D3A_systemtopologyapi@h DB 01H -__2337E373_processtopologyapi@h DB 01H -__02BFF239_securityappcontainer@h DB 01H -__9C196272_realtimeapiset@h DB 01H -__5AB313A4_winerror@h DB 01H -__B7E7187B_timezoneapi@h DB 01H -__6DE9EB6F_winbase@h DB 01H -__56B2AFF2_wingdi@h DB 01H -__BA1161A9_tvout@h DB 01H -__0501A018_winuser@h DB 01H -__EF12FA99_datetimeapi@h DB 01H -__8FA7C3CA_winnls@h DB 01H -__390F0C47_stringapiset@h DB 01H -__28605B0A_wincontypes@h DB 01H -__BFBDE86D_consoleapi@h DB 01H -__C3CAFBF0_consoleapi2@h DB 01H -__C20891C7_consoleapi3@h DB 01H -__717C98B6_wincon@h DB 01H -__2884C177_verrsrc@h DB 01H -__A3FD3A34_winver@h DB 01H -__6F8AD9F1_reason@h DB 01H -__4C90FD6F_winreg@h DB 01H -__68AFEBAD_wnnc@h DB 01H -__5A7AB086_winnetwk@h DB 01H -__2FE8A10C_stralign@h DB 01H -__34558472_winsvc@h DB 01H -__058845F1_mcx@h DB 01H -__7F16006B_ime_cmodes@h DB 01H -__0A3AF599_imm@h DB 01H -__9349FE86_windows@h DB 01H -__639A050C_sn_internal@h DB 01H -__60B45B40_corecrt_stdio_config@h DB 01H -__CFA3741E_corecrt_wstdio@h DB 01H -__B3FE3303_stdio@h DB 01H -__955456CD_stddef@h DB 01H -__99AED4FB_corecrt_search@h DB 01H -__8B813BF6_corecrt_wstdlib@h DB 01H -__3D1CA2C3_limits@h DB 01H -__E8FB0A68_stdlib@h DB 01H -__C363A436_stb_image@h DB 01H -__836A8CFC_stdint@h DB 01H -__C95DC661_khrplatform@h DB 01H -__6C577136_gl@h DB 01H -__EE638A2C_wgl@h DB 01H -__E76F0EB7_glfw3@h DB 01H -__F8AC8404_emmintrin@h DB 01H -__270DEC8D_pmmintrin@h DB 01H -__97D49F0F_tmmintrin@h DB 01H -__BEEF8A8C_smmintrin@h DB 01H -__DB8D0340_nmmintrin@h DB 01H -__0E36F90E_wmmintrin@h DB 01H -__C5A2B409_zmmintrin@h DB 01H -__F2B616C3_immintrin@h DB 01H -__9FB25DBE_assert@h DB 01H -__4E664295_glfw_function@h DB 01H -__64C0EF11_StgSharpNative@h DB 01H -__47E843D2_intrin0@inl@h DB 01H -__130964FF_setjmp@h DB 01H -__4875F786_ammintrin@h DB 01H -__353FD888_intrin@h DB 01H -__5FE1E9E3_isa_availability@h DB 01H -__AA840D82_sn_intrinsic@h DB 01H -__B772DB18_mat4@c DB 01H -msvcjmc ENDS -PUBLIC addmatrix4_sse -PUBLIC addmatrix4_avx -PUBLIC addmatrix4_512 -PUBLIC submatrix4_sse -PUBLIC submatrix4_avx -PUBLIC submatrix4_512 -PUBLIC transpose42 -PUBLIC transpose43 -PUBLIC transpose44 -PUBLIC det_mat4 -PUBLIC __JustMyCode_Default -PUBLIC __xmm@80000000800000008000000080000000 -EXTRN det_mat3_internal:PROC -EXTRN _RTC_CheckStackVars:PROC -EXTRN _RTC_InitBase:PROC -EXTRN _RTC_Shutdown:PROC -EXTRN __CheckForDebuggerJustMyCode:PROC -EXTRN _fltused:DWORD -; COMDAT pdata -pdata SEGMENT -$pdata$addmatrix4_sse DD imagerel $LN3 - DD imagerel $LN3+356 - DD imagerel $unwind$addmatrix4_sse -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$addmatrix4_avx DD imagerel $LN3 - DD imagerel $LN3+206 - DD imagerel $unwind$addmatrix4_avx -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$addmatrix4_512 DD imagerel $LN3 - DD imagerel $LN3+97 - DD imagerel $unwind$addmatrix4_512 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$submatrix4_sse DD imagerel $LN3 - DD imagerel $LN3+356 - DD imagerel $unwind$submatrix4_sse -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$submatrix4_avx DD imagerel $LN3 - DD imagerel $LN3+206 - DD imagerel $unwind$submatrix4_avx -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$submatrix4_512 DD imagerel $LN3 - DD imagerel $LN3+97 - DD imagerel $unwind$submatrix4_512 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$transpose42 DD imagerel $LN3 - DD imagerel $LN3+227 - DD imagerel $unwind$transpose42 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$transpose43 DD imagerel $LN3 - DD imagerel $LN3+384 - DD imagerel $unwind$transpose43 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$transpose44 DD imagerel $LN3 - DD imagerel $LN3+416 - DD imagerel $unwind$transpose44 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$det_mat4 DD imagerel $LN3 - DD imagerel $LN3+655 - DD imagerel $unwind$det_mat4 -pdata ENDS -; COMDAT __xmm@80000000800000008000000080000000 -CONST SEGMENT -__xmm@80000000800000008000000080000000 DB 00H, 00H, 00H, 080H, 00H, 00H, 00H - DB 080H, 00H, 00H, 00H, 080H, 00H, 00H, 00H, 080H -CONST ENDS -; COMDAT rtc$TMZ -rtc$TMZ SEGMENT -_RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown -rtc$TMZ ENDS -; COMDAT rtc$IMZ -rtc$IMZ SEGMENT -_RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase -rtc$IMZ ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$det_mat4 DD 035053101H - DD 01133318H - DD 0700c00a3H - DD 0500bH -xdata ENDS -; COMDAT CONST -CONST SEGMENT -det_mat4$rtcName$0 DB 072H - DB 065H - DB 074H - DB 076H - DB 065H - DB 063H - DB 00H - ORG $+9 -det_mat4$rtcVarDesc DD 0130H - DD 010H - DQ FLAT:det_mat4$rtcName$0 - ORG $+48 -det_mat4$rtcFrameData DD 01H - DD 00H - DQ FLAT:det_mat4$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$transpose44 DD 025051801H - DD 01132318H - DD 0700c0035H - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$transpose43 DD 025051801H - DD 01132318H - DD 0700c0035H - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$transpose42 DD 025051801H - DD 01132318H - DD 0700c0029H - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$submatrix4_512 DD 025051d01H - DD 0118231dH - DD 07011001dH - DD 05010H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$submatrix4_avx DD 025051d01H - DD 0118231dH - DD 07011001dH - DD 05010H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$submatrix4_sse DD 025051d01H - DD 0118231dH - DD 07011001dH - DD 05010H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$addmatrix4_512 DD 025051d01H - DD 0118231dH - DD 07011001dH - DD 05010H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$addmatrix4_avx DD 025051d01H - DD 0118231dH - DD 07011001dH - DD 05010H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$addmatrix4_sse DD 025051d01H - DD 0118231dH - DD 07011001dH - DD 05010H -xdata ENDS -; Function compile flags: /Odt -; COMDAT __JustMyCode_Default -_TEXT SEGMENT -__JustMyCode_Default PROC ; COMDAT - 00000 c2 00 00 ret 0 -__JustMyCode_Default ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat4.c -; COMDAT det_mat4 -_TEXT SEGMENT -mc0$ = 16 -mc1$ = 64 -mc2$ = 112 -mc3$ = 160 -cogeneration$ = 208 -retvec$ = 256 -$T4 = 688 -$T5 = 736 -$T6 = 784 -$T7 = 832 -$T8 = 880 -$T9 = 928 -$T10 = 976 -$T11 = 1024 -$T12 = 1072 -$T13 = 1120 -$T14 = 1168 -$T15 = 1216 -tv89 = 1236 -tv95 = 1240 -tv133 = 1244 -mat_ptr$ = 1280 -transpose$ = 1288 -det_mat4 PROC ; COMDAT - -; 52 : { - -$LN3: - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec 18 05 - 00 00 sub rsp, 1304 ; 00000518H - 00013 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00018 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 0001d b9 da 00 00 00 mov ecx, 218 ; 000000daH - 00022 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00027 f3 ab rep stosd - 00029 48 8b 8c 24 38 - 05 00 00 mov rcx, QWORD PTR [rsp+1336] - 00031 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B772DB18_mat4@c - 00038 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0003d 90 npad 1 - -; 53 : __m128 mc0 = ALIGN(mat_ptr->column[0]); - - 0003e b8 10 00 00 00 mov eax, 16 - 00043 48 6b c0 00 imul rax, rax, 0 - 00047 48 8b 8d 00 05 - 00 00 mov rcx, QWORD PTR mat_ptr$[rbp] - 0004e 48 03 c8 add rcx, rax - 00051 48 8b c1 mov rax, rcx - 00054 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 00057 0f 29 45 10 movaps XMMWORD PTR mc0$[rbp], xmm0 - -; 54 : __m128 mc1 = ALIGN(mat_ptr->column[1]); - - 0005b b8 10 00 00 00 mov eax, 16 - 00060 48 6b c0 01 imul rax, rax, 1 - 00064 48 8b 8d 00 05 - 00 00 mov rcx, QWORD PTR mat_ptr$[rbp] - 0006b 48 03 c8 add rcx, rax - 0006e 48 8b c1 mov rax, rcx - 00071 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 00074 0f 29 45 40 movaps XMMWORD PTR mc1$[rbp], xmm0 - -; 55 : __m128 mc2 = ALIGN(mat_ptr->column[2]); - - 00078 b8 10 00 00 00 mov eax, 16 - 0007d 48 6b c0 02 imul rax, rax, 2 - 00081 48 8b 8d 00 05 - 00 00 mov rcx, QWORD PTR mat_ptr$[rbp] - 00088 48 03 c8 add rcx, rax - 0008b 48 8b c1 mov rax, rcx - 0008e 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 00091 0f 29 45 70 movaps XMMWORD PTR mc2$[rbp], xmm0 - -; 56 : __m128 mc3 = ALIGN(mat_ptr->column[3]); - - 00095 b8 10 00 00 00 mov eax, 16 - 0009a 48 6b c0 03 imul rax, rax, 3 - 0009e 48 8b 8d 00 05 - 00 00 mov rcx, QWORD PTR mat_ptr$[rbp] - 000a5 48 03 c8 add rcx, rax - 000a8 48 8b c1 mov rax, rcx - 000ab 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 000ae 0f 29 85 a0 00 - 00 00 movaps XMMWORD PTR mc3$[rbp], xmm0 - -; 57 : -; 58 : __m128 cogeneration = - - 000b5 0f 28 85 a0 00 - 00 00 movaps xmm0, XMMWORD PTR mc3$[rbp] - 000bc 0f 29 85 10 03 - 00 00 movaps XMMWORD PTR $T6[rbp], xmm0 - 000c3 0f 28 45 70 movaps xmm0, XMMWORD PTR mc2$[rbp] - 000c7 0f 29 85 e0 02 - 00 00 movaps XMMWORD PTR $T5[rbp], xmm0 - 000ce 0f 28 45 40 movaps xmm0, XMMWORD PTR mc1$[rbp] - 000d2 0f 29 85 b0 02 - 00 00 movaps XMMWORD PTR $T4[rbp], xmm0 - 000d9 4c 8d 85 10 03 - 00 00 lea r8, QWORD PTR $T6[rbp] - 000e0 48 8d 95 e0 02 - 00 00 lea rdx, QWORD PTR $T5[rbp] - 000e7 48 8d 8d b0 02 - 00 00 lea rcx, QWORD PTR $T4[rbp] - 000ee e8 00 00 00 00 call det_mat3_internal - 000f3 f3 0f 2a c0 cvtsi2ss xmm0, eax - 000f7 f3 0f 11 85 d4 - 04 00 00 movss DWORD PTR tv89[rbp], xmm0 - 000ff 0f 28 8d a0 00 - 00 00 movaps xmm1, XMMWORD PTR mc3$[rbp] - 00106 0f 29 8d a0 03 - 00 00 movaps XMMWORD PTR $T9[rbp], xmm1 - 0010d 0f 28 4d 70 movaps xmm1, XMMWORD PTR mc2$[rbp] - 00111 0f 29 8d 70 03 - 00 00 movaps XMMWORD PTR $T8[rbp], xmm1 - 00118 0f 28 4d 10 movaps xmm1, XMMWORD PTR mc0$[rbp] - 0011c 0f 29 8d 40 03 - 00 00 movaps XMMWORD PTR $T7[rbp], xmm1 - 00123 4c 8d 85 a0 03 - 00 00 lea r8, QWORD PTR $T9[rbp] - 0012a 48 8d 95 70 03 - 00 00 lea rdx, QWORD PTR $T8[rbp] - 00131 48 8d 8d 40 03 - 00 00 lea rcx, QWORD PTR $T7[rbp] - 00138 e8 00 00 00 00 call det_mat3_internal - 0013d f3 0f 2a c0 cvtsi2ss xmm0, eax - 00141 f3 0f 11 85 d8 - 04 00 00 movss DWORD PTR tv95[rbp], xmm0 - 00149 0f 28 8d a0 00 - 00 00 movaps xmm1, XMMWORD PTR mc3$[rbp] - 00150 0f 29 8d 30 04 - 00 00 movaps XMMWORD PTR $T12[rbp], xmm1 - 00157 0f 28 4d 40 movaps xmm1, XMMWORD PTR mc1$[rbp] - 0015b 0f 29 8d 00 04 - 00 00 movaps XMMWORD PTR $T11[rbp], xmm1 - 00162 0f 28 4d 10 movaps xmm1, XMMWORD PTR mc0$[rbp] - 00166 0f 29 8d d0 03 - 00 00 movaps XMMWORD PTR $T10[rbp], xmm1 - 0016d 4c 8d 85 30 04 - 00 00 lea r8, QWORD PTR $T12[rbp] - 00174 48 8d 95 00 04 - 00 00 lea rdx, QWORD PTR $T11[rbp] - 0017b 48 8d 8d d0 03 - 00 00 lea rcx, QWORD PTR $T10[rbp] - 00182 e8 00 00 00 00 call det_mat3_internal - 00187 f3 0f 2a c0 cvtsi2ss xmm0, eax - 0018b f3 0f 11 85 dc - 04 00 00 movss DWORD PTR tv133[rbp], xmm0 - 00193 0f 28 4d 70 movaps xmm1, XMMWORD PTR mc2$[rbp] - 00197 0f 29 8d c0 04 - 00 00 movaps XMMWORD PTR $T15[rbp], xmm1 - 0019e 0f 28 4d 40 movaps xmm1, XMMWORD PTR mc1$[rbp] - 001a2 0f 29 8d 90 04 - 00 00 movaps XMMWORD PTR $T14[rbp], xmm1 - 001a9 0f 28 4d 10 movaps xmm1, XMMWORD PTR mc0$[rbp] - 001ad 0f 29 8d 60 04 - 00 00 movaps XMMWORD PTR $T13[rbp], xmm1 - 001b4 4c 8d 85 c0 04 - 00 00 lea r8, QWORD PTR $T15[rbp] - 001bb 48 8d 95 90 04 - 00 00 lea rdx, QWORD PTR $T14[rbp] - 001c2 48 8d 8d 60 04 - 00 00 lea rcx, QWORD PTR $T13[rbp] - 001c9 e8 00 00 00 00 call det_mat3_internal - 001ce f3 0f 2a c0 cvtsi2ss xmm0, eax - 001d2 f3 0f 10 8d dc - 04 00 00 movss xmm1, DWORD PTR tv133[rbp] - 001da f3 0f 10 95 d8 - 04 00 00 movss xmm2, DWORD PTR tv95[rbp] - 001e2 f3 0f 10 9d d4 - 04 00 00 movss xmm3, DWORD PTR tv89[rbp] - 001ea 0f 14 c8 unpcklps xmm1, xmm0 - 001ed 0f 14 da unpcklps xmm3, xmm2 - 001f0 0f 28 c3 movaps xmm0, xmm3 - 001f3 0f 16 c1 movlhps xmm0, xmm1 - 001f6 0f 29 85 d0 00 - 00 00 movaps XMMWORD PTR cogeneration$[rbp], xmm0 - -; 59 : _mm_set_ps(det_mat3_internal(mc0, mc1, mc2), det_mat3_internal(mc0, mc1, mc3), -; 60 : det_mat3_internal(mc0, mc2, mc3), det_mat3_internal(mc1, mc2, mc3)); -; 61 : __m128 retvec = _mm_mul_ps(ALIGN(transpose->column[3]), cogeneration); - - 001fd b8 10 00 00 00 mov eax, 16 - 00202 48 6b c0 03 imul rax, rax, 3 - 00206 48 8b 8d 08 05 - 00 00 mov rcx, QWORD PTR transpose$[rbp] - 0020d 48 03 c8 add rcx, rax - 00210 48 8b c1 mov rax, rcx - 00213 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 00216 0f 59 85 d0 00 - 00 00 mulps xmm0, XMMWORD PTR cogeneration$[rbp] - 0021d 0f 29 85 00 01 - 00 00 movaps XMMWORD PTR retvec$[rbp], xmm0 - -; 62 : retvec = _mm_hsub_ps(retvec, retvec); - - 00224 0f 28 85 00 01 - 00 00 movaps xmm0, XMMWORD PTR retvec$[rbp] - 0022b f2 0f 7d 85 00 - 01 00 00 hsubps xmm0, XMMWORD PTR retvec$[rbp] - 00233 0f 29 85 00 01 - 00 00 movaps XMMWORD PTR retvec$[rbp], xmm0 - -; 63 : retvec = _mm_hadd_ps(retvec, retvec); - - 0023a 0f 28 85 00 01 - 00 00 movaps xmm0, XMMWORD PTR retvec$[rbp] - 00241 f2 0f 7c 85 00 - 01 00 00 haddps xmm0, XMMWORD PTR retvec$[rbp] - 00249 0f 29 85 00 01 - 00 00 movaps XMMWORD PTR retvec$[rbp], xmm0 - -; 64 : return -retvec.m128_f32[0]; - - 00250 b8 04 00 00 00 mov eax, 4 - 00255 48 6b c0 00 imul rax, rax, 0 - 00259 f3 0f 10 84 05 - 00 01 00 00 movss xmm0, DWORD PTR retvec$[rbp+rax] - 00262 0f 57 05 00 00 - 00 00 xorps xmm0, DWORD PTR __xmm@80000000800000008000000080000000 - -; 65 : } - - 00269 f3 0f 7f 44 24 - 20 movdqu XMMWORD PTR [rsp+32], xmm0 - 0026f 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 00273 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:det_mat4$rtcFrameData - 0027a e8 00 00 00 00 call _RTC_CheckStackVars - 0027f f3 0f 6f 44 24 - 20 movdqu xmm0, XMMWORD PTR [rsp+32] - 00285 48 8d a5 e8 04 - 00 00 lea rsp, QWORD PTR [rbp+1256] - 0028c 5f pop rdi - 0028d 5d pop rbp - 0028e c3 ret 0 -det_mat4 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat4.c -; COMDAT transpose44 -_TEXT SEGMENT -t0$ = 16 -t1$ = 64 -t2$ = 112 -t3$ = 160 -source$ = 416 -target$ = 424 -transpose44 PROC ; COMDAT - -; 35 : { - -$LN3: - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec a8 01 - 00 00 sub rsp, 424 ; 000001a8H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B772DB18_mat4@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 36 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]), - - 00025 b8 10 00 00 00 mov eax, 16 - 0002a 48 6b c0 01 imul rax, rax, 1 - 0002e 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 00035 48 03 c8 add rcx, rax - 00038 48 8b c1 mov rax, rcx - 0003b 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0003e b8 10 00 00 00 mov eax, 16 - 00043 48 6b c0 00 imul rax, rax, 0 - 00047 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 0004e 48 03 c8 add rcx, rax - 00051 48 8b c1 mov rax, rcx - 00054 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00057 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H - 0005b 0f 28 c1 movaps xmm0, xmm1 - 0005e 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0 - -; 37 : _MM_SHUFFLE(1, 0, 1, 0)); -; 38 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]), - - 00062 b8 10 00 00 00 mov eax, 16 - 00067 48 6b c0 01 imul rax, rax, 1 - 0006b 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 00072 48 03 c8 add rcx, rax - 00075 48 8b c1 mov rax, rcx - 00078 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0007b b8 10 00 00 00 mov eax, 16 - 00080 48 6b c0 00 imul rax, rax, 0 - 00084 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 0008b 48 03 c8 add rcx, rax - 0008e 48 8b c1 mov rax, rcx - 00091 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00094 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH - 00098 0f 28 c1 movaps xmm0, xmm1 - 0009b 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0 - -; 39 : _MM_SHUFFLE(3, 2, 3, 2)); -; 40 : __m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), ALIGN(source->column[3]), - - 0009f b8 10 00 00 00 mov eax, 16 - 000a4 48 6b c0 03 imul rax, rax, 3 - 000a8 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 000af 48 03 c8 add rcx, rax - 000b2 48 8b c1 mov rax, rcx - 000b5 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 000b8 b8 10 00 00 00 mov eax, 16 - 000bd 48 6b c0 02 imul rax, rax, 2 - 000c1 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 000c8 48 03 c8 add rcx, rax - 000cb 48 8b c1 mov rax, rcx - 000ce 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 000d1 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H - 000d5 0f 28 c1 movaps xmm0, xmm1 - 000d8 0f 29 45 70 movaps XMMWORD PTR t2$[rbp], xmm0 - -; 41 : _MM_SHUFFLE(1, 0, 1, 0)); -; 42 : __m128 t3 = _mm_shuffle_ps(ALIGN(source->column[2]), ALIGN(source->column[3]), - - 000dc b8 10 00 00 00 mov eax, 16 - 000e1 48 6b c0 03 imul rax, rax, 3 - 000e5 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 000ec 48 03 c8 add rcx, rax - 000ef 48 8b c1 mov rax, rcx - 000f2 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 000f5 b8 10 00 00 00 mov eax, 16 - 000fa 48 6b c0 02 imul rax, rax, 2 - 000fe 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 00105 48 03 c8 add rcx, rax - 00108 48 8b c1 mov rax, rcx - 0010b 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 0010e 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH - 00112 0f 28 c1 movaps xmm0, xmm1 - 00115 0f 29 85 a0 00 - 00 00 movaps XMMWORD PTR t3$[rbp], xmm0 - -; 43 : _MM_SHUFFLE(3, 2, 3, 2)); -; 44 : -; 45 : target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0)); - - 0011c 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp] - 00120 0f c6 45 70 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H - 00125 b8 10 00 00 00 mov eax, 16 - 0012a 48 6b c0 00 imul rax, rax, 0 - 0012e 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 00135 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 46 : target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1)); - - 00139 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp] - 0013d 0f c6 45 70 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH - 00142 b8 10 00 00 00 mov eax, 16 - 00147 48 6b c0 01 imul rax, rax, 1 - 0014b 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 00152 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 47 : target->column[2] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(2, 0, 2, 0)); - - 00156 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp] - 0015a 0f c6 85 a0 00 - 00 00 88 shufps xmm0, XMMWORD PTR t3$[rbp], 136 ; 00000088H - 00162 b8 10 00 00 00 mov eax, 16 - 00167 48 6b c0 02 imul rax, rax, 2 - 0016b 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 00172 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 48 : target->column[3] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(3, 1, 3, 1)); - - 00176 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp] - 0017a 0f c6 85 a0 00 - 00 00 dd shufps xmm0, XMMWORD PTR t3$[rbp], 221 ; 000000ddH - 00182 b8 10 00 00 00 mov eax, 16 - 00187 48 6b c0 03 imul rax, rax, 3 - 0018b 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 00192 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 49 : } - - 00196 48 8d a5 88 01 - 00 00 lea rsp, QWORD PTR [rbp+392] - 0019d 5f pop rdi - 0019e 5d pop rbp - 0019f c3 ret 0 -transpose44 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat4.c -; COMDAT transpose43 -_TEXT SEGMENT -t0$ = 16 -t1$ = 64 -t2$ = 112 -t3$ = 160 -source$ = 416 -target$ = 424 -transpose43 PROC ; COMDAT - -; 19 : { - -$LN3: - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec a8 01 - 00 00 sub rsp, 424 ; 000001a8H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B772DB18_mat4@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 20 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]), - - 00025 b8 10 00 00 00 mov eax, 16 - 0002a 48 6b c0 01 imul rax, rax, 1 - 0002e 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 00035 48 03 c8 add rcx, rax - 00038 48 8b c1 mov rax, rcx - 0003b 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0003e b8 10 00 00 00 mov eax, 16 - 00043 48 6b c0 00 imul rax, rax, 0 - 00047 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 0004e 48 03 c8 add rcx, rax - 00051 48 8b c1 mov rax, rcx - 00054 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00057 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H - 0005b 0f 28 c1 movaps xmm0, xmm1 - 0005e 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0 - -; 21 : _MM_SHUFFLE(1, 0, 1, 0)); -; 22 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]), - - 00062 b8 10 00 00 00 mov eax, 16 - 00067 48 6b c0 01 imul rax, rax, 1 - 0006b 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 00072 48 03 c8 add rcx, rax - 00075 48 8b c1 mov rax, rcx - 00078 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0007b b8 10 00 00 00 mov eax, 16 - 00080 48 6b c0 00 imul rax, rax, 0 - 00084 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 0008b 48 03 c8 add rcx, rax - 0008e 48 8b c1 mov rax, rcx - 00091 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00094 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH - 00098 0f 28 c1 movaps xmm0, xmm1 - 0009b 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0 - -; 23 : _MM_SHUFFLE(3, 2, 3, 2)); -; 24 : __m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), ALIGN(source->column[3]), - - 0009f b8 10 00 00 00 mov eax, 16 - 000a4 48 6b c0 03 imul rax, rax, 3 - 000a8 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 000af 48 03 c8 add rcx, rax - 000b2 48 8b c1 mov rax, rcx - 000b5 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 000b8 b8 10 00 00 00 mov eax, 16 - 000bd 48 6b c0 02 imul rax, rax, 2 - 000c1 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 000c8 48 03 c8 add rcx, rax - 000cb 48 8b c1 mov rax, rcx - 000ce 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 000d1 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H - 000d5 0f 28 c1 movaps xmm0, xmm1 - 000d8 0f 29 45 70 movaps XMMWORD PTR t2$[rbp], xmm0 - -; 25 : _MM_SHUFFLE(1, 0, 1, 0)); -; 26 : __m128 t3 = _mm_shuffle_ps(ALIGN(source->column[2]), ALIGN(source->column[3]), - - 000dc b8 10 00 00 00 mov eax, 16 - 000e1 48 6b c0 03 imul rax, rax, 3 - 000e5 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 000ec 48 03 c8 add rcx, rax - 000ef 48 8b c1 mov rax, rcx - 000f2 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 000f5 b8 10 00 00 00 mov eax, 16 - 000fa 48 6b c0 02 imul rax, rax, 2 - 000fe 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 00105 48 03 c8 add rcx, rax - 00108 48 8b c1 mov rax, rcx - 0010b 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 0010e 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH - 00112 0f 28 c1 movaps xmm0, xmm1 - 00115 0f 29 85 a0 00 - 00 00 movaps XMMWORD PTR t3$[rbp], xmm0 - -; 27 : _MM_SHUFFLE(3, 2, 3, 2)); -; 28 : -; 29 : target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0)); - - 0011c 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp] - 00120 0f c6 45 70 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H - 00125 b8 10 00 00 00 mov eax, 16 - 0012a 48 6b c0 00 imul rax, rax, 0 - 0012e 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 00135 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 30 : target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1)); - - 00139 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp] - 0013d 0f c6 45 70 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH - 00142 b8 10 00 00 00 mov eax, 16 - 00147 48 6b c0 01 imul rax, rax, 1 - 0014b 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 00152 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 31 : target->column[2] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(2, 0, 2, 0)); - - 00156 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp] - 0015a 0f c6 85 a0 00 - 00 00 88 shufps xmm0, XMMWORD PTR t3$[rbp], 136 ; 00000088H - 00162 b8 10 00 00 00 mov eax, 16 - 00167 48 6b c0 02 imul rax, rax, 2 - 0016b 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 00172 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 32 : } - - 00176 48 8d a5 88 01 - 00 00 lea rsp, QWORD PTR [rbp+392] - 0017d 5f pop rdi - 0017e 5d pop rbp - 0017f c3 ret 0 -transpose43 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat4.c -; COMDAT transpose42 -_TEXT SEGMENT -t0$ = 16 -t2$ = 64 -source$ = 320 -target$ = 328 -transpose42 PROC ; COMDAT - -; 8 : { - -$LN3: - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec 48 01 - 00 00 sub rsp, 328 ; 00000148H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B772DB18_mat4@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 9 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]), - - 00025 b8 10 00 00 00 mov eax, 16 - 0002a 48 6b c0 01 imul rax, rax, 1 - 0002e 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 00035 48 03 c8 add rcx, rax - 00038 48 8b c1 mov rax, rcx - 0003b 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0003e b8 10 00 00 00 mov eax, 16 - 00043 48 6b c0 00 imul rax, rax, 0 - 00047 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 0004e 48 03 c8 add rcx, rax - 00051 48 8b c1 mov rax, rcx - 00054 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00057 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H - 0005b 0f 28 c1 movaps xmm0, xmm1 - 0005e 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0 - -; 10 : _MM_SHUFFLE(1, 0, 1, 0)); -; 11 : __m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), ALIGN(source->column[3]), - - 00062 b8 10 00 00 00 mov eax, 16 - 00067 48 6b c0 03 imul rax, rax, 3 - 0006b 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 00072 48 03 c8 add rcx, rax - 00075 48 8b c1 mov rax, rcx - 00078 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0007b b8 10 00 00 00 mov eax, 16 - 00080 48 6b c0 02 imul rax, rax, 2 - 00084 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR source$[rbp] - 0008b 48 03 c8 add rcx, rax - 0008e 48 8b c1 mov rax, rcx - 00091 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00094 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H - 00098 0f 28 c1 movaps xmm0, xmm1 - 0009b 0f 29 45 40 movaps XMMWORD PTR t2$[rbp], xmm0 - -; 12 : _MM_SHUFFLE(1, 0, 1, 0)); -; 13 : -; 14 : target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0)); - - 0009f 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp] - 000a3 0f c6 45 40 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H - 000a8 b8 10 00 00 00 mov eax, 16 - 000ad 48 6b c0 00 imul rax, rax, 0 - 000b1 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 000b8 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 15 : target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1)); - - 000bc 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp] - 000c0 0f c6 45 40 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH - 000c5 b8 10 00 00 00 mov eax, 16 - 000ca 48 6b c0 01 imul rax, rax, 1 - 000ce 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR target$[rbp] - 000d5 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 16 : } - - 000d9 48 8d a5 28 01 - 00 00 lea rsp, QWORD PTR [rbp+296] - 000e0 5f pop rdi - 000e1 5d pop rbp - 000e2 c3 ret 0 -transpose42 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat4.c -; COMDAT submatrix4_512 -_TEXT SEGMENT -left$ = 224 -right$ = 232 -ans$ = 240 -submatrix4_512 PROC ; COMDAT - -; 101 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B772DB18_mat4@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 102 : ans->stream = _mm512_sub_ps(ALIGN512(left->stream), ALIGN512(right->stream)); - - 0002a 48 8b 85 e8 00 - 00 00 mov rax, QWORD PTR right$[rbp] - 00031 62 f1 7c 48 10 - 00 vmovups zmm0, ZMMWORD PTR [rax] - 00037 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR left$[rbp] - 0003e 62 f1 7c 48 10 - 08 vmovups zmm1, ZMMWORD PTR [rax] - 00044 62 f1 74 48 5c - c0 vsubps zmm0, zmm1, zmm0 - 0004a 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 00051 62 f1 7c 48 11 - 00 vmovups ZMMWORD PTR [rax], zmm0 - -; 103 : } - - 00057 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 0005e 5f pop rdi - 0005f 5d pop rbp - 00060 c3 ret 0 -submatrix4_512 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat4.c -; COMDAT submatrix4_avx -_TEXT SEGMENT -left$ = 224 -right$ = 232 -ans$ = 240 -submatrix4_avx PROC ; COMDAT - -; 95 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B772DB18_mat4@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 96 : ans->half[0] = _mm256_sub_ps(ALIGN256(left->half[0]), ALIGN256(right->half[0])); - - 0002a b8 20 00 00 00 mov eax, 32 ; 00000020H - 0002f 48 6b c0 00 imul rax, rax, 0 - 00033 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR right$[rbp] - 0003a 48 03 c8 add rcx, rax - 0003d 48 8b c1 mov rax, rcx - 00040 c5 fc 10 00 vmovups ymm0, YMMWORD PTR [rax] - 00044 b8 20 00 00 00 mov eax, 32 ; 00000020H - 00049 48 6b c0 00 imul rax, rax, 0 - 0004d 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR left$[rbp] - 00054 48 03 c8 add rcx, rax - 00057 48 8b c1 mov rax, rcx - 0005a c5 fc 10 08 vmovups ymm1, YMMWORD PTR [rax] - 0005e c5 f4 5c c0 vsubps ymm0, ymm1, ymm0 - 00062 b8 20 00 00 00 mov eax, 32 ; 00000020H - 00067 48 6b c0 00 imul rax, rax, 0 - 0006b 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 00072 c5 fc 11 04 01 vmovups YMMWORD PTR [rcx+rax], ymm0 - -; 97 : ans->half[1] = _mm256_sub_ps(ALIGN256(left->half[1]), ALIGN256(right->half[1])); - - 00077 b8 20 00 00 00 mov eax, 32 ; 00000020H - 0007c 48 6b c0 01 imul rax, rax, 1 - 00080 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR right$[rbp] - 00087 48 03 c8 add rcx, rax - 0008a 48 8b c1 mov rax, rcx - 0008d c5 fc 10 00 vmovups ymm0, YMMWORD PTR [rax] - 00091 b8 20 00 00 00 mov eax, 32 ; 00000020H - 00096 48 6b c0 01 imul rax, rax, 1 - 0009a 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR left$[rbp] - 000a1 48 03 c8 add rcx, rax - 000a4 48 8b c1 mov rax, rcx - 000a7 c5 fc 10 08 vmovups ymm1, YMMWORD PTR [rax] - 000ab c5 f4 5c c0 vsubps ymm0, ymm1, ymm0 - 000af b8 20 00 00 00 mov eax, 32 ; 00000020H - 000b4 48 6b c0 01 imul rax, rax, 1 - 000b8 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 000bf c5 fc 11 04 01 vmovups YMMWORD PTR [rcx+rax], ymm0 - -; 98 : } - - 000c4 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 000cb 5f pop rdi - 000cc 5d pop rbp - 000cd c3 ret 0 -submatrix4_avx ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat4.c -; COMDAT submatrix4_sse -_TEXT SEGMENT -left$ = 224 -right$ = 232 -ans$ = 240 -submatrix4_sse PROC ; COMDAT - -; 87 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B772DB18_mat4@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 88 : ans->column[0] = _mm_sub_ps(ALIGN(left->column[0]), ALIGN(right->column[0])); - - 0002a b8 10 00 00 00 mov eax, 16 - 0002f 48 6b c0 00 imul rax, rax, 0 - 00033 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR right$[rbp] - 0003a 48 03 c8 add rcx, rax - 0003d 48 8b c1 mov rax, rcx - 00040 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 00043 b8 10 00 00 00 mov eax, 16 - 00048 48 6b c0 00 imul rax, rax, 0 - 0004c 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR left$[rbp] - 00053 48 03 c8 add rcx, rax - 00056 48 8b c1 mov rax, rcx - 00059 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 0005c 0f 5c c8 subps xmm1, xmm0 - 0005f 0f 28 c1 movaps xmm0, xmm1 - 00062 b8 10 00 00 00 mov eax, 16 - 00067 48 6b c0 00 imul rax, rax, 0 - 0006b 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 00072 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 89 : ans->column[1] = _mm_sub_ps(ALIGN(left->column[1]), ALIGN(right->column[1])); - - 00076 b8 10 00 00 00 mov eax, 16 - 0007b 48 6b c0 01 imul rax, rax, 1 - 0007f 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR right$[rbp] - 00086 48 03 c8 add rcx, rax - 00089 48 8b c1 mov rax, rcx - 0008c 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0008f b8 10 00 00 00 mov eax, 16 - 00094 48 6b c0 01 imul rax, rax, 1 - 00098 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR left$[rbp] - 0009f 48 03 c8 add rcx, rax - 000a2 48 8b c1 mov rax, rcx - 000a5 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 000a8 0f 5c c8 subps xmm1, xmm0 - 000ab 0f 28 c1 movaps xmm0, xmm1 - 000ae b8 10 00 00 00 mov eax, 16 - 000b3 48 6b c0 01 imul rax, rax, 1 - 000b7 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 000be 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 90 : ans->column[2] = _mm_sub_ps(ALIGN(left->column[2]), ALIGN(right->column[2])); - - 000c2 b8 10 00 00 00 mov eax, 16 - 000c7 48 6b c0 02 imul rax, rax, 2 - 000cb 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR right$[rbp] - 000d2 48 03 c8 add rcx, rax - 000d5 48 8b c1 mov rax, rcx - 000d8 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 000db b8 10 00 00 00 mov eax, 16 - 000e0 48 6b c0 02 imul rax, rax, 2 - 000e4 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR left$[rbp] - 000eb 48 03 c8 add rcx, rax - 000ee 48 8b c1 mov rax, rcx - 000f1 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 000f4 0f 5c c8 subps xmm1, xmm0 - 000f7 0f 28 c1 movaps xmm0, xmm1 - 000fa b8 10 00 00 00 mov eax, 16 - 000ff 48 6b c0 02 imul rax, rax, 2 - 00103 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 0010a 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 91 : ans->column[3] = _mm_sub_ps(ALIGN(left->column[3]), ALIGN(right->column[3])); - - 0010e b8 10 00 00 00 mov eax, 16 - 00113 48 6b c0 03 imul rax, rax, 3 - 00117 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR right$[rbp] - 0011e 48 03 c8 add rcx, rax - 00121 48 8b c1 mov rax, rcx - 00124 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 00127 b8 10 00 00 00 mov eax, 16 - 0012c 48 6b c0 03 imul rax, rax, 3 - 00130 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR left$[rbp] - 00137 48 03 c8 add rcx, rax - 0013a 48 8b c1 mov rax, rcx - 0013d 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00140 0f 5c c8 subps xmm1, xmm0 - 00143 0f 28 c1 movaps xmm0, xmm1 - 00146 b8 10 00 00 00 mov eax, 16 - 0014b 48 6b c0 03 imul rax, rax, 3 - 0014f 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 00156 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 92 : } - - 0015a 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00161 5f pop rdi - 00162 5d pop rbp - 00163 c3 ret 0 -submatrix4_sse ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat4.c -; COMDAT addmatrix4_512 -_TEXT SEGMENT -left$ = 224 -right$ = 232 -ans$ = 240 -addmatrix4_512 PROC ; COMDAT - -; 82 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B772DB18_mat4@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 83 : ans->stream = _mm512_add_ps(ALIGN512(left->stream), ALIGN512(right->stream)); - - 0002a 48 8b 85 e8 00 - 00 00 mov rax, QWORD PTR right$[rbp] - 00031 62 f1 7c 48 10 - 00 vmovups zmm0, ZMMWORD PTR [rax] - 00037 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR left$[rbp] - 0003e 62 f1 7c 48 10 - 08 vmovups zmm1, ZMMWORD PTR [rax] - 00044 62 f1 74 48 58 - c0 vaddps zmm0, zmm1, zmm0 - 0004a 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 00051 62 f1 7c 48 11 - 00 vmovups ZMMWORD PTR [rax], zmm0 - -; 84 : } - - 00057 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 0005e 5f pop rdi - 0005f 5d pop rbp - 00060 c3 ret 0 -addmatrix4_512 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat4.c -; COMDAT addmatrix4_avx -_TEXT SEGMENT -left$ = 224 -right$ = 232 -ans$ = 240 -addmatrix4_avx PROC ; COMDAT - -; 76 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B772DB18_mat4@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 77 : ans->half[0] = _mm256_add_ps(ALIGN256(left->half[0]), ALIGN256(right->half[0])); - - 0002a b8 20 00 00 00 mov eax, 32 ; 00000020H - 0002f 48 6b c0 00 imul rax, rax, 0 - 00033 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR right$[rbp] - 0003a 48 03 c8 add rcx, rax - 0003d 48 8b c1 mov rax, rcx - 00040 c5 fc 10 00 vmovups ymm0, YMMWORD PTR [rax] - 00044 b8 20 00 00 00 mov eax, 32 ; 00000020H - 00049 48 6b c0 00 imul rax, rax, 0 - 0004d 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR left$[rbp] - 00054 48 03 c8 add rcx, rax - 00057 48 8b c1 mov rax, rcx - 0005a c5 fc 10 08 vmovups ymm1, YMMWORD PTR [rax] - 0005e c5 f4 58 c0 vaddps ymm0, ymm1, ymm0 - 00062 b8 20 00 00 00 mov eax, 32 ; 00000020H - 00067 48 6b c0 00 imul rax, rax, 0 - 0006b 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 00072 c5 fc 11 04 01 vmovups YMMWORD PTR [rcx+rax], ymm0 - -; 78 : ans->half[1] = _mm256_add_ps(ALIGN256(left->half[1]), ALIGN256(right->half[1])); - - 00077 b8 20 00 00 00 mov eax, 32 ; 00000020H - 0007c 48 6b c0 01 imul rax, rax, 1 - 00080 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR right$[rbp] - 00087 48 03 c8 add rcx, rax - 0008a 48 8b c1 mov rax, rcx - 0008d c5 fc 10 00 vmovups ymm0, YMMWORD PTR [rax] - 00091 b8 20 00 00 00 mov eax, 32 ; 00000020H - 00096 48 6b c0 01 imul rax, rax, 1 - 0009a 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR left$[rbp] - 000a1 48 03 c8 add rcx, rax - 000a4 48 8b c1 mov rax, rcx - 000a7 c5 fc 10 08 vmovups ymm1, YMMWORD PTR [rax] - 000ab c5 f4 58 c0 vaddps ymm0, ymm1, ymm0 - 000af b8 20 00 00 00 mov eax, 32 ; 00000020H - 000b4 48 6b c0 01 imul rax, rax, 1 - 000b8 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 000bf c5 fc 11 04 01 vmovups YMMWORD PTR [rcx+rax], ymm0 - -; 79 : } - - 000c4 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 000cb 5f pop rdi - 000cc 5d pop rbp - 000cd c3 ret 0 -addmatrix4_avx ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\mat4.c -; COMDAT addmatrix4_sse -_TEXT SEGMENT -left$ = 224 -right$ = 232 -ans$ = 240 -addmatrix4_sse PROC ; COMDAT - -; 68 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__B772DB18_mat4@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 69 : ans->column[0] = _mm_add_ps(ALIGN(left->column[0]), ALIGN(right->column[0])); - - 0002a b8 10 00 00 00 mov eax, 16 - 0002f 48 6b c0 00 imul rax, rax, 0 - 00033 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR right$[rbp] - 0003a 48 03 c8 add rcx, rax - 0003d 48 8b c1 mov rax, rcx - 00040 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 00043 b8 10 00 00 00 mov eax, 16 - 00048 48 6b c0 00 imul rax, rax, 0 - 0004c 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR left$[rbp] - 00053 48 03 c8 add rcx, rax - 00056 48 8b c1 mov rax, rcx - 00059 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 0005c 0f 58 c8 addps xmm1, xmm0 - 0005f 0f 28 c1 movaps xmm0, xmm1 - 00062 b8 10 00 00 00 mov eax, 16 - 00067 48 6b c0 00 imul rax, rax, 0 - 0006b 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 00072 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 70 : ans->column[1] = _mm_add_ps(ALIGN(left->column[1]), ALIGN(right->column[1])); - - 00076 b8 10 00 00 00 mov eax, 16 - 0007b 48 6b c0 01 imul rax, rax, 1 - 0007f 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR right$[rbp] - 00086 48 03 c8 add rcx, rax - 00089 48 8b c1 mov rax, rcx - 0008c 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0008f b8 10 00 00 00 mov eax, 16 - 00094 48 6b c0 01 imul rax, rax, 1 - 00098 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR left$[rbp] - 0009f 48 03 c8 add rcx, rax - 000a2 48 8b c1 mov rax, rcx - 000a5 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 000a8 0f 58 c8 addps xmm1, xmm0 - 000ab 0f 28 c1 movaps xmm0, xmm1 - 000ae b8 10 00 00 00 mov eax, 16 - 000b3 48 6b c0 01 imul rax, rax, 1 - 000b7 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 000be 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 71 : ans->column[2] = _mm_add_ps(ALIGN(left->column[2]), ALIGN(right->column[2])); - - 000c2 b8 10 00 00 00 mov eax, 16 - 000c7 48 6b c0 02 imul rax, rax, 2 - 000cb 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR right$[rbp] - 000d2 48 03 c8 add rcx, rax - 000d5 48 8b c1 mov rax, rcx - 000d8 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 000db b8 10 00 00 00 mov eax, 16 - 000e0 48 6b c0 02 imul rax, rax, 2 - 000e4 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR left$[rbp] - 000eb 48 03 c8 add rcx, rax - 000ee 48 8b c1 mov rax, rcx - 000f1 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 000f4 0f 58 c8 addps xmm1, xmm0 - 000f7 0f 28 c1 movaps xmm0, xmm1 - 000fa b8 10 00 00 00 mov eax, 16 - 000ff 48 6b c0 02 imul rax, rax, 2 - 00103 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 0010a 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 72 : ans->column[3] = _mm_add_ps(ALIGN(left->column[3]), ALIGN(right->column[3])); - - 0010e b8 10 00 00 00 mov eax, 16 - 00113 48 6b c0 03 imul rax, rax, 3 - 00117 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR right$[rbp] - 0011e 48 03 c8 add rcx, rax - 00121 48 8b c1 mov rax, rcx - 00124 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 00127 b8 10 00 00 00 mov eax, 16 - 0012c 48 6b c0 03 imul rax, rax, 3 - 00130 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR left$[rbp] - 00137 48 03 c8 add rcx, rax - 0013a 48 8b c1 mov rax, rcx - 0013d 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00140 0f 58 c8 addps xmm1, xmm0 - 00143 0f 28 c1 movaps xmm0, xmm1 - 00146 b8 10 00 00 00 mov eax, 16 - 0014b 48 6b c0 03 imul rax, rax, 3 - 0014f 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 00156 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 73 : } - - 0015a 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00161 5f pop rdi - 00162 5d pop rbp - 00163 c3 ret 0 -addmatrix4_sse ENDP -_TEXT ENDS -END diff --git a/StgSharp.Native/x64/Debug/mat4.obj b/StgSharp.Native/x64/Debug/mat4.obj deleted file mode 100644 index dfda8dce..00000000 Binary files a/StgSharp.Native/x64/Debug/mat4.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/mat4.sbr b/StgSharp.Native/x64/Debug/mat4.sbr deleted file mode 100644 index 67a2c55f..00000000 Binary files a/StgSharp.Native/x64/Debug/mat4.sbr and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/stb_image.cod b/StgSharp.Native/x64/Debug/stb_image.cod deleted file mode 100644 index 24dd64cf..00000000 --- a/StgSharp.Native/x64/Debug/stb_image.cod +++ /dev/null @@ -1,62261 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.44.35215.0 - -include listing.inc - -INCLUDELIB MSVCRTD -INCLUDELIB OLDNAMES - -msvcjmc SEGMENT -__8C83BECC_concurrencysal@h DB 01H -__608E3340_sal@h DB 01H -__FB67E29A_vadefs@h DB 01H -__1D1B619C_vcruntime@h DB 01H -__735960E1_corecrt@h DB 01H -__60B45B40_corecrt_stdio_config@h DB 01H -__CFA3741E_corecrt_wstdio@h DB 01H -__B3FE3303_stdio@h DB 01H -__211DB995_corecrt_malloc@h DB 01H -__955456CD_stddef@h DB 01H -__99AED4FB_corecrt_search@h DB 01H -__8B813BF6_corecrt_wstdlib@h DB 01H -__3D1CA2C3_limits@h DB 01H -__E8FB0A68_stdlib@h DB 01H -__C363A436_stb_image@h DB 01H -__B7B53233_stdarg@h DB 01H -__13DE2371_errno@h DB 01H -__8C6AE390_vcruntime_string@h DB 01H -__8ACB2152_corecrt_memcpy_s@h DB 01H -__EA6C9D17_corecrt_memory@h DB 01H -__0DF2AF52_corecrt_wstring@h DB 01H -__6E889ECC_string@h DB 01H -__1D9A7FA2_corecrt_math@h DB 01H -__2E93F1C0_math@h DB 01H -__9FB25DBE_assert@h DB 01H -__5C8CA4D3_mmintrin@h DB 01H -__7CD62D9E_malloc@h DB 01H -__9DCE0DC8_xmmintrin@h DB 01H -__F8AC8404_emmintrin@h DB 01H -__47E843D2_intrin0@inl@h DB 01H -__130964FF_setjmp@h DB 01H -__270DEC8D_pmmintrin@h DB 01H -__97D49F0F_tmmintrin@h DB 01H -__BEEF8A8C_smmintrin@h DB 01H -__DB8D0340_nmmintrin@h DB 01H -__0E36F90E_wmmintrin@h DB 01H -__C5A2B409_zmmintrin@h DB 01H -__F2B616C3_immintrin@h DB 01H -__4875F786_ammintrin@h DB 01H -__353FD888_intrin@h DB 01H -__1ACDCF28_stb_image@c DB 01H -msvcjmc ENDS -CONST SEGMENT -stbi__bmask DD 00H - DD 01H - DD 03H - DD 07H - DD 0fH - DD 01fH - DD 03fH - DD 07fH - DD 0ffH - DD 01ffH - DD 03ffH - DD 07ffH - DD 0fffH - DD 01fffH - DD 03fffH - DD 07fffH - DD 0ffffH -?rgb@?5??stbi__process_frame_header@@9@9 DB 052H ; `stbi__process_frame_header'::`6'::rgb - DB 047H - DB 042H - ORG $+9 -stbi__jbias DD 00H - DD 0ffffffffH - DD 0fffffffdH - DD 0fffffff9H - DD 0fffffff1H - DD 0ffffffe1H - DD 0ffffffc1H - DD 0ffffff81H - DD 0ffffff01H - DD 0fffffe01H - DD 0fffffc01H - DD 0fffff801H - DD 0fffff001H - DD 0ffffe001H - DD 0ffffc001H - DD 0ffff8001H -stbi__jpeg_dezigzag DB 00H - DB 01H - DB 08H - DB 010H - DB 09H - DB 02H - DB 03H - DB 0aH - DB 011H - DB 018H - DB 020H - DB 019H - DB 012H - DB 0bH - DB 04H - DB 05H - DB 0cH - DB 013H - DB 01aH - DB 021H - DB 028H - DB 030H - DB 029H - DB 022H - DB 01bH - DB 014H - DB 0dH - DB 06H - DB 07H - DB 0eH - DB 015H - DB 01cH - DB 023H - DB 02aH - DB 031H - DB 038H - DB 039H - DB 032H - DB 02bH - DB 024H - DB 01dH - DB 016H - DB 0fH - DB 017H - DB 01eH - DB 025H - DB 02cH - DB 033H - DB 03aH - DB 03bH - DB 034H - DB 02dH - DB 026H - DB 01fH - DB 027H - DB 02eH - DB 035H - DB 03cH - DB 03dH - DB 036H - DB 02fH - DB 037H - DB 03eH - DB 03fH - DB 03fH - DB 03fH - DB 03fH - DB 03fH - DB 03fH - DB 03fH - DB 03fH - DB 03fH - DB 03fH - DB 03fH - DB 03fH - DB 03fH - DB 03fH - DB 03fH - DB 03fH - ORG $+1 -?tag@?O@??stbi__process_marker@@9@9 DB 04aH ; `stbi__process_marker'::`14'::tag - DB 046H - DB 049H - DB 046H - DB 00H - ORG $+3 -?tag@?BA@??stbi__process_marker@@9@9 DB 041H ; `stbi__process_marker'::`16'::tag - DB 064H - DB 06fH - DB 062H - DB 065H - DB 00H - ORG $+2 -stbi__zlength_base DD 03H - DD 04H - DD 05H - DD 06H - DD 07H - DD 08H - DD 09H - DD 0aH - DD 0bH - DD 0dH - DD 0fH - DD 011H - DD 013H - DD 017H - DD 01bH - DD 01fH - DD 023H - DD 02bH - DD 033H - DD 03bH - DD 043H - DD 053H - DD 063H - DD 073H - DD 083H - DD 0a3H - DD 0c3H - DD 0e3H - DD 0102H - DD 00H - DD 00H - ORG $+4 -stbi__zlength_extra DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 01H - DD 01H - DD 01H - DD 01H - DD 02H - DD 02H - DD 02H - DD 02H - DD 03H - DD 03H - DD 03H - DD 03H - DD 04H - DD 04H - DD 04H - DD 04H - DD 05H - DD 05H - DD 05H - DD 05H - DD 00H - DD 00H - DD 00H - ORG $+4 -stbi__zdist_base DD 01H - DD 02H - DD 03H - DD 04H - DD 05H - DD 07H - DD 09H - DD 0dH - DD 011H - DD 019H - DD 021H - DD 031H - DD 041H - DD 061H - DD 081H - DD 0c1H - DD 0101H - DD 0181H - DD 0201H - DD 0301H - DD 0401H - DD 0601H - DD 0801H - DD 0c01H - DD 01001H - DD 01801H - DD 02001H - DD 03001H - DD 04001H - DD 06001H - DD 00H - DD 00H -stbi__zdist_extra DD 00H - DD 00H - DD 00H - DD 00H - DD 01H - DD 01H - DD 02H - DD 02H - DD 03H - DD 03H - DD 04H - DD 04H - DD 05H - DD 05H - DD 06H - DD 06H - DD 07H - DD 07H - DD 08H - DD 08H - DD 09H - DD 09H - DD 0aH - DD 0aH - DD 0bH - DD 0bH - DD 0cH - DD 0cH - DD 0dH - DD 0dH - ORG $+8 -?length_dezigzag@?1??stbi__compute_huffman_codes@@9@9 DB 010H ; `stbi__compute_huffman_codes'::`2'::length_dezigzag - DB 011H - DB 012H - DB 00H - DB 08H - DB 07H - DB 09H - DB 06H - DB 0aH - DB 05H - DB 0bH - DB 04H - DB 0cH - DB 03H - DB 0dH - DB 02H - DB 0eH - DB 01H - DB 0fH - ORG $+13 -stbi__zdefault_length DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 07H - DB 07H - DB 07H - DB 07H - DB 07H - DB 07H - DB 07H - DB 07H - DB 07H - DB 07H - DB 07H - DB 07H - DB 07H - DB 07H - DB 07H - DB 07H - DB 07H - DB 07H - DB 07H - DB 07H - DB 07H - DB 07H - DB 07H - DB 07H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H -stbi__zdefault_distance DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H - DB 05H -?png_sig@?1??stbi__check_png_header@@9@9 DB 089H ; `stbi__check_png_header'::`2'::png_sig - DB 050H - DB 04eH - DB 047H - DB 0dH - DB 0aH - DB 01aH - DB 0aH -stbi__depth_scale_table DB 00H - DB 0ffH - DB 055H - DB 00H - DB 011H - DB 00H - DB 00H - DB 00H - DB 01H -CONST ENDS -PUBLIC stbi_load_from_memory -PUBLIC stbi_load_from_callbacks -PUBLIC stbi_load -PUBLIC stbi_load_to_target -PUBLIC stbi_load_from_file -PUBLIC stbi_load_gif_from_memory -PUBLIC stbi_load_16_from_memory -PUBLIC stbi_load_16_from_callbacks -PUBLIC stbi_load_16 -PUBLIC stbi_load_from_file_16 -PUBLIC stbi_loadf_from_memory -PUBLIC stbi_loadf_from_callbacks -PUBLIC stbi_loadf -PUBLIC stbi_loadf_from_file -PUBLIC stbi_hdr_to_ldr_gamma -PUBLIC stbi_hdr_to_ldr_scale -PUBLIC stbi_ldr_to_hdr_gamma -PUBLIC stbi_ldr_to_hdr_scale -PUBLIC stbi_is_hdr_from_callbacks -PUBLIC stbi_is_hdr_from_memory -PUBLIC stbi_is_hdr -PUBLIC stbi_is_hdr_from_file -PUBLIC stbi_failure_reason -PUBLIC stbi_image_free -PUBLIC stbi_info_from_memory -PUBLIC stbi_info_from_callbacks -PUBLIC stbi_is_16_bit_from_memory -PUBLIC stbi_is_16_bit_from_callbacks -PUBLIC stbi_info -PUBLIC stbi_info_from_file -PUBLIC stbi_is_16_bit -PUBLIC stbi_is_16_bit_from_file -PUBLIC stbi_set_unpremultiply_on_load -PUBLIC stbi_convert_iphone_png_to_rgb -PUBLIC stbi_set_flip_vertically_on_load -PUBLIC stbi_set_unpremultiply_on_load_thread -PUBLIC stbi_convert_iphone_png_to_rgb_thread -PUBLIC stbi_set_flip_vertically_on_load_thread -PUBLIC stbi_zlib_decode_malloc_guesssize -PUBLIC stbi_zlib_decode_malloc_guesssize_headerflag -PUBLIC stbi_zlib_decode_malloc -PUBLIC stbi_zlib_decode_buffer -PUBLIC stbi_zlib_decode_noheader_malloc -PUBLIC stbi_zlib_decode_noheader_buffer -PUBLIC __JustMyCode_Default -PUBLIC ??_C@_0BD@CBEDEJPH@unknown?5image?5type@ ; `string' -PUBLIC ??_C@_08NOGIMCHF@outofmem@ ; `string' -PUBLIC ??_C@_1GG@PCNMFHPN@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ ; `string' -PUBLIC ??_C@_1GM@LFNCFCEN@?$AAr?$AAi?$AA?4?$AAb?$AAi?$AAt?$AAs?$AA_?$AAp?$AAe?$AAr?$AA_?$AAc?$AAh?$AAa@ ; `string' -PUBLIC ??_C@_02JDPG@rb@ ; `string' -PUBLIC ??_C@_0M@JPDHFAGK@can?8t?5fopen@ ; `string' -PUBLIC ??_C@_0CB@DDANHPKI@can?8t?5fopen?0?5Unable?5to?5open?5fil@ ; `string' -PUBLIC ??_C@_1DO@MABJBNAJ@?$AAr?$AAe?$AAq?$AA_?$AAc?$AAo?$AAm?$AAp?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA1?$AA?5?$AA?$CG@ ; `string' -PUBLIC ??_C@_13COJANIEC@?$AA0@ ; `string' -PUBLIC ??_C@_0M@MHDBFHD@unsupported@ ; `string' -PUBLIC ??_C@_0O@DEFOLMLB@bad?5size?5list@ ; `string' -PUBLIC ??_C@_0BB@FOKGPEKG@bad?5code?5lengths@ ; `string' -PUBLIC ??_C@_1KE@JGKPJEBO@?$AA?$CI?$AA?$CI?$AA?$CI?$AAj?$AA?9?$AA?$DO?$AAc?$AAo?$AAd?$AAe?$AA_?$AAb?$AAu?$AAf?$AAf@ ; `string' -PUBLIC ??_C@_0BB@IIMLINA@bad?5huffman?5code@ ; `string' -PUBLIC ??_C@_09IFDKCGFO@bad?5delta@ ; `string' -PUBLIC ??_C@_0BG@PJBJDAGM@can?8t?5merge?5dc?5and?5ac@ ; `string' -PUBLIC ??_C@_0BA@KLNDOKJD@expected?5marker@ ; `string' -PUBLIC ??_C@_0M@LPHNODCG@bad?5DRI?5len@ ; `string' -PUBLIC ??_C@_0N@BOFJCHAP@bad?5DQT?5type@ ; `string' -PUBLIC ??_C@_0O@CNHKKDIM@bad?5DQT?5table@ ; `string' -PUBLIC ??_C@_0P@JLGKOCGN@bad?5DHT?5header@ ; `string' -PUBLIC ??_C@_0M@CICAFFCH@bad?5COM?5len@ ; `string' -PUBLIC ??_C@_0M@EENLKPDI@bad?5APP?5len@ ; `string' -PUBLIC ??_C@_0P@NNGPHMMK@unknown?5marker@ ; `string' -PUBLIC ??_C@_0BI@DHFJCMBA@bad?5SOS?5component?5count@ ; `string' -PUBLIC ??_C@_0M@GNEHAHOH@bad?5SOS?5len@ ; `string' -PUBLIC ??_C@_0M@NOCCBFAC@bad?5DC?5huff@ ; `string' -PUBLIC ??_C@_0M@JGMCBLGG@bad?5AC?5huff@ ; `string' -PUBLIC ??_C@_07EEJOMGGP@bad?5SOS@ ; `string' -PUBLIC ??_C@_0M@DOFMJEMP@bad?5SOF?5len@ ; `string' -PUBLIC ??_C@_0L@BCINMEBJ@only?58?9bit@ ; `string' -PUBLIC ??_C@_0BB@LNEGOMA@no?5header?5height@ ; `string' -PUBLIC ??_C@_07BIDACDEF@0?5width@ ; `string' -PUBLIC ??_C@_09OJDLMMBJ@too?5large@ ; `string' -PUBLIC ??_C@_0BE@DAPHADHL@bad?5component?5count@ ; `string' -PUBLIC ??_C@_05BLPKENEJ@bad?5H@ ; `string' -PUBLIC ??_C@_05MPLLHCJG@bad?5V@ ; `string' -PUBLIC ??_C@_06LJIHDFHI@bad?5TQ@ ; `string' -PUBLIC ??_C@_06CLMBLEP@no?5SOI@ ; `string' -PUBLIC ??_C@_06IFCEAHIA@no?5SOF@ ; `string' -PUBLIC ??_C@_0M@EPMOIECP@bad?5DNL?5len@ ; `string' -PUBLIC ??_C@_0P@PNCLKCLJ@bad?5DNL?5height@ ; `string' -PUBLIC ??_C@_0N@KBPNPPBJ@bad?5req_comp@ ; `string' -PUBLIC ??_C@_1BG@HKNLHECB@?$AAb?$AAi?$AAt?$AAs?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA1?$AA6@ ; `string' -PUBLIC ??_C@_09EOHLEIKL@bad?5sizes@ ; `string' -PUBLIC ??_C@_0BA@MDNKOBMC@bad?5codelengths@ ; `string' -PUBLIC ??_C@_0BE@IBFIPFO@output?5buffer?5limit@ ; `string' -PUBLIC ??_C@_08DIAPIMGJ@bad?5dist@ ; `string' -PUBLIC ??_C@_0N@IECDHMDI@zlib?5corrupt@ ; `string' -PUBLIC ??_C@_0BB@PIPBCKIA@read?5past?5buffer@ ; `string' -PUBLIC ??_C@_0BA@OBKOPAFL@bad?5zlib?5header@ ; `string' -PUBLIC ??_C@_0P@DOGMHEBI@no?5preset?5dict@ ; `string' -PUBLIC ??_C@_0BA@MCNBDLPD@bad?5compression@ ; `string' -PUBLIC ??_C@_0M@DMDNBACF@bad?5png?5sig@ ; `string' -PUBLIC ??_C@_1FG@LGPEHEPM@?$AAo?$AAu?$AAt?$AA_?$AAn?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAs?$AA?9?$AA?$DO?$AAi?$AAm?$AAg@ ; `string' -PUBLIC ??_C@_0BC@BHMPBBMG@not?5enough?5pixels@ ; `string' -PUBLIC ??_C@_0P@FBBCPGMN@invalid?5filter@ ; `string' -PUBLIC ??_C@_0O@MKGNGALN@invalid?5width@ ; `string' -PUBLIC ??_C@_1CG@MFAHHIFB@?$AAi?$AAm?$AAg?$AA_?$AAn?$AA?5?$AA?$CL?$AA?5?$AA1?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAo?$AAu@ ; `string' -PUBLIC ??_C@_1BG@FLOPDKAN@?$AAi?$AAm?$AAg?$AA_?$AAn?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA3@ ; `string' -PUBLIC ??_C@_1DC@BMIDKOPK@?$AAo?$AAu?$AAt?$AA_?$AAn?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA2?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAo@ ; `string' -PUBLIC ??_C@_1CE@GKIDJEJM@?$AAs?$AA?9?$AA?$DO?$AAi?$AAm?$AAg?$AA_?$AAo?$AAu?$AAt?$AA_?$AAn?$AA?5?$AA?$DN?$AA?$DN@ ; `string' -PUBLIC ??_C@_0O@KBHBNJOK@multiple?5IHDR@ ; `string' -PUBLIC ??_C@_0N@POJLKMKK@bad?5IHDR?5len@ ; `string' -PUBLIC ??_C@_0BE@EJHIPKNO@1?12?14?18?116?9bit?5only@ ; `string' -PUBLIC ??_C@_09MBBNGCKB@bad?5ctype@ ; `string' -PUBLIC ??_C@_0BA@MDMBDDFG@bad?5comp?5method@ ; `string' -PUBLIC ??_C@_0BC@GHLIKKMD@bad?5filter?5method@ ; `string' -PUBLIC ??_C@_0BF@JCGDPBAA@bad?5interlace?5method@ ; `string' -PUBLIC ??_C@_0O@FNFBHCOO@0?9pixel?5image@ ; `string' -PUBLIC ??_C@_0P@JEAFOMAF@first?5not?5IHDR@ ; `string' -PUBLIC ??_C@_0N@JCPAJAKB@invalid?5PLTE@ ; `string' -PUBLIC ??_C@_0BA@PCPJHDKJ@tRNS?5after?5IDAT@ ; `string' -PUBLIC ??_C@_0BB@CEDNNLBG@tRNS?5before?5PLTE@ ; `string' -PUBLIC ??_C@_0N@KDLCCKCH@bad?5tRNS?5len@ ; `string' -PUBLIC ??_C@_0BA@ENDPGCHB@tRNS?5with?5alpha@ ; `string' -PUBLIC ??_C@_07CKIELOEH@no?5PLTE@ ; `string' -PUBLIC ??_C@_0BA@PLHGLONG@IDAT?5size?5limit@ ; `string' -PUBLIC ??_C@_09MNNCNKEO@outofdata@ ; `string' -PUBLIC ??_C@_07MLPECBNA@no?5IDAT@ ; `string' -PUBLIC ??_C@_0BF@NOEEEFMF@bad?5bits_per_channel@ ; `string' -PUBLIC ??_C@_1BA@EKLGALLJ@?$AAv?$AA?5?$AA?$DM?$AA?5?$AA2?$AA5?$AA6@ ; `string' -PUBLIC ??_C@_1CO@LIFEKNEP@?$AAb?$AAi?$AAt?$AAs?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAb?$AAi@ ; `string' -PUBLIC ??_C@_07IANEBNLB@not?5BMP@ ; `string' -PUBLIC ??_C@_07IEJCHBDI@bad?5BMP@ ; `string' -PUBLIC ??_C@_0M@KHBIBJBG@unknown?5BMP@ ; `string' -PUBLIC ??_C@_07IMHMNOIB@BMP?5RLE@ ; `string' -PUBLIC ??_C@_0N@ODCBCBFN@BMP?5JPEG?1PNG@ ; `string' -PUBLIC ??_C@_0L@PJHPAMCH@bad?5header@ ; `string' -PUBLIC ??_C@_0L@JDPIFELH@bad?5offset@ ; `string' -PUBLIC ??_C@_07MALOAKCI@invalid@ ; `string' -PUBLIC ??_C@_07JNJHIMGH@bad?5bpp@ ; `string' -PUBLIC ??_C@_09DAEBACAB@bad?5masks@ ; `string' -PUBLIC ??_C@_0L@DMAPJJO@bad?5format@ ; `string' -PUBLIC ??_C@_0M@ILLOCNCO@bad?5palette@ ; `string' -PUBLIC ??_C@_1CK@GOOINIO@?$AAt?$AAg?$AAa?$AA_?$AAc?$AAo?$AAm?$AAp?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAS?$AAT?$AAB@ ; `string' -PUBLIC ??_C@_07ECNCNLIK@not?5PSD@ ; `string' -PUBLIC ??_C@_0O@CHBCDKKC@wrong?5version@ ; `string' -PUBLIC ??_C@_0BE@PJBNGDBE@wrong?5channel?5count@ ; `string' -PUBLIC ??_C@_0BG@NOLDLPP@unsupported?5bit?5depth@ ; `string' -PUBLIC ??_C@_0BD@IOGGBMNK@wrong?5color?5format@ ; `string' -PUBLIC ??_C@_07DPPMCAKL@corrupt@ ; `string' -PUBLIC ??_C@_04KBFEPHFH@S?$IA?v4@ ; `string' -PUBLIC ??_C@_04ELNJHLFH@PICT@ ; `string' -PUBLIC ??_C@_08GGMBIFE@bad?5file@ ; `string' -PUBLIC ??_C@_07KMJLPAII@not?5GIF@ ; `string' -PUBLIC ??_C@_00CNPNBAHC@@ ; `string' -PUBLIC ??_C@_0O@MGDACKOJ@no?5clear?5code@ ; `string' -PUBLIC ??_C@_0P@GJNJCPDJ@too?5many?5codes@ ; `string' -PUBLIC ??_C@_0BH@LOKBIIOJ@illegal?5code?5in?5raster@ ; `string' -PUBLIC ??_C@_0BF@GIAALCNJ@bad?5Image?5Descriptor@ ; `string' -PUBLIC ??_C@_0BE@NAMJKDNF@missing?5color?5table@ ; `string' -PUBLIC ??_C@_0N@DJABBOOH@unknown?5code@ ; `string' -PUBLIC ??_C@_0M@HOIDFNFN@?$CD?$DPRADIANCE?6@ ; `string' -PUBLIC ??_C@_07KFDJIKCK@?$CD?$DPRGBE?6@ ; `string' -PUBLIC ??_C@_0L@NCPEAJBD@?$CD?$DPRADIANCE@ ; `string' -PUBLIC ??_C@_06NDOKKIDJ@?$CD?$DPRGBE@ ; `string' -PUBLIC ??_C@_07NCIOKENI@not?5HDR@ ; `string' -PUBLIC ??_C@_0BH@JFGBLLKC@FORMAT?$DN32?9bit_rle_rgbe@ ; `string' -PUBLIC ??_C@_0BD@NKJFFLKL@unsupported?5format@ ; `string' -PUBLIC ??_C@_03HKAKGGJN@?9Y?5@ ; `string' -PUBLIC ??_C@_0BI@DCNDPIOH@unsupported?5data?5layout@ ; `string' -PUBLIC ??_C@_03FOKDFDHG@?$CLX?5@ ; `string' -PUBLIC ??_C@_0CA@JBEOCDFN@invalid?5decoded?5scanline?5length@ ; `string' -PUBLIC ??_C@_07IDKIDMGJ@bad?5PNM@ ; `string' -PUBLIC ??_C@_0BH@OBINMOBC@integer?5parse?5overflow@ ; `string' -PUBLIC ??_C@_0BC@CNFMOKHC@max?5value?5?$DO?565535@ ; `string' -PUBLIC __real@3f000000 -PUBLIC __real@3f800000 -PUBLIC __real@3ff0000000000000 -PUBLIC __real@40400000 -PUBLIC __real@437f0000 -PUBLIC __real@477fff00 -PUBLIC __xmm@00000200000002000000020000000200 -PUBLIC __xmm@00080008000800080008000800080008 -PUBLIC __xmm@00ff00ff00ff00ff00ff00ff00ff00ff -PUBLIC __xmm@01010000010100000101000001010000 -PUBLIC __xmm@08a914e808a914e808a914e808a914e8 -PUBLIC __xmm@11c8e09e11c8e09e11c8e09e11c8e09e -PUBLIC __xmm@11c8f9c311c8f9c311c8f9c311c8f9c3 -PUBLIC __xmm@12d0046b12d0046b12d0046b12d0046b -PUBLIC __xmm@166f166f166f166f166f166f166f166f -PUBLIC __xmm@1c5a1c5a1c5a1c5a1c5a1c5a1c5a1c5a -PUBLIC __xmm@80808080808080808080808080808080 -PUBLIC __xmm@e09ee565e09ee565e09ee565e09ee565 -PUBLIC __xmm@e9cf12d0e9cf12d0e9cf12d0e9cf12d0 -PUBLIC __xmm@eb1a08a9eb1a08a9eb1a08a9eb1a08a9 -PUBLIC __xmm@f493f493f493f493f493f493f493f493 -PUBLIC __xmm@f9c31a9df9c31a9df9c31a9df9c31a9d -PUBLIC __xmm@fa7efa7efa7efa7efa7efa7efa7efa7e -EXTRN __imp_fopen_s:PROC -EXTRN __imp_fclose:PROC -EXTRN __imp_feof:PROC -EXTRN __imp_ferror:PROC -EXTRN __imp_fgetc:PROC -EXTRN __imp_fread:PROC -EXTRN __imp_fseek:PROC -EXTRN __imp_ftell:PROC -EXTRN __imp_ungetc:PROC -EXTRN __imp_free:PROC -EXTRN __imp_malloc:PROC -EXTRN __imp_realloc:PROC -EXTRN abs:PROC -EXTRN _lrotl:PROC -EXTRN __imp_strtol:PROC -EXTRN memcpy:PROC -EXTRN memset:PROC -EXTRN strcmp:PROC -EXTRN __imp_strncmp:PROC -EXTRN pow:PROC -EXTRN __imp_ldexp:PROC -EXTRN __imp__wassert:PROC -EXTRN _RTC_CheckStackVars:PROC -EXTRN _RTC_InitBase:PROC -EXTRN _RTC_Shutdown:PROC -EXTRN __CheckForDebuggerJustMyCode:PROC -EXTRN __GSHandlerCheck:PROC -EXTRN __chkstk:PROC -EXTRN __security_check_cookie:PROC -EXTRN __ImageBase:BYTE -EXTRN __security_cookie:QWORD -EXTRN _fltused:DWORD -EXTRN _tls_index:DWORD -_TLS SEGMENT -stbi__g_failure_reason DQ 01H DUP (?) -_TLS ENDS -_BSS SEGMENT -stbi__vertically_flip_on_load_global DD 01H DUP (?) -_BSS ENDS -_TLS SEGMENT -stbi__vertically_flip_on_load_local DD 01H DUP (?) -stbi__vertically_flip_on_load_set DD 01H DUP (?) -_TLS ENDS -_BSS SEGMENT -stbi__unpremultiply_on_load_global DD 01H DUP (?) -stbi__de_iphone_flag_global DD 01H DUP (?) -_BSS ENDS -_TLS SEGMENT -stbi__unpremultiply_on_load_local DD 01H DUP (?) -stbi__unpremultiply_on_load_set DD 01H DUP (?) -stbi__de_iphone_flag_local DD 01H DUP (?) -stbi__de_iphone_flag_set DD 01H DUP (?) -_TLS ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_load_from_memory DD imagerel $LN3 - DD imagerel $LN3+199 - DD imagerel $unwind$stbi_load_from_memory -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_load_from_callbacks DD imagerel $LN3 - DD imagerel $LN3+200 - DD imagerel $unwind$stbi_load_from_callbacks -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_load DD imagerel $LN6 - DD imagerel $LN6+195 - DD imagerel $unwind$stbi_load -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_load_to_target DD imagerel $LN4 - DD imagerel $LN4+160 - DD imagerel $unwind$stbi_load_to_target -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_load_from_file DD imagerel $LN4 - DD imagerel $LN4+252 - DD imagerel $unwind$stbi_load_from_file -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_load_gif_from_memory DD imagerel $LN6 - DD imagerel $LN6+373 - DD imagerel $unwind$stbi_load_gif_from_memory -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_load_16_from_memory DD imagerel $LN3 - DD imagerel $LN3+199 - DD imagerel $unwind$stbi_load_16_from_memory -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_load_16_from_callbacks DD imagerel $LN3 - DD imagerel $LN3+200 - DD imagerel $unwind$stbi_load_16_from_callbacks -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_load_16 DD imagerel $LN6 - DD imagerel $LN6+195 - DD imagerel $unwind$stbi_load_16 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_load_from_file_16 DD imagerel $LN4 - DD imagerel $LN4+252 - DD imagerel $unwind$stbi_load_from_file_16 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_loadf_from_memory DD imagerel $LN3 - DD imagerel $LN3+199 - DD imagerel $unwind$stbi_loadf_from_memory -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_loadf_from_callbacks DD imagerel $LN3 - DD imagerel $LN3+200 - DD imagerel $unwind$stbi_loadf_from_callbacks -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_loadf DD imagerel $LN6 - DD imagerel $LN6+195 - DD imagerel $unwind$stbi_loadf -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_loadf_from_file DD imagerel $LN3 - DD imagerel $LN3+193 - DD imagerel $unwind$stbi_loadf_from_file -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_hdr_to_ldr_gamma DD imagerel $LN3 - DD imagerel $LN3+67 - DD imagerel $unwind$stbi_hdr_to_ldr_gamma -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_hdr_to_ldr_scale DD imagerel $LN3 - DD imagerel $LN3+67 - DD imagerel $unwind$stbi_hdr_to_ldr_scale -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_ldr_to_hdr_gamma DD imagerel $LN3 - DD imagerel $LN3+59 - DD imagerel $unwind$stbi_ldr_to_hdr_gamma -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_ldr_to_hdr_scale DD imagerel $LN3 - DD imagerel $LN3+59 - DD imagerel $unwind$stbi_ldr_to_hdr_scale -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_is_hdr_from_callbacks DD imagerel $LN3 - DD imagerel $LN3+159 - DD imagerel $unwind$stbi_is_hdr_from_callbacks -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_is_hdr_from_memory DD imagerel $LN3 - DD imagerel $LN3+158 - DD imagerel $unwind$stbi_is_hdr_from_memory -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_is_hdr DD imagerel $LN4 - DD imagerel $LN4+105 - DD imagerel $unwind$stbi_is_hdr -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_is_hdr_from_file DD imagerel $LN3 - DD imagerel $LN3+187 - DD imagerel $unwind$stbi_is_hdr_from_file -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_failure_reason DD imagerel $LN3 - DD imagerel $LN3+68 - DD imagerel $unwind$stbi_failure_reason -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_image_free DD imagerel $LN3 - DD imagerel $LN3+56 - DD imagerel $unwind$stbi_image_free -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_info_from_memory DD imagerel $LN3 - DD imagerel $LN3+189 - DD imagerel $unwind$stbi_info_from_memory -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_info_from_callbacks DD imagerel $LN3 - DD imagerel $LN3+190 - DD imagerel $unwind$stbi_info_from_callbacks -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_is_16_bit_from_memory DD imagerel $LN3 - DD imagerel $LN3+158 - DD imagerel $unwind$stbi_is_16_bit_from_memory -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_is_16_bit_from_callbacks DD imagerel $LN3 - DD imagerel $LN3+159 - DD imagerel $unwind$stbi_is_16_bit_from_callbacks -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_info DD imagerel $LN4 - DD imagerel $LN4+148 - DD imagerel $unwind$stbi_info -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_info_from_file DD imagerel $LN3 - DD imagerel $LN3+229 - DD imagerel $unwind$stbi_info_from_file -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_is_16_bit DD imagerel $LN4 - DD imagerel $LN4+112 - DD imagerel $unwind$stbi_is_16_bit -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_is_16_bit_from_file DD imagerel $LN3 - DD imagerel $LN3+193 - DD imagerel $unwind$stbi_is_16_bit_from_file -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_set_unpremultiply_on_load DD imagerel $LN3 - DD imagerel $LN3+53 - DD imagerel $unwind$stbi_set_unpremultiply_on_load -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_convert_iphone_png_to_rgb DD imagerel $LN3 - DD imagerel $LN3+53 - DD imagerel $unwind$stbi_convert_iphone_png_to_rgb -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_set_flip_vertically_on_load DD imagerel $LN3 - DD imagerel $LN3+53 - DD imagerel $unwind$stbi_set_flip_vertically_on_load -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_set_unpremultiply_on_load_thread DD imagerel $LN3 - DD imagerel $LN3+109 - DD imagerel $unwind$stbi_set_unpremultiply_on_load_thread -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_convert_iphone_png_to_rgb_thread DD imagerel $LN3 - DD imagerel $LN3+109 - DD imagerel $unwind$stbi_convert_iphone_png_to_rgb_thread -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_set_flip_vertically_on_load_thread DD imagerel $LN3 - DD imagerel $LN3+109 - DD imagerel $unwind$stbi_set_flip_vertically_on_load_thread -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_zlib_decode_malloc_guesssize DD imagerel $LN7 - DD imagerel $LN7+310 - DD imagerel $unwind$stbi_zlib_decode_malloc_guesssize -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_zlib_decode_malloc_guesssize_headerflag DD imagerel $LN7 - DD imagerel $LN7+312 - DD imagerel $unwind$stbi_zlib_decode_malloc_guesssize_headerflag -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_zlib_decode_malloc DD imagerel $LN3 - DD imagerel $LN3+82 - DD imagerel $unwind$stbi_zlib_decode_malloc -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_zlib_decode_buffer DD imagerel $LN5 - DD imagerel $LN5+237 - DD imagerel $unwind$stbi_zlib_decode_buffer -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_zlib_decode_noheader_malloc DD imagerel $LN7 - DD imagerel $LN7+299 - DD imagerel $unwind$stbi_zlib_decode_noheader_malloc -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi_zlib_decode_noheader_buffer DD imagerel $LN5 - DD imagerel $LN5+237 - DD imagerel $unwind$stbi_zlib_decode_noheader_buffer -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__cpuid3 DD imagerel stbi__cpuid3 - DD imagerel stbi__cpuid3+150 - DD imagerel $unwind$stbi__cpuid3 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__sse2_available DD imagerel stbi__sse2_available - DD imagerel stbi__sse2_available+87 - DD imagerel $unwind$stbi__sse2_available -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__refill_buffer DD imagerel stbi__refill_buffer - DD imagerel stbi__refill_buffer+292 - DD imagerel $unwind$stbi__refill_buffer -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__start_mem DD imagerel stbi__start_mem - DD imagerel stbi__start_mem+206 - DD imagerel $unwind$stbi__start_mem -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__start_callbacks DD imagerel stbi__start_callbacks - DD imagerel stbi__start_callbacks+243 - DD imagerel $unwind$stbi__start_callbacks -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__stdio_read DD imagerel stbi__stdio_read - DD imagerel stbi__stdio_read+87 - DD imagerel $unwind$stbi__stdio_read -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__stdio_skip DD imagerel stbi__stdio_skip - DD imagerel stbi__stdio_skip+111 - DD imagerel $unwind$stbi__stdio_skip -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__stdio_eof DD imagerel stbi__stdio_eof - DD imagerel stbi__stdio_eof+104 - DD imagerel $unwind$stbi__stdio_eof -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__start_file DD imagerel stbi__start_file - DD imagerel stbi__start_file+74 - DD imagerel $unwind$stbi__start_file -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__rewind DD imagerel stbi__rewind - DD imagerel stbi__rewind+98 - DD imagerel $unwind$stbi__rewind -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__jpeg_test DD imagerel stbi__jpeg_test - DD imagerel stbi__jpeg_test+163 - DD imagerel $unwind$stbi__jpeg_test -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__jpeg_load DD imagerel stbi__jpeg_load - DD imagerel stbi__jpeg_load+228 - DD imagerel $unwind$stbi__jpeg_load -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__jpeg_info DD imagerel stbi__jpeg_info - DD imagerel stbi__jpeg_info+171 - DD imagerel $unwind$stbi__jpeg_info -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__png_test DD imagerel stbi__png_test - DD imagerel stbi__png_test+73 - DD imagerel $unwind$stbi__png_test -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__png_load DD imagerel stbi__png_load - DD imagerel stbi__png_load+199 - DD imagerel $unwind$stbi__png_load -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__png_info DD imagerel stbi__png_info - DD imagerel stbi__png_info+177 - DD imagerel $unwind$stbi__png_info -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__png_is16 DD imagerel stbi__png_is16 - DD imagerel stbi__png_is16+182 - DD imagerel $unwind$stbi__png_is16 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__bmp_test DD imagerel stbi__bmp_test - DD imagerel stbi__bmp_test+73 - DD imagerel $unwind$stbi__bmp_test -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__bmp_load DD imagerel stbi__bmp_load - DD imagerel stbi__bmp_load+4929 - DD imagerel $unwind$stbi__bmp_load -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__bmp_info DD imagerel stbi__bmp_info - DD imagerel stbi__bmp_info+335 - DD imagerel $unwind$stbi__bmp_info -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__tga_test DD imagerel stbi__tga_test - DD imagerel stbi__tga_test+401 - DD imagerel $unwind$stbi__tga_test -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__tga_load DD imagerel stbi__tga_load - DD imagerel stbi__tga_load+3012 - DD imagerel $unwind$stbi__tga_load -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__tga_info DD imagerel stbi__tga_info - DD imagerel stbi__tga_info+726 - DD imagerel $unwind$stbi__tga_info -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__psd_test DD imagerel stbi__psd_test - DD imagerel stbi__psd_test+108 - DD imagerel $unwind$stbi__psd_test -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__psd_load DD imagerel stbi__psd_load - DD imagerel stbi__psd_load+3127 - DD imagerel $unwind$stbi__psd_load -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__psd_info DD imagerel stbi__psd_info - DD imagerel stbi__psd_info+478 - DD imagerel $unwind$stbi__psd_info -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__psd_is16 DD imagerel stbi__psd_is16 - DD imagerel stbi__psd_is16+249 - DD imagerel $unwind$stbi__psd_is16 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__hdr_test DD imagerel stbi__hdr_test - DD imagerel stbi__hdr_test+121 - DD imagerel $unwind$stbi__hdr_test -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__hdr_load DD imagerel stbi__hdr_load - DD imagerel stbi__hdr_load+2654 - DD imagerel $unwind$stbi__hdr_load -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__hdr_info DD imagerel stbi__hdr_info - DD imagerel stbi__hdr_info+640 - DD imagerel $unwind$stbi__hdr_info -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__pic_test DD imagerel stbi__pic_test - DD imagerel stbi__pic_test+73 - DD imagerel $unwind$stbi__pic_test -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__pic_load DD imagerel stbi__pic_load - DD imagerel stbi__pic_load+793 - DD imagerel $unwind$stbi__pic_load -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__pic_info DD imagerel stbi__pic_info - DD imagerel stbi__pic_info+707 - DD imagerel $unwind$stbi__pic_info -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__gif_test DD imagerel stbi__gif_test - DD imagerel stbi__gif_test+73 - DD imagerel $unwind$stbi__gif_test -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__gif_load DD imagerel stbi__gif_load - DD imagerel stbi__gif_load+363 - DD imagerel $unwind$stbi__gif_load -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__load_gif_main DD imagerel stbi__load_gif_main - DD imagerel stbi__load_gif_main+1131 - DD imagerel $unwind$stbi__load_gif_main -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__gif_info DD imagerel stbi__gif_info - DD imagerel stbi__gif_info+90 - DD imagerel $unwind$stbi__gif_info -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__pnm_test DD imagerel stbi__pnm_test - DD imagerel stbi__pnm_test+121 - DD imagerel $unwind$stbi__pnm_test -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__pnm_load DD imagerel stbi__pnm_load - DD imagerel stbi__pnm_load+906 - DD imagerel $unwind$stbi__pnm_load -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__pnm_info DD imagerel stbi__pnm_info - DD imagerel stbi__pnm_info+585 - DD imagerel $unwind$stbi__pnm_info -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__pnm_is16 DD imagerel stbi__pnm_is16 - DD imagerel stbi__pnm_is16+76 - DD imagerel $unwind$stbi__pnm_is16 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__err DD imagerel stbi__err - DD imagerel stbi__err+81 - DD imagerel $unwind$stbi__err -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__malloc DD imagerel stbi__malloc - DD imagerel stbi__malloc+55 - DD imagerel $unwind$stbi__malloc -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__addsizes_valid DD imagerel stbi__addsizes_valid - DD imagerel stbi__addsizes_valid+105 - DD imagerel $unwind$stbi__addsizes_valid -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__mul2sizes_valid DD imagerel stbi__mul2sizes_valid - DD imagerel stbi__mul2sizes_valid+131 - DD imagerel $unwind$stbi__mul2sizes_valid -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__mad2sizes_valid DD imagerel stbi__mad2sizes_valid - DD imagerel stbi__mad2sizes_valid+129 - DD imagerel $unwind$stbi__mad2sizes_valid -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__mad3sizes_valid DD imagerel stbi__mad3sizes_valid - DD imagerel stbi__mad3sizes_valid+171 - DD imagerel $unwind$stbi__mad3sizes_valid -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__mad4sizes_valid DD imagerel stbi__mad4sizes_valid - DD imagerel stbi__mad4sizes_valid+215 - DD imagerel $unwind$stbi__mad4sizes_valid -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__malloc_mad2 DD imagerel stbi__malloc_mad2 - DD imagerel stbi__malloc_mad2+111 - DD imagerel $unwind$stbi__malloc_mad2 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__malloc_mad3 DD imagerel stbi__malloc_mad3 - DD imagerel stbi__malloc_mad3+130 - DD imagerel $unwind$stbi__malloc_mad3 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__malloc_mad4 DD imagerel stbi__malloc_mad4 - DD imagerel stbi__malloc_mad4+147 - DD imagerel $unwind$stbi__malloc_mad4 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__addints_valid DD imagerel stbi__addints_valid - DD imagerel stbi__addints_valid+242 - DD imagerel $unwind$stbi__addints_valid -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__mul2shorts_valid DD imagerel stbi__mul2shorts_valid - DD imagerel stbi__mul2shorts_valid+376 - DD imagerel $unwind$stbi__mul2shorts_valid -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__ldr_to_hdr DD imagerel stbi__ldr_to_hdr - DD imagerel stbi__ldr_to_hdr+539 - DD imagerel $unwind$stbi__ldr_to_hdr -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__hdr_to_ldr DD imagerel stbi__hdr_to_ldr - DD imagerel stbi__hdr_to_ldr+647 - DD imagerel $unwind$stbi__hdr_to_ldr -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__load_main DD imagerel stbi__load_main - DD imagerel stbi__load_main+935 - DD imagerel $unwind$stbi__load_main -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__convert_16_to_8 DD imagerel stbi__convert_16_to_8 - DD imagerel stbi__convert_16_to_8+230 - DD imagerel $unwind$stbi__convert_16_to_8 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__convert_8_to_16 DD imagerel stbi__convert_8_to_16 - DD imagerel stbi__convert_8_to_16+246 - DD imagerel $unwind$stbi__convert_8_to_16 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__vertical_flip DD imagerel stbi__vertical_flip - DD imagerel stbi__vertical_flip+515 - DD imagerel $unwind$stbi__vertical_flip -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__vertical_flip_slices DD imagerel stbi__vertical_flip_slices - DD imagerel stbi__vertical_flip_slices+168 - DD imagerel $unwind$stbi__vertical_flip_slices -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__load_and_postprocess_8bit DD imagerel stbi__load_and_postprocess_8bit - DD imagerel stbi__load_and_postprocess_8bit+518 - DD imagerel $unwind$stbi__load_and_postprocess_8bit -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__load_and_postprocess_16bit DD imagerel stbi__load_and_postprocess_16bit - DD imagerel stbi__load_and_postprocess_16bit+524 - DD imagerel $unwind$stbi__load_and_postprocess_16bit -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__float_postprocess DD imagerel stbi__float_postprocess - DD imagerel stbi__float_postprocess+247 - DD imagerel $unwind$stbi__float_postprocess -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__fopen DD imagerel stbi__fopen - DD imagerel stbi__fopen+166 - DD imagerel $unwind$stbi__fopen -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__loadf_main DD imagerel stbi__loadf_main - DD imagerel stbi__loadf_main+441 - DD imagerel $unwind$stbi__loadf_main -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__get8 DD imagerel stbi__get8 - DD imagerel stbi__get8+226 - DD imagerel $unwind$stbi__get8 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__at_eof DD imagerel stbi__at_eof - DD imagerel stbi__at_eof+163 - DD imagerel $unwind$stbi__at_eof -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__skip DD imagerel stbi__skip - DD imagerel stbi__skip+263 - DD imagerel $unwind$stbi__skip -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__getn DD imagerel stbi__getn - DD imagerel stbi__getn+415 - DD imagerel $unwind$stbi__getn -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__get16be DD imagerel stbi__get16be - DD imagerel stbi__get16be+97 - DD imagerel $unwind$stbi__get16be -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__get32be DD imagerel stbi__get32be - DD imagerel stbi__get32be+91 - DD imagerel $unwind$stbi__get32be -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__get16le DD imagerel stbi__get16le - DD imagerel stbi__get16le+85 - DD imagerel $unwind$stbi__get16le -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__get32le DD imagerel stbi__get32le - DD imagerel stbi__get32le+85 - DD imagerel $unwind$stbi__get32le -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__compute_y DD imagerel stbi__compute_y - DD imagerel stbi__compute_y+81 - DD imagerel $unwind$stbi__compute_y -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__convert_format DD imagerel stbi__convert_format - DD imagerel stbi__convert_format+2752 - DD imagerel $unwind$stbi__convert_format -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__compute_y_16 DD imagerel stbi__compute_y_16 - DD imagerel stbi__compute_y_16+81 - DD imagerel $unwind$stbi__compute_y_16 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__convert_format16 DD imagerel stbi__convert_format16 - DD imagerel stbi__convert_format16+2804 - DD imagerel $unwind$stbi__convert_format16 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__build_huffman DD imagerel stbi__build_huffman - DD imagerel stbi__build_huffman+698 - DD imagerel $unwind$stbi__build_huffman -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__build_fast_ac DD imagerel stbi__build_fast_ac - DD imagerel stbi__build_fast_ac+440 - DD imagerel $unwind$stbi__build_fast_ac -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__grow_buffer_unsafe DD imagerel stbi__grow_buffer_unsafe - DD imagerel stbi__grow_buffer_unsafe+314 - DD imagerel $unwind$stbi__grow_buffer_unsafe -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__jpeg_huff_decode DD imagerel stbi__jpeg_huff_decode - DD imagerel stbi__jpeg_huff_decode+758 - DD imagerel $unwind$stbi__jpeg_huff_decode -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__extend_receive DD imagerel stbi__extend_receive - DD imagerel stbi__extend_receive+285 - DD imagerel $unwind$stbi__extend_receive -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__jpeg_get_bits DD imagerel stbi__jpeg_get_bits - DD imagerel stbi__jpeg_get_bits+238 - DD imagerel $unwind$stbi__jpeg_get_bits -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__jpeg_get_bit DD imagerel stbi__jpeg_get_bit - DD imagerel stbi__jpeg_get_bit+171 - DD imagerel $unwind$stbi__jpeg_get_bit -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__jpeg_decode_block DD imagerel stbi__jpeg_decode_block - DD imagerel stbi__jpeg_decode_block+987 - DD imagerel $unwind$stbi__jpeg_decode_block -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__jpeg_decode_block_prog_dc DD imagerel stbi__jpeg_decode_block_prog_dc - DD imagerel stbi__jpeg_decode_block_prog_dc+593 - DD imagerel $unwind$stbi__jpeg_decode_block_prog_dc -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__jpeg_decode_block_prog_ac DD imagerel stbi__jpeg_decode_block_prog_ac - DD imagerel stbi__jpeg_decode_block_prog_ac+1743 - DD imagerel $unwind$stbi__jpeg_decode_block_prog_ac -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__clamp DD imagerel stbi__clamp - DD imagerel stbi__clamp+89 - DD imagerel $unwind$stbi__clamp -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__idct_block DD imagerel stbi__idct_block - DD imagerel stbi__idct_block+3189 - DD imagerel $unwind$stbi__idct_block -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__idct_simd DD imagerel stbi__idct_simd - DD imagerel stbi__idct_simd+5983 - DD imagerel $unwind$stbi__idct_simd -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__get_marker DD imagerel stbi__get_marker - DD imagerel stbi__get_marker+168 - DD imagerel $unwind$stbi__get_marker -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__jpeg_reset DD imagerel stbi__jpeg_reset - DD imagerel stbi__jpeg_reset+298 - DD imagerel $unwind$stbi__jpeg_reset -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__parse_entropy_coded_data DD imagerel stbi__parse_entropy_coded_data - DD imagerel stbi__parse_entropy_coded_data+3244 - DD imagerel $unwind$stbi__parse_entropy_coded_data -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__jpeg_dequantize DD imagerel stbi__jpeg_dequantize - DD imagerel stbi__jpeg_dequantize+120 - DD imagerel $unwind$stbi__jpeg_dequantize -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__jpeg_finish DD imagerel stbi__jpeg_finish - DD imagerel stbi__jpeg_finish+495 - DD imagerel $unwind$stbi__jpeg_finish -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__process_marker DD imagerel stbi__process_marker - DD imagerel stbi__process_marker+1908 - DD imagerel $unwind$stbi__process_marker -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__process_scan_header DD imagerel stbi__process_scan_header - DD imagerel stbi__process_scan_header+906 - DD imagerel $unwind$stbi__process_scan_header -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__free_jpeg_components DD imagerel stbi__free_jpeg_components - DD imagerel stbi__free_jpeg_components+397 - DD imagerel $unwind$stbi__free_jpeg_components -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__process_frame_header DD imagerel stbi__process_frame_header - DD imagerel stbi__process_frame_header+2436 - DD imagerel $unwind$stbi__process_frame_header -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__decode_jpeg_header DD imagerel stbi__decode_jpeg_header - DD imagerel stbi__decode_jpeg_header+398 - DD imagerel $unwind$stbi__decode_jpeg_header -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__skip_jpeg_junk_at_end DD imagerel stbi__skip_jpeg_junk_at_end - DD imagerel stbi__skip_jpeg_junk_at_end+167 - DD imagerel $unwind$stbi__skip_jpeg_junk_at_end -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__decode_jpeg_image DD imagerel stbi__decode_jpeg_image - DD imagerel stbi__decode_jpeg_image+561 - DD imagerel $unwind$stbi__decode_jpeg_image -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$resample_row_1 DD imagerel resample_row_1 - DD imagerel resample_row_1+64 - DD imagerel $unwind$resample_row_1 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__resample_row_v_2 DD imagerel stbi__resample_row_v_2 - DD imagerel stbi__resample_row_v_2+148 - DD imagerel $unwind$stbi__resample_row_v_2 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__resample_row_h_2 DD imagerel stbi__resample_row_h_2 - DD imagerel stbi__resample_row_h_2+522 - DD imagerel $unwind$stbi__resample_row_h_2 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__resample_row_hv_2 DD imagerel stbi__resample_row_hv_2 - DD imagerel stbi__resample_row_hv_2+444 - DD imagerel $unwind$stbi__resample_row_hv_2 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__resample_row_hv_2_simd DD imagerel stbi__resample_row_hv_2_simd - DD imagerel stbi__resample_row_hv_2_simd+1193 - DD imagerel $unwind$stbi__resample_row_hv_2_simd -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__resample_row_generic DD imagerel stbi__resample_row_generic - DD imagerel stbi__resample_row_generic+166 - DD imagerel $unwind$stbi__resample_row_generic -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__YCbCr_to_RGB_row DD imagerel stbi__YCbCr_to_RGB_row - DD imagerel stbi__YCbCr_to_RGB_row+510 - DD imagerel $unwind$stbi__YCbCr_to_RGB_row -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__YCbCr_to_RGB_simd DD imagerel stbi__YCbCr_to_RGB_simd - DD imagerel stbi__YCbCr_to_RGB_simd+1391 - DD imagerel $unwind$stbi__YCbCr_to_RGB_simd -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__setup_jpeg DD imagerel stbi__setup_jpeg - DD imagerel stbi__setup_jpeg+177 - DD imagerel $unwind$stbi__setup_jpeg -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__cleanup_jpeg DD imagerel stbi__cleanup_jpeg - DD imagerel stbi__cleanup_jpeg+71 - DD imagerel $unwind$stbi__cleanup_jpeg -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__blinn_8x8 DD imagerel stbi__blinn_8x8 - DD imagerel stbi__blinn_8x8+86 - DD imagerel $unwind$stbi__blinn_8x8 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$load_jpeg_image DD imagerel load_jpeg_image - DD imagerel load_jpeg_image+4825 - DD imagerel $unwind$load_jpeg_image -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__jpeg_info_raw DD imagerel stbi__jpeg_info_raw - DD imagerel stbi__jpeg_info_raw+232 - DD imagerel $unwind$stbi__jpeg_info_raw -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__bitreverse16 DD imagerel stbi__bitreverse16 - DD imagerel stbi__bitreverse16+193 - DD imagerel $unwind$stbi__bitreverse16 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__bit_reverse DD imagerel stbi__bit_reverse - DD imagerel stbi__bit_reverse+106 - DD imagerel $unwind$stbi__bit_reverse -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__zbuild_huffman DD imagerel stbi__zbuild_huffman - DD imagerel stbi__zbuild_huffman+963 - DD imagerel $unwind$stbi__zbuild_huffman -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__zeof DD imagerel stbi__zeof - DD imagerel stbi__zeof+93 - DD imagerel $unwind$stbi__zeof -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__zget8 DD imagerel stbi__zget8 - DD imagerel stbi__zget8+119 - DD imagerel $unwind$stbi__zget8 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__fill_bits DD imagerel stbi__fill_bits - DD imagerel stbi__fill_bits+200 - DD imagerel $unwind$stbi__fill_bits -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__zreceive DD imagerel stbi__zreceive - DD imagerel stbi__zreceive+200 - DD imagerel $unwind$stbi__zreceive -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__zhuffman_decode_slowpath DD imagerel stbi__zhuffman_decode_slowpath - DD imagerel stbi__zhuffman_decode_slowpath+324 - DD imagerel $unwind$stbi__zhuffman_decode_slowpath -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__zhuffman_decode DD imagerel stbi__zhuffman_decode - DD imagerel stbi__zhuffman_decode+241 - DD imagerel $unwind$stbi__zhuffman_decode -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__zexpand DD imagerel stbi__zexpand - DD imagerel stbi__zexpand+361 - DD imagerel $unwind$stbi__zexpand -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__parse_huffman_block DD imagerel stbi__parse_huffman_block - DD imagerel stbi__parse_huffman_block+761 - DD imagerel $unwind$stbi__parse_huffman_block -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__compute_huffman_codes DD imagerel stbi__compute_huffman_codes - DD imagerel stbi__compute_huffman_codes+949 - DD imagerel $unwind$stbi__compute_huffman_codes -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__parse_uncompressed_block DD imagerel stbi__parse_uncompressed_block - DD imagerel stbi__parse_uncompressed_block+603 - DD imagerel $unwind$stbi__parse_uncompressed_block -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__parse_zlib_header DD imagerel stbi__parse_zlib_header - DD imagerel stbi__parse_zlib_header+204 - DD imagerel $unwind$stbi__parse_zlib_header -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__parse_zlib DD imagerel stbi__parse_zlib - DD imagerel stbi__parse_zlib+343 - DD imagerel $unwind$stbi__parse_zlib -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__do_zlib DD imagerel stbi__do_zlib - DD imagerel stbi__do_zlib+158 - DD imagerel $unwind$stbi__do_zlib -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__get_chunk_header DD imagerel stbi__get_chunk_header - DD imagerel stbi__get_chunk_header+123 - DD imagerel $unwind$stbi__get_chunk_header -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__check_png_header DD imagerel stbi__check_png_header - DD imagerel stbi__check_png_header+120 - DD imagerel $unwind$stbi__check_png_header -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__paeth DD imagerel stbi__paeth - DD imagerel stbi__paeth+190 - DD imagerel $unwind$stbi__paeth -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__create_png_image_raw DD imagerel stbi__create_png_image_raw - DD imagerel stbi__create_png_image_raw+7148 - DD imagerel $unwind$stbi__create_png_image_raw -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__create_png_image DD imagerel stbi__create_png_image - DD imagerel stbi__create_png_image+1308 - DD imagerel $unwind$stbi__create_png_image -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__compute_transparency DD imagerel stbi__compute_transparency - DD imagerel stbi__compute_transparency+478 - DD imagerel $unwind$stbi__compute_transparency -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__compute_transparency16 DD imagerel stbi__compute_transparency16 - DD imagerel stbi__compute_transparency16+481 - DD imagerel $unwind$stbi__compute_transparency16 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__expand_png_palette DD imagerel stbi__expand_png_palette - DD imagerel stbi__expand_png_palette+614 - DD imagerel $unwind$stbi__expand_png_palette -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__de_iphone DD imagerel stbi__de_iphone - DD imagerel stbi__de_iphone+823 - DD imagerel $unwind$stbi__de_iphone -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__parse_png_file DD imagerel stbi__parse_png_file - DD imagerel stbi__parse_png_file+3798 - DD imagerel $unwind$stbi__parse_png_file -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__do_png DD imagerel stbi__do_png - DD imagerel stbi__do_png+693 - DD imagerel $unwind$stbi__do_png -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__png_info_raw DD imagerel stbi__png_info_raw - DD imagerel stbi__png_info_raw+201 - DD imagerel $unwind$stbi__png_info_raw -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__bmp_test_raw DD imagerel stbi__bmp_test_raw - DD imagerel stbi__bmp_test_raw+227 - DD imagerel $unwind$stbi__bmp_test_raw -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__high_bit DD imagerel stbi__high_bit - DD imagerel stbi__high_bit+225 - DD imagerel $unwind$stbi__high_bit -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__bitcount DD imagerel stbi__bitcount - DD imagerel stbi__bitcount+199 - DD imagerel $unwind$stbi__bitcount -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__shiftsigned DD imagerel stbi__shiftsigned - DD imagerel stbi__shiftsigned+268 - DD imagerel $unwind$stbi__shiftsigned -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__bmp_set_mask_defaults DD imagerel stbi__bmp_set_mask_defaults - DD imagerel stbi__bmp_set_mask_defaults+286 - DD imagerel $unwind$stbi__bmp_set_mask_defaults -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__bmp_parse_header DD imagerel stbi__bmp_parse_header - DD imagerel stbi__bmp_parse_header+1594 - DD imagerel $unwind$stbi__bmp_parse_header -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__tga_get_comp DD imagerel stbi__tga_get_comp - DD imagerel stbi__tga_get_comp+204 - DD imagerel $unwind$stbi__tga_get_comp -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__tga_read_rgb16 DD imagerel stbi__tga_read_rgb16 - DD imagerel stbi__tga_read_rgb16+225 - DD imagerel $unwind$stbi__tga_read_rgb16 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__psd_decode_rle DD imagerel stbi__psd_decode_rle - DD imagerel stbi__psd_decode_rle+336 - DD imagerel $unwind$stbi__psd_decode_rle -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__pic_is4 DD imagerel stbi__pic_is4 - DD imagerel stbi__pic_is4+115 - DD imagerel $unwind$stbi__pic_is4 -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__pic_test_core DD imagerel stbi__pic_test_core - DD imagerel stbi__pic_test_core+139 - DD imagerel $unwind$stbi__pic_test_core -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__readval DD imagerel stbi__readval - DD imagerel stbi__readval+209 - DD imagerel $unwind$stbi__readval -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__copyval DD imagerel stbi__copyval - DD imagerel stbi__copyval+138 - DD imagerel $unwind$stbi__copyval -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__pic_load_core DD imagerel stbi__pic_load_core - DD imagerel stbi__pic_load_core+1805 - DD imagerel $unwind$stbi__pic_load_core -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__gif_test_raw DD imagerel stbi__gif_test_raw - DD imagerel stbi__gif_test_raw+189 - DD imagerel $unwind$stbi__gif_test_raw -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__gif_parse_colortable DD imagerel stbi__gif_parse_colortable - DD imagerel stbi__gif_parse_colortable+278 - DD imagerel $unwind$stbi__gif_parse_colortable -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__gif_header DD imagerel stbi__gif_header - DD imagerel stbi__gif_header+609 - DD imagerel $unwind$stbi__gif_header -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__gif_info_raw DD imagerel stbi__gif_info_raw - DD imagerel stbi__gif_info_raw+223 - DD imagerel $unwind$stbi__gif_info_raw -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__out_gif_code DD imagerel stbi__out_gif_code - DD imagerel stbi__out_gif_code+753 - DD imagerel $unwind$stbi__out_gif_code -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__process_gif_raster DD imagerel stbi__process_gif_raster - DD imagerel stbi__process_gif_raster+1264 - DD imagerel $unwind$stbi__process_gif_raster -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__gif_load_next DD imagerel stbi__gif_load_next - DD imagerel stbi__gif_load_next+2528 - DD imagerel $unwind$stbi__gif_load_next -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__load_gif_main_outofmem DD imagerel stbi__load_gif_main_outofmem - DD imagerel stbi__load_gif_main_outofmem+217 - DD imagerel $unwind$stbi__load_gif_main_outofmem -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__hdr_test_core DD imagerel stbi__hdr_test_core - DD imagerel stbi__hdr_test_core+141 - DD imagerel $unwind$stbi__hdr_test_core -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__hdr_gettoken DD imagerel stbi__hdr_gettoken - DD imagerel stbi__hdr_gettoken+212 - DD imagerel $unwind$stbi__hdr_gettoken -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__hdr_convert DD imagerel stbi__hdr_convert - DD imagerel stbi__hdr_convert+690 - DD imagerel $unwind$stbi__hdr_convert -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__pnm_isspace DD imagerel stbi__pnm_isspace - DD imagerel stbi__pnm_isspace+141 - DD imagerel $unwind$stbi__pnm_isspace -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__pnm_skip_whitespace DD imagerel stbi__pnm_skip_whitespace - DD imagerel stbi__pnm_skip_whitespace+212 - DD imagerel $unwind$stbi__pnm_skip_whitespace -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__pnm_isdigit DD imagerel stbi__pnm_isdigit - DD imagerel stbi__pnm_isdigit+93 - DD imagerel $unwind$stbi__pnm_isdigit -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__pnm_getinteger DD imagerel stbi__pnm_getinteger - DD imagerel stbi__pnm_getinteger+183 - DD imagerel $unwind$stbi__pnm_getinteger -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__info_main DD imagerel stbi__info_main - DD imagerel stbi__info_main+483 - DD imagerel $unwind$stbi__info_main -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$stbi__is_16_main DD imagerel stbi__is_16_main - DD imagerel stbi__is_16_main+113 - DD imagerel $unwind$stbi__is_16_main -pdata ENDS -; COMDAT __xmm@fa7efa7efa7efa7efa7efa7efa7efa7e -CONST SEGMENT -__xmm@fa7efa7efa7efa7efa7efa7efa7efa7e DB '~', 0faH, '~', 0faH, '~', 0faH - DB '~', 0faH, '~', 0faH, '~', 0faH, '~', 0faH, '~', 0faH -CONST ENDS -; COMDAT __xmm@f9c31a9df9c31a9df9c31a9df9c31a9d -CONST SEGMENT -__xmm@f9c31a9df9c31a9df9c31a9df9c31a9d DB 09dH, 01aH, 0c3H, 0f9H, 09dH, 01aH - DB 0c3H, 0f9H, 09dH, 01aH, 0c3H, 0f9H, 09dH, 01aH, 0c3H, 0f9H -CONST ENDS -; COMDAT __xmm@f493f493f493f493f493f493f493f493 -CONST SEGMENT -__xmm@f493f493f493f493f493f493f493f493 DB 093H, 0f4H, 093H, 0f4H, 093H, 0f4H - DB 093H, 0f4H, 093H, 0f4H, 093H, 0f4H, 093H, 0f4H, 093H, 0f4H -CONST ENDS -; COMDAT __xmm@eb1a08a9eb1a08a9eb1a08a9eb1a08a9 -CONST SEGMENT -__xmm@eb1a08a9eb1a08a9eb1a08a9eb1a08a9 DB 0a9H, 08H, 01aH, 0ebH, 0a9H, 08H - DB 01aH, 0ebH, 0a9H, 08H, 01aH, 0ebH, 0a9H, 08H, 01aH, 0ebH -CONST ENDS -; COMDAT __xmm@e9cf12d0e9cf12d0e9cf12d0e9cf12d0 -CONST SEGMENT -__xmm@e9cf12d0e9cf12d0e9cf12d0e9cf12d0 DB 0d0H, 012H, 0cfH, 0e9H, 0d0H, 012H - DB 0cfH, 0e9H, 0d0H, 012H, 0cfH, 0e9H, 0d0H, 012H, 0cfH, 0e9H -CONST ENDS -; COMDAT __xmm@e09ee565e09ee565e09ee565e09ee565 -CONST SEGMENT -__xmm@e09ee565e09ee565e09ee565e09ee565 DB 'e', 0e5H, 09eH, 0e0H, 'e', 0e5H - DB 09eH, 0e0H, 'e', 0e5H, 09eH, 0e0H, 'e', 0e5H, 09eH, 0e0H -CONST ENDS -; COMDAT __xmm@80808080808080808080808080808080 -CONST SEGMENT -__xmm@80808080808080808080808080808080 DB 080H, 080H, 080H, 080H, 080H, 080H - DB 080H, 080H, 080H, 080H, 080H, 080H, 080H, 080H, 080H, 080H -CONST ENDS -; COMDAT __xmm@1c5a1c5a1c5a1c5a1c5a1c5a1c5a1c5a -CONST SEGMENT -__xmm@1c5a1c5a1c5a1c5a1c5a1c5a1c5a1c5a DB 'Z', 01cH, 'Z', 01cH, 'Z', 01cH - DB 'Z', 01cH, 'Z', 01cH, 'Z', 01cH, 'Z', 01cH, 'Z', 01cH -CONST ENDS -; COMDAT __xmm@166f166f166f166f166f166f166f166f -CONST SEGMENT -__xmm@166f166f166f166f166f166f166f166f DB 'o', 016H, 'o', 016H, 'o', 016H - DB 'o', 016H, 'o', 016H, 'o', 016H, 'o', 016H, 'o', 016H -CONST ENDS -; COMDAT __xmm@12d0046b12d0046b12d0046b12d0046b -CONST SEGMENT -__xmm@12d0046b12d0046b12d0046b12d0046b DB 'k', 04H, 0d0H, 012H, 'k', 04H, 0d0H - DB 012H, 'k', 04H, 0d0H, 012H, 'k', 04H, 0d0H, 012H -CONST ENDS -; COMDAT __xmm@11c8f9c311c8f9c311c8f9c311c8f9c3 -CONST SEGMENT -__xmm@11c8f9c311c8f9c311c8f9c311c8f9c3 DB 0c3H, 0f9H, 0c8H, 011H, 0c3H, 0f9H - DB 0c8H, 011H, 0c3H, 0f9H, 0c8H, 011H, 0c3H, 0f9H, 0c8H, 011H -CONST ENDS -; COMDAT __xmm@11c8e09e11c8e09e11c8e09e11c8e09e -CONST SEGMENT -__xmm@11c8e09e11c8e09e11c8e09e11c8e09e DB 09eH, 0e0H, 0c8H, 011H, 09eH, 0e0H - DB 0c8H, 011H, 09eH, 0e0H, 0c8H, 011H, 09eH, 0e0H, 0c8H, 011H -CONST ENDS -; COMDAT __xmm@08a914e808a914e808a914e808a914e8 -CONST SEGMENT -__xmm@08a914e808a914e808a914e808a914e8 DB 0e8H, 014H, 0a9H, 08H, 0e8H, 014H - DB 0a9H, 08H, 0e8H, 014H, 0a9H, 08H, 0e8H, 014H, 0a9H, 08H -CONST ENDS -; COMDAT __xmm@01010000010100000101000001010000 -CONST SEGMENT -__xmm@01010000010100000101000001010000 DB 00H, 00H, 01H, 01H, 00H, 00H, 01H - DB 01H, 00H, 00H, 01H, 01H, 00H, 00H, 01H, 01H -CONST ENDS -; COMDAT __xmm@00ff00ff00ff00ff00ff00ff00ff00ff -CONST SEGMENT -__xmm@00ff00ff00ff00ff00ff00ff00ff00ff DB 0ffH, 00H, 0ffH, 00H, 0ffH, 00H - DB 0ffH, 00H, 0ffH, 00H, 0ffH, 00H, 0ffH, 00H, 0ffH, 00H -CONST ENDS -; COMDAT __xmm@00080008000800080008000800080008 -CONST SEGMENT -__xmm@00080008000800080008000800080008 DB 08H, 00H, 08H, 00H, 08H, 00H, 08H - DB 00H, 08H, 00H, 08H, 00H, 08H, 00H, 08H, 00H -CONST ENDS -; COMDAT __xmm@00000200000002000000020000000200 -CONST SEGMENT -__xmm@00000200000002000000020000000200 DB 00H, 02H, 00H, 00H, 00H, 02H, 00H - DB 00H, 00H, 02H, 00H, 00H, 00H, 02H, 00H, 00H -CONST ENDS -; COMDAT __real@477fff00 -CONST SEGMENT -__real@477fff00 DD 0477fff00r ; 65535 -CONST ENDS -; COMDAT __real@437f0000 -CONST SEGMENT -__real@437f0000 DD 0437f0000r ; 255 -CONST ENDS -; COMDAT __real@40400000 -CONST SEGMENT -__real@40400000 DD 040400000r ; 3 -CONST ENDS -; COMDAT __real@3ff0000000000000 -CONST SEGMENT -__real@3ff0000000000000 DQ 03ff0000000000000r ; 1 -CONST ENDS -; COMDAT __real@3f800000 -CONST SEGMENT -__real@3f800000 DD 03f800000r ; 1 -CONST ENDS -; COMDAT __real@3f000000 -CONST SEGMENT -__real@3f000000 DD 03f000000r ; 0.5 -CONST ENDS -; COMDAT rtc$TMZ -rtc$TMZ SEGMENT -_RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown -rtc$TMZ ENDS -; COMDAT rtc$IMZ -rtc$IMZ SEGMENT -_RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase -rtc$IMZ ENDS -; COMDAT ??_C@_0BC@CNFMOKHC@max?5value?5?$DO?565535@ -CONST SEGMENT -??_C@_0BC@CNFMOKHC@max?5value?5?$DO?565535@ DB 'max value > 65535', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BH@OBINMOBC@integer?5parse?5overflow@ -CONST SEGMENT -??_C@_0BH@OBINMOBC@integer?5parse?5overflow@ DB 'integer parse overflow', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_07IDKIDMGJ@bad?5PNM@ -CONST SEGMENT -??_C@_07IDKIDMGJ@bad?5PNM@ DB 'bad PNM', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0CA@JBEOCDFN@invalid?5decoded?5scanline?5length@ -CONST SEGMENT -??_C@_0CA@JBEOCDFN@invalid?5decoded?5scanline?5length@ DB 'invalid decode' - DB 'd scanline length', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_03FOKDFDHG@?$CLX?5@ -CONST SEGMENT -??_C@_03FOKDFDHG@?$CLX?5@ DB '+X ', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BI@DCNDPIOH@unsupported?5data?5layout@ -CONST SEGMENT -??_C@_0BI@DCNDPIOH@unsupported?5data?5layout@ DB 'unsupported data layout' - DB 00H ; `string' -CONST ENDS -; COMDAT ??_C@_03HKAKGGJN@?9Y?5@ -CONST SEGMENT -??_C@_03HKAKGGJN@?9Y?5@ DB '-Y ', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BD@NKJFFLKL@unsupported?5format@ -CONST SEGMENT -??_C@_0BD@NKJFFLKL@unsupported?5format@ DB 'unsupported format', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BH@JFGBLLKC@FORMAT?$DN32?9bit_rle_rgbe@ -CONST SEGMENT -??_C@_0BH@JFGBLLKC@FORMAT?$DN32?9bit_rle_rgbe@ DB 'FORMAT=32-bit_rle_rgbe' - DB 00H ; `string' -CONST ENDS -; COMDAT ??_C@_07NCIOKENI@not?5HDR@ -CONST SEGMENT -??_C@_07NCIOKENI@not?5HDR@ DB 'not HDR', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_06NDOKKIDJ@?$CD?$DPRGBE@ -CONST SEGMENT -??_C@_06NDOKKIDJ@?$CD?$DPRGBE@ DB '#?RGBE', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0L@NCPEAJBD@?$CD?$DPRADIANCE@ -CONST SEGMENT -??_C@_0L@NCPEAJBD@?$CD?$DPRADIANCE@ DB '#?RADIANCE', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_07KFDJIKCK@?$CD?$DPRGBE?6@ -CONST SEGMENT -??_C@_07KFDJIKCK@?$CD?$DPRGBE?6@ DB '#?RGBE', 0aH, 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0M@HOIDFNFN@?$CD?$DPRADIANCE?6@ -CONST SEGMENT -??_C@_0M@HOIDFNFN@?$CD?$DPRADIANCE?6@ DB '#?RADIANCE', 0aH, 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0N@DJABBOOH@unknown?5code@ -CONST SEGMENT -??_C@_0N@DJABBOOH@unknown?5code@ DB 'unknown code', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BE@NAMJKDNF@missing?5color?5table@ -CONST SEGMENT -??_C@_0BE@NAMJKDNF@missing?5color?5table@ DB 'missing color table', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BF@GIAALCNJ@bad?5Image?5Descriptor@ -CONST SEGMENT -??_C@_0BF@GIAALCNJ@bad?5Image?5Descriptor@ DB 'bad Image Descriptor', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BH@LOKBIIOJ@illegal?5code?5in?5raster@ -CONST SEGMENT -??_C@_0BH@LOKBIIOJ@illegal?5code?5in?5raster@ DB 'illegal code in raster', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0P@GJNJCPDJ@too?5many?5codes@ -CONST SEGMENT -??_C@_0P@GJNJCPDJ@too?5many?5codes@ DB 'too many codes', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0O@MGDACKOJ@no?5clear?5code@ -CONST SEGMENT -??_C@_0O@MGDACKOJ@no?5clear?5code@ DB 'no clear code', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_00CNPNBAHC@@ -CONST SEGMENT -??_C@_00CNPNBAHC@@ DB 00H ; `string' -CONST ENDS -; COMDAT ??_C@_07KMJLPAII@not?5GIF@ -CONST SEGMENT -??_C@_07KMJLPAII@not?5GIF@ DB 'not GIF', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_08GGMBIFE@bad?5file@ -CONST SEGMENT -??_C@_08GGMBIFE@bad?5file@ DB 'bad file', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_04ELNJHLFH@PICT@ -CONST SEGMENT -??_C@_04ELNJHLFH@PICT@ DB 'PICT', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_04KBFEPHFH@S?$IA?v4@ -CONST SEGMENT -??_C@_04KBFEPHFH@S?$IA?v4@ DB 'S', 080H, 0f6H, '4', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_07DPPMCAKL@corrupt@ -CONST SEGMENT -??_C@_07DPPMCAKL@corrupt@ DB 'corrupt', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BD@IOGGBMNK@wrong?5color?5format@ -CONST SEGMENT -??_C@_0BD@IOGGBMNK@wrong?5color?5format@ DB 'wrong color format', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BG@NOLDLPP@unsupported?5bit?5depth@ -CONST SEGMENT -??_C@_0BG@NOLDLPP@unsupported?5bit?5depth@ DB 'unsupported bit depth', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BE@PJBNGDBE@wrong?5channel?5count@ -CONST SEGMENT -??_C@_0BE@PJBNGDBE@wrong?5channel?5count@ DB 'wrong channel count', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0O@CHBCDKKC@wrong?5version@ -CONST SEGMENT -??_C@_0O@CHBCDKKC@wrong?5version@ DB 'wrong version', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_07ECNCNLIK@not?5PSD@ -CONST SEGMENT -??_C@_07ECNCNLIK@not?5PSD@ DB 'not PSD', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_1CK@GOOINIO@?$AAt?$AAg?$AAa?$AA_?$AAc?$AAo?$AAm?$AAp?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAS?$AAT?$AAB@ -CONST SEGMENT -??_C@_1CK@GOOINIO@?$AAt?$AAg?$AAa?$AA_?$AAc?$AAo?$AAm?$AAp?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAS?$AAT?$AAB@ DB 't' - DB 00H, 'g', 00H, 'a', 00H, '_', 00H, 'c', 00H, 'o', 00H, 'm', 00H - DB 'p', 00H, ' ', 00H, '=', 00H, '=', 00H, ' ', 00H, 'S', 00H, 'T' - DB 00H, 'B', 00H, 'I', 00H, '_', 00H, 'r', 00H, 'g', 00H, 'b', 00H - DB 00H, 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0M@ILLOCNCO@bad?5palette@ -CONST SEGMENT -??_C@_0M@ILLOCNCO@bad?5palette@ DB 'bad palette', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0L@DMAPJJO@bad?5format@ -CONST SEGMENT -??_C@_0L@DMAPJJO@bad?5format@ DB 'bad format', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_09DAEBACAB@bad?5masks@ -CONST SEGMENT -??_C@_09DAEBACAB@bad?5masks@ DB 'bad masks', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_07JNJHIMGH@bad?5bpp@ -CONST SEGMENT -??_C@_07JNJHIMGH@bad?5bpp@ DB 'bad bpp', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_07MALOAKCI@invalid@ -CONST SEGMENT -??_C@_07MALOAKCI@invalid@ DB 'invalid', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0L@JDPIFELH@bad?5offset@ -CONST SEGMENT -??_C@_0L@JDPIFELH@bad?5offset@ DB 'bad offset', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0L@PJHPAMCH@bad?5header@ -CONST SEGMENT -??_C@_0L@PJHPAMCH@bad?5header@ DB 'bad header', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0N@ODCBCBFN@BMP?5JPEG?1PNG@ -CONST SEGMENT -??_C@_0N@ODCBCBFN@BMP?5JPEG?1PNG@ DB 'BMP JPEG/PNG', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_07IMHMNOIB@BMP?5RLE@ -CONST SEGMENT -??_C@_07IMHMNOIB@BMP?5RLE@ DB 'BMP RLE', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0M@KHBIBJBG@unknown?5BMP@ -CONST SEGMENT -??_C@_0M@KHBIBJBG@unknown?5BMP@ DB 'unknown BMP', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_07IEJCHBDI@bad?5BMP@ -CONST SEGMENT -??_C@_07IEJCHBDI@bad?5BMP@ DB 'bad BMP', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_07IANEBNLB@not?5BMP@ -CONST SEGMENT -??_C@_07IANEBNLB@not?5BMP@ DB 'not BMP', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_1CO@LIFEKNEP@?$AAb?$AAi?$AAt?$AAs?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAb?$AAi@ -CONST SEGMENT -??_C@_1CO@LIFEKNEP@?$AAb?$AAi?$AAt?$AAs?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAb?$AAi@ DB 'b' - DB 00H, 'i', 00H, 't', 00H, 's', 00H, ' ', 00H, '>', 00H, '=', 00H - DB ' ', 00H, '0', 00H, ' ', 00H, '&', 00H, '&', 00H, ' ', 00H, 'b' - DB 00H, 'i', 00H, 't', 00H, 's', 00H, ' ', 00H, '<', 00H, '=', 00H - DB ' ', 00H, '8', 00H, 00H, 00H ; `string' -CONST ENDS -; COMDAT ??_C@_1BA@EKLGALLJ@?$AAv?$AA?5?$AA?$DM?$AA?5?$AA2?$AA5?$AA6@ -CONST SEGMENT -??_C@_1BA@EKLGALLJ@?$AAv?$AA?5?$AA?$DM?$AA?5?$AA2?$AA5?$AA6@ DB 'v', 00H, ' ' - DB 00H, '<', 00H, ' ', 00H, '2', 00H, '5', 00H, '6', 00H, 00H, 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BF@NOEEEFMF@bad?5bits_per_channel@ -CONST SEGMENT -??_C@_0BF@NOEEEFMF@bad?5bits_per_channel@ DB 'bad bits_per_channel', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_07MLPECBNA@no?5IDAT@ -CONST SEGMENT -??_C@_07MLPECBNA@no?5IDAT@ DB 'no IDAT', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_09MNNCNKEO@outofdata@ -CONST SEGMENT -??_C@_09MNNCNKEO@outofdata@ DB 'outofdata', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BA@PLHGLONG@IDAT?5size?5limit@ -CONST SEGMENT -??_C@_0BA@PLHGLONG@IDAT?5size?5limit@ DB 'IDAT size limit', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_07CKIELOEH@no?5PLTE@ -CONST SEGMENT -??_C@_07CKIELOEH@no?5PLTE@ DB 'no PLTE', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BA@ENDPGCHB@tRNS?5with?5alpha@ -CONST SEGMENT -??_C@_0BA@ENDPGCHB@tRNS?5with?5alpha@ DB 'tRNS with alpha', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0N@KDLCCKCH@bad?5tRNS?5len@ -CONST SEGMENT -??_C@_0N@KDLCCKCH@bad?5tRNS?5len@ DB 'bad tRNS len', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BB@CEDNNLBG@tRNS?5before?5PLTE@ -CONST SEGMENT -??_C@_0BB@CEDNNLBG@tRNS?5before?5PLTE@ DB 'tRNS before PLTE', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BA@PCPJHDKJ@tRNS?5after?5IDAT@ -CONST SEGMENT -??_C@_0BA@PCPJHDKJ@tRNS?5after?5IDAT@ DB 'tRNS after IDAT', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0N@JCPAJAKB@invalid?5PLTE@ -CONST SEGMENT -??_C@_0N@JCPAJAKB@invalid?5PLTE@ DB 'invalid PLTE', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0P@JEAFOMAF@first?5not?5IHDR@ -CONST SEGMENT -??_C@_0P@JEAFOMAF@first?5not?5IHDR@ DB 'first not IHDR', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0O@FNFBHCOO@0?9pixel?5image@ -CONST SEGMENT -??_C@_0O@FNFBHCOO@0?9pixel?5image@ DB '0-pixel image', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BF@JCGDPBAA@bad?5interlace?5method@ -CONST SEGMENT -??_C@_0BF@JCGDPBAA@bad?5interlace?5method@ DB 'bad interlace method', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BC@GHLIKKMD@bad?5filter?5method@ -CONST SEGMENT -??_C@_0BC@GHLIKKMD@bad?5filter?5method@ DB 'bad filter method', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BA@MDMBDDFG@bad?5comp?5method@ -CONST SEGMENT -??_C@_0BA@MDMBDDFG@bad?5comp?5method@ DB 'bad comp method', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_09MBBNGCKB@bad?5ctype@ -CONST SEGMENT -??_C@_09MBBNGCKB@bad?5ctype@ DB 'bad ctype', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BE@EJHIPKNO@1?12?14?18?116?9bit?5only@ -CONST SEGMENT -??_C@_0BE@EJHIPKNO@1?12?14?18?116?9bit?5only@ DB '1/2/4/8/16-bit only', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0N@POJLKMKK@bad?5IHDR?5len@ -CONST SEGMENT -??_C@_0N@POJLKMKK@bad?5IHDR?5len@ DB 'bad IHDR len', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0O@KBHBNJOK@multiple?5IHDR@ -CONST SEGMENT -??_C@_0O@KBHBNJOK@multiple?5IHDR@ DB 'multiple IHDR', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_1CE@GKIDJEJM@?$AAs?$AA?9?$AA?$DO?$AAi?$AAm?$AAg?$AA_?$AAo?$AAu?$AAt?$AA_?$AAn?$AA?5?$AA?$DN?$AA?$DN@ -CONST SEGMENT -??_C@_1CE@GKIDJEJM@?$AAs?$AA?9?$AA?$DO?$AAi?$AAm?$AAg?$AA_?$AAo?$AAu?$AAt?$AA_?$AAn?$AA?5?$AA?$DN?$AA?$DN@ DB 's' - DB 00H, '-', 00H, '>', 00H, 'i', 00H, 'm', 00H, 'g', 00H, '_', 00H - DB 'o', 00H, 'u', 00H, 't', 00H, '_', 00H, 'n', 00H, ' ', 00H, '=' - DB 00H, '=', 00H, ' ', 00H, '4', 00H, 00H, 00H ; `string' -CONST ENDS -; COMDAT ??_C@_1DC@BMIDKOPK@?$AAo?$AAu?$AAt?$AA_?$AAn?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA2?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAo@ -CONST SEGMENT -??_C@_1DC@BMIDKOPK@?$AAo?$AAu?$AAt?$AA_?$AAn?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA2?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAo@ DB 'o' - DB 00H, 'u', 00H, 't', 00H, '_', 00H, 'n', 00H, ' ', 00H, '=', 00H - DB '=', 00H, ' ', 00H, '2', 00H, ' ', 00H, '|', 00H, '|', 00H, ' ' - DB 00H, 'o', 00H, 'u', 00H, 't', 00H, '_', 00H, 'n', 00H, ' ', 00H - DB '=', 00H, '=', 00H, ' ', 00H, '4', 00H, 00H, 00H ; `string' -CONST ENDS -; COMDAT ??_C@_1BG@FLOPDKAN@?$AAi?$AAm?$AAg?$AA_?$AAn?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA3@ -CONST SEGMENT -??_C@_1BG@FLOPDKAN@?$AAi?$AAm?$AAg?$AA_?$AAn?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA3@ DB 'i' - DB 00H, 'm', 00H, 'g', 00H, '_', 00H, 'n', 00H, ' ', 00H, '=', 00H - DB '=', 00H, ' ', 00H, '3', 00H, 00H, 00H ; `string' -CONST ENDS -; COMDAT ??_C@_1CG@MFAHHIFB@?$AAi?$AAm?$AAg?$AA_?$AAn?$AA?5?$AA?$CL?$AA?5?$AA1?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAo?$AAu@ -CONST SEGMENT -??_C@_1CG@MFAHHIFB@?$AAi?$AAm?$AAg?$AA_?$AAn?$AA?5?$AA?$CL?$AA?5?$AA1?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAo?$AAu@ DB 'i' - DB 00H, 'm', 00H, 'g', 00H, '_', 00H, 'n', 00H, ' ', 00H, '+', 00H - DB ' ', 00H, '1', 00H, ' ', 00H, '=', 00H, '=', 00H, ' ', 00H, 'o' - DB 00H, 'u', 00H, 't', 00H, '_', 00H, 'n', 00H, 00H, 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0O@MKGNGALN@invalid?5width@ -CONST SEGMENT -??_C@_0O@MKGNGALN@invalid?5width@ DB 'invalid width', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0P@FBBCPGMN@invalid?5filter@ -CONST SEGMENT -??_C@_0P@FBBCPGMN@invalid?5filter@ DB 'invalid filter', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BC@BHMPBBMG@not?5enough?5pixels@ -CONST SEGMENT -??_C@_0BC@BHMPBBMG@not?5enough?5pixels@ DB 'not enough pixels', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_1FG@LGPEHEPM@?$AAo?$AAu?$AAt?$AA_?$AAn?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAs?$AA?9?$AA?$DO?$AAi?$AAm?$AAg@ -CONST SEGMENT -??_C@_1FG@LGPEHEPM@?$AAo?$AAu?$AAt?$AA_?$AAn?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAs?$AA?9?$AA?$DO?$AAi?$AAm?$AAg@ DB 'o' - DB 00H, 'u', 00H, 't', 00H, '_', 00H, 'n', 00H, ' ', 00H, '=', 00H - DB '=', 00H, ' ', 00H, 's', 00H, '-', 00H, '>', 00H, 'i', 00H, 'm' - DB 00H, 'g', 00H, '_', 00H, 'n', 00H, ' ', 00H, '|', 00H, '|', 00H - DB ' ', 00H, 'o', 00H, 'u', 00H, 't', 00H, '_', 00H, 'n', 00H, ' ' - DB 00H, '=', 00H, '=', 00H, ' ', 00H, 's', 00H, '-', 00H, '>', 00H - DB 'i', 00H, 'm', 00H, 'g', 00H, '_', 00H, 'n', 00H, ' ', 00H, '+' - DB 00H, ' ', 00H, '1', 00H, 00H, 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0M@DMDNBACF@bad?5png?5sig@ -CONST SEGMENT -??_C@_0M@DMDNBACF@bad?5png?5sig@ DB 'bad png sig', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BA@MCNBDLPD@bad?5compression@ -CONST SEGMENT -??_C@_0BA@MCNBDLPD@bad?5compression@ DB 'bad compression', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0P@DOGMHEBI@no?5preset?5dict@ -CONST SEGMENT -??_C@_0P@DOGMHEBI@no?5preset?5dict@ DB 'no preset dict', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BA@OBKOPAFL@bad?5zlib?5header@ -CONST SEGMENT -??_C@_0BA@OBKOPAFL@bad?5zlib?5header@ DB 'bad zlib header', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BB@PIPBCKIA@read?5past?5buffer@ -CONST SEGMENT -??_C@_0BB@PIPBCKIA@read?5past?5buffer@ DB 'read past buffer', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0N@IECDHMDI@zlib?5corrupt@ -CONST SEGMENT -??_C@_0N@IECDHMDI@zlib?5corrupt@ DB 'zlib corrupt', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_08DIAPIMGJ@bad?5dist@ -CONST SEGMENT -??_C@_08DIAPIMGJ@bad?5dist@ DB 'bad dist', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BE@IBFIPFO@output?5buffer?5limit@ -CONST SEGMENT -??_C@_0BE@IBFIPFO@output?5buffer?5limit@ DB 'output buffer limit', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BA@MDNKOBMC@bad?5codelengths@ -CONST SEGMENT -??_C@_0BA@MDNKOBMC@bad?5codelengths@ DB 'bad codelengths', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_09EOHLEIKL@bad?5sizes@ -CONST SEGMENT -??_C@_09EOHLEIKL@bad?5sizes@ DB 'bad sizes', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_1BG@HKNLHECB@?$AAb?$AAi?$AAt?$AAs?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA1?$AA6@ -CONST SEGMENT -??_C@_1BG@HKNLHECB@?$AAb?$AAi?$AAt?$AAs?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA1?$AA6@ DB 'b' - DB 00H, 'i', 00H, 't', 00H, 's', 00H, ' ', 00H, '<', 00H, '=', 00H - DB ' ', 00H, '1', 00H, '6', 00H, 00H, 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0N@KBPNPPBJ@bad?5req_comp@ -CONST SEGMENT -??_C@_0N@KBPNPPBJ@bad?5req_comp@ DB 'bad req_comp', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0P@PNCLKCLJ@bad?5DNL?5height@ -CONST SEGMENT -??_C@_0P@PNCLKCLJ@bad?5DNL?5height@ DB 'bad DNL height', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0M@EPMOIECP@bad?5DNL?5len@ -CONST SEGMENT -??_C@_0M@EPMOIECP@bad?5DNL?5len@ DB 'bad DNL len', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_06IFCEAHIA@no?5SOF@ -CONST SEGMENT -??_C@_06IFCEAHIA@no?5SOF@ DB 'no SOF', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_06CLMBLEP@no?5SOI@ -CONST SEGMENT -??_C@_06CLMBLEP@no?5SOI@ DB 'no SOI', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_06LJIHDFHI@bad?5TQ@ -CONST SEGMENT -??_C@_06LJIHDFHI@bad?5TQ@ DB 'bad TQ', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_05MPLLHCJG@bad?5V@ -CONST SEGMENT -??_C@_05MPLLHCJG@bad?5V@ DB 'bad V', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_05BLPKENEJ@bad?5H@ -CONST SEGMENT -??_C@_05BLPKENEJ@bad?5H@ DB 'bad H', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BE@DAPHADHL@bad?5component?5count@ -CONST SEGMENT -??_C@_0BE@DAPHADHL@bad?5component?5count@ DB 'bad component count', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_09OJDLMMBJ@too?5large@ -CONST SEGMENT -??_C@_09OJDLMMBJ@too?5large@ DB 'too large', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_07BIDACDEF@0?5width@ -CONST SEGMENT -??_C@_07BIDACDEF@0?5width@ DB '0 width', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BB@LNEGOMA@no?5header?5height@ -CONST SEGMENT -??_C@_0BB@LNEGOMA@no?5header?5height@ DB 'no header height', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0L@BCINMEBJ@only?58?9bit@ -CONST SEGMENT -??_C@_0L@BCINMEBJ@only?58?9bit@ DB 'only 8-bit', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0M@DOFMJEMP@bad?5SOF?5len@ -CONST SEGMENT -??_C@_0M@DOFMJEMP@bad?5SOF?5len@ DB 'bad SOF len', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_07EEJOMGGP@bad?5SOS@ -CONST SEGMENT -??_C@_07EEJOMGGP@bad?5SOS@ DB 'bad SOS', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0M@JGMCBLGG@bad?5AC?5huff@ -CONST SEGMENT -??_C@_0M@JGMCBLGG@bad?5AC?5huff@ DB 'bad AC huff', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0M@NOCCBFAC@bad?5DC?5huff@ -CONST SEGMENT -??_C@_0M@NOCCBFAC@bad?5DC?5huff@ DB 'bad DC huff', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0M@GNEHAHOH@bad?5SOS?5len@ -CONST SEGMENT -??_C@_0M@GNEHAHOH@bad?5SOS?5len@ DB 'bad SOS len', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BI@DHFJCMBA@bad?5SOS?5component?5count@ -CONST SEGMENT -??_C@_0BI@DHFJCMBA@bad?5SOS?5component?5count@ DB 'bad SOS component coun' - DB 't', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0P@NNGPHMMK@unknown?5marker@ -CONST SEGMENT -??_C@_0P@NNGPHMMK@unknown?5marker@ DB 'unknown marker', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0M@EENLKPDI@bad?5APP?5len@ -CONST SEGMENT -??_C@_0M@EENLKPDI@bad?5APP?5len@ DB 'bad APP len', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0M@CICAFFCH@bad?5COM?5len@ -CONST SEGMENT -??_C@_0M@CICAFFCH@bad?5COM?5len@ DB 'bad COM len', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0P@JLGKOCGN@bad?5DHT?5header@ -CONST SEGMENT -??_C@_0P@JLGKOCGN@bad?5DHT?5header@ DB 'bad DHT header', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0O@CNHKKDIM@bad?5DQT?5table@ -CONST SEGMENT -??_C@_0O@CNHKKDIM@bad?5DQT?5table@ DB 'bad DQT table', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0N@BOFJCHAP@bad?5DQT?5type@ -CONST SEGMENT -??_C@_0N@BOFJCHAP@bad?5DQT?5type@ DB 'bad DQT type', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0M@LPHNODCG@bad?5DRI?5len@ -CONST SEGMENT -??_C@_0M@LPHNODCG@bad?5DRI?5len@ DB 'bad DRI len', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BA@KLNDOKJD@expected?5marker@ -CONST SEGMENT -??_C@_0BA@KLNDOKJD@expected?5marker@ DB 'expected marker', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BG@PJBJDAGM@can?8t?5merge?5dc?5and?5ac@ -CONST SEGMENT -??_C@_0BG@PJBJDAGM@can?8t?5merge?5dc?5and?5ac@ DB 'can''t merge dc and ac' - DB 00H ; `string' -CONST ENDS -; COMDAT ??_C@_09IFDKCGFO@bad?5delta@ -CONST SEGMENT -??_C@_09IFDKCGFO@bad?5delta@ DB 'bad delta', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BB@IIMLINA@bad?5huffman?5code@ -CONST SEGMENT -??_C@_0BB@IIMLINA@bad?5huffman?5code@ DB 'bad huffman code', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_1KE@JGKPJEBO@?$AA?$CI?$AA?$CI?$AA?$CI?$AAj?$AA?9?$AA?$DO?$AAc?$AAo?$AAd?$AAe?$AA_?$AAb?$AAu?$AAf?$AAf@ -CONST SEGMENT -??_C@_1KE@JGKPJEBO@?$AA?$CI?$AA?$CI?$AA?$CI?$AAj?$AA?9?$AA?$DO?$AAc?$AAo?$AAd?$AAe?$AA_?$AAb?$AAu?$AAf?$AAf@ DB '(' - DB 00H, '(', 00H, '(', 00H, 'j', 00H, '-', 00H, '>', 00H, 'c', 00H - DB 'o', 00H, 'd', 00H, 'e', 00H, '_', 00H, 'b', 00H, 'u', 00H, 'f' - DB 00H, 'f', 00H, 'e', 00H, 'r', 00H, ')', 00H, ' ', 00H, '>', 00H - DB '>', 00H, ' ', 00H, '(', 00H, '3', 00H, '2', 00H, ' ', 00H, '-' - DB 00H, ' ', 00H, 'h', 00H, '-', 00H, '>', 00H, 's', 00H, 'i', 00H - DB 'z', 00H, 'e', 00H, '[', 00H, 'c', 00H, ']', 00H, ')', 00H, ')' - DB 00H, ' ', 00H, '&', 00H, ' ', 00H, 's', 00H, 't', 00H, 'b', 00H - DB 'i', 00H, '_', 00H, '_', 00H, 'b', 00H, 'm', 00H, 'a', 00H, 's' - DB 00H, 'k', 00H, '[', 00H, 'h', 00H, '-', 00H, '>', 00H, 's', 00H - DB 'i', 00H, 'z', 00H, 'e', 00H, '[', 00H, 'c', 00H, ']', 00H, ']' - DB 00H, ')', 00H, ' ', 00H, '=', 00H, '=', 00H, ' ', 00H, 'h', 00H - DB '-', 00H, '>', 00H, 'c', 00H, 'o', 00H, 'd', 00H, 'e', 00H, '[' - DB 00H, 'c', 00H, ']', 00H, 00H, 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BB@FOKGPEKG@bad?5code?5lengths@ -CONST SEGMENT -??_C@_0BB@FOKGPEKG@bad?5code?5lengths@ DB 'bad code lengths', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0O@DEFOLMLB@bad?5size?5list@ -CONST SEGMENT -??_C@_0O@DEFOLMLB@bad?5size?5list@ DB 'bad size list', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0M@MHDBFHD@unsupported@ -CONST SEGMENT -??_C@_0M@MHDBFHD@unsupported@ DB 'unsupported', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_13COJANIEC@?$AA0@ -CONST SEGMENT -??_C@_13COJANIEC@?$AA0@ DB '0', 00H, 00H, 00H ; `string' -CONST ENDS -; COMDAT ??_C@_1DO@MABJBNAJ@?$AAr?$AAe?$AAq?$AA_?$AAc?$AAo?$AAm?$AAp?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA1?$AA?5?$AA?$CG@ -CONST SEGMENT -??_C@_1DO@MABJBNAJ@?$AAr?$AAe?$AAq?$AA_?$AAc?$AAo?$AAm?$AAp?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA1?$AA?5?$AA?$CG@ DB 'r' - DB 00H, 'e', 00H, 'q', 00H, '_', 00H, 'c', 00H, 'o', 00H, 'm', 00H - DB 'p', 00H, ' ', 00H, '>', 00H, '=', 00H, ' ', 00H, '1', 00H, ' ' - DB 00H, '&', 00H, '&', 00H, ' ', 00H, 'r', 00H, 'e', 00H, 'q', 00H - DB '_', 00H, 'c', 00H, 'o', 00H, 'm', 00H, 'p', 00H, ' ', 00H, '<' - DB 00H, '=', 00H, ' ', 00H, '4', 00H, 00H, 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0CB@DDANHPKI@can?8t?5fopen?0?5Unable?5to?5open?5fil@ -CONST SEGMENT -??_C@_0CB@DDANHPKI@can?8t?5fopen?0?5Unable?5to?5open?5fil@ DB 'can''t fop' - DB 'en, Unable to open file', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0M@JPDHFAGK@can?8t?5fopen@ -CONST SEGMENT -??_C@_0M@JPDHFAGK@can?8t?5fopen@ DB 'can''t fopen', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_02JDPG@rb@ -CONST SEGMENT -??_C@_02JDPG@rb@ DB 'rb', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_1GM@LFNCFCEN@?$AAr?$AAi?$AA?4?$AAb?$AAi?$AAt?$AAs?$AA_?$AAp?$AAe?$AAr?$AA_?$AAc?$AAh?$AAa@ -CONST SEGMENT -??_C@_1GM@LFNCFCEN@?$AAr?$AAi?$AA?4?$AAb?$AAi?$AAt?$AAs?$AA_?$AAp?$AAe?$AAr?$AA_?$AAc?$AAh?$AAa@ DB 'r' - DB 00H, 'i', 00H, '.', 00H, 'b', 00H, 'i', 00H, 't', 00H, 's', 00H - DB '_', 00H, 'p', 00H, 'e', 00H, 'r', 00H, '_', 00H, 'c', 00H, 'h' - DB 00H, 'a', 00H, 'n', 00H, 'n', 00H, 'e', 00H, 'l', 00H, ' ', 00H - DB '=', 00H, '=', 00H, ' ', 00H, '8', 00H, ' ', 00H, '|', 00H, '|' - DB 00H, ' ', 00H, 'r', 00H, 'i', 00H, '.', 00H, 'b', 00H, 'i', 00H - DB 't', 00H, 's', 00H, '_', 00H, 'p', 00H, 'e', 00H, 'r', 00H, '_' - DB 00H, 'c', 00H, 'h', 00H, 'a', 00H, 'n', 00H, 'n', 00H, 'e', 00H - DB 'l', 00H, ' ', 00H, '=', 00H, '=', 00H, ' ', 00H, '1', 00H, '6' - DB 00H, 00H, 00H ; `string' -CONST ENDS -; COMDAT ??_C@_1GG@PCNMFHPN@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ -CONST SEGMENT -??_C@_1GG@PCNMFHPN@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ DB 'D' - DB 00H, ':', 00H, '\', 00H, 'p', 00H, 'l', 00H, 'a', 00H, 't', 00H - DB 'f', 00H, 'o', 00H, 'r', 00H, 'm', 00H, '-', 00H, 'd', 00H, 'e' - DB 00H, 'v', 00H, '\', 00H, 'S', 00H, 't', 00H, 'g', 00H, 'S', 00H - DB 'h', 00H, 'a', 00H, 'r', 00H, 'p', 00H, '.', 00H, 'N', 00H, 'a' - DB 00H, 't', 00H, 'i', 00H, 'v', 00H, 'e', 00H, '\', 00H, 's', 00H - DB 'n', 00H, '-', 00H, 's', 00H, 'r', 00H, 'c', 00H, '\', 00H, 's' - DB 00H, 't', 00H, 'b', 00H, '_', 00H, 'i', 00H, 'm', 00H, 'a', 00H - DB 'g', 00H, 'e', 00H, '.', 00H, 'c', 00H, 00H, 00H ; `string' -CONST ENDS -; COMDAT ??_C@_08NOGIMCHF@outofmem@ -CONST SEGMENT -??_C@_08NOGIMCHF@outofmem@ DB 'outofmem', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BD@CBEDEJPH@unknown?5image?5type@ -CONST SEGMENT -??_C@_0BD@CBEDEJPH@unknown?5image?5type@ DB 'unknown image type', 00H ; `string' -CONST ENDS -_DATA SEGMENT -stbi__stdio_callbacks DQ FLAT:stbi__stdio_read - DQ FLAT:stbi__stdio_skip - DQ FLAT:stbi__stdio_eof -stbi__l2h_gamma DD 0400ccccdr ; 2.2 -stbi__l2h_scale DD 03f800000r ; 1 -stbi__h2l_gamma_i DD 03ee8ba2er ; 0.454545 -stbi__h2l_scale_i DD 03f800000r ; 1 -first_row_filter DB 00H - DB 01H - DB 00H - DB 05H - DB 06H - ORG $+3 -?invalid_chunk@?BP@??stbi__parse_png_file@@9@9 DB 'XXXX PNG chunk not kno' - DB 'wn', 00H ; `stbi__parse_png_file'::`31'::invalid_chunk - ORG $+7 -?mul_table@?1??stbi__shiftsigned@@9@9 DD 00H ; `stbi__shiftsigned'::`2'::mul_table - DD 0ffH - DD 055H - DD 049H - DD 011H - DD 021H - DD 041H - DD 081H - DD 01H - ORG $+4 -?shift_table@?1??stbi__shiftsigned@@9@9 DD 00H ; `stbi__shiftsigned'::`2'::shift_table - DD 00H - DD 00H - DD 01H - DD 00H - DD 02H - DD 04H - DD 06H - DD 00H -_DATA ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__is_16_main DD 025051301H - DD 010e2313H - DD 07007001dH - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__info_main DD 025052201H - DD 011d2322H - DD 07016001dH - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__pnm_getinteger DD 025051801H - DD 01132318H - DD 0700c0021H - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__pnm_isdigit DD 025051201H - DD 010d2312H - DD 07006001fH - DD 05005H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__pnm_skip_whitespace DD 025051801H - DD 01132318H - DD 0700c001dH - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__pnm_isspace DD 025051201H - DD 010d2312H - DD 07006001fH - DD 05005H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__hdr_convert DD 025051d01H - DD 0118231dH - DD 070110021H - DD 05010H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__hdr_gettoken DD 025051801H - DD 01132318H - DD 0700c0025H - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__hdr_test_core DD 025051801H - DD 01132318H - DD 0700c0021H - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__load_gif_main_outofmem DD 025051d01H - DD 0118231dH - DD 07011001fH - DD 05010H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__gif_load_next DD 025052201H - DD 011d2322H - DD 07016004dH - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__process_gif_raster DD 025051801H - DD 01132318H - DD 0700c0051H - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__out_gif_code DD 025051801H - DD 01132318H - DD 0700c0029H - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__gif_info_raw DD 025052201H - DD 011d2322H - DD 070160021H - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__gif_header DD 025052201H - DD 011d2322H - DD 070160021H - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__gif_parse_colortable DD 025052201H - DD 011d2322H - DD 070160021H - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__gif_test_raw DD 025051301H - DD 010e2313H - DD 070070021H - DD 05006H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 044H - DW 06f4H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__pic_load_core DD 025054b19H - DD 011c2321H - DD 070150083H - DD 05014H - DD imagerel __GSHandlerCheck - DD 0400H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__pic_load_core$rtcName$0 DB 070H - DB 061H - DB 063H - DB 06bH - DB 065H - DB 074H - DB 073H - DB 00H -stbi__pic_load_core$rtcName$1 DB 076H - DB 061H - DB 06cH - DB 075H - DB 065H - DB 00H - ORG $+2 -stbi__pic_load_core$rtcName$2 DB 076H - DB 061H - DB 06cH - DB 075H - DB 065H - DB 00H - ORG $+10 -stbi__pic_load_core$rtcVarDesc DD 0264H - DD 04H - DQ FLAT:stbi__pic_load_core$rtcName$2 - DD 01e4H - DD 04H - DQ FLAT:stbi__pic_load_core$rtcName$1 - DD 0a8H - DD 01eH - DQ FLAT:stbi__pic_load_core$rtcName$0 - ORG $+144 -stbi__pic_load_core$rtcFrameData DD 03H - DD 00H - DQ FLAT:stbi__pic_load_core$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__copyval DD 025051c01H - DD 0117231cH - DD 070100025H - DD 0500fH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__readval DD 025051c01H - DD 0117231cH - DD 070100025H - DD 0500fH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__pic_test_core DD 025051301H - DD 010e2313H - DD 070070021H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__pic_is4 DD 025051801H - DD 01132318H - DD 0700c0021H - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__psd_decode_rle DD 025051d01H - DD 0118231dH - DD 07011002dH - DD 05010H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__tga_read_rgb16 DD 025051801H - DD 01132318H - DD 0700c0031H - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__tga_get_comp DD 025051b01H - DD 0116231bH - DD 0700f001fH - DD 0500eH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__bmp_parse_header DD 025051801H - DD 01132318H - DD 0700c0029H - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__bmp_set_mask_defaults DD 025051701H - DD 01122317H - DD 0700b001dH - DD 0500aH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__shiftsigned DD 025051b01H - DD 0116231bH - DD 0700f001dH - DD 0500eH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__bitcount DD 025051201H - DD 010d2312H - DD 07006001dH - DD 05005H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__high_bit DD 025051201H - DD 010d2312H - DD 070060021H - DD 05005H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__bmp_test_raw DD 025051301H - DD 010e2313H - DD 070070025H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__png_info_raw DD 025052201H - DD 011d2322H - DD 07016001dH - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__do_png DD 035052201H - DD 011d3322H - DD 070160023H - DD 05015H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 03fH - DW 0ebdH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__parse_png_file DD 045054619H - DD 0117431cH - DD 070100143H - DD 0500fH - DD imagerel __GSHandlerCheck - DD 0a00H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__parse_png_file$rtcName$0 DB 070H - DB 061H - DB 06cH - DB 065H - DB 074H - DB 074H - DB 065H - DB 00H -stbi__parse_png_file$rtcName$1 DB 074H - DB 063H - DB 00H - ORG $+1 -stbi__parse_png_file$rtcName$2 DB 074H - DB 063H - DB 031H - DB 036H - DB 00H - ORG $+3 -stbi__parse_png_file$rtcName$3 DB 063H - DB 00H - ORG $+2 -stbi__parse_png_file$rtcName$4 DB 072H - DB 061H - DB 077H - DB 05fH - DB 06cH - DB 065H - DB 06eH - DB 00H -stbi__parse_png_file$rtcVarDesc DD 06c4H - DD 04H - DQ FLAT:stbi__parse_png_file$rtcName$4 - DD 0628H - DD 08H - DQ FLAT:stbi__parse_png_file$rtcName$3 - DD 04c4H - DD 06H - DQ FLAT:stbi__parse_png_file$rtcName$2 - DD 04a4H - DD 03H - DQ FLAT:stbi__parse_png_file$rtcName$1 - DD 050H - DD 0400H - DQ FLAT:stbi__parse_png_file$rtcName$0 - ORG $+240 -stbi__parse_png_file$rtcFrameData DD 05H - DD 00H - DQ FLAT:stbi__parse_png_file$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__de_iphone DD 025051301H - DD 010e2313H - DD 070070041H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__expand_png_palette DD 025052201H - DD 011d2322H - DD 070160039H - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__compute_transparency16 DD 025051d01H - DD 0118231dH - DD 07011002dH - DD 05010H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__compute_transparency DD 025051d01H - DD 0118231dH - DD 07011002dH - DD 05010H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__create_png_image DD 045053b01H - DD 011d4322H - DD 070160085H - DD 05015H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__create_png_image$rtcName$0 DB 078H - DB 06fH - DB 072H - DB 069H - DB 067H - DB 00H - ORG $+2 -stbi__create_png_image$rtcName$1 DB 079H - DB 06fH - DB 072H - DB 069H - DB 067H - DB 00H - ORG $+2 -stbi__create_png_image$rtcName$2 DB 078H - DB 073H - DB 070H - DB 063H - DB 00H - ORG $+3 -stbi__create_png_image$rtcName$3 DB 079H - DB 073H - DB 070H - DB 063H - DB 00H - ORG $+3 -stbi__create_png_image$rtcVarDesc DD 0188H - DD 01cH - DQ FLAT:stbi__create_png_image$rtcName$3 - DD 0148H - DD 01cH - DQ FLAT:stbi__create_png_image$rtcName$2 - DD 0108H - DD 01cH - DQ FLAT:stbi__create_png_image$rtcName$1 - DD 0c8H - DD 01cH - DQ FLAT:stbi__create_png_image$rtcName$0 - ORG $+192 -stbi__create_png_image$rtcFrameData DD 04H - DD 00H - DQ FLAT:stbi__create_png_image$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__create_png_image_raw DD 025052201H - DD 011d2322H - DD 07016008dH - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__paeth DD 025051b01H - DD 0116231bH - DD 0700f002dH - DD 0500eH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__check_png_header DD 025051301H - DD 010e2313H - DD 070070021H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__get_chunk_header DD 025052c01H - DD 010e2313H - DD 070070021H - DD 05006H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__get_chunk_header$rtcName$0 DB 063H - DB 00H - ORG $+14 -stbi__get_chunk_header$rtcVarDesc DD 028H - DD 08H - DQ FLAT:stbi__get_chunk_header$rtcName$0 - ORG $+48 -stbi__get_chunk_header$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi__get_chunk_header$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__do_zlib DD 025052201H - DD 011d2322H - DD 07016001dH - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__parse_zlib DD 025051701H - DD 01122317H - DD 0700b0025H - DD 0500aH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__parse_zlib_header DD 025051301H - DD 010e2313H - DD 070070029H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__parse_uncompressed_block DD 025052c01H - DD 010e2313H - DD 07007002dH - DD 05006H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__parse_uncompressed_block$rtcName$0 DB 068H - DB 065H - DB 061H - DB 064H - DB 065H - DB 072H - DB 00H - ORG $+9 -stbi__parse_uncompressed_block$rtcVarDesc DD 024H - DD 04H - DQ FLAT:stbi__parse_uncompressed_block$rtcName$0 - ORG $+48 -stbi__parse_uncompressed_block$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi__parse_uncompressed_block$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 03cH - DW 039cH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__compute_huffman_codes DD 025054319H - DD 01142319H - DD 070070201H - DD 05006H - DD imagerel __GSHandlerCheck - DD 0ff0H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__compute_huffman_codes$rtcName$0 DB 07aH - DB 05fH - DB 063H - DB 06fH - DB 064H - DB 065H - DB 06cH - DB 065H - DB 06eH - DB 067H - DB 074H - DB 068H - DB 00H - ORG $+3 -stbi__compute_huffman_codes$rtcName$1 DB 06cH - DB 065H - DB 06eH - DB 063H - DB 06fH - DB 064H - DB 065H - DB 073H - DB 00H - ORG $+7 -stbi__compute_huffman_codes$rtcName$2 DB 063H - DB 06fH - DB 064H - DB 065H - DB 06cH - DB 065H - DB 06eH - DB 067H - DB 074H - DB 068H - DB 05fH - DB 073H - DB 069H - DB 07aH - DB 065H - DB 073H - DB 00H - ORG $+15 -stbi__compute_huffman_codes$rtcVarDesc DD 0a28H - DD 013H - DQ FLAT:stbi__compute_huffman_codes$rtcName$2 - DD 0840H - DD 01c7H - DQ FLAT:stbi__compute_huffman_codes$rtcName$1 - DD 030H - DD 07e4H - DQ FLAT:stbi__compute_huffman_codes$rtcName$0 - ORG $+144 -stbi__compute_huffman_codes$rtcFrameData DD 03H - DD 00H - DQ FLAT:stbi__compute_huffman_codes$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__parse_huffman_block DD 025051301H - DD 010e2313H - DD 070070035H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__zexpand DD 025051d01H - DD 0118231dH - DD 07011002dH - DD 05010H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__zhuffman_decode DD 025051801H - DD 01132318H - DD 0700c0025H - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__zhuffman_decode_slowpath DD 025051801H - DD 01132318H - DD 0700c0029H - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__zreceive DD 025051701H - DD 01122317H - DD 0700b0021H - DD 0500aH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__fill_bits DD 025051301H - DD 010e2313H - DD 07007001fH - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__zget8 DD 025051301H - DD 010e2313H - DD 07007001fH - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__zeof DD 025051301H - DD 010e2313H - DD 07007001fH - DD 05006H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 040H - DW 03aaH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__zbuild_huffman DD 025054719H - DD 0118231dH - DD 070110053H - DD 05010H - DD imagerel __GSHandlerCheck - DD 0288H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__zbuild_huffman$rtcName$0 DB 06eH - DB 065H - DB 078H - DB 074H - DB 05fH - DB 063H - DB 06fH - DB 064H - DB 065H - DB 00H - ORG $+2 -stbi__zbuild_huffman$rtcName$1 DB 073H - DB 069H - DB 07aH - DB 065H - DB 073H - DB 00H - ORG $+14 -stbi__zbuild_huffman$rtcVarDesc DD 0f0H - DD 044H - DQ FLAT:stbi__zbuild_huffman$rtcName$1 - DD 090H - DD 040H - DQ FLAT:stbi__zbuild_huffman$rtcName$0 - ORG $+96 -stbi__zbuild_huffman$rtcFrameData DD 02H - DD 00H - DQ FLAT:stbi__zbuild_huffman$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__bit_reverse DD 025051601H - DD 01112316H - DD 0700a001dH - DD 05009H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__bitreverse16 DD 025051201H - DD 010d2312H - DD 07006001dH - DD 05005H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__jpeg_info_raw DD 025052201H - DD 011d2322H - DD 07016001fH - DD 05015H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 045H - DW 012c0H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$load_jpeg_image DD 035054c19H - DD 011d3322H - DD 0701600a9H - DD 05015H - DD imagerel __GSHandlerCheck - DD 0538H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -load_jpeg_image$rtcName$0 DB 063H - DB 06fH - DB 075H - DB 074H - DB 070H - DB 075H - DB 074H - DB 00H -load_jpeg_image$rtcName$1 DB 072H - DB 065H - DB 073H - DB 05fH - DB 063H - DB 06fH - DB 06dH - DB 070H - DB 00H - ORG $+15 -load_jpeg_image$rtcVarDesc DD 0160H - DD 0c0H - DQ FLAT:load_jpeg_image$rtcName$1 - DD 0118H - DD 020H - DQ FLAT:load_jpeg_image$rtcName$0 - ORG $+96 -load_jpeg_image$rtcFrameData DD 02H - DD 00H - DQ FLAT:load_jpeg_image$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__blinn_8x8 DD 025051601H - DD 01112316H - DD 0700a0021H - DD 05009H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__cleanup_jpeg DD 025051301H - DD 010e2313H - DD 07007001dH - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__setup_jpeg DD 025051301H - DD 010e2313H - DD 07007001dH - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__YCbCr_to_RGB_simd DD 025052201H - DD 011d2322H - DD 070160147H - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__YCbCr_to_RGB_row DD 025052201H - DD 011d2322H - DD 070160039H - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__resample_row_generic DD 025052201H - DD 011d2322H - DD 070160025H - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__resample_row_hv_2_simd DD 025052201H - DD 011d2322H - DD 0701600e9H - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__resample_row_hv_2 DD 025052201H - DD 011d2322H - DD 070160029H - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__resample_row_h_2 DD 025052201H - DD 011d2322H - DD 070160029H - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__resample_row_v_2 DD 025052201H - DD 011d2322H - DD 070160021H - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$resample_row_1 DD 025052201H - DD 011d2322H - DD 07016001dH - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__decode_jpeg_image DD 025051301H - DD 010e2313H - DD 070070029H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__skip_jpeg_junk_at_end DD 025051301H - DD 010e2313H - DD 070070021H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__decode_jpeg_header DD 025051701H - DD 01122317H - DD 0700b0021H - DD 0500aH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__process_frame_header DD 025051701H - DD 01122317H - DD 0700b003dH - DD 0500aH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__free_jpeg_components DD 025051c01H - DD 0117231cH - DD 070100021H - DD 0500fH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__process_scan_header DD 025051301H - DD 010e2313H - DD 070070035H - DD 05006H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 03aH - DW 075bH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__process_marker DD 025054119H - DD 01122317H - DD 0700b0081H - DD 0500aH - DD imagerel __GSHandlerCheck - DD 03f8H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__process_marker$rtcName$0 DB 073H - DB 069H - DB 07aH - DB 065H - DB 073H - DB 00H - ORG $+10 -stbi__process_marker$rtcVarDesc DD 0110H - DD 040H - DQ FLAT:stbi__process_marker$rtcName$0 - ORG $+48 -stbi__process_marker$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi__process_marker$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__jpeg_finish DD 025051301H - DD 010e2313H - DD 070070035H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__jpeg_dequantize DD 025051801H - DD 01132318H - DD 0700c0021H - DD 0500bH -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 036H - DW 0c93H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__parse_entropy_coded_data DD 045053d19H - DD 010e4313H - DD 0700700f5H - DD 05006H - DD imagerel __GSHandlerCheck - DD 0798H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__parse_entropy_coded_data$rtcName$0 DB 064H - DB 061H - DB 074H - DB 061H - DB 00H - ORG $+3 -stbi__parse_entropy_coded_data$rtcName$1 DB 064H - DB 061H - DB 074H - DB 061H - DB 00H - ORG $+3 -stbi__parse_entropy_coded_data$rtcVarDesc DD 0250H - DD 080H - DQ FLAT:stbi__parse_entropy_coded_data$rtcName$1 - DD 090H - DD 080H - DQ FLAT:stbi__parse_entropy_coded_data$rtcName$0 - ORG $+96 -stbi__parse_entropy_coded_data$rtcFrameData DD 02H - DD 00H - DQ FLAT:stbi__parse_entropy_coded_data$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__jpeg_reset DD 025051301H - DD 010e2313H - DD 07007001fH - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__get_marker DD 025051301H - DD 010e2313H - DD 070070021H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__idct_simd DD 025052201H - DD 011d2322H - DD 0701004afH - DD 0500fH -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 03fH - DW 0c5cH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__idct_block DD 025054619H - DD 0117231cH - DD 0701000edH - DD 0500fH - DD imagerel __GSHandlerCheck - DD 0758H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__idct_block$rtcName$0 DB 076H - DB 061H - DB 06cH - DB 00H - ORG $+12 -stbi__idct_block$rtcVarDesc DD 050H - DD 0100H - DQ FLAT:stbi__idct_block$rtcName$0 - ORG $+48 -stbi__idct_block$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi__idct_block$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__clamp DD 025051201H - DD 010d2312H - DD 07006001dH - DD 05005H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__jpeg_decode_block_prog_ac DD 025052201H - DD 011d2322H - DD 070160051H - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__jpeg_decode_block_prog_dc DD 025052201H - DD 011d2322H - DD 070160029H - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__jpeg_decode_block DD 025052201H - DD 011d2322H - DD 070160041H - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__jpeg_get_bit DD 025051301H - DD 010e2313H - DD 070070021H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__jpeg_get_bits DD 025051701H - DD 01122317H - DD 0700b0021H - DD 0500aH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__extend_receive DD 025051701H - DD 01122317H - DD 0700b0025H - DD 0500aH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__jpeg_huff_decode DD 025051801H - DD 01132318H - DD 0700c002dH - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__grow_buffer_unsafe DD 025051301H - DD 010e2313H - DD 070070025H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__build_fast_ac DD 025051801H - DD 01132318H - DD 0700c003dH - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__build_huffman DD 025051801H - DD 01132318H - DD 0700c0039H - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__convert_format16 DD 025052101H - DD 011c2321H - DD 070150031H - DD 05014H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__compute_y_16 DD 025051b01H - DD 0116231bH - DD 0700f001dH - DD 0500eH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__convert_format DD 025052101H - DD 011c2321H - DD 070150031H - DD 05014H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__compute_y DD 025051b01H - DD 0116231bH - DD 0700f001dH - DD 0500eH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__get32le DD 025051301H - DD 010e2313H - DD 070070021H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__get16le DD 025051301H - DD 010e2313H - DD 070070021H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__get32be DD 025051301H - DD 010e2313H - DD 070070021H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__get16be DD 025051301H - DD 010e2313H - DD 070070021H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__getn DD 025051d01H - DD 0118231dH - DD 070110029H - DD 05010H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__skip DD 025051701H - DD 01122317H - DD 0700b0021H - DD 0500aH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__at_eof DD 025051301H - DD 010e2313H - DD 07007001fH - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__get8 DD 025051301H - DD 010e2313H - DD 07007001fH - DD 05006H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 045H - DW 01a0H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__loadf_main DD 035054c19H - DD 011d3322H - DD 07016002fH - DD 05015H - DD imagerel __GSHandlerCheck - DD 0160H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__loadf_main$rtcName$0 DB 072H - DB 069H - DB 00H - ORG $+13 -stbi__loadf_main$rtcVarDesc DD 058H - DD 0cH - DQ FLAT:stbi__loadf_main$rtcName$0 - ORG $+48 -stbi__loadf_main$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi__loadf_main$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 03bH - DB 08dH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__fopen DD 025054219H - DD 01132318H - DD 0700c0021H - DD 0500bH - DD imagerel __GSHandlerCheck - DD 0f8H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__fopen$rtcName$0 DB 066H - DB 00H - ORG $+14 -stbi__fopen$rtcVarDesc DD 028H - DD 08H - DQ FLAT:stbi__fopen$rtcName$0 - ORG $+48 -stbi__fopen$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi__fopen$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__float_postprocess DD 025052201H - DD 011d2322H - DD 070160021H - DD 05015H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 045H - DW 01f3H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__load_and_postprocess_16bit DD 045054c19H - DD 011d4322H - DD 07016002fH - DD 05015H - DD imagerel __GSHandlerCheck - DD 0168H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__load_and_postprocess_16bit$rtcName$0 DB 072H - DB 069H - DB 00H - ORG $+13 -stbi__load_and_postprocess_16bit$rtcVarDesc DD 048H - DD 0cH - DQ FLAT:stbi__load_and_postprocess_16bit$rtcName$0 - ORG $+48 -stbi__load_and_postprocess_16bit$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi__load_and_postprocess_16bit$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 045H - DW 01edH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__load_and_postprocess_8bit DD 045054c19H - DD 011d4322H - DD 07016002fH - DD 05015H - DD imagerel __GSHandlerCheck - DD 0168H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__load_and_postprocess_8bit$rtcName$0 DB 072H - DB 069H - DB 00H - ORG $+13 -stbi__load_and_postprocess_8bit$rtcVarDesc DD 048H - DD 0cH - DQ FLAT:stbi__load_and_postprocess_8bit$rtcName$0 - ORG $+48 -stbi__load_and_postprocess_8bit$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi__load_and_postprocess_8bit$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__vertical_flip_slices DD 025052101H - DD 011c2321H - DD 070150029H - DD 05014H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 044H - DW 01eaH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__vertical_flip DD 025054b19H - DD 011c2321H - DD 07015019fH - DD 05014H - DD imagerel __GSHandlerCheck - DD 0ce0H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__vertical_flip$rtcName$0 DB 074H - DB 065H - DB 06dH - DB 070H - DB 00H - ORG $+11 -stbi__vertical_flip$rtcVarDesc DD 070H - DD 0800H - DQ FLAT:stbi__vertical_flip$rtcName$0 - ORG $+48 -stbi__vertical_flip$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi__vertical_flip$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__convert_8_to_16 DD 025052101H - DD 011c2321H - DD 070150029H - DD 05014H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__convert_16_to_8 DD 025052101H - DD 011c2321H - DD 070150029H - DD 05014H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__load_main DD 045052201H - DD 011d4322H - DD 070160025H - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__hdr_to_ldr DD 025052101H - DD 011c2321H - DD 070150035H - DD 05014H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__ldr_to_hdr DD 035052101H - DD 011c3321H - DD 07015002fH - DD 05014H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__mul2shorts_valid DD 025051801H - DD 01132318H - DD 0700c001fH - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__addints_valid DD 025051601H - DD 01112316H - DD 0700a001fH - DD 05009H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__malloc_mad4 DD 035052001H - DD 011b3320H - DD 07014001fH - DD 05013H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__malloc_mad3 DD 025052001H - DD 011b2320H - DD 07014001dH - DD 05013H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__malloc_mad2 DD 025051b01H - DD 0116231bH - DD 0700f001dH - DD 0500eH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__mad4sizes_valid DD 025052001H - DD 011b2320H - DD 07014001fH - DD 05013H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__mad3sizes_valid DD 025052001H - DD 011b2320H - DD 07014001fH - DD 05013H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__mad2sizes_valid DD 025051b01H - DD 0116231bH - DD 0700f001fH - DD 0500eH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__mul2sizes_valid DD 025051601H - DD 01112316H - DD 0700a001fH - DD 05009H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__addsizes_valid DD 025051601H - DD 01112316H - DD 0700a001fH - DD 05009H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__malloc DD 025051301H - DD 010e2313H - DD 07007001dH - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__err DD 025051301H - DD 010e2313H - DD 07007001dH - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__pnm_is16 DD 025051301H - DD 010e2313H - DD 07007001dH - DD 05006H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 045H - DW 0230H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__pnm_info DD 025054c19H - DD 011d2322H - DD 070160031H - DD 05015H - DD imagerel __GSHandlerCheck - DD 0178H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__pnm_info$rtcName$0 DB 064H - DB 075H - DB 06dH - DB 06dH - DB 079H - DB 00H - ORG $+2 -stbi__pnm_info$rtcName$1 DB 063H - DB 00H - ORG $+6 -stbi__pnm_info$rtcVarDesc DD 064H - DD 01H - DQ FLAT:stbi__pnm_info$rtcName$1 - DD 044H - DD 04H - DQ FLAT:stbi__pnm_info$rtcName$0 - ORG $+96 -stbi__pnm_info$rtcFrameData DD 02H - DD 00H - DQ FLAT:stbi__pnm_info$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__pnm_load DD 035052201H - DD 011d3322H - DD 070160023H - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__pnm_test DD 025051301H - DD 010e2313H - DD 070070025H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__gif_info DD 025052201H - DD 011d2322H - DD 07016001dH - DD 05015H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 04bH - DW 0452H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__load_gif_main DD 035055219H - DD 01233328H - DD 0701611ffH - DD 05015H - DD imagerel __GSHandlerCheck - DD 08fe0H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__load_gif_main$rtcName$0 DB 067H - DB 00H - ORG $+14 -stbi__load_gif_main$rtcVarDesc DD 0c0H - DD 08870H - DQ FLAT:stbi__load_gif_main$rtcName$0 - ORG $+48 -stbi__load_gif_main$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi__load_gif_main$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 04bH - DW 0152H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__gif_load DD 035055219H - DD 01233328H - DD 0701611ddH - DD 05015H - DD imagerel __GSHandlerCheck - DD 08ed8H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__gif_load$rtcName$0 DB 067H - DB 00H - ORG $+14 -stbi__gif_load$rtcVarDesc DD 060H - DD 08870H - DQ FLAT:stbi__gif_load$rtcName$0 - ORG $+48 -stbi__gif_load$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi__gif_load$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__gif_test DD 025051301H - DD 010e2313H - DD 070070021H - DD 05006H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 045H - DW 02aaH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__pic_info DD 025054c19H - DD 011d2322H - DD 070160039H - DD 05015H - DD imagerel __GSHandlerCheck - DD 01b8H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__pic_info$rtcName$0 DB 064H - DB 075H - DB 06dH - DB 06dH - DB 079H - DB 00H - ORG $+2 -stbi__pic_info$rtcName$1 DB 070H - DB 061H - DB 063H - DB 06bH - DB 065H - DB 074H - DB 073H - DB 00H -stbi__pic_info$rtcVarDesc DD 0a8H - DD 01eH - DQ FLAT:stbi__pic_info$rtcName$1 - DD 084H - DD 04H - DQ FLAT:stbi__pic_info$rtcName$0 - ORG $+96 -stbi__pic_info$rtcFrameData DD 02H - DD 00H - DQ FLAT:stbi__pic_info$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 045H - DW 0300H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__pic_load DD 035054c19H - DD 011d3322H - DD 070160035H - DD 05015H - DD imagerel __GSHandlerCheck - DD 0190H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__pic_load$rtcName$0 DB 069H - DB 06eH - DB 074H - DB 065H - DB 072H - DB 06eH - DB 061H - DB 06cH - DB 05fH - DB 063H - DB 06fH - DB 06dH - DB 070H - DB 00H - ORG $+2 -stbi__pic_load$rtcVarDesc DD 0b4H - DD 04H - DQ FLAT:stbi__pic_load$rtcName$0 - ORG $+48 -stbi__pic_load$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi__pic_load$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__pic_test DD 025051301H - DD 010e2313H - DD 070070021H - DD 05006H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 045H - DW 0267H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__hdr_info DD 025054c19H - DD 011d2322H - DD 0701600ddH - DD 05015H - DD imagerel __GSHandlerCheck - DD 06d8H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__hdr_info$rtcName$0 DB 062H - DB 075H - DB 066H - DB 066H - DB 065H - DB 072H - DB 00H - ORG $+1 -stbi__hdr_info$rtcName$1 DB 074H - DB 06fH - DB 06bH - DB 065H - DB 06eH - DB 00H - ORG $+2 -stbi__hdr_info$rtcName$2 DB 064H - DB 075H - DB 06dH - DB 06dH - DB 079H - DB 00H - ORG $+10 -stbi__hdr_info$rtcVarDesc DD 0484H - DD 04H - DQ FLAT:stbi__hdr_info$rtcName$2 - DD 0448H - DD 08H - DQ FLAT:stbi__hdr_info$rtcName$1 - DD 030H - DD 0400H - DQ FLAT:stbi__hdr_info$rtcName$0 - ORG $+144 -stbi__hdr_info$rtcFrameData DD 03H - DD 00H - DQ FLAT:stbi__hdr_info$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 045H - DW 0a45H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__hdr_load DD 035054c19H - DD 011d3322H - DD 070160139H - DD 05015H - DD imagerel __GSHandlerCheck - DD 09b0H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__hdr_load$rtcName$0 DB 062H - DB 075H - DB 066H - DB 066H - DB 065H - DB 072H - DB 00H - ORG $+1 -stbi__hdr_load$rtcName$1 DB 074H - DB 06fH - DB 06bH - DB 065H - DB 06eH - DB 00H - ORG $+2 -stbi__hdr_load$rtcName$2 DB 072H - DB 067H - DB 062H - DB 065H - DB 00H - ORG $+3 -stbi__hdr_load$rtcName$3 DB 072H - DB 067H - DB 062H - DB 065H - DB 00H - ORG $+3 -stbi__hdr_load$rtcVarDesc DD 0674H - DD 04H - DQ FLAT:stbi__hdr_load$rtcName$3 - DD 0654H - DD 04H - DQ FLAT:stbi__hdr_load$rtcName$2 - DD 0458H - DD 08H - DQ FLAT:stbi__hdr_load$rtcName$1 - DD 040H - DD 0400H - DQ FLAT:stbi__hdr_load$rtcName$0 - ORG $+192 -stbi__hdr_load$rtcFrameData DD 04H - DD 00H - DQ FLAT:stbi__hdr_load$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__hdr_test DD 025051301H - DD 010e2313H - DD 070070021H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__psd_is16 DD 025051301H - DD 010e2313H - DD 070070025H - DD 05006H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 045H - DW 01c5H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__psd_info DD 025054c19H - DD 011d2322H - DD 070160029H - DD 05015H - DD imagerel __GSHandlerCheck - DD 0138H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__psd_info$rtcName$0 DB 064H - DB 075H - DB 06dH - DB 06dH - DB 079H - DB 00H - ORG $+10 -stbi__psd_info$rtcVarDesc DD 044H - DD 04H - DQ FLAT:stbi__psd_info$rtcName$0 - ORG $+48 -stbi__psd_info$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi__psd_info$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__psd_load DD 035052201H - DD 011d3322H - DD 070160097H - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__psd_test DD 025051301H - DD 010e2313H - DD 070070021H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__tga_info DD 025052201H - DD 011d2322H - DD 07016003dH - DD 05015H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 045H - DW 0babH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__tga_load DD 035054c19H - DD 011d3322H - DD 0701600d5H - DD 05015H - DD imagerel __GSHandlerCheck - DD 0690H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__tga_load$rtcName$0 DB 074H - DB 067H - DB 061H - DB 05fH - DB 072H - DB 067H - DB 062H - DB 031H - DB 036H - DB 00H - ORG $+6 -stbi__tga_load$rtcName$1 DB 072H - DB 061H - DB 077H - DB 05fH - DB 064H - DB 061H - DB 074H - DB 061H - DB 00H - ORG $+7 -stbi__tga_load$rtcVarDesc DD 0294H - DD 04H - DQ FLAT:stbi__tga_load$rtcName$1 - DD 01d4H - DD 04H - DQ FLAT:stbi__tga_load$rtcName$0 - ORG $+96 -stbi__tga_load$rtcFrameData DD 02H - DD 00H - DQ FLAT:stbi__tga_load$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__tga_test DD 025051301H - DD 010e2313H - DD 070070029H - DD 05006H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 045H - DW 0136H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__bmp_info DD 025054c19H - DD 011d2322H - DD 070160029H - DD 05015H - DD imagerel __GSHandlerCheck - DD 0138H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__bmp_info$rtcName$0 DB 069H - DB 06eH - DB 066H - DB 06fH - DB 00H - ORG $+11 -stbi__bmp_info$rtcVarDesc DD 048H - DD 024H - DQ FLAT:stbi__bmp_info$rtcName$0 - ORG $+48 -stbi__bmp_info$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi__bmp_info$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 045H - DW 01328H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__bmp_load DD 035054c19H - DD 011d3322H - DD 0701601a9H - DD 05015H - DD imagerel __GSHandlerCheck - DD 0d30H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__bmp_load$rtcName$0 DB 070H - DB 061H - DB 06cH - DB 00H -stbi__bmp_load$rtcName$1 DB 069H - DB 06eH - DB 066H - DB 06fH - DB 00H - ORG $+7 -stbi__bmp_load$rtcVarDesc DD 05f8H - DD 024H - DQ FLAT:stbi__bmp_load$rtcName$1 - DD 0100H - DD 0400H - DQ FLAT:stbi__bmp_load$rtcName$0 - ORG $+96 -stbi__bmp_load$rtcFrameData DD 02H - DD 00H - DQ FLAT:stbi__bmp_load$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__bmp_test DD 025051301H - DD 010e2313H - DD 070070021H - DD 05006H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 036H - DB 09dH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__png_is16 DD 025053d19H - DD 010e2313H - DD 070070025H - DD 05006H - DD imagerel __GSHandlerCheck - DD 0118H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__png_is16$rtcName$0 DB 070H - DB 00H - ORG $+14 -stbi__png_is16$rtcVarDesc DD 028H - DD 028H - DQ FLAT:stbi__png_is16$rtcName$0 - ORG $+48 -stbi__png_is16$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi__png_is16$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 045H - DB 098H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__png_info DD 025054c19H - DD 011d2322H - DD 070160025H - DD 05015H - DD imagerel __GSHandlerCheck - DD 0118H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__png_info$rtcName$0 DB 070H - DB 00H - ORG $+14 -stbi__png_info$rtcVarDesc DD 028H - DD 028H - DQ FLAT:stbi__png_info$rtcName$0 - ORG $+48 -stbi__png_info$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi__png_info$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 045H - DB 0aeH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__png_load DD 035054c19H - DD 011d3322H - DD 070160027H - DD 05015H - DD imagerel __GSHandlerCheck - DD 0128H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__png_load$rtcName$0 DB 070H - DB 00H - ORG $+14 -stbi__png_load$rtcVarDesc DD 038H - DD 028H - DQ FLAT:stbi__png_load$rtcName$0 - ORG $+48 -stbi__png_load$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi__png_load$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__png_test DD 025051301H - DD 010e2313H - DD 070070021H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__jpeg_info DD 025052201H - DD 011d2322H - DD 070160025H - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__jpeg_load DD 035052201H - DD 011d3322H - DD 070160027H - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__jpeg_test DD 025051301H - DD 010e2313H - DD 070070025H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__rewind DD 025051301H - DD 010e2313H - DD 07007001dH - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__start_file DD 025051801H - DD 01132318H - DD 0700c001dH - DD 0500bH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__stdio_eof DD 025051301H - DD 010e2313H - DD 07007001fH - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__stdio_skip DD 025051701H - DD 01122317H - DD 0700b0021H - DD 0500aH -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__stdio_read DD 025051d01H - DD 0118231dH - DD 07011001dH - DD 05010H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__start_callbacks DD 025061e01H - DD 0119231eH - DD 07012001eH - DD 050106011H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__start_mem DD 025051d01H - DD 0118231dH - DD 07011001fH - DD 05010H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__refill_buffer DD 025051301H - DD 010e2313H - DD 070070021H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__sse2_available DD 025050f01H - DD 010a230fH - DD 070030021H - DD 05002H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 02bH - DB 07cH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi__cpuid3 DD 025063219H - DD 010b2310H - DD 070040022H - DD 050023003H - DD imagerel __GSHandlerCheck - DD 0108H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi__cpuid3$rtcName$0 DB 069H - DB 06eH - DB 066H - DB 06fH - DB 00H - ORG $+11 -stbi__cpuid3$rtcVarDesc DD 028H - DD 010H - DQ FLAT:stbi__cpuid3$rtcName$0 - ORG $+48 -stbi__cpuid3$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi__cpuid3$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 04aH - DB 0d4H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_zlib_decode_noheader_buffer DD 035055119H - DD 01223327H - DD 0701502cbH - DD 05014H - DD imagerel __GSHandlerCheck - DD 01648H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_zlib_decode_noheader_buffer$rtcName$0 DB 061H - DB 00H - ORG $+14 -stbi_zlib_decode_noheader_buffer$rtcVarDesc DD 040H - DD 01000H - DQ FLAT:stbi_zlib_decode_noheader_buffer$rtcName$0 - ORG $+48 -stbi_zlib_decode_noheader_buffer$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_zlib_decode_noheader_buffer$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 045H - DW 0112H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_zlib_decode_noheader_malloc DD 035054c19H - DD 011d3322H - DD 0701002cfH - DD 0500fH - DD imagerel __GSHandlerCheck - DD 01668H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_zlib_decode_noheader_malloc$rtcName$0 DB 061H - DB 00H - ORG $+14 -stbi_zlib_decode_noheader_malloc$rtcVarDesc DD 040H - DD 01000H - DQ FLAT:stbi_zlib_decode_noheader_malloc$rtcName$0 - ORG $+48 -stbi_zlib_decode_noheader_malloc$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_zlib_decode_noheader_malloc$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 04aH - DB 0d4H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_zlib_decode_buffer DD 035055119H - DD 01223327H - DD 0701502cbH - DD 05014H - DD imagerel __GSHandlerCheck - DD 01648H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_zlib_decode_buffer$rtcName$0 DB 061H - DB 00H - ORG $+14 -stbi_zlib_decode_buffer$rtcVarDesc DD 040H - DD 01000H - DQ FLAT:stbi_zlib_decode_buffer$rtcName$0 - ORG $+48 -stbi_zlib_decode_buffer$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_zlib_decode_buffer$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_zlib_decode_malloc DD 025051c01H - DD 0117231cH - DD 07010001dH - DD 0500fH -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 04aH - DW 011fH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_zlib_decode_malloc_guesssize_headerflag DD 035055119H - DD 01223327H - DD 0701502cfH - DD 05014H - DD imagerel __GSHandlerCheck - DD 01668H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_zlib_decode_malloc_guesssize_headerflag$rtcName$0 DB 061H - DB 00H - ORG $+14 -stbi_zlib_decode_malloc_guesssize_headerflag$rtcVarDesc DD 040H - DD 01000H - DQ FLAT:stbi_zlib_decode_malloc_guesssize_headerflag$rtcName$0 - ORG $+48 -stbi_zlib_decode_malloc_guesssize_headerflag$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_zlib_decode_malloc_guesssize_headerflag$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 04aH - DW 011dH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_zlib_decode_malloc_guesssize DD 035055119H - DD 01223327H - DD 0701502cfH - DD 05014H - DD imagerel __GSHandlerCheck - DD 01668H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_zlib_decode_malloc_guesssize$rtcName$0 DB 061H - DB 00H - ORG $+14 -stbi_zlib_decode_malloc_guesssize$rtcVarDesc DD 040H - DD 01000H - DQ FLAT:stbi_zlib_decode_malloc_guesssize$rtcName$0 - ORG $+48 -stbi_zlib_decode_malloc_guesssize$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_zlib_decode_malloc_guesssize$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_set_flip_vertically_on_load_thread DD 025051201H - DD 010d2312H - DD 07006001dH - DD 05005H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_convert_iphone_png_to_rgb_thread DD 025051201H - DD 010d2312H - DD 07006001dH - DD 05005H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_set_unpremultiply_on_load_thread DD 025051201H - DD 010d2312H - DD 07006001dH - DD 05005H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_set_flip_vertically_on_load DD 025051201H - DD 010d2312H - DD 07006001dH - DD 05005H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_convert_iphone_png_to_rgb DD 025051201H - DD 010d2312H - DD 07006001dH - DD 05005H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_set_unpremultiply_on_load DD 025051201H - DD 010d2312H - DD 07006001dH - DD 05005H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 036H - DB 0a8H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_is_16_bit_from_file DD 025053d19H - DD 010e2313H - DD 070070045H - DD 05006H - DD imagerel __GSHandlerCheck - DD 0218H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_is_16_bit_from_file$rtcName$0 DB 073H - DB 00H - ORG $+14 -stbi_is_16_bit_from_file$rtcVarDesc DD 050H - DD 0e0H - DQ FLAT:stbi_is_16_bit_from_file$rtcName$0 - ORG $+48 -stbi_is_16_bit_from_file$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_is_16_bit_from_file$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_is_16_bit DD 025051301H - DD 010e2313H - DD 070070025H - DD 05006H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 045H - DB 0ccH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_info_from_file DD 025054c19H - DD 011d2322H - DD 070160045H - DD 05015H - DD imagerel __GSHandlerCheck - DD 0218H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_info_from_file$rtcName$0 DB 073H - DB 00H - ORG $+14 -stbi_info_from_file$rtcVarDesc DD 050H - DD 0e0H - DQ FLAT:stbi_info_from_file$rtcName$0 - ORG $+48 -stbi_info_from_file$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_info_from_file$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_info DD 025052201H - DD 011d2322H - DD 070160025H - DD 05015H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 03bH - DB 086H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_is_16_bit_from_callbacks DD 025054219H - DD 01132318H - DD 0700c003dH - DD 0500bH - DD imagerel __GSHandlerCheck - DD 01d8H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_is_16_bit_from_callbacks$rtcName$0 DB 073H - DB 00H - ORG $+14 -stbi_is_16_bit_from_callbacks$rtcVarDesc DD 030H - DD 0e0H - DQ FLAT:stbi_is_16_bit_from_callbacks$rtcName$0 - ORG $+48 -stbi_is_16_bit_from_callbacks$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_is_16_bit_from_callbacks$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 03aH - DB 085H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_is_16_bit_from_memory DD 025054119H - DD 01122317H - DD 0700b003dH - DD 0500aH - DD imagerel __GSHandlerCheck - DD 01d8H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_is_16_bit_from_memory$rtcName$0 DB 073H - DB 00H - ORG $+14 -stbi_is_16_bit_from_memory$rtcVarDesc DD 030H - DD 0e0H - DQ FLAT:stbi_is_16_bit_from_memory$rtcName$0 - ORG $+48 -stbi_is_16_bit_from_memory$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_is_16_bit_from_memory$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 045H - DB 0a5H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_info_from_callbacks DD 025054c19H - DD 011d2322H - DD 07016003dH - DD 05015H - DD imagerel __GSHandlerCheck - DD 01d8H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_info_from_callbacks$rtcName$0 DB 073H - DB 00H - ORG $+14 -stbi_info_from_callbacks$rtcVarDesc DD 030H - DD 0e0H - DQ FLAT:stbi_info_from_callbacks$rtcName$0 - ORG $+48 -stbi_info_from_callbacks$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_info_from_callbacks$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 044H - DB 0a4H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_info_from_memory DD 025054b19H - DD 011c2321H - DD 07015003dH - DD 05014H - DD imagerel __GSHandlerCheck - DD 01d8H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_info_from_memory$rtcName$0 DB 073H - DB 00H - ORG $+14 -stbi_info_from_memory$rtcVarDesc DD 030H - DD 0e0H - DQ FLAT:stbi_info_from_memory$rtcName$0 - ORG $+48 -stbi_info_from_memory$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_info_from_memory$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_image_free DD 025051301H - DD 010e2313H - DD 07007001dH - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_failure_reason DD 025050f01H - DD 010a230fH - DD 07003001dH - DD 05002H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 036H - DB 0a2H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_is_hdr_from_file DD 025053d19H - DD 010e2313H - DD 070070045H - DD 05006H - DD imagerel __GSHandlerCheck - DD 0218H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_is_hdr_from_file$rtcName$0 DB 073H - DB 00H - ORG $+14 -stbi_is_hdr_from_file$rtcVarDesc DD 070H - DD 0e0H - DQ FLAT:stbi_is_hdr_from_file$rtcName$0 - ORG $+48 -stbi_is_hdr_from_file$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_is_hdr_from_file$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_is_hdr DD 025051301H - DD 010e2313H - DD 070070025H - DD 05006H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 03aH - DB 085H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_is_hdr_from_memory DD 025054119H - DD 01122317H - DD 0700b003dH - DD 0500aH - DD imagerel __GSHandlerCheck - DD 01d8H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_is_hdr_from_memory$rtcName$0 DB 073H - DB 00H - ORG $+14 -stbi_is_hdr_from_memory$rtcVarDesc DD 030H - DD 0e0H - DQ FLAT:stbi_is_hdr_from_memory$rtcName$0 - ORG $+48 -stbi_is_hdr_from_memory$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_is_hdr_from_memory$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 03bH - DB 086H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_is_hdr_from_callbacks DD 025054219H - DD 01132318H - DD 0700c003dH - DD 0500bH - DD imagerel __GSHandlerCheck - DD 01d8H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_is_hdr_from_callbacks$rtcName$0 DB 073H - DB 00H - ORG $+14 -stbi_is_hdr_from_callbacks$rtcVarDesc DD 030H - DD 0e0H - DQ FLAT:stbi_is_hdr_from_callbacks$rtcName$0 - ORG $+48 -stbi_is_hdr_from_callbacks$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_is_hdr_from_callbacks$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_ldr_to_hdr_scale DD 025051401H - DD 010f2314H - DD 07008001dH - DD 05007H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_ldr_to_hdr_gamma DD 025051401H - DD 010f2314H - DD 07008001dH - DD 05007H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_hdr_to_ldr_scale DD 025051401H - DD 010f2314H - DD 07008001dH - DD 05007H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_hdr_to_ldr_gamma DD 025051401H - DD 010f2314H - DD 07008001dH - DD 05007H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 045H - DB 0a8H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_loadf_from_file DD 035054c19H - DD 011d3322H - DD 07016003fH - DD 05015H - DD imagerel __GSHandlerCheck - DD 01e8H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_loadf_from_file$rtcName$0 DB 073H - DB 00H - ORG $+14 -stbi_loadf_from_file$rtcVarDesc DD 040H - DD 0e0H - DQ FLAT:stbi_loadf_from_file$rtcName$0 - ORG $+48 -stbi_loadf_from_file$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_loadf_from_file$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_loadf DD 035052201H - DD 011d3322H - DD 070160027H - DD 05015H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 045H - DB 0afH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_loadf_from_callbacks DD 035054c19H - DD 011d3322H - DD 07016003fH - DD 05015H - DD imagerel __GSHandlerCheck - DD 01e8H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_loadf_from_callbacks$rtcName$0 DB 073H - DB 00H - ORG $+14 -stbi_loadf_from_callbacks$rtcVarDesc DD 040H - DD 0e0H - DQ FLAT:stbi_loadf_from_callbacks$rtcName$0 - ORG $+48 -stbi_loadf_from_callbacks$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_loadf_from_callbacks$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 044H - DB 0aeH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_loadf_from_memory DD 035054b19H - DD 011c3321H - DD 07015003fH - DD 05014H - DD imagerel __GSHandlerCheck - DD 01e8H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_loadf_from_memory$rtcName$0 DB 073H - DB 00H - ORG $+14 -stbi_loadf_from_memory$rtcVarDesc DD 040H - DD 0e0H - DQ FLAT:stbi_loadf_from_memory$rtcName$0 - ORG $+48 -stbi_loadf_from_memory$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_loadf_from_memory$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 045H - DB 0e3H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_load_from_file_16 DD 035054c19H - DD 011d3322H - DD 070160043H - DD 05015H - DD imagerel __GSHandlerCheck - DD 0208H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_load_from_file_16$rtcName$0 DB 073H - DB 00H - ORG $+14 -stbi_load_from_file_16$rtcVarDesc DD 060H - DD 0e0H - DQ FLAT:stbi_load_from_file_16$rtcName$0 - ORG $+48 -stbi_load_from_file_16$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_load_from_file_16$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_load_16 DD 035052201H - DD 011d3322H - DD 070160027H - DD 05015H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 045H - DB 0afH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_load_16_from_callbacks DD 035054c19H - DD 011d3322H - DD 07016003fH - DD 05015H - DD imagerel __GSHandlerCheck - DD 01e8H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_load_16_from_callbacks$rtcName$0 DB 073H - DB 00H - ORG $+14 -stbi_load_16_from_callbacks$rtcVarDesc DD 040H - DD 0e0H - DQ FLAT:stbi_load_16_from_callbacks$rtcName$0 - ORG $+48 -stbi_load_16_from_callbacks$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_load_16_from_callbacks$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 044H - DB 0aeH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_load_16_from_memory DD 035054b19H - DD 011c3321H - DD 07015003fH - DD 05014H - DD imagerel __GSHandlerCheck - DD 01e8H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_load_16_from_memory$rtcName$0 DB 073H - DB 00H - ORG $+14 -stbi_load_16_from_memory$rtcVarDesc DD 040H - DD 0e0H - DQ FLAT:stbi_load_16_from_memory$rtcName$0 - ORG $+48 -stbi_load_16_from_memory$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_load_16_from_memory$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 044H - DW 015cH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_load_gif_from_memory DD 045054b19H - DD 011c4321H - DD 070150045H - DD 05014H - DD imagerel __GSHandlerCheck - DD 0218H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_load_gif_from_memory$rtcName$0 DB 073H - DB 00H - ORG $+14 -stbi_load_gif_from_memory$rtcVarDesc DD 070H - DD 0e0H - DQ FLAT:stbi_load_gif_from_memory$rtcName$0 - ORG $+48 -stbi_load_gif_from_memory$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_load_gif_from_memory$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 045H - DB 0e3H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_load_from_file DD 035054c19H - DD 011d3322H - DD 070160043H - DD 05015H - DD imagerel __GSHandlerCheck - DD 0208H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_load_from_file$rtcName$0 DB 073H - DB 00H - ORG $+14 -stbi_load_from_file$rtcVarDesc DD 060H - DD 0e0H - DQ FLAT:stbi_load_from_file$rtcName$0 - ORG $+48 -stbi_load_from_file$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_load_from_file$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_load_to_target DD 035052201H - DD 011d3322H - DD 070160027H - DD 05015H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_load DD 035052201H - DD 011d3322H - DD 070160027H - DD 05015H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 045H - DB 0afH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_load_from_callbacks DD 035054c19H - DD 011d3322H - DD 07016003fH - DD 05015H - DD imagerel __GSHandlerCheck - DD 01e8H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_load_from_callbacks$rtcName$0 DB 073H - DB 00H - ORG $+14 -stbi_load_from_callbacks$rtcVarDesc DD 040H - DD 0e0H - DQ FLAT:stbi_load_from_callbacks$rtcName$0 - ORG $+48 -stbi_load_from_callbacks$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_load_from_callbacks$rtcVarDesc -CONST ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 044H - DB 0aeH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$stbi_load_from_memory DD 035054b19H - DD 011c3321H - DD 07015003fH - DD 05014H - DD imagerel __GSHandlerCheck - DD 01e8H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -stbi_load_from_memory$rtcName$0 DB 073H - DB 00H - ORG $+14 -stbi_load_from_memory$rtcVarDesc DD 040H - DD 0e0H - DQ FLAT:stbi_load_from_memory$rtcName$0 - ORG $+48 -stbi_load_from_memory$rtcFrameData DD 01H - DD 00H - DQ FLAT:stbi_load_from_memory$rtcVarDesc -CONST ENDS -; Function compile flags: /Odt -; COMDAT __JustMyCode_Default -_TEXT SEGMENT -__JustMyCode_Default PROC ; COMDAT - 00000 c2 00 00 ret 0 -__JustMyCode_Default ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__is_16_main -_TEXT SEGMENT -s$ = 224 -stbi__is_16_main PROC ; COMDAT - -; 8159 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 8160 : #ifndef STBI_NO_PNG -; 8161 : if (stbi__png_is16(s)) - - 00020 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00027 e8 00 00 00 00 call stbi__png_is16 - 0002c 85 c0 test eax, eax - 0002e 74 07 je SHORT $LN2@stbi__is_1 - -; 8162 : return 1; - - 00030 b8 01 00 00 00 mov eax, 1 - 00035 eb 30 jmp SHORT $LN1@stbi__is_1 -$LN2@stbi__is_1: - -; 8163 : #endif -; 8164 : -; 8165 : #ifndef STBI_NO_PSD -; 8166 : if (stbi__psd_is16(s)) - - 00037 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0003e e8 00 00 00 00 call stbi__psd_is16 - 00043 85 c0 test eax, eax - 00045 74 07 je SHORT $LN3@stbi__is_1 - -; 8167 : return 1; - - 00047 b8 01 00 00 00 mov eax, 1 - 0004c eb 19 jmp SHORT $LN1@stbi__is_1 -$LN3@stbi__is_1: - -; 8168 : #endif -; 8169 : -; 8170 : #ifndef STBI_NO_PNM -; 8171 : if (stbi__pnm_is16(s)) - - 0004e 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00055 e8 00 00 00 00 call stbi__pnm_is16 - 0005a 85 c0 test eax, eax - 0005c 74 07 je SHORT $LN4@stbi__is_1 - -; 8172 : return 1; - - 0005e b8 01 00 00 00 mov eax, 1 - 00063 eb 02 jmp SHORT $LN1@stbi__is_1 -$LN4@stbi__is_1: - -; 8173 : #endif -; 8174 : return 0; - - 00065 33 c0 xor eax, eax -$LN1@stbi__is_1: - -; 8175 : } - - 00067 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 0006e 5f pop rdi - 0006f 5d pop rbp - 00070 c3 ret 0 -stbi__is_16_main ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__info_main -_TEXT SEGMENT -s$ = 224 -x$ = 232 -y$ = 240 -comp$ = 248 -stbi__info_main PROC ; COMDAT - -; 8109 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 8110 : #ifndef STBI_NO_JPEG -; 8111 : if (stbi__jpeg_info(s, x, y, comp)) - - 0002f 4c 8b 8d f8 00 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00036 4c 8b 85 f0 00 - 00 00 mov r8, QWORD PTR y$[rbp] - 0003d 48 8b 95 e8 00 - 00 00 mov rdx, QWORD PTR x$[rbp] - 00044 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0004b e8 00 00 00 00 call stbi__jpeg_info - 00050 85 c0 test eax, eax - 00052 74 0a je SHORT $LN2@stbi__info - -; 8112 : return 1; - - 00054 b8 01 00 00 00 mov eax, 1 - 00059 e9 7b 01 00 00 jmp $LN1@stbi__info -$LN2@stbi__info: - -; 8113 : #endif -; 8114 : -; 8115 : #ifndef STBI_NO_PNG -; 8116 : if (stbi__png_info(s, x, y, comp)) - - 0005e 4c 8b 8d f8 00 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00065 4c 8b 85 f0 00 - 00 00 mov r8, QWORD PTR y$[rbp] - 0006c 48 8b 95 e8 00 - 00 00 mov rdx, QWORD PTR x$[rbp] - 00073 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0007a e8 00 00 00 00 call stbi__png_info - 0007f 85 c0 test eax, eax - 00081 74 0a je SHORT $LN3@stbi__info - -; 8117 : return 1; - - 00083 b8 01 00 00 00 mov eax, 1 - 00088 e9 4c 01 00 00 jmp $LN1@stbi__info -$LN3@stbi__info: - -; 8118 : #endif -; 8119 : -; 8120 : #ifndef STBI_NO_GIF -; 8121 : if (stbi__gif_info(s, x, y, comp)) - - 0008d 4c 8b 8d f8 00 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00094 4c 8b 85 f0 00 - 00 00 mov r8, QWORD PTR y$[rbp] - 0009b 48 8b 95 e8 00 - 00 00 mov rdx, QWORD PTR x$[rbp] - 000a2 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000a9 e8 00 00 00 00 call stbi__gif_info - 000ae 85 c0 test eax, eax - 000b0 74 0a je SHORT $LN4@stbi__info - -; 8122 : return 1; - - 000b2 b8 01 00 00 00 mov eax, 1 - 000b7 e9 1d 01 00 00 jmp $LN1@stbi__info -$LN4@stbi__info: - -; 8123 : #endif -; 8124 : -; 8125 : #ifndef STBI_NO_BMP -; 8126 : if (stbi__bmp_info(s, x, y, comp)) - - 000bc 4c 8b 8d f8 00 - 00 00 mov r9, QWORD PTR comp$[rbp] - 000c3 4c 8b 85 f0 00 - 00 00 mov r8, QWORD PTR y$[rbp] - 000ca 48 8b 95 e8 00 - 00 00 mov rdx, QWORD PTR x$[rbp] - 000d1 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000d8 e8 00 00 00 00 call stbi__bmp_info - 000dd 85 c0 test eax, eax - 000df 74 0a je SHORT $LN5@stbi__info - -; 8127 : return 1; - - 000e1 b8 01 00 00 00 mov eax, 1 - 000e6 e9 ee 00 00 00 jmp $LN1@stbi__info -$LN5@stbi__info: - -; 8128 : #endif -; 8129 : -; 8130 : #ifndef STBI_NO_PSD -; 8131 : if (stbi__psd_info(s, x, y, comp)) - - 000eb 4c 8b 8d f8 00 - 00 00 mov r9, QWORD PTR comp$[rbp] - 000f2 4c 8b 85 f0 00 - 00 00 mov r8, QWORD PTR y$[rbp] - 000f9 48 8b 95 e8 00 - 00 00 mov rdx, QWORD PTR x$[rbp] - 00100 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00107 e8 00 00 00 00 call stbi__psd_info - 0010c 85 c0 test eax, eax - 0010e 74 0a je SHORT $LN6@stbi__info - -; 8132 : return 1; - - 00110 b8 01 00 00 00 mov eax, 1 - 00115 e9 bf 00 00 00 jmp $LN1@stbi__info -$LN6@stbi__info: - -; 8133 : #endif -; 8134 : -; 8135 : #ifndef STBI_NO_PIC -; 8136 : if (stbi__pic_info(s, x, y, comp)) - - 0011a 4c 8b 8d f8 00 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00121 4c 8b 85 f0 00 - 00 00 mov r8, QWORD PTR y$[rbp] - 00128 48 8b 95 e8 00 - 00 00 mov rdx, QWORD PTR x$[rbp] - 0012f 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00136 e8 00 00 00 00 call stbi__pic_info - 0013b 85 c0 test eax, eax - 0013d 74 0a je SHORT $LN7@stbi__info - -; 8137 : return 1; - - 0013f b8 01 00 00 00 mov eax, 1 - 00144 e9 90 00 00 00 jmp $LN1@stbi__info -$LN7@stbi__info: - -; 8138 : #endif -; 8139 : -; 8140 : #ifndef STBI_NO_PNM -; 8141 : if (stbi__pnm_info(s, x, y, comp)) - - 00149 4c 8b 8d f8 00 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00150 4c 8b 85 f0 00 - 00 00 mov r8, QWORD PTR y$[rbp] - 00157 48 8b 95 e8 00 - 00 00 mov rdx, QWORD PTR x$[rbp] - 0015e 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00165 e8 00 00 00 00 call stbi__pnm_info - 0016a 85 c0 test eax, eax - 0016c 74 07 je SHORT $LN8@stbi__info - -; 8142 : return 1; - - 0016e b8 01 00 00 00 mov eax, 1 - 00173 eb 64 jmp SHORT $LN1@stbi__info -$LN8@stbi__info: - -; 8143 : #endif -; 8144 : -; 8145 : #ifndef STBI_NO_HDR -; 8146 : if (stbi__hdr_info(s, x, y, comp)) - - 00175 4c 8b 8d f8 00 - 00 00 mov r9, QWORD PTR comp$[rbp] - 0017c 4c 8b 85 f0 00 - 00 00 mov r8, QWORD PTR y$[rbp] - 00183 48 8b 95 e8 00 - 00 00 mov rdx, QWORD PTR x$[rbp] - 0018a 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00191 e8 00 00 00 00 call stbi__hdr_info - 00196 85 c0 test eax, eax - 00198 74 07 je SHORT $LN9@stbi__info - -; 8147 : return 1; - - 0019a b8 01 00 00 00 mov eax, 1 - 0019f eb 38 jmp SHORT $LN1@stbi__info -$LN9@stbi__info: - -; 8148 : #endif -; 8149 : -; 8150 : // test tga last because it's a crappy test! -; 8151 : #ifndef STBI_NO_TGA -; 8152 : if (stbi__tga_info(s, x, y, comp)) - - 001a1 4c 8b 8d f8 00 - 00 00 mov r9, QWORD PTR comp$[rbp] - 001a8 4c 8b 85 f0 00 - 00 00 mov r8, QWORD PTR y$[rbp] - 001af 48 8b 95 e8 00 - 00 00 mov rdx, QWORD PTR x$[rbp] - 001b6 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001bd e8 00 00 00 00 call stbi__tga_info - 001c2 85 c0 test eax, eax - 001c4 74 07 je SHORT $LN10@stbi__info - -; 8153 : return 1; - - 001c6 b8 01 00 00 00 mov eax, 1 - 001cb eb 0c jmp SHORT $LN1@stbi__info -$LN10@stbi__info: - -; 8154 : #endif -; 8155 : return stbi__err("unknown image type", "Image not of any known type, or corrupt"); - - 001cd 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BD@CBEDEJPH@unknown?5image?5type@ - 001d4 e8 00 00 00 00 call stbi__err -$LN1@stbi__info: - -; 8156 : } - - 001d9 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 001e0 5f pop rdi - 001e1 5d pop rbp - 001e2 c3 ret 0 -stbi__info_main ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__pnm_getinteger -_TEXT SEGMENT -value$ = 4 -s$ = 256 -c$ = 264 -stbi__pnm_getinteger PROC ; COMDAT - -; 8038 : { - - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 8039 : int value = 0; - - 00025 c7 45 04 00 00 - 00 00 mov DWORD PTR value$[rbp], 0 -$LN2@stbi__pnm_: - -; 8040 : -; 8041 : while (!stbi__at_eof(s) && stbi__pnm_isdigit(*c)) { - - 0002c 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00033 e8 00 00 00 00 call stbi__at_eof - 00038 85 c0 test eax, eax - 0003a 75 6e jne SHORT $LN3@stbi__pnm_ - 0003c 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR c$[rbp] - 00043 0f b6 08 movzx ecx, BYTE PTR [rax] - 00046 e8 00 00 00 00 call stbi__pnm_isdigit - 0004b 85 c0 test eax, eax - 0004d 74 5b je SHORT $LN3@stbi__pnm_ - -; 8042 : value = value * 10 + (*c - '0'); - - 0004f 6b 45 04 0a imul eax, DWORD PTR value$[rbp], 10 - 00053 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR c$[rbp] - 0005a 0f be 09 movsx ecx, BYTE PTR [rcx] - 0005d 8d 44 08 d0 lea eax, DWORD PTR [rax+rcx-48] - 00061 89 45 04 mov DWORD PTR value$[rbp], eax - -; 8043 : *c = (char)stbi__get8(s); - - 00064 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0006b e8 00 00 00 00 call stbi__get8 - 00070 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR c$[rbp] - 00077 88 01 mov BYTE PTR [rcx], al - -; 8044 : if ((value > 214748364) || (value == 214748364 && *c > '7')) - - 00079 81 7d 04 cc cc - cc 0c cmp DWORD PTR value$[rbp], 214748364 ; 0cccccccH - 00080 7f 18 jg SHORT $LN5@stbi__pnm_ - 00082 81 7d 04 cc cc - cc 0c cmp DWORD PTR value$[rbp], 214748364 ; 0cccccccH - 00089 75 1d jne SHORT $LN4@stbi__pnm_ - 0008b 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR c$[rbp] - 00092 0f be 00 movsx eax, BYTE PTR [rax] - 00095 83 f8 37 cmp eax, 55 ; 00000037H - 00098 7e 0e jle SHORT $LN4@stbi__pnm_ -$LN5@stbi__pnm_: - -; 8045 : return stbi__err( - - 0009a 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BH@OBINMOBC@integer?5parse?5overflow@ - 000a1 e8 00 00 00 00 call stbi__err - 000a6 eb 05 jmp SHORT $LN1@stbi__pnm_ -$LN4@stbi__pnm_: - -; 8046 : "integer parse overflow", -; 8047 : "Parsing an integer in the PPM header overflowed a 32-bit int"); -; 8048 : } - - 000a8 eb 82 jmp SHORT $LN2@stbi__pnm_ -$LN3@stbi__pnm_: - -; 8049 : -; 8050 : return value; - - 000aa 8b 45 04 mov eax, DWORD PTR value$[rbp] -$LN1@stbi__pnm_: - -; 8051 : } - - 000ad 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 000b4 5f pop rdi - 000b5 5d pop rbp - 000b6 c3 ret 0 -stbi__pnm_getinteger ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__pnm_isdigit -_TEXT SEGMENT -tv68 = 192 -c$ = 240 -stbi__pnm_isdigit PROC ; COMDAT - -; 8033 : { - - 00000 88 4c 24 08 mov BYTE PTR [rsp+8], cl - 00004 55 push rbp - 00005 57 push rdi - 00006 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 0000d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00012 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00019 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001e 90 npad 1 - -; 8034 : return c >= '0' && c <= '9'; - - 0001f 0f be 85 f0 00 - 00 00 movsx eax, BYTE PTR c$[rbp] - 00026 83 f8 30 cmp eax, 48 ; 00000030H - 00029 7c 18 jl SHORT $LN3@stbi__pnm_ - 0002b 0f be 85 f0 00 - 00 00 movsx eax, BYTE PTR c$[rbp] - 00032 83 f8 39 cmp eax, 57 ; 00000039H - 00035 7f 0c jg SHORT $LN3@stbi__pnm_ - 00037 c7 85 c0 00 00 - 00 01 00 00 00 mov DWORD PTR tv68[rbp], 1 - 00041 eb 0a jmp SHORT $LN4@stbi__pnm_ -$LN3@stbi__pnm_: - 00043 c7 85 c0 00 00 - 00 00 00 00 00 mov DWORD PTR tv68[rbp], 0 -$LN4@stbi__pnm_: - 0004d 8b 85 c0 00 00 - 00 mov eax, DWORD PTR tv68[rbp] - -; 8035 : } - - 00053 48 8d a5 d8 00 - 00 00 lea rsp, QWORD PTR [rbp+216] - 0005a 5f pop rdi - 0005b 5d pop rbp - 0005c c3 ret 0 -stbi__pnm_isdigit ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__pnm_skip_whitespace -_TEXT SEGMENT -s$ = 224 -c$ = 232 -stbi__pnm_skip_whitespace PROC ; COMDAT - -; 8019 : { - - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 -$LN2@stbi__pnm_: -$LN5@stbi__pnm_: - -; 8020 : for (;;) { -; 8021 : while (!stbi__at_eof(s) && stbi__pnm_isspace(*c)) - - 00025 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0002c e8 00 00 00 00 call stbi__at_eof - 00031 85 c0 test eax, eax - 00033 75 2a jne SHORT $LN6@stbi__pnm_ - 00035 48 8b 85 e8 00 - 00 00 mov rax, QWORD PTR c$[rbp] - 0003c 0f b6 08 movzx ecx, BYTE PTR [rax] - 0003f e8 00 00 00 00 call stbi__pnm_isspace - 00044 85 c0 test eax, eax - 00046 74 17 je SHORT $LN6@stbi__pnm_ - -; 8022 : *c = (char)stbi__get8(s); - - 00048 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0004f e8 00 00 00 00 call stbi__get8 - 00054 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR c$[rbp] - 0005b 88 01 mov BYTE PTR [rcx], al - 0005d eb c6 jmp SHORT $LN5@stbi__pnm_ -$LN6@stbi__pnm_: - -; 8023 : -; 8024 : if (stbi__at_eof(s) || *c != '#') - - 0005f 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00066 e8 00 00 00 00 call stbi__at_eof - 0006b 85 c0 test eax, eax - 0006d 75 0f jne SHORT $LN10@stbi__pnm_ - 0006f 48 8b 85 e8 00 - 00 00 mov rax, QWORD PTR c$[rbp] - 00076 0f be 00 movsx eax, BYTE PTR [rax] - 00079 83 f8 23 cmp eax, 35 ; 00000023H - 0007c 74 02 je SHORT $LN9@stbi__pnm_ -$LN10@stbi__pnm_: - -; 8025 : break; - - 0007e eb 4a jmp SHORT $LN3@stbi__pnm_ -$LN9@stbi__pnm_: -$LN7@stbi__pnm_: - -; 8026 : -; 8027 : while (!stbi__at_eof(s) && *c != '\n' && *c != '\r') - - 00080 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00087 e8 00 00 00 00 call stbi__at_eof - 0008c 85 c0 test eax, eax - 0008e 75 35 jne SHORT $LN8@stbi__pnm_ - 00090 48 8b 85 e8 00 - 00 00 mov rax, QWORD PTR c$[rbp] - 00097 0f be 00 movsx eax, BYTE PTR [rax] - 0009a 83 f8 0a cmp eax, 10 - 0009d 74 26 je SHORT $LN8@stbi__pnm_ - 0009f 48 8b 85 e8 00 - 00 00 mov rax, QWORD PTR c$[rbp] - 000a6 0f be 00 movsx eax, BYTE PTR [rax] - 000a9 83 f8 0d cmp eax, 13 - 000ac 74 17 je SHORT $LN8@stbi__pnm_ - -; 8028 : *c = (char)stbi__get8(s); - - 000ae 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000b5 e8 00 00 00 00 call stbi__get8 - 000ba 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR c$[rbp] - 000c1 88 01 mov BYTE PTR [rcx], al - 000c3 eb bb jmp SHORT $LN7@stbi__pnm_ -$LN8@stbi__pnm_: - -; 8029 : } - - 000c5 e9 5b ff ff ff jmp $LN2@stbi__pnm_ -$LN3@stbi__pnm_: - -; 8030 : } - - 000ca 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 000d1 5f pop rdi - 000d2 5d pop rbp - 000d3 c3 ret 0 -stbi__pnm_skip_whitespace ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__pnm_isspace -_TEXT SEGMENT -tv76 = 192 -c$ = 240 -stbi__pnm_isspace PROC ; COMDAT - -; 8014 : { - - 00000 88 4c 24 08 mov BYTE PTR [rsp+8], cl - 00004 55 push rbp - 00005 57 push rdi - 00006 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 0000d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00012 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00019 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001e 90 npad 1 - -; 8015 : return c == ' ' || c == '\t' || c == '\n' || c == '\v' || c == '\f' || c == '\r'; - - 0001f 0f be 85 f0 00 - 00 00 movsx eax, BYTE PTR c$[rbp] - 00026 83 f8 20 cmp eax, 32 ; 00000020H - 00029 74 48 je SHORT $LN3@stbi__pnm_ - 0002b 0f be 85 f0 00 - 00 00 movsx eax, BYTE PTR c$[rbp] - 00032 83 f8 09 cmp eax, 9 - 00035 74 3c je SHORT $LN3@stbi__pnm_ - 00037 0f be 85 f0 00 - 00 00 movsx eax, BYTE PTR c$[rbp] - 0003e 83 f8 0a cmp eax, 10 - 00041 74 30 je SHORT $LN3@stbi__pnm_ - 00043 0f be 85 f0 00 - 00 00 movsx eax, BYTE PTR c$[rbp] - 0004a 83 f8 0b cmp eax, 11 - 0004d 74 24 je SHORT $LN3@stbi__pnm_ - 0004f 0f be 85 f0 00 - 00 00 movsx eax, BYTE PTR c$[rbp] - 00056 83 f8 0c cmp eax, 12 - 00059 74 18 je SHORT $LN3@stbi__pnm_ - 0005b 0f be 85 f0 00 - 00 00 movsx eax, BYTE PTR c$[rbp] - 00062 83 f8 0d cmp eax, 13 - 00065 74 0c je SHORT $LN3@stbi__pnm_ - 00067 c7 85 c0 00 00 - 00 00 00 00 00 mov DWORD PTR tv76[rbp], 0 - 00071 eb 0a jmp SHORT $LN4@stbi__pnm_ -$LN3@stbi__pnm_: - 00073 c7 85 c0 00 00 - 00 01 00 00 00 mov DWORD PTR tv76[rbp], 1 -$LN4@stbi__pnm_: - 0007d 8b 85 c0 00 00 - 00 mov eax, DWORD PTR tv76[rbp] - -; 8016 : } - - 00083 48 8d a5 d8 00 - 00 00 lea rsp, QWORD PTR [rbp+216] - 0008a 5f pop rdi - 0008b 5d pop rbp - 0008c c3 ret 0 -stbi__pnm_isspace ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__hdr_convert -_TEXT SEGMENT -f1$1 = 4 -tv152 = 212 -output$ = 256 -input$ = 264 -req_comp$ = 272 -stbi__hdr_convert PROC ; COMDAT - -; 7545 : { - - 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 7546 : if (input[3] != 0) { - - 0002a b8 01 00 00 00 mov eax, 1 - 0002f 48 6b c0 03 imul rax, rax, 3 - 00033 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR input$[rbp] - 0003a 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0003e 85 c0 test eax, eax - 00040 0f 84 8d 01 00 - 00 je $LN4@stbi__hdr_ - -; 7547 : float f1; -; 7548 : // Exponent -; 7549 : f1 = (float)ldexp(1.0f, input[3] - (int)(128 + 8)); - - 00046 b8 01 00 00 00 mov eax, 1 - 0004b 48 6b c0 03 imul rax, rax, 3 - 0004f 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR input$[rbp] - 00056 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0005a 2d 88 00 00 00 sub eax, 136 ; 00000088H - 0005f 8b d0 mov edx, eax - 00061 f2 0f 10 05 00 - 00 00 00 movsd xmm0, QWORD PTR __real@3ff0000000000000 - 00069 ff 15 00 00 00 - 00 call QWORD PTR __imp_ldexp - 0006f f2 0f 5a c0 cvtsd2ss xmm0, xmm0 - 00073 f3 0f 11 45 04 movss DWORD PTR f1$1[rbp], xmm0 - -; 7550 : if (req_comp <= 2) - - 00078 83 bd 10 01 00 - 00 02 cmp DWORD PTR req_comp$[rbp], 2 - 0007f 7f 6b jg SHORT $LN6@stbi__hdr_ - -; 7551 : output[0] = (input[0] + input[1] + input[2]) * f1 / 3; - - 00081 b8 01 00 00 00 mov eax, 1 - 00086 48 6b c0 00 imul rax, rax, 0 - 0008a 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR input$[rbp] - 00091 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00095 b9 01 00 00 00 mov ecx, 1 - 0009a 48 6b c9 01 imul rcx, rcx, 1 - 0009e 48 8b 95 08 01 - 00 00 mov rdx, QWORD PTR input$[rbp] - 000a5 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 000a9 03 c1 add eax, ecx - 000ab b9 01 00 00 00 mov ecx, 1 - 000b0 48 6b c9 02 imul rcx, rcx, 2 - 000b4 48 8b 95 08 01 - 00 00 mov rdx, QWORD PTR input$[rbp] - 000bb 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 000bf 03 c1 add eax, ecx - 000c1 f3 0f 2a c0 cvtsi2ss xmm0, eax - 000c5 f3 0f 59 45 04 mulss xmm0, DWORD PTR f1$1[rbp] - 000ca f3 0f 5e 05 00 - 00 00 00 divss xmm0, DWORD PTR __real@40400000 - 000d2 b8 04 00 00 00 mov eax, 4 - 000d7 48 6b c0 00 imul rax, rax, 0 - 000db 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR output$[rbp] - 000e2 f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0 - 000e7 e9 96 00 00 00 jmp $LN7@stbi__hdr_ -$LN6@stbi__hdr_: - -; 7552 : else { -; 7553 : output[0] = input[0] * f1; - - 000ec b8 01 00 00 00 mov eax, 1 - 000f1 48 6b c0 00 imul rax, rax, 0 - 000f5 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR input$[rbp] - 000fc 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00100 f3 0f 2a c0 cvtsi2ss xmm0, eax - 00104 f3 0f 59 45 04 mulss xmm0, DWORD PTR f1$1[rbp] - 00109 b8 04 00 00 00 mov eax, 4 - 0010e 48 6b c0 00 imul rax, rax, 0 - 00112 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR output$[rbp] - 00119 f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0 - -; 7554 : output[1] = input[1] * f1; - - 0011e b8 01 00 00 00 mov eax, 1 - 00123 48 6b c0 01 imul rax, rax, 1 - 00127 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR input$[rbp] - 0012e 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00132 f3 0f 2a c0 cvtsi2ss xmm0, eax - 00136 f3 0f 59 45 04 mulss xmm0, DWORD PTR f1$1[rbp] - 0013b b8 04 00 00 00 mov eax, 4 - 00140 48 6b c0 01 imul rax, rax, 1 - 00144 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR output$[rbp] - 0014b f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0 - -; 7555 : output[2] = input[2] * f1; - - 00150 b8 01 00 00 00 mov eax, 1 - 00155 48 6b c0 02 imul rax, rax, 2 - 00159 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR input$[rbp] - 00160 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00164 f3 0f 2a c0 cvtsi2ss xmm0, eax - 00168 f3 0f 59 45 04 mulss xmm0, DWORD PTR f1$1[rbp] - 0016d b8 04 00 00 00 mov eax, 4 - 00172 48 6b c0 02 imul rax, rax, 2 - 00176 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR output$[rbp] - 0017d f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0 -$LN7@stbi__hdr_: - -; 7556 : } -; 7557 : if (req_comp == 2) - - 00182 83 bd 10 01 00 - 00 02 cmp DWORD PTR req_comp$[rbp], 2 - 00189 75 1d jne SHORT $LN8@stbi__hdr_ - -; 7558 : output[1] = 1; - - 0018b b8 04 00 00 00 mov eax, 4 - 00190 48 6b c0 01 imul rax, rax, 1 - 00194 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR output$[rbp] - 0019b f3 0f 10 05 00 - 00 00 00 movss xmm0, DWORD PTR __real@3f800000 - 001a3 f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0 -$LN8@stbi__hdr_: - -; 7559 : if (req_comp == 4) - - 001a8 83 bd 10 01 00 - 00 04 cmp DWORD PTR req_comp$[rbp], 4 - 001af 75 1d jne SHORT $LN9@stbi__hdr_ - -; 7560 : output[3] = 1; - - 001b1 b8 04 00 00 00 mov eax, 4 - 001b6 48 6b c0 03 imul rax, rax, 3 - 001ba 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR output$[rbp] - 001c1 f3 0f 10 05 00 - 00 00 00 movss xmm0, DWORD PTR __real@3f800000 - 001c9 f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0 -$LN9@stbi__hdr_: - -; 7561 : } else { - - 001ce e9 d5 00 00 00 jmp $LN5@stbi__hdr_ -$LN4@stbi__hdr_: - -; 7562 : switch (req_comp) { - - 001d3 8b 85 10 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 001d9 89 85 d4 00 00 - 00 mov DWORD PTR tv152[rbp], eax - 001df 83 bd d4 00 00 - 00 01 cmp DWORD PTR tv152[rbp], 1 - 001e6 0f 84 a4 00 00 - 00 je $LN13@stbi__hdr_ - 001ec 83 bd d4 00 00 - 00 02 cmp DWORD PTR tv152[rbp], 2 - 001f3 74 7e je SHORT $LN12@stbi__hdr_ - 001f5 83 bd d4 00 00 - 00 03 cmp DWORD PTR tv152[rbp], 3 - 001fc 74 2b je SHORT $LN11@stbi__hdr_ - 001fe 83 bd d4 00 00 - 00 04 cmp DWORD PTR tv152[rbp], 4 - 00205 74 05 je SHORT $LN10@stbi__hdr_ - 00207 e9 9c 00 00 00 jmp $LN2@stbi__hdr_ -$LN10@stbi__hdr_: - -; 7563 : case 4: -; 7564 : output[3] = 1; /* fallthrough */ - - 0020c b8 04 00 00 00 mov eax, 4 - 00211 48 6b c0 03 imul rax, rax, 3 - 00215 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR output$[rbp] - 0021c f3 0f 10 05 00 - 00 00 00 movss xmm0, DWORD PTR __real@3f800000 - 00224 f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0 -$LN11@stbi__hdr_: - -; 7565 : case 3: -; 7566 : output[0] = output[1] = output[2] = 0; - - 00229 b8 04 00 00 00 mov eax, 4 - 0022e 48 6b c0 02 imul rax, rax, 2 - 00232 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR output$[rbp] - 00239 0f 57 c0 xorps xmm0, xmm0 - 0023c f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0 - 00241 b8 04 00 00 00 mov eax, 4 - 00246 48 6b c0 01 imul rax, rax, 1 - 0024a 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR output$[rbp] - 00251 0f 57 c0 xorps xmm0, xmm0 - 00254 f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0 - 00259 b8 04 00 00 00 mov eax, 4 - 0025e 48 6b c0 00 imul rax, rax, 0 - 00262 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR output$[rbp] - 00269 0f 57 c0 xorps xmm0, xmm0 - 0026c f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0 - -; 7567 : break; - - 00271 eb 35 jmp SHORT $LN2@stbi__hdr_ -$LN12@stbi__hdr_: - -; 7568 : case 2: -; 7569 : output[1] = 1; /* fallthrough */ - - 00273 b8 04 00 00 00 mov eax, 4 - 00278 48 6b c0 01 imul rax, rax, 1 - 0027c 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR output$[rbp] - 00283 f3 0f 10 05 00 - 00 00 00 movss xmm0, DWORD PTR __real@3f800000 - 0028b f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0 -$LN13@stbi__hdr_: - -; 7570 : case 1: -; 7571 : output[0] = 0; - - 00290 b8 04 00 00 00 mov eax, 4 - 00295 48 6b c0 00 imul rax, rax, 0 - 00299 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR output$[rbp] - 002a0 0f 57 c0 xorps xmm0, xmm0 - 002a3 f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0 -$LN2@stbi__hdr_: -$LN5@stbi__hdr_: - -; 7572 : break; -; 7573 : } -; 7574 : } -; 7575 : } - - 002a8 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 002af 5f pop rdi - 002b0 5d pop rbp - 002b1 c3 ret 0 -stbi__hdr_convert ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__hdr_gettoken -_TEXT SEGMENT -len$ = 4 -c$ = 36 -z$ = 288 -buffer$ = 296 -stbi__hdr_gettoken PROC ; COMDAT - -; 7523 : { - - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec 28 01 - 00 00 sub rsp, 296 ; 00000128H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 7524 : int len = 0; - - 00025 c7 45 04 00 00 - 00 00 mov DWORD PTR len$[rbp], 0 - -; 7525 : char c = '\0'; - - 0002c c6 45 24 00 mov BYTE PTR c$[rbp], 0 - -; 7526 : -; 7527 : c = (char)stbi__get8(z); - - 00030 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00037 e8 00 00 00 00 call stbi__get8 - 0003c 88 45 24 mov BYTE PTR c$[rbp], al -$LN2@stbi__hdr_: - -; 7528 : -; 7529 : while (!stbi__at_eof(z) && c != '\n') { - - 0003f 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00046 e8 00 00 00 00 call stbi__at_eof - 0004b 85 c0 test eax, eax - 0004d 75 65 jne SHORT $LN3@stbi__hdr_ - 0004f 0f be 45 24 movsx eax, BYTE PTR c$[rbp] - 00053 83 f8 0a cmp eax, 10 - 00056 74 5c je SHORT $LN3@stbi__hdr_ - -; 7530 : buffer[len++] = c; - - 00058 48 63 45 04 movsxd rax, DWORD PTR len$[rbp] - 0005c 48 8b 8d 28 01 - 00 00 mov rcx, QWORD PTR buffer$[rbp] - 00063 0f b6 55 24 movzx edx, BYTE PTR c$[rbp] - 00067 88 14 01 mov BYTE PTR [rcx+rax], dl - 0006a 8b 45 04 mov eax, DWORD PTR len$[rbp] - 0006d ff c0 inc eax - 0006f 89 45 04 mov DWORD PTR len$[rbp], eax - -; 7531 : if (len == STBI__HDR_BUFLEN - 1) { - - 00072 81 7d 04 ff 03 - 00 00 cmp DWORD PTR len$[rbp], 1023 ; 000003ffH - 00079 75 28 jne SHORT $LN6@stbi__hdr_ -$LN4@stbi__hdr_: - -; 7532 : // flush to end of line -; 7533 : while (!stbi__at_eof(z) && stbi__get8(z) != '\n') - - 0007b 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00082 e8 00 00 00 00 call stbi__at_eof - 00087 85 c0 test eax, eax - 00089 75 16 jne SHORT $LN5@stbi__hdr_ - 0008b 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00092 e8 00 00 00 00 call stbi__get8 - 00097 0f b6 c0 movzx eax, al - 0009a 83 f8 0a cmp eax, 10 - 0009d 74 02 je SHORT $LN5@stbi__hdr_ - -; 7534 : ; - - 0009f eb da jmp SHORT $LN4@stbi__hdr_ -$LN5@stbi__hdr_: - -; 7535 : break; - - 000a1 eb 11 jmp SHORT $LN3@stbi__hdr_ -$LN6@stbi__hdr_: - -; 7536 : } -; 7537 : c = (char)stbi__get8(z); - - 000a3 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 000aa e8 00 00 00 00 call stbi__get8 - 000af 88 45 24 mov BYTE PTR c$[rbp], al - -; 7538 : } - - 000b2 eb 8b jmp SHORT $LN2@stbi__hdr_ -$LN3@stbi__hdr_: - -; 7539 : -; 7540 : buffer[len] = 0; - - 000b4 48 63 45 04 movsxd rax, DWORD PTR len$[rbp] - 000b8 48 8b 8d 28 01 - 00 00 mov rcx, QWORD PTR buffer$[rbp] - 000bf c6 04 01 00 mov BYTE PTR [rcx+rax], 0 - -; 7541 : return buffer; - - 000c3 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR buffer$[rbp] - -; 7542 : } - - 000ca 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 000d1 5f pop rdi - 000d2 5d pop rbp - 000d3 c3 ret 0 -stbi__hdr_gettoken ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__hdr_test_core -_TEXT SEGMENT -i$ = 4 -s$ = 256 -signature$ = 264 -stbi__hdr_test_core PROC ; COMDAT - -; 7501 : { - - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 7502 : int i; -; 7503 : for (i = 0; signature[i]; ++i) - - 00025 c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 0002c eb 08 jmp SHORT $LN4@stbi__hdr_ -$LN2@stbi__hdr_: - 0002e 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00031 ff c0 inc eax - 00033 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__hdr_: - 00036 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 0003a 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR signature$[rbp] - 00041 0f be 04 01 movsx eax, BYTE PTR [rcx+rax] - 00045 85 c0 test eax, eax - 00047 74 28 je SHORT $LN3@stbi__hdr_ - -; 7504 : if (stbi__get8(s) != signature[i]) - - 00049 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00050 e8 00 00 00 00 call stbi__get8 - 00055 0f b6 c0 movzx eax, al - 00058 48 63 4d 04 movsxd rcx, DWORD PTR i$[rbp] - 0005c 48 8b 95 08 01 - 00 00 mov rdx, QWORD PTR signature$[rbp] - 00063 0f be 0c 0a movsx ecx, BYTE PTR [rdx+rcx] - 00067 3b c1 cmp eax, ecx - 00069 74 04 je SHORT $LN5@stbi__hdr_ - -; 7505 : return 0; - - 0006b 33 c0 xor eax, eax - 0006d eb 14 jmp SHORT $LN1@stbi__hdr_ -$LN5@stbi__hdr_: - 0006f eb bd jmp SHORT $LN2@stbi__hdr_ -$LN3@stbi__hdr_: - -; 7506 : stbi__rewind(s); - - 00071 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00078 e8 00 00 00 00 call stbi__rewind - 0007d 90 npad 1 - -; 7507 : return 1; - - 0007e b8 01 00 00 00 mov eax, 1 -$LN1@stbi__hdr_: - -; 7508 : } - - 00083 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 0008a 5f pop rdi - 0008b 5d pop rbp - 0008c c3 ret 0 -stbi__hdr_test_core ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__load_gif_main_outofmem -_TEXT SEGMENT -tv78 = 192 -g$ = 240 -out$ = 248 -delays$ = 256 -stbi__load_gif_main_outofmem PROC ; COMDAT - -; 7354 : { - - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 7355 : STBI_FREE(g->out); - - 0002a 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR g$[rbp] - 00031 48 8b 48 08 mov rcx, QWORD PTR [rax+8] - 00035 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 0003b 90 npad 1 - -; 7356 : STBI_FREE(g->history); - - 0003c 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR g$[rbp] - 00043 48 8b 48 18 mov rcx, QWORD PTR [rax+24] - 00047 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 0004d 90 npad 1 - -; 7357 : STBI_FREE(g->background); - - 0004e 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR g$[rbp] - 00055 48 8b 48 10 mov rcx, QWORD PTR [rax+16] - 00059 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 0005f 90 npad 1 - -; 7358 : -; 7359 : if (out) - - 00060 48 83 bd f8 00 - 00 00 00 cmp QWORD PTR out$[rbp], 0 - 00068 74 0e je SHORT $LN2@stbi__load - -; 7360 : STBI_FREE(out); - - 0006a 48 8b 8d f8 00 - 00 00 mov rcx, QWORD PTR out$[rbp] - 00071 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00077 90 npad 1 -$LN2@stbi__load: - -; 7361 : if (delays && *delays) - - 00078 48 83 bd 00 01 - 00 00 00 cmp QWORD PTR delays$[rbp], 0 - 00080 74 1e je SHORT $LN3@stbi__load - 00082 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR delays$[rbp] - 00089 48 83 38 00 cmp QWORD PTR [rax], 0 - 0008d 74 11 je SHORT $LN3@stbi__load - -; 7362 : STBI_FREE(*delays); - - 0008f 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR delays$[rbp] - 00096 48 8b 08 mov rcx, QWORD PTR [rax] - 00099 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 0009f 90 npad 1 -$LN3@stbi__load: - -; 7363 : return stbi__errpuc("outofmem", "Out of memory"); - - 000a0 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 000a7 e8 00 00 00 00 call stbi__err - 000ac 85 c0 test eax, eax - 000ae 74 0d je SHORT $LN5@stbi__load - 000b0 48 c7 85 c0 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv78[rbp], 0 - 000bb eb 0b jmp SHORT $LN6@stbi__load -$LN5@stbi__load: - 000bd 48 c7 85 c0 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv78[rbp], 0 -$LN6@stbi__load: - 000c8 48 8b 85 c0 00 - 00 00 mov rax, QWORD PTR tv78[rbp] - -; 7364 : } - - 000cf 48 8d a5 d8 00 - 00 00 lea rsp, QWORD PTR [rbp+216] - 000d6 5f pop rdi - 000d7 5d pop rbp - 000d8 c3 ret 0 -stbi__load_gif_main_outofmem ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__gif_load_next -_TEXT SEGMENT -dispose$ = 4 -first_frame$ = 36 -pi$ = 68 -pcount$ = 100 -tag$1 = 132 -x$2 = 164 -y$3 = 196 -w$4 = 228 -h$5 = 260 -o$6 = 296 -len$7 = 324 -ext$8 = 356 -tv232 = 564 -tv296 = 564 -tv83 = 568 -tv142 = 568 -tv250 = 568 -tv315 = 568 -tv409 = 568 -tv578 = 568 -s$ = 608 -g$ = 616 -comp$ = 624 -req_comp$ = 632 -two_back$ = 640 -stbi__gif_load_next PROC ; COMDAT - -; 7169 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 68 02 - 00 00 sub rsp, 616 ; 00000268H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 7170 : int dispose; -; 7171 : int first_frame; -; 7172 : int pi; -; 7173 : int pcount; -; 7174 : STBI_NOTUSED(req_comp); -; 7175 : -; 7176 : // on first frame, any non-written pixels get the background colour (non-transparent) -; 7177 : first_frame = 0; - - 0002f c7 45 24 00 00 - 00 00 mov DWORD PTR first_frame$[rbp], 0 - -; 7178 : if (g->out == 0) { - - 00036 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 0003d 48 83 78 08 00 cmp QWORD PTR [rax+8], 0 - 00042 0f 85 a5 01 00 - 00 jne $LN18@stbi__gif_ - -; 7179 : if (!stbi__gif_header(s, g, comp, 0)) - - 00048 45 33 c9 xor r9d, r9d - 0004b 4c 8b 85 70 02 - 00 00 mov r8, QWORD PTR comp$[rbp] - 00052 48 8b 95 68 02 - 00 00 mov rdx, QWORD PTR g$[rbp] - 00059 48 8b 8d 60 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00060 e8 00 00 00 00 call stbi__gif_header - 00065 85 c0 test eax, eax - 00067 75 07 jne SHORT $LN20@stbi__gif_ - -; 7180 : return 0; // stbi__g_failure_reason set by stbi__gif_header - - 00069 33 c0 xor eax, eax - 0006b e9 66 09 00 00 jmp $LN1@stbi__gif_ -$LN20@stbi__gif_: - -; 7181 : if (!stbi__mad3sizes_valid(4, g->w, g->h, 0)) - - 00070 45 33 c9 xor r9d, r9d - 00073 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 0007a 44 8b 40 04 mov r8d, DWORD PTR [rax+4] - 0007e 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 00085 8b 10 mov edx, DWORD PTR [rax] - 00087 b9 04 00 00 00 mov ecx, 4 - 0008c e8 00 00 00 00 call stbi__mad3sizes_valid - 00091 85 c0 test eax, eax - 00093 75 34 jne SHORT $LN21@stbi__gif_ - -; 7182 : return stbi__errpuc("too large", "GIF image is too large"); - - 00095 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 0009c e8 00 00 00 00 call stbi__err - 000a1 85 c0 test eax, eax - 000a3 74 0d je SHORT $LN55@stbi__gif_ - 000a5 48 c7 85 38 02 - 00 00 00 00 00 - 00 mov QWORD PTR tv83[rbp], 0 - 000b0 eb 0b jmp SHORT $LN56@stbi__gif_ -$LN55@stbi__gif_: - 000b2 48 c7 85 38 02 - 00 00 00 00 00 - 00 mov QWORD PTR tv83[rbp], 0 -$LN56@stbi__gif_: - 000bd 48 8b 85 38 02 - 00 00 mov rax, QWORD PTR tv83[rbp] - 000c4 e9 0d 09 00 00 jmp $LN1@stbi__gif_ -$LN21@stbi__gif_: - -; 7183 : pcount = g->w * g->h; - - 000c9 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 000d0 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 000d7 8b 00 mov eax, DWORD PTR [rax] - 000d9 0f af 41 04 imul eax, DWORD PTR [rcx+4] - 000dd 89 45 64 mov DWORD PTR pcount$[rbp], eax - -; 7184 : g->out = (stbi_uc *)stbi__malloc(4 * pcount); - - 000e0 8b 45 64 mov eax, DWORD PTR pcount$[rbp] - 000e3 c1 e0 02 shl eax, 2 - 000e6 48 98 cdqe - 000e8 48 8b c8 mov rcx, rax - 000eb e8 00 00 00 00 call stbi__malloc - 000f0 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 000f7 48 89 41 08 mov QWORD PTR [rcx+8], rax - -; 7185 : g->background = (stbi_uc *)stbi__malloc(4 * pcount); - - 000fb 8b 45 64 mov eax, DWORD PTR pcount$[rbp] - 000fe c1 e0 02 shl eax, 2 - 00101 48 98 cdqe - 00103 48 8b c8 mov rcx, rax - 00106 e8 00 00 00 00 call stbi__malloc - 0010b 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00112 48 89 41 10 mov QWORD PTR [rcx+16], rax - -; 7186 : g->history = (stbi_uc *)stbi__malloc(pcount); - - 00116 48 63 45 64 movsxd rax, DWORD PTR pcount$[rbp] - 0011a 48 8b c8 mov rcx, rax - 0011d e8 00 00 00 00 call stbi__malloc - 00122 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00129 48 89 41 18 mov QWORD PTR [rcx+24], rax - -; 7187 : if (!g->out || !g->background || !g->history) - - 0012d 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 00134 48 83 78 08 00 cmp QWORD PTR [rax+8], 0 - 00139 74 1c je SHORT $LN23@stbi__gif_ - 0013b 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 00142 48 83 78 10 00 cmp QWORD PTR [rax+16], 0 - 00147 74 0e je SHORT $LN23@stbi__gif_ - 00149 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 00150 48 83 78 18 00 cmp QWORD PTR [rax+24], 0 - 00155 75 34 jne SHORT $LN22@stbi__gif_ -$LN23@stbi__gif_: - -; 7188 : return stbi__errpuc("outofmem", "Out of memory"); - - 00157 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 0015e e8 00 00 00 00 call stbi__err - 00163 85 c0 test eax, eax - 00165 74 0d je SHORT $LN57@stbi__gif_ - 00167 48 c7 85 38 02 - 00 00 00 00 00 - 00 mov QWORD PTR tv142[rbp], 0 - 00172 eb 0b jmp SHORT $LN58@stbi__gif_ -$LN57@stbi__gif_: - 00174 48 c7 85 38 02 - 00 00 00 00 00 - 00 mov QWORD PTR tv142[rbp], 0 -$LN58@stbi__gif_: - 0017f 48 8b 85 38 02 - 00 00 mov rax, QWORD PTR tv142[rbp] - 00186 e9 4b 08 00 00 jmp $LN1@stbi__gif_ -$LN22@stbi__gif_: - -; 7189 : -; 7190 : // image is treated as "transparent" at the start - ie, nothing overwrites the current background; -; 7191 : // background colour is only used for pixels that are not rendered first frame, after that "background" -; 7192 : // color refers to the color that was there the previous frame. -; 7193 : memset(g->out, 0x00, 4 * pcount); - - 0018b 8b 45 64 mov eax, DWORD PTR pcount$[rbp] - 0018e c1 e0 02 shl eax, 2 - 00191 48 98 cdqe - 00193 4c 8b c0 mov r8, rax - 00196 33 d2 xor edx, edx - 00198 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 0019f 48 8b 48 08 mov rcx, QWORD PTR [rax+8] - 001a3 e8 00 00 00 00 call memset - 001a8 90 npad 1 - -; 7194 : memset(g->background, 0x00, - - 001a9 8b 45 64 mov eax, DWORD PTR pcount$[rbp] - 001ac c1 e0 02 shl eax, 2 - 001af 48 98 cdqe - 001b1 4c 8b c0 mov r8, rax - 001b4 33 d2 xor edx, edx - 001b6 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 001bd 48 8b 48 10 mov rcx, QWORD PTR [rax+16] - 001c1 e8 00 00 00 00 call memset - 001c6 90 npad 1 - -; 7195 : 4 * pcount); // state of the background (starts transparent) -; 7196 : memset(g->history, 0x00, - - 001c7 48 63 45 64 movsxd rax, DWORD PTR pcount$[rbp] - 001cb 4c 8b c0 mov r8, rax - 001ce 33 d2 xor edx, edx - 001d0 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 001d7 48 8b 48 18 mov rcx, QWORD PTR [rax+24] - 001db e8 00 00 00 00 call memset - 001e0 90 npad 1 - -; 7197 : pcount); // pixels that were affected previous frame -; 7198 : first_frame = 1; - - 001e1 c7 45 24 01 00 - 00 00 mov DWORD PTR first_frame$[rbp], 1 - -; 7199 : } else { - - 001e8 e9 6b 01 00 00 jmp $LN19@stbi__gif_ -$LN18@stbi__gif_: - -; 7200 : // second frame - how do we dispose of the previous one? -; 7201 : dispose = (g->eflags & 0x1C) >> 2; - - 001ed 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 001f4 8b 40 30 mov eax, DWORD PTR [rax+48] - 001f7 83 e0 1c and eax, 28 - 001fa c1 f8 02 sar eax, 2 - 001fd 89 45 04 mov DWORD PTR dispose$[rbp], eax - -; 7202 : pcount = g->w * g->h; - - 00200 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 00207 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 0020e 8b 00 mov eax, DWORD PTR [rax] - 00210 0f af 41 04 imul eax, DWORD PTR [rcx+4] - 00214 89 45 64 mov DWORD PTR pcount$[rbp], eax - -; 7203 : -; 7204 : if ((dispose == 3) && (two_back == 0)) { - - 00217 83 7d 04 03 cmp DWORD PTR dispose$[rbp], 3 - 0021b 75 11 jne SHORT $LN24@stbi__gif_ - 0021d 48 83 bd 80 02 - 00 00 00 cmp QWORD PTR two_back$[rbp], 0 - 00225 75 07 jne SHORT $LN24@stbi__gif_ - -; 7205 : dispose = - - 00227 c7 45 04 02 00 - 00 00 mov DWORD PTR dispose$[rbp], 2 -$LN24@stbi__gif_: - -; 7206 : 2; // if I don't have an image to revert back to, default to the old background -; 7207 : } -; 7208 : -; 7209 : if (dispose == 3) { // use previous graphic - - 0022e 83 7d 04 03 cmp DWORD PTR dispose$[rbp], 3 - 00232 75 72 jne SHORT $LN25@stbi__gif_ - -; 7210 : for (pi = 0; pi < pcount; ++pi) { - - 00234 c7 45 44 00 00 - 00 00 mov DWORD PTR pi$[rbp], 0 - 0023b eb 08 jmp SHORT $LN4@stbi__gif_ -$LN2@stbi__gif_: - 0023d 8b 45 44 mov eax, DWORD PTR pi$[rbp] - 00240 ff c0 inc eax - 00242 89 45 44 mov DWORD PTR pi$[rbp], eax -$LN4@stbi__gif_: - 00245 8b 45 64 mov eax, DWORD PTR pcount$[rbp] - 00248 39 45 44 cmp DWORD PTR pi$[rbp], eax - 0024b 7d 57 jge SHORT $LN3@stbi__gif_ - -; 7211 : if (g->history[pi]) { - - 0024d 48 63 45 44 movsxd rax, DWORD PTR pi$[rbp] - 00251 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00258 48 8b 49 18 mov rcx, QWORD PTR [rcx+24] - 0025c 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00260 85 c0 test eax, eax - 00262 74 3e je SHORT $LN27@stbi__gif_ - -; 7212 : memcpy(&g->out[pi * 4], &two_back[pi * 4], 4); - - 00264 8b 45 44 mov eax, DWORD PTR pi$[rbp] - 00267 c1 e0 02 shl eax, 2 - 0026a 48 98 cdqe - 0026c 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR two_back$[rbp] - 00273 48 03 c8 add rcx, rax - 00276 48 8b c1 mov rax, rcx - 00279 8b 4d 44 mov ecx, DWORD PTR pi$[rbp] - 0027c c1 e1 02 shl ecx, 2 - 0027f 48 63 c9 movsxd rcx, ecx - 00282 48 8b 95 68 02 - 00 00 mov rdx, QWORD PTR g$[rbp] - 00289 48 8b 52 08 mov rdx, QWORD PTR [rdx+8] - 0028d 48 03 d1 add rdx, rcx - 00290 48 8b ca mov rcx, rdx - 00293 41 b8 04 00 00 - 00 mov r8d, 4 - 00299 48 8b d0 mov rdx, rax - 0029c e8 00 00 00 00 call memcpy - 002a1 90 npad 1 -$LN27@stbi__gif_: - -; 7213 : } -; 7214 : } - - 002a2 eb 99 jmp SHORT $LN2@stbi__gif_ -$LN3@stbi__gif_: - -; 7215 : } else if (dispose == 2) { - - 002a4 eb 7a jmp SHORT $LN26@stbi__gif_ -$LN25@stbi__gif_: - 002a6 83 7d 04 02 cmp DWORD PTR dispose$[rbp], 2 - 002aa 75 74 jne SHORT $LN28@stbi__gif_ - -; 7216 : // restore what was changed last frame to background before that frame; -; 7217 : for (pi = 0; pi < pcount; ++pi) { - - 002ac c7 45 44 00 00 - 00 00 mov DWORD PTR pi$[rbp], 0 - 002b3 eb 08 jmp SHORT $LN7@stbi__gif_ -$LN5@stbi__gif_: - 002b5 8b 45 44 mov eax, DWORD PTR pi$[rbp] - 002b8 ff c0 inc eax - 002ba 89 45 44 mov DWORD PTR pi$[rbp], eax -$LN7@stbi__gif_: - 002bd 8b 45 64 mov eax, DWORD PTR pcount$[rbp] - 002c0 39 45 44 cmp DWORD PTR pi$[rbp], eax - 002c3 7d 5b jge SHORT $LN6@stbi__gif_ - -; 7218 : if (g->history[pi]) { - - 002c5 48 63 45 44 movsxd rax, DWORD PTR pi$[rbp] - 002c9 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 002d0 48 8b 49 18 mov rcx, QWORD PTR [rcx+24] - 002d4 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 002d8 85 c0 test eax, eax - 002da 74 42 je SHORT $LN30@stbi__gif_ - -; 7219 : memcpy(&g->out[pi * 4], &g->background[pi * 4], 4); - - 002dc 8b 45 44 mov eax, DWORD PTR pi$[rbp] - 002df c1 e0 02 shl eax, 2 - 002e2 48 98 cdqe - 002e4 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 002eb 48 8b 49 10 mov rcx, QWORD PTR [rcx+16] - 002ef 48 03 c8 add rcx, rax - 002f2 48 8b c1 mov rax, rcx - 002f5 8b 4d 44 mov ecx, DWORD PTR pi$[rbp] - 002f8 c1 e1 02 shl ecx, 2 - 002fb 48 63 c9 movsxd rcx, ecx - 002fe 48 8b 95 68 02 - 00 00 mov rdx, QWORD PTR g$[rbp] - 00305 48 8b 52 08 mov rdx, QWORD PTR [rdx+8] - 00309 48 03 d1 add rdx, rcx - 0030c 48 8b ca mov rcx, rdx - 0030f 41 b8 04 00 00 - 00 mov r8d, 4 - 00315 48 8b d0 mov rdx, rax - 00318 e8 00 00 00 00 call memcpy - 0031d 90 npad 1 -$LN30@stbi__gif_: - -; 7220 : } -; 7221 : } - - 0031e eb 95 jmp SHORT $LN5@stbi__gif_ -$LN6@stbi__gif_: -$LN28@stbi__gif_: -$LN26@stbi__gif_: - -; 7222 : } else { -; 7223 : // This is a non-disposal case eithe way, so just -; 7224 : // leave the pixels as is, and they will become the new background -; 7225 : // 1: do not dispose -; 7226 : // 0: not specified. -; 7227 : } -; 7228 : -; 7229 : // background is what out is after the undoing of the previou frame; -; 7230 : memcpy(g->background, g->out, 4 * g->w * g->h); - - 00320 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 00327 8b 00 mov eax, DWORD PTR [rax] - 00329 c1 e0 02 shl eax, 2 - 0032c 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00333 0f af 41 04 imul eax, DWORD PTR [rcx+4] - 00337 48 98 cdqe - 00339 4c 8b c0 mov r8, rax - 0033c 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 00343 48 8b 50 08 mov rdx, QWORD PTR [rax+8] - 00347 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 0034e 48 8b 48 10 mov rcx, QWORD PTR [rax+16] - 00352 e8 00 00 00 00 call memcpy - 00357 90 npad 1 -$LN19@stbi__gif_: - -; 7231 : } -; 7232 : -; 7233 : // clear my history; -; 7234 : memset(g->history, 0x00, - - 00358 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 0035f 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00366 8b 00 mov eax, DWORD PTR [rax] - 00368 0f af 41 04 imul eax, DWORD PTR [rcx+4] - 0036c 48 98 cdqe - 0036e 4c 8b c0 mov r8, rax - 00371 33 d2 xor edx, edx - 00373 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 0037a 48 8b 48 18 mov rcx, QWORD PTR [rax+24] - 0037e e8 00 00 00 00 call memset - 00383 90 npad 1 -$LN8@stbi__gif_: - -; 7235 : g->w * g->h); // pixels that were affected previous frame -; 7236 : -; 7237 : for (;;) { -; 7238 : int tag = stbi__get8(s); - - 00384 48 8b 8d 60 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0038b e8 00 00 00 00 call stbi__get8 - 00390 0f b6 c0 movzx eax, al - 00393 89 85 84 00 00 - 00 mov DWORD PTR tag$1[rbp], eax - -; 7239 : switch (tag) { - - 00399 8b 85 84 00 00 - 00 mov eax, DWORD PTR tag$1[rbp] - 0039f 89 85 34 02 00 - 00 mov DWORD PTR tv232[rbp], eax - 003a5 83 bd 34 02 00 - 00 21 cmp DWORD PTR tv232[rbp], 33 ; 00000021H - 003ac 0f 84 6f 04 00 - 00 je $LN44@stbi__gif_ - 003b2 83 bd 34 02 00 - 00 2c cmp DWORD PTR tv232[rbp], 44 ; 0000002cH - 003b9 74 12 je SHORT $LN31@stbi__gif_ - 003bb 83 bd 34 02 00 - 00 3b cmp DWORD PTR tv232[rbp], 59 ; 0000003bH - 003c2 0f 84 cf 05 00 - 00 je $LN52@stbi__gif_ - 003c8 e9 d3 05 00 00 jmp $LN53@stbi__gif_ -$LN31@stbi__gif_: - -; 7240 : case 0x2C: /* Image Descriptor */ -; 7241 : { -; 7242 : stbi__int32 x, y, w, h; -; 7243 : stbi_uc *o; -; 7244 : -; 7245 : x = stbi__get16le(s); - - 003cd 48 8b 8d 60 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 003d4 e8 00 00 00 00 call stbi__get16le - 003d9 89 85 a4 00 00 - 00 mov DWORD PTR x$2[rbp], eax - -; 7246 : y = stbi__get16le(s); - - 003df 48 8b 8d 60 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 003e6 e8 00 00 00 00 call stbi__get16le - 003eb 89 85 c4 00 00 - 00 mov DWORD PTR y$3[rbp], eax - -; 7247 : w = stbi__get16le(s); - - 003f1 48 8b 8d 60 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 003f8 e8 00 00 00 00 call stbi__get16le - 003fd 89 85 e4 00 00 - 00 mov DWORD PTR w$4[rbp], eax - -; 7248 : h = stbi__get16le(s); - - 00403 48 8b 8d 60 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0040a e8 00 00 00 00 call stbi__get16le - 0040f 89 85 04 01 00 - 00 mov DWORD PTR h$5[rbp], eax - -; 7249 : if (((x + w) > (g->w)) || ((y + h) > (g->h))) - - 00415 8b 85 e4 00 00 - 00 mov eax, DWORD PTR w$4[rbp] - 0041b 8b 8d a4 00 00 - 00 mov ecx, DWORD PTR x$2[rbp] - 00421 03 c8 add ecx, eax - 00423 8b c1 mov eax, ecx - 00425 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 0042c 3b 01 cmp eax, DWORD PTR [rcx] - 0042e 7f 1c jg SHORT $LN33@stbi__gif_ - 00430 8b 85 04 01 00 - 00 mov eax, DWORD PTR h$5[rbp] - 00436 8b 8d c4 00 00 - 00 mov ecx, DWORD PTR y$3[rbp] - 0043c 03 c8 add ecx, eax - 0043e 8b c1 mov eax, ecx - 00440 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00447 3b 41 04 cmp eax, DWORD PTR [rcx+4] - 0044a 7e 34 jle SHORT $LN32@stbi__gif_ -$LN33@stbi__gif_: - -; 7250 : return stbi__errpuc("bad Image Descriptor", "Corrupt GIF"); - - 0044c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BF@GIAALCNJ@bad?5Image?5Descriptor@ - 00453 e8 00 00 00 00 call stbi__err - 00458 85 c0 test eax, eax - 0045a 74 0d je SHORT $LN59@stbi__gif_ - 0045c 48 c7 85 38 02 - 00 00 00 00 00 - 00 mov QWORD PTR tv250[rbp], 0 - 00467 eb 0b jmp SHORT $LN60@stbi__gif_ -$LN59@stbi__gif_: - 00469 48 c7 85 38 02 - 00 00 00 00 00 - 00 mov QWORD PTR tv250[rbp], 0 -$LN60@stbi__gif_: - 00474 48 8b 85 38 02 - 00 00 mov rax, QWORD PTR tv250[rbp] - 0047b e9 56 05 00 00 jmp $LN1@stbi__gif_ -$LN32@stbi__gif_: - -; 7251 : -; 7252 : g->line_size = g->w * 4; - - 00480 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 00487 8b 00 mov eax, DWORD PTR [rax] - 00489 c1 e0 02 shl eax, 2 - 0048c 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00493 89 81 64 88 00 - 00 mov DWORD PTR [rcx+34916], eax - -; 7253 : g->start_x = x * 4; - - 00499 8b 85 a4 00 00 - 00 mov eax, DWORD PTR x$2[rbp] - 0049f c1 e0 02 shl eax, 2 - 004a2 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 004a9 89 81 4c 88 00 - 00 mov DWORD PTR [rcx+34892], eax - -; 7254 : g->start_y = y * g->line_size; - - 004af 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 004b6 8b 8d c4 00 00 - 00 mov ecx, DWORD PTR y$3[rbp] - 004bc 0f af 88 64 88 - 00 00 imul ecx, DWORD PTR [rax+34916] - 004c3 8b c1 mov eax, ecx - 004c5 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 004cc 89 81 50 88 00 - 00 mov DWORD PTR [rcx+34896], eax - -; 7255 : g->max_x = g->start_x + w * 4; - - 004d2 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 004d9 8b 80 4c 88 00 - 00 mov eax, DWORD PTR [rax+34892] - 004df 8b 8d e4 00 00 - 00 mov ecx, DWORD PTR w$4[rbp] - 004e5 8d 04 88 lea eax, DWORD PTR [rax+rcx*4] - 004e8 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 004ef 89 81 54 88 00 - 00 mov DWORD PTR [rcx+34900], eax - -; 7256 : g->max_y = g->start_y + h * g->line_size; - - 004f5 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 004fc 8b 8d 04 01 00 - 00 mov ecx, DWORD PTR h$5[rbp] - 00502 0f af 88 64 88 - 00 00 imul ecx, DWORD PTR [rax+34916] - 00509 8b c1 mov eax, ecx - 0050b 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00512 03 81 50 88 00 - 00 add eax, DWORD PTR [rcx+34896] - 00518 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 0051f 89 81 58 88 00 - 00 mov DWORD PTR [rcx+34904], eax - -; 7257 : g->cur_x = g->start_x; - - 00525 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 0052c 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00533 8b 89 4c 88 00 - 00 mov ecx, DWORD PTR [rcx+34892] - 00539 89 88 5c 88 00 - 00 mov DWORD PTR [rax+34908], ecx - -; 7258 : g->cur_y = g->start_y; - - 0053f 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 00546 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 0054d 8b 89 50 88 00 - 00 mov ecx, DWORD PTR [rcx+34896] - 00553 89 88 60 88 00 - 00 mov DWORD PTR [rax+34912], ecx - -; 7259 : -; 7260 : // if the width of the specified rectangle is 0, that means -; 7261 : // we may not see *any* pixels or the image is malformed; -; 7262 : // to make sure this is caught, move the current y down to -; 7263 : // max_y (which is what out_gif_code checks). -; 7264 : if (w == 0) - - 00559 83 bd e4 00 00 - 00 00 cmp DWORD PTR w$4[rbp], 0 - 00560 75 1a jne SHORT $LN34@stbi__gif_ - -; 7265 : g->cur_y = g->max_y; - - 00562 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 00569 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00570 8b 89 58 88 00 - 00 mov ecx, DWORD PTR [rcx+34904] - 00576 89 88 60 88 00 - 00 mov DWORD PTR [rax+34912], ecx -$LN34@stbi__gif_: - -; 7266 : -; 7267 : g->lflags = stbi__get8(s); - - 0057c 48 8b 8d 60 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00583 e8 00 00 00 00 call stbi__get8 - 00588 0f b6 c0 movzx eax, al - 0058b 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00592 89 81 48 88 00 - 00 mov DWORD PTR [rcx+34888], eax - -; 7268 : -; 7269 : if (g->lflags & 0x40) { - - 00598 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 0059f 8b 80 48 88 00 - 00 mov eax, DWORD PTR [rax+34888] - 005a5 83 e0 40 and eax, 64 ; 00000040H - 005a8 85 c0 test eax, eax - 005aa 74 30 je SHORT $LN35@stbi__gif_ - -; 7270 : g->step = 8 * g->line_size; // first interlaced spacing - - 005ac 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 005b3 8b 80 64 88 00 - 00 mov eax, DWORD PTR [rax+34916] - 005b9 c1 e0 03 shl eax, 3 - 005bc 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 005c3 89 81 44 88 00 - 00 mov DWORD PTR [rcx+34884], eax - -; 7271 : g->parse = 3; - - 005c9 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 005d0 c7 80 40 88 00 - 00 03 00 00 00 mov DWORD PTR [rax+34880], 3 - -; 7272 : } else { - - 005da eb 2b jmp SHORT $LN36@stbi__gif_ -$LN35@stbi__gif_: - -; 7273 : g->step = g->line_size; - - 005dc 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 005e3 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 005ea 8b 89 64 88 00 - 00 mov ecx, DWORD PTR [rcx+34916] - 005f0 89 88 44 88 00 - 00 mov DWORD PTR [rax+34884], ecx - -; 7274 : g->parse = 0; - - 005f6 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 005fd c7 80 40 88 00 - 00 00 00 00 00 mov DWORD PTR [rax+34880], 0 -$LN36@stbi__gif_: - -; 7275 : } -; 7276 : -; 7277 : if (g->lflags & 0x80) { - - 00607 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 0060e 8b 80 48 88 00 - 00 mov eax, DWORD PTR [rax+34888] - 00614 25 80 00 00 00 and eax, 128 ; 00000080H - 00619 85 c0 test eax, eax - 0061b 0f 84 98 00 00 - 00 je $LN37@stbi__gif_ - -; 7278 : stbi__gif_parse_colortable(s, g->lpal, 2 << (g->lflags & 7), - - 00621 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 00628 8b 40 30 mov eax, DWORD PTR [rax+48] - 0062b 83 e0 01 and eax, 1 - 0062e 85 c0 test eax, eax - 00630 74 12 je SHORT $LN61@stbi__gif_ - 00632 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 00639 8b 40 2c mov eax, DWORD PTR [rax+44] - 0063c 89 85 34 02 00 - 00 mov DWORD PTR tv296[rbp], eax - 00642 eb 0a jmp SHORT $LN62@stbi__gif_ -$LN61@stbi__gif_: - 00644 c7 85 34 02 00 - 00 ff ff ff ff mov DWORD PTR tv296[rbp], -1 -$LN62@stbi__gif_: - 0064e 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 00655 8b 80 48 88 00 - 00 mov eax, DWORD PTR [rax+34888] - 0065b 83 e0 07 and eax, 7 - 0065e b9 02 00 00 00 mov ecx, 2 - 00663 89 8d 38 02 00 - 00 mov DWORD PTR tv578[rbp], ecx - 00669 0f b6 c8 movzx ecx, al - 0066c 8b 85 38 02 00 - 00 mov eax, DWORD PTR tv578[rbp] - 00672 d3 e0 shl eax, cl - 00674 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 0067b 48 81 c1 34 04 - 00 00 add rcx, 1076 ; 00000434H - 00682 44 8b 8d 34 02 - 00 00 mov r9d, DWORD PTR tv296[rbp] - 00689 44 8b c0 mov r8d, eax - 0068c 48 8b d1 mov rdx, rcx - 0068f 48 8b 8d 60 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00696 e8 00 00 00 00 call stbi__gif_parse_colortable - 0069b 90 npad 1 - -; 7279 : g->eflags & 0x01 ? g->transparent : -1); -; 7280 : g->color_table = (stbi_uc *)g->lpal; - - 0069c 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 006a3 48 05 34 04 00 - 00 add rax, 1076 ; 00000434H - 006a9 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 006b0 48 89 81 38 88 - 00 00 mov QWORD PTR [rcx+34872], rax - 006b7 eb 62 jmp SHORT $LN38@stbi__gif_ -$LN37@stbi__gif_: - -; 7281 : } else if (g->flags & 0x80) { - - 006b9 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 006c0 8b 40 20 mov eax, DWORD PTR [rax+32] - 006c3 25 80 00 00 00 and eax, 128 ; 00000080H - 006c8 85 c0 test eax, eax - 006ca 74 1b je SHORT $LN39@stbi__gif_ - -; 7282 : g->color_table = (stbi_uc *)g->pal; - - 006cc 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 006d3 48 83 c0 34 add rax, 52 ; 00000034H - 006d7 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 006de 48 89 81 38 88 - 00 00 mov QWORD PTR [rcx+34872], rax - -; 7283 : } else - - 006e5 eb 34 jmp SHORT $LN40@stbi__gif_ -$LN39@stbi__gif_: - -; 7284 : return stbi__errpuc("missing color table", "Corrupt GIF"); - - 006e7 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BE@NAMJKDNF@missing?5color?5table@ - 006ee e8 00 00 00 00 call stbi__err - 006f3 85 c0 test eax, eax - 006f5 74 0d je SHORT $LN63@stbi__gif_ - 006f7 48 c7 85 38 02 - 00 00 00 00 00 - 00 mov QWORD PTR tv315[rbp], 0 - 00702 eb 0b jmp SHORT $LN64@stbi__gif_ -$LN63@stbi__gif_: - 00704 48 c7 85 38 02 - 00 00 00 00 00 - 00 mov QWORD PTR tv315[rbp], 0 -$LN64@stbi__gif_: - 0070f 48 8b 85 38 02 - 00 00 mov rax, QWORD PTR tv315[rbp] - 00716 e9 bb 02 00 00 jmp $LN1@stbi__gif_ -$LN40@stbi__gif_: -$LN38@stbi__gif_: - -; 7285 : -; 7286 : o = stbi__process_gif_raster(s, g); - - 0071b 48 8b 95 68 02 - 00 00 mov rdx, QWORD PTR g$[rbp] - 00722 48 8b 8d 60 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00729 e8 00 00 00 00 call stbi__process_gif_raster - 0072e 48 89 85 28 01 - 00 00 mov QWORD PTR o$6[rbp], rax - -; 7287 : if (!o) - - 00735 48 83 bd 28 01 - 00 00 00 cmp QWORD PTR o$6[rbp], 0 - 0073d 75 07 jne SHORT $LN41@stbi__gif_ - -; 7288 : return NULL; - - 0073f 33 c0 xor eax, eax - 00741 e9 90 02 00 00 jmp $LN1@stbi__gif_ -$LN41@stbi__gif_: - -; 7289 : -; 7290 : // if this was the first frame, -; 7291 : pcount = g->w * g->h; - - 00746 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 0074d 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00754 8b 00 mov eax, DWORD PTR [rax] - 00756 0f af 41 04 imul eax, DWORD PTR [rcx+4] - 0075a 89 45 64 mov DWORD PTR pcount$[rbp], eax - -; 7292 : if (first_frame && (g->bgindex > 0)) { - - 0075d 83 7d 24 00 cmp DWORD PTR first_frame$[rbp], 0 - 00761 0f 84 ae 00 00 - 00 je $LN42@stbi__gif_ - 00767 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 0076e 83 78 24 00 cmp DWORD PTR [rax+36], 0 - 00772 0f 8e 9d 00 00 - 00 jle $LN42@stbi__gif_ - -; 7293 : // if first frame, any pixel not drawn to gets the background color -; 7294 : for (pi = 0; pi < pcount; ++pi) { - - 00778 c7 45 44 00 00 - 00 00 mov DWORD PTR pi$[rbp], 0 - 0077f eb 08 jmp SHORT $LN15@stbi__gif_ -$LN13@stbi__gif_: - 00781 8b 45 44 mov eax, DWORD PTR pi$[rbp] - 00784 ff c0 inc eax - 00786 89 45 44 mov DWORD PTR pi$[rbp], eax -$LN15@stbi__gif_: - 00789 8b 45 64 mov eax, DWORD PTR pcount$[rbp] - 0078c 39 45 44 cmp DWORD PTR pi$[rbp], eax - 0078f 0f 8d 80 00 00 - 00 jge $LN14@stbi__gif_ - -; 7295 : if (g->history[pi] == 0) { - - 00795 48 63 45 44 movsxd rax, DWORD PTR pi$[rbp] - 00799 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 007a0 48 8b 49 18 mov rcx, QWORD PTR [rcx+24] - 007a4 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 007a8 85 c0 test eax, eax - 007aa 75 64 jne SHORT $LN43@stbi__gif_ - -; 7296 : g->pal[g->bgindex][3] = - - 007ac 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 007b3 48 63 40 24 movsxd rax, DWORD PTR [rax+36] - 007b7 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 007be 48 8d 44 81 34 lea rax, QWORD PTR [rcx+rax*4+52] - 007c3 b9 01 00 00 00 mov ecx, 1 - 007c8 48 6b c9 03 imul rcx, rcx, 3 - 007cc c6 04 08 ff mov BYTE PTR [rax+rcx], 255 ; 000000ffH - -; 7297 : 255; // just in case it was made transparent, undo that; It will be reset next frame if need be; -; 7298 : memcpy(&g->out[pi * 4], &g->pal[g->bgindex], 4); - - 007d0 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 007d7 48 63 40 24 movsxd rax, DWORD PTR [rax+36] - 007db 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 007e2 48 8d 44 81 34 lea rax, QWORD PTR [rcx+rax*4+52] - 007e7 8b 4d 44 mov ecx, DWORD PTR pi$[rbp] - 007ea c1 e1 02 shl ecx, 2 - 007ed 48 63 c9 movsxd rcx, ecx - 007f0 48 8b 95 68 02 - 00 00 mov rdx, QWORD PTR g$[rbp] - 007f7 48 8b 52 08 mov rdx, QWORD PTR [rdx+8] - 007fb 48 03 d1 add rdx, rcx - 007fe 48 8b ca mov rcx, rdx - 00801 41 b8 04 00 00 - 00 mov r8d, 4 - 00807 48 8b d0 mov rdx, rax - 0080a e8 00 00 00 00 call memcpy - 0080f 90 npad 1 -$LN43@stbi__gif_: - -; 7299 : } -; 7300 : } - - 00810 e9 6c ff ff ff jmp $LN13@stbi__gif_ -$LN14@stbi__gif_: -$LN42@stbi__gif_: - -; 7301 : } -; 7302 : -; 7303 : return o; - - 00815 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR o$6[rbp] - 0081c e9 b5 01 00 00 jmp $LN1@stbi__gif_ -$LN44@stbi__gif_: - -; 7304 : } -; 7305 : -; 7306 : case 0x21: // Comment Extension. -; 7307 : { -; 7308 : int len; -; 7309 : int ext = stbi__get8(s); - - 00821 48 8b 8d 60 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00828 e8 00 00 00 00 call stbi__get8 - 0082d 0f b6 c0 movzx eax, al - 00830 89 85 64 01 00 - 00 mov DWORD PTR ext$8[rbp], eax - -; 7310 : if (ext == 0xF9) { // Graphic Control Extension. - - 00836 81 bd 64 01 00 - 00 f9 00 00 00 cmp DWORD PTR ext$8[rbp], 249 ; 000000f9H - 00840 0f 85 1c 01 00 - 00 jne $LN45@stbi__gif_ - -; 7311 : len = stbi__get8(s); - - 00846 48 8b 8d 60 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0084d e8 00 00 00 00 call stbi__get8 - 00852 0f b6 c0 movzx eax, al - 00855 89 85 44 01 00 - 00 mov DWORD PTR len$7[rbp], eax - -; 7312 : if (len == 4) { - - 0085b 83 bd 44 01 00 - 00 04 cmp DWORD PTR len$7[rbp], 4 - 00862 0f 85 e5 00 00 - 00 jne $LN46@stbi__gif_ - -; 7313 : g->eflags = stbi__get8(s); - - 00868 48 8b 8d 60 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0086f e8 00 00 00 00 call stbi__get8 - 00874 0f b6 c0 movzx eax, al - 00877 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 0087e 89 41 30 mov DWORD PTR [rcx+48], eax - -; 7314 : g->delay = - - 00881 48 8b 8d 60 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00888 e8 00 00 00 00 call stbi__get16le - 0088d 6b c0 0a imul eax, eax, 10 - 00890 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00897 89 81 68 88 00 - 00 mov DWORD PTR [rcx+34920], eax - -; 7315 : 10 * -; 7316 : stbi__get16le( -; 7317 : s); // delay - 1/100th of a second, saving as 1/1000ths. -; 7318 : -; 7319 : // unset old transparent -; 7320 : if (g->transparent >= 0) { - - 0089d 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 008a4 83 78 2c 00 cmp DWORD PTR [rax+44], 0 - 008a8 7c 24 jl SHORT $LN48@stbi__gif_ - -; 7321 : g->pal[g->transparent][3] = 255; - - 008aa 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 008b1 48 63 40 2c movsxd rax, DWORD PTR [rax+44] - 008b5 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 008bc 48 8d 44 81 34 lea rax, QWORD PTR [rcx+rax*4+52] - 008c1 b9 01 00 00 00 mov ecx, 1 - 008c6 48 6b c9 03 imul rcx, rcx, 3 - 008ca c6 04 08 ff mov BYTE PTR [rax+rcx], 255 ; 000000ffH -$LN48@stbi__gif_: - -; 7322 : } -; 7323 : if (g->eflags & 0x01) { - - 008ce 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 008d5 8b 40 30 mov eax, DWORD PTR [rax+48] - 008d8 83 e0 01 and eax, 1 - 008db 85 c0 test eax, eax - 008dd 74 4c je SHORT $LN49@stbi__gif_ - -; 7324 : g->transparent = stbi__get8(s); - - 008df 48 8b 8d 60 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 008e6 e8 00 00 00 00 call stbi__get8 - 008eb 0f b6 c0 movzx eax, al - 008ee 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 008f5 89 41 2c mov DWORD PTR [rcx+44], eax - -; 7325 : if (g->transparent >= 0) { - - 008f8 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 008ff 83 78 2c 00 cmp DWORD PTR [rax+44], 0 - 00903 7c 24 jl SHORT $LN51@stbi__gif_ - -; 7326 : g->pal[g->transparent][3] = 0; - - 00905 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 0090c 48 63 40 2c movsxd rax, DWORD PTR [rax+44] - 00910 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00917 48 8d 44 81 34 lea rax, QWORD PTR [rcx+rax*4+52] - 0091c b9 01 00 00 00 mov ecx, 1 - 00921 48 6b c9 03 imul rcx, rcx, 3 - 00925 c6 04 08 00 mov BYTE PTR [rax+rcx], 0 -$LN51@stbi__gif_: - -; 7327 : } -; 7328 : } else { - - 00929 eb 20 jmp SHORT $LN50@stbi__gif_ -$LN49@stbi__gif_: - -; 7329 : // don't need transparent -; 7330 : stbi__skip(s, 1); - - 0092b ba 01 00 00 00 mov edx, 1 - 00930 48 8b 8d 60 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00937 e8 00 00 00 00 call stbi__skip - 0093c 90 npad 1 - -; 7331 : g->transparent = -1; - - 0093d 48 8b 85 68 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 00944 c7 40 2c ff ff - ff ff mov DWORD PTR [rax+44], -1 -$LN50@stbi__gif_: - -; 7332 : } -; 7333 : } else { - - 0094b eb 15 jmp SHORT $LN47@stbi__gif_ -$LN46@stbi__gif_: - -; 7334 : stbi__skip(s, len); - - 0094d 8b 95 44 01 00 - 00 mov edx, DWORD PTR len$7[rbp] - 00953 48 8b 8d 60 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0095a e8 00 00 00 00 call stbi__skip - 0095f 90 npad 1 - -; 7335 : break; - - 00960 eb 6f jmp SHORT $LN11@stbi__gif_ -$LN47@stbi__gif_: -$LN45@stbi__gif_: -$LN16@stbi__gif_: - -; 7336 : } -; 7337 : } -; 7338 : while ((len = stbi__get8(s)) != 0) { - - 00962 48 8b 8d 60 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00969 e8 00 00 00 00 call stbi__get8 - 0096e 0f b6 c0 movzx eax, al - 00971 89 85 44 01 00 - 00 mov DWORD PTR len$7[rbp], eax - 00977 83 bd 44 01 00 - 00 00 cmp DWORD PTR len$7[rbp], 0 - 0097e 74 15 je SHORT $LN17@stbi__gif_ - -; 7339 : stbi__skip(s, len); - - 00980 8b 95 44 01 00 - 00 mov edx, DWORD PTR len$7[rbp] - 00986 48 8b 8d 60 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0098d e8 00 00 00 00 call stbi__skip - 00992 90 npad 1 - -; 7340 : } - - 00993 eb cd jmp SHORT $LN16@stbi__gif_ -$LN17@stbi__gif_: - -; 7341 : break; - - 00995 eb 3a jmp SHORT $LN11@stbi__gif_ -$LN52@stbi__gif_: - -; 7342 : } -; 7343 : -; 7344 : case 0x3B: // gif stream termination code -; 7345 : return (stbi_uc *)s; // using '1' causes warning on some compilers - - 00997 48 8b 85 60 02 - 00 00 mov rax, QWORD PTR s$[rbp] - 0099e eb 36 jmp SHORT $LN1@stbi__gif_ -$LN53@stbi__gif_: - -; 7346 : -; 7347 : default: -; 7348 : return stbi__errpuc("unknown code", "Corrupt GIF"); - - 009a0 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0N@DJABBOOH@unknown?5code@ - 009a7 e8 00 00 00 00 call stbi__err - 009ac 85 c0 test eax, eax - 009ae 74 0d je SHORT $LN65@stbi__gif_ - 009b0 48 c7 85 38 02 - 00 00 00 00 00 - 00 mov QWORD PTR tv409[rbp], 0 - 009bb eb 0b jmp SHORT $LN66@stbi__gif_ -$LN65@stbi__gif_: - 009bd 48 c7 85 38 02 - 00 00 00 00 00 - 00 mov QWORD PTR tv409[rbp], 0 -$LN66@stbi__gif_: - 009c8 48 8b 85 38 02 - 00 00 mov rax, QWORD PTR tv409[rbp] - 009cf eb 05 jmp SHORT $LN1@stbi__gif_ -$LN11@stbi__gif_: - -; 7349 : } -; 7350 : } - - 009d1 e9 ae f9 ff ff jmp $LN8@stbi__gif_ -$LN1@stbi__gif_: - -; 7351 : } - - 009d6 48 8d a5 48 02 - 00 00 lea rsp, QWORD PTR [rbp+584] - 009dd 5f pop rdi - 009de 5d pop rbp - 009df c3 ret 0 -stbi__gif_load_next ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__process_gif_raster -_TEXT SEGMENT -lzw_cs$ = 4 -len$ = 36 -init_code$ = 68 -first$ = 100 -codesize$ = 132 -codemask$ = 164 -avail$ = 196 -oldcode$ = 228 -bits$ = 260 -valid_bits$ = 292 -clear$ = 324 -p$ = 360 -code$1 = 388 -tv192 = 596 -tv242 = 596 -tv246 = 596 -tv273 = 596 -tv297 = 596 -tv163 = 600 -tv174 = 600 -tv198 = 600 -tv210 = 600 -s$ = 640 -g$ = 648 -stbi__process_gif_raster PROC ; COMDAT - -; 7077 : { - - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec 88 02 - 00 00 sub rsp, 648 ; 00000288H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 7078 : stbi_uc lzw_cs; -; 7079 : stbi__int32 len, init_code; -; 7080 : stbi__uint32 first; -; 7081 : stbi__int32 codesize, codemask, avail, oldcode, bits, valid_bits, clear; -; 7082 : stbi__gif_lzw *p; -; 7083 : -; 7084 : lzw_cs = stbi__get8(s); - - 00025 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0002c e8 00 00 00 00 call stbi__get8 - 00031 88 45 04 mov BYTE PTR lzw_cs$[rbp], al - -; 7085 : if (lzw_cs > 12) - - 00034 0f b6 45 04 movzx eax, BYTE PTR lzw_cs$[rbp] - 00038 83 f8 0c cmp eax, 12 - 0003b 7e 07 jle SHORT $LN10@stbi__proc - -; 7086 : return NULL; - - 0003d 33 c0 xor eax, eax - 0003f e9 a2 04 00 00 jmp $LN1@stbi__proc -$LN10@stbi__proc: - -; 7087 : clear = 1 << lzw_cs; - - 00044 0f b6 45 04 movzx eax, BYTE PTR lzw_cs$[rbp] - 00048 b9 01 00 00 00 mov ecx, 1 - 0004d 89 8d 54 02 00 - 00 mov DWORD PTR tv242[rbp], ecx - 00053 0f b6 c8 movzx ecx, al - 00056 8b 85 54 02 00 - 00 mov eax, DWORD PTR tv242[rbp] - 0005c d3 e0 shl eax, cl - 0005e 89 85 44 01 00 - 00 mov DWORD PTR clear$[rbp], eax - -; 7088 : first = 1; - - 00064 c7 45 64 01 00 - 00 00 mov DWORD PTR first$[rbp], 1 - -; 7089 : codesize = lzw_cs + 1; - - 0006b 0f b6 45 04 movzx eax, BYTE PTR lzw_cs$[rbp] - 0006f ff c0 inc eax - 00071 89 85 84 00 00 - 00 mov DWORD PTR codesize$[rbp], eax - -; 7090 : codemask = (1 << codesize) - 1; - - 00077 8b 85 84 00 00 - 00 mov eax, DWORD PTR codesize$[rbp] - 0007d b9 01 00 00 00 mov ecx, 1 - 00082 89 8d 54 02 00 - 00 mov DWORD PTR tv246[rbp], ecx - 00088 0f b6 c8 movzx ecx, al - 0008b 8b 85 54 02 00 - 00 mov eax, DWORD PTR tv246[rbp] - 00091 d3 e0 shl eax, cl - 00093 ff c8 dec eax - 00095 89 85 a4 00 00 - 00 mov DWORD PTR codemask$[rbp], eax - -; 7091 : bits = 0; - - 0009b c7 85 04 01 00 - 00 00 00 00 00 mov DWORD PTR bits$[rbp], 0 - -; 7092 : valid_bits = 0; - - 000a5 c7 85 24 01 00 - 00 00 00 00 00 mov DWORD PTR valid_bits$[rbp], 0 - -; 7093 : for (init_code = 0; init_code < clear; init_code++) { - - 000af c7 45 44 00 00 - 00 00 mov DWORD PTR init_code$[rbp], 0 - 000b6 eb 08 jmp SHORT $LN4@stbi__proc -$LN2@stbi__proc: - 000b8 8b 45 44 mov eax, DWORD PTR init_code$[rbp] - 000bb ff c0 inc eax - 000bd 89 45 44 mov DWORD PTR init_code$[rbp], eax -$LN4@stbi__proc: - 000c0 8b 85 44 01 00 - 00 mov eax, DWORD PTR clear$[rbp] - 000c6 39 45 44 cmp DWORD PTR init_code$[rbp], eax - 000c9 7d 46 jge SHORT $LN3@stbi__proc - -; 7094 : g->codes[init_code].prefix = -1; - - 000cb 48 63 45 44 movsxd rax, DWORD PTR init_code$[rbp] - 000cf b9 ff ff ff ff mov ecx, -1 - 000d4 48 8b 95 88 02 - 00 00 mov rdx, QWORD PTR g$[rbp] - 000db 66 89 8c 82 34 - 08 00 00 mov WORD PTR [rdx+rax*4+2100], cx - -; 7095 : g->codes[init_code].first = (stbi_uc)init_code; - - 000e3 48 63 45 44 movsxd rax, DWORD PTR init_code$[rbp] - 000e7 48 8b 8d 88 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 000ee 0f b6 55 44 movzx edx, BYTE PTR init_code$[rbp] - 000f2 88 94 81 36 08 - 00 00 mov BYTE PTR [rcx+rax*4+2102], dl - -; 7096 : g->codes[init_code].suffix = (stbi_uc)init_code; - - 000f9 48 63 45 44 movsxd rax, DWORD PTR init_code$[rbp] - 000fd 48 8b 8d 88 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00104 0f b6 55 44 movzx edx, BYTE PTR init_code$[rbp] - 00108 88 94 81 37 08 - 00 00 mov BYTE PTR [rcx+rax*4+2103], dl - -; 7097 : } - - 0010f eb a7 jmp SHORT $LN2@stbi__proc -$LN3@stbi__proc: - -; 7098 : -; 7099 : // support no starting clear code -; 7100 : avail = clear + 2; - - 00111 8b 85 44 01 00 - 00 mov eax, DWORD PTR clear$[rbp] - 00117 83 c0 02 add eax, 2 - 0011a 89 85 c4 00 00 - 00 mov DWORD PTR avail$[rbp], eax - -; 7101 : oldcode = -1; - - 00120 c7 85 e4 00 00 - 00 ff ff ff ff mov DWORD PTR oldcode$[rbp], -1 - -; 7102 : -; 7103 : len = 0; - - 0012a c7 45 24 00 00 - 00 00 mov DWORD PTR len$[rbp], 0 -$LN5@stbi__proc: - -; 7104 : for (;;) { -; 7105 : if (valid_bits < codesize) { - - 00131 8b 85 84 00 00 - 00 mov eax, DWORD PTR codesize$[rbp] - 00137 39 85 24 01 00 - 00 cmp DWORD PTR valid_bits$[rbp], eax - 0013d 7d 71 jge SHORT $LN11@stbi__proc - -; 7106 : if (len == 0) { - - 0013f 83 7d 24 00 cmp DWORD PTR len$[rbp], 0 - 00143 75 28 jne SHORT $LN13@stbi__proc - -; 7107 : len = stbi__get8(s); // start new block - - 00145 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0014c e8 00 00 00 00 call stbi__get8 - 00151 0f b6 c0 movzx eax, al - 00154 89 45 24 mov DWORD PTR len$[rbp], eax - -; 7108 : if (len == 0) - - 00157 83 7d 24 00 cmp DWORD PTR len$[rbp], 0 - 0015b 75 10 jne SHORT $LN14@stbi__proc - -; 7109 : return g->out; - - 0015d 48 8b 85 88 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 00164 48 8b 40 08 mov rax, QWORD PTR [rax+8] - 00168 e9 79 03 00 00 jmp $LN1@stbi__proc -$LN14@stbi__proc: -$LN13@stbi__proc: - -; 7110 : } -; 7111 : --len; - - 0016d 8b 45 24 mov eax, DWORD PTR len$[rbp] - 00170 ff c8 dec eax - 00172 89 45 24 mov DWORD PTR len$[rbp], eax - -; 7112 : bits |= (stbi__int32)stbi__get8(s) << valid_bits; - - 00175 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0017c e8 00 00 00 00 call stbi__get8 - 00181 0f b6 c0 movzx eax, al - 00184 8b 8d 24 01 00 - 00 mov ecx, DWORD PTR valid_bits$[rbp] - 0018a d3 e0 shl eax, cl - 0018c 8b 8d 04 01 00 - 00 mov ecx, DWORD PTR bits$[rbp] - 00192 0b c8 or ecx, eax - 00194 8b c1 mov eax, ecx - 00196 89 85 04 01 00 - 00 mov DWORD PTR bits$[rbp], eax - -; 7113 : valid_bits += 8; - - 0019c 8b 85 24 01 00 - 00 mov eax, DWORD PTR valid_bits$[rbp] - 001a2 83 c0 08 add eax, 8 - 001a5 89 85 24 01 00 - 00 mov DWORD PTR valid_bits$[rbp], eax - -; 7114 : } else { - - 001ab e9 31 03 00 00 jmp $LN12@stbi__proc -$LN11@stbi__proc: - -; 7115 : stbi__int32 code = bits & codemask; - - 001b0 8b 85 a4 00 00 - 00 mov eax, DWORD PTR codemask$[rbp] - 001b6 8b 8d 04 01 00 - 00 mov ecx, DWORD PTR bits$[rbp] - 001bc 23 c8 and ecx, eax - 001be 8b c1 mov eax, ecx - 001c0 89 85 84 01 00 - 00 mov DWORD PTR code$1[rbp], eax - -; 7116 : bits >>= codesize; - - 001c6 8b 85 84 00 00 - 00 mov eax, DWORD PTR codesize$[rbp] - 001cc 0f b6 c8 movzx ecx, al - 001cf 8b 85 04 01 00 - 00 mov eax, DWORD PTR bits$[rbp] - 001d5 d3 f8 sar eax, cl - 001d7 89 85 04 01 00 - 00 mov DWORD PTR bits$[rbp], eax - -; 7117 : valid_bits -= codesize; - - 001dd 8b 85 84 00 00 - 00 mov eax, DWORD PTR codesize$[rbp] - 001e3 8b 8d 24 01 00 - 00 mov ecx, DWORD PTR valid_bits$[rbp] - 001e9 2b c8 sub ecx, eax - 001eb 8b c1 mov eax, ecx - 001ed 89 85 24 01 00 - 00 mov DWORD PTR valid_bits$[rbp], eax - -; 7118 : // @OPTIMIZE: is there some way we can accelerate the non-clear path? -; 7119 : if (code == clear) { // clear code - - 001f3 8b 85 44 01 00 - 00 mov eax, DWORD PTR clear$[rbp] - 001f9 39 85 84 01 00 - 00 cmp DWORD PTR code$1[rbp], eax - 001ff 75 55 jne SHORT $LN15@stbi__proc - -; 7120 : codesize = lzw_cs + 1; - - 00201 0f b6 45 04 movzx eax, BYTE PTR lzw_cs$[rbp] - 00205 ff c0 inc eax - 00207 89 85 84 00 00 - 00 mov DWORD PTR codesize$[rbp], eax - -; 7121 : codemask = (1 << codesize) - 1; - - 0020d 8b 85 84 00 00 - 00 mov eax, DWORD PTR codesize$[rbp] - 00213 b9 01 00 00 00 mov ecx, 1 - 00218 89 8d 54 02 00 - 00 mov DWORD PTR tv273[rbp], ecx - 0021e 0f b6 c8 movzx ecx, al - 00221 8b 85 54 02 00 - 00 mov eax, DWORD PTR tv273[rbp] - 00227 d3 e0 shl eax, cl - 00229 ff c8 dec eax - 0022b 89 85 a4 00 00 - 00 mov DWORD PTR codemask$[rbp], eax - -; 7122 : avail = clear + 2; - - 00231 8b 85 44 01 00 - 00 mov eax, DWORD PTR clear$[rbp] - 00237 83 c0 02 add eax, 2 - 0023a 89 85 c4 00 00 - 00 mov DWORD PTR avail$[rbp], eax - -; 7123 : oldcode = -1; - - 00240 c7 85 e4 00 00 - 00 ff ff ff ff mov DWORD PTR oldcode$[rbp], -1 - -; 7124 : first = 0; - - 0024a c7 45 64 00 00 - 00 00 mov DWORD PTR first$[rbp], 0 - 00251 e9 8b 02 00 00 jmp $LN16@stbi__proc -$LN15@stbi__proc: - -; 7125 : } else if (code == clear + 1) { // end of stream code - - 00256 8b 85 44 01 00 - 00 mov eax, DWORD PTR clear$[rbp] - 0025c ff c0 inc eax - 0025e 39 85 84 01 00 - 00 cmp DWORD PTR code$1[rbp], eax - 00264 75 4f jne SHORT $LN17@stbi__proc - -; 7126 : stbi__skip(s, len); - - 00266 8b 55 24 mov edx, DWORD PTR len$[rbp] - 00269 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00270 e8 00 00 00 00 call stbi__skip - 00275 90 npad 1 -$LN8@stbi__proc: - -; 7127 : while ((len = stbi__get8(s)) > 0) - - 00276 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0027d e8 00 00 00 00 call stbi__get8 - 00282 0f b6 c0 movzx eax, al - 00285 89 45 24 mov DWORD PTR len$[rbp], eax - 00288 83 7d 24 00 cmp DWORD PTR len$[rbp], 0 - 0028c 7e 12 jle SHORT $LN9@stbi__proc - -; 7128 : stbi__skip(s, len); - - 0028e 8b 55 24 mov edx, DWORD PTR len$[rbp] - 00291 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00298 e8 00 00 00 00 call stbi__skip - 0029d 90 npad 1 - 0029e eb d6 jmp SHORT $LN8@stbi__proc -$LN9@stbi__proc: - -; 7129 : return g->out; - - 002a0 48 8b 85 88 02 - 00 00 mov rax, QWORD PTR g$[rbp] - 002a7 48 8b 40 08 mov rax, QWORD PTR [rax+8] - 002ab e9 36 02 00 00 jmp $LN1@stbi__proc - 002b0 e9 2c 02 00 00 jmp $LN18@stbi__proc -$LN17@stbi__proc: - -; 7130 : } else if (code <= avail) { - - 002b5 8b 85 c4 00 00 - 00 mov eax, DWORD PTR avail$[rbp] - 002bb 39 85 84 01 00 - 00 cmp DWORD PTR code$1[rbp], eax - 002c1 0f 8f e9 01 00 - 00 jg $LN19@stbi__proc - -; 7131 : if (first) { - - 002c7 83 7d 64 00 cmp DWORD PTR first$[rbp], 0 - 002cb 74 34 je SHORT $LN21@stbi__proc - -; 7132 : return stbi__errpuc("no clear code", "Corrupt GIF"); - - 002cd 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0O@MGDACKOJ@no?5clear?5code@ - 002d4 e8 00 00 00 00 call stbi__err - 002d9 85 c0 test eax, eax - 002db 74 0d je SHORT $LN28@stbi__proc - 002dd 48 c7 85 58 02 - 00 00 00 00 00 - 00 mov QWORD PTR tv163[rbp], 0 - 002e8 eb 0b jmp SHORT $LN29@stbi__proc -$LN28@stbi__proc: - 002ea 48 c7 85 58 02 - 00 00 00 00 00 - 00 mov QWORD PTR tv163[rbp], 0 -$LN29@stbi__proc: - 002f5 48 8b 85 58 02 - 00 00 mov rax, QWORD PTR tv163[rbp] - 002fc e9 e5 01 00 00 jmp $LN1@stbi__proc -$LN21@stbi__proc: - -; 7133 : } -; 7134 : -; 7135 : if (oldcode >= 0) { - - 00301 83 bd e4 00 00 - 00 00 cmp DWORD PTR oldcode$[rbp], 0 - 00308 0f 8c ec 00 00 - 00 jl $LN22@stbi__proc - -; 7136 : p = &g->codes[avail++]; - - 0030e 48 63 85 c4 00 - 00 00 movsxd rax, DWORD PTR avail$[rbp] - 00315 48 8b 8d 88 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 0031c 48 8d 84 81 34 - 08 00 00 lea rax, QWORD PTR [rcx+rax*4+2100] - 00324 48 89 85 68 01 - 00 00 mov QWORD PTR p$[rbp], rax - 0032b 8b 85 c4 00 00 - 00 mov eax, DWORD PTR avail$[rbp] - 00331 ff c0 inc eax - 00333 89 85 c4 00 00 - 00 mov DWORD PTR avail$[rbp], eax - -; 7137 : if (avail > 8192) { - - 00339 81 bd c4 00 00 - 00 00 20 00 00 cmp DWORD PTR avail$[rbp], 8192 ; 00002000H - 00343 7e 34 jle SHORT $LN24@stbi__proc - -; 7138 : return stbi__errpuc("too many codes", - - 00345 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0P@GJNJCPDJ@too?5many?5codes@ - 0034c e8 00 00 00 00 call stbi__err - 00351 85 c0 test eax, eax - 00353 74 0d je SHORT $LN30@stbi__proc - 00355 48 c7 85 58 02 - 00 00 00 00 00 - 00 mov QWORD PTR tv174[rbp], 0 - 00360 eb 0b jmp SHORT $LN31@stbi__proc -$LN30@stbi__proc: - 00362 48 c7 85 58 02 - 00 00 00 00 00 - 00 mov QWORD PTR tv174[rbp], 0 -$LN31@stbi__proc: - 0036d 48 8b 85 58 02 - 00 00 mov rax, QWORD PTR tv174[rbp] - 00374 e9 6d 01 00 00 jmp $LN1@stbi__proc -$LN24@stbi__proc: - -; 7139 : "Corrupt GIF"); -; 7140 : } -; 7141 : -; 7142 : p->prefix = (stbi__int16)oldcode; - - 00379 48 8b 85 68 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 00380 0f b7 8d e4 00 - 00 00 movzx ecx, WORD PTR oldcode$[rbp] - 00387 66 89 08 mov WORD PTR [rax], cx - -; 7143 : p->first = g->codes[oldcode].first; - - 0038a 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR oldcode$[rbp] - 00391 48 8b 8d 68 01 - 00 00 mov rcx, QWORD PTR p$[rbp] - 00398 48 8b 95 88 02 - 00 00 mov rdx, QWORD PTR g$[rbp] - 0039f 0f b6 84 82 36 - 08 00 00 movzx eax, BYTE PTR [rdx+rax*4+2102] - 003a7 88 41 02 mov BYTE PTR [rcx+2], al - -; 7144 : p->suffix = (code == avail) ? p->first : - - 003aa 8b 85 c4 00 00 - 00 mov eax, DWORD PTR avail$[rbp] - 003b0 39 85 84 01 00 - 00 cmp DWORD PTR code$1[rbp], eax - 003b6 75 13 jne SHORT $LN32@stbi__proc - 003b8 48 8b 85 68 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 003bf 0f b6 40 02 movzx eax, BYTE PTR [rax+2] - 003c3 89 85 54 02 00 - 00 mov DWORD PTR tv192[rbp], eax - 003c9 eb 1c jmp SHORT $LN33@stbi__proc -$LN32@stbi__proc: - 003cb 48 63 85 84 01 - 00 00 movsxd rax, DWORD PTR code$1[rbp] - 003d2 48 8b 8d 88 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 003d9 0f b6 84 81 36 - 08 00 00 movzx eax, BYTE PTR [rcx+rax*4+2102] - 003e1 89 85 54 02 00 - 00 mov DWORD PTR tv192[rbp], eax -$LN33@stbi__proc: - 003e7 48 8b 85 68 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 003ee 0f b6 8d 54 02 - 00 00 movzx ecx, BYTE PTR tv192[rbp] - 003f5 88 48 03 mov BYTE PTR [rax+3], cl - 003f8 eb 42 jmp SHORT $LN23@stbi__proc -$LN22@stbi__proc: - -; 7145 : g->codes[code].first; -; 7146 : } else if (code == avail) - - 003fa 8b 85 c4 00 00 - 00 mov eax, DWORD PTR avail$[rbp] - 00400 39 85 84 01 00 - 00 cmp DWORD PTR code$1[rbp], eax - 00406 75 34 jne SHORT $LN25@stbi__proc - -; 7147 : return stbi__errpuc("illegal code in raster", - - 00408 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BH@LOKBIIOJ@illegal?5code?5in?5raster@ - 0040f e8 00 00 00 00 call stbi__err - 00414 85 c0 test eax, eax - 00416 74 0d je SHORT $LN34@stbi__proc - 00418 48 c7 85 58 02 - 00 00 00 00 00 - 00 mov QWORD PTR tv198[rbp], 0 - 00423 eb 0b jmp SHORT $LN35@stbi__proc -$LN34@stbi__proc: - 00425 48 c7 85 58 02 - 00 00 00 00 00 - 00 mov QWORD PTR tv198[rbp], 0 -$LN35@stbi__proc: - 00430 48 8b 85 58 02 - 00 00 mov rax, QWORD PTR tv198[rbp] - 00437 e9 aa 00 00 00 jmp $LN1@stbi__proc -$LN25@stbi__proc: -$LN23@stbi__proc: - -; 7148 : "Corrupt GIF"); -; 7149 : -; 7150 : stbi__out_gif_code(g, (stbi__uint16)code); - - 0043c 0f b7 95 84 01 - 00 00 movzx edx, WORD PTR code$1[rbp] - 00443 48 8b 8d 88 02 - 00 00 mov rcx, QWORD PTR g$[rbp] - 0044a e8 00 00 00 00 call stbi__out_gif_code - 0044f 90 npad 1 - -; 7151 : -; 7152 : if ((avail & codemask) == 0 && avail <= 0x0FFF) { - - 00450 8b 85 a4 00 00 - 00 mov eax, DWORD PTR codemask$[rbp] - 00456 8b 8d c4 00 00 - 00 mov ecx, DWORD PTR avail$[rbp] - 0045c 23 c8 and ecx, eax - 0045e 8b c1 mov eax, ecx - 00460 85 c0 test eax, eax - 00462 75 3e jne SHORT $LN26@stbi__proc - 00464 81 bd c4 00 00 - 00 ff 0f 00 00 cmp DWORD PTR avail$[rbp], 4095 ; 00000fffH - 0046e 7f 32 jg SHORT $LN26@stbi__proc - -; 7153 : codesize++; - - 00470 8b 85 84 00 00 - 00 mov eax, DWORD PTR codesize$[rbp] - 00476 ff c0 inc eax - 00478 89 85 84 00 00 - 00 mov DWORD PTR codesize$[rbp], eax - -; 7154 : codemask = (1 << codesize) - 1; - - 0047e 8b 85 84 00 00 - 00 mov eax, DWORD PTR codesize$[rbp] - 00484 b9 01 00 00 00 mov ecx, 1 - 00489 89 8d 54 02 00 - 00 mov DWORD PTR tv297[rbp], ecx - 0048f 0f b6 c8 movzx ecx, al - 00492 8b 85 54 02 00 - 00 mov eax, DWORD PTR tv297[rbp] - 00498 d3 e0 shl eax, cl - 0049a ff c8 dec eax - 0049c 89 85 a4 00 00 - 00 mov DWORD PTR codemask$[rbp], eax -$LN26@stbi__proc: - -; 7155 : } -; 7156 : -; 7157 : oldcode = code; - - 004a2 8b 85 84 01 00 - 00 mov eax, DWORD PTR code$1[rbp] - 004a8 89 85 e4 00 00 - 00 mov DWORD PTR oldcode$[rbp], eax - -; 7158 : } else { - - 004ae eb 31 jmp SHORT $LN20@stbi__proc -$LN19@stbi__proc: - -; 7159 : return stbi__errpuc("illegal code in raster", "Corrupt GIF"); - - 004b0 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BH@LOKBIIOJ@illegal?5code?5in?5raster@ - 004b7 e8 00 00 00 00 call stbi__err - 004bc 85 c0 test eax, eax - 004be 74 0d je SHORT $LN36@stbi__proc - 004c0 48 c7 85 58 02 - 00 00 00 00 00 - 00 mov QWORD PTR tv210[rbp], 0 - 004cb eb 0b jmp SHORT $LN37@stbi__proc -$LN36@stbi__proc: - 004cd 48 c7 85 58 02 - 00 00 00 00 00 - 00 mov QWORD PTR tv210[rbp], 0 -$LN37@stbi__proc: - 004d8 48 8b 85 58 02 - 00 00 mov rax, QWORD PTR tv210[rbp] - 004df eb 05 jmp SHORT $LN1@stbi__proc -$LN20@stbi__proc: -$LN18@stbi__proc: -$LN16@stbi__proc: -$LN12@stbi__proc: - -; 7160 : } -; 7161 : } -; 7162 : } - - 004e1 e9 4b fc ff ff jmp $LN5@stbi__proc -$LN1@stbi__proc: - -; 7163 : } - - 004e6 48 8d a5 68 02 - 00 00 lea rsp, QWORD PTR [rbp+616] - 004ed 5f pop rdi - 004ee 5d pop rbp - 004ef c3 ret 0 -stbi__process_gif_raster ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__out_gif_code -_TEXT SEGMENT -p$ = 8 -c$ = 40 -idx$ = 68 -tv257 = 276 -g$ = 320 -code$ = 328 -stbi__out_gif_code PROC ; COMDAT - -; 7039 : { - - 00000 66 89 54 24 10 mov WORD PTR [rsp+16], dx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec 48 01 - 00 00 sub rsp, 328 ; 00000148H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 7040 : stbi_uc *p, *c; -; 7041 : int idx; -; 7042 : -; 7043 : // recurse to decode the prefixes, since the linked-list is backwards, -; 7044 : // and working backwards through an interleaved image would be nasty -; 7045 : if (g->codes[code].prefix >= 0) - - 00025 0f b7 85 48 01 - 00 00 movzx eax, WORD PTR code$[rbp] - 0002c 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00033 0f bf 84 81 34 - 08 00 00 movsx eax, WORD PTR [rcx+rax*4+2100] - 0003b 85 c0 test eax, eax - 0003d 7c 23 jl SHORT $LN4@stbi__out_ - -; 7046 : stbi__out_gif_code(g, g->codes[code].prefix); - - 0003f 0f b7 85 48 01 - 00 00 movzx eax, WORD PTR code$[rbp] - 00046 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 0004d 0f b7 94 81 34 - 08 00 00 movzx edx, WORD PTR [rcx+rax*4+2100] - 00055 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 0005c e8 00 00 00 00 call stbi__out_gif_code - 00061 90 npad 1 -$LN4@stbi__out_: - -; 7047 : -; 7048 : if (g->cur_y >= g->max_y) - - 00062 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR g$[rbp] - 00069 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00070 8b 89 58 88 00 - 00 mov ecx, DWORD PTR [rcx+34904] - 00076 39 88 60 88 00 - 00 cmp DWORD PTR [rax+34912], ecx - 0007c 7c 05 jl SHORT $LN5@stbi__out_ - -; 7049 : return; - - 0007e e9 64 02 00 00 jmp $LN1@stbi__out_ -$LN5@stbi__out_: - -; 7050 : -; 7051 : idx = g->cur_x + g->cur_y; - - 00083 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR g$[rbp] - 0008a 8b 80 5c 88 00 - 00 mov eax, DWORD PTR [rax+34908] - 00090 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00097 03 81 60 88 00 - 00 add eax, DWORD PTR [rcx+34912] - 0009d 89 45 44 mov DWORD PTR idx$[rbp], eax - -; 7052 : p = &g->out[idx]; - - 000a0 48 63 45 44 movsxd rax, DWORD PTR idx$[rbp] - 000a4 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 000ab 48 8b 49 08 mov rcx, QWORD PTR [rcx+8] - 000af 48 03 c8 add rcx, rax - 000b2 48 8b c1 mov rax, rcx - 000b5 48 89 45 08 mov QWORD PTR p$[rbp], rax - -; 7053 : g->history[idx / 4] = 1; - - 000b9 8b 45 44 mov eax, DWORD PTR idx$[rbp] - 000bc 99 cdq - 000bd 83 e2 03 and edx, 3 - 000c0 03 c2 add eax, edx - 000c2 c1 f8 02 sar eax, 2 - 000c5 48 98 cdqe - 000c7 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 000ce 48 8b 49 18 mov rcx, QWORD PTR [rcx+24] - 000d2 c6 04 01 01 mov BYTE PTR [rcx+rax], 1 - -; 7054 : -; 7055 : c = &g->color_table[g->codes[code].suffix * 4]; - - 000d6 0f b7 85 48 01 - 00 00 movzx eax, WORD PTR code$[rbp] - 000dd 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 000e4 0f b6 84 81 37 - 08 00 00 movzx eax, BYTE PTR [rcx+rax*4+2103] - 000ec c1 e0 02 shl eax, 2 - 000ef 48 98 cdqe - 000f1 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 000f8 48 8b 89 38 88 - 00 00 mov rcx, QWORD PTR [rcx+34872] - 000ff 48 03 c8 add rcx, rax - 00102 48 8b c1 mov rax, rcx - 00105 48 89 45 28 mov QWORD PTR c$[rbp], rax - -; 7056 : if (c[3] > 128) { // don't render transparent pixels; - - 00109 b8 01 00 00 00 mov eax, 1 - 0010e 48 6b c0 03 imul rax, rax, 3 - 00112 48 8b 4d 28 mov rcx, QWORD PTR c$[rbp] - 00116 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0011a 3d 80 00 00 00 cmp eax, 128 ; 00000080H - 0011f 0f 8e 88 00 00 - 00 jle $LN6@stbi__out_ - -; 7057 : p[0] = c[2]; - - 00125 b8 01 00 00 00 mov eax, 1 - 0012a 48 6b c0 02 imul rax, rax, 2 - 0012e b9 01 00 00 00 mov ecx, 1 - 00133 48 6b c9 00 imul rcx, rcx, 0 - 00137 48 8b 55 08 mov rdx, QWORD PTR p$[rbp] - 0013b 4c 8b 45 28 mov r8, QWORD PTR c$[rbp] - 0013f 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 00144 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 7058 : p[1] = c[1]; - - 00147 b8 01 00 00 00 mov eax, 1 - 0014c 48 6b c0 01 imul rax, rax, 1 - 00150 b9 01 00 00 00 mov ecx, 1 - 00155 48 6b c9 01 imul rcx, rcx, 1 - 00159 48 8b 55 08 mov rdx, QWORD PTR p$[rbp] - 0015d 4c 8b 45 28 mov r8, QWORD PTR c$[rbp] - 00161 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 00166 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 7059 : p[2] = c[0]; - - 00169 b8 01 00 00 00 mov eax, 1 - 0016e 48 6b c0 00 imul rax, rax, 0 - 00172 b9 01 00 00 00 mov ecx, 1 - 00177 48 6b c9 02 imul rcx, rcx, 2 - 0017b 48 8b 55 08 mov rdx, QWORD PTR p$[rbp] - 0017f 4c 8b 45 28 mov r8, QWORD PTR c$[rbp] - 00183 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 00188 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 7060 : p[3] = c[3]; - - 0018b b8 01 00 00 00 mov eax, 1 - 00190 48 6b c0 03 imul rax, rax, 3 - 00194 b9 01 00 00 00 mov ecx, 1 - 00199 48 6b c9 03 imul rcx, rcx, 3 - 0019d 48 8b 55 08 mov rdx, QWORD PTR p$[rbp] - 001a1 4c 8b 45 28 mov r8, QWORD PTR c$[rbp] - 001a5 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 001aa 88 04 0a mov BYTE PTR [rdx+rcx], al -$LN6@stbi__out_: - -; 7061 : } -; 7062 : g->cur_x += 4; - - 001ad 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR g$[rbp] - 001b4 8b 80 5c 88 00 - 00 mov eax, DWORD PTR [rax+34908] - 001ba 83 c0 04 add eax, 4 - 001bd 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 001c4 89 81 5c 88 00 - 00 mov DWORD PTR [rcx+34908], eax - -; 7063 : -; 7064 : if (g->cur_x >= g->max_x) { - - 001ca 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR g$[rbp] - 001d1 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 001d8 8b 89 54 88 00 - 00 mov ecx, DWORD PTR [rcx+34900] - 001de 39 88 5c 88 00 - 00 cmp DWORD PTR [rax+34908], ecx - 001e4 0f 8c fd 00 00 - 00 jl $LN7@stbi__out_ - -; 7065 : g->cur_x = g->start_x; - - 001ea 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR g$[rbp] - 001f1 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 001f8 8b 89 4c 88 00 - 00 mov ecx, DWORD PTR [rcx+34892] - 001fe 89 88 5c 88 00 - 00 mov DWORD PTR [rax+34908], ecx - -; 7066 : g->cur_y += g->step; - - 00204 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR g$[rbp] - 0020b 8b 80 60 88 00 - 00 mov eax, DWORD PTR [rax+34912] - 00211 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00218 03 81 44 88 00 - 00 add eax, DWORD PTR [rcx+34884] - 0021e 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00225 89 81 60 88 00 - 00 mov DWORD PTR [rcx+34912], eax -$LN2@stbi__out_: - -; 7067 : -; 7068 : while (g->cur_y >= g->max_y && g->parse > 0) { - - 0022b 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR g$[rbp] - 00232 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00239 8b 89 58 88 00 - 00 mov ecx, DWORD PTR [rcx+34904] - 0023f 39 88 60 88 00 - 00 cmp DWORD PTR [rax+34912], ecx - 00245 0f 8c 9c 00 00 - 00 jl $LN3@stbi__out_ - 0024b 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR g$[rbp] - 00252 83 b8 40 88 00 - 00 00 cmp DWORD PTR [rax+34880], 0 - 00259 0f 8e 88 00 00 - 00 jle $LN3@stbi__out_ - -; 7069 : g->step = (1 << g->parse) * g->line_size; - - 0025f 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR g$[rbp] - 00266 8b 80 40 88 00 - 00 mov eax, DWORD PTR [rax+34880] - 0026c b9 01 00 00 00 mov ecx, 1 - 00271 89 8d 14 01 00 - 00 mov DWORD PTR tv257[rbp], ecx - 00277 0f b6 c8 movzx ecx, al - 0027a 8b 85 14 01 00 - 00 mov eax, DWORD PTR tv257[rbp] - 00280 d3 e0 shl eax, cl - 00282 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00289 0f af 81 64 88 - 00 00 imul eax, DWORD PTR [rcx+34916] - 00290 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00297 89 81 44 88 00 - 00 mov DWORD PTR [rcx+34884], eax - -; 7070 : g->cur_y = g->start_y + (g->step >> 1); - - 0029d 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR g$[rbp] - 002a4 8b 80 44 88 00 - 00 mov eax, DWORD PTR [rax+34884] - 002aa d1 f8 sar eax, 1 - 002ac 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 002b3 03 81 50 88 00 - 00 add eax, DWORD PTR [rcx+34896] - 002b9 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 002c0 89 81 60 88 00 - 00 mov DWORD PTR [rcx+34912], eax - -; 7071 : --g->parse; - - 002c6 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR g$[rbp] - 002cd 8b 80 40 88 00 - 00 mov eax, DWORD PTR [rax+34880] - 002d3 ff c8 dec eax - 002d5 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 002dc 89 81 40 88 00 - 00 mov DWORD PTR [rcx+34880], eax - -; 7072 : } - - 002e2 e9 44 ff ff ff jmp $LN2@stbi__out_ -$LN3@stbi__out_: -$LN7@stbi__out_: -$LN1@stbi__out_: - -; 7073 : } -; 7074 : } - - 002e7 48 8d a5 28 01 - 00 00 lea rsp, QWORD PTR [rbp+296] - 002ee 5f pop rdi - 002ef 5d pop rbp - 002f0 c3 ret 0 -stbi__out_gif_code ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__gif_info_raw -_TEXT SEGMENT -g$ = 8 -s$ = 256 -x$ = 264 -y$ = 272 -comp$ = 280 -stbi__gif_info_raw PROC ; COMDAT - -; 7021 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 7022 : stbi__gif *g = (stbi__gif *)stbi__malloc(sizeof(stbi__gif)); - - 0002f b9 70 88 00 00 mov ecx, 34928 ; 00008870H - 00034 e8 00 00 00 00 call stbi__malloc - 00039 48 89 45 08 mov QWORD PTR g$[rbp], rax - -; 7023 : if (!g) - - 0003d 48 83 7d 08 00 cmp QWORD PTR g$[rbp], 0 - 00042 75 11 jne SHORT $LN2@stbi__gif_ - -; 7024 : return stbi__err("outofmem", "Out of memory"); - - 00044 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 0004b e8 00 00 00 00 call stbi__err - 00050 e9 80 00 00 00 jmp $LN1@stbi__gif_ -$LN2@stbi__gif_: - -; 7025 : if (!stbi__gif_header(s, g, comp, 1)) { - - 00055 41 b9 01 00 00 - 00 mov r9d, 1 - 0005b 4c 8b 85 18 01 - 00 00 mov r8, QWORD PTR comp$[rbp] - 00062 48 8b 55 08 mov rdx, QWORD PTR g$[rbp] - 00066 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0006d e8 00 00 00 00 call stbi__gif_header - 00072 85 c0 test eax, eax - 00074 75 1c jne SHORT $LN3@stbi__gif_ - -; 7026 : STBI_FREE(g); - - 00076 48 8b 4d 08 mov rcx, QWORD PTR g$[rbp] - 0007a ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00080 90 npad 1 - -; 7027 : stbi__rewind(s); - - 00081 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00088 e8 00 00 00 00 call stbi__rewind - 0008d 90 npad 1 - -; 7028 : return 0; - - 0008e 33 c0 xor eax, eax - 00090 eb 43 jmp SHORT $LN1@stbi__gif_ -$LN3@stbi__gif_: - -; 7029 : } -; 7030 : if (x) - - 00092 48 83 bd 08 01 - 00 00 00 cmp QWORD PTR x$[rbp], 0 - 0009a 74 0f je SHORT $LN4@stbi__gif_ - -; 7031 : *x = g->w; - - 0009c 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR x$[rbp] - 000a3 48 8b 4d 08 mov rcx, QWORD PTR g$[rbp] - 000a7 8b 09 mov ecx, DWORD PTR [rcx] - 000a9 89 08 mov DWORD PTR [rax], ecx -$LN4@stbi__gif_: - -; 7032 : if (y) - - 000ab 48 83 bd 10 01 - 00 00 00 cmp QWORD PTR y$[rbp], 0 - 000b3 74 10 je SHORT $LN5@stbi__gif_ - -; 7033 : *y = g->h; - - 000b5 48 8b 85 10 01 - 00 00 mov rax, QWORD PTR y$[rbp] - 000bc 48 8b 4d 08 mov rcx, QWORD PTR g$[rbp] - 000c0 8b 49 04 mov ecx, DWORD PTR [rcx+4] - 000c3 89 08 mov DWORD PTR [rax], ecx -$LN5@stbi__gif_: - -; 7034 : STBI_FREE(g); - - 000c5 48 8b 4d 08 mov rcx, QWORD PTR g$[rbp] - 000c9 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 000cf 90 npad 1 - -; 7035 : return 1; - - 000d0 b8 01 00 00 00 mov eax, 1 -$LN1@stbi__gif_: - -; 7036 : } - - 000d5 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 000dc 5f pop rdi - 000dd 5d pop rbp - 000de c3 ret 0 -stbi__gif_info_raw ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__gif_header -_TEXT SEGMENT -version$ = 4 -tv225 = 212 -s$ = 256 -g$ = 264 -comp$ = 272 -is_info$ = 280 -stbi__gif_header PROC ; COMDAT - -; 6983 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 6984 : stbi_uc version; -; 6985 : if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || - - 0002f 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00036 e8 00 00 00 00 call stbi__get8 - 0003b 0f b6 c0 movzx eax, al - 0003e 83 f8 47 cmp eax, 71 ; 00000047H - 00041 75 3c jne SHORT $LN3@stbi__gif_ - 00043 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0004a e8 00 00 00 00 call stbi__get8 - 0004f 0f b6 c0 movzx eax, al - 00052 83 f8 49 cmp eax, 73 ; 00000049H - 00055 75 28 jne SHORT $LN3@stbi__gif_ - 00057 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0005e e8 00 00 00 00 call stbi__get8 - 00063 0f b6 c0 movzx eax, al - 00066 83 f8 46 cmp eax, 70 ; 00000046H - 00069 75 14 jne SHORT $LN3@stbi__gif_ - 0006b 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00072 e8 00 00 00 00 call stbi__get8 - 00077 0f b6 c0 movzx eax, al - 0007a 83 f8 38 cmp eax, 56 ; 00000038H - 0007d 74 11 je SHORT $LN2@stbi__gif_ -$LN3@stbi__gif_: - -; 6986 : stbi__get8(s) != '8') -; 6987 : return stbi__err("not GIF", "Corrupt GIF"); - - 0007f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07KMJLPAII@not?5GIF@ - 00086 e8 00 00 00 00 call stbi__err - 0008b e9 c7 01 00 00 jmp $LN1@stbi__gif_ -$LN2@stbi__gif_: - -; 6988 : -; 6989 : version = stbi__get8(s); - - 00090 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00097 e8 00 00 00 00 call stbi__get8 - 0009c 88 45 04 mov BYTE PTR version$[rbp], al - -; 6990 : if (version != '7' && version != '9') - - 0009f 0f b6 45 04 movzx eax, BYTE PTR version$[rbp] - 000a3 83 f8 37 cmp eax, 55 ; 00000037H - 000a6 74 1a je SHORT $LN4@stbi__gif_ - 000a8 0f b6 45 04 movzx eax, BYTE PTR version$[rbp] - 000ac 83 f8 39 cmp eax, 57 ; 00000039H - 000af 74 11 je SHORT $LN4@stbi__gif_ - -; 6991 : return stbi__err("not GIF", "Corrupt GIF"); - - 000b1 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07KMJLPAII@not?5GIF@ - 000b8 e8 00 00 00 00 call stbi__err - 000bd e9 95 01 00 00 jmp $LN1@stbi__gif_ -$LN4@stbi__gif_: - -; 6992 : if (stbi__get8(s) != 'a') - - 000c2 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000c9 e8 00 00 00 00 call stbi__get8 - 000ce 0f b6 c0 movzx eax, al - 000d1 83 f8 61 cmp eax, 97 ; 00000061H - 000d4 74 11 je SHORT $LN5@stbi__gif_ - -; 6993 : return stbi__err("not GIF", "Corrupt GIF"); - - 000d6 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07KMJLPAII@not?5GIF@ - 000dd e8 00 00 00 00 call stbi__err - 000e2 e9 70 01 00 00 jmp $LN1@stbi__gif_ -$LN5@stbi__gif_: - -; 6994 : -; 6995 : stbi__g_failure_reason = ""; - - 000e7 b8 00 00 00 00 mov eax, OFFSET FLAT:stbi__g_failure_reason - 000ec 8b c0 mov eax, eax - 000ee 8b 0d 00 00 00 - 00 mov ecx, DWORD PTR _tls_index - 000f4 65 48 8b 14 25 - 58 00 00 00 mov rdx, QWORD PTR gs:88 - 000fd 48 8b 0c ca mov rcx, QWORD PTR [rdx+rcx*8] - 00101 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_00CNPNBAHC@@ - 00108 48 89 14 08 mov QWORD PTR [rax+rcx], rdx - -; 6996 : g->w = stbi__get16le(s); - - 0010c 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00113 e8 00 00 00 00 call stbi__get16le - 00118 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 0011f 89 01 mov DWORD PTR [rcx], eax - -; 6997 : g->h = stbi__get16le(s); - - 00121 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00128 e8 00 00 00 00 call stbi__get16le - 0012d 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00134 89 41 04 mov DWORD PTR [rcx+4], eax - -; 6998 : g->flags = stbi__get8(s); - - 00137 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0013e e8 00 00 00 00 call stbi__get8 - 00143 0f b6 c0 movzx eax, al - 00146 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 0014d 89 41 20 mov DWORD PTR [rcx+32], eax - -; 6999 : g->bgindex = stbi__get8(s); - - 00150 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00157 e8 00 00 00 00 call stbi__get8 - 0015c 0f b6 c0 movzx eax, al - 0015f 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00166 89 41 24 mov DWORD PTR [rcx+36], eax - -; 7000 : g->ratio = stbi__get8(s); - - 00169 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00170 e8 00 00 00 00 call stbi__get8 - 00175 0f b6 c0 movzx eax, al - 00178 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 0017f 89 41 28 mov DWORD PTR [rcx+40], eax - -; 7001 : g->transparent = -1; - - 00182 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR g$[rbp] - 00189 c7 40 2c ff ff - ff ff mov DWORD PTR [rax+44], -1 - -; 7002 : -; 7003 : if (g->w > STBI_MAX_DIMENSIONS) - - 00190 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR g$[rbp] - 00197 81 38 00 00 00 - 01 cmp DWORD PTR [rax], 16777216 ; 01000000H - 0019d 7e 11 jle SHORT $LN6@stbi__gif_ - -; 7004 : return stbi__err("too large", "Very large image (corrupt?)"); - - 0019f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 001a6 e8 00 00 00 00 call stbi__err - 001ab e9 a7 00 00 00 jmp $LN1@stbi__gif_ -$LN6@stbi__gif_: - -; 7005 : if (g->h > STBI_MAX_DIMENSIONS) - - 001b0 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR g$[rbp] - 001b7 81 78 04 00 00 - 00 01 cmp DWORD PTR [rax+4], 16777216 ; 01000000H - 001be 7e 11 jle SHORT $LN7@stbi__gif_ - -; 7006 : return stbi__err("too large", "Very large image (corrupt?)"); - - 001c0 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 001c7 e8 00 00 00 00 call stbi__err - 001cc e9 86 00 00 00 jmp $LN1@stbi__gif_ -$LN7@stbi__gif_: - -; 7007 : -; 7008 : if (comp != 0) - - 001d1 48 83 bd 10 01 - 00 00 00 cmp QWORD PTR comp$[rbp], 0 - 001d9 74 0d je SHORT $LN8@stbi__gif_ - -; 7009 : *comp = 4; // can't actually tell whether it's 3 or 4 until we parse the comments - - 001db 48 8b 85 10 01 - 00 00 mov rax, QWORD PTR comp$[rbp] - 001e2 c7 00 04 00 00 - 00 mov DWORD PTR [rax], 4 -$LN8@stbi__gif_: - -; 7010 : -; 7011 : if (is_info) - - 001e8 83 bd 18 01 00 - 00 00 cmp DWORD PTR is_info$[rbp], 0 - 001ef 74 07 je SHORT $LN9@stbi__gif_ - -; 7012 : return 1; - - 001f1 b8 01 00 00 00 mov eax, 1 - 001f6 eb 5f jmp SHORT $LN1@stbi__gif_ -$LN9@stbi__gif_: - -; 7013 : -; 7014 : if (g->flags & 0x80) - - 001f8 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR g$[rbp] - 001ff 8b 40 20 mov eax, DWORD PTR [rax+32] - 00202 25 80 00 00 00 and eax, 128 ; 00000080H - 00207 85 c0 test eax, eax - 00209 74 47 je SHORT $LN10@stbi__gif_ - -; 7015 : stbi__gif_parse_colortable(s, g->pal, 2 << (g->flags & 7), -1); - - 0020b 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR g$[rbp] - 00212 8b 40 20 mov eax, DWORD PTR [rax+32] - 00215 83 e0 07 and eax, 7 - 00218 b9 02 00 00 00 mov ecx, 2 - 0021d 89 8d d4 00 00 - 00 mov DWORD PTR tv225[rbp], ecx - 00223 0f b6 c8 movzx ecx, al - 00226 8b 85 d4 00 00 - 00 mov eax, DWORD PTR tv225[rbp] - 0022c d3 e0 shl eax, cl - 0022e 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR g$[rbp] - 00235 48 83 c1 34 add rcx, 52 ; 00000034H - 00239 41 b9 ff ff ff - ff mov r9d, -1 - 0023f 44 8b c0 mov r8d, eax - 00242 48 8b d1 mov rdx, rcx - 00245 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0024c e8 00 00 00 00 call stbi__gif_parse_colortable - 00251 90 npad 1 -$LN10@stbi__gif_: - -; 7016 : -; 7017 : return 1; - - 00252 b8 01 00 00 00 mov eax, 1 -$LN1@stbi__gif_: - -; 7018 : } - - 00257 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 0025e 5f pop rdi - 0025f 5d pop rbp - 00260 c3 ret 0 -stbi__gif_header ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__gif_parse_colortable -_TEXT SEGMENT -i$ = 4 -tv93 = 212 -s$ = 256 -pal$ = 264 -num_entries$ = 272 -transp$ = 280 -stbi__gif_parse_colortable PROC ; COMDAT - -; 6972 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 6973 : int i; -; 6974 : for (i = 0; i < num_entries; ++i) { - - 0002f c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 00036 eb 08 jmp SHORT $LN4@stbi__gif_ -$LN2@stbi__gif_: - 00038 8b 45 04 mov eax, DWORD PTR i$[rbp] - 0003b ff c0 inc eax - 0003d 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__gif_: - 00040 8b 85 10 01 00 - 00 mov eax, DWORD PTR num_entries$[rbp] - 00046 39 45 04 cmp DWORD PTR i$[rbp], eax - 00049 0f 8d bd 00 00 - 00 jge $LN3@stbi__gif_ - -; 6975 : pal[i][2] = stbi__get8(s); - - 0004f 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00056 e8 00 00 00 00 call stbi__get8 - 0005b 48 63 4d 04 movsxd rcx, DWORD PTR i$[rbp] - 0005f 48 8b 95 08 01 - 00 00 mov rdx, QWORD PTR pal$[rbp] - 00066 48 8d 0c 8a lea rcx, QWORD PTR [rdx+rcx*4] - 0006a ba 01 00 00 00 mov edx, 1 - 0006f 48 6b d2 02 imul rdx, rdx, 2 - 00073 88 04 11 mov BYTE PTR [rcx+rdx], al - -; 6976 : pal[i][1] = stbi__get8(s); - - 00076 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0007d e8 00 00 00 00 call stbi__get8 - 00082 48 63 4d 04 movsxd rcx, DWORD PTR i$[rbp] - 00086 48 8b 95 08 01 - 00 00 mov rdx, QWORD PTR pal$[rbp] - 0008d 48 8d 0c 8a lea rcx, QWORD PTR [rdx+rcx*4] - 00091 ba 01 00 00 00 mov edx, 1 - 00096 48 6b d2 01 imul rdx, rdx, 1 - 0009a 88 04 11 mov BYTE PTR [rcx+rdx], al - -; 6977 : pal[i][0] = stbi__get8(s); - - 0009d 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000a4 e8 00 00 00 00 call stbi__get8 - 000a9 48 63 4d 04 movsxd rcx, DWORD PTR i$[rbp] - 000ad 48 8b 95 08 01 - 00 00 mov rdx, QWORD PTR pal$[rbp] - 000b4 48 8d 0c 8a lea rcx, QWORD PTR [rdx+rcx*4] - 000b8 ba 01 00 00 00 mov edx, 1 - 000bd 48 6b d2 00 imul rdx, rdx, 0 - 000c1 88 04 11 mov BYTE PTR [rcx+rdx], al - -; 6978 : pal[i][3] = transp == i ? 0 : 255; - - 000c4 8b 45 04 mov eax, DWORD PTR i$[rbp] - 000c7 39 85 18 01 00 - 00 cmp DWORD PTR transp$[rbp], eax - 000cd 75 0c jne SHORT $LN6@stbi__gif_ - 000cf c7 85 d4 00 00 - 00 00 00 00 00 mov DWORD PTR tv93[rbp], 0 - 000d9 eb 0a jmp SHORT $LN7@stbi__gif_ -$LN6@stbi__gif_: - 000db c7 85 d4 00 00 - 00 ff 00 00 00 mov DWORD PTR tv93[rbp], 255 ; 000000ffH -$LN7@stbi__gif_: - 000e5 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 000e9 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR pal$[rbp] - 000f0 48 8d 04 81 lea rax, QWORD PTR [rcx+rax*4] - 000f4 b9 01 00 00 00 mov ecx, 1 - 000f9 48 6b c9 03 imul rcx, rcx, 3 - 000fd 0f b6 95 d4 00 - 00 00 movzx edx, BYTE PTR tv93[rbp] - 00104 88 14 08 mov BYTE PTR [rax+rcx], dl - -; 6979 : } - - 00107 e9 2c ff ff ff jmp $LN2@stbi__gif_ -$LN3@stbi__gif_: - -; 6980 : } - - 0010c 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 00113 5f pop rdi - 00114 5d pop rbp - 00115 c3 ret 0 -stbi__gif_parse_colortable ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__gif_test_raw -_TEXT SEGMENT -sz$ = 4 -s$ = 256 -stbi__gif_test_raw PROC ; COMDAT - -; 6950 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 6951 : int sz; -; 6952 : if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || - - 00020 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00027 e8 00 00 00 00 call stbi__get8 - 0002c 0f b6 c0 movzx eax, al - 0002f 83 f8 47 cmp eax, 71 ; 00000047H - 00032 75 3c jne SHORT $LN3@stbi__gif_ - 00034 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0003b e8 00 00 00 00 call stbi__get8 - 00040 0f b6 c0 movzx eax, al - 00043 83 f8 49 cmp eax, 73 ; 00000049H - 00046 75 28 jne SHORT $LN3@stbi__gif_ - 00048 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0004f e8 00 00 00 00 call stbi__get8 - 00054 0f b6 c0 movzx eax, al - 00057 83 f8 46 cmp eax, 70 ; 00000046H - 0005a 75 14 jne SHORT $LN3@stbi__gif_ - 0005c 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00063 e8 00 00 00 00 call stbi__get8 - 00068 0f b6 c0 movzx eax, al - 0006b 83 f8 38 cmp eax, 56 ; 00000038H - 0006e 74 04 je SHORT $LN2@stbi__gif_ -$LN3@stbi__gif_: - -; 6953 : stbi__get8(s) != '8') -; 6954 : return 0; - - 00070 33 c0 xor eax, eax - 00072 eb 3f jmp SHORT $LN1@stbi__gif_ -$LN2@stbi__gif_: - -; 6955 : sz = stbi__get8(s); - - 00074 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0007b e8 00 00 00 00 call stbi__get8 - 00080 0f b6 c0 movzx eax, al - 00083 89 45 04 mov DWORD PTR sz$[rbp], eax - -; 6956 : if (sz != '9' && sz != '7') - - 00086 83 7d 04 39 cmp DWORD PTR sz$[rbp], 57 ; 00000039H - 0008a 74 0a je SHORT $LN4@stbi__gif_ - 0008c 83 7d 04 37 cmp DWORD PTR sz$[rbp], 55 ; 00000037H - 00090 74 04 je SHORT $LN4@stbi__gif_ - -; 6957 : return 0; - - 00092 33 c0 xor eax, eax - 00094 eb 1d jmp SHORT $LN1@stbi__gif_ -$LN4@stbi__gif_: - -; 6958 : if (stbi__get8(s) != 'a') - - 00096 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0009d e8 00 00 00 00 call stbi__get8 - 000a2 0f b6 c0 movzx eax, al - 000a5 83 f8 61 cmp eax, 97 ; 00000061H - 000a8 74 04 je SHORT $LN5@stbi__gif_ - -; 6959 : return 0; - - 000aa 33 c0 xor eax, eax - 000ac eb 05 jmp SHORT $LN1@stbi__gif_ -$LN5@stbi__gif_: - -; 6960 : return 1; - - 000ae b8 01 00 00 00 mov eax, 1 -$LN1@stbi__gif_: - -; 6961 : } - - 000b3 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 000ba 5f pop rdi - 000bb 5d pop rbp - 000bc c3 ret 0 -stbi__gif_test_raw ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__pic_load_core -_TEXT SEGMENT -act_comp$ = 4 -num_packets$ = 36 -y$ = 68 -chained$ = 100 -packets$ = 136 -packet$6 = 200 -packet_idx$7 = 228 -packet$8 = 264 -dest$9 = 296 -x$10 = 324 -left$11 = 356 -i$12 = 388 -count$13 = 420 -value$14 = 452 -left$15 = 484 -count$16 = 516 -i$17 = 548 -value$18 = 580 -tv138 = 980 -tv152 = 980 -tv95 = 984 -tv134 = 984 -tv238 = 984 -tv69 = 984 -tv156 = 984 -tv176 = 984 -tv207 = 984 -tv217 = 984 -__$ArrayPad$ = 992 -s$ = 1040 -width$ = 1048 -height$ = 1056 -comp$ = 1064 -result$ = 1072 -stbi__pic_load_core PROC ; COMDAT - -; 6741 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx - 0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00013 55 push rbp - 00014 57 push rdi - 00015 48 81 ec 18 04 - 00 00 sub rsp, 1048 ; 00000418H - 0001c 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00021 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 00026 b9 9e 00 00 00 mov ecx, 158 ; 0000009eH - 0002b b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00030 f3 ab rep stosd - 00032 48 8b 8c 24 38 - 04 00 00 mov rcx, QWORD PTR [rsp+1080] - 0003a 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00041 48 33 c5 xor rax, rbp - 00044 48 89 85 e0 03 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00052 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00057 90 npad 1 - -; 6742 : int act_comp = 0, num_packets = 0, y, chained; - - 00058 c7 45 04 00 00 - 00 00 mov DWORD PTR act_comp$[rbp], 0 - 0005f c7 45 24 00 00 - 00 00 mov DWORD PTR num_packets$[rbp], 0 -$LN4@stbi__pic_: - -; 6743 : stbi__pic_packet packets[10]; -; 6744 : -; 6745 : // this will (should...) cater for even some bizarre stuff like having data -; 6746 : // for the same channel in multiple packets. -; 6747 : do { -; 6748 : stbi__pic_packet *packet; -; 6749 : -; 6750 : if (num_packets == sizeof(packets) / sizeof(packets[0])) - - 00066 48 63 45 24 movsxd rax, DWORD PTR num_packets$[rbp] - 0006a 48 83 f8 0a cmp rax, 10 - 0006e 75 34 jne SHORT $LN29@stbi__pic_ - -; 6751 : return stbi__errpuc("bad format", "too many packets"); - - 00070 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0L@DMAPJJO@bad?5format@ - 00077 e8 00 00 00 00 call stbi__err - 0007c 85 c0 test eax, eax - 0007e 74 0d je SHORT $LN50@stbi__pic_ - 00080 48 c7 85 d8 03 - 00 00 00 00 00 - 00 mov QWORD PTR tv69[rbp], 0 - 0008b eb 0b jmp SHORT $LN51@stbi__pic_ -$LN50@stbi__pic_: - 0008d 48 c7 85 d8 03 - 00 00 00 00 00 - 00 mov QWORD PTR tv69[rbp], 0 -$LN51@stbi__pic_: - 00098 48 8b 85 d8 03 - 00 00 mov rax, QWORD PTR tv69[rbp] - 0009f e9 3a 06 00 00 jmp $LN1@stbi__pic_ -$LN29@stbi__pic_: - -; 6752 : -; 6753 : packet = &packets[num_packets++]; - - 000a4 48 63 45 24 movsxd rax, DWORD PTR num_packets$[rbp] - 000a8 48 6b c0 03 imul rax, rax, 3 - 000ac 48 8d 84 05 88 - 00 00 00 lea rax, QWORD PTR packets$[rbp+rax] - 000b4 48 89 85 c8 00 - 00 00 mov QWORD PTR packet$6[rbp], rax - 000bb 8b 45 24 mov eax, DWORD PTR num_packets$[rbp] - 000be ff c0 inc eax - 000c0 89 45 24 mov DWORD PTR num_packets$[rbp], eax - -; 6754 : -; 6755 : chained = stbi__get8(s); - - 000c3 48 8b 8d 10 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000ca e8 00 00 00 00 call stbi__get8 - 000cf 0f b6 c0 movzx eax, al - 000d2 89 45 64 mov DWORD PTR chained$[rbp], eax - -; 6756 : packet->size = stbi__get8(s); - - 000d5 48 8b 8d 10 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000dc e8 00 00 00 00 call stbi__get8 - 000e1 48 8b 8d c8 00 - 00 00 mov rcx, QWORD PTR packet$6[rbp] - 000e8 88 01 mov BYTE PTR [rcx], al - -; 6757 : packet->type = stbi__get8(s); - - 000ea 48 8b 8d 10 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000f1 e8 00 00 00 00 call stbi__get8 - 000f6 48 8b 8d c8 00 - 00 00 mov rcx, QWORD PTR packet$6[rbp] - 000fd 88 41 01 mov BYTE PTR [rcx+1], al - -; 6758 : packet->channel = stbi__get8(s); - - 00100 48 8b 8d 10 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00107 e8 00 00 00 00 call stbi__get8 - 0010c 48 8b 8d c8 00 - 00 00 mov rcx, QWORD PTR packet$6[rbp] - 00113 88 41 02 mov BYTE PTR [rcx+2], al - -; 6759 : -; 6760 : act_comp |= packet->channel; - - 00116 48 8b 85 c8 00 - 00 00 mov rax, QWORD PTR packet$6[rbp] - 0011d 0f b6 40 02 movzx eax, BYTE PTR [rax+2] - 00121 8b 4d 04 mov ecx, DWORD PTR act_comp$[rbp] - 00124 0b c8 or ecx, eax - 00126 8b c1 mov eax, ecx - 00128 89 45 04 mov DWORD PTR act_comp$[rbp], eax - -; 6761 : -; 6762 : if (stbi__at_eof(s)) - - 0012b 48 8b 8d 10 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00132 e8 00 00 00 00 call stbi__at_eof - 00137 85 c0 test eax, eax - 00139 74 34 je SHORT $LN30@stbi__pic_ - -; 6763 : return stbi__errpuc("bad file", "file too short (reading packets)"); - - 0013b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08GGMBIFE@bad?5file@ - 00142 e8 00 00 00 00 call stbi__err - 00147 85 c0 test eax, eax - 00149 74 0d je SHORT $LN52@stbi__pic_ - 0014b 48 c7 85 d8 03 - 00 00 00 00 00 - 00 mov QWORD PTR tv95[rbp], 0 - 00156 eb 0b jmp SHORT $LN53@stbi__pic_ -$LN52@stbi__pic_: - 00158 48 c7 85 d8 03 - 00 00 00 00 00 - 00 mov QWORD PTR tv95[rbp], 0 -$LN53@stbi__pic_: - 00163 48 8b 85 d8 03 - 00 00 mov rax, QWORD PTR tv95[rbp] - 0016a e9 6f 05 00 00 jmp $LN1@stbi__pic_ -$LN30@stbi__pic_: - -; 6764 : if (packet->size != 8) - - 0016f 48 8b 85 c8 00 - 00 00 mov rax, QWORD PTR packet$6[rbp] - 00176 0f b6 00 movzx eax, BYTE PTR [rax] - 00179 83 f8 08 cmp eax, 8 - 0017c 74 34 je SHORT $LN31@stbi__pic_ - -; 6765 : return stbi__errpuc("bad format", "packet isn't 8bpp"); - - 0017e 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0L@DMAPJJO@bad?5format@ - 00185 e8 00 00 00 00 call stbi__err - 0018a 85 c0 test eax, eax - 0018c 74 0d je SHORT $LN54@stbi__pic_ - 0018e 48 c7 85 d8 03 - 00 00 00 00 00 - 00 mov QWORD PTR tv134[rbp], 0 - 00199 eb 0b jmp SHORT $LN55@stbi__pic_ -$LN54@stbi__pic_: - 0019b 48 c7 85 d8 03 - 00 00 00 00 00 - 00 mov QWORD PTR tv134[rbp], 0 -$LN55@stbi__pic_: - 001a6 48 8b 85 d8 03 - 00 00 mov rax, QWORD PTR tv134[rbp] - 001ad e9 2c 05 00 00 jmp $LN1@stbi__pic_ -$LN31@stbi__pic_: - -; 6766 : } while (chained); - - 001b2 83 7d 64 00 cmp DWORD PTR chained$[rbp], 0 - 001b6 0f 85 aa fe ff - ff jne $LN4@stbi__pic_ - -; 6767 : -; 6768 : *comp = (act_comp & 0x10 ? 4 : 3); // has alpha channel? - - 001bc 8b 45 04 mov eax, DWORD PTR act_comp$[rbp] - 001bf 83 e0 10 and eax, 16 - 001c2 85 c0 test eax, eax - 001c4 74 0c je SHORT $LN56@stbi__pic_ - 001c6 c7 85 d4 03 00 - 00 04 00 00 00 mov DWORD PTR tv138[rbp], 4 - 001d0 eb 0a jmp SHORT $LN57@stbi__pic_ -$LN56@stbi__pic_: - 001d2 c7 85 d4 03 00 - 00 03 00 00 00 mov DWORD PTR tv138[rbp], 3 -$LN57@stbi__pic_: - 001dc 48 8b 85 28 04 - 00 00 mov rax, QWORD PTR comp$[rbp] - 001e3 8b 8d d4 03 00 - 00 mov ecx, DWORD PTR tv138[rbp] - 001e9 89 08 mov DWORD PTR [rax], ecx - -; 6769 : -; 6770 : for (y = 0; y < height; ++y) { - - 001eb c7 45 44 00 00 - 00 00 mov DWORD PTR y$[rbp], 0 - 001f2 eb 08 jmp SHORT $LN7@stbi__pic_ -$LN5@stbi__pic_: - 001f4 8b 45 44 mov eax, DWORD PTR y$[rbp] - 001f7 ff c0 inc eax - 001f9 89 45 44 mov DWORD PTR y$[rbp], eax -$LN7@stbi__pic_: - 001fc 8b 85 20 04 00 - 00 mov eax, DWORD PTR height$[rbp] - 00202 39 45 44 cmp DWORD PTR y$[rbp], eax - 00205 0f 8d cc 04 00 - 00 jge $LN6@stbi__pic_ - -; 6771 : int packet_idx; -; 6772 : -; 6773 : for (packet_idx = 0; packet_idx < num_packets; ++packet_idx) { - - 0020b c7 85 e4 00 00 - 00 00 00 00 00 mov DWORD PTR packet_idx$7[rbp], 0 - 00215 eb 0e jmp SHORT $LN10@stbi__pic_ -$LN8@stbi__pic_: - 00217 8b 85 e4 00 00 - 00 mov eax, DWORD PTR packet_idx$7[rbp] - 0021d ff c0 inc eax - 0021f 89 85 e4 00 00 - 00 mov DWORD PTR packet_idx$7[rbp], eax -$LN10@stbi__pic_: - 00225 8b 45 24 mov eax, DWORD PTR num_packets$[rbp] - 00228 39 85 e4 00 00 - 00 cmp DWORD PTR packet_idx$7[rbp], eax - 0022e 0f 8d 9e 04 00 - 00 jge $LN9@stbi__pic_ - -; 6774 : stbi__pic_packet *packet = &packets[packet_idx]; - - 00234 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR packet_idx$7[rbp] - 0023b 48 6b c0 03 imul rax, rax, 3 - 0023f 48 8d 84 05 88 - 00 00 00 lea rax, QWORD PTR packets$[rbp+rax] - 00247 48 89 85 08 01 - 00 00 mov QWORD PTR packet$8[rbp], rax - -; 6775 : stbi_uc *dest = result + y * width * 4; - - 0024e 8b 45 44 mov eax, DWORD PTR y$[rbp] - 00251 0f af 85 18 04 - 00 00 imul eax, DWORD PTR width$[rbp] - 00258 c1 e0 02 shl eax, 2 - 0025b 48 98 cdqe - 0025d 48 8b 8d 30 04 - 00 00 mov rcx, QWORD PTR result$[rbp] - 00264 48 03 c8 add rcx, rax - 00267 48 8b c1 mov rax, rcx - 0026a 48 89 85 28 01 - 00 00 mov QWORD PTR dest$9[rbp], rax - -; 6776 : -; 6777 : switch (packet->type) { - - 00271 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR packet$8[rbp] - 00278 0f b6 40 01 movzx eax, BYTE PTR [rax+1] - 0027c 88 85 d4 03 00 - 00 mov BYTE PTR tv152[rbp], al - 00282 80 bd d4 03 00 - 00 00 cmp BYTE PTR tv152[rbp], 0 - 00289 74 4e je SHORT $LN33@stbi__pic_ - 0028b 80 bd d4 03 00 - 00 01 cmp BYTE PTR tv152[rbp], 1 - 00292 0f 84 ae 00 00 - 00 je $LN35@stbi__pic_ - 00298 80 bd d4 03 00 - 00 02 cmp BYTE PTR tv152[rbp], 2 - 0029f 0f 84 d7 01 00 - 00 je $LN39@stbi__pic_ - -; 6778 : default: -; 6779 : return stbi__errpuc("bad format", - - 002a5 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0L@DMAPJJO@bad?5format@ - 002ac e8 00 00 00 00 call stbi__err - 002b1 85 c0 test eax, eax - 002b3 74 0d je SHORT $LN58@stbi__pic_ - 002b5 48 c7 85 d8 03 - 00 00 00 00 00 - 00 mov QWORD PTR tv156[rbp], 0 - 002c0 eb 0b jmp SHORT $LN59@stbi__pic_ -$LN58@stbi__pic_: - 002c2 48 c7 85 d8 03 - 00 00 00 00 00 - 00 mov QWORD PTR tv156[rbp], 0 -$LN59@stbi__pic_: - 002cd 48 8b 85 d8 03 - 00 00 mov rax, QWORD PTR tv156[rbp] - 002d4 e9 05 04 00 00 jmp $LN1@stbi__pic_ -$LN33@stbi__pic_: - -; 6780 : "packet has bad compression type"); -; 6781 : -; 6782 : case 0: { //uncompressed -; 6783 : int x; -; 6784 : -; 6785 : for (x = 0; x < width; ++x, dest += 4) - - 002d9 c7 85 44 01 00 - 00 00 00 00 00 mov DWORD PTR x$10[rbp], 0 - 002e3 eb 20 jmp SHORT $LN15@stbi__pic_ -$LN13@stbi__pic_: - 002e5 8b 85 44 01 00 - 00 mov eax, DWORD PTR x$10[rbp] - 002eb ff c0 inc eax - 002ed 89 85 44 01 00 - 00 mov DWORD PTR x$10[rbp], eax - 002f3 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR dest$9[rbp] - 002fa 48 83 c0 04 add rax, 4 - 002fe 48 89 85 28 01 - 00 00 mov QWORD PTR dest$9[rbp], rax -$LN15@stbi__pic_: - 00305 8b 85 18 04 00 - 00 mov eax, DWORD PTR width$[rbp] - 0030b 39 85 44 01 00 - 00 cmp DWORD PTR x$10[rbp], eax - 00311 7d 2e jge SHORT $LN14@stbi__pic_ - -; 6786 : if (!stbi__readval(s, packet->channel, dest)) - - 00313 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR packet$8[rbp] - 0031a 0f b6 40 02 movzx eax, BYTE PTR [rax+2] - 0031e 4c 8b 85 28 01 - 00 00 mov r8, QWORD PTR dest$9[rbp] - 00325 8b d0 mov edx, eax - 00327 48 8b 8d 10 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0032e e8 00 00 00 00 call stbi__readval - 00333 48 85 c0 test rax, rax - 00336 75 07 jne SHORT $LN34@stbi__pic_ - -; 6787 : return 0; - - 00338 33 c0 xor eax, eax - 0033a e9 9f 03 00 00 jmp $LN1@stbi__pic_ -$LN34@stbi__pic_: - 0033f eb a4 jmp SHORT $LN13@stbi__pic_ -$LN14@stbi__pic_: - -; 6788 : break; - - 00341 e9 87 03 00 00 jmp $LN11@stbi__pic_ -$LN35@stbi__pic_: - -; 6789 : } -; 6790 : -; 6791 : case 1: //Pure RLE -; 6792 : { -; 6793 : int left = width, i; - - 00346 8b 85 18 04 00 - 00 mov eax, DWORD PTR width$[rbp] - 0034c 89 85 64 01 00 - 00 mov DWORD PTR left$11[rbp], eax -$LN16@stbi__pic_: - -; 6794 : -; 6795 : while (left > 0) { - - 00352 83 bd 64 01 00 - 00 00 cmp DWORD PTR left$11[rbp], 0 - 00359 0f 8e 18 01 00 - 00 jle $LN17@stbi__pic_ - -; 6796 : stbi_uc count, value[4]; -; 6797 : -; 6798 : count = stbi__get8(s); - - 0035f 48 8b 8d 10 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00366 e8 00 00 00 00 call stbi__get8 - 0036b 88 85 a4 01 00 - 00 mov BYTE PTR count$13[rbp], al - -; 6799 : if (stbi__at_eof(s)) - - 00371 48 8b 8d 10 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00378 e8 00 00 00 00 call stbi__at_eof - 0037d 85 c0 test eax, eax - 0037f 74 34 je SHORT $LN36@stbi__pic_ - -; 6800 : return stbi__errpuc( - - 00381 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08GGMBIFE@bad?5file@ - 00388 e8 00 00 00 00 call stbi__err - 0038d 85 c0 test eax, eax - 0038f 74 0d je SHORT $LN60@stbi__pic_ - 00391 48 c7 85 d8 03 - 00 00 00 00 00 - 00 mov QWORD PTR tv176[rbp], 0 - 0039c eb 0b jmp SHORT $LN61@stbi__pic_ -$LN60@stbi__pic_: - 0039e 48 c7 85 d8 03 - 00 00 00 00 00 - 00 mov QWORD PTR tv176[rbp], 0 -$LN61@stbi__pic_: - 003a9 48 8b 85 d8 03 - 00 00 mov rax, QWORD PTR tv176[rbp] - 003b0 e9 29 03 00 00 jmp $LN1@stbi__pic_ -$LN36@stbi__pic_: - -; 6801 : "bad file", -; 6802 : "file too short (pure read count)"); -; 6803 : -; 6804 : if (count > left) - - 003b5 0f b6 85 a4 01 - 00 00 movzx eax, BYTE PTR count$13[rbp] - 003bc 3b 85 64 01 00 - 00 cmp eax, DWORD PTR left$11[rbp] - 003c2 7e 0d jle SHORT $LN37@stbi__pic_ - -; 6805 : count = (stbi_uc)left; - - 003c4 0f b6 85 64 01 - 00 00 movzx eax, BYTE PTR left$11[rbp] - 003cb 88 85 a4 01 00 - 00 mov BYTE PTR count$13[rbp], al -$LN37@stbi__pic_: - -; 6806 : -; 6807 : if (!stbi__readval(s, packet->channel, value)) - - 003d1 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR packet$8[rbp] - 003d8 0f b6 40 02 movzx eax, BYTE PTR [rax+2] - 003dc 4c 8d 85 c4 01 - 00 00 lea r8, QWORD PTR value$14[rbp] - 003e3 8b d0 mov edx, eax - 003e5 48 8b 8d 10 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 003ec e8 00 00 00 00 call stbi__readval - 003f1 48 85 c0 test rax, rax - 003f4 75 07 jne SHORT $LN38@stbi__pic_ - -; 6808 : return 0; - - 003f6 33 c0 xor eax, eax - 003f8 e9 e1 02 00 00 jmp $LN1@stbi__pic_ -$LN38@stbi__pic_: - -; 6809 : -; 6810 : for (i = 0; i < count; ++i, dest += 4) - - 003fd c7 85 84 01 00 - 00 00 00 00 00 mov DWORD PTR i$12[rbp], 0 - 00407 eb 20 jmp SHORT $LN20@stbi__pic_ -$LN18@stbi__pic_: - 00409 8b 85 84 01 00 - 00 mov eax, DWORD PTR i$12[rbp] - 0040f ff c0 inc eax - 00411 89 85 84 01 00 - 00 mov DWORD PTR i$12[rbp], eax - 00417 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR dest$9[rbp] - 0041e 48 83 c0 04 add rax, 4 - 00422 48 89 85 28 01 - 00 00 mov QWORD PTR dest$9[rbp], rax -$LN20@stbi__pic_: - 00429 0f b6 85 a4 01 - 00 00 movzx eax, BYTE PTR count$13[rbp] - 00430 39 85 84 01 00 - 00 cmp DWORD PTR i$12[rbp], eax - 00436 7d 23 jge SHORT $LN19@stbi__pic_ - -; 6811 : stbi__copyval(packet->channel, dest, value); - - 00438 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR packet$8[rbp] - 0043f 0f b6 40 02 movzx eax, BYTE PTR [rax+2] - 00443 4c 8d 85 c4 01 - 00 00 lea r8, QWORD PTR value$14[rbp] - 0044a 48 8b 95 28 01 - 00 00 mov rdx, QWORD PTR dest$9[rbp] - 00451 8b c8 mov ecx, eax - 00453 e8 00 00 00 00 call stbi__copyval - 00458 90 npad 1 - 00459 eb ae jmp SHORT $LN18@stbi__pic_ -$LN19@stbi__pic_: - -; 6812 : left -= count; - - 0045b 0f b6 85 a4 01 - 00 00 movzx eax, BYTE PTR count$13[rbp] - 00462 8b 8d 64 01 00 - 00 mov ecx, DWORD PTR left$11[rbp] - 00468 2b c8 sub ecx, eax - 0046a 8b c1 mov eax, ecx - 0046c 89 85 64 01 00 - 00 mov DWORD PTR left$11[rbp], eax - -; 6813 : } - - 00472 e9 db fe ff ff jmp $LN16@stbi__pic_ -$LN17@stbi__pic_: - -; 6814 : } break; - - 00477 e9 51 02 00 00 jmp $LN11@stbi__pic_ -$LN39@stbi__pic_: - -; 6815 : -; 6816 : case 2: { //Mixed RLE -; 6817 : int left = width; - - 0047c 8b 85 18 04 00 - 00 mov eax, DWORD PTR width$[rbp] - 00482 89 85 e4 01 00 - 00 mov DWORD PTR left$15[rbp], eax -$LN21@stbi__pic_: - -; 6818 : while (left > 0) { - - 00488 83 bd e4 01 00 - 00 00 cmp DWORD PTR left$15[rbp], 0 - 0048f 0f 8e 38 02 00 - 00 jle $LN22@stbi__pic_ - -; 6819 : int count = stbi__get8(s), i; - - 00495 48 8b 8d 10 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0049c e8 00 00 00 00 call stbi__get8 - 004a1 0f b6 c0 movzx eax, al - 004a4 89 85 04 02 00 - 00 mov DWORD PTR count$16[rbp], eax - -; 6820 : if (stbi__at_eof(s)) - - 004aa 48 8b 8d 10 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 004b1 e8 00 00 00 00 call stbi__at_eof - 004b6 85 c0 test eax, eax - 004b8 74 34 je SHORT $LN40@stbi__pic_ - -; 6821 : return stbi__errpuc( - - 004ba 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08GGMBIFE@bad?5file@ - 004c1 e8 00 00 00 00 call stbi__err - 004c6 85 c0 test eax, eax - 004c8 74 0d je SHORT $LN62@stbi__pic_ - 004ca 48 c7 85 d8 03 - 00 00 00 00 00 - 00 mov QWORD PTR tv207[rbp], 0 - 004d5 eb 0b jmp SHORT $LN63@stbi__pic_ -$LN62@stbi__pic_: - 004d7 48 c7 85 d8 03 - 00 00 00 00 00 - 00 mov QWORD PTR tv207[rbp], 0 -$LN63@stbi__pic_: - 004e2 48 8b 85 d8 03 - 00 00 mov rax, QWORD PTR tv207[rbp] - 004e9 e9 f0 01 00 00 jmp $LN1@stbi__pic_ -$LN40@stbi__pic_: - -; 6822 : "bad file", -; 6823 : "file too short (mixed read count)"); -; 6824 : -; 6825 : if (count >= 128) { // Repeated - - 004ee 81 bd 04 02 00 - 00 80 00 00 00 cmp DWORD PTR count$16[rbp], 128 ; 00000080H - 004f8 0f 8c ff 00 00 - 00 jl $LN41@stbi__pic_ - -; 6826 : stbi_uc value[4]; -; 6827 : -; 6828 : if (count == 128) - - 004fe 81 bd 04 02 00 - 00 80 00 00 00 cmp DWORD PTR count$16[rbp], 128 ; 00000080H - 00508 75 14 jne SHORT $LN43@stbi__pic_ - -; 6829 : count = stbi__get16be(s); - - 0050a 48 8b 8d 10 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00511 e8 00 00 00 00 call stbi__get16be - 00516 89 85 04 02 00 - 00 mov DWORD PTR count$16[rbp], eax - 0051c eb 0f jmp SHORT $LN44@stbi__pic_ -$LN43@stbi__pic_: - -; 6830 : else -; 6831 : count -= 127; - - 0051e 8b 85 04 02 00 - 00 mov eax, DWORD PTR count$16[rbp] - 00524 83 e8 7f sub eax, 127 ; 0000007fH - 00527 89 85 04 02 00 - 00 mov DWORD PTR count$16[rbp], eax -$LN44@stbi__pic_: - -; 6832 : if (count > left) - - 0052d 8b 85 e4 01 00 - 00 mov eax, DWORD PTR left$15[rbp] - 00533 39 85 04 02 00 - 00 cmp DWORD PTR count$16[rbp], eax - 00539 7e 34 jle SHORT $LN45@stbi__pic_ - -; 6833 : return stbi__errpuc("bad file", - - 0053b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08GGMBIFE@bad?5file@ - 00542 e8 00 00 00 00 call stbi__err - 00547 85 c0 test eax, eax - 00549 74 0d je SHORT $LN64@stbi__pic_ - 0054b 48 c7 85 d8 03 - 00 00 00 00 00 - 00 mov QWORD PTR tv217[rbp], 0 - 00556 eb 0b jmp SHORT $LN65@stbi__pic_ -$LN64@stbi__pic_: - 00558 48 c7 85 d8 03 - 00 00 00 00 00 - 00 mov QWORD PTR tv217[rbp], 0 -$LN65@stbi__pic_: - 00563 48 8b 85 d8 03 - 00 00 mov rax, QWORD PTR tv217[rbp] - 0056a e9 6f 01 00 00 jmp $LN1@stbi__pic_ -$LN45@stbi__pic_: - -; 6834 : "scanline overrun"); -; 6835 : -; 6836 : if (!stbi__readval(s, packet->channel, value)) - - 0056f 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR packet$8[rbp] - 00576 0f b6 40 02 movzx eax, BYTE PTR [rax+2] - 0057a 4c 8d 85 44 02 - 00 00 lea r8, QWORD PTR value$18[rbp] - 00581 8b d0 mov edx, eax - 00583 48 8b 8d 10 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0058a e8 00 00 00 00 call stbi__readval - 0058f 48 85 c0 test rax, rax - 00592 75 07 jne SHORT $LN46@stbi__pic_ - -; 6837 : return 0; - - 00594 33 c0 xor eax, eax - 00596 e9 43 01 00 00 jmp $LN1@stbi__pic_ -$LN46@stbi__pic_: - -; 6838 : -; 6839 : for (i = 0; i < count; ++i, dest += 4) - - 0059b c7 85 24 02 00 - 00 00 00 00 00 mov DWORD PTR i$17[rbp], 0 - 005a5 eb 20 jmp SHORT $LN25@stbi__pic_ -$LN23@stbi__pic_: - 005a7 8b 85 24 02 00 - 00 mov eax, DWORD PTR i$17[rbp] - 005ad ff c0 inc eax - 005af 89 85 24 02 00 - 00 mov DWORD PTR i$17[rbp], eax - 005b5 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR dest$9[rbp] - 005bc 48 83 c0 04 add rax, 4 - 005c0 48 89 85 28 01 - 00 00 mov QWORD PTR dest$9[rbp], rax -$LN25@stbi__pic_: - 005c7 8b 85 04 02 00 - 00 mov eax, DWORD PTR count$16[rbp] - 005cd 39 85 24 02 00 - 00 cmp DWORD PTR i$17[rbp], eax - 005d3 7d 23 jge SHORT $LN24@stbi__pic_ - -; 6840 : stbi__copyval(packet->channel, dest, value); - - 005d5 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR packet$8[rbp] - 005dc 0f b6 40 02 movzx eax, BYTE PTR [rax+2] - 005e0 4c 8d 85 44 02 - 00 00 lea r8, QWORD PTR value$18[rbp] - 005e7 48 8b 95 28 01 - 00 00 mov rdx, QWORD PTR dest$9[rbp] - 005ee 8b c8 mov ecx, eax - 005f0 e8 00 00 00 00 call stbi__copyval - 005f5 90 npad 1 - 005f6 eb af jmp SHORT $LN23@stbi__pic_ -$LN24@stbi__pic_: - -; 6841 : } else { // Raw - - 005f8 e9 b5 00 00 00 jmp $LN42@stbi__pic_ -$LN41@stbi__pic_: - -; 6842 : ++count; - - 005fd 8b 85 04 02 00 - 00 mov eax, DWORD PTR count$16[rbp] - 00603 ff c0 inc eax - 00605 89 85 04 02 00 - 00 mov DWORD PTR count$16[rbp], eax - -; 6843 : if (count > left) - - 0060b 8b 85 e4 01 00 - 00 mov eax, DWORD PTR left$15[rbp] - 00611 39 85 04 02 00 - 00 cmp DWORD PTR count$16[rbp], eax - 00617 7e 34 jle SHORT $LN47@stbi__pic_ - -; 6844 : return stbi__errpuc("bad file", - - 00619 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08GGMBIFE@bad?5file@ - 00620 e8 00 00 00 00 call stbi__err - 00625 85 c0 test eax, eax - 00627 74 0d je SHORT $LN66@stbi__pic_ - 00629 48 c7 85 d8 03 - 00 00 00 00 00 - 00 mov QWORD PTR tv238[rbp], 0 - 00634 eb 0b jmp SHORT $LN67@stbi__pic_ -$LN66@stbi__pic_: - 00636 48 c7 85 d8 03 - 00 00 00 00 00 - 00 mov QWORD PTR tv238[rbp], 0 -$LN67@stbi__pic_: - 00641 48 8b 85 d8 03 - 00 00 mov rax, QWORD PTR tv238[rbp] - 00648 e9 91 00 00 00 jmp $LN1@stbi__pic_ -$LN47@stbi__pic_: - -; 6845 : "scanline overrun"); -; 6846 : -; 6847 : for (i = 0; i < count; ++i, dest += 4) - - 0064d c7 85 24 02 00 - 00 00 00 00 00 mov DWORD PTR i$17[rbp], 0 - 00657 eb 20 jmp SHORT $LN28@stbi__pic_ -$LN26@stbi__pic_: - 00659 8b 85 24 02 00 - 00 mov eax, DWORD PTR i$17[rbp] - 0065f ff c0 inc eax - 00661 89 85 24 02 00 - 00 mov DWORD PTR i$17[rbp], eax - 00667 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR dest$9[rbp] - 0066e 48 83 c0 04 add rax, 4 - 00672 48 89 85 28 01 - 00 00 mov QWORD PTR dest$9[rbp], rax -$LN28@stbi__pic_: - 00679 8b 85 04 02 00 - 00 mov eax, DWORD PTR count$16[rbp] - 0067f 39 85 24 02 00 - 00 cmp DWORD PTR i$17[rbp], eax - 00685 7d 2b jge SHORT $LN27@stbi__pic_ - -; 6848 : if (!stbi__readval(s, packet->channel, - - 00687 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR packet$8[rbp] - 0068e 0f b6 40 02 movzx eax, BYTE PTR [rax+2] - 00692 4c 8b 85 28 01 - 00 00 mov r8, QWORD PTR dest$9[rbp] - 00699 8b d0 mov edx, eax - 0069b 48 8b 8d 10 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 006a2 e8 00 00 00 00 call stbi__readval - 006a7 48 85 c0 test rax, rax - 006aa 75 04 jne SHORT $LN48@stbi__pic_ - -; 6849 : dest)) -; 6850 : return 0; - - 006ac 33 c0 xor eax, eax - 006ae eb 2e jmp SHORT $LN1@stbi__pic_ -$LN48@stbi__pic_: - 006b0 eb a7 jmp SHORT $LN26@stbi__pic_ -$LN27@stbi__pic_: -$LN42@stbi__pic_: - -; 6851 : } -; 6852 : left -= count; - - 006b2 8b 85 04 02 00 - 00 mov eax, DWORD PTR count$16[rbp] - 006b8 8b 8d e4 01 00 - 00 mov ecx, DWORD PTR left$15[rbp] - 006be 2b c8 sub ecx, eax - 006c0 8b c1 mov eax, ecx - 006c2 89 85 e4 01 00 - 00 mov DWORD PTR left$15[rbp], eax - -; 6853 : } - - 006c8 e9 bb fd ff ff jmp $LN21@stbi__pic_ -$LN22@stbi__pic_: -$LN11@stbi__pic_: - -; 6854 : break; -; 6855 : } -; 6856 : } -; 6857 : } - - 006cd e9 45 fb ff ff jmp $LN8@stbi__pic_ -$LN9@stbi__pic_: - -; 6858 : } - - 006d2 e9 1d fb ff ff jmp $LN5@stbi__pic_ -$LN6@stbi__pic_: - -; 6859 : -; 6860 : return result; - - 006d7 48 8b 85 30 04 - 00 00 mov rax, QWORD PTR result$[rbp] -$LN1@stbi__pic_: - -; 6861 : } - - 006de 48 8b f8 mov rdi, rax - 006e1 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 006e5 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__pic_load_core$rtcFrameData - 006ec e8 00 00 00 00 call _RTC_CheckStackVars - 006f1 48 8b c7 mov rax, rdi - 006f4 48 8b 8d e0 03 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 006fb 48 33 cd xor rcx, rbp - 006fe e8 00 00 00 00 call __security_check_cookie - 00703 48 8d a5 f8 03 - 00 00 lea rsp, QWORD PTR [rbp+1016] - 0070a 5f pop rdi - 0070b 5d pop rbp - 0070c c3 ret 0 -stbi__pic_load_core ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__copyval -_TEXT SEGMENT -mask$ = 4 -i$ = 36 -channel$ = 288 -dest$ = 296 -src$ = 304 -stbi__copyval PROC ; COMDAT - -; 6731 : { - - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 0000e 55 push rbp - 0000f 57 push rdi - 00010 48 81 ec 28 01 - 00 00 sub rsp, 296 ; 00000128H - 00017 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00023 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00028 90 npad 1 - -; 6732 : int mask = 0x80, i; - - 00029 c7 45 04 80 00 - 00 00 mov DWORD PTR mask$[rbp], 128 ; 00000080H - -; 6733 : -; 6734 : for (i = 0; i < 4; ++i, mask >>= 1) - - 00030 c7 45 24 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 00037 eb 10 jmp SHORT $LN4@stbi__copy -$LN2@stbi__copy: - 00039 8b 45 24 mov eax, DWORD PTR i$[rbp] - 0003c ff c0 inc eax - 0003e 89 45 24 mov DWORD PTR i$[rbp], eax - 00041 8b 45 04 mov eax, DWORD PTR mask$[rbp] - 00044 d1 f8 sar eax, 1 - 00046 89 45 04 mov DWORD PTR mask$[rbp], eax -$LN4@stbi__copy: - 00049 83 7d 24 04 cmp DWORD PTR i$[rbp], 4 - 0004d 7d 31 jge SHORT $LN3@stbi__copy - -; 6735 : if (channel & mask) - - 0004f 8b 45 04 mov eax, DWORD PTR mask$[rbp] - 00052 8b 8d 20 01 00 - 00 mov ecx, DWORD PTR channel$[rbp] - 00058 23 c8 and ecx, eax - 0005a 8b c1 mov eax, ecx - 0005c 85 c0 test eax, eax - 0005e 74 1e je SHORT $LN5@stbi__copy - -; 6736 : dest[i] = src[i]; - - 00060 48 63 45 24 movsxd rax, DWORD PTR i$[rbp] - 00064 48 63 4d 24 movsxd rcx, DWORD PTR i$[rbp] - 00068 48 8b 95 28 01 - 00 00 mov rdx, QWORD PTR dest$[rbp] - 0006f 4c 8b 85 30 01 - 00 00 mov r8, QWORD PTR src$[rbp] - 00076 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 0007b 88 04 0a mov BYTE PTR [rdx+rcx], al -$LN5@stbi__copy: - 0007e eb b9 jmp SHORT $LN2@stbi__copy -$LN3@stbi__copy: - -; 6737 : } - - 00080 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 00087 5f pop rdi - 00088 5d pop rbp - 00089 c3 ret 0 -stbi__copyval ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__readval -_TEXT SEGMENT -mask$ = 4 -i$ = 36 -tv75 = 248 -s$ = 288 -channel$ = 296 -dest$ = 304 -stbi__readval PROC ; COMDAT - -; 6716 : { - - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00009 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000e 55 push rbp - 0000f 57 push rdi - 00010 48 81 ec 28 01 - 00 00 sub rsp, 296 ; 00000128H - 00017 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00023 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00028 90 npad 1 - -; 6717 : int mask = 0x80, i; - - 00029 c7 45 04 80 00 - 00 00 mov DWORD PTR mask$[rbp], 128 ; 00000080H - -; 6718 : -; 6719 : for (i = 0; i < 4; ++i, mask >>= 1) { - - 00030 c7 45 24 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 00037 eb 10 jmp SHORT $LN4@stbi__read -$LN2@stbi__read: - 00039 8b 45 24 mov eax, DWORD PTR i$[rbp] - 0003c ff c0 inc eax - 0003e 89 45 24 mov DWORD PTR i$[rbp], eax - 00041 8b 45 04 mov eax, DWORD PTR mask$[rbp] - 00044 d1 f8 sar eax, 1 - 00046 89 45 04 mov DWORD PTR mask$[rbp], eax -$LN4@stbi__read: - 00049 83 7d 24 04 cmp DWORD PTR i$[rbp], 4 - 0004d 7d 71 jge SHORT $LN3@stbi__read - -; 6720 : if (channel & mask) { - - 0004f 8b 45 04 mov eax, DWORD PTR mask$[rbp] - 00052 8b 8d 28 01 00 - 00 mov ecx, DWORD PTR channel$[rbp] - 00058 23 c8 and ecx, eax - 0005a 8b c1 mov eax, ecx - 0005c 85 c0 test eax, eax - 0005e 74 5b je SHORT $LN5@stbi__read - -; 6721 : if (stbi__at_eof(s)) - - 00060 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00067 e8 00 00 00 00 call stbi__at_eof - 0006c 85 c0 test eax, eax - 0006e 74 31 je SHORT $LN6@stbi__read - -; 6722 : return stbi__errpuc("bad file", "PIC file too short"); - - 00070 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08GGMBIFE@bad?5file@ - 00077 e8 00 00 00 00 call stbi__err - 0007c 85 c0 test eax, eax - 0007e 74 0d je SHORT $LN8@stbi__read - 00080 48 c7 85 f8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv75[rbp], 0 - 0008b eb 0b jmp SHORT $LN9@stbi__read -$LN8@stbi__read: - 0008d 48 c7 85 f8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv75[rbp], 0 -$LN9@stbi__read: - 00098 48 8b 85 f8 00 - 00 00 mov rax, QWORD PTR tv75[rbp] - 0009f eb 26 jmp SHORT $LN1@stbi__read -$LN6@stbi__read: - -; 6723 : dest[i] = stbi__get8(s); - - 000a1 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000a8 e8 00 00 00 00 call stbi__get8 - 000ad 48 63 4d 24 movsxd rcx, DWORD PTR i$[rbp] - 000b1 48 8b 95 30 01 - 00 00 mov rdx, QWORD PTR dest$[rbp] - 000b8 88 04 0a mov BYTE PTR [rdx+rcx], al -$LN5@stbi__read: - -; 6724 : } -; 6725 : } - - 000bb e9 79 ff ff ff jmp $LN2@stbi__read -$LN3@stbi__read: - -; 6726 : -; 6727 : return dest; - - 000c0 48 8b 85 30 01 - 00 00 mov rax, QWORD PTR dest$[rbp] -$LN1@stbi__read: - -; 6728 : } - - 000c7 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 000ce 5f pop rdi - 000cf 5d pop rbp - 000d0 c3 ret 0 -stbi__readval ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__pic_test_core -_TEXT SEGMENT -i$ = 4 -s$ = 256 -stbi__pic_test_core PROC ; COMDAT - -; 6696 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 6697 : int i; -; 6698 : -; 6699 : if (!stbi__pic_is4(s, "\x53\x80\xF6\x34")) - - 00020 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_04KBFEPHFH@S?$IA?v4@ - 00027 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0002e e8 00 00 00 00 call stbi__pic_is4 - 00033 85 c0 test eax, eax - 00035 75 04 jne SHORT $LN5@stbi__pic_ - -; 6700 : return 0; - - 00037 33 c0 xor eax, eax - 00039 eb 46 jmp SHORT $LN1@stbi__pic_ -$LN5@stbi__pic_: - -; 6701 : -; 6702 : for (i = 0; i < 84; ++i) - - 0003b c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 00042 eb 08 jmp SHORT $LN4@stbi__pic_ -$LN2@stbi__pic_: - 00044 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00047 ff c0 inc eax - 00049 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__pic_: - 0004c 83 7d 04 54 cmp DWORD PTR i$[rbp], 84 ; 00000054H - 00050 7d 0f jge SHORT $LN3@stbi__pic_ - -; 6703 : stbi__get8(s); - - 00052 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00059 e8 00 00 00 00 call stbi__get8 - 0005e 90 npad 1 - 0005f eb e3 jmp SHORT $LN2@stbi__pic_ -$LN3@stbi__pic_: - -; 6704 : -; 6705 : if (!stbi__pic_is4(s, "PICT")) - - 00061 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_04ELNJHLFH@PICT@ - 00068 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0006f e8 00 00 00 00 call stbi__pic_is4 - 00074 85 c0 test eax, eax - 00076 75 04 jne SHORT $LN6@stbi__pic_ - -; 6706 : return 0; - - 00078 33 c0 xor eax, eax - 0007a eb 05 jmp SHORT $LN1@stbi__pic_ -$LN6@stbi__pic_: - -; 6707 : -; 6708 : return 1; - - 0007c b8 01 00 00 00 mov eax, 1 -$LN1@stbi__pic_: - -; 6709 : } - - 00081 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 00088 5f pop rdi - 00089 5d pop rbp - 0008a c3 ret 0 -stbi__pic_test_core ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__pic_is4 -_TEXT SEGMENT -i$ = 4 -s$ = 256 -str$ = 264 -stbi__pic_is4 PROC ; COMDAT - -; 6686 : { - - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 6687 : int i; -; 6688 : for (i = 0; i < 4; ++i) - - 00025 c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 0002c eb 08 jmp SHORT $LN4@stbi__pic_ -$LN2@stbi__pic_: - 0002e 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00031 ff c0 inc eax - 00033 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__pic_: - 00036 83 7d 04 04 cmp DWORD PTR i$[rbp], 4 - 0003a 7d 28 jge SHORT $LN3@stbi__pic_ - -; 6689 : if (stbi__get8(s) != (stbi_uc)str[i]) - - 0003c 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00043 e8 00 00 00 00 call stbi__get8 - 00048 0f b6 c0 movzx eax, al - 0004b 48 63 4d 04 movsxd rcx, DWORD PTR i$[rbp] - 0004f 48 8b 95 08 01 - 00 00 mov rdx, QWORD PTR str$[rbp] - 00056 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 0005a 3b c1 cmp eax, ecx - 0005c 74 04 je SHORT $LN5@stbi__pic_ - -; 6690 : return 0; - - 0005e 33 c0 xor eax, eax - 00060 eb 07 jmp SHORT $LN1@stbi__pic_ -$LN5@stbi__pic_: - 00062 eb ca jmp SHORT $LN2@stbi__pic_ -$LN3@stbi__pic_: - -; 6691 : -; 6692 : return 1; - - 00064 b8 01 00 00 00 mov eax, 1 -$LN1@stbi__pic_: - -; 6693 : } - - 00069 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 00070 5f pop rdi - 00071 5d pop rbp - 00072 c3 ret 0 -stbi__pic_is4 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__psd_decode_rle -_TEXT SEGMENT -count$ = 4 -nleft$ = 36 -len$ = 68 -val$1 = 100 -s$ = 352 -p$ = 360 -pixelCount$ = 368 -stbi__psd_decode_rle PROC ; COMDAT - -; 6429 : { - - 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec 68 01 - 00 00 sub rsp, 360 ; 00000168H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 6430 : int count, nleft, len; -; 6431 : -; 6432 : count = 0; - - 0002a c7 45 04 00 00 - 00 00 mov DWORD PTR count$[rbp], 0 -$LN2@stbi__psd_: - -; 6433 : while ((nleft = pixelCount - count) > 0) { - - 00031 8b 45 04 mov eax, DWORD PTR count$[rbp] - 00034 8b 8d 70 01 00 - 00 mov ecx, DWORD PTR pixelCount$[rbp] - 0003a 2b c8 sub ecx, eax - 0003c 8b c1 mov eax, ecx - 0003e 89 45 24 mov DWORD PTR nleft$[rbp], eax - 00041 83 7d 24 00 cmp DWORD PTR nleft$[rbp], 0 - 00045 0f 8e f6 00 00 - 00 jle $LN3@stbi__psd_ - -; 6434 : len = stbi__get8(s); - - 0004b 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00052 e8 00 00 00 00 call stbi__get8 - 00057 0f b6 c0 movzx eax, al - 0005a 89 45 44 mov DWORD PTR len$[rbp], eax - -; 6435 : if (len == 128) { - - 0005d 81 7d 44 80 00 - 00 00 cmp DWORD PTR len$[rbp], 128 ; 00000080H - 00064 75 05 jne SHORT $LN8@stbi__psd_ - 00066 e9 d1 00 00 00 jmp $LN9@stbi__psd_ -$LN8@stbi__psd_: - -; 6436 : // No-op. -; 6437 : } else if (len < 128) { - - 0006b 81 7d 44 80 00 - 00 00 cmp DWORD PTR len$[rbp], 128 ; 00000080H - 00072 7d 5d jge SHORT $LN10@stbi__psd_ - -; 6438 : // Copy next len+1 bytes literally. -; 6439 : len++; - - 00074 8b 45 44 mov eax, DWORD PTR len$[rbp] - 00077 ff c0 inc eax - 00079 89 45 44 mov DWORD PTR len$[rbp], eax - -; 6440 : if (len > nleft) - - 0007c 8b 45 24 mov eax, DWORD PTR nleft$[rbp] - 0007f 39 45 44 cmp DWORD PTR len$[rbp], eax - 00082 7e 07 jle SHORT $LN12@stbi__psd_ - -; 6441 : return 0; // corrupt data - - 00084 33 c0 xor eax, eax - 00086 e9 bb 00 00 00 jmp $LN1@stbi__psd_ -$LN12@stbi__psd_: - -; 6442 : count += len; - - 0008b 8b 45 44 mov eax, DWORD PTR len$[rbp] - 0008e 8b 4d 04 mov ecx, DWORD PTR count$[rbp] - 00091 03 c8 add ecx, eax - 00093 8b c1 mov eax, ecx - 00095 89 45 04 mov DWORD PTR count$[rbp], eax -$LN4@stbi__psd_: - -; 6443 : while (len) { - - 00098 83 7d 44 00 cmp DWORD PTR len$[rbp], 0 - 0009c 74 31 je SHORT $LN5@stbi__psd_ - -; 6444 : *p = stbi__get8(s); - - 0009e 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000a5 e8 00 00 00 00 call stbi__get8 - 000aa 48 8b 8d 68 01 - 00 00 mov rcx, QWORD PTR p$[rbp] - 000b1 88 01 mov BYTE PTR [rcx], al - -; 6445 : p += 4; - - 000b3 48 8b 85 68 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 000ba 48 83 c0 04 add rax, 4 - 000be 48 89 85 68 01 - 00 00 mov QWORD PTR p$[rbp], rax - -; 6446 : len--; - - 000c5 8b 45 44 mov eax, DWORD PTR len$[rbp] - 000c8 ff c8 dec eax - 000ca 89 45 44 mov DWORD PTR len$[rbp], eax - -; 6447 : } - - 000cd eb c9 jmp SHORT $LN4@stbi__psd_ -$LN5@stbi__psd_: - -; 6448 : } else if (len > 128) { - - 000cf eb 6b jmp SHORT $LN11@stbi__psd_ -$LN10@stbi__psd_: - 000d1 81 7d 44 80 00 - 00 00 cmp DWORD PTR len$[rbp], 128 ; 00000080H - 000d8 7e 62 jle SHORT $LN13@stbi__psd_ - -; 6449 : stbi_uc val; -; 6450 : // Next -len+1 bytes in the dest are replicated from next source byte. -; 6451 : // (Interpret len as a negative 8-bit int.) -; 6452 : len = 257 - len; - - 000da b8 01 01 00 00 mov eax, 257 ; 00000101H - 000df 2b 45 44 sub eax, DWORD PTR len$[rbp] - 000e2 89 45 44 mov DWORD PTR len$[rbp], eax - -; 6453 : if (len > nleft) - - 000e5 8b 45 24 mov eax, DWORD PTR nleft$[rbp] - 000e8 39 45 44 cmp DWORD PTR len$[rbp], eax - 000eb 7e 04 jle SHORT $LN14@stbi__psd_ - -; 6454 : return 0; // corrupt data - - 000ed 33 c0 xor eax, eax - 000ef eb 55 jmp SHORT $LN1@stbi__psd_ -$LN14@stbi__psd_: - -; 6455 : val = stbi__get8(s); - - 000f1 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000f8 e8 00 00 00 00 call stbi__get8 - 000fd 88 45 64 mov BYTE PTR val$1[rbp], al - -; 6456 : count += len; - - 00100 8b 45 44 mov eax, DWORD PTR len$[rbp] - 00103 8b 4d 04 mov ecx, DWORD PTR count$[rbp] - 00106 03 c8 add ecx, eax - 00108 8b c1 mov eax, ecx - 0010a 89 45 04 mov DWORD PTR count$[rbp], eax -$LN6@stbi__psd_: - -; 6457 : while (len) { - - 0010d 83 7d 44 00 cmp DWORD PTR len$[rbp], 0 - 00111 74 29 je SHORT $LN7@stbi__psd_ - -; 6458 : *p = val; - - 00113 48 8b 85 68 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 0011a 0f b6 4d 64 movzx ecx, BYTE PTR val$1[rbp] - 0011e 88 08 mov BYTE PTR [rax], cl - -; 6459 : p += 4; - - 00120 48 8b 85 68 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 00127 48 83 c0 04 add rax, 4 - 0012b 48 89 85 68 01 - 00 00 mov QWORD PTR p$[rbp], rax - -; 6460 : len--; - - 00132 8b 45 44 mov eax, DWORD PTR len$[rbp] - 00135 ff c8 dec eax - 00137 89 45 44 mov DWORD PTR len$[rbp], eax - -; 6461 : } - - 0013a eb d1 jmp SHORT $LN6@stbi__psd_ -$LN7@stbi__psd_: -$LN13@stbi__psd_: -$LN11@stbi__psd_: -$LN9@stbi__psd_: - -; 6462 : } -; 6463 : } - - 0013c e9 f0 fe ff ff jmp $LN2@stbi__psd_ -$LN3@stbi__psd_: - -; 6464 : -; 6465 : return 1; - - 00141 b8 01 00 00 00 mov eax, 1 -$LN1@stbi__psd_: - -; 6466 : } - - 00146 48 8d a5 48 01 - 00 00 lea rsp, QWORD PTR [rbp+328] - 0014d 5f pop rdi - 0014e 5d pop rbp - 0014f c3 ret 0 -stbi__psd_decode_rle ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__tga_read_rgb16 -_TEXT SEGMENT -px$ = 4 -fiveBitMask$ = 36 -r$ = 68 -g$ = 100 -b$ = 132 -s$ = 384 -out$ = 392 -stbi__tga_read_rgb16 PROC ; COMDAT - -; 6198 : { - - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec 88 01 - 00 00 sub rsp, 392 ; 00000188H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 6199 : stbi__uint16 px = (stbi__uint16)stbi__get16le(s); - - 00025 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0002c e8 00 00 00 00 call stbi__get16le - 00031 66 89 45 04 mov WORD PTR px$[rbp], ax - -; 6200 : stbi__uint16 fiveBitMask = 31; - - 00035 b8 1f 00 00 00 mov eax, 31 - 0003a 66 89 45 24 mov WORD PTR fiveBitMask$[rbp], ax - -; 6201 : // we have 3 channels with 5bits each -; 6202 : int r = (px >> 10) & fiveBitMask; - - 0003e 0f b7 45 04 movzx eax, WORD PTR px$[rbp] - 00042 c1 f8 0a sar eax, 10 - 00045 0f b7 4d 24 movzx ecx, WORD PTR fiveBitMask$[rbp] - 00049 23 c1 and eax, ecx - 0004b 89 45 44 mov DWORD PTR r$[rbp], eax - -; 6203 : int g = (px >> 5) & fiveBitMask; - - 0004e 0f b7 45 04 movzx eax, WORD PTR px$[rbp] - 00052 c1 f8 05 sar eax, 5 - 00055 0f b7 4d 24 movzx ecx, WORD PTR fiveBitMask$[rbp] - 00059 23 c1 and eax, ecx - 0005b 89 45 64 mov DWORD PTR g$[rbp], eax - -; 6204 : int b = px & fiveBitMask; - - 0005e 0f b7 45 04 movzx eax, WORD PTR px$[rbp] - 00062 0f b7 4d 24 movzx ecx, WORD PTR fiveBitMask$[rbp] - 00066 23 c1 and eax, ecx - 00068 89 85 84 00 00 - 00 mov DWORD PTR b$[rbp], eax - -; 6205 : // Note that this saves the data in RGB(A) order, so it doesn't need to be swapped later -; 6206 : out[0] = (stbi_uc)((r * 255) / 31); - - 0006e 69 45 44 ff 00 - 00 00 imul eax, DWORD PTR r$[rbp], 255 ; 000000ffH - 00075 99 cdq - 00076 b9 1f 00 00 00 mov ecx, 31 - 0007b f7 f9 idiv ecx - 0007d b9 01 00 00 00 mov ecx, 1 - 00082 48 6b c9 00 imul rcx, rcx, 0 - 00086 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR out$[rbp] - 0008d 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 6207 : out[1] = (stbi_uc)((g * 255) / 31); - - 00090 69 45 64 ff 00 - 00 00 imul eax, DWORD PTR g$[rbp], 255 ; 000000ffH - 00097 99 cdq - 00098 b9 1f 00 00 00 mov ecx, 31 - 0009d f7 f9 idiv ecx - 0009f b9 01 00 00 00 mov ecx, 1 - 000a4 48 6b c9 01 imul rcx, rcx, 1 - 000a8 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR out$[rbp] - 000af 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 6208 : out[2] = (stbi_uc)((b * 255) / 31); - - 000b2 69 85 84 00 00 - 00 ff 00 00 00 imul eax, DWORD PTR b$[rbp], 255 ; 000000ffH - 000bc 99 cdq - 000bd b9 1f 00 00 00 mov ecx, 31 - 000c2 f7 f9 idiv ecx - 000c4 b9 01 00 00 00 mov ecx, 1 - 000c9 48 6b c9 02 imul rcx, rcx, 2 - 000cd 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR out$[rbp] - 000d4 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 6209 : -; 6210 : // some people claim that the most significant bit might be used for alpha -; 6211 : // (possibly if an alpha-bit is set in the "image descriptor byte") -; 6212 : // but that only made 16bit test images completely translucent.. -; 6213 : // so let's treat all 15 and 16bit TGAs as RGB with no alpha. -; 6214 : } - - 000d7 48 8d a5 68 01 - 00 00 lea rsp, QWORD PTR [rbp+360] - 000de 5f pop rdi - 000df 5d pop rbp - 000e0 c3 ret 0 -stbi__tga_read_rgb16 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__tga_get_comp -_TEXT SEGMENT -tv65 = 192 -bits_per_pixel$ = 240 -is_grey$ = 248 -is_rgb16$ = 256 -stbi__tga_get_comp PROC ; COMDAT - -; 6060 : { - - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00009 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 0000d 55 push rbp - 0000e 57 push rdi - 0000f 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 00016 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00022 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00027 90 npad 1 - -; 6061 : // only RGB or RGBA (incl. 16bit) or grey allowed -; 6062 : if (is_rgb16) - - 00028 48 83 bd 00 01 - 00 00 00 cmp QWORD PTR is_rgb16$[rbp], 0 - 00030 74 0d je SHORT $LN4@stbi__tga_ - -; 6063 : *is_rgb16 = 0; - - 00032 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR is_rgb16$[rbp] - 00039 c7 00 00 00 00 - 00 mov DWORD PTR [rax], 0 -$LN4@stbi__tga_: - -; 6064 : switch (bits_per_pixel) { - - 0003f 8b 85 f0 00 00 - 00 mov eax, DWORD PTR bits_per_pixel$[rbp] - 00045 89 85 c0 00 00 - 00 mov DWORD PTR tv65[rbp], eax - 0004b 83 bd c0 00 00 - 00 08 cmp DWORD PTR tv65[rbp], 8 - 00052 74 26 je SHORT $LN5@stbi__tga_ - 00054 83 bd c0 00 00 - 00 0f cmp DWORD PTR tv65[rbp], 15 - 0005b 74 34 je SHORT $LN8@stbi__tga_ - 0005d 83 bd c0 00 00 - 00 10 cmp DWORD PTR tv65[rbp], 16 - 00064 74 1b je SHORT $LN6@stbi__tga_ - 00066 83 bd c0 00 00 - 00 18 cmp DWORD PTR tv65[rbp], 24 - 0006d 74 40 je SHORT $LN10@stbi__tga_ - 0006f 83 bd c0 00 00 - 00 20 cmp DWORD PTR tv65[rbp], 32 ; 00000020H - 00076 74 37 je SHORT $LN11@stbi__tga_ - 00078 eb 46 jmp SHORT $LN12@stbi__tga_ -$LN5@stbi__tga_: - -; 6065 : case 8: -; 6066 : return STBI_grey; - - 0007a b8 01 00 00 00 mov eax, 1 - 0007f eb 41 jmp SHORT $LN1@stbi__tga_ -$LN6@stbi__tga_: - -; 6067 : case 16: -; 6068 : if (is_grey) - - 00081 83 bd f8 00 00 - 00 00 cmp DWORD PTR is_grey$[rbp], 0 - 00088 74 07 je SHORT $LN7@stbi__tga_ - -; 6069 : return STBI_grey_alpha; - - 0008a b8 02 00 00 00 mov eax, 2 - 0008f eb 31 jmp SHORT $LN1@stbi__tga_ -$LN7@stbi__tga_: -$LN8@stbi__tga_: - -; 6070 : // fallthrough -; 6071 : case 15: -; 6072 : if (is_rgb16) - - 00091 48 83 bd 00 01 - 00 00 00 cmp QWORD PTR is_rgb16$[rbp], 0 - 00099 74 0d je SHORT $LN9@stbi__tga_ - -; 6073 : *is_rgb16 = 1; - - 0009b 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR is_rgb16$[rbp] - 000a2 c7 00 01 00 00 - 00 mov DWORD PTR [rax], 1 -$LN9@stbi__tga_: - -; 6074 : return STBI_rgb; - - 000a8 b8 03 00 00 00 mov eax, 3 - 000ad eb 13 jmp SHORT $LN1@stbi__tga_ -$LN10@stbi__tga_: -$LN11@stbi__tga_: - -; 6075 : case 24: // fallthrough -; 6076 : case 32: -; 6077 : return bits_per_pixel / 8; - - 000af 8b 85 f0 00 00 - 00 mov eax, DWORD PTR bits_per_pixel$[rbp] - 000b5 99 cdq - 000b6 83 e2 07 and edx, 7 - 000b9 03 c2 add eax, edx - 000bb c1 f8 03 sar eax, 3 - 000be eb 02 jmp SHORT $LN1@stbi__tga_ -$LN12@stbi__tga_: - -; 6078 : default: -; 6079 : return 0; - - 000c0 33 c0 xor eax, eax -$LN1@stbi__tga_: - -; 6080 : } -; 6081 : } - - 000c2 48 8d a5 d8 00 - 00 00 lea rsp, QWORD PTR [rbp+216] - 000c9 5f pop rdi - 000ca 5d pop rbp - 000cb c3 ret 0 -stbi__tga_get_comp ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__bmp_parse_header -_TEXT SEGMENT -hsz$ = 4 -compress$1 = 36 -i$2 = 68 -tv75 = 280 -tv95 = 280 -tv136 = 280 -tv156 = 280 -tv168 = 280 -tv173 = 280 -tv182 = 280 -tv224 = 280 -tv228 = 280 -tv234 = 280 -s$ = 320 -info$ = 328 -stbi__bmp_parse_header PROC ; COMDAT - -; 5710 : { - - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec 48 01 - 00 00 sub rsp, 328 ; 00000148H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 5711 : int hsz; -; 5712 : if (stbi__get8(s) != 'B' || stbi__get8(s) != 'M') - - 00025 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0002c e8 00 00 00 00 call stbi__get8 - 00031 0f b6 c0 movzx eax, al - 00034 83 f8 42 cmp eax, 66 ; 00000042H - 00037 75 14 jne SHORT $LN6@stbi__bmp_ - 00039 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00040 e8 00 00 00 00 call stbi__get8 - 00045 0f b6 c0 movzx eax, al - 00048 83 f8 4d cmp eax, 77 ; 0000004dH - 0004b 74 34 je SHORT $LN5@stbi__bmp_ -$LN6@stbi__bmp_: - -; 5713 : return stbi__errpuc("not BMP", "Corrupt BMP"); - - 0004d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07IANEBNLB@not?5BMP@ - 00054 e8 00 00 00 00 call stbi__err - 00059 85 c0 test eax, eax - 0005b 74 0d je SHORT $LN32@stbi__bmp_ - 0005d 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv75[rbp], 0 - 00068 eb 0b jmp SHORT $LN33@stbi__bmp_ -$LN32@stbi__bmp_: - 0006a 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv75[rbp], 0 -$LN33@stbi__bmp_: - 00075 48 8b 85 18 01 - 00 00 mov rax, QWORD PTR tv75[rbp] - 0007c e9 af 05 00 00 jmp $LN1@stbi__bmp_ -$LN5@stbi__bmp_: - -; 5714 : stbi__get32le(s); // discard filesize - - 00081 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00088 e8 00 00 00 00 call stbi__get32le - 0008d 90 npad 1 - -; 5715 : stbi__get16le(s); // discard reserved - - 0008e 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00095 e8 00 00 00 00 call stbi__get16le - 0009a 90 npad 1 - -; 5716 : stbi__get16le(s); // discard reserved - - 0009b 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000a2 e8 00 00 00 00 call stbi__get16le - 000a7 90 npad 1 - -; 5717 : info->offset = stbi__get32le(s); - - 000a8 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000af e8 00 00 00 00 call stbi__get32le - 000b4 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR info$[rbp] - 000bb 89 41 04 mov DWORD PTR [rcx+4], eax - -; 5718 : info->hsz = hsz = stbi__get32le(s); - - 000be 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000c5 e8 00 00 00 00 call stbi__get32le - 000ca 89 45 04 mov DWORD PTR hsz$[rbp], eax - 000cd 48 8b 85 48 01 - 00 00 mov rax, QWORD PTR info$[rbp] - 000d4 8b 4d 04 mov ecx, DWORD PTR hsz$[rbp] - 000d7 89 48 08 mov DWORD PTR [rax+8], ecx - -; 5719 : info->mr = info->mg = info->mb = info->ma = 0; - - 000da 48 8b 85 48 01 - 00 00 mov rax, QWORD PTR info$[rbp] - 000e1 c7 40 18 00 00 - 00 00 mov DWORD PTR [rax+24], 0 - 000e8 48 8b 85 48 01 - 00 00 mov rax, QWORD PTR info$[rbp] - 000ef c7 40 14 00 00 - 00 00 mov DWORD PTR [rax+20], 0 - 000f6 48 8b 85 48 01 - 00 00 mov rax, QWORD PTR info$[rbp] - 000fd c7 40 10 00 00 - 00 00 mov DWORD PTR [rax+16], 0 - 00104 48 8b 85 48 01 - 00 00 mov rax, QWORD PTR info$[rbp] - 0010b c7 40 0c 00 00 - 00 00 mov DWORD PTR [rax+12], 0 - -; 5720 : info->extra_read = 14; - - 00112 48 8b 85 48 01 - 00 00 mov rax, QWORD PTR info$[rbp] - 00119 c7 40 20 0e 00 - 00 00 mov DWORD PTR [rax+32], 14 - -; 5721 : -; 5722 : if (info->offset < 0) - - 00120 48 8b 85 48 01 - 00 00 mov rax, QWORD PTR info$[rbp] - 00127 83 78 04 00 cmp DWORD PTR [rax+4], 0 - 0012b 7d 34 jge SHORT $LN7@stbi__bmp_ - -; 5723 : return stbi__errpuc("bad BMP", "bad BMP"); - - 0012d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07IEJCHBDI@bad?5BMP@ - 00134 e8 00 00 00 00 call stbi__err - 00139 85 c0 test eax, eax - 0013b 74 0d je SHORT $LN34@stbi__bmp_ - 0013d 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv95[rbp], 0 - 00148 eb 0b jmp SHORT $LN35@stbi__bmp_ -$LN34@stbi__bmp_: - 0014a 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv95[rbp], 0 -$LN35@stbi__bmp_: - 00155 48 8b 85 18 01 - 00 00 mov rax, QWORD PTR tv95[rbp] - 0015c e9 cf 04 00 00 jmp $LN1@stbi__bmp_ -$LN7@stbi__bmp_: - -; 5724 : -; 5725 : if (hsz != 12 && hsz != 40 && hsz != 56 && hsz != 108 && hsz != 124) - - 00161 83 7d 04 0c cmp DWORD PTR hsz$[rbp], 12 - 00165 74 4c je SHORT $LN8@stbi__bmp_ - 00167 83 7d 04 28 cmp DWORD PTR hsz$[rbp], 40 ; 00000028H - 0016b 74 46 je SHORT $LN8@stbi__bmp_ - 0016d 83 7d 04 38 cmp DWORD PTR hsz$[rbp], 56 ; 00000038H - 00171 74 40 je SHORT $LN8@stbi__bmp_ - 00173 83 7d 04 6c cmp DWORD PTR hsz$[rbp], 108 ; 0000006cH - 00177 74 3a je SHORT $LN8@stbi__bmp_ - 00179 83 7d 04 7c cmp DWORD PTR hsz$[rbp], 124 ; 0000007cH - 0017d 74 34 je SHORT $LN8@stbi__bmp_ - -; 5726 : return stbi__errpuc("unknown BMP", "BMP type not supported: unknown"); - - 0017f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0M@KHBIBJBG@unknown?5BMP@ - 00186 e8 00 00 00 00 call stbi__err - 0018b 85 c0 test eax, eax - 0018d 74 0d je SHORT $LN36@stbi__bmp_ - 0018f 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv136[rbp], 0 - 0019a eb 0b jmp SHORT $LN37@stbi__bmp_ -$LN36@stbi__bmp_: - 0019c 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv136[rbp], 0 -$LN37@stbi__bmp_: - 001a7 48 8b 85 18 01 - 00 00 mov rax, QWORD PTR tv136[rbp] - 001ae e9 7d 04 00 00 jmp $LN1@stbi__bmp_ -$LN8@stbi__bmp_: - -; 5727 : if (hsz == 12) { - - 001b3 83 7d 04 0c cmp DWORD PTR hsz$[rbp], 12 - 001b7 75 2d jne SHORT $LN9@stbi__bmp_ - -; 5728 : s->img_x = stbi__get16le(s); - - 001b9 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001c0 e8 00 00 00 00 call stbi__get16le - 001c5 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001cc 89 01 mov DWORD PTR [rcx], eax - -; 5729 : s->img_y = stbi__get16le(s); - - 001ce 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001d5 e8 00 00 00 00 call stbi__get16le - 001da 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001e1 89 41 04 mov DWORD PTR [rcx+4], eax - -; 5730 : } else { - - 001e4 eb 2b jmp SHORT $LN10@stbi__bmp_ -$LN9@stbi__bmp_: - -; 5731 : s->img_x = stbi__get32le(s); - - 001e6 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001ed e8 00 00 00 00 call stbi__get32le - 001f2 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001f9 89 01 mov DWORD PTR [rcx], eax - -; 5732 : s->img_y = stbi__get32le(s); - - 001fb 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00202 e8 00 00 00 00 call stbi__get32le - 00207 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0020e 89 41 04 mov DWORD PTR [rcx+4], eax -$LN10@stbi__bmp_: - -; 5733 : } -; 5734 : if (stbi__get16le(s) != 1) - - 00211 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00218 e8 00 00 00 00 call stbi__get16le - 0021d 83 f8 01 cmp eax, 1 - 00220 74 34 je SHORT $LN11@stbi__bmp_ - -; 5735 : return stbi__errpuc("bad BMP", "bad BMP"); - - 00222 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07IEJCHBDI@bad?5BMP@ - 00229 e8 00 00 00 00 call stbi__err - 0022e 85 c0 test eax, eax - 00230 74 0d je SHORT $LN38@stbi__bmp_ - 00232 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv156[rbp], 0 - 0023d eb 0b jmp SHORT $LN39@stbi__bmp_ -$LN38@stbi__bmp_: - 0023f 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv156[rbp], 0 -$LN39@stbi__bmp_: - 0024a 48 8b 85 18 01 - 00 00 mov rax, QWORD PTR tv156[rbp] - 00251 e9 da 03 00 00 jmp $LN1@stbi__bmp_ -$LN11@stbi__bmp_: - -; 5736 : info->bpp = stbi__get16le(s); - - 00256 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0025d e8 00 00 00 00 call stbi__get16le - 00262 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR info$[rbp] - 00269 89 01 mov DWORD PTR [rcx], eax - -; 5737 : if (hsz != 12) { - - 0026b 83 7d 04 0c cmp DWORD PTR hsz$[rbp], 12 - 0026f 0f 84 b6 03 00 - 00 je $LN12@stbi__bmp_ - -; 5738 : int compress = stbi__get32le(s); - - 00275 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0027c e8 00 00 00 00 call stbi__get32le - 00281 89 45 24 mov DWORD PTR compress$1[rbp], eax - -; 5739 : if (compress == 1 || compress == 2) - - 00284 83 7d 24 01 cmp DWORD PTR compress$1[rbp], 1 - 00288 74 06 je SHORT $LN14@stbi__bmp_ - 0028a 83 7d 24 02 cmp DWORD PTR compress$1[rbp], 2 - 0028e 75 34 jne SHORT $LN13@stbi__bmp_ -$LN14@stbi__bmp_: - -; 5740 : return stbi__errpuc("BMP RLE", "BMP type not supported: RLE"); - - 00290 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07IMHMNOIB@BMP?5RLE@ - 00297 e8 00 00 00 00 call stbi__err - 0029c 85 c0 test eax, eax - 0029e 74 0d je SHORT $LN40@stbi__bmp_ - 002a0 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv168[rbp], 0 - 002ab eb 0b jmp SHORT $LN41@stbi__bmp_ -$LN40@stbi__bmp_: - 002ad 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv168[rbp], 0 -$LN41@stbi__bmp_: - 002b8 48 8b 85 18 01 - 00 00 mov rax, QWORD PTR tv168[rbp] - 002bf e9 6c 03 00 00 jmp $LN1@stbi__bmp_ -$LN13@stbi__bmp_: - -; 5741 : if (compress >= 4) - - 002c4 83 7d 24 04 cmp DWORD PTR compress$1[rbp], 4 - 002c8 7c 34 jl SHORT $LN15@stbi__bmp_ - -; 5742 : return stbi__errpuc( - - 002ca 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0N@ODCBCBFN@BMP?5JPEG?1PNG@ - 002d1 e8 00 00 00 00 call stbi__err - 002d6 85 c0 test eax, eax - 002d8 74 0d je SHORT $LN42@stbi__bmp_ - 002da 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv173[rbp], 0 - 002e5 eb 0b jmp SHORT $LN43@stbi__bmp_ -$LN42@stbi__bmp_: - 002e7 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv173[rbp], 0 -$LN43@stbi__bmp_: - 002f2 48 8b 85 18 01 - 00 00 mov rax, QWORD PTR tv173[rbp] - 002f9 e9 32 03 00 00 jmp $LN1@stbi__bmp_ -$LN15@stbi__bmp_: - -; 5743 : "BMP JPEG/PNG", -; 5744 : "BMP type not supported: unsupported compression"); // this includes PNG/JPEG modes -; 5745 : if (compress == 3 && info->bpp != 16 && info->bpp != 32) - - 002fe 83 7d 24 03 cmp DWORD PTR compress$1[rbp], 3 - 00302 75 4c jne SHORT $LN16@stbi__bmp_ - 00304 48 8b 85 48 01 - 00 00 mov rax, QWORD PTR info$[rbp] - 0030b 83 38 10 cmp DWORD PTR [rax], 16 - 0030e 74 40 je SHORT $LN16@stbi__bmp_ - 00310 48 8b 85 48 01 - 00 00 mov rax, QWORD PTR info$[rbp] - 00317 83 38 20 cmp DWORD PTR [rax], 32 ; 00000020H - 0031a 74 34 je SHORT $LN16@stbi__bmp_ - -; 5746 : return stbi__errpuc("bad BMP", - - 0031c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07IEJCHBDI@bad?5BMP@ - 00323 e8 00 00 00 00 call stbi__err - 00328 85 c0 test eax, eax - 0032a 74 0d je SHORT $LN44@stbi__bmp_ - 0032c 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv182[rbp], 0 - 00337 eb 0b jmp SHORT $LN45@stbi__bmp_ -$LN44@stbi__bmp_: - 00339 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv182[rbp], 0 -$LN45@stbi__bmp_: - 00344 48 8b 85 18 01 - 00 00 mov rax, QWORD PTR tv182[rbp] - 0034b e9 e0 02 00 00 jmp $LN1@stbi__bmp_ -$LN16@stbi__bmp_: - -; 5747 : "bad BMP"); // bitfields requires 16 or 32 bits/pixel -; 5748 : stbi__get32le(s); // discard sizeof - - 00350 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00357 e8 00 00 00 00 call stbi__get32le - 0035c 90 npad 1 - -; 5749 : stbi__get32le(s); // discard hres - - 0035d 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00364 e8 00 00 00 00 call stbi__get32le - 00369 90 npad 1 - -; 5750 : stbi__get32le(s); // discard vres - - 0036a 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00371 e8 00 00 00 00 call stbi__get32le - 00376 90 npad 1 - -; 5751 : stbi__get32le(s); // discard colorsused - - 00377 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0037e e8 00 00 00 00 call stbi__get32le - 00383 90 npad 1 - -; 5752 : stbi__get32le(s); // discard max important - - 00384 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0038b e8 00 00 00 00 call stbi__get32le - 00390 90 npad 1 - -; 5753 : if (hsz == 40 || hsz == 56) { - - 00391 83 7d 04 28 cmp DWORD PTR hsz$[rbp], 40 ; 00000028H - 00395 74 0a je SHORT $LN19@stbi__bmp_ - 00397 83 7d 04 38 cmp DWORD PTR hsz$[rbp], 56 ; 00000038H - 0039b 0f 85 6f 01 00 - 00 jne $LN17@stbi__bmp_ -$LN19@stbi__bmp_: - -; 5754 : if (hsz == 56) { - - 003a1 83 7d 04 38 cmp DWORD PTR hsz$[rbp], 56 ; 00000038H - 003a5 75 34 jne SHORT $LN20@stbi__bmp_ - -; 5755 : stbi__get32le(s); - - 003a7 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 003ae e8 00 00 00 00 call stbi__get32le - 003b3 90 npad 1 - -; 5756 : stbi__get32le(s); - - 003b4 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 003bb e8 00 00 00 00 call stbi__get32le - 003c0 90 npad 1 - -; 5757 : stbi__get32le(s); - - 003c1 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 003c8 e8 00 00 00 00 call stbi__get32le - 003cd 90 npad 1 - -; 5758 : stbi__get32le(s); - - 003ce 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 003d5 e8 00 00 00 00 call stbi__get32le - 003da 90 npad 1 -$LN20@stbi__bmp_: - -; 5759 : } -; 5760 : if (info->bpp == 16 || info->bpp == 32) { - - 003db 48 8b 85 48 01 - 00 00 mov rax, QWORD PTR info$[rbp] - 003e2 83 38 10 cmp DWORD PTR [rax], 16 - 003e5 74 10 je SHORT $LN22@stbi__bmp_ - 003e7 48 8b 85 48 01 - 00 00 mov rax, QWORD PTR info$[rbp] - 003ee 83 38 20 cmp DWORD PTR [rax], 32 ; 00000020H - 003f1 0f 85 14 01 00 - 00 jne $LN21@stbi__bmp_ -$LN22@stbi__bmp_: - -; 5761 : if (compress == 0) { - - 003f7 83 7d 24 00 cmp DWORD PTR compress$1[rbp], 0 - 003fb 75 15 jne SHORT $LN23@stbi__bmp_ - -; 5762 : stbi__bmp_set_mask_defaults(info, compress); - - 003fd 8b 55 24 mov edx, DWORD PTR compress$1[rbp] - 00400 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR info$[rbp] - 00407 e8 00 00 00 00 call stbi__bmp_set_mask_defaults - 0040c 90 npad 1 - 0040d e9 f9 00 00 00 jmp $LN24@stbi__bmp_ -$LN23@stbi__bmp_: - -; 5763 : } else if (compress == 3) { - - 00412 83 7d 24 03 cmp DWORD PTR compress$1[rbp], 3 - 00416 0f 85 bb 00 00 - 00 jne $LN25@stbi__bmp_ - -; 5764 : info->mr = stbi__get32le(s); - - 0041c 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00423 e8 00 00 00 00 call stbi__get32le - 00428 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR info$[rbp] - 0042f 89 41 0c mov DWORD PTR [rcx+12], eax - -; 5765 : info->mg = stbi__get32le(s); - - 00432 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00439 e8 00 00 00 00 call stbi__get32le - 0043e 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR info$[rbp] - 00445 89 41 10 mov DWORD PTR [rcx+16], eax - -; 5766 : info->mb = stbi__get32le(s); - - 00448 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0044f e8 00 00 00 00 call stbi__get32le - 00454 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR info$[rbp] - 0045b 89 41 14 mov DWORD PTR [rcx+20], eax - -; 5767 : info->extra_read += 12; - - 0045e 48 8b 85 48 01 - 00 00 mov rax, QWORD PTR info$[rbp] - 00465 8b 40 20 mov eax, DWORD PTR [rax+32] - 00468 83 c0 0c add eax, 12 - 0046b 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR info$[rbp] - 00472 89 41 20 mov DWORD PTR [rcx+32], eax - -; 5768 : // not documented, but generated by photoshop and handled by mspaint -; 5769 : if (info->mr == info->mg && info->mg == info->mb) { - - 00475 48 8b 85 48 01 - 00 00 mov rax, QWORD PTR info$[rbp] - 0047c 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR info$[rbp] - 00483 8b 49 10 mov ecx, DWORD PTR [rcx+16] - 00486 39 48 0c cmp DWORD PTR [rax+12], ecx - 00489 75 4a jne SHORT $LN27@stbi__bmp_ - 0048b 48 8b 85 48 01 - 00 00 mov rax, QWORD PTR info$[rbp] - 00492 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR info$[rbp] - 00499 8b 49 14 mov ecx, DWORD PTR [rcx+20] - 0049c 39 48 10 cmp DWORD PTR [rax+16], ecx - 0049f 75 34 jne SHORT $LN27@stbi__bmp_ - -; 5770 : // ?!?!? -; 5771 : return stbi__errpuc("bad BMP", "bad BMP"); - - 004a1 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07IEJCHBDI@bad?5BMP@ - 004a8 e8 00 00 00 00 call stbi__err - 004ad 85 c0 test eax, eax - 004af 74 0d je SHORT $LN46@stbi__bmp_ - 004b1 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv224[rbp], 0 - 004bc eb 0b jmp SHORT $LN47@stbi__bmp_ -$LN46@stbi__bmp_: - 004be 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv224[rbp], 0 -$LN47@stbi__bmp_: - 004c9 48 8b 85 18 01 - 00 00 mov rax, QWORD PTR tv224[rbp] - 004d0 e9 5b 01 00 00 jmp $LN1@stbi__bmp_ -$LN27@stbi__bmp_: - -; 5772 : } -; 5773 : } else - - 004d5 eb 34 jmp SHORT $LN26@stbi__bmp_ -$LN25@stbi__bmp_: - -; 5774 : return stbi__errpuc("bad BMP", "bad BMP"); - - 004d7 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07IEJCHBDI@bad?5BMP@ - 004de e8 00 00 00 00 call stbi__err - 004e3 85 c0 test eax, eax - 004e5 74 0d je SHORT $LN48@stbi__bmp_ - 004e7 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv228[rbp], 0 - 004f2 eb 0b jmp SHORT $LN49@stbi__bmp_ -$LN48@stbi__bmp_: - 004f4 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv228[rbp], 0 -$LN49@stbi__bmp_: - 004ff 48 8b 85 18 01 - 00 00 mov rax, QWORD PTR tv228[rbp] - 00506 e9 25 01 00 00 jmp $LN1@stbi__bmp_ -$LN26@stbi__bmp_: -$LN24@stbi__bmp_: -$LN21@stbi__bmp_: - -; 5775 : } -; 5776 : } else { - - 0050b e9 1b 01 00 00 jmp $LN18@stbi__bmp_ -$LN17@stbi__bmp_: - -; 5777 : // V4/V5 header -; 5778 : int i; -; 5779 : if (hsz != 108 && hsz != 124) - - 00510 83 7d 04 6c cmp DWORD PTR hsz$[rbp], 108 ; 0000006cH - 00514 74 3a je SHORT $LN28@stbi__bmp_ - 00516 83 7d 04 7c cmp DWORD PTR hsz$[rbp], 124 ; 0000007cH - 0051a 74 34 je SHORT $LN28@stbi__bmp_ - -; 5780 : return stbi__errpuc("bad BMP", "bad BMP"); - - 0051c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07IEJCHBDI@bad?5BMP@ - 00523 e8 00 00 00 00 call stbi__err - 00528 85 c0 test eax, eax - 0052a 74 0d je SHORT $LN50@stbi__bmp_ - 0052c 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv234[rbp], 0 - 00537 eb 0b jmp SHORT $LN51@stbi__bmp_ -$LN50@stbi__bmp_: - 00539 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv234[rbp], 0 -$LN51@stbi__bmp_: - 00544 48 8b 85 18 01 - 00 00 mov rax, QWORD PTR tv234[rbp] - 0054b e9 e0 00 00 00 jmp $LN1@stbi__bmp_ -$LN28@stbi__bmp_: - -; 5781 : info->mr = stbi__get32le(s); - - 00550 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00557 e8 00 00 00 00 call stbi__get32le - 0055c 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR info$[rbp] - 00563 89 41 0c mov DWORD PTR [rcx+12], eax - -; 5782 : info->mg = stbi__get32le(s); - - 00566 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0056d e8 00 00 00 00 call stbi__get32le - 00572 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR info$[rbp] - 00579 89 41 10 mov DWORD PTR [rcx+16], eax - -; 5783 : info->mb = stbi__get32le(s); - - 0057c 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00583 e8 00 00 00 00 call stbi__get32le - 00588 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR info$[rbp] - 0058f 89 41 14 mov DWORD PTR [rcx+20], eax - -; 5784 : info->ma = stbi__get32le(s); - - 00592 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00599 e8 00 00 00 00 call stbi__get32le - 0059e 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR info$[rbp] - 005a5 89 41 18 mov DWORD PTR [rcx+24], eax - -; 5785 : if (compress != - - 005a8 83 7d 24 03 cmp DWORD PTR compress$1[rbp], 3 - 005ac 74 10 je SHORT $LN29@stbi__bmp_ - -; 5786 : 3) // override mr/mg/mb unless in BI_BITFIELDS mode, as per docs -; 5787 : stbi__bmp_set_mask_defaults(info, compress); - - 005ae 8b 55 24 mov edx, DWORD PTR compress$1[rbp] - 005b1 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR info$[rbp] - 005b8 e8 00 00 00 00 call stbi__bmp_set_mask_defaults - 005bd 90 npad 1 -$LN29@stbi__bmp_: - -; 5788 : stbi__get32le(s); // discard color space - - 005be 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 005c5 e8 00 00 00 00 call stbi__get32le - 005ca 90 npad 1 - -; 5789 : for (i = 0; i < 12; ++i) - - 005cb c7 45 44 00 00 - 00 00 mov DWORD PTR i$2[rbp], 0 - 005d2 eb 08 jmp SHORT $LN4@stbi__bmp_ -$LN2@stbi__bmp_: - 005d4 8b 45 44 mov eax, DWORD PTR i$2[rbp] - 005d7 ff c0 inc eax - 005d9 89 45 44 mov DWORD PTR i$2[rbp], eax -$LN4@stbi__bmp_: - 005dc 83 7d 44 0c cmp DWORD PTR i$2[rbp], 12 - 005e0 7d 0f jge SHORT $LN3@stbi__bmp_ - -; 5790 : stbi__get32le(s); // discard color space parameters - - 005e2 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 005e9 e8 00 00 00 00 call stbi__get32le - 005ee 90 npad 1 - 005ef eb e3 jmp SHORT $LN2@stbi__bmp_ -$LN3@stbi__bmp_: - -; 5791 : if (hsz == 124) { - - 005f1 83 7d 04 7c cmp DWORD PTR hsz$[rbp], 124 ; 0000007cH - 005f5 75 34 jne SHORT $LN30@stbi__bmp_ - -; 5792 : stbi__get32le(s); // discard rendering intent - - 005f7 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 005fe e8 00 00 00 00 call stbi__get32le - 00603 90 npad 1 - -; 5793 : stbi__get32le(s); // discard offset of profile data - - 00604 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0060b e8 00 00 00 00 call stbi__get32le - 00610 90 npad 1 - -; 5794 : stbi__get32le(s); // discard size of profile data - - 00611 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00618 e8 00 00 00 00 call stbi__get32le - 0061d 90 npad 1 - -; 5795 : stbi__get32le(s); // discard reserved - - 0061e 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00625 e8 00 00 00 00 call stbi__get32le - 0062a 90 npad 1 -$LN30@stbi__bmp_: -$LN18@stbi__bmp_: -$LN12@stbi__bmp_: - -; 5796 : } -; 5797 : } -; 5798 : } -; 5799 : return (void *)1; - - 0062b b8 01 00 00 00 mov eax, 1 -$LN1@stbi__bmp_: - -; 5800 : } - - 00630 48 8d a5 28 01 - 00 00 lea rsp, QWORD PTR [rbp+296] - 00637 5f pop rdi - 00638 5d pop rbp - 00639 c3 ret 0 -stbi__bmp_parse_header ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__bmp_set_mask_defaults -_TEXT SEGMENT -info$ = 224 -compress$ = 232 -stbi__bmp_set_mask_defaults PROC ; COMDAT - -; 5683 : { - - 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00009 55 push rbp - 0000a 57 push rdi - 0000b 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00017 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00023 90 npad 1 - -; 5684 : // BI_BITFIELDS specifies masks explicitly, don't override -; 5685 : if (compress == 3) - - 00024 83 bd e8 00 00 - 00 03 cmp DWORD PTR compress$[rbp], 3 - 0002b 75 0a jne SHORT $LN2@stbi__bmp_ - -; 5686 : return 1; - - 0002d b8 01 00 00 00 mov eax, 1 - 00032 e9 dd 00 00 00 jmp $LN1@stbi__bmp_ -$LN2@stbi__bmp_: - -; 5687 : -; 5688 : if (compress == 0) { - - 00037 83 bd e8 00 00 - 00 00 cmp DWORD PTR compress$[rbp], 0 - 0003e 0f 85 ce 00 00 - 00 jne $LN3@stbi__bmp_ - -; 5689 : if (info->bpp == 16) { - - 00044 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR info$[rbp] - 0004b 83 38 10 cmp DWORD PTR [rax], 16 - 0004e 75 2f jne SHORT $LN4@stbi__bmp_ - -; 5690 : info->mr = 31u << 10; - - 00050 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR info$[rbp] - 00057 c7 40 0c 00 7c - 00 00 mov DWORD PTR [rax+12], 31744 ; 00007c00H - -; 5691 : info->mg = 31u << 5; - - 0005e 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR info$[rbp] - 00065 c7 40 10 e0 03 - 00 00 mov DWORD PTR [rax+16], 992 ; 000003e0H - -; 5692 : info->mb = 31u << 0; - - 0006c 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR info$[rbp] - 00073 c7 40 14 1f 00 - 00 00 mov DWORD PTR [rax+20], 31 - 0007a e9 8c 00 00 00 jmp $LN5@stbi__bmp_ -$LN4@stbi__bmp_: - -; 5693 : } else if (info->bpp == 32) { - - 0007f 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR info$[rbp] - 00086 83 38 20 cmp DWORD PTR [rax], 32 ; 00000020H - 00089 75 48 jne SHORT $LN6@stbi__bmp_ - -; 5694 : info->mr = 0xffu << 16; - - 0008b 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR info$[rbp] - 00092 c7 40 0c 00 00 - ff 00 mov DWORD PTR [rax+12], 16711680 ; 00ff0000H - -; 5695 : info->mg = 0xffu << 8; - - 00099 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR info$[rbp] - 000a0 c7 40 10 00 ff - 00 00 mov DWORD PTR [rax+16], 65280 ; 0000ff00H - -; 5696 : info->mb = 0xffu << 0; - - 000a7 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR info$[rbp] - 000ae c7 40 14 ff 00 - 00 00 mov DWORD PTR [rax+20], 255 ; 000000ffH - -; 5697 : info->ma = 0xffu << 24; - - 000b5 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR info$[rbp] - 000bc c7 40 18 00 00 - 00 ff mov DWORD PTR [rax+24], -16777216 ; ff000000H - -; 5698 : info->all_a = - - 000c3 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR info$[rbp] - 000ca c7 40 1c 00 00 - 00 00 mov DWORD PTR [rax+28], 0 - -; 5699 : 0; // if all_a is 0 at end, then we loaded alpha channel but it was all 0 -; 5700 : } else { - - 000d1 eb 38 jmp SHORT $LN7@stbi__bmp_ -$LN6@stbi__bmp_: - -; 5701 : // otherwise, use defaults, which is all-0 -; 5702 : info->mr = info->mg = info->mb = info->ma = 0; - - 000d3 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR info$[rbp] - 000da c7 40 18 00 00 - 00 00 mov DWORD PTR [rax+24], 0 - 000e1 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR info$[rbp] - 000e8 c7 40 14 00 00 - 00 00 mov DWORD PTR [rax+20], 0 - 000ef 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR info$[rbp] - 000f6 c7 40 10 00 00 - 00 00 mov DWORD PTR [rax+16], 0 - 000fd 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR info$[rbp] - 00104 c7 40 0c 00 00 - 00 00 mov DWORD PTR [rax+12], 0 -$LN7@stbi__bmp_: -$LN5@stbi__bmp_: - -; 5703 : } -; 5704 : return 1; - - 0010b b8 01 00 00 00 mov eax, 1 - 00110 eb 02 jmp SHORT $LN1@stbi__bmp_ -$LN3@stbi__bmp_: - -; 5705 : } -; 5706 : return 0; // error - - 00112 33 c0 xor eax, eax -$LN1@stbi__bmp_: - -; 5707 : } - - 00114 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 0011b 5f pop rdi - 0011c 5d pop rbp - 0011d c3 ret 0 -stbi__bmp_set_mask_defaults ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__shiftsigned -_TEXT SEGMENT -v$ = 224 -shift$ = 232 -bits$ = 240 -stbi__shiftsigned PROC ; COMDAT - -; 5651 : { - - 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 00005 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00009 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 0000d 55 push rbp - 0000e 57 push rdi - 0000f 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 00016 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00022 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00027 90 npad 1 - -; 5652 : static unsigned int mul_table[9] = { -; 5653 : 0, -; 5654 : 0xff /*0b11111111*/, -; 5655 : 0x55 /*0b01010101*/, -; 5656 : 0x49 /*0b01001001*/, -; 5657 : 0x11 /*0b00010001*/, -; 5658 : 0x21 /*0b00100001*/, -; 5659 : 0x41 /*0b01000001*/, -; 5660 : 0x81 /*0b10000001*/, -; 5661 : 0x01 /*0b00000001*/, -; 5662 : }; -; 5663 : static unsigned int shift_table[9] = { -; 5664 : 0, 0, 0, 1, 0, 2, 4, 6, 0, -; 5665 : }; -; 5666 : if (shift < 0) - - 00028 83 bd e8 00 00 - 00 00 cmp DWORD PTR shift$[rbp], 0 - 0002f 7d 1b jge SHORT $LN2@stbi__shif - -; 5667 : v <<= -shift; - - 00031 8b 85 e8 00 00 - 00 mov eax, DWORD PTR shift$[rbp] - 00037 f7 d8 neg eax - 00039 0f b6 c8 movzx ecx, al - 0003c 8b 85 e0 00 00 - 00 mov eax, DWORD PTR v$[rbp] - 00042 d3 e0 shl eax, cl - 00044 89 85 e0 00 00 - 00 mov DWORD PTR v$[rbp], eax - 0004a eb 17 jmp SHORT $LN3@stbi__shif -$LN2@stbi__shif: - -; 5668 : else -; 5669 : v >>= shift; - - 0004c 8b 85 e8 00 00 - 00 mov eax, DWORD PTR shift$[rbp] - 00052 0f b6 c8 movzx ecx, al - 00055 8b 85 e0 00 00 - 00 mov eax, DWORD PTR v$[rbp] - 0005b d3 e8 shr eax, cl - 0005d 89 85 e0 00 00 - 00 mov DWORD PTR v$[rbp], eax -$LN3@stbi__shif: - -; 5670 : STBI_ASSERT(v < 256); - - 00063 81 bd e0 00 00 - 00 00 01 00 00 cmp DWORD PTR v$[rbp], 256 ; 00000100H - 0006d 72 1c jb SHORT $LN5@stbi__shif - 0006f 41 b8 26 16 00 - 00 mov r8d, 5670 ; 00001626H - 00075 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_1GG@PCNMFHPN@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ - 0007c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_1BA@EKLGALLJ@?$AAv?$AA?5?$AA?$DM?$AA?5?$AA2?$AA5?$AA6@ - 00083 ff 15 00 00 00 - 00 call QWORD PTR __imp__wassert - 00089 33 c0 xor eax, eax -$LN5@stbi__shif: - -; 5671 : v >>= (8 - bits); - - 0008b b8 08 00 00 00 mov eax, 8 - 00090 2b 85 f0 00 00 - 00 sub eax, DWORD PTR bits$[rbp] - 00096 0f b6 c8 movzx ecx, al - 00099 8b 85 e0 00 00 - 00 mov eax, DWORD PTR v$[rbp] - 0009f d3 e8 shr eax, cl - 000a1 89 85 e0 00 00 - 00 mov DWORD PTR v$[rbp], eax - -; 5672 : STBI_ASSERT(bits >= 0 && bits <= 8); - - 000a7 83 bd f0 00 00 - 00 00 cmp DWORD PTR bits$[rbp], 0 - 000ae 7c 09 jl SHORT $LN6@stbi__shif - 000b0 83 bd f0 00 00 - 00 08 cmp DWORD PTR bits$[rbp], 8 - 000b7 7e 1c jle SHORT $LN7@stbi__shif -$LN6@stbi__shif: - 000b9 41 b8 28 16 00 - 00 mov r8d, 5672 ; 00001628H - 000bf 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_1GG@PCNMFHPN@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ - 000c6 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_1CO@LIFEKNEP@?$AAb?$AAi?$AAt?$AAs?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAb?$AAi@ - 000cd ff 15 00 00 00 - 00 call QWORD PTR __imp__wassert - 000d3 33 c0 xor eax, eax -$LN7@stbi__shif: - -; 5673 : return (int)((unsigned)v * mul_table[bits]) >> shift_table[bits]; - - 000d5 48 63 85 f0 00 - 00 00 movsxd rax, DWORD PTR bits$[rbp] - 000dc 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:?mul_table@?1??stbi__shiftsigned@@9@9 - 000e3 8b 95 e0 00 00 - 00 mov edx, DWORD PTR v$[rbp] - 000e9 0f af 14 81 imul edx, DWORD PTR [rcx+rax*4] - 000ed 8b c2 mov eax, edx - 000ef 48 63 8d f0 00 - 00 00 movsxd rcx, DWORD PTR bits$[rbp] - 000f6 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:?shift_table@?1??stbi__shiftsigned@@9@9 - 000fd 8b 0c 8a mov ecx, DWORD PTR [rdx+rcx*4] - 00100 d3 f8 sar eax, cl - -; 5674 : } - - 00102 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00109 5f pop rdi - 0010a 5d pop rbp - 0010b c3 ret 0 -stbi__shiftsigned ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__bitcount -_TEXT SEGMENT -a$ = 224 -stbi__bitcount PROC ; COMDAT - -; 5638 : { - - 00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 00004 55 push rbp - 00005 57 push rdi - 00006 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00012 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00019 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001e 90 npad 1 - -; 5639 : a = (a & 0x55555555) + ((a >> 1) & 0x55555555); // max 2 - - 0001f 8b 85 e0 00 00 - 00 mov eax, DWORD PTR a$[rbp] - 00025 25 55 55 55 55 and eax, 1431655765 ; 55555555H - 0002a 8b 8d e0 00 00 - 00 mov ecx, DWORD PTR a$[rbp] - 00030 d1 e9 shr ecx, 1 - 00032 81 e1 55 55 55 - 55 and ecx, 1431655765 ; 55555555H - 00038 03 c1 add eax, ecx - 0003a 89 85 e0 00 00 - 00 mov DWORD PTR a$[rbp], eax - -; 5640 : a = (a & 0x33333333) + ((a >> 2) & 0x33333333); // max 4 - - 00040 8b 85 e0 00 00 - 00 mov eax, DWORD PTR a$[rbp] - 00046 25 33 33 33 33 and eax, 858993459 ; 33333333H - 0004b 8b 8d e0 00 00 - 00 mov ecx, DWORD PTR a$[rbp] - 00051 c1 e9 02 shr ecx, 2 - 00054 81 e1 33 33 33 - 33 and ecx, 858993459 ; 33333333H - 0005a 03 c1 add eax, ecx - 0005c 89 85 e0 00 00 - 00 mov DWORD PTR a$[rbp], eax - -; 5641 : a = (a + (a >> 4)) & 0x0f0f0f0f; // max 8 per 4, now 8 bits - - 00062 8b 85 e0 00 00 - 00 mov eax, DWORD PTR a$[rbp] - 00068 c1 e8 04 shr eax, 4 - 0006b 8b 8d e0 00 00 - 00 mov ecx, DWORD PTR a$[rbp] - 00071 03 c8 add ecx, eax - 00073 8b c1 mov eax, ecx - 00075 25 0f 0f 0f 0f and eax, 252645135 ; 0f0f0f0fH - 0007a 89 85 e0 00 00 - 00 mov DWORD PTR a$[rbp], eax - -; 5642 : a = (a + (a >> 8)); // max 16 per 8 bits - - 00080 8b 85 e0 00 00 - 00 mov eax, DWORD PTR a$[rbp] - 00086 c1 e8 08 shr eax, 8 - 00089 8b 8d e0 00 00 - 00 mov ecx, DWORD PTR a$[rbp] - 0008f 03 c8 add ecx, eax - 00091 8b c1 mov eax, ecx - 00093 89 85 e0 00 00 - 00 mov DWORD PTR a$[rbp], eax - -; 5643 : a = (a + (a >> 16)); // max 32 per 8 bits - - 00099 8b 85 e0 00 00 - 00 mov eax, DWORD PTR a$[rbp] - 0009f c1 e8 10 shr eax, 16 - 000a2 8b 8d e0 00 00 - 00 mov ecx, DWORD PTR a$[rbp] - 000a8 03 c8 add ecx, eax - 000aa 8b c1 mov eax, ecx - 000ac 89 85 e0 00 00 - 00 mov DWORD PTR a$[rbp], eax - -; 5644 : return a & 0xff; - - 000b2 8b 85 e0 00 00 - 00 mov eax, DWORD PTR a$[rbp] - 000b8 25 ff 00 00 00 and eax, 255 ; 000000ffH - -; 5645 : } - - 000bd 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 000c4 5f pop rdi - 000c5 5d pop rbp - 000c6 c3 ret 0 -stbi__bitcount ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__high_bit -_TEXT SEGMENT -n$ = 4 -z$ = 256 -stbi__high_bit PROC ; COMDAT - -; 5611 : { - - 00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 00004 55 push rbp - 00005 57 push rdi - 00006 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0000d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00012 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00019 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001e 90 npad 1 - -; 5612 : int n = 0; - - 0001f c7 45 04 00 00 - 00 00 mov DWORD PTR n$[rbp], 0 - -; 5613 : if (z == 0) - - 00026 83 bd 00 01 00 - 00 00 cmp DWORD PTR z$[rbp], 0 - 0002d 75 0a jne SHORT $LN2@stbi__high - -; 5614 : return -1; - - 0002f b8 ff ff ff ff mov eax, -1 - 00034 e9 9e 00 00 00 jmp $LN1@stbi__high -$LN2@stbi__high: - -; 5615 : if (z >= 0x10000) { - - 00039 81 bd 00 01 00 - 00 00 00 01 00 cmp DWORD PTR z$[rbp], 65536 ; 00010000H - 00043 72 18 jb SHORT $LN3@stbi__high - -; 5616 : n += 16; - - 00045 8b 45 04 mov eax, DWORD PTR n$[rbp] - 00048 83 c0 10 add eax, 16 - 0004b 89 45 04 mov DWORD PTR n$[rbp], eax - -; 5617 : z >>= 16; - - 0004e 8b 85 00 01 00 - 00 mov eax, DWORD PTR z$[rbp] - 00054 c1 e8 10 shr eax, 16 - 00057 89 85 00 01 00 - 00 mov DWORD PTR z$[rbp], eax -$LN3@stbi__high: - -; 5618 : } -; 5619 : if (z >= 0x00100) { - - 0005d 81 bd 00 01 00 - 00 00 01 00 00 cmp DWORD PTR z$[rbp], 256 ; 00000100H - 00067 72 18 jb SHORT $LN4@stbi__high - -; 5620 : n += 8; - - 00069 8b 45 04 mov eax, DWORD PTR n$[rbp] - 0006c 83 c0 08 add eax, 8 - 0006f 89 45 04 mov DWORD PTR n$[rbp], eax - -; 5621 : z >>= 8; - - 00072 8b 85 00 01 00 - 00 mov eax, DWORD PTR z$[rbp] - 00078 c1 e8 08 shr eax, 8 - 0007b 89 85 00 01 00 - 00 mov DWORD PTR z$[rbp], eax -$LN4@stbi__high: - -; 5622 : } -; 5623 : if (z >= 0x00010) { - - 00081 83 bd 00 01 00 - 00 10 cmp DWORD PTR z$[rbp], 16 - 00088 72 18 jb SHORT $LN5@stbi__high - -; 5624 : n += 4; - - 0008a 8b 45 04 mov eax, DWORD PTR n$[rbp] - 0008d 83 c0 04 add eax, 4 - 00090 89 45 04 mov DWORD PTR n$[rbp], eax - -; 5625 : z >>= 4; - - 00093 8b 85 00 01 00 - 00 mov eax, DWORD PTR z$[rbp] - 00099 c1 e8 04 shr eax, 4 - 0009c 89 85 00 01 00 - 00 mov DWORD PTR z$[rbp], eax -$LN5@stbi__high: - -; 5626 : } -; 5627 : if (z >= 0x00004) { - - 000a2 83 bd 00 01 00 - 00 04 cmp DWORD PTR z$[rbp], 4 - 000a9 72 18 jb SHORT $LN6@stbi__high - -; 5628 : n += 2; - - 000ab 8b 45 04 mov eax, DWORD PTR n$[rbp] - 000ae 83 c0 02 add eax, 2 - 000b1 89 45 04 mov DWORD PTR n$[rbp], eax - -; 5629 : z >>= 2; - - 000b4 8b 85 00 01 00 - 00 mov eax, DWORD PTR z$[rbp] - 000ba c1 e8 02 shr eax, 2 - 000bd 89 85 00 01 00 - 00 mov DWORD PTR z$[rbp], eax -$LN6@stbi__high: - -; 5630 : } -; 5631 : if (z >= 0x00002) { - - 000c3 83 bd 00 01 00 - 00 02 cmp DWORD PTR z$[rbp], 2 - 000ca 72 08 jb SHORT $LN7@stbi__high - -; 5632 : n += 1; /* >>= 1;*/ - - 000cc 8b 45 04 mov eax, DWORD PTR n$[rbp] - 000cf ff c0 inc eax - 000d1 89 45 04 mov DWORD PTR n$[rbp], eax -$LN7@stbi__high: - -; 5633 : } -; 5634 : return n; - - 000d4 8b 45 04 mov eax, DWORD PTR n$[rbp] -$LN1@stbi__high: - -; 5635 : } - - 000d7 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 000de 5f pop rdi - 000df 5d pop rbp - 000e0 c3 ret 0 -stbi__high_bit ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__bmp_test_raw -_TEXT SEGMENT -r$ = 4 -sz$ = 36 -tv83 = 244 -s$ = 288 -stbi__bmp_test_raw PROC ; COMDAT - -; 5586 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 28 01 - 00 00 sub rsp, 296 ; 00000128H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 5587 : int r; -; 5588 : int sz; -; 5589 : if (stbi__get8(s) != 'B') - - 00020 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00027 e8 00 00 00 00 call stbi__get8 - 0002c 0f b6 c0 movzx eax, al - 0002f 83 f8 42 cmp eax, 66 ; 00000042H - 00032 74 07 je SHORT $LN2@stbi__bmp_ - -; 5590 : return 0; - - 00034 33 c0 xor eax, eax - 00036 e9 9e 00 00 00 jmp $LN1@stbi__bmp_ -$LN2@stbi__bmp_: - -; 5591 : if (stbi__get8(s) != 'M') - - 0003b 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00042 e8 00 00 00 00 call stbi__get8 - 00047 0f b6 c0 movzx eax, al - 0004a 83 f8 4d cmp eax, 77 ; 0000004dH - 0004d 74 07 je SHORT $LN3@stbi__bmp_ - -; 5592 : return 0; - - 0004f 33 c0 xor eax, eax - 00051 e9 83 00 00 00 jmp $LN1@stbi__bmp_ -$LN3@stbi__bmp_: - -; 5593 : stbi__get32le(s); // discard filesize - - 00056 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0005d e8 00 00 00 00 call stbi__get32le - 00062 90 npad 1 - -; 5594 : stbi__get16le(s); // discard reserved - - 00063 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0006a e8 00 00 00 00 call stbi__get16le - 0006f 90 npad 1 - -; 5595 : stbi__get16le(s); // discard reserved - - 00070 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00077 e8 00 00 00 00 call stbi__get16le - 0007c 90 npad 1 - -; 5596 : stbi__get32le(s); // discard data offset - - 0007d 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00084 e8 00 00 00 00 call stbi__get32le - 00089 90 npad 1 - -; 5597 : sz = stbi__get32le(s); - - 0008a 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00091 e8 00 00 00 00 call stbi__get32le - 00096 89 45 24 mov DWORD PTR sz$[rbp], eax - -; 5598 : r = (sz == 12 || sz == 40 || sz == 56 || sz == 108 || sz == 124); - - 00099 83 7d 24 0c cmp DWORD PTR sz$[rbp], 12 - 0009d 74 24 je SHORT $LN5@stbi__bmp_ - 0009f 83 7d 24 28 cmp DWORD PTR sz$[rbp], 40 ; 00000028H - 000a3 74 1e je SHORT $LN5@stbi__bmp_ - 000a5 83 7d 24 38 cmp DWORD PTR sz$[rbp], 56 ; 00000038H - 000a9 74 18 je SHORT $LN5@stbi__bmp_ - 000ab 83 7d 24 6c cmp DWORD PTR sz$[rbp], 108 ; 0000006cH - 000af 74 12 je SHORT $LN5@stbi__bmp_ - 000b1 83 7d 24 7c cmp DWORD PTR sz$[rbp], 124 ; 0000007cH - 000b5 74 0c je SHORT $LN5@stbi__bmp_ - 000b7 c7 85 f4 00 00 - 00 00 00 00 00 mov DWORD PTR tv83[rbp], 0 - 000c1 eb 0a jmp SHORT $LN6@stbi__bmp_ -$LN5@stbi__bmp_: - 000c3 c7 85 f4 00 00 - 00 01 00 00 00 mov DWORD PTR tv83[rbp], 1 -$LN6@stbi__bmp_: - 000cd 8b 85 f4 00 00 - 00 mov eax, DWORD PTR tv83[rbp] - 000d3 89 45 04 mov DWORD PTR r$[rbp], eax - -; 5599 : return r; - - 000d6 8b 45 04 mov eax, DWORD PTR r$[rbp] -$LN1@stbi__bmp_: - -; 5600 : } - - 000d9 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 000e0 5f pop rdi - 000e1 5d pop rbp - 000e2 c3 ret 0 -stbi__bmp_test_raw ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__png_info_raw -_TEXT SEGMENT -p$ = 224 -x$ = 232 -y$ = 240 -comp$ = 248 -stbi__png_info_raw PROC ; COMDAT - -; 5547 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 5548 : if (!stbi__parse_png_file(p, STBI__SCAN_header, 0)) { - - 0002f 45 33 c0 xor r8d, r8d - 00032 ba 02 00 00 00 mov edx, 2 - 00037 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR p$[rbp] - 0003e e8 00 00 00 00 call stbi__parse_png_file - 00043 85 c0 test eax, eax - 00045 75 14 jne SHORT $LN2@stbi__png_ - -; 5549 : stbi__rewind(p->s); - - 00047 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR p$[rbp] - 0004e 48 8b 08 mov rcx, QWORD PTR [rax] - 00051 e8 00 00 00 00 call stbi__rewind - 00056 90 npad 1 - -; 5550 : return 0; - - 00057 33 c0 xor eax, eax - 00059 eb 64 jmp SHORT $LN1@stbi__png_ -$LN2@stbi__png_: - -; 5551 : } -; 5552 : if (x) - - 0005b 48 83 bd e8 00 - 00 00 00 cmp QWORD PTR x$[rbp], 0 - 00063 74 15 je SHORT $LN3@stbi__png_ - -; 5553 : *x = p->s->img_x; - - 00065 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR p$[rbp] - 0006c 48 8b 00 mov rax, QWORD PTR [rax] - 0006f 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR x$[rbp] - 00076 8b 00 mov eax, DWORD PTR [rax] - 00078 89 01 mov DWORD PTR [rcx], eax -$LN3@stbi__png_: - -; 5554 : if (y) - - 0007a 48 83 bd f0 00 - 00 00 00 cmp QWORD PTR y$[rbp], 0 - 00082 74 16 je SHORT $LN4@stbi__png_ - -; 5555 : *y = p->s->img_y; - - 00084 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR p$[rbp] - 0008b 48 8b 00 mov rax, QWORD PTR [rax] - 0008e 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR y$[rbp] - 00095 8b 40 04 mov eax, DWORD PTR [rax+4] - 00098 89 01 mov DWORD PTR [rcx], eax -$LN4@stbi__png_: - -; 5556 : if (comp) - - 0009a 48 83 bd f8 00 - 00 00 00 cmp QWORD PTR comp$[rbp], 0 - 000a2 74 16 je SHORT $LN5@stbi__png_ - -; 5557 : *comp = p->s->img_n; - - 000a4 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR p$[rbp] - 000ab 48 8b 00 mov rax, QWORD PTR [rax] - 000ae 48 8b 8d f8 00 - 00 00 mov rcx, QWORD PTR comp$[rbp] - 000b5 8b 40 08 mov eax, DWORD PTR [rax+8] - 000b8 89 01 mov DWORD PTR [rcx], eax -$LN5@stbi__png_: - -; 5558 : return 1; - - 000ba b8 01 00 00 00 mov eax, 1 -$LN1@stbi__png_: - -; 5559 : } - - 000bf 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 000c6 5f pop rdi - 000c7 5d pop rbp - 000c8 c3 ret 0 -stbi__png_info_raw ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__do_png -_TEXT SEGMENT -result$ = 8 -tv69 = 216 -tv84 = 216 -p$ = 256 -x$ = 264 -y$ = 272 -n$ = 280 -req_comp$ = 288 -ri$ = 296 -stbi__do_png PROC ; COMDAT - -; 5488 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 18 01 - 00 00 sub rsp, 280 ; 00000118H - 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 5489 : void *result = NULL; - - 0002f 48 c7 45 08 00 - 00 00 00 mov QWORD PTR result$[rbp], 0 - -; 5490 : if (req_comp < 0 || req_comp > 4) - - 00037 83 bd 20 01 00 - 00 00 cmp DWORD PTR req_comp$[rbp], 0 - 0003e 7c 09 jl SHORT $LN3@stbi__do_p - 00040 83 bd 20 01 00 - 00 04 cmp DWORD PTR req_comp$[rbp], 4 - 00047 7e 34 jle SHORT $LN2@stbi__do_p -$LN3@stbi__do_p: - -; 5491 : return stbi__errpuc("bad req_comp", "Internal error"); - - 00049 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0N@KBPNPPBJ@bad?5req_comp@ - 00050 e8 00 00 00 00 call stbi__err - 00055 85 c0 test eax, eax - 00057 74 0d je SHORT $LN15@stbi__do_p - 00059 48 c7 85 d8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv69[rbp], 0 - 00064 eb 0b jmp SHORT $LN16@stbi__do_p -$LN15@stbi__do_p: - 00066 48 c7 85 d8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv69[rbp], 0 -$LN16@stbi__do_p: - 00071 48 8b 85 d8 00 - 00 00 mov rax, QWORD PTR tv69[rbp] - 00078 e9 2e 02 00 00 jmp $LN1@stbi__do_p -$LN2@stbi__do_p: - -; 5492 : if (stbi__parse_png_file(p, STBI__SCAN_load, req_comp)) { - - 0007d 44 8b 85 20 01 - 00 00 mov r8d, DWORD PTR req_comp$[rbp] - 00084 33 d2 xor edx, edx - 00086 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR p$[rbp] - 0008d e8 00 00 00 00 call stbi__parse_png_file - 00092 85 c0 test eax, eax - 00094 0f 84 aa 01 00 - 00 je $LN4@stbi__do_p - -; 5493 : if (p->depth <= 8) - - 0009a 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 000a1 83 78 20 08 cmp DWORD PTR [rax+32], 8 - 000a5 7f 0f jg SHORT $LN5@stbi__do_p - -; 5494 : ri->bits_per_channel = 8; - - 000a7 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR ri$[rbp] - 000ae c7 00 08 00 00 - 00 mov DWORD PTR [rax], 8 - 000b4 eb 50 jmp SHORT $LN6@stbi__do_p -$LN5@stbi__do_p: - -; 5495 : else if (p->depth == 16) - - 000b6 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 000bd 83 78 20 10 cmp DWORD PTR [rax+32], 16 - 000c1 75 0f jne SHORT $LN7@stbi__do_p - -; 5496 : ri->bits_per_channel = 16; - - 000c3 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR ri$[rbp] - 000ca c7 00 10 00 00 - 00 mov DWORD PTR [rax], 16 - 000d0 eb 34 jmp SHORT $LN8@stbi__do_p -$LN7@stbi__do_p: - -; 5497 : else -; 5498 : return stbi__errpuc("bad bits_per_channel", - - 000d2 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BF@NOEEEFMF@bad?5bits_per_channel@ - 000d9 e8 00 00 00 00 call stbi__err - 000de 85 c0 test eax, eax - 000e0 74 0d je SHORT $LN17@stbi__do_p - 000e2 48 c7 85 d8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv84[rbp], 0 - 000ed eb 0b jmp SHORT $LN18@stbi__do_p -$LN17@stbi__do_p: - 000ef 48 c7 85 d8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv84[rbp], 0 -$LN18@stbi__do_p: - 000fa 48 8b 85 d8 00 - 00 00 mov rax, QWORD PTR tv84[rbp] - 00101 e9 a5 01 00 00 jmp $LN1@stbi__do_p -$LN8@stbi__do_p: -$LN6@stbi__do_p: - -; 5499 : "PNG not supported: unsupported color depth"); -; 5500 : result = p->out; - - 00106 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 0010d 48 8b 40 18 mov rax, QWORD PTR [rax+24] - 00111 48 89 45 08 mov QWORD PTR result$[rbp], rax - -; 5501 : p->out = NULL; - - 00115 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 0011c 48 c7 40 18 00 - 00 00 00 mov QWORD PTR [rax+24], 0 - -; 5502 : if (req_comp && req_comp != p->s->img_out_n) { - - 00124 83 bd 20 01 00 - 00 00 cmp DWORD PTR req_comp$[rbp], 0 - 0012b 0f 84 c8 00 00 - 00 je $LN9@stbi__do_p - 00131 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 00138 48 8b 00 mov rax, QWORD PTR [rax] - 0013b 8b 40 0c mov eax, DWORD PTR [rax+12] - 0013e 39 85 20 01 00 - 00 cmp DWORD PTR req_comp$[rbp], eax - 00144 0f 84 af 00 00 - 00 je $LN9@stbi__do_p - -; 5503 : if (ri->bits_per_channel == 8) - - 0014a 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR ri$[rbp] - 00151 83 38 08 cmp DWORD PTR [rax], 8 - 00154 75 41 jne SHORT $LN10@stbi__do_p - -; 5504 : result = stbi__convert_format((unsigned char *)result, - - 00156 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 0015d 48 8b 00 mov rax, QWORD PTR [rax] - 00160 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR p$[rbp] - 00167 48 8b 09 mov rcx, QWORD PTR [rcx] - 0016a 48 8b 95 00 01 - 00 00 mov rdx, QWORD PTR p$[rbp] - 00171 48 8b 12 mov rdx, QWORD PTR [rdx] - 00174 8b 40 04 mov eax, DWORD PTR [rax+4] - 00177 89 44 24 20 mov DWORD PTR [rsp+32], eax - 0017b 44 8b 09 mov r9d, DWORD PTR [rcx] - 0017e 44 8b 85 20 01 - 00 00 mov r8d, DWORD PTR req_comp$[rbp] - 00185 8b 52 0c mov edx, DWORD PTR [rdx+12] - 00188 48 8b 4d 08 mov rcx, QWORD PTR result$[rbp] - 0018c e8 00 00 00 00 call stbi__convert_format - 00191 48 89 45 08 mov QWORD PTR result$[rbp], rax - 00195 eb 3f jmp SHORT $LN11@stbi__do_p -$LN10@stbi__do_p: - -; 5505 : p->s->img_out_n, req_comp, -; 5506 : p->s->img_x, p->s->img_y); -; 5507 : else -; 5508 : result = stbi__convert_format16((stbi__uint16 *)result, - - 00197 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 0019e 48 8b 00 mov rax, QWORD PTR [rax] - 001a1 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR p$[rbp] - 001a8 48 8b 09 mov rcx, QWORD PTR [rcx] - 001ab 48 8b 95 00 01 - 00 00 mov rdx, QWORD PTR p$[rbp] - 001b2 48 8b 12 mov rdx, QWORD PTR [rdx] - 001b5 8b 40 04 mov eax, DWORD PTR [rax+4] - 001b8 89 44 24 20 mov DWORD PTR [rsp+32], eax - 001bc 44 8b 09 mov r9d, DWORD PTR [rcx] - 001bf 44 8b 85 20 01 - 00 00 mov r8d, DWORD PTR req_comp$[rbp] - 001c6 8b 52 0c mov edx, DWORD PTR [rdx+12] - 001c9 48 8b 4d 08 mov rcx, QWORD PTR result$[rbp] - 001cd e8 00 00 00 00 call stbi__convert_format16 - 001d2 48 89 45 08 mov QWORD PTR result$[rbp], rax -$LN11@stbi__do_p: - -; 5509 : p->s->img_out_n, req_comp, -; 5510 : p->s->img_x, p->s->img_y); -; 5511 : p->s->img_out_n = req_comp; - - 001d6 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 001dd 48 8b 00 mov rax, QWORD PTR [rax] - 001e0 8b 8d 20 01 00 - 00 mov ecx, DWORD PTR req_comp$[rbp] - 001e6 89 48 0c mov DWORD PTR [rax+12], ecx - -; 5512 : if (result == NULL) - - 001e9 48 83 7d 08 00 cmp QWORD PTR result$[rbp], 0 - 001ee 75 09 jne SHORT $LN12@stbi__do_p - -; 5513 : return result; - - 001f0 48 8b 45 08 mov rax, QWORD PTR result$[rbp] - 001f4 e9 b2 00 00 00 jmp $LN1@stbi__do_p -$LN12@stbi__do_p: -$LN9@stbi__do_p: - -; 5514 : } -; 5515 : *x = p->s->img_x; - - 001f9 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 00200 48 8b 00 mov rax, QWORD PTR [rax] - 00203 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR x$[rbp] - 0020a 8b 00 mov eax, DWORD PTR [rax] - 0020c 89 01 mov DWORD PTR [rcx], eax - -; 5516 : *y = p->s->img_y; - - 0020e 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 00215 48 8b 00 mov rax, QWORD PTR [rax] - 00218 48 8b 8d 10 01 - 00 00 mov rcx, QWORD PTR y$[rbp] - 0021f 8b 40 04 mov eax, DWORD PTR [rax+4] - 00222 89 01 mov DWORD PTR [rcx], eax - -; 5517 : if (n) - - 00224 48 83 bd 18 01 - 00 00 00 cmp QWORD PTR n$[rbp], 0 - 0022c 74 16 je SHORT $LN13@stbi__do_p - -; 5518 : *n = p->s->img_n; - - 0022e 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 00235 48 8b 00 mov rax, QWORD PTR [rax] - 00238 48 8b 8d 18 01 - 00 00 mov rcx, QWORD PTR n$[rbp] - 0023f 8b 40 08 mov eax, DWORD PTR [rax+8] - 00242 89 01 mov DWORD PTR [rcx], eax -$LN13@stbi__do_p: -$LN4@stbi__do_p: - -; 5519 : } -; 5520 : STBI_FREE(p->out); - - 00244 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 0024b 48 8b 48 18 mov rcx, QWORD PTR [rax+24] - 0024f ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00255 90 npad 1 - -; 5521 : p->out = NULL; - - 00256 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 0025d 48 c7 40 18 00 - 00 00 00 mov QWORD PTR [rax+24], 0 - -; 5522 : STBI_FREE(p->expanded); - - 00265 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 0026c 48 8b 48 10 mov rcx, QWORD PTR [rax+16] - 00270 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00276 90 npad 1 - -; 5523 : p->expanded = NULL; - - 00277 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 0027e 48 c7 40 10 00 - 00 00 00 mov QWORD PTR [rax+16], 0 - -; 5524 : STBI_FREE(p->idata); - - 00286 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 0028d 48 8b 48 08 mov rcx, QWORD PTR [rax+8] - 00291 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00297 90 npad 1 - -; 5525 : p->idata = NULL; - - 00298 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR p$[rbp] - 0029f 48 c7 40 08 00 - 00 00 00 mov QWORD PTR [rax+8], 0 - -; 5526 : -; 5527 : return result; - - 002a7 48 8b 45 08 mov rax, QWORD PTR result$[rbp] -$LN1@stbi__do_p: - -; 5528 : } - - 002ab 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 002b2 5f pop rdi - 002b3 5d pop rbp - 002b4 c3 ret 0 -stbi__do_png ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__parse_png_file -_TEXT SEGMENT -palette$ = 16 -pal_img_n$ = 1060 -has_trans$ = 1092 -tc$ = 1124 -tc16$ = 1156 -ioff$ = 1188 -idata_limit$ = 1220 -i$ = 1252 -pal_len$ = 1284 -first$ = 1316 -k$ = 1348 -interlace$ = 1380 -color$ = 1412 -is_iphone$ = 1444 -s$ = 1480 -c$8 = 1512 -comp$9 = 1540 -filter$10 = 1572 -idata_limit_old$11 = 1604 -p$12 = 1640 -raw_len$13 = 1668 -bpl$14 = 1700 -tv78 = 2484 -tv194 = 2484 -tv345 = 2484 -tv394 = 2484 -tv461 = 2484 -tv197 = 2488 -__$ArrayPad$ = 2496 -z$ = 2544 -scan$ = 2552 -req_comp$ = 2560 -stbi__parse_png_file PROC ; COMDAT - -; 5235 : { - - 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 00005 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00009 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000e 55 push rbp - 0000f 57 push rdi - 00010 48 81 ec 18 0a - 00 00 sub rsp, 2584 ; 00000a18H - 00017 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] - 0001c 48 8d 7c 24 40 lea rdi, QWORD PTR [rsp+64] - 00021 b9 b6 01 00 00 mov ecx, 438 ; 000001b6H - 00026 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 0002b f3 ab rep stosd - 0002d 48 8b 8c 24 38 - 0a 00 00 mov rcx, QWORD PTR [rsp+2616] - 00035 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 0003c 48 33 c5 xor rax, rbp - 0003f 48 89 85 c0 09 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 00046 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0004d e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00052 90 npad 1 - -; 5236 : stbi_uc palette[1024], pal_img_n = 0; - - 00053 c6 85 24 04 00 - 00 00 mov BYTE PTR pal_img_n$[rbp], 0 - -; 5237 : stbi_uc has_trans = 0, tc[3] = { 0 }; - - 0005a c6 85 44 04 00 - 00 00 mov BYTE PTR has_trans$[rbp], 0 - 00061 48 8d 85 64 04 - 00 00 lea rax, QWORD PTR tc$[rbp] - 00068 48 8b f8 mov rdi, rax - 0006b 33 c0 xor eax, eax - 0006d b9 03 00 00 00 mov ecx, 3 - 00072 f3 aa rep stosb - -; 5238 : stbi__uint16 tc16[3]; -; 5239 : stbi__uint32 ioff = 0, idata_limit = 0, i, pal_len = 0; - - 00074 c7 85 a4 04 00 - 00 00 00 00 00 mov DWORD PTR ioff$[rbp], 0 - 0007e c7 85 c4 04 00 - 00 00 00 00 00 mov DWORD PTR idata_limit$[rbp], 0 - 00088 c7 85 04 05 00 - 00 00 00 00 00 mov DWORD PTR pal_len$[rbp], 0 - -; 5240 : int first = 1, k, interlace = 0, color = 0, is_iphone = 0; - - 00092 c7 85 24 05 00 - 00 01 00 00 00 mov DWORD PTR first$[rbp], 1 - 0009c c7 85 64 05 00 - 00 00 00 00 00 mov DWORD PTR interlace$[rbp], 0 - 000a6 c7 85 84 05 00 - 00 00 00 00 00 mov DWORD PTR color$[rbp], 0 - 000b0 c7 85 a4 05 00 - 00 00 00 00 00 mov DWORD PTR is_iphone$[rbp], 0 - -; 5241 : stbi__context *s = z->s; - - 000ba 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 000c1 48 8b 00 mov rax, QWORD PTR [rax] - 000c4 48 89 85 c8 05 - 00 00 mov QWORD PTR s$[rbp], rax - -; 5242 : -; 5243 : z->expanded = NULL; - - 000cb 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 000d2 48 c7 40 10 00 - 00 00 00 mov QWORD PTR [rax+16], 0 - -; 5244 : z->idata = NULL; - - 000da 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 000e1 48 c7 40 08 00 - 00 00 00 mov QWORD PTR [rax+8], 0 - -; 5245 : z->out = NULL; - - 000e9 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 000f0 48 c7 40 18 00 - 00 00 00 mov QWORD PTR [rax+24], 0 - -; 5246 : -; 5247 : if (!stbi__check_png_header(s)) - - 000f8 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000ff e8 00 00 00 00 call stbi__check_png_header - 00104 85 c0 test eax, eax - 00106 75 07 jne SHORT $LN21@stbi__pars - -; 5248 : return 0; - - 00108 33 c0 xor eax, eax - 0010a e9 98 0d 00 00 jmp $LN1@stbi__pars -$LN21@stbi__pars: - -; 5249 : -; 5250 : if (scan == STBI__SCAN_type) - - 0010f 83 bd f8 09 00 - 00 01 cmp DWORD PTR scan$[rbp], 1 - 00116 75 0a jne SHORT $LN22@stbi__pars - -; 5251 : return 1; - - 00118 b8 01 00 00 00 mov eax, 1 - 0011d e9 85 0d 00 00 jmp $LN1@stbi__pars -$LN22@stbi__pars: -$LN2@stbi__pars: - -; 5252 : -; 5253 : for (;;) { -; 5254 : stbi__pngchunk c = stbi__get_chunk_header(s); - - 00122 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00129 e8 00 00 00 00 call stbi__get_chunk_header - 0012e 48 89 85 e8 05 - 00 00 mov QWORD PTR c$8[rbp], rax - -; 5255 : switch (c.type) { - - 00135 8b 85 ec 05 00 - 00 mov eax, DWORD PTR c$8[rbp+4] - 0013b 89 85 b4 09 00 - 00 mov DWORD PTR tv78[rbp], eax - 00141 81 bd b4 09 00 - 00 52 44 48 49 cmp DWORD PTR tv78[rbp], 1229472850 ; 49484452H - 0014b 77 3d ja SHORT $LN107@stbi__pars - 0014d 81 bd b4 09 00 - 00 52 44 48 49 cmp DWORD PTR tv78[rbp], 1229472850 ; 49484452H - 00157 74 78 je SHORT $LN24@stbi__pars - 00159 81 bd b4 09 00 - 00 49 42 67 43 cmp DWORD PTR tv78[rbp], 1130840649 ; 43674249H - 00163 74 4a je SHORT $LN23@stbi__pars - 00165 81 bd b4 09 00 - 00 54 41 44 49 cmp DWORD PTR tv78[rbp], 1229209940 ; 49444154H - 0016f 0f 84 e0 06 00 - 00 je $LN61@stbi__pars - 00175 81 bd b4 09 00 - 00 44 4e 45 49 cmp DWORD PTR tv78[rbp], 1229278788 ; 49454e44H - 0017f 0f 84 a7 08 00 - 00 je $LN72@stbi__pars - 00185 e9 3c 0c 00 00 jmp $LN93@stbi__pars -$LN107@stbi__pars: - 0018a 81 bd b4 09 00 - 00 45 54 4c 50 cmp DWORD PTR tv78[rbp], 1347179589 ; 504c5445H - 00194 0f 84 7c 03 00 - 00 je $LN44@stbi__pars - 0019a 81 bd b4 09 00 - 00 53 4e 52 74 cmp DWORD PTR tv78[rbp], 1951551059 ; 74524e53H - 001a4 0f 84 77 04 00 - 00 je $LN48@stbi__pars - 001aa e9 17 0c 00 00 jmp $LN93@stbi__pars -$LN23@stbi__pars: - -; 5256 : case STBI__PNG_TYPE('C', 'g', 'B', 'I'): -; 5257 : is_iphone = 1; - - 001af c7 85 a4 05 00 - 00 01 00 00 00 mov DWORD PTR is_iphone$[rbp], 1 - -; 5258 : stbi__skip(s, c.length); - - 001b9 8b 95 e8 05 00 - 00 mov edx, DWORD PTR c$8[rbp] - 001bf 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001c6 e8 00 00 00 00 call stbi__skip - 001cb 90 npad 1 - -; 5259 : break; - - 001cc e9 c4 0c 00 00 jmp $LN5@stbi__pars -$LN24@stbi__pars: - -; 5260 : case STBI__PNG_TYPE('I', 'H', 'D', 'R'): { -; 5261 : int comp, filter; -; 5262 : if (!first) - - 001d1 83 bd 24 05 00 - 00 00 cmp DWORD PTR first$[rbp], 0 - 001d8 75 11 jne SHORT $LN25@stbi__pars - -; 5263 : return stbi__err("multiple IHDR", "Corrupt PNG"); - - 001da 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0O@KBHBNJOK@multiple?5IHDR@ - 001e1 e8 00 00 00 00 call stbi__err - 001e6 e9 bc 0c 00 00 jmp $LN1@stbi__pars -$LN25@stbi__pars: - -; 5264 : first = 0; - - 001eb c7 85 24 05 00 - 00 00 00 00 00 mov DWORD PTR first$[rbp], 0 - -; 5265 : if (c.length != 13) - - 001f5 83 bd e8 05 00 - 00 0d cmp DWORD PTR c$8[rbp], 13 - 001fc 74 11 je SHORT $LN26@stbi__pars - -; 5266 : return stbi__err("bad IHDR len", "Corrupt PNG"); - - 001fe 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0N@POJLKMKK@bad?5IHDR?5len@ - 00205 e8 00 00 00 00 call stbi__err - 0020a e9 98 0c 00 00 jmp $LN1@stbi__pars -$LN26@stbi__pars: - -; 5267 : s->img_x = stbi__get32be(s); - - 0020f 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00216 e8 00 00 00 00 call stbi__get32be - 0021b 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00222 89 01 mov DWORD PTR [rcx], eax - -; 5268 : s->img_y = stbi__get32be(s); - - 00224 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0022b e8 00 00 00 00 call stbi__get32be - 00230 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00237 89 41 04 mov DWORD PTR [rcx+4], eax - -; 5269 : if (s->img_y > STBI_MAX_DIMENSIONS) - - 0023a 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 00241 81 78 04 00 00 - 00 01 cmp DWORD PTR [rax+4], 16777216 ; 01000000H - 00248 76 11 jbe SHORT $LN27@stbi__pars - -; 5270 : return stbi__err("too large", "Very large image (corrupt?)"); - - 0024a 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 00251 e8 00 00 00 00 call stbi__err - 00256 e9 4c 0c 00 00 jmp $LN1@stbi__pars -$LN27@stbi__pars: - -; 5271 : if (s->img_x > STBI_MAX_DIMENSIONS) - - 0025b 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 00262 81 38 00 00 00 - 01 cmp DWORD PTR [rax], 16777216 ; 01000000H - 00268 76 11 jbe SHORT $LN28@stbi__pars - -; 5272 : return stbi__err("too large", "Very large image (corrupt?)"); - - 0026a 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 00271 e8 00 00 00 00 call stbi__err - 00276 e9 2c 0c 00 00 jmp $LN1@stbi__pars -$LN28@stbi__pars: - -; 5273 : z->depth = stbi__get8(s); - - 0027b 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00282 e8 00 00 00 00 call stbi__get8 - 00287 0f b6 c0 movzx eax, al - 0028a 48 8b 8d f0 09 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00291 89 41 20 mov DWORD PTR [rcx+32], eax - -; 5274 : if (z->depth != 1 && z->depth != 2 && z->depth != 4 && z->depth != 8 && - - 00294 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 0029b 83 78 20 01 cmp DWORD PTR [rax+32], 1 - 0029f 74 45 je SHORT $LN29@stbi__pars - 002a1 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 002a8 83 78 20 02 cmp DWORD PTR [rax+32], 2 - 002ac 74 38 je SHORT $LN29@stbi__pars - 002ae 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 002b5 83 78 20 04 cmp DWORD PTR [rax+32], 4 - 002b9 74 2b je SHORT $LN29@stbi__pars - 002bb 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 002c2 83 78 20 08 cmp DWORD PTR [rax+32], 8 - 002c6 74 1e je SHORT $LN29@stbi__pars - 002c8 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 002cf 83 78 20 10 cmp DWORD PTR [rax+32], 16 - 002d3 74 11 je SHORT $LN29@stbi__pars - -; 5275 : z->depth != 16) -; 5276 : return stbi__err("1/2/4/8/16-bit only", - - 002d5 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BE@EJHIPKNO@1?12?14?18?116?9bit?5only@ - 002dc e8 00 00 00 00 call stbi__err - 002e1 e9 c1 0b 00 00 jmp $LN1@stbi__pars -$LN29@stbi__pars: - -; 5277 : "PNG not supported: 1/2/4/8/16-bit only"); -; 5278 : color = stbi__get8(s); - - 002e6 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 002ed e8 00 00 00 00 call stbi__get8 - 002f2 0f b6 c0 movzx eax, al - 002f5 89 85 84 05 00 - 00 mov DWORD PTR color$[rbp], eax - -; 5279 : if (color > 6) - - 002fb 83 bd 84 05 00 - 00 06 cmp DWORD PTR color$[rbp], 6 - 00302 7e 11 jle SHORT $LN30@stbi__pars - -; 5280 : return stbi__err("bad ctype", "Corrupt PNG"); - - 00304 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09MBBNGCKB@bad?5ctype@ - 0030b e8 00 00 00 00 call stbi__err - 00310 e9 92 0b 00 00 jmp $LN1@stbi__pars -$LN30@stbi__pars: - -; 5281 : if (color == 3 && z->depth == 16) - - 00315 83 bd 84 05 00 - 00 03 cmp DWORD PTR color$[rbp], 3 - 0031c 75 1e jne SHORT $LN31@stbi__pars - 0031e 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 00325 83 78 20 10 cmp DWORD PTR [rax+32], 16 - 00329 75 11 jne SHORT $LN31@stbi__pars - -; 5282 : return stbi__err("bad ctype", "Corrupt PNG"); - - 0032b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09MBBNGCKB@bad?5ctype@ - 00332 e8 00 00 00 00 call stbi__err - 00337 e9 6b 0b 00 00 jmp $LN1@stbi__pars -$LN31@stbi__pars: - -; 5283 : if (color == 3) - - 0033c 83 bd 84 05 00 - 00 03 cmp DWORD PTR color$[rbp], 3 - 00343 75 09 jne SHORT $LN32@stbi__pars - -; 5284 : pal_img_n = 3; - - 00345 c6 85 24 04 00 - 00 03 mov BYTE PTR pal_img_n$[rbp], 3 - 0034c eb 1e jmp SHORT $LN33@stbi__pars -$LN32@stbi__pars: - -; 5285 : else if (color & 1) - - 0034e 8b 85 84 05 00 - 00 mov eax, DWORD PTR color$[rbp] - 00354 83 e0 01 and eax, 1 - 00357 85 c0 test eax, eax - 00359 74 11 je SHORT $LN34@stbi__pars - -; 5286 : return stbi__err("bad ctype", "Corrupt PNG"); - - 0035b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09MBBNGCKB@bad?5ctype@ - 00362 e8 00 00 00 00 call stbi__err - 00367 e9 3b 0b 00 00 jmp $LN1@stbi__pars -$LN34@stbi__pars: -$LN33@stbi__pars: - -; 5287 : comp = stbi__get8(s); - - 0036c 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00373 e8 00 00 00 00 call stbi__get8 - 00378 0f b6 c0 movzx eax, al - 0037b 89 85 04 06 00 - 00 mov DWORD PTR comp$9[rbp], eax - -; 5288 : if (comp) - - 00381 83 bd 04 06 00 - 00 00 cmp DWORD PTR comp$9[rbp], 0 - 00388 74 11 je SHORT $LN35@stbi__pars - -; 5289 : return stbi__err("bad comp method", "Corrupt PNG"); - - 0038a 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BA@MDMBDDFG@bad?5comp?5method@ - 00391 e8 00 00 00 00 call stbi__err - 00396 e9 0c 0b 00 00 jmp $LN1@stbi__pars -$LN35@stbi__pars: - -; 5290 : filter = stbi__get8(s); - - 0039b 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 003a2 e8 00 00 00 00 call stbi__get8 - 003a7 0f b6 c0 movzx eax, al - 003aa 89 85 24 06 00 - 00 mov DWORD PTR filter$10[rbp], eax - -; 5291 : if (filter) - - 003b0 83 bd 24 06 00 - 00 00 cmp DWORD PTR filter$10[rbp], 0 - 003b7 74 11 je SHORT $LN36@stbi__pars - -; 5292 : return stbi__err("bad filter method", "Corrupt PNG"); - - 003b9 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BC@GHLIKKMD@bad?5filter?5method@ - 003c0 e8 00 00 00 00 call stbi__err - 003c5 e9 dd 0a 00 00 jmp $LN1@stbi__pars -$LN36@stbi__pars: - -; 5293 : interlace = stbi__get8(s); - - 003ca 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 003d1 e8 00 00 00 00 call stbi__get8 - 003d6 0f b6 c0 movzx eax, al - 003d9 89 85 64 05 00 - 00 mov DWORD PTR interlace$[rbp], eax - -; 5294 : if (interlace > 1) - - 003df 83 bd 64 05 00 - 00 01 cmp DWORD PTR interlace$[rbp], 1 - 003e6 7e 11 jle SHORT $LN37@stbi__pars - -; 5295 : return stbi__err("bad interlace method", "Corrupt PNG"); - - 003e8 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BF@JCGDPBAA@bad?5interlace?5method@ - 003ef e8 00 00 00 00 call stbi__err - 003f4 e9 ae 0a 00 00 jmp $LN1@stbi__pars -$LN37@stbi__pars: - -; 5296 : if (!s->img_x || !s->img_y) - - 003f9 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 00400 83 38 00 cmp DWORD PTR [rax], 0 - 00403 74 0d je SHORT $LN39@stbi__pars - 00405 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 0040c 83 78 04 00 cmp DWORD PTR [rax+4], 0 - 00410 75 11 jne SHORT $LN38@stbi__pars -$LN39@stbi__pars: - -; 5297 : return stbi__err("0-pixel image", "Corrupt PNG"); - - 00412 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0O@FNFBHCOO@0?9pixel?5image@ - 00419 e8 00 00 00 00 call stbi__err - 0041e e9 84 0a 00 00 jmp $LN1@stbi__pars -$LN38@stbi__pars: - -; 5298 : if (!pal_img_n) { - - 00423 0f b6 85 24 04 - 00 00 movzx eax, BYTE PTR pal_img_n$[rbp] - 0042a 85 c0 test eax, eax - 0042c 0f 85 9b 00 00 - 00 jne $LN40@stbi__pars - -; 5299 : s->img_n = (color & 2 ? 3 : 1) + (color & 4 ? 1 : 0); - - 00432 8b 85 84 05 00 - 00 mov eax, DWORD PTR color$[rbp] - 00438 83 e0 02 and eax, 2 - 0043b 85 c0 test eax, eax - 0043d 74 0c je SHORT $LN97@stbi__pars - 0043f c7 85 b4 09 00 - 00 03 00 00 00 mov DWORD PTR tv194[rbp], 3 - 00449 eb 0a jmp SHORT $LN98@stbi__pars -$LN97@stbi__pars: - 0044b c7 85 b4 09 00 - 00 01 00 00 00 mov DWORD PTR tv194[rbp], 1 -$LN98@stbi__pars: - 00455 8b 85 84 05 00 - 00 mov eax, DWORD PTR color$[rbp] - 0045b 83 e0 04 and eax, 4 - 0045e 85 c0 test eax, eax - 00460 74 0c je SHORT $LN99@stbi__pars - 00462 c7 85 b8 09 00 - 00 01 00 00 00 mov DWORD PTR tv197[rbp], 1 - 0046c eb 0a jmp SHORT $LN100@stbi__pars -$LN99@stbi__pars: - 0046e c7 85 b8 09 00 - 00 00 00 00 00 mov DWORD PTR tv197[rbp], 0 -$LN100@stbi__pars: - 00478 8b 85 b8 09 00 - 00 mov eax, DWORD PTR tv197[rbp] - 0047e 8b 8d b4 09 00 - 00 mov ecx, DWORD PTR tv194[rbp] - 00484 03 c8 add ecx, eax - 00486 8b c1 mov eax, ecx - 00488 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0048f 89 41 08 mov DWORD PTR [rcx+8], eax - -; 5300 : if ((1 << 30) / s->img_x / s->img_n < s->img_y) - - 00492 33 d2 xor edx, edx - 00494 b8 00 00 00 40 mov eax, 1073741824 ; 40000000H - 00499 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 004a0 f7 31 div DWORD PTR [rcx] - 004a2 33 d2 xor edx, edx - 004a4 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 004ab f7 71 08 div DWORD PTR [rcx+8] - 004ae 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 004b5 3b 41 04 cmp eax, DWORD PTR [rcx+4] - 004b8 73 11 jae SHORT $LN42@stbi__pars - -; 5301 : return stbi__err("too large", "Image too large to decode"); - - 004ba 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 004c1 e8 00 00 00 00 call stbi__err - 004c6 e9 dc 09 00 00 jmp $LN1@stbi__pars -$LN42@stbi__pars: - -; 5302 : } else { - - 004cb eb 44 jmp SHORT $LN41@stbi__pars -$LN40@stbi__pars: - -; 5303 : // if paletted, then pal_n is our final components, and -; 5304 : // img_n is # components to decompress/filter. -; 5305 : s->img_n = 1; - - 004cd 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 004d4 c7 40 08 01 00 - 00 00 mov DWORD PTR [rax+8], 1 - -; 5306 : if ((1 << 30) / s->img_x / 4 < s->img_y) - - 004db 33 d2 xor edx, edx - 004dd b8 00 00 00 40 mov eax, 1073741824 ; 40000000H - 004e2 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 004e9 f7 31 div DWORD PTR [rcx] - 004eb 33 d2 xor edx, edx - 004ed b9 04 00 00 00 mov ecx, 4 - 004f2 f7 f1 div ecx - 004f4 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 004fb 3b 41 04 cmp eax, DWORD PTR [rcx+4] - 004fe 73 11 jae SHORT $LN43@stbi__pars - -; 5307 : return stbi__err("too large", "Corrupt PNG"); - - 00500 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 00507 e8 00 00 00 00 call stbi__err - 0050c e9 96 09 00 00 jmp $LN1@stbi__pars -$LN43@stbi__pars: -$LN41@stbi__pars: - -; 5308 : } -; 5309 : // even with SCAN_header, have to scan to see if we have a tRNS -; 5310 : break; - - 00511 e9 7f 09 00 00 jmp $LN5@stbi__pars -$LN44@stbi__pars: - -; 5311 : } -; 5312 : -; 5313 : case STBI__PNG_TYPE('P', 'L', 'T', 'E'): { -; 5314 : if (first) - - 00516 83 bd 24 05 00 - 00 00 cmp DWORD PTR first$[rbp], 0 - 0051d 74 11 je SHORT $LN45@stbi__pars - -; 5315 : return stbi__err("first not IHDR", "Corrupt PNG"); - - 0051f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0P@JEAFOMAF@first?5not?5IHDR@ - 00526 e8 00 00 00 00 call stbi__err - 0052b e9 77 09 00 00 jmp $LN1@stbi__pars -$LN45@stbi__pars: - -; 5316 : if (c.length > 256 * 3) - - 00530 81 bd e8 05 00 - 00 00 03 00 00 cmp DWORD PTR c$8[rbp], 768 ; 00000300H - 0053a 76 11 jbe SHORT $LN46@stbi__pars - -; 5317 : return stbi__err("invalid PLTE", "Corrupt PNG"); - - 0053c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0N@JCPAJAKB@invalid?5PLTE@ - 00543 e8 00 00 00 00 call stbi__err - 00548 e9 5a 09 00 00 jmp $LN1@stbi__pars -$LN46@stbi__pars: - -; 5318 : pal_len = c.length / 3; - - 0054d 33 d2 xor edx, edx - 0054f 8b 85 e8 05 00 - 00 mov eax, DWORD PTR c$8[rbp] - 00555 b9 03 00 00 00 mov ecx, 3 - 0055a f7 f1 div ecx - 0055c 89 85 04 05 00 - 00 mov DWORD PTR pal_len$[rbp], eax - -; 5319 : if (pal_len * 3 != c.length) - - 00562 6b 85 04 05 00 - 00 03 imul eax, DWORD PTR pal_len$[rbp], 3 - 00569 3b 85 e8 05 00 - 00 cmp eax, DWORD PTR c$8[rbp] - 0056f 74 11 je SHORT $LN47@stbi__pars - -; 5320 : return stbi__err("invalid PLTE", "Corrupt PNG"); - - 00571 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0N@JCPAJAKB@invalid?5PLTE@ - 00578 e8 00 00 00 00 call stbi__err - 0057d e9 25 09 00 00 jmp $LN1@stbi__pars -$LN47@stbi__pars: - -; 5321 : for (i = 0; i < pal_len; ++i) { - - 00582 c7 85 e4 04 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 0058c eb 0e jmp SHORT $LN9@stbi__pars -$LN7@stbi__pars: - 0058e 8b 85 e4 04 00 - 00 mov eax, DWORD PTR i$[rbp] - 00594 ff c0 inc eax - 00596 89 85 e4 04 00 - 00 mov DWORD PTR i$[rbp], eax -$LN9@stbi__pars: - 0059c 8b 85 04 05 00 - 00 mov eax, DWORD PTR pal_len$[rbp] - 005a2 39 85 e4 04 00 - 00 cmp DWORD PTR i$[rbp], eax - 005a8 73 72 jae SHORT $LN8@stbi__pars - -; 5322 : palette[i * 4 + 0] = stbi__get8(s); - - 005aa 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 005b1 e8 00 00 00 00 call stbi__get8 - 005b6 8b 8d e4 04 00 - 00 mov ecx, DWORD PTR i$[rbp] - 005bc c1 e1 02 shl ecx, 2 - 005bf 8b c9 mov ecx, ecx - 005c1 88 44 0d 10 mov BYTE PTR palette$[rbp+rcx], al - -; 5323 : palette[i * 4 + 1] = stbi__get8(s); - - 005c5 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 005cc e8 00 00 00 00 call stbi__get8 - 005d1 8b 8d e4 04 00 - 00 mov ecx, DWORD PTR i$[rbp] - 005d7 8d 0c 8d 01 00 - 00 00 lea ecx, DWORD PTR [rcx*4+1] - 005de 8b c9 mov ecx, ecx - 005e0 88 44 0d 10 mov BYTE PTR palette$[rbp+rcx], al - -; 5324 : palette[i * 4 + 2] = stbi__get8(s); - - 005e4 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 005eb e8 00 00 00 00 call stbi__get8 - 005f0 8b 8d e4 04 00 - 00 mov ecx, DWORD PTR i$[rbp] - 005f6 8d 0c 8d 02 00 - 00 00 lea ecx, DWORD PTR [rcx*4+2] - 005fd 8b c9 mov ecx, ecx - 005ff 88 44 0d 10 mov BYTE PTR palette$[rbp+rcx], al - -; 5325 : palette[i * 4 + 3] = 255; - - 00603 8b 85 e4 04 00 - 00 mov eax, DWORD PTR i$[rbp] - 00609 8d 04 85 03 00 - 00 00 lea eax, DWORD PTR [rax*4+3] - 00610 8b c0 mov eax, eax - 00612 c6 44 05 10 ff mov BYTE PTR palette$[rbp+rax], 255 ; 000000ffH - -; 5326 : } - - 00617 e9 72 ff ff ff jmp $LN7@stbi__pars -$LN8@stbi__pars: - -; 5327 : break; - - 0061c e9 74 08 00 00 jmp $LN5@stbi__pars -$LN48@stbi__pars: - -; 5328 : } -; 5329 : -; 5330 : case STBI__PNG_TYPE('t', 'R', 'N', 'S'): { -; 5331 : if (first) - - 00621 83 bd 24 05 00 - 00 00 cmp DWORD PTR first$[rbp], 0 - 00628 74 11 je SHORT $LN49@stbi__pars - -; 5332 : return stbi__err("first not IHDR", "Corrupt PNG"); - - 0062a 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0P@JEAFOMAF@first?5not?5IHDR@ - 00631 e8 00 00 00 00 call stbi__err - 00636 e9 6c 08 00 00 jmp $LN1@stbi__pars -$LN49@stbi__pars: - -; 5333 : if (z->idata) - - 0063b 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 00642 48 83 78 08 00 cmp QWORD PTR [rax+8], 0 - 00647 74 11 je SHORT $LN50@stbi__pars - -; 5334 : return stbi__err("tRNS after IDAT", "Corrupt PNG"); - - 00649 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BA@PCPJHDKJ@tRNS?5after?5IDAT@ - 00650 e8 00 00 00 00 call stbi__err - 00655 e9 4d 08 00 00 jmp $LN1@stbi__pars -$LN50@stbi__pars: - -; 5335 : if (pal_img_n) { - - 0065a 0f b6 85 24 04 - 00 00 movzx eax, BYTE PTR pal_img_n$[rbp] - 00661 85 c0 test eax, eax - 00663 0f 84 af 00 00 - 00 je $LN51@stbi__pars - -; 5336 : if (scan == STBI__SCAN_header) { - - 00669 83 bd f8 09 00 - 00 02 cmp DWORD PTR scan$[rbp], 2 - 00670 75 18 jne SHORT $LN53@stbi__pars - -; 5337 : s->img_n = 4; - - 00672 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 00679 c7 40 08 04 00 - 00 00 mov DWORD PTR [rax+8], 4 - -; 5338 : return 1; - - 00680 b8 01 00 00 00 mov eax, 1 - 00685 e9 1d 08 00 00 jmp $LN1@stbi__pars -$LN53@stbi__pars: - -; 5339 : } -; 5340 : if (pal_len == 0) - - 0068a 83 bd 04 05 00 - 00 00 cmp DWORD PTR pal_len$[rbp], 0 - 00691 75 11 jne SHORT $LN54@stbi__pars - -; 5341 : return stbi__err("tRNS before PLTE", "Corrupt PNG"); - - 00693 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BB@CEDNNLBG@tRNS?5before?5PLTE@ - 0069a e8 00 00 00 00 call stbi__err - 0069f e9 03 08 00 00 jmp $LN1@stbi__pars -$LN54@stbi__pars: - -; 5342 : if (c.length > pal_len) - - 006a4 8b 85 04 05 00 - 00 mov eax, DWORD PTR pal_len$[rbp] - 006aa 39 85 e8 05 00 - 00 cmp DWORD PTR c$8[rbp], eax - 006b0 76 11 jbe SHORT $LN55@stbi__pars - -; 5343 : return stbi__err("bad tRNS len", "Corrupt PNG"); - - 006b2 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0N@KDLCCKCH@bad?5tRNS?5len@ - 006b9 e8 00 00 00 00 call stbi__err - 006be e9 e4 07 00 00 jmp $LN1@stbi__pars -$LN55@stbi__pars: - -; 5344 : pal_img_n = 4; - - 006c3 c6 85 24 04 00 - 00 04 mov BYTE PTR pal_img_n$[rbp], 4 - -; 5345 : for (i = 0; i < c.length; ++i) - - 006ca c7 85 e4 04 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 006d4 eb 0e jmp SHORT $LN12@stbi__pars -$LN10@stbi__pars: - 006d6 8b 85 e4 04 00 - 00 mov eax, DWORD PTR i$[rbp] - 006dc ff c0 inc eax - 006de 89 85 e4 04 00 - 00 mov DWORD PTR i$[rbp], eax -$LN12@stbi__pars: - 006e4 8b 85 e8 05 00 - 00 mov eax, DWORD PTR c$8[rbp] - 006ea 39 85 e4 04 00 - 00 cmp DWORD PTR i$[rbp], eax - 006f0 73 21 jae SHORT $LN11@stbi__pars - -; 5346 : palette[i * 4 + 3] = stbi__get8(s); - - 006f2 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 006f9 e8 00 00 00 00 call stbi__get8 - 006fe 8b 8d e4 04 00 - 00 mov ecx, DWORD PTR i$[rbp] - 00704 8d 0c 8d 03 00 - 00 00 lea ecx, DWORD PTR [rcx*4+3] - 0070b 8b c9 mov ecx, ecx - 0070d 88 44 0d 10 mov BYTE PTR palette$[rbp+rcx], al - 00711 eb c3 jmp SHORT $LN10@stbi__pars -$LN11@stbi__pars: - -; 5347 : } else { - - 00713 e9 38 01 00 00 jmp $LN52@stbi__pars -$LN51@stbi__pars: - -; 5348 : if (!(s->img_n & 1)) - - 00718 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 0071f 8b 40 08 mov eax, DWORD PTR [rax+8] - 00722 83 e0 01 and eax, 1 - 00725 85 c0 test eax, eax - 00727 75 11 jne SHORT $LN56@stbi__pars - -; 5349 : return stbi__err("tRNS with alpha", "Corrupt PNG"); - - 00729 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BA@ENDPGCHB@tRNS?5with?5alpha@ - 00730 e8 00 00 00 00 call stbi__err - 00735 e9 6d 07 00 00 jmp $LN1@stbi__pars -$LN56@stbi__pars: - -; 5350 : if (c.length != (stbi__uint32)s->img_n * 2) - - 0073a 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 00741 8b 40 08 mov eax, DWORD PTR [rax+8] - 00744 d1 e0 shl eax, 1 - 00746 39 85 e8 05 00 - 00 cmp DWORD PTR c$8[rbp], eax - 0074c 74 11 je SHORT $LN57@stbi__pars - -; 5351 : return stbi__err("bad tRNS len", "Corrupt PNG"); - - 0074e 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0N@KDLCCKCH@bad?5tRNS?5len@ - 00755 e8 00 00 00 00 call stbi__err - 0075a e9 48 07 00 00 jmp $LN1@stbi__pars -$LN57@stbi__pars: - -; 5352 : has_trans = 1; - - 0075f c6 85 44 04 00 - 00 01 mov BYTE PTR has_trans$[rbp], 1 - -; 5353 : // non-paletted with tRNS = constant alpha. if header-scanning, we can stop now. -; 5354 : if (scan == STBI__SCAN_header) { - - 00766 83 bd f8 09 00 - 00 02 cmp DWORD PTR scan$[rbp], 2 - 0076d 75 20 jne SHORT $LN58@stbi__pars - -; 5355 : ++s->img_n; - - 0076f 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 00776 8b 40 08 mov eax, DWORD PTR [rax+8] - 00779 ff c0 inc eax - 0077b 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00782 89 41 08 mov DWORD PTR [rcx+8], eax - -; 5356 : return 1; - - 00785 b8 01 00 00 00 mov eax, 1 - 0078a e9 18 07 00 00 jmp $LN1@stbi__pars -$LN58@stbi__pars: - -; 5357 : } -; 5358 : if (z->depth == 16) { - - 0078f 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 00796 83 78 20 10 cmp DWORD PTR [rax+32], 16 - 0079a 75 4b jne SHORT $LN59@stbi__pars - -; 5359 : for (k = 0; k < s->img_n; ++k) - - 0079c c7 85 44 05 00 - 00 00 00 00 00 mov DWORD PTR k$[rbp], 0 - 007a6 eb 0e jmp SHORT $LN15@stbi__pars -$LN13@stbi__pars: - 007a8 8b 85 44 05 00 - 00 mov eax, DWORD PTR k$[rbp] - 007ae ff c0 inc eax - 007b0 89 85 44 05 00 - 00 mov DWORD PTR k$[rbp], eax -$LN15@stbi__pars: - 007b6 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 007bd 8b 40 08 mov eax, DWORD PTR [rax+8] - 007c0 39 85 44 05 00 - 00 cmp DWORD PTR k$[rbp], eax - 007c6 7d 1d jge SHORT $LN14@stbi__pars - -; 5360 : tc16[k] = (stbi__uint16)stbi__get16be( - - 007c8 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 007cf e8 00 00 00 00 call stbi__get16be - 007d4 48 63 8d 44 05 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 007db 66 89 84 4d 84 - 04 00 00 mov WORD PTR tc16$[rbp+rcx*2], ax - 007e3 eb c3 jmp SHORT $LN13@stbi__pars -$LN14@stbi__pars: - -; 5361 : s); // copy the values as-is -; 5362 : } else { - - 007e5 eb 69 jmp SHORT $LN60@stbi__pars -$LN59@stbi__pars: - -; 5363 : for (k = 0; k < s->img_n; ++k) - - 007e7 c7 85 44 05 00 - 00 00 00 00 00 mov DWORD PTR k$[rbp], 0 - 007f1 eb 0e jmp SHORT $LN18@stbi__pars -$LN16@stbi__pars: - 007f3 8b 85 44 05 00 - 00 mov eax, DWORD PTR k$[rbp] - 007f9 ff c0 inc eax - 007fb 89 85 44 05 00 - 00 mov DWORD PTR k$[rbp], eax -$LN18@stbi__pars: - 00801 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 00808 8b 40 08 mov eax, DWORD PTR [rax+8] - 0080b 39 85 44 05 00 - 00 cmp DWORD PTR k$[rbp], eax - 00811 7d 3d jge SHORT $LN17@stbi__pars - -; 5364 : tc[k] = (stbi_uc)(stbi__get16be(s) & 255) * - - 00813 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0081a e8 00 00 00 00 call stbi__get16be - 0081f 25 ff 00 00 00 and eax, 255 ; 000000ffH - 00824 0f b6 c0 movzx eax, al - 00827 48 8b 8d f0 09 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0082e 48 63 49 20 movsxd rcx, DWORD PTR [rcx+32] - 00832 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__depth_scale_table - 00839 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 0083d 0f af c1 imul eax, ecx - 00840 48 63 8d 44 05 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 00847 88 84 0d 64 04 - 00 00 mov BYTE PTR tc$[rbp+rcx], al - 0084e eb a3 jmp SHORT $LN16@stbi__pars -$LN17@stbi__pars: -$LN60@stbi__pars: -$LN52@stbi__pars: - -; 5365 : stbi__depth_scale_table -; 5366 : [z->depth]; // non 8-bit images will be larger -; 5367 : } -; 5368 : } -; 5369 : break; - - 00850 e9 40 06 00 00 jmp $LN5@stbi__pars -$LN61@stbi__pars: - -; 5370 : } -; 5371 : -; 5372 : case STBI__PNG_TYPE('I', 'D', 'A', 'T'): { -; 5373 : if (first) - - 00855 83 bd 24 05 00 - 00 00 cmp DWORD PTR first$[rbp], 0 - 0085c 74 11 je SHORT $LN62@stbi__pars - -; 5374 : return stbi__err("first not IHDR", "Corrupt PNG"); - - 0085e 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0P@JEAFOMAF@first?5not?5IHDR@ - 00865 e8 00 00 00 00 call stbi__err - 0086a e9 38 06 00 00 jmp $LN1@stbi__pars -$LN62@stbi__pars: - -; 5375 : if (pal_img_n && !pal_len) - - 0086f 0f b6 85 24 04 - 00 00 movzx eax, BYTE PTR pal_img_n$[rbp] - 00876 85 c0 test eax, eax - 00878 74 1a je SHORT $LN63@stbi__pars - 0087a 83 bd 04 05 00 - 00 00 cmp DWORD PTR pal_len$[rbp], 0 - 00881 75 11 jne SHORT $LN63@stbi__pars - -; 5376 : return stbi__err("no PLTE", "Corrupt PNG"); - - 00883 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07CKIELOEH@no?5PLTE@ - 0088a e8 00 00 00 00 call stbi__err - 0088f e9 13 06 00 00 jmp $LN1@stbi__pars -$LN63@stbi__pars: - -; 5377 : if (scan == STBI__SCAN_header) { - - 00894 83 bd f8 09 00 - 00 02 cmp DWORD PTR scan$[rbp], 2 - 0089b 75 26 jne SHORT $LN64@stbi__pars - -; 5378 : // header scan definitely stops at first IDAT -; 5379 : if (pal_img_n) - - 0089d 0f b6 85 24 04 - 00 00 movzx eax, BYTE PTR pal_img_n$[rbp] - 008a4 85 c0 test eax, eax - 008a6 74 11 je SHORT $LN65@stbi__pars - -; 5380 : s->img_n = pal_img_n; - - 008a8 0f b6 85 24 04 - 00 00 movzx eax, BYTE PTR pal_img_n$[rbp] - 008af 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 008b6 89 41 08 mov DWORD PTR [rcx+8], eax -$LN65@stbi__pars: - -; 5381 : return 1; - - 008b9 b8 01 00 00 00 mov eax, 1 - 008be e9 e4 05 00 00 jmp $LN1@stbi__pars -$LN64@stbi__pars: - -; 5382 : } -; 5383 : if (c.length > (1u << 30)) - - 008c3 81 bd e8 05 00 - 00 00 00 00 40 cmp DWORD PTR c$8[rbp], 1073741824 ; 40000000H - 008cd 76 11 jbe SHORT $LN66@stbi__pars - -; 5384 : return stbi__err("IDAT size limit", - - 008cf 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BA@PLHGLONG@IDAT?5size?5limit@ - 008d6 e8 00 00 00 00 call stbi__err - 008db e9 c7 05 00 00 jmp $LN1@stbi__pars -$LN66@stbi__pars: - -; 5385 : "IDAT section larger than 2^30 bytes"); -; 5386 : if ((int)(ioff + c.length) < (int)ioff) - - 008e0 8b 85 e8 05 00 - 00 mov eax, DWORD PTR c$8[rbp] - 008e6 8b 8d a4 04 00 - 00 mov ecx, DWORD PTR ioff$[rbp] - 008ec 03 c8 add ecx, eax - 008ee 8b c1 mov eax, ecx - 008f0 3b 85 a4 04 00 - 00 cmp eax, DWORD PTR ioff$[rbp] - 008f6 7d 07 jge SHORT $LN67@stbi__pars - -; 5387 : return 0; - - 008f8 33 c0 xor eax, eax - 008fa e9 a8 05 00 00 jmp $LN1@stbi__pars -$LN67@stbi__pars: - -; 5388 : if (ioff + c.length > idata_limit) { - - 008ff 8b 85 e8 05 00 - 00 mov eax, DWORD PTR c$8[rbp] - 00905 8b 8d a4 04 00 - 00 mov ecx, DWORD PTR ioff$[rbp] - 0090b 03 c8 add ecx, eax - 0090d 8b c1 mov eax, ecx - 0090f 3b 85 c4 04 00 - 00 cmp eax, DWORD PTR idata_limit$[rbp] - 00915 0f 86 ba 00 00 - 00 jbe $LN68@stbi__pars - -; 5389 : stbi__uint32 idata_limit_old = idata_limit; - - 0091b 8b 85 c4 04 00 - 00 mov eax, DWORD PTR idata_limit$[rbp] - 00921 89 85 44 06 00 - 00 mov DWORD PTR idata_limit_old$11[rbp], eax - -; 5390 : stbi_uc *p; -; 5391 : if (idata_limit == 0) - - 00927 83 bd c4 04 00 - 00 00 cmp DWORD PTR idata_limit$[rbp], 0 - 0092e 75 30 jne SHORT $LN69@stbi__pars - -; 5392 : idata_limit = c.length > 4096 ? c.length : 4096; - - 00930 81 bd e8 05 00 - 00 00 10 00 00 cmp DWORD PTR c$8[rbp], 4096 ; 00001000H - 0093a 76 0e jbe SHORT $LN101@stbi__pars - 0093c 8b 85 e8 05 00 - 00 mov eax, DWORD PTR c$8[rbp] - 00942 89 85 b4 09 00 - 00 mov DWORD PTR tv345[rbp], eax - 00948 eb 0a jmp SHORT $LN102@stbi__pars -$LN101@stbi__pars: - 0094a c7 85 b4 09 00 - 00 00 10 00 00 mov DWORD PTR tv345[rbp], 4096 ; 00001000H -$LN102@stbi__pars: - 00954 8b 85 b4 09 00 - 00 mov eax, DWORD PTR tv345[rbp] - 0095a 89 85 c4 04 00 - 00 mov DWORD PTR idata_limit$[rbp], eax -$LN69@stbi__pars: -$LN19@stbi__pars: - -; 5393 : while (ioff + c.length > idata_limit) - - 00960 8b 85 e8 05 00 - 00 mov eax, DWORD PTR c$8[rbp] - 00966 8b 8d a4 04 00 - 00 mov ecx, DWORD PTR ioff$[rbp] - 0096c 03 c8 add ecx, eax - 0096e 8b c1 mov eax, ecx - 00970 3b 85 c4 04 00 - 00 cmp eax, DWORD PTR idata_limit$[rbp] - 00976 76 10 jbe SHORT $LN20@stbi__pars - -; 5394 : idata_limit *= 2; - - 00978 8b 85 c4 04 00 - 00 mov eax, DWORD PTR idata_limit$[rbp] - 0097e d1 e0 shl eax, 1 - 00980 89 85 c4 04 00 - 00 mov DWORD PTR idata_limit$[rbp], eax - 00986 eb d8 jmp SHORT $LN19@stbi__pars -$LN20@stbi__pars: - -; 5395 : STBI_NOTUSED(idata_limit_old); -; 5396 : p = (stbi_uc *)STBI_REALLOC_SIZED(z->idata, idata_limit_old, - - 00988 8b 85 c4 04 00 - 00 mov eax, DWORD PTR idata_limit$[rbp] - 0098e 8b d0 mov edx, eax - 00990 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 00997 48 8b 48 08 mov rcx, QWORD PTR [rax+8] - 0099b ff 15 00 00 00 - 00 call QWORD PTR __imp_realloc - 009a1 48 89 85 68 06 - 00 00 mov QWORD PTR p$12[rbp], rax - -; 5397 : idata_limit); -; 5398 : if (p == NULL) - - 009a8 48 83 bd 68 06 - 00 00 00 cmp QWORD PTR p$12[rbp], 0 - 009b0 75 11 jne SHORT $LN70@stbi__pars - -; 5399 : return stbi__err("outofmem", "Out of memory"); - - 009b2 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 009b9 e8 00 00 00 00 call stbi__err - 009be e9 e4 04 00 00 jmp $LN1@stbi__pars -$LN70@stbi__pars: - -; 5400 : z->idata = p; - - 009c3 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 009ca 48 8b 8d 68 06 - 00 00 mov rcx, QWORD PTR p$12[rbp] - 009d1 48 89 48 08 mov QWORD PTR [rax+8], rcx -$LN68@stbi__pars: - -; 5401 : } -; 5402 : if (!stbi__getn(s, z->idata + ioff, c.length)) - - 009d5 8b 85 a4 04 00 - 00 mov eax, DWORD PTR ioff$[rbp] - 009db 48 8b 8d f0 09 - 00 00 mov rcx, QWORD PTR z$[rbp] - 009e2 48 03 41 08 add rax, QWORD PTR [rcx+8] - 009e6 44 8b 85 e8 05 - 00 00 mov r8d, DWORD PTR c$8[rbp] - 009ed 48 8b d0 mov rdx, rax - 009f0 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 009f7 e8 00 00 00 00 call stbi__getn - 009fc 85 c0 test eax, eax - 009fe 75 11 jne SHORT $LN71@stbi__pars - -; 5403 : return stbi__err("outofdata", "Corrupt PNG"); - - 00a00 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09MNNCNKEO@outofdata@ - 00a07 e8 00 00 00 00 call stbi__err - 00a0c e9 96 04 00 00 jmp $LN1@stbi__pars -$LN71@stbi__pars: - -; 5404 : ioff += c.length; - - 00a11 8b 85 e8 05 00 - 00 mov eax, DWORD PTR c$8[rbp] - 00a17 8b 8d a4 04 00 - 00 mov ecx, DWORD PTR ioff$[rbp] - 00a1d 03 c8 add ecx, eax - 00a1f 8b c1 mov eax, ecx - 00a21 89 85 a4 04 00 - 00 mov DWORD PTR ioff$[rbp], eax - -; 5405 : break; - - 00a27 e9 69 04 00 00 jmp $LN5@stbi__pars -$LN72@stbi__pars: - -; 5406 : } -; 5407 : -; 5408 : case STBI__PNG_TYPE('I', 'E', 'N', 'D'): { -; 5409 : stbi__uint32 raw_len, bpl; -; 5410 : if (first) - - 00a2c 83 bd 24 05 00 - 00 00 cmp DWORD PTR first$[rbp], 0 - 00a33 74 11 je SHORT $LN73@stbi__pars - -; 5411 : return stbi__err("first not IHDR", "Corrupt PNG"); - - 00a35 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0P@JEAFOMAF@first?5not?5IHDR@ - 00a3c e8 00 00 00 00 call stbi__err - 00a41 e9 61 04 00 00 jmp $LN1@stbi__pars -$LN73@stbi__pars: - -; 5412 : if (scan != STBI__SCAN_load) - - 00a46 83 bd f8 09 00 - 00 00 cmp DWORD PTR scan$[rbp], 0 - 00a4d 74 0a je SHORT $LN74@stbi__pars - -; 5413 : return 1; - - 00a4f b8 01 00 00 00 mov eax, 1 - 00a54 e9 4e 04 00 00 jmp $LN1@stbi__pars -$LN74@stbi__pars: - -; 5414 : if (z->idata == NULL) - - 00a59 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 00a60 48 83 78 08 00 cmp QWORD PTR [rax+8], 0 - 00a65 75 11 jne SHORT $LN75@stbi__pars - -; 5415 : return stbi__err("no IDAT", "Corrupt PNG"); - - 00a67 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07MLPECBNA@no?5IDAT@ - 00a6e e8 00 00 00 00 call stbi__err - 00a73 e9 2f 04 00 00 jmp $LN1@stbi__pars -$LN75@stbi__pars: - -; 5416 : // initial guess for decoded data size to avoid unnecessary reallocs -; 5417 : bpl = (s->img_x * z->depth + 7) / 8; // bytes per line, per component - - 00a78 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 00a7f 48 8b 8d f0 09 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00a86 8b 00 mov eax, DWORD PTR [rax] - 00a88 0f af 41 20 imul eax, DWORD PTR [rcx+32] - 00a8c 83 c0 07 add eax, 7 - 00a8f 33 d2 xor edx, edx - 00a91 b9 08 00 00 00 mov ecx, 8 - 00a96 f7 f1 div ecx - 00a98 89 85 a4 06 00 - 00 mov DWORD PTR bpl$14[rbp], eax - -; 5418 : raw_len = bpl * s->img_y * s->img_n /* pixels */ + - - 00a9e 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 00aa5 8b 8d a4 06 00 - 00 mov ecx, DWORD PTR bpl$14[rbp] - 00aab 0f af 48 04 imul ecx, DWORD PTR [rax+4] - 00aaf 8b c1 mov eax, ecx - 00ab1 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00ab8 0f af 41 08 imul eax, DWORD PTR [rcx+8] - 00abc 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00ac3 03 41 04 add eax, DWORD PTR [rcx+4] - 00ac6 89 85 84 06 00 - 00 mov DWORD PTR raw_len$13[rbp], eax - -; 5419 : s->img_y /* filter mode per row */; -; 5420 : z->expanded = (stbi_uc *)stbi_zlib_decode_malloc_guesssize_headerflag( - - 00acc 83 bd a4 05 00 - 00 00 cmp DWORD PTR is_iphone$[rbp], 0 - 00ad3 75 0c jne SHORT $LN103@stbi__pars - 00ad5 c7 85 b4 09 00 - 00 01 00 00 00 mov DWORD PTR tv394[rbp], 1 - 00adf eb 0a jmp SHORT $LN104@stbi__pars -$LN103@stbi__pars: - 00ae1 c7 85 b4 09 00 - 00 00 00 00 00 mov DWORD PTR tv394[rbp], 0 -$LN104@stbi__pars: - 00aeb 8b 85 b4 09 00 - 00 mov eax, DWORD PTR tv394[rbp] - 00af1 89 44 24 20 mov DWORD PTR [rsp+32], eax - 00af5 4c 8d 8d 84 06 - 00 00 lea r9, QWORD PTR raw_len$13[rbp] - 00afc 44 8b 85 84 06 - 00 00 mov r8d, DWORD PTR raw_len$13[rbp] - 00b03 8b 95 a4 04 00 - 00 mov edx, DWORD PTR ioff$[rbp] - 00b09 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 00b10 48 8b 48 08 mov rcx, QWORD PTR [rax+8] - 00b14 e8 00 00 00 00 call stbi_zlib_decode_malloc_guesssize_headerflag - 00b19 48 8b 8d f0 09 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00b20 48 89 41 10 mov QWORD PTR [rcx+16], rax - -; 5421 : (char *)z->idata, ioff, raw_len, (int *)&raw_len, !is_iphone); -; 5422 : if (z->expanded == NULL) - - 00b24 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 00b2b 48 83 78 10 00 cmp QWORD PTR [rax+16], 0 - 00b30 75 07 jne SHORT $LN76@stbi__pars - -; 5423 : return 0; // zlib should set error - - 00b32 33 c0 xor eax, eax - 00b34 e9 6e 03 00 00 jmp $LN1@stbi__pars -$LN76@stbi__pars: - -; 5424 : STBI_FREE(z->idata); - - 00b39 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 00b40 48 8b 48 08 mov rcx, QWORD PTR [rax+8] - 00b44 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00b4a 90 npad 1 - -; 5425 : z->idata = NULL; - - 00b4b 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 00b52 48 c7 40 08 00 - 00 00 00 mov QWORD PTR [rax+8], 0 - -; 5426 : if ((req_comp == s->img_n + 1 && req_comp != 3 && !pal_img_n) || has_trans) - - 00b5a 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 00b61 8b 40 08 mov eax, DWORD PTR [rax+8] - 00b64 ff c0 inc eax - 00b66 39 85 00 0a 00 - 00 cmp DWORD PTR req_comp$[rbp], eax - 00b6c 75 14 jne SHORT $LN80@stbi__pars - 00b6e 83 bd 00 0a 00 - 00 03 cmp DWORD PTR req_comp$[rbp], 3 - 00b75 74 0b je SHORT $LN80@stbi__pars - 00b77 0f b6 85 24 04 - 00 00 movzx eax, BYTE PTR pal_img_n$[rbp] - 00b7e 85 c0 test eax, eax - 00b80 74 0b je SHORT $LN79@stbi__pars -$LN80@stbi__pars: - 00b82 0f b6 85 44 04 - 00 00 movzx eax, BYTE PTR has_trans$[rbp] - 00b89 85 c0 test eax, eax - 00b8b 74 18 je SHORT $LN77@stbi__pars -$LN79@stbi__pars: - -; 5427 : s->img_out_n = s->img_n + 1; - - 00b8d 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 00b94 8b 40 08 mov eax, DWORD PTR [rax+8] - 00b97 ff c0 inc eax - 00b99 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00ba0 89 41 0c mov DWORD PTR [rcx+12], eax - 00ba3 eb 14 jmp SHORT $LN78@stbi__pars -$LN77@stbi__pars: - -; 5428 : else -; 5429 : s->img_out_n = s->img_n; - - 00ba5 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 00bac 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00bb3 8b 49 08 mov ecx, DWORD PTR [rcx+8] - 00bb6 89 48 0c mov DWORD PTR [rax+12], ecx -$LN78@stbi__pars: - -; 5430 : if (!stbi__create_png_image(z, z->expanded, raw_len, s->img_out_n, z->depth, - - 00bb9 8b 85 64 05 00 - 00 mov eax, DWORD PTR interlace$[rbp] - 00bbf 89 44 24 30 mov DWORD PTR [rsp+48], eax - 00bc3 8b 85 84 05 00 - 00 mov eax, DWORD PTR color$[rbp] - 00bc9 89 44 24 28 mov DWORD PTR [rsp+40], eax - 00bcd 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 00bd4 8b 40 20 mov eax, DWORD PTR [rax+32] - 00bd7 89 44 24 20 mov DWORD PTR [rsp+32], eax - 00bdb 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 00be2 44 8b 48 0c mov r9d, DWORD PTR [rax+12] - 00be6 44 8b 85 84 06 - 00 00 mov r8d, DWORD PTR raw_len$13[rbp] - 00bed 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 00bf4 48 8b 50 10 mov rdx, QWORD PTR [rax+16] - 00bf8 48 8b 8d f0 09 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00bff e8 00 00 00 00 call stbi__create_png_image - 00c04 85 c0 test eax, eax - 00c06 75 07 jne SHORT $LN81@stbi__pars - -; 5431 : color, interlace)) -; 5432 : return 0; - - 00c08 33 c0 xor eax, eax - 00c0a e9 98 02 00 00 jmp $LN1@stbi__pars -$LN81@stbi__pars: - -; 5433 : if (has_trans) { - - 00c0f 0f b6 85 44 04 - 00 00 movzx eax, BYTE PTR has_trans$[rbp] - 00c16 85 c0 test eax, eax - 00c18 74 61 je SHORT $LN82@stbi__pars - -; 5434 : if (z->depth == 16) { - - 00c1a 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 00c21 83 78 20 10 cmp DWORD PTR [rax+32], 16 - 00c25 75 2b jne SHORT $LN83@stbi__pars - -; 5435 : if (!stbi__compute_transparency16(z, tc16, s->img_out_n)) - - 00c27 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 00c2e 44 8b 40 0c mov r8d, DWORD PTR [rax+12] - 00c32 48 8d 95 84 04 - 00 00 lea rdx, QWORD PTR tc16$[rbp] - 00c39 48 8b 8d f0 09 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00c40 e8 00 00 00 00 call stbi__compute_transparency16 - 00c45 85 c0 test eax, eax - 00c47 75 07 jne SHORT $LN85@stbi__pars - -; 5436 : return 0; - - 00c49 33 c0 xor eax, eax - 00c4b e9 57 02 00 00 jmp $LN1@stbi__pars -$LN85@stbi__pars: - -; 5437 : } else { - - 00c50 eb 29 jmp SHORT $LN84@stbi__pars -$LN83@stbi__pars: - -; 5438 : if (!stbi__compute_transparency(z, tc, s->img_out_n)) - - 00c52 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 00c59 44 8b 40 0c mov r8d, DWORD PTR [rax+12] - 00c5d 48 8d 95 64 04 - 00 00 lea rdx, QWORD PTR tc$[rbp] - 00c64 48 8b 8d f0 09 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00c6b e8 00 00 00 00 call stbi__compute_transparency - 00c70 85 c0 test eax, eax - 00c72 75 07 jne SHORT $LN86@stbi__pars - -; 5439 : return 0; - - 00c74 33 c0 xor eax, eax - 00c76 e9 2c 02 00 00 jmp $LN1@stbi__pars -$LN86@stbi__pars: -$LN84@stbi__pars: -$LN82@stbi__pars: - -; 5440 : } -; 5441 : } -; 5442 : if (is_iphone && stbi__de_iphone_flag && s->img_out_n > 2) - - 00c7b 83 bd a4 05 00 - 00 00 cmp DWORD PTR is_iphone$[rbp], 0 - 00c82 74 74 je SHORT $LN87@stbi__pars - 00c84 b8 00 00 00 00 mov eax, OFFSET FLAT:stbi__de_iphone_flag_set - 00c89 8b c0 mov eax, eax - 00c8b 8b 0d 00 00 00 - 00 mov ecx, DWORD PTR _tls_index - 00c91 65 48 8b 14 25 - 58 00 00 00 mov rdx, QWORD PTR gs:88 - 00c9a 48 8b 0c ca mov rcx, QWORD PTR [rdx+rcx*8] - 00c9e 83 3c 08 00 cmp DWORD PTR [rax+rcx], 0 - 00ca2 74 25 je SHORT $LN105@stbi__pars - 00ca4 b8 00 00 00 00 mov eax, OFFSET FLAT:stbi__de_iphone_flag_local - 00ca9 8b c0 mov eax, eax - 00cab 8b 0d 00 00 00 - 00 mov ecx, DWORD PTR _tls_index - 00cb1 65 48 8b 14 25 - 58 00 00 00 mov rdx, QWORD PTR gs:88 - 00cba 48 8b 0c ca mov rcx, QWORD PTR [rdx+rcx*8] - 00cbe 8b 04 08 mov eax, DWORD PTR [rax+rcx] - 00cc1 89 85 b4 09 00 - 00 mov DWORD PTR tv461[rbp], eax - 00cc7 eb 0c jmp SHORT $LN106@stbi__pars -$LN105@stbi__pars: - 00cc9 8b 05 00 00 00 - 00 mov eax, DWORD PTR stbi__de_iphone_flag_global - 00ccf 89 85 b4 09 00 - 00 mov DWORD PTR tv461[rbp], eax -$LN106@stbi__pars: - 00cd5 83 bd b4 09 00 - 00 00 cmp DWORD PTR tv461[rbp], 0 - 00cdc 74 1a je SHORT $LN87@stbi__pars - 00cde 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 00ce5 83 78 0c 02 cmp DWORD PTR [rax+12], 2 - 00ce9 7e 0d jle SHORT $LN87@stbi__pars - -; 5443 : stbi__de_iphone(z); - - 00ceb 48 8b 8d f0 09 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00cf2 e8 00 00 00 00 call stbi__de_iphone - 00cf7 90 npad 1 -$LN87@stbi__pars: - -; 5444 : if (pal_img_n) { - - 00cf8 0f b6 85 24 04 - 00 00 movzx eax, BYTE PTR pal_img_n$[rbp] - 00cff 85 c0 test eax, eax - 00d01 74 6a je SHORT $LN88@stbi__pars - -; 5445 : // pal_img_n == 3 or 4 -; 5446 : s->img_n = pal_img_n; // record the actual colors we had - - 00d03 0f b6 85 24 04 - 00 00 movzx eax, BYTE PTR pal_img_n$[rbp] - 00d0a 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00d11 89 41 08 mov DWORD PTR [rcx+8], eax - -; 5447 : s->img_out_n = pal_img_n; - - 00d14 0f b6 85 24 04 - 00 00 movzx eax, BYTE PTR pal_img_n$[rbp] - 00d1b 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00d22 89 41 0c mov DWORD PTR [rcx+12], eax - -; 5448 : if (req_comp >= 3) - - 00d25 83 bd 00 0a 00 - 00 03 cmp DWORD PTR req_comp$[rbp], 3 - 00d2c 7c 10 jl SHORT $LN90@stbi__pars - -; 5449 : s->img_out_n = req_comp; - - 00d2e 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 00d35 8b 8d 00 0a 00 - 00 mov ecx, DWORD PTR req_comp$[rbp] - 00d3b 89 48 0c mov DWORD PTR [rax+12], ecx -$LN90@stbi__pars: - -; 5450 : if (!stbi__expand_png_palette(z, palette, pal_len, s->img_out_n)) - - 00d3e 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 00d45 44 8b 48 0c mov r9d, DWORD PTR [rax+12] - 00d49 44 8b 85 04 05 - 00 00 mov r8d, DWORD PTR pal_len$[rbp] - 00d50 48 8d 55 10 lea rdx, QWORD PTR palette$[rbp] - 00d54 48 8b 8d f0 09 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00d5b e8 00 00 00 00 call stbi__expand_png_palette - 00d60 85 c0 test eax, eax - 00d62 75 07 jne SHORT $LN91@stbi__pars - -; 5451 : return 0; - - 00d64 33 c0 xor eax, eax - 00d66 e9 3c 01 00 00 jmp $LN1@stbi__pars -$LN91@stbi__pars: - -; 5452 : } else if (has_trans) { - - 00d6b eb 21 jmp SHORT $LN89@stbi__pars -$LN88@stbi__pars: - 00d6d 0f b6 85 44 04 - 00 00 movzx eax, BYTE PTR has_trans$[rbp] - 00d74 85 c0 test eax, eax - 00d76 74 16 je SHORT $LN92@stbi__pars - -; 5453 : // non-paletted image with tRNS -> source image has (constant) alpha -; 5454 : ++s->img_n; - - 00d78 48 8b 85 c8 05 - 00 00 mov rax, QWORD PTR s$[rbp] - 00d7f 8b 40 08 mov eax, DWORD PTR [rax+8] - 00d82 ff c0 inc eax - 00d84 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00d8b 89 41 08 mov DWORD PTR [rcx+8], eax -$LN92@stbi__pars: -$LN89@stbi__pars: - -; 5455 : } -; 5456 : STBI_FREE(z->expanded); - - 00d8e 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 00d95 48 8b 48 10 mov rcx, QWORD PTR [rax+16] - 00d99 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00d9f 90 npad 1 - -; 5457 : z->expanded = NULL; - - 00da0 48 8b 85 f0 09 - 00 00 mov rax, QWORD PTR z$[rbp] - 00da7 48 c7 40 10 00 - 00 00 00 mov QWORD PTR [rax+16], 0 - -; 5458 : // end of PNG chunk, read and skip CRC -; 5459 : stbi__get32be(s); - - 00daf 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00db6 e8 00 00 00 00 call stbi__get32be - 00dbb 90 npad 1 - -; 5460 : return 1; - - 00dbc b8 01 00 00 00 mov eax, 1 - 00dc1 e9 e1 00 00 00 jmp $LN1@stbi__pars -$LN93@stbi__pars: - -; 5461 : } -; 5462 : -; 5463 : default: -; 5464 : // if critical, fail -; 5465 : if (first) - - 00dc6 83 bd 24 05 00 - 00 00 cmp DWORD PTR first$[rbp], 0 - 00dcd 74 11 je SHORT $LN94@stbi__pars - -; 5466 : return stbi__err("first not IHDR", "Corrupt PNG"); - - 00dcf 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0P@JEAFOMAF@first?5not?5IHDR@ - 00dd6 e8 00 00 00 00 call stbi__err - 00ddb e9 c7 00 00 00 jmp $LN1@stbi__pars -$LN94@stbi__pars: - -; 5467 : if ((c.type & (1 << 29)) == 0) { - - 00de0 8b 85 ec 05 00 - 00 mov eax, DWORD PTR c$8[rbp+4] - 00de6 25 00 00 00 20 and eax, 536870912 ; 20000000H - 00deb 85 c0 test eax, eax - 00ded 0f 85 8f 00 00 - 00 jne $LN95@stbi__pars - -; 5468 : #ifndef STBI_NO_FAILURE_STRINGS -; 5469 : // not threadsafe -; 5470 : static char invalid_chunk[] = "XXXX PNG chunk not known"; -; 5471 : invalid_chunk[0] = STBI__BYTECAST(c.type >> 24); - - 00df3 8b 85 ec 05 00 - 00 mov eax, DWORD PTR c$8[rbp+4] - 00df9 c1 e8 18 shr eax, 24 - 00dfc 25 ff 00 00 00 and eax, 255 ; 000000ffH - 00e01 b9 01 00 00 00 mov ecx, 1 - 00e06 48 6b c9 00 imul rcx, rcx, 0 - 00e0a 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:?invalid_chunk@?BP@??stbi__parse_png_file@@9@9 - 00e11 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 5472 : invalid_chunk[1] = STBI__BYTECAST(c.type >> 16); - - 00e14 8b 85 ec 05 00 - 00 mov eax, DWORD PTR c$8[rbp+4] - 00e1a c1 e8 10 shr eax, 16 - 00e1d 25 ff 00 00 00 and eax, 255 ; 000000ffH - 00e22 b9 01 00 00 00 mov ecx, 1 - 00e27 48 6b c9 01 imul rcx, rcx, 1 - 00e2b 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:?invalid_chunk@?BP@??stbi__parse_png_file@@9@9 - 00e32 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 5473 : invalid_chunk[2] = STBI__BYTECAST(c.type >> 8); - - 00e35 8b 85 ec 05 00 - 00 mov eax, DWORD PTR c$8[rbp+4] - 00e3b c1 e8 08 shr eax, 8 - 00e3e 25 ff 00 00 00 and eax, 255 ; 000000ffH - 00e43 b9 01 00 00 00 mov ecx, 1 - 00e48 48 6b c9 02 imul rcx, rcx, 2 - 00e4c 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:?invalid_chunk@?BP@??stbi__parse_png_file@@9@9 - 00e53 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 5474 : invalid_chunk[3] = STBI__BYTECAST(c.type >> 0); - - 00e56 8b 85 ec 05 00 - 00 mov eax, DWORD PTR c$8[rbp+4] - 00e5c 25 ff 00 00 00 and eax, 255 ; 000000ffH - 00e61 b9 01 00 00 00 mov ecx, 1 - 00e66 48 6b c9 03 imul rcx, rcx, 3 - 00e6a 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:?invalid_chunk@?BP@??stbi__parse_png_file@@9@9 - 00e71 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 5475 : #endif -; 5476 : return stbi__err(invalid_chunk, - - 00e74 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:?invalid_chunk@?BP@??stbi__parse_png_file@@9@9 - 00e7b e8 00 00 00 00 call stbi__err - 00e80 eb 25 jmp SHORT $LN1@stbi__pars -$LN95@stbi__pars: - -; 5477 : "PNG not supported: unknown PNG chunk type"); -; 5478 : } -; 5479 : stbi__skip(s, c.length); - - 00e82 8b 95 e8 05 00 - 00 mov edx, DWORD PTR c$8[rbp] - 00e88 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00e8f e8 00 00 00 00 call stbi__skip - 00e94 90 npad 1 -$LN5@stbi__pars: - -; 5480 : break; -; 5481 : } -; 5482 : // end of PNG chunk, read and skip CRC -; 5483 : stbi__get32be(s); - - 00e95 48 8b 8d c8 05 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00e9c e8 00 00 00 00 call stbi__get32be - 00ea1 90 npad 1 - -; 5484 : } - - 00ea2 e9 7b f2 ff ff jmp $LN2@stbi__pars -$LN1@stbi__pars: - -; 5485 : } - - 00ea7 48 8b f8 mov rdi, rax - 00eaa 48 8d 4d c0 lea rcx, QWORD PTR [rbp-64] - 00eae 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__parse_png_file$rtcFrameData - 00eb5 e8 00 00 00 00 call _RTC_CheckStackVars - 00eba 48 8b c7 mov rax, rdi - 00ebd 48 8b 8d c0 09 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 00ec4 48 33 cd xor rcx, rbp - 00ec7 e8 00 00 00 00 call __security_check_cookie - 00ecc 48 8d a5 d8 09 - 00 00 lea rsp, QWORD PTR [rbp+2520] - 00ed3 5f pop rdi - 00ed4 5d pop rbp - 00ed5 c3 ret 0 -stbi__parse_png_file ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__de_iphone -_TEXT SEGMENT -s$ = 8 -i$ = 36 -pixel_count$ = 68 -p$ = 104 -t$1 = 132 -a$2 = 164 -t$3 = 196 -half$4 = 228 -t$5 = 260 -tv133 = 468 -z$ = 512 -stbi__de_iphone PROC ; COMDAT - -; 5189 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 08 02 - 00 00 sub rsp, 520 ; 00000208H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 5190 : stbi__context *s = z->s; - - 00020 48 8b 85 00 02 - 00 00 mov rax, QWORD PTR z$[rbp] - 00027 48 8b 00 mov rax, QWORD PTR [rax] - 0002a 48 89 45 08 mov QWORD PTR s$[rbp], rax - -; 5191 : stbi__uint32 i, pixel_count = s->img_x * s->img_y; - - 0002e 48 8b 45 08 mov rax, QWORD PTR s$[rbp] - 00032 48 8b 4d 08 mov rcx, QWORD PTR s$[rbp] - 00036 8b 00 mov eax, DWORD PTR [rax] - 00038 0f af 41 04 imul eax, DWORD PTR [rcx+4] - 0003c 89 45 44 mov DWORD PTR pixel_count$[rbp], eax - -; 5192 : stbi_uc *p = z->out; - - 0003f 48 8b 85 00 02 - 00 00 mov rax, QWORD PTR z$[rbp] - 00046 48 8b 40 18 mov rax, QWORD PTR [rax+24] - 0004a 48 89 45 68 mov QWORD PTR p$[rbp], rax - -; 5193 : -; 5194 : if (s->img_out_n == 3) { // convert bgr to rgb - - 0004e 48 8b 45 08 mov rax, QWORD PTR s$[rbp] - 00052 83 78 0c 03 cmp DWORD PTR [rax+12], 3 - 00056 75 7c jne SHORT $LN11@stbi__de_i - -; 5195 : for (i = 0; i < pixel_count; ++i) { - - 00058 c7 45 24 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 0005f eb 08 jmp SHORT $LN4@stbi__de_i -$LN2@stbi__de_i: - 00061 8b 45 24 mov eax, DWORD PTR i$[rbp] - 00064 ff c0 inc eax - 00066 89 45 24 mov DWORD PTR i$[rbp], eax -$LN4@stbi__de_i: - 00069 8b 45 44 mov eax, DWORD PTR pixel_count$[rbp] - 0006c 39 45 24 cmp DWORD PTR i$[rbp], eax - 0006f 73 5e jae SHORT $LN3@stbi__de_i - -; 5196 : stbi_uc t = p[0]; - - 00071 b8 01 00 00 00 mov eax, 1 - 00076 48 6b c0 00 imul rax, rax, 0 - 0007a 48 8b 4d 68 mov rcx, QWORD PTR p$[rbp] - 0007e 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00082 88 85 84 00 00 - 00 mov BYTE PTR t$1[rbp], al - -; 5197 : p[0] = p[2]; - - 00088 b8 01 00 00 00 mov eax, 1 - 0008d 48 6b c0 02 imul rax, rax, 2 - 00091 b9 01 00 00 00 mov ecx, 1 - 00096 48 6b c9 00 imul rcx, rcx, 0 - 0009a 48 8b 55 68 mov rdx, QWORD PTR p$[rbp] - 0009e 4c 8b 45 68 mov r8, QWORD PTR p$[rbp] - 000a2 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 000a7 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 5198 : p[2] = t; - - 000aa b8 01 00 00 00 mov eax, 1 - 000af 48 6b c0 02 imul rax, rax, 2 - 000b3 48 8b 4d 68 mov rcx, QWORD PTR p$[rbp] - 000b7 0f b6 95 84 00 - 00 00 movzx edx, BYTE PTR t$1[rbp] - 000be 88 14 01 mov BYTE PTR [rcx+rax], dl - -; 5199 : p += 3; - - 000c1 48 8b 45 68 mov rax, QWORD PTR p$[rbp] - 000c5 48 83 c0 03 add rax, 3 - 000c9 48 89 45 68 mov QWORD PTR p$[rbp], rax - -; 5200 : } - - 000cd eb 92 jmp SHORT $LN2@stbi__de_i -$LN3@stbi__de_i: - -; 5201 : } else { - - 000cf e9 59 02 00 00 jmp $LN12@stbi__de_i -$LN11@stbi__de_i: - -; 5202 : STBI_ASSERT(s->img_out_n == 4); - - 000d4 48 8b 45 08 mov rax, QWORD PTR s$[rbp] - 000d8 83 78 0c 04 cmp DWORD PTR [rax+12], 4 - 000dc 74 1c je SHORT $LN18@stbi__de_i - 000de 41 b8 52 14 00 - 00 mov r8d, 5202 ; 00001452H - 000e4 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_1GG@PCNMFHPN@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ - 000eb 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_1CE@GKIDJEJM@?$AAs?$AA?9?$AA?$DO?$AAi?$AAm?$AAg?$AA_?$AAo?$AAu?$AAt?$AA_?$AAn?$AA?5?$AA?$DN?$AA?$DN@ - 000f2 ff 15 00 00 00 - 00 call QWORD PTR __imp__wassert - 000f8 33 c0 xor eax, eax -$LN18@stbi__de_i: - -; 5203 : if (stbi__unpremultiply_on_load) { - - 000fa b8 00 00 00 00 mov eax, OFFSET FLAT:stbi__unpremultiply_on_load_set - 000ff 8b c0 mov eax, eax - 00101 8b 0d 00 00 00 - 00 mov ecx, DWORD PTR _tls_index - 00107 65 48 8b 14 25 - 58 00 00 00 mov rdx, QWORD PTR gs:88 - 00110 48 8b 0c ca mov rcx, QWORD PTR [rdx+rcx*8] - 00114 83 3c 08 00 cmp DWORD PTR [rax+rcx], 0 - 00118 74 25 je SHORT $LN19@stbi__de_i - 0011a b8 00 00 00 00 mov eax, OFFSET FLAT:stbi__unpremultiply_on_load_local - 0011f 8b c0 mov eax, eax - 00121 8b 0d 00 00 00 - 00 mov ecx, DWORD PTR _tls_index - 00127 65 48 8b 14 25 - 58 00 00 00 mov rdx, QWORD PTR gs:88 - 00130 48 8b 0c ca mov rcx, QWORD PTR [rdx+rcx*8] - 00134 8b 04 08 mov eax, DWORD PTR [rax+rcx] - 00137 89 85 d4 01 00 - 00 mov DWORD PTR tv133[rbp], eax - 0013d eb 0c jmp SHORT $LN20@stbi__de_i -$LN19@stbi__de_i: - 0013f 8b 05 00 00 00 - 00 mov eax, DWORD PTR stbi__unpremultiply_on_load_global - 00145 89 85 d4 01 00 - 00 mov DWORD PTR tv133[rbp], eax -$LN20@stbi__de_i: - 0014b 83 bd d4 01 00 - 00 00 cmp DWORD PTR tv133[rbp], 0 - 00152 0f 84 5e 01 00 - 00 je $LN13@stbi__de_i - -; 5204 : // convert bgr to rgb and unpremultiply -; 5205 : for (i = 0; i < pixel_count; ++i) { - - 00158 c7 45 24 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 0015f eb 08 jmp SHORT $LN7@stbi__de_i -$LN5@stbi__de_i: - 00161 8b 45 24 mov eax, DWORD PTR i$[rbp] - 00164 ff c0 inc eax - 00166 89 45 24 mov DWORD PTR i$[rbp], eax -$LN7@stbi__de_i: - 00169 8b 45 44 mov eax, DWORD PTR pixel_count$[rbp] - 0016c 39 45 24 cmp DWORD PTR i$[rbp], eax - 0016f 0f 83 3f 01 00 - 00 jae $LN6@stbi__de_i - -; 5206 : stbi_uc a = p[3]; - - 00175 b8 01 00 00 00 mov eax, 1 - 0017a 48 6b c0 03 imul rax, rax, 3 - 0017e 48 8b 4d 68 mov rcx, QWORD PTR p$[rbp] - 00182 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00186 88 85 a4 00 00 - 00 mov BYTE PTR a$2[rbp], al - -; 5207 : stbi_uc t = p[0]; - - 0018c b8 01 00 00 00 mov eax, 1 - 00191 48 6b c0 00 imul rax, rax, 0 - 00195 48 8b 4d 68 mov rcx, QWORD PTR p$[rbp] - 00199 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0019d 88 85 c4 00 00 - 00 mov BYTE PTR t$3[rbp], al - -; 5208 : if (a) { - - 001a3 0f b6 85 a4 00 - 00 00 movzx eax, BYTE PTR a$2[rbp] - 001aa 85 c0 test eax, eax - 001ac 0f 84 b8 00 00 - 00 je $LN15@stbi__de_i - -; 5209 : stbi_uc half = a / 2; - - 001b2 0f b6 85 a4 00 - 00 00 movzx eax, BYTE PTR a$2[rbp] - 001b9 99 cdq - 001ba 2b c2 sub eax, edx - 001bc d1 f8 sar eax, 1 - 001be 88 85 e4 00 00 - 00 mov BYTE PTR half$4[rbp], al - -; 5210 : p[0] = (p[2] * 255 + half) / a; - - 001c4 b8 01 00 00 00 mov eax, 1 - 001c9 48 6b c0 02 imul rax, rax, 2 - 001cd 48 8b 4d 68 mov rcx, QWORD PTR p$[rbp] - 001d1 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 001d5 69 c0 ff 00 00 - 00 imul eax, eax, 255 ; 000000ffH - 001db 0f b6 8d e4 00 - 00 00 movzx ecx, BYTE PTR half$4[rbp] - 001e2 03 c1 add eax, ecx - 001e4 0f b6 8d a4 00 - 00 00 movzx ecx, BYTE PTR a$2[rbp] - 001eb 99 cdq - 001ec f7 f9 idiv ecx - 001ee b9 01 00 00 00 mov ecx, 1 - 001f3 48 6b c9 00 imul rcx, rcx, 0 - 001f7 48 8b 55 68 mov rdx, QWORD PTR p$[rbp] - 001fb 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 5211 : p[1] = (p[1] * 255 + half) / a; - - 001fe b8 01 00 00 00 mov eax, 1 - 00203 48 6b c0 01 imul rax, rax, 1 - 00207 48 8b 4d 68 mov rcx, QWORD PTR p$[rbp] - 0020b 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0020f 69 c0 ff 00 00 - 00 imul eax, eax, 255 ; 000000ffH - 00215 0f b6 8d e4 00 - 00 00 movzx ecx, BYTE PTR half$4[rbp] - 0021c 03 c1 add eax, ecx - 0021e 0f b6 8d a4 00 - 00 00 movzx ecx, BYTE PTR a$2[rbp] - 00225 99 cdq - 00226 f7 f9 idiv ecx - 00228 b9 01 00 00 00 mov ecx, 1 - 0022d 48 6b c9 01 imul rcx, rcx, 1 - 00231 48 8b 55 68 mov rdx, QWORD PTR p$[rbp] - 00235 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 5212 : p[2] = (t * 255 + half) / a; - - 00238 0f b6 85 c4 00 - 00 00 movzx eax, BYTE PTR t$3[rbp] - 0023f 69 c0 ff 00 00 - 00 imul eax, eax, 255 ; 000000ffH - 00245 0f b6 8d e4 00 - 00 00 movzx ecx, BYTE PTR half$4[rbp] - 0024c 03 c1 add eax, ecx - 0024e 0f b6 8d a4 00 - 00 00 movzx ecx, BYTE PTR a$2[rbp] - 00255 99 cdq - 00256 f7 f9 idiv ecx - 00258 b9 01 00 00 00 mov ecx, 1 - 0025d 48 6b c9 02 imul rcx, rcx, 2 - 00261 48 8b 55 68 mov rdx, QWORD PTR p$[rbp] - 00265 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 5213 : } else { - - 00268 eb 39 jmp SHORT $LN16@stbi__de_i -$LN15@stbi__de_i: - -; 5214 : p[0] = p[2]; - - 0026a b8 01 00 00 00 mov eax, 1 - 0026f 48 6b c0 02 imul rax, rax, 2 - 00273 b9 01 00 00 00 mov ecx, 1 - 00278 48 6b c9 00 imul rcx, rcx, 0 - 0027c 48 8b 55 68 mov rdx, QWORD PTR p$[rbp] - 00280 4c 8b 45 68 mov r8, QWORD PTR p$[rbp] - 00284 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 00289 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 5215 : p[2] = t; - - 0028c b8 01 00 00 00 mov eax, 1 - 00291 48 6b c0 02 imul rax, rax, 2 - 00295 48 8b 4d 68 mov rcx, QWORD PTR p$[rbp] - 00299 0f b6 95 c4 00 - 00 00 movzx edx, BYTE PTR t$3[rbp] - 002a0 88 14 01 mov BYTE PTR [rcx+rax], dl -$LN16@stbi__de_i: - -; 5216 : } -; 5217 : p += 4; - - 002a3 48 8b 45 68 mov rax, QWORD PTR p$[rbp] - 002a7 48 83 c0 04 add rax, 4 - 002ab 48 89 45 68 mov QWORD PTR p$[rbp], rax - -; 5218 : } - - 002af e9 ad fe ff ff jmp $LN5@stbi__de_i -$LN6@stbi__de_i: - -; 5219 : } else { - - 002b4 eb 77 jmp SHORT $LN14@stbi__de_i -$LN13@stbi__de_i: - -; 5220 : // convert bgr to rgb -; 5221 : for (i = 0; i < pixel_count; ++i) { - - 002b6 c7 45 24 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 002bd eb 08 jmp SHORT $LN10@stbi__de_i -$LN8@stbi__de_i: - 002bf 8b 45 24 mov eax, DWORD PTR i$[rbp] - 002c2 ff c0 inc eax - 002c4 89 45 24 mov DWORD PTR i$[rbp], eax -$LN10@stbi__de_i: - 002c7 8b 45 44 mov eax, DWORD PTR pixel_count$[rbp] - 002ca 39 45 24 cmp DWORD PTR i$[rbp], eax - 002cd 73 5e jae SHORT $LN9@stbi__de_i - -; 5222 : stbi_uc t = p[0]; - - 002cf b8 01 00 00 00 mov eax, 1 - 002d4 48 6b c0 00 imul rax, rax, 0 - 002d8 48 8b 4d 68 mov rcx, QWORD PTR p$[rbp] - 002dc 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 002e0 88 85 04 01 00 - 00 mov BYTE PTR t$5[rbp], al - -; 5223 : p[0] = p[2]; - - 002e6 b8 01 00 00 00 mov eax, 1 - 002eb 48 6b c0 02 imul rax, rax, 2 - 002ef b9 01 00 00 00 mov ecx, 1 - 002f4 48 6b c9 00 imul rcx, rcx, 0 - 002f8 48 8b 55 68 mov rdx, QWORD PTR p$[rbp] - 002fc 4c 8b 45 68 mov r8, QWORD PTR p$[rbp] - 00300 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 00305 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 5224 : p[2] = t; - - 00308 b8 01 00 00 00 mov eax, 1 - 0030d 48 6b c0 02 imul rax, rax, 2 - 00311 48 8b 4d 68 mov rcx, QWORD PTR p$[rbp] - 00315 0f b6 95 04 01 - 00 00 movzx edx, BYTE PTR t$5[rbp] - 0031c 88 14 01 mov BYTE PTR [rcx+rax], dl - -; 5225 : p += 4; - - 0031f 48 8b 45 68 mov rax, QWORD PTR p$[rbp] - 00323 48 83 c0 04 add rax, 4 - 00327 48 89 45 68 mov QWORD PTR p$[rbp], rax - -; 5226 : } - - 0032b eb 92 jmp SHORT $LN8@stbi__de_i -$LN9@stbi__de_i: -$LN14@stbi__de_i: -$LN12@stbi__de_i: - -; 5227 : } -; 5228 : } -; 5229 : } - - 0032d 48 8d a5 e8 01 - 00 00 lea rsp, QWORD PTR [rbp+488] - 00334 5f pop rdi - 00335 5d pop rbp - 00336 c3 ret 0 -stbi__de_iphone ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__expand_png_palette -_TEXT SEGMENT -i$ = 4 -pixel_count$ = 36 -p$ = 72 -temp_out$ = 104 -orig$ = 136 -n$1 = 164 -n$2 = 196 -a$ = 448 -palette$ = 456 -len$ = 464 -pal_img_n$ = 472 -stbi__expand_png_palette PROC ; COMDAT - -; 5112 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec c8 01 - 00 00 sub rsp, 456 ; 000001c8H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 5113 : stbi__uint32 i, pixel_count = a->s->img_x * a->s->img_y; - - 0002f 48 8b 85 c0 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 00036 48 8b 00 mov rax, QWORD PTR [rax] - 00039 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00040 48 8b 09 mov rcx, QWORD PTR [rcx] - 00043 8b 00 mov eax, DWORD PTR [rax] - 00045 0f af 41 04 imul eax, DWORD PTR [rcx+4] - 00049 89 45 24 mov DWORD PTR pixel_count$[rbp], eax - -; 5114 : stbi_uc *p, *temp_out, *orig = a->out; - - 0004c 48 8b 85 c0 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 00053 48 8b 40 18 mov rax, QWORD PTR [rax+24] - 00057 48 89 85 88 00 - 00 00 mov QWORD PTR orig$[rbp], rax - -; 5115 : -; 5116 : p = (stbi_uc *)stbi__malloc_mad2(pixel_count, pal_img_n, 0); - - 0005e 45 33 c0 xor r8d, r8d - 00061 8b 95 d8 01 00 - 00 mov edx, DWORD PTR pal_img_n$[rbp] - 00067 8b 4d 24 mov ecx, DWORD PTR pixel_count$[rbp] - 0006a e8 00 00 00 00 call stbi__malloc_mad2 - 0006f 48 89 45 48 mov QWORD PTR p$[rbp], rax - -; 5117 : if (p == NULL) - - 00073 48 83 7d 48 00 cmp QWORD PTR p$[rbp], 0 - 00078 75 11 jne SHORT $LN8@stbi__expa - -; 5118 : return stbi__err("outofmem", "Out of memory"); - - 0007a 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 00081 e8 00 00 00 00 call stbi__err - 00086 e9 d1 01 00 00 jmp $LN1@stbi__expa -$LN8@stbi__expa: - -; 5119 : -; 5120 : // between here and free(out) below, exitting would leak -; 5121 : temp_out = p; - - 0008b 48 8b 45 48 mov rax, QWORD PTR p$[rbp] - 0008f 48 89 45 68 mov QWORD PTR temp_out$[rbp], rax - -; 5122 : -; 5123 : if (pal_img_n == 3) { - - 00093 83 bd d8 01 00 - 00 03 cmp DWORD PTR pal_img_n$[rbp], 3 - 0009a 0f 85 ba 00 00 - 00 jne $LN9@stbi__expa - -; 5124 : for (i = 0; i < pixel_count; ++i) { - - 000a0 c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 000a7 eb 08 jmp SHORT $LN4@stbi__expa -$LN2@stbi__expa: - 000a9 8b 45 04 mov eax, DWORD PTR i$[rbp] - 000ac ff c0 inc eax - 000ae 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__expa: - 000b1 8b 45 24 mov eax, DWORD PTR pixel_count$[rbp] - 000b4 39 45 04 cmp DWORD PTR i$[rbp], eax - 000b7 0f 83 98 00 00 - 00 jae $LN3@stbi__expa - -; 5125 : int n = orig[i] * 4; - - 000bd 8b 45 04 mov eax, DWORD PTR i$[rbp] - 000c0 48 8b 8d 88 00 - 00 00 mov rcx, QWORD PTR orig$[rbp] - 000c7 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 000cb c1 e0 02 shl eax, 2 - 000ce 89 85 a4 00 00 - 00 mov DWORD PTR n$1[rbp], eax - -; 5126 : p[0] = palette[n]; - - 000d4 48 63 85 a4 00 - 00 00 movsxd rax, DWORD PTR n$1[rbp] - 000db b9 01 00 00 00 mov ecx, 1 - 000e0 48 6b c9 00 imul rcx, rcx, 0 - 000e4 48 8b 55 48 mov rdx, QWORD PTR p$[rbp] - 000e8 4c 8b 85 c8 01 - 00 00 mov r8, QWORD PTR palette$[rbp] - 000ef 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 000f4 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 5127 : p[1] = palette[n + 1]; - - 000f7 8b 85 a4 00 00 - 00 mov eax, DWORD PTR n$1[rbp] - 000fd ff c0 inc eax - 000ff 48 98 cdqe - 00101 b9 01 00 00 00 mov ecx, 1 - 00106 48 6b c9 01 imul rcx, rcx, 1 - 0010a 48 8b 55 48 mov rdx, QWORD PTR p$[rbp] - 0010e 4c 8b 85 c8 01 - 00 00 mov r8, QWORD PTR palette$[rbp] - 00115 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 0011a 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 5128 : p[2] = palette[n + 2]; - - 0011d 8b 85 a4 00 00 - 00 mov eax, DWORD PTR n$1[rbp] - 00123 83 c0 02 add eax, 2 - 00126 48 98 cdqe - 00128 b9 01 00 00 00 mov ecx, 1 - 0012d 48 6b c9 02 imul rcx, rcx, 2 - 00131 48 8b 55 48 mov rdx, QWORD PTR p$[rbp] - 00135 4c 8b 85 c8 01 - 00 00 mov r8, QWORD PTR palette$[rbp] - 0013c 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 00141 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 5129 : p += 3; - - 00144 48 8b 45 48 mov rax, QWORD PTR p$[rbp] - 00148 48 83 c0 03 add rax, 3 - 0014c 48 89 45 48 mov QWORD PTR p$[rbp], rax - -; 5130 : } - - 00150 e9 54 ff ff ff jmp $LN2@stbi__expa -$LN3@stbi__expa: - -; 5131 : } else { - - 00155 e9 dc 00 00 00 jmp $LN10@stbi__expa -$LN9@stbi__expa: - -; 5132 : for (i = 0; i < pixel_count; ++i) { - - 0015a c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 00161 eb 08 jmp SHORT $LN7@stbi__expa -$LN5@stbi__expa: - 00163 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00166 ff c0 inc eax - 00168 89 45 04 mov DWORD PTR i$[rbp], eax -$LN7@stbi__expa: - 0016b 8b 45 24 mov eax, DWORD PTR pixel_count$[rbp] - 0016e 39 45 04 cmp DWORD PTR i$[rbp], eax - 00171 0f 83 bf 00 00 - 00 jae $LN6@stbi__expa - -; 5133 : int n = orig[i] * 4; - - 00177 8b 45 04 mov eax, DWORD PTR i$[rbp] - 0017a 48 8b 8d 88 00 - 00 00 mov rcx, QWORD PTR orig$[rbp] - 00181 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00185 c1 e0 02 shl eax, 2 - 00188 89 85 c4 00 00 - 00 mov DWORD PTR n$2[rbp], eax - -; 5134 : p[0] = palette[n]; - - 0018e 48 63 85 c4 00 - 00 00 movsxd rax, DWORD PTR n$2[rbp] - 00195 b9 01 00 00 00 mov ecx, 1 - 0019a 48 6b c9 00 imul rcx, rcx, 0 - 0019e 48 8b 55 48 mov rdx, QWORD PTR p$[rbp] - 001a2 4c 8b 85 c8 01 - 00 00 mov r8, QWORD PTR palette$[rbp] - 001a9 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 001ae 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 5135 : p[1] = palette[n + 1]; - - 001b1 8b 85 c4 00 00 - 00 mov eax, DWORD PTR n$2[rbp] - 001b7 ff c0 inc eax - 001b9 48 98 cdqe - 001bb b9 01 00 00 00 mov ecx, 1 - 001c0 48 6b c9 01 imul rcx, rcx, 1 - 001c4 48 8b 55 48 mov rdx, QWORD PTR p$[rbp] - 001c8 4c 8b 85 c8 01 - 00 00 mov r8, QWORD PTR palette$[rbp] - 001cf 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 001d4 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 5136 : p[2] = palette[n + 2]; - - 001d7 8b 85 c4 00 00 - 00 mov eax, DWORD PTR n$2[rbp] - 001dd 83 c0 02 add eax, 2 - 001e0 48 98 cdqe - 001e2 b9 01 00 00 00 mov ecx, 1 - 001e7 48 6b c9 02 imul rcx, rcx, 2 - 001eb 48 8b 55 48 mov rdx, QWORD PTR p$[rbp] - 001ef 4c 8b 85 c8 01 - 00 00 mov r8, QWORD PTR palette$[rbp] - 001f6 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 001fb 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 5137 : p[3] = palette[n + 3]; - - 001fe 8b 85 c4 00 00 - 00 mov eax, DWORD PTR n$2[rbp] - 00204 83 c0 03 add eax, 3 - 00207 48 98 cdqe - 00209 b9 01 00 00 00 mov ecx, 1 - 0020e 48 6b c9 03 imul rcx, rcx, 3 - 00212 48 8b 55 48 mov rdx, QWORD PTR p$[rbp] - 00216 4c 8b 85 c8 01 - 00 00 mov r8, QWORD PTR palette$[rbp] - 0021d 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 00222 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 5138 : p += 4; - - 00225 48 8b 45 48 mov rax, QWORD PTR p$[rbp] - 00229 48 83 c0 04 add rax, 4 - 0022d 48 89 45 48 mov QWORD PTR p$[rbp], rax - -; 5139 : } - - 00231 e9 2d ff ff ff jmp $LN5@stbi__expa -$LN6@stbi__expa: -$LN10@stbi__expa: - -; 5140 : } -; 5141 : STBI_FREE(a->out); - - 00236 48 8b 85 c0 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 0023d 48 8b 48 18 mov rcx, QWORD PTR [rax+24] - 00241 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00247 90 npad 1 - -; 5142 : a->out = temp_out; - - 00248 48 8b 85 c0 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 0024f 48 8b 4d 68 mov rcx, QWORD PTR temp_out$[rbp] - 00253 48 89 48 18 mov QWORD PTR [rax+24], rcx - -; 5143 : -; 5144 : STBI_NOTUSED(len); -; 5145 : -; 5146 : return 1; - - 00257 b8 01 00 00 00 mov eax, 1 -$LN1@stbi__expa: - -; 5147 : } - - 0025c 48 8d a5 a8 01 - 00 00 lea rsp, QWORD PTR [rbp+424] - 00263 5f pop rdi - 00264 5d pop rbp - 00265 c3 ret 0 -stbi__expand_png_palette ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__compute_transparency16 -_TEXT SEGMENT -s$ = 8 -i$ = 36 -pixel_count$ = 68 -p$ = 104 -tv87 = 308 -z$ = 352 -tc$ = 360 -out_n$ = 368 -stbi__compute_transparency16 PROC ; COMDAT - -; 5087 : { - - 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec 68 01 - 00 00 sub rsp, 360 ; 00000168H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 5088 : stbi__context *s = z->s; - - 0002a 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00031 48 8b 00 mov rax, QWORD PTR [rax] - 00034 48 89 45 08 mov QWORD PTR s$[rbp], rax - -; 5089 : stbi__uint32 i, pixel_count = s->img_x * s->img_y; - - 00038 48 8b 45 08 mov rax, QWORD PTR s$[rbp] - 0003c 48 8b 4d 08 mov rcx, QWORD PTR s$[rbp] - 00040 8b 00 mov eax, DWORD PTR [rax] - 00042 0f af 41 04 imul eax, DWORD PTR [rcx+4] - 00046 89 45 44 mov DWORD PTR pixel_count$[rbp], eax - -; 5090 : stbi__uint16 *p = (stbi__uint16 *)z->out; - - 00049 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00050 48 8b 40 18 mov rax, QWORD PTR [rax+24] - 00054 48 89 45 68 mov QWORD PTR p$[rbp], rax - -; 5091 : -; 5092 : // compute color-based transparency, assuming we've -; 5093 : // already got 65535 as the alpha value in the output -; 5094 : STBI_ASSERT(out_n == 2 || out_n == 4); - - 00058 83 bd 70 01 00 - 00 02 cmp DWORD PTR out_n$[rbp], 2 - 0005f 74 25 je SHORT $LN12@stbi__comp - 00061 83 bd 70 01 00 - 00 04 cmp DWORD PTR out_n$[rbp], 4 - 00068 74 1c je SHORT $LN12@stbi__comp - 0006a 41 b8 e6 13 00 - 00 mov r8d, 5094 ; 000013e6H - 00070 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_1GG@PCNMFHPN@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ - 00077 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_1DC@BMIDKOPK@?$AAo?$AAu?$AAt?$AA_?$AAn?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA2?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAo@ - 0007e ff 15 00 00 00 - 00 call QWORD PTR __imp__wassert - 00084 33 c0 xor eax, eax -$LN12@stbi__comp: - -; 5095 : -; 5096 : if (out_n == 2) { - - 00086 83 bd 70 01 00 - 00 02 cmp DWORD PTR out_n$[rbp], 2 - 0008d 0f 85 83 00 00 - 00 jne $LN8@stbi__comp - -; 5097 : for (i = 0; i < pixel_count; ++i) { - - 00093 c7 45 24 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 0009a eb 08 jmp SHORT $LN4@stbi__comp -$LN2@stbi__comp: - 0009c 8b 45 24 mov eax, DWORD PTR i$[rbp] - 0009f ff c0 inc eax - 000a1 89 45 24 mov DWORD PTR i$[rbp], eax -$LN4@stbi__comp: - 000a4 8b 45 44 mov eax, DWORD PTR pixel_count$[rbp] - 000a7 39 45 24 cmp DWORD PTR i$[rbp], eax - 000aa 73 65 jae SHORT $LN3@stbi__comp - -; 5098 : p[1] = (p[0] == tc[0] ? 0 : 65535); - - 000ac b8 02 00 00 00 mov eax, 2 - 000b1 48 6b c0 00 imul rax, rax, 0 - 000b5 48 8b 4d 68 mov rcx, QWORD PTR p$[rbp] - 000b9 0f b7 04 01 movzx eax, WORD PTR [rcx+rax] - 000bd b9 02 00 00 00 mov ecx, 2 - 000c2 48 6b c9 00 imul rcx, rcx, 0 - 000c6 48 8b 95 68 01 - 00 00 mov rdx, QWORD PTR tc$[rbp] - 000cd 0f b7 0c 0a movzx ecx, WORD PTR [rdx+rcx] - 000d1 3b c1 cmp eax, ecx - 000d3 75 0c jne SHORT $LN13@stbi__comp - 000d5 c7 85 34 01 00 - 00 00 00 00 00 mov DWORD PTR tv87[rbp], 0 - 000df eb 0a jmp SHORT $LN14@stbi__comp -$LN13@stbi__comp: - 000e1 c7 85 34 01 00 - 00 ff ff 00 00 mov DWORD PTR tv87[rbp], 65535 ; 0000ffffH -$LN14@stbi__comp: - 000eb b8 02 00 00 00 mov eax, 2 - 000f0 48 6b c0 01 imul rax, rax, 1 - 000f4 48 8b 4d 68 mov rcx, QWORD PTR p$[rbp] - 000f8 0f b7 95 34 01 - 00 00 movzx edx, WORD PTR tv87[rbp] - 000ff 66 89 14 01 mov WORD PTR [rcx+rax], dx - -; 5099 : p += 2; - - 00103 48 8b 45 68 mov rax, QWORD PTR p$[rbp] - 00107 48 83 c0 04 add rax, 4 - 0010b 48 89 45 68 mov QWORD PTR p$[rbp], rax - -; 5100 : } - - 0010f eb 8b jmp SHORT $LN2@stbi__comp -$LN3@stbi__comp: - -; 5101 : } else { - - 00111 e9 bc 00 00 00 jmp $LN9@stbi__comp -$LN8@stbi__comp: - -; 5102 : for (i = 0; i < pixel_count; ++i) { - - 00116 c7 45 24 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 0011d eb 08 jmp SHORT $LN7@stbi__comp -$LN5@stbi__comp: - 0011f 8b 45 24 mov eax, DWORD PTR i$[rbp] - 00122 ff c0 inc eax - 00124 89 45 24 mov DWORD PTR i$[rbp], eax -$LN7@stbi__comp: - 00127 8b 45 44 mov eax, DWORD PTR pixel_count$[rbp] - 0012a 39 45 24 cmp DWORD PTR i$[rbp], eax - 0012d 0f 83 9f 00 00 - 00 jae $LN6@stbi__comp - -; 5103 : if (p[0] == tc[0] && p[1] == tc[1] && p[2] == tc[2]) - - 00133 b8 02 00 00 00 mov eax, 2 - 00138 48 6b c0 00 imul rax, rax, 0 - 0013c 48 8b 4d 68 mov rcx, QWORD PTR p$[rbp] - 00140 0f b7 04 01 movzx eax, WORD PTR [rcx+rax] - 00144 b9 02 00 00 00 mov ecx, 2 - 00149 48 6b c9 00 imul rcx, rcx, 0 - 0014d 48 8b 95 68 01 - 00 00 mov rdx, QWORD PTR tc$[rbp] - 00154 0f b7 0c 0a movzx ecx, WORD PTR [rdx+rcx] - 00158 3b c1 cmp eax, ecx - 0015a 75 65 jne SHORT $LN10@stbi__comp - 0015c b8 02 00 00 00 mov eax, 2 - 00161 48 6b c0 01 imul rax, rax, 1 - 00165 48 8b 4d 68 mov rcx, QWORD PTR p$[rbp] - 00169 0f b7 04 01 movzx eax, WORD PTR [rcx+rax] - 0016d b9 02 00 00 00 mov ecx, 2 - 00172 48 6b c9 01 imul rcx, rcx, 1 - 00176 48 8b 95 68 01 - 00 00 mov rdx, QWORD PTR tc$[rbp] - 0017d 0f b7 0c 0a movzx ecx, WORD PTR [rdx+rcx] - 00181 3b c1 cmp eax, ecx - 00183 75 3c jne SHORT $LN10@stbi__comp - 00185 b8 02 00 00 00 mov eax, 2 - 0018a 48 6b c0 02 imul rax, rax, 2 - 0018e 48 8b 4d 68 mov rcx, QWORD PTR p$[rbp] - 00192 0f b7 04 01 movzx eax, WORD PTR [rcx+rax] - 00196 b9 02 00 00 00 mov ecx, 2 - 0019b 48 6b c9 02 imul rcx, rcx, 2 - 0019f 48 8b 95 68 01 - 00 00 mov rdx, QWORD PTR tc$[rbp] - 001a6 0f b7 0c 0a movzx ecx, WORD PTR [rdx+rcx] - 001aa 3b c1 cmp eax, ecx - 001ac 75 13 jne SHORT $LN10@stbi__comp - -; 5104 : p[3] = 0; - - 001ae b8 02 00 00 00 mov eax, 2 - 001b3 48 6b c0 03 imul rax, rax, 3 - 001b7 33 c9 xor ecx, ecx - 001b9 48 8b 55 68 mov rdx, QWORD PTR p$[rbp] - 001bd 66 89 0c 02 mov WORD PTR [rdx+rax], cx -$LN10@stbi__comp: - -; 5105 : p += 4; - - 001c1 48 8b 45 68 mov rax, QWORD PTR p$[rbp] - 001c5 48 83 c0 08 add rax, 8 - 001c9 48 89 45 68 mov QWORD PTR p$[rbp], rax - -; 5106 : } - - 001cd e9 4d ff ff ff jmp $LN5@stbi__comp -$LN6@stbi__comp: -$LN9@stbi__comp: - -; 5107 : } -; 5108 : return 1; - - 001d2 b8 01 00 00 00 mov eax, 1 - -; 5109 : } - - 001d7 48 8d a5 48 01 - 00 00 lea rsp, QWORD PTR [rbp+328] - 001de 5f pop rdi - 001df 5d pop rbp - 001e0 c3 ret 0 -stbi__compute_transparency16 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__compute_transparency -_TEXT SEGMENT -s$ = 8 -i$ = 36 -pixel_count$ = 68 -p$ = 104 -tv87 = 308 -z$ = 352 -tc$ = 360 -out_n$ = 368 -stbi__compute_transparency PROC ; COMDAT - -; 5062 : { - - 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec 68 01 - 00 00 sub rsp, 360 ; 00000168H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 5063 : stbi__context *s = z->s; - - 0002a 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00031 48 8b 00 mov rax, QWORD PTR [rax] - 00034 48 89 45 08 mov QWORD PTR s$[rbp], rax - -; 5064 : stbi__uint32 i, pixel_count = s->img_x * s->img_y; - - 00038 48 8b 45 08 mov rax, QWORD PTR s$[rbp] - 0003c 48 8b 4d 08 mov rcx, QWORD PTR s$[rbp] - 00040 8b 00 mov eax, DWORD PTR [rax] - 00042 0f af 41 04 imul eax, DWORD PTR [rcx+4] - 00046 89 45 44 mov DWORD PTR pixel_count$[rbp], eax - -; 5065 : stbi_uc *p = z->out; - - 00049 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00050 48 8b 40 18 mov rax, QWORD PTR [rax+24] - 00054 48 89 45 68 mov QWORD PTR p$[rbp], rax - -; 5066 : -; 5067 : // compute color-based transparency, assuming we've -; 5068 : // already got 255 as the alpha value in the output -; 5069 : STBI_ASSERT(out_n == 2 || out_n == 4); - - 00058 83 bd 70 01 00 - 00 02 cmp DWORD PTR out_n$[rbp], 2 - 0005f 74 25 je SHORT $LN12@stbi__comp - 00061 83 bd 70 01 00 - 00 04 cmp DWORD PTR out_n$[rbp], 4 - 00068 74 1c je SHORT $LN12@stbi__comp - 0006a 41 b8 cd 13 00 - 00 mov r8d, 5069 ; 000013cdH - 00070 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_1GG@PCNMFHPN@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ - 00077 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_1DC@BMIDKOPK@?$AAo?$AAu?$AAt?$AA_?$AAn?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA2?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAo@ - 0007e ff 15 00 00 00 - 00 call QWORD PTR __imp__wassert - 00084 33 c0 xor eax, eax -$LN12@stbi__comp: - -; 5070 : -; 5071 : if (out_n == 2) { - - 00086 83 bd 70 01 00 - 00 02 cmp DWORD PTR out_n$[rbp], 2 - 0008d 0f 85 82 00 00 - 00 jne $LN8@stbi__comp - -; 5072 : for (i = 0; i < pixel_count; ++i) { - - 00093 c7 45 24 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 0009a eb 08 jmp SHORT $LN4@stbi__comp -$LN2@stbi__comp: - 0009c 8b 45 24 mov eax, DWORD PTR i$[rbp] - 0009f ff c0 inc eax - 000a1 89 45 24 mov DWORD PTR i$[rbp], eax -$LN4@stbi__comp: - 000a4 8b 45 44 mov eax, DWORD PTR pixel_count$[rbp] - 000a7 39 45 24 cmp DWORD PTR i$[rbp], eax - 000aa 73 64 jae SHORT $LN3@stbi__comp - -; 5073 : p[1] = (p[0] == tc[0] ? 0 : 255); - - 000ac b8 01 00 00 00 mov eax, 1 - 000b1 48 6b c0 00 imul rax, rax, 0 - 000b5 48 8b 4d 68 mov rcx, QWORD PTR p$[rbp] - 000b9 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 000bd b9 01 00 00 00 mov ecx, 1 - 000c2 48 6b c9 00 imul rcx, rcx, 0 - 000c6 48 8b 95 68 01 - 00 00 mov rdx, QWORD PTR tc$[rbp] - 000cd 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 000d1 3b c1 cmp eax, ecx - 000d3 75 0c jne SHORT $LN13@stbi__comp - 000d5 c7 85 34 01 00 - 00 00 00 00 00 mov DWORD PTR tv87[rbp], 0 - 000df eb 0a jmp SHORT $LN14@stbi__comp -$LN13@stbi__comp: - 000e1 c7 85 34 01 00 - 00 ff 00 00 00 mov DWORD PTR tv87[rbp], 255 ; 000000ffH -$LN14@stbi__comp: - 000eb b8 01 00 00 00 mov eax, 1 - 000f0 48 6b c0 01 imul rax, rax, 1 - 000f4 48 8b 4d 68 mov rcx, QWORD PTR p$[rbp] - 000f8 0f b6 95 34 01 - 00 00 movzx edx, BYTE PTR tv87[rbp] - 000ff 88 14 01 mov BYTE PTR [rcx+rax], dl - -; 5074 : p += 2; - - 00102 48 8b 45 68 mov rax, QWORD PTR p$[rbp] - 00106 48 83 c0 02 add rax, 2 - 0010a 48 89 45 68 mov QWORD PTR p$[rbp], rax - -; 5075 : } - - 0010e eb 8c jmp SHORT $LN2@stbi__comp -$LN3@stbi__comp: - -; 5076 : } else { - - 00110 e9 ba 00 00 00 jmp $LN9@stbi__comp -$LN8@stbi__comp: - -; 5077 : for (i = 0; i < pixel_count; ++i) { - - 00115 c7 45 24 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 0011c eb 08 jmp SHORT $LN7@stbi__comp -$LN5@stbi__comp: - 0011e 8b 45 24 mov eax, DWORD PTR i$[rbp] - 00121 ff c0 inc eax - 00123 89 45 24 mov DWORD PTR i$[rbp], eax -$LN7@stbi__comp: - 00126 8b 45 44 mov eax, DWORD PTR pixel_count$[rbp] - 00129 39 45 24 cmp DWORD PTR i$[rbp], eax - 0012c 0f 83 9d 00 00 - 00 jae $LN6@stbi__comp - -; 5078 : if (p[0] == tc[0] && p[1] == tc[1] && p[2] == tc[2]) - - 00132 b8 01 00 00 00 mov eax, 1 - 00137 48 6b c0 00 imul rax, rax, 0 - 0013b 48 8b 4d 68 mov rcx, QWORD PTR p$[rbp] - 0013f 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00143 b9 01 00 00 00 mov ecx, 1 - 00148 48 6b c9 00 imul rcx, rcx, 0 - 0014c 48 8b 95 68 01 - 00 00 mov rdx, QWORD PTR tc$[rbp] - 00153 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 00157 3b c1 cmp eax, ecx - 00159 75 63 jne SHORT $LN10@stbi__comp - 0015b b8 01 00 00 00 mov eax, 1 - 00160 48 6b c0 01 imul rax, rax, 1 - 00164 48 8b 4d 68 mov rcx, QWORD PTR p$[rbp] - 00168 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0016c b9 01 00 00 00 mov ecx, 1 - 00171 48 6b c9 01 imul rcx, rcx, 1 - 00175 48 8b 95 68 01 - 00 00 mov rdx, QWORD PTR tc$[rbp] - 0017c 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 00180 3b c1 cmp eax, ecx - 00182 75 3a jne SHORT $LN10@stbi__comp - 00184 b8 01 00 00 00 mov eax, 1 - 00189 48 6b c0 02 imul rax, rax, 2 - 0018d 48 8b 4d 68 mov rcx, QWORD PTR p$[rbp] - 00191 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00195 b9 01 00 00 00 mov ecx, 1 - 0019a 48 6b c9 02 imul rcx, rcx, 2 - 0019e 48 8b 95 68 01 - 00 00 mov rdx, QWORD PTR tc$[rbp] - 001a5 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 001a9 3b c1 cmp eax, ecx - 001ab 75 11 jne SHORT $LN10@stbi__comp - -; 5079 : p[3] = 0; - - 001ad b8 01 00 00 00 mov eax, 1 - 001b2 48 6b c0 03 imul rax, rax, 3 - 001b6 48 8b 4d 68 mov rcx, QWORD PTR p$[rbp] - 001ba c6 04 01 00 mov BYTE PTR [rcx+rax], 0 -$LN10@stbi__comp: - -; 5080 : p += 4; - - 001be 48 8b 45 68 mov rax, QWORD PTR p$[rbp] - 001c2 48 83 c0 04 add rax, 4 - 001c6 48 89 45 68 mov QWORD PTR p$[rbp], rax - -; 5081 : } - - 001ca e9 4f ff ff ff jmp $LN5@stbi__comp -$LN6@stbi__comp: -$LN9@stbi__comp: - -; 5082 : } -; 5083 : return 1; - - 001cf b8 01 00 00 00 mov eax, 1 - -; 5084 : } - - 001d4 48 8d a5 48 01 - 00 00 lea rsp, QWORD PTR [rbp+328] - 001db 5f pop rdi - 001dc 5d pop rbp - 001dd c3 ret 0 -stbi__compute_transparency ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__create_png_image -_TEXT SEGMENT -bytes$ = 4 -out_bytes$ = 36 -final$ = 72 -p$ = 100 -xorig$7 = 136 -yorig$8 = 200 -xspc$9 = 264 -yspc$10 = 328 -i$11 = 388 -j$12 = 420 -x$13 = 452 -y$14 = 484 -img_len$15 = 516 -out_y$16 = 548 -out_x$17 = 580 -tv65 = 980 -tv280 = 984 -a$ = 1024 -image_data$ = 1032 -image_data_len$ = 1040 -out_n$ = 1048 -depth$ = 1056 -color$ = 1064 -interlaced$ = 1072 -stbi__create_png_image PROC ; COMDAT - -; 5013 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 28 04 - 00 00 sub rsp, 1064 ; 00000428H - 0001d 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] - 00022 48 8d 7c 24 40 lea rdi, QWORD PTR [rsp+64] - 00027 b9 9a 00 00 00 mov ecx, 154 ; 0000009aH - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 48 - 04 00 00 mov rcx, QWORD PTR [rsp+1096] - 0003b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00042 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00047 90 npad 1 - -; 5014 : int bytes = (depth == 16 ? 2 : 1); - - 00048 83 bd 20 04 00 - 00 10 cmp DWORD PTR depth$[rbp], 16 - 0004f 75 0c jne SHORT $LN16@stbi__crea - 00051 c7 85 d4 03 00 - 00 02 00 00 00 mov DWORD PTR tv65[rbp], 2 - 0005b eb 0a jmp SHORT $LN17@stbi__crea -$LN16@stbi__crea: - 0005d c7 85 d4 03 00 - 00 01 00 00 00 mov DWORD PTR tv65[rbp], 1 -$LN17@stbi__crea: - 00067 8b 85 d4 03 00 - 00 mov eax, DWORD PTR tv65[rbp] - 0006d 89 45 04 mov DWORD PTR bytes$[rbp], eax - -; 5015 : int out_bytes = out_n * bytes; - - 00070 8b 85 18 04 00 - 00 mov eax, DWORD PTR out_n$[rbp] - 00076 0f af 45 04 imul eax, DWORD PTR bytes$[rbp] - 0007a 89 45 24 mov DWORD PTR out_bytes$[rbp], eax - -; 5016 : stbi_uc *final; -; 5017 : int p; -; 5018 : if (!interlaced) - - 0007d 83 bd 30 04 00 - 00 00 cmp DWORD PTR interlaced$[rbp], 0 - 00084 75 5b jne SHORT $LN11@stbi__crea - -; 5019 : return stbi__create_png_image_raw(a, image_data, image_data_len, out_n, a->s->img_x, - - 00086 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR a$[rbp] - 0008d 48 8b 00 mov rax, QWORD PTR [rax] - 00090 48 8b 8d 00 04 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00097 48 8b 09 mov rcx, QWORD PTR [rcx] - 0009a 8b 95 28 04 00 - 00 mov edx, DWORD PTR color$[rbp] - 000a0 89 54 24 38 mov DWORD PTR [rsp+56], edx - 000a4 8b 95 20 04 00 - 00 mov edx, DWORD PTR depth$[rbp] - 000aa 89 54 24 30 mov DWORD PTR [rsp+48], edx - 000ae 8b 40 04 mov eax, DWORD PTR [rax+4] - 000b1 89 44 24 28 mov DWORD PTR [rsp+40], eax - 000b5 8b 01 mov eax, DWORD PTR [rcx] - 000b7 89 44 24 20 mov DWORD PTR [rsp+32], eax - 000bb 44 8b 8d 18 04 - 00 00 mov r9d, DWORD PTR out_n$[rbp] - 000c2 44 8b 85 10 04 - 00 00 mov r8d, DWORD PTR image_data_len$[rbp] - 000c9 48 8b 95 08 04 - 00 00 mov rdx, QWORD PTR image_data$[rbp] - 000d0 48 8b 8d 00 04 - 00 00 mov rcx, QWORD PTR a$[rbp] - 000d7 e8 00 00 00 00 call stbi__create_png_image_raw - 000dc e9 1b 04 00 00 jmp $LN1@stbi__crea -$LN11@stbi__crea: - -; 5020 : a->s->img_y, depth, color); -; 5021 : -; 5022 : // de-interlacing -; 5023 : final = (stbi_uc *)stbi__malloc_mad3(a->s->img_x, a->s->img_y, out_bytes, 0); - - 000e1 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR a$[rbp] - 000e8 48 8b 00 mov rax, QWORD PTR [rax] - 000eb 48 8b 8d 00 04 - 00 00 mov rcx, QWORD PTR a$[rbp] - 000f2 48 8b 09 mov rcx, QWORD PTR [rcx] - 000f5 45 33 c9 xor r9d, r9d - 000f8 44 8b 45 24 mov r8d, DWORD PTR out_bytes$[rbp] - 000fc 8b 50 04 mov edx, DWORD PTR [rax+4] - 000ff 8b 09 mov ecx, DWORD PTR [rcx] - 00101 e8 00 00 00 00 call stbi__malloc_mad3 - 00106 48 89 45 48 mov QWORD PTR final$[rbp], rax - -; 5024 : if (!final) - - 0010a 48 83 7d 48 00 cmp QWORD PTR final$[rbp], 0 - 0010f 75 11 jne SHORT $LN12@stbi__crea - -; 5025 : return stbi__err("outofmem", "Out of memory"); - - 00111 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 00118 e8 00 00 00 00 call stbi__err - 0011d e9 da 03 00 00 jmp $LN1@stbi__crea -$LN12@stbi__crea: - -; 5026 : for (p = 0; p < 7; ++p) { - - 00122 c7 45 64 00 00 - 00 00 mov DWORD PTR p$[rbp], 0 - 00129 eb 08 jmp SHORT $LN4@stbi__crea -$LN2@stbi__crea: - 0012b 8b 45 64 mov eax, DWORD PTR p$[rbp] - 0012e ff c0 inc eax - 00130 89 45 64 mov DWORD PTR p$[rbp], eax -$LN4@stbi__crea: - 00133 83 7d 64 07 cmp DWORD PTR p$[rbp], 7 - 00137 0f 8d ab 03 00 - 00 jge $LN3@stbi__crea - -; 5027 : int xorig[] = { 0, 4, 0, 2, 0, 1, 0 }; - - 0013d c7 85 88 00 00 - 00 00 00 00 00 mov DWORD PTR xorig$7[rbp], 0 - 00147 c7 85 8c 00 00 - 00 04 00 00 00 mov DWORD PTR xorig$7[rbp+4], 4 - 00151 c7 85 90 00 00 - 00 00 00 00 00 mov DWORD PTR xorig$7[rbp+8], 0 - 0015b c7 85 94 00 00 - 00 02 00 00 00 mov DWORD PTR xorig$7[rbp+12], 2 - 00165 c7 85 98 00 00 - 00 00 00 00 00 mov DWORD PTR xorig$7[rbp+16], 0 - 0016f c7 85 9c 00 00 - 00 01 00 00 00 mov DWORD PTR xorig$7[rbp+20], 1 - 00179 c7 85 a0 00 00 - 00 00 00 00 00 mov DWORD PTR xorig$7[rbp+24], 0 - -; 5028 : int yorig[] = { 0, 0, 4, 0, 2, 0, 1 }; - - 00183 c7 85 c8 00 00 - 00 00 00 00 00 mov DWORD PTR yorig$8[rbp], 0 - 0018d c7 85 cc 00 00 - 00 00 00 00 00 mov DWORD PTR yorig$8[rbp+4], 0 - 00197 c7 85 d0 00 00 - 00 04 00 00 00 mov DWORD PTR yorig$8[rbp+8], 4 - 001a1 c7 85 d4 00 00 - 00 00 00 00 00 mov DWORD PTR yorig$8[rbp+12], 0 - 001ab c7 85 d8 00 00 - 00 02 00 00 00 mov DWORD PTR yorig$8[rbp+16], 2 - 001b5 c7 85 dc 00 00 - 00 00 00 00 00 mov DWORD PTR yorig$8[rbp+20], 0 - 001bf c7 85 e0 00 00 - 00 01 00 00 00 mov DWORD PTR yorig$8[rbp+24], 1 - -; 5029 : int xspc[] = { 8, 8, 4, 4, 2, 2, 1 }; - - 001c9 c7 85 08 01 00 - 00 08 00 00 00 mov DWORD PTR xspc$9[rbp], 8 - 001d3 c7 85 0c 01 00 - 00 08 00 00 00 mov DWORD PTR xspc$9[rbp+4], 8 - 001dd c7 85 10 01 00 - 00 04 00 00 00 mov DWORD PTR xspc$9[rbp+8], 4 - 001e7 c7 85 14 01 00 - 00 04 00 00 00 mov DWORD PTR xspc$9[rbp+12], 4 - 001f1 c7 85 18 01 00 - 00 02 00 00 00 mov DWORD PTR xspc$9[rbp+16], 2 - 001fb c7 85 1c 01 00 - 00 02 00 00 00 mov DWORD PTR xspc$9[rbp+20], 2 - 00205 c7 85 20 01 00 - 00 01 00 00 00 mov DWORD PTR xspc$9[rbp+24], 1 - -; 5030 : int yspc[] = { 8, 8, 8, 4, 4, 2, 2 }; - - 0020f c7 85 48 01 00 - 00 08 00 00 00 mov DWORD PTR yspc$10[rbp], 8 - 00219 c7 85 4c 01 00 - 00 08 00 00 00 mov DWORD PTR yspc$10[rbp+4], 8 - 00223 c7 85 50 01 00 - 00 08 00 00 00 mov DWORD PTR yspc$10[rbp+8], 8 - 0022d c7 85 54 01 00 - 00 04 00 00 00 mov DWORD PTR yspc$10[rbp+12], 4 - 00237 c7 85 58 01 00 - 00 04 00 00 00 mov DWORD PTR yspc$10[rbp+16], 4 - 00241 c7 85 5c 01 00 - 00 02 00 00 00 mov DWORD PTR yspc$10[rbp+20], 2 - 0024b c7 85 60 01 00 - 00 02 00 00 00 mov DWORD PTR yspc$10[rbp+24], 2 - -; 5031 : int i, j, x, y; -; 5032 : // pass1_x[4] = 0, pass1_x[5] = 1, pass1_x[12] = 1 -; 5033 : x = (a->s->img_x - xorig[p] + xspc[p] - 1) / xspc[p]; - - 00255 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR a$[rbp] - 0025c 48 8b 00 mov rax, QWORD PTR [rax] - 0025f 48 63 4d 64 movsxd rcx, DWORD PTR p$[rbp] - 00263 8b 8c 8d 88 00 - 00 00 mov ecx, DWORD PTR xorig$7[rbp+rcx*4] - 0026a 8b 00 mov eax, DWORD PTR [rax] - 0026c 2b c1 sub eax, ecx - 0026e 48 63 4d 64 movsxd rcx, DWORD PTR p$[rbp] - 00272 8b 8c 8d 08 01 - 00 00 mov ecx, DWORD PTR xspc$9[rbp+rcx*4] - 00279 8d 44 08 ff lea eax, DWORD PTR [rax+rcx-1] - 0027d 48 63 4d 64 movsxd rcx, DWORD PTR p$[rbp] - 00281 33 d2 xor edx, edx - 00283 f7 b4 8d 08 01 - 00 00 div DWORD PTR xspc$9[rbp+rcx*4] - 0028a 89 85 c4 01 00 - 00 mov DWORD PTR x$13[rbp], eax - -; 5034 : y = (a->s->img_y - yorig[p] + yspc[p] - 1) / yspc[p]; - - 00290 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR a$[rbp] - 00297 48 8b 00 mov rax, QWORD PTR [rax] - 0029a 48 63 4d 64 movsxd rcx, DWORD PTR p$[rbp] - 0029e 8b 8c 8d c8 00 - 00 00 mov ecx, DWORD PTR yorig$8[rbp+rcx*4] - 002a5 8b 40 04 mov eax, DWORD PTR [rax+4] - 002a8 2b c1 sub eax, ecx - 002aa 48 63 4d 64 movsxd rcx, DWORD PTR p$[rbp] - 002ae 8b 8c 8d 48 01 - 00 00 mov ecx, DWORD PTR yspc$10[rbp+rcx*4] - 002b5 8d 44 08 ff lea eax, DWORD PTR [rax+rcx-1] - 002b9 48 63 4d 64 movsxd rcx, DWORD PTR p$[rbp] - 002bd 33 d2 xor edx, edx - 002bf f7 b4 8d 48 01 - 00 00 div DWORD PTR yspc$10[rbp+rcx*4] - 002c6 89 85 e4 01 00 - 00 mov DWORD PTR y$14[rbp], eax - -; 5035 : if (x && y) { - - 002cc 83 bd c4 01 00 - 00 00 cmp DWORD PTR x$13[rbp], 0 - 002d3 0f 84 0a 02 00 - 00 je $LN13@stbi__crea - 002d9 83 bd e4 01 00 - 00 00 cmp DWORD PTR y$14[rbp], 0 - 002e0 0f 84 fd 01 00 - 00 je $LN13@stbi__crea - -; 5036 : stbi__uint32 img_len = ((((a->s->img_n * x * depth) + 7) >> 3) + 1) * y; - - 002e6 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR a$[rbp] - 002ed 48 8b 00 mov rax, QWORD PTR [rax] - 002f0 8b 40 08 mov eax, DWORD PTR [rax+8] - 002f3 0f af 85 c4 01 - 00 00 imul eax, DWORD PTR x$13[rbp] - 002fa 0f af 85 20 04 - 00 00 imul eax, DWORD PTR depth$[rbp] - 00301 83 c0 07 add eax, 7 - 00304 c1 f8 03 sar eax, 3 - 00307 ff c0 inc eax - 00309 0f af 85 e4 01 - 00 00 imul eax, DWORD PTR y$14[rbp] - 00310 89 85 04 02 00 - 00 mov DWORD PTR img_len$15[rbp], eax - -; 5037 : if (!stbi__create_png_image_raw(a, image_data, image_data_len, out_n, x, y, - - 00316 8b 85 28 04 00 - 00 mov eax, DWORD PTR color$[rbp] - 0031c 89 44 24 38 mov DWORD PTR [rsp+56], eax - 00320 8b 85 20 04 00 - 00 mov eax, DWORD PTR depth$[rbp] - 00326 89 44 24 30 mov DWORD PTR [rsp+48], eax - 0032a 8b 85 e4 01 00 - 00 mov eax, DWORD PTR y$14[rbp] - 00330 89 44 24 28 mov DWORD PTR [rsp+40], eax - 00334 8b 85 c4 01 00 - 00 mov eax, DWORD PTR x$13[rbp] - 0033a 89 44 24 20 mov DWORD PTR [rsp+32], eax - 0033e 44 8b 8d 18 04 - 00 00 mov r9d, DWORD PTR out_n$[rbp] - 00345 44 8b 85 10 04 - 00 00 mov r8d, DWORD PTR image_data_len$[rbp] - 0034c 48 8b 95 08 04 - 00 00 mov rdx, QWORD PTR image_data$[rbp] - 00353 48 8b 8d 00 04 - 00 00 mov rcx, QWORD PTR a$[rbp] - 0035a e8 00 00 00 00 call stbi__create_png_image_raw - 0035f 85 c0 test eax, eax - 00361 75 12 jne SHORT $LN14@stbi__crea - -; 5038 : depth, color)) { -; 5039 : STBI_FREE(final); - - 00363 48 8b 4d 48 mov rcx, QWORD PTR final$[rbp] - 00367 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 0036d 90 npad 1 - -; 5040 : return 0; - - 0036e 33 c0 xor eax, eax - 00370 e9 87 01 00 00 jmp $LN1@stbi__crea -$LN14@stbi__crea: - -; 5041 : } -; 5042 : for (j = 0; j < y; ++j) { - - 00375 c7 85 a4 01 00 - 00 00 00 00 00 mov DWORD PTR j$12[rbp], 0 - 0037f eb 0e jmp SHORT $LN7@stbi__crea -$LN5@stbi__crea: - 00381 8b 85 a4 01 00 - 00 mov eax, DWORD PTR j$12[rbp] - 00387 ff c0 inc eax - 00389 89 85 a4 01 00 - 00 mov DWORD PTR j$12[rbp], eax -$LN7@stbi__crea: - 0038f 8b 85 e4 01 00 - 00 mov eax, DWORD PTR y$14[rbp] - 00395 39 85 a4 01 00 - 00 cmp DWORD PTR j$12[rbp], eax - 0039b 0f 8d 00 01 00 - 00 jge $LN6@stbi__crea - -; 5043 : for (i = 0; i < x; ++i) { - - 003a1 c7 85 84 01 00 - 00 00 00 00 00 mov DWORD PTR i$11[rbp], 0 - 003ab eb 0e jmp SHORT $LN10@stbi__crea -$LN8@stbi__crea: - 003ad 8b 85 84 01 00 - 00 mov eax, DWORD PTR i$11[rbp] - 003b3 ff c0 inc eax - 003b5 89 85 84 01 00 - 00 mov DWORD PTR i$11[rbp], eax -$LN10@stbi__crea: - 003bb 8b 85 c4 01 00 - 00 mov eax, DWORD PTR x$13[rbp] - 003c1 39 85 84 01 00 - 00 cmp DWORD PTR i$11[rbp], eax - 003c7 0f 8d cf 00 00 - 00 jge $LN9@stbi__crea - -; 5044 : int out_y = j * yspc[p] + yorig[p]; - - 003cd 48 63 45 64 movsxd rax, DWORD PTR p$[rbp] - 003d1 8b 8d a4 01 00 - 00 mov ecx, DWORD PTR j$12[rbp] - 003d7 0f af 8c 85 48 - 01 00 00 imul ecx, DWORD PTR yspc$10[rbp+rax*4] - 003df 8b c1 mov eax, ecx - 003e1 48 63 4d 64 movsxd rcx, DWORD PTR p$[rbp] - 003e5 03 84 8d c8 00 - 00 00 add eax, DWORD PTR yorig$8[rbp+rcx*4] - 003ec 89 85 24 02 00 - 00 mov DWORD PTR out_y$16[rbp], eax - -; 5045 : int out_x = i * xspc[p] + xorig[p]; - - 003f2 48 63 45 64 movsxd rax, DWORD PTR p$[rbp] - 003f6 8b 8d 84 01 00 - 00 mov ecx, DWORD PTR i$11[rbp] - 003fc 0f af 8c 85 08 - 01 00 00 imul ecx, DWORD PTR xspc$9[rbp+rax*4] - 00404 8b c1 mov eax, ecx - 00406 48 63 4d 64 movsxd rcx, DWORD PTR p$[rbp] - 0040a 03 84 8d 88 00 - 00 00 add eax, DWORD PTR xorig$7[rbp+rcx*4] - 00411 89 85 44 02 00 - 00 mov DWORD PTR out_x$17[rbp], eax - -; 5046 : memcpy(final + out_y * a->s->img_x * out_bytes + - - 00417 48 63 45 24 movsxd rax, DWORD PTR out_bytes$[rbp] - 0041b 8b 8d a4 01 00 - 00 mov ecx, DWORD PTR j$12[rbp] - 00421 0f af 8d c4 01 - 00 00 imul ecx, DWORD PTR x$13[rbp] - 00428 03 8d 84 01 00 - 00 add ecx, DWORD PTR i$11[rbp] - 0042e 0f af 4d 24 imul ecx, DWORD PTR out_bytes$[rbp] - 00432 48 63 c9 movsxd rcx, ecx - 00435 48 8b 95 00 04 - 00 00 mov rdx, QWORD PTR a$[rbp] - 0043c 48 03 4a 18 add rcx, QWORD PTR [rdx+24] - 00440 48 8b 95 00 04 - 00 00 mov rdx, QWORD PTR a$[rbp] - 00447 48 8b 12 mov rdx, QWORD PTR [rdx] - 0044a 44 8b 85 24 02 - 00 00 mov r8d, DWORD PTR out_y$16[rbp] - 00451 44 0f af 02 imul r8d, DWORD PTR [rdx] - 00455 41 8b d0 mov edx, r8d - 00458 0f af 55 24 imul edx, DWORD PTR out_bytes$[rbp] - 0045c 8b d2 mov edx, edx - 0045e 4c 8b 45 48 mov r8, QWORD PTR final$[rbp] - 00462 4c 03 c2 add r8, rdx - 00465 49 8b d0 mov rdx, r8 - 00468 44 8b 85 44 02 - 00 00 mov r8d, DWORD PTR out_x$17[rbp] - 0046f 44 0f af 45 24 imul r8d, DWORD PTR out_bytes$[rbp] - 00474 4d 63 c0 movsxd r8, r8d - 00477 49 03 d0 add rdx, r8 - 0047a 48 89 95 d8 03 - 00 00 mov QWORD PTR tv280[rbp], rdx - 00481 4c 8b c0 mov r8, rax - 00484 48 8b d1 mov rdx, rcx - 00487 48 8b 85 d8 03 - 00 00 mov rax, QWORD PTR tv280[rbp] - 0048e 48 8b c8 mov rcx, rax - 00491 e8 00 00 00 00 call memcpy - 00496 90 npad 1 - -; 5047 : out_x * out_bytes, -; 5048 : a->out + (j * x + i) * out_bytes, out_bytes); -; 5049 : } - - 00497 e9 11 ff ff ff jmp $LN8@stbi__crea -$LN9@stbi__crea: - -; 5050 : } - - 0049c e9 e0 fe ff ff jmp $LN5@stbi__crea -$LN6@stbi__crea: - -; 5051 : STBI_FREE(a->out); - - 004a1 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR a$[rbp] - 004a8 48 8b 48 18 mov rcx, QWORD PTR [rax+24] - 004ac ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 004b2 90 npad 1 - -; 5052 : image_data += img_len; - - 004b3 8b 85 04 02 00 - 00 mov eax, DWORD PTR img_len$15[rbp] - 004b9 48 8b 8d 08 04 - 00 00 mov rcx, QWORD PTR image_data$[rbp] - 004c0 48 03 c8 add rcx, rax - 004c3 48 8b c1 mov rax, rcx - 004c6 48 89 85 08 04 - 00 00 mov QWORD PTR image_data$[rbp], rax - -; 5053 : image_data_len -= img_len; - - 004cd 8b 85 04 02 00 - 00 mov eax, DWORD PTR img_len$15[rbp] - 004d3 8b 8d 10 04 00 - 00 mov ecx, DWORD PTR image_data_len$[rbp] - 004d9 2b c8 sub ecx, eax - 004db 8b c1 mov eax, ecx - 004dd 89 85 10 04 00 - 00 mov DWORD PTR image_data_len$[rbp], eax -$LN13@stbi__crea: - -; 5054 : } -; 5055 : } - - 004e3 e9 43 fc ff ff jmp $LN2@stbi__crea -$LN3@stbi__crea: - -; 5056 : a->out = final; - - 004e8 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR a$[rbp] - 004ef 48 8b 4d 48 mov rcx, QWORD PTR final$[rbp] - 004f3 48 89 48 18 mov QWORD PTR [rax+24], rcx - -; 5057 : -; 5058 : return 1; - - 004f7 b8 01 00 00 00 mov eax, 1 -$LN1@stbi__crea: - -; 5059 : } - - 004fc 48 8b f8 mov rdi, rax - 004ff 48 8d 4d c0 lea rcx, QWORD PTR [rbp-64] - 00503 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__create_png_image$rtcFrameData - 0050a e8 00 00 00 00 call _RTC_CheckStackVars - 0050f 48 8b c7 mov rax, rdi - 00512 48 8d a5 e8 03 - 00 00 lea rsp, QWORD PTR [rbp+1000] - 00519 5f pop rdi - 0051a 5d pop rbp - 0051b c3 ret 0 -stbi__create_png_image ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__create_png_image_raw -_TEXT SEGMENT -bytes$ = 4 -s$ = 40 -i$ = 68 -j$ = 100 -stride$ = 132 -img_len$ = 164 -img_width_bytes$ = 196 -k$ = 228 -img_n$ = 260 -output_bytes$ = 292 -filter_bytes$ = 324 -width$ = 356 -cur$1 = 392 -prior$2 = 424 -filter$3 = 452 -nk$4 = 484 -cur$5 = 520 -in$6 = 552 -scale$7 = 580 -q$8 = 612 -cur$9 = 648 -cur16$10 = 680 -tv391 = 1076 -tv65 = 1076 -tv168 = 1076 -tv216 = 1076 -tv274 = 1076 -tv343 = 1076 -tv413 = 1076 -tv546 = 1076 -tv618 = 1076 -tv666 = 1076 -tv360 = 1080 -tv563 = 1080 -a$ = 1120 -raw$ = 1128 -raw_len$ = 1136 -out_n$ = 1144 -x$ = 1152 -y$ = 1160 -depth$ = 1168 -color$ = 1176 -stbi__create_png_image_raw PROC ; COMDAT - -; 4698 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 68 04 - 00 00 sub rsp, 1128 ; 00000468H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 4699 : int bytes = (depth == 16 ? 2 : 1); - - 0002f 83 bd 90 04 00 - 00 10 cmp DWORD PTR depth$[rbp], 16 - 00036 75 0c jne SHORT $LN159@stbi__crea - 00038 c7 85 34 04 00 - 00 02 00 00 00 mov DWORD PTR tv65[rbp], 2 - 00042 eb 0a jmp SHORT $LN160@stbi__crea -$LN159@stbi__crea: - 00044 c7 85 34 04 00 - 00 01 00 00 00 mov DWORD PTR tv65[rbp], 1 -$LN160@stbi__crea: - 0004e 8b 85 34 04 00 - 00 mov eax, DWORD PTR tv65[rbp] - 00054 89 45 04 mov DWORD PTR bytes$[rbp], eax - -; 4700 : stbi__context *s = a->s; - - 00057 48 8b 85 60 04 - 00 00 mov rax, QWORD PTR a$[rbp] - 0005e 48 8b 00 mov rax, QWORD PTR [rax] - 00061 48 89 45 28 mov QWORD PTR s$[rbp], rax - -; 4701 : stbi__uint32 i, j, stride = x * out_n * bytes; - - 00065 8b 85 80 04 00 - 00 mov eax, DWORD PTR x$[rbp] - 0006b 0f af 85 78 04 - 00 00 imul eax, DWORD PTR out_n$[rbp] - 00072 0f af 45 04 imul eax, DWORD PTR bytes$[rbp] - 00076 89 85 84 00 00 - 00 mov DWORD PTR stride$[rbp], eax - -; 4702 : stbi__uint32 img_len, img_width_bytes; -; 4703 : int k; -; 4704 : int img_n = s->img_n; // copy it into a local for later - - 0007c 48 8b 45 28 mov rax, QWORD PTR s$[rbp] - 00080 8b 40 08 mov eax, DWORD PTR [rax+8] - 00083 89 85 04 01 00 - 00 mov DWORD PTR img_n$[rbp], eax - -; 4705 : -; 4706 : int output_bytes = out_n * bytes; - - 00089 8b 85 78 04 00 - 00 mov eax, DWORD PTR out_n$[rbp] - 0008f 0f af 45 04 imul eax, DWORD PTR bytes$[rbp] - 00093 89 85 24 01 00 - 00 mov DWORD PTR output_bytes$[rbp], eax - -; 4707 : int filter_bytes = img_n * bytes; - - 00099 8b 85 04 01 00 - 00 mov eax, DWORD PTR img_n$[rbp] - 0009f 0f af 45 04 imul eax, DWORD PTR bytes$[rbp] - 000a3 89 85 44 01 00 - 00 mov DWORD PTR filter_bytes$[rbp], eax - -; 4708 : int width = x; - - 000a9 8b 85 80 04 00 - 00 mov eax, DWORD PTR x$[rbp] - 000af 89 85 64 01 00 - 00 mov DWORD PTR width$[rbp], eax - -; 4709 : -; 4710 : STBI_ASSERT(out_n == s->img_n || out_n == s->img_n + 1); - - 000b5 48 8b 45 28 mov rax, QWORD PTR s$[rbp] - 000b9 8b 40 08 mov eax, DWORD PTR [rax+8] - 000bc 39 85 78 04 00 - 00 cmp DWORD PTR out_n$[rbp], eax - 000c2 74 2d je SHORT $LN161@stbi__crea - 000c4 48 8b 45 28 mov rax, QWORD PTR s$[rbp] - 000c8 8b 40 08 mov eax, DWORD PTR [rax+8] - 000cb ff c0 inc eax - 000cd 39 85 78 04 00 - 00 cmp DWORD PTR out_n$[rbp], eax - 000d3 74 1c je SHORT $LN161@stbi__crea - 000d5 41 b8 66 12 00 - 00 mov r8d, 4710 ; 00001266H - 000db 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_1GG@PCNMFHPN@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ - 000e2 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_1FG@LGPEHEPM@?$AAo?$AAu?$AAt?$AA_?$AAn?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAs?$AA?9?$AA?$DO?$AAi?$AAm?$AAg@ - 000e9 ff 15 00 00 00 - 00 call QWORD PTR __imp__wassert - 000ef 33 c0 xor eax, eax -$LN161@stbi__crea: - -; 4711 : a->out = (stbi_uc *)stbi__malloc_mad3(x, y, output_bytes, - - 000f1 45 33 c9 xor r9d, r9d - 000f4 44 8b 85 24 01 - 00 00 mov r8d, DWORD PTR output_bytes$[rbp] - 000fb 8b 95 88 04 00 - 00 mov edx, DWORD PTR y$[rbp] - 00101 8b 8d 80 04 00 - 00 mov ecx, DWORD PTR x$[rbp] - 00107 e8 00 00 00 00 call stbi__malloc_mad3 - 0010c 48 8b 8d 60 04 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00113 48 89 41 18 mov QWORD PTR [rcx+24], rax - -; 4712 : 0); // extra bytes to write off the end into -; 4713 : if (!a->out) - - 00117 48 8b 85 60 04 - 00 00 mov rax, QWORD PTR a$[rbp] - 0011e 48 83 78 18 00 cmp QWORD PTR [rax+24], 0 - 00123 75 11 jne SHORT $LN98@stbi__crea - -; 4714 : return stbi__err("outofmem", "Out of memory"); - - 00125 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 0012c e8 00 00 00 00 call stbi__err - 00131 e9 55 1a 00 00 jmp $LN1@stbi__crea -$LN98@stbi__crea: - -; 4715 : -; 4716 : if (!stbi__mad3sizes_valid(img_n, x, depth, 7)) - - 00136 41 b9 07 00 00 - 00 mov r9d, 7 - 0013c 44 8b 85 90 04 - 00 00 mov r8d, DWORD PTR depth$[rbp] - 00143 8b 95 80 04 00 - 00 mov edx, DWORD PTR x$[rbp] - 00149 8b 8d 04 01 00 - 00 mov ecx, DWORD PTR img_n$[rbp] - 0014f e8 00 00 00 00 call stbi__mad3sizes_valid - 00154 85 c0 test eax, eax - 00156 75 11 jne SHORT $LN99@stbi__crea - -; 4717 : return stbi__err("too large", "Corrupt PNG"); - - 00158 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 0015f e8 00 00 00 00 call stbi__err - 00164 e9 22 1a 00 00 jmp $LN1@stbi__crea -$LN99@stbi__crea: - -; 4718 : img_width_bytes = (((img_n * x * depth) + 7) >> 3); - - 00169 8b 85 04 01 00 - 00 mov eax, DWORD PTR img_n$[rbp] - 0016f 0f af 85 80 04 - 00 00 imul eax, DWORD PTR x$[rbp] - 00176 0f af 85 90 04 - 00 00 imul eax, DWORD PTR depth$[rbp] - 0017d 83 c0 07 add eax, 7 - 00180 c1 e8 03 shr eax, 3 - 00183 89 85 c4 00 00 - 00 mov DWORD PTR img_width_bytes$[rbp], eax - -; 4719 : img_len = (img_width_bytes + 1) * y; - - 00189 8b 85 c4 00 00 - 00 mov eax, DWORD PTR img_width_bytes$[rbp] - 0018f ff c0 inc eax - 00191 0f af 85 88 04 - 00 00 imul eax, DWORD PTR y$[rbp] - 00198 89 85 a4 00 00 - 00 mov DWORD PTR img_len$[rbp], eax - -; 4720 : -; 4721 : // we used to check for exact match between raw_len and img_len on non-interlaced PNGs, -; 4722 : // but issue #276 reported a PNG in the wild that had extra data at the end (all zeros), -; 4723 : // so just check for raw_len < img_len always. -; 4724 : if (raw_len < img_len) - - 0019e 8b 85 a4 00 00 - 00 mov eax, DWORD PTR img_len$[rbp] - 001a4 39 85 70 04 00 - 00 cmp DWORD PTR raw_len$[rbp], eax - 001aa 73 11 jae SHORT $LN100@stbi__crea - -; 4725 : return stbi__err("not enough pixels", "Corrupt PNG"); - - 001ac 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BC@BHMPBBMG@not?5enough?5pixels@ - 001b3 e8 00 00 00 00 call stbi__err - 001b8 e9 ce 19 00 00 jmp $LN1@stbi__crea -$LN100@stbi__crea: - -; 4726 : -; 4727 : for (j = 0; j < y; ++j) { - - 001bd c7 45 64 00 00 - 00 00 mov DWORD PTR j$[rbp], 0 - 001c4 eb 08 jmp SHORT $LN4@stbi__crea -$LN2@stbi__crea: - 001c6 8b 45 64 mov eax, DWORD PTR j$[rbp] - 001c9 ff c0 inc eax - 001cb 89 45 64 mov DWORD PTR j$[rbp], eax -$LN4@stbi__crea: - 001ce 8b 85 88 04 00 - 00 mov eax, DWORD PTR y$[rbp] - 001d4 39 45 64 cmp DWORD PTR j$[rbp], eax - 001d7 0f 83 28 10 00 - 00 jae $LN3@stbi__crea - -; 4728 : stbi_uc *cur = a->out + stride * j; - - 001dd 8b 85 84 00 00 - 00 mov eax, DWORD PTR stride$[rbp] - 001e3 0f af 45 64 imul eax, DWORD PTR j$[rbp] - 001e7 8b c0 mov eax, eax - 001e9 48 8b 8d 60 04 - 00 00 mov rcx, QWORD PTR a$[rbp] - 001f0 48 03 41 18 add rax, QWORD PTR [rcx+24] - 001f4 48 89 85 88 01 - 00 00 mov QWORD PTR cur$1[rbp], rax - -; 4729 : stbi_uc *prior; -; 4730 : int filter = *raw++; - - 001fb 48 8b 85 68 04 - 00 00 mov rax, QWORD PTR raw$[rbp] - 00202 0f b6 00 movzx eax, BYTE PTR [rax] - 00205 89 85 c4 01 00 - 00 mov DWORD PTR filter$3[rbp], eax - 0020b 48 8b 85 68 04 - 00 00 mov rax, QWORD PTR raw$[rbp] - 00212 48 ff c0 inc rax - 00215 48 89 85 68 04 - 00 00 mov QWORD PTR raw$[rbp], rax - -; 4731 : -; 4732 : if (filter > 4) - - 0021c 83 bd c4 01 00 - 00 04 cmp DWORD PTR filter$3[rbp], 4 - 00223 7e 11 jle SHORT $LN101@stbi__crea - -; 4733 : return stbi__err("invalid filter", "Corrupt PNG"); - - 00225 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0P@FBBCPGMN@invalid?5filter@ - 0022c e8 00 00 00 00 call stbi__err - 00231 e9 55 19 00 00 jmp $LN1@stbi__crea -$LN101@stbi__crea: - -; 4734 : -; 4735 : if (depth < 8) { - - 00236 83 bd 90 04 00 - 00 08 cmp DWORD PTR depth$[rbp], 8 - 0023d 7d 5e jge SHORT $LN102@stbi__crea - -; 4736 : if (img_width_bytes > x) - - 0023f 8b 85 80 04 00 - 00 mov eax, DWORD PTR x$[rbp] - 00245 39 85 c4 00 00 - 00 cmp DWORD PTR img_width_bytes$[rbp], eax - 0024b 76 11 jbe SHORT $LN103@stbi__crea - -; 4737 : return stbi__err("invalid width", "Corrupt PNG"); - - 0024d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0O@MKGNGALN@invalid?5width@ - 00254 e8 00 00 00 00 call stbi__err - 00259 e9 2d 19 00 00 jmp $LN1@stbi__crea -$LN103@stbi__crea: - -; 4738 : cur += x * out_n - - - 0025e 8b 85 80 04 00 - 00 mov eax, DWORD PTR x$[rbp] - 00264 0f af 85 78 04 - 00 00 imul eax, DWORD PTR out_n$[rbp] - 0026b 2b 85 c4 00 00 - 00 sub eax, DWORD PTR img_width_bytes$[rbp] - 00271 8b c0 mov eax, eax - 00273 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 0027a 48 03 c8 add rcx, rax - 0027d 48 8b c1 mov rax, rcx - 00280 48 89 85 88 01 - 00 00 mov QWORD PTR cur$1[rbp], rax - -; 4739 : img_width_bytes; // store output to the rightmost img_len bytes, so we can decode in place -; 4740 : filter_bytes = 1; - - 00287 c7 85 44 01 00 - 00 01 00 00 00 mov DWORD PTR filter_bytes$[rbp], 1 - -; 4741 : width = img_width_bytes; - - 00291 8b 85 c4 00 00 - 00 mov eax, DWORD PTR img_width_bytes$[rbp] - 00297 89 85 64 01 00 - 00 mov DWORD PTR width$[rbp], eax -$LN102@stbi__crea: - -; 4742 : } -; 4743 : prior = cur - - - 0029d 8b 85 84 00 00 - 00 mov eax, DWORD PTR stride$[rbp] - 002a3 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 002aa 48 2b c8 sub rcx, rax - 002ad 48 8b c1 mov rax, rcx - 002b0 48 89 85 a8 01 - 00 00 mov QWORD PTR prior$2[rbp], rax - -; 4744 : stride; // bugfix: need to compute this after 'cur +=' computation above -; 4745 : -; 4746 : // if first row, use special filter that doesn't sample previous row -; 4747 : if (j == 0) - - 002b7 83 7d 64 00 cmp DWORD PTR j$[rbp], 0 - 002bb 75 18 jne SHORT $LN104@stbi__crea - -; 4748 : filter = first_row_filter[filter]; - - 002bd 48 63 85 c4 01 - 00 00 movsxd rax, DWORD PTR filter$3[rbp] - 002c4 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:first_row_filter - 002cb 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 002cf 89 85 c4 01 00 - 00 mov DWORD PTR filter$3[rbp], eax -$LN104@stbi__crea: - -; 4749 : -; 4750 : // handle first byte explicitly -; 4751 : for (k = 0; k < filter_bytes; ++k) { - - 002d5 c7 85 e4 00 00 - 00 00 00 00 00 mov DWORD PTR k$[rbp], 0 - 002df eb 0e jmp SHORT $LN7@stbi__crea -$LN5@stbi__crea: - 002e1 8b 85 e4 00 00 - 00 mov eax, DWORD PTR k$[rbp] - 002e7 ff c0 inc eax - 002e9 89 85 e4 00 00 - 00 mov DWORD PTR k$[rbp], eax -$LN7@stbi__crea: - 002ef 8b 85 44 01 00 - 00 mov eax, DWORD PTR filter_bytes$[rbp] - 002f5 39 85 e4 00 00 - 00 cmp DWORD PTR k$[rbp], eax - 002fb 0f 8d b0 01 00 - 00 jge $LN6@stbi__crea - -; 4752 : switch (filter) { - - 00301 8b 85 c4 01 00 - 00 mov eax, DWORD PTR filter$3[rbp] - 00307 89 85 34 04 00 - 00 mov DWORD PTR tv168[rbp], eax - 0030d 83 bd 34 04 00 - 00 06 cmp DWORD PTR tv168[rbp], 6 - 00314 0f 87 92 01 00 - 00 ja $LN8@stbi__crea - 0031a 48 63 85 34 04 - 00 00 movsxd rax, DWORD PTR tv168[rbp] - 00321 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__ImageBase - 00328 8b 84 81 00 00 - 00 00 mov eax, DWORD PTR $LN168@stbi__crea[rcx+rax*4] - 0032f 48 03 c1 add rax, rcx - 00332 ff e0 jmp rax -$LN105@stbi__crea: - -; 4753 : case STBI__F_none: -; 4754 : cur[k] = raw[k]; - - 00334 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR k$[rbp] - 0033b 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 00342 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 00349 4c 8b 85 68 04 - 00 00 mov r8, QWORD PTR raw$[rbp] - 00350 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 00355 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4755 : break; - - 00358 e9 4f 01 00 00 jmp $LN8@stbi__crea -$LN106@stbi__crea: - -; 4756 : case STBI__F_sub: -; 4757 : cur[k] = raw[k]; - - 0035d 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR k$[rbp] - 00364 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 0036b 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 00372 4c 8b 85 68 04 - 00 00 mov r8, QWORD PTR raw$[rbp] - 00379 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 0037e 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4758 : break; - - 00381 e9 26 01 00 00 jmp $LN8@stbi__crea -$LN107@stbi__crea: - -; 4759 : case STBI__F_up: -; 4760 : cur[k] = STBI__BYTECAST(raw[k] + prior[k]); - - 00386 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR k$[rbp] - 0038d 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 00394 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00398 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 0039f 48 8b 95 a8 01 - 00 00 mov rdx, QWORD PTR prior$2[rbp] - 003a6 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 003aa 03 c1 add eax, ecx - 003ac 25 ff 00 00 00 and eax, 255 ; 000000ffH - 003b1 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 003b8 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 003bf 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4761 : break; - - 003c2 e9 e5 00 00 00 jmp $LN8@stbi__crea -$LN108@stbi__crea: - -; 4762 : case STBI__F_avg: -; 4763 : cur[k] = STBI__BYTECAST(raw[k] + (prior[k] >> 1)); - - 003c7 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR k$[rbp] - 003ce 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 003d5 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 003d9 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 003e0 48 8b 95 a8 01 - 00 00 mov rdx, QWORD PTR prior$2[rbp] - 003e7 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 003eb d1 f9 sar ecx, 1 - 003ed 03 c1 add eax, ecx - 003ef 25 ff 00 00 00 and eax, 255 ; 000000ffH - 003f4 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 003fb 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 00402 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4764 : break; - - 00405 e9 a2 00 00 00 jmp $LN8@stbi__crea -$LN109@stbi__crea: - -; 4765 : case STBI__F_paeth: -; 4766 : cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(0, prior[k], 0)); - - 0040a 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR k$[rbp] - 00411 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 00418 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0041c 89 85 34 04 00 - 00 mov DWORD PTR tv216[rbp], eax - 00422 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 00429 48 8b 95 a8 01 - 00 00 mov rdx, QWORD PTR prior$2[rbp] - 00430 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 00434 45 33 c0 xor r8d, r8d - 00437 8b d1 mov edx, ecx - 00439 33 c9 xor ecx, ecx - 0043b e8 00 00 00 00 call stbi__paeth - 00440 8b 8d 34 04 00 - 00 mov ecx, DWORD PTR tv216[rbp] - 00446 03 c8 add ecx, eax - 00448 8b c1 mov eax, ecx - 0044a 25 ff 00 00 00 and eax, 255 ; 000000ffH - 0044f 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 00456 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 0045d 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4767 : break; - - 00460 eb 4a jmp SHORT $LN8@stbi__crea -$LN110@stbi__crea: - -; 4768 : case STBI__F_avg_first: -; 4769 : cur[k] = raw[k]; - - 00462 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR k$[rbp] - 00469 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 00470 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 00477 4c 8b 85 68 04 - 00 00 mov r8, QWORD PTR raw$[rbp] - 0047e 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 00483 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4770 : break; - - 00486 eb 24 jmp SHORT $LN8@stbi__crea -$LN111@stbi__crea: - -; 4771 : case STBI__F_paeth_first: -; 4772 : cur[k] = raw[k]; - - 00488 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR k$[rbp] - 0048f 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 00496 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 0049d 4c 8b 85 68 04 - 00 00 mov r8, QWORD PTR raw$[rbp] - 004a4 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 004a9 88 04 0a mov BYTE PTR [rdx+rcx], al -$LN8@stbi__crea: - -; 4773 : break; -; 4774 : } -; 4775 : } - - 004ac e9 30 fe ff ff jmp $LN5@stbi__crea -$LN6@stbi__crea: - -; 4776 : -; 4777 : if (depth == 8) { - - 004b1 83 bd 90 04 00 - 00 08 cmp DWORD PTR depth$[rbp], 8 - 004b8 75 76 jne SHORT $LN112@stbi__crea - -; 4778 : if (img_n != out_n) - - 004ba 8b 85 78 04 00 - 00 mov eax, DWORD PTR out_n$[rbp] - 004c0 39 85 04 01 00 - 00 cmp DWORD PTR img_n$[rbp], eax - 004c6 74 12 je SHORT $LN114@stbi__crea - -; 4779 : cur[img_n] = 255; // first pixel - - 004c8 48 63 85 04 01 - 00 00 movsxd rax, DWORD PTR img_n$[rbp] - 004cf 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 004d6 c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH -$LN114@stbi__crea: - -; 4780 : raw += img_n; - - 004da 48 63 85 04 01 - 00 00 movsxd rax, DWORD PTR img_n$[rbp] - 004e1 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 004e8 48 03 c8 add rcx, rax - 004eb 48 8b c1 mov rax, rcx - 004ee 48 89 85 68 04 - 00 00 mov QWORD PTR raw$[rbp], rax - -; 4781 : cur += out_n; - - 004f5 48 63 85 78 04 - 00 00 movsxd rax, DWORD PTR out_n$[rbp] - 004fc 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 00503 48 03 c8 add rcx, rax - 00506 48 8b c1 mov rax, rcx - 00509 48 89 85 88 01 - 00 00 mov QWORD PTR cur$1[rbp], rax - -; 4782 : prior += out_n; - - 00510 48 63 85 78 04 - 00 00 movsxd rax, DWORD PTR out_n$[rbp] - 00517 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR prior$2[rbp] - 0051e 48 03 c8 add rcx, rax - 00521 48 8b c1 mov rax, rcx - 00524 48 89 85 a8 01 - 00 00 mov QWORD PTR prior$2[rbp], rax - 0052b e9 c8 00 00 00 jmp $LN113@stbi__crea -$LN112@stbi__crea: - -; 4783 : } else if (depth == 16) { - - 00530 83 bd 90 04 00 - 00 10 cmp DWORD PTR depth$[rbp], 16 - 00537 0f 85 88 00 00 - 00 jne $LN115@stbi__crea - -; 4784 : if (img_n != out_n) { - - 0053d 8b 85 78 04 00 - 00 mov eax, DWORD PTR out_n$[rbp] - 00543 39 85 04 01 00 - 00 cmp DWORD PTR img_n$[rbp], eax - 00549 74 27 je SHORT $LN117@stbi__crea - -; 4785 : cur[filter_bytes] = 255; // first pixel top byte - - 0054b 48 63 85 44 01 - 00 00 movsxd rax, DWORD PTR filter_bytes$[rbp] - 00552 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 00559 c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - -; 4786 : cur[filter_bytes + 1] = 255; // first pixel bottom byte - - 0055d 8b 85 44 01 00 - 00 mov eax, DWORD PTR filter_bytes$[rbp] - 00563 ff c0 inc eax - 00565 48 98 cdqe - 00567 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 0056e c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH -$LN117@stbi__crea: - -; 4787 : } -; 4788 : raw += filter_bytes; - - 00572 48 63 85 44 01 - 00 00 movsxd rax, DWORD PTR filter_bytes$[rbp] - 00579 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 00580 48 03 c8 add rcx, rax - 00583 48 8b c1 mov rax, rcx - 00586 48 89 85 68 04 - 00 00 mov QWORD PTR raw$[rbp], rax - -; 4789 : cur += output_bytes; - - 0058d 48 63 85 24 01 - 00 00 movsxd rax, DWORD PTR output_bytes$[rbp] - 00594 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 0059b 48 03 c8 add rcx, rax - 0059e 48 8b c1 mov rax, rcx - 005a1 48 89 85 88 01 - 00 00 mov QWORD PTR cur$1[rbp], rax - -; 4790 : prior += output_bytes; - - 005a8 48 63 85 24 01 - 00 00 movsxd rax, DWORD PTR output_bytes$[rbp] - 005af 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR prior$2[rbp] - 005b6 48 03 c8 add rcx, rax - 005b9 48 8b c1 mov rax, rcx - 005bc 48 89 85 a8 01 - 00 00 mov QWORD PTR prior$2[rbp], rax - -; 4791 : } else { - - 005c3 eb 33 jmp SHORT $LN116@stbi__crea -$LN115@stbi__crea: - -; 4792 : raw += 1; - - 005c5 48 8b 85 68 04 - 00 00 mov rax, QWORD PTR raw$[rbp] - 005cc 48 ff c0 inc rax - 005cf 48 89 85 68 04 - 00 00 mov QWORD PTR raw$[rbp], rax - -; 4793 : cur += 1; - - 005d6 48 8b 85 88 01 - 00 00 mov rax, QWORD PTR cur$1[rbp] - 005dd 48 ff c0 inc rax - 005e0 48 89 85 88 01 - 00 00 mov QWORD PTR cur$1[rbp], rax - -; 4794 : prior += 1; - - 005e7 48 8b 85 a8 01 - 00 00 mov rax, QWORD PTR prior$2[rbp] - 005ee 48 ff c0 inc rax - 005f1 48 89 85 a8 01 - 00 00 mov QWORD PTR prior$2[rbp], rax -$LN116@stbi__crea: -$LN113@stbi__crea: - -; 4795 : } -; 4796 : -; 4797 : // this is a little gross, so that we don't switch per-pixel or per-component -; 4798 : if (depth < 8 || img_n == out_n) { - - 005f8 83 bd 90 04 00 - 00 08 cmp DWORD PTR depth$[rbp], 8 - 005ff 7c 12 jl SHORT $LN120@stbi__crea - 00601 8b 85 78 04 00 - 00 mov eax, DWORD PTR out_n$[rbp] - 00607 39 85 04 01 00 - 00 cmp DWORD PTR img_n$[rbp], eax - 0060d 0f 85 d8 03 00 - 00 jne $LN118@stbi__crea -$LN120@stbi__crea: - -; 4799 : int nk = (width - 1) * filter_bytes; - - 00613 8b 85 64 01 00 - 00 mov eax, DWORD PTR width$[rbp] - 00619 ff c8 dec eax - 0061b 0f af 85 44 01 - 00 00 imul eax, DWORD PTR filter_bytes$[rbp] - 00622 89 85 e4 01 00 - 00 mov DWORD PTR nk$4[rbp], eax - -; 4800 : #define STBI__CASE(f) \ -; 4801 : case f: \ -; 4802 : for (k = 0; k < nk; ++k) -; 4803 : switch (filter) { - - 00628 8b 85 c4 01 00 - 00 mov eax, DWORD PTR filter$3[rbp] - 0062e 89 85 34 04 00 - 00 mov DWORD PTR tv274[rbp], eax - 00634 83 bd 34 04 00 - 00 06 cmp DWORD PTR tv274[rbp], 6 - 0063b 0f 87 8a 03 00 - 00 ja $LN10@stbi__crea - 00641 48 63 85 34 04 - 00 00 movsxd rax, DWORD PTR tv274[rbp] - 00648 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__ImageBase - 0064f 8b 84 81 00 00 - 00 00 mov eax, DWORD PTR $LN167@stbi__crea[rcx+rax*4] - 00656 48 03 c1 add rax, rcx - 00659 ff e0 jmp rax -$LN121@stbi__crea: - -; 4804 : // "none" filter turns into a memcpy here; make that explicit. -; 4805 : case STBI__F_none: -; 4806 : memcpy(cur, raw, nk); - - 0065b 48 63 85 e4 01 - 00 00 movsxd rax, DWORD PTR nk$4[rbp] - 00662 4c 8b c0 mov r8, rax - 00665 48 8b 95 68 04 - 00 00 mov rdx, QWORD PTR raw$[rbp] - 0066c 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 00673 e8 00 00 00 00 call memcpy - 00678 90 npad 1 - -; 4807 : break; - - 00679 e9 4d 03 00 00 jmp $LN10@stbi__crea -$LN122@stbi__crea: - -; 4808 : STBI__CASE(STBI__F_sub) - - 0067e c7 85 e4 00 00 - 00 00 00 00 00 mov DWORD PTR k$[rbp], 0 - 00688 eb 0e jmp SHORT $LN14@stbi__crea -$LN12@stbi__crea: - 0068a 8b 85 e4 00 00 - 00 mov eax, DWORD PTR k$[rbp] - 00690 ff c0 inc eax - 00692 89 85 e4 00 00 - 00 mov DWORD PTR k$[rbp], eax -$LN14@stbi__crea: - 00698 8b 85 e4 01 00 - 00 mov eax, DWORD PTR nk$4[rbp] - 0069e 39 85 e4 00 00 - 00 cmp DWORD PTR k$[rbp], eax - 006a4 7d 4a jge SHORT $LN13@stbi__crea - -; 4809 : { -; 4810 : cur[k] = STBI__BYTECAST(raw[k] + cur[k - filter_bytes]); - - 006a6 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR k$[rbp] - 006ad 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 006b4 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 006b8 8b 8d 44 01 00 - 00 mov ecx, DWORD PTR filter_bytes$[rbp] - 006be 8b 95 e4 00 00 - 00 mov edx, DWORD PTR k$[rbp] - 006c4 2b d1 sub edx, ecx - 006c6 8b ca mov ecx, edx - 006c8 48 63 c9 movsxd rcx, ecx - 006cb 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 006d2 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 006d6 03 c1 add eax, ecx - 006d8 25 ff 00 00 00 and eax, 255 ; 000000ffH - 006dd 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 006e4 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 006eb 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4811 : } - - 006ee eb 9a jmp SHORT $LN12@stbi__crea -$LN13@stbi__crea: - -; 4812 : break; - - 006f0 e9 d6 02 00 00 jmp $LN10@stbi__crea -$LN123@stbi__crea: - -; 4813 : STBI__CASE(STBI__F_up) - - 006f5 c7 85 e4 00 00 - 00 00 00 00 00 mov DWORD PTR k$[rbp], 0 - 006ff eb 0e jmp SHORT $LN17@stbi__crea -$LN15@stbi__crea: - 00701 8b 85 e4 00 00 - 00 mov eax, DWORD PTR k$[rbp] - 00707 ff c0 inc eax - 00709 89 85 e4 00 00 - 00 mov DWORD PTR k$[rbp], eax -$LN17@stbi__crea: - 0070f 8b 85 e4 01 00 - 00 mov eax, DWORD PTR nk$4[rbp] - 00715 39 85 e4 00 00 - 00 cmp DWORD PTR k$[rbp], eax - 0071b 7d 3e jge SHORT $LN16@stbi__crea - -; 4814 : { -; 4815 : cur[k] = STBI__BYTECAST(raw[k] + prior[k]); - - 0071d 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR k$[rbp] - 00724 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 0072b 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0072f 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 00736 48 8b 95 a8 01 - 00 00 mov rdx, QWORD PTR prior$2[rbp] - 0073d 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 00741 03 c1 add eax, ecx - 00743 25 ff 00 00 00 and eax, 255 ; 000000ffH - 00748 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 0074f 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 00756 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4816 : } - - 00759 eb a6 jmp SHORT $LN15@stbi__crea -$LN16@stbi__crea: - -; 4817 : break; - - 0075b e9 6b 02 00 00 jmp $LN10@stbi__crea -$LN124@stbi__crea: - -; 4818 : STBI__CASE(STBI__F_avg) - - 00760 c7 85 e4 00 00 - 00 00 00 00 00 mov DWORD PTR k$[rbp], 0 - 0076a eb 0e jmp SHORT $LN20@stbi__crea -$LN18@stbi__crea: - 0076c 8b 85 e4 00 00 - 00 mov eax, DWORD PTR k$[rbp] - 00772 ff c0 inc eax - 00774 89 85 e4 00 00 - 00 mov DWORD PTR k$[rbp], eax -$LN20@stbi__crea: - 0077a 8b 85 e4 01 00 - 00 mov eax, DWORD PTR nk$4[rbp] - 00780 39 85 e4 00 00 - 00 cmp DWORD PTR k$[rbp], eax - 00786 7d 64 jge SHORT $LN19@stbi__crea - -; 4819 : { -; 4820 : cur[k] = STBI__BYTECAST( - - 00788 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR k$[rbp] - 0078f 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 00796 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0079a 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 007a1 48 8b 95 a8 01 - 00 00 mov rdx, QWORD PTR prior$2[rbp] - 007a8 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 007ac 8b 95 44 01 00 - 00 mov edx, DWORD PTR filter_bytes$[rbp] - 007b2 44 8b 85 e4 00 - 00 00 mov r8d, DWORD PTR k$[rbp] - 007b9 44 2b c2 sub r8d, edx - 007bc 41 8b d0 mov edx, r8d - 007bf 48 63 d2 movsxd rdx, edx - 007c2 4c 8b 85 88 01 - 00 00 mov r8, QWORD PTR cur$1[rbp] - 007c9 41 0f b6 14 10 movzx edx, BYTE PTR [r8+rdx] - 007ce 03 ca add ecx, edx - 007d0 d1 f9 sar ecx, 1 - 007d2 03 c1 add eax, ecx - 007d4 25 ff 00 00 00 and eax, 255 ; 000000ffH - 007d9 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 007e0 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 007e7 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4821 : raw[k] + ((prior[k] + cur[k - filter_bytes]) >> 1)); -; 4822 : } - - 007ea eb 80 jmp SHORT $LN18@stbi__crea -$LN19@stbi__crea: - -; 4823 : break; - - 007ec e9 da 01 00 00 jmp $LN10@stbi__crea -$LN125@stbi__crea: - -; 4824 : STBI__CASE(STBI__F_paeth) - - 007f1 c7 85 e4 00 00 - 00 00 00 00 00 mov DWORD PTR k$[rbp], 0 - 007fb eb 0e jmp SHORT $LN23@stbi__crea -$LN21@stbi__crea: - 007fd 8b 85 e4 00 00 - 00 mov eax, DWORD PTR k$[rbp] - 00803 ff c0 inc eax - 00805 89 85 e4 00 00 - 00 mov DWORD PTR k$[rbp], eax -$LN23@stbi__crea: - 0080b 8b 85 e4 01 00 - 00 mov eax, DWORD PTR nk$4[rbp] - 00811 39 85 e4 00 00 - 00 cmp DWORD PTR k$[rbp], eax - 00817 0f 8d a6 00 00 - 00 jge $LN22@stbi__crea - -; 4825 : { -; 4826 : cur[k] = STBI__BYTECAST( - - 0081d 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR k$[rbp] - 00824 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 0082b 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0082f 89 85 34 04 00 - 00 mov DWORD PTR tv343[rbp], eax - 00835 8b 8d 44 01 00 - 00 mov ecx, DWORD PTR filter_bytes$[rbp] - 0083b 8b 95 e4 00 00 - 00 mov edx, DWORD PTR k$[rbp] - 00841 2b d1 sub edx, ecx - 00843 8b ca mov ecx, edx - 00845 48 63 c9 movsxd rcx, ecx - 00848 48 8b 95 a8 01 - 00 00 mov rdx, QWORD PTR prior$2[rbp] - 0084f 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 00853 48 63 95 e4 00 - 00 00 movsxd rdx, DWORD PTR k$[rbp] - 0085a 4c 8b 85 a8 01 - 00 00 mov r8, QWORD PTR prior$2[rbp] - 00861 41 0f b6 14 10 movzx edx, BYTE PTR [r8+rdx] - 00866 44 8b 85 44 01 - 00 00 mov r8d, DWORD PTR filter_bytes$[rbp] - 0086d 44 8b 8d e4 00 - 00 00 mov r9d, DWORD PTR k$[rbp] - 00874 45 2b c8 sub r9d, r8d - 00877 45 8b c1 mov r8d, r9d - 0087a 4d 63 c0 movsxd r8, r8d - 0087d 4c 8b 8d 88 01 - 00 00 mov r9, QWORD PTR cur$1[rbp] - 00884 47 0f b6 04 01 movzx r8d, BYTE PTR [r9+r8] - 00889 44 89 85 38 04 - 00 00 mov DWORD PTR tv360[rbp], r8d - 00890 44 8b c1 mov r8d, ecx - 00893 8b 8d 38 04 00 - 00 mov ecx, DWORD PTR tv360[rbp] - 00899 e8 00 00 00 00 call stbi__paeth - 0089e 8b 8d 34 04 00 - 00 mov ecx, DWORD PTR tv343[rbp] - 008a4 03 c8 add ecx, eax - 008a6 8b c1 mov eax, ecx - 008a8 25 ff 00 00 00 and eax, 255 ; 000000ffH - 008ad 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 008b4 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 008bb 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4827 : raw[k] + stbi__paeth(cur[k - filter_bytes], -; 4828 : prior[k], -; 4829 : prior[k - filter_bytes])); -; 4830 : } - - 008be e9 3a ff ff ff jmp $LN21@stbi__crea -$LN22@stbi__crea: - -; 4831 : break; - - 008c3 e9 03 01 00 00 jmp $LN10@stbi__crea -$LN126@stbi__crea: - -; 4832 : STBI__CASE(STBI__F_avg_first) - - 008c8 c7 85 e4 00 00 - 00 00 00 00 00 mov DWORD PTR k$[rbp], 0 - 008d2 eb 0e jmp SHORT $LN26@stbi__crea -$LN24@stbi__crea: - 008d4 8b 85 e4 00 00 - 00 mov eax, DWORD PTR k$[rbp] - 008da ff c0 inc eax - 008dc 89 85 e4 00 00 - 00 mov DWORD PTR k$[rbp], eax -$LN26@stbi__crea: - 008e2 8b 85 e4 01 00 - 00 mov eax, DWORD PTR nk$4[rbp] - 008e8 39 85 e4 00 00 - 00 cmp DWORD PTR k$[rbp], eax - 008ee 7d 4c jge SHORT $LN25@stbi__crea - -; 4833 : { -; 4834 : cur[k] = STBI__BYTECAST(raw[k] + - - 008f0 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR k$[rbp] - 008f7 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 008fe 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00902 8b 8d 44 01 00 - 00 mov ecx, DWORD PTR filter_bytes$[rbp] - 00908 8b 95 e4 00 00 - 00 mov edx, DWORD PTR k$[rbp] - 0090e 2b d1 sub edx, ecx - 00910 8b ca mov ecx, edx - 00912 48 63 c9 movsxd rcx, ecx - 00915 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 0091c 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 00920 d1 f9 sar ecx, 1 - 00922 03 c1 add eax, ecx - 00924 25 ff 00 00 00 and eax, 255 ; 000000ffH - 00929 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 00930 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 00937 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4835 : (cur[k - filter_bytes] >> 1)); -; 4836 : } - - 0093a eb 98 jmp SHORT $LN24@stbi__crea -$LN25@stbi__crea: - -; 4837 : break; - - 0093c e9 8a 00 00 00 jmp $LN10@stbi__crea -$LN127@stbi__crea: - -; 4838 : STBI__CASE(STBI__F_paeth_first) - - 00941 c7 85 e4 00 00 - 00 00 00 00 00 mov DWORD PTR k$[rbp], 0 - 0094b eb 0e jmp SHORT $LN29@stbi__crea -$LN27@stbi__crea: - 0094d 8b 85 e4 00 00 - 00 mov eax, DWORD PTR k$[rbp] - 00953 ff c0 inc eax - 00955 89 85 e4 00 00 - 00 mov DWORD PTR k$[rbp], eax -$LN29@stbi__crea: - 0095b 8b 85 e4 01 00 - 00 mov eax, DWORD PTR nk$4[rbp] - 00961 39 85 e4 00 00 - 00 cmp DWORD PTR k$[rbp], eax - 00967 7d 62 jge SHORT $LN28@stbi__crea - -; 4839 : { -; 4840 : cur[k] = STBI__BYTECAST( - - 00969 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR k$[rbp] - 00970 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 00977 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0097b 89 85 34 04 00 - 00 mov DWORD PTR tv391[rbp], eax - 00981 8b 8d 44 01 00 - 00 mov ecx, DWORD PTR filter_bytes$[rbp] - 00987 8b 95 e4 00 00 - 00 mov edx, DWORD PTR k$[rbp] - 0098d 2b d1 sub edx, ecx - 0098f 8b ca mov ecx, edx - 00991 48 63 c9 movsxd rcx, ecx - 00994 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 0099b 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 0099f 45 33 c0 xor r8d, r8d - 009a2 33 d2 xor edx, edx - 009a4 e8 00 00 00 00 call stbi__paeth - 009a9 8b 8d 34 04 00 - 00 mov ecx, DWORD PTR tv391[rbp] - 009af 03 c8 add ecx, eax - 009b1 8b c1 mov eax, ecx - 009b3 25 ff 00 00 00 and eax, 255 ; 000000ffH - 009b8 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 009bf 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 009c6 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4841 : raw[k] + stbi__paeth(cur[k - filter_bytes], 0, 0)); -; 4842 : } - - 009c9 eb 82 jmp SHORT $LN27@stbi__crea -$LN28@stbi__crea: -$LN10@stbi__crea: - -; 4843 : break; -; 4844 : } -; 4845 : #undef STBI__CASE -; 4846 : raw += nk; - - 009cb 48 63 85 e4 01 - 00 00 movsxd rax, DWORD PTR nk$4[rbp] - 009d2 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 009d9 48 03 c8 add rcx, rax - 009dc 48 8b c1 mov rax, rcx - 009df 48 89 85 68 04 - 00 00 mov QWORD PTR raw$[rbp], rax - -; 4847 : } else { - - 009e6 e9 15 08 00 00 jmp $LN119@stbi__crea -$LN118@stbi__crea: - -; 4848 : STBI_ASSERT(img_n + 1 == out_n); - - 009eb 8b 85 04 01 00 - 00 mov eax, DWORD PTR img_n$[rbp] - 009f1 ff c0 inc eax - 009f3 3b 85 78 04 00 - 00 cmp eax, DWORD PTR out_n$[rbp] - 009f9 74 1c je SHORT $LN162@stbi__crea - 009fb 41 b8 f0 12 00 - 00 mov r8d, 4848 ; 000012f0H - 00a01 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_1GG@PCNMFHPN@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ - 00a08 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_1CG@MFAHHIFB@?$AAi?$AAm?$AAg?$AA_?$AAn?$AA?5?$AA?$CL?$AA?5?$AA1?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAo?$AAu@ - 00a0f ff 15 00 00 00 - 00 call QWORD PTR __imp__wassert - 00a15 33 c0 xor eax, eax -$LN162@stbi__crea: - -; 4849 : #define STBI__CASE(f) \ -; 4850 : case f: \ -; 4851 : for (i = x - 1; i >= 1; --i, cur[filter_bytes] = 255, raw += filter_bytes, \ -; 4852 : cur += output_bytes, prior += output_bytes) \ -; 4853 : for (k = 0; k < filter_bytes; ++k) -; 4854 : switch (filter) { - - 00a17 8b 85 c4 01 00 - 00 mov eax, DWORD PTR filter$3[rbp] - 00a1d 89 85 34 04 00 - 00 mov DWORD PTR tv413[rbp], eax - 00a23 83 bd 34 04 00 - 00 06 cmp DWORD PTR tv413[rbp], 6 - 00a2a 0f 87 5b 07 00 - 00 ja $LN30@stbi__crea - 00a30 48 63 85 34 04 - 00 00 movsxd rax, DWORD PTR tv413[rbp] - 00a37 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__ImageBase - 00a3e 8b 84 81 00 00 - 00 00 mov eax, DWORD PTR $LN166@stbi__crea[rcx+rax*4] - 00a45 48 03 c1 add rax, rcx - 00a48 ff e0 jmp rax -$LN128@stbi__crea: - -; 4855 : STBI__CASE(STBI__F_none) - - 00a4a 8b 85 80 04 00 - 00 mov eax, DWORD PTR x$[rbp] - 00a50 ff c8 dec eax - 00a52 89 45 44 mov DWORD PTR i$[rbp], eax - 00a55 eb 6b jmp SHORT $LN34@stbi__crea -$LN32@stbi__crea: - 00a57 8b 45 44 mov eax, DWORD PTR i$[rbp] - 00a5a ff c8 dec eax - 00a5c 89 45 44 mov DWORD PTR i$[rbp], eax - 00a5f 48 63 85 44 01 - 00 00 movsxd rax, DWORD PTR filter_bytes$[rbp] - 00a66 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 00a6d c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - 00a71 48 63 85 44 01 - 00 00 movsxd rax, DWORD PTR filter_bytes$[rbp] - 00a78 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 00a7f 48 03 c8 add rcx, rax - 00a82 48 8b c1 mov rax, rcx - 00a85 48 89 85 68 04 - 00 00 mov QWORD PTR raw$[rbp], rax - 00a8c 48 63 85 24 01 - 00 00 movsxd rax, DWORD PTR output_bytes$[rbp] - 00a93 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 00a9a 48 03 c8 add rcx, rax - 00a9d 48 8b c1 mov rax, rcx - 00aa0 48 89 85 88 01 - 00 00 mov QWORD PTR cur$1[rbp], rax - 00aa7 48 63 85 24 01 - 00 00 movsxd rax, DWORD PTR output_bytes$[rbp] - 00aae 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR prior$2[rbp] - 00ab5 48 03 c8 add rcx, rax - 00ab8 48 8b c1 mov rax, rcx - 00abb 48 89 85 a8 01 - 00 00 mov QWORD PTR prior$2[rbp], rax -$LN34@stbi__crea: - 00ac2 83 7d 44 01 cmp DWORD PTR i$[rbp], 1 - 00ac6 72 53 jb SHORT $LN33@stbi__crea - 00ac8 c7 85 e4 00 00 - 00 00 00 00 00 mov DWORD PTR k$[rbp], 0 - 00ad2 eb 0e jmp SHORT $LN37@stbi__crea -$LN35@stbi__crea: - 00ad4 8b 85 e4 00 00 - 00 mov eax, DWORD PTR k$[rbp] - 00ada ff c0 inc eax - 00adc 89 85 e4 00 00 - 00 mov DWORD PTR k$[rbp], eax -$LN37@stbi__crea: - 00ae2 8b 85 44 01 00 - 00 mov eax, DWORD PTR filter_bytes$[rbp] - 00ae8 39 85 e4 00 00 - 00 cmp DWORD PTR k$[rbp], eax - 00aee 7d 26 jge SHORT $LN36@stbi__crea - -; 4856 : { -; 4857 : cur[k] = raw[k]; - - 00af0 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR k$[rbp] - 00af7 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 00afe 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 00b05 4c 8b 85 68 04 - 00 00 mov r8, QWORD PTR raw$[rbp] - 00b0c 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 00b11 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4858 : } - - 00b14 eb be jmp SHORT $LN35@stbi__crea -$LN36@stbi__crea: - 00b16 e9 3c ff ff ff jmp $LN32@stbi__crea -$LN33@stbi__crea: - -; 4859 : break; - - 00b1b e9 6b 06 00 00 jmp $LN30@stbi__crea -$LN129@stbi__crea: - -; 4860 : STBI__CASE(STBI__F_sub) - - 00b20 8b 85 80 04 00 - 00 mov eax, DWORD PTR x$[rbp] - 00b26 ff c8 dec eax - 00b28 89 45 44 mov DWORD PTR i$[rbp], eax - 00b2b eb 6b jmp SHORT $LN40@stbi__crea -$LN38@stbi__crea: - 00b2d 8b 45 44 mov eax, DWORD PTR i$[rbp] - 00b30 ff c8 dec eax - 00b32 89 45 44 mov DWORD PTR i$[rbp], eax - 00b35 48 63 85 44 01 - 00 00 movsxd rax, DWORD PTR filter_bytes$[rbp] - 00b3c 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 00b43 c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - 00b47 48 63 85 44 01 - 00 00 movsxd rax, DWORD PTR filter_bytes$[rbp] - 00b4e 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 00b55 48 03 c8 add rcx, rax - 00b58 48 8b c1 mov rax, rcx - 00b5b 48 89 85 68 04 - 00 00 mov QWORD PTR raw$[rbp], rax - 00b62 48 63 85 24 01 - 00 00 movsxd rax, DWORD PTR output_bytes$[rbp] - 00b69 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 00b70 48 03 c8 add rcx, rax - 00b73 48 8b c1 mov rax, rcx - 00b76 48 89 85 88 01 - 00 00 mov QWORD PTR cur$1[rbp], rax - 00b7d 48 63 85 24 01 - 00 00 movsxd rax, DWORD PTR output_bytes$[rbp] - 00b84 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR prior$2[rbp] - 00b8b 48 03 c8 add rcx, rax - 00b8e 48 8b c1 mov rax, rcx - 00b91 48 89 85 a8 01 - 00 00 mov QWORD PTR prior$2[rbp], rax -$LN40@stbi__crea: - 00b98 83 7d 44 01 cmp DWORD PTR i$[rbp], 1 - 00b9c 72 77 jb SHORT $LN39@stbi__crea - 00b9e c7 85 e4 00 00 - 00 00 00 00 00 mov DWORD PTR k$[rbp], 0 - 00ba8 eb 0e jmp SHORT $LN43@stbi__crea -$LN41@stbi__crea: - 00baa 8b 85 e4 00 00 - 00 mov eax, DWORD PTR k$[rbp] - 00bb0 ff c0 inc eax - 00bb2 89 85 e4 00 00 - 00 mov DWORD PTR k$[rbp], eax -$LN43@stbi__crea: - 00bb8 8b 85 44 01 00 - 00 mov eax, DWORD PTR filter_bytes$[rbp] - 00bbe 39 85 e4 00 00 - 00 cmp DWORD PTR k$[rbp], eax - 00bc4 7d 4a jge SHORT $LN42@stbi__crea - -; 4861 : { -; 4862 : cur[k] = STBI__BYTECAST(raw[k] + cur[k - output_bytes]); - - 00bc6 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR k$[rbp] - 00bcd 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 00bd4 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00bd8 8b 8d 24 01 00 - 00 mov ecx, DWORD PTR output_bytes$[rbp] - 00bde 8b 95 e4 00 00 - 00 mov edx, DWORD PTR k$[rbp] - 00be4 2b d1 sub edx, ecx - 00be6 8b ca mov ecx, edx - 00be8 48 63 c9 movsxd rcx, ecx - 00beb 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 00bf2 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 00bf6 03 c1 add eax, ecx - 00bf8 25 ff 00 00 00 and eax, 255 ; 000000ffH - 00bfd 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 00c04 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 00c0b 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4863 : } - - 00c0e eb 9a jmp SHORT $LN41@stbi__crea -$LN42@stbi__crea: - 00c10 e9 18 ff ff ff jmp $LN38@stbi__crea -$LN39@stbi__crea: - -; 4864 : break; - - 00c15 e9 71 05 00 00 jmp $LN30@stbi__crea -$LN130@stbi__crea: - -; 4865 : STBI__CASE(STBI__F_up) - - 00c1a 8b 85 80 04 00 - 00 mov eax, DWORD PTR x$[rbp] - 00c20 ff c8 dec eax - 00c22 89 45 44 mov DWORD PTR i$[rbp], eax - 00c25 eb 6b jmp SHORT $LN46@stbi__crea -$LN44@stbi__crea: - 00c27 8b 45 44 mov eax, DWORD PTR i$[rbp] - 00c2a ff c8 dec eax - 00c2c 89 45 44 mov DWORD PTR i$[rbp], eax - 00c2f 48 63 85 44 01 - 00 00 movsxd rax, DWORD PTR filter_bytes$[rbp] - 00c36 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 00c3d c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - 00c41 48 63 85 44 01 - 00 00 movsxd rax, DWORD PTR filter_bytes$[rbp] - 00c48 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 00c4f 48 03 c8 add rcx, rax - 00c52 48 8b c1 mov rax, rcx - 00c55 48 89 85 68 04 - 00 00 mov QWORD PTR raw$[rbp], rax - 00c5c 48 63 85 24 01 - 00 00 movsxd rax, DWORD PTR output_bytes$[rbp] - 00c63 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 00c6a 48 03 c8 add rcx, rax - 00c6d 48 8b c1 mov rax, rcx - 00c70 48 89 85 88 01 - 00 00 mov QWORD PTR cur$1[rbp], rax - 00c77 48 63 85 24 01 - 00 00 movsxd rax, DWORD PTR output_bytes$[rbp] - 00c7e 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR prior$2[rbp] - 00c85 48 03 c8 add rcx, rax - 00c88 48 8b c1 mov rax, rcx - 00c8b 48 89 85 a8 01 - 00 00 mov QWORD PTR prior$2[rbp], rax -$LN46@stbi__crea: - 00c92 83 7d 44 01 cmp DWORD PTR i$[rbp], 1 - 00c96 72 6b jb SHORT $LN45@stbi__crea - 00c98 c7 85 e4 00 00 - 00 00 00 00 00 mov DWORD PTR k$[rbp], 0 - 00ca2 eb 0e jmp SHORT $LN49@stbi__crea -$LN47@stbi__crea: - 00ca4 8b 85 e4 00 00 - 00 mov eax, DWORD PTR k$[rbp] - 00caa ff c0 inc eax - 00cac 89 85 e4 00 00 - 00 mov DWORD PTR k$[rbp], eax -$LN49@stbi__crea: - 00cb2 8b 85 44 01 00 - 00 mov eax, DWORD PTR filter_bytes$[rbp] - 00cb8 39 85 e4 00 00 - 00 cmp DWORD PTR k$[rbp], eax - 00cbe 7d 3e jge SHORT $LN48@stbi__crea - -; 4866 : { -; 4867 : cur[k] = STBI__BYTECAST(raw[k] + prior[k]); - - 00cc0 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR k$[rbp] - 00cc7 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 00cce 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00cd2 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 00cd9 48 8b 95 a8 01 - 00 00 mov rdx, QWORD PTR prior$2[rbp] - 00ce0 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 00ce4 03 c1 add eax, ecx - 00ce6 25 ff 00 00 00 and eax, 255 ; 000000ffH - 00ceb 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 00cf2 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 00cf9 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4868 : } - - 00cfc eb a6 jmp SHORT $LN47@stbi__crea -$LN48@stbi__crea: - 00cfe e9 24 ff ff ff jmp $LN44@stbi__crea -$LN45@stbi__crea: - -; 4869 : break; - - 00d03 e9 83 04 00 00 jmp $LN30@stbi__crea -$LN131@stbi__crea: - -; 4870 : STBI__CASE(STBI__F_avg) - - 00d08 8b 85 80 04 00 - 00 mov eax, DWORD PTR x$[rbp] - 00d0e ff c8 dec eax - 00d10 89 45 44 mov DWORD PTR i$[rbp], eax - 00d13 eb 6b jmp SHORT $LN52@stbi__crea -$LN50@stbi__crea: - 00d15 8b 45 44 mov eax, DWORD PTR i$[rbp] - 00d18 ff c8 dec eax - 00d1a 89 45 44 mov DWORD PTR i$[rbp], eax - 00d1d 48 63 85 44 01 - 00 00 movsxd rax, DWORD PTR filter_bytes$[rbp] - 00d24 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 00d2b c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - 00d2f 48 63 85 44 01 - 00 00 movsxd rax, DWORD PTR filter_bytes$[rbp] - 00d36 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 00d3d 48 03 c8 add rcx, rax - 00d40 48 8b c1 mov rax, rcx - 00d43 48 89 85 68 04 - 00 00 mov QWORD PTR raw$[rbp], rax - 00d4a 48 63 85 24 01 - 00 00 movsxd rax, DWORD PTR output_bytes$[rbp] - 00d51 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 00d58 48 03 c8 add rcx, rax - 00d5b 48 8b c1 mov rax, rcx - 00d5e 48 89 85 88 01 - 00 00 mov QWORD PTR cur$1[rbp], rax - 00d65 48 63 85 24 01 - 00 00 movsxd rax, DWORD PTR output_bytes$[rbp] - 00d6c 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR prior$2[rbp] - 00d73 48 03 c8 add rcx, rax - 00d76 48 8b c1 mov rax, rcx - 00d79 48 89 85 a8 01 - 00 00 mov QWORD PTR prior$2[rbp], rax -$LN52@stbi__crea: - 00d80 83 7d 44 01 cmp DWORD PTR i$[rbp], 1 - 00d84 0f 82 91 00 00 - 00 jb $LN51@stbi__crea - 00d8a c7 85 e4 00 00 - 00 00 00 00 00 mov DWORD PTR k$[rbp], 0 - 00d94 eb 0e jmp SHORT $LN55@stbi__crea -$LN53@stbi__crea: - 00d96 8b 85 e4 00 00 - 00 mov eax, DWORD PTR k$[rbp] - 00d9c ff c0 inc eax - 00d9e 89 85 e4 00 00 - 00 mov DWORD PTR k$[rbp], eax -$LN55@stbi__crea: - 00da4 8b 85 44 01 00 - 00 mov eax, DWORD PTR filter_bytes$[rbp] - 00daa 39 85 e4 00 00 - 00 cmp DWORD PTR k$[rbp], eax - 00db0 7d 64 jge SHORT $LN54@stbi__crea - -; 4871 : { -; 4872 : cur[k] = STBI__BYTECAST( - - 00db2 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR k$[rbp] - 00db9 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 00dc0 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00dc4 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 00dcb 48 8b 95 a8 01 - 00 00 mov rdx, QWORD PTR prior$2[rbp] - 00dd2 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 00dd6 8b 95 24 01 00 - 00 mov edx, DWORD PTR output_bytes$[rbp] - 00ddc 44 8b 85 e4 00 - 00 00 mov r8d, DWORD PTR k$[rbp] - 00de3 44 2b c2 sub r8d, edx - 00de6 41 8b d0 mov edx, r8d - 00de9 48 63 d2 movsxd rdx, edx - 00dec 4c 8b 85 88 01 - 00 00 mov r8, QWORD PTR cur$1[rbp] - 00df3 41 0f b6 14 10 movzx edx, BYTE PTR [r8+rdx] - 00df8 03 ca add ecx, edx - 00dfa d1 f9 sar ecx, 1 - 00dfc 03 c1 add eax, ecx - 00dfe 25 ff 00 00 00 and eax, 255 ; 000000ffH - 00e03 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 00e0a 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 00e11 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4873 : raw[k] + ((prior[k] + cur[k - output_bytes]) >> 1)); -; 4874 : } - - 00e14 eb 80 jmp SHORT $LN53@stbi__crea -$LN54@stbi__crea: - 00e16 e9 fa fe ff ff jmp $LN50@stbi__crea -$LN51@stbi__crea: - -; 4875 : break; - - 00e1b e9 6b 03 00 00 jmp $LN30@stbi__crea -$LN132@stbi__crea: - -; 4876 : STBI__CASE(STBI__F_paeth) - - 00e20 8b 85 80 04 00 - 00 mov eax, DWORD PTR x$[rbp] - 00e26 ff c8 dec eax - 00e28 89 45 44 mov DWORD PTR i$[rbp], eax - 00e2b eb 6b jmp SHORT $LN58@stbi__crea -$LN56@stbi__crea: - 00e2d 8b 45 44 mov eax, DWORD PTR i$[rbp] - 00e30 ff c8 dec eax - 00e32 89 45 44 mov DWORD PTR i$[rbp], eax - 00e35 48 63 85 44 01 - 00 00 movsxd rax, DWORD PTR filter_bytes$[rbp] - 00e3c 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 00e43 c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - 00e47 48 63 85 44 01 - 00 00 movsxd rax, DWORD PTR filter_bytes$[rbp] - 00e4e 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 00e55 48 03 c8 add rcx, rax - 00e58 48 8b c1 mov rax, rcx - 00e5b 48 89 85 68 04 - 00 00 mov QWORD PTR raw$[rbp], rax - 00e62 48 63 85 24 01 - 00 00 movsxd rax, DWORD PTR output_bytes$[rbp] - 00e69 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 00e70 48 03 c8 add rcx, rax - 00e73 48 8b c1 mov rax, rcx - 00e76 48 89 85 88 01 - 00 00 mov QWORD PTR cur$1[rbp], rax - 00e7d 48 63 85 24 01 - 00 00 movsxd rax, DWORD PTR output_bytes$[rbp] - 00e84 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR prior$2[rbp] - 00e8b 48 03 c8 add rcx, rax - 00e8e 48 8b c1 mov rax, rcx - 00e91 48 89 85 a8 01 - 00 00 mov QWORD PTR prior$2[rbp], rax -$LN58@stbi__crea: - 00e98 83 7d 44 01 cmp DWORD PTR i$[rbp], 1 - 00e9c 0f 82 d7 00 00 - 00 jb $LN57@stbi__crea - 00ea2 c7 85 e4 00 00 - 00 00 00 00 00 mov DWORD PTR k$[rbp], 0 - 00eac eb 0e jmp SHORT $LN61@stbi__crea -$LN59@stbi__crea: - 00eae 8b 85 e4 00 00 - 00 mov eax, DWORD PTR k$[rbp] - 00eb4 ff c0 inc eax - 00eb6 89 85 e4 00 00 - 00 mov DWORD PTR k$[rbp], eax -$LN61@stbi__crea: - 00ebc 8b 85 44 01 00 - 00 mov eax, DWORD PTR filter_bytes$[rbp] - 00ec2 39 85 e4 00 00 - 00 cmp DWORD PTR k$[rbp], eax - 00ec8 0f 8d a6 00 00 - 00 jge $LN60@stbi__crea - -; 4877 : { -; 4878 : cur[k] = STBI__BYTECAST( - - 00ece 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR k$[rbp] - 00ed5 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 00edc 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00ee0 89 85 34 04 00 - 00 mov DWORD PTR tv546[rbp], eax - 00ee6 8b 8d 24 01 00 - 00 mov ecx, DWORD PTR output_bytes$[rbp] - 00eec 8b 95 e4 00 00 - 00 mov edx, DWORD PTR k$[rbp] - 00ef2 2b d1 sub edx, ecx - 00ef4 8b ca mov ecx, edx - 00ef6 48 63 c9 movsxd rcx, ecx - 00ef9 48 8b 95 a8 01 - 00 00 mov rdx, QWORD PTR prior$2[rbp] - 00f00 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 00f04 48 63 95 e4 00 - 00 00 movsxd rdx, DWORD PTR k$[rbp] - 00f0b 4c 8b 85 a8 01 - 00 00 mov r8, QWORD PTR prior$2[rbp] - 00f12 41 0f b6 14 10 movzx edx, BYTE PTR [r8+rdx] - 00f17 44 8b 85 24 01 - 00 00 mov r8d, DWORD PTR output_bytes$[rbp] - 00f1e 44 8b 8d e4 00 - 00 00 mov r9d, DWORD PTR k$[rbp] - 00f25 45 2b c8 sub r9d, r8d - 00f28 45 8b c1 mov r8d, r9d - 00f2b 4d 63 c0 movsxd r8, r8d - 00f2e 4c 8b 8d 88 01 - 00 00 mov r9, QWORD PTR cur$1[rbp] - 00f35 47 0f b6 04 01 movzx r8d, BYTE PTR [r9+r8] - 00f3a 44 89 85 38 04 - 00 00 mov DWORD PTR tv563[rbp], r8d - 00f41 44 8b c1 mov r8d, ecx - 00f44 8b 8d 38 04 00 - 00 mov ecx, DWORD PTR tv563[rbp] - 00f4a e8 00 00 00 00 call stbi__paeth - 00f4f 8b 8d 34 04 00 - 00 mov ecx, DWORD PTR tv546[rbp] - 00f55 03 c8 add ecx, eax - 00f57 8b c1 mov eax, ecx - 00f59 25 ff 00 00 00 and eax, 255 ; 000000ffH - 00f5e 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 00f65 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 00f6c 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4879 : raw[k] + stbi__paeth(cur[k - output_bytes], -; 4880 : prior[k], -; 4881 : prior[k - output_bytes])); -; 4882 : } - - 00f6f e9 3a ff ff ff jmp $LN59@stbi__crea -$LN60@stbi__crea: - 00f74 e9 b4 fe ff ff jmp $LN56@stbi__crea -$LN57@stbi__crea: - -; 4883 : break; - - 00f79 e9 0d 02 00 00 jmp $LN30@stbi__crea -$LN133@stbi__crea: - -; 4884 : STBI__CASE(STBI__F_avg_first) - - 00f7e 8b 85 80 04 00 - 00 mov eax, DWORD PTR x$[rbp] - 00f84 ff c8 dec eax - 00f86 89 45 44 mov DWORD PTR i$[rbp], eax - 00f89 eb 6b jmp SHORT $LN64@stbi__crea -$LN62@stbi__crea: - 00f8b 8b 45 44 mov eax, DWORD PTR i$[rbp] - 00f8e ff c8 dec eax - 00f90 89 45 44 mov DWORD PTR i$[rbp], eax - 00f93 48 63 85 44 01 - 00 00 movsxd rax, DWORD PTR filter_bytes$[rbp] - 00f9a 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 00fa1 c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - 00fa5 48 63 85 44 01 - 00 00 movsxd rax, DWORD PTR filter_bytes$[rbp] - 00fac 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 00fb3 48 03 c8 add rcx, rax - 00fb6 48 8b c1 mov rax, rcx - 00fb9 48 89 85 68 04 - 00 00 mov QWORD PTR raw$[rbp], rax - 00fc0 48 63 85 24 01 - 00 00 movsxd rax, DWORD PTR output_bytes$[rbp] - 00fc7 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 00fce 48 03 c8 add rcx, rax - 00fd1 48 8b c1 mov rax, rcx - 00fd4 48 89 85 88 01 - 00 00 mov QWORD PTR cur$1[rbp], rax - 00fdb 48 63 85 24 01 - 00 00 movsxd rax, DWORD PTR output_bytes$[rbp] - 00fe2 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR prior$2[rbp] - 00fe9 48 03 c8 add rcx, rax - 00fec 48 8b c1 mov rax, rcx - 00fef 48 89 85 a8 01 - 00 00 mov QWORD PTR prior$2[rbp], rax -$LN64@stbi__crea: - 00ff6 83 7d 44 01 cmp DWORD PTR i$[rbp], 1 - 00ffa 72 79 jb SHORT $LN63@stbi__crea - 00ffc c7 85 e4 00 00 - 00 00 00 00 00 mov DWORD PTR k$[rbp], 0 - 01006 eb 0e jmp SHORT $LN67@stbi__crea -$LN65@stbi__crea: - 01008 8b 85 e4 00 00 - 00 mov eax, DWORD PTR k$[rbp] - 0100e ff c0 inc eax - 01010 89 85 e4 00 00 - 00 mov DWORD PTR k$[rbp], eax -$LN67@stbi__crea: - 01016 8b 85 44 01 00 - 00 mov eax, DWORD PTR filter_bytes$[rbp] - 0101c 39 85 e4 00 00 - 00 cmp DWORD PTR k$[rbp], eax - 01022 7d 4c jge SHORT $LN66@stbi__crea - -; 4885 : { -; 4886 : cur[k] = STBI__BYTECAST(raw[k] + - - 01024 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR k$[rbp] - 0102b 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 01032 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 01036 8b 8d 24 01 00 - 00 mov ecx, DWORD PTR output_bytes$[rbp] - 0103c 8b 95 e4 00 00 - 00 mov edx, DWORD PTR k$[rbp] - 01042 2b d1 sub edx, ecx - 01044 8b ca mov ecx, edx - 01046 48 63 c9 movsxd rcx, ecx - 01049 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 01050 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 01054 d1 f9 sar ecx, 1 - 01056 03 c1 add eax, ecx - 01058 25 ff 00 00 00 and eax, 255 ; 000000ffH - 0105d 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 01064 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 0106b 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4887 : (cur[k - output_bytes] >> 1)); -; 4888 : } - - 0106e eb 98 jmp SHORT $LN65@stbi__crea -$LN66@stbi__crea: - 01070 e9 16 ff ff ff jmp $LN62@stbi__crea -$LN63@stbi__crea: - -; 4889 : break; - - 01075 e9 11 01 00 00 jmp $LN30@stbi__crea -$LN134@stbi__crea: - -; 4890 : STBI__CASE(STBI__F_paeth_first) - - 0107a 8b 85 80 04 00 - 00 mov eax, DWORD PTR x$[rbp] - 01080 ff c8 dec eax - 01082 89 45 44 mov DWORD PTR i$[rbp], eax - 01085 eb 6b jmp SHORT $LN70@stbi__crea -$LN68@stbi__crea: - 01087 8b 45 44 mov eax, DWORD PTR i$[rbp] - 0108a ff c8 dec eax - 0108c 89 45 44 mov DWORD PTR i$[rbp], eax - 0108f 48 63 85 44 01 - 00 00 movsxd rax, DWORD PTR filter_bytes$[rbp] - 01096 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 0109d c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - 010a1 48 63 85 44 01 - 00 00 movsxd rax, DWORD PTR filter_bytes$[rbp] - 010a8 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 010af 48 03 c8 add rcx, rax - 010b2 48 8b c1 mov rax, rcx - 010b5 48 89 85 68 04 - 00 00 mov QWORD PTR raw$[rbp], rax - 010bc 48 63 85 24 01 - 00 00 movsxd rax, DWORD PTR output_bytes$[rbp] - 010c3 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 010ca 48 03 c8 add rcx, rax - 010cd 48 8b c1 mov rax, rcx - 010d0 48 89 85 88 01 - 00 00 mov QWORD PTR cur$1[rbp], rax - 010d7 48 63 85 24 01 - 00 00 movsxd rax, DWORD PTR output_bytes$[rbp] - 010de 48 8b 8d a8 01 - 00 00 mov rcx, QWORD PTR prior$2[rbp] - 010e5 48 03 c8 add rcx, rax - 010e8 48 8b c1 mov rax, rcx - 010eb 48 89 85 a8 01 - 00 00 mov QWORD PTR prior$2[rbp], rax -$LN70@stbi__crea: - 010f2 83 7d 44 01 cmp DWORD PTR i$[rbp], 1 - 010f6 0f 82 8f 00 00 - 00 jb $LN69@stbi__crea - 010fc c7 85 e4 00 00 - 00 00 00 00 00 mov DWORD PTR k$[rbp], 0 - 01106 eb 0e jmp SHORT $LN73@stbi__crea -$LN71@stbi__crea: - 01108 8b 85 e4 00 00 - 00 mov eax, DWORD PTR k$[rbp] - 0110e ff c0 inc eax - 01110 89 85 e4 00 00 - 00 mov DWORD PTR k$[rbp], eax -$LN73@stbi__crea: - 01116 8b 85 44 01 00 - 00 mov eax, DWORD PTR filter_bytes$[rbp] - 0111c 39 85 e4 00 00 - 00 cmp DWORD PTR k$[rbp], eax - 01122 7d 62 jge SHORT $LN72@stbi__crea - -; 4891 : { -; 4892 : cur[k] = STBI__BYTECAST( - - 01124 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR k$[rbp] - 0112b 48 8b 8d 68 04 - 00 00 mov rcx, QWORD PTR raw$[rbp] - 01132 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 01136 89 85 34 04 00 - 00 mov DWORD PTR tv618[rbp], eax - 0113c 8b 8d 24 01 00 - 00 mov ecx, DWORD PTR output_bytes$[rbp] - 01142 8b 95 e4 00 00 - 00 mov edx, DWORD PTR k$[rbp] - 01148 2b d1 sub edx, ecx - 0114a 8b ca mov ecx, edx - 0114c 48 63 c9 movsxd rcx, ecx - 0114f 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 01156 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 0115a 45 33 c0 xor r8d, r8d - 0115d 33 d2 xor edx, edx - 0115f e8 00 00 00 00 call stbi__paeth - 01164 8b 8d 34 04 00 - 00 mov ecx, DWORD PTR tv618[rbp] - 0116a 03 c8 add ecx, eax - 0116c 8b c1 mov eax, ecx - 0116e 25 ff 00 00 00 and eax, 255 ; 000000ffH - 01173 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR k$[rbp] - 0117a 48 8b 95 88 01 - 00 00 mov rdx, QWORD PTR cur$1[rbp] - 01181 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4893 : raw[k] + stbi__paeth(cur[k - output_bytes], 0, 0)); -; 4894 : } - - 01184 eb 82 jmp SHORT $LN71@stbi__crea -$LN72@stbi__crea: - 01186 e9 fc fe ff ff jmp $LN68@stbi__crea -$LN69@stbi__crea: -$LN30@stbi__crea: - -; 4895 : break; -; 4896 : } -; 4897 : #undef STBI__CASE -; 4898 : -; 4899 : // the loop above sets the high byte of the pixels' alpha, but for -; 4900 : // 16 bit png files we also need the low byte set. we'll do that here. -; 4901 : if (depth == 16) { - - 0118b 83 bd 90 04 00 - 00 10 cmp DWORD PTR depth$[rbp], 16 - 01192 75 6c jne SHORT $LN135@stbi__crea - -; 4902 : cur = a->out + - - 01194 8b 85 84 00 00 - 00 mov eax, DWORD PTR stride$[rbp] - 0119a 0f af 45 64 imul eax, DWORD PTR j$[rbp] - 0119e 8b c0 mov eax, eax - 011a0 48 8b 8d 60 04 - 00 00 mov rcx, QWORD PTR a$[rbp] - 011a7 48 03 41 18 add rax, QWORD PTR [rcx+24] - 011ab 48 89 85 88 01 - 00 00 mov QWORD PTR cur$1[rbp], rax - -; 4903 : stride * j; // start at the beginning of the row again -; 4904 : for (i = 0; i < x; ++i, cur += output_bytes) { - - 011b2 c7 45 44 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 011b9 eb 23 jmp SHORT $LN76@stbi__crea -$LN74@stbi__crea: - 011bb 8b 45 44 mov eax, DWORD PTR i$[rbp] - 011be ff c0 inc eax - 011c0 89 45 44 mov DWORD PTR i$[rbp], eax - 011c3 48 63 85 24 01 - 00 00 movsxd rax, DWORD PTR output_bytes$[rbp] - 011ca 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 011d1 48 03 c8 add rcx, rax - 011d4 48 8b c1 mov rax, rcx - 011d7 48 89 85 88 01 - 00 00 mov QWORD PTR cur$1[rbp], rax -$LN76@stbi__crea: - 011de 8b 85 80 04 00 - 00 mov eax, DWORD PTR x$[rbp] - 011e4 39 45 44 cmp DWORD PTR i$[rbp], eax - 011e7 73 17 jae SHORT $LN75@stbi__crea - -; 4905 : cur[filter_bytes + 1] = 255; - - 011e9 8b 85 44 01 00 - 00 mov eax, DWORD PTR filter_bytes$[rbp] - 011ef ff c0 inc eax - 011f1 48 98 cdqe - 011f3 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR cur$1[rbp] - 011fa c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - -; 4906 : } - - 011fe eb bb jmp SHORT $LN74@stbi__crea -$LN75@stbi__crea: -$LN135@stbi__crea: -$LN119@stbi__crea: - -; 4907 : } -; 4908 : } -; 4909 : } - - 01200 e9 c1 ef ff ff jmp $LN2@stbi__crea -$LN3@stbi__crea: - -; 4910 : -; 4911 : // we make a separate pass to expand bits to pixels; for performance, -; 4912 : // this could run two scanlines behind the above code, so it won't -; 4913 : // intefere with filtering but will still be in the cache. -; 4914 : if (depth < 8) { - - 01205 83 bd 90 04 00 - 00 08 cmp DWORD PTR depth$[rbp], 8 - 0120c 0f 8d c0 08 00 - 00 jge $LN136@stbi__crea - -; 4915 : for (j = 0; j < y; ++j) { - - 01212 c7 45 64 00 00 - 00 00 mov DWORD PTR j$[rbp], 0 - 01219 eb 08 jmp SHORT $LN79@stbi__crea -$LN77@stbi__crea: - 0121b 8b 45 64 mov eax, DWORD PTR j$[rbp] - 0121e ff c0 inc eax - 01220 89 45 64 mov DWORD PTR j$[rbp], eax -$LN79@stbi__crea: - 01223 8b 85 88 04 00 - 00 mov eax, DWORD PTR y$[rbp] - 01229 39 45 64 cmp DWORD PTR j$[rbp], eax - 0122c 0f 83 9b 08 00 - 00 jae $LN78@stbi__crea - -; 4916 : stbi_uc *cur = a->out + stride * j; - - 01232 8b 85 84 00 00 - 00 mov eax, DWORD PTR stride$[rbp] - 01238 0f af 45 64 imul eax, DWORD PTR j$[rbp] - 0123c 8b c0 mov eax, eax - 0123e 48 8b 8d 60 04 - 00 00 mov rcx, QWORD PTR a$[rbp] - 01245 48 03 41 18 add rax, QWORD PTR [rcx+24] - 01249 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax - -; 4917 : stbi_uc *in = a->out + stride * j + x * out_n - img_width_bytes; - - 01250 8b 85 84 00 00 - 00 mov eax, DWORD PTR stride$[rbp] - 01256 0f af 45 64 imul eax, DWORD PTR j$[rbp] - 0125a 8b c0 mov eax, eax - 0125c 48 8b 8d 60 04 - 00 00 mov rcx, QWORD PTR a$[rbp] - 01263 48 8b 49 18 mov rcx, QWORD PTR [rcx+24] - 01267 48 03 c8 add rcx, rax - 0126a 48 8b c1 mov rax, rcx - 0126d 8b 8d 80 04 00 - 00 mov ecx, DWORD PTR x$[rbp] - 01273 0f af 8d 78 04 - 00 00 imul ecx, DWORD PTR out_n$[rbp] - 0127a 8b c9 mov ecx, ecx - 0127c 48 03 c1 add rax, rcx - 0127f 8b 8d c4 00 00 - 00 mov ecx, DWORD PTR img_width_bytes$[rbp] - 01285 48 2b c1 sub rax, rcx - 01288 48 89 85 28 02 - 00 00 mov QWORD PTR in$6[rbp], rax - -; 4918 : // unpack 1/2/4-bit into a 8-bit buffer. allows us to keep the common 8-bit path optimal at minimal cost for 1/2/4-bit -; 4919 : // png guarante byte alignment, if width is not multiple of 8/4/2 we'll decode dummy trailing data that will be skipped in the later loop -; 4920 : stbi_uc scale = (color == 0) ? stbi__depth_scale_table[depth] : - - 0128f 83 bd 98 04 00 - 00 00 cmp DWORD PTR color$[rbp], 0 - 01296 75 1a jne SHORT $LN163@stbi__crea - 01298 48 63 85 90 04 - 00 00 movsxd rax, DWORD PTR depth$[rbp] - 0129f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__depth_scale_table - 012a6 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 012aa 89 85 34 04 00 - 00 mov DWORD PTR tv666[rbp], eax - 012b0 eb 0a jmp SHORT $LN164@stbi__crea -$LN163@stbi__crea: - 012b2 c7 85 34 04 00 - 00 01 00 00 00 mov DWORD PTR tv666[rbp], 1 -$LN164@stbi__crea: - 012bc 0f b6 85 34 04 - 00 00 movzx eax, BYTE PTR tv666[rbp] - 012c3 88 85 44 02 00 - 00 mov BYTE PTR scale$7[rbp], al - -; 4921 : 1; // scale grayscale values to 0..255 range -; 4922 : -; 4923 : // note that the final byte might overshoot and write more data than desired. -; 4924 : // we can allocate enough data that this never writes out of memory, but it -; 4925 : // could also overwrite the next scanline. can it overwrite non-empty data -; 4926 : // on the next scanline? yes, consider 1-pixel-wide scanlines with 1-bit-per-pixel. -; 4927 : // so we need to explicitly clamp the final ones -; 4928 : -; 4929 : if (depth == 4) { - - 012c9 83 bd 90 04 00 - 00 04 cmp DWORD PTR depth$[rbp], 4 - 012d0 0f 85 e4 00 00 - 00 jne $LN138@stbi__crea - -; 4930 : for (k = x * img_n; k >= 2; k -= 2, ++in) { - - 012d6 8b 85 80 04 00 - 00 mov eax, DWORD PTR x$[rbp] - 012dc 0f af 85 04 01 - 00 00 imul eax, DWORD PTR img_n$[rbp] - 012e3 89 85 e4 00 00 - 00 mov DWORD PTR k$[rbp], eax - 012e9 eb 20 jmp SHORT $LN82@stbi__crea -$LN80@stbi__crea: - 012eb 8b 85 e4 00 00 - 00 mov eax, DWORD PTR k$[rbp] - 012f1 83 e8 02 sub eax, 2 - 012f4 89 85 e4 00 00 - 00 mov DWORD PTR k$[rbp], eax - 012fa 48 8b 85 28 02 - 00 00 mov rax, QWORD PTR in$6[rbp] - 01301 48 ff c0 inc rax - 01304 48 89 85 28 02 - 00 00 mov QWORD PTR in$6[rbp], rax -$LN82@stbi__crea: - 0130b 83 bd e4 00 00 - 00 02 cmp DWORD PTR k$[rbp], 2 - 01312 7c 67 jl SHORT $LN81@stbi__crea - -; 4931 : *cur++ = scale * ((*in >> 4)); - - 01314 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 0131b 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 01322 0f b6 09 movzx ecx, BYTE PTR [rcx] - 01325 c1 f9 04 sar ecx, 4 - 01328 0f af c1 imul eax, ecx - 0132b 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 01332 88 01 mov BYTE PTR [rcx], al - 01334 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 0133b 48 ff c0 inc rax - 0133e 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax - -; 4932 : *cur++ = scale * ((*in) & 0x0f); - - 01345 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 0134c 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 01353 0f b6 09 movzx ecx, BYTE PTR [rcx] - 01356 83 e1 0f and ecx, 15 - 01359 0f af c1 imul eax, ecx - 0135c 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 01363 88 01 mov BYTE PTR [rcx], al - 01365 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 0136c 48 ff c0 inc rax - 0136f 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax - -; 4933 : } - - 01376 e9 70 ff ff ff jmp $LN80@stbi__crea -$LN81@stbi__crea: - -; 4934 : if (k > 0) - - 0137b 83 bd e4 00 00 - 00 00 cmp DWORD PTR k$[rbp], 0 - 01382 7e 31 jle SHORT $LN140@stbi__crea - -; 4935 : *cur++ = scale * ((*in >> 4)); - - 01384 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 0138b 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 01392 0f b6 09 movzx ecx, BYTE PTR [rcx] - 01395 c1 f9 04 sar ecx, 4 - 01398 0f af c1 imul eax, ecx - 0139b 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 013a2 88 01 mov BYTE PTR [rcx], al - 013a4 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 013ab 48 ff c0 inc rax - 013ae 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax -$LN140@stbi__crea: - -; 4936 : } else if (depth == 2) { - - 013b5 e9 6b 05 00 00 jmp $LN139@stbi__crea -$LN138@stbi__crea: - 013ba 83 bd 90 04 00 - 00 02 cmp DWORD PTR depth$[rbp], 2 - 013c1 0f 85 ca 01 00 - 00 jne $LN141@stbi__crea - -; 4937 : for (k = x * img_n; k >= 4; k -= 4, ++in) { - - 013c7 8b 85 80 04 00 - 00 mov eax, DWORD PTR x$[rbp] - 013cd 0f af 85 04 01 - 00 00 imul eax, DWORD PTR img_n$[rbp] - 013d4 89 85 e4 00 00 - 00 mov DWORD PTR k$[rbp], eax - 013da eb 20 jmp SHORT $LN85@stbi__crea -$LN83@stbi__crea: - 013dc 8b 85 e4 00 00 - 00 mov eax, DWORD PTR k$[rbp] - 013e2 83 e8 04 sub eax, 4 - 013e5 89 85 e4 00 00 - 00 mov DWORD PTR k$[rbp], eax - 013eb 48 8b 85 28 02 - 00 00 mov rax, QWORD PTR in$6[rbp] - 013f2 48 ff c0 inc rax - 013f5 48 89 85 28 02 - 00 00 mov QWORD PTR in$6[rbp], rax -$LN85@stbi__crea: - 013fc 83 bd e4 00 00 - 00 04 cmp DWORD PTR k$[rbp], 4 - 01403 0f 8c cf 00 00 - 00 jl $LN84@stbi__crea - -; 4938 : *cur++ = scale * ((*in >> 6)); - - 01409 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 01410 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 01417 0f b6 09 movzx ecx, BYTE PTR [rcx] - 0141a c1 f9 06 sar ecx, 6 - 0141d 0f af c1 imul eax, ecx - 01420 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 01427 88 01 mov BYTE PTR [rcx], al - 01429 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 01430 48 ff c0 inc rax - 01433 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax - -; 4939 : *cur++ = scale * ((*in >> 4) & 0x03); - - 0143a 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 01441 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 01448 0f b6 09 movzx ecx, BYTE PTR [rcx] - 0144b c1 f9 04 sar ecx, 4 - 0144e 83 e1 03 and ecx, 3 - 01451 0f af c1 imul eax, ecx - 01454 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 0145b 88 01 mov BYTE PTR [rcx], al - 0145d 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 01464 48 ff c0 inc rax - 01467 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax - -; 4940 : *cur++ = scale * ((*in >> 2) & 0x03); - - 0146e 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 01475 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 0147c 0f b6 09 movzx ecx, BYTE PTR [rcx] - 0147f c1 f9 02 sar ecx, 2 - 01482 83 e1 03 and ecx, 3 - 01485 0f af c1 imul eax, ecx - 01488 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 0148f 88 01 mov BYTE PTR [rcx], al - 01491 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 01498 48 ff c0 inc rax - 0149b 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax - -; 4941 : *cur++ = scale * ((*in) & 0x03); - - 014a2 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 014a9 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 014b0 0f b6 09 movzx ecx, BYTE PTR [rcx] - 014b3 83 e1 03 and ecx, 3 - 014b6 0f af c1 imul eax, ecx - 014b9 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 014c0 88 01 mov BYTE PTR [rcx], al - 014c2 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 014c9 48 ff c0 inc rax - 014cc 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax - -; 4942 : } - - 014d3 e9 04 ff ff ff jmp $LN83@stbi__crea -$LN84@stbi__crea: - -; 4943 : if (k > 0) - - 014d8 83 bd e4 00 00 - 00 00 cmp DWORD PTR k$[rbp], 0 - 014df 7e 31 jle SHORT $LN143@stbi__crea - -; 4944 : *cur++ = scale * ((*in >> 6)); - - 014e1 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 014e8 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 014ef 0f b6 09 movzx ecx, BYTE PTR [rcx] - 014f2 c1 f9 06 sar ecx, 6 - 014f5 0f af c1 imul eax, ecx - 014f8 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 014ff 88 01 mov BYTE PTR [rcx], al - 01501 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 01508 48 ff c0 inc rax - 0150b 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax -$LN143@stbi__crea: - -; 4945 : if (k > 1) - - 01512 83 bd e4 00 00 - 00 01 cmp DWORD PTR k$[rbp], 1 - 01519 7e 34 jle SHORT $LN144@stbi__crea - -; 4946 : *cur++ = scale * ((*in >> 4) & 0x03); - - 0151b 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 01522 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 01529 0f b6 09 movzx ecx, BYTE PTR [rcx] - 0152c c1 f9 04 sar ecx, 4 - 0152f 83 e1 03 and ecx, 3 - 01532 0f af c1 imul eax, ecx - 01535 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 0153c 88 01 mov BYTE PTR [rcx], al - 0153e 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 01545 48 ff c0 inc rax - 01548 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax -$LN144@stbi__crea: - -; 4947 : if (k > 2) - - 0154f 83 bd e4 00 00 - 00 02 cmp DWORD PTR k$[rbp], 2 - 01556 7e 34 jle SHORT $LN145@stbi__crea - -; 4948 : *cur++ = scale * ((*in >> 2) & 0x03); - - 01558 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 0155f 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 01566 0f b6 09 movzx ecx, BYTE PTR [rcx] - 01569 c1 f9 02 sar ecx, 2 - 0156c 83 e1 03 and ecx, 3 - 0156f 0f af c1 imul eax, ecx - 01572 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 01579 88 01 mov BYTE PTR [rcx], al - 0157b 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 01582 48 ff c0 inc rax - 01585 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax -$LN145@stbi__crea: - -; 4949 : } else if (depth == 1) { - - 0158c e9 94 03 00 00 jmp $LN142@stbi__crea -$LN141@stbi__crea: - 01591 83 bd 90 04 00 - 00 01 cmp DWORD PTR depth$[rbp], 1 - 01598 0f 85 87 03 00 - 00 jne $LN146@stbi__crea - -; 4950 : for (k = x * img_n; k >= 8; k -= 8, ++in) { - - 0159e 8b 85 80 04 00 - 00 mov eax, DWORD PTR x$[rbp] - 015a4 0f af 85 04 01 - 00 00 imul eax, DWORD PTR img_n$[rbp] - 015ab 89 85 e4 00 00 - 00 mov DWORD PTR k$[rbp], eax - 015b1 eb 20 jmp SHORT $LN88@stbi__crea -$LN86@stbi__crea: - 015b3 8b 85 e4 00 00 - 00 mov eax, DWORD PTR k$[rbp] - 015b9 83 e8 08 sub eax, 8 - 015bc 89 85 e4 00 00 - 00 mov DWORD PTR k$[rbp], eax - 015c2 48 8b 85 28 02 - 00 00 mov rax, QWORD PTR in$6[rbp] - 015c9 48 ff c0 inc rax - 015cc 48 89 85 28 02 - 00 00 mov QWORD PTR in$6[rbp], rax -$LN88@stbi__crea: - 015d3 83 bd e4 00 00 - 00 08 cmp DWORD PTR k$[rbp], 8 - 015da 0f 8c 9e 01 00 - 00 jl $LN87@stbi__crea - -; 4951 : *cur++ = scale * ((*in >> 7)); - - 015e0 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 015e7 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 015ee 0f b6 09 movzx ecx, BYTE PTR [rcx] - 015f1 c1 f9 07 sar ecx, 7 - 015f4 0f af c1 imul eax, ecx - 015f7 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 015fe 88 01 mov BYTE PTR [rcx], al - 01600 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 01607 48 ff c0 inc rax - 0160a 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax - -; 4952 : *cur++ = scale * ((*in >> 6) & 0x01); - - 01611 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 01618 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 0161f 0f b6 09 movzx ecx, BYTE PTR [rcx] - 01622 c1 f9 06 sar ecx, 6 - 01625 83 e1 01 and ecx, 1 - 01628 0f af c1 imul eax, ecx - 0162b 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 01632 88 01 mov BYTE PTR [rcx], al - 01634 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 0163b 48 ff c0 inc rax - 0163e 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax - -; 4953 : *cur++ = scale * ((*in >> 5) & 0x01); - - 01645 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 0164c 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 01653 0f b6 09 movzx ecx, BYTE PTR [rcx] - 01656 c1 f9 05 sar ecx, 5 - 01659 83 e1 01 and ecx, 1 - 0165c 0f af c1 imul eax, ecx - 0165f 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 01666 88 01 mov BYTE PTR [rcx], al - 01668 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 0166f 48 ff c0 inc rax - 01672 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax - -; 4954 : *cur++ = scale * ((*in >> 4) & 0x01); - - 01679 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 01680 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 01687 0f b6 09 movzx ecx, BYTE PTR [rcx] - 0168a c1 f9 04 sar ecx, 4 - 0168d 83 e1 01 and ecx, 1 - 01690 0f af c1 imul eax, ecx - 01693 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 0169a 88 01 mov BYTE PTR [rcx], al - 0169c 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 016a3 48 ff c0 inc rax - 016a6 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax - -; 4955 : *cur++ = scale * ((*in >> 3) & 0x01); - - 016ad 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 016b4 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 016bb 0f b6 09 movzx ecx, BYTE PTR [rcx] - 016be c1 f9 03 sar ecx, 3 - 016c1 83 e1 01 and ecx, 1 - 016c4 0f af c1 imul eax, ecx - 016c7 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 016ce 88 01 mov BYTE PTR [rcx], al - 016d0 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 016d7 48 ff c0 inc rax - 016da 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax - -; 4956 : *cur++ = scale * ((*in >> 2) & 0x01); - - 016e1 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 016e8 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 016ef 0f b6 09 movzx ecx, BYTE PTR [rcx] - 016f2 c1 f9 02 sar ecx, 2 - 016f5 83 e1 01 and ecx, 1 - 016f8 0f af c1 imul eax, ecx - 016fb 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 01702 88 01 mov BYTE PTR [rcx], al - 01704 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 0170b 48 ff c0 inc rax - 0170e 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax - -; 4957 : *cur++ = scale * ((*in >> 1) & 0x01); - - 01715 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 0171c 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 01723 0f b6 09 movzx ecx, BYTE PTR [rcx] - 01726 d1 f9 sar ecx, 1 - 01728 83 e1 01 and ecx, 1 - 0172b 0f af c1 imul eax, ecx - 0172e 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 01735 88 01 mov BYTE PTR [rcx], al - 01737 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 0173e 48 ff c0 inc rax - 01741 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax - -; 4958 : *cur++ = scale * ((*in) & 0x01); - - 01748 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 0174f 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 01756 0f b6 09 movzx ecx, BYTE PTR [rcx] - 01759 83 e1 01 and ecx, 1 - 0175c 0f af c1 imul eax, ecx - 0175f 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 01766 88 01 mov BYTE PTR [rcx], al - 01768 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 0176f 48 ff c0 inc rax - 01772 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax - -; 4959 : } - - 01779 e9 35 fe ff ff jmp $LN86@stbi__crea -$LN87@stbi__crea: - -; 4960 : if (k > 0) - - 0177e 83 bd e4 00 00 - 00 00 cmp DWORD PTR k$[rbp], 0 - 01785 7e 31 jle SHORT $LN147@stbi__crea - -; 4961 : *cur++ = scale * ((*in >> 7)); - - 01787 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 0178e 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 01795 0f b6 09 movzx ecx, BYTE PTR [rcx] - 01798 c1 f9 07 sar ecx, 7 - 0179b 0f af c1 imul eax, ecx - 0179e 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 017a5 88 01 mov BYTE PTR [rcx], al - 017a7 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 017ae 48 ff c0 inc rax - 017b1 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax -$LN147@stbi__crea: - -; 4962 : if (k > 1) - - 017b8 83 bd e4 00 00 - 00 01 cmp DWORD PTR k$[rbp], 1 - 017bf 7e 34 jle SHORT $LN148@stbi__crea - -; 4963 : *cur++ = scale * ((*in >> 6) & 0x01); - - 017c1 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 017c8 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 017cf 0f b6 09 movzx ecx, BYTE PTR [rcx] - 017d2 c1 f9 06 sar ecx, 6 - 017d5 83 e1 01 and ecx, 1 - 017d8 0f af c1 imul eax, ecx - 017db 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 017e2 88 01 mov BYTE PTR [rcx], al - 017e4 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 017eb 48 ff c0 inc rax - 017ee 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax -$LN148@stbi__crea: - -; 4964 : if (k > 2) - - 017f5 83 bd e4 00 00 - 00 02 cmp DWORD PTR k$[rbp], 2 - 017fc 7e 34 jle SHORT $LN149@stbi__crea - -; 4965 : *cur++ = scale * ((*in >> 5) & 0x01); - - 017fe 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 01805 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 0180c 0f b6 09 movzx ecx, BYTE PTR [rcx] - 0180f c1 f9 05 sar ecx, 5 - 01812 83 e1 01 and ecx, 1 - 01815 0f af c1 imul eax, ecx - 01818 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 0181f 88 01 mov BYTE PTR [rcx], al - 01821 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 01828 48 ff c0 inc rax - 0182b 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax -$LN149@stbi__crea: - -; 4966 : if (k > 3) - - 01832 83 bd e4 00 00 - 00 03 cmp DWORD PTR k$[rbp], 3 - 01839 7e 34 jle SHORT $LN150@stbi__crea - -; 4967 : *cur++ = scale * ((*in >> 4) & 0x01); - - 0183b 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 01842 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 01849 0f b6 09 movzx ecx, BYTE PTR [rcx] - 0184c c1 f9 04 sar ecx, 4 - 0184f 83 e1 01 and ecx, 1 - 01852 0f af c1 imul eax, ecx - 01855 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 0185c 88 01 mov BYTE PTR [rcx], al - 0185e 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 01865 48 ff c0 inc rax - 01868 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax -$LN150@stbi__crea: - -; 4968 : if (k > 4) - - 0186f 83 bd e4 00 00 - 00 04 cmp DWORD PTR k$[rbp], 4 - 01876 7e 34 jle SHORT $LN151@stbi__crea - -; 4969 : *cur++ = scale * ((*in >> 3) & 0x01); - - 01878 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 0187f 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 01886 0f b6 09 movzx ecx, BYTE PTR [rcx] - 01889 c1 f9 03 sar ecx, 3 - 0188c 83 e1 01 and ecx, 1 - 0188f 0f af c1 imul eax, ecx - 01892 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 01899 88 01 mov BYTE PTR [rcx], al - 0189b 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 018a2 48 ff c0 inc rax - 018a5 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax -$LN151@stbi__crea: - -; 4970 : if (k > 5) - - 018ac 83 bd e4 00 00 - 00 05 cmp DWORD PTR k$[rbp], 5 - 018b3 7e 34 jle SHORT $LN152@stbi__crea - -; 4971 : *cur++ = scale * ((*in >> 2) & 0x01); - - 018b5 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 018bc 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 018c3 0f b6 09 movzx ecx, BYTE PTR [rcx] - 018c6 c1 f9 02 sar ecx, 2 - 018c9 83 e1 01 and ecx, 1 - 018cc 0f af c1 imul eax, ecx - 018cf 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 018d6 88 01 mov BYTE PTR [rcx], al - 018d8 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 018df 48 ff c0 inc rax - 018e2 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax -$LN152@stbi__crea: - -; 4972 : if (k > 6) - - 018e9 83 bd e4 00 00 - 00 06 cmp DWORD PTR k$[rbp], 6 - 018f0 7e 33 jle SHORT $LN153@stbi__crea - -; 4973 : *cur++ = scale * ((*in >> 1) & 0x01); - - 018f2 0f b6 85 44 02 - 00 00 movzx eax, BYTE PTR scale$7[rbp] - 018f9 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR in$6[rbp] - 01900 0f b6 09 movzx ecx, BYTE PTR [rcx] - 01903 d1 f9 sar ecx, 1 - 01905 83 e1 01 and ecx, 1 - 01908 0f af c1 imul eax, ecx - 0190b 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 01912 88 01 mov BYTE PTR [rcx], al - 01914 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR cur$5[rbp] - 0191b 48 ff c0 inc rax - 0191e 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax -$LN153@stbi__crea: -$LN146@stbi__crea: -$LN142@stbi__crea: -$LN139@stbi__crea: - -; 4974 : } -; 4975 : if (img_n != out_n) { - - 01925 8b 85 78 04 00 - 00 mov eax, DWORD PTR out_n$[rbp] - 0192b 39 85 04 01 00 - 00 cmp DWORD PTR img_n$[rbp], eax - 01931 0f 84 91 01 00 - 00 je $LN154@stbi__crea - -; 4976 : int q; -; 4977 : // insert alpha = 255 -; 4978 : cur = a->out + stride * j; - - 01937 8b 85 84 00 00 - 00 mov eax, DWORD PTR stride$[rbp] - 0193d 0f af 45 64 imul eax, DWORD PTR j$[rbp] - 01941 8b c0 mov eax, eax - 01943 48 8b 8d 60 04 - 00 00 mov rcx, QWORD PTR a$[rbp] - 0194a 48 03 41 18 add rax, QWORD PTR [rcx+24] - 0194e 48 89 85 08 02 - 00 00 mov QWORD PTR cur$5[rbp], rax - -; 4979 : if (img_n == 1) { - - 01955 83 bd 04 01 00 - 00 01 cmp DWORD PTR img_n$[rbp], 1 - 0195c 75 6d jne SHORT $LN155@stbi__crea - -; 4980 : for (q = x - 1; q >= 0; --q) { - - 0195e 8b 85 80 04 00 - 00 mov eax, DWORD PTR x$[rbp] - 01964 ff c8 dec eax - 01966 89 85 64 02 00 - 00 mov DWORD PTR q$8[rbp], eax - 0196c eb 0e jmp SHORT $LN91@stbi__crea -$LN89@stbi__crea: - 0196e 8b 85 64 02 00 - 00 mov eax, DWORD PTR q$8[rbp] - 01974 ff c8 dec eax - 01976 89 85 64 02 00 - 00 mov DWORD PTR q$8[rbp], eax -$LN91@stbi__crea: - 0197c 83 bd 64 02 00 - 00 00 cmp DWORD PTR q$8[rbp], 0 - 01983 7c 41 jl SHORT $LN90@stbi__crea - -; 4981 : cur[q * 2 + 1] = 255; - - 01985 8b 85 64 02 00 - 00 mov eax, DWORD PTR q$8[rbp] - 0198b 8d 44 00 01 lea eax, DWORD PTR [rax+rax+1] - 0198f 48 98 cdqe - 01991 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 01998 c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - -; 4982 : cur[q * 2 + 0] = cur[q]; - - 0199c 48 63 85 64 02 - 00 00 movsxd rax, DWORD PTR q$8[rbp] - 019a3 8b 8d 64 02 00 - 00 mov ecx, DWORD PTR q$8[rbp] - 019a9 03 c9 add ecx, ecx - 019ab 48 63 c9 movsxd rcx, ecx - 019ae 48 8b 95 08 02 - 00 00 mov rdx, QWORD PTR cur$5[rbp] - 019b5 4c 8b 85 08 02 - 00 00 mov r8, QWORD PTR cur$5[rbp] - 019bc 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 019c1 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4983 : } - - 019c4 eb a8 jmp SHORT $LN89@stbi__crea -$LN90@stbi__crea: - -; 4984 : } else { - - 019c6 e9 fd 00 00 00 jmp $LN156@stbi__crea -$LN155@stbi__crea: - -; 4985 : STBI_ASSERT(img_n == 3); - - 019cb 83 bd 04 01 00 - 00 03 cmp DWORD PTR img_n$[rbp], 3 - 019d2 74 1c je SHORT $LN165@stbi__crea - 019d4 41 b8 79 13 00 - 00 mov r8d, 4985 ; 00001379H - 019da 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_1GG@PCNMFHPN@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ - 019e1 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_1BG@FLOPDKAN@?$AAi?$AAm?$AAg?$AA_?$AAn?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA3@ - 019e8 ff 15 00 00 00 - 00 call QWORD PTR __imp__wassert - 019ee 33 c0 xor eax, eax -$LN165@stbi__crea: - -; 4986 : for (q = x - 1; q >= 0; --q) { - - 019f0 8b 85 80 04 00 - 00 mov eax, DWORD PTR x$[rbp] - 019f6 ff c8 dec eax - 019f8 89 85 64 02 00 - 00 mov DWORD PTR q$8[rbp], eax - 019fe eb 0e jmp SHORT $LN94@stbi__crea -$LN92@stbi__crea: - 01a00 8b 85 64 02 00 - 00 mov eax, DWORD PTR q$8[rbp] - 01a06 ff c8 dec eax - 01a08 89 85 64 02 00 - 00 mov DWORD PTR q$8[rbp], eax -$LN94@stbi__crea: - 01a0e 83 bd 64 02 00 - 00 00 cmp DWORD PTR q$8[rbp], 0 - 01a15 0f 8c ad 00 00 - 00 jl $LN93@stbi__crea - -; 4987 : cur[q * 4 + 3] = 255; - - 01a1b 8b 85 64 02 00 - 00 mov eax, DWORD PTR q$8[rbp] - 01a21 8d 04 85 03 00 - 00 00 lea eax, DWORD PTR [rax*4+3] - 01a28 48 98 cdqe - 01a2a 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR cur$5[rbp] - 01a31 c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - -; 4988 : cur[q * 4 + 2] = cur[q * 3 + 2]; - - 01a35 6b 85 64 02 00 - 00 03 imul eax, DWORD PTR q$8[rbp], 3 - 01a3c 83 c0 02 add eax, 2 - 01a3f 48 98 cdqe - 01a41 8b 8d 64 02 00 - 00 mov ecx, DWORD PTR q$8[rbp] - 01a47 8d 0c 8d 02 00 - 00 00 lea ecx, DWORD PTR [rcx*4+2] - 01a4e 48 63 c9 movsxd rcx, ecx - 01a51 48 8b 95 08 02 - 00 00 mov rdx, QWORD PTR cur$5[rbp] - 01a58 4c 8b 85 08 02 - 00 00 mov r8, QWORD PTR cur$5[rbp] - 01a5f 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 01a64 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4989 : cur[q * 4 + 1] = cur[q * 3 + 1]; - - 01a67 6b 85 64 02 00 - 00 03 imul eax, DWORD PTR q$8[rbp], 3 - 01a6e ff c0 inc eax - 01a70 48 98 cdqe - 01a72 8b 8d 64 02 00 - 00 mov ecx, DWORD PTR q$8[rbp] - 01a78 8d 0c 8d 01 00 - 00 00 lea ecx, DWORD PTR [rcx*4+1] - 01a7f 48 63 c9 movsxd rcx, ecx - 01a82 48 8b 95 08 02 - 00 00 mov rdx, QWORD PTR cur$5[rbp] - 01a89 4c 8b 85 08 02 - 00 00 mov r8, QWORD PTR cur$5[rbp] - 01a90 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 01a95 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4990 : cur[q * 4 + 0] = cur[q * 3 + 0]; - - 01a98 6b 85 64 02 00 - 00 03 imul eax, DWORD PTR q$8[rbp], 3 - 01a9f 48 98 cdqe - 01aa1 8b 8d 64 02 00 - 00 mov ecx, DWORD PTR q$8[rbp] - 01aa7 c1 e1 02 shl ecx, 2 - 01aaa 48 63 c9 movsxd rcx, ecx - 01aad 48 8b 95 08 02 - 00 00 mov rdx, QWORD PTR cur$5[rbp] - 01ab4 4c 8b 85 08 02 - 00 00 mov r8, QWORD PTR cur$5[rbp] - 01abb 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 01ac0 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 4991 : } - - 01ac3 e9 38 ff ff ff jmp $LN92@stbi__crea -$LN93@stbi__crea: -$LN156@stbi__crea: -$LN154@stbi__crea: - -; 4992 : } -; 4993 : } -; 4994 : } - - 01ac8 e9 4e f7 ff ff jmp $LN77@stbi__crea -$LN78@stbi__crea: - -; 4995 : } else if (depth == 16) { - - 01acd e9 b4 00 00 00 jmp $LN137@stbi__crea -$LN136@stbi__crea: - 01ad2 83 bd 90 04 00 - 00 10 cmp DWORD PTR depth$[rbp], 16 - 01ad9 0f 85 a7 00 00 - 00 jne $LN157@stbi__crea - -; 4996 : // force the image data from big-endian to platform-native. -; 4997 : // this is done in a separate pass due to the decoding relying -; 4998 : // on the data being untouched, but could probably be done -; 4999 : // per-line during decode if care is taken. -; 5000 : stbi_uc *cur = a->out; - - 01adf 48 8b 85 60 04 - 00 00 mov rax, QWORD PTR a$[rbp] - 01ae6 48 8b 40 18 mov rax, QWORD PTR [rax+24] - 01aea 48 89 85 88 02 - 00 00 mov QWORD PTR cur$9[rbp], rax - -; 5001 : stbi__uint16 *cur16 = (stbi__uint16 *)cur; - - 01af1 48 8b 85 88 02 - 00 00 mov rax, QWORD PTR cur$9[rbp] - 01af8 48 89 85 a8 02 - 00 00 mov QWORD PTR cur16$10[rbp], rax - -; 5002 : -; 5003 : for (i = 0; i < x * y * out_n; ++i, cur16++, cur += 2) { - - 01aff c7 45 44 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 01b06 eb 2c jmp SHORT $LN97@stbi__crea -$LN95@stbi__crea: - 01b08 8b 45 44 mov eax, DWORD PTR i$[rbp] - 01b0b ff c0 inc eax - 01b0d 89 45 44 mov DWORD PTR i$[rbp], eax - 01b10 48 8b 85 a8 02 - 00 00 mov rax, QWORD PTR cur16$10[rbp] - 01b17 48 83 c0 02 add rax, 2 - 01b1b 48 89 85 a8 02 - 00 00 mov QWORD PTR cur16$10[rbp], rax - 01b22 48 8b 85 88 02 - 00 00 mov rax, QWORD PTR cur$9[rbp] - 01b29 48 83 c0 02 add rax, 2 - 01b2d 48 89 85 88 02 - 00 00 mov QWORD PTR cur$9[rbp], rax -$LN97@stbi__crea: - 01b34 8b 85 80 04 00 - 00 mov eax, DWORD PTR x$[rbp] - 01b3a 0f af 85 88 04 - 00 00 imul eax, DWORD PTR y$[rbp] - 01b41 0f af 85 78 04 - 00 00 imul eax, DWORD PTR out_n$[rbp] - 01b48 39 45 44 cmp DWORD PTR i$[rbp], eax - 01b4b 73 39 jae SHORT $LN96@stbi__crea - -; 5004 : *cur16 = (cur[0] << 8) | cur[1]; - - 01b4d b8 01 00 00 00 mov eax, 1 - 01b52 48 6b c0 00 imul rax, rax, 0 - 01b56 48 8b 8d 88 02 - 00 00 mov rcx, QWORD PTR cur$9[rbp] - 01b5d 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 01b61 c1 e0 08 shl eax, 8 - 01b64 b9 01 00 00 00 mov ecx, 1 - 01b69 48 6b c9 01 imul rcx, rcx, 1 - 01b6d 48 8b 95 88 02 - 00 00 mov rdx, QWORD PTR cur$9[rbp] - 01b74 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 01b78 0b c1 or eax, ecx - 01b7a 48 8b 8d a8 02 - 00 00 mov rcx, QWORD PTR cur16$10[rbp] - 01b81 66 89 01 mov WORD PTR [rcx], ax - -; 5005 : } - - 01b84 eb 82 jmp SHORT $LN95@stbi__crea -$LN96@stbi__crea: -$LN157@stbi__crea: -$LN137@stbi__crea: - -; 5006 : } -; 5007 : -; 5008 : return 1; - - 01b86 b8 01 00 00 00 mov eax, 1 -$LN1@stbi__crea: - -; 5009 : } - - 01b8b 48 8d a5 48 04 - 00 00 lea rsp, QWORD PTR [rbp+1096] - 01b92 5f pop rdi - 01b93 5d pop rbp - 01b94 c3 ret 0 - 01b95 0f 1f 00 npad 3 -$LN168@stbi__crea: - 01b98 00 00 00 00 DD $LN105@stbi__crea - 01b9c 00 00 00 00 DD $LN106@stbi__crea - 01ba0 00 00 00 00 DD $LN107@stbi__crea - 01ba4 00 00 00 00 DD $LN108@stbi__crea - 01ba8 00 00 00 00 DD $LN109@stbi__crea - 01bac 00 00 00 00 DD $LN110@stbi__crea - 01bb0 00 00 00 00 DD $LN111@stbi__crea -$LN167@stbi__crea: - 01bb4 00 00 00 00 DD $LN121@stbi__crea - 01bb8 00 00 00 00 DD $LN122@stbi__crea - 01bbc 00 00 00 00 DD $LN123@stbi__crea - 01bc0 00 00 00 00 DD $LN124@stbi__crea - 01bc4 00 00 00 00 DD $LN125@stbi__crea - 01bc8 00 00 00 00 DD $LN126@stbi__crea - 01bcc 00 00 00 00 DD $LN127@stbi__crea -$LN166@stbi__crea: - 01bd0 00 00 00 00 DD $LN128@stbi__crea - 01bd4 00 00 00 00 DD $LN129@stbi__crea - 01bd8 00 00 00 00 DD $LN130@stbi__crea - 01bdc 00 00 00 00 DD $LN131@stbi__crea - 01be0 00 00 00 00 DD $LN132@stbi__crea - 01be4 00 00 00 00 DD $LN133@stbi__crea - 01be8 00 00 00 00 DD $LN134@stbi__crea -stbi__create_png_image_raw ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__paeth -_TEXT SEGMENT -p$ = 4 -pa$ = 36 -pb$ = 68 -pc$ = 100 -a$ = 352 -b$ = 360 -c$ = 368 -stbi__paeth PROC ; COMDAT - -; 4681 : { - - 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 00005 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00009 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 0000d 55 push rbp - 0000e 57 push rdi - 0000f 48 81 ec 68 01 - 00 00 sub rsp, 360 ; 00000168H - 00016 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00022 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00027 90 npad 1 - -; 4682 : int p = a + b - c; - - 00028 8b 85 68 01 00 - 00 mov eax, DWORD PTR b$[rbp] - 0002e 8b 8d 60 01 00 - 00 mov ecx, DWORD PTR a$[rbp] - 00034 03 c8 add ecx, eax - 00036 8b c1 mov eax, ecx - 00038 2b 85 70 01 00 - 00 sub eax, DWORD PTR c$[rbp] - 0003e 89 45 04 mov DWORD PTR p$[rbp], eax - -; 4683 : int pa = abs(p - a); - - 00041 8b 85 60 01 00 - 00 mov eax, DWORD PTR a$[rbp] - 00047 8b 4d 04 mov ecx, DWORD PTR p$[rbp] - 0004a 2b c8 sub ecx, eax - 0004c 8b c1 mov eax, ecx - 0004e 8b c8 mov ecx, eax - 00050 e8 00 00 00 00 call abs - 00055 89 45 24 mov DWORD PTR pa$[rbp], eax - -; 4684 : int pb = abs(p - b); - - 00058 8b 85 68 01 00 - 00 mov eax, DWORD PTR b$[rbp] - 0005e 8b 4d 04 mov ecx, DWORD PTR p$[rbp] - 00061 2b c8 sub ecx, eax - 00063 8b c1 mov eax, ecx - 00065 8b c8 mov ecx, eax - 00067 e8 00 00 00 00 call abs - 0006c 89 45 44 mov DWORD PTR pb$[rbp], eax - -; 4685 : int pc = abs(p - c); - - 0006f 8b 85 70 01 00 - 00 mov eax, DWORD PTR c$[rbp] - 00075 8b 4d 04 mov ecx, DWORD PTR p$[rbp] - 00078 2b c8 sub ecx, eax - 0007a 8b c1 mov eax, ecx - 0007c 8b c8 mov ecx, eax - 0007e e8 00 00 00 00 call abs - 00083 89 45 64 mov DWORD PTR pc$[rbp], eax - -; 4686 : if (pa <= pb && pa <= pc) - - 00086 8b 45 44 mov eax, DWORD PTR pb$[rbp] - 00089 39 45 24 cmp DWORD PTR pa$[rbp], eax - 0008c 7f 10 jg SHORT $LN2@stbi__paet - 0008e 8b 45 64 mov eax, DWORD PTR pc$[rbp] - 00091 39 45 24 cmp DWORD PTR pa$[rbp], eax - 00094 7f 08 jg SHORT $LN2@stbi__paet - -; 4687 : return a; - - 00096 8b 85 60 01 00 - 00 mov eax, DWORD PTR a$[rbp] - 0009c eb 16 jmp SHORT $LN1@stbi__paet -$LN2@stbi__paet: - -; 4688 : if (pb <= pc) - - 0009e 8b 45 64 mov eax, DWORD PTR pc$[rbp] - 000a1 39 45 44 cmp DWORD PTR pb$[rbp], eax - 000a4 7f 08 jg SHORT $LN3@stbi__paet - -; 4689 : return b; - - 000a6 8b 85 68 01 00 - 00 mov eax, DWORD PTR b$[rbp] - 000ac eb 06 jmp SHORT $LN1@stbi__paet -$LN3@stbi__paet: - -; 4690 : return c; - - 000ae 8b 85 70 01 00 - 00 mov eax, DWORD PTR c$[rbp] -$LN1@stbi__paet: - -; 4691 : } - - 000b4 48 8d a5 48 01 - 00 00 lea rsp, QWORD PTR [rbp+328] - 000bb 5f pop rdi - 000bc 5d pop rbp - 000bd c3 ret 0 -stbi__paeth ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__check_png_header -_TEXT SEGMENT -i$ = 4 -s$ = 256 -stbi__check_png_header PROC ; COMDAT - -; 4651 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 4652 : static const stbi_uc png_sig[8] = { 137, 80, 78, 71, 13, 10, 26, 10 }; -; 4653 : int i; -; 4654 : for (i = 0; i < 8; ++i) - - 00020 c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 00027 eb 08 jmp SHORT $LN4@stbi__chec -$LN2@stbi__chec: - 00029 8b 45 04 mov eax, DWORD PTR i$[rbp] - 0002c ff c0 inc eax - 0002e 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__chec: - 00031 83 7d 04 08 cmp DWORD PTR i$[rbp], 8 - 00035 7d 32 jge SHORT $LN3@stbi__chec - -; 4655 : if (stbi__get8(s) != png_sig[i]) - - 00037 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0003e e8 00 00 00 00 call stbi__get8 - 00043 0f b6 c0 movzx eax, al - 00046 48 63 4d 04 movsxd rcx, DWORD PTR i$[rbp] - 0004a 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:?png_sig@?1??stbi__check_png_header@@9@9 - 00051 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 00055 3b c1 cmp eax, ecx - 00057 74 0e je SHORT $LN5@stbi__chec - -; 4656 : return stbi__err("bad png sig", "Not a PNG"); - - 00059 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0M@DMDNBACF@bad?5png?5sig@ - 00060 e8 00 00 00 00 call stbi__err - 00065 eb 07 jmp SHORT $LN1@stbi__chec -$LN5@stbi__chec: - 00067 eb c0 jmp SHORT $LN2@stbi__chec -$LN3@stbi__chec: - -; 4657 : return 1; - - 00069 b8 01 00 00 00 mov eax, 1 -$LN1@stbi__chec: - -; 4658 : } - - 0006e 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 00075 5f pop rdi - 00076 5d pop rbp - 00077 c3 ret 0 -stbi__check_png_header ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__get_chunk_header -_TEXT SEGMENT -c$ = 8 -s$ = 256 -stbi__get_chunk_header PROC ; COMDAT - -; 4643 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 00018 b9 0a 00 00 00 mov ecx, 10 - 0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00022 f3 ab rep stosd - 00024 48 8b 8c 24 28 - 01 00 00 mov rcx, QWORD PTR [rsp+296] - 0002c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00033 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00038 90 npad 1 - -; 4644 : stbi__pngchunk c; -; 4645 : c.length = stbi__get32be(s); - - 00039 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00040 e8 00 00 00 00 call stbi__get32be - 00045 89 45 08 mov DWORD PTR c$[rbp], eax - -; 4646 : c.type = stbi__get32be(s); - - 00048 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0004f e8 00 00 00 00 call stbi__get32be - 00054 89 45 0c mov DWORD PTR c$[rbp+4], eax - -; 4647 : return c; - - 00057 48 8b 45 08 mov rax, QWORD PTR c$[rbp] - -; 4648 : } - - 0005b 48 8b f8 mov rdi, rax - 0005e 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 00062 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__get_chunk_header$rtcFrameData - 00069 e8 00 00 00 00 call _RTC_CheckStackVars - 0006e 48 8b c7 mov rax, rdi - 00071 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 00078 5f pop rdi - 00079 5d pop rbp - 0007a c3 ret 0 -stbi__get_chunk_header ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__do_zlib -_TEXT SEGMENT -a$ = 224 -obuf$ = 232 -olen$ = 240 -exp$ = 248 -parse_header$ = 256 -stbi__do_zlib PROC ; COMDAT - -; 4532 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 4533 : a->zout_start = obuf; - - 0002f 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR a$[rbp] - 00036 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR obuf$[rbp] - 0003d 48 89 48 20 mov QWORD PTR [rax+32], rcx - -; 4534 : a->zout = obuf; - - 00041 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR a$[rbp] - 00048 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR obuf$[rbp] - 0004f 48 89 48 18 mov QWORD PTR [rax+24], rcx - -; 4535 : a->zout_end = obuf + olen; - - 00053 48 63 85 f0 00 - 00 00 movsxd rax, DWORD PTR olen$[rbp] - 0005a 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR obuf$[rbp] - 00061 48 03 c8 add rcx, rax - 00064 48 8b c1 mov rax, rcx - 00067 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR a$[rbp] - 0006e 48 89 41 28 mov QWORD PTR [rcx+40], rax - -; 4536 : a->z_expandable = exp; - - 00072 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR a$[rbp] - 00079 8b 8d f8 00 00 - 00 mov ecx, DWORD PTR exp$[rbp] - 0007f 89 48 30 mov DWORD PTR [rax+48], ecx - -; 4537 : -; 4538 : return stbi__parse_zlib(a, parse_header); - - 00082 8b 95 00 01 00 - 00 mov edx, DWORD PTR parse_header$[rbp] - 00088 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR a$[rbp] - 0008f e8 00 00 00 00 call stbi__parse_zlib - -; 4539 : } - - 00094 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 0009b 5f pop rdi - 0009c 5d pop rbp - 0009d c3 ret 0 -stbi__do_zlib ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__parse_zlib -_TEXT SEGMENT -final$ = 4 -type$ = 36 -a$ = 288 -parse_header$ = 296 -stbi__parse_zlib PROC ; COMDAT - -; 4496 : { - - 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00009 55 push rbp - 0000a 57 push rdi - 0000b 48 81 ec 28 01 - 00 00 sub rsp, 296 ; 00000128H - 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00017 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00023 90 npad 1 - -; 4497 : int final, type; -; 4498 : if (parse_header) - - 00024 83 bd 28 01 00 - 00 00 cmp DWORD PTR parse_header$[rbp], 0 - 0002b 74 17 je SHORT $LN5@stbi__pars - -; 4499 : if (!stbi__parse_zlib_header(a)) - - 0002d 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00034 e8 00 00 00 00 call stbi__parse_zlib_header - 00039 85 c0 test eax, eax - 0003b 75 07 jne SHORT $LN6@stbi__pars - -; 4500 : return 0; - - 0003d 33 c0 xor eax, eax - 0003f e9 09 01 00 00 jmp $LN1@stbi__pars -$LN6@stbi__pars: -$LN5@stbi__pars: - -; 4501 : a->num_bits = 0; - - 00044 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 0004b c7 40 10 00 00 - 00 00 mov DWORD PTR [rax+16], 0 - -; 4502 : a->code_buffer = 0; - - 00052 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 00059 c7 40 14 00 00 - 00 00 mov DWORD PTR [rax+20], 0 -$LN4@stbi__pars: - -; 4503 : do { -; 4504 : final = stbi__zreceive(a, 1); - - 00060 ba 01 00 00 00 mov edx, 1 - 00065 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 0006c e8 00 00 00 00 call stbi__zreceive - 00071 89 45 04 mov DWORD PTR final$[rbp], eax - -; 4505 : type = stbi__zreceive(a, 2); - - 00074 ba 02 00 00 00 mov edx, 2 - 00079 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00080 e8 00 00 00 00 call stbi__zreceive - 00085 89 45 24 mov DWORD PTR type$[rbp], eax - -; 4506 : if (type == 0) { - - 00088 83 7d 24 00 cmp DWORD PTR type$[rbp], 0 - 0008c 75 1c jne SHORT $LN7@stbi__pars - -; 4507 : if (!stbi__parse_uncompressed_block(a)) - - 0008e 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00095 e8 00 00 00 00 call stbi__parse_uncompressed_block - 0009a 85 c0 test eax, eax - 0009c 75 07 jne SHORT $LN9@stbi__pars - -; 4508 : return 0; - - 0009e 33 c0 xor eax, eax - 000a0 e9 a8 00 00 00 jmp $LN1@stbi__pars -$LN9@stbi__pars: - -; 4509 : } else if (type == 3) { - - 000a5 e9 94 00 00 00 jmp $LN8@stbi__pars -$LN7@stbi__pars: - 000aa 83 7d 24 03 cmp DWORD PTR type$[rbp], 3 - 000ae 75 0c jne SHORT $LN10@stbi__pars - -; 4510 : return 0; - - 000b0 33 c0 xor eax, eax - 000b2 e9 96 00 00 00 jmp $LN1@stbi__pars - -; 4511 : } else { - - 000b7 e9 82 00 00 00 jmp $LN11@stbi__pars -$LN10@stbi__pars: - -; 4512 : if (type == 1) { - - 000bc 83 7d 24 01 cmp DWORD PTR type$[rbp], 1 - 000c0 75 54 jne SHORT $LN12@stbi__pars - -; 4513 : // use fixed code lengths -; 4514 : if (!stbi__zbuild_huffman(&a->z_length, stbi__zdefault_length, - - 000c2 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 000c9 48 83 c0 34 add rax, 52 ; 00000034H - 000cd 41 b8 20 01 00 - 00 mov r8d, 288 ; 00000120H - 000d3 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__zdefault_length - 000da 48 8b c8 mov rcx, rax - 000dd e8 00 00 00 00 call stbi__zbuild_huffman - 000e2 85 c0 test eax, eax - 000e4 75 04 jne SHORT $LN14@stbi__pars - -; 4515 : STBI__ZNSYMS)) -; 4516 : return 0; - - 000e6 33 c0 xor eax, eax - 000e8 eb 63 jmp SHORT $LN1@stbi__pars -$LN14@stbi__pars: - -; 4517 : if (!stbi__zbuild_huffman(&a->z_distance, stbi__zdefault_distance, - - 000ea 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 000f1 48 05 18 08 00 - 00 add rax, 2072 ; 00000818H - 000f7 41 b8 20 00 00 - 00 mov r8d, 32 ; 00000020H - 000fd 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__zdefault_distance - 00104 48 8b c8 mov rcx, rax - 00107 e8 00 00 00 00 call stbi__zbuild_huffman - 0010c 85 c0 test eax, eax - 0010e 75 04 jne SHORT $LN15@stbi__pars - -; 4518 : 32)) -; 4519 : return 0; - - 00110 33 c0 xor eax, eax - 00112 eb 39 jmp SHORT $LN1@stbi__pars -$LN15@stbi__pars: - -; 4520 : } else { - - 00114 eb 14 jmp SHORT $LN13@stbi__pars -$LN12@stbi__pars: - -; 4521 : if (!stbi__compute_huffman_codes(a)) - - 00116 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 0011d e8 00 00 00 00 call stbi__compute_huffman_codes - 00122 85 c0 test eax, eax - 00124 75 04 jne SHORT $LN16@stbi__pars - -; 4522 : return 0; - - 00126 33 c0 xor eax, eax - 00128 eb 23 jmp SHORT $LN1@stbi__pars -$LN16@stbi__pars: -$LN13@stbi__pars: - -; 4523 : } -; 4524 : if (!stbi__parse_huffman_block(a)) - - 0012a 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00131 e8 00 00 00 00 call stbi__parse_huffman_block - 00136 85 c0 test eax, eax - 00138 75 04 jne SHORT $LN17@stbi__pars - -; 4525 : return 0; - - 0013a 33 c0 xor eax, eax - 0013c eb 0f jmp SHORT $LN1@stbi__pars -$LN17@stbi__pars: -$LN11@stbi__pars: -$LN8@stbi__pars: - -; 4526 : } -; 4527 : } while (!final); - - 0013e 83 7d 04 00 cmp DWORD PTR final$[rbp], 0 - 00142 0f 84 18 ff ff - ff je $LN4@stbi__pars - -; 4528 : return 1; - - 00148 b8 01 00 00 00 mov eax, 1 -$LN1@stbi__pars: - -; 4529 : } - - 0014d 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 00154 5f pop rdi - 00155 5d pop rbp - 00156 c3 ret 0 -stbi__parse_zlib ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__parse_zlib_header -_TEXT SEGMENT -cmf$ = 4 -cm$ = 36 -flg$ = 68 -a$ = 320 -stbi__parse_zlib_header PROC ; COMDAT - -; 4447 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 48 01 - 00 00 sub rsp, 328 ; 00000148H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 4448 : int cmf = stbi__zget8(a); - - 00020 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00027 e8 00 00 00 00 call stbi__zget8 - 0002c 0f b6 c0 movzx eax, al - 0002f 89 45 04 mov DWORD PTR cmf$[rbp], eax - -; 4449 : int cm = cmf & 15; - - 00032 8b 45 04 mov eax, DWORD PTR cmf$[rbp] - 00035 83 e0 0f and eax, 15 - 00038 89 45 24 mov DWORD PTR cm$[rbp], eax - -; 4450 : /* int cinfo = cmf >> 4; */ -; 4451 : int flg = stbi__zget8(a); - - 0003b 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00042 e8 00 00 00 00 call stbi__zget8 - 00047 0f b6 c0 movzx eax, al - 0004a 89 45 44 mov DWORD PTR flg$[rbp], eax - -; 4452 : if (stbi__zeof(a)) - - 0004d 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00054 e8 00 00 00 00 call stbi__zeof - 00059 85 c0 test eax, eax - 0005b 74 0e je SHORT $LN2@stbi__pars - -; 4453 : return stbi__err("bad zlib header", "Corrupt PNG"); // zlib spec - - 0005d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BA@OBKOPAFL@bad?5zlib?5header@ - 00064 e8 00 00 00 00 call stbi__err - 00069 eb 57 jmp SHORT $LN1@stbi__pars -$LN2@stbi__pars: - -; 4454 : if ((cmf * 256 + flg) % 31 != 0) - - 0006b 69 45 04 00 01 - 00 00 imul eax, DWORD PTR cmf$[rbp], 256 ; 00000100H - 00072 03 45 44 add eax, DWORD PTR flg$[rbp] - 00075 99 cdq - 00076 b9 1f 00 00 00 mov ecx, 31 - 0007b f7 f9 idiv ecx - 0007d 8b c2 mov eax, edx - 0007f 85 c0 test eax, eax - 00081 74 0e je SHORT $LN3@stbi__pars - -; 4455 : return stbi__err("bad zlib header", "Corrupt PNG"); // zlib spec - - 00083 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BA@OBKOPAFL@bad?5zlib?5header@ - 0008a e8 00 00 00 00 call stbi__err - 0008f eb 31 jmp SHORT $LN1@stbi__pars -$LN3@stbi__pars: - -; 4456 : if (flg & 32) - - 00091 8b 45 44 mov eax, DWORD PTR flg$[rbp] - 00094 83 e0 20 and eax, 32 ; 00000020H - 00097 85 c0 test eax, eax - 00099 74 0e je SHORT $LN4@stbi__pars - -; 4457 : return stbi__err("no preset dict", - - 0009b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0P@DOGMHEBI@no?5preset?5dict@ - 000a2 e8 00 00 00 00 call stbi__err - 000a7 eb 19 jmp SHORT $LN1@stbi__pars -$LN4@stbi__pars: - -; 4458 : "Corrupt PNG"); // preset dictionary not allowed in png -; 4459 : if (cm != 8) - - 000a9 83 7d 24 08 cmp DWORD PTR cm$[rbp], 8 - 000ad 74 0e je SHORT $LN5@stbi__pars - -; 4460 : return stbi__err("bad compression", - - 000af 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BA@MCNBDLPD@bad?5compression@ - 000b6 e8 00 00 00 00 call stbi__err - 000bb eb 05 jmp SHORT $LN1@stbi__pars -$LN5@stbi__pars: - -; 4461 : "Corrupt PNG"); // DEFLATE required for png -; 4462 : // window = 1 << (8 + cinfo)... but who cares, we fully buffer output -; 4463 : return 1; - - 000bd b8 01 00 00 00 mov eax, 1 -$LN1@stbi__pars: - -; 4464 : } - - 000c2 48 8d a5 28 01 - 00 00 lea rsp, QWORD PTR [rbp+296] - 000c9 5f pop rdi - 000ca 5d pop rbp - 000cb c3 ret 0 -stbi__parse_zlib_header ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__parse_uncompressed_block -_TEXT SEGMENT -header$ = 4 -len$ = 36 -nlen$ = 68 -k$ = 100 -a$ = 352 -stbi__parse_uncompressed_block PROC ; COMDAT - -; 4414 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 68 01 - 00 00 sub rsp, 360 ; 00000168H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 00018 b9 22 00 00 00 mov ecx, 34 ; 00000022H - 0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00022 f3 ab rep stosd - 00024 48 8b 8c 24 88 - 01 00 00 mov rcx, QWORD PTR [rsp+392] - 0002c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00033 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00038 90 npad 1 - -; 4415 : stbi_uc header[4]; -; 4416 : int len, nlen, k; -; 4417 : if (a->num_bits & 7) - - 00039 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 00040 8b 40 10 mov eax, DWORD PTR [rax+16] - 00043 83 e0 07 and eax, 7 - 00046 85 c0 test eax, eax - 00048 74 1c je SHORT $LN6@stbi__pars - -; 4418 : stbi__zreceive(a, a->num_bits & 7); // discard - - 0004a 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 00051 8b 40 10 mov eax, DWORD PTR [rax+16] - 00054 83 e0 07 and eax, 7 - 00057 8b d0 mov edx, eax - 00059 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00060 e8 00 00 00 00 call stbi__zreceive - 00065 90 npad 1 -$LN6@stbi__pars: - -; 4419 : // drain the bit-packed data into header -; 4420 : k = 0; - - 00066 c7 45 64 00 00 - 00 00 mov DWORD PTR k$[rbp], 0 -$LN2@stbi__pars: - -; 4421 : while (a->num_bits > 0) { - - 0006d 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 00074 83 78 10 00 cmp DWORD PTR [rax+16], 0 - 00078 7e 4f jle SHORT $LN3@stbi__pars - -; 4422 : header[k++] = (stbi_uc)(a->code_buffer & 255); // suppress MSVC run-time check - - 0007a 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 00081 8b 40 14 mov eax, DWORD PTR [rax+20] - 00084 25 ff 00 00 00 and eax, 255 ; 000000ffH - 00089 48 63 4d 64 movsxd rcx, DWORD PTR k$[rbp] - 0008d 88 44 0d 04 mov BYTE PTR header$[rbp+rcx], al - 00091 8b 45 64 mov eax, DWORD PTR k$[rbp] - 00094 ff c0 inc eax - 00096 89 45 64 mov DWORD PTR k$[rbp], eax - -; 4423 : a->code_buffer >>= 8; - - 00099 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 000a0 8b 40 14 mov eax, DWORD PTR [rax+20] - 000a3 c1 e8 08 shr eax, 8 - 000a6 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 000ad 89 41 14 mov DWORD PTR [rcx+20], eax - -; 4424 : a->num_bits -= 8; - - 000b0 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 000b7 8b 40 10 mov eax, DWORD PTR [rax+16] - 000ba 83 e8 08 sub eax, 8 - 000bd 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 000c4 89 41 10 mov DWORD PTR [rcx+16], eax - -; 4425 : } - - 000c7 eb a4 jmp SHORT $LN2@stbi__pars -$LN3@stbi__pars: - -; 4426 : if (a->num_bits < 0) - - 000c9 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 000d0 83 78 10 00 cmp DWORD PTR [rax+16], 0 - 000d4 7d 11 jge SHORT $LN7@stbi__pars - -; 4427 : return stbi__err("zlib corrupt", "Corrupt PNG"); - - 000d6 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0N@IECDHMDI@zlib?5corrupt@ - 000dd e8 00 00 00 00 call stbi__err - 000e2 e9 54 01 00 00 jmp $LN1@stbi__pars -$LN7@stbi__pars: -$LN4@stbi__pars: - -; 4428 : // now fill header the normal way -; 4429 : while (k < 4) - - 000e7 83 7d 64 04 cmp DWORD PTR k$[rbp], 4 - 000eb 7d 1e jge SHORT $LN5@stbi__pars - -; 4430 : header[k++] = stbi__zget8(a); - - 000ed 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 000f4 e8 00 00 00 00 call stbi__zget8 - 000f9 48 63 4d 64 movsxd rcx, DWORD PTR k$[rbp] - 000fd 88 44 0d 04 mov BYTE PTR header$[rbp+rcx], al - 00101 8b 45 64 mov eax, DWORD PTR k$[rbp] - 00104 ff c0 inc eax - 00106 89 45 64 mov DWORD PTR k$[rbp], eax - 00109 eb dc jmp SHORT $LN4@stbi__pars -$LN5@stbi__pars: - -; 4431 : len = header[1] * 256 + header[0]; - - 0010b b8 01 00 00 00 mov eax, 1 - 00110 48 6b c0 01 imul rax, rax, 1 - 00114 0f b6 44 05 04 movzx eax, BYTE PTR header$[rbp+rax] - 00119 69 c0 00 01 00 - 00 imul eax, eax, 256 ; 00000100H - 0011f b9 01 00 00 00 mov ecx, 1 - 00124 48 6b c9 00 imul rcx, rcx, 0 - 00128 0f b6 4c 0d 04 movzx ecx, BYTE PTR header$[rbp+rcx] - 0012d 03 c1 add eax, ecx - 0012f 89 45 24 mov DWORD PTR len$[rbp], eax - -; 4432 : nlen = header[3] * 256 + header[2]; - - 00132 b8 01 00 00 00 mov eax, 1 - 00137 48 6b c0 03 imul rax, rax, 3 - 0013b 0f b6 44 05 04 movzx eax, BYTE PTR header$[rbp+rax] - 00140 69 c0 00 01 00 - 00 imul eax, eax, 256 ; 00000100H - 00146 b9 01 00 00 00 mov ecx, 1 - 0014b 48 6b c9 02 imul rcx, rcx, 2 - 0014f 0f b6 4c 0d 04 movzx ecx, BYTE PTR header$[rbp+rcx] - 00154 03 c1 add eax, ecx - 00156 89 45 44 mov DWORD PTR nlen$[rbp], eax - -; 4433 : if (nlen != (len ^ 0xffff)) - - 00159 8b 45 24 mov eax, DWORD PTR len$[rbp] - 0015c 35 ff ff 00 00 xor eax, 65535 ; 0000ffffH - 00161 39 45 44 cmp DWORD PTR nlen$[rbp], eax - 00164 74 11 je SHORT $LN8@stbi__pars - -; 4434 : return stbi__err("zlib corrupt", "Corrupt PNG"); - - 00166 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0N@IECDHMDI@zlib?5corrupt@ - 0016d e8 00 00 00 00 call stbi__err - 00172 e9 c4 00 00 00 jmp $LN1@stbi__pars -$LN8@stbi__pars: - -; 4435 : if (a->zbuffer + len > a->zbuffer_end) - - 00177 48 63 45 24 movsxd rax, DWORD PTR len$[rbp] - 0017b 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00182 48 03 01 add rax, QWORD PTR [rcx] - 00185 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 0018c 48 3b 41 08 cmp rax, QWORD PTR [rcx+8] - 00190 76 11 jbe SHORT $LN9@stbi__pars - -; 4436 : return stbi__err("read past buffer", "Corrupt PNG"); - - 00192 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BB@PIPBCKIA@read?5past?5buffer@ - 00199 e8 00 00 00 00 call stbi__err - 0019e e9 98 00 00 00 jmp $LN1@stbi__pars -$LN9@stbi__pars: - -; 4437 : if (a->zout + len > a->zout_end) - - 001a3 48 63 45 24 movsxd rax, DWORD PTR len$[rbp] - 001a7 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 001ae 48 03 41 18 add rax, QWORD PTR [rcx+24] - 001b2 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 001b9 48 3b 41 28 cmp rax, QWORD PTR [rcx+40] - 001bd 76 23 jbe SHORT $LN10@stbi__pars - -; 4438 : if (!stbi__zexpand(a, a->zout, len)) - - 001bf 44 8b 45 24 mov r8d, DWORD PTR len$[rbp] - 001c3 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 001ca 48 8b 50 18 mov rdx, QWORD PTR [rax+24] - 001ce 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 001d5 e8 00 00 00 00 call stbi__zexpand - 001da 85 c0 test eax, eax - 001dc 75 04 jne SHORT $LN11@stbi__pars - -; 4439 : return 0; - - 001de 33 c0 xor eax, eax - 001e0 eb 59 jmp SHORT $LN1@stbi__pars -$LN11@stbi__pars: -$LN10@stbi__pars: - -; 4440 : memcpy(a->zout, a->zbuffer, len); - - 001e2 48 63 45 24 movsxd rax, DWORD PTR len$[rbp] - 001e6 4c 8b c0 mov r8, rax - 001e9 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 001f0 48 8b 10 mov rdx, QWORD PTR [rax] - 001f3 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 001fa 48 8b 48 18 mov rcx, QWORD PTR [rax+24] - 001fe e8 00 00 00 00 call memcpy - 00203 90 npad 1 - -; 4441 : a->zbuffer += len; - - 00204 48 63 45 24 movsxd rax, DWORD PTR len$[rbp] - 00208 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 0020f 48 03 01 add rax, QWORD PTR [rcx] - 00212 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00219 48 89 01 mov QWORD PTR [rcx], rax - -; 4442 : a->zout += len; - - 0021c 48 63 45 24 movsxd rax, DWORD PTR len$[rbp] - 00220 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00227 48 03 41 18 add rax, QWORD PTR [rcx+24] - 0022b 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00232 48 89 41 18 mov QWORD PTR [rcx+24], rax - -; 4443 : return 1; - - 00236 b8 01 00 00 00 mov eax, 1 -$LN1@stbi__pars: - -; 4444 : } - - 0023b 48 8b f8 mov rdi, rax - 0023e 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 00242 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__parse_uncompressed_block$rtcFrameData - 00249 e8 00 00 00 00 call _RTC_CheckStackVars - 0024e 48 8b c7 mov rax, rdi - 00251 48 8d a5 48 01 - 00 00 lea rsp, QWORD PTR [rbp+328] - 00258 5f pop rdi - 00259 5d pop rbp - 0025a c3 ret 0 -stbi__parse_uncompressed_block ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__compute_huffman_codes -_TEXT SEGMENT -z_codelength$ = 16 -lencodes$ = 2080 -codelength_sizes$ = 2568 -i$ = 2612 -n$ = 2644 -hlit$ = 2676 -hdist$ = 2708 -hclen$ = 2740 -ntot$ = 2772 -s$6 = 2804 -c$7 = 2836 -fill$8 = 2868 -tv175 = 4040 -__$ArrayPad$ = 4048 -a$ = 4096 -stbi__compute_huffman_codes PROC ; COMDAT - -; 4356 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 b8 08 10 00 00 mov eax, 4104 ; 00001008H - 0000c e8 00 00 00 00 call __chkstk - 00011 48 2b e0 sub rsp, rax - 00014 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00019 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 0001e b9 da 02 00 00 mov ecx, 730 ; 000002daH - 00023 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00028 f3 ab rep stosd - 0002a 48 8b 8c 24 28 - 10 00 00 mov rcx, QWORD PTR [rsp+4136] - 00032 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00039 48 33 c5 xor rax, rbp - 0003c 48 89 85 d0 0f - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 00043 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0004a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0004f 90 npad 1 - -; 4357 : static const stbi_uc length_dezigzag[19] = { 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, -; 4358 : 11, 4, 12, 3, 13, 2, 14, 1, 15 }; -; 4359 : stbi__zhuffman z_codelength; -; 4360 : stbi_uc lencodes[286 + 32 + 137]; //padding for maximum single op -; 4361 : stbi_uc codelength_sizes[19]; -; 4362 : int i, n; -; 4363 : -; 4364 : int hlit = stbi__zreceive(a, 5) + 257; - - 00050 ba 05 00 00 00 mov edx, 5 - 00055 48 8b 8d 00 10 - 00 00 mov rcx, QWORD PTR a$[rbp] - 0005c e8 00 00 00 00 call stbi__zreceive - 00061 05 01 01 00 00 add eax, 257 ; 00000101H - 00066 89 85 74 0a 00 - 00 mov DWORD PTR hlit$[rbp], eax - -; 4365 : int hdist = stbi__zreceive(a, 5) + 1; - - 0006c ba 05 00 00 00 mov edx, 5 - 00071 48 8b 8d 00 10 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00078 e8 00 00 00 00 call stbi__zreceive - 0007d ff c0 inc eax - 0007f 89 85 94 0a 00 - 00 mov DWORD PTR hdist$[rbp], eax - -; 4366 : int hclen = stbi__zreceive(a, 4) + 4; - - 00085 ba 04 00 00 00 mov edx, 4 - 0008a 48 8b 8d 00 10 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00091 e8 00 00 00 00 call stbi__zreceive - 00096 83 c0 04 add eax, 4 - 00099 89 85 b4 0a 00 - 00 mov DWORD PTR hclen$[rbp], eax - -; 4367 : int ntot = hlit + hdist; - - 0009f 8b 85 94 0a 00 - 00 mov eax, DWORD PTR hdist$[rbp] - 000a5 8b 8d 74 0a 00 - 00 mov ecx, DWORD PTR hlit$[rbp] - 000ab 03 c8 add ecx, eax - 000ad 8b c1 mov eax, ecx - 000af 89 85 d4 0a 00 - 00 mov DWORD PTR ntot$[rbp], eax - -; 4368 : -; 4369 : memset(codelength_sizes, 0, sizeof(codelength_sizes)); - - 000b5 41 b8 13 00 00 - 00 mov r8d, 19 - 000bb 33 d2 xor edx, edx - 000bd 48 8d 8d 08 0a - 00 00 lea rcx, QWORD PTR codelength_sizes$[rbp] - 000c4 e8 00 00 00 00 call memset - 000c9 90 npad 1 - -; 4370 : for (i = 0; i < hclen; ++i) { - - 000ca c7 85 34 0a 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 000d4 eb 0e jmp SHORT $LN4@stbi__comp -$LN2@stbi__comp: - 000d6 8b 85 34 0a 00 - 00 mov eax, DWORD PTR i$[rbp] - 000dc ff c0 inc eax - 000de 89 85 34 0a 00 - 00 mov DWORD PTR i$[rbp], eax -$LN4@stbi__comp: - 000e4 8b 85 b4 0a 00 - 00 mov eax, DWORD PTR hclen$[rbp] - 000ea 39 85 34 0a 00 - 00 cmp DWORD PTR i$[rbp], eax - 000f0 7d 39 jge SHORT $LN3@stbi__comp - -; 4371 : int s = stbi__zreceive(a, 3); - - 000f2 ba 03 00 00 00 mov edx, 3 - 000f7 48 8b 8d 00 10 - 00 00 mov rcx, QWORD PTR a$[rbp] - 000fe e8 00 00 00 00 call stbi__zreceive - 00103 89 85 f4 0a 00 - 00 mov DWORD PTR s$6[rbp], eax - -; 4372 : codelength_sizes[length_dezigzag[i]] = (stbi_uc)s; - - 00109 48 63 85 34 0a - 00 00 movsxd rax, DWORD PTR i$[rbp] - 00110 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:?length_dezigzag@?1??stbi__compute_huffman_codes@@9@9 - 00117 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0011b 0f b6 8d f4 0a - 00 00 movzx ecx, BYTE PTR s$6[rbp] - 00122 88 8c 05 08 0a - 00 00 mov BYTE PTR codelength_sizes$[rbp+rax], cl - -; 4373 : } - - 00129 eb ab jmp SHORT $LN2@stbi__comp -$LN3@stbi__comp: - -; 4374 : if (!stbi__zbuild_huffman(&z_codelength, codelength_sizes, 19)) - - 0012b 41 b8 13 00 00 - 00 mov r8d, 19 - 00131 48 8d 95 08 0a - 00 00 lea rdx, QWORD PTR codelength_sizes$[rbp] - 00138 48 8d 4d 10 lea rcx, QWORD PTR z_codelength$[rbp] - 0013c e8 00 00 00 00 call stbi__zbuild_huffman - 00141 85 c0 test eax, eax - 00143 75 07 jne SHORT $LN7@stbi__comp - -; 4375 : return 0; - - 00145 33 c0 xor eax, eax - 00147 e9 3a 02 00 00 jmp $LN1@stbi__comp -$LN7@stbi__comp: - -; 4376 : -; 4377 : n = 0; - - 0014c c7 85 54 0a 00 - 00 00 00 00 00 mov DWORD PTR n$[rbp], 0 -$LN5@stbi__comp: - -; 4378 : while (n < ntot) { - - 00156 8b 85 d4 0a 00 - 00 mov eax, DWORD PTR ntot$[rbp] - 0015c 39 85 54 0a 00 - 00 cmp DWORD PTR n$[rbp], eax - 00162 0f 8d a0 01 00 - 00 jge $LN6@stbi__comp - -; 4379 : int c = stbi__zhuffman_decode(a, &z_codelength); - - 00168 48 8d 55 10 lea rdx, QWORD PTR z_codelength$[rbp] - 0016c 48 8b 8d 00 10 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00173 e8 00 00 00 00 call stbi__zhuffman_decode - 00178 89 85 14 0b 00 - 00 mov DWORD PTR c$7[rbp], eax - -; 4380 : if (c < 0 || c >= 19) - - 0017e 83 bd 14 0b 00 - 00 00 cmp DWORD PTR c$7[rbp], 0 - 00185 7c 09 jl SHORT $LN9@stbi__comp - 00187 83 bd 14 0b 00 - 00 13 cmp DWORD PTR c$7[rbp], 19 - 0018e 7c 11 jl SHORT $LN8@stbi__comp -$LN9@stbi__comp: - -; 4381 : return stbi__err("bad codelengths", "Corrupt PNG"); - - 00190 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BA@MDNKOBMC@bad?5codelengths@ - 00197 e8 00 00 00 00 call stbi__err - 0019c e9 e5 01 00 00 jmp $LN1@stbi__comp -$LN8@stbi__comp: - -; 4382 : if (c < 16) - - 001a1 83 bd 14 0b 00 - 00 10 cmp DWORD PTR c$7[rbp], 16 - 001a8 7d 28 jge SHORT $LN10@stbi__comp - -; 4383 : lencodes[n++] = (stbi_uc)c; - - 001aa 48 63 85 54 0a - 00 00 movsxd rax, DWORD PTR n$[rbp] - 001b1 0f b6 8d 14 0b - 00 00 movzx ecx, BYTE PTR c$7[rbp] - 001b8 88 8c 05 20 08 - 00 00 mov BYTE PTR lencodes$[rbp+rax], cl - 001bf 8b 85 54 0a 00 - 00 mov eax, DWORD PTR n$[rbp] - 001c5 ff c0 inc eax - 001c7 89 85 54 0a 00 - 00 mov DWORD PTR n$[rbp], eax - 001cd e9 31 01 00 00 jmp $LN11@stbi__comp -$LN10@stbi__comp: - -; 4384 : else { -; 4385 : stbi_uc fill = 0; - - 001d2 c6 85 34 0b 00 - 00 00 mov BYTE PTR fill$8[rbp], 0 - -; 4386 : if (c == 16) { - - 001d9 83 bd 14 0b 00 - 00 10 cmp DWORD PTR c$7[rbp], 16 - 001e0 75 4e jne SHORT $LN12@stbi__comp - -; 4387 : c = stbi__zreceive(a, 2) + 3; - - 001e2 ba 02 00 00 00 mov edx, 2 - 001e7 48 8b 8d 00 10 - 00 00 mov rcx, QWORD PTR a$[rbp] - 001ee e8 00 00 00 00 call stbi__zreceive - 001f3 83 c0 03 add eax, 3 - 001f6 89 85 14 0b 00 - 00 mov DWORD PTR c$7[rbp], eax - -; 4388 : if (n == 0) - - 001fc 83 bd 54 0a 00 - 00 00 cmp DWORD PTR n$[rbp], 0 - 00203 75 11 jne SHORT $LN14@stbi__comp - -; 4389 : return stbi__err("bad codelengths", "Corrupt PNG"); - - 00205 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BA@MDNKOBMC@bad?5codelengths@ - 0020c e8 00 00 00 00 call stbi__err - 00211 e9 70 01 00 00 jmp $LN1@stbi__comp -$LN14@stbi__comp: - -; 4390 : fill = lencodes[n - 1]; - - 00216 8b 85 54 0a 00 - 00 mov eax, DWORD PTR n$[rbp] - 0021c ff c8 dec eax - 0021e 48 98 cdqe - 00220 0f b6 84 05 20 - 08 00 00 movzx eax, BYTE PTR lencodes$[rbp+rax] - 00228 88 85 34 0b 00 - 00 mov BYTE PTR fill$8[rbp], al - 0022e eb 5b jmp SHORT $LN13@stbi__comp -$LN12@stbi__comp: - -; 4391 : } else if (c == 17) { - - 00230 83 bd 14 0b 00 - 00 11 cmp DWORD PTR c$7[rbp], 17 - 00237 75 1c jne SHORT $LN15@stbi__comp - -; 4392 : c = stbi__zreceive(a, 3) + 3; - - 00239 ba 03 00 00 00 mov edx, 3 - 0023e 48 8b 8d 00 10 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00245 e8 00 00 00 00 call stbi__zreceive - 0024a 83 c0 03 add eax, 3 - 0024d 89 85 14 0b 00 - 00 mov DWORD PTR c$7[rbp], eax - 00253 eb 36 jmp SHORT $LN16@stbi__comp -$LN15@stbi__comp: - -; 4393 : } else if (c == 18) { - - 00255 83 bd 14 0b 00 - 00 12 cmp DWORD PTR c$7[rbp], 18 - 0025c 75 1c jne SHORT $LN17@stbi__comp - -; 4394 : c = stbi__zreceive(a, 7) + 11; - - 0025e ba 07 00 00 00 mov edx, 7 - 00263 48 8b 8d 00 10 - 00 00 mov rcx, QWORD PTR a$[rbp] - 0026a e8 00 00 00 00 call stbi__zreceive - 0026f 83 c0 0b add eax, 11 - 00272 89 85 14 0b 00 - 00 mov DWORD PTR c$7[rbp], eax - -; 4395 : } else { - - 00278 eb 11 jmp SHORT $LN18@stbi__comp -$LN17@stbi__comp: - -; 4396 : return stbi__err("bad codelengths", "Corrupt PNG"); - - 0027a 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BA@MDNKOBMC@bad?5codelengths@ - 00281 e8 00 00 00 00 call stbi__err - 00286 e9 fb 00 00 00 jmp $LN1@stbi__comp -$LN18@stbi__comp: -$LN16@stbi__comp: -$LN13@stbi__comp: - -; 4397 : } -; 4398 : if (ntot - n < c) - - 0028b 8b 85 54 0a 00 - 00 mov eax, DWORD PTR n$[rbp] - 00291 8b 8d d4 0a 00 - 00 mov ecx, DWORD PTR ntot$[rbp] - 00297 2b c8 sub ecx, eax - 00299 8b c1 mov eax, ecx - 0029b 3b 85 14 0b 00 - 00 cmp eax, DWORD PTR c$7[rbp] - 002a1 7d 11 jge SHORT $LN19@stbi__comp - -; 4399 : return stbi__err("bad codelengths", "Corrupt PNG"); - - 002a3 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BA@MDNKOBMC@bad?5codelengths@ - 002aa e8 00 00 00 00 call stbi__err - 002af e9 d2 00 00 00 jmp $LN1@stbi__comp -$LN19@stbi__comp: - -; 4400 : memset(lencodes + n, fill, c); - - 002b4 48 63 85 14 0b - 00 00 movsxd rax, DWORD PTR c$7[rbp] - 002bb 0f b6 8d 34 0b - 00 00 movzx ecx, BYTE PTR fill$8[rbp] - 002c2 48 63 95 54 0a - 00 00 movsxd rdx, DWORD PTR n$[rbp] - 002c9 48 8d 94 15 20 - 08 00 00 lea rdx, QWORD PTR lencodes$[rbp+rdx] - 002d1 48 89 95 c8 0f - 00 00 mov QWORD PTR tv175[rbp], rdx - 002d8 4c 8b c0 mov r8, rax - 002db 8b d1 mov edx, ecx - 002dd 48 8b 85 c8 0f - 00 00 mov rax, QWORD PTR tv175[rbp] - 002e4 48 8b c8 mov rcx, rax - 002e7 e8 00 00 00 00 call memset - 002ec 90 npad 1 - -; 4401 : n += c; - - 002ed 8b 85 14 0b 00 - 00 mov eax, DWORD PTR c$7[rbp] - 002f3 8b 8d 54 0a 00 - 00 mov ecx, DWORD PTR n$[rbp] - 002f9 03 c8 add ecx, eax - 002fb 8b c1 mov eax, ecx - 002fd 89 85 54 0a 00 - 00 mov DWORD PTR n$[rbp], eax -$LN11@stbi__comp: - -; 4402 : } -; 4403 : } - - 00303 e9 4e fe ff ff jmp $LN5@stbi__comp -$LN6@stbi__comp: - -; 4404 : if (n != ntot) - - 00308 8b 85 d4 0a 00 - 00 mov eax, DWORD PTR ntot$[rbp] - 0030e 39 85 54 0a 00 - 00 cmp DWORD PTR n$[rbp], eax - 00314 74 0e je SHORT $LN20@stbi__comp - -; 4405 : return stbi__err("bad codelengths", "Corrupt PNG"); - - 00316 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BA@MDNKOBMC@bad?5codelengths@ - 0031d e8 00 00 00 00 call stbi__err - 00322 eb 62 jmp SHORT $LN1@stbi__comp -$LN20@stbi__comp: - -; 4406 : if (!stbi__zbuild_huffman(&a->z_length, lencodes, hlit)) - - 00324 48 8b 85 00 10 - 00 00 mov rax, QWORD PTR a$[rbp] - 0032b 48 83 c0 34 add rax, 52 ; 00000034H - 0032f 44 8b 85 74 0a - 00 00 mov r8d, DWORD PTR hlit$[rbp] - 00336 48 8d 95 20 08 - 00 00 lea rdx, QWORD PTR lencodes$[rbp] - 0033d 48 8b c8 mov rcx, rax - 00340 e8 00 00 00 00 call stbi__zbuild_huffman - 00345 85 c0 test eax, eax - 00347 75 04 jne SHORT $LN21@stbi__comp - -; 4407 : return 0; - - 00349 33 c0 xor eax, eax - 0034b eb 39 jmp SHORT $LN1@stbi__comp -$LN21@stbi__comp: - -; 4408 : if (!stbi__zbuild_huffman(&a->z_distance, lencodes + hlit, hdist)) - - 0034d 48 63 85 74 0a - 00 00 movsxd rax, DWORD PTR hlit$[rbp] - 00354 48 8d 84 05 20 - 08 00 00 lea rax, QWORD PTR lencodes$[rbp+rax] - 0035c 48 8b 8d 00 10 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00363 48 81 c1 18 08 - 00 00 add rcx, 2072 ; 00000818H - 0036a 44 8b 85 94 0a - 00 00 mov r8d, DWORD PTR hdist$[rbp] - 00371 48 8b d0 mov rdx, rax - 00374 e8 00 00 00 00 call stbi__zbuild_huffman - 00379 85 c0 test eax, eax - 0037b 75 04 jne SHORT $LN22@stbi__comp - -; 4409 : return 0; - - 0037d 33 c0 xor eax, eax - 0037f eb 05 jmp SHORT $LN1@stbi__comp -$LN22@stbi__comp: - -; 4410 : return 1; - - 00381 b8 01 00 00 00 mov eax, 1 -$LN1@stbi__comp: - -; 4411 : } - - 00386 48 8b f8 mov rdi, rax - 00389 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 0038d 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__compute_huffman_codes$rtcFrameData - 00394 e8 00 00 00 00 call _RTC_CheckStackVars - 00399 48 8b c7 mov rax, rdi - 0039c 48 8b 8d d0 0f - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 003a3 48 33 cd xor rcx, rbp - 003a6 e8 00 00 00 00 call __security_check_cookie - 003ab 48 8d a5 e8 0f - 00 00 lea rsp, QWORD PTR [rbp+4072] - 003b2 5f pop rdi - 003b3 5d pop rbp - 003b4 c3 ret 0 -stbi__compute_huffman_codes ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__parse_huffman_block -_TEXT SEGMENT -zout$ = 8 -z$1 = 36 -p$2 = 72 -len$3 = 100 -dist$4 = 132 -v$5 = 164 -a$ = 416 -stbi__parse_huffman_block PROC ; COMDAT - -; 4292 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec a8 01 - 00 00 sub rsp, 424 ; 000001a8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 4293 : char *zout = a->zout; - - 00020 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 00027 48 8b 40 18 mov rax, QWORD PTR [rax+24] - 0002b 48 89 45 08 mov QWORD PTR zout$[rbp], rax -$LN2@stbi__pars: - -; 4294 : for (;;) { -; 4295 : int z = stbi__zhuffman_decode(a, &a->z_length); - - 0002f 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 00036 48 83 c0 34 add rax, 52 ; 00000034H - 0003a 48 8b d0 mov rdx, rax - 0003d 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00044 e8 00 00 00 00 call stbi__zhuffman_decode - 00049 89 45 24 mov DWORD PTR z$1[rbp], eax - -; 4296 : if (z < 256) { - - 0004c 81 7d 24 00 01 - 00 00 cmp DWORD PTR z$1[rbp], 256 ; 00000100H - 00053 7d 72 jge SHORT $LN11@stbi__pars - -; 4297 : if (z < 0) - - 00055 83 7d 24 00 cmp DWORD PTR z$1[rbp], 0 - 00059 7d 11 jge SHORT $LN13@stbi__pars - -; 4298 : return stbi__err("bad huffman code", - - 0005b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BB@IIMLINA@bad?5huffman?5code@ - 00062 e8 00 00 00 00 call stbi__err - 00067 e9 83 02 00 00 jmp $LN1@stbi__pars -$LN13@stbi__pars: - -; 4299 : "Corrupt PNG"); // error in huffman codes -; 4300 : if (zout >= a->zout_end) { - - 0006c 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 00073 48 8b 40 28 mov rax, QWORD PTR [rax+40] - 00077 48 39 45 08 cmp QWORD PTR zout$[rbp], rax - 0007b 72 30 jb SHORT $LN14@stbi__pars - -; 4301 : if (!stbi__zexpand(a, zout, 1)) - - 0007d 41 b8 01 00 00 - 00 mov r8d, 1 - 00083 48 8b 55 08 mov rdx, QWORD PTR zout$[rbp] - 00087 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 0008e e8 00 00 00 00 call stbi__zexpand - 00093 85 c0 test eax, eax - 00095 75 07 jne SHORT $LN15@stbi__pars - -; 4302 : return 0; - - 00097 33 c0 xor eax, eax - 00099 e9 51 02 00 00 jmp $LN1@stbi__pars -$LN15@stbi__pars: - -; 4303 : zout = a->zout; - - 0009e 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 000a5 48 8b 40 18 mov rax, QWORD PTR [rax+24] - 000a9 48 89 45 08 mov QWORD PTR zout$[rbp], rax -$LN14@stbi__pars: - -; 4304 : } -; 4305 : *zout++ = (char)z; - - 000ad 48 8b 45 08 mov rax, QWORD PTR zout$[rbp] - 000b1 0f b6 4d 24 movzx ecx, BYTE PTR z$1[rbp] - 000b5 88 08 mov BYTE PTR [rax], cl - 000b7 48 8b 45 08 mov rax, QWORD PTR zout$[rbp] - 000bb 48 ff c0 inc rax - 000be 48 89 45 08 mov QWORD PTR zout$[rbp], rax - -; 4306 : } else { - - 000c2 e9 23 02 00 00 jmp $LN12@stbi__pars -$LN11@stbi__pars: - -; 4307 : stbi_uc *p; -; 4308 : int len, dist; -; 4309 : if (z == 256) { - - 000c7 81 7d 24 00 01 - 00 00 cmp DWORD PTR z$1[rbp], 256 ; 00000100H - 000ce 75 19 jne SHORT $LN16@stbi__pars - -; 4310 : a->zout = zout; - - 000d0 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 000d7 48 8b 4d 08 mov rcx, QWORD PTR zout$[rbp] - 000db 48 89 48 18 mov QWORD PTR [rax+24], rcx - -; 4311 : return 1; - - 000df b8 01 00 00 00 mov eax, 1 - 000e4 e9 06 02 00 00 jmp $LN1@stbi__pars -$LN16@stbi__pars: - -; 4312 : } -; 4313 : if (z >= 286) - - 000e9 81 7d 24 1e 01 - 00 00 cmp DWORD PTR z$1[rbp], 286 ; 0000011eH - 000f0 7c 11 jl SHORT $LN17@stbi__pars - -; 4314 : return stbi__err( - - 000f2 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BB@IIMLINA@bad?5huffman?5code@ - 000f9 e8 00 00 00 00 call stbi__err - 000fe e9 ec 01 00 00 jmp $LN1@stbi__pars -$LN17@stbi__pars: - -; 4315 : "bad huffman code", -; 4316 : "Corrupt PNG"); // per DEFLATE, length codes 286 and 287 must not appear in compressed data -; 4317 : z -= 257; - - 00103 8b 45 24 mov eax, DWORD PTR z$1[rbp] - 00106 2d 01 01 00 00 sub eax, 257 ; 00000101H - 0010b 89 45 24 mov DWORD PTR z$1[rbp], eax - -; 4318 : len = stbi__zlength_base[z]; - - 0010e 48 63 45 24 movsxd rax, DWORD PTR z$1[rbp] - 00112 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__zlength_base - 00119 8b 04 81 mov eax, DWORD PTR [rcx+rax*4] - 0011c 89 45 64 mov DWORD PTR len$3[rbp], eax - -; 4319 : if (stbi__zlength_extra[z]) - - 0011f 48 63 45 24 movsxd rax, DWORD PTR z$1[rbp] - 00123 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__zlength_extra - 0012a 83 3c 81 00 cmp DWORD PTR [rcx+rax*4], 0 - 0012e 74 24 je SHORT $LN18@stbi__pars - -; 4320 : len += stbi__zreceive(a, stbi__zlength_extra[z]); - - 00130 48 63 45 24 movsxd rax, DWORD PTR z$1[rbp] - 00134 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__zlength_extra - 0013b 8b 14 81 mov edx, DWORD PTR [rcx+rax*4] - 0013e 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00145 e8 00 00 00 00 call stbi__zreceive - 0014a 8b 4d 64 mov ecx, DWORD PTR len$3[rbp] - 0014d 03 c8 add ecx, eax - 0014f 8b c1 mov eax, ecx - 00151 89 45 64 mov DWORD PTR len$3[rbp], eax -$LN18@stbi__pars: - -; 4321 : z = stbi__zhuffman_decode(a, &a->z_distance); - - 00154 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 0015b 48 05 18 08 00 - 00 add rax, 2072 ; 00000818H - 00161 48 8b d0 mov rdx, rax - 00164 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 0016b e8 00 00 00 00 call stbi__zhuffman_decode - 00170 89 45 24 mov DWORD PTR z$1[rbp], eax - -; 4322 : if (z < 0 || z >= 30) - - 00173 83 7d 24 00 cmp DWORD PTR z$1[rbp], 0 - 00177 7c 06 jl SHORT $LN20@stbi__pars - 00179 83 7d 24 1e cmp DWORD PTR z$1[rbp], 30 - 0017d 7c 11 jl SHORT $LN19@stbi__pars -$LN20@stbi__pars: - -; 4323 : return stbi__err( - - 0017f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BB@IIMLINA@bad?5huffman?5code@ - 00186 e8 00 00 00 00 call stbi__err - 0018b e9 5f 01 00 00 jmp $LN1@stbi__pars -$LN19@stbi__pars: - -; 4324 : "bad huffman code", -; 4325 : "Corrupt PNG"); // per DEFLATE, distance codes 30 and 31 must not appear in compressed data -; 4326 : dist = stbi__zdist_base[z]; - - 00190 48 63 45 24 movsxd rax, DWORD PTR z$1[rbp] - 00194 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__zdist_base - 0019b 8b 04 81 mov eax, DWORD PTR [rcx+rax*4] - 0019e 89 85 84 00 00 - 00 mov DWORD PTR dist$4[rbp], eax - -; 4327 : if (stbi__zdist_extra[z]) - - 001a4 48 63 45 24 movsxd rax, DWORD PTR z$1[rbp] - 001a8 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__zdist_extra - 001af 83 3c 81 00 cmp DWORD PTR [rcx+rax*4], 0 - 001b3 74 2a je SHORT $LN21@stbi__pars - -; 4328 : dist += stbi__zreceive(a, stbi__zdist_extra[z]); - - 001b5 48 63 45 24 movsxd rax, DWORD PTR z$1[rbp] - 001b9 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__zdist_extra - 001c0 8b 14 81 mov edx, DWORD PTR [rcx+rax*4] - 001c3 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 001ca e8 00 00 00 00 call stbi__zreceive - 001cf 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR dist$4[rbp] - 001d5 03 c8 add ecx, eax - 001d7 8b c1 mov eax, ecx - 001d9 89 85 84 00 00 - 00 mov DWORD PTR dist$4[rbp], eax -$LN21@stbi__pars: - -; 4329 : if (zout - a->zout_start < dist) - - 001df 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 001e6 48 8b 40 20 mov rax, QWORD PTR [rax+32] - 001ea 48 8b 4d 08 mov rcx, QWORD PTR zout$[rbp] - 001ee 48 2b c8 sub rcx, rax - 001f1 48 8b c1 mov rax, rcx - 001f4 48 63 8d 84 00 - 00 00 movsxd rcx, DWORD PTR dist$4[rbp] - 001fb 48 3b c1 cmp rax, rcx - 001fe 7d 11 jge SHORT $LN22@stbi__pars - -; 4330 : return stbi__err("bad dist", "Corrupt PNG"); - - 00200 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08DIAPIMGJ@bad?5dist@ - 00207 e8 00 00 00 00 call stbi__err - 0020c e9 de 00 00 00 jmp $LN1@stbi__pars -$LN22@stbi__pars: - -; 4331 : if (zout + len > a->zout_end) { - - 00211 48 63 45 64 movsxd rax, DWORD PTR len$3[rbp] - 00215 48 8b 4d 08 mov rcx, QWORD PTR zout$[rbp] - 00219 48 03 c8 add rcx, rax - 0021c 48 8b c1 mov rax, rcx - 0021f 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00226 48 3b 41 28 cmp rax, QWORD PTR [rcx+40] - 0022a 76 2e jbe SHORT $LN23@stbi__pars - -; 4332 : if (!stbi__zexpand(a, zout, len)) - - 0022c 44 8b 45 64 mov r8d, DWORD PTR len$3[rbp] - 00230 48 8b 55 08 mov rdx, QWORD PTR zout$[rbp] - 00234 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 0023b e8 00 00 00 00 call stbi__zexpand - 00240 85 c0 test eax, eax - 00242 75 07 jne SHORT $LN24@stbi__pars - -; 4333 : return 0; - - 00244 33 c0 xor eax, eax - 00246 e9 a4 00 00 00 jmp $LN1@stbi__pars -$LN24@stbi__pars: - -; 4334 : zout = a->zout; - - 0024b 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 00252 48 8b 40 18 mov rax, QWORD PTR [rax+24] - 00256 48 89 45 08 mov QWORD PTR zout$[rbp], rax -$LN23@stbi__pars: - -; 4335 : } -; 4336 : p = (stbi_uc *)(zout - dist); - - 0025a 48 63 85 84 00 - 00 00 movsxd rax, DWORD PTR dist$4[rbp] - 00261 48 8b 4d 08 mov rcx, QWORD PTR zout$[rbp] - 00265 48 2b c8 sub rcx, rax - 00268 48 8b c1 mov rax, rcx - 0026b 48 89 45 48 mov QWORD PTR p$2[rbp], rax - -; 4337 : if (dist == 1) { // run of one byte; common in images. - - 0026f 83 bd 84 00 00 - 00 01 cmp DWORD PTR dist$4[rbp], 1 - 00276 75 3b jne SHORT $LN25@stbi__pars - -; 4338 : stbi_uc v = *p; - - 00278 48 8b 45 48 mov rax, QWORD PTR p$2[rbp] - 0027c 0f b6 00 movzx eax, BYTE PTR [rax] - 0027f 88 85 a4 00 00 - 00 mov BYTE PTR v$5[rbp], al - -; 4339 : if (len) { - - 00285 83 7d 64 00 cmp DWORD PTR len$3[rbp], 0 - 00289 74 26 je SHORT $LN27@stbi__pars -$LN7@stbi__pars: - -; 4340 : do -; 4341 : *zout++ = v; - - 0028b 48 8b 45 08 mov rax, QWORD PTR zout$[rbp] - 0028f 0f b6 8d a4 00 - 00 00 movzx ecx, BYTE PTR v$5[rbp] - 00296 88 08 mov BYTE PTR [rax], cl - 00298 48 8b 45 08 mov rax, QWORD PTR zout$[rbp] - 0029c 48 ff c0 inc rax - 0029f 48 89 45 08 mov QWORD PTR zout$[rbp], rax - -; 4342 : while (--len); - - 002a3 8b 45 64 mov eax, DWORD PTR len$3[rbp] - 002a6 ff c8 dec eax - 002a8 89 45 64 mov DWORD PTR len$3[rbp], eax - 002ab 83 7d 64 00 cmp DWORD PTR len$3[rbp], 0 - 002af 75 da jne SHORT $LN7@stbi__pars -$LN27@stbi__pars: - -; 4343 : } -; 4344 : } else { - - 002b1 eb 37 jmp SHORT $LN26@stbi__pars -$LN25@stbi__pars: - -; 4345 : if (len) { - - 002b3 83 7d 64 00 cmp DWORD PTR len$3[rbp], 0 - 002b7 74 31 je SHORT $LN28@stbi__pars -$LN10@stbi__pars: - -; 4346 : do -; 4347 : *zout++ = *p++; - - 002b9 48 8b 45 08 mov rax, QWORD PTR zout$[rbp] - 002bd 48 8b 4d 48 mov rcx, QWORD PTR p$2[rbp] - 002c1 0f b6 09 movzx ecx, BYTE PTR [rcx] - 002c4 88 08 mov BYTE PTR [rax], cl - 002c6 48 8b 45 08 mov rax, QWORD PTR zout$[rbp] - 002ca 48 ff c0 inc rax - 002cd 48 89 45 08 mov QWORD PTR zout$[rbp], rax - 002d1 48 8b 45 48 mov rax, QWORD PTR p$2[rbp] - 002d5 48 ff c0 inc rax - 002d8 48 89 45 48 mov QWORD PTR p$2[rbp], rax - -; 4348 : while (--len); - - 002dc 8b 45 64 mov eax, DWORD PTR len$3[rbp] - 002df ff c8 dec eax - 002e1 89 45 64 mov DWORD PTR len$3[rbp], eax - 002e4 83 7d 64 00 cmp DWORD PTR len$3[rbp], 0 - 002e8 75 cf jne SHORT $LN10@stbi__pars -$LN28@stbi__pars: -$LN26@stbi__pars: -$LN12@stbi__pars: - -; 4349 : } -; 4350 : } -; 4351 : } -; 4352 : } - - 002ea e9 40 fd ff ff jmp $LN2@stbi__pars -$LN1@stbi__pars: - -; 4353 : } - - 002ef 48 8d a5 88 01 - 00 00 lea rsp, QWORD PTR [rbp+392] - 002f6 5f pop rdi - 002f7 5d pop rbp - 002f8 c3 ret 0 -stbi__parse_huffman_block ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__zexpand -_TEXT SEGMENT -q$ = 8 -cur$ = 36 -limit$ = 68 -old_limit$ = 100 -z$ = 352 -zout$ = 360 -n$ = 368 -stbi__zexpand PROC ; COMDAT - -; 4251 : { - - 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec 68 01 - 00 00 sub rsp, 360 ; 00000168H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 4252 : char *q; -; 4253 : unsigned int cur, limit, old_limit; -; 4254 : z->zout = zout; - - 0002a 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00031 48 8b 8d 68 01 - 00 00 mov rcx, QWORD PTR zout$[rbp] - 00038 48 89 48 18 mov QWORD PTR [rax+24], rcx - -; 4255 : if (!z->z_expandable) - - 0003c 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00043 83 78 30 00 cmp DWORD PTR [rax+48], 0 - 00047 75 11 jne SHORT $LN4@stbi__zexp - -; 4256 : return stbi__err("output buffer limit", "Corrupt PNG"); - - 00049 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BE@IBFIPFO@output?5buffer?5limit@ - 00050 e8 00 00 00 00 call stbi__err - 00055 e9 05 01 00 00 jmp $LN1@stbi__zexp -$LN4@stbi__zexp: - -; 4257 : cur = (unsigned int)(z->zout - z->zout_start); - - 0005a 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00061 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00068 48 8b 49 20 mov rcx, QWORD PTR [rcx+32] - 0006c 48 8b 40 18 mov rax, QWORD PTR [rax+24] - 00070 48 2b c1 sub rax, rcx - 00073 89 45 24 mov DWORD PTR cur$[rbp], eax - -; 4258 : limit = old_limit = (unsigned)(z->zout_end - z->zout_start); - - 00076 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 0007d 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00084 48 8b 49 20 mov rcx, QWORD PTR [rcx+32] - 00088 48 8b 40 28 mov rax, QWORD PTR [rax+40] - 0008c 48 2b c1 sub rax, rcx - 0008f 89 45 64 mov DWORD PTR old_limit$[rbp], eax - 00092 8b 45 64 mov eax, DWORD PTR old_limit$[rbp] - 00095 89 45 44 mov DWORD PTR limit$[rbp], eax - -; 4259 : if (UINT_MAX - cur < (unsigned)n) - - 00098 b8 ff ff ff ff mov eax, -1 ; ffffffffH - 0009d 2b 45 24 sub eax, DWORD PTR cur$[rbp] - 000a0 3b 85 70 01 00 - 00 cmp eax, DWORD PTR n$[rbp] - 000a6 73 11 jae SHORT $LN5@stbi__zexp - -; 4260 : return stbi__err("outofmem", "Out of memory"); - - 000a8 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 000af e8 00 00 00 00 call stbi__err - 000b4 e9 a6 00 00 00 jmp $LN1@stbi__zexp -$LN5@stbi__zexp: -$LN2@stbi__zexp: - -; 4261 : while (cur + n > limit) { - - 000b9 8b 85 70 01 00 - 00 mov eax, DWORD PTR n$[rbp] - 000bf 8b 4d 24 mov ecx, DWORD PTR cur$[rbp] - 000c2 03 c8 add ecx, eax - 000c4 8b c1 mov eax, ecx - 000c6 3b 45 44 cmp eax, DWORD PTR limit$[rbp] - 000c9 76 21 jbe SHORT $LN3@stbi__zexp - -; 4262 : if (limit > UINT_MAX / 2) - - 000cb 81 7d 44 ff ff - ff 7f cmp DWORD PTR limit$[rbp], 2147483647 ; 7fffffffH - 000d2 76 0e jbe SHORT $LN6@stbi__zexp - -; 4263 : return stbi__err("outofmem", "Out of memory"); - - 000d4 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 000db e8 00 00 00 00 call stbi__err - 000e0 eb 7d jmp SHORT $LN1@stbi__zexp -$LN6@stbi__zexp: - -; 4264 : limit *= 2; - - 000e2 8b 45 44 mov eax, DWORD PTR limit$[rbp] - 000e5 d1 e0 shl eax, 1 - 000e7 89 45 44 mov DWORD PTR limit$[rbp], eax - -; 4265 : } - - 000ea eb cd jmp SHORT $LN2@stbi__zexp -$LN3@stbi__zexp: - -; 4266 : q = (char *)STBI_REALLOC_SIZED(z->zout_start, old_limit, limit); - - 000ec 8b 45 44 mov eax, DWORD PTR limit$[rbp] - 000ef 8b d0 mov edx, eax - 000f1 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 000f8 48 8b 48 20 mov rcx, QWORD PTR [rax+32] - 000fc ff 15 00 00 00 - 00 call QWORD PTR __imp_realloc - 00102 48 89 45 08 mov QWORD PTR q$[rbp], rax - -; 4267 : STBI_NOTUSED(old_limit); -; 4268 : if (q == NULL) - - 00106 48 83 7d 08 00 cmp QWORD PTR q$[rbp], 0 - 0010b 75 0e jne SHORT $LN7@stbi__zexp - -; 4269 : return stbi__err("outofmem", "Out of memory"); - - 0010d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 00114 e8 00 00 00 00 call stbi__err - 00119 eb 44 jmp SHORT $LN1@stbi__zexp -$LN7@stbi__zexp: - -; 4270 : z->zout_start = q; - - 0011b 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00122 48 8b 4d 08 mov rcx, QWORD PTR q$[rbp] - 00126 48 89 48 20 mov QWORD PTR [rax+32], rcx - -; 4271 : z->zout = q + cur; - - 0012a 8b 45 24 mov eax, DWORD PTR cur$[rbp] - 0012d 48 8b 4d 08 mov rcx, QWORD PTR q$[rbp] - 00131 48 03 c8 add rcx, rax - 00134 48 8b c1 mov rax, rcx - 00137 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0013e 48 89 41 18 mov QWORD PTR [rcx+24], rax - -; 4272 : z->zout_end = q + limit; - - 00142 8b 45 44 mov eax, DWORD PTR limit$[rbp] - 00145 48 8b 4d 08 mov rcx, QWORD PTR q$[rbp] - 00149 48 03 c8 add rcx, rax - 0014c 48 8b c1 mov rax, rcx - 0014f 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00156 48 89 41 28 mov QWORD PTR [rcx+40], rax - -; 4273 : return 1; - - 0015a b8 01 00 00 00 mov eax, 1 -$LN1@stbi__zexp: - -; 4274 : } - - 0015f 48 8d a5 48 01 - 00 00 lea rsp, QWORD PTR [rbp+328] - 00166 5f pop rdi - 00167 5d pop rbp - 00168 c3 ret 0 -stbi__zexpand ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__zhuffman_decode -_TEXT SEGMENT -b$ = 4 -s$ = 36 -tv133 = 248 -a$ = 288 -z$ = 296 -stbi__zhuffman_decode PROC ; COMDAT - -; 4231 : { - - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec 28 01 - 00 00 sub rsp, 296 ; 00000128H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 4232 : int b, s; -; 4233 : if (a->num_bits < 16) { - - 00025 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 0002c 83 78 10 10 cmp DWORD PTR [rax+16], 16 - 00030 7d 27 jge SHORT $LN2@stbi__zhuf - -; 4234 : if (stbi__zeof(a)) { - - 00032 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00039 e8 00 00 00 00 call stbi__zeof - 0003e 85 c0 test eax, eax - 00040 74 0a je SHORT $LN3@stbi__zhuf - -; 4235 : return -1; /* report error for unexpected end of data. */ - - 00042 b8 ff ff ff ff mov eax, -1 - 00047 e9 9b 00 00 00 jmp $LN1@stbi__zhuf -$LN3@stbi__zhuf: - -; 4236 : } -; 4237 : stbi__fill_bits(a); - - 0004c 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00053 e8 00 00 00 00 call stbi__fill_bits - 00058 90 npad 1 -$LN2@stbi__zhuf: - -; 4238 : } -; 4239 : b = z->fast[a->code_buffer & STBI__ZFAST_MASK]; - - 00059 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 00060 8b 40 14 mov eax, DWORD PTR [rax+20] - 00063 25 ff 01 00 00 and eax, 511 ; 000001ffH - 00068 8b c0 mov eax, eax - 0006a 48 8b 8d 28 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00071 0f b7 04 41 movzx eax, WORD PTR [rcx+rax*2] - 00075 89 45 04 mov DWORD PTR b$[rbp], eax - -; 4240 : if (b) { - - 00078 83 7d 04 00 cmp DWORD PTR b$[rbp], 0 - 0007c 74 56 je SHORT $LN4@stbi__zhuf - -; 4241 : s = b >> 9; - - 0007e 8b 45 04 mov eax, DWORD PTR b$[rbp] - 00081 c1 f8 09 sar eax, 9 - 00084 89 45 24 mov DWORD PTR s$[rbp], eax - -; 4242 : a->code_buffer >>= s; - - 00087 8b 45 24 mov eax, DWORD PTR s$[rbp] - 0008a 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00091 48 89 8d f8 00 - 00 00 mov QWORD PTR tv133[rbp], rcx - 00098 0f b6 c8 movzx ecx, al - 0009b 48 8b 85 f8 00 - 00 00 mov rax, QWORD PTR tv133[rbp] - 000a2 8b 40 14 mov eax, DWORD PTR [rax+20] - 000a5 d3 e8 shr eax, cl - 000a7 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 000ae 89 41 14 mov DWORD PTR [rcx+20], eax - -; 4243 : a->num_bits -= s; - - 000b1 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 000b8 8b 4d 24 mov ecx, DWORD PTR s$[rbp] - 000bb 8b 40 10 mov eax, DWORD PTR [rax+16] - 000be 2b c1 sub eax, ecx - 000c0 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 000c7 89 41 10 mov DWORD PTR [rcx+16], eax - -; 4244 : return b & 511; - - 000ca 8b 45 04 mov eax, DWORD PTR b$[rbp] - 000cd 25 ff 01 00 00 and eax, 511 ; 000001ffH - 000d2 eb 13 jmp SHORT $LN1@stbi__zhuf -$LN4@stbi__zhuf: - -; 4245 : } -; 4246 : return stbi__zhuffman_decode_slowpath(a, z); - - 000d4 48 8b 95 28 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 000db 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 000e2 e8 00 00 00 00 call stbi__zhuffman_decode_slowpath -$LN1@stbi__zhuf: - -; 4247 : } - - 000e7 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 000ee 5f pop rdi - 000ef 5d pop rbp - 000f0 c3 ret 0 -stbi__zhuffman_decode ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__zhuffman_decode_slowpath -_TEXT SEGMENT -b$ = 4 -s$ = 36 -k$ = 68 -tv159 = 280 -a$ = 320 -z$ = 328 -stbi__zhuffman_decode_slowpath PROC ; COMDAT - -; 4209 : { - - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec 48 01 - 00 00 sub rsp, 328 ; 00000148H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 4210 : int b, s, k; -; 4211 : // not resolved by fast table, so compute it the slow way -; 4212 : // use jpeg approach, which requires MSbits at top -; 4213 : k = stbi__bit_reverse(a->code_buffer, 16); - - 00025 ba 10 00 00 00 mov edx, 16 - 0002a 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 00031 8b 48 14 mov ecx, DWORD PTR [rax+20] - 00034 e8 00 00 00 00 call stbi__bit_reverse - 00039 89 45 44 mov DWORD PTR k$[rbp], eax - -; 4214 : for (s = STBI__ZFAST_BITS + 1;; ++s) - - 0003c c7 45 24 0a 00 - 00 00 mov DWORD PTR s$[rbp], 10 - 00043 eb 08 jmp SHORT $LN4@stbi__zhuf -$LN2@stbi__zhuf: - 00045 8b 45 24 mov eax, DWORD PTR s$[rbp] - 00048 ff c0 inc eax - 0004a 89 45 24 mov DWORD PTR s$[rbp], eax -$LN4@stbi__zhuf: - -; 4215 : if (k < z->maxcode[s]) - - 0004d 48 63 45 24 movsxd rax, DWORD PTR s$[rbp] - 00051 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00058 8b 84 81 20 04 - 00 00 mov eax, DWORD PTR [rcx+rax*4+1056] - 0005f 39 45 44 cmp DWORD PTR k$[rbp], eax - 00062 7d 02 jge SHORT $LN5@stbi__zhuf - -; 4216 : break; - - 00064 eb 02 jmp SHORT $LN3@stbi__zhuf -$LN5@stbi__zhuf: - 00066 eb dd jmp SHORT $LN2@stbi__zhuf -$LN3@stbi__zhuf: - -; 4217 : if (s >= 16) - - 00068 83 7d 24 10 cmp DWORD PTR s$[rbp], 16 - 0006c 7c 0a jl SHORT $LN6@stbi__zhuf - -; 4218 : return -1; // invalid code! - - 0006e b8 ff ff ff ff mov eax, -1 - 00073 e9 c2 00 00 00 jmp $LN1@stbi__zhuf -$LN6@stbi__zhuf: - -; 4219 : // code size is s, so: -; 4220 : b = (k >> (16 - s)) - z->firstcode[s] + z->firstsymbol[s]; - - 00078 b8 10 00 00 00 mov eax, 16 - 0007d 2b 45 24 sub eax, DWORD PTR s$[rbp] - 00080 0f b6 c8 movzx ecx, al - 00083 8b 45 44 mov eax, DWORD PTR k$[rbp] - 00086 d3 f8 sar eax, cl - 00088 48 63 4d 24 movsxd rcx, DWORD PTR s$[rbp] - 0008c 48 8b 95 48 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 00093 0f b7 8c 4a 00 - 04 00 00 movzx ecx, WORD PTR [rdx+rcx*2+1024] - 0009b 2b c1 sub eax, ecx - 0009d 48 63 4d 24 movsxd rcx, DWORD PTR s$[rbp] - 000a1 48 8b 95 48 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 000a8 0f b7 8c 4a 64 - 04 00 00 movzx ecx, WORD PTR [rdx+rcx*2+1124] - 000b0 03 c1 add eax, ecx - 000b2 89 45 04 mov DWORD PTR b$[rbp], eax - -; 4221 : if (b >= STBI__ZNSYMS) - - 000b5 81 7d 04 20 01 - 00 00 cmp DWORD PTR b$[rbp], 288 ; 00000120H - 000bc 7c 07 jl SHORT $LN7@stbi__zhuf - -; 4222 : return -1; // some data was corrupt somewhere! - - 000be b8 ff ff ff ff mov eax, -1 - 000c3 eb 75 jmp SHORT $LN1@stbi__zhuf -$LN7@stbi__zhuf: - -; 4223 : if (z->size[b] != s) - - 000c5 48 63 45 04 movsxd rax, DWORD PTR b$[rbp] - 000c9 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 000d0 0f b6 84 01 84 - 04 00 00 movzx eax, BYTE PTR [rcx+rax+1156] - 000d8 3b 45 24 cmp eax, DWORD PTR s$[rbp] - 000db 74 07 je SHORT $LN8@stbi__zhuf - -; 4224 : return -1; // was originally an assert, but report failure instead. - - 000dd b8 ff ff ff ff mov eax, -1 - 000e2 eb 56 jmp SHORT $LN1@stbi__zhuf -$LN8@stbi__zhuf: - -; 4225 : a->code_buffer >>= s; - - 000e4 8b 45 24 mov eax, DWORD PTR s$[rbp] - 000e7 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 000ee 48 89 8d 18 01 - 00 00 mov QWORD PTR tv159[rbp], rcx - 000f5 0f b6 c8 movzx ecx, al - 000f8 48 8b 85 18 01 - 00 00 mov rax, QWORD PTR tv159[rbp] - 000ff 8b 40 14 mov eax, DWORD PTR [rax+20] - 00102 d3 e8 shr eax, cl - 00104 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 0010b 89 41 14 mov DWORD PTR [rcx+20], eax - -; 4226 : a->num_bits -= s; - - 0010e 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR a$[rbp] - 00115 8b 4d 24 mov ecx, DWORD PTR s$[rbp] - 00118 8b 40 10 mov eax, DWORD PTR [rax+16] - 0011b 2b c1 sub eax, ecx - 0011d 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR a$[rbp] - 00124 89 41 10 mov DWORD PTR [rcx+16], eax - -; 4227 : return z->value[b]; - - 00127 48 63 45 04 movsxd rax, DWORD PTR b$[rbp] - 0012b 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00132 0f b7 84 41 a4 - 05 00 00 movzx eax, WORD PTR [rcx+rax*2+1444] -$LN1@stbi__zhuf: - -; 4228 : } - - 0013a 48 8d a5 28 01 - 00 00 lea rsp, QWORD PTR [rbp+296] - 00141 5f pop rdi - 00142 5d pop rbp - 00143 c3 ret 0 -stbi__zhuffman_decode_slowpath ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__zreceive -_TEXT SEGMENT -k$ = 4 -tv84 = 212 -tv90 = 216 -z$ = 256 -n$ = 264 -stbi__zreceive PROC ; COMDAT - -; 4198 : { - - 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00009 55 push rbp - 0000a 57 push rdi - 0000b 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00017 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00023 90 npad 1 - -; 4199 : unsigned int k; -; 4200 : if (z->num_bits < n) - - 00024 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 0002b 8b 8d 08 01 00 - 00 mov ecx, DWORD PTR n$[rbp] - 00031 39 48 10 cmp DWORD PTR [rax+16], ecx - 00034 7d 0d jge SHORT $LN2@stbi__zrec - -; 4201 : stbi__fill_bits(z); - - 00036 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0003d e8 00 00 00 00 call stbi__fill_bits - 00042 90 npad 1 -$LN2@stbi__zrec: - -; 4202 : k = z->code_buffer & ((1 << n) - 1); - - 00043 8b 85 08 01 00 - 00 mov eax, DWORD PTR n$[rbp] - 00049 b9 01 00 00 00 mov ecx, 1 - 0004e 89 8d d4 00 00 - 00 mov DWORD PTR tv84[rbp], ecx - 00054 0f b6 c8 movzx ecx, al - 00057 8b 85 d4 00 00 - 00 mov eax, DWORD PTR tv84[rbp] - 0005d d3 e0 shl eax, cl - 0005f ff c8 dec eax - 00061 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00068 8b 49 14 mov ecx, DWORD PTR [rcx+20] - 0006b 23 c8 and ecx, eax - 0006d 8b c1 mov eax, ecx - 0006f 89 45 04 mov DWORD PTR k$[rbp], eax - -; 4203 : z->code_buffer >>= n; - - 00072 8b 85 08 01 00 - 00 mov eax, DWORD PTR n$[rbp] - 00078 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0007f 48 89 8d d8 00 - 00 00 mov QWORD PTR tv90[rbp], rcx - 00086 0f b6 c8 movzx ecx, al - 00089 48 8b 85 d8 00 - 00 00 mov rax, QWORD PTR tv90[rbp] - 00090 8b 40 14 mov eax, DWORD PTR [rax+20] - 00093 d3 e8 shr eax, cl - 00095 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0009c 89 41 14 mov DWORD PTR [rcx+20], eax - -; 4204 : z->num_bits -= n; - - 0009f 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 000a6 8b 8d 08 01 00 - 00 mov ecx, DWORD PTR n$[rbp] - 000ac 8b 40 10 mov eax, DWORD PTR [rax+16] - 000af 2b c1 sub eax, ecx - 000b1 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 000b8 89 41 10 mov DWORD PTR [rcx+16], eax - -; 4205 : return k; - - 000bb 8b 45 04 mov eax, DWORD PTR k$[rbp] - -; 4206 : } - - 000be 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 000c5 5f pop rdi - 000c6 5d pop rbp - 000c7 c3 ret 0 -stbi__zreceive ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__fill_bits -_TEXT SEGMENT -tv92 = 192 -z$ = 240 -stbi__fill_bits PROC ; COMDAT - -; 4186 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 -$LN4@stbi__fill: - -; 4187 : do { -; 4188 : if (z->code_buffer >= (1U << z->num_bits)) { - - 00020 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR z$[rbp] - 00027 8b 40 10 mov eax, DWORD PTR [rax+16] - 0002a b9 01 00 00 00 mov ecx, 1 - 0002f 89 8d c0 00 00 - 00 mov DWORD PTR tv92[rbp], ecx - 00035 0f b6 c8 movzx ecx, al - 00038 8b 85 c0 00 00 - 00 mov eax, DWORD PTR tv92[rbp] - 0003e d3 e0 shl eax, cl - 00040 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00047 39 41 14 cmp DWORD PTR [rcx+20], eax - 0004a 72 17 jb SHORT $LN5@stbi__fill - -; 4189 : z->zbuffer = z->zbuffer_end; /* treat this as EOF so we fail. */ - - 0004c 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR z$[rbp] - 00053 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0005a 48 8b 49 08 mov rcx, QWORD PTR [rcx+8] - 0005e 48 89 08 mov QWORD PTR [rax], rcx - -; 4190 : return; - - 00061 eb 5b jmp SHORT $LN1@stbi__fill -$LN5@stbi__fill: - -; 4191 : } -; 4192 : z->code_buffer |= (unsigned int)stbi__zget8(z) << z->num_bits; - - 00063 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0006a e8 00 00 00 00 call stbi__zget8 - 0006f 0f b6 c0 movzx eax, al - 00072 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00079 8b 49 10 mov ecx, DWORD PTR [rcx+16] - 0007c d3 e0 shl eax, cl - 0007e 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00085 8b 49 14 mov ecx, DWORD PTR [rcx+20] - 00088 0b c8 or ecx, eax - 0008a 8b c1 mov eax, ecx - 0008c 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00093 89 41 14 mov DWORD PTR [rcx+20], eax - -; 4193 : z->num_bits += 8; - - 00096 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR z$[rbp] - 0009d 8b 40 10 mov eax, DWORD PTR [rax+16] - 000a0 83 c0 08 add eax, 8 - 000a3 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR z$[rbp] - 000aa 89 41 10 mov DWORD PTR [rcx+16], eax - -; 4194 : } while (z->num_bits <= 24); - - 000ad 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR z$[rbp] - 000b4 83 78 10 18 cmp DWORD PTR [rax+16], 24 - 000b8 0f 8e 62 ff ff - ff jle $LN4@stbi__fill -$LN1@stbi__fill: - -; 4195 : } - - 000be 48 8d a5 d8 00 - 00 00 lea rsp, QWORD PTR [rbp+216] - 000c5 5f pop rdi - 000c6 5d pop rbp - 000c7 c3 ret 0 -stbi__fill_bits ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__zget8 -_TEXT SEGMENT -tv73 = 192 -z$ = 240 -stbi__zget8 PROC ; COMDAT - -; 4181 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 4182 : return stbi__zeof(z) ? 0 : *z->zbuffer++; - - 00020 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00027 e8 00 00 00 00 call stbi__zeof - 0002c 85 c0 test eax, eax - 0002e 74 0c je SHORT $LN3@stbi__zget - 00030 c7 85 c0 00 00 - 00 00 00 00 00 mov DWORD PTR tv73[rbp], 0 - 0003a eb 2a jmp SHORT $LN4@stbi__zget -$LN3@stbi__zget: - 0003c 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR z$[rbp] - 00043 48 8b 00 mov rax, QWORD PTR [rax] - 00046 0f b6 00 movzx eax, BYTE PTR [rax] - 00049 89 85 c0 00 00 - 00 mov DWORD PTR tv73[rbp], eax - 0004f 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR z$[rbp] - 00056 48 8b 00 mov rax, QWORD PTR [rax] - 00059 48 ff c0 inc rax - 0005c 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00063 48 89 01 mov QWORD PTR [rcx], rax -$LN4@stbi__zget: - 00066 0f b6 85 c0 00 - 00 00 movzx eax, BYTE PTR tv73[rbp] - -; 4183 : } - - 0006d 48 8d a5 d8 00 - 00 00 lea rsp, QWORD PTR [rbp+216] - 00074 5f pop rdi - 00075 5d pop rbp - 00076 c3 ret 0 -stbi__zget8 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__zeof -_TEXT SEGMENT -tv67 = 192 -z$ = 240 -stbi__zeof PROC ; COMDAT - -; 4176 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 4177 : return (z->zbuffer >= z->zbuffer_end); - - 00020 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR z$[rbp] - 00027 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0002e 48 8b 49 08 mov rcx, QWORD PTR [rcx+8] - 00032 48 39 08 cmp QWORD PTR [rax], rcx - 00035 72 0c jb SHORT $LN3@stbi__zeof - 00037 c7 85 c0 00 00 - 00 01 00 00 00 mov DWORD PTR tv67[rbp], 1 - 00041 eb 0a jmp SHORT $LN4@stbi__zeof -$LN3@stbi__zeof: - 00043 c7 85 c0 00 00 - 00 00 00 00 00 mov DWORD PTR tv67[rbp], 0 -$LN4@stbi__zeof: - 0004d 8b 85 c0 00 00 - 00 mov eax, DWORD PTR tv67[rbp] - -; 4178 : } - - 00053 48 8d a5 d8 00 - 00 00 lea rsp, QWORD PTR [rbp+216] - 0005a 5f pop rdi - 0005b 5d pop rbp - 0005c c3 ret 0 -stbi__zeof ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__zbuild_huffman -_TEXT SEGMENT -i$ = 4 -k$ = 36 -code$ = 68 -next_code$ = 112 -sizes$ = 208 -s$5 = 308 -c$6 = 340 -fastv$7 = 372 -j$8 = 404 -tv289 = 612 -__$ArrayPad$ = 616 -z$ = 656 -sizelist$ = 664 -num$ = 672 -stbi__zbuild_huffman PROC ; COMDAT - -; 4109 : { - - 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec 98 02 - 00 00 sub rsp, 664 ; 00000298H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 00022 b9 6e 00 00 00 mov ecx, 110 ; 0000006eH - 00027 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 0002c f3 ab rep stosd - 0002e 48 8b 8c 24 b8 - 02 00 00 mov rcx, QWORD PTR [rsp+696] - 00036 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 0003d 48 33 c5 xor rax, rbp - 00040 48 89 85 68 02 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 00047 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0004e e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00053 90 npad 1 - -; 4110 : int i, k = 0; - - 00054 c7 45 24 00 00 - 00 00 mov DWORD PTR k$[rbp], 0 - -; 4111 : int code, next_code[16], sizes[17]; -; 4112 : -; 4113 : // DEFLATE spec for generating codes -; 4114 : memset(sizes, 0, sizeof(sizes)); - - 0005b 41 b8 44 00 00 - 00 mov r8d, 68 ; 00000044H - 00061 33 d2 xor edx, edx - 00063 48 8d 8d d0 00 - 00 00 lea rcx, QWORD PTR sizes$[rbp] - 0006a e8 00 00 00 00 call memset - 0006f 90 npad 1 - -; 4115 : memset(z->fast, 0, sizeof(z->fast)); - - 00070 48 8b 85 90 02 - 00 00 mov rax, QWORD PTR z$[rbp] - 00077 41 b8 00 04 00 - 00 mov r8d, 1024 ; 00000400H - 0007d 33 d2 xor edx, edx - 0007f 48 8b c8 mov rcx, rax - 00082 e8 00 00 00 00 call memset - 00087 90 npad 1 - -; 4116 : for (i = 0; i < num; ++i) - - 00088 c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 0008f eb 08 jmp SHORT $LN4@stbi__zbui -$LN2@stbi__zbui: - 00091 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00094 ff c0 inc eax - 00096 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__zbui: - 00099 8b 85 a0 02 00 - 00 mov eax, DWORD PTR num$[rbp] - 0009f 39 45 04 cmp DWORD PTR i$[rbp], eax - 000a2 7d 30 jge SHORT $LN3@stbi__zbui - -; 4117 : ++sizes[sizelist[i]]; - - 000a4 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 000a8 48 8b 8d 98 02 - 00 00 mov rcx, QWORD PTR sizelist$[rbp] - 000af 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 000b3 8b 84 85 d0 00 - 00 00 mov eax, DWORD PTR sizes$[rbp+rax*4] - 000ba ff c0 inc eax - 000bc 48 63 4d 04 movsxd rcx, DWORD PTR i$[rbp] - 000c0 48 8b 95 98 02 - 00 00 mov rdx, QWORD PTR sizelist$[rbp] - 000c7 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 000cb 89 84 8d d0 00 - 00 00 mov DWORD PTR sizes$[rbp+rcx*4], eax - 000d2 eb bd jmp SHORT $LN2@stbi__zbui -$LN3@stbi__zbui: - -; 4118 : sizes[0] = 0; - - 000d4 b8 04 00 00 00 mov eax, 4 - 000d9 48 6b c0 00 imul rax, rax, 0 - 000dd c7 84 05 d0 00 - 00 00 00 00 00 - 00 mov DWORD PTR sizes$[rbp+rax], 0 - -; 4119 : for (i = 1; i < 16; ++i) - - 000e8 c7 45 04 01 00 - 00 00 mov DWORD PTR i$[rbp], 1 - 000ef eb 08 jmp SHORT $LN7@stbi__zbui -$LN5@stbi__zbui: - 000f1 8b 45 04 mov eax, DWORD PTR i$[rbp] - 000f4 ff c0 inc eax - 000f6 89 45 04 mov DWORD PTR i$[rbp], eax -$LN7@stbi__zbui: - 000f9 83 7d 04 10 cmp DWORD PTR i$[rbp], 16 - 000fd 7d 2c jge SHORT $LN6@stbi__zbui - -; 4120 : if (sizes[i] > (1 << i)) - - 000ff 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 00103 8b 4d 04 mov ecx, DWORD PTR i$[rbp] - 00106 ba 01 00 00 00 mov edx, 1 - 0010b d3 e2 shl edx, cl - 0010d 8b ca mov ecx, edx - 0010f 39 8c 85 d0 00 - 00 00 cmp DWORD PTR sizes$[rbp+rax*4], ecx - 00116 7e 11 jle SHORT $LN16@stbi__zbui - -; 4121 : return stbi__err("bad sizes", "Corrupt PNG"); - - 00118 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09EOHLEIKL@bad?5sizes@ - 0011f e8 00 00 00 00 call stbi__err - 00124 e9 6b 02 00 00 jmp $LN1@stbi__zbui -$LN16@stbi__zbui: - 00129 eb c6 jmp SHORT $LN5@stbi__zbui -$LN6@stbi__zbui: - -; 4122 : code = 0; - - 0012b c7 45 44 00 00 - 00 00 mov DWORD PTR code$[rbp], 0 - -; 4123 : for (i = 1; i < 16; ++i) { - - 00132 c7 45 04 01 00 - 00 00 mov DWORD PTR i$[rbp], 1 - 00139 eb 08 jmp SHORT $LN10@stbi__zbui -$LN8@stbi__zbui: - 0013b 8b 45 04 mov eax, DWORD PTR i$[rbp] - 0013e ff c0 inc eax - 00140 89 45 04 mov DWORD PTR i$[rbp], eax -$LN10@stbi__zbui: - 00143 83 7d 04 10 cmp DWORD PTR i$[rbp], 16 - 00147 0f 8d c6 00 00 - 00 jge $LN9@stbi__zbui - -; 4124 : next_code[i] = code; - - 0014d 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 00151 8b 4d 44 mov ecx, DWORD PTR code$[rbp] - 00154 89 4c 85 70 mov DWORD PTR next_code$[rbp+rax*4], ecx - -; 4125 : z->firstcode[i] = (stbi__uint16)code; - - 00158 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 0015c 48 8b 8d 90 02 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00163 0f b7 55 44 movzx edx, WORD PTR code$[rbp] - 00167 66 89 94 41 00 - 04 00 00 mov WORD PTR [rcx+rax*2+1024], dx - -; 4126 : z->firstsymbol[i] = (stbi__uint16)k; - - 0016f 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 00173 48 8b 8d 90 02 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0017a 0f b7 55 24 movzx edx, WORD PTR k$[rbp] - 0017e 66 89 94 41 64 - 04 00 00 mov WORD PTR [rcx+rax*2+1124], dx - -; 4127 : code = (code + sizes[i]); - - 00186 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 0018a 8b 84 85 d0 00 - 00 00 mov eax, DWORD PTR sizes$[rbp+rax*4] - 00191 8b 4d 44 mov ecx, DWORD PTR code$[rbp] - 00194 03 c8 add ecx, eax - 00196 8b c1 mov eax, ecx - 00198 89 45 44 mov DWORD PTR code$[rbp], eax - -; 4128 : if (sizes[i]) - - 0019b 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 0019f 83 bc 85 d0 00 - 00 00 00 cmp DWORD PTR sizes$[rbp+rax*4], 0 - 001a7 74 26 je SHORT $LN17@stbi__zbui - -; 4129 : if (code - 1 >= (1 << i)) - - 001a9 8b 45 44 mov eax, DWORD PTR code$[rbp] - 001ac ff c8 dec eax - 001ae 8b 4d 04 mov ecx, DWORD PTR i$[rbp] - 001b1 ba 01 00 00 00 mov edx, 1 - 001b6 d3 e2 shl edx, cl - 001b8 8b ca mov ecx, edx - 001ba 3b c1 cmp eax, ecx - 001bc 7c 11 jl SHORT $LN18@stbi__zbui - -; 4130 : return stbi__err("bad codelengths", "Corrupt PNG"); - - 001be 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BA@MDNKOBMC@bad?5codelengths@ - 001c5 e8 00 00 00 00 call stbi__err - 001ca e9 c5 01 00 00 jmp $LN1@stbi__zbui -$LN18@stbi__zbui: -$LN17@stbi__zbui: - -; 4131 : z->maxcode[i] = code << (16 - i); // preshift for inner loop - - 001cf b8 10 00 00 00 mov eax, 16 - 001d4 2b 45 04 sub eax, DWORD PTR i$[rbp] - 001d7 0f b6 c8 movzx ecx, al - 001da 8b 45 44 mov eax, DWORD PTR code$[rbp] - 001dd d3 e0 shl eax, cl - 001df 48 63 4d 04 movsxd rcx, DWORD PTR i$[rbp] - 001e3 48 8b 95 90 02 - 00 00 mov rdx, QWORD PTR z$[rbp] - 001ea 89 84 8a 20 04 - 00 00 mov DWORD PTR [rdx+rcx*4+1056], eax - -; 4132 : code <<= 1; - - 001f1 8b 45 44 mov eax, DWORD PTR code$[rbp] - 001f4 d1 e0 shl eax, 1 - 001f6 89 45 44 mov DWORD PTR code$[rbp], eax - -; 4133 : k += sizes[i]; - - 001f9 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 001fd 8b 84 85 d0 00 - 00 00 mov eax, DWORD PTR sizes$[rbp+rax*4] - 00204 8b 4d 24 mov ecx, DWORD PTR k$[rbp] - 00207 03 c8 add ecx, eax - 00209 8b c1 mov eax, ecx - 0020b 89 45 24 mov DWORD PTR k$[rbp], eax - -; 4134 : } - - 0020e e9 28 ff ff ff jmp $LN8@stbi__zbui -$LN9@stbi__zbui: - -; 4135 : z->maxcode[16] = 0x10000; // sentinel - - 00213 b8 04 00 00 00 mov eax, 4 - 00218 48 6b c0 10 imul rax, rax, 16 - 0021c 48 8b 8d 90 02 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00223 c7 84 01 20 04 - 00 00 00 00 01 - 00 mov DWORD PTR [rcx+rax+1056], 65536 ; 00010000H - -; 4136 : for (i = 0; i < num; ++i) { - - 0022e c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 00235 eb 08 jmp SHORT $LN13@stbi__zbui -$LN11@stbi__zbui: - 00237 8b 45 04 mov eax, DWORD PTR i$[rbp] - 0023a ff c0 inc eax - 0023c 89 45 04 mov DWORD PTR i$[rbp], eax -$LN13@stbi__zbui: - 0023f 8b 85 a0 02 00 - 00 mov eax, DWORD PTR num$[rbp] - 00245 39 45 04 cmp DWORD PTR i$[rbp], eax - 00248 0f 8d 41 01 00 - 00 jge $LN12@stbi__zbui - -; 4137 : int s = sizelist[i]; - - 0024e 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 00252 48 8b 8d 98 02 - 00 00 mov rcx, QWORD PTR sizelist$[rbp] - 00259 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0025d 89 85 34 01 00 - 00 mov DWORD PTR s$5[rbp], eax - -; 4138 : if (s) { - - 00263 83 bd 34 01 00 - 00 00 cmp DWORD PTR s$5[rbp], 0 - 0026a 0f 84 1a 01 00 - 00 je $LN19@stbi__zbui - -; 4139 : int c = next_code[s] - z->firstcode[s] + z->firstsymbol[s]; - - 00270 48 63 85 34 01 - 00 00 movsxd rax, DWORD PTR s$5[rbp] - 00277 48 63 8d 34 01 - 00 00 movsxd rcx, DWORD PTR s$5[rbp] - 0027e 48 8b 95 90 02 - 00 00 mov rdx, QWORD PTR z$[rbp] - 00285 0f b7 8c 4a 00 - 04 00 00 movzx ecx, WORD PTR [rdx+rcx*2+1024] - 0028d 8b 44 85 70 mov eax, DWORD PTR next_code$[rbp+rax*4] - 00291 2b c1 sub eax, ecx - 00293 48 63 8d 34 01 - 00 00 movsxd rcx, DWORD PTR s$5[rbp] - 0029a 48 8b 95 90 02 - 00 00 mov rdx, QWORD PTR z$[rbp] - 002a1 0f b7 8c 4a 64 - 04 00 00 movzx ecx, WORD PTR [rdx+rcx*2+1124] - 002a9 03 c1 add eax, ecx - 002ab 89 85 54 01 00 - 00 mov DWORD PTR c$6[rbp], eax - -; 4140 : stbi__uint16 fastv = (stbi__uint16)((s << 9) | i); - - 002b1 8b 85 34 01 00 - 00 mov eax, DWORD PTR s$5[rbp] - 002b7 c1 e0 09 shl eax, 9 - 002ba 0b 45 04 or eax, DWORD PTR i$[rbp] - 002bd 66 89 85 74 01 - 00 00 mov WORD PTR fastv$7[rbp], ax - -; 4141 : z->size[c] = (stbi_uc)s; - - 002c4 48 63 85 54 01 - 00 00 movsxd rax, DWORD PTR c$6[rbp] - 002cb 48 8b 8d 90 02 - 00 00 mov rcx, QWORD PTR z$[rbp] - 002d2 0f b6 95 34 01 - 00 00 movzx edx, BYTE PTR s$5[rbp] - 002d9 88 94 01 84 04 - 00 00 mov BYTE PTR [rcx+rax+1156], dl - -; 4142 : z->value[c] = (stbi__uint16)i; - - 002e0 48 63 85 54 01 - 00 00 movsxd rax, DWORD PTR c$6[rbp] - 002e7 48 8b 8d 90 02 - 00 00 mov rcx, QWORD PTR z$[rbp] - 002ee 0f b7 55 04 movzx edx, WORD PTR i$[rbp] - 002f2 66 89 94 41 a4 - 05 00 00 mov WORD PTR [rcx+rax*2+1444], dx - -; 4143 : if (s <= STBI__ZFAST_BITS) { - - 002fa 83 bd 34 01 00 - 00 09 cmp DWORD PTR s$5[rbp], 9 - 00301 7f 6f jg SHORT $LN20@stbi__zbui - -; 4144 : int j = stbi__bit_reverse(next_code[s], s); - - 00303 48 63 85 34 01 - 00 00 movsxd rax, DWORD PTR s$5[rbp] - 0030a 8b 95 34 01 00 - 00 mov edx, DWORD PTR s$5[rbp] - 00310 8b 4c 85 70 mov ecx, DWORD PTR next_code$[rbp+rax*4] - 00314 e8 00 00 00 00 call stbi__bit_reverse - 00319 89 85 94 01 00 - 00 mov DWORD PTR j$8[rbp], eax -$LN14@stbi__zbui: - -; 4145 : while (j < (1 << STBI__ZFAST_BITS)) { - - 0031f 81 bd 94 01 00 - 00 00 02 00 00 cmp DWORD PTR j$8[rbp], 512 ; 00000200H - 00329 7d 47 jge SHORT $LN15@stbi__zbui - -; 4146 : z->fast[j] = fastv; - - 0032b 48 63 85 94 01 - 00 00 movsxd rax, DWORD PTR j$8[rbp] - 00332 48 8b 8d 90 02 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00339 0f b7 95 74 01 - 00 00 movzx edx, WORD PTR fastv$7[rbp] - 00340 66 89 14 41 mov WORD PTR [rcx+rax*2], dx - -; 4147 : j += (1 << s); - - 00344 8b 85 34 01 00 - 00 mov eax, DWORD PTR s$5[rbp] - 0034a b9 01 00 00 00 mov ecx, 1 - 0034f 89 8d 64 02 00 - 00 mov DWORD PTR tv289[rbp], ecx - 00355 0f b6 c8 movzx ecx, al - 00358 8b 85 64 02 00 - 00 mov eax, DWORD PTR tv289[rbp] - 0035e d3 e0 shl eax, cl - 00360 8b 8d 94 01 00 - 00 mov ecx, DWORD PTR j$8[rbp] - 00366 03 c8 add ecx, eax - 00368 8b c1 mov eax, ecx - 0036a 89 85 94 01 00 - 00 mov DWORD PTR j$8[rbp], eax - -; 4148 : } - - 00370 eb ad jmp SHORT $LN14@stbi__zbui -$LN15@stbi__zbui: -$LN20@stbi__zbui: - -; 4149 : } -; 4150 : ++next_code[s]; - - 00372 48 63 85 34 01 - 00 00 movsxd rax, DWORD PTR s$5[rbp] - 00379 8b 44 85 70 mov eax, DWORD PTR next_code$[rbp+rax*4] - 0037d ff c0 inc eax - 0037f 48 63 8d 34 01 - 00 00 movsxd rcx, DWORD PTR s$5[rbp] - 00386 89 44 8d 70 mov DWORD PTR next_code$[rbp+rcx*4], eax -$LN19@stbi__zbui: - -; 4151 : } -; 4152 : } - - 0038a e9 a8 fe ff ff jmp $LN11@stbi__zbui -$LN12@stbi__zbui: - -; 4153 : return 1; - - 0038f b8 01 00 00 00 mov eax, 1 -$LN1@stbi__zbui: - -; 4154 : } - - 00394 48 8b f8 mov rdi, rax - 00397 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 0039b 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__zbuild_huffman$rtcFrameData - 003a2 e8 00 00 00 00 call _RTC_CheckStackVars - 003a7 48 8b c7 mov rax, rdi - 003aa 48 8b 8d 68 02 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 003b1 48 33 cd xor rcx, rbp - 003b4 e8 00 00 00 00 call __security_check_cookie - 003b9 48 8d a5 78 02 - 00 00 lea rsp, QWORD PTR [rbp+632] - 003c0 5f pop rdi - 003c1 5d pop rbp - 003c2 c3 ret 0 -stbi__zbuild_huffman ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__bit_reverse -_TEXT SEGMENT -v$ = 224 -bits$ = 232 -stbi__bit_reverse PROC ; COMDAT - -; 4101 : { - - 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00004 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 00008 55 push rbp - 00009 57 push rdi - 0000a 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 00011 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00016 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001d e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00022 90 npad 1 - -; 4102 : STBI_ASSERT(bits <= 16); - - 00023 83 bd e8 00 00 - 00 10 cmp DWORD PTR bits$[rbp], 16 - 0002a 7e 1c jle SHORT $LN3@stbi__bit_ - 0002c 41 b8 06 10 00 - 00 mov r8d, 4102 ; 00001006H - 00032 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_1GG@PCNMFHPN@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ - 00039 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_1BG@HKNLHECB@?$AAb?$AAi?$AAt?$AAs?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA1?$AA6@ - 00040 ff 15 00 00 00 - 00 call QWORD PTR __imp__wassert - 00046 33 c0 xor eax, eax -$LN3@stbi__bit_: - -; 4103 : // to bit reverse n bits, reverse 16 and shift -; 4104 : // e.g. 11 bits, bit reverse and shift away 5 -; 4105 : return stbi__bitreverse16(v) >> (16 - bits); - - 00048 8b 8d e0 00 00 - 00 mov ecx, DWORD PTR v$[rbp] - 0004e e8 00 00 00 00 call stbi__bitreverse16 - 00053 b9 10 00 00 00 mov ecx, 16 - 00058 2b 8d e8 00 00 - 00 sub ecx, DWORD PTR bits$[rbp] - 0005e d3 f8 sar eax, cl - -; 4106 : } - - 00060 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00067 5f pop rdi - 00068 5d pop rbp - 00069 c3 ret 0 -stbi__bit_reverse ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__bitreverse16 -_TEXT SEGMENT -n$ = 224 -stbi__bitreverse16 PROC ; COMDAT - -; 4092 : { - - 00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 00004 55 push rbp - 00005 57 push rdi - 00006 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00012 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00019 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001e 90 npad 1 - -; 4093 : n = ((n & 0xAAAA) >> 1) | ((n & 0x5555) << 1); - - 0001f 8b 85 e0 00 00 - 00 mov eax, DWORD PTR n$[rbp] - 00025 25 aa aa 00 00 and eax, 43690 ; 0000aaaaH - 0002a d1 f8 sar eax, 1 - 0002c 8b 8d e0 00 00 - 00 mov ecx, DWORD PTR n$[rbp] - 00032 81 e1 55 55 00 - 00 and ecx, 21845 ; 00005555H - 00038 d1 e1 shl ecx, 1 - 0003a 0b c1 or eax, ecx - 0003c 89 85 e0 00 00 - 00 mov DWORD PTR n$[rbp], eax - -; 4094 : n = ((n & 0xCCCC) >> 2) | ((n & 0x3333) << 2); - - 00042 8b 85 e0 00 00 - 00 mov eax, DWORD PTR n$[rbp] - 00048 25 cc cc 00 00 and eax, 52428 ; 0000ccccH - 0004d c1 f8 02 sar eax, 2 - 00050 8b 8d e0 00 00 - 00 mov ecx, DWORD PTR n$[rbp] - 00056 81 e1 33 33 00 - 00 and ecx, 13107 ; 00003333H - 0005c c1 e1 02 shl ecx, 2 - 0005f 0b c1 or eax, ecx - 00061 89 85 e0 00 00 - 00 mov DWORD PTR n$[rbp], eax - -; 4095 : n = ((n & 0xF0F0) >> 4) | ((n & 0x0F0F) << 4); - - 00067 8b 85 e0 00 00 - 00 mov eax, DWORD PTR n$[rbp] - 0006d 25 f0 f0 00 00 and eax, 61680 ; 0000f0f0H - 00072 c1 f8 04 sar eax, 4 - 00075 8b 8d e0 00 00 - 00 mov ecx, DWORD PTR n$[rbp] - 0007b 81 e1 0f 0f 00 - 00 and ecx, 3855 ; 00000f0fH - 00081 c1 e1 04 shl ecx, 4 - 00084 0b c1 or eax, ecx - 00086 89 85 e0 00 00 - 00 mov DWORD PTR n$[rbp], eax - -; 4096 : n = ((n & 0xFF00) >> 8) | ((n & 0x00FF) << 8); - - 0008c 8b 85 e0 00 00 - 00 mov eax, DWORD PTR n$[rbp] - 00092 25 00 ff 00 00 and eax, 65280 ; 0000ff00H - 00097 c1 f8 08 sar eax, 8 - 0009a 8b 8d e0 00 00 - 00 mov ecx, DWORD PTR n$[rbp] - 000a0 81 e1 ff 00 00 - 00 and ecx, 255 ; 000000ffH - 000a6 c1 e1 08 shl ecx, 8 - 000a9 0b c1 or eax, ecx - 000ab 89 85 e0 00 00 - 00 mov DWORD PTR n$[rbp], eax - -; 4097 : return n; - - 000b1 8b 85 e0 00 00 - 00 mov eax, DWORD PTR n$[rbp] - -; 4098 : } - - 000b7 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 000be 5f pop rdi - 000bf 5d pop rbp - 000c0 c3 ret 0 -stbi__bitreverse16 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__jpeg_info_raw -_TEXT SEGMENT -tv80 = 192 -j$ = 240 -x$ = 248 -y$ = 256 -comp$ = 264 -stbi__jpeg_info_raw PROC ; COMDAT - -; 4038 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 4039 : if (!stbi__decode_jpeg_header(j, STBI__SCAN_header)) { - - 0002f ba 02 00 00 00 mov edx, 2 - 00034 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR j$[rbp] - 0003b e8 00 00 00 00 call stbi__decode_jpeg_header - 00040 85 c0 test eax, eax - 00042 75 17 jne SHORT $LN2@stbi__jpeg - -; 4040 : stbi__rewind(j->s); - - 00044 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR j$[rbp] - 0004b 48 8b 08 mov rcx, QWORD PTR [rax] - 0004e e8 00 00 00 00 call stbi__rewind - 00053 90 npad 1 - -; 4041 : return 0; - - 00054 33 c0 xor eax, eax - 00056 e9 83 00 00 00 jmp $LN1@stbi__jpeg -$LN2@stbi__jpeg: - -; 4042 : } -; 4043 : if (x) - - 0005b 48 83 bd f8 00 - 00 00 00 cmp QWORD PTR x$[rbp], 0 - 00063 74 15 je SHORT $LN3@stbi__jpeg - -; 4044 : *x = j->s->img_x; - - 00065 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR j$[rbp] - 0006c 48 8b 00 mov rax, QWORD PTR [rax] - 0006f 48 8b 8d f8 00 - 00 00 mov rcx, QWORD PTR x$[rbp] - 00076 8b 00 mov eax, DWORD PTR [rax] - 00078 89 01 mov DWORD PTR [rcx], eax -$LN3@stbi__jpeg: - -; 4045 : if (y) - - 0007a 48 83 bd 00 01 - 00 00 00 cmp QWORD PTR y$[rbp], 0 - 00082 74 16 je SHORT $LN4@stbi__jpeg - -; 4046 : *y = j->s->img_y; - - 00084 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR j$[rbp] - 0008b 48 8b 00 mov rax, QWORD PTR [rax] - 0008e 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR y$[rbp] - 00095 8b 40 04 mov eax, DWORD PTR [rax+4] - 00098 89 01 mov DWORD PTR [rcx], eax -$LN4@stbi__jpeg: - -; 4047 : if (comp) - - 0009a 48 83 bd 08 01 - 00 00 00 cmp QWORD PTR comp$[rbp], 0 - 000a2 74 35 je SHORT $LN5@stbi__jpeg - -; 4048 : *comp = j->s->img_n >= 3 ? 3 : 1; - - 000a4 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR j$[rbp] - 000ab 48 8b 00 mov rax, QWORD PTR [rax] - 000ae 83 78 08 03 cmp DWORD PTR [rax+8], 3 - 000b2 7c 0c jl SHORT $LN7@stbi__jpeg - 000b4 c7 85 c0 00 00 - 00 03 00 00 00 mov DWORD PTR tv80[rbp], 3 - 000be eb 0a jmp SHORT $LN8@stbi__jpeg -$LN7@stbi__jpeg: - 000c0 c7 85 c0 00 00 - 00 01 00 00 00 mov DWORD PTR tv80[rbp], 1 -$LN8@stbi__jpeg: - 000ca 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR comp$[rbp] - 000d1 8b 8d c0 00 00 - 00 mov ecx, DWORD PTR tv80[rbp] - 000d7 89 08 mov DWORD PTR [rax], ecx -$LN5@stbi__jpeg: - -; 4049 : return 1; - - 000d9 b8 01 00 00 00 mov eax, 1 -$LN1@stbi__jpeg: - -; 4050 : } - - 000de 48 8d a5 d8 00 - 00 00 lea rsp, QWORD PTR [rbp+216] - 000e5 5f pop rdi - 000e6 5d pop rbp - 000e7 c3 ret 0 -stbi__jpeg_info_raw ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT load_jpeg_image -_TEXT SEGMENT -n$ = 4 -decode_n$ = 36 -is_rgb$ = 68 -k$5 = 100 -i$6 = 132 -j$7 = 164 -output$8 = 200 -coutput$9 = 232 -res_comp$10 = 304 -r$11 = 520 -out$12 = 552 -r$13 = 584 -y_bot$14 = 612 -y$15 = 648 -m$16 = 676 -m$17 = 708 -m$18 = 740 -r$19 = 772 -g$20 = 804 -b$21 = 836 -y$22 = 872 -tv656 = 1268 -tv694 = 1268 -tv81 = 1268 -tv91 = 1268 -tv252 = 1268 -tv280 = 1268 -tv288 = 1268 -tv516 = 1268 -tv545 = 1268 -tv626 = 1268 -tv79 = 1272 -tv265 = 1272 -tv71 = 1272 -tv159 = 1272 -tv164 = 1272 -tv172 = 1272 -tv232 = 1272 -tv270 = 1280 -__$ArrayPad$ = 1288 -z$ = 1328 -out_x$ = 1336 -out_y$ = 1344 -comp$ = 1352 -req_comp$ = 1360 -load_jpeg_image PROC ; COMDAT - -; 3813 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 48 05 - 00 00 sub rsp, 1352 ; 00000548H - 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00022 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 00027 b9 e6 00 00 00 mov ecx, 230 ; 000000e6H - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 68 - 05 00 00 mov rcx, QWORD PTR [rsp+1384] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 08 05 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 3814 : int n, decode_n, is_rgb; -; 3815 : z->s->img_n = 0; // make stbi__cleanup_jpeg safe - - 00059 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 00060 48 8b 00 mov rax, QWORD PTR [rax] - 00063 c7 40 08 00 00 - 00 00 mov DWORD PTR [rax+8], 0 - -; 3816 : -; 3817 : // validate req_comp -; 3818 : if (req_comp < 0 || req_comp > 4) - - 0006a 83 bd 50 05 00 - 00 00 cmp DWORD PTR req_comp$[rbp], 0 - 00071 7c 09 jl SHORT $LN42@load_jpeg_ - 00073 83 bd 50 05 00 - 00 04 cmp DWORD PTR req_comp$[rbp], 4 - 0007a 7e 34 jle SHORT $LN41@load_jpeg_ -$LN42@load_jpeg_: - -; 3819 : return stbi__errpuc("bad req_comp", "Internal error"); - - 0007c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0N@KBPNPPBJ@bad?5req_comp@ - 00083 e8 00 00 00 00 call stbi__err - 00088 85 c0 test eax, eax - 0008a 74 0d je SHORT $LN83@load_jpeg_ - 0008c 48 c7 85 f8 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv71[rbp], 0 - 00097 eb 0b jmp SHORT $LN84@load_jpeg_ -$LN83@load_jpeg_: - 00099 48 c7 85 f8 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv71[rbp], 0 -$LN84@load_jpeg_: - 000a4 48 8b 85 f8 04 - 00 00 mov rax, QWORD PTR tv71[rbp] - 000ab e9 fa 11 00 00 jmp $LN1@load_jpeg_ -$LN41@load_jpeg_: - -; 3820 : -; 3821 : // load a jpeg image from whichever source, but leave in YCbCr format -; 3822 : if (!stbi__decode_jpeg_image(z)) { - - 000b0 48 8b 8d 30 05 - 00 00 mov rcx, QWORD PTR z$[rbp] - 000b7 e8 00 00 00 00 call stbi__decode_jpeg_image - 000bc 85 c0 test eax, eax - 000be 75 14 jne SHORT $LN43@load_jpeg_ - -; 3823 : stbi__cleanup_jpeg(z); - - 000c0 48 8b 8d 30 05 - 00 00 mov rcx, QWORD PTR z$[rbp] - 000c7 e8 00 00 00 00 call stbi__cleanup_jpeg - 000cc 90 npad 1 - -; 3824 : return NULL; - - 000cd 33 c0 xor eax, eax - 000cf e9 d6 11 00 00 jmp $LN1@load_jpeg_ -$LN43@load_jpeg_: - -; 3825 : } -; 3826 : -; 3827 : // determine actual number of components to generate -; 3828 : n = req_comp ? req_comp : z->s->img_n >= 3 ? 3 : 1; - - 000d4 83 bd 50 05 00 - 00 00 cmp DWORD PTR req_comp$[rbp], 0 - 000db 74 0e je SHORT $LN87@load_jpeg_ - 000dd 8b 85 50 05 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 000e3 89 85 f4 04 00 - 00 mov DWORD PTR tv81[rbp], eax - 000e9 eb 32 jmp SHORT $LN88@load_jpeg_ -$LN87@load_jpeg_: - 000eb 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 000f2 48 8b 00 mov rax, QWORD PTR [rax] - 000f5 83 78 08 03 cmp DWORD PTR [rax+8], 3 - 000f9 7c 0c jl SHORT $LN85@load_jpeg_ - 000fb c7 85 f8 04 00 - 00 03 00 00 00 mov DWORD PTR tv79[rbp], 3 - 00105 eb 0a jmp SHORT $LN86@load_jpeg_ -$LN85@load_jpeg_: - 00107 c7 85 f8 04 00 - 00 01 00 00 00 mov DWORD PTR tv79[rbp], 1 -$LN86@load_jpeg_: - 00111 8b 85 f8 04 00 - 00 mov eax, DWORD PTR tv79[rbp] - 00117 89 85 f4 04 00 - 00 mov DWORD PTR tv81[rbp], eax -$LN88@load_jpeg_: - 0011d 8b 85 f4 04 00 - 00 mov eax, DWORD PTR tv81[rbp] - 00123 89 45 04 mov DWORD PTR n$[rbp], eax - -; 3829 : -; 3830 : is_rgb = z->s->img_n == 3 && (z->rgb == 3 || (z->app14_color_transform == 0 && !z->jfif)); - - 00126 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 0012d 48 8b 00 mov rax, QWORD PTR [rax] - 00130 83 78 08 03 cmp DWORD PTR [rax+8], 3 - 00134 75 3c jne SHORT $LN91@load_jpeg_ - 00136 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 0013d 83 b8 50 48 00 - 00 03 cmp DWORD PTR [rax+18512], 3 - 00144 74 20 je SHORT $LN90@load_jpeg_ - 00146 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 0014d 83 b8 4c 48 00 - 00 00 cmp DWORD PTR [rax+18508], 0 - 00154 75 1c jne SHORT $LN89@load_jpeg_ - 00156 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 0015d 83 b8 48 48 00 - 00 00 cmp DWORD PTR [rax+18504], 0 - 00164 75 0c jne SHORT $LN91@load_jpeg_ -$LN90@load_jpeg_: - 00166 c7 85 f4 04 00 - 00 01 00 00 00 mov DWORD PTR tv91[rbp], 1 - 00170 eb 0a jmp SHORT $LN92@load_jpeg_ -$LN91@load_jpeg_: -$LN89@load_jpeg_: - 00172 c7 85 f4 04 00 - 00 00 00 00 00 mov DWORD PTR tv91[rbp], 0 -$LN92@load_jpeg_: - 0017c 8b 85 f4 04 00 - 00 mov eax, DWORD PTR tv91[rbp] - 00182 89 45 44 mov DWORD PTR is_rgb$[rbp], eax - -; 3831 : -; 3832 : if (z->s->img_n == 3 && n < 3 && !is_rgb) - - 00185 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 0018c 48 8b 00 mov rax, QWORD PTR [rax] - 0018f 83 78 08 03 cmp DWORD PTR [rax+8], 3 - 00193 75 15 jne SHORT $LN44@load_jpeg_ - 00195 83 7d 04 03 cmp DWORD PTR n$[rbp], 3 - 00199 7d 0f jge SHORT $LN44@load_jpeg_ - 0019b 83 7d 44 00 cmp DWORD PTR is_rgb$[rbp], 0 - 0019f 75 09 jne SHORT $LN44@load_jpeg_ - -; 3833 : decode_n = 1; - - 001a1 c7 45 24 01 00 - 00 00 mov DWORD PTR decode_n$[rbp], 1 - 001a8 eb 10 jmp SHORT $LN45@load_jpeg_ -$LN44@load_jpeg_: - -; 3834 : else -; 3835 : decode_n = z->s->img_n; - - 001aa 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 001b1 48 8b 00 mov rax, QWORD PTR [rax] - 001b4 8b 40 08 mov eax, DWORD PTR [rax+8] - 001b7 89 45 24 mov DWORD PTR decode_n$[rbp], eax -$LN45@load_jpeg_: - -; 3836 : -; 3837 : // nothing to do if no components requested; check this now to avoid -; 3838 : // accessing uninitialized coutput[0] later -; 3839 : if (decode_n <= 0) { - - 001ba 83 7d 24 00 cmp DWORD PTR decode_n$[rbp], 0 - 001be 7f 14 jg SHORT $LN46@load_jpeg_ - -; 3840 : stbi__cleanup_jpeg(z); - - 001c0 48 8b 8d 30 05 - 00 00 mov rcx, QWORD PTR z$[rbp] - 001c7 e8 00 00 00 00 call stbi__cleanup_jpeg - 001cc 90 npad 1 - -; 3841 : return NULL; - - 001cd 33 c0 xor eax, eax - 001cf e9 d6 10 00 00 jmp $LN1@load_jpeg_ -$LN46@load_jpeg_: - -; 3842 : } -; 3843 : -; 3844 : // resample and color-convert -; 3845 : { -; 3846 : int k; -; 3847 : unsigned int i, j; -; 3848 : stbi_uc *output; -; 3849 : stbi_uc *coutput[4] = { NULL, NULL, NULL, NULL }; - - 001d4 48 c7 85 e8 00 - 00 00 00 00 00 - 00 mov QWORD PTR coutput$9[rbp], 0 - 001df 48 c7 85 f0 00 - 00 00 00 00 00 - 00 mov QWORD PTR coutput$9[rbp+8], 0 - 001ea 48 c7 85 f8 00 - 00 00 00 00 00 - 00 mov QWORD PTR coutput$9[rbp+16], 0 - 001f5 48 c7 85 00 01 - 00 00 00 00 00 - 00 mov QWORD PTR coutput$9[rbp+24], 0 - -; 3850 : -; 3851 : stbi__resample res_comp[4]; -; 3852 : -; 3853 : for (k = 0; k < decode_n; ++k) { - - 00200 c7 45 64 00 00 - 00 00 mov DWORD PTR k$5[rbp], 0 - 00207 eb 08 jmp SHORT $LN4@load_jpeg_ -$LN2@load_jpeg_: - 00209 8b 45 64 mov eax, DWORD PTR k$5[rbp] - 0020c ff c0 inc eax - 0020e 89 45 64 mov DWORD PTR k$5[rbp], eax -$LN4@load_jpeg_: - 00211 8b 45 24 mov eax, DWORD PTR decode_n$[rbp] - 00214 39 45 64 cmp DWORD PTR k$5[rbp], eax - 00217 0f 8d 7b 02 00 - 00 jge $LN3@load_jpeg_ - -; 3854 : stbi__resample *r = &res_comp[k]; - - 0021d 48 63 45 64 movsxd rax, DWORD PTR k$5[rbp] - 00221 48 6b c0 30 imul rax, rax, 48 ; 00000030H - 00225 48 8d 84 05 30 - 01 00 00 lea rax, QWORD PTR res_comp$10[rbp+rax] - 0022d 48 89 85 08 02 - 00 00 mov QWORD PTR r$11[rbp], rax - -; 3855 : -; 3856 : // allocate line buffer big enough for upsampling off the edges -; 3857 : // with upsample factor of 4 -; 3858 : z->img_comp[k].linebuf = (stbi_uc *)stbi__malloc(z->s->img_x + 3); - - 00234 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 0023b 48 8b 00 mov rax, QWORD PTR [rax] - 0023e 8b 00 mov eax, DWORD PTR [rax] - 00240 83 c0 03 add eax, 3 - 00243 8b c0 mov eax, eax - 00245 8b c8 mov ecx, eax - 00247 e8 00 00 00 00 call stbi__malloc - 0024c 48 63 4d 64 movsxd rcx, DWORD PTR k$5[rbp] - 00250 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 00254 48 8b 95 30 05 - 00 00 mov rdx, QWORD PTR z$[rbp] - 0025b 48 89 84 0a e8 - 46 00 00 mov QWORD PTR [rdx+rcx+18152], rax - -; 3859 : if (!z->img_comp[k].linebuf) { - - 00263 48 63 45 64 movsxd rax, DWORD PTR k$5[rbp] - 00267 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0026b 48 8b 8d 30 05 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00272 48 83 bc 01 e8 - 46 00 00 00 cmp QWORD PTR [rcx+rax+18152], 0 - 0027b 75 41 jne SHORT $LN47@load_jpeg_ - -; 3860 : stbi__cleanup_jpeg(z); - - 0027d 48 8b 8d 30 05 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00284 e8 00 00 00 00 call stbi__cleanup_jpeg - 00289 90 npad 1 - -; 3861 : return stbi__errpuc("outofmem", "Out of memory"); - - 0028a 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 00291 e8 00 00 00 00 call stbi__err - 00296 85 c0 test eax, eax - 00298 74 0d je SHORT $LN93@load_jpeg_ - 0029a 48 c7 85 f8 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv159[rbp], 0 - 002a5 eb 0b jmp SHORT $LN94@load_jpeg_ -$LN93@load_jpeg_: - 002a7 48 c7 85 f8 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv159[rbp], 0 -$LN94@load_jpeg_: - 002b2 48 8b 85 f8 04 - 00 00 mov rax, QWORD PTR tv159[rbp] - 002b9 e9 ec 0f 00 00 jmp $LN1@load_jpeg_ -$LN47@load_jpeg_: - -; 3862 : } -; 3863 : -; 3864 : r->hs = z->img_h_max / z->img_comp[k].h; - - 002be 48 63 45 64 movsxd rax, DWORD PTR k$5[rbp] - 002c2 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 002c6 48 89 85 f8 04 - 00 00 mov QWORD PTR tv164[rbp], rax - 002cd 48 8b 8d 30 05 - 00 00 mov rcx, QWORD PTR z$[rbp] - 002d4 8b 81 88 46 00 - 00 mov eax, DWORD PTR [rcx+18056] - 002da 99 cdq - 002db 48 8b 8d 30 05 - 00 00 mov rcx, QWORD PTR z$[rbp] - 002e2 4c 8b 85 f8 04 - 00 00 mov r8, QWORD PTR tv164[rbp] - 002e9 42 f7 bc 01 a4 - 46 00 00 idiv DWORD PTR [rcx+r8+18084] - 002f1 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR r$11[rbp] - 002f8 89 41 18 mov DWORD PTR [rcx+24], eax - -; 3865 : r->vs = z->img_v_max / z->img_comp[k].v; - - 002fb 48 63 45 64 movsxd rax, DWORD PTR k$5[rbp] - 002ff 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00303 48 89 85 f8 04 - 00 00 mov QWORD PTR tv172[rbp], rax - 0030a 48 8b 8d 30 05 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00311 8b 81 8c 46 00 - 00 mov eax, DWORD PTR [rcx+18060] - 00317 99 cdq - 00318 48 8b 8d 30 05 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0031f 4c 8b 85 f8 04 - 00 00 mov r8, QWORD PTR tv172[rbp] - 00326 42 f7 bc 01 a8 - 46 00 00 idiv DWORD PTR [rcx+r8+18088] - 0032e 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR r$11[rbp] - 00335 89 41 1c mov DWORD PTR [rcx+28], eax - -; 3866 : r->ystep = r->vs >> 1; - - 00338 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR r$11[rbp] - 0033f 8b 40 1c mov eax, DWORD PTR [rax+28] - 00342 d1 f8 sar eax, 1 - 00344 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR r$11[rbp] - 0034b 89 41 24 mov DWORD PTR [rcx+36], eax - -; 3867 : r->w_lores = (z->s->img_x + r->hs - 1) / r->hs; - - 0034e 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 00355 48 8b 00 mov rax, QWORD PTR [rax] - 00358 8b 00 mov eax, DWORD PTR [rax] - 0035a 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR r$11[rbp] - 00361 8b 49 18 mov ecx, DWORD PTR [rcx+24] - 00364 8d 44 08 ff lea eax, DWORD PTR [rax+rcx-1] - 00368 33 d2 xor edx, edx - 0036a 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR r$11[rbp] - 00371 f7 71 18 div DWORD PTR [rcx+24] - 00374 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR r$11[rbp] - 0037b 89 41 20 mov DWORD PTR [rcx+32], eax - -; 3868 : r->ypos = 0; - - 0037e 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR r$11[rbp] - 00385 c7 40 28 00 00 - 00 00 mov DWORD PTR [rax+40], 0 - -; 3869 : r->line0 = r->line1 = z->img_comp[k].data; - - 0038c 48 63 45 64 movsxd rax, DWORD PTR k$5[rbp] - 00390 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00394 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR r$11[rbp] - 0039b 48 8b 95 30 05 - 00 00 mov rdx, QWORD PTR z$[rbp] - 003a2 48 8b 84 02 d0 - 46 00 00 mov rax, QWORD PTR [rdx+rax+18128] - 003aa 48 89 41 10 mov QWORD PTR [rcx+16], rax - 003ae 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR r$11[rbp] - 003b5 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR r$11[rbp] - 003bc 48 8b 49 10 mov rcx, QWORD PTR [rcx+16] - 003c0 48 89 48 08 mov QWORD PTR [rax+8], rcx - -; 3870 : -; 3871 : if (r->hs == 1 && r->vs == 1) - - 003c4 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR r$11[rbp] - 003cb 83 78 18 01 cmp DWORD PTR [rax+24], 1 - 003cf 75 23 jne SHORT $LN48@load_jpeg_ - 003d1 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR r$11[rbp] - 003d8 83 78 1c 01 cmp DWORD PTR [rax+28], 1 - 003dc 75 16 jne SHORT $LN48@load_jpeg_ - -; 3872 : r->resample = resample_row_1; - - 003de 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR r$11[rbp] - 003e5 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:resample_row_1 - 003ec 48 89 08 mov QWORD PTR [rax], rcx - 003ef e9 9f 00 00 00 jmp $LN49@load_jpeg_ -$LN48@load_jpeg_: - -; 3873 : else if (r->hs == 1 && r->vs == 2) - - 003f4 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR r$11[rbp] - 003fb 83 78 18 01 cmp DWORD PTR [rax+24], 1 - 003ff 75 20 jne SHORT $LN50@load_jpeg_ - 00401 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR r$11[rbp] - 00408 83 78 1c 02 cmp DWORD PTR [rax+28], 2 - 0040c 75 13 jne SHORT $LN50@load_jpeg_ - -; 3874 : r->resample = stbi__resample_row_v_2; - - 0040e 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR r$11[rbp] - 00415 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__resample_row_v_2 - 0041c 48 89 08 mov QWORD PTR [rax], rcx - 0041f eb 72 jmp SHORT $LN51@load_jpeg_ -$LN50@load_jpeg_: - -; 3875 : else if (r->hs == 2 && r->vs == 1) - - 00421 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR r$11[rbp] - 00428 83 78 18 02 cmp DWORD PTR [rax+24], 2 - 0042c 75 20 jne SHORT $LN52@load_jpeg_ - 0042e 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR r$11[rbp] - 00435 83 78 1c 01 cmp DWORD PTR [rax+28], 1 - 00439 75 13 jne SHORT $LN52@load_jpeg_ - -; 3876 : r->resample = stbi__resample_row_h_2; - - 0043b 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR r$11[rbp] - 00442 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__resample_row_h_2 - 00449 48 89 08 mov QWORD PTR [rax], rcx - 0044c eb 45 jmp SHORT $LN53@load_jpeg_ -$LN52@load_jpeg_: - -; 3877 : else if (r->hs == 2 && r->vs == 2) - - 0044e 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR r$11[rbp] - 00455 83 78 18 02 cmp DWORD PTR [rax+24], 2 - 00459 75 27 jne SHORT $LN54@load_jpeg_ - 0045b 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR r$11[rbp] - 00462 83 78 1c 02 cmp DWORD PTR [rax+28], 2 - 00466 75 1a jne SHORT $LN54@load_jpeg_ - -; 3878 : r->resample = z->resample_row_hv_2_kernel; - - 00468 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR r$11[rbp] - 0046f 48 8b 8d 30 05 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00476 48 8b 89 80 48 - 00 00 mov rcx, QWORD PTR [rcx+18560] - 0047d 48 89 08 mov QWORD PTR [rax], rcx - 00480 eb 11 jmp SHORT $LN55@load_jpeg_ -$LN54@load_jpeg_: - -; 3879 : else -; 3880 : r->resample = stbi__resample_row_generic; - - 00482 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR r$11[rbp] - 00489 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__resample_row_generic - 00490 48 89 08 mov QWORD PTR [rax], rcx -$LN55@load_jpeg_: -$LN53@load_jpeg_: -$LN51@load_jpeg_: -$LN49@load_jpeg_: - -; 3881 : } - - 00493 e9 71 fd ff ff jmp $LN2@load_jpeg_ -$LN3@load_jpeg_: - -; 3882 : -; 3883 : // can't error after this so, this is safe -; 3884 : output = (stbi_uc *)stbi__malloc_mad3(n, z->s->img_x, z->s->img_y, 1); - - 00498 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 0049f 48 8b 00 mov rax, QWORD PTR [rax] - 004a2 48 8b 8d 30 05 - 00 00 mov rcx, QWORD PTR z$[rbp] - 004a9 48 8b 09 mov rcx, QWORD PTR [rcx] - 004ac 41 b9 01 00 00 - 00 mov r9d, 1 - 004b2 44 8b 40 04 mov r8d, DWORD PTR [rax+4] - 004b6 8b 11 mov edx, DWORD PTR [rcx] - 004b8 8b 4d 04 mov ecx, DWORD PTR n$[rbp] - 004bb e8 00 00 00 00 call stbi__malloc_mad3 - 004c0 48 89 85 c8 00 - 00 00 mov QWORD PTR output$8[rbp], rax - -; 3885 : if (!output) { - - 004c7 48 83 bd c8 00 - 00 00 00 cmp QWORD PTR output$8[rbp], 0 - 004cf 75 41 jne SHORT $LN56@load_jpeg_ - -; 3886 : stbi__cleanup_jpeg(z); - - 004d1 48 8b 8d 30 05 - 00 00 mov rcx, QWORD PTR z$[rbp] - 004d8 e8 00 00 00 00 call stbi__cleanup_jpeg - 004dd 90 npad 1 - -; 3887 : return stbi__errpuc("outofmem", "Out of memory"); - - 004de 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 004e5 e8 00 00 00 00 call stbi__err - 004ea 85 c0 test eax, eax - 004ec 74 0d je SHORT $LN95@load_jpeg_ - 004ee 48 c7 85 f8 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv232[rbp], 0 - 004f9 eb 0b jmp SHORT $LN96@load_jpeg_ -$LN95@load_jpeg_: - 004fb 48 c7 85 f8 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv232[rbp], 0 -$LN96@load_jpeg_: - 00506 48 8b 85 f8 04 - 00 00 mov rax, QWORD PTR tv232[rbp] - 0050d e9 98 0d 00 00 jmp $LN1@load_jpeg_ -$LN56@load_jpeg_: - -; 3888 : } -; 3889 : -; 3890 : // now go ahead and resample -; 3891 : for (j = 0; j < z->s->img_y; ++j) { - - 00512 c7 85 a4 00 00 - 00 00 00 00 00 mov DWORD PTR j$7[rbp], 0 - 0051c eb 0e jmp SHORT $LN7@load_jpeg_ -$LN5@load_jpeg_: - 0051e 8b 85 a4 00 00 - 00 mov eax, DWORD PTR j$7[rbp] - 00524 ff c0 inc eax - 00526 89 85 a4 00 00 - 00 mov DWORD PTR j$7[rbp], eax -$LN7@load_jpeg_: - 0052c 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 00533 48 8b 00 mov rax, QWORD PTR [rax] - 00536 8b 40 04 mov eax, DWORD PTR [rax+4] - 00539 39 85 a4 00 00 - 00 cmp DWORD PTR j$7[rbp], eax - 0053f 0f 83 e7 0c 00 - 00 jae $LN6@load_jpeg_ - -; 3892 : stbi_uc *out = output + n * z->s->img_x * j; - - 00545 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 0054c 48 8b 00 mov rax, QWORD PTR [rax] - 0054f 8b 4d 04 mov ecx, DWORD PTR n$[rbp] - 00552 0f af 08 imul ecx, DWORD PTR [rax] - 00555 8b c1 mov eax, ecx - 00557 0f af 85 a4 00 - 00 00 imul eax, DWORD PTR j$7[rbp] - 0055e 8b c0 mov eax, eax - 00560 48 8b 8d c8 00 - 00 00 mov rcx, QWORD PTR output$8[rbp] - 00567 48 03 c8 add rcx, rax - 0056a 48 8b c1 mov rax, rcx - 0056d 48 89 85 28 02 - 00 00 mov QWORD PTR out$12[rbp], rax - -; 3893 : for (k = 0; k < decode_n; ++k) { - - 00574 c7 45 64 00 00 - 00 00 mov DWORD PTR k$5[rbp], 0 - 0057b eb 08 jmp SHORT $LN10@load_jpeg_ -$LN8@load_jpeg_: - 0057d 8b 45 64 mov eax, DWORD PTR k$5[rbp] - 00580 ff c0 inc eax - 00582 89 45 64 mov DWORD PTR k$5[rbp], eax -$LN10@load_jpeg_: - 00585 8b 45 24 mov eax, DWORD PTR decode_n$[rbp] - 00588 39 45 64 cmp DWORD PTR k$5[rbp], eax - 0058b 0f 8d d0 01 00 - 00 jge $LN9@load_jpeg_ - -; 3894 : stbi__resample *r = &res_comp[k]; - - 00591 48 63 45 64 movsxd rax, DWORD PTR k$5[rbp] - 00595 48 6b c0 30 imul rax, rax, 48 ; 00000030H - 00599 48 8d 84 05 30 - 01 00 00 lea rax, QWORD PTR res_comp$10[rbp+rax] - 005a1 48 89 85 48 02 - 00 00 mov QWORD PTR r$13[rbp], rax - -; 3895 : int y_bot = r->ystep >= (r->vs >> 1); - - 005a8 48 8b 85 48 02 - 00 00 mov rax, QWORD PTR r$13[rbp] - 005af 8b 40 1c mov eax, DWORD PTR [rax+28] - 005b2 d1 f8 sar eax, 1 - 005b4 48 8b 8d 48 02 - 00 00 mov rcx, QWORD PTR r$13[rbp] - 005bb 39 41 24 cmp DWORD PTR [rcx+36], eax - 005be 7c 0c jl SHORT $LN97@load_jpeg_ - 005c0 c7 85 f4 04 00 - 00 01 00 00 00 mov DWORD PTR tv252[rbp], 1 - 005ca eb 0a jmp SHORT $LN98@load_jpeg_ -$LN97@load_jpeg_: - 005cc c7 85 f4 04 00 - 00 00 00 00 00 mov DWORD PTR tv252[rbp], 0 -$LN98@load_jpeg_: - 005d6 8b 85 f4 04 00 - 00 mov eax, DWORD PTR tv252[rbp] - 005dc 89 85 64 02 00 - 00 mov DWORD PTR y_bot$14[rbp], eax - -; 3896 : coutput[k] = r->resample(z->img_comp[k].linebuf, - - 005e2 83 bd 64 02 00 - 00 00 cmp DWORD PTR y_bot$14[rbp], 0 - 005e9 74 14 je SHORT $LN99@load_jpeg_ - 005eb 48 8b 85 48 02 - 00 00 mov rax, QWORD PTR r$13[rbp] - 005f2 48 8b 40 08 mov rax, QWORD PTR [rax+8] - 005f6 48 89 85 f8 04 - 00 00 mov QWORD PTR tv265[rbp], rax - 005fd eb 12 jmp SHORT $LN100@load_jpeg_ -$LN99@load_jpeg_: - 005ff 48 8b 85 48 02 - 00 00 mov rax, QWORD PTR r$13[rbp] - 00606 48 8b 40 10 mov rax, QWORD PTR [rax+16] - 0060a 48 89 85 f8 04 - 00 00 mov QWORD PTR tv265[rbp], rax -$LN100@load_jpeg_: - 00611 83 bd 64 02 00 - 00 00 cmp DWORD PTR y_bot$14[rbp], 0 - 00618 74 14 je SHORT $LN101@load_jpeg_ - 0061a 48 8b 85 48 02 - 00 00 mov rax, QWORD PTR r$13[rbp] - 00621 48 8b 40 10 mov rax, QWORD PTR [rax+16] - 00625 48 89 85 00 05 - 00 00 mov QWORD PTR tv270[rbp], rax - 0062c eb 12 jmp SHORT $LN102@load_jpeg_ -$LN101@load_jpeg_: - 0062e 48 8b 85 48 02 - 00 00 mov rax, QWORD PTR r$13[rbp] - 00635 48 8b 40 08 mov rax, QWORD PTR [rax+8] - 00639 48 89 85 00 05 - 00 00 mov QWORD PTR tv270[rbp], rax -$LN102@load_jpeg_: - 00640 48 63 45 64 movsxd rax, DWORD PTR k$5[rbp] - 00644 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00648 48 8b 8d 48 02 - 00 00 mov rcx, QWORD PTR r$13[rbp] - 0064f 8b 49 18 mov ecx, DWORD PTR [rcx+24] - 00652 89 4c 24 20 mov DWORD PTR [rsp+32], ecx - 00656 48 8b 8d 48 02 - 00 00 mov rcx, QWORD PTR r$13[rbp] - 0065d 44 8b 49 20 mov r9d, DWORD PTR [rcx+32] - 00661 4c 8b 85 f8 04 - 00 00 mov r8, QWORD PTR tv265[rbp] - 00668 48 8b 95 00 05 - 00 00 mov rdx, QWORD PTR tv270[rbp] - 0066f 48 8b 8d 30 05 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00676 48 8b 8c 01 e8 - 46 00 00 mov rcx, QWORD PTR [rcx+rax+18152] - 0067e 48 8b 85 48 02 - 00 00 mov rax, QWORD PTR r$13[rbp] - 00685 ff 10 call QWORD PTR [rax] - 00687 48 63 4d 64 movsxd rcx, DWORD PTR k$5[rbp] - 0068b 48 89 84 cd e8 - 00 00 00 mov QWORD PTR coutput$9[rbp+rcx*8], rax - -; 3897 : y_bot ? r->line1 : r->line0, -; 3898 : y_bot ? r->line0 : r->line1, r->w_lores, -; 3899 : r->hs); -; 3900 : if (++r->ystep >= r->vs) { - - 00693 48 8b 85 48 02 - 00 00 mov rax, QWORD PTR r$13[rbp] - 0069a 8b 40 24 mov eax, DWORD PTR [rax+36] - 0069d ff c0 inc eax - 0069f 89 85 f4 04 00 - 00 mov DWORD PTR tv280[rbp], eax - 006a5 48 8b 85 48 02 - 00 00 mov rax, QWORD PTR r$13[rbp] - 006ac 8b 8d f4 04 00 - 00 mov ecx, DWORD PTR tv280[rbp] - 006b2 89 48 24 mov DWORD PTR [rax+36], ecx - 006b5 48 8b 85 48 02 - 00 00 mov rax, QWORD PTR r$13[rbp] - 006bc 8b 40 1c mov eax, DWORD PTR [rax+28] - 006bf 39 85 f4 04 00 - 00 cmp DWORD PTR tv280[rbp], eax - 006c5 0f 8c 91 00 00 - 00 jl $LN57@load_jpeg_ - -; 3901 : r->ystep = 0; - - 006cb 48 8b 85 48 02 - 00 00 mov rax, QWORD PTR r$13[rbp] - 006d2 c7 40 24 00 00 - 00 00 mov DWORD PTR [rax+36], 0 - -; 3902 : r->line0 = r->line1; - - 006d9 48 8b 85 48 02 - 00 00 mov rax, QWORD PTR r$13[rbp] - 006e0 48 8b 8d 48 02 - 00 00 mov rcx, QWORD PTR r$13[rbp] - 006e7 48 8b 49 10 mov rcx, QWORD PTR [rcx+16] - 006eb 48 89 48 08 mov QWORD PTR [rax+8], rcx - -; 3903 : if (++r->ypos < z->img_comp[k].y) - - 006ef 48 8b 85 48 02 - 00 00 mov rax, QWORD PTR r$13[rbp] - 006f6 8b 40 28 mov eax, DWORD PTR [rax+40] - 006f9 ff c0 inc eax - 006fb 89 85 f4 04 00 - 00 mov DWORD PTR tv288[rbp], eax - 00701 48 8b 85 48 02 - 00 00 mov rax, QWORD PTR r$13[rbp] - 00708 8b 8d f4 04 00 - 00 mov ecx, DWORD PTR tv288[rbp] - 0070e 89 48 28 mov DWORD PTR [rax+40], ecx - 00711 48 63 45 64 movsxd rax, DWORD PTR k$5[rbp] - 00715 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00719 48 8b 8d 30 05 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00720 8b 84 01 c0 46 - 00 00 mov eax, DWORD PTR [rcx+rax+18112] - 00727 39 85 f4 04 00 - 00 cmp DWORD PTR tv288[rbp], eax - 0072d 7d 2d jge SHORT $LN58@load_jpeg_ - -; 3904 : r->line1 += z->img_comp[k].w2; - - 0072f 48 63 45 64 movsxd rax, DWORD PTR k$5[rbp] - 00733 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00737 48 8b 8d 30 05 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0073e 48 63 84 01 c4 - 46 00 00 movsxd rax, DWORD PTR [rcx+rax+18116] - 00746 48 8b 8d 48 02 - 00 00 mov rcx, QWORD PTR r$13[rbp] - 0074d 48 03 41 10 add rax, QWORD PTR [rcx+16] - 00751 48 8b 8d 48 02 - 00 00 mov rcx, QWORD PTR r$13[rbp] - 00758 48 89 41 10 mov QWORD PTR [rcx+16], rax -$LN58@load_jpeg_: -$LN57@load_jpeg_: - -; 3905 : } -; 3906 : } - - 0075c e9 1c fe ff ff jmp $LN8@load_jpeg_ -$LN9@load_jpeg_: - -; 3907 : if (n >= 3) { - - 00761 83 7d 04 03 cmp DWORD PTR n$[rbp], 3 - 00765 0f 8c ac 05 00 - 00 jl $LN59@load_jpeg_ - -; 3908 : stbi_uc *y = coutput[0]; - - 0076b b8 08 00 00 00 mov eax, 8 - 00770 48 6b c0 00 imul rax, rax, 0 - 00774 48 8b 84 05 e8 - 00 00 00 mov rax, QWORD PTR coutput$9[rbp+rax] - 0077c 48 89 85 88 02 - 00 00 mov QWORD PTR y$15[rbp], rax - -; 3909 : if (z->s->img_n == 3) { - - 00783 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 0078a 48 8b 00 mov rax, QWORD PTR [rax] - 0078d 83 78 08 03 cmp DWORD PTR [rax+8], 3 - 00791 0f 85 4e 01 00 - 00 jne $LN61@load_jpeg_ - -; 3910 : if (is_rgb) { - - 00797 83 7d 44 00 cmp DWORD PTR is_rgb$[rbp], 0 - 0079b 0f 84 e8 00 00 - 00 je $LN63@load_jpeg_ - -; 3911 : for (i = 0; i < z->s->img_x; ++i) { - - 007a1 c7 85 84 00 00 - 00 00 00 00 00 mov DWORD PTR i$6[rbp], 0 - 007ab eb 0e jmp SHORT $LN13@load_jpeg_ -$LN11@load_jpeg_: - 007ad 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$6[rbp] - 007b3 ff c0 inc eax - 007b5 89 85 84 00 00 - 00 mov DWORD PTR i$6[rbp], eax -$LN13@load_jpeg_: - 007bb 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 007c2 48 8b 00 mov rax, QWORD PTR [rax] - 007c5 8b 00 mov eax, DWORD PTR [rax] - 007c7 39 85 84 00 00 - 00 cmp DWORD PTR i$6[rbp], eax - 007cd 0f 83 b4 00 00 - 00 jae $LN12@load_jpeg_ - -; 3912 : out[0] = y[i]; - - 007d3 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$6[rbp] - 007d9 b9 01 00 00 00 mov ecx, 1 - 007de 48 6b c9 00 imul rcx, rcx, 0 - 007e2 48 8b 95 28 02 - 00 00 mov rdx, QWORD PTR out$12[rbp] - 007e9 4c 8b 85 88 02 - 00 00 mov r8, QWORD PTR y$15[rbp] - 007f0 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 007f5 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3913 : out[1] = coutput[1][i]; - - 007f8 b8 08 00 00 00 mov eax, 8 - 007fd 48 6b c0 01 imul rax, rax, 1 - 00801 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR i$6[rbp] - 00807 48 8b 84 05 e8 - 00 00 00 mov rax, QWORD PTR coutput$9[rbp+rax] - 0080f ba 01 00 00 00 mov edx, 1 - 00814 48 6b d2 01 imul rdx, rdx, 1 - 00818 4c 8b 85 28 02 - 00 00 mov r8, QWORD PTR out$12[rbp] - 0081f 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx] - 00823 41 88 04 10 mov BYTE PTR [r8+rdx], al - -; 3914 : out[2] = coutput[2][i]; - - 00827 b8 08 00 00 00 mov eax, 8 - 0082c 48 6b c0 02 imul rax, rax, 2 - 00830 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR i$6[rbp] - 00836 48 8b 84 05 e8 - 00 00 00 mov rax, QWORD PTR coutput$9[rbp+rax] - 0083e ba 01 00 00 00 mov edx, 1 - 00843 48 6b d2 02 imul rdx, rdx, 2 - 00847 4c 8b 85 28 02 - 00 00 mov r8, QWORD PTR out$12[rbp] - 0084e 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx] - 00852 41 88 04 10 mov BYTE PTR [r8+rdx], al - -; 3915 : out[3] = 255; - - 00856 b8 01 00 00 00 mov eax, 1 - 0085b 48 6b c0 03 imul rax, rax, 3 - 0085f 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR out$12[rbp] - 00866 c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - -; 3916 : out += n; - - 0086a 48 63 45 04 movsxd rax, DWORD PTR n$[rbp] - 0086e 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR out$12[rbp] - 00875 48 03 c8 add rcx, rax - 00878 48 8b c1 mov rax, rcx - 0087b 48 89 85 28 02 - 00 00 mov QWORD PTR out$12[rbp], rax - -; 3917 : } - - 00882 e9 26 ff ff ff jmp $LN11@load_jpeg_ -$LN12@load_jpeg_: - -; 3918 : } else { - - 00887 eb 57 jmp SHORT $LN64@load_jpeg_ -$LN63@load_jpeg_: - -; 3919 : z->YCbCr_to_RGB_kernel(out, y, coutput[1], - - 00889 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 00890 48 8b 00 mov rax, QWORD PTR [rax] - 00893 b9 08 00 00 00 mov ecx, 8 - 00898 48 6b c9 02 imul rcx, rcx, 2 - 0089c ba 08 00 00 00 mov edx, 8 - 008a1 48 6b d2 01 imul rdx, rdx, 1 - 008a5 44 8b 45 04 mov r8d, DWORD PTR n$[rbp] - 008a9 44 89 44 24 28 mov DWORD PTR [rsp+40], r8d - 008ae 8b 00 mov eax, DWORD PTR [rax] - 008b0 89 44 24 20 mov DWORD PTR [rsp+32], eax - 008b4 4c 8b 8c 0d e8 - 00 00 00 mov r9, QWORD PTR coutput$9[rbp+rcx] - 008bc 4c 8b 84 15 e8 - 00 00 00 mov r8, QWORD PTR coutput$9[rbp+rdx] - 008c4 48 8b 95 88 02 - 00 00 mov rdx, QWORD PTR y$15[rbp] - 008cb 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR out$12[rbp] - 008d2 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 008d9 ff 90 78 48 00 - 00 call QWORD PTR [rax+18552] - 008df 90 npad 1 -$LN64@load_jpeg_: - -; 3920 : coutput[2], z->s->img_x, n); -; 3921 : } - - 008e0 e9 2d 04 00 00 jmp $LN62@load_jpeg_ -$LN61@load_jpeg_: - -; 3922 : } else if (z->s->img_n == 4) { - - 008e5 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 008ec 48 8b 00 mov rax, QWORD PTR [rax] - 008ef 83 78 08 04 cmp DWORD PTR [rax+8], 4 - 008f3 0f 85 41 03 00 - 00 jne $LN65@load_jpeg_ - -; 3923 : if (z->app14_color_transform == 0) { // CMYK - - 008f9 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 00900 83 b8 4c 48 00 - 00 00 cmp DWORD PTR [rax+18508], 0 - 00907 0f 85 37 01 00 - 00 jne $LN67@load_jpeg_ - -; 3924 : for (i = 0; i < z->s->img_x; ++i) { - - 0090d c7 85 84 00 00 - 00 00 00 00 00 mov DWORD PTR i$6[rbp], 0 - 00917 eb 0e jmp SHORT $LN16@load_jpeg_ -$LN14@load_jpeg_: - 00919 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$6[rbp] - 0091f ff c0 inc eax - 00921 89 85 84 00 00 - 00 mov DWORD PTR i$6[rbp], eax -$LN16@load_jpeg_: - 00927 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 0092e 48 8b 00 mov rax, QWORD PTR [rax] - 00931 8b 00 mov eax, DWORD PTR [rax] - 00933 39 85 84 00 00 - 00 cmp DWORD PTR i$6[rbp], eax - 00939 0f 83 00 01 00 - 00 jae $LN15@load_jpeg_ - -; 3925 : stbi_uc m = coutput[3][i]; - - 0093f b8 08 00 00 00 mov eax, 8 - 00944 48 6b c0 03 imul rax, rax, 3 - 00948 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR i$6[rbp] - 0094e 48 8b 84 05 e8 - 00 00 00 mov rax, QWORD PTR coutput$9[rbp+rax] - 00956 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx] - 0095a 88 85 a4 02 00 - 00 mov BYTE PTR m$16[rbp], al - -; 3926 : out[0] = stbi__blinn_8x8(coutput[0][i], m); - - 00960 b8 08 00 00 00 mov eax, 8 - 00965 48 6b c0 00 imul rax, rax, 0 - 00969 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR i$6[rbp] - 0096f 48 8b 84 05 e8 - 00 00 00 mov rax, QWORD PTR coutput$9[rbp+rax] - 00977 0f b6 95 a4 02 - 00 00 movzx edx, BYTE PTR m$16[rbp] - 0097e 0f b6 0c 08 movzx ecx, BYTE PTR [rax+rcx] - 00982 e8 00 00 00 00 call stbi__blinn_8x8 - 00987 b9 01 00 00 00 mov ecx, 1 - 0098c 48 6b c9 00 imul rcx, rcx, 0 - 00990 48 8b 95 28 02 - 00 00 mov rdx, QWORD PTR out$12[rbp] - 00997 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3927 : out[1] = stbi__blinn_8x8(coutput[1][i], m); - - 0099a b8 08 00 00 00 mov eax, 8 - 0099f 48 6b c0 01 imul rax, rax, 1 - 009a3 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR i$6[rbp] - 009a9 48 8b 84 05 e8 - 00 00 00 mov rax, QWORD PTR coutput$9[rbp+rax] - 009b1 0f b6 95 a4 02 - 00 00 movzx edx, BYTE PTR m$16[rbp] - 009b8 0f b6 0c 08 movzx ecx, BYTE PTR [rax+rcx] - 009bc e8 00 00 00 00 call stbi__blinn_8x8 - 009c1 b9 01 00 00 00 mov ecx, 1 - 009c6 48 6b c9 01 imul rcx, rcx, 1 - 009ca 48 8b 95 28 02 - 00 00 mov rdx, QWORD PTR out$12[rbp] - 009d1 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3928 : out[2] = stbi__blinn_8x8(coutput[2][i], m); - - 009d4 b8 08 00 00 00 mov eax, 8 - 009d9 48 6b c0 02 imul rax, rax, 2 - 009dd 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR i$6[rbp] - 009e3 48 8b 84 05 e8 - 00 00 00 mov rax, QWORD PTR coutput$9[rbp+rax] - 009eb 0f b6 95 a4 02 - 00 00 movzx edx, BYTE PTR m$16[rbp] - 009f2 0f b6 0c 08 movzx ecx, BYTE PTR [rax+rcx] - 009f6 e8 00 00 00 00 call stbi__blinn_8x8 - 009fb b9 01 00 00 00 mov ecx, 1 - 00a00 48 6b c9 02 imul rcx, rcx, 2 - 00a04 48 8b 95 28 02 - 00 00 mov rdx, QWORD PTR out$12[rbp] - 00a0b 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3929 : out[3] = 255; - - 00a0e b8 01 00 00 00 mov eax, 1 - 00a13 48 6b c0 03 imul rax, rax, 3 - 00a17 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR out$12[rbp] - 00a1e c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - -; 3930 : out += n; - - 00a22 48 63 45 04 movsxd rax, DWORD PTR n$[rbp] - 00a26 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR out$12[rbp] - 00a2d 48 03 c8 add rcx, rax - 00a30 48 8b c1 mov rax, rcx - 00a33 48 89 85 28 02 - 00 00 mov QWORD PTR out$12[rbp], rax - -; 3931 : } - - 00a3a e9 da fe ff ff jmp $LN14@load_jpeg_ -$LN15@load_jpeg_: - -; 3932 : } else if (z->app14_color_transform == 2) { // YCCK - - 00a3f e9 f1 01 00 00 jmp $LN68@load_jpeg_ -$LN67@load_jpeg_: - 00a44 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 00a4b 83 b8 4c 48 00 - 00 02 cmp DWORD PTR [rax+18508], 2 - 00a52 0f 85 86 01 00 - 00 jne $LN69@load_jpeg_ - -; 3933 : z->YCbCr_to_RGB_kernel(out, y, coutput[1], - - 00a58 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 00a5f 48 8b 00 mov rax, QWORD PTR [rax] - 00a62 b9 08 00 00 00 mov ecx, 8 - 00a67 48 6b c9 02 imul rcx, rcx, 2 - 00a6b ba 08 00 00 00 mov edx, 8 - 00a70 48 6b d2 01 imul rdx, rdx, 1 - 00a74 44 8b 45 04 mov r8d, DWORD PTR n$[rbp] - 00a78 44 89 44 24 28 mov DWORD PTR [rsp+40], r8d - 00a7d 8b 00 mov eax, DWORD PTR [rax] - 00a7f 89 44 24 20 mov DWORD PTR [rsp+32], eax - 00a83 4c 8b 8c 0d e8 - 00 00 00 mov r9, QWORD PTR coutput$9[rbp+rcx] - 00a8b 4c 8b 84 15 e8 - 00 00 00 mov r8, QWORD PTR coutput$9[rbp+rdx] - 00a93 48 8b 95 88 02 - 00 00 mov rdx, QWORD PTR y$15[rbp] - 00a9a 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR out$12[rbp] - 00aa1 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 00aa8 ff 90 78 48 00 - 00 call QWORD PTR [rax+18552] - 00aae 90 npad 1 - -; 3934 : coutput[2], z->s->img_x, n); -; 3935 : for (i = 0; i < z->s->img_x; ++i) { - - 00aaf c7 85 84 00 00 - 00 00 00 00 00 mov DWORD PTR i$6[rbp], 0 - 00ab9 eb 0e jmp SHORT $LN19@load_jpeg_ -$LN17@load_jpeg_: - 00abb 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$6[rbp] - 00ac1 ff c0 inc eax - 00ac3 89 85 84 00 00 - 00 mov DWORD PTR i$6[rbp], eax -$LN19@load_jpeg_: - 00ac9 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 00ad0 48 8b 00 mov rax, QWORD PTR [rax] - 00ad3 8b 00 mov eax, DWORD PTR [rax] - 00ad5 39 85 84 00 00 - 00 cmp DWORD PTR i$6[rbp], eax - 00adb 0f 83 fb 00 00 - 00 jae $LN18@load_jpeg_ - -; 3936 : stbi_uc m = coutput[3][i]; - - 00ae1 b8 08 00 00 00 mov eax, 8 - 00ae6 48 6b c0 03 imul rax, rax, 3 - 00aea 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR i$6[rbp] - 00af0 48 8b 84 05 e8 - 00 00 00 mov rax, QWORD PTR coutput$9[rbp+rax] - 00af8 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx] - 00afc 88 85 c4 02 00 - 00 mov BYTE PTR m$17[rbp], al - -; 3937 : out[0] = stbi__blinn_8x8(255 - out[0], m); - - 00b02 b8 01 00 00 00 mov eax, 1 - 00b07 48 6b c0 00 imul rax, rax, 0 - 00b0b 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR out$12[rbp] - 00b12 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00b16 b9 ff 00 00 00 mov ecx, 255 ; 000000ffH - 00b1b 2b c8 sub ecx, eax - 00b1d 8b c1 mov eax, ecx - 00b1f 0f b6 95 c4 02 - 00 00 movzx edx, BYTE PTR m$17[rbp] - 00b26 0f b6 c8 movzx ecx, al - 00b29 e8 00 00 00 00 call stbi__blinn_8x8 - 00b2e b9 01 00 00 00 mov ecx, 1 - 00b33 48 6b c9 00 imul rcx, rcx, 0 - 00b37 48 8b 95 28 02 - 00 00 mov rdx, QWORD PTR out$12[rbp] - 00b3e 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3938 : out[1] = stbi__blinn_8x8(255 - out[1], m); - - 00b41 b8 01 00 00 00 mov eax, 1 - 00b46 48 6b c0 01 imul rax, rax, 1 - 00b4a 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR out$12[rbp] - 00b51 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00b55 b9 ff 00 00 00 mov ecx, 255 ; 000000ffH - 00b5a 2b c8 sub ecx, eax - 00b5c 8b c1 mov eax, ecx - 00b5e 0f b6 95 c4 02 - 00 00 movzx edx, BYTE PTR m$17[rbp] - 00b65 0f b6 c8 movzx ecx, al - 00b68 e8 00 00 00 00 call stbi__blinn_8x8 - 00b6d b9 01 00 00 00 mov ecx, 1 - 00b72 48 6b c9 01 imul rcx, rcx, 1 - 00b76 48 8b 95 28 02 - 00 00 mov rdx, QWORD PTR out$12[rbp] - 00b7d 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3939 : out[2] = stbi__blinn_8x8(255 - out[2], m); - - 00b80 b8 01 00 00 00 mov eax, 1 - 00b85 48 6b c0 02 imul rax, rax, 2 - 00b89 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR out$12[rbp] - 00b90 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00b94 b9 ff 00 00 00 mov ecx, 255 ; 000000ffH - 00b99 2b c8 sub ecx, eax - 00b9b 8b c1 mov eax, ecx - 00b9d 0f b6 95 c4 02 - 00 00 movzx edx, BYTE PTR m$17[rbp] - 00ba4 0f b6 c8 movzx ecx, al - 00ba7 e8 00 00 00 00 call stbi__blinn_8x8 - 00bac b9 01 00 00 00 mov ecx, 1 - 00bb1 48 6b c9 02 imul rcx, rcx, 2 - 00bb5 48 8b 95 28 02 - 00 00 mov rdx, QWORD PTR out$12[rbp] - 00bbc 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3940 : out += n; - - 00bbf 48 63 45 04 movsxd rax, DWORD PTR n$[rbp] - 00bc3 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR out$12[rbp] - 00bca 48 03 c8 add rcx, rax - 00bcd 48 8b c1 mov rax, rcx - 00bd0 48 89 85 28 02 - 00 00 mov QWORD PTR out$12[rbp], rax - -; 3941 : } - - 00bd7 e9 df fe ff ff jmp $LN17@load_jpeg_ -$LN18@load_jpeg_: - -; 3942 : } else { // YCbCr + alpha? Ignore the fourth channel for now - - 00bdc eb 57 jmp SHORT $LN70@load_jpeg_ -$LN69@load_jpeg_: - -; 3943 : z->YCbCr_to_RGB_kernel(out, y, coutput[1], - - 00bde 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 00be5 48 8b 00 mov rax, QWORD PTR [rax] - 00be8 b9 08 00 00 00 mov ecx, 8 - 00bed 48 6b c9 02 imul rcx, rcx, 2 - 00bf1 ba 08 00 00 00 mov edx, 8 - 00bf6 48 6b d2 01 imul rdx, rdx, 1 - 00bfa 44 8b 45 04 mov r8d, DWORD PTR n$[rbp] - 00bfe 44 89 44 24 28 mov DWORD PTR [rsp+40], r8d - 00c03 8b 00 mov eax, DWORD PTR [rax] - 00c05 89 44 24 20 mov DWORD PTR [rsp+32], eax - 00c09 4c 8b 8c 0d e8 - 00 00 00 mov r9, QWORD PTR coutput$9[rbp+rcx] - 00c11 4c 8b 84 15 e8 - 00 00 00 mov r8, QWORD PTR coutput$9[rbp+rdx] - 00c19 48 8b 95 88 02 - 00 00 mov rdx, QWORD PTR y$15[rbp] - 00c20 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR out$12[rbp] - 00c27 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 00c2e ff 90 78 48 00 - 00 call QWORD PTR [rax+18552] - 00c34 90 npad 1 -$LN70@load_jpeg_: -$LN68@load_jpeg_: - -; 3944 : coutput[2], z->s->img_x, n); -; 3945 : } -; 3946 : } else - - 00c35 e9 d8 00 00 00 jmp $LN66@load_jpeg_ -$LN65@load_jpeg_: - -; 3947 : for (i = 0; i < z->s->img_x; ++i) { - - 00c3a c7 85 84 00 00 - 00 00 00 00 00 mov DWORD PTR i$6[rbp], 0 - 00c44 eb 0e jmp SHORT $LN22@load_jpeg_ -$LN20@load_jpeg_: - 00c46 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$6[rbp] - 00c4c ff c0 inc eax - 00c4e 89 85 84 00 00 - 00 mov DWORD PTR i$6[rbp], eax -$LN22@load_jpeg_: - 00c54 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 00c5b 48 8b 00 mov rax, QWORD PTR [rax] - 00c5e 8b 00 mov eax, DWORD PTR [rax] - 00c60 39 85 84 00 00 - 00 cmp DWORD PTR i$6[rbp], eax - 00c66 0f 83 a6 00 00 - 00 jae $LN21@load_jpeg_ - -; 3948 : out[0] = out[1] = out[2] = y[i]; - - 00c6c 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$6[rbp] - 00c72 b9 01 00 00 00 mov ecx, 1 - 00c77 48 6b c9 02 imul rcx, rcx, 2 - 00c7b 48 8b 95 28 02 - 00 00 mov rdx, QWORD PTR out$12[rbp] - 00c82 4c 8b 85 88 02 - 00 00 mov r8, QWORD PTR y$15[rbp] - 00c89 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 00c8e 88 04 0a mov BYTE PTR [rdx+rcx], al - 00c91 b8 01 00 00 00 mov eax, 1 - 00c96 48 6b c0 02 imul rax, rax, 2 - 00c9a b9 01 00 00 00 mov ecx, 1 - 00c9f 48 6b c9 01 imul rcx, rcx, 1 - 00ca3 48 8b 95 28 02 - 00 00 mov rdx, QWORD PTR out$12[rbp] - 00caa 4c 8b 85 28 02 - 00 00 mov r8, QWORD PTR out$12[rbp] - 00cb1 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 00cb6 88 04 0a mov BYTE PTR [rdx+rcx], al - 00cb9 b8 01 00 00 00 mov eax, 1 - 00cbe 48 6b c0 01 imul rax, rax, 1 - 00cc2 b9 01 00 00 00 mov ecx, 1 - 00cc7 48 6b c9 00 imul rcx, rcx, 0 - 00ccb 48 8b 95 28 02 - 00 00 mov rdx, QWORD PTR out$12[rbp] - 00cd2 4c 8b 85 28 02 - 00 00 mov r8, QWORD PTR out$12[rbp] - 00cd9 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 00cde 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3949 : out[3] = 255; // not used if n==3 - - 00ce1 b8 01 00 00 00 mov eax, 1 - 00ce6 48 6b c0 03 imul rax, rax, 3 - 00cea 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR out$12[rbp] - 00cf1 c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - -; 3950 : out += n; - - 00cf5 48 63 45 04 movsxd rax, DWORD PTR n$[rbp] - 00cf9 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR out$12[rbp] - 00d00 48 03 c8 add rcx, rax - 00d03 48 8b c1 mov rax, rcx - 00d06 48 89 85 28 02 - 00 00 mov QWORD PTR out$12[rbp], rax - -; 3951 : } - - 00d0d e9 34 ff ff ff jmp $LN20@load_jpeg_ -$LN21@load_jpeg_: -$LN66@load_jpeg_: -$LN62@load_jpeg_: - -; 3952 : } else { - - 00d12 e9 10 05 00 00 jmp $LN60@load_jpeg_ -$LN59@load_jpeg_: - -; 3953 : if (is_rgb) { - - 00d17 83 7d 44 00 cmp DWORD PTR is_rgb$[rbp], 0 - 00d1b 0f 84 ab 01 00 - 00 je $LN71@load_jpeg_ - -; 3954 : if (n == 1) - - 00d21 83 7d 04 01 cmp DWORD PTR n$[rbp], 1 - 00d25 0f 85 c1 00 00 - 00 jne $LN73@load_jpeg_ - -; 3955 : for (i = 0; i < z->s->img_x; ++i) - - 00d2b c7 85 84 00 00 - 00 00 00 00 00 mov DWORD PTR i$6[rbp], 0 - 00d35 eb 0e jmp SHORT $LN25@load_jpeg_ -$LN23@load_jpeg_: - 00d37 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$6[rbp] - 00d3d ff c0 inc eax - 00d3f 89 85 84 00 00 - 00 mov DWORD PTR i$6[rbp], eax -$LN25@load_jpeg_: - 00d45 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 00d4c 48 8b 00 mov rax, QWORD PTR [rax] - 00d4f 8b 00 mov eax, DWORD PTR [rax] - 00d51 39 85 84 00 00 - 00 cmp DWORD PTR i$6[rbp], eax - 00d57 0f 83 8a 00 00 - 00 jae $LN24@load_jpeg_ - -; 3956 : *out++ = stbi__compute_y(coutput[0][i], - - 00d5d b8 08 00 00 00 mov eax, 8 - 00d62 48 6b c0 02 imul rax, rax, 2 - 00d66 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR i$6[rbp] - 00d6c 48 8b 84 05 e8 - 00 00 00 mov rax, QWORD PTR coutput$9[rbp+rax] - 00d74 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx] - 00d78 b9 08 00 00 00 mov ecx, 8 - 00d7d 48 6b c9 01 imul rcx, rcx, 1 - 00d81 8b 95 84 00 00 - 00 mov edx, DWORD PTR i$6[rbp] - 00d87 48 8b 8c 0d e8 - 00 00 00 mov rcx, QWORD PTR coutput$9[rbp+rcx] - 00d8f 0f b6 0c 11 movzx ecx, BYTE PTR [rcx+rdx] - 00d93 ba 08 00 00 00 mov edx, 8 - 00d98 48 6b d2 00 imul rdx, rdx, 0 - 00d9c 44 8b 85 84 00 - 00 00 mov r8d, DWORD PTR i$6[rbp] - 00da3 48 8b 94 15 e8 - 00 00 00 mov rdx, QWORD PTR coutput$9[rbp+rdx] - 00dab 42 0f b6 14 02 movzx edx, BYTE PTR [rdx+r8] - 00db0 89 95 f4 04 00 - 00 mov DWORD PTR tv516[rbp], edx - 00db6 44 8b c0 mov r8d, eax - 00db9 8b d1 mov edx, ecx - 00dbb 8b 85 f4 04 00 - 00 mov eax, DWORD PTR tv516[rbp] - 00dc1 8b c8 mov ecx, eax - 00dc3 e8 00 00 00 00 call stbi__compute_y - 00dc8 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR out$12[rbp] - 00dcf 88 01 mov BYTE PTR [rcx], al - 00dd1 48 8b 85 28 02 - 00 00 mov rax, QWORD PTR out$12[rbp] - 00dd8 48 ff c0 inc rax - 00ddb 48 89 85 28 02 - 00 00 mov QWORD PTR out$12[rbp], rax - 00de2 e9 50 ff ff ff jmp $LN23@load_jpeg_ -$LN24@load_jpeg_: - -; 3957 : coutput[1][i], -; 3958 : coutput[2][i]); - - 00de7 e9 db 00 00 00 jmp $LN74@load_jpeg_ -$LN73@load_jpeg_: - -; 3959 : else { -; 3960 : for (i = 0; i < z->s->img_x; ++i, out += 2) { - - 00dec c7 85 84 00 00 - 00 00 00 00 00 mov DWORD PTR i$6[rbp], 0 - 00df6 eb 20 jmp SHORT $LN28@load_jpeg_ -$LN26@load_jpeg_: - 00df8 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$6[rbp] - 00dfe ff c0 inc eax - 00e00 89 85 84 00 00 - 00 mov DWORD PTR i$6[rbp], eax - 00e06 48 8b 85 28 02 - 00 00 mov rax, QWORD PTR out$12[rbp] - 00e0d 48 83 c0 02 add rax, 2 - 00e11 48 89 85 28 02 - 00 00 mov QWORD PTR out$12[rbp], rax -$LN28@load_jpeg_: - 00e18 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 00e1f 48 8b 00 mov rax, QWORD PTR [rax] - 00e22 8b 00 mov eax, DWORD PTR [rax] - 00e24 39 85 84 00 00 - 00 cmp DWORD PTR i$6[rbp], eax - 00e2a 0f 83 97 00 00 - 00 jae $LN27@load_jpeg_ - -; 3961 : out[0] = stbi__compute_y(coutput[0][i], - - 00e30 b8 08 00 00 00 mov eax, 8 - 00e35 48 6b c0 02 imul rax, rax, 2 - 00e39 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR i$6[rbp] - 00e3f 48 8b 84 05 e8 - 00 00 00 mov rax, QWORD PTR coutput$9[rbp+rax] - 00e47 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx] - 00e4b b9 08 00 00 00 mov ecx, 8 - 00e50 48 6b c9 01 imul rcx, rcx, 1 - 00e54 8b 95 84 00 00 - 00 mov edx, DWORD PTR i$6[rbp] - 00e5a 48 8b 8c 0d e8 - 00 00 00 mov rcx, QWORD PTR coutput$9[rbp+rcx] - 00e62 0f b6 0c 11 movzx ecx, BYTE PTR [rcx+rdx] - 00e66 ba 08 00 00 00 mov edx, 8 - 00e6b 48 6b d2 00 imul rdx, rdx, 0 - 00e6f 44 8b 85 84 00 - 00 00 mov r8d, DWORD PTR i$6[rbp] - 00e76 48 8b 94 15 e8 - 00 00 00 mov rdx, QWORD PTR coutput$9[rbp+rdx] - 00e7e 42 0f b6 14 02 movzx edx, BYTE PTR [rdx+r8] - 00e83 89 95 f4 04 00 - 00 mov DWORD PTR tv545[rbp], edx - 00e89 44 8b c0 mov r8d, eax - 00e8c 8b d1 mov edx, ecx - 00e8e 8b 85 f4 04 00 - 00 mov eax, DWORD PTR tv545[rbp] - 00e94 8b c8 mov ecx, eax - 00e96 e8 00 00 00 00 call stbi__compute_y - 00e9b b9 01 00 00 00 mov ecx, 1 - 00ea0 48 6b c9 00 imul rcx, rcx, 0 - 00ea4 48 8b 95 28 02 - 00 00 mov rdx, QWORD PTR out$12[rbp] - 00eab 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3962 : coutput[1][i], -; 3963 : coutput[2][i]); -; 3964 : out[1] = 255; - - 00eae b8 01 00 00 00 mov eax, 1 - 00eb3 48 6b c0 01 imul rax, rax, 1 - 00eb7 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR out$12[rbp] - 00ebe c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - -; 3965 : } - - 00ec2 e9 31 ff ff ff jmp $LN26@load_jpeg_ -$LN27@load_jpeg_: -$LN74@load_jpeg_: - -; 3966 : } - - 00ec7 e9 5b 03 00 00 jmp $LN72@load_jpeg_ -$LN71@load_jpeg_: - -; 3967 : } else if (z->s->img_n == 4 && z->app14_color_transform == 0) { - - 00ecc 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 00ed3 48 8b 00 mov rax, QWORD PTR [rax] - 00ed6 83 78 08 04 cmp DWORD PTR [rax+8], 4 - 00eda 0f 85 64 01 00 - 00 jne $LN75@load_jpeg_ - 00ee0 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 00ee7 83 b8 4c 48 00 - 00 00 cmp DWORD PTR [rax+18508], 0 - 00eee 0f 85 50 01 00 - 00 jne $LN75@load_jpeg_ - -; 3968 : for (i = 0; i < z->s->img_x; ++i) { - - 00ef4 c7 85 84 00 00 - 00 00 00 00 00 mov DWORD PTR i$6[rbp], 0 - 00efe eb 0e jmp SHORT $LN31@load_jpeg_ -$LN29@load_jpeg_: - 00f00 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$6[rbp] - 00f06 ff c0 inc eax - 00f08 89 85 84 00 00 - 00 mov DWORD PTR i$6[rbp], eax -$LN31@load_jpeg_: - 00f0e 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 00f15 48 8b 00 mov rax, QWORD PTR [rax] - 00f18 8b 00 mov eax, DWORD PTR [rax] - 00f1a 39 85 84 00 00 - 00 cmp DWORD PTR i$6[rbp], eax - 00f20 0f 83 19 01 00 - 00 jae $LN30@load_jpeg_ - -; 3969 : stbi_uc m = coutput[3][i]; - - 00f26 b8 08 00 00 00 mov eax, 8 - 00f2b 48 6b c0 03 imul rax, rax, 3 - 00f2f 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR i$6[rbp] - 00f35 48 8b 84 05 e8 - 00 00 00 mov rax, QWORD PTR coutput$9[rbp+rax] - 00f3d 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx] - 00f41 88 85 e4 02 00 - 00 mov BYTE PTR m$18[rbp], al - -; 3970 : stbi_uc r = stbi__blinn_8x8(coutput[0][i], m); - - 00f47 b8 08 00 00 00 mov eax, 8 - 00f4c 48 6b c0 00 imul rax, rax, 0 - 00f50 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR i$6[rbp] - 00f56 48 8b 84 05 e8 - 00 00 00 mov rax, QWORD PTR coutput$9[rbp+rax] - 00f5e 0f b6 95 e4 02 - 00 00 movzx edx, BYTE PTR m$18[rbp] - 00f65 0f b6 0c 08 movzx ecx, BYTE PTR [rax+rcx] - 00f69 e8 00 00 00 00 call stbi__blinn_8x8 - 00f6e 88 85 04 03 00 - 00 mov BYTE PTR r$19[rbp], al - -; 3971 : stbi_uc g = stbi__blinn_8x8(coutput[1][i], m); - - 00f74 b8 08 00 00 00 mov eax, 8 - 00f79 48 6b c0 01 imul rax, rax, 1 - 00f7d 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR i$6[rbp] - 00f83 48 8b 84 05 e8 - 00 00 00 mov rax, QWORD PTR coutput$9[rbp+rax] - 00f8b 0f b6 95 e4 02 - 00 00 movzx edx, BYTE PTR m$18[rbp] - 00f92 0f b6 0c 08 movzx ecx, BYTE PTR [rax+rcx] - 00f96 e8 00 00 00 00 call stbi__blinn_8x8 - 00f9b 88 85 24 03 00 - 00 mov BYTE PTR g$20[rbp], al - -; 3972 : stbi_uc b = stbi__blinn_8x8(coutput[2][i], m); - - 00fa1 b8 08 00 00 00 mov eax, 8 - 00fa6 48 6b c0 02 imul rax, rax, 2 - 00faa 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR i$6[rbp] - 00fb0 48 8b 84 05 e8 - 00 00 00 mov rax, QWORD PTR coutput$9[rbp+rax] - 00fb8 0f b6 95 e4 02 - 00 00 movzx edx, BYTE PTR m$18[rbp] - 00fbf 0f b6 0c 08 movzx ecx, BYTE PTR [rax+rcx] - 00fc3 e8 00 00 00 00 call stbi__blinn_8x8 - 00fc8 88 85 44 03 00 - 00 mov BYTE PTR b$21[rbp], al - -; 3973 : out[0] = stbi__compute_y(r, g, b); - - 00fce 0f b6 85 44 03 - 00 00 movzx eax, BYTE PTR b$21[rbp] - 00fd5 0f b6 8d 24 03 - 00 00 movzx ecx, BYTE PTR g$20[rbp] - 00fdc 0f b6 95 04 03 - 00 00 movzx edx, BYTE PTR r$19[rbp] - 00fe3 89 95 f4 04 00 - 00 mov DWORD PTR tv626[rbp], edx - 00fe9 44 8b c0 mov r8d, eax - 00fec 8b d1 mov edx, ecx - 00fee 8b 85 f4 04 00 - 00 mov eax, DWORD PTR tv626[rbp] - 00ff4 8b c8 mov ecx, eax - 00ff6 e8 00 00 00 00 call stbi__compute_y - 00ffb b9 01 00 00 00 mov ecx, 1 - 01000 48 6b c9 00 imul rcx, rcx, 0 - 01004 48 8b 95 28 02 - 00 00 mov rdx, QWORD PTR out$12[rbp] - 0100b 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3974 : out[1] = 255; - - 0100e b8 01 00 00 00 mov eax, 1 - 01013 48 6b c0 01 imul rax, rax, 1 - 01017 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR out$12[rbp] - 0101e c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - -; 3975 : out += n; - - 01022 48 63 45 04 movsxd rax, DWORD PTR n$[rbp] - 01026 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR out$12[rbp] - 0102d 48 03 c8 add rcx, rax - 01030 48 8b c1 mov rax, rcx - 01033 48 89 85 28 02 - 00 00 mov QWORD PTR out$12[rbp], rax - -; 3976 : } - - 0103a e9 c1 fe ff ff jmp $LN29@load_jpeg_ -$LN30@load_jpeg_: - -; 3977 : } else if (z->s->img_n == 4 && z->app14_color_transform == 2) { - - 0103f e9 e3 01 00 00 jmp $LN76@load_jpeg_ -$LN75@load_jpeg_: - 01044 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 0104b 48 8b 00 mov rax, QWORD PTR [rax] - 0104e 83 78 08 04 cmp DWORD PTR [rax+8], 4 - 01052 0f 85 e7 00 00 - 00 jne $LN77@load_jpeg_ - 01058 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 0105f 83 b8 4c 48 00 - 00 02 cmp DWORD PTR [rax+18508], 2 - 01066 0f 85 d3 00 00 - 00 jne $LN77@load_jpeg_ - -; 3978 : for (i = 0; i < z->s->img_x; ++i) { - - 0106c c7 85 84 00 00 - 00 00 00 00 00 mov DWORD PTR i$6[rbp], 0 - 01076 eb 0e jmp SHORT $LN34@load_jpeg_ -$LN32@load_jpeg_: - 01078 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$6[rbp] - 0107e ff c0 inc eax - 01080 89 85 84 00 00 - 00 mov DWORD PTR i$6[rbp], eax -$LN34@load_jpeg_: - 01086 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 0108d 48 8b 00 mov rax, QWORD PTR [rax] - 01090 8b 00 mov eax, DWORD PTR [rax] - 01092 39 85 84 00 00 - 00 cmp DWORD PTR i$6[rbp], eax - 01098 0f 83 9c 00 00 - 00 jae $LN33@load_jpeg_ - -; 3979 : out[0] = stbi__blinn_8x8(255 - coutput[0][i], - - 0109e b8 08 00 00 00 mov eax, 8 - 010a3 48 6b c0 03 imul rax, rax, 3 - 010a7 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR i$6[rbp] - 010ad 48 8b 84 05 e8 - 00 00 00 mov rax, QWORD PTR coutput$9[rbp+rax] - 010b5 ba 08 00 00 00 mov edx, 8 - 010ba 48 6b d2 00 imul rdx, rdx, 0 - 010be 44 8b 85 84 00 - 00 00 mov r8d, DWORD PTR i$6[rbp] - 010c5 48 8b 94 15 e8 - 00 00 00 mov rdx, QWORD PTR coutput$9[rbp+rdx] - 010cd 42 0f b6 14 02 movzx edx, BYTE PTR [rdx+r8] - 010d2 41 b8 ff 00 00 - 00 mov r8d, 255 ; 000000ffH - 010d8 44 2b c2 sub r8d, edx - 010db 41 8b d0 mov edx, r8d - 010de 89 95 f4 04 00 - 00 mov DWORD PTR tv656[rbp], edx - 010e4 0f b6 14 08 movzx edx, BYTE PTR [rax+rcx] - 010e8 8b 85 f4 04 00 - 00 mov eax, DWORD PTR tv656[rbp] - 010ee 0f b6 c8 movzx ecx, al - 010f1 e8 00 00 00 00 call stbi__blinn_8x8 - 010f6 b9 01 00 00 00 mov ecx, 1 - 010fb 48 6b c9 00 imul rcx, rcx, 0 - 010ff 48 8b 95 28 02 - 00 00 mov rdx, QWORD PTR out$12[rbp] - 01106 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3980 : coutput[3][i]); -; 3981 : out[1] = 255; - - 01109 b8 01 00 00 00 mov eax, 1 - 0110e 48 6b c0 01 imul rax, rax, 1 - 01112 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR out$12[rbp] - 01119 c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - -; 3982 : out += n; - - 0111d 48 63 45 04 movsxd rax, DWORD PTR n$[rbp] - 01121 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR out$12[rbp] - 01128 48 03 c8 add rcx, rax - 0112b 48 8b c1 mov rax, rcx - 0112e 48 89 85 28 02 - 00 00 mov QWORD PTR out$12[rbp], rax - -; 3983 : } - - 01135 e9 3e ff ff ff jmp $LN32@load_jpeg_ -$LN33@load_jpeg_: - -; 3984 : } else { - - 0113a e9 e8 00 00 00 jmp $LN78@load_jpeg_ -$LN77@load_jpeg_: - -; 3985 : stbi_uc *y = coutput[0]; - - 0113f b8 08 00 00 00 mov eax, 8 - 01144 48 6b c0 00 imul rax, rax, 0 - 01148 48 8b 84 05 e8 - 00 00 00 mov rax, QWORD PTR coutput$9[rbp+rax] - 01150 48 89 85 68 03 - 00 00 mov QWORD PTR y$22[rbp], rax - -; 3986 : if (n == 1) - - 01157 83 7d 04 01 cmp DWORD PTR n$[rbp], 1 - 0115b 75 54 jne SHORT $LN79@load_jpeg_ - -; 3987 : for (i = 0; i < z->s->img_x; ++i) - - 0115d c7 85 84 00 00 - 00 00 00 00 00 mov DWORD PTR i$6[rbp], 0 - 01167 eb 0e jmp SHORT $LN37@load_jpeg_ -$LN35@load_jpeg_: - 01169 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$6[rbp] - 0116f ff c0 inc eax - 01171 89 85 84 00 00 - 00 mov DWORD PTR i$6[rbp], eax -$LN37@load_jpeg_: - 01177 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 0117e 48 8b 00 mov rax, QWORD PTR [rax] - 01181 8b 00 mov eax, DWORD PTR [rax] - 01183 39 85 84 00 00 - 00 cmp DWORD PTR i$6[rbp], eax - 01189 73 24 jae SHORT $LN36@load_jpeg_ - -; 3988 : out[i] = y[i]; - - 0118b 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$6[rbp] - 01191 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR i$6[rbp] - 01197 48 8b 95 28 02 - 00 00 mov rdx, QWORD PTR out$12[rbp] - 0119e 4c 8b 85 68 03 - 00 00 mov r8, QWORD PTR y$22[rbp] - 011a5 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 011aa 88 04 0a mov BYTE PTR [rdx+rcx], al - 011ad eb ba jmp SHORT $LN35@load_jpeg_ -$LN36@load_jpeg_: - 011af eb 76 jmp SHORT $LN80@load_jpeg_ -$LN79@load_jpeg_: - -; 3989 : else -; 3990 : for (i = 0; i < z->s->img_x; ++i) { - - 011b1 c7 85 84 00 00 - 00 00 00 00 00 mov DWORD PTR i$6[rbp], 0 - 011bb eb 0e jmp SHORT $LN40@load_jpeg_ -$LN38@load_jpeg_: - 011bd 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$6[rbp] - 011c3 ff c0 inc eax - 011c5 89 85 84 00 00 - 00 mov DWORD PTR i$6[rbp], eax -$LN40@load_jpeg_: - 011cb 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 011d2 48 8b 00 mov rax, QWORD PTR [rax] - 011d5 8b 00 mov eax, DWORD PTR [rax] - 011d7 39 85 84 00 00 - 00 cmp DWORD PTR i$6[rbp], eax - 011dd 73 48 jae SHORT $LN39@load_jpeg_ - -; 3991 : *out++ = y[i]; - - 011df 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$6[rbp] - 011e5 48 8b 8d 28 02 - 00 00 mov rcx, QWORD PTR out$12[rbp] - 011ec 48 8b 95 68 03 - 00 00 mov rdx, QWORD PTR y$22[rbp] - 011f3 0f b6 04 02 movzx eax, BYTE PTR [rdx+rax] - 011f7 88 01 mov BYTE PTR [rcx], al - 011f9 48 8b 85 28 02 - 00 00 mov rax, QWORD PTR out$12[rbp] - 01200 48 ff c0 inc rax - 01203 48 89 85 28 02 - 00 00 mov QWORD PTR out$12[rbp], rax - -; 3992 : *out++ = 255; - - 0120a 48 8b 85 28 02 - 00 00 mov rax, QWORD PTR out$12[rbp] - 01211 c6 00 ff mov BYTE PTR [rax], 255 ; 000000ffH - 01214 48 8b 85 28 02 - 00 00 mov rax, QWORD PTR out$12[rbp] - 0121b 48 ff c0 inc rax - 0121e 48 89 85 28 02 - 00 00 mov QWORD PTR out$12[rbp], rax - -; 3993 : } - - 01225 eb 96 jmp SHORT $LN38@load_jpeg_ -$LN39@load_jpeg_: -$LN80@load_jpeg_: -$LN78@load_jpeg_: -$LN76@load_jpeg_: -$LN72@load_jpeg_: -$LN60@load_jpeg_: - -; 3994 : } -; 3995 : } -; 3996 : } - - 01227 e9 f2 f2 ff ff jmp $LN5@load_jpeg_ -$LN6@load_jpeg_: - -; 3997 : stbi__cleanup_jpeg(z); - - 0122c 48 8b 8d 30 05 - 00 00 mov rcx, QWORD PTR z$[rbp] - 01233 e8 00 00 00 00 call stbi__cleanup_jpeg - 01238 90 npad 1 - -; 3998 : *out_x = z->s->img_x; - - 01239 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 01240 48 8b 00 mov rax, QWORD PTR [rax] - 01243 48 8b 8d 38 05 - 00 00 mov rcx, QWORD PTR out_x$[rbp] - 0124a 8b 00 mov eax, DWORD PTR [rax] - 0124c 89 01 mov DWORD PTR [rcx], eax - -; 3999 : *out_y = z->s->img_y; - - 0124e 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 01255 48 8b 00 mov rax, QWORD PTR [rax] - 01258 48 8b 8d 40 05 - 00 00 mov rcx, QWORD PTR out_y$[rbp] - 0125f 8b 40 04 mov eax, DWORD PTR [rax+4] - 01262 89 01 mov DWORD PTR [rcx], eax - -; 4000 : if (comp) - - 01264 48 83 bd 48 05 - 00 00 00 cmp QWORD PTR comp$[rbp], 0 - 0126c 74 35 je SHORT $LN81@load_jpeg_ - -; 4001 : *comp = z->s->img_n >= 3 ? 3 : 1; // report original components, not output - - 0126e 48 8b 85 30 05 - 00 00 mov rax, QWORD PTR z$[rbp] - 01275 48 8b 00 mov rax, QWORD PTR [rax] - 01278 83 78 08 03 cmp DWORD PTR [rax+8], 3 - 0127c 7c 0c jl SHORT $LN103@load_jpeg_ - 0127e c7 85 f4 04 00 - 00 03 00 00 00 mov DWORD PTR tv694[rbp], 3 - 01288 eb 0a jmp SHORT $LN104@load_jpeg_ -$LN103@load_jpeg_: - 0128a c7 85 f4 04 00 - 00 01 00 00 00 mov DWORD PTR tv694[rbp], 1 -$LN104@load_jpeg_: - 01294 48 8b 85 48 05 - 00 00 mov rax, QWORD PTR comp$[rbp] - 0129b 8b 8d f4 04 00 - 00 mov ecx, DWORD PTR tv694[rbp] - 012a1 89 08 mov DWORD PTR [rax], ecx -$LN81@load_jpeg_: - -; 4002 : return output; - - 012a3 48 8b 85 c8 00 - 00 00 mov rax, QWORD PTR output$8[rbp] -$LN1@load_jpeg_: - -; 4003 : } -; 4004 : } - - 012aa 48 8b f8 mov rdi, rax - 012ad 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 012b1 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:load_jpeg_image$rtcFrameData - 012b8 e8 00 00 00 00 call _RTC_CheckStackVars - 012bd 48 8b c7 mov rax, rdi - 012c0 48 8b 8d 08 05 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 012c7 48 33 cd xor rcx, rbp - 012ca e8 00 00 00 00 call __security_check_cookie - 012cf 48 8d a5 18 05 - 00 00 lea rsp, QWORD PTR [rbp+1304] - 012d6 5f pop rdi - 012d7 5d pop rbp - 012d8 c3 ret 0 -load_jpeg_image ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__blinn_8x8 -_TEXT SEGMENT -t$ = 4 -x$ = 256 -y$ = 264 -stbi__blinn_8x8 PROC ; COMDAT - -; 3807 : { - - 00000 88 54 24 10 mov BYTE PTR [rsp+16], dl - 00004 88 4c 24 08 mov BYTE PTR [rsp+8], cl - 00008 55 push rbp - 00009 57 push rdi - 0000a 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 00011 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00016 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001d e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00022 90 npad 1 - -; 3808 : unsigned int t = x * y + 128; - - 00023 0f b6 85 00 01 - 00 00 movzx eax, BYTE PTR x$[rbp] - 0002a 0f b6 8d 08 01 - 00 00 movzx ecx, BYTE PTR y$[rbp] - 00031 0f af c1 imul eax, ecx - 00034 05 80 00 00 00 add eax, 128 ; 00000080H - 00039 89 45 04 mov DWORD PTR t$[rbp], eax - -; 3809 : return (stbi_uc)((t + (t >> 8)) >> 8); - - 0003c 8b 45 04 mov eax, DWORD PTR t$[rbp] - 0003f c1 e8 08 shr eax, 8 - 00042 8b 4d 04 mov ecx, DWORD PTR t$[rbp] - 00045 03 c8 add ecx, eax - 00047 8b c1 mov eax, ecx - 00049 c1 e8 08 shr eax, 8 - -; 3810 : } - - 0004c 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 00053 5f pop rdi - 00054 5d pop rbp - 00055 c3 ret 0 -stbi__blinn_8x8 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__cleanup_jpeg -_TEXT SEGMENT -j$ = 224 -stbi__cleanup_jpeg PROC ; COMDAT - -; 3792 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 3793 : stbi__free_jpeg_components(j, j->s->img_n, 0); - - 00020 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR j$[rbp] - 00027 48 8b 00 mov rax, QWORD PTR [rax] - 0002a 45 33 c0 xor r8d, r8d - 0002d 8b 50 08 mov edx, DWORD PTR [rax+8] - 00030 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00037 e8 00 00 00 00 call stbi__free_jpeg_components - 0003c 90 npad 1 - -; 3794 : } - - 0003d 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00044 5f pop rdi - 00045 5d pop rbp - 00046 c3 ret 0 -stbi__cleanup_jpeg ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__setup_jpeg -_TEXT SEGMENT -j$ = 224 -stbi__setup_jpeg PROC ; COMDAT - -; 3770 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 3771 : j->idct_block_kernel = stbi__idct_block; - - 00020 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR j$[rbp] - 00027 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__idct_block - 0002e 48 89 88 70 48 - 00 00 mov QWORD PTR [rax+18544], rcx - -; 3772 : j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_row; - - 00035 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR j$[rbp] - 0003c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__YCbCr_to_RGB_row - 00043 48 89 88 78 48 - 00 00 mov QWORD PTR [rax+18552], rcx - -; 3773 : j->resample_row_hv_2_kernel = stbi__resample_row_hv_2; - - 0004a 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR j$[rbp] - 00051 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__resample_row_hv_2 - 00058 48 89 88 80 48 - 00 00 mov QWORD PTR [rax+18560], rcx - -; 3774 : -; 3775 : #ifdef STBI_SSE2 -; 3776 : if (stbi__sse2_available()) { - - 0005f e8 00 00 00 00 call stbi__sse2_available - 00064 85 c0 test eax, eax - 00066 74 3f je SHORT $LN2@stbi__setu - -; 3777 : j->idct_block_kernel = stbi__idct_simd; - - 00068 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR j$[rbp] - 0006f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__idct_simd - 00076 48 89 88 70 48 - 00 00 mov QWORD PTR [rax+18544], rcx - -; 3778 : j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; - - 0007d 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR j$[rbp] - 00084 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__YCbCr_to_RGB_simd - 0008b 48 89 88 78 48 - 00 00 mov QWORD PTR [rax+18552], rcx - -; 3779 : j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; - - 00092 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR j$[rbp] - 00099 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__resample_row_hv_2_simd - 000a0 48 89 88 80 48 - 00 00 mov QWORD PTR [rax+18560], rcx -$LN2@stbi__setu: - -; 3780 : } -; 3781 : #endif -; 3782 : -; 3783 : #ifdef STBI_NEON -; 3784 : j->idct_block_kernel = stbi__idct_simd; -; 3785 : j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; -; 3786 : j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; -; 3787 : #endif -; 3788 : } - - 000a7 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 000ae 5f pop rdi - 000af 5d pop rbp - 000b0 c3 ret 0 -stbi__setup_jpeg ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__YCbCr_to_RGB_simd -_TEXT SEGMENT -i$ = 4 -signflip$1 = 48 -cr_const0$2 = 96 -cr_const1$3 = 144 -cb_const0$4 = 192 -cb_const1$5 = 240 -y_bias$6 = 288 -xw$7 = 336 -y_bytes$8 = 384 -cr_bytes$9 = 432 -cb_bytes$10 = 480 -cr_biased$11 = 528 -cb_biased$12 = 576 -yw$13 = 624 -crw$14 = 672 -cbw$15 = 720 -yws$16 = 768 -cr0$17 = 816 -cb0$18 = 864 -cb1$19 = 912 -cr1$20 = 960 -rws$21 = 1008 -gwt$22 = 1056 -bws$23 = 1104 -gws$24 = 1152 -rw$25 = 1200 -bw$26 = 1248 -gw$27 = 1296 -brb$28 = 1344 -gxb$29 = 1392 -t0$30 = 1440 -t1$31 = 1488 -o0$32 = 1536 -o1$33 = 1584 -y_fixed$34 = 1620 -r$35 = 1652 -g$36 = 1684 -b$37 = 1716 -cr$38 = 1748 -cb$39 = 1780 -out$ = 2608 -y$ = 2616 -pcb$ = 2624 -pcr$ = 2632 -count$ = 2640 -step$ = 2648 -stbi__YCbCr_to_RGB_simd PROC ; COMDAT - -; 3619 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 38 0a - 00 00 sub rsp, 2616 ; 00000a38H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 3620 : int i = 0; - - 0002f c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - -; 3621 : -; 3622 : #ifdef STBI_SSE2 -; 3623 : // step == 3 is pretty ugly on the final interleave, and i'm not convinced -; 3624 : // it's useful in practice (you wouldn't use it for textures, for example). -; 3625 : // so just accelerate step == 4 case. -; 3626 : if (step == 4) { - - 00036 83 bd 58 0a 00 - 00 04 cmp DWORD PTR step$[rbp], 4 - 0003d 0f 85 28 03 00 - 00 jne $LN8@stbi__YCbC - -; 3627 : // this is a fairly straightforward implementation and not super-optimized. -; 3628 : __m128i signflip = _mm_set1_epi8(-0x80); - - 00043 66 0f 6f 05 00 - 00 00 00 movdqa xmm0, XMMWORD PTR __xmm@80808080808080808080808080808080 - 0004b 66 0f 7f 45 30 movdqa XMMWORD PTR signflip$1[rbp], xmm0 - -; 3629 : __m128i cr_const0 = _mm_set1_epi16((short)(1.40200f * 4096.0f + 0.5f)); - - 00050 66 0f 6f 05 00 - 00 00 00 movdqa xmm0, XMMWORD PTR __xmm@166f166f166f166f166f166f166f166f - 00058 66 0f 7f 45 60 movdqa XMMWORD PTR cr_const0$2[rbp], xmm0 - -; 3630 : __m128i cr_const1 = _mm_set1_epi16(-(short)(0.71414f * 4096.0f + 0.5f)); - - 0005d 66 0f 6f 05 00 - 00 00 00 movdqa xmm0, XMMWORD PTR __xmm@f493f493f493f493f493f493f493f493 - 00065 66 0f 7f 85 90 - 00 00 00 movdqa XMMWORD PTR cr_const1$3[rbp], xmm0 - -; 3631 : __m128i cb_const0 = _mm_set1_epi16(-(short)(0.34414f * 4096.0f + 0.5f)); - - 0006d 66 0f 6f 05 00 - 00 00 00 movdqa xmm0, XMMWORD PTR __xmm@fa7efa7efa7efa7efa7efa7efa7efa7e - 00075 66 0f 7f 85 c0 - 00 00 00 movdqa XMMWORD PTR cb_const0$4[rbp], xmm0 - -; 3632 : __m128i cb_const1 = _mm_set1_epi16((short)(1.77200f * 4096.0f + 0.5f)); - - 0007d 66 0f 6f 05 00 - 00 00 00 movdqa xmm0, XMMWORD PTR __xmm@1c5a1c5a1c5a1c5a1c5a1c5a1c5a1c5a - 00085 66 0f 7f 85 f0 - 00 00 00 movdqa XMMWORD PTR cb_const1$5[rbp], xmm0 - -; 3633 : __m128i y_bias = _mm_set1_epi8((char)(unsigned char)128); - - 0008d 66 0f 6f 05 00 - 00 00 00 movdqa xmm0, XMMWORD PTR __xmm@80808080808080808080808080808080 - 00095 66 0f 7f 85 20 - 01 00 00 movdqa XMMWORD PTR y_bias$6[rbp], xmm0 - -; 3634 : __m128i xw = _mm_set1_epi16(255); // alpha channel - - 0009d 66 0f 6f 05 00 - 00 00 00 movdqa xmm0, XMMWORD PTR __xmm@00ff00ff00ff00ff00ff00ff00ff00ff - 000a5 66 0f 7f 85 50 - 01 00 00 movdqa XMMWORD PTR xw$7[rbp], xmm0 - -; 3635 : -; 3636 : for (; i + 7 < count; i += 8) { - - 000ad eb 09 jmp SHORT $LN4@stbi__YCbC -$LN2@stbi__YCbC: - 000af 8b 45 04 mov eax, DWORD PTR i$[rbp] - 000b2 83 c0 08 add eax, 8 - 000b5 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__YCbC: - 000b8 8b 45 04 mov eax, DWORD PTR i$[rbp] - 000bb 83 c0 07 add eax, 7 - 000be 3b 85 50 0a 00 - 00 cmp eax, DWORD PTR count$[rbp] - 000c4 0f 8d a1 02 00 - 00 jge $LN3@stbi__YCbC - -; 3637 : // load -; 3638 : __m128i y_bytes = _mm_loadl_epi64((__m128i *)(y + i)); - - 000ca 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 000ce 48 8b 8d 38 0a - 00 00 mov rcx, QWORD PTR y$[rbp] - 000d5 48 03 c8 add rcx, rax - 000d8 48 8b c1 mov rax, rcx - 000db f3 0f 7e 00 movq xmm0, QWORD PTR [rax] - 000df 66 0f 7f 85 80 - 01 00 00 movdqa XMMWORD PTR y_bytes$8[rbp], xmm0 - -; 3639 : __m128i cr_bytes = _mm_loadl_epi64((__m128i *)(pcr + i)); - - 000e7 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 000eb 48 8b 8d 48 0a - 00 00 mov rcx, QWORD PTR pcr$[rbp] - 000f2 48 03 c8 add rcx, rax - 000f5 48 8b c1 mov rax, rcx - 000f8 f3 0f 7e 00 movq xmm0, QWORD PTR [rax] - 000fc 66 0f 7f 85 b0 - 01 00 00 movdqa XMMWORD PTR cr_bytes$9[rbp], xmm0 - -; 3640 : __m128i cb_bytes = _mm_loadl_epi64((__m128i *)(pcb + i)); - - 00104 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 00108 48 8b 8d 40 0a - 00 00 mov rcx, QWORD PTR pcb$[rbp] - 0010f 48 03 c8 add rcx, rax - 00112 48 8b c1 mov rax, rcx - 00115 f3 0f 7e 00 movq xmm0, QWORD PTR [rax] - 00119 66 0f 7f 85 e0 - 01 00 00 movdqa XMMWORD PTR cb_bytes$10[rbp], xmm0 - -; 3641 : __m128i cr_biased = _mm_xor_si128(cr_bytes, signflip); // -128 - - 00121 66 0f 6f 85 b0 - 01 00 00 movdqa xmm0, XMMWORD PTR cr_bytes$9[rbp] - 00129 0f 57 45 30 xorps xmm0, XMMWORD PTR signflip$1[rbp] - 0012d 66 0f 7f 85 10 - 02 00 00 movdqa XMMWORD PTR cr_biased$11[rbp], xmm0 - -; 3642 : __m128i cb_biased = _mm_xor_si128(cb_bytes, signflip); // -128 - - 00135 66 0f 6f 85 e0 - 01 00 00 movdqa xmm0, XMMWORD PTR cb_bytes$10[rbp] - 0013d 0f 57 45 30 xorps xmm0, XMMWORD PTR signflip$1[rbp] - 00141 66 0f 7f 85 40 - 02 00 00 movdqa XMMWORD PTR cb_biased$12[rbp], xmm0 - -; 3643 : -; 3644 : // unpack to short (and left-shift cr, cb by 8) -; 3645 : __m128i yw = _mm_unpacklo_epi8(y_bias, y_bytes); - - 00149 66 0f 6f 85 20 - 01 00 00 movdqa xmm0, XMMWORD PTR y_bias$6[rbp] - 00151 66 0f 60 85 80 - 01 00 00 punpcklbw xmm0, XMMWORD PTR y_bytes$8[rbp] - 00159 66 0f 7f 85 70 - 02 00 00 movdqa XMMWORD PTR yw$13[rbp], xmm0 - -; 3646 : __m128i crw = _mm_unpacklo_epi8(_mm_setzero_si128(), cr_biased); - - 00161 66 0f ef c0 pxor xmm0, xmm0 - 00165 66 0f 60 85 10 - 02 00 00 punpcklbw xmm0, XMMWORD PTR cr_biased$11[rbp] - 0016d 66 0f 7f 85 a0 - 02 00 00 movdqa XMMWORD PTR crw$14[rbp], xmm0 - -; 3647 : __m128i cbw = _mm_unpacklo_epi8(_mm_setzero_si128(), cb_biased); - - 00175 66 0f ef c0 pxor xmm0, xmm0 - 00179 66 0f 60 85 40 - 02 00 00 punpcklbw xmm0, XMMWORD PTR cb_biased$12[rbp] - 00181 66 0f 7f 85 d0 - 02 00 00 movdqa XMMWORD PTR cbw$15[rbp], xmm0 - -; 3648 : -; 3649 : // color transform -; 3650 : __m128i yws = _mm_srli_epi16(yw, 4); - - 00189 66 0f 6f 85 70 - 02 00 00 movdqa xmm0, XMMWORD PTR yw$13[rbp] - 00191 66 0f 71 d0 04 psrlw xmm0, 4 - 00196 66 0f 7f 85 00 - 03 00 00 movdqa XMMWORD PTR yws$16[rbp], xmm0 - -; 3651 : __m128i cr0 = _mm_mulhi_epi16(cr_const0, crw); - - 0019e 66 0f 6f 45 60 movdqa xmm0, XMMWORD PTR cr_const0$2[rbp] - 001a3 66 0f e5 85 a0 - 02 00 00 pmulhw xmm0, XMMWORD PTR crw$14[rbp] - 001ab 66 0f 7f 85 30 - 03 00 00 movdqa XMMWORD PTR cr0$17[rbp], xmm0 - -; 3652 : __m128i cb0 = _mm_mulhi_epi16(cb_const0, cbw); - - 001b3 66 0f 6f 85 c0 - 00 00 00 movdqa xmm0, XMMWORD PTR cb_const0$4[rbp] - 001bb 66 0f e5 85 d0 - 02 00 00 pmulhw xmm0, XMMWORD PTR cbw$15[rbp] - 001c3 66 0f 7f 85 60 - 03 00 00 movdqa XMMWORD PTR cb0$18[rbp], xmm0 - -; 3653 : __m128i cb1 = _mm_mulhi_epi16(cbw, cb_const1); - - 001cb 66 0f 6f 85 d0 - 02 00 00 movdqa xmm0, XMMWORD PTR cbw$15[rbp] - 001d3 66 0f e5 85 f0 - 00 00 00 pmulhw xmm0, XMMWORD PTR cb_const1$5[rbp] - 001db 66 0f 7f 85 90 - 03 00 00 movdqa XMMWORD PTR cb1$19[rbp], xmm0 - -; 3654 : __m128i cr1 = _mm_mulhi_epi16(crw, cr_const1); - - 001e3 66 0f 6f 85 a0 - 02 00 00 movdqa xmm0, XMMWORD PTR crw$14[rbp] - 001eb 66 0f e5 85 90 - 00 00 00 pmulhw xmm0, XMMWORD PTR cr_const1$3[rbp] - 001f3 66 0f 7f 85 c0 - 03 00 00 movdqa XMMWORD PTR cr1$20[rbp], xmm0 - -; 3655 : __m128i rws = _mm_add_epi16(cr0, yws); - - 001fb 66 0f 6f 85 30 - 03 00 00 movdqa xmm0, XMMWORD PTR cr0$17[rbp] - 00203 66 0f fd 85 00 - 03 00 00 paddw xmm0, XMMWORD PTR yws$16[rbp] - 0020b 66 0f 7f 85 f0 - 03 00 00 movdqa XMMWORD PTR rws$21[rbp], xmm0 - -; 3656 : __m128i gwt = _mm_add_epi16(cb0, yws); - - 00213 66 0f 6f 85 60 - 03 00 00 movdqa xmm0, XMMWORD PTR cb0$18[rbp] - 0021b 66 0f fd 85 00 - 03 00 00 paddw xmm0, XMMWORD PTR yws$16[rbp] - 00223 66 0f 7f 85 20 - 04 00 00 movdqa XMMWORD PTR gwt$22[rbp], xmm0 - -; 3657 : __m128i bws = _mm_add_epi16(yws, cb1); - - 0022b 66 0f 6f 85 00 - 03 00 00 movdqa xmm0, XMMWORD PTR yws$16[rbp] - 00233 66 0f fd 85 90 - 03 00 00 paddw xmm0, XMMWORD PTR cb1$19[rbp] - 0023b 66 0f 7f 85 50 - 04 00 00 movdqa XMMWORD PTR bws$23[rbp], xmm0 - -; 3658 : __m128i gws = _mm_add_epi16(gwt, cr1); - - 00243 66 0f 6f 85 20 - 04 00 00 movdqa xmm0, XMMWORD PTR gwt$22[rbp] - 0024b 66 0f fd 85 c0 - 03 00 00 paddw xmm0, XMMWORD PTR cr1$20[rbp] - 00253 66 0f 7f 85 80 - 04 00 00 movdqa XMMWORD PTR gws$24[rbp], xmm0 - -; 3659 : -; 3660 : // descale -; 3661 : __m128i rw = _mm_srai_epi16(rws, 4); - - 0025b 66 0f 6f 85 f0 - 03 00 00 movdqa xmm0, XMMWORD PTR rws$21[rbp] - 00263 66 0f 71 e0 04 psraw xmm0, 4 - 00268 66 0f 7f 85 b0 - 04 00 00 movdqa XMMWORD PTR rw$25[rbp], xmm0 - -; 3662 : __m128i bw = _mm_srai_epi16(bws, 4); - - 00270 66 0f 6f 85 50 - 04 00 00 movdqa xmm0, XMMWORD PTR bws$23[rbp] - 00278 66 0f 71 e0 04 psraw xmm0, 4 - 0027d 66 0f 7f 85 e0 - 04 00 00 movdqa XMMWORD PTR bw$26[rbp], xmm0 - -; 3663 : __m128i gw = _mm_srai_epi16(gws, 4); - - 00285 66 0f 6f 85 80 - 04 00 00 movdqa xmm0, XMMWORD PTR gws$24[rbp] - 0028d 66 0f 71 e0 04 psraw xmm0, 4 - 00292 66 0f 7f 85 10 - 05 00 00 movdqa XMMWORD PTR gw$27[rbp], xmm0 - -; 3664 : -; 3665 : // back to byte, set up for transpose -; 3666 : __m128i brb = _mm_packus_epi16(rw, bw); - - 0029a 66 0f 6f 85 b0 - 04 00 00 movdqa xmm0, XMMWORD PTR rw$25[rbp] - 002a2 66 0f 67 85 e0 - 04 00 00 packuswb xmm0, XMMWORD PTR bw$26[rbp] - 002aa 66 0f 7f 85 40 - 05 00 00 movdqa XMMWORD PTR brb$28[rbp], xmm0 - -; 3667 : __m128i gxb = _mm_packus_epi16(gw, xw); - - 002b2 66 0f 6f 85 10 - 05 00 00 movdqa xmm0, XMMWORD PTR gw$27[rbp] - 002ba 66 0f 67 85 50 - 01 00 00 packuswb xmm0, XMMWORD PTR xw$7[rbp] - 002c2 66 0f 7f 85 70 - 05 00 00 movdqa XMMWORD PTR gxb$29[rbp], xmm0 - -; 3668 : -; 3669 : // transpose to interleave channels -; 3670 : __m128i t0 = _mm_unpacklo_epi8(brb, gxb); - - 002ca 66 0f 6f 85 40 - 05 00 00 movdqa xmm0, XMMWORD PTR brb$28[rbp] - 002d2 66 0f 60 85 70 - 05 00 00 punpcklbw xmm0, XMMWORD PTR gxb$29[rbp] - 002da 66 0f 7f 85 a0 - 05 00 00 movdqa XMMWORD PTR t0$30[rbp], xmm0 - -; 3671 : __m128i t1 = _mm_unpackhi_epi8(brb, gxb); - - 002e2 66 0f 6f 85 40 - 05 00 00 movdqa xmm0, XMMWORD PTR brb$28[rbp] - 002ea 66 0f 68 85 70 - 05 00 00 punpckhbw xmm0, XMMWORD PTR gxb$29[rbp] - 002f2 66 0f 7f 85 d0 - 05 00 00 movdqa XMMWORD PTR t1$31[rbp], xmm0 - -; 3672 : __m128i o0 = _mm_unpacklo_epi16(t0, t1); - - 002fa 66 0f 6f 85 a0 - 05 00 00 movdqa xmm0, XMMWORD PTR t0$30[rbp] - 00302 66 0f 61 85 d0 - 05 00 00 punpcklwd xmm0, XMMWORD PTR t1$31[rbp] - 0030a 66 0f 7f 85 00 - 06 00 00 movdqa XMMWORD PTR o0$32[rbp], xmm0 - -; 3673 : __m128i o1 = _mm_unpackhi_epi16(t0, t1); - - 00312 66 0f 6f 85 a0 - 05 00 00 movdqa xmm0, XMMWORD PTR t0$30[rbp] - 0031a 66 0f 69 85 d0 - 05 00 00 punpckhwd xmm0, XMMWORD PTR t1$31[rbp] - 00322 66 0f 7f 85 30 - 06 00 00 movdqa XMMWORD PTR o1$33[rbp], xmm0 - -; 3674 : -; 3675 : // store -; 3676 : _mm_storeu_si128((__m128i *)(out + 0), o0); - - 0032a 48 8b 85 30 0a - 00 00 mov rax, QWORD PTR out$[rbp] - 00331 66 0f 6f 85 00 - 06 00 00 movdqa xmm0, XMMWORD PTR o0$32[rbp] - 00339 f3 0f 7f 00 movdqu XMMWORD PTR [rax], xmm0 - -; 3677 : _mm_storeu_si128((__m128i *)(out + 16), o1); - - 0033d 48 8b 85 30 0a - 00 00 mov rax, QWORD PTR out$[rbp] - 00344 48 83 c0 10 add rax, 16 - 00348 66 0f 6f 85 30 - 06 00 00 movdqa xmm0, XMMWORD PTR o1$33[rbp] - 00350 f3 0f 7f 00 movdqu XMMWORD PTR [rax], xmm0 - -; 3678 : out += 32; - - 00354 48 8b 85 30 0a - 00 00 mov rax, QWORD PTR out$[rbp] - 0035b 48 83 c0 20 add rax, 32 ; 00000020H - 0035f 48 89 85 30 0a - 00 00 mov QWORD PTR out$[rbp], rax - -; 3679 : } - - 00366 e9 44 fd ff ff jmp $LN2@stbi__YCbC -$LN3@stbi__YCbC: -$LN8@stbi__YCbC: - -; 3680 : } -; 3681 : #endif -; 3682 : -; 3683 : #ifdef STBI_NEON -; 3684 : // in this version, step=3 support would be easy to add. but is there demand? -; 3685 : if (step == 4) { -; 3686 : // this is a fairly straightforward implementation and not super-optimized. -; 3687 : uint8x8_t signflip = vdup_n_u8(0x80); -; 3688 : int16x8_t cr_const0 = vdupq_n_s16((short)(1.40200f * 4096.0f + 0.5f)); -; 3689 : int16x8_t cr_const1 = vdupq_n_s16(-(short)(0.71414f * 4096.0f + 0.5f)); -; 3690 : int16x8_t cb_const0 = vdupq_n_s16(-(short)(0.34414f * 4096.0f + 0.5f)); -; 3691 : int16x8_t cb_const1 = vdupq_n_s16((short)(1.77200f * 4096.0f + 0.5f)); -; 3692 : -; 3693 : for (; i + 7 < count; i += 8) { -; 3694 : // load -; 3695 : uint8x8_t y_bytes = vld1_u8(y + i); -; 3696 : uint8x8_t cr_bytes = vld1_u8(pcr + i); -; 3697 : uint8x8_t cb_bytes = vld1_u8(pcb + i); -; 3698 : int8x8_t cr_biased = vreinterpret_s8_u8(vsub_u8(cr_bytes, signflip)); -; 3699 : int8x8_t cb_biased = vreinterpret_s8_u8(vsub_u8(cb_bytes, signflip)); -; 3700 : -; 3701 : // expand to s16 -; 3702 : int16x8_t yws = vreinterpretq_s16_u16(vshll_n_u8(y_bytes, 4)); -; 3703 : int16x8_t crw = vshll_n_s8(cr_biased, 7); -; 3704 : int16x8_t cbw = vshll_n_s8(cb_biased, 7); -; 3705 : -; 3706 : // color transform -; 3707 : int16x8_t cr0 = vqdmulhq_s16(crw, cr_const0); -; 3708 : int16x8_t cb0 = vqdmulhq_s16(cbw, cb_const0); -; 3709 : int16x8_t cr1 = vqdmulhq_s16(crw, cr_const1); -; 3710 : int16x8_t cb1 = vqdmulhq_s16(cbw, cb_const1); -; 3711 : int16x8_t rws = vaddq_s16(yws, cr0); -; 3712 : int16x8_t gws = vaddq_s16(vaddq_s16(yws, cb0), cr1); -; 3713 : int16x8_t bws = vaddq_s16(yws, cb1); -; 3714 : -; 3715 : // undo scaling, round, convert to byte -; 3716 : uint8x8x4_t o; -; 3717 : o.val[0] = vqrshrun_n_s16(rws, 4); -; 3718 : o.val[1] = vqrshrun_n_s16(gws, 4); -; 3719 : o.val[2] = vqrshrun_n_s16(bws, 4); -; 3720 : o.val[3] = vdup_n_u8(255); -; 3721 : -; 3722 : // store, interleaving r/g/b/a -; 3723 : vst4_u8(out, o); -; 3724 : out += 8 * 4; -; 3725 : } -; 3726 : } -; 3727 : #endif -; 3728 : -; 3729 : for (; i < count; ++i) { - - 0036b eb 08 jmp SHORT $LN7@stbi__YCbC -$LN5@stbi__YCbC: - 0036d 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00370 ff c0 inc eax - 00372 89 45 04 mov DWORD PTR i$[rbp], eax -$LN7@stbi__YCbC: - 00375 8b 85 50 0a 00 - 00 mov eax, DWORD PTR count$[rbp] - 0037b 39 45 04 cmp DWORD PTR i$[rbp], eax - 0037e 0f 8d e1 01 00 - 00 jge $LN6@stbi__YCbC - -; 3730 : int y_fixed = (y[i] << 20) + (1 << 19); // rounding - - 00384 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 00388 48 8b 8d 38 0a - 00 00 mov rcx, QWORD PTR y$[rbp] - 0038f 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00393 c1 e0 14 shl eax, 20 - 00396 05 00 00 08 00 add eax, 524288 ; 00080000H - 0039b 89 85 54 06 00 - 00 mov DWORD PTR y_fixed$34[rbp], eax - -; 3731 : int r, g, b; -; 3732 : int cr = pcr[i] - 128; - - 003a1 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 003a5 48 8b 8d 48 0a - 00 00 mov rcx, QWORD PTR pcr$[rbp] - 003ac 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 003b0 2d 80 00 00 00 sub eax, 128 ; 00000080H - 003b5 89 85 d4 06 00 - 00 mov DWORD PTR cr$38[rbp], eax - -; 3733 : int cb = pcb[i] - 128; - - 003bb 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 003bf 48 8b 8d 40 0a - 00 00 mov rcx, QWORD PTR pcb$[rbp] - 003c6 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 003ca 2d 80 00 00 00 sub eax, 128 ; 00000080H - 003cf 89 85 f4 06 00 - 00 mov DWORD PTR cb$39[rbp], eax - -; 3734 : r = y_fixed + cr * stbi__float2fixed(1.40200f); - - 003d5 69 85 d4 06 00 - 00 00 6f 16 00 imul eax, DWORD PTR cr$38[rbp], 1470208 ; 00166f00H - 003df 8b 8d 54 06 00 - 00 mov ecx, DWORD PTR y_fixed$34[rbp] - 003e5 03 c8 add ecx, eax - 003e7 8b c1 mov eax, ecx - 003e9 89 85 74 06 00 - 00 mov DWORD PTR r$35[rbp], eax - -; 3735 : g = y_fixed + cr * -stbi__float2fixed(0.71414f) + - - 003ef 69 85 d4 06 00 - 00 00 93 f4 ff imul eax, DWORD PTR cr$38[rbp], -748800 ; fffffffffff49300H - 003f9 8b 8d 54 06 00 - 00 mov ecx, DWORD PTR y_fixed$34[rbp] - 003ff 03 c8 add ecx, eax - 00401 8b c1 mov eax, ecx - 00403 69 8d f4 06 00 - 00 00 7e fa ff imul ecx, DWORD PTR cb$39[rbp], -360960 ; fffffffffffa7e00H - 0040d 81 e1 00 00 ff - ff and ecx, -65536 ; ffff0000H - 00413 03 c1 add eax, ecx - 00415 89 85 94 06 00 - 00 mov DWORD PTR g$36[rbp], eax - -; 3736 : ((cb * -stbi__float2fixed(0.34414f)) & 0xffff0000); -; 3737 : b = y_fixed + cb * stbi__float2fixed(1.77200f); - - 0041b 69 85 f4 06 00 - 00 00 5a 1c 00 imul eax, DWORD PTR cb$39[rbp], 1858048 ; 001c5a00H - 00425 8b 8d 54 06 00 - 00 mov ecx, DWORD PTR y_fixed$34[rbp] - 0042b 03 c8 add ecx, eax - 0042d 8b c1 mov eax, ecx - 0042f 89 85 b4 06 00 - 00 mov DWORD PTR b$37[rbp], eax - -; 3738 : r >>= 20; - - 00435 8b 85 74 06 00 - 00 mov eax, DWORD PTR r$35[rbp] - 0043b c1 f8 14 sar eax, 20 - 0043e 89 85 74 06 00 - 00 mov DWORD PTR r$35[rbp], eax - -; 3739 : g >>= 20; - - 00444 8b 85 94 06 00 - 00 mov eax, DWORD PTR g$36[rbp] - 0044a c1 f8 14 sar eax, 20 - 0044d 89 85 94 06 00 - 00 mov DWORD PTR g$36[rbp], eax - -; 3740 : b >>= 20; - - 00453 8b 85 b4 06 00 - 00 mov eax, DWORD PTR b$37[rbp] - 00459 c1 f8 14 sar eax, 20 - 0045c 89 85 b4 06 00 - 00 mov DWORD PTR b$37[rbp], eax - -; 3741 : if ((unsigned)r > 255) { - - 00462 81 bd 74 06 00 - 00 ff 00 00 00 cmp DWORD PTR r$35[rbp], 255 ; 000000ffH - 0046c 76 1f jbe SHORT $LN9@stbi__YCbC - -; 3742 : if (r < 0) - - 0046e 83 bd 74 06 00 - 00 00 cmp DWORD PTR r$35[rbp], 0 - 00475 7d 0c jge SHORT $LN10@stbi__YCbC - -; 3743 : r = 0; - - 00477 c7 85 74 06 00 - 00 00 00 00 00 mov DWORD PTR r$35[rbp], 0 - 00481 eb 0a jmp SHORT $LN11@stbi__YCbC -$LN10@stbi__YCbC: - -; 3744 : else -; 3745 : r = 255; - - 00483 c7 85 74 06 00 - 00 ff 00 00 00 mov DWORD PTR r$35[rbp], 255 ; 000000ffH -$LN11@stbi__YCbC: -$LN9@stbi__YCbC: - -; 3746 : } -; 3747 : if ((unsigned)g > 255) { - - 0048d 81 bd 94 06 00 - 00 ff 00 00 00 cmp DWORD PTR g$36[rbp], 255 ; 000000ffH - 00497 76 1f jbe SHORT $LN12@stbi__YCbC - -; 3748 : if (g < 0) - - 00499 83 bd 94 06 00 - 00 00 cmp DWORD PTR g$36[rbp], 0 - 004a0 7d 0c jge SHORT $LN13@stbi__YCbC - -; 3749 : g = 0; - - 004a2 c7 85 94 06 00 - 00 00 00 00 00 mov DWORD PTR g$36[rbp], 0 - 004ac eb 0a jmp SHORT $LN14@stbi__YCbC -$LN13@stbi__YCbC: - -; 3750 : else -; 3751 : g = 255; - - 004ae c7 85 94 06 00 - 00 ff 00 00 00 mov DWORD PTR g$36[rbp], 255 ; 000000ffH -$LN14@stbi__YCbC: -$LN12@stbi__YCbC: - -; 3752 : } -; 3753 : if ((unsigned)b > 255) { - - 004b8 81 bd b4 06 00 - 00 ff 00 00 00 cmp DWORD PTR b$37[rbp], 255 ; 000000ffH - 004c2 76 1f jbe SHORT $LN15@stbi__YCbC - -; 3754 : if (b < 0) - - 004c4 83 bd b4 06 00 - 00 00 cmp DWORD PTR b$37[rbp], 0 - 004cb 7d 0c jge SHORT $LN16@stbi__YCbC - -; 3755 : b = 0; - - 004cd c7 85 b4 06 00 - 00 00 00 00 00 mov DWORD PTR b$37[rbp], 0 - 004d7 eb 0a jmp SHORT $LN17@stbi__YCbC -$LN16@stbi__YCbC: - -; 3756 : else -; 3757 : b = 255; - - 004d9 c7 85 b4 06 00 - 00 ff 00 00 00 mov DWORD PTR b$37[rbp], 255 ; 000000ffH -$LN17@stbi__YCbC: -$LN15@stbi__YCbC: - -; 3758 : } -; 3759 : out[0] = (stbi_uc)r; - - 004e3 b8 01 00 00 00 mov eax, 1 - 004e8 48 6b c0 00 imul rax, rax, 0 - 004ec 48 8b 8d 30 0a - 00 00 mov rcx, QWORD PTR out$[rbp] - 004f3 0f b6 95 74 06 - 00 00 movzx edx, BYTE PTR r$35[rbp] - 004fa 88 14 01 mov BYTE PTR [rcx+rax], dl - -; 3760 : out[1] = (stbi_uc)g; - - 004fd b8 01 00 00 00 mov eax, 1 - 00502 48 6b c0 01 imul rax, rax, 1 - 00506 48 8b 8d 30 0a - 00 00 mov rcx, QWORD PTR out$[rbp] - 0050d 0f b6 95 94 06 - 00 00 movzx edx, BYTE PTR g$36[rbp] - 00514 88 14 01 mov BYTE PTR [rcx+rax], dl - -; 3761 : out[2] = (stbi_uc)b; - - 00517 b8 01 00 00 00 mov eax, 1 - 0051c 48 6b c0 02 imul rax, rax, 2 - 00520 48 8b 8d 30 0a - 00 00 mov rcx, QWORD PTR out$[rbp] - 00527 0f b6 95 b4 06 - 00 00 movzx edx, BYTE PTR b$37[rbp] - 0052e 88 14 01 mov BYTE PTR [rcx+rax], dl - -; 3762 : out[3] = 255; - - 00531 b8 01 00 00 00 mov eax, 1 - 00536 48 6b c0 03 imul rax, rax, 3 - 0053a 48 8b 8d 30 0a - 00 00 mov rcx, QWORD PTR out$[rbp] - 00541 c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - -; 3763 : out += step; - - 00545 48 63 85 58 0a - 00 00 movsxd rax, DWORD PTR step$[rbp] - 0054c 48 8b 8d 30 0a - 00 00 mov rcx, QWORD PTR out$[rbp] - 00553 48 03 c8 add rcx, rax - 00556 48 8b c1 mov rax, rcx - 00559 48 89 85 30 0a - 00 00 mov QWORD PTR out$[rbp], rax - -; 3764 : } - - 00560 e9 08 fe ff ff jmp $LN5@stbi__YCbC -$LN6@stbi__YCbC: - -; 3765 : } - - 00565 48 8d a5 18 0a - 00 00 lea rsp, QWORD PTR [rbp+2584] - 0056c 5f pop rdi - 0056d 5d pop rbp - 0056e c3 ret 0 -stbi__YCbCr_to_RGB_simd ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__YCbCr_to_RGB_row -_TEXT SEGMENT -i$ = 4 -y_fixed$1 = 36 -r$2 = 68 -g$3 = 100 -b$4 = 132 -cr$5 = 164 -cb$6 = 196 -out$ = 448 -y$ = 456 -pcb$ = 464 -pcr$ = 472 -count$ = 480 -step$ = 488 -stbi__YCbCr_to_RGB_row PROC ; COMDAT - -; 3576 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec c8 01 - 00 00 sub rsp, 456 ; 000001c8H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 3577 : int i; -; 3578 : for (i = 0; i < count; ++i) { - - 0002f c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 00036 eb 08 jmp SHORT $LN4@stbi__YCbC -$LN2@stbi__YCbC: - 00038 8b 45 04 mov eax, DWORD PTR i$[rbp] - 0003b ff c0 inc eax - 0003d 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__YCbC: - 00040 8b 85 e0 01 00 - 00 mov eax, DWORD PTR count$[rbp] - 00046 39 45 04 cmp DWORD PTR i$[rbp], eax - 00049 0f 8d a5 01 00 - 00 jge $LN3@stbi__YCbC - -; 3579 : int y_fixed = (y[i] << 20) + (1 << 19); // rounding - - 0004f 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 00053 48 8b 8d c8 01 - 00 00 mov rcx, QWORD PTR y$[rbp] - 0005a 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0005e c1 e0 14 shl eax, 20 - 00061 05 00 00 08 00 add eax, 524288 ; 00080000H - 00066 89 45 24 mov DWORD PTR y_fixed$1[rbp], eax - -; 3580 : int r, g, b; -; 3581 : int cr = pcr[i] - 128; - - 00069 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 0006d 48 8b 8d d8 01 - 00 00 mov rcx, QWORD PTR pcr$[rbp] - 00074 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00078 2d 80 00 00 00 sub eax, 128 ; 00000080H - 0007d 89 85 a4 00 00 - 00 mov DWORD PTR cr$5[rbp], eax - -; 3582 : int cb = pcb[i] - 128; - - 00083 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 00087 48 8b 8d d0 01 - 00 00 mov rcx, QWORD PTR pcb$[rbp] - 0008e 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00092 2d 80 00 00 00 sub eax, 128 ; 00000080H - 00097 89 85 c4 00 00 - 00 mov DWORD PTR cb$6[rbp], eax - -; 3583 : r = y_fixed + cr * stbi__float2fixed(1.40200f); - - 0009d 69 85 a4 00 00 - 00 00 6f 16 00 imul eax, DWORD PTR cr$5[rbp], 1470208 ; 00166f00H - 000a7 8b 4d 24 mov ecx, DWORD PTR y_fixed$1[rbp] - 000aa 03 c8 add ecx, eax - 000ac 8b c1 mov eax, ecx - 000ae 89 45 44 mov DWORD PTR r$2[rbp], eax - -; 3584 : g = y_fixed + (cr * -stbi__float2fixed(0.71414f)) + - - 000b1 69 85 a4 00 00 - 00 00 93 f4 ff imul eax, DWORD PTR cr$5[rbp], -748800 ; fffffffffff49300H - 000bb 8b 4d 24 mov ecx, DWORD PTR y_fixed$1[rbp] - 000be 03 c8 add ecx, eax - 000c0 8b c1 mov eax, ecx - 000c2 69 8d c4 00 00 - 00 00 7e fa ff imul ecx, DWORD PTR cb$6[rbp], -360960 ; fffffffffffa7e00H - 000cc 81 e1 00 00 ff - ff and ecx, -65536 ; ffff0000H - 000d2 03 c1 add eax, ecx - 000d4 89 45 64 mov DWORD PTR g$3[rbp], eax - -; 3585 : ((cb * -stbi__float2fixed(0.34414f)) & 0xffff0000); -; 3586 : b = y_fixed + cb * stbi__float2fixed(1.77200f); - - 000d7 69 85 c4 00 00 - 00 00 5a 1c 00 imul eax, DWORD PTR cb$6[rbp], 1858048 ; 001c5a00H - 000e1 8b 4d 24 mov ecx, DWORD PTR y_fixed$1[rbp] - 000e4 03 c8 add ecx, eax - 000e6 8b c1 mov eax, ecx - 000e8 89 85 84 00 00 - 00 mov DWORD PTR b$4[rbp], eax - -; 3587 : r >>= 20; - - 000ee 8b 45 44 mov eax, DWORD PTR r$2[rbp] - 000f1 c1 f8 14 sar eax, 20 - 000f4 89 45 44 mov DWORD PTR r$2[rbp], eax - -; 3588 : g >>= 20; - - 000f7 8b 45 64 mov eax, DWORD PTR g$3[rbp] - 000fa c1 f8 14 sar eax, 20 - 000fd 89 45 64 mov DWORD PTR g$3[rbp], eax - -; 3589 : b >>= 20; - - 00100 8b 85 84 00 00 - 00 mov eax, DWORD PTR b$4[rbp] - 00106 c1 f8 14 sar eax, 20 - 00109 89 85 84 00 00 - 00 mov DWORD PTR b$4[rbp], eax - -; 3590 : if ((unsigned)r > 255) { - - 0010f 81 7d 44 ff 00 - 00 00 cmp DWORD PTR r$2[rbp], 255 ; 000000ffH - 00116 76 16 jbe SHORT $LN5@stbi__YCbC - -; 3591 : if (r < 0) - - 00118 83 7d 44 00 cmp DWORD PTR r$2[rbp], 0 - 0011c 7d 09 jge SHORT $LN6@stbi__YCbC - -; 3592 : r = 0; - - 0011e c7 45 44 00 00 - 00 00 mov DWORD PTR r$2[rbp], 0 - 00125 eb 07 jmp SHORT $LN7@stbi__YCbC -$LN6@stbi__YCbC: - -; 3593 : else -; 3594 : r = 255; - - 00127 c7 45 44 ff 00 - 00 00 mov DWORD PTR r$2[rbp], 255 ; 000000ffH -$LN7@stbi__YCbC: -$LN5@stbi__YCbC: - -; 3595 : } -; 3596 : if ((unsigned)g > 255) { - - 0012e 81 7d 64 ff 00 - 00 00 cmp DWORD PTR g$3[rbp], 255 ; 000000ffH - 00135 76 16 jbe SHORT $LN8@stbi__YCbC - -; 3597 : if (g < 0) - - 00137 83 7d 64 00 cmp DWORD PTR g$3[rbp], 0 - 0013b 7d 09 jge SHORT $LN9@stbi__YCbC - -; 3598 : g = 0; - - 0013d c7 45 64 00 00 - 00 00 mov DWORD PTR g$3[rbp], 0 - 00144 eb 07 jmp SHORT $LN10@stbi__YCbC -$LN9@stbi__YCbC: - -; 3599 : else -; 3600 : g = 255; - - 00146 c7 45 64 ff 00 - 00 00 mov DWORD PTR g$3[rbp], 255 ; 000000ffH -$LN10@stbi__YCbC: -$LN8@stbi__YCbC: - -; 3601 : } -; 3602 : if ((unsigned)b > 255) { - - 0014d 81 bd 84 00 00 - 00 ff 00 00 00 cmp DWORD PTR b$4[rbp], 255 ; 000000ffH - 00157 76 1f jbe SHORT $LN11@stbi__YCbC - -; 3603 : if (b < 0) - - 00159 83 bd 84 00 00 - 00 00 cmp DWORD PTR b$4[rbp], 0 - 00160 7d 0c jge SHORT $LN12@stbi__YCbC - -; 3604 : b = 0; - - 00162 c7 85 84 00 00 - 00 00 00 00 00 mov DWORD PTR b$4[rbp], 0 - 0016c eb 0a jmp SHORT $LN13@stbi__YCbC -$LN12@stbi__YCbC: - -; 3605 : else -; 3606 : b = 255; - - 0016e c7 85 84 00 00 - 00 ff 00 00 00 mov DWORD PTR b$4[rbp], 255 ; 000000ffH -$LN13@stbi__YCbC: -$LN11@stbi__YCbC: - -; 3607 : } -; 3608 : out[0] = (stbi_uc)r; - - 00178 b8 01 00 00 00 mov eax, 1 - 0017d 48 6b c0 00 imul rax, rax, 0 - 00181 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR out$[rbp] - 00188 0f b6 55 44 movzx edx, BYTE PTR r$2[rbp] - 0018c 88 14 01 mov BYTE PTR [rcx+rax], dl - -; 3609 : out[1] = (stbi_uc)g; - - 0018f b8 01 00 00 00 mov eax, 1 - 00194 48 6b c0 01 imul rax, rax, 1 - 00198 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR out$[rbp] - 0019f 0f b6 55 64 movzx edx, BYTE PTR g$3[rbp] - 001a3 88 14 01 mov BYTE PTR [rcx+rax], dl - -; 3610 : out[2] = (stbi_uc)b; - - 001a6 b8 01 00 00 00 mov eax, 1 - 001ab 48 6b c0 02 imul rax, rax, 2 - 001af 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR out$[rbp] - 001b6 0f b6 95 84 00 - 00 00 movzx edx, BYTE PTR b$4[rbp] - 001bd 88 14 01 mov BYTE PTR [rcx+rax], dl - -; 3611 : out[3] = 255; - - 001c0 b8 01 00 00 00 mov eax, 1 - 001c5 48 6b c0 03 imul rax, rax, 3 - 001c9 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR out$[rbp] - 001d0 c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - -; 3612 : out += step; - - 001d4 48 63 85 e8 01 - 00 00 movsxd rax, DWORD PTR step$[rbp] - 001db 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR out$[rbp] - 001e2 48 03 c8 add rcx, rax - 001e5 48 8b c1 mov rax, rcx - 001e8 48 89 85 c0 01 - 00 00 mov QWORD PTR out$[rbp], rax - -; 3613 : } - - 001ef e9 44 fe ff ff jmp $LN2@stbi__YCbC -$LN3@stbi__YCbC: - -; 3614 : } - - 001f4 48 8d a5 a8 01 - 00 00 lea rsp, QWORD PTR [rbp+424] - 001fb 5f pop rdi - 001fc 5d pop rbp - 001fd c3 ret 0 -stbi__YCbCr_to_RGB_row ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__resample_row_generic -_TEXT SEGMENT -i$ = 4 -j$ = 36 -out$ = 288 -in_near$ = 296 -in_far$ = 304 -w$ = 312 -hs$ = 320 -stbi__resample_row_generic PROC ; COMDAT - -; 3561 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 28 01 - 00 00 sub rsp, 296 ; 00000128H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 3562 : // resample with nearest-neighbor -; 3563 : int i, j; -; 3564 : STBI_NOTUSED(in_far); -; 3565 : for (i = 0; i < w; ++i) - - 0002f c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 00036 eb 08 jmp SHORT $LN4@stbi__resa -$LN2@stbi__resa: - 00038 8b 45 04 mov eax, DWORD PTR i$[rbp] - 0003b ff c0 inc eax - 0003d 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__resa: - 00040 8b 85 38 01 00 - 00 mov eax, DWORD PTR w$[rbp] - 00046 39 45 04 cmp DWORD PTR i$[rbp], eax - 00049 7d 4a jge SHORT $LN3@stbi__resa - -; 3566 : for (j = 0; j < hs; ++j) - - 0004b c7 45 24 00 00 - 00 00 mov DWORD PTR j$[rbp], 0 - 00052 eb 08 jmp SHORT $LN7@stbi__resa -$LN5@stbi__resa: - 00054 8b 45 24 mov eax, DWORD PTR j$[rbp] - 00057 ff c0 inc eax - 00059 89 45 24 mov DWORD PTR j$[rbp], eax -$LN7@stbi__resa: - 0005c 8b 85 40 01 00 - 00 mov eax, DWORD PTR hs$[rbp] - 00062 39 45 24 cmp DWORD PTR j$[rbp], eax - 00065 7d 2c jge SHORT $LN6@stbi__resa - -; 3567 : out[i * hs + j] = in_near[i]; - - 00067 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 0006b 8b 4d 04 mov ecx, DWORD PTR i$[rbp] - 0006e 0f af 8d 40 01 - 00 00 imul ecx, DWORD PTR hs$[rbp] - 00075 03 4d 24 add ecx, DWORD PTR j$[rbp] - 00078 48 63 c9 movsxd rcx, ecx - 0007b 48 8b 95 20 01 - 00 00 mov rdx, QWORD PTR out$[rbp] - 00082 4c 8b 85 28 01 - 00 00 mov r8, QWORD PTR in_near$[rbp] - 00089 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 0008e 88 04 0a mov BYTE PTR [rdx+rcx], al - 00091 eb c1 jmp SHORT $LN5@stbi__resa -$LN6@stbi__resa: - 00093 eb a3 jmp SHORT $LN2@stbi__resa -$LN3@stbi__resa: - -; 3568 : return out; - - 00095 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR out$[rbp] - -; 3569 : } - - 0009c 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 000a3 5f pop rdi - 000a4 5d pop rbp - 000a5 c3 ret 0 -stbi__resample_row_generic ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__resample_row_hv_2_simd -_TEXT SEGMENT -i$ = 4 -t0$ = 36 -t1$ = 68 -zero$1 = 112 -farb$2 = 160 -nearb$3 = 208 -farw$4 = 256 -nearw$5 = 304 -diff$6 = 352 -nears$7 = 400 -curr$8 = 448 -prv0$9 = 496 -nxt0$10 = 544 -prev$11 = 592 -next$12 = 640 -bias$13 = 688 -curs$14 = 736 -prvd$15 = 784 -nxtd$16 = 832 -curb$17 = 880 -even$18 = 928 -odd$19 = 976 -int0$20 = 1024 -int1$21 = 1072 -de0$22 = 1120 -de1$23 = 1168 -outv$24 = 1216 -tv78 = 1812 -out$ = 1856 -in_near$ = 1864 -in_far$ = 1872 -w$ = 1880 -hs$ = 1888 -stbi__resample_row_hv_2_simd PROC ; COMDAT - -; 3444 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 48 07 - 00 00 sub rsp, 1864 ; 00000748H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 3445 : // need to generate 2x2 samples for every one in input -; 3446 : int i = 0, t0, t1; - - 0002f c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - -; 3447 : -; 3448 : if (w == 1) { - - 00036 83 bd 58 07 00 - 00 01 cmp DWORD PTR w$[rbp], 1 - 0003d 75 78 jne SHORT $LN8@stbi__resa - -; 3449 : out[0] = out[1] = stbi__div4(3 * in_near[0] + in_far[0] + 2); - - 0003f b8 01 00 00 00 mov eax, 1 - 00044 48 6b c0 00 imul rax, rax, 0 - 00048 48 8b 8d 48 07 - 00 00 mov rcx, QWORD PTR in_near$[rbp] - 0004f 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00053 6b c0 03 imul eax, eax, 3 - 00056 b9 01 00 00 00 mov ecx, 1 - 0005b 48 6b c9 00 imul rcx, rcx, 0 - 0005f 48 8b 95 50 07 - 00 00 mov rdx, QWORD PTR in_far$[rbp] - 00066 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 0006a 8d 44 08 02 lea eax, DWORD PTR [rax+rcx+2] - 0006e c1 f8 02 sar eax, 2 - 00071 89 85 14 07 00 - 00 mov DWORD PTR tv78[rbp], eax - 00077 b8 01 00 00 00 mov eax, 1 - 0007c 48 6b c0 01 imul rax, rax, 1 - 00080 48 8b 8d 40 07 - 00 00 mov rcx, QWORD PTR out$[rbp] - 00087 0f b6 95 14 07 - 00 00 movzx edx, BYTE PTR tv78[rbp] - 0008e 88 14 01 mov BYTE PTR [rcx+rax], dl - 00091 b8 01 00 00 00 mov eax, 1 - 00096 48 6b c0 00 imul rax, rax, 0 - 0009a 48 8b 8d 40 07 - 00 00 mov rcx, QWORD PTR out$[rbp] - 000a1 0f b6 95 14 07 - 00 00 movzx edx, BYTE PTR tv78[rbp] - 000a8 88 14 01 mov BYTE PTR [rcx+rax], dl - -; 3450 : return out; - - 000ab 48 8b 85 40 07 - 00 00 mov rax, QWORD PTR out$[rbp] - 000b2 e9 e8 03 00 00 jmp $LN1@stbi__resa -$LN8@stbi__resa: - -; 3451 : } -; 3452 : -; 3453 : t1 = 3 * in_near[0] + in_far[0]; - - 000b7 b8 01 00 00 00 mov eax, 1 - 000bc 48 6b c0 00 imul rax, rax, 0 - 000c0 48 8b 8d 48 07 - 00 00 mov rcx, QWORD PTR in_near$[rbp] - 000c7 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 000cb 6b c0 03 imul eax, eax, 3 - 000ce b9 01 00 00 00 mov ecx, 1 - 000d3 48 6b c9 00 imul rcx, rcx, 0 - 000d7 48 8b 95 50 07 - 00 00 mov rdx, QWORD PTR in_far$[rbp] - 000de 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 000e2 03 c1 add eax, ecx - 000e4 89 45 44 mov DWORD PTR t1$[rbp], eax - -; 3454 : // process groups of 8 pixels for as long as we can. -; 3455 : // note we can't handle the last pixel in a row in this loop -; 3456 : // because we need to handle the filter boundary conditions. -; 3457 : for (; i < ((w - 1) & ~7); i += 8) { - - 000e7 eb 09 jmp SHORT $LN4@stbi__resa -$LN2@stbi__resa: - 000e9 8b 45 04 mov eax, DWORD PTR i$[rbp] - 000ec 83 c0 08 add eax, 8 - 000ef 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__resa: - 000f2 8b 85 58 07 00 - 00 mov eax, DWORD PTR w$[rbp] - 000f8 ff c8 dec eax - 000fa 83 e0 f8 and eax, -8 - 000fd 39 45 04 cmp DWORD PTR i$[rbp], eax - 00100 0f 8d 96 02 00 - 00 jge $LN3@stbi__resa - -; 3458 : #if defined(STBI_SSE2) -; 3459 : // load and perform the vertical filtering pass -; 3460 : // this uses 3*x + y = 4*x + (y - x) -; 3461 : __m128i zero = _mm_setzero_si128(); - - 00106 66 0f ef c0 pxor xmm0, xmm0 - 0010a 66 0f 7f 45 70 movdqa XMMWORD PTR zero$1[rbp], xmm0 - -; 3462 : __m128i farb = _mm_loadl_epi64((__m128i *)(in_far + i)); - - 0010f 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 00113 48 8b 8d 50 07 - 00 00 mov rcx, QWORD PTR in_far$[rbp] - 0011a 48 03 c8 add rcx, rax - 0011d 48 8b c1 mov rax, rcx - 00120 f3 0f 7e 00 movq xmm0, QWORD PTR [rax] - 00124 66 0f 7f 85 a0 - 00 00 00 movdqa XMMWORD PTR farb$2[rbp], xmm0 - -; 3463 : __m128i nearb = _mm_loadl_epi64((__m128i *)(in_near + i)); - - 0012c 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 00130 48 8b 8d 48 07 - 00 00 mov rcx, QWORD PTR in_near$[rbp] - 00137 48 03 c8 add rcx, rax - 0013a 48 8b c1 mov rax, rcx - 0013d f3 0f 7e 00 movq xmm0, QWORD PTR [rax] - 00141 66 0f 7f 85 d0 - 00 00 00 movdqa XMMWORD PTR nearb$3[rbp], xmm0 - -; 3464 : __m128i farw = _mm_unpacklo_epi8(farb, zero); - - 00149 66 0f 6f 85 a0 - 00 00 00 movdqa xmm0, XMMWORD PTR farb$2[rbp] - 00151 66 0f 60 45 70 punpcklbw xmm0, XMMWORD PTR zero$1[rbp] - 00156 66 0f 7f 85 00 - 01 00 00 movdqa XMMWORD PTR farw$4[rbp], xmm0 - -; 3465 : __m128i nearw = _mm_unpacklo_epi8(nearb, zero); - - 0015e 66 0f 6f 85 d0 - 00 00 00 movdqa xmm0, XMMWORD PTR nearb$3[rbp] - 00166 66 0f 60 45 70 punpcklbw xmm0, XMMWORD PTR zero$1[rbp] - 0016b 66 0f 7f 85 30 - 01 00 00 movdqa XMMWORD PTR nearw$5[rbp], xmm0 - -; 3466 : __m128i diff = _mm_sub_epi16(farw, nearw); - - 00173 66 0f 6f 85 00 - 01 00 00 movdqa xmm0, XMMWORD PTR farw$4[rbp] - 0017b 66 0f f9 85 30 - 01 00 00 psubw xmm0, XMMWORD PTR nearw$5[rbp] - 00183 66 0f 7f 85 60 - 01 00 00 movdqa XMMWORD PTR diff$6[rbp], xmm0 - -; 3467 : __m128i nears = _mm_slli_epi16(nearw, 2); - - 0018b 66 0f 6f 85 30 - 01 00 00 movdqa xmm0, XMMWORD PTR nearw$5[rbp] - 00193 66 0f 71 f0 02 psllw xmm0, 2 - 00198 66 0f 7f 85 90 - 01 00 00 movdqa XMMWORD PTR nears$7[rbp], xmm0 - -; 3468 : __m128i curr = _mm_add_epi16(nears, diff); // current row - - 001a0 66 0f 6f 85 90 - 01 00 00 movdqa xmm0, XMMWORD PTR nears$7[rbp] - 001a8 66 0f fd 85 60 - 01 00 00 paddw xmm0, XMMWORD PTR diff$6[rbp] - 001b0 66 0f 7f 85 c0 - 01 00 00 movdqa XMMWORD PTR curr$8[rbp], xmm0 - -; 3469 : -; 3470 : // horizontal filter works the same based on shifted vers of current -; 3471 : // row. "prev" is current row shifted right by 1 pixel; we need to -; 3472 : // insert the previous pixel value (from t1). -; 3473 : // "next" is current row shifted left by 1 pixel, with first pixel -; 3474 : // of next block of 8 pixels added in. -; 3475 : __m128i prv0 = _mm_slli_si128(curr, 2); - - 001b8 66 0f 6f 85 c0 - 01 00 00 movdqa xmm0, XMMWORD PTR curr$8[rbp] - 001c0 66 0f 73 f8 02 pslldq xmm0, 2 - 001c5 66 0f 7f 85 f0 - 01 00 00 movdqa XMMWORD PTR prv0$9[rbp], xmm0 - -; 3476 : __m128i nxt0 = _mm_srli_si128(curr, 2); - - 001cd 66 0f 6f 85 c0 - 01 00 00 movdqa xmm0, XMMWORD PTR curr$8[rbp] - 001d5 66 0f 73 d8 02 psrldq xmm0, 2 - 001da 66 0f 7f 85 20 - 02 00 00 movdqa XMMWORD PTR nxt0$10[rbp], xmm0 - -; 3477 : __m128i prev = _mm_insert_epi16(prv0, t1, 0); - - 001e2 66 0f 6f 85 f0 - 01 00 00 movdqa xmm0, XMMWORD PTR prv0$9[rbp] - 001ea 66 0f c4 45 44 - 00 pinsrw xmm0, DWORD PTR t1$[rbp], 0 - 001f0 66 0f 7f 85 50 - 02 00 00 movdqa XMMWORD PTR prev$11[rbp], xmm0 - -; 3478 : __m128i next = _mm_insert_epi16(nxt0, 3 * in_near[i + 8] + in_far[i + 8], 7); - - 001f8 8b 45 04 mov eax, DWORD PTR i$[rbp] - 001fb 83 c0 08 add eax, 8 - 001fe 48 98 cdqe - 00200 48 8b 8d 48 07 - 00 00 mov rcx, QWORD PTR in_near$[rbp] - 00207 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0020b 6b c0 03 imul eax, eax, 3 - 0020e 8b 4d 04 mov ecx, DWORD PTR i$[rbp] - 00211 83 c1 08 add ecx, 8 - 00214 48 63 c9 movsxd rcx, ecx - 00217 48 8b 95 50 07 - 00 00 mov rdx, QWORD PTR in_far$[rbp] - 0021e 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 00222 03 c1 add eax, ecx - 00224 66 0f 6f 85 20 - 02 00 00 movdqa xmm0, XMMWORD PTR nxt0$10[rbp] - 0022c 66 0f c4 c0 07 pinsrw xmm0, eax, 7 - 00231 66 0f 7f 85 80 - 02 00 00 movdqa XMMWORD PTR next$12[rbp], xmm0 - -; 3479 : -; 3480 : // horizontal filter, polyphase implementation since it's convenient: -; 3481 : // even pixels = 3*cur + prev = cur*4 + (prev - cur) -; 3482 : // odd pixels = 3*cur + next = cur*4 + (next - cur) -; 3483 : // note the shared term. -; 3484 : __m128i bias = _mm_set1_epi16(8); - - 00239 66 0f 6f 05 00 - 00 00 00 movdqa xmm0, XMMWORD PTR __xmm@00080008000800080008000800080008 - 00241 66 0f 7f 85 b0 - 02 00 00 movdqa XMMWORD PTR bias$13[rbp], xmm0 - -; 3485 : __m128i curs = _mm_slli_epi16(curr, 2); - - 00249 66 0f 6f 85 c0 - 01 00 00 movdqa xmm0, XMMWORD PTR curr$8[rbp] - 00251 66 0f 71 f0 02 psllw xmm0, 2 - 00256 66 0f 7f 85 e0 - 02 00 00 movdqa XMMWORD PTR curs$14[rbp], xmm0 - -; 3486 : __m128i prvd = _mm_sub_epi16(prev, curr); - - 0025e 66 0f 6f 85 50 - 02 00 00 movdqa xmm0, XMMWORD PTR prev$11[rbp] - 00266 66 0f f9 85 c0 - 01 00 00 psubw xmm0, XMMWORD PTR curr$8[rbp] - 0026e 66 0f 7f 85 10 - 03 00 00 movdqa XMMWORD PTR prvd$15[rbp], xmm0 - -; 3487 : __m128i nxtd = _mm_sub_epi16(next, curr); - - 00276 66 0f 6f 85 80 - 02 00 00 movdqa xmm0, XMMWORD PTR next$12[rbp] - 0027e 66 0f f9 85 c0 - 01 00 00 psubw xmm0, XMMWORD PTR curr$8[rbp] - 00286 66 0f 7f 85 40 - 03 00 00 movdqa XMMWORD PTR nxtd$16[rbp], xmm0 - -; 3488 : __m128i curb = _mm_add_epi16(curs, bias); - - 0028e 66 0f 6f 85 e0 - 02 00 00 movdqa xmm0, XMMWORD PTR curs$14[rbp] - 00296 66 0f fd 85 b0 - 02 00 00 paddw xmm0, XMMWORD PTR bias$13[rbp] - 0029e 66 0f 7f 85 70 - 03 00 00 movdqa XMMWORD PTR curb$17[rbp], xmm0 - -; 3489 : __m128i even = _mm_add_epi16(prvd, curb); - - 002a6 66 0f 6f 85 10 - 03 00 00 movdqa xmm0, XMMWORD PTR prvd$15[rbp] - 002ae 66 0f fd 85 70 - 03 00 00 paddw xmm0, XMMWORD PTR curb$17[rbp] - 002b6 66 0f 7f 85 a0 - 03 00 00 movdqa XMMWORD PTR even$18[rbp], xmm0 - -; 3490 : __m128i odd = _mm_add_epi16(nxtd, curb); - - 002be 66 0f 6f 85 40 - 03 00 00 movdqa xmm0, XMMWORD PTR nxtd$16[rbp] - 002c6 66 0f fd 85 70 - 03 00 00 paddw xmm0, XMMWORD PTR curb$17[rbp] - 002ce 66 0f 7f 85 d0 - 03 00 00 movdqa XMMWORD PTR odd$19[rbp], xmm0 - -; 3491 : -; 3492 : // interleave even and odd pixels, then undo scaling. -; 3493 : __m128i int0 = _mm_unpacklo_epi16(even, odd); - - 002d6 66 0f 6f 85 a0 - 03 00 00 movdqa xmm0, XMMWORD PTR even$18[rbp] - 002de 66 0f 61 85 d0 - 03 00 00 punpcklwd xmm0, XMMWORD PTR odd$19[rbp] - 002e6 66 0f 7f 85 00 - 04 00 00 movdqa XMMWORD PTR int0$20[rbp], xmm0 - -; 3494 : __m128i int1 = _mm_unpackhi_epi16(even, odd); - - 002ee 66 0f 6f 85 a0 - 03 00 00 movdqa xmm0, XMMWORD PTR even$18[rbp] - 002f6 66 0f 69 85 d0 - 03 00 00 punpckhwd xmm0, XMMWORD PTR odd$19[rbp] - 002fe 66 0f 7f 85 30 - 04 00 00 movdqa XMMWORD PTR int1$21[rbp], xmm0 - -; 3495 : __m128i de0 = _mm_srli_epi16(int0, 4); - - 00306 66 0f 6f 85 00 - 04 00 00 movdqa xmm0, XMMWORD PTR int0$20[rbp] - 0030e 66 0f 71 d0 04 psrlw xmm0, 4 - 00313 66 0f 7f 85 60 - 04 00 00 movdqa XMMWORD PTR de0$22[rbp], xmm0 - -; 3496 : __m128i de1 = _mm_srli_epi16(int1, 4); - - 0031b 66 0f 6f 85 30 - 04 00 00 movdqa xmm0, XMMWORD PTR int1$21[rbp] - 00323 66 0f 71 d0 04 psrlw xmm0, 4 - 00328 66 0f 7f 85 90 - 04 00 00 movdqa XMMWORD PTR de1$23[rbp], xmm0 - -; 3497 : -; 3498 : // pack and write output -; 3499 : __m128i outv = _mm_packus_epi16(de0, de1); - - 00330 66 0f 6f 85 60 - 04 00 00 movdqa xmm0, XMMWORD PTR de0$22[rbp] - 00338 66 0f 67 85 90 - 04 00 00 packuswb xmm0, XMMWORD PTR de1$23[rbp] - 00340 66 0f 7f 85 c0 - 04 00 00 movdqa XMMWORD PTR outv$24[rbp], xmm0 - -; 3500 : _mm_storeu_si128((__m128i *)(out + i * 2), outv); - - 00348 8b 45 04 mov eax, DWORD PTR i$[rbp] - 0034b 03 c0 add eax, eax - 0034d 48 98 cdqe - 0034f 48 8b 8d 40 07 - 00 00 mov rcx, QWORD PTR out$[rbp] - 00356 48 03 c8 add rcx, rax - 00359 48 8b c1 mov rax, rcx - 0035c 66 0f 6f 85 c0 - 04 00 00 movdqa xmm0, XMMWORD PTR outv$24[rbp] - 00364 f3 0f 7f 00 movdqu XMMWORD PTR [rax], xmm0 - -; 3501 : #elif defined(STBI_NEON) -; 3502 : // load and perform the vertical filtering pass -; 3503 : // this uses 3*x + y = 4*x + (y - x) -; 3504 : uint8x8_t farb = vld1_u8(in_far + i); -; 3505 : uint8x8_t nearb = vld1_u8(in_near + i); -; 3506 : int16x8_t diff = vreinterpretq_s16_u16(vsubl_u8(farb, nearb)); -; 3507 : int16x8_t nears = vreinterpretq_s16_u16(vshll_n_u8(nearb, 2)); -; 3508 : int16x8_t curr = vaddq_s16(nears, diff); // current row -; 3509 : -; 3510 : // horizontal filter works the same based on shifted vers of current -; 3511 : // row. "prev" is current row shifted right by 1 pixel; we need to -; 3512 : // insert the previous pixel value (from t1). -; 3513 : // "next" is current row shifted left by 1 pixel, with first pixel -; 3514 : // of next block of 8 pixels added in. -; 3515 : int16x8_t prv0 = vextq_s16(curr, curr, 7); -; 3516 : int16x8_t nxt0 = vextq_s16(curr, curr, 1); -; 3517 : int16x8_t prev = vsetq_lane_s16(t1, prv0, 0); -; 3518 : int16x8_t next = vsetq_lane_s16(3 * in_near[i + 8] + in_far[i + 8], nxt0, 7); -; 3519 : -; 3520 : // horizontal filter, polyphase implementation since it's convenient: -; 3521 : // even pixels = 3*cur + prev = cur*4 + (prev - cur) -; 3522 : // odd pixels = 3*cur + next = cur*4 + (next - cur) -; 3523 : // note the shared term. -; 3524 : int16x8_t curs = vshlq_n_s16(curr, 2); -; 3525 : int16x8_t prvd = vsubq_s16(prev, curr); -; 3526 : int16x8_t nxtd = vsubq_s16(next, curr); -; 3527 : int16x8_t even = vaddq_s16(curs, prvd); -; 3528 : int16x8_t odd = vaddq_s16(curs, nxtd); -; 3529 : -; 3530 : // undo scaling and round, then store with even/odd phases interleaved -; 3531 : uint8x8x2_t o; -; 3532 : o.val[0] = vqrshrun_n_s16(even, 4); -; 3533 : o.val[1] = vqrshrun_n_s16(odd, 4); -; 3534 : vst2_u8(out + i * 2, o); -; 3535 : #endif -; 3536 : -; 3537 : // "previous" value for next iter -; 3538 : t1 = 3 * in_near[i + 7] + in_far[i + 7]; - - 00368 8b 45 04 mov eax, DWORD PTR i$[rbp] - 0036b 83 c0 07 add eax, 7 - 0036e 48 98 cdqe - 00370 48 8b 8d 48 07 - 00 00 mov rcx, QWORD PTR in_near$[rbp] - 00377 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0037b 6b c0 03 imul eax, eax, 3 - 0037e 8b 4d 04 mov ecx, DWORD PTR i$[rbp] - 00381 83 c1 07 add ecx, 7 - 00384 48 63 c9 movsxd rcx, ecx - 00387 48 8b 95 50 07 - 00 00 mov rdx, QWORD PTR in_far$[rbp] - 0038e 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 00392 03 c1 add eax, ecx - 00394 89 45 44 mov DWORD PTR t1$[rbp], eax - -; 3539 : } - - 00397 e9 4d fd ff ff jmp $LN2@stbi__resa -$LN3@stbi__resa: - -; 3540 : -; 3541 : t0 = t1; - - 0039c 8b 45 44 mov eax, DWORD PTR t1$[rbp] - 0039f 89 45 24 mov DWORD PTR t0$[rbp], eax - -; 3542 : t1 = 3 * in_near[i] + in_far[i]; - - 003a2 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 003a6 48 8b 8d 48 07 - 00 00 mov rcx, QWORD PTR in_near$[rbp] - 003ad 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 003b1 6b c0 03 imul eax, eax, 3 - 003b4 48 63 4d 04 movsxd rcx, DWORD PTR i$[rbp] - 003b8 48 8b 95 50 07 - 00 00 mov rdx, QWORD PTR in_far$[rbp] - 003bf 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 003c3 03 c1 add eax, ecx - 003c5 89 45 44 mov DWORD PTR t1$[rbp], eax - -; 3543 : out[i * 2] = stbi__div16(3 * t1 + t0 + 8); - - 003c8 6b 45 44 03 imul eax, DWORD PTR t1$[rbp], 3 - 003cc 8b 4d 24 mov ecx, DWORD PTR t0$[rbp] - 003cf 8d 44 08 08 lea eax, DWORD PTR [rax+rcx+8] - 003d3 c1 f8 04 sar eax, 4 - 003d6 8b 4d 04 mov ecx, DWORD PTR i$[rbp] - 003d9 03 c9 add ecx, ecx - 003db 48 63 c9 movsxd rcx, ecx - 003de 48 8b 95 40 07 - 00 00 mov rdx, QWORD PTR out$[rbp] - 003e5 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3544 : -; 3545 : for (++i; i < w; ++i) { - - 003e8 8b 45 04 mov eax, DWORD PTR i$[rbp] - 003eb ff c0 inc eax - 003ed 89 45 04 mov DWORD PTR i$[rbp], eax - 003f0 eb 08 jmp SHORT $LN7@stbi__resa -$LN5@stbi__resa: - 003f2 8b 45 04 mov eax, DWORD PTR i$[rbp] - 003f5 ff c0 inc eax - 003f7 89 45 04 mov DWORD PTR i$[rbp], eax -$LN7@stbi__resa: - 003fa 8b 85 58 07 00 - 00 mov eax, DWORD PTR w$[rbp] - 00400 39 45 04 cmp DWORD PTR i$[rbp], eax - 00403 7d 73 jge SHORT $LN6@stbi__resa - -; 3546 : t0 = t1; - - 00405 8b 45 44 mov eax, DWORD PTR t1$[rbp] - 00408 89 45 24 mov DWORD PTR t0$[rbp], eax - -; 3547 : t1 = 3 * in_near[i] + in_far[i]; - - 0040b 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 0040f 48 8b 8d 48 07 - 00 00 mov rcx, QWORD PTR in_near$[rbp] - 00416 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0041a 6b c0 03 imul eax, eax, 3 - 0041d 48 63 4d 04 movsxd rcx, DWORD PTR i$[rbp] - 00421 48 8b 95 50 07 - 00 00 mov rdx, QWORD PTR in_far$[rbp] - 00428 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 0042c 03 c1 add eax, ecx - 0042e 89 45 44 mov DWORD PTR t1$[rbp], eax - -; 3548 : out[i * 2 - 1] = stbi__div16(3 * t0 + t1 + 8); - - 00431 6b 45 24 03 imul eax, DWORD PTR t0$[rbp], 3 - 00435 8b 4d 44 mov ecx, DWORD PTR t1$[rbp] - 00438 8d 44 08 08 lea eax, DWORD PTR [rax+rcx+8] - 0043c c1 f8 04 sar eax, 4 - 0043f 8b 4d 04 mov ecx, DWORD PTR i$[rbp] - 00442 8d 4c 09 ff lea ecx, DWORD PTR [rcx+rcx-1] - 00446 48 63 c9 movsxd rcx, ecx - 00449 48 8b 95 40 07 - 00 00 mov rdx, QWORD PTR out$[rbp] - 00450 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3549 : out[i * 2] = stbi__div16(3 * t1 + t0 + 8); - - 00453 6b 45 44 03 imul eax, DWORD PTR t1$[rbp], 3 - 00457 8b 4d 24 mov ecx, DWORD PTR t0$[rbp] - 0045a 8d 44 08 08 lea eax, DWORD PTR [rax+rcx+8] - 0045e c1 f8 04 sar eax, 4 - 00461 8b 4d 04 mov ecx, DWORD PTR i$[rbp] - 00464 d1 e1 shl ecx, 1 - 00466 48 63 c9 movsxd rcx, ecx - 00469 48 8b 95 40 07 - 00 00 mov rdx, QWORD PTR out$[rbp] - 00470 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3550 : } - - 00473 e9 7a ff ff ff jmp $LN5@stbi__resa -$LN6@stbi__resa: - -; 3551 : out[w * 2 - 1] = stbi__div4(t1 + 2); - - 00478 8b 45 44 mov eax, DWORD PTR t1$[rbp] - 0047b 83 c0 02 add eax, 2 - 0047e c1 f8 02 sar eax, 2 - 00481 8b 8d 58 07 00 - 00 mov ecx, DWORD PTR w$[rbp] - 00487 8d 4c 09 ff lea ecx, DWORD PTR [rcx+rcx-1] - 0048b 48 63 c9 movsxd rcx, ecx - 0048e 48 8b 95 40 07 - 00 00 mov rdx, QWORD PTR out$[rbp] - 00495 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3552 : -; 3553 : STBI_NOTUSED(hs); -; 3554 : -; 3555 : return out; - - 00498 48 8b 85 40 07 - 00 00 mov rax, QWORD PTR out$[rbp] -$LN1@stbi__resa: - -; 3556 : } - - 0049f 48 8d a5 28 07 - 00 00 lea rsp, QWORD PTR [rbp+1832] - 004a6 5f pop rdi - 004a7 5d pop rbp - 004a8 c3 ret 0 -stbi__resample_row_hv_2_simd ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__resample_row_hv_2 -_TEXT SEGMENT -i$ = 4 -t0$ = 36 -t1$ = 68 -tv78 = 276 -out$ = 320 -in_near$ = 328 -in_far$ = 336 -w$ = 344 -hs$ = 352 -stbi__resample_row_hv_2 PROC ; COMDAT - -; 3418 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 48 01 - 00 00 sub rsp, 328 ; 00000148H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 3419 : // need to generate 2x2 samples for every one in input -; 3420 : int i, t0, t1; -; 3421 : if (w == 1) { - - 0002f 83 bd 58 01 00 - 00 01 cmp DWORD PTR w$[rbp], 1 - 00036 75 78 jne SHORT $LN5@stbi__resa - -; 3422 : out[0] = out[1] = stbi__div4(3 * in_near[0] + in_far[0] + 2); - - 00038 b8 01 00 00 00 mov eax, 1 - 0003d 48 6b c0 00 imul rax, rax, 0 - 00041 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR in_near$[rbp] - 00048 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0004c 6b c0 03 imul eax, eax, 3 - 0004f b9 01 00 00 00 mov ecx, 1 - 00054 48 6b c9 00 imul rcx, rcx, 0 - 00058 48 8b 95 50 01 - 00 00 mov rdx, QWORD PTR in_far$[rbp] - 0005f 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 00063 8d 44 08 02 lea eax, DWORD PTR [rax+rcx+2] - 00067 c1 f8 02 sar eax, 2 - 0006a 89 85 14 01 00 - 00 mov DWORD PTR tv78[rbp], eax - 00070 b8 01 00 00 00 mov eax, 1 - 00075 48 6b c0 01 imul rax, rax, 1 - 00079 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR out$[rbp] - 00080 0f b6 95 14 01 - 00 00 movzx edx, BYTE PTR tv78[rbp] - 00087 88 14 01 mov BYTE PTR [rcx+rax], dl - 0008a b8 01 00 00 00 mov eax, 1 - 0008f 48 6b c0 00 imul rax, rax, 0 - 00093 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR out$[rbp] - 0009a 0f b6 95 14 01 - 00 00 movzx edx, BYTE PTR tv78[rbp] - 000a1 88 14 01 mov BYTE PTR [rcx+rax], dl - -; 3423 : return out; - - 000a4 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR out$[rbp] - 000ab e9 02 01 00 00 jmp $LN1@stbi__resa -$LN5@stbi__resa: - -; 3424 : } -; 3425 : -; 3426 : t1 = 3 * in_near[0] + in_far[0]; - - 000b0 b8 01 00 00 00 mov eax, 1 - 000b5 48 6b c0 00 imul rax, rax, 0 - 000b9 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR in_near$[rbp] - 000c0 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 000c4 6b c0 03 imul eax, eax, 3 - 000c7 b9 01 00 00 00 mov ecx, 1 - 000cc 48 6b c9 00 imul rcx, rcx, 0 - 000d0 48 8b 95 50 01 - 00 00 mov rdx, QWORD PTR in_far$[rbp] - 000d7 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 000db 03 c1 add eax, ecx - 000dd 89 45 44 mov DWORD PTR t1$[rbp], eax - -; 3427 : out[0] = stbi__div4(t1 + 2); - - 000e0 8b 45 44 mov eax, DWORD PTR t1$[rbp] - 000e3 83 c0 02 add eax, 2 - 000e6 c1 f8 02 sar eax, 2 - 000e9 b9 01 00 00 00 mov ecx, 1 - 000ee 48 6b c9 00 imul rcx, rcx, 0 - 000f2 48 8b 95 40 01 - 00 00 mov rdx, QWORD PTR out$[rbp] - 000f9 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3428 : for (i = 1; i < w; ++i) { - - 000fc c7 45 04 01 00 - 00 00 mov DWORD PTR i$[rbp], 1 - 00103 eb 08 jmp SHORT $LN4@stbi__resa -$LN2@stbi__resa: - 00105 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00108 ff c0 inc eax - 0010a 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__resa: - 0010d 8b 85 58 01 00 - 00 mov eax, DWORD PTR w$[rbp] - 00113 39 45 04 cmp DWORD PTR i$[rbp], eax - 00116 7d 73 jge SHORT $LN3@stbi__resa - -; 3429 : t0 = t1; - - 00118 8b 45 44 mov eax, DWORD PTR t1$[rbp] - 0011b 89 45 24 mov DWORD PTR t0$[rbp], eax - -; 3430 : t1 = 3 * in_near[i] + in_far[i]; - - 0011e 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 00122 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR in_near$[rbp] - 00129 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0012d 6b c0 03 imul eax, eax, 3 - 00130 48 63 4d 04 movsxd rcx, DWORD PTR i$[rbp] - 00134 48 8b 95 50 01 - 00 00 mov rdx, QWORD PTR in_far$[rbp] - 0013b 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 0013f 03 c1 add eax, ecx - 00141 89 45 44 mov DWORD PTR t1$[rbp], eax - -; 3431 : out[i * 2 - 1] = stbi__div16(3 * t0 + t1 + 8); - - 00144 6b 45 24 03 imul eax, DWORD PTR t0$[rbp], 3 - 00148 8b 4d 44 mov ecx, DWORD PTR t1$[rbp] - 0014b 8d 44 08 08 lea eax, DWORD PTR [rax+rcx+8] - 0014f c1 f8 04 sar eax, 4 - 00152 8b 4d 04 mov ecx, DWORD PTR i$[rbp] - 00155 8d 4c 09 ff lea ecx, DWORD PTR [rcx+rcx-1] - 00159 48 63 c9 movsxd rcx, ecx - 0015c 48 8b 95 40 01 - 00 00 mov rdx, QWORD PTR out$[rbp] - 00163 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3432 : out[i * 2] = stbi__div16(3 * t1 + t0 + 8); - - 00166 6b 45 44 03 imul eax, DWORD PTR t1$[rbp], 3 - 0016a 8b 4d 24 mov ecx, DWORD PTR t0$[rbp] - 0016d 8d 44 08 08 lea eax, DWORD PTR [rax+rcx+8] - 00171 c1 f8 04 sar eax, 4 - 00174 8b 4d 04 mov ecx, DWORD PTR i$[rbp] - 00177 d1 e1 shl ecx, 1 - 00179 48 63 c9 movsxd rcx, ecx - 0017c 48 8b 95 40 01 - 00 00 mov rdx, QWORD PTR out$[rbp] - 00183 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3433 : } - - 00186 e9 7a ff ff ff jmp $LN2@stbi__resa -$LN3@stbi__resa: - -; 3434 : out[w * 2 - 1] = stbi__div4(t1 + 2); - - 0018b 8b 45 44 mov eax, DWORD PTR t1$[rbp] - 0018e 83 c0 02 add eax, 2 - 00191 c1 f8 02 sar eax, 2 - 00194 8b 8d 58 01 00 - 00 mov ecx, DWORD PTR w$[rbp] - 0019a 8d 4c 09 ff lea ecx, DWORD PTR [rcx+rcx-1] - 0019e 48 63 c9 movsxd rcx, ecx - 001a1 48 8b 95 40 01 - 00 00 mov rdx, QWORD PTR out$[rbp] - 001a8 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3435 : -; 3436 : STBI_NOTUSED(hs); -; 3437 : -; 3438 : return out; - - 001ab 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR out$[rbp] -$LN1@stbi__resa: - -; 3439 : } - - 001b2 48 8d a5 28 01 - 00 00 lea rsp, QWORD PTR [rbp+296] - 001b9 5f pop rdi - 001ba 5d pop rbp - 001bb c3 ret 0 -stbi__resample_row_hv_2 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__resample_row_h_2 -_TEXT SEGMENT -i$ = 4 -input$ = 40 -n$1 = 68 -out$ = 320 -in_near$ = 328 -in_far$ = 336 -w$ = 344 -hs$ = 352 -stbi__resample_row_h_2 PROC ; COMDAT - -; 3387 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 48 01 - 00 00 sub rsp, 328 ; 00000148H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 3388 : // need to generate two samples horizontally for every one in input -; 3389 : int i; -; 3390 : stbi_uc *input = in_near; - - 0002f 48 8b 85 48 01 - 00 00 mov rax, QWORD PTR in_near$[rbp] - 00036 48 89 45 28 mov QWORD PTR input$[rbp], rax - -; 3391 : -; 3392 : if (w == 1) { - - 0003a 83 bd 58 01 00 - 00 01 cmp DWORD PTR w$[rbp], 1 - 00041 75 59 jne SHORT $LN5@stbi__resa - -; 3393 : // if only one sample, can't do any interpolation -; 3394 : out[0] = out[1] = input[0]; - - 00043 b8 01 00 00 00 mov eax, 1 - 00048 48 6b c0 00 imul rax, rax, 0 - 0004c b9 01 00 00 00 mov ecx, 1 - 00051 48 6b c9 01 imul rcx, rcx, 1 - 00055 48 8b 95 40 01 - 00 00 mov rdx, QWORD PTR out$[rbp] - 0005c 4c 8b 45 28 mov r8, QWORD PTR input$[rbp] - 00060 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 00065 88 04 0a mov BYTE PTR [rdx+rcx], al - 00068 b8 01 00 00 00 mov eax, 1 - 0006d 48 6b c0 01 imul rax, rax, 1 - 00071 b9 01 00 00 00 mov ecx, 1 - 00076 48 6b c9 00 imul rcx, rcx, 0 - 0007a 48 8b 95 40 01 - 00 00 mov rdx, QWORD PTR out$[rbp] - 00081 4c 8b 85 40 01 - 00 00 mov r8, QWORD PTR out$[rbp] - 00088 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 0008d 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3395 : return out; - - 00090 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR out$[rbp] - 00097 e9 64 01 00 00 jmp $LN1@stbi__resa -$LN5@stbi__resa: - -; 3396 : } -; 3397 : -; 3398 : out[0] = input[0]; - - 0009c b8 01 00 00 00 mov eax, 1 - 000a1 48 6b c0 00 imul rax, rax, 0 - 000a5 b9 01 00 00 00 mov ecx, 1 - 000aa 48 6b c9 00 imul rcx, rcx, 0 - 000ae 48 8b 95 40 01 - 00 00 mov rdx, QWORD PTR out$[rbp] - 000b5 4c 8b 45 28 mov r8, QWORD PTR input$[rbp] - 000b9 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 000be 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3399 : out[1] = stbi__div4(input[0] * 3 + input[1] + 2); - - 000c1 b8 01 00 00 00 mov eax, 1 - 000c6 48 6b c0 00 imul rax, rax, 0 - 000ca 48 8b 4d 28 mov rcx, QWORD PTR input$[rbp] - 000ce 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 000d2 6b c0 03 imul eax, eax, 3 - 000d5 b9 01 00 00 00 mov ecx, 1 - 000da 48 6b c9 01 imul rcx, rcx, 1 - 000de 48 8b 55 28 mov rdx, QWORD PTR input$[rbp] - 000e2 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 000e6 8d 44 08 02 lea eax, DWORD PTR [rax+rcx+2] - 000ea c1 f8 02 sar eax, 2 - 000ed b9 01 00 00 00 mov ecx, 1 - 000f2 48 6b c9 01 imul rcx, rcx, 1 - 000f6 48 8b 95 40 01 - 00 00 mov rdx, QWORD PTR out$[rbp] - 000fd 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3400 : for (i = 1; i < w - 1; ++i) { - - 00100 c7 45 04 01 00 - 00 00 mov DWORD PTR i$[rbp], 1 - 00107 eb 08 jmp SHORT $LN4@stbi__resa -$LN2@stbi__resa: - 00109 8b 45 04 mov eax, DWORD PTR i$[rbp] - 0010c ff c0 inc eax - 0010e 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__resa: - 00111 8b 85 58 01 00 - 00 mov eax, DWORD PTR w$[rbp] - 00117 ff c8 dec eax - 00119 39 45 04 cmp DWORD PTR i$[rbp], eax - 0011c 7d 72 jge SHORT $LN3@stbi__resa - -; 3401 : int n = 3 * input[i] + 2; - - 0011e 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 00122 48 8b 4d 28 mov rcx, QWORD PTR input$[rbp] - 00126 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0012a 6b c0 03 imul eax, eax, 3 - 0012d 83 c0 02 add eax, 2 - 00130 89 45 44 mov DWORD PTR n$1[rbp], eax - -; 3402 : out[i * 2 + 0] = stbi__div4(n + input[i - 1]); - - 00133 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00136 ff c8 dec eax - 00138 48 98 cdqe - 0013a 48 8b 4d 28 mov rcx, QWORD PTR input$[rbp] - 0013e 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00142 8b 4d 44 mov ecx, DWORD PTR n$1[rbp] - 00145 03 c8 add ecx, eax - 00147 8b c1 mov eax, ecx - 00149 c1 f8 02 sar eax, 2 - 0014c 8b 4d 04 mov ecx, DWORD PTR i$[rbp] - 0014f 03 c9 add ecx, ecx - 00151 48 63 c9 movsxd rcx, ecx - 00154 48 8b 95 40 01 - 00 00 mov rdx, QWORD PTR out$[rbp] - 0015b 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3403 : out[i * 2 + 1] = stbi__div4(n + input[i + 1]); - - 0015e 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00161 ff c0 inc eax - 00163 48 98 cdqe - 00165 48 8b 4d 28 mov rcx, QWORD PTR input$[rbp] - 00169 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0016d 8b 4d 44 mov ecx, DWORD PTR n$1[rbp] - 00170 03 c8 add ecx, eax - 00172 8b c1 mov eax, ecx - 00174 c1 f8 02 sar eax, 2 - 00177 8b 4d 04 mov ecx, DWORD PTR i$[rbp] - 0017a 8d 4c 09 01 lea ecx, DWORD PTR [rcx+rcx+1] - 0017e 48 63 c9 movsxd rcx, ecx - 00181 48 8b 95 40 01 - 00 00 mov rdx, QWORD PTR out$[rbp] - 00188 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3404 : } - - 0018b e9 79 ff ff ff jmp $LN2@stbi__resa -$LN3@stbi__resa: - -; 3405 : out[i * 2 + 0] = stbi__div4(input[w - 2] * 3 + input[w - 1] + 2); - - 00190 8b 85 58 01 00 - 00 mov eax, DWORD PTR w$[rbp] - 00196 83 e8 02 sub eax, 2 - 00199 48 98 cdqe - 0019b 48 8b 4d 28 mov rcx, QWORD PTR input$[rbp] - 0019f 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 001a3 6b c0 03 imul eax, eax, 3 - 001a6 8b 8d 58 01 00 - 00 mov ecx, DWORD PTR w$[rbp] - 001ac ff c9 dec ecx - 001ae 48 63 c9 movsxd rcx, ecx - 001b1 48 8b 55 28 mov rdx, QWORD PTR input$[rbp] - 001b5 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 001b9 8d 44 08 02 lea eax, DWORD PTR [rax+rcx+2] - 001bd c1 f8 02 sar eax, 2 - 001c0 8b 4d 04 mov ecx, DWORD PTR i$[rbp] - 001c3 03 c9 add ecx, ecx - 001c5 48 63 c9 movsxd rcx, ecx - 001c8 48 8b 95 40 01 - 00 00 mov rdx, QWORD PTR out$[rbp] - 001cf 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3406 : out[i * 2 + 1] = input[w - 1]; - - 001d2 8b 85 58 01 00 - 00 mov eax, DWORD PTR w$[rbp] - 001d8 ff c8 dec eax - 001da 48 98 cdqe - 001dc 8b 4d 04 mov ecx, DWORD PTR i$[rbp] - 001df 8d 4c 09 01 lea ecx, DWORD PTR [rcx+rcx+1] - 001e3 48 63 c9 movsxd rcx, ecx - 001e6 48 8b 95 40 01 - 00 00 mov rdx, QWORD PTR out$[rbp] - 001ed 4c 8b 45 28 mov r8, QWORD PTR input$[rbp] - 001f1 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 001f6 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 3407 : -; 3408 : STBI_NOTUSED(in_far); -; 3409 : STBI_NOTUSED(hs); -; 3410 : -; 3411 : return out; - - 001f9 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR out$[rbp] -$LN1@stbi__resa: - -; 3412 : } - - 00200 48 8d a5 28 01 - 00 00 lea rsp, QWORD PTR [rbp+296] - 00207 5f pop rdi - 00208 5d pop rbp - 00209 c3 ret 0 -stbi__resample_row_h_2 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__resample_row_v_2 -_TEXT SEGMENT -i$ = 4 -out$ = 256 -in_near$ = 264 -in_far$ = 272 -w$ = 280 -hs$ = 288 -stbi__resample_row_v_2 PROC ; COMDAT - -; 3376 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 3377 : // need to generate two samples vertically for every one in input -; 3378 : int i; -; 3379 : STBI_NOTUSED(hs); -; 3380 : for (i = 0; i < w; ++i) - - 0002f c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 00036 eb 08 jmp SHORT $LN4@stbi__resa -$LN2@stbi__resa: - 00038 8b 45 04 mov eax, DWORD PTR i$[rbp] - 0003b ff c0 inc eax - 0003d 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__resa: - 00040 8b 85 18 01 00 - 00 mov eax, DWORD PTR w$[rbp] - 00046 39 45 04 cmp DWORD PTR i$[rbp], eax - 00049 7d 38 jge SHORT $LN3@stbi__resa - -; 3381 : out[i] = stbi__div4(3 * in_near[i] + in_far[i] + 2); - - 0004b 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 0004f 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR in_near$[rbp] - 00056 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0005a 6b c0 03 imul eax, eax, 3 - 0005d 48 63 4d 04 movsxd rcx, DWORD PTR i$[rbp] - 00061 48 8b 95 10 01 - 00 00 mov rdx, QWORD PTR in_far$[rbp] - 00068 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 0006c 8d 44 08 02 lea eax, DWORD PTR [rax+rcx+2] - 00070 c1 f8 02 sar eax, 2 - 00073 48 63 4d 04 movsxd rcx, DWORD PTR i$[rbp] - 00077 48 8b 95 00 01 - 00 00 mov rdx, QWORD PTR out$[rbp] - 0007e 88 04 0a mov BYTE PTR [rdx+rcx], al - 00081 eb b5 jmp SHORT $LN2@stbi__resa -$LN3@stbi__resa: - -; 3382 : return out; - - 00083 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR out$[rbp] - -; 3383 : } - - 0008a 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 00091 5f pop rdi - 00092 5d pop rbp - 00093 c3 ret 0 -stbi__resample_row_v_2 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT resample_row_1 -_TEXT SEGMENT -out$ = 224 -in_near$ = 232 -in_far$ = 240 -w$ = 248 -hs$ = 256 -resample_row_1 PROC ; COMDAT - -; 3366 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 3367 : STBI_NOTUSED(out); -; 3368 : STBI_NOTUSED(in_far); -; 3369 : STBI_NOTUSED(w); -; 3370 : STBI_NOTUSED(hs); -; 3371 : return in_near; - - 0002f 48 8b 85 e8 00 - 00 00 mov rax, QWORD PTR in_near$[rbp] - -; 3372 : } - - 00036 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 0003d 5f pop rdi - 0003e 5d pop rbp - 0003f c3 ret 0 -resample_row_1 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__decode_jpeg_image -_TEXT SEGMENT -m$ = 4 -Ld$1 = 36 -NL$2 = 68 -j$ = 320 -stbi__decode_jpeg_image PROC ; COMDAT - -; 3317 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 48 01 - 00 00 sub rsp, 328 ; 00000148H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 3318 : int m; -; 3319 : for (m = 0; m < 4; m++) { - - 00020 c7 45 04 00 00 - 00 00 mov DWORD PTR m$[rbp], 0 - 00027 eb 08 jmp SHORT $LN4@stbi__deco -$LN2@stbi__deco: - 00029 8b 45 04 mov eax, DWORD PTR m$[rbp] - 0002c ff c0 inc eax - 0002e 89 45 04 mov DWORD PTR m$[rbp], eax -$LN4@stbi__deco: - 00031 83 7d 04 04 cmp DWORD PTR m$[rbp], 4 - 00035 7d 38 jge SHORT $LN3@stbi__deco - -; 3320 : j->img_comp[m].raw_data = NULL; - - 00037 48 63 45 04 movsxd rax, DWORD PTR m$[rbp] - 0003b 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0003f 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00046 48 c7 84 01 d8 - 46 00 00 00 00 - 00 00 mov QWORD PTR [rcx+rax+18136], 0 - -; 3321 : j->img_comp[m].raw_coeff = NULL; - - 00052 48 63 45 04 movsxd rax, DWORD PTR m$[rbp] - 00056 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0005a 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00061 48 c7 84 01 e0 - 46 00 00 00 00 - 00 00 mov QWORD PTR [rcx+rax+18144], 0 - -; 3322 : } - - 0006d eb ba jmp SHORT $LN2@stbi__deco -$LN3@stbi__deco: - -; 3323 : j->restart_interval = 0; - - 0006f 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00076 c7 80 68 48 00 - 00 00 00 00 00 mov DWORD PTR [rax+18536], 0 - -; 3324 : if (!stbi__decode_jpeg_header(j, STBI__SCAN_load)) - - 00080 33 d2 xor edx, edx - 00082 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00089 e8 00 00 00 00 call stbi__decode_jpeg_header - 0008e 85 c0 test eax, eax - 00090 75 07 jne SHORT $LN7@stbi__deco - -; 3325 : return 0; - - 00092 33 c0 xor eax, eax - 00094 e9 8e 01 00 00 jmp $LN1@stbi__deco -$LN7@stbi__deco: - -; 3326 : m = stbi__get_marker(j); - - 00099 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 000a0 e8 00 00 00 00 call stbi__get_marker - 000a5 0f b6 c0 movzx eax, al - 000a8 89 45 04 mov DWORD PTR m$[rbp], eax -$LN5@stbi__deco: - -; 3327 : while (!stbi__EOI(m)) { - - 000ab 81 7d 04 d9 00 - 00 00 cmp DWORD PTR m$[rbp], 217 ; 000000d9H - 000b2 0f 84 4d 01 00 - 00 je $LN6@stbi__deco - -; 3328 : if (stbi__SOS(m)) { - - 000b8 81 7d 04 da 00 - 00 00 cmp DWORD PTR m$[rbp], 218 ; 000000daH - 000bf 0f 85 97 00 00 - 00 jne $LN8@stbi__deco - -; 3329 : if (!stbi__process_scan_header(j)) - - 000c5 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 000cc e8 00 00 00 00 call stbi__process_scan_header - 000d1 85 c0 test eax, eax - 000d3 75 07 jne SHORT $LN10@stbi__deco - -; 3330 : return 0; - - 000d5 33 c0 xor eax, eax - 000d7 e9 4b 01 00 00 jmp $LN1@stbi__deco -$LN10@stbi__deco: - -; 3331 : if (!stbi__parse_entropy_coded_data(j)) - - 000dc 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 000e3 e8 00 00 00 00 call stbi__parse_entropy_coded_data - 000e8 85 c0 test eax, eax - 000ea 75 07 jne SHORT $LN11@stbi__deco - -; 3332 : return 0; - - 000ec 33 c0 xor eax, eax - 000ee e9 34 01 00 00 jmp $LN1@stbi__deco -$LN11@stbi__deco: - -; 3333 : if (j->marker == STBI__MARKER_none) { - - 000f3 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 000fa 0f b6 80 28 48 - 00 00 movzx eax, BYTE PTR [rax+18472] - 00101 3d ff 00 00 00 cmp eax, 255 ; 000000ffH - 00106 75 19 jne SHORT $LN12@stbi__deco - -; 3334 : j->marker = stbi__skip_jpeg_junk_at_end(j); - - 00108 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 0010f e8 00 00 00 00 call stbi__skip_jpeg_junk_at_end - 00114 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 0011b 88 81 28 48 00 - 00 mov BYTE PTR [rcx+18472], al -$LN12@stbi__deco: - -; 3335 : // if we reach eof without hitting a marker, stbi__get_marker() below will fail and we'll eventually return 0 -; 3336 : } -; 3337 : m = stbi__get_marker(j); - - 00121 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00128 e8 00 00 00 00 call stbi__get_marker - 0012d 0f b6 c0 movzx eax, al - 00130 89 45 04 mov DWORD PTR m$[rbp], eax - -; 3338 : if (STBI__RESTART(m)) - - 00133 81 7d 04 d0 00 - 00 00 cmp DWORD PTR m$[rbp], 208 ; 000000d0H - 0013a 7c 1b jl SHORT $LN13@stbi__deco - 0013c 81 7d 04 d7 00 - 00 00 cmp DWORD PTR m$[rbp], 215 ; 000000d7H - 00143 7f 12 jg SHORT $LN13@stbi__deco - -; 3339 : m = stbi__get_marker(j); - - 00145 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 0014c e8 00 00 00 00 call stbi__get_marker - 00151 0f b6 c0 movzx eax, al - 00154 89 45 04 mov DWORD PTR m$[rbp], eax -$LN13@stbi__deco: - -; 3340 : } else if (stbi__DNL(m)) { - - 00157 e9 a4 00 00 00 jmp $LN9@stbi__deco -$LN8@stbi__deco: - 0015c 81 7d 04 dc 00 - 00 00 cmp DWORD PTR m$[rbp], 220 ; 000000dcH - 00163 75 6f jne SHORT $LN14@stbi__deco - -; 3341 : int Ld = stbi__get16be(j->s); - - 00165 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 0016c 48 8b 08 mov rcx, QWORD PTR [rax] - 0016f e8 00 00 00 00 call stbi__get16be - 00174 89 45 24 mov DWORD PTR Ld$1[rbp], eax - -; 3342 : stbi__uint32 NL = stbi__get16be(j->s); - - 00177 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 0017e 48 8b 08 mov rcx, QWORD PTR [rax] - 00181 e8 00 00 00 00 call stbi__get16be - 00186 89 45 44 mov DWORD PTR NL$2[rbp], eax - -; 3343 : if (Ld != 4) - - 00189 83 7d 24 04 cmp DWORD PTR Ld$1[rbp], 4 - 0018d 74 11 je SHORT $LN16@stbi__deco - -; 3344 : return stbi__err("bad DNL len", "Corrupt JPEG"); - - 0018f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0M@EPMOIECP@bad?5DNL?5len@ - 00196 e8 00 00 00 00 call stbi__err - 0019b e9 87 00 00 00 jmp $LN1@stbi__deco -$LN16@stbi__deco: - -; 3345 : if (NL != j->s->img_y) - - 001a0 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 001a7 48 8b 00 mov rax, QWORD PTR [rax] - 001aa 8b 40 04 mov eax, DWORD PTR [rax+4] - 001ad 39 45 44 cmp DWORD PTR NL$2[rbp], eax - 001b0 74 0e je SHORT $LN17@stbi__deco - -; 3346 : return stbi__err("bad DNL height", "Corrupt JPEG"); - - 001b2 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0P@PNCLKCLJ@bad?5DNL?5height@ - 001b9 e8 00 00 00 00 call stbi__err - 001be eb 67 jmp SHORT $LN1@stbi__deco -$LN17@stbi__deco: - -; 3347 : m = stbi__get_marker(j); - - 001c0 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 001c7 e8 00 00 00 00 call stbi__get_marker - 001cc 0f b6 c0 movzx eax, al - 001cf 89 45 04 mov DWORD PTR m$[rbp], eax - -; 3348 : } else { - - 001d2 eb 2c jmp SHORT $LN15@stbi__deco -$LN14@stbi__deco: - -; 3349 : if (!stbi__process_marker(j, m)) - - 001d4 8b 55 04 mov edx, DWORD PTR m$[rbp] - 001d7 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 001de e8 00 00 00 00 call stbi__process_marker - 001e3 85 c0 test eax, eax - 001e5 75 07 jne SHORT $LN18@stbi__deco - -; 3350 : return 1; - - 001e7 b8 01 00 00 00 mov eax, 1 - 001ec eb 39 jmp SHORT $LN1@stbi__deco -$LN18@stbi__deco: - -; 3351 : m = stbi__get_marker(j); - - 001ee 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 001f5 e8 00 00 00 00 call stbi__get_marker - 001fa 0f b6 c0 movzx eax, al - 001fd 89 45 04 mov DWORD PTR m$[rbp], eax -$LN15@stbi__deco: -$LN9@stbi__deco: - -; 3352 : } -; 3353 : } - - 00200 e9 a6 fe ff ff jmp $LN5@stbi__deco -$LN6@stbi__deco: - -; 3354 : if (j->progressive) - - 00205 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 0020c 83 b8 30 48 00 - 00 00 cmp DWORD PTR [rax+18480], 0 - 00213 74 0d je SHORT $LN19@stbi__deco - -; 3355 : stbi__jpeg_finish(j); - - 00215 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 0021c e8 00 00 00 00 call stbi__jpeg_finish - 00221 90 npad 1 -$LN19@stbi__deco: - -; 3356 : return 1; - - 00222 b8 01 00 00 00 mov eax, 1 -$LN1@stbi__deco: - -; 3357 : } - - 00227 48 8d a5 28 01 - 00 00 lea rsp, QWORD PTR [rbp+296] - 0022e 5f pop rdi - 0022f 5d pop rbp - 00230 c3 ret 0 -stbi__decode_jpeg_image ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__skip_jpeg_junk_at_end -_TEXT SEGMENT -x$1 = 4 -j$ = 256 -stbi__skip_jpeg_junk_at_end PROC ; COMDAT - -; 3293 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 -$LN2@stbi__skip: - -; 3294 : // some JPEGs have junk at end, skip over it but if we find what looks -; 3295 : // like a valid marker, resume there -; 3296 : while (!stbi__at_eof(j->s)) { - - 00020 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00027 48 8b 08 mov rcx, QWORD PTR [rax] - 0002a e8 00 00 00 00 call stbi__at_eof - 0002f 85 c0 test eax, eax - 00031 75 65 jne SHORT $LN3@stbi__skip - -; 3297 : int x = stbi__get8(j->s); - - 00033 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 0003a 48 8b 08 mov rcx, QWORD PTR [rax] - 0003d e8 00 00 00 00 call stbi__get8 - 00042 0f b6 c0 movzx eax, al - 00045 89 45 04 mov DWORD PTR x$1[rbp], eax -$LN4@stbi__skip: - -; 3298 : while (x == 255) { // might be a marker - - 00048 81 7d 04 ff 00 - 00 00 cmp DWORD PTR x$1[rbp], 255 ; 000000ffH - 0004f 75 45 jne SHORT $LN5@stbi__skip - -; 3299 : if (stbi__at_eof(j->s)) - - 00051 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00058 48 8b 08 mov rcx, QWORD PTR [rax] - 0005b e8 00 00 00 00 call stbi__at_eof - 00060 85 c0 test eax, eax - 00062 74 07 je SHORT $LN6@stbi__skip - -; 3300 : return STBI__MARKER_none; - - 00064 b8 ff 00 00 00 mov eax, 255 ; 000000ffH - 00069 eb 32 jmp SHORT $LN1@stbi__skip -$LN6@stbi__skip: - -; 3301 : x = stbi__get8(j->s); - - 0006b 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00072 48 8b 08 mov rcx, QWORD PTR [rax] - 00075 e8 00 00 00 00 call stbi__get8 - 0007a 0f b6 c0 movzx eax, al - 0007d 89 45 04 mov DWORD PTR x$1[rbp], eax - -; 3302 : if (x != 0x00 && x != 0xff) { - - 00080 83 7d 04 00 cmp DWORD PTR x$1[rbp], 0 - 00084 74 0e je SHORT $LN7@stbi__skip - 00086 81 7d 04 ff 00 - 00 00 cmp DWORD PTR x$1[rbp], 255 ; 000000ffH - 0008d 74 05 je SHORT $LN7@stbi__skip - -; 3303 : // not a stuffed zero or lead-in to another marker, looks -; 3304 : // like an actual marker, return it -; 3305 : return x; - - 0008f 8b 45 04 mov eax, DWORD PTR x$1[rbp] - 00092 eb 09 jmp SHORT $LN1@stbi__skip -$LN7@stbi__skip: - -; 3306 : } -; 3307 : // stuffed zero has x=0 now which ends the loop, meaning we go -; 3308 : // back to regular scan loop. -; 3309 : // repeated 0xff keeps trying to read the next byte of the marker. -; 3310 : } - - 00094 eb b2 jmp SHORT $LN4@stbi__skip -$LN5@stbi__skip: - -; 3311 : } - - 00096 eb 88 jmp SHORT $LN2@stbi__skip -$LN3@stbi__skip: - -; 3312 : return STBI__MARKER_none; - - 00098 b8 ff 00 00 00 mov eax, 255 ; 000000ffH -$LN1@stbi__skip: - -; 3313 : } - - 0009d 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 000a4 5f pop rdi - 000a5 5d pop rbp - 000a6 c3 ret 0 -stbi__skip_jpeg_junk_at_end ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__decode_jpeg_header -_TEXT SEGMENT -m$ = 4 -tv131 = 212 -z$ = 256 -scan$ = 264 -stbi__decode_jpeg_header PROC ; COMDAT - -; 3264 : { - - 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00009 55 push rbp - 0000a 57 push rdi - 0000b 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00017 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00023 90 npad 1 - -; 3265 : int m; -; 3266 : z->jfif = 0; - - 00024 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 0002b c7 80 48 48 00 - 00 00 00 00 00 mov DWORD PTR [rax+18504], 0 - -; 3267 : z->app14_color_transform = -1; // valid values are 0,1,2 - - 00035 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 0003c c7 80 4c 48 00 - 00 ff ff ff ff mov DWORD PTR [rax+18508], -1 - -; 3268 : z->marker = STBI__MARKER_none; // initialize cached marker to empty - - 00046 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 0004d c6 80 28 48 00 - 00 ff mov BYTE PTR [rax+18472], 255 ; 000000ffH - -; 3269 : m = stbi__get_marker(z); - - 00054 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0005b e8 00 00 00 00 call stbi__get_marker - 00060 0f b6 c0 movzx eax, al - 00063 89 45 04 mov DWORD PTR m$[rbp], eax - -; 3270 : if (!stbi__SOI(m)) - - 00066 81 7d 04 d8 00 - 00 00 cmp DWORD PTR m$[rbp], 216 ; 000000d8H - 0006d 74 11 je SHORT $LN6@stbi__deco - -; 3271 : return stbi__err("no SOI", "Corrupt JPEG"); - - 0006f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_06CLMBLEP@no?5SOI@ - 00076 e8 00 00 00 00 call stbi__err - 0007b e9 04 01 00 00 jmp $LN1@stbi__deco -$LN6@stbi__deco: - -; 3272 : if (scan == STBI__SCAN_type) - - 00080 83 bd 08 01 00 - 00 01 cmp DWORD PTR scan$[rbp], 1 - 00087 75 0a jne SHORT $LN7@stbi__deco - -; 3273 : return 1; - - 00089 b8 01 00 00 00 mov eax, 1 - 0008e e9 f1 00 00 00 jmp $LN1@stbi__deco -$LN7@stbi__deco: - -; 3274 : m = stbi__get_marker(z); - - 00093 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0009a e8 00 00 00 00 call stbi__get_marker - 0009f 0f b6 c0 movzx eax, al - 000a2 89 45 04 mov DWORD PTR m$[rbp], eax -$LN2@stbi__deco: - -; 3275 : while (!stbi__SOF(m)) { - - 000a5 81 7d 04 c0 00 - 00 00 cmp DWORD PTR m$[rbp], 192 ; 000000c0H - 000ac 0f 84 81 00 00 - 00 je $LN3@stbi__deco - 000b2 81 7d 04 c1 00 - 00 00 cmp DWORD PTR m$[rbp], 193 ; 000000c1H - 000b9 74 78 je SHORT $LN3@stbi__deco - 000bb 81 7d 04 c2 00 - 00 00 cmp DWORD PTR m$[rbp], 194 ; 000000c2H - 000c2 74 6f je SHORT $LN3@stbi__deco - -; 3276 : if (!stbi__process_marker(z, m)) - - 000c4 8b 55 04 mov edx, DWORD PTR m$[rbp] - 000c7 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 000ce e8 00 00 00 00 call stbi__process_marker - 000d3 85 c0 test eax, eax - 000d5 75 07 jne SHORT $LN8@stbi__deco - -; 3277 : return 0; - - 000d7 33 c0 xor eax, eax - 000d9 e9 a6 00 00 00 jmp $LN1@stbi__deco -$LN8@stbi__deco: - -; 3278 : m = stbi__get_marker(z); - - 000de 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 000e5 e8 00 00 00 00 call stbi__get_marker - 000ea 0f b6 c0 movzx eax, al - 000ed 89 45 04 mov DWORD PTR m$[rbp], eax -$LN4@stbi__deco: - -; 3279 : while (m == STBI__MARKER_none) { - - 000f0 81 7d 04 ff 00 - 00 00 cmp DWORD PTR m$[rbp], 255 ; 000000ffH - 000f7 75 35 jne SHORT $LN5@stbi__deco - -; 3280 : // some files have extra padding after their blocks, so ok, we'll scan -; 3281 : if (stbi__at_eof(z->s)) - - 000f9 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00100 48 8b 08 mov rcx, QWORD PTR [rax] - 00103 e8 00 00 00 00 call stbi__at_eof - 00108 85 c0 test eax, eax - 0010a 74 0e je SHORT $LN9@stbi__deco - -; 3282 : return stbi__err("no SOF", "Corrupt JPEG"); - - 0010c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_06IFCEAHIA@no?5SOF@ - 00113 e8 00 00 00 00 call stbi__err - 00118 eb 6a jmp SHORT $LN1@stbi__deco -$LN9@stbi__deco: - -; 3283 : m = stbi__get_marker(z); - - 0011a 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00121 e8 00 00 00 00 call stbi__get_marker - 00126 0f b6 c0 movzx eax, al - 00129 89 45 04 mov DWORD PTR m$[rbp], eax - -; 3284 : } - - 0012c eb c2 jmp SHORT $LN4@stbi__deco -$LN5@stbi__deco: - -; 3285 : } - - 0012e e9 72 ff ff ff jmp $LN2@stbi__deco -$LN3@stbi__deco: - -; 3286 : z->progressive = stbi__SOF_progressive(m); - - 00133 81 7d 04 c2 00 - 00 00 cmp DWORD PTR m$[rbp], 194 ; 000000c2H - 0013a 75 0c jne SHORT $LN12@stbi__deco - 0013c c7 85 d4 00 00 - 00 01 00 00 00 mov DWORD PTR tv131[rbp], 1 - 00146 eb 0a jmp SHORT $LN13@stbi__deco -$LN12@stbi__deco: - 00148 c7 85 d4 00 00 - 00 00 00 00 00 mov DWORD PTR tv131[rbp], 0 -$LN13@stbi__deco: - 00152 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00159 8b 8d d4 00 00 - 00 mov ecx, DWORD PTR tv131[rbp] - 0015f 89 88 30 48 00 - 00 mov DWORD PTR [rax+18480], ecx - -; 3287 : if (!stbi__process_frame_header(z, scan)) - - 00165 8b 95 08 01 00 - 00 mov edx, DWORD PTR scan$[rbp] - 0016b 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00172 e8 00 00 00 00 call stbi__process_frame_header - 00177 85 c0 test eax, eax - 00179 75 04 jne SHORT $LN10@stbi__deco - -; 3288 : return 0; - - 0017b 33 c0 xor eax, eax - 0017d eb 05 jmp SHORT $LN1@stbi__deco -$LN10@stbi__deco: - -; 3289 : return 1; - - 0017f b8 01 00 00 00 mov eax, 1 -$LN1@stbi__deco: - -; 3290 : } - - 00184 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 0018b 5f pop rdi - 0018c 5d pop rbp - 0018d c3 ret 0 -stbi__decode_jpeg_header ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__process_frame_header -_TEXT SEGMENT -s$ = 8 -Lf$ = 36 -p$ = 68 -i$ = 100 -q$ = 132 -h_max$ = 164 -v_max$ = 196 -c$ = 228 -tv285 = 440 -tv294 = 440 -z$ = 480 -scan$ = 488 -stbi__process_frame_header PROC ; COMDAT - -; 3131 : { - - 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00009 55 push rbp - 0000a 57 push rdi - 0000b 48 81 ec e8 01 - 00 00 sub rsp, 488 ; 000001e8H - 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00017 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00023 90 npad 1 - -; 3132 : stbi__context *s = z->s; - - 00024 48 8b 85 e0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 0002b 48 8b 00 mov rax, QWORD PTR [rax] - 0002e 48 89 45 08 mov QWORD PTR s$[rbp], rax - -; 3133 : int Lf, p, i, q, h_max = 1, v_max = 1, c; - - 00032 c7 85 a4 00 00 - 00 01 00 00 00 mov DWORD PTR h_max$[rbp], 1 - 0003c c7 85 c4 00 00 - 00 01 00 00 00 mov DWORD PTR v_max$[rbp], 1 - -; 3134 : Lf = stbi__get16be(s); - - 00046 48 8b 4d 08 mov rcx, QWORD PTR s$[rbp] - 0004a e8 00 00 00 00 call stbi__get16be - 0004f 89 45 24 mov DWORD PTR Lf$[rbp], eax - -; 3135 : if (Lf < 11) - - 00052 83 7d 24 0b cmp DWORD PTR Lf$[rbp], 11 - 00056 7d 11 jge SHORT $LN17@stbi__proc - -; 3136 : return stbi__err("bad SOF len", "Corrupt JPEG"); // JPEG - - 00058 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0M@DOFMJEMP@bad?5SOF?5len@ - 0005f e8 00 00 00 00 call stbi__err - 00064 e9 11 09 00 00 jmp $LN1@stbi__proc -$LN17@stbi__proc: - -; 3137 : p = stbi__get8(s); - - 00069 48 8b 4d 08 mov rcx, QWORD PTR s$[rbp] - 0006d e8 00 00 00 00 call stbi__get8 - 00072 0f b6 c0 movzx eax, al - 00075 89 45 44 mov DWORD PTR p$[rbp], eax - -; 3138 : if (p != 8) - - 00078 83 7d 44 08 cmp DWORD PTR p$[rbp], 8 - 0007c 74 11 je SHORT $LN18@stbi__proc - -; 3139 : return stbi__err("only 8-bit", - - 0007e 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0L@BCINMEBJ@only?58?9bit@ - 00085 e8 00 00 00 00 call stbi__err - 0008a e9 eb 08 00 00 jmp $LN1@stbi__proc -$LN18@stbi__proc: - -; 3140 : "JPEG format not supported: 8-bit only"); // JPEG baseline -; 3141 : s->img_y = stbi__get16be(s); - - 0008f 48 8b 4d 08 mov rcx, QWORD PTR s$[rbp] - 00093 e8 00 00 00 00 call stbi__get16be - 00098 48 8b 4d 08 mov rcx, QWORD PTR s$[rbp] - 0009c 89 41 04 mov DWORD PTR [rcx+4], eax - -; 3142 : if (s->img_y == 0) - - 0009f 48 8b 45 08 mov rax, QWORD PTR s$[rbp] - 000a3 83 78 04 00 cmp DWORD PTR [rax+4], 0 - 000a7 75 11 jne SHORT $LN19@stbi__proc - -; 3143 : return stbi__err( - - 000a9 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BB@LNEGOMA@no?5header?5height@ - 000b0 e8 00 00 00 00 call stbi__err - 000b5 e9 c0 08 00 00 jmp $LN1@stbi__proc -$LN19@stbi__proc: - -; 3144 : "no header height", -; 3145 : "JPEG format not supported: delayed height"); // Legal, but we don't handle it--but neither does IJG -; 3146 : s->img_x = stbi__get16be(s); - - 000ba 48 8b 4d 08 mov rcx, QWORD PTR s$[rbp] - 000be e8 00 00 00 00 call stbi__get16be - 000c3 48 8b 4d 08 mov rcx, QWORD PTR s$[rbp] - 000c7 89 01 mov DWORD PTR [rcx], eax - -; 3147 : if (s->img_x == 0) - - 000c9 48 8b 45 08 mov rax, QWORD PTR s$[rbp] - 000cd 83 38 00 cmp DWORD PTR [rax], 0 - 000d0 75 11 jne SHORT $LN20@stbi__proc - -; 3148 : return stbi__err("0 width", "Corrupt JPEG"); // JPEG requires - - 000d2 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07BIDACDEF@0?5width@ - 000d9 e8 00 00 00 00 call stbi__err - 000de e9 97 08 00 00 jmp $LN1@stbi__proc -$LN20@stbi__proc: - -; 3149 : if (s->img_y > STBI_MAX_DIMENSIONS) - - 000e3 48 8b 45 08 mov rax, QWORD PTR s$[rbp] - 000e7 81 78 04 00 00 - 00 01 cmp DWORD PTR [rax+4], 16777216 ; 01000000H - 000ee 76 11 jbe SHORT $LN21@stbi__proc - -; 3150 : return stbi__err("too large", "Very large image (corrupt?)"); - - 000f0 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 000f7 e8 00 00 00 00 call stbi__err - 000fc e9 79 08 00 00 jmp $LN1@stbi__proc -$LN21@stbi__proc: - -; 3151 : if (s->img_x > STBI_MAX_DIMENSIONS) - - 00101 48 8b 45 08 mov rax, QWORD PTR s$[rbp] - 00105 81 38 00 00 00 - 01 cmp DWORD PTR [rax], 16777216 ; 01000000H - 0010b 76 11 jbe SHORT $LN22@stbi__proc - -; 3152 : return stbi__err("too large", "Very large image (corrupt?)"); - - 0010d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 00114 e8 00 00 00 00 call stbi__err - 00119 e9 5c 08 00 00 jmp $LN1@stbi__proc -$LN22@stbi__proc: - -; 3153 : c = stbi__get8(s); - - 0011e 48 8b 4d 08 mov rcx, QWORD PTR s$[rbp] - 00122 e8 00 00 00 00 call stbi__get8 - 00127 0f b6 c0 movzx eax, al - 0012a 89 85 e4 00 00 - 00 mov DWORD PTR c$[rbp], eax - -; 3154 : if (c != 3 && c != 1 && c != 4) - - 00130 83 bd e4 00 00 - 00 03 cmp DWORD PTR c$[rbp], 3 - 00137 74 23 je SHORT $LN23@stbi__proc - 00139 83 bd e4 00 00 - 00 01 cmp DWORD PTR c$[rbp], 1 - 00140 74 1a je SHORT $LN23@stbi__proc - 00142 83 bd e4 00 00 - 00 04 cmp DWORD PTR c$[rbp], 4 - 00149 74 11 je SHORT $LN23@stbi__proc - -; 3155 : return stbi__err("bad component count", "Corrupt JPEG"); - - 0014b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BE@DAPHADHL@bad?5component?5count@ - 00152 e8 00 00 00 00 call stbi__err - 00157 e9 1e 08 00 00 jmp $LN1@stbi__proc -$LN23@stbi__proc: - -; 3156 : s->img_n = c; - - 0015c 48 8b 45 08 mov rax, QWORD PTR s$[rbp] - 00160 8b 8d e4 00 00 - 00 mov ecx, DWORD PTR c$[rbp] - 00166 89 48 08 mov DWORD PTR [rax+8], ecx - -; 3157 : for (i = 0; i < c; ++i) { - - 00169 c7 45 64 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 00170 eb 08 jmp SHORT $LN4@stbi__proc -$LN2@stbi__proc: - 00172 8b 45 64 mov eax, DWORD PTR i$[rbp] - 00175 ff c0 inc eax - 00177 89 45 64 mov DWORD PTR i$[rbp], eax -$LN4@stbi__proc: - 0017a 8b 85 e4 00 00 - 00 mov eax, DWORD PTR c$[rbp] - 00180 39 45 64 cmp DWORD PTR i$[rbp], eax - 00183 7d 38 jge SHORT $LN3@stbi__proc - -; 3158 : z->img_comp[i].data = NULL; - - 00185 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 00189 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0018d 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00194 48 c7 84 01 d0 - 46 00 00 00 00 - 00 00 mov QWORD PTR [rcx+rax+18128], 0 - -; 3159 : z->img_comp[i].linebuf = NULL; - - 001a0 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 001a4 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 001a8 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 001af 48 c7 84 01 e8 - 46 00 00 00 00 - 00 00 mov QWORD PTR [rcx+rax+18152], 0 - -; 3160 : } - - 001bb eb b5 jmp SHORT $LN2@stbi__proc -$LN3@stbi__proc: - -; 3161 : -; 3162 : if (Lf != 8 + 3 * s->img_n) - - 001bd 48 8b 45 08 mov rax, QWORD PTR s$[rbp] - 001c1 6b 40 08 03 imul eax, DWORD PTR [rax+8], 3 - 001c5 83 c0 08 add eax, 8 - 001c8 39 45 24 cmp DWORD PTR Lf$[rbp], eax - 001cb 74 11 je SHORT $LN24@stbi__proc - -; 3163 : return stbi__err("bad SOF len", "Corrupt JPEG"); - - 001cd 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0M@DOFMJEMP@bad?5SOF?5len@ - 001d4 e8 00 00 00 00 call stbi__err - 001d9 e9 9c 07 00 00 jmp $LN1@stbi__proc -$LN24@stbi__proc: - -; 3164 : -; 3165 : z->rgb = 0; - - 001de 48 8b 85 e0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 001e5 c7 80 50 48 00 - 00 00 00 00 00 mov DWORD PTR [rax+18512], 0 - -; 3166 : for (i = 0; i < s->img_n; ++i) { - - 001ef c7 45 64 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 001f6 eb 08 jmp SHORT $LN7@stbi__proc -$LN5@stbi__proc: - 001f8 8b 45 64 mov eax, DWORD PTR i$[rbp] - 001fb ff c0 inc eax - 001fd 89 45 64 mov DWORD PTR i$[rbp], eax -$LN7@stbi__proc: - 00200 48 8b 45 08 mov rax, QWORD PTR s$[rbp] - 00204 8b 40 08 mov eax, DWORD PTR [rax+8] - 00207 39 45 64 cmp DWORD PTR i$[rbp], eax - 0020a 0f 8d 96 01 00 - 00 jge $LN6@stbi__proc - -; 3167 : static const unsigned char rgb[3] = { 'R', 'G', 'B' }; -; 3168 : z->img_comp[i].id = stbi__get8(s); - - 00210 48 8b 4d 08 mov rcx, QWORD PTR s$[rbp] - 00214 e8 00 00 00 00 call stbi__get8 - 00219 48 63 4d 64 movsxd rcx, DWORD PTR i$[rbp] - 0021d 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 00221 0f b6 c0 movzx eax, al - 00224 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 0022b 89 84 0a a0 46 - 00 00 mov DWORD PTR [rdx+rcx+18080], eax - -; 3169 : if (s->img_n == 3 && z->img_comp[i].id == rgb[i]) - - 00232 48 8b 45 08 mov rax, QWORD PTR s$[rbp] - 00236 83 78 08 03 cmp DWORD PTR [rax+8], 3 - 0023a 75 43 jne SHORT $LN25@stbi__proc - 0023c 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 00240 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00244 48 63 4d 64 movsxd rcx, DWORD PTR i$[rbp] - 00248 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:?rgb@?5??stbi__process_frame_header@@9@9 - 0024f 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 00253 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 0025a 39 8c 02 a0 46 - 00 00 cmp DWORD PTR [rdx+rax+18080], ecx - 00261 75 1c jne SHORT $LN25@stbi__proc - -; 3170 : ++z->rgb; - - 00263 48 8b 85 e0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 0026a 8b 80 50 48 00 - 00 mov eax, DWORD PTR [rax+18512] - 00270 ff c0 inc eax - 00272 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00279 89 81 50 48 00 - 00 mov DWORD PTR [rcx+18512], eax -$LN25@stbi__proc: - -; 3171 : q = stbi__get8(s); - - 0027f 48 8b 4d 08 mov rcx, QWORD PTR s$[rbp] - 00283 e8 00 00 00 00 call stbi__get8 - 00288 0f b6 c0 movzx eax, al - 0028b 89 85 84 00 00 - 00 mov DWORD PTR q$[rbp], eax - -; 3172 : z->img_comp[i].h = (q >> 4); - - 00291 8b 85 84 00 00 - 00 mov eax, DWORD PTR q$[rbp] - 00297 c1 f8 04 sar eax, 4 - 0029a 48 63 4d 64 movsxd rcx, DWORD PTR i$[rbp] - 0029e 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 002a2 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 002a9 89 84 0a a4 46 - 00 00 mov DWORD PTR [rdx+rcx+18084], eax - -; 3173 : if (!z->img_comp[i].h || z->img_comp[i].h > 4) - - 002b0 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 002b4 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 002b8 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 002bf 83 bc 01 a4 46 - 00 00 00 cmp DWORD PTR [rcx+rax+18084], 0 - 002c7 74 19 je SHORT $LN27@stbi__proc - 002c9 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 002cd 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 002d1 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 002d8 83 bc 01 a4 46 - 00 00 04 cmp DWORD PTR [rcx+rax+18084], 4 - 002e0 7e 11 jle SHORT $LN26@stbi__proc -$LN27@stbi__proc: - -; 3174 : return stbi__err("bad H", "Corrupt JPEG"); - - 002e2 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_05BLPKENEJ@bad?5H@ - 002e9 e8 00 00 00 00 call stbi__err - 002ee e9 87 06 00 00 jmp $LN1@stbi__proc -$LN26@stbi__proc: - -; 3175 : z->img_comp[i].v = q & 15; - - 002f3 8b 85 84 00 00 - 00 mov eax, DWORD PTR q$[rbp] - 002f9 83 e0 0f and eax, 15 - 002fc 48 63 4d 64 movsxd rcx, DWORD PTR i$[rbp] - 00300 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 00304 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 0030b 89 84 0a a8 46 - 00 00 mov DWORD PTR [rdx+rcx+18088], eax - -; 3176 : if (!z->img_comp[i].v || z->img_comp[i].v > 4) - - 00312 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 00316 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0031a 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00321 83 bc 01 a8 46 - 00 00 00 cmp DWORD PTR [rcx+rax+18088], 0 - 00329 74 19 je SHORT $LN29@stbi__proc - 0032b 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 0032f 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00333 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0033a 83 bc 01 a8 46 - 00 00 04 cmp DWORD PTR [rcx+rax+18088], 4 - 00342 7e 11 jle SHORT $LN28@stbi__proc -$LN29@stbi__proc: - -; 3177 : return stbi__err("bad V", "Corrupt JPEG"); - - 00344 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_05MPLLHCJG@bad?5V@ - 0034b e8 00 00 00 00 call stbi__err - 00350 e9 25 06 00 00 jmp $LN1@stbi__proc -$LN28@stbi__proc: - -; 3178 : z->img_comp[i].tq = stbi__get8(s); - - 00355 48 8b 4d 08 mov rcx, QWORD PTR s$[rbp] - 00359 e8 00 00 00 00 call stbi__get8 - 0035e 48 63 4d 64 movsxd rcx, DWORD PTR i$[rbp] - 00362 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 00366 0f b6 c0 movzx eax, al - 00369 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 00370 89 84 0a ac 46 - 00 00 mov DWORD PTR [rdx+rcx+18092], eax - -; 3179 : if (z->img_comp[i].tq > 3) - - 00377 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 0037b 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0037f 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00386 83 bc 01 ac 46 - 00 00 03 cmp DWORD PTR [rcx+rax+18092], 3 - 0038e 7e 11 jle SHORT $LN30@stbi__proc - -; 3180 : return stbi__err("bad TQ", "Corrupt JPEG"); - - 00390 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_06LJIHDFHI@bad?5TQ@ - 00397 e8 00 00 00 00 call stbi__err - 0039c e9 d9 05 00 00 jmp $LN1@stbi__proc -$LN30@stbi__proc: - -; 3181 : } - - 003a1 e9 52 fe ff ff jmp $LN5@stbi__proc -$LN6@stbi__proc: - -; 3182 : -; 3183 : if (scan != STBI__SCAN_load) - - 003a6 83 bd e8 01 00 - 00 00 cmp DWORD PTR scan$[rbp], 0 - 003ad 74 0a je SHORT $LN31@stbi__proc - -; 3184 : return 1; - - 003af b8 01 00 00 00 mov eax, 1 - 003b4 e9 c1 05 00 00 jmp $LN1@stbi__proc -$LN31@stbi__proc: - -; 3185 : -; 3186 : if (!stbi__mad3sizes_valid(s->img_x, s->img_y, s->img_n, 0)) - - 003b9 45 33 c9 xor r9d, r9d - 003bc 48 8b 45 08 mov rax, QWORD PTR s$[rbp] - 003c0 44 8b 40 08 mov r8d, DWORD PTR [rax+8] - 003c4 48 8b 45 08 mov rax, QWORD PTR s$[rbp] - 003c8 8b 50 04 mov edx, DWORD PTR [rax+4] - 003cb 48 8b 45 08 mov rax, QWORD PTR s$[rbp] - 003cf 8b 08 mov ecx, DWORD PTR [rax] - 003d1 e8 00 00 00 00 call stbi__mad3sizes_valid - 003d6 85 c0 test eax, eax - 003d8 75 11 jne SHORT $LN32@stbi__proc - -; 3187 : return stbi__err("too large", "Image too large to decode"); - - 003da 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 003e1 e8 00 00 00 00 call stbi__err - 003e6 e9 8f 05 00 00 jmp $LN1@stbi__proc -$LN32@stbi__proc: - -; 3188 : -; 3189 : for (i = 0; i < s->img_n; ++i) { - - 003eb c7 45 64 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 003f2 eb 08 jmp SHORT $LN10@stbi__proc -$LN8@stbi__proc: - 003f4 8b 45 64 mov eax, DWORD PTR i$[rbp] - 003f7 ff c0 inc eax - 003f9 89 45 64 mov DWORD PTR i$[rbp], eax -$LN10@stbi__proc: - 003fc 48 8b 45 08 mov rax, QWORD PTR s$[rbp] - 00400 8b 40 08 mov eax, DWORD PTR [rax+8] - 00403 39 45 64 cmp DWORD PTR i$[rbp], eax - 00406 7d 79 jge SHORT $LN9@stbi__proc - -; 3190 : if (z->img_comp[i].h > h_max) - - 00408 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 0040c 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00410 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00417 8b 95 a4 00 00 - 00 mov edx, DWORD PTR h_max$[rbp] - 0041d 39 94 01 a4 46 - 00 00 cmp DWORD PTR [rcx+rax+18084], edx - 00424 7e 1c jle SHORT $LN33@stbi__proc - -; 3191 : h_max = z->img_comp[i].h; - - 00426 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 0042a 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0042e 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00435 8b 84 01 a4 46 - 00 00 mov eax, DWORD PTR [rcx+rax+18084] - 0043c 89 85 a4 00 00 - 00 mov DWORD PTR h_max$[rbp], eax -$LN33@stbi__proc: - -; 3192 : if (z->img_comp[i].v > v_max) - - 00442 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 00446 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0044a 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00451 8b 95 c4 00 00 - 00 mov edx, DWORD PTR v_max$[rbp] - 00457 39 94 01 a8 46 - 00 00 cmp DWORD PTR [rcx+rax+18088], edx - 0045e 7e 1c jle SHORT $LN34@stbi__proc - -; 3193 : v_max = z->img_comp[i].v; - - 00460 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 00464 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00468 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0046f 8b 84 01 a8 46 - 00 00 mov eax, DWORD PTR [rcx+rax+18088] - 00476 89 85 c4 00 00 - 00 mov DWORD PTR v_max$[rbp], eax -$LN34@stbi__proc: - -; 3194 : } - - 0047c e9 73 ff ff ff jmp $LN8@stbi__proc -$LN9@stbi__proc: - -; 3195 : -; 3196 : // check that plane subsampling factors are integer ratios; our resamplers can't deal with fractional ratios -; 3197 : // and I've never seen a non-corrupted JPEG file actually use them -; 3198 : for (i = 0; i < s->img_n; ++i) { - - 00481 c7 45 64 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 00488 eb 08 jmp SHORT $LN13@stbi__proc -$LN11@stbi__proc: - 0048a 8b 45 64 mov eax, DWORD PTR i$[rbp] - 0048d ff c0 inc eax - 0048f 89 45 64 mov DWORD PTR i$[rbp], eax -$LN13@stbi__proc: - 00492 48 8b 45 08 mov rax, QWORD PTR s$[rbp] - 00496 8b 40 08 mov eax, DWORD PTR [rax+8] - 00499 39 45 64 cmp DWORD PTR i$[rbp], eax - 0049c 0f 8d 8b 00 00 - 00 jge $LN12@stbi__proc - -; 3199 : if (h_max % z->img_comp[i].h != 0) - - 004a2 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 004a6 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 004aa 48 89 85 b8 01 - 00 00 mov QWORD PTR tv285[rbp], rax - 004b1 8b 85 a4 00 00 - 00 mov eax, DWORD PTR h_max$[rbp] - 004b7 99 cdq - 004b8 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 004bf 4c 8b 85 b8 01 - 00 00 mov r8, QWORD PTR tv285[rbp] - 004c6 42 f7 bc 01 a4 - 46 00 00 idiv DWORD PTR [rcx+r8+18084] - 004ce 8b c2 mov eax, edx - 004d0 85 c0 test eax, eax - 004d2 74 11 je SHORT $LN35@stbi__proc - -; 3200 : return stbi__err("bad H", "Corrupt JPEG"); - - 004d4 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_05BLPKENEJ@bad?5H@ - 004db e8 00 00 00 00 call stbi__err - 004e0 e9 95 04 00 00 jmp $LN1@stbi__proc -$LN35@stbi__proc: - -; 3201 : if (v_max % z->img_comp[i].v != 0) - - 004e5 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 004e9 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 004ed 48 89 85 b8 01 - 00 00 mov QWORD PTR tv294[rbp], rax - 004f4 8b 85 c4 00 00 - 00 mov eax, DWORD PTR v_max$[rbp] - 004fa 99 cdq - 004fb 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00502 4c 8b 85 b8 01 - 00 00 mov r8, QWORD PTR tv294[rbp] - 00509 42 f7 bc 01 a8 - 46 00 00 idiv DWORD PTR [rcx+r8+18088] - 00511 8b c2 mov eax, edx - 00513 85 c0 test eax, eax - 00515 74 11 je SHORT $LN36@stbi__proc - -; 3202 : return stbi__err("bad V", "Corrupt JPEG"); - - 00517 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_05MPLLHCJG@bad?5V@ - 0051e e8 00 00 00 00 call stbi__err - 00523 e9 52 04 00 00 jmp $LN1@stbi__proc -$LN36@stbi__proc: - -; 3203 : } - - 00528 e9 5d ff ff ff jmp $LN11@stbi__proc -$LN12@stbi__proc: - -; 3204 : -; 3205 : // compute interleaved mcu info -; 3206 : z->img_h_max = h_max; - - 0052d 48 8b 85 e0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00534 8b 8d a4 00 00 - 00 mov ecx, DWORD PTR h_max$[rbp] - 0053a 89 88 88 46 00 - 00 mov DWORD PTR [rax+18056], ecx - -; 3207 : z->img_v_max = v_max; - - 00540 48 8b 85 e0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00547 8b 8d c4 00 00 - 00 mov ecx, DWORD PTR v_max$[rbp] - 0054d 89 88 8c 46 00 - 00 mov DWORD PTR [rax+18060], ecx - -; 3208 : z->img_mcu_w = h_max * 8; - - 00553 8b 85 a4 00 00 - 00 mov eax, DWORD PTR h_max$[rbp] - 00559 c1 e0 03 shl eax, 3 - 0055c 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00563 89 81 98 46 00 - 00 mov DWORD PTR [rcx+18072], eax - -; 3209 : z->img_mcu_h = v_max * 8; - - 00569 8b 85 c4 00 00 - 00 mov eax, DWORD PTR v_max$[rbp] - 0056f c1 e0 03 shl eax, 3 - 00572 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00579 89 81 9c 46 00 - 00 mov DWORD PTR [rcx+18076], eax - -; 3210 : // these sizes can't be more than 17 bits -; 3211 : z->img_mcu_x = (s->img_x + z->img_mcu_w - 1) / z->img_mcu_w; - - 0057f 48 8b 45 08 mov rax, QWORD PTR s$[rbp] - 00583 8b 00 mov eax, DWORD PTR [rax] - 00585 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0058c 8b 89 98 46 00 - 00 mov ecx, DWORD PTR [rcx+18072] - 00592 8d 44 08 ff lea eax, DWORD PTR [rax+rcx-1] - 00596 33 d2 xor edx, edx - 00598 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0059f f7 b1 98 46 00 - 00 div DWORD PTR [rcx+18072] - 005a5 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 005ac 89 81 90 46 00 - 00 mov DWORD PTR [rcx+18064], eax - -; 3212 : z->img_mcu_y = (s->img_y + z->img_mcu_h - 1) / z->img_mcu_h; - - 005b2 48 8b 45 08 mov rax, QWORD PTR s$[rbp] - 005b6 8b 40 04 mov eax, DWORD PTR [rax+4] - 005b9 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 005c0 8b 89 9c 46 00 - 00 mov ecx, DWORD PTR [rcx+18076] - 005c6 8d 44 08 ff lea eax, DWORD PTR [rax+rcx-1] - 005ca 33 d2 xor edx, edx - 005cc 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 005d3 f7 b1 9c 46 00 - 00 div DWORD PTR [rcx+18076] - 005d9 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 005e0 89 81 94 46 00 - 00 mov DWORD PTR [rcx+18068], eax - -; 3213 : -; 3214 : for (i = 0; i < s->img_n; ++i) { - - 005e6 c7 45 64 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 005ed eb 08 jmp SHORT $LN16@stbi__proc -$LN14@stbi__proc: - 005ef 8b 45 64 mov eax, DWORD PTR i$[rbp] - 005f2 ff c0 inc eax - 005f4 89 45 64 mov DWORD PTR i$[rbp], eax -$LN16@stbi__proc: - 005f7 48 8b 45 08 mov rax, QWORD PTR s$[rbp] - 005fb 8b 40 08 mov eax, DWORD PTR [rax+8] - 005fe 39 45 64 cmp DWORD PTR i$[rbp], eax - 00601 0f 8d 6e 03 00 - 00 jge $LN15@stbi__proc - -; 3215 : // number of effective pixels (e.g. for non-interleaved MCU) -; 3216 : z->img_comp[i].x = (s->img_x * z->img_comp[i].h + h_max - 1) / h_max; - - 00607 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 0060b 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0060f 48 8b 4d 08 mov rcx, QWORD PTR s$[rbp] - 00613 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 0061a 8b 09 mov ecx, DWORD PTR [rcx] - 0061c 0f af 8c 02 a4 - 46 00 00 imul ecx, DWORD PTR [rdx+rax+18084] - 00624 8b c1 mov eax, ecx - 00626 8b 8d a4 00 00 - 00 mov ecx, DWORD PTR h_max$[rbp] - 0062c 8d 44 08 ff lea eax, DWORD PTR [rax+rcx-1] - 00630 33 d2 xor edx, edx - 00632 f7 b5 a4 00 00 - 00 div DWORD PTR h_max$[rbp] - 00638 48 63 4d 64 movsxd rcx, DWORD PTR i$[rbp] - 0063c 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 00640 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 00647 89 84 0a bc 46 - 00 00 mov DWORD PTR [rdx+rcx+18108], eax - -; 3217 : z->img_comp[i].y = (s->img_y * z->img_comp[i].v + v_max - 1) / v_max; - - 0064e 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 00652 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00656 48 8b 4d 08 mov rcx, QWORD PTR s$[rbp] - 0065a 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 00661 8b 49 04 mov ecx, DWORD PTR [rcx+4] - 00664 0f af 8c 02 a8 - 46 00 00 imul ecx, DWORD PTR [rdx+rax+18088] - 0066c 8b c1 mov eax, ecx - 0066e 8b 8d c4 00 00 - 00 mov ecx, DWORD PTR v_max$[rbp] - 00674 8d 44 08 ff lea eax, DWORD PTR [rax+rcx-1] - 00678 33 d2 xor edx, edx - 0067a f7 b5 c4 00 00 - 00 div DWORD PTR v_max$[rbp] - 00680 48 63 4d 64 movsxd rcx, DWORD PTR i$[rbp] - 00684 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 00688 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 0068f 89 84 0a c0 46 - 00 00 mov DWORD PTR [rdx+rcx+18112], eax - -; 3218 : // to simplify generation, we'll allocate enough memory to decode -; 3219 : // the bogus oversized data from using interleaved MCUs and their -; 3220 : // big blocks (e.g. a 16x16 iMCU on an image of width 33); we won't -; 3221 : // discard the extra data until colorspace conversion -; 3222 : // -; 3223 : // img_mcu_x, img_mcu_y: <=17 bits; comp[i].h and .v are <=4 (checked earlier) -; 3224 : // so these muls can't overflow with 32-bit ints (which we require) -; 3225 : z->img_comp[i].w2 = z->img_mcu_x * z->img_comp[i].h * 8; - - 00696 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 0069a 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0069e 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 006a5 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 006ac 8b 89 90 46 00 - 00 mov ecx, DWORD PTR [rcx+18064] - 006b2 0f af 8c 02 a4 - 46 00 00 imul ecx, DWORD PTR [rdx+rax+18084] - 006ba 8b c1 mov eax, ecx - 006bc c1 e0 03 shl eax, 3 - 006bf 48 63 4d 64 movsxd rcx, DWORD PTR i$[rbp] - 006c3 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 006c7 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 006ce 89 84 0a c4 46 - 00 00 mov DWORD PTR [rdx+rcx+18116], eax - -; 3226 : z->img_comp[i].h2 = z->img_mcu_y * z->img_comp[i].v * 8; - - 006d5 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 006d9 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 006dd 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 006e4 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 006eb 8b 89 94 46 00 - 00 mov ecx, DWORD PTR [rcx+18068] - 006f1 0f af 8c 02 a8 - 46 00 00 imul ecx, DWORD PTR [rdx+rax+18088] - 006f9 8b c1 mov eax, ecx - 006fb c1 e0 03 shl eax, 3 - 006fe 48 63 4d 64 movsxd rcx, DWORD PTR i$[rbp] - 00702 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 00706 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 0070d 89 84 0a c8 46 - 00 00 mov DWORD PTR [rdx+rcx+18120], eax - -; 3227 : z->img_comp[i].coeff = 0; - - 00714 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 00718 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0071c 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00723 48 c7 84 01 f0 - 46 00 00 00 00 - 00 00 mov QWORD PTR [rcx+rax+18160], 0 - -; 3228 : z->img_comp[i].raw_coeff = 0; - - 0072f 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 00733 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00737 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0073e 48 c7 84 01 e0 - 46 00 00 00 00 - 00 00 mov QWORD PTR [rcx+rax+18144], 0 - -; 3229 : z->img_comp[i].linebuf = NULL; - - 0074a 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 0074e 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00752 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00759 48 c7 84 01 e8 - 46 00 00 00 00 - 00 00 mov QWORD PTR [rcx+rax+18152], 0 - -; 3230 : z->img_comp[i].raw_data = - - 00765 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 00769 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0076d 48 63 4d 64 movsxd rcx, DWORD PTR i$[rbp] - 00771 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 00775 41 b8 0f 00 00 - 00 mov r8d, 15 - 0077b 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 00782 8b 94 02 c8 46 - 00 00 mov edx, DWORD PTR [rdx+rax+18120] - 00789 48 8b 85 e0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00790 8b 8c 08 c4 46 - 00 00 mov ecx, DWORD PTR [rax+rcx+18116] - 00797 e8 00 00 00 00 call stbi__malloc_mad2 - 0079c 48 63 4d 64 movsxd rcx, DWORD PTR i$[rbp] - 007a0 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 007a4 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 007ab 48 89 84 0a d8 - 46 00 00 mov QWORD PTR [rdx+rcx+18136], rax - -; 3231 : stbi__malloc_mad2(z->img_comp[i].w2, z->img_comp[i].h2, 15); -; 3232 : if (z->img_comp[i].raw_data == NULL) - - 007b3 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 007b7 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 007bb 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 007c2 48 83 bc 01 d8 - 46 00 00 00 cmp QWORD PTR [rcx+rax+18136], 0 - 007cb 75 27 jne SHORT $LN37@stbi__proc - -; 3233 : return stbi__free_jpeg_components(z, i + 1, - - 007cd 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 007d4 e8 00 00 00 00 call stbi__err - 007d9 8b 4d 64 mov ecx, DWORD PTR i$[rbp] - 007dc ff c1 inc ecx - 007de 44 8b c0 mov r8d, eax - 007e1 8b d1 mov edx, ecx - 007e3 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 007ea e8 00 00 00 00 call stbi__free_jpeg_components - 007ef e9 86 01 00 00 jmp $LN1@stbi__proc -$LN37@stbi__proc: - -; 3234 : stbi__err("outofmem", "Out of memory")); -; 3235 : // align blocks for idct using mmx/sse -; 3236 : z->img_comp[i].data = (stbi_uc *)(((size_t)z->img_comp[i].raw_data + 15) & ~15); - - 007f4 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 007f8 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 007fc 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00803 48 8b 84 01 d8 - 46 00 00 mov rax, QWORD PTR [rcx+rax+18136] - 0080b 48 83 c0 0f add rax, 15 - 0080f 48 83 e0 f0 and rax, -16 - 00813 48 63 4d 64 movsxd rcx, DWORD PTR i$[rbp] - 00817 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 0081b 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 00822 48 89 84 0a d0 - 46 00 00 mov QWORD PTR [rdx+rcx+18128], rax - -; 3237 : if (z->progressive) { - - 0082a 48 8b 85 e0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00831 83 b8 30 48 00 - 00 00 cmp DWORD PTR [rax+18480], 0 - 00838 0f 84 32 01 00 - 00 je $LN38@stbi__proc - -; 3238 : // w2, h2 are multiples of 8 (see above) -; 3239 : z->img_comp[i].coeff_w = z->img_comp[i].w2 / 8; - - 0083e 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 00842 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00846 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0084d 8b 84 01 c4 46 - 00 00 mov eax, DWORD PTR [rcx+rax+18116] - 00854 99 cdq - 00855 83 e2 07 and edx, 7 - 00858 03 c2 add eax, edx - 0085a c1 f8 03 sar eax, 3 - 0085d 48 63 4d 64 movsxd rcx, DWORD PTR i$[rbp] - 00861 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 00865 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 0086c 89 84 0a f8 46 - 00 00 mov DWORD PTR [rdx+rcx+18168], eax - -; 3240 : z->img_comp[i].coeff_h = z->img_comp[i].h2 / 8; - - 00873 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 00877 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0087b 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00882 8b 84 01 c8 46 - 00 00 mov eax, DWORD PTR [rcx+rax+18120] - 00889 99 cdq - 0088a 83 e2 07 and edx, 7 - 0088d 03 c2 add eax, edx - 0088f c1 f8 03 sar eax, 3 - 00892 48 63 4d 64 movsxd rcx, DWORD PTR i$[rbp] - 00896 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 0089a 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 008a1 89 84 0a fc 46 - 00 00 mov DWORD PTR [rdx+rcx+18172], eax - -; 3241 : z->img_comp[i].raw_coeff = stbi__malloc_mad3( - - 008a8 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 008ac 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 008b0 48 63 4d 64 movsxd rcx, DWORD PTR i$[rbp] - 008b4 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 008b8 41 b9 0f 00 00 - 00 mov r9d, 15 - 008be 41 b8 02 00 00 - 00 mov r8d, 2 - 008c4 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 008cb 8b 94 02 c8 46 - 00 00 mov edx, DWORD PTR [rdx+rax+18120] - 008d2 48 8b 85 e0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 008d9 8b 8c 08 c4 46 - 00 00 mov ecx, DWORD PTR [rax+rcx+18116] - 008e0 e8 00 00 00 00 call stbi__malloc_mad3 - 008e5 48 63 4d 64 movsxd rcx, DWORD PTR i$[rbp] - 008e9 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 008ed 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 008f4 48 89 84 0a e0 - 46 00 00 mov QWORD PTR [rdx+rcx+18144], rax - -; 3242 : z->img_comp[i].w2, z->img_comp[i].h2, sizeof(short), 15); -; 3243 : if (z->img_comp[i].raw_coeff == NULL) - - 008fc 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 00900 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00904 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0090b 48 83 bc 01 e0 - 46 00 00 00 cmp QWORD PTR [rcx+rax+18144], 0 - 00914 75 24 jne SHORT $LN39@stbi__proc - -; 3244 : return stbi__free_jpeg_components( - - 00916 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 0091d e8 00 00 00 00 call stbi__err - 00922 8b 4d 64 mov ecx, DWORD PTR i$[rbp] - 00925 ff c1 inc ecx - 00927 44 8b c0 mov r8d, eax - 0092a 8b d1 mov edx, ecx - 0092c 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00933 e8 00 00 00 00 call stbi__free_jpeg_components - 00938 eb 40 jmp SHORT $LN1@stbi__proc -$LN39@stbi__proc: - -; 3245 : z, i + 1, stbi__err("outofmem", "Out of memory")); -; 3246 : z->img_comp[i].coeff = - - 0093a 48 63 45 64 movsxd rax, DWORD PTR i$[rbp] - 0093e 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00942 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00949 48 8b 84 01 e0 - 46 00 00 mov rax, QWORD PTR [rcx+rax+18144] - 00951 48 83 c0 0f add rax, 15 - 00955 48 83 e0 f0 and rax, -16 - 00959 48 63 4d 64 movsxd rcx, DWORD PTR i$[rbp] - 0095d 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 00961 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 00968 48 89 84 0a f0 - 46 00 00 mov QWORD PTR [rdx+rcx+18160], rax -$LN38@stbi__proc: - -; 3247 : (short *)(((size_t)z->img_comp[i].raw_coeff + 15) & ~15); -; 3248 : } -; 3249 : } - - 00970 e9 7a fc ff ff jmp $LN14@stbi__proc -$LN15@stbi__proc: - -; 3250 : -; 3251 : return 1; - - 00975 b8 01 00 00 00 mov eax, 1 -$LN1@stbi__proc: - -; 3252 : } - - 0097a 48 8d a5 c8 01 - 00 00 lea rsp, QWORD PTR [rbp+456] - 00981 5f pop rdi - 00982 5d pop rbp - 00983 c3 ret 0 -stbi__process_frame_header ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__free_jpeg_components -_TEXT SEGMENT -i$ = 4 -z$ = 256 -ncomp$ = 264 -why$ = 272 -stbi__free_jpeg_components PROC ; COMDAT - -; 3109 : { - - 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 00005 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00009 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000e 55 push rbp - 0000f 57 push rdi - 00010 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 00017 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00023 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00028 90 npad 1 - -; 3110 : int i; -; 3111 : for (i = 0; i < ncomp; ++i) { - - 00029 c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 00030 eb 08 jmp SHORT $LN4@stbi__free -$LN2@stbi__free: - 00032 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00035 ff c0 inc eax - 00037 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__free: - 0003a 8b 85 08 01 00 - 00 mov eax, DWORD PTR ncomp$[rbp] - 00040 39 45 04 cmp DWORD PTR i$[rbp], eax - 00043 0f 8d 34 01 00 - 00 jge $LN3@stbi__free - -; 3112 : if (z->img_comp[i].raw_data) { - - 00049 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 0004d 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00051 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00058 48 83 bc 01 d8 - 46 00 00 00 cmp QWORD PTR [rcx+rax+18136], 0 - 00061 74 54 je SHORT $LN5@stbi__free - -; 3113 : STBI_FREE(z->img_comp[i].raw_data); - - 00063 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 00067 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0006b 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00072 48 8b 8c 01 d8 - 46 00 00 mov rcx, QWORD PTR [rcx+rax+18136] - 0007a ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00080 90 npad 1 - -; 3114 : z->img_comp[i].raw_data = NULL; - - 00081 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 00085 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00089 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00090 48 c7 84 01 d8 - 46 00 00 00 00 - 00 00 mov QWORD PTR [rcx+rax+18136], 0 - -; 3115 : z->img_comp[i].data = NULL; - - 0009c 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 000a0 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 000a4 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 000ab 48 c7 84 01 d0 - 46 00 00 00 00 - 00 00 mov QWORD PTR [rcx+rax+18128], 0 -$LN5@stbi__free: - -; 3116 : } -; 3117 : if (z->img_comp[i].raw_coeff) { - - 000b7 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 000bb 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 000bf 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 000c6 48 83 bc 01 e0 - 46 00 00 00 cmp QWORD PTR [rcx+rax+18144], 0 - 000cf 74 54 je SHORT $LN6@stbi__free - -; 3118 : STBI_FREE(z->img_comp[i].raw_coeff); - - 000d1 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 000d5 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 000d9 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 000e0 48 8b 8c 01 e0 - 46 00 00 mov rcx, QWORD PTR [rcx+rax+18144] - 000e8 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 000ee 90 npad 1 - -; 3119 : z->img_comp[i].raw_coeff = 0; - - 000ef 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 000f3 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 000f7 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 000fe 48 c7 84 01 e0 - 46 00 00 00 00 - 00 00 mov QWORD PTR [rcx+rax+18144], 0 - -; 3120 : z->img_comp[i].coeff = 0; - - 0010a 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 0010e 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00112 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00119 48 c7 84 01 f0 - 46 00 00 00 00 - 00 00 mov QWORD PTR [rcx+rax+18160], 0 -$LN6@stbi__free: - -; 3121 : } -; 3122 : if (z->img_comp[i].linebuf) { - - 00125 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 00129 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0012d 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00134 48 83 bc 01 e8 - 46 00 00 00 cmp QWORD PTR [rcx+rax+18152], 0 - 0013d 74 39 je SHORT $LN7@stbi__free - -; 3123 : STBI_FREE(z->img_comp[i].linebuf); - - 0013f 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 00143 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00147 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0014e 48 8b 8c 01 e8 - 46 00 00 mov rcx, QWORD PTR [rcx+rax+18152] - 00156 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 0015c 90 npad 1 - -; 3124 : z->img_comp[i].linebuf = NULL; - - 0015d 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 00161 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00165 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0016c 48 c7 84 01 e8 - 46 00 00 00 00 - 00 00 mov QWORD PTR [rcx+rax+18152], 0 -$LN7@stbi__free: - -; 3125 : } -; 3126 : } - - 00178 e9 b5 fe ff ff jmp $LN2@stbi__free -$LN3@stbi__free: - -; 3127 : return why; - - 0017d 8b 85 10 01 00 - 00 mov eax, DWORD PTR why$[rbp] - -; 3128 : } - - 00183 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 0018a 5f pop rdi - 0018b 5d pop rbp - 0018c c3 ret 0 -stbi__free_jpeg_components ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__process_scan_header -_TEXT SEGMENT -i$ = 4 -Ls$ = 36 -id$1 = 68 -which$2 = 100 -q$3 = 132 -aa$4 = 164 -z$ = 416 -stbi__process_scan_header PROC ; COMDAT - -; 3060 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec a8 01 - 00 00 sub rsp, 424 ; 000001a8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 3061 : int i; -; 3062 : int Ls = stbi__get16be(z->s); - - 00020 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00027 48 8b 08 mov rcx, QWORD PTR [rax] - 0002a e8 00 00 00 00 call stbi__get16be - 0002f 89 45 24 mov DWORD PTR Ls$[rbp], eax - -; 3063 : z->scan_n = stbi__get8(z->s); - - 00032 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00039 48 8b 08 mov rcx, QWORD PTR [rax] - 0003c e8 00 00 00 00 call stbi__get8 - 00041 0f b6 c0 movzx eax, al - 00044 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0004b 89 81 54 48 00 - 00 mov DWORD PTR [rcx+18516], eax - -; 3064 : if (z->scan_n < 1 || z->scan_n > 4 || z->scan_n > (int)z->s->img_n) - - 00051 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00058 83 b8 54 48 00 - 00 01 cmp DWORD PTR [rax+18516], 1 - 0005f 7c 2c jl SHORT $LN9@stbi__proc - 00061 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00068 83 b8 54 48 00 - 00 04 cmp DWORD PTR [rax+18516], 4 - 0006f 7f 1c jg SHORT $LN9@stbi__proc - 00071 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00078 48 8b 00 mov rax, QWORD PTR [rax] - 0007b 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00082 8b 40 08 mov eax, DWORD PTR [rax+8] - 00085 39 81 54 48 00 - 00 cmp DWORD PTR [rcx+18516], eax - 0008b 7e 11 jle SHORT $LN8@stbi__proc -$LN9@stbi__proc: - -; 3065 : return stbi__err("bad SOS component count", "Corrupt JPEG"); - - 0008d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BI@DHFJCMBA@bad?5SOS?5component?5count@ - 00094 e8 00 00 00 00 call stbi__err - 00099 e9 e2 02 00 00 jmp $LN1@stbi__proc -$LN8@stbi__proc: - -; 3066 : if (Ls != 6 + 2 * z->scan_n) - - 0009e 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 000a5 8b 80 54 48 00 - 00 mov eax, DWORD PTR [rax+18516] - 000ab 8d 44 00 06 lea eax, DWORD PTR [rax+rax+6] - 000af 39 45 24 cmp DWORD PTR Ls$[rbp], eax - 000b2 74 11 je SHORT $LN10@stbi__proc - -; 3067 : return stbi__err("bad SOS len", "Corrupt JPEG"); - - 000b4 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0M@GNEHAHOH@bad?5SOS?5len@ - 000bb e8 00 00 00 00 call stbi__err - 000c0 e9 bb 02 00 00 jmp $LN1@stbi__proc -$LN10@stbi__proc: - -; 3068 : for (i = 0; i < z->scan_n; ++i) { - - 000c5 c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 000cc eb 08 jmp SHORT $LN4@stbi__proc -$LN2@stbi__proc: - 000ce 8b 45 04 mov eax, DWORD PTR i$[rbp] - 000d1 ff c0 inc eax - 000d3 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__proc: - 000d6 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 000dd 8b 80 54 48 00 - 00 mov eax, DWORD PTR [rax+18516] - 000e3 39 45 04 cmp DWORD PTR i$[rbp], eax - 000e6 0f 8d 34 01 00 - 00 jge $LN3@stbi__proc - -; 3069 : int id = stbi__get8(z->s), which; - - 000ec 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 000f3 48 8b 08 mov rcx, QWORD PTR [rax] - 000f6 e8 00 00 00 00 call stbi__get8 - 000fb 0f b6 c0 movzx eax, al - 000fe 89 45 44 mov DWORD PTR id$1[rbp], eax - -; 3070 : int q = stbi__get8(z->s); - - 00101 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00108 48 8b 08 mov rcx, QWORD PTR [rax] - 0010b e8 00 00 00 00 call stbi__get8 - 00110 0f b6 c0 movzx eax, al - 00113 89 85 84 00 00 - 00 mov DWORD PTR q$3[rbp], eax - -; 3071 : for (which = 0; which < z->s->img_n; ++which) - - 00119 c7 45 64 00 00 - 00 00 mov DWORD PTR which$2[rbp], 0 - 00120 eb 08 jmp SHORT $LN7@stbi__proc -$LN5@stbi__proc: - 00122 8b 45 64 mov eax, DWORD PTR which$2[rbp] - 00125 ff c0 inc eax - 00127 89 45 64 mov DWORD PTR which$2[rbp], eax -$LN7@stbi__proc: - 0012a 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00131 48 8b 00 mov rax, QWORD PTR [rax] - 00134 8b 40 08 mov eax, DWORD PTR [rax+8] - 00137 39 45 64 cmp DWORD PTR which$2[rbp], eax - 0013a 7d 1f jge SHORT $LN6@stbi__proc - -; 3072 : if (z->img_comp[which].id == id) - - 0013c 48 63 45 64 movsxd rax, DWORD PTR which$2[rbp] - 00140 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00144 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0014b 8b 55 44 mov edx, DWORD PTR id$1[rbp] - 0014e 39 94 01 a0 46 - 00 00 cmp DWORD PTR [rcx+rax+18080], edx - 00155 75 02 jne SHORT $LN11@stbi__proc - -; 3073 : break; - - 00157 eb 02 jmp SHORT $LN6@stbi__proc -$LN11@stbi__proc: - 00159 eb c7 jmp SHORT $LN5@stbi__proc -$LN6@stbi__proc: - -; 3074 : if (which == z->s->img_n) - - 0015b 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00162 48 8b 00 mov rax, QWORD PTR [rax] - 00165 8b 40 08 mov eax, DWORD PTR [rax+8] - 00168 39 45 64 cmp DWORD PTR which$2[rbp], eax - 0016b 75 07 jne SHORT $LN12@stbi__proc - -; 3075 : return 0; // no match - - 0016d 33 c0 xor eax, eax - 0016f e9 0c 02 00 00 jmp $LN1@stbi__proc -$LN12@stbi__proc: - -; 3076 : z->img_comp[which].hd = q >> 4; - - 00174 8b 85 84 00 00 - 00 mov eax, DWORD PTR q$3[rbp] - 0017a c1 f8 04 sar eax, 4 - 0017d 48 63 4d 64 movsxd rcx, DWORD PTR which$2[rbp] - 00181 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 00185 48 8b 95 a0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 0018c 89 84 0a b0 46 - 00 00 mov DWORD PTR [rdx+rcx+18096], eax - -; 3077 : if (z->img_comp[which].hd > 3) - - 00193 48 63 45 64 movsxd rax, DWORD PTR which$2[rbp] - 00197 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0019b 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 001a2 83 bc 01 b0 46 - 00 00 03 cmp DWORD PTR [rcx+rax+18096], 3 - 001aa 7e 11 jle SHORT $LN13@stbi__proc - -; 3078 : return stbi__err("bad DC huff", "Corrupt JPEG"); - - 001ac 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0M@NOCCBFAC@bad?5DC?5huff@ - 001b3 e8 00 00 00 00 call stbi__err - 001b8 e9 c3 01 00 00 jmp $LN1@stbi__proc -$LN13@stbi__proc: - -; 3079 : z->img_comp[which].ha = q & 15; - - 001bd 8b 85 84 00 00 - 00 mov eax, DWORD PTR q$3[rbp] - 001c3 83 e0 0f and eax, 15 - 001c6 48 63 4d 64 movsxd rcx, DWORD PTR which$2[rbp] - 001ca 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 001ce 48 8b 95 a0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 001d5 89 84 0a b4 46 - 00 00 mov DWORD PTR [rdx+rcx+18100], eax - -; 3080 : if (z->img_comp[which].ha > 3) - - 001dc 48 63 45 64 movsxd rax, DWORD PTR which$2[rbp] - 001e0 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 001e4 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 001eb 83 bc 01 b4 46 - 00 00 03 cmp DWORD PTR [rcx+rax+18100], 3 - 001f3 7e 11 jle SHORT $LN14@stbi__proc - -; 3081 : return stbi__err("bad AC huff", "Corrupt JPEG"); - - 001f5 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0M@JGMCBLGG@bad?5AC?5huff@ - 001fc e8 00 00 00 00 call stbi__err - 00201 e9 7a 01 00 00 jmp $LN1@stbi__proc -$LN14@stbi__proc: - -; 3082 : z->order[i] = which; - - 00206 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 0020a 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00211 8b 55 64 mov edx, DWORD PTR which$2[rbp] - 00214 89 94 81 58 48 - 00 00 mov DWORD PTR [rcx+rax*4+18520], edx - -; 3083 : } - - 0021b e9 ae fe ff ff jmp $LN2@stbi__proc -$LN3@stbi__proc: - -; 3084 : -; 3085 : { -; 3086 : int aa; -; 3087 : z->spec_start = stbi__get8(z->s); - - 00220 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00227 48 8b 08 mov rcx, QWORD PTR [rax] - 0022a e8 00 00 00 00 call stbi__get8 - 0022f 0f b6 c0 movzx eax, al - 00232 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00239 89 81 34 48 00 - 00 mov DWORD PTR [rcx+18484], eax - -; 3088 : z->spec_end = stbi__get8(z->s); // should be 63, but might be 0 - - 0023f 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00246 48 8b 08 mov rcx, QWORD PTR [rax] - 00249 e8 00 00 00 00 call stbi__get8 - 0024e 0f b6 c0 movzx eax, al - 00251 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00258 89 81 38 48 00 - 00 mov DWORD PTR [rcx+18488], eax - -; 3089 : aa = stbi__get8(z->s); - - 0025e 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00265 48 8b 08 mov rcx, QWORD PTR [rax] - 00268 e8 00 00 00 00 call stbi__get8 - 0026d 0f b6 c0 movzx eax, al - 00270 89 85 a4 00 00 - 00 mov DWORD PTR aa$4[rbp], eax - -; 3090 : z->succ_high = (aa >> 4); - - 00276 8b 85 a4 00 00 - 00 mov eax, DWORD PTR aa$4[rbp] - 0027c c1 f8 04 sar eax, 4 - 0027f 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00286 89 81 3c 48 00 - 00 mov DWORD PTR [rcx+18492], eax - -; 3091 : z->succ_low = (aa & 15); - - 0028c 8b 85 a4 00 00 - 00 mov eax, DWORD PTR aa$4[rbp] - 00292 83 e0 0f and eax, 15 - 00295 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0029c 89 81 40 48 00 - 00 mov DWORD PTR [rcx+18496], eax - -; 3092 : if (z->progressive) { - - 002a2 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 002a9 83 b8 30 48 00 - 00 00 cmp DWORD PTR [rax+18480], 0 - 002b0 74 6c je SHORT $LN15@stbi__proc - -; 3093 : if (z->spec_start > 63 || z->spec_end > 63 || z->spec_start > z->spec_end || -; 3094 : z->succ_high > 13 || z->succ_low > 13) - - 002b2 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 002b9 83 b8 34 48 00 - 00 3f cmp DWORD PTR [rax+18484], 63 ; 0000003fH - 002c0 7f 4c jg SHORT $LN18@stbi__proc - 002c2 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 002c9 83 b8 38 48 00 - 00 3f cmp DWORD PTR [rax+18488], 63 ; 0000003fH - 002d0 7f 3c jg SHORT $LN18@stbi__proc - 002d2 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 002d9 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 002e0 8b 89 38 48 00 - 00 mov ecx, DWORD PTR [rcx+18488] - 002e6 39 88 34 48 00 - 00 cmp DWORD PTR [rax+18484], ecx - 002ec 7f 20 jg SHORT $LN18@stbi__proc - 002ee 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 002f5 83 b8 3c 48 00 - 00 0d cmp DWORD PTR [rax+18492], 13 - 002fc 7f 10 jg SHORT $LN18@stbi__proc - 002fe 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00305 83 b8 40 48 00 - 00 0d cmp DWORD PTR [rax+18496], 13 - 0030c 7e 0e jle SHORT $LN17@stbi__proc -$LN18@stbi__proc: - -; 3095 : return stbi__err("bad SOS", "Corrupt JPEG"); - - 0030e 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07EEJOMGGP@bad?5SOS@ - 00315 e8 00 00 00 00 call stbi__err - 0031a eb 64 jmp SHORT $LN1@stbi__proc -$LN17@stbi__proc: - -; 3096 : } else { - - 0031c eb 5d jmp SHORT $LN16@stbi__proc -$LN15@stbi__proc: - -; 3097 : if (z->spec_start != 0) - - 0031e 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00325 83 b8 34 48 00 - 00 00 cmp DWORD PTR [rax+18484], 0 - 0032c 74 0e je SHORT $LN19@stbi__proc - -; 3098 : return stbi__err("bad SOS", "Corrupt JPEG"); - - 0032e 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07EEJOMGGP@bad?5SOS@ - 00335 e8 00 00 00 00 call stbi__err - 0033a eb 44 jmp SHORT $LN1@stbi__proc -$LN19@stbi__proc: - -; 3099 : if (z->succ_high != 0 || z->succ_low != 0) - - 0033c 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00343 83 b8 3c 48 00 - 00 00 cmp DWORD PTR [rax+18492], 0 - 0034a 75 10 jne SHORT $LN21@stbi__proc - 0034c 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00353 83 b8 40 48 00 - 00 00 cmp DWORD PTR [rax+18496], 0 - 0035a 74 0e je SHORT $LN20@stbi__proc -$LN21@stbi__proc: - -; 3100 : return stbi__err("bad SOS", "Corrupt JPEG"); - - 0035c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07EEJOMGGP@bad?5SOS@ - 00363 e8 00 00 00 00 call stbi__err - 00368 eb 16 jmp SHORT $LN1@stbi__proc -$LN20@stbi__proc: - -; 3101 : z->spec_end = 63; - - 0036a 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00371 c7 80 38 48 00 - 00 3f 00 00 00 mov DWORD PTR [rax+18488], 63 ; 0000003fH -$LN16@stbi__proc: - -; 3102 : } -; 3103 : } -; 3104 : -; 3105 : return 1; - - 0037b b8 01 00 00 00 mov eax, 1 -$LN1@stbi__proc: - -; 3106 : } - - 00380 48 8d a5 88 01 - 00 00 lea rsp, QWORD PTR [rbp+392] - 00387 5f pop rdi - 00388 5d pop rbp - 00389 c3 ret 0 -stbi__process_scan_header ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__process_marker -_TEXT SEGMENT -L$ = 4 -q$4 = 36 -p$5 = 68 -sixteen$6 = 100 -t$7 = 132 -i$8 = 164 -v$9 = 200 -sizes$10 = 240 -i$11 = 324 -n$12 = 356 -q$13 = 388 -tc$14 = 420 -th$15 = 452 -ok$16 = 484 -i$17 = 516 -ok$18 = 548 -i$19 = 580 -tv64 = 980 -tv88 = 980 -tv149 = 980 -tv152 = 980 -tv155 = 980 -tv236 = 980 -__$ArrayPad$ = 984 -z$ = 1024 -m$ = 1032 -stbi__process_marker PROC ; COMDAT - -; 2945 : { - - 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00009 55 push rbp - 0000a 57 push rdi - 0000b 48 81 ec 08 04 - 00 00 sub rsp, 1032 ; 00000408H - 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00017 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 0001c b9 9a 00 00 00 mov ecx, 154 ; 0000009aH - 00021 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00026 f3 ab rep stosd - 00028 48 8b 8c 24 28 - 04 00 00 mov rcx, QWORD PTR [rsp+1064] - 00030 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00037 48 33 c5 xor rax, rbp - 0003a 48 89 85 d8 03 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 00041 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00048 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0004d 90 npad 1 - -; 2946 : int L; -; 2947 : switch (m) { - - 0004e 8b 85 08 04 00 - 00 mov eax, DWORD PTR m$[rbp] - 00054 89 85 d4 03 00 - 00 mov DWORD PTR tv64[rbp], eax - 0005a 81 bd d4 03 00 - 00 c4 00 00 00 cmp DWORD PTR tv64[rbp], 196 ; 000000c4H - 00064 0f 84 19 02 00 - 00 je $LN29@stbi__proc - 0006a 81 bd d4 03 00 - 00 db 00 00 00 cmp DWORD PTR tv64[rbp], 219 ; 000000dbH - 00074 74 79 je SHORT $LN26@stbi__proc - 00076 81 bd d4 03 00 - 00 dd 00 00 00 cmp DWORD PTR tv64[rbp], 221 ; 000000ddH - 00080 74 22 je SHORT $LN24@stbi__proc - 00082 81 bd d4 03 00 - 00 ff 00 00 00 cmp DWORD PTR tv64[rbp], 255 ; 000000ffH - 0008c 74 05 je SHORT $LN23@stbi__proc - 0008e e9 8b 04 00 00 jmp $LN2@stbi__proc -$LN23@stbi__proc: - -; 2948 : case STBI__MARKER_none: // no marker found -; 2949 : return stbi__err("expected marker", "Corrupt JPEG"); - - 00093 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BA@KLNDOKJD@expected?5marker@ - 0009a e8 00 00 00 00 call stbi__err - 0009f e9 a1 06 00 00 jmp $LN1@stbi__proc -$LN24@stbi__proc: - -; 2950 : -; 2951 : case 0xDD: // DRI - specify restart interval -; 2952 : if (stbi__get16be(z->s) != 4) - - 000a4 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR z$[rbp] - 000ab 48 8b 08 mov rcx, QWORD PTR [rax] - 000ae e8 00 00 00 00 call stbi__get16be - 000b3 83 f8 04 cmp eax, 4 - 000b6 74 11 je SHORT $LN25@stbi__proc - -; 2953 : return stbi__err("bad DRI len", "Corrupt JPEG"); - - 000b8 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0M@LPHNODCG@bad?5DRI?5len@ - 000bf e8 00 00 00 00 call stbi__err - 000c4 e9 7c 06 00 00 jmp $LN1@stbi__proc -$LN25@stbi__proc: - -; 2954 : z->restart_interval = stbi__get16be(z->s); - - 000c9 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR z$[rbp] - 000d0 48 8b 08 mov rcx, QWORD PTR [rax] - 000d3 e8 00 00 00 00 call stbi__get16be - 000d8 48 8b 8d 00 04 - 00 00 mov rcx, QWORD PTR z$[rbp] - 000df 89 81 68 48 00 - 00 mov DWORD PTR [rcx+18536], eax - -; 2955 : return 1; - - 000e5 b8 01 00 00 00 mov eax, 1 - 000ea e9 56 06 00 00 jmp $LN1@stbi__proc -$LN26@stbi__proc: - -; 2956 : -; 2957 : case 0xDB: // DQT - define quantization table -; 2958 : L = stbi__get16be(z->s) - 2; - - 000ef 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR z$[rbp] - 000f6 48 8b 08 mov rcx, QWORD PTR [rax] - 000f9 e8 00 00 00 00 call stbi__get16be - 000fe 83 e8 02 sub eax, 2 - 00101 89 45 04 mov DWORD PTR L$[rbp], eax -$LN4@stbi__proc: - -; 2959 : while (L > 0) { - - 00104 83 7d 04 00 cmp DWORD PTR L$[rbp], 0 - 00108 0f 8e 4e 01 00 - 00 jle $LN5@stbi__proc - -; 2960 : int q = stbi__get8(z->s); - - 0010e 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR z$[rbp] - 00115 48 8b 08 mov rcx, QWORD PTR [rax] - 00118 e8 00 00 00 00 call stbi__get8 - 0011d 0f b6 c0 movzx eax, al - 00120 89 45 24 mov DWORD PTR q$4[rbp], eax - -; 2961 : int p = q >> 4, sixteen = (p != 0); - - 00123 8b 45 24 mov eax, DWORD PTR q$4[rbp] - 00126 c1 f8 04 sar eax, 4 - 00129 89 45 44 mov DWORD PTR p$5[rbp], eax - 0012c 83 7d 44 00 cmp DWORD PTR p$5[rbp], 0 - 00130 74 0c je SHORT $LN52@stbi__proc - 00132 c7 85 d4 03 00 - 00 01 00 00 00 mov DWORD PTR tv88[rbp], 1 - 0013c eb 0a jmp SHORT $LN53@stbi__proc -$LN52@stbi__proc: - 0013e c7 85 d4 03 00 - 00 00 00 00 00 mov DWORD PTR tv88[rbp], 0 -$LN53@stbi__proc: - 00148 8b 85 d4 03 00 - 00 mov eax, DWORD PTR tv88[rbp] - 0014e 89 45 64 mov DWORD PTR sixteen$6[rbp], eax - -; 2962 : int t = q & 15, i; - - 00151 8b 45 24 mov eax, DWORD PTR q$4[rbp] - 00154 83 e0 0f and eax, 15 - 00157 89 85 84 00 00 - 00 mov DWORD PTR t$7[rbp], eax - -; 2963 : if (p != 0 && p != 1) - - 0015d 83 7d 44 00 cmp DWORD PTR p$5[rbp], 0 - 00161 74 17 je SHORT $LN27@stbi__proc - 00163 83 7d 44 01 cmp DWORD PTR p$5[rbp], 1 - 00167 74 11 je SHORT $LN27@stbi__proc - -; 2964 : return stbi__err("bad DQT type", "Corrupt JPEG"); - - 00169 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0N@BOFJCHAP@bad?5DQT?5type@ - 00170 e8 00 00 00 00 call stbi__err - 00175 e9 cb 05 00 00 jmp $LN1@stbi__proc -$LN27@stbi__proc: - -; 2965 : if (t > 3) - - 0017a 83 bd 84 00 00 - 00 03 cmp DWORD PTR t$7[rbp], 3 - 00181 7e 11 jle SHORT $LN28@stbi__proc - -; 2966 : return stbi__err("bad DQT table", "Corrupt JPEG"); - - 00183 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0O@CNHKKDIM@bad?5DQT?5table@ - 0018a e8 00 00 00 00 call stbi__err - 0018f e9 b1 05 00 00 jmp $LN1@stbi__proc -$LN28@stbi__proc: - -; 2967 : -; 2968 : for (i = 0; i < 64; ++i) - - 00194 c7 85 a4 00 00 - 00 00 00 00 00 mov DWORD PTR i$8[rbp], 0 - 0019e eb 0e jmp SHORT $LN8@stbi__proc -$LN6@stbi__proc: - 001a0 8b 85 a4 00 00 - 00 mov eax, DWORD PTR i$8[rbp] - 001a6 ff c0 inc eax - 001a8 89 85 a4 00 00 - 00 mov DWORD PTR i$8[rbp], eax -$LN8@stbi__proc: - 001ae 83 bd a4 00 00 - 00 40 cmp DWORD PTR i$8[rbp], 64 ; 00000040H - 001b5 7d 74 jge SHORT $LN7@stbi__proc - -; 2969 : z->dequant[t][stbi__jpeg_dezigzag[i]] = - - 001b7 83 7d 64 00 cmp DWORD PTR sixteen$6[rbp], 0 - 001bb 74 17 je SHORT $LN54@stbi__proc - 001bd 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR z$[rbp] - 001c4 48 8b 08 mov rcx, QWORD PTR [rax] - 001c7 e8 00 00 00 00 call stbi__get16be - 001cc 89 85 d4 03 00 - 00 mov DWORD PTR tv149[rbp], eax - 001d2 eb 18 jmp SHORT $LN55@stbi__proc -$LN54@stbi__proc: - 001d4 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR z$[rbp] - 001db 48 8b 08 mov rcx, QWORD PTR [rax] - 001de e8 00 00 00 00 call stbi__get8 - 001e3 0f b6 c0 movzx eax, al - 001e6 89 85 d4 03 00 - 00 mov DWORD PTR tv149[rbp], eax -$LN55@stbi__proc: - 001ec 48 63 85 84 00 - 00 00 movsxd rax, DWORD PTR t$7[rbp] - 001f3 48 69 c0 80 00 - 00 00 imul rax, rax, 128 ; 00000080H - 001fa 48 8b 8d 00 04 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00201 48 8d 84 01 88 - 34 00 00 lea rax, QWORD PTR [rcx+rax+13448] - 00209 48 63 8d a4 00 - 00 00 movsxd rcx, DWORD PTR i$8[rbp] - 00210 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__jpeg_dezigzag - 00217 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 0021b 0f b7 95 d4 03 - 00 00 movzx edx, WORD PTR tv149[rbp] - 00222 66 89 14 48 mov WORD PTR [rax+rcx*2], dx - 00226 e9 75 ff ff ff jmp $LN6@stbi__proc -$LN7@stbi__proc: - -; 2970 : (stbi__uint16)(sixteen ? stbi__get16be(z->s) : -; 2971 : stbi__get8(z->s)); -; 2972 : L -= (sixteen ? 129 : 65); - - 0022b 83 7d 64 00 cmp DWORD PTR sixteen$6[rbp], 0 - 0022f 74 0c je SHORT $LN56@stbi__proc - 00231 c7 85 d4 03 00 - 00 81 00 00 00 mov DWORD PTR tv152[rbp], 129 ; 00000081H - 0023b eb 0a jmp SHORT $LN57@stbi__proc -$LN56@stbi__proc: - 0023d c7 85 d4 03 00 - 00 41 00 00 00 mov DWORD PTR tv152[rbp], 65 ; 00000041H -$LN57@stbi__proc: - 00247 8b 85 d4 03 00 - 00 mov eax, DWORD PTR tv152[rbp] - 0024d 8b 4d 04 mov ecx, DWORD PTR L$[rbp] - 00250 2b c8 sub ecx, eax - 00252 8b c1 mov eax, ecx - 00254 89 45 04 mov DWORD PTR L$[rbp], eax - -; 2973 : } - - 00257 e9 a8 fe ff ff jmp $LN4@stbi__proc -$LN5@stbi__proc: - -; 2974 : return L == 0; - - 0025c 83 7d 04 00 cmp DWORD PTR L$[rbp], 0 - 00260 75 0c jne SHORT $LN58@stbi__proc - 00262 c7 85 d4 03 00 - 00 01 00 00 00 mov DWORD PTR tv155[rbp], 1 - 0026c eb 0a jmp SHORT $LN59@stbi__proc -$LN58@stbi__proc: - 0026e c7 85 d4 03 00 - 00 00 00 00 00 mov DWORD PTR tv155[rbp], 0 -$LN59@stbi__proc: - 00278 8b 85 d4 03 00 - 00 mov eax, DWORD PTR tv155[rbp] - 0027e e9 c2 04 00 00 jmp $LN1@stbi__proc -$LN29@stbi__proc: - -; 2975 : -; 2976 : case 0xC4: // DHT - define huffman table -; 2977 : L = stbi__get16be(z->s) - 2; - - 00283 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR z$[rbp] - 0028a 48 8b 08 mov rcx, QWORD PTR [rax] - 0028d e8 00 00 00 00 call stbi__get16be - 00292 83 e8 02 sub eax, 2 - 00295 89 45 04 mov DWORD PTR L$[rbp], eax -$LN9@stbi__proc: - -; 2978 : while (L > 0) { - - 00298 83 7d 04 00 cmp DWORD PTR L$[rbp], 0 - 0029c 0f 8e 55 02 00 - 00 jle $LN10@stbi__proc - -; 2979 : stbi_uc *v; -; 2980 : int sizes[16], i, n = 0; - - 002a2 c7 85 64 01 00 - 00 00 00 00 00 mov DWORD PTR n$12[rbp], 0 - -; 2981 : int q = stbi__get8(z->s); - - 002ac 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR z$[rbp] - 002b3 48 8b 08 mov rcx, QWORD PTR [rax] - 002b6 e8 00 00 00 00 call stbi__get8 - 002bb 0f b6 c0 movzx eax, al - 002be 89 85 84 01 00 - 00 mov DWORD PTR q$13[rbp], eax - -; 2982 : int tc = q >> 4; - - 002c4 8b 85 84 01 00 - 00 mov eax, DWORD PTR q$13[rbp] - 002ca c1 f8 04 sar eax, 4 - 002cd 89 85 a4 01 00 - 00 mov DWORD PTR tc$14[rbp], eax - -; 2983 : int th = q & 15; - - 002d3 8b 85 84 01 00 - 00 mov eax, DWORD PTR q$13[rbp] - 002d9 83 e0 0f and eax, 15 - 002dc 89 85 c4 01 00 - 00 mov DWORD PTR th$15[rbp], eax - -; 2984 : if (tc > 1 || th > 3) - - 002e2 83 bd a4 01 00 - 00 01 cmp DWORD PTR tc$14[rbp], 1 - 002e9 7f 09 jg SHORT $LN31@stbi__proc - 002eb 83 bd c4 01 00 - 00 03 cmp DWORD PTR th$15[rbp], 3 - 002f2 7e 11 jle SHORT $LN30@stbi__proc -$LN31@stbi__proc: - -; 2985 : return stbi__err("bad DHT header", "Corrupt JPEG"); - - 002f4 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0P@JLGKOCGN@bad?5DHT?5header@ - 002fb e8 00 00 00 00 call stbi__err - 00300 e9 40 04 00 00 jmp $LN1@stbi__proc -$LN30@stbi__proc: - -; 2986 : for (i = 0; i < 16; ++i) { - - 00305 c7 85 44 01 00 - 00 00 00 00 00 mov DWORD PTR i$11[rbp], 0 - 0030f eb 0e jmp SHORT $LN13@stbi__proc -$LN11@stbi__proc: - 00311 8b 85 44 01 00 - 00 mov eax, DWORD PTR i$11[rbp] - 00317 ff c0 inc eax - 00319 89 85 44 01 00 - 00 mov DWORD PTR i$11[rbp], eax -$LN13@stbi__proc: - 0031f 83 bd 44 01 00 - 00 10 cmp DWORD PTR i$11[rbp], 16 - 00326 7d 40 jge SHORT $LN12@stbi__proc - -; 2987 : sizes[i] = stbi__get8(z->s); - - 00328 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR z$[rbp] - 0032f 48 8b 08 mov rcx, QWORD PTR [rax] - 00332 e8 00 00 00 00 call stbi__get8 - 00337 48 63 8d 44 01 - 00 00 movsxd rcx, DWORD PTR i$11[rbp] - 0033e 0f b6 c0 movzx eax, al - 00341 89 84 8d f0 00 - 00 00 mov DWORD PTR sizes$10[rbp+rcx*4], eax - -; 2988 : n += sizes[i]; - - 00348 48 63 85 44 01 - 00 00 movsxd rax, DWORD PTR i$11[rbp] - 0034f 8b 84 85 f0 00 - 00 00 mov eax, DWORD PTR sizes$10[rbp+rax*4] - 00356 8b 8d 64 01 00 - 00 mov ecx, DWORD PTR n$12[rbp] - 0035c 03 c8 add ecx, eax - 0035e 8b c1 mov eax, ecx - 00360 89 85 64 01 00 - 00 mov DWORD PTR n$12[rbp], eax - -; 2989 : } - - 00366 eb a9 jmp SHORT $LN11@stbi__proc -$LN12@stbi__proc: - -; 2990 : if (n > 256) - - 00368 81 bd 64 01 00 - 00 00 01 00 00 cmp DWORD PTR n$12[rbp], 256 ; 00000100H - 00372 7e 11 jle SHORT $LN32@stbi__proc - -; 2991 : return stbi__err( - - 00374 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0P@JLGKOCGN@bad?5DHT?5header@ - 0037b e8 00 00 00 00 call stbi__err - 00380 e9 c0 03 00 00 jmp $LN1@stbi__proc -$LN32@stbi__proc: - -; 2992 : "bad DHT header", -; 2993 : "Corrupt JPEG"); // Loop over i < n would write past end of values! -; 2994 : L -= 17; - - 00385 8b 45 04 mov eax, DWORD PTR L$[rbp] - 00388 83 e8 11 sub eax, 17 - 0038b 89 45 04 mov DWORD PTR L$[rbp], eax - -; 2995 : if (tc == 0) { - - 0038e 83 bd a4 01 00 - 00 00 cmp DWORD PTR tc$14[rbp], 0 - 00395 75 5a jne SHORT $LN33@stbi__proc - -; 2996 : if (!stbi__build_huffman(z->huff_dc + th, sizes)) - - 00397 48 63 85 c4 01 - 00 00 movsxd rax, DWORD PTR th$15[rbp] - 0039e 48 69 c0 90 06 - 00 00 imul rax, rax, 1680 ; 00000690H - 003a5 48 8b 8d 00 04 - 00 00 mov rcx, QWORD PTR z$[rbp] - 003ac 48 8d 44 01 08 lea rax, QWORD PTR [rcx+rax+8] - 003b1 48 8d 95 f0 00 - 00 00 lea rdx, QWORD PTR sizes$10[rbp] - 003b8 48 8b c8 mov rcx, rax - 003bb e8 00 00 00 00 call stbi__build_huffman - 003c0 85 c0 test eax, eax - 003c2 75 07 jne SHORT $LN35@stbi__proc - -; 2997 : return 0; - - 003c4 33 c0 xor eax, eax - 003c6 e9 7a 03 00 00 jmp $LN1@stbi__proc -$LN35@stbi__proc: - -; 2998 : v = z->huff_dc[th].values; - - 003cb 48 63 85 c4 01 - 00 00 movsxd rax, DWORD PTR th$15[rbp] - 003d2 48 69 c0 90 06 - 00 00 imul rax, rax, 1680 ; 00000690H - 003d9 48 8b 8d 00 04 - 00 00 mov rcx, QWORD PTR z$[rbp] - 003e0 48 8d 84 01 08 - 04 00 00 lea rax, QWORD PTR [rcx+rax+1032] - 003e8 48 89 85 c8 00 - 00 00 mov QWORD PTR v$9[rbp], rax - -; 2999 : } else { - - 003ef eb 5b jmp SHORT $LN34@stbi__proc -$LN33@stbi__proc: - -; 3000 : if (!stbi__build_huffman(z->huff_ac + th, sizes)) - - 003f1 48 63 85 c4 01 - 00 00 movsxd rax, DWORD PTR th$15[rbp] - 003f8 48 69 c0 90 06 - 00 00 imul rax, rax, 1680 ; 00000690H - 003ff 48 8b 8d 00 04 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00406 48 8d 84 01 48 - 1a 00 00 lea rax, QWORD PTR [rcx+rax+6728] - 0040e 48 8d 95 f0 00 - 00 00 lea rdx, QWORD PTR sizes$10[rbp] - 00415 48 8b c8 mov rcx, rax - 00418 e8 00 00 00 00 call stbi__build_huffman - 0041d 85 c0 test eax, eax - 0041f 75 07 jne SHORT $LN36@stbi__proc - -; 3001 : return 0; - - 00421 33 c0 xor eax, eax - 00423 e9 1d 03 00 00 jmp $LN1@stbi__proc -$LN36@stbi__proc: - -; 3002 : v = z->huff_ac[th].values; - - 00428 48 63 85 c4 01 - 00 00 movsxd rax, DWORD PTR th$15[rbp] - 0042f 48 69 c0 90 06 - 00 00 imul rax, rax, 1680 ; 00000690H - 00436 48 8b 8d 00 04 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0043d 48 8d 84 01 48 - 1e 00 00 lea rax, QWORD PTR [rcx+rax+7752] - 00445 48 89 85 c8 00 - 00 00 mov QWORD PTR v$9[rbp], rax -$LN34@stbi__proc: - -; 3003 : } -; 3004 : for (i = 0; i < n; ++i) - - 0044c c7 85 44 01 00 - 00 00 00 00 00 mov DWORD PTR i$11[rbp], 0 - 00456 eb 0e jmp SHORT $LN16@stbi__proc -$LN14@stbi__proc: - 00458 8b 85 44 01 00 - 00 mov eax, DWORD PTR i$11[rbp] - 0045e ff c0 inc eax - 00460 89 85 44 01 00 - 00 mov DWORD PTR i$11[rbp], eax -$LN16@stbi__proc: - 00466 8b 85 64 01 00 - 00 mov eax, DWORD PTR n$12[rbp] - 0046c 39 85 44 01 00 - 00 cmp DWORD PTR i$11[rbp], eax - 00472 7d 22 jge SHORT $LN15@stbi__proc - -; 3005 : v[i] = stbi__get8(z->s); - - 00474 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR z$[rbp] - 0047b 48 8b 08 mov rcx, QWORD PTR [rax] - 0047e e8 00 00 00 00 call stbi__get8 - 00483 48 63 8d 44 01 - 00 00 movsxd rcx, DWORD PTR i$11[rbp] - 0048a 48 8b 95 c8 00 - 00 00 mov rdx, QWORD PTR v$9[rbp] - 00491 88 04 0a mov BYTE PTR [rdx+rcx], al - 00494 eb c2 jmp SHORT $LN14@stbi__proc -$LN15@stbi__proc: - -; 3006 : if (tc != 0) - - 00496 83 bd a4 01 00 - 00 00 cmp DWORD PTR tc$14[rbp], 0 - 0049d 74 43 je SHORT $LN37@stbi__proc - -; 3007 : stbi__build_fast_ac(z->fast_ac[th], z->huff_ac + th); - - 0049f 48 63 85 c4 01 - 00 00 movsxd rax, DWORD PTR th$15[rbp] - 004a6 48 69 c0 90 06 - 00 00 imul rax, rax, 1680 ; 00000690H - 004ad 48 8b 8d 00 04 - 00 00 mov rcx, QWORD PTR z$[rbp] - 004b4 48 8d 84 01 48 - 1a 00 00 lea rax, QWORD PTR [rcx+rax+6728] - 004bc 48 63 8d c4 01 - 00 00 movsxd rcx, DWORD PTR th$15[rbp] - 004c3 48 69 c9 00 04 - 00 00 imul rcx, rcx, 1024 ; 00000400H - 004ca 48 8b 95 00 04 - 00 00 mov rdx, QWORD PTR z$[rbp] - 004d1 48 8d 8c 0a 88 - 36 00 00 lea rcx, QWORD PTR [rdx+rcx+13960] - 004d9 48 8b d0 mov rdx, rax - 004dc e8 00 00 00 00 call stbi__build_fast_ac - 004e1 90 npad 1 -$LN37@stbi__proc: - -; 3008 : L -= n; - - 004e2 8b 85 64 01 00 - 00 mov eax, DWORD PTR n$12[rbp] - 004e8 8b 4d 04 mov ecx, DWORD PTR L$[rbp] - 004eb 2b c8 sub ecx, eax - 004ed 8b c1 mov eax, ecx - 004ef 89 45 04 mov DWORD PTR L$[rbp], eax - -; 3009 : } - - 004f2 e9 a1 fd ff ff jmp $LN9@stbi__proc -$LN10@stbi__proc: - -; 3010 : return L == 0; - - 004f7 83 7d 04 00 cmp DWORD PTR L$[rbp], 0 - 004fb 75 0c jne SHORT $LN60@stbi__proc - 004fd c7 85 d4 03 00 - 00 01 00 00 00 mov DWORD PTR tv236[rbp], 1 - 00507 eb 0a jmp SHORT $LN61@stbi__proc -$LN60@stbi__proc: - 00509 c7 85 d4 03 00 - 00 00 00 00 00 mov DWORD PTR tv236[rbp], 0 -$LN61@stbi__proc: - 00513 8b 85 d4 03 00 - 00 mov eax, DWORD PTR tv236[rbp] - 00519 e9 27 02 00 00 jmp $LN1@stbi__proc -$LN2@stbi__proc: - -; 3011 : } -; 3012 : -; 3013 : // check for comment block or APP blocks -; 3014 : if ((m >= 0xE0 && m <= 0xEF) || m == 0xFE) { - - 0051e 81 bd 08 04 00 - 00 e0 00 00 00 cmp DWORD PTR m$[rbp], 224 ; 000000e0H - 00528 7c 0c jl SHORT $LN40@stbi__proc - 0052a 81 bd 08 04 00 - 00 ef 00 00 00 cmp DWORD PTR m$[rbp], 239 ; 000000efH - 00534 7e 10 jle SHORT $LN39@stbi__proc -$LN40@stbi__proc: - 00536 81 bd 08 04 00 - 00 fe 00 00 00 cmp DWORD PTR m$[rbp], 254 ; 000000feH - 00540 0f 85 f3 01 00 - 00 jne $LN38@stbi__proc -$LN39@stbi__proc: - -; 3015 : L = stbi__get16be(z->s); - - 00546 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR z$[rbp] - 0054d 48 8b 08 mov rcx, QWORD PTR [rax] - 00550 e8 00 00 00 00 call stbi__get16be - 00555 89 45 04 mov DWORD PTR L$[rbp], eax - -; 3016 : if (L < 2) { - - 00558 83 7d 04 02 cmp DWORD PTR L$[rbp], 2 - 0055c 7d 30 jge SHORT $LN41@stbi__proc - -; 3017 : if (m == 0xFE) - - 0055e 81 bd 08 04 00 - 00 fe 00 00 00 cmp DWORD PTR m$[rbp], 254 ; 000000feH - 00568 75 13 jne SHORT $LN42@stbi__proc - -; 3018 : return stbi__err("bad COM len", "Corrupt JPEG"); - - 0056a 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0M@CICAFFCH@bad?5COM?5len@ - 00571 e8 00 00 00 00 call stbi__err - 00576 e9 ca 01 00 00 jmp $LN1@stbi__proc - 0057b eb 11 jmp SHORT $LN43@stbi__proc -$LN42@stbi__proc: - -; 3019 : else -; 3020 : return stbi__err("bad APP len", "Corrupt JPEG"); - - 0057d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0M@EENLKPDI@bad?5APP?5len@ - 00584 e8 00 00 00 00 call stbi__err - 00589 e9 b7 01 00 00 jmp $LN1@stbi__proc -$LN43@stbi__proc: -$LN41@stbi__proc: - -; 3021 : } -; 3022 : L -= 2; - - 0058e 8b 45 04 mov eax, DWORD PTR L$[rbp] - 00591 83 e8 02 sub eax, 2 - 00594 89 45 04 mov DWORD PTR L$[rbp], eax - -; 3023 : -; 3024 : if (m == 0xE0 && L >= 5) { // JFIF APP0 segment - - 00597 81 bd 08 04 00 - 00 e0 00 00 00 cmp DWORD PTR m$[rbp], 224 ; 000000e0H - 005a1 0f 85 93 00 00 - 00 jne $LN44@stbi__proc - 005a7 83 7d 04 05 cmp DWORD PTR L$[rbp], 5 - 005ab 0f 8c 89 00 00 - 00 jl $LN44@stbi__proc - -; 3025 : static const unsigned char tag[5] = { 'J', 'F', 'I', 'F', '\0' }; -; 3026 : int ok = 1; - - 005b1 c7 85 e4 01 00 - 00 01 00 00 00 mov DWORD PTR ok$16[rbp], 1 - -; 3027 : int i; -; 3028 : for (i = 0; i < 5; ++i) - - 005bb c7 85 04 02 00 - 00 00 00 00 00 mov DWORD PTR i$17[rbp], 0 - 005c5 eb 0e jmp SHORT $LN19@stbi__proc -$LN17@stbi__proc: - 005c7 8b 85 04 02 00 - 00 mov eax, DWORD PTR i$17[rbp] - 005cd ff c0 inc eax - 005cf 89 85 04 02 00 - 00 mov DWORD PTR i$17[rbp], eax -$LN19@stbi__proc: - 005d5 83 bd 04 02 00 - 00 05 cmp DWORD PTR i$17[rbp], 5 - 005dc 7d 34 jge SHORT $LN18@stbi__proc - -; 3029 : if (stbi__get8(z->s) != tag[i]) - - 005de 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR z$[rbp] - 005e5 48 8b 08 mov rcx, QWORD PTR [rax] - 005e8 e8 00 00 00 00 call stbi__get8 - 005ed 0f b6 c0 movzx eax, al - 005f0 48 63 8d 04 02 - 00 00 movsxd rcx, DWORD PTR i$17[rbp] - 005f7 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:?tag@?O@??stbi__process_marker@@9@9 - 005fe 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 00602 3b c1 cmp eax, ecx - 00604 74 0a je SHORT $LN46@stbi__proc - -; 3030 : ok = 0; - - 00606 c7 85 e4 01 00 - 00 00 00 00 00 mov DWORD PTR ok$16[rbp], 0 -$LN46@stbi__proc: - 00610 eb b5 jmp SHORT $LN17@stbi__proc -$LN18@stbi__proc: - -; 3031 : L -= 5; - - 00612 8b 45 04 mov eax, DWORD PTR L$[rbp] - 00615 83 e8 05 sub eax, 5 - 00618 89 45 04 mov DWORD PTR L$[rbp], eax - -; 3032 : if (ok) - - 0061b 83 bd e4 01 00 - 00 00 cmp DWORD PTR ok$16[rbp], 0 - 00622 74 11 je SHORT $LN47@stbi__proc - -; 3033 : z->jfif = 1; - - 00624 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR z$[rbp] - 0062b c7 80 48 48 00 - 00 01 00 00 00 mov DWORD PTR [rax+18504], 1 -$LN47@stbi__proc: - -; 3034 : } else if (m == 0xEE && L >= 12) { // Adobe APP14 segment - - 00635 e9 e5 00 00 00 jmp $LN45@stbi__proc -$LN44@stbi__proc: - 0063a 81 bd 08 04 00 - 00 ee 00 00 00 cmp DWORD PTR m$[rbp], 238 ; 000000eeH - 00644 0f 85 d5 00 00 - 00 jne $LN48@stbi__proc - 0064a 83 7d 04 0c cmp DWORD PTR L$[rbp], 12 - 0064e 0f 8c cb 00 00 - 00 jl $LN48@stbi__proc - -; 3035 : static const unsigned char tag[6] = { 'A', 'd', 'o', 'b', 'e', '\0' }; -; 3036 : int ok = 1; - - 00654 c7 85 24 02 00 - 00 01 00 00 00 mov DWORD PTR ok$18[rbp], 1 - -; 3037 : int i; -; 3038 : for (i = 0; i < 6; ++i) - - 0065e c7 85 44 02 00 - 00 00 00 00 00 mov DWORD PTR i$19[rbp], 0 - 00668 eb 0e jmp SHORT $LN22@stbi__proc -$LN20@stbi__proc: - 0066a 8b 85 44 02 00 - 00 mov eax, DWORD PTR i$19[rbp] - 00670 ff c0 inc eax - 00672 89 85 44 02 00 - 00 mov DWORD PTR i$19[rbp], eax -$LN22@stbi__proc: - 00678 83 bd 44 02 00 - 00 06 cmp DWORD PTR i$19[rbp], 6 - 0067f 7d 34 jge SHORT $LN21@stbi__proc - -; 3039 : if (stbi__get8(z->s) != tag[i]) - - 00681 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR z$[rbp] - 00688 48 8b 08 mov rcx, QWORD PTR [rax] - 0068b e8 00 00 00 00 call stbi__get8 - 00690 0f b6 c0 movzx eax, al - 00693 48 63 8d 44 02 - 00 00 movsxd rcx, DWORD PTR i$19[rbp] - 0069a 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:?tag@?BA@??stbi__process_marker@@9@9 - 006a1 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 006a5 3b c1 cmp eax, ecx - 006a7 74 0a je SHORT $LN49@stbi__proc - -; 3040 : ok = 0; - - 006a9 c7 85 24 02 00 - 00 00 00 00 00 mov DWORD PTR ok$18[rbp], 0 -$LN49@stbi__proc: - 006b3 eb b5 jmp SHORT $LN20@stbi__proc -$LN21@stbi__proc: - -; 3041 : L -= 6; - - 006b5 8b 45 04 mov eax, DWORD PTR L$[rbp] - 006b8 83 e8 06 sub eax, 6 - 006bb 89 45 04 mov DWORD PTR L$[rbp], eax - -; 3042 : if (ok) { - - 006be 83 bd 24 02 00 - 00 00 cmp DWORD PTR ok$18[rbp], 0 - 006c5 74 58 je SHORT $LN50@stbi__proc - -; 3043 : stbi__get8(z->s); // version - - 006c7 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR z$[rbp] - 006ce 48 8b 08 mov rcx, QWORD PTR [rax] - 006d1 e8 00 00 00 00 call stbi__get8 - 006d6 90 npad 1 - -; 3044 : stbi__get16be(z->s); // flags0 - - 006d7 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR z$[rbp] - 006de 48 8b 08 mov rcx, QWORD PTR [rax] - 006e1 e8 00 00 00 00 call stbi__get16be - 006e6 90 npad 1 - -; 3045 : stbi__get16be(z->s); // flags1 - - 006e7 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR z$[rbp] - 006ee 48 8b 08 mov rcx, QWORD PTR [rax] - 006f1 e8 00 00 00 00 call stbi__get16be - 006f6 90 npad 1 - -; 3046 : z->app14_color_transform = stbi__get8(z->s); // color transform - - 006f7 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR z$[rbp] - 006fe 48 8b 08 mov rcx, QWORD PTR [rax] - 00701 e8 00 00 00 00 call stbi__get8 - 00706 0f b6 c0 movzx eax, al - 00709 48 8b 8d 00 04 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00710 89 81 4c 48 00 - 00 mov DWORD PTR [rcx+18508], eax - -; 3047 : L -= 6; - - 00716 8b 45 04 mov eax, DWORD PTR L$[rbp] - 00719 83 e8 06 sub eax, 6 - 0071c 89 45 04 mov DWORD PTR L$[rbp], eax -$LN50@stbi__proc: -$LN48@stbi__proc: -$LN45@stbi__proc: - -; 3048 : } -; 3049 : } -; 3050 : -; 3051 : stbi__skip(z->s, L); - - 0071f 8b 55 04 mov edx, DWORD PTR L$[rbp] - 00722 48 8b 85 00 04 - 00 00 mov rax, QWORD PTR z$[rbp] - 00729 48 8b 08 mov rcx, QWORD PTR [rax] - 0072c e8 00 00 00 00 call stbi__skip - 00731 90 npad 1 - -; 3052 : return 1; - - 00732 b8 01 00 00 00 mov eax, 1 - 00737 eb 0c jmp SHORT $LN1@stbi__proc -$LN38@stbi__proc: - -; 3053 : } -; 3054 : -; 3055 : return stbi__err("unknown marker", "Corrupt JPEG"); - - 00739 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0P@NNGPHMMK@unknown?5marker@ - 00740 e8 00 00 00 00 call stbi__err -$LN1@stbi__proc: - -; 3056 : } - - 00745 48 8b f8 mov rdi, rax - 00748 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 0074c 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__process_marker$rtcFrameData - 00753 e8 00 00 00 00 call _RTC_CheckStackVars - 00758 48 8b c7 mov rax, rdi - 0075b 48 8b 8d d8 03 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 00762 48 33 cd xor rcx, rbp - 00765 e8 00 00 00 00 call __security_check_cookie - 0076a 48 8d a5 e8 03 - 00 00 lea rsp, QWORD PTR [rbp+1000] - 00771 5f pop rdi - 00772 5d pop rbp - 00773 c3 ret 0 -stbi__process_marker ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__jpeg_finish -_TEXT SEGMENT -i$1 = 4 -j$2 = 36 -n$3 = 68 -w$4 = 100 -h$5 = 132 -data$6 = 168 -z$ = 416 -stbi__jpeg_finish PROC ; COMDAT - -; 2922 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec a8 01 - 00 00 sub rsp, 424 ; 000001a8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 2923 : if (z->progressive) { - - 00020 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 00027 83 b8 30 48 00 - 00 00 cmp DWORD PTR [rax+18480], 0 - 0002e 0f 84 b1 01 00 - 00 je $LN11@stbi__jpeg - -; 2924 : // dequantize and idct the data -; 2925 : int i, j, n; -; 2926 : for (n = 0; n < z->s->img_n; ++n) { - - 00034 c7 45 44 00 00 - 00 00 mov DWORD PTR n$3[rbp], 0 - 0003b eb 08 jmp SHORT $LN4@stbi__jpeg -$LN2@stbi__jpeg: - 0003d 8b 45 44 mov eax, DWORD PTR n$3[rbp] - 00040 ff c0 inc eax - 00042 89 45 44 mov DWORD PTR n$3[rbp], eax -$LN4@stbi__jpeg: - 00045 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 0004c 48 8b 00 mov rax, QWORD PTR [rax] - 0004f 8b 40 08 mov eax, DWORD PTR [rax+8] - 00052 39 45 44 cmp DWORD PTR n$3[rbp], eax - 00055 0f 8d 8a 01 00 - 00 jge $LN3@stbi__jpeg - -; 2927 : int w = (z->img_comp[n].x + 7) >> 3; - - 0005b 48 63 45 44 movsxd rax, DWORD PTR n$3[rbp] - 0005f 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00063 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0006a 8b 84 01 bc 46 - 00 00 mov eax, DWORD PTR [rcx+rax+18108] - 00071 83 c0 07 add eax, 7 - 00074 c1 f8 03 sar eax, 3 - 00077 89 45 64 mov DWORD PTR w$4[rbp], eax - -; 2928 : int h = (z->img_comp[n].y + 7) >> 3; - - 0007a 48 63 45 44 movsxd rax, DWORD PTR n$3[rbp] - 0007e 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00082 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00089 8b 84 01 c0 46 - 00 00 mov eax, DWORD PTR [rcx+rax+18112] - 00090 83 c0 07 add eax, 7 - 00093 c1 f8 03 sar eax, 3 - 00096 89 85 84 00 00 - 00 mov DWORD PTR h$5[rbp], eax - -; 2929 : for (j = 0; j < h; ++j) { - - 0009c c7 45 24 00 00 - 00 00 mov DWORD PTR j$2[rbp], 0 - 000a3 eb 08 jmp SHORT $LN7@stbi__jpeg -$LN5@stbi__jpeg: - 000a5 8b 45 24 mov eax, DWORD PTR j$2[rbp] - 000a8 ff c0 inc eax - 000aa 89 45 24 mov DWORD PTR j$2[rbp], eax -$LN7@stbi__jpeg: - 000ad 8b 85 84 00 00 - 00 mov eax, DWORD PTR h$5[rbp] - 000b3 39 45 24 cmp DWORD PTR j$2[rbp], eax - 000b6 0f 8d 24 01 00 - 00 jge $LN6@stbi__jpeg - -; 2930 : for (i = 0; i < w; ++i) { - - 000bc c7 45 04 00 00 - 00 00 mov DWORD PTR i$1[rbp], 0 - 000c3 eb 08 jmp SHORT $LN10@stbi__jpeg -$LN8@stbi__jpeg: - 000c5 8b 45 04 mov eax, DWORD PTR i$1[rbp] - 000c8 ff c0 inc eax - 000ca 89 45 04 mov DWORD PTR i$1[rbp], eax -$LN10@stbi__jpeg: - 000cd 8b 45 64 mov eax, DWORD PTR w$4[rbp] - 000d0 39 45 04 cmp DWORD PTR i$1[rbp], eax - 000d3 0f 8d 02 01 00 - 00 jge $LN9@stbi__jpeg - -; 2931 : short *data = z->img_comp[n].coeff + - - 000d9 48 63 45 44 movsxd rax, DWORD PTR n$3[rbp] - 000dd 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 000e1 48 63 4d 44 movsxd rcx, DWORD PTR n$3[rbp] - 000e5 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 000e9 48 8b 95 a0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 000f0 44 8b 45 24 mov r8d, DWORD PTR j$2[rbp] - 000f4 44 0f af 84 0a - f8 46 00 00 imul r8d, DWORD PTR [rdx+rcx+18168] - 000fd 41 8b c8 mov ecx, r8d - 00100 8b 55 04 mov edx, DWORD PTR i$1[rbp] - 00103 03 d1 add edx, ecx - 00105 8b ca mov ecx, edx - 00107 6b c9 40 imul ecx, ecx, 64 ; 00000040H - 0010a 48 63 c9 movsxd rcx, ecx - 0010d 48 8b 95 a0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 00114 48 8b 84 02 f0 - 46 00 00 mov rax, QWORD PTR [rdx+rax+18160] - 0011c 48 8d 04 48 lea rax, QWORD PTR [rax+rcx*2] - 00120 48 89 85 a8 00 - 00 00 mov QWORD PTR data$6[rbp], rax - -; 2932 : 64 * (i + j * z->img_comp[n].coeff_w); -; 2933 : stbi__jpeg_dequantize(data, z->dequant[z->img_comp[n].tq]); - - 00127 48 63 45 44 movsxd rax, DWORD PTR n$3[rbp] - 0012b 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0012f 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00136 48 63 84 01 ac - 46 00 00 movsxd rax, DWORD PTR [rcx+rax+18092] - 0013e 48 69 c0 80 00 - 00 00 imul rax, rax, 128 ; 00000080H - 00145 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0014c 48 8d 84 01 88 - 34 00 00 lea rax, QWORD PTR [rcx+rax+13448] - 00154 48 8b d0 mov rdx, rax - 00157 48 8b 8d a8 00 - 00 00 mov rcx, QWORD PTR data$6[rbp] - 0015e e8 00 00 00 00 call stbi__jpeg_dequantize - 00163 90 npad 1 - -; 2934 : z->idct_block_kernel(z->img_comp[n].data + - - 00164 48 63 45 44 movsxd rax, DWORD PTR n$3[rbp] - 00168 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0016c 48 63 4d 44 movsxd rcx, DWORD PTR n$3[rbp] - 00170 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 00174 48 63 55 44 movsxd rdx, DWORD PTR n$3[rbp] - 00178 48 6b d2 60 imul rdx, rdx, 96 ; 00000060H - 0017c 4c 8b 85 a0 01 - 00 00 mov r8, QWORD PTR z$[rbp] - 00183 41 8b 94 10 c4 - 46 00 00 mov edx, DWORD PTR [r8+rdx+18116] - 0018b 0f af 55 24 imul edx, DWORD PTR j$2[rbp] - 0018f c1 e2 03 shl edx, 3 - 00192 48 63 d2 movsxd rdx, edx - 00195 4c 8b 85 a0 01 - 00 00 mov r8, QWORD PTR z$[rbp] - 0019c 49 8b 8c 08 d0 - 46 00 00 mov rcx, QWORD PTR [r8+rcx+18128] - 001a4 48 03 ca add rcx, rdx - 001a7 8b 55 04 mov edx, DWORD PTR i$1[rbp] - 001aa c1 e2 03 shl edx, 3 - 001ad 48 63 d2 movsxd rdx, edx - 001b0 48 03 ca add rcx, rdx - 001b3 4c 8b 85 a8 00 - 00 00 mov r8, QWORD PTR data$6[rbp] - 001ba 48 8b 95 a0 01 - 00 00 mov rdx, QWORD PTR z$[rbp] - 001c1 8b 94 02 c4 46 - 00 00 mov edx, DWORD PTR [rdx+rax+18116] - 001c8 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR z$[rbp] - 001cf ff 90 70 48 00 - 00 call QWORD PTR [rax+18544] - 001d5 90 npad 1 - -; 2935 : z->img_comp[n].w2 * j * 8 + -; 2936 : i * 8, -; 2937 : z->img_comp[n].w2, data); -; 2938 : } - - 001d6 e9 ea fe ff ff jmp $LN8@stbi__jpeg -$LN9@stbi__jpeg: - -; 2939 : } - - 001db e9 c5 fe ff ff jmp $LN5@stbi__jpeg -$LN6@stbi__jpeg: - -; 2940 : } - - 001e0 e9 58 fe ff ff jmp $LN2@stbi__jpeg -$LN3@stbi__jpeg: -$LN11@stbi__jpeg: - -; 2941 : } -; 2942 : } - - 001e5 48 8d a5 88 01 - 00 00 lea rsp, QWORD PTR [rbp+392] - 001ec 5f pop rdi - 001ed 5d pop rbp - 001ee c3 ret 0 -stbi__jpeg_finish ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__jpeg_dequantize -_TEXT SEGMENT -i$ = 4 -data$ = 256 -dequant$ = 264 -stbi__jpeg_dequantize PROC ; COMDAT - -; 2915 : { - - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 2916 : int i; -; 2917 : for (i = 0; i < 64; ++i) - - 00025 c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 0002c eb 08 jmp SHORT $LN4@stbi__jpeg -$LN2@stbi__jpeg: - 0002e 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00031 ff c0 inc eax - 00033 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__jpeg: - 00036 83 7d 04 40 cmp DWORD PTR i$[rbp], 64 ; 00000040H - 0003a 7d 32 jge SHORT $LN3@stbi__jpeg - -; 2918 : data[i] *= dequant[i]; - - 0003c 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 00040 48 63 4d 04 movsxd rcx, DWORD PTR i$[rbp] - 00044 48 8b 95 08 01 - 00 00 mov rdx, QWORD PTR dequant$[rbp] - 0004b 0f b7 0c 4a movzx ecx, WORD PTR [rdx+rcx*2] - 0004f 48 8b 95 00 01 - 00 00 mov rdx, QWORD PTR data$[rbp] - 00056 0f bf 04 42 movsx eax, WORD PTR [rdx+rax*2] - 0005a 0f af c1 imul eax, ecx - 0005d 48 63 4d 04 movsxd rcx, DWORD PTR i$[rbp] - 00061 48 8b 95 00 01 - 00 00 mov rdx, QWORD PTR data$[rbp] - 00068 66 89 04 4a mov WORD PTR [rdx+rcx*2], ax - 0006c eb c0 jmp SHORT $LN2@stbi__jpeg -$LN3@stbi__jpeg: - -; 2919 : } - - 0006e 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 00075 5f pop rdi - 00076 5d pop rbp - 00077 c3 ret 0 -stbi__jpeg_dequantize ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__parse_entropy_coded_data -_TEXT SEGMENT -i$5 = 4 -j$6 = 36 -data$7 = 80 -n$8 = 228 -w$9 = 260 -h$10 = 292 -ha$11 = 324 -i$12 = 356 -j$13 = 388 -k$14 = 420 -x$15 = 452 -y$16 = 484 -data$17 = 528 -n$18 = 676 -x2$19 = 708 -y2$20 = 740 -ha$21 = 772 -i$22 = 804 -j$23 = 836 -n$24 = 868 -w$25 = 900 -h$26 = 932 -data$27 = 968 -ha$28 = 996 -i$29 = 1028 -j$30 = 1060 -k$31 = 1092 -x$32 = 1124 -y$33 = 1156 -n$34 = 1188 -x2$35 = 1220 -y2$36 = 1252 -data$37 = 1288 -tv518 = 1876 -tv190 = 1876 -tv311 = 1876 -tv400 = 1876 -__$ArrayPad$ = 1880 -z$ = 1920 -stbi__parse_entropy_coded_data PROC ; COMDAT - -; 2745 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec a8 07 - 00 00 sub rsp, 1960 ; 000007a8H - 0000e 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] - 00013 48 8d 7c 24 40 lea rdi, QWORD PTR [rsp+64] - 00018 b9 4a 01 00 00 mov ecx, 330 ; 0000014aH - 0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00022 f3 ab rep stosd - 00024 48 8b 8c 24 c8 - 07 00 00 mov rcx, QWORD PTR [rsp+1992] - 0002c 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00033 48 33 c5 xor rax, rbp - 00036 48 89 85 58 07 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0003d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00049 90 npad 1 - -; 2746 : stbi__jpeg_reset(z); - - 0004a 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00051 e8 00 00 00 00 call stbi__jpeg_reset - 00056 90 npad 1 - -; 2747 : if (!z->progressive) { - - 00057 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 0005e 83 b8 30 48 00 - 00 00 cmp DWORD PTR [rax+18480], 0 - 00065 0f 85 72 06 00 - 00 jne $LN44@stbi__pars - -; 2748 : if (z->scan_n == 1) { - - 0006b 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 00072 83 b8 54 48 00 - 00 01 cmp DWORD PTR [rax+18516], 1 - 00079 0f 85 af 02 00 - 00 jne $LN46@stbi__pars - -; 2749 : int i, j; -; 2750 : STBI_SIMD_ALIGN(short, data[64]); -; 2751 : int n = z->order[0]; - - 0007f b8 04 00 00 00 mov eax, 4 - 00084 48 6b c0 00 imul rax, rax, 0 - 00088 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0008f 8b 84 01 58 48 - 00 00 mov eax, DWORD PTR [rcx+rax+18520] - 00096 89 85 e4 00 00 - 00 mov DWORD PTR n$8[rbp], eax - -; 2752 : // non-interleaved data, we just need to process one block at a time, -; 2753 : // in trivial scanline order -; 2754 : // number of blocks to do just depends on how many actual "pixels" this -; 2755 : // component has, independent of interleaved MCU blocking and such -; 2756 : int w = (z->img_comp[n].x + 7) >> 3; - - 0009c 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR n$8[rbp] - 000a3 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 000a7 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 000ae 8b 84 01 bc 46 - 00 00 mov eax, DWORD PTR [rcx+rax+18108] - 000b5 83 c0 07 add eax, 7 - 000b8 c1 f8 03 sar eax, 3 - 000bb 89 85 04 01 00 - 00 mov DWORD PTR w$9[rbp], eax - -; 2757 : int h = (z->img_comp[n].y + 7) >> 3; - - 000c1 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR n$8[rbp] - 000c8 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 000cc 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 000d3 8b 84 01 c0 46 - 00 00 mov eax, DWORD PTR [rcx+rax+18112] - 000da 83 c0 07 add eax, 7 - 000dd c1 f8 03 sar eax, 3 - 000e0 89 85 24 01 00 - 00 mov DWORD PTR h$10[rbp], eax - -; 2758 : for (j = 0; j < h; ++j) { - - 000e6 c7 45 24 00 00 - 00 00 mov DWORD PTR j$6[rbp], 0 - 000ed eb 08 jmp SHORT $LN4@stbi__pars -$LN2@stbi__pars: - 000ef 8b 45 24 mov eax, DWORD PTR j$6[rbp] - 000f2 ff c0 inc eax - 000f4 89 45 24 mov DWORD PTR j$6[rbp], eax -$LN4@stbi__pars: - 000f7 8b 85 24 01 00 - 00 mov eax, DWORD PTR h$10[rbp] - 000fd 39 45 24 cmp DWORD PTR j$6[rbp], eax - 00100 0f 8d 19 02 00 - 00 jge $LN3@stbi__pars - -; 2759 : for (i = 0; i < w; ++i) { - - 00106 c7 45 04 00 00 - 00 00 mov DWORD PTR i$5[rbp], 0 - 0010d eb 08 jmp SHORT $LN7@stbi__pars -$LN5@stbi__pars: - 0010f 8b 45 04 mov eax, DWORD PTR i$5[rbp] - 00112 ff c0 inc eax - 00114 89 45 04 mov DWORD PTR i$5[rbp], eax -$LN7@stbi__pars: - 00117 8b 85 04 01 00 - 00 mov eax, DWORD PTR w$9[rbp] - 0011d 39 45 04 cmp DWORD PTR i$5[rbp], eax - 00120 0f 8d f4 01 00 - 00 jge $LN6@stbi__pars - -; 2760 : int ha = z->img_comp[n].ha; - - 00126 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR n$8[rbp] - 0012d 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00131 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00138 8b 84 01 b4 46 - 00 00 mov eax, DWORD PTR [rcx+rax+18100] - 0013f 89 85 44 01 00 - 00 mov DWORD PTR ha$11[rbp], eax - -; 2761 : if (!stbi__jpeg_decode_block( - - 00145 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR n$8[rbp] - 0014c 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00150 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00157 48 63 84 01 ac - 46 00 00 movsxd rax, DWORD PTR [rcx+rax+18092] - 0015f 48 69 c0 80 00 - 00 00 imul rax, rax, 128 ; 00000080H - 00166 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0016d 48 8d 84 01 88 - 34 00 00 lea rax, QWORD PTR [rcx+rax+13448] - 00175 48 63 8d 44 01 - 00 00 movsxd rcx, DWORD PTR ha$11[rbp] - 0017c 48 69 c9 00 04 - 00 00 imul rcx, rcx, 1024 ; 00000400H - 00183 48 8b 95 80 07 - 00 00 mov rdx, QWORD PTR z$[rbp] - 0018a 48 8d 8c 0a 88 - 36 00 00 lea rcx, QWORD PTR [rdx+rcx+13960] - 00192 48 63 95 44 01 - 00 00 movsxd rdx, DWORD PTR ha$11[rbp] - 00199 48 69 d2 90 06 - 00 00 imul rdx, rdx, 1680 ; 00000690H - 001a0 4c 8b 85 80 07 - 00 00 mov r8, QWORD PTR z$[rbp] - 001a7 49 8d 94 10 48 - 1a 00 00 lea rdx, QWORD PTR [r8+rdx+6728] - 001af 4c 63 85 e4 00 - 00 00 movsxd r8, DWORD PTR n$8[rbp] - 001b6 4d 6b c0 60 imul r8, r8, 96 ; 00000060H - 001ba 4c 8b 8d 80 07 - 00 00 mov r9, QWORD PTR z$[rbp] - 001c1 4f 63 84 01 b0 - 46 00 00 movsxd r8, DWORD PTR [r9+r8+18096] - 001c9 4d 69 c0 90 06 - 00 00 imul r8, r8, 1680 ; 00000690H - 001d0 4c 8b 8d 80 07 - 00 00 mov r9, QWORD PTR z$[rbp] - 001d7 4f 8d 44 01 08 lea r8, QWORD PTR [r9+r8+8] - 001dc 48 89 44 24 30 mov QWORD PTR [rsp+48], rax - 001e1 8b 85 e4 00 00 - 00 mov eax, DWORD PTR n$8[rbp] - 001e7 89 44 24 28 mov DWORD PTR [rsp+40], eax - 001eb 48 89 4c 24 20 mov QWORD PTR [rsp+32], rcx - 001f0 4c 8b ca mov r9, rdx - 001f3 48 8d 55 50 lea rdx, QWORD PTR data$7[rbp] - 001f7 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 001fe e8 00 00 00 00 call stbi__jpeg_decode_block - 00203 85 c0 test eax, eax - 00205 75 07 jne SHORT $LN48@stbi__pars - -; 2762 : z, data, z->huff_dc + z->img_comp[n].hd, -; 2763 : z->huff_ac + ha, z->fast_ac[ha], n, -; 2764 : z->dequant[z->img_comp[n].tq])) -; 2765 : return 0; - - 00207 33 c0 xor eax, eax - 00209 e9 6f 0a 00 00 jmp $LN1@stbi__pars -$LN48@stbi__pars: - -; 2766 : z->idct_block_kernel(z->img_comp[n].data + - - 0020e 48 63 85 e4 00 - 00 00 movsxd rax, DWORD PTR n$8[rbp] - 00215 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00219 48 63 8d e4 00 - 00 00 movsxd rcx, DWORD PTR n$8[rbp] - 00220 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 00224 48 63 95 e4 00 - 00 00 movsxd rdx, DWORD PTR n$8[rbp] - 0022b 48 6b d2 60 imul rdx, rdx, 96 ; 00000060H - 0022f 4c 8b 85 80 07 - 00 00 mov r8, QWORD PTR z$[rbp] - 00236 41 8b 94 10 c4 - 46 00 00 mov edx, DWORD PTR [r8+rdx+18116] - 0023e 0f af 55 24 imul edx, DWORD PTR j$6[rbp] - 00242 c1 e2 03 shl edx, 3 - 00245 48 63 d2 movsxd rdx, edx - 00248 4c 8b 85 80 07 - 00 00 mov r8, QWORD PTR z$[rbp] - 0024f 49 8b 8c 08 d0 - 46 00 00 mov rcx, QWORD PTR [r8+rcx+18128] - 00257 48 03 ca add rcx, rdx - 0025a 8b 55 04 mov edx, DWORD PTR i$5[rbp] - 0025d c1 e2 03 shl edx, 3 - 00260 48 63 d2 movsxd rdx, edx - 00263 48 03 ca add rcx, rdx - 00266 4c 8d 45 50 lea r8, QWORD PTR data$7[rbp] - 0026a 48 8b 95 80 07 - 00 00 mov rdx, QWORD PTR z$[rbp] - 00271 8b 94 02 c4 46 - 00 00 mov edx, DWORD PTR [rdx+rax+18116] - 00278 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 0027f ff 90 70 48 00 - 00 call QWORD PTR [rax+18544] - 00285 90 npad 1 - -; 2767 : z->img_comp[n].w2 * j * 8 + -; 2768 : i * 8, -; 2769 : z->img_comp[n].w2, data); -; 2770 : // every data block is an MCU, so countdown the restart interval -; 2771 : if (--z->todo <= 0) { - - 00286 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 0028d 8b 80 6c 48 00 - 00 mov eax, DWORD PTR [rax+18540] - 00293 ff c8 dec eax - 00295 89 85 54 07 00 - 00 mov DWORD PTR tv190[rbp], eax - 0029b 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 002a2 8b 8d 54 07 00 - 00 mov ecx, DWORD PTR tv190[rbp] - 002a8 89 88 6c 48 00 - 00 mov DWORD PTR [rax+18540], ecx - 002ae 83 bd 54 07 00 - 00 00 cmp DWORD PTR tv190[rbp], 0 - 002b5 7f 5e jg SHORT $LN49@stbi__pars - -; 2772 : if (z->code_bits < 24) - - 002b7 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 002be 83 b8 24 48 00 - 00 18 cmp DWORD PTR [rax+18468], 24 - 002c5 7d 0d jge SHORT $LN50@stbi__pars - -; 2773 : stbi__grow_buffer_unsafe(z); - - 002c7 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 002ce e8 00 00 00 00 call stbi__grow_buffer_unsafe - 002d3 90 npad 1 -$LN50@stbi__pars: - -; 2774 : // if it's NOT a restart, then just bail, so we get corrupt data -; 2775 : // rather than no data -; 2776 : if (!STBI__RESTART(z->marker)) - - 002d4 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 002db 0f b6 80 28 48 - 00 00 movzx eax, BYTE PTR [rax+18472] - 002e2 3d d0 00 00 00 cmp eax, 208 ; 000000d0H - 002e7 7c 15 jl SHORT $LN52@stbi__pars - 002e9 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 002f0 0f b6 80 28 48 - 00 00 movzx eax, BYTE PTR [rax+18472] - 002f7 3d d7 00 00 00 cmp eax, 215 ; 000000d7H - 002fc 7e 0a jle SHORT $LN51@stbi__pars -$LN52@stbi__pars: - -; 2777 : return 1; - - 002fe b8 01 00 00 00 mov eax, 1 - 00303 e9 75 09 00 00 jmp $LN1@stbi__pars -$LN51@stbi__pars: - -; 2778 : stbi__jpeg_reset(z); - - 00308 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0030f e8 00 00 00 00 call stbi__jpeg_reset - 00314 90 npad 1 -$LN49@stbi__pars: - -; 2779 : } -; 2780 : } - - 00315 e9 f5 fd ff ff jmp $LN5@stbi__pars -$LN6@stbi__pars: - -; 2781 : } - - 0031a e9 d0 fd ff ff jmp $LN2@stbi__pars -$LN3@stbi__pars: - -; 2782 : return 1; - - 0031f b8 01 00 00 00 mov eax, 1 - 00324 e9 54 09 00 00 jmp $LN1@stbi__pars - -; 2783 : } else { // interleaved - - 00329 e9 aa 03 00 00 jmp $LN47@stbi__pars -$LN46@stbi__pars: - -; 2784 : int i, j, k, x, y; -; 2785 : STBI_SIMD_ALIGN(short, data[64]); -; 2786 : for (j = 0; j < z->img_mcu_y; ++j) { - - 0032e c7 85 84 01 00 - 00 00 00 00 00 mov DWORD PTR j$13[rbp], 0 - 00338 eb 0e jmp SHORT $LN10@stbi__pars -$LN8@stbi__pars: - 0033a 8b 85 84 01 00 - 00 mov eax, DWORD PTR j$13[rbp] - 00340 ff c0 inc eax - 00342 89 85 84 01 00 - 00 mov DWORD PTR j$13[rbp], eax -$LN10@stbi__pars: - 00348 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 0034f 8b 80 94 46 00 - 00 mov eax, DWORD PTR [rax+18068] - 00355 39 85 84 01 00 - 00 cmp DWORD PTR j$13[rbp], eax - 0035b 0f 8d 6d 03 00 - 00 jge $LN9@stbi__pars - -; 2787 : for (i = 0; i < z->img_mcu_x; ++i) { - - 00361 c7 85 64 01 00 - 00 00 00 00 00 mov DWORD PTR i$12[rbp], 0 - 0036b eb 0e jmp SHORT $LN13@stbi__pars -$LN11@stbi__pars: - 0036d 8b 85 64 01 00 - 00 mov eax, DWORD PTR i$12[rbp] - 00373 ff c0 inc eax - 00375 89 85 64 01 00 - 00 mov DWORD PTR i$12[rbp], eax -$LN13@stbi__pars: - 0037b 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 00382 8b 80 90 46 00 - 00 mov eax, DWORD PTR [rax+18064] - 00388 39 85 64 01 00 - 00 cmp DWORD PTR i$12[rbp], eax - 0038e 0f 8d 35 03 00 - 00 jge $LN12@stbi__pars - -; 2788 : // scan an interleaved mcu... process scan_n components in order -; 2789 : for (k = 0; k < z->scan_n; ++k) { - - 00394 c7 85 a4 01 00 - 00 00 00 00 00 mov DWORD PTR k$14[rbp], 0 - 0039e eb 0e jmp SHORT $LN16@stbi__pars -$LN14@stbi__pars: - 003a0 8b 85 a4 01 00 - 00 mov eax, DWORD PTR k$14[rbp] - 003a6 ff c0 inc eax - 003a8 89 85 a4 01 00 - 00 mov DWORD PTR k$14[rbp], eax -$LN16@stbi__pars: - 003ae 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 003b5 8b 80 54 48 00 - 00 mov eax, DWORD PTR [rax+18516] - 003bb 39 85 a4 01 00 - 00 cmp DWORD PTR k$14[rbp], eax - 003c1 0f 8d 6e 02 00 - 00 jge $LN15@stbi__pars - -; 2790 : int n = z->order[k]; - - 003c7 48 63 85 a4 01 - 00 00 movsxd rax, DWORD PTR k$14[rbp] - 003ce 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 003d5 8b 84 81 58 48 - 00 00 mov eax, DWORD PTR [rcx+rax*4+18520] - 003dc 89 85 a4 02 00 - 00 mov DWORD PTR n$18[rbp], eax - -; 2791 : // scan out an mcu's worth of this component; that's just determined -; 2792 : // by the basic H and V specified for the component -; 2793 : for (y = 0; y < z->img_comp[n].v; ++y) { - - 003e2 c7 85 e4 01 00 - 00 00 00 00 00 mov DWORD PTR y$16[rbp], 0 - 003ec eb 0e jmp SHORT $LN19@stbi__pars -$LN17@stbi__pars: - 003ee 8b 85 e4 01 00 - 00 mov eax, DWORD PTR y$16[rbp] - 003f4 ff c0 inc eax - 003f6 89 85 e4 01 00 - 00 mov DWORD PTR y$16[rbp], eax -$LN19@stbi__pars: - 003fc 48 63 85 a4 02 - 00 00 movsxd rax, DWORD PTR n$18[rbp] - 00403 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00407 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0040e 8b 84 01 a8 46 - 00 00 mov eax, DWORD PTR [rcx+rax+18088] - 00415 39 85 e4 01 00 - 00 cmp DWORD PTR y$16[rbp], eax - 0041b 0f 8d 0f 02 00 - 00 jge $LN18@stbi__pars - -; 2794 : for (x = 0; x < z->img_comp[n].h; ++x) { - - 00421 c7 85 c4 01 00 - 00 00 00 00 00 mov DWORD PTR x$15[rbp], 0 - 0042b eb 0e jmp SHORT $LN22@stbi__pars -$LN20@stbi__pars: - 0042d 8b 85 c4 01 00 - 00 mov eax, DWORD PTR x$15[rbp] - 00433 ff c0 inc eax - 00435 89 85 c4 01 00 - 00 mov DWORD PTR x$15[rbp], eax -$LN22@stbi__pars: - 0043b 48 63 85 a4 02 - 00 00 movsxd rax, DWORD PTR n$18[rbp] - 00442 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00446 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0044d 8b 84 01 a4 46 - 00 00 mov eax, DWORD PTR [rcx+rax+18084] - 00454 39 85 c4 01 00 - 00 cmp DWORD PTR x$15[rbp], eax - 0045a 0f 8d cb 01 00 - 00 jge $LN21@stbi__pars - -; 2795 : int x2 = - - 00460 48 63 85 a4 02 - 00 00 movsxd rax, DWORD PTR n$18[rbp] - 00467 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0046b 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00472 8b 95 64 01 00 - 00 mov edx, DWORD PTR i$12[rbp] - 00478 0f af 94 01 a4 - 46 00 00 imul edx, DWORD PTR [rcx+rax+18084] - 00480 8b c2 mov eax, edx - 00482 03 85 c4 01 00 - 00 add eax, DWORD PTR x$15[rbp] - 00488 c1 e0 03 shl eax, 3 - 0048b 89 85 c4 02 00 - 00 mov DWORD PTR x2$19[rbp], eax - -; 2796 : (i * z->img_comp[n].h + x) * -; 2797 : 8; -; 2798 : int y2 = - - 00491 48 63 85 a4 02 - 00 00 movsxd rax, DWORD PTR n$18[rbp] - 00498 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0049c 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 004a3 8b 95 84 01 00 - 00 mov edx, DWORD PTR j$13[rbp] - 004a9 0f af 94 01 a8 - 46 00 00 imul edx, DWORD PTR [rcx+rax+18088] - 004b1 8b c2 mov eax, edx - 004b3 03 85 e4 01 00 - 00 add eax, DWORD PTR y$16[rbp] - 004b9 c1 e0 03 shl eax, 3 - 004bc 89 85 e4 02 00 - 00 mov DWORD PTR y2$20[rbp], eax - -; 2799 : (j * z->img_comp[n].v + y) * -; 2800 : 8; -; 2801 : int ha = z->img_comp[n].ha; - - 004c2 48 63 85 a4 02 - 00 00 movsxd rax, DWORD PTR n$18[rbp] - 004c9 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 004cd 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 004d4 8b 84 01 b4 46 - 00 00 mov eax, DWORD PTR [rcx+rax+18100] - 004db 89 85 04 03 00 - 00 mov DWORD PTR ha$21[rbp], eax - -; 2802 : if (!stbi__jpeg_decode_block( - - 004e1 48 63 85 a4 02 - 00 00 movsxd rax, DWORD PTR n$18[rbp] - 004e8 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 004ec 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 004f3 48 63 84 01 ac - 46 00 00 movsxd rax, DWORD PTR [rcx+rax+18092] - 004fb 48 69 c0 80 00 - 00 00 imul rax, rax, 128 ; 00000080H - 00502 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00509 48 8d 84 01 88 - 34 00 00 lea rax, QWORD PTR [rcx+rax+13448] - 00511 48 63 8d 04 03 - 00 00 movsxd rcx, DWORD PTR ha$21[rbp] - 00518 48 69 c9 00 04 - 00 00 imul rcx, rcx, 1024 ; 00000400H - 0051f 48 8b 95 80 07 - 00 00 mov rdx, QWORD PTR z$[rbp] - 00526 48 8d 8c 0a 88 - 36 00 00 lea rcx, QWORD PTR [rdx+rcx+13960] - 0052e 48 63 95 04 03 - 00 00 movsxd rdx, DWORD PTR ha$21[rbp] - 00535 48 69 d2 90 06 - 00 00 imul rdx, rdx, 1680 ; 00000690H - 0053c 4c 8b 85 80 07 - 00 00 mov r8, QWORD PTR z$[rbp] - 00543 49 8d 94 10 48 - 1a 00 00 lea rdx, QWORD PTR [r8+rdx+6728] - 0054b 4c 63 85 a4 02 - 00 00 movsxd r8, DWORD PTR n$18[rbp] - 00552 4d 6b c0 60 imul r8, r8, 96 ; 00000060H - 00556 4c 8b 8d 80 07 - 00 00 mov r9, QWORD PTR z$[rbp] - 0055d 4f 63 84 01 b0 - 46 00 00 movsxd r8, DWORD PTR [r9+r8+18096] - 00565 4d 69 c0 90 06 - 00 00 imul r8, r8, 1680 ; 00000690H - 0056c 4c 8b 8d 80 07 - 00 00 mov r9, QWORD PTR z$[rbp] - 00573 4f 8d 44 01 08 lea r8, QWORD PTR [r9+r8+8] - 00578 48 89 44 24 30 mov QWORD PTR [rsp+48], rax - 0057d 8b 85 a4 02 00 - 00 mov eax, DWORD PTR n$18[rbp] - 00583 89 44 24 28 mov DWORD PTR [rsp+40], eax - 00587 48 89 4c 24 20 mov QWORD PTR [rsp+32], rcx - 0058c 4c 8b ca mov r9, rdx - 0058f 48 8d 95 10 02 - 00 00 lea rdx, QWORD PTR data$17[rbp] - 00596 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0059d e8 00 00 00 00 call stbi__jpeg_decode_block - 005a2 85 c0 test eax, eax - 005a4 75 07 jne SHORT $LN53@stbi__pars - -; 2803 : z, data, -; 2804 : z->huff_dc + -; 2805 : z->img_comp[n] -; 2806 : .hd, -; 2807 : z->huff_ac + ha, -; 2808 : z->fast_ac[ha], n, -; 2809 : z->dequant[z->img_comp[n] -; 2810 : .tq])) -; 2811 : return 0; - - 005a6 33 c0 xor eax, eax - 005a8 e9 d0 06 00 00 jmp $LN1@stbi__pars -$LN53@stbi__pars: - -; 2812 : z->idct_block_kernel( - - 005ad 48 63 85 a4 02 - 00 00 movsxd rax, DWORD PTR n$18[rbp] - 005b4 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 005b8 48 63 8d a4 02 - 00 00 movsxd rcx, DWORD PTR n$18[rbp] - 005bf 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 005c3 48 63 95 a4 02 - 00 00 movsxd rdx, DWORD PTR n$18[rbp] - 005ca 48 6b d2 60 imul rdx, rdx, 96 ; 00000060H - 005ce 4c 8b 85 80 07 - 00 00 mov r8, QWORD PTR z$[rbp] - 005d5 41 8b 94 10 c4 - 46 00 00 mov edx, DWORD PTR [r8+rdx+18116] - 005dd 0f af 95 e4 02 - 00 00 imul edx, DWORD PTR y2$20[rbp] - 005e4 48 63 d2 movsxd rdx, edx - 005e7 4c 8b 85 80 07 - 00 00 mov r8, QWORD PTR z$[rbp] - 005ee 49 8b 8c 08 d0 - 46 00 00 mov rcx, QWORD PTR [r8+rcx+18128] - 005f6 48 03 ca add rcx, rdx - 005f9 48 63 95 c4 02 - 00 00 movsxd rdx, DWORD PTR x2$19[rbp] - 00600 48 03 ca add rcx, rdx - 00603 4c 8d 85 10 02 - 00 00 lea r8, QWORD PTR data$17[rbp] - 0060a 48 8b 95 80 07 - 00 00 mov rdx, QWORD PTR z$[rbp] - 00611 8b 94 02 c4 46 - 00 00 mov edx, DWORD PTR [rdx+rax+18116] - 00618 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 0061f ff 90 70 48 00 - 00 call QWORD PTR [rax+18544] - 00625 90 npad 1 - -; 2813 : z->img_comp[n].data + -; 2814 : z->img_comp[n].w2 * -; 2815 : y2 + -; 2816 : x2, -; 2817 : z->img_comp[n].w2, data); -; 2818 : } - - 00626 e9 02 fe ff ff jmp $LN20@stbi__pars -$LN21@stbi__pars: - -; 2819 : } - - 0062b e9 be fd ff ff jmp $LN17@stbi__pars -$LN18@stbi__pars: - -; 2820 : } - - 00630 e9 6b fd ff ff jmp $LN14@stbi__pars -$LN15@stbi__pars: - -; 2821 : // after all interleaved components, that's an interleaved MCU, -; 2822 : // so now count down the restart interval -; 2823 : if (--z->todo <= 0) { - - 00635 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 0063c 8b 80 6c 48 00 - 00 mov eax, DWORD PTR [rax+18540] - 00642 ff c8 dec eax - 00644 89 85 54 07 00 - 00 mov DWORD PTR tv311[rbp], eax - 0064a 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 00651 8b 8d 54 07 00 - 00 mov ecx, DWORD PTR tv311[rbp] - 00657 89 88 6c 48 00 - 00 mov DWORD PTR [rax+18540], ecx - 0065d 83 bd 54 07 00 - 00 00 cmp DWORD PTR tv311[rbp], 0 - 00664 7f 5e jg SHORT $LN54@stbi__pars - -; 2824 : if (z->code_bits < 24) - - 00666 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 0066d 83 b8 24 48 00 - 00 18 cmp DWORD PTR [rax+18468], 24 - 00674 7d 0d jge SHORT $LN55@stbi__pars - -; 2825 : stbi__grow_buffer_unsafe(z); - - 00676 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0067d e8 00 00 00 00 call stbi__grow_buffer_unsafe - 00682 90 npad 1 -$LN55@stbi__pars: - -; 2826 : if (!STBI__RESTART(z->marker)) - - 00683 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 0068a 0f b6 80 28 48 - 00 00 movzx eax, BYTE PTR [rax+18472] - 00691 3d d0 00 00 00 cmp eax, 208 ; 000000d0H - 00696 7c 15 jl SHORT $LN57@stbi__pars - 00698 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 0069f 0f b6 80 28 48 - 00 00 movzx eax, BYTE PTR [rax+18472] - 006a6 3d d7 00 00 00 cmp eax, 215 ; 000000d7H - 006ab 7e 0a jle SHORT $LN56@stbi__pars -$LN57@stbi__pars: - -; 2827 : return 1; - - 006ad b8 01 00 00 00 mov eax, 1 - 006b2 e9 c6 05 00 00 jmp $LN1@stbi__pars -$LN56@stbi__pars: - -; 2828 : stbi__jpeg_reset(z); - - 006b7 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 006be e8 00 00 00 00 call stbi__jpeg_reset - 006c3 90 npad 1 -$LN54@stbi__pars: - -; 2829 : } -; 2830 : } - - 006c4 e9 a4 fc ff ff jmp $LN11@stbi__pars -$LN12@stbi__pars: - -; 2831 : } - - 006c9 e9 6c fc ff ff jmp $LN8@stbi__pars -$LN9@stbi__pars: - -; 2832 : return 1; - - 006ce b8 01 00 00 00 mov eax, 1 - 006d3 e9 a5 05 00 00 jmp $LN1@stbi__pars -$LN47@stbi__pars: - -; 2833 : } -; 2834 : } else { - - 006d8 e9 a0 05 00 00 jmp $LN45@stbi__pars -$LN44@stbi__pars: - -; 2835 : if (z->scan_n == 1) { - - 006dd 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 006e4 83 b8 54 48 00 - 00 01 cmp DWORD PTR [rax+18516], 1 - 006eb 0f 85 a5 02 00 - 00 jne $LN58@stbi__pars - -; 2836 : int i, j; -; 2837 : int n = z->order[0]; - - 006f1 b8 04 00 00 00 mov eax, 4 - 006f6 48 6b c0 00 imul rax, rax, 0 - 006fa 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00701 8b 84 01 58 48 - 00 00 mov eax, DWORD PTR [rcx+rax+18520] - 00708 89 85 64 03 00 - 00 mov DWORD PTR n$24[rbp], eax - -; 2838 : // non-interleaved data, we just need to process one block at a time, -; 2839 : // in trivial scanline order -; 2840 : // number of blocks to do just depends on how many actual "pixels" this -; 2841 : // component has, independent of interleaved MCU blocking and such -; 2842 : int w = (z->img_comp[n].x + 7) >> 3; - - 0070e 48 63 85 64 03 - 00 00 movsxd rax, DWORD PTR n$24[rbp] - 00715 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00719 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00720 8b 84 01 bc 46 - 00 00 mov eax, DWORD PTR [rcx+rax+18108] - 00727 83 c0 07 add eax, 7 - 0072a c1 f8 03 sar eax, 3 - 0072d 89 85 84 03 00 - 00 mov DWORD PTR w$25[rbp], eax - -; 2843 : int h = (z->img_comp[n].y + 7) >> 3; - - 00733 48 63 85 64 03 - 00 00 movsxd rax, DWORD PTR n$24[rbp] - 0073a 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0073e 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00745 8b 84 01 c0 46 - 00 00 mov eax, DWORD PTR [rcx+rax+18112] - 0074c 83 c0 07 add eax, 7 - 0074f c1 f8 03 sar eax, 3 - 00752 89 85 a4 03 00 - 00 mov DWORD PTR h$26[rbp], eax - -; 2844 : for (j = 0; j < h; ++j) { - - 00758 c7 85 44 03 00 - 00 00 00 00 00 mov DWORD PTR j$23[rbp], 0 - 00762 eb 0e jmp SHORT $LN25@stbi__pars -$LN23@stbi__pars: - 00764 8b 85 44 03 00 - 00 mov eax, DWORD PTR j$23[rbp] - 0076a ff c0 inc eax - 0076c 89 85 44 03 00 - 00 mov DWORD PTR j$23[rbp], eax -$LN25@stbi__pars: - 00772 8b 85 a4 03 00 - 00 mov eax, DWORD PTR h$26[rbp] - 00778 39 85 44 03 00 - 00 cmp DWORD PTR j$23[rbp], eax - 0077e 0f 8d 03 02 00 - 00 jge $LN24@stbi__pars - -; 2845 : for (i = 0; i < w; ++i) { - - 00784 c7 85 24 03 00 - 00 00 00 00 00 mov DWORD PTR i$22[rbp], 0 - 0078e eb 0e jmp SHORT $LN28@stbi__pars -$LN26@stbi__pars: - 00790 8b 85 24 03 00 - 00 mov eax, DWORD PTR i$22[rbp] - 00796 ff c0 inc eax - 00798 89 85 24 03 00 - 00 mov DWORD PTR i$22[rbp], eax -$LN28@stbi__pars: - 0079e 8b 85 84 03 00 - 00 mov eax, DWORD PTR w$25[rbp] - 007a4 39 85 24 03 00 - 00 cmp DWORD PTR i$22[rbp], eax - 007aa 0f 8d d2 01 00 - 00 jge $LN27@stbi__pars - -; 2846 : short *data = z->img_comp[n].coeff + - - 007b0 48 63 85 64 03 - 00 00 movsxd rax, DWORD PTR n$24[rbp] - 007b7 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 007bb 48 63 8d 64 03 - 00 00 movsxd rcx, DWORD PTR n$24[rbp] - 007c2 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 007c6 48 8b 95 80 07 - 00 00 mov rdx, QWORD PTR z$[rbp] - 007cd 44 8b 85 44 03 - 00 00 mov r8d, DWORD PTR j$23[rbp] - 007d4 44 0f af 84 0a - f8 46 00 00 imul r8d, DWORD PTR [rdx+rcx+18168] - 007dd 41 8b c8 mov ecx, r8d - 007e0 8b 95 24 03 00 - 00 mov edx, DWORD PTR i$22[rbp] - 007e6 03 d1 add edx, ecx - 007e8 8b ca mov ecx, edx - 007ea 6b c9 40 imul ecx, ecx, 64 ; 00000040H - 007ed 48 63 c9 movsxd rcx, ecx - 007f0 48 8b 95 80 07 - 00 00 mov rdx, QWORD PTR z$[rbp] - 007f7 48 8b 84 02 f0 - 46 00 00 mov rax, QWORD PTR [rdx+rax+18160] - 007ff 48 8d 04 48 lea rax, QWORD PTR [rax+rcx*2] - 00803 48 89 85 c8 03 - 00 00 mov QWORD PTR data$27[rbp], rax - -; 2847 : 64 * (i + j * z->img_comp[n].coeff_w); -; 2848 : if (z->spec_start == 0) { - - 0080a 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 00811 83 b8 34 48 00 - 00 00 cmp DWORD PTR [rax+18484], 0 - 00818 75 57 jne SHORT $LN60@stbi__pars - -; 2849 : if (!stbi__jpeg_decode_block_prog_dc( - - 0081a 48 63 85 64 03 - 00 00 movsxd rax, DWORD PTR n$24[rbp] - 00821 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00825 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0082c 48 63 84 01 b0 - 46 00 00 movsxd rax, DWORD PTR [rcx+rax+18096] - 00834 48 69 c0 90 06 - 00 00 imul rax, rax, 1680 ; 00000690H - 0083b 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00842 48 8d 44 01 08 lea rax, QWORD PTR [rcx+rax+8] - 00847 44 8b 8d 64 03 - 00 00 mov r9d, DWORD PTR n$24[rbp] - 0084e 4c 8b c0 mov r8, rax - 00851 48 8b 95 c8 03 - 00 00 mov rdx, QWORD PTR data$27[rbp] - 00858 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 0085f e8 00 00 00 00 call stbi__jpeg_decode_block_prog_dc - 00864 85 c0 test eax, eax - 00866 75 07 jne SHORT $LN62@stbi__pars - -; 2850 : z, data, &z->huff_dc[z->img_comp[n].hd], -; 2851 : n)) -; 2852 : return 0; - - 00868 33 c0 xor eax, eax - 0086a e9 0e 04 00 00 jmp $LN1@stbi__pars -$LN62@stbi__pars: - -; 2853 : } else { - - 0086f eb 7d jmp SHORT $LN61@stbi__pars -$LN60@stbi__pars: - -; 2854 : int ha = z->img_comp[n].ha; - - 00871 48 63 85 64 03 - 00 00 movsxd rax, DWORD PTR n$24[rbp] - 00878 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0087c 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00883 8b 84 01 b4 46 - 00 00 mov eax, DWORD PTR [rcx+rax+18100] - 0088a 89 85 e4 03 00 - 00 mov DWORD PTR ha$28[rbp], eax - -; 2855 : if (!stbi__jpeg_decode_block_prog_ac( - - 00890 48 63 85 e4 03 - 00 00 movsxd rax, DWORD PTR ha$28[rbp] - 00897 48 69 c0 00 04 - 00 00 imul rax, rax, 1024 ; 00000400H - 0089e 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 008a5 48 8d 84 01 88 - 36 00 00 lea rax, QWORD PTR [rcx+rax+13960] - 008ad 48 63 8d e4 03 - 00 00 movsxd rcx, DWORD PTR ha$28[rbp] - 008b4 48 69 c9 90 06 - 00 00 imul rcx, rcx, 1680 ; 00000690H - 008bb 48 8b 95 80 07 - 00 00 mov rdx, QWORD PTR z$[rbp] - 008c2 48 8d 8c 0a 48 - 1a 00 00 lea rcx, QWORD PTR [rdx+rcx+6728] - 008ca 4c 8b c8 mov r9, rax - 008cd 4c 8b c1 mov r8, rcx - 008d0 48 8b 95 c8 03 - 00 00 mov rdx, QWORD PTR data$27[rbp] - 008d7 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 008de e8 00 00 00 00 call stbi__jpeg_decode_block_prog_ac - 008e3 85 c0 test eax, eax - 008e5 75 07 jne SHORT $LN63@stbi__pars - -; 2856 : z, data, &z->huff_ac[ha], -; 2857 : z->fast_ac[ha])) -; 2858 : return 0; - - 008e7 33 c0 xor eax, eax - 008e9 e9 8f 03 00 00 jmp $LN1@stbi__pars -$LN63@stbi__pars: -$LN61@stbi__pars: - -; 2859 : } -; 2860 : // every data block is an MCU, so countdown the restart interval -; 2861 : if (--z->todo <= 0) { - - 008ee 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 008f5 8b 80 6c 48 00 - 00 mov eax, DWORD PTR [rax+18540] - 008fb ff c8 dec eax - 008fd 89 85 54 07 00 - 00 mov DWORD PTR tv400[rbp], eax - 00903 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 0090a 8b 8d 54 07 00 - 00 mov ecx, DWORD PTR tv400[rbp] - 00910 89 88 6c 48 00 - 00 mov DWORD PTR [rax+18540], ecx - 00916 83 bd 54 07 00 - 00 00 cmp DWORD PTR tv400[rbp], 0 - 0091d 7f 5e jg SHORT $LN64@stbi__pars - -; 2862 : if (z->code_bits < 24) - - 0091f 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 00926 83 b8 24 48 00 - 00 18 cmp DWORD PTR [rax+18468], 24 - 0092d 7d 0d jge SHORT $LN65@stbi__pars - -; 2863 : stbi__grow_buffer_unsafe(z); - - 0092f 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00936 e8 00 00 00 00 call stbi__grow_buffer_unsafe - 0093b 90 npad 1 -$LN65@stbi__pars: - -; 2864 : if (!STBI__RESTART(z->marker)) - - 0093c 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 00943 0f b6 80 28 48 - 00 00 movzx eax, BYTE PTR [rax+18472] - 0094a 3d d0 00 00 00 cmp eax, 208 ; 000000d0H - 0094f 7c 15 jl SHORT $LN67@stbi__pars - 00951 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 00958 0f b6 80 28 48 - 00 00 movzx eax, BYTE PTR [rax+18472] - 0095f 3d d7 00 00 00 cmp eax, 215 ; 000000d7H - 00964 7e 0a jle SHORT $LN66@stbi__pars -$LN67@stbi__pars: - -; 2865 : return 1; - - 00966 b8 01 00 00 00 mov eax, 1 - 0096b e9 0d 03 00 00 jmp $LN1@stbi__pars -$LN66@stbi__pars: - -; 2866 : stbi__jpeg_reset(z); - - 00970 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00977 e8 00 00 00 00 call stbi__jpeg_reset - 0097c 90 npad 1 -$LN64@stbi__pars: - -; 2867 : } -; 2868 : } - - 0097d e9 0e fe ff ff jmp $LN26@stbi__pars -$LN27@stbi__pars: - -; 2869 : } - - 00982 e9 dd fd ff ff jmp $LN23@stbi__pars -$LN24@stbi__pars: - -; 2870 : return 1; - - 00987 b8 01 00 00 00 mov eax, 1 - 0098c e9 ec 02 00 00 jmp $LN1@stbi__pars - -; 2871 : } else { // interleaved - - 00991 e9 e7 02 00 00 jmp $LN59@stbi__pars -$LN58@stbi__pars: - -; 2872 : int i, j, k, x, y; -; 2873 : for (j = 0; j < z->img_mcu_y; ++j) { - - 00996 c7 85 24 04 00 - 00 00 00 00 00 mov DWORD PTR j$30[rbp], 0 - 009a0 eb 0e jmp SHORT $LN31@stbi__pars -$LN29@stbi__pars: - 009a2 8b 85 24 04 00 - 00 mov eax, DWORD PTR j$30[rbp] - 009a8 ff c0 inc eax - 009aa 89 85 24 04 00 - 00 mov DWORD PTR j$30[rbp], eax -$LN31@stbi__pars: - 009b0 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 009b7 8b 80 94 46 00 - 00 mov eax, DWORD PTR [rax+18068] - 009bd 39 85 24 04 00 - 00 cmp DWORD PTR j$30[rbp], eax - 009c3 0f 8d af 02 00 - 00 jge $LN30@stbi__pars - -; 2874 : for (i = 0; i < z->img_mcu_x; ++i) { - - 009c9 c7 85 04 04 00 - 00 00 00 00 00 mov DWORD PTR i$29[rbp], 0 - 009d3 eb 0e jmp SHORT $LN34@stbi__pars -$LN32@stbi__pars: - 009d5 8b 85 04 04 00 - 00 mov eax, DWORD PTR i$29[rbp] - 009db ff c0 inc eax - 009dd 89 85 04 04 00 - 00 mov DWORD PTR i$29[rbp], eax -$LN34@stbi__pars: - 009e3 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 009ea 8b 80 90 46 00 - 00 mov eax, DWORD PTR [rax+18064] - 009f0 39 85 04 04 00 - 00 cmp DWORD PTR i$29[rbp], eax - 009f6 0f 8d 77 02 00 - 00 jge $LN33@stbi__pars - -; 2875 : // scan an interleaved mcu... process scan_n components in order -; 2876 : for (k = 0; k < z->scan_n; ++k) { - - 009fc c7 85 44 04 00 - 00 00 00 00 00 mov DWORD PTR k$31[rbp], 0 - 00a06 eb 0e jmp SHORT $LN37@stbi__pars -$LN35@stbi__pars: - 00a08 8b 85 44 04 00 - 00 mov eax, DWORD PTR k$31[rbp] - 00a0e ff c0 inc eax - 00a10 89 85 44 04 00 - 00 mov DWORD PTR k$31[rbp], eax -$LN37@stbi__pars: - 00a16 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 00a1d 8b 80 54 48 00 - 00 mov eax, DWORD PTR [rax+18516] - 00a23 39 85 44 04 00 - 00 cmp DWORD PTR k$31[rbp], eax - 00a29 0f 8d b3 01 00 - 00 jge $LN36@stbi__pars - -; 2877 : int n = z->order[k]; - - 00a2f 48 63 85 44 04 - 00 00 movsxd rax, DWORD PTR k$31[rbp] - 00a36 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00a3d 8b 84 81 58 48 - 00 00 mov eax, DWORD PTR [rcx+rax*4+18520] - 00a44 89 85 a4 04 00 - 00 mov DWORD PTR n$34[rbp], eax - -; 2878 : // scan out an mcu's worth of this component; that's just determined -; 2879 : // by the basic H and V specified for the component -; 2880 : for (y = 0; y < z->img_comp[n].v; ++y) { - - 00a4a c7 85 84 04 00 - 00 00 00 00 00 mov DWORD PTR y$33[rbp], 0 - 00a54 eb 0e jmp SHORT $LN40@stbi__pars -$LN38@stbi__pars: - 00a56 8b 85 84 04 00 - 00 mov eax, DWORD PTR y$33[rbp] - 00a5c ff c0 inc eax - 00a5e 89 85 84 04 00 - 00 mov DWORD PTR y$33[rbp], eax -$LN40@stbi__pars: - 00a64 48 63 85 a4 04 - 00 00 movsxd rax, DWORD PTR n$34[rbp] - 00a6b 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00a6f 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00a76 8b 84 01 a8 46 - 00 00 mov eax, DWORD PTR [rcx+rax+18088] - 00a7d 39 85 84 04 00 - 00 cmp DWORD PTR y$33[rbp], eax - 00a83 0f 8d 54 01 00 - 00 jge $LN39@stbi__pars - -; 2881 : for (x = 0; x < z->img_comp[n].h; ++x) { - - 00a89 c7 85 64 04 00 - 00 00 00 00 00 mov DWORD PTR x$32[rbp], 0 - 00a93 eb 0e jmp SHORT $LN43@stbi__pars -$LN41@stbi__pars: - 00a95 8b 85 64 04 00 - 00 mov eax, DWORD PTR x$32[rbp] - 00a9b ff c0 inc eax - 00a9d 89 85 64 04 00 - 00 mov DWORD PTR x$32[rbp], eax -$LN43@stbi__pars: - 00aa3 48 63 85 a4 04 - 00 00 movsxd rax, DWORD PTR n$34[rbp] - 00aaa 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00aae 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00ab5 8b 84 01 a4 46 - 00 00 mov eax, DWORD PTR [rcx+rax+18084] - 00abc 39 85 64 04 00 - 00 cmp DWORD PTR x$32[rbp], eax - 00ac2 0f 8d 10 01 00 - 00 jge $LN42@stbi__pars - -; 2882 : int x2 = (i * z->img_comp[n].h + x); - - 00ac8 48 63 85 a4 04 - 00 00 movsxd rax, DWORD PTR n$34[rbp] - 00acf 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00ad3 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00ada 8b 95 04 04 00 - 00 mov edx, DWORD PTR i$29[rbp] - 00ae0 0f af 94 01 a4 - 46 00 00 imul edx, DWORD PTR [rcx+rax+18084] - 00ae8 8b c2 mov eax, edx - 00aea 03 85 64 04 00 - 00 add eax, DWORD PTR x$32[rbp] - 00af0 89 85 c4 04 00 - 00 mov DWORD PTR x2$35[rbp], eax - -; 2883 : int y2 = (j * z->img_comp[n].v + y); - - 00af6 48 63 85 a4 04 - 00 00 movsxd rax, DWORD PTR n$34[rbp] - 00afd 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00b01 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00b08 8b 95 24 04 00 - 00 mov edx, DWORD PTR j$30[rbp] - 00b0e 0f af 94 01 a8 - 46 00 00 imul edx, DWORD PTR [rcx+rax+18088] - 00b16 8b c2 mov eax, edx - 00b18 03 85 84 04 00 - 00 add eax, DWORD PTR y$33[rbp] - 00b1e 89 85 e4 04 00 - 00 mov DWORD PTR y2$36[rbp], eax - -; 2884 : short *data = - - 00b24 48 63 85 a4 04 - 00 00 movsxd rax, DWORD PTR n$34[rbp] - 00b2b 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00b2f 48 63 8d a4 04 - 00 00 movsxd rcx, DWORD PTR n$34[rbp] - 00b36 48 6b c9 60 imul rcx, rcx, 96 ; 00000060H - 00b3a 48 8b 95 80 07 - 00 00 mov rdx, QWORD PTR z$[rbp] - 00b41 44 8b 85 e4 04 - 00 00 mov r8d, DWORD PTR y2$36[rbp] - 00b48 44 0f af 84 0a - f8 46 00 00 imul r8d, DWORD PTR [rdx+rcx+18168] - 00b51 41 8b c8 mov ecx, r8d - 00b54 8b 95 c4 04 00 - 00 mov edx, DWORD PTR x2$35[rbp] - 00b5a 03 d1 add edx, ecx - 00b5c 8b ca mov ecx, edx - 00b5e 6b c9 40 imul ecx, ecx, 64 ; 00000040H - 00b61 48 63 c9 movsxd rcx, ecx - 00b64 48 8b 95 80 07 - 00 00 mov rdx, QWORD PTR z$[rbp] - 00b6b 48 8b 84 02 f0 - 46 00 00 mov rax, QWORD PTR [rdx+rax+18160] - 00b73 48 8d 04 48 lea rax, QWORD PTR [rax+rcx*2] - 00b77 48 89 85 08 05 - 00 00 mov QWORD PTR data$37[rbp], rax - -; 2885 : z->img_comp[n].coeff + -; 2886 : 64 * (x2 + -; 2887 : y2 * z->img_comp[n] -; 2888 : .coeff_w); -; 2889 : if (!stbi__jpeg_decode_block_prog_dc( - - 00b7e 48 63 85 a4 04 - 00 00 movsxd rax, DWORD PTR n$34[rbp] - 00b85 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00b89 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00b90 48 63 84 01 b0 - 46 00 00 movsxd rax, DWORD PTR [rcx+rax+18096] - 00b98 48 69 c0 90 06 - 00 00 imul rax, rax, 1680 ; 00000690H - 00b9f 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00ba6 48 8d 44 01 08 lea rax, QWORD PTR [rcx+rax+8] - 00bab 44 8b 8d a4 04 - 00 00 mov r9d, DWORD PTR n$34[rbp] - 00bb2 4c 8b c0 mov r8, rax - 00bb5 48 8b 95 08 05 - 00 00 mov rdx, QWORD PTR data$37[rbp] - 00bbc 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00bc3 e8 00 00 00 00 call stbi__jpeg_decode_block_prog_dc - 00bc8 85 c0 test eax, eax - 00bca 75 07 jne SHORT $LN68@stbi__pars - -; 2890 : z, data, -; 2891 : &z->huff_dc[z->img_comp[n] -; 2892 : .hd], -; 2893 : n)) -; 2894 : return 0; - - 00bcc 33 c0 xor eax, eax - 00bce e9 aa 00 00 00 jmp $LN1@stbi__pars -$LN68@stbi__pars: - -; 2895 : } - - 00bd3 e9 bd fe ff ff jmp $LN41@stbi__pars -$LN42@stbi__pars: - -; 2896 : } - - 00bd8 e9 79 fe ff ff jmp $LN38@stbi__pars -$LN39@stbi__pars: - -; 2897 : } - - 00bdd e9 26 fe ff ff jmp $LN35@stbi__pars -$LN36@stbi__pars: - -; 2898 : // after all interleaved components, that's an interleaved MCU, -; 2899 : // so now count down the restart interval -; 2900 : if (--z->todo <= 0) { - - 00be2 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 00be9 8b 80 6c 48 00 - 00 mov eax, DWORD PTR [rax+18540] - 00bef ff c8 dec eax - 00bf1 89 85 54 07 00 - 00 mov DWORD PTR tv518[rbp], eax - 00bf7 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 00bfe 8b 8d 54 07 00 - 00 mov ecx, DWORD PTR tv518[rbp] - 00c04 89 88 6c 48 00 - 00 mov DWORD PTR [rax+18540], ecx - 00c0a 83 bd 54 07 00 - 00 00 cmp DWORD PTR tv518[rbp], 0 - 00c11 7f 5b jg SHORT $LN69@stbi__pars - -; 2901 : if (z->code_bits < 24) - - 00c13 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 00c1a 83 b8 24 48 00 - 00 18 cmp DWORD PTR [rax+18468], 24 - 00c21 7d 0d jge SHORT $LN70@stbi__pars - -; 2902 : stbi__grow_buffer_unsafe(z); - - 00c23 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00c2a e8 00 00 00 00 call stbi__grow_buffer_unsafe - 00c2f 90 npad 1 -$LN70@stbi__pars: - -; 2903 : if (!STBI__RESTART(z->marker)) - - 00c30 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 00c37 0f b6 80 28 48 - 00 00 movzx eax, BYTE PTR [rax+18472] - 00c3e 3d d0 00 00 00 cmp eax, 208 ; 000000d0H - 00c43 7c 15 jl SHORT $LN72@stbi__pars - 00c45 48 8b 85 80 07 - 00 00 mov rax, QWORD PTR z$[rbp] - 00c4c 0f b6 80 28 48 - 00 00 movzx eax, BYTE PTR [rax+18472] - 00c53 3d d7 00 00 00 cmp eax, 215 ; 000000d7H - 00c58 7e 07 jle SHORT $LN71@stbi__pars -$LN72@stbi__pars: - -; 2904 : return 1; - - 00c5a b8 01 00 00 00 mov eax, 1 - 00c5f eb 1c jmp SHORT $LN1@stbi__pars -$LN71@stbi__pars: - -; 2905 : stbi__jpeg_reset(z); - - 00c61 48 8b 8d 80 07 - 00 00 mov rcx, QWORD PTR z$[rbp] - 00c68 e8 00 00 00 00 call stbi__jpeg_reset - 00c6d 90 npad 1 -$LN69@stbi__pars: - -; 2906 : } -; 2907 : } - - 00c6e e9 62 fd ff ff jmp $LN32@stbi__pars -$LN33@stbi__pars: - -; 2908 : } - - 00c73 e9 2a fd ff ff jmp $LN29@stbi__pars -$LN30@stbi__pars: - -; 2909 : return 1; - - 00c78 b8 01 00 00 00 mov eax, 1 -$LN59@stbi__pars: -$LN45@stbi__pars: -$LN1@stbi__pars: - -; 2910 : } -; 2911 : } -; 2912 : } - - 00c7d 48 8b f8 mov rdi, rax - 00c80 48 8d 4d c0 lea rcx, QWORD PTR [rbp-64] - 00c84 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__parse_entropy_coded_data$rtcFrameData - 00c8b e8 00 00 00 00 call _RTC_CheckStackVars - 00c90 48 8b c7 mov rax, rdi - 00c93 48 8b 8d 58 07 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 00c9a 48 33 cd xor rcx, rbp - 00c9d e8 00 00 00 00 call __security_check_cookie - 00ca2 48 8d a5 68 07 - 00 00 lea rsp, QWORD PTR [rbp+1896] - 00ca9 5f pop rdi - 00caa 5d pop rbp - 00cab c3 ret 0 -stbi__parse_entropy_coded_data ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__jpeg_reset -_TEXT SEGMENT -tv88 = 192 -j$ = 240 -stbi__jpeg_reset PROC ; COMDAT - -; 2731 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 2732 : j->code_bits = 0; - - 00020 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR j$[rbp] - 00027 c7 80 24 48 00 - 00 00 00 00 00 mov DWORD PTR [rax+18468], 0 - -; 2733 : j->code_buffer = 0; - - 00031 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR j$[rbp] - 00038 c7 80 20 48 00 - 00 00 00 00 00 mov DWORD PTR [rax+18464], 0 - -; 2734 : j->nomore = 0; - - 00042 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR j$[rbp] - 00049 c7 80 2c 48 00 - 00 00 00 00 00 mov DWORD PTR [rax+18476], 0 - -; 2735 : j->img_comp[0].dc_pred = j->img_comp[1].dc_pred = j->img_comp[2].dc_pred = - - 00053 b8 60 00 00 00 mov eax, 96 ; 00000060H - 00058 48 6b c0 03 imul rax, rax, 3 - 0005c 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00063 c7 84 01 b8 46 - 00 00 00 00 00 - 00 mov DWORD PTR [rcx+rax+18104], 0 - 0006e b8 60 00 00 00 mov eax, 96 ; 00000060H - 00073 48 6b c0 02 imul rax, rax, 2 - 00077 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR j$[rbp] - 0007e c7 84 01 b8 46 - 00 00 00 00 00 - 00 mov DWORD PTR [rcx+rax+18104], 0 - 00089 b8 60 00 00 00 mov eax, 96 ; 00000060H - 0008e 48 6b c0 01 imul rax, rax, 1 - 00092 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00099 c7 84 01 b8 46 - 00 00 00 00 00 - 00 mov DWORD PTR [rcx+rax+18104], 0 - 000a4 b8 60 00 00 00 mov eax, 96 ; 00000060H - 000a9 48 6b c0 00 imul rax, rax, 0 - 000ad 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR j$[rbp] - 000b4 c7 84 01 b8 46 - 00 00 00 00 00 - 00 mov DWORD PTR [rcx+rax+18104], 0 - -; 2736 : j->img_comp[3].dc_pred = 0; -; 2737 : j->marker = STBI__MARKER_none; - - 000bf 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR j$[rbp] - 000c6 c6 80 28 48 00 - 00 ff mov BYTE PTR [rax+18472], 255 ; 000000ffH - -; 2738 : j->todo = j->restart_interval ? j->restart_interval : 0x7fffffff; - - 000cd 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR j$[rbp] - 000d4 83 b8 68 48 00 - 00 00 cmp DWORD PTR [rax+18536], 0 - 000db 74 15 je SHORT $LN3@stbi__jpeg - 000dd 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR j$[rbp] - 000e4 8b 80 68 48 00 - 00 mov eax, DWORD PTR [rax+18536] - 000ea 89 85 c0 00 00 - 00 mov DWORD PTR tv88[rbp], eax - 000f0 eb 0a jmp SHORT $LN4@stbi__jpeg -$LN3@stbi__jpeg: - 000f2 c7 85 c0 00 00 - 00 ff ff ff 7f mov DWORD PTR tv88[rbp], 2147483647 ; 7fffffffH -$LN4@stbi__jpeg: - 000fc 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR j$[rbp] - 00103 8b 8d c0 00 00 - 00 mov ecx, DWORD PTR tv88[rbp] - 00109 89 88 6c 48 00 - 00 mov DWORD PTR [rax+18540], ecx - -; 2739 : j->eob_run = 0; - - 0010f 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR j$[rbp] - 00116 c7 80 44 48 00 - 00 00 00 00 00 mov DWORD PTR [rax+18500], 0 - -; 2740 : // no more than 1<<31 MCUs if no restart_interal? that's plenty safe, -; 2741 : // since we don't even allow 1<<30 pixels -; 2742 : } - - 00120 48 8d a5 d8 00 - 00 00 lea rsp, QWORD PTR [rbp+216] - 00127 5f pop rdi - 00128 5d pop rbp - 00129 c3 ret 0 -stbi__jpeg_reset ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__get_marker -_TEXT SEGMENT -x$ = 4 -j$ = 256 -stbi__get_marker PROC ; COMDAT - -; 2709 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 2710 : stbi_uc x; -; 2711 : if (j->marker != STBI__MARKER_none) { - - 00020 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00027 0f b6 80 28 48 - 00 00 movzx eax, BYTE PTR [rax+18472] - 0002e 3d ff 00 00 00 cmp eax, 255 ; 000000ffH - 00033 74 25 je SHORT $LN4@stbi__get_ - -; 2712 : x = j->marker; - - 00035 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 0003c 0f b6 80 28 48 - 00 00 movzx eax, BYTE PTR [rax+18472] - 00043 88 45 04 mov BYTE PTR x$[rbp], al - -; 2713 : j->marker = STBI__MARKER_none; - - 00046 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 0004d c6 80 28 48 00 - 00 ff mov BYTE PTR [rax+18472], 255 ; 000000ffH - -; 2714 : return x; - - 00054 0f b6 45 04 movzx eax, BYTE PTR x$[rbp] - 00058 eb 44 jmp SHORT $LN1@stbi__get_ -$LN4@stbi__get_: - -; 2715 : } -; 2716 : x = stbi__get8(j->s); - - 0005a 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00061 48 8b 08 mov rcx, QWORD PTR [rax] - 00064 e8 00 00 00 00 call stbi__get8 - 00069 88 45 04 mov BYTE PTR x$[rbp], al - -; 2717 : if (x != 0xff) - - 0006c 0f b6 45 04 movzx eax, BYTE PTR x$[rbp] - 00070 3d ff 00 00 00 cmp eax, 255 ; 000000ffH - 00075 74 04 je SHORT $LN5@stbi__get_ - -; 2718 : return STBI__MARKER_none; - - 00077 b0 ff mov al, 255 ; 000000ffH - 00079 eb 23 jmp SHORT $LN1@stbi__get_ -$LN5@stbi__get_: -$LN2@stbi__get_: - -; 2719 : while (x == 0xff) - - 0007b 0f b6 45 04 movzx eax, BYTE PTR x$[rbp] - 0007f 3d ff 00 00 00 cmp eax, 255 ; 000000ffH - 00084 75 14 jne SHORT $LN3@stbi__get_ - -; 2720 : x = stbi__get8(j->s); // consume repeated 0xff fill bytes - - 00086 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 0008d 48 8b 08 mov rcx, QWORD PTR [rax] - 00090 e8 00 00 00 00 call stbi__get8 - 00095 88 45 04 mov BYTE PTR x$[rbp], al - 00098 eb e1 jmp SHORT $LN2@stbi__get_ -$LN3@stbi__get_: - -; 2721 : return x; - - 0009a 0f b6 45 04 movzx eax, BYTE PTR x$[rbp] -$LN1@stbi__get_: - -; 2722 : } - - 0009e 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 000a5 5f pop rdi - 000a6 5d pop rbp - 000a7 c3 ret 0 -stbi__get_marker ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__idct_simd -_TEXT SEGMENT -row0$ = 16 -row1$ = 64 -row2$ = 112 -row3$ = 160 -row4$ = 208 -row5$ = 256 -row6$ = 304 -row7$ = 352 -tmp$ = 400 -rot0_0$ = 448 -rot0_1$ = 496 -rot1_0$ = 544 -rot1_1$ = 592 -rot2_0$ = 640 -rot2_1$ = 688 -rot3_0$ = 736 -rot3_1$ = 784 -bias_0$ = 832 -bias_1$ = 880 -rot0_0lo$1 = 928 -rot0_0hi$2 = 976 -t2e_l$3 = 1024 -t2e_h$4 = 1072 -t3e_l$5 = 1120 -t3e_h$6 = 1168 -sum04$7 = 1216 -dif04$8 = 1264 -t0e_l$9 = 1312 -t0e_h$10 = 1360 -t1e_l$11 = 1408 -t1e_h$12 = 1456 -x0_l$13 = 1504 -x0_h$14 = 1552 -x3_l$15 = 1600 -x3_h$16 = 1648 -x1_l$17 = 1696 -x1_h$18 = 1744 -x2_l$19 = 1792 -x2_h$20 = 1840 -rot2_0lo$21 = 1888 -rot2_0hi$22 = 1936 -y0o_l$23 = 1984 -y0o_h$24 = 2032 -y2o_l$25 = 2080 -y2o_h$26 = 2128 -rot3_0lo$27 = 2176 -rot3_0hi$28 = 2224 -y1o_l$29 = 2272 -y1o_h$30 = 2320 -y3o_l$31 = 2368 -y3o_h$32 = 2416 -sum17$33 = 2464 -sum35$34 = 2512 -rot1_0lo$35 = 2560 -rot1_0hi$36 = 2608 -y4o_l$37 = 2656 -y4o_h$38 = 2704 -y5o_l$39 = 2752 -y5o_h$40 = 2800 -x4_l$41 = 2848 -x4_h$42 = 2896 -x5_l$43 = 2944 -x5_h$44 = 2992 -x6_l$45 = 3040 -x6_h$46 = 3088 -x7_l$47 = 3136 -x7_h$48 = 3184 -abiased_l$49 = 3232 -abiased_h$50 = 3280 -sum_l$51 = 3328 -sum_h$52 = 3376 -dif_l$53 = 3424 -dif_h$54 = 3472 -abiased_l$55 = 3520 -abiased_h$56 = 3568 -sum_l$57 = 3616 -sum_h$58 = 3664 -dif_l$59 = 3712 -dif_h$60 = 3760 -abiased_l$61 = 3808 -abiased_h$62 = 3856 -sum_l$63 = 3904 -sum_h$64 = 3952 -dif_l$65 = 4000 -dif_h$66 = 4048 -abiased_l$67 = 4096 -abiased_h$68 = 4144 -sum_l$69 = 4192 -sum_h$70 = 4240 -dif_l$71 = 4288 -dif_h$72 = 4336 -rot0_0lo$73 = 4384 -rot0_0hi$74 = 4432 -t2e_l$75 = 4480 -t2e_h$76 = 4528 -t3e_l$77 = 4576 -t3e_h$78 = 4624 -sum04$79 = 4672 -dif04$80 = 4720 -t0e_l$81 = 4768 -t0e_h$82 = 4816 -t1e_l$83 = 4864 -t1e_h$84 = 4912 -x0_l$85 = 4960 -x0_h$86 = 5008 -x3_l$87 = 5056 -x3_h$88 = 5104 -x1_l$89 = 5152 -x1_h$90 = 5200 -x2_l$91 = 5248 -x2_h$92 = 5296 -rot2_0lo$93 = 5344 -rot2_0hi$94 = 5392 -y0o_l$95 = 5440 -y0o_h$96 = 5488 -y2o_l$97 = 5536 -y2o_h$98 = 5584 -rot3_0lo$99 = 5632 -rot3_0hi$100 = 5680 -y1o_l$101 = 5728 -y1o_h$102 = 5776 -y3o_l$103 = 5824 -y3o_h$104 = 5872 -sum17$105 = 5920 -sum35$106 = 5968 -rot1_0lo$107 = 6016 -rot1_0hi$108 = 6064 -y4o_l$109 = 6112 -y4o_h$110 = 6160 -y5o_l$111 = 6208 -y5o_h$112 = 6256 -x4_l$113 = 6304 -x4_h$114 = 6352 -x5_l$115 = 6400 -x5_h$116 = 6448 -x6_l$117 = 6496 -x6_h$118 = 6544 -x7_l$119 = 6592 -x7_h$120 = 6640 -abiased_l$121 = 6688 -abiased_h$122 = 6736 -sum_l$123 = 6784 -sum_h$124 = 6832 -dif_l$125 = 6880 -dif_h$126 = 6928 -abiased_l$127 = 6976 -abiased_h$128 = 7024 -sum_l$129 = 7072 -sum_h$130 = 7120 -dif_l$131 = 7168 -dif_h$132 = 7216 -abiased_l$133 = 7264 -abiased_h$134 = 7312 -sum_l$135 = 7360 -sum_h$136 = 7408 -dif_l$137 = 7456 -dif_h$138 = 7504 -abiased_l$139 = 7552 -abiased_h$140 = 7600 -sum_l$141 = 7648 -sum_h$142 = 7696 -dif_l$143 = 7744 -dif_h$144 = 7792 -p0$145 = 7840 -p1$146 = 7888 -p2$147 = 7936 -p3$148 = 7984 -out$ = 9584 -out_stride$ = 9592 -data$ = 9600 -stbi__idct_simd PROC ; COMDAT - -; 2267 : { - - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00009 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000e 55 push rbp - 0000f 57 push rdi - 00010 b8 78 25 00 00 mov eax, 9592 ; 00002578H - 00015 e8 00 00 00 00 call __chkstk - 0001a 48 2b e0 sub rsp, rax - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 2268 : // This is constructed to match our regular (generic) integer IDCT exactly. -; 2269 : __m128i row0, row1, row2, row3, row4, row5, row6, row7; -; 2270 : __m128i tmp; -; 2271 : -; 2272 : // dot product constant: even elems=x, odd elems=y -; 2273 : #define dct_const(x, y) _mm_setr_epi16((x), (y), (x), (y), (x), (y), (x), (y)) -; 2274 : -; 2275 : // out(0) = c0[even]*x + c0[odd]*y (c0, x, y 16-bit, out 32-bit) -; 2276 : // out(1) = c1[even]*x + c1[odd]*y -; 2277 : #define dct_rot(out0, out1, x, y, c0, c1) \ -; 2278 : __m128i c0##lo = _mm_unpacklo_epi16((x), (y)); \ -; 2279 : __m128i c0##hi = _mm_unpackhi_epi16((x), (y)); \ -; 2280 : __m128i out0##_l = _mm_madd_epi16(c0##lo, c0); \ -; 2281 : __m128i out0##_h = _mm_madd_epi16(c0##hi, c0); \ -; 2282 : __m128i out1##_l = _mm_madd_epi16(c0##lo, c1); \ -; 2283 : __m128i out1##_h = _mm_madd_epi16(c0##hi, c1) -; 2284 : -; 2285 : // out = in << 12 (in 16-bit, out 32-bit) -; 2286 : #define dct_widen(out, in) \ -; 2287 : __m128i out##_l = _mm_srai_epi32(_mm_unpacklo_epi16(_mm_setzero_si128(), (in)), 4); \ -; 2288 : __m128i out##_h = _mm_srai_epi32(_mm_unpackhi_epi16(_mm_setzero_si128(), (in)), 4) -; 2289 : -; 2290 : // wide add -; 2291 : #define dct_wadd(out, a, b) \ -; 2292 : __m128i out##_l = _mm_add_epi32(a##_l, b##_l); \ -; 2293 : __m128i out##_h = _mm_add_epi32(a##_h, b##_h) -; 2294 : -; 2295 : // wide sub -; 2296 : #define dct_wsub(out, a, b) \ -; 2297 : __m128i out##_l = _mm_sub_epi32(a##_l, b##_l); \ -; 2298 : __m128i out##_h = _mm_sub_epi32(a##_h, b##_h) -; 2299 : -; 2300 : // butterfly a/b, add bias, then shift by "s" and pack -; 2301 : #define dct_bfly32o(out0, out1, a, b, bias, s) \ -; 2302 : { \ -; 2303 : __m128i abiased_l = _mm_add_epi32(a##_l, bias); \ -; 2304 : __m128i abiased_h = _mm_add_epi32(a##_h, bias); \ -; 2305 : dct_wadd(sum, abiased, b); \ -; 2306 : dct_wsub(dif, abiased, b); \ -; 2307 : out0 = _mm_packs_epi32(_mm_srai_epi32(sum_l, s), _mm_srai_epi32(sum_h, s)); \ -; 2308 : out1 = _mm_packs_epi32(_mm_srai_epi32(dif_l, s), _mm_srai_epi32(dif_h, s)); \ -; 2309 : } -; 2310 : -; 2311 : // 8-bit interleave step (for transposes) -; 2312 : #define dct_interleave8(a, b) \ -; 2313 : tmp = a; \ -; 2314 : a = _mm_unpacklo_epi8(a, b); \ -; 2315 : b = _mm_unpackhi_epi8(tmp, b) -; 2316 : -; 2317 : // 16-bit interleave step (for transposes) -; 2318 : #define dct_interleave16(a, b) \ -; 2319 : tmp = a; \ -; 2320 : a = _mm_unpacklo_epi16(a, b); \ -; 2321 : b = _mm_unpackhi_epi16(tmp, b) -; 2322 : -; 2323 : #define dct_pass(bias, shift) \ -; 2324 : { \ -; 2325 : /* even part */ \ -; 2326 : dct_rot(t2e, t3e, row2, row6, rot0_0, rot0_1); \ -; 2327 : __m128i sum04 = _mm_add_epi16(row0, row4); \ -; 2328 : __m128i dif04 = _mm_sub_epi16(row0, row4); \ -; 2329 : dct_widen(t0e, sum04); \ -; 2330 : dct_widen(t1e, dif04); \ -; 2331 : dct_wadd(x0, t0e, t3e); \ -; 2332 : dct_wsub(x3, t0e, t3e); \ -; 2333 : dct_wadd(x1, t1e, t2e); \ -; 2334 : dct_wsub(x2, t1e, t2e); \ -; 2335 : /* odd part */ \ -; 2336 : dct_rot(y0o, y2o, row7, row3, rot2_0, rot2_1); \ -; 2337 : dct_rot(y1o, y3o, row5, row1, rot3_0, rot3_1); \ -; 2338 : __m128i sum17 = _mm_add_epi16(row1, row7); \ -; 2339 : __m128i sum35 = _mm_add_epi16(row3, row5); \ -; 2340 : dct_rot(y4o, y5o, sum17, sum35, rot1_0, rot1_1); \ -; 2341 : dct_wadd(x4, y0o, y4o); \ -; 2342 : dct_wadd(x5, y1o, y5o); \ -; 2343 : dct_wadd(x6, y2o, y5o); \ -; 2344 : dct_wadd(x7, y3o, y4o); \ -; 2345 : dct_bfly32o(row0, row7, x0, x7, bias, shift); \ -; 2346 : dct_bfly32o(row1, row6, x1, x6, bias, shift); \ -; 2347 : dct_bfly32o(row2, row5, x2, x5, bias, shift); \ -; 2348 : dct_bfly32o(row3, row4, x3, x4, bias, shift); \ -; 2349 : } -; 2350 : -; 2351 : __m128i rot0_0 = - - 0002f 66 0f 6f 05 00 - 00 00 00 movdqa xmm0, XMMWORD PTR __xmm@eb1a08a9eb1a08a9eb1a08a9eb1a08a9 - 00037 66 0f 7f 85 c0 - 01 00 00 movdqa XMMWORD PTR rot0_0$[rbp], xmm0 - -; 2352 : dct_const(stbi__f2f(0.5411961f), stbi__f2f(0.5411961f) + stbi__f2f(-1.847759065f)); -; 2353 : __m128i rot0_1 = - - 0003f 66 0f 6f 05 00 - 00 00 00 movdqa xmm0, XMMWORD PTR __xmm@08a914e808a914e808a914e808a914e8 - 00047 66 0f 7f 85 f0 - 01 00 00 movdqa XMMWORD PTR rot0_1$[rbp], xmm0 - -; 2354 : dct_const(stbi__f2f(0.5411961f) + stbi__f2f(0.765366865f), stbi__f2f(0.5411961f)); -; 2355 : __m128i rot1_0 = dct_const(stbi__f2f(1.175875602f) + stbi__f2f(-0.899976223f), - - 0004f 66 0f 6f 05 00 - 00 00 00 movdqa xmm0, XMMWORD PTR __xmm@12d0046b12d0046b12d0046b12d0046b - 00057 66 0f 7f 85 20 - 02 00 00 movdqa XMMWORD PTR rot1_0$[rbp], xmm0 - -; 2356 : stbi__f2f(1.175875602f)); -; 2357 : __m128i rot1_1 = dct_const(stbi__f2f(1.175875602f), - - 0005f 66 0f 6f 05 00 - 00 00 00 movdqa xmm0, XMMWORD PTR __xmm@e9cf12d0e9cf12d0e9cf12d0e9cf12d0 - 00067 66 0f 7f 85 50 - 02 00 00 movdqa XMMWORD PTR rot1_1$[rbp], xmm0 - -; 2358 : stbi__f2f(1.175875602f) + stbi__f2f(-2.562915447f)); -; 2359 : __m128i rot2_0 = dct_const(stbi__f2f(-1.961570560f) + stbi__f2f(0.298631336f), - - 0006f 66 0f 6f 05 00 - 00 00 00 movdqa xmm0, XMMWORD PTR __xmm@e09ee565e09ee565e09ee565e09ee565 - 00077 66 0f 7f 85 80 - 02 00 00 movdqa XMMWORD PTR rot2_0$[rbp], xmm0 - -; 2360 : stbi__f2f(-1.961570560f)); -; 2361 : __m128i rot2_1 = dct_const(stbi__f2f(-1.961570560f), - - 0007f 66 0f 6f 05 00 - 00 00 00 movdqa xmm0, XMMWORD PTR __xmm@11c8e09e11c8e09e11c8e09e11c8e09e - 00087 66 0f 7f 85 b0 - 02 00 00 movdqa XMMWORD PTR rot2_1$[rbp], xmm0 - -; 2362 : stbi__f2f(-1.961570560f) + stbi__f2f(3.072711026f)); -; 2363 : __m128i rot3_0 = dct_const(stbi__f2f(-0.390180644f) + stbi__f2f(2.053119869f), - - 0008f 66 0f 6f 05 00 - 00 00 00 movdqa xmm0, XMMWORD PTR __xmm@f9c31a9df9c31a9df9c31a9df9c31a9d - 00097 66 0f 7f 85 e0 - 02 00 00 movdqa XMMWORD PTR rot3_0$[rbp], xmm0 - -; 2364 : stbi__f2f(-0.390180644f)); -; 2365 : __m128i rot3_1 = dct_const(stbi__f2f(-0.390180644f), - - 0009f 66 0f 6f 05 00 - 00 00 00 movdqa xmm0, XMMWORD PTR __xmm@11c8f9c311c8f9c311c8f9c311c8f9c3 - 000a7 66 0f 7f 85 10 - 03 00 00 movdqa XMMWORD PTR rot3_1$[rbp], xmm0 - -; 2366 : stbi__f2f(-0.390180644f) + stbi__f2f(1.501321110f)); -; 2367 : -; 2368 : // rounding biases in column/row passes, see stbi__idct_block for explanation. -; 2369 : __m128i bias_0 = _mm_set1_epi32(512); - - 000af 66 0f 6f 05 00 - 00 00 00 movdqa xmm0, XMMWORD PTR __xmm@00000200000002000000020000000200 - 000b7 66 0f 7f 85 40 - 03 00 00 movdqa XMMWORD PTR bias_0$[rbp], xmm0 - -; 2370 : __m128i bias_1 = _mm_set1_epi32(65536 + (128 << 17)); - - 000bf 66 0f 6f 05 00 - 00 00 00 movdqa xmm0, XMMWORD PTR __xmm@01010000010100000101000001010000 - 000c7 66 0f 7f 85 70 - 03 00 00 movdqa XMMWORD PTR bias_1$[rbp], xmm0 - -; 2371 : -; 2372 : // load -; 2373 : row0 = _mm_load_si128((const __m128i *)(data + 0 * 8)); - - 000cf 48 8b 85 80 25 - 00 00 mov rax, QWORD PTR data$[rbp] - 000d6 f3 0f 6f 00 movdqu xmm0, XMMWORD PTR [rax] - 000da 66 0f 7f 45 10 movdqa XMMWORD PTR row0$[rbp], xmm0 - -; 2374 : row1 = _mm_load_si128((const __m128i *)(data + 1 * 8)); - - 000df 48 8b 85 80 25 - 00 00 mov rax, QWORD PTR data$[rbp] - 000e6 48 83 c0 10 add rax, 16 - 000ea f3 0f 6f 00 movdqu xmm0, XMMWORD PTR [rax] - 000ee 66 0f 7f 45 40 movdqa XMMWORD PTR row1$[rbp], xmm0 - -; 2375 : row2 = _mm_load_si128((const __m128i *)(data + 2 * 8)); - - 000f3 48 8b 85 80 25 - 00 00 mov rax, QWORD PTR data$[rbp] - 000fa 48 83 c0 20 add rax, 32 ; 00000020H - 000fe f3 0f 6f 00 movdqu xmm0, XMMWORD PTR [rax] - 00102 66 0f 7f 45 70 movdqa XMMWORD PTR row2$[rbp], xmm0 - -; 2376 : row3 = _mm_load_si128((const __m128i *)(data + 3 * 8)); - - 00107 48 8b 85 80 25 - 00 00 mov rax, QWORD PTR data$[rbp] - 0010e 48 83 c0 30 add rax, 48 ; 00000030H - 00112 f3 0f 6f 00 movdqu xmm0, XMMWORD PTR [rax] - 00116 66 0f 7f 85 a0 - 00 00 00 movdqa XMMWORD PTR row3$[rbp], xmm0 - -; 2377 : row4 = _mm_load_si128((const __m128i *)(data + 4 * 8)); - - 0011e 48 8b 85 80 25 - 00 00 mov rax, QWORD PTR data$[rbp] - 00125 48 83 c0 40 add rax, 64 ; 00000040H - 00129 f3 0f 6f 00 movdqu xmm0, XMMWORD PTR [rax] - 0012d 66 0f 7f 85 d0 - 00 00 00 movdqa XMMWORD PTR row4$[rbp], xmm0 - -; 2378 : row5 = _mm_load_si128((const __m128i *)(data + 5 * 8)); - - 00135 48 8b 85 80 25 - 00 00 mov rax, QWORD PTR data$[rbp] - 0013c 48 83 c0 50 add rax, 80 ; 00000050H - 00140 f3 0f 6f 00 movdqu xmm0, XMMWORD PTR [rax] - 00144 66 0f 7f 85 00 - 01 00 00 movdqa XMMWORD PTR row5$[rbp], xmm0 - -; 2379 : row6 = _mm_load_si128((const __m128i *)(data + 6 * 8)); - - 0014c 48 8b 85 80 25 - 00 00 mov rax, QWORD PTR data$[rbp] - 00153 48 83 c0 60 add rax, 96 ; 00000060H - 00157 f3 0f 6f 00 movdqu xmm0, XMMWORD PTR [rax] - 0015b 66 0f 7f 85 30 - 01 00 00 movdqa XMMWORD PTR row6$[rbp], xmm0 - -; 2380 : row7 = _mm_load_si128((const __m128i *)(data + 7 * 8)); - - 00163 48 8b 85 80 25 - 00 00 mov rax, QWORD PTR data$[rbp] - 0016a 48 83 c0 70 add rax, 112 ; 00000070H - 0016e f3 0f 6f 00 movdqu xmm0, XMMWORD PTR [rax] - 00172 66 0f 7f 85 60 - 01 00 00 movdqa XMMWORD PTR row7$[rbp], xmm0 - -; 2381 : -; 2382 : // column pass -; 2383 : dct_pass(bias_0, 10); - - 0017a 66 0f 6f 45 70 movdqa xmm0, XMMWORD PTR row2$[rbp] - 0017f 66 0f 61 85 30 - 01 00 00 punpcklwd xmm0, XMMWORD PTR row6$[rbp] - 00187 66 0f 7f 85 a0 - 03 00 00 movdqa XMMWORD PTR rot0_0lo$1[rbp], xmm0 - 0018f 66 0f 6f 45 70 movdqa xmm0, XMMWORD PTR row2$[rbp] - 00194 66 0f 69 85 30 - 01 00 00 punpckhwd xmm0, XMMWORD PTR row6$[rbp] - 0019c 66 0f 7f 85 d0 - 03 00 00 movdqa XMMWORD PTR rot0_0hi$2[rbp], xmm0 - 001a4 66 0f 6f 85 a0 - 03 00 00 movdqa xmm0, XMMWORD PTR rot0_0lo$1[rbp] - 001ac 66 0f f5 85 c0 - 01 00 00 pmaddwd xmm0, XMMWORD PTR rot0_0$[rbp] - 001b4 66 0f 7f 85 00 - 04 00 00 movdqa XMMWORD PTR t2e_l$3[rbp], xmm0 - 001bc 66 0f 6f 85 d0 - 03 00 00 movdqa xmm0, XMMWORD PTR rot0_0hi$2[rbp] - 001c4 66 0f f5 85 c0 - 01 00 00 pmaddwd xmm0, XMMWORD PTR rot0_0$[rbp] - 001cc 66 0f 7f 85 30 - 04 00 00 movdqa XMMWORD PTR t2e_h$4[rbp], xmm0 - 001d4 66 0f 6f 85 a0 - 03 00 00 movdqa xmm0, XMMWORD PTR rot0_0lo$1[rbp] - 001dc 66 0f f5 85 f0 - 01 00 00 pmaddwd xmm0, XMMWORD PTR rot0_1$[rbp] - 001e4 66 0f 7f 85 60 - 04 00 00 movdqa XMMWORD PTR t3e_l$5[rbp], xmm0 - 001ec 66 0f 6f 85 d0 - 03 00 00 movdqa xmm0, XMMWORD PTR rot0_0hi$2[rbp] - 001f4 66 0f f5 85 f0 - 01 00 00 pmaddwd xmm0, XMMWORD PTR rot0_1$[rbp] - 001fc 66 0f 7f 85 90 - 04 00 00 movdqa XMMWORD PTR t3e_h$6[rbp], xmm0 - 00204 66 0f 6f 45 10 movdqa xmm0, XMMWORD PTR row0$[rbp] - 00209 66 0f fd 85 d0 - 00 00 00 paddw xmm0, XMMWORD PTR row4$[rbp] - 00211 66 0f 7f 85 c0 - 04 00 00 movdqa XMMWORD PTR sum04$7[rbp], xmm0 - 00219 66 0f 6f 45 10 movdqa xmm0, XMMWORD PTR row0$[rbp] - 0021e 66 0f f9 85 d0 - 00 00 00 psubw xmm0, XMMWORD PTR row4$[rbp] - 00226 66 0f 7f 85 f0 - 04 00 00 movdqa XMMWORD PTR dif04$8[rbp], xmm0 - 0022e 66 0f ef c0 pxor xmm0, xmm0 - 00232 66 0f 61 85 c0 - 04 00 00 punpcklwd xmm0, XMMWORD PTR sum04$7[rbp] - 0023a 66 0f 72 e0 04 psrad xmm0, 4 - 0023f 66 0f 7f 85 20 - 05 00 00 movdqa XMMWORD PTR t0e_l$9[rbp], xmm0 - 00247 66 0f ef c0 pxor xmm0, xmm0 - 0024b 66 0f 69 85 c0 - 04 00 00 punpckhwd xmm0, XMMWORD PTR sum04$7[rbp] - 00253 66 0f 72 e0 04 psrad xmm0, 4 - 00258 66 0f 7f 85 50 - 05 00 00 movdqa XMMWORD PTR t0e_h$10[rbp], xmm0 - 00260 66 0f ef c0 pxor xmm0, xmm0 - 00264 66 0f 61 85 f0 - 04 00 00 punpcklwd xmm0, XMMWORD PTR dif04$8[rbp] - 0026c 66 0f 72 e0 04 psrad xmm0, 4 - 00271 66 0f 7f 85 80 - 05 00 00 movdqa XMMWORD PTR t1e_l$11[rbp], xmm0 - 00279 66 0f ef c0 pxor xmm0, xmm0 - 0027d 66 0f 69 85 f0 - 04 00 00 punpckhwd xmm0, XMMWORD PTR dif04$8[rbp] - 00285 66 0f 72 e0 04 psrad xmm0, 4 - 0028a 66 0f 7f 85 b0 - 05 00 00 movdqa XMMWORD PTR t1e_h$12[rbp], xmm0 - 00292 66 0f 6f 85 20 - 05 00 00 movdqa xmm0, XMMWORD PTR t0e_l$9[rbp] - 0029a 66 0f fe 85 60 - 04 00 00 paddd xmm0, XMMWORD PTR t3e_l$5[rbp] - 002a2 66 0f 7f 85 e0 - 05 00 00 movdqa XMMWORD PTR x0_l$13[rbp], xmm0 - 002aa 66 0f 6f 85 50 - 05 00 00 movdqa xmm0, XMMWORD PTR t0e_h$10[rbp] - 002b2 66 0f fe 85 90 - 04 00 00 paddd xmm0, XMMWORD PTR t3e_h$6[rbp] - 002ba 66 0f 7f 85 10 - 06 00 00 movdqa XMMWORD PTR x0_h$14[rbp], xmm0 - 002c2 66 0f 6f 85 20 - 05 00 00 movdqa xmm0, XMMWORD PTR t0e_l$9[rbp] - 002ca 66 0f fa 85 60 - 04 00 00 psubd xmm0, XMMWORD PTR t3e_l$5[rbp] - 002d2 66 0f 7f 85 40 - 06 00 00 movdqa XMMWORD PTR x3_l$15[rbp], xmm0 - 002da 66 0f 6f 85 50 - 05 00 00 movdqa xmm0, XMMWORD PTR t0e_h$10[rbp] - 002e2 66 0f fa 85 90 - 04 00 00 psubd xmm0, XMMWORD PTR t3e_h$6[rbp] - 002ea 66 0f 7f 85 70 - 06 00 00 movdqa XMMWORD PTR x3_h$16[rbp], xmm0 - 002f2 66 0f 6f 85 80 - 05 00 00 movdqa xmm0, XMMWORD PTR t1e_l$11[rbp] - 002fa 66 0f fe 85 00 - 04 00 00 paddd xmm0, XMMWORD PTR t2e_l$3[rbp] - 00302 66 0f 7f 85 a0 - 06 00 00 movdqa XMMWORD PTR x1_l$17[rbp], xmm0 - 0030a 66 0f 6f 85 b0 - 05 00 00 movdqa xmm0, XMMWORD PTR t1e_h$12[rbp] - 00312 66 0f fe 85 30 - 04 00 00 paddd xmm0, XMMWORD PTR t2e_h$4[rbp] - 0031a 66 0f 7f 85 d0 - 06 00 00 movdqa XMMWORD PTR x1_h$18[rbp], xmm0 - 00322 66 0f 6f 85 80 - 05 00 00 movdqa xmm0, XMMWORD PTR t1e_l$11[rbp] - 0032a 66 0f fa 85 00 - 04 00 00 psubd xmm0, XMMWORD PTR t2e_l$3[rbp] - 00332 66 0f 7f 85 00 - 07 00 00 movdqa XMMWORD PTR x2_l$19[rbp], xmm0 - 0033a 66 0f 6f 85 b0 - 05 00 00 movdqa xmm0, XMMWORD PTR t1e_h$12[rbp] - 00342 66 0f fa 85 30 - 04 00 00 psubd xmm0, XMMWORD PTR t2e_h$4[rbp] - 0034a 66 0f 7f 85 30 - 07 00 00 movdqa XMMWORD PTR x2_h$20[rbp], xmm0 - 00352 66 0f 6f 85 60 - 01 00 00 movdqa xmm0, XMMWORD PTR row7$[rbp] - 0035a 66 0f 61 85 a0 - 00 00 00 punpcklwd xmm0, XMMWORD PTR row3$[rbp] - 00362 66 0f 7f 85 60 - 07 00 00 movdqa XMMWORD PTR rot2_0lo$21[rbp], xmm0 - 0036a 66 0f 6f 85 60 - 01 00 00 movdqa xmm0, XMMWORD PTR row7$[rbp] - 00372 66 0f 69 85 a0 - 00 00 00 punpckhwd xmm0, XMMWORD PTR row3$[rbp] - 0037a 66 0f 7f 85 90 - 07 00 00 movdqa XMMWORD PTR rot2_0hi$22[rbp], xmm0 - 00382 66 0f 6f 85 60 - 07 00 00 movdqa xmm0, XMMWORD PTR rot2_0lo$21[rbp] - 0038a 66 0f f5 85 80 - 02 00 00 pmaddwd xmm0, XMMWORD PTR rot2_0$[rbp] - 00392 66 0f 7f 85 c0 - 07 00 00 movdqa XMMWORD PTR y0o_l$23[rbp], xmm0 - 0039a 66 0f 6f 85 90 - 07 00 00 movdqa xmm0, XMMWORD PTR rot2_0hi$22[rbp] - 003a2 66 0f f5 85 80 - 02 00 00 pmaddwd xmm0, XMMWORD PTR rot2_0$[rbp] - 003aa 66 0f 7f 85 f0 - 07 00 00 movdqa XMMWORD PTR y0o_h$24[rbp], xmm0 - 003b2 66 0f 6f 85 60 - 07 00 00 movdqa xmm0, XMMWORD PTR rot2_0lo$21[rbp] - 003ba 66 0f f5 85 b0 - 02 00 00 pmaddwd xmm0, XMMWORD PTR rot2_1$[rbp] - 003c2 66 0f 7f 85 20 - 08 00 00 movdqa XMMWORD PTR y2o_l$25[rbp], xmm0 - 003ca 66 0f 6f 85 90 - 07 00 00 movdqa xmm0, XMMWORD PTR rot2_0hi$22[rbp] - 003d2 66 0f f5 85 b0 - 02 00 00 pmaddwd xmm0, XMMWORD PTR rot2_1$[rbp] - 003da 66 0f 7f 85 50 - 08 00 00 movdqa XMMWORD PTR y2o_h$26[rbp], xmm0 - 003e2 66 0f 6f 85 00 - 01 00 00 movdqa xmm0, XMMWORD PTR row5$[rbp] - 003ea 66 0f 61 45 40 punpcklwd xmm0, XMMWORD PTR row1$[rbp] - 003ef 66 0f 7f 85 80 - 08 00 00 movdqa XMMWORD PTR rot3_0lo$27[rbp], xmm0 - 003f7 66 0f 6f 85 00 - 01 00 00 movdqa xmm0, XMMWORD PTR row5$[rbp] - 003ff 66 0f 69 45 40 punpckhwd xmm0, XMMWORD PTR row1$[rbp] - 00404 66 0f 7f 85 b0 - 08 00 00 movdqa XMMWORD PTR rot3_0hi$28[rbp], xmm0 - 0040c 66 0f 6f 85 80 - 08 00 00 movdqa xmm0, XMMWORD PTR rot3_0lo$27[rbp] - 00414 66 0f f5 85 e0 - 02 00 00 pmaddwd xmm0, XMMWORD PTR rot3_0$[rbp] - 0041c 66 0f 7f 85 e0 - 08 00 00 movdqa XMMWORD PTR y1o_l$29[rbp], xmm0 - 00424 66 0f 6f 85 b0 - 08 00 00 movdqa xmm0, XMMWORD PTR rot3_0hi$28[rbp] - 0042c 66 0f f5 85 e0 - 02 00 00 pmaddwd xmm0, XMMWORD PTR rot3_0$[rbp] - 00434 66 0f 7f 85 10 - 09 00 00 movdqa XMMWORD PTR y1o_h$30[rbp], xmm0 - 0043c 66 0f 6f 85 80 - 08 00 00 movdqa xmm0, XMMWORD PTR rot3_0lo$27[rbp] - 00444 66 0f f5 85 10 - 03 00 00 pmaddwd xmm0, XMMWORD PTR rot3_1$[rbp] - 0044c 66 0f 7f 85 40 - 09 00 00 movdqa XMMWORD PTR y3o_l$31[rbp], xmm0 - 00454 66 0f 6f 85 b0 - 08 00 00 movdqa xmm0, XMMWORD PTR rot3_0hi$28[rbp] - 0045c 66 0f f5 85 10 - 03 00 00 pmaddwd xmm0, XMMWORD PTR rot3_1$[rbp] - 00464 66 0f 7f 85 70 - 09 00 00 movdqa XMMWORD PTR y3o_h$32[rbp], xmm0 - 0046c 66 0f 6f 45 40 movdqa xmm0, XMMWORD PTR row1$[rbp] - 00471 66 0f fd 85 60 - 01 00 00 paddw xmm0, XMMWORD PTR row7$[rbp] - 00479 66 0f 7f 85 a0 - 09 00 00 movdqa XMMWORD PTR sum17$33[rbp], xmm0 - 00481 66 0f 6f 85 a0 - 00 00 00 movdqa xmm0, XMMWORD PTR row3$[rbp] - 00489 66 0f fd 85 00 - 01 00 00 paddw xmm0, XMMWORD PTR row5$[rbp] - 00491 66 0f 7f 85 d0 - 09 00 00 movdqa XMMWORD PTR sum35$34[rbp], xmm0 - 00499 66 0f 6f 85 a0 - 09 00 00 movdqa xmm0, XMMWORD PTR sum17$33[rbp] - 004a1 66 0f 61 85 d0 - 09 00 00 punpcklwd xmm0, XMMWORD PTR sum35$34[rbp] - 004a9 66 0f 7f 85 00 - 0a 00 00 movdqa XMMWORD PTR rot1_0lo$35[rbp], xmm0 - 004b1 66 0f 6f 85 a0 - 09 00 00 movdqa xmm0, XMMWORD PTR sum17$33[rbp] - 004b9 66 0f 69 85 d0 - 09 00 00 punpckhwd xmm0, XMMWORD PTR sum35$34[rbp] - 004c1 66 0f 7f 85 30 - 0a 00 00 movdqa XMMWORD PTR rot1_0hi$36[rbp], xmm0 - 004c9 66 0f 6f 85 00 - 0a 00 00 movdqa xmm0, XMMWORD PTR rot1_0lo$35[rbp] - 004d1 66 0f f5 85 20 - 02 00 00 pmaddwd xmm0, XMMWORD PTR rot1_0$[rbp] - 004d9 66 0f 7f 85 60 - 0a 00 00 movdqa XMMWORD PTR y4o_l$37[rbp], xmm0 - 004e1 66 0f 6f 85 30 - 0a 00 00 movdqa xmm0, XMMWORD PTR rot1_0hi$36[rbp] - 004e9 66 0f f5 85 20 - 02 00 00 pmaddwd xmm0, XMMWORD PTR rot1_0$[rbp] - 004f1 66 0f 7f 85 90 - 0a 00 00 movdqa XMMWORD PTR y4o_h$38[rbp], xmm0 - 004f9 66 0f 6f 85 00 - 0a 00 00 movdqa xmm0, XMMWORD PTR rot1_0lo$35[rbp] - 00501 66 0f f5 85 50 - 02 00 00 pmaddwd xmm0, XMMWORD PTR rot1_1$[rbp] - 00509 66 0f 7f 85 c0 - 0a 00 00 movdqa XMMWORD PTR y5o_l$39[rbp], xmm0 - 00511 66 0f 6f 85 30 - 0a 00 00 movdqa xmm0, XMMWORD PTR rot1_0hi$36[rbp] - 00519 66 0f f5 85 50 - 02 00 00 pmaddwd xmm0, XMMWORD PTR rot1_1$[rbp] - 00521 66 0f 7f 85 f0 - 0a 00 00 movdqa XMMWORD PTR y5o_h$40[rbp], xmm0 - 00529 66 0f 6f 85 c0 - 07 00 00 movdqa xmm0, XMMWORD PTR y0o_l$23[rbp] - 00531 66 0f fe 85 60 - 0a 00 00 paddd xmm0, XMMWORD PTR y4o_l$37[rbp] - 00539 66 0f 7f 85 20 - 0b 00 00 movdqa XMMWORD PTR x4_l$41[rbp], xmm0 - 00541 66 0f 6f 85 f0 - 07 00 00 movdqa xmm0, XMMWORD PTR y0o_h$24[rbp] - 00549 66 0f fe 85 90 - 0a 00 00 paddd xmm0, XMMWORD PTR y4o_h$38[rbp] - 00551 66 0f 7f 85 50 - 0b 00 00 movdqa XMMWORD PTR x4_h$42[rbp], xmm0 - 00559 66 0f 6f 85 e0 - 08 00 00 movdqa xmm0, XMMWORD PTR y1o_l$29[rbp] - 00561 66 0f fe 85 c0 - 0a 00 00 paddd xmm0, XMMWORD PTR y5o_l$39[rbp] - 00569 66 0f 7f 85 80 - 0b 00 00 movdqa XMMWORD PTR x5_l$43[rbp], xmm0 - 00571 66 0f 6f 85 10 - 09 00 00 movdqa xmm0, XMMWORD PTR y1o_h$30[rbp] - 00579 66 0f fe 85 f0 - 0a 00 00 paddd xmm0, XMMWORD PTR y5o_h$40[rbp] - 00581 66 0f 7f 85 b0 - 0b 00 00 movdqa XMMWORD PTR x5_h$44[rbp], xmm0 - 00589 66 0f 6f 85 20 - 08 00 00 movdqa xmm0, XMMWORD PTR y2o_l$25[rbp] - 00591 66 0f fe 85 c0 - 0a 00 00 paddd xmm0, XMMWORD PTR y5o_l$39[rbp] - 00599 66 0f 7f 85 e0 - 0b 00 00 movdqa XMMWORD PTR x6_l$45[rbp], xmm0 - 005a1 66 0f 6f 85 50 - 08 00 00 movdqa xmm0, XMMWORD PTR y2o_h$26[rbp] - 005a9 66 0f fe 85 f0 - 0a 00 00 paddd xmm0, XMMWORD PTR y5o_h$40[rbp] - 005b1 66 0f 7f 85 10 - 0c 00 00 movdqa XMMWORD PTR x6_h$46[rbp], xmm0 - 005b9 66 0f 6f 85 40 - 09 00 00 movdqa xmm0, XMMWORD PTR y3o_l$31[rbp] - 005c1 66 0f fe 85 60 - 0a 00 00 paddd xmm0, XMMWORD PTR y4o_l$37[rbp] - 005c9 66 0f 7f 85 40 - 0c 00 00 movdqa XMMWORD PTR x7_l$47[rbp], xmm0 - 005d1 66 0f 6f 85 70 - 09 00 00 movdqa xmm0, XMMWORD PTR y3o_h$32[rbp] - 005d9 66 0f fe 85 90 - 0a 00 00 paddd xmm0, XMMWORD PTR y4o_h$38[rbp] - 005e1 66 0f 7f 85 70 - 0c 00 00 movdqa XMMWORD PTR x7_h$48[rbp], xmm0 - 005e9 66 0f 6f 85 e0 - 05 00 00 movdqa xmm0, XMMWORD PTR x0_l$13[rbp] - 005f1 66 0f fe 85 40 - 03 00 00 paddd xmm0, XMMWORD PTR bias_0$[rbp] - 005f9 66 0f 7f 85 a0 - 0c 00 00 movdqa XMMWORD PTR abiased_l$49[rbp], xmm0 - 00601 66 0f 6f 85 10 - 06 00 00 movdqa xmm0, XMMWORD PTR x0_h$14[rbp] - 00609 66 0f fe 85 40 - 03 00 00 paddd xmm0, XMMWORD PTR bias_0$[rbp] - 00611 66 0f 7f 85 d0 - 0c 00 00 movdqa XMMWORD PTR abiased_h$50[rbp], xmm0 - 00619 66 0f 6f 85 a0 - 0c 00 00 movdqa xmm0, XMMWORD PTR abiased_l$49[rbp] - 00621 66 0f fe 85 40 - 0c 00 00 paddd xmm0, XMMWORD PTR x7_l$47[rbp] - 00629 66 0f 7f 85 00 - 0d 00 00 movdqa XMMWORD PTR sum_l$51[rbp], xmm0 - 00631 66 0f 6f 85 d0 - 0c 00 00 movdqa xmm0, XMMWORD PTR abiased_h$50[rbp] - 00639 66 0f fe 85 70 - 0c 00 00 paddd xmm0, XMMWORD PTR x7_h$48[rbp] - 00641 66 0f 7f 85 30 - 0d 00 00 movdqa XMMWORD PTR sum_h$52[rbp], xmm0 - 00649 66 0f 6f 85 a0 - 0c 00 00 movdqa xmm0, XMMWORD PTR abiased_l$49[rbp] - 00651 66 0f fa 85 40 - 0c 00 00 psubd xmm0, XMMWORD PTR x7_l$47[rbp] - 00659 66 0f 7f 85 60 - 0d 00 00 movdqa XMMWORD PTR dif_l$53[rbp], xmm0 - 00661 66 0f 6f 85 d0 - 0c 00 00 movdqa xmm0, XMMWORD PTR abiased_h$50[rbp] - 00669 66 0f fa 85 70 - 0c 00 00 psubd xmm0, XMMWORD PTR x7_h$48[rbp] - 00671 66 0f 7f 85 90 - 0d 00 00 movdqa XMMWORD PTR dif_h$54[rbp], xmm0 - 00679 66 0f 6f 85 30 - 0d 00 00 movdqa xmm0, XMMWORD PTR sum_h$52[rbp] - 00681 66 0f 72 e0 0a psrad xmm0, 10 - 00686 66 0f 6f 8d 00 - 0d 00 00 movdqa xmm1, XMMWORD PTR sum_l$51[rbp] - 0068e 66 0f 72 e1 0a psrad xmm1, 10 - 00693 66 0f 6b c8 packssdw xmm1, xmm0 - 00697 66 0f 6f c1 movdqa xmm0, xmm1 - 0069b 66 0f 7f 45 10 movdqa XMMWORD PTR row0$[rbp], xmm0 - 006a0 66 0f 6f 85 90 - 0d 00 00 movdqa xmm0, XMMWORD PTR dif_h$54[rbp] - 006a8 66 0f 72 e0 0a psrad xmm0, 10 - 006ad 66 0f 6f 8d 60 - 0d 00 00 movdqa xmm1, XMMWORD PTR dif_l$53[rbp] - 006b5 66 0f 72 e1 0a psrad xmm1, 10 - 006ba 66 0f 6b c8 packssdw xmm1, xmm0 - 006be 66 0f 6f c1 movdqa xmm0, xmm1 - 006c2 66 0f 7f 85 60 - 01 00 00 movdqa XMMWORD PTR row7$[rbp], xmm0 - 006ca 66 0f 6f 85 a0 - 06 00 00 movdqa xmm0, XMMWORD PTR x1_l$17[rbp] - 006d2 66 0f fe 85 40 - 03 00 00 paddd xmm0, XMMWORD PTR bias_0$[rbp] - 006da 66 0f 7f 85 c0 - 0d 00 00 movdqa XMMWORD PTR abiased_l$55[rbp], xmm0 - 006e2 66 0f 6f 85 d0 - 06 00 00 movdqa xmm0, XMMWORD PTR x1_h$18[rbp] - 006ea 66 0f fe 85 40 - 03 00 00 paddd xmm0, XMMWORD PTR bias_0$[rbp] - 006f2 66 0f 7f 85 f0 - 0d 00 00 movdqa XMMWORD PTR abiased_h$56[rbp], xmm0 - 006fa 66 0f 6f 85 c0 - 0d 00 00 movdqa xmm0, XMMWORD PTR abiased_l$55[rbp] - 00702 66 0f fe 85 e0 - 0b 00 00 paddd xmm0, XMMWORD PTR x6_l$45[rbp] - 0070a 66 0f 7f 85 20 - 0e 00 00 movdqa XMMWORD PTR sum_l$57[rbp], xmm0 - 00712 66 0f 6f 85 f0 - 0d 00 00 movdqa xmm0, XMMWORD PTR abiased_h$56[rbp] - 0071a 66 0f fe 85 10 - 0c 00 00 paddd xmm0, XMMWORD PTR x6_h$46[rbp] - 00722 66 0f 7f 85 50 - 0e 00 00 movdqa XMMWORD PTR sum_h$58[rbp], xmm0 - 0072a 66 0f 6f 85 c0 - 0d 00 00 movdqa xmm0, XMMWORD PTR abiased_l$55[rbp] - 00732 66 0f fa 85 e0 - 0b 00 00 psubd xmm0, XMMWORD PTR x6_l$45[rbp] - 0073a 66 0f 7f 85 80 - 0e 00 00 movdqa XMMWORD PTR dif_l$59[rbp], xmm0 - 00742 66 0f 6f 85 f0 - 0d 00 00 movdqa xmm0, XMMWORD PTR abiased_h$56[rbp] - 0074a 66 0f fa 85 10 - 0c 00 00 psubd xmm0, XMMWORD PTR x6_h$46[rbp] - 00752 66 0f 7f 85 b0 - 0e 00 00 movdqa XMMWORD PTR dif_h$60[rbp], xmm0 - 0075a 66 0f 6f 85 50 - 0e 00 00 movdqa xmm0, XMMWORD PTR sum_h$58[rbp] - 00762 66 0f 72 e0 0a psrad xmm0, 10 - 00767 66 0f 6f 8d 20 - 0e 00 00 movdqa xmm1, XMMWORD PTR sum_l$57[rbp] - 0076f 66 0f 72 e1 0a psrad xmm1, 10 - 00774 66 0f 6b c8 packssdw xmm1, xmm0 - 00778 66 0f 6f c1 movdqa xmm0, xmm1 - 0077c 66 0f 7f 45 40 movdqa XMMWORD PTR row1$[rbp], xmm0 - 00781 66 0f 6f 85 b0 - 0e 00 00 movdqa xmm0, XMMWORD PTR dif_h$60[rbp] - 00789 66 0f 72 e0 0a psrad xmm0, 10 - 0078e 66 0f 6f 8d 80 - 0e 00 00 movdqa xmm1, XMMWORD PTR dif_l$59[rbp] - 00796 66 0f 72 e1 0a psrad xmm1, 10 - 0079b 66 0f 6b c8 packssdw xmm1, xmm0 - 0079f 66 0f 6f c1 movdqa xmm0, xmm1 - 007a3 66 0f 7f 85 30 - 01 00 00 movdqa XMMWORD PTR row6$[rbp], xmm0 - 007ab 66 0f 6f 85 00 - 07 00 00 movdqa xmm0, XMMWORD PTR x2_l$19[rbp] - 007b3 66 0f fe 85 40 - 03 00 00 paddd xmm0, XMMWORD PTR bias_0$[rbp] - 007bb 66 0f 7f 85 e0 - 0e 00 00 movdqa XMMWORD PTR abiased_l$61[rbp], xmm0 - 007c3 66 0f 6f 85 30 - 07 00 00 movdqa xmm0, XMMWORD PTR x2_h$20[rbp] - 007cb 66 0f fe 85 40 - 03 00 00 paddd xmm0, XMMWORD PTR bias_0$[rbp] - 007d3 66 0f 7f 85 10 - 0f 00 00 movdqa XMMWORD PTR abiased_h$62[rbp], xmm0 - 007db 66 0f 6f 85 e0 - 0e 00 00 movdqa xmm0, XMMWORD PTR abiased_l$61[rbp] - 007e3 66 0f fe 85 80 - 0b 00 00 paddd xmm0, XMMWORD PTR x5_l$43[rbp] - 007eb 66 0f 7f 85 40 - 0f 00 00 movdqa XMMWORD PTR sum_l$63[rbp], xmm0 - 007f3 66 0f 6f 85 10 - 0f 00 00 movdqa xmm0, XMMWORD PTR abiased_h$62[rbp] - 007fb 66 0f fe 85 b0 - 0b 00 00 paddd xmm0, XMMWORD PTR x5_h$44[rbp] - 00803 66 0f 7f 85 70 - 0f 00 00 movdqa XMMWORD PTR sum_h$64[rbp], xmm0 - 0080b 66 0f 6f 85 e0 - 0e 00 00 movdqa xmm0, XMMWORD PTR abiased_l$61[rbp] - 00813 66 0f fa 85 80 - 0b 00 00 psubd xmm0, XMMWORD PTR x5_l$43[rbp] - 0081b 66 0f 7f 85 a0 - 0f 00 00 movdqa XMMWORD PTR dif_l$65[rbp], xmm0 - 00823 66 0f 6f 85 10 - 0f 00 00 movdqa xmm0, XMMWORD PTR abiased_h$62[rbp] - 0082b 66 0f fa 85 b0 - 0b 00 00 psubd xmm0, XMMWORD PTR x5_h$44[rbp] - 00833 66 0f 7f 85 d0 - 0f 00 00 movdqa XMMWORD PTR dif_h$66[rbp], xmm0 - 0083b 66 0f 6f 85 70 - 0f 00 00 movdqa xmm0, XMMWORD PTR sum_h$64[rbp] - 00843 66 0f 72 e0 0a psrad xmm0, 10 - 00848 66 0f 6f 8d 40 - 0f 00 00 movdqa xmm1, XMMWORD PTR sum_l$63[rbp] - 00850 66 0f 72 e1 0a psrad xmm1, 10 - 00855 66 0f 6b c8 packssdw xmm1, xmm0 - 00859 66 0f 6f c1 movdqa xmm0, xmm1 - 0085d 66 0f 7f 45 70 movdqa XMMWORD PTR row2$[rbp], xmm0 - 00862 66 0f 6f 85 d0 - 0f 00 00 movdqa xmm0, XMMWORD PTR dif_h$66[rbp] - 0086a 66 0f 72 e0 0a psrad xmm0, 10 - 0086f 66 0f 6f 8d a0 - 0f 00 00 movdqa xmm1, XMMWORD PTR dif_l$65[rbp] - 00877 66 0f 72 e1 0a psrad xmm1, 10 - 0087c 66 0f 6b c8 packssdw xmm1, xmm0 - 00880 66 0f 6f c1 movdqa xmm0, xmm1 - 00884 66 0f 7f 85 00 - 01 00 00 movdqa XMMWORD PTR row5$[rbp], xmm0 - 0088c 66 0f 6f 85 40 - 06 00 00 movdqa xmm0, XMMWORD PTR x3_l$15[rbp] - 00894 66 0f fe 85 40 - 03 00 00 paddd xmm0, XMMWORD PTR bias_0$[rbp] - 0089c 66 0f 7f 85 00 - 10 00 00 movdqa XMMWORD PTR abiased_l$67[rbp], xmm0 - 008a4 66 0f 6f 85 70 - 06 00 00 movdqa xmm0, XMMWORD PTR x3_h$16[rbp] - 008ac 66 0f fe 85 40 - 03 00 00 paddd xmm0, XMMWORD PTR bias_0$[rbp] - 008b4 66 0f 7f 85 30 - 10 00 00 movdqa XMMWORD PTR abiased_h$68[rbp], xmm0 - 008bc 66 0f 6f 85 00 - 10 00 00 movdqa xmm0, XMMWORD PTR abiased_l$67[rbp] - 008c4 66 0f fe 85 20 - 0b 00 00 paddd xmm0, XMMWORD PTR x4_l$41[rbp] - 008cc 66 0f 7f 85 60 - 10 00 00 movdqa XMMWORD PTR sum_l$69[rbp], xmm0 - 008d4 66 0f 6f 85 30 - 10 00 00 movdqa xmm0, XMMWORD PTR abiased_h$68[rbp] - 008dc 66 0f fe 85 50 - 0b 00 00 paddd xmm0, XMMWORD PTR x4_h$42[rbp] - 008e4 66 0f 7f 85 90 - 10 00 00 movdqa XMMWORD PTR sum_h$70[rbp], xmm0 - 008ec 66 0f 6f 85 00 - 10 00 00 movdqa xmm0, XMMWORD PTR abiased_l$67[rbp] - 008f4 66 0f fa 85 20 - 0b 00 00 psubd xmm0, XMMWORD PTR x4_l$41[rbp] - 008fc 66 0f 7f 85 c0 - 10 00 00 movdqa XMMWORD PTR dif_l$71[rbp], xmm0 - 00904 66 0f 6f 85 30 - 10 00 00 movdqa xmm0, XMMWORD PTR abiased_h$68[rbp] - 0090c 66 0f fa 85 50 - 0b 00 00 psubd xmm0, XMMWORD PTR x4_h$42[rbp] - 00914 66 0f 7f 85 f0 - 10 00 00 movdqa XMMWORD PTR dif_h$72[rbp], xmm0 - 0091c 66 0f 6f 85 90 - 10 00 00 movdqa xmm0, XMMWORD PTR sum_h$70[rbp] - 00924 66 0f 72 e0 0a psrad xmm0, 10 - 00929 66 0f 6f 8d 60 - 10 00 00 movdqa xmm1, XMMWORD PTR sum_l$69[rbp] - 00931 66 0f 72 e1 0a psrad xmm1, 10 - 00936 66 0f 6b c8 packssdw xmm1, xmm0 - 0093a 66 0f 6f c1 movdqa xmm0, xmm1 - 0093e 66 0f 7f 85 a0 - 00 00 00 movdqa XMMWORD PTR row3$[rbp], xmm0 - 00946 66 0f 6f 85 f0 - 10 00 00 movdqa xmm0, XMMWORD PTR dif_h$72[rbp] - 0094e 66 0f 72 e0 0a psrad xmm0, 10 - 00953 66 0f 6f 8d c0 - 10 00 00 movdqa xmm1, XMMWORD PTR dif_l$71[rbp] - 0095b 66 0f 72 e1 0a psrad xmm1, 10 - 00960 66 0f 6b c8 packssdw xmm1, xmm0 - 00964 66 0f 6f c1 movdqa xmm0, xmm1 - 00968 66 0f 7f 85 d0 - 00 00 00 movdqa XMMWORD PTR row4$[rbp], xmm0 - -; 2384 : -; 2385 : { -; 2386 : // 16bit 8x8 transpose pass 1 -; 2387 : dct_interleave16(row0, row4); - - 00970 66 0f 6f 45 10 movdqa xmm0, XMMWORD PTR row0$[rbp] - 00975 66 0f 7f 85 90 - 01 00 00 movdqa XMMWORD PTR tmp$[rbp], xmm0 - 0097d 66 0f 6f 45 10 movdqa xmm0, XMMWORD PTR row0$[rbp] - 00982 66 0f 61 85 d0 - 00 00 00 punpcklwd xmm0, XMMWORD PTR row4$[rbp] - 0098a 66 0f 7f 45 10 movdqa XMMWORD PTR row0$[rbp], xmm0 - 0098f 66 0f 6f 85 90 - 01 00 00 movdqa xmm0, XMMWORD PTR tmp$[rbp] - 00997 66 0f 69 85 d0 - 00 00 00 punpckhwd xmm0, XMMWORD PTR row4$[rbp] - 0099f 66 0f 7f 85 d0 - 00 00 00 movdqa XMMWORD PTR row4$[rbp], xmm0 - -; 2388 : dct_interleave16(row1, row5); - - 009a7 66 0f 6f 45 40 movdqa xmm0, XMMWORD PTR row1$[rbp] - 009ac 66 0f 7f 85 90 - 01 00 00 movdqa XMMWORD PTR tmp$[rbp], xmm0 - 009b4 66 0f 6f 45 40 movdqa xmm0, XMMWORD PTR row1$[rbp] - 009b9 66 0f 61 85 00 - 01 00 00 punpcklwd xmm0, XMMWORD PTR row5$[rbp] - 009c1 66 0f 7f 45 40 movdqa XMMWORD PTR row1$[rbp], xmm0 - 009c6 66 0f 6f 85 90 - 01 00 00 movdqa xmm0, XMMWORD PTR tmp$[rbp] - 009ce 66 0f 69 85 00 - 01 00 00 punpckhwd xmm0, XMMWORD PTR row5$[rbp] - 009d6 66 0f 7f 85 00 - 01 00 00 movdqa XMMWORD PTR row5$[rbp], xmm0 - -; 2389 : dct_interleave16(row2, row6); - - 009de 66 0f 6f 45 70 movdqa xmm0, XMMWORD PTR row2$[rbp] - 009e3 66 0f 7f 85 90 - 01 00 00 movdqa XMMWORD PTR tmp$[rbp], xmm0 - 009eb 66 0f 6f 45 70 movdqa xmm0, XMMWORD PTR row2$[rbp] - 009f0 66 0f 61 85 30 - 01 00 00 punpcklwd xmm0, XMMWORD PTR row6$[rbp] - 009f8 66 0f 7f 45 70 movdqa XMMWORD PTR row2$[rbp], xmm0 - 009fd 66 0f 6f 85 90 - 01 00 00 movdqa xmm0, XMMWORD PTR tmp$[rbp] - 00a05 66 0f 69 85 30 - 01 00 00 punpckhwd xmm0, XMMWORD PTR row6$[rbp] - 00a0d 66 0f 7f 85 30 - 01 00 00 movdqa XMMWORD PTR row6$[rbp], xmm0 - -; 2390 : dct_interleave16(row3, row7); - - 00a15 66 0f 6f 85 a0 - 00 00 00 movdqa xmm0, XMMWORD PTR row3$[rbp] - 00a1d 66 0f 7f 85 90 - 01 00 00 movdqa XMMWORD PTR tmp$[rbp], xmm0 - 00a25 66 0f 6f 85 a0 - 00 00 00 movdqa xmm0, XMMWORD PTR row3$[rbp] - 00a2d 66 0f 61 85 60 - 01 00 00 punpcklwd xmm0, XMMWORD PTR row7$[rbp] - 00a35 66 0f 7f 85 a0 - 00 00 00 movdqa XMMWORD PTR row3$[rbp], xmm0 - 00a3d 66 0f 6f 85 90 - 01 00 00 movdqa xmm0, XMMWORD PTR tmp$[rbp] - 00a45 66 0f 69 85 60 - 01 00 00 punpckhwd xmm0, XMMWORD PTR row7$[rbp] - 00a4d 66 0f 7f 85 60 - 01 00 00 movdqa XMMWORD PTR row7$[rbp], xmm0 - -; 2391 : -; 2392 : // transpose pass 2 -; 2393 : dct_interleave16(row0, row2); - - 00a55 66 0f 6f 45 10 movdqa xmm0, XMMWORD PTR row0$[rbp] - 00a5a 66 0f 7f 85 90 - 01 00 00 movdqa XMMWORD PTR tmp$[rbp], xmm0 - 00a62 66 0f 6f 45 10 movdqa xmm0, XMMWORD PTR row0$[rbp] - 00a67 66 0f 61 45 70 punpcklwd xmm0, XMMWORD PTR row2$[rbp] - 00a6c 66 0f 7f 45 10 movdqa XMMWORD PTR row0$[rbp], xmm0 - 00a71 66 0f 6f 85 90 - 01 00 00 movdqa xmm0, XMMWORD PTR tmp$[rbp] - 00a79 66 0f 69 45 70 punpckhwd xmm0, XMMWORD PTR row2$[rbp] - 00a7e 66 0f 7f 45 70 movdqa XMMWORD PTR row2$[rbp], xmm0 - -; 2394 : dct_interleave16(row1, row3); - - 00a83 66 0f 6f 45 40 movdqa xmm0, XMMWORD PTR row1$[rbp] - 00a88 66 0f 7f 85 90 - 01 00 00 movdqa XMMWORD PTR tmp$[rbp], xmm0 - 00a90 66 0f 6f 45 40 movdqa xmm0, XMMWORD PTR row1$[rbp] - 00a95 66 0f 61 85 a0 - 00 00 00 punpcklwd xmm0, XMMWORD PTR row3$[rbp] - 00a9d 66 0f 7f 45 40 movdqa XMMWORD PTR row1$[rbp], xmm0 - 00aa2 66 0f 6f 85 90 - 01 00 00 movdqa xmm0, XMMWORD PTR tmp$[rbp] - 00aaa 66 0f 69 85 a0 - 00 00 00 punpckhwd xmm0, XMMWORD PTR row3$[rbp] - 00ab2 66 0f 7f 85 a0 - 00 00 00 movdqa XMMWORD PTR row3$[rbp], xmm0 - -; 2395 : dct_interleave16(row4, row6); - - 00aba 66 0f 6f 85 d0 - 00 00 00 movdqa xmm0, XMMWORD PTR row4$[rbp] - 00ac2 66 0f 7f 85 90 - 01 00 00 movdqa XMMWORD PTR tmp$[rbp], xmm0 - 00aca 66 0f 6f 85 d0 - 00 00 00 movdqa xmm0, XMMWORD PTR row4$[rbp] - 00ad2 66 0f 61 85 30 - 01 00 00 punpcklwd xmm0, XMMWORD PTR row6$[rbp] - 00ada 66 0f 7f 85 d0 - 00 00 00 movdqa XMMWORD PTR row4$[rbp], xmm0 - 00ae2 66 0f 6f 85 90 - 01 00 00 movdqa xmm0, XMMWORD PTR tmp$[rbp] - 00aea 66 0f 69 85 30 - 01 00 00 punpckhwd xmm0, XMMWORD PTR row6$[rbp] - 00af2 66 0f 7f 85 30 - 01 00 00 movdqa XMMWORD PTR row6$[rbp], xmm0 - -; 2396 : dct_interleave16(row5, row7); - - 00afa 66 0f 6f 85 00 - 01 00 00 movdqa xmm0, XMMWORD PTR row5$[rbp] - 00b02 66 0f 7f 85 90 - 01 00 00 movdqa XMMWORD PTR tmp$[rbp], xmm0 - 00b0a 66 0f 6f 85 00 - 01 00 00 movdqa xmm0, XMMWORD PTR row5$[rbp] - 00b12 66 0f 61 85 60 - 01 00 00 punpcklwd xmm0, XMMWORD PTR row7$[rbp] - 00b1a 66 0f 7f 85 00 - 01 00 00 movdqa XMMWORD PTR row5$[rbp], xmm0 - 00b22 66 0f 6f 85 90 - 01 00 00 movdqa xmm0, XMMWORD PTR tmp$[rbp] - 00b2a 66 0f 69 85 60 - 01 00 00 punpckhwd xmm0, XMMWORD PTR row7$[rbp] - 00b32 66 0f 7f 85 60 - 01 00 00 movdqa XMMWORD PTR row7$[rbp], xmm0 - -; 2397 : -; 2398 : // transpose pass 3 -; 2399 : dct_interleave16(row0, row1); - - 00b3a 66 0f 6f 45 10 movdqa xmm0, XMMWORD PTR row0$[rbp] - 00b3f 66 0f 7f 85 90 - 01 00 00 movdqa XMMWORD PTR tmp$[rbp], xmm0 - 00b47 66 0f 6f 45 10 movdqa xmm0, XMMWORD PTR row0$[rbp] - 00b4c 66 0f 61 45 40 punpcklwd xmm0, XMMWORD PTR row1$[rbp] - 00b51 66 0f 7f 45 10 movdqa XMMWORD PTR row0$[rbp], xmm0 - 00b56 66 0f 6f 85 90 - 01 00 00 movdqa xmm0, XMMWORD PTR tmp$[rbp] - 00b5e 66 0f 69 45 40 punpckhwd xmm0, XMMWORD PTR row1$[rbp] - 00b63 66 0f 7f 45 40 movdqa XMMWORD PTR row1$[rbp], xmm0 - -; 2400 : dct_interleave16(row2, row3); - - 00b68 66 0f 6f 45 70 movdqa xmm0, XMMWORD PTR row2$[rbp] - 00b6d 66 0f 7f 85 90 - 01 00 00 movdqa XMMWORD PTR tmp$[rbp], xmm0 - 00b75 66 0f 6f 45 70 movdqa xmm0, XMMWORD PTR row2$[rbp] - 00b7a 66 0f 61 85 a0 - 00 00 00 punpcklwd xmm0, XMMWORD PTR row3$[rbp] - 00b82 66 0f 7f 45 70 movdqa XMMWORD PTR row2$[rbp], xmm0 - 00b87 66 0f 6f 85 90 - 01 00 00 movdqa xmm0, XMMWORD PTR tmp$[rbp] - 00b8f 66 0f 69 85 a0 - 00 00 00 punpckhwd xmm0, XMMWORD PTR row3$[rbp] - 00b97 66 0f 7f 85 a0 - 00 00 00 movdqa XMMWORD PTR row3$[rbp], xmm0 - -; 2401 : dct_interleave16(row4, row5); - - 00b9f 66 0f 6f 85 d0 - 00 00 00 movdqa xmm0, XMMWORD PTR row4$[rbp] - 00ba7 66 0f 7f 85 90 - 01 00 00 movdqa XMMWORD PTR tmp$[rbp], xmm0 - 00baf 66 0f 6f 85 d0 - 00 00 00 movdqa xmm0, XMMWORD PTR row4$[rbp] - 00bb7 66 0f 61 85 00 - 01 00 00 punpcklwd xmm0, XMMWORD PTR row5$[rbp] - 00bbf 66 0f 7f 85 d0 - 00 00 00 movdqa XMMWORD PTR row4$[rbp], xmm0 - 00bc7 66 0f 6f 85 90 - 01 00 00 movdqa xmm0, XMMWORD PTR tmp$[rbp] - 00bcf 66 0f 69 85 00 - 01 00 00 punpckhwd xmm0, XMMWORD PTR row5$[rbp] - 00bd7 66 0f 7f 85 00 - 01 00 00 movdqa XMMWORD PTR row5$[rbp], xmm0 - -; 2402 : dct_interleave16(row6, row7); - - 00bdf 66 0f 6f 85 30 - 01 00 00 movdqa xmm0, XMMWORD PTR row6$[rbp] - 00be7 66 0f 7f 85 90 - 01 00 00 movdqa XMMWORD PTR tmp$[rbp], xmm0 - 00bef 66 0f 6f 85 30 - 01 00 00 movdqa xmm0, XMMWORD PTR row6$[rbp] - 00bf7 66 0f 61 85 60 - 01 00 00 punpcklwd xmm0, XMMWORD PTR row7$[rbp] - 00bff 66 0f 7f 85 30 - 01 00 00 movdqa XMMWORD PTR row6$[rbp], xmm0 - 00c07 66 0f 6f 85 90 - 01 00 00 movdqa xmm0, XMMWORD PTR tmp$[rbp] - 00c0f 66 0f 69 85 60 - 01 00 00 punpckhwd xmm0, XMMWORD PTR row7$[rbp] - 00c17 66 0f 7f 85 60 - 01 00 00 movdqa XMMWORD PTR row7$[rbp], xmm0 - -; 2403 : } -; 2404 : -; 2405 : // row pass -; 2406 : dct_pass(bias_1, 17); - - 00c1f 66 0f 6f 45 70 movdqa xmm0, XMMWORD PTR row2$[rbp] - 00c24 66 0f 61 85 30 - 01 00 00 punpcklwd xmm0, XMMWORD PTR row6$[rbp] - 00c2c 66 0f 7f 85 20 - 11 00 00 movdqa XMMWORD PTR rot0_0lo$73[rbp], xmm0 - 00c34 66 0f 6f 45 70 movdqa xmm0, XMMWORD PTR row2$[rbp] - 00c39 66 0f 69 85 30 - 01 00 00 punpckhwd xmm0, XMMWORD PTR row6$[rbp] - 00c41 66 0f 7f 85 50 - 11 00 00 movdqa XMMWORD PTR rot0_0hi$74[rbp], xmm0 - 00c49 66 0f 6f 85 20 - 11 00 00 movdqa xmm0, XMMWORD PTR rot0_0lo$73[rbp] - 00c51 66 0f f5 85 c0 - 01 00 00 pmaddwd xmm0, XMMWORD PTR rot0_0$[rbp] - 00c59 66 0f 7f 85 80 - 11 00 00 movdqa XMMWORD PTR t2e_l$75[rbp], xmm0 - 00c61 66 0f 6f 85 50 - 11 00 00 movdqa xmm0, XMMWORD PTR rot0_0hi$74[rbp] - 00c69 66 0f f5 85 c0 - 01 00 00 pmaddwd xmm0, XMMWORD PTR rot0_0$[rbp] - 00c71 66 0f 7f 85 b0 - 11 00 00 movdqa XMMWORD PTR t2e_h$76[rbp], xmm0 - 00c79 66 0f 6f 85 20 - 11 00 00 movdqa xmm0, XMMWORD PTR rot0_0lo$73[rbp] - 00c81 66 0f f5 85 f0 - 01 00 00 pmaddwd xmm0, XMMWORD PTR rot0_1$[rbp] - 00c89 66 0f 7f 85 e0 - 11 00 00 movdqa XMMWORD PTR t3e_l$77[rbp], xmm0 - 00c91 66 0f 6f 85 50 - 11 00 00 movdqa xmm0, XMMWORD PTR rot0_0hi$74[rbp] - 00c99 66 0f f5 85 f0 - 01 00 00 pmaddwd xmm0, XMMWORD PTR rot0_1$[rbp] - 00ca1 66 0f 7f 85 10 - 12 00 00 movdqa XMMWORD PTR t3e_h$78[rbp], xmm0 - 00ca9 66 0f 6f 45 10 movdqa xmm0, XMMWORD PTR row0$[rbp] - 00cae 66 0f fd 85 d0 - 00 00 00 paddw xmm0, XMMWORD PTR row4$[rbp] - 00cb6 66 0f 7f 85 40 - 12 00 00 movdqa XMMWORD PTR sum04$79[rbp], xmm0 - 00cbe 66 0f 6f 45 10 movdqa xmm0, XMMWORD PTR row0$[rbp] - 00cc3 66 0f f9 85 d0 - 00 00 00 psubw xmm0, XMMWORD PTR row4$[rbp] - 00ccb 66 0f 7f 85 70 - 12 00 00 movdqa XMMWORD PTR dif04$80[rbp], xmm0 - 00cd3 66 0f ef c0 pxor xmm0, xmm0 - 00cd7 66 0f 61 85 40 - 12 00 00 punpcklwd xmm0, XMMWORD PTR sum04$79[rbp] - 00cdf 66 0f 72 e0 04 psrad xmm0, 4 - 00ce4 66 0f 7f 85 a0 - 12 00 00 movdqa XMMWORD PTR t0e_l$81[rbp], xmm0 - 00cec 66 0f ef c0 pxor xmm0, xmm0 - 00cf0 66 0f 69 85 40 - 12 00 00 punpckhwd xmm0, XMMWORD PTR sum04$79[rbp] - 00cf8 66 0f 72 e0 04 psrad xmm0, 4 - 00cfd 66 0f 7f 85 d0 - 12 00 00 movdqa XMMWORD PTR t0e_h$82[rbp], xmm0 - 00d05 66 0f ef c0 pxor xmm0, xmm0 - 00d09 66 0f 61 85 70 - 12 00 00 punpcklwd xmm0, XMMWORD PTR dif04$80[rbp] - 00d11 66 0f 72 e0 04 psrad xmm0, 4 - 00d16 66 0f 7f 85 00 - 13 00 00 movdqa XMMWORD PTR t1e_l$83[rbp], xmm0 - 00d1e 66 0f ef c0 pxor xmm0, xmm0 - 00d22 66 0f 69 85 70 - 12 00 00 punpckhwd xmm0, XMMWORD PTR dif04$80[rbp] - 00d2a 66 0f 72 e0 04 psrad xmm0, 4 - 00d2f 66 0f 7f 85 30 - 13 00 00 movdqa XMMWORD PTR t1e_h$84[rbp], xmm0 - 00d37 66 0f 6f 85 a0 - 12 00 00 movdqa xmm0, XMMWORD PTR t0e_l$81[rbp] - 00d3f 66 0f fe 85 e0 - 11 00 00 paddd xmm0, XMMWORD PTR t3e_l$77[rbp] - 00d47 66 0f 7f 85 60 - 13 00 00 movdqa XMMWORD PTR x0_l$85[rbp], xmm0 - 00d4f 66 0f 6f 85 d0 - 12 00 00 movdqa xmm0, XMMWORD PTR t0e_h$82[rbp] - 00d57 66 0f fe 85 10 - 12 00 00 paddd xmm0, XMMWORD PTR t3e_h$78[rbp] - 00d5f 66 0f 7f 85 90 - 13 00 00 movdqa XMMWORD PTR x0_h$86[rbp], xmm0 - 00d67 66 0f 6f 85 a0 - 12 00 00 movdqa xmm0, XMMWORD PTR t0e_l$81[rbp] - 00d6f 66 0f fa 85 e0 - 11 00 00 psubd xmm0, XMMWORD PTR t3e_l$77[rbp] - 00d77 66 0f 7f 85 c0 - 13 00 00 movdqa XMMWORD PTR x3_l$87[rbp], xmm0 - 00d7f 66 0f 6f 85 d0 - 12 00 00 movdqa xmm0, XMMWORD PTR t0e_h$82[rbp] - 00d87 66 0f fa 85 10 - 12 00 00 psubd xmm0, XMMWORD PTR t3e_h$78[rbp] - 00d8f 66 0f 7f 85 f0 - 13 00 00 movdqa XMMWORD PTR x3_h$88[rbp], xmm0 - 00d97 66 0f 6f 85 00 - 13 00 00 movdqa xmm0, XMMWORD PTR t1e_l$83[rbp] - 00d9f 66 0f fe 85 80 - 11 00 00 paddd xmm0, XMMWORD PTR t2e_l$75[rbp] - 00da7 66 0f 7f 85 20 - 14 00 00 movdqa XMMWORD PTR x1_l$89[rbp], xmm0 - 00daf 66 0f 6f 85 30 - 13 00 00 movdqa xmm0, XMMWORD PTR t1e_h$84[rbp] - 00db7 66 0f fe 85 b0 - 11 00 00 paddd xmm0, XMMWORD PTR t2e_h$76[rbp] - 00dbf 66 0f 7f 85 50 - 14 00 00 movdqa XMMWORD PTR x1_h$90[rbp], xmm0 - 00dc7 66 0f 6f 85 00 - 13 00 00 movdqa xmm0, XMMWORD PTR t1e_l$83[rbp] - 00dcf 66 0f fa 85 80 - 11 00 00 psubd xmm0, XMMWORD PTR t2e_l$75[rbp] - 00dd7 66 0f 7f 85 80 - 14 00 00 movdqa XMMWORD PTR x2_l$91[rbp], xmm0 - 00ddf 66 0f 6f 85 30 - 13 00 00 movdqa xmm0, XMMWORD PTR t1e_h$84[rbp] - 00de7 66 0f fa 85 b0 - 11 00 00 psubd xmm0, XMMWORD PTR t2e_h$76[rbp] - 00def 66 0f 7f 85 b0 - 14 00 00 movdqa XMMWORD PTR x2_h$92[rbp], xmm0 - 00df7 66 0f 6f 85 60 - 01 00 00 movdqa xmm0, XMMWORD PTR row7$[rbp] - 00dff 66 0f 61 85 a0 - 00 00 00 punpcklwd xmm0, XMMWORD PTR row3$[rbp] - 00e07 66 0f 7f 85 e0 - 14 00 00 movdqa XMMWORD PTR rot2_0lo$93[rbp], xmm0 - 00e0f 66 0f 6f 85 60 - 01 00 00 movdqa xmm0, XMMWORD PTR row7$[rbp] - 00e17 66 0f 69 85 a0 - 00 00 00 punpckhwd xmm0, XMMWORD PTR row3$[rbp] - 00e1f 66 0f 7f 85 10 - 15 00 00 movdqa XMMWORD PTR rot2_0hi$94[rbp], xmm0 - 00e27 66 0f 6f 85 e0 - 14 00 00 movdqa xmm0, XMMWORD PTR rot2_0lo$93[rbp] - 00e2f 66 0f f5 85 80 - 02 00 00 pmaddwd xmm0, XMMWORD PTR rot2_0$[rbp] - 00e37 66 0f 7f 85 40 - 15 00 00 movdqa XMMWORD PTR y0o_l$95[rbp], xmm0 - 00e3f 66 0f 6f 85 10 - 15 00 00 movdqa xmm0, XMMWORD PTR rot2_0hi$94[rbp] - 00e47 66 0f f5 85 80 - 02 00 00 pmaddwd xmm0, XMMWORD PTR rot2_0$[rbp] - 00e4f 66 0f 7f 85 70 - 15 00 00 movdqa XMMWORD PTR y0o_h$96[rbp], xmm0 - 00e57 66 0f 6f 85 e0 - 14 00 00 movdqa xmm0, XMMWORD PTR rot2_0lo$93[rbp] - 00e5f 66 0f f5 85 b0 - 02 00 00 pmaddwd xmm0, XMMWORD PTR rot2_1$[rbp] - 00e67 66 0f 7f 85 a0 - 15 00 00 movdqa XMMWORD PTR y2o_l$97[rbp], xmm0 - 00e6f 66 0f 6f 85 10 - 15 00 00 movdqa xmm0, XMMWORD PTR rot2_0hi$94[rbp] - 00e77 66 0f f5 85 b0 - 02 00 00 pmaddwd xmm0, XMMWORD PTR rot2_1$[rbp] - 00e7f 66 0f 7f 85 d0 - 15 00 00 movdqa XMMWORD PTR y2o_h$98[rbp], xmm0 - 00e87 66 0f 6f 85 00 - 01 00 00 movdqa xmm0, XMMWORD PTR row5$[rbp] - 00e8f 66 0f 61 45 40 punpcklwd xmm0, XMMWORD PTR row1$[rbp] - 00e94 66 0f 7f 85 00 - 16 00 00 movdqa XMMWORD PTR rot3_0lo$99[rbp], xmm0 - 00e9c 66 0f 6f 85 00 - 01 00 00 movdqa xmm0, XMMWORD PTR row5$[rbp] - 00ea4 66 0f 69 45 40 punpckhwd xmm0, XMMWORD PTR row1$[rbp] - 00ea9 66 0f 7f 85 30 - 16 00 00 movdqa XMMWORD PTR rot3_0hi$100[rbp], xmm0 - 00eb1 66 0f 6f 85 00 - 16 00 00 movdqa xmm0, XMMWORD PTR rot3_0lo$99[rbp] - 00eb9 66 0f f5 85 e0 - 02 00 00 pmaddwd xmm0, XMMWORD PTR rot3_0$[rbp] - 00ec1 66 0f 7f 85 60 - 16 00 00 movdqa XMMWORD PTR y1o_l$101[rbp], xmm0 - 00ec9 66 0f 6f 85 30 - 16 00 00 movdqa xmm0, XMMWORD PTR rot3_0hi$100[rbp] - 00ed1 66 0f f5 85 e0 - 02 00 00 pmaddwd xmm0, XMMWORD PTR rot3_0$[rbp] - 00ed9 66 0f 7f 85 90 - 16 00 00 movdqa XMMWORD PTR y1o_h$102[rbp], xmm0 - 00ee1 66 0f 6f 85 00 - 16 00 00 movdqa xmm0, XMMWORD PTR rot3_0lo$99[rbp] - 00ee9 66 0f f5 85 10 - 03 00 00 pmaddwd xmm0, XMMWORD PTR rot3_1$[rbp] - 00ef1 66 0f 7f 85 c0 - 16 00 00 movdqa XMMWORD PTR y3o_l$103[rbp], xmm0 - 00ef9 66 0f 6f 85 30 - 16 00 00 movdqa xmm0, XMMWORD PTR rot3_0hi$100[rbp] - 00f01 66 0f f5 85 10 - 03 00 00 pmaddwd xmm0, XMMWORD PTR rot3_1$[rbp] - 00f09 66 0f 7f 85 f0 - 16 00 00 movdqa XMMWORD PTR y3o_h$104[rbp], xmm0 - 00f11 66 0f 6f 45 40 movdqa xmm0, XMMWORD PTR row1$[rbp] - 00f16 66 0f fd 85 60 - 01 00 00 paddw xmm0, XMMWORD PTR row7$[rbp] - 00f1e 66 0f 7f 85 20 - 17 00 00 movdqa XMMWORD PTR sum17$105[rbp], xmm0 - 00f26 66 0f 6f 85 a0 - 00 00 00 movdqa xmm0, XMMWORD PTR row3$[rbp] - 00f2e 66 0f fd 85 00 - 01 00 00 paddw xmm0, XMMWORD PTR row5$[rbp] - 00f36 66 0f 7f 85 50 - 17 00 00 movdqa XMMWORD PTR sum35$106[rbp], xmm0 - 00f3e 66 0f 6f 85 20 - 17 00 00 movdqa xmm0, XMMWORD PTR sum17$105[rbp] - 00f46 66 0f 61 85 50 - 17 00 00 punpcklwd xmm0, XMMWORD PTR sum35$106[rbp] - 00f4e 66 0f 7f 85 80 - 17 00 00 movdqa XMMWORD PTR rot1_0lo$107[rbp], xmm0 - 00f56 66 0f 6f 85 20 - 17 00 00 movdqa xmm0, XMMWORD PTR sum17$105[rbp] - 00f5e 66 0f 69 85 50 - 17 00 00 punpckhwd xmm0, XMMWORD PTR sum35$106[rbp] - 00f66 66 0f 7f 85 b0 - 17 00 00 movdqa XMMWORD PTR rot1_0hi$108[rbp], xmm0 - 00f6e 66 0f 6f 85 80 - 17 00 00 movdqa xmm0, XMMWORD PTR rot1_0lo$107[rbp] - 00f76 66 0f f5 85 20 - 02 00 00 pmaddwd xmm0, XMMWORD PTR rot1_0$[rbp] - 00f7e 66 0f 7f 85 e0 - 17 00 00 movdqa XMMWORD PTR y4o_l$109[rbp], xmm0 - 00f86 66 0f 6f 85 b0 - 17 00 00 movdqa xmm0, XMMWORD PTR rot1_0hi$108[rbp] - 00f8e 66 0f f5 85 20 - 02 00 00 pmaddwd xmm0, XMMWORD PTR rot1_0$[rbp] - 00f96 66 0f 7f 85 10 - 18 00 00 movdqa XMMWORD PTR y4o_h$110[rbp], xmm0 - 00f9e 66 0f 6f 85 80 - 17 00 00 movdqa xmm0, XMMWORD PTR rot1_0lo$107[rbp] - 00fa6 66 0f f5 85 50 - 02 00 00 pmaddwd xmm0, XMMWORD PTR rot1_1$[rbp] - 00fae 66 0f 7f 85 40 - 18 00 00 movdqa XMMWORD PTR y5o_l$111[rbp], xmm0 - 00fb6 66 0f 6f 85 b0 - 17 00 00 movdqa xmm0, XMMWORD PTR rot1_0hi$108[rbp] - 00fbe 66 0f f5 85 50 - 02 00 00 pmaddwd xmm0, XMMWORD PTR rot1_1$[rbp] - 00fc6 66 0f 7f 85 70 - 18 00 00 movdqa XMMWORD PTR y5o_h$112[rbp], xmm0 - 00fce 66 0f 6f 85 40 - 15 00 00 movdqa xmm0, XMMWORD PTR y0o_l$95[rbp] - 00fd6 66 0f fe 85 e0 - 17 00 00 paddd xmm0, XMMWORD PTR y4o_l$109[rbp] - 00fde 66 0f 7f 85 a0 - 18 00 00 movdqa XMMWORD PTR x4_l$113[rbp], xmm0 - 00fe6 66 0f 6f 85 70 - 15 00 00 movdqa xmm0, XMMWORD PTR y0o_h$96[rbp] - 00fee 66 0f fe 85 10 - 18 00 00 paddd xmm0, XMMWORD PTR y4o_h$110[rbp] - 00ff6 66 0f 7f 85 d0 - 18 00 00 movdqa XMMWORD PTR x4_h$114[rbp], xmm0 - 00ffe 66 0f 6f 85 60 - 16 00 00 movdqa xmm0, XMMWORD PTR y1o_l$101[rbp] - 01006 66 0f fe 85 40 - 18 00 00 paddd xmm0, XMMWORD PTR y5o_l$111[rbp] - 0100e 66 0f 7f 85 00 - 19 00 00 movdqa XMMWORD PTR x5_l$115[rbp], xmm0 - 01016 66 0f 6f 85 90 - 16 00 00 movdqa xmm0, XMMWORD PTR y1o_h$102[rbp] - 0101e 66 0f fe 85 70 - 18 00 00 paddd xmm0, XMMWORD PTR y5o_h$112[rbp] - 01026 66 0f 7f 85 30 - 19 00 00 movdqa XMMWORD PTR x5_h$116[rbp], xmm0 - 0102e 66 0f 6f 85 a0 - 15 00 00 movdqa xmm0, XMMWORD PTR y2o_l$97[rbp] - 01036 66 0f fe 85 40 - 18 00 00 paddd xmm0, XMMWORD PTR y5o_l$111[rbp] - 0103e 66 0f 7f 85 60 - 19 00 00 movdqa XMMWORD PTR x6_l$117[rbp], xmm0 - 01046 66 0f 6f 85 d0 - 15 00 00 movdqa xmm0, XMMWORD PTR y2o_h$98[rbp] - 0104e 66 0f fe 85 70 - 18 00 00 paddd xmm0, XMMWORD PTR y5o_h$112[rbp] - 01056 66 0f 7f 85 90 - 19 00 00 movdqa XMMWORD PTR x6_h$118[rbp], xmm0 - 0105e 66 0f 6f 85 c0 - 16 00 00 movdqa xmm0, XMMWORD PTR y3o_l$103[rbp] - 01066 66 0f fe 85 e0 - 17 00 00 paddd xmm0, XMMWORD PTR y4o_l$109[rbp] - 0106e 66 0f 7f 85 c0 - 19 00 00 movdqa XMMWORD PTR x7_l$119[rbp], xmm0 - 01076 66 0f 6f 85 f0 - 16 00 00 movdqa xmm0, XMMWORD PTR y3o_h$104[rbp] - 0107e 66 0f fe 85 10 - 18 00 00 paddd xmm0, XMMWORD PTR y4o_h$110[rbp] - 01086 66 0f 7f 85 f0 - 19 00 00 movdqa XMMWORD PTR x7_h$120[rbp], xmm0 - 0108e 66 0f 6f 85 60 - 13 00 00 movdqa xmm0, XMMWORD PTR x0_l$85[rbp] - 01096 66 0f fe 85 70 - 03 00 00 paddd xmm0, XMMWORD PTR bias_1$[rbp] - 0109e 66 0f 7f 85 20 - 1a 00 00 movdqa XMMWORD PTR abiased_l$121[rbp], xmm0 - 010a6 66 0f 6f 85 90 - 13 00 00 movdqa xmm0, XMMWORD PTR x0_h$86[rbp] - 010ae 66 0f fe 85 70 - 03 00 00 paddd xmm0, XMMWORD PTR bias_1$[rbp] - 010b6 66 0f 7f 85 50 - 1a 00 00 movdqa XMMWORD PTR abiased_h$122[rbp], xmm0 - 010be 66 0f 6f 85 20 - 1a 00 00 movdqa xmm0, XMMWORD PTR abiased_l$121[rbp] - 010c6 66 0f fe 85 c0 - 19 00 00 paddd xmm0, XMMWORD PTR x7_l$119[rbp] - 010ce 66 0f 7f 85 80 - 1a 00 00 movdqa XMMWORD PTR sum_l$123[rbp], xmm0 - 010d6 66 0f 6f 85 50 - 1a 00 00 movdqa xmm0, XMMWORD PTR abiased_h$122[rbp] - 010de 66 0f fe 85 f0 - 19 00 00 paddd xmm0, XMMWORD PTR x7_h$120[rbp] - 010e6 66 0f 7f 85 b0 - 1a 00 00 movdqa XMMWORD PTR sum_h$124[rbp], xmm0 - 010ee 66 0f 6f 85 20 - 1a 00 00 movdqa xmm0, XMMWORD PTR abiased_l$121[rbp] - 010f6 66 0f fa 85 c0 - 19 00 00 psubd xmm0, XMMWORD PTR x7_l$119[rbp] - 010fe 66 0f 7f 85 e0 - 1a 00 00 movdqa XMMWORD PTR dif_l$125[rbp], xmm0 - 01106 66 0f 6f 85 50 - 1a 00 00 movdqa xmm0, XMMWORD PTR abiased_h$122[rbp] - 0110e 66 0f fa 85 f0 - 19 00 00 psubd xmm0, XMMWORD PTR x7_h$120[rbp] - 01116 66 0f 7f 85 10 - 1b 00 00 movdqa XMMWORD PTR dif_h$126[rbp], xmm0 - 0111e 66 0f 6f 85 b0 - 1a 00 00 movdqa xmm0, XMMWORD PTR sum_h$124[rbp] - 01126 66 0f 72 e0 11 psrad xmm0, 17 - 0112b 66 0f 6f 8d 80 - 1a 00 00 movdqa xmm1, XMMWORD PTR sum_l$123[rbp] - 01133 66 0f 72 e1 11 psrad xmm1, 17 - 01138 66 0f 6b c8 packssdw xmm1, xmm0 - 0113c 66 0f 6f c1 movdqa xmm0, xmm1 - 01140 66 0f 7f 45 10 movdqa XMMWORD PTR row0$[rbp], xmm0 - 01145 66 0f 6f 85 10 - 1b 00 00 movdqa xmm0, XMMWORD PTR dif_h$126[rbp] - 0114d 66 0f 72 e0 11 psrad xmm0, 17 - 01152 66 0f 6f 8d e0 - 1a 00 00 movdqa xmm1, XMMWORD PTR dif_l$125[rbp] - 0115a 66 0f 72 e1 11 psrad xmm1, 17 - 0115f 66 0f 6b c8 packssdw xmm1, xmm0 - 01163 66 0f 6f c1 movdqa xmm0, xmm1 - 01167 66 0f 7f 85 60 - 01 00 00 movdqa XMMWORD PTR row7$[rbp], xmm0 - 0116f 66 0f 6f 85 20 - 14 00 00 movdqa xmm0, XMMWORD PTR x1_l$89[rbp] - 01177 66 0f fe 85 70 - 03 00 00 paddd xmm0, XMMWORD PTR bias_1$[rbp] - 0117f 66 0f 7f 85 40 - 1b 00 00 movdqa XMMWORD PTR abiased_l$127[rbp], xmm0 - 01187 66 0f 6f 85 50 - 14 00 00 movdqa xmm0, XMMWORD PTR x1_h$90[rbp] - 0118f 66 0f fe 85 70 - 03 00 00 paddd xmm0, XMMWORD PTR bias_1$[rbp] - 01197 66 0f 7f 85 70 - 1b 00 00 movdqa XMMWORD PTR abiased_h$128[rbp], xmm0 - 0119f 66 0f 6f 85 40 - 1b 00 00 movdqa xmm0, XMMWORD PTR abiased_l$127[rbp] - 011a7 66 0f fe 85 60 - 19 00 00 paddd xmm0, XMMWORD PTR x6_l$117[rbp] - 011af 66 0f 7f 85 a0 - 1b 00 00 movdqa XMMWORD PTR sum_l$129[rbp], xmm0 - 011b7 66 0f 6f 85 70 - 1b 00 00 movdqa xmm0, XMMWORD PTR abiased_h$128[rbp] - 011bf 66 0f fe 85 90 - 19 00 00 paddd xmm0, XMMWORD PTR x6_h$118[rbp] - 011c7 66 0f 7f 85 d0 - 1b 00 00 movdqa XMMWORD PTR sum_h$130[rbp], xmm0 - 011cf 66 0f 6f 85 40 - 1b 00 00 movdqa xmm0, XMMWORD PTR abiased_l$127[rbp] - 011d7 66 0f fa 85 60 - 19 00 00 psubd xmm0, XMMWORD PTR x6_l$117[rbp] - 011df 66 0f 7f 85 00 - 1c 00 00 movdqa XMMWORD PTR dif_l$131[rbp], xmm0 - 011e7 66 0f 6f 85 70 - 1b 00 00 movdqa xmm0, XMMWORD PTR abiased_h$128[rbp] - 011ef 66 0f fa 85 90 - 19 00 00 psubd xmm0, XMMWORD PTR x6_h$118[rbp] - 011f7 66 0f 7f 85 30 - 1c 00 00 movdqa XMMWORD PTR dif_h$132[rbp], xmm0 - 011ff 66 0f 6f 85 d0 - 1b 00 00 movdqa xmm0, XMMWORD PTR sum_h$130[rbp] - 01207 66 0f 72 e0 11 psrad xmm0, 17 - 0120c 66 0f 6f 8d a0 - 1b 00 00 movdqa xmm1, XMMWORD PTR sum_l$129[rbp] - 01214 66 0f 72 e1 11 psrad xmm1, 17 - 01219 66 0f 6b c8 packssdw xmm1, xmm0 - 0121d 66 0f 6f c1 movdqa xmm0, xmm1 - 01221 66 0f 7f 45 40 movdqa XMMWORD PTR row1$[rbp], xmm0 - 01226 66 0f 6f 85 30 - 1c 00 00 movdqa xmm0, XMMWORD PTR dif_h$132[rbp] - 0122e 66 0f 72 e0 11 psrad xmm0, 17 - 01233 66 0f 6f 8d 00 - 1c 00 00 movdqa xmm1, XMMWORD PTR dif_l$131[rbp] - 0123b 66 0f 72 e1 11 psrad xmm1, 17 - 01240 66 0f 6b c8 packssdw xmm1, xmm0 - 01244 66 0f 6f c1 movdqa xmm0, xmm1 - 01248 66 0f 7f 85 30 - 01 00 00 movdqa XMMWORD PTR row6$[rbp], xmm0 - 01250 66 0f 6f 85 80 - 14 00 00 movdqa xmm0, XMMWORD PTR x2_l$91[rbp] - 01258 66 0f fe 85 70 - 03 00 00 paddd xmm0, XMMWORD PTR bias_1$[rbp] - 01260 66 0f 7f 85 60 - 1c 00 00 movdqa XMMWORD PTR abiased_l$133[rbp], xmm0 - 01268 66 0f 6f 85 b0 - 14 00 00 movdqa xmm0, XMMWORD PTR x2_h$92[rbp] - 01270 66 0f fe 85 70 - 03 00 00 paddd xmm0, XMMWORD PTR bias_1$[rbp] - 01278 66 0f 7f 85 90 - 1c 00 00 movdqa XMMWORD PTR abiased_h$134[rbp], xmm0 - 01280 66 0f 6f 85 60 - 1c 00 00 movdqa xmm0, XMMWORD PTR abiased_l$133[rbp] - 01288 66 0f fe 85 00 - 19 00 00 paddd xmm0, XMMWORD PTR x5_l$115[rbp] - 01290 66 0f 7f 85 c0 - 1c 00 00 movdqa XMMWORD PTR sum_l$135[rbp], xmm0 - 01298 66 0f 6f 85 90 - 1c 00 00 movdqa xmm0, XMMWORD PTR abiased_h$134[rbp] - 012a0 66 0f fe 85 30 - 19 00 00 paddd xmm0, XMMWORD PTR x5_h$116[rbp] - 012a8 66 0f 7f 85 f0 - 1c 00 00 movdqa XMMWORD PTR sum_h$136[rbp], xmm0 - 012b0 66 0f 6f 85 60 - 1c 00 00 movdqa xmm0, XMMWORD PTR abiased_l$133[rbp] - 012b8 66 0f fa 85 00 - 19 00 00 psubd xmm0, XMMWORD PTR x5_l$115[rbp] - 012c0 66 0f 7f 85 20 - 1d 00 00 movdqa XMMWORD PTR dif_l$137[rbp], xmm0 - 012c8 66 0f 6f 85 90 - 1c 00 00 movdqa xmm0, XMMWORD PTR abiased_h$134[rbp] - 012d0 66 0f fa 85 30 - 19 00 00 psubd xmm0, XMMWORD PTR x5_h$116[rbp] - 012d8 66 0f 7f 85 50 - 1d 00 00 movdqa XMMWORD PTR dif_h$138[rbp], xmm0 - 012e0 66 0f 6f 85 f0 - 1c 00 00 movdqa xmm0, XMMWORD PTR sum_h$136[rbp] - 012e8 66 0f 72 e0 11 psrad xmm0, 17 - 012ed 66 0f 6f 8d c0 - 1c 00 00 movdqa xmm1, XMMWORD PTR sum_l$135[rbp] - 012f5 66 0f 72 e1 11 psrad xmm1, 17 - 012fa 66 0f 6b c8 packssdw xmm1, xmm0 - 012fe 66 0f 6f c1 movdqa xmm0, xmm1 - 01302 66 0f 7f 45 70 movdqa XMMWORD PTR row2$[rbp], xmm0 - 01307 66 0f 6f 85 50 - 1d 00 00 movdqa xmm0, XMMWORD PTR dif_h$138[rbp] - 0130f 66 0f 72 e0 11 psrad xmm0, 17 - 01314 66 0f 6f 8d 20 - 1d 00 00 movdqa xmm1, XMMWORD PTR dif_l$137[rbp] - 0131c 66 0f 72 e1 11 psrad xmm1, 17 - 01321 66 0f 6b c8 packssdw xmm1, xmm0 - 01325 66 0f 6f c1 movdqa xmm0, xmm1 - 01329 66 0f 7f 85 00 - 01 00 00 movdqa XMMWORD PTR row5$[rbp], xmm0 - 01331 66 0f 6f 85 c0 - 13 00 00 movdqa xmm0, XMMWORD PTR x3_l$87[rbp] - 01339 66 0f fe 85 70 - 03 00 00 paddd xmm0, XMMWORD PTR bias_1$[rbp] - 01341 66 0f 7f 85 80 - 1d 00 00 movdqa XMMWORD PTR abiased_l$139[rbp], xmm0 - 01349 66 0f 6f 85 f0 - 13 00 00 movdqa xmm0, XMMWORD PTR x3_h$88[rbp] - 01351 66 0f fe 85 70 - 03 00 00 paddd xmm0, XMMWORD PTR bias_1$[rbp] - 01359 66 0f 7f 85 b0 - 1d 00 00 movdqa XMMWORD PTR abiased_h$140[rbp], xmm0 - 01361 66 0f 6f 85 80 - 1d 00 00 movdqa xmm0, XMMWORD PTR abiased_l$139[rbp] - 01369 66 0f fe 85 a0 - 18 00 00 paddd xmm0, XMMWORD PTR x4_l$113[rbp] - 01371 66 0f 7f 85 e0 - 1d 00 00 movdqa XMMWORD PTR sum_l$141[rbp], xmm0 - 01379 66 0f 6f 85 b0 - 1d 00 00 movdqa xmm0, XMMWORD PTR abiased_h$140[rbp] - 01381 66 0f fe 85 d0 - 18 00 00 paddd xmm0, XMMWORD PTR x4_h$114[rbp] - 01389 66 0f 7f 85 10 - 1e 00 00 movdqa XMMWORD PTR sum_h$142[rbp], xmm0 - 01391 66 0f 6f 85 80 - 1d 00 00 movdqa xmm0, XMMWORD PTR abiased_l$139[rbp] - 01399 66 0f fa 85 a0 - 18 00 00 psubd xmm0, XMMWORD PTR x4_l$113[rbp] - 013a1 66 0f 7f 85 40 - 1e 00 00 movdqa XMMWORD PTR dif_l$143[rbp], xmm0 - 013a9 66 0f 6f 85 b0 - 1d 00 00 movdqa xmm0, XMMWORD PTR abiased_h$140[rbp] - 013b1 66 0f fa 85 d0 - 18 00 00 psubd xmm0, XMMWORD PTR x4_h$114[rbp] - 013b9 66 0f 7f 85 70 - 1e 00 00 movdqa XMMWORD PTR dif_h$144[rbp], xmm0 - 013c1 66 0f 6f 85 10 - 1e 00 00 movdqa xmm0, XMMWORD PTR sum_h$142[rbp] - 013c9 66 0f 72 e0 11 psrad xmm0, 17 - 013ce 66 0f 6f 8d e0 - 1d 00 00 movdqa xmm1, XMMWORD PTR sum_l$141[rbp] - 013d6 66 0f 72 e1 11 psrad xmm1, 17 - 013db 66 0f 6b c8 packssdw xmm1, xmm0 - 013df 66 0f 6f c1 movdqa xmm0, xmm1 - 013e3 66 0f 7f 85 a0 - 00 00 00 movdqa XMMWORD PTR row3$[rbp], xmm0 - 013eb 66 0f 6f 85 70 - 1e 00 00 movdqa xmm0, XMMWORD PTR dif_h$144[rbp] - 013f3 66 0f 72 e0 11 psrad xmm0, 17 - 013f8 66 0f 6f 8d 40 - 1e 00 00 movdqa xmm1, XMMWORD PTR dif_l$143[rbp] - 01400 66 0f 72 e1 11 psrad xmm1, 17 - 01405 66 0f 6b c8 packssdw xmm1, xmm0 - 01409 66 0f 6f c1 movdqa xmm0, xmm1 - 0140d 66 0f 7f 85 d0 - 00 00 00 movdqa XMMWORD PTR row4$[rbp], xmm0 - -; 2407 : -; 2408 : { -; 2409 : // pack -; 2410 : __m128i p0 = _mm_packus_epi16(row0, row1); // a0a1a2a3...a7b0b1b2b3...b7 - - 01415 66 0f 6f 45 10 movdqa xmm0, XMMWORD PTR row0$[rbp] - 0141a 66 0f 67 45 40 packuswb xmm0, XMMWORD PTR row1$[rbp] - 0141f 66 0f 7f 85 a0 - 1e 00 00 movdqa XMMWORD PTR p0$145[rbp], xmm0 - -; 2411 : __m128i p1 = _mm_packus_epi16(row2, row3); - - 01427 66 0f 6f 45 70 movdqa xmm0, XMMWORD PTR row2$[rbp] - 0142c 66 0f 67 85 a0 - 00 00 00 packuswb xmm0, XMMWORD PTR row3$[rbp] - 01434 66 0f 7f 85 d0 - 1e 00 00 movdqa XMMWORD PTR p1$146[rbp], xmm0 - -; 2412 : __m128i p2 = _mm_packus_epi16(row4, row5); - - 0143c 66 0f 6f 85 d0 - 00 00 00 movdqa xmm0, XMMWORD PTR row4$[rbp] - 01444 66 0f 67 85 00 - 01 00 00 packuswb xmm0, XMMWORD PTR row5$[rbp] - 0144c 66 0f 7f 85 00 - 1f 00 00 movdqa XMMWORD PTR p2$147[rbp], xmm0 - -; 2413 : __m128i p3 = _mm_packus_epi16(row6, row7); - - 01454 66 0f 6f 85 30 - 01 00 00 movdqa xmm0, XMMWORD PTR row6$[rbp] - 0145c 66 0f 67 85 60 - 01 00 00 packuswb xmm0, XMMWORD PTR row7$[rbp] - 01464 66 0f 7f 85 30 - 1f 00 00 movdqa XMMWORD PTR p3$148[rbp], xmm0 - -; 2414 : -; 2415 : // 8bit 8x8 transpose pass 1 -; 2416 : dct_interleave8(p0, p2); // a0e0a1e1... - - 0146c 66 0f 6f 85 a0 - 1e 00 00 movdqa xmm0, XMMWORD PTR p0$145[rbp] - 01474 66 0f 7f 85 90 - 01 00 00 movdqa XMMWORD PTR tmp$[rbp], xmm0 - 0147c 66 0f 6f 85 a0 - 1e 00 00 movdqa xmm0, XMMWORD PTR p0$145[rbp] - 01484 66 0f 60 85 00 - 1f 00 00 punpcklbw xmm0, XMMWORD PTR p2$147[rbp] - 0148c 66 0f 7f 85 a0 - 1e 00 00 movdqa XMMWORD PTR p0$145[rbp], xmm0 - 01494 66 0f 6f 85 90 - 01 00 00 movdqa xmm0, XMMWORD PTR tmp$[rbp] - 0149c 66 0f 68 85 00 - 1f 00 00 punpckhbw xmm0, XMMWORD PTR p2$147[rbp] - 014a4 66 0f 7f 85 00 - 1f 00 00 movdqa XMMWORD PTR p2$147[rbp], xmm0 - -; 2417 : dct_interleave8(p1, p3); // c0g0c1g1... - - 014ac 66 0f 6f 85 d0 - 1e 00 00 movdqa xmm0, XMMWORD PTR p1$146[rbp] - 014b4 66 0f 7f 85 90 - 01 00 00 movdqa XMMWORD PTR tmp$[rbp], xmm0 - 014bc 66 0f 6f 85 d0 - 1e 00 00 movdqa xmm0, XMMWORD PTR p1$146[rbp] - 014c4 66 0f 60 85 30 - 1f 00 00 punpcklbw xmm0, XMMWORD PTR p3$148[rbp] - 014cc 66 0f 7f 85 d0 - 1e 00 00 movdqa XMMWORD PTR p1$146[rbp], xmm0 - 014d4 66 0f 6f 85 90 - 01 00 00 movdqa xmm0, XMMWORD PTR tmp$[rbp] - 014dc 66 0f 68 85 30 - 1f 00 00 punpckhbw xmm0, XMMWORD PTR p3$148[rbp] - 014e4 66 0f 7f 85 30 - 1f 00 00 movdqa XMMWORD PTR p3$148[rbp], xmm0 - -; 2418 : -; 2419 : // transpose pass 2 -; 2420 : dct_interleave8(p0, p1); // a0c0e0g0... - - 014ec 66 0f 6f 85 a0 - 1e 00 00 movdqa xmm0, XMMWORD PTR p0$145[rbp] - 014f4 66 0f 7f 85 90 - 01 00 00 movdqa XMMWORD PTR tmp$[rbp], xmm0 - 014fc 66 0f 6f 85 a0 - 1e 00 00 movdqa xmm0, XMMWORD PTR p0$145[rbp] - 01504 66 0f 60 85 d0 - 1e 00 00 punpcklbw xmm0, XMMWORD PTR p1$146[rbp] - 0150c 66 0f 7f 85 a0 - 1e 00 00 movdqa XMMWORD PTR p0$145[rbp], xmm0 - 01514 66 0f 6f 85 90 - 01 00 00 movdqa xmm0, XMMWORD PTR tmp$[rbp] - 0151c 66 0f 68 85 d0 - 1e 00 00 punpckhbw xmm0, XMMWORD PTR p1$146[rbp] - 01524 66 0f 7f 85 d0 - 1e 00 00 movdqa XMMWORD PTR p1$146[rbp], xmm0 - -; 2421 : dct_interleave8(p2, p3); // b0d0f0h0... - - 0152c 66 0f 6f 85 00 - 1f 00 00 movdqa xmm0, XMMWORD PTR p2$147[rbp] - 01534 66 0f 7f 85 90 - 01 00 00 movdqa XMMWORD PTR tmp$[rbp], xmm0 - 0153c 66 0f 6f 85 00 - 1f 00 00 movdqa xmm0, XMMWORD PTR p2$147[rbp] - 01544 66 0f 60 85 30 - 1f 00 00 punpcklbw xmm0, XMMWORD PTR p3$148[rbp] - 0154c 66 0f 7f 85 00 - 1f 00 00 movdqa XMMWORD PTR p2$147[rbp], xmm0 - 01554 66 0f 6f 85 90 - 01 00 00 movdqa xmm0, XMMWORD PTR tmp$[rbp] - 0155c 66 0f 68 85 30 - 1f 00 00 punpckhbw xmm0, XMMWORD PTR p3$148[rbp] - 01564 66 0f 7f 85 30 - 1f 00 00 movdqa XMMWORD PTR p3$148[rbp], xmm0 - -; 2422 : -; 2423 : // transpose pass 3 -; 2424 : dct_interleave8(p0, p2); // a0b0c0d0... - - 0156c 66 0f 6f 85 a0 - 1e 00 00 movdqa xmm0, XMMWORD PTR p0$145[rbp] - 01574 66 0f 7f 85 90 - 01 00 00 movdqa XMMWORD PTR tmp$[rbp], xmm0 - 0157c 66 0f 6f 85 a0 - 1e 00 00 movdqa xmm0, XMMWORD PTR p0$145[rbp] - 01584 66 0f 60 85 00 - 1f 00 00 punpcklbw xmm0, XMMWORD PTR p2$147[rbp] - 0158c 66 0f 7f 85 a0 - 1e 00 00 movdqa XMMWORD PTR p0$145[rbp], xmm0 - 01594 66 0f 6f 85 90 - 01 00 00 movdqa xmm0, XMMWORD PTR tmp$[rbp] - 0159c 66 0f 68 85 00 - 1f 00 00 punpckhbw xmm0, XMMWORD PTR p2$147[rbp] - 015a4 66 0f 7f 85 00 - 1f 00 00 movdqa XMMWORD PTR p2$147[rbp], xmm0 - -; 2425 : dct_interleave8(p1, p3); // a4b4c4d4... - - 015ac 66 0f 6f 85 d0 - 1e 00 00 movdqa xmm0, XMMWORD PTR p1$146[rbp] - 015b4 66 0f 7f 85 90 - 01 00 00 movdqa XMMWORD PTR tmp$[rbp], xmm0 - 015bc 66 0f 6f 85 d0 - 1e 00 00 movdqa xmm0, XMMWORD PTR p1$146[rbp] - 015c4 66 0f 60 85 30 - 1f 00 00 punpcklbw xmm0, XMMWORD PTR p3$148[rbp] - 015cc 66 0f 7f 85 d0 - 1e 00 00 movdqa XMMWORD PTR p1$146[rbp], xmm0 - 015d4 66 0f 6f 85 90 - 01 00 00 movdqa xmm0, XMMWORD PTR tmp$[rbp] - 015dc 66 0f 68 85 30 - 1f 00 00 punpckhbw xmm0, XMMWORD PTR p3$148[rbp] - 015e4 66 0f 7f 85 30 - 1f 00 00 movdqa XMMWORD PTR p3$148[rbp], xmm0 - -; 2426 : -; 2427 : // store -; 2428 : _mm_storel_epi64((__m128i *)out, p0); - - 015ec 48 8b 85 70 25 - 00 00 mov rax, QWORD PTR out$[rbp] - 015f3 66 0f 6f 85 a0 - 1e 00 00 movdqa xmm0, XMMWORD PTR p0$145[rbp] - 015fb 66 0f d6 00 movq QWORD PTR [rax], xmm0 - -; 2429 : out += out_stride; - - 015ff 48 63 85 78 25 - 00 00 movsxd rax, DWORD PTR out_stride$[rbp] - 01606 48 8b 8d 70 25 - 00 00 mov rcx, QWORD PTR out$[rbp] - 0160d 48 03 c8 add rcx, rax - 01610 48 8b c1 mov rax, rcx - 01613 48 89 85 70 25 - 00 00 mov QWORD PTR out$[rbp], rax - -; 2430 : _mm_storel_epi64((__m128i *)out, _mm_shuffle_epi32(p0, 0x4e)); - - 0161a 66 0f 6f 85 a0 - 1e 00 00 movdqa xmm0, XMMWORD PTR p0$145[rbp] - 01622 66 0f 70 c0 4e pshufd xmm0, xmm0, 78 ; 0000004eH - 01627 48 8b 85 70 25 - 00 00 mov rax, QWORD PTR out$[rbp] - 0162e 66 0f d6 00 movq QWORD PTR [rax], xmm0 - -; 2431 : out += out_stride; - - 01632 48 63 85 78 25 - 00 00 movsxd rax, DWORD PTR out_stride$[rbp] - 01639 48 8b 8d 70 25 - 00 00 mov rcx, QWORD PTR out$[rbp] - 01640 48 03 c8 add rcx, rax - 01643 48 8b c1 mov rax, rcx - 01646 48 89 85 70 25 - 00 00 mov QWORD PTR out$[rbp], rax - -; 2432 : _mm_storel_epi64((__m128i *)out, p2); - - 0164d 48 8b 85 70 25 - 00 00 mov rax, QWORD PTR out$[rbp] - 01654 66 0f 6f 85 00 - 1f 00 00 movdqa xmm0, XMMWORD PTR p2$147[rbp] - 0165c 66 0f d6 00 movq QWORD PTR [rax], xmm0 - -; 2433 : out += out_stride; - - 01660 48 63 85 78 25 - 00 00 movsxd rax, DWORD PTR out_stride$[rbp] - 01667 48 8b 8d 70 25 - 00 00 mov rcx, QWORD PTR out$[rbp] - 0166e 48 03 c8 add rcx, rax - 01671 48 8b c1 mov rax, rcx - 01674 48 89 85 70 25 - 00 00 mov QWORD PTR out$[rbp], rax - -; 2434 : _mm_storel_epi64((__m128i *)out, _mm_shuffle_epi32(p2, 0x4e)); - - 0167b 66 0f 6f 85 00 - 1f 00 00 movdqa xmm0, XMMWORD PTR p2$147[rbp] - 01683 66 0f 70 c0 4e pshufd xmm0, xmm0, 78 ; 0000004eH - 01688 48 8b 85 70 25 - 00 00 mov rax, QWORD PTR out$[rbp] - 0168f 66 0f d6 00 movq QWORD PTR [rax], xmm0 - -; 2435 : out += out_stride; - - 01693 48 63 85 78 25 - 00 00 movsxd rax, DWORD PTR out_stride$[rbp] - 0169a 48 8b 8d 70 25 - 00 00 mov rcx, QWORD PTR out$[rbp] - 016a1 48 03 c8 add rcx, rax - 016a4 48 8b c1 mov rax, rcx - 016a7 48 89 85 70 25 - 00 00 mov QWORD PTR out$[rbp], rax - -; 2436 : _mm_storel_epi64((__m128i *)out, p1); - - 016ae 48 8b 85 70 25 - 00 00 mov rax, QWORD PTR out$[rbp] - 016b5 66 0f 6f 85 d0 - 1e 00 00 movdqa xmm0, XMMWORD PTR p1$146[rbp] - 016bd 66 0f d6 00 movq QWORD PTR [rax], xmm0 - -; 2437 : out += out_stride; - - 016c1 48 63 85 78 25 - 00 00 movsxd rax, DWORD PTR out_stride$[rbp] - 016c8 48 8b 8d 70 25 - 00 00 mov rcx, QWORD PTR out$[rbp] - 016cf 48 03 c8 add rcx, rax - 016d2 48 8b c1 mov rax, rcx - 016d5 48 89 85 70 25 - 00 00 mov QWORD PTR out$[rbp], rax - -; 2438 : _mm_storel_epi64((__m128i *)out, _mm_shuffle_epi32(p1, 0x4e)); - - 016dc 66 0f 6f 85 d0 - 1e 00 00 movdqa xmm0, XMMWORD PTR p1$146[rbp] - 016e4 66 0f 70 c0 4e pshufd xmm0, xmm0, 78 ; 0000004eH - 016e9 48 8b 85 70 25 - 00 00 mov rax, QWORD PTR out$[rbp] - 016f0 66 0f d6 00 movq QWORD PTR [rax], xmm0 - -; 2439 : out += out_stride; - - 016f4 48 63 85 78 25 - 00 00 movsxd rax, DWORD PTR out_stride$[rbp] - 016fb 48 8b 8d 70 25 - 00 00 mov rcx, QWORD PTR out$[rbp] - 01702 48 03 c8 add rcx, rax - 01705 48 8b c1 mov rax, rcx - 01708 48 89 85 70 25 - 00 00 mov QWORD PTR out$[rbp], rax - -; 2440 : _mm_storel_epi64((__m128i *)out, p3); - - 0170f 48 8b 85 70 25 - 00 00 mov rax, QWORD PTR out$[rbp] - 01716 66 0f 6f 85 30 - 1f 00 00 movdqa xmm0, XMMWORD PTR p3$148[rbp] - 0171e 66 0f d6 00 movq QWORD PTR [rax], xmm0 - -; 2441 : out += out_stride; - - 01722 48 63 85 78 25 - 00 00 movsxd rax, DWORD PTR out_stride$[rbp] - 01729 48 8b 8d 70 25 - 00 00 mov rcx, QWORD PTR out$[rbp] - 01730 48 03 c8 add rcx, rax - 01733 48 8b c1 mov rax, rcx - 01736 48 89 85 70 25 - 00 00 mov QWORD PTR out$[rbp], rax - -; 2442 : _mm_storel_epi64((__m128i *)out, _mm_shuffle_epi32(p3, 0x4e)); - - 0173d 66 0f 6f 85 30 - 1f 00 00 movdqa xmm0, XMMWORD PTR p3$148[rbp] - 01745 66 0f 70 c0 4e pshufd xmm0, xmm0, 78 ; 0000004eH - 0174a 48 8b 85 70 25 - 00 00 mov rax, QWORD PTR out$[rbp] - 01751 66 0f d6 00 movq QWORD PTR [rax], xmm0 - -; 2443 : } -; 2444 : -; 2445 : #undef dct_const -; 2446 : #undef dct_rot -; 2447 : #undef dct_widen -; 2448 : #undef dct_wadd -; 2449 : #undef dct_wsub -; 2450 : #undef dct_bfly32o -; 2451 : #undef dct_interleave8 -; 2452 : #undef dct_interleave16 -; 2453 : #undef dct_pass -; 2454 : } - - 01755 48 8d a5 58 25 - 00 00 lea rsp, QWORD PTR [rbp+9560] - 0175c 5f pop rdi - 0175d 5d pop rbp - 0175e c3 ret 0 -stbi__idct_simd ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__idct_block -_TEXT SEGMENT -i$ = 4 -val$ = 48 -v$ = 328 -o$ = 360 -d$ = 392 -dcterm$4 = 420 -t0$5 = 452 -t1$6 = 484 -t2$7 = 516 -t3$8 = 548 -p1$9 = 580 -p2$10 = 612 -p3$11 = 644 -p4$12 = 676 -p5$13 = 708 -x0$14 = 740 -x1$15 = 772 -x2$16 = 804 -x3$17 = 836 -t0$18 = 868 -t1$19 = 900 -t2$20 = 932 -t3$21 = 964 -p1$22 = 996 -p2$23 = 1028 -p3$24 = 1060 -p4$25 = 1092 -p5$26 = 1124 -x0$27 = 1156 -x1$28 = 1188 -x2$29 = 1220 -x3$30 = 1252 -__$ArrayPad$ = 1848 -out$ = 1888 -out_stride$ = 1896 -data$ = 1904 -stbi__idct_block PROC ; COMDAT - -; 2201 : { - - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00009 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000e 55 push rbp - 0000f 57 push rdi - 00010 48 81 ec 68 07 - 00 00 sub rsp, 1896 ; 00000768H - 00017 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001c 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 00021 b9 42 01 00 00 mov ecx, 322 ; 00000142H - 00026 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 0002b f3 ab rep stosd - 0002d 48 8b 8c 24 88 - 07 00 00 mov rcx, QWORD PTR [rsp+1928] - 00035 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 0003c 48 33 c5 xor rax, rbp - 0003f 48 89 85 38 07 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 00046 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0004d e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00052 90 npad 1 - -; 2202 : int i, val[64], *v = val; - - 00053 48 8d 45 30 lea rax, QWORD PTR val$[rbp] - 00057 48 89 85 48 01 - 00 00 mov QWORD PTR v$[rbp], rax - -; 2203 : stbi_uc *o; -; 2204 : short *d = data; - - 0005e 48 8b 85 70 07 - 00 00 mov rax, QWORD PTR data$[rbp] - 00065 48 89 85 88 01 - 00 00 mov QWORD PTR d$[rbp], rax - -; 2205 : -; 2206 : // columns -; 2207 : for (i = 0; i < 8; ++i, ++d, ++v) { - - 0006c c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 00073 eb 2c jmp SHORT $LN4@stbi__idct -$LN2@stbi__idct: - 00075 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00078 ff c0 inc eax - 0007a 89 45 04 mov DWORD PTR i$[rbp], eax - 0007d 48 8b 85 88 01 - 00 00 mov rax, QWORD PTR d$[rbp] - 00084 48 83 c0 02 add rax, 2 - 00088 48 89 85 88 01 - 00 00 mov QWORD PTR d$[rbp], rax - 0008f 48 8b 85 48 01 - 00 00 mov rax, QWORD PTR v$[rbp] - 00096 48 83 c0 04 add rax, 4 - 0009a 48 89 85 48 01 - 00 00 mov QWORD PTR v$[rbp], rax -$LN4@stbi__idct: - 000a1 83 7d 04 08 cmp DWORD PTR i$[rbp], 8 - 000a5 0f 8d 5f 06 00 - 00 jge $LN3@stbi__idct - -; 2208 : // if all zeroes, shortcut -- this avoids dequantizing 0s and IDCTing -; 2209 : if (d[8] == 0 && d[16] == 0 && d[24] == 0 && d[32] == 0 && d[40] == 0 && -; 2210 : d[48] == 0 && d[56] == 0) { - - 000ab b8 02 00 00 00 mov eax, 2 - 000b0 48 6b c0 08 imul rax, rax, 8 - 000b4 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR d$[rbp] - 000bb 0f bf 04 01 movsx eax, WORD PTR [rcx+rax] - 000bf 85 c0 test eax, eax - 000c1 0f 85 92 01 00 - 00 jne $LN8@stbi__idct - 000c7 b8 02 00 00 00 mov eax, 2 - 000cc 48 6b c0 10 imul rax, rax, 16 - 000d0 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR d$[rbp] - 000d7 0f bf 04 01 movsx eax, WORD PTR [rcx+rax] - 000db 85 c0 test eax, eax - 000dd 0f 85 76 01 00 - 00 jne $LN8@stbi__idct - 000e3 b8 02 00 00 00 mov eax, 2 - 000e8 48 6b c0 18 imul rax, rax, 24 - 000ec 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR d$[rbp] - 000f3 0f bf 04 01 movsx eax, WORD PTR [rcx+rax] - 000f7 85 c0 test eax, eax - 000f9 0f 85 5a 01 00 - 00 jne $LN8@stbi__idct - 000ff b8 02 00 00 00 mov eax, 2 - 00104 48 6b c0 20 imul rax, rax, 32 ; 00000020H - 00108 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR d$[rbp] - 0010f 0f bf 04 01 movsx eax, WORD PTR [rcx+rax] - 00113 85 c0 test eax, eax - 00115 0f 85 3e 01 00 - 00 jne $LN8@stbi__idct - 0011b b8 02 00 00 00 mov eax, 2 - 00120 48 6b c0 28 imul rax, rax, 40 ; 00000028H - 00124 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR d$[rbp] - 0012b 0f bf 04 01 movsx eax, WORD PTR [rcx+rax] - 0012f 85 c0 test eax, eax - 00131 0f 85 22 01 00 - 00 jne $LN8@stbi__idct - 00137 b8 02 00 00 00 mov eax, 2 - 0013c 48 6b c0 30 imul rax, rax, 48 ; 00000030H - 00140 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR d$[rbp] - 00147 0f bf 04 01 movsx eax, WORD PTR [rcx+rax] - 0014b 85 c0 test eax, eax - 0014d 0f 85 06 01 00 - 00 jne $LN8@stbi__idct - 00153 b8 02 00 00 00 mov eax, 2 - 00158 48 6b c0 38 imul rax, rax, 56 ; 00000038H - 0015c 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR d$[rbp] - 00163 0f bf 04 01 movsx eax, WORD PTR [rcx+rax] - 00167 85 c0 test eax, eax - 00169 0f 85 ea 00 00 - 00 jne $LN8@stbi__idct - -; 2211 : // no shortcut 0 seconds -; 2212 : // (1|2|3|4|5|6|7)==0 0 seconds -; 2213 : // all separate -0.047 seconds -; 2214 : // 1 && 2|3 && 4|5 && 6|7: -0.047 seconds -; 2215 : int dcterm = d[0] * 4; - - 0016f b8 02 00 00 00 mov eax, 2 - 00174 48 6b c0 00 imul rax, rax, 0 - 00178 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR d$[rbp] - 0017f 0f bf 04 01 movsx eax, WORD PTR [rcx+rax] - 00183 c1 e0 02 shl eax, 2 - 00186 89 85 a4 01 00 - 00 mov DWORD PTR dcterm$4[rbp], eax - -; 2216 : v[0] = v[8] = v[16] = v[24] = v[32] = v[40] = v[48] = v[56] = dcterm; - - 0018c b8 04 00 00 00 mov eax, 4 - 00191 48 6b c0 38 imul rax, rax, 56 ; 00000038H - 00195 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR v$[rbp] - 0019c 8b 95 a4 01 00 - 00 mov edx, DWORD PTR dcterm$4[rbp] - 001a2 89 14 01 mov DWORD PTR [rcx+rax], edx - 001a5 b8 04 00 00 00 mov eax, 4 - 001aa 48 6b c0 30 imul rax, rax, 48 ; 00000030H - 001ae 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR v$[rbp] - 001b5 8b 95 a4 01 00 - 00 mov edx, DWORD PTR dcterm$4[rbp] - 001bb 89 14 01 mov DWORD PTR [rcx+rax], edx - 001be b8 04 00 00 00 mov eax, 4 - 001c3 48 6b c0 28 imul rax, rax, 40 ; 00000028H - 001c7 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR v$[rbp] - 001ce 8b 95 a4 01 00 - 00 mov edx, DWORD PTR dcterm$4[rbp] - 001d4 89 14 01 mov DWORD PTR [rcx+rax], edx - 001d7 b8 04 00 00 00 mov eax, 4 - 001dc 48 6b c0 20 imul rax, rax, 32 ; 00000020H - 001e0 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR v$[rbp] - 001e7 8b 95 a4 01 00 - 00 mov edx, DWORD PTR dcterm$4[rbp] - 001ed 89 14 01 mov DWORD PTR [rcx+rax], edx - 001f0 b8 04 00 00 00 mov eax, 4 - 001f5 48 6b c0 18 imul rax, rax, 24 - 001f9 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR v$[rbp] - 00200 8b 95 a4 01 00 - 00 mov edx, DWORD PTR dcterm$4[rbp] - 00206 89 14 01 mov DWORD PTR [rcx+rax], edx - 00209 b8 04 00 00 00 mov eax, 4 - 0020e 48 6b c0 10 imul rax, rax, 16 - 00212 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR v$[rbp] - 00219 8b 95 a4 01 00 - 00 mov edx, DWORD PTR dcterm$4[rbp] - 0021f 89 14 01 mov DWORD PTR [rcx+rax], edx - 00222 b8 04 00 00 00 mov eax, 4 - 00227 48 6b c0 08 imul rax, rax, 8 - 0022b 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR v$[rbp] - 00232 8b 95 a4 01 00 - 00 mov edx, DWORD PTR dcterm$4[rbp] - 00238 89 14 01 mov DWORD PTR [rcx+rax], edx - 0023b b8 04 00 00 00 mov eax, 4 - 00240 48 6b c0 00 imul rax, rax, 0 - 00244 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR v$[rbp] - 0024b 8b 95 a4 01 00 - 00 mov edx, DWORD PTR dcterm$4[rbp] - 00251 89 14 01 mov DWORD PTR [rcx+rax], edx - -; 2217 : } else { - - 00254 e9 ac 04 00 00 jmp $LN9@stbi__idct -$LN8@stbi__idct: - -; 2218 : STBI__IDCT_1D(d[0], d[8], d[16], d[24], d[32], d[40], d[48], d[56]) - - 00259 b8 02 00 00 00 mov eax, 2 - 0025e 48 6b c0 10 imul rax, rax, 16 - 00262 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR d$[rbp] - 00269 0f bf 04 01 movsx eax, WORD PTR [rcx+rax] - 0026d 89 85 64 02 00 - 00 mov DWORD PTR p2$10[rbp], eax - 00273 b8 02 00 00 00 mov eax, 2 - 00278 48 6b c0 30 imul rax, rax, 48 ; 00000030H - 0027c 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR d$[rbp] - 00283 0f bf 04 01 movsx eax, WORD PTR [rcx+rax] - 00287 89 85 84 02 00 - 00 mov DWORD PTR p3$11[rbp], eax - 0028d 8b 85 84 02 00 - 00 mov eax, DWORD PTR p3$11[rbp] - 00293 8b 8d 64 02 00 - 00 mov ecx, DWORD PTR p2$10[rbp] - 00299 03 c8 add ecx, eax - 0029b 8b c1 mov eax, ecx - 0029d 69 c0 a9 08 00 - 00 imul eax, eax, 2217 ; 000008a9H - 002a3 89 85 44 02 00 - 00 mov DWORD PTR p1$9[rbp], eax - 002a9 69 85 84 02 00 - 00 71 e2 ff ff imul eax, DWORD PTR p3$11[rbp], -7567 ; ffffffffffffe271H - 002b3 8b 8d 44 02 00 - 00 mov ecx, DWORD PTR p1$9[rbp] - 002b9 03 c8 add ecx, eax - 002bb 8b c1 mov eax, ecx - 002bd 89 85 04 02 00 - 00 mov DWORD PTR t2$7[rbp], eax - 002c3 69 85 64 02 00 - 00 3f 0c 00 00 imul eax, DWORD PTR p2$10[rbp], 3135 ; 00000c3fH - 002cd 8b 8d 44 02 00 - 00 mov ecx, DWORD PTR p1$9[rbp] - 002d3 03 c8 add ecx, eax - 002d5 8b c1 mov eax, ecx - 002d7 89 85 24 02 00 - 00 mov DWORD PTR t3$8[rbp], eax - 002dd b8 02 00 00 00 mov eax, 2 - 002e2 48 6b c0 00 imul rax, rax, 0 - 002e6 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR d$[rbp] - 002ed 0f bf 04 01 movsx eax, WORD PTR [rcx+rax] - 002f1 89 85 64 02 00 - 00 mov DWORD PTR p2$10[rbp], eax - 002f7 b8 02 00 00 00 mov eax, 2 - 002fc 48 6b c0 20 imul rax, rax, 32 ; 00000020H - 00300 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR d$[rbp] - 00307 0f bf 04 01 movsx eax, WORD PTR [rcx+rax] - 0030b 89 85 84 02 00 - 00 mov DWORD PTR p3$11[rbp], eax - 00311 8b 85 84 02 00 - 00 mov eax, DWORD PTR p3$11[rbp] - 00317 8b 8d 64 02 00 - 00 mov ecx, DWORD PTR p2$10[rbp] - 0031d 03 c8 add ecx, eax - 0031f 8b c1 mov eax, ecx - 00321 69 c0 00 10 00 - 00 imul eax, eax, 4096 ; 00001000H - 00327 89 85 c4 01 00 - 00 mov DWORD PTR t0$5[rbp], eax - 0032d 8b 85 84 02 00 - 00 mov eax, DWORD PTR p3$11[rbp] - 00333 8b 8d 64 02 00 - 00 mov ecx, DWORD PTR p2$10[rbp] - 00339 2b c8 sub ecx, eax - 0033b 8b c1 mov eax, ecx - 0033d 69 c0 00 10 00 - 00 imul eax, eax, 4096 ; 00001000H - 00343 89 85 e4 01 00 - 00 mov DWORD PTR t1$6[rbp], eax - 00349 8b 85 24 02 00 - 00 mov eax, DWORD PTR t3$8[rbp] - 0034f 8b 8d c4 01 00 - 00 mov ecx, DWORD PTR t0$5[rbp] - 00355 03 c8 add ecx, eax - 00357 8b c1 mov eax, ecx - 00359 89 85 e4 02 00 - 00 mov DWORD PTR x0$14[rbp], eax - 0035f 8b 85 24 02 00 - 00 mov eax, DWORD PTR t3$8[rbp] - 00365 8b 8d c4 01 00 - 00 mov ecx, DWORD PTR t0$5[rbp] - 0036b 2b c8 sub ecx, eax - 0036d 8b c1 mov eax, ecx - 0036f 89 85 44 03 00 - 00 mov DWORD PTR x3$17[rbp], eax - 00375 8b 85 04 02 00 - 00 mov eax, DWORD PTR t2$7[rbp] - 0037b 8b 8d e4 01 00 - 00 mov ecx, DWORD PTR t1$6[rbp] - 00381 03 c8 add ecx, eax - 00383 8b c1 mov eax, ecx - 00385 89 85 04 03 00 - 00 mov DWORD PTR x1$15[rbp], eax - 0038b 8b 85 04 02 00 - 00 mov eax, DWORD PTR t2$7[rbp] - 00391 8b 8d e4 01 00 - 00 mov ecx, DWORD PTR t1$6[rbp] - 00397 2b c8 sub ecx, eax - 00399 8b c1 mov eax, ecx - 0039b 89 85 24 03 00 - 00 mov DWORD PTR x2$16[rbp], eax - 003a1 b8 02 00 00 00 mov eax, 2 - 003a6 48 6b c0 38 imul rax, rax, 56 ; 00000038H - 003aa 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR d$[rbp] - 003b1 0f bf 04 01 movsx eax, WORD PTR [rcx+rax] - 003b5 89 85 c4 01 00 - 00 mov DWORD PTR t0$5[rbp], eax - 003bb b8 02 00 00 00 mov eax, 2 - 003c0 48 6b c0 28 imul rax, rax, 40 ; 00000028H - 003c4 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR d$[rbp] - 003cb 0f bf 04 01 movsx eax, WORD PTR [rcx+rax] - 003cf 89 85 e4 01 00 - 00 mov DWORD PTR t1$6[rbp], eax - 003d5 b8 02 00 00 00 mov eax, 2 - 003da 48 6b c0 18 imul rax, rax, 24 - 003de 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR d$[rbp] - 003e5 0f bf 04 01 movsx eax, WORD PTR [rcx+rax] - 003e9 89 85 04 02 00 - 00 mov DWORD PTR t2$7[rbp], eax - 003ef b8 02 00 00 00 mov eax, 2 - 003f4 48 6b c0 08 imul rax, rax, 8 - 003f8 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR d$[rbp] - 003ff 0f bf 04 01 movsx eax, WORD PTR [rcx+rax] - 00403 89 85 24 02 00 - 00 mov DWORD PTR t3$8[rbp], eax - 00409 8b 85 04 02 00 - 00 mov eax, DWORD PTR t2$7[rbp] - 0040f 8b 8d c4 01 00 - 00 mov ecx, DWORD PTR t0$5[rbp] - 00415 03 c8 add ecx, eax - 00417 8b c1 mov eax, ecx - 00419 89 85 84 02 00 - 00 mov DWORD PTR p3$11[rbp], eax - 0041f 8b 85 24 02 00 - 00 mov eax, DWORD PTR t3$8[rbp] - 00425 8b 8d e4 01 00 - 00 mov ecx, DWORD PTR t1$6[rbp] - 0042b 03 c8 add ecx, eax - 0042d 8b c1 mov eax, ecx - 0042f 89 85 a4 02 00 - 00 mov DWORD PTR p4$12[rbp], eax - 00435 8b 85 24 02 00 - 00 mov eax, DWORD PTR t3$8[rbp] - 0043b 8b 8d c4 01 00 - 00 mov ecx, DWORD PTR t0$5[rbp] - 00441 03 c8 add ecx, eax - 00443 8b c1 mov eax, ecx - 00445 89 85 44 02 00 - 00 mov DWORD PTR p1$9[rbp], eax - 0044b 8b 85 04 02 00 - 00 mov eax, DWORD PTR t2$7[rbp] - 00451 8b 8d e4 01 00 - 00 mov ecx, DWORD PTR t1$6[rbp] - 00457 03 c8 add ecx, eax - 00459 8b c1 mov eax, ecx - 0045b 89 85 64 02 00 - 00 mov DWORD PTR p2$10[rbp], eax - 00461 8b 85 a4 02 00 - 00 mov eax, DWORD PTR p4$12[rbp] - 00467 8b 8d 84 02 00 - 00 mov ecx, DWORD PTR p3$11[rbp] - 0046d 03 c8 add ecx, eax - 0046f 8b c1 mov eax, ecx - 00471 69 c0 d0 12 00 - 00 imul eax, eax, 4816 ; 000012d0H - 00477 89 85 c4 02 00 - 00 mov DWORD PTR p5$13[rbp], eax - 0047d 69 85 c4 01 00 - 00 c7 04 00 00 imul eax, DWORD PTR t0$5[rbp], 1223 ; 000004c7H - 00487 89 85 c4 01 00 - 00 mov DWORD PTR t0$5[rbp], eax - 0048d 69 85 e4 01 00 - 00 da 20 00 00 imul eax, DWORD PTR t1$6[rbp], 8410 ; 000020daH - 00497 89 85 e4 01 00 - 00 mov DWORD PTR t1$6[rbp], eax - 0049d 69 85 04 02 00 - 00 2a 31 00 00 imul eax, DWORD PTR t2$7[rbp], 12586 ; 0000312aH - 004a7 89 85 04 02 00 - 00 mov DWORD PTR t2$7[rbp], eax - 004ad 69 85 24 02 00 - 00 05 18 00 00 imul eax, DWORD PTR t3$8[rbp], 6149 ; 00001805H - 004b7 89 85 24 02 00 - 00 mov DWORD PTR t3$8[rbp], eax - 004bd 69 85 44 02 00 - 00 9b f1 ff ff imul eax, DWORD PTR p1$9[rbp], -3685 ; fffffffffffff19bH - 004c7 8b 8d c4 02 00 - 00 mov ecx, DWORD PTR p5$13[rbp] - 004cd 03 c8 add ecx, eax - 004cf 8b c1 mov eax, ecx - 004d1 89 85 44 02 00 - 00 mov DWORD PTR p1$9[rbp], eax - 004d7 69 85 64 02 00 - 00 ff d6 ff ff imul eax, DWORD PTR p2$10[rbp], -10497 ; ffffffffffffd6ffH - 004e1 8b 8d c4 02 00 - 00 mov ecx, DWORD PTR p5$13[rbp] - 004e7 03 c8 add ecx, eax - 004e9 8b c1 mov eax, ecx - 004eb 89 85 64 02 00 - 00 mov DWORD PTR p2$10[rbp], eax - 004f1 69 85 84 02 00 - 00 9e e0 ff ff imul eax, DWORD PTR p3$11[rbp], -8034 ; ffffffffffffe09eH - 004fb 89 85 84 02 00 - 00 mov DWORD PTR p3$11[rbp], eax - 00501 69 85 a4 02 00 - 00 c3 f9 ff ff imul eax, DWORD PTR p4$12[rbp], -1597 ; fffffffffffff9c3H - 0050b 89 85 a4 02 00 - 00 mov DWORD PTR p4$12[rbp], eax - 00511 8b 85 a4 02 00 - 00 mov eax, DWORD PTR p4$12[rbp] - 00517 8b 8d 44 02 00 - 00 mov ecx, DWORD PTR p1$9[rbp] - 0051d 03 c8 add ecx, eax - 0051f 8b c1 mov eax, ecx - 00521 8b 8d 24 02 00 - 00 mov ecx, DWORD PTR t3$8[rbp] - 00527 03 c8 add ecx, eax - 00529 8b c1 mov eax, ecx - 0052b 89 85 24 02 00 - 00 mov DWORD PTR t3$8[rbp], eax - 00531 8b 85 84 02 00 - 00 mov eax, DWORD PTR p3$11[rbp] - 00537 8b 8d 64 02 00 - 00 mov ecx, DWORD PTR p2$10[rbp] - 0053d 03 c8 add ecx, eax - 0053f 8b c1 mov eax, ecx - 00541 8b 8d 04 02 00 - 00 mov ecx, DWORD PTR t2$7[rbp] - 00547 03 c8 add ecx, eax - 00549 8b c1 mov eax, ecx - 0054b 89 85 04 02 00 - 00 mov DWORD PTR t2$7[rbp], eax - 00551 8b 85 a4 02 00 - 00 mov eax, DWORD PTR p4$12[rbp] - 00557 8b 8d 64 02 00 - 00 mov ecx, DWORD PTR p2$10[rbp] - 0055d 03 c8 add ecx, eax - 0055f 8b c1 mov eax, ecx - 00561 8b 8d e4 01 00 - 00 mov ecx, DWORD PTR t1$6[rbp] - 00567 03 c8 add ecx, eax - 00569 8b c1 mov eax, ecx - 0056b 89 85 e4 01 00 - 00 mov DWORD PTR t1$6[rbp], eax - 00571 8b 85 84 02 00 - 00 mov eax, DWORD PTR p3$11[rbp] - 00577 8b 8d 44 02 00 - 00 mov ecx, DWORD PTR p1$9[rbp] - 0057d 03 c8 add ecx, eax - 0057f 8b c1 mov eax, ecx - 00581 8b 8d c4 01 00 - 00 mov ecx, DWORD PTR t0$5[rbp] - 00587 03 c8 add ecx, eax - 00589 8b c1 mov eax, ecx - 0058b 89 85 c4 01 00 - 00 mov DWORD PTR t0$5[rbp], eax - -; 2219 : // constants scaled things up by 1<<12; let's bring them back -; 2220 : // down, but keep 2 extra bits of precision -; 2221 : x0 += 512; - - 00591 8b 85 e4 02 00 - 00 mov eax, DWORD PTR x0$14[rbp] - 00597 05 00 02 00 00 add eax, 512 ; 00000200H - 0059c 89 85 e4 02 00 - 00 mov DWORD PTR x0$14[rbp], eax - -; 2222 : x1 += 512; - - 005a2 8b 85 04 03 00 - 00 mov eax, DWORD PTR x1$15[rbp] - 005a8 05 00 02 00 00 add eax, 512 ; 00000200H - 005ad 89 85 04 03 00 - 00 mov DWORD PTR x1$15[rbp], eax - -; 2223 : x2 += 512; - - 005b3 8b 85 24 03 00 - 00 mov eax, DWORD PTR x2$16[rbp] - 005b9 05 00 02 00 00 add eax, 512 ; 00000200H - 005be 89 85 24 03 00 - 00 mov DWORD PTR x2$16[rbp], eax - -; 2224 : x3 += 512; - - 005c4 8b 85 44 03 00 - 00 mov eax, DWORD PTR x3$17[rbp] - 005ca 05 00 02 00 00 add eax, 512 ; 00000200H - 005cf 89 85 44 03 00 - 00 mov DWORD PTR x3$17[rbp], eax - -; 2225 : v[0] = (x0 + t3) >> 10; - - 005d5 8b 85 24 02 00 - 00 mov eax, DWORD PTR t3$8[rbp] - 005db 8b 8d e4 02 00 - 00 mov ecx, DWORD PTR x0$14[rbp] - 005e1 03 c8 add ecx, eax - 005e3 8b c1 mov eax, ecx - 005e5 c1 f8 0a sar eax, 10 - 005e8 b9 04 00 00 00 mov ecx, 4 - 005ed 48 6b c9 00 imul rcx, rcx, 0 - 005f1 48 8b 95 48 01 - 00 00 mov rdx, QWORD PTR v$[rbp] - 005f8 89 04 0a mov DWORD PTR [rdx+rcx], eax - -; 2226 : v[56] = (x0 - t3) >> 10; - - 005fb 8b 85 24 02 00 - 00 mov eax, DWORD PTR t3$8[rbp] - 00601 8b 8d e4 02 00 - 00 mov ecx, DWORD PTR x0$14[rbp] - 00607 2b c8 sub ecx, eax - 00609 8b c1 mov eax, ecx - 0060b c1 f8 0a sar eax, 10 - 0060e b9 04 00 00 00 mov ecx, 4 - 00613 48 6b c9 38 imul rcx, rcx, 56 ; 00000038H - 00617 48 8b 95 48 01 - 00 00 mov rdx, QWORD PTR v$[rbp] - 0061e 89 04 0a mov DWORD PTR [rdx+rcx], eax - -; 2227 : v[8] = (x1 + t2) >> 10; - - 00621 8b 85 04 02 00 - 00 mov eax, DWORD PTR t2$7[rbp] - 00627 8b 8d 04 03 00 - 00 mov ecx, DWORD PTR x1$15[rbp] - 0062d 03 c8 add ecx, eax - 0062f 8b c1 mov eax, ecx - 00631 c1 f8 0a sar eax, 10 - 00634 b9 04 00 00 00 mov ecx, 4 - 00639 48 6b c9 08 imul rcx, rcx, 8 - 0063d 48 8b 95 48 01 - 00 00 mov rdx, QWORD PTR v$[rbp] - 00644 89 04 0a mov DWORD PTR [rdx+rcx], eax - -; 2228 : v[48] = (x1 - t2) >> 10; - - 00647 8b 85 04 02 00 - 00 mov eax, DWORD PTR t2$7[rbp] - 0064d 8b 8d 04 03 00 - 00 mov ecx, DWORD PTR x1$15[rbp] - 00653 2b c8 sub ecx, eax - 00655 8b c1 mov eax, ecx - 00657 c1 f8 0a sar eax, 10 - 0065a b9 04 00 00 00 mov ecx, 4 - 0065f 48 6b c9 30 imul rcx, rcx, 48 ; 00000030H - 00663 48 8b 95 48 01 - 00 00 mov rdx, QWORD PTR v$[rbp] - 0066a 89 04 0a mov DWORD PTR [rdx+rcx], eax - -; 2229 : v[16] = (x2 + t1) >> 10; - - 0066d 8b 85 e4 01 00 - 00 mov eax, DWORD PTR t1$6[rbp] - 00673 8b 8d 24 03 00 - 00 mov ecx, DWORD PTR x2$16[rbp] - 00679 03 c8 add ecx, eax - 0067b 8b c1 mov eax, ecx - 0067d c1 f8 0a sar eax, 10 - 00680 b9 04 00 00 00 mov ecx, 4 - 00685 48 6b c9 10 imul rcx, rcx, 16 - 00689 48 8b 95 48 01 - 00 00 mov rdx, QWORD PTR v$[rbp] - 00690 89 04 0a mov DWORD PTR [rdx+rcx], eax - -; 2230 : v[40] = (x2 - t1) >> 10; - - 00693 8b 85 e4 01 00 - 00 mov eax, DWORD PTR t1$6[rbp] - 00699 8b 8d 24 03 00 - 00 mov ecx, DWORD PTR x2$16[rbp] - 0069f 2b c8 sub ecx, eax - 006a1 8b c1 mov eax, ecx - 006a3 c1 f8 0a sar eax, 10 - 006a6 b9 04 00 00 00 mov ecx, 4 - 006ab 48 6b c9 28 imul rcx, rcx, 40 ; 00000028H - 006af 48 8b 95 48 01 - 00 00 mov rdx, QWORD PTR v$[rbp] - 006b6 89 04 0a mov DWORD PTR [rdx+rcx], eax - -; 2231 : v[24] = (x3 + t0) >> 10; - - 006b9 8b 85 c4 01 00 - 00 mov eax, DWORD PTR t0$5[rbp] - 006bf 8b 8d 44 03 00 - 00 mov ecx, DWORD PTR x3$17[rbp] - 006c5 03 c8 add ecx, eax - 006c7 8b c1 mov eax, ecx - 006c9 c1 f8 0a sar eax, 10 - 006cc b9 04 00 00 00 mov ecx, 4 - 006d1 48 6b c9 18 imul rcx, rcx, 24 - 006d5 48 8b 95 48 01 - 00 00 mov rdx, QWORD PTR v$[rbp] - 006dc 89 04 0a mov DWORD PTR [rdx+rcx], eax - -; 2232 : v[32] = (x3 - t0) >> 10; - - 006df 8b 85 c4 01 00 - 00 mov eax, DWORD PTR t0$5[rbp] - 006e5 8b 8d 44 03 00 - 00 mov ecx, DWORD PTR x3$17[rbp] - 006eb 2b c8 sub ecx, eax - 006ed 8b c1 mov eax, ecx - 006ef c1 f8 0a sar eax, 10 - 006f2 b9 04 00 00 00 mov ecx, 4 - 006f7 48 6b c9 20 imul rcx, rcx, 32 ; 00000020H - 006fb 48 8b 95 48 01 - 00 00 mov rdx, QWORD PTR v$[rbp] - 00702 89 04 0a mov DWORD PTR [rdx+rcx], eax -$LN9@stbi__idct: - -; 2233 : } -; 2234 : } - - 00705 e9 6b f9 ff ff jmp $LN2@stbi__idct -$LN3@stbi__idct: - -; 2235 : -; 2236 : for (i = 0, v = val, o = out; i < 8; ++i, v += 8, o += out_stride) { - - 0070a c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 00711 48 8d 45 30 lea rax, QWORD PTR val$[rbp] - 00715 48 89 85 48 01 - 00 00 mov QWORD PTR v$[rbp], rax - 0071c 48 8b 85 60 07 - 00 00 mov rax, QWORD PTR out$[rbp] - 00723 48 89 85 68 01 - 00 00 mov QWORD PTR o$[rbp], rax - 0072a eb 35 jmp SHORT $LN7@stbi__idct -$LN5@stbi__idct: - 0072c 8b 45 04 mov eax, DWORD PTR i$[rbp] - 0072f ff c0 inc eax - 00731 89 45 04 mov DWORD PTR i$[rbp], eax - 00734 48 8b 85 48 01 - 00 00 mov rax, QWORD PTR v$[rbp] - 0073b 48 83 c0 20 add rax, 32 ; 00000020H - 0073f 48 89 85 48 01 - 00 00 mov QWORD PTR v$[rbp], rax - 00746 48 63 85 68 07 - 00 00 movsxd rax, DWORD PTR out_stride$[rbp] - 0074d 48 8b 8d 68 01 - 00 00 mov rcx, QWORD PTR o$[rbp] - 00754 48 03 c8 add rcx, rax - 00757 48 8b c1 mov rax, rcx - 0075a 48 89 85 68 01 - 00 00 mov QWORD PTR o$[rbp], rax -$LN7@stbi__idct: - 00761 83 7d 04 08 cmp DWORD PTR i$[rbp], 8 - 00765 0f 8d e1 04 00 - 00 jge $LN6@stbi__idct - -; 2237 : // no fast case since the first 1D IDCT spread components out -; 2238 : STBI__IDCT_1D(v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7]) - - 0076b b8 04 00 00 00 mov eax, 4 - 00770 48 6b c0 02 imul rax, rax, 2 - 00774 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR v$[rbp] - 0077b 8b 04 01 mov eax, DWORD PTR [rcx+rax] - 0077e 89 85 04 04 00 - 00 mov DWORD PTR p2$23[rbp], eax - 00784 b8 04 00 00 00 mov eax, 4 - 00789 48 6b c0 06 imul rax, rax, 6 - 0078d 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR v$[rbp] - 00794 8b 04 01 mov eax, DWORD PTR [rcx+rax] - 00797 89 85 24 04 00 - 00 mov DWORD PTR p3$24[rbp], eax - 0079d 8b 85 24 04 00 - 00 mov eax, DWORD PTR p3$24[rbp] - 007a3 8b 8d 04 04 00 - 00 mov ecx, DWORD PTR p2$23[rbp] - 007a9 03 c8 add ecx, eax - 007ab 8b c1 mov eax, ecx - 007ad 69 c0 a9 08 00 - 00 imul eax, eax, 2217 ; 000008a9H - 007b3 89 85 e4 03 00 - 00 mov DWORD PTR p1$22[rbp], eax - 007b9 69 85 24 04 00 - 00 71 e2 ff ff imul eax, DWORD PTR p3$24[rbp], -7567 ; ffffffffffffe271H - 007c3 8b 8d e4 03 00 - 00 mov ecx, DWORD PTR p1$22[rbp] - 007c9 03 c8 add ecx, eax - 007cb 8b c1 mov eax, ecx - 007cd 89 85 a4 03 00 - 00 mov DWORD PTR t2$20[rbp], eax - 007d3 69 85 04 04 00 - 00 3f 0c 00 00 imul eax, DWORD PTR p2$23[rbp], 3135 ; 00000c3fH - 007dd 8b 8d e4 03 00 - 00 mov ecx, DWORD PTR p1$22[rbp] - 007e3 03 c8 add ecx, eax - 007e5 8b c1 mov eax, ecx - 007e7 89 85 c4 03 00 - 00 mov DWORD PTR t3$21[rbp], eax - 007ed b8 04 00 00 00 mov eax, 4 - 007f2 48 6b c0 00 imul rax, rax, 0 - 007f6 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR v$[rbp] - 007fd 8b 04 01 mov eax, DWORD PTR [rcx+rax] - 00800 89 85 04 04 00 - 00 mov DWORD PTR p2$23[rbp], eax - 00806 b8 04 00 00 00 mov eax, 4 - 0080b 48 6b c0 04 imul rax, rax, 4 - 0080f 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR v$[rbp] - 00816 8b 04 01 mov eax, DWORD PTR [rcx+rax] - 00819 89 85 24 04 00 - 00 mov DWORD PTR p3$24[rbp], eax - 0081f 8b 85 24 04 00 - 00 mov eax, DWORD PTR p3$24[rbp] - 00825 8b 8d 04 04 00 - 00 mov ecx, DWORD PTR p2$23[rbp] - 0082b 03 c8 add ecx, eax - 0082d 8b c1 mov eax, ecx - 0082f 69 c0 00 10 00 - 00 imul eax, eax, 4096 ; 00001000H - 00835 89 85 64 03 00 - 00 mov DWORD PTR t0$18[rbp], eax - 0083b 8b 85 24 04 00 - 00 mov eax, DWORD PTR p3$24[rbp] - 00841 8b 8d 04 04 00 - 00 mov ecx, DWORD PTR p2$23[rbp] - 00847 2b c8 sub ecx, eax - 00849 8b c1 mov eax, ecx - 0084b 69 c0 00 10 00 - 00 imul eax, eax, 4096 ; 00001000H - 00851 89 85 84 03 00 - 00 mov DWORD PTR t1$19[rbp], eax - 00857 8b 85 c4 03 00 - 00 mov eax, DWORD PTR t3$21[rbp] - 0085d 8b 8d 64 03 00 - 00 mov ecx, DWORD PTR t0$18[rbp] - 00863 03 c8 add ecx, eax - 00865 8b c1 mov eax, ecx - 00867 89 85 84 04 00 - 00 mov DWORD PTR x0$27[rbp], eax - 0086d 8b 85 c4 03 00 - 00 mov eax, DWORD PTR t3$21[rbp] - 00873 8b 8d 64 03 00 - 00 mov ecx, DWORD PTR t0$18[rbp] - 00879 2b c8 sub ecx, eax - 0087b 8b c1 mov eax, ecx - 0087d 89 85 e4 04 00 - 00 mov DWORD PTR x3$30[rbp], eax - 00883 8b 85 a4 03 00 - 00 mov eax, DWORD PTR t2$20[rbp] - 00889 8b 8d 84 03 00 - 00 mov ecx, DWORD PTR t1$19[rbp] - 0088f 03 c8 add ecx, eax - 00891 8b c1 mov eax, ecx - 00893 89 85 a4 04 00 - 00 mov DWORD PTR x1$28[rbp], eax - 00899 8b 85 a4 03 00 - 00 mov eax, DWORD PTR t2$20[rbp] - 0089f 8b 8d 84 03 00 - 00 mov ecx, DWORD PTR t1$19[rbp] - 008a5 2b c8 sub ecx, eax - 008a7 8b c1 mov eax, ecx - 008a9 89 85 c4 04 00 - 00 mov DWORD PTR x2$29[rbp], eax - 008af b8 04 00 00 00 mov eax, 4 - 008b4 48 6b c0 07 imul rax, rax, 7 - 008b8 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR v$[rbp] - 008bf 8b 04 01 mov eax, DWORD PTR [rcx+rax] - 008c2 89 85 64 03 00 - 00 mov DWORD PTR t0$18[rbp], eax - 008c8 b8 04 00 00 00 mov eax, 4 - 008cd 48 6b c0 05 imul rax, rax, 5 - 008d1 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR v$[rbp] - 008d8 8b 04 01 mov eax, DWORD PTR [rcx+rax] - 008db 89 85 84 03 00 - 00 mov DWORD PTR t1$19[rbp], eax - 008e1 b8 04 00 00 00 mov eax, 4 - 008e6 48 6b c0 03 imul rax, rax, 3 - 008ea 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR v$[rbp] - 008f1 8b 04 01 mov eax, DWORD PTR [rcx+rax] - 008f4 89 85 a4 03 00 - 00 mov DWORD PTR t2$20[rbp], eax - 008fa b8 04 00 00 00 mov eax, 4 - 008ff 48 6b c0 01 imul rax, rax, 1 - 00903 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR v$[rbp] - 0090a 8b 04 01 mov eax, DWORD PTR [rcx+rax] - 0090d 89 85 c4 03 00 - 00 mov DWORD PTR t3$21[rbp], eax - 00913 8b 85 a4 03 00 - 00 mov eax, DWORD PTR t2$20[rbp] - 00919 8b 8d 64 03 00 - 00 mov ecx, DWORD PTR t0$18[rbp] - 0091f 03 c8 add ecx, eax - 00921 8b c1 mov eax, ecx - 00923 89 85 24 04 00 - 00 mov DWORD PTR p3$24[rbp], eax - 00929 8b 85 c4 03 00 - 00 mov eax, DWORD PTR t3$21[rbp] - 0092f 8b 8d 84 03 00 - 00 mov ecx, DWORD PTR t1$19[rbp] - 00935 03 c8 add ecx, eax - 00937 8b c1 mov eax, ecx - 00939 89 85 44 04 00 - 00 mov DWORD PTR p4$25[rbp], eax - 0093f 8b 85 c4 03 00 - 00 mov eax, DWORD PTR t3$21[rbp] - 00945 8b 8d 64 03 00 - 00 mov ecx, DWORD PTR t0$18[rbp] - 0094b 03 c8 add ecx, eax - 0094d 8b c1 mov eax, ecx - 0094f 89 85 e4 03 00 - 00 mov DWORD PTR p1$22[rbp], eax - 00955 8b 85 a4 03 00 - 00 mov eax, DWORD PTR t2$20[rbp] - 0095b 8b 8d 84 03 00 - 00 mov ecx, DWORD PTR t1$19[rbp] - 00961 03 c8 add ecx, eax - 00963 8b c1 mov eax, ecx - 00965 89 85 04 04 00 - 00 mov DWORD PTR p2$23[rbp], eax - 0096b 8b 85 44 04 00 - 00 mov eax, DWORD PTR p4$25[rbp] - 00971 8b 8d 24 04 00 - 00 mov ecx, DWORD PTR p3$24[rbp] - 00977 03 c8 add ecx, eax - 00979 8b c1 mov eax, ecx - 0097b 69 c0 d0 12 00 - 00 imul eax, eax, 4816 ; 000012d0H - 00981 89 85 64 04 00 - 00 mov DWORD PTR p5$26[rbp], eax - 00987 69 85 64 03 00 - 00 c7 04 00 00 imul eax, DWORD PTR t0$18[rbp], 1223 ; 000004c7H - 00991 89 85 64 03 00 - 00 mov DWORD PTR t0$18[rbp], eax - 00997 69 85 84 03 00 - 00 da 20 00 00 imul eax, DWORD PTR t1$19[rbp], 8410 ; 000020daH - 009a1 89 85 84 03 00 - 00 mov DWORD PTR t1$19[rbp], eax - 009a7 69 85 a4 03 00 - 00 2a 31 00 00 imul eax, DWORD PTR t2$20[rbp], 12586 ; 0000312aH - 009b1 89 85 a4 03 00 - 00 mov DWORD PTR t2$20[rbp], eax - 009b7 69 85 c4 03 00 - 00 05 18 00 00 imul eax, DWORD PTR t3$21[rbp], 6149 ; 00001805H - 009c1 89 85 c4 03 00 - 00 mov DWORD PTR t3$21[rbp], eax - 009c7 69 85 e4 03 00 - 00 9b f1 ff ff imul eax, DWORD PTR p1$22[rbp], -3685 ; fffffffffffff19bH - 009d1 8b 8d 64 04 00 - 00 mov ecx, DWORD PTR p5$26[rbp] - 009d7 03 c8 add ecx, eax - 009d9 8b c1 mov eax, ecx - 009db 89 85 e4 03 00 - 00 mov DWORD PTR p1$22[rbp], eax - 009e1 69 85 04 04 00 - 00 ff d6 ff ff imul eax, DWORD PTR p2$23[rbp], -10497 ; ffffffffffffd6ffH - 009eb 8b 8d 64 04 00 - 00 mov ecx, DWORD PTR p5$26[rbp] - 009f1 03 c8 add ecx, eax - 009f3 8b c1 mov eax, ecx - 009f5 89 85 04 04 00 - 00 mov DWORD PTR p2$23[rbp], eax - 009fb 69 85 24 04 00 - 00 9e e0 ff ff imul eax, DWORD PTR p3$24[rbp], -8034 ; ffffffffffffe09eH - 00a05 89 85 24 04 00 - 00 mov DWORD PTR p3$24[rbp], eax - 00a0b 69 85 44 04 00 - 00 c3 f9 ff ff imul eax, DWORD PTR p4$25[rbp], -1597 ; fffffffffffff9c3H - 00a15 89 85 44 04 00 - 00 mov DWORD PTR p4$25[rbp], eax - 00a1b 8b 85 44 04 00 - 00 mov eax, DWORD PTR p4$25[rbp] - 00a21 8b 8d e4 03 00 - 00 mov ecx, DWORD PTR p1$22[rbp] - 00a27 03 c8 add ecx, eax - 00a29 8b c1 mov eax, ecx - 00a2b 8b 8d c4 03 00 - 00 mov ecx, DWORD PTR t3$21[rbp] - 00a31 03 c8 add ecx, eax - 00a33 8b c1 mov eax, ecx - 00a35 89 85 c4 03 00 - 00 mov DWORD PTR t3$21[rbp], eax - 00a3b 8b 85 24 04 00 - 00 mov eax, DWORD PTR p3$24[rbp] - 00a41 8b 8d 04 04 00 - 00 mov ecx, DWORD PTR p2$23[rbp] - 00a47 03 c8 add ecx, eax - 00a49 8b c1 mov eax, ecx - 00a4b 8b 8d a4 03 00 - 00 mov ecx, DWORD PTR t2$20[rbp] - 00a51 03 c8 add ecx, eax - 00a53 8b c1 mov eax, ecx - 00a55 89 85 a4 03 00 - 00 mov DWORD PTR t2$20[rbp], eax - 00a5b 8b 85 44 04 00 - 00 mov eax, DWORD PTR p4$25[rbp] - 00a61 8b 8d 04 04 00 - 00 mov ecx, DWORD PTR p2$23[rbp] - 00a67 03 c8 add ecx, eax - 00a69 8b c1 mov eax, ecx - 00a6b 8b 8d 84 03 00 - 00 mov ecx, DWORD PTR t1$19[rbp] - 00a71 03 c8 add ecx, eax - 00a73 8b c1 mov eax, ecx - 00a75 89 85 84 03 00 - 00 mov DWORD PTR t1$19[rbp], eax - 00a7b 8b 85 24 04 00 - 00 mov eax, DWORD PTR p3$24[rbp] - 00a81 8b 8d e4 03 00 - 00 mov ecx, DWORD PTR p1$22[rbp] - 00a87 03 c8 add ecx, eax - 00a89 8b c1 mov eax, ecx - 00a8b 8b 8d 64 03 00 - 00 mov ecx, DWORD PTR t0$18[rbp] - 00a91 03 c8 add ecx, eax - 00a93 8b c1 mov eax, ecx - 00a95 89 85 64 03 00 - 00 mov DWORD PTR t0$18[rbp], eax - -; 2239 : // constants scaled things up by 1<<12, plus we had 1<<2 from first -; 2240 : // loop, plus horizontal and vertical each scale by sqrt(8) so together -; 2241 : // we've got an extra 1<<3, so 1<<17 total we need to remove. -; 2242 : // so we want to round that, which means adding 0.5 * 1<<17, -; 2243 : // aka 65536. Also, we'll end up with -128 to 127 that we want -; 2244 : // to encode as 0..255 by adding 128, so we'll add that before the shift -; 2245 : x0 += 65536 + (128 << 17); - - 00a9b 8b 85 84 04 00 - 00 mov eax, DWORD PTR x0$27[rbp] - 00aa1 05 00 00 01 01 add eax, 16842752 ; 01010000H - 00aa6 89 85 84 04 00 - 00 mov DWORD PTR x0$27[rbp], eax - -; 2246 : x1 += 65536 + (128 << 17); - - 00aac 8b 85 a4 04 00 - 00 mov eax, DWORD PTR x1$28[rbp] - 00ab2 05 00 00 01 01 add eax, 16842752 ; 01010000H - 00ab7 89 85 a4 04 00 - 00 mov DWORD PTR x1$28[rbp], eax - -; 2247 : x2 += 65536 + (128 << 17); - - 00abd 8b 85 c4 04 00 - 00 mov eax, DWORD PTR x2$29[rbp] - 00ac3 05 00 00 01 01 add eax, 16842752 ; 01010000H - 00ac8 89 85 c4 04 00 - 00 mov DWORD PTR x2$29[rbp], eax - -; 2248 : x3 += 65536 + (128 << 17); - - 00ace 8b 85 e4 04 00 - 00 mov eax, DWORD PTR x3$30[rbp] - 00ad4 05 00 00 01 01 add eax, 16842752 ; 01010000H - 00ad9 89 85 e4 04 00 - 00 mov DWORD PTR x3$30[rbp], eax - -; 2249 : // tried computing the shifts into temps, or'ing the temps to see -; 2250 : // if any were out of range, but that was slower -; 2251 : o[0] = stbi__clamp((x0 + t3) >> 17); - - 00adf 8b 85 c4 03 00 - 00 mov eax, DWORD PTR t3$21[rbp] - 00ae5 8b 8d 84 04 00 - 00 mov ecx, DWORD PTR x0$27[rbp] - 00aeb 03 c8 add ecx, eax - 00aed 8b c1 mov eax, ecx - 00aef c1 f8 11 sar eax, 17 - 00af2 8b c8 mov ecx, eax - 00af4 e8 00 00 00 00 call stbi__clamp - 00af9 b9 01 00 00 00 mov ecx, 1 - 00afe 48 6b c9 00 imul rcx, rcx, 0 - 00b02 48 8b 95 68 01 - 00 00 mov rdx, QWORD PTR o$[rbp] - 00b09 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 2252 : o[7] = stbi__clamp((x0 - t3) >> 17); - - 00b0c 8b 85 c4 03 00 - 00 mov eax, DWORD PTR t3$21[rbp] - 00b12 8b 8d 84 04 00 - 00 mov ecx, DWORD PTR x0$27[rbp] - 00b18 2b c8 sub ecx, eax - 00b1a 8b c1 mov eax, ecx - 00b1c c1 f8 11 sar eax, 17 - 00b1f 8b c8 mov ecx, eax - 00b21 e8 00 00 00 00 call stbi__clamp - 00b26 b9 01 00 00 00 mov ecx, 1 - 00b2b 48 6b c9 07 imul rcx, rcx, 7 - 00b2f 48 8b 95 68 01 - 00 00 mov rdx, QWORD PTR o$[rbp] - 00b36 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 2253 : o[1] = stbi__clamp((x1 + t2) >> 17); - - 00b39 8b 85 a4 03 00 - 00 mov eax, DWORD PTR t2$20[rbp] - 00b3f 8b 8d a4 04 00 - 00 mov ecx, DWORD PTR x1$28[rbp] - 00b45 03 c8 add ecx, eax - 00b47 8b c1 mov eax, ecx - 00b49 c1 f8 11 sar eax, 17 - 00b4c 8b c8 mov ecx, eax - 00b4e e8 00 00 00 00 call stbi__clamp - 00b53 b9 01 00 00 00 mov ecx, 1 - 00b58 48 6b c9 01 imul rcx, rcx, 1 - 00b5c 48 8b 95 68 01 - 00 00 mov rdx, QWORD PTR o$[rbp] - 00b63 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 2254 : o[6] = stbi__clamp((x1 - t2) >> 17); - - 00b66 8b 85 a4 03 00 - 00 mov eax, DWORD PTR t2$20[rbp] - 00b6c 8b 8d a4 04 00 - 00 mov ecx, DWORD PTR x1$28[rbp] - 00b72 2b c8 sub ecx, eax - 00b74 8b c1 mov eax, ecx - 00b76 c1 f8 11 sar eax, 17 - 00b79 8b c8 mov ecx, eax - 00b7b e8 00 00 00 00 call stbi__clamp - 00b80 b9 01 00 00 00 mov ecx, 1 - 00b85 48 6b c9 06 imul rcx, rcx, 6 - 00b89 48 8b 95 68 01 - 00 00 mov rdx, QWORD PTR o$[rbp] - 00b90 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 2255 : o[2] = stbi__clamp((x2 + t1) >> 17); - - 00b93 8b 85 84 03 00 - 00 mov eax, DWORD PTR t1$19[rbp] - 00b99 8b 8d c4 04 00 - 00 mov ecx, DWORD PTR x2$29[rbp] - 00b9f 03 c8 add ecx, eax - 00ba1 8b c1 mov eax, ecx - 00ba3 c1 f8 11 sar eax, 17 - 00ba6 8b c8 mov ecx, eax - 00ba8 e8 00 00 00 00 call stbi__clamp - 00bad b9 01 00 00 00 mov ecx, 1 - 00bb2 48 6b c9 02 imul rcx, rcx, 2 - 00bb6 48 8b 95 68 01 - 00 00 mov rdx, QWORD PTR o$[rbp] - 00bbd 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 2256 : o[5] = stbi__clamp((x2 - t1) >> 17); - - 00bc0 8b 85 84 03 00 - 00 mov eax, DWORD PTR t1$19[rbp] - 00bc6 8b 8d c4 04 00 - 00 mov ecx, DWORD PTR x2$29[rbp] - 00bcc 2b c8 sub ecx, eax - 00bce 8b c1 mov eax, ecx - 00bd0 c1 f8 11 sar eax, 17 - 00bd3 8b c8 mov ecx, eax - 00bd5 e8 00 00 00 00 call stbi__clamp - 00bda b9 01 00 00 00 mov ecx, 1 - 00bdf 48 6b c9 05 imul rcx, rcx, 5 - 00be3 48 8b 95 68 01 - 00 00 mov rdx, QWORD PTR o$[rbp] - 00bea 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 2257 : o[3] = stbi__clamp((x3 + t0) >> 17); - - 00bed 8b 85 64 03 00 - 00 mov eax, DWORD PTR t0$18[rbp] - 00bf3 8b 8d e4 04 00 - 00 mov ecx, DWORD PTR x3$30[rbp] - 00bf9 03 c8 add ecx, eax - 00bfb 8b c1 mov eax, ecx - 00bfd c1 f8 11 sar eax, 17 - 00c00 8b c8 mov ecx, eax - 00c02 e8 00 00 00 00 call stbi__clamp - 00c07 b9 01 00 00 00 mov ecx, 1 - 00c0c 48 6b c9 03 imul rcx, rcx, 3 - 00c10 48 8b 95 68 01 - 00 00 mov rdx, QWORD PTR o$[rbp] - 00c17 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 2258 : o[4] = stbi__clamp((x3 - t0) >> 17); - - 00c1a 8b 85 64 03 00 - 00 mov eax, DWORD PTR t0$18[rbp] - 00c20 8b 8d e4 04 00 - 00 mov ecx, DWORD PTR x3$30[rbp] - 00c26 2b c8 sub ecx, eax - 00c28 8b c1 mov eax, ecx - 00c2a c1 f8 11 sar eax, 17 - 00c2d 8b c8 mov ecx, eax - 00c2f e8 00 00 00 00 call stbi__clamp - 00c34 b9 01 00 00 00 mov ecx, 1 - 00c39 48 6b c9 04 imul rcx, rcx, 4 - 00c3d 48 8b 95 68 01 - 00 00 mov rdx, QWORD PTR o$[rbp] - 00c44 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 2259 : } - - 00c47 e9 e0 fa ff ff jmp $LN5@stbi__idct -$LN6@stbi__idct: - -; 2260 : } - - 00c4c 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 00c50 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__idct_block$rtcFrameData - 00c57 e8 00 00 00 00 call _RTC_CheckStackVars - 00c5c 48 8b 8d 38 07 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 00c63 48 33 cd xor rcx, rbp - 00c66 e8 00 00 00 00 call __security_check_cookie - 00c6b 48 8d a5 48 07 - 00 00 lea rsp, QWORD PTR [rbp+1864] - 00c72 5f pop rdi - 00c73 5d pop rbp - 00c74 c3 ret 0 -stbi__idct_block ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__clamp -_TEXT SEGMENT -x$ = 224 -stbi__clamp PROC ; COMDAT - -; 2148 : { - - 00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 00004 55 push rbp - 00005 57 push rdi - 00006 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00012 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00019 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001e 90 npad 1 - -; 2149 : // trick to use a single test to catch both cases -; 2150 : if ((unsigned int)x > 255) { - - 0001f 81 bd e0 00 00 - 00 ff 00 00 00 cmp DWORD PTR x$[rbp], 255 ; 000000ffH - 00029 76 1d jbe SHORT $LN2@stbi__clam - -; 2151 : if (x < 0) - - 0002b 83 bd e0 00 00 - 00 00 cmp DWORD PTR x$[rbp], 0 - 00032 7d 04 jge SHORT $LN3@stbi__clam - -; 2152 : return 0; - - 00034 32 c0 xor al, al - 00036 eb 17 jmp SHORT $LN1@stbi__clam -$LN3@stbi__clam: - -; 2153 : if (x > 255) - - 00038 81 bd e0 00 00 - 00 ff 00 00 00 cmp DWORD PTR x$[rbp], 255 ; 000000ffH - 00042 7e 04 jle SHORT $LN4@stbi__clam - -; 2154 : return 255; - - 00044 b0 ff mov al, 255 ; 000000ffH - 00046 eb 07 jmp SHORT $LN1@stbi__clam -$LN4@stbi__clam: -$LN2@stbi__clam: - -; 2155 : } -; 2156 : return (stbi_uc)x; - - 00048 0f b6 85 e0 00 - 00 00 movzx eax, BYTE PTR x$[rbp] -$LN1@stbi__clam: - -; 2157 : } - - 0004f 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00056 5f pop rdi - 00057 5d pop rbp - 00058 c3 ret 0 -stbi__clamp ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__jpeg_decode_block_prog_ac -_TEXT SEGMENT -k$ = 4 -shift$1 = 36 -zig$2 = 68 -c$3 = 100 -r$4 = 132 -s$5 = 164 -rs$6 = 196 -bit$7 = 228 -p$8 = 264 -r$9 = 292 -s$10 = 324 -rs$11 = 356 -p$12 = 392 -tv371 = 596 -tv393 = 596 -tv420 = 596 -tv354 = 600 -j$ = 640 -data$ = 648 -hac$ = 656 -fac$ = 664 -stbi__jpeg_decode_block_prog_ac PROC ; COMDAT - -; 2015 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 88 02 - 00 00 sub rsp, 648 ; 00000288H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 2016 : int k; -; 2017 : if (j->spec_start == 0) - - 0002f 48 8b 85 80 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 00036 83 b8 34 48 00 - 00 00 cmp DWORD PTR [rax+18484], 0 - 0003d 75 11 jne SHORT $LN13@stbi__jpeg - -; 2018 : return stbi__err("can't merge dc and ac", "Corrupt JPEG"); - - 0003f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BG@PJBJDAGM@can?8t?5merge?5dc?5and?5ac@ - 00046 e8 00 00 00 00 call stbi__err - 0004b e9 75 06 00 00 jmp $LN1@stbi__jpeg -$LN13@stbi__jpeg: - -; 2019 : -; 2020 : if (j->succ_high == 0) { - - 00050 48 8b 85 80 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 00057 83 b8 3c 48 00 - 00 00 cmp DWORD PTR [rax+18492], 0 - 0005e 0f 85 f4 02 00 - 00 jne $LN14@stbi__jpeg - -; 2021 : int shift = j->succ_low; - - 00064 48 8b 85 80 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 0006b 8b 80 40 48 00 - 00 mov eax, DWORD PTR [rax+18496] - 00071 89 45 24 mov DWORD PTR shift$1[rbp], eax - -; 2022 : -; 2023 : if (j->eob_run) { - - 00074 48 8b 85 80 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 0007b 83 b8 44 48 00 - 00 00 cmp DWORD PTR [rax+18500], 0 - 00082 74 26 je SHORT $LN16@stbi__jpeg - -; 2024 : --j->eob_run; - - 00084 48 8b 85 80 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 0008b 8b 80 44 48 00 - 00 mov eax, DWORD PTR [rax+18500] - 00091 ff c8 dec eax - 00093 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 0009a 89 81 44 48 00 - 00 mov DWORD PTR [rcx+18500], eax - -; 2025 : return 1; - - 000a0 b8 01 00 00 00 mov eax, 1 - 000a5 e9 1b 06 00 00 jmp $LN1@stbi__jpeg -$LN16@stbi__jpeg: - -; 2026 : } -; 2027 : -; 2028 : k = j->spec_start; - - 000aa 48 8b 85 80 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 000b1 8b 80 34 48 00 - 00 mov eax, DWORD PTR [rax+18484] - 000b7 89 45 04 mov DWORD PTR k$[rbp], eax -$LN4@stbi__jpeg: - -; 2029 : do { -; 2030 : unsigned int zig; -; 2031 : int c, r, s; -; 2032 : if (j->code_bits < 16) - - 000ba 48 8b 85 80 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 000c1 83 b8 24 48 00 - 00 10 cmp DWORD PTR [rax+18468], 16 - 000c8 7d 0d jge SHORT $LN17@stbi__jpeg - -; 2033 : stbi__grow_buffer_unsafe(j); - - 000ca 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 000d1 e8 00 00 00 00 call stbi__grow_buffer_unsafe - 000d6 90 npad 1 -$LN17@stbi__jpeg: - -; 2034 : c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS) - 1); - - 000d7 48 8b 85 80 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 000de 8b 80 20 48 00 - 00 mov eax, DWORD PTR [rax+18464] - 000e4 c1 e8 17 shr eax, 23 - 000e7 25 ff 01 00 00 and eax, 511 ; 000001ffH - 000ec 89 45 64 mov DWORD PTR c$3[rbp], eax - -; 2035 : r = fac[c]; - - 000ef 48 63 45 64 movsxd rax, DWORD PTR c$3[rbp] - 000f3 48 8b 8d 98 02 - 00 00 mov rcx, QWORD PTR fac$[rbp] - 000fa 0f bf 04 41 movsx eax, WORD PTR [rcx+rax*2] - 000fe 89 85 84 00 00 - 00 mov DWORD PTR r$4[rbp], eax - -; 2036 : if (r) { // fast-AC path - - 00104 83 bd 84 00 00 - 00 00 cmp DWORD PTR r$4[rbp], 0 - 0010b 0f 84 e5 00 00 - 00 je $LN18@stbi__jpeg - -; 2037 : k += (r >> 4) & 15; // run - - 00111 8b 85 84 00 00 - 00 mov eax, DWORD PTR r$4[rbp] - 00117 c1 f8 04 sar eax, 4 - 0011a 83 e0 0f and eax, 15 - 0011d 8b 4d 04 mov ecx, DWORD PTR k$[rbp] - 00120 03 c8 add ecx, eax - 00122 8b c1 mov eax, ecx - 00124 89 45 04 mov DWORD PTR k$[rbp], eax - -; 2038 : s = r & 15; // combined length - - 00127 8b 85 84 00 00 - 00 mov eax, DWORD PTR r$4[rbp] - 0012d 83 e0 0f and eax, 15 - 00130 89 85 a4 00 00 - 00 mov DWORD PTR s$5[rbp], eax - -; 2039 : if (s > j->code_bits) - - 00136 48 8b 85 80 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 0013d 8b 80 24 48 00 - 00 mov eax, DWORD PTR [rax+18468] - 00143 39 85 a4 00 00 - 00 cmp DWORD PTR s$5[rbp], eax - 00149 7e 11 jle SHORT $LN20@stbi__jpeg - -; 2040 : return stbi__err( - - 0014b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BB@IIMLINA@bad?5huffman?5code@ - 00152 e8 00 00 00 00 call stbi__err - 00157 e9 69 05 00 00 jmp $LN1@stbi__jpeg -$LN20@stbi__jpeg: - -; 2041 : "bad huffman code", -; 2042 : "Combined length longer than code bits available"); -; 2043 : j->code_buffer <<= s; - - 0015c 8b 85 a4 00 00 - 00 mov eax, DWORD PTR s$5[rbp] - 00162 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00169 48 89 8d 58 02 - 00 00 mov QWORD PTR tv354[rbp], rcx - 00170 0f b6 c8 movzx ecx, al - 00173 48 8b 85 58 02 - 00 00 mov rax, QWORD PTR tv354[rbp] - 0017a 8b 80 20 48 00 - 00 mov eax, DWORD PTR [rax+18464] - 00180 d3 e0 shl eax, cl - 00182 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00189 89 81 20 48 00 - 00 mov DWORD PTR [rcx+18464], eax - -; 2044 : j->code_bits -= s; - - 0018f 48 8b 85 80 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 00196 8b 8d a4 00 00 - 00 mov ecx, DWORD PTR s$5[rbp] - 0019c 8b 80 24 48 00 - 00 mov eax, DWORD PTR [rax+18468] - 001a2 2b c1 sub eax, ecx - 001a4 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 001ab 89 81 24 48 00 - 00 mov DWORD PTR [rcx+18468], eax - -; 2045 : zig = stbi__jpeg_dezigzag[k++]; - - 001b1 48 63 45 04 movsxd rax, DWORD PTR k$[rbp] - 001b5 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__jpeg_dezigzag - 001bc 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 001c0 89 45 44 mov DWORD PTR zig$2[rbp], eax - 001c3 8b 45 04 mov eax, DWORD PTR k$[rbp] - 001c6 ff c0 inc eax - 001c8 89 45 04 mov DWORD PTR k$[rbp], eax - -; 2046 : data[zig] = (short)((r >> 8) * (1 << shift)); - - 001cb 8b 85 84 00 00 - 00 mov eax, DWORD PTR r$4[rbp] - 001d1 c1 f8 08 sar eax, 8 - 001d4 8b 4d 24 mov ecx, DWORD PTR shift$1[rbp] - 001d7 ba 01 00 00 00 mov edx, 1 - 001dc d3 e2 shl edx, cl - 001de 8b ca mov ecx, edx - 001e0 0f af c1 imul eax, ecx - 001e3 8b 4d 44 mov ecx, DWORD PTR zig$2[rbp] - 001e6 48 8b 95 88 02 - 00 00 mov rdx, QWORD PTR data$[rbp] - 001ed 66 89 04 4a mov WORD PTR [rdx+rcx*2], ax - -; 2047 : } else { - - 001f1 e9 47 01 00 00 jmp $LN19@stbi__jpeg -$LN18@stbi__jpeg: - -; 2048 : int rs = stbi__jpeg_huff_decode(j, hac); - - 001f6 48 8b 95 90 02 - 00 00 mov rdx, QWORD PTR hac$[rbp] - 001fd 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00204 e8 00 00 00 00 call stbi__jpeg_huff_decode - 00209 89 85 c4 00 00 - 00 mov DWORD PTR rs$6[rbp], eax - -; 2049 : if (rs < 0) - - 0020f 83 bd c4 00 00 - 00 00 cmp DWORD PTR rs$6[rbp], 0 - 00216 7d 11 jge SHORT $LN21@stbi__jpeg - -; 2050 : return stbi__err("bad huffman code", "Corrupt JPEG"); - - 00218 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BB@IIMLINA@bad?5huffman?5code@ - 0021f e8 00 00 00 00 call stbi__err - 00224 e9 9c 04 00 00 jmp $LN1@stbi__jpeg -$LN21@stbi__jpeg: - -; 2051 : s = rs & 15; - - 00229 8b 85 c4 00 00 - 00 mov eax, DWORD PTR rs$6[rbp] - 0022f 83 e0 0f and eax, 15 - 00232 89 85 a4 00 00 - 00 mov DWORD PTR s$5[rbp], eax - -; 2052 : r = rs >> 4; - - 00238 8b 85 c4 00 00 - 00 mov eax, DWORD PTR rs$6[rbp] - 0023e c1 f8 04 sar eax, 4 - 00241 89 85 84 00 00 - 00 mov DWORD PTR r$4[rbp], eax - -; 2053 : if (s == 0) { - - 00247 83 bd a4 00 00 - 00 00 cmp DWORD PTR s$5[rbp], 0 - 0024e 0f 85 90 00 00 - 00 jne $LN22@stbi__jpeg - -; 2054 : if (r < 15) { - - 00254 83 bd 84 00 00 - 00 0f cmp DWORD PTR r$4[rbp], 15 - 0025b 7d 7c jge SHORT $LN24@stbi__jpeg - -; 2055 : j->eob_run = (1 << r); - - 0025d 8b 85 84 00 00 - 00 mov eax, DWORD PTR r$4[rbp] - 00263 b9 01 00 00 00 mov ecx, 1 - 00268 89 8d 54 02 00 - 00 mov DWORD PTR tv371[rbp], ecx - 0026e 0f b6 c8 movzx ecx, al - 00271 8b 85 54 02 00 - 00 mov eax, DWORD PTR tv371[rbp] - 00277 d3 e0 shl eax, cl - 00279 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00280 89 81 44 48 00 - 00 mov DWORD PTR [rcx+18500], eax - -; 2056 : if (r) - - 00286 83 bd 84 00 00 - 00 00 cmp DWORD PTR r$4[rbp], 0 - 0028d 74 2c je SHORT $LN25@stbi__jpeg - -; 2057 : j->eob_run += stbi__jpeg_get_bits(j, r); - - 0028f 8b 95 84 00 00 - 00 mov edx, DWORD PTR r$4[rbp] - 00295 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 0029c e8 00 00 00 00 call stbi__jpeg_get_bits - 002a1 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 002a8 03 81 44 48 00 - 00 add eax, DWORD PTR [rcx+18500] - 002ae 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 002b5 89 81 44 48 00 - 00 mov DWORD PTR [rcx+18500], eax -$LN25@stbi__jpeg: - -; 2058 : --j->eob_run; - - 002bb 48 8b 85 80 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 002c2 8b 80 44 48 00 - 00 mov eax, DWORD PTR [rax+18500] - 002c8 ff c8 dec eax - 002ca 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 002d1 89 81 44 48 00 - 00 mov DWORD PTR [rcx+18500], eax - -; 2059 : break; - - 002d7 eb 7a jmp SHORT $LN3@stbi__jpeg -$LN24@stbi__jpeg: - -; 2060 : } -; 2061 : k += 16; - - 002d9 8b 45 04 mov eax, DWORD PTR k$[rbp] - 002dc 83 c0 10 add eax, 16 - 002df 89 45 04 mov DWORD PTR k$[rbp], eax - -; 2062 : } else { - - 002e2 eb 59 jmp SHORT $LN23@stbi__jpeg -$LN22@stbi__jpeg: - -; 2063 : k += r; - - 002e4 8b 85 84 00 00 - 00 mov eax, DWORD PTR r$4[rbp] - 002ea 8b 4d 04 mov ecx, DWORD PTR k$[rbp] - 002ed 03 c8 add ecx, eax - 002ef 8b c1 mov eax, ecx - 002f1 89 45 04 mov DWORD PTR k$[rbp], eax - -; 2064 : zig = stbi__jpeg_dezigzag[k++]; - - 002f4 48 63 45 04 movsxd rax, DWORD PTR k$[rbp] - 002f8 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__jpeg_dezigzag - 002ff 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00303 89 45 44 mov DWORD PTR zig$2[rbp], eax - 00306 8b 45 04 mov eax, DWORD PTR k$[rbp] - 00309 ff c0 inc eax - 0030b 89 45 04 mov DWORD PTR k$[rbp], eax - -; 2065 : data[zig] = - - 0030e 8b 95 a4 00 00 - 00 mov edx, DWORD PTR s$5[rbp] - 00314 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 0031b e8 00 00 00 00 call stbi__extend_receive - 00320 8b 4d 24 mov ecx, DWORD PTR shift$1[rbp] - 00323 ba 01 00 00 00 mov edx, 1 - 00328 d3 e2 shl edx, cl - 0032a 8b ca mov ecx, edx - 0032c 0f af c1 imul eax, ecx - 0032f 8b 4d 44 mov ecx, DWORD PTR zig$2[rbp] - 00332 48 8b 95 88 02 - 00 00 mov rdx, QWORD PTR data$[rbp] - 00339 66 89 04 4a mov WORD PTR [rdx+rcx*2], ax -$LN23@stbi__jpeg: -$LN19@stbi__jpeg: - -; 2066 : (short)(stbi__extend_receive(j, s) * (1 << shift)); -; 2067 : } -; 2068 : } -; 2069 : } while (k <= j->spec_end); - - 0033d 48 8b 85 80 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 00344 8b 80 38 48 00 - 00 mov eax, DWORD PTR [rax+18488] - 0034a 39 45 04 cmp DWORD PTR k$[rbp], eax - 0034d 0f 8e 67 fd ff - ff jle $LN4@stbi__jpeg -$LN3@stbi__jpeg: - -; 2070 : } else { - - 00353 e9 68 03 00 00 jmp $LN15@stbi__jpeg -$LN14@stbi__jpeg: - -; 2071 : // refinement scan for these AC coefficients -; 2072 : -; 2073 : short bit = (short)(1 << j->succ_low); - - 00358 48 8b 85 80 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 0035f 8b 80 40 48 00 - 00 mov eax, DWORD PTR [rax+18496] - 00365 b9 01 00 00 00 mov ecx, 1 - 0036a 89 8d 54 02 00 - 00 mov DWORD PTR tv393[rbp], ecx - 00370 0f b6 c8 movzx ecx, al - 00373 8b 85 54 02 00 - 00 mov eax, DWORD PTR tv393[rbp] - 00379 d3 e0 shl eax, cl - 0037b 66 89 85 e4 00 - 00 00 mov WORD PTR bit$7[rbp], ax - -; 2074 : -; 2075 : if (j->eob_run) { - - 00382 48 8b 85 80 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 00389 83 b8 44 48 00 - 00 00 cmp DWORD PTR [rax+18500], 0 - 00390 0f 84 fa 00 00 - 00 je $LN26@stbi__jpeg - -; 2076 : --j->eob_run; - - 00396 48 8b 85 80 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 0039d 8b 80 44 48 00 - 00 mov eax, DWORD PTR [rax+18500] - 003a3 ff c8 dec eax - 003a5 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 003ac 89 81 44 48 00 - 00 mov DWORD PTR [rcx+18500], eax - -; 2077 : for (k = j->spec_start; k <= j->spec_end; ++k) { - - 003b2 48 8b 85 80 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 003b9 8b 80 34 48 00 - 00 mov eax, DWORD PTR [rax+18484] - 003bf 89 45 04 mov DWORD PTR k$[rbp], eax - 003c2 eb 08 jmp SHORT $LN7@stbi__jpeg -$LN5@stbi__jpeg: - 003c4 8b 45 04 mov eax, DWORD PTR k$[rbp] - 003c7 ff c0 inc eax - 003c9 89 45 04 mov DWORD PTR k$[rbp], eax -$LN7@stbi__jpeg: - 003cc 48 8b 85 80 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 003d3 8b 80 38 48 00 - 00 mov eax, DWORD PTR [rax+18488] - 003d9 39 45 04 cmp DWORD PTR k$[rbp], eax - 003dc 0f 8f a9 00 00 - 00 jg $LN6@stbi__jpeg - -; 2078 : short *p = &data[stbi__jpeg_dezigzag[k]]; - - 003e2 48 63 45 04 movsxd rax, DWORD PTR k$[rbp] - 003e6 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__jpeg_dezigzag - 003ed 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 003f1 48 8b 8d 88 02 - 00 00 mov rcx, QWORD PTR data$[rbp] - 003f8 48 8d 04 41 lea rax, QWORD PTR [rcx+rax*2] - 003fc 48 89 85 08 01 - 00 00 mov QWORD PTR p$8[rbp], rax - -; 2079 : if (*p != 0) - - 00403 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR p$8[rbp] - 0040a 0f bf 00 movsx eax, WORD PTR [rax] - 0040d 85 c0 test eax, eax - 0040f 74 75 je SHORT $LN28@stbi__jpeg - -; 2080 : if (stbi__jpeg_get_bit(j)) - - 00411 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00418 e8 00 00 00 00 call stbi__jpeg_get_bit - 0041d 85 c0 test eax, eax - 0041f 74 65 je SHORT $LN29@stbi__jpeg - -; 2081 : if ((*p & bit) == 0) { - - 00421 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR p$8[rbp] - 00428 0f bf 00 movsx eax, WORD PTR [rax] - 0042b 0f bf 8d e4 00 - 00 00 movsx ecx, WORD PTR bit$7[rbp] - 00432 23 c1 and eax, ecx - 00434 85 c0 test eax, eax - 00436 75 4e jne SHORT $LN30@stbi__jpeg - -; 2082 : if (*p > 0) - - 00438 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR p$8[rbp] - 0043f 0f bf 00 movsx eax, WORD PTR [rax] - 00442 85 c0 test eax, eax - 00444 7e 21 jle SHORT $LN31@stbi__jpeg - -; 2083 : *p += bit; - - 00446 0f bf 85 e4 00 - 00 00 movsx eax, WORD PTR bit$7[rbp] - 0044d 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR p$8[rbp] - 00454 0f bf 09 movsx ecx, WORD PTR [rcx] - 00457 03 c8 add ecx, eax - 00459 8b c1 mov eax, ecx - 0045b 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR p$8[rbp] - 00462 66 89 01 mov WORD PTR [rcx], ax - 00465 eb 1f jmp SHORT $LN32@stbi__jpeg -$LN31@stbi__jpeg: - -; 2084 : else -; 2085 : *p -= bit; - - 00467 0f bf 85 e4 00 - 00 00 movsx eax, WORD PTR bit$7[rbp] - 0046e 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR p$8[rbp] - 00475 0f bf 09 movsx ecx, WORD PTR [rcx] - 00478 2b c8 sub ecx, eax - 0047a 8b c1 mov eax, ecx - 0047c 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR p$8[rbp] - 00483 66 89 01 mov WORD PTR [rcx], ax -$LN32@stbi__jpeg: -$LN30@stbi__jpeg: -$LN29@stbi__jpeg: -$LN28@stbi__jpeg: - -; 2086 : } -; 2087 : } - - 00486 e9 39 ff ff ff jmp $LN5@stbi__jpeg -$LN6@stbi__jpeg: - -; 2088 : } else { - - 0048b e9 30 02 00 00 jmp $LN27@stbi__jpeg -$LN26@stbi__jpeg: - -; 2089 : k = j->spec_start; - - 00490 48 8b 85 80 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 00497 8b 80 34 48 00 - 00 mov eax, DWORD PTR [rax+18484] - 0049d 89 45 04 mov DWORD PTR k$[rbp], eax -$LN10@stbi__jpeg: - -; 2090 : do { -; 2091 : int r, s; -; 2092 : int rs = stbi__jpeg_huff_decode( - - 004a0 48 8b 95 90 02 - 00 00 mov rdx, QWORD PTR hac$[rbp] - 004a7 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 004ae e8 00 00 00 00 call stbi__jpeg_huff_decode - 004b3 89 85 64 01 00 - 00 mov DWORD PTR rs$11[rbp], eax - -; 2093 : j, -; 2094 : hac); // @OPTIMIZE see if we can use the fast path here, advance-by-r is so slow, eh -; 2095 : if (rs < 0) - - 004b9 83 bd 64 01 00 - 00 00 cmp DWORD PTR rs$11[rbp], 0 - 004c0 7d 11 jge SHORT $LN33@stbi__jpeg - -; 2096 : return stbi__err("bad huffman code", "Corrupt JPEG"); - - 004c2 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BB@IIMLINA@bad?5huffman?5code@ - 004c9 e8 00 00 00 00 call stbi__err - 004ce e9 f2 01 00 00 jmp $LN1@stbi__jpeg -$LN33@stbi__jpeg: - -; 2097 : s = rs & 15; - - 004d3 8b 85 64 01 00 - 00 mov eax, DWORD PTR rs$11[rbp] - 004d9 83 e0 0f and eax, 15 - 004dc 89 85 44 01 00 - 00 mov DWORD PTR s$10[rbp], eax - -; 2098 : r = rs >> 4; - - 004e2 8b 85 64 01 00 - 00 mov eax, DWORD PTR rs$11[rbp] - 004e8 c1 f8 04 sar eax, 4 - 004eb 89 85 24 01 00 - 00 mov DWORD PTR r$9[rbp], eax - -; 2099 : if (s == 0) { - - 004f1 83 bd 44 01 00 - 00 00 cmp DWORD PTR s$10[rbp], 0 - 004f8 75 75 jne SHORT $LN34@stbi__jpeg - -; 2100 : if (r < 15) { - - 004fa 83 bd 24 01 00 - 00 0f cmp DWORD PTR r$9[rbp], 15 - 00501 7d 6a jge SHORT $LN36@stbi__jpeg - -; 2101 : j->eob_run = (1 << r) - 1; - - 00503 8b 85 24 01 00 - 00 mov eax, DWORD PTR r$9[rbp] - 00509 b9 01 00 00 00 mov ecx, 1 - 0050e 89 8d 54 02 00 - 00 mov DWORD PTR tv420[rbp], ecx - 00514 0f b6 c8 movzx ecx, al - 00517 8b 85 54 02 00 - 00 mov eax, DWORD PTR tv420[rbp] - 0051d d3 e0 shl eax, cl - 0051f ff c8 dec eax - 00521 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00528 89 81 44 48 00 - 00 mov DWORD PTR [rcx+18500], eax - -; 2102 : if (r) - - 0052e 83 bd 24 01 00 - 00 00 cmp DWORD PTR r$9[rbp], 0 - 00535 74 2c je SHORT $LN38@stbi__jpeg - -; 2103 : j->eob_run += stbi__jpeg_get_bits(j, r); - - 00537 8b 95 24 01 00 - 00 mov edx, DWORD PTR r$9[rbp] - 0053d 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00544 e8 00 00 00 00 call stbi__jpeg_get_bits - 00549 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00550 03 81 44 48 00 - 00 add eax, DWORD PTR [rcx+18500] - 00556 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 0055d 89 81 44 48 00 - 00 mov DWORD PTR [rcx+18500], eax -$LN38@stbi__jpeg: - -; 2104 : r = 64; // force end of block - - 00563 c7 85 24 01 00 - 00 40 00 00 00 mov DWORD PTR r$9[rbp], 64 ; 00000040H -$LN36@stbi__jpeg: - -; 2105 : } else { -; 2106 : // r=15 s=0 should write 16 0s, so we just do -; 2107 : // a run of 15 0s and then write s (which is 0), -; 2108 : // so we don't have to do anything special here -; 2109 : } -; 2110 : } else { - - 0056d eb 48 jmp SHORT $LN35@stbi__jpeg -$LN34@stbi__jpeg: - -; 2111 : if (s != 1) - - 0056f 83 bd 44 01 00 - 00 01 cmp DWORD PTR s$10[rbp], 1 - 00576 74 11 je SHORT $LN39@stbi__jpeg - -; 2112 : return stbi__err("bad huffman code", - - 00578 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BB@IIMLINA@bad?5huffman?5code@ - 0057f e8 00 00 00 00 call stbi__err - 00584 e9 3c 01 00 00 jmp $LN1@stbi__jpeg -$LN39@stbi__jpeg: - -; 2113 : "Corrupt JPEG"); -; 2114 : // sign bit -; 2115 : if (stbi__jpeg_get_bit(j)) - - 00589 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00590 e8 00 00 00 00 call stbi__jpeg_get_bit - 00595 85 c0 test eax, eax - 00597 74 0f je SHORT $LN40@stbi__jpeg - -; 2116 : s = bit; - - 00599 0f bf 85 e4 00 - 00 00 movsx eax, WORD PTR bit$7[rbp] - 005a0 89 85 44 01 00 - 00 mov DWORD PTR s$10[rbp], eax - 005a6 eb 0f jmp SHORT $LN41@stbi__jpeg -$LN40@stbi__jpeg: - -; 2117 : else -; 2118 : s = -bit; - - 005a8 0f bf 85 e4 00 - 00 00 movsx eax, WORD PTR bit$7[rbp] - 005af f7 d8 neg eax - 005b1 89 85 44 01 00 - 00 mov DWORD PTR s$10[rbp], eax -$LN41@stbi__jpeg: -$LN35@stbi__jpeg: -$LN11@stbi__jpeg: - -; 2119 : } -; 2120 : -; 2121 : // advance by r -; 2122 : while (k <= j->spec_end) { - - 005b7 48 8b 85 80 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 005be 8b 80 38 48 00 - 00 mov eax, DWORD PTR [rax+18488] - 005c4 39 45 04 cmp DWORD PTR k$[rbp], eax - 005c7 0f 8f dd 00 00 - 00 jg $LN12@stbi__jpeg - -; 2123 : short *p = &data[stbi__jpeg_dezigzag[k++]]; - - 005cd 48 63 45 04 movsxd rax, DWORD PTR k$[rbp] - 005d1 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__jpeg_dezigzag - 005d8 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 005dc 48 8b 8d 88 02 - 00 00 mov rcx, QWORD PTR data$[rbp] - 005e3 48 8d 04 41 lea rax, QWORD PTR [rcx+rax*2] - 005e7 48 89 85 88 01 - 00 00 mov QWORD PTR p$12[rbp], rax - 005ee 8b 45 04 mov eax, DWORD PTR k$[rbp] - 005f1 ff c0 inc eax - 005f3 89 45 04 mov DWORD PTR k$[rbp], eax - -; 2124 : if (*p != 0) { - - 005f6 48 8b 85 88 01 - 00 00 mov rax, QWORD PTR p$12[rbp] - 005fd 0f bf 00 movsx eax, WORD PTR [rax] - 00600 85 c0 test eax, eax - 00602 74 77 je SHORT $LN42@stbi__jpeg - -; 2125 : if (stbi__jpeg_get_bit(j)) - - 00604 48 8b 8d 80 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 0060b e8 00 00 00 00 call stbi__jpeg_get_bit - 00610 85 c0 test eax, eax - 00612 74 65 je SHORT $LN44@stbi__jpeg - -; 2126 : if ((*p & bit) == 0) { - - 00614 48 8b 85 88 01 - 00 00 mov rax, QWORD PTR p$12[rbp] - 0061b 0f bf 00 movsx eax, WORD PTR [rax] - 0061e 0f bf 8d e4 00 - 00 00 movsx ecx, WORD PTR bit$7[rbp] - 00625 23 c1 and eax, ecx - 00627 85 c0 test eax, eax - 00629 75 4e jne SHORT $LN45@stbi__jpeg - -; 2127 : if (*p > 0) - - 0062b 48 8b 85 88 01 - 00 00 mov rax, QWORD PTR p$12[rbp] - 00632 0f bf 00 movsx eax, WORD PTR [rax] - 00635 85 c0 test eax, eax - 00637 7e 21 jle SHORT $LN46@stbi__jpeg - -; 2128 : *p += bit; - - 00639 0f bf 85 e4 00 - 00 00 movsx eax, WORD PTR bit$7[rbp] - 00640 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR p$12[rbp] - 00647 0f bf 09 movsx ecx, WORD PTR [rcx] - 0064a 03 c8 add ecx, eax - 0064c 8b c1 mov eax, ecx - 0064e 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR p$12[rbp] - 00655 66 89 01 mov WORD PTR [rcx], ax - 00658 eb 1f jmp SHORT $LN47@stbi__jpeg -$LN46@stbi__jpeg: - -; 2129 : else -; 2130 : *p -= bit; - - 0065a 0f bf 85 e4 00 - 00 00 movsx eax, WORD PTR bit$7[rbp] - 00661 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR p$12[rbp] - 00668 0f bf 09 movsx ecx, WORD PTR [rcx] - 0066b 2b c8 sub ecx, eax - 0066d 8b c1 mov eax, ecx - 0066f 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR p$12[rbp] - 00676 66 89 01 mov WORD PTR [rcx], ax -$LN47@stbi__jpeg: -$LN45@stbi__jpeg: -$LN44@stbi__jpeg: - -; 2131 : } -; 2132 : } else { - - 00679 eb 2a jmp SHORT $LN43@stbi__jpeg -$LN42@stbi__jpeg: - -; 2133 : if (r == 0) { - - 0067b 83 bd 24 01 00 - 00 00 cmp DWORD PTR r$9[rbp], 0 - 00682 75 13 jne SHORT $LN48@stbi__jpeg - -; 2134 : *p = (short)s; - - 00684 48 8b 85 88 01 - 00 00 mov rax, QWORD PTR p$12[rbp] - 0068b 0f b7 8d 44 01 - 00 00 movzx ecx, WORD PTR s$10[rbp] - 00692 66 89 08 mov WORD PTR [rax], cx - -; 2135 : break; - - 00695 eb 13 jmp SHORT $LN12@stbi__jpeg -$LN48@stbi__jpeg: - -; 2136 : } -; 2137 : --r; - - 00697 8b 85 24 01 00 - 00 mov eax, DWORD PTR r$9[rbp] - 0069d ff c8 dec eax - 0069f 89 85 24 01 00 - 00 mov DWORD PTR r$9[rbp], eax -$LN43@stbi__jpeg: - -; 2138 : } -; 2139 : } - - 006a5 e9 0d ff ff ff jmp $LN11@stbi__jpeg -$LN12@stbi__jpeg: - -; 2140 : } while (k <= j->spec_end); - - 006aa 48 8b 85 80 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 006b1 8b 80 38 48 00 - 00 mov eax, DWORD PTR [rax+18488] - 006b7 39 45 04 cmp DWORD PTR k$[rbp], eax - 006ba 0f 8e e0 fd ff - ff jle $LN10@stbi__jpeg -$LN27@stbi__jpeg: -$LN15@stbi__jpeg: - -; 2141 : } -; 2142 : } -; 2143 : return 1; - - 006c0 b8 01 00 00 00 mov eax, 1 -$LN1@stbi__jpeg: - -; 2144 : } - - 006c5 48 8d a5 68 02 - 00 00 lea rsp, QWORD PTR [rbp+616] - 006cc 5f pop rdi - 006cd 5d pop rbp - 006ce c3 ret 0 -stbi__jpeg_decode_block_prog_ac ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__jpeg_decode_block_prog_dc -_TEXT SEGMENT -diff$ = 4 -dc$ = 36 -t$ = 68 -tv87 = 276 -tv207 = 276 -tv211 = 276 -j$ = 320 -data$ = 328 -hdc$ = 336 -b$ = 344 -stbi__jpeg_decode_block_prog_dc PROC ; COMDAT - -; 1978 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 48 01 - 00 00 sub rsp, 328 ; 00000148H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 1979 : int diff, dc; -; 1980 : int t; -; 1981 : if (j->spec_end != 0) - - 0002f 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00036 83 b8 38 48 00 - 00 00 cmp DWORD PTR [rax+18488], 0 - 0003d 74 11 je SHORT $LN2@stbi__jpeg - -; 1982 : return stbi__err("can't merge dc and ac", "Corrupt JPEG"); - - 0003f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BG@PJBJDAGM@can?8t?5merge?5dc?5and?5ac@ - 00046 e8 00 00 00 00 call stbi__err - 0004b e9 f7 01 00 00 jmp $LN1@stbi__jpeg -$LN2@stbi__jpeg: - -; 1983 : -; 1984 : if (j->code_bits < 16) - - 00050 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00057 83 b8 24 48 00 - 00 10 cmp DWORD PTR [rax+18468], 16 - 0005e 7d 0d jge SHORT $LN3@stbi__jpeg - -; 1985 : stbi__grow_buffer_unsafe(j); - - 00060 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00067 e8 00 00 00 00 call stbi__grow_buffer_unsafe - 0006c 90 npad 1 -$LN3@stbi__jpeg: - -; 1986 : -; 1987 : if (j->succ_high == 0) { - - 0006d 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00074 83 b8 3c 48 00 - 00 00 cmp DWORD PTR [rax+18492], 0 - 0007b 0f 85 6e 01 00 - 00 jne $LN4@stbi__jpeg - -; 1988 : // first scan for DC coefficient, must be first -; 1989 : memset(data, 0, - - 00081 41 b8 80 00 00 - 00 mov r8d, 128 ; 00000080H - 00087 33 d2 xor edx, edx - 00089 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR data$[rbp] - 00090 e8 00 00 00 00 call memset - 00095 90 npad 1 - -; 1990 : 64 * sizeof(data[0])); // 0 all the ac values now -; 1991 : t = stbi__jpeg_huff_decode(j, hdc); - - 00096 48 8b 95 50 01 - 00 00 mov rdx, QWORD PTR hdc$[rbp] - 0009d 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 000a4 e8 00 00 00 00 call stbi__jpeg_huff_decode - 000a9 89 45 44 mov DWORD PTR t$[rbp], eax - -; 1992 : if (t < 0 || t > 15) - - 000ac 83 7d 44 00 cmp DWORD PTR t$[rbp], 0 - 000b0 7c 06 jl SHORT $LN7@stbi__jpeg - 000b2 83 7d 44 0f cmp DWORD PTR t$[rbp], 15 - 000b6 7e 11 jle SHORT $LN6@stbi__jpeg -$LN7@stbi__jpeg: - -; 1993 : return stbi__err("can't merge dc and ac", "Corrupt JPEG"); - - 000b8 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BG@PJBJDAGM@can?8t?5merge?5dc?5and?5ac@ - 000bf e8 00 00 00 00 call stbi__err - 000c4 e9 7e 01 00 00 jmp $LN1@stbi__jpeg -$LN6@stbi__jpeg: - -; 1994 : diff = t ? stbi__extend_receive(j, t) : 0; - - 000c9 83 7d 44 00 cmp DWORD PTR t$[rbp], 0 - 000cd 74 17 je SHORT $LN12@stbi__jpeg - 000cf 8b 55 44 mov edx, DWORD PTR t$[rbp] - 000d2 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 000d9 e8 00 00 00 00 call stbi__extend_receive - 000de 89 85 14 01 00 - 00 mov DWORD PTR tv87[rbp], eax - 000e4 eb 0a jmp SHORT $LN13@stbi__jpeg -$LN12@stbi__jpeg: - 000e6 c7 85 14 01 00 - 00 00 00 00 00 mov DWORD PTR tv87[rbp], 0 -$LN13@stbi__jpeg: - 000f0 8b 85 14 01 00 - 00 mov eax, DWORD PTR tv87[rbp] - 000f6 89 45 04 mov DWORD PTR diff$[rbp], eax - -; 1995 : -; 1996 : if (!stbi__addints_valid(j->img_comp[b].dc_pred, diff)) - - 000f9 48 63 85 58 01 - 00 00 movsxd rax, DWORD PTR b$[rbp] - 00100 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00104 8b 55 04 mov edx, DWORD PTR diff$[rbp] - 00107 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 0010e 8b 8c 01 b8 46 - 00 00 mov ecx, DWORD PTR [rcx+rax+18104] - 00115 e8 00 00 00 00 call stbi__addints_valid - 0011a 85 c0 test eax, eax - 0011c 75 11 jne SHORT $LN8@stbi__jpeg - -; 1997 : return stbi__err("bad delta", "Corrupt JPEG"); - - 0011e 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09IFDKCGFO@bad?5delta@ - 00125 e8 00 00 00 00 call stbi__err - 0012a e9 18 01 00 00 jmp $LN1@stbi__jpeg -$LN8@stbi__jpeg: - -; 1998 : dc = j->img_comp[b].dc_pred + diff; - - 0012f 48 63 85 58 01 - 00 00 movsxd rax, DWORD PTR b$[rbp] - 00136 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 0013a 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00141 8b 84 01 b8 46 - 00 00 mov eax, DWORD PTR [rcx+rax+18104] - 00148 03 45 04 add eax, DWORD PTR diff$[rbp] - 0014b 89 45 24 mov DWORD PTR dc$[rbp], eax - -; 1999 : j->img_comp[b].dc_pred = dc; - - 0014e 48 63 85 58 01 - 00 00 movsxd rax, DWORD PTR b$[rbp] - 00155 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00159 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00160 8b 55 24 mov edx, DWORD PTR dc$[rbp] - 00163 89 94 01 b8 46 - 00 00 mov DWORD PTR [rcx+rax+18104], edx - -; 2000 : if (!stbi__mul2shorts_valid(dc, 1 << j->succ_low)) - - 0016a 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00171 8b 80 40 48 00 - 00 mov eax, DWORD PTR [rax+18496] - 00177 b9 01 00 00 00 mov ecx, 1 - 0017c 89 8d 14 01 00 - 00 mov DWORD PTR tv207[rbp], ecx - 00182 0f b6 c8 movzx ecx, al - 00185 8b 85 14 01 00 - 00 mov eax, DWORD PTR tv207[rbp] - 0018b d3 e0 shl eax, cl - 0018d 0f b7 d0 movzx edx, ax - 00190 0f b7 4d 24 movzx ecx, WORD PTR dc$[rbp] - 00194 e8 00 00 00 00 call stbi__mul2shorts_valid - 00199 85 c0 test eax, eax - 0019b 75 11 jne SHORT $LN9@stbi__jpeg - -; 2001 : return stbi__err("can't merge dc and ac", "Corrupt JPEG"); - - 0019d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BG@PJBJDAGM@can?8t?5merge?5dc?5and?5ac@ - 001a4 e8 00 00 00 00 call stbi__err - 001a9 e9 99 00 00 00 jmp $LN1@stbi__jpeg -$LN9@stbi__jpeg: - -; 2002 : data[0] = (short)(dc * (1 << j->succ_low)); - - 001ae 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 001b5 8b 80 40 48 00 - 00 mov eax, DWORD PTR [rax+18496] - 001bb b9 01 00 00 00 mov ecx, 1 - 001c0 89 8d 14 01 00 - 00 mov DWORD PTR tv211[rbp], ecx - 001c6 0f b6 c8 movzx ecx, al - 001c9 8b 85 14 01 00 - 00 mov eax, DWORD PTR tv211[rbp] - 001cf d3 e0 shl eax, cl - 001d1 8b 4d 24 mov ecx, DWORD PTR dc$[rbp] - 001d4 0f af c8 imul ecx, eax - 001d7 8b c1 mov eax, ecx - 001d9 b9 02 00 00 00 mov ecx, 2 - 001de 48 6b c9 00 imul rcx, rcx, 0 - 001e2 48 8b 95 48 01 - 00 00 mov rdx, QWORD PTR data$[rbp] - 001e9 66 89 04 0a mov WORD PTR [rdx+rcx], ax - -; 2003 : } else { - - 001ed eb 53 jmp SHORT $LN5@stbi__jpeg -$LN4@stbi__jpeg: - -; 2004 : // refinement scan for DC coefficient -; 2005 : if (stbi__jpeg_get_bit(j)) - - 001ef 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 001f6 e8 00 00 00 00 call stbi__jpeg_get_bit - 001fb 85 c0 test eax, eax - 001fd 74 43 je SHORT $LN10@stbi__jpeg - -; 2006 : data[0] += (short)(1 << j->succ_low); - - 001ff b8 02 00 00 00 mov eax, 2 - 00204 48 6b c0 00 imul rax, rax, 0 - 00208 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 0020f 8b 89 40 48 00 - 00 mov ecx, DWORD PTR [rcx+18496] - 00215 ba 01 00 00 00 mov edx, 1 - 0021a d3 e2 shl edx, cl - 0021c 8b ca mov ecx, edx - 0021e 0f bf c9 movsx ecx, cx - 00221 48 8b 95 48 01 - 00 00 mov rdx, QWORD PTR data$[rbp] - 00228 0f bf 04 02 movsx eax, WORD PTR [rdx+rax] - 0022c 03 c1 add eax, ecx - 0022e b9 02 00 00 00 mov ecx, 2 - 00233 48 6b c9 00 imul rcx, rcx, 0 - 00237 48 8b 95 48 01 - 00 00 mov rdx, QWORD PTR data$[rbp] - 0023e 66 89 04 0a mov WORD PTR [rdx+rcx], ax -$LN10@stbi__jpeg: -$LN5@stbi__jpeg: - -; 2007 : } -; 2008 : return 1; - - 00242 b8 01 00 00 00 mov eax, 1 -$LN1@stbi__jpeg: - -; 2009 : } - - 00247 48 8d a5 28 01 - 00 00 lea rsp, QWORD PTR [rbp+296] - 0024e 5f pop rdi - 0024f 5d pop rbp - 00250 c3 ret 0 -stbi__jpeg_decode_block_prog_dc ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__jpeg_decode_block -_TEXT SEGMENT -diff$ = 4 -dc$ = 36 -k$ = 68 -t$ = 100 -zig$1 = 132 -c$2 = 164 -r$3 = 196 -s$4 = 228 -rs$5 = 260 -tv81 = 468 -tv275 = 472 -j$ = 512 -data$ = 520 -hdc$ = 528 -hac$ = 536 -fac$ = 544 -b$ = 552 -dequant$ = 560 -stbi__jpeg_decode_block PROC ; COMDAT - -; 1914 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 08 02 - 00 00 sub rsp, 520 ; 00000208H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 1915 : int diff, dc, k; -; 1916 : int t; -; 1917 : -; 1918 : if (j->code_bits < 16) - - 0002f 48 8b 85 00 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 00036 83 b8 24 48 00 - 00 10 cmp DWORD PTR [rax+18468], 16 - 0003d 7d 0d jge SHORT $LN5@stbi__jpeg - -; 1919 : stbi__grow_buffer_unsafe(j); - - 0003f 48 8b 8d 00 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00046 e8 00 00 00 00 call stbi__grow_buffer_unsafe - 0004b 90 npad 1 -$LN5@stbi__jpeg: - -; 1920 : t = stbi__jpeg_huff_decode(j, hdc); - - 0004c 48 8b 95 10 02 - 00 00 mov rdx, QWORD PTR hdc$[rbp] - 00053 48 8b 8d 00 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 0005a e8 00 00 00 00 call stbi__jpeg_huff_decode - 0005f 89 45 64 mov DWORD PTR t$[rbp], eax - -; 1921 : if (t < 0 || t > 15) - - 00062 83 7d 64 00 cmp DWORD PTR t$[rbp], 0 - 00066 7c 06 jl SHORT $LN7@stbi__jpeg - 00068 83 7d 64 0f cmp DWORD PTR t$[rbp], 15 - 0006c 7e 11 jle SHORT $LN6@stbi__jpeg -$LN7@stbi__jpeg: - -; 1922 : return stbi__err("bad huffman code", "Corrupt JPEG"); - - 0006e 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BB@IIMLINA@bad?5huffman?5code@ - 00075 e8 00 00 00 00 call stbi__err - 0007a e9 52 03 00 00 jmp $LN1@stbi__jpeg -$LN6@stbi__jpeg: - -; 1923 : -; 1924 : // 0 all the ac values now so we can do it 32-bits at a time -; 1925 : memset(data, 0, 64 * sizeof(data[0])); - - 0007f 41 b8 80 00 00 - 00 mov r8d, 128 ; 00000080H - 00085 33 d2 xor edx, edx - 00087 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR data$[rbp] - 0008e e8 00 00 00 00 call memset - 00093 90 npad 1 - -; 1926 : -; 1927 : diff = t ? stbi__extend_receive(j, t) : 0; - - 00094 83 7d 64 00 cmp DWORD PTR t$[rbp], 0 - 00098 74 17 je SHORT $LN19@stbi__jpeg - 0009a 8b 55 64 mov edx, DWORD PTR t$[rbp] - 0009d 48 8b 8d 00 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 000a4 e8 00 00 00 00 call stbi__extend_receive - 000a9 89 85 d4 01 00 - 00 mov DWORD PTR tv81[rbp], eax - 000af eb 0a jmp SHORT $LN20@stbi__jpeg -$LN19@stbi__jpeg: - 000b1 c7 85 d4 01 00 - 00 00 00 00 00 mov DWORD PTR tv81[rbp], 0 -$LN20@stbi__jpeg: - 000bb 8b 85 d4 01 00 - 00 mov eax, DWORD PTR tv81[rbp] - 000c1 89 45 04 mov DWORD PTR diff$[rbp], eax - -; 1928 : if (!stbi__addints_valid(j->img_comp[b].dc_pred, diff)) - - 000c4 48 63 85 28 02 - 00 00 movsxd rax, DWORD PTR b$[rbp] - 000cb 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 000cf 8b 55 04 mov edx, DWORD PTR diff$[rbp] - 000d2 48 8b 8d 00 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 000d9 8b 8c 01 b8 46 - 00 00 mov ecx, DWORD PTR [rcx+rax+18104] - 000e0 e8 00 00 00 00 call stbi__addints_valid - 000e5 85 c0 test eax, eax - 000e7 75 11 jne SHORT $LN8@stbi__jpeg - -; 1929 : return stbi__err("bad delta", "Corrupt JPEG"); - - 000e9 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09IFDKCGFO@bad?5delta@ - 000f0 e8 00 00 00 00 call stbi__err - 000f5 e9 d7 02 00 00 jmp $LN1@stbi__jpeg -$LN8@stbi__jpeg: - -; 1930 : dc = j->img_comp[b].dc_pred + diff; - - 000fa 48 63 85 28 02 - 00 00 movsxd rax, DWORD PTR b$[rbp] - 00101 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00105 48 8b 8d 00 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 0010c 8b 84 01 b8 46 - 00 00 mov eax, DWORD PTR [rcx+rax+18104] - 00113 03 45 04 add eax, DWORD PTR diff$[rbp] - 00116 89 45 24 mov DWORD PTR dc$[rbp], eax - -; 1931 : j->img_comp[b].dc_pred = dc; - - 00119 48 63 85 28 02 - 00 00 movsxd rax, DWORD PTR b$[rbp] - 00120 48 6b c0 60 imul rax, rax, 96 ; 00000060H - 00124 48 8b 8d 00 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 0012b 8b 55 24 mov edx, DWORD PTR dc$[rbp] - 0012e 89 94 01 b8 46 - 00 00 mov DWORD PTR [rcx+rax+18104], edx - -; 1932 : if (!stbi__mul2shorts_valid(dc, dequant[0])) - - 00135 b8 02 00 00 00 mov eax, 2 - 0013a 48 6b c0 00 imul rax, rax, 0 - 0013e 48 8b 8d 30 02 - 00 00 mov rcx, QWORD PTR dequant$[rbp] - 00145 0f b7 14 01 movzx edx, WORD PTR [rcx+rax] - 00149 0f b7 4d 24 movzx ecx, WORD PTR dc$[rbp] - 0014d e8 00 00 00 00 call stbi__mul2shorts_valid - 00152 85 c0 test eax, eax - 00154 75 11 jne SHORT $LN9@stbi__jpeg - -; 1933 : return stbi__err("can't merge dc and ac", "Corrupt JPEG"); - - 00156 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BG@PJBJDAGM@can?8t?5merge?5dc?5and?5ac@ - 0015d e8 00 00 00 00 call stbi__err - 00162 e9 6a 02 00 00 jmp $LN1@stbi__jpeg -$LN9@stbi__jpeg: - -; 1934 : data[0] = (short)(dc * dequant[0]); - - 00167 b8 02 00 00 00 mov eax, 2 - 0016c 48 6b c0 00 imul rax, rax, 0 - 00170 48 8b 8d 30 02 - 00 00 mov rcx, QWORD PTR dequant$[rbp] - 00177 0f b7 04 01 movzx eax, WORD PTR [rcx+rax] - 0017b 8b 4d 24 mov ecx, DWORD PTR dc$[rbp] - 0017e 0f af c8 imul ecx, eax - 00181 8b c1 mov eax, ecx - 00183 b9 02 00 00 00 mov ecx, 2 - 00188 48 6b c9 00 imul rcx, rcx, 0 - 0018c 48 8b 95 08 02 - 00 00 mov rdx, QWORD PTR data$[rbp] - 00193 66 89 04 0a mov WORD PTR [rdx+rcx], ax - -; 1935 : -; 1936 : // decode AC components, see JPEG spec -; 1937 : k = 1; - - 00197 c7 45 44 01 00 - 00 00 mov DWORD PTR k$[rbp], 1 -$LN4@stbi__jpeg: - -; 1938 : do { -; 1939 : unsigned int zig; -; 1940 : int c, r, s; -; 1941 : if (j->code_bits < 16) - - 0019e 48 8b 85 00 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 001a5 83 b8 24 48 00 - 00 10 cmp DWORD PTR [rax+18468], 16 - 001ac 7d 0d jge SHORT $LN10@stbi__jpeg - -; 1942 : stbi__grow_buffer_unsafe(j); - - 001ae 48 8b 8d 00 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 001b5 e8 00 00 00 00 call stbi__grow_buffer_unsafe - 001ba 90 npad 1 -$LN10@stbi__jpeg: - -; 1943 : c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS) - 1); - - 001bb 48 8b 85 00 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 001c2 8b 80 20 48 00 - 00 mov eax, DWORD PTR [rax+18464] - 001c8 c1 e8 17 shr eax, 23 - 001cb 25 ff 01 00 00 and eax, 511 ; 000001ffH - 001d0 89 85 a4 00 00 - 00 mov DWORD PTR c$2[rbp], eax - -; 1944 : r = fac[c]; - - 001d6 48 63 85 a4 00 - 00 00 movsxd rax, DWORD PTR c$2[rbp] - 001dd 48 8b 8d 20 02 - 00 00 mov rcx, QWORD PTR fac$[rbp] - 001e4 0f bf 04 41 movsx eax, WORD PTR [rcx+rax*2] - 001e8 89 85 c4 00 00 - 00 mov DWORD PTR r$3[rbp], eax - -; 1945 : if (r) { // fast-AC path - - 001ee 83 bd c4 00 00 - 00 00 cmp DWORD PTR r$3[rbp], 0 - 001f5 0f 84 f0 00 00 - 00 je $LN11@stbi__jpeg - -; 1946 : k += (r >> 4) & 15; // run - - 001fb 8b 85 c4 00 00 - 00 mov eax, DWORD PTR r$3[rbp] - 00201 c1 f8 04 sar eax, 4 - 00204 83 e0 0f and eax, 15 - 00207 8b 4d 44 mov ecx, DWORD PTR k$[rbp] - 0020a 03 c8 add ecx, eax - 0020c 8b c1 mov eax, ecx - 0020e 89 45 44 mov DWORD PTR k$[rbp], eax - -; 1947 : s = r & 15; // combined length - - 00211 8b 85 c4 00 00 - 00 mov eax, DWORD PTR r$3[rbp] - 00217 83 e0 0f and eax, 15 - 0021a 89 85 e4 00 00 - 00 mov DWORD PTR s$4[rbp], eax - -; 1948 : if (s > j->code_bits) - - 00220 48 8b 85 00 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 00227 8b 80 24 48 00 - 00 mov eax, DWORD PTR [rax+18468] - 0022d 39 85 e4 00 00 - 00 cmp DWORD PTR s$4[rbp], eax - 00233 7e 11 jle SHORT $LN13@stbi__jpeg - -; 1949 : return stbi__err("bad huffman code", - - 00235 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BB@IIMLINA@bad?5huffman?5code@ - 0023c e8 00 00 00 00 call stbi__err - 00241 e9 8b 01 00 00 jmp $LN1@stbi__jpeg -$LN13@stbi__jpeg: - -; 1950 : "Combined length longer than code bits available"); -; 1951 : j->code_buffer <<= s; - - 00246 8b 85 e4 00 00 - 00 mov eax, DWORD PTR s$4[rbp] - 0024c 48 8b 8d 00 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00253 48 89 8d d8 01 - 00 00 mov QWORD PTR tv275[rbp], rcx - 0025a 0f b6 c8 movzx ecx, al - 0025d 48 8b 85 d8 01 - 00 00 mov rax, QWORD PTR tv275[rbp] - 00264 8b 80 20 48 00 - 00 mov eax, DWORD PTR [rax+18464] - 0026a d3 e0 shl eax, cl - 0026c 48 8b 8d 00 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00273 89 81 20 48 00 - 00 mov DWORD PTR [rcx+18464], eax - -; 1952 : j->code_bits -= s; - - 00279 48 8b 85 00 02 - 00 00 mov rax, QWORD PTR j$[rbp] - 00280 8b 8d e4 00 00 - 00 mov ecx, DWORD PTR s$4[rbp] - 00286 8b 80 24 48 00 - 00 mov eax, DWORD PTR [rax+18468] - 0028c 2b c1 sub eax, ecx - 0028e 48 8b 8d 00 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00295 89 81 24 48 00 - 00 mov DWORD PTR [rcx+18468], eax - -; 1953 : // decode into unzigzag'd location -; 1954 : zig = stbi__jpeg_dezigzag[k++]; - - 0029b 48 63 45 44 movsxd rax, DWORD PTR k$[rbp] - 0029f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__jpeg_dezigzag - 002a6 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 002aa 89 85 84 00 00 - 00 mov DWORD PTR zig$1[rbp], eax - 002b0 8b 45 44 mov eax, DWORD PTR k$[rbp] - 002b3 ff c0 inc eax - 002b5 89 45 44 mov DWORD PTR k$[rbp], eax - -; 1955 : data[zig] = (short)((r >> 8) * dequant[zig]); - - 002b8 8b 85 c4 00 00 - 00 mov eax, DWORD PTR r$3[rbp] - 002be c1 f8 08 sar eax, 8 - 002c1 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR zig$1[rbp] - 002c7 48 8b 95 30 02 - 00 00 mov rdx, QWORD PTR dequant$[rbp] - 002ce 0f b7 0c 4a movzx ecx, WORD PTR [rdx+rcx*2] - 002d2 0f af c1 imul eax, ecx - 002d5 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR zig$1[rbp] - 002db 48 8b 95 08 02 - 00 00 mov rdx, QWORD PTR data$[rbp] - 002e2 66 89 04 4a mov WORD PTR [rdx+rcx*2], ax - -; 1956 : } else { - - 002e6 e9 d7 00 00 00 jmp $LN12@stbi__jpeg -$LN11@stbi__jpeg: - -; 1957 : int rs = stbi__jpeg_huff_decode(j, hac); - - 002eb 48 8b 95 18 02 - 00 00 mov rdx, QWORD PTR hac$[rbp] - 002f2 48 8b 8d 00 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 002f9 e8 00 00 00 00 call stbi__jpeg_huff_decode - 002fe 89 85 04 01 00 - 00 mov DWORD PTR rs$5[rbp], eax - -; 1958 : if (rs < 0) - - 00304 83 bd 04 01 00 - 00 00 cmp DWORD PTR rs$5[rbp], 0 - 0030b 7d 11 jge SHORT $LN14@stbi__jpeg - -; 1959 : return stbi__err("bad huffman code", "Corrupt JPEG"); - - 0030d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BB@IIMLINA@bad?5huffman?5code@ - 00314 e8 00 00 00 00 call stbi__err - 00319 e9 b3 00 00 00 jmp $LN1@stbi__jpeg -$LN14@stbi__jpeg: - -; 1960 : s = rs & 15; - - 0031e 8b 85 04 01 00 - 00 mov eax, DWORD PTR rs$5[rbp] - 00324 83 e0 0f and eax, 15 - 00327 89 85 e4 00 00 - 00 mov DWORD PTR s$4[rbp], eax - -; 1961 : r = rs >> 4; - - 0032d 8b 85 04 01 00 - 00 mov eax, DWORD PTR rs$5[rbp] - 00333 c1 f8 04 sar eax, 4 - 00336 89 85 c4 00 00 - 00 mov DWORD PTR r$3[rbp], eax - -; 1962 : if (s == 0) { - - 0033c 83 bd e4 00 00 - 00 00 cmp DWORD PTR s$4[rbp], 0 - 00343 75 19 jne SHORT $LN15@stbi__jpeg - -; 1963 : if (rs != 0xf0) - - 00345 81 bd 04 01 00 - 00 f0 00 00 00 cmp DWORD PTR rs$5[rbp], 240 ; 000000f0H - 0034f 74 02 je SHORT $LN17@stbi__jpeg - -; 1964 : break; // end block - - 00351 eb 79 jmp SHORT $LN3@stbi__jpeg -$LN17@stbi__jpeg: - -; 1965 : k += 16; - - 00353 8b 45 44 mov eax, DWORD PTR k$[rbp] - 00356 83 c0 10 add eax, 16 - 00359 89 45 44 mov DWORD PTR k$[rbp], eax - -; 1966 : } else { - - 0035c eb 64 jmp SHORT $LN16@stbi__jpeg -$LN15@stbi__jpeg: - -; 1967 : k += r; - - 0035e 8b 85 c4 00 00 - 00 mov eax, DWORD PTR r$3[rbp] - 00364 8b 4d 44 mov ecx, DWORD PTR k$[rbp] - 00367 03 c8 add ecx, eax - 00369 8b c1 mov eax, ecx - 0036b 89 45 44 mov DWORD PTR k$[rbp], eax - -; 1968 : // decode into unzigzag'd location -; 1969 : zig = stbi__jpeg_dezigzag[k++]; - - 0036e 48 63 45 44 movsxd rax, DWORD PTR k$[rbp] - 00372 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__jpeg_dezigzag - 00379 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0037d 89 85 84 00 00 - 00 mov DWORD PTR zig$1[rbp], eax - 00383 8b 45 44 mov eax, DWORD PTR k$[rbp] - 00386 ff c0 inc eax - 00388 89 45 44 mov DWORD PTR k$[rbp], eax - -; 1970 : data[zig] = (short)(stbi__extend_receive(j, s) * dequant[zig]); - - 0038b 8b 95 e4 00 00 - 00 mov edx, DWORD PTR s$4[rbp] - 00391 48 8b 8d 00 02 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00398 e8 00 00 00 00 call stbi__extend_receive - 0039d 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR zig$1[rbp] - 003a3 48 8b 95 30 02 - 00 00 mov rdx, QWORD PTR dequant$[rbp] - 003aa 0f b7 0c 4a movzx ecx, WORD PTR [rdx+rcx*2] - 003ae 0f af c1 imul eax, ecx - 003b1 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR zig$1[rbp] - 003b7 48 8b 95 08 02 - 00 00 mov rdx, QWORD PTR data$[rbp] - 003be 66 89 04 4a mov WORD PTR [rdx+rcx*2], ax -$LN16@stbi__jpeg: -$LN12@stbi__jpeg: - -; 1971 : } -; 1972 : } -; 1973 : } while (k < 64); - - 003c2 83 7d 44 40 cmp DWORD PTR k$[rbp], 64 ; 00000040H - 003c6 0f 8c d2 fd ff - ff jl $LN4@stbi__jpeg -$LN3@stbi__jpeg: - -; 1974 : return 1; - - 003cc b8 01 00 00 00 mov eax, 1 -$LN1@stbi__jpeg: - -; 1975 : } - - 003d1 48 8d a5 e8 01 - 00 00 lea rsp, QWORD PTR [rbp+488] - 003d8 5f pop rdi - 003d9 5d pop rbp - 003da c3 ret 0 -stbi__jpeg_decode_block ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__jpeg_get_bit -_TEXT SEGMENT -k$ = 4 -j$ = 256 -stbi__jpeg_get_bit PROC ; COMDAT - -; 1888 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 1889 : unsigned int k; -; 1890 : if (j->code_bits < 1) - - 00020 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00027 83 b8 24 48 00 - 00 01 cmp DWORD PTR [rax+18468], 1 - 0002e 7d 0d jge SHORT $LN2@stbi__jpeg - -; 1891 : stbi__grow_buffer_unsafe(j); - - 00030 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00037 e8 00 00 00 00 call stbi__grow_buffer_unsafe - 0003c 90 npad 1 -$LN2@stbi__jpeg: - -; 1892 : if (j->code_bits < 1) - - 0003d 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00044 83 b8 24 48 00 - 00 01 cmp DWORD PTR [rax+18468], 1 - 0004b 7d 04 jge SHORT $LN3@stbi__jpeg - -; 1893 : return 0; // ran out of bits from stream, return 0s intead of continuing - - 0004d 33 c0 xor eax, eax - 0004f eb 50 jmp SHORT $LN1@stbi__jpeg -$LN3@stbi__jpeg: - -; 1894 : k = j->code_buffer; - - 00051 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00058 8b 80 20 48 00 - 00 mov eax, DWORD PTR [rax+18464] - 0005e 89 45 04 mov DWORD PTR k$[rbp], eax - -; 1895 : j->code_buffer <<= 1; - - 00061 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00068 8b 80 20 48 00 - 00 mov eax, DWORD PTR [rax+18464] - 0006e d1 e0 shl eax, 1 - 00070 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00077 89 81 20 48 00 - 00 mov DWORD PTR [rcx+18464], eax - -; 1896 : --j->code_bits; - - 0007d 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00084 8b 80 24 48 00 - 00 mov eax, DWORD PTR [rax+18468] - 0008a ff c8 dec eax - 0008c 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00093 89 81 24 48 00 - 00 mov DWORD PTR [rcx+18468], eax - -; 1897 : return k & 0x80000000; - - 00099 8b 45 04 mov eax, DWORD PTR k$[rbp] - 0009c 25 00 00 00 80 and eax, -2147483648 ; 80000000H -$LN1@stbi__jpeg: - -; 1898 : } - - 000a1 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 000a8 5f pop rdi - 000a9 5d pop rbp - 000aa c3 ret 0 -stbi__jpeg_get_bit ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__jpeg_get_bits -_TEXT SEGMENT -k$ = 4 -j$ = 256 -n$ = 264 -stbi__jpeg_get_bits PROC ; COMDAT - -; 1874 : { - - 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00009 55 push rbp - 0000a 57 push rdi - 0000b 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00017 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00023 90 npad 1 - -; 1875 : unsigned int k; -; 1876 : if (j->code_bits < n) - - 00024 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 0002b 8b 8d 08 01 00 - 00 mov ecx, DWORD PTR n$[rbp] - 00031 39 88 24 48 00 - 00 cmp DWORD PTR [rax+18468], ecx - 00037 7d 0d jge SHORT $LN2@stbi__jpeg - -; 1877 : stbi__grow_buffer_unsafe(j); - - 00039 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00040 e8 00 00 00 00 call stbi__grow_buffer_unsafe - 00045 90 npad 1 -$LN2@stbi__jpeg: - -; 1878 : if (j->code_bits < n) - - 00046 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 0004d 8b 8d 08 01 00 - 00 mov ecx, DWORD PTR n$[rbp] - 00053 39 88 24 48 00 - 00 cmp DWORD PTR [rax+18468], ecx - 00059 7d 07 jge SHORT $LN3@stbi__jpeg - -; 1879 : return 0; // ran out of bits from stream, return 0s intead of continuing - - 0005b 33 c0 xor eax, eax - 0005d e9 82 00 00 00 jmp $LN1@stbi__jpeg -$LN3@stbi__jpeg: - -; 1880 : k = stbi_lrot(j->code_buffer, n); - - 00062 8b 95 08 01 00 - 00 mov edx, DWORD PTR n$[rbp] - 00068 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 0006f 8b 88 20 48 00 - 00 mov ecx, DWORD PTR [rax+18464] - 00075 e8 00 00 00 00 call _lrotl - 0007a 89 45 04 mov DWORD PTR k$[rbp], eax - -; 1881 : j->code_buffer = k & ~stbi__bmask[n]; - - 0007d 48 63 85 08 01 - 00 00 movsxd rax, DWORD PTR n$[rbp] - 00084 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__bmask - 0008b 8b 04 81 mov eax, DWORD PTR [rcx+rax*4] - 0008e f7 d0 not eax - 00090 8b 4d 04 mov ecx, DWORD PTR k$[rbp] - 00093 23 c8 and ecx, eax - 00095 8b c1 mov eax, ecx - 00097 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 0009e 89 81 20 48 00 - 00 mov DWORD PTR [rcx+18464], eax - -; 1882 : k &= stbi__bmask[n]; - - 000a4 48 63 85 08 01 - 00 00 movsxd rax, DWORD PTR n$[rbp] - 000ab 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__bmask - 000b2 8b 04 81 mov eax, DWORD PTR [rcx+rax*4] - 000b5 8b 4d 04 mov ecx, DWORD PTR k$[rbp] - 000b8 23 c8 and ecx, eax - 000ba 8b c1 mov eax, ecx - 000bc 89 45 04 mov DWORD PTR k$[rbp], eax - -; 1883 : j->code_bits -= n; - - 000bf 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 000c6 8b 8d 08 01 00 - 00 mov ecx, DWORD PTR n$[rbp] - 000cc 8b 80 24 48 00 - 00 mov eax, DWORD PTR [rax+18468] - 000d2 2b c1 sub eax, ecx - 000d4 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 000db 89 81 24 48 00 - 00 mov DWORD PTR [rcx+18468], eax - -; 1884 : return k; - - 000e1 8b 45 04 mov eax, DWORD PTR k$[rbp] -$LN1@stbi__jpeg: - -; 1885 : } - - 000e4 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 000eb 5f pop rdi - 000ec 5d pop rbp - 000ed c3 ret 0 -stbi__jpeg_get_bits ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__extend_receive -_TEXT SEGMENT -k$ = 4 -sgn$ = 36 -j$ = 288 -n$ = 296 -stbi__extend_receive PROC ; COMDAT - -; 1855 : { - - 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00009 55 push rbp - 0000a 57 push rdi - 0000b 48 81 ec 28 01 - 00 00 sub rsp, 296 ; 00000128H - 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00017 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00023 90 npad 1 - -; 1856 : unsigned int k; -; 1857 : int sgn; -; 1858 : if (j->code_bits < n) - - 00024 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 0002b 8b 8d 28 01 00 - 00 mov ecx, DWORD PTR n$[rbp] - 00031 39 88 24 48 00 - 00 cmp DWORD PTR [rax+18468], ecx - 00037 7d 0d jge SHORT $LN2@stbi__exte - -; 1859 : stbi__grow_buffer_unsafe(j); - - 00039 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00040 e8 00 00 00 00 call stbi__grow_buffer_unsafe - 00045 90 npad 1 -$LN2@stbi__exte: - -; 1860 : if (j->code_bits < n) - - 00046 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 0004d 8b 8d 28 01 00 - 00 mov ecx, DWORD PTR n$[rbp] - 00053 39 88 24 48 00 - 00 cmp DWORD PTR [rax+18468], ecx - 00059 7d 07 jge SHORT $LN3@stbi__exte - -; 1861 : return 0; // ran out of bits from stream, return 0s intead of continuing - - 0005b 33 c0 xor eax, eax - 0005d e9 b1 00 00 00 jmp $LN1@stbi__exte -$LN3@stbi__exte: - -; 1862 : -; 1863 : sgn = j->code_buffer >> - - 00062 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00069 8b 80 20 48 00 - 00 mov eax, DWORD PTR [rax+18464] - 0006f c1 e8 1f shr eax, 31 - 00072 89 45 24 mov DWORD PTR sgn$[rbp], eax - -; 1864 : 31; // sign bit always in MSB; 0 if MSB clear (positive), 1 if MSB set (negative) -; 1865 : k = stbi_lrot(j->code_buffer, n); - - 00075 8b 95 28 01 00 - 00 mov edx, DWORD PTR n$[rbp] - 0007b 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00082 8b 88 20 48 00 - 00 mov ecx, DWORD PTR [rax+18464] - 00088 e8 00 00 00 00 call _lrotl - 0008d 89 45 04 mov DWORD PTR k$[rbp], eax - -; 1866 : j->code_buffer = k & ~stbi__bmask[n]; - - 00090 48 63 85 28 01 - 00 00 movsxd rax, DWORD PTR n$[rbp] - 00097 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__bmask - 0009e 8b 04 81 mov eax, DWORD PTR [rcx+rax*4] - 000a1 f7 d0 not eax - 000a3 8b 4d 04 mov ecx, DWORD PTR k$[rbp] - 000a6 23 c8 and ecx, eax - 000a8 8b c1 mov eax, ecx - 000aa 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 000b1 89 81 20 48 00 - 00 mov DWORD PTR [rcx+18464], eax - -; 1867 : k &= stbi__bmask[n]; - - 000b7 48 63 85 28 01 - 00 00 movsxd rax, DWORD PTR n$[rbp] - 000be 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__bmask - 000c5 8b 04 81 mov eax, DWORD PTR [rcx+rax*4] - 000c8 8b 4d 04 mov ecx, DWORD PTR k$[rbp] - 000cb 23 c8 and ecx, eax - 000cd 8b c1 mov eax, ecx - 000cf 89 45 04 mov DWORD PTR k$[rbp], eax - -; 1868 : j->code_bits -= n; - - 000d2 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 000d9 8b 8d 28 01 00 - 00 mov ecx, DWORD PTR n$[rbp] - 000df 8b 80 24 48 00 - 00 mov eax, DWORD PTR [rax+18468] - 000e5 2b c1 sub eax, ecx - 000e7 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 000ee 89 81 24 48 00 - 00 mov DWORD PTR [rcx+18468], eax - -; 1869 : return k + (stbi__jbias[n] & (sgn - 1)); - - 000f4 48 63 85 28 01 - 00 00 movsxd rax, DWORD PTR n$[rbp] - 000fb 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:stbi__jbias - 00102 8b 55 24 mov edx, DWORD PTR sgn$[rbp] - 00105 ff ca dec edx - 00107 8b 04 81 mov eax, DWORD PTR [rcx+rax*4] - 0010a 23 c2 and eax, edx - 0010c 8b 4d 04 mov ecx, DWORD PTR k$[rbp] - 0010f 03 c8 add ecx, eax - 00111 8b c1 mov eax, ecx -$LN1@stbi__exte: - -; 1870 : } - - 00113 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 0011a 5f pop rdi - 0011b 5d pop rbp - 0011c c3 ret 0 -stbi__extend_receive ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__jpeg_huff_decode -_TEXT SEGMENT -temp$ = 4 -c$ = 36 -k$ = 68 -s$1 = 100 -tv212 = 312 -tv233 = 312 -tv242 = 312 -tv253 = 312 -j$ = 352 -h$ = 360 -stbi__jpeg_huff_decode PROC ; COMDAT - -; 1796 : { - - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec 68 01 - 00 00 sub rsp, 360 ; 00000168H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 1797 : unsigned int temp; -; 1798 : int c, k; -; 1799 : -; 1800 : if (j->code_bits < 16) - - 00025 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 0002c 83 b8 24 48 00 - 00 10 cmp DWORD PTR [rax+18468], 16 - 00033 7d 0d jge SHORT $LN5@stbi__jpeg - -; 1801 : stbi__grow_buffer_unsafe(j); - - 00035 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 0003c e8 00 00 00 00 call stbi__grow_buffer_unsafe - 00041 90 npad 1 -$LN5@stbi__jpeg: - -; 1802 : -; 1803 : // look at the top FAST_BITS and determine what symbol ID it is, -; 1804 : // if the code is <= FAST_BITS -; 1805 : c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS) - 1); - - 00042 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00049 8b 80 20 48 00 - 00 mov eax, DWORD PTR [rax+18464] - 0004f c1 e8 17 shr eax, 23 - 00052 25 ff 01 00 00 and eax, 511 ; 000001ffH - 00057 89 45 24 mov DWORD PTR c$[rbp], eax - -; 1806 : k = h->fast[c]; - - 0005a 48 63 45 24 movsxd rax, DWORD PTR c$[rbp] - 0005e 48 8b 8d 68 01 - 00 00 mov rcx, QWORD PTR h$[rbp] - 00065 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00069 89 45 44 mov DWORD PTR k$[rbp], eax - -; 1807 : if (k < 255) { - - 0006c 81 7d 44 ff 00 - 00 00 cmp DWORD PTR k$[rbp], 255 ; 000000ffH - 00073 0f 8d 99 00 00 - 00 jge $LN6@stbi__jpeg - -; 1808 : int s = h->size[k]; - - 00079 48 63 45 44 movsxd rax, DWORD PTR k$[rbp] - 0007d 48 8b 8d 68 01 - 00 00 mov rcx, QWORD PTR h$[rbp] - 00084 0f b6 84 01 00 - 05 00 00 movzx eax, BYTE PTR [rcx+rax+1280] - 0008c 89 45 64 mov DWORD PTR s$1[rbp], eax - -; 1809 : if (s > j->code_bits) - - 0008f 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00096 8b 80 24 48 00 - 00 mov eax, DWORD PTR [rax+18468] - 0009c 39 45 64 cmp DWORD PTR s$1[rbp], eax - 0009f 7e 0a jle SHORT $LN7@stbi__jpeg - -; 1810 : return -1; - - 000a1 b8 ff ff ff ff mov eax, -1 - 000a6 e9 41 02 00 00 jmp $LN1@stbi__jpeg -$LN7@stbi__jpeg: - -; 1811 : j->code_buffer <<= s; - - 000ab 8b 45 64 mov eax, DWORD PTR s$1[rbp] - 000ae 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 000b5 48 89 8d 38 01 - 00 00 mov QWORD PTR tv212[rbp], rcx - 000bc 0f b6 c8 movzx ecx, al - 000bf 48 8b 85 38 01 - 00 00 mov rax, QWORD PTR tv212[rbp] - 000c6 8b 80 20 48 00 - 00 mov eax, DWORD PTR [rax+18464] - 000cc d3 e0 shl eax, cl - 000ce 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 000d5 89 81 20 48 00 - 00 mov DWORD PTR [rcx+18464], eax - -; 1812 : j->code_bits -= s; - - 000db 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 000e2 8b 4d 64 mov ecx, DWORD PTR s$1[rbp] - 000e5 8b 80 24 48 00 - 00 mov eax, DWORD PTR [rax+18468] - 000eb 2b c1 sub eax, ecx - 000ed 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 000f4 89 81 24 48 00 - 00 mov DWORD PTR [rcx+18468], eax - -; 1813 : return h->values[k]; - - 000fa 48 63 45 44 movsxd rax, DWORD PTR k$[rbp] - 000fe 48 8b 8d 68 01 - 00 00 mov rcx, QWORD PTR h$[rbp] - 00105 0f b6 84 01 00 - 04 00 00 movzx eax, BYTE PTR [rcx+rax+1024] - 0010d e9 da 01 00 00 jmp $LN1@stbi__jpeg -$LN6@stbi__jpeg: - -; 1814 : } -; 1815 : -; 1816 : // naive test is to shift the code_buffer down so k bits are -; 1817 : // valid, then test against maxcode. To speed this up, we've -; 1818 : // preshifted maxcode left so that it has (16-k) 0s at the -; 1819 : // end; in other words, regardless of the number of bits, it -; 1820 : // wants to be compared against something shifted to have 16; -; 1821 : // that way we don't need to shift inside the loop. -; 1822 : temp = j->code_buffer >> 16; - - 00112 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00119 8b 80 20 48 00 - 00 mov eax, DWORD PTR [rax+18464] - 0011f c1 e8 10 shr eax, 16 - 00122 89 45 04 mov DWORD PTR temp$[rbp], eax - -; 1823 : for (k = FAST_BITS + 1;; ++k) - - 00125 c7 45 44 0a 00 - 00 00 mov DWORD PTR k$[rbp], 10 - 0012c eb 08 jmp SHORT $LN4@stbi__jpeg -$LN2@stbi__jpeg: - 0012e 8b 45 44 mov eax, DWORD PTR k$[rbp] - 00131 ff c0 inc eax - 00133 89 45 44 mov DWORD PTR k$[rbp], eax -$LN4@stbi__jpeg: - -; 1824 : if (temp < h->maxcode[k]) - - 00136 48 63 45 44 movsxd rax, DWORD PTR k$[rbp] - 0013a 48 8b 8d 68 01 - 00 00 mov rcx, QWORD PTR h$[rbp] - 00141 8b 84 81 04 06 - 00 00 mov eax, DWORD PTR [rcx+rax*4+1540] - 00148 39 45 04 cmp DWORD PTR temp$[rbp], eax - 0014b 73 02 jae SHORT $LN8@stbi__jpeg - -; 1825 : break; - - 0014d eb 02 jmp SHORT $LN3@stbi__jpeg -$LN8@stbi__jpeg: - 0014f eb dd jmp SHORT $LN2@stbi__jpeg -$LN3@stbi__jpeg: - -; 1826 : if (k == 17) { - - 00151 83 7d 44 11 cmp DWORD PTR k$[rbp], 17 - 00155 75 27 jne SHORT $LN9@stbi__jpeg - -; 1827 : // error! code not found -; 1828 : j->code_bits -= 16; - - 00157 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 0015e 8b 80 24 48 00 - 00 mov eax, DWORD PTR [rax+18468] - 00164 83 e8 10 sub eax, 16 - 00167 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 0016e 89 81 24 48 00 - 00 mov DWORD PTR [rcx+18468], eax - -; 1829 : return -1; - - 00174 b8 ff ff ff ff mov eax, -1 - 00179 e9 6e 01 00 00 jmp $LN1@stbi__jpeg -$LN9@stbi__jpeg: - -; 1830 : } -; 1831 : -; 1832 : if (k > j->code_bits) - - 0017e 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00185 8b 80 24 48 00 - 00 mov eax, DWORD PTR [rax+18468] - 0018b 39 45 44 cmp DWORD PTR k$[rbp], eax - 0018e 7e 0a jle SHORT $LN10@stbi__jpeg - -; 1833 : return -1; - - 00190 b8 ff ff ff ff mov eax, -1 - 00195 e9 52 01 00 00 jmp $LN1@stbi__jpeg -$LN10@stbi__jpeg: - -; 1834 : -; 1835 : // convert the huffman code to the symbol id -; 1836 : c = ((j->code_buffer >> (32 - k)) & stbi__bmask[k]) + h->delta[k]; - - 0019a b8 20 00 00 00 mov eax, 32 ; 00000020H - 0019f 2b 45 44 sub eax, DWORD PTR k$[rbp] - 001a2 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 001a9 48 89 8d 38 01 - 00 00 mov QWORD PTR tv233[rbp], rcx - 001b0 0f b6 c8 movzx ecx, al - 001b3 48 8b 85 38 01 - 00 00 mov rax, QWORD PTR tv233[rbp] - 001ba 8b 80 20 48 00 - 00 mov eax, DWORD PTR [rax+18464] - 001c0 d3 e8 shr eax, cl - 001c2 48 63 4d 44 movsxd rcx, DWORD PTR k$[rbp] - 001c6 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__bmask - 001cd 23 04 8a and eax, DWORD PTR [rdx+rcx*4] - 001d0 48 63 4d 44 movsxd rcx, DWORD PTR k$[rbp] - 001d4 48 8b 95 68 01 - 00 00 mov rdx, QWORD PTR h$[rbp] - 001db 03 84 8a 4c 06 - 00 00 add eax, DWORD PTR [rdx+rcx*4+1612] - 001e2 89 45 24 mov DWORD PTR c$[rbp], eax - -; 1837 : if (c < 0 || c >= 256) // symbol id out of bounds! - - 001e5 83 7d 24 00 cmp DWORD PTR c$[rbp], 0 - 001e9 7c 09 jl SHORT $LN12@stbi__jpeg - 001eb 81 7d 24 00 01 - 00 00 cmp DWORD PTR c$[rbp], 256 ; 00000100H - 001f2 7c 0a jl SHORT $LN11@stbi__jpeg -$LN12@stbi__jpeg: - -; 1838 : return -1; - - 001f4 b8 ff ff ff ff mov eax, -1 - 001f9 e9 ee 00 00 00 jmp $LN1@stbi__jpeg -$LN11@stbi__jpeg: - -; 1839 : STBI_ASSERT((((j->code_buffer) >> (32 - h->size[c])) & stbi__bmask[h->size[c]]) == - - 001fe 48 63 45 24 movsxd rax, DWORD PTR c$[rbp] - 00202 48 8b 8d 68 01 - 00 00 mov rcx, QWORD PTR h$[rbp] - 00209 0f b6 84 01 00 - 05 00 00 movzx eax, BYTE PTR [rcx+rax+1280] - 00211 b9 20 00 00 00 mov ecx, 32 ; 00000020H - 00216 2b c8 sub ecx, eax - 00218 8b c1 mov eax, ecx - 0021a 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00221 48 89 8d 38 01 - 00 00 mov QWORD PTR tv242[rbp], rcx - 00228 0f b6 c8 movzx ecx, al - 0022b 48 8b 85 38 01 - 00 00 mov rax, QWORD PTR tv242[rbp] - 00232 8b 80 20 48 00 - 00 mov eax, DWORD PTR [rax+18464] - 00238 d3 e8 shr eax, cl - 0023a 48 63 4d 24 movsxd rcx, DWORD PTR c$[rbp] - 0023e 48 8b 95 68 01 - 00 00 mov rdx, QWORD PTR h$[rbp] - 00245 0f b6 8c 0a 00 - 05 00 00 movzx ecx, BYTE PTR [rdx+rcx+1280] - 0024d 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__bmask - 00254 23 04 8a and eax, DWORD PTR [rdx+rcx*4] - 00257 48 63 4d 24 movsxd rcx, DWORD PTR c$[rbp] - 0025b 48 8b 95 68 01 - 00 00 mov rdx, QWORD PTR h$[rbp] - 00262 0f b7 8c 4a 00 - 02 00 00 movzx ecx, WORD PTR [rdx+rcx*2+512] - 0026a 3b c1 cmp eax, ecx - 0026c 74 1c je SHORT $LN14@stbi__jpeg - 0026e 41 b8 30 07 00 - 00 mov r8d, 1840 ; 00000730H - 00274 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_1GG@PCNMFHPN@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ - 0027b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_1KE@JGKPJEBO@?$AA?$CI?$AA?$CI?$AA?$CI?$AAj?$AA?9?$AA?$DO?$AAc?$AAo?$AAd?$AAe?$AA_?$AAb?$AAu?$AAf?$AAf@ - 00282 ff 15 00 00 00 - 00 call QWORD PTR __imp__wassert - 00288 33 c0 xor eax, eax -$LN14@stbi__jpeg: - -; 1840 : h->code[c]); -; 1841 : -; 1842 : // convert the id to a symbol -; 1843 : j->code_bits -= k; - - 0028a 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00291 8b 4d 44 mov ecx, DWORD PTR k$[rbp] - 00294 8b 80 24 48 00 - 00 mov eax, DWORD PTR [rax+18468] - 0029a 2b c1 sub eax, ecx - 0029c 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 002a3 89 81 24 48 00 - 00 mov DWORD PTR [rcx+18468], eax - -; 1844 : j->code_buffer <<= k; - - 002a9 8b 45 44 mov eax, DWORD PTR k$[rbp] - 002ac 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 002b3 48 89 8d 38 01 - 00 00 mov QWORD PTR tv253[rbp], rcx - 002ba 0f b6 c8 movzx ecx, al - 002bd 48 8b 85 38 01 - 00 00 mov rax, QWORD PTR tv253[rbp] - 002c4 8b 80 20 48 00 - 00 mov eax, DWORD PTR [rax+18464] - 002ca d3 e0 shl eax, cl - 002cc 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 002d3 89 81 20 48 00 - 00 mov DWORD PTR [rcx+18464], eax - -; 1845 : return h->values[c]; - - 002d9 48 63 45 24 movsxd rax, DWORD PTR c$[rbp] - 002dd 48 8b 8d 68 01 - 00 00 mov rcx, QWORD PTR h$[rbp] - 002e4 0f b6 84 01 00 - 04 00 00 movzx eax, BYTE PTR [rcx+rax+1024] -$LN1@stbi__jpeg: - -; 1846 : } - - 002ec 48 8d a5 48 01 - 00 00 lea rsp, QWORD PTR [rbp+328] - 002f3 5f pop rdi - 002f4 5d pop rbp - 002f5 c3 ret 0 -stbi__jpeg_huff_decode ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__grow_buffer_unsafe -_TEXT SEGMENT -b$1 = 4 -c$2 = 36 -tv70 = 244 -j$ = 288 -stbi__grow_buffer_unsafe PROC ; COMDAT - -; 1772 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 28 01 - 00 00 sub rsp, 296 ; 00000128H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 -$LN4@stbi__grow: - -; 1773 : do { -; 1774 : unsigned int b = j->nomore ? 0 : stbi__get8(j->s); - - 00020 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00027 83 b8 2c 48 00 - 00 00 cmp DWORD PTR [rax+18476], 0 - 0002e 74 0c je SHORT $LN10@stbi__grow - 00030 c7 85 f4 00 00 - 00 00 00 00 00 mov DWORD PTR tv70[rbp], 0 - 0003a eb 18 jmp SHORT $LN11@stbi__grow -$LN10@stbi__grow: - 0003c 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00043 48 8b 08 mov rcx, QWORD PTR [rax] - 00046 e8 00 00 00 00 call stbi__get8 - 0004b 0f b6 c0 movzx eax, al - 0004e 89 85 f4 00 00 - 00 mov DWORD PTR tv70[rbp], eax -$LN11@stbi__grow: - 00054 8b 85 f4 00 00 - 00 mov eax, DWORD PTR tv70[rbp] - 0005a 89 45 04 mov DWORD PTR b$1[rbp], eax - -; 1775 : if (b == 0xff) { - - 0005d 81 7d 04 ff 00 - 00 00 cmp DWORD PTR b$1[rbp], 255 ; 000000ffH - 00064 75 5f jne SHORT $LN7@stbi__grow - -; 1776 : int c = stbi__get8(j->s); - - 00066 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 0006d 48 8b 08 mov rcx, QWORD PTR [rax] - 00070 e8 00 00 00 00 call stbi__get8 - 00075 0f b6 c0 movzx eax, al - 00078 89 45 24 mov DWORD PTR c$2[rbp], eax -$LN5@stbi__grow: - -; 1777 : while (c == 0xff) - - 0007b 81 7d 24 ff 00 - 00 00 cmp DWORD PTR c$2[rbp], 255 ; 000000ffH - 00082 75 17 jne SHORT $LN6@stbi__grow - -; 1778 : c = stbi__get8(j->s); // consume fill bytes - - 00084 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 0008b 48 8b 08 mov rcx, QWORD PTR [rax] - 0008e e8 00 00 00 00 call stbi__get8 - 00093 0f b6 c0 movzx eax, al - 00096 89 45 24 mov DWORD PTR c$2[rbp], eax - 00099 eb e0 jmp SHORT $LN5@stbi__grow -$LN6@stbi__grow: - -; 1779 : if (c != 0) { - - 0009b 83 7d 24 00 cmp DWORD PTR c$2[rbp], 0 - 0009f 74 24 je SHORT $LN8@stbi__grow - -; 1780 : j->marker = (unsigned char)c; - - 000a1 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 000a8 0f b6 4d 24 movzx ecx, BYTE PTR c$2[rbp] - 000ac 88 88 28 48 00 - 00 mov BYTE PTR [rax+18472], cl - -; 1781 : j->nomore = 1; - - 000b2 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 000b9 c7 80 2c 48 00 - 00 01 00 00 00 mov DWORD PTR [rax+18476], 1 - -; 1782 : return; - - 000c3 eb 6b jmp SHORT $LN1@stbi__grow -$LN8@stbi__grow: -$LN7@stbi__grow: - -; 1783 : } -; 1784 : } -; 1785 : j->code_buffer |= b << (24 - j->code_bits); - - 000c5 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 000cc b9 18 00 00 00 mov ecx, 24 - 000d1 2b 88 24 48 00 - 00 sub ecx, DWORD PTR [rax+18468] - 000d7 8b c1 mov eax, ecx - 000d9 0f b6 c8 movzx ecx, al - 000dc 8b 45 04 mov eax, DWORD PTR b$1[rbp] - 000df d3 e0 shl eax, cl - 000e1 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 000e8 8b 89 20 48 00 - 00 mov ecx, DWORD PTR [rcx+18464] - 000ee 0b c8 or ecx, eax - 000f0 8b c1 mov eax, ecx - 000f2 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 000f9 89 81 20 48 00 - 00 mov DWORD PTR [rcx+18464], eax - -; 1786 : j->code_bits += 8; - - 000ff 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00106 8b 80 24 48 00 - 00 mov eax, DWORD PTR [rax+18468] - 0010c 83 c0 08 add eax, 8 - 0010f 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR j$[rbp] - 00116 89 81 24 48 00 - 00 mov DWORD PTR [rcx+18468], eax - -; 1787 : } while (j->code_bits <= 24); - - 0011c 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR j$[rbp] - 00123 83 b8 24 48 00 - 00 18 cmp DWORD PTR [rax+18468], 24 - 0012a 0f 8e f0 fe ff - ff jle $LN4@stbi__grow -$LN1@stbi__grow: - -; 1788 : } - - 00130 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 00137 5f pop rdi - 00138 5d pop rbp - 00139 c3 ret 0 -stbi__grow_buffer_unsafe ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__build_fast_ac -_TEXT SEGMENT -i$ = 4 -fast$1 = 36 -rs$2 = 68 -run$3 = 100 -magbits$4 = 132 -len$5 = 164 -k$6 = 196 -m$7 = 228 -tv174 = 436 -tv178 = 436 -fast_ac$ = 480 -h$ = 488 -stbi__build_fast_ac PROC ; COMDAT - -; 1744 : { - - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec e8 01 - 00 00 sub rsp, 488 ; 000001e8H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 1745 : int i; -; 1746 : for (i = 0; i < (1 << FAST_BITS); ++i) { - - 00025 c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 0002c eb 08 jmp SHORT $LN4@stbi__buil -$LN2@stbi__buil: - 0002e 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00031 ff c0 inc eax - 00033 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__buil: - 00036 81 7d 04 00 02 - 00 00 cmp DWORD PTR i$[rbp], 512 ; 00000200H - 0003d 0f 8d 6b 01 00 - 00 jge $LN3@stbi__buil - -; 1747 : stbi_uc fast = h->fast[i]; - - 00043 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 00047 48 8b 8d e8 01 - 00 00 mov rcx, QWORD PTR h$[rbp] - 0004e 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00052 88 45 24 mov BYTE PTR fast$1[rbp], al - -; 1748 : fast_ac[i] = 0; - - 00055 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 00059 33 c9 xor ecx, ecx - 0005b 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR fast_ac$[rbp] - 00062 66 89 0c 42 mov WORD PTR [rdx+rax*2], cx - -; 1749 : if (fast < 255) { - - 00066 0f b6 45 24 movzx eax, BYTE PTR fast$1[rbp] - 0006a 3d ff 00 00 00 cmp eax, 255 ; 000000ffH - 0006f 0f 8d 34 01 00 - 00 jge $LN5@stbi__buil - -; 1750 : int rs = h->values[fast]; - - 00075 0f b6 45 24 movzx eax, BYTE PTR fast$1[rbp] - 00079 48 8b 8d e8 01 - 00 00 mov rcx, QWORD PTR h$[rbp] - 00080 0f b6 84 01 00 - 04 00 00 movzx eax, BYTE PTR [rcx+rax+1024] - 00088 89 45 44 mov DWORD PTR rs$2[rbp], eax - -; 1751 : int run = (rs >> 4) & 15; - - 0008b 8b 45 44 mov eax, DWORD PTR rs$2[rbp] - 0008e c1 f8 04 sar eax, 4 - 00091 83 e0 0f and eax, 15 - 00094 89 45 64 mov DWORD PTR run$3[rbp], eax - -; 1752 : int magbits = rs & 15; - - 00097 8b 45 44 mov eax, DWORD PTR rs$2[rbp] - 0009a 83 e0 0f and eax, 15 - 0009d 89 85 84 00 00 - 00 mov DWORD PTR magbits$4[rbp], eax - -; 1753 : int len = h->size[fast]; - - 000a3 0f b6 45 24 movzx eax, BYTE PTR fast$1[rbp] - 000a7 48 8b 8d e8 01 - 00 00 mov rcx, QWORD PTR h$[rbp] - 000ae 0f b6 84 01 00 - 05 00 00 movzx eax, BYTE PTR [rcx+rax+1280] - 000b6 89 85 a4 00 00 - 00 mov DWORD PTR len$5[rbp], eax - -; 1754 : -; 1755 : if (magbits && len + magbits <= FAST_BITS) { - - 000bc 83 bd 84 00 00 - 00 00 cmp DWORD PTR magbits$4[rbp], 0 - 000c3 0f 84 e0 00 00 - 00 je $LN6@stbi__buil - 000c9 8b 85 84 00 00 - 00 mov eax, DWORD PTR magbits$4[rbp] - 000cf 8b 8d a4 00 00 - 00 mov ecx, DWORD PTR len$5[rbp] - 000d5 03 c8 add ecx, eax - 000d7 8b c1 mov eax, ecx - 000d9 83 f8 09 cmp eax, 9 - 000dc 0f 8f c7 00 00 - 00 jg $LN6@stbi__buil - -; 1756 : // magnitude code followed by receive_extend code -; 1757 : int k = ((i << len) & ((1 << FAST_BITS) - 1)) >> - - 000e2 8b 85 a4 00 00 - 00 mov eax, DWORD PTR len$5[rbp] - 000e8 0f b6 c8 movzx ecx, al - 000eb 8b 45 04 mov eax, DWORD PTR i$[rbp] - 000ee d3 e0 shl eax, cl - 000f0 25 ff 01 00 00 and eax, 511 ; 000001ffH - 000f5 b9 09 00 00 00 mov ecx, 9 - 000fa 2b 8d 84 00 00 - 00 sub ecx, DWORD PTR magbits$4[rbp] - 00100 d3 f8 sar eax, cl - 00102 89 85 c4 00 00 - 00 mov DWORD PTR k$6[rbp], eax - -; 1758 : (FAST_BITS - magbits); -; 1759 : int m = 1 << (magbits - 1); - - 00108 8b 85 84 00 00 - 00 mov eax, DWORD PTR magbits$4[rbp] - 0010e ff c8 dec eax - 00110 b9 01 00 00 00 mov ecx, 1 - 00115 89 8d b4 01 00 - 00 mov DWORD PTR tv174[rbp], ecx - 0011b 0f b6 c8 movzx ecx, al - 0011e 8b 85 b4 01 00 - 00 mov eax, DWORD PTR tv174[rbp] - 00124 d3 e0 shl eax, cl - 00126 89 85 e4 00 00 - 00 mov DWORD PTR m$7[rbp], eax - -; 1760 : if (k < m) - - 0012c 8b 85 e4 00 00 - 00 mov eax, DWORD PTR m$7[rbp] - 00132 39 85 c4 00 00 - 00 cmp DWORD PTR k$6[rbp], eax - 00138 7d 2c jge SHORT $LN7@stbi__buil - -; 1761 : k += (~0U << magbits) + 1; - - 0013a 8b 85 84 00 00 - 00 mov eax, DWORD PTR magbits$4[rbp] - 00140 b9 ff ff ff ff mov ecx, -1 ; ffffffffH - 00145 89 8d b4 01 00 - 00 mov DWORD PTR tv178[rbp], ecx - 0014b 0f b6 c8 movzx ecx, al - 0014e 8b 85 b4 01 00 - 00 mov eax, DWORD PTR tv178[rbp] - 00154 d3 e0 shl eax, cl - 00156 8b 8d c4 00 00 - 00 mov ecx, DWORD PTR k$6[rbp] - 0015c 8d 44 01 01 lea eax, DWORD PTR [rcx+rax+1] - 00160 89 85 c4 00 00 - 00 mov DWORD PTR k$6[rbp], eax -$LN7@stbi__buil: - -; 1762 : // if the result is small enough, we can fit it in fast_ac table -; 1763 : if (k >= -128 && k <= 127) - - 00166 83 bd c4 00 00 - 00 80 cmp DWORD PTR k$6[rbp], -128 ; ffffffffffffff80H - 0016d 7c 3a jl SHORT $LN8@stbi__buil - 0016f 83 bd c4 00 00 - 00 7f cmp DWORD PTR k$6[rbp], 127 ; 0000007fH - 00176 7f 31 jg SHORT $LN8@stbi__buil - -; 1764 : fast_ac[i] = (stbi__int16)((k * 256) + (run * 16) + - - 00178 69 85 c4 00 00 - 00 00 01 00 00 imul eax, DWORD PTR k$6[rbp], 256 ; 00000100H - 00182 6b 4d 64 10 imul ecx, DWORD PTR run$3[rbp], 16 - 00186 03 c1 add eax, ecx - 00188 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR magbits$4[rbp] - 0018e 8b 95 a4 00 00 - 00 mov edx, DWORD PTR len$5[rbp] - 00194 03 d1 add edx, ecx - 00196 8b ca mov ecx, edx - 00198 03 c1 add eax, ecx - 0019a 48 63 4d 04 movsxd rcx, DWORD PTR i$[rbp] - 0019e 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR fast_ac$[rbp] - 001a5 66 89 04 4a mov WORD PTR [rdx+rcx*2], ax -$LN8@stbi__buil: -$LN6@stbi__buil: -$LN5@stbi__buil: - -; 1765 : (len + magbits)); -; 1766 : } -; 1767 : } -; 1768 : } - - 001a9 e9 80 fe ff ff jmp $LN2@stbi__buil -$LN3@stbi__buil: - -; 1769 : } - - 001ae 48 8d a5 c8 01 - 00 00 lea rsp, QWORD PTR [rbp+456] - 001b5 5f pop rdi - 001b6 5d pop rbp - 001b7 c3 ret 0 -stbi__build_fast_ac ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__build_huffman -_TEXT SEGMENT -i$ = 4 -j$ = 36 -k$ = 68 -code$ = 100 -s$1 = 132 -c$2 = 164 -m$3 = 196 -tv238 = 404 -h$ = 448 -count$ = 456 -stbi__build_huffman PROC ; COMDAT - -; 1695 : { - - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec c8 01 - 00 00 sub rsp, 456 ; 000001c8H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 1696 : int i, j, k = 0; - - 00025 c7 45 44 00 00 - 00 00 mov DWORD PTR k$[rbp], 0 - -; 1697 : unsigned int code; -; 1698 : // build size list for each symbol (from JPEG spec) -; 1699 : for (i = 0; i < 16; ++i) { - - 0002c c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 00033 eb 08 jmp SHORT $LN4@stbi__buil -$LN2@stbi__buil: - 00035 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00038 ff c0 inc eax - 0003a 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__buil: - 0003d 83 7d 04 10 cmp DWORD PTR i$[rbp], 16 - 00041 7d 61 jge SHORT $LN3@stbi__buil - -; 1700 : for (j = 0; j < count[i]; ++j) { - - 00043 c7 45 24 00 00 - 00 00 mov DWORD PTR j$[rbp], 0 - 0004a eb 08 jmp SHORT $LN7@stbi__buil -$LN5@stbi__buil: - 0004c 8b 45 24 mov eax, DWORD PTR j$[rbp] - 0004f ff c0 inc eax - 00051 89 45 24 mov DWORD PTR j$[rbp], eax -$LN7@stbi__buil: - 00054 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 00058 48 8b 8d c8 01 - 00 00 mov rcx, QWORD PTR count$[rbp] - 0005f 8b 04 81 mov eax, DWORD PTR [rcx+rax*4] - 00062 39 45 24 cmp DWORD PTR j$[rbp], eax - 00065 7d 3b jge SHORT $LN6@stbi__buil - -; 1701 : h->size[k++] = (stbi_uc)(i + 1); - - 00067 8b 45 04 mov eax, DWORD PTR i$[rbp] - 0006a ff c0 inc eax - 0006c 48 63 4d 44 movsxd rcx, DWORD PTR k$[rbp] - 00070 48 8b 95 c0 01 - 00 00 mov rdx, QWORD PTR h$[rbp] - 00077 88 84 0a 00 05 - 00 00 mov BYTE PTR [rdx+rcx+1280], al - 0007e 8b 45 44 mov eax, DWORD PTR k$[rbp] - 00081 ff c0 inc eax - 00083 89 45 44 mov DWORD PTR k$[rbp], eax - -; 1702 : if (k >= 257) - - 00086 81 7d 44 01 01 - 00 00 cmp DWORD PTR k$[rbp], 257 ; 00000101H - 0008d 7c 11 jl SHORT $LN19@stbi__buil - -; 1703 : return stbi__err("bad size list", "Corrupt JPEG"); - - 0008f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0O@DEFOLMLB@bad?5size?5list@ - 00096 e8 00 00 00 00 call stbi__err - 0009b e9 10 02 00 00 jmp $LN1@stbi__buil -$LN19@stbi__buil: - -; 1704 : } - - 000a0 eb aa jmp SHORT $LN5@stbi__buil -$LN6@stbi__buil: - -; 1705 : } - - 000a2 eb 91 jmp SHORT $LN2@stbi__buil -$LN3@stbi__buil: - -; 1706 : h->size[k] = 0; - - 000a4 48 63 45 44 movsxd rax, DWORD PTR k$[rbp] - 000a8 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR h$[rbp] - 000af c6 84 01 00 05 - 00 00 00 mov BYTE PTR [rcx+rax+1280], 0 - -; 1707 : -; 1708 : // compute actual symbols (from jpeg spec) -; 1709 : code = 0; - - 000b7 c7 45 64 00 00 - 00 00 mov DWORD PTR code$[rbp], 0 - -; 1710 : k = 0; - - 000be c7 45 44 00 00 - 00 00 mov DWORD PTR k$[rbp], 0 - -; 1711 : for (j = 1; j <= 16; ++j) { - - 000c5 c7 45 24 01 00 - 00 00 mov DWORD PTR j$[rbp], 1 - 000cc eb 08 jmp SHORT $LN10@stbi__buil -$LN8@stbi__buil: - 000ce 8b 45 24 mov eax, DWORD PTR j$[rbp] - 000d1 ff c0 inc eax - 000d3 89 45 24 mov DWORD PTR j$[rbp], eax -$LN10@stbi__buil: - 000d6 83 7d 24 10 cmp DWORD PTR j$[rbp], 16 - 000da 0f 8f ca 00 00 - 00 jg $LN9@stbi__buil - -; 1712 : // compute delta to add to code to compute symbol id -; 1713 : h->delta[j] = k - code; - - 000e0 8b 45 64 mov eax, DWORD PTR code$[rbp] - 000e3 8b 4d 44 mov ecx, DWORD PTR k$[rbp] - 000e6 2b c8 sub ecx, eax - 000e8 8b c1 mov eax, ecx - 000ea 48 63 4d 24 movsxd rcx, DWORD PTR j$[rbp] - 000ee 48 8b 95 c0 01 - 00 00 mov rdx, QWORD PTR h$[rbp] - 000f5 89 84 8a 4c 06 - 00 00 mov DWORD PTR [rdx+rcx*4+1612], eax - -; 1714 : if (h->size[k] == j) { - - 000fc 48 63 45 44 movsxd rax, DWORD PTR k$[rbp] - 00100 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR h$[rbp] - 00107 0f b6 84 01 00 - 05 00 00 movzx eax, BYTE PTR [rcx+rax+1280] - 0010f 3b 45 24 cmp eax, DWORD PTR j$[rbp] - 00112 75 67 jne SHORT $LN20@stbi__buil -$LN11@stbi__buil: - -; 1715 : while (h->size[k] == j) - - 00114 48 63 45 44 movsxd rax, DWORD PTR k$[rbp] - 00118 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR h$[rbp] - 0011f 0f b6 84 01 00 - 05 00 00 movzx eax, BYTE PTR [rcx+rax+1280] - 00127 3b 45 24 cmp eax, DWORD PTR j$[rbp] - 0012a 75 29 jne SHORT $LN12@stbi__buil - -; 1716 : h->code[k++] = (stbi__uint16)(code++); - - 0012c 48 63 45 44 movsxd rax, DWORD PTR k$[rbp] - 00130 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR h$[rbp] - 00137 0f b7 55 64 movzx edx, WORD PTR code$[rbp] - 0013b 66 89 94 41 00 - 02 00 00 mov WORD PTR [rcx+rax*2+512], dx - 00143 8b 45 44 mov eax, DWORD PTR k$[rbp] - 00146 ff c0 inc eax - 00148 89 45 44 mov DWORD PTR k$[rbp], eax - 0014b 8b 45 64 mov eax, DWORD PTR code$[rbp] - 0014e ff c0 inc eax - 00150 89 45 64 mov DWORD PTR code$[rbp], eax - 00153 eb bf jmp SHORT $LN11@stbi__buil -$LN12@stbi__buil: - -; 1717 : if (code - 1 >= (1u << j)) - - 00155 8b 45 64 mov eax, DWORD PTR code$[rbp] - 00158 ff c8 dec eax - 0015a 8b 4d 24 mov ecx, DWORD PTR j$[rbp] - 0015d ba 01 00 00 00 mov edx, 1 - 00162 d3 e2 shl edx, cl - 00164 8b ca mov ecx, edx - 00166 3b c1 cmp eax, ecx - 00168 72 11 jb SHORT $LN21@stbi__buil - -; 1718 : return stbi__err("bad code lengths", "Corrupt JPEG"); - - 0016a 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BB@FOKGPEKG@bad?5code?5lengths@ - 00171 e8 00 00 00 00 call stbi__err - 00176 e9 35 01 00 00 jmp $LN1@stbi__buil -$LN21@stbi__buil: -$LN20@stbi__buil: - -; 1719 : } -; 1720 : // compute largest code + 1 for this size, preshifted as needed later -; 1721 : h->maxcode[j] = code << (16 - j); - - 0017b b8 10 00 00 00 mov eax, 16 - 00180 2b 45 24 sub eax, DWORD PTR j$[rbp] - 00183 0f b6 c8 movzx ecx, al - 00186 8b 45 64 mov eax, DWORD PTR code$[rbp] - 00189 d3 e0 shl eax, cl - 0018b 48 63 4d 24 movsxd rcx, DWORD PTR j$[rbp] - 0018f 48 8b 95 c0 01 - 00 00 mov rdx, QWORD PTR h$[rbp] - 00196 89 84 8a 04 06 - 00 00 mov DWORD PTR [rdx+rcx*4+1540], eax - -; 1722 : code <<= 1; - - 0019d 8b 45 64 mov eax, DWORD PTR code$[rbp] - 001a0 d1 e0 shl eax, 1 - 001a2 89 45 64 mov DWORD PTR code$[rbp], eax - -; 1723 : } - - 001a5 e9 24 ff ff ff jmp $LN8@stbi__buil -$LN9@stbi__buil: - -; 1724 : h->maxcode[j] = 0xffffffff; - - 001aa 48 63 45 24 movsxd rax, DWORD PTR j$[rbp] - 001ae 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR h$[rbp] - 001b5 c7 84 81 04 06 - 00 00 ff ff ff - ff mov DWORD PTR [rcx+rax*4+1540], -1 ; ffffffffH - -; 1725 : -; 1726 : // build non-spec acceleration table; 255 is flag for not-accelerated -; 1727 : memset(h->fast, 255, 1 << FAST_BITS); - - 001c0 48 8b 85 c0 01 - 00 00 mov rax, QWORD PTR h$[rbp] - 001c7 41 b8 00 02 00 - 00 mov r8d, 512 ; 00000200H - 001cd ba ff 00 00 00 mov edx, 255 ; 000000ffH - 001d2 48 8b c8 mov rcx, rax - 001d5 e8 00 00 00 00 call memset - 001da 90 npad 1 - -; 1728 : for (i = 0; i < k; ++i) { - - 001db c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 001e2 eb 08 jmp SHORT $LN15@stbi__buil -$LN13@stbi__buil: - 001e4 8b 45 04 mov eax, DWORD PTR i$[rbp] - 001e7 ff c0 inc eax - 001e9 89 45 04 mov DWORD PTR i$[rbp], eax -$LN15@stbi__buil: - 001ec 8b 45 44 mov eax, DWORD PTR k$[rbp] - 001ef 39 45 04 cmp DWORD PTR i$[rbp], eax - 001f2 0f 8d b3 00 00 - 00 jge $LN14@stbi__buil - -; 1729 : int s = h->size[i]; - - 001f8 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 001fc 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR h$[rbp] - 00203 0f b6 84 01 00 - 05 00 00 movzx eax, BYTE PTR [rcx+rax+1280] - 0020b 89 85 84 00 00 - 00 mov DWORD PTR s$1[rbp], eax - -; 1730 : if (s <= FAST_BITS) { - - 00211 83 bd 84 00 00 - 00 09 cmp DWORD PTR s$1[rbp], 9 - 00218 0f 8f 88 00 00 - 00 jg $LN22@stbi__buil - -; 1731 : int c = h->code[i] << (FAST_BITS - s); - - 0021e 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 00222 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR h$[rbp] - 00229 0f b7 84 41 00 - 02 00 00 movzx eax, WORD PTR [rcx+rax*2+512] - 00231 b9 09 00 00 00 mov ecx, 9 - 00236 2b 8d 84 00 00 - 00 sub ecx, DWORD PTR s$1[rbp] - 0023c d3 e0 shl eax, cl - 0023e 89 85 a4 00 00 - 00 mov DWORD PTR c$2[rbp], eax - -; 1732 : int m = 1 << (FAST_BITS - s); - - 00244 b8 09 00 00 00 mov eax, 9 - 00249 2b 85 84 00 00 - 00 sub eax, DWORD PTR s$1[rbp] - 0024f b9 01 00 00 00 mov ecx, 1 - 00254 89 8d 94 01 00 - 00 mov DWORD PTR tv238[rbp], ecx - 0025a 0f b6 c8 movzx ecx, al - 0025d 8b 85 94 01 00 - 00 mov eax, DWORD PTR tv238[rbp] - 00263 d3 e0 shl eax, cl - 00265 89 85 c4 00 00 - 00 mov DWORD PTR m$3[rbp], eax - -; 1733 : for (j = 0; j < m; ++j) { - - 0026b c7 45 24 00 00 - 00 00 mov DWORD PTR j$[rbp], 0 - 00272 eb 08 jmp SHORT $LN18@stbi__buil -$LN16@stbi__buil: - 00274 8b 45 24 mov eax, DWORD PTR j$[rbp] - 00277 ff c0 inc eax - 00279 89 45 24 mov DWORD PTR j$[rbp], eax -$LN18@stbi__buil: - 0027c 8b 85 c4 00 00 - 00 mov eax, DWORD PTR m$3[rbp] - 00282 39 45 24 cmp DWORD PTR j$[rbp], eax - 00285 7d 1f jge SHORT $LN17@stbi__buil - -; 1734 : h->fast[c + j] = (stbi_uc)i; - - 00287 8b 45 24 mov eax, DWORD PTR j$[rbp] - 0028a 8b 8d a4 00 00 - 00 mov ecx, DWORD PTR c$2[rbp] - 00290 03 c8 add ecx, eax - 00292 8b c1 mov eax, ecx - 00294 48 98 cdqe - 00296 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR h$[rbp] - 0029d 0f b6 55 04 movzx edx, BYTE PTR i$[rbp] - 002a1 88 14 01 mov BYTE PTR [rcx+rax], dl - -; 1735 : } - - 002a4 eb ce jmp SHORT $LN16@stbi__buil -$LN17@stbi__buil: -$LN22@stbi__buil: - -; 1736 : } -; 1737 : } - - 002a6 e9 39 ff ff ff jmp $LN13@stbi__buil -$LN14@stbi__buil: - -; 1738 : return 1; - - 002ab b8 01 00 00 00 mov eax, 1 -$LN1@stbi__buil: - -; 1739 : } - - 002b0 48 8d a5 a8 01 - 00 00 lea rsp, QWORD PTR [rbp+424] - 002b7 5f pop rdi - 002b8 5d pop rbp - 002b9 c3 ret 0 -stbi__build_huffman ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__convert_format16 -_TEXT SEGMENT -i$ = 4 -j$ = 36 -good$ = 72 -src$1 = 104 -dest$2 = 136 -tv129 = 340 -tv261 = 340 -tv281 = 340 -tv303 = 340 -tv323 = 340 -tv82 = 344 -tv356 = 344 -data$ = 384 -img_n$ = 392 -req_comp$ = 400 -x$ = 408 -y$ = 416 -stbi__convert_format16 PROC ; COMDAT - -; 1416 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx - 0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00013 55 push rbp - 00014 57 push rdi - 00015 48 81 ec 88 01 - 00 00 sub rsp, 392 ; 00000188H - 0001c 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00021 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00028 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002d 90 npad 1 - -; 1417 : int i, j; -; 1418 : stbi__uint16 *good; -; 1419 : -; 1420 : if (req_comp == img_n) - - 0002e 8b 85 88 01 00 - 00 mov eax, DWORD PTR img_n$[rbp] - 00034 39 85 90 01 00 - 00 cmp DWORD PTR req_comp$[rbp], eax - 0003a 75 0c jne SHORT $LN43@stbi__conv - -; 1421 : return data; - - 0003c 48 8b 85 80 01 - 00 00 mov rax, QWORD PTR data$[rbp] - 00043 e9 37 0a 00 00 jmp $LN1@stbi__conv -$LN43@stbi__conv: - -; 1422 : STBI_ASSERT(req_comp >= 1 && req_comp <= 4); - - 00048 83 bd 90 01 00 - 00 01 cmp DWORD PTR req_comp$[rbp], 1 - 0004f 7c 09 jl SHORT $LN59@stbi__conv - 00051 83 bd 90 01 00 - 00 04 cmp DWORD PTR req_comp$[rbp], 4 - 00058 7e 1c jle SHORT $LN60@stbi__conv -$LN59@stbi__conv: - 0005a 41 b8 8e 05 00 - 00 mov r8d, 1422 ; 0000058eH - 00060 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_1GG@PCNMFHPN@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ - 00067 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_1DO@MABJBNAJ@?$AAr?$AAe?$AAq?$AA_?$AAc?$AAo?$AAm?$AAp?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA1?$AA?5?$AA?$CG@ - 0006e ff 15 00 00 00 - 00 call QWORD PTR __imp__wassert - 00074 33 c0 xor eax, eax -$LN60@stbi__conv: - -; 1423 : -; 1424 : good = (stbi__uint16 *)stbi__malloc(req_comp * x * y * 2); - - 00076 8b 85 90 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 0007c 0f af 85 98 01 - 00 00 imul eax, DWORD PTR x$[rbp] - 00083 0f af 85 a0 01 - 00 00 imul eax, DWORD PTR y$[rbp] - 0008a d1 e0 shl eax, 1 - 0008c 8b c0 mov eax, eax - 0008e 8b c8 mov ecx, eax - 00090 e8 00 00 00 00 call stbi__malloc - 00095 48 89 45 48 mov QWORD PTR good$[rbp], rax - -; 1425 : if (good == NULL) { - - 00099 48 83 7d 48 00 cmp QWORD PTR good$[rbp], 0 - 0009e 75 42 jne SHORT $LN44@stbi__conv - -; 1426 : STBI_FREE(data); - - 000a0 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR data$[rbp] - 000a7 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 000ad 90 npad 1 - -; 1427 : return (stbi__uint16 *)stbi__errpuc("outofmem", "Out of memory"); - - 000ae 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 000b5 e8 00 00 00 00 call stbi__err - 000ba 85 c0 test eax, eax - 000bc 74 0d je SHORT $LN61@stbi__conv - 000be 48 c7 85 58 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv82[rbp], 0 - 000c9 eb 0b jmp SHORT $LN62@stbi__conv -$LN61@stbi__conv: - 000cb 48 c7 85 58 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv82[rbp], 0 -$LN62@stbi__conv: - 000d6 48 8b 85 58 01 - 00 00 mov rax, QWORD PTR tv82[rbp] - 000dd e9 9d 09 00 00 jmp $LN1@stbi__conv -$LN44@stbi__conv: - -; 1428 : } -; 1429 : -; 1430 : for (j = 0; j < (int)y; ++j) { - - 000e2 c7 45 24 00 00 - 00 00 mov DWORD PTR j$[rbp], 0 - 000e9 eb 08 jmp SHORT $LN4@stbi__conv -$LN2@stbi__conv: - 000eb 8b 45 24 mov eax, DWORD PTR j$[rbp] - 000ee ff c0 inc eax - 000f0 89 45 24 mov DWORD PTR j$[rbp], eax -$LN4@stbi__conv: - 000f3 8b 85 a0 01 00 - 00 mov eax, DWORD PTR y$[rbp] - 000f9 39 45 24 cmp DWORD PTR j$[rbp], eax - 000fc 0f 8d 6b 09 00 - 00 jge $LN3@stbi__conv - -; 1431 : stbi__uint16 *src = data + j * x * img_n; - - 00102 8b 45 24 mov eax, DWORD PTR j$[rbp] - 00105 0f af 85 98 01 - 00 00 imul eax, DWORD PTR x$[rbp] - 0010c 0f af 85 88 01 - 00 00 imul eax, DWORD PTR img_n$[rbp] - 00113 8b c0 mov eax, eax - 00115 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR data$[rbp] - 0011c 48 8d 04 41 lea rax, QWORD PTR [rcx+rax*2] - 00120 48 89 45 68 mov QWORD PTR src$1[rbp], rax - -; 1432 : stbi__uint16 *dest = good + j * x * req_comp; - - 00124 8b 45 24 mov eax, DWORD PTR j$[rbp] - 00127 0f af 85 98 01 - 00 00 imul eax, DWORD PTR x$[rbp] - 0012e 0f af 85 90 01 - 00 00 imul eax, DWORD PTR req_comp$[rbp] - 00135 8b c0 mov eax, eax - 00137 48 8b 4d 48 mov rcx, QWORD PTR good$[rbp] - 0013b 48 8d 04 41 lea rax, QWORD PTR [rcx+rax*2] - 0013f 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax - -; 1433 : -; 1434 : #define STBI__COMBO(a, b) ((a) * 8 + (b)) -; 1435 : #define STBI__CASE(a, b) \ -; 1436 : case STBI__COMBO(a, b): \ -; 1437 : for (i = x - 1; i >= 0; --i, src += a, dest += b) -; 1438 : // convert source image with img_n components to one with req_comp components; -; 1439 : // avoid switch per pixel, so use switch per scanline and massive macros -; 1440 : switch (STBI__COMBO(img_n, req_comp)) { - - 00146 8b 85 90 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 0014c 8b 8d 88 01 00 - 00 mov ecx, DWORD PTR img_n$[rbp] - 00152 8d 04 c8 lea eax, DWORD PTR [rax+rcx*8] - 00155 89 85 54 01 00 - 00 mov DWORD PTR tv129[rbp], eax - 0015b 8b 85 54 01 00 - 00 mov eax, DWORD PTR tv129[rbp] - 00161 83 e8 0a sub eax, 10 - 00164 89 85 54 01 00 - 00 mov DWORD PTR tv129[rbp], eax - 0016a 83 bd 54 01 00 - 00 19 cmp DWORD PTR tv129[rbp], 25 - 00171 0f 87 85 08 00 - 00 ja $LN57@stbi__conv - 00177 48 63 85 54 01 - 00 00 movsxd rax, DWORD PTR tv129[rbp] - 0017e 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__ImageBase - 00185 8b 84 81 00 00 - 00 00 mov eax, DWORD PTR $LN66@stbi__conv[rcx+rax*4] - 0018c 48 03 c1 add rax, rcx - 0018f ff e0 jmp rax -$LN45@stbi__conv: - -; 1441 : STBI__CASE(1, 2) - - 00191 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 00197 ff c8 dec eax - 00199 89 45 04 mov DWORD PTR i$[rbp], eax - 0019c eb 26 jmp SHORT $LN9@stbi__conv -$LN7@stbi__conv: - 0019e 8b 45 04 mov eax, DWORD PTR i$[rbp] - 001a1 ff c8 dec eax - 001a3 89 45 04 mov DWORD PTR i$[rbp], eax - 001a6 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 001aa 48 83 c0 02 add rax, 2 - 001ae 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 001b2 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 001b9 48 83 c0 04 add rax, 4 - 001bd 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN9@stbi__conv: - 001c4 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 001c8 7c 41 jl SHORT $LN8@stbi__conv - -; 1442 : { -; 1443 : dest[0] = src[0]; - - 001ca b8 02 00 00 00 mov eax, 2 - 001cf 48 6b c0 00 imul rax, rax, 0 - 001d3 b9 02 00 00 00 mov ecx, 2 - 001d8 48 6b c9 00 imul rcx, rcx, 0 - 001dc 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 001e3 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 001e7 41 0f b7 04 00 movzx eax, WORD PTR [r8+rax] - 001ec 66 89 04 0a mov WORD PTR [rdx+rcx], ax - -; 1444 : dest[1] = 0xffff; - - 001f0 b8 02 00 00 00 mov eax, 2 - 001f5 48 6b c0 01 imul rax, rax, 1 - 001f9 b9 ff ff 00 00 mov ecx, 65535 ; 0000ffffH - 001fe 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00205 66 89 0c 02 mov WORD PTR [rdx+rax], cx - -; 1445 : } - - 00209 eb 93 jmp SHORT $LN7@stbi__conv -$LN8@stbi__conv: - -; 1446 : break; - - 0020b e9 58 08 00 00 jmp $LN5@stbi__conv -$LN46@stbi__conv: - -; 1447 : STBI__CASE(1, 3) - - 00210 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 00216 ff c8 dec eax - 00218 89 45 04 mov DWORD PTR i$[rbp], eax - 0021b eb 26 jmp SHORT $LN12@stbi__conv -$LN10@stbi__conv: - 0021d 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00220 ff c8 dec eax - 00222 89 45 04 mov DWORD PTR i$[rbp], eax - 00225 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 00229 48 83 c0 02 add rax, 2 - 0022d 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 00231 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 00238 48 83 c0 06 add rax, 6 - 0023c 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN12@stbi__conv: - 00243 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 00247 7c 7d jl SHORT $LN11@stbi__conv - -; 1448 : { -; 1449 : dest[0] = dest[1] = dest[2] = src[0]; - - 00249 b8 02 00 00 00 mov eax, 2 - 0024e 48 6b c0 00 imul rax, rax, 0 - 00252 b9 02 00 00 00 mov ecx, 2 - 00257 48 6b c9 02 imul rcx, rcx, 2 - 0025b 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00262 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 00266 41 0f b7 04 00 movzx eax, WORD PTR [r8+rax] - 0026b 66 89 04 0a mov WORD PTR [rdx+rcx], ax - 0026f b8 02 00 00 00 mov eax, 2 - 00274 48 6b c0 02 imul rax, rax, 2 - 00278 b9 02 00 00 00 mov ecx, 2 - 0027d 48 6b c9 01 imul rcx, rcx, 1 - 00281 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00288 4c 8b 85 88 00 - 00 00 mov r8, QWORD PTR dest$2[rbp] - 0028f 41 0f b7 04 00 movzx eax, WORD PTR [r8+rax] - 00294 66 89 04 0a mov WORD PTR [rdx+rcx], ax - 00298 b8 02 00 00 00 mov eax, 2 - 0029d 48 6b c0 01 imul rax, rax, 1 - 002a1 b9 02 00 00 00 mov ecx, 2 - 002a6 48 6b c9 00 imul rcx, rcx, 0 - 002aa 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 002b1 4c 8b 85 88 00 - 00 00 mov r8, QWORD PTR dest$2[rbp] - 002b8 41 0f b7 04 00 movzx eax, WORD PTR [r8+rax] - 002bd 66 89 04 0a mov WORD PTR [rdx+rcx], ax - -; 1450 : } - - 002c1 e9 57 ff ff ff jmp $LN10@stbi__conv -$LN11@stbi__conv: - -; 1451 : break; - - 002c6 e9 9d 07 00 00 jmp $LN5@stbi__conv -$LN47@stbi__conv: - -; 1452 : STBI__CASE(1, 4) - - 002cb 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 002d1 ff c8 dec eax - 002d3 89 45 04 mov DWORD PTR i$[rbp], eax - 002d6 eb 26 jmp SHORT $LN15@stbi__conv -$LN13@stbi__conv: - 002d8 8b 45 04 mov eax, DWORD PTR i$[rbp] - 002db ff c8 dec eax - 002dd 89 45 04 mov DWORD PTR i$[rbp], eax - 002e0 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 002e4 48 83 c0 02 add rax, 2 - 002e8 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 002ec 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 002f3 48 83 c0 08 add rax, 8 - 002f7 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN15@stbi__conv: - 002fe 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 00302 0f 8c 96 00 00 - 00 jl $LN14@stbi__conv - -; 1453 : { -; 1454 : dest[0] = dest[1] = dest[2] = src[0]; - - 00308 b8 02 00 00 00 mov eax, 2 - 0030d 48 6b c0 00 imul rax, rax, 0 - 00311 b9 02 00 00 00 mov ecx, 2 - 00316 48 6b c9 02 imul rcx, rcx, 2 - 0031a 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00321 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 00325 41 0f b7 04 00 movzx eax, WORD PTR [r8+rax] - 0032a 66 89 04 0a mov WORD PTR [rdx+rcx], ax - 0032e b8 02 00 00 00 mov eax, 2 - 00333 48 6b c0 02 imul rax, rax, 2 - 00337 b9 02 00 00 00 mov ecx, 2 - 0033c 48 6b c9 01 imul rcx, rcx, 1 - 00340 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00347 4c 8b 85 88 00 - 00 00 mov r8, QWORD PTR dest$2[rbp] - 0034e 41 0f b7 04 00 movzx eax, WORD PTR [r8+rax] - 00353 66 89 04 0a mov WORD PTR [rdx+rcx], ax - 00357 b8 02 00 00 00 mov eax, 2 - 0035c 48 6b c0 01 imul rax, rax, 1 - 00360 b9 02 00 00 00 mov ecx, 2 - 00365 48 6b c9 00 imul rcx, rcx, 0 - 00369 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00370 4c 8b 85 88 00 - 00 00 mov r8, QWORD PTR dest$2[rbp] - 00377 41 0f b7 04 00 movzx eax, WORD PTR [r8+rax] - 0037c 66 89 04 0a mov WORD PTR [rdx+rcx], ax - -; 1455 : dest[3] = 0xffff; - - 00380 b8 02 00 00 00 mov eax, 2 - 00385 48 6b c0 03 imul rax, rax, 3 - 00389 b9 ff ff 00 00 mov ecx, 65535 ; 0000ffffH - 0038e 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00395 66 89 0c 02 mov WORD PTR [rdx+rax], cx - -; 1456 : } - - 00399 e9 3a ff ff ff jmp $LN13@stbi__conv -$LN14@stbi__conv: - -; 1457 : break; - - 0039e e9 c5 06 00 00 jmp $LN5@stbi__conv -$LN48@stbi__conv: - -; 1458 : STBI__CASE(2, 1) - - 003a3 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 003a9 ff c8 dec eax - 003ab 89 45 04 mov DWORD PTR i$[rbp], eax - 003ae eb 26 jmp SHORT $LN18@stbi__conv -$LN16@stbi__conv: - 003b0 8b 45 04 mov eax, DWORD PTR i$[rbp] - 003b3 ff c8 dec eax - 003b5 89 45 04 mov DWORD PTR i$[rbp], eax - 003b8 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 003bc 48 83 c0 04 add rax, 4 - 003c0 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 003c4 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 003cb 48 83 c0 02 add rax, 2 - 003cf 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN18@stbi__conv: - 003d6 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 003da 7c 28 jl SHORT $LN17@stbi__conv - -; 1459 : { -; 1460 : dest[0] = src[0]; - - 003dc b8 02 00 00 00 mov eax, 2 - 003e1 48 6b c0 00 imul rax, rax, 0 - 003e5 b9 02 00 00 00 mov ecx, 2 - 003ea 48 6b c9 00 imul rcx, rcx, 0 - 003ee 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 003f5 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 003f9 41 0f b7 04 00 movzx eax, WORD PTR [r8+rax] - 003fe 66 89 04 0a mov WORD PTR [rdx+rcx], ax - -; 1461 : } - - 00402 eb ac jmp SHORT $LN16@stbi__conv -$LN17@stbi__conv: - -; 1462 : break; - - 00404 e9 5f 06 00 00 jmp $LN5@stbi__conv -$LN49@stbi__conv: - -; 1463 : STBI__CASE(2, 3) - - 00409 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 0040f ff c8 dec eax - 00411 89 45 04 mov DWORD PTR i$[rbp], eax - 00414 eb 26 jmp SHORT $LN21@stbi__conv -$LN19@stbi__conv: - 00416 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00419 ff c8 dec eax - 0041b 89 45 04 mov DWORD PTR i$[rbp], eax - 0041e 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 00422 48 83 c0 04 add rax, 4 - 00426 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 0042a 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 00431 48 83 c0 06 add rax, 6 - 00435 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN21@stbi__conv: - 0043c 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 00440 7c 7d jl SHORT $LN20@stbi__conv - -; 1464 : { -; 1465 : dest[0] = dest[1] = dest[2] = src[0]; - - 00442 b8 02 00 00 00 mov eax, 2 - 00447 48 6b c0 00 imul rax, rax, 0 - 0044b b9 02 00 00 00 mov ecx, 2 - 00450 48 6b c9 02 imul rcx, rcx, 2 - 00454 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 0045b 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 0045f 41 0f b7 04 00 movzx eax, WORD PTR [r8+rax] - 00464 66 89 04 0a mov WORD PTR [rdx+rcx], ax - 00468 b8 02 00 00 00 mov eax, 2 - 0046d 48 6b c0 02 imul rax, rax, 2 - 00471 b9 02 00 00 00 mov ecx, 2 - 00476 48 6b c9 01 imul rcx, rcx, 1 - 0047a 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00481 4c 8b 85 88 00 - 00 00 mov r8, QWORD PTR dest$2[rbp] - 00488 41 0f b7 04 00 movzx eax, WORD PTR [r8+rax] - 0048d 66 89 04 0a mov WORD PTR [rdx+rcx], ax - 00491 b8 02 00 00 00 mov eax, 2 - 00496 48 6b c0 01 imul rax, rax, 1 - 0049a b9 02 00 00 00 mov ecx, 2 - 0049f 48 6b c9 00 imul rcx, rcx, 0 - 004a3 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 004aa 4c 8b 85 88 00 - 00 00 mov r8, QWORD PTR dest$2[rbp] - 004b1 41 0f b7 04 00 movzx eax, WORD PTR [r8+rax] - 004b6 66 89 04 0a mov WORD PTR [rdx+rcx], ax - -; 1466 : } - - 004ba e9 57 ff ff ff jmp $LN19@stbi__conv -$LN20@stbi__conv: - -; 1467 : break; - - 004bf e9 a4 05 00 00 jmp $LN5@stbi__conv -$LN50@stbi__conv: - -; 1468 : STBI__CASE(2, 4) - - 004c4 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 004ca ff c8 dec eax - 004cc 89 45 04 mov DWORD PTR i$[rbp], eax - 004cf eb 26 jmp SHORT $LN24@stbi__conv -$LN22@stbi__conv: - 004d1 8b 45 04 mov eax, DWORD PTR i$[rbp] - 004d4 ff c8 dec eax - 004d6 89 45 04 mov DWORD PTR i$[rbp], eax - 004d9 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 004dd 48 83 c0 04 add rax, 4 - 004e1 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 004e5 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 004ec 48 83 c0 08 add rax, 8 - 004f0 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN24@stbi__conv: - 004f7 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 004fb 0f 8c a3 00 00 - 00 jl $LN23@stbi__conv - -; 1469 : { -; 1470 : dest[0] = dest[1] = dest[2] = src[0]; - - 00501 b8 02 00 00 00 mov eax, 2 - 00506 48 6b c0 00 imul rax, rax, 0 - 0050a b9 02 00 00 00 mov ecx, 2 - 0050f 48 6b c9 02 imul rcx, rcx, 2 - 00513 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 0051a 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 0051e 41 0f b7 04 00 movzx eax, WORD PTR [r8+rax] - 00523 66 89 04 0a mov WORD PTR [rdx+rcx], ax - 00527 b8 02 00 00 00 mov eax, 2 - 0052c 48 6b c0 02 imul rax, rax, 2 - 00530 b9 02 00 00 00 mov ecx, 2 - 00535 48 6b c9 01 imul rcx, rcx, 1 - 00539 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00540 4c 8b 85 88 00 - 00 00 mov r8, QWORD PTR dest$2[rbp] - 00547 41 0f b7 04 00 movzx eax, WORD PTR [r8+rax] - 0054c 66 89 04 0a mov WORD PTR [rdx+rcx], ax - 00550 b8 02 00 00 00 mov eax, 2 - 00555 48 6b c0 01 imul rax, rax, 1 - 00559 b9 02 00 00 00 mov ecx, 2 - 0055e 48 6b c9 00 imul rcx, rcx, 0 - 00562 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00569 4c 8b 85 88 00 - 00 00 mov r8, QWORD PTR dest$2[rbp] - 00570 41 0f b7 04 00 movzx eax, WORD PTR [r8+rax] - 00575 66 89 04 0a mov WORD PTR [rdx+rcx], ax - -; 1471 : dest[3] = src[1]; - - 00579 b8 02 00 00 00 mov eax, 2 - 0057e 48 6b c0 01 imul rax, rax, 1 - 00582 b9 02 00 00 00 mov ecx, 2 - 00587 48 6b c9 03 imul rcx, rcx, 3 - 0058b 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00592 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 00596 41 0f b7 04 00 movzx eax, WORD PTR [r8+rax] - 0059b 66 89 04 0a mov WORD PTR [rdx+rcx], ax - -; 1472 : } - - 0059f e9 2d ff ff ff jmp $LN22@stbi__conv -$LN23@stbi__conv: - -; 1473 : break; - - 005a4 e9 bf 04 00 00 jmp $LN5@stbi__conv -$LN51@stbi__conv: - -; 1474 : STBI__CASE(3, 4) - - 005a9 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 005af ff c8 dec eax - 005b1 89 45 04 mov DWORD PTR i$[rbp], eax - 005b4 eb 26 jmp SHORT $LN27@stbi__conv -$LN25@stbi__conv: - 005b6 8b 45 04 mov eax, DWORD PTR i$[rbp] - 005b9 ff c8 dec eax - 005bb 89 45 04 mov DWORD PTR i$[rbp], eax - 005be 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 005c2 48 83 c0 06 add rax, 6 - 005c6 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 005ca 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 005d1 48 83 c0 08 add rax, 8 - 005d5 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN27@stbi__conv: - 005dc 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 005e0 0f 8c 90 00 00 - 00 jl $LN26@stbi__conv - -; 1475 : { -; 1476 : dest[0] = src[0]; - - 005e6 b8 02 00 00 00 mov eax, 2 - 005eb 48 6b c0 00 imul rax, rax, 0 - 005ef b9 02 00 00 00 mov ecx, 2 - 005f4 48 6b c9 00 imul rcx, rcx, 0 - 005f8 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 005ff 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 00603 41 0f b7 04 00 movzx eax, WORD PTR [r8+rax] - 00608 66 89 04 0a mov WORD PTR [rdx+rcx], ax - -; 1477 : dest[1] = src[1]; - - 0060c b8 02 00 00 00 mov eax, 2 - 00611 48 6b c0 01 imul rax, rax, 1 - 00615 b9 02 00 00 00 mov ecx, 2 - 0061a 48 6b c9 01 imul rcx, rcx, 1 - 0061e 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00625 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 00629 41 0f b7 04 00 movzx eax, WORD PTR [r8+rax] - 0062e 66 89 04 0a mov WORD PTR [rdx+rcx], ax - -; 1478 : dest[2] = src[2]; - - 00632 b8 02 00 00 00 mov eax, 2 - 00637 48 6b c0 02 imul rax, rax, 2 - 0063b b9 02 00 00 00 mov ecx, 2 - 00640 48 6b c9 02 imul rcx, rcx, 2 - 00644 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 0064b 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 0064f 41 0f b7 04 00 movzx eax, WORD PTR [r8+rax] - 00654 66 89 04 0a mov WORD PTR [rdx+rcx], ax - -; 1479 : dest[3] = 0xffff; - - 00658 b8 02 00 00 00 mov eax, 2 - 0065d 48 6b c0 03 imul rax, rax, 3 - 00661 b9 ff ff 00 00 mov ecx, 65535 ; 0000ffffH - 00666 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 0066d 66 89 0c 02 mov WORD PTR [rdx+rax], cx - -; 1480 : } - - 00671 e9 40 ff ff ff jmp $LN25@stbi__conv -$LN26@stbi__conv: - -; 1481 : break; - - 00676 e9 ed 03 00 00 jmp $LN5@stbi__conv -$LN52@stbi__conv: - -; 1482 : STBI__CASE(3, 1) - - 0067b 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 00681 ff c8 dec eax - 00683 89 45 04 mov DWORD PTR i$[rbp], eax - 00686 eb 26 jmp SHORT $LN30@stbi__conv -$LN28@stbi__conv: - 00688 8b 45 04 mov eax, DWORD PTR i$[rbp] - 0068b ff c8 dec eax - 0068d 89 45 04 mov DWORD PTR i$[rbp], eax - 00690 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 00694 48 83 c0 06 add rax, 6 - 00698 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 0069c 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 006a3 48 83 c0 02 add rax, 2 - 006a7 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN30@stbi__conv: - 006ae 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 006b2 7c 65 jl SHORT $LN29@stbi__conv - -; 1483 : { -; 1484 : dest[0] = stbi__compute_y_16(src[0], src[1], src[2]); - - 006b4 b8 02 00 00 00 mov eax, 2 - 006b9 48 6b c0 02 imul rax, rax, 2 - 006bd 48 8b 4d 68 mov rcx, QWORD PTR src$1[rbp] - 006c1 0f b7 04 01 movzx eax, WORD PTR [rcx+rax] - 006c5 b9 02 00 00 00 mov ecx, 2 - 006ca 48 6b c9 01 imul rcx, rcx, 1 - 006ce 48 8b 55 68 mov rdx, QWORD PTR src$1[rbp] - 006d2 0f b7 0c 0a movzx ecx, WORD PTR [rdx+rcx] - 006d6 ba 02 00 00 00 mov edx, 2 - 006db 48 6b d2 00 imul rdx, rdx, 0 - 006df 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 006e3 41 0f b7 14 10 movzx edx, WORD PTR [r8+rdx] - 006e8 89 95 54 01 00 - 00 mov DWORD PTR tv261[rbp], edx - 006ee 44 8b c0 mov r8d, eax - 006f1 8b d1 mov edx, ecx - 006f3 8b 85 54 01 00 - 00 mov eax, DWORD PTR tv261[rbp] - 006f9 8b c8 mov ecx, eax - 006fb e8 00 00 00 00 call stbi__compute_y_16 - 00700 b9 02 00 00 00 mov ecx, 2 - 00705 48 6b c9 00 imul rcx, rcx, 0 - 00709 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00710 66 89 04 0a mov WORD PTR [rdx+rcx], ax - -; 1485 : } - - 00714 e9 6f ff ff ff jmp $LN28@stbi__conv -$LN29@stbi__conv: - -; 1486 : break; - - 00719 e9 4a 03 00 00 jmp $LN5@stbi__conv -$LN53@stbi__conv: - -; 1487 : STBI__CASE(3, 2) - - 0071e 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 00724 ff c8 dec eax - 00726 89 45 04 mov DWORD PTR i$[rbp], eax - 00729 eb 26 jmp SHORT $LN33@stbi__conv -$LN31@stbi__conv: - 0072b 8b 45 04 mov eax, DWORD PTR i$[rbp] - 0072e ff c8 dec eax - 00730 89 45 04 mov DWORD PTR i$[rbp], eax - 00733 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 00737 48 83 c0 06 add rax, 6 - 0073b 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 0073f 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 00746 48 83 c0 04 add rax, 4 - 0074a 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN33@stbi__conv: - 00751 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 00755 7c 7e jl SHORT $LN32@stbi__conv - -; 1488 : { -; 1489 : dest[0] = stbi__compute_y_16(src[0], src[1], src[2]); - - 00757 b8 02 00 00 00 mov eax, 2 - 0075c 48 6b c0 02 imul rax, rax, 2 - 00760 48 8b 4d 68 mov rcx, QWORD PTR src$1[rbp] - 00764 0f b7 04 01 movzx eax, WORD PTR [rcx+rax] - 00768 b9 02 00 00 00 mov ecx, 2 - 0076d 48 6b c9 01 imul rcx, rcx, 1 - 00771 48 8b 55 68 mov rdx, QWORD PTR src$1[rbp] - 00775 0f b7 0c 0a movzx ecx, WORD PTR [rdx+rcx] - 00779 ba 02 00 00 00 mov edx, 2 - 0077e 48 6b d2 00 imul rdx, rdx, 0 - 00782 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 00786 41 0f b7 14 10 movzx edx, WORD PTR [r8+rdx] - 0078b 89 95 54 01 00 - 00 mov DWORD PTR tv281[rbp], edx - 00791 44 8b c0 mov r8d, eax - 00794 8b d1 mov edx, ecx - 00796 8b 85 54 01 00 - 00 mov eax, DWORD PTR tv281[rbp] - 0079c 8b c8 mov ecx, eax - 0079e e8 00 00 00 00 call stbi__compute_y_16 - 007a3 b9 02 00 00 00 mov ecx, 2 - 007a8 48 6b c9 00 imul rcx, rcx, 0 - 007ac 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 007b3 66 89 04 0a mov WORD PTR [rdx+rcx], ax - -; 1490 : dest[1] = 0xffff; - - 007b7 b8 02 00 00 00 mov eax, 2 - 007bc 48 6b c0 01 imul rax, rax, 1 - 007c0 b9 ff ff 00 00 mov ecx, 65535 ; 0000ffffH - 007c5 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 007cc 66 89 0c 02 mov WORD PTR [rdx+rax], cx - -; 1491 : } - - 007d0 e9 56 ff ff ff jmp $LN31@stbi__conv -$LN32@stbi__conv: - -; 1492 : break; - - 007d5 e9 8e 02 00 00 jmp $LN5@stbi__conv -$LN54@stbi__conv: - -; 1493 : STBI__CASE(4, 1) - - 007da 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 007e0 ff c8 dec eax - 007e2 89 45 04 mov DWORD PTR i$[rbp], eax - 007e5 eb 26 jmp SHORT $LN36@stbi__conv -$LN34@stbi__conv: - 007e7 8b 45 04 mov eax, DWORD PTR i$[rbp] - 007ea ff c8 dec eax - 007ec 89 45 04 mov DWORD PTR i$[rbp], eax - 007ef 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 007f3 48 83 c0 08 add rax, 8 - 007f7 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 007fb 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 00802 48 83 c0 02 add rax, 2 - 00806 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN36@stbi__conv: - 0080d 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 00811 7c 65 jl SHORT $LN35@stbi__conv - -; 1494 : { -; 1495 : dest[0] = stbi__compute_y_16(src[0], src[1], src[2]); - - 00813 b8 02 00 00 00 mov eax, 2 - 00818 48 6b c0 02 imul rax, rax, 2 - 0081c 48 8b 4d 68 mov rcx, QWORD PTR src$1[rbp] - 00820 0f b7 04 01 movzx eax, WORD PTR [rcx+rax] - 00824 b9 02 00 00 00 mov ecx, 2 - 00829 48 6b c9 01 imul rcx, rcx, 1 - 0082d 48 8b 55 68 mov rdx, QWORD PTR src$1[rbp] - 00831 0f b7 0c 0a movzx ecx, WORD PTR [rdx+rcx] - 00835 ba 02 00 00 00 mov edx, 2 - 0083a 48 6b d2 00 imul rdx, rdx, 0 - 0083e 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 00842 41 0f b7 14 10 movzx edx, WORD PTR [r8+rdx] - 00847 89 95 54 01 00 - 00 mov DWORD PTR tv303[rbp], edx - 0084d 44 8b c0 mov r8d, eax - 00850 8b d1 mov edx, ecx - 00852 8b 85 54 01 00 - 00 mov eax, DWORD PTR tv303[rbp] - 00858 8b c8 mov ecx, eax - 0085a e8 00 00 00 00 call stbi__compute_y_16 - 0085f b9 02 00 00 00 mov ecx, 2 - 00864 48 6b c9 00 imul rcx, rcx, 0 - 00868 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 0086f 66 89 04 0a mov WORD PTR [rdx+rcx], ax - -; 1496 : } - - 00873 e9 6f ff ff ff jmp $LN34@stbi__conv -$LN35@stbi__conv: - -; 1497 : break; - - 00878 e9 eb 01 00 00 jmp $LN5@stbi__conv -$LN55@stbi__conv: - -; 1498 : STBI__CASE(4, 2) - - 0087d 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 00883 ff c8 dec eax - 00885 89 45 04 mov DWORD PTR i$[rbp], eax - 00888 eb 26 jmp SHORT $LN39@stbi__conv -$LN37@stbi__conv: - 0088a 8b 45 04 mov eax, DWORD PTR i$[rbp] - 0088d ff c8 dec eax - 0088f 89 45 04 mov DWORD PTR i$[rbp], eax - 00892 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 00896 48 83 c0 08 add rax, 8 - 0089a 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 0089e 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 008a5 48 83 c0 04 add rax, 4 - 008a9 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN39@stbi__conv: - 008b0 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 008b4 0f 8c 8b 00 00 - 00 jl $LN38@stbi__conv - -; 1499 : { -; 1500 : dest[0] = stbi__compute_y_16(src[0], src[1], src[2]); - - 008ba b8 02 00 00 00 mov eax, 2 - 008bf 48 6b c0 02 imul rax, rax, 2 - 008c3 48 8b 4d 68 mov rcx, QWORD PTR src$1[rbp] - 008c7 0f b7 04 01 movzx eax, WORD PTR [rcx+rax] - 008cb b9 02 00 00 00 mov ecx, 2 - 008d0 48 6b c9 01 imul rcx, rcx, 1 - 008d4 48 8b 55 68 mov rdx, QWORD PTR src$1[rbp] - 008d8 0f b7 0c 0a movzx ecx, WORD PTR [rdx+rcx] - 008dc ba 02 00 00 00 mov edx, 2 - 008e1 48 6b d2 00 imul rdx, rdx, 0 - 008e5 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 008e9 41 0f b7 14 10 movzx edx, WORD PTR [r8+rdx] - 008ee 89 95 54 01 00 - 00 mov DWORD PTR tv323[rbp], edx - 008f4 44 8b c0 mov r8d, eax - 008f7 8b d1 mov edx, ecx - 008f9 8b 85 54 01 00 - 00 mov eax, DWORD PTR tv323[rbp] - 008ff 8b c8 mov ecx, eax - 00901 e8 00 00 00 00 call stbi__compute_y_16 - 00906 b9 02 00 00 00 mov ecx, 2 - 0090b 48 6b c9 00 imul rcx, rcx, 0 - 0090f 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00916 66 89 04 0a mov WORD PTR [rdx+rcx], ax - -; 1501 : dest[1] = src[3]; - - 0091a b8 02 00 00 00 mov eax, 2 - 0091f 48 6b c0 03 imul rax, rax, 3 - 00923 b9 02 00 00 00 mov ecx, 2 - 00928 48 6b c9 01 imul rcx, rcx, 1 - 0092c 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00933 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 00937 41 0f b7 04 00 movzx eax, WORD PTR [r8+rax] - 0093c 66 89 04 0a mov WORD PTR [rdx+rcx], ax - -; 1502 : } - - 00940 e9 45 ff ff ff jmp $LN37@stbi__conv -$LN38@stbi__conv: - -; 1503 : break; - - 00945 e9 1e 01 00 00 jmp $LN5@stbi__conv -$LN56@stbi__conv: - -; 1504 : STBI__CASE(4, 3) - - 0094a 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 00950 ff c8 dec eax - 00952 89 45 04 mov DWORD PTR i$[rbp], eax - 00955 eb 26 jmp SHORT $LN42@stbi__conv -$LN40@stbi__conv: - 00957 8b 45 04 mov eax, DWORD PTR i$[rbp] - 0095a ff c8 dec eax - 0095c 89 45 04 mov DWORD PTR i$[rbp], eax - 0095f 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 00963 48 83 c0 08 add rax, 8 - 00967 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 0096b 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 00972 48 83 c0 06 add rax, 6 - 00976 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN42@stbi__conv: - 0097d 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 00981 7c 77 jl SHORT $LN41@stbi__conv - -; 1505 : { -; 1506 : dest[0] = src[0]; - - 00983 b8 02 00 00 00 mov eax, 2 - 00988 48 6b c0 00 imul rax, rax, 0 - 0098c b9 02 00 00 00 mov ecx, 2 - 00991 48 6b c9 00 imul rcx, rcx, 0 - 00995 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 0099c 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 009a0 41 0f b7 04 00 movzx eax, WORD PTR [r8+rax] - 009a5 66 89 04 0a mov WORD PTR [rdx+rcx], ax - -; 1507 : dest[1] = src[1]; - - 009a9 b8 02 00 00 00 mov eax, 2 - 009ae 48 6b c0 01 imul rax, rax, 1 - 009b2 b9 02 00 00 00 mov ecx, 2 - 009b7 48 6b c9 01 imul rcx, rcx, 1 - 009bb 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 009c2 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 009c6 41 0f b7 04 00 movzx eax, WORD PTR [r8+rax] - 009cb 66 89 04 0a mov WORD PTR [rdx+rcx], ax - -; 1508 : dest[2] = src[2]; - - 009cf b8 02 00 00 00 mov eax, 2 - 009d4 48 6b c0 02 imul rax, rax, 2 - 009d8 b9 02 00 00 00 mov ecx, 2 - 009dd 48 6b c9 02 imul rcx, rcx, 2 - 009e1 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 009e8 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 009ec 41 0f b7 04 00 movzx eax, WORD PTR [r8+rax] - 009f1 66 89 04 0a mov WORD PTR [rdx+rcx], ax - -; 1509 : } - - 009f5 e9 5d ff ff ff jmp $LN40@stbi__conv -$LN41@stbi__conv: - -; 1510 : break; - - 009fa eb 6c jmp SHORT $LN5@stbi__conv -$LN57@stbi__conv: - -; 1511 : default: -; 1512 : STBI_ASSERT(0); - - 009fc 33 c0 xor eax, eax - 009fe 85 c0 test eax, eax - 00a00 75 1c jne SHORT $LN63@stbi__conv - 00a02 41 b8 e8 05 00 - 00 mov r8d, 1512 ; 000005e8H - 00a08 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_1GG@PCNMFHPN@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ - 00a0f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_13COJANIEC@?$AA0@ - 00a16 ff 15 00 00 00 - 00 call QWORD PTR __imp__wassert - 00a1c 33 c0 xor eax, eax -$LN63@stbi__conv: - -; 1513 : STBI_FREE(data); - - 00a1e 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR data$[rbp] - 00a25 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00a2b 90 npad 1 - -; 1514 : STBI_FREE(good); - - 00a2c 48 8b 4d 48 mov rcx, QWORD PTR good$[rbp] - 00a30 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00a36 90 npad 1 - -; 1515 : return (stbi__uint16 *)stbi__errpuc("unsupported", - - 00a37 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0M@MHDBFHD@unsupported@ - 00a3e e8 00 00 00 00 call stbi__err - 00a43 85 c0 test eax, eax - 00a45 74 0d je SHORT $LN64@stbi__conv - 00a47 48 c7 85 58 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv356[rbp], 0 - 00a52 eb 0b jmp SHORT $LN65@stbi__conv -$LN64@stbi__conv: - 00a54 48 c7 85 58 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv356[rbp], 0 -$LN65@stbi__conv: - 00a5f 48 8b 85 58 01 - 00 00 mov rax, QWORD PTR tv356[rbp] - 00a66 eb 17 jmp SHORT $LN1@stbi__conv -$LN5@stbi__conv: - -; 1516 : "Unsupported format conversion"); -; 1517 : } -; 1518 : #undef STBI__CASE -; 1519 : } - - 00a68 e9 7e f6 ff ff jmp $LN2@stbi__conv -$LN3@stbi__conv: - -; 1520 : -; 1521 : STBI_FREE(data); - - 00a6d 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR data$[rbp] - 00a74 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00a7a 90 npad 1 - -; 1522 : return good; - - 00a7b 48 8b 45 48 mov rax, QWORD PTR good$[rbp] -$LN1@stbi__conv: - -; 1523 : } - - 00a7f 48 8d a5 68 01 - 00 00 lea rsp, QWORD PTR [rbp+360] - 00a86 5f pop rdi - 00a87 5d pop rbp - 00a88 c3 ret 0 - 00a89 0f 1f 00 npad 3 -$LN66@stbi__conv: - 00a8c 00 00 00 00 DD $LN45@stbi__conv - 00a90 00 00 00 00 DD $LN46@stbi__conv - 00a94 00 00 00 00 DD $LN47@stbi__conv - 00a98 00 00 00 00 DD $LN57@stbi__conv - 00a9c 00 00 00 00 DD $LN57@stbi__conv - 00aa0 00 00 00 00 DD $LN57@stbi__conv - 00aa4 00 00 00 00 DD $LN57@stbi__conv - 00aa8 00 00 00 00 DD $LN48@stbi__conv - 00aac 00 00 00 00 DD $LN57@stbi__conv - 00ab0 00 00 00 00 DD $LN49@stbi__conv - 00ab4 00 00 00 00 DD $LN50@stbi__conv - 00ab8 00 00 00 00 DD $LN57@stbi__conv - 00abc 00 00 00 00 DD $LN57@stbi__conv - 00ac0 00 00 00 00 DD $LN57@stbi__conv - 00ac4 00 00 00 00 DD $LN57@stbi__conv - 00ac8 00 00 00 00 DD $LN52@stbi__conv - 00acc 00 00 00 00 DD $LN53@stbi__conv - 00ad0 00 00 00 00 DD $LN57@stbi__conv - 00ad4 00 00 00 00 DD $LN51@stbi__conv - 00ad8 00 00 00 00 DD $LN57@stbi__conv - 00adc 00 00 00 00 DD $LN57@stbi__conv - 00ae0 00 00 00 00 DD $LN57@stbi__conv - 00ae4 00 00 00 00 DD $LN57@stbi__conv - 00ae8 00 00 00 00 DD $LN54@stbi__conv - 00aec 00 00 00 00 DD $LN55@stbi__conv - 00af0 00 00 00 00 DD $LN56@stbi__conv -stbi__convert_format16 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__compute_y_16 -_TEXT SEGMENT -r$ = 224 -g$ = 232 -b$ = 240 -stbi__compute_y_16 PROC ; COMDAT - -; 1406 : { - - 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 00005 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00009 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 0000d 55 push rbp - 0000e 57 push rdi - 0000f 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 00016 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00022 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00027 90 npad 1 - -; 1407 : return (stbi__uint16)(((r * 77) + (g * 150) + (29 * b)) >> 8); - - 00028 6b 85 e0 00 00 - 00 4d imul eax, DWORD PTR r$[rbp], 77 ; 0000004dH - 0002f 69 8d e8 00 00 - 00 96 00 00 00 imul ecx, DWORD PTR g$[rbp], 150 ; 00000096H - 00039 03 c1 add eax, ecx - 0003b 6b 8d f0 00 00 - 00 1d imul ecx, DWORD PTR b$[rbp], 29 - 00042 03 c1 add eax, ecx - 00044 c1 f8 08 sar eax, 8 - -; 1408 : } - - 00047 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 0004e 5f pop rdi - 0004f 5d pop rbp - 00050 c3 ret 0 -stbi__compute_y_16 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__convert_format -_TEXT SEGMENT -i$ = 4 -j$ = 36 -good$ = 72 -src$1 = 104 -dest$2 = 136 -tv94 = 340 -tv258 = 340 -tv278 = 340 -tv300 = 340 -tv320 = 340 -tv81 = 344 -tv353 = 344 -data$ = 384 -img_n$ = 392 -req_comp$ = 400 -x$ = 408 -y$ = 416 -stbi__convert_format PROC ; COMDAT - -; 1293 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx - 0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00013 55 push rbp - 00014 57 push rdi - 00015 48 81 ec 88 01 - 00 00 sub rsp, 392 ; 00000188H - 0001c 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00021 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00028 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002d 90 npad 1 - -; 1294 : int i, j; -; 1295 : unsigned char *good; -; 1296 : -; 1297 : if (req_comp == img_n) - - 0002e 8b 85 88 01 00 - 00 mov eax, DWORD PTR img_n$[rbp] - 00034 39 85 90 01 00 - 00 cmp DWORD PTR req_comp$[rbp], eax - 0003a 75 0c jne SHORT $LN43@stbi__conv - -; 1298 : return data; - - 0003c 48 8b 85 80 01 - 00 00 mov rax, QWORD PTR data$[rbp] - 00043 e9 03 0a 00 00 jmp $LN1@stbi__conv -$LN43@stbi__conv: - -; 1299 : STBI_ASSERT(req_comp >= 1 && req_comp <= 4); - - 00048 83 bd 90 01 00 - 00 01 cmp DWORD PTR req_comp$[rbp], 1 - 0004f 7c 09 jl SHORT $LN59@stbi__conv - 00051 83 bd 90 01 00 - 00 04 cmp DWORD PTR req_comp$[rbp], 4 - 00058 7e 1c jle SHORT $LN60@stbi__conv -$LN59@stbi__conv: - 0005a 41 b8 13 05 00 - 00 mov r8d, 1299 ; 00000513H - 00060 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_1GG@PCNMFHPN@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ - 00067 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_1DO@MABJBNAJ@?$AAr?$AAe?$AAq?$AA_?$AAc?$AAo?$AAm?$AAp?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA1?$AA?5?$AA?$CG@ - 0006e ff 15 00 00 00 - 00 call QWORD PTR __imp__wassert - 00074 33 c0 xor eax, eax -$LN60@stbi__conv: - -; 1300 : -; 1301 : good = (unsigned char *)stbi__malloc_mad3(req_comp, x, y, 0); - - 00076 45 33 c9 xor r9d, r9d - 00079 44 8b 85 a0 01 - 00 00 mov r8d, DWORD PTR y$[rbp] - 00080 8b 95 98 01 00 - 00 mov edx, DWORD PTR x$[rbp] - 00086 8b 8d 90 01 00 - 00 mov ecx, DWORD PTR req_comp$[rbp] - 0008c e8 00 00 00 00 call stbi__malloc_mad3 - 00091 48 89 45 48 mov QWORD PTR good$[rbp], rax - -; 1302 : if (good == NULL) { - - 00095 48 83 7d 48 00 cmp QWORD PTR good$[rbp], 0 - 0009a 75 42 jne SHORT $LN44@stbi__conv - -; 1303 : STBI_FREE(data); - - 0009c 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR data$[rbp] - 000a3 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 000a9 90 npad 1 - -; 1304 : return stbi__errpuc("outofmem", "Out of memory"); - - 000aa 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 000b1 e8 00 00 00 00 call stbi__err - 000b6 85 c0 test eax, eax - 000b8 74 0d je SHORT $LN61@stbi__conv - 000ba 48 c7 85 58 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv81[rbp], 0 - 000c5 eb 0b jmp SHORT $LN62@stbi__conv -$LN61@stbi__conv: - 000c7 48 c7 85 58 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv81[rbp], 0 -$LN62@stbi__conv: - 000d2 48 8b 85 58 01 - 00 00 mov rax, QWORD PTR tv81[rbp] - 000d9 e9 6d 09 00 00 jmp $LN1@stbi__conv -$LN44@stbi__conv: - -; 1305 : } -; 1306 : -; 1307 : for (j = 0; j < (int)y; ++j) { - - 000de c7 45 24 00 00 - 00 00 mov DWORD PTR j$[rbp], 0 - 000e5 eb 08 jmp SHORT $LN4@stbi__conv -$LN2@stbi__conv: - 000e7 8b 45 24 mov eax, DWORD PTR j$[rbp] - 000ea ff c0 inc eax - 000ec 89 45 24 mov DWORD PTR j$[rbp], eax -$LN4@stbi__conv: - 000ef 8b 85 a0 01 00 - 00 mov eax, DWORD PTR y$[rbp] - 000f5 39 45 24 cmp DWORD PTR j$[rbp], eax - 000f8 0f 8d 3b 09 00 - 00 jge $LN3@stbi__conv - -; 1308 : unsigned char *src = data + j * x * img_n; - - 000fe 8b 45 24 mov eax, DWORD PTR j$[rbp] - 00101 0f af 85 98 01 - 00 00 imul eax, DWORD PTR x$[rbp] - 00108 0f af 85 88 01 - 00 00 imul eax, DWORD PTR img_n$[rbp] - 0010f 8b c0 mov eax, eax - 00111 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR data$[rbp] - 00118 48 03 c8 add rcx, rax - 0011b 48 8b c1 mov rax, rcx - 0011e 48 89 45 68 mov QWORD PTR src$1[rbp], rax - -; 1309 : unsigned char *dest = good + j * x * req_comp; - - 00122 8b 45 24 mov eax, DWORD PTR j$[rbp] - 00125 0f af 85 98 01 - 00 00 imul eax, DWORD PTR x$[rbp] - 0012c 0f af 85 90 01 - 00 00 imul eax, DWORD PTR req_comp$[rbp] - 00133 8b c0 mov eax, eax - 00135 48 8b 4d 48 mov rcx, QWORD PTR good$[rbp] - 00139 48 03 c8 add rcx, rax - 0013c 48 8b c1 mov rax, rcx - 0013f 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax - -; 1310 : -; 1311 : #define STBI__COMBO(a, b) ((a) * 8 + (b)) -; 1312 : #define STBI__CASE(a, b) \ -; 1313 : case STBI__COMBO(a, b): \ -; 1314 : for (i = x - 1; i >= 0; --i, src += a, dest += b) -; 1315 : // convert source image with img_n components to one with req_comp components; -; 1316 : // avoid switch per pixel, so use switch per scanline and massive macros -; 1317 : switch (STBI__COMBO(img_n, req_comp)) { - - 00146 8b 85 90 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 0014c 8b 8d 88 01 00 - 00 mov ecx, DWORD PTR img_n$[rbp] - 00152 8d 04 c8 lea eax, DWORD PTR [rax+rcx*8] - 00155 89 85 54 01 00 - 00 mov DWORD PTR tv94[rbp], eax - 0015b 8b 85 54 01 00 - 00 mov eax, DWORD PTR tv94[rbp] - 00161 83 e8 0a sub eax, 10 - 00164 89 85 54 01 00 - 00 mov DWORD PTR tv94[rbp], eax - 0016a 83 bd 54 01 00 - 00 19 cmp DWORD PTR tv94[rbp], 25 - 00171 0f 87 51 08 00 - 00 ja $LN57@stbi__conv - 00177 48 63 85 54 01 - 00 00 movsxd rax, DWORD PTR tv94[rbp] - 0017e 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__ImageBase - 00185 8b 84 81 00 00 - 00 00 mov eax, DWORD PTR $LN66@stbi__conv[rcx+rax*4] - 0018c 48 03 c1 add rax, rcx - 0018f ff e0 jmp rax -$LN45@stbi__conv: - -; 1318 : STBI__CASE(1, 2) - - 00191 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 00197 ff c8 dec eax - 00199 89 45 04 mov DWORD PTR i$[rbp], eax - 0019c eb 25 jmp SHORT $LN9@stbi__conv -$LN7@stbi__conv: - 0019e 8b 45 04 mov eax, DWORD PTR i$[rbp] - 001a1 ff c8 dec eax - 001a3 89 45 04 mov DWORD PTR i$[rbp], eax - 001a6 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 001aa 48 ff c0 inc rax - 001ad 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 001b1 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 001b8 48 83 c0 02 add rax, 2 - 001bc 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN9@stbi__conv: - 001c3 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 001c7 7c 3b jl SHORT $LN8@stbi__conv - -; 1319 : { -; 1320 : dest[0] = src[0]; - - 001c9 b8 01 00 00 00 mov eax, 1 - 001ce 48 6b c0 00 imul rax, rax, 0 - 001d2 b9 01 00 00 00 mov ecx, 1 - 001d7 48 6b c9 00 imul rcx, rcx, 0 - 001db 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 001e2 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 001e6 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 001eb 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 1321 : dest[1] = 255; - - 001ee b8 01 00 00 00 mov eax, 1 - 001f3 48 6b c0 01 imul rax, rax, 1 - 001f7 48 8b 8d 88 00 - 00 00 mov rcx, QWORD PTR dest$2[rbp] - 001fe c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - -; 1322 : } - - 00202 eb 9a jmp SHORT $LN7@stbi__conv -$LN8@stbi__conv: - -; 1323 : break; - - 00204 e9 2b 08 00 00 jmp $LN5@stbi__conv -$LN46@stbi__conv: - -; 1324 : STBI__CASE(1, 3) - - 00209 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 0020f ff c8 dec eax - 00211 89 45 04 mov DWORD PTR i$[rbp], eax - 00214 eb 25 jmp SHORT $LN12@stbi__conv -$LN10@stbi__conv: - 00216 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00219 ff c8 dec eax - 0021b 89 45 04 mov DWORD PTR i$[rbp], eax - 0021e 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 00222 48 ff c0 inc rax - 00225 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 00229 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 00230 48 83 c0 03 add rax, 3 - 00234 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN12@stbi__conv: - 0023b 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 0023f 7c 7a jl SHORT $LN11@stbi__conv - -; 1325 : { -; 1326 : dest[0] = dest[1] = dest[2] = src[0]; - - 00241 b8 01 00 00 00 mov eax, 1 - 00246 48 6b c0 00 imul rax, rax, 0 - 0024a b9 01 00 00 00 mov ecx, 1 - 0024f 48 6b c9 02 imul rcx, rcx, 2 - 00253 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 0025a 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 0025e 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 00263 88 04 0a mov BYTE PTR [rdx+rcx], al - 00266 b8 01 00 00 00 mov eax, 1 - 0026b 48 6b c0 02 imul rax, rax, 2 - 0026f b9 01 00 00 00 mov ecx, 1 - 00274 48 6b c9 01 imul rcx, rcx, 1 - 00278 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 0027f 4c 8b 85 88 00 - 00 00 mov r8, QWORD PTR dest$2[rbp] - 00286 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 0028b 88 04 0a mov BYTE PTR [rdx+rcx], al - 0028e b8 01 00 00 00 mov eax, 1 - 00293 48 6b c0 01 imul rax, rax, 1 - 00297 b9 01 00 00 00 mov ecx, 1 - 0029c 48 6b c9 00 imul rcx, rcx, 0 - 002a0 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 002a7 4c 8b 85 88 00 - 00 00 mov r8, QWORD PTR dest$2[rbp] - 002ae 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 002b3 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 1327 : } - - 002b6 e9 5b ff ff ff jmp $LN10@stbi__conv -$LN11@stbi__conv: - -; 1328 : break; - - 002bb e9 74 07 00 00 jmp $LN5@stbi__conv -$LN47@stbi__conv: - -; 1329 : STBI__CASE(1, 4) - - 002c0 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 002c6 ff c8 dec eax - 002c8 89 45 04 mov DWORD PTR i$[rbp], eax - 002cb eb 25 jmp SHORT $LN15@stbi__conv -$LN13@stbi__conv: - 002cd 8b 45 04 mov eax, DWORD PTR i$[rbp] - 002d0 ff c8 dec eax - 002d2 89 45 04 mov DWORD PTR i$[rbp], eax - 002d5 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 002d9 48 ff c0 inc rax - 002dc 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 002e0 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 002e7 48 83 c0 04 add rax, 4 - 002eb 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN15@stbi__conv: - 002f2 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 002f6 0f 8c 8e 00 00 - 00 jl $LN14@stbi__conv - -; 1330 : { -; 1331 : dest[0] = dest[1] = dest[2] = src[0]; - - 002fc b8 01 00 00 00 mov eax, 1 - 00301 48 6b c0 00 imul rax, rax, 0 - 00305 b9 01 00 00 00 mov ecx, 1 - 0030a 48 6b c9 02 imul rcx, rcx, 2 - 0030e 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00315 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 00319 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 0031e 88 04 0a mov BYTE PTR [rdx+rcx], al - 00321 b8 01 00 00 00 mov eax, 1 - 00326 48 6b c0 02 imul rax, rax, 2 - 0032a b9 01 00 00 00 mov ecx, 1 - 0032f 48 6b c9 01 imul rcx, rcx, 1 - 00333 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 0033a 4c 8b 85 88 00 - 00 00 mov r8, QWORD PTR dest$2[rbp] - 00341 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 00346 88 04 0a mov BYTE PTR [rdx+rcx], al - 00349 b8 01 00 00 00 mov eax, 1 - 0034e 48 6b c0 01 imul rax, rax, 1 - 00352 b9 01 00 00 00 mov ecx, 1 - 00357 48 6b c9 00 imul rcx, rcx, 0 - 0035b 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00362 4c 8b 85 88 00 - 00 00 mov r8, QWORD PTR dest$2[rbp] - 00369 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 0036e 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 1332 : dest[3] = 255; - - 00371 b8 01 00 00 00 mov eax, 1 - 00376 48 6b c0 03 imul rax, rax, 3 - 0037a 48 8b 8d 88 00 - 00 00 mov rcx, QWORD PTR dest$2[rbp] - 00381 c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - -; 1333 : } - - 00385 e9 43 ff ff ff jmp $LN13@stbi__conv -$LN14@stbi__conv: - -; 1334 : break; - - 0038a e9 a5 06 00 00 jmp $LN5@stbi__conv -$LN48@stbi__conv: - -; 1335 : STBI__CASE(2, 1) - - 0038f 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 00395 ff c8 dec eax - 00397 89 45 04 mov DWORD PTR i$[rbp], eax - 0039a eb 25 jmp SHORT $LN18@stbi__conv -$LN16@stbi__conv: - 0039c 8b 45 04 mov eax, DWORD PTR i$[rbp] - 0039f ff c8 dec eax - 003a1 89 45 04 mov DWORD PTR i$[rbp], eax - 003a4 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 003a8 48 83 c0 02 add rax, 2 - 003ac 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 003b0 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 003b7 48 ff c0 inc rax - 003ba 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN18@stbi__conv: - 003c1 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 003c5 7c 27 jl SHORT $LN17@stbi__conv - -; 1336 : { -; 1337 : dest[0] = src[0]; - - 003c7 b8 01 00 00 00 mov eax, 1 - 003cc 48 6b c0 00 imul rax, rax, 0 - 003d0 b9 01 00 00 00 mov ecx, 1 - 003d5 48 6b c9 00 imul rcx, rcx, 0 - 003d9 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 003e0 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 003e4 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 003e9 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 1338 : } - - 003ec eb ae jmp SHORT $LN16@stbi__conv -$LN17@stbi__conv: - -; 1339 : break; - - 003ee e9 41 06 00 00 jmp $LN5@stbi__conv -$LN49@stbi__conv: - -; 1340 : STBI__CASE(2, 3) - - 003f3 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 003f9 ff c8 dec eax - 003fb 89 45 04 mov DWORD PTR i$[rbp], eax - 003fe eb 26 jmp SHORT $LN21@stbi__conv -$LN19@stbi__conv: - 00400 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00403 ff c8 dec eax - 00405 89 45 04 mov DWORD PTR i$[rbp], eax - 00408 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 0040c 48 83 c0 02 add rax, 2 - 00410 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 00414 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 0041b 48 83 c0 03 add rax, 3 - 0041f 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN21@stbi__conv: - 00426 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 0042a 7c 7a jl SHORT $LN20@stbi__conv - -; 1341 : { -; 1342 : dest[0] = dest[1] = dest[2] = src[0]; - - 0042c b8 01 00 00 00 mov eax, 1 - 00431 48 6b c0 00 imul rax, rax, 0 - 00435 b9 01 00 00 00 mov ecx, 1 - 0043a 48 6b c9 02 imul rcx, rcx, 2 - 0043e 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00445 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 00449 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 0044e 88 04 0a mov BYTE PTR [rdx+rcx], al - 00451 b8 01 00 00 00 mov eax, 1 - 00456 48 6b c0 02 imul rax, rax, 2 - 0045a b9 01 00 00 00 mov ecx, 1 - 0045f 48 6b c9 01 imul rcx, rcx, 1 - 00463 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 0046a 4c 8b 85 88 00 - 00 00 mov r8, QWORD PTR dest$2[rbp] - 00471 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 00476 88 04 0a mov BYTE PTR [rdx+rcx], al - 00479 b8 01 00 00 00 mov eax, 1 - 0047e 48 6b c0 01 imul rax, rax, 1 - 00482 b9 01 00 00 00 mov ecx, 1 - 00487 48 6b c9 00 imul rcx, rcx, 0 - 0048b 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00492 4c 8b 85 88 00 - 00 00 mov r8, QWORD PTR dest$2[rbp] - 00499 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 0049e 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 1343 : } - - 004a1 e9 5a ff ff ff jmp $LN19@stbi__conv -$LN20@stbi__conv: - -; 1344 : break; - - 004a6 e9 89 05 00 00 jmp $LN5@stbi__conv -$LN50@stbi__conv: - -; 1345 : STBI__CASE(2, 4) - - 004ab 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 004b1 ff c8 dec eax - 004b3 89 45 04 mov DWORD PTR i$[rbp], eax - 004b6 eb 26 jmp SHORT $LN24@stbi__conv -$LN22@stbi__conv: - 004b8 8b 45 04 mov eax, DWORD PTR i$[rbp] - 004bb ff c8 dec eax - 004bd 89 45 04 mov DWORD PTR i$[rbp], eax - 004c0 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 004c4 48 83 c0 02 add rax, 2 - 004c8 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 004cc 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 004d3 48 83 c0 04 add rax, 4 - 004d7 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN24@stbi__conv: - 004de 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 004e2 0f 8c 9f 00 00 - 00 jl $LN23@stbi__conv - -; 1346 : { -; 1347 : dest[0] = dest[1] = dest[2] = src[0]; - - 004e8 b8 01 00 00 00 mov eax, 1 - 004ed 48 6b c0 00 imul rax, rax, 0 - 004f1 b9 01 00 00 00 mov ecx, 1 - 004f6 48 6b c9 02 imul rcx, rcx, 2 - 004fa 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00501 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 00505 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 0050a 88 04 0a mov BYTE PTR [rdx+rcx], al - 0050d b8 01 00 00 00 mov eax, 1 - 00512 48 6b c0 02 imul rax, rax, 2 - 00516 b9 01 00 00 00 mov ecx, 1 - 0051b 48 6b c9 01 imul rcx, rcx, 1 - 0051f 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00526 4c 8b 85 88 00 - 00 00 mov r8, QWORD PTR dest$2[rbp] - 0052d 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 00532 88 04 0a mov BYTE PTR [rdx+rcx], al - 00535 b8 01 00 00 00 mov eax, 1 - 0053a 48 6b c0 01 imul rax, rax, 1 - 0053e b9 01 00 00 00 mov ecx, 1 - 00543 48 6b c9 00 imul rcx, rcx, 0 - 00547 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 0054e 4c 8b 85 88 00 - 00 00 mov r8, QWORD PTR dest$2[rbp] - 00555 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 0055a 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 1348 : dest[3] = src[1]; - - 0055d b8 01 00 00 00 mov eax, 1 - 00562 48 6b c0 01 imul rax, rax, 1 - 00566 b9 01 00 00 00 mov ecx, 1 - 0056b 48 6b c9 03 imul rcx, rcx, 3 - 0056f 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00576 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 0057a 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 0057f 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 1349 : } - - 00582 e9 31 ff ff ff jmp $LN22@stbi__conv -$LN23@stbi__conv: - -; 1350 : break; - - 00587 e9 a8 04 00 00 jmp $LN5@stbi__conv -$LN51@stbi__conv: - -; 1351 : STBI__CASE(3, 4) - - 0058c 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 00592 ff c8 dec eax - 00594 89 45 04 mov DWORD PTR i$[rbp], eax - 00597 eb 26 jmp SHORT $LN27@stbi__conv -$LN25@stbi__conv: - 00599 8b 45 04 mov eax, DWORD PTR i$[rbp] - 0059c ff c8 dec eax - 0059e 89 45 04 mov DWORD PTR i$[rbp], eax - 005a1 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 005a5 48 83 c0 03 add rax, 3 - 005a9 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 005ad 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 005b4 48 83 c0 04 add rax, 4 - 005b8 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN27@stbi__conv: - 005bf 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 005c3 0f 8c 88 00 00 - 00 jl $LN26@stbi__conv - -; 1352 : { -; 1353 : dest[0] = src[0]; - - 005c9 b8 01 00 00 00 mov eax, 1 - 005ce 48 6b c0 00 imul rax, rax, 0 - 005d2 b9 01 00 00 00 mov ecx, 1 - 005d7 48 6b c9 00 imul rcx, rcx, 0 - 005db 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 005e2 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 005e6 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 005eb 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 1354 : dest[1] = src[1]; - - 005ee b8 01 00 00 00 mov eax, 1 - 005f3 48 6b c0 01 imul rax, rax, 1 - 005f7 b9 01 00 00 00 mov ecx, 1 - 005fc 48 6b c9 01 imul rcx, rcx, 1 - 00600 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00607 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 0060b 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 00610 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 1355 : dest[2] = src[2]; - - 00613 b8 01 00 00 00 mov eax, 1 - 00618 48 6b c0 02 imul rax, rax, 2 - 0061c b9 01 00 00 00 mov ecx, 1 - 00621 48 6b c9 02 imul rcx, rcx, 2 - 00625 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 0062c 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 00630 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 00635 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 1356 : dest[3] = 255; - - 00638 b8 01 00 00 00 mov eax, 1 - 0063d 48 6b c0 03 imul rax, rax, 3 - 00641 48 8b 8d 88 00 - 00 00 mov rcx, QWORD PTR dest$2[rbp] - 00648 c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - -; 1357 : } - - 0064c e9 48 ff ff ff jmp $LN25@stbi__conv -$LN26@stbi__conv: - -; 1358 : break; - - 00651 e9 de 03 00 00 jmp $LN5@stbi__conv -$LN52@stbi__conv: - -; 1359 : STBI__CASE(3, 1) - - 00656 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 0065c ff c8 dec eax - 0065e 89 45 04 mov DWORD PTR i$[rbp], eax - 00661 eb 25 jmp SHORT $LN30@stbi__conv -$LN28@stbi__conv: - 00663 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00666 ff c8 dec eax - 00668 89 45 04 mov DWORD PTR i$[rbp], eax - 0066b 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 0066f 48 83 c0 03 add rax, 3 - 00673 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 00677 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 0067e 48 ff c0 inc rax - 00681 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN30@stbi__conv: - 00688 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 0068c 7c 64 jl SHORT $LN29@stbi__conv - -; 1360 : { -; 1361 : dest[0] = stbi__compute_y(src[0], src[1], src[2]); - - 0068e b8 01 00 00 00 mov eax, 1 - 00693 48 6b c0 02 imul rax, rax, 2 - 00697 48 8b 4d 68 mov rcx, QWORD PTR src$1[rbp] - 0069b 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0069f b9 01 00 00 00 mov ecx, 1 - 006a4 48 6b c9 01 imul rcx, rcx, 1 - 006a8 48 8b 55 68 mov rdx, QWORD PTR src$1[rbp] - 006ac 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 006b0 ba 01 00 00 00 mov edx, 1 - 006b5 48 6b d2 00 imul rdx, rdx, 0 - 006b9 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 006bd 41 0f b6 14 10 movzx edx, BYTE PTR [r8+rdx] - 006c2 89 95 54 01 00 - 00 mov DWORD PTR tv258[rbp], edx - 006c8 44 8b c0 mov r8d, eax - 006cb 8b d1 mov edx, ecx - 006cd 8b 85 54 01 00 - 00 mov eax, DWORD PTR tv258[rbp] - 006d3 8b c8 mov ecx, eax - 006d5 e8 00 00 00 00 call stbi__compute_y - 006da b9 01 00 00 00 mov ecx, 1 - 006df 48 6b c9 00 imul rcx, rcx, 0 - 006e3 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 006ea 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 1362 : } - - 006ed e9 71 ff ff ff jmp $LN28@stbi__conv -$LN29@stbi__conv: - -; 1363 : break; - - 006f2 e9 3d 03 00 00 jmp $LN5@stbi__conv -$LN53@stbi__conv: - -; 1364 : STBI__CASE(3, 2) - - 006f7 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 006fd ff c8 dec eax - 006ff 89 45 04 mov DWORD PTR i$[rbp], eax - 00702 eb 26 jmp SHORT $LN33@stbi__conv -$LN31@stbi__conv: - 00704 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00707 ff c8 dec eax - 00709 89 45 04 mov DWORD PTR i$[rbp], eax - 0070c 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 00710 48 83 c0 03 add rax, 3 - 00714 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 00718 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 0071f 48 83 c0 02 add rax, 2 - 00723 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN33@stbi__conv: - 0072a 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 0072e 7c 78 jl SHORT $LN32@stbi__conv - -; 1365 : { -; 1366 : dest[0] = stbi__compute_y(src[0], src[1], src[2]); - - 00730 b8 01 00 00 00 mov eax, 1 - 00735 48 6b c0 02 imul rax, rax, 2 - 00739 48 8b 4d 68 mov rcx, QWORD PTR src$1[rbp] - 0073d 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00741 b9 01 00 00 00 mov ecx, 1 - 00746 48 6b c9 01 imul rcx, rcx, 1 - 0074a 48 8b 55 68 mov rdx, QWORD PTR src$1[rbp] - 0074e 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 00752 ba 01 00 00 00 mov edx, 1 - 00757 48 6b d2 00 imul rdx, rdx, 0 - 0075b 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 0075f 41 0f b6 14 10 movzx edx, BYTE PTR [r8+rdx] - 00764 89 95 54 01 00 - 00 mov DWORD PTR tv278[rbp], edx - 0076a 44 8b c0 mov r8d, eax - 0076d 8b d1 mov edx, ecx - 0076f 8b 85 54 01 00 - 00 mov eax, DWORD PTR tv278[rbp] - 00775 8b c8 mov ecx, eax - 00777 e8 00 00 00 00 call stbi__compute_y - 0077c b9 01 00 00 00 mov ecx, 1 - 00781 48 6b c9 00 imul rcx, rcx, 0 - 00785 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 0078c 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 1367 : dest[1] = 255; - - 0078f b8 01 00 00 00 mov eax, 1 - 00794 48 6b c0 01 imul rax, rax, 1 - 00798 48 8b 8d 88 00 - 00 00 mov rcx, QWORD PTR dest$2[rbp] - 0079f c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - -; 1368 : } - - 007a3 e9 5c ff ff ff jmp $LN31@stbi__conv -$LN32@stbi__conv: - -; 1369 : break; - - 007a8 e9 87 02 00 00 jmp $LN5@stbi__conv -$LN54@stbi__conv: - -; 1370 : STBI__CASE(4, 1) - - 007ad 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 007b3 ff c8 dec eax - 007b5 89 45 04 mov DWORD PTR i$[rbp], eax - 007b8 eb 25 jmp SHORT $LN36@stbi__conv -$LN34@stbi__conv: - 007ba 8b 45 04 mov eax, DWORD PTR i$[rbp] - 007bd ff c8 dec eax - 007bf 89 45 04 mov DWORD PTR i$[rbp], eax - 007c2 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 007c6 48 83 c0 04 add rax, 4 - 007ca 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 007ce 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 007d5 48 ff c0 inc rax - 007d8 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN36@stbi__conv: - 007df 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 007e3 7c 64 jl SHORT $LN35@stbi__conv - -; 1371 : { -; 1372 : dest[0] = stbi__compute_y(src[0], src[1], src[2]); - - 007e5 b8 01 00 00 00 mov eax, 1 - 007ea 48 6b c0 02 imul rax, rax, 2 - 007ee 48 8b 4d 68 mov rcx, QWORD PTR src$1[rbp] - 007f2 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 007f6 b9 01 00 00 00 mov ecx, 1 - 007fb 48 6b c9 01 imul rcx, rcx, 1 - 007ff 48 8b 55 68 mov rdx, QWORD PTR src$1[rbp] - 00803 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 00807 ba 01 00 00 00 mov edx, 1 - 0080c 48 6b d2 00 imul rdx, rdx, 0 - 00810 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 00814 41 0f b6 14 10 movzx edx, BYTE PTR [r8+rdx] - 00819 89 95 54 01 00 - 00 mov DWORD PTR tv300[rbp], edx - 0081f 44 8b c0 mov r8d, eax - 00822 8b d1 mov edx, ecx - 00824 8b 85 54 01 00 - 00 mov eax, DWORD PTR tv300[rbp] - 0082a 8b c8 mov ecx, eax - 0082c e8 00 00 00 00 call stbi__compute_y - 00831 b9 01 00 00 00 mov ecx, 1 - 00836 48 6b c9 00 imul rcx, rcx, 0 - 0083a 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00841 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 1373 : } - - 00844 e9 71 ff ff ff jmp $LN34@stbi__conv -$LN35@stbi__conv: - -; 1374 : break; - - 00849 e9 e6 01 00 00 jmp $LN5@stbi__conv -$LN55@stbi__conv: - -; 1375 : STBI__CASE(4, 2) - - 0084e 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 00854 ff c8 dec eax - 00856 89 45 04 mov DWORD PTR i$[rbp], eax - 00859 eb 26 jmp SHORT $LN39@stbi__conv -$LN37@stbi__conv: - 0085b 8b 45 04 mov eax, DWORD PTR i$[rbp] - 0085e ff c8 dec eax - 00860 89 45 04 mov DWORD PTR i$[rbp], eax - 00863 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 00867 48 83 c0 04 add rax, 4 - 0086b 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 0086f 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 00876 48 83 c0 02 add rax, 2 - 0087a 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN39@stbi__conv: - 00881 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 00885 0f 8c 89 00 00 - 00 jl $LN38@stbi__conv - -; 1376 : { -; 1377 : dest[0] = stbi__compute_y(src[0], src[1], src[2]); - - 0088b b8 01 00 00 00 mov eax, 1 - 00890 48 6b c0 02 imul rax, rax, 2 - 00894 48 8b 4d 68 mov rcx, QWORD PTR src$1[rbp] - 00898 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0089c b9 01 00 00 00 mov ecx, 1 - 008a1 48 6b c9 01 imul rcx, rcx, 1 - 008a5 48 8b 55 68 mov rdx, QWORD PTR src$1[rbp] - 008a9 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 008ad ba 01 00 00 00 mov edx, 1 - 008b2 48 6b d2 00 imul rdx, rdx, 0 - 008b6 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 008ba 41 0f b6 14 10 movzx edx, BYTE PTR [r8+rdx] - 008bf 89 95 54 01 00 - 00 mov DWORD PTR tv320[rbp], edx - 008c5 44 8b c0 mov r8d, eax - 008c8 8b d1 mov edx, ecx - 008ca 8b 85 54 01 00 - 00 mov eax, DWORD PTR tv320[rbp] - 008d0 8b c8 mov ecx, eax - 008d2 e8 00 00 00 00 call stbi__compute_y - 008d7 b9 01 00 00 00 mov ecx, 1 - 008dc 48 6b c9 00 imul rcx, rcx, 0 - 008e0 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 008e7 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 1378 : dest[1] = src[3]; - - 008ea b8 01 00 00 00 mov eax, 1 - 008ef 48 6b c0 03 imul rax, rax, 3 - 008f3 b9 01 00 00 00 mov ecx, 1 - 008f8 48 6b c9 01 imul rcx, rcx, 1 - 008fc 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00903 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 00907 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 0090c 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 1379 : } - - 0090f e9 47 ff ff ff jmp $LN37@stbi__conv -$LN38@stbi__conv: - -; 1380 : break; - - 00914 e9 1b 01 00 00 jmp $LN5@stbi__conv -$LN56@stbi__conv: - -; 1381 : STBI__CASE(4, 3) - - 00919 8b 85 98 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 0091f ff c8 dec eax - 00921 89 45 04 mov DWORD PTR i$[rbp], eax - 00924 eb 26 jmp SHORT $LN42@stbi__conv -$LN40@stbi__conv: - 00926 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00929 ff c8 dec eax - 0092b 89 45 04 mov DWORD PTR i$[rbp], eax - 0092e 48 8b 45 68 mov rax, QWORD PTR src$1[rbp] - 00932 48 83 c0 04 add rax, 4 - 00936 48 89 45 68 mov QWORD PTR src$1[rbp], rax - 0093a 48 8b 85 88 00 - 00 00 mov rax, QWORD PTR dest$2[rbp] - 00941 48 83 c0 03 add rax, 3 - 00945 48 89 85 88 00 - 00 00 mov QWORD PTR dest$2[rbp], rax -$LN42@stbi__conv: - 0094c 83 7d 04 00 cmp DWORD PTR i$[rbp], 0 - 00950 7c 74 jl SHORT $LN41@stbi__conv - -; 1382 : { -; 1383 : dest[0] = src[0]; - - 00952 b8 01 00 00 00 mov eax, 1 - 00957 48 6b c0 00 imul rax, rax, 0 - 0095b b9 01 00 00 00 mov ecx, 1 - 00960 48 6b c9 00 imul rcx, rcx, 0 - 00964 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 0096b 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 0096f 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 00974 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 1384 : dest[1] = src[1]; - - 00977 b8 01 00 00 00 mov eax, 1 - 0097c 48 6b c0 01 imul rax, rax, 1 - 00980 b9 01 00 00 00 mov ecx, 1 - 00985 48 6b c9 01 imul rcx, rcx, 1 - 00989 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 00990 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 00994 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 00999 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 1385 : dest[2] = src[2]; - - 0099c b8 01 00 00 00 mov eax, 1 - 009a1 48 6b c0 02 imul rax, rax, 2 - 009a5 b9 01 00 00 00 mov ecx, 1 - 009aa 48 6b c9 02 imul rcx, rcx, 2 - 009ae 48 8b 95 88 00 - 00 00 mov rdx, QWORD PTR dest$2[rbp] - 009b5 4c 8b 45 68 mov r8, QWORD PTR src$1[rbp] - 009b9 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 009be 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 1386 : } - - 009c1 e9 60 ff ff ff jmp $LN40@stbi__conv -$LN41@stbi__conv: - -; 1387 : break; - - 009c6 eb 6c jmp SHORT $LN5@stbi__conv -$LN57@stbi__conv: - -; 1388 : default: -; 1389 : STBI_ASSERT(0); - - 009c8 33 c0 xor eax, eax - 009ca 85 c0 test eax, eax - 009cc 75 1c jne SHORT $LN63@stbi__conv - 009ce 41 b8 6d 05 00 - 00 mov r8d, 1389 ; 0000056dH - 009d4 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_1GG@PCNMFHPN@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ - 009db 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_13COJANIEC@?$AA0@ - 009e2 ff 15 00 00 00 - 00 call QWORD PTR __imp__wassert - 009e8 33 c0 xor eax, eax -$LN63@stbi__conv: - -; 1390 : STBI_FREE(data); - - 009ea 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR data$[rbp] - 009f1 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 009f7 90 npad 1 - -; 1391 : STBI_FREE(good); - - 009f8 48 8b 4d 48 mov rcx, QWORD PTR good$[rbp] - 009fc ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00a02 90 npad 1 - -; 1392 : return stbi__errpuc("unsupported", "Unsupported format conversion"); - - 00a03 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0M@MHDBFHD@unsupported@ - 00a0a e8 00 00 00 00 call stbi__err - 00a0f 85 c0 test eax, eax - 00a11 74 0d je SHORT $LN64@stbi__conv - 00a13 48 c7 85 58 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv353[rbp], 0 - 00a1e eb 0b jmp SHORT $LN65@stbi__conv -$LN64@stbi__conv: - 00a20 48 c7 85 58 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv353[rbp], 0 -$LN65@stbi__conv: - 00a2b 48 8b 85 58 01 - 00 00 mov rax, QWORD PTR tv353[rbp] - 00a32 eb 17 jmp SHORT $LN1@stbi__conv -$LN5@stbi__conv: - -; 1393 : } -; 1394 : #undef STBI__CASE -; 1395 : } - - 00a34 e9 ae f6 ff ff jmp $LN2@stbi__conv -$LN3@stbi__conv: - -; 1396 : -; 1397 : STBI_FREE(data); - - 00a39 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR data$[rbp] - 00a40 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00a46 90 npad 1 - -; 1398 : return good; - - 00a47 48 8b 45 48 mov rax, QWORD PTR good$[rbp] -$LN1@stbi__conv: - -; 1399 : } - - 00a4b 48 8d a5 68 01 - 00 00 lea rsp, QWORD PTR [rbp+360] - 00a52 5f pop rdi - 00a53 5d pop rbp - 00a54 c3 ret 0 - 00a55 0f 1f 00 npad 3 -$LN66@stbi__conv: - 00a58 00 00 00 00 DD $LN45@stbi__conv - 00a5c 00 00 00 00 DD $LN46@stbi__conv - 00a60 00 00 00 00 DD $LN47@stbi__conv - 00a64 00 00 00 00 DD $LN57@stbi__conv - 00a68 00 00 00 00 DD $LN57@stbi__conv - 00a6c 00 00 00 00 DD $LN57@stbi__conv - 00a70 00 00 00 00 DD $LN57@stbi__conv - 00a74 00 00 00 00 DD $LN48@stbi__conv - 00a78 00 00 00 00 DD $LN57@stbi__conv - 00a7c 00 00 00 00 DD $LN49@stbi__conv - 00a80 00 00 00 00 DD $LN50@stbi__conv - 00a84 00 00 00 00 DD $LN57@stbi__conv - 00a88 00 00 00 00 DD $LN57@stbi__conv - 00a8c 00 00 00 00 DD $LN57@stbi__conv - 00a90 00 00 00 00 DD $LN57@stbi__conv - 00a94 00 00 00 00 DD $LN52@stbi__conv - 00a98 00 00 00 00 DD $LN53@stbi__conv - 00a9c 00 00 00 00 DD $LN57@stbi__conv - 00aa0 00 00 00 00 DD $LN51@stbi__conv - 00aa4 00 00 00 00 DD $LN57@stbi__conv - 00aa8 00 00 00 00 DD $LN57@stbi__conv - 00aac 00 00 00 00 DD $LN57@stbi__conv - 00ab0 00 00 00 00 DD $LN57@stbi__conv - 00ab4 00 00 00 00 DD $LN54@stbi__conv - 00ab8 00 00 00 00 DD $LN55@stbi__conv - 00abc 00 00 00 00 DD $LN56@stbi__conv -stbi__convert_format ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__compute_y -_TEXT SEGMENT -r$ = 224 -g$ = 232 -b$ = 240 -stbi__compute_y PROC ; COMDAT - -; 1281 : { - - 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 00005 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00009 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 0000d 55 push rbp - 0000e 57 push rdi - 0000f 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 00016 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00022 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00027 90 npad 1 - -; 1282 : return (stbi_uc)(((r * 77) + (g * 150) + (29 * b)) >> 8); - - 00028 6b 85 e0 00 00 - 00 4d imul eax, DWORD PTR r$[rbp], 77 ; 0000004dH - 0002f 69 8d e8 00 00 - 00 96 00 00 00 imul ecx, DWORD PTR g$[rbp], 150 ; 00000096H - 00039 03 c1 add eax, ecx - 0003b 6b 8d f0 00 00 - 00 1d imul ecx, DWORD PTR b$[rbp], 29 - 00042 03 c1 add eax, ecx - 00044 c1 f8 08 sar eax, 8 - -; 1283 : } - - 00047 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 0004e 5f pop rdi - 0004f 5d pop rbp - 00050 c3 ret 0 -stbi__compute_y ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__get32le -_TEXT SEGMENT -z$ = 4 -s$ = 256 -stbi__get32le PROC ; COMDAT - -; 1255 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 1256 : stbi__uint32 z = stbi__get16le(s); - - 00020 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00027 e8 00 00 00 00 call stbi__get16le - 0002c 89 45 04 mov DWORD PTR z$[rbp], eax - -; 1257 : z += (stbi__uint32)stbi__get16le(s) << 16; - - 0002f 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00036 e8 00 00 00 00 call stbi__get16le - 0003b c1 e0 10 shl eax, 16 - 0003e 8b 4d 04 mov ecx, DWORD PTR z$[rbp] - 00041 03 c8 add ecx, eax - 00043 8b c1 mov eax, ecx - 00045 89 45 04 mov DWORD PTR z$[rbp], eax - -; 1258 : return z; - - 00048 8b 45 04 mov eax, DWORD PTR z$[rbp] - -; 1259 : } - - 0004b 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 00052 5f pop rdi - 00053 5d pop rbp - 00054 c3 ret 0 -stbi__get32le ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__get16le -_TEXT SEGMENT -z$ = 4 -s$ = 256 -stbi__get16le PROC ; COMDAT - -; 1247 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 1248 : int z = stbi__get8(s); - - 00020 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00027 e8 00 00 00 00 call stbi__get8 - 0002c 0f b6 c0 movzx eax, al - 0002f 89 45 04 mov DWORD PTR z$[rbp], eax - -; 1249 : return z + (stbi__get8(s) << 8); - - 00032 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00039 e8 00 00 00 00 call stbi__get8 - 0003e 0f b6 c0 movzx eax, al - 00041 c1 e0 08 shl eax, 8 - 00044 8b 4d 04 mov ecx, DWORD PTR z$[rbp] - 00047 03 c8 add ecx, eax - 00049 8b c1 mov eax, ecx - -; 1250 : } - - 0004b 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 00052 5f pop rdi - 00053 5d pop rbp - 00054 c3 ret 0 -stbi__get16le ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__get32be -_TEXT SEGMENT -z$ = 4 -tv66 = 212 -s$ = 256 -stbi__get32be PROC ; COMDAT - -; 1237 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 1238 : stbi__uint32 z = stbi__get16be(s); - - 00020 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00027 e8 00 00 00 00 call stbi__get16be - 0002c 89 45 04 mov DWORD PTR z$[rbp], eax - -; 1239 : return (z << 16) + stbi__get16be(s); - - 0002f 8b 45 04 mov eax, DWORD PTR z$[rbp] - 00032 c1 e0 10 shl eax, 16 - 00035 89 85 d4 00 00 - 00 mov DWORD PTR tv66[rbp], eax - 0003b 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00042 e8 00 00 00 00 call stbi__get16be - 00047 8b 8d d4 00 00 - 00 mov ecx, DWORD PTR tv66[rbp] - 0004d 03 c8 add ecx, eax - 0004f 8b c1 mov eax, ecx - -; 1240 : } - - 00051 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 00058 5f pop rdi - 00059 5d pop rbp - 0005a c3 ret 0 -stbi__get32be ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__get16be -_TEXT SEGMENT -z$ = 4 -tv67 = 212 -s$ = 256 -stbi__get16be PROC ; COMDAT - -; 1227 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 1228 : int z = stbi__get8(s); - - 00020 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00027 e8 00 00 00 00 call stbi__get8 - 0002c 0f b6 c0 movzx eax, al - 0002f 89 45 04 mov DWORD PTR z$[rbp], eax - -; 1229 : return (z << 8) + stbi__get8(s); - - 00032 8b 45 04 mov eax, DWORD PTR z$[rbp] - 00035 c1 e0 08 shl eax, 8 - 00038 89 85 d4 00 00 - 00 mov DWORD PTR tv67[rbp], eax - 0003e 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00045 e8 00 00 00 00 call stbi__get8 - 0004a 0f b6 c0 movzx eax, al - 0004d 8b 8d d4 00 00 - 00 mov ecx, DWORD PTR tv67[rbp] - 00053 03 c8 add ecx, eax - 00055 8b c1 mov eax, ecx - -; 1230 : } - - 00057 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 0005e 5f pop rdi - 0005f 5d pop rbp - 00060 c3 ret 0 -stbi__get16be ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__getn -_TEXT SEGMENT -blen$1 = 4 -res$2 = 36 -count$3 = 68 -tv87 = 276 -s$ = 320 -buffer$ = 328 -n$ = 336 -stbi__getn PROC ; COMDAT - -; 1199 : { - - 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec 48 01 - 00 00 sub rsp, 328 ; 00000148H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 1200 : if (s->io.read) { - - 0002a 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00031 48 83 78 10 00 cmp QWORD PTR [rax+16], 0 - 00036 0f 84 e1 00 00 - 00 je $LN2@stbi__getn - -; 1201 : int blen = (int)(s->img_buffer_end - s->img_buffer); - - 0003c 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00043 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0004a 48 8b 89 c0 00 - 00 00 mov rcx, QWORD PTR [rcx+192] - 00051 48 8b 80 c8 00 - 00 00 mov rax, QWORD PTR [rax+200] - 00058 48 2b c1 sub rax, rcx - 0005b 89 45 04 mov DWORD PTR blen$1[rbp], eax - -; 1202 : if (blen < n) { - - 0005e 8b 85 50 01 00 - 00 mov eax, DWORD PTR n$[rbp] - 00064 39 45 04 cmp DWORD PTR blen$1[rbp], eax - 00067 0f 8d b0 00 00 - 00 jge $LN3@stbi__getn - -; 1203 : int res, count; -; 1204 : -; 1205 : memcpy(buffer, s->img_buffer, blen); - - 0006d 48 63 45 04 movsxd rax, DWORD PTR blen$1[rbp] - 00071 4c 8b c0 mov r8, rax - 00074 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 0007b 48 8b 90 c0 00 - 00 00 mov rdx, QWORD PTR [rax+192] - 00082 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR buffer$[rbp] - 00089 e8 00 00 00 00 call memcpy - 0008e 90 npad 1 - -; 1206 : -; 1207 : count = (s->io.read)(s->io_user_data, (char *)buffer + blen, n - blen); - - 0008f 8b 45 04 mov eax, DWORD PTR blen$1[rbp] - 00092 8b 8d 50 01 00 - 00 mov ecx, DWORD PTR n$[rbp] - 00098 2b c8 sub ecx, eax - 0009a 8b c1 mov eax, ecx - 0009c 48 63 4d 04 movsxd rcx, DWORD PTR blen$1[rbp] - 000a0 48 8b 95 48 01 - 00 00 mov rdx, QWORD PTR buffer$[rbp] - 000a7 48 03 d1 add rdx, rcx - 000aa 48 8b ca mov rcx, rdx - 000ad 44 8b c0 mov r8d, eax - 000b0 48 8b d1 mov rdx, rcx - 000b3 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 000ba 48 8b 48 28 mov rcx, QWORD PTR [rax+40] - 000be 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 000c5 ff 50 10 call QWORD PTR [rax+16] - 000c8 89 45 44 mov DWORD PTR count$3[rbp], eax - -; 1208 : res = (count == (n - blen)); - - 000cb 8b 45 04 mov eax, DWORD PTR blen$1[rbp] - 000ce 8b 8d 50 01 00 - 00 mov ecx, DWORD PTR n$[rbp] - 000d4 2b c8 sub ecx, eax - 000d6 8b c1 mov eax, ecx - 000d8 39 45 44 cmp DWORD PTR count$3[rbp], eax - 000db 75 0c jne SHORT $LN7@stbi__getn - 000dd c7 85 14 01 00 - 00 01 00 00 00 mov DWORD PTR tv87[rbp], 1 - 000e7 eb 0a jmp SHORT $LN8@stbi__getn -$LN7@stbi__getn: - 000e9 c7 85 14 01 00 - 00 00 00 00 00 mov DWORD PTR tv87[rbp], 0 -$LN8@stbi__getn: - 000f3 8b 85 14 01 00 - 00 mov eax, DWORD PTR tv87[rbp] - 000f9 89 45 24 mov DWORD PTR res$2[rbp], eax - -; 1209 : s->img_buffer = s->img_buffer_end; - - 000fc 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00103 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0010a 48 8b 89 c8 00 - 00 00 mov rcx, QWORD PTR [rcx+200] - 00111 48 89 88 c0 00 - 00 00 mov QWORD PTR [rax+192], rcx - -; 1210 : return res; - - 00118 8b 45 24 mov eax, DWORD PTR res$2[rbp] - 0011b eb 78 jmp SHORT $LN1@stbi__getn -$LN3@stbi__getn: -$LN2@stbi__getn: - -; 1211 : } -; 1212 : } -; 1213 : -; 1214 : if (s->img_buffer + n <= s->img_buffer_end) { - - 0011d 48 63 85 50 01 - 00 00 movsxd rax, DWORD PTR n$[rbp] - 00124 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0012b 48 03 81 c0 00 - 00 00 add rax, QWORD PTR [rcx+192] - 00132 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00139 48 3b 81 c8 00 - 00 00 cmp rax, QWORD PTR [rcx+200] - 00140 77 51 ja SHORT $LN4@stbi__getn - -; 1215 : memcpy(buffer, s->img_buffer, n); - - 00142 48 63 85 50 01 - 00 00 movsxd rax, DWORD PTR n$[rbp] - 00149 4c 8b c0 mov r8, rax - 0014c 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00153 48 8b 90 c0 00 - 00 00 mov rdx, QWORD PTR [rax+192] - 0015a 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR buffer$[rbp] - 00161 e8 00 00 00 00 call memcpy - 00166 90 npad 1 - -; 1216 : s->img_buffer += n; - - 00167 48 63 85 50 01 - 00 00 movsxd rax, DWORD PTR n$[rbp] - 0016e 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00175 48 03 81 c0 00 - 00 00 add rax, QWORD PTR [rcx+192] - 0017c 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00183 48 89 81 c0 00 - 00 00 mov QWORD PTR [rcx+192], rax - -; 1217 : return 1; - - 0018a b8 01 00 00 00 mov eax, 1 - 0018f eb 04 jmp SHORT $LN1@stbi__getn - -; 1218 : } else - - 00191 eb 02 jmp SHORT $LN5@stbi__getn -$LN4@stbi__getn: - -; 1219 : return 0; - - 00193 33 c0 xor eax, eax -$LN5@stbi__getn: -$LN1@stbi__getn: - -; 1220 : } - - 00195 48 8d a5 28 01 - 00 00 lea rsp, QWORD PTR [rbp+296] - 0019c 5f pop rdi - 0019d 5d pop rbp - 0019e c3 ret 0 -stbi__getn ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__skip -_TEXT SEGMENT -blen$1 = 4 -s$ = 256 -n$ = 264 -stbi__skip PROC ; COMDAT - -; 1176 : { - - 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00009 55 push rbp - 0000a 57 push rdi - 0000b 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00017 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00023 90 npad 1 - -; 1177 : if (n == 0) - - 00024 83 bd 08 01 00 - 00 00 cmp DWORD PTR n$[rbp], 0 - 0002b 75 05 jne SHORT $LN2@stbi__skip - -; 1178 : return; // already there! - - 0002d e9 cb 00 00 00 jmp $LN1@stbi__skip -$LN2@stbi__skip: - -; 1179 : if (n < 0) { - - 00032 83 bd 08 01 00 - 00 00 cmp DWORD PTR n$[rbp], 0 - 00039 7d 21 jge SHORT $LN3@stbi__skip - -; 1180 : s->img_buffer = s->img_buffer_end; - - 0003b 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00042 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00049 48 8b 89 c8 00 - 00 00 mov rcx, QWORD PTR [rcx+200] - 00050 48 89 88 c0 00 - 00 00 mov QWORD PTR [rax+192], rcx - -; 1181 : return; - - 00057 e9 a1 00 00 00 jmp $LN1@stbi__skip -$LN3@stbi__skip: - -; 1182 : } -; 1183 : if (s->io.read) { - - 0005c 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00063 48 83 78 10 00 cmp QWORD PTR [rax+16], 0 - 00068 74 70 je SHORT $LN4@stbi__skip - -; 1184 : int blen = (int)(s->img_buffer_end - s->img_buffer); - - 0006a 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00071 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00078 48 8b 89 c0 00 - 00 00 mov rcx, QWORD PTR [rcx+192] - 0007f 48 8b 80 c8 00 - 00 00 mov rax, QWORD PTR [rax+200] - 00086 48 2b c1 sub rax, rcx - 00089 89 45 04 mov DWORD PTR blen$1[rbp], eax - -; 1185 : if (blen < n) { - - 0008c 8b 85 08 01 00 - 00 mov eax, DWORD PTR n$[rbp] - 00092 39 45 04 cmp DWORD PTR blen$1[rbp], eax - 00095 7d 43 jge SHORT $LN5@stbi__skip - -; 1186 : s->img_buffer = s->img_buffer_end; - - 00097 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 0009e 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000a5 48 8b 89 c8 00 - 00 00 mov rcx, QWORD PTR [rcx+200] - 000ac 48 89 88 c0 00 - 00 00 mov QWORD PTR [rax+192], rcx - -; 1187 : (s->io.skip)(s->io_user_data, n - blen); - - 000b3 8b 45 04 mov eax, DWORD PTR blen$1[rbp] - 000b6 8b 8d 08 01 00 - 00 mov ecx, DWORD PTR n$[rbp] - 000bc 2b c8 sub ecx, eax - 000be 8b c1 mov eax, ecx - 000c0 8b d0 mov edx, eax - 000c2 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 000c9 48 8b 48 28 mov rcx, QWORD PTR [rax+40] - 000cd 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 000d4 ff 50 18 call QWORD PTR [rax+24] - 000d7 90 npad 1 - -; 1188 : return; - - 000d8 eb 23 jmp SHORT $LN1@stbi__skip -$LN5@stbi__skip: -$LN4@stbi__skip: - -; 1189 : } -; 1190 : } -; 1191 : s->img_buffer += n; - - 000da 48 63 85 08 01 - 00 00 movsxd rax, DWORD PTR n$[rbp] - 000e1 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000e8 48 03 81 c0 00 - 00 00 add rax, QWORD PTR [rcx+192] - 000ef 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000f6 48 89 81 c0 00 - 00 00 mov QWORD PTR [rcx+192], rax -$LN1@stbi__skip: - -; 1192 : } - - 000fd 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 00104 5f pop rdi - 00105 5d pop rbp - 00106 c3 ret 0 -stbi__skip ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__at_eof -_TEXT SEGMENT -tv76 = 192 -s$ = 240 -stbi__at_eof PROC ; COMDAT - -; 1156 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 1157 : if (s->io.read) { - - 00020 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 00027 48 83 78 10 00 cmp QWORD PTR [rax+16], 0 - 0002c 74 31 je SHORT $LN2@stbi__at_e - -; 1158 : if (!(s->io.eof)(s->io_user_data)) - - 0002e 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 00035 48 8b 48 28 mov rcx, QWORD PTR [rax+40] - 00039 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 00040 ff 50 20 call QWORD PTR [rax+32] - 00043 85 c0 test eax, eax - 00045 75 04 jne SHORT $LN3@stbi__at_e - -; 1159 : return 0; - - 00047 33 c0 xor eax, eax - 00049 eb 4e jmp SHORT $LN1@stbi__at_e -$LN3@stbi__at_e: - -; 1160 : // if feof() is true, check if buffer = end -; 1161 : // special case: we've only got the special 0 character at the end -; 1162 : if (s->read_from_callbacks == 0) - - 0004b 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 00052 83 78 30 00 cmp DWORD PTR [rax+48], 0 - 00056 75 07 jne SHORT $LN4@stbi__at_e - -; 1163 : return 1; - - 00058 b8 01 00 00 00 mov eax, 1 - 0005d eb 3a jmp SHORT $LN1@stbi__at_e -$LN4@stbi__at_e: -$LN2@stbi__at_e: - -; 1164 : } -; 1165 : -; 1166 : return s->img_buffer >= s->img_buffer_end; - - 0005f 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 00066 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0006d 48 8b 89 c8 00 - 00 00 mov rcx, QWORD PTR [rcx+200] - 00074 48 39 88 c0 00 - 00 00 cmp QWORD PTR [rax+192], rcx - 0007b 72 0c jb SHORT $LN6@stbi__at_e - 0007d c7 85 c0 00 00 - 00 01 00 00 00 mov DWORD PTR tv76[rbp], 1 - 00087 eb 0a jmp SHORT $LN7@stbi__at_e -$LN6@stbi__at_e: - 00089 c7 85 c0 00 00 - 00 00 00 00 00 mov DWORD PTR tv76[rbp], 0 -$LN7@stbi__at_e: - 00093 8b 85 c0 00 00 - 00 mov eax, DWORD PTR tv76[rbp] -$LN1@stbi__at_e: - -; 1167 : } - - 00099 48 8d a5 d8 00 - 00 00 lea rsp, QWORD PTR [rbp+216] - 000a0 5f pop rdi - 000a1 5d pop rbp - 000a2 c3 ret 0 -stbi__at_eof ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__get8 -_TEXT SEGMENT -tv72 = 192 -tv81 = 192 -s$ = 240 -stbi__get8 PROC ; COMDAT - -; 1142 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 1143 : if (s->img_buffer < s->img_buffer_end) - - 00020 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 00027 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0002e 48 8b 89 c8 00 - 00 00 mov rcx, QWORD PTR [rcx+200] - 00035 48 39 88 c0 00 - 00 00 cmp QWORD PTR [rax+192], rcx - 0003c 73 3f jae SHORT $LN2@stbi__get8 - -; 1144 : return *s->img_buffer++; - - 0003e 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 00045 48 8b 80 c0 00 - 00 00 mov rax, QWORD PTR [rax+192] - 0004c 0f b6 00 movzx eax, BYTE PTR [rax] - 0004f 88 85 c0 00 00 - 00 mov BYTE PTR tv72[rbp], al - 00055 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 0005c 48 8b 80 c0 00 - 00 00 mov rax, QWORD PTR [rax+192] - 00063 48 ff c0 inc rax - 00066 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0006d 48 89 81 c0 00 - 00 00 mov QWORD PTR [rcx+192], rax - 00074 0f b6 85 c0 00 - 00 00 movzx eax, BYTE PTR tv72[rbp] - 0007b eb 5b jmp SHORT $LN1@stbi__get8 -$LN2@stbi__get8: - -; 1145 : if (s->read_from_callbacks) { - - 0007d 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 00084 83 78 30 00 cmp DWORD PTR [rax+48], 0 - 00088 74 4c je SHORT $LN3@stbi__get8 - -; 1146 : stbi__refill_buffer(s); - - 0008a 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00091 e8 00 00 00 00 call stbi__refill_buffer - 00096 90 npad 1 - -; 1147 : return *s->img_buffer++; - - 00097 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 0009e 48 8b 80 c0 00 - 00 00 mov rax, QWORD PTR [rax+192] - 000a5 0f b6 00 movzx eax, BYTE PTR [rax] - 000a8 88 85 c0 00 00 - 00 mov BYTE PTR tv81[rbp], al - 000ae 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 000b5 48 8b 80 c0 00 - 00 00 mov rax, QWORD PTR [rax+192] - 000bc 48 ff c0 inc rax - 000bf 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000c6 48 89 81 c0 00 - 00 00 mov QWORD PTR [rcx+192], rax - 000cd 0f b6 85 c0 00 - 00 00 movzx eax, BYTE PTR tv81[rbp] - 000d4 eb 02 jmp SHORT $LN1@stbi__get8 -$LN3@stbi__get8: - -; 1148 : } -; 1149 : return 0; - - 000d6 32 c0 xor al, al -$LN1@stbi__get8: - -; 1150 : } - - 000d8 48 8d a5 d8 00 - 00 00 lea rsp, QWORD PTR [rbp+216] - 000df 5f pop rdi - 000e0 5d pop rbp - 000e1 c3 ret 0 -stbi__get8 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__loadf_main -_TEXT SEGMENT -data$ = 8 -ri$4 = 40 -hdr_data$5 = 88 -tv89 = 292 -tv129 = 296 -__$ArrayPad$ = 304 -s$ = 352 -x$ = 360 -y$ = 368 -comp$ = 376 -req_comp$ = 384 -stbi__loadf_main PROC ; COMDAT - -; 979 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 78 01 - 00 00 sub rsp, 376 ; 00000178H - 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00022 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 00027 b9 22 00 00 00 mov ecx, 34 ; 00000022H - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 98 - 01 00 00 mov rcx, QWORD PTR [rsp+408] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 30 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 980 : unsigned char *data; -; 981 : #ifndef STBI_NO_HDR -; 982 : if (stbi__hdr_test(s)) { - - 00059 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00060 e8 00 00 00 00 call stbi__hdr_test - 00065 85 c0 test eax, eax - 00067 74 71 je SHORT $LN2@stbi__load - -; 983 : stbi__result_info ri; -; 984 : float *hdr_data = stbi__hdr_load(s, x, y, comp, req_comp, &ri); - - 00069 48 8d 45 28 lea rax, QWORD PTR ri$4[rbp] - 0006d 48 89 44 24 28 mov QWORD PTR [rsp+40], rax - 00072 8b 85 80 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 00078 89 44 24 20 mov DWORD PTR [rsp+32], eax - 0007c 4c 8b 8d 78 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00083 4c 8b 85 70 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 0008a 48 8b 95 68 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 00091 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00098 e8 00 00 00 00 call stbi__hdr_load - 0009d 48 89 45 58 mov QWORD PTR hdr_data$5[rbp], rax - -; 985 : if (hdr_data) - - 000a1 48 83 7d 58 00 cmp QWORD PTR hdr_data$5[rbp], 0 - 000a6 74 29 je SHORT $LN3@stbi__load - -; 986 : stbi__float_postprocess(hdr_data, x, y, comp, req_comp); - - 000a8 8b 85 80 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 000ae 89 44 24 20 mov DWORD PTR [rsp+32], eax - 000b2 4c 8b 8d 78 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 000b9 4c 8b 85 70 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 000c0 48 8b 95 68 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 000c7 48 8b 4d 58 mov rcx, QWORD PTR hdr_data$5[rbp] - 000cb e8 00 00 00 00 call stbi__float_postprocess - 000d0 90 npad 1 -$LN3@stbi__load: - -; 987 : return hdr_data; - - 000d1 48 8b 45 58 mov rax, QWORD PTR hdr_data$5[rbp] - 000d5 e9 b0 00 00 00 jmp $LN1@stbi__load -$LN2@stbi__load: - -; 988 : } -; 989 : #endif -; 990 : data = stbi__load_and_postprocess_8bit(s, x, y, comp, req_comp); - - 000da 8b 85 80 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 000e0 89 44 24 20 mov DWORD PTR [rsp+32], eax - 000e4 4c 8b 8d 78 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 000eb 4c 8b 85 70 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 000f2 48 8b 95 68 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 000f9 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00100 e8 00 00 00 00 call stbi__load_and_postprocess_8bit - 00105 48 89 45 08 mov QWORD PTR data$[rbp], rax - -; 991 : if (data) - - 00109 48 83 7d 08 00 cmp QWORD PTR data$[rbp], 0 - 0010e 74 4b je SHORT $LN4@stbi__load - -; 992 : return stbi__ldr_to_hdr(data, *x, *y, req_comp ? req_comp : *comp); - - 00110 83 bd 80 01 00 - 00 00 cmp DWORD PTR req_comp$[rbp], 0 - 00117 74 0e je SHORT $LN6@stbi__load - 00119 8b 85 80 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 0011f 89 85 24 01 00 - 00 mov DWORD PTR tv89[rbp], eax - 00125 eb 0f jmp SHORT $LN7@stbi__load -$LN6@stbi__load: - 00127 48 8b 85 78 01 - 00 00 mov rax, QWORD PTR comp$[rbp] - 0012e 8b 00 mov eax, DWORD PTR [rax] - 00130 89 85 24 01 00 - 00 mov DWORD PTR tv89[rbp], eax -$LN7@stbi__load: - 00136 44 8b 8d 24 01 - 00 00 mov r9d, DWORD PTR tv89[rbp] - 0013d 48 8b 85 70 01 - 00 00 mov rax, QWORD PTR y$[rbp] - 00144 44 8b 00 mov r8d, DWORD PTR [rax] - 00147 48 8b 85 68 01 - 00 00 mov rax, QWORD PTR x$[rbp] - 0014e 8b 10 mov edx, DWORD PTR [rax] - 00150 48 8b 4d 08 mov rcx, QWORD PTR data$[rbp] - 00154 e8 00 00 00 00 call stbi__ldr_to_hdr - 00159 eb 2f jmp SHORT $LN1@stbi__load -$LN4@stbi__load: - -; 993 : return stbi__errpf("unknown image type", "Image not of any known type, or corrupt"); - - 0015b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BD@CBEDEJPH@unknown?5image?5type@ - 00162 e8 00 00 00 00 call stbi__err - 00167 85 c0 test eax, eax - 00169 74 0d je SHORT $LN8@stbi__load - 0016b 48 c7 85 28 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv129[rbp], 0 - 00176 eb 0b jmp SHORT $LN9@stbi__load -$LN8@stbi__load: - 00178 48 c7 85 28 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv129[rbp], 0 -$LN9@stbi__load: - 00183 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR tv129[rbp] -$LN1@stbi__load: - -; 994 : } - - 0018a 48 8b f8 mov rdi, rax - 0018d 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 00191 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__loadf_main$rtcFrameData - 00198 e8 00 00 00 00 call _RTC_CheckStackVars - 0019d 48 8b c7 mov rax, rdi - 001a0 48 8b 8d 30 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 001a7 48 33 cd xor rcx, rbp - 001aa e8 00 00 00 00 call __security_check_cookie - 001af 48 8d a5 48 01 - 00 00 lea rsp, QWORD PTR [rbp+328] - 001b6 5f pop rdi - 001b7 5d pop rbp - 001b8 c3 ret 0 -stbi__loadf_main ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__fopen -_TEXT SEGMENT -f$ = 8 -__$ArrayPad$ = 216 -filename$ = 256 -mode$ = 264 -stbi__fopen PROC ; COMDAT - -; 836 : { - - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 0001d b9 0a 00 00 00 mov ecx, 10 - 00022 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00027 f3 ab rep stosd - 00029 48 8b 8c 24 28 - 01 00 00 mov rcx, QWORD PTR [rsp+296] - 00031 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00038 48 33 c5 xor rax, rbp - 0003b 48 89 85 d8 00 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 00042 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00049 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0004e 90 npad 1 - -; 837 : FILE *f; -; 838 : #if defined(_WIN32) && defined(STBI_WINDOWS_UTF8) -; 839 : wchar_t wMode[64]; -; 840 : wchar_t wFilename[1024]; -; 841 : if (0 == MultiByteToWideChar(65001 /* UTF8 */, 0, filename, -1, wFilename, -; 842 : sizeof(wFilename) / sizeof(*wFilename))) -; 843 : return 0; -; 844 : -; 845 : if (0 == MultiByteToWideChar(65001 /* UTF8 */, 0, mode, -1, wMode, -; 846 : sizeof(wMode) / sizeof(*wMode))) -; 847 : return 0; -; 848 : -; 849 : #if defined(_MSC_VER) && _MSC_VER >= 1400 -; 850 : if (0 != _wfopen_s(&f, wFilename, wMode)) -; 851 : f = 0; -; 852 : #else -; 853 : f = _wfopen(wFilename, wMode); -; 854 : #endif -; 855 : -; 856 : #elif defined(_MSC_VER) && _MSC_VER >= 1400 -; 857 : if (0 != fopen_s(&f, filename, mode)) - - 0004f 4c 8b 85 08 01 - 00 00 mov r8, QWORD PTR mode$[rbp] - 00056 48 8b 95 00 01 - 00 00 mov rdx, QWORD PTR filename$[rbp] - 0005d 48 8d 4d 08 lea rcx, QWORD PTR f$[rbp] - 00061 ff 15 00 00 00 - 00 call QWORD PTR __imp_fopen_s - 00067 85 c0 test eax, eax - 00069 74 08 je SHORT $LN2@stbi__fope - -; 858 : f = 0; - - 0006b 48 c7 45 08 00 - 00 00 00 mov QWORD PTR f$[rbp], 0 -$LN2@stbi__fope: - -; 859 : #else -; 860 : f = fopen(filename, mode); -; 861 : #endif -; 862 : return f; - - 00073 48 8b 45 08 mov rax, QWORD PTR f$[rbp] - -; 863 : } - - 00077 48 8b f8 mov rdi, rax - 0007a 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 0007e 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__fopen$rtcFrameData - 00085 e8 00 00 00 00 call _RTC_CheckStackVars - 0008a 48 8b c7 mov rax, rdi - 0008d 48 8b 8d d8 00 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 00094 48 33 cd xor rcx, rbp - 00097 e8 00 00 00 00 call __security_check_cookie - 0009c 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 000a3 5f pop rdi - 000a4 5d pop rbp - 000a5 c3 ret 0 -stbi__fopen ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__float_postprocess -_TEXT SEGMENT -channels$1 = 4 -tv77 = 212 -tv81 = 212 -result$ = 256 -x$ = 264 -y$ = 272 -comp$ = 280 -req_comp$ = 288 -stbi__float_postprocess PROC ; COMDAT - -; 807 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 808 : if (stbi__vertically_flip_on_load && result != NULL) { - - 0002f b8 00 00 00 00 mov eax, OFFSET FLAT:stbi__vertically_flip_on_load_set - 00034 8b c0 mov eax, eax - 00036 8b 0d 00 00 00 - 00 mov ecx, DWORD PTR _tls_index - 0003c 65 48 8b 14 25 - 58 00 00 00 mov rdx, QWORD PTR gs:88 - 00045 48 8b 0c ca mov rcx, QWORD PTR [rdx+rcx*8] - 00049 83 3c 08 00 cmp DWORD PTR [rax+rcx], 0 - 0004d 74 25 je SHORT $LN4@stbi__floa - 0004f b8 00 00 00 00 mov eax, OFFSET FLAT:stbi__vertically_flip_on_load_local - 00054 8b c0 mov eax, eax - 00056 8b 0d 00 00 00 - 00 mov ecx, DWORD PTR _tls_index - 0005c 65 48 8b 14 25 - 58 00 00 00 mov rdx, QWORD PTR gs:88 - 00065 48 8b 0c ca mov rcx, QWORD PTR [rdx+rcx*8] - 00069 8b 04 08 mov eax, DWORD PTR [rax+rcx] - 0006c 89 85 d4 00 00 - 00 mov DWORD PTR tv77[rbp], eax - 00072 eb 0c jmp SHORT $LN5@stbi__floa -$LN4@stbi__floa: - 00074 8b 05 00 00 00 - 00 mov eax, DWORD PTR stbi__vertically_flip_on_load_global - 0007a 89 85 d4 00 00 - 00 mov DWORD PTR tv77[rbp], eax -$LN5@stbi__floa: - 00080 83 bd d4 00 00 - 00 00 cmp DWORD PTR tv77[rbp], 0 - 00087 74 64 je SHORT $LN2@stbi__floa - 00089 48 83 bd 00 01 - 00 00 00 cmp QWORD PTR result$[rbp], 0 - 00091 74 5a je SHORT $LN2@stbi__floa - -; 809 : int channels = req_comp ? req_comp : *comp; - - 00093 83 bd 20 01 00 - 00 00 cmp DWORD PTR req_comp$[rbp], 0 - 0009a 74 0e je SHORT $LN6@stbi__floa - 0009c 8b 85 20 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 000a2 89 85 d4 00 00 - 00 mov DWORD PTR tv81[rbp], eax - 000a8 eb 0f jmp SHORT $LN7@stbi__floa -$LN6@stbi__floa: - 000aa 48 8b 85 18 01 - 00 00 mov rax, QWORD PTR comp$[rbp] - 000b1 8b 00 mov eax, DWORD PTR [rax] - 000b3 89 85 d4 00 00 - 00 mov DWORD PTR tv81[rbp], eax -$LN7@stbi__floa: - 000b9 8b 85 d4 00 00 - 00 mov eax, DWORD PTR tv81[rbp] - 000bf 89 45 04 mov DWORD PTR channels$1[rbp], eax - -; 810 : stbi__vertical_flip(result, *x, *y, channels * sizeof(float)); - - 000c2 48 63 45 04 movsxd rax, DWORD PTR channels$1[rbp] - 000c6 48 c1 e0 02 shl rax, 2 - 000ca 44 8b c8 mov r9d, eax - 000cd 48 8b 85 10 01 - 00 00 mov rax, QWORD PTR y$[rbp] - 000d4 44 8b 00 mov r8d, DWORD PTR [rax] - 000d7 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR x$[rbp] - 000de 8b 10 mov edx, DWORD PTR [rax] - 000e0 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR result$[rbp] - 000e7 e8 00 00 00 00 call stbi__vertical_flip - 000ec 90 npad 1 -$LN2@stbi__floa: - -; 811 : } -; 812 : } - - 000ed 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 000f4 5f pop rdi - 000f5 5d pop rbp - 000f6 c3 ret 0 -stbi__float_postprocess ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__load_and_postprocess_16bit -_TEXT SEGMENT -ri$ = 8 -result$ = 56 -channels$4 = 84 -tv82 = 292 -tv132 = 292 -tv135 = 292 -__$ArrayPad$ = 296 -s$ = 336 -x$ = 344 -y$ = 352 -comp$ = 360 -req_comp$ = 368 -stbi__load_and_postprocess_16bit PROC ; COMDAT - -; 778 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 78 01 - 00 00 sub rsp, 376 ; 00000178H - 0001d 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] - 00022 48 8d 7c 24 40 lea rdi, QWORD PTR [rsp+64] - 00027 b9 1e 00 00 00 mov ecx, 30 - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 98 - 01 00 00 mov rcx, QWORD PTR [rsp+408] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 28 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 779 : stbi__result_info ri; -; 780 : void *result = stbi__load_main(s, x, y, comp, req_comp, &ri, 16); - - 00059 c7 44 24 30 10 - 00 00 00 mov DWORD PTR [rsp+48], 16 - 00061 48 8d 45 08 lea rax, QWORD PTR ri$[rbp] - 00065 48 89 44 24 28 mov QWORD PTR [rsp+40], rax - 0006a 8b 85 70 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 00070 89 44 24 20 mov DWORD PTR [rsp+32], eax - 00074 4c 8b 8d 68 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 0007b 4c 8b 85 60 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 00082 48 8b 95 58 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 00089 48 8b 8d 50 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00090 e8 00 00 00 00 call stbi__load_main - 00095 48 89 45 38 mov QWORD PTR result$[rbp], rax - -; 781 : -; 782 : if (result == NULL) - - 00099 48 83 7d 38 00 cmp QWORD PTR result$[rbp], 0 - 0009e 75 07 jne SHORT $LN2@stbi__load - -; 783 : return NULL; - - 000a0 33 c0 xor eax, eax - 000a2 e9 36 01 00 00 jmp $LN1@stbi__load -$LN2@stbi__load: - -; 784 : -; 785 : // it is the responsibility of the loaders to make sure we get either 8 or 16 bit. -; 786 : STBI_ASSERT(ri.bits_per_channel == 8 || ri.bits_per_channel == 16); - - 000a7 83 7d 08 08 cmp DWORD PTR ri$[rbp], 8 - 000ab 74 22 je SHORT $LN6@stbi__load - 000ad 83 7d 08 10 cmp DWORD PTR ri$[rbp], 16 - 000b1 74 1c je SHORT $LN6@stbi__load - 000b3 41 b8 12 03 00 - 00 mov r8d, 786 ; 00000312H - 000b9 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_1GG@PCNMFHPN@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ - 000c0 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_1GM@LFNCFCEN@?$AAr?$AAi?$AA?4?$AAb?$AAi?$AAt?$AAs?$AA_?$AAp?$AAe?$AAr?$AA_?$AAc?$AAh?$AAa@ - 000c7 ff 15 00 00 00 - 00 call QWORD PTR __imp__wassert - 000cd 33 c0 xor eax, eax -$LN6@stbi__load: - -; 787 : -; 788 : if (ri.bits_per_channel != 16) { - - 000cf 83 7d 08 10 cmp DWORD PTR ri$[rbp], 16 - 000d3 74 54 je SHORT $LN3@stbi__load - -; 789 : result = stbi__convert_8_to_16((stbi_uc *)result, *x, *y, - - 000d5 83 bd 70 01 00 - 00 00 cmp DWORD PTR req_comp$[rbp], 0 - 000dc 75 11 jne SHORT $LN7@stbi__load - 000de 48 8b 85 68 01 - 00 00 mov rax, QWORD PTR comp$[rbp] - 000e5 8b 00 mov eax, DWORD PTR [rax] - 000e7 89 85 24 01 00 - 00 mov DWORD PTR tv82[rbp], eax - 000ed eb 0c jmp SHORT $LN8@stbi__load -$LN7@stbi__load: - 000ef 8b 85 70 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 000f5 89 85 24 01 00 - 00 mov DWORD PTR tv82[rbp], eax -$LN8@stbi__load: - 000fb 44 8b 8d 24 01 - 00 00 mov r9d, DWORD PTR tv82[rbp] - 00102 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR y$[rbp] - 00109 44 8b 00 mov r8d, DWORD PTR [rax] - 0010c 48 8b 85 58 01 - 00 00 mov rax, QWORD PTR x$[rbp] - 00113 8b 10 mov edx, DWORD PTR [rax] - 00115 48 8b 4d 38 mov rcx, QWORD PTR result$[rbp] - 00119 e8 00 00 00 00 call stbi__convert_8_to_16 - 0011e 48 89 45 38 mov QWORD PTR result$[rbp], rax - -; 790 : req_comp == 0 ? *comp : req_comp); -; 791 : ri.bits_per_channel = 16; - - 00122 c7 45 08 10 00 - 00 00 mov DWORD PTR ri$[rbp], 16 -$LN3@stbi__load: - -; 792 : } -; 793 : -; 794 : // @TODO: move stbi__convert_format16 to here -; 795 : // @TODO: special case RGB-to-Y (and RGBA-to-YA) for 8-bit-to-16-bit case to keep more precision -; 796 : -; 797 : if (stbi__vertically_flip_on_load) { - - 00129 b8 00 00 00 00 mov eax, OFFSET FLAT:stbi__vertically_flip_on_load_set - 0012e 8b c0 mov eax, eax - 00130 8b 0d 00 00 00 - 00 mov ecx, DWORD PTR _tls_index - 00136 65 48 8b 14 25 - 58 00 00 00 mov rdx, QWORD PTR gs:88 - 0013f 48 8b 0c ca mov rcx, QWORD PTR [rdx+rcx*8] - 00143 83 3c 08 00 cmp DWORD PTR [rax+rcx], 0 - 00147 74 25 je SHORT $LN9@stbi__load - 00149 b8 00 00 00 00 mov eax, OFFSET FLAT:stbi__vertically_flip_on_load_local - 0014e 8b c0 mov eax, eax - 00150 8b 0d 00 00 00 - 00 mov ecx, DWORD PTR _tls_index - 00156 65 48 8b 14 25 - 58 00 00 00 mov rdx, QWORD PTR gs:88 - 0015f 48 8b 0c ca mov rcx, QWORD PTR [rdx+rcx*8] - 00163 8b 04 08 mov eax, DWORD PTR [rax+rcx] - 00166 89 85 24 01 00 - 00 mov DWORD PTR tv132[rbp], eax - 0016c eb 0c jmp SHORT $LN10@stbi__load -$LN9@stbi__load: - 0016e 8b 05 00 00 00 - 00 mov eax, DWORD PTR stbi__vertically_flip_on_load_global - 00174 89 85 24 01 00 - 00 mov DWORD PTR tv132[rbp], eax -$LN10@stbi__load: - 0017a 83 bd 24 01 00 - 00 00 cmp DWORD PTR tv132[rbp], 0 - 00181 74 56 je SHORT $LN4@stbi__load - -; 798 : int channels = req_comp ? req_comp : *comp; - - 00183 83 bd 70 01 00 - 00 00 cmp DWORD PTR req_comp$[rbp], 0 - 0018a 74 0e je SHORT $LN11@stbi__load - 0018c 8b 85 70 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 00192 89 85 24 01 00 - 00 mov DWORD PTR tv135[rbp], eax - 00198 eb 0f jmp SHORT $LN12@stbi__load -$LN11@stbi__load: - 0019a 48 8b 85 68 01 - 00 00 mov rax, QWORD PTR comp$[rbp] - 001a1 8b 00 mov eax, DWORD PTR [rax] - 001a3 89 85 24 01 00 - 00 mov DWORD PTR tv135[rbp], eax -$LN12@stbi__load: - 001a9 8b 85 24 01 00 - 00 mov eax, DWORD PTR tv135[rbp] - 001af 89 45 54 mov DWORD PTR channels$4[rbp], eax - -; 799 : stbi__vertical_flip(result, *x, *y, channels * sizeof(stbi__uint16)); - - 001b2 48 63 45 54 movsxd rax, DWORD PTR channels$4[rbp] - 001b6 48 d1 e0 shl rax, 1 - 001b9 44 8b c8 mov r9d, eax - 001bc 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR y$[rbp] - 001c3 44 8b 00 mov r8d, DWORD PTR [rax] - 001c6 48 8b 85 58 01 - 00 00 mov rax, QWORD PTR x$[rbp] - 001cd 8b 10 mov edx, DWORD PTR [rax] - 001cf 48 8b 4d 38 mov rcx, QWORD PTR result$[rbp] - 001d3 e8 00 00 00 00 call stbi__vertical_flip - 001d8 90 npad 1 -$LN4@stbi__load: - -; 800 : } -; 801 : -; 802 : return (stbi__uint16 *)result; - - 001d9 48 8b 45 38 mov rax, QWORD PTR result$[rbp] -$LN1@stbi__load: - -; 803 : } - - 001dd 48 8b f8 mov rdi, rax - 001e0 48 8d 4d c0 lea rcx, QWORD PTR [rbp-64] - 001e4 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__load_and_postprocess_16bit$rtcFrameData - 001eb e8 00 00 00 00 call _RTC_CheckStackVars - 001f0 48 8b c7 mov rax, rdi - 001f3 48 8b 8d 28 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 001fa 48 33 cd xor rcx, rbp - 001fd e8 00 00 00 00 call __security_check_cookie - 00202 48 8d a5 38 01 - 00 00 lea rsp, QWORD PTR [rbp+312] - 00209 5f pop rdi - 0020a 5d pop rbp - 0020b c3 ret 0 -stbi__load_and_postprocess_16bit ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__load_and_postprocess_8bit -_TEXT SEGMENT -ri$ = 8 -result$ = 56 -channels$4 = 84 -tv82 = 292 -tv132 = 292 -tv135 = 292 -__$ArrayPad$ = 296 -s$ = 336 -x$ = 344 -y$ = 352 -comp$ = 360 -req_comp$ = 368 -stbi__load_and_postprocess_8bit PROC ; COMDAT - -; 750 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 78 01 - 00 00 sub rsp, 376 ; 00000178H - 0001d 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] - 00022 48 8d 7c 24 40 lea rdi, QWORD PTR [rsp+64] - 00027 b9 1e 00 00 00 mov ecx, 30 - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 98 - 01 00 00 mov rcx, QWORD PTR [rsp+408] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 28 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 751 : stbi__result_info ri; -; 752 : void *result = stbi__load_main(s, x, y, comp, req_comp, &ri, 8); - - 00059 c7 44 24 30 08 - 00 00 00 mov DWORD PTR [rsp+48], 8 - 00061 48 8d 45 08 lea rax, QWORD PTR ri$[rbp] - 00065 48 89 44 24 28 mov QWORD PTR [rsp+40], rax - 0006a 8b 85 70 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 00070 89 44 24 20 mov DWORD PTR [rsp+32], eax - 00074 4c 8b 8d 68 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 0007b 4c 8b 85 60 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 00082 48 8b 95 58 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 00089 48 8b 8d 50 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00090 e8 00 00 00 00 call stbi__load_main - 00095 48 89 45 38 mov QWORD PTR result$[rbp], rax - -; 753 : -; 754 : if (result == NULL) - - 00099 48 83 7d 38 00 cmp QWORD PTR result$[rbp], 0 - 0009e 75 07 jne SHORT $LN2@stbi__load - -; 755 : return NULL; - - 000a0 33 c0 xor eax, eax - 000a2 e9 30 01 00 00 jmp $LN1@stbi__load -$LN2@stbi__load: - -; 756 : -; 757 : // it is the responsibility of the loaders to make sure we get either 8 or 16 bit. -; 758 : STBI_ASSERT(ri.bits_per_channel == 8 || ri.bits_per_channel == 16); - - 000a7 83 7d 08 08 cmp DWORD PTR ri$[rbp], 8 - 000ab 74 22 je SHORT $LN6@stbi__load - 000ad 83 7d 08 10 cmp DWORD PTR ri$[rbp], 16 - 000b1 74 1c je SHORT $LN6@stbi__load - 000b3 41 b8 f6 02 00 - 00 mov r8d, 758 ; 000002f6H - 000b9 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_1GG@PCNMFHPN@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ - 000c0 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_1GM@LFNCFCEN@?$AAr?$AAi?$AA?4?$AAb?$AAi?$AAt?$AAs?$AA_?$AAp?$AAe?$AAr?$AA_?$AAc?$AAh?$AAa@ - 000c7 ff 15 00 00 00 - 00 call QWORD PTR __imp__wassert - 000cd 33 c0 xor eax, eax -$LN6@stbi__load: - -; 759 : -; 760 : if (ri.bits_per_channel != 8) { - - 000cf 83 7d 08 08 cmp DWORD PTR ri$[rbp], 8 - 000d3 74 54 je SHORT $LN3@stbi__load - -; 761 : result = stbi__convert_16_to_8((stbi__uint16 *)result, *x, *y, - - 000d5 83 bd 70 01 00 - 00 00 cmp DWORD PTR req_comp$[rbp], 0 - 000dc 75 11 jne SHORT $LN7@stbi__load - 000de 48 8b 85 68 01 - 00 00 mov rax, QWORD PTR comp$[rbp] - 000e5 8b 00 mov eax, DWORD PTR [rax] - 000e7 89 85 24 01 00 - 00 mov DWORD PTR tv82[rbp], eax - 000ed eb 0c jmp SHORT $LN8@stbi__load -$LN7@stbi__load: - 000ef 8b 85 70 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 000f5 89 85 24 01 00 - 00 mov DWORD PTR tv82[rbp], eax -$LN8@stbi__load: - 000fb 44 8b 8d 24 01 - 00 00 mov r9d, DWORD PTR tv82[rbp] - 00102 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR y$[rbp] - 00109 44 8b 00 mov r8d, DWORD PTR [rax] - 0010c 48 8b 85 58 01 - 00 00 mov rax, QWORD PTR x$[rbp] - 00113 8b 10 mov edx, DWORD PTR [rax] - 00115 48 8b 4d 38 mov rcx, QWORD PTR result$[rbp] - 00119 e8 00 00 00 00 call stbi__convert_16_to_8 - 0011e 48 89 45 38 mov QWORD PTR result$[rbp], rax - -; 762 : req_comp == 0 ? *comp : req_comp); -; 763 : ri.bits_per_channel = 8; - - 00122 c7 45 08 08 00 - 00 00 mov DWORD PTR ri$[rbp], 8 -$LN3@stbi__load: - -; 764 : } -; 765 : -; 766 : // @TODO: move stbi__convert_format to here -; 767 : -; 768 : if (stbi__vertically_flip_on_load) { - - 00129 b8 00 00 00 00 mov eax, OFFSET FLAT:stbi__vertically_flip_on_load_set - 0012e 8b c0 mov eax, eax - 00130 8b 0d 00 00 00 - 00 mov ecx, DWORD PTR _tls_index - 00136 65 48 8b 14 25 - 58 00 00 00 mov rdx, QWORD PTR gs:88 - 0013f 48 8b 0c ca mov rcx, QWORD PTR [rdx+rcx*8] - 00143 83 3c 08 00 cmp DWORD PTR [rax+rcx], 0 - 00147 74 25 je SHORT $LN9@stbi__load - 00149 b8 00 00 00 00 mov eax, OFFSET FLAT:stbi__vertically_flip_on_load_local - 0014e 8b c0 mov eax, eax - 00150 8b 0d 00 00 00 - 00 mov ecx, DWORD PTR _tls_index - 00156 65 48 8b 14 25 - 58 00 00 00 mov rdx, QWORD PTR gs:88 - 0015f 48 8b 0c ca mov rcx, QWORD PTR [rdx+rcx*8] - 00163 8b 04 08 mov eax, DWORD PTR [rax+rcx] - 00166 89 85 24 01 00 - 00 mov DWORD PTR tv132[rbp], eax - 0016c eb 0c jmp SHORT $LN10@stbi__load -$LN9@stbi__load: - 0016e 8b 05 00 00 00 - 00 mov eax, DWORD PTR stbi__vertically_flip_on_load_global - 00174 89 85 24 01 00 - 00 mov DWORD PTR tv132[rbp], eax -$LN10@stbi__load: - 0017a 83 bd 24 01 00 - 00 00 cmp DWORD PTR tv132[rbp], 0 - 00181 74 50 je SHORT $LN4@stbi__load - -; 769 : int channels = req_comp ? req_comp : *comp; - - 00183 83 bd 70 01 00 - 00 00 cmp DWORD PTR req_comp$[rbp], 0 - 0018a 74 0e je SHORT $LN11@stbi__load - 0018c 8b 85 70 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 00192 89 85 24 01 00 - 00 mov DWORD PTR tv135[rbp], eax - 00198 eb 0f jmp SHORT $LN12@stbi__load -$LN11@stbi__load: - 0019a 48 8b 85 68 01 - 00 00 mov rax, QWORD PTR comp$[rbp] - 001a1 8b 00 mov eax, DWORD PTR [rax] - 001a3 89 85 24 01 00 - 00 mov DWORD PTR tv135[rbp], eax -$LN12@stbi__load: - 001a9 8b 85 24 01 00 - 00 mov eax, DWORD PTR tv135[rbp] - 001af 89 45 54 mov DWORD PTR channels$4[rbp], eax - -; 770 : stbi__vertical_flip(result, *x, *y, channels * sizeof(stbi_uc)); - - 001b2 44 8b 4d 54 mov r9d, DWORD PTR channels$4[rbp] - 001b6 48 8b 85 60 01 - 00 00 mov rax, QWORD PTR y$[rbp] - 001bd 44 8b 00 mov r8d, DWORD PTR [rax] - 001c0 48 8b 85 58 01 - 00 00 mov rax, QWORD PTR x$[rbp] - 001c7 8b 10 mov edx, DWORD PTR [rax] - 001c9 48 8b 4d 38 mov rcx, QWORD PTR result$[rbp] - 001cd e8 00 00 00 00 call stbi__vertical_flip - 001d2 90 npad 1 -$LN4@stbi__load: - -; 771 : } -; 772 : -; 773 : return (unsigned char *)result; - - 001d3 48 8b 45 38 mov rax, QWORD PTR result$[rbp] -$LN1@stbi__load: - -; 774 : } - - 001d7 48 8b f8 mov rdi, rax - 001da 48 8d 4d c0 lea rcx, QWORD PTR [rbp-64] - 001de 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__load_and_postprocess_8bit$rtcFrameData - 001e5 e8 00 00 00 00 call _RTC_CheckStackVars - 001ea 48 8b c7 mov rax, rdi - 001ed 48 8b 8d 28 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 001f4 48 33 cd xor rcx, rbp - 001f7 e8 00 00 00 00 call __security_check_cookie - 001fc 48 8d a5 38 01 - 00 00 lea rsp, QWORD PTR [rbp+312] - 00203 5f pop rdi - 00204 5d pop rbp - 00205 c3 ret 0 -stbi__load_and_postprocess_8bit ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__vertical_flip_slices -_TEXT SEGMENT -slice$ = 4 -slice_size$ = 36 -bytes$ = 72 -image$ = 320 -w$ = 328 -h$ = 336 -z$ = 344 -bytes_per_pixel$ = 352 -stbi__vertical_flip_slices PROC ; COMDAT - -; 736 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx - 0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00013 55 push rbp - 00014 57 push rdi - 00015 48 81 ec 48 01 - 00 00 sub rsp, 328 ; 00000148H - 0001c 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00021 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00028 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002d 90 npad 1 - -; 737 : int slice; -; 738 : int slice_size = w * h * bytes_per_pixel; - - 0002e 8b 85 48 01 00 - 00 mov eax, DWORD PTR w$[rbp] - 00034 0f af 85 50 01 - 00 00 imul eax, DWORD PTR h$[rbp] - 0003b 0f af 85 60 01 - 00 00 imul eax, DWORD PTR bytes_per_pixel$[rbp] - 00042 89 45 24 mov DWORD PTR slice_size$[rbp], eax - -; 739 : -; 740 : stbi_uc *bytes = (stbi_uc *)image; - - 00045 48 8b 85 40 01 - 00 00 mov rax, QWORD PTR image$[rbp] - 0004c 48 89 45 48 mov QWORD PTR bytes$[rbp], rax - -; 741 : for (slice = 0; slice < z; ++slice) { - - 00050 c7 45 04 00 00 - 00 00 mov DWORD PTR slice$[rbp], 0 - 00057 eb 08 jmp SHORT $LN4@stbi__vert -$LN2@stbi__vert: - 00059 8b 45 04 mov eax, DWORD PTR slice$[rbp] - 0005c ff c0 inc eax - 0005e 89 45 04 mov DWORD PTR slice$[rbp], eax -$LN4@stbi__vert: - 00061 8b 85 58 01 00 - 00 mov eax, DWORD PTR z$[rbp] - 00067 39 45 04 cmp DWORD PTR slice$[rbp], eax - 0006a 7d 32 jge SHORT $LN3@stbi__vert - -; 742 : stbi__vertical_flip(bytes, w, h, bytes_per_pixel); - - 0006c 44 8b 8d 60 01 - 00 00 mov r9d, DWORD PTR bytes_per_pixel$[rbp] - 00073 44 8b 85 50 01 - 00 00 mov r8d, DWORD PTR h$[rbp] - 0007a 8b 95 48 01 00 - 00 mov edx, DWORD PTR w$[rbp] - 00080 48 8b 4d 48 mov rcx, QWORD PTR bytes$[rbp] - 00084 e8 00 00 00 00 call stbi__vertical_flip - 00089 90 npad 1 - -; 743 : bytes += slice_size; - - 0008a 48 63 45 24 movsxd rax, DWORD PTR slice_size$[rbp] - 0008e 48 8b 4d 48 mov rcx, QWORD PTR bytes$[rbp] - 00092 48 03 c8 add rcx, rax - 00095 48 8b c1 mov rax, rcx - 00098 48 89 45 48 mov QWORD PTR bytes$[rbp], rax - -; 744 : } - - 0009c eb bb jmp SHORT $LN2@stbi__vert -$LN3@stbi__vert: - -; 745 : } - - 0009e 48 8d a5 28 01 - 00 00 lea rsp, QWORD PTR [rbp+296] - 000a5 5f pop rdi - 000a6 5d pop rbp - 000a7 c3 ret 0 -stbi__vertical_flip_slices ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__vertical_flip -_TEXT SEGMENT -row$ = 4 -bytes_per_row$ = 40 -temp$ = 80 -bytes$ = 2152 -row0$4 = 2184 -row1$5 = 2216 -bytes_left$6 = 2248 -bytes_copy$7 = 2280 -tv80 = 3256 -__$ArrayPad$ = 3264 -image$ = 3312 -w$ = 3320 -h$ = 3328 -bytes_per_pixel$ = 3336 -stbi__vertical_flip PROC ; COMDAT - -; 711 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx - 0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00013 55 push rbp - 00014 57 push rdi - 00015 48 81 ec f8 0c - 00 00 sub rsp, 3320 ; 00000cf8H - 0001c 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00021 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 00026 b9 46 02 00 00 mov ecx, 582 ; 00000246H - 0002b b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00030 f3 ab rep stosd - 00032 48 8b 8c 24 18 - 0d 00 00 mov rcx, QWORD PTR [rsp+3352] - 0003a 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00041 48 33 c5 xor rax, rbp - 00044 48 89 85 c0 0c - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00052 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00057 90 npad 1 - -; 712 : int row; -; 713 : size_t bytes_per_row = (size_t)w * bytes_per_pixel; - - 00058 48 63 85 f8 0c - 00 00 movsxd rax, DWORD PTR w$[rbp] - 0005f 48 63 8d 08 0d - 00 00 movsxd rcx, DWORD PTR bytes_per_pixel$[rbp] - 00066 48 0f af c1 imul rax, rcx - 0006a 48 89 45 28 mov QWORD PTR bytes_per_row$[rbp], rax - -; 714 : stbi_uc temp[2048]; -; 715 : stbi_uc *bytes = (stbi_uc *)image; - - 0006e 48 8b 85 f0 0c - 00 00 mov rax, QWORD PTR image$[rbp] - 00075 48 89 85 68 08 - 00 00 mov QWORD PTR bytes$[rbp], rax - -; 716 : -; 717 : for (row = 0; row < (h >> 1); row++) { - - 0007c c7 45 04 00 00 - 00 00 mov DWORD PTR row$[rbp], 0 - 00083 eb 08 jmp SHORT $LN4@stbi__vert -$LN2@stbi__vert: - 00085 8b 45 04 mov eax, DWORD PTR row$[rbp] - 00088 ff c0 inc eax - 0008a 89 45 04 mov DWORD PTR row$[rbp], eax -$LN4@stbi__vert: - 0008d 8b 85 00 0d 00 - 00 mov eax, DWORD PTR h$[rbp] - 00093 d1 f8 sar eax, 1 - 00095 39 45 04 cmp DWORD PTR row$[rbp], eax - 00098 0f 8d 3c 01 00 - 00 jge $LN3@stbi__vert - -; 718 : stbi_uc *row0 = bytes + row * bytes_per_row; - - 0009e 48 63 45 04 movsxd rax, DWORD PTR row$[rbp] - 000a2 48 0f af 45 28 imul rax, QWORD PTR bytes_per_row$[rbp] - 000a7 48 8b 8d 68 08 - 00 00 mov rcx, QWORD PTR bytes$[rbp] - 000ae 48 03 c8 add rcx, rax - 000b1 48 8b c1 mov rax, rcx - 000b4 48 89 85 88 08 - 00 00 mov QWORD PTR row0$4[rbp], rax - -; 719 : stbi_uc *row1 = bytes + (h - row - 1) * bytes_per_row; - - 000bb 8b 45 04 mov eax, DWORD PTR row$[rbp] - 000be 8b 8d 00 0d 00 - 00 mov ecx, DWORD PTR h$[rbp] - 000c4 2b c8 sub ecx, eax - 000c6 8b c1 mov eax, ecx - 000c8 ff c8 dec eax - 000ca 48 98 cdqe - 000cc 48 0f af 45 28 imul rax, QWORD PTR bytes_per_row$[rbp] - 000d1 48 8b 8d 68 08 - 00 00 mov rcx, QWORD PTR bytes$[rbp] - 000d8 48 03 c8 add rcx, rax - 000db 48 8b c1 mov rax, rcx - 000de 48 89 85 a8 08 - 00 00 mov QWORD PTR row1$5[rbp], rax - -; 720 : // swap row0 with row1 -; 721 : size_t bytes_left = bytes_per_row; - - 000e5 48 8b 45 28 mov rax, QWORD PTR bytes_per_row$[rbp] - 000e9 48 89 85 c8 08 - 00 00 mov QWORD PTR bytes_left$6[rbp], rax -$LN5@stbi__vert: - -; 722 : while (bytes_left) { - - 000f0 48 83 bd c8 08 - 00 00 00 cmp QWORD PTR bytes_left$6[rbp], 0 - 000f8 0f 84 d7 00 00 - 00 je $LN6@stbi__vert - -; 723 : size_t bytes_copy = (bytes_left < sizeof(temp)) ? bytes_left : sizeof(temp); - - 000fe 48 81 bd c8 08 - 00 00 00 08 00 - 00 cmp QWORD PTR bytes_left$6[rbp], 2048 ; 00000800H - 00109 73 10 jae SHORT $LN8@stbi__vert - 0010b 48 8b 85 c8 08 - 00 00 mov rax, QWORD PTR bytes_left$6[rbp] - 00112 48 89 85 b8 0c - 00 00 mov QWORD PTR tv80[rbp], rax - 00119 eb 0b jmp SHORT $LN9@stbi__vert -$LN8@stbi__vert: - 0011b 48 c7 85 b8 0c - 00 00 00 08 00 - 00 mov QWORD PTR tv80[rbp], 2048 ; 00000800H -$LN9@stbi__vert: - 00126 48 8b 85 b8 0c - 00 00 mov rax, QWORD PTR tv80[rbp] - 0012d 48 89 85 e8 08 - 00 00 mov QWORD PTR bytes_copy$7[rbp], rax - -; 724 : memcpy(temp, row0, bytes_copy); - - 00134 4c 8b 85 e8 08 - 00 00 mov r8, QWORD PTR bytes_copy$7[rbp] - 0013b 48 8b 95 88 08 - 00 00 mov rdx, QWORD PTR row0$4[rbp] - 00142 48 8d 4d 50 lea rcx, QWORD PTR temp$[rbp] - 00146 e8 00 00 00 00 call memcpy - 0014b 90 npad 1 - -; 725 : memcpy(row0, row1, bytes_copy); - - 0014c 4c 8b 85 e8 08 - 00 00 mov r8, QWORD PTR bytes_copy$7[rbp] - 00153 48 8b 95 a8 08 - 00 00 mov rdx, QWORD PTR row1$5[rbp] - 0015a 48 8b 8d 88 08 - 00 00 mov rcx, QWORD PTR row0$4[rbp] - 00161 e8 00 00 00 00 call memcpy - 00166 90 npad 1 - -; 726 : memcpy(row1, temp, bytes_copy); - - 00167 4c 8b 85 e8 08 - 00 00 mov r8, QWORD PTR bytes_copy$7[rbp] - 0016e 48 8d 55 50 lea rdx, QWORD PTR temp$[rbp] - 00172 48 8b 8d a8 08 - 00 00 mov rcx, QWORD PTR row1$5[rbp] - 00179 e8 00 00 00 00 call memcpy - 0017e 90 npad 1 - -; 727 : row0 += bytes_copy; - - 0017f 48 8b 85 e8 08 - 00 00 mov rax, QWORD PTR bytes_copy$7[rbp] - 00186 48 8b 8d 88 08 - 00 00 mov rcx, QWORD PTR row0$4[rbp] - 0018d 48 03 c8 add rcx, rax - 00190 48 8b c1 mov rax, rcx - 00193 48 89 85 88 08 - 00 00 mov QWORD PTR row0$4[rbp], rax - -; 728 : row1 += bytes_copy; - - 0019a 48 8b 85 e8 08 - 00 00 mov rax, QWORD PTR bytes_copy$7[rbp] - 001a1 48 8b 8d a8 08 - 00 00 mov rcx, QWORD PTR row1$5[rbp] - 001a8 48 03 c8 add rcx, rax - 001ab 48 8b c1 mov rax, rcx - 001ae 48 89 85 a8 08 - 00 00 mov QWORD PTR row1$5[rbp], rax - -; 729 : bytes_left -= bytes_copy; - - 001b5 48 8b 85 e8 08 - 00 00 mov rax, QWORD PTR bytes_copy$7[rbp] - 001bc 48 8b 8d c8 08 - 00 00 mov rcx, QWORD PTR bytes_left$6[rbp] - 001c3 48 2b c8 sub rcx, rax - 001c6 48 8b c1 mov rax, rcx - 001c9 48 89 85 c8 08 - 00 00 mov QWORD PTR bytes_left$6[rbp], rax - -; 730 : } - - 001d0 e9 1b ff ff ff jmp $LN5@stbi__vert -$LN6@stbi__vert: - -; 731 : } - - 001d5 e9 ab fe ff ff jmp $LN2@stbi__vert -$LN3@stbi__vert: - -; 732 : } - - 001da 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 001de 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__vertical_flip$rtcFrameData - 001e5 e8 00 00 00 00 call _RTC_CheckStackVars - 001ea 48 8b 8d c0 0c - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 001f1 48 33 cd xor rcx, rbp - 001f4 e8 00 00 00 00 call __security_check_cookie - 001f9 48 8d a5 d8 0c - 00 00 lea rsp, QWORD PTR [rbp+3288] - 00200 5f pop rdi - 00201 5d pop rbp - 00202 c3 ret 0 -stbi__vertical_flip ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__convert_8_to_16 -_TEXT SEGMENT -i$ = 4 -img_len$ = 36 -enlarged$ = 72 -tv74 = 280 -orig$ = 320 -w$ = 328 -h$ = 336 -channels$ = 344 -stbi__convert_8_to_16 PROC ; COMDAT - -; 692 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx - 0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00013 55 push rbp - 00014 57 push rdi - 00015 48 81 ec 48 01 - 00 00 sub rsp, 328 ; 00000148H - 0001c 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00021 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00028 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002d 90 npad 1 - -; 693 : int i; -; 694 : int img_len = w * h * channels; - - 0002e 8b 85 48 01 00 - 00 mov eax, DWORD PTR w$[rbp] - 00034 0f af 85 50 01 - 00 00 imul eax, DWORD PTR h$[rbp] - 0003b 0f af 85 58 01 - 00 00 imul eax, DWORD PTR channels$[rbp] - 00042 89 45 24 mov DWORD PTR img_len$[rbp], eax - -; 695 : stbi__uint16 *enlarged; -; 696 : -; 697 : enlarged = (stbi__uint16 *)stbi__malloc(img_len * 2); - - 00045 8b 45 24 mov eax, DWORD PTR img_len$[rbp] - 00048 d1 e0 shl eax, 1 - 0004a 48 98 cdqe - 0004c 48 8b c8 mov rcx, rax - 0004f e8 00 00 00 00 call stbi__malloc - 00054 48 89 45 48 mov QWORD PTR enlarged$[rbp], rax - -; 698 : if (enlarged == NULL) - - 00058 48 83 7d 48 00 cmp QWORD PTR enlarged$[rbp], 0 - 0005d 75 31 jne SHORT $LN5@stbi__conv - -; 699 : return (stbi__uint16 *)stbi__errpuc("outofmem", "Out of memory"); - - 0005f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 00066 e8 00 00 00 00 call stbi__err - 0006b 85 c0 test eax, eax - 0006d 74 0d je SHORT $LN7@stbi__conv - 0006f 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv74[rbp], 0 - 0007a eb 0b jmp SHORT $LN8@stbi__conv -$LN7@stbi__conv: - 0007c 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv74[rbp], 0 -$LN8@stbi__conv: - 00087 48 8b 85 18 01 - 00 00 mov rax, QWORD PTR tv74[rbp] - 0008e eb 5c jmp SHORT $LN1@stbi__conv -$LN5@stbi__conv: - -; 700 : -; 701 : for (i = 0; i < img_len; ++i) - - 00090 c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 00097 eb 08 jmp SHORT $LN4@stbi__conv -$LN2@stbi__conv: - 00099 8b 45 04 mov eax, DWORD PTR i$[rbp] - 0009c ff c0 inc eax - 0009e 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__conv: - 000a1 8b 45 24 mov eax, DWORD PTR img_len$[rbp] - 000a4 39 45 04 cmp DWORD PTR i$[rbp], eax - 000a7 7d 31 jge SHORT $LN3@stbi__conv - -; 702 : enlarged[i] = - - 000a9 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 000ad 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR orig$[rbp] - 000b4 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 000b8 c1 e0 08 shl eax, 8 - 000bb 48 63 4d 04 movsxd rcx, DWORD PTR i$[rbp] - 000bf 48 8b 95 40 01 - 00 00 mov rdx, QWORD PTR orig$[rbp] - 000c6 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx] - 000ca 03 c1 add eax, ecx - 000cc 48 63 4d 04 movsxd rcx, DWORD PTR i$[rbp] - 000d0 48 8b 55 48 mov rdx, QWORD PTR enlarged$[rbp] - 000d4 66 89 04 4a mov WORD PTR [rdx+rcx*2], ax - 000d8 eb bf jmp SHORT $LN2@stbi__conv -$LN3@stbi__conv: - -; 703 : (stbi__uint16)((orig[i] << 8) + -; 704 : orig[i]); // replicate to high and low byte, maps 0->0, 255->0xffff -; 705 : -; 706 : STBI_FREE(orig); - - 000da 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR orig$[rbp] - 000e1 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 000e7 90 npad 1 - -; 707 : return enlarged; - - 000e8 48 8b 45 48 mov rax, QWORD PTR enlarged$[rbp] -$LN1@stbi__conv: - -; 708 : } - - 000ec 48 8d a5 28 01 - 00 00 lea rsp, QWORD PTR [rbp+296] - 000f3 5f pop rdi - 000f4 5d pop rbp - 000f5 c3 ret 0 -stbi__convert_8_to_16 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__convert_16_to_8 -_TEXT SEGMENT -i$ = 4 -img_len$ = 36 -reduced$ = 72 -tv73 = 280 -orig$ = 320 -w$ = 328 -h$ = 336 -channels$ = 344 -stbi__convert_16_to_8 PROC ; COMDAT - -; 673 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx - 0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00013 55 push rbp - 00014 57 push rdi - 00015 48 81 ec 48 01 - 00 00 sub rsp, 328 ; 00000148H - 0001c 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00021 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00028 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002d 90 npad 1 - -; 674 : int i; -; 675 : int img_len = w * h * channels; - - 0002e 8b 85 48 01 00 - 00 mov eax, DWORD PTR w$[rbp] - 00034 0f af 85 50 01 - 00 00 imul eax, DWORD PTR h$[rbp] - 0003b 0f af 85 58 01 - 00 00 imul eax, DWORD PTR channels$[rbp] - 00042 89 45 24 mov DWORD PTR img_len$[rbp], eax - -; 676 : stbi_uc *reduced; -; 677 : -; 678 : reduced = (stbi_uc *)stbi__malloc(img_len); - - 00045 48 63 45 24 movsxd rax, DWORD PTR img_len$[rbp] - 00049 48 8b c8 mov rcx, rax - 0004c e8 00 00 00 00 call stbi__malloc - 00051 48 89 45 48 mov QWORD PTR reduced$[rbp], rax - -; 679 : if (reduced == NULL) - - 00055 48 83 7d 48 00 cmp QWORD PTR reduced$[rbp], 0 - 0005a 75 31 jne SHORT $LN5@stbi__conv - -; 680 : return stbi__errpuc("outofmem", "Out of memory"); - - 0005c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 00063 e8 00 00 00 00 call stbi__err - 00068 85 c0 test eax, eax - 0006a 74 0d je SHORT $LN7@stbi__conv - 0006c 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv73[rbp], 0 - 00077 eb 0b jmp SHORT $LN8@stbi__conv -$LN7@stbi__conv: - 00079 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv73[rbp], 0 -$LN8@stbi__conv: - 00084 48 8b 85 18 01 - 00 00 mov rax, QWORD PTR tv73[rbp] - 0008b eb 4f jmp SHORT $LN1@stbi__conv -$LN5@stbi__conv: - -; 681 : -; 682 : for (i = 0; i < img_len; ++i) - - 0008d c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 00094 eb 08 jmp SHORT $LN4@stbi__conv -$LN2@stbi__conv: - 00096 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00099 ff c0 inc eax - 0009b 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__conv: - 0009e 8b 45 24 mov eax, DWORD PTR img_len$[rbp] - 000a1 39 45 04 cmp DWORD PTR i$[rbp], eax - 000a4 7d 24 jge SHORT $LN3@stbi__conv - -; 683 : reduced[i] = - - 000a6 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] - 000aa 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR orig$[rbp] - 000b1 0f b7 04 41 movzx eax, WORD PTR [rcx+rax*2] - 000b5 c1 f8 08 sar eax, 8 - 000b8 25 ff 00 00 00 and eax, 255 ; 000000ffH - 000bd 48 63 4d 04 movsxd rcx, DWORD PTR i$[rbp] - 000c1 48 8b 55 48 mov rdx, QWORD PTR reduced$[rbp] - 000c5 88 04 0a mov BYTE PTR [rdx+rcx], al - 000c8 eb cc jmp SHORT $LN2@stbi__conv -$LN3@stbi__conv: - -; 684 : (stbi_uc)((orig[i] >> 8) & -; 685 : 0xFF); // top half of each byte is sufficient approx of 16->8 bit scaling -; 686 : -; 687 : STBI_FREE(orig); - - 000ca 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR orig$[rbp] - 000d1 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 000d7 90 npad 1 - -; 688 : return reduced; - - 000d8 48 8b 45 48 mov rax, QWORD PTR reduced$[rbp] -$LN1@stbi__conv: - -; 689 : } - - 000dc 48 8d a5 28 01 - 00 00 lea rsp, QWORD PTR [rbp+296] - 000e3 5f pop rdi - 000e4 5d pop rbp - 000e5 c3 ret 0 -stbi__convert_16_to_8 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__load_main -_TEXT SEGMENT -hdr$1 = 8 -tv185 = 212 -tv203 = 216 -s$ = 256 -x$ = 264 -y$ = 272 -comp$ = 280 -req_comp$ = 288 -ri$ = 296 -bpc$ = 304 -stbi__load_main PROC ; COMDAT - -; 611 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 28 01 - 00 00 sub rsp, 296 ; 00000128H - 0001d 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 612 : memset(ri, 0, - - 0002f 41 b8 0c 00 00 - 00 mov r8d, 12 - 00035 33 d2 xor edx, edx - 00037 48 8b 8d 28 01 - 00 00 mov rcx, QWORD PTR ri$[rbp] - 0003e e8 00 00 00 00 call memset - 00043 90 npad 1 - -; 613 : sizeof(*ri)); // make sure it's initialized if we add new fields -; 614 : ri->bits_per_channel = 8; // default is 8 so most paths don't have to be changed - - 00044 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR ri$[rbp] - 0004b c7 00 08 00 00 - 00 mov DWORD PTR [rax], 8 - -; 615 : ri->channel_order = - - 00051 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR ri$[rbp] - 00058 c7 40 08 00 00 - 00 00 mov DWORD PTR [rax+8], 0 - -; 616 : STBI_ORDER_RGB; // all current input & output are this, but this is here so we can add BGR order -; 617 : ri->num_channels = 0; - - 0005f 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR ri$[rbp] - 00066 c7 40 04 00 00 - 00 00 mov DWORD PTR [rax+4], 0 - -; 618 : -; 619 : // test the formats with a very explicit header first (at least a FOURCC -; 620 : // or distinctive magic number first) -; 621 : #ifndef STBI_NO_PNG -; 622 : if (stbi__png_test(s)) - - 0006d 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00074 e8 00 00 00 00 call stbi__png_test - 00079 85 c0 test eax, eax - 0007b 74 3c je SHORT $LN2@stbi__load - -; 623 : return stbi__png_load(s, x, y, comp, req_comp, ri); - - 0007d 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR ri$[rbp] - 00084 48 89 44 24 28 mov QWORD PTR [rsp+40], rax - 00089 8b 85 20 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 0008f 89 44 24 20 mov DWORD PTR [rsp+32], eax - 00093 4c 8b 8d 18 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 0009a 4c 8b 85 10 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 000a1 48 8b 95 08 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 000a8 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000af e8 00 00 00 00 call stbi__png_load - 000b4 e9 e4 02 00 00 jmp $LN1@stbi__load -$LN2@stbi__load: - -; 624 : #endif -; 625 : #ifndef STBI_NO_BMP -; 626 : if (stbi__bmp_test(s)) - - 000b9 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000c0 e8 00 00 00 00 call stbi__bmp_test - 000c5 85 c0 test eax, eax - 000c7 74 3c je SHORT $LN3@stbi__load - -; 627 : return stbi__bmp_load(s, x, y, comp, req_comp, ri); - - 000c9 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR ri$[rbp] - 000d0 48 89 44 24 28 mov QWORD PTR [rsp+40], rax - 000d5 8b 85 20 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 000db 89 44 24 20 mov DWORD PTR [rsp+32], eax - 000df 4c 8b 8d 18 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 000e6 4c 8b 85 10 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 000ed 48 8b 95 08 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 000f4 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000fb e8 00 00 00 00 call stbi__bmp_load - 00100 e9 98 02 00 00 jmp $LN1@stbi__load -$LN3@stbi__load: - -; 628 : #endif -; 629 : #ifndef STBI_NO_GIF -; 630 : if (stbi__gif_test(s)) - - 00105 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0010c e8 00 00 00 00 call stbi__gif_test - 00111 85 c0 test eax, eax - 00113 74 3c je SHORT $LN4@stbi__load - -; 631 : return stbi__gif_load(s, x, y, comp, req_comp, ri); - - 00115 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR ri$[rbp] - 0011c 48 89 44 24 28 mov QWORD PTR [rsp+40], rax - 00121 8b 85 20 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 00127 89 44 24 20 mov DWORD PTR [rsp+32], eax - 0012b 4c 8b 8d 18 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00132 4c 8b 85 10 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 00139 48 8b 95 08 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 00140 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00147 e8 00 00 00 00 call stbi__gif_load - 0014c e9 4c 02 00 00 jmp $LN1@stbi__load -$LN4@stbi__load: - -; 632 : #endif -; 633 : #ifndef STBI_NO_PSD -; 634 : if (stbi__psd_test(s)) - - 00151 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00158 e8 00 00 00 00 call stbi__psd_test - 0015d 85 c0 test eax, eax - 0015f 74 46 je SHORT $LN5@stbi__load - -; 635 : return stbi__psd_load(s, x, y, comp, req_comp, ri, bpc); - - 00161 8b 85 30 01 00 - 00 mov eax, DWORD PTR bpc$[rbp] - 00167 89 44 24 30 mov DWORD PTR [rsp+48], eax - 0016b 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR ri$[rbp] - 00172 48 89 44 24 28 mov QWORD PTR [rsp+40], rax - 00177 8b 85 20 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 0017d 89 44 24 20 mov DWORD PTR [rsp+32], eax - 00181 4c 8b 8d 18 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00188 4c 8b 85 10 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 0018f 48 8b 95 08 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 00196 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0019d e8 00 00 00 00 call stbi__psd_load - 001a2 e9 f6 01 00 00 jmp $LN1@stbi__load -$LN5@stbi__load: - -; 636 : #else -; 637 : STBI_NOTUSED(bpc); -; 638 : #endif -; 639 : #ifndef STBI_NO_PIC -; 640 : if (stbi__pic_test(s)) - - 001a7 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001ae e8 00 00 00 00 call stbi__pic_test - 001b3 85 c0 test eax, eax - 001b5 74 3c je SHORT $LN6@stbi__load - -; 641 : return stbi__pic_load(s, x, y, comp, req_comp, ri); - - 001b7 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR ri$[rbp] - 001be 48 89 44 24 28 mov QWORD PTR [rsp+40], rax - 001c3 8b 85 20 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 001c9 89 44 24 20 mov DWORD PTR [rsp+32], eax - 001cd 4c 8b 8d 18 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 001d4 4c 8b 85 10 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 001db 48 8b 95 08 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 001e2 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001e9 e8 00 00 00 00 call stbi__pic_load - 001ee e9 aa 01 00 00 jmp $LN1@stbi__load -$LN6@stbi__load: - -; 642 : #endif -; 643 : -; 644 : // then the formats that can end up attempting to load with just 1 or 2 -; 645 : // bytes matching expectations; these are prone to false positives, so -; 646 : // try them later -; 647 : #ifndef STBI_NO_JPEG -; 648 : if (stbi__jpeg_test(s)) - - 001f3 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001fa e8 00 00 00 00 call stbi__jpeg_test - 001ff 85 c0 test eax, eax - 00201 74 3c je SHORT $LN7@stbi__load - -; 649 : return stbi__jpeg_load(s, x, y, comp, req_comp, ri); - - 00203 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR ri$[rbp] - 0020a 48 89 44 24 28 mov QWORD PTR [rsp+40], rax - 0020f 8b 85 20 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 00215 89 44 24 20 mov DWORD PTR [rsp+32], eax - 00219 4c 8b 8d 18 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00220 4c 8b 85 10 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 00227 48 8b 95 08 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 0022e 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00235 e8 00 00 00 00 call stbi__jpeg_load - 0023a e9 5e 01 00 00 jmp $LN1@stbi__load -$LN7@stbi__load: - -; 650 : #endif -; 651 : #ifndef STBI_NO_PNM -; 652 : if (stbi__pnm_test(s)) - - 0023f 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00246 e8 00 00 00 00 call stbi__pnm_test - 0024b 85 c0 test eax, eax - 0024d 74 3c je SHORT $LN8@stbi__load - -; 653 : return stbi__pnm_load(s, x, y, comp, req_comp, ri); - - 0024f 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR ri$[rbp] - 00256 48 89 44 24 28 mov QWORD PTR [rsp+40], rax - 0025b 8b 85 20 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 00261 89 44 24 20 mov DWORD PTR [rsp+32], eax - 00265 4c 8b 8d 18 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 0026c 4c 8b 85 10 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 00273 48 8b 95 08 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 0027a 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00281 e8 00 00 00 00 call stbi__pnm_load - 00286 e9 12 01 00 00 jmp $LN1@stbi__load -$LN8@stbi__load: - -; 654 : #endif -; 655 : -; 656 : #ifndef STBI_NO_HDR -; 657 : if (stbi__hdr_test(s)) { - - 0028b 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00292 e8 00 00 00 00 call stbi__hdr_test - 00297 85 c0 test eax, eax - 00299 0f 84 86 00 00 - 00 je $LN9@stbi__load - -; 658 : float *hdr = stbi__hdr_load(s, x, y, comp, req_comp, ri); - - 0029f 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR ri$[rbp] - 002a6 48 89 44 24 28 mov QWORD PTR [rsp+40], rax - 002ab 8b 85 20 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 002b1 89 44 24 20 mov DWORD PTR [rsp+32], eax - 002b5 4c 8b 8d 18 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 002bc 4c 8b 85 10 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 002c3 48 8b 95 08 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 002ca 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 002d1 e8 00 00 00 00 call stbi__hdr_load - 002d6 48 89 45 08 mov QWORD PTR hdr$1[rbp], rax - -; 659 : return stbi__hdr_to_ldr(hdr, *x, *y, req_comp ? req_comp : *comp); - - 002da 83 bd 20 01 00 - 00 00 cmp DWORD PTR req_comp$[rbp], 0 - 002e1 74 0e je SHORT $LN12@stbi__load - 002e3 8b 85 20 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 002e9 89 85 d4 00 00 - 00 mov DWORD PTR tv185[rbp], eax - 002ef eb 0f jmp SHORT $LN13@stbi__load -$LN12@stbi__load: - 002f1 48 8b 85 18 01 - 00 00 mov rax, QWORD PTR comp$[rbp] - 002f8 8b 00 mov eax, DWORD PTR [rax] - 002fa 89 85 d4 00 00 - 00 mov DWORD PTR tv185[rbp], eax -$LN13@stbi__load: - 00300 44 8b 8d d4 00 - 00 00 mov r9d, DWORD PTR tv185[rbp] - 00307 48 8b 85 10 01 - 00 00 mov rax, QWORD PTR y$[rbp] - 0030e 44 8b 00 mov r8d, DWORD PTR [rax] - 00311 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR x$[rbp] - 00318 8b 10 mov edx, DWORD PTR [rax] - 0031a 48 8b 4d 08 mov rcx, QWORD PTR hdr$1[rbp] - 0031e e8 00 00 00 00 call stbi__hdr_to_ldr - 00323 eb 78 jmp SHORT $LN1@stbi__load -$LN9@stbi__load: - -; 660 : } -; 661 : #endif -; 662 : -; 663 : #ifndef STBI_NO_TGA -; 664 : // test tga last because it's a crappy test! -; 665 : if (stbi__tga_test(s)) - - 00325 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0032c e8 00 00 00 00 call stbi__tga_test - 00331 85 c0 test eax, eax - 00333 74 39 je SHORT $LN10@stbi__load - -; 666 : return stbi__tga_load(s, x, y, comp, req_comp, ri); - - 00335 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR ri$[rbp] - 0033c 48 89 44 24 28 mov QWORD PTR [rsp+40], rax - 00341 8b 85 20 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 00347 89 44 24 20 mov DWORD PTR [rsp+32], eax - 0034b 4c 8b 8d 18 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00352 4c 8b 85 10 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 00359 48 8b 95 08 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 00360 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00367 e8 00 00 00 00 call stbi__tga_load - 0036c eb 2f jmp SHORT $LN1@stbi__load -$LN10@stbi__load: - -; 667 : #endif -; 668 : -; 669 : return stbi__errpuc("unknown image type", "Image not of any known type, or corrupt"); - - 0036e 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BD@CBEDEJPH@unknown?5image?5type@ - 00375 e8 00 00 00 00 call stbi__err - 0037a 85 c0 test eax, eax - 0037c 74 0d je SHORT $LN14@stbi__load - 0037e 48 c7 85 d8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv203[rbp], 0 - 00389 eb 0b jmp SHORT $LN15@stbi__load -$LN14@stbi__load: - 0038b 48 c7 85 d8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv203[rbp], 0 -$LN15@stbi__load: - 00396 48 8b 85 d8 00 - 00 00 mov rax, QWORD PTR tv203[rbp] -$LN1@stbi__load: - -; 670 : } - - 0039d 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 003a4 5f pop rdi - 003a5 5d pop rbp - 003a6 c3 ret 0 -stbi__load_main ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__hdr_to_ldr -_TEXT SEGMENT -i$ = 4 -k$ = 36 -n$ = 68 -output$ = 104 -z$1 = 132 -z$2 = 164 -tv75 = 376 -tv93 = 376 -data$ = 416 -x$ = 424 -y$ = 432 -comp$ = 440 -stbi__hdr_to_ldr PROC ; COMDAT - -; 1563 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx - 0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00013 55 push rbp - 00014 57 push rdi - 00015 48 81 ec a8 01 - 00 00 sub rsp, 424 ; 000001a8H - 0001c 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00021 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00028 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002d 90 npad 1 - -; 1564 : int i, k, n; -; 1565 : stbi_uc *output; -; 1566 : if (!data) - - 0002e 48 83 bd a0 01 - 00 00 00 cmp QWORD PTR data$[rbp], 0 - 00036 75 07 jne SHORT $LN8@stbi__hdr_ - -; 1567 : return NULL; - - 00038 33 c0 xor eax, eax - 0003a e9 3e 02 00 00 jmp $LN1@stbi__hdr_ -$LN8@stbi__hdr_: - -; 1568 : output = (stbi_uc *)stbi__malloc_mad3(x, y, comp, 0); - - 0003f 45 33 c9 xor r9d, r9d - 00042 44 8b 85 b8 01 - 00 00 mov r8d, DWORD PTR comp$[rbp] - 00049 8b 95 b0 01 00 - 00 mov edx, DWORD PTR y$[rbp] - 0004f 8b 8d a8 01 00 - 00 mov ecx, DWORD PTR x$[rbp] - 00055 e8 00 00 00 00 call stbi__malloc_mad3 - 0005a 48 89 45 68 mov QWORD PTR output$[rbp], rax - -; 1569 : if (output == NULL) { - - 0005e 48 83 7d 68 00 cmp QWORD PTR output$[rbp], 0 - 00063 75 42 jne SHORT $LN9@stbi__hdr_ - -; 1570 : STBI_FREE(data); - - 00065 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR data$[rbp] - 0006c ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00072 90 npad 1 - -; 1571 : return stbi__errpuc("outofmem", "Out of memory"); - - 00073 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 0007a e8 00 00 00 00 call stbi__err - 0007f 85 c0 test eax, eax - 00081 74 0d je SHORT $LN18@stbi__hdr_ - 00083 48 c7 85 78 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv75[rbp], 0 - 0008e eb 0b jmp SHORT $LN19@stbi__hdr_ -$LN18@stbi__hdr_: - 00090 48 c7 85 78 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv75[rbp], 0 -$LN19@stbi__hdr_: - 0009b 48 8b 85 78 01 - 00 00 mov rax, QWORD PTR tv75[rbp] - 000a2 e9 d6 01 00 00 jmp $LN1@stbi__hdr_ -$LN9@stbi__hdr_: - -; 1572 : } -; 1573 : // compute number of non-alpha components -; 1574 : if (comp & 1) - - 000a7 8b 85 b8 01 00 - 00 mov eax, DWORD PTR comp$[rbp] - 000ad 83 e0 01 and eax, 1 - 000b0 85 c0 test eax, eax - 000b2 74 0b je SHORT $LN10@stbi__hdr_ - -; 1575 : n = comp; - - 000b4 8b 85 b8 01 00 - 00 mov eax, DWORD PTR comp$[rbp] - 000ba 89 45 44 mov DWORD PTR n$[rbp], eax - 000bd eb 0b jmp SHORT $LN11@stbi__hdr_ -$LN10@stbi__hdr_: - -; 1576 : else -; 1577 : n = comp - 1; - - 000bf 8b 85 b8 01 00 - 00 mov eax, DWORD PTR comp$[rbp] - 000c5 ff c8 dec eax - 000c7 89 45 44 mov DWORD PTR n$[rbp], eax -$LN11@stbi__hdr_: - -; 1578 : for (i = 0; i < x * y; ++i) { - - 000ca c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 000d1 eb 08 jmp SHORT $LN4@stbi__hdr_ -$LN2@stbi__hdr_: - 000d3 8b 45 04 mov eax, DWORD PTR i$[rbp] - 000d6 ff c0 inc eax - 000d8 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__hdr_: - 000db 8b 85 a8 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 000e1 0f af 85 b0 01 - 00 00 imul eax, DWORD PTR y$[rbp] - 000e8 39 45 04 cmp DWORD PTR i$[rbp], eax - 000eb 0f 8d 7a 01 00 - 00 jge $LN3@stbi__hdr_ - -; 1579 : for (k = 0; k < n; ++k) { - - 000f1 c7 45 24 00 00 - 00 00 mov DWORD PTR k$[rbp], 0 - 000f8 eb 08 jmp SHORT $LN7@stbi__hdr_ -$LN5@stbi__hdr_: - 000fa 8b 45 24 mov eax, DWORD PTR k$[rbp] - 000fd ff c0 inc eax - 000ff 89 45 24 mov DWORD PTR k$[rbp], eax -$LN7@stbi__hdr_: - 00102 8b 45 44 mov eax, DWORD PTR n$[rbp] - 00105 39 45 24 cmp DWORD PTR k$[rbp], eax - 00108 0f 8d bf 00 00 - 00 jge $LN6@stbi__hdr_ - -; 1580 : float z = (float)pow(data[i * comp + k] * stbi__h2l_scale_i, - - 0010e f3 0f 5a 05 00 - 00 00 00 cvtss2sd xmm0, DWORD PTR stbi__h2l_gamma_i - 00116 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00119 0f af 85 b8 01 - 00 00 imul eax, DWORD PTR comp$[rbp] - 00120 03 45 24 add eax, DWORD PTR k$[rbp] - 00123 48 98 cdqe - 00125 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR data$[rbp] - 0012c f3 0f 10 0c 81 movss xmm1, DWORD PTR [rcx+rax*4] - 00131 f3 0f 59 0d 00 - 00 00 00 mulss xmm1, DWORD PTR stbi__h2l_scale_i - 00139 f3 0f 5a c9 cvtss2sd xmm1, xmm1 - 0013d f2 0f 11 8d 78 - 01 00 00 movsd QWORD PTR tv93[rbp], xmm1 - 00145 0f 28 c8 movaps xmm1, xmm0 - 00148 f2 0f 10 85 78 - 01 00 00 movsd xmm0, QWORD PTR tv93[rbp] - 00150 e8 00 00 00 00 call pow - 00155 f2 0f 5a c0 cvtsd2ss xmm0, xmm0 - 00159 f3 0f 59 05 00 - 00 00 00 mulss xmm0, DWORD PTR __real@437f0000 - 00161 f3 0f 58 05 00 - 00 00 00 addss xmm0, DWORD PTR __real@3f000000 - 00169 f3 0f 11 85 84 - 00 00 00 movss DWORD PTR z$1[rbp], xmm0 - -; 1581 : stbi__h2l_gamma_i) * -; 1582 : 255 + -; 1583 : 0.5f; -; 1584 : if (z < 0) - - 00171 0f 57 c0 xorps xmm0, xmm0 - 00174 0f 2f 85 84 00 - 00 00 comiss xmm0, DWORD PTR z$1[rbp] - 0017b 76 0b jbe SHORT $LN12@stbi__hdr_ - -; 1585 : z = 0; - - 0017d 0f 57 c0 xorps xmm0, xmm0 - 00180 f3 0f 11 85 84 - 00 00 00 movss DWORD PTR z$1[rbp], xmm0 -$LN12@stbi__hdr_: - -; 1586 : if (z > 255) - - 00188 f3 0f 10 85 84 - 00 00 00 movss xmm0, DWORD PTR z$1[rbp] - 00190 0f 2f 05 00 00 - 00 00 comiss xmm0, DWORD PTR __real@437f0000 - 00197 76 10 jbe SHORT $LN13@stbi__hdr_ - -; 1587 : z = 255; - - 00199 f3 0f 10 05 00 - 00 00 00 movss xmm0, DWORD PTR __real@437f0000 - 001a1 f3 0f 11 85 84 - 00 00 00 movss DWORD PTR z$1[rbp], xmm0 -$LN13@stbi__hdr_: - -; 1588 : output[i * comp + k] = (stbi_uc)stbi__float2int(z); - - 001a9 f3 0f 2c 85 84 - 00 00 00 cvttss2si eax, DWORD PTR z$1[rbp] - 001b1 8b 4d 04 mov ecx, DWORD PTR i$[rbp] - 001b4 0f af 8d b8 01 - 00 00 imul ecx, DWORD PTR comp$[rbp] - 001bb 03 4d 24 add ecx, DWORD PTR k$[rbp] - 001be 48 63 c9 movsxd rcx, ecx - 001c1 48 8b 55 68 mov rdx, QWORD PTR output$[rbp] - 001c5 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 1589 : } - - 001c8 e9 2d ff ff ff jmp $LN5@stbi__hdr_ -$LN6@stbi__hdr_: - -; 1590 : if (k < comp) { - - 001cd 8b 85 b8 01 00 - 00 mov eax, DWORD PTR comp$[rbp] - 001d3 39 45 24 cmp DWORD PTR k$[rbp], eax - 001d6 0f 8d 8a 00 00 - 00 jge $LN14@stbi__hdr_ - -; 1591 : float z = data[i * comp + k] * 255 + 0.5f; - - 001dc 8b 45 04 mov eax, DWORD PTR i$[rbp] - 001df 0f af 85 b8 01 - 00 00 imul eax, DWORD PTR comp$[rbp] - 001e6 03 45 24 add eax, DWORD PTR k$[rbp] - 001e9 48 98 cdqe - 001eb 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR data$[rbp] - 001f2 f3 0f 10 04 81 movss xmm0, DWORD PTR [rcx+rax*4] - 001f7 f3 0f 59 05 00 - 00 00 00 mulss xmm0, DWORD PTR __real@437f0000 - 001ff f3 0f 58 05 00 - 00 00 00 addss xmm0, DWORD PTR __real@3f000000 - 00207 f3 0f 11 85 a4 - 00 00 00 movss DWORD PTR z$2[rbp], xmm0 - -; 1592 : if (z < 0) - - 0020f 0f 57 c0 xorps xmm0, xmm0 - 00212 0f 2f 85 a4 00 - 00 00 comiss xmm0, DWORD PTR z$2[rbp] - 00219 76 0b jbe SHORT $LN15@stbi__hdr_ - -; 1593 : z = 0; - - 0021b 0f 57 c0 xorps xmm0, xmm0 - 0021e f3 0f 11 85 a4 - 00 00 00 movss DWORD PTR z$2[rbp], xmm0 -$LN15@stbi__hdr_: - -; 1594 : if (z > 255) - - 00226 f3 0f 10 85 a4 - 00 00 00 movss xmm0, DWORD PTR z$2[rbp] - 0022e 0f 2f 05 00 00 - 00 00 comiss xmm0, DWORD PTR __real@437f0000 - 00235 76 10 jbe SHORT $LN16@stbi__hdr_ - -; 1595 : z = 255; - - 00237 f3 0f 10 05 00 - 00 00 00 movss xmm0, DWORD PTR __real@437f0000 - 0023f f3 0f 11 85 a4 - 00 00 00 movss DWORD PTR z$2[rbp], xmm0 -$LN16@stbi__hdr_: - -; 1596 : output[i * comp + k] = (stbi_uc)stbi__float2int(z); - - 00247 f3 0f 2c 85 a4 - 00 00 00 cvttss2si eax, DWORD PTR z$2[rbp] - 0024f 8b 4d 04 mov ecx, DWORD PTR i$[rbp] - 00252 0f af 8d b8 01 - 00 00 imul ecx, DWORD PTR comp$[rbp] - 00259 03 4d 24 add ecx, DWORD PTR k$[rbp] - 0025c 48 63 c9 movsxd rcx, ecx - 0025f 48 8b 55 68 mov rdx, QWORD PTR output$[rbp] - 00263 88 04 0a mov BYTE PTR [rdx+rcx], al -$LN14@stbi__hdr_: - -; 1597 : } -; 1598 : } - - 00266 e9 68 fe ff ff jmp $LN2@stbi__hdr_ -$LN3@stbi__hdr_: - -; 1599 : STBI_FREE(data); - - 0026b 48 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR data$[rbp] - 00272 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00278 90 npad 1 - -; 1600 : return output; - - 00279 48 8b 45 68 mov rax, QWORD PTR output$[rbp] -$LN1@stbi__hdr_: - -; 1601 : } - - 0027d 48 8d a5 88 01 - 00 00 lea rsp, QWORD PTR [rbp+392] - 00284 5f pop rdi - 00285 5d pop rbp - 00286 c3 ret 0 -stbi__hdr_to_ldr ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__ldr_to_hdr -_TEXT SEGMENT -i$ = 4 -k$ = 36 -n$ = 68 -output$ = 104 -tv76 = 312 -tv133 = 312 -data$ = 352 -x$ = 360 -y$ = 368 -comp$ = 376 -stbi__ldr_to_hdr PROC ; COMDAT - -; 1528 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx - 0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00013 55 push rbp - 00014 57 push rdi - 00015 48 81 ec 78 01 - 00 00 sub rsp, 376 ; 00000178H - 0001c 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00021 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00028 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002d 90 npad 1 - -; 1529 : int i, k, n; -; 1530 : float *output; -; 1531 : if (!data) - - 0002e 48 83 bd 60 01 - 00 00 00 cmp QWORD PTR data$[rbp], 0 - 00036 75 07 jne SHORT $LN11@stbi__ldr_ - -; 1532 : return NULL; - - 00038 33 c0 xor eax, eax - 0003a e9 d2 01 00 00 jmp $LN1@stbi__ldr_ -$LN11@stbi__ldr_: - -; 1533 : output = (float *)stbi__malloc_mad4(x, y, comp, sizeof(float), 0); - - 0003f c7 44 24 20 00 - 00 00 00 mov DWORD PTR [rsp+32], 0 - 00047 41 b9 04 00 00 - 00 mov r9d, 4 - 0004d 44 8b 85 78 01 - 00 00 mov r8d, DWORD PTR comp$[rbp] - 00054 8b 95 70 01 00 - 00 mov edx, DWORD PTR y$[rbp] - 0005a 8b 8d 68 01 00 - 00 mov ecx, DWORD PTR x$[rbp] - 00060 e8 00 00 00 00 call stbi__malloc_mad4 - 00065 48 89 45 68 mov QWORD PTR output$[rbp], rax - -; 1534 : if (output == NULL) { - - 00069 48 83 7d 68 00 cmp QWORD PTR output$[rbp], 0 - 0006e 75 42 jne SHORT $LN12@stbi__ldr_ - -; 1535 : STBI_FREE(data); - - 00070 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR data$[rbp] - 00077 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 0007d 90 npad 1 - -; 1536 : return stbi__errpf("outofmem", "Out of memory"); - - 0007e 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 00085 e8 00 00 00 00 call stbi__err - 0008a 85 c0 test eax, eax - 0008c 74 0d je SHORT $LN17@stbi__ldr_ - 0008e 48 c7 85 38 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv76[rbp], 0 - 00099 eb 0b jmp SHORT $LN18@stbi__ldr_ -$LN17@stbi__ldr_: - 0009b 48 c7 85 38 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv76[rbp], 0 -$LN18@stbi__ldr_: - 000a6 48 8b 85 38 01 - 00 00 mov rax, QWORD PTR tv76[rbp] - 000ad e9 5f 01 00 00 jmp $LN1@stbi__ldr_ -$LN12@stbi__ldr_: - -; 1537 : } -; 1538 : // compute number of non-alpha components -; 1539 : if (comp & 1) - - 000b2 8b 85 78 01 00 - 00 mov eax, DWORD PTR comp$[rbp] - 000b8 83 e0 01 and eax, 1 - 000bb 85 c0 test eax, eax - 000bd 74 0b je SHORT $LN13@stbi__ldr_ - -; 1540 : n = comp; - - 000bf 8b 85 78 01 00 - 00 mov eax, DWORD PTR comp$[rbp] - 000c5 89 45 44 mov DWORD PTR n$[rbp], eax - 000c8 eb 0b jmp SHORT $LN14@stbi__ldr_ -$LN13@stbi__ldr_: - -; 1541 : else -; 1542 : n = comp - 1; - - 000ca 8b 85 78 01 00 - 00 mov eax, DWORD PTR comp$[rbp] - 000d0 ff c8 dec eax - 000d2 89 45 44 mov DWORD PTR n$[rbp], eax -$LN14@stbi__ldr_: - -; 1543 : for (i = 0; i < x * y; ++i) { - - 000d5 c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 000dc eb 08 jmp SHORT $LN4@stbi__ldr_ -$LN2@stbi__ldr_: - 000de 8b 45 04 mov eax, DWORD PTR i$[rbp] - 000e1 ff c0 inc eax - 000e3 89 45 04 mov DWORD PTR i$[rbp], eax -$LN4@stbi__ldr_: - 000e6 8b 85 68 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 000ec 0f af 85 70 01 - 00 00 imul eax, DWORD PTR y$[rbp] - 000f3 39 45 04 cmp DWORD PTR i$[rbp], eax - 000f6 0f 8d 95 00 00 - 00 jge $LN3@stbi__ldr_ - -; 1544 : for (k = 0; k < n; ++k) { - - 000fc c7 45 24 00 00 - 00 00 mov DWORD PTR k$[rbp], 0 - 00103 eb 08 jmp SHORT $LN7@stbi__ldr_ -$LN5@stbi__ldr_: - 00105 8b 45 24 mov eax, DWORD PTR k$[rbp] - 00108 ff c0 inc eax - 0010a 89 45 24 mov DWORD PTR k$[rbp], eax -$LN7@stbi__ldr_: - 0010d 8b 45 44 mov eax, DWORD PTR n$[rbp] - 00110 39 45 24 cmp DWORD PTR k$[rbp], eax - 00113 7d 77 jge SHORT $LN6@stbi__ldr_ - -; 1545 : output[i * comp + k] = - - 00115 f3 0f 5a 05 00 - 00 00 00 cvtss2sd xmm0, DWORD PTR stbi__l2h_gamma - 0011d 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00120 0f af 85 78 01 - 00 00 imul eax, DWORD PTR comp$[rbp] - 00127 03 45 24 add eax, DWORD PTR k$[rbp] - 0012a 48 98 cdqe - 0012c 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR data$[rbp] - 00133 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00137 f3 0f 2a c8 cvtsi2ss xmm1, eax - 0013b f3 0f 5e 0d 00 - 00 00 00 divss xmm1, DWORD PTR __real@437f0000 - 00143 f3 0f 5a c9 cvtss2sd xmm1, xmm1 - 00147 f2 0f 11 8d 38 - 01 00 00 movsd QWORD PTR tv133[rbp], xmm1 - 0014f 0f 28 c8 movaps xmm1, xmm0 - 00152 f2 0f 10 85 38 - 01 00 00 movsd xmm0, QWORD PTR tv133[rbp] - 0015a e8 00 00 00 00 call pow - 0015f f3 0f 5a 0d 00 - 00 00 00 cvtss2sd xmm1, DWORD PTR stbi__l2h_scale - 00167 f2 0f 59 c1 mulsd xmm0, xmm1 - 0016b f2 0f 5a c0 cvtsd2ss xmm0, xmm0 - 0016f 8b 45 04 mov eax, DWORD PTR i$[rbp] - 00172 0f af 85 78 01 - 00 00 imul eax, DWORD PTR comp$[rbp] - 00179 03 45 24 add eax, DWORD PTR k$[rbp] - 0017c 48 98 cdqe - 0017e 48 8b 4d 68 mov rcx, QWORD PTR output$[rbp] - 00182 f3 0f 11 04 81 movss DWORD PTR [rcx+rax*4], xmm0 - -; 1546 : (float)(pow(data[i * comp + k] / 255.0f, stbi__l2h_gamma) * -; 1547 : stbi__l2h_scale); -; 1548 : } - - 00187 e9 79 ff ff ff jmp $LN5@stbi__ldr_ -$LN6@stbi__ldr_: - -; 1549 : } - - 0018c e9 4d ff ff ff jmp $LN2@stbi__ldr_ -$LN3@stbi__ldr_: - -; 1550 : if (n < comp) { - - 00191 8b 85 78 01 00 - 00 mov eax, DWORD PTR comp$[rbp] - 00197 39 45 44 cmp DWORD PTR n$[rbp], eax - 0019a 7d 63 jge SHORT $LN15@stbi__ldr_ - -; 1551 : for (i = 0; i < x * y; ++i) { - - 0019c c7 45 04 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 001a3 eb 08 jmp SHORT $LN10@stbi__ldr_ -$LN8@stbi__ldr_: - 001a5 8b 45 04 mov eax, DWORD PTR i$[rbp] - 001a8 ff c0 inc eax - 001aa 89 45 04 mov DWORD PTR i$[rbp], eax -$LN10@stbi__ldr_: - 001ad 8b 85 68 01 00 - 00 mov eax, DWORD PTR x$[rbp] - 001b3 0f af 85 70 01 - 00 00 imul eax, DWORD PTR y$[rbp] - 001ba 39 45 04 cmp DWORD PTR i$[rbp], eax - 001bd 7d 40 jge SHORT $LN9@stbi__ldr_ - -; 1552 : output[i * comp + n] = data[i * comp + n] / 255.0f; - - 001bf 8b 45 04 mov eax, DWORD PTR i$[rbp] - 001c2 0f af 85 78 01 - 00 00 imul eax, DWORD PTR comp$[rbp] - 001c9 03 45 44 add eax, DWORD PTR n$[rbp] - 001cc 48 98 cdqe - 001ce 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR data$[rbp] - 001d5 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 001d9 f3 0f 2a c0 cvtsi2ss xmm0, eax - 001dd f3 0f 5e 05 00 - 00 00 00 divss xmm0, DWORD PTR __real@437f0000 - 001e5 8b 45 04 mov eax, DWORD PTR i$[rbp] - 001e8 0f af 85 78 01 - 00 00 imul eax, DWORD PTR comp$[rbp] - 001ef 03 45 44 add eax, DWORD PTR n$[rbp] - 001f2 48 98 cdqe - 001f4 48 8b 4d 68 mov rcx, QWORD PTR output$[rbp] - 001f8 f3 0f 11 04 81 movss DWORD PTR [rcx+rax*4], xmm0 - -; 1553 : } - - 001fd eb a6 jmp SHORT $LN8@stbi__ldr_ -$LN9@stbi__ldr_: -$LN15@stbi__ldr_: - -; 1554 : } -; 1555 : STBI_FREE(data); - - 001ff 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR data$[rbp] - 00206 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 0020c 90 npad 1 - -; 1556 : return output; - - 0020d 48 8b 45 68 mov rax, QWORD PTR output$[rbp] -$LN1@stbi__ldr_: - -; 1557 : } - - 00211 48 8d a5 48 01 - 00 00 lea rsp, QWORD PTR [rbp+328] - 00218 5f pop rdi - 00219 5d pop rbp - 0021a c3 ret 0 -stbi__ldr_to_hdr ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__mul2shorts_valid -_TEXT SEGMENT -tv73 = 192 -tv75 = 192 -tv82 = 192 -tv87 = 192 -tv72 = 196 -tv79 = 196 -tv86 = 196 -tv91 = 196 -a$ = 240 -b$ = 248 -stbi__mul2shorts_valid PROC ; COMDAT - -; 548 : { - - 00000 66 89 54 24 10 mov WORD PTR [rsp+16], dx - 00005 66 89 4c 24 08 mov WORD PTR [rsp+8], cx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 549 : if (b == 0 || b == -1) - - 00025 0f bf 85 f8 00 - 00 00 movsx eax, WORD PTR b$[rbp] - 0002c 85 c0 test eax, eax - 0002e 74 0c je SHORT $LN3@stbi__mul2 - 00030 0f bf 85 f8 00 - 00 00 movsx eax, WORD PTR b$[rbp] - 00037 83 f8 ff cmp eax, -1 - 0003a 75 0a jne SHORT $LN2@stbi__mul2 -$LN3@stbi__mul2: - -; 550 : return 1; // multiplication by 0 is always 0; check for -1 so SHRT_MIN/b doesn't overflow - - 0003c b8 01 00 00 00 mov eax, 1 - 00041 e9 28 01 00 00 jmp $LN1@stbi__mul2 -$LN2@stbi__mul2: - -; 551 : if ((a >= 0) == (b >= 0)) - - 00046 0f bf 85 f0 00 - 00 00 movsx eax, WORD PTR a$[rbp] - 0004d 85 c0 test eax, eax - 0004f 7c 0c jl SHORT $LN9@stbi__mul2 - 00051 c7 85 c0 00 00 - 00 01 00 00 00 mov DWORD PTR tv73[rbp], 1 - 0005b eb 0a jmp SHORT $LN10@stbi__mul2 -$LN9@stbi__mul2: - 0005d c7 85 c0 00 00 - 00 00 00 00 00 mov DWORD PTR tv73[rbp], 0 -$LN10@stbi__mul2: - 00067 0f bf 85 f8 00 - 00 00 movsx eax, WORD PTR b$[rbp] - 0006e 85 c0 test eax, eax - 00070 7c 0c jl SHORT $LN7@stbi__mul2 - 00072 c7 85 c4 00 00 - 00 01 00 00 00 mov DWORD PTR tv72[rbp], 1 - 0007c eb 0a jmp SHORT $LN8@stbi__mul2 -$LN7@stbi__mul2: - 0007e c7 85 c4 00 00 - 00 00 00 00 00 mov DWORD PTR tv72[rbp], 0 -$LN8@stbi__mul2: - 00088 8b 85 c4 00 00 - 00 mov eax, DWORD PTR tv72[rbp] - 0008e 39 85 c0 00 00 - 00 cmp DWORD PTR tv73[rbp], eax - 00094 75 47 jne SHORT $LN4@stbi__mul2 - -; 552 : return a <= SHRT_MAX / b; // product is positive, so similar to mul2sizes_valid - - 00096 0f bf 85 f0 00 - 00 00 movsx eax, WORD PTR a$[rbp] - 0009d 89 85 c0 00 00 - 00 mov DWORD PTR tv75[rbp], eax - 000a3 0f bf 8d f8 00 - 00 00 movsx ecx, WORD PTR b$[rbp] - 000aa b8 ff 7f 00 00 mov eax, 32767 ; 00007fffH - 000af 99 cdq - 000b0 f7 f9 idiv ecx - 000b2 8b 8d c0 00 00 - 00 mov ecx, DWORD PTR tv75[rbp] - 000b8 3b c8 cmp ecx, eax - 000ba 7f 0c jg SHORT $LN11@stbi__mul2 - 000bc c7 85 c4 00 00 - 00 01 00 00 00 mov DWORD PTR tv79[rbp], 1 - 000c6 eb 0a jmp SHORT $LN12@stbi__mul2 -$LN11@stbi__mul2: - 000c8 c7 85 c4 00 00 - 00 00 00 00 00 mov DWORD PTR tv79[rbp], 0 -$LN12@stbi__mul2: - 000d2 8b 85 c4 00 00 - 00 mov eax, DWORD PTR tv79[rbp] - 000d8 e9 91 00 00 00 jmp $LN1@stbi__mul2 -$LN4@stbi__mul2: - -; 553 : if (b < 0) - - 000dd 0f bf 85 f8 00 - 00 00 movsx eax, WORD PTR b$[rbp] - 000e4 85 c0 test eax, eax - 000e6 7d 44 jge SHORT $LN5@stbi__mul2 - -; 554 : return a <= SHRT_MIN / b; // same as a * b >= SHRT_MIN - - 000e8 0f bf 85 f0 00 - 00 00 movsx eax, WORD PTR a$[rbp] - 000ef 89 85 c0 00 00 - 00 mov DWORD PTR tv82[rbp], eax - 000f5 0f bf 8d f8 00 - 00 00 movsx ecx, WORD PTR b$[rbp] - 000fc b8 00 80 ff ff mov eax, -32768 ; ffffffffffff8000H - 00101 99 cdq - 00102 f7 f9 idiv ecx - 00104 8b 8d c0 00 00 - 00 mov ecx, DWORD PTR tv82[rbp] - 0010a 3b c8 cmp ecx, eax - 0010c 7f 0c jg SHORT $LN13@stbi__mul2 - 0010e c7 85 c4 00 00 - 00 01 00 00 00 mov DWORD PTR tv86[rbp], 1 - 00118 eb 0a jmp SHORT $LN14@stbi__mul2 -$LN13@stbi__mul2: - 0011a c7 85 c4 00 00 - 00 00 00 00 00 mov DWORD PTR tv86[rbp], 0 -$LN14@stbi__mul2: - 00124 8b 85 c4 00 00 - 00 mov eax, DWORD PTR tv86[rbp] - 0012a eb 42 jmp SHORT $LN1@stbi__mul2 -$LN5@stbi__mul2: - -; 555 : return a >= SHRT_MIN / b; - - 0012c 0f bf 85 f0 00 - 00 00 movsx eax, WORD PTR a$[rbp] - 00133 89 85 c0 00 00 - 00 mov DWORD PTR tv87[rbp], eax - 00139 0f bf 8d f8 00 - 00 00 movsx ecx, WORD PTR b$[rbp] - 00140 b8 00 80 ff ff mov eax, -32768 ; ffffffffffff8000H - 00145 99 cdq - 00146 f7 f9 idiv ecx - 00148 8b 8d c0 00 00 - 00 mov ecx, DWORD PTR tv87[rbp] - 0014e 3b c8 cmp ecx, eax - 00150 7c 0c jl SHORT $LN15@stbi__mul2 - 00152 c7 85 c4 00 00 - 00 01 00 00 00 mov DWORD PTR tv91[rbp], 1 - 0015c eb 0a jmp SHORT $LN16@stbi__mul2 -$LN15@stbi__mul2: - 0015e c7 85 c4 00 00 - 00 00 00 00 00 mov DWORD PTR tv91[rbp], 0 -$LN16@stbi__mul2: - 00168 8b 85 c4 00 00 - 00 mov eax, DWORD PTR tv91[rbp] -$LN1@stbi__mul2: - -; 556 : } - - 0016e 48 8d a5 d8 00 - 00 00 lea rsp, QWORD PTR [rbp+216] - 00175 5f pop rdi - 00176 5d pop rbp - 00177 c3 ret 0 -stbi__mul2shorts_valid ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__addints_valid -_TEXT SEGMENT -tv67 = 192 -tv73 = 192 -tv76 = 192 -tv66 = 196 -a$ = 240 -b$ = 248 -stbi__addints_valid PROC ; COMDAT - -; 536 : { - - 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00004 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 00008 55 push rbp - 00009 57 push rdi - 0000a 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 00011 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00016 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001d e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00022 90 npad 1 - -; 537 : if ((a >= 0) != (b >= 0)) - - 00023 83 bd f0 00 00 - 00 00 cmp DWORD PTR a$[rbp], 0 - 0002a 7c 0c jl SHORT $LN7@stbi__addi - 0002c c7 85 c0 00 00 - 00 01 00 00 00 mov DWORD PTR tv67[rbp], 1 - 00036 eb 0a jmp SHORT $LN8@stbi__addi -$LN7@stbi__addi: - 00038 c7 85 c0 00 00 - 00 00 00 00 00 mov DWORD PTR tv67[rbp], 0 -$LN8@stbi__addi: - 00042 83 bd f8 00 00 - 00 00 cmp DWORD PTR b$[rbp], 0 - 00049 7c 0c jl SHORT $LN5@stbi__addi - 0004b c7 85 c4 00 00 - 00 01 00 00 00 mov DWORD PTR tv66[rbp], 1 - 00055 eb 0a jmp SHORT $LN6@stbi__addi -$LN5@stbi__addi: - 00057 c7 85 c4 00 00 - 00 00 00 00 00 mov DWORD PTR tv66[rbp], 0 -$LN6@stbi__addi: - 00061 8b 85 c4 00 00 - 00 mov eax, DWORD PTR tv66[rbp] - 00067 39 85 c0 00 00 - 00 cmp DWORD PTR tv67[rbp], eax - 0006d 74 07 je SHORT $LN2@stbi__addi - -; 538 : return 1; // a and b have different signs, so no overflow - - 0006f b8 01 00 00 00 mov eax, 1 - 00074 eb 72 jmp SHORT $LN1@stbi__addi -$LN2@stbi__addi: - -; 539 : if (a < 0 && b < 0) - - 00076 83 bd f0 00 00 - 00 00 cmp DWORD PTR a$[rbp], 0 - 0007d 7d 3a jge SHORT $LN3@stbi__addi - 0007f 83 bd f8 00 00 - 00 00 cmp DWORD PTR b$[rbp], 0 - 00086 7d 31 jge SHORT $LN3@stbi__addi - -; 540 : return a >= - - 00088 b8 00 00 00 80 mov eax, -2147483648 ; ffffffff80000000H - 0008d 2b 85 f8 00 00 - 00 sub eax, DWORD PTR b$[rbp] - 00093 39 85 f0 00 00 - 00 cmp DWORD PTR a$[rbp], eax - 00099 7c 0c jl SHORT $LN9@stbi__addi - 0009b c7 85 c0 00 00 - 00 01 00 00 00 mov DWORD PTR tv73[rbp], 1 - 000a5 eb 0a jmp SHORT $LN10@stbi__addi -$LN9@stbi__addi: - 000a7 c7 85 c0 00 00 - 00 00 00 00 00 mov DWORD PTR tv73[rbp], 0 -$LN10@stbi__addi: - 000b1 8b 85 c0 00 00 - 00 mov eax, DWORD PTR tv73[rbp] - 000b7 eb 2f jmp SHORT $LN1@stbi__addi -$LN3@stbi__addi: - -; 541 : INT_MIN - -; 542 : b; // same as a + b >= INT_MIN; INT_MIN - b cannot overflow since b < 0. -; 543 : return a <= INT_MAX - b; - - 000b9 b8 ff ff ff 7f mov eax, 2147483647 ; 7fffffffH - 000be 2b 85 f8 00 00 - 00 sub eax, DWORD PTR b$[rbp] - 000c4 39 85 f0 00 00 - 00 cmp DWORD PTR a$[rbp], eax - 000ca 7f 0c jg SHORT $LN11@stbi__addi - 000cc c7 85 c0 00 00 - 00 01 00 00 00 mov DWORD PTR tv76[rbp], 1 - 000d6 eb 0a jmp SHORT $LN12@stbi__addi -$LN11@stbi__addi: - 000d8 c7 85 c0 00 00 - 00 00 00 00 00 mov DWORD PTR tv76[rbp], 0 -$LN12@stbi__addi: - 000e2 8b 85 c0 00 00 - 00 mov eax, DWORD PTR tv76[rbp] -$LN1@stbi__addi: - -; 544 : } - - 000e8 48 8d a5 d8 00 - 00 00 lea rsp, QWORD PTR [rbp+216] - 000ef 5f pop rdi - 000f0 5d pop rbp - 000f1 c3 ret 0 -stbi__addints_valid ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__malloc_mad4 -_TEXT SEGMENT -a$ = 224 -b$ = 232 -c$ = 240 -d$ = 248 -add$ = 256 -stbi__malloc_mad4 PROC ; COMDAT - -; 527 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx - 0000e 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 00012 55 push rbp - 00013 57 push rdi - 00014 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 0001b 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00020 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00027 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002c 90 npad 1 - -; 528 : if (!stbi__mad4sizes_valid(a, b, c, d, add)) - - 0002d 8b 85 00 01 00 - 00 mov eax, DWORD PTR add$[rbp] - 00033 89 44 24 20 mov DWORD PTR [rsp+32], eax - 00037 44 8b 8d f8 00 - 00 00 mov r9d, DWORD PTR d$[rbp] - 0003e 44 8b 85 f0 00 - 00 00 mov r8d, DWORD PTR c$[rbp] - 00045 8b 95 e8 00 00 - 00 mov edx, DWORD PTR b$[rbp] - 0004b 8b 8d e0 00 00 - 00 mov ecx, DWORD PTR a$[rbp] - 00051 e8 00 00 00 00 call stbi__mad4sizes_valid - 00056 85 c0 test eax, eax - 00058 75 04 jne SHORT $LN2@stbi__mall - -; 529 : return NULL; - - 0005a 33 c0 xor eax, eax - 0005c eb 2b jmp SHORT $LN1@stbi__mall -$LN2@stbi__mall: - -; 530 : return stbi__malloc(a * b * c * d + add); - - 0005e 8b 85 e0 00 00 - 00 mov eax, DWORD PTR a$[rbp] - 00064 0f af 85 e8 00 - 00 00 imul eax, DWORD PTR b$[rbp] - 0006b 0f af 85 f0 00 - 00 00 imul eax, DWORD PTR c$[rbp] - 00072 0f af 85 f8 00 - 00 00 imul eax, DWORD PTR d$[rbp] - 00079 03 85 00 01 00 - 00 add eax, DWORD PTR add$[rbp] - 0007f 48 98 cdqe - 00081 48 8b c8 mov rcx, rax - 00084 e8 00 00 00 00 call stbi__malloc -$LN1@stbi__mall: - -; 531 : } - - 00089 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00090 5f pop rdi - 00091 5d pop rbp - 00092 c3 ret 0 -stbi__malloc_mad4 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__malloc_mad3 -_TEXT SEGMENT -a$ = 224 -b$ = 232 -c$ = 240 -add$ = 248 -stbi__malloc_mad3 PROC ; COMDAT - -; 519 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx - 0000e 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 00012 55 push rbp - 00013 57 push rdi - 00014 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0001b 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00020 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00027 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002c 90 npad 1 - -; 520 : if (!stbi__mad3sizes_valid(a, b, c, add)) - - 0002d 44 8b 8d f8 00 - 00 00 mov r9d, DWORD PTR add$[rbp] - 00034 44 8b 85 f0 00 - 00 00 mov r8d, DWORD PTR c$[rbp] - 0003b 8b 95 e8 00 00 - 00 mov edx, DWORD PTR b$[rbp] - 00041 8b 8d e0 00 00 - 00 mov ecx, DWORD PTR a$[rbp] - 00047 e8 00 00 00 00 call stbi__mad3sizes_valid - 0004c 85 c0 test eax, eax - 0004e 75 04 jne SHORT $LN2@stbi__mall - -; 521 : return NULL; - - 00050 33 c0 xor eax, eax - 00052 eb 24 jmp SHORT $LN1@stbi__mall -$LN2@stbi__mall: - -; 522 : return stbi__malloc(a * b * c + add); - - 00054 8b 85 e0 00 00 - 00 mov eax, DWORD PTR a$[rbp] - 0005a 0f af 85 e8 00 - 00 00 imul eax, DWORD PTR b$[rbp] - 00061 0f af 85 f0 00 - 00 00 imul eax, DWORD PTR c$[rbp] - 00068 03 85 f8 00 00 - 00 add eax, DWORD PTR add$[rbp] - 0006e 48 98 cdqe - 00070 48 8b c8 mov rcx, rax - 00073 e8 00 00 00 00 call stbi__malloc -$LN1@stbi__mall: - -; 523 : } - - 00078 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 0007f 5f pop rdi - 00080 5d pop rbp - 00081 c3 ret 0 -stbi__malloc_mad3 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__malloc_mad2 -_TEXT SEGMENT -a$ = 224 -b$ = 232 -add$ = 240 -stbi__malloc_mad2 PROC ; COMDAT - -; 511 : { - - 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 00005 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00009 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 0000d 55 push rbp - 0000e 57 push rdi - 0000f 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 00016 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00022 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00027 90 npad 1 - -; 512 : if (!stbi__mad2sizes_valid(a, b, add)) - - 00028 44 8b 85 f0 00 - 00 00 mov r8d, DWORD PTR add$[rbp] - 0002f 8b 95 e8 00 00 - 00 mov edx, DWORD PTR b$[rbp] - 00035 8b 8d e0 00 00 - 00 mov ecx, DWORD PTR a$[rbp] - 0003b e8 00 00 00 00 call stbi__mad2sizes_valid - 00040 85 c0 test eax, eax - 00042 75 04 jne SHORT $LN2@stbi__mall - -; 513 : return NULL; - - 00044 33 c0 xor eax, eax - 00046 eb 1d jmp SHORT $LN1@stbi__mall -$LN2@stbi__mall: - -; 514 : return stbi__malloc(a * b + add); - - 00048 8b 85 e0 00 00 - 00 mov eax, DWORD PTR a$[rbp] - 0004e 0f af 85 e8 00 - 00 00 imul eax, DWORD PTR b$[rbp] - 00055 03 85 f0 00 00 - 00 add eax, DWORD PTR add$[rbp] - 0005b 48 98 cdqe - 0005d 48 8b c8 mov rcx, rax - 00060 e8 00 00 00 00 call stbi__malloc -$LN1@stbi__mall: - -; 515 : } - - 00065 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 0006c 5f pop rdi - 0006d 5d pop rbp - 0006e c3 ret 0 -stbi__malloc_mad2 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__mad4sizes_valid -_TEXT SEGMENT -tv86 = 192 -a$ = 240 -b$ = 248 -c$ = 256 -d$ = 264 -add$ = 272 -stbi__mad4sizes_valid PROC ; COMDAT - -; 501 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx - 0000e 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 00012 55 push rbp - 00013 57 push rdi - 00014 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 0001b 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00020 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00027 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002c 90 npad 1 - -; 502 : return stbi__mul2sizes_valid(a, b) && stbi__mul2sizes_valid(a * b, c) && - - 0002d 8b 95 f8 00 00 - 00 mov edx, DWORD PTR b$[rbp] - 00033 8b 8d f0 00 00 - 00 mov ecx, DWORD PTR a$[rbp] - 00039 e8 00 00 00 00 call stbi__mul2sizes_valid - 0003e 85 c0 test eax, eax - 00040 74 7b je SHORT $LN3@stbi__mad4 - 00042 8b 85 f0 00 00 - 00 mov eax, DWORD PTR a$[rbp] - 00048 0f af 85 f8 00 - 00 00 imul eax, DWORD PTR b$[rbp] - 0004f 8b 95 00 01 00 - 00 mov edx, DWORD PTR c$[rbp] - 00055 8b c8 mov ecx, eax - 00057 e8 00 00 00 00 call stbi__mul2sizes_valid - 0005c 85 c0 test eax, eax - 0005e 74 5d je SHORT $LN3@stbi__mad4 - 00060 8b 85 f0 00 00 - 00 mov eax, DWORD PTR a$[rbp] - 00066 0f af 85 f8 00 - 00 00 imul eax, DWORD PTR b$[rbp] - 0006d 0f af 85 00 01 - 00 00 imul eax, DWORD PTR c$[rbp] - 00074 8b 95 08 01 00 - 00 mov edx, DWORD PTR d$[rbp] - 0007a 8b c8 mov ecx, eax - 0007c e8 00 00 00 00 call stbi__mul2sizes_valid - 00081 85 c0 test eax, eax - 00083 74 38 je SHORT $LN3@stbi__mad4 - 00085 8b 85 f0 00 00 - 00 mov eax, DWORD PTR a$[rbp] - 0008b 0f af 85 f8 00 - 00 00 imul eax, DWORD PTR b$[rbp] - 00092 0f af 85 00 01 - 00 00 imul eax, DWORD PTR c$[rbp] - 00099 0f af 85 08 01 - 00 00 imul eax, DWORD PTR d$[rbp] - 000a0 8b 95 10 01 00 - 00 mov edx, DWORD PTR add$[rbp] - 000a6 8b c8 mov ecx, eax - 000a8 e8 00 00 00 00 call stbi__addsizes_valid - 000ad 85 c0 test eax, eax - 000af 74 0c je SHORT $LN3@stbi__mad4 - 000b1 c7 85 c0 00 00 - 00 01 00 00 00 mov DWORD PTR tv86[rbp], 1 - 000bb eb 0a jmp SHORT $LN4@stbi__mad4 -$LN3@stbi__mad4: - 000bd c7 85 c0 00 00 - 00 00 00 00 00 mov DWORD PTR tv86[rbp], 0 -$LN4@stbi__mad4: - 000c7 8b 85 c0 00 00 - 00 mov eax, DWORD PTR tv86[rbp] - -; 503 : stbi__mul2sizes_valid(a * b * c, d) && stbi__addsizes_valid(a * b * c * d, add); -; 504 : } - - 000cd 48 8d a5 d8 00 - 00 00 lea rsp, QWORD PTR [rbp+216] - 000d4 5f pop rdi - 000d5 5d pop rbp - 000d6 c3 ret 0 -stbi__mad4sizes_valid ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__mad3sizes_valid -_TEXT SEGMENT -tv79 = 192 -a$ = 240 -b$ = 248 -c$ = 256 -add$ = 264 -stbi__mad3sizes_valid PROC ; COMDAT - -; 493 : { - - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx - 0000e 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 00012 55 push rbp - 00013 57 push rdi - 00014 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 0001b 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00020 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00027 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002c 90 npad 1 - -; 494 : return stbi__mul2sizes_valid(a, b) && stbi__mul2sizes_valid(a * b, c) && - - 0002d 8b 95 f8 00 00 - 00 mov edx, DWORD PTR b$[rbp] - 00033 8b 8d f0 00 00 - 00 mov ecx, DWORD PTR a$[rbp] - 00039 e8 00 00 00 00 call stbi__mul2sizes_valid - 0003e 85 c0 test eax, eax - 00040 74 4f je SHORT $LN3@stbi__mad3 - 00042 8b 85 f0 00 00 - 00 mov eax, DWORD PTR a$[rbp] - 00048 0f af 85 f8 00 - 00 00 imul eax, DWORD PTR b$[rbp] - 0004f 8b 95 00 01 00 - 00 mov edx, DWORD PTR c$[rbp] - 00055 8b c8 mov ecx, eax - 00057 e8 00 00 00 00 call stbi__mul2sizes_valid - 0005c 85 c0 test eax, eax - 0005e 74 31 je SHORT $LN3@stbi__mad3 - 00060 8b 85 f0 00 00 - 00 mov eax, DWORD PTR a$[rbp] - 00066 0f af 85 f8 00 - 00 00 imul eax, DWORD PTR b$[rbp] - 0006d 0f af 85 00 01 - 00 00 imul eax, DWORD PTR c$[rbp] - 00074 8b 95 08 01 00 - 00 mov edx, DWORD PTR add$[rbp] - 0007a 8b c8 mov ecx, eax - 0007c e8 00 00 00 00 call stbi__addsizes_valid - 00081 85 c0 test eax, eax - 00083 74 0c je SHORT $LN3@stbi__mad3 - 00085 c7 85 c0 00 00 - 00 01 00 00 00 mov DWORD PTR tv79[rbp], 1 - 0008f eb 0a jmp SHORT $LN4@stbi__mad3 -$LN3@stbi__mad3: - 00091 c7 85 c0 00 00 - 00 00 00 00 00 mov DWORD PTR tv79[rbp], 0 -$LN4@stbi__mad3: - 0009b 8b 85 c0 00 00 - 00 mov eax, DWORD PTR tv79[rbp] - -; 495 : stbi__addsizes_valid(a * b * c, add); -; 496 : } - - 000a1 48 8d a5 d8 00 - 00 00 lea rsp, QWORD PTR [rbp+216] - 000a8 5f pop rdi - 000a9 5d pop rbp - 000aa c3 ret 0 -stbi__mad3sizes_valid ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__mad2sizes_valid -_TEXT SEGMENT -tv73 = 192 -a$ = 240 -b$ = 248 -add$ = 256 -stbi__mad2sizes_valid PROC ; COMDAT - -; 486 : { - - 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 00005 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00009 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 0000d 55 push rbp - 0000e 57 push rdi - 0000f 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 00016 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00022 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00027 90 npad 1 - -; 487 : return stbi__mul2sizes_valid(a, b) && stbi__addsizes_valid(a * b, add); - - 00028 8b 95 f8 00 00 - 00 mov edx, DWORD PTR b$[rbp] - 0002e 8b 8d f0 00 00 - 00 mov ecx, DWORD PTR a$[rbp] - 00034 e8 00 00 00 00 call stbi__mul2sizes_valid - 00039 85 c0 test eax, eax - 0003b 74 2a je SHORT $LN3@stbi__mad2 - 0003d 8b 85 f0 00 00 - 00 mov eax, DWORD PTR a$[rbp] - 00043 0f af 85 f8 00 - 00 00 imul eax, DWORD PTR b$[rbp] - 0004a 8b 95 00 01 00 - 00 mov edx, DWORD PTR add$[rbp] - 00050 8b c8 mov ecx, eax - 00052 e8 00 00 00 00 call stbi__addsizes_valid - 00057 85 c0 test eax, eax - 00059 74 0c je SHORT $LN3@stbi__mad2 - 0005b c7 85 c0 00 00 - 00 01 00 00 00 mov DWORD PTR tv73[rbp], 1 - 00065 eb 0a jmp SHORT $LN4@stbi__mad2 -$LN3@stbi__mad2: - 00067 c7 85 c0 00 00 - 00 00 00 00 00 mov DWORD PTR tv73[rbp], 0 -$LN4@stbi__mad2: - 00071 8b 85 c0 00 00 - 00 mov eax, DWORD PTR tv73[rbp] - -; 488 : } - - 00077 48 8d a5 d8 00 - 00 00 lea rsp, QWORD PTR [rbp+216] - 0007e 5f pop rdi - 0007f 5d pop rbp - 00080 c3 ret 0 -stbi__mad2sizes_valid ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__mul2sizes_valid -_TEXT SEGMENT -tv69 = 192 -a$ = 240 -b$ = 248 -stbi__mul2sizes_valid PROC ; COMDAT - -; 473 : { - - 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00004 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 00008 55 push rbp - 00009 57 push rdi - 0000a 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 00011 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00016 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001d e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00022 90 npad 1 - -; 474 : if (a < 0 || b < 0) - - 00023 83 bd f0 00 00 - 00 00 cmp DWORD PTR a$[rbp], 0 - 0002a 7c 09 jl SHORT $LN3@stbi__mul2 - 0002c 83 bd f8 00 00 - 00 00 cmp DWORD PTR b$[rbp], 0 - 00033 7d 04 jge SHORT $LN2@stbi__mul2 -$LN3@stbi__mul2: - -; 475 : return 0; - - 00035 33 c0 xor eax, eax - 00037 eb 40 jmp SHORT $LN1@stbi__mul2 -$LN2@stbi__mul2: - -; 476 : if (b == 0) - - 00039 83 bd f8 00 00 - 00 00 cmp DWORD PTR b$[rbp], 0 - 00040 75 07 jne SHORT $LN4@stbi__mul2 - -; 477 : return 1; // mul-by-0 is always safe - - 00042 b8 01 00 00 00 mov eax, 1 - 00047 eb 30 jmp SHORT $LN1@stbi__mul2 -$LN4@stbi__mul2: - -; 478 : // portable way to check for no overflows in a*b -; 479 : return a <= INT_MAX / b; - - 00049 b8 ff ff ff 7f mov eax, 2147483647 ; 7fffffffH - 0004e 99 cdq - 0004f f7 bd f8 00 00 - 00 idiv DWORD PTR b$[rbp] - 00055 39 85 f0 00 00 - 00 cmp DWORD PTR a$[rbp], eax - 0005b 7f 0c jg SHORT $LN6@stbi__mul2 - 0005d c7 85 c0 00 00 - 00 01 00 00 00 mov DWORD PTR tv69[rbp], 1 - 00067 eb 0a jmp SHORT $LN7@stbi__mul2 -$LN6@stbi__mul2: - 00069 c7 85 c0 00 00 - 00 00 00 00 00 mov DWORD PTR tv69[rbp], 0 -$LN7@stbi__mul2: - 00073 8b 85 c0 00 00 - 00 mov eax, DWORD PTR tv69[rbp] -$LN1@stbi__mul2: - -; 480 : } - - 00079 48 8d a5 d8 00 - 00 00 lea rsp, QWORD PTR [rbp+216] - 00080 5f pop rdi - 00081 5d pop rbp - 00082 c3 ret 0 -stbi__mul2sizes_valid ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__addsizes_valid -_TEXT SEGMENT -tv67 = 192 -a$ = 240 -b$ = 248 -stbi__addsizes_valid PROC ; COMDAT - -; 460 : { - - 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00004 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 00008 55 push rbp - 00009 57 push rdi - 0000a 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 00011 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00016 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001d e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00022 90 npad 1 - -; 461 : if (b < 0) - - 00023 83 bd f8 00 00 - 00 00 cmp DWORD PTR b$[rbp], 0 - 0002a 7d 04 jge SHORT $LN2@stbi__adds - -; 462 : return 0; - - 0002c 33 c0 xor eax, eax - 0002e eb 2f jmp SHORT $LN1@stbi__adds -$LN2@stbi__adds: - -; 463 : // now 0 <= b <= INT_MAX, hence also -; 464 : // 0 <= INT_MAX - b <= INTMAX. -; 465 : // And "a + b <= INT_MAX" (which might overflow) is the -; 466 : // same as a <= INT_MAX - b (no overflow) -; 467 : return a <= INT_MAX - b; - - 00030 b8 ff ff ff 7f mov eax, 2147483647 ; 7fffffffH - 00035 2b 85 f8 00 00 - 00 sub eax, DWORD PTR b$[rbp] - 0003b 39 85 f0 00 00 - 00 cmp DWORD PTR a$[rbp], eax - 00041 7f 0c jg SHORT $LN4@stbi__adds - 00043 c7 85 c0 00 00 - 00 01 00 00 00 mov DWORD PTR tv67[rbp], 1 - 0004d eb 0a jmp SHORT $LN5@stbi__adds -$LN4@stbi__adds: - 0004f c7 85 c0 00 00 - 00 00 00 00 00 mov DWORD PTR tv67[rbp], 0 -$LN5@stbi__adds: - 00059 8b 85 c0 00 00 - 00 mov eax, DWORD PTR tv67[rbp] -$LN1@stbi__adds: - -; 468 : } - - 0005f 48 8d a5 d8 00 - 00 00 lea rsp, QWORD PTR [rbp+216] - 00066 5f pop rdi - 00067 5d pop rbp - 00068 c3 ret 0 -stbi__addsizes_valid ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__malloc -_TEXT SEGMENT -size$ = 224 -stbi__malloc PROC ; COMDAT - -; 443 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 444 : return STBI_MALLOC(size); - - 00020 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR size$[rbp] - 00027 ff 15 00 00 00 - 00 call QWORD PTR __imp_malloc - -; 445 : } - - 0002d 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00034 5f pop rdi - 00035 5d pop rbp - 00036 c3 ret 0 -stbi__malloc ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__err -_TEXT SEGMENT -str$ = 224 -stbi__err PROC ; COMDAT - -; 436 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 437 : stbi__g_failure_reason = str; - - 00020 b8 00 00 00 00 mov eax, OFFSET FLAT:stbi__g_failure_reason - 00025 8b c0 mov eax, eax - 00027 8b 0d 00 00 00 - 00 mov ecx, DWORD PTR _tls_index - 0002d 65 48 8b 14 25 - 58 00 00 00 mov rdx, QWORD PTR gs:88 - 00036 48 8b 0c ca mov rcx, QWORD PTR [rdx+rcx*8] - 0003a 48 8b 95 e0 00 - 00 00 mov rdx, QWORD PTR str$[rbp] - 00041 48 89 14 08 mov QWORD PTR [rax+rcx], rdx - -; 438 : return 0; - - 00045 33 c0 xor eax, eax - -; 439 : } - - 00047 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 0004e 5f pop rdi - 0004f 5d pop rbp - 00050 c3 ret 0 -stbi__err ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__pnm_is16 -_TEXT SEGMENT -s$ = 224 -stbi__pnm_is16 PROC ; COMDAT - -; 8101 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 8102 : if (stbi__pnm_info(s, NULL, NULL, NULL) == 16) - - 00020 45 33 c9 xor r9d, r9d - 00023 45 33 c0 xor r8d, r8d - 00026 33 d2 xor edx, edx - 00028 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0002f e8 00 00 00 00 call stbi__pnm_info - 00034 83 f8 10 cmp eax, 16 - 00037 75 07 jne SHORT $LN2@stbi__pnm_ - -; 8103 : return 1; - - 00039 b8 01 00 00 00 mov eax, 1 - 0003e eb 02 jmp SHORT $LN1@stbi__pnm_ -$LN2@stbi__pnm_: - -; 8104 : return 0; - - 00040 33 c0 xor eax, eax -$LN1@stbi__pnm_: - -; 8105 : } - - 00042 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00049 5f pop rdi - 0004a 5d pop rbp - 0004b c3 ret 0 -stbi__pnm_is16 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__pnm_info -_TEXT SEGMENT -maxv$ = 4 -dummy$ = 36 -c$ = 68 -p$ = 100 -t$ = 132 -tv81 = 340 -__$ArrayPad$ = 344 -s$ = 384 -x$ = 392 -y$ = 400 -comp$ = 408 -stbi__pnm_info PROC ; COMDAT - -; 8054 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 88 01 - 00 00 sub rsp, 392 ; 00000188H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 00027 b9 2a 00 00 00 mov ecx, 42 ; 0000002aH - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 a8 - 01 00 00 mov rcx, QWORD PTR [rsp+424] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 58 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 8055 : int maxv, dummy; -; 8056 : char c, p, t; -; 8057 : -; 8058 : if (!x) - - 00059 48 83 bd 88 01 - 00 00 00 cmp QWORD PTR x$[rbp], 0 - 00061 75 0b jne SHORT $LN2@stbi__pnm_ - -; 8059 : x = &dummy; - - 00063 48 8d 45 24 lea rax, QWORD PTR dummy$[rbp] - 00067 48 89 85 88 01 - 00 00 mov QWORD PTR x$[rbp], rax -$LN2@stbi__pnm_: - -; 8060 : if (!y) - - 0006e 48 83 bd 90 01 - 00 00 00 cmp QWORD PTR y$[rbp], 0 - 00076 75 0b jne SHORT $LN3@stbi__pnm_ - -; 8061 : y = &dummy; - - 00078 48 8d 45 24 lea rax, QWORD PTR dummy$[rbp] - 0007c 48 89 85 90 01 - 00 00 mov QWORD PTR y$[rbp], rax -$LN3@stbi__pnm_: - -; 8062 : if (!comp) - - 00083 48 83 bd 98 01 - 00 00 00 cmp QWORD PTR comp$[rbp], 0 - 0008b 75 0b jne SHORT $LN4@stbi__pnm_ - -; 8063 : comp = &dummy; - - 0008d 48 8d 45 24 lea rax, QWORD PTR dummy$[rbp] - 00091 48 89 85 98 01 - 00 00 mov QWORD PTR comp$[rbp], rax -$LN4@stbi__pnm_: - -; 8064 : -; 8065 : stbi__rewind(s); - - 00098 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0009f e8 00 00 00 00 call stbi__rewind - 000a4 90 npad 1 - -; 8066 : -; 8067 : // Get identifier -; 8068 : p = (char)stbi__get8(s); - - 000a5 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000ac e8 00 00 00 00 call stbi__get8 - 000b1 88 45 64 mov BYTE PTR p$[rbp], al - -; 8069 : t = (char)stbi__get8(s); - - 000b4 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000bb e8 00 00 00 00 call stbi__get8 - 000c0 88 85 84 00 00 - 00 mov BYTE PTR t$[rbp], al - -; 8070 : if (p != 'P' || (t != '5' && t != '6')) { - - 000c6 0f be 45 64 movsx eax, BYTE PTR p$[rbp] - 000ca 83 f8 50 cmp eax, 80 ; 00000050H - 000cd 75 18 jne SHORT $LN6@stbi__pnm_ - 000cf 0f be 85 84 00 - 00 00 movsx eax, BYTE PTR t$[rbp] - 000d6 83 f8 35 cmp eax, 53 ; 00000035H - 000d9 74 20 je SHORT $LN5@stbi__pnm_ - 000db 0f be 85 84 00 - 00 00 movsx eax, BYTE PTR t$[rbp] - 000e2 83 f8 36 cmp eax, 54 ; 00000036H - 000e5 74 14 je SHORT $LN5@stbi__pnm_ -$LN6@stbi__pnm_: - -; 8071 : stbi__rewind(s); - - 000e7 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000ee e8 00 00 00 00 call stbi__rewind - 000f3 90 npad 1 - -; 8072 : return 0; - - 000f4 33 c0 xor eax, eax - 000f6 e9 1f 01 00 00 jmp $LN1@stbi__pnm_ -$LN5@stbi__pnm_: - -; 8073 : } -; 8074 : -; 8075 : *comp = (t == '6') ? 3 : 1; // '5' is 1-component .pgm; '6' is 3-component .ppm - - 000fb 0f be 85 84 00 - 00 00 movsx eax, BYTE PTR t$[rbp] - 00102 83 f8 36 cmp eax, 54 ; 00000036H - 00105 75 0c jne SHORT $LN14@stbi__pnm_ - 00107 c7 85 54 01 00 - 00 03 00 00 00 mov DWORD PTR tv81[rbp], 3 - 00111 eb 0a jmp SHORT $LN15@stbi__pnm_ -$LN14@stbi__pnm_: - 00113 c7 85 54 01 00 - 00 01 00 00 00 mov DWORD PTR tv81[rbp], 1 -$LN15@stbi__pnm_: - 0011d 48 8b 85 98 01 - 00 00 mov rax, QWORD PTR comp$[rbp] - 00124 8b 8d 54 01 00 - 00 mov ecx, DWORD PTR tv81[rbp] - 0012a 89 08 mov DWORD PTR [rax], ecx - -; 8076 : -; 8077 : c = (char)stbi__get8(s); - - 0012c 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00133 e8 00 00 00 00 call stbi__get8 - 00138 88 45 44 mov BYTE PTR c$[rbp], al - -; 8078 : stbi__pnm_skip_whitespace(s, &c); - - 0013b 48 8d 55 44 lea rdx, QWORD PTR c$[rbp] - 0013f 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00146 e8 00 00 00 00 call stbi__pnm_skip_whitespace - 0014b 90 npad 1 - -; 8079 : -; 8080 : *x = stbi__pnm_getinteger(s, &c); // read width - - 0014c 48 8d 55 44 lea rdx, QWORD PTR c$[rbp] - 00150 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00157 e8 00 00 00 00 call stbi__pnm_getinteger - 0015c 48 8b 8d 88 01 - 00 00 mov rcx, QWORD PTR x$[rbp] - 00163 89 01 mov DWORD PTR [rcx], eax - -; 8081 : if (*x == 0) - - 00165 48 8b 85 88 01 - 00 00 mov rax, QWORD PTR x$[rbp] - 0016c 83 38 00 cmp DWORD PTR [rax], 0 - 0016f 75 11 jne SHORT $LN7@stbi__pnm_ - -; 8082 : return stbi__err("invalid width", "PPM image header had zero or overflowing width"); - - 00171 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0O@MKGNGALN@invalid?5width@ - 00178 e8 00 00 00 00 call stbi__err - 0017d e9 98 00 00 00 jmp $LN1@stbi__pnm_ -$LN7@stbi__pnm_: - -; 8083 : stbi__pnm_skip_whitespace(s, &c); - - 00182 48 8d 55 44 lea rdx, QWORD PTR c$[rbp] - 00186 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0018d e8 00 00 00 00 call stbi__pnm_skip_whitespace - 00192 90 npad 1 - -; 8084 : -; 8085 : *y = stbi__pnm_getinteger(s, &c); // read height - - 00193 48 8d 55 44 lea rdx, QWORD PTR c$[rbp] - 00197 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0019e e8 00 00 00 00 call stbi__pnm_getinteger - 001a3 48 8b 8d 90 01 - 00 00 mov rcx, QWORD PTR y$[rbp] - 001aa 89 01 mov DWORD PTR [rcx], eax - -; 8086 : if (*y == 0) - - 001ac 48 8b 85 90 01 - 00 00 mov rax, QWORD PTR y$[rbp] - 001b3 83 38 00 cmp DWORD PTR [rax], 0 - 001b6 75 0e jne SHORT $LN8@stbi__pnm_ - -; 8087 : return stbi__err("invalid width", "PPM image header had zero or overflowing width"); - - 001b8 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0O@MKGNGALN@invalid?5width@ - 001bf e8 00 00 00 00 call stbi__err - 001c4 eb 54 jmp SHORT $LN1@stbi__pnm_ -$LN8@stbi__pnm_: - -; 8088 : stbi__pnm_skip_whitespace(s, &c); - - 001c6 48 8d 55 44 lea rdx, QWORD PTR c$[rbp] - 001ca 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001d1 e8 00 00 00 00 call stbi__pnm_skip_whitespace - 001d6 90 npad 1 - -; 8089 : -; 8090 : maxv = stbi__pnm_getinteger(s, &c); // read max value - - 001d7 48 8d 55 44 lea rdx, QWORD PTR c$[rbp] - 001db 48 8b 8d 80 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001e2 e8 00 00 00 00 call stbi__pnm_getinteger - 001e7 89 45 04 mov DWORD PTR maxv$[rbp], eax - -; 8091 : if (maxv > 65535) - - 001ea 81 7d 04 ff ff - 00 00 cmp DWORD PTR maxv$[rbp], 65535 ; 0000ffffH - 001f1 7e 10 jle SHORT $LN9@stbi__pnm_ - -; 8092 : return stbi__err("max value > 65535", - - 001f3 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BC@CNFMOKHC@max?5value?5?$DO?565535@ - 001fa e8 00 00 00 00 call stbi__err - 001ff eb 19 jmp SHORT $LN1@stbi__pnm_ - 00201 eb 17 jmp SHORT $LN10@stbi__pnm_ -$LN9@stbi__pnm_: - -; 8093 : "PPM image supports only 8-bit and 16-bit images"); -; 8094 : else if (maxv > 255) - - 00203 81 7d 04 ff 00 - 00 00 cmp DWORD PTR maxv$[rbp], 255 ; 000000ffH - 0020a 7e 09 jle SHORT $LN11@stbi__pnm_ - -; 8095 : return 16; - - 0020c b8 10 00 00 00 mov eax, 16 - 00211 eb 07 jmp SHORT $LN1@stbi__pnm_ - 00213 eb 05 jmp SHORT $LN12@stbi__pnm_ -$LN11@stbi__pnm_: - -; 8096 : else -; 8097 : return 8; - - 00215 b8 08 00 00 00 mov eax, 8 -$LN12@stbi__pnm_: -$LN10@stbi__pnm_: -$LN1@stbi__pnm_: - -; 8098 : } - - 0021a 48 8b f8 mov rdi, rax - 0021d 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 00221 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__pnm_info$rtcFrameData - 00228 e8 00 00 00 00 call _RTC_CheckStackVars - 0022d 48 8b c7 mov rax, rdi - 00230 48 8b 8d 58 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 00237 48 33 cd xor rcx, rbp - 0023a e8 00 00 00 00 call __security_check_cookie - 0023f 48 8d a5 68 01 - 00 00 lea rsp, QWORD PTR [rbp+360] - 00246 5f pop rdi - 00247 5d pop rbp - 00248 c3 ret 0 -stbi__pnm_info ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__pnm_load -_TEXT SEGMENT -out$ = 8 -tv160 = 212 -tv80 = 216 -tv86 = 216 -tv138 = 216 -tv154 = 216 -tv172 = 216 -s$ = 256 -x$ = 264 -y$ = 272 -comp$ = 280 -req_comp$ = 288 -ri$ = 296 -stbi__pnm_load PROC ; COMDAT - -; 7969 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 18 01 - 00 00 sub rsp, 280 ; 00000118H - 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 7970 : stbi_uc *out; -; 7971 : STBI_NOTUSED(ri); -; 7972 : -; 7973 : ri->bits_per_channel = - - 0002f 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00036 48 83 c0 08 add rax, 8 - 0003a 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00041 48 83 c1 04 add rcx, 4 - 00045 48 8b 95 00 01 - 00 00 mov rdx, QWORD PTR s$[rbp] - 0004c 4c 8b c8 mov r9, rax - 0004f 4c 8b c1 mov r8, rcx - 00052 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00059 e8 00 00 00 00 call stbi__pnm_info - 0005e 48 8b 8d 28 01 - 00 00 mov rcx, QWORD PTR ri$[rbp] - 00065 89 01 mov DWORD PTR [rcx], eax - -; 7974 : stbi__pnm_info(s, (int *)&s->img_x, (int *)&s->img_y, (int *)&s->img_n); -; 7975 : if (ri->bits_per_channel == 0) - - 00067 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR ri$[rbp] - 0006e 83 38 00 cmp DWORD PTR [rax], 0 - 00071 75 07 jne SHORT $LN2@stbi__pnm_ - -; 7976 : return 0; - - 00073 33 c0 xor eax, eax - 00075 e9 06 03 00 00 jmp $LN1@stbi__pnm_ -$LN2@stbi__pnm_: - -; 7977 : -; 7978 : if (s->img_y > STBI_MAX_DIMENSIONS) - - 0007a 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00081 81 78 04 00 00 - 00 01 cmp DWORD PTR [rax+4], 16777216 ; 01000000H - 00088 76 34 jbe SHORT $LN3@stbi__pnm_ - -; 7979 : return stbi__errpuc("too large", "Very large image (corrupt?)"); - - 0008a 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 00091 e8 00 00 00 00 call stbi__err - 00096 85 c0 test eax, eax - 00098 74 0d je SHORT $LN14@stbi__pnm_ - 0009a 48 c7 85 d8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv80[rbp], 0 - 000a5 eb 0b jmp SHORT $LN15@stbi__pnm_ -$LN14@stbi__pnm_: - 000a7 48 c7 85 d8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv80[rbp], 0 -$LN15@stbi__pnm_: - 000b2 48 8b 85 d8 00 - 00 00 mov rax, QWORD PTR tv80[rbp] - 000b9 e9 c2 02 00 00 jmp $LN1@stbi__pnm_ -$LN3@stbi__pnm_: - -; 7980 : if (s->img_x > STBI_MAX_DIMENSIONS) - - 000be 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 000c5 81 38 00 00 00 - 01 cmp DWORD PTR [rax], 16777216 ; 01000000H - 000cb 76 34 jbe SHORT $LN4@stbi__pnm_ - -; 7981 : return stbi__errpuc("too large", "Very large image (corrupt?)"); - - 000cd 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 000d4 e8 00 00 00 00 call stbi__err - 000d9 85 c0 test eax, eax - 000db 74 0d je SHORT $LN16@stbi__pnm_ - 000dd 48 c7 85 d8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv86[rbp], 0 - 000e8 eb 0b jmp SHORT $LN17@stbi__pnm_ -$LN16@stbi__pnm_: - 000ea 48 c7 85 d8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv86[rbp], 0 -$LN17@stbi__pnm_: - 000f5 48 8b 85 d8 00 - 00 00 mov rax, QWORD PTR tv86[rbp] - 000fc e9 7f 02 00 00 jmp $LN1@stbi__pnm_ -$LN4@stbi__pnm_: - -; 7982 : -; 7983 : *x = s->img_x; - - 00101 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR x$[rbp] - 00108 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0010f 8b 09 mov ecx, DWORD PTR [rcx] - 00111 89 08 mov DWORD PTR [rax], ecx - -; 7984 : *y = s->img_y; - - 00113 48 8b 85 10 01 - 00 00 mov rax, QWORD PTR y$[rbp] - 0011a 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00121 8b 49 04 mov ecx, DWORD PTR [rcx+4] - 00124 89 08 mov DWORD PTR [rax], ecx - -; 7985 : if (comp) - - 00126 48 83 bd 18 01 - 00 00 00 cmp QWORD PTR comp$[rbp], 0 - 0012e 74 13 je SHORT $LN5@stbi__pnm_ - -; 7986 : *comp = s->img_n; - - 00130 48 8b 85 18 01 - 00 00 mov rax, QWORD PTR comp$[rbp] - 00137 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0013e 8b 49 08 mov ecx, DWORD PTR [rcx+8] - 00141 89 08 mov DWORD PTR [rax], ecx -$LN5@stbi__pnm_: - -; 7987 : -; 7988 : if (!stbi__mad4sizes_valid(s->img_n, s->img_x, s->img_y, ri->bits_per_channel / 8, 0)) - - 00143 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR ri$[rbp] - 0014a 8b 00 mov eax, DWORD PTR [rax] - 0014c 99 cdq - 0014d 83 e2 07 and edx, 7 - 00150 03 c2 add eax, edx - 00152 c1 f8 03 sar eax, 3 - 00155 c7 44 24 20 00 - 00 00 00 mov DWORD PTR [rsp+32], 0 - 0015d 44 8b c8 mov r9d, eax - 00160 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00167 44 8b 40 04 mov r8d, DWORD PTR [rax+4] - 0016b 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00172 8b 10 mov edx, DWORD PTR [rax] - 00174 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 0017b 8b 48 08 mov ecx, DWORD PTR [rax+8] - 0017e e8 00 00 00 00 call stbi__mad4sizes_valid - 00183 85 c0 test eax, eax - 00185 75 34 jne SHORT $LN6@stbi__pnm_ - -; 7989 : return stbi__errpuc("too large", "PNM too large"); - - 00187 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 0018e e8 00 00 00 00 call stbi__err - 00193 85 c0 test eax, eax - 00195 74 0d je SHORT $LN18@stbi__pnm_ - 00197 48 c7 85 d8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv138[rbp], 0 - 001a2 eb 0b jmp SHORT $LN19@stbi__pnm_ -$LN18@stbi__pnm_: - 001a4 48 c7 85 d8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv138[rbp], 0 -$LN19@stbi__pnm_: - 001af 48 8b 85 d8 00 - 00 00 mov rax, QWORD PTR tv138[rbp] - 001b6 e9 c5 01 00 00 jmp $LN1@stbi__pnm_ -$LN6@stbi__pnm_: - -; 7990 : -; 7991 : out = (stbi_uc *)stbi__malloc_mad4(s->img_n, s->img_x, s->img_y, ri->bits_per_channel / 8, - - 001bb 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR ri$[rbp] - 001c2 8b 00 mov eax, DWORD PTR [rax] - 001c4 99 cdq - 001c5 83 e2 07 and edx, 7 - 001c8 03 c2 add eax, edx - 001ca c1 f8 03 sar eax, 3 - 001cd c7 44 24 20 00 - 00 00 00 mov DWORD PTR [rsp+32], 0 - 001d5 44 8b c8 mov r9d, eax - 001d8 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 001df 44 8b 40 04 mov r8d, DWORD PTR [rax+4] - 001e3 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 001ea 8b 10 mov edx, DWORD PTR [rax] - 001ec 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 001f3 8b 48 08 mov ecx, DWORD PTR [rax+8] - 001f6 e8 00 00 00 00 call stbi__malloc_mad4 - 001fb 48 89 45 08 mov QWORD PTR out$[rbp], rax - -; 7992 : 0); -; 7993 : if (!out) - - 001ff 48 83 7d 08 00 cmp QWORD PTR out$[rbp], 0 - 00204 75 34 jne SHORT $LN7@stbi__pnm_ - -; 7994 : return stbi__errpuc("outofmem", "Out of memory"); - - 00206 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 0020d e8 00 00 00 00 call stbi__err - 00212 85 c0 test eax, eax - 00214 74 0d je SHORT $LN20@stbi__pnm_ - 00216 48 c7 85 d8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv154[rbp], 0 - 00221 eb 0b jmp SHORT $LN21@stbi__pnm_ -$LN20@stbi__pnm_: - 00223 48 c7 85 d8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv154[rbp], 0 -$LN21@stbi__pnm_: - 0022e 48 8b 85 d8 00 - 00 00 mov rax, QWORD PTR tv154[rbp] - 00235 e9 46 01 00 00 jmp $LN1@stbi__pnm_ -$LN7@stbi__pnm_: - -; 7995 : if (!stbi__getn(s, out, s->img_n * s->img_x * s->img_y * (ri->bits_per_channel / 8))) { - - 0023a 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00241 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00248 8b 40 08 mov eax, DWORD PTR [rax+8] - 0024b 0f af 01 imul eax, DWORD PTR [rcx] - 0024e 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00255 0f af 41 04 imul eax, DWORD PTR [rcx+4] - 00259 89 85 d4 00 00 - 00 mov DWORD PTR tv160[rbp], eax - 0025f 48 8b 8d 28 01 - 00 00 mov rcx, QWORD PTR ri$[rbp] - 00266 8b 01 mov eax, DWORD PTR [rcx] - 00268 99 cdq - 00269 83 e2 07 and edx, 7 - 0026c 03 c2 add eax, edx - 0026e c1 f8 03 sar eax, 3 - 00271 8b 8d d4 00 00 - 00 mov ecx, DWORD PTR tv160[rbp] - 00277 0f af c8 imul ecx, eax - 0027a 8b c1 mov eax, ecx - 0027c 44 8b c0 mov r8d, eax - 0027f 48 8b 55 08 mov rdx, QWORD PTR out$[rbp] - 00283 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0028a e8 00 00 00 00 call stbi__getn - 0028f 85 c0 test eax, eax - 00291 75 3f jne SHORT $LN8@stbi__pnm_ - -; 7996 : STBI_FREE(out); - - 00293 48 8b 4d 08 mov rcx, QWORD PTR out$[rbp] - 00297 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 0029d 90 npad 1 - -; 7997 : return stbi__errpuc("bad PNM", "PNM file truncated"); - - 0029e 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07IDKIDMGJ@bad?5PNM@ - 002a5 e8 00 00 00 00 call stbi__err - 002aa 85 c0 test eax, eax - 002ac 74 0d je SHORT $LN22@stbi__pnm_ - 002ae 48 c7 85 d8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv172[rbp], 0 - 002b9 eb 0b jmp SHORT $LN23@stbi__pnm_ -$LN22@stbi__pnm_: - 002bb 48 c7 85 d8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv172[rbp], 0 -$LN23@stbi__pnm_: - 002c6 48 8b 85 d8 00 - 00 00 mov rax, QWORD PTR tv172[rbp] - 002cd e9 ae 00 00 00 jmp $LN1@stbi__pnm_ -$LN8@stbi__pnm_: - -; 7998 : } -; 7999 : -; 8000 : if (req_comp && req_comp != s->img_n) { - - 002d2 83 bd 20 01 00 - 00 00 cmp DWORD PTR req_comp$[rbp], 0 - 002d9 0f 84 9d 00 00 - 00 je $LN9@stbi__pnm_ - 002df 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 002e6 8b 40 08 mov eax, DWORD PTR [rax+8] - 002e9 39 85 20 01 00 - 00 cmp DWORD PTR req_comp$[rbp], eax - 002ef 0f 84 87 00 00 - 00 je $LN9@stbi__pnm_ - -; 8001 : if (ri->bits_per_channel == 16) { - - 002f5 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR ri$[rbp] - 002fc 83 38 10 cmp DWORD PTR [rax], 16 - 002ff 75 38 jne SHORT $LN10@stbi__pnm_ - -; 8002 : out = (stbi_uc *)stbi__convert_format16((stbi__uint16 *)out, s->img_n, - - 00301 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00308 8b 40 04 mov eax, DWORD PTR [rax+4] - 0030b 89 44 24 20 mov DWORD PTR [rsp+32], eax - 0030f 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00316 44 8b 08 mov r9d, DWORD PTR [rax] - 00319 44 8b 85 20 01 - 00 00 mov r8d, DWORD PTR req_comp$[rbp] - 00320 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00327 8b 50 08 mov edx, DWORD PTR [rax+8] - 0032a 48 8b 4d 08 mov rcx, QWORD PTR out$[rbp] - 0032e e8 00 00 00 00 call stbi__convert_format16 - 00333 48 89 45 08 mov QWORD PTR out$[rbp], rax - -; 8003 : req_comp, s->img_x, s->img_y); -; 8004 : } else { - - 00337 eb 36 jmp SHORT $LN11@stbi__pnm_ -$LN10@stbi__pnm_: - -; 8005 : out = stbi__convert_format(out, s->img_n, req_comp, s->img_x, s->img_y); - - 00339 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00340 8b 40 04 mov eax, DWORD PTR [rax+4] - 00343 89 44 24 20 mov DWORD PTR [rsp+32], eax - 00347 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 0034e 44 8b 08 mov r9d, DWORD PTR [rax] - 00351 44 8b 85 20 01 - 00 00 mov r8d, DWORD PTR req_comp$[rbp] - 00358 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 0035f 8b 50 08 mov edx, DWORD PTR [rax+8] - 00362 48 8b 4d 08 mov rcx, QWORD PTR out$[rbp] - 00366 e8 00 00 00 00 call stbi__convert_format - 0036b 48 89 45 08 mov QWORD PTR out$[rbp], rax -$LN11@stbi__pnm_: - -; 8006 : } -; 8007 : if (out == NULL) - - 0036f 48 83 7d 08 00 cmp QWORD PTR out$[rbp], 0 - 00374 75 06 jne SHORT $LN12@stbi__pnm_ - -; 8008 : return out; // stbi__convert_format frees input on failure - - 00376 48 8b 45 08 mov rax, QWORD PTR out$[rbp] - 0037a eb 04 jmp SHORT $LN1@stbi__pnm_ -$LN12@stbi__pnm_: -$LN9@stbi__pnm_: - -; 8009 : } -; 8010 : return out; - - 0037c 48 8b 45 08 mov rax, QWORD PTR out$[rbp] -$LN1@stbi__pnm_: - -; 8011 : } - - 00380 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 00387 5f pop rdi - 00388 5d pop rbp - 00389 c3 ret 0 -stbi__pnm_load ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__pnm_test -_TEXT SEGMENT -p$ = 4 -t$ = 36 -s$ = 288 -stbi__pnm_test PROC ; COMDAT - -; 7956 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 28 01 - 00 00 sub rsp, 296 ; 00000128H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 7957 : char p, t; -; 7958 : p = (char)stbi__get8(s); - - 00020 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00027 e8 00 00 00 00 call stbi__get8 - 0002c 88 45 04 mov BYTE PTR p$[rbp], al - -; 7959 : t = (char)stbi__get8(s); - - 0002f 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00036 e8 00 00 00 00 call stbi__get8 - 0003b 88 45 24 mov BYTE PTR t$[rbp], al - -; 7960 : if (p != 'P' || (t != '5' && t != '6')) { - - 0003e 0f be 45 04 movsx eax, BYTE PTR p$[rbp] - 00042 83 f8 50 cmp eax, 80 ; 00000050H - 00045 75 12 jne SHORT $LN3@stbi__pnm_ - 00047 0f be 45 24 movsx eax, BYTE PTR t$[rbp] - 0004b 83 f8 35 cmp eax, 53 ; 00000035H - 0004e 74 1a je SHORT $LN2@stbi__pnm_ - 00050 0f be 45 24 movsx eax, BYTE PTR t$[rbp] - 00054 83 f8 36 cmp eax, 54 ; 00000036H - 00057 74 11 je SHORT $LN2@stbi__pnm_ -$LN3@stbi__pnm_: - -; 7961 : stbi__rewind(s); - - 00059 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00060 e8 00 00 00 00 call stbi__rewind - 00065 90 npad 1 - -; 7962 : return 0; - - 00066 33 c0 xor eax, eax - 00068 eb 05 jmp SHORT $LN1@stbi__pnm_ -$LN2@stbi__pnm_: - -; 7963 : } -; 7964 : return 1; - - 0006a b8 01 00 00 00 mov eax, 1 -$LN1@stbi__pnm_: - -; 7965 : } - - 0006f 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 00076 5f pop rdi - 00077 5d pop rbp - 00078 c3 ret 0 -stbi__pnm_test ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__gif_info -_TEXT SEGMENT -s$ = 224 -x$ = 232 -y$ = 240 -comp$ = 248 -stbi__gif_info PROC ; COMDAT - -; 7491 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 7492 : return stbi__gif_info_raw(s, x, y, comp); - - 0002f 4c 8b 8d f8 00 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00036 4c 8b 85 f0 00 - 00 00 mov r8, QWORD PTR y$[rbp] - 0003d 48 8b 95 e8 00 - 00 00 mov rdx, QWORD PTR x$[rbp] - 00044 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0004b e8 00 00 00 00 call stbi__gif_info_raw - -; 7493 : } - - 00050 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00057 5f pop rdi - 00058 5d pop rbp - 00059 c3 ret 0 -stbi__gif_info ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__load_gif_main -_TEXT SEGMENT -layers$4 = 4 -u$5 = 40 -out$6 = 72 -two_back$7 = 104 -g$8 = 144 -stride$9 = 35092 -out_size$10 = 35124 -delays_size$11 = 35156 -tmp$12 = 35192 -new_delays$13 = 35224 -tv137 = 36776 -tv211 = 36776 -__$ArrayPad$ = 36784 -s$ = 36832 -delays$ = 36840 -x$ = 36848 -y$ = 36856 -z$ = 36864 -comp$ = 36872 -req_comp$ = 36880 -stbi__load_gif_main PROC ; COMDAT - -; 7368 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 b8 f8 8f 00 00 mov eax, 36856 ; 00008ff8H - 0001b e8 00 00 00 00 call __chkstk - 00020 48 2b e0 sub rsp, rax - 00023 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00028 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 0002d b9 72 22 00 00 mov ecx, 8818 ; 00002272H - 00032 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00037 f3 ab rep stosd - 00039 48 8b 8c 24 18 - 90 00 00 mov rcx, QWORD PTR [rsp+36888] - 00041 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00048 48 33 c5 xor rax, rbp - 0004b 48 89 85 b0 8f - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 00052 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00059 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0005e 90 npad 1 - -; 7369 : if (stbi__gif_test(s)) { - - 0005f 48 8b 8d e0 8f - 00 00 mov rcx, QWORD PTR s$[rbp] - 00066 e8 00 00 00 00 call stbi__gif_test - 0006b 85 c0 test eax, eax - 0006d 0f 84 9a 03 00 - 00 je $LN5@stbi__load - -; 7370 : int layers = 0; - - 00073 c7 45 04 00 00 - 00 00 mov DWORD PTR layers$4[rbp], 0 - -; 7371 : stbi_uc *u = 0; - - 0007a 48 c7 45 28 00 - 00 00 00 mov QWORD PTR u$5[rbp], 0 - -; 7372 : stbi_uc *out = 0; - - 00082 48 c7 45 48 00 - 00 00 00 mov QWORD PTR out$6[rbp], 0 - -; 7373 : stbi_uc *two_back = 0; - - 0008a 48 c7 45 68 00 - 00 00 00 mov QWORD PTR two_back$7[rbp], 0 - -; 7374 : stbi__gif g; -; 7375 : int stride; -; 7376 : int out_size = 0; - - 00092 c7 85 34 89 00 - 00 00 00 00 00 mov DWORD PTR out_size$10[rbp], 0 - -; 7377 : int delays_size = 0; - - 0009c c7 85 54 89 00 - 00 00 00 00 00 mov DWORD PTR delays_size$11[rbp], 0 - -; 7378 : -; 7379 : STBI_NOTUSED(out_size); -; 7380 : STBI_NOTUSED(delays_size); -; 7381 : -; 7382 : memset(&g, 0, sizeof(g)); - - 000a6 41 b8 70 88 00 - 00 mov r8d, 34928 ; 00008870H - 000ac 33 d2 xor edx, edx - 000ae 48 8d 8d 90 00 - 00 00 lea rcx, QWORD PTR g$8[rbp] - 000b5 e8 00 00 00 00 call memset - 000ba 90 npad 1 - -; 7383 : if (delays) { - - 000bb 48 83 bd e8 8f - 00 00 00 cmp QWORD PTR delays$[rbp], 0 - 000c3 74 0e je SHORT $LN7@stbi__load - -; 7384 : *delays = 0; - - 000c5 48 8b 85 e8 8f - 00 00 mov rax, QWORD PTR delays$[rbp] - 000cc 48 c7 00 00 00 - 00 00 mov QWORD PTR [rax], 0 -$LN7@stbi__load: -$LN4@stbi__load: - -; 7385 : } -; 7386 : -; 7387 : do { -; 7388 : u = stbi__gif_load_next(s, &g, comp, req_comp, two_back); - - 000d3 48 8b 45 68 mov rax, QWORD PTR two_back$7[rbp] - 000d7 48 89 44 24 20 mov QWORD PTR [rsp+32], rax - 000dc 44 8b 8d 10 90 - 00 00 mov r9d, DWORD PTR req_comp$[rbp] - 000e3 4c 8b 85 08 90 - 00 00 mov r8, QWORD PTR comp$[rbp] - 000ea 48 8d 95 90 00 - 00 00 lea rdx, QWORD PTR g$8[rbp] - 000f1 48 8b 8d e0 8f - 00 00 mov rcx, QWORD PTR s$[rbp] - 000f8 e8 00 00 00 00 call stbi__gif_load_next - 000fd 48 89 45 28 mov QWORD PTR u$5[rbp], rax - -; 7389 : if (u == (stbi_uc *)s) - - 00101 48 8b 85 e0 8f - 00 00 mov rax, QWORD PTR s$[rbp] - 00108 48 39 45 28 cmp QWORD PTR u$5[rbp], rax - 0010c 75 08 jne SHORT $LN8@stbi__load - -; 7390 : u = 0; // end of animated gif marker - - 0010e 48 c7 45 28 00 - 00 00 00 mov QWORD PTR u$5[rbp], 0 -$LN8@stbi__load: - -; 7391 : -; 7392 : if (u) { - - 00116 48 83 7d 28 00 cmp QWORD PTR u$5[rbp], 0 - 0011b 0f 84 61 02 00 - 00 je $LN9@stbi__load - -; 7393 : *x = g.w; - - 00121 48 8b 85 f0 8f - 00 00 mov rax, QWORD PTR x$[rbp] - 00128 8b 8d 90 00 00 - 00 mov ecx, DWORD PTR g$8[rbp] - 0012e 89 08 mov DWORD PTR [rax], ecx - -; 7394 : *y = g.h; - - 00130 48 8b 85 f8 8f - 00 00 mov rax, QWORD PTR y$[rbp] - 00137 8b 8d 94 00 00 - 00 mov ecx, DWORD PTR g$8[rbp+4] - 0013d 89 08 mov DWORD PTR [rax], ecx - -; 7395 : ++layers; - - 0013f 8b 45 04 mov eax, DWORD PTR layers$4[rbp] - 00142 ff c0 inc eax - 00144 89 45 04 mov DWORD PTR layers$4[rbp], eax - -; 7396 : stride = g.w * g.h * 4; - - 00147 8b 85 90 00 00 - 00 mov eax, DWORD PTR g$8[rbp] - 0014d 0f af 85 94 00 - 00 00 imul eax, DWORD PTR g$8[rbp+4] - 00154 c1 e0 02 shl eax, 2 - 00157 89 85 14 89 00 - 00 mov DWORD PTR stride$9[rbp], eax - -; 7397 : -; 7398 : if (out) { - - 0015d 48 83 7d 48 00 cmp QWORD PTR out$6[rbp], 0 - 00162 0f 84 05 01 00 - 00 je $LN10@stbi__load - -; 7399 : void *tmp = (stbi_uc *)STBI_REALLOC_SIZED(out, out_size, - - 00168 8b 45 04 mov eax, DWORD PTR layers$4[rbp] - 0016b 0f af 85 14 89 - 00 00 imul eax, DWORD PTR stride$9[rbp] - 00172 48 98 cdqe - 00174 48 c7 c1 ff ff - ff ff mov rcx, -1 - 0017b 48 0f 40 c1 cmovo rax, rcx - 0017f 48 8b d0 mov rdx, rax - 00182 48 8b 4d 48 mov rcx, QWORD PTR out$6[rbp] - 00186 ff 15 00 00 00 - 00 call QWORD PTR __imp_realloc - 0018c 48 89 85 78 89 - 00 00 mov QWORD PTR tmp$12[rbp], rax - -; 7400 : layers * stride); -; 7401 : if (!tmp) - - 00193 48 83 bd 78 89 - 00 00 00 cmp QWORD PTR tmp$12[rbp], 0 - 0019b 75 1e jne SHORT $LN12@stbi__load - -; 7402 : return stbi__load_gif_main_outofmem(&g, out, - - 0019d 4c 8b 85 e8 8f - 00 00 mov r8, QWORD PTR delays$[rbp] - 001a4 48 8b 55 48 mov rdx, QWORD PTR out$6[rbp] - 001a8 48 8d 8d 90 00 - 00 00 lea rcx, QWORD PTR g$8[rbp] - 001af e8 00 00 00 00 call stbi__load_gif_main_outofmem - 001b4 e9 83 02 00 00 jmp $LN1@stbi__load - 001b9 eb 1b jmp SHORT $LN13@stbi__load -$LN12@stbi__load: - -; 7403 : delays); -; 7404 : else { -; 7405 : out = (stbi_uc *)tmp; - - 001bb 48 8b 85 78 89 - 00 00 mov rax, QWORD PTR tmp$12[rbp] - 001c2 48 89 45 48 mov QWORD PTR out$6[rbp], rax - -; 7406 : out_size = layers * stride; - - 001c6 8b 45 04 mov eax, DWORD PTR layers$4[rbp] - 001c9 0f af 85 14 89 - 00 00 imul eax, DWORD PTR stride$9[rbp] - 001d0 89 85 34 89 00 - 00 mov DWORD PTR out_size$10[rbp], eax -$LN13@stbi__load: - -; 7407 : } -; 7408 : -; 7409 : if (delays) { - - 001d6 48 83 bd e8 8f - 00 00 00 cmp QWORD PTR delays$[rbp], 0 - 001de 0f 84 84 00 00 - 00 je $LN14@stbi__load - -; 7410 : int *new_delays = (int *)STBI_REALLOC_SIZED( - - 001e4 48 63 45 04 movsxd rax, DWORD PTR layers$4[rbp] - 001e8 48 89 85 a8 8f - 00 00 mov QWORD PTR tv137[rbp], rax - 001ef b8 04 00 00 00 mov eax, 4 - 001f4 48 8b 8d a8 8f - 00 00 mov rcx, QWORD PTR tv137[rbp] - 001fb 48 f7 e1 mul rcx - 001fe 48 c7 c1 ff ff - ff ff mov rcx, -1 - 00205 48 0f 42 c1 cmovb rax, rcx - 00209 48 8b d0 mov rdx, rax - 0020c 48 8b 85 e8 8f - 00 00 mov rax, QWORD PTR delays$[rbp] - 00213 48 8b 08 mov rcx, QWORD PTR [rax] - 00216 ff 15 00 00 00 - 00 call QWORD PTR __imp_realloc - 0021c 48 89 85 98 89 - 00 00 mov QWORD PTR new_delays$13[rbp], rax - -; 7411 : *delays, delays_size, sizeof(int) * layers); -; 7412 : if (!new_delays) - - 00223 48 83 bd 98 89 - 00 00 00 cmp QWORD PTR new_delays$13[rbp], 0 - 0022b 75 1c jne SHORT $LN15@stbi__load - -; 7413 : return stbi__load_gif_main_outofmem(&g, out, - - 0022d 4c 8b 85 e8 8f - 00 00 mov r8, QWORD PTR delays$[rbp] - 00234 48 8b 55 48 mov rdx, QWORD PTR out$6[rbp] - 00238 48 8d 8d 90 00 - 00 00 lea rcx, QWORD PTR g$8[rbp] - 0023f e8 00 00 00 00 call stbi__load_gif_main_outofmem - 00244 e9 f3 01 00 00 jmp $LN1@stbi__load -$LN15@stbi__load: - -; 7414 : delays); -; 7415 : *delays = new_delays; - - 00249 48 8b 85 e8 8f - 00 00 mov rax, QWORD PTR delays$[rbp] - 00250 48 8b 8d 98 89 - 00 00 mov rcx, QWORD PTR new_delays$13[rbp] - 00257 48 89 08 mov QWORD PTR [rax], rcx - -; 7416 : delays_size = layers * sizeof(int); - - 0025a 48 63 45 04 movsxd rax, DWORD PTR layers$4[rbp] - 0025e 48 c1 e0 02 shl rax, 2 - 00262 89 85 54 89 00 - 00 mov DWORD PTR delays_size$11[rbp], eax -$LN14@stbi__load: - -; 7417 : } -; 7418 : } else { - - 00268 e9 a6 00 00 00 jmp $LN11@stbi__load -$LN10@stbi__load: - -; 7419 : out = (stbi_uc *)stbi__malloc(layers * stride); - - 0026d 8b 45 04 mov eax, DWORD PTR layers$4[rbp] - 00270 0f af 85 14 89 - 00 00 imul eax, DWORD PTR stride$9[rbp] - 00277 48 98 cdqe - 00279 48 8b c8 mov rcx, rax - 0027c e8 00 00 00 00 call stbi__malloc - 00281 48 89 45 48 mov QWORD PTR out$6[rbp], rax - -; 7420 : if (!out) - - 00285 48 83 7d 48 00 cmp QWORD PTR out$6[rbp], 0 - 0028a 75 1c jne SHORT $LN16@stbi__load - -; 7421 : return stbi__load_gif_main_outofmem(&g, out, - - 0028c 4c 8b 85 e8 8f - 00 00 mov r8, QWORD PTR delays$[rbp] - 00293 48 8b 55 48 mov rdx, QWORD PTR out$6[rbp] - 00297 48 8d 8d 90 00 - 00 00 lea rcx, QWORD PTR g$8[rbp] - 0029e e8 00 00 00 00 call stbi__load_gif_main_outofmem - 002a3 e9 94 01 00 00 jmp $LN1@stbi__load -$LN16@stbi__load: - -; 7422 : delays); -; 7423 : out_size = layers * stride; - - 002a8 8b 45 04 mov eax, DWORD PTR layers$4[rbp] - 002ab 0f af 85 14 89 - 00 00 imul eax, DWORD PTR stride$9[rbp] - 002b2 89 85 34 89 00 - 00 mov DWORD PTR out_size$10[rbp], eax - -; 7424 : if (delays) { - - 002b8 48 83 bd e8 8f - 00 00 00 cmp QWORD PTR delays$[rbp], 0 - 002c0 74 51 je SHORT $LN17@stbi__load - -; 7425 : *delays = (int *)stbi__malloc(layers * sizeof(int)); - - 002c2 48 63 45 04 movsxd rax, DWORD PTR layers$4[rbp] - 002c6 48 c1 e0 02 shl rax, 2 - 002ca 48 8b c8 mov rcx, rax - 002cd e8 00 00 00 00 call stbi__malloc - 002d2 48 8b 8d e8 8f - 00 00 mov rcx, QWORD PTR delays$[rbp] - 002d9 48 89 01 mov QWORD PTR [rcx], rax - -; 7426 : if (!*delays) - - 002dc 48 8b 85 e8 8f - 00 00 mov rax, QWORD PTR delays$[rbp] - 002e3 48 83 38 00 cmp QWORD PTR [rax], 0 - 002e7 75 1c jne SHORT $LN18@stbi__load - -; 7427 : return stbi__load_gif_main_outofmem(&g, out, - - 002e9 4c 8b 85 e8 8f - 00 00 mov r8, QWORD PTR delays$[rbp] - 002f0 48 8b 55 48 mov rdx, QWORD PTR out$6[rbp] - 002f4 48 8d 8d 90 00 - 00 00 lea rcx, QWORD PTR g$8[rbp] - 002fb e8 00 00 00 00 call stbi__load_gif_main_outofmem - 00300 e9 37 01 00 00 jmp $LN1@stbi__load -$LN18@stbi__load: - -; 7428 : delays); -; 7429 : delays_size = layers * sizeof(int); - - 00305 48 63 45 04 movsxd rax, DWORD PTR layers$4[rbp] - 00309 48 c1 e0 02 shl rax, 2 - 0030d 89 85 54 89 00 - 00 mov DWORD PTR delays_size$11[rbp], eax -$LN17@stbi__load: -$LN11@stbi__load: - -; 7430 : } -; 7431 : } -; 7432 : memcpy(out + ((layers - 1) * stride), u, stride); - - 00313 48 63 85 14 89 - 00 00 movsxd rax, DWORD PTR stride$9[rbp] - 0031a 8b 4d 04 mov ecx, DWORD PTR layers$4[rbp] - 0031d ff c9 dec ecx - 0031f 0f af 8d 14 89 - 00 00 imul ecx, DWORD PTR stride$9[rbp] - 00326 48 63 c9 movsxd rcx, ecx - 00329 48 8b 55 48 mov rdx, QWORD PTR out$6[rbp] - 0032d 48 03 d1 add rdx, rcx - 00330 48 8b ca mov rcx, rdx - 00333 4c 8b c0 mov r8, rax - 00336 48 8b 55 28 mov rdx, QWORD PTR u$5[rbp] - 0033a e8 00 00 00 00 call memcpy - 0033f 90 npad 1 - -; 7433 : if (layers >= 2) { - - 00340 83 7d 04 02 cmp DWORD PTR layers$4[rbp], 2 - 00344 7c 18 jl SHORT $LN19@stbi__load - -; 7434 : two_back = out - 2 * stride; - - 00346 8b 85 14 89 00 - 00 mov eax, DWORD PTR stride$9[rbp] - 0034c d1 e0 shl eax, 1 - 0034e 48 98 cdqe - 00350 48 8b 4d 48 mov rcx, QWORD PTR out$6[rbp] - 00354 48 2b c8 sub rcx, rax - 00357 48 8b c1 mov rax, rcx - 0035a 48 89 45 68 mov QWORD PTR two_back$7[rbp], rax -$LN19@stbi__load: - -; 7435 : } -; 7436 : -; 7437 : if (delays) { - - 0035e 48 83 bd e8 8f - 00 00 00 cmp QWORD PTR delays$[rbp], 0 - 00366 74 1a je SHORT $LN20@stbi__load - -; 7438 : (*delays)[layers - 1U] = g.delay; - - 00368 8b 45 04 mov eax, DWORD PTR layers$4[rbp] - 0036b ff c8 dec eax - 0036d 8b c0 mov eax, eax - 0036f 48 8b 8d e8 8f - 00 00 mov rcx, QWORD PTR delays$[rbp] - 00376 48 8b 09 mov rcx, QWORD PTR [rcx] - 00379 8b 95 f8 88 00 - 00 mov edx, DWORD PTR g$8[rbp+34920] - 0037f 89 14 81 mov DWORD PTR [rcx+rax*4], edx -$LN20@stbi__load: -$LN9@stbi__load: - -; 7439 : } -; 7440 : } -; 7441 : } while (u != 0); - - 00382 48 83 7d 28 00 cmp QWORD PTR u$5[rbp], 0 - 00387 0f 85 46 fd ff - ff jne $LN4@stbi__load - -; 7442 : -; 7443 : // free temp buffer; -; 7444 : STBI_FREE(g.out); - - 0038d 48 8b 8d 98 00 - 00 00 mov rcx, QWORD PTR g$8[rbp+8] - 00394 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 0039a 90 npad 1 - -; 7445 : STBI_FREE(g.history); - - 0039b 48 8b 8d a8 00 - 00 00 mov rcx, QWORD PTR g$8[rbp+24] - 003a2 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 003a8 90 npad 1 - -; 7446 : STBI_FREE(g.background); - - 003a9 48 8b 8d a0 00 - 00 00 mov rcx, QWORD PTR g$8[rbp+16] - 003b0 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 003b6 90 npad 1 - -; 7447 : -; 7448 : // do the final conversion after loading everything; -; 7449 : if (req_comp && req_comp != 4) - - 003b7 83 bd 10 90 00 - 00 00 cmp DWORD PTR req_comp$[rbp], 0 - 003be 74 39 je SHORT $LN21@stbi__load - 003c0 83 bd 10 90 00 - 00 04 cmp DWORD PTR req_comp$[rbp], 4 - 003c7 74 30 je SHORT $LN21@stbi__load - -; 7450 : out = stbi__convert_format(out, 4, req_comp, layers * g.w, g.h); - - 003c9 8b 45 04 mov eax, DWORD PTR layers$4[rbp] - 003cc 0f af 85 90 00 - 00 00 imul eax, DWORD PTR g$8[rbp] - 003d3 8b 8d 94 00 00 - 00 mov ecx, DWORD PTR g$8[rbp+4] - 003d9 89 4c 24 20 mov DWORD PTR [rsp+32], ecx - 003dd 44 8b c8 mov r9d, eax - 003e0 44 8b 85 10 90 - 00 00 mov r8d, DWORD PTR req_comp$[rbp] - 003e7 ba 04 00 00 00 mov edx, 4 - 003ec 48 8b 4d 48 mov rcx, QWORD PTR out$6[rbp] - 003f0 e8 00 00 00 00 call stbi__convert_format - 003f5 48 89 45 48 mov QWORD PTR out$6[rbp], rax -$LN21@stbi__load: - -; 7451 : -; 7452 : *z = layers; - - 003f9 48 8b 85 00 90 - 00 00 mov rax, QWORD PTR z$[rbp] - 00400 8b 4d 04 mov ecx, DWORD PTR layers$4[rbp] - 00403 89 08 mov DWORD PTR [rax], ecx - -; 7453 : return out; - - 00405 48 8b 45 48 mov rax, QWORD PTR out$6[rbp] - 00409 eb 31 jmp SHORT $LN1@stbi__load - -; 7454 : } else { - - 0040b eb 2f jmp SHORT $LN6@stbi__load -$LN5@stbi__load: - -; 7455 : return stbi__errpuc("not GIF", "Image was not as a gif type."); - - 0040d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07KMJLPAII@not?5GIF@ - 00414 e8 00 00 00 00 call stbi__err - 00419 85 c0 test eax, eax - 0041b 74 0d je SHORT $LN23@stbi__load - 0041d 48 c7 85 a8 8f - 00 00 00 00 00 - 00 mov QWORD PTR tv211[rbp], 0 - 00428 eb 0b jmp SHORT $LN24@stbi__load -$LN23@stbi__load: - 0042a 48 c7 85 a8 8f - 00 00 00 00 00 - 00 mov QWORD PTR tv211[rbp], 0 -$LN24@stbi__load: - 00435 48 8b 85 a8 8f - 00 00 mov rax, QWORD PTR tv211[rbp] -$LN6@stbi__load: -$LN1@stbi__load: - -; 7456 : } -; 7457 : } - - 0043c 48 8b f8 mov rdi, rax - 0043f 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 00443 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__load_gif_main$rtcFrameData - 0044a e8 00 00 00 00 call _RTC_CheckStackVars - 0044f 48 8b c7 mov rax, rdi - 00452 48 8b 8d b0 8f - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 00459 48 33 cd xor rcx, rbp - 0045c e8 00 00 00 00 call __security_check_cookie - 00461 48 8d a5 c8 8f - 00 00 lea rsp, QWORD PTR [rbp+36808] - 00468 5f pop rdi - 00469 5d pop rbp - 0046a c3 ret 0 -stbi__load_gif_main ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__gif_load -_TEXT SEGMENT -u$ = 8 -g$ = 48 -__$ArrayPad$ = 36520 -s$ = 36560 -x$ = 36568 -y$ = 36576 -comp$ = 36584 -req_comp$ = 36592 -ri$ = 36600 -stbi__gif_load PROC ; COMDAT - -; 7461 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 b8 e8 8e 00 00 mov eax, 36584 ; 00008ee8H - 0001b e8 00 00 00 00 call __chkstk - 00020 48 2b e0 sub rsp, rax - 00023 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00028 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 0002d b9 2e 22 00 00 mov ecx, 8750 ; 0000222eH - 00032 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00037 f3 ab rep stosd - 00039 48 8b 8c 24 08 - 8f 00 00 mov rcx, QWORD PTR [rsp+36616] - 00041 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00048 48 33 c5 xor rax, rbp - 0004b 48 89 85 a8 8e - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 00052 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00059 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0005e 90 npad 1 - -; 7462 : stbi_uc *u = 0; - - 0005f 48 c7 45 08 00 - 00 00 00 mov QWORD PTR u$[rbp], 0 - -; 7463 : stbi__gif g; -; 7464 : memset(&g, 0, sizeof(g)); - - 00067 41 b8 70 88 00 - 00 mov r8d, 34928 ; 00008870H - 0006d 33 d2 xor edx, edx - 0006f 48 8d 4d 30 lea rcx, QWORD PTR g$[rbp] - 00073 e8 00 00 00 00 call memset - 00078 90 npad 1 - -; 7465 : STBI_NOTUSED(ri); -; 7466 : -; 7467 : u = stbi__gif_load_next(s, &g, comp, req_comp, 0); - - 00079 48 c7 44 24 20 - 00 00 00 00 mov QWORD PTR [rsp+32], 0 - 00082 44 8b 8d f0 8e - 00 00 mov r9d, DWORD PTR req_comp$[rbp] - 00089 4c 8b 85 e8 8e - 00 00 mov r8, QWORD PTR comp$[rbp] - 00090 48 8d 55 30 lea rdx, QWORD PTR g$[rbp] - 00094 48 8b 8d d0 8e - 00 00 mov rcx, QWORD PTR s$[rbp] - 0009b e8 00 00 00 00 call stbi__gif_load_next - 000a0 48 89 45 08 mov QWORD PTR u$[rbp], rax - -; 7468 : if (u == (stbi_uc *)s) - - 000a4 48 8b 85 d0 8e - 00 00 mov rax, QWORD PTR s$[rbp] - 000ab 48 39 45 08 cmp QWORD PTR u$[rbp], rax - 000af 75 08 jne SHORT $LN2@stbi__gif_ - -; 7469 : u = 0; // end of animated gif marker - - 000b1 48 c7 45 08 00 - 00 00 00 mov QWORD PTR u$[rbp], 0 -$LN2@stbi__gif_: - -; 7470 : if (u) { - - 000b9 48 83 7d 08 00 cmp QWORD PTR u$[rbp], 0 - 000be 74 50 je SHORT $LN3@stbi__gif_ - -; 7471 : *x = g.w; - - 000c0 48 8b 85 d8 8e - 00 00 mov rax, QWORD PTR x$[rbp] - 000c7 8b 4d 30 mov ecx, DWORD PTR g$[rbp] - 000ca 89 08 mov DWORD PTR [rax], ecx - -; 7472 : *y = g.h; - - 000cc 48 8b 85 e0 8e - 00 00 mov rax, QWORD PTR y$[rbp] - 000d3 8b 4d 34 mov ecx, DWORD PTR g$[rbp+4] - 000d6 89 08 mov DWORD PTR [rax], ecx - -; 7473 : -; 7474 : // moved conversion to after successful load so that the same -; 7475 : // can be done for multiple frames. -; 7476 : if (req_comp && req_comp != 4) - - 000d8 83 bd f0 8e 00 - 00 00 cmp DWORD PTR req_comp$[rbp], 0 - 000df 74 2d je SHORT $LN5@stbi__gif_ - 000e1 83 bd f0 8e 00 - 00 04 cmp DWORD PTR req_comp$[rbp], 4 - 000e8 74 24 je SHORT $LN5@stbi__gif_ - -; 7477 : u = stbi__convert_format(u, 4, req_comp, g.w, g.h); - - 000ea 8b 45 34 mov eax, DWORD PTR g$[rbp+4] - 000ed 89 44 24 20 mov DWORD PTR [rsp+32], eax - 000f1 44 8b 4d 30 mov r9d, DWORD PTR g$[rbp] - 000f5 44 8b 85 f0 8e - 00 00 mov r8d, DWORD PTR req_comp$[rbp] - 000fc ba 04 00 00 00 mov edx, 4 - 00101 48 8b 4d 08 mov rcx, QWORD PTR u$[rbp] - 00105 e8 00 00 00 00 call stbi__convert_format - 0010a 48 89 45 08 mov QWORD PTR u$[rbp], rax -$LN5@stbi__gif_: - -; 7478 : } else if (g.out) { - - 0010e eb 12 jmp SHORT $LN4@stbi__gif_ -$LN3@stbi__gif_: - 00110 48 83 7d 38 00 cmp QWORD PTR g$[rbp+8], 0 - 00115 74 0b je SHORT $LN6@stbi__gif_ - -; 7479 : // if there was an error and we allocated an image buffer, free it! -; 7480 : STBI_FREE(g.out); - - 00117 48 8b 4d 38 mov rcx, QWORD PTR g$[rbp+8] - 0011b ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00121 90 npad 1 -$LN6@stbi__gif_: -$LN4@stbi__gif_: - -; 7481 : } -; 7482 : -; 7483 : // free buffers needed for multiple frame loading; -; 7484 : STBI_FREE(g.history); - - 00122 48 8b 4d 48 mov rcx, QWORD PTR g$[rbp+24] - 00126 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 0012c 90 npad 1 - -; 7485 : STBI_FREE(g.background); - - 0012d 48 8b 4d 40 mov rcx, QWORD PTR g$[rbp+16] - 00131 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00137 90 npad 1 - -; 7486 : -; 7487 : return u; - - 00138 48 8b 45 08 mov rax, QWORD PTR u$[rbp] - -; 7488 : } - - 0013c 48 8b f8 mov rdi, rax - 0013f 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 00143 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__gif_load$rtcFrameData - 0014a e8 00 00 00 00 call _RTC_CheckStackVars - 0014f 48 8b c7 mov rax, rdi - 00152 48 8b 8d a8 8e - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 00159 48 33 cd xor rcx, rbp - 0015c e8 00 00 00 00 call __security_check_cookie - 00161 48 8d a5 b8 8e - 00 00 lea rsp, QWORD PTR [rbp+36536] - 00168 5f pop rdi - 00169 5d pop rbp - 0016a c3 ret 0 -stbi__gif_load ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__gif_test -_TEXT SEGMENT -r$ = 4 -s$ = 256 -stbi__gif_test PROC ; COMDAT - -; 6964 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 6965 : int r = stbi__gif_test_raw(s); - - 00020 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00027 e8 00 00 00 00 call stbi__gif_test_raw - 0002c 89 45 04 mov DWORD PTR r$[rbp], eax - -; 6966 : stbi__rewind(s); - - 0002f 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00036 e8 00 00 00 00 call stbi__rewind - 0003b 90 npad 1 - -; 6967 : return r; - - 0003c 8b 45 04 mov eax, DWORD PTR r$[rbp] - -; 6968 : } - - 0003f 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 00046 5f pop rdi - 00047 5d pop rbp - 00048 c3 ret 0 -stbi__gif_test ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__pic_info -_TEXT SEGMENT -act_comp$ = 4 -num_packets$ = 36 -chained$ = 68 -dummy$ = 100 -packets$ = 136 -packet$5 = 200 -tv152 = 404 -__$ArrayPad$ = 408 -s$ = 448 -x$ = 456 -y$ = 464 -comp$ = 472 -stbi__pic_info PROC ; COMDAT - -; 7882 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec c8 01 - 00 00 sub rsp, 456 ; 000001c8H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 00027 b9 3a 00 00 00 mov ecx, 58 ; 0000003aH - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 e8 - 01 00 00 mov rcx, QWORD PTR [rsp+488] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 98 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 7883 : int act_comp = 0, num_packets = 0, chained, dummy; - - 00059 c7 45 04 00 00 - 00 00 mov DWORD PTR act_comp$[rbp], 0 - 00060 c7 45 24 00 00 - 00 00 mov DWORD PTR num_packets$[rbp], 0 - -; 7884 : stbi__pic_packet packets[10]; -; 7885 : -; 7886 : if (!x) - - 00067 48 83 bd c8 01 - 00 00 00 cmp QWORD PTR x$[rbp], 0 - 0006f 75 0b jne SHORT $LN5@stbi__pic_ - -; 7887 : x = &dummy; - - 00071 48 8d 45 64 lea rax, QWORD PTR dummy$[rbp] - 00075 48 89 85 c8 01 - 00 00 mov QWORD PTR x$[rbp], rax -$LN5@stbi__pic_: - -; 7888 : if (!y) - - 0007c 48 83 bd d0 01 - 00 00 00 cmp QWORD PTR y$[rbp], 0 - 00084 75 0b jne SHORT $LN6@stbi__pic_ - -; 7889 : y = &dummy; - - 00086 48 8d 45 64 lea rax, QWORD PTR dummy$[rbp] - 0008a 48 89 85 d0 01 - 00 00 mov QWORD PTR y$[rbp], rax -$LN6@stbi__pic_: - -; 7890 : if (!comp) - - 00091 48 83 bd d8 01 - 00 00 00 cmp QWORD PTR comp$[rbp], 0 - 00099 75 0b jne SHORT $LN7@stbi__pic_ - -; 7891 : comp = &dummy; - - 0009b 48 8d 45 64 lea rax, QWORD PTR dummy$[rbp] - 0009f 48 89 85 d8 01 - 00 00 mov QWORD PTR comp$[rbp], rax -$LN7@stbi__pic_: - -; 7892 : -; 7893 : if (!stbi__pic_is4(s, "\x53\x80\xF6\x34")) { - - 000a6 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_04KBFEPHFH@S?$IA?v4@ - 000ad 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000b4 e8 00 00 00 00 call stbi__pic_is4 - 000b9 85 c0 test eax, eax - 000bb 75 14 jne SHORT $LN8@stbi__pic_ - -; 7894 : stbi__rewind(s); - - 000bd 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000c4 e8 00 00 00 00 call stbi__rewind - 000c9 90 npad 1 - -; 7895 : return 0; - - 000ca 33 c0 xor eax, eax - 000cc e9 c3 01 00 00 jmp $LN1@stbi__pic_ -$LN8@stbi__pic_: - -; 7896 : } -; 7897 : -; 7898 : stbi__skip(s, 88); - - 000d1 ba 58 00 00 00 mov edx, 88 ; 00000058H - 000d6 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000dd e8 00 00 00 00 call stbi__skip - 000e2 90 npad 1 - -; 7899 : -; 7900 : *x = stbi__get16be(s); - - 000e3 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000ea e8 00 00 00 00 call stbi__get16be - 000ef 48 8b 8d c8 01 - 00 00 mov rcx, QWORD PTR x$[rbp] - 000f6 89 01 mov DWORD PTR [rcx], eax - -; 7901 : *y = stbi__get16be(s); - - 000f8 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000ff e8 00 00 00 00 call stbi__get16be - 00104 48 8b 8d d0 01 - 00 00 mov rcx, QWORD PTR y$[rbp] - 0010b 89 01 mov DWORD PTR [rcx], eax - -; 7902 : if (stbi__at_eof(s)) { - - 0010d 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00114 e8 00 00 00 00 call stbi__at_eof - 00119 85 c0 test eax, eax - 0011b 74 14 je SHORT $LN9@stbi__pic_ - -; 7903 : stbi__rewind(s); - - 0011d 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00124 e8 00 00 00 00 call stbi__rewind - 00129 90 npad 1 - -; 7904 : return 0; - - 0012a 33 c0 xor eax, eax - 0012c e9 63 01 00 00 jmp $LN1@stbi__pic_ -$LN9@stbi__pic_: - -; 7905 : } -; 7906 : if ((*x) != 0 && (1 << 28) / (*x) < (*y)) { - - 00131 48 8b 85 c8 01 - 00 00 mov rax, QWORD PTR x$[rbp] - 00138 83 38 00 cmp DWORD PTR [rax], 0 - 0013b 74 2e je SHORT $LN10@stbi__pic_ - 0013d b8 00 00 00 10 mov eax, 268435456 ; 10000000H - 00142 99 cdq - 00143 48 8b 8d c8 01 - 00 00 mov rcx, QWORD PTR x$[rbp] - 0014a f7 39 idiv DWORD PTR [rcx] - 0014c 48 8b 8d d0 01 - 00 00 mov rcx, QWORD PTR y$[rbp] - 00153 3b 01 cmp eax, DWORD PTR [rcx] - 00155 7d 14 jge SHORT $LN10@stbi__pic_ - -; 7907 : stbi__rewind(s); - - 00157 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0015e e8 00 00 00 00 call stbi__rewind - 00163 90 npad 1 - -; 7908 : return 0; - - 00164 33 c0 xor eax, eax - 00166 e9 29 01 00 00 jmp $LN1@stbi__pic_ -$LN10@stbi__pic_: - -; 7909 : } -; 7910 : -; 7911 : stbi__skip(s, 8); - - 0016b ba 08 00 00 00 mov edx, 8 - 00170 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00177 e8 00 00 00 00 call stbi__skip - 0017c 90 npad 1 -$LN4@stbi__pic_: - -; 7912 : -; 7913 : do { -; 7914 : stbi__pic_packet *packet; -; 7915 : -; 7916 : if (num_packets == sizeof(packets) / sizeof(packets[0])) - - 0017d 48 63 45 24 movsxd rax, DWORD PTR num_packets$[rbp] - 00181 48 83 f8 0a cmp rax, 10 - 00185 75 07 jne SHORT $LN11@stbi__pic_ - -; 7917 : return 0; - - 00187 33 c0 xor eax, eax - 00189 e9 06 01 00 00 jmp $LN1@stbi__pic_ -$LN11@stbi__pic_: - -; 7918 : -; 7919 : packet = &packets[num_packets++]; - - 0018e 48 63 45 24 movsxd rax, DWORD PTR num_packets$[rbp] - 00192 48 6b c0 03 imul rax, rax, 3 - 00196 48 8d 84 05 88 - 00 00 00 lea rax, QWORD PTR packets$[rbp+rax] - 0019e 48 89 85 c8 00 - 00 00 mov QWORD PTR packet$5[rbp], rax - 001a5 8b 45 24 mov eax, DWORD PTR num_packets$[rbp] - 001a8 ff c0 inc eax - 001aa 89 45 24 mov DWORD PTR num_packets$[rbp], eax - -; 7920 : chained = stbi__get8(s); - - 001ad 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001b4 e8 00 00 00 00 call stbi__get8 - 001b9 0f b6 c0 movzx eax, al - 001bc 89 45 44 mov DWORD PTR chained$[rbp], eax - -; 7921 : packet->size = stbi__get8(s); - - 001bf 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001c6 e8 00 00 00 00 call stbi__get8 - 001cb 48 8b 8d c8 00 - 00 00 mov rcx, QWORD PTR packet$5[rbp] - 001d2 88 01 mov BYTE PTR [rcx], al - -; 7922 : packet->type = stbi__get8(s); - - 001d4 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001db e8 00 00 00 00 call stbi__get8 - 001e0 48 8b 8d c8 00 - 00 00 mov rcx, QWORD PTR packet$5[rbp] - 001e7 88 41 01 mov BYTE PTR [rcx+1], al - -; 7923 : packet->channel = stbi__get8(s); - - 001ea 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001f1 e8 00 00 00 00 call stbi__get8 - 001f6 48 8b 8d c8 00 - 00 00 mov rcx, QWORD PTR packet$5[rbp] - 001fd 88 41 02 mov BYTE PTR [rcx+2], al - -; 7924 : act_comp |= packet->channel; - - 00200 48 8b 85 c8 00 - 00 00 mov rax, QWORD PTR packet$5[rbp] - 00207 0f b6 40 02 movzx eax, BYTE PTR [rax+2] - 0020b 8b 4d 04 mov ecx, DWORD PTR act_comp$[rbp] - 0020e 0b c8 or ecx, eax - 00210 8b c1 mov eax, ecx - 00212 89 45 04 mov DWORD PTR act_comp$[rbp], eax - -; 7925 : -; 7926 : if (stbi__at_eof(s)) { - - 00215 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0021c e8 00 00 00 00 call stbi__at_eof - 00221 85 c0 test eax, eax - 00223 74 11 je SHORT $LN12@stbi__pic_ - -; 7927 : stbi__rewind(s); - - 00225 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0022c e8 00 00 00 00 call stbi__rewind - 00231 90 npad 1 - -; 7928 : return 0; - - 00232 33 c0 xor eax, eax - 00234 eb 5e jmp SHORT $LN1@stbi__pic_ -$LN12@stbi__pic_: - -; 7929 : } -; 7930 : if (packet->size != 8) { - - 00236 48 8b 85 c8 00 - 00 00 mov rax, QWORD PTR packet$5[rbp] - 0023d 0f b6 00 movzx eax, BYTE PTR [rax] - 00240 83 f8 08 cmp eax, 8 - 00243 74 11 je SHORT $LN13@stbi__pic_ - -; 7931 : stbi__rewind(s); - - 00245 48 8b 8d c0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0024c e8 00 00 00 00 call stbi__rewind - 00251 90 npad 1 - -; 7932 : return 0; - - 00252 33 c0 xor eax, eax - 00254 eb 3e jmp SHORT $LN1@stbi__pic_ -$LN13@stbi__pic_: - -; 7933 : } -; 7934 : } while (chained); - - 00256 83 7d 44 00 cmp DWORD PTR chained$[rbp], 0 - 0025a 0f 85 1d ff ff - ff jne $LN4@stbi__pic_ - -; 7935 : -; 7936 : *comp = (act_comp & 0x10 ? 4 : 3); - - 00260 8b 45 04 mov eax, DWORD PTR act_comp$[rbp] - 00263 83 e0 10 and eax, 16 - 00266 85 c0 test eax, eax - 00268 74 0c je SHORT $LN15@stbi__pic_ - 0026a c7 85 94 01 00 - 00 04 00 00 00 mov DWORD PTR tv152[rbp], 4 - 00274 eb 0a jmp SHORT $LN16@stbi__pic_ -$LN15@stbi__pic_: - 00276 c7 85 94 01 00 - 00 03 00 00 00 mov DWORD PTR tv152[rbp], 3 -$LN16@stbi__pic_: - 00280 48 8b 85 d8 01 - 00 00 mov rax, QWORD PTR comp$[rbp] - 00287 8b 8d 94 01 00 - 00 mov ecx, DWORD PTR tv152[rbp] - 0028d 89 08 mov DWORD PTR [rax], ecx - -; 7937 : -; 7938 : return 1; - - 0028f b8 01 00 00 00 mov eax, 1 -$LN1@stbi__pic_: - -; 7939 : } - - 00294 48 8b f8 mov rdi, rax - 00297 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 0029b 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__pic_info$rtcFrameData - 002a2 e8 00 00 00 00 call _RTC_CheckStackVars - 002a7 48 8b c7 mov rax, rdi - 002aa 48 8b 8d 98 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 002b1 48 33 cd xor rcx, rbp - 002b4 e8 00 00 00 00 call __security_check_cookie - 002b9 48 8d a5 a8 01 - 00 00 lea rsp, QWORD PTR [rbp+424] - 002c0 5f pop rdi - 002c1 5d pop rbp - 002c2 c3 ret 0 -stbi__pic_info ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__pic_load -_TEXT SEGMENT -result$ = 8 -i$ = 36 -x$ = 68 -y$ = 100 -internal_comp$ = 132 -tv76 = 344 -tv81 = 344 -tv88 = 344 -tv130 = 344 -tv143 = 344 -__$ArrayPad$ = 352 -s$ = 400 -px$ = 408 -py$ = 416 -comp$ = 424 -req_comp$ = 432 -ri$ = 440 -stbi__pic_load PROC ; COMDAT - -; 6865 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec a8 01 - 00 00 sub rsp, 424 ; 000001a8H - 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00022 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 00027 b9 2e 00 00 00 mov ecx, 46 ; 0000002eH - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 c8 - 01 00 00 mov rcx, QWORD PTR [rsp+456] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 60 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 6866 : stbi_uc *result; -; 6867 : int i, x, y, internal_comp; -; 6868 : STBI_NOTUSED(ri); -; 6869 : -; 6870 : if (!comp) - - 00059 48 83 bd a8 01 - 00 00 00 cmp QWORD PTR comp$[rbp], 0 - 00061 75 0e jne SHORT $LN5@stbi__pic_ - -; 6871 : comp = &internal_comp; - - 00063 48 8d 85 84 00 - 00 00 lea rax, QWORD PTR internal_comp$[rbp] - 0006a 48 89 85 a8 01 - 00 00 mov QWORD PTR comp$[rbp], rax -$LN5@stbi__pic_: - -; 6872 : -; 6873 : for (i = 0; i < 92; ++i) - - 00071 c7 45 24 00 00 - 00 00 mov DWORD PTR i$[rbp], 0 - 00078 eb 08 jmp SHORT $LN4@stbi__pic_ -$LN2@stbi__pic_: - 0007a 8b 45 24 mov eax, DWORD PTR i$[rbp] - 0007d ff c0 inc eax - 0007f 89 45 24 mov DWORD PTR i$[rbp], eax -$LN4@stbi__pic_: - 00082 83 7d 24 5c cmp DWORD PTR i$[rbp], 92 ; 0000005cH - 00086 7d 0f jge SHORT $LN3@stbi__pic_ - -; 6874 : stbi__get8(s); - - 00088 48 8b 8d 90 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0008f e8 00 00 00 00 call stbi__get8 - 00094 90 npad 1 - 00095 eb e3 jmp SHORT $LN2@stbi__pic_ -$LN3@stbi__pic_: - -; 6875 : -; 6876 : x = stbi__get16be(s); - - 00097 48 8b 8d 90 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0009e e8 00 00 00 00 call stbi__get16be - 000a3 89 45 44 mov DWORD PTR x$[rbp], eax - -; 6877 : y = stbi__get16be(s); - - 000a6 48 8b 8d 90 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000ad e8 00 00 00 00 call stbi__get16be - 000b2 89 45 64 mov DWORD PTR y$[rbp], eax - -; 6878 : -; 6879 : if (y > STBI_MAX_DIMENSIONS) - - 000b5 81 7d 64 00 00 - 00 01 cmp DWORD PTR y$[rbp], 16777216 ; 01000000H - 000bc 7e 34 jle SHORT $LN6@stbi__pic_ - -; 6880 : return stbi__errpuc("too large", "Very large image (corrupt?)"); - - 000be 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 000c5 e8 00 00 00 00 call stbi__err - 000ca 85 c0 test eax, eax - 000cc 74 0d je SHORT $LN14@stbi__pic_ - 000ce 48 c7 85 58 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv76[rbp], 0 - 000d9 eb 0b jmp SHORT $LN15@stbi__pic_ -$LN14@stbi__pic_: - 000db 48 c7 85 58 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv76[rbp], 0 -$LN15@stbi__pic_: - 000e6 48 8b 85 58 01 - 00 00 mov rax, QWORD PTR tv76[rbp] - 000ed e9 f8 01 00 00 jmp $LN1@stbi__pic_ -$LN6@stbi__pic_: - -; 6881 : if (x > STBI_MAX_DIMENSIONS) - - 000f2 81 7d 44 00 00 - 00 01 cmp DWORD PTR x$[rbp], 16777216 ; 01000000H - 000f9 7e 34 jle SHORT $LN7@stbi__pic_ - -; 6882 : return stbi__errpuc("too large", "Very large image (corrupt?)"); - - 000fb 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 00102 e8 00 00 00 00 call stbi__err - 00107 85 c0 test eax, eax - 00109 74 0d je SHORT $LN16@stbi__pic_ - 0010b 48 c7 85 58 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv81[rbp], 0 - 00116 eb 0b jmp SHORT $LN17@stbi__pic_ -$LN16@stbi__pic_: - 00118 48 c7 85 58 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv81[rbp], 0 -$LN17@stbi__pic_: - 00123 48 8b 85 58 01 - 00 00 mov rax, QWORD PTR tv81[rbp] - 0012a e9 bb 01 00 00 jmp $LN1@stbi__pic_ -$LN7@stbi__pic_: - -; 6883 : -; 6884 : if (stbi__at_eof(s)) - - 0012f 48 8b 8d 90 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00136 e8 00 00 00 00 call stbi__at_eof - 0013b 85 c0 test eax, eax - 0013d 74 34 je SHORT $LN8@stbi__pic_ - -; 6885 : return stbi__errpuc("bad file", "file too short (pic header)"); - - 0013f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08GGMBIFE@bad?5file@ - 00146 e8 00 00 00 00 call stbi__err - 0014b 85 c0 test eax, eax - 0014d 74 0d je SHORT $LN18@stbi__pic_ - 0014f 48 c7 85 58 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv88[rbp], 0 - 0015a eb 0b jmp SHORT $LN19@stbi__pic_ -$LN18@stbi__pic_: - 0015c 48 c7 85 58 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv88[rbp], 0 -$LN19@stbi__pic_: - 00167 48 8b 85 58 01 - 00 00 mov rax, QWORD PTR tv88[rbp] - 0016e e9 77 01 00 00 jmp $LN1@stbi__pic_ -$LN8@stbi__pic_: - -; 6886 : if (!stbi__mad3sizes_valid(x, y, 4, 0)) - - 00173 45 33 c9 xor r9d, r9d - 00176 41 b8 04 00 00 - 00 mov r8d, 4 - 0017c 8b 55 64 mov edx, DWORD PTR y$[rbp] - 0017f 8b 4d 44 mov ecx, DWORD PTR x$[rbp] - 00182 e8 00 00 00 00 call stbi__mad3sizes_valid - 00187 85 c0 test eax, eax - 00189 75 34 jne SHORT $LN9@stbi__pic_ - -; 6887 : return stbi__errpuc("too large", "PIC image too large to decode"); - - 0018b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 00192 e8 00 00 00 00 call stbi__err - 00197 85 c0 test eax, eax - 00199 74 0d je SHORT $LN20@stbi__pic_ - 0019b 48 c7 85 58 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv130[rbp], 0 - 001a6 eb 0b jmp SHORT $LN21@stbi__pic_ -$LN20@stbi__pic_: - 001a8 48 c7 85 58 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv130[rbp], 0 -$LN21@stbi__pic_: - 001b3 48 8b 85 58 01 - 00 00 mov rax, QWORD PTR tv130[rbp] - 001ba e9 2b 01 00 00 jmp $LN1@stbi__pic_ -$LN9@stbi__pic_: - -; 6888 : -; 6889 : stbi__get32be(s); //skip `ratio' - - 001bf 48 8b 8d 90 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001c6 e8 00 00 00 00 call stbi__get32be - 001cb 90 npad 1 - -; 6890 : stbi__get16be(s); //skip `fields' - - 001cc 48 8b 8d 90 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001d3 e8 00 00 00 00 call stbi__get16be - 001d8 90 npad 1 - -; 6891 : stbi__get16be(s); //skip `pad' - - 001d9 48 8b 8d 90 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001e0 e8 00 00 00 00 call stbi__get16be - 001e5 90 npad 1 - -; 6892 : -; 6893 : // intermediate buffer is RGBA -; 6894 : result = (stbi_uc *)stbi__malloc_mad3(x, y, 4, 0); - - 001e6 45 33 c9 xor r9d, r9d - 001e9 41 b8 04 00 00 - 00 mov r8d, 4 - 001ef 8b 55 64 mov edx, DWORD PTR y$[rbp] - 001f2 8b 4d 44 mov ecx, DWORD PTR x$[rbp] - 001f5 e8 00 00 00 00 call stbi__malloc_mad3 - 001fa 48 89 45 08 mov QWORD PTR result$[rbp], rax - -; 6895 : if (!result) - - 001fe 48 83 7d 08 00 cmp QWORD PTR result$[rbp], 0 - 00203 75 34 jne SHORT $LN10@stbi__pic_ - -; 6896 : return stbi__errpuc("outofmem", "Out of memory"); - - 00205 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 0020c e8 00 00 00 00 call stbi__err - 00211 85 c0 test eax, eax - 00213 74 0d je SHORT $LN22@stbi__pic_ - 00215 48 c7 85 58 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv143[rbp], 0 - 00220 eb 0b jmp SHORT $LN23@stbi__pic_ -$LN22@stbi__pic_: - 00222 48 c7 85 58 01 - 00 00 00 00 00 - 00 mov QWORD PTR tv143[rbp], 0 -$LN23@stbi__pic_: - 0022d 48 8b 85 58 01 - 00 00 mov rax, QWORD PTR tv143[rbp] - 00234 e9 b1 00 00 00 jmp $LN1@stbi__pic_ -$LN10@stbi__pic_: - -; 6897 : memset(result, 0xff, x * y * 4); - - 00239 8b 45 44 mov eax, DWORD PTR x$[rbp] - 0023c 0f af 45 64 imul eax, DWORD PTR y$[rbp] - 00240 c1 e0 02 shl eax, 2 - 00243 48 98 cdqe - 00245 4c 8b c0 mov r8, rax - 00248 ba ff 00 00 00 mov edx, 255 ; 000000ffH - 0024d 48 8b 4d 08 mov rcx, QWORD PTR result$[rbp] - 00251 e8 00 00 00 00 call memset - 00256 90 npad 1 - -; 6898 : -; 6899 : if (!stbi__pic_load_core(s, x, y, comp, result)) { - - 00257 48 8b 45 08 mov rax, QWORD PTR result$[rbp] - 0025b 48 89 44 24 20 mov QWORD PTR [rsp+32], rax - 00260 4c 8b 8d a8 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00267 44 8b 45 64 mov r8d, DWORD PTR y$[rbp] - 0026b 8b 55 44 mov edx, DWORD PTR x$[rbp] - 0026e 48 8b 8d 90 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00275 e8 00 00 00 00 call stbi__pic_load_core - 0027a 48 85 c0 test rax, rax - 0027d 75 13 jne SHORT $LN11@stbi__pic_ - -; 6900 : STBI_FREE(result); - - 0027f 48 8b 4d 08 mov rcx, QWORD PTR result$[rbp] - 00283 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00289 90 npad 1 - -; 6901 : result = 0; - - 0028a 48 c7 45 08 00 - 00 00 00 mov QWORD PTR result$[rbp], 0 -$LN11@stbi__pic_: - -; 6902 : } -; 6903 : *px = x; - - 00292 48 8b 85 98 01 - 00 00 mov rax, QWORD PTR px$[rbp] - 00299 8b 4d 44 mov ecx, DWORD PTR x$[rbp] - 0029c 89 08 mov DWORD PTR [rax], ecx - -; 6904 : *py = y; - - 0029e 48 8b 85 a0 01 - 00 00 mov rax, QWORD PTR py$[rbp] - 002a5 8b 4d 64 mov ecx, DWORD PTR y$[rbp] - 002a8 89 08 mov DWORD PTR [rax], ecx - -; 6905 : if (req_comp == 0) - - 002aa 83 bd b0 01 00 - 00 00 cmp DWORD PTR req_comp$[rbp], 0 - 002b1 75 0f jne SHORT $LN12@stbi__pic_ - -; 6906 : req_comp = *comp; - - 002b3 48 8b 85 a8 01 - 00 00 mov rax, QWORD PTR comp$[rbp] - 002ba 8b 00 mov eax, DWORD PTR [rax] - 002bc 89 85 b0 01 00 - 00 mov DWORD PTR req_comp$[rbp], eax -$LN12@stbi__pic_: - -; 6907 : result = stbi__convert_format(result, 4, req_comp, x, y); - - 002c2 8b 45 64 mov eax, DWORD PTR y$[rbp] - 002c5 89 44 24 20 mov DWORD PTR [rsp+32], eax - 002c9 44 8b 4d 44 mov r9d, DWORD PTR x$[rbp] - 002cd 44 8b 85 b0 01 - 00 00 mov r8d, DWORD PTR req_comp$[rbp] - 002d4 ba 04 00 00 00 mov edx, 4 - 002d9 48 8b 4d 08 mov rcx, QWORD PTR result$[rbp] - 002dd e8 00 00 00 00 call stbi__convert_format - 002e2 48 89 45 08 mov QWORD PTR result$[rbp], rax - -; 6908 : -; 6909 : return result; - - 002e6 48 8b 45 08 mov rax, QWORD PTR result$[rbp] -$LN1@stbi__pic_: - -; 6910 : } - - 002ea 48 8b f8 mov rdi, rax - 002ed 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 002f1 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__pic_load$rtcFrameData - 002f8 e8 00 00 00 00 call _RTC_CheckStackVars - 002fd 48 8b c7 mov rax, rdi - 00300 48 8b 8d 60 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 00307 48 33 cd xor rcx, rbp - 0030a e8 00 00 00 00 call __security_check_cookie - 0030f 48 8d a5 78 01 - 00 00 lea rsp, QWORD PTR [rbp+376] - 00316 5f pop rdi - 00317 5d pop rbp - 00318 c3 ret 0 -stbi__pic_load ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__pic_test -_TEXT SEGMENT -r$ = 4 -s$ = 256 -stbi__pic_test PROC ; COMDAT - -; 6913 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 6914 : int r = stbi__pic_test_core(s); - - 00020 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00027 e8 00 00 00 00 call stbi__pic_test_core - 0002c 89 45 04 mov DWORD PTR r$[rbp], eax - -; 6915 : stbi__rewind(s); - - 0002f 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00036 e8 00 00 00 00 call stbi__rewind - 0003b 90 npad 1 - -; 6916 : return r; - - 0003c 8b 45 04 mov eax, DWORD PTR r$[rbp] - -; 6917 : } - - 0003f 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 00046 5f pop rdi - 00047 5d pop rbp - 00048 c3 ret 0 -stbi__pic_test ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__hdr_info -_TEXT SEGMENT -buffer$ = 16 -token$ = 1064 -valid$ = 1092 -dummy$ = 1124 -__$ArrayPad$ = 1720 -s$ = 1760 -x$ = 1768 -y$ = 1776 -comp$ = 1784 -stbi__hdr_info PROC ; COMDAT - -; 7737 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec e8 06 - 00 00 sub rsp, 1768 ; 000006e8H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 00027 b9 22 01 00 00 mov ecx, 290 ; 00000122H - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 08 - 07 00 00 mov rcx, QWORD PTR [rsp+1800] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 b8 06 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 7738 : char buffer[STBI__HDR_BUFLEN]; -; 7739 : char *token; -; 7740 : int valid = 0; - - 00059 c7 85 44 04 00 - 00 00 00 00 00 mov DWORD PTR valid$[rbp], 0 - -; 7741 : int dummy; -; 7742 : -; 7743 : if (!x) - - 00063 48 83 bd e8 06 - 00 00 00 cmp QWORD PTR x$[rbp], 0 - 0006b 75 0e jne SHORT $LN7@stbi__hdr_ - -; 7744 : x = &dummy; - - 0006d 48 8d 85 64 04 - 00 00 lea rax, QWORD PTR dummy$[rbp] - 00074 48 89 85 e8 06 - 00 00 mov QWORD PTR x$[rbp], rax -$LN7@stbi__hdr_: - -; 7745 : if (!y) - - 0007b 48 83 bd f0 06 - 00 00 00 cmp QWORD PTR y$[rbp], 0 - 00083 75 0e jne SHORT $LN8@stbi__hdr_ - -; 7746 : y = &dummy; - - 00085 48 8d 85 64 04 - 00 00 lea rax, QWORD PTR dummy$[rbp] - 0008c 48 89 85 f0 06 - 00 00 mov QWORD PTR y$[rbp], rax -$LN8@stbi__hdr_: - -; 7747 : if (!comp) - - 00093 48 83 bd f8 06 - 00 00 00 cmp QWORD PTR comp$[rbp], 0 - 0009b 75 0e jne SHORT $LN9@stbi__hdr_ - -; 7748 : comp = &dummy; - - 0009d 48 8d 85 64 04 - 00 00 lea rax, QWORD PTR dummy$[rbp] - 000a4 48 89 85 f8 06 - 00 00 mov QWORD PTR comp$[rbp], rax -$LN9@stbi__hdr_: - -; 7749 : -; 7750 : if (stbi__hdr_test(s) == 0) { - - 000ab 48 8b 8d e0 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000b2 e8 00 00 00 00 call stbi__hdr_test - 000b7 85 c0 test eax, eax - 000b9 75 14 jne SHORT $LN10@stbi__hdr_ - -; 7751 : stbi__rewind(s); - - 000bb 48 8b 8d e0 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000c2 e8 00 00 00 00 call stbi__rewind - 000c7 90 npad 1 - -; 7752 : return 0; - - 000c8 33 c0 xor eax, eax - 000ca e9 82 01 00 00 jmp $LN1@stbi__hdr_ -$LN10@stbi__hdr_: -$LN2@stbi__hdr_: - -; 7753 : } -; 7754 : -; 7755 : for (;;) { -; 7756 : token = stbi__hdr_gettoken(s, buffer); - - 000cf 48 8d 55 10 lea rdx, QWORD PTR buffer$[rbp] - 000d3 48 8b 8d e0 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000da e8 00 00 00 00 call stbi__hdr_gettoken - 000df 48 89 85 28 04 - 00 00 mov QWORD PTR token$[rbp], rax - -; 7757 : if (token[0] == 0) - - 000e6 b8 01 00 00 00 mov eax, 1 - 000eb 48 6b c0 00 imul rax, rax, 0 - 000ef 48 8b 8d 28 04 - 00 00 mov rcx, QWORD PTR token$[rbp] - 000f6 0f be 04 01 movsx eax, BYTE PTR [rcx+rax] - 000fa 85 c0 test eax, eax - 000fc 75 02 jne SHORT $LN11@stbi__hdr_ - -; 7758 : break; - - 000fe eb 23 jmp SHORT $LN3@stbi__hdr_ -$LN11@stbi__hdr_: - -; 7759 : if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) - - 00100 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_0BH@JFGBLLKC@FORMAT?$DN32?9bit_rle_rgbe@ - 00107 48 8b 8d 28 04 - 00 00 mov rcx, QWORD PTR token$[rbp] - 0010e e8 00 00 00 00 call strcmp - 00113 85 c0 test eax, eax - 00115 75 0a jne SHORT $LN12@stbi__hdr_ - -; 7760 : valid = 1; - - 00117 c7 85 44 04 00 - 00 01 00 00 00 mov DWORD PTR valid$[rbp], 1 -$LN12@stbi__hdr_: - -; 7761 : } - - 00121 eb ac jmp SHORT $LN2@stbi__hdr_ -$LN3@stbi__hdr_: - -; 7762 : -; 7763 : if (!valid) { - - 00123 83 bd 44 04 00 - 00 00 cmp DWORD PTR valid$[rbp], 0 - 0012a 75 14 jne SHORT $LN13@stbi__hdr_ - -; 7764 : stbi__rewind(s); - - 0012c 48 8b 8d e0 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00133 e8 00 00 00 00 call stbi__rewind - 00138 90 npad 1 - -; 7765 : return 0; - - 00139 33 c0 xor eax, eax - 0013b e9 11 01 00 00 jmp $LN1@stbi__hdr_ -$LN13@stbi__hdr_: - -; 7766 : } -; 7767 : token = stbi__hdr_gettoken(s, buffer); - - 00140 48 8d 55 10 lea rdx, QWORD PTR buffer$[rbp] - 00144 48 8b 8d e0 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0014b e8 00 00 00 00 call stbi__hdr_gettoken - 00150 48 89 85 28 04 - 00 00 mov QWORD PTR token$[rbp], rax - -; 7768 : if (strncmp(token, "-Y ", 3)) { - - 00157 41 b8 03 00 00 - 00 mov r8d, 3 - 0015d 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_03HKAKGGJN@?9Y?5@ - 00164 48 8b 8d 28 04 - 00 00 mov rcx, QWORD PTR token$[rbp] - 0016b ff 15 00 00 00 - 00 call QWORD PTR __imp_strncmp - 00171 85 c0 test eax, eax - 00173 74 14 je SHORT $LN14@stbi__hdr_ - -; 7769 : stbi__rewind(s); - - 00175 48 8b 8d e0 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0017c e8 00 00 00 00 call stbi__rewind - 00181 90 npad 1 - -; 7770 : return 0; - - 00182 33 c0 xor eax, eax - 00184 e9 c8 00 00 00 jmp $LN1@stbi__hdr_ -$LN14@stbi__hdr_: - -; 7771 : } -; 7772 : token += 3; - - 00189 48 8b 85 28 04 - 00 00 mov rax, QWORD PTR token$[rbp] - 00190 48 83 c0 03 add rax, 3 - 00194 48 89 85 28 04 - 00 00 mov QWORD PTR token$[rbp], rax - -; 7773 : *y = (int)strtol(token, &token, 10); - - 0019b 41 b8 0a 00 00 - 00 mov r8d, 10 - 001a1 48 8d 95 28 04 - 00 00 lea rdx, QWORD PTR token$[rbp] - 001a8 48 8b 8d 28 04 - 00 00 mov rcx, QWORD PTR token$[rbp] - 001af ff 15 00 00 00 - 00 call QWORD PTR __imp_strtol - 001b5 48 8b 8d f0 06 - 00 00 mov rcx, QWORD PTR y$[rbp] - 001bc 89 01 mov DWORD PTR [rcx], eax -$LN5@stbi__hdr_: - -; 7774 : while (*token == ' ') - - 001be 48 8b 85 28 04 - 00 00 mov rax, QWORD PTR token$[rbp] - 001c5 0f be 00 movsx eax, BYTE PTR [rax] - 001c8 83 f8 20 cmp eax, 32 ; 00000020H - 001cb 75 13 jne SHORT $LN6@stbi__hdr_ - -; 7775 : ++token; - - 001cd 48 8b 85 28 04 - 00 00 mov rax, QWORD PTR token$[rbp] - 001d4 48 ff c0 inc rax - 001d7 48 89 85 28 04 - 00 00 mov QWORD PTR token$[rbp], rax - 001de eb de jmp SHORT $LN5@stbi__hdr_ -$LN6@stbi__hdr_: - -; 7776 : if (strncmp(token, "+X ", 3)) { - - 001e0 41 b8 03 00 00 - 00 mov r8d, 3 - 001e6 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_03FOKDFDHG@?$CLX?5@ - 001ed 48 8b 8d 28 04 - 00 00 mov rcx, QWORD PTR token$[rbp] - 001f4 ff 15 00 00 00 - 00 call QWORD PTR __imp_strncmp - 001fa 85 c0 test eax, eax - 001fc 74 11 je SHORT $LN15@stbi__hdr_ - -; 7777 : stbi__rewind(s); - - 001fe 48 8b 8d e0 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00205 e8 00 00 00 00 call stbi__rewind - 0020a 90 npad 1 - -; 7778 : return 0; - - 0020b 33 c0 xor eax, eax - 0020d eb 42 jmp SHORT $LN1@stbi__hdr_ -$LN15@stbi__hdr_: - -; 7779 : } -; 7780 : token += 3; - - 0020f 48 8b 85 28 04 - 00 00 mov rax, QWORD PTR token$[rbp] - 00216 48 83 c0 03 add rax, 3 - 0021a 48 89 85 28 04 - 00 00 mov QWORD PTR token$[rbp], rax - -; 7781 : *x = (int)strtol(token, NULL, 10); - - 00221 41 b8 0a 00 00 - 00 mov r8d, 10 - 00227 33 d2 xor edx, edx - 00229 48 8b 8d 28 04 - 00 00 mov rcx, QWORD PTR token$[rbp] - 00230 ff 15 00 00 00 - 00 call QWORD PTR __imp_strtol - 00236 48 8b 8d e8 06 - 00 00 mov rcx, QWORD PTR x$[rbp] - 0023d 89 01 mov DWORD PTR [rcx], eax - -; 7782 : *comp = 3; - - 0023f 48 8b 85 f8 06 - 00 00 mov rax, QWORD PTR comp$[rbp] - 00246 c7 00 03 00 00 - 00 mov DWORD PTR [rax], 3 - -; 7783 : return 1; - - 0024c b8 01 00 00 00 mov eax, 1 -$LN1@stbi__hdr_: - -; 7784 : } - - 00251 48 8b f8 mov rdi, rax - 00254 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 00258 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__hdr_info$rtcFrameData - 0025f e8 00 00 00 00 call _RTC_CheckStackVars - 00264 48 8b c7 mov rax, rdi - 00267 48 8b 8d b8 06 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 0026e 48 33 cd xor rcx, rbp - 00271 e8 00 00 00 00 call __security_check_cookie - 00276 48 8d a5 c8 06 - 00 00 lea rsp, QWORD PTR [rbp+1736] - 0027d 5f pop rdi - 0027e 5d pop rbp - 0027f c3 ret 0 -stbi__hdr_info ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__hdr_load -_TEXT SEGMENT -buffer$ = 16 -token$ = 1064 -valid$ = 1092 -width$ = 1124 -height$ = 1156 -scanline$ = 1192 -hdr_data$ = 1224 -len$ = 1252 -count$ = 1284 -value$ = 1316 -i$ = 1348 -j$ = 1380 -k$ = 1412 -c1$ = 1444 -c2$ = 1476 -z$ = 1508 -headerToken$ = 1544 -rgbe$7 = 1572 -rgbe$8 = 1604 -nleft$9 = 1636 -tv309 = 2424 -tv78 = 2424 -tv94 = 2424 -tv138 = 2424 -tv155 = 2424 -tv165 = 2424 -tv170 = 2424 -tv183 = 2424 -tv194 = 2424 -tv256 = 2424 -tv267 = 2424 -tv290 = 2424 -__$ArrayPad$ = 2432 -s$ = 2480 -x$ = 2488 -y$ = 2496 -comp$ = 2504 -req_comp$ = 2512 -ri$ = 2520 -stbi__hdr_load PROC ; COMDAT - -; 7579 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec c8 09 - 00 00 sub rsp, 2504 ; 000009c8H - 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00022 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 00027 b9 a6 01 00 00 mov ecx, 422 ; 000001a6H - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 e8 - 09 00 00 mov rcx, QWORD PTR [rsp+2536] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 80 09 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 7580 : char buffer[STBI__HDR_BUFLEN]; -; 7581 : char *token; -; 7582 : int valid = 0; - - 00059 c7 85 44 04 00 - 00 00 00 00 00 mov DWORD PTR valid$[rbp], 0 - -; 7583 : int width, height; -; 7584 : stbi_uc *scanline; -; 7585 : float *hdr_data; -; 7586 : int len; -; 7587 : unsigned char count, value; -; 7588 : int i, j, k, c1, c2, z; -; 7589 : const char *headerToken; -; 7590 : STBI_NOTUSED(ri); -; 7591 : -; 7592 : // Check identifier -; 7593 : headerToken = stbi__hdr_gettoken(s, buffer); - - 00063 48 8d 55 10 lea rdx, QWORD PTR buffer$[rbp] - 00067 48 8b 8d b0 09 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0006e e8 00 00 00 00 call stbi__hdr_gettoken - 00073 48 89 85 08 06 - 00 00 mov QWORD PTR headerToken$[rbp], rax - -; 7594 : if (strcmp(headerToken, "#?RADIANCE") != 0 && strcmp(headerToken, "#?RGBE") != 0) - - 0007a 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_0L@NCPEAJBD@?$CD?$DPRADIANCE@ - 00081 48 8b 8d 08 06 - 00 00 mov rcx, QWORD PTR headerToken$[rbp] - 00088 e8 00 00 00 00 call strcmp - 0008d 85 c0 test eax, eax - 0008f 74 4b je SHORT $LN30@stbi__hdr_ - 00091 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_06NDOKKIDJ@?$CD?$DPRGBE@ - 00098 48 8b 8d 08 06 - 00 00 mov rcx, QWORD PTR headerToken$[rbp] - 0009f e8 00 00 00 00 call strcmp - 000a4 85 c0 test eax, eax - 000a6 74 34 je SHORT $LN30@stbi__hdr_ - -; 7595 : return stbi__errpf("not HDR", "Corrupt HDR image"); - - 000a8 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07NCIOKENI@not?5HDR@ - 000af e8 00 00 00 00 call stbi__err - 000b4 85 c0 test eax, eax - 000b6 74 0d je SHORT $LN58@stbi__hdr_ - 000b8 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv78[rbp], 0 - 000c3 eb 0b jmp SHORT $LN59@stbi__hdr_ -$LN58@stbi__hdr_: - 000c5 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv78[rbp], 0 -$LN59@stbi__hdr_: - 000d0 48 8b 85 78 09 - 00 00 mov rax, QWORD PTR tv78[rbp] - 000d7 e9 53 09 00 00 jmp $LN1@stbi__hdr_ -$LN30@stbi__hdr_: -$LN2@stbi__hdr_: - -; 7596 : -; 7597 : // Parse header -; 7598 : for (;;) { -; 7599 : token = stbi__hdr_gettoken(s, buffer); - - 000dc 48 8d 55 10 lea rdx, QWORD PTR buffer$[rbp] - 000e0 48 8b 8d b0 09 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000e7 e8 00 00 00 00 call stbi__hdr_gettoken - 000ec 48 89 85 28 04 - 00 00 mov QWORD PTR token$[rbp], rax - -; 7600 : if (token[0] == 0) - - 000f3 b8 01 00 00 00 mov eax, 1 - 000f8 48 6b c0 00 imul rax, rax, 0 - 000fc 48 8b 8d 28 04 - 00 00 mov rcx, QWORD PTR token$[rbp] - 00103 0f be 04 01 movsx eax, BYTE PTR [rcx+rax] - 00107 85 c0 test eax, eax - 00109 75 02 jne SHORT $LN31@stbi__hdr_ - -; 7601 : break; - - 0010b eb 23 jmp SHORT $LN3@stbi__hdr_ -$LN31@stbi__hdr_: - -; 7602 : if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) - - 0010d 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_0BH@JFGBLLKC@FORMAT?$DN32?9bit_rle_rgbe@ - 00114 48 8b 8d 28 04 - 00 00 mov rcx, QWORD PTR token$[rbp] - 0011b e8 00 00 00 00 call strcmp - 00120 85 c0 test eax, eax - 00122 75 0a jne SHORT $LN32@stbi__hdr_ - -; 7603 : valid = 1; - - 00124 c7 85 44 04 00 - 00 01 00 00 00 mov DWORD PTR valid$[rbp], 1 -$LN32@stbi__hdr_: - -; 7604 : } - - 0012e eb ac jmp SHORT $LN2@stbi__hdr_ -$LN3@stbi__hdr_: - -; 7605 : -; 7606 : if (!valid) - - 00130 83 bd 44 04 00 - 00 00 cmp DWORD PTR valid$[rbp], 0 - 00137 75 34 jne SHORT $LN33@stbi__hdr_ - -; 7607 : return stbi__errpf("unsupported format", "Unsupported HDR format"); - - 00139 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BD@NKJFFLKL@unsupported?5format@ - 00140 e8 00 00 00 00 call stbi__err - 00145 85 c0 test eax, eax - 00147 74 0d je SHORT $LN60@stbi__hdr_ - 00149 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv94[rbp], 0 - 00154 eb 0b jmp SHORT $LN61@stbi__hdr_ -$LN60@stbi__hdr_: - 00156 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv94[rbp], 0 -$LN61@stbi__hdr_: - 00161 48 8b 85 78 09 - 00 00 mov rax, QWORD PTR tv94[rbp] - 00168 e9 c2 08 00 00 jmp $LN1@stbi__hdr_ -$LN33@stbi__hdr_: - -; 7608 : -; 7609 : // Parse width and height -; 7610 : // can't use sscanf() if we're not using stdio! -; 7611 : token = stbi__hdr_gettoken(s, buffer); - - 0016d 48 8d 55 10 lea rdx, QWORD PTR buffer$[rbp] - 00171 48 8b 8d b0 09 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00178 e8 00 00 00 00 call stbi__hdr_gettoken - 0017d 48 89 85 28 04 - 00 00 mov QWORD PTR token$[rbp], rax - -; 7612 : if (strncmp(token, "-Y ", 3)) - - 00184 41 b8 03 00 00 - 00 mov r8d, 3 - 0018a 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_03HKAKGGJN@?9Y?5@ - 00191 48 8b 8d 28 04 - 00 00 mov rcx, QWORD PTR token$[rbp] - 00198 ff 15 00 00 00 - 00 call QWORD PTR __imp_strncmp - 0019e 85 c0 test eax, eax - 001a0 74 34 je SHORT $LN34@stbi__hdr_ - -; 7613 : return stbi__errpf("unsupported data layout", "Unsupported HDR format"); - - 001a2 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BI@DCNDPIOH@unsupported?5data?5layout@ - 001a9 e8 00 00 00 00 call stbi__err - 001ae 85 c0 test eax, eax - 001b0 74 0d je SHORT $LN62@stbi__hdr_ - 001b2 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv138[rbp], 0 - 001bd eb 0b jmp SHORT $LN63@stbi__hdr_ -$LN62@stbi__hdr_: - 001bf 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv138[rbp], 0 -$LN63@stbi__hdr_: - 001ca 48 8b 85 78 09 - 00 00 mov rax, QWORD PTR tv138[rbp] - 001d1 e9 59 08 00 00 jmp $LN1@stbi__hdr_ -$LN34@stbi__hdr_: - -; 7614 : token += 3; - - 001d6 48 8b 85 28 04 - 00 00 mov rax, QWORD PTR token$[rbp] - 001dd 48 83 c0 03 add rax, 3 - 001e1 48 89 85 28 04 - 00 00 mov QWORD PTR token$[rbp], rax - -; 7615 : height = (int)strtol(token, &token, 10); - - 001e8 41 b8 0a 00 00 - 00 mov r8d, 10 - 001ee 48 8d 95 28 04 - 00 00 lea rdx, QWORD PTR token$[rbp] - 001f5 48 8b 8d 28 04 - 00 00 mov rcx, QWORD PTR token$[rbp] - 001fc ff 15 00 00 00 - 00 call QWORD PTR __imp_strtol - 00202 89 85 84 04 00 - 00 mov DWORD PTR height$[rbp], eax -$LN5@stbi__hdr_: - -; 7616 : while (*token == ' ') - - 00208 48 8b 85 28 04 - 00 00 mov rax, QWORD PTR token$[rbp] - 0020f 0f be 00 movsx eax, BYTE PTR [rax] - 00212 83 f8 20 cmp eax, 32 ; 00000020H - 00215 75 13 jne SHORT $LN6@stbi__hdr_ - -; 7617 : ++token; - - 00217 48 8b 85 28 04 - 00 00 mov rax, QWORD PTR token$[rbp] - 0021e 48 ff c0 inc rax - 00221 48 89 85 28 04 - 00 00 mov QWORD PTR token$[rbp], rax - 00228 eb de jmp SHORT $LN5@stbi__hdr_ -$LN6@stbi__hdr_: - -; 7618 : if (strncmp(token, "+X ", 3)) - - 0022a 41 b8 03 00 00 - 00 mov r8d, 3 - 00230 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_03FOKDFDHG@?$CLX?5@ - 00237 48 8b 8d 28 04 - 00 00 mov rcx, QWORD PTR token$[rbp] - 0023e ff 15 00 00 00 - 00 call QWORD PTR __imp_strncmp - 00244 85 c0 test eax, eax - 00246 74 34 je SHORT $LN35@stbi__hdr_ - -; 7619 : return stbi__errpf("unsupported data layout", "Unsupported HDR format"); - - 00248 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BI@DCNDPIOH@unsupported?5data?5layout@ - 0024f e8 00 00 00 00 call stbi__err - 00254 85 c0 test eax, eax - 00256 74 0d je SHORT $LN64@stbi__hdr_ - 00258 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv155[rbp], 0 - 00263 eb 0b jmp SHORT $LN65@stbi__hdr_ -$LN64@stbi__hdr_: - 00265 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv155[rbp], 0 -$LN65@stbi__hdr_: - 00270 48 8b 85 78 09 - 00 00 mov rax, QWORD PTR tv155[rbp] - 00277 e9 b3 07 00 00 jmp $LN1@stbi__hdr_ -$LN35@stbi__hdr_: - -; 7620 : token += 3; - - 0027c 48 8b 85 28 04 - 00 00 mov rax, QWORD PTR token$[rbp] - 00283 48 83 c0 03 add rax, 3 - 00287 48 89 85 28 04 - 00 00 mov QWORD PTR token$[rbp], rax - -; 7621 : width = (int)strtol(token, NULL, 10); - - 0028e 41 b8 0a 00 00 - 00 mov r8d, 10 - 00294 33 d2 xor edx, edx - 00296 48 8b 8d 28 04 - 00 00 mov rcx, QWORD PTR token$[rbp] - 0029d ff 15 00 00 00 - 00 call QWORD PTR __imp_strtol - 002a3 89 85 64 04 00 - 00 mov DWORD PTR width$[rbp], eax - -; 7622 : -; 7623 : if (height > STBI_MAX_DIMENSIONS) - - 002a9 81 bd 84 04 00 - 00 00 00 00 01 cmp DWORD PTR height$[rbp], 16777216 ; 01000000H - 002b3 7e 34 jle SHORT $LN36@stbi__hdr_ - -; 7624 : return stbi__errpf("too large", "Very large image (corrupt?)"); - - 002b5 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 002bc e8 00 00 00 00 call stbi__err - 002c1 85 c0 test eax, eax - 002c3 74 0d je SHORT $LN66@stbi__hdr_ - 002c5 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv165[rbp], 0 - 002d0 eb 0b jmp SHORT $LN67@stbi__hdr_ -$LN66@stbi__hdr_: - 002d2 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv165[rbp], 0 -$LN67@stbi__hdr_: - 002dd 48 8b 85 78 09 - 00 00 mov rax, QWORD PTR tv165[rbp] - 002e4 e9 46 07 00 00 jmp $LN1@stbi__hdr_ -$LN36@stbi__hdr_: - -; 7625 : if (width > STBI_MAX_DIMENSIONS) - - 002e9 81 bd 64 04 00 - 00 00 00 00 01 cmp DWORD PTR width$[rbp], 16777216 ; 01000000H - 002f3 7e 34 jle SHORT $LN37@stbi__hdr_ - -; 7626 : return stbi__errpf("too large", "Very large image (corrupt?)"); - - 002f5 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 002fc e8 00 00 00 00 call stbi__err - 00301 85 c0 test eax, eax - 00303 74 0d je SHORT $LN68@stbi__hdr_ - 00305 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv170[rbp], 0 - 00310 eb 0b jmp SHORT $LN69@stbi__hdr_ -$LN68@stbi__hdr_: - 00312 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv170[rbp], 0 -$LN69@stbi__hdr_: - 0031d 48 8b 85 78 09 - 00 00 mov rax, QWORD PTR tv170[rbp] - 00324 e9 06 07 00 00 jmp $LN1@stbi__hdr_ -$LN37@stbi__hdr_: - -; 7627 : -; 7628 : *x = width; - - 00329 48 8b 85 b8 09 - 00 00 mov rax, QWORD PTR x$[rbp] - 00330 8b 8d 64 04 00 - 00 mov ecx, DWORD PTR width$[rbp] - 00336 89 08 mov DWORD PTR [rax], ecx - -; 7629 : *y = height; - - 00338 48 8b 85 c0 09 - 00 00 mov rax, QWORD PTR y$[rbp] - 0033f 8b 8d 84 04 00 - 00 mov ecx, DWORD PTR height$[rbp] - 00345 89 08 mov DWORD PTR [rax], ecx - -; 7630 : -; 7631 : if (comp) - - 00347 48 83 bd c8 09 - 00 00 00 cmp QWORD PTR comp$[rbp], 0 - 0034f 74 0d je SHORT $LN38@stbi__hdr_ - -; 7632 : *comp = 3; - - 00351 48 8b 85 c8 09 - 00 00 mov rax, QWORD PTR comp$[rbp] - 00358 c7 00 03 00 00 - 00 mov DWORD PTR [rax], 3 -$LN38@stbi__hdr_: - -; 7633 : if (req_comp == 0) - - 0035e 83 bd d0 09 00 - 00 00 cmp DWORD PTR req_comp$[rbp], 0 - 00365 75 0a jne SHORT $LN39@stbi__hdr_ - -; 7634 : req_comp = 3; - - 00367 c7 85 d0 09 00 - 00 03 00 00 00 mov DWORD PTR req_comp$[rbp], 3 -$LN39@stbi__hdr_: - -; 7635 : -; 7636 : if (!stbi__mad4sizes_valid(width, height, req_comp, sizeof(float), 0)) - - 00371 c7 44 24 20 00 - 00 00 00 mov DWORD PTR [rsp+32], 0 - 00379 41 b9 04 00 00 - 00 mov r9d, 4 - 0037f 44 8b 85 d0 09 - 00 00 mov r8d, DWORD PTR req_comp$[rbp] - 00386 8b 95 84 04 00 - 00 mov edx, DWORD PTR height$[rbp] - 0038c 8b 8d 64 04 00 - 00 mov ecx, DWORD PTR width$[rbp] - 00392 e8 00 00 00 00 call stbi__mad4sizes_valid - 00397 85 c0 test eax, eax - 00399 75 34 jne SHORT $LN40@stbi__hdr_ - -; 7637 : return stbi__errpf("too large", "HDR image is too large"); - - 0039b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 003a2 e8 00 00 00 00 call stbi__err - 003a7 85 c0 test eax, eax - 003a9 74 0d je SHORT $LN70@stbi__hdr_ - 003ab 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv183[rbp], 0 - 003b6 eb 0b jmp SHORT $LN71@stbi__hdr_ -$LN70@stbi__hdr_: - 003b8 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv183[rbp], 0 -$LN71@stbi__hdr_: - 003c3 48 8b 85 78 09 - 00 00 mov rax, QWORD PTR tv183[rbp] - 003ca e9 60 06 00 00 jmp $LN1@stbi__hdr_ -$LN40@stbi__hdr_: - -; 7638 : -; 7639 : // Read data -; 7640 : hdr_data = (float *)stbi__malloc_mad4(width, height, req_comp, sizeof(float), 0); - - 003cf c7 44 24 20 00 - 00 00 00 mov DWORD PTR [rsp+32], 0 - 003d7 41 b9 04 00 00 - 00 mov r9d, 4 - 003dd 44 8b 85 d0 09 - 00 00 mov r8d, DWORD PTR req_comp$[rbp] - 003e4 8b 95 84 04 00 - 00 mov edx, DWORD PTR height$[rbp] - 003ea 8b 8d 64 04 00 - 00 mov ecx, DWORD PTR width$[rbp] - 003f0 e8 00 00 00 00 call stbi__malloc_mad4 - 003f5 48 89 85 c8 04 - 00 00 mov QWORD PTR hdr_data$[rbp], rax - -; 7641 : if (!hdr_data) - - 003fc 48 83 bd c8 04 - 00 00 00 cmp QWORD PTR hdr_data$[rbp], 0 - 00404 75 34 jne SHORT $LN41@stbi__hdr_ - -; 7642 : return stbi__errpf("outofmem", "Out of memory"); - - 00406 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 0040d e8 00 00 00 00 call stbi__err - 00412 85 c0 test eax, eax - 00414 74 0d je SHORT $LN72@stbi__hdr_ - 00416 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv194[rbp], 0 - 00421 eb 0b jmp SHORT $LN73@stbi__hdr_ -$LN72@stbi__hdr_: - 00423 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv194[rbp], 0 -$LN73@stbi__hdr_: - 0042e 48 8b 85 78 09 - 00 00 mov rax, QWORD PTR tv194[rbp] - 00435 e9 f5 05 00 00 jmp $LN1@stbi__hdr_ -$LN41@stbi__hdr_: - -; 7643 : -; 7644 : // Load image data -; 7645 : // image data is stored as some number of sca -; 7646 : if (width < 8 || width >= 32768) { - - 0043a 83 bd 64 04 00 - 00 08 cmp DWORD PTR width$[rbp], 8 - 00441 7c 10 jl SHORT $LN44@stbi__hdr_ - 00443 81 bd 64 04 00 - 00 00 80 00 00 cmp DWORD PTR width$[rbp], 32768 ; 00008000H - 0044d 0f 8c c9 00 00 - 00 jl $LN42@stbi__hdr_ -$LN44@stbi__hdr_: - -; 7647 : // Read flat data -; 7648 : for (j = 0; j < height; ++j) { - - 00453 c7 85 64 05 00 - 00 00 00 00 00 mov DWORD PTR j$[rbp], 0 - 0045d eb 0e jmp SHORT $LN9@stbi__hdr_ -$LN7@stbi__hdr_: - 0045f 8b 85 64 05 00 - 00 mov eax, DWORD PTR j$[rbp] - 00465 ff c0 inc eax - 00467 89 85 64 05 00 - 00 mov DWORD PTR j$[rbp], eax -$LN9@stbi__hdr_: - 0046d 8b 85 84 04 00 - 00 mov eax, DWORD PTR height$[rbp] - 00473 39 85 64 05 00 - 00 cmp DWORD PTR j$[rbp], eax - 00479 0f 8d 98 00 00 - 00 jge $LN8@stbi__hdr_ - -; 7649 : for (i = 0; i < width; ++i) { - - 0047f c7 85 44 05 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 00489 eb 0e jmp SHORT $LN12@stbi__hdr_ -$LN10@stbi__hdr_: - 0048b 8b 85 44 05 00 - 00 mov eax, DWORD PTR i$[rbp] - 00491 ff c0 inc eax - 00493 89 85 44 05 00 - 00 mov DWORD PTR i$[rbp], eax -$LN12@stbi__hdr_: - 00499 8b 85 64 04 00 - 00 mov eax, DWORD PTR width$[rbp] - 0049f 39 85 44 05 00 - 00 cmp DWORD PTR i$[rbp], eax - 004a5 7d 6b jge SHORT $LN11@stbi__hdr_ -$main_decode_loop$82: - -; 7650 : stbi_uc rgbe[4]; -; 7651 : main_decode_loop: -; 7652 : stbi__getn(s, rgbe, 4); - - 004a7 41 b8 04 00 00 - 00 mov r8d, 4 - 004ad 48 8d 95 24 06 - 00 00 lea rdx, QWORD PTR rgbe$7[rbp] - 004b4 48 8b 8d b0 09 - 00 00 mov rcx, QWORD PTR s$[rbp] - 004bb e8 00 00 00 00 call stbi__getn - 004c0 90 npad 1 - -; 7653 : stbi__hdr_convert(hdr_data + j * width * req_comp + i * req_comp, - - 004c1 8b 85 64 05 00 - 00 mov eax, DWORD PTR j$[rbp] - 004c7 0f af 85 64 04 - 00 00 imul eax, DWORD PTR width$[rbp] - 004ce 0f af 85 d0 09 - 00 00 imul eax, DWORD PTR req_comp$[rbp] - 004d5 48 98 cdqe - 004d7 48 8b 8d c8 04 - 00 00 mov rcx, QWORD PTR hdr_data$[rbp] - 004de 48 8d 04 81 lea rax, QWORD PTR [rcx+rax*4] - 004e2 8b 8d 44 05 00 - 00 mov ecx, DWORD PTR i$[rbp] - 004e8 0f af 8d d0 09 - 00 00 imul ecx, DWORD PTR req_comp$[rbp] - 004ef 48 63 c9 movsxd rcx, ecx - 004f2 48 8d 04 88 lea rax, QWORD PTR [rax+rcx*4] - 004f6 44 8b 85 d0 09 - 00 00 mov r8d, DWORD PTR req_comp$[rbp] - 004fd 48 8d 95 24 06 - 00 00 lea rdx, QWORD PTR rgbe$7[rbp] - 00504 48 8b c8 mov rcx, rax - 00507 e8 00 00 00 00 call stbi__hdr_convert - 0050c 90 npad 1 - -; 7654 : rgbe, req_comp); -; 7655 : } - - 0050d e9 79 ff ff ff jmp $LN10@stbi__hdr_ -$LN11@stbi__hdr_: - -; 7656 : } - - 00512 e9 48 ff ff ff jmp $LN7@stbi__hdr_ -$LN8@stbi__hdr_: - -; 7657 : } else { - - 00517 e9 0c 05 00 00 jmp $LN43@stbi__hdr_ -$LN42@stbi__hdr_: - -; 7658 : // Read RLE-encoded data -; 7659 : scanline = NULL; - - 0051c 48 c7 85 a8 04 - 00 00 00 00 00 - 00 mov QWORD PTR scanline$[rbp], 0 - -; 7660 : -; 7661 : for (j = 0; j < height; ++j) { - - 00527 c7 85 64 05 00 - 00 00 00 00 00 mov DWORD PTR j$[rbp], 0 - 00531 eb 0e jmp SHORT $LN15@stbi__hdr_ -$LN13@stbi__hdr_: - 00533 8b 85 64 05 00 - 00 mov eax, DWORD PTR j$[rbp] - 00539 ff c0 inc eax - 0053b 89 85 64 05 00 - 00 mov DWORD PTR j$[rbp], eax -$LN15@stbi__hdr_: - 00541 8b 85 84 04 00 - 00 mov eax, DWORD PTR height$[rbp] - 00547 39 85 64 05 00 - 00 cmp DWORD PTR j$[rbp], eax - 0054d 0f 8d bd 04 00 - 00 jge $LN14@stbi__hdr_ - -; 7662 : c1 = stbi__get8(s); - - 00553 48 8b 8d b0 09 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0055a e8 00 00 00 00 call stbi__get8 - 0055f 0f b6 c0 movzx eax, al - 00562 89 85 a4 05 00 - 00 mov DWORD PTR c1$[rbp], eax - -; 7663 : c2 = stbi__get8(s); - - 00568 48 8b 8d b0 09 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0056f e8 00 00 00 00 call stbi__get8 - 00574 0f b6 c0 movzx eax, al - 00577 89 85 c4 05 00 - 00 mov DWORD PTR c2$[rbp], eax - -; 7664 : len = stbi__get8(s); - - 0057d 48 8b 8d b0 09 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00584 e8 00 00 00 00 call stbi__get8 - 00589 0f b6 c0 movzx eax, al - 0058c 89 85 e4 04 00 - 00 mov DWORD PTR len$[rbp], eax - -; 7665 : if (c1 != 2 || c2 != 2 || (len & 0x80)) { - - 00592 83 bd a4 05 00 - 00 02 cmp DWORD PTR c1$[rbp], 2 - 00599 75 1c jne SHORT $LN46@stbi__hdr_ - 0059b 83 bd c4 05 00 - 00 02 cmp DWORD PTR c2$[rbp], 2 - 005a2 75 13 jne SHORT $LN46@stbi__hdr_ - 005a4 8b 85 e4 04 00 - 00 mov eax, DWORD PTR len$[rbp] - 005aa 25 80 00 00 00 and eax, 128 ; 00000080H - 005af 85 c0 test eax, eax - 005b1 0f 84 a3 00 00 - 00 je $LN45@stbi__hdr_ -$LN46@stbi__hdr_: - -; 7666 : // not run-length encoded, so we have to actually use THIS data as a decoded -; 7667 : // pixel (note this can't be a valid pixel--one of RGB must be >= 128) -; 7668 : stbi_uc rgbe[4]; -; 7669 : rgbe[0] = (stbi_uc)c1; - - 005b7 b8 01 00 00 00 mov eax, 1 - 005bc 48 6b c0 00 imul rax, rax, 0 - 005c0 0f b6 8d a4 05 - 00 00 movzx ecx, BYTE PTR c1$[rbp] - 005c7 88 8c 05 44 06 - 00 00 mov BYTE PTR rgbe$8[rbp+rax], cl - -; 7670 : rgbe[1] = (stbi_uc)c2; - - 005ce b8 01 00 00 00 mov eax, 1 - 005d3 48 6b c0 01 imul rax, rax, 1 - 005d7 0f b6 8d c4 05 - 00 00 movzx ecx, BYTE PTR c2$[rbp] - 005de 88 8c 05 44 06 - 00 00 mov BYTE PTR rgbe$8[rbp+rax], cl - -; 7671 : rgbe[2] = (stbi_uc)len; - - 005e5 b8 01 00 00 00 mov eax, 1 - 005ea 48 6b c0 02 imul rax, rax, 2 - 005ee 0f b6 8d e4 04 - 00 00 movzx ecx, BYTE PTR len$[rbp] - 005f5 88 8c 05 44 06 - 00 00 mov BYTE PTR rgbe$8[rbp+rax], cl - -; 7672 : rgbe[3] = (stbi_uc)stbi__get8(s); - - 005fc 48 8b 8d b0 09 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00603 e8 00 00 00 00 call stbi__get8 - 00608 b9 01 00 00 00 mov ecx, 1 - 0060d 48 6b c9 03 imul rcx, rcx, 3 - 00611 88 84 0d 44 06 - 00 00 mov BYTE PTR rgbe$8[rbp+rcx], al - -; 7673 : stbi__hdr_convert(hdr_data, rgbe, req_comp); - - 00618 44 8b 85 d0 09 - 00 00 mov r8d, DWORD PTR req_comp$[rbp] - 0061f 48 8d 95 44 06 - 00 00 lea rdx, QWORD PTR rgbe$8[rbp] - 00626 48 8b 8d c8 04 - 00 00 mov rcx, QWORD PTR hdr_data$[rbp] - 0062d e8 00 00 00 00 call stbi__hdr_convert - 00632 90 npad 1 - -; 7674 : i = 1; - - 00633 c7 85 44 05 00 - 00 01 00 00 00 mov DWORD PTR i$[rbp], 1 - -; 7675 : j = 0; - - 0063d c7 85 64 05 00 - 00 00 00 00 00 mov DWORD PTR j$[rbp], 0 - -; 7676 : STBI_FREE(scanline); - - 00647 48 8b 8d a8 04 - 00 00 mov rcx, QWORD PTR scanline$[rbp] - 0064e ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00654 90 npad 1 - -; 7677 : goto main_decode_loop; // yes, this makes no sense - - 00655 e9 4d fe ff ff jmp $main_decode_loop$82 -$LN45@stbi__hdr_: - -; 7678 : } -; 7679 : len <<= 8; - - 0065a 8b 85 e4 04 00 - 00 mov eax, DWORD PTR len$[rbp] - 00660 c1 e0 08 shl eax, 8 - 00663 89 85 e4 04 00 - 00 mov DWORD PTR len$[rbp], eax - -; 7680 : len |= stbi__get8(s); - - 00669 48 8b 8d b0 09 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00670 e8 00 00 00 00 call stbi__get8 - 00675 0f b6 c0 movzx eax, al - 00678 8b 8d e4 04 00 - 00 mov ecx, DWORD PTR len$[rbp] - 0067e 0b c8 or ecx, eax - 00680 8b c1 mov eax, ecx - 00682 89 85 e4 04 00 - 00 mov DWORD PTR len$[rbp], eax - -; 7681 : if (len != width) { - - 00688 8b 85 64 04 00 - 00 mov eax, DWORD PTR width$[rbp] - 0068e 39 85 e4 04 00 - 00 cmp DWORD PTR len$[rbp], eax - 00694 74 50 je SHORT $LN47@stbi__hdr_ - -; 7682 : STBI_FREE(hdr_data); - - 00696 48 8b 8d c8 04 - 00 00 mov rcx, QWORD PTR hdr_data$[rbp] - 0069d ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 006a3 90 npad 1 - -; 7683 : STBI_FREE(scanline); - - 006a4 48 8b 8d a8 04 - 00 00 mov rcx, QWORD PTR scanline$[rbp] - 006ab ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 006b1 90 npad 1 - -; 7684 : return stbi__errpf("invalid decoded scanline length", - - 006b2 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0CA@JBEOCDFN@invalid?5decoded?5scanline?5length@ - 006b9 e8 00 00 00 00 call stbi__err - 006be 85 c0 test eax, eax - 006c0 74 0d je SHORT $LN74@stbi__hdr_ - 006c2 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv256[rbp], 0 - 006cd eb 0b jmp SHORT $LN75@stbi__hdr_ -$LN74@stbi__hdr_: - 006cf 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv256[rbp], 0 -$LN75@stbi__hdr_: - 006da 48 8b 85 78 09 - 00 00 mov rax, QWORD PTR tv256[rbp] - 006e1 e9 49 03 00 00 jmp $LN1@stbi__hdr_ -$LN47@stbi__hdr_: - -; 7685 : "corrupt HDR"); -; 7686 : } -; 7687 : if (scanline == NULL) { - - 006e6 48 83 bd a8 04 - 00 00 00 cmp QWORD PTR scanline$[rbp], 0 - 006ee 75 66 jne SHORT $LN48@stbi__hdr_ - -; 7688 : scanline = (stbi_uc *)stbi__malloc_mad2(width, 4, 0); - - 006f0 45 33 c0 xor r8d, r8d - 006f3 ba 04 00 00 00 mov edx, 4 - 006f8 8b 8d 64 04 00 - 00 mov ecx, DWORD PTR width$[rbp] - 006fe e8 00 00 00 00 call stbi__malloc_mad2 - 00703 48 89 85 a8 04 - 00 00 mov QWORD PTR scanline$[rbp], rax - -; 7689 : if (!scanline) { - - 0070a 48 83 bd a8 04 - 00 00 00 cmp QWORD PTR scanline$[rbp], 0 - 00712 75 42 jne SHORT $LN49@stbi__hdr_ - -; 7690 : STBI_FREE(hdr_data); - - 00714 48 8b 8d c8 04 - 00 00 mov rcx, QWORD PTR hdr_data$[rbp] - 0071b ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00721 90 npad 1 - -; 7691 : return stbi__errpf("outofmem", "Out of memory"); - - 00722 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 00729 e8 00 00 00 00 call stbi__err - 0072e 85 c0 test eax, eax - 00730 74 0d je SHORT $LN76@stbi__hdr_ - 00732 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv267[rbp], 0 - 0073d eb 0b jmp SHORT $LN77@stbi__hdr_ -$LN76@stbi__hdr_: - 0073f 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv267[rbp], 0 -$LN77@stbi__hdr_: - 0074a 48 8b 85 78 09 - 00 00 mov rax, QWORD PTR tv267[rbp] - 00751 e9 d9 02 00 00 jmp $LN1@stbi__hdr_ -$LN49@stbi__hdr_: -$LN48@stbi__hdr_: - -; 7692 : } -; 7693 : } -; 7694 : -; 7695 : for (k = 0; k < 4; ++k) { - - 00756 c7 85 84 05 00 - 00 00 00 00 00 mov DWORD PTR k$[rbp], 0 - 00760 eb 0e jmp SHORT $LN18@stbi__hdr_ -$LN16@stbi__hdr_: - 00762 8b 85 84 05 00 - 00 mov eax, DWORD PTR k$[rbp] - 00768 ff c0 inc eax - 0076a 89 85 84 05 00 - 00 mov DWORD PTR k$[rbp], eax -$LN18@stbi__hdr_: - 00770 83 bd 84 05 00 - 00 04 cmp DWORD PTR k$[rbp], 4 - 00777 0f 8d 14 02 00 - 00 jge $LN17@stbi__hdr_ - -; 7696 : int nleft; -; 7697 : i = 0; - - 0077d c7 85 44 05 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 -$LN19@stbi__hdr_: - -; 7698 : while ((nleft = width - i) > 0) { - - 00787 8b 85 44 05 00 - 00 mov eax, DWORD PTR i$[rbp] - 0078d 8b 8d 64 04 00 - 00 mov ecx, DWORD PTR width$[rbp] - 00793 2b c8 sub ecx, eax - 00795 8b c1 mov eax, ecx - 00797 89 85 64 06 00 - 00 mov DWORD PTR nleft$9[rbp], eax - 0079d 83 bd 64 06 00 - 00 00 cmp DWORD PTR nleft$9[rbp], 0 - 007a4 0f 8e e2 01 00 - 00 jle $LN20@stbi__hdr_ - -; 7699 : count = stbi__get8(s); - - 007aa 48 8b 8d b0 09 - 00 00 mov rcx, QWORD PTR s$[rbp] - 007b1 e8 00 00 00 00 call stbi__get8 - 007b6 88 85 04 05 00 - 00 mov BYTE PTR count$[rbp], al - -; 7700 : if (count > 128) { - - 007bc 0f b6 85 04 05 - 00 00 movzx eax, BYTE PTR count$[rbp] - 007c3 3d 80 00 00 00 cmp eax, 128 ; 00000080H - 007c8 0f 8e ee 00 00 - 00 jle $LN50@stbi__hdr_ - -; 7701 : // Run -; 7702 : value = stbi__get8(s); - - 007ce 48 8b 8d b0 09 - 00 00 mov rcx, QWORD PTR s$[rbp] - 007d5 e8 00 00 00 00 call stbi__get8 - 007da 88 85 24 05 00 - 00 mov BYTE PTR value$[rbp], al - -; 7703 : count -= 128; - - 007e0 0f b6 85 04 05 - 00 00 movzx eax, BYTE PTR count$[rbp] - 007e7 2d 80 00 00 00 sub eax, 128 ; 00000080H - 007ec 88 85 04 05 00 - 00 mov BYTE PTR count$[rbp], al - -; 7704 : if ((count == 0) || (count > nleft)) { - - 007f2 0f b6 85 04 05 - 00 00 movzx eax, BYTE PTR count$[rbp] - 007f9 85 c0 test eax, eax - 007fb 74 0f je SHORT $LN53@stbi__hdr_ - 007fd 0f b6 85 04 05 - 00 00 movzx eax, BYTE PTR count$[rbp] - 00804 3b 85 64 06 00 - 00 cmp eax, DWORD PTR nleft$9[rbp] - 0080a 7e 50 jle SHORT $LN52@stbi__hdr_ -$LN53@stbi__hdr_: - -; 7705 : STBI_FREE(hdr_data); - - 0080c 48 8b 8d c8 04 - 00 00 mov rcx, QWORD PTR hdr_data$[rbp] - 00813 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00819 90 npad 1 - -; 7706 : STBI_FREE(scanline); - - 0081a 48 8b 8d a8 04 - 00 00 mov rcx, QWORD PTR scanline$[rbp] - 00821 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00827 90 npad 1 - -; 7707 : return stbi__errpf("corrupt", - - 00828 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07DPPMCAKL@corrupt@ - 0082f e8 00 00 00 00 call stbi__err - 00834 85 c0 test eax, eax - 00836 74 0d je SHORT $LN78@stbi__hdr_ - 00838 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv290[rbp], 0 - 00843 eb 0b jmp SHORT $LN79@stbi__hdr_ -$LN78@stbi__hdr_: - 00845 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv290[rbp], 0 -$LN79@stbi__hdr_: - 00850 48 8b 85 78 09 - 00 00 mov rax, QWORD PTR tv290[rbp] - 00857 e9 d3 01 00 00 jmp $LN1@stbi__hdr_ -$LN52@stbi__hdr_: - -; 7708 : "bad RLE data in HDR"); -; 7709 : } -; 7710 : for (z = 0; z < count; ++z) - - 0085c c7 85 e4 05 00 - 00 00 00 00 00 mov DWORD PTR z$[rbp], 0 - 00866 eb 0e jmp SHORT $LN23@stbi__hdr_ -$LN21@stbi__hdr_: - 00868 8b 85 e4 05 00 - 00 mov eax, DWORD PTR z$[rbp] - 0086e ff c0 inc eax - 00870 89 85 e4 05 00 - 00 mov DWORD PTR z$[rbp], eax -$LN23@stbi__hdr_: - 00876 0f b6 85 04 05 - 00 00 movzx eax, BYTE PTR count$[rbp] - 0087d 39 85 e4 05 00 - 00 cmp DWORD PTR z$[rbp], eax - 00883 7d 32 jge SHORT $LN22@stbi__hdr_ - -; 7711 : scanline[i++ * 4 + k] = value; - - 00885 8b 85 84 05 00 - 00 mov eax, DWORD PTR k$[rbp] - 0088b 8b 8d 44 05 00 - 00 mov ecx, DWORD PTR i$[rbp] - 00891 8d 04 88 lea eax, DWORD PTR [rax+rcx*4] - 00894 48 98 cdqe - 00896 48 8b 8d a8 04 - 00 00 mov rcx, QWORD PTR scanline$[rbp] - 0089d 0f b6 95 24 05 - 00 00 movzx edx, BYTE PTR value$[rbp] - 008a4 88 14 01 mov BYTE PTR [rcx+rax], dl - 008a7 8b 85 44 05 00 - 00 mov eax, DWORD PTR i$[rbp] - 008ad ff c0 inc eax - 008af 89 85 44 05 00 - 00 mov DWORD PTR i$[rbp], eax - 008b5 eb b1 jmp SHORT $LN21@stbi__hdr_ -$LN22@stbi__hdr_: - -; 7712 : } else { - - 008b7 e9 cb 00 00 00 jmp $LN51@stbi__hdr_ -$LN50@stbi__hdr_: - -; 7713 : // Dump -; 7714 : if ((count == 0) || (count > nleft)) { - - 008bc 0f b6 85 04 05 - 00 00 movzx eax, BYTE PTR count$[rbp] - 008c3 85 c0 test eax, eax - 008c5 74 0f je SHORT $LN55@stbi__hdr_ - 008c7 0f b6 85 04 05 - 00 00 movzx eax, BYTE PTR count$[rbp] - 008ce 3b 85 64 06 00 - 00 cmp eax, DWORD PTR nleft$9[rbp] - 008d4 7e 50 jle SHORT $LN54@stbi__hdr_ -$LN55@stbi__hdr_: - -; 7715 : STBI_FREE(hdr_data); - - 008d6 48 8b 8d c8 04 - 00 00 mov rcx, QWORD PTR hdr_data$[rbp] - 008dd ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 008e3 90 npad 1 - -; 7716 : STBI_FREE(scanline); - - 008e4 48 8b 8d a8 04 - 00 00 mov rcx, QWORD PTR scanline$[rbp] - 008eb ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 008f1 90 npad 1 - -; 7717 : return stbi__errpf("corrupt", - - 008f2 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07DPPMCAKL@corrupt@ - 008f9 e8 00 00 00 00 call stbi__err - 008fe 85 c0 test eax, eax - 00900 74 0d je SHORT $LN80@stbi__hdr_ - 00902 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv309[rbp], 0 - 0090d eb 0b jmp SHORT $LN81@stbi__hdr_ -$LN80@stbi__hdr_: - 0090f 48 c7 85 78 09 - 00 00 00 00 00 - 00 mov QWORD PTR tv309[rbp], 0 -$LN81@stbi__hdr_: - 0091a 48 8b 85 78 09 - 00 00 mov rax, QWORD PTR tv309[rbp] - 00921 e9 09 01 00 00 jmp $LN1@stbi__hdr_ -$LN54@stbi__hdr_: - -; 7718 : "bad RLE data in HDR"); -; 7719 : } -; 7720 : for (z = 0; z < count; ++z) - - 00926 c7 85 e4 05 00 - 00 00 00 00 00 mov DWORD PTR z$[rbp], 0 - 00930 eb 0e jmp SHORT $LN26@stbi__hdr_ -$LN24@stbi__hdr_: - 00932 8b 85 e4 05 00 - 00 mov eax, DWORD PTR z$[rbp] - 00938 ff c0 inc eax - 0093a 89 85 e4 05 00 - 00 mov DWORD PTR z$[rbp], eax -$LN26@stbi__hdr_: - 00940 0f b6 85 04 05 - 00 00 movzx eax, BYTE PTR count$[rbp] - 00947 39 85 e4 05 00 - 00 cmp DWORD PTR z$[rbp], eax - 0094d 7d 38 jge SHORT $LN25@stbi__hdr_ - -; 7721 : scanline[i++ * 4 + k] = stbi__get8(s); - - 0094f 48 8b 8d b0 09 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00956 e8 00 00 00 00 call stbi__get8 - 0095b 8b 8d 84 05 00 - 00 mov ecx, DWORD PTR k$[rbp] - 00961 8b 95 44 05 00 - 00 mov edx, DWORD PTR i$[rbp] - 00967 8d 0c 91 lea ecx, DWORD PTR [rcx+rdx*4] - 0096a 48 63 c9 movsxd rcx, ecx - 0096d 48 8b 95 a8 04 - 00 00 mov rdx, QWORD PTR scanline$[rbp] - 00974 88 04 0a mov BYTE PTR [rdx+rcx], al - 00977 8b 85 44 05 00 - 00 mov eax, DWORD PTR i$[rbp] - 0097d ff c0 inc eax - 0097f 89 85 44 05 00 - 00 mov DWORD PTR i$[rbp], eax - 00985 eb ab jmp SHORT $LN24@stbi__hdr_ -$LN25@stbi__hdr_: -$LN51@stbi__hdr_: - -; 7722 : } -; 7723 : } - - 00987 e9 fb fd ff ff jmp $LN19@stbi__hdr_ -$LN20@stbi__hdr_: - -; 7724 : } - - 0098c e9 d1 fd ff ff jmp $LN16@stbi__hdr_ -$LN17@stbi__hdr_: - -; 7725 : for (i = 0; i < width; ++i) - - 00991 c7 85 44 05 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 0099b eb 0e jmp SHORT $LN29@stbi__hdr_ -$LN27@stbi__hdr_: - 0099d 8b 85 44 05 00 - 00 mov eax, DWORD PTR i$[rbp] - 009a3 ff c0 inc eax - 009a5 89 85 44 05 00 - 00 mov DWORD PTR i$[rbp], eax -$LN29@stbi__hdr_: - 009ab 8b 85 64 04 00 - 00 mov eax, DWORD PTR width$[rbp] - 009b1 39 85 44 05 00 - 00 cmp DWORD PTR i$[rbp], eax - 009b7 7d 52 jge SHORT $LN28@stbi__hdr_ - -; 7726 : stbi__hdr_convert(hdr_data + (j * width + i) * req_comp, - - 009b9 8b 85 44 05 00 - 00 mov eax, DWORD PTR i$[rbp] - 009bf c1 e0 02 shl eax, 2 - 009c2 48 98 cdqe - 009c4 48 8b 8d a8 04 - 00 00 mov rcx, QWORD PTR scanline$[rbp] - 009cb 48 03 c8 add rcx, rax - 009ce 48 8b c1 mov rax, rcx - 009d1 8b 8d 64 05 00 - 00 mov ecx, DWORD PTR j$[rbp] - 009d7 0f af 8d 64 04 - 00 00 imul ecx, DWORD PTR width$[rbp] - 009de 03 8d 44 05 00 - 00 add ecx, DWORD PTR i$[rbp] - 009e4 0f af 8d d0 09 - 00 00 imul ecx, DWORD PTR req_comp$[rbp] - 009eb 48 63 c9 movsxd rcx, ecx - 009ee 48 8b 95 c8 04 - 00 00 mov rdx, QWORD PTR hdr_data$[rbp] - 009f5 48 8d 0c 8a lea rcx, QWORD PTR [rdx+rcx*4] - 009f9 44 8b 85 d0 09 - 00 00 mov r8d, DWORD PTR req_comp$[rbp] - 00a00 48 8b d0 mov rdx, rax - 00a03 e8 00 00 00 00 call stbi__hdr_convert - 00a08 90 npad 1 - 00a09 eb 92 jmp SHORT $LN27@stbi__hdr_ -$LN28@stbi__hdr_: - -; 7727 : scanline + i * 4, req_comp); -; 7728 : } - - 00a0b e9 23 fb ff ff jmp $LN13@stbi__hdr_ -$LN14@stbi__hdr_: - -; 7729 : if (scanline) - - 00a10 48 83 bd a8 04 - 00 00 00 cmp QWORD PTR scanline$[rbp], 0 - 00a18 74 0e je SHORT $LN56@stbi__hdr_ - -; 7730 : STBI_FREE(scanline); - - 00a1a 48 8b 8d a8 04 - 00 00 mov rcx, QWORD PTR scanline$[rbp] - 00a21 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00a27 90 npad 1 -$LN56@stbi__hdr_: -$LN43@stbi__hdr_: - -; 7731 : } -; 7732 : -; 7733 : return hdr_data; - - 00a28 48 8b 85 c8 04 - 00 00 mov rax, QWORD PTR hdr_data$[rbp] -$LN1@stbi__hdr_: - -; 7734 : } - - 00a2f 48 8b f8 mov rdi, rax - 00a32 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 00a36 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__hdr_load$rtcFrameData - 00a3d e8 00 00 00 00 call _RTC_CheckStackVars - 00a42 48 8b c7 mov rax, rdi - 00a45 48 8b 8d 80 09 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 00a4c 48 33 cd xor rcx, rbp - 00a4f e8 00 00 00 00 call __security_check_cookie - 00a54 48 8d a5 98 09 - 00 00 lea rsp, QWORD PTR [rbp+2456] - 00a5b 5f pop rdi - 00a5c 5d pop rbp - 00a5d c3 ret 0 -stbi__hdr_load ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__hdr_test -_TEXT SEGMENT -r$ = 4 -s$ = 256 -stbi__hdr_test PROC ; COMDAT - -; 7511 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 7512 : int r = stbi__hdr_test_core(s, "#?RADIANCE\n"); - - 00020 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_0M@HOIDFNFN@?$CD?$DPRADIANCE?6@ - 00027 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0002e e8 00 00 00 00 call stbi__hdr_test_core - 00033 89 45 04 mov DWORD PTR r$[rbp], eax - -; 7513 : stbi__rewind(s); - - 00036 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0003d e8 00 00 00 00 call stbi__rewind - 00042 90 npad 1 - -; 7514 : if (!r) { - - 00043 83 7d 04 00 cmp DWORD PTR r$[rbp], 0 - 00047 75 23 jne SHORT $LN2@stbi__hdr_ - -; 7515 : r = stbi__hdr_test_core(s, "#?RGBE\n"); - - 00049 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_07KFDJIKCK@?$CD?$DPRGBE?6@ - 00050 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00057 e8 00 00 00 00 call stbi__hdr_test_core - 0005c 89 45 04 mov DWORD PTR r$[rbp], eax - -; 7516 : stbi__rewind(s); - - 0005f 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00066 e8 00 00 00 00 call stbi__rewind - 0006b 90 npad 1 -$LN2@stbi__hdr_: - -; 7517 : } -; 7518 : return r; - - 0006c 8b 45 04 mov eax, DWORD PTR r$[rbp] - -; 7519 : } - - 0006f 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 00076 5f pop rdi - 00077 5d pop rbp - 00078 c3 ret 0 -stbi__hdr_test ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__psd_is16 -_TEXT SEGMENT -channelCount$ = 4 -depth$ = 36 -s$ = 288 -stbi__psd_is16 PROC ; COMDAT - -; 7853 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 28 01 - 00 00 sub rsp, 296 ; 00000128H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 7854 : int channelCount, depth; -; 7855 : if (stbi__get32be(s) != 0x38425053) { - - 00020 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00027 e8 00 00 00 00 call stbi__get32be - 0002c 3d 53 50 42 38 cmp eax, 943870035 ; 38425053H - 00031 74 14 je SHORT $LN2@stbi__psd_ - -; 7856 : stbi__rewind(s); - - 00033 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0003a e8 00 00 00 00 call stbi__rewind - 0003f 90 npad 1 - -; 7857 : return 0; - - 00040 33 c0 xor eax, eax - 00042 e9 a8 00 00 00 jmp $LN1@stbi__psd_ -$LN2@stbi__psd_: - -; 7858 : } -; 7859 : if (stbi__get16be(s) != 1) { - - 00047 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0004e e8 00 00 00 00 call stbi__get16be - 00053 83 f8 01 cmp eax, 1 - 00056 74 14 je SHORT $LN3@stbi__psd_ - -; 7860 : stbi__rewind(s); - - 00058 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0005f e8 00 00 00 00 call stbi__rewind - 00064 90 npad 1 - -; 7861 : return 0; - - 00065 33 c0 xor eax, eax - 00067 e9 83 00 00 00 jmp $LN1@stbi__psd_ -$LN3@stbi__psd_: - -; 7862 : } -; 7863 : stbi__skip(s, 6); - - 0006c ba 06 00 00 00 mov edx, 6 - 00071 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00078 e8 00 00 00 00 call stbi__skip - 0007d 90 npad 1 - -; 7864 : channelCount = stbi__get16be(s); - - 0007e 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00085 e8 00 00 00 00 call stbi__get16be - 0008a 89 45 04 mov DWORD PTR channelCount$[rbp], eax - -; 7865 : if (channelCount < 0 || channelCount > 16) { - - 0008d 83 7d 04 00 cmp DWORD PTR channelCount$[rbp], 0 - 00091 7c 06 jl SHORT $LN5@stbi__psd_ - 00093 83 7d 04 10 cmp DWORD PTR channelCount$[rbp], 16 - 00097 7e 11 jle SHORT $LN4@stbi__psd_ -$LN5@stbi__psd_: - -; 7866 : stbi__rewind(s); - - 00099 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000a0 e8 00 00 00 00 call stbi__rewind - 000a5 90 npad 1 - -; 7867 : return 0; - - 000a6 33 c0 xor eax, eax - 000a8 eb 45 jmp SHORT $LN1@stbi__psd_ -$LN4@stbi__psd_: - -; 7868 : } -; 7869 : STBI_NOTUSED(stbi__get32be(s)); - - 000aa 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000b1 e8 00 00 00 00 call stbi__get32be - 000b6 90 npad 1 - -; 7870 : STBI_NOTUSED(stbi__get32be(s)); - - 000b7 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000be e8 00 00 00 00 call stbi__get32be - 000c3 90 npad 1 - -; 7871 : depth = stbi__get16be(s); - - 000c4 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000cb e8 00 00 00 00 call stbi__get16be - 000d0 89 45 24 mov DWORD PTR depth$[rbp], eax - -; 7872 : if (depth != 16) { - - 000d3 83 7d 24 10 cmp DWORD PTR depth$[rbp], 16 - 000d7 74 11 je SHORT $LN6@stbi__psd_ - -; 7873 : stbi__rewind(s); - - 000d9 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000e0 e8 00 00 00 00 call stbi__rewind - 000e5 90 npad 1 - -; 7874 : return 0; - - 000e6 33 c0 xor eax, eax - 000e8 eb 05 jmp SHORT $LN1@stbi__psd_ -$LN6@stbi__psd_: - -; 7875 : } -; 7876 : return 1; - - 000ea b8 01 00 00 00 mov eax, 1 -$LN1@stbi__psd_: - -; 7877 : } - - 000ef 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 000f6 5f pop rdi - 000f7 5d pop rbp - 000f8 c3 ret 0 -stbi__psd_is16 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__psd_info -_TEXT SEGMENT -channelCount$ = 4 -dummy$ = 36 -depth$ = 68 -__$ArrayPad$ = 280 -s$ = 320 -x$ = 328 -y$ = 336 -comp$ = 344 -stbi__psd_info PROC ; COMDAT - -; 7815 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 48 01 - 00 00 sub rsp, 328 ; 00000148H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 00027 b9 1a 00 00 00 mov ecx, 26 - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 68 - 01 00 00 mov rcx, QWORD PTR [rsp+360] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 18 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 7816 : int channelCount, dummy, depth; -; 7817 : if (!x) - - 00059 48 83 bd 48 01 - 00 00 00 cmp QWORD PTR x$[rbp], 0 - 00061 75 0b jne SHORT $LN2@stbi__psd_ - -; 7818 : x = &dummy; - - 00063 48 8d 45 24 lea rax, QWORD PTR dummy$[rbp] - 00067 48 89 85 48 01 - 00 00 mov QWORD PTR x$[rbp], rax -$LN2@stbi__psd_: - -; 7819 : if (!y) - - 0006e 48 83 bd 50 01 - 00 00 00 cmp QWORD PTR y$[rbp], 0 - 00076 75 0b jne SHORT $LN3@stbi__psd_ - -; 7820 : y = &dummy; - - 00078 48 8d 45 24 lea rax, QWORD PTR dummy$[rbp] - 0007c 48 89 85 50 01 - 00 00 mov QWORD PTR y$[rbp], rax -$LN3@stbi__psd_: - -; 7821 : if (!comp) - - 00083 48 83 bd 58 01 - 00 00 00 cmp QWORD PTR comp$[rbp], 0 - 0008b 75 0b jne SHORT $LN4@stbi__psd_ - -; 7822 : comp = &dummy; - - 0008d 48 8d 45 24 lea rax, QWORD PTR dummy$[rbp] - 00091 48 89 85 58 01 - 00 00 mov QWORD PTR comp$[rbp], rax -$LN4@stbi__psd_: - -; 7823 : if (stbi__get32be(s) != 0x38425053) { - - 00098 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0009f e8 00 00 00 00 call stbi__get32be - 000a4 3d 53 50 42 38 cmp eax, 943870035 ; 38425053H - 000a9 74 14 je SHORT $LN5@stbi__psd_ - -; 7824 : stbi__rewind(s); - - 000ab 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000b2 e8 00 00 00 00 call stbi__rewind - 000b7 90 npad 1 - -; 7825 : return 0; - - 000b8 33 c0 xor eax, eax - 000ba e9 f0 00 00 00 jmp $LN1@stbi__psd_ -$LN5@stbi__psd_: - -; 7826 : } -; 7827 : if (stbi__get16be(s) != 1) { - - 000bf 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000c6 e8 00 00 00 00 call stbi__get16be - 000cb 83 f8 01 cmp eax, 1 - 000ce 74 14 je SHORT $LN6@stbi__psd_ - -; 7828 : stbi__rewind(s); - - 000d0 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000d7 e8 00 00 00 00 call stbi__rewind - 000dc 90 npad 1 - -; 7829 : return 0; - - 000dd 33 c0 xor eax, eax - 000df e9 cb 00 00 00 jmp $LN1@stbi__psd_ -$LN6@stbi__psd_: - -; 7830 : } -; 7831 : stbi__skip(s, 6); - - 000e4 ba 06 00 00 00 mov edx, 6 - 000e9 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000f0 e8 00 00 00 00 call stbi__skip - 000f5 90 npad 1 - -; 7832 : channelCount = stbi__get16be(s); - - 000f6 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000fd e8 00 00 00 00 call stbi__get16be - 00102 89 45 04 mov DWORD PTR channelCount$[rbp], eax - -; 7833 : if (channelCount < 0 || channelCount > 16) { - - 00105 83 7d 04 00 cmp DWORD PTR channelCount$[rbp], 0 - 00109 7c 06 jl SHORT $LN8@stbi__psd_ - 0010b 83 7d 04 10 cmp DWORD PTR channelCount$[rbp], 16 - 0010f 7e 14 jle SHORT $LN7@stbi__psd_ -$LN8@stbi__psd_: - -; 7834 : stbi__rewind(s); - - 00111 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00118 e8 00 00 00 00 call stbi__rewind - 0011d 90 npad 1 - -; 7835 : return 0; - - 0011e 33 c0 xor eax, eax - 00120 e9 8a 00 00 00 jmp $LN1@stbi__psd_ -$LN7@stbi__psd_: - -; 7836 : } -; 7837 : *y = stbi__get32be(s); - - 00125 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0012c e8 00 00 00 00 call stbi__get32be - 00131 48 8b 8d 50 01 - 00 00 mov rcx, QWORD PTR y$[rbp] - 00138 89 01 mov DWORD PTR [rcx], eax - -; 7838 : *x = stbi__get32be(s); - - 0013a 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00141 e8 00 00 00 00 call stbi__get32be - 00146 48 8b 8d 48 01 - 00 00 mov rcx, QWORD PTR x$[rbp] - 0014d 89 01 mov DWORD PTR [rcx], eax - -; 7839 : depth = stbi__get16be(s); - - 0014f 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00156 e8 00 00 00 00 call stbi__get16be - 0015b 89 45 44 mov DWORD PTR depth$[rbp], eax - -; 7840 : if (depth != 8 && depth != 16) { - - 0015e 83 7d 44 08 cmp DWORD PTR depth$[rbp], 8 - 00162 74 17 je SHORT $LN9@stbi__psd_ - 00164 83 7d 44 10 cmp DWORD PTR depth$[rbp], 16 - 00168 74 11 je SHORT $LN9@stbi__psd_ - -; 7841 : stbi__rewind(s); - - 0016a 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00171 e8 00 00 00 00 call stbi__rewind - 00176 90 npad 1 - -; 7842 : return 0; - - 00177 33 c0 xor eax, eax - 00179 eb 34 jmp SHORT $LN1@stbi__psd_ -$LN9@stbi__psd_: - -; 7843 : } -; 7844 : if (stbi__get16be(s) != 3) { - - 0017b 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00182 e8 00 00 00 00 call stbi__get16be - 00187 83 f8 03 cmp eax, 3 - 0018a 74 11 je SHORT $LN10@stbi__psd_ - -; 7845 : stbi__rewind(s); - - 0018c 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00193 e8 00 00 00 00 call stbi__rewind - 00198 90 npad 1 - -; 7846 : return 0; - - 00199 33 c0 xor eax, eax - 0019b eb 12 jmp SHORT $LN1@stbi__psd_ -$LN10@stbi__psd_: - -; 7847 : } -; 7848 : *comp = 4; - - 0019d 48 8b 85 58 01 - 00 00 mov rax, QWORD PTR comp$[rbp] - 001a4 c7 00 04 00 00 - 00 mov DWORD PTR [rax], 4 - -; 7849 : return 1; - - 001aa b8 01 00 00 00 mov eax, 1 -$LN1@stbi__psd_: - -; 7850 : } - - 001af 48 8b f8 mov rdi, rax - 001b2 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 001b6 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__psd_info$rtcFrameData - 001bd e8 00 00 00 00 call _RTC_CheckStackVars - 001c2 48 8b c7 mov rax, rdi - 001c5 48 8b 8d 18 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 001cc 48 33 cd xor rcx, rbp - 001cf e8 00 00 00 00 call __security_check_cookie - 001d4 48 8d a5 28 01 - 00 00 lea rsp, QWORD PTR [rbp+296] - 001db 5f pop rdi - 001dc 5d pop rbp - 001dd c3 ret 0 -stbi__psd_info ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__psd_load -_TEXT SEGMENT -pixelCount$ = 4 -channelCount$ = 36 -compression$ = 68 -channel$ = 100 -i$ = 132 -bitdepth$ = 164 -w$ = 196 -h$ = 228 -out$ = 264 -p$1 = 296 -q$2 = 328 -val$3 = 356 -p$4 = 392 -val$5 = 420 -q$6 = 456 -p$7 = 488 -pixel$8 = 520 -a$9 = 548 -ra$10 = 580 -inv_a$11 = 612 -pixel$12 = 648 -a$13 = 676 -ra$14 = 708 -inv_a$15 = 740 -tv241 = 1140 -tv212 = 1140 -tv233 = 1140 -tv87 = 1144 -tv128 = 1144 -tv133 = 1144 -tv141 = 1144 -tv148 = 1144 -tv167 = 1144 -tv196 = 1144 -tv70 = 1144 -tv223 = 1144 -tv77 = 1144 -tv177 = 1144 -s$ = 1184 -x$ = 1192 -y$ = 1200 -comp$ = 1208 -req_comp$ = 1216 -ri$ = 1224 -bpc$ = 1232 -stbi__psd_load PROC ; COMDAT - -; 6470 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec b8 04 - 00 00 sub rsp, 1208 ; 000004b8H - 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 6471 : int pixelCount; -; 6472 : int channelCount, compression; -; 6473 : int channel, i; -; 6474 : int bitdepth; -; 6475 : int w, h; -; 6476 : stbi_uc *out; -; 6477 : STBI_NOTUSED(ri); -; 6478 : -; 6479 : // Check identifier -; 6480 : if (stbi__get32be(s) != 0x38425053) // "8BPS" - - 0002f 48 8b 8d a0 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00036 e8 00 00 00 00 call stbi__get32be - 0003b 3d 53 50 42 38 cmp eax, 943870035 ; 38425053H - 00040 74 34 je SHORT $LN32@stbi__psd_ - -; 6481 : return stbi__errpuc("not PSD", "Corrupt PSD image"); - - 00042 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07ECNCNLIK@not?5PSD@ - 00049 e8 00 00 00 00 call stbi__err - 0004e 85 c0 test eax, eax - 00050 74 0d je SHORT $LN69@stbi__psd_ - 00052 48 c7 85 78 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv70[rbp], 0 - 0005d eb 0b jmp SHORT $LN70@stbi__psd_ -$LN69@stbi__psd_: - 0005f 48 c7 85 78 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv70[rbp], 0 -$LN70@stbi__psd_: - 0006a 48 8b 85 78 04 - 00 00 mov rax, QWORD PTR tv70[rbp] - 00071 e9 b7 0b 00 00 jmp $LN1@stbi__psd_ -$LN32@stbi__psd_: - -; 6482 : -; 6483 : // Check file type version. -; 6484 : if (stbi__get16be(s) != 1) - - 00076 48 8b 8d a0 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0007d e8 00 00 00 00 call stbi__get16be - 00082 83 f8 01 cmp eax, 1 - 00085 74 34 je SHORT $LN33@stbi__psd_ - -; 6485 : return stbi__errpuc("wrong version", "Unsupported version of PSD image"); - - 00087 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0O@CHBCDKKC@wrong?5version@ - 0008e e8 00 00 00 00 call stbi__err - 00093 85 c0 test eax, eax - 00095 74 0d je SHORT $LN71@stbi__psd_ - 00097 48 c7 85 78 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv77[rbp], 0 - 000a2 eb 0b jmp SHORT $LN72@stbi__psd_ -$LN71@stbi__psd_: - 000a4 48 c7 85 78 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv77[rbp], 0 -$LN72@stbi__psd_: - 000af 48 8b 85 78 04 - 00 00 mov rax, QWORD PTR tv77[rbp] - 000b6 e9 72 0b 00 00 jmp $LN1@stbi__psd_ -$LN33@stbi__psd_: - -; 6486 : -; 6487 : // Skip 6 reserved bytes. -; 6488 : stbi__skip(s, 6); - - 000bb ba 06 00 00 00 mov edx, 6 - 000c0 48 8b 8d a0 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000c7 e8 00 00 00 00 call stbi__skip - 000cc 90 npad 1 - -; 6489 : -; 6490 : // Read the number of channels (R, G, B, A, etc). -; 6491 : channelCount = stbi__get16be(s); - - 000cd 48 8b 8d a0 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000d4 e8 00 00 00 00 call stbi__get16be - 000d9 89 45 24 mov DWORD PTR channelCount$[rbp], eax - -; 6492 : if (channelCount < 0 || channelCount > 16) - - 000dc 83 7d 24 00 cmp DWORD PTR channelCount$[rbp], 0 - 000e0 7c 06 jl SHORT $LN35@stbi__psd_ - 000e2 83 7d 24 10 cmp DWORD PTR channelCount$[rbp], 16 - 000e6 7e 34 jle SHORT $LN34@stbi__psd_ -$LN35@stbi__psd_: - -; 6493 : return stbi__errpuc("wrong channel count", - - 000e8 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BE@PJBNGDBE@wrong?5channel?5count@ - 000ef e8 00 00 00 00 call stbi__err - 000f4 85 c0 test eax, eax - 000f6 74 0d je SHORT $LN73@stbi__psd_ - 000f8 48 c7 85 78 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv87[rbp], 0 - 00103 eb 0b jmp SHORT $LN74@stbi__psd_ -$LN73@stbi__psd_: - 00105 48 c7 85 78 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv87[rbp], 0 -$LN74@stbi__psd_: - 00110 48 8b 85 78 04 - 00 00 mov rax, QWORD PTR tv87[rbp] - 00117 e9 11 0b 00 00 jmp $LN1@stbi__psd_ -$LN34@stbi__psd_: - -; 6494 : "Unsupported number of channels in PSD image"); -; 6495 : -; 6496 : // Read the rows and columns of the image. -; 6497 : h = stbi__get32be(s); - - 0011c 48 8b 8d a0 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00123 e8 00 00 00 00 call stbi__get32be - 00128 89 85 e4 00 00 - 00 mov DWORD PTR h$[rbp], eax - -; 6498 : w = stbi__get32be(s); - - 0012e 48 8b 8d a0 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00135 e8 00 00 00 00 call stbi__get32be - 0013a 89 85 c4 00 00 - 00 mov DWORD PTR w$[rbp], eax - -; 6499 : -; 6500 : if (h > STBI_MAX_DIMENSIONS) - - 00140 81 bd e4 00 00 - 00 00 00 00 01 cmp DWORD PTR h$[rbp], 16777216 ; 01000000H - 0014a 7e 34 jle SHORT $LN36@stbi__psd_ - -; 6501 : return stbi__errpuc("too large", "Very large image (corrupt?)"); - - 0014c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 00153 e8 00 00 00 00 call stbi__err - 00158 85 c0 test eax, eax - 0015a 74 0d je SHORT $LN75@stbi__psd_ - 0015c 48 c7 85 78 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv128[rbp], 0 - 00167 eb 0b jmp SHORT $LN76@stbi__psd_ -$LN75@stbi__psd_: - 00169 48 c7 85 78 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv128[rbp], 0 -$LN76@stbi__psd_: - 00174 48 8b 85 78 04 - 00 00 mov rax, QWORD PTR tv128[rbp] - 0017b e9 ad 0a 00 00 jmp $LN1@stbi__psd_ -$LN36@stbi__psd_: - -; 6502 : if (w > STBI_MAX_DIMENSIONS) - - 00180 81 bd c4 00 00 - 00 00 00 00 01 cmp DWORD PTR w$[rbp], 16777216 ; 01000000H - 0018a 7e 34 jle SHORT $LN37@stbi__psd_ - -; 6503 : return stbi__errpuc("too large", "Very large image (corrupt?)"); - - 0018c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 00193 e8 00 00 00 00 call stbi__err - 00198 85 c0 test eax, eax - 0019a 74 0d je SHORT $LN77@stbi__psd_ - 0019c 48 c7 85 78 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv133[rbp], 0 - 001a7 eb 0b jmp SHORT $LN78@stbi__psd_ -$LN77@stbi__psd_: - 001a9 48 c7 85 78 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv133[rbp], 0 -$LN78@stbi__psd_: - 001b4 48 8b 85 78 04 - 00 00 mov rax, QWORD PTR tv133[rbp] - 001bb e9 6d 0a 00 00 jmp $LN1@stbi__psd_ -$LN37@stbi__psd_: - -; 6504 : -; 6505 : // Make sure the depth is 8 bits. -; 6506 : bitdepth = stbi__get16be(s); - - 001c0 48 8b 8d a0 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001c7 e8 00 00 00 00 call stbi__get16be - 001cc 89 85 a4 00 00 - 00 mov DWORD PTR bitdepth$[rbp], eax - -; 6507 : if (bitdepth != 8 && bitdepth != 16) - - 001d2 83 bd a4 00 00 - 00 08 cmp DWORD PTR bitdepth$[rbp], 8 - 001d9 74 3d je SHORT $LN38@stbi__psd_ - 001db 83 bd a4 00 00 - 00 10 cmp DWORD PTR bitdepth$[rbp], 16 - 001e2 74 34 je SHORT $LN38@stbi__psd_ - -; 6508 : return stbi__errpuc("unsupported bit depth", "PSD bit depth is not 8 or 16 bit"); - - 001e4 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BG@NOLDLPP@unsupported?5bit?5depth@ - 001eb e8 00 00 00 00 call stbi__err - 001f0 85 c0 test eax, eax - 001f2 74 0d je SHORT $LN79@stbi__psd_ - 001f4 48 c7 85 78 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv141[rbp], 0 - 001ff eb 0b jmp SHORT $LN80@stbi__psd_ -$LN79@stbi__psd_: - 00201 48 c7 85 78 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv141[rbp], 0 -$LN80@stbi__psd_: - 0020c 48 8b 85 78 04 - 00 00 mov rax, QWORD PTR tv141[rbp] - 00213 e9 15 0a 00 00 jmp $LN1@stbi__psd_ -$LN38@stbi__psd_: - -; 6509 : -; 6510 : // Make sure the color mode is RGB. -; 6511 : // Valid options are: -; 6512 : // 0: Bitmap -; 6513 : // 1: Grayscale -; 6514 : // 2: Indexed color -; 6515 : // 3: RGB color -; 6516 : // 4: CMYK color -; 6517 : // 7: Multichannel -; 6518 : // 8: Duotone -; 6519 : // 9: Lab color -; 6520 : if (stbi__get16be(s) != 3) - - 00218 48 8b 8d a0 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0021f e8 00 00 00 00 call stbi__get16be - 00224 83 f8 03 cmp eax, 3 - 00227 74 34 je SHORT $LN39@stbi__psd_ - -; 6521 : return stbi__errpuc("wrong color format", "PSD is not in RGB color format"); - - 00229 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BD@IOGGBMNK@wrong?5color?5format@ - 00230 e8 00 00 00 00 call stbi__err - 00235 85 c0 test eax, eax - 00237 74 0d je SHORT $LN81@stbi__psd_ - 00239 48 c7 85 78 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv148[rbp], 0 - 00244 eb 0b jmp SHORT $LN82@stbi__psd_ -$LN81@stbi__psd_: - 00246 48 c7 85 78 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv148[rbp], 0 -$LN82@stbi__psd_: - 00251 48 8b 85 78 04 - 00 00 mov rax, QWORD PTR tv148[rbp] - 00258 e9 d0 09 00 00 jmp $LN1@stbi__psd_ -$LN39@stbi__psd_: - -; 6522 : -; 6523 : // Skip the Mode Data. (It's the palette for indexed color; other info for other modes.) -; 6524 : stbi__skip(s, stbi__get32be(s)); - - 0025d 48 8b 8d a0 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00264 e8 00 00 00 00 call stbi__get32be - 00269 8b d0 mov edx, eax - 0026b 48 8b 8d a0 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00272 e8 00 00 00 00 call stbi__skip - 00277 90 npad 1 - -; 6525 : -; 6526 : // Skip the image resources. (resolution, pen tool paths, etc) -; 6527 : stbi__skip(s, stbi__get32be(s)); - - 00278 48 8b 8d a0 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0027f e8 00 00 00 00 call stbi__get32be - 00284 8b d0 mov edx, eax - 00286 48 8b 8d a0 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0028d e8 00 00 00 00 call stbi__skip - 00292 90 npad 1 - -; 6528 : -; 6529 : // Skip the reserved data. -; 6530 : stbi__skip(s, stbi__get32be(s)); - - 00293 48 8b 8d a0 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0029a e8 00 00 00 00 call stbi__get32be - 0029f 8b d0 mov edx, eax - 002a1 48 8b 8d a0 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 002a8 e8 00 00 00 00 call stbi__skip - 002ad 90 npad 1 - -; 6531 : -; 6532 : // Find out if the data is compressed. -; 6533 : // Known values: -; 6534 : // 0: no compression -; 6535 : // 1: RLE compressed -; 6536 : compression = stbi__get16be(s); - - 002ae 48 8b 8d a0 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 002b5 e8 00 00 00 00 call stbi__get16be - 002ba 89 45 44 mov DWORD PTR compression$[rbp], eax - -; 6537 : if (compression > 1) - - 002bd 83 7d 44 01 cmp DWORD PTR compression$[rbp], 1 - 002c1 7e 34 jle SHORT $LN40@stbi__psd_ - -; 6538 : return stbi__errpuc("bad compression", "PSD has an unknown compression format"); - - 002c3 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0BA@MCNBDLPD@bad?5compression@ - 002ca e8 00 00 00 00 call stbi__err - 002cf 85 c0 test eax, eax - 002d1 74 0d je SHORT $LN83@stbi__psd_ - 002d3 48 c7 85 78 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv167[rbp], 0 - 002de eb 0b jmp SHORT $LN84@stbi__psd_ -$LN83@stbi__psd_: - 002e0 48 c7 85 78 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv167[rbp], 0 -$LN84@stbi__psd_: - 002eb 48 8b 85 78 04 - 00 00 mov rax, QWORD PTR tv167[rbp] - 002f2 e9 36 09 00 00 jmp $LN1@stbi__psd_ -$LN40@stbi__psd_: - -; 6539 : -; 6540 : // Check size -; 6541 : if (!stbi__mad3sizes_valid(4, w, h, 0)) - - 002f7 45 33 c9 xor r9d, r9d - 002fa 44 8b 85 e4 00 - 00 00 mov r8d, DWORD PTR h$[rbp] - 00301 8b 95 c4 00 00 - 00 mov edx, DWORD PTR w$[rbp] - 00307 b9 04 00 00 00 mov ecx, 4 - 0030c e8 00 00 00 00 call stbi__mad3sizes_valid - 00311 85 c0 test eax, eax - 00313 75 34 jne SHORT $LN41@stbi__psd_ - -; 6542 : return stbi__errpuc("too large", "Corrupt PSD"); - - 00315 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 0031c e8 00 00 00 00 call stbi__err - 00321 85 c0 test eax, eax - 00323 74 0d je SHORT $LN85@stbi__psd_ - 00325 48 c7 85 78 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv177[rbp], 0 - 00330 eb 0b jmp SHORT $LN86@stbi__psd_ -$LN85@stbi__psd_: - 00332 48 c7 85 78 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv177[rbp], 0 -$LN86@stbi__psd_: - 0033d 48 8b 85 78 04 - 00 00 mov rax, QWORD PTR tv177[rbp] - 00344 e9 e4 08 00 00 jmp $LN1@stbi__psd_ -$LN41@stbi__psd_: - -; 6543 : -; 6544 : // Create the destination image. -; 6545 : -; 6546 : if (!compression && bitdepth == 16 && bpc == 16) { - - 00349 83 7d 44 00 cmp DWORD PTR compression$[rbp], 0 - 0034d 75 42 jne SHORT $LN42@stbi__psd_ - 0034f 83 bd a4 00 00 - 00 10 cmp DWORD PTR bitdepth$[rbp], 16 - 00356 75 39 jne SHORT $LN42@stbi__psd_ - 00358 83 bd d0 04 00 - 00 10 cmp DWORD PTR bpc$[rbp], 16 - 0035f 75 30 jne SHORT $LN42@stbi__psd_ - -; 6547 : out = (stbi_uc *)stbi__malloc_mad3(8, w, h, 0); - - 00361 45 33 c9 xor r9d, r9d - 00364 44 8b 85 e4 00 - 00 00 mov r8d, DWORD PTR h$[rbp] - 0036b 8b 95 c4 00 00 - 00 mov edx, DWORD PTR w$[rbp] - 00371 b9 08 00 00 00 mov ecx, 8 - 00376 e8 00 00 00 00 call stbi__malloc_mad3 - 0037b 48 89 85 08 01 - 00 00 mov QWORD PTR out$[rbp], rax - -; 6548 : ri->bits_per_channel = 16; - - 00382 48 8b 85 c8 04 - 00 00 mov rax, QWORD PTR ri$[rbp] - 00389 c7 00 10 00 00 - 00 mov DWORD PTR [rax], 16 - -; 6549 : } else - - 0038f eb 21 jmp SHORT $LN43@stbi__psd_ -$LN42@stbi__psd_: - -; 6550 : out = (stbi_uc *)stbi__malloc(4 * w * h); - - 00391 8b 85 c4 00 00 - 00 mov eax, DWORD PTR w$[rbp] - 00397 c1 e0 02 shl eax, 2 - 0039a 0f af 85 e4 00 - 00 00 imul eax, DWORD PTR h$[rbp] - 003a1 48 98 cdqe - 003a3 48 8b c8 mov rcx, rax - 003a6 e8 00 00 00 00 call stbi__malloc - 003ab 48 89 85 08 01 - 00 00 mov QWORD PTR out$[rbp], rax -$LN43@stbi__psd_: - -; 6551 : -; 6552 : if (!out) - - 003b2 48 83 bd 08 01 - 00 00 00 cmp QWORD PTR out$[rbp], 0 - 003ba 75 34 jne SHORT $LN44@stbi__psd_ - -; 6553 : return stbi__errpuc("outofmem", "Out of memory"); - - 003bc 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 003c3 e8 00 00 00 00 call stbi__err - 003c8 85 c0 test eax, eax - 003ca 74 0d je SHORT $LN87@stbi__psd_ - 003cc 48 c7 85 78 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv196[rbp], 0 - 003d7 eb 0b jmp SHORT $LN88@stbi__psd_ -$LN87@stbi__psd_: - 003d9 48 c7 85 78 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv196[rbp], 0 -$LN88@stbi__psd_: - 003e4 48 8b 85 78 04 - 00 00 mov rax, QWORD PTR tv196[rbp] - 003eb e9 3d 08 00 00 jmp $LN1@stbi__psd_ -$LN44@stbi__psd_: - -; 6554 : pixelCount = w * h; - - 003f0 8b 85 c4 00 00 - 00 mov eax, DWORD PTR w$[rbp] - 003f6 0f af 85 e4 00 - 00 00 imul eax, DWORD PTR h$[rbp] - 003fd 89 45 04 mov DWORD PTR pixelCount$[rbp], eax - -; 6555 : -; 6556 : // Initialize the data to zero. -; 6557 : //memset( out, 0, pixelCount * 4 ); -; 6558 : -; 6559 : // Finally, the image data. -; 6560 : if (compression) { - - 00400 83 7d 44 00 cmp DWORD PTR compression$[rbp], 0 - 00404 0f 84 24 01 00 - 00 je $LN45@stbi__psd_ - -; 6561 : // RLE as used by .PSD and .TIFF -; 6562 : // Loop until you get the number of unpacked bytes you are expecting: -; 6563 : // Read the next source byte into n. -; 6564 : // If n is between 0 and 127 inclusive, copy the next n+1 bytes literally. -; 6565 : // Else if n is between -127 and -1 inclusive, copy the next byte -n+1 times. -; 6566 : // Else if n is 128, noop. -; 6567 : // Endloop -; 6568 : -; 6569 : // The RLE-compressed data is preceded by a 2-byte data count for each row in the data, -; 6570 : // which we're going to just skip. -; 6571 : stbi__skip(s, h * channelCount * 2); - - 0040a 8b 85 e4 00 00 - 00 mov eax, DWORD PTR h$[rbp] - 00410 0f af 45 24 imul eax, DWORD PTR channelCount$[rbp] - 00414 d1 e0 shl eax, 1 - 00416 8b d0 mov edx, eax - 00418 48 8b 8d a0 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0041f e8 00 00 00 00 call stbi__skip - 00424 90 npad 1 - -; 6572 : -; 6573 : // Read the RLE data by channel. -; 6574 : for (channel = 0; channel < 4; channel++) { - - 00425 c7 45 64 00 00 - 00 00 mov DWORD PTR channel$[rbp], 0 - 0042c eb 08 jmp SHORT $LN4@stbi__psd_ -$LN2@stbi__psd_: - 0042e 8b 45 64 mov eax, DWORD PTR channel$[rbp] - 00431 ff c0 inc eax - 00433 89 45 64 mov DWORD PTR channel$[rbp], eax -$LN4@stbi__psd_: - 00436 83 7d 64 04 cmp DWORD PTR channel$[rbp], 4 - 0043a 0f 8d e9 00 00 - 00 jge $LN3@stbi__psd_ - -; 6575 : stbi_uc *p; -; 6576 : -; 6577 : p = out + channel; - - 00440 48 63 45 64 movsxd rax, DWORD PTR channel$[rbp] - 00444 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR out$[rbp] - 0044b 48 03 c8 add rcx, rax - 0044e 48 8b c1 mov rax, rcx - 00451 48 89 85 28 01 - 00 00 mov QWORD PTR p$1[rbp], rax - -; 6578 : if (channel >= channelCount) { - - 00458 8b 45 24 mov eax, DWORD PTR channelCount$[rbp] - 0045b 39 45 64 cmp DWORD PTR channel$[rbp], eax - 0045e 7c 67 jl SHORT $LN47@stbi__psd_ - -; 6579 : // Fill this channel with default data. -; 6580 : for (i = 0; i < pixelCount; i++, p += 4) - - 00460 c7 85 84 00 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 0046a eb 20 jmp SHORT $LN7@stbi__psd_ -$LN5@stbi__psd_: - 0046c 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$[rbp] - 00472 ff c0 inc eax - 00474 89 85 84 00 00 - 00 mov DWORD PTR i$[rbp], eax - 0047a 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR p$1[rbp] - 00481 48 83 c0 04 add rax, 4 - 00485 48 89 85 28 01 - 00 00 mov QWORD PTR p$1[rbp], rax -$LN7@stbi__psd_: - 0048c 8b 45 04 mov eax, DWORD PTR pixelCount$[rbp] - 0048f 39 85 84 00 00 - 00 cmp DWORD PTR i$[rbp], eax - 00495 7d 2e jge SHORT $LN6@stbi__psd_ - -; 6581 : *p = (channel == 3 ? 255 : 0); - - 00497 83 7d 64 03 cmp DWORD PTR channel$[rbp], 3 - 0049b 75 0c jne SHORT $LN89@stbi__psd_ - 0049d c7 85 74 04 00 - 00 ff 00 00 00 mov DWORD PTR tv212[rbp], 255 ; 000000ffH - 004a7 eb 0a jmp SHORT $LN90@stbi__psd_ -$LN89@stbi__psd_: - 004a9 c7 85 74 04 00 - 00 00 00 00 00 mov DWORD PTR tv212[rbp], 0 -$LN90@stbi__psd_: - 004b3 48 8b 85 28 01 - 00 00 mov rax, QWORD PTR p$1[rbp] - 004ba 0f b6 8d 74 04 - 00 00 movzx ecx, BYTE PTR tv212[rbp] - 004c1 88 08 mov BYTE PTR [rax], cl - 004c3 eb a7 jmp SHORT $LN5@stbi__psd_ -$LN6@stbi__psd_: - -; 6582 : } else { - - 004c5 eb 5d jmp SHORT $LN48@stbi__psd_ -$LN47@stbi__psd_: - -; 6583 : // Read the RLE data. -; 6584 : if (!stbi__psd_decode_rle(s, p, pixelCount)) { - - 004c7 44 8b 45 04 mov r8d, DWORD PTR pixelCount$[rbp] - 004cb 48 8b 95 28 01 - 00 00 mov rdx, QWORD PTR p$1[rbp] - 004d2 48 8b 8d a0 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 004d9 e8 00 00 00 00 call stbi__psd_decode_rle - 004de 85 c0 test eax, eax - 004e0 75 42 jne SHORT $LN49@stbi__psd_ - -; 6585 : STBI_FREE(out); - - 004e2 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR out$[rbp] - 004e9 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 004ef 90 npad 1 - -; 6586 : return stbi__errpuc("corrupt", "bad RLE data"); - - 004f0 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07DPPMCAKL@corrupt@ - 004f7 e8 00 00 00 00 call stbi__err - 004fc 85 c0 test eax, eax - 004fe 74 0d je SHORT $LN91@stbi__psd_ - 00500 48 c7 85 78 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv223[rbp], 0 - 0050b eb 0b jmp SHORT $LN92@stbi__psd_ -$LN91@stbi__psd_: - 0050d 48 c7 85 78 04 - 00 00 00 00 00 - 00 mov QWORD PTR tv223[rbp], 0 -$LN92@stbi__psd_: - 00518 48 8b 85 78 04 - 00 00 mov rax, QWORD PTR tv223[rbp] - 0051f e9 09 07 00 00 jmp $LN1@stbi__psd_ -$LN49@stbi__psd_: -$LN48@stbi__psd_: - -; 6587 : } -; 6588 : } -; 6589 : } - - 00524 e9 05 ff ff ff jmp $LN2@stbi__psd_ -$LN3@stbi__psd_: - -; 6590 : } else { - - 00529 e9 9c 02 00 00 jmp $LN46@stbi__psd_ -$LN45@stbi__psd_: - -; 6591 : // We're at the raw image data. It's each channel in order (Red, Green, Blue, Alpha, ...) -; 6592 : // where each channel consists of an 8-bit (or 16-bit) value for each pixel in the image. -; 6593 : -; 6594 : // Read the data by channel. -; 6595 : for (channel = 0; channel < 4; channel++) { - - 0052e c7 45 64 00 00 - 00 00 mov DWORD PTR channel$[rbp], 0 - 00535 eb 08 jmp SHORT $LN10@stbi__psd_ -$LN8@stbi__psd_: - 00537 8b 45 64 mov eax, DWORD PTR channel$[rbp] - 0053a ff c0 inc eax - 0053c 89 45 64 mov DWORD PTR channel$[rbp], eax -$LN10@stbi__psd_: - 0053f 83 7d 64 04 cmp DWORD PTR channel$[rbp], 4 - 00543 0f 8d 81 02 00 - 00 jge $LN9@stbi__psd_ - -; 6596 : if (channel >= channelCount) { - - 00549 8b 45 24 mov eax, DWORD PTR channelCount$[rbp] - 0054c 39 45 64 cmp DWORD PTR channel$[rbp], eax - 0054f 0f 8c 38 01 00 - 00 jl $LN50@stbi__psd_ - -; 6597 : // Fill this channel with default data. -; 6598 : if (bitdepth == 16 && bpc == 16) { - - 00555 83 bd a4 00 00 - 00 10 cmp DWORD PTR bitdepth$[rbp], 16 - 0055c 0f 85 9c 00 00 - 00 jne $LN52@stbi__psd_ - 00562 83 bd d0 04 00 - 00 10 cmp DWORD PTR bpc$[rbp], 16 - 00569 0f 85 8f 00 00 - 00 jne $LN52@stbi__psd_ - -; 6599 : stbi__uint16 *q = ((stbi__uint16 *)out) + channel; - - 0056f 48 63 45 64 movsxd rax, DWORD PTR channel$[rbp] - 00573 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR out$[rbp] - 0057a 48 8d 04 41 lea rax, QWORD PTR [rcx+rax*2] - 0057e 48 89 85 48 01 - 00 00 mov QWORD PTR q$2[rbp], rax - -; 6600 : stbi__uint16 val = channel == 3 ? 65535 : 0; - - 00585 83 7d 64 03 cmp DWORD PTR channel$[rbp], 3 - 00589 75 0c jne SHORT $LN93@stbi__psd_ - 0058b c7 85 74 04 00 - 00 ff ff 00 00 mov DWORD PTR tv233[rbp], 65535 ; 0000ffffH - 00595 eb 0a jmp SHORT $LN94@stbi__psd_ -$LN93@stbi__psd_: - 00597 c7 85 74 04 00 - 00 00 00 00 00 mov DWORD PTR tv233[rbp], 0 -$LN94@stbi__psd_: - 005a1 0f b7 85 74 04 - 00 00 movzx eax, WORD PTR tv233[rbp] - 005a8 66 89 85 64 01 - 00 00 mov WORD PTR val$3[rbp], ax - -; 6601 : for (i = 0; i < pixelCount; i++, q += 4) - - 005af c7 85 84 00 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 005b9 eb 20 jmp SHORT $LN13@stbi__psd_ -$LN11@stbi__psd_: - 005bb 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$[rbp] - 005c1 ff c0 inc eax - 005c3 89 85 84 00 00 - 00 mov DWORD PTR i$[rbp], eax - 005c9 48 8b 85 48 01 - 00 00 mov rax, QWORD PTR q$2[rbp] - 005d0 48 83 c0 08 add rax, 8 - 005d4 48 89 85 48 01 - 00 00 mov QWORD PTR q$2[rbp], rax -$LN13@stbi__psd_: - 005db 8b 45 04 mov eax, DWORD PTR pixelCount$[rbp] - 005de 39 85 84 00 00 - 00 cmp DWORD PTR i$[rbp], eax - 005e4 7d 13 jge SHORT $LN12@stbi__psd_ - -; 6602 : *q = val; - - 005e6 48 8b 85 48 01 - 00 00 mov rax, QWORD PTR q$2[rbp] - 005ed 0f b7 8d 64 01 - 00 00 movzx ecx, WORD PTR val$3[rbp] - 005f4 66 89 08 mov WORD PTR [rax], cx - 005f7 eb c2 jmp SHORT $LN11@stbi__psd_ -$LN12@stbi__psd_: - -; 6603 : } else { - - 005f9 e9 8a 00 00 00 jmp $LN53@stbi__psd_ -$LN52@stbi__psd_: - -; 6604 : stbi_uc *p = out + channel; - - 005fe 48 63 45 64 movsxd rax, DWORD PTR channel$[rbp] - 00602 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR out$[rbp] - 00609 48 03 c8 add rcx, rax - 0060c 48 8b c1 mov rax, rcx - 0060f 48 89 85 88 01 - 00 00 mov QWORD PTR p$4[rbp], rax - -; 6605 : stbi_uc val = channel == 3 ? 255 : 0; - - 00616 83 7d 64 03 cmp DWORD PTR channel$[rbp], 3 - 0061a 75 0c jne SHORT $LN95@stbi__psd_ - 0061c c7 85 74 04 00 - 00 ff 00 00 00 mov DWORD PTR tv241[rbp], 255 ; 000000ffH - 00626 eb 0a jmp SHORT $LN96@stbi__psd_ -$LN95@stbi__psd_: - 00628 c7 85 74 04 00 - 00 00 00 00 00 mov DWORD PTR tv241[rbp], 0 -$LN96@stbi__psd_: - 00632 0f b6 85 74 04 - 00 00 movzx eax, BYTE PTR tv241[rbp] - 00639 88 85 a4 01 00 - 00 mov BYTE PTR val$5[rbp], al - -; 6606 : for (i = 0; i < pixelCount; i++, p += 4) - - 0063f c7 85 84 00 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 00649 eb 20 jmp SHORT $LN16@stbi__psd_ -$LN14@stbi__psd_: - 0064b 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$[rbp] - 00651 ff c0 inc eax - 00653 89 85 84 00 00 - 00 mov DWORD PTR i$[rbp], eax - 00659 48 8b 85 88 01 - 00 00 mov rax, QWORD PTR p$4[rbp] - 00660 48 83 c0 04 add rax, 4 - 00664 48 89 85 88 01 - 00 00 mov QWORD PTR p$4[rbp], rax -$LN16@stbi__psd_: - 0066b 8b 45 04 mov eax, DWORD PTR pixelCount$[rbp] - 0066e 39 85 84 00 00 - 00 cmp DWORD PTR i$[rbp], eax - 00674 7d 12 jge SHORT $LN15@stbi__psd_ - -; 6607 : *p = val; - - 00676 48 8b 85 88 01 - 00 00 mov rax, QWORD PTR p$4[rbp] - 0067d 0f b6 8d a4 01 - 00 00 movzx ecx, BYTE PTR val$5[rbp] - 00684 88 08 mov BYTE PTR [rax], cl - 00686 eb c3 jmp SHORT $LN14@stbi__psd_ -$LN15@stbi__psd_: -$LN53@stbi__psd_: - -; 6608 : } -; 6609 : } else { - - 00688 e9 38 01 00 00 jmp $LN51@stbi__psd_ -$LN50@stbi__psd_: - -; 6610 : if (ri->bits_per_channel == 16) { // output bpc - - 0068d 48 8b 85 c8 04 - 00 00 mov rax, QWORD PTR ri$[rbp] - 00694 83 38 10 cmp DWORD PTR [rax], 16 - 00697 75 6a jne SHORT $LN54@stbi__psd_ - -; 6611 : stbi__uint16 *q = ((stbi__uint16 *)out) + channel; - - 00699 48 63 45 64 movsxd rax, DWORD PTR channel$[rbp] - 0069d 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR out$[rbp] - 006a4 48 8d 04 41 lea rax, QWORD PTR [rcx+rax*2] - 006a8 48 89 85 c8 01 - 00 00 mov QWORD PTR q$6[rbp], rax - -; 6612 : for (i = 0; i < pixelCount; i++, q += 4) - - 006af c7 85 84 00 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 006b9 eb 20 jmp SHORT $LN19@stbi__psd_ -$LN17@stbi__psd_: - 006bb 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$[rbp] - 006c1 ff c0 inc eax - 006c3 89 85 84 00 00 - 00 mov DWORD PTR i$[rbp], eax - 006c9 48 8b 85 c8 01 - 00 00 mov rax, QWORD PTR q$6[rbp] - 006d0 48 83 c0 08 add rax, 8 - 006d4 48 89 85 c8 01 - 00 00 mov QWORD PTR q$6[rbp], rax -$LN19@stbi__psd_: - 006db 8b 45 04 mov eax, DWORD PTR pixelCount$[rbp] - 006de 39 85 84 00 00 - 00 cmp DWORD PTR i$[rbp], eax - 006e4 7d 18 jge SHORT $LN18@stbi__psd_ - -; 6613 : *q = (stbi__uint16)stbi__get16be(s); - - 006e6 48 8b 8d a0 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 006ed e8 00 00 00 00 call stbi__get16be - 006f2 48 8b 8d c8 01 - 00 00 mov rcx, QWORD PTR q$6[rbp] - 006f9 66 89 01 mov WORD PTR [rcx], ax - 006fc eb bd jmp SHORT $LN17@stbi__psd_ -$LN18@stbi__psd_: - -; 6614 : } else { - - 006fe e9 c2 00 00 00 jmp $LN55@stbi__psd_ -$LN54@stbi__psd_: - -; 6615 : stbi_uc *p = out + channel; - - 00703 48 63 45 64 movsxd rax, DWORD PTR channel$[rbp] - 00707 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR out$[rbp] - 0070e 48 03 c8 add rcx, rax - 00711 48 8b c1 mov rax, rcx - 00714 48 89 85 e8 01 - 00 00 mov QWORD PTR p$7[rbp], rax - -; 6616 : if (bitdepth == 16) { // input bpc - - 0071b 83 bd a4 00 00 - 00 10 cmp DWORD PTR bitdepth$[rbp], 16 - 00722 75 53 jne SHORT $LN56@stbi__psd_ - -; 6617 : for (i = 0; i < pixelCount; i++, p += 4) - - 00724 c7 85 84 00 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 0072e eb 20 jmp SHORT $LN22@stbi__psd_ -$LN20@stbi__psd_: - 00730 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$[rbp] - 00736 ff c0 inc eax - 00738 89 85 84 00 00 - 00 mov DWORD PTR i$[rbp], eax - 0073e 48 8b 85 e8 01 - 00 00 mov rax, QWORD PTR p$7[rbp] - 00745 48 83 c0 04 add rax, 4 - 00749 48 89 85 e8 01 - 00 00 mov QWORD PTR p$7[rbp], rax -$LN22@stbi__psd_: - 00750 8b 45 04 mov eax, DWORD PTR pixelCount$[rbp] - 00753 39 85 84 00 00 - 00 cmp DWORD PTR i$[rbp], eax - 00759 7d 1a jge SHORT $LN21@stbi__psd_ - -; 6618 : *p = (stbi_uc)(stbi__get16be(s) >> 8); - - 0075b 48 8b 8d a0 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00762 e8 00 00 00 00 call stbi__get16be - 00767 c1 f8 08 sar eax, 8 - 0076a 48 8b 8d e8 01 - 00 00 mov rcx, QWORD PTR p$7[rbp] - 00771 88 01 mov BYTE PTR [rcx], al - 00773 eb bb jmp SHORT $LN20@stbi__psd_ -$LN21@stbi__psd_: - -; 6619 : } else { - - 00775 eb 4e jmp SHORT $LN57@stbi__psd_ -$LN56@stbi__psd_: - -; 6620 : for (i = 0; i < pixelCount; i++, p += 4) - - 00777 c7 85 84 00 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 00781 eb 20 jmp SHORT $LN25@stbi__psd_ -$LN23@stbi__psd_: - 00783 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$[rbp] - 00789 ff c0 inc eax - 0078b 89 85 84 00 00 - 00 mov DWORD PTR i$[rbp], eax - 00791 48 8b 85 e8 01 - 00 00 mov rax, QWORD PTR p$7[rbp] - 00798 48 83 c0 04 add rax, 4 - 0079c 48 89 85 e8 01 - 00 00 mov QWORD PTR p$7[rbp], rax -$LN25@stbi__psd_: - 007a3 8b 45 04 mov eax, DWORD PTR pixelCount$[rbp] - 007a6 39 85 84 00 00 - 00 cmp DWORD PTR i$[rbp], eax - 007ac 7d 17 jge SHORT $LN24@stbi__psd_ - -; 6621 : *p = stbi__get8(s); - - 007ae 48 8b 8d a0 04 - 00 00 mov rcx, QWORD PTR s$[rbp] - 007b5 e8 00 00 00 00 call stbi__get8 - 007ba 48 8b 8d e8 01 - 00 00 mov rcx, QWORD PTR p$7[rbp] - 007c1 88 01 mov BYTE PTR [rcx], al - 007c3 eb be jmp SHORT $LN23@stbi__psd_ -$LN24@stbi__psd_: -$LN57@stbi__psd_: -$LN55@stbi__psd_: -$LN51@stbi__psd_: - -; 6622 : } -; 6623 : } -; 6624 : } -; 6625 : } - - 007c5 e9 6d fd ff ff jmp $LN8@stbi__psd_ -$LN9@stbi__psd_: -$LN46@stbi__psd_: - -; 6626 : } -; 6627 : -; 6628 : // remove weird white matte from PSD -; 6629 : if (channelCount >= 4) { - - 007ca 83 7d 24 04 cmp DWORD PTR channelCount$[rbp], 4 - 007ce 0f 8c 82 03 00 - 00 jl $LN58@stbi__psd_ - -; 6630 : if (ri->bits_per_channel == 16) { - - 007d4 48 8b 85 c8 04 - 00 00 mov rax, QWORD PTR ri$[rbp] - 007db 83 38 10 cmp DWORD PTR [rax], 16 - 007de 0f 85 bc 01 00 - 00 jne $LN59@stbi__psd_ - -; 6631 : for (i = 0; i < w * h; ++i) { - - 007e4 c7 85 84 00 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 007ee eb 0e jmp SHORT $LN28@stbi__psd_ -$LN26@stbi__psd_: - 007f0 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$[rbp] - 007f6 ff c0 inc eax - 007f8 89 85 84 00 00 - 00 mov DWORD PTR i$[rbp], eax -$LN28@stbi__psd_: - 007fe 8b 85 c4 00 00 - 00 mov eax, DWORD PTR w$[rbp] - 00804 0f af 85 e4 00 - 00 00 imul eax, DWORD PTR h$[rbp] - 0080b 39 85 84 00 00 - 00 cmp DWORD PTR i$[rbp], eax - 00811 0f 8d 84 01 00 - 00 jge $LN27@stbi__psd_ - -; 6632 : stbi__uint16 *pixel = (stbi__uint16 *)out + 4 * i; - - 00817 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$[rbp] - 0081d c1 e0 02 shl eax, 2 - 00820 48 98 cdqe - 00822 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR out$[rbp] - 00829 48 8d 04 41 lea rax, QWORD PTR [rcx+rax*2] - 0082d 48 89 85 08 02 - 00 00 mov QWORD PTR pixel$8[rbp], rax - -; 6633 : if (pixel[3] != 0 && pixel[3] != 65535) { - - 00834 b8 02 00 00 00 mov eax, 2 - 00839 48 6b c0 03 imul rax, rax, 3 - 0083d 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR pixel$8[rbp] - 00844 0f b7 04 01 movzx eax, WORD PTR [rcx+rax] - 00848 85 c0 test eax, eax - 0084a 0f 84 46 01 00 - 00 je $LN61@stbi__psd_ - 00850 b8 02 00 00 00 mov eax, 2 - 00855 48 6b c0 03 imul rax, rax, 3 - 00859 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR pixel$8[rbp] - 00860 0f b7 04 01 movzx eax, WORD PTR [rcx+rax] - 00864 3d ff ff 00 00 cmp eax, 65535 ; 0000ffffH - 00869 0f 84 27 01 00 - 00 je $LN61@stbi__psd_ - -; 6634 : float a = pixel[3] / 65535.0f; - - 0086f b8 02 00 00 00 mov eax, 2 - 00874 48 6b c0 03 imul rax, rax, 3 - 00878 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR pixel$8[rbp] - 0087f 0f b7 04 01 movzx eax, WORD PTR [rcx+rax] - 00883 f3 0f 2a c0 cvtsi2ss xmm0, eax - 00887 f3 0f 5e 05 00 - 00 00 00 divss xmm0, DWORD PTR __real@477fff00 - 0088f f3 0f 11 85 24 - 02 00 00 movss DWORD PTR a$9[rbp], xmm0 - -; 6635 : float ra = 1.0f / a; - - 00897 f3 0f 10 05 00 - 00 00 00 movss xmm0, DWORD PTR __real@3f800000 - 0089f f3 0f 5e 85 24 - 02 00 00 divss xmm0, DWORD PTR a$9[rbp] - 008a7 f3 0f 11 85 44 - 02 00 00 movss DWORD PTR ra$10[rbp], xmm0 - -; 6636 : float inv_a = 65535.0f * (1 - ra); - - 008af f3 0f 10 05 00 - 00 00 00 movss xmm0, DWORD PTR __real@3f800000 - 008b7 f3 0f 5c 85 44 - 02 00 00 subss xmm0, DWORD PTR ra$10[rbp] - 008bf f3 0f 10 0d 00 - 00 00 00 movss xmm1, DWORD PTR __real@477fff00 - 008c7 f3 0f 59 c8 mulss xmm1, xmm0 - 008cb 0f 28 c1 movaps xmm0, xmm1 - 008ce f3 0f 11 85 64 - 02 00 00 movss DWORD PTR inv_a$11[rbp], xmm0 - -; 6637 : pixel[0] = (stbi__uint16)(pixel[0] * ra + inv_a); - - 008d6 b8 02 00 00 00 mov eax, 2 - 008db 48 6b c0 00 imul rax, rax, 0 - 008df 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR pixel$8[rbp] - 008e6 0f b7 04 01 movzx eax, WORD PTR [rcx+rax] - 008ea f3 0f 2a c0 cvtsi2ss xmm0, eax - 008ee f3 0f 59 85 44 - 02 00 00 mulss xmm0, DWORD PTR ra$10[rbp] - 008f6 f3 0f 58 85 64 - 02 00 00 addss xmm0, DWORD PTR inv_a$11[rbp] - 008fe f3 0f 2c c0 cvttss2si eax, xmm0 - 00902 b9 02 00 00 00 mov ecx, 2 - 00907 48 6b c9 00 imul rcx, rcx, 0 - 0090b 48 8b 95 08 02 - 00 00 mov rdx, QWORD PTR pixel$8[rbp] - 00912 66 89 04 0a mov WORD PTR [rdx+rcx], ax - -; 6638 : pixel[1] = (stbi__uint16)(pixel[1] * ra + inv_a); - - 00916 b8 02 00 00 00 mov eax, 2 - 0091b 48 6b c0 01 imul rax, rax, 1 - 0091f 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR pixel$8[rbp] - 00926 0f b7 04 01 movzx eax, WORD PTR [rcx+rax] - 0092a f3 0f 2a c0 cvtsi2ss xmm0, eax - 0092e f3 0f 59 85 44 - 02 00 00 mulss xmm0, DWORD PTR ra$10[rbp] - 00936 f3 0f 58 85 64 - 02 00 00 addss xmm0, DWORD PTR inv_a$11[rbp] - 0093e f3 0f 2c c0 cvttss2si eax, xmm0 - 00942 b9 02 00 00 00 mov ecx, 2 - 00947 48 6b c9 01 imul rcx, rcx, 1 - 0094b 48 8b 95 08 02 - 00 00 mov rdx, QWORD PTR pixel$8[rbp] - 00952 66 89 04 0a mov WORD PTR [rdx+rcx], ax - -; 6639 : pixel[2] = (stbi__uint16)(pixel[2] * ra + inv_a); - - 00956 b8 02 00 00 00 mov eax, 2 - 0095b 48 6b c0 02 imul rax, rax, 2 - 0095f 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR pixel$8[rbp] - 00966 0f b7 04 01 movzx eax, WORD PTR [rcx+rax] - 0096a f3 0f 2a c0 cvtsi2ss xmm0, eax - 0096e f3 0f 59 85 44 - 02 00 00 mulss xmm0, DWORD PTR ra$10[rbp] - 00976 f3 0f 58 85 64 - 02 00 00 addss xmm0, DWORD PTR inv_a$11[rbp] - 0097e f3 0f 2c c0 cvttss2si eax, xmm0 - 00982 b9 02 00 00 00 mov ecx, 2 - 00987 48 6b c9 02 imul rcx, rcx, 2 - 0098b 48 8b 95 08 02 - 00 00 mov rdx, QWORD PTR pixel$8[rbp] - 00992 66 89 04 0a mov WORD PTR [rdx+rcx], ax -$LN61@stbi__psd_: - -; 6640 : } -; 6641 : } - - 00996 e9 55 fe ff ff jmp $LN26@stbi__psd_ -$LN27@stbi__psd_: - -; 6642 : } else { - - 0099b e9 b6 01 00 00 jmp $LN60@stbi__psd_ -$LN59@stbi__psd_: - -; 6643 : for (i = 0; i < w * h; ++i) { - - 009a0 c7 85 84 00 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 009aa eb 0e jmp SHORT $LN31@stbi__psd_ -$LN29@stbi__psd_: - 009ac 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$[rbp] - 009b2 ff c0 inc eax - 009b4 89 85 84 00 00 - 00 mov DWORD PTR i$[rbp], eax -$LN31@stbi__psd_: - 009ba 8b 85 c4 00 00 - 00 mov eax, DWORD PTR w$[rbp] - 009c0 0f af 85 e4 00 - 00 00 imul eax, DWORD PTR h$[rbp] - 009c7 39 85 84 00 00 - 00 cmp DWORD PTR i$[rbp], eax - 009cd 0f 8d 83 01 00 - 00 jge $LN30@stbi__psd_ - -; 6644 : unsigned char *pixel = out + 4 * i; - - 009d3 8b 85 84 00 00 - 00 mov eax, DWORD PTR i$[rbp] - 009d9 c1 e0 02 shl eax, 2 - 009dc 48 98 cdqe - 009de 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR out$[rbp] - 009e5 48 03 c8 add rcx, rax - 009e8 48 8b c1 mov rax, rcx - 009eb 48 89 85 88 02 - 00 00 mov QWORD PTR pixel$12[rbp], rax - -; 6645 : if (pixel[3] != 0 && pixel[3] != 255) { - - 009f2 b8 01 00 00 00 mov eax, 1 - 009f7 48 6b c0 03 imul rax, rax, 3 - 009fb 48 8b 8d 88 02 - 00 00 mov rcx, QWORD PTR pixel$12[rbp] - 00a02 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00a06 85 c0 test eax, eax - 00a08 0f 84 43 01 00 - 00 je $LN62@stbi__psd_ - 00a0e b8 01 00 00 00 mov eax, 1 - 00a13 48 6b c0 03 imul rax, rax, 3 - 00a17 48 8b 8d 88 02 - 00 00 mov rcx, QWORD PTR pixel$12[rbp] - 00a1e 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00a22 3d ff 00 00 00 cmp eax, 255 ; 000000ffH - 00a27 0f 84 24 01 00 - 00 je $LN62@stbi__psd_ - -; 6646 : float a = pixel[3] / 255.0f; - - 00a2d b8 01 00 00 00 mov eax, 1 - 00a32 48 6b c0 03 imul rax, rax, 3 - 00a36 48 8b 8d 88 02 - 00 00 mov rcx, QWORD PTR pixel$12[rbp] - 00a3d 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00a41 f3 0f 2a c0 cvtsi2ss xmm0, eax - 00a45 f3 0f 5e 05 00 - 00 00 00 divss xmm0, DWORD PTR __real@437f0000 - 00a4d f3 0f 11 85 a4 - 02 00 00 movss DWORD PTR a$13[rbp], xmm0 - -; 6647 : float ra = 1.0f / a; - - 00a55 f3 0f 10 05 00 - 00 00 00 movss xmm0, DWORD PTR __real@3f800000 - 00a5d f3 0f 5e 85 a4 - 02 00 00 divss xmm0, DWORD PTR a$13[rbp] - 00a65 f3 0f 11 85 c4 - 02 00 00 movss DWORD PTR ra$14[rbp], xmm0 - -; 6648 : float inv_a = 255.0f * (1 - ra); - - 00a6d f3 0f 10 05 00 - 00 00 00 movss xmm0, DWORD PTR __real@3f800000 - 00a75 f3 0f 5c 85 c4 - 02 00 00 subss xmm0, DWORD PTR ra$14[rbp] - 00a7d f3 0f 10 0d 00 - 00 00 00 movss xmm1, DWORD PTR __real@437f0000 - 00a85 f3 0f 59 c8 mulss xmm1, xmm0 - 00a89 0f 28 c1 movaps xmm0, xmm1 - 00a8c f3 0f 11 85 e4 - 02 00 00 movss DWORD PTR inv_a$15[rbp], xmm0 - -; 6649 : pixel[0] = (unsigned char)(pixel[0] * ra + inv_a); - - 00a94 b8 01 00 00 00 mov eax, 1 - 00a99 48 6b c0 00 imul rax, rax, 0 - 00a9d 48 8b 8d 88 02 - 00 00 mov rcx, QWORD PTR pixel$12[rbp] - 00aa4 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00aa8 f3 0f 2a c0 cvtsi2ss xmm0, eax - 00aac f3 0f 59 85 c4 - 02 00 00 mulss xmm0, DWORD PTR ra$14[rbp] - 00ab4 f3 0f 58 85 e4 - 02 00 00 addss xmm0, DWORD PTR inv_a$15[rbp] - 00abc f3 0f 2c c0 cvttss2si eax, xmm0 - 00ac0 b9 01 00 00 00 mov ecx, 1 - 00ac5 48 6b c9 00 imul rcx, rcx, 0 - 00ac9 48 8b 95 88 02 - 00 00 mov rdx, QWORD PTR pixel$12[rbp] - 00ad0 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 6650 : pixel[1] = (unsigned char)(pixel[1] * ra + inv_a); - - 00ad3 b8 01 00 00 00 mov eax, 1 - 00ad8 48 6b c0 01 imul rax, rax, 1 - 00adc 48 8b 8d 88 02 - 00 00 mov rcx, QWORD PTR pixel$12[rbp] - 00ae3 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00ae7 f3 0f 2a c0 cvtsi2ss xmm0, eax - 00aeb f3 0f 59 85 c4 - 02 00 00 mulss xmm0, DWORD PTR ra$14[rbp] - 00af3 f3 0f 58 85 e4 - 02 00 00 addss xmm0, DWORD PTR inv_a$15[rbp] - 00afb f3 0f 2c c0 cvttss2si eax, xmm0 - 00aff b9 01 00 00 00 mov ecx, 1 - 00b04 48 6b c9 01 imul rcx, rcx, 1 - 00b08 48 8b 95 88 02 - 00 00 mov rdx, QWORD PTR pixel$12[rbp] - 00b0f 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 6651 : pixel[2] = (unsigned char)(pixel[2] * ra + inv_a); - - 00b12 b8 01 00 00 00 mov eax, 1 - 00b17 48 6b c0 02 imul rax, rax, 2 - 00b1b 48 8b 8d 88 02 - 00 00 mov rcx, QWORD PTR pixel$12[rbp] - 00b22 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00b26 f3 0f 2a c0 cvtsi2ss xmm0, eax - 00b2a f3 0f 59 85 c4 - 02 00 00 mulss xmm0, DWORD PTR ra$14[rbp] - 00b32 f3 0f 58 85 e4 - 02 00 00 addss xmm0, DWORD PTR inv_a$15[rbp] - 00b3a f3 0f 2c c0 cvttss2si eax, xmm0 - 00b3e b9 01 00 00 00 mov ecx, 1 - 00b43 48 6b c9 02 imul rcx, rcx, 2 - 00b47 48 8b 95 88 02 - 00 00 mov rdx, QWORD PTR pixel$12[rbp] - 00b4e 88 04 0a mov BYTE PTR [rdx+rcx], al -$LN62@stbi__psd_: - -; 6652 : } -; 6653 : } - - 00b51 e9 56 fe ff ff jmp $LN29@stbi__psd_ -$LN30@stbi__psd_: -$LN60@stbi__psd_: -$LN58@stbi__psd_: - -; 6654 : } -; 6655 : } -; 6656 : -; 6657 : // convert to desired output format -; 6658 : if (req_comp && req_comp != 4) { - - 00b56 83 bd c0 04 00 - 00 00 cmp DWORD PTR req_comp$[rbp], 0 - 00b5d 0f 84 8e 00 00 - 00 je $LN63@stbi__psd_ - 00b63 83 bd c0 04 00 - 00 04 cmp DWORD PTR req_comp$[rbp], 4 - 00b6a 0f 84 81 00 00 - 00 je $LN63@stbi__psd_ - -; 6659 : if (ri->bits_per_channel == 16) - - 00b70 48 8b 85 c8 04 - 00 00 mov rax, QWORD PTR ri$[rbp] - 00b77 83 38 10 cmp DWORD PTR [rax], 16 - 00b7a 75 32 jne SHORT $LN64@stbi__psd_ - -; 6660 : out = (stbi_uc *)stbi__convert_format16((stbi__uint16 *)out, 4, req_comp, w, - - 00b7c 8b 85 e4 00 00 - 00 mov eax, DWORD PTR h$[rbp] - 00b82 89 44 24 20 mov DWORD PTR [rsp+32], eax - 00b86 44 8b 8d c4 00 - 00 00 mov r9d, DWORD PTR w$[rbp] - 00b8d 44 8b 85 c0 04 - 00 00 mov r8d, DWORD PTR req_comp$[rbp] - 00b94 ba 04 00 00 00 mov edx, 4 - 00b99 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR out$[rbp] - 00ba0 e8 00 00 00 00 call stbi__convert_format16 - 00ba5 48 89 85 08 01 - 00 00 mov QWORD PTR out$[rbp], rax - 00bac eb 30 jmp SHORT $LN65@stbi__psd_ -$LN64@stbi__psd_: - -; 6661 : h); -; 6662 : else -; 6663 : out = stbi__convert_format(out, 4, req_comp, w, h); - - 00bae 8b 85 e4 00 00 - 00 mov eax, DWORD PTR h$[rbp] - 00bb4 89 44 24 20 mov DWORD PTR [rsp+32], eax - 00bb8 44 8b 8d c4 00 - 00 00 mov r9d, DWORD PTR w$[rbp] - 00bbf 44 8b 85 c0 04 - 00 00 mov r8d, DWORD PTR req_comp$[rbp] - 00bc6 ba 04 00 00 00 mov edx, 4 - 00bcb 48 8b 8d 08 01 - 00 00 mov rcx, QWORD PTR out$[rbp] - 00bd2 e8 00 00 00 00 call stbi__convert_format - 00bd7 48 89 85 08 01 - 00 00 mov QWORD PTR out$[rbp], rax -$LN65@stbi__psd_: - -; 6664 : if (out == NULL) - - 00bde 48 83 bd 08 01 - 00 00 00 cmp QWORD PTR out$[rbp], 0 - 00be6 75 09 jne SHORT $LN66@stbi__psd_ - -; 6665 : return out; // stbi__convert_format frees input on failure - - 00be8 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR out$[rbp] - 00bef eb 3c jmp SHORT $LN1@stbi__psd_ -$LN66@stbi__psd_: -$LN63@stbi__psd_: - -; 6666 : } -; 6667 : -; 6668 : if (comp) - - 00bf1 48 83 bd b8 04 - 00 00 00 cmp QWORD PTR comp$[rbp], 0 - 00bf9 74 0d je SHORT $LN67@stbi__psd_ - -; 6669 : *comp = 4; - - 00bfb 48 8b 85 b8 04 - 00 00 mov rax, QWORD PTR comp$[rbp] - 00c02 c7 00 04 00 00 - 00 mov DWORD PTR [rax], 4 -$LN67@stbi__psd_: - -; 6670 : *y = h; - - 00c08 48 8b 85 b0 04 - 00 00 mov rax, QWORD PTR y$[rbp] - 00c0f 8b 8d e4 00 00 - 00 mov ecx, DWORD PTR h$[rbp] - 00c15 89 08 mov DWORD PTR [rax], ecx - -; 6671 : *x = w; - - 00c17 48 8b 85 a8 04 - 00 00 mov rax, QWORD PTR x$[rbp] - 00c1e 8b 8d c4 00 00 - 00 mov ecx, DWORD PTR w$[rbp] - 00c24 89 08 mov DWORD PTR [rax], ecx - -; 6672 : -; 6673 : return out; - - 00c26 48 8b 85 08 01 - 00 00 mov rax, QWORD PTR out$[rbp] -$LN1@stbi__psd_: - -; 6674 : } - - 00c2d 48 8d a5 88 04 - 00 00 lea rsp, QWORD PTR [rbp+1160] - 00c34 5f pop rdi - 00c35 5d pop rbp - 00c36 c3 ret 0 -stbi__psd_load ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__psd_test -_TEXT SEGMENT -r$ = 4 -tv67 = 212 -s$ = 256 -stbi__psd_test PROC ; COMDAT - -; 6422 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 6423 : int r = (stbi__get32be(s) == 0x38425053); - - 00020 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00027 e8 00 00 00 00 call stbi__get32be - 0002c 3d 53 50 42 38 cmp eax, 943870035 ; 38425053H - 00031 75 0c jne SHORT $LN3@stbi__psd_ - 00033 c7 85 d4 00 00 - 00 01 00 00 00 mov DWORD PTR tv67[rbp], 1 - 0003d eb 0a jmp SHORT $LN4@stbi__psd_ -$LN3@stbi__psd_: - 0003f c7 85 d4 00 00 - 00 00 00 00 00 mov DWORD PTR tv67[rbp], 0 -$LN4@stbi__psd_: - 00049 8b 85 d4 00 00 - 00 mov eax, DWORD PTR tv67[rbp] - 0004f 89 45 04 mov DWORD PTR r$[rbp], eax - -; 6424 : stbi__rewind(s); - - 00052 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00059 e8 00 00 00 00 call stbi__rewind - 0005e 90 npad 1 - -; 6425 : return r; - - 0005f 8b 45 04 mov eax, DWORD PTR r$[rbp] - -; 6426 : } - - 00062 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 00069 5f pop rdi - 0006a 5d pop rbp - 0006b c3 ret 0 -stbi__psd_test ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__tga_info -_TEXT SEGMENT -tga_w$ = 4 -tga_h$ = 36 -tga_comp$ = 68 -tga_image_type$ = 100 -tga_bits_per_pixel$ = 132 -tga_colormap_bpp$ = 164 -sz$ = 196 -tga_colormap_type$ = 228 -tv153 = 436 -s$ = 480 -x$ = 488 -y$ = 496 -comp$ = 504 -stbi__tga_info PROC ; COMDAT - -; 6084 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec e8 01 - 00 00 sub rsp, 488 ; 000001e8H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 6085 : int tga_w, tga_h, tga_comp, tga_image_type, tga_bits_per_pixel, tga_colormap_bpp; -; 6086 : int sz, tga_colormap_type; -; 6087 : stbi__get8(s); // discard Offset - - 0002f 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00036 e8 00 00 00 00 call stbi__get8 - 0003b 90 npad 1 - -; 6088 : tga_colormap_type = stbi__get8(s); // colormap type - - 0003c 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00043 e8 00 00 00 00 call stbi__get8 - 00048 0f b6 c0 movzx eax, al - 0004b 89 85 e4 00 00 - 00 mov DWORD PTR tga_colormap_type$[rbp], eax - -; 6089 : if (tga_colormap_type > 1) { - - 00051 83 bd e4 00 00 - 00 01 cmp DWORD PTR tga_colormap_type$[rbp], 1 - 00058 7e 14 jle SHORT $LN2@stbi__tga_ - -; 6090 : stbi__rewind(s); - - 0005a 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00061 e8 00 00 00 00 call stbi__rewind - 00066 90 npad 1 - -; 6091 : return 0; // only RGB or indexed allowed - - 00067 33 c0 xor eax, eax - 00069 e9 5e 02 00 00 jmp $LN1@stbi__tga_ -$LN2@stbi__tga_: - -; 6092 : } -; 6093 : tga_image_type = stbi__get8(s); // image type - - 0006e 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00075 e8 00 00 00 00 call stbi__get8 - 0007a 0f b6 c0 movzx eax, al - 0007d 89 45 64 mov DWORD PTR tga_image_type$[rbp], eax - -; 6094 : if (tga_colormap_type == 1) { // colormapped (paletted) image - - 00080 83 bd e4 00 00 - 00 01 cmp DWORD PTR tga_colormap_type$[rbp], 1 - 00087 0f 85 a8 00 00 - 00 jne $LN3@stbi__tga_ - -; 6095 : if (tga_image_type != 1 && tga_image_type != 9) { - - 0008d 83 7d 64 01 cmp DWORD PTR tga_image_type$[rbp], 1 - 00091 74 1a je SHORT $LN5@stbi__tga_ - 00093 83 7d 64 09 cmp DWORD PTR tga_image_type$[rbp], 9 - 00097 74 14 je SHORT $LN5@stbi__tga_ - -; 6096 : stbi__rewind(s); - - 00099 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000a0 e8 00 00 00 00 call stbi__rewind - 000a5 90 npad 1 - -; 6097 : return 0; - - 000a6 33 c0 xor eax, eax - 000a8 e9 1f 02 00 00 jmp $LN1@stbi__tga_ -$LN5@stbi__tga_: - -; 6098 : } -; 6099 : stbi__skip(s, - - 000ad ba 04 00 00 00 mov edx, 4 - 000b2 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000b9 e8 00 00 00 00 call stbi__skip - 000be 90 npad 1 - -; 6100 : 4); // skip index of first colormap entry and number of entries -; 6101 : sz = stbi__get8(s); // check bits per palette color entry - - 000bf 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000c6 e8 00 00 00 00 call stbi__get8 - 000cb 0f b6 c0 movzx eax, al - 000ce 89 85 c4 00 00 - 00 mov DWORD PTR sz$[rbp], eax - -; 6102 : if ((sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32)) { - - 000d4 83 bd c4 00 00 - 00 08 cmp DWORD PTR sz$[rbp], 8 - 000db 74 38 je SHORT $LN6@stbi__tga_ - 000dd 83 bd c4 00 00 - 00 0f cmp DWORD PTR sz$[rbp], 15 - 000e4 74 2f je SHORT $LN6@stbi__tga_ - 000e6 83 bd c4 00 00 - 00 10 cmp DWORD PTR sz$[rbp], 16 - 000ed 74 26 je SHORT $LN6@stbi__tga_ - 000ef 83 bd c4 00 00 - 00 18 cmp DWORD PTR sz$[rbp], 24 - 000f6 74 1d je SHORT $LN6@stbi__tga_ - 000f8 83 bd c4 00 00 - 00 20 cmp DWORD PTR sz$[rbp], 32 ; 00000020H - 000ff 74 14 je SHORT $LN6@stbi__tga_ - -; 6103 : stbi__rewind(s); - - 00101 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00108 e8 00 00 00 00 call stbi__rewind - 0010d 90 npad 1 - -; 6104 : return 0; - - 0010e 33 c0 xor eax, eax - 00110 e9 b7 01 00 00 jmp $LN1@stbi__tga_ -$LN6@stbi__tga_: - -; 6105 : } -; 6106 : stbi__skip(s, 4); // skip image x and y origin - - 00115 ba 04 00 00 00 mov edx, 4 - 0011a 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00121 e8 00 00 00 00 call stbi__skip - 00126 90 npad 1 - -; 6107 : tga_colormap_bpp = sz; - - 00127 8b 85 c4 00 00 - 00 mov eax, DWORD PTR sz$[rbp] - 0012d 89 85 a4 00 00 - 00 mov DWORD PTR tga_colormap_bpp$[rbp], eax - -; 6108 : } else { // "normal" image w/o colormap - only RGB or grey allowed, +/- RLE - - 00133 eb 48 jmp SHORT $LN4@stbi__tga_ -$LN3@stbi__tga_: - -; 6109 : if ((tga_image_type != 2) && (tga_image_type != 3) && (tga_image_type != 10) && - - 00135 83 7d 64 02 cmp DWORD PTR tga_image_type$[rbp], 2 - 00139 74 26 je SHORT $LN7@stbi__tga_ - 0013b 83 7d 64 03 cmp DWORD PTR tga_image_type$[rbp], 3 - 0013f 74 20 je SHORT $LN7@stbi__tga_ - 00141 83 7d 64 0a cmp DWORD PTR tga_image_type$[rbp], 10 - 00145 74 1a je SHORT $LN7@stbi__tga_ - 00147 83 7d 64 0b cmp DWORD PTR tga_image_type$[rbp], 11 - 0014b 74 14 je SHORT $LN7@stbi__tga_ - -; 6110 : (tga_image_type != 11)) { -; 6111 : stbi__rewind(s); - - 0014d 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00154 e8 00 00 00 00 call stbi__rewind - 00159 90 npad 1 - -; 6112 : return 0; // only RGB or grey allowed, +/- RLE - - 0015a 33 c0 xor eax, eax - 0015c e9 6b 01 00 00 jmp $LN1@stbi__tga_ -$LN7@stbi__tga_: - -; 6113 : } -; 6114 : stbi__skip(s, - - 00161 ba 09 00 00 00 mov edx, 9 - 00166 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0016d e8 00 00 00 00 call stbi__skip - 00172 90 npad 1 - -; 6115 : 9); // skip colormap specification and image x/y origin -; 6116 : tga_colormap_bpp = 0; - - 00173 c7 85 a4 00 00 - 00 00 00 00 00 mov DWORD PTR tga_colormap_bpp$[rbp], 0 -$LN4@stbi__tga_: - -; 6117 : } -; 6118 : tga_w = stbi__get16le(s); - - 0017d 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00184 e8 00 00 00 00 call stbi__get16le - 00189 89 45 04 mov DWORD PTR tga_w$[rbp], eax - -; 6119 : if (tga_w < 1) { - - 0018c 83 7d 04 01 cmp DWORD PTR tga_w$[rbp], 1 - 00190 7d 14 jge SHORT $LN8@stbi__tga_ - -; 6120 : stbi__rewind(s); - - 00192 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00199 e8 00 00 00 00 call stbi__rewind - 0019e 90 npad 1 - -; 6121 : return 0; // test width - - 0019f 33 c0 xor eax, eax - 001a1 e9 26 01 00 00 jmp $LN1@stbi__tga_ -$LN8@stbi__tga_: - -; 6122 : } -; 6123 : tga_h = stbi__get16le(s); - - 001a6 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001ad e8 00 00 00 00 call stbi__get16le - 001b2 89 45 24 mov DWORD PTR tga_h$[rbp], eax - -; 6124 : if (tga_h < 1) { - - 001b5 83 7d 24 01 cmp DWORD PTR tga_h$[rbp], 1 - 001b9 7d 14 jge SHORT $LN9@stbi__tga_ - -; 6125 : stbi__rewind(s); - - 001bb 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001c2 e8 00 00 00 00 call stbi__rewind - 001c7 90 npad 1 - -; 6126 : return 0; // test height - - 001c8 33 c0 xor eax, eax - 001ca e9 fd 00 00 00 jmp $LN1@stbi__tga_ -$LN9@stbi__tga_: - -; 6127 : } -; 6128 : tga_bits_per_pixel = stbi__get8(s); // bits per pixel - - 001cf 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001d6 e8 00 00 00 00 call stbi__get8 - 001db 0f b6 c0 movzx eax, al - 001de 89 85 84 00 00 - 00 mov DWORD PTR tga_bits_per_pixel$[rbp], eax - -; 6129 : stbi__get8(s); // ignore alpha bits - - 001e4 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 001eb e8 00 00 00 00 call stbi__get8 - 001f0 90 npad 1 - -; 6130 : if (tga_colormap_bpp != 0) { - - 001f1 83 bd a4 00 00 - 00 00 cmp DWORD PTR tga_colormap_bpp$[rbp], 0 - 001f8 74 3b je SHORT $LN10@stbi__tga_ - -; 6131 : if ((tga_bits_per_pixel != 8) && (tga_bits_per_pixel != 16)) { - - 001fa 83 bd 84 00 00 - 00 08 cmp DWORD PTR tga_bits_per_pixel$[rbp], 8 - 00201 74 1d je SHORT $LN12@stbi__tga_ - 00203 83 bd 84 00 00 - 00 10 cmp DWORD PTR tga_bits_per_pixel$[rbp], 16 - 0020a 74 14 je SHORT $LN12@stbi__tga_ - -; 6132 : // when using a colormap, tga_bits_per_pixel is the size of the indexes -; 6133 : // I don't think anything but 8 or 16bit indexes makes sense -; 6134 : stbi__rewind(s); - - 0020c 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00213 e8 00 00 00 00 call stbi__rewind - 00218 90 npad 1 - -; 6135 : return 0; - - 00219 33 c0 xor eax, eax - 0021b e9 ac 00 00 00 jmp $LN1@stbi__tga_ -$LN12@stbi__tga_: - -; 6136 : } -; 6137 : tga_comp = stbi__tga_get_comp(tga_colormap_bpp, 0, NULL); - - 00220 45 33 c0 xor r8d, r8d - 00223 33 d2 xor edx, edx - 00225 8b 8d a4 00 00 - 00 mov ecx, DWORD PTR tga_colormap_bpp$[rbp] - 0022b e8 00 00 00 00 call stbi__tga_get_comp - 00230 89 45 44 mov DWORD PTR tga_comp$[rbp], eax - -; 6138 : } else { - - 00233 eb 39 jmp SHORT $LN11@stbi__tga_ -$LN10@stbi__tga_: - -; 6139 : tga_comp = stbi__tga_get_comp( - - 00235 83 7d 64 03 cmp DWORD PTR tga_image_type$[rbp], 3 - 00239 74 12 je SHORT $LN18@stbi__tga_ - 0023b 83 7d 64 0b cmp DWORD PTR tga_image_type$[rbp], 11 - 0023f 74 0c je SHORT $LN18@stbi__tga_ - 00241 c7 85 b4 01 00 - 00 00 00 00 00 mov DWORD PTR tv153[rbp], 0 - 0024b eb 0a jmp SHORT $LN19@stbi__tga_ -$LN18@stbi__tga_: - 0024d c7 85 b4 01 00 - 00 01 00 00 00 mov DWORD PTR tv153[rbp], 1 -$LN19@stbi__tga_: - 00257 45 33 c0 xor r8d, r8d - 0025a 8b 95 b4 01 00 - 00 mov edx, DWORD PTR tv153[rbp] - 00260 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR tga_bits_per_pixel$[rbp] - 00266 e8 00 00 00 00 call stbi__tga_get_comp - 0026b 89 45 44 mov DWORD PTR tga_comp$[rbp], eax -$LN11@stbi__tga_: - -; 6140 : tga_bits_per_pixel, (tga_image_type == 3) || (tga_image_type == 11), NULL); -; 6141 : } -; 6142 : if (!tga_comp) { - - 0026e 83 7d 44 00 cmp DWORD PTR tga_comp$[rbp], 0 - 00272 75 11 jne SHORT $LN13@stbi__tga_ - -; 6143 : stbi__rewind(s); - - 00274 48 8b 8d e0 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0027b e8 00 00 00 00 call stbi__rewind - 00280 90 npad 1 - -; 6144 : return 0; - - 00281 33 c0 xor eax, eax - 00283 eb 47 jmp SHORT $LN1@stbi__tga_ -$LN13@stbi__tga_: - -; 6145 : } -; 6146 : if (x) - - 00285 48 83 bd e8 01 - 00 00 00 cmp QWORD PTR x$[rbp], 0 - 0028d 74 0c je SHORT $LN14@stbi__tga_ - -; 6147 : *x = tga_w; - - 0028f 48 8b 85 e8 01 - 00 00 mov rax, QWORD PTR x$[rbp] - 00296 8b 4d 04 mov ecx, DWORD PTR tga_w$[rbp] - 00299 89 08 mov DWORD PTR [rax], ecx -$LN14@stbi__tga_: - -; 6148 : if (y) - - 0029b 48 83 bd f0 01 - 00 00 00 cmp QWORD PTR y$[rbp], 0 - 002a3 74 0c je SHORT $LN15@stbi__tga_ - -; 6149 : *y = tga_h; - - 002a5 48 8b 85 f0 01 - 00 00 mov rax, QWORD PTR y$[rbp] - 002ac 8b 4d 24 mov ecx, DWORD PTR tga_h$[rbp] - 002af 89 08 mov DWORD PTR [rax], ecx -$LN15@stbi__tga_: - -; 6150 : if (comp) - - 002b1 48 83 bd f8 01 - 00 00 00 cmp QWORD PTR comp$[rbp], 0 - 002b9 74 0c je SHORT $LN16@stbi__tga_ - -; 6151 : *comp = tga_comp; - - 002bb 48 8b 85 f8 01 - 00 00 mov rax, QWORD PTR comp$[rbp] - 002c2 8b 4d 44 mov ecx, DWORD PTR tga_comp$[rbp] - 002c5 89 08 mov DWORD PTR [rax], ecx -$LN16@stbi__tga_: - -; 6152 : return 1; // seems to have passed everything - - 002c7 b8 01 00 00 00 mov eax, 1 -$LN1@stbi__tga_: - -; 6153 : } - - 002cc 48 8d a5 c8 01 - 00 00 lea rsp, QWORD PTR [rbp+456] - 002d3 5f pop rdi - 002d4 5d pop rbp - 002d5 c3 ret 0 -stbi__tga_info ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__tga_load -_TEXT SEGMENT -tga_offset$ = 4 -tga_indexed$ = 36 -tga_image_type$ = 68 -tga_is_RLE$ = 100 -tga_palette_start$ = 132 -tga_palette_len$ = 164 -tga_palette_bits$ = 196 -tga_x_origin$ = 228 -tga_y_origin$ = 260 -tga_width$ = 292 -tga_height$ = 324 -tga_bits_per_pixel$ = 356 -tga_comp$ = 388 -tga_rgb16$ = 420 -tga_inverted$ = 452 -tga_data$ = 488 -tga_palette$ = 520 -i$ = 548 -j$ = 580 -raw_data$ = 612 -RLE_count$ = 644 -RLE_repeating$ = 676 -read_next_pixel$ = 708 -row$5 = 740 -tga_row$6 = 776 -pal_entry$7 = 808 -RLE_cmd$8 = 836 -pal_idx$9 = 868 -index1$10 = 900 -index2$11 = 932 -temp$12 = 964 -tga_pixel$13 = 1000 -temp$14 = 1028 -tv192 = 1620 -tv296 = 1620 -tv153 = 1620 -tv181 = 1624 -tv219 = 1624 -tv134 = 1624 -tv139 = 1624 -tv160 = 1624 -tv171 = 1624 -tv275 = 1624 -tv207 = 1624 -__$ArrayPad$ = 1632 -s$ = 1680 -x$ = 1688 -y$ = 1696 -comp$ = 1704 -req_comp$ = 1712 -ri$ = 1720 -stbi__tga_load PROC ; COMDAT - -; 6218 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec a8 06 - 00 00 sub rsp, 1704 ; 000006a8H - 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00022 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 00027 b9 0e 01 00 00 mov ecx, 270 ; 0000010eH - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 c8 - 06 00 00 mov rcx, QWORD PTR [rsp+1736] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 60 06 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 6219 : // read in the TGA header stuff -; 6220 : int tga_offset = stbi__get8(s); - - 00059 48 8b 8d 90 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00060 e8 00 00 00 00 call stbi__get8 - 00065 0f b6 c0 movzx eax, al - 00068 89 45 04 mov DWORD PTR tga_offset$[rbp], eax - -; 6221 : int tga_indexed = stbi__get8(s); - - 0006b 48 8b 8d 90 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00072 e8 00 00 00 00 call stbi__get8 - 00077 0f b6 c0 movzx eax, al - 0007a 89 45 24 mov DWORD PTR tga_indexed$[rbp], eax - -; 6222 : int tga_image_type = stbi__get8(s); - - 0007d 48 8b 8d 90 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00084 e8 00 00 00 00 call stbi__get8 - 00089 0f b6 c0 movzx eax, al - 0008c 89 45 44 mov DWORD PTR tga_image_type$[rbp], eax - -; 6223 : int tga_is_RLE = 0; - - 0008f c7 45 64 00 00 - 00 00 mov DWORD PTR tga_is_RLE$[rbp], 0 - -; 6224 : int tga_palette_start = stbi__get16le(s); - - 00096 48 8b 8d 90 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0009d e8 00 00 00 00 call stbi__get16le - 000a2 89 85 84 00 00 - 00 mov DWORD PTR tga_palette_start$[rbp], eax - -; 6225 : int tga_palette_len = stbi__get16le(s); - - 000a8 48 8b 8d 90 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000af e8 00 00 00 00 call stbi__get16le - 000b4 89 85 a4 00 00 - 00 mov DWORD PTR tga_palette_len$[rbp], eax - -; 6226 : int tga_palette_bits = stbi__get8(s); - - 000ba 48 8b 8d 90 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000c1 e8 00 00 00 00 call stbi__get8 - 000c6 0f b6 c0 movzx eax, al - 000c9 89 85 c4 00 00 - 00 mov DWORD PTR tga_palette_bits$[rbp], eax - -; 6227 : int tga_x_origin = stbi__get16le(s); - - 000cf 48 8b 8d 90 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000d6 e8 00 00 00 00 call stbi__get16le - 000db 89 85 e4 00 00 - 00 mov DWORD PTR tga_x_origin$[rbp], eax - -; 6228 : int tga_y_origin = stbi__get16le(s); - - 000e1 48 8b 8d 90 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000e8 e8 00 00 00 00 call stbi__get16le - 000ed 89 85 04 01 00 - 00 mov DWORD PTR tga_y_origin$[rbp], eax - -; 6229 : int tga_width = stbi__get16le(s); - - 000f3 48 8b 8d 90 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000fa e8 00 00 00 00 call stbi__get16le - 000ff 89 85 24 01 00 - 00 mov DWORD PTR tga_width$[rbp], eax - -; 6230 : int tga_height = stbi__get16le(s); - - 00105 48 8b 8d 90 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0010c e8 00 00 00 00 call stbi__get16le - 00111 89 85 44 01 00 - 00 mov DWORD PTR tga_height$[rbp], eax - -; 6231 : int tga_bits_per_pixel = stbi__get8(s); - - 00117 48 8b 8d 90 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0011e e8 00 00 00 00 call stbi__get8 - 00123 0f b6 c0 movzx eax, al - 00126 89 85 64 01 00 - 00 mov DWORD PTR tga_bits_per_pixel$[rbp], eax - -; 6232 : int tga_comp, tga_rgb16 = 0; - - 0012c c7 85 a4 01 00 - 00 00 00 00 00 mov DWORD PTR tga_rgb16$[rbp], 0 - -; 6233 : int tga_inverted = stbi__get8(s); - - 00136 48 8b 8d 90 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0013d e8 00 00 00 00 call stbi__get8 - 00142 0f b6 c0 movzx eax, al - 00145 89 85 c4 01 00 - 00 mov DWORD PTR tga_inverted$[rbp], eax - -; 6234 : // int tga_alpha_bits = tga_inverted & 15; // the 4 lowest bits - unused (useless?) -; 6235 : // image data -; 6236 : unsigned char *tga_data; -; 6237 : unsigned char *tga_palette = NULL; - - 0014b 48 c7 85 08 02 - 00 00 00 00 00 - 00 mov QWORD PTR tga_palette$[rbp], 0 - -; 6238 : int i, j; -; 6239 : unsigned char raw_data[4] = { 0 }; - - 00156 48 8d 85 64 02 - 00 00 lea rax, QWORD PTR raw_data$[rbp] - 0015d 48 8b f8 mov rdi, rax - 00160 33 c0 xor eax, eax - 00162 b9 04 00 00 00 mov ecx, 4 - 00167 f3 aa rep stosb - -; 6240 : int RLE_count = 0; - - 00169 c7 85 84 02 00 - 00 00 00 00 00 mov DWORD PTR RLE_count$[rbp], 0 - -; 6241 : int RLE_repeating = 0; - - 00173 c7 85 a4 02 00 - 00 00 00 00 00 mov DWORD PTR RLE_repeating$[rbp], 0 - -; 6242 : int read_next_pixel = 1; - - 0017d c7 85 c4 02 00 - 00 01 00 00 00 mov DWORD PTR read_next_pixel$[rbp], 1 - -; 6243 : STBI_NOTUSED(ri); -; 6244 : STBI_NOTUSED(tga_x_origin); // @TODO -; 6245 : STBI_NOTUSED(tga_y_origin); // @TODO -; 6246 : -; 6247 : if (tga_height > STBI_MAX_DIMENSIONS) - - 00187 81 bd 44 01 00 - 00 00 00 00 01 cmp DWORD PTR tga_height$[rbp], 16777216 ; 01000000H - 00191 7e 34 jle SHORT $LN29@stbi__tga_ - -; 6248 : return stbi__errpuc("too large", "Very large image (corrupt?)"); - - 00193 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 0019a e8 00 00 00 00 call stbi__err - 0019f 85 c0 test eax, eax - 001a1 74 0d je SHORT $LN62@stbi__tga_ - 001a3 48 c7 85 58 06 - 00 00 00 00 00 - 00 mov QWORD PTR tv134[rbp], 0 - 001ae eb 0b jmp SHORT $LN63@stbi__tga_ -$LN62@stbi__tga_: - 001b0 48 c7 85 58 06 - 00 00 00 00 00 - 00 mov QWORD PTR tv134[rbp], 0 -$LN63@stbi__tga_: - 001bb 48 8b 85 58 06 - 00 00 mov rax, QWORD PTR tv134[rbp] - 001c2 e9 ce 09 00 00 jmp $LN1@stbi__tga_ -$LN29@stbi__tga_: - -; 6249 : if (tga_width > STBI_MAX_DIMENSIONS) - - 001c7 81 bd 24 01 00 - 00 00 00 00 01 cmp DWORD PTR tga_width$[rbp], 16777216 ; 01000000H - 001d1 7e 34 jle SHORT $LN30@stbi__tga_ - -; 6250 : return stbi__errpuc("too large", "Very large image (corrupt?)"); - - 001d3 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 001da e8 00 00 00 00 call stbi__err - 001df 85 c0 test eax, eax - 001e1 74 0d je SHORT $LN64@stbi__tga_ - 001e3 48 c7 85 58 06 - 00 00 00 00 00 - 00 mov QWORD PTR tv139[rbp], 0 - 001ee eb 0b jmp SHORT $LN65@stbi__tga_ -$LN64@stbi__tga_: - 001f0 48 c7 85 58 06 - 00 00 00 00 00 - 00 mov QWORD PTR tv139[rbp], 0 -$LN65@stbi__tga_: - 001fb 48 8b 85 58 06 - 00 00 mov rax, QWORD PTR tv139[rbp] - 00202 e9 8e 09 00 00 jmp $LN1@stbi__tga_ -$LN30@stbi__tga_: - -; 6251 : -; 6252 : // do a tiny bit of precessing -; 6253 : if (tga_image_type >= 8) { - - 00207 83 7d 44 08 cmp DWORD PTR tga_image_type$[rbp], 8 - 0020b 7c 10 jl SHORT $LN31@stbi__tga_ - -; 6254 : tga_image_type -= 8; - - 0020d 8b 45 44 mov eax, DWORD PTR tga_image_type$[rbp] - 00210 83 e8 08 sub eax, 8 - 00213 89 45 44 mov DWORD PTR tga_image_type$[rbp], eax - -; 6255 : tga_is_RLE = 1; - - 00216 c7 45 64 01 00 - 00 00 mov DWORD PTR tga_is_RLE$[rbp], 1 -$LN31@stbi__tga_: - -; 6256 : } -; 6257 : tga_inverted = 1 - ((tga_inverted >> 5) & 1); - - 0021d 8b 85 c4 01 00 - 00 mov eax, DWORD PTR tga_inverted$[rbp] - 00223 c1 f8 05 sar eax, 5 - 00226 83 e0 01 and eax, 1 - 00229 b9 01 00 00 00 mov ecx, 1 - 0022e 2b c8 sub ecx, eax - 00230 8b c1 mov eax, ecx - 00232 89 85 c4 01 00 - 00 mov DWORD PTR tga_inverted$[rbp], eax - -; 6258 : -; 6259 : // If I'm paletted, then I'll use the number of bits from the palette -; 6260 : if (tga_indexed) - - 00238 83 7d 24 00 cmp DWORD PTR tga_indexed$[rbp], 0 - 0023c 74 1c je SHORT $LN32@stbi__tga_ - -; 6261 : tga_comp = stbi__tga_get_comp(tga_palette_bits, 0, &tga_rgb16); - - 0023e 4c 8d 85 a4 01 - 00 00 lea r8, QWORD PTR tga_rgb16$[rbp] - 00245 33 d2 xor edx, edx - 00247 8b 8d c4 00 00 - 00 mov ecx, DWORD PTR tga_palette_bits$[rbp] - 0024d e8 00 00 00 00 call stbi__tga_get_comp - 00252 89 85 84 01 00 - 00 mov DWORD PTR tga_comp$[rbp], eax - 00258 eb 3a jmp SHORT $LN33@stbi__tga_ -$LN32@stbi__tga_: - -; 6262 : else -; 6263 : tga_comp = - - 0025a 83 7d 44 03 cmp DWORD PTR tga_image_type$[rbp], 3 - 0025e 75 0c jne SHORT $LN66@stbi__tga_ - 00260 c7 85 54 06 00 - 00 01 00 00 00 mov DWORD PTR tv153[rbp], 1 - 0026a eb 0a jmp SHORT $LN67@stbi__tga_ -$LN66@stbi__tga_: - 0026c c7 85 54 06 00 - 00 00 00 00 00 mov DWORD PTR tv153[rbp], 0 -$LN67@stbi__tga_: - 00276 4c 8d 85 a4 01 - 00 00 lea r8, QWORD PTR tga_rgb16$[rbp] - 0027d 8b 95 54 06 00 - 00 mov edx, DWORD PTR tv153[rbp] - 00283 8b 8d 64 01 00 - 00 mov ecx, DWORD PTR tga_bits_per_pixel$[rbp] - 00289 e8 00 00 00 00 call stbi__tga_get_comp - 0028e 89 85 84 01 00 - 00 mov DWORD PTR tga_comp$[rbp], eax -$LN33@stbi__tga_: - -; 6264 : stbi__tga_get_comp(tga_bits_per_pixel, (tga_image_type == 3), &tga_rgb16); -; 6265 : -; 6266 : if (!tga_comp) // shouldn't really happen, stbi__tga_test() should have ensured basic consistency - - 00294 83 bd 84 01 00 - 00 00 cmp DWORD PTR tga_comp$[rbp], 0 - 0029b 75 34 jne SHORT $LN34@stbi__tga_ - -; 6267 : return stbi__errpuc("bad format", "Can't find out TGA pixelformat"); - - 0029d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0L@DMAPJJO@bad?5format@ - 002a4 e8 00 00 00 00 call stbi__err - 002a9 85 c0 test eax, eax - 002ab 74 0d je SHORT $LN68@stbi__tga_ - 002ad 48 c7 85 58 06 - 00 00 00 00 00 - 00 mov QWORD PTR tv160[rbp], 0 - 002b8 eb 0b jmp SHORT $LN69@stbi__tga_ -$LN68@stbi__tga_: - 002ba 48 c7 85 58 06 - 00 00 00 00 00 - 00 mov QWORD PTR tv160[rbp], 0 -$LN69@stbi__tga_: - 002c5 48 8b 85 58 06 - 00 00 mov rax, QWORD PTR tv160[rbp] - 002cc e9 c4 08 00 00 jmp $LN1@stbi__tga_ -$LN34@stbi__tga_: - -; 6268 : -; 6269 : // tga info -; 6270 : *x = tga_width; - - 002d1 48 8b 85 98 06 - 00 00 mov rax, QWORD PTR x$[rbp] - 002d8 8b 8d 24 01 00 - 00 mov ecx, DWORD PTR tga_width$[rbp] - 002de 89 08 mov DWORD PTR [rax], ecx - -; 6271 : *y = tga_height; - - 002e0 48 8b 85 a0 06 - 00 00 mov rax, QWORD PTR y$[rbp] - 002e7 8b 8d 44 01 00 - 00 mov ecx, DWORD PTR tga_height$[rbp] - 002ed 89 08 mov DWORD PTR [rax], ecx - -; 6272 : if (comp) - - 002ef 48 83 bd a8 06 - 00 00 00 cmp QWORD PTR comp$[rbp], 0 - 002f7 74 0f je SHORT $LN35@stbi__tga_ - -; 6273 : *comp = tga_comp; - - 002f9 48 8b 85 a8 06 - 00 00 mov rax, QWORD PTR comp$[rbp] - 00300 8b 8d 84 01 00 - 00 mov ecx, DWORD PTR tga_comp$[rbp] - 00306 89 08 mov DWORD PTR [rax], ecx -$LN35@stbi__tga_: - -; 6274 : -; 6275 : if (!stbi__mad3sizes_valid(tga_width, tga_height, tga_comp, 0)) - - 00308 45 33 c9 xor r9d, r9d - 0030b 44 8b 85 84 01 - 00 00 mov r8d, DWORD PTR tga_comp$[rbp] - 00312 8b 95 44 01 00 - 00 mov edx, DWORD PTR tga_height$[rbp] - 00318 8b 8d 24 01 00 - 00 mov ecx, DWORD PTR tga_width$[rbp] - 0031e e8 00 00 00 00 call stbi__mad3sizes_valid - 00323 85 c0 test eax, eax - 00325 75 34 jne SHORT $LN36@stbi__tga_ - -; 6276 : return stbi__errpuc("too large", "Corrupt TGA"); - - 00327 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 0032e e8 00 00 00 00 call stbi__err - 00333 85 c0 test eax, eax - 00335 74 0d je SHORT $LN70@stbi__tga_ - 00337 48 c7 85 58 06 - 00 00 00 00 00 - 00 mov QWORD PTR tv171[rbp], 0 - 00342 eb 0b jmp SHORT $LN71@stbi__tga_ -$LN70@stbi__tga_: - 00344 48 c7 85 58 06 - 00 00 00 00 00 - 00 mov QWORD PTR tv171[rbp], 0 -$LN71@stbi__tga_: - 0034f 48 8b 85 58 06 - 00 00 mov rax, QWORD PTR tv171[rbp] - 00356 e9 3a 08 00 00 jmp $LN1@stbi__tga_ -$LN36@stbi__tga_: - -; 6277 : -; 6278 : tga_data = (unsigned char *)stbi__malloc_mad3(tga_width, tga_height, tga_comp, 0); - - 0035b 45 33 c9 xor r9d, r9d - 0035e 44 8b 85 84 01 - 00 00 mov r8d, DWORD PTR tga_comp$[rbp] - 00365 8b 95 44 01 00 - 00 mov edx, DWORD PTR tga_height$[rbp] - 0036b 8b 8d 24 01 00 - 00 mov ecx, DWORD PTR tga_width$[rbp] - 00371 e8 00 00 00 00 call stbi__malloc_mad3 - 00376 48 89 85 e8 01 - 00 00 mov QWORD PTR tga_data$[rbp], rax - -; 6279 : if (!tga_data) - - 0037d 48 83 bd e8 01 - 00 00 00 cmp QWORD PTR tga_data$[rbp], 0 - 00385 75 34 jne SHORT $LN37@stbi__tga_ - -; 6280 : return stbi__errpuc("outofmem", "Out of memory"); - - 00387 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 0038e e8 00 00 00 00 call stbi__err - 00393 85 c0 test eax, eax - 00395 74 0d je SHORT $LN72@stbi__tga_ - 00397 48 c7 85 58 06 - 00 00 00 00 00 - 00 mov QWORD PTR tv181[rbp], 0 - 003a2 eb 0b jmp SHORT $LN73@stbi__tga_ -$LN72@stbi__tga_: - 003a4 48 c7 85 58 06 - 00 00 00 00 00 - 00 mov QWORD PTR tv181[rbp], 0 -$LN73@stbi__tga_: - 003af 48 8b 85 58 06 - 00 00 mov rax, QWORD PTR tv181[rbp] - 003b6 e9 da 07 00 00 jmp $LN1@stbi__tga_ -$LN37@stbi__tga_: - -; 6281 : -; 6282 : // skip to the data's starting position (offset usually = 0) -; 6283 : stbi__skip(s, tga_offset); - - 003bb 8b 55 04 mov edx, DWORD PTR tga_offset$[rbp] - 003be 48 8b 8d 90 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 003c5 e8 00 00 00 00 call stbi__skip - 003ca 90 npad 1 - -; 6284 : -; 6285 : if (!tga_indexed && !tga_is_RLE && !tga_rgb16) { - - 003cb 83 7d 24 00 cmp DWORD PTR tga_indexed$[rbp], 0 - 003cf 0f 85 d6 00 00 - 00 jne $LN38@stbi__tga_ - 003d5 83 7d 64 00 cmp DWORD PTR tga_is_RLE$[rbp], 0 - 003d9 0f 85 cc 00 00 - 00 jne $LN38@stbi__tga_ - 003df 83 bd a4 01 00 - 00 00 cmp DWORD PTR tga_rgb16$[rbp], 0 - 003e6 0f 85 bf 00 00 - 00 jne $LN38@stbi__tga_ - -; 6286 : for (i = 0; i < tga_height; ++i) { - - 003ec c7 85 24 02 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 003f6 eb 0e jmp SHORT $LN4@stbi__tga_ -$LN2@stbi__tga_: - 003f8 8b 85 24 02 00 - 00 mov eax, DWORD PTR i$[rbp] - 003fe ff c0 inc eax - 00400 89 85 24 02 00 - 00 mov DWORD PTR i$[rbp], eax -$LN4@stbi__tga_: - 00406 8b 85 44 01 00 - 00 mov eax, DWORD PTR tga_height$[rbp] - 0040c 39 85 24 02 00 - 00 cmp DWORD PTR i$[rbp], eax - 00412 0f 8d 8e 00 00 - 00 jge $LN3@stbi__tga_ - -; 6287 : int row = tga_inverted ? tga_height - i - 1 : i; - - 00418 83 bd c4 01 00 - 00 00 cmp DWORD PTR tga_inverted$[rbp], 0 - 0041f 74 1a je SHORT $LN74@stbi__tga_ - 00421 8b 85 24 02 00 - 00 mov eax, DWORD PTR i$[rbp] - 00427 8b 8d 44 01 00 - 00 mov ecx, DWORD PTR tga_height$[rbp] - 0042d 2b c8 sub ecx, eax - 0042f 8b c1 mov eax, ecx - 00431 ff c8 dec eax - 00433 89 85 54 06 00 - 00 mov DWORD PTR tv192[rbp], eax - 00439 eb 0c jmp SHORT $LN75@stbi__tga_ -$LN74@stbi__tga_: - 0043b 8b 85 24 02 00 - 00 mov eax, DWORD PTR i$[rbp] - 00441 89 85 54 06 00 - 00 mov DWORD PTR tv192[rbp], eax -$LN75@stbi__tga_: - 00447 8b 85 54 06 00 - 00 mov eax, DWORD PTR tv192[rbp] - 0044d 89 85 e4 02 00 - 00 mov DWORD PTR row$5[rbp], eax - -; 6288 : stbi_uc *tga_row = tga_data + row * tga_width * tga_comp; - - 00453 8b 85 e4 02 00 - 00 mov eax, DWORD PTR row$5[rbp] - 00459 0f af 85 24 01 - 00 00 imul eax, DWORD PTR tga_width$[rbp] - 00460 0f af 85 84 01 - 00 00 imul eax, DWORD PTR tga_comp$[rbp] - 00467 48 98 cdqe - 00469 48 8b 8d e8 01 - 00 00 mov rcx, QWORD PTR tga_data$[rbp] - 00470 48 03 c8 add rcx, rax - 00473 48 8b c1 mov rax, rcx - 00476 48 89 85 08 03 - 00 00 mov QWORD PTR tga_row$6[rbp], rax - -; 6289 : stbi__getn(s, tga_row, tga_width * tga_comp); - - 0047d 8b 85 24 01 00 - 00 mov eax, DWORD PTR tga_width$[rbp] - 00483 0f af 85 84 01 - 00 00 imul eax, DWORD PTR tga_comp$[rbp] - 0048a 44 8b c0 mov r8d, eax - 0048d 48 8b 95 08 03 - 00 00 mov rdx, QWORD PTR tga_row$6[rbp] - 00494 48 8b 8d 90 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0049b e8 00 00 00 00 call stbi__getn - 004a0 90 npad 1 - -; 6290 : } - - 004a1 e9 52 ff ff ff jmp $LN2@stbi__tga_ -$LN3@stbi__tga_: - -; 6291 : } else { - - 004a6 e9 8f 05 00 00 jmp $LN39@stbi__tga_ -$LN38@stbi__tga_: - -; 6292 : // do I need to load a palette? -; 6293 : if (tga_indexed) { - - 004ab 83 7d 24 00 cmp DWORD PTR tga_indexed$[rbp], 0 - 004af 0f 84 d7 01 00 - 00 je $LN40@stbi__tga_ - -; 6294 : if (tga_palette_len == 0) { /* you have to have at least one entry! */ - - 004b5 83 bd a4 00 00 - 00 00 cmp DWORD PTR tga_palette_len$[rbp], 0 - 004bc 75 42 jne SHORT $LN41@stbi__tga_ - -; 6295 : STBI_FREE(tga_data); - - 004be 48 8b 8d e8 01 - 00 00 mov rcx, QWORD PTR tga_data$[rbp] - 004c5 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 004cb 90 npad 1 - -; 6296 : return stbi__errpuc("bad palette", "Corrupt TGA"); - - 004cc 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0M@ILLOCNCO@bad?5palette@ - 004d3 e8 00 00 00 00 call stbi__err - 004d8 85 c0 test eax, eax - 004da 74 0d je SHORT $LN76@stbi__tga_ - 004dc 48 c7 85 58 06 - 00 00 00 00 00 - 00 mov QWORD PTR tv207[rbp], 0 - 004e7 eb 0b jmp SHORT $LN77@stbi__tga_ -$LN76@stbi__tga_: - 004e9 48 c7 85 58 06 - 00 00 00 00 00 - 00 mov QWORD PTR tv207[rbp], 0 -$LN77@stbi__tga_: - 004f4 48 8b 85 58 06 - 00 00 mov rax, QWORD PTR tv207[rbp] - 004fb e9 95 06 00 00 jmp $LN1@stbi__tga_ -$LN41@stbi__tga_: - -; 6297 : } -; 6298 : -; 6299 : // any data to skip? (offset usually = 0) -; 6300 : stbi__skip(s, tga_palette_start); - - 00500 8b 95 84 00 00 - 00 mov edx, DWORD PTR tga_palette_start$[rbp] - 00506 48 8b 8d 90 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0050d e8 00 00 00 00 call stbi__skip - 00512 90 npad 1 - -; 6301 : // load the palette -; 6302 : tga_palette = - - 00513 45 33 c0 xor r8d, r8d - 00516 8b 95 84 01 00 - 00 mov edx, DWORD PTR tga_comp$[rbp] - 0051c 8b 8d a4 00 00 - 00 mov ecx, DWORD PTR tga_palette_len$[rbp] - 00522 e8 00 00 00 00 call stbi__malloc_mad2 - 00527 48 89 85 08 02 - 00 00 mov QWORD PTR tga_palette$[rbp], rax - -; 6303 : (unsigned char *)stbi__malloc_mad2(tga_palette_len, tga_comp, 0); -; 6304 : if (!tga_palette) { - - 0052e 48 83 bd 08 02 - 00 00 00 cmp QWORD PTR tga_palette$[rbp], 0 - 00536 75 42 jne SHORT $LN42@stbi__tga_ - -; 6305 : STBI_FREE(tga_data); - - 00538 48 8b 8d e8 01 - 00 00 mov rcx, QWORD PTR tga_data$[rbp] - 0053f ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00545 90 npad 1 - -; 6306 : return stbi__errpuc("outofmem", "Out of memory"); - - 00546 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 0054d e8 00 00 00 00 call stbi__err - 00552 85 c0 test eax, eax - 00554 74 0d je SHORT $LN78@stbi__tga_ - 00556 48 c7 85 58 06 - 00 00 00 00 00 - 00 mov QWORD PTR tv219[rbp], 0 - 00561 eb 0b jmp SHORT $LN79@stbi__tga_ -$LN78@stbi__tga_: - 00563 48 c7 85 58 06 - 00 00 00 00 00 - 00 mov QWORD PTR tv219[rbp], 0 -$LN79@stbi__tga_: - 0056e 48 8b 85 58 06 - 00 00 mov rax, QWORD PTR tv219[rbp] - 00575 e9 1b 06 00 00 jmp $LN1@stbi__tga_ -$LN42@stbi__tga_: - -; 6307 : } -; 6308 : if (tga_rgb16) { - - 0057a 83 bd a4 01 00 - 00 00 cmp DWORD PTR tga_rgb16$[rbp], 0 - 00581 0f 84 8e 00 00 - 00 je $LN43@stbi__tga_ - -; 6309 : stbi_uc *pal_entry = tga_palette; - - 00587 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR tga_palette$[rbp] - 0058e 48 89 85 28 03 - 00 00 mov QWORD PTR pal_entry$7[rbp], rax - -; 6310 : STBI_ASSERT(tga_comp == STBI_rgb); - - 00595 83 bd 84 01 00 - 00 03 cmp DWORD PTR tga_comp$[rbp], 3 - 0059c 74 1c je SHORT $LN80@stbi__tga_ - 0059e 41 b8 a6 18 00 - 00 mov r8d, 6310 ; 000018a6H - 005a4 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_1GG@PCNMFHPN@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ - 005ab 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_1CK@GOOINIO@?$AAt?$AAg?$AAa?$AA_?$AAc?$AAo?$AAm?$AAp?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAS?$AAT?$AAB@ - 005b2 ff 15 00 00 00 - 00 call QWORD PTR __imp__wassert - 005b8 33 c0 xor eax, eax -$LN80@stbi__tga_: - -; 6311 : for (i = 0; i < tga_palette_len; ++i) { - - 005ba c7 85 24 02 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 005c4 eb 0e jmp SHORT $LN7@stbi__tga_ -$LN5@stbi__tga_: - 005c6 8b 85 24 02 00 - 00 mov eax, DWORD PTR i$[rbp] - 005cc ff c0 inc eax - 005ce 89 85 24 02 00 - 00 mov DWORD PTR i$[rbp], eax -$LN7@stbi__tga_: - 005d4 8b 85 a4 00 00 - 00 mov eax, DWORD PTR tga_palette_len$[rbp] - 005da 39 85 24 02 00 - 00 cmp DWORD PTR i$[rbp], eax - 005e0 7d 31 jge SHORT $LN6@stbi__tga_ - -; 6312 : stbi__tga_read_rgb16(s, pal_entry); - - 005e2 48 8b 95 28 03 - 00 00 mov rdx, QWORD PTR pal_entry$7[rbp] - 005e9 48 8b 8d 90 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 005f0 e8 00 00 00 00 call stbi__tga_read_rgb16 - 005f5 90 npad 1 - -; 6313 : pal_entry += tga_comp; - - 005f6 48 63 85 84 01 - 00 00 movsxd rax, DWORD PTR tga_comp$[rbp] - 005fd 48 8b 8d 28 03 - 00 00 mov rcx, QWORD PTR pal_entry$7[rbp] - 00604 48 03 c8 add rcx, rax - 00607 48 8b c1 mov rax, rcx - 0060a 48 89 85 28 03 - 00 00 mov QWORD PTR pal_entry$7[rbp], rax - -; 6314 : } - - 00611 eb b3 jmp SHORT $LN5@stbi__tga_ -$LN6@stbi__tga_: - -; 6315 : } else if (!stbi__getn(s, tga_palette, tga_palette_len * tga_comp)) { - - 00613 eb 77 jmp SHORT $LN44@stbi__tga_ -$LN43@stbi__tga_: - 00615 8b 85 a4 00 00 - 00 mov eax, DWORD PTR tga_palette_len$[rbp] - 0061b 0f af 85 84 01 - 00 00 imul eax, DWORD PTR tga_comp$[rbp] - 00622 44 8b c0 mov r8d, eax - 00625 48 8b 95 08 02 - 00 00 mov rdx, QWORD PTR tga_palette$[rbp] - 0062c 48 8b 8d 90 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00633 e8 00 00 00 00 call stbi__getn - 00638 85 c0 test eax, eax - 0063a 75 50 jne SHORT $LN45@stbi__tga_ - -; 6316 : STBI_FREE(tga_data); - - 0063c 48 8b 8d e8 01 - 00 00 mov rcx, QWORD PTR tga_data$[rbp] - 00643 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00649 90 npad 1 - -; 6317 : STBI_FREE(tga_palette); - - 0064a 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR tga_palette$[rbp] - 00651 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00657 90 npad 1 - -; 6318 : return stbi__errpuc("bad palette", "Corrupt TGA"); - - 00658 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0M@ILLOCNCO@bad?5palette@ - 0065f e8 00 00 00 00 call stbi__err - 00664 85 c0 test eax, eax - 00666 74 0d je SHORT $LN81@stbi__tga_ - 00668 48 c7 85 58 06 - 00 00 00 00 00 - 00 mov QWORD PTR tv275[rbp], 0 - 00673 eb 0b jmp SHORT $LN82@stbi__tga_ -$LN81@stbi__tga_: - 00675 48 c7 85 58 06 - 00 00 00 00 00 - 00 mov QWORD PTR tv275[rbp], 0 -$LN82@stbi__tga_: - 00680 48 8b 85 58 06 - 00 00 mov rax, QWORD PTR tv275[rbp] - 00687 e9 09 05 00 00 jmp $LN1@stbi__tga_ -$LN45@stbi__tga_: -$LN44@stbi__tga_: -$LN40@stbi__tga_: - -; 6319 : } -; 6320 : } -; 6321 : // load the data -; 6322 : for (i = 0; i < tga_width * tga_height; ++i) { - - 0068c c7 85 24 02 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 00696 eb 0e jmp SHORT $LN10@stbi__tga_ -$LN8@stbi__tga_: - 00698 8b 85 24 02 00 - 00 mov eax, DWORD PTR i$[rbp] - 0069e ff c0 inc eax - 006a0 89 85 24 02 00 - 00 mov DWORD PTR i$[rbp], eax -$LN10@stbi__tga_: - 006a6 8b 85 24 01 00 - 00 mov eax, DWORD PTR tga_width$[rbp] - 006ac 0f af 85 44 01 - 00 00 imul eax, DWORD PTR tga_height$[rbp] - 006b3 39 85 24 02 00 - 00 cmp DWORD PTR i$[rbp], eax - 006b9 0f 8d 47 02 00 - 00 jge $LN9@stbi__tga_ - -; 6323 : // if I'm in RLE mode, do I need to get a RLE stbi__pngchunk? -; 6324 : if (tga_is_RLE) { - - 006bf 83 7d 64 00 cmp DWORD PTR tga_is_RLE$[rbp], 0 - 006c3 74 5f je SHORT $LN46@stbi__tga_ - -; 6325 : if (RLE_count == 0) { - - 006c5 83 bd 84 02 00 - 00 00 cmp DWORD PTR RLE_count$[rbp], 0 - 006cc 75 41 jne SHORT $LN48@stbi__tga_ - -; 6326 : // yep, get the next byte as a RLE command -; 6327 : int RLE_cmd = stbi__get8(s); - - 006ce 48 8b 8d 90 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 006d5 e8 00 00 00 00 call stbi__get8 - 006da 0f b6 c0 movzx eax, al - 006dd 89 85 44 03 00 - 00 mov DWORD PTR RLE_cmd$8[rbp], eax - -; 6328 : RLE_count = 1 + (RLE_cmd & 127); - - 006e3 8b 85 44 03 00 - 00 mov eax, DWORD PTR RLE_cmd$8[rbp] - 006e9 83 e0 7f and eax, 127 ; 0000007fH - 006ec ff c0 inc eax - 006ee 89 85 84 02 00 - 00 mov DWORD PTR RLE_count$[rbp], eax - -; 6329 : RLE_repeating = RLE_cmd >> 7; - - 006f4 8b 85 44 03 00 - 00 mov eax, DWORD PTR RLE_cmd$8[rbp] - 006fa c1 f8 07 sar eax, 7 - 006fd 89 85 a4 02 00 - 00 mov DWORD PTR RLE_repeating$[rbp], eax - -; 6330 : read_next_pixel = 1; - - 00703 c7 85 c4 02 00 - 00 01 00 00 00 mov DWORD PTR read_next_pixel$[rbp], 1 - 0070d eb 13 jmp SHORT $LN49@stbi__tga_ -$LN48@stbi__tga_: - -; 6331 : } else if (!RLE_repeating) { - - 0070f 83 bd a4 02 00 - 00 00 cmp DWORD PTR RLE_repeating$[rbp], 0 - 00716 75 0a jne SHORT $LN50@stbi__tga_ - -; 6332 : read_next_pixel = 1; - - 00718 c7 85 c4 02 00 - 00 01 00 00 00 mov DWORD PTR read_next_pixel$[rbp], 1 -$LN50@stbi__tga_: -$LN49@stbi__tga_: - -; 6333 : } -; 6334 : } else { - - 00722 eb 0a jmp SHORT $LN47@stbi__tga_ -$LN46@stbi__tga_: - -; 6335 : read_next_pixel = 1; - - 00724 c7 85 c4 02 00 - 00 01 00 00 00 mov DWORD PTR read_next_pixel$[rbp], 1 -$LN47@stbi__tga_: - -; 6336 : } -; 6337 : // OK, if I need to read a pixel, do it now -; 6338 : if (read_next_pixel) { - - 0072e 83 bd c4 02 00 - 00 00 cmp DWORD PTR read_next_pixel$[rbp], 0 - 00735 0f 84 5f 01 00 - 00 je $LN51@stbi__tga_ - -; 6339 : // load however much data we did have -; 6340 : if (tga_indexed) { - - 0073b 83 7d 24 00 cmp DWORD PTR tga_indexed$[rbp], 0 - 0073f 0f 84 c3 00 00 - 00 je $LN52@stbi__tga_ - -; 6341 : // read in index, then perform the lookup -; 6342 : int pal_idx = (tga_bits_per_pixel == 8) ? stbi__get8(s) : - - 00745 83 bd 64 01 00 - 00 08 cmp DWORD PTR tga_bits_per_pixel$[rbp], 8 - 0074c 75 17 jne SHORT $LN83@stbi__tga_ - 0074e 48 8b 8d 90 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00755 e8 00 00 00 00 call stbi__get8 - 0075a 0f b6 c0 movzx eax, al - 0075d 89 85 54 06 00 - 00 mov DWORD PTR tv296[rbp], eax - 00763 eb 12 jmp SHORT $LN84@stbi__tga_ -$LN83@stbi__tga_: - 00765 48 8b 8d 90 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0076c e8 00 00 00 00 call stbi__get16le - 00771 89 85 54 06 00 - 00 mov DWORD PTR tv296[rbp], eax -$LN84@stbi__tga_: - 00777 8b 85 54 06 00 - 00 mov eax, DWORD PTR tv296[rbp] - 0077d 89 85 64 03 00 - 00 mov DWORD PTR pal_idx$9[rbp], eax - -; 6343 : stbi__get16le(s); -; 6344 : if (pal_idx >= tga_palette_len) { - - 00783 8b 85 a4 00 00 - 00 mov eax, DWORD PTR tga_palette_len$[rbp] - 00789 39 85 64 03 00 - 00 cmp DWORD PTR pal_idx$9[rbp], eax - 0078f 7c 0a jl SHORT $LN54@stbi__tga_ - -; 6345 : // invalid index -; 6346 : pal_idx = 0; - - 00791 c7 85 64 03 00 - 00 00 00 00 00 mov DWORD PTR pal_idx$9[rbp], 0 -$LN54@stbi__tga_: - -; 6347 : } -; 6348 : pal_idx *= tga_comp; - - 0079b 8b 85 64 03 00 - 00 mov eax, DWORD PTR pal_idx$9[rbp] - 007a1 0f af 85 84 01 - 00 00 imul eax, DWORD PTR tga_comp$[rbp] - 007a8 89 85 64 03 00 - 00 mov DWORD PTR pal_idx$9[rbp], eax - -; 6349 : for (j = 0; j < tga_comp; ++j) { - - 007ae c7 85 44 02 00 - 00 00 00 00 00 mov DWORD PTR j$[rbp], 0 - 007b8 eb 0e jmp SHORT $LN13@stbi__tga_ -$LN11@stbi__tga_: - 007ba 8b 85 44 02 00 - 00 mov eax, DWORD PTR j$[rbp] - 007c0 ff c0 inc eax - 007c2 89 85 44 02 00 - 00 mov DWORD PTR j$[rbp], eax -$LN13@stbi__tga_: - 007c8 8b 85 84 01 00 - 00 mov eax, DWORD PTR tga_comp$[rbp] - 007ce 39 85 44 02 00 - 00 cmp DWORD PTR j$[rbp], eax - 007d4 7d 2d jge SHORT $LN12@stbi__tga_ - -; 6350 : raw_data[j] = tga_palette[pal_idx + j]; - - 007d6 8b 85 44 02 00 - 00 mov eax, DWORD PTR j$[rbp] - 007dc 8b 8d 64 03 00 - 00 mov ecx, DWORD PTR pal_idx$9[rbp] - 007e2 03 c8 add ecx, eax - 007e4 8b c1 mov eax, ecx - 007e6 48 98 cdqe - 007e8 48 63 8d 44 02 - 00 00 movsxd rcx, DWORD PTR j$[rbp] - 007ef 48 8b 95 08 02 - 00 00 mov rdx, QWORD PTR tga_palette$[rbp] - 007f6 0f b6 04 02 movzx eax, BYTE PTR [rdx+rax] - 007fa 88 84 0d 64 02 - 00 00 mov BYTE PTR raw_data$[rbp+rcx], al - -; 6351 : } - - 00801 eb b7 jmp SHORT $LN11@stbi__tga_ -$LN12@stbi__tga_: - -; 6352 : } else if (tga_rgb16) { - - 00803 e9 88 00 00 00 jmp $LN53@stbi__tga_ -$LN52@stbi__tga_: - 00808 83 bd a4 01 00 - 00 00 cmp DWORD PTR tga_rgb16$[rbp], 0 - 0080f 74 3b je SHORT $LN55@stbi__tga_ - -; 6353 : STBI_ASSERT(tga_comp == STBI_rgb); - - 00811 83 bd 84 01 00 - 00 03 cmp DWORD PTR tga_comp$[rbp], 3 - 00818 74 1c je SHORT $LN85@stbi__tga_ - 0081a 41 b8 d1 18 00 - 00 mov r8d, 6353 ; 000018d1H - 00820 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_1GG@PCNMFHPN@?$AAD?$AA?3?$AA?2?$AAp?$AAl?$AAa?$AAt?$AAf?$AAo?$AAr?$AAm?$AA?9?$AAd?$AAe?$AAv@ - 00827 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_1CK@GOOINIO@?$AAt?$AAg?$AAa?$AA_?$AAc?$AAo?$AAm?$AAp?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAS?$AAT?$AAB@ - 0082e ff 15 00 00 00 - 00 call QWORD PTR __imp__wassert - 00834 33 c0 xor eax, eax -$LN85@stbi__tga_: - -; 6354 : stbi__tga_read_rgb16(s, raw_data); - - 00836 48 8d 95 64 02 - 00 00 lea rdx, QWORD PTR raw_data$[rbp] - 0083d 48 8b 8d 90 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00844 e8 00 00 00 00 call stbi__tga_read_rgb16 - 00849 90 npad 1 - -; 6355 : } else { - - 0084a eb 44 jmp SHORT $LN56@stbi__tga_ -$LN55@stbi__tga_: - -; 6356 : // read in the data raw -; 6357 : for (j = 0; j < tga_comp; ++j) { - - 0084c c7 85 44 02 00 - 00 00 00 00 00 mov DWORD PTR j$[rbp], 0 - 00856 eb 0e jmp SHORT $LN16@stbi__tga_ -$LN14@stbi__tga_: - 00858 8b 85 44 02 00 - 00 mov eax, DWORD PTR j$[rbp] - 0085e ff c0 inc eax - 00860 89 85 44 02 00 - 00 mov DWORD PTR j$[rbp], eax -$LN16@stbi__tga_: - 00866 8b 85 84 01 00 - 00 mov eax, DWORD PTR tga_comp$[rbp] - 0086c 39 85 44 02 00 - 00 cmp DWORD PTR j$[rbp], eax - 00872 7d 1c jge SHORT $LN15@stbi__tga_ - -; 6358 : raw_data[j] = stbi__get8(s); - - 00874 48 8b 8d 90 06 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0087b e8 00 00 00 00 call stbi__get8 - 00880 48 63 8d 44 02 - 00 00 movsxd rcx, DWORD PTR j$[rbp] - 00887 88 84 0d 64 02 - 00 00 mov BYTE PTR raw_data$[rbp+rcx], al - -; 6359 : } - - 0088e eb c8 jmp SHORT $LN14@stbi__tga_ -$LN15@stbi__tga_: -$LN56@stbi__tga_: -$LN53@stbi__tga_: - -; 6360 : } -; 6361 : // clear the reading flag for the next pixel -; 6362 : read_next_pixel = 0; - - 00890 c7 85 c4 02 00 - 00 00 00 00 00 mov DWORD PTR read_next_pixel$[rbp], 0 -$LN51@stbi__tga_: - -; 6363 : } // end of reading a pixel -; 6364 : -; 6365 : // copy data -; 6366 : for (j = 0; j < tga_comp; ++j) - - 0089a c7 85 44 02 00 - 00 00 00 00 00 mov DWORD PTR j$[rbp], 0 - 008a4 eb 0e jmp SHORT $LN19@stbi__tga_ -$LN17@stbi__tga_: - 008a6 8b 85 44 02 00 - 00 mov eax, DWORD PTR j$[rbp] - 008ac ff c0 inc eax - 008ae 89 85 44 02 00 - 00 mov DWORD PTR j$[rbp], eax -$LN19@stbi__tga_: - 008b4 8b 85 84 01 00 - 00 mov eax, DWORD PTR tga_comp$[rbp] - 008ba 39 85 44 02 00 - 00 cmp DWORD PTR j$[rbp], eax - 008c0 7d 31 jge SHORT $LN18@stbi__tga_ - -; 6367 : tga_data[i * tga_comp + j] = raw_data[j]; - - 008c2 48 63 85 44 02 - 00 00 movsxd rax, DWORD PTR j$[rbp] - 008c9 8b 8d 24 02 00 - 00 mov ecx, DWORD PTR i$[rbp] - 008cf 0f af 8d 84 01 - 00 00 imul ecx, DWORD PTR tga_comp$[rbp] - 008d6 03 8d 44 02 00 - 00 add ecx, DWORD PTR j$[rbp] - 008dc 48 63 c9 movsxd rcx, ecx - 008df 48 8b 95 e8 01 - 00 00 mov rdx, QWORD PTR tga_data$[rbp] - 008e6 0f b6 84 05 64 - 02 00 00 movzx eax, BYTE PTR raw_data$[rbp+rax] - 008ee 88 04 0a mov BYTE PTR [rdx+rcx], al - 008f1 eb b3 jmp SHORT $LN17@stbi__tga_ -$LN18@stbi__tga_: - -; 6368 : -; 6369 : // in case we're in RLE mode, keep counting down -; 6370 : --RLE_count; - - 008f3 8b 85 84 02 00 - 00 mov eax, DWORD PTR RLE_count$[rbp] - 008f9 ff c8 dec eax - 008fb 89 85 84 02 00 - 00 mov DWORD PTR RLE_count$[rbp], eax - -; 6371 : } - - 00901 e9 92 fd ff ff jmp $LN8@stbi__tga_ -$LN9@stbi__tga_: - -; 6372 : // do I need to invert the image? -; 6373 : if (tga_inverted) { - - 00906 83 bd c4 01 00 - 00 00 cmp DWORD PTR tga_inverted$[rbp], 0 - 0090d 0f 84 0f 01 00 - 00 je $LN57@stbi__tga_ - -; 6374 : for (j = 0; j * 2 < tga_height; ++j) { - - 00913 c7 85 44 02 00 - 00 00 00 00 00 mov DWORD PTR j$[rbp], 0 - 0091d eb 0e jmp SHORT $LN22@stbi__tga_ -$LN20@stbi__tga_: - 0091f 8b 85 44 02 00 - 00 mov eax, DWORD PTR j$[rbp] - 00925 ff c0 inc eax - 00927 89 85 44 02 00 - 00 mov DWORD PTR j$[rbp], eax -$LN22@stbi__tga_: - 0092d 8b 85 44 02 00 - 00 mov eax, DWORD PTR j$[rbp] - 00933 d1 e0 shl eax, 1 - 00935 3b 85 44 01 00 - 00 cmp eax, DWORD PTR tga_height$[rbp] - 0093b 0f 8d e1 00 00 - 00 jge $LN21@stbi__tga_ - -; 6375 : int index1 = j * tga_width * tga_comp; - - 00941 8b 85 44 02 00 - 00 mov eax, DWORD PTR j$[rbp] - 00947 0f af 85 24 01 - 00 00 imul eax, DWORD PTR tga_width$[rbp] - 0094e 0f af 85 84 01 - 00 00 imul eax, DWORD PTR tga_comp$[rbp] - 00955 89 85 84 03 00 - 00 mov DWORD PTR index1$10[rbp], eax - -; 6376 : int index2 = (tga_height - 1 - j) * tga_width * tga_comp; - - 0095b 8b 85 44 01 00 - 00 mov eax, DWORD PTR tga_height$[rbp] - 00961 ff c8 dec eax - 00963 2b 85 44 02 00 - 00 sub eax, DWORD PTR j$[rbp] - 00969 0f af 85 24 01 - 00 00 imul eax, DWORD PTR tga_width$[rbp] - 00970 0f af 85 84 01 - 00 00 imul eax, DWORD PTR tga_comp$[rbp] - 00977 89 85 a4 03 00 - 00 mov DWORD PTR index2$11[rbp], eax - -; 6377 : for (i = tga_width * tga_comp; i > 0; --i) { - - 0097d 8b 85 24 01 00 - 00 mov eax, DWORD PTR tga_width$[rbp] - 00983 0f af 85 84 01 - 00 00 imul eax, DWORD PTR tga_comp$[rbp] - 0098a 89 85 24 02 00 - 00 mov DWORD PTR i$[rbp], eax - 00990 eb 0e jmp SHORT $LN25@stbi__tga_ -$LN23@stbi__tga_: - 00992 8b 85 24 02 00 - 00 mov eax, DWORD PTR i$[rbp] - 00998 ff c8 dec eax - 0099a 89 85 24 02 00 - 00 mov DWORD PTR i$[rbp], eax -$LN25@stbi__tga_: - 009a0 83 bd 24 02 00 - 00 00 cmp DWORD PTR i$[rbp], 0 - 009a7 7e 74 jle SHORT $LN24@stbi__tga_ - -; 6378 : unsigned char temp = tga_data[index1]; - - 009a9 48 63 85 84 03 - 00 00 movsxd rax, DWORD PTR index1$10[rbp] - 009b0 48 8b 8d e8 01 - 00 00 mov rcx, QWORD PTR tga_data$[rbp] - 009b7 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 009bb 88 85 c4 03 00 - 00 mov BYTE PTR temp$12[rbp], al - -; 6379 : tga_data[index1] = tga_data[index2]; - - 009c1 48 63 85 a4 03 - 00 00 movsxd rax, DWORD PTR index2$11[rbp] - 009c8 48 63 8d 84 03 - 00 00 movsxd rcx, DWORD PTR index1$10[rbp] - 009cf 48 8b 95 e8 01 - 00 00 mov rdx, QWORD PTR tga_data$[rbp] - 009d6 48 8b bd e8 01 - 00 00 mov rdi, QWORD PTR tga_data$[rbp] - 009dd 0f b6 04 07 movzx eax, BYTE PTR [rdi+rax] - 009e1 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 6380 : tga_data[index2] = temp; - - 009e4 48 63 85 a4 03 - 00 00 movsxd rax, DWORD PTR index2$11[rbp] - 009eb 48 8b 8d e8 01 - 00 00 mov rcx, QWORD PTR tga_data$[rbp] - 009f2 0f b6 95 c4 03 - 00 00 movzx edx, BYTE PTR temp$12[rbp] - 009f9 88 14 01 mov BYTE PTR [rcx+rax], dl - -; 6381 : ++index1; - - 009fc 8b 85 84 03 00 - 00 mov eax, DWORD PTR index1$10[rbp] - 00a02 ff c0 inc eax - 00a04 89 85 84 03 00 - 00 mov DWORD PTR index1$10[rbp], eax - -; 6382 : ++index2; - - 00a0a 8b 85 a4 03 00 - 00 mov eax, DWORD PTR index2$11[rbp] - 00a10 ff c0 inc eax - 00a12 89 85 a4 03 00 - 00 mov DWORD PTR index2$11[rbp], eax - -; 6383 : } - - 00a18 e9 75 ff ff ff jmp $LN23@stbi__tga_ -$LN24@stbi__tga_: - -; 6384 : } - - 00a1d e9 fd fe ff ff jmp $LN20@stbi__tga_ -$LN21@stbi__tga_: -$LN57@stbi__tga_: - -; 6385 : } -; 6386 : // clear my palette, if I had one -; 6387 : if (tga_palette != NULL) { - - 00a22 48 83 bd 08 02 - 00 00 00 cmp QWORD PTR tga_palette$[rbp], 0 - 00a2a 74 0e je SHORT $LN58@stbi__tga_ - -; 6388 : STBI_FREE(tga_palette); - - 00a2c 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR tga_palette$[rbp] - 00a33 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00a39 90 npad 1 -$LN58@stbi__tga_: -$LN39@stbi__tga_: - -; 6389 : } -; 6390 : } -; 6391 : -; 6392 : // swap RGB - if the source data was RGB16, it already is in the right order -; 6393 : if (tga_comp >= 3 && !tga_rgb16) { - - 00a3a 83 bd 84 01 00 - 00 03 cmp DWORD PTR tga_comp$[rbp], 3 - 00a41 0f 8c c5 00 00 - 00 jl $LN59@stbi__tga_ - 00a47 83 bd a4 01 00 - 00 00 cmp DWORD PTR tga_rgb16$[rbp], 0 - 00a4e 0f 85 b8 00 00 - 00 jne $LN59@stbi__tga_ - -; 6394 : unsigned char *tga_pixel = tga_data; - - 00a54 48 8b 85 e8 01 - 00 00 mov rax, QWORD PTR tga_data$[rbp] - 00a5b 48 89 85 e8 03 - 00 00 mov QWORD PTR tga_pixel$13[rbp], rax - -; 6395 : for (i = 0; i < tga_width * tga_height; ++i) { - - 00a62 c7 85 24 02 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 00a6c eb 0e jmp SHORT $LN28@stbi__tga_ -$LN26@stbi__tga_: - 00a6e 8b 85 24 02 00 - 00 mov eax, DWORD PTR i$[rbp] - 00a74 ff c0 inc eax - 00a76 89 85 24 02 00 - 00 mov DWORD PTR i$[rbp], eax -$LN28@stbi__tga_: - 00a7c 8b 85 24 01 00 - 00 mov eax, DWORD PTR tga_width$[rbp] - 00a82 0f af 85 44 01 - 00 00 imul eax, DWORD PTR tga_height$[rbp] - 00a89 39 85 24 02 00 - 00 cmp DWORD PTR i$[rbp], eax - 00a8f 7d 7b jge SHORT $LN27@stbi__tga_ - -; 6396 : unsigned char temp = tga_pixel[0]; - - 00a91 b8 01 00 00 00 mov eax, 1 - 00a96 48 6b c0 00 imul rax, rax, 0 - 00a9a 48 8b 8d e8 03 - 00 00 mov rcx, QWORD PTR tga_pixel$13[rbp] - 00aa1 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 00aa5 88 85 04 04 00 - 00 mov BYTE PTR temp$14[rbp], al - -; 6397 : tga_pixel[0] = tga_pixel[2]; - - 00aab b8 01 00 00 00 mov eax, 1 - 00ab0 48 6b c0 02 imul rax, rax, 2 - 00ab4 b9 01 00 00 00 mov ecx, 1 - 00ab9 48 6b c9 00 imul rcx, rcx, 0 - 00abd 48 8b 95 e8 03 - 00 00 mov rdx, QWORD PTR tga_pixel$13[rbp] - 00ac4 48 8b bd e8 03 - 00 00 mov rdi, QWORD PTR tga_pixel$13[rbp] - 00acb 0f b6 04 07 movzx eax, BYTE PTR [rdi+rax] - 00acf 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 6398 : tga_pixel[2] = temp; - - 00ad2 b8 01 00 00 00 mov eax, 1 - 00ad7 48 6b c0 02 imul rax, rax, 2 - 00adb 48 8b 8d e8 03 - 00 00 mov rcx, QWORD PTR tga_pixel$13[rbp] - 00ae2 0f b6 95 04 04 - 00 00 movzx edx, BYTE PTR temp$14[rbp] - 00ae9 88 14 01 mov BYTE PTR [rcx+rax], dl - -; 6399 : tga_pixel += tga_comp; - - 00aec 48 63 85 84 01 - 00 00 movsxd rax, DWORD PTR tga_comp$[rbp] - 00af3 48 8b 8d e8 03 - 00 00 mov rcx, QWORD PTR tga_pixel$13[rbp] - 00afa 48 03 c8 add rcx, rax - 00afd 48 8b c1 mov rax, rcx - 00b00 48 89 85 e8 03 - 00 00 mov QWORD PTR tga_pixel$13[rbp], rax - -; 6400 : } - - 00b07 e9 62 ff ff ff jmp $LN26@stbi__tga_ -$LN27@stbi__tga_: -$LN59@stbi__tga_: - -; 6401 : } -; 6402 : -; 6403 : // convert to target component count -; 6404 : if (req_comp && req_comp != tga_comp) - - 00b0c 83 bd b0 06 00 - 00 00 cmp DWORD PTR req_comp$[rbp], 0 - 00b13 74 3f je SHORT $LN60@stbi__tga_ - 00b15 8b 85 84 01 00 - 00 mov eax, DWORD PTR tga_comp$[rbp] - 00b1b 39 85 b0 06 00 - 00 cmp DWORD PTR req_comp$[rbp], eax - 00b21 74 31 je SHORT $LN60@stbi__tga_ - -; 6405 : tga_data = - - 00b23 8b 85 44 01 00 - 00 mov eax, DWORD PTR tga_height$[rbp] - 00b29 89 44 24 20 mov DWORD PTR [rsp+32], eax - 00b2d 44 8b 8d 24 01 - 00 00 mov r9d, DWORD PTR tga_width$[rbp] - 00b34 44 8b 85 b0 06 - 00 00 mov r8d, DWORD PTR req_comp$[rbp] - 00b3b 8b 95 84 01 00 - 00 mov edx, DWORD PTR tga_comp$[rbp] - 00b41 48 8b 8d e8 01 - 00 00 mov rcx, QWORD PTR tga_data$[rbp] - 00b48 e8 00 00 00 00 call stbi__convert_format - 00b4d 48 89 85 e8 01 - 00 00 mov QWORD PTR tga_data$[rbp], rax -$LN60@stbi__tga_: - -; 6406 : stbi__convert_format(tga_data, tga_comp, req_comp, tga_width, tga_height); -; 6407 : -; 6408 : // the things I do to get rid of an error message, and yet keep -; 6409 : // Microsoft's C compilers happy... [8^( -; 6410 : tga_palette_start = tga_palette_len = tga_palette_bits = tga_x_origin = tga_y_origin = 0; - - 00b54 c7 85 04 01 00 - 00 00 00 00 00 mov DWORD PTR tga_y_origin$[rbp], 0 - 00b5e 8b 85 04 01 00 - 00 mov eax, DWORD PTR tga_y_origin$[rbp] - 00b64 89 85 e4 00 00 - 00 mov DWORD PTR tga_x_origin$[rbp], eax - 00b6a 8b 85 e4 00 00 - 00 mov eax, DWORD PTR tga_x_origin$[rbp] - 00b70 89 85 c4 00 00 - 00 mov DWORD PTR tga_palette_bits$[rbp], eax - 00b76 8b 85 c4 00 00 - 00 mov eax, DWORD PTR tga_palette_bits$[rbp] - 00b7c 89 85 a4 00 00 - 00 mov DWORD PTR tga_palette_len$[rbp], eax - 00b82 8b 85 a4 00 00 - 00 mov eax, DWORD PTR tga_palette_len$[rbp] - 00b88 89 85 84 00 00 - 00 mov DWORD PTR tga_palette_start$[rbp], eax - -; 6411 : STBI_NOTUSED(tga_palette_start); -; 6412 : // OK, done -; 6413 : return tga_data; - - 00b8e 48 8b 85 e8 01 - 00 00 mov rax, QWORD PTR tga_data$[rbp] -$LN1@stbi__tga_: - -; 6414 : } - - 00b95 48 8b f8 mov rdi, rax - 00b98 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 00b9c 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__tga_load$rtcFrameData - 00ba3 e8 00 00 00 00 call _RTC_CheckStackVars - 00ba8 48 8b c7 mov rax, rdi - 00bab 48 8b 8d 60 06 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 00bb2 48 33 cd xor rcx, rbp - 00bb5 e8 00 00 00 00 call __security_check_cookie - 00bba 48 8d a5 78 06 - 00 00 lea rsp, QWORD PTR [rbp+1656] - 00bc1 5f pop rdi - 00bc2 5d pop rbp - 00bc3 c3 ret 0 -stbi__tga_load ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__tga_test -_TEXT SEGMENT -res$ = 4 -sz$ = 36 -tga_color_type$ = 68 -s$ = 320 -stbi__tga_test PROC ; COMDAT - -; 6156 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 48 01 - 00 00 sub rsp, 328 ; 00000148H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 6157 : int res = 0; - - 00020 c7 45 04 00 00 - 00 00 mov DWORD PTR res$[rbp], 0 - -; 6158 : int sz, tga_color_type; -; 6159 : stbi__get8(s); // discard Offset - - 00027 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0002e e8 00 00 00 00 call stbi__get8 - 00033 90 npad 1 - -; 6160 : tga_color_type = stbi__get8(s); // color type - - 00034 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0003b e8 00 00 00 00 call stbi__get8 - 00040 0f b6 c0 movzx eax, al - 00043 89 45 44 mov DWORD PTR tga_color_type$[rbp], eax - -; 6161 : if (tga_color_type > 1) - - 00046 83 7d 44 01 cmp DWORD PTR tga_color_type$[rbp], 1 - 0004a 7e 05 jle SHORT $LN2@stbi__tga_ - -; 6162 : goto errorEnd; // only RGB or indexed allowed - - 0004c e9 26 01 00 00 jmp $errorEnd$13 -$LN2@stbi__tga_: - -; 6163 : sz = stbi__get8(s); // image type - - 00051 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00058 e8 00 00 00 00 call stbi__get8 - 0005d 0f b6 c0 movzx eax, al - 00060 89 45 24 mov DWORD PTR sz$[rbp], eax - -; 6164 : if (tga_color_type == 1) { // colormapped (paletted) image - - 00063 83 7d 44 01 cmp DWORD PTR tga_color_type$[rbp], 1 - 00067 75 6c jne SHORT $LN3@stbi__tga_ - -; 6165 : if (sz != 1 && sz != 9) - - 00069 83 7d 24 01 cmp DWORD PTR sz$[rbp], 1 - 0006d 74 0b je SHORT $LN5@stbi__tga_ - 0006f 83 7d 24 09 cmp DWORD PTR sz$[rbp], 9 - 00073 74 05 je SHORT $LN5@stbi__tga_ - -; 6166 : goto errorEnd; // colortype 1 demands image type 1 or 9 - - 00075 e9 fd 00 00 00 jmp $errorEnd$13 -$LN5@stbi__tga_: - -; 6167 : stbi__skip(s, - - 0007a ba 04 00 00 00 mov edx, 4 - 0007f 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00086 e8 00 00 00 00 call stbi__skip - 0008b 90 npad 1 - -; 6168 : 4); // skip index of first colormap entry and number of entries -; 6169 : sz = stbi__get8(s); // check bits per palette color entry - - 0008c 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00093 e8 00 00 00 00 call stbi__get8 - 00098 0f b6 c0 movzx eax, al - 0009b 89 45 24 mov DWORD PTR sz$[rbp], eax - -; 6170 : if ((sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32)) - - 0009e 83 7d 24 08 cmp DWORD PTR sz$[rbp], 8 - 000a2 74 1d je SHORT $LN6@stbi__tga_ - 000a4 83 7d 24 0f cmp DWORD PTR sz$[rbp], 15 - 000a8 74 17 je SHORT $LN6@stbi__tga_ - 000aa 83 7d 24 10 cmp DWORD PTR sz$[rbp], 16 - 000ae 74 11 je SHORT $LN6@stbi__tga_ - 000b0 83 7d 24 18 cmp DWORD PTR sz$[rbp], 24 - 000b4 74 0b je SHORT $LN6@stbi__tga_ - 000b6 83 7d 24 20 cmp DWORD PTR sz$[rbp], 32 ; 00000020H - 000ba 74 05 je SHORT $LN6@stbi__tga_ - -; 6171 : goto errorEnd; - - 000bc e9 b6 00 00 00 jmp $errorEnd$13 -$LN6@stbi__tga_: - -; 6172 : stbi__skip(s, 4); // skip image x and y origin - - 000c1 ba 04 00 00 00 mov edx, 4 - 000c6 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000cd e8 00 00 00 00 call stbi__skip - 000d2 90 npad 1 - -; 6173 : } else { // "normal" image w/o colormap - - 000d3 eb 2f jmp SHORT $LN4@stbi__tga_ -$LN3@stbi__tga_: - -; 6174 : if ((sz != 2) && (sz != 3) && (sz != 10) && (sz != 11)) - - 000d5 83 7d 24 02 cmp DWORD PTR sz$[rbp], 2 - 000d9 74 17 je SHORT $LN7@stbi__tga_ - 000db 83 7d 24 03 cmp DWORD PTR sz$[rbp], 3 - 000df 74 11 je SHORT $LN7@stbi__tga_ - 000e1 83 7d 24 0a cmp DWORD PTR sz$[rbp], 10 - 000e5 74 0b je SHORT $LN7@stbi__tga_ - 000e7 83 7d 24 0b cmp DWORD PTR sz$[rbp], 11 - 000eb 74 05 je SHORT $LN7@stbi__tga_ - -; 6175 : goto errorEnd; // only RGB or grey allowed, +/- RLE - - 000ed e9 85 00 00 00 jmp $errorEnd$13 -$LN7@stbi__tga_: - -; 6176 : stbi__skip(s, - - 000f2 ba 09 00 00 00 mov edx, 9 - 000f7 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000fe e8 00 00 00 00 call stbi__skip - 00103 90 npad 1 -$LN4@stbi__tga_: - -; 6177 : 9); // skip colormap specification and image x/y origin -; 6178 : } -; 6179 : if (stbi__get16le(s) < 1) - - 00104 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0010b e8 00 00 00 00 call stbi__get16le - 00110 83 f8 01 cmp eax, 1 - 00113 7d 02 jge SHORT $LN8@stbi__tga_ - -; 6180 : goto errorEnd; // test width - - 00115 eb 60 jmp SHORT $errorEnd$13 -$LN8@stbi__tga_: - -; 6181 : if (stbi__get16le(s) < 1) - - 00117 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0011e e8 00 00 00 00 call stbi__get16le - 00123 83 f8 01 cmp eax, 1 - 00126 7d 02 jge SHORT $LN9@stbi__tga_ - -; 6182 : goto errorEnd; // test height - - 00128 eb 4d jmp SHORT $errorEnd$13 -$LN9@stbi__tga_: - -; 6183 : sz = stbi__get8(s); // bits per pixel - - 0012a 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00131 e8 00 00 00 00 call stbi__get8 - 00136 0f b6 c0 movzx eax, al - 00139 89 45 24 mov DWORD PTR sz$[rbp], eax - -; 6184 : if ((tga_color_type == 1) && (sz != 8) && (sz != 16)) - - 0013c 83 7d 44 01 cmp DWORD PTR tga_color_type$[rbp], 1 - 00140 75 0e jne SHORT $LN10@stbi__tga_ - 00142 83 7d 24 08 cmp DWORD PTR sz$[rbp], 8 - 00146 74 08 je SHORT $LN10@stbi__tga_ - 00148 83 7d 24 10 cmp DWORD PTR sz$[rbp], 16 - 0014c 74 02 je SHORT $LN10@stbi__tga_ - -; 6185 : goto errorEnd; // for colormapped images, bpp is size of an index - - 0014e eb 27 jmp SHORT $errorEnd$13 -$LN10@stbi__tga_: - -; 6186 : if ((sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32)) - - 00150 83 7d 24 08 cmp DWORD PTR sz$[rbp], 8 - 00154 74 1a je SHORT $LN11@stbi__tga_ - 00156 83 7d 24 0f cmp DWORD PTR sz$[rbp], 15 - 0015a 74 14 je SHORT $LN11@stbi__tga_ - 0015c 83 7d 24 10 cmp DWORD PTR sz$[rbp], 16 - 00160 74 0e je SHORT $LN11@stbi__tga_ - 00162 83 7d 24 18 cmp DWORD PTR sz$[rbp], 24 - 00166 74 08 je SHORT $LN11@stbi__tga_ - 00168 83 7d 24 20 cmp DWORD PTR sz$[rbp], 32 ; 00000020H - 0016c 74 02 je SHORT $LN11@stbi__tga_ - -; 6187 : goto errorEnd; - - 0016e eb 07 jmp SHORT $errorEnd$13 -$LN11@stbi__tga_: - -; 6188 : -; 6189 : res = 1; // if we got this far, everything's good and we can return 1 instead of 0 - - 00170 c7 45 04 01 00 - 00 00 mov DWORD PTR res$[rbp], 1 -$errorEnd$13: - -; 6190 : -; 6191 : errorEnd: -; 6192 : stbi__rewind(s); - - 00177 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0017e e8 00 00 00 00 call stbi__rewind - 00183 90 npad 1 - -; 6193 : return res; - - 00184 8b 45 04 mov eax, DWORD PTR res$[rbp] - -; 6194 : } - - 00187 48 8d a5 28 01 - 00 00 lea rsp, QWORD PTR [rbp+296] - 0018e 5f pop rdi - 0018f 5d pop rbp - 00190 c3 ret 0 -stbi__tga_test ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__bmp_info -_TEXT SEGMENT -p$ = 8 -info$ = 40 -tv77 = 276 -__$ArrayPad$ = 280 -s$ = 320 -x$ = 328 -y$ = 336 -comp$ = 344 -stbi__bmp_info PROC ; COMDAT - -; 7789 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 48 01 - 00 00 sub rsp, 328 ; 00000148H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 00027 b9 1a 00 00 00 mov ecx, 26 - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 68 - 01 00 00 mov rcx, QWORD PTR [rsp+360] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 18 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 7790 : void *p; -; 7791 : stbi__bmp_data info; -; 7792 : -; 7793 : info.all_a = 255; - - 00059 c7 45 44 ff 00 - 00 00 mov DWORD PTR info$[rbp+28], 255 ; 000000ffH - -; 7794 : p = stbi__bmp_parse_header(s, &info); - - 00060 48 8d 55 28 lea rdx, QWORD PTR info$[rbp] - 00064 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0006b e8 00 00 00 00 call stbi__bmp_parse_header - 00070 48 89 45 08 mov QWORD PTR p$[rbp], rax - -; 7795 : if (p == NULL) { - - 00074 48 83 7d 08 00 cmp QWORD PTR p$[rbp], 0 - 00079 75 14 jne SHORT $LN2@stbi__bmp_ - -; 7796 : stbi__rewind(s); - - 0007b 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00082 e8 00 00 00 00 call stbi__rewind - 00087 90 npad 1 - -; 7797 : return 0; - - 00088 33 c0 xor eax, eax - 0008a e9 91 00 00 00 jmp $LN1@stbi__bmp_ -$LN2@stbi__bmp_: - -; 7798 : } -; 7799 : if (x) - - 0008f 48 83 bd 48 01 - 00 00 00 cmp QWORD PTR x$[rbp], 0 - 00097 74 12 je SHORT $LN3@stbi__bmp_ - -; 7800 : *x = s->img_x; - - 00099 48 8b 85 48 01 - 00 00 mov rax, QWORD PTR x$[rbp] - 000a0 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000a7 8b 09 mov ecx, DWORD PTR [rcx] - 000a9 89 08 mov DWORD PTR [rax], ecx -$LN3@stbi__bmp_: - -; 7801 : if (y) - - 000ab 48 83 bd 50 01 - 00 00 00 cmp QWORD PTR y$[rbp], 0 - 000b3 74 13 je SHORT $LN4@stbi__bmp_ - -; 7802 : *y = s->img_y; - - 000b5 48 8b 85 50 01 - 00 00 mov rax, QWORD PTR y$[rbp] - 000bc 48 8b 8d 40 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000c3 8b 49 04 mov ecx, DWORD PTR [rcx+4] - 000c6 89 08 mov DWORD PTR [rax], ecx -$LN4@stbi__bmp_: - -; 7803 : if (comp) { - - 000c8 48 83 bd 58 01 - 00 00 00 cmp QWORD PTR comp$[rbp], 0 - 000d0 74 49 je SHORT $LN5@stbi__bmp_ - -; 7804 : if (info.bpp == 24 && info.ma == 0xff000000) - - 000d2 83 7d 28 18 cmp DWORD PTR info$[rbp], 24 - 000d6 75 18 jne SHORT $LN6@stbi__bmp_ - 000d8 81 7d 40 00 00 - 00 ff cmp DWORD PTR info$[rbp+24], -16777216 ; ff000000H - 000df 75 0f jne SHORT $LN6@stbi__bmp_ - -; 7805 : *comp = 3; - - 000e1 48 8b 85 58 01 - 00 00 mov rax, QWORD PTR comp$[rbp] - 000e8 c7 00 03 00 00 - 00 mov DWORD PTR [rax], 3 - 000ee eb 2b jmp SHORT $LN7@stbi__bmp_ -$LN6@stbi__bmp_: - -; 7806 : else -; 7807 : *comp = info.ma ? 4 : 3; - - 000f0 83 7d 40 00 cmp DWORD PTR info$[rbp+24], 0 - 000f4 74 0c je SHORT $LN9@stbi__bmp_ - 000f6 c7 85 14 01 00 - 00 04 00 00 00 mov DWORD PTR tv77[rbp], 4 - 00100 eb 0a jmp SHORT $LN10@stbi__bmp_ -$LN9@stbi__bmp_: - 00102 c7 85 14 01 00 - 00 03 00 00 00 mov DWORD PTR tv77[rbp], 3 -$LN10@stbi__bmp_: - 0010c 48 8b 85 58 01 - 00 00 mov rax, QWORD PTR comp$[rbp] - 00113 8b 8d 14 01 00 - 00 mov ecx, DWORD PTR tv77[rbp] - 00119 89 08 mov DWORD PTR [rax], ecx -$LN7@stbi__bmp_: -$LN5@stbi__bmp_: - -; 7808 : } -; 7809 : return 1; - - 0011b b8 01 00 00 00 mov eax, 1 -$LN1@stbi__bmp_: - -; 7810 : } - - 00120 48 8b f8 mov rdi, rax - 00123 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 00127 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__bmp_info$rtcFrameData - 0012e e8 00 00 00 00 call _RTC_CheckStackVars - 00133 48 8b c7 mov rax, rdi - 00136 48 8b 8d 18 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 0013d 48 33 cd xor rcx, rbp - 00140 e8 00 00 00 00 call __security_check_cookie - 00145 48 8d a5 28 01 - 00 00 lea rsp, QWORD PTR [rbp+296] - 0014c 5f pop rdi - 0014d 5d pop rbp - 0014e c3 ret 0 -stbi__bmp_info ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__bmp_load -_TEXT SEGMENT -out$ = 8 -mr$ = 36 -mg$ = 68 -mb$ = 100 -ma$ = 132 -all_a$ = 164 -pal$ = 208 -psize$ = 1252 -i$ = 1284 -j$ = 1316 -width$ = 1348 -flip_vertically$ = 1380 -pad$ = 1412 -target$ = 1444 -info$ = 1480 -bytes_read_so_far$5 = 1540 -header_limit$6 = 1572 -extra_data_limit$7 = 1604 -z$8 = 1636 -bit_offset$9 = 1668 -v$10 = 1700 -color$11 = 1732 -v$12 = 1764 -v2$13 = 1796 -rshift$14 = 1828 -gshift$15 = 1860 -bshift$16 = 1892 -ashift$17 = 1924 -rcount$18 = 1956 -gcount$19 = 1988 -bcount$20 = 2020 -acount$21 = 2052 -z$22 = 2084 -easy$23 = 2116 -a$24 = 2148 -bpp$25 = 2180 -v$26 = 2212 -a$27 = 2244 -t$28 = 2276 -p1$29 = 2312 -p2$30 = 2344 -tv70 = 3316 -tv188 = 3316 -tv257 = 3316 -tv384 = 3316 -tv505 = 3316 -tv522 = 3316 -tv562 = 3316 -tv86 = 3320 -tv172 = 3320 -tv179 = 3320 -tv203 = 3320 -tv215 = 3320 -tv223 = 3320 -tv80 = 3320 -tv445 = 3320 -tv474 = 3320 -tv276 = 3320 -__$ArrayPad$ = 3328 -s$ = 3376 -x$ = 3384 -y$ = 3392 -comp$ = 3400 -req_comp$ = 3408 -ri$ = 3416 -stbi__bmp_load PROC ; COMDAT - -; 5804 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 48 0d - 00 00 sub rsp, 3400 ; 00000d48H - 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00022 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 00027 b9 56 02 00 00 mov ecx, 598 ; 00000256H - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 68 - 0d 00 00 mov rcx, QWORD PTR [rsp+3432] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 00 0d - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 5805 : stbi_uc *out; -; 5806 : unsigned int mr = 0, mg = 0, mb = 0, ma = 0, all_a; - - 00059 c7 45 24 00 00 - 00 00 mov DWORD PTR mr$[rbp], 0 - 00060 c7 45 44 00 00 - 00 00 mov DWORD PTR mg$[rbp], 0 - 00067 c7 45 64 00 00 - 00 00 mov DWORD PTR mb$[rbp], 0 - 0006e c7 85 84 00 00 - 00 00 00 00 00 mov DWORD PTR ma$[rbp], 0 - -; 5807 : stbi_uc pal[256][4]; -; 5808 : int psize = 0, i, j, width; - - 00078 c7 85 e4 04 00 - 00 00 00 00 00 mov DWORD PTR psize$[rbp], 0 - -; 5809 : int flip_vertically, pad, target; -; 5810 : stbi__bmp_data info; -; 5811 : STBI_NOTUSED(ri); -; 5812 : -; 5813 : info.all_a = 255; - - 00082 c7 85 e4 05 00 - 00 ff 00 00 00 mov DWORD PTR info$[rbp+28], 255 ; 000000ffH - -; 5814 : if (stbi__bmp_parse_header(s, &info) == NULL) - - 0008c 48 8d 95 c8 05 - 00 00 lea rdx, QWORD PTR info$[rbp] - 00093 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 0009a e8 00 00 00 00 call stbi__bmp_parse_header - 0009f 48 85 c0 test rax, rax - 000a2 75 07 jne SHORT $LN35@stbi__bmp_ - -; 5815 : return NULL; // error code already set - - 000a4 33 c0 xor eax, eax - 000a6 e9 67 12 00 00 jmp $LN1@stbi__bmp_ -$LN35@stbi__bmp_: - -; 5816 : -; 5817 : flip_vertically = ((int)s->img_y) > 0; - - 000ab 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 000b2 83 78 04 00 cmp DWORD PTR [rax+4], 0 - 000b6 7e 0c jle SHORT $LN97@stbi__bmp_ - 000b8 c7 85 f4 0c 00 - 00 01 00 00 00 mov DWORD PTR tv70[rbp], 1 - 000c2 eb 0a jmp SHORT $LN98@stbi__bmp_ -$LN97@stbi__bmp_: - 000c4 c7 85 f4 0c 00 - 00 00 00 00 00 mov DWORD PTR tv70[rbp], 0 -$LN98@stbi__bmp_: - 000ce 8b 85 f4 0c 00 - 00 mov eax, DWORD PTR tv70[rbp] - 000d4 89 85 64 05 00 - 00 mov DWORD PTR flip_vertically$[rbp], eax - -; 5818 : s->img_y = abs((int)s->img_y); - - 000da 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 000e1 8b 48 04 mov ecx, DWORD PTR [rax+4] - 000e4 e8 00 00 00 00 call abs - 000e9 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 000f0 89 41 04 mov DWORD PTR [rcx+4], eax - -; 5819 : -; 5820 : if (s->img_y > STBI_MAX_DIMENSIONS) - - 000f3 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 000fa 81 78 04 00 00 - 00 01 cmp DWORD PTR [rax+4], 16777216 ; 01000000H - 00101 76 34 jbe SHORT $LN36@stbi__bmp_ - -; 5821 : return stbi__errpuc("too large", "Very large image (corrupt?)"); - - 00103 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 0010a e8 00 00 00 00 call stbi__err - 0010f 85 c0 test eax, eax - 00111 74 0d je SHORT $LN99@stbi__bmp_ - 00113 48 c7 85 f8 0c - 00 00 00 00 00 - 00 mov QWORD PTR tv80[rbp], 0 - 0011e eb 0b jmp SHORT $LN100@stbi__bmp_ -$LN99@stbi__bmp_: - 00120 48 c7 85 f8 0c - 00 00 00 00 00 - 00 mov QWORD PTR tv80[rbp], 0 -$LN100@stbi__bmp_: - 0012b 48 8b 85 f8 0c - 00 00 mov rax, QWORD PTR tv80[rbp] - 00132 e9 db 11 00 00 jmp $LN1@stbi__bmp_ -$LN36@stbi__bmp_: - -; 5822 : if (s->img_x > STBI_MAX_DIMENSIONS) - - 00137 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 0013e 81 38 00 00 00 - 01 cmp DWORD PTR [rax], 16777216 ; 01000000H - 00144 76 34 jbe SHORT $LN37@stbi__bmp_ - -; 5823 : return stbi__errpuc("too large", "Very large image (corrupt?)"); - - 00146 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 0014d e8 00 00 00 00 call stbi__err - 00152 85 c0 test eax, eax - 00154 74 0d je SHORT $LN101@stbi__bmp_ - 00156 48 c7 85 f8 0c - 00 00 00 00 00 - 00 mov QWORD PTR tv86[rbp], 0 - 00161 eb 0b jmp SHORT $LN102@stbi__bmp_ -$LN101@stbi__bmp_: - 00163 48 c7 85 f8 0c - 00 00 00 00 00 - 00 mov QWORD PTR tv86[rbp], 0 -$LN102@stbi__bmp_: - 0016e 48 8b 85 f8 0c - 00 00 mov rax, QWORD PTR tv86[rbp] - 00175 e9 98 11 00 00 jmp $LN1@stbi__bmp_ -$LN37@stbi__bmp_: - -; 5824 : -; 5825 : mr = info.mr; - - 0017a 8b 85 d4 05 00 - 00 mov eax, DWORD PTR info$[rbp+12] - 00180 89 45 24 mov DWORD PTR mr$[rbp], eax - -; 5826 : mg = info.mg; - - 00183 8b 85 d8 05 00 - 00 mov eax, DWORD PTR info$[rbp+16] - 00189 89 45 44 mov DWORD PTR mg$[rbp], eax - -; 5827 : mb = info.mb; - - 0018c 8b 85 dc 05 00 - 00 mov eax, DWORD PTR info$[rbp+20] - 00192 89 45 64 mov DWORD PTR mb$[rbp], eax - -; 5828 : ma = info.ma; - - 00195 8b 85 e0 05 00 - 00 mov eax, DWORD PTR info$[rbp+24] - 0019b 89 85 84 00 00 - 00 mov DWORD PTR ma$[rbp], eax - -; 5829 : all_a = info.all_a; - - 001a1 8b 85 e4 05 00 - 00 mov eax, DWORD PTR info$[rbp+28] - 001a7 89 85 a4 00 00 - 00 mov DWORD PTR all_a$[rbp], eax - -; 5830 : -; 5831 : if (info.hsz == 12) { - - 001ad 83 bd d0 05 00 - 00 0c cmp DWORD PTR info$[rbp+8], 12 - 001b4 75 2c jne SHORT $LN38@stbi__bmp_ - -; 5832 : if (info.bpp < 24) - - 001b6 83 bd c8 05 00 - 00 18 cmp DWORD PTR info$[rbp], 24 - 001bd 7d 21 jge SHORT $LN40@stbi__bmp_ - -; 5833 : psize = (info.offset - info.extra_read - 24) / 3; - - 001bf 8b 85 e8 05 00 - 00 mov eax, DWORD PTR info$[rbp+32] - 001c5 8b 8d cc 05 00 - 00 mov ecx, DWORD PTR info$[rbp+4] - 001cb 2b c8 sub ecx, eax - 001cd 8b c1 mov eax, ecx - 001cf 83 e8 18 sub eax, 24 - 001d2 99 cdq - 001d3 b9 03 00 00 00 mov ecx, 3 - 001d8 f7 f9 idiv ecx - 001da 89 85 e4 04 00 - 00 mov DWORD PTR psize$[rbp], eax -$LN40@stbi__bmp_: - -; 5834 : } else { - - 001e0 eb 28 jmp SHORT $LN39@stbi__bmp_ -$LN38@stbi__bmp_: - -; 5835 : if (info.bpp < 16) - - 001e2 83 bd c8 05 00 - 00 10 cmp DWORD PTR info$[rbp], 16 - 001e9 7d 1f jge SHORT $LN41@stbi__bmp_ - -; 5836 : psize = (info.offset - info.extra_read - info.hsz) >> 2; - - 001eb 8b 85 e8 05 00 - 00 mov eax, DWORD PTR info$[rbp+32] - 001f1 8b 8d cc 05 00 - 00 mov ecx, DWORD PTR info$[rbp+4] - 001f7 2b c8 sub ecx, eax - 001f9 8b c1 mov eax, ecx - 001fb 2b 85 d0 05 00 - 00 sub eax, DWORD PTR info$[rbp+8] - 00201 c1 f8 02 sar eax, 2 - 00204 89 85 e4 04 00 - 00 mov DWORD PTR psize$[rbp], eax -$LN41@stbi__bmp_: -$LN39@stbi__bmp_: - -; 5837 : } -; 5838 : if (psize == 0) { - - 0020a 83 bd e4 04 00 - 00 00 cmp DWORD PTR psize$[rbp], 0 - 00211 0f 85 0c 01 00 - 00 jne $LN42@stbi__bmp_ - -; 5839 : // accept some number of extra bytes after the header, but if the offset points either to before -; 5840 : // the header ends or implies a large amount of extra data, reject the file as malformed -; 5841 : int bytes_read_so_far = - - 00217 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 0021e 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 00225 48 8b 89 d0 00 - 00 00 mov rcx, QWORD PTR [rcx+208] - 0022c 48 8b 80 c0 00 - 00 00 mov rax, QWORD PTR [rax+192] - 00233 48 2b c1 sub rax, rcx - 00236 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 0023d 03 81 b8 00 00 - 00 add eax, DWORD PTR [rcx+184] - 00243 89 85 04 06 00 - 00 mov DWORD PTR bytes_read_so_far$5[rbp], eax - -; 5842 : s->callback_already_read + (int)(s->img_buffer - s->img_buffer_original); -; 5843 : int header_limit = 1024; // max we actually read is below 256 bytes currently. - - 00249 c7 85 24 06 00 - 00 00 04 00 00 mov DWORD PTR header_limit$6[rbp], 1024 ; 00000400H - -; 5844 : int extra_data_limit = - - 00253 c7 85 44 06 00 - 00 00 04 00 00 mov DWORD PTR extra_data_limit$7[rbp], 1024 ; 00000400H - -; 5845 : 256 * -; 5846 : 4; // what ordinarily goes here is a palette; 256 entries*4 bytes is its max size. -; 5847 : if (bytes_read_so_far <= 0 || bytes_read_so_far > header_limit) { - - 0025d 83 bd 04 06 00 - 00 00 cmp DWORD PTR bytes_read_so_far$5[rbp], 0 - 00264 7e 0e jle SHORT $LN44@stbi__bmp_ - 00266 8b 85 24 06 00 - 00 mov eax, DWORD PTR header_limit$6[rbp] - 0026c 39 85 04 06 00 - 00 cmp DWORD PTR bytes_read_so_far$5[rbp], eax - 00272 7e 34 jle SHORT $LN43@stbi__bmp_ -$LN44@stbi__bmp_: - -; 5848 : return stbi__errpuc("bad header", "Corrupt BMP"); - - 00274 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0L@PJHPAMCH@bad?5header@ - 0027b e8 00 00 00 00 call stbi__err - 00280 85 c0 test eax, eax - 00282 74 0d je SHORT $LN103@stbi__bmp_ - 00284 48 c7 85 f8 0c - 00 00 00 00 00 - 00 mov QWORD PTR tv172[rbp], 0 - 0028f eb 0b jmp SHORT $LN104@stbi__bmp_ -$LN103@stbi__bmp_: - 00291 48 c7 85 f8 0c - 00 00 00 00 00 - 00 mov QWORD PTR tv172[rbp], 0 -$LN104@stbi__bmp_: - 0029c 48 8b 85 f8 0c - 00 00 mov rax, QWORD PTR tv172[rbp] - 002a3 e9 6a 10 00 00 jmp $LN1@stbi__bmp_ -$LN43@stbi__bmp_: - -; 5849 : } -; 5850 : // we established that bytes_read_so_far is positive and sensible. -; 5851 : // the first half of this test rejects offsets that are either too small positives, or -; 5852 : // negative, and guarantees that info.offset >= bytes_read_so_far > 0. this in turn -; 5853 : // ensures the number computed in the second half of the test can't overflow. -; 5854 : if (info.offset < bytes_read_so_far || - - 002a8 8b 85 04 06 00 - 00 mov eax, DWORD PTR bytes_read_so_far$5[rbp] - 002ae 39 85 cc 05 00 - 00 cmp DWORD PTR info$[rbp+4], eax - 002b4 7c 18 jl SHORT $LN47@stbi__bmp_ - 002b6 8b 85 04 06 00 - 00 mov eax, DWORD PTR bytes_read_so_far$5[rbp] - 002bc 8b 8d cc 05 00 - 00 mov ecx, DWORD PTR info$[rbp+4] - 002c2 2b c8 sub ecx, eax - 002c4 8b c1 mov eax, ecx - 002c6 3b 85 44 06 00 - 00 cmp eax, DWORD PTR extra_data_limit$7[rbp] - 002cc 7e 36 jle SHORT $LN45@stbi__bmp_ -$LN47@stbi__bmp_: - -; 5855 : info.offset - bytes_read_so_far > extra_data_limit) { -; 5856 : return stbi__errpuc("bad offset", "Corrupt BMP"); - - 002ce 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0L@JDPIFELH@bad?5offset@ - 002d5 e8 00 00 00 00 call stbi__err - 002da 85 c0 test eax, eax - 002dc 74 0d je SHORT $LN105@stbi__bmp_ - 002de 48 c7 85 f8 0c - 00 00 00 00 00 - 00 mov QWORD PTR tv179[rbp], 0 - 002e9 eb 0b jmp SHORT $LN106@stbi__bmp_ -$LN105@stbi__bmp_: - 002eb 48 c7 85 f8 0c - 00 00 00 00 00 - 00 mov QWORD PTR tv179[rbp], 0 -$LN106@stbi__bmp_: - 002f6 48 8b 85 f8 0c - 00 00 mov rax, QWORD PTR tv179[rbp] - 002fd e9 10 10 00 00 jmp $LN1@stbi__bmp_ - -; 5857 : } else { - - 00302 eb 1f jmp SHORT $LN46@stbi__bmp_ -$LN45@stbi__bmp_: - -; 5858 : stbi__skip(s, info.offset - bytes_read_so_far); - - 00304 8b 85 04 06 00 - 00 mov eax, DWORD PTR bytes_read_so_far$5[rbp] - 0030a 8b 8d cc 05 00 - 00 mov ecx, DWORD PTR info$[rbp+4] - 00310 2b c8 sub ecx, eax - 00312 8b c1 mov eax, ecx - 00314 8b d0 mov edx, eax - 00316 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 0031d e8 00 00 00 00 call stbi__skip - 00322 90 npad 1 -$LN46@stbi__bmp_: -$LN42@stbi__bmp_: - -; 5859 : } -; 5860 : } -; 5861 : -; 5862 : if (info.bpp == 24 && ma == 0xff000000) - - 00323 83 bd c8 05 00 - 00 18 cmp DWORD PTR info$[rbp], 24 - 0032a 75 1c jne SHORT $LN48@stbi__bmp_ - 0032c 81 bd 84 00 00 - 00 00 00 00 ff cmp DWORD PTR ma$[rbp], -16777216 ; ff000000H - 00336 75 10 jne SHORT $LN48@stbi__bmp_ - -; 5863 : s->img_n = 3; - - 00338 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 0033f c7 40 08 03 00 - 00 00 mov DWORD PTR [rax+8], 3 - 00346 eb 2f jmp SHORT $LN49@stbi__bmp_ -$LN48@stbi__bmp_: - -; 5864 : else -; 5865 : s->img_n = ma ? 4 : 3; - - 00348 83 bd 84 00 00 - 00 00 cmp DWORD PTR ma$[rbp], 0 - 0034f 74 0c je SHORT $LN107@stbi__bmp_ - 00351 c7 85 f4 0c 00 - 00 04 00 00 00 mov DWORD PTR tv188[rbp], 4 - 0035b eb 0a jmp SHORT $LN108@stbi__bmp_ -$LN107@stbi__bmp_: - 0035d c7 85 f4 0c 00 - 00 03 00 00 00 mov DWORD PTR tv188[rbp], 3 -$LN108@stbi__bmp_: - 00367 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 0036e 8b 8d f4 0c 00 - 00 mov ecx, DWORD PTR tv188[rbp] - 00374 89 48 08 mov DWORD PTR [rax+8], ecx -$LN49@stbi__bmp_: - -; 5866 : if (req_comp && req_comp >= 3) // we can directly decode 3 or 4 - - 00377 83 bd 50 0d 00 - 00 00 cmp DWORD PTR req_comp$[rbp], 0 - 0037e 74 17 je SHORT $LN50@stbi__bmp_ - 00380 83 bd 50 0d 00 - 00 03 cmp DWORD PTR req_comp$[rbp], 3 - 00387 7c 0e jl SHORT $LN50@stbi__bmp_ - -; 5867 : target = req_comp; - - 00389 8b 85 50 0d 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 0038f 89 85 a4 05 00 - 00 mov DWORD PTR target$[rbp], eax - 00395 eb 10 jmp SHORT $LN51@stbi__bmp_ -$LN50@stbi__bmp_: - -; 5868 : else -; 5869 : target = s->img_n; // if they want monochrome, we'll post-convert - - 00397 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 0039e 8b 40 08 mov eax, DWORD PTR [rax+8] - 003a1 89 85 a4 05 00 - 00 mov DWORD PTR target$[rbp], eax -$LN51@stbi__bmp_: - -; 5870 : -; 5871 : // sanity-check size -; 5872 : if (!stbi__mad3sizes_valid(target, s->img_x, s->img_y, 0)) - - 003a7 45 33 c9 xor r9d, r9d - 003aa 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 003b1 44 8b 40 04 mov r8d, DWORD PTR [rax+4] - 003b5 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 003bc 8b 10 mov edx, DWORD PTR [rax] - 003be 8b 8d a4 05 00 - 00 mov ecx, DWORD PTR target$[rbp] - 003c4 e8 00 00 00 00 call stbi__mad3sizes_valid - 003c9 85 c0 test eax, eax - 003cb 75 34 jne SHORT $LN52@stbi__bmp_ - -; 5873 : return stbi__errpuc("too large", "Corrupt BMP"); - - 003cd 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09OJDLMMBJ@too?5large@ - 003d4 e8 00 00 00 00 call stbi__err - 003d9 85 c0 test eax, eax - 003db 74 0d je SHORT $LN109@stbi__bmp_ - 003dd 48 c7 85 f8 0c - 00 00 00 00 00 - 00 mov QWORD PTR tv203[rbp], 0 - 003e8 eb 0b jmp SHORT $LN110@stbi__bmp_ -$LN109@stbi__bmp_: - 003ea 48 c7 85 f8 0c - 00 00 00 00 00 - 00 mov QWORD PTR tv203[rbp], 0 -$LN110@stbi__bmp_: - 003f5 48 8b 85 f8 0c - 00 00 mov rax, QWORD PTR tv203[rbp] - 003fc e9 11 0f 00 00 jmp $LN1@stbi__bmp_ -$LN52@stbi__bmp_: - -; 5874 : -; 5875 : out = (stbi_uc *)stbi__malloc_mad3(target, s->img_x, s->img_y, 0); - - 00401 45 33 c9 xor r9d, r9d - 00404 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 0040b 44 8b 40 04 mov r8d, DWORD PTR [rax+4] - 0040f 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 00416 8b 10 mov edx, DWORD PTR [rax] - 00418 8b 8d a4 05 00 - 00 mov ecx, DWORD PTR target$[rbp] - 0041e e8 00 00 00 00 call stbi__malloc_mad3 - 00423 48 89 45 08 mov QWORD PTR out$[rbp], rax - -; 5876 : if (!out) - - 00427 48 83 7d 08 00 cmp QWORD PTR out$[rbp], 0 - 0042c 75 34 jne SHORT $LN53@stbi__bmp_ - -; 5877 : return stbi__errpuc("outofmem", "Out of memory"); - - 0042e 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 00435 e8 00 00 00 00 call stbi__err - 0043a 85 c0 test eax, eax - 0043c 74 0d je SHORT $LN111@stbi__bmp_ - 0043e 48 c7 85 f8 0c - 00 00 00 00 00 - 00 mov QWORD PTR tv215[rbp], 0 - 00449 eb 0b jmp SHORT $LN112@stbi__bmp_ -$LN111@stbi__bmp_: - 0044b 48 c7 85 f8 0c - 00 00 00 00 00 - 00 mov QWORD PTR tv215[rbp], 0 -$LN112@stbi__bmp_: - 00456 48 8b 85 f8 0c - 00 00 mov rax, QWORD PTR tv215[rbp] - 0045d e9 b0 0e 00 00 jmp $LN1@stbi__bmp_ -$LN53@stbi__bmp_: - -; 5878 : if (info.bpp < 16) { - - 00462 83 bd c8 05 00 - 00 10 cmp DWORD PTR info$[rbp], 16 - 00469 0f 8d ce 06 00 - 00 jge $LN54@stbi__bmp_ - -; 5879 : int z = 0; - - 0046f c7 85 64 06 00 - 00 00 00 00 00 mov DWORD PTR z$8[rbp], 0 - -; 5880 : if (psize == 0 || psize > 256) { - - 00479 83 bd e4 04 00 - 00 00 cmp DWORD PTR psize$[rbp], 0 - 00480 74 0c je SHORT $LN57@stbi__bmp_ - 00482 81 bd e4 04 00 - 00 00 01 00 00 cmp DWORD PTR psize$[rbp], 256 ; 00000100H - 0048c 7e 3f jle SHORT $LN56@stbi__bmp_ -$LN57@stbi__bmp_: - -; 5881 : STBI_FREE(out); - - 0048e 48 8b 4d 08 mov rcx, QWORD PTR out$[rbp] - 00492 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00498 90 npad 1 - -; 5882 : return stbi__errpuc("invalid", "Corrupt BMP"); - - 00499 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07MALOAKCI@invalid@ - 004a0 e8 00 00 00 00 call stbi__err - 004a5 85 c0 test eax, eax - 004a7 74 0d je SHORT $LN113@stbi__bmp_ - 004a9 48 c7 85 f8 0c - 00 00 00 00 00 - 00 mov QWORD PTR tv223[rbp], 0 - 004b4 eb 0b jmp SHORT $LN114@stbi__bmp_ -$LN113@stbi__bmp_: - 004b6 48 c7 85 f8 0c - 00 00 00 00 00 - 00 mov QWORD PTR tv223[rbp], 0 -$LN114@stbi__bmp_: - 004c1 48 8b 85 f8 0c - 00 00 mov rax, QWORD PTR tv223[rbp] - 004c8 e9 45 0e 00 00 jmp $LN1@stbi__bmp_ -$LN56@stbi__bmp_: - -; 5883 : } -; 5884 : for (i = 0; i < psize; ++i) { - - 004cd c7 85 04 05 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 004d7 eb 0e jmp SHORT $LN4@stbi__bmp_ -$LN2@stbi__bmp_: - 004d9 8b 85 04 05 00 - 00 mov eax, DWORD PTR i$[rbp] - 004df ff c0 inc eax - 004e1 89 85 04 05 00 - 00 mov DWORD PTR i$[rbp], eax -$LN4@stbi__bmp_: - 004e7 8b 85 e4 04 00 - 00 mov eax, DWORD PTR psize$[rbp] - 004ed 39 85 04 05 00 - 00 cmp DWORD PTR i$[rbp], eax - 004f3 0f 8d ac 00 00 - 00 jge $LN3@stbi__bmp_ - -; 5885 : pal[i][2] = stbi__get8(s); - - 004f9 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 00500 e8 00 00 00 00 call stbi__get8 - 00505 48 63 8d 04 05 - 00 00 movsxd rcx, DWORD PTR i$[rbp] - 0050c 48 8d 8c 8d d0 - 00 00 00 lea rcx, QWORD PTR pal$[rbp+rcx*4] - 00514 ba 01 00 00 00 mov edx, 1 - 00519 48 6b d2 02 imul rdx, rdx, 2 - 0051d 88 04 11 mov BYTE PTR [rcx+rdx], al - -; 5886 : pal[i][1] = stbi__get8(s); - - 00520 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 00527 e8 00 00 00 00 call stbi__get8 - 0052c 48 63 8d 04 05 - 00 00 movsxd rcx, DWORD PTR i$[rbp] - 00533 48 8d 8c 8d d0 - 00 00 00 lea rcx, QWORD PTR pal$[rbp+rcx*4] - 0053b ba 01 00 00 00 mov edx, 1 - 00540 48 6b d2 01 imul rdx, rdx, 1 - 00544 88 04 11 mov BYTE PTR [rcx+rdx], al - -; 5887 : pal[i][0] = stbi__get8(s); - - 00547 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 0054e e8 00 00 00 00 call stbi__get8 - 00553 48 63 8d 04 05 - 00 00 movsxd rcx, DWORD PTR i$[rbp] - 0055a 48 8d 8c 8d d0 - 00 00 00 lea rcx, QWORD PTR pal$[rbp+rcx*4] - 00562 ba 01 00 00 00 mov edx, 1 - 00567 48 6b d2 00 imul rdx, rdx, 0 - 0056b 88 04 11 mov BYTE PTR [rcx+rdx], al - -; 5888 : if (info.hsz != 12) - - 0056e 83 bd d0 05 00 - 00 0c cmp DWORD PTR info$[rbp+8], 12 - 00575 74 0d je SHORT $LN58@stbi__bmp_ - -; 5889 : stbi__get8(s); - - 00577 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 0057e e8 00 00 00 00 call stbi__get8 - 00583 90 npad 1 -$LN58@stbi__bmp_: - -; 5890 : pal[i][3] = 255; - - 00584 48 63 85 04 05 - 00 00 movsxd rax, DWORD PTR i$[rbp] - 0058b 48 8d 84 85 d0 - 00 00 00 lea rax, QWORD PTR pal$[rbp+rax*4] - 00593 b9 01 00 00 00 mov ecx, 1 - 00598 48 6b c9 03 imul rcx, rcx, 3 - 0059c c6 04 08 ff mov BYTE PTR [rax+rcx], 255 ; 000000ffH - -; 5891 : } - - 005a0 e9 34 ff ff ff jmp $LN2@stbi__bmp_ -$LN3@stbi__bmp_: - -; 5892 : stbi__skip(s, info.offset - info.extra_read - info.hsz - - - 005a5 83 bd d0 05 00 - 00 0c cmp DWORD PTR info$[rbp+8], 12 - 005ac 75 0c jne SHORT $LN115@stbi__bmp_ - 005ae c7 85 f4 0c 00 - 00 03 00 00 00 mov DWORD PTR tv257[rbp], 3 - 005b8 eb 0a jmp SHORT $LN116@stbi__bmp_ -$LN115@stbi__bmp_: - 005ba c7 85 f4 0c 00 - 00 04 00 00 00 mov DWORD PTR tv257[rbp], 4 -$LN116@stbi__bmp_: - 005c4 8b 85 e8 05 00 - 00 mov eax, DWORD PTR info$[rbp+32] - 005ca 8b 8d cc 05 00 - 00 mov ecx, DWORD PTR info$[rbp+4] - 005d0 2b c8 sub ecx, eax - 005d2 8b c1 mov eax, ecx - 005d4 2b 85 d0 05 00 - 00 sub eax, DWORD PTR info$[rbp+8] - 005da 8b 8d e4 04 00 - 00 mov ecx, DWORD PTR psize$[rbp] - 005e0 0f af 8d f4 0c - 00 00 imul ecx, DWORD PTR tv257[rbp] - 005e7 2b c1 sub eax, ecx - 005e9 8b d0 mov edx, eax - 005eb 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 005f2 e8 00 00 00 00 call stbi__skip - 005f7 90 npad 1 - -; 5893 : psize * (info.hsz == 12 ? 3 : 4)); -; 5894 : if (info.bpp == 1) - - 005f8 83 bd c8 05 00 - 00 01 cmp DWORD PTR info$[rbp], 1 - 005ff 75 17 jne SHORT $LN59@stbi__bmp_ - -; 5895 : width = (s->img_x + 7) >> 3; - - 00601 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 00608 8b 00 mov eax, DWORD PTR [rax] - 0060a 83 c0 07 add eax, 7 - 0060d c1 e8 03 shr eax, 3 - 00610 89 85 44 05 00 - 00 mov DWORD PTR width$[rbp], eax - 00616 eb 77 jmp SHORT $LN60@stbi__bmp_ -$LN59@stbi__bmp_: - -; 5896 : else if (info.bpp == 4) - - 00618 83 bd c8 05 00 - 00 04 cmp DWORD PTR info$[rbp], 4 - 0061f 75 15 jne SHORT $LN61@stbi__bmp_ - -; 5897 : width = (s->img_x + 1) >> 1; - - 00621 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 00628 8b 00 mov eax, DWORD PTR [rax] - 0062a ff c0 inc eax - 0062c d1 e8 shr eax, 1 - 0062e 89 85 44 05 00 - 00 mov DWORD PTR width$[rbp], eax - 00634 eb 59 jmp SHORT $LN62@stbi__bmp_ -$LN61@stbi__bmp_: - -; 5898 : else if (info.bpp == 8) - - 00636 83 bd c8 05 00 - 00 08 cmp DWORD PTR info$[rbp], 8 - 0063d 75 11 jne SHORT $LN63@stbi__bmp_ - -; 5899 : width = s->img_x; - - 0063f 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 00646 8b 00 mov eax, DWORD PTR [rax] - 00648 89 85 44 05 00 - 00 mov DWORD PTR width$[rbp], eax - 0064e eb 3f jmp SHORT $LN64@stbi__bmp_ -$LN63@stbi__bmp_: - -; 5900 : else { -; 5901 : STBI_FREE(out); - - 00650 48 8b 4d 08 mov rcx, QWORD PTR out$[rbp] - 00654 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 0065a 90 npad 1 - -; 5902 : return stbi__errpuc("bad bpp", "Corrupt BMP"); - - 0065b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_07JNJHIMGH@bad?5bpp@ - 00662 e8 00 00 00 00 call stbi__err - 00667 85 c0 test eax, eax - 00669 74 0d je SHORT $LN117@stbi__bmp_ - 0066b 48 c7 85 f8 0c - 00 00 00 00 00 - 00 mov QWORD PTR tv276[rbp], 0 - 00676 eb 0b jmp SHORT $LN118@stbi__bmp_ -$LN117@stbi__bmp_: - 00678 48 c7 85 f8 0c - 00 00 00 00 00 - 00 mov QWORD PTR tv276[rbp], 0 -$LN118@stbi__bmp_: - 00683 48 8b 85 f8 0c - 00 00 mov rax, QWORD PTR tv276[rbp] - 0068a e9 83 0c 00 00 jmp $LN1@stbi__bmp_ -$LN64@stbi__bmp_: -$LN62@stbi__bmp_: -$LN60@stbi__bmp_: - -; 5903 : } -; 5904 : pad = (-width) & 3; - - 0068f 8b 85 44 05 00 - 00 mov eax, DWORD PTR width$[rbp] - 00695 f7 d8 neg eax - 00697 83 e0 03 and eax, 3 - 0069a 89 85 84 05 00 - 00 mov DWORD PTR pad$[rbp], eax - -; 5905 : if (info.bpp == 1) { - - 006a0 83 bd c8 05 00 - 00 01 cmp DWORD PTR info$[rbp], 1 - 006a7 0f 85 d6 01 00 - 00 jne $LN65@stbi__bmp_ - -; 5906 : for (j = 0; j < (int)s->img_y; ++j) { - - 006ad c7 85 24 05 00 - 00 00 00 00 00 mov DWORD PTR j$[rbp], 0 - 006b7 eb 0e jmp SHORT $LN7@stbi__bmp_ -$LN5@stbi__bmp_: - 006b9 8b 85 24 05 00 - 00 mov eax, DWORD PTR j$[rbp] - 006bf ff c0 inc eax - 006c1 89 85 24 05 00 - 00 mov DWORD PTR j$[rbp], eax -$LN7@stbi__bmp_: - 006c7 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 006ce 8b 40 04 mov eax, DWORD PTR [rax+4] - 006d1 39 85 24 05 00 - 00 cmp DWORD PTR j$[rbp], eax - 006d7 0f 8d a1 01 00 - 00 jge $LN6@stbi__bmp_ - -; 5907 : int bit_offset = 7, v = stbi__get8(s); - - 006dd c7 85 84 06 00 - 00 07 00 00 00 mov DWORD PTR bit_offset$9[rbp], 7 - 006e7 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 006ee e8 00 00 00 00 call stbi__get8 - 006f3 0f b6 c0 movzx eax, al - 006f6 89 85 a4 06 00 - 00 mov DWORD PTR v$10[rbp], eax - -; 5908 : for (i = 0; i < (int)s->img_x; ++i) { - - 006fc c7 85 04 05 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 00706 eb 0e jmp SHORT $LN10@stbi__bmp_ -$LN8@stbi__bmp_: - 00708 8b 85 04 05 00 - 00 mov eax, DWORD PTR i$[rbp] - 0070e ff c0 inc eax - 00710 89 85 04 05 00 - 00 mov DWORD PTR i$[rbp], eax -$LN10@stbi__bmp_: - 00716 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 0071d 8b 00 mov eax, DWORD PTR [rax] - 0071f 39 85 04 05 00 - 00 cmp DWORD PTR i$[rbp], eax - 00725 0f 8d 3b 01 00 - 00 jge $LN9@stbi__bmp_ - -; 5909 : int color = (v >> bit_offset) & 0x1; - - 0072b 8b 85 84 06 00 - 00 mov eax, DWORD PTR bit_offset$9[rbp] - 00731 0f b6 c8 movzx ecx, al - 00734 8b 85 a4 06 00 - 00 mov eax, DWORD PTR v$10[rbp] - 0073a d3 f8 sar eax, cl - 0073c 83 e0 01 and eax, 1 - 0073f 89 85 c4 06 00 - 00 mov DWORD PTR color$11[rbp], eax - -; 5910 : out[z++] = pal[color][0]; - - 00745 48 63 85 c4 06 - 00 00 movsxd rax, DWORD PTR color$11[rbp] - 0074c 48 8d 84 85 d0 - 00 00 00 lea rax, QWORD PTR pal$[rbp+rax*4] - 00754 b9 01 00 00 00 mov ecx, 1 - 00759 48 6b c9 00 imul rcx, rcx, 0 - 0075d 48 63 95 64 06 - 00 00 movsxd rdx, DWORD PTR z$8[rbp] - 00764 4c 8b 45 08 mov r8, QWORD PTR out$[rbp] - 00768 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx] - 0076c 41 88 04 10 mov BYTE PTR [r8+rdx], al - 00770 8b 85 64 06 00 - 00 mov eax, DWORD PTR z$8[rbp] - 00776 ff c0 inc eax - 00778 89 85 64 06 00 - 00 mov DWORD PTR z$8[rbp], eax - -; 5911 : out[z++] = pal[color][1]; - - 0077e 48 63 85 c4 06 - 00 00 movsxd rax, DWORD PTR color$11[rbp] - 00785 48 8d 84 85 d0 - 00 00 00 lea rax, QWORD PTR pal$[rbp+rax*4] - 0078d b9 01 00 00 00 mov ecx, 1 - 00792 48 6b c9 01 imul rcx, rcx, 1 - 00796 48 63 95 64 06 - 00 00 movsxd rdx, DWORD PTR z$8[rbp] - 0079d 4c 8b 45 08 mov r8, QWORD PTR out$[rbp] - 007a1 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx] - 007a5 41 88 04 10 mov BYTE PTR [r8+rdx], al - 007a9 8b 85 64 06 00 - 00 mov eax, DWORD PTR z$8[rbp] - 007af ff c0 inc eax - 007b1 89 85 64 06 00 - 00 mov DWORD PTR z$8[rbp], eax - -; 5912 : out[z++] = pal[color][2]; - - 007b7 48 63 85 c4 06 - 00 00 movsxd rax, DWORD PTR color$11[rbp] - 007be 48 8d 84 85 d0 - 00 00 00 lea rax, QWORD PTR pal$[rbp+rax*4] - 007c6 b9 01 00 00 00 mov ecx, 1 - 007cb 48 6b c9 02 imul rcx, rcx, 2 - 007cf 48 63 95 64 06 - 00 00 movsxd rdx, DWORD PTR z$8[rbp] - 007d6 4c 8b 45 08 mov r8, QWORD PTR out$[rbp] - 007da 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx] - 007de 41 88 04 10 mov BYTE PTR [r8+rdx], al - 007e2 8b 85 64 06 00 - 00 mov eax, DWORD PTR z$8[rbp] - 007e8 ff c0 inc eax - 007ea 89 85 64 06 00 - 00 mov DWORD PTR z$8[rbp], eax - -; 5913 : if (target == 4) - - 007f0 83 bd a4 05 00 - 00 04 cmp DWORD PTR target$[rbp], 4 - 007f7 75 1d jne SHORT $LN67@stbi__bmp_ - -; 5914 : out[z++] = 255; - - 007f9 48 63 85 64 06 - 00 00 movsxd rax, DWORD PTR z$8[rbp] - 00800 48 8b 4d 08 mov rcx, QWORD PTR out$[rbp] - 00804 c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - 00808 8b 85 64 06 00 - 00 mov eax, DWORD PTR z$8[rbp] - 0080e ff c0 inc eax - 00810 89 85 64 06 00 - 00 mov DWORD PTR z$8[rbp], eax -$LN67@stbi__bmp_: - -; 5915 : if (i + 1 == (int)s->img_x) - - 00816 8b 85 04 05 00 - 00 mov eax, DWORD PTR i$[rbp] - 0081c ff c0 inc eax - 0081e 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 00825 3b 01 cmp eax, DWORD PTR [rcx] - 00827 75 02 jne SHORT $LN68@stbi__bmp_ - -; 5916 : break; - - 00829 eb 3b jmp SHORT $LN9@stbi__bmp_ -$LN68@stbi__bmp_: - -; 5917 : if ((--bit_offset) < 0) { - - 0082b 8b 85 84 06 00 - 00 mov eax, DWORD PTR bit_offset$9[rbp] - 00831 ff c8 dec eax - 00833 89 85 84 06 00 - 00 mov DWORD PTR bit_offset$9[rbp], eax - 00839 83 bd 84 06 00 - 00 00 cmp DWORD PTR bit_offset$9[rbp], 0 - 00840 7d 1f jge SHORT $LN69@stbi__bmp_ - -; 5918 : bit_offset = 7; - - 00842 c7 85 84 06 00 - 00 07 00 00 00 mov DWORD PTR bit_offset$9[rbp], 7 - -; 5919 : v = stbi__get8(s); - - 0084c 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 00853 e8 00 00 00 00 call stbi__get8 - 00858 0f b6 c0 movzx eax, al - 0085b 89 85 a4 06 00 - 00 mov DWORD PTR v$10[rbp], eax -$LN69@stbi__bmp_: - -; 5920 : } -; 5921 : } - - 00861 e9 a2 fe ff ff jmp $LN8@stbi__bmp_ -$LN9@stbi__bmp_: - -; 5922 : stbi__skip(s, pad); - - 00866 8b 95 84 05 00 - 00 mov edx, DWORD PTR pad$[rbp] - 0086c 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 00873 e8 00 00 00 00 call stbi__skip - 00878 90 npad 1 - -; 5923 : } - - 00879 e9 3b fe ff ff jmp $LN5@stbi__bmp_ -$LN6@stbi__bmp_: - -; 5924 : } else { - - 0087e e9 b5 02 00 00 jmp $LN66@stbi__bmp_ -$LN65@stbi__bmp_: - -; 5925 : for (j = 0; j < (int)s->img_y; ++j) { - - 00883 c7 85 24 05 00 - 00 00 00 00 00 mov DWORD PTR j$[rbp], 0 - 0088d eb 0e jmp SHORT $LN13@stbi__bmp_ -$LN11@stbi__bmp_: - 0088f 8b 85 24 05 00 - 00 mov eax, DWORD PTR j$[rbp] - 00895 ff c0 inc eax - 00897 89 85 24 05 00 - 00 mov DWORD PTR j$[rbp], eax -$LN13@stbi__bmp_: - 0089d 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 008a4 8b 40 04 mov eax, DWORD PTR [rax+4] - 008a7 39 85 24 05 00 - 00 cmp DWORD PTR j$[rbp], eax - 008ad 0f 8d 85 02 00 - 00 jge $LN12@stbi__bmp_ - -; 5926 : for (i = 0; i < (int)s->img_x; i += 2) { - - 008b3 c7 85 04 05 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 008bd eb 0f jmp SHORT $LN16@stbi__bmp_ -$LN14@stbi__bmp_: - 008bf 8b 85 04 05 00 - 00 mov eax, DWORD PTR i$[rbp] - 008c5 83 c0 02 add eax, 2 - 008c8 89 85 04 05 00 - 00 mov DWORD PTR i$[rbp], eax -$LN16@stbi__bmp_: - 008ce 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 008d5 8b 00 mov eax, DWORD PTR [rax] - 008d7 39 85 04 05 00 - 00 cmp DWORD PTR i$[rbp], eax - 008dd 0f 8d 3d 02 00 - 00 jge $LN15@stbi__bmp_ - -; 5927 : int v = stbi__get8(s), v2 = 0; - - 008e3 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 008ea e8 00 00 00 00 call stbi__get8 - 008ef 0f b6 c0 movzx eax, al - 008f2 89 85 e4 06 00 - 00 mov DWORD PTR v$12[rbp], eax - 008f8 c7 85 04 07 00 - 00 00 00 00 00 mov DWORD PTR v2$13[rbp], 0 - -; 5928 : if (info.bpp == 4) { - - 00902 83 bd c8 05 00 - 00 04 cmp DWORD PTR info$[rbp], 4 - 00909 75 1e jne SHORT $LN70@stbi__bmp_ - -; 5929 : v2 = v & 15; - - 0090b 8b 85 e4 06 00 - 00 mov eax, DWORD PTR v$12[rbp] - 00911 83 e0 0f and eax, 15 - 00914 89 85 04 07 00 - 00 mov DWORD PTR v2$13[rbp], eax - -; 5930 : v >>= 4; - - 0091a 8b 85 e4 06 00 - 00 mov eax, DWORD PTR v$12[rbp] - 00920 c1 f8 04 sar eax, 4 - 00923 89 85 e4 06 00 - 00 mov DWORD PTR v$12[rbp], eax -$LN70@stbi__bmp_: - -; 5931 : } -; 5932 : out[z++] = pal[v][0]; - - 00929 48 63 85 e4 06 - 00 00 movsxd rax, DWORD PTR v$12[rbp] - 00930 48 8d 84 85 d0 - 00 00 00 lea rax, QWORD PTR pal$[rbp+rax*4] - 00938 b9 01 00 00 00 mov ecx, 1 - 0093d 48 6b c9 00 imul rcx, rcx, 0 - 00941 48 63 95 64 06 - 00 00 movsxd rdx, DWORD PTR z$8[rbp] - 00948 4c 8b 45 08 mov r8, QWORD PTR out$[rbp] - 0094c 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx] - 00950 41 88 04 10 mov BYTE PTR [r8+rdx], al - 00954 8b 85 64 06 00 - 00 mov eax, DWORD PTR z$8[rbp] - 0095a ff c0 inc eax - 0095c 89 85 64 06 00 - 00 mov DWORD PTR z$8[rbp], eax - -; 5933 : out[z++] = pal[v][1]; - - 00962 48 63 85 e4 06 - 00 00 movsxd rax, DWORD PTR v$12[rbp] - 00969 48 8d 84 85 d0 - 00 00 00 lea rax, QWORD PTR pal$[rbp+rax*4] - 00971 b9 01 00 00 00 mov ecx, 1 - 00976 48 6b c9 01 imul rcx, rcx, 1 - 0097a 48 63 95 64 06 - 00 00 movsxd rdx, DWORD PTR z$8[rbp] - 00981 4c 8b 45 08 mov r8, QWORD PTR out$[rbp] - 00985 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx] - 00989 41 88 04 10 mov BYTE PTR [r8+rdx], al - 0098d 8b 85 64 06 00 - 00 mov eax, DWORD PTR z$8[rbp] - 00993 ff c0 inc eax - 00995 89 85 64 06 00 - 00 mov DWORD PTR z$8[rbp], eax - -; 5934 : out[z++] = pal[v][2]; - - 0099b 48 63 85 e4 06 - 00 00 movsxd rax, DWORD PTR v$12[rbp] - 009a2 48 8d 84 85 d0 - 00 00 00 lea rax, QWORD PTR pal$[rbp+rax*4] - 009aa b9 01 00 00 00 mov ecx, 1 - 009af 48 6b c9 02 imul rcx, rcx, 2 - 009b3 48 63 95 64 06 - 00 00 movsxd rdx, DWORD PTR z$8[rbp] - 009ba 4c 8b 45 08 mov r8, QWORD PTR out$[rbp] - 009be 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx] - 009c2 41 88 04 10 mov BYTE PTR [r8+rdx], al - 009c6 8b 85 64 06 00 - 00 mov eax, DWORD PTR z$8[rbp] - 009cc ff c0 inc eax - 009ce 89 85 64 06 00 - 00 mov DWORD PTR z$8[rbp], eax - -; 5935 : if (target == 4) - - 009d4 83 bd a4 05 00 - 00 04 cmp DWORD PTR target$[rbp], 4 - 009db 75 1d jne SHORT $LN71@stbi__bmp_ - -; 5936 : out[z++] = 255; - - 009dd 48 63 85 64 06 - 00 00 movsxd rax, DWORD PTR z$8[rbp] - 009e4 48 8b 4d 08 mov rcx, QWORD PTR out$[rbp] - 009e8 c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - 009ec 8b 85 64 06 00 - 00 mov eax, DWORD PTR z$8[rbp] - 009f2 ff c0 inc eax - 009f4 89 85 64 06 00 - 00 mov DWORD PTR z$8[rbp], eax -$LN71@stbi__bmp_: - -; 5937 : if (i + 1 == (int)s->img_x) - - 009fa 8b 85 04 05 00 - 00 mov eax, DWORD PTR i$[rbp] - 00a00 ff c0 inc eax - 00a02 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 00a09 3b 01 cmp eax, DWORD PTR [rcx] - 00a0b 75 05 jne SHORT $LN72@stbi__bmp_ - -; 5938 : break; - - 00a0d e9 0e 01 00 00 jmp $LN15@stbi__bmp_ -$LN72@stbi__bmp_: - -; 5939 : v = (info.bpp == 8) ? stbi__get8(s) : v2; - - 00a12 83 bd c8 05 00 - 00 08 cmp DWORD PTR info$[rbp], 8 - 00a19 75 17 jne SHORT $LN119@stbi__bmp_ - 00a1b 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 00a22 e8 00 00 00 00 call stbi__get8 - 00a27 0f b6 c0 movzx eax, al - 00a2a 89 85 f4 0c 00 - 00 mov DWORD PTR tv384[rbp], eax - 00a30 eb 0c jmp SHORT $LN120@stbi__bmp_ -$LN119@stbi__bmp_: - 00a32 8b 85 04 07 00 - 00 mov eax, DWORD PTR v2$13[rbp] - 00a38 89 85 f4 0c 00 - 00 mov DWORD PTR tv384[rbp], eax -$LN120@stbi__bmp_: - 00a3e 8b 85 f4 0c 00 - 00 mov eax, DWORD PTR tv384[rbp] - 00a44 89 85 e4 06 00 - 00 mov DWORD PTR v$12[rbp], eax - -; 5940 : out[z++] = pal[v][0]; - - 00a4a 48 63 85 e4 06 - 00 00 movsxd rax, DWORD PTR v$12[rbp] - 00a51 48 8d 84 85 d0 - 00 00 00 lea rax, QWORD PTR pal$[rbp+rax*4] - 00a59 b9 01 00 00 00 mov ecx, 1 - 00a5e 48 6b c9 00 imul rcx, rcx, 0 - 00a62 48 63 95 64 06 - 00 00 movsxd rdx, DWORD PTR z$8[rbp] - 00a69 4c 8b 45 08 mov r8, QWORD PTR out$[rbp] - 00a6d 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx] - 00a71 41 88 04 10 mov BYTE PTR [r8+rdx], al - 00a75 8b 85 64 06 00 - 00 mov eax, DWORD PTR z$8[rbp] - 00a7b ff c0 inc eax - 00a7d 89 85 64 06 00 - 00 mov DWORD PTR z$8[rbp], eax - -; 5941 : out[z++] = pal[v][1]; - - 00a83 48 63 85 e4 06 - 00 00 movsxd rax, DWORD PTR v$12[rbp] - 00a8a 48 8d 84 85 d0 - 00 00 00 lea rax, QWORD PTR pal$[rbp+rax*4] - 00a92 b9 01 00 00 00 mov ecx, 1 - 00a97 48 6b c9 01 imul rcx, rcx, 1 - 00a9b 48 63 95 64 06 - 00 00 movsxd rdx, DWORD PTR z$8[rbp] - 00aa2 4c 8b 45 08 mov r8, QWORD PTR out$[rbp] - 00aa6 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx] - 00aaa 41 88 04 10 mov BYTE PTR [r8+rdx], al - 00aae 8b 85 64 06 00 - 00 mov eax, DWORD PTR z$8[rbp] - 00ab4 ff c0 inc eax - 00ab6 89 85 64 06 00 - 00 mov DWORD PTR z$8[rbp], eax - -; 5942 : out[z++] = pal[v][2]; - - 00abc 48 63 85 e4 06 - 00 00 movsxd rax, DWORD PTR v$12[rbp] - 00ac3 48 8d 84 85 d0 - 00 00 00 lea rax, QWORD PTR pal$[rbp+rax*4] - 00acb b9 01 00 00 00 mov ecx, 1 - 00ad0 48 6b c9 02 imul rcx, rcx, 2 - 00ad4 48 63 95 64 06 - 00 00 movsxd rdx, DWORD PTR z$8[rbp] - 00adb 4c 8b 45 08 mov r8, QWORD PTR out$[rbp] - 00adf 0f b6 04 08 movzx eax, BYTE PTR [rax+rcx] - 00ae3 41 88 04 10 mov BYTE PTR [r8+rdx], al - 00ae7 8b 85 64 06 00 - 00 mov eax, DWORD PTR z$8[rbp] - 00aed ff c0 inc eax - 00aef 89 85 64 06 00 - 00 mov DWORD PTR z$8[rbp], eax - -; 5943 : if (target == 4) - - 00af5 83 bd a4 05 00 - 00 04 cmp DWORD PTR target$[rbp], 4 - 00afc 75 1d jne SHORT $LN73@stbi__bmp_ - -; 5944 : out[z++] = 255; - - 00afe 48 63 85 64 06 - 00 00 movsxd rax, DWORD PTR z$8[rbp] - 00b05 48 8b 4d 08 mov rcx, QWORD PTR out$[rbp] - 00b09 c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - 00b0d 8b 85 64 06 00 - 00 mov eax, DWORD PTR z$8[rbp] - 00b13 ff c0 inc eax - 00b15 89 85 64 06 00 - 00 mov DWORD PTR z$8[rbp], eax -$LN73@stbi__bmp_: - -; 5945 : } - - 00b1b e9 9f fd ff ff jmp $LN14@stbi__bmp_ -$LN15@stbi__bmp_: - -; 5946 : stbi__skip(s, pad); - - 00b20 8b 95 84 05 00 - 00 mov edx, DWORD PTR pad$[rbp] - 00b26 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 00b2d e8 00 00 00 00 call stbi__skip - 00b32 90 npad 1 - -; 5947 : } - - 00b33 e9 57 fd ff ff jmp $LN11@stbi__bmp_ -$LN12@stbi__bmp_: -$LN66@stbi__bmp_: - -; 5948 : } -; 5949 : } else { - - 00b38 e9 af 05 00 00 jmp $LN55@stbi__bmp_ -$LN54@stbi__bmp_: - -; 5950 : int rshift = 0, gshift = 0, bshift = 0, ashift = 0, rcount = 0, gcount = 0, - - 00b3d c7 85 24 07 00 - 00 00 00 00 00 mov DWORD PTR rshift$14[rbp], 0 - 00b47 c7 85 44 07 00 - 00 00 00 00 00 mov DWORD PTR gshift$15[rbp], 0 - 00b51 c7 85 64 07 00 - 00 00 00 00 00 mov DWORD PTR bshift$16[rbp], 0 - 00b5b c7 85 84 07 00 - 00 00 00 00 00 mov DWORD PTR ashift$17[rbp], 0 - 00b65 c7 85 a4 07 00 - 00 00 00 00 00 mov DWORD PTR rcount$18[rbp], 0 - 00b6f c7 85 c4 07 00 - 00 00 00 00 00 mov DWORD PTR gcount$19[rbp], 0 - -; 5951 : bcount = 0, acount = 0; - - 00b79 c7 85 e4 07 00 - 00 00 00 00 00 mov DWORD PTR bcount$20[rbp], 0 - 00b83 c7 85 04 08 00 - 00 00 00 00 00 mov DWORD PTR acount$21[rbp], 0 - -; 5952 : int z = 0; - - 00b8d c7 85 24 08 00 - 00 00 00 00 00 mov DWORD PTR z$22[rbp], 0 - -; 5953 : int easy = 0; - - 00b97 c7 85 44 08 00 - 00 00 00 00 00 mov DWORD PTR easy$23[rbp], 0 - -; 5954 : stbi__skip(s, info.offset - info.extra_read - info.hsz); - - 00ba1 8b 85 e8 05 00 - 00 mov eax, DWORD PTR info$[rbp+32] - 00ba7 8b 8d cc 05 00 - 00 mov ecx, DWORD PTR info$[rbp+4] - 00bad 2b c8 sub ecx, eax - 00baf 8b c1 mov eax, ecx - 00bb1 2b 85 d0 05 00 - 00 sub eax, DWORD PTR info$[rbp+8] - 00bb7 8b d0 mov edx, eax - 00bb9 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 00bc0 e8 00 00 00 00 call stbi__skip - 00bc5 90 npad 1 - -; 5955 : if (info.bpp == 24) - - 00bc6 83 bd c8 05 00 - 00 18 cmp DWORD PTR info$[rbp], 24 - 00bcd 75 12 jne SHORT $LN74@stbi__bmp_ - -; 5956 : width = 3 * s->img_x; - - 00bcf 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 00bd6 6b 00 03 imul eax, DWORD PTR [rax], 3 - 00bd9 89 85 44 05 00 - 00 mov DWORD PTR width$[rbp], eax - 00bdf eb 26 jmp SHORT $LN75@stbi__bmp_ -$LN74@stbi__bmp_: - -; 5957 : else if (info.bpp == 16) - - 00be1 83 bd c8 05 00 - 00 10 cmp DWORD PTR info$[rbp], 16 - 00be8 75 13 jne SHORT $LN76@stbi__bmp_ - -; 5958 : width = 2 * s->img_x; - - 00bea 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 00bf1 8b 00 mov eax, DWORD PTR [rax] - 00bf3 d1 e0 shl eax, 1 - 00bf5 89 85 44 05 00 - 00 mov DWORD PTR width$[rbp], eax - 00bfb eb 0a jmp SHORT $LN77@stbi__bmp_ -$LN76@stbi__bmp_: - -; 5959 : else /* bpp = 32 and pad = 0 */ -; 5960 : width = 0; - - 00bfd c7 85 44 05 00 - 00 00 00 00 00 mov DWORD PTR width$[rbp], 0 -$LN77@stbi__bmp_: -$LN75@stbi__bmp_: - -; 5961 : pad = (-width) & 3; - - 00c07 8b 85 44 05 00 - 00 mov eax, DWORD PTR width$[rbp] - 00c0d f7 d8 neg eax - 00c0f 83 e0 03 and eax, 3 - 00c12 89 85 84 05 00 - 00 mov DWORD PTR pad$[rbp], eax - -; 5962 : if (info.bpp == 24) { - - 00c18 83 bd c8 05 00 - 00 18 cmp DWORD PTR info$[rbp], 24 - 00c1f 75 0c jne SHORT $LN78@stbi__bmp_ - -; 5963 : easy = 1; - - 00c21 c7 85 44 08 00 - 00 01 00 00 00 mov DWORD PTR easy$23[rbp], 1 - 00c2b eb 3a jmp SHORT $LN79@stbi__bmp_ -$LN78@stbi__bmp_: - -; 5964 : } else if (info.bpp == 32) { - - 00c2d 83 bd c8 05 00 - 00 20 cmp DWORD PTR info$[rbp], 32 ; 00000020H - 00c34 75 31 jne SHORT $LN80@stbi__bmp_ - -; 5965 : if (mb == 0xff && mg == 0xff00 && mr == 0x00ff0000 && ma == 0xff000000) - - 00c36 81 7d 64 ff 00 - 00 00 cmp DWORD PTR mb$[rbp], 255 ; 000000ffH - 00c3d 75 28 jne SHORT $LN81@stbi__bmp_ - 00c3f 81 7d 44 00 ff - 00 00 cmp DWORD PTR mg$[rbp], 65280 ; 0000ff00H - 00c46 75 1f jne SHORT $LN81@stbi__bmp_ - 00c48 81 7d 24 00 00 - ff 00 cmp DWORD PTR mr$[rbp], 16711680 ; 00ff0000H - 00c4f 75 16 jne SHORT $LN81@stbi__bmp_ - 00c51 81 bd 84 00 00 - 00 00 00 00 ff cmp DWORD PTR ma$[rbp], -16777216 ; ff000000H - 00c5b 75 0a jne SHORT $LN81@stbi__bmp_ - -; 5966 : easy = 2; - - 00c5d c7 85 44 08 00 - 00 02 00 00 00 mov DWORD PTR easy$23[rbp], 2 -$LN81@stbi__bmp_: -$LN80@stbi__bmp_: -$LN79@stbi__bmp_: - -; 5967 : } -; 5968 : if (!easy) { - - 00c67 83 bd 44 08 00 - 00 00 cmp DWORD PTR easy$23[rbp], 0 - 00c6e 0f 85 36 01 00 - 00 jne $LN82@stbi__bmp_ - -; 5969 : if (!mr || !mg || !mb) { - - 00c74 83 7d 24 00 cmp DWORD PTR mr$[rbp], 0 - 00c78 74 0c je SHORT $LN84@stbi__bmp_ - 00c7a 83 7d 44 00 cmp DWORD PTR mg$[rbp], 0 - 00c7e 74 06 je SHORT $LN84@stbi__bmp_ - 00c80 83 7d 64 00 cmp DWORD PTR mb$[rbp], 0 - 00c84 75 3f jne SHORT $LN83@stbi__bmp_ -$LN84@stbi__bmp_: - -; 5970 : STBI_FREE(out); - - 00c86 48 8b 4d 08 mov rcx, QWORD PTR out$[rbp] - 00c8a ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00c90 90 npad 1 - -; 5971 : return stbi__errpuc("bad masks", "Corrupt BMP"); - - 00c91 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09DAEBACAB@bad?5masks@ - 00c98 e8 00 00 00 00 call stbi__err - 00c9d 85 c0 test eax, eax - 00c9f 74 0d je SHORT $LN121@stbi__bmp_ - 00ca1 48 c7 85 f8 0c - 00 00 00 00 00 - 00 mov QWORD PTR tv445[rbp], 0 - 00cac eb 0b jmp SHORT $LN122@stbi__bmp_ -$LN121@stbi__bmp_: - 00cae 48 c7 85 f8 0c - 00 00 00 00 00 - 00 mov QWORD PTR tv445[rbp], 0 -$LN122@stbi__bmp_: - 00cb9 48 8b 85 f8 0c - 00 00 mov rax, QWORD PTR tv445[rbp] - 00cc0 e9 4d 06 00 00 jmp $LN1@stbi__bmp_ -$LN83@stbi__bmp_: - -; 5972 : } -; 5973 : // right shift amt to put high bit in position #7 -; 5974 : rshift = stbi__high_bit(mr) - 7; - - 00cc5 8b 4d 24 mov ecx, DWORD PTR mr$[rbp] - 00cc8 e8 00 00 00 00 call stbi__high_bit - 00ccd 83 e8 07 sub eax, 7 - 00cd0 89 85 24 07 00 - 00 mov DWORD PTR rshift$14[rbp], eax - -; 5975 : rcount = stbi__bitcount(mr); - - 00cd6 8b 4d 24 mov ecx, DWORD PTR mr$[rbp] - 00cd9 e8 00 00 00 00 call stbi__bitcount - 00cde 89 85 a4 07 00 - 00 mov DWORD PTR rcount$18[rbp], eax - -; 5976 : gshift = stbi__high_bit(mg) - 7; - - 00ce4 8b 4d 44 mov ecx, DWORD PTR mg$[rbp] - 00ce7 e8 00 00 00 00 call stbi__high_bit - 00cec 83 e8 07 sub eax, 7 - 00cef 89 85 44 07 00 - 00 mov DWORD PTR gshift$15[rbp], eax - -; 5977 : gcount = stbi__bitcount(mg); - - 00cf5 8b 4d 44 mov ecx, DWORD PTR mg$[rbp] - 00cf8 e8 00 00 00 00 call stbi__bitcount - 00cfd 89 85 c4 07 00 - 00 mov DWORD PTR gcount$19[rbp], eax - -; 5978 : bshift = stbi__high_bit(mb) - 7; - - 00d03 8b 4d 64 mov ecx, DWORD PTR mb$[rbp] - 00d06 e8 00 00 00 00 call stbi__high_bit - 00d0b 83 e8 07 sub eax, 7 - 00d0e 89 85 64 07 00 - 00 mov DWORD PTR bshift$16[rbp], eax - -; 5979 : bcount = stbi__bitcount(mb); - - 00d14 8b 4d 64 mov ecx, DWORD PTR mb$[rbp] - 00d17 e8 00 00 00 00 call stbi__bitcount - 00d1c 89 85 e4 07 00 - 00 mov DWORD PTR bcount$20[rbp], eax - -; 5980 : ashift = stbi__high_bit(ma) - 7; - - 00d22 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR ma$[rbp] - 00d28 e8 00 00 00 00 call stbi__high_bit - 00d2d 83 e8 07 sub eax, 7 - 00d30 89 85 84 07 00 - 00 mov DWORD PTR ashift$17[rbp], eax - -; 5981 : acount = stbi__bitcount(ma); - - 00d36 8b 8d 84 00 00 - 00 mov ecx, DWORD PTR ma$[rbp] - 00d3c e8 00 00 00 00 call stbi__bitcount - 00d41 89 85 04 08 00 - 00 mov DWORD PTR acount$21[rbp], eax - -; 5982 : if (rcount > 8 || gcount > 8 || bcount > 8 || acount > 8) { - - 00d47 83 bd a4 07 00 - 00 08 cmp DWORD PTR rcount$18[rbp], 8 - 00d4e 7f 1b jg SHORT $LN86@stbi__bmp_ - 00d50 83 bd c4 07 00 - 00 08 cmp DWORD PTR gcount$19[rbp], 8 - 00d57 7f 12 jg SHORT $LN86@stbi__bmp_ - 00d59 83 bd e4 07 00 - 00 08 cmp DWORD PTR bcount$20[rbp], 8 - 00d60 7f 09 jg SHORT $LN86@stbi__bmp_ - 00d62 83 bd 04 08 00 - 00 08 cmp DWORD PTR acount$21[rbp], 8 - 00d69 7e 3f jle SHORT $LN85@stbi__bmp_ -$LN86@stbi__bmp_: - -; 5983 : STBI_FREE(out); - - 00d6b 48 8b 4d 08 mov rcx, QWORD PTR out$[rbp] - 00d6f ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00d75 90 npad 1 - -; 5984 : return stbi__errpuc("bad masks", "Corrupt BMP"); - - 00d76 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_09DAEBACAB@bad?5masks@ - 00d7d e8 00 00 00 00 call stbi__err - 00d82 85 c0 test eax, eax - 00d84 74 0d je SHORT $LN123@stbi__bmp_ - 00d86 48 c7 85 f8 0c - 00 00 00 00 00 - 00 mov QWORD PTR tv474[rbp], 0 - 00d91 eb 0b jmp SHORT $LN124@stbi__bmp_ -$LN123@stbi__bmp_: - 00d93 48 c7 85 f8 0c - 00 00 00 00 00 - 00 mov QWORD PTR tv474[rbp], 0 -$LN124@stbi__bmp_: - 00d9e 48 8b 85 f8 0c - 00 00 mov rax, QWORD PTR tv474[rbp] - 00da5 e9 68 05 00 00 jmp $LN1@stbi__bmp_ -$LN85@stbi__bmp_: -$LN82@stbi__bmp_: - -; 5985 : } -; 5986 : } -; 5987 : for (j = 0; j < (int)s->img_y; ++j) { - - 00daa c7 85 24 05 00 - 00 00 00 00 00 mov DWORD PTR j$[rbp], 0 - 00db4 eb 0e jmp SHORT $LN19@stbi__bmp_ -$LN17@stbi__bmp_: - 00db6 8b 85 24 05 00 - 00 mov eax, DWORD PTR j$[rbp] - 00dbc ff c0 inc eax - 00dbe 89 85 24 05 00 - 00 mov DWORD PTR j$[rbp], eax -$LN19@stbi__bmp_: - 00dc4 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 00dcb 8b 40 04 mov eax, DWORD PTR [rax+4] - 00dce 39 85 24 05 00 - 00 cmp DWORD PTR j$[rbp], eax - 00dd4 0f 8d 12 03 00 - 00 jge $LN18@stbi__bmp_ - -; 5988 : if (easy) { - - 00dda 83 bd 44 08 00 - 00 00 cmp DWORD PTR easy$23[rbp], 0 - 00de1 0f 84 1b 01 00 - 00 je $LN87@stbi__bmp_ - -; 5989 : for (i = 0; i < (int)s->img_x; ++i) { - - 00de7 c7 85 04 05 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 00df1 eb 0e jmp SHORT $LN22@stbi__bmp_ -$LN20@stbi__bmp_: - 00df3 8b 85 04 05 00 - 00 mov eax, DWORD PTR i$[rbp] - 00df9 ff c0 inc eax - 00dfb 89 85 04 05 00 - 00 mov DWORD PTR i$[rbp], eax -$LN22@stbi__bmp_: - 00e01 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 00e08 8b 00 mov eax, DWORD PTR [rax] - 00e0a 39 85 04 05 00 - 00 cmp DWORD PTR i$[rbp], eax - 00e10 0f 8d e7 00 00 - 00 jge $LN21@stbi__bmp_ - -; 5990 : unsigned char a; -; 5991 : out[z + 2] = stbi__get8(s); - - 00e16 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 00e1d e8 00 00 00 00 call stbi__get8 - 00e22 8b 8d 24 08 00 - 00 mov ecx, DWORD PTR z$22[rbp] - 00e28 83 c1 02 add ecx, 2 - 00e2b 48 63 c9 movsxd rcx, ecx - 00e2e 48 8b 55 08 mov rdx, QWORD PTR out$[rbp] - 00e32 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 5992 : out[z + 1] = stbi__get8(s); - - 00e35 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 00e3c e8 00 00 00 00 call stbi__get8 - 00e41 8b 8d 24 08 00 - 00 mov ecx, DWORD PTR z$22[rbp] - 00e47 ff c1 inc ecx - 00e49 48 63 c9 movsxd rcx, ecx - 00e4c 48 8b 55 08 mov rdx, QWORD PTR out$[rbp] - 00e50 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 5993 : out[z + 0] = stbi__get8(s); - - 00e53 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 00e5a e8 00 00 00 00 call stbi__get8 - 00e5f 8b 8d 24 08 00 - 00 mov ecx, DWORD PTR z$22[rbp] - 00e65 48 63 c9 movsxd rcx, ecx - 00e68 48 8b 55 08 mov rdx, QWORD PTR out$[rbp] - 00e6c 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 5994 : z += 3; - - 00e6f 8b 85 24 08 00 - 00 mov eax, DWORD PTR z$22[rbp] - 00e75 83 c0 03 add eax, 3 - 00e78 89 85 24 08 00 - 00 mov DWORD PTR z$22[rbp], eax - -; 5995 : a = (easy == 2 ? stbi__get8(s) : 255); - - 00e7e 83 bd 44 08 00 - 00 02 cmp DWORD PTR easy$23[rbp], 2 - 00e85 75 17 jne SHORT $LN125@stbi__bmp_ - 00e87 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 00e8e e8 00 00 00 00 call stbi__get8 - 00e93 0f b6 c0 movzx eax, al - 00e96 89 85 f4 0c 00 - 00 mov DWORD PTR tv505[rbp], eax - 00e9c eb 0a jmp SHORT $LN126@stbi__bmp_ -$LN125@stbi__bmp_: - 00e9e c7 85 f4 0c 00 - 00 ff 00 00 00 mov DWORD PTR tv505[rbp], 255 ; 000000ffH -$LN126@stbi__bmp_: - 00ea8 0f b6 85 f4 0c - 00 00 movzx eax, BYTE PTR tv505[rbp] - 00eaf 88 85 64 08 00 - 00 mov BYTE PTR a$24[rbp], al - -; 5996 : all_a |= a; - - 00eb5 0f b6 85 64 08 - 00 00 movzx eax, BYTE PTR a$24[rbp] - 00ebc 8b 8d a4 00 00 - 00 mov ecx, DWORD PTR all_a$[rbp] - 00ec2 0b c8 or ecx, eax - 00ec4 8b c1 mov eax, ecx - 00ec6 89 85 a4 00 00 - 00 mov DWORD PTR all_a$[rbp], eax - -; 5997 : if (target == 4) - - 00ecc 83 bd a4 05 00 - 00 04 cmp DWORD PTR target$[rbp], 4 - 00ed3 75 23 jne SHORT $LN89@stbi__bmp_ - -; 5998 : out[z++] = a; - - 00ed5 48 63 85 24 08 - 00 00 movsxd rax, DWORD PTR z$22[rbp] - 00edc 48 8b 4d 08 mov rcx, QWORD PTR out$[rbp] - 00ee0 0f b6 95 64 08 - 00 00 movzx edx, BYTE PTR a$24[rbp] - 00ee7 88 14 01 mov BYTE PTR [rcx+rax], dl - 00eea 8b 85 24 08 00 - 00 mov eax, DWORD PTR z$22[rbp] - 00ef0 ff c0 inc eax - 00ef2 89 85 24 08 00 - 00 mov DWORD PTR z$22[rbp], eax -$LN89@stbi__bmp_: - -; 5999 : } - - 00ef8 e9 f6 fe ff ff jmp $LN20@stbi__bmp_ -$LN21@stbi__bmp_: - -; 6000 : } else { - - 00efd e9 d2 01 00 00 jmp $LN88@stbi__bmp_ -$LN87@stbi__bmp_: - -; 6001 : int bpp = info.bpp; - - 00f02 8b 85 c8 05 00 - 00 mov eax, DWORD PTR info$[rbp] - 00f08 89 85 84 08 00 - 00 mov DWORD PTR bpp$25[rbp], eax - -; 6002 : for (i = 0; i < (int)s->img_x; ++i) { - - 00f0e c7 85 04 05 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 00f18 eb 0e jmp SHORT $LN25@stbi__bmp_ -$LN23@stbi__bmp_: - 00f1a 8b 85 04 05 00 - 00 mov eax, DWORD PTR i$[rbp] - 00f20 ff c0 inc eax - 00f22 89 85 04 05 00 - 00 mov DWORD PTR i$[rbp], eax -$LN25@stbi__bmp_: - 00f28 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 00f2f 8b 00 mov eax, DWORD PTR [rax] - 00f31 39 85 04 05 00 - 00 cmp DWORD PTR i$[rbp], eax - 00f37 0f 8d 97 01 00 - 00 jge $LN24@stbi__bmp_ - -; 6003 : stbi__uint32 v = (bpp == 16 ? - - 00f3d 83 bd 84 08 00 - 00 10 cmp DWORD PTR bpp$25[rbp], 16 - 00f44 75 14 jne SHORT $LN127@stbi__bmp_ - 00f46 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 00f4d e8 00 00 00 00 call stbi__get16le - 00f52 89 85 f4 0c 00 - 00 mov DWORD PTR tv522[rbp], eax - 00f58 eb 12 jmp SHORT $LN128@stbi__bmp_ -$LN127@stbi__bmp_: - 00f5a 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 00f61 e8 00 00 00 00 call stbi__get32le - 00f66 89 85 f4 0c 00 - 00 mov DWORD PTR tv522[rbp], eax -$LN128@stbi__bmp_: - 00f6c 8b 85 f4 0c 00 - 00 mov eax, DWORD PTR tv522[rbp] - 00f72 89 85 a4 08 00 - 00 mov DWORD PTR v$26[rbp], eax - -; 6004 : (stbi__uint32)stbi__get16le(s) : -; 6005 : stbi__get32le(s)); -; 6006 : unsigned int a; -; 6007 : out[z++] = STBI__BYTECAST( - - 00f78 8b 45 24 mov eax, DWORD PTR mr$[rbp] - 00f7b 8b 8d a4 08 00 - 00 mov ecx, DWORD PTR v$26[rbp] - 00f81 23 c8 and ecx, eax - 00f83 8b c1 mov eax, ecx - 00f85 44 8b 85 a4 07 - 00 00 mov r8d, DWORD PTR rcount$18[rbp] - 00f8c 8b 95 24 07 00 - 00 mov edx, DWORD PTR rshift$14[rbp] - 00f92 8b c8 mov ecx, eax - 00f94 e8 00 00 00 00 call stbi__shiftsigned - 00f99 25 ff 00 00 00 and eax, 255 ; 000000ffH - 00f9e 48 63 8d 24 08 - 00 00 movsxd rcx, DWORD PTR z$22[rbp] - 00fa5 48 8b 55 08 mov rdx, QWORD PTR out$[rbp] - 00fa9 88 04 0a mov BYTE PTR [rdx+rcx], al - 00fac 8b 85 24 08 00 - 00 mov eax, DWORD PTR z$22[rbp] - 00fb2 ff c0 inc eax - 00fb4 89 85 24 08 00 - 00 mov DWORD PTR z$22[rbp], eax - -; 6008 : stbi__shiftsigned(v & mr, rshift, rcount)); -; 6009 : out[z++] = STBI__BYTECAST( - - 00fba 8b 45 44 mov eax, DWORD PTR mg$[rbp] - 00fbd 8b 8d a4 08 00 - 00 mov ecx, DWORD PTR v$26[rbp] - 00fc3 23 c8 and ecx, eax - 00fc5 8b c1 mov eax, ecx - 00fc7 44 8b 85 c4 07 - 00 00 mov r8d, DWORD PTR gcount$19[rbp] - 00fce 8b 95 44 07 00 - 00 mov edx, DWORD PTR gshift$15[rbp] - 00fd4 8b c8 mov ecx, eax - 00fd6 e8 00 00 00 00 call stbi__shiftsigned - 00fdb 25 ff 00 00 00 and eax, 255 ; 000000ffH - 00fe0 48 63 8d 24 08 - 00 00 movsxd rcx, DWORD PTR z$22[rbp] - 00fe7 48 8b 55 08 mov rdx, QWORD PTR out$[rbp] - 00feb 88 04 0a mov BYTE PTR [rdx+rcx], al - 00fee 8b 85 24 08 00 - 00 mov eax, DWORD PTR z$22[rbp] - 00ff4 ff c0 inc eax - 00ff6 89 85 24 08 00 - 00 mov DWORD PTR z$22[rbp], eax - -; 6010 : stbi__shiftsigned(v & mg, gshift, gcount)); -; 6011 : out[z++] = STBI__BYTECAST( - - 00ffc 8b 45 64 mov eax, DWORD PTR mb$[rbp] - 00fff 8b 8d a4 08 00 - 00 mov ecx, DWORD PTR v$26[rbp] - 01005 23 c8 and ecx, eax - 01007 8b c1 mov eax, ecx - 01009 44 8b 85 e4 07 - 00 00 mov r8d, DWORD PTR bcount$20[rbp] - 01010 8b 95 64 07 00 - 00 mov edx, DWORD PTR bshift$16[rbp] - 01016 8b c8 mov ecx, eax - 01018 e8 00 00 00 00 call stbi__shiftsigned - 0101d 25 ff 00 00 00 and eax, 255 ; 000000ffH - 01022 48 63 8d 24 08 - 00 00 movsxd rcx, DWORD PTR z$22[rbp] - 01029 48 8b 55 08 mov rdx, QWORD PTR out$[rbp] - 0102d 88 04 0a mov BYTE PTR [rdx+rcx], al - 01030 8b 85 24 08 00 - 00 mov eax, DWORD PTR z$22[rbp] - 01036 ff c0 inc eax - 01038 89 85 24 08 00 - 00 mov DWORD PTR z$22[rbp], eax - -; 6012 : stbi__shiftsigned(v & mb, bshift, bcount)); -; 6013 : a = (ma ? stbi__shiftsigned(v & ma, ashift, acount) : 255); - - 0103e 83 bd 84 00 00 - 00 00 cmp DWORD PTR ma$[rbp], 0 - 01045 74 2c je SHORT $LN129@stbi__bmp_ - 01047 8b 85 84 00 00 - 00 mov eax, DWORD PTR ma$[rbp] - 0104d 8b 8d a4 08 00 - 00 mov ecx, DWORD PTR v$26[rbp] - 01053 23 c8 and ecx, eax - 01055 8b c1 mov eax, ecx - 01057 44 8b 85 04 08 - 00 00 mov r8d, DWORD PTR acount$21[rbp] - 0105e 8b 95 84 07 00 - 00 mov edx, DWORD PTR ashift$17[rbp] - 01064 8b c8 mov ecx, eax - 01066 e8 00 00 00 00 call stbi__shiftsigned - 0106b 89 85 f4 0c 00 - 00 mov DWORD PTR tv562[rbp], eax - 01071 eb 0a jmp SHORT $LN130@stbi__bmp_ -$LN129@stbi__bmp_: - 01073 c7 85 f4 0c 00 - 00 ff 00 00 00 mov DWORD PTR tv562[rbp], 255 ; 000000ffH -$LN130@stbi__bmp_: - 0107d 8b 85 f4 0c 00 - 00 mov eax, DWORD PTR tv562[rbp] - 01083 89 85 c4 08 00 - 00 mov DWORD PTR a$27[rbp], eax - -; 6014 : all_a |= a; - - 01089 8b 85 c4 08 00 - 00 mov eax, DWORD PTR a$27[rbp] - 0108f 8b 8d a4 00 00 - 00 mov ecx, DWORD PTR all_a$[rbp] - 01095 0b c8 or ecx, eax - 01097 8b c1 mov eax, ecx - 01099 89 85 a4 00 00 - 00 mov DWORD PTR all_a$[rbp], eax - -; 6015 : if (target == 4) - - 0109f 83 bd a4 05 00 - 00 04 cmp DWORD PTR target$[rbp], 4 - 010a6 75 27 jne SHORT $LN90@stbi__bmp_ - -; 6016 : out[z++] = STBI__BYTECAST(a); - - 010a8 8b 85 c4 08 00 - 00 mov eax, DWORD PTR a$27[rbp] - 010ae 25 ff 00 00 00 and eax, 255 ; 000000ffH - 010b3 48 63 8d 24 08 - 00 00 movsxd rcx, DWORD PTR z$22[rbp] - 010ba 48 8b 55 08 mov rdx, QWORD PTR out$[rbp] - 010be 88 04 0a mov BYTE PTR [rdx+rcx], al - 010c1 8b 85 24 08 00 - 00 mov eax, DWORD PTR z$22[rbp] - 010c7 ff c0 inc eax - 010c9 89 85 24 08 00 - 00 mov DWORD PTR z$22[rbp], eax -$LN90@stbi__bmp_: - -; 6017 : } - - 010cf e9 46 fe ff ff jmp $LN23@stbi__bmp_ -$LN24@stbi__bmp_: -$LN88@stbi__bmp_: - -; 6018 : } -; 6019 : stbi__skip(s, pad); - - 010d4 8b 95 84 05 00 - 00 mov edx, DWORD PTR pad$[rbp] - 010da 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 010e1 e8 00 00 00 00 call stbi__skip - 010e6 90 npad 1 - -; 6020 : } - - 010e7 e9 ca fc ff ff jmp $LN17@stbi__bmp_ -$LN18@stbi__bmp_: -$LN55@stbi__bmp_: - -; 6021 : } -; 6022 : -; 6023 : // if alpha channel is all 0s, replace with all 255s -; 6024 : if (target == 4 && all_a == 0) - - 010ec 83 bd a4 05 00 - 00 04 cmp DWORD PTR target$[rbp], 4 - 010f3 75 53 jne SHORT $LN91@stbi__bmp_ - 010f5 83 bd a4 00 00 - 00 00 cmp DWORD PTR all_a$[rbp], 0 - 010fc 75 4a jne SHORT $LN91@stbi__bmp_ - -; 6025 : for (i = 4 * s->img_x * s->img_y - 1; i >= 0; i -= 4) - - 010fe 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 01105 8b 00 mov eax, DWORD PTR [rax] - 01107 c1 e0 02 shl eax, 2 - 0110a 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 01111 0f af 41 04 imul eax, DWORD PTR [rcx+4] - 01115 ff c8 dec eax - 01117 89 85 04 05 00 - 00 mov DWORD PTR i$[rbp], eax - 0111d eb 0f jmp SHORT $LN28@stbi__bmp_ -$LN26@stbi__bmp_: - 0111f 8b 85 04 05 00 - 00 mov eax, DWORD PTR i$[rbp] - 01125 83 e8 04 sub eax, 4 - 01128 89 85 04 05 00 - 00 mov DWORD PTR i$[rbp], eax -$LN28@stbi__bmp_: - 0112e 83 bd 04 05 00 - 00 00 cmp DWORD PTR i$[rbp], 0 - 01135 7c 11 jl SHORT $LN27@stbi__bmp_ - -; 6026 : out[i] = 255; - - 01137 48 63 85 04 05 - 00 00 movsxd rax, DWORD PTR i$[rbp] - 0113e 48 8b 4d 08 mov rcx, QWORD PTR out$[rbp] - 01142 c6 04 01 ff mov BYTE PTR [rcx+rax], 255 ; 000000ffH - 01146 eb d7 jmp SHORT $LN26@stbi__bmp_ -$LN27@stbi__bmp_: -$LN91@stbi__bmp_: - -; 6027 : -; 6028 : if (flip_vertically) { - - 01148 83 bd 64 05 00 - 00 00 cmp DWORD PTR flip_vertically$[rbp], 0 - 0114f 0f 84 21 01 00 - 00 je $LN92@stbi__bmp_ - -; 6029 : stbi_uc t; -; 6030 : for (j = 0; j < (int)s->img_y >> 1; ++j) { - - 01155 c7 85 24 05 00 - 00 00 00 00 00 mov DWORD PTR j$[rbp], 0 - 0115f eb 0e jmp SHORT $LN31@stbi__bmp_ -$LN29@stbi__bmp_: - 01161 8b 85 24 05 00 - 00 mov eax, DWORD PTR j$[rbp] - 01167 ff c0 inc eax - 01169 89 85 24 05 00 - 00 mov DWORD PTR j$[rbp], eax -$LN31@stbi__bmp_: - 0116f 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 01176 8b 40 04 mov eax, DWORD PTR [rax+4] - 01179 d1 f8 sar eax, 1 - 0117b 39 85 24 05 00 - 00 cmp DWORD PTR j$[rbp], eax - 01181 0f 8d ef 00 00 - 00 jge $LN30@stbi__bmp_ - -; 6031 : stbi_uc *p1 = out + j * s->img_x * target; - - 01187 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 0118e 8b 8d 24 05 00 - 00 mov ecx, DWORD PTR j$[rbp] - 01194 0f af 08 imul ecx, DWORD PTR [rax] - 01197 8b c1 mov eax, ecx - 01199 0f af 85 a4 05 - 00 00 imul eax, DWORD PTR target$[rbp] - 011a0 8b c0 mov eax, eax - 011a2 48 8b 4d 08 mov rcx, QWORD PTR out$[rbp] - 011a6 48 03 c8 add rcx, rax - 011a9 48 8b c1 mov rax, rcx - 011ac 48 89 85 08 09 - 00 00 mov QWORD PTR p1$29[rbp], rax - -; 6032 : stbi_uc *p2 = out + (s->img_y - 1 - j) * s->img_x * target; - - 011b3 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 011ba 8b 40 04 mov eax, DWORD PTR [rax+4] - 011bd ff c8 dec eax - 011bf 2b 85 24 05 00 - 00 sub eax, DWORD PTR j$[rbp] - 011c5 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 011cc 0f af 01 imul eax, DWORD PTR [rcx] - 011cf 0f af 85 a4 05 - 00 00 imul eax, DWORD PTR target$[rbp] - 011d6 8b c0 mov eax, eax - 011d8 48 8b 4d 08 mov rcx, QWORD PTR out$[rbp] - 011dc 48 03 c8 add rcx, rax - 011df 48 8b c1 mov rax, rcx - 011e2 48 89 85 28 09 - 00 00 mov QWORD PTR p2$30[rbp], rax - -; 6033 : for (i = 0; i < (int)s->img_x * target; ++i) { - - 011e9 c7 85 04 05 00 - 00 00 00 00 00 mov DWORD PTR i$[rbp], 0 - 011f3 eb 0e jmp SHORT $LN34@stbi__bmp_ -$LN32@stbi__bmp_: - 011f5 8b 85 04 05 00 - 00 mov eax, DWORD PTR i$[rbp] - 011fb ff c0 inc eax - 011fd 89 85 04 05 00 - 00 mov DWORD PTR i$[rbp], eax -$LN34@stbi__bmp_: - 01203 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 0120a 8b 00 mov eax, DWORD PTR [rax] - 0120c 0f af 85 a4 05 - 00 00 imul eax, DWORD PTR target$[rbp] - 01213 39 85 04 05 00 - 00 cmp DWORD PTR i$[rbp], eax - 01219 7d 56 jge SHORT $LN33@stbi__bmp_ - -; 6034 : t = p1[i]; - - 0121b 48 63 85 04 05 - 00 00 movsxd rax, DWORD PTR i$[rbp] - 01222 48 8b 8d 08 09 - 00 00 mov rcx, QWORD PTR p1$29[rbp] - 01229 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] - 0122d 88 85 e4 08 00 - 00 mov BYTE PTR t$28[rbp], al - -; 6035 : p1[i] = p2[i]; - - 01233 48 63 85 04 05 - 00 00 movsxd rax, DWORD PTR i$[rbp] - 0123a 48 63 8d 04 05 - 00 00 movsxd rcx, DWORD PTR i$[rbp] - 01241 48 8b 95 08 09 - 00 00 mov rdx, QWORD PTR p1$29[rbp] - 01248 4c 8b 85 28 09 - 00 00 mov r8, QWORD PTR p2$30[rbp] - 0124f 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] - 01254 88 04 0a mov BYTE PTR [rdx+rcx], al - -; 6036 : p2[i] = t; - - 01257 48 63 85 04 05 - 00 00 movsxd rax, DWORD PTR i$[rbp] - 0125e 48 8b 8d 28 09 - 00 00 mov rcx, QWORD PTR p2$30[rbp] - 01265 0f b6 95 e4 08 - 00 00 movzx edx, BYTE PTR t$28[rbp] - 0126c 88 14 01 mov BYTE PTR [rcx+rax], dl - -; 6037 : } - - 0126f eb 84 jmp SHORT $LN32@stbi__bmp_ -$LN33@stbi__bmp_: - -; 6038 : } - - 01271 e9 eb fe ff ff jmp $LN29@stbi__bmp_ -$LN30@stbi__bmp_: -$LN92@stbi__bmp_: - -; 6039 : } -; 6040 : -; 6041 : if (req_comp && req_comp != target) { - - 01276 83 bd 50 0d 00 - 00 00 cmp DWORD PTR req_comp$[rbp], 0 - 0127d 74 4d je SHORT $LN93@stbi__bmp_ - 0127f 8b 85 a4 05 00 - 00 mov eax, DWORD PTR target$[rbp] - 01285 39 85 50 0d 00 - 00 cmp DWORD PTR req_comp$[rbp], eax - 0128b 74 3f je SHORT $LN93@stbi__bmp_ - -; 6042 : out = stbi__convert_format(out, target, req_comp, s->img_x, s->img_y); - - 0128d 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 01294 8b 40 04 mov eax, DWORD PTR [rax+4] - 01297 89 44 24 20 mov DWORD PTR [rsp+32], eax - 0129b 48 8b 85 30 0d - 00 00 mov rax, QWORD PTR s$[rbp] - 012a2 44 8b 08 mov r9d, DWORD PTR [rax] - 012a5 44 8b 85 50 0d - 00 00 mov r8d, DWORD PTR req_comp$[rbp] - 012ac 8b 95 a4 05 00 - 00 mov edx, DWORD PTR target$[rbp] - 012b2 48 8b 4d 08 mov rcx, QWORD PTR out$[rbp] - 012b6 e8 00 00 00 00 call stbi__convert_format - 012bb 48 89 45 08 mov QWORD PTR out$[rbp], rax - -; 6043 : if (out == NULL) - - 012bf 48 83 7d 08 00 cmp QWORD PTR out$[rbp], 0 - 012c4 75 06 jne SHORT $LN94@stbi__bmp_ - -; 6044 : return out; // stbi__convert_format frees input on failure - - 012c6 48 8b 45 08 mov rax, QWORD PTR out$[rbp] - 012ca eb 46 jmp SHORT $LN1@stbi__bmp_ -$LN94@stbi__bmp_: -$LN93@stbi__bmp_: - -; 6045 : } -; 6046 : -; 6047 : *x = s->img_x; - - 012cc 48 8b 85 38 0d - 00 00 mov rax, QWORD PTR x$[rbp] - 012d3 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 012da 8b 09 mov ecx, DWORD PTR [rcx] - 012dc 89 08 mov DWORD PTR [rax], ecx - -; 6048 : *y = s->img_y; - - 012de 48 8b 85 40 0d - 00 00 mov rax, QWORD PTR y$[rbp] - 012e5 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 012ec 8b 49 04 mov ecx, DWORD PTR [rcx+4] - 012ef 89 08 mov DWORD PTR [rax], ecx - -; 6049 : if (comp) - - 012f1 48 83 bd 48 0d - 00 00 00 cmp QWORD PTR comp$[rbp], 0 - 012f9 74 13 je SHORT $LN95@stbi__bmp_ - -; 6050 : *comp = s->img_n; - - 012fb 48 8b 85 48 0d - 00 00 mov rax, QWORD PTR comp$[rbp] - 01302 48 8b 8d 30 0d - 00 00 mov rcx, QWORD PTR s$[rbp] - 01309 8b 49 08 mov ecx, DWORD PTR [rcx+8] - 0130c 89 08 mov DWORD PTR [rax], ecx -$LN95@stbi__bmp_: - -; 6051 : return out; - - 0130e 48 8b 45 08 mov rax, QWORD PTR out$[rbp] -$LN1@stbi__bmp_: - -; 6052 : } - - 01312 48 8b f8 mov rdi, rax - 01315 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 01319 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__bmp_load$rtcFrameData - 01320 e8 00 00 00 00 call _RTC_CheckStackVars - 01325 48 8b c7 mov rax, rdi - 01328 48 8b 8d 00 0d - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 0132f 48 33 cd xor rcx, rbp - 01332 e8 00 00 00 00 call __security_check_cookie - 01337 48 8d a5 18 0d - 00 00 lea rsp, QWORD PTR [rbp+3352] - 0133e 5f pop rdi - 0133f 5d pop rbp - 01340 c3 ret 0 -stbi__bmp_load ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__bmp_test -_TEXT SEGMENT -r$ = 4 -s$ = 256 -stbi__bmp_test PROC ; COMDAT - -; 5603 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 5604 : int r = stbi__bmp_test_raw(s); - - 00020 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00027 e8 00 00 00 00 call stbi__bmp_test_raw - 0002c 89 45 04 mov DWORD PTR r$[rbp], eax - -; 5605 : stbi__rewind(s); - - 0002f 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00036 e8 00 00 00 00 call stbi__rewind - 0003b 90 npad 1 - -; 5606 : return r; - - 0003c 8b 45 04 mov eax, DWORD PTR r$[rbp] - -; 5607 : } - - 0003f 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 00046 5f pop rdi - 00047 5d pop rbp - 00048 c3 ret 0 -stbi__bmp_test ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__png_is16 -_TEXT SEGMENT -p$ = 8 -__$ArrayPad$ = 248 -s$ = 288 -stbi__png_is16 PROC ; COMDAT - -; 5569 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 28 01 - 00 00 sub rsp, 296 ; 00000128H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 00018 b9 12 00 00 00 mov ecx, 18 - 0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00022 f3 ab rep stosd - 00024 48 8b 8c 24 48 - 01 00 00 mov rcx, QWORD PTR [rsp+328] - 0002c 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00033 48 33 c5 xor rax, rbp - 00036 48 89 85 f8 00 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0003d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00049 90 npad 1 - -; 5570 : stbi__png p; -; 5571 : p.s = s; - - 0004a 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00051 48 89 45 08 mov QWORD PTR p$[rbp], rax - -; 5572 : if (!stbi__png_info_raw(&p, NULL, NULL, NULL)) - - 00055 45 33 c9 xor r9d, r9d - 00058 45 33 c0 xor r8d, r8d - 0005b 33 d2 xor edx, edx - 0005d 48 8d 4d 08 lea rcx, QWORD PTR p$[rbp] - 00061 e8 00 00 00 00 call stbi__png_info_raw - 00066 85 c0 test eax, eax - 00068 75 04 jne SHORT $LN2@stbi__png_ - -; 5573 : return 0; - - 0006a 33 c0 xor eax, eax - 0006c eb 19 jmp SHORT $LN1@stbi__png_ -$LN2@stbi__png_: - -; 5574 : if (p.depth != 16) { - - 0006e 83 7d 28 10 cmp DWORD PTR p$[rbp+32], 16 - 00072 74 0e je SHORT $LN3@stbi__png_ - -; 5575 : stbi__rewind(p.s); - - 00074 48 8b 4d 08 mov rcx, QWORD PTR p$[rbp] - 00078 e8 00 00 00 00 call stbi__rewind - 0007d 90 npad 1 - -; 5576 : return 0; - - 0007e 33 c0 xor eax, eax - 00080 eb 05 jmp SHORT $LN1@stbi__png_ -$LN3@stbi__png_: - -; 5577 : } -; 5578 : return 1; - - 00082 b8 01 00 00 00 mov eax, 1 -$LN1@stbi__png_: - -; 5579 : } - - 00087 48 8b f8 mov rdi, rax - 0008a 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 0008e 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__png_is16$rtcFrameData - 00095 e8 00 00 00 00 call _RTC_CheckStackVars - 0009a 48 8b c7 mov rax, rdi - 0009d 48 8b 8d f8 00 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 000a4 48 33 cd xor rcx, rbp - 000a7 e8 00 00 00 00 call __security_check_cookie - 000ac 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 000b3 5f pop rdi - 000b4 5d pop rbp - 000b5 c3 ret 0 -stbi__png_is16 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__png_info -_TEXT SEGMENT -p$ = 8 -__$ArrayPad$ = 248 -s$ = 288 -x$ = 296 -y$ = 304 -comp$ = 312 -stbi__png_info PROC ; COMDAT - -; 5562 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 28 01 - 00 00 sub rsp, 296 ; 00000128H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 00027 b9 12 00 00 00 mov ecx, 18 - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 48 - 01 00 00 mov rcx, QWORD PTR [rsp+328] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 f8 00 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 5563 : stbi__png p; -; 5564 : p.s = s; - - 00059 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00060 48 89 45 08 mov QWORD PTR p$[rbp], rax - -; 5565 : return stbi__png_info_raw(&p, x, y, comp); - - 00064 4c 8b 8d 38 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 0006b 4c 8b 85 30 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 00072 48 8b 95 28 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 00079 48 8d 4d 08 lea rcx, QWORD PTR p$[rbp] - 0007d e8 00 00 00 00 call stbi__png_info_raw - -; 5566 : } - - 00082 48 8b f8 mov rdi, rax - 00085 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 00089 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__png_info$rtcFrameData - 00090 e8 00 00 00 00 call _RTC_CheckStackVars - 00095 48 8b c7 mov rax, rdi - 00098 48 8b 8d f8 00 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 0009f 48 33 cd xor rcx, rbp - 000a2 e8 00 00 00 00 call __security_check_cookie - 000a7 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 000ae 5f pop rdi - 000af 5d pop rbp - 000b0 c3 ret 0 -stbi__png_info ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__png_load -_TEXT SEGMENT -p$ = 8 -__$ArrayPad$ = 248 -s$ = 288 -x$ = 296 -y$ = 304 -comp$ = 312 -req_comp$ = 320 -ri$ = 328 -stbi__png_load PROC ; COMDAT - -; 5532 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 38 01 - 00 00 sub rsp, 312 ; 00000138H - 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00022 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 00027 b9 12 00 00 00 mov ecx, 18 - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 58 - 01 00 00 mov rcx, QWORD PTR [rsp+344] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 f8 00 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 5533 : stbi__png p; -; 5534 : p.s = s; - - 00059 48 8b 85 20 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00060 48 89 45 08 mov QWORD PTR p$[rbp], rax - -; 5535 : return stbi__do_png(&p, x, y, comp, req_comp, ri); - - 00064 48 8b 85 48 01 - 00 00 mov rax, QWORD PTR ri$[rbp] - 0006b 48 89 44 24 28 mov QWORD PTR [rsp+40], rax - 00070 8b 85 40 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 00076 89 44 24 20 mov DWORD PTR [rsp+32], eax - 0007a 4c 8b 8d 38 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00081 4c 8b 85 30 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 00088 48 8b 95 28 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 0008f 48 8d 4d 08 lea rcx, QWORD PTR p$[rbp] - 00093 e8 00 00 00 00 call stbi__do_png - -; 5536 : } - - 00098 48 8b f8 mov rdi, rax - 0009b 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 0009f 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__png_load$rtcFrameData - 000a6 e8 00 00 00 00 call _RTC_CheckStackVars - 000ab 48 8b c7 mov rax, rdi - 000ae 48 8b 8d f8 00 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 000b5 48 33 cd xor rcx, rbp - 000b8 e8 00 00 00 00 call __security_check_cookie - 000bd 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 000c4 5f pop rdi - 000c5 5d pop rbp - 000c6 c3 ret 0 -stbi__png_load ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__png_test -_TEXT SEGMENT -r$ = 4 -s$ = 256 -stbi__png_test PROC ; COMDAT - -; 5539 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 5540 : int r; -; 5541 : r = stbi__check_png_header(s); - - 00020 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00027 e8 00 00 00 00 call stbi__check_png_header - 0002c 89 45 04 mov DWORD PTR r$[rbp], eax - -; 5542 : stbi__rewind(s); - - 0002f 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00036 e8 00 00 00 00 call stbi__rewind - 0003b 90 npad 1 - -; 5543 : return r; - - 0003c 8b 45 04 mov eax, DWORD PTR r$[rbp] - -; 5544 : } - - 0003f 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 00046 5f pop rdi - 00047 5d pop rbp - 00048 c3 ret 0 -stbi__png_test ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__jpeg_info -_TEXT SEGMENT -result$ = 4 -j$ = 40 -s$ = 288 -x$ = 296 -y$ = 304 -comp$ = 312 -stbi__jpeg_info PROC ; COMDAT - -; 4053 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 28 01 - 00 00 sub rsp, 296 ; 00000128H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 4054 : int result; -; 4055 : stbi__jpeg *j = (stbi__jpeg *)(stbi__malloc(sizeof(stbi__jpeg))); - - 0002f b9 88 48 00 00 mov ecx, 18568 ; 00004888H - 00034 e8 00 00 00 00 call stbi__malloc - 00039 48 89 45 28 mov QWORD PTR j$[rbp], rax - -; 4056 : if (!j) - - 0003d 48 83 7d 28 00 cmp QWORD PTR j$[rbp], 0 - 00042 75 0e jne SHORT $LN2@stbi__jpeg - -; 4057 : return stbi__err("outofmem", "Out of memory"); - - 00044 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 0004b e8 00 00 00 00 call stbi__err - 00050 eb 4f jmp SHORT $LN1@stbi__jpeg -$LN2@stbi__jpeg: - -; 4058 : memset(j, 0, sizeof(stbi__jpeg)); - - 00052 41 b8 88 48 00 - 00 mov r8d, 18568 ; 00004888H - 00058 33 d2 xor edx, edx - 0005a 48 8b 4d 28 mov rcx, QWORD PTR j$[rbp] - 0005e e8 00 00 00 00 call memset - 00063 90 npad 1 - -; 4059 : j->s = s; - - 00064 48 8b 45 28 mov rax, QWORD PTR j$[rbp] - 00068 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0006f 48 89 08 mov QWORD PTR [rax], rcx - -; 4060 : result = stbi__jpeg_info_raw(j, x, y, comp); - - 00072 4c 8b 8d 38 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00079 4c 8b 85 30 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 00080 48 8b 95 28 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 00087 48 8b 4d 28 mov rcx, QWORD PTR j$[rbp] - 0008b e8 00 00 00 00 call stbi__jpeg_info_raw - 00090 89 45 04 mov DWORD PTR result$[rbp], eax - -; 4061 : STBI_FREE(j); - - 00093 48 8b 4d 28 mov rcx, QWORD PTR j$[rbp] - 00097 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 0009d 90 npad 1 - -; 4062 : return result; - - 0009e 8b 45 04 mov eax, DWORD PTR result$[rbp] -$LN1@stbi__jpeg: - -; 4063 : } - - 000a1 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 000a8 5f pop rdi - 000a9 5d pop rbp - 000aa c3 ret 0 -stbi__jpeg_info ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__jpeg_load -_TEXT SEGMENT -result$ = 8 -j$ = 40 -tv70 = 248 -s$ = 288 -x$ = 296 -y$ = 304 -comp$ = 312 -req_comp$ = 320 -ri$ = 328 -stbi__jpeg_load PROC ; COMDAT - -; 4008 : { - - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 38 01 - 00 00 sub rsp, 312 ; 00000138H - 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 4009 : unsigned char *result; -; 4010 : stbi__jpeg *j = (stbi__jpeg *)stbi__malloc(sizeof(stbi__jpeg)); - - 0002f b9 88 48 00 00 mov ecx, 18568 ; 00004888H - 00034 e8 00 00 00 00 call stbi__malloc - 00039 48 89 45 28 mov QWORD PTR j$[rbp], rax - -; 4011 : if (!j) - - 0003d 48 83 7d 28 00 cmp QWORD PTR j$[rbp], 0 - 00042 75 31 jne SHORT $LN2@stbi__jpeg - -; 4012 : return stbi__errpuc("outofmem", "Out of memory"); - - 00044 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 0004b e8 00 00 00 00 call stbi__err - 00050 85 c0 test eax, eax - 00052 74 0d je SHORT $LN4@stbi__jpeg - 00054 48 c7 85 f8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv70[rbp], 0 - 0005f eb 0b jmp SHORT $LN5@stbi__jpeg -$LN4@stbi__jpeg: - 00061 48 c7 85 f8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv70[rbp], 0 -$LN5@stbi__jpeg: - 0006c 48 8b 85 f8 00 - 00 00 mov rax, QWORD PTR tv70[rbp] - 00073 eb 65 jmp SHORT $LN1@stbi__jpeg -$LN2@stbi__jpeg: - -; 4013 : memset(j, 0, sizeof(stbi__jpeg)); - - 00075 41 b8 88 48 00 - 00 mov r8d, 18568 ; 00004888H - 0007b 33 d2 xor edx, edx - 0007d 48 8b 4d 28 mov rcx, QWORD PTR j$[rbp] - 00081 e8 00 00 00 00 call memset - 00086 90 npad 1 - -; 4014 : STBI_NOTUSED(ri); -; 4015 : j->s = s; - - 00087 48 8b 45 28 mov rax, QWORD PTR j$[rbp] - 0008b 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00092 48 89 08 mov QWORD PTR [rax], rcx - -; 4016 : stbi__setup_jpeg(j); - - 00095 48 8b 4d 28 mov rcx, QWORD PTR j$[rbp] - 00099 e8 00 00 00 00 call stbi__setup_jpeg - 0009e 90 npad 1 - -; 4017 : result = load_jpeg_image(j, x, y, comp, req_comp); - - 0009f 8b 85 40 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 000a5 89 44 24 20 mov DWORD PTR [rsp+32], eax - 000a9 4c 8b 8d 38 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 000b0 4c 8b 85 30 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 000b7 48 8b 95 28 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 000be 48 8b 4d 28 mov rcx, QWORD PTR j$[rbp] - 000c2 e8 00 00 00 00 call load_jpeg_image - 000c7 48 89 45 08 mov QWORD PTR result$[rbp], rax - -; 4018 : STBI_FREE(j); - - 000cb 48 8b 4d 28 mov rcx, QWORD PTR j$[rbp] - 000cf ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 000d5 90 npad 1 - -; 4019 : return result; - - 000d6 48 8b 45 08 mov rax, QWORD PTR result$[rbp] -$LN1@stbi__jpeg: - -; 4020 : } - - 000da 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 000e1 5f pop rdi - 000e2 5d pop rbp - 000e3 c3 ret 0 -stbi__jpeg_load ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__jpeg_test -_TEXT SEGMENT -r$ = 4 -j$ = 40 -s$ = 288 -stbi__jpeg_test PROC ; COMDAT - -; 4023 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 28 01 - 00 00 sub rsp, 296 ; 00000128H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 4024 : int r; -; 4025 : stbi__jpeg *j = (stbi__jpeg *)stbi__malloc(sizeof(stbi__jpeg)); - - 00020 b9 88 48 00 00 mov ecx, 18568 ; 00004888H - 00025 e8 00 00 00 00 call stbi__malloc - 0002a 48 89 45 28 mov QWORD PTR j$[rbp], rax - -; 4026 : if (!j) - - 0002e 48 83 7d 28 00 cmp QWORD PTR j$[rbp], 0 - 00033 75 0e jne SHORT $LN2@stbi__jpeg - -; 4027 : return stbi__err("outofmem", "Out of memory"); - - 00035 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_08NOGIMCHF@outofmem@ - 0003c e8 00 00 00 00 call stbi__err - 00041 eb 56 jmp SHORT $LN1@stbi__jpeg -$LN2@stbi__jpeg: - -; 4028 : memset(j, 0, sizeof(stbi__jpeg)); - - 00043 41 b8 88 48 00 - 00 mov r8d, 18568 ; 00004888H - 00049 33 d2 xor edx, edx - 0004b 48 8b 4d 28 mov rcx, QWORD PTR j$[rbp] - 0004f e8 00 00 00 00 call memset - 00054 90 npad 1 - -; 4029 : j->s = s; - - 00055 48 8b 45 28 mov rax, QWORD PTR j$[rbp] - 00059 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00060 48 89 08 mov QWORD PTR [rax], rcx - -; 4030 : stbi__setup_jpeg(j); - - 00063 48 8b 4d 28 mov rcx, QWORD PTR j$[rbp] - 00067 e8 00 00 00 00 call stbi__setup_jpeg - 0006c 90 npad 1 - -; 4031 : r = stbi__decode_jpeg_header(j, STBI__SCAN_type); - - 0006d ba 01 00 00 00 mov edx, 1 - 00072 48 8b 4d 28 mov rcx, QWORD PTR j$[rbp] - 00076 e8 00 00 00 00 call stbi__decode_jpeg_header - 0007b 89 45 04 mov DWORD PTR r$[rbp], eax - -; 4032 : stbi__rewind(s); - - 0007e 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00085 e8 00 00 00 00 call stbi__rewind - 0008a 90 npad 1 - -; 4033 : STBI_FREE(j); - - 0008b 48 8b 4d 28 mov rcx, QWORD PTR j$[rbp] - 0008f ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00095 90 npad 1 - -; 4034 : return r; - - 00096 8b 45 04 mov eax, DWORD PTR r$[rbp] -$LN1@stbi__jpeg: - -; 4035 : } - - 00099 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 000a0 5f pop rdi - 000a1 5d pop rbp - 000a2 c3 ret 0 -stbi__jpeg_test ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__rewind -_TEXT SEGMENT -s$ = 224 -stbi__rewind PROC ; COMDAT - -; 339 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 340 : // conceptually rewind SHOULD rewind to the beginning of the stream, -; 341 : // but we just rewind to the beginning of the initial buffer, because -; 342 : // we only use it after doing 'test', which only ever looks at at most 92 bytes -; 343 : s->img_buffer = s->img_buffer_original; - - 00020 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 00027 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0002e 48 8b 89 d0 00 - 00 00 mov rcx, QWORD PTR [rcx+208] - 00035 48 89 88 c0 00 - 00 00 mov QWORD PTR [rax+192], rcx - -; 344 : s->img_buffer_end = s->img_buffer_original_end; - - 0003c 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 00043 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0004a 48 8b 89 d8 00 - 00 00 mov rcx, QWORD PTR [rcx+216] - 00051 48 89 88 c8 00 - 00 00 mov QWORD PTR [rax+200], rcx - -; 345 : } - - 00058 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 0005f 5f pop rdi - 00060 5d pop rbp - 00061 c3 ret 0 -stbi__rewind ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__start_file -_TEXT SEGMENT -s$ = 224 -f$ = 232 -stbi__start_file PROC ; COMDAT - -; 330 : { - - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 331 : stbi__start_callbacks(s, &stbi__stdio_callbacks, (void *)f); - - 00025 4c 8b 85 e8 00 - 00 00 mov r8, QWORD PTR f$[rbp] - 0002c 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__stdio_callbacks - 00033 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0003a e8 00 00 00 00 call stbi__start_callbacks - 0003f 90 npad 1 - -; 332 : } - - 00040 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00047 5f pop rdi - 00048 5d pop rbp - 00049 c3 ret 0 -stbi__start_file ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__stdio_eof -_TEXT SEGMENT -tv70 = 192 -user$ = 240 -stbi__stdio_eof PROC ; COMDAT - -; 319 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 320 : return feof((FILE *)user) || ferror((FILE *)user); - - 00020 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR user$[rbp] - 00027 ff 15 00 00 00 - 00 call QWORD PTR __imp_feof - 0002d 85 c0 test eax, eax - 0002f 75 1d jne SHORT $LN3@stbi__stdi - 00031 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR user$[rbp] - 00038 ff 15 00 00 00 - 00 call QWORD PTR __imp_ferror - 0003e 85 c0 test eax, eax - 00040 75 0c jne SHORT $LN3@stbi__stdi - 00042 c7 85 c0 00 00 - 00 00 00 00 00 mov DWORD PTR tv70[rbp], 0 - 0004c eb 0a jmp SHORT $LN4@stbi__stdi -$LN3@stbi__stdi: - 0004e c7 85 c0 00 00 - 00 01 00 00 00 mov DWORD PTR tv70[rbp], 1 -$LN4@stbi__stdi: - 00058 8b 85 c0 00 00 - 00 mov eax, DWORD PTR tv70[rbp] - -; 321 : } - - 0005e 48 8d a5 d8 00 - 00 00 lea rsp, QWORD PTR [rbp+216] - 00065 5f pop rdi - 00066 5d pop rbp - 00067 c3 ret 0 -stbi__stdio_eof ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__stdio_skip -_TEXT SEGMENT -ch$ = 4 -user$ = 256 -n$ = 264 -stbi__stdio_skip PROC ; COMDAT - -; 309 : { - - 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00009 55 push rbp - 0000a 57 push rdi - 0000b 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00017 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00023 90 npad 1 - -; 310 : int ch; -; 311 : fseek((FILE *)user, n, SEEK_CUR); - - 00024 41 b8 01 00 00 - 00 mov r8d, 1 - 0002a 8b 95 08 01 00 - 00 mov edx, DWORD PTR n$[rbp] - 00030 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR user$[rbp] - 00037 ff 15 00 00 00 - 00 call QWORD PTR __imp_fseek - 0003d 90 npad 1 - -; 312 : ch = fgetc((FILE *)user); /* have to read a byte to reset feof()'s flag */ - - 0003e 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR user$[rbp] - 00045 ff 15 00 00 00 - 00 call QWORD PTR __imp_fgetc - 0004b 89 45 04 mov DWORD PTR ch$[rbp], eax - -; 313 : if (ch != EOF) { - - 0004e 83 7d 04 ff cmp DWORD PTR ch$[rbp], -1 - 00052 74 11 je SHORT $LN2@stbi__stdi - -; 314 : ungetc(ch, (FILE *)user); /* push byte back onto stream if valid. */ - - 00054 48 8b 95 00 01 - 00 00 mov rdx, QWORD PTR user$[rbp] - 0005b 8b 4d 04 mov ecx, DWORD PTR ch$[rbp] - 0005e ff 15 00 00 00 - 00 call QWORD PTR __imp_ungetc - 00064 90 npad 1 -$LN2@stbi__stdi: - -; 315 : } -; 316 : } - - 00065 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 0006c 5f pop rdi - 0006d 5d pop rbp - 0006e c3 ret 0 -stbi__stdio_skip ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__stdio_read -_TEXT SEGMENT -user$ = 224 -data$ = 232 -size$ = 240 -stbi__stdio_read PROC ; COMDAT - -; 304 : { - - 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 305 : return (int)fread(data, 1, size, (FILE *)user); - - 0002a 48 63 85 f0 00 - 00 00 movsxd rax, DWORD PTR size$[rbp] - 00031 4c 8b 8d e0 00 - 00 00 mov r9, QWORD PTR user$[rbp] - 00038 4c 8b c0 mov r8, rax - 0003b ba 01 00 00 00 mov edx, 1 - 00040 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR data$[rbp] - 00047 ff 15 00 00 00 - 00 call QWORD PTR __imp_fread - -; 306 : } - - 0004d 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00054 5f pop rdi - 00055 5d pop rbp - 00056 c3 ret 0 -stbi__stdio_read ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__start_callbacks -_TEXT SEGMENT -tv72 = 192 -s$ = 240 -c$ = 248 -user$ = 256 -stbi__start_callbacks PROC ; COMDAT - -; 290 : { - - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 56 push rsi - 00011 57 push rdi - 00012 48 81 ec f0 00 - 00 00 sub rsp, 240 ; 000000f0H - 00019 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001e 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00025 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002a 90 npad 1 - -; 291 : s->io = *c; - - 0002b 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 00032 48 8d 78 10 lea rdi, QWORD PTR [rax+16] - 00036 48 8b b5 f8 00 - 00 00 mov rsi, QWORD PTR c$[rbp] - 0003d b9 18 00 00 00 mov ecx, 24 - 00042 f3 a4 rep movsb - -; 292 : s->io_user_data = user; - - 00044 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 0004b 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR user$[rbp] - 00052 48 89 48 28 mov QWORD PTR [rax+40], rcx - -; 293 : s->buflen = sizeof(s->buffer_start); - - 00056 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 0005d c7 40 34 80 00 - 00 00 mov DWORD PTR [rax+52], 128 ; 00000080H - -; 294 : s->read_from_callbacks = 1; - - 00064 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 0006b c7 40 30 01 00 - 00 00 mov DWORD PTR [rax+48], 1 - -; 295 : s->callback_already_read = 0; - - 00072 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 00079 c7 80 b8 00 00 - 00 00 00 00 00 mov DWORD PTR [rax+184], 0 - -; 296 : s->img_buffer = s->img_buffer_original = s->buffer_start; - - 00083 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 0008a 48 83 c0 38 add rax, 56 ; 00000038H - 0008e 48 89 85 c0 00 - 00 00 mov QWORD PTR tv72[rbp], rax - 00095 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 0009c 48 8b 8d c0 00 - 00 00 mov rcx, QWORD PTR tv72[rbp] - 000a3 48 89 88 d0 00 - 00 00 mov QWORD PTR [rax+208], rcx - 000aa 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 000b1 48 8b 8d c0 00 - 00 00 mov rcx, QWORD PTR tv72[rbp] - 000b8 48 89 88 c0 00 - 00 00 mov QWORD PTR [rax+192], rcx - -; 297 : stbi__refill_buffer(s); - - 000bf 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000c6 e8 00 00 00 00 call stbi__refill_buffer - 000cb 90 npad 1 - -; 298 : s->img_buffer_original_end = s->img_buffer_end; - - 000cc 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 000d3 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000da 48 8b 89 c8 00 - 00 00 mov rcx, QWORD PTR [rcx+200] - 000e1 48 89 88 d8 00 - 00 00 mov QWORD PTR [rax+216], rcx - -; 299 : } - - 000e8 48 8d a5 d0 00 - 00 00 lea rsp, QWORD PTR [rbp+208] - 000ef 5f pop rdi - 000f0 5e pop rsi - 000f1 5d pop rbp - 000f2 c3 ret 0 -stbi__start_callbacks ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__start_mem -_TEXT SEGMENT -tv72 = 192 -s$ = 240 -buffer$ = 248 -len$ = 256 -stbi__start_mem PROC ; COMDAT - -; 280 : { - - 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 281 : s->io.read = NULL; - - 0002a 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 00031 48 c7 40 10 00 - 00 00 00 mov QWORD PTR [rax+16], 0 - -; 282 : s->read_from_callbacks = 0; - - 00039 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 00040 c7 40 30 00 00 - 00 00 mov DWORD PTR [rax+48], 0 - -; 283 : s->callback_already_read = 0; - - 00047 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 0004e c7 80 b8 00 00 - 00 00 00 00 00 mov DWORD PTR [rax+184], 0 - -; 284 : s->img_buffer = s->img_buffer_original = (stbi_uc *)buffer; - - 00058 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 0005f 48 8b 8d f8 00 - 00 00 mov rcx, QWORD PTR buffer$[rbp] - 00066 48 89 88 d0 00 - 00 00 mov QWORD PTR [rax+208], rcx - 0006d 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 00074 48 8b 8d f8 00 - 00 00 mov rcx, QWORD PTR buffer$[rbp] - 0007b 48 89 88 c0 00 - 00 00 mov QWORD PTR [rax+192], rcx - -; 285 : s->img_buffer_end = s->img_buffer_original_end = (stbi_uc *)buffer + len; - - 00082 48 63 85 00 01 - 00 00 movsxd rax, DWORD PTR len$[rbp] - 00089 48 8b 8d f8 00 - 00 00 mov rcx, QWORD PTR buffer$[rbp] - 00090 48 03 c8 add rcx, rax - 00093 48 89 8d c0 00 - 00 00 mov QWORD PTR tv72[rbp], rcx - 0009a 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 000a1 48 8b 8d c0 00 - 00 00 mov rcx, QWORD PTR tv72[rbp] - 000a8 48 89 88 d8 00 - 00 00 mov QWORD PTR [rax+216], rcx - 000af 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp] - 000b6 48 8b 8d c0 00 - 00 00 mov rcx, QWORD PTR tv72[rbp] - 000bd 48 89 88 c8 00 - 00 00 mov QWORD PTR [rax+200], rcx - -; 286 : } - - 000c4 48 8d a5 d8 00 - 00 00 lea rsp, QWORD PTR [rbp+216] - 000cb 5f pop rdi - 000cc 5d pop rbp - 000cd c3 ret 0 -stbi__start_mem ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__refill_buffer -_TEXT SEGMENT -n$ = 4 -s$ = 256 -stbi__refill_buffer PROC ; COMDAT - -; 1125 : { - - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 1126 : int n = (s->io.read)(s->io_user_data, (char *)s->buffer_start, s->buflen); - - 00020 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00027 48 83 c0 38 add rax, 56 ; 00000038H - 0002b 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00032 44 8b 41 34 mov r8d, DWORD PTR [rcx+52] - 00036 48 8b d0 mov rdx, rax - 00039 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00040 48 8b 48 28 mov rcx, QWORD PTR [rax+40] - 00044 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 0004b ff 50 10 call QWORD PTR [rax+16] - 0004e 89 45 04 mov DWORD PTR n$[rbp], eax - -; 1127 : s->callback_already_read += (int)(s->img_buffer - s->img_buffer_original); - - 00051 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00058 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 0005f 48 8b 89 d0 00 - 00 00 mov rcx, QWORD PTR [rcx+208] - 00066 48 8b 80 c0 00 - 00 00 mov rax, QWORD PTR [rax+192] - 0006d 48 2b c1 sub rax, rcx - 00070 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00077 03 81 b8 00 00 - 00 add eax, DWORD PTR [rcx+184] - 0007d 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00084 89 81 b8 00 00 - 00 mov DWORD PTR [rcx+184], eax - -; 1128 : if (n == 0) { - - 0008a 83 7d 04 00 cmp DWORD PTR n$[rbp], 0 - 0008e 75 53 jne SHORT $LN2@stbi__refi - -; 1129 : // at end of file, treat same as if from memory, but need to handle case -; 1130 : // where s->img_buffer isn't pointing to safe memory, e.g. 0-byte file -; 1131 : s->read_from_callbacks = 0; - - 00090 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 00097 c7 40 30 00 00 - 00 00 mov DWORD PTR [rax+48], 0 - -; 1132 : s->img_buffer = s->buffer_start; - - 0009e 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 000a5 48 83 c0 38 add rax, 56 ; 00000038H - 000a9 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000b0 48 89 81 c0 00 - 00 00 mov QWORD PTR [rcx+192], rax - -; 1133 : s->img_buffer_end = s->buffer_start + 1; - - 000b7 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 000be 48 83 c0 39 add rax, 57 ; 00000039H - 000c2 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000c9 48 89 81 c8 00 - 00 00 mov QWORD PTR [rcx+200], rax - -; 1134 : *s->img_buffer = 0; - - 000d0 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 000d7 48 8b 80 c0 00 - 00 00 mov rax, QWORD PTR [rax+192] - 000de c6 00 00 mov BYTE PTR [rax], 0 - -; 1135 : } else { - - 000e1 eb 37 jmp SHORT $LN3@stbi__refi -$LN2@stbi__refi: - -; 1136 : s->img_buffer = s->buffer_start; - - 000e3 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR s$[rbp] - 000ea 48 83 c0 38 add rax, 56 ; 00000038H - 000ee 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 000f5 48 89 81 c0 00 - 00 00 mov QWORD PTR [rcx+192], rax - -; 1137 : s->img_buffer_end = s->buffer_start + n; - - 000fc 48 63 45 04 movsxd rax, DWORD PTR n$[rbp] - 00100 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00107 48 8d 44 01 38 lea rax, QWORD PTR [rcx+rax+56] - 0010c 48 8b 8d 00 01 - 00 00 mov rcx, QWORD PTR s$[rbp] - 00113 48 89 81 c8 00 - 00 00 mov QWORD PTR [rcx+200], rax -$LN3@stbi__refi: - -; 1138 : } -; 1139 : } - - 0011a 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 00121 5f pop rdi - 00122 5d pop rbp - 00123 c3 ret 0 -stbi__refill_buffer ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__sse2_available -_TEXT SEGMENT -info3$ = 4 -tv68 = 212 -stbi__sse2_available PROC ; COMDAT - -; 210 : { - - 00000 40 55 push rbp - 00002 57 push rdi - 00003 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0000f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001b 90 npad 1 - -; 211 : int info3 = stbi__cpuid3(); - - 0001c e8 00 00 00 00 call stbi__cpuid3 - 00021 89 45 04 mov DWORD PTR info3$[rbp], eax - -; 212 : return ((info3 >> 26) & 1) != 0; - - 00024 8b 45 04 mov eax, DWORD PTR info3$[rbp] - 00027 c1 f8 1a sar eax, 26 - 0002a 83 e0 01 and eax, 1 - 0002d 85 c0 test eax, eax - 0002f 74 0c je SHORT $LN3@stbi__sse2 - 00031 c7 85 d4 00 00 - 00 01 00 00 00 mov DWORD PTR tv68[rbp], 1 - 0003b eb 0a jmp SHORT $LN4@stbi__sse2 -$LN3@stbi__sse2: - 0003d c7 85 d4 00 00 - 00 00 00 00 00 mov DWORD PTR tv68[rbp], 0 -$LN4@stbi__sse2: - 00047 8b 85 d4 00 00 - 00 mov eax, DWORD PTR tv68[rbp] - -; 213 : } - - 0004d 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 00054 5f pop rdi - 00055 5d pop rbp - 00056 c3 ret 0 -stbi__sse2_available ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi__cpuid3 -_TEXT SEGMENT -info$ = 8 -__$ArrayPad$ = 232 -stbi__cpuid3 PROC ; COMDAT - -; 188 : { - - 00000 40 55 push rbp - 00002 53 push rbx - 00003 57 push rdi - 00004 48 81 ec 10 01 - 00 00 sub rsp, 272 ; 00000110H - 0000b 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00010 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 00015 b9 0c 00 00 00 mov ecx, 12 - 0001a b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 0001f f3 ab rep stosd - 00021 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00028 48 33 c5 xor rax, rbp - 0002b 48 89 85 e8 00 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 00032 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00039 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0003e 90 npad 1 - -; 189 : int info[4]; -; 190 : __cpuid(info, 1); - - 0003f b8 01 00 00 00 mov eax, 1 - 00044 33 c9 xor ecx, ecx - 00046 0f a2 cpuid - 00048 4c 8d 45 08 lea r8, QWORD PTR info$[rbp] - 0004c 41 89 00 mov DWORD PTR [r8], eax - 0004f 41 89 58 04 mov DWORD PTR [r8+4], ebx - 00053 41 89 48 08 mov DWORD PTR [r8+8], ecx - 00057 41 89 50 0c mov DWORD PTR [r8+12], edx - -; 191 : return info[3]; - - 0005b b8 04 00 00 00 mov eax, 4 - 00060 48 6b c0 03 imul rax, rax, 3 - 00064 8b 44 05 08 mov eax, DWORD PTR info$[rbp+rax] - -; 192 : } - - 00068 8b f8 mov edi, eax - 0006a 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 0006e 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi__cpuid3$rtcFrameData - 00075 e8 00 00 00 00 call _RTC_CheckStackVars - 0007a 8b c7 mov eax, edi - 0007c 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 00083 48 33 cd xor rcx, rbp - 00086 e8 00 00 00 00 call __security_check_cookie - 0008b 48 8d a5 f0 00 - 00 00 lea rsp, QWORD PTR [rbp+240] - 00092 5f pop rdi - 00093 5b pop rbx - 00094 5d pop rbp - 00095 c3 ret 0 -stbi__cpuid3 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_zlib_decode_noheader_buffer -_TEXT SEGMENT -a$ = 16 -__$ArrayPad$ = 5656 -obuffer$ = 5696 -olen$ = 5704 -ibuffer$ = 5712 -ilen$ = 5720 -stbi_zlib_decode_noheader_buffer PROC ; COMDAT - -; 4615 : { - -$LN5: - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx - 0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00013 55 push rbp - 00014 57 push rdi - 00015 b8 58 16 00 00 mov eax, 5720 ; 00001658H - 0001a e8 00 00 00 00 call __chkstk - 0001f 48 2b e0 sub rsp, rax - 00022 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00027 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 0002c b9 0a 04 00 00 mov ecx, 1034 ; 0000040aH - 00031 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00036 f3 ab rep stosd - 00038 48 8b 8c 24 78 - 16 00 00 mov rcx, QWORD PTR [rsp+5752] - 00040 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00047 48 33 c5 xor rax, rbp - 0004a 48 89 85 18 16 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 00051 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00058 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0005d 90 npad 1 - -; 4616 : stbi__zbuf a; -; 4617 : a.zbuffer = (stbi_uc *)ibuffer; - - 0005e 48 8b 85 50 16 - 00 00 mov rax, QWORD PTR ibuffer$[rbp] - 00065 48 89 45 10 mov QWORD PTR a$[rbp], rax - -; 4618 : a.zbuffer_end = (stbi_uc *)ibuffer + ilen; - - 00069 48 63 85 58 16 - 00 00 movsxd rax, DWORD PTR ilen$[rbp] - 00070 48 8b 8d 50 16 - 00 00 mov rcx, QWORD PTR ibuffer$[rbp] - 00077 48 03 c8 add rcx, rax - 0007a 48 8b c1 mov rax, rcx - 0007d 48 89 45 18 mov QWORD PTR a$[rbp+8], rax - -; 4619 : if (stbi__do_zlib(&a, obuffer, olen, 0, 0)) - - 00081 c7 44 24 20 00 - 00 00 00 mov DWORD PTR [rsp+32], 0 - 00089 45 33 c9 xor r9d, r9d - 0008c 44 8b 85 48 16 - 00 00 mov r8d, DWORD PTR olen$[rbp] - 00093 48 8b 95 40 16 - 00 00 mov rdx, QWORD PTR obuffer$[rbp] - 0009a 48 8d 4d 10 lea rcx, QWORD PTR a$[rbp] - 0009e e8 00 00 00 00 call stbi__do_zlib - 000a3 85 c0 test eax, eax - 000a5 74 12 je SHORT $LN2@stbi_zlib_ - -; 4620 : return (int)(a.zout - a.zout_start); - - 000a7 48 8b 45 30 mov rax, QWORD PTR a$[rbp+32] - 000ab 48 8b 4d 28 mov rcx, QWORD PTR a$[rbp+24] - 000af 48 2b c8 sub rcx, rax - 000b2 48 8b c1 mov rax, rcx - 000b5 eb 07 jmp SHORT $LN1@stbi_zlib_ - 000b7 eb 05 jmp SHORT $LN3@stbi_zlib_ -$LN2@stbi_zlib_: - -; 4621 : else -; 4622 : return -1; - - 000b9 b8 ff ff ff ff mov eax, -1 -$LN3@stbi_zlib_: -$LN1@stbi_zlib_: - -; 4623 : } - - 000be 48 8b f8 mov rdi, rax - 000c1 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 000c5 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_zlib_decode_noheader_buffer$rtcFrameData - 000cc e8 00 00 00 00 call _RTC_CheckStackVars - 000d1 48 8b c7 mov rax, rdi - 000d4 48 8b 8d 18 16 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 000db 48 33 cd xor rcx, rbp - 000de e8 00 00 00 00 call __security_check_cookie - 000e3 48 8d a5 28 16 - 00 00 lea rsp, QWORD PTR [rbp+5672] - 000ea 5f pop rdi - 000eb 5d pop rbp - 000ec c3 ret 0 -stbi_zlib_decode_noheader_buffer ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_zlib_decode_noheader_malloc -_TEXT SEGMENT -a$ = 16 -p$ = 4136 -__$ArrayPad$ = 5688 -buffer$ = 5728 -len$ = 5736 -outlen$ = 5744 -stbi_zlib_decode_noheader_malloc PROC ; COMDAT - -; 4597 : { - -$LN7: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00009 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000e 55 push rbp - 0000f 57 push rdi - 00010 b8 78 16 00 00 mov eax, 5752 ; 00001678H - 00015 e8 00 00 00 00 call __chkstk - 0001a 48 2b e0 sub rsp, rax - 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00022 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 00027 b9 12 04 00 00 mov ecx, 1042 ; 00000412H - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 98 - 16 00 00 mov rcx, QWORD PTR [rsp+5784] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 38 16 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 4598 : stbi__zbuf a; -; 4599 : char *p = (char *)stbi__malloc(16384); - - 00059 b9 00 40 00 00 mov ecx, 16384 ; 00004000H - 0005e e8 00 00 00 00 call stbi__malloc - 00063 48 89 85 28 10 - 00 00 mov QWORD PTR p$[rbp], rax - -; 4600 : if (p == NULL) - - 0006a 48 83 bd 28 10 - 00 00 00 cmp QWORD PTR p$[rbp], 0 - 00072 75 07 jne SHORT $LN2@stbi_zlib_ - -; 4601 : return NULL; - - 00074 33 c0 xor eax, eax - 00076 e9 81 00 00 00 jmp $LN1@stbi_zlib_ -$LN2@stbi_zlib_: - -; 4602 : a.zbuffer = (stbi_uc *)buffer; - - 0007b 48 8b 85 60 16 - 00 00 mov rax, QWORD PTR buffer$[rbp] - 00082 48 89 45 10 mov QWORD PTR a$[rbp], rax - -; 4603 : a.zbuffer_end = (stbi_uc *)buffer + len; - - 00086 48 63 85 68 16 - 00 00 movsxd rax, DWORD PTR len$[rbp] - 0008d 48 8b 8d 60 16 - 00 00 mov rcx, QWORD PTR buffer$[rbp] - 00094 48 03 c8 add rcx, rax - 00097 48 8b c1 mov rax, rcx - 0009a 48 89 45 18 mov QWORD PTR a$[rbp+8], rax - -; 4604 : if (stbi__do_zlib(&a, p, 16384, 1, 0)) { - - 0009e c7 44 24 20 00 - 00 00 00 mov DWORD PTR [rsp+32], 0 - 000a6 41 b9 01 00 00 - 00 mov r9d, 1 - 000ac 41 b8 00 40 00 - 00 mov r8d, 16384 ; 00004000H - 000b2 48 8b 95 28 10 - 00 00 mov rdx, QWORD PTR p$[rbp] - 000b9 48 8d 4d 10 lea rcx, QWORD PTR a$[rbp] - 000bd e8 00 00 00 00 call stbi__do_zlib - 000c2 85 c0 test eax, eax - 000c4 74 29 je SHORT $LN3@stbi_zlib_ - -; 4605 : if (outlen) - - 000c6 48 83 bd 70 16 - 00 00 00 cmp QWORD PTR outlen$[rbp], 0 - 000ce 74 17 je SHORT $LN5@stbi_zlib_ - -; 4606 : *outlen = (int)(a.zout - a.zout_start); - - 000d0 48 8b 45 30 mov rax, QWORD PTR a$[rbp+32] - 000d4 48 8b 4d 28 mov rcx, QWORD PTR a$[rbp+24] - 000d8 48 2b c8 sub rcx, rax - 000db 48 8b c1 mov rax, rcx - 000de 48 8b 8d 70 16 - 00 00 mov rcx, QWORD PTR outlen$[rbp] - 000e5 89 01 mov DWORD PTR [rcx], eax -$LN5@stbi_zlib_: - -; 4607 : return a.zout_start; - - 000e7 48 8b 45 30 mov rax, QWORD PTR a$[rbp+32] - 000eb eb 0f jmp SHORT $LN1@stbi_zlib_ - -; 4608 : } else { - - 000ed eb 0d jmp SHORT $LN4@stbi_zlib_ -$LN3@stbi_zlib_: - -; 4609 : STBI_FREE(a.zout_start); - - 000ef 48 8b 4d 30 mov rcx, QWORD PTR a$[rbp+32] - 000f3 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 000f9 90 npad 1 - -; 4610 : return NULL; - - 000fa 33 c0 xor eax, eax -$LN4@stbi_zlib_: -$LN1@stbi_zlib_: - -; 4611 : } -; 4612 : } - - 000fc 48 8b f8 mov rdi, rax - 000ff 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 00103 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_zlib_decode_noheader_malloc$rtcFrameData - 0010a e8 00 00 00 00 call _RTC_CheckStackVars - 0010f 48 8b c7 mov rax, rdi - 00112 48 8b 8d 38 16 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 00119 48 33 cd xor rcx, rbp - 0011c e8 00 00 00 00 call __security_check_cookie - 00121 48 8d a5 48 16 - 00 00 lea rsp, QWORD PTR [rbp+5704] - 00128 5f pop rdi - 00129 5d pop rbp - 0012a c3 ret 0 -stbi_zlib_decode_noheader_malloc ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_zlib_decode_buffer -_TEXT SEGMENT -a$ = 16 -__$ArrayPad$ = 5656 -obuffer$ = 5696 -olen$ = 5704 -ibuffer$ = 5712 -ilen$ = 5720 -stbi_zlib_decode_buffer PROC ; COMDAT - -; 4586 : { - -$LN5: - 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx - 0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00013 55 push rbp - 00014 57 push rdi - 00015 b8 58 16 00 00 mov eax, 5720 ; 00001658H - 0001a e8 00 00 00 00 call __chkstk - 0001f 48 2b e0 sub rsp, rax - 00022 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00027 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 0002c b9 0a 04 00 00 mov ecx, 1034 ; 0000040aH - 00031 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00036 f3 ab rep stosd - 00038 48 8b 8c 24 78 - 16 00 00 mov rcx, QWORD PTR [rsp+5752] - 00040 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00047 48 33 c5 xor rax, rbp - 0004a 48 89 85 18 16 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 00051 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00058 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0005d 90 npad 1 - -; 4587 : stbi__zbuf a; -; 4588 : a.zbuffer = (stbi_uc *)ibuffer; - - 0005e 48 8b 85 50 16 - 00 00 mov rax, QWORD PTR ibuffer$[rbp] - 00065 48 89 45 10 mov QWORD PTR a$[rbp], rax - -; 4589 : a.zbuffer_end = (stbi_uc *)ibuffer + ilen; - - 00069 48 63 85 58 16 - 00 00 movsxd rax, DWORD PTR ilen$[rbp] - 00070 48 8b 8d 50 16 - 00 00 mov rcx, QWORD PTR ibuffer$[rbp] - 00077 48 03 c8 add rcx, rax - 0007a 48 8b c1 mov rax, rcx - 0007d 48 89 45 18 mov QWORD PTR a$[rbp+8], rax - -; 4590 : if (stbi__do_zlib(&a, obuffer, olen, 0, 1)) - - 00081 c7 44 24 20 01 - 00 00 00 mov DWORD PTR [rsp+32], 1 - 00089 45 33 c9 xor r9d, r9d - 0008c 44 8b 85 48 16 - 00 00 mov r8d, DWORD PTR olen$[rbp] - 00093 48 8b 95 40 16 - 00 00 mov rdx, QWORD PTR obuffer$[rbp] - 0009a 48 8d 4d 10 lea rcx, QWORD PTR a$[rbp] - 0009e e8 00 00 00 00 call stbi__do_zlib - 000a3 85 c0 test eax, eax - 000a5 74 12 je SHORT $LN2@stbi_zlib_ - -; 4591 : return (int)(a.zout - a.zout_start); - - 000a7 48 8b 45 30 mov rax, QWORD PTR a$[rbp+32] - 000ab 48 8b 4d 28 mov rcx, QWORD PTR a$[rbp+24] - 000af 48 2b c8 sub rcx, rax - 000b2 48 8b c1 mov rax, rcx - 000b5 eb 07 jmp SHORT $LN1@stbi_zlib_ - 000b7 eb 05 jmp SHORT $LN3@stbi_zlib_ -$LN2@stbi_zlib_: - -; 4592 : else -; 4593 : return -1; - - 000b9 b8 ff ff ff ff mov eax, -1 -$LN3@stbi_zlib_: -$LN1@stbi_zlib_: - -; 4594 : } - - 000be 48 8b f8 mov rdi, rax - 000c1 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 000c5 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_zlib_decode_buffer$rtcFrameData - 000cc e8 00 00 00 00 call _RTC_CheckStackVars - 000d1 48 8b c7 mov rax, rdi - 000d4 48 8b 8d 18 16 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 000db 48 33 cd xor rcx, rbp - 000de e8 00 00 00 00 call __security_check_cookie - 000e3 48 8d a5 28 16 - 00 00 lea rsp, QWORD PTR [rbp+5672] - 000ea 5f pop rdi - 000eb 5d pop rbp - 000ec c3 ret 0 -stbi_zlib_decode_buffer ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_zlib_decode_malloc -_TEXT SEGMENT -buffer$ = 224 -len$ = 232 -outlen$ = 240 -stbi_zlib_decode_malloc PROC ; COMDAT - -; 4561 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00009 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000e 55 push rbp - 0000f 57 push rdi - 00010 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 00017 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00023 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00028 90 npad 1 - -; 4562 : return stbi_zlib_decode_malloc_guesssize(buffer, len, 16384, outlen); - - 00029 4c 8b 8d f0 00 - 00 00 mov r9, QWORD PTR outlen$[rbp] - 00030 41 b8 00 40 00 - 00 mov r8d, 16384 ; 00004000H - 00036 8b 95 e8 00 00 - 00 mov edx, DWORD PTR len$[rbp] - 0003c 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR buffer$[rbp] - 00043 e8 00 00 00 00 call stbi_zlib_decode_malloc_guesssize - -; 4563 : } - - 00048 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 0004f 5f pop rdi - 00050 5d pop rbp - 00051 c3 ret 0 -stbi_zlib_decode_malloc ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_zlib_decode_malloc_guesssize_headerflag -_TEXT SEGMENT -a$ = 16 -p$ = 4136 -__$ArrayPad$ = 5688 -buffer$ = 5728 -len$ = 5736 -initial_size$ = 5744 -outlen$ = 5752 -parse_header$ = 5760 -stbi_zlib_decode_malloc_guesssize_headerflag PROC ; COMDAT - -; 4568 : { - -$LN7: - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx - 0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00013 55 push rbp - 00014 57 push rdi - 00015 b8 78 16 00 00 mov eax, 5752 ; 00001678H - 0001a e8 00 00 00 00 call __chkstk - 0001f 48 2b e0 sub rsp, rax - 00022 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00027 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 0002c b9 12 04 00 00 mov ecx, 1042 ; 00000412H - 00031 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00036 f3 ab rep stosd - 00038 48 8b 8c 24 98 - 16 00 00 mov rcx, QWORD PTR [rsp+5784] - 00040 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00047 48 33 c5 xor rax, rbp - 0004a 48 89 85 38 16 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 00051 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00058 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0005d 90 npad 1 - -; 4569 : stbi__zbuf a; -; 4570 : char *p = (char *)stbi__malloc(initial_size); - - 0005e 48 63 85 70 16 - 00 00 movsxd rax, DWORD PTR initial_size$[rbp] - 00065 48 8b c8 mov rcx, rax - 00068 e8 00 00 00 00 call stbi__malloc - 0006d 48 89 85 28 10 - 00 00 mov QWORD PTR p$[rbp], rax - -; 4571 : if (p == NULL) - - 00074 48 83 bd 28 10 - 00 00 00 cmp QWORD PTR p$[rbp], 0 - 0007c 75 07 jne SHORT $LN2@stbi_zlib_ - -; 4572 : return NULL; - - 0007e 33 c0 xor eax, eax - 00080 e9 84 00 00 00 jmp $LN1@stbi_zlib_ -$LN2@stbi_zlib_: - -; 4573 : a.zbuffer = (stbi_uc *)buffer; - - 00085 48 8b 85 60 16 - 00 00 mov rax, QWORD PTR buffer$[rbp] - 0008c 48 89 45 10 mov QWORD PTR a$[rbp], rax - -; 4574 : a.zbuffer_end = (stbi_uc *)buffer + len; - - 00090 48 63 85 68 16 - 00 00 movsxd rax, DWORD PTR len$[rbp] - 00097 48 8b 8d 60 16 - 00 00 mov rcx, QWORD PTR buffer$[rbp] - 0009e 48 03 c8 add rcx, rax - 000a1 48 8b c1 mov rax, rcx - 000a4 48 89 45 18 mov QWORD PTR a$[rbp+8], rax - -; 4575 : if (stbi__do_zlib(&a, p, initial_size, 1, parse_header)) { - - 000a8 8b 85 80 16 00 - 00 mov eax, DWORD PTR parse_header$[rbp] - 000ae 89 44 24 20 mov DWORD PTR [rsp+32], eax - 000b2 41 b9 01 00 00 - 00 mov r9d, 1 - 000b8 44 8b 85 70 16 - 00 00 mov r8d, DWORD PTR initial_size$[rbp] - 000bf 48 8b 95 28 10 - 00 00 mov rdx, QWORD PTR p$[rbp] - 000c6 48 8d 4d 10 lea rcx, QWORD PTR a$[rbp] - 000ca e8 00 00 00 00 call stbi__do_zlib - 000cf 85 c0 test eax, eax - 000d1 74 29 je SHORT $LN3@stbi_zlib_ - -; 4576 : if (outlen) - - 000d3 48 83 bd 78 16 - 00 00 00 cmp QWORD PTR outlen$[rbp], 0 - 000db 74 17 je SHORT $LN5@stbi_zlib_ - -; 4577 : *outlen = (int)(a.zout - a.zout_start); - - 000dd 48 8b 45 30 mov rax, QWORD PTR a$[rbp+32] - 000e1 48 8b 4d 28 mov rcx, QWORD PTR a$[rbp+24] - 000e5 48 2b c8 sub rcx, rax - 000e8 48 8b c1 mov rax, rcx - 000eb 48 8b 8d 78 16 - 00 00 mov rcx, QWORD PTR outlen$[rbp] - 000f2 89 01 mov DWORD PTR [rcx], eax -$LN5@stbi_zlib_: - -; 4578 : return a.zout_start; - - 000f4 48 8b 45 30 mov rax, QWORD PTR a$[rbp+32] - 000f8 eb 0f jmp SHORT $LN1@stbi_zlib_ - -; 4579 : } else { - - 000fa eb 0d jmp SHORT $LN4@stbi_zlib_ -$LN3@stbi_zlib_: - -; 4580 : STBI_FREE(a.zout_start); - - 000fc 48 8b 4d 30 mov rcx, QWORD PTR a$[rbp+32] - 00100 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00106 90 npad 1 - -; 4581 : return NULL; - - 00107 33 c0 xor eax, eax -$LN4@stbi_zlib_: -$LN1@stbi_zlib_: - -; 4582 : } -; 4583 : } - - 00109 48 8b f8 mov rdi, rax - 0010c 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 00110 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_zlib_decode_malloc_guesssize_headerflag$rtcFrameData - 00117 e8 00 00 00 00 call _RTC_CheckStackVars - 0011c 48 8b c7 mov rax, rdi - 0011f 48 8b 8d 38 16 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 00126 48 33 cd xor rcx, rbp - 00129 e8 00 00 00 00 call __security_check_cookie - 0012e 48 8d a5 48 16 - 00 00 lea rsp, QWORD PTR [rbp+5704] - 00135 5f pop rdi - 00136 5d pop rbp - 00137 c3 ret 0 -stbi_zlib_decode_malloc_guesssize_headerflag ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_zlib_decode_malloc_guesssize -_TEXT SEGMENT -a$ = 16 -p$ = 4136 -__$ArrayPad$ = 5688 -buffer$ = 5728 -len$ = 5736 -initial_size$ = 5744 -outlen$ = 5752 -stbi_zlib_decode_malloc_guesssize PROC ; COMDAT - -; 4543 : { - -$LN7: - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx - 0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00013 55 push rbp - 00014 57 push rdi - 00015 b8 78 16 00 00 mov eax, 5752 ; 00001678H - 0001a e8 00 00 00 00 call __chkstk - 0001f 48 2b e0 sub rsp, rax - 00022 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00027 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 0002c b9 12 04 00 00 mov ecx, 1042 ; 00000412H - 00031 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00036 f3 ab rep stosd - 00038 48 8b 8c 24 98 - 16 00 00 mov rcx, QWORD PTR [rsp+5784] - 00040 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00047 48 33 c5 xor rax, rbp - 0004a 48 89 85 38 16 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 00051 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00058 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0005d 90 npad 1 - -; 4544 : stbi__zbuf a; -; 4545 : char *p = (char *)stbi__malloc(initial_size); - - 0005e 48 63 85 70 16 - 00 00 movsxd rax, DWORD PTR initial_size$[rbp] - 00065 48 8b c8 mov rcx, rax - 00068 e8 00 00 00 00 call stbi__malloc - 0006d 48 89 85 28 10 - 00 00 mov QWORD PTR p$[rbp], rax - -; 4546 : if (p == NULL) - - 00074 48 83 bd 28 10 - 00 00 00 cmp QWORD PTR p$[rbp], 0 - 0007c 75 07 jne SHORT $LN2@stbi_zlib_ - -; 4547 : return NULL; - - 0007e 33 c0 xor eax, eax - 00080 e9 82 00 00 00 jmp $LN1@stbi_zlib_ -$LN2@stbi_zlib_: - -; 4548 : a.zbuffer = (stbi_uc *)buffer; - - 00085 48 8b 85 60 16 - 00 00 mov rax, QWORD PTR buffer$[rbp] - 0008c 48 89 45 10 mov QWORD PTR a$[rbp], rax - -; 4549 : a.zbuffer_end = (stbi_uc *)buffer + len; - - 00090 48 63 85 68 16 - 00 00 movsxd rax, DWORD PTR len$[rbp] - 00097 48 8b 8d 60 16 - 00 00 mov rcx, QWORD PTR buffer$[rbp] - 0009e 48 03 c8 add rcx, rax - 000a1 48 8b c1 mov rax, rcx - 000a4 48 89 45 18 mov QWORD PTR a$[rbp+8], rax - -; 4550 : if (stbi__do_zlib(&a, p, initial_size, 1, 1)) { - - 000a8 c7 44 24 20 01 - 00 00 00 mov DWORD PTR [rsp+32], 1 - 000b0 41 b9 01 00 00 - 00 mov r9d, 1 - 000b6 44 8b 85 70 16 - 00 00 mov r8d, DWORD PTR initial_size$[rbp] - 000bd 48 8b 95 28 10 - 00 00 mov rdx, QWORD PTR p$[rbp] - 000c4 48 8d 4d 10 lea rcx, QWORD PTR a$[rbp] - 000c8 e8 00 00 00 00 call stbi__do_zlib - 000cd 85 c0 test eax, eax - 000cf 74 29 je SHORT $LN3@stbi_zlib_ - -; 4551 : if (outlen) - - 000d1 48 83 bd 78 16 - 00 00 00 cmp QWORD PTR outlen$[rbp], 0 - 000d9 74 17 je SHORT $LN5@stbi_zlib_ - -; 4552 : *outlen = (int)(a.zout - a.zout_start); - - 000db 48 8b 45 30 mov rax, QWORD PTR a$[rbp+32] - 000df 48 8b 4d 28 mov rcx, QWORD PTR a$[rbp+24] - 000e3 48 2b c8 sub rcx, rax - 000e6 48 8b c1 mov rax, rcx - 000e9 48 8b 8d 78 16 - 00 00 mov rcx, QWORD PTR outlen$[rbp] - 000f0 89 01 mov DWORD PTR [rcx], eax -$LN5@stbi_zlib_: - -; 4553 : return a.zout_start; - - 000f2 48 8b 45 30 mov rax, QWORD PTR a$[rbp+32] - 000f6 eb 0f jmp SHORT $LN1@stbi_zlib_ - -; 4554 : } else { - - 000f8 eb 0d jmp SHORT $LN4@stbi_zlib_ -$LN3@stbi_zlib_: - -; 4555 : STBI_FREE(a.zout_start); - - 000fa 48 8b 4d 30 mov rcx, QWORD PTR a$[rbp+32] - 000fe ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00104 90 npad 1 - -; 4556 : return NULL; - - 00105 33 c0 xor eax, eax -$LN4@stbi_zlib_: -$LN1@stbi_zlib_: - -; 4557 : } -; 4558 : } - - 00107 48 8b f8 mov rdi, rax - 0010a 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 0010e 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_zlib_decode_malloc_guesssize$rtcFrameData - 00115 e8 00 00 00 00 call _RTC_CheckStackVars - 0011a 48 8b c7 mov rax, rdi - 0011d 48 8b 8d 38 16 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 00124 48 33 cd xor rcx, rbp - 00127 e8 00 00 00 00 call __security_check_cookie - 0012c 48 8d a5 48 16 - 00 00 lea rsp, QWORD PTR [rbp+5704] - 00133 5f pop rdi - 00134 5d pop rbp - 00135 c3 ret 0 -stbi_zlib_decode_malloc_guesssize ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_set_flip_vertically_on_load_thread -_TEXT SEGMENT -flag_true_if_should_flip$ = 224 -stbi_set_flip_vertically_on_load_thread PROC ; COMDAT - -; 599 : { - -$LN3: - 00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 00004 55 push rbp - 00005 57 push rdi - 00006 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00012 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00019 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001e 90 npad 1 - -; 600 : stbi__vertically_flip_on_load_local = flag_true_if_should_flip; - - 0001f b8 00 00 00 00 mov eax, OFFSET FLAT:stbi__vertically_flip_on_load_local - 00024 8b c0 mov eax, eax - 00026 8b 0d 00 00 00 - 00 mov ecx, DWORD PTR _tls_index - 0002c 65 48 8b 14 25 - 58 00 00 00 mov rdx, QWORD PTR gs:88 - 00035 48 8b 0c ca mov rcx, QWORD PTR [rdx+rcx*8] - 00039 8b 95 e0 00 00 - 00 mov edx, DWORD PTR flag_true_if_should_flip$[rbp] - 0003f 89 14 08 mov DWORD PTR [rax+rcx], edx - -; 601 : stbi__vertically_flip_on_load_set = 1; - - 00042 b8 00 00 00 00 mov eax, OFFSET FLAT:stbi__vertically_flip_on_load_set - 00047 8b c0 mov eax, eax - 00049 8b 0d 00 00 00 - 00 mov ecx, DWORD PTR _tls_index - 0004f 65 48 8b 14 25 - 58 00 00 00 mov rdx, QWORD PTR gs:88 - 00058 48 8b 0c ca mov rcx, QWORD PTR [rdx+rcx*8] - 0005c c7 04 08 01 00 - 00 00 mov DWORD PTR [rax+rcx], 1 - -; 602 : } - - 00063 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 0006a 5f pop rdi - 0006b 5d pop rbp - 0006c c3 ret 0 -stbi_set_flip_vertically_on_load_thread ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_convert_iphone_png_to_rgb_thread -_TEXT SEGMENT -flag_true_if_should_convert$ = 224 -stbi_convert_iphone_png_to_rgb_thread PROC ; COMDAT - -; 5176 : { - -$LN3: - 00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 00004 55 push rbp - 00005 57 push rdi - 00006 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00012 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00019 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001e 90 npad 1 - -; 5177 : stbi__de_iphone_flag_local = flag_true_if_should_convert; - - 0001f b8 00 00 00 00 mov eax, OFFSET FLAT:stbi__de_iphone_flag_local - 00024 8b c0 mov eax, eax - 00026 8b 0d 00 00 00 - 00 mov ecx, DWORD PTR _tls_index - 0002c 65 48 8b 14 25 - 58 00 00 00 mov rdx, QWORD PTR gs:88 - 00035 48 8b 0c ca mov rcx, QWORD PTR [rdx+rcx*8] - 00039 8b 95 e0 00 00 - 00 mov edx, DWORD PTR flag_true_if_should_convert$[rbp] - 0003f 89 14 08 mov DWORD PTR [rax+rcx], edx - -; 5178 : stbi__de_iphone_flag_set = 1; - - 00042 b8 00 00 00 00 mov eax, OFFSET FLAT:stbi__de_iphone_flag_set - 00047 8b c0 mov eax, eax - 00049 8b 0d 00 00 00 - 00 mov ecx, DWORD PTR _tls_index - 0004f 65 48 8b 14 25 - 58 00 00 00 mov rdx, QWORD PTR gs:88 - 00058 48 8b 0c ca mov rcx, QWORD PTR [rdx+rcx*8] - 0005c c7 04 08 01 00 - 00 00 mov DWORD PTR [rax+rcx], 1 - -; 5179 : } - - 00063 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 0006a 5f pop rdi - 0006b 5d pop rbp - 0006c c3 ret 0 -stbi_convert_iphone_png_to_rgb_thread ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_set_unpremultiply_on_load_thread -_TEXT SEGMENT -flag_true_if_should_unpremultiply$ = 224 -stbi_set_unpremultiply_on_load_thread PROC ; COMDAT - -; 5170 : { - -$LN3: - 00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 00004 55 push rbp - 00005 57 push rdi - 00006 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00012 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00019 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001e 90 npad 1 - -; 5171 : stbi__unpremultiply_on_load_local = flag_true_if_should_unpremultiply; - - 0001f b8 00 00 00 00 mov eax, OFFSET FLAT:stbi__unpremultiply_on_load_local - 00024 8b c0 mov eax, eax - 00026 8b 0d 00 00 00 - 00 mov ecx, DWORD PTR _tls_index - 0002c 65 48 8b 14 25 - 58 00 00 00 mov rdx, QWORD PTR gs:88 - 00035 48 8b 0c ca mov rcx, QWORD PTR [rdx+rcx*8] - 00039 8b 95 e0 00 00 - 00 mov edx, DWORD PTR flag_true_if_should_unpremultiply$[rbp] - 0003f 89 14 08 mov DWORD PTR [rax+rcx], edx - -; 5172 : stbi__unpremultiply_on_load_set = 1; - - 00042 b8 00 00 00 00 mov eax, OFFSET FLAT:stbi__unpremultiply_on_load_set - 00047 8b c0 mov eax, eax - 00049 8b 0d 00 00 00 - 00 mov ecx, DWORD PTR _tls_index - 0004f 65 48 8b 14 25 - 58 00 00 00 mov rdx, QWORD PTR gs:88 - 00058 48 8b 0c ca mov rcx, QWORD PTR [rdx+rcx*8] - 0005c c7 04 08 01 00 - 00 00 mov DWORD PTR [rax+rcx], 1 - -; 5173 : } - - 00063 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 0006a 5f pop rdi - 0006b 5d pop rbp - 0006c c3 ret 0 -stbi_set_unpremultiply_on_load_thread ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_set_flip_vertically_on_load -_TEXT SEGMENT -flag_true_if_should_flip$ = 224 -stbi_set_flip_vertically_on_load PROC ; COMDAT - -; 589 : { - -$LN3: - 00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 00004 55 push rbp - 00005 57 push rdi - 00006 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00012 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00019 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001e 90 npad 1 - -; 590 : stbi__vertically_flip_on_load_global = flag_true_if_should_flip; - - 0001f 8b 85 e0 00 00 - 00 mov eax, DWORD PTR flag_true_if_should_flip$[rbp] - 00025 89 05 00 00 00 - 00 mov DWORD PTR stbi__vertically_flip_on_load_global, eax - -; 591 : } - - 0002b 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00032 5f pop rdi - 00033 5d pop rbp - 00034 c3 ret 0 -stbi_set_flip_vertically_on_load ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_convert_iphone_png_to_rgb -_TEXT SEGMENT -flag_true_if_should_convert$ = 224 -stbi_convert_iphone_png_to_rgb PROC ; COMDAT - -; 5158 : { - -$LN3: - 00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 00004 55 push rbp - 00005 57 push rdi - 00006 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00012 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00019 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001e 90 npad 1 - -; 5159 : stbi__de_iphone_flag_global = flag_true_if_should_convert; - - 0001f 8b 85 e0 00 00 - 00 mov eax, DWORD PTR flag_true_if_should_convert$[rbp] - 00025 89 05 00 00 00 - 00 mov DWORD PTR stbi__de_iphone_flag_global, eax - -; 5160 : } - - 0002b 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00032 5f pop rdi - 00033 5d pop rbp - 00034 c3 ret 0 -stbi_convert_iphone_png_to_rgb ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_set_unpremultiply_on_load -_TEXT SEGMENT -flag_true_if_should_unpremultiply$ = 224 -stbi_set_unpremultiply_on_load PROC ; COMDAT - -; 5153 : { - -$LN3: - 00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 00004 55 push rbp - 00005 57 push rdi - 00006 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00012 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00019 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001e 90 npad 1 - -; 5154 : stbi__unpremultiply_on_load_global = flag_true_if_should_unpremultiply; - - 0001f 8b 85 e0 00 00 - 00 mov eax, DWORD PTR flag_true_if_should_unpremultiply$[rbp] - 00025 89 05 00 00 00 - 00 mov DWORD PTR stbi__unpremultiply_on_load_global, eax - -; 5155 : } - - 0002b 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00032 5f pop rdi - 00033 5d pop rbp - 00034 c3 ret 0 -stbi_set_unpremultiply_on_load ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_is_16_bit_from_file -_TEXT SEGMENT -r$ = 4 -s$ = 48 -pos$ = 292 -__$ArrayPad$ = 504 -f$ = 544 -stbi_is_16_bit_from_file PROC ; COMDAT - -; 8212 : { - -$LN3: - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 28 02 - 00 00 sub rsp, 552 ; 00000228H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 00018 b9 52 00 00 00 mov ecx, 82 ; 00000052H - 0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00022 f3 ab rep stosd - 00024 48 8b 8c 24 48 - 02 00 00 mov rcx, QWORD PTR [rsp+584] - 0002c 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00033 48 33 c5 xor rax, rbp - 00036 48 89 85 f8 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0003d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00049 90 npad 1 - -; 8213 : int r; -; 8214 : stbi__context s; -; 8215 : long pos = ftell(f); - - 0004a 48 8b 8d 20 02 - 00 00 mov rcx, QWORD PTR f$[rbp] - 00051 ff 15 00 00 00 - 00 call QWORD PTR __imp_ftell - 00057 89 85 24 01 00 - 00 mov DWORD PTR pos$[rbp], eax - -; 8216 : stbi__start_file(&s, f); - - 0005d 48 8b 95 20 02 - 00 00 mov rdx, QWORD PTR f$[rbp] - 00064 48 8d 4d 30 lea rcx, QWORD PTR s$[rbp] - 00068 e8 00 00 00 00 call stbi__start_file - 0006d 90 npad 1 - -; 8217 : r = stbi__is_16_main(&s); - - 0006e 48 8d 4d 30 lea rcx, QWORD PTR s$[rbp] - 00072 e8 00 00 00 00 call stbi__is_16_main - 00077 89 45 04 mov DWORD PTR r$[rbp], eax - -; 8218 : fseek(f, pos, SEEK_SET); - - 0007a 45 33 c0 xor r8d, r8d - 0007d 8b 95 24 01 00 - 00 mov edx, DWORD PTR pos$[rbp] - 00083 48 8b 8d 20 02 - 00 00 mov rcx, QWORD PTR f$[rbp] - 0008a ff 15 00 00 00 - 00 call QWORD PTR __imp_fseek - 00090 90 npad 1 - -; 8219 : return r; - - 00091 8b 45 04 mov eax, DWORD PTR r$[rbp] - -; 8220 : } - - 00094 8b f8 mov edi, eax - 00096 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 0009a 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_is_16_bit_from_file$rtcFrameData - 000a1 e8 00 00 00 00 call _RTC_CheckStackVars - 000a6 8b c7 mov eax, edi - 000a8 48 8b 8d f8 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 000af 48 33 cd xor rcx, rbp - 000b2 e8 00 00 00 00 call __security_check_cookie - 000b7 48 8d a5 08 02 - 00 00 lea rsp, QWORD PTR [rbp+520] - 000be 5f pop rdi - 000bf 5d pop rbp - 000c0 c3 ret 0 -stbi_is_16_bit_from_file ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_is_16_bit -_TEXT SEGMENT -f$ = 8 -result$ = 36 -filename$ = 288 -stbi_is_16_bit PROC ; COMDAT - -; 8201 : { - -$LN4: - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 28 01 - 00 00 sub rsp, 296 ; 00000128H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 8202 : FILE *f = stbi__fopen(filename, "rb"); - - 00020 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_02JDPG@rb@ - 00027 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR filename$[rbp] - 0002e e8 00 00 00 00 call stbi__fopen - 00033 48 89 45 08 mov QWORD PTR f$[rbp], rax - -; 8203 : int result; -; 8204 : if (!f) - - 00037 48 83 7d 08 00 cmp QWORD PTR f$[rbp], 0 - 0003c 75 0e jne SHORT $LN2@stbi_is_16 - -; 8205 : return stbi__err("can't fopen", "Unable to open file"); - - 0003e 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0M@JPDHFAGK@can?8t?5fopen@ - 00045 e8 00 00 00 00 call stbi__err - 0004a eb 1a jmp SHORT $LN1@stbi_is_16 -$LN2@stbi_is_16: - -; 8206 : result = stbi_is_16_bit_from_file(f); - - 0004c 48 8b 4d 08 mov rcx, QWORD PTR f$[rbp] - 00050 e8 00 00 00 00 call stbi_is_16_bit_from_file - 00055 89 45 24 mov DWORD PTR result$[rbp], eax - -; 8207 : fclose(f); - - 00058 48 8b 4d 08 mov rcx, QWORD PTR f$[rbp] - 0005c ff 15 00 00 00 - 00 call QWORD PTR __imp_fclose - 00062 90 npad 1 - -; 8208 : return result; - - 00063 8b 45 24 mov eax, DWORD PTR result$[rbp] -$LN1@stbi_is_16: - -; 8209 : } - - 00066 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 0006d 5f pop rdi - 0006e 5d pop rbp - 0006f c3 ret 0 -stbi_is_16_bit ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_info_from_file -_TEXT SEGMENT -r$ = 4 -s$ = 48 -pos$ = 292 -__$ArrayPad$ = 504 -f$ = 544 -x$ = 552 -y$ = 560 -comp$ = 568 -stbi_info_from_file PROC ; COMDAT - -; 8190 : { - -$LN3: - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 28 02 - 00 00 sub rsp, 552 ; 00000228H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 00027 b9 52 00 00 00 mov ecx, 82 ; 00000052H - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 48 - 02 00 00 mov rcx, QWORD PTR [rsp+584] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 f8 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 8191 : int r; -; 8192 : stbi__context s; -; 8193 : long pos = ftell(f); - - 00059 48 8b 8d 20 02 - 00 00 mov rcx, QWORD PTR f$[rbp] - 00060 ff 15 00 00 00 - 00 call QWORD PTR __imp_ftell - 00066 89 85 24 01 00 - 00 mov DWORD PTR pos$[rbp], eax - -; 8194 : stbi__start_file(&s, f); - - 0006c 48 8b 95 20 02 - 00 00 mov rdx, QWORD PTR f$[rbp] - 00073 48 8d 4d 30 lea rcx, QWORD PTR s$[rbp] - 00077 e8 00 00 00 00 call stbi__start_file - 0007c 90 npad 1 - -; 8195 : r = stbi__info_main(&s, x, y, comp); - - 0007d 4c 8b 8d 38 02 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00084 4c 8b 85 30 02 - 00 00 mov r8, QWORD PTR y$[rbp] - 0008b 48 8b 95 28 02 - 00 00 mov rdx, QWORD PTR x$[rbp] - 00092 48 8d 4d 30 lea rcx, QWORD PTR s$[rbp] - 00096 e8 00 00 00 00 call stbi__info_main - 0009b 89 45 04 mov DWORD PTR r$[rbp], eax - -; 8196 : fseek(f, pos, SEEK_SET); - - 0009e 45 33 c0 xor r8d, r8d - 000a1 8b 95 24 01 00 - 00 mov edx, DWORD PTR pos$[rbp] - 000a7 48 8b 8d 20 02 - 00 00 mov rcx, QWORD PTR f$[rbp] - 000ae ff 15 00 00 00 - 00 call QWORD PTR __imp_fseek - 000b4 90 npad 1 - -; 8197 : return r; - - 000b5 8b 45 04 mov eax, DWORD PTR r$[rbp] - -; 8198 : } - - 000b8 8b f8 mov edi, eax - 000ba 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 000be 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_info_from_file$rtcFrameData - 000c5 e8 00 00 00 00 call _RTC_CheckStackVars - 000ca 8b c7 mov eax, edi - 000cc 48 8b 8d f8 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 000d3 48 33 cd xor rcx, rbp - 000d6 e8 00 00 00 00 call __security_check_cookie - 000db 48 8d a5 08 02 - 00 00 lea rsp, QWORD PTR [rbp+520] - 000e2 5f pop rdi - 000e3 5d pop rbp - 000e4 c3 ret 0 -stbi_info_from_file ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_info -_TEXT SEGMENT -f$ = 8 -result$ = 36 -filename$ = 288 -x$ = 296 -y$ = 304 -comp$ = 312 -stbi_info PROC ; COMDAT - -; 8179 : { - -$LN4: - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 28 01 - 00 00 sub rsp, 296 ; 00000128H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 8180 : FILE *f = stbi__fopen(filename, "rb"); - - 0002f 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_02JDPG@rb@ - 00036 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR filename$[rbp] - 0003d e8 00 00 00 00 call stbi__fopen - 00042 48 89 45 08 mov QWORD PTR f$[rbp], rax - -; 8181 : int result; -; 8182 : if (!f) - - 00046 48 83 7d 08 00 cmp QWORD PTR f$[rbp], 0 - 0004b 75 0e jne SHORT $LN2@stbi_info - -; 8183 : return stbi__err("can't fopen", "Unable to open file"); - - 0004d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0M@JPDHFAGK@can?8t?5fopen@ - 00054 e8 00 00 00 00 call stbi__err - 00059 eb 2f jmp SHORT $LN1@stbi_info -$LN2@stbi_info: - -; 8184 : result = stbi_info_from_file(f, x, y, comp); - - 0005b 4c 8b 8d 38 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00062 4c 8b 85 30 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 00069 48 8b 95 28 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 00070 48 8b 4d 08 mov rcx, QWORD PTR f$[rbp] - 00074 e8 00 00 00 00 call stbi_info_from_file - 00079 89 45 24 mov DWORD PTR result$[rbp], eax - -; 8185 : fclose(f); - - 0007c 48 8b 4d 08 mov rcx, QWORD PTR f$[rbp] - 00080 ff 15 00 00 00 - 00 call QWORD PTR __imp_fclose - 00086 90 npad 1 - -; 8186 : return result; - - 00087 8b 45 24 mov eax, DWORD PTR result$[rbp] -$LN1@stbi_info: - -; 8187 : } - - 0008a 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 00091 5f pop rdi - 00092 5d pop rbp - 00093 c3 ret 0 -stbi_info ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_is_16_bit_from_callbacks -_TEXT SEGMENT -s$ = 16 -__$ArrayPad$ = 440 -c$ = 480 -user$ = 488 -stbi_is_16_bit_from_callbacks PROC ; COMDAT - -; 8246 : { - -$LN3: - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec e8 01 - 00 00 sub rsp, 488 ; 000001e8H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 0001d b9 42 00 00 00 mov ecx, 66 ; 00000042H - 00022 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00027 f3 ab rep stosd - 00029 48 8b 8c 24 08 - 02 00 00 mov rcx, QWORD PTR [rsp+520] - 00031 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00038 48 33 c5 xor rax, rbp - 0003b 48 89 85 b8 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 00042 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00049 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0004e 90 npad 1 - -; 8247 : stbi__context s; -; 8248 : stbi__start_callbacks(&s, (stbi_io_callbacks *)c, user); - - 0004f 4c 8b 85 e8 01 - 00 00 mov r8, QWORD PTR user$[rbp] - 00056 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR c$[rbp] - 0005d 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 00061 e8 00 00 00 00 call stbi__start_callbacks - 00066 90 npad 1 - -; 8249 : return stbi__is_16_main(&s); - - 00067 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 0006b e8 00 00 00 00 call stbi__is_16_main - -; 8250 : } - - 00070 48 8b f8 mov rdi, rax - 00073 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 00077 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_is_16_bit_from_callbacks$rtcFrameData - 0007e e8 00 00 00 00 call _RTC_CheckStackVars - 00083 48 8b c7 mov rax, rdi - 00086 48 8b 8d b8 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 0008d 48 33 cd xor rcx, rbp - 00090 e8 00 00 00 00 call __security_check_cookie - 00095 48 8d a5 c8 01 - 00 00 lea rsp, QWORD PTR [rbp+456] - 0009c 5f pop rdi - 0009d 5d pop rbp - 0009e c3 ret 0 -stbi_is_16_bit_from_callbacks ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_is_16_bit_from_memory -_TEXT SEGMENT -s$ = 16 -__$ArrayPad$ = 440 -buffer$ = 480 -len$ = 488 -stbi_is_16_bit_from_memory PROC ; COMDAT - -; 8239 : { - -$LN3: - 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00009 55 push rbp - 0000a 57 push rdi - 0000b 48 81 ec e8 01 - 00 00 sub rsp, 488 ; 000001e8H - 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00017 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 0001c b9 42 00 00 00 mov ecx, 66 ; 00000042H - 00021 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00026 f3 ab rep stosd - 00028 48 8b 8c 24 08 - 02 00 00 mov rcx, QWORD PTR [rsp+520] - 00030 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00037 48 33 c5 xor rax, rbp - 0003a 48 89 85 b8 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 00041 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00048 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0004d 90 npad 1 - -; 8240 : stbi__context s; -; 8241 : stbi__start_mem(&s, buffer, len); - - 0004e 44 8b 85 e8 01 - 00 00 mov r8d, DWORD PTR len$[rbp] - 00055 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR buffer$[rbp] - 0005c 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 00060 e8 00 00 00 00 call stbi__start_mem - 00065 90 npad 1 - -; 8242 : return stbi__is_16_main(&s); - - 00066 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 0006a e8 00 00 00 00 call stbi__is_16_main - -; 8243 : } - - 0006f 48 8b f8 mov rdi, rax - 00072 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 00076 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_is_16_bit_from_memory$rtcFrameData - 0007d e8 00 00 00 00 call _RTC_CheckStackVars - 00082 48 8b c7 mov rax, rdi - 00085 48 8b 8d b8 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 0008c 48 33 cd xor rcx, rbp - 0008f e8 00 00 00 00 call __security_check_cookie - 00094 48 8d a5 c8 01 - 00 00 lea rsp, QWORD PTR [rbp+456] - 0009b 5f pop rdi - 0009c 5d pop rbp - 0009d c3 ret 0 -stbi_is_16_bit_from_memory ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_info_from_callbacks -_TEXT SEGMENT -s$ = 16 -__$ArrayPad$ = 440 -c$ = 480 -user$ = 488 -x$ = 496 -y$ = 504 -comp$ = 512 -stbi_info_from_callbacks PROC ; COMDAT - -; 8232 : { - -$LN3: - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec e8 01 - 00 00 sub rsp, 488 ; 000001e8H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 00027 b9 42 00 00 00 mov ecx, 66 ; 00000042H - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 08 - 02 00 00 mov rcx, QWORD PTR [rsp+520] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 b8 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 8233 : stbi__context s; -; 8234 : stbi__start_callbacks(&s, (stbi_io_callbacks *)c, user); - - 00059 4c 8b 85 e8 01 - 00 00 mov r8, QWORD PTR user$[rbp] - 00060 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR c$[rbp] - 00067 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 0006b e8 00 00 00 00 call stbi__start_callbacks - 00070 90 npad 1 - -; 8235 : return stbi__info_main(&s, x, y, comp); - - 00071 4c 8b 8d 00 02 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00078 4c 8b 85 f8 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 0007f 48 8b 95 f0 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 00086 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 0008a e8 00 00 00 00 call stbi__info_main - -; 8236 : } - - 0008f 48 8b f8 mov rdi, rax - 00092 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 00096 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_info_from_callbacks$rtcFrameData - 0009d e8 00 00 00 00 call _RTC_CheckStackVars - 000a2 48 8b c7 mov rax, rdi - 000a5 48 8b 8d b8 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 000ac 48 33 cd xor rcx, rbp - 000af e8 00 00 00 00 call __security_check_cookie - 000b4 48 8d a5 c8 01 - 00 00 lea rsp, QWORD PTR [rbp+456] - 000bb 5f pop rdi - 000bc 5d pop rbp - 000bd c3 ret 0 -stbi_info_from_callbacks ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_info_from_memory -_TEXT SEGMENT -s$ = 16 -__$ArrayPad$ = 440 -buffer$ = 480 -len$ = 488 -x$ = 496 -y$ = 504 -comp$ = 512 -stbi_info_from_memory PROC ; COMDAT - -; 8224 : { - -$LN3: - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx - 0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00013 55 push rbp - 00014 57 push rdi - 00015 48 81 ec e8 01 - 00 00 sub rsp, 488 ; 000001e8H - 0001c 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00021 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 00026 b9 42 00 00 00 mov ecx, 66 ; 00000042H - 0002b b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00030 f3 ab rep stosd - 00032 48 8b 8c 24 08 - 02 00 00 mov rcx, QWORD PTR [rsp+520] - 0003a 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00041 48 33 c5 xor rax, rbp - 00044 48 89 85 b8 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00052 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00057 90 npad 1 - -; 8225 : stbi__context s; -; 8226 : stbi__start_mem(&s, buffer, len); - - 00058 44 8b 85 e8 01 - 00 00 mov r8d, DWORD PTR len$[rbp] - 0005f 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR buffer$[rbp] - 00066 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 0006a e8 00 00 00 00 call stbi__start_mem - 0006f 90 npad 1 - -; 8227 : return stbi__info_main(&s, x, y, comp); - - 00070 4c 8b 8d 00 02 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00077 4c 8b 85 f8 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 0007e 48 8b 95 f0 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 00085 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 00089 e8 00 00 00 00 call stbi__info_main - -; 8228 : } - - 0008e 48 8b f8 mov rdi, rax - 00091 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 00095 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_info_from_memory$rtcFrameData - 0009c e8 00 00 00 00 call _RTC_CheckStackVars - 000a1 48 8b c7 mov rax, rdi - 000a4 48 8b 8d b8 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 000ab 48 33 cd xor rcx, rbp - 000ae e8 00 00 00 00 call __security_check_cookie - 000b3 48 8d a5 c8 01 - 00 00 lea rsp, QWORD PTR [rbp+456] - 000ba 5f pop rdi - 000bb 5d pop rbp - 000bc c3 ret 0 -stbi_info_from_memory ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_image_free -_TEXT SEGMENT -retval_from_stbi_load$ = 224 -stbi_image_free PROC ; COMDAT - -; 574 : { - -$LN3: - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 575 : STBI_FREE(retval_from_stbi_load); - - 00020 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR retval_from_stbi_load$[rbp] - 00027 ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 0002d 90 npad 1 - -; 576 : } - - 0002e 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00035 5f pop rdi - 00036 5d pop rbp - 00037 c3 ret 0 -stbi_image_free ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_failure_reason -_TEXT SEGMENT -stbi_failure_reason PROC ; COMDAT - -; 430 : { - -$LN3: - 00000 40 55 push rbp - 00002 57 push rdi - 00003 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0000f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001b 90 npad 1 - -; 431 : return stbi__g_failure_reason; - - 0001c b8 00 00 00 00 mov eax, OFFSET FLAT:stbi__g_failure_reason - 00021 8b c0 mov eax, eax - 00023 8b 0d 00 00 00 - 00 mov ecx, DWORD PTR _tls_index - 00029 65 48 8b 14 25 - 58 00 00 00 mov rdx, QWORD PTR gs:88 - 00032 48 8b 0c ca mov rcx, QWORD PTR [rdx+rcx*8] - 00036 48 8b 04 08 mov rax, QWORD PTR [rax+rcx] - -; 432 : } - - 0003a 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00041 5f pop rdi - 00042 5d pop rbp - 00043 c3 ret 0 -stbi_failure_reason ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_is_hdr_from_file -_TEXT SEGMENT -pos$ = 4 -res$ = 36 -s$ = 80 -__$ArrayPad$ = 504 -f$ = 544 -stbi_is_hdr_from_file PROC ; COMDAT - -; 1064 : { - -$LN3: - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 28 02 - 00 00 sub rsp, 552 ; 00000228H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 00018 b9 52 00 00 00 mov ecx, 82 ; 00000052H - 0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00022 f3 ab rep stosd - 00024 48 8b 8c 24 48 - 02 00 00 mov rcx, QWORD PTR [rsp+584] - 0002c 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00033 48 33 c5 xor rax, rbp - 00036 48 89 85 f8 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0003d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00049 90 npad 1 - -; 1065 : #ifndef STBI_NO_HDR -; 1066 : long pos = ftell(f); - - 0004a 48 8b 8d 20 02 - 00 00 mov rcx, QWORD PTR f$[rbp] - 00051 ff 15 00 00 00 - 00 call QWORD PTR __imp_ftell - 00057 89 45 04 mov DWORD PTR pos$[rbp], eax - -; 1067 : int res; -; 1068 : stbi__context s; -; 1069 : stbi__start_file(&s, f); - - 0005a 48 8b 95 20 02 - 00 00 mov rdx, QWORD PTR f$[rbp] - 00061 48 8d 4d 50 lea rcx, QWORD PTR s$[rbp] - 00065 e8 00 00 00 00 call stbi__start_file - 0006a 90 npad 1 - -; 1070 : res = stbi__hdr_test(&s); - - 0006b 48 8d 4d 50 lea rcx, QWORD PTR s$[rbp] - 0006f e8 00 00 00 00 call stbi__hdr_test - 00074 89 45 24 mov DWORD PTR res$[rbp], eax - -; 1071 : fseek(f, pos, SEEK_SET); - - 00077 45 33 c0 xor r8d, r8d - 0007a 8b 55 04 mov edx, DWORD PTR pos$[rbp] - 0007d 48 8b 8d 20 02 - 00 00 mov rcx, QWORD PTR f$[rbp] - 00084 ff 15 00 00 00 - 00 call QWORD PTR __imp_fseek - 0008a 90 npad 1 - -; 1072 : return res; - - 0008b 8b 45 24 mov eax, DWORD PTR res$[rbp] - -; 1073 : #else -; 1074 : STBI_NOTUSED(f); -; 1075 : return 0; -; 1076 : #endif -; 1077 : } - - 0008e 8b f8 mov edi, eax - 00090 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 00094 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_is_hdr_from_file$rtcFrameData - 0009b e8 00 00 00 00 call _RTC_CheckStackVars - 000a0 8b c7 mov eax, edi - 000a2 48 8b 8d f8 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 000a9 48 33 cd xor rcx, rbp - 000ac e8 00 00 00 00 call __security_check_cookie - 000b1 48 8d a5 08 02 - 00 00 lea rsp, QWORD PTR [rbp+520] - 000b8 5f pop rdi - 000b9 5d pop rbp - 000ba c3 ret 0 -stbi_is_hdr_from_file ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_is_hdr -_TEXT SEGMENT -f$ = 8 -result$ = 36 -filename$ = 288 -stbi_is_hdr PROC ; COMDAT - -; 1053 : { - -$LN4: - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 28 01 - 00 00 sub rsp, 296 ; 00000128H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 1054 : FILE *f = stbi__fopen(filename, "rb"); - - 00020 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_02JDPG@rb@ - 00027 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR filename$[rbp] - 0002e e8 00 00 00 00 call stbi__fopen - 00033 48 89 45 08 mov QWORD PTR f$[rbp], rax - -; 1055 : int result = 0; - - 00037 c7 45 24 00 00 - 00 00 mov DWORD PTR result$[rbp], 0 - -; 1056 : if (f) { - - 0003e 48 83 7d 08 00 cmp QWORD PTR f$[rbp], 0 - 00043 74 17 je SHORT $LN2@stbi_is_hd - -; 1057 : result = stbi_is_hdr_from_file(f); - - 00045 48 8b 4d 08 mov rcx, QWORD PTR f$[rbp] - 00049 e8 00 00 00 00 call stbi_is_hdr_from_file - 0004e 89 45 24 mov DWORD PTR result$[rbp], eax - -; 1058 : fclose(f); - - 00051 48 8b 4d 08 mov rcx, QWORD PTR f$[rbp] - 00055 ff 15 00 00 00 - 00 call QWORD PTR __imp_fclose - 0005b 90 npad 1 -$LN2@stbi_is_hd: - -; 1059 : } -; 1060 : return result; - - 0005c 8b 45 24 mov eax, DWORD PTR result$[rbp] - -; 1061 : } - - 0005f 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 00066 5f pop rdi - 00067 5d pop rbp - 00068 c3 ret 0 -stbi_is_hdr ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_is_hdr_from_memory -_TEXT SEGMENT -s$ = 16 -__$ArrayPad$ = 440 -buffer$ = 480 -len$ = 488 -stbi_is_hdr_from_memory PROC ; COMDAT - -; 1039 : { - -$LN3: - 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00009 55 push rbp - 0000a 57 push rdi - 0000b 48 81 ec e8 01 - 00 00 sub rsp, 488 ; 000001e8H - 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00017 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 0001c b9 42 00 00 00 mov ecx, 66 ; 00000042H - 00021 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00026 f3 ab rep stosd - 00028 48 8b 8c 24 08 - 02 00 00 mov rcx, QWORD PTR [rsp+520] - 00030 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00037 48 33 c5 xor rax, rbp - 0003a 48 89 85 b8 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 00041 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00048 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0004d 90 npad 1 - -; 1040 : #ifndef STBI_NO_HDR -; 1041 : stbi__context s; -; 1042 : stbi__start_mem(&s, buffer, len); - - 0004e 44 8b 85 e8 01 - 00 00 mov r8d, DWORD PTR len$[rbp] - 00055 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR buffer$[rbp] - 0005c 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 00060 e8 00 00 00 00 call stbi__start_mem - 00065 90 npad 1 - -; 1043 : return stbi__hdr_test(&s); - - 00066 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 0006a e8 00 00 00 00 call stbi__hdr_test - -; 1044 : #else -; 1045 : STBI_NOTUSED(buffer); -; 1046 : STBI_NOTUSED(len); -; 1047 : return 0; -; 1048 : #endif -; 1049 : } - - 0006f 48 8b f8 mov rdi, rax - 00072 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 00076 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_is_hdr_from_memory$rtcFrameData - 0007d e8 00 00 00 00 call _RTC_CheckStackVars - 00082 48 8b c7 mov rax, rdi - 00085 48 8b 8d b8 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 0008c 48 33 cd xor rcx, rbp - 0008f e8 00 00 00 00 call __security_check_cookie - 00094 48 8d a5 c8 01 - 00 00 lea rsp, QWORD PTR [rbp+456] - 0009b 5f pop rdi - 0009c 5d pop rbp - 0009d c3 ret 0 -stbi_is_hdr_from_memory ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_is_hdr_from_callbacks -_TEXT SEGMENT -s$ = 16 -__$ArrayPad$ = 440 -clbk$ = 480 -user$ = 488 -stbi_is_hdr_from_callbacks PROC ; COMDAT - -; 1081 : { - -$LN3: - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec e8 01 - 00 00 sub rsp, 488 ; 000001e8H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 0001d b9 42 00 00 00 mov ecx, 66 ; 00000042H - 00022 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00027 f3 ab rep stosd - 00029 48 8b 8c 24 08 - 02 00 00 mov rcx, QWORD PTR [rsp+520] - 00031 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00038 48 33 c5 xor rax, rbp - 0003b 48 89 85 b8 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 00042 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00049 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0004e 90 npad 1 - -; 1082 : #ifndef STBI_NO_HDR -; 1083 : stbi__context s; -; 1084 : stbi__start_callbacks(&s, (stbi_io_callbacks *)clbk, user); - - 0004f 4c 8b 85 e8 01 - 00 00 mov r8, QWORD PTR user$[rbp] - 00056 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR clbk$[rbp] - 0005d 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 00061 e8 00 00 00 00 call stbi__start_callbacks - 00066 90 npad 1 - -; 1085 : return stbi__hdr_test(&s); - - 00067 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 0006b e8 00 00 00 00 call stbi__hdr_test - -; 1086 : #else -; 1087 : STBI_NOTUSED(clbk); -; 1088 : STBI_NOTUSED(user); -; 1089 : return 0; -; 1090 : #endif -; 1091 : } - - 00070 48 8b f8 mov rdi, rax - 00073 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 00077 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_is_hdr_from_callbacks$rtcFrameData - 0007e e8 00 00 00 00 call _RTC_CheckStackVars - 00083 48 8b c7 mov rax, rdi - 00086 48 8b 8d b8 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 0008d 48 33 cd xor rcx, rbp - 00090 e8 00 00 00 00 call __security_check_cookie - 00095 48 8d a5 c8 01 - 00 00 lea rsp, QWORD PTR [rbp+456] - 0009c 5f pop rdi - 0009d 5d pop rbp - 0009e c3 ret 0 -stbi_is_hdr_from_callbacks ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_ldr_to_hdr_scale -_TEXT SEGMENT -scale$ = 224 -stbi_ldr_to_hdr_scale PROC ; COMDAT - -; 1101 : { - -$LN3: - 00000 f3 0f 11 44 24 - 08 movss DWORD PTR [rsp+8], xmm0 - 00006 55 push rbp - 00007 57 push rdi - 00008 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000f 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00014 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001b e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00020 90 npad 1 - -; 1102 : stbi__l2h_scale = scale; - - 00021 f3 0f 10 85 e0 - 00 00 00 movss xmm0, DWORD PTR scale$[rbp] - 00029 f3 0f 11 05 00 - 00 00 00 movss DWORD PTR stbi__l2h_scale, xmm0 - -; 1103 : } - - 00031 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00038 5f pop rdi - 00039 5d pop rbp - 0003a c3 ret 0 -stbi_ldr_to_hdr_scale ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_ldr_to_hdr_gamma -_TEXT SEGMENT -gamma$ = 224 -stbi_ldr_to_hdr_gamma PROC ; COMDAT - -; 1097 : { - -$LN3: - 00000 f3 0f 11 44 24 - 08 movss DWORD PTR [rsp+8], xmm0 - 00006 55 push rbp - 00007 57 push rdi - 00008 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000f 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00014 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001b e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00020 90 npad 1 - -; 1098 : stbi__l2h_gamma = gamma; - - 00021 f3 0f 10 85 e0 - 00 00 00 movss xmm0, DWORD PTR gamma$[rbp] - 00029 f3 0f 11 05 00 - 00 00 00 movss DWORD PTR stbi__l2h_gamma, xmm0 - -; 1099 : } - - 00031 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00038 5f pop rdi - 00039 5d pop rbp - 0003a c3 ret 0 -stbi_ldr_to_hdr_gamma ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_hdr_to_ldr_scale -_TEXT SEGMENT -scale$ = 224 -stbi_hdr_to_ldr_scale PROC ; COMDAT - -; 1113 : { - -$LN3: - 00000 f3 0f 11 44 24 - 08 movss DWORD PTR [rsp+8], xmm0 - 00006 55 push rbp - 00007 57 push rdi - 00008 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000f 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00014 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001b e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00020 90 npad 1 - -; 1114 : stbi__h2l_scale_i = 1 / scale; - - 00021 f3 0f 10 05 00 - 00 00 00 movss xmm0, DWORD PTR __real@3f800000 - 00029 f3 0f 5e 85 e0 - 00 00 00 divss xmm0, DWORD PTR scale$[rbp] - 00031 f3 0f 11 05 00 - 00 00 00 movss DWORD PTR stbi__h2l_scale_i, xmm0 - -; 1115 : } - - 00039 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00040 5f pop rdi - 00041 5d pop rbp - 00042 c3 ret 0 -stbi_hdr_to_ldr_scale ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_hdr_to_ldr_gamma -_TEXT SEGMENT -gamma$ = 224 -stbi_hdr_to_ldr_gamma PROC ; COMDAT - -; 1109 : { - -$LN3: - 00000 f3 0f 11 44 24 - 08 movss DWORD PTR [rsp+8], xmm0 - 00006 55 push rbp - 00007 57 push rdi - 00008 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000f 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00014 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 0001b e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00020 90 npad 1 - -; 1110 : stbi__h2l_gamma_i = 1 / gamma; - - 00021 f3 0f 10 05 00 - 00 00 00 movss xmm0, DWORD PTR __real@3f800000 - 00029 f3 0f 5e 85 e0 - 00 00 00 divss xmm0, DWORD PTR gamma$[rbp] - 00031 f3 0f 11 05 00 - 00 00 00 movss DWORD PTR stbi__h2l_gamma_i, xmm0 - -; 1111 : } - - 00039 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00040 5f pop rdi - 00041 5d pop rbp - 00042 c3 ret 0 -stbi_hdr_to_ldr_gamma ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_loadf_from_file -_TEXT SEGMENT -s$ = 16 -__$ArrayPad$ = 440 -f$ = 480 -x$ = 488 -y$ = 496 -comp$ = 504 -req_comp$ = 512 -stbi_loadf_from_file PROC ; COMDAT - -; 1025 : { - -$LN3: - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec f8 01 - 00 00 sub rsp, 504 ; 000001f8H - 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00022 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 00027 b9 42 00 00 00 mov ecx, 66 ; 00000042H - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 18 - 02 00 00 mov rcx, QWORD PTR [rsp+536] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 b8 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 1026 : stbi__context s; -; 1027 : stbi__start_file(&s, f); - - 00059 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR f$[rbp] - 00060 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 00064 e8 00 00 00 00 call stbi__start_file - 00069 90 npad 1 - -; 1028 : return stbi__loadf_main(&s, x, y, comp, req_comp); - - 0006a 8b 85 00 02 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 00070 89 44 24 20 mov DWORD PTR [rsp+32], eax - 00074 4c 8b 8d f8 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 0007b 4c 8b 85 f0 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 00082 48 8b 95 e8 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 00089 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 0008d e8 00 00 00 00 call stbi__loadf_main - -; 1029 : } - - 00092 48 8b f8 mov rdi, rax - 00095 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 00099 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_loadf_from_file$rtcFrameData - 000a0 e8 00 00 00 00 call _RTC_CheckStackVars - 000a5 48 8b c7 mov rax, rdi - 000a8 48 8b 8d b8 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 000af 48 33 cd xor rcx, rbp - 000b2 e8 00 00 00 00 call __security_check_cookie - 000b7 48 8d a5 c8 01 - 00 00 lea rsp, QWORD PTR [rbp+456] - 000be 5f pop rdi - 000bf 5d pop rbp - 000c0 c3 ret 0 -stbi_loadf_from_file ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_loadf -_TEXT SEGMENT -result$ = 8 -f$ = 40 -tv71 = 248 -filename$ = 288 -x$ = 296 -y$ = 304 -comp$ = 312 -req_comp$ = 320 -stbi_loadf PROC ; COMDAT - -; 1014 : { - -$LN6: - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 38 01 - 00 00 sub rsp, 312 ; 00000138H - 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 1015 : float *result; -; 1016 : FILE *f = stbi__fopen(filename, "rb"); - - 0002f 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_02JDPG@rb@ - 00036 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR filename$[rbp] - 0003d e8 00 00 00 00 call stbi__fopen - 00042 48 89 45 28 mov QWORD PTR f$[rbp], rax - -; 1017 : if (!f) - - 00046 48 83 7d 28 00 cmp QWORD PTR f$[rbp], 0 - 0004b 75 31 jne SHORT $LN2@stbi_loadf - -; 1018 : return stbi__errpf("can't fopen", "Unable to open file"); - - 0004d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0M@JPDHFAGK@can?8t?5fopen@ - 00054 e8 00 00 00 00 call stbi__err - 00059 85 c0 test eax, eax - 0005b 74 0d je SHORT $LN4@stbi_loadf - 0005d 48 c7 85 f8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv71[rbp], 0 - 00068 eb 0b jmp SHORT $LN5@stbi_loadf -$LN4@stbi_loadf: - 0006a 48 c7 85 f8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv71[rbp], 0 -$LN5@stbi_loadf: - 00075 48 8b 85 f8 00 - 00 00 mov rax, QWORD PTR tv71[rbp] - 0007c eb 3b jmp SHORT $LN1@stbi_loadf -$LN2@stbi_loadf: - -; 1019 : result = stbi_loadf_from_file(f, x, y, comp, req_comp); - - 0007e 8b 85 40 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 00084 89 44 24 20 mov DWORD PTR [rsp+32], eax - 00088 4c 8b 8d 38 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 0008f 4c 8b 85 30 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 00096 48 8b 95 28 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 0009d 48 8b 4d 28 mov rcx, QWORD PTR f$[rbp] - 000a1 e8 00 00 00 00 call stbi_loadf_from_file - 000a6 48 89 45 08 mov QWORD PTR result$[rbp], rax - -; 1020 : fclose(f); - - 000aa 48 8b 4d 28 mov rcx, QWORD PTR f$[rbp] - 000ae ff 15 00 00 00 - 00 call QWORD PTR __imp_fclose - 000b4 90 npad 1 - -; 1021 : return result; - - 000b5 48 8b 45 08 mov rax, QWORD PTR result$[rbp] -$LN1@stbi_loadf: - -; 1022 : } - - 000b9 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 000c0 5f pop rdi - 000c1 5d pop rbp - 000c2 c3 ret 0 -stbi_loadf ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_loadf_from_callbacks -_TEXT SEGMENT -s$ = 16 -__$ArrayPad$ = 440 -clbk$ = 480 -user$ = 488 -x$ = 496 -y$ = 504 -comp$ = 512 -req_comp$ = 520 -stbi_loadf_from_callbacks PROC ; COMDAT - -; 1006 : { - -$LN3: - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec f8 01 - 00 00 sub rsp, 504 ; 000001f8H - 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00022 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 00027 b9 42 00 00 00 mov ecx, 66 ; 00000042H - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 18 - 02 00 00 mov rcx, QWORD PTR [rsp+536] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 b8 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 1007 : stbi__context s; -; 1008 : stbi__start_callbacks(&s, (stbi_io_callbacks *)clbk, user); - - 00059 4c 8b 85 e8 01 - 00 00 mov r8, QWORD PTR user$[rbp] - 00060 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR clbk$[rbp] - 00067 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 0006b e8 00 00 00 00 call stbi__start_callbacks - 00070 90 npad 1 - -; 1009 : return stbi__loadf_main(&s, x, y, comp, req_comp); - - 00071 8b 85 08 02 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 00077 89 44 24 20 mov DWORD PTR [rsp+32], eax - 0007b 4c 8b 8d 00 02 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00082 4c 8b 85 f8 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 00089 48 8b 95 f0 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 00090 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 00094 e8 00 00 00 00 call stbi__loadf_main - -; 1010 : } - - 00099 48 8b f8 mov rdi, rax - 0009c 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 000a0 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_loadf_from_callbacks$rtcFrameData - 000a7 e8 00 00 00 00 call _RTC_CheckStackVars - 000ac 48 8b c7 mov rax, rdi - 000af 48 8b 8d b8 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 000b6 48 33 cd xor rcx, rbp - 000b9 e8 00 00 00 00 call __security_check_cookie - 000be 48 8d a5 c8 01 - 00 00 lea rsp, QWORD PTR [rbp+456] - 000c5 5f pop rdi - 000c6 5d pop rbp - 000c7 c3 ret 0 -stbi_loadf_from_callbacks ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_loadf_from_memory -_TEXT SEGMENT -s$ = 16 -__$ArrayPad$ = 440 -buffer$ = 480 -len$ = 488 -x$ = 496 -y$ = 504 -comp$ = 512 -req_comp$ = 520 -stbi_loadf_from_memory PROC ; COMDAT - -; 998 : { - -$LN3: - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx - 0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00013 55 push rbp - 00014 57 push rdi - 00015 48 81 ec f8 01 - 00 00 sub rsp, 504 ; 000001f8H - 0001c 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00021 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 00026 b9 42 00 00 00 mov ecx, 66 ; 00000042H - 0002b b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00030 f3 ab rep stosd - 00032 48 8b 8c 24 18 - 02 00 00 mov rcx, QWORD PTR [rsp+536] - 0003a 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00041 48 33 c5 xor rax, rbp - 00044 48 89 85 b8 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00052 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00057 90 npad 1 - -; 999 : stbi__context s; -; 1000 : stbi__start_mem(&s, buffer, len); - - 00058 44 8b 85 e8 01 - 00 00 mov r8d, DWORD PTR len$[rbp] - 0005f 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR buffer$[rbp] - 00066 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 0006a e8 00 00 00 00 call stbi__start_mem - 0006f 90 npad 1 - -; 1001 : return stbi__loadf_main(&s, x, y, comp, req_comp); - - 00070 8b 85 08 02 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 00076 89 44 24 20 mov DWORD PTR [rsp+32], eax - 0007a 4c 8b 8d 00 02 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00081 4c 8b 85 f8 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 00088 48 8b 95 f0 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 0008f 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 00093 e8 00 00 00 00 call stbi__loadf_main - -; 1002 : } - - 00098 48 8b f8 mov rdi, rax - 0009b 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 0009f 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_loadf_from_memory$rtcFrameData - 000a6 e8 00 00 00 00 call _RTC_CheckStackVars - 000ab 48 8b c7 mov rax, rdi - 000ae 48 8b 8d b8 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 000b5 48 33 cd xor rcx, rbp - 000b8 e8 00 00 00 00 call __security_check_cookie - 000bd 48 8d a5 c8 01 - 00 00 lea rsp, QWORD PTR [rbp+456] - 000c4 5f pop rdi - 000c5 5d pop rbp - 000c6 c3 ret 0 -stbi_loadf_from_memory ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_load_from_file_16 -_TEXT SEGMENT -result$ = 8 -s$ = 48 -__$ArrayPad$ = 472 -f$ = 512 -x$ = 520 -y$ = 528 -comp$ = 536 -req_comp$ = 544 -stbi_load_from_file_16 PROC ; COMDAT - -; 903 : { - -$LN4: - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 18 02 - 00 00 sub rsp, 536 ; 00000218H - 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00022 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 00027 b9 4a 00 00 00 mov ecx, 74 ; 0000004aH - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 38 - 02 00 00 mov rcx, QWORD PTR [rsp+568] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 d8 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 904 : stbi__uint16 *result; -; 905 : stbi__context s; -; 906 : stbi__start_file(&s, f); - - 00059 48 8b 95 00 02 - 00 00 mov rdx, QWORD PTR f$[rbp] - 00060 48 8d 4d 30 lea rcx, QWORD PTR s$[rbp] - 00064 e8 00 00 00 00 call stbi__start_file - 00069 90 npad 1 - -; 907 : result = stbi__load_and_postprocess_16bit(&s, x, y, comp, req_comp); - - 0006a 8b 85 20 02 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 00070 89 44 24 20 mov DWORD PTR [rsp+32], eax - 00074 4c 8b 8d 18 02 - 00 00 mov r9, QWORD PTR comp$[rbp] - 0007b 4c 8b 85 10 02 - 00 00 mov r8, QWORD PTR y$[rbp] - 00082 48 8b 95 08 02 - 00 00 mov rdx, QWORD PTR x$[rbp] - 00089 48 8d 4d 30 lea rcx, QWORD PTR s$[rbp] - 0008d e8 00 00 00 00 call stbi__load_and_postprocess_16bit - 00092 48 89 45 08 mov QWORD PTR result$[rbp], rax - -; 908 : if (result) { - - 00096 48 83 7d 08 00 cmp QWORD PTR result$[rbp], 0 - 0009b 74 2c je SHORT $LN2@stbi_load_ - -; 909 : // need to 'unget' all the characters in the IO buffer -; 910 : fseek(f, -(int)(s.img_buffer_end - s.img_buffer), SEEK_CUR); - - 0009d 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp+192] - 000a4 48 8b 8d f8 00 - 00 00 mov rcx, QWORD PTR s$[rbp+200] - 000ab 48 2b c8 sub rcx, rax - 000ae 48 8b c1 mov rax, rcx - 000b1 f7 d8 neg eax - 000b3 41 b8 01 00 00 - 00 mov r8d, 1 - 000b9 8b d0 mov edx, eax - 000bb 48 8b 8d 00 02 - 00 00 mov rcx, QWORD PTR f$[rbp] - 000c2 ff 15 00 00 00 - 00 call QWORD PTR __imp_fseek - 000c8 90 npad 1 -$LN2@stbi_load_: - -; 911 : } -; 912 : return result; - - 000c9 48 8b 45 08 mov rax, QWORD PTR result$[rbp] - -; 913 : } - - 000cd 48 8b f8 mov rdi, rax - 000d0 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 000d4 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_load_from_file_16$rtcFrameData - 000db e8 00 00 00 00 call _RTC_CheckStackVars - 000e0 48 8b c7 mov rax, rdi - 000e3 48 8b 8d d8 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 000ea 48 33 cd xor rcx, rbp - 000ed e8 00 00 00 00 call __security_check_cookie - 000f2 48 8d a5 e8 01 - 00 00 lea rsp, QWORD PTR [rbp+488] - 000f9 5f pop rdi - 000fa 5d pop rbp - 000fb c3 ret 0 -stbi_load_from_file_16 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_load_16 -_TEXT SEGMENT -f$ = 8 -result$ = 40 -tv71 = 248 -filename$ = 288 -x$ = 296 -y$ = 304 -comp$ = 312 -req_comp$ = 320 -stbi_load_16 PROC ; COMDAT - -; 916 : { - -$LN6: - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 38 01 - 00 00 sub rsp, 312 ; 00000138H - 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 917 : FILE *f = stbi__fopen(filename, "rb"); - - 0002f 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_02JDPG@rb@ - 00036 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR filename$[rbp] - 0003d e8 00 00 00 00 call stbi__fopen - 00042 48 89 45 08 mov QWORD PTR f$[rbp], rax - -; 918 : stbi__uint16 *result; -; 919 : if (!f) - - 00046 48 83 7d 08 00 cmp QWORD PTR f$[rbp], 0 - 0004b 75 31 jne SHORT $LN2@stbi_load_ - -; 920 : return (stbi_us *)stbi__errpuc("can't fopen", "Unable to open file"); - - 0004d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0M@JPDHFAGK@can?8t?5fopen@ - 00054 e8 00 00 00 00 call stbi__err - 00059 85 c0 test eax, eax - 0005b 74 0d je SHORT $LN4@stbi_load_ - 0005d 48 c7 85 f8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv71[rbp], 0 - 00068 eb 0b jmp SHORT $LN5@stbi_load_ -$LN4@stbi_load_: - 0006a 48 c7 85 f8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv71[rbp], 0 -$LN5@stbi_load_: - 00075 48 8b 85 f8 00 - 00 00 mov rax, QWORD PTR tv71[rbp] - 0007c eb 3b jmp SHORT $LN1@stbi_load_ -$LN2@stbi_load_: - -; 921 : result = stbi_load_from_file_16(f, x, y, comp, req_comp); - - 0007e 8b 85 40 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 00084 89 44 24 20 mov DWORD PTR [rsp+32], eax - 00088 4c 8b 8d 38 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 0008f 4c 8b 85 30 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 00096 48 8b 95 28 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 0009d 48 8b 4d 08 mov rcx, QWORD PTR f$[rbp] - 000a1 e8 00 00 00 00 call stbi_load_from_file_16 - 000a6 48 89 45 28 mov QWORD PTR result$[rbp], rax - -; 922 : fclose(f); - - 000aa 48 8b 4d 08 mov rcx, QWORD PTR f$[rbp] - 000ae ff 15 00 00 00 - 00 call QWORD PTR __imp_fclose - 000b4 90 npad 1 - -; 923 : return result; - - 000b5 48 8b 45 28 mov rax, QWORD PTR result$[rbp] -$LN1@stbi_load_: - -; 924 : } - - 000b9 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 000c0 5f pop rdi - 000c1 5d pop rbp - 000c2 c3 ret 0 -stbi_load_16 ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_load_16_from_callbacks -_TEXT SEGMENT -s$ = 16 -__$ArrayPad$ = 440 -clbk$ = 480 -user$ = 488 -x$ = 496 -y$ = 504 -channels_in_file$ = 512 -desired_channels$ = 520 -stbi_load_16_from_callbacks PROC ; COMDAT - -; 938 : { - -$LN3: - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec f8 01 - 00 00 sub rsp, 504 ; 000001f8H - 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00022 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 00027 b9 42 00 00 00 mov ecx, 66 ; 00000042H - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 18 - 02 00 00 mov rcx, QWORD PTR [rsp+536] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 b8 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 939 : stbi__context s; -; 940 : stbi__start_callbacks(&s, (stbi_io_callbacks *)clbk, user); - - 00059 4c 8b 85 e8 01 - 00 00 mov r8, QWORD PTR user$[rbp] - 00060 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR clbk$[rbp] - 00067 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 0006b e8 00 00 00 00 call stbi__start_callbacks - 00070 90 npad 1 - -; 941 : return stbi__load_and_postprocess_16bit(&s, x, y, channels_in_file, desired_channels); - - 00071 8b 85 08 02 00 - 00 mov eax, DWORD PTR desired_channels$[rbp] - 00077 89 44 24 20 mov DWORD PTR [rsp+32], eax - 0007b 4c 8b 8d 00 02 - 00 00 mov r9, QWORD PTR channels_in_file$[rbp] - 00082 4c 8b 85 f8 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 00089 48 8b 95 f0 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 00090 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 00094 e8 00 00 00 00 call stbi__load_and_postprocess_16bit - -; 942 : } - - 00099 48 8b f8 mov rdi, rax - 0009c 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 000a0 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_load_16_from_callbacks$rtcFrameData - 000a7 e8 00 00 00 00 call _RTC_CheckStackVars - 000ac 48 8b c7 mov rax, rdi - 000af 48 8b 8d b8 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 000b6 48 33 cd xor rcx, rbp - 000b9 e8 00 00 00 00 call __security_check_cookie - 000be 48 8d a5 c8 01 - 00 00 lea rsp, QWORD PTR [rbp+456] - 000c5 5f pop rdi - 000c6 5d pop rbp - 000c7 c3 ret 0 -stbi_load_16_from_callbacks ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_load_16_from_memory -_TEXT SEGMENT -s$ = 16 -__$ArrayPad$ = 440 -buffer$ = 480 -len$ = 488 -x$ = 496 -y$ = 504 -channels_in_file$ = 512 -desired_channels$ = 520 -stbi_load_16_from_memory PROC ; COMDAT - -; 930 : { - -$LN3: - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx - 0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00013 55 push rbp - 00014 57 push rdi - 00015 48 81 ec f8 01 - 00 00 sub rsp, 504 ; 000001f8H - 0001c 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00021 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 00026 b9 42 00 00 00 mov ecx, 66 ; 00000042H - 0002b b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00030 f3 ab rep stosd - 00032 48 8b 8c 24 18 - 02 00 00 mov rcx, QWORD PTR [rsp+536] - 0003a 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00041 48 33 c5 xor rax, rbp - 00044 48 89 85 b8 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00052 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00057 90 npad 1 - -; 931 : stbi__context s; -; 932 : stbi__start_mem(&s, buffer, len); - - 00058 44 8b 85 e8 01 - 00 00 mov r8d, DWORD PTR len$[rbp] - 0005f 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR buffer$[rbp] - 00066 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 0006a e8 00 00 00 00 call stbi__start_mem - 0006f 90 npad 1 - -; 933 : return stbi__load_and_postprocess_16bit(&s, x, y, channels_in_file, desired_channels); - - 00070 8b 85 08 02 00 - 00 mov eax, DWORD PTR desired_channels$[rbp] - 00076 89 44 24 20 mov DWORD PTR [rsp+32], eax - 0007a 4c 8b 8d 00 02 - 00 00 mov r9, QWORD PTR channels_in_file$[rbp] - 00081 4c 8b 85 f8 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 00088 48 8b 95 f0 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 0008f 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 00093 e8 00 00 00 00 call stbi__load_and_postprocess_16bit - -; 934 : } - - 00098 48 8b f8 mov rdi, rax - 0009b 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 0009f 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_load_16_from_memory$rtcFrameData - 000a6 e8 00 00 00 00 call _RTC_CheckStackVars - 000ab 48 8b c7 mov rax, rdi - 000ae 48 8b 8d b8 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 000b5 48 33 cd xor rcx, rbp - 000b8 e8 00 00 00 00 call __security_check_cookie - 000bd 48 8d a5 c8 01 - 00 00 lea rsp, QWORD PTR [rbp+456] - 000c4 5f pop rdi - 000c5 5d pop rbp - 000c6 c3 ret 0 -stbi_load_16_from_memory ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_load_gif_from_memory -_TEXT SEGMENT -result$ = 8 -s$ = 48 -tv88 = 468 -__$ArrayPad$ = 472 -buffer$ = 512 -len$ = 520 -delays$ = 528 -x$ = 536 -y$ = 544 -z$ = 552 -comp$ = 560 -req_comp$ = 568 -stbi_load_gif_from_memory PROC ; COMDAT - -; 963 : { - -$LN6: - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx - 0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00013 55 push rbp - 00014 57 push rdi - 00015 48 81 ec 28 02 - 00 00 sub rsp, 552 ; 00000228H - 0001c 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] - 00021 48 8d 7c 24 40 lea rdi, QWORD PTR [rsp+64] - 00026 b9 4a 00 00 00 mov ecx, 74 ; 0000004aH - 0002b b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00030 f3 ab rep stosd - 00032 48 8b 8c 24 48 - 02 00 00 mov rcx, QWORD PTR [rsp+584] - 0003a 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00041 48 33 c5 xor rax, rbp - 00044 48 89 85 d8 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00052 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00057 90 npad 1 - -; 964 : unsigned char *result; -; 965 : stbi__context s; -; 966 : stbi__start_mem(&s, buffer, len); - - 00058 44 8b 85 08 02 - 00 00 mov r8d, DWORD PTR len$[rbp] - 0005f 48 8b 95 00 02 - 00 00 mov rdx, QWORD PTR buffer$[rbp] - 00066 48 8d 4d 30 lea rcx, QWORD PTR s$[rbp] - 0006a e8 00 00 00 00 call stbi__start_mem - 0006f 90 npad 1 - -; 967 : -; 968 : result = (unsigned char *)stbi__load_gif_main(&s, delays, x, y, z, comp, req_comp); - - 00070 8b 85 38 02 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 00076 89 44 24 30 mov DWORD PTR [rsp+48], eax - 0007a 48 8b 85 30 02 - 00 00 mov rax, QWORD PTR comp$[rbp] - 00081 48 89 44 24 28 mov QWORD PTR [rsp+40], rax - 00086 48 8b 85 28 02 - 00 00 mov rax, QWORD PTR z$[rbp] - 0008d 48 89 44 24 20 mov QWORD PTR [rsp+32], rax - 00092 4c 8b 8d 20 02 - 00 00 mov r9, QWORD PTR y$[rbp] - 00099 4c 8b 85 18 02 - 00 00 mov r8, QWORD PTR x$[rbp] - 000a0 48 8b 95 10 02 - 00 00 mov rdx, QWORD PTR delays$[rbp] - 000a7 48 8d 4d 30 lea rcx, QWORD PTR s$[rbp] - 000ab e8 00 00 00 00 call stbi__load_gif_main - 000b0 48 89 45 08 mov QWORD PTR result$[rbp], rax - -; 969 : if (stbi__vertically_flip_on_load) { - - 000b4 b8 00 00 00 00 mov eax, OFFSET FLAT:stbi__vertically_flip_on_load_set - 000b9 8b c0 mov eax, eax - 000bb 8b 0d 00 00 00 - 00 mov ecx, DWORD PTR _tls_index - 000c1 65 48 8b 14 25 - 58 00 00 00 mov rdx, QWORD PTR gs:88 - 000ca 48 8b 0c ca mov rcx, QWORD PTR [rdx+rcx*8] - 000ce 83 3c 08 00 cmp DWORD PTR [rax+rcx], 0 - 000d2 74 25 je SHORT $LN4@stbi_load_ - 000d4 b8 00 00 00 00 mov eax, OFFSET FLAT:stbi__vertically_flip_on_load_local - 000d9 8b c0 mov eax, eax - 000db 8b 0d 00 00 00 - 00 mov ecx, DWORD PTR _tls_index - 000e1 65 48 8b 14 25 - 58 00 00 00 mov rdx, QWORD PTR gs:88 - 000ea 48 8b 0c ca mov rcx, QWORD PTR [rdx+rcx*8] - 000ee 8b 04 08 mov eax, DWORD PTR [rax+rcx] - 000f1 89 85 d4 01 00 - 00 mov DWORD PTR tv88[rbp], eax - 000f7 eb 0c jmp SHORT $LN5@stbi_load_ -$LN4@stbi_load_: - 000f9 8b 05 00 00 00 - 00 mov eax, DWORD PTR stbi__vertically_flip_on_load_global - 000ff 89 85 d4 01 00 - 00 mov DWORD PTR tv88[rbp], eax -$LN5@stbi_load_: - 00105 83 bd d4 01 00 - 00 00 cmp DWORD PTR tv88[rbp], 0 - 0010c 74 34 je SHORT $LN2@stbi_load_ - -; 970 : stbi__vertical_flip_slices(result, *x, *y, *z, *comp); - - 0010e 48 8b 85 30 02 - 00 00 mov rax, QWORD PTR comp$[rbp] - 00115 8b 00 mov eax, DWORD PTR [rax] - 00117 89 44 24 20 mov DWORD PTR [rsp+32], eax - 0011b 48 8b 85 28 02 - 00 00 mov rax, QWORD PTR z$[rbp] - 00122 44 8b 08 mov r9d, DWORD PTR [rax] - 00125 48 8b 85 20 02 - 00 00 mov rax, QWORD PTR y$[rbp] - 0012c 44 8b 00 mov r8d, DWORD PTR [rax] - 0012f 48 8b 85 18 02 - 00 00 mov rax, QWORD PTR x$[rbp] - 00136 8b 10 mov edx, DWORD PTR [rax] - 00138 48 8b 4d 08 mov rcx, QWORD PTR result$[rbp] - 0013c e8 00 00 00 00 call stbi__vertical_flip_slices - 00141 90 npad 1 -$LN2@stbi_load_: - -; 971 : } -; 972 : -; 973 : return result; - - 00142 48 8b 45 08 mov rax, QWORD PTR result$[rbp] - -; 974 : } - - 00146 48 8b f8 mov rdi, rax - 00149 48 8d 4d c0 lea rcx, QWORD PTR [rbp-64] - 0014d 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_load_gif_from_memory$rtcFrameData - 00154 e8 00 00 00 00 call _RTC_CheckStackVars - 00159 48 8b c7 mov rax, rdi - 0015c 48 8b 8d d8 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 00163 48 33 cd xor rcx, rbp - 00166 e8 00 00 00 00 call __security_check_cookie - 0016b 48 8d a5 e8 01 - 00 00 lea rsp, QWORD PTR [rbp+488] - 00172 5f pop rdi - 00173 5d pop rbp - 00174 c3 ret 0 -stbi_load_gif_from_memory ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_load_from_file -_TEXT SEGMENT -result$ = 8 -s$ = 48 -__$ArrayPad$ = 472 -f$ = 512 -x$ = 520 -y$ = 528 -comp$ = 536 -req_comp$ = 544 -stbi_load_from_file PROC ; COMDAT - -; 890 : { - -$LN4: - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 18 02 - 00 00 sub rsp, 536 ; 00000218H - 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00022 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 00027 b9 4a 00 00 00 mov ecx, 74 ; 0000004aH - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 38 - 02 00 00 mov rcx, QWORD PTR [rsp+568] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 d8 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 891 : unsigned char *result; -; 892 : stbi__context s; -; 893 : stbi__start_file(&s, f); - - 00059 48 8b 95 00 02 - 00 00 mov rdx, QWORD PTR f$[rbp] - 00060 48 8d 4d 30 lea rcx, QWORD PTR s$[rbp] - 00064 e8 00 00 00 00 call stbi__start_file - 00069 90 npad 1 - -; 894 : result = stbi__load_and_postprocess_8bit(&s, x, y, comp, req_comp); - - 0006a 8b 85 20 02 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 00070 89 44 24 20 mov DWORD PTR [rsp+32], eax - 00074 4c 8b 8d 18 02 - 00 00 mov r9, QWORD PTR comp$[rbp] - 0007b 4c 8b 85 10 02 - 00 00 mov r8, QWORD PTR y$[rbp] - 00082 48 8b 95 08 02 - 00 00 mov rdx, QWORD PTR x$[rbp] - 00089 48 8d 4d 30 lea rcx, QWORD PTR s$[rbp] - 0008d e8 00 00 00 00 call stbi__load_and_postprocess_8bit - 00092 48 89 45 08 mov QWORD PTR result$[rbp], rax - -; 895 : if (result) { - - 00096 48 83 7d 08 00 cmp QWORD PTR result$[rbp], 0 - 0009b 74 2c je SHORT $LN2@stbi_load_ - -; 896 : // need to 'unget' all the characters in the IO buffer -; 897 : fseek(f, -(int)(s.img_buffer_end - s.img_buffer), SEEK_CUR); - - 0009d 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR s$[rbp+192] - 000a4 48 8b 8d f8 00 - 00 00 mov rcx, QWORD PTR s$[rbp+200] - 000ab 48 2b c8 sub rcx, rax - 000ae 48 8b c1 mov rax, rcx - 000b1 f7 d8 neg eax - 000b3 41 b8 01 00 00 - 00 mov r8d, 1 - 000b9 8b d0 mov edx, eax - 000bb 48 8b 8d 00 02 - 00 00 mov rcx, QWORD PTR f$[rbp] - 000c2 ff 15 00 00 00 - 00 call QWORD PTR __imp_fseek - 000c8 90 npad 1 -$LN2@stbi_load_: - -; 898 : } -; 899 : return result; - - 000c9 48 8b 45 08 mov rax, QWORD PTR result$[rbp] - -; 900 : } - - 000cd 48 8b f8 mov rdi, rax - 000d0 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 000d4 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_load_from_file$rtcFrameData - 000db e8 00 00 00 00 call _RTC_CheckStackVars - 000e0 48 8b c7 mov rax, rdi - 000e3 48 8b 8d d8 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 000ea 48 33 cd xor rcx, rbp - 000ed e8 00 00 00 00 call __security_check_cookie - 000f2 48 8d a5 e8 01 - 00 00 lea rsp, QWORD PTR [rbp+488] - 000f9 5f pop rdi - 000fa 5d pop rbp - 000fb c3 ret 0 -stbi_load_from_file ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_load_to_target -_TEXT SEGMENT -f$ = 8 -result$ = 40 -filename$ = 288 -x$ = 296 -y$ = 304 -target$ = 312 -comp$ = 320 -req_comp$ = 328 -stbi_load_to_target PROC ; COMDAT - -; 878 : { - -$LN4: - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 38 01 - 00 00 sub rsp, 312 ; 00000138H - 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 879 : FILE *f = stbi__fopen(filename, "rb"); - - 0002f 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_02JDPG@rb@ - 00036 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR filename$[rbp] - 0003d e8 00 00 00 00 call stbi__fopen - 00042 48 89 45 08 mov QWORD PTR f$[rbp], rax - -; 880 : unsigned char *result; -; 881 : if (!f) { - - 00046 48 83 7d 08 00 cmp QWORD PTR f$[rbp], 0 - 0004b 75 12 jne SHORT $LN2@stbi_load_ - -; 882 : *target = "can't fopen, Unable to open file"; - - 0004d 48 8b 85 38 01 - 00 00 mov rax, QWORD PTR target$[rbp] - 00054 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0CB@DDANHPKI@can?8t?5fopen?0?5Unable?5to?5open?5fil@ - 0005b 88 08 mov BYTE PTR [rax], cl - -; 883 : return; - - 0005d eb 37 jmp SHORT $LN1@stbi_load_ -$LN2@stbi_load_: - -; 884 : } -; 885 : result = stbi_load_from_file(f, x, y, comp, req_comp); - - 0005f 8b 85 48 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 00065 89 44 24 20 mov DWORD PTR [rsp+32], eax - 00069 4c 8b 8d 40 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00070 4c 8b 85 30 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 00077 48 8b 95 28 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 0007e 48 8b 4d 08 mov rcx, QWORD PTR f$[rbp] - 00082 e8 00 00 00 00 call stbi_load_from_file - 00087 48 89 45 28 mov QWORD PTR result$[rbp], rax - -; 886 : fclose(f); - - 0008b 48 8b 4d 08 mov rcx, QWORD PTR f$[rbp] - 0008f ff 15 00 00 00 - 00 call QWORD PTR __imp_fclose - 00095 90 npad 1 -$LN1@stbi_load_: - -; 887 : } - - 00096 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 0009d 5f pop rdi - 0009e 5d pop rbp - 0009f c3 ret 0 -stbi_load_to_target ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_load -_TEXT SEGMENT -f$ = 8 -result$ = 40 -tv71 = 248 -filename$ = 288 -x$ = 296 -y$ = 304 -comp$ = 312 -req_comp$ = 320 -stbi_load PROC ; COMDAT - -; 866 : { - -$LN6: - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 38 01 - 00 00 sub rsp, 312 ; 00000138H - 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00022 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0002e 90 npad 1 - -; 867 : FILE *f = stbi__fopen(filename, "rb"); - - 0002f 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:??_C@_02JDPG@rb@ - 00036 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR filename$[rbp] - 0003d e8 00 00 00 00 call stbi__fopen - 00042 48 89 45 08 mov QWORD PTR f$[rbp], rax - -; 868 : unsigned char *result; -; 869 : if (!f) - - 00046 48 83 7d 08 00 cmp QWORD PTR f$[rbp], 0 - 0004b 75 31 jne SHORT $LN2@stbi_load - -; 870 : return stbi__errpuc("can't fopen", "Unable to open file"); - - 0004d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:??_C@_0M@JPDHFAGK@can?8t?5fopen@ - 00054 e8 00 00 00 00 call stbi__err - 00059 85 c0 test eax, eax - 0005b 74 0d je SHORT $LN4@stbi_load - 0005d 48 c7 85 f8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv71[rbp], 0 - 00068 eb 0b jmp SHORT $LN5@stbi_load -$LN4@stbi_load: - 0006a 48 c7 85 f8 00 - 00 00 00 00 00 - 00 mov QWORD PTR tv71[rbp], 0 -$LN5@stbi_load: - 00075 48 8b 85 f8 00 - 00 00 mov rax, QWORD PTR tv71[rbp] - 0007c eb 3b jmp SHORT $LN1@stbi_load -$LN2@stbi_load: - -; 871 : result = stbi_load_from_file(f, x, y, comp, req_comp); - - 0007e 8b 85 40 01 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 00084 89 44 24 20 mov DWORD PTR [rsp+32], eax - 00088 4c 8b 8d 38 01 - 00 00 mov r9, QWORD PTR comp$[rbp] - 0008f 4c 8b 85 30 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 00096 48 8b 95 28 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 0009d 48 8b 4d 08 mov rcx, QWORD PTR f$[rbp] - 000a1 e8 00 00 00 00 call stbi_load_from_file - 000a6 48 89 45 28 mov QWORD PTR result$[rbp], rax - -; 872 : fclose(f); - - 000aa 48 8b 4d 08 mov rcx, QWORD PTR f$[rbp] - 000ae ff 15 00 00 00 - 00 call QWORD PTR __imp_fclose - 000b4 90 npad 1 - -; 873 : return result; - - 000b5 48 8b 45 28 mov rax, QWORD PTR result$[rbp] -$LN1@stbi_load: - -; 874 : } - - 000b9 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 000c0 5f pop rdi - 000c1 5d pop rbp - 000c2 c3 ret 0 -stbi_load ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_load_from_callbacks -_TEXT SEGMENT -s$ = 16 -__$ArrayPad$ = 440 -clbk$ = 480 -user$ = 488 -x$ = 496 -y$ = 504 -comp$ = 512 -req_comp$ = 520 -stbi_load_from_callbacks PROC ; COMDAT - -; 954 : { - -$LN3: - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec f8 01 - 00 00 sub rsp, 504 ; 000001f8H - 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00022 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 00027 b9 42 00 00 00 mov ecx, 66 ; 00000042H - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 18 - 02 00 00 mov rcx, QWORD PTR [rsp+536] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 b8 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 955 : stbi__context s; -; 956 : stbi__start_callbacks(&s, (stbi_io_callbacks *)clbk, user); - - 00059 4c 8b 85 e8 01 - 00 00 mov r8, QWORD PTR user$[rbp] - 00060 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR clbk$[rbp] - 00067 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 0006b e8 00 00 00 00 call stbi__start_callbacks - 00070 90 npad 1 - -; 957 : return stbi__load_and_postprocess_8bit(&s, x, y, comp, req_comp); - - 00071 8b 85 08 02 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 00077 89 44 24 20 mov DWORD PTR [rsp+32], eax - 0007b 4c 8b 8d 00 02 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00082 4c 8b 85 f8 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 00089 48 8b 95 f0 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 00090 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 00094 e8 00 00 00 00 call stbi__load_and_postprocess_8bit - -; 958 : } - - 00099 48 8b f8 mov rdi, rax - 0009c 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 000a0 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_load_from_callbacks$rtcFrameData - 000a7 e8 00 00 00 00 call _RTC_CheckStackVars - 000ac 48 8b c7 mov rax, rdi - 000af 48 8b 8d b8 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 000b6 48 33 cd xor rcx, rbp - 000b9 e8 00 00 00 00 call __security_check_cookie - 000be 48 8d a5 c8 01 - 00 00 lea rsp, QWORD PTR [rbp+456] - 000c5 5f pop rdi - 000c6 5d pop rbp - 000c7 c3 ret 0 -stbi_load_from_callbacks ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stb_image.c -; COMDAT stbi_load_from_memory -_TEXT SEGMENT -s$ = 16 -__$ArrayPad$ = 440 -buffer$ = 480 -len$ = 488 -x$ = 496 -y$ = 504 -comp$ = 512 -req_comp$ = 520 -stbi_load_from_memory PROC ; COMDAT - -; 946 : { - -$LN3: - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx - 0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00013 55 push rbp - 00014 57 push rdi - 00015 48 81 ec f8 01 - 00 00 sub rsp, 504 ; 000001f8H - 0001c 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 00021 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] - 00026 b9 42 00 00 00 mov ecx, 66 ; 00000042H - 0002b b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00030 f3 ab rep stosd - 00032 48 8b 8c 24 18 - 02 00 00 mov rcx, QWORD PTR [rsp+536] - 0003a 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00041 48 33 c5 xor rax, rbp - 00044 48 89 85 b8 01 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004b 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__1ACDCF28_stb_image@c - 00052 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00057 90 npad 1 - -; 947 : stbi__context s; -; 948 : stbi__start_mem(&s, buffer, len); - - 00058 44 8b 85 e8 01 - 00 00 mov r8d, DWORD PTR len$[rbp] - 0005f 48 8b 95 e0 01 - 00 00 mov rdx, QWORD PTR buffer$[rbp] - 00066 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 0006a e8 00 00 00 00 call stbi__start_mem - 0006f 90 npad 1 - -; 949 : return stbi__load_and_postprocess_8bit(&s, x, y, comp, req_comp); - - 00070 8b 85 08 02 00 - 00 mov eax, DWORD PTR req_comp$[rbp] - 00076 89 44 24 20 mov DWORD PTR [rsp+32], eax - 0007a 4c 8b 8d 00 02 - 00 00 mov r9, QWORD PTR comp$[rbp] - 00081 4c 8b 85 f8 01 - 00 00 mov r8, QWORD PTR y$[rbp] - 00088 48 8b 95 f0 01 - 00 00 mov rdx, QWORD PTR x$[rbp] - 0008f 48 8d 4d 10 lea rcx, QWORD PTR s$[rbp] - 00093 e8 00 00 00 00 call stbi__load_and_postprocess_8bit - -; 950 : } - - 00098 48 8b f8 mov rdi, rax - 0009b 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] - 0009f 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:stbi_load_from_memory$rtcFrameData - 000a6 e8 00 00 00 00 call _RTC_CheckStackVars - 000ab 48 8b c7 mov rax, rdi - 000ae 48 8b 8d b8 01 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 000b5 48 33 cd xor rcx, rbp - 000b8 e8 00 00 00 00 call __security_check_cookie - 000bd 48 8d a5 c8 01 - 00 00 lea rsp, QWORD PTR [rbp+456] - 000c4 5f pop rdi - 000c5 5d pop rbp - 000c6 c3 ret 0 -stbi_load_from_memory ENDP -_TEXT ENDS -END diff --git a/StgSharp.Native/x64/Debug/stb_image.obj b/StgSharp.Native/x64/Debug/stb_image.obj deleted file mode 100644 index 055c50ce..00000000 Binary files a/StgSharp.Native/x64/Debug/stb_image.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/stb_image.sbr b/StgSharp.Native/x64/Debug/stb_image.sbr deleted file mode 100644 index 88f47c51..00000000 Binary files a/StgSharp.Native/x64/Debug/stb_image.sbr and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/stgsharp_native.cod b/StgSharp.Native/x64/Debug/stgsharp_native.cod deleted file mode 100644 index fb40ac49..00000000 --- a/StgSharp.Native/x64/Debug/stgsharp_native.cod +++ /dev/null @@ -1,870 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.44.35215.0 - -include listing.inc - -INCLUDELIB MSVCRTD -INCLUDELIB OLDNAMES - -_DATA SEGMENT -COMM infolog:BYTE:0200H -_DATA ENDS -msvcjmc SEGMENT -__5C8CA4D3_mmintrin@h DB 01H -__8C83BECC_concurrencysal@h DB 01H -__608E3340_sal@h DB 01H -__FB67E29A_vadefs@h DB 01H -__1D1B619C_vcruntime@h DB 01H -__735960E1_corecrt@h DB 01H -__211DB995_corecrt_malloc@h DB 01H -__7CD62D9E_malloc@h DB 01H -__9DCE0DC8_xmmintrin@h DB 01H -__4C2AD0C7_winpackagefamily@h DB 01H -__9DED9ED1_winapifamily@h DB 01H -__12FEDF4E_sdkddkver@h DB 01H -__9BAEE128_excpt@h DB 01H -__B7B53233_stdarg@h DB 01H -__6B04FCB3_specstrings_undef@h DB 01H -__F4027AF7_specstrings_strict@h DB 01H -__B90340D4_sdv_driverspecs@h DB 01H -__BFFF5AD3_driverspecs@h DB 01H -__32847078_specstrings@h DB 01H -__108B2620_corecrt_wctype@h DB 01H -__6CD6613D_ctype@h DB 01H -__30902A1F_kernelspecs@h DB 01H -__376FD5CA_basetsd@h DB 01H -__13DE2371_errno@h DB 01H -__8C6AE390_vcruntime_string@h DB 01H -__8ACB2152_corecrt_memcpy_s@h DB 01H -__EA6C9D17_corecrt_memory@h DB 01H -__0DF2AF52_corecrt_wstring@h DB 01H -__6E889ECC_string@h DB 01H -__9BEDF4DE_guiddef@h DB 01H -__51BFD2FE_pshpack4@h DB 01H -__31652CEA_poppack@h DB 01H -__5532AE4C_pshpack2@h DB 01H -__58A52B9A_pshpack8@h DB 01H -__57741015_pshpack1@h DB 01H -__CDE68C90_apiset@h DB 01H -__0BF06E8D_ktmtypes@h DB 01H -__40C200C0_winnt@h DB 01H -__9336F789_minwindef@h DB 01H -__55136115_windef@h DB 01H -__32205BF0_apisetcconv@h DB 01H -__B48FDEA0_minwinbase@h DB 01H -__3551B028_apiquery2@h DB 01H -__65BE04AA_processenv@h DB 01H -__4767CA46_fileapi@h DB 01H -__282E6C4B_fileapifromapp@h DB 01H -__393AF12C_debugapi@h DB 01H -__EBC502B8_utilapiset@h DB 01H -__1EAD8C69_handleapi@h DB 01H -__D8EF9B29_errhandlingapi@h DB 01H -__97FC1204_fibersapi@h DB 01H -__27448220_namedpipeapi@h DB 01H -__6EA33B2A_profileapi@h DB 01H -__EAC6F673_heapapi@h DB 01H -__D64EEA5A_ioapiset@h DB 01H -__144BD4B6_synchapi@h DB 01H -__03B1C640_interlockedapi@h DB 01H -__DC64CB38_processthreadsapi@h DB 01H -__D719B518_sysinfoapi@h DB 01H -__410385B1_memoryapi@h DB 01H -__C1AD45EF_enclaveapi@h DB 01H -__F4C3AA32_threadpoollegacyapiset@h DB 01H -__AC5A7A9F_threadpoolapiset@h DB 01H -__F5254B21_jobapi@h DB 01H -__BCEA6EE8_jobapi2@h DB 01H -__D18ACE72_wow64apiset@h DB 01H -__669B0D4A_libloaderapi@h DB 01H -__645F7034_securitybaseapi@h DB 01H -__67E58557_namespaceapi@h DB 01H -__599D9D3A_systemtopologyapi@h DB 01H -__2337E373_processtopologyapi@h DB 01H -__02BFF239_securityappcontainer@h DB 01H -__9C196272_realtimeapiset@h DB 01H -__5AB313A4_winerror@h DB 01H -__B7E7187B_timezoneapi@h DB 01H -__6DE9EB6F_winbase@h DB 01H -__56B2AFF2_wingdi@h DB 01H -__BA1161A9_tvout@h DB 01H -__0501A018_winuser@h DB 01H -__EF12FA99_datetimeapi@h DB 01H -__8FA7C3CA_winnls@h DB 01H -__390F0C47_stringapiset@h DB 01H -__28605B0A_wincontypes@h DB 01H -__BFBDE86D_consoleapi@h DB 01H -__C3CAFBF0_consoleapi2@h DB 01H -__C20891C7_consoleapi3@h DB 01H -__717C98B6_wincon@h DB 01H -__2884C177_verrsrc@h DB 01H -__A3FD3A34_winver@h DB 01H -__6F8AD9F1_reason@h DB 01H -__4C90FD6F_winreg@h DB 01H -__68AFEBAD_wnnc@h DB 01H -__5A7AB086_winnetwk@h DB 01H -__2FE8A10C_stralign@h DB 01H -__34558472_winsvc@h DB 01H -__058845F1_mcx@h DB 01H -__7F16006B_ime_cmodes@h DB 01H -__0A3AF599_imm@h DB 01H -__9349FE86_windows@h DB 01H -__639A050C_sn_internal@h DB 01H -__60B45B40_corecrt_stdio_config@h DB 01H -__CFA3741E_corecrt_wstdio@h DB 01H -__B3FE3303_stdio@h DB 01H -__955456CD_stddef@h DB 01H -__99AED4FB_corecrt_search@h DB 01H -__8B813BF6_corecrt_wstdlib@h DB 01H -__3D1CA2C3_limits@h DB 01H -__E8FB0A68_stdlib@h DB 01H -__C363A436_stb_image@h DB 01H -__836A8CFC_stdint@h DB 01H -__C95DC661_khrplatform@h DB 01H -__6C577136_gl@h DB 01H -__EE638A2C_wgl@h DB 01H -__E76F0EB7_glfw3@h DB 01H -__F8AC8404_emmintrin@h DB 01H -__270DEC8D_pmmintrin@h DB 01H -__97D49F0F_tmmintrin@h DB 01H -__BEEF8A8C_smmintrin@h DB 01H -__DB8D0340_nmmintrin@h DB 01H -__0E36F90E_wmmintrin@h DB 01H -__C5A2B409_zmmintrin@h DB 01H -__F2B616C3_immintrin@h DB 01H -__9FB25DBE_assert@h DB 01H -__4E664295_glfw_function@h DB 01H -__64C0EF11_StgSharpNative@h DB 01H -__35B81F2B_stgsharp_native@c DB 01H -msvcjmc ENDS -PUBLIC glCheckShaderStat -PUBLIC initGL -PUBLIC linkShaderProgram -PUBLIC loadImageData -PUBLIC loadGlfuncDefault -PUBLIC unloadImageData -PUBLIC readLog -PUBLIC __JustMyCode_Default -PUBLIC ??_C@_0BL@MOJGOJJP@Failed?5to?5load?5OpenGL?5api?3@ ; `string' -EXTRN __report_rangecheckfailure:PROC -EXTRN __imp_free:PROC -EXTRN __imp_strcpy_s:PROC -EXTRN stbi_load:PROC -EXTRN glfwWindowHint:PROC -EXTRN glfwGetProcAddress:PROC -EXTRN _RTC_CheckStackVars:PROC -EXTRN _RTC_InitBase:PROC -EXTRN _RTC_Shutdown:PROC -EXTRN __CheckForDebuggerJustMyCode:PROC -EXTRN __GSHandlerCheck:PROC -EXTRN __security_check_cookie:PROC -EXTRN __security_cookie:QWORD -; COMDAT pdata -pdata SEGMENT -$pdata$glCheckShaderStat DD imagerel $LN4 - DD imagerel $LN4+232 - DD imagerel $unwind$glCheckShaderStat -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$initGL DD imagerel $LN3 - DD imagerel $LN3+111 - DD imagerel $unwind$initGL -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$linkShaderProgram DD imagerel $LN5 - DD imagerel $LN5+227 - DD imagerel $unwind$linkShaderProgram -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$loadImageData DD imagerel $LN4 - DD imagerel $LN4+143 - DD imagerel $unwind$loadImageData -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$loadGlfuncDefault DD imagerel $LN7 - DD imagerel $LN7+160 - DD imagerel $unwind$loadGlfuncDefault -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$unloadImageData DD imagerel $LN3 - DD imagerel $LN3+60 - DD imagerel $unwind$unloadImageData -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$readLog DD imagerel $LN5 - DD imagerel $LN5+103 - DD imagerel $unwind$readLog -pdata ENDS -; COMDAT rtc$TMZ -rtc$TMZ SEGMENT -_RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown -rtc$TMZ ENDS -; COMDAT rtc$IMZ -rtc$IMZ SEGMENT -_RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase -rtc$IMZ ENDS -; COMDAT ??_C@_0BL@MOJGOJJP@Failed?5to?5load?5OpenGL?5api?3@ -CONST SEGMENT -??_C@_0BL@MOJGOJJP@Failed?5to?5load?5OpenGL?5api?3@ DB 'Failed to load Op' - DB 'enGL api:', 00H ; `string' -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$readLog DD 025050f01H - DD 010a230fH - DD 070030021H - DD 05002H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$unloadImageData DD 025051301H - DD 010e2313H - DD 07007001dH - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$loadGlfuncDefault DD 025051301H - DD 010e2313H - DD 070070025H - DD 05006H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$loadImageData DD 035051d01H - DD 0118331dH - DD 07011001fH - DD 05010H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 03aH - DB 0caH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$linkShaderProgram DD 025054119H - DD 01122317H - DD 0700b0021H - DD 0500aH - DD imagerel __GSHandlerCheck - DD 0f8H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -linkShaderProgram$rtcName$0 DB 073H - DB 075H - DB 063H - DB 063H - DB 065H - DB 073H - DB 073H - DB 00H - ORG $+8 -linkShaderProgram$rtcVarDesc DD 024H - DD 04H - DQ FLAT:linkShaderProgram$rtcName$0 - ORG $+48 -linkShaderProgram$rtcFrameData DD 01H - DD 00H - DQ FLAT:linkShaderProgram$rtcVarDesc -CONST ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$initGL DD 025051601H - DD 01112316H - DD 0700a001dH - DD 05009H -xdata ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DB 045H - DB 0cfH -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$glCheckShaderStat DD 025054c19H - DD 011d2322H - DD 070160021H - DD 05015H - DD imagerel __GSHandlerCheck - DD 0f8H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -glCheckShaderStat$rtcName$0 DB 073H - DB 074H - DB 061H - DB 074H - DB 00H - ORG $+11 -glCheckShaderStat$rtcVarDesc DD 024H - DD 04H - DQ FLAT:glCheckShaderStat$rtcName$0 - ORG $+48 -glCheckShaderStat$rtcFrameData DD 01H - DD 00H - DQ FLAT:glCheckShaderStat$rtcVarDesc -CONST ENDS -; Function compile flags: /Odt -; COMDAT __JustMyCode_Default -_TEXT SEGMENT -__JustMyCode_Default PROC ; COMDAT - 00000 c2 00 00 ret 0 -__JustMyCode_Default ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stgsharp_native.c -; COMDAT readLog -_TEXT SEGMENT -$T1 = 200 -readLog PROC ; COMDAT - -; 72 : { - -$LN5: - 00000 40 55 push rbp - 00002 57 push rdi - 00003 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0000f 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__35B81F2B_stgsharp_native@c - 00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001b 90 npad 1 - -; 73 : infolog[511] = '\0'; - - 0001c b8 01 00 00 00 mov eax, 1 - 00021 48 69 c0 ff 01 - 00 00 imul rax, rax, 511 ; 000001ffH - 00028 48 89 85 c8 00 - 00 00 mov QWORD PTR $T1[rbp], rax - 0002f 48 81 bd c8 00 - 00 00 00 02 00 - 00 cmp QWORD PTR $T1[rbp], 512 ; 00000200H - 0003a 73 02 jae SHORT $LN3@readLog - 0003c eb 06 jmp SHORT $LN4@readLog -$LN3@readLog: - 0003e e8 00 00 00 00 call __report_rangecheckfailure - 00043 90 npad 1 -$LN4@readLog: - 00044 48 8d 05 00 00 - 00 00 lea rax, OFFSET FLAT:infolog - 0004b 48 8b 8d c8 00 - 00 00 mov rcx, QWORD PTR $T1[rbp] - 00052 c6 04 08 00 mov BYTE PTR [rax+rcx], 0 - -; 74 : return infolog; - - 00056 48 8d 05 00 00 - 00 00 lea rax, OFFSET FLAT:infolog -$LN2@readLog: - -; 75 : } - - 0005d 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 00064 5f pop rdi - 00065 5d pop rbp - 00066 c3 ret 0 -readLog ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stgsharp_native.c -; COMDAT unloadImageData -_TEXT SEGMENT -out$ = 224 -unloadImageData PROC ; COMDAT - -; 67 : { - -$LN3: - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__35B81F2B_stgsharp_native@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 68 : free(out->pixelPtr); - - 00020 48 8b 85 e0 00 - 00 00 mov rax, QWORD PTR out$[rbp] - 00027 48 8b 48 10 mov rcx, QWORD PTR [rax+16] - 0002b ff 15 00 00 00 - 00 call QWORD PTR __imp_free - 00031 90 npad 1 - -; 69 : } - - 00032 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00039 5f pop rdi - 0003a 5d pop rbp - 0003b c3 ret 0 -unloadImageData ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stgsharp_native.c -; COMDAT loadGlfuncDefault -_TEXT SEGMENT -ret$ = 8 -i$1 = 40 -procName$ = 288 -loadGlfuncDefault PROC ; COMDAT - -; 31 : { - -$LN7: - 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00005 55 push rbp - 00006 57 push rdi - 00007 48 81 ec 28 01 - 00 00 sub rsp, 296 ; 00000128H - 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00013 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__35B81F2B_stgsharp_native@c - 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0001f 90 npad 1 - -; 32 : void *ret = glfwGetProcAddress(procName); - - 00020 48 8b 8d 20 01 - 00 00 mov rcx, QWORD PTR procName$[rbp] - 00027 e8 00 00 00 00 call glfwGetProcAddress - 0002c 48 89 45 08 mov QWORD PTR ret$[rbp], rax - -; 33 : // printf("%llu\n", (uint64_t)ret); -; 34 : if (ret == NULL) { - - 00030 48 83 7d 08 00 cmp QWORD PTR ret$[rbp], 0 - 00035 75 5b jne SHORT $LN5@loadGlfunc - -; 35 : strcpy_s(infolog,30, "Failed to load OpenGL api:"); - - 00037 4c 8d 05 00 00 - 00 00 lea r8, OFFSET FLAT:??_C@_0BL@MOJGOJJP@Failed?5to?5load?5OpenGL?5api?3@ - 0003e ba 1e 00 00 00 mov edx, 30 - 00043 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:infolog - 0004a ff 15 00 00 00 - 00 call QWORD PTR __imp_strcpy_s - 00050 90 npad 1 - -; 36 : for (size_t i = 0; i < sizeof(procName); i++) { - - 00051 48 c7 45 28 00 - 00 00 00 mov QWORD PTR i$1[rbp], 0 - 00059 eb 0b jmp SHORT $LN4@loadGlfunc -$LN2@loadGlfunc: - 0005b 48 8b 45 28 mov rax, QWORD PTR i$1[rbp] - 0005f 48 ff c0 inc rax - 00062 48 89 45 28 mov QWORD PTR i$1[rbp], rax -$LN4@loadGlfunc: - 00066 48 83 7d 28 08 cmp QWORD PTR i$1[rbp], 8 - 0006b 73 25 jae SHORT $LN3@loadGlfunc - -; 37 : infolog[30 + i] = procName[i]; - - 0006d 48 8d 05 00 00 - 00 00 lea rax, OFFSET FLAT:infolog - 00074 48 8b 4d 28 mov rcx, QWORD PTR i$1[rbp] - 00078 48 8b 95 20 01 - 00 00 mov rdx, QWORD PTR procName$[rbp] - 0007f 48 03 d1 add rdx, rcx - 00082 48 8b ca mov rcx, rdx - 00085 48 8b 55 28 mov rdx, QWORD PTR i$1[rbp] - 00089 0f b6 09 movzx ecx, BYTE PTR [rcx] - 0008c 88 4c 10 1e mov BYTE PTR [rax+rdx+30], cl - -; 38 : } - - 00090 eb c9 jmp SHORT $LN2@loadGlfunc -$LN3@loadGlfunc: -$LN5@loadGlfunc: - -; 39 : //printf("%s\n", infolog); -; 40 : } -; 41 : return (GLFWglproc)ret; - - 00092 48 8b 45 08 mov rax, QWORD PTR ret$[rbp] - -; 42 : } - - 00096 48 8d a5 08 01 - 00 00 lea rsp, QWORD PTR [rbp+264] - 0009d 5f pop rdi - 0009e 5d pop rbp - 0009f c3 ret 0 -loadGlfuncDefault ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stgsharp_native.c -; COMDAT loadImageData -_TEXT SEGMENT -location$ = 224 -out$ = 232 -loader$ = 240 -loadImageData PROC ; COMDAT - -; 59 : { - -$LN4: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec f8 00 - 00 00 sub rsp, 248 ; 000000f8H - 00018 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__35B81F2B_stgsharp_native@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 60 : if (loader == NULL) { - - 0002a 48 83 bd f0 00 - 00 00 00 cmp QWORD PTR loader$[rbp], 0 - 00032 75 0e jne SHORT $LN2@loadImageD - -; 61 : loader = stbi_load; - - 00034 48 8d 05 00 00 - 00 00 lea rax, OFFSET FLAT:stbi_load - 0003b 48 89 85 f0 00 - 00 00 mov QWORD PTR loader$[rbp], rax -$LN2@loadImageD: - -; 62 : } -; 63 : out->pixelPtr = loader(location, &(out->width), &(out->height), &(out->channel), 0); - - 00042 48 8b 85 e8 00 - 00 00 mov rax, QWORD PTR out$[rbp] - 00049 48 83 c0 08 add rax, 8 - 0004d 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR out$[rbp] - 00054 48 83 c1 04 add rcx, 4 - 00058 48 8b 95 e8 00 - 00 00 mov rdx, QWORD PTR out$[rbp] - 0005f c7 44 24 20 00 - 00 00 00 mov DWORD PTR [rsp+32], 0 - 00067 4c 8b c8 mov r9, rax - 0006a 4c 8b c1 mov r8, rcx - 0006d 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR location$[rbp] - 00074 ff 95 f0 00 00 - 00 call QWORD PTR loader$[rbp] - 0007a 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR out$[rbp] - 00081 48 89 41 10 mov QWORD PTR [rcx+16], rax - -; 64 : } - - 00085 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 0008c 5f pop rdi - 0008d 5d pop rbp - 0008e c3 ret 0 -loadImageData ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stgsharp_native.c -; COMDAT linkShaderProgram -_TEXT SEGMENT -success$ = 4 -__$ArrayPad$ = 216 -context$ = 256 -shaderProgram$ = 264 -linkShaderProgram PROC ; COMDAT - -; 45 : { - -$LN5: - 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00009 55 push rbp - 0000a 57 push rdi - 0000b 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00017 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 0001c b9 0a 00 00 00 mov ecx, 10 - 00021 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00026 f3 ab rep stosd - 00028 48 8b 8c 24 28 - 01 00 00 mov rcx, QWORD PTR [rsp+296] - 00030 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00037 48 33 c5 xor rax, rbp - 0003a 48 89 85 d8 00 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 00041 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__35B81F2B_stgsharp_native@c - 00048 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 0004d 90 npad 1 - -; 46 : context->LinkProgram(shaderProgram); - - 0004e 8b 8d 08 01 00 - 00 mov ecx, DWORD PTR shaderProgram$[rbp] - 00054 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR context$[rbp] - 0005b ff 90 80 22 00 - 00 call QWORD PTR [rax+8832] - 00061 90 npad 1 - -; 47 : -; 48 : int success; -; 49 : context->GetProgramiv(shaderProgram, GL_LINK_STATUS, &success); - - 00062 4c 8d 45 04 lea r8, QWORD PTR success$[rbp] - 00066 ba 82 8b 00 00 mov edx, 35714 ; 00008b82H - 0006b 8b 8d 08 01 00 - 00 mov ecx, DWORD PTR shaderProgram$[rbp] - 00071 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR context$[rbp] - 00078 ff 90 48 1a 00 - 00 call QWORD PTR [rax+6728] - 0007e 90 npad 1 - -; 50 : if (!success) { - - 0007f 83 7d 04 00 cmp DWORD PTR success$[rbp], 0 - 00083 75 29 jne SHORT $LN2@linkShader - -; 51 : context->GetProgramInfoLog(shaderProgram, 512, NULL, infolog); - - 00085 4c 8d 0d 00 00 - 00 00 lea r9, OFFSET FLAT:infolog - 0008c 45 33 c0 xor r8d, r8d - 0008f ba 00 02 00 00 mov edx, 512 ; 00000200H - 00094 8b 8d 08 01 00 - 00 mov ecx, DWORD PTR shaderProgram$[rbp] - 0009a 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR context$[rbp] - 000a1 ff 90 98 19 00 - 00 call QWORD PTR [rax+6552] - 000a7 90 npad 1 - -; 52 : return 0; - - 000a8 33 c0 xor eax, eax - 000aa eb 08 jmp SHORT $LN1@linkShader - -; 53 : } else { - - 000ac eb 06 jmp SHORT $LN3@linkShader -$LN2@linkShader: - -; 54 : return shaderProgram; - - 000ae 8b 85 08 01 00 - 00 mov eax, DWORD PTR shaderProgram$[rbp] -$LN3@linkShader: -$LN1@linkShader: - -; 55 : } -; 56 : } - - 000b4 48 8b f8 mov rdi, rax - 000b7 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 000bb 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:linkShaderProgram$rtcFrameData - 000c2 e8 00 00 00 00 call _RTC_CheckStackVars - 000c7 48 8b c7 mov rax, rdi - 000ca 48 8b 8d d8 00 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 000d1 48 33 cd xor rcx, rbp - 000d4 e8 00 00 00 00 call __security_check_cookie - 000d9 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 000e0 5f pop rdi - 000e1 5d pop rbp - 000e2 c3 ret 0 -linkShaderProgram ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stgsharp_native.c -; COMDAT initGL -_TEXT SEGMENT -majorVersion$ = 224 -minorVersion$ = 232 -initGL PROC ; COMDAT - -; 23 : { - -$LN3: - 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00004 89 4c 24 08 mov DWORD PTR [rsp+8], ecx - 00008 55 push rbp - 00009 57 push rdi - 0000a 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 00011 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00016 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__35B81F2B_stgsharp_native@c - 0001d e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00022 90 npad 1 - -; 24 : glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, majorVersion); - - 00023 8b 95 e0 00 00 - 00 mov edx, DWORD PTR majorVersion$[rbp] - 00029 b9 02 20 02 00 mov ecx, 139266 ; 00022002H - 0002e e8 00 00 00 00 call glfwWindowHint - 00033 90 npad 1 - -; 25 : glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, minorVersion); - - 00034 8b 95 e8 00 00 - 00 mov edx, DWORD PTR minorVersion$[rbp] - 0003a b9 03 20 02 00 mov ecx, 139267 ; 00022003H - 0003f e8 00 00 00 00 call glfwWindowHint - 00044 90 npad 1 - -; 26 : glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); - - 00045 ba 01 20 03 00 mov edx, 204801 ; 00032001H - 0004a b9 08 20 02 00 mov ecx, 139272 ; 00022008H - 0004f e8 00 00 00 00 call glfwWindowHint - 00054 90 npad 1 - -; 27 : glfwWindowHint(GLFW_RESIZABLE, GLFW_TRUE); - - 00055 ba 01 00 00 00 mov edx, 1 - 0005a b9 03 00 02 00 mov ecx, 131075 ; 00020003H - 0005f e8 00 00 00 00 call glfwWindowHint - 00064 90 npad 1 - -; 28 : } - - 00065 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 0006c 5f pop rdi - 0006d 5d pop rbp - 0006e c3 ret 0 -initGL ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\stgsharp_native.c -; COMDAT glCheckShaderStat -_TEXT SEGMENT -stat$ = 4 -__$ArrayPad$ = 216 -context$ = 256 -shaderHandle$ = 264 -key$ = 272 -logRef$ = 280 -glCheckShaderStat PROC ; COMDAT - -; 12 : { - -$LN4: - 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 - 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 00014 55 push rbp - 00015 57 push rdi - 00016 48 81 ec 08 01 - 00 00 sub rsp, 264 ; 00000108H - 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00022 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 00027 b9 0a 00 00 00 mov ecx, 10 - 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 00031 f3 ab rep stosd - 00033 48 8b 8c 24 28 - 01 00 00 mov rcx, QWORD PTR [rsp+296] - 0003b 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 00042 48 33 c5 xor rax, rbp - 00045 48 89 85 d8 00 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 0004c 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__35B81F2B_stgsharp_native@c - 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00058 90 npad 1 - -; 13 : int stat = 0; - - 00059 c7 45 04 00 00 - 00 00 mov DWORD PTR stat$[rbp], 0 - -; 14 : context->GetShaderiv(shaderHandle, key, &stat); - - 00060 4c 8d 45 04 lea r8, QWORD PTR stat$[rbp] - 00064 8b 95 10 01 00 - 00 mov edx, DWORD PTR key$[rbp] - 0006a 8b 8d 08 01 00 - 00 mov ecx, DWORD PTR shaderHandle$[rbp] - 00070 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR context$[rbp] - 00077 ff 90 40 1b 00 - 00 call QWORD PTR [rax+6976] - 0007d 90 npad 1 - -; 15 : if (!stat) { - - 0007e 83 7d 04 00 cmp DWORD PTR stat$[rbp], 0 - 00082 75 23 jne SHORT $LN2@glCheckSha - -; 16 : context->GetShaderInfoLog(shaderHandle, 512, NULL, infolog); - - 00084 4c 8d 0d 00 00 - 00 00 lea r9, OFFSET FLAT:infolog - 0008b 45 33 c0 xor r8d, r8d - 0008e ba 00 02 00 00 mov edx, 512 ; 00000200H - 00093 8b 8d 08 01 00 - 00 mov ecx, DWORD PTR shaderHandle$[rbp] - 00099 48 8b 85 00 01 - 00 00 mov rax, QWORD PTR context$[rbp] - 000a0 ff 90 20 1b 00 - 00 call QWORD PTR [rax+6944] - 000a6 90 npad 1 -$LN2@glCheckSha: - -; 17 : } -; 18 : *logRef = infolog; - - 000a7 48 8b 85 18 01 - 00 00 mov rax, QWORD PTR logRef$[rbp] - 000ae 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:infolog - 000b5 48 89 08 mov QWORD PTR [rax], rcx - -; 19 : return stat; - - 000b8 8b 45 04 mov eax, DWORD PTR stat$[rbp] - -; 20 : } - - 000bb 8b f8 mov edi, eax - 000bd 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 000c1 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:glCheckShaderStat$rtcFrameData - 000c8 e8 00 00 00 00 call _RTC_CheckStackVars - 000cd 8b c7 mov eax, edi - 000cf 48 8b 8d d8 00 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 000d6 48 33 cd xor rcx, rbp - 000d9 e8 00 00 00 00 call __security_check_cookie - 000de 48 8d a5 e8 00 - 00 00 lea rsp, QWORD PTR [rbp+232] - 000e5 5f pop rdi - 000e6 5d pop rbp - 000e7 c3 ret 0 -glCheckShaderStat ENDP -_TEXT ENDS -END diff --git a/StgSharp.Native/x64/Debug/stgsharp_native.obj b/StgSharp.Native/x64/Debug/stgsharp_native.obj deleted file mode 100644 index 9749b59e..00000000 Binary files a/StgSharp.Native/x64/Debug/stgsharp_native.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/stgsharp_native.sbr b/StgSharp.Native/x64/Debug/stgsharp_native.sbr deleted file mode 100644 index 4cdf61bb..00000000 Binary files a/StgSharp.Native/x64/Debug/stgsharp_native.sbr and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/string.cod b/StgSharp.Native/x64/Debug/string.cod deleted file mode 100644 index a6a13fe5..00000000 --- a/StgSharp.Native/x64/Debug/string.cod +++ /dev/null @@ -1,571 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.44.35215.0 - -include listing.inc - -INCLUDELIB MSVCRTD -INCLUDELIB OLDNAMES - -_DATA SEGMENT -COMM infolog:BYTE:0200H -_DATA ENDS -msvcjmc SEGMENT -__5C8CA4D3_mmintrin@h DB 01H -__8C83BECC_concurrencysal@h DB 01H -__608E3340_sal@h DB 01H -__FB67E29A_vadefs@h DB 01H -__1D1B619C_vcruntime@h DB 01H -__735960E1_corecrt@h DB 01H -__211DB995_corecrt_malloc@h DB 01H -__7CD62D9E_malloc@h DB 01H -__9DCE0DC8_xmmintrin@h DB 01H -__4C2AD0C7_winpackagefamily@h DB 01H -__9DED9ED1_winapifamily@h DB 01H -__12FEDF4E_sdkddkver@h DB 01H -__9BAEE128_excpt@h DB 01H -__B7B53233_stdarg@h DB 01H -__6B04FCB3_specstrings_undef@h DB 01H -__F4027AF7_specstrings_strict@h DB 01H -__B90340D4_sdv_driverspecs@h DB 01H -__BFFF5AD3_driverspecs@h DB 01H -__32847078_specstrings@h DB 01H -__108B2620_corecrt_wctype@h DB 01H -__6CD6613D_ctype@h DB 01H -__30902A1F_kernelspecs@h DB 01H -__376FD5CA_basetsd@h DB 01H -__13DE2371_errno@h DB 01H -__8C6AE390_vcruntime_string@h DB 01H -__8ACB2152_corecrt_memcpy_s@h DB 01H -__EA6C9D17_corecrt_memory@h DB 01H -__0DF2AF52_corecrt_wstring@h DB 01H -__6E889ECC_string@h DB 01H -__9BEDF4DE_guiddef@h DB 01H -__51BFD2FE_pshpack4@h DB 01H -__31652CEA_poppack@h DB 01H -__5532AE4C_pshpack2@h DB 01H -__58A52B9A_pshpack8@h DB 01H -__57741015_pshpack1@h DB 01H -__CDE68C90_apiset@h DB 01H -__0BF06E8D_ktmtypes@h DB 01H -__40C200C0_winnt@h DB 01H -__9336F789_minwindef@h DB 01H -__55136115_windef@h DB 01H -__32205BF0_apisetcconv@h DB 01H -__B48FDEA0_minwinbase@h DB 01H -__3551B028_apiquery2@h DB 01H -__65BE04AA_processenv@h DB 01H -__4767CA46_fileapi@h DB 01H -__282E6C4B_fileapifromapp@h DB 01H -__393AF12C_debugapi@h DB 01H -__EBC502B8_utilapiset@h DB 01H -__1EAD8C69_handleapi@h DB 01H -__D8EF9B29_errhandlingapi@h DB 01H -__97FC1204_fibersapi@h DB 01H -__27448220_namedpipeapi@h DB 01H -__6EA33B2A_profileapi@h DB 01H -__EAC6F673_heapapi@h DB 01H -__D64EEA5A_ioapiset@h DB 01H -__144BD4B6_synchapi@h DB 01H -__03B1C640_interlockedapi@h DB 01H -__DC64CB38_processthreadsapi@h DB 01H -__D719B518_sysinfoapi@h DB 01H -__410385B1_memoryapi@h DB 01H -__C1AD45EF_enclaveapi@h DB 01H -__F4C3AA32_threadpoollegacyapiset@h DB 01H -__AC5A7A9F_threadpoolapiset@h DB 01H -__F5254B21_jobapi@h DB 01H -__BCEA6EE8_jobapi2@h DB 01H -__D18ACE72_wow64apiset@h DB 01H -__669B0D4A_libloaderapi@h DB 01H -__645F7034_securitybaseapi@h DB 01H -__67E58557_namespaceapi@h DB 01H -__599D9D3A_systemtopologyapi@h DB 01H -__2337E373_processtopologyapi@h DB 01H -__02BFF239_securityappcontainer@h DB 01H -__9C196272_realtimeapiset@h DB 01H -__5AB313A4_winerror@h DB 01H -__B7E7187B_timezoneapi@h DB 01H -__6DE9EB6F_winbase@h DB 01H -__56B2AFF2_wingdi@h DB 01H -__BA1161A9_tvout@h DB 01H -__0501A018_winuser@h DB 01H -__EF12FA99_datetimeapi@h DB 01H -__8FA7C3CA_winnls@h DB 01H -__390F0C47_stringapiset@h DB 01H -__28605B0A_wincontypes@h DB 01H -__BFBDE86D_consoleapi@h DB 01H -__C3CAFBF0_consoleapi2@h DB 01H -__C20891C7_consoleapi3@h DB 01H -__717C98B6_wincon@h DB 01H -__2884C177_verrsrc@h DB 01H -__A3FD3A34_winver@h DB 01H -__6F8AD9F1_reason@h DB 01H -__4C90FD6F_winreg@h DB 01H -__68AFEBAD_wnnc@h DB 01H -__5A7AB086_winnetwk@h DB 01H -__2FE8A10C_stralign@h DB 01H -__34558472_winsvc@h DB 01H -__058845F1_mcx@h DB 01H -__7F16006B_ime_cmodes@h DB 01H -__0A3AF599_imm@h DB 01H -__9349FE86_windows@h DB 01H -__639A050C_sn_internal@h DB 01H -__60B45B40_corecrt_stdio_config@h DB 01H -__CFA3741E_corecrt_wstdio@h DB 01H -__B3FE3303_stdio@h DB 01H -__955456CD_stddef@h DB 01H -__99AED4FB_corecrt_search@h DB 01H -__8B813BF6_corecrt_wstdlib@h DB 01H -__3D1CA2C3_limits@h DB 01H -__E8FB0A68_stdlib@h DB 01H -__C363A436_stb_image@h DB 01H -__836A8CFC_stdint@h DB 01H -__C95DC661_khrplatform@h DB 01H -__6C577136_gl@h DB 01H -__EE638A2C_wgl@h DB 01H -__E76F0EB7_glfw3@h DB 01H -__F8AC8404_emmintrin@h DB 01H -__270DEC8D_pmmintrin@h DB 01H -__97D49F0F_tmmintrin@h DB 01H -__BEEF8A8C_smmintrin@h DB 01H -__DB8D0340_nmmintrin@h DB 01H -__0E36F90E_wmmintrin@h DB 01H -__C5A2B409_zmmintrin@h DB 01H -__F2B616C3_immintrin@h DB 01H -__9FB25DBE_assert@h DB 01H -__4E664295_glfw_function@h DB 01H -__64C0EF11_StgSharpNative@h DB 01H -__47E843D2_intrin0@inl@h DB 01H -__130964FF_setjmp@h DB 01H -__4875F786_ammintrin@h DB 01H -__353FD888_intrin@h DB 01H -__5FE1E9E3_isa_availability@h DB 01H -__AA840D82_sn_intrinsic@h DB 01H -__9AB6954F_string@c DB 01H -msvcjmc ENDS -PUBLIC index_pair_sse -PUBLIC __JustMyCode_Default -EXTRN _RTC_CheckStackVars:PROC -EXTRN _RTC_InitBase:PROC -EXTRN _RTC_Shutdown:PROC -EXTRN __CheckForDebuggerJustMyCode:PROC -EXTRN __GSHandlerCheck:PROC -EXTRN __security_check_cookie:PROC -EXTRN __security_cookie:QWORD -; COMDAT pdata -pdata SEGMENT -$pdata$index_pair_sse DD imagerel $LN23 - DD imagerel $LN23+681 - DD imagerel $unwind$index_pair_sse -pdata ENDS -; COMDAT rtc$TMZ -rtc$TMZ SEGMENT -_RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown -rtc$TMZ ENDS -; COMDAT rtc$IMZ -rtc$IMZ SEGMENT -_RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase -rtc$IMZ ENDS -; COMDAT voltbl -voltbl SEGMENT -_volmd DW 03fH - DW 0290H -voltbl ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$index_pair_sse DD 025054619H - DD 0117231cH - DD 070100047H - DD 0500fH - DD imagerel __GSHandlerCheck - DD 0228H -xdata ENDS -; COMDAT CONST -CONST SEGMENT -index_pair_sse$rtcName$0 DB 073H - DB 00H - ORG $+14 -index_pair_sse$rtcVarDesc DD 0b0H - DD 010H - DQ FLAT:index_pair_sse$rtcName$0 - ORG $+48 -index_pair_sse$rtcFrameData DD 01H - DD 00H - DQ FLAT:index_pair_sse$rtcVarDesc -CONST ENDS -; Function compile flags: /Odt -; COMDAT __JustMyCode_Default -_TEXT SEGMENT -__JustMyCode_Default PROC ; COMDAT - 00000 c2 00 00 ret 0 -__JustMyCode_Default ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\string.c -; COMDAT index_pair_sse -_TEXT SEGMENT -index$ = 4 -result$ = 36 -size$ = 68 -end$ = 100 -s$ = 144 -vec$ = 192 -com$ = 240 -i$4 = 280 -i$5 = 312 -tv152 = 516 -__$ArrayPad$ = 520 -str$ = 560 -target$ = 568 -length$ = 576 -index_pair_sse PROC ; COMDAT - -; 4 : { - -$LN23: - 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d - 00005 89 54 24 10 mov DWORD PTR [rsp+16], edx - 00009 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000e 55 push rbp - 0000f 57 push rdi - 00010 48 81 ec 38 02 - 00 00 sub rsp, 568 ; 00000238H - 00017 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001c 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] - 00021 b9 56 00 00 00 mov ecx, 86 ; 00000056H - 00026 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH - 0002b f3 ab rep stosd - 0002d 48 8b 8c 24 58 - 02 00 00 mov rcx, QWORD PTR [rsp+600] - 00035 48 8b 05 00 00 - 00 00 mov rax, QWORD PTR __security_cookie - 0003c 48 33 c5 xor rax, rbp - 0003f 48 89 85 08 02 - 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax - 00046 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__9AB6954F_string@c - 0004d e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00052 90 npad 1 - -; 5 : int index = 0, result = 0, size = length, end = size - 8; - - 00053 c7 45 04 00 00 - 00 00 mov DWORD PTR index$[rbp], 0 - 0005a c7 45 24 00 00 - 00 00 mov DWORD PTR result$[rbp], 0 - 00061 8b 85 40 02 00 - 00 mov eax, DWORD PTR length$[rbp] - 00067 89 45 44 mov DWORD PTR size$[rbp], eax - 0006a 8b 45 44 mov eax, DWORD PTR size$[rbp] - 0006d 83 e8 08 sub eax, 8 - 00070 89 45 64 mov DWORD PTR end$[rbp], eax - -; 6 : __m128i s = { - - 00073 0f b6 85 38 02 - 00 00 movzx eax, BYTE PTR target$[rbp] - 0007a 88 85 90 00 00 - 00 mov BYTE PTR s$[rbp], al - 00080 0f b6 85 38 02 - 00 00 movzx eax, BYTE PTR target$[rbp] - 00087 88 85 91 00 00 - 00 mov BYTE PTR s$[rbp+1], al - 0008d 0f b6 85 38 02 - 00 00 movzx eax, BYTE PTR target$[rbp] - 00094 88 85 92 00 00 - 00 mov BYTE PTR s$[rbp+2], al - 0009a 0f b6 85 38 02 - 00 00 movzx eax, BYTE PTR target$[rbp] - 000a1 88 85 93 00 00 - 00 mov BYTE PTR s$[rbp+3], al - 000a7 48 8d 85 94 00 - 00 00 lea rax, QWORD PTR s$[rbp+4] - 000ae 48 8b f8 mov rdi, rax - 000b1 33 c0 xor eax, eax - 000b3 b9 0c 00 00 00 mov ecx, 12 - 000b8 f3 aa rep stosb -$LN2@index_pair: - -; 7 : target, -; 8 : target, -; 9 : target, -; 10 : target, -; 11 : }; -; 12 : __m128i vec, com; -; 13 : -; 14 : while (index < end) { - - 000ba 8b 45 64 mov eax, DWORD PTR end$[rbp] - 000bd 39 45 04 cmp DWORD PTR index$[rbp], eax - 000c0 0f 8d 52 01 00 - 00 jge $LN3@index_pair - -; 15 : vec = _mm_loadu_epi32(str + index); - - 000c6 48 63 45 04 movsxd rax, DWORD PTR index$[rbp] - 000ca 48 8b 8d 30 02 - 00 00 mov rcx, QWORD PTR str$[rbp] - 000d1 48 8d 04 41 lea rax, QWORD PTR [rcx+rax*2] - 000d5 c5 fa 6f 00 vmovdqu xmm0, XMMWORD PTR [rax] - 000d9 66 0f 7f 85 c0 - 00 00 00 movdqa XMMWORD PTR vec$[rbp], xmm0 - -; 16 : com = _mm_cmpeq_epi16(vec, s); - - 000e1 66 0f 6f 85 c0 - 00 00 00 movdqa xmm0, XMMWORD PTR vec$[rbp] - 000e9 66 0f 75 85 90 - 00 00 00 pcmpeqw xmm0, XMMWORD PTR s$[rbp] - 000f1 66 0f 7f 85 f0 - 00 00 00 movdqa XMMWORD PTR com$[rbp], xmm0 - -; 17 : result = _mm_movemask_epi8(com); - - 000f9 66 0f 6f 85 f0 - 00 00 00 movdqa xmm0, XMMWORD PTR com$[rbp] - 00101 66 0f d7 c0 pmovmskb eax, xmm0 - 00105 89 45 24 mov DWORD PTR result$[rbp], eax - -; 18 : if (result) { - - 00108 83 7d 24 00 cmp DWORD PTR result$[rbp], 0 - 0010c 74 56 je SHORT $LN13@index_pair - -; 19 : for (size_t i = 0; i < 7; i++) { - - 0010e 48 c7 85 18 01 - 00 00 00 00 00 - 00 mov QWORD PTR i$4[rbp], 0 - 00119 eb 11 jmp SHORT $LN6@index_pair -$LN4@index_pair: - 0011b 48 8b 85 18 01 - 00 00 mov rax, QWORD PTR i$4[rbp] - 00122 48 ff c0 inc rax - 00125 48 89 85 18 01 - 00 00 mov QWORD PTR i$4[rbp], rax -$LN6@index_pair: - 0012c 48 83 bd 18 01 - 00 00 07 cmp QWORD PTR i$4[rbp], 7 - 00134 73 2e jae SHORT $LN5@index_pair - -; 20 : if (((result & 0xF) == 0xF)) { - - 00136 8b 45 24 mov eax, DWORD PTR result$[rbp] - 00139 83 e0 0f and eax, 15 - 0013c 83 f8 0f cmp eax, 15 - 0013f 75 10 jne SHORT $LN14@index_pair - -; 21 : return index + i; - - 00141 48 63 45 04 movsxd rax, DWORD PTR index$[rbp] - 00145 48 03 85 18 01 - 00 00 add rax, QWORD PTR i$4[rbp] - 0014c e9 29 01 00 00 jmp $LN1@index_pair -$LN14@index_pair: - -; 22 : } -; 23 : if (result == 0) { - - 00151 83 7d 24 00 cmp DWORD PTR result$[rbp], 0 - 00155 75 02 jne SHORT $LN15@index_pair - -; 24 : break; - - 00157 eb 0b jmp SHORT $LN5@index_pair -$LN15@index_pair: - -; 25 : } -; 26 : result >>= 2; - - 00159 8b 45 24 mov eax, DWORD PTR result$[rbp] - 0015c c1 f8 02 sar eax, 2 - 0015f 89 45 24 mov DWORD PTR result$[rbp], eax - -; 27 : } - - 00162 eb b7 jmp SHORT $LN4@index_pair -$LN5@index_pair: -$LN13@index_pair: - -; 28 : } -; 29 : index += 1; - - 00164 8b 45 04 mov eax, DWORD PTR index$[rbp] - 00167 ff c0 inc eax - 00169 89 45 04 mov DWORD PTR index$[rbp], eax - -; 30 : vec = _mm_loadu_epi32(str + index); - - 0016c 48 63 45 04 movsxd rax, DWORD PTR index$[rbp] - 00170 48 8b 8d 30 02 - 00 00 mov rcx, QWORD PTR str$[rbp] - 00177 48 8d 04 41 lea rax, QWORD PTR [rcx+rax*2] - 0017b c5 fa 6f 00 vmovdqu xmm0, XMMWORD PTR [rax] - 0017f 66 0f 7f 85 c0 - 00 00 00 movdqa XMMWORD PTR vec$[rbp], xmm0 - -; 31 : com = _mm_cmpeq_epi16(vec, s); - - 00187 66 0f 6f 85 c0 - 00 00 00 movdqa xmm0, XMMWORD PTR vec$[rbp] - 0018f 66 0f 75 85 90 - 00 00 00 pcmpeqw xmm0, XMMWORD PTR s$[rbp] - 00197 66 0f 7f 85 f0 - 00 00 00 movdqa XMMWORD PTR com$[rbp], xmm0 - -; 32 : result = _mm_movemask_epi8(com); - - 0019f 66 0f 6f 85 f0 - 00 00 00 movdqa xmm0, XMMWORD PTR com$[rbp] - 001a7 66 0f d7 c0 pmovmskb eax, xmm0 - 001ab 89 45 24 mov DWORD PTR result$[rbp], eax - -; 33 : if (result) { - - 001ae 83 7d 24 00 cmp DWORD PTR result$[rbp], 0 - 001b2 74 56 je SHORT $LN16@index_pair - -; 34 : for (size_t i = 0; i < 7; i++) { - - 001b4 48 c7 85 38 01 - 00 00 00 00 00 - 00 mov QWORD PTR i$5[rbp], 0 - 001bf eb 11 jmp SHORT $LN9@index_pair -$LN7@index_pair: - 001c1 48 8b 85 38 01 - 00 00 mov rax, QWORD PTR i$5[rbp] - 001c8 48 ff c0 inc rax - 001cb 48 89 85 38 01 - 00 00 mov QWORD PTR i$5[rbp], rax -$LN9@index_pair: - 001d2 48 83 bd 38 01 - 00 00 07 cmp QWORD PTR i$5[rbp], 7 - 001da 73 2e jae SHORT $LN8@index_pair - -; 35 : if (((result & 0xF) == 0xF)) { - - 001dc 8b 45 24 mov eax, DWORD PTR result$[rbp] - 001df 83 e0 0f and eax, 15 - 001e2 83 f8 0f cmp eax, 15 - 001e5 75 10 jne SHORT $LN17@index_pair - -; 36 : return index + i; - - 001e7 48 63 45 04 movsxd rax, DWORD PTR index$[rbp] - 001eb 48 03 85 38 01 - 00 00 add rax, QWORD PTR i$5[rbp] - 001f2 e9 83 00 00 00 jmp $LN1@index_pair -$LN17@index_pair: - -; 37 : } -; 38 : if (result == 0) { - - 001f7 83 7d 24 00 cmp DWORD PTR result$[rbp], 0 - 001fb 75 02 jne SHORT $LN18@index_pair - -; 39 : break; - - 001fd eb 0b jmp SHORT $LN8@index_pair -$LN18@index_pair: - -; 40 : } -; 41 : result >>= 2; - - 001ff 8b 45 24 mov eax, DWORD PTR result$[rbp] - 00202 c1 f8 02 sar eax, 2 - 00205 89 45 24 mov DWORD PTR result$[rbp], eax - -; 42 : } - - 00208 eb b7 jmp SHORT $LN7@index_pair -$LN8@index_pair: -$LN16@index_pair: - -; 43 : } -; 44 : index += 7; - - 0020a 8b 45 04 mov eax, DWORD PTR index$[rbp] - 0020d 83 c0 07 add eax, 7 - 00210 89 45 04 mov DWORD PTR index$[rbp], eax - -; 45 : } - - 00213 e9 a2 fe ff ff jmp $LN2@index_pair -$LN3@index_pair: - -; 46 : for (; (index < size - 1) && (!result); index += 2) { - - 00218 eb 09 jmp SHORT $LN12@index_pair -$LN10@index_pair: - 0021a 8b 45 04 mov eax, DWORD PTR index$[rbp] - 0021d 83 c0 02 add eax, 2 - 00220 89 45 04 mov DWORD PTR index$[rbp], eax -$LN12@index_pair: - 00223 8b 45 44 mov eax, DWORD PTR size$[rbp] - 00226 ff c8 dec eax - 00228 39 45 04 cmp DWORD PTR index$[rbp], eax - 0022b 7d 3d jge SHORT $LN11@index_pair - 0022d 83 7d 24 00 cmp DWORD PTR result$[rbp], 0 - 00231 75 37 jne SHORT $LN11@index_pair - -; 47 : result = *(int *)(str + index) == target; - - 00233 48 63 45 04 movsxd rax, DWORD PTR index$[rbp] - 00237 48 8b 8d 30 02 - 00 00 mov rcx, QWORD PTR str$[rbp] - 0023e 8b 95 38 02 00 - 00 mov edx, DWORD PTR target$[rbp] - 00244 39 14 41 cmp DWORD PTR [rcx+rax*2], edx - 00247 75 0c jne SHORT $LN21@index_pair - 00249 c7 85 04 02 00 - 00 01 00 00 00 mov DWORD PTR tv152[rbp], 1 - 00253 eb 0a jmp SHORT $LN22@index_pair -$LN21@index_pair: - 00255 c7 85 04 02 00 - 00 00 00 00 00 mov DWORD PTR tv152[rbp], 0 -$LN22@index_pair: - 0025f 8b 85 04 02 00 - 00 mov eax, DWORD PTR tv152[rbp] - 00265 89 45 24 mov DWORD PTR result$[rbp], eax - -; 48 : } - - 00268 eb b0 jmp SHORT $LN10@index_pair -$LN11@index_pair: - -; 49 : if (result) { - - 0026a 83 7d 24 00 cmp DWORD PTR result$[rbp], 0 - 0026e 74 05 je SHORT $LN19@index_pair - -; 50 : return index; - - 00270 8b 45 04 mov eax, DWORD PTR index$[rbp] - 00273 eb 05 jmp SHORT $LN1@index_pair -$LN19@index_pair: - -; 51 : } -; 52 : return -1; - - 00275 b8 ff ff ff ff mov eax, -1 -$LN1@index_pair: - -; 53 : } - - 0027a 48 8b f8 mov rdi, rax - 0027d 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] - 00281 48 8d 15 00 00 - 00 00 lea rdx, OFFSET FLAT:index_pair_sse$rtcFrameData - 00288 e8 00 00 00 00 call _RTC_CheckStackVars - 0028d 48 8b c7 mov rax, rdi - 00290 48 8b 8d 08 02 - 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] - 00297 48 33 cd xor rcx, rbp - 0029a e8 00 00 00 00 call __security_check_cookie - 0029f 48 8d a5 18 02 - 00 00 lea rsp, QWORD PTR [rbp+536] - 002a6 5f pop rdi - 002a7 5d pop rbp - 002a8 c3 ret 0 -index_pair_sse ENDP -_TEXT ENDS -END diff --git a/StgSharp.Native/x64/Debug/string.obj b/StgSharp.Native/x64/Debug/string.obj deleted file mode 100644 index cfac0a91..00000000 Binary files a/StgSharp.Native/x64/Debug/string.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/string.sbr b/StgSharp.Native/x64/Debug/string.sbr deleted file mode 100644 index c1702d25..00000000 Binary files a/StgSharp.Native/x64/Debug/string.sbr and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/vc143.idb b/StgSharp.Native/x64/Debug/vc143.idb deleted file mode 100644 index b8f271c0..00000000 Binary files a/StgSharp.Native/x64/Debug/vc143.idb and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/vc143.pdb b/StgSharp.Native/x64/Debug/vc143.pdb deleted file mode 100644 index 119684e7..00000000 Binary files a/StgSharp.Native/x64/Debug/vc143.pdb and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/vector.cod b/StgSharp.Native/x64/Debug/vector.cod deleted file mode 100644 index 11ef0cd3..00000000 --- a/StgSharp.Native/x64/Debug/vector.cod +++ /dev/null @@ -1,355 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.44.35215.0 - -include listing.inc - -INCLUDELIB MSVCRTD -INCLUDELIB OLDNAMES - -_DATA SEGMENT -COMM infolog:BYTE:0200H -_DATA ENDS -msvcjmc SEGMENT -__5C8CA4D3_mmintrin@h DB 01H -__8C83BECC_concurrencysal@h DB 01H -__608E3340_sal@h DB 01H -__FB67E29A_vadefs@h DB 01H -__1D1B619C_vcruntime@h DB 01H -__735960E1_corecrt@h DB 01H -__211DB995_corecrt_malloc@h DB 01H -__7CD62D9E_malloc@h DB 01H -__9DCE0DC8_xmmintrin@h DB 01H -__4C2AD0C7_winpackagefamily@h DB 01H -__9DED9ED1_winapifamily@h DB 01H -__12FEDF4E_sdkddkver@h DB 01H -__9BAEE128_excpt@h DB 01H -__B7B53233_stdarg@h DB 01H -__6B04FCB3_specstrings_undef@h DB 01H -__F4027AF7_specstrings_strict@h DB 01H -__B90340D4_sdv_driverspecs@h DB 01H -__BFFF5AD3_driverspecs@h DB 01H -__32847078_specstrings@h DB 01H -__108B2620_corecrt_wctype@h DB 01H -__6CD6613D_ctype@h DB 01H -__30902A1F_kernelspecs@h DB 01H -__376FD5CA_basetsd@h DB 01H -__13DE2371_errno@h DB 01H -__8C6AE390_vcruntime_string@h DB 01H -__8ACB2152_corecrt_memcpy_s@h DB 01H -__EA6C9D17_corecrt_memory@h DB 01H -__0DF2AF52_corecrt_wstring@h DB 01H -__6E889ECC_string@h DB 01H -__9BEDF4DE_guiddef@h DB 01H -__51BFD2FE_pshpack4@h DB 01H -__31652CEA_poppack@h DB 01H -__5532AE4C_pshpack2@h DB 01H -__58A52B9A_pshpack8@h DB 01H -__57741015_pshpack1@h DB 01H -__CDE68C90_apiset@h DB 01H -__0BF06E8D_ktmtypes@h DB 01H -__40C200C0_winnt@h DB 01H -__9336F789_minwindef@h DB 01H -__55136115_windef@h DB 01H -__32205BF0_apisetcconv@h DB 01H -__B48FDEA0_minwinbase@h DB 01H -__3551B028_apiquery2@h DB 01H -__65BE04AA_processenv@h DB 01H -__4767CA46_fileapi@h DB 01H -__282E6C4B_fileapifromapp@h DB 01H -__393AF12C_debugapi@h DB 01H -__EBC502B8_utilapiset@h DB 01H -__1EAD8C69_handleapi@h DB 01H -__D8EF9B29_errhandlingapi@h DB 01H -__97FC1204_fibersapi@h DB 01H -__27448220_namedpipeapi@h DB 01H -__6EA33B2A_profileapi@h DB 01H -__EAC6F673_heapapi@h DB 01H -__D64EEA5A_ioapiset@h DB 01H -__144BD4B6_synchapi@h DB 01H -__03B1C640_interlockedapi@h DB 01H -__DC64CB38_processthreadsapi@h DB 01H -__D719B518_sysinfoapi@h DB 01H -__410385B1_memoryapi@h DB 01H -__C1AD45EF_enclaveapi@h DB 01H -__F4C3AA32_threadpoollegacyapiset@h DB 01H -__AC5A7A9F_threadpoolapiset@h DB 01H -__F5254B21_jobapi@h DB 01H -__BCEA6EE8_jobapi2@h DB 01H -__D18ACE72_wow64apiset@h DB 01H -__669B0D4A_libloaderapi@h DB 01H -__645F7034_securitybaseapi@h DB 01H -__67E58557_namespaceapi@h DB 01H -__599D9D3A_systemtopologyapi@h DB 01H -__2337E373_processtopologyapi@h DB 01H -__02BFF239_securityappcontainer@h DB 01H -__9C196272_realtimeapiset@h DB 01H -__5AB313A4_winerror@h DB 01H -__B7E7187B_timezoneapi@h DB 01H -__6DE9EB6F_winbase@h DB 01H -__56B2AFF2_wingdi@h DB 01H -__BA1161A9_tvout@h DB 01H -__0501A018_winuser@h DB 01H -__EF12FA99_datetimeapi@h DB 01H -__8FA7C3CA_winnls@h DB 01H -__390F0C47_stringapiset@h DB 01H -__28605B0A_wincontypes@h DB 01H -__BFBDE86D_consoleapi@h DB 01H -__C3CAFBF0_consoleapi2@h DB 01H -__C20891C7_consoleapi3@h DB 01H -__717C98B6_wincon@h DB 01H -__2884C177_verrsrc@h DB 01H -__A3FD3A34_winver@h DB 01H -__6F8AD9F1_reason@h DB 01H -__4C90FD6F_winreg@h DB 01H -__68AFEBAD_wnnc@h DB 01H -__5A7AB086_winnetwk@h DB 01H -__2FE8A10C_stralign@h DB 01H -__34558472_winsvc@h DB 01H -__058845F1_mcx@h DB 01H -__7F16006B_ime_cmodes@h DB 01H -__0A3AF599_imm@h DB 01H -__9349FE86_windows@h DB 01H -__639A050C_sn_internal@h DB 01H -__60B45B40_corecrt_stdio_config@h DB 01H -__CFA3741E_corecrt_wstdio@h DB 01H -__B3FE3303_stdio@h DB 01H -__955456CD_stddef@h DB 01H -__99AED4FB_corecrt_search@h DB 01H -__8B813BF6_corecrt_wstdlib@h DB 01H -__3D1CA2C3_limits@h DB 01H -__E8FB0A68_stdlib@h DB 01H -__C363A436_stb_image@h DB 01H -__836A8CFC_stdint@h DB 01H -__C95DC661_khrplatform@h DB 01H -__6C577136_gl@h DB 01H -__EE638A2C_wgl@h DB 01H -__E76F0EB7_glfw3@h DB 01H -__F8AC8404_emmintrin@h DB 01H -__270DEC8D_pmmintrin@h DB 01H -__97D49F0F_tmmintrin@h DB 01H -__BEEF8A8C_smmintrin@h DB 01H -__DB8D0340_nmmintrin@h DB 01H -__0E36F90E_wmmintrin@h DB 01H -__C5A2B409_zmmintrin@h DB 01H -__F2B616C3_immintrin@h DB 01H -__9FB25DBE_assert@h DB 01H -__4E664295_glfw_function@h DB 01H -__64C0EF11_StgSharpNative@h DB 01H -__E15488A2_vector@c DB 01H -msvcjmc ENDS -PUBLIC normalize -PUBLIC __JustMyCode_Default -EXTRN _RTC_InitBase:PROC -EXTRN _RTC_Shutdown:PROC -EXTRN __CheckForDebuggerJustMyCode:PROC -; COMDAT pdata -pdata SEGMENT -$pdata$normalize DD imagerel $LN3 - DD imagerel $LN3+379 - DD imagerel $unwind$normalize -pdata ENDS -; COMDAT rtc$TMZ -rtc$TMZ SEGMENT -_RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown -rtc$TMZ ENDS -; COMDAT rtc$IMZ -rtc$IMZ SEGMENT -_RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase -rtc$IMZ ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$normalize DD 025051801H - DD 01132318H - DD 0700c0041H - DD 0500bH -xdata ENDS -; Function compile flags: /Odt -; COMDAT __JustMyCode_Default -_TEXT SEGMENT -__JustMyCode_Default PROC ; COMDAT - 00000 c2 00 00 ret 0 -__JustMyCode_Default ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\vector.c -; COMDAT normalize -_TEXT SEGMENT -a_length_sq$ = 16 -a_inv_length$ = 64 -dot_product$ = 112 -b_orthogonal$ = 160 -b_length_sq$ = 208 -b_inv_length$ = 256 -source$ = 512 -target$ = 520 -normalize PROC ; COMDAT - -; 5 : { - -$LN3: - 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000a 55 push rbp - 0000b 57 push rdi - 0000c 48 81 ec 08 02 - 00 00 sub rsp, 520 ; 00000208H - 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 00018 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__E15488A2_vector@c - 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00024 90 npad 1 - -; 6 : __m128 a_length_sq = _mm_mul_ps(*source, *source); - - 00025 48 8b 85 00 02 - 00 00 mov rax, QWORD PTR source$[rbp] - 0002c 48 8b 8d 00 02 - 00 00 mov rcx, QWORD PTR source$[rbp] - 00033 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 00036 0f 59 01 mulps xmm0, XMMWORD PTR [rcx] - 00039 0f 29 45 10 movaps XMMWORD PTR a_length_sq$[rbp], xmm0 - -; 7 : a_length_sq = _mm_add_ps(a_length_sq, - - 0003d 0f 28 45 10 movaps xmm0, XMMWORD PTR a_length_sq$[rbp] - 00041 0f c6 45 10 b1 shufps xmm0, XMMWORD PTR a_length_sq$[rbp], 177 ; 000000b1H - 00046 0f 28 4d 10 movaps xmm1, XMMWORD PTR a_length_sq$[rbp] - 0004a 0f 58 c8 addps xmm1, xmm0 - 0004d 0f 28 c1 movaps xmm0, xmm1 - 00050 0f 29 45 10 movaps XMMWORD PTR a_length_sq$[rbp], xmm0 - -; 8 : _mm_shuffle_ps(a_length_sq, a_length_sq, _MM_SHUFFLE(2, 3, 0, 1))); -; 9 : a_length_sq = _mm_add_ss(a_length_sq, - - 00054 0f 28 45 10 movaps xmm0, XMMWORD PTR a_length_sq$[rbp] - 00058 0f c6 45 10 0e shufps xmm0, XMMWORD PTR a_length_sq$[rbp], 14 - 0005d 0f 28 4d 10 movaps xmm1, XMMWORD PTR a_length_sq$[rbp] - 00061 f3 0f 58 c8 addss xmm1, xmm0 - 00065 0f 29 4d 10 movaps XMMWORD PTR a_length_sq$[rbp], xmm1 - -; 10 : _mm_shuffle_ps(a_length_sq, a_length_sq, _MM_SHUFFLE(0, 0, 3, 2))); -; 11 : -; 12 : __m128 a_inv_length = _mm_rsqrt_ps(a_length_sq); - - 00069 0f 52 45 10 rsqrtps xmm0, XMMWORD PTR a_length_sq$[rbp] - 0006d 0f 29 45 40 movaps XMMWORD PTR a_inv_length$[rbp], xmm0 - -; 13 : *source = _mm_mul_ps(*source, a_inv_length); - - 00071 48 8b 85 00 02 - 00 00 mov rax, QWORD PTR source$[rbp] - 00078 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0007b 0f 59 45 40 mulps xmm0, XMMWORD PTR a_inv_length$[rbp] - 0007f 48 8b 85 00 02 - 00 00 mov rax, QWORD PTR source$[rbp] - 00086 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 14 : -; 15 : __m128 dot_product = _mm_mul_ps(*target, *source); - - 00089 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR target$[rbp] - 00090 48 8b 8d 00 02 - 00 00 mov rcx, QWORD PTR source$[rbp] - 00097 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0009a 0f 59 01 mulps xmm0, XMMWORD PTR [rcx] - 0009d 0f 29 45 70 movaps XMMWORD PTR dot_product$[rbp], xmm0 - -; 16 : dot_product = _mm_add_ps(dot_product, - - 000a1 0f 28 45 70 movaps xmm0, XMMWORD PTR dot_product$[rbp] - 000a5 0f c6 45 70 b1 shufps xmm0, XMMWORD PTR dot_product$[rbp], 177 ; 000000b1H - 000aa 0f 28 4d 70 movaps xmm1, XMMWORD PTR dot_product$[rbp] - 000ae 0f 58 c8 addps xmm1, xmm0 - 000b1 0f 28 c1 movaps xmm0, xmm1 - 000b4 0f 29 45 70 movaps XMMWORD PTR dot_product$[rbp], xmm0 - -; 17 : _mm_shuffle_ps(dot_product, dot_product, _MM_SHUFFLE(2, 3, 0, 1))); -; 18 : dot_product = _mm_add_ss(dot_product, - - 000b8 0f 28 45 70 movaps xmm0, XMMWORD PTR dot_product$[rbp] - 000bc 0f c6 45 70 0e shufps xmm0, XMMWORD PTR dot_product$[rbp], 14 - 000c1 0f 28 4d 70 movaps xmm1, XMMWORD PTR dot_product$[rbp] - 000c5 f3 0f 58 c8 addss xmm1, xmm0 - 000c9 0f 29 4d 70 movaps XMMWORD PTR dot_product$[rbp], xmm1 - -; 19 : _mm_shuffle_ps(dot_product, dot_product, _MM_SHUFFLE(0, 0, 3, 2))); -; 20 : -; 21 : __m128 b_orthogonal = _mm_sub_ps(*target, _mm_mul_ps(*source, dot_product)); - - 000cd 48 8b 85 00 02 - 00 00 mov rax, QWORD PTR source$[rbp] - 000d4 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 000d7 0f 59 45 70 mulps xmm0, XMMWORD PTR dot_product$[rbp] - 000db 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR target$[rbp] - 000e2 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 000e5 0f 5c c8 subps xmm1, xmm0 - 000e8 0f 28 c1 movaps xmm0, xmm1 - 000eb 0f 29 85 a0 00 - 00 00 movaps XMMWORD PTR b_orthogonal$[rbp], xmm0 - -; 22 : -; 23 : __m128 b_length_sq = _mm_mul_ps(b_orthogonal, b_orthogonal); - - 000f2 0f 28 85 a0 00 - 00 00 movaps xmm0, XMMWORD PTR b_orthogonal$[rbp] - 000f9 0f 59 85 a0 00 - 00 00 mulps xmm0, XMMWORD PTR b_orthogonal$[rbp] - 00100 0f 29 85 d0 00 - 00 00 movaps XMMWORD PTR b_length_sq$[rbp], xmm0 - -; 24 : b_length_sq = _mm_add_ps(b_length_sq, - - 00107 0f 28 85 d0 00 - 00 00 movaps xmm0, XMMWORD PTR b_length_sq$[rbp] - 0010e 0f c6 85 d0 00 - 00 00 b1 shufps xmm0, XMMWORD PTR b_length_sq$[rbp], 177 ; 000000b1H - 00116 0f 28 8d d0 00 - 00 00 movaps xmm1, XMMWORD PTR b_length_sq$[rbp] - 0011d 0f 58 c8 addps xmm1, xmm0 - 00120 0f 28 c1 movaps xmm0, xmm1 - 00123 0f 29 85 d0 00 - 00 00 movaps XMMWORD PTR b_length_sq$[rbp], xmm0 - -; 25 : _mm_shuffle_ps(b_length_sq, b_length_sq, _MM_SHUFFLE(2, 3, 0, 1))); -; 26 : b_length_sq = _mm_add_ss(b_length_sq, - - 0012a 0f 28 85 d0 00 - 00 00 movaps xmm0, XMMWORD PTR b_length_sq$[rbp] - 00131 0f c6 85 d0 00 - 00 00 0e shufps xmm0, XMMWORD PTR b_length_sq$[rbp], 14 - 00139 0f 28 8d d0 00 - 00 00 movaps xmm1, XMMWORD PTR b_length_sq$[rbp] - 00140 f3 0f 58 c8 addss xmm1, xmm0 - 00144 0f 29 8d d0 00 - 00 00 movaps XMMWORD PTR b_length_sq$[rbp], xmm1 - -; 27 : _mm_shuffle_ps(b_length_sq, b_length_sq, _MM_SHUFFLE(0, 0, 3, 2))); -; 28 : -; 29 : __m128 b_inv_length = _mm_rsqrt_ps(b_length_sq); - - 0014b 0f 52 85 d0 00 - 00 00 rsqrtps xmm0, XMMWORD PTR b_length_sq$[rbp] - 00152 0f 29 85 00 01 - 00 00 movaps XMMWORD PTR b_inv_length$[rbp], xmm0 - -; 30 : *target = _mm_mul_ps(b_orthogonal, b_inv_length); - - 00159 0f 28 85 a0 00 - 00 00 movaps xmm0, XMMWORD PTR b_orthogonal$[rbp] - 00160 0f 59 85 00 01 - 00 00 mulps xmm0, XMMWORD PTR b_inv_length$[rbp] - 00167 48 8b 85 08 02 - 00 00 mov rax, QWORD PTR target$[rbp] - 0016e 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 31 : } - - 00171 48 8d a5 e8 01 - 00 00 lea rsp, QWORD PTR [rbp+488] - 00178 5f pop rdi - 00179 5d pop rbp - 0017a c3 ret 0 -normalize ENDP -_TEXT ENDS -END diff --git a/StgSharp.Native/x64/Debug/vector.obj b/StgSharp.Native/x64/Debug/vector.obj deleted file mode 100644 index 4825b664..00000000 Binary files a/StgSharp.Native/x64/Debug/vector.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/vector.sbr b/StgSharp.Native/x64/Debug/vector.sbr deleted file mode 100644 index 4bc38caf..00000000 Binary files a/StgSharp.Native/x64/Debug/vector.sbr and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/vector_dot.cod b/StgSharp.Native/x64/Debug/vector_dot.cod deleted file mode 100644 index 2920f919..00000000 --- a/StgSharp.Native/x64/Debug/vector_dot.cod +++ /dev/null @@ -1,1712 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.44.35215.0 - -include listing.inc - -INCLUDELIB MSVCRTD -INCLUDELIB OLDNAMES - -_DATA SEGMENT -COMM infolog:BYTE:0200H -_DATA ENDS -msvcjmc SEGMENT -__5C8CA4D3_mmintrin@h DB 01H -__8C83BECC_concurrencysal@h DB 01H -__608E3340_sal@h DB 01H -__FB67E29A_vadefs@h DB 01H -__1D1B619C_vcruntime@h DB 01H -__735960E1_corecrt@h DB 01H -__211DB995_corecrt_malloc@h DB 01H -__7CD62D9E_malloc@h DB 01H -__9DCE0DC8_xmmintrin@h DB 01H -__4C2AD0C7_winpackagefamily@h DB 01H -__9DED9ED1_winapifamily@h DB 01H -__12FEDF4E_sdkddkver@h DB 01H -__9BAEE128_excpt@h DB 01H -__B7B53233_stdarg@h DB 01H -__6B04FCB3_specstrings_undef@h DB 01H -__F4027AF7_specstrings_strict@h DB 01H -__B90340D4_sdv_driverspecs@h DB 01H -__BFFF5AD3_driverspecs@h DB 01H -__32847078_specstrings@h DB 01H -__108B2620_corecrt_wctype@h DB 01H -__6CD6613D_ctype@h DB 01H -__30902A1F_kernelspecs@h DB 01H -__376FD5CA_basetsd@h DB 01H -__13DE2371_errno@h DB 01H -__8C6AE390_vcruntime_string@h DB 01H -__8ACB2152_corecrt_memcpy_s@h DB 01H -__EA6C9D17_corecrt_memory@h DB 01H -__0DF2AF52_corecrt_wstring@h DB 01H -__6E889ECC_string@h DB 01H -__9BEDF4DE_guiddef@h DB 01H -__51BFD2FE_pshpack4@h DB 01H -__31652CEA_poppack@h DB 01H -__5532AE4C_pshpack2@h DB 01H -__58A52B9A_pshpack8@h DB 01H -__57741015_pshpack1@h DB 01H -__CDE68C90_apiset@h DB 01H -__0BF06E8D_ktmtypes@h DB 01H -__40C200C0_winnt@h DB 01H -__9336F789_minwindef@h DB 01H -__55136115_windef@h DB 01H -__32205BF0_apisetcconv@h DB 01H -__B48FDEA0_minwinbase@h DB 01H -__3551B028_apiquery2@h DB 01H -__65BE04AA_processenv@h DB 01H -__4767CA46_fileapi@h DB 01H -__282E6C4B_fileapifromapp@h DB 01H -__393AF12C_debugapi@h DB 01H -__EBC502B8_utilapiset@h DB 01H -__1EAD8C69_handleapi@h DB 01H -__D8EF9B29_errhandlingapi@h DB 01H -__97FC1204_fibersapi@h DB 01H -__27448220_namedpipeapi@h DB 01H -__6EA33B2A_profileapi@h DB 01H -__EAC6F673_heapapi@h DB 01H -__D64EEA5A_ioapiset@h DB 01H -__144BD4B6_synchapi@h DB 01H -__03B1C640_interlockedapi@h DB 01H -__DC64CB38_processthreadsapi@h DB 01H -__D719B518_sysinfoapi@h DB 01H -__410385B1_memoryapi@h DB 01H -__C1AD45EF_enclaveapi@h DB 01H -__F4C3AA32_threadpoollegacyapiset@h DB 01H -__AC5A7A9F_threadpoolapiset@h DB 01H -__F5254B21_jobapi@h DB 01H -__BCEA6EE8_jobapi2@h DB 01H -__D18ACE72_wow64apiset@h DB 01H -__669B0D4A_libloaderapi@h DB 01H -__645F7034_securitybaseapi@h DB 01H -__67E58557_namespaceapi@h DB 01H -__599D9D3A_systemtopologyapi@h DB 01H -__2337E373_processtopologyapi@h DB 01H -__02BFF239_securityappcontainer@h DB 01H -__9C196272_realtimeapiset@h DB 01H -__5AB313A4_winerror@h DB 01H -__B7E7187B_timezoneapi@h DB 01H -__6DE9EB6F_winbase@h DB 01H -__56B2AFF2_wingdi@h DB 01H -__BA1161A9_tvout@h DB 01H -__0501A018_winuser@h DB 01H -__EF12FA99_datetimeapi@h DB 01H -__8FA7C3CA_winnls@h DB 01H -__390F0C47_stringapiset@h DB 01H -__28605B0A_wincontypes@h DB 01H -__BFBDE86D_consoleapi@h DB 01H -__C3CAFBF0_consoleapi2@h DB 01H -__C20891C7_consoleapi3@h DB 01H -__717C98B6_wincon@h DB 01H -__2884C177_verrsrc@h DB 01H -__A3FD3A34_winver@h DB 01H -__6F8AD9F1_reason@h DB 01H -__4C90FD6F_winreg@h DB 01H -__68AFEBAD_wnnc@h DB 01H -__5A7AB086_winnetwk@h DB 01H -__2FE8A10C_stralign@h DB 01H -__34558472_winsvc@h DB 01H -__058845F1_mcx@h DB 01H -__7F16006B_ime_cmodes@h DB 01H -__0A3AF599_imm@h DB 01H -__9349FE86_windows@h DB 01H -__639A050C_sn_internal@h DB 01H -__60B45B40_corecrt_stdio_config@h DB 01H -__CFA3741E_corecrt_wstdio@h DB 01H -__B3FE3303_stdio@h DB 01H -__955456CD_stddef@h DB 01H -__99AED4FB_corecrt_search@h DB 01H -__8B813BF6_corecrt_wstdlib@h DB 01H -__3D1CA2C3_limits@h DB 01H -__E8FB0A68_stdlib@h DB 01H -__C363A436_stb_image@h DB 01H -__836A8CFC_stdint@h DB 01H -__C95DC661_khrplatform@h DB 01H -__6C577136_gl@h DB 01H -__EE638A2C_wgl@h DB 01H -__E76F0EB7_glfw3@h DB 01H -__F8AC8404_emmintrin@h DB 01H -__270DEC8D_pmmintrin@h DB 01H -__97D49F0F_tmmintrin@h DB 01H -__BEEF8A8C_smmintrin@h DB 01H -__DB8D0340_nmmintrin@h DB 01H -__0E36F90E_wmmintrin@h DB 01H -__C5A2B409_zmmintrin@h DB 01H -__F2B616C3_immintrin@h DB 01H -__9FB25DBE_assert@h DB 01H -__4E664295_glfw_function@h DB 01H -__64C0EF11_StgSharpNative@h DB 01H -__47E843D2_intrin0@inl@h DB 01H -__130964FF_setjmp@h DB 01H -__4875F786_ammintrin@h DB 01H -__353FD888_intrin@h DB 01H -__5FE1E9E3_isa_availability@h DB 01H -__AA840D82_sn_intrinsic@h DB 01H -__9CC1CD6B_vector_dot@c DB 01H -msvcjmc ENDS -CONST SEGMENT -avxdot_indices DD 00H - DD 04H - DD 01H - DD 05H - DD 02H - DD 03H - DD 06H - DD 07H -CONST ENDS -PUBLIC dot_41_sse -PUBLIC dot_31_sse -PUBLIC dot_41_avx -PUBLIC dot_31_avx -PUBLIC dot_32_sse -PUBLIC dot_32_avx -PUBLIC dot_42_sse -PUBLIC dot_42_avx -PUBLIC dot_43_sse -PUBLIC dot_43_avx -PUBLIC __JustMyCode_Default -EXTRN _RTC_InitBase:PROC -EXTRN _RTC_Shutdown:PROC -EXTRN __CheckForDebuggerJustMyCode:PROC -; COMDAT pdata -pdata SEGMENT -$pdata$dot_41_sse DD imagerel $LN3 - DD imagerel $LN3+281 - DD imagerel $unwind$dot_41_sse -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$dot_31_sse DD imagerel $LN3 - DD imagerel $LN3+219 - DD imagerel $unwind$dot_31_sse -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$dot_41_avx DD imagerel $LN3 - DD imagerel $LN3+215 - DD imagerel $unwind$dot_41_avx -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$dot_31_avx DD imagerel $LN3 - DD imagerel $LN3+223 - DD imagerel $unwind$dot_31_avx -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$dot_32_sse DD imagerel $LN3 - DD imagerel $LN3+512 - DD imagerel $unwind$dot_32_sse -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$dot_32_avx DD imagerel $LN3 - DD imagerel $LN3+343 - DD imagerel $unwind$dot_32_avx -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$dot_42_sse DD imagerel $LN3 - DD imagerel $LN3+678 - DD imagerel $unwind$dot_42_sse -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$dot_42_avx DD imagerel $LN3 - DD imagerel $LN3+394 - DD imagerel $unwind$dot_42_avx -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$dot_43_sse DD imagerel $LN3 - DD imagerel $LN3+161 - DD imagerel $unwind$dot_43_sse -pdata ENDS -; COMDAT pdata -pdata SEGMENT -$pdata$dot_43_avx DD imagerel $LN3 - DD imagerel $LN3+537 - DD imagerel $unwind$dot_43_avx -pdata ENDS -; COMDAT rtc$TMZ -rtc$TMZ SEGMENT -_RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown -rtc$TMZ ENDS -; COMDAT rtc$IMZ -rtc$IMZ SEGMENT -_RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase -rtc$IMZ ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$dot_43_avx DD 02d062801H - DD 011a231fH - DD 070130042H - DD 0d0115012H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$dot_43_sse DD 025051d01H - DD 0118231dH - DD 07011001dH - DD 05010H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$dot_42_avx DD 02d062801H - DD 011a231fH - DD 070130032H - DD 0d0115012H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$dot_42_sse DD 025051d01H - DD 0118231dH - DD 07011001dH - DD 05010H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$dot_32_avx DD 02d062801H - DD 011a231fH - DD 070130032H - DD 0d0115012H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$dot_32_sse DD 025051d01H - DD 0118231dH - DD 07011001dH - DD 05010H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$dot_31_avx DD 02d062801H - DD 011a231fH - DD 070130032H - DD 0d0115012H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$dot_41_avx DD 02d062801H - DD 011a231fH - DD 070130032H - DD 0d0115012H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$dot_31_sse DD 025051d01H - DD 0118231dH - DD 07011001dH - DD 05010H -xdata ENDS -; COMDAT xdata -xdata SEGMENT -$unwind$dot_41_sse DD 025051d01H - DD 0118231dH - DD 07011001dH - DD 05010H -xdata ENDS -; Function compile flags: /Odt -; COMDAT __JustMyCode_Default -_TEXT SEGMENT -__JustMyCode_Default PROC ; COMDAT - 00000 c2 00 00 ret 0 -__JustMyCode_Default ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\vector_dot.c -; COMDAT dot_43_avx -_TEXT SEGMENT -ans_ptr$ = 8 -right_ptr$ = 40 -temp$ = 96 -third$ = 160 -ans_third$ = 224 -transpose$ = 528 -vector$ = 536 -ans$ = 544 -dot_43_avx PROC ; COMDAT - -; 125 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 41 55 push r13 - 00011 55 push rbp - 00012 57 push rdi - 00013 48 81 ec 10 02 - 00 00 sub rsp, 528 ; 00000210H - 0001a 4c 8d 6c 24 20 lea r13, QWORD PTR [rsp+32] - 0001f 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] - 00024 48 83 e5 e0 and rbp, -32 ; ffffffffffffffe0H - 00028 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__9CC1CD6B_vector_dot@c - 0002f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00034 90 npad 1 - -; 126 : __3_columnset *ans_ptr = (__3_columnset *)ans, *right_ptr = (__3_columnset *)vector; - - 00035 49 8b 85 20 02 - 00 00 mov rax, QWORD PTR ans$[r13] - 0003c 48 89 45 08 mov QWORD PTR ans_ptr$[rbp], rax - 00040 49 8b 85 18 02 - 00 00 mov rax, QWORD PTR vector$[r13] - 00047 48 89 45 28 mov QWORD PTR right_ptr$[rbp], rax - -; 127 : __m256 temp = ALIGN256(transpose->half[0]); - - 0004b b8 20 00 00 00 mov eax, 32 ; 00000020H - 00050 48 6b c0 00 imul rax, rax, 0 - 00054 49 8b 8d 10 02 - 00 00 mov rcx, QWORD PTR transpose$[r13] - 0005b 48 03 c8 add rcx, rax - 0005e 48 8b c1 mov rax, rcx - 00061 c5 fc 10 00 vmovups ymm0, YMMWORD PTR [rax] - 00065 c5 fc 11 45 60 vmovups YMMWORD PTR temp$[rbp], ymm0 - -; 128 : __m256 third = _mm256_set_m128(right_ptr->column[2], right_ptr->column[2]); - - 0006a b8 10 00 00 00 mov eax, 16 - 0006f 48 6b c0 02 imul rax, rax, 2 - 00073 b9 10 00 00 00 mov ecx, 16 - 00078 48 6b c9 02 imul rcx, rcx, 2 - 0007c 48 8b 55 28 mov rdx, QWORD PTR right_ptr$[rbp] - 00080 c5 f8 10 04 0a vmovups xmm0, XMMWORD PTR [rdx+rcx] - 00085 48 8b 4d 28 mov rcx, QWORD PTR right_ptr$[rbp] - 00089 c4 e3 7d 18 04 - 01 01 vinsertf128 ymm0, ymm0, XMMWORD PTR [rcx+rax], 1 - 00090 c5 fc 11 85 a0 - 00 00 00 vmovups YMMWORD PTR third$[rbp], ymm0 - -; 129 : -; 130 : ans_ptr->part = _mm256_dp_ps(temp, right_ptr->part, 0B11110001); - - 00098 48 8b 45 28 mov rax, QWORD PTR right_ptr$[rbp] - 0009c c5 fc 10 45 60 vmovups ymm0, YMMWORD PTR temp$[rbp] - 000a1 c4 e3 7d 40 00 - f1 vdpps ymm0, ymm0, YMMWORD PTR [rax], 241 ; 000000f1H - 000a7 48 8b 45 08 mov rax, QWORD PTR ans_ptr$[rbp] - 000ab c5 fc 11 00 vmovups YMMWORD PTR [rax], ymm0 - -; 131 : __m256 ans_third = _mm256_dp_ps(temp, third, 0B11110001); - - 000af c5 fc 10 45 60 vmovups ymm0, YMMWORD PTR temp$[rbp] - 000b4 c4 e3 7d 40 85 - a0 00 00 00 f1 vdpps ymm0, ymm0, YMMWORD PTR third$[rbp], 241 ; 000000f1H - 000be c5 fc 11 85 e0 - 00 00 00 vmovups YMMWORD PTR ans_third$[rbp], ymm0 - -; 132 : temp = _mm256_permute2f128_ps(temp, temp, 0B00000001); - - 000c6 c5 fc 10 45 60 vmovups ymm0, YMMWORD PTR temp$[rbp] - 000cb c4 e3 7d 06 45 - 60 01 vperm2f128 ymm0, ymm0, YMMWORD PTR temp$[rbp], 1 - 000d2 c5 fc 11 45 60 vmovups YMMWORD PTR temp$[rbp], ymm0 - -; 133 : ans_ptr->part = _mm256_blend_ps( - - 000d7 48 8b 45 28 mov rax, QWORD PTR right_ptr$[rbp] - 000db c5 fc 10 45 60 vmovups ymm0, YMMWORD PTR temp$[rbp] - 000e0 c4 e3 7d 40 00 - f2 vdpps ymm0, ymm0, YMMWORD PTR [rax], 242 ; 000000f2H - 000e6 48 8b 45 08 mov rax, QWORD PTR ans_ptr$[rbp] - 000ea c5 fc 10 08 vmovups ymm1, YMMWORD PTR [rax] - 000ee c4 e3 75 0c c0 - 22 vblendps ymm0, ymm1, ymm0, 34 ; 00000022H - 000f4 48 8b 45 08 mov rax, QWORD PTR ans_ptr$[rbp] - 000f8 c5 fc 11 00 vmovups YMMWORD PTR [rax], ymm0 - -; 134 : ans_ptr->part, _mm256_dp_ps(temp, right_ptr->part, 0B11110010), 0B00100010); -; 135 : -; 136 : temp = ALIGN256(transpose->half[1]); - - 000fc b8 20 00 00 00 mov eax, 32 ; 00000020H - 00101 48 6b c0 01 imul rax, rax, 1 - 00105 49 8b 8d 10 02 - 00 00 mov rcx, QWORD PTR transpose$[r13] - 0010c 48 03 c8 add rcx, rax - 0010f 48 8b c1 mov rax, rcx - 00112 c5 fc 10 00 vmovups ymm0, YMMWORD PTR [rax] - 00116 c5 fc 11 45 60 vmovups YMMWORD PTR temp$[rbp], ymm0 - -; 137 : ans_ptr->part = _mm256_blend_ps( - - 0011b 48 8b 45 28 mov rax, QWORD PTR right_ptr$[rbp] - 0011f c5 fc 10 45 60 vmovups ymm0, YMMWORD PTR temp$[rbp] - 00124 c4 e3 7d 40 00 - f4 vdpps ymm0, ymm0, YMMWORD PTR [rax], 244 ; 000000f4H - 0012a 48 8b 45 08 mov rax, QWORD PTR ans_ptr$[rbp] - 0012e c5 fc 10 08 vmovups ymm1, YMMWORD PTR [rax] - 00132 c4 e3 75 0c c0 - 44 vblendps ymm0, ymm1, ymm0, 68 ; 00000044H - 00138 48 8b 45 08 mov rax, QWORD PTR ans_ptr$[rbp] - 0013c c5 fc 11 00 vmovups YMMWORD PTR [rax], ymm0 - -; 138 : ans_ptr->part, _mm256_dp_ps(temp, right_ptr->part, 0B11110100), 0B01000100); -; 139 : ans_third = _mm256_blend_ps(ans_third, _mm256_dp_ps(temp, third, 0B11110010), 0B00100010); - - 00140 c5 fc 10 45 60 vmovups ymm0, YMMWORD PTR temp$[rbp] - 00145 c4 e3 7d 40 85 - a0 00 00 00 f2 vdpps ymm0, ymm0, YMMWORD PTR third$[rbp], 242 ; 000000f2H - 0014f c5 fc 10 8d e0 - 00 00 00 vmovups ymm1, YMMWORD PTR ans_third$[rbp] - 00157 c4 e3 75 0c c0 - 22 vblendps ymm0, ymm1, ymm0, 34 ; 00000022H - 0015d c5 fc 11 85 e0 - 00 00 00 vmovups YMMWORD PTR ans_third$[rbp], ymm0 - -; 140 : temp = _mm256_permute2f128_ps(temp, temp, 0B00000001); - - 00165 c5 fc 10 45 60 vmovups ymm0, YMMWORD PTR temp$[rbp] - 0016a c4 e3 7d 06 45 - 60 01 vperm2f128 ymm0, ymm0, YMMWORD PTR temp$[rbp], 1 - 00171 c5 fc 11 45 60 vmovups YMMWORD PTR temp$[rbp], ymm0 - -; 141 : ans_ptr->part = _mm256_blend_ps( - - 00176 48 8b 45 28 mov rax, QWORD PTR right_ptr$[rbp] - 0017a c5 fc 10 45 60 vmovups ymm0, YMMWORD PTR temp$[rbp] - 0017f c4 e3 7d 40 00 - f8 vdpps ymm0, ymm0, YMMWORD PTR [rax], 248 ; 000000f8H - 00185 48 8b 45 08 mov rax, QWORD PTR ans_ptr$[rbp] - 00189 c5 fc 10 08 vmovups ymm1, YMMWORD PTR [rax] - 0018d c4 e3 75 0c c0 - 88 vblendps ymm0, ymm1, ymm0, 136 ; 00000088H - 00193 48 8b 45 08 mov rax, QWORD PTR ans_ptr$[rbp] - 00197 c5 fc 11 00 vmovups YMMWORD PTR [rax], ymm0 - -; 142 : ans_ptr->part, _mm256_dp_ps(temp, right_ptr->part, 0B11111000), 0B10001000); -; 143 : -; 144 : ans[1] = _mm_shuffle_ps(ALIGN(ans[1]), ALIGN(ans[1]), _MM_SHUFFLE(2, 3, 0, 1)); - - 0019b b8 10 00 00 00 mov eax, 16 - 001a0 48 6b c0 01 imul rax, rax, 1 - 001a4 49 8b 8d 20 02 - 00 00 mov rcx, QWORD PTR ans$[r13] - 001ab 48 03 c8 add rcx, rax - 001ae 48 8b c1 mov rax, rcx - 001b1 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 001b4 b8 10 00 00 00 mov eax, 16 - 001b9 48 6b c0 01 imul rax, rax, 1 - 001bd 49 8b 8d 20 02 - 00 00 mov rcx, QWORD PTR ans$[r13] - 001c4 48 03 c8 add rcx, rax - 001c7 48 8b c1 mov rax, rcx - 001ca 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 001cd 0f c6 c8 b1 shufps xmm1, xmm0, 177 ; 000000b1H - 001d1 0f 28 c1 movaps xmm0, xmm1 - 001d4 b8 10 00 00 00 mov eax, 16 - 001d9 48 6b c0 01 imul rax, rax, 1 - 001dd 49 8b 8d 20 02 - 00 00 mov rcx, QWORD PTR ans$[r13] - 001e4 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 145 : ans[2] = _mm256_castps256_ps128( - - 001e8 c5 fe 6f 05 00 - 00 00 00 vmovdqu ymm0, YMMWORD PTR avxdot_indices - 001f0 c4 e2 7d 16 85 - e0 00 00 00 vpermps ymm0, ymm0, YMMWORD PTR ans_third$[rbp] - 001f9 b8 10 00 00 00 mov eax, 16 - 001fe 48 6b c0 02 imul rax, rax, 2 - 00202 49 8b 8d 20 02 - 00 00 mov rcx, QWORD PTR ans$[r13] - 00209 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 146 : _mm256_permutevar8x32_ps(ans_third, _mm256_loadu_epi32(avxdot_indices))); -; 147 : } - - 0020d 49 8d a5 f0 01 - 00 00 lea rsp, QWORD PTR [r13+496] - 00214 5f pop rdi - 00215 5d pop rbp - 00216 41 5d pop r13 - 00218 c3 ret 0 -dot_43_avx ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\vector_dot.c -; COMDAT dot_43_sse -_TEXT SEGMENT -transpose$ = 224 -vector$ = 232 -ans$ = 240 -dot_43_sse PROC ; COMDAT - -; 118 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__9CC1CD6B_vector_dot@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 119 : dot_41_sse(transpose, vector, ans); - - 0002a 4c 8b 85 f0 00 - 00 00 mov r8, QWORD PTR ans$[rbp] - 00031 48 8b 95 e8 00 - 00 00 mov rdx, QWORD PTR vector$[rbp] - 00038 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR transpose$[rbp] - 0003f e8 00 00 00 00 call dot_41_sse - 00044 90 npad 1 - -; 120 : dot_41_sse(transpose, vector + 1, ans + 1); - - 00045 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 0004c 48 83 c0 10 add rax, 16 - 00050 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR vector$[rbp] - 00057 48 83 c1 10 add rcx, 16 - 0005b 4c 8b c0 mov r8, rax - 0005e 48 8b d1 mov rdx, rcx - 00061 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR transpose$[rbp] - 00068 e8 00 00 00 00 call dot_41_sse - 0006d 90 npad 1 - -; 121 : dot_41_sse(transpose, vector + 2, ans + 2); - - 0006e 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 00075 48 83 c0 20 add rax, 32 ; 00000020H - 00079 48 8b 8d e8 00 - 00 00 mov rcx, QWORD PTR vector$[rbp] - 00080 48 83 c1 20 add rcx, 32 ; 00000020H - 00084 4c 8b c0 mov r8, rax - 00087 48 8b d1 mov rdx, rcx - 0008a 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR transpose$[rbp] - 00091 e8 00 00 00 00 call dot_41_sse - 00096 90 npad 1 - -; 122 : } - - 00097 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 0009e 5f pop rdi - 0009f 5d pop rbp - 000a0 c3 ret 0 -dot_43_sse ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\vector_dot.c -; COMDAT dot_42_avx -_TEXT SEGMENT -ans_ptr$ = 8 -right_ptr$ = 40 -temp$ = 96 -transpose$ = 400 -vector$ = 408 -ans$ = 416 -dot_42_avx PROC ; COMDAT - -; 81 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 41 55 push r13 - 00011 55 push rbp - 00012 57 push rdi - 00013 48 81 ec 90 01 - 00 00 sub rsp, 400 ; 00000190H - 0001a 4c 8d 6c 24 20 lea r13, QWORD PTR [rsp+32] - 0001f 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] - 00024 48 83 e5 e0 and rbp, -32 ; ffffffffffffffe0H - 00028 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__9CC1CD6B_vector_dot@c - 0002f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00034 90 npad 1 - -; 82 : __2_columnset *ans_ptr = (__2_columnset *)ans, *right_ptr = (__2_columnset *)vector; - - 00035 49 8b 85 a0 01 - 00 00 mov rax, QWORD PTR ans$[r13] - 0003c 48 89 45 08 mov QWORD PTR ans_ptr$[rbp], rax - 00040 49 8b 85 98 01 - 00 00 mov rax, QWORD PTR vector$[r13] - 00047 48 89 45 28 mov QWORD PTR right_ptr$[rbp], rax - -; 83 : __m256 temp = ALIGN256(transpose->half[0]); - - 0004b b8 20 00 00 00 mov eax, 32 ; 00000020H - 00050 48 6b c0 00 imul rax, rax, 0 - 00054 49 8b 8d 90 01 - 00 00 mov rcx, QWORD PTR transpose$[r13] - 0005b 48 03 c8 add rcx, rax - 0005e 48 8b c1 mov rax, rcx - 00061 c5 fc 10 00 vmovups ymm0, YMMWORD PTR [rax] - 00065 c5 fc 11 45 60 vmovups YMMWORD PTR temp$[rbp], ymm0 - -; 84 : -; 85 : ans_ptr->stream = _mm256_dp_ps(temp, right_ptr->stream, 0B11110001); - - 0006a 48 8b 45 28 mov rax, QWORD PTR right_ptr$[rbp] - 0006e c5 fc 10 45 60 vmovups ymm0, YMMWORD PTR temp$[rbp] - 00073 c4 e3 7d 40 00 - f1 vdpps ymm0, ymm0, YMMWORD PTR [rax], 241 ; 000000f1H - 00079 48 8b 45 08 mov rax, QWORD PTR ans_ptr$[rbp] - 0007d c5 fc 11 00 vmovups YMMWORD PTR [rax], ymm0 - -; 86 : temp = _mm256_permute2f128_ps(temp, temp, 0B00000001); - - 00081 c5 fc 10 45 60 vmovups ymm0, YMMWORD PTR temp$[rbp] - 00086 c4 e3 7d 06 45 - 60 01 vperm2f128 ymm0, ymm0, YMMWORD PTR temp$[rbp], 1 - 0008d c5 fc 11 45 60 vmovups YMMWORD PTR temp$[rbp], ymm0 - -; 87 : ans_ptr->stream = _mm256_blend_ps( - - 00092 48 8b 45 28 mov rax, QWORD PTR right_ptr$[rbp] - 00096 c5 fc 10 45 60 vmovups ymm0, YMMWORD PTR temp$[rbp] - 0009b c4 e3 7d 40 00 - f2 vdpps ymm0, ymm0, YMMWORD PTR [rax], 242 ; 000000f2H - 000a1 48 8b 45 08 mov rax, QWORD PTR ans_ptr$[rbp] - 000a5 c5 fc 10 08 vmovups ymm1, YMMWORD PTR [rax] - 000a9 c4 e3 75 0c c0 - 22 vblendps ymm0, ymm1, ymm0, 34 ; 00000022H - 000af 48 8b 45 08 mov rax, QWORD PTR ans_ptr$[rbp] - 000b3 c5 fc 11 00 vmovups YMMWORD PTR [rax], ymm0 - -; 88 : ans_ptr->stream, _mm256_dp_ps(temp, right_ptr->stream, 0B11110010), 0B00100010); -; 89 : -; 90 : temp = ALIGN256(transpose->half[1]); - - 000b7 b8 20 00 00 00 mov eax, 32 ; 00000020H - 000bc 48 6b c0 01 imul rax, rax, 1 - 000c0 49 8b 8d 90 01 - 00 00 mov rcx, QWORD PTR transpose$[r13] - 000c7 48 03 c8 add rcx, rax - 000ca 48 8b c1 mov rax, rcx - 000cd c5 fc 10 00 vmovups ymm0, YMMWORD PTR [rax] - 000d1 c5 fc 11 45 60 vmovups YMMWORD PTR temp$[rbp], ymm0 - -; 91 : ans_ptr->stream = _mm256_blend_ps( - - 000d6 48 8b 45 28 mov rax, QWORD PTR right_ptr$[rbp] - 000da c5 fc 10 45 60 vmovups ymm0, YMMWORD PTR temp$[rbp] - 000df c4 e3 7d 40 00 - f4 vdpps ymm0, ymm0, YMMWORD PTR [rax], 244 ; 000000f4H - 000e5 48 8b 45 08 mov rax, QWORD PTR ans_ptr$[rbp] - 000e9 c5 fc 10 08 vmovups ymm1, YMMWORD PTR [rax] - 000ed c4 e3 75 0c c0 - 44 vblendps ymm0, ymm1, ymm0, 68 ; 00000044H - 000f3 48 8b 45 08 mov rax, QWORD PTR ans_ptr$[rbp] - 000f7 c5 fc 11 00 vmovups YMMWORD PTR [rax], ymm0 - -; 92 : ans_ptr->stream, _mm256_dp_ps(temp, right_ptr->stream, 0B11110100), 0B01000100); -; 93 : temp = _mm256_permute2f128_ps(temp, temp, 0B00000001); - - 000fb c5 fc 10 45 60 vmovups ymm0, YMMWORD PTR temp$[rbp] - 00100 c4 e3 7d 06 45 - 60 01 vperm2f128 ymm0, ymm0, YMMWORD PTR temp$[rbp], 1 - 00107 c5 fc 11 45 60 vmovups YMMWORD PTR temp$[rbp], ymm0 - -; 94 : ans_ptr->stream = _mm256_blend_ps( - - 0010c 48 8b 45 28 mov rax, QWORD PTR right_ptr$[rbp] - 00110 c5 fc 10 45 60 vmovups ymm0, YMMWORD PTR temp$[rbp] - 00115 c4 e3 7d 40 00 - f8 vdpps ymm0, ymm0, YMMWORD PTR [rax], 248 ; 000000f8H - 0011b 48 8b 45 08 mov rax, QWORD PTR ans_ptr$[rbp] - 0011f c5 fc 10 08 vmovups ymm1, YMMWORD PTR [rax] - 00123 c4 e3 75 0c c0 - 88 vblendps ymm0, ymm1, ymm0, 136 ; 00000088H - 00129 48 8b 45 08 mov rax, QWORD PTR ans_ptr$[rbp] - 0012d c5 fc 11 00 vmovups YMMWORD PTR [rax], ymm0 - -; 95 : ans_ptr->stream, _mm256_dp_ps(temp, right_ptr->stream, 0B11111000), 0B10001000); -; 96 : -; 97 : ans[1] = _mm_shuffle_ps(ALIGN(ans[1]), ALIGN(ans[1]), _MM_SHUFFLE(2, 3, 0, 1)); - - 00131 b8 10 00 00 00 mov eax, 16 - 00136 48 6b c0 01 imul rax, rax, 1 - 0013a 49 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR ans$[r13] - 00141 48 03 c8 add rcx, rax - 00144 48 8b c1 mov rax, rcx - 00147 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 0014a b8 10 00 00 00 mov eax, 16 - 0014f 48 6b c0 01 imul rax, rax, 1 - 00153 49 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR ans$[r13] - 0015a 48 03 c8 add rcx, rax - 0015d 48 8b c1 mov rax, rcx - 00160 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00163 0f c6 c8 b1 shufps xmm1, xmm0, 177 ; 000000b1H - 00167 0f 28 c1 movaps xmm0, xmm1 - 0016a b8 10 00 00 00 mov eax, 16 - 0016f 48 6b c0 01 imul rax, rax, 1 - 00173 49 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR ans$[r13] - 0017a 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 98 : } - - 0017e 49 8d a5 70 01 - 00 00 lea rsp, QWORD PTR [r13+368] - 00185 5f pop rdi - 00186 5d pop rbp - 00187 41 5d pop r13 - 00189 c3 ret 0 -dot_42_avx ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\vector_dot.c -; COMDAT dot_42_sse -_TEXT SEGMENT -transpose$ = 224 -vector$ = 232 -ans$ = 240 -dot_42_sse PROC ; COMDAT - -; 47 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__9CC1CD6B_vector_dot@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 48 : ans[0] = _mm_dp_ps(transpose->column[0], vector[0], 0B11110001); - - 0002a b8 10 00 00 00 mov eax, 16 - 0002f 48 6b c0 00 imul rax, rax, 0 - 00033 b9 10 00 00 00 mov ecx, 16 - 00038 48 6b c9 00 imul rcx, rcx, 0 - 0003c 48 8b 95 e0 00 - 00 00 mov rdx, QWORD PTR transpose$[rbp] - 00043 4c 8b 85 e8 00 - 00 00 mov r8, QWORD PTR vector$[rbp] - 0004a 0f 10 04 0a movups xmm0, XMMWORD PTR [rdx+rcx] - 0004e 66 41 0f 3a 40 - 04 00 f1 dpps xmm0, XMMWORD PTR [r8+rax], 241 ; 000000f1H - 00056 b8 10 00 00 00 mov eax, 16 - 0005b 48 6b c0 00 imul rax, rax, 0 - 0005f 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 00066 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 49 : ans[0] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[1], vector[0], 0B11110001), - - 0006a b8 10 00 00 00 mov eax, 16 - 0006f 48 6b c0 00 imul rax, rax, 0 - 00073 b9 10 00 00 00 mov ecx, 16 - 00078 48 6b c9 01 imul rcx, rcx, 1 - 0007c 48 8b 95 e0 00 - 00 00 mov rdx, QWORD PTR transpose$[rbp] - 00083 4c 8b 85 e8 00 - 00 00 mov r8, QWORD PTR vector$[rbp] - 0008a 0f 10 04 0a movups xmm0, XMMWORD PTR [rdx+rcx] - 0008e 66 41 0f 3a 40 - 04 00 f1 dpps xmm0, XMMWORD PTR [r8+rax], 241 ; 000000f1H - 00096 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 0009d 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 000a0 66 0f 3a 21 c8 - 10 insertps xmm1, xmm0, 16 - 000a6 0f 28 c1 movaps xmm0, xmm1 - 000a9 b8 10 00 00 00 mov eax, 16 - 000ae 48 6b c0 00 imul rax, rax, 0 - 000b2 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 000b9 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 50 : SSE_INSERT_SIMPLE(1, 2)); -; 51 : ans[0] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[2], vector[0], 0B11110001), - - 000bd b8 10 00 00 00 mov eax, 16 - 000c2 48 6b c0 00 imul rax, rax, 0 - 000c6 b9 10 00 00 00 mov ecx, 16 - 000cb 48 6b c9 02 imul rcx, rcx, 2 - 000cf 48 8b 95 e0 00 - 00 00 mov rdx, QWORD PTR transpose$[rbp] - 000d6 4c 8b 85 e8 00 - 00 00 mov r8, QWORD PTR vector$[rbp] - 000dd 0f 10 04 0a movups xmm0, XMMWORD PTR [rdx+rcx] - 000e1 66 41 0f 3a 40 - 04 00 f1 dpps xmm0, XMMWORD PTR [r8+rax], 241 ; 000000f1H - 000e9 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 000f0 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 000f3 66 0f 3a 21 c8 - 20 insertps xmm1, xmm0, 32 ; 00000020H - 000f9 0f 28 c1 movaps xmm0, xmm1 - 000fc b8 10 00 00 00 mov eax, 16 - 00101 48 6b c0 00 imul rax, rax, 0 - 00105 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 0010c 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 52 : SSE_INSERT_SIMPLE(1, 3)); -; 53 : ans[0] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[3], vector[0], 0B11110001), - - 00110 b8 10 00 00 00 mov eax, 16 - 00115 48 6b c0 00 imul rax, rax, 0 - 00119 b9 10 00 00 00 mov ecx, 16 - 0011e 48 6b c9 03 imul rcx, rcx, 3 - 00122 48 8b 95 e0 00 - 00 00 mov rdx, QWORD PTR transpose$[rbp] - 00129 4c 8b 85 e8 00 - 00 00 mov r8, QWORD PTR vector$[rbp] - 00130 0f 10 04 0a movups xmm0, XMMWORD PTR [rdx+rcx] - 00134 66 41 0f 3a 40 - 04 00 f1 dpps xmm0, XMMWORD PTR [r8+rax], 241 ; 000000f1H - 0013c 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 00143 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00146 66 0f 3a 21 c8 - 30 insertps xmm1, xmm0, 48 ; 00000030H - 0014c 0f 28 c1 movaps xmm0, xmm1 - 0014f b8 10 00 00 00 mov eax, 16 - 00154 48 6b c0 00 imul rax, rax, 0 - 00158 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 0015f 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 54 : SSE_INSERT_SIMPLE(1, 4)); -; 55 : -; 56 : ans[1] = _mm_dp_ps(transpose->column[0], vector[1], 0B11110001); - - 00163 b8 10 00 00 00 mov eax, 16 - 00168 48 6b c0 01 imul rax, rax, 1 - 0016c b9 10 00 00 00 mov ecx, 16 - 00171 48 6b c9 00 imul rcx, rcx, 0 - 00175 48 8b 95 e0 00 - 00 00 mov rdx, QWORD PTR transpose$[rbp] - 0017c 4c 8b 85 e8 00 - 00 00 mov r8, QWORD PTR vector$[rbp] - 00183 0f 10 04 0a movups xmm0, XMMWORD PTR [rdx+rcx] - 00187 66 41 0f 3a 40 - 04 00 f1 dpps xmm0, XMMWORD PTR [r8+rax], 241 ; 000000f1H - 0018f b8 10 00 00 00 mov eax, 16 - 00194 48 6b c0 01 imul rax, rax, 1 - 00198 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 0019f 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 57 : ans[1] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[1], vector[1], 0B11110001), - - 001a3 b8 10 00 00 00 mov eax, 16 - 001a8 48 6b c0 01 imul rax, rax, 1 - 001ac b9 10 00 00 00 mov ecx, 16 - 001b1 48 6b c9 01 imul rcx, rcx, 1 - 001b5 48 8b 95 e0 00 - 00 00 mov rdx, QWORD PTR transpose$[rbp] - 001bc 4c 8b 85 e8 00 - 00 00 mov r8, QWORD PTR vector$[rbp] - 001c3 0f 10 04 0a movups xmm0, XMMWORD PTR [rdx+rcx] - 001c7 66 41 0f 3a 40 - 04 00 f1 dpps xmm0, XMMWORD PTR [r8+rax], 241 ; 000000f1H - 001cf 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 001d6 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 001d9 66 0f 3a 21 c8 - 10 insertps xmm1, xmm0, 16 - 001df 0f 28 c1 movaps xmm0, xmm1 - 001e2 b8 10 00 00 00 mov eax, 16 - 001e7 48 6b c0 01 imul rax, rax, 1 - 001eb 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 001f2 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 58 : SSE_INSERT_SIMPLE(1, 2)); -; 59 : ans[1] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[2], vector[1], 0B11110001), - - 001f6 b8 10 00 00 00 mov eax, 16 - 001fb 48 6b c0 01 imul rax, rax, 1 - 001ff b9 10 00 00 00 mov ecx, 16 - 00204 48 6b c9 02 imul rcx, rcx, 2 - 00208 48 8b 95 e0 00 - 00 00 mov rdx, QWORD PTR transpose$[rbp] - 0020f 4c 8b 85 e8 00 - 00 00 mov r8, QWORD PTR vector$[rbp] - 00216 0f 10 04 0a movups xmm0, XMMWORD PTR [rdx+rcx] - 0021a 66 41 0f 3a 40 - 04 00 f1 dpps xmm0, XMMWORD PTR [r8+rax], 241 ; 000000f1H - 00222 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 00229 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 0022c 66 0f 3a 21 c8 - 20 insertps xmm1, xmm0, 32 ; 00000020H - 00232 0f 28 c1 movaps xmm0, xmm1 - 00235 b8 10 00 00 00 mov eax, 16 - 0023a 48 6b c0 01 imul rax, rax, 1 - 0023e 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 00245 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 60 : SSE_INSERT_SIMPLE(1, 3)); -; 61 : ans[1] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[3], vector[1], 0B11110001), - - 00249 b8 10 00 00 00 mov eax, 16 - 0024e 48 6b c0 01 imul rax, rax, 1 - 00252 b9 10 00 00 00 mov ecx, 16 - 00257 48 6b c9 03 imul rcx, rcx, 3 - 0025b 48 8b 95 e0 00 - 00 00 mov rdx, QWORD PTR transpose$[rbp] - 00262 4c 8b 85 e8 00 - 00 00 mov r8, QWORD PTR vector$[rbp] - 00269 0f 10 04 0a movups xmm0, XMMWORD PTR [rdx+rcx] - 0026d 66 41 0f 3a 40 - 04 00 f1 dpps xmm0, XMMWORD PTR [r8+rax], 241 ; 000000f1H - 00275 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 0027c 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 0027f 66 0f 3a 21 c8 - 30 insertps xmm1, xmm0, 48 ; 00000030H - 00285 0f 28 c1 movaps xmm0, xmm1 - 00288 b8 10 00 00 00 mov eax, 16 - 0028d 48 6b c0 01 imul rax, rax, 1 - 00291 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 00298 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 62 : SSE_INSERT_SIMPLE(1, 4)); -; 63 : } - - 0029c 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 002a3 5f pop rdi - 002a4 5d pop rbp - 002a5 c3 ret 0 -dot_42_sse ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\vector_dot.c -; COMDAT dot_32_avx -_TEXT SEGMENT -ans_ptr$ = 8 -right_ptr$ = 40 -temp$ = 96 -transpose$ = 400 -vector$ = 408 -ans$ = 416 -dot_32_avx PROC ; COMDAT - -; 101 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 41 55 push r13 - 00011 55 push rbp - 00012 57 push rdi - 00013 48 81 ec 90 01 - 00 00 sub rsp, 400 ; 00000190H - 0001a 4c 8d 6c 24 20 lea r13, QWORD PTR [rsp+32] - 0001f 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] - 00024 48 83 e5 e0 and rbp, -32 ; ffffffffffffffe0H - 00028 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__9CC1CD6B_vector_dot@c - 0002f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00034 90 npad 1 - -; 102 : __2_columnset *ans_ptr = (__2_columnset *)ans, *right_ptr = (__2_columnset *)vector; - - 00035 49 8b 85 a0 01 - 00 00 mov rax, QWORD PTR ans$[r13] - 0003c 48 89 45 08 mov QWORD PTR ans_ptr$[rbp], rax - 00040 49 8b 85 98 01 - 00 00 mov rax, QWORD PTR vector$[r13] - 00047 48 89 45 28 mov QWORD PTR right_ptr$[rbp], rax - -; 103 : __m256 temp = transpose->part; - - 0004b 49 8b 85 90 01 - 00 00 mov rax, QWORD PTR transpose$[r13] - 00052 c5 fc 10 00 vmovups ymm0, YMMWORD PTR [rax] - 00056 c5 fc 11 45 60 vmovups YMMWORD PTR temp$[rbp], ymm0 - -; 104 : -; 105 : ans_ptr->stream = _mm256_dp_ps(temp, right_ptr->stream, 0B11110001); - - 0005b 48 8b 45 28 mov rax, QWORD PTR right_ptr$[rbp] - 0005f c5 fc 10 45 60 vmovups ymm0, YMMWORD PTR temp$[rbp] - 00064 c4 e3 7d 40 00 - f1 vdpps ymm0, ymm0, YMMWORD PTR [rax], 241 ; 000000f1H - 0006a 48 8b 45 08 mov rax, QWORD PTR ans_ptr$[rbp] - 0006e c5 fc 11 00 vmovups YMMWORD PTR [rax], ymm0 - -; 106 : temp = _mm256_permute2f128_ps(temp, temp, 0B00000001); - - 00072 c5 fc 10 45 60 vmovups ymm0, YMMWORD PTR temp$[rbp] - 00077 c4 e3 7d 06 45 - 60 01 vperm2f128 ymm0, ymm0, YMMWORD PTR temp$[rbp], 1 - 0007e c5 fc 11 45 60 vmovups YMMWORD PTR temp$[rbp], ymm0 - -; 107 : ans_ptr->stream = _mm256_blend_ps( - - 00083 48 8b 45 28 mov rax, QWORD PTR right_ptr$[rbp] - 00087 c5 fc 10 45 60 vmovups ymm0, YMMWORD PTR temp$[rbp] - 0008c c4 e3 7d 40 00 - f2 vdpps ymm0, ymm0, YMMWORD PTR [rax], 242 ; 000000f2H - 00092 48 8b 45 08 mov rax, QWORD PTR ans_ptr$[rbp] - 00096 c5 fc 10 08 vmovups ymm1, YMMWORD PTR [rax] - 0009a c4 e3 75 0c c0 - 22 vblendps ymm0, ymm1, ymm0, 34 ; 00000022H - 000a0 48 8b 45 08 mov rax, QWORD PTR ans_ptr$[rbp] - 000a4 c5 fc 11 00 vmovups YMMWORD PTR [rax], ymm0 - -; 108 : ans_ptr->stream, _mm256_dp_ps(temp, right_ptr->stream, 0B11110010), 0B00100010); -; 109 : -; 110 : temp = _mm256_set_m128(transpose->column[2], transpose->column[2]); - - 000a8 b8 10 00 00 00 mov eax, 16 - 000ad 48 6b c0 02 imul rax, rax, 2 - 000b1 b9 10 00 00 00 mov ecx, 16 - 000b6 48 6b c9 02 imul rcx, rcx, 2 - 000ba 49 8b 95 90 01 - 00 00 mov rdx, QWORD PTR transpose$[r13] - 000c1 c5 f8 10 04 0a vmovups xmm0, XMMWORD PTR [rdx+rcx] - 000c6 49 8b 8d 90 01 - 00 00 mov rcx, QWORD PTR transpose$[r13] - 000cd c4 e3 7d 18 04 - 01 01 vinsertf128 ymm0, ymm0, XMMWORD PTR [rcx+rax], 1 - 000d4 c5 fc 11 45 60 vmovups YMMWORD PTR temp$[rbp], ymm0 - -; 111 : ans_ptr->stream = _mm256_blend_ps( - - 000d9 48 8b 45 28 mov rax, QWORD PTR right_ptr$[rbp] - 000dd c5 fc 10 45 60 vmovups ymm0, YMMWORD PTR temp$[rbp] - 000e2 c4 e3 7d 40 00 - f4 vdpps ymm0, ymm0, YMMWORD PTR [rax], 244 ; 000000f4H - 000e8 48 8b 45 08 mov rax, QWORD PTR ans_ptr$[rbp] - 000ec c5 fc 10 08 vmovups ymm1, YMMWORD PTR [rax] - 000f0 c4 e3 75 0c c0 - 44 vblendps ymm0, ymm1, ymm0, 68 ; 00000044H - 000f6 48 8b 45 08 mov rax, QWORD PTR ans_ptr$[rbp] - 000fa c5 fc 11 00 vmovups YMMWORD PTR [rax], ymm0 - -; 112 : ans_ptr->stream, _mm256_dp_ps(temp, right_ptr->stream, 0B11110100), 0B01000100); -; 113 : -; 114 : ans[1] = _mm_shuffle_ps(ALIGN(ans[1]), ALIGN(ans[1]), _MM_SHUFFLE(2, 2, 0, 1)); - - 000fe b8 10 00 00 00 mov eax, 16 - 00103 48 6b c0 01 imul rax, rax, 1 - 00107 49 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR ans$[r13] - 0010e 48 03 c8 add rcx, rax - 00111 48 8b c1 mov rax, rcx - 00114 0f 10 00 movups xmm0, XMMWORD PTR [rax] - 00117 b8 10 00 00 00 mov eax, 16 - 0011c 48 6b c0 01 imul rax, rax, 1 - 00120 49 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR ans$[r13] - 00127 48 03 c8 add rcx, rax - 0012a 48 8b c1 mov rax, rcx - 0012d 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00130 0f c6 c8 a1 shufps xmm1, xmm0, 161 ; 000000a1H - 00134 0f 28 c1 movaps xmm0, xmm1 - 00137 b8 10 00 00 00 mov eax, 16 - 0013c 48 6b c0 01 imul rax, rax, 1 - 00140 49 8b 8d a0 01 - 00 00 mov rcx, QWORD PTR ans$[r13] - 00147 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 115 : } - - 0014b 49 8d a5 70 01 - 00 00 lea rsp, QWORD PTR [r13+368] - 00152 5f pop rdi - 00153 5d pop rbp - 00154 41 5d pop r13 - 00156 c3 ret 0 -dot_32_avx ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\vector_dot.c -; COMDAT dot_32_sse -_TEXT SEGMENT -transpose$ = 224 -vector$ = 232 -ans$ = 240 -dot_32_sse PROC ; COMDAT - -; 66 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__9CC1CD6B_vector_dot@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 67 : ans[0] = _mm_dp_ps(transpose->column[0], vector[0], 0B11110001); - - 0002a b8 10 00 00 00 mov eax, 16 - 0002f 48 6b c0 00 imul rax, rax, 0 - 00033 b9 10 00 00 00 mov ecx, 16 - 00038 48 6b c9 00 imul rcx, rcx, 0 - 0003c 48 8b 95 e0 00 - 00 00 mov rdx, QWORD PTR transpose$[rbp] - 00043 4c 8b 85 e8 00 - 00 00 mov r8, QWORD PTR vector$[rbp] - 0004a 0f 10 04 0a movups xmm0, XMMWORD PTR [rdx+rcx] - 0004e 66 41 0f 3a 40 - 04 00 f1 dpps xmm0, XMMWORD PTR [r8+rax], 241 ; 000000f1H - 00056 b8 10 00 00 00 mov eax, 16 - 0005b 48 6b c0 00 imul rax, rax, 0 - 0005f 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 00066 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 68 : ans[0] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[1], vector[0], 0B11110001), - - 0006a b8 10 00 00 00 mov eax, 16 - 0006f 48 6b c0 00 imul rax, rax, 0 - 00073 b9 10 00 00 00 mov ecx, 16 - 00078 48 6b c9 01 imul rcx, rcx, 1 - 0007c 48 8b 95 e0 00 - 00 00 mov rdx, QWORD PTR transpose$[rbp] - 00083 4c 8b 85 e8 00 - 00 00 mov r8, QWORD PTR vector$[rbp] - 0008a 0f 10 04 0a movups xmm0, XMMWORD PTR [rdx+rcx] - 0008e 66 41 0f 3a 40 - 04 00 f1 dpps xmm0, XMMWORD PTR [r8+rax], 241 ; 000000f1H - 00096 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 0009d 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 000a0 66 0f 3a 21 c8 - 10 insertps xmm1, xmm0, 16 - 000a6 0f 28 c1 movaps xmm0, xmm1 - 000a9 b8 10 00 00 00 mov eax, 16 - 000ae 48 6b c0 00 imul rax, rax, 0 - 000b2 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 000b9 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 69 : SSE_INSERT_SIMPLE(1, 2)); -; 70 : ans[0] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[2], vector[0], 0B11110001), - - 000bd b8 10 00 00 00 mov eax, 16 - 000c2 48 6b c0 00 imul rax, rax, 0 - 000c6 b9 10 00 00 00 mov ecx, 16 - 000cb 48 6b c9 02 imul rcx, rcx, 2 - 000cf 48 8b 95 e0 00 - 00 00 mov rdx, QWORD PTR transpose$[rbp] - 000d6 4c 8b 85 e8 00 - 00 00 mov r8, QWORD PTR vector$[rbp] - 000dd 0f 10 04 0a movups xmm0, XMMWORD PTR [rdx+rcx] - 000e1 66 41 0f 3a 40 - 04 00 f1 dpps xmm0, XMMWORD PTR [r8+rax], 241 ; 000000f1H - 000e9 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 000f0 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 000f3 66 0f 3a 21 c8 - 20 insertps xmm1, xmm0, 32 ; 00000020H - 000f9 0f 28 c1 movaps xmm0, xmm1 - 000fc b8 10 00 00 00 mov eax, 16 - 00101 48 6b c0 00 imul rax, rax, 0 - 00105 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 0010c 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 71 : SSE_INSERT_SIMPLE(1, 3)); -; 72 : -; 73 : ans[1] = _mm_dp_ps(transpose->column[0], vector[1], 0B11110001); - - 00110 b8 10 00 00 00 mov eax, 16 - 00115 48 6b c0 01 imul rax, rax, 1 - 00119 b9 10 00 00 00 mov ecx, 16 - 0011e 48 6b c9 00 imul rcx, rcx, 0 - 00122 48 8b 95 e0 00 - 00 00 mov rdx, QWORD PTR transpose$[rbp] - 00129 4c 8b 85 e8 00 - 00 00 mov r8, QWORD PTR vector$[rbp] - 00130 0f 10 04 0a movups xmm0, XMMWORD PTR [rdx+rcx] - 00134 66 41 0f 3a 40 - 04 00 f1 dpps xmm0, XMMWORD PTR [r8+rax], 241 ; 000000f1H - 0013c b8 10 00 00 00 mov eax, 16 - 00141 48 6b c0 01 imul rax, rax, 1 - 00145 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 0014c 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 74 : ans[1] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[1], vector[1], 0B11110001), - - 00150 b8 10 00 00 00 mov eax, 16 - 00155 48 6b c0 01 imul rax, rax, 1 - 00159 b9 10 00 00 00 mov ecx, 16 - 0015e 48 6b c9 01 imul rcx, rcx, 1 - 00162 48 8b 95 e0 00 - 00 00 mov rdx, QWORD PTR transpose$[rbp] - 00169 4c 8b 85 e8 00 - 00 00 mov r8, QWORD PTR vector$[rbp] - 00170 0f 10 04 0a movups xmm0, XMMWORD PTR [rdx+rcx] - 00174 66 41 0f 3a 40 - 04 00 f1 dpps xmm0, XMMWORD PTR [r8+rax], 241 ; 000000f1H - 0017c 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 00183 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00186 66 0f 3a 21 c8 - 10 insertps xmm1, xmm0, 16 - 0018c 0f 28 c1 movaps xmm0, xmm1 - 0018f b8 10 00 00 00 mov eax, 16 - 00194 48 6b c0 01 imul rax, rax, 1 - 00198 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 0019f 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 75 : SSE_INSERT_SIMPLE(1, 2)); -; 76 : ans[1] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[2], vector[1], 0B11110001), - - 001a3 b8 10 00 00 00 mov eax, 16 - 001a8 48 6b c0 01 imul rax, rax, 1 - 001ac b9 10 00 00 00 mov ecx, 16 - 001b1 48 6b c9 02 imul rcx, rcx, 2 - 001b5 48 8b 95 e0 00 - 00 00 mov rdx, QWORD PTR transpose$[rbp] - 001bc 4c 8b 85 e8 00 - 00 00 mov r8, QWORD PTR vector$[rbp] - 001c3 0f 10 04 0a movups xmm0, XMMWORD PTR [rdx+rcx] - 001c7 66 41 0f 3a 40 - 04 00 f1 dpps xmm0, XMMWORD PTR [r8+rax], 241 ; 000000f1H - 001cf 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 001d6 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 001d9 66 0f 3a 21 c8 - 20 insertps xmm1, xmm0, 32 ; 00000020H - 001df 0f 28 c1 movaps xmm0, xmm1 - 001e2 b8 10 00 00 00 mov eax, 16 - 001e7 48 6b c0 01 imul rax, rax, 1 - 001eb 48 8b 8d f0 00 - 00 00 mov rcx, QWORD PTR ans$[rbp] - 001f2 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 - -; 77 : SSE_INSERT_SIMPLE(1, 3)); -; 78 : } - - 001f6 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 001fd 5f pop rdi - 001fe 5d pop rbp - 001ff c3 ret 0 -dot_32_sse ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\vector_dot.c -; COMDAT dot_31_avx -_TEXT SEGMENT -_double$ = 32 -tmp$ = 96 -transpose$ = 400 -vector$ = 408 -ans$ = 416 -dot_31_avx PROC ; COMDAT - -; 37 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 41 55 push r13 - 00011 55 push rbp - 00012 57 push rdi - 00013 48 81 ec 90 01 - 00 00 sub rsp, 400 ; 00000190H - 0001a 4c 8d 6c 24 20 lea r13, QWORD PTR [rsp+32] - 0001f 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] - 00024 48 83 e5 e0 and rbp, -32 ; ffffffffffffffe0H - 00028 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__9CC1CD6B_vector_dot@c - 0002f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00034 90 npad 1 - -; 38 : __m256 _double = _mm256_set_m128(vector[0], vector[0]); - - 00035 b8 10 00 00 00 mov eax, 16 - 0003a 48 6b c0 00 imul rax, rax, 0 - 0003e b9 10 00 00 00 mov ecx, 16 - 00043 48 6b c9 00 imul rcx, rcx, 0 - 00047 49 8b 95 98 01 - 00 00 mov rdx, QWORD PTR vector$[r13] - 0004e c5 f8 10 04 0a vmovups xmm0, XMMWORD PTR [rdx+rcx] - 00053 49 8b 8d 98 01 - 00 00 mov rcx, QWORD PTR vector$[r13] - 0005a c4 e3 7d 18 04 - 01 01 vinsertf128 ymm0, ymm0, XMMWORD PTR [rcx+rax], 1 - 00061 c5 fc 11 45 20 vmovups YMMWORD PTR _double$[rbp], ymm0 - -; 39 : __m256 tmp = _mm256_dp_ps(transpose->part, _double, 0B11110001); - - 00066 49 8b 85 90 01 - 00 00 mov rax, QWORD PTR transpose$[r13] - 0006d c5 fc 10 00 vmovups ymm0, YMMWORD PTR [rax] - 00071 c4 e3 7d 40 45 - 20 f1 vdpps ymm0, ymm0, YMMWORD PTR _double$[rbp], 241 ; 000000f1H - 00078 c5 fc 11 45 60 vmovups YMMWORD PTR tmp$[rbp], ymm0 - -; 40 : *ans = _mm256_castps256_ps128( - - 0007d c5 fe 6f 05 00 - 00 00 00 vmovdqu ymm0, YMMWORD PTR avxdot_indices - 00085 c4 e2 7d 16 45 - 60 vpermps ymm0, ymm0, YMMWORD PTR tmp$[rbp] - 0008b 49 8b 85 a0 01 - 00 00 mov rax, QWORD PTR ans$[r13] - 00092 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 41 : _mm256_permutevar8x32_ps(tmp, _mm256_loadu_epi32(avxdot_indices))); -; 42 : *ans = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[2], *vector, 0B11110001), - - 00095 b8 10 00 00 00 mov eax, 16 - 0009a 48 6b c0 02 imul rax, rax, 2 - 0009e 49 8b 8d 90 01 - 00 00 mov rcx, QWORD PTR transpose$[r13] - 000a5 49 8b 95 98 01 - 00 00 mov rdx, QWORD PTR vector$[r13] - 000ac 0f 10 04 01 movups xmm0, XMMWORD PTR [rcx+rax] - 000b0 66 0f 3a 40 02 - f1 dpps xmm0, XMMWORD PTR [rdx], 241 ; 000000f1H - 000b6 49 8b 85 a0 01 - 00 00 mov rax, QWORD PTR ans$[r13] - 000bd 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 000c0 66 0f 3a 21 c8 - 20 insertps xmm1, xmm0, 32 ; 00000020H - 000c6 0f 28 c1 movaps xmm0, xmm1 - 000c9 49 8b 85 a0 01 - 00 00 mov rax, QWORD PTR ans$[r13] - 000d0 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 43 : SSE_INSERT_SIMPLE(1, 3)); -; 44 : } - - 000d3 49 8d a5 70 01 - 00 00 lea rsp, QWORD PTR [r13+368] - 000da 5f pop rdi - 000db 5d pop rbp - 000dc 41 5d pop r13 - 000de c3 ret 0 -dot_31_avx ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\vector_dot.c -; COMDAT dot_41_avx -_TEXT SEGMENT -_double$ = 32 -tmp$ = 96 -transpose$ = 400 -vector$ = 408 -ans$ = 416 -dot_41_avx PROC ; COMDAT - -; 18 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 41 55 push r13 - 00011 55 push rbp - 00012 57 push rdi - 00013 48 81 ec 90 01 - 00 00 sub rsp, 400 ; 00000190H - 0001a 4c 8d 6c 24 20 lea r13, QWORD PTR [rsp+32] - 0001f 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] - 00024 48 83 e5 e0 and rbp, -32 ; ffffffffffffffe0H - 00028 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__9CC1CD6B_vector_dot@c - 0002f e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00034 90 npad 1 - -; 19 : __m256 _double = _mm256_set_m128(vector[0], vector[0]); - - 00035 b8 10 00 00 00 mov eax, 16 - 0003a 48 6b c0 00 imul rax, rax, 0 - 0003e b9 10 00 00 00 mov ecx, 16 - 00043 48 6b c9 00 imul rcx, rcx, 0 - 00047 49 8b 95 98 01 - 00 00 mov rdx, QWORD PTR vector$[r13] - 0004e c5 f8 10 04 0a vmovups xmm0, XMMWORD PTR [rdx+rcx] - 00053 49 8b 8d 98 01 - 00 00 mov rcx, QWORD PTR vector$[r13] - 0005a c4 e3 7d 18 04 - 01 01 vinsertf128 ymm0, ymm0, XMMWORD PTR [rcx+rax], 1 - 00061 c5 fc 11 45 20 vmovups YMMWORD PTR _double$[rbp], ymm0 - -; 20 : __m256 tmp = _mm256_dp_ps(transpose->half[0], _double, 0B11110001); - - 00066 b8 20 00 00 00 mov eax, 32 ; 00000020H - 0006b 48 6b c0 00 imul rax, rax, 0 - 0006f 49 8b 8d 90 01 - 00 00 mov rcx, QWORD PTR transpose$[r13] - 00076 c5 fc 10 04 01 vmovups ymm0, YMMWORD PTR [rcx+rax] - 0007b c4 e3 7d 40 45 - 20 f1 vdpps ymm0, ymm0, YMMWORD PTR _double$[rbp], 241 ; 000000f1H - 00082 c5 fc 11 45 60 vmovups YMMWORD PTR tmp$[rbp], ymm0 - -; 21 : tmp = _mm256_blend_ps(tmp, _mm256_dp_ps(transpose->half[0], _double, 0B11110010), - - 00087 b8 20 00 00 00 mov eax, 32 ; 00000020H - 0008c 48 6b c0 00 imul rax, rax, 0 - 00090 49 8b 8d 90 01 - 00 00 mov rcx, QWORD PTR transpose$[r13] - 00097 c5 fc 10 04 01 vmovups ymm0, YMMWORD PTR [rcx+rax] - 0009c c4 e3 7d 40 45 - 20 f2 vdpps ymm0, ymm0, YMMWORD PTR _double$[rbp], 242 ; 000000f2H - 000a3 c5 fc 10 4d 60 vmovups ymm1, YMMWORD PTR tmp$[rbp] - 000a8 c4 e3 75 0c c0 - 22 vblendps ymm0, ymm1, ymm0, 34 ; 00000022H - 000ae c5 fc 11 45 60 vmovups YMMWORD PTR tmp$[rbp], ymm0 - -; 22 : 0B00100010); -; 23 : *ans = _mm256_castps256_ps128( - - 000b3 c5 fe 6f 05 00 - 00 00 00 vmovdqu ymm0, YMMWORD PTR avxdot_indices - 000bb c4 e2 7d 16 45 - 60 vpermps ymm0, ymm0, YMMWORD PTR tmp$[rbp] - 000c1 49 8b 85 a0 01 - 00 00 mov rax, QWORD PTR ans$[r13] - 000c8 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 24 : _mm256_permutevar8x32_ps(tmp, _mm256_loadu_epi32(avxdot_indices))); -; 25 : } - - 000cb 49 8d a5 70 01 - 00 00 lea rsp, QWORD PTR [r13+368] - 000d2 5f pop rdi - 000d3 5d pop rbp - 000d4 41 5d pop r13 - 000d6 c3 ret 0 -dot_41_avx ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\vector_dot.c -; COMDAT dot_31_sse -_TEXT SEGMENT -transpose$ = 224 -vector$ = 232 -ans$ = 240 -dot_31_sse PROC ; COMDAT - -; 28 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__9CC1CD6B_vector_dot@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 29 : *ans = _mm_dp_ps(transpose->column[0], *vector, 0B11110001); - - 0002a b8 10 00 00 00 mov eax, 16 - 0002f 48 6b c0 00 imul rax, rax, 0 - 00033 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR transpose$[rbp] - 0003a 48 8b 95 e8 00 - 00 00 mov rdx, QWORD PTR vector$[rbp] - 00041 0f 10 04 01 movups xmm0, XMMWORD PTR [rcx+rax] - 00045 66 0f 3a 40 02 - f1 dpps xmm0, XMMWORD PTR [rdx], 241 ; 000000f1H - 0004b 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 00052 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 30 : *ans = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[1], *vector, 0B11110001), - - 00055 b8 10 00 00 00 mov eax, 16 - 0005a 48 6b c0 01 imul rax, rax, 1 - 0005e 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR transpose$[rbp] - 00065 48 8b 95 e8 00 - 00 00 mov rdx, QWORD PTR vector$[rbp] - 0006c 0f 10 04 01 movups xmm0, XMMWORD PTR [rcx+rax] - 00070 66 0f 3a 40 02 - f1 dpps xmm0, XMMWORD PTR [rdx], 241 ; 000000f1H - 00076 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 0007d 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00080 66 0f 3a 21 c8 - 10 insertps xmm1, xmm0, 16 - 00086 0f 28 c1 movaps xmm0, xmm1 - 00089 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 00090 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 31 : SSE_INSERT_SIMPLE(1, 2)); -; 32 : *ans = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[2], *vector, 0B11110001), - - 00093 b8 10 00 00 00 mov eax, 16 - 00098 48 6b c0 02 imul rax, rax, 2 - 0009c 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR transpose$[rbp] - 000a3 48 8b 95 e8 00 - 00 00 mov rdx, QWORD PTR vector$[rbp] - 000aa 0f 10 04 01 movups xmm0, XMMWORD PTR [rcx+rax] - 000ae 66 0f 3a 40 02 - f1 dpps xmm0, XMMWORD PTR [rdx], 241 ; 000000f1H - 000b4 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 000bb 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 000be 66 0f 3a 21 c8 - 20 insertps xmm1, xmm0, 32 ; 00000020H - 000c4 0f 28 c1 movaps xmm0, xmm1 - 000c7 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 000ce 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 33 : SSE_INSERT_SIMPLE(1, 3)); -; 34 : } - - 000d1 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 000d8 5f pop rdi - 000d9 5d pop rbp - 000da c3 ret 0 -dot_31_sse ENDP -_TEXT ENDS -; Function compile flags: /Odtp /RTCsu /ZI -; File D:\platform-dev\StgSharp.Native\sn-src\vector_dot.c -; COMDAT dot_41_sse -_TEXT SEGMENT -transpose$ = 224 -vector$ = 232 -ans$ = 240 -dot_41_sse PROC ; COMDAT - -; 7 : { - -$LN3: - 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 - 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx - 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx - 0000f 55 push rbp - 00010 57 push rdi - 00011 48 81 ec e8 00 - 00 00 sub rsp, 232 ; 000000e8H - 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] - 0001d 48 8d 0d 00 00 - 00 00 lea rcx, OFFSET FLAT:__9CC1CD6B_vector_dot@c - 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode - 00029 90 npad 1 - -; 8 : *ans = _mm_dp_ps(transpose->column[0], *vector, 0B11110001); - - 0002a b8 10 00 00 00 mov eax, 16 - 0002f 48 6b c0 00 imul rax, rax, 0 - 00033 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR transpose$[rbp] - 0003a 48 8b 95 e8 00 - 00 00 mov rdx, QWORD PTR vector$[rbp] - 00041 0f 10 04 01 movups xmm0, XMMWORD PTR [rcx+rax] - 00045 66 0f 3a 40 02 - f1 dpps xmm0, XMMWORD PTR [rdx], 241 ; 000000f1H - 0004b 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 00052 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 9 : *ans = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[1], *vector, 0B11110001), - - 00055 b8 10 00 00 00 mov eax, 16 - 0005a 48 6b c0 01 imul rax, rax, 1 - 0005e 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR transpose$[rbp] - 00065 48 8b 95 e8 00 - 00 00 mov rdx, QWORD PTR vector$[rbp] - 0006c 0f 10 04 01 movups xmm0, XMMWORD PTR [rcx+rax] - 00070 66 0f 3a 40 02 - f1 dpps xmm0, XMMWORD PTR [rdx], 241 ; 000000f1H - 00076 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 0007d 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 00080 66 0f 3a 21 c8 - 00 insertps xmm1, xmm0, 0 - 00086 0f 28 c1 movaps xmm0, xmm1 - 00089 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 00090 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 10 : SSE_INSERT_SIMPLE(1, 1)); -; 11 : *ans = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[2], *vector, 0B11110001), - - 00093 b8 10 00 00 00 mov eax, 16 - 00098 48 6b c0 02 imul rax, rax, 2 - 0009c 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR transpose$[rbp] - 000a3 48 8b 95 e8 00 - 00 00 mov rdx, QWORD PTR vector$[rbp] - 000aa 0f 10 04 01 movups xmm0, XMMWORD PTR [rcx+rax] - 000ae 66 0f 3a 40 02 - f1 dpps xmm0, XMMWORD PTR [rdx], 241 ; 000000f1H - 000b4 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 000bb 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 000be 66 0f 3a 21 c8 - 20 insertps xmm1, xmm0, 32 ; 00000020H - 000c4 0f 28 c1 movaps xmm0, xmm1 - 000c7 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 000ce 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 12 : SSE_INSERT_SIMPLE(1, 3)); -; 13 : *ans = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[3], *vector, 0B11110001), - - 000d1 b8 10 00 00 00 mov eax, 16 - 000d6 48 6b c0 03 imul rax, rax, 3 - 000da 48 8b 8d e0 00 - 00 00 mov rcx, QWORD PTR transpose$[rbp] - 000e1 48 8b 95 e8 00 - 00 00 mov rdx, QWORD PTR vector$[rbp] - 000e8 0f 10 04 01 movups xmm0, XMMWORD PTR [rcx+rax] - 000ec 66 0f 3a 40 02 - f1 dpps xmm0, XMMWORD PTR [rdx], 241 ; 000000f1H - 000f2 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 000f9 0f 10 08 movups xmm1, XMMWORD PTR [rax] - 000fc 66 0f 3a 21 c8 - 30 insertps xmm1, xmm0, 48 ; 00000030H - 00102 0f 28 c1 movaps xmm0, xmm1 - 00105 48 8b 85 f0 00 - 00 00 mov rax, QWORD PTR ans$[rbp] - 0010c 0f 11 00 movups XMMWORD PTR [rax], xmm0 - -; 14 : SSE_INSERT_SIMPLE(1, 4)); -; 15 : } - - 0010f 48 8d a5 c8 00 - 00 00 lea rsp, QWORD PTR [rbp+200] - 00116 5f pop rdi - 00117 5d pop rbp - 00118 c3 ret 0 -dot_41_sse ENDP -_TEXT ENDS -END diff --git a/StgSharp.Native/x64/Debug/vector_dot.obj b/StgSharp.Native/x64/Debug/vector_dot.obj deleted file mode 100644 index 96a5aab3..00000000 Binary files a/StgSharp.Native/x64/Debug/vector_dot.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Debug/vector_dot.sbr b/StgSharp.Native/x64/Debug/vector_dot.sbr deleted file mode 100644 index bb03cb3c..00000000 Binary files a/StgSharp.Native/x64/Debug/vector_dot.sbr and /dev/null differ diff --git a/StgSharp.Native/x64/Release/StgSharp.C.dll.recipe b/StgSharp.Native/x64/Release/StgSharp.C.dll.recipe deleted file mode 100644 index eefe6ff0..00000000 --- a/StgSharp.Native/x64/Release/StgSharp.C.dll.recipe +++ /dev/null @@ -1,11 +0,0 @@ - - - - - C:\Users\Youmu\OneDrive - MSFT\大学\毕业设计\GraduationProject\build\StgSharp.C.dll - - - - - - \ No newline at end of file diff --git a/StgSharp.Native/x64/Release/StgSharp.C.iobj b/StgSharp.Native/x64/Release/StgSharp.C.iobj deleted file mode 100644 index eb8ef5a5..00000000 Binary files a/StgSharp.Native/x64/Release/StgSharp.C.iobj and /dev/null differ diff --git a/StgSharp.Native/x64/Release/StgSharp.C.tlog/CL.command.1.tlog b/StgSharp.Native/x64/Release/StgSharp.C.tlog/CL.command.1.tlog deleted file mode 100644 index 0e73f069..00000000 Binary files a/StgSharp.Native/x64/Release/StgSharp.C.tlog/CL.command.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Release/StgSharp.C.tlog/CL.read.1.tlog b/StgSharp.Native/x64/Release/StgSharp.C.tlog/CL.read.1.tlog deleted file mode 100644 index 24d52a48..00000000 Binary files a/StgSharp.Native/x64/Release/StgSharp.C.tlog/CL.read.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Release/StgSharp.C.tlog/CL.write.1.tlog b/StgSharp.Native/x64/Release/StgSharp.C.tlog/CL.write.1.tlog deleted file mode 100644 index 8fbf857c..00000000 Binary files a/StgSharp.Native/x64/Release/StgSharp.C.tlog/CL.write.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Release/StgSharp.C.tlog/Cl.items.tlog b/StgSharp.Native/x64/Release/StgSharp.C.tlog/Cl.items.tlog deleted file mode 100644 index 26dad3a0..00000000 --- a/StgSharp.Native/x64/Release/StgSharp.C.tlog/Cl.items.tlog +++ /dev/null @@ -1,11 +0,0 @@ -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\dllmain.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Release\dllmain.obj -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\intrinsic.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Release\intrinsic.obj -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat2.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Release\mat2.obj -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat3.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Release\mat3.obj -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\mat4.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Release\mat4.obj -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\stb_image.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Release\stb_image.obj -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\StgSharpC.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Release\StgSharpC.obj -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\hash.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Release\hash.obj -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\string.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Release\string.obj -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Release\vector.obj -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\vector_dot.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Release\vector_dot.obj diff --git a/StgSharp.Native/x64/Release/StgSharp.C.tlog/StgSharp.C.lastbuildstate b/StgSharp.Native/x64/Release/StgSharp.C.tlog/StgSharp.C.lastbuildstate deleted file mode 100644 index fba99f0f..00000000 --- a/StgSharp.Native/x64/Release/StgSharp.C.tlog/StgSharp.C.lastbuildstate +++ /dev/null @@ -1,2 +0,0 @@ -PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.41.34120:TargetPlatformVersion=10.0.22621.0: -Release|x64|C:\Users\Youmu\OneDrive - MSFT\大学\毕业设计\GraduationProject\| diff --git a/StgSharp.Native/x64/Release/StgSharp.C.tlog/link.command.1.tlog b/StgSharp.Native/x64/Release/StgSharp.C.tlog/link.command.1.tlog deleted file mode 100644 index 4c28b9c2..00000000 Binary files a/StgSharp.Native/x64/Release/StgSharp.C.tlog/link.command.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Release/StgSharp.C.tlog/link.read.1.tlog b/StgSharp.Native/x64/Release/StgSharp.C.tlog/link.read.1.tlog deleted file mode 100644 index 6889fc6a..00000000 Binary files a/StgSharp.Native/x64/Release/StgSharp.C.tlog/link.read.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Release/StgSharp.C.tlog/link.secondary.1.tlog b/StgSharp.Native/x64/Release/StgSharp.C.tlog/link.secondary.1.tlog deleted file mode 100644 index eee0e053..00000000 --- a/StgSharp.Native/x64/Release/StgSharp.C.tlog/link.secondary.1.tlog +++ /dev/null @@ -1,4 +0,0 @@ -^D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\GLFW3.LIB|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\GLFW3DLL.LIB|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\GLFW3_MT.LIB|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\RELEASE\DLLMAIN.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\RELEASE\HASH.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\RELEASE\INTRINSIC.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\RELEASE\MAT2.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\RELEASE\MAT3.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\RELEASE\MAT4.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\RELEASE\STB_IMAGE.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\RELEASE\STGSHARPC.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\RELEASE\STRING.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\RELEASE\VECTOR.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\内核源代码\STGSHARP.C\X64\RELEASE\VECTOR_DOT.OBJ -C:\Users\Youmu\OneDrive - MSFT\大学\毕业设计\GraduationProject\build\StgSharp.C.lib -C:\Users\Youmu\OneDrive - MSFT\大学\毕业设计\GraduationProject\build\StgSharp.C.EXP -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\x64\Release\StgSharp.C.iobj diff --git a/StgSharp.Native/x64/Release/StgSharp.C.tlog/link.write.1.tlog b/StgSharp.Native/x64/Release/StgSharp.C.tlog/link.write.1.tlog deleted file mode 100644 index 34b29c89..00000000 Binary files a/StgSharp.Native/x64/Release/StgSharp.C.tlog/link.write.1.tlog and /dev/null differ diff --git a/StgSharp.Native/x64/Release/StgSharpC.log b/StgSharp.Native/x64/Release/StgSharpC.log deleted file mode 100644 index 0a804d93..00000000 --- a/StgSharp.Native/x64/Release/StgSharpC.log +++ /dev/null @@ -1,4371 +0,0 @@ -C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(517,5): warning MSB8004: Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。 - hash.c -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\hash.c(30,43): warning C4244: “函数”: 从“uint64_t”转换到“unsigned char”,可能丢失数据 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\hash.c(31,50): warning C4244: “函数”: 从“uint64_t”转换到“unsigned char”,可能丢失数据 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\hash.c(7,15): warning C4090: “初始化”: 不同的“const”限定符 -D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.C\hash.c(7,34): warning C4090: “初始化”: 不同的“const”限定符 - 正在启动传递 1 - 已处理 /DEFAULTLIB: MSVCRT - 已处理 /DEFAULTLIB: OLDNAMES - 正在搜索库 - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\opengl32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\kernel32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\user32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\gdi32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\winspool.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\comdlg32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\advapi32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\shell32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\ole32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\oleaut32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\uuid.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbc32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbccp32.lib: - 正在搜索 glfw3.lib: - 已找到 glfwWindowHint - 已在 StgSharpC.obj 中引用 - 已加载 glfw3.lib(window.obj) - 已处理 /DEFAULTLIB: uuid.lib - 已找到 glfwGetProcAddress - 已在 StgSharpC.obj 中引用 - 已加载 glfw3.lib(context.obj) - 已找到 _glfwPlatformGetTls - 已在 glfw3.lib(window.obj) 中引用 - 已在 glfw3.lib(context.obj) 中引用 - 已加载 glfw3.lib(win32_thread.obj) - 已找到 _glfwInputKey - 已在 glfw3.lib(window.obj) 中引用 - 已加载 glfw3.lib(input.obj) - 已找到 _glfwInputError - 已在 glfw3.lib(window.obj) 中引用 - 已在 glfw3.lib(context.obj) 中引用 - 已在 glfw3.lib(win32_thread.obj) 中引用 - 已在 glfw3.lib(input.obj) 中引用 - 已加载 glfw3.lib(init.obj) - 已找到 _glfwPlatformGetTimerValue - 已在 glfw3.lib(input.obj) 中引用 - 已在 glfw3.lib(init.obj) 中引用 - 已加载 glfw3.lib(win32_time.obj) - 已找到 _glfwSelectPlatform - 已在 glfw3.lib(init.obj) 中引用 - 已加载 glfw3.lib(platform.obj) - 已找到 _glfwFreeMonitor - 已在 glfw3.lib(init.obj) 中引用 - 已加载 glfw3.lib(monitor.obj) - 已找到 _glfwTerminateVulkan - 已在 glfw3.lib(init.obj) 中引用 - 已加载 glfw3.lib(vulkan.obj) - 已找到 _glfwConnectWin32 - 已在 glfw3.lib(platform.obj) 中引用 - 已加载 glfw3.lib(win32_init.obj) - 已找到 _glfwConnectNull - 已在 glfw3.lib(platform.obj) 中引用 - 已加载 glfw3.lib(null_init.obj) - 已找到 _glfwPlatformLoadModule - 已在 glfw3.lib(vulkan.obj) 中引用 - 已在 glfw3.lib(win32_init.obj) 中引用 - 已加载 glfw3.lib(win32_module.obj) - 已找到 _glfwPollMonitorsWin32 - 已在 glfw3.lib(win32_init.obj) 中引用 - 已加载 glfw3.lib(win32_monitor.obj) - 已找到 _glfwCreateWindowWin32 - 已在 glfw3.lib(win32_init.obj) 中引用 - 已加载 glfw3.lib(win32_window.obj) - 已找到 _glfwInitJoysticksWin32 - 已在 glfw3.lib(win32_init.obj) 中引用 - 已加载 glfw3.lib(win32_joystick.obj) - 已找到 _glfwTerminateWGL - 已在 glfw3.lib(win32_init.obj) 中引用 - 已加载 glfw3.lib(wgl_context.obj) - 已找到 _glfwTerminateEGL - 已在 glfw3.lib(win32_init.obj) 中引用 - 已在 glfw3.lib(null_init.obj) 中引用 - 已加载 glfw3.lib(egl_context.obj) - 已找到 _glfwTerminateOSMesa - 已在 glfw3.lib(win32_init.obj) 中引用 - 已在 glfw3.lib(null_init.obj) 中引用 - 已加载 glfw3.lib(osmesa_context.obj) - 已找到 _glfwPollMonitorsNull - 已在 glfw3.lib(null_init.obj) 中引用 - 已加载 glfw3.lib(null_monitor.obj) - 已找到 _glfwCreateWindowNull - 已在 glfw3.lib(null_init.obj) 中引用 - 已加载 glfw3.lib(null_window.obj) - 已找到 _glfwInitJoysticksNull - 已在 glfw3.lib(null_init.obj) 中引用 - 已加载 glfw3.lib(null_joystick.obj) - 正在搜索 glfw3dll.lib: - 正在搜索 glfw3_mt.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\MSVCRT.lib: - 已找到 __security_check_cookie - 已在 glfw3.lib(wgl_context.obj) 中引用 - 已在 glfw3.lib(egl_context.obj) 中引用 - 已在 glfw3.lib(osmesa_context.obj) 中引用 - 已在 glfw3.lib(null_window.obj) 中引用 - 已在 glfw3.lib(win32_init.obj) 中引用 - 已在 glfw3.lib(win32_monitor.obj) 中引用 - 已在 glfw3.lib(win32_window.obj) 中引用 - 已在 glfw3.lib(win32_joystick.obj) 中引用 - 已在 dllmain.obj 中引用 - 已在 glfw3.lib(window.obj) 中引用 - 已在 glfw3.lib(input.obj) 中引用 - 已在 glfw3.lib(init.obj) 中引用 - 已加载 MSVCRT.lib(amdsecgs.obj) - 已找到 __avx10_version - 已在 intrinsic.obj 中引用 - 已加载 MSVCRT.lib(cpu_disp.obj) - 已找到 __report_rangecheckfailure - 已在 StgSharpC.obj 中引用 - 已加载 MSVCRT.lib(gs_report.obj) - 已找到 _DllMainCRTStartup - 已加载 MSVCRT.lib(dll_dllmain.obj) - 已找到 __GSHandlerCheck - 已在 glfw3.lib(egl_context.obj) 中引用 - 已在 glfw3.lib(osmesa_context.obj) 中引用 - 已在 glfw3.lib(null_window.obj) 中引用 - 已在 glfw3.lib(win32_monitor.obj) 中引用 - 已在 glfw3.lib(win32_window.obj) 中引用 - 已在 glfw3.lib(win32_joystick.obj) 中引用 - 已在 glfw3.lib(wgl_context.obj) 中引用 - 已在 glfw3.lib(window.obj) 中引用 - 已在 glfw3.lib(input.obj) 中引用 - 已在 glfw3.lib(init.obj) 中引用 - 已在 glfw3.lib(win32_init.obj) 中引用 - 已加载 MSVCRT.lib(gshandler.obj) - 已找到 __security_cookie - 已在 MSVCRT.lib(gs_report.obj) 中引用 - 已在 glfw3.lib(egl_context.obj) 中引用 - 已在 glfw3.lib(osmesa_context.obj) 中引用 - 已在 glfw3.lib(null_window.obj) 中引用 - 已在 MSVCRT.lib(amdsecgs.obj) 中引用 - 已在 glfw3.lib(win32_monitor.obj) 中引用 - 已在 glfw3.lib(win32_window.obj) 中引用 - 已在 glfw3.lib(win32_joystick.obj) 中引用 - 已在 glfw3.lib(wgl_context.obj) 中引用 - 已在 glfw3.lib(window.obj) 中引用 - 已在 glfw3.lib(input.obj) 中引用 - 已在 glfw3.lib(init.obj) 中引用 - 已在 glfw3.lib(win32_init.obj) 中引用 - 已加载 MSVCRT.lib(gs_cookie.obj) - 已找到 _fltused - 已在 glfw3.lib(null_window.obj) 中引用 - 已在 glfw3.lib(win32_monitor.obj) 中引用 - 已在 glfw3.lib(win32_window.obj) 中引用 - 已在 glfw3.lib(win32_joystick.obj) 中引用 - 已在 glfw3.lib(null_monitor.obj) 中引用 - 已在 glfw3.lib(window.obj) 中引用 - 已在 glfw3.lib(input.obj) 中引用 - 已在 glfw3.lib(init.obj) 中引用 - 已在 glfw3.lib(monitor.obj) 中引用 - 已加载 MSVCRT.lib(fltused.obj) - 已找到 __security_init_cookie - 已在 MSVCRT.lib(dll_dllmain.obj) 中引用 - 已加载 MSVCRT.lib(gs_support.obj) - 已找到 "void __cdecl __scrt_initialize_type_info(void)" (?__scrt_initialize_type_info@@YAXXZ) - 已在 MSVCRT.lib(dll_dllmain.obj) 中引用 - 已加载 MSVCRT.lib(tncleanup.obj) - 已找到 __scrt_initialize_default_local_stdio_options - 已在 MSVCRT.lib(dll_dllmain.obj) 中引用 - 已加载 MSVCRT.lib(default_local_stdio_options.obj) - 已找到 __scrt_is_nonwritable_in_current_image - 已在 MSVCRT.lib(dll_dllmain.obj) 中引用 - 已加载 MSVCRT.lib(utility.obj) - 已找到 __scrt_get_dyn_tls_init_callback - 已在 MSVCRT.lib(dll_dllmain.obj) 中引用 - 已加载 MSVCRT.lib(dyn_tls_init.obj) - 已找到 __scrt_fastfail - 已在 MSVCRT.lib(dll_dllmain.obj) 中引用 - 已在 MSVCRT.lib(utility.obj) 中引用 - 已加载 MSVCRT.lib(utility_desktop.obj) - 已找到 _RTC_Initialize - 已在 MSVCRT.lib(dll_dllmain.obj) 中引用 - 已加载 MSVCRT.lib(initsect.obj) - 已找到 __xi_a - 已在 MSVCRT.lib(dll_dllmain.obj) 中引用 - 已加载 MSVCRT.lib(initializers.obj) - 已处理 /DEFAULTLIB: kernel32.lib - 已处理 /DISALLOWLIB: msvcrtd.lib - 已处理 /DISALLOWLIB: libcmt.lib - 已处理 /DISALLOWLIB: libcmtd.lib - 已处理 /DEFAULTLIB: vcruntime.lib - 已处理 /DISALLOWLIB: vcruntimed.lib - 已处理 /DISALLOWLIB: libvcruntime.lib - 已处理 /DISALLOWLIB: libvcruntimed.lib - 已处理 /DEFAULTLIB: ucrt.lib - 已处理 /DISALLOWLIB: ucrtd.lib - 已处理 /DISALLOWLIB: libucrt.lib - 已处理 /DISALLOWLIB: libucrtd.lib - 已找到 __guard_dispatch_icall_fptr - 已在 MSVCRT.lib(dll_dllmain.obj) 中引用 - 已在 MSVCRT.lib(utility.obj) 中引用 - 已在 MSVCRT.lib(initsect.obj) 中引用 - 已加载 MSVCRT.lib(guard_support.obj) - 已找到 _get_startup_argv_mode - 已在 MSVCRT.lib(utility.obj) 中引用 - 已加载 MSVCRT.lib(argv_mode.obj) - 已找到 __scrt_is_ucrt_dll_in_use - 已在 MSVCRT.lib(utility.obj) 中引用 - 已加载 MSVCRT.lib(ucrt_detection.obj) - 已找到 _guard_dispatch_icall_nop - 已在 MSVCRT.lib(guard_support.obj) 中引用 - 已加载 MSVCRT.lib(guard_dispatch.obj) - 已找到 _guard_xfg_dispatch_icall_nop - 已在 MSVCRT.lib(guard_support.obj) 中引用 - 已加载 MSVCRT.lib(guard_xfg_dispatch.obj) - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\OLDNAMES.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\vcruntime.lib: - 已找到 memset - 已在 glfw3.lib(null_init.obj) 中引用 - 已在 glfw3.lib(win32_monitor.obj) 中引用 - 已在 glfw3.lib(win32_joystick.obj) 中引用 - 已在 MSVCRT.lib(utility_desktop.obj) 中引用 - 已在 glfw3.lib(window.obj) 中引用 - 已在 glfw3.lib(input.obj) 中引用 - 已在 glfw3.lib(init.obj) 中引用 - 已在 glfw3.lib(win32_init.obj) 中引用 - 已加载 vcruntime.lib(VCRUNTIME140.dll) - 已找到 strstr - 已在 glfw3.lib(context.obj) 中引用 - 已在 glfw3.lib(win32_joystick.obj) 中引用 - 已加载 vcruntime.lib(VCRUNTIME140.dll) - 已找到 memcpy - 已在 glfw3.lib(input.obj) 中引用 - 已在 glfw3.lib(win32_monitor.obj) 中引用 - 已在 glfw3.lib(null_monitor.obj) 中引用 - 已加载 vcruntime.lib(VCRUNTIME140.dll) - 已找到 memmove - 已在 glfw3.lib(monitor.obj) 中引用 - 已加载 vcruntime.lib(VCRUNTIME140.dll) - 已找到 __C_specific_handler - 已在 MSVCRT.lib(dll_dllmain.obj) 中引用 - 已在 MSVCRT.lib(utility.obj) 中引用 - 已加载 vcruntime.lib(VCRUNTIME140.dll) - 已找到 __std_type_info_destroy_list - 已在 MSVCRT.lib(tncleanup.obj) 中引用 - 已加载 vcruntime.lib(VCRUNTIME140.dll) - 已找到 __current_exception - 已在 MSVCRT.lib(utility_desktop.obj) 中引用 - 已加载 vcruntime.lib(VCRUNTIME140.dll) - 已找到 __current_exception_context - 已在 MSVCRT.lib(utility_desktop.obj) 中引用 - 已加载 vcruntime.lib(VCRUNTIME140.dll) - 已找到 __IMPORT_DESCRIPTOR_VCRUNTIME140 - 已在 vcruntime.lib(VCRUNTIME140.dll) 中引用 - 已在 vcruntime.lib(VCRUNTIME140.dll) 中引用 - 已在 vcruntime.lib(VCRUNTIME140.dll) 中引用 - 已在 vcruntime.lib(VCRUNTIME140.dll) 中引用 - 已在 vcruntime.lib(VCRUNTIME140.dll) 中引用 - 已在 vcruntime.lib(VCRUNTIME140.dll) 中引用 - 已在 vcruntime.lib(VCRUNTIME140.dll) 中引用 - 已在 vcruntime.lib(VCRUNTIME140.dll) 中引用 - 已加载 vcruntime.lib(VCRUNTIME140.dll) - 已找到 __NULL_IMPORT_DESCRIPTOR - 已在 vcruntime.lib(VCRUNTIME140.dll) 中引用 - 已加载 vcruntime.lib(VCRUNTIME140.dll) - 已找到 VCRUNTIME140_NULL_THUNK_DATA - 已在 vcruntime.lib(VCRUNTIME140.dll) 中引用 - 已加载 vcruntime.lib(VCRUNTIME140.dll) - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\ucrt\x64\ucrt.lib: - 已找到 __imp_ftell - 已在 stb_image.obj 中引用 - 已加载 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - 已找到 __imp_ferror - 已在 stb_image.obj 中引用 - 已加载 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - 已找到 __imp_fclose - 已在 stb_image.obj 中引用 - 已加载 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - 已找到 __imp_realloc - 已在 stb_image.obj 中引用 - 已在 glfw3.lib(init.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) - 已找到 __imp_fseek - 已在 stb_image.obj 中引用 - 已加载 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - 已找到 __imp_fgetc - 已在 stb_image.obj 中引用 - 已加载 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - 已找到 __imp_strncmp - 已在 glfw3.lib(egl_context.obj) 中引用 - 已在 stb_image.obj 中引用 - 已在 glfw3.lib(context.obj) 中引用 - 已在 glfw3.lib(input.obj) 中引用 - 已在 glfw3.lib(init.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - 已找到 __imp_fopen_s - 已在 stb_image.obj 中引用 - 已加载 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - 已找到 __imp_strtol - 已在 stb_image.obj 中引用 - 已在 glfw3.lib(init.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-convert-l1-1-0.dll) - 已找到 __imp_ldexp - 已在 stb_image.obj 中引用 - 已加载 ucrt.lib(api-ms-win-crt-math-l1-1-0.dll) - 已找到 __imp_free - 已在 stb_image.obj 中引用 - 已在 glfw3.lib(init.obj) 中引用 - 已在 glfw3.lib(null_init.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) - 已找到 __imp_ungetc - 已在 stb_image.obj 中引用 - 已加载 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - 已找到 __imp_feof - 已在 stb_image.obj 中引用 - 已加载 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - 已找到 __imp_fread - 已在 stb_image.obj 中引用 - 已加载 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - 已找到 __imp_malloc - 已在 stb_image.obj 中引用 - 已在 glfw3.lib(init.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) - 已找到 __imp_strcpy_s - 已在 StgSharpC.obj 中引用 - 已加载 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - 已找到 __imp_strncpy - 已在 glfw3.lib(window.obj) 中引用 - 已在 glfw3.lib(input.obj) 中引用 - 已在 glfw3.lib(monitor.obj) 中引用 - 已在 glfw3.lib(win32_joystick.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - 已找到 __imp___stdio_common_vsscanf - 已在 glfw3.lib(context.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - 已找到 __imp_strcspn - 已在 glfw3.lib(input.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - 已找到 __imp_strspn - 已在 glfw3.lib(input.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - 已找到 __imp_strtoul - 已在 glfw3.lib(input.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-convert-l1-1-0.dll) - 已找到 __imp_strtok - 已在 glfw3.lib(init.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - 已找到 __imp___stdio_common_vsprintf - 已在 glfw3.lib(init.obj) 中引用 - 已在 glfw3.lib(win32_joystick.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - 已找到 __imp_qsort - 已在 glfw3.lib(monitor.obj) 中引用 - 已在 glfw3.lib(win32_joystick.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-utility-l1-1-0.dll) - 已找到 powf - 已在 glfw3.lib(monitor.obj) 中引用 - 已在 glfw3.lib(null_monitor.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-math-l1-1-0.dll) - 已找到 strcmp - 已在 glfw3.lib(vulkan.obj) 中引用 - 已在 glfw3.lib(win32_joystick.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - 已找到 _initterm - 已在 MSVCRT.lib(dll_dllmain.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - 已找到 _initterm_e - 已在 MSVCRT.lib(dll_dllmain.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - 已找到 _seh_filter_dll - 已在 MSVCRT.lib(utility.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - 已找到 _configure_narrow_argv - 已在 MSVCRT.lib(utility.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - 已找到 _initialize_narrow_environment - 已在 MSVCRT.lib(utility.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - 已找到 _initialize_onexit_table - 已在 MSVCRT.lib(utility.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - 已找到 _register_onexit_function - 已在 MSVCRT.lib(utility.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - 已找到 _execute_onexit_table - 已在 MSVCRT.lib(utility.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - 已找到 _crt_atexit - 已在 MSVCRT.lib(utility.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - 已找到 _crt_at_quick_exit - 已在 MSVCRT.lib(utility.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - 已找到 _cexit - 已在 MSVCRT.lib(utility.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - 已找到 terminate - 已在 MSVCRT.lib(utility_desktop.obj) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - 已找到 __IMPORT_DESCRIPTOR_api-ms-win-crt-stdio-l1-1-0 - 已在 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - 已找到 __IMPORT_DESCRIPTOR_api-ms-win-crt-heap-l1-1-0 - 已在 ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) - 已找到 __IMPORT_DESCRIPTOR_api-ms-win-crt-string-l1-1-0 - 已在 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - 已找到 __IMPORT_DESCRIPTOR_api-ms-win-crt-convert-l1-1-0 - 已在 ucrt.lib(api-ms-win-crt-convert-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-convert-l1-1-0.dll) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-convert-l1-1-0.dll) - 已找到 __IMPORT_DESCRIPTOR_api-ms-win-crt-math-l1-1-0 - 已在 ucrt.lib(api-ms-win-crt-math-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-math-l1-1-0.dll) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-math-l1-1-0.dll) - 已找到 __IMPORT_DESCRIPTOR_api-ms-win-crt-utility-l1-1-0 - 已在 ucrt.lib(api-ms-win-crt-utility-l1-1-0.dll) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-utility-l1-1-0.dll) - 已找到 __IMPORT_DESCRIPTOR_api-ms-win-crt-runtime-l1-1-0 - 已在 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中引用 - 已在 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - 已找到 api-ms-win-crt-stdio-l1-1-0_NULL_THUNK_DATA - 已在 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - 已找到 api-ms-win-crt-heap-l1-1-0_NULL_THUNK_DATA - 已在 ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) - 已找到 api-ms-win-crt-string-l1-1-0_NULL_THUNK_DATA - 已在 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - 已找到 api-ms-win-crt-convert-l1-1-0_NULL_THUNK_DATA - 已在 ucrt.lib(api-ms-win-crt-convert-l1-1-0.dll) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-convert-l1-1-0.dll) - 已找到 api-ms-win-crt-math-l1-1-0_NULL_THUNK_DATA - 已在 ucrt.lib(api-ms-win-crt-math-l1-1-0.dll) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-math-l1-1-0.dll) - 已找到 api-ms-win-crt-utility-l1-1-0_NULL_THUNK_DATA - 已在 ucrt.lib(api-ms-win-crt-utility-l1-1-0.dll) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-utility-l1-1-0.dll) - 已找到 api-ms-win-crt-runtime-l1-1-0_NULL_THUNK_DATA - 已在 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中引用 - 已加载 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\opengl32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\kernel32.lib: - 已找到 __imp_InitializeCriticalSection - 已在 glfw3.lib(win32_thread.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_EnterCriticalSection - 已在 glfw3.lib(win32_thread.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_LeaveCriticalSection - 已在 glfw3.lib(win32_thread.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_DeleteCriticalSection - 已在 glfw3.lib(win32_thread.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_TlsAlloc - 已在 glfw3.lib(win32_thread.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_TlsGetValue - 已在 glfw3.lib(win32_thread.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_TlsSetValue - 已在 glfw3.lib(win32_thread.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_TlsFree - 已在 glfw3.lib(win32_thread.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_QueryPerformanceCounter - 已在 glfw3.lib(win32_time.obj) 中引用 - 已在 MSVCRT.lib(gs_support.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_QueryPerformanceFrequency - 已在 glfw3.lib(win32_time.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_VerSetConditionMask - 已在 glfw3.lib(win32_init.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_GetLastError - 已在 glfw3.lib(win32_init.obj) 中引用 - 已在 glfw3.lib(wgl_context.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_GetModuleHandleExW - 已在 glfw3.lib(win32_init.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_FormatMessageW - 已在 glfw3.lib(win32_init.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_MultiByteToWideChar - 已在 glfw3.lib(win32_init.obj) 中引用 - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_WideCharToMultiByte - 已在 glfw3.lib(win32_init.obj) 中引用 - 已在 glfw3.lib(win32_monitor.obj) 中引用 - 已在 glfw3.lib(win32_joystick.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_FreeLibrary - 已在 glfw3.lib(win32_module.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_GetProcAddress - 已在 glfw3.lib(win32_module.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_LoadLibraryA - 已在 glfw3.lib(win32_module.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_GetModuleHandleW - 已在 glfw3.lib(win32_window.obj) 中引用 - 已在 MSVCRT.lib(utility_desktop.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_GlobalAlloc - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_GlobalUnlock - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_GlobalLock - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_GlobalFree - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_SetThreadExecutionState - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_RtlCaptureContext - 已在 MSVCRT.lib(gs_report.obj) 中引用 - 已在 MSVCRT.lib(utility_desktop.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_RtlLookupFunctionEntry - 已在 MSVCRT.lib(gs_report.obj) 中引用 - 已在 MSVCRT.lib(utility_desktop.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_RtlVirtualUnwind - 已在 MSVCRT.lib(gs_report.obj) 中引用 - 已在 MSVCRT.lib(utility_desktop.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_UnhandledExceptionFilter - 已在 MSVCRT.lib(gs_report.obj) 中引用 - 已在 MSVCRT.lib(utility_desktop.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_SetUnhandledExceptionFilter - 已在 MSVCRT.lib(gs_report.obj) 中引用 - 已在 MSVCRT.lib(utility_desktop.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_GetCurrentProcess - 已在 MSVCRT.lib(gs_report.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_TerminateProcess - 已在 MSVCRT.lib(gs_report.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_IsProcessorFeaturePresent - 已在 MSVCRT.lib(gs_report.obj) 中引用 - 已在 MSVCRT.lib(utility_desktop.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_GetCurrentProcessId - 已在 MSVCRT.lib(gs_support.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_GetCurrentThreadId - 已在 MSVCRT.lib(gs_support.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_GetSystemTimeAsFileTime - 已在 MSVCRT.lib(gs_support.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_InitializeSListHead - 已在 MSVCRT.lib(tncleanup.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_IsDebuggerPresent - 已在 MSVCRT.lib(utility_desktop.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __imp_GetStartupInfoW - 已在 MSVCRT.lib(utility_desktop.obj) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 __IMPORT_DESCRIPTOR_KERNEL32 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 已找到 KERNEL32_NULL_THUNK_DATA - 已在 kernel32.lib(KERNEL32.dll) 中引用 - 已加载 kernel32.lib(KERNEL32.dll) - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\user32.lib: - 已找到 __imp_TranslateMessage - 已在 glfw3.lib(win32_init.obj) 中引用 - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_DispatchMessageW - 已在 glfw3.lib(win32_init.obj) 中引用 - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_PeekMessageW - 已在 glfw3.lib(win32_init.obj) 中引用 - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_RegisterDeviceNotificationW - 已在 glfw3.lib(win32_init.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_UnregisterDeviceNotification - 已在 glfw3.lib(win32_init.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_DefWindowProcW - 已在 glfw3.lib(win32_init.obj) 中引用 - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_UnregisterClassW - 已在 glfw3.lib(win32_init.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_RegisterClassExW - 已在 glfw3.lib(win32_init.obj) 中引用 - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_CreateWindowExW - 已在 glfw3.lib(win32_init.obj) 中引用 - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_DestroyWindow - 已在 glfw3.lib(win32_init.obj) 中引用 - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_ShowWindow - 已在 glfw3.lib(win32_init.obj) 中引用 - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_ToUnicode - 已在 glfw3.lib(win32_init.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_MapVirtualKeyW - 已在 glfw3.lib(win32_init.obj) 中引用 - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_GetDC - 已在 glfw3.lib(win32_monitor.obj) 中引用 - 已在 glfw3.lib(win32_window.obj) 中引用 - 已在 glfw3.lib(wgl_context.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_ReleaseDC - 已在 glfw3.lib(win32_monitor.obj) 中引用 - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_ChangeDisplaySettingsExW - 已在 glfw3.lib(win32_monitor.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_EnumDisplaySettingsW - 已在 glfw3.lib(win32_monitor.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_EnumDisplaySettingsExW - 已在 glfw3.lib(win32_monitor.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_EnumDisplayDevicesW - 已在 glfw3.lib(win32_monitor.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_GetMonitorInfoW - 已在 glfw3.lib(win32_monitor.obj) 中引用 - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_EnumDisplayMonitors - 已在 glfw3.lib(win32_monitor.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_TrackMouseEvent - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_GetMessageTime - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_SendMessageW - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_PostMessageW - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_WaitMessage - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_GetLayeredWindowAttributes - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_SetLayeredWindowAttributes - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_FlashWindow - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_MoveWindow - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_SetWindowPos - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_GetWindowPlacement - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_SetWindowPlacement - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_IsWindowVisible - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_IsIconic - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_BringWindowToTop - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_IsZoomed - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_OpenClipboard - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_CloseClipboard - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_SetClipboardData - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_GetClipboardData - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_EmptyClipboard - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_SetFocus - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_GetActiveWindow - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_GetKeyState - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_SetCapture - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_ReleaseCapture - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_MsgWaitForMultipleObjects - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_GetSystemMetrics - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_SetForegroundWindow - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_SetPropW - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_GetPropW - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_RemovePropW - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_SetWindowTextW - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_GetClientRect - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_GetWindowRect - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_AdjustWindowRectEx - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_SetCursorPos - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_SetCursor - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_GetCursorPos - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_ClientToScreen - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_ScreenToClient - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_WindowFromPoint - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_ClipCursor - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_SetRect - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_OffsetRect - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_PtInRect - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_GetWindowLongW - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_SetWindowLongW - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_GetClassLongPtrW - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_LoadCursorW - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_DestroyIcon - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_LoadImageW - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_CreateIconIndirect - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_SystemParametersInfoW - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_MonitorFromWindow - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_GetRawInputData - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_RegisterRawInputDevices - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_GetRawInputDeviceInfoA - 已在 glfw3.lib(win32_joystick.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __imp_GetRawInputDeviceList - 已在 glfw3.lib(win32_joystick.obj) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 __IMPORT_DESCRIPTOR_USER32 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已在 user32.lib(USER32.dll) 中引用 - 已加载 user32.lib(USER32.dll) - 已找到 USER32_NULL_THUNK_DATA - 已在 user32.lib(USER32.dll) 中引用 - 已加载 user32.lib(USER32.dll) - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\gdi32.lib: - 已找到 __imp_CreateDCW - 已在 glfw3.lib(win32_monitor.obj) 中引用 - 已加载 gdi32.lib(GDI32.dll) - 已找到 __imp_DeleteDC - 已在 glfw3.lib(win32_monitor.obj) 中引用 - 已加载 gdi32.lib(GDI32.dll) - 已找到 __imp_GetDeviceCaps - 已在 glfw3.lib(win32_monitor.obj) 中引用 - 已加载 gdi32.lib(GDI32.dll) - 已找到 __imp_GetDeviceGammaRamp - 已在 glfw3.lib(win32_monitor.obj) 中引用 - 已加载 gdi32.lib(GDI32.dll) - 已找到 __imp_SetDeviceGammaRamp - 已在 glfw3.lib(win32_monitor.obj) 中引用 - 已加载 gdi32.lib(GDI32.dll) - 已找到 __imp_CreateBitmap - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 gdi32.lib(GDI32.dll) - 已找到 __imp_CreateRectRgn - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 gdi32.lib(GDI32.dll) - 已找到 __imp_DeleteObject - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 gdi32.lib(GDI32.dll) - 已找到 __imp_CreateDIBSection - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 gdi32.lib(GDI32.dll) - 已找到 __imp_ChoosePixelFormat - 已在 glfw3.lib(wgl_context.obj) 中引用 - 已加载 gdi32.lib(GDI32.dll) - 已找到 __imp_DescribePixelFormat - 已在 glfw3.lib(wgl_context.obj) 中引用 - 已加载 gdi32.lib(GDI32.dll) - 已找到 __imp_SetPixelFormat - 已在 glfw3.lib(wgl_context.obj) 中引用 - 已加载 gdi32.lib(GDI32.dll) - 已找到 __imp_SwapBuffers - 已在 glfw3.lib(wgl_context.obj) 中引用 - 已加载 gdi32.lib(GDI32.dll) - 已找到 __IMPORT_DESCRIPTOR_GDI32 - 已在 gdi32.lib(GDI32.dll) 中引用 - 已在 gdi32.lib(GDI32.dll) 中引用 - 已在 gdi32.lib(GDI32.dll) 中引用 - 已在 gdi32.lib(GDI32.dll) 中引用 - 已在 gdi32.lib(GDI32.dll) 中引用 - 已在 gdi32.lib(GDI32.dll) 中引用 - 已在 gdi32.lib(GDI32.dll) 中引用 - 已在 gdi32.lib(GDI32.dll) 中引用 - 已在 gdi32.lib(GDI32.dll) 中引用 - 已在 gdi32.lib(GDI32.dll) 中引用 - 已在 gdi32.lib(GDI32.dll) 中引用 - 已在 gdi32.lib(GDI32.dll) 中引用 - 已在 gdi32.lib(GDI32.dll) 中引用 - 已加载 gdi32.lib(GDI32.dll) - 已找到 GDI32_NULL_THUNK_DATA - 已在 gdi32.lib(GDI32.dll) 中引用 - 已加载 gdi32.lib(GDI32.dll) - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\winspool.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\comdlg32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\advapi32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\shell32.lib: - 已找到 __imp_DragQueryFileW - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 shell32.lib(SHELL32.dll) - 已找到 __imp_DragQueryPoint - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 shell32.lib(SHELL32.dll) - 已找到 __imp_DragFinish - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 shell32.lib(SHELL32.dll) - 已找到 __imp_DragAcceptFiles - 已在 glfw3.lib(win32_window.obj) 中引用 - 已加载 shell32.lib(SHELL32.dll) - 已找到 __IMPORT_DESCRIPTOR_SHELL32 - 已在 shell32.lib(SHELL32.dll) 中引用 - 已在 shell32.lib(SHELL32.dll) 中引用 - 已在 shell32.lib(SHELL32.dll) 中引用 - 已在 shell32.lib(SHELL32.dll) 中引用 - 已加载 shell32.lib(SHELL32.dll) - 已找到 SHELL32_NULL_THUNK_DATA - 已在 shell32.lib(SHELL32.dll) 中引用 - 已加载 shell32.lib(SHELL32.dll) - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\ole32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\oleaut32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\uuid.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbc32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbccp32.lib: - 正在搜索 glfw3.lib: - 正在搜索 glfw3dll.lib: - 正在搜索 glfw3_mt.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\MSVCRT.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\OLDNAMES.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\vcruntime.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\ucrt\x64\ucrt.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\opengl32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\kernel32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\user32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\gdi32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\winspool.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\comdlg32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\advapi32.lib: - 已完成库搜索 - 正在生成 .exp 文件 - 正在创建库 C:\Users\Youmu\OneDrive - MSFT\大学\毕业设计\GraduationProject\build\StgSharp.C.lib 和对象 C:\Users\Youmu\OneDrive - MSFT\大学\毕业设计\GraduationProject\build\StgSharp.C.exp - 已完成 .exp 文件生成 - 正在搜索库 - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\opengl32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\kernel32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\user32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\gdi32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\winspool.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\comdlg32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\advapi32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\shell32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\ole32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\oleaut32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\uuid.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbc32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbccp32.lib: - 正在搜索 glfw3.lib: - 正在搜索 glfw3dll.lib: - 正在搜索 glfw3_mt.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\MSVCRT.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\OLDNAMES.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\vcruntime.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\ucrt\x64\ucrt.lib: - 已完成库搜索 - 正在搜索库 - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\opengl32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\kernel32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\user32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\gdi32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\winspool.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\comdlg32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\advapi32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\shell32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\ole32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\oleaut32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\uuid.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbc32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbccp32.lib: - 正在搜索 glfw3.lib: - 正在搜索 glfw3dll.lib: - 正在搜索 glfw3_mt.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\MSVCRT.lib: - 已找到 __scrt_stub_for_acrt_initialize - 已加载 MSVCRT.lib(ucrt_stubs.obj) - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\OLDNAMES.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\vcruntime.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\ucrt\x64\ucrt.lib: - 已完成库搜索 - 正在搜索库 - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\opengl32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\kernel32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\user32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\gdi32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\winspool.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\comdlg32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\advapi32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\shell32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\ole32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\oleaut32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\uuid.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbc32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbccp32.lib: - 正在搜索 glfw3.lib: - 正在搜索 glfw3dll.lib: - 正在搜索 glfw3_mt.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\MSVCRT.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\OLDNAMES.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\vcruntime.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\ucrt\x64\ucrt.lib: - 已完成库搜索 - 正在搜索库 - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\opengl32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\kernel32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\user32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\gdi32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\winspool.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\comdlg32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\advapi32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\shell32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\ole32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\oleaut32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\uuid.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbc32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbccp32.lib: - 正在搜索 glfw3.lib: - 正在搜索 glfw3dll.lib: - 正在搜索 glfw3_mt.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\MSVCRT.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\OLDNAMES.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\vcruntime.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\ucrt\x64\ucrt.lib: - 已完成库搜索 - 已完成传递 1 - 已丢弃 "unsigned __int64 `__local_stdio_printf_options'::`2'::_OptionsStorage" (?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA)(从 MSVCRT.lib(default_local_stdio_options.obj) 中) - 已丢弃 "unsigned __int64 `__local_stdio_scanf_options'::`2'::_OptionsStorage" (?_OptionsStorage@?1??__local_stdio_scanf_options@@9@4_KA)(从 MSVCRT.lib(default_local_stdio_options.obj) 中) - 已丢弃 __castguard_check_failure_user_handled_fptr(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 "`string'" (??_C@_0BA@KMGHNAFM@Invalid?5time?5?$CFf@)(从 glfw3.lib(input.obj) 中) - 已丢弃 __real@3f800000(从 glfw3.lib(input.obj) 中) - 已丢弃 __real@7fefffffffffffff(从 glfw3.lib(input.obj) 中) - 已丢弃 "`string'" (??_C@_07CAIJGPF@file?3?1?1@)(从 glfw3.lib(init.obj) 中) - 已丢弃 "`string'" (??_C@_02PCIJFNDE@?$AN?6@)(从 glfw3.lib(init.obj) 中) - 已丢弃 __real@3f800000(从 glfw3.lib(monitor.obj) 中) - 已丢弃 "`string'" (??_C@_0P@IENCOMCD@VK_KHR_surface@)(从 glfw3.lib(win32_window.obj) 中) - 已丢弃 "`string'" (??_C@_0BF@COCMEDFO@VK_KHR_win32_surface@)(从 glfw3.lib(win32_window.obj) 中) - 已丢弃 __real@3f800000(从 glfw3.lib(win32_window.obj) 中) - 已丢弃 __real@42c00000(从 glfw3.lib(win32_window.obj) 中) - 已丢弃 __real@3f000000(从 glfw3.lib(win32_joystick.obj) 中) - 已丢弃 __real@3f800000(从 glfw3.lib(win32_joystick.obj) 中) - 已丢弃 "`string'" (??_C@_07PBILKAFL@Success@)(从 glfw3.lib(egl_context.obj) 中) - 已丢弃 __real@3f000000(从 glfw3.lib(null_monitor.obj) 中) - 已丢弃 __real@477fff00(从 glfw3.lib(null_monitor.obj) 中) - 已丢弃 "`string'" (??_C@_0BE@IGCIBFAF@Invalid?5scancode?5?$CFi@)(从 glfw3.lib(null_window.obj) 中) - 已丢弃 "`string'" (??_C@_01IHBHIGKO@?0@)(从 glfw3.lib(null_window.obj) 中) - 已丢弃 "`string'" (??_C@_01MCMALHOG@a@)(从 glfw3.lib(null_window.obj) 中) - 已丢弃 "`string'" (??_C@_01OJONOECF@b@)(从 glfw3.lib(null_window.obj) 中) - 已丢弃 "`string'" (??_C@_01FJMABOPO@x@)(从 glfw3.lib(null_window.obj) 中) - 已丢弃 "`string'" (??_C@_01EANLCPLP@y@)(从 glfw3.lib(null_window.obj) 中) - 已丢弃 "`string'" (??_C@_00CNPNBAHC@@)(从 glfw3.lib(null_joystick.obj) 中) - 已丢弃 __CastGuardVftablesStart(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __CastGuardVftablesEnd(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃“.pdata”(从 glfw3.lib(init.obj) 中) - 已丢弃“.pdata”(从 glfw3.lib(init.obj) 中) - 已丢弃“.pdata”(从 glfw3.lib(init.obj) 中) - 已丢弃“.pdata”(从 glfw3.lib(init.obj) 中) - 已丢弃“.pdata”(从 MSVCRT.lib(gs_report.obj) 中) - 已丢弃“.pdata”(从 MSVCRT.lib(gs_support.obj) 中) - 已丢弃“.pdata”(从 MSVCRT.lib(utility.obj) 中) - 已丢弃“.pdata”(从 MSVCRT.lib(utility.obj) 中) - 已丢弃“.pdata”(从 MSVCRT.lib(utility.obj) 中) - 已丢弃“.pdata”(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃“.pdata”(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃“.pdata”(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃“.pdata”(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃“.pdata”(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃“.pdata”(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃“.pdata”(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃“.pdata”(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃“.pdata”(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃“.idata$4”(从 vcruntime.lib(VCRUNTIME140.dll) 中) - 已丢弃“.idata$4”(从 vcruntime.lib(VCRUNTIME140.dll) 中) - 已丢弃“.idata$4”(从 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中) - 已丢弃“.idata$4”(从 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) 中) - 已丢弃“.idata$4”(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃“.idata$4”(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃“.idata$4”(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃“.idata$4”(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃“.idata$4”(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 __imp___current_exception(从 vcruntime.lib(VCRUNTIME140.dll) 中) - 已丢弃 __imp___current_exception_context(从 vcruntime.lib(VCRUNTIME140.dll) 中) - 已丢弃 __imp_ftell(从 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中) - 已丢弃 __imp_strtok(从 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) 中) - 已丢弃 __imp__register_onexit_function(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃 __imp__crt_atexit(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃 __imp__crt_at_quick_exit(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃 __imp_terminate(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃 __imp_GetStartupInfoW(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃“.idata$6”(从 vcruntime.lib(VCRUNTIME140.dll) 中) - 已丢弃“.idata$6”(从 vcruntime.lib(VCRUNTIME140.dll) 中) - 已丢弃“.idata$6”(从 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中) - 已丢弃“.idata$6”(从 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) 中) - 已丢弃“.idata$6”(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃“.idata$6”(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃“.idata$6”(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃“.idata$6”(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃“.idata$6”(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃“.xdata”(从 glfw3.lib(init.obj) 中) - 已丢弃“.xdata”(从 glfw3.lib(init.obj) 中) - 已丢弃“.xdata”(从 glfw3.lib(init.obj) 中) - 已丢弃“.xdata”(从 glfw3.lib(init.obj) 中) - 已丢弃“.xdata”(从 MSVCRT.lib(gs_report.obj) 中) - 已丢弃“.xdata”(从 MSVCRT.lib(gs_support.obj) 中) - 已丢弃“.xdata”(从 MSVCRT.lib(utility.obj) 中) - 已丢弃“.xdata”(从 MSVCRT.lib(utility.obj) 中) - 已丢弃“.xdata”(从 MSVCRT.lib(utility.obj) 中) - 已丢弃“.xdata”(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃“.xdata”(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃“.xdata”(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃“.xdata”(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃“.xdata”(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃“.xdata”(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃“.xdata”(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃“.xdata”(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃“.xdata”(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 _glfwEncodeUTF8(从 glfw3.lib(init.obj) 中) - 已丢弃 _glfwParseUriList(从 glfw3.lib(init.obj) 中) - 已丢弃 __local_stdio_printf_options(从 glfw3.lib(win32_joystick.obj) 中) - 已丢弃 __report_securityfailureEx(从 MSVCRT.lib(gs_report.obj) 中) - 已丢弃 "int __cdecl dllmain_raw(struct HINSTANCE__ * const,unsigned long,void * const)" (?dllmain_raw@@YAHQEAUHINSTANCE__@@KQEAX@Z)(从 MSVCRT.lib(dll_dllmain.obj) 中) - 已丢弃 _CRT_INIT(从 MSVCRT.lib(dll_dllmain.obj) 中) - 已丢弃 __get_entropy(从 MSVCRT.lib(gs_support.obj) 中) - 已丢弃 __local_stdio_printf_options(从 MSVCRT.lib(default_local_stdio_options.obj) 中) - 已丢弃 __local_stdio_scanf_options(从 MSVCRT.lib(default_local_stdio_options.obj) 中) - 已丢弃 "public: static int __cdecl __scrt_narrow_argv_policy::configure_argv(void)" (?configure_argv@__scrt_narrow_argv_policy@@SAHXZ)(从 MSVCRT.lib(utility.obj) 中) - 已丢弃 "struct _IMAGE_SECTION_HEADER * __cdecl find_pe_section(unsigned char * const,unsigned __int64)" (?find_pe_section@@YAPEAU_IMAGE_SECTION_HEADER@@QEAE_K@Z)(从 MSVCRT.lib(utility.obj) 中) - 已丢弃 "public: static int __cdecl __scrt_narrow_environment_policy::initialize_environment(void)" (?initialize_environment@__scrt_narrow_environment_policy@@SAHXZ)(从 MSVCRT.lib(utility.obj) 中) - 已丢弃 "bool __cdecl is_potentially_valid_image_base(void * const)" (?is_potentially_valid_image_base@@YA_NQEAX@Z)(从 MSVCRT.lib(utility.obj) 中) - 已丢弃 NtCurrentTeb(从 MSVCRT.lib(utility.obj) 中) - 已丢弃 _onexit(从 MSVCRT.lib(utility.obj) 中) - 已丢弃 at_quick_exit(从 MSVCRT.lib(utility.obj) 中) - 已丢弃 atexit(从 MSVCRT.lib(utility.obj) 中) - 已丢弃 __scrt_get_show_window_mode(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃 __scrt_initialize_mta(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃 __scrt_initialize_winrt(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃 __scrt_is_managed_app(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃 __scrt_set_unhandled_exception_filter(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃 __scrt_unhandled_exception_filter(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃 ReadNoFence64(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 ReadPointerNoFence(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_check_failure_debugbreak(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_check_failure_fastfail(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_check_failure_nop(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_check_failure_os_handled(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_check_failure_os_handled_wrapper(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_check_failure_user_handled(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_check_failure_user_handled_wrapper(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_compat_check(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_set_user_handler(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_slow_path_check_debugbreak(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_slow_path_check_fastfail(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_slow_path_check_nop(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_slow_path_check_os_handled(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_slow_path_check_user_handled(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_slow_path_compat_check(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 _guard_icall_checks_enforced(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 _guard_rf_checks_enforced(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __current_exception(从 vcruntime.lib(VCRUNTIME140.dll) 中) - 已丢弃 __current_exception_context(从 vcruntime.lib(VCRUNTIME140.dll) 中) - 已丢弃 ftell(从 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中) - 已丢弃 strtok(从 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) 中) - 已丢弃 _register_onexit_function(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃 _crt_atexit(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃 _crt_at_quick_exit(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃 terminate(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃 GetStartupInfoW(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 __guard_xfg_check_icall_fptr(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __guard_xfg_dispatch_icall_fptr(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __guard_xfg_table_dispatch_icall_fptr(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_check_failure_os_handled_fptr(从 MSVCRT.lib(guard_support.obj) 中) - 正在生成代码 - 已完成代码的生成 - 正在搜索库 - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\opengl32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\kernel32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\user32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\gdi32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\winspool.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\comdlg32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\advapi32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\shell32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\ole32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\oleaut32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\uuid.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbc32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbccp32.lib: - 正在搜索 glfw3.lib: - 正在搜索 glfw3dll.lib: - 正在搜索 glfw3_mt.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\MSVCRT.lib: - 已找到 __chkstk - 已在 stb_image.obj 中引用 - 已加载 MSVCRT.lib(chkstk.obj) - 已找到 _tls_index - 已在 stb_image.obj 中引用 - 已加载 MSVCRT.lib(tlssup.obj) - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\OLDNAMES.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\vcruntime.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\ucrt\x64\ucrt.lib: - 已找到 pow - 已在 stb_image.obj 中引用 - 已加载 ucrt.lib(api-ms-win-crt-math-l1-1-0.dll) - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\opengl32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\kernel32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\user32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\gdi32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\winspool.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\comdlg32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\advapi32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\shell32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\ole32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\oleaut32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\uuid.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbc32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbccp32.lib: - 正在搜索 glfw3.lib: - 正在搜索 glfw3dll.lib: - 正在搜索 glfw3_mt.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\MSVCRT.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\OLDNAMES.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\vcruntime.lib: - 已完成库搜索 - 正在搜索库 - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\opengl32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\kernel32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\user32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\gdi32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\winspool.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\comdlg32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\advapi32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\shell32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\ole32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\oleaut32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\uuid.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbc32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbccp32.lib: - 正在搜索 glfw3.lib: - 正在搜索 glfw3dll.lib: - 正在搜索 glfw3_mt.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\MSVCRT.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\OLDNAMES.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\vcruntime.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\ucrt\x64\ucrt.lib: - 已完成库搜索 - 正在搜索库 - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\opengl32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\kernel32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\user32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\gdi32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\winspool.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\comdlg32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\advapi32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\shell32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\ole32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\oleaut32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\uuid.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbc32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbccp32.lib: - 正在搜索 glfw3.lib: - 正在搜索 glfw3dll.lib: - 正在搜索 glfw3_mt.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\MSVCRT.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\OLDNAMES.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\vcruntime.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\ucrt\x64\ucrt.lib: - 已完成库搜索 - 正在搜索库 - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\opengl32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\kernel32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\user32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\gdi32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\winspool.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\comdlg32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\advapi32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\shell32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\ole32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\oleaut32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\uuid.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbc32.lib: - 正在搜索 C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbccp32.lib: - 正在搜索 glfw3.lib: - 正在搜索 glfw3dll.lib: - 正在搜索 glfw3_mt.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\MSVCRT.lib: - 已找到 _load_config_used - 已加载 MSVCRT.lib(loadcfg.obj) - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\OLDNAMES.lib: - 正在搜索 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\vcruntime.lib: - 已找到 __guard_memcpy_fptr - 已在 MSVCRT.lib(loadcfg.obj) 中引用 - 已加载 vcruntime.lib(softmemtag.obj) - 已完成库搜索 - 未使用的库: - C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\opengl32.lib - C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\winspool.lib - C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\comdlg32.lib - C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\advapi32.lib - C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\ole32.lib - C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\oleaut32.lib - C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\uuid.lib - C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbc32.lib - C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64\odbccp32.lib - glfw3dll.lib - glfw3_mt.lib - C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.41.34120\lib\x64\OLDNAMES.lib - 正在处理 /ORDER 选项 - 未在 /ORDER 文件中列出的外部代码对象: - ??_C@_0CN@PEBHJDOE@OSMesa?3?5Failed?5to?5load?5required@ ; glfw3.lib(osmesa_context.obj) - ??_C@_0BCO@LKAFPMMB@03000000120c0000101e00000000000@ ; glfw3.lib(input.obj) - ??_C@_0BM@BADCNPOM@Invalid?5value?5for?5parameter@ ; glfw3.lib(init.obj) - glfwIconifyWindow ; glfw3.lib(window.obj) - ??_C@_0DG@CGDLBFFB@Win32?3?5Failed?5to?5allocate?5globa@ ; glfw3.lib(win32_window.obj) - ??_C@_0L@GMPLCCII@user32?4dll@ ; glfw3.lib(win32_init.obj) - glfwGetPlatform ; glfw3.lib(platform.obj) - ??_C@_0L@DMFDIJCG@shcore?4dll@ ; glfw3.lib(win32_init.obj) - __imp_UnregisterDeviceNotification ; user32.lib(USER32.dll) - ??_C@_0CC@DOIEFDD@EGL?3?5Failed?5to?5initialize?5EGL?3?5@ ; glfw3.lib(egl_context.obj) - ??_C@_0N@JENFOGFI@XInput?5Wheel@ ; glfw3.lib(win32_joystick.obj) - ??_C@_0BCO@BGDMHMEJ@030000006f0e0000280100000000000@ ; glfw3.lib(input.obj) - __imp_SetPropW ; user32.lib(USER32.dll) - glfwGetVersion ; glfw3.lib(init.obj) - _glfwInputJoystick ; glfw3.lib(input.obj) - __imp_SetWindowPlacement ; user32.lib(USER32.dll) - _glfwTerminateEGL ; glfw3.lib(egl_context.obj) - glfwPollEvents ; glfw3.lib(window.obj) - ??_C@_0BO@PCKHNBJ@Invalid?5OpenGL?5profile?50x?$CF08X@ ; glfw3.lib(context.obj) - ??_C@_0BH@HPKNFNCE@GetSystemMetricsForDpi@ ; glfw3.lib(win32_init.obj) - _glfwGetVideoModeWin32 ; glfw3.lib(win32_monitor.obj) - ??_C@_0BH@MDCGBFEN@An?5event?5is?5unsignaled@ ; glfw3.lib(vulkan.obj) - ??_C@_0CI@FJDKHGC@OSMesa?3?5Failed?5to?5retrieve?5dept@ ; glfw3.lib(osmesa_context.obj) - ungetc ; ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ??_C@_0BBO@LNNKKDPA@030000008f0e0000753000000000000@ ; glfw3.lib(input.obj) - ScreenToClient ; user32.lib(USER32.dll) - ??_C@_04JFCNHLLM@back@ ; glfw3.lib(input.obj) - ??_C@_0BC@HEACFLN@OSMesaMakeCurrent@ ; glfw3.lib(osmesa_context.obj) - glfwGetEGLSurface ; glfw3.lib(egl_context.obj) - ToUnicode ; user32.lib(USER32.dll) - ??_C@_0BBM@KEDGELHN@03000000c82d0000203800000000000@ ; glfw3.lib(input.obj) - _glfwInputJoystickAxis ; glfw3.lib(input.obj) - __xmm@00000001000000010000000100000001 ; glfw3.lib(window.obj) - ??_C@_01BMBHCPLG@5@ ; glfw3.lib(null_window.obj) - _DllMainCRTStartup ; MSVCRT.lib(dll_dllmain.obj) - __imp_DefWindowProcW ; user32.lib(USER32.dll) - __xmm@00000003000000030000000300000003 ; dllmain.obj - _glfwGetClipboardStringWin32 ; glfw3.lib(win32_window.obj) - _glfwFreeMonitorNull ; glfw3.lib(null_monitor.obj) - __xmm@00380037003600350034003300320031 ; glfw3.lib(win32_init.obj) - _glfwSetCursorWin32 ; glfw3.lib(win32_window.obj) - ??_C@_0CK@DKAFEDIC@OpenGL?5version?5string?5retrieval@ ; glfw3.lib(context.obj) - InitializeCriticalSection ; kernel32.lib(KERNEL32.dll) - glfwGetJoystickGUID ; glfw3.lib(input.obj) - ??_C@_0BCN@ECJBHADL@030000004c050000e60c00000000000@ ; glfw3.lib(input.obj) - _glfwCreateCursorNull ; glfw3.lib(null_window.obj) - glfwRawMouseMotionSupported ; glfw3.lib(input.obj) - ??_C@_0DN@GNDEENDO@EGL?5failed?5to?5allocate?5resource@ ; glfw3.lib(egl_context.obj) - ??_C@_01NEMOKFLO@?$DN@ ; glfw3.lib(null_window.obj) - IsDebuggerPresent ; kernel32.lib(KERNEL32.dll) - GetCurrentThreadId ; kernel32.lib(KERNEL32.dll) - _glfwCreateContextEGL ; glfw3.lib(egl_context.obj) - __imp_DragFinish ; shell32.lib(SHELL32.dll) - _glfwShowWindowWin32 ; glfw3.lib(win32_window.obj) - PostMessageW ; user32.lib(USER32.dll) - glfwGetWin32Window ; glfw3.lib(win32_window.obj) - __local_stdio_printf_options ; glfw3.lib(init.obj) - glfwWindowShouldClose ; glfw3.lib(window.obj) - __imp_LoadImageW ; user32.lib(USER32.dll) - ??_C@_0BCG@HFMJCAPB@030000005c1a0000333000000000000@ ; glfw3.lib(input.obj) - terminate ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - __guard_xfg_table_dispatch_icall_fptr ; MSVCRT.lib(guard_support.obj) - ??_C@_0BBP@DGIHCNJO@030000003807000056a800000000000@ ; glfw3.lib(input.obj) - ??_C@_0BE@IGCIBFAF@Invalid?5scancode?5?$CFi@ ; glfw3.lib(win32_window.obj) - ??_C@_0EP@OJIEDFOO@The?5display?5used?5by?5a?5swapchain@ ; glfw3.lib(vulkan.obj) - ??_C@_0FH@FIPMKLID@A?5surface?5has?5changed?5in?5such?5a@ ; glfw3.lib(vulkan.obj) - ??_C@_0BBG@DBBHKPMM@030000008f0e0000091000000000000@ ; glfw3.lib(input.obj) - __C_specific_handler ; vcruntime.lib(VCRUNTIME140.dll) - _guard_check_icall_nop ; MSVCRT.lib(guard_support.obj) - ??_C@_0M@PPADKGOK@eglGetError@ ; glfw3.lib(egl_context.obj) - __imp_strcspn ; ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - ??_C@_0BBL@NHKNENLJ@03000000bc200000632100000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCI@MBOCFMGI@0300000038100000181400000000000@ ; glfw3.lib(input.obj) - glfwSetWindowSizeLimits ; glfw3.lib(window.obj) - ??_C@_0BCK@KFEKGGJ@0300000045750000221100000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCN@GIEEMMPB@03000000341a0000360800000000000@ ; glfw3.lib(input.obj) - DragQueryFileW ; shell32.lib(SHELL32.dll) - __xmm@f9c31a9df9c31a9df9c31a9df9c31a9d ; dllmain.obj - ??_C@_0BDA@PJFOCFDI@0300000038070000503200000000000@ ; glfw3.lib(input.obj) - ??_C@_0CE@IKOICJPN@Win32?3?5Failed?5to?5set?5video?5mode@ ; glfw3.lib(win32_monitor.obj) - ??_C@_0O@FNFBHCOO@0?9pixel?5image@ ; stb_image.obj - GlobalFree ; kernel32.lib(KERNEL32.dll) - ??_C@_0BBN@DJKOMBLI@03000000d6200000e55700000000000@ ; glfw3.lib(input.obj) - ??_C@_0DC@CDLECLKD@WGL?3?5Driver?5does?5not?5support?5Op@ ; glfw3.lib(wgl_context.obj) - __imp_GetRawInputDeviceList ; user32.lib(USER32.dll) - ??_C@_0BCF@LMGAPCEG@0300000045130000001000000000000@ ; glfw3.lib(input.obj) - GetProcAddress ; kernel32.lib(KERNEL32.dll) - glfwGetVersionString ; glfw3.lib(platform.obj) - ??_C@_0CC@NIBJMOI@EGL?3?5Failed?5to?5bind?5OpenGL?5ES?3?5@ ; glfw3.lib(egl_context.obj) - ??_C@_0CA@JBEOCDFN@invalid?5decoded?5scanline?5length@ ; stb_image.obj - _glfwGetMonitorWorkareaNull ; glfw3.lib(null_monitor.obj) - __imp_GetModuleHandleExW ; kernel32.lib(KERNEL32.dll) - _glfwCreateContextWGL ; glfw3.lib(wgl_context.obj) - SetWindowPlacement ; user32.lib(USER32.dll) - _glfwIsWindowsVersionOrGreaterWin32 ; glfw3.lib(win32_init.obj) - _glfwWindowVisibleNull ; glfw3.lib(null_window.obj) - ??_C@_09MNNCNKEO@outofdata@ ; stb_image.obj - _glfwPollMonitorsNull ; glfw3.lib(null_monitor.obj) - ??_C@_01JOAMLHOP@?9@ ; glfw3.lib(null_window.obj) - ??_C@_0DC@KIAJNHJN@Requested?5OpenGL?5version?5?$CFi?4?$CFi?0@ ; glfw3.lib(context.obj) - ??_C@_0BBK@FPHOHOII@030000006e050000132000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BDG@JHAIGEPC@0300000079000000431800000000000@ ; glfw3.lib(input.obj) - __scrt_dllmain_before_initialize_c ; MSVCRT.lib(utility.obj) - GlobalUnlock ; kernel32.lib(KERNEL32.dll) - ??_C@_01NBENCBCI@?$CK@ ; glfw3.lib(null_window.obj) - __local_stdio_scanf_options ; glfw3.lib(context.obj) - ??_C@_0BDA@CMOFFENL@030000000d0f0000850000000000000@ ; glfw3.lib(input.obj) - DeleteCriticalSection ; kernel32.lib(KERNEL32.dll) - ??_C@_0EE@LGMAAPCC@WGL?3?5The?5share?5context?5is?5not?5c@ ; glfw3.lib(wgl_context.obj) - _glfwWaitEventsWin32 ; glfw3.lib(win32_window.obj) - _glfwPollMonitorsWin32 ; glfw3.lib(win32_monitor.obj) - ??_C@_0BBM@MJENJJEJ@78696e7075740200000000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BI@LDADLCB@DwmGetColorizationColor@ ; glfw3.lib(win32_init.obj) - ??_C@_0BCF@BIADCONP@03000000d81d00000b0000000000000@ ; glfw3.lib(input.obj) - ??_C@_09EOHLEIKL@bad?5sizes@ ; stb_image.obj - ??_C@_0CG@LDJIJKNI@Win32?3?5Failed?5to?5create?5helper?5@ ; glfw3.lib(win32_init.obj) - ??_C@_0O@IHOLGAKK@Invalid?5flags@ ; glfw3.lib(win32_monitor.obj) - ??_C@_0CA@NIHAEPLD@EGL_ANGLE_platform_angle_opengl@ ; glfw3.lib(egl_context.obj) - glfwInitAllocator ; glfw3.lib(init.obj) - __imp_EnumDisplayMonitors ; user32.lib(USER32.dll) - ??_C@_0O@KAFOJCHN@xinput1_3?4dll@ ; glfw3.lib(win32_init.obj) - _glfwRestoreVideoModeWin32 ; glfw3.lib(win32_monitor.obj) - _initialize_narrow_environment ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ??_C@_0DE@OKHDGAJN@Context?5creation?5APIs?5do?5not?5ma@ ; glfw3.lib(context.obj) - ??_C@_0BCB@GKHPJHJF@03000000f0250000c48300000000000@ ; glfw3.lib(input.obj) - __scrt_stub_for_acrt_thread_detach ; MSVCRT.lib(ucrt_stubs.obj) - glfwSetJoystickCallback ; glfw3.lib(input.obj) - __imp_DragAcceptFiles ; shell32.lib(SHELL32.dll) - ??_C@_0BH@NFNALLIN@EGL?3?5Library?5not?5found@ ; glfw3.lib(egl_context.obj) - ??_C@_0BCB@NICJKIFJ@03000000c82d000020ab00000000000@ ; glfw3.lib(input.obj) - ??_C@_0BI@DCNDPIOH@unsupported?5data?5layout@ ; stb_image.obj - _glfwGetWindowOpacityWin32 ; glfw3.lib(win32_window.obj) - __report_gsfailure ; MSVCRT.lib(gs_report.obj) - ??_C@_0CG@CHGOPGBD@Mapping?5of?5a?5memory?5object?5has?5@ ; glfw3.lib(vulkan.obj) - ??_C@_0CK@DDNMEIKD@No?5version?5found?5in?5OpenGL?5vers@ ; glfw3.lib(context.obj) - ??_C@_0MO@IJHIOCMG@03000000c82d0000286700000000000@ ; glfw3.lib(input.obj) - ??_C@_0CJ@GILDAIDE@Win32?3?5Failed?5to?5retrieve?5raw?5i@ ; glfw3.lib(win32_window.obj) - __imp_DestroyWindow ; user32.lib(USER32.dll) - ldexp ; ucrt.lib(api-ms-win-crt-math-l1-1-0.dll) - ??_C@_0N@PILJCBOD@glGetStringi@ ; glfw3.lib(context.obj) - SetThreadExecutionState ; kernel32.lib(KERNEL32.dll) - ??_C@_0BA@BGJPOLDF@eglSwapInterval@ ; glfw3.lib(egl_context.obj) - ??_C@_08DIAPIMGJ@bad?5dist@ ; stb_image.obj - ??_C@_0L@FACOJKPJ@dwmapi?4dll@ ; glfw3.lib(win32_init.obj) - glfwSetWindowRefreshCallback ; glfw3.lib(window.obj) - ??_C@_0EC@MCALKGHI@Vulkan?3?5Failed?5to?5retrieve?5vkEn@ ; glfw3.lib(vulkan.obj) - ??_C@_0BCC@ICCBMGAM@03000000a306000022f600000000000@ ; glfw3.lib(input.obj) - ??_C@_0BDM@BFJPFEKL@0300000049190000030400000000000@ ; glfw3.lib(input.obj) - ??_C@_0BF@DOIMLJHJ@VK_MVK_macos_surface@ ; glfw3.lib(vulkan.obj) - ??_C@_0O@KBHBNJOK@multiple?5IHDR@ ; stb_image.obj - ReadNoFence64 ; MSVCRT.lib(guard_support.obj) - ??_C@_0BBK@JNJGFNNI@03000000c0110000059100000000000@ ; glfw3.lib(input.obj) - _glfwMaximizeWindowNull ; glfw3.lib(null_window.obj) - ??_C@_0BB@IIMLINA@bad?5huffman?5code@ ; stb_image.obj - GetModuleHandleExW ; kernel32.lib(KERNEL32.dll) - ??_C@_0BJ@MBCLFEBK@EGL_ANGLE_platform_angle@ ; glfw3.lib(egl_context.obj) - ??_C@_0BCH@PKIHDDBI@03000000ac0500005b0500000000000@ ; glfw3.lib(input.obj) - ??_C@_01LPLHEDKD@d@ ; glfw3.lib(null_window.obj) - ??_C@_0CC@BFGHOMNL@WGL_ARB_create_context_robustne@ ; glfw3.lib(wgl_context.obj) - __imp_WindowFromPoint ; user32.lib(USER32.dll) - ??_C@_0BCB@EEEEOCLB@03000000300f0000120100000000000@ ; glfw3.lib(input.obj) - __imp_fclose ; ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ??_C@_01LFCBOECM@?4@ ; glfw3.lib(null_window.obj) - __imp_TerminateProcess ; kernel32.lib(KERNEL32.dll) - GetMonitorInfoW ; user32.lib(USER32.dll) - ??_C@_0DA@LIIDOJC@Vulkan?3?5Failed?5to?5query?5instanc@ ; glfw3.lib(vulkan.obj) - ??_C@_0BCG@KCOGNPFA@030000000d0f00008b0000000000000@ ; glfw3.lib(input.obj) - __imp_MultiByteToWideChar ; kernel32.lib(KERNEL32.dll) - _glfwInputWindowContentScale ; glfw3.lib(window.obj) - ??_C@_0BCG@FGNJGHJF@03000000c82d0000652800000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCH@KGOLOPPA@030000000d0f00005b0000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCN@JLGOFCN@0300000017270000443100000000000@ ; glfw3.lib(input.obj) - __xmm@08a914e808a914e808a914e808a914e8 ; dllmain.obj - __xmm@12d0046b12d0046b12d0046b12d0046b ; dllmain.obj - CreateDIBSection ; gdi32.lib(GDI32.dll) - GetClipboardData ; user32.lib(USER32.dll) - ??_C@_0BCD@GAEBDFLF@0300000063250000750500000000000@ ; glfw3.lib(input.obj) - ??_C@_0PF@DFFMCMNA@030000006f0e0000240100000000000@ ; glfw3.lib(input.obj) - ??_C@_0BE@BMOJHNDI@WGL_ARB_multisample@ ; glfw3.lib(wgl_context.obj) - __imp_RemovePropW ; user32.lib(USER32.dll) - _glfw_max ; glfw3.lib(init.obj) - __real@40400000 ; dllmain.obj - ??_C@_0ME@JKMAKHPN@030000007e050000072000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCO@NGLDHPOC@030000006b140000010d00000000000@ ; glfw3.lib(input.obj) - _glfw_fmaxf ; glfw3.lib(init.obj) - ClientToScreen ; user32.lib(USER32.dll) - ??_C@_0BC@EOBKJDCM@GL_ARB_robustness@ ; glfw3.lib(context.obj) - ??_C@_0BBM@CNGNJMCJ@03000000c82d0000006000000000000@ ; glfw3.lib(input.obj) - _glfwRequestWindowAttentionNull ; glfw3.lib(null_window.obj) - ??_C@_0BDB@OHAMDKML@0300000038070000818400000000000@ ; glfw3.lib(input.obj) - ChangeDisplaySettingsExW ; user32.lib(USER32.dll) - RegisterDeviceNotificationW ; user32.lib(USER32.dll) - _glfwGetWindowFrameSizeWin32 ; glfw3.lib(win32_window.obj) - ??_C@_0BK@MBEPKAIA@Invalid?5window?5opacity?5?$CFf@ ; glfw3.lib(window.obj) - __imp_ReleaseDC ; user32.lib(USER32.dll) - _glfwSetCursorPosWin32 ; glfw3.lib(win32_window.obj) - _glfwGetVideoModesWin32 ; glfw3.lib(win32_monitor.obj) - ??_C@_0BA@MCNBDLPD@bad?5compression@ ; stb_image.obj - glfwGetWGLContext ; glfw3.lib(wgl_context.obj) - ??_C@_0BBM@IDFPDLMB@0300000066f70000010000000000000@ ; glfw3.lib(input.obj) - ReleaseDC ; user32.lib(USER32.dll) - __imp_EnterCriticalSection ; kernel32.lib(KERNEL32.dll) - _glfwGetMonitorContentScaleWin32 ; glfw3.lib(win32_monitor.obj) - ?_OptionsStorage@?1??__local_stdio_printf_options@@9@9 - ??_C@_0BF@LOGLPPDD@RtlVerifyVersionInfo@ ; glfw3.lib(win32_init.obj) - ??_C@_0O@LCPOPKLJ@rightshoulder@ ; glfw3.lib(input.obj) - DeleteObject ; gdi32.lib(GDI32.dll) - ??_C@_0BL@OAABODH@Invalid?5gamma?5ramp?5size?5?$CFi@ ; glfw3.lib(monitor.obj) - _glfwSetWindowDecoratedNull ; glfw3.lib(null_window.obj) - ??_C@_0LO@FCDDJGBI@03000000a3060000070100000000000@ ; glfw3.lib(input.obj) - ??_C@_0BBP@CNEONNDL@0300000032150000050700000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCK@DCNKADHN@030000006b140000005500000000000@ ; glfw3.lib(input.obj) - __real@3f800000 ; dllmain.obj - glfwSetCursorPos ; glfw3.lib(input.obj) - _glfwSetWindowAspectRatioNull ; glfw3.lib(null_window.obj) - ??_C@_0BBB@JKCCMJLF@0300000085210000020100000000000@ ; glfw3.lib(input.obj) - DestroyIcon ; user32.lib(USER32.dll) - ??_C@_0BCE@LONHMMNE@030000000d0f0000660000000000000@ ; glfw3.lib(input.obj) - _glfwTerminateOSMesa ; glfw3.lib(osmesa_context.obj) - ??_C@_0BG@ELBNFOBA@XInputGetCapabilities@ ; glfw3.lib(win32_init.obj) - ??_C@_0CM@CMAENEMJ@3?44?40?5Win32?5WGL?5Null?5EGL?5OSMesa@ ; glfw3.lib(platform.obj) - ??_C@_0BD@IOGGBMNK@wrong?5color?5format@ ; stb_image.obj - ??_C@_0DC@IPDIACJO@WGL?3?5Failed?5to?5set?5pixel?5format@ ; glfw3.lib(wgl_context.obj) - ??_C@_07IDKIDMGJ@bad?5PNM@ ; stb_image.obj - ??_C@_0CD@HJEBEGLD@A?5platform?9specific?5error?5occur@ ; glfw3.lib(init.obj) - ??_C@_0PB@DCMCKKFD@030000006f0e0000030200000000000@ ; glfw3.lib(input.obj) - __imp_SetCapture ; user32.lib(USER32.dll) - ??_C@_0BAO@BBCMHMGF@0300000032150000000900000000000@ ; glfw3.lib(input.obj) - ??_C@_0BJ@EJOHFDHH@The?5system?5uses?5DualView@ ; glfw3.lib(win32_monitor.obj) - _glfwWindowIconifiedWin32 ; glfw3.lib(win32_window.obj) - ??_C@_0CC@HJEJGDAP@Invalid?5window?5minimum?5size?5?$CFix@ ; glfw3.lib(window.obj) - _glfwInitOSMesa ; glfw3.lib(osmesa_context.obj) - ??_C@_0BAP@BKIFCCAA@030000008f0e00000f3100000000000@ ; glfw3.lib(input.obj) - ??_C@_1O@IBNLCBOC@?$AAG?$AAL?$AAF?$AAW?$AA3?$AA0@ ; glfw3.lib(win32_window.obj) - ??_C@_01LBDDMOBJ@?$FN@ ; glfw3.lib(null_window.obj) - _glfwGetMappingNameWin32 ; glfw3.lib(win32_joystick.obj) - ??_C@_0BF@COCMEDFO@VK_KHR_win32_surface@ ; glfw3.lib(vulkan.obj) - ??_C@_0O@EMKFPNOG@OpenGL?5ES?9CL?5@ ; glfw3.lib(context.obj) - __xmm@00000000000000040000000000000000 ; dllmain.obj - glfwWindowHintString ; glfw3.lib(window.obj) - ??_C@_0DG@EPNPJJLB@WGL?3?5Failed?5to?5retrieve?5PFD?5for@ ; glfw3.lib(wgl_context.obj) - GetWindowLongW ; user32.lib(USER32.dll) - glfwSetWindowSizeCallback ; glfw3.lib(window.obj) - ??_C@_03FOKDFDHG@?$CLX?5@ ; stb_image.obj - __current_exception ; vcruntime.lib(VCRUNTIME140.dll) - ??_C@_0O@LNFLKCMF@xinput1_4?4dll@ ; glfw3.lib(win32_init.obj) - GetRawInputDeviceList ; user32.lib(USER32.dll) - ??_C@_0BB@GHMBNOIP@wglCreateContext@ ; glfw3.lib(wgl_context.obj) - _glfwCreateContextOSMesa ; glfw3.lib(osmesa_context.obj) - _glfwParseUriList ; glfw3.lib(init.obj) - ??_C@_0DF@FCIHEFHD@Vulkan?3?5Window?5surface?5creation@ ; glfw3.lib(vulkan.obj) - ??_C@_0CE@CNKFDGDO@EGL?3?5Stereo?5rendering?5not?5suppo@ ; glfw3.lib(egl_context.obj) - ??_C@_0LF@CJKOEMML@030000009b280000050000000000000@ ; glfw3.lib(input.obj) - _glfwPlatformGetModuleSymbol ; glfw3.lib(win32_module.obj) - GetCursorPos ; user32.lib(USER32.dll) - ??_C@_0CF@OFADCJLJ@A?5requested?5feature?5is?5not?5supp@ ; glfw3.lib(vulkan.obj) - ??_C@_0CJ@JDBBFPLM@Extension?5name?5cannot?5be?5an?5emp@ ; glfw3.lib(context.obj) - ??_C@_0BCB@CDINELNI@03000000f025000021c100000000000@ ; glfw3.lib(input.obj) - glfwCreateStandardCursor ; glfw3.lib(input.obj) - __imp_DeleteCriticalSection ; kernel32.lib(KERNEL32.dll) - __imp_InitializeCriticalSection ; kernel32.lib(KERNEL32.dll) - _glfwGetEGLNativeWindowWin32 ; glfw3.lib(win32_window.obj) - _glfwFreeMonitor ; glfw3.lib(monitor.obj) - __imp_GetActiveWindow ; user32.lib(USER32.dll) - __imp_PtInRect ; user32.lib(USER32.dll) - ??_C@_0BG@NOLDLPP@unsupported?5bit?5depth@ ; stb_image.obj - ??_C@_01BDACAMKP@h@ ; glfw3.lib(null_window.obj) - _glfwTerminateVulkan ; glfw3.lib(vulkan.obj) - __imp_strtok ; ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - _glfwCreateWindowNull ; glfw3.lib(null_window.obj) - MapVirtualKeyW ; user32.lib(USER32.dll) - ?_OptionsStorage@?1??__local_stdio_scanf_options@@9@4_KA ; MSVCRT.lib(default_local_stdio_options.obj) - ??_C@_0CE@GCBEILKL@Win32?3?5Failed?5to?5create?5RGBA?5bi@ ; glfw3.lib(win32_window.obj) - _onexit ; MSVCRT.lib(utility.obj) - ??_C@_0BCD@JIBGPOCI@030000004c050000a00b00000000000@ ; glfw3.lib(input.obj) - _glfwWindowFocusedNull ; glfw3.lib(null_window.obj) - ??_C@_0CH@DNHGEPME@vkEnumerateInstanceExtensionPro@ ; glfw3.lib(vulkan.obj) - _glfwInitJoysticksWin32 ; glfw3.lib(win32_joystick.obj) - ??_C@_0P@JLGKOCGN@bad?5DHT?5header@ ; stb_image.obj - __imp_SwapBuffers ; gdi32.lib(GDI32.dll) - ??_C@_0N@KBPNPPBJ@bad?5req_comp@ ; stb_image.obj - __xmm@0000201c0000201b0000201a00002019 ; glfw3.lib(wgl_context.obj) - glfwGetGamepadName ; glfw3.lib(input.obj) - __dyn_tls_init_callback - ??_C@_0BBK@CPBMMLKK@03000000fa190000f0ff00000000000@ ; glfw3.lib(input.obj) - ??_C@_0CG@GMPEPNKL@WGL?3?5Failed?5to?5retrieve?5DC?5for?5@ ; glfw3.lib(wgl_context.obj) - _glfwPlatformLockMutex ; glfw3.lib(win32_thread.obj) - __imp_SystemParametersInfoW ; user32.lib(USER32.dll) - ??_C@_09MEKLKMGE@leftstick@ ; glfw3.lib(input.obj) - _glfwInputWindowPos ; glfw3.lib(window.obj) - glfwJoystickPresent ; glfw3.lib(input.obj) - ??_C@_0CG@CHEOMKGJ@A?5device?5memory?5allocation?5has?5@ ; glfw3.lib(vulkan.obj) - ??_C@_0BBK@ECLGAJHG@03000000790000001a1800000000000@ ; glfw3.lib(input.obj) - ?__scrt_initialize_type_info@@YAXXZ ; MSVCRT.lib(tncleanup.obj) - IsIconic ; user32.lib(USER32.dll) - ??_C@_0BJ@KDFAHDEK@ERROR?3?5UNKNOWN?5EGL?5ERROR@ ; glfw3.lib(egl_context.obj) - ??_C@_0BCI@EGALPOHP@03000000a30600000cff00000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCC@HHLPIDID@030000000d0f0000550000000000000@ ; glfw3.lib(input.obj) - __xmm@00000009000000080000000c00000004 ; glfw3.lib(win32_joystick.obj) - ??_C@_0BDA@KMJLBBJI@030000000d0f0000490000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BF@NEMNBLEB@An?5event?5is?5signaled@ ; glfw3.lib(vulkan.obj) - ??_C@_0BBE@DMHFNEP@0300000071010000190400000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCE@JNCBHNAG@030000000d0f00006e0000000000000@ ; glfw3.lib(input.obj) - ??_C@_0CD@EGEEPFHF@Win32?3?5Gamma?5ramp?5size?5must?5be?5@ ; glfw3.lib(win32_monitor.obj) - ??_C@_0BCJ@BECCDJOO@030000005e040000130b00000000000@ ; glfw3.lib(input.obj) - glfwSetErrorCallback ; glfw3.lib(init.obj) - ??_C@_01JBBJJEPG@p@ ; glfw3.lib(null_window.obj) - ??_C@_0BL@MOJGOJJP@Failed?5to?5load?5OpenGL?5api?3@ ; StgSharpC.obj - ??_C@_0BD@ENICNPLM@SetProcessDPIAware@ ; glfw3.lib(win32_init.obj) - _glfwRequestWindowAttentionWin32 ; glfw3.lib(win32_window.obj) - _glfw_calloc ; glfw3.lib(init.obj) - ??_C@_0BDO@LBKBGMKN@030000005e040000a10200000000000@ ; glfw3.lib(input.obj) - __castguard_slow_path_check_nop ; MSVCRT.lib(guard_support.obj) - __castguard_slow_path_check_user_handled ; MSVCRT.lib(guard_support.obj) - ??_C@_0P@NNGPHMMK@unknown?5marker@ ; stb_image.obj - RegisterRawInputDevices ; user32.lib(USER32.dll) - ??_C@_0EP@EKHGPGGO@WGL?3?5OpenGL?5ES?5requested?5but?5WG@ ; glfw3.lib(wgl_context.obj) - __real@42112e0be8240000 ; glfw3.lib(input.obj) - ??_C@_0BF@GIAALCNJ@bad?5Image?5Descriptor@ ; stb_image.obj - glfwGetWindowSize ; glfw3.lib(window.obj) - glfwGetWin32Adapter ; glfw3.lib(win32_monitor.obj) - ??_C@_0BCN@FPGGBFLP@030000006f0e0000300100000000000@ ; glfw3.lib(input.obj) - GetLastError ; kernel32.lib(KERNEL32.dll) - strtoul ; ucrt.lib(api-ms-win-crt-convert-l1-1-0.dll) - ??_C@_0O@DEFOLMLB@bad?5size?5list@ ; stb_image.obj - ??_C@_0CJ@HDJDHLNO@Failed?5to?5enumerate?5DirectInput@ ; glfw3.lib(win32_joystick.obj) - _glfwWindowIconifiedNull ; glfw3.lib(null_window.obj) - __imp_strcpy_s ; ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - ??_C@_0BC@CNFMOKHC@max?5value?5?$DO?565535@ ; stb_image.obj - __GSHandlerCheckCommon ; MSVCRT.lib(gshandler.obj) - __xmm@00000004000000040000000800000008 ; dllmain.obj - ??_C@_0DF@BPPFPGID@EGL?3?5Failed?5to?5find?5support?5for@ ; glfw3.lib(egl_context.obj) - ??_C@_0BBL@BGGBHDMD@03000000c0110000055500000000000@ ; glfw3.lib(input.obj) - __imp_GetStartupInfoW ; kernel32.lib(KERNEL32.dll) - __imp__crt_at_quick_exit ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ??_C@_03HKAKGGJN@?9Y?5@ ; stb_image.obj - ??_C@_0BD@MAEGKKAE@eglGetConfigAttrib@ ; glfw3.lib(egl_context.obj) - ??_C@_0PH@JHCLCGIM@030000000d0f0000160000000000780@ ; glfw3.lib(input.obj) - ??_C@_0BK@HMMKMEOH@DwmEnableBlurBehindWindow@ ; glfw3.lib(win32_init.obj) - ??_C@_0N@JCPAJAKB@invalid?5PLTE@ ; stb_image.obj - ??_C@_0BCD@OHMJGKKC@03000000790000004f1800000000000@ ; glfw3.lib(input.obj) - ??_C@_0NL@JGIMNLNL@030000004c050000371300000000000@ ; glfw3.lib(input.obj) - ??_C@_0CC@BPDGBBAB@Invalid?5window?5aspect?5ratio?5?$CFi?3@ ; glfw3.lib(window.obj) - __imp_memset ; vcruntime.lib(VCRUNTIME140.dll) - __xmm@01290128012701260125012401230122 ; glfw3.lib(win32_init.obj) - _glfwTerminateJoysticksNull ; glfw3.lib(null_joystick.obj) - ??_C@_0BCD@GAJAFIPA@030000004c050000c40500000000000@ ; glfw3.lib(input.obj) - __real@3ee8ba2e ; glfw3.lib(null_monitor.obj) - ??_C@_0BA@ENDPGCHB@tRNS?5with?5alpha@ ; stb_image.obj - __xmm@00000002000000020000000200000002 ; dllmain.obj - glfwSetCursorEnterCallback ; glfw3.lib(input.obj) - ??_C@_0BCB@CDNPOFJG@03000000341a0000030200000000000@ ; glfw3.lib(input.obj) - _glfwSetClipboardStringNull ; glfw3.lib(null_window.obj) - realloc ; ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) - glfwGetTimerValue ; glfw3.lib(input.obj) - ??_C@_0BBH@EKFHCAMB@03000000e8200000605800000000000@ ; glfw3.lib(input.obj) - ??_C@_0BI@DHFJCMBA@bad?5SOS?5component?5count@ ; stb_image.obj - ??_C@_0BCI@HBCHBLOC@03000000bc200000005500000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCN@MBGMCHKG@030000006f0e0000140100000000000@ ; glfw3.lib(input.obj) - ??_C@_0M@JPDHFAGK@can?8t?5fopen@ ; stb_image.obj - ??_C@_0CA@MHMAANIG@Win32?3?5Platform?5not?5initialized@ ; glfw3.lib(win32_window.obj) - LoadLibraryA ; kernel32.lib(KERNEL32.dll) - ??_C@_0OJ@OIDHFCIJ@030000006f0e0000090100000000000@ ; glfw3.lib(input.obj) - ??_C@_0BO@NOJEGBJM@Missing?5function?5in?5allocator@ ; glfw3.lib(init.obj) - glfwGetWindowAttrib ; glfw3.lib(window.obj) - ??_C@_1BA@PICGEGJB@?$AAD?$AAI?$AAS?$AAP?$AAL?$AAA?$AAY@ ; glfw3.lib(win32_monitor.obj) - ftell ; ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ??_C@_0BJ@KIPDFNMM@EGL_EXT_platform_wayland@ ; glfw3.lib(egl_context.obj) - ??_C@_01OJONOECF@b@ ; glfw3.lib(input.obj) - _glfwGetClipboardStringNull ; glfw3.lib(null_window.obj) - __imp_IsZoomed ; user32.lib(USER32.dll) - __imp_TrackMouseEvent ; user32.lib(USER32.dll) - ??_C@_07MALOAKCI@invalid@ ; stb_image.obj - __scrt_initialize_onexit_tables ; MSVCRT.lib(utility.obj) - ??_C@_0PF@JBCCEDOB@03000000300f0000001100000000000@ ; glfw3.lib(input.obj) - ??_C@_0LP@DBLEIEDM@03000000a30c0000240000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BBP@KNBKPMNJ@0300000038070000808100000000000@ ; glfw3.lib(input.obj) - __xmm@00000004000000080000000800000008 ; dllmain.obj - glfwSetMouseButtonCallback ; glfw3.lib(input.obj) - ??_C@_0BCO@DODDAFEB@03000000efbe0000edfe00000000000@ ; glfw3.lib(input.obj) - ??_C@_0CB@HHJIGJHK@Win32?3?5Failed?5to?5load?5user32?4dl@ ; glfw3.lib(win32_init.obj) - glfwSetWindowMonitor ; glfw3.lib(window.obj) - __imp_RtlLookupFunctionEntry ; kernel32.lib(KERNEL32.dll) - ??_C@_0CK@DCPJCPHH@EGL?3?5Failed?5to?5load?5required?5en@ ; glfw3.lib(egl_context.obj) - ??_C@_0P@PKABKPLF@Invalid?5key?5?$CFi@ ; glfw3.lib(input.obj) - ??_C@_08CBHCFJJK@platform@ ; glfw3.lib(input.obj) - _glfwAllocJoystick ; glfw3.lib(input.obj) - ??_C@_0BCD@BBICEOLK@78696e7075740300000000000000000@ ; glfw3.lib(input.obj) - ??_C@_0CJ@MHLGDLLP@EGL?3?5Failed?5to?5create?5window?5su@ ; glfw3.lib(egl_context.obj) - ??_C@_0BBG@NOFGFFJE@03000000bc200000601200000000000@ ; glfw3.lib(input.obj) - __imp___C_specific_handler ; vcruntime.lib(VCRUNTIME140.dll) - ??_C@_06NDOKKIDJ@?$CD?$DPRGBE@ ; stb_image.obj - ??_C@_0BCE@LLLAMHO@030000004f04000007d000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BA@OBKOPAFL@bad?5zlib?5header@ ; stb_image.obj - _glfwInputMonitor ; glfw3.lib(monitor.obj) - ??_C@_0BB@CNEIGGLC@Null?5SuperNoop?50@ ; glfw3.lib(null_monitor.obj) - ??_C@_0CE@PCLEMLLO@The?5requested?5format?5is?5unavail@ ; glfw3.lib(init.obj) - __report_securityfailure ; MSVCRT.lib(gs_report.obj) - __real@46ffff00 ; glfw3.lib(win32_joystick.obj) - __imp_qsort ; ucrt.lib(api-ms-win-crt-utility-l1-1-0.dll) - __imp_CloseClipboard ; user32.lib(USER32.dll) - _glfwDestroyCursorNull ; glfw3.lib(null_window.obj) - glfwGetWindowMonitor ; glfw3.lib(window.obj) - ??_C@_0BBO@HLNJIBPP@78696e7075740100000000000000000@ ; glfw3.lib(input.obj) - __scrt_stub_for_acrt_uninitialize_critical ; MSVCRT.lib(ucrt_stubs.obj) - FlashWindow ; user32.lib(USER32.dll) - _glfwFramebufferTransparentNull ; glfw3.lib(null_window.obj) - _glfwWindowFocusedWin32 ; glfw3.lib(win32_window.obj) - strncpy ; ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - __imp_CreateWindowExW ; user32.lib(USER32.dll) - __imp_DestroyIcon ; user32.lib(USER32.dll) - ??_C@_0CA@LDAANPIM@Entry?5point?5retrieval?5is?5broken@ ; glfw3.lib(context.obj) - __scrt_unhandled_exception_filter ; MSVCRT.lib(utility_desktop.obj) - glfwGetPrimaryMonitor ; glfw3.lib(monitor.obj) - ??_C@_0MH@GNCKGMLL@03000000c82d0000801000000000000@ ; glfw3.lib(input.obj) - __castguard_check_failure_user_handled ; MSVCRT.lib(guard_support.obj) - ??_C@_0BBN@EJPLMIPB@03000000bd12000003c000001001000@ ; glfw3.lib(input.obj) - ??_C@_0BDE@CKLILCMC@030000005e040000ff0200000000000@ ; glfw3.lib(input.obj) - SetCursor ; user32.lib(USER32.dll) - _glfwPlatformLoadModule ; glfw3.lib(win32_module.obj) - ??_C@_0CL@JEJIBJNG@Win32?3?5Failed?5to?5convert?5string@ ; glfw3.lib(win32_init.obj) - __imp_ChangeDisplaySettingsExW ; user32.lib(USER32.dll) - ??_C@_0CI@NAJLKNKH@OSMesa?3?5Failed?5to?5retrieve?5colo@ ; glfw3.lib(osmesa_context.obj) - __imp_RtlCaptureContext ; kernel32.lib(KERNEL32.dll) - ??_C@_0BA@MDMBDDFG@bad?5comp?5method@ ; stb_image.obj - ??_C@_0BCE@MNGEPDHI@03000000786901006e7000000000000@ ; glfw3.lib(input.obj) - ??_C@_07DPPMCAKL@corrupt@ ; stb_image.obj - ??_C@_0BBM@OJGJOKHO@0300000034120000adbe00000000000@ ; glfw3.lib(input.obj) - ??_C@_0CE@KAEELGKL@WGL?3?5Failed?5to?5create?5dummy?5con@ ; glfw3.lib(wgl_context.obj) - __imp_CreateDIBSection ; gdi32.lib(GDI32.dll) - ??_C@_0BBK@GEMHLGCN@0300000049190000020400000000000@ ; glfw3.lib(input.obj) - ??_C@_0BN@FNDGKECA@GL_KHR_context_flush_control@ ; glfw3.lib(context.obj) - ??_C@_0CB@HAFFDHLH@The?5requested?5API?5is?5unavailabl@ ; glfw3.lib(init.obj) - ??_C@_0BBF@BFOGCKNH@030000000d0f00002d0000000000000@ ; glfw3.lib(input.obj) - ??_C@_0CD@JDEAKJCI@EGL?3?5Failed?5to?5load?5client?5libr@ ; glfw3.lib(egl_context.obj) - ??_C@_0BH@OBINMOBC@integer?5parse?5overflow@ ; stb_image.obj - __imp_GetRawInputData ; user32.lib(USER32.dll) - __imp_GlobalAlloc ; kernel32.lib(KERNEL32.dll) - _glfwSetWindowSizeLimitsNull ; glfw3.lib(null_window.obj) - _glfwSetWindowSizeWin32 ; glfw3.lib(win32_window.obj) - CreateDCW ; gdi32.lib(GDI32.dll) - __xmm@00000006000000020000000300000001 ; glfw3.lib(win32_joystick.obj) - ??_C@_0BAC@DNICHFEF@03000000341a0000010800000000000@ ; glfw3.lib(input.obj) - ??_C@_0CB@FLGENKMO@WGL?3?5Failed?5to?5load?5opengl32?4dl@ ; glfw3.lib(wgl_context.obj) - ??_C@_0BL@PBGFNEKP@Invalid?5platform?5ID?50x?$CF08X@ ; glfw3.lib(platform.obj) - SetDeviceGammaRamp ; gdi32.lib(GDI32.dll) - SetWindowTextW ; user32.lib(USER32.dll) - _glfwSetWindowMousePassthroughWin32 ; glfw3.lib(win32_window.obj) - ??_C@_0CF@GFMDJIA@WGL?3?5Failed?5to?5create?5OpenGL?5co@ ; glfw3.lib(wgl_context.obj) - _glfwSetWindowOpacityWin32 ; glfw3.lib(win32_window.obj) - glfwExtensionSupported ; glfw3.lib(context.obj) - ??_C@_0BCF@BMOGEGNJ@03000000c82d0000016000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCG@GLPHDIGN@03000000d620000010a700000000000@ ; glfw3.lib(input.obj) - InitializeSListHead ; kernel32.lib(KERNEL32.dll) - __imp__execute_onexit_table ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ??_C@_0CE@BEELAIPG@The?5GLFW?5library?5is?5not?5initial@ ; glfw3.lib(init.obj) - ??_C@_02JDPG@rb@ ; stb_image.obj - glfwGetRequiredInstanceExtensions ; glfw3.lib(vulkan.obj) - _glfwPlatformGetTimerValue ; glfw3.lib(win32_time.obj) - ??_C@_0M@JGMCBLGG@bad?5AC?5huff@ ; stb_image.obj - __scrt_stub_for_initialize_mta ; MSVCRT.lib(utility_desktop.obj) - glfwSetWindowUserPointer ; glfw3.lib(window.obj) - ??_C@_0BCG@JDIGBKMP@030000000d0f00006a0000000000000@ ; glfw3.lib(input.obj) - strspn ; ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - SetFocus ; user32.lib(USER32.dll) - ??_C@_0BDC@PMNHHHHJ@03000000c82d0000012100000000000@ ; glfw3.lib(input.obj) - _guard_icall_checks_enforced ; MSVCRT.lib(guard_support.obj) - ??_C@_0BBP@NCCKJBD@030000006d04000016c200000000000@ ; glfw3.lib(input.obj) - ??_C@_07EEJOMGGP@bad?5SOS@ ; stb_image.obj - TlsAlloc ; kernel32.lib(KERNEL32.dll) - fread ; ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ??_C@_09FLKFJBLM@ntdll?4dll@ ; glfw3.lib(win32_init.obj) - ??_C@_0BCH@LIIGHPB@03000000d62000006d5700000000000@ ; glfw3.lib(input.obj) - SetRect ; user32.lib(USER32.dll) - SetWindowLongW ; user32.lib(USER32.dll) - ??_C@_0BBD@DBNHIIMF@0300000025090000e80300000000000@ ; glfw3.lib(input.obj) - ??_C@_0BP@CDGGFNNF@EGL_KHR_get_all_proc_addresses@ ; glfw3.lib(egl_context.obj) - ??_C@_0BF@JHMFGJBN@Graphics?5mode?5failed@ ; glfw3.lib(win32_monitor.obj) - ??_C@_0LO@BOPGPFGO@03000000ff000000cb0100000000000@ ; glfw3.lib(input.obj) - ??_C@_0L@PJHPAMCH@bad?5header@ ; stb_image.obj - ??_C@_0BI@POJNLJDO@Invalid?5mouse?5button?5?$CFi@ ; glfw3.lib(input.obj) - ??_C@_0OH@PKEJNDDF@030000000d0f0000870000000000000@ ; glfw3.lib(input.obj) - ??_C@_01GBGANLPD@0@ ; glfw3.lib(null_window.obj) - ??_C@_0BF@FMIKFMMH@EGL_EXT_platform_x11@ ; glfw3.lib(egl_context.obj) - ??_C@_0OG@DMCABHAN@030000009b280000600000000000000@ ; glfw3.lib(input.obj) - __imp_LoadCursorW ; user32.lib(USER32.dll) - glfwSetJoystickUserPointer ; glfw3.lib(input.obj) - _glfwIsWindows10BuildOrGreaterWin32 ; glfw3.lib(win32_init.obj) - ??_C@_0KB@PHAGMDLE@03000000a30c0000250000000000000@ ; glfw3.lib(input.obj) - __castguard_check_failure_os_handled_fptr ; MSVCRT.lib(guard_support.obj) - ??_C@_0CC@HDNEDJNI@A?5validation?5layer?5found?5an?5err@ ; glfw3.lib(vulkan.obj) - ??_C@_0BCH@KDJCJEOK@03000000300f0000070100000000000@ ; glfw3.lib(input.obj) - DragAcceptFiles ; shell32.lib(SHELL32.dll) - ??_C@_0BCF@MBPBHECE@03000000c82d0000009000000000000@ ; glfw3.lib(input.obj) - ??_C@_0CI@MPJNGPNP@EGL?3?5Failed?5to?5make?5context?5cur@ ; glfw3.lib(egl_context.obj) - glfwGetJoystickButtons ; glfw3.lib(input.obj) - _glfwUpdateGamepadGUIDNull ; glfw3.lib(null_joystick.obj) - GetMessageTime ; user32.lib(USER32.dll) - __imp_terminate ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ??_C@_0BCO@GFHGFBHD@030000004f04000004b300000000000@ ; glfw3.lib(input.obj) - ??_C@_07IANEBNLB@not?5BMP@ ; stb_image.obj - __imp_malloc ; ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) - ??_C@_0BCO@NPMGKBDH@030000006f0e00002f0100000000000@ ; glfw3.lib(input.obj) - ??_C@_0BA@MDNKOBMC@bad?5codelengths@ ; stb_image.obj - glfwGetTime ; glfw3.lib(input.obj) - _glfwPlatformUnlockMutex ; glfw3.lib(win32_thread.obj) - ??_C@_07CAIJGPF@file?3?1?1@ ; glfw3.lib(init.obj) - glfwSetInputMode ; glfw3.lib(input.obj) - __imp_LoadLibraryA ; kernel32.lib(KERNEL32.dll) - _glfwWaitEventsNull ; glfw3.lib(null_window.obj) - _glfwPlatformGetTimerFrequency ; glfw3.lib(win32_time.obj) - _glfwInputKey ; glfw3.lib(input.obj) - _glfwGetCursorPosWin32 ; glfw3.lib(win32_window.obj) - glfwGetJoystickHats ; glfw3.lib(input.obj) - glfwSetWindowFocusCallback ; glfw3.lib(window.obj) - _glfwInputErrorWin32 ; glfw3.lib(win32_init.obj) - ??_C@_0BCE@DAIILIHH@0300000011010000311400000000000@ ; glfw3.lib(input.obj) - __imp_SetLayeredWindowAttributes ; user32.lib(USER32.dll) - _glfwSetClipboardStringWin32 ; glfw3.lib(win32_window.obj) - ??_C@_0P@FBBCPGMN@invalid?5filter@ ; stb_image.obj - _glfwCreateCursorWin32 ; glfw3.lib(win32_window.obj) - ??_C@_0O@GLACEBNI@xinput1_2?4dll@ ; glfw3.lib(win32_init.obj) - ??_C@_0P@DOGMHEBI@no?5preset?5dict@ ; stb_image.obj - strcpy_s ; ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - GetWindowRect ; user32.lib(USER32.dll) - WindowFromPoint ; user32.lib(USER32.dll) - _crt_atexit ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - GetDeviceGammaRamp ; gdi32.lib(GDI32.dll) - ??_C@_07ECNCNLIK@not?5PSD@ ; stb_image.obj - __imp_ToUnicode ; user32.lib(USER32.dll) - ??_C@_0O@NALGGDJF@Out?5of?5memory@ ; glfw3.lib(init.obj) - ??_C@_0CC@NOHNODHG@Invalid?5window?5maximum?5size?5?$CFix@ ; glfw3.lib(window.obj) - ??_C@_0CK@JKJFDJLH@WGL?3?5Failed?5to?5make?5dummy?5conte@ ; glfw3.lib(wgl_context.obj) - ??_C@_0OG@IHHMBDDK@030000009b280000320000000000000@ ; glfw3.lib(input.obj) - __real@3fdd1745c0000000 ; dllmain.obj - ??_C@_0BH@NCJDMLMG@WGL_ARB_create_context@ ; glfw3.lib(wgl_context.obj) - glfwWindowHint ; glfw3.lib(window.obj) - RemovePropW ; user32.lib(USER32.dll) - ??_C@_0BBJ@GCDIHNCJ@03000000b8050000041000000000000@ ; glfw3.lib(input.obj) - __imp___current_exception_context ; vcruntime.lib(VCRUNTIME140.dll) - __imp_FreeLibrary ; kernel32.lib(KERNEL32.dll) - ??_C@_0BBI@BNPIODHF@03000000101c0000171c00000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCA@OLMCGDIA@03000000c82d0000202800000000000@ ; glfw3.lib(input.obj) - _glfwSetWindowIconNull ; glfw3.lib(null_window.obj) - ??_C@_0BCF@HEDDGGCD@030000004f04000015b300000000000@ ; glfw3.lib(input.obj) - __imp_fgetc ; ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - glfwGetPhysicalDevicePresentationSupport ; glfw3.lib(vulkan.obj) - ??_C@_0BCG@MGGCIPBD@03000000bd12000002e000000000000@ ; glfw3.lib(input.obj) - ??_C@_0N@OJEJPFOD@504944564944@ ; glfw3.lib(win32_joystick.obj) - ??_C@_0EK@HBJBDMAL@Cannot?5make?5current?5with?5a?5wind@ ; glfw3.lib(context.obj) - ??_C@_0EE@ICKHNPHB@An?5EGLDisplay?5argument?5does?5not@ ; glfw3.lib(egl_context.obj) - ??_C@_0BBM@PJHGKLCN@03000000300f00000b0100000000000@ ; glfw3.lib(input.obj) - ??_C@_0DA@IIGLKABA@Win32?3?5Failed?5to?5convert?5joysti@ ; glfw3.lib(win32_joystick.obj) - ??_C@_0L@CEBLLDFF@GLESv2?4dll@ ; glfw3.lib(egl_context.obj) - ??_C@_0CH@KLCPDMM@EGL?5is?5not?5or?5could?5not?5be?5init@ ; glfw3.lib(egl_context.obj) - ??_C@_0KI@EKGGNLIH@030000004f04000087b600000000000@ ; glfw3.lib(input.obj) - ??_C@_0M@GNEHAHOH@bad?5SOS?5len@ ; stb_image.obj - __imp_ldexp ; ucrt.lib(api-ms-win-crt-math-l1-1-0.dll) - _glfwChooseFBConfig ; glfw3.lib(context.obj) - ??_C@_0BCD@MDFEPGHO@030000006b140000010c00000000000@ ; glfw3.lib(input.obj) - __imp_SetRect ; user32.lib(USER32.dll) - glfwSetCursor ; glfw3.lib(input.obj) - ??_C@_0CO@HAIMLOLL@EGL?3?5Failed?5to?5find?5support?5for@ ; glfw3.lib(egl_context.obj) - GetLayeredWindowAttributes ; user32.lib(USER32.dll) - _glfwPostEmptyEventWin32 ; glfw3.lib(win32_window.obj) - IsProcessorFeaturePresent ; kernel32.lib(KERNEL32.dll) - ??_C@_0OJ@OOLHGLBN@03000000d8140000086200000000000@ ; glfw3.lib(input.obj) - glfwGetMonitorWorkarea ; glfw3.lib(monitor.obj) - ??_C@_0BBL@MNJAPGHD@03000000bc200000631200000000000@ ; glfw3.lib(input.obj) - ??_C@_0BBJ@MLHIDNOG@03000000b8050000061000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BBP@BICCDPK@030000000d0f00004d0000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BBP@CEOMIJKI@030000006d040000d1ca00000000000@ ; glfw3.lib(input.obj) - __imp_MapVirtualKeyW ; user32.lib(USER32.dll) - __imp_SetCursor ; user32.lib(USER32.dll) - __imp_strtol ; ucrt.lib(api-ms-win-crt-convert-l1-1-0.dll) - ??_C@_0ME@PAHEPGN@030000007e050000072000000100000@ ; glfw3.lib(input.obj) - _glfwSetRawMouseMotionWin32 ; glfw3.lib(win32_window.obj) - _glfwSetWindowFloatingNull ; glfw3.lib(null_window.obj) - ??_C@_01NOFIACDB@w@ ; glfw3.lib(null_window.obj) - QueryPerformanceFrequency ; kernel32.lib(KERNEL32.dll) - __castguard_check_failure_debugbreak ; MSVCRT.lib(guard_support.obj) - __imp___stdio_common_vsscanf ; ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ??_C@_0BF@HABDPBMA@wglGetCurrentContext@ ; glfw3.lib(wgl_context.obj) - ?initialize_environment@__scrt_narrow_environment_policy@@SAHXZ ; MSVCRT.lib(utility.obj) - glfwWaitEvents ; glfw3.lib(window.obj) - ??_C@_0LJ@DONCMJNG@03000000c82d0000035100000000000@ ; glfw3.lib(input.obj) - free ; ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) - __imp_SetWindowTextW ; user32.lib(USER32.dll) - ??_C@_0BBJ@KBEDPJIE@030000008f0e0000030000000000000@ ; glfw3.lib(input.obj) - _glfwInitJoysticksNull ; glfw3.lib(null_joystick.obj) - __xmm@fa7efa7efa7efa7efa7efa7efa7efa7e ; dllmain.obj - LoadImageW ; user32.lib(USER32.dll) - DestroyWindow ; user32.lib(USER32.dll) - __imp_IsDebuggerPresent ; kernel32.lib(KERNEL32.dll) - __imp_GetSystemTimeAsFileTime ; kernel32.lib(KERNEL32.dll) - MsgWaitForMultipleObjects ; user32.lib(USER32.dll) - ??_C@_0CA@LFIDGAHJ@Invalid?5OpenGL?5ES?5version?5?$CFi?4?$CFi@ ; glfw3.lib(context.obj) - _glfwSetWindowMousePassthroughNull ; glfw3.lib(null_window.obj) - ??_C@_0PF@BCABPIDK@030000006e050000072000000000000@ ; glfw3.lib(input.obj) - __imp_GetSystemMetrics ; user32.lib(USER32.dll) - ??_C@_0BDA@HBJEDFJC@0300000038070000508200000000000@ ; glfw3.lib(input.obj) - ??_C@_08GGMBIFE@bad?5file@ ; stb_image.obj - ??_C@_0CJ@KOFEFGNB@The?5requested?5API?5version?5is?5un@ ; glfw3.lib(init.obj) - ??_C@_0BBP@NILOBHMB@0300000032150000070700000000000@ ; glfw3.lib(input.obj) - ??_C@_0BF@CJMIIMBG@GL_ARB_compatibility@ ; glfw3.lib(context.obj) - ??_C@_0O@KOJFNJDA@GLESv1_CM?4dll@ ; glfw3.lib(egl_context.obj) - _glfwPollJoystickNull ; glfw3.lib(null_joystick.obj) - ??_C@_0EF@NMJGLODJ@Cannot?5query?5extension?5without?5@ ; glfw3.lib(context.obj) - GetCurrentProcess ; kernel32.lib(KERNEL32.dll) - ??_C@_0MA@LPHGGGL@0300000025090000012800000000000@ ; glfw3.lib(input.obj) - __imp_GetKeyState ; user32.lib(USER32.dll) - ??_C@_0BBG@BDLNPAJM@03000000242f0000730000000000000@ ; glfw3.lib(input.obj) - _glfwPollEventsNull ; glfw3.lib(null_window.obj) - _glfwInputCursorEnter ; glfw3.lib(input.obj) - __scrt_uninitialize_crt ; MSVCRT.lib(utility.obj) - ??_C@_01FDFGLJHB@2@ ; glfw3.lib(null_window.obj) - ??_C@_07KFDJIKCK@?$CD?$DPRGBE?6@ ; stb_image.obj - __imp_realloc ; ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) - glfwSetDropCallback ; glfw3.lib(input.obj) - __xmm@00000000000000010003600100030001 ; glfw3.lib(window.obj) - _glfwSetRawMouseMotionNull ; glfw3.lib(null_window.obj) - __scrt_is_ucrt_dll_in_use ; MSVCRT.lib(ucrt_detection.obj) - ??_C@_01JEJKBAGA@g@ ; glfw3.lib(null_window.obj) - GetWindowPlacement ; user32.lib(USER32.dll) - _glfwWindowHoveredNull ; glfw3.lib(null_window.obj) - ??_C@_0EE@FBMMOIJB@A?5NativeWindowType?5argument?5doe@ ; glfw3.lib(egl_context.obj) - ??_C@_0PP@COADMKLJ@030000006d0400000ac200000000000@ ; glfw3.lib(input.obj) - _glfwFreeJoystick ; glfw3.lib(input.obj) - ??_C@_07IEJCHBDI@bad?5BMP@ ; stb_image.obj - ??_C@_06EOBKMJJD@righty@ ; glfw3.lib(input.obj) - glfwSetClipboardString ; glfw3.lib(input.obj) - __xmm@11c8e09e11c8e09e11c8e09e11c8e09e ; dllmain.obj - LeaveCriticalSection ; kernel32.lib(KERNEL32.dll) - __imp_GetClipboardData ; user32.lib(USER32.dll) - __scrt_is_nonwritable_in_current_image ; MSVCRT.lib(utility.obj) - ??_C@_0BCG@NFDJDGAI@0300000079000000d21800000000000@ ; glfw3.lib(input.obj) - ??_C@_0BBB@HMBGBDKD@03000000fa190000070600000000000@ ; glfw3.lib(input.obj) - ??_C@_0P@PNPBPNLI@eglMakeCurrent@ ; glfw3.lib(egl_context.obj) - ??_C@_0BCF@IAGAPBPO@030000000d0f0000090000000000000@ ; glfw3.lib(input.obj) - _glfwRefreshContextAttribs ; glfw3.lib(context.obj) - ??_C@_0BBK@KLAOAEFP@0300000063250000230600000000000@ ; glfw3.lib(input.obj) - _glfwPlatformFreeModule ; glfw3.lib(win32_module.obj) - ??_C@_0BH@JFGBLLKC@FORMAT?$DN32?9bit_rle_rgbe@ ; stb_image.obj - ??_C@_0CJ@HAGOIHNO@WGL?3?5Failed?5to?5set?5selected?5pix@ ; glfw3.lib(wgl_context.obj) - __imp_UnregisterClassW ; user32.lib(USER32.dll) - ?_OptionsStorage@?1??__local_stdio_scanf_options@@9@9 - fclose ; ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ??_C@_0M@ONOEDIJO@dinput8?4dll@ ; glfw3.lib(win32_init.obj) - atexit ; MSVCRT.lib(utility.obj) - ??_C@_04KBFEPHFH@S?$IA?v4@ ; stb_image.obj - ??_C@_0BDD@MHIPFANA@0300000049190000190400000000000@ ; glfw3.lib(input.obj) - ??_C@_0BBO@ILBJPILH@030000006f0e0000141300000000000@ ; glfw3.lib(input.obj) - ??_C@_0BBK@LLHMDGJD@03000000120c0000f61c00000000000@ ; glfw3.lib(input.obj) - SetLayeredWindowAttributes ; user32.lib(USER32.dll) - __imp_TlsSetValue ; kernel32.lib(KERNEL32.dll) - WaitMessage ; user32.lib(USER32.dll) - ??_C@_0CI@JDDJIGNN@Invalid?5context?5release?5behavio@ ; glfw3.lib(context.obj) - GetRawInputData ; user32.lib(USER32.dll) - __real@ffefffffffffffff ; glfw3.lib(input.obj) - ??_C@_0BL@MIAEELOL@OSMesaCreateContextAttribs@ ; glfw3.lib(osmesa_context.obj) - _glfwTerminateJoysticksWin32 ; glfw3.lib(win32_joystick.obj) - ??_C@_0BCG@PCDGGODL@03000000c62400001a8900000000000@ ; glfw3.lib(input.obj) - ??_C@_0BD@IJCCAMHG@DirectInput8Create@ ; glfw3.lib(win32_init.obj) - ??_C@_0BBO@PNIOEBFD@0300000079000000020000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BH@JADLEPAM@EGL_EXT_present_opaque@ ; glfw3.lib(egl_context.obj) - EnumDisplaySettingsExW ; user32.lib(USER32.dll) - ??_C@_01KICIPPFI@?2@ ; glfw3.lib(null_window.obj) - __GSHandlerCheck ; MSVCRT.lib(gshandler.obj) - ??_C@_0OO@CIFMNJJH@030000004f0400000ab100000000000@ ; glfw3.lib(input.obj) - __imp_VerSetConditionMask ; kernel32.lib(KERNEL32.dll) - __imp___stdio_common_vsprintf ; ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ??_C@_0BM@IGBABBBF@Failed?5to?5write?5to?5registry@ ; glfw3.lib(win32_monitor.obj) - ??_C@_0BA@PCPJHDKJ@tRNS?5after?5IDAT@ ; stb_image.obj - ??_C@_0BBM@NFNOIOJB@0300000063250000260500000000000@ ; glfw3.lib(input.obj) - ??_C@_08NOGIMCHF@outofmem@ ; stb_image.obj - __imp_RegisterDeviceNotificationW ; user32.lib(USER32.dll) - ??_C@_07EAKGIKCB@EGL?4dll@ ; glfw3.lib(egl_context.obj) - __imp_SetFocus ; user32.lib(USER32.dll) - ??_C@_0BC@FFKMKEGM@wglGetProcAddress@ ; glfw3.lib(wgl_context.obj) - ??_C@_0ED@FEABOOIM@Context?5profiles?5are?5only?5defin@ ; glfw3.lib(context.obj) - CreateWindowExW ; user32.lib(USER32.dll) - glfwSetMonitorCallback ; glfw3.lib(monitor.obj) - __imp_strncmp ; ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - _glfwGetVideoModesNull ; glfw3.lib(null_monitor.obj) - ??_C@_0BCE@MPKCEKIF@030000006b14000001a100000000000@ ; glfw3.lib(input.obj) - __imp___std_type_info_destroy_list ; vcruntime.lib(VCRUNTIME140.dll) - ??_C@_0GG@ODICGIHF@The?5current?5surface?5of?5the?5call@ ; glfw3.lib(egl_context.obj) - __imp_ftell ; ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - glfwGetMonitorPos ; glfw3.lib(monitor.obj) - ferror ; ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - _glfwPollEventsWin32 ; glfw3.lib(win32_window.obj) - ??_C@_0BBP@HFNLKKMF@030000000d0f0000540000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCB@GILNGNCB@0300000025090000668800000000000@ ; glfw3.lib(input.obj) - _glfwInputScroll ; glfw3.lib(input.obj) - ??_C@_0EH@CMDCLIEA@Forward?9compatibility?5is?5only?5d@ ; glfw3.lib(context.obj) - strtok ; ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - ??_C@_0M@EENLKPDI@bad?5APP?5len@ ; stb_image.obj - __imp_EmptyClipboard ; user32.lib(USER32.dll) - ??_C@_01MHEDDDHA@v@ ; glfw3.lib(null_window.obj) - __imp_BringWindowToTop ; user32.lib(USER32.dll) - ??_C@_0CH@GBHCOIGC@A?5fence?5or?5query?5has?5not?5yet?5co@ ; glfw3.lib(vulkan.obj) - ??_C@_0BCG@GAMGMHOH@03000000c82d0000026100000000000@ ; glfw3.lib(input.obj) - ??_C@_0BH@MDMCFBDG@eglCreateWindowSurface@ ; glfw3.lib(egl_context.obj) - _glfwGetKeyScancodeWin32 ; glfw3.lib(win32_window.obj) - __imp_strtoul ; ucrt.lib(api-ms-win-crt-convert-l1-1-0.dll) - ??_C@_0DF@EFFMOKHE@Requested?5OpenGL?5ES?5version?5?$CFi?4@ ; glfw3.lib(context.obj) - __xmm@013501340133013201310130012f012e ; glfw3.lib(win32_init.obj) - ??_C@_05NDJBMDKM@lefty@ ; glfw3.lib(input.obj) - _glfwFramebufferTransparentWin32 ; glfw3.lib(win32_window.obj) - ReadPointerNoFence ; MSVCRT.lib(guard_support.obj) - ??_C@_0BCO@JIFBCBLK@0300000055090000147200000000000@ ; glfw3.lib(input.obj) - ??_C@_0BF@INJHJNOL@OSMesaGetProcAddress@ ; glfw3.lib(osmesa_context.obj) - _glfwPlatformSetTls ; glfw3.lib(win32_thread.obj) - ??_C@_0BCK@OFGGBLGN@03000000d62000001d5700000000000@ ; glfw3.lib(input.obj) - ??_C@_0BBN@MLCKKOPD@030000002a060000102400000000000@ ; glfw3.lib(input.obj) - glfwCreateCursor ; glfw3.lib(input.obj) - ??_C@_0M@EPMOIECP@bad?5DNL?5len@ ; stb_image.obj - ??_C@_0CH@CKFBCGDL@OSMesa?3?5Failed?5to?5make?5context?5@ ; glfw3.lib(osmesa_context.obj) - ??_C@_0CP@FOBJNCLA@vkGetPhysicalDeviceWin32Present@ ; glfw3.lib(win32_window.obj) - ??_C@_0BCA@KPDCPHP@78696e7075740500000000000000000@ ; glfw3.lib(input.obj) - ??_C@_01GEODFPGF@?8@ ; glfw3.lib(null_window.obj) - _glfwSetCursorPosNull ; glfw3.lib(null_window.obj) - ??_C@_0BDC@BPGFOMKB@03000000782300000a1000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCA@LOJNHICN@03000000a30600000b0400000000000@ ; glfw3.lib(input.obj) - ??_C@_01MCMALHOG@a@ ; glfw3.lib(input.obj) - ??_C@_0EO@EKFIJHGG@An?5unrecognized?5attribute?5or?5at@ ; glfw3.lib(egl_context.obj) - __imp_PostMessageW ; user32.lib(USER32.dll) - ??_C@_0CK@NHHHNGID@The?5specified?5cursor?5shape?5is?5u@ ; glfw3.lib(init.obj) - ??_C@_0BB@PIPBCKIA@read?5past?5buffer@ ; stb_image.obj - CreateIconIndirect ; user32.lib(USER32.dll) - glfwInitHint ; glfw3.lib(init.obj) - GetDeviceCaps ; gdi32.lib(GDI32.dll) - ??_C@_01KMDKNFGN@?1@ ; glfw3.lib(null_window.obj) - SwapBuffers ; gdi32.lib(GDI32.dll) - __imp__seh_filter_dll ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - RtlVirtualUnwind ; kernel32.lib(KERNEL32.dll) - __stdio_common_vsprintf ; ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - __imp_GetWindowRect ; user32.lib(USER32.dll) - ??_C@_0BAP@FBAIDBI@0300000015200000018200000000000@ ; glfw3.lib(input.obj) - glfwSetGamma ; glfw3.lib(monitor.obj) - _glfwSetWindowResizableNull ; glfw3.lib(null_window.obj) - ??_C@_0BCE@JJDBCGKI@03000000c82d0000003100000000000@ ; glfw3.lib(input.obj) - ??_C@_06LJIHDFHI@bad?5TQ@ ; stb_image.obj - ??_C@_0DD@OOKDLCED@A?5requested?5format?5is?5not?5suppo@ ; glfw3.lib(vulkan.obj) - VerSetConditionMask ; kernel32.lib(KERNEL32.dll) - ??_C@_0CI@LDEHPBDB@Win32?3?5Failed?5to?5create?5standar@ ; glfw3.lib(win32_window.obj) - _glfwGetRequiredInstanceExtensionsWin32 ; glfw3.lib(win32_window.obj) - ??_C@_0FE@ILJLDKCD@A?5swapchain?5no?5longer?5matches?5t@ ; glfw3.lib(vulkan.obj) - ??_C@_0L@GICFCFGJ@OSMesa?4dll@ ; glfw3.lib(osmesa_context.obj) - ??_C@_0BO@NDHCIMGN@WGL?3?5Platform?5not?5initialized@ ; glfw3.lib(wgl_context.obj) - __imp_SetClipboardData ; user32.lib(USER32.dll) - ??_C@_01FJMABOPO@x@ ; glfw3.lib(input.obj) - DragQueryPoint ; shell32.lib(SHELL32.dll) - __xmm@80808080808080808080808080808080 ; dllmain.obj - _glfw_min ; glfw3.lib(init.obj) - ??_C@_0BA@PLHGLONG@IDAT?5size?5limit@ ; stb_image.obj - _glfwUpdateKeyNamesWin32 ; glfw3.lib(win32_init.obj) - ??_C@_0CD@FOMFMBIL@WGL_EXT_create_context_es2_prof@ ; glfw3.lib(wgl_context.obj) - ??_C@_0O@MKGNGALN@invalid?5width@ ; stb_image.obj - glfwRestoreWindow ; glfw3.lib(window.obj) - ??_C@_0BCN@BNINGACN@030000006f0e0000140200000000000@ ; glfw3.lib(input.obj) - ??_C@_0BO@JCPCDDEA@Invalid?5cursor?5position?5?$CFf?5?$CFf@ ; glfw3.lib(input.obj) - ??_C@_01IIACKFLH@q@ ; glfw3.lib(null_window.obj) - _glfwSetWindowIconWin32 ; glfw3.lib(win32_window.obj) - glfwGetInstanceProcAddress ; glfw3.lib(vulkan.obj) - ??_C@_0MA@ECCMLEBD@03000000bd12000015d000000000000@ ; glfw3.lib(input.obj) - _glfwSetVideoModeWin32 ; glfw3.lib(win32_monitor.obj) - ??_C@_0BDB@JPJOJNNC@0300000032150000001100000000000@ ; glfw3.lib(input.obj) - __scrt_stub_for_acrt_uninitialize ; MSVCRT.lib(ucrt_stubs.obj) - ??_C@_0BCJ@BOGEPGKL@0300000032150000020400000000000@ ; glfw3.lib(input.obj) - __imp_GetDeviceGammaRamp ; gdi32.lib(GDI32.dll) - __imp_WaitMessage ; user32.lib(USER32.dll) - ??_C@_0NA@FFFKKMHD@030000001008000001e100000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCG@OOIEPIIL@030000000d0f00006b0000000000000@ ; glfw3.lib(input.obj) - ??_C@_0CD@CBFNHKPK@78696e707574?$CF02x000000000000000@ ; glfw3.lib(win32_joystick.obj) - ??_C@_0CE@KNFDBMCE@Invalid?5image?5dimensions?5for?5cu@ ; glfw3.lib(input.obj) - _glfwSetWindowPosWin32 ; glfw3.lib(win32_window.obj) - ??_C@_0NN@GDFALEBB@03000000bd12000013d000000000000@ ; glfw3.lib(input.obj) - glfwSetGammaRamp ; glfw3.lib(monitor.obj) - ??_C@_0BN@DHKEBMCG@Invalid?5OpenGL?5version?5?$CFi?4?$CFi@ ; glfw3.lib(context.obj) - ClipCursor ; user32.lib(USER32.dll) - ??_C@_0BCG@MGNGMDPB@03000000c62400002b8900000000000@ ; glfw3.lib(input.obj) - ??_C@_0DA@LMPKCOPB@WGL?3?5Failed?5to?5retrieve?5pixel?5f@ ; glfw3.lib(wgl_context.obj) - ??_C@_0BA@GHGALGFD@xinput9_1_0?4dll@ ; glfw3.lib(win32_init.obj) - ??_C@_0M@DMDNBACF@bad?5png?5sig@ ; stb_image.obj - _glfwCreateUTF8FromWideStringWin32 ; glfw3.lib(win32_init.obj) - GetCurrentProcessId ; kernel32.lib(KERNEL32.dll) - _glfwCreateStandardCursorNull ; glfw3.lib(null_window.obj) - __xmm@01010000010100000101000001010000 ; dllmain.obj - ??_C@_01CBDEGOCN@j@ ; glfw3.lib(null_window.obj) - glfwGetCursorPos ; glfw3.lib(input.obj) - ??_C@_0BCP@HPMIMEAF@03000000a306000023f600000000000@ ; glfw3.lib(input.obj) - ??_C@_0BBL@NMDIMCBK@03000000c0110000065500000000000@ ; glfw3.lib(input.obj) - _initterm_e ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ??_C@_0BAE@PFJOMAIP@03000000791d0000010300000000000@ ; glfw3.lib(input.obj) - ??_C@_0CE@MPCJCEEO@Invalid?5image?5count?5for?5window?5@ ; glfw3.lib(window.obj) - ??_C@_0BCD@KBOGKJIK@03000000d81d00000f0000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BK@PDCFBJPK@Invalid?5input?5mode?50x?$CF08X@ ; glfw3.lib(input.obj) - FreeLibrary ; kernel32.lib(KERNEL32.dll) - at_quick_exit ; MSVCRT.lib(utility.obj) - _glfwUpdateGamepadGUIDWin32 ; glfw3.lib(win32_joystick.obj) - ??_C@_01EKENIIDA@3@ ; glfw3.lib(null_window.obj) - ??_C@_0BA@LGGPEDOH@GetDpiForWindow@ ; glfw3.lib(win32_init.obj) - ??_C@_0BC@BNOBCLNJ@eglDestroyContext@ ; glfw3.lib(egl_context.obj) - ??_C@_0BG@PJBJDAGM@can?8t?5merge?5dc?5and?5ac@ ; stb_image.obj - ??_C@_05MKIKPCON@leftx@ ; glfw3.lib(input.obj) - ??_C@_0CE@JBLPENML@Invalid?5context?5creation?5API?50x@ ; glfw3.lib(context.obj) - ??_C@_0EH@BEBOCAGI@Cannot?5set?5swap?5interval?5withou@ ; glfw3.lib(context.obj) - ??_C@_0BL@OIILILNJ@Arguments?5are?5inconsistent@ ; glfw3.lib(egl_context.obj) - _glfwGetHMONITORContentScaleWin32 ; glfw3.lib(win32_monitor.obj) - memcpy ; vcruntime.lib(VCRUNTIME140.dll) - ??_C@_0CJ@NMCAPCBP@03000000?$CF02x?$CF02x0000?$CF02x?$CF02x000@ ; glfw3.lib(win32_joystick.obj) - ??_C@_0N@CLKIAFGP@righttrigger@ ; glfw3.lib(input.obj) - ??_C@_0BE@DAPHADHL@bad?5component?5count@ ; stb_image.obj - __xmm@f493f493f493f493f493f493f493f493 ; dllmain.obj - ??_C@_0LE@DMNOHJBL@03000000300f0000121000000000000@ ; glfw3.lib(input.obj) - __imp_SetWindowPos ; user32.lib(USER32.dll) - ??_C@_0BAF@EBPNLKIJ@0300000032150000000300000000000@ ; glfw3.lib(input.obj) - __imp_QueryPerformanceFrequency ; kernel32.lib(KERNEL32.dll) - ??_C@_0BP@JAOBDJGN@WGL_ARB_create_context_profile@ ; glfw3.lib(wgl_context.obj) - __imp_ClipCursor ; user32.lib(USER32.dll) - _crt_at_quick_exit ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - __xmm@0000201e0000201d0000202300002022 ; glfw3.lib(wgl_context.obj) - TlsSetValue ; kernel32.lib(KERNEL32.dll) - ??_C@_0O@GCGJMHDL@wglShareLists@ ; glfw3.lib(wgl_context.obj) - _glfwGetCursorPosNull ; glfw3.lib(null_window.obj) - ??_C@_0BH@IPANDFMH@OSMesaCreateContextExt@ ; glfw3.lib(osmesa_context.obj) - glfwGetError ; glfw3.lib(init.obj) - __imp_TranslateMessage ; user32.lib(USER32.dll) - ??_C@_01LAKCGALK@9@ ; glfw3.lib(null_window.obj) - ??_C@_0BBM@FNOHJIMD@030000000d0f0000c10000000000000@ ; glfw3.lib(input.obj) - __stdio_common_vsscanf ; ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - __imp_InitializeSListHead ; kernel32.lib(KERNEL32.dll) - ??_C@_0BE@FABDLJKH@XInput?5Arcade?5Stick@ ; glfw3.lib(win32_joystick.obj) - ??_C@_0DF@KADNFCFI@Vulkan?3?5Failed?5to?5query?5instanc@ ; glfw3.lib(vulkan.obj) - __castguard_check_failure_user_handled_fptr ; MSVCRT.lib(guard_support.obj) - _glfwGetWindowPosNull ; glfw3.lib(null_window.obj) - _glfwCreateWindowSurfaceWin32 ; glfw3.lib(win32_window.obj) - _glfw_strdup ; glfw3.lib(init.obj) - ??_C@_0BCE@PHFLGEEP@03000000d81d0000100000000000000@ ; glfw3.lib(input.obj) - glfwSetWindowContentScaleCallback ; glfw3.lib(window.obj) - __imp_DescribePixelFormat ; gdi32.lib(GDI32.dll) - ??_C@_0BBN@DDIMFOMP@0300000020380000090000000000000@ ; glfw3.lib(input.obj) - _glfwPlatformInitTimer ; glfw3.lib(win32_time.obj) - ??_C@_1BK@OPNBOCAD@?$AAG?$AAL?$AAF?$AAW?$AA3?$AA?5?$AAH?$AAe?$AAl?$AAp?$AAe?$AAr@ ; glfw3.lib(win32_init.obj) - ??_C@_0BC@BHMPBBMG@not?5enough?5pixels@ ; stb_image.obj - ??_C@_0BDM@IEGKPAEF@03000000222c0000022300000000000@ ; glfw3.lib(input.obj) - ??_C@_0BBD@FGLPEKLC@0300000038070000803400000000000@ ; glfw3.lib(input.obj) - ??_C@_0FM@BBONGFMN@The?5requested?5version?5of?5Vulkan@ ; glfw3.lib(vulkan.obj) - _glfwSetGammaRampNull ; glfw3.lib(null_monitor.obj) - glfwGetMonitorUserPointer ; glfw3.lib(monitor.obj) - __xmm@00000200000002000000020000000200 ; dllmain.obj - __castguard_slow_path_check_fastfail ; MSVCRT.lib(guard_support.obj) - ??_C@_0JL@IDKPNGMK@03000000c82d0000189000000000000@ ; glfw3.lib(input.obj) - _seh_filter_dll ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ??_C@_0PH@HDPKEOEB@0300000026090000888800000000000@ ; glfw3.lib(input.obj) - ??_C@_0BK@MLLMMLGE@OSMesa?3?5Library?5not?5found@ ; glfw3.lib(osmesa_context.obj) - glfwSetWindowShouldClose ; glfw3.lib(window.obj) - ??_C@_0DL@GNLICFMC@The?5application?5must?5destroy?5al@ ; glfw3.lib(egl_context.obj) - _glfwDetectJoystickDisconnectionWin32 ; glfw3.lib(win32_joystick.obj) - _glfwSetGammaRampWin32 ; glfw3.lib(win32_monitor.obj) - _glfwSetWindowAspectRatioWin32 ; glfw3.lib(win32_window.obj) - SetPixelFormat ; gdi32.lib(GDI32.dll) - __imp_ClientToScreen ; user32.lib(USER32.dll) - ??_C@_0BP@OHFKOFFD@Win32?3?5Failed?5to?5create?5cursor@ ; glfw3.lib(win32_window.obj) - ??_C@_0BN@GDKHKIAN@wglGetPixelFormatAttribivARB@ ; glfw3.lib(wgl_context.obj) - _glfwConnectWin32 ; glfw3.lib(win32_init.obj) - ??_C@_0BF@BPPLLLDH@OSMesaGetDepthBuffer@ ; glfw3.lib(osmesa_context.obj) - ??_C@_05MPLLHCJG@bad?5V@ ; stb_image.obj - glfwGetJoystickUserPointer ; glfw3.lib(input.obj) - _glfwShowWindowNull ; glfw3.lib(null_window.obj) - _glfwWindowHoveredWin32 ; glfw3.lib(win32_window.obj) - _glfwAllocMonitor ; glfw3.lib(monitor.obj) - ??_C@_0O@HFAAEHFL@libGLESv2?4dll@ ; glfw3.lib(egl_context.obj) - ??_C@_0CM@GKIHKJDL@A?5return?5array?5was?5too?5small?5fo@ ; glfw3.lib(vulkan.obj) - ??_C@_0BP@KPGBLOB@Win32?3?5Unknown?5standard?5cursor@ ; glfw3.lib(win32_window.obj) - _glfwSplitBPP ; glfw3.lib(monitor.obj) - ??_C@_0O@NIPGCINC@Unknown?5error@ ; glfw3.lib(win32_monitor.obj) - fseek ; ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - _glfwInputDrop ; glfw3.lib(input.obj) - GetActiveWindow ; user32.lib(USER32.dll) - OffsetRect ; user32.lib(USER32.dll) - glfwGetCurrentContext ; glfw3.lib(context.obj) - ??_C@_0BBN@OLDKGLCG@03000000300f0000110100000000000@ ; glfw3.lib(input.obj) - ??_C@_0OH@FOPKIOOK@030000000d0f0000880000000000000@ ; glfw3.lib(input.obj) - glfwGetVideoModes ; glfw3.lib(monitor.obj) - _glfwInputError ; glfw3.lib(init.obj) - _glfwAllocGammaArrays ; glfw3.lib(monitor.obj) - ??_C@_0BCD@DJDMNCGP@0300000088880000080300000000000@ ; glfw3.lib(input.obj) - ??_C@_0M@LPHNODCG@bad?5DRI?5len@ ; stb_image.obj - __real@43e0000000000000 ; glfw3.lib(input.obj) - ??_C@_0BCH@DHEFONIG@0300000038070000665200000000000@ ; glfw3.lib(input.obj) - _glfwRestoreWindowWin32 ; glfw3.lib(win32_window.obj) - ??_C@_0BH@PHEJANJA@Invalid?5joystick?5ID?5?$CFi@ ; glfw3.lib(input.obj) - __scrt_stub_for_is_c_termination_complete ; MSVCRT.lib(ucrt_stubs.obj) - _get_startup_argv_mode ; MSVCRT.lib(argv_mode.obj) - ??_C@_0BH@FDAKHMHL@VK_KHR_wayland_surface@ ; glfw3.lib(vulkan.obj) - ??_C@_0CE@MEIEKJIC@Win32?3?5Failed?5to?5allocate?5TLS?5i@ ; glfw3.lib(win32_thread.obj) - ??_C@_0CG@JJEBGGIE@Win32?3?5Failed?5to?5set?5device?5axi@ ; glfw3.lib(win32_joystick.obj) - _glfwPlatformDestroyMutex ; glfw3.lib(win32_thread.obj) - __imp_RtlVirtualUnwind ; kernel32.lib(KERNEL32.dll) - __xmm@00ff00ff00ff00ff00ff00ff00ff00ff ; dllmain.obj - PtInRect ; user32.lib(USER32.dll) - _glfwInputWindowSize ; glfw3.lib(window.obj) - __scrt_initialize_winrt ; MSVCRT.lib(utility_desktop.obj) - AdjustWindowRectEx ; user32.lib(USER32.dll) - ??_C@_0BDE@MNGLEAIF@0300000038070000848300000000000@ ; glfw3.lib(input.obj) - __imp_GetRawInputDeviceInfoA ; user32.lib(USER32.dll) - ??_C@_0BBJ@OPMOLAIB@030000009d0d0000133000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BBI@EPDBKPKA@0300000080830000030000000000000@ ; glfw3.lib(input.obj) - __xmm@166f166f166f166f166f166f166f166f ; dllmain.obj - _glfwSetCursorNull ; glfw3.lib(null_window.obj) - ??_C@_07LDLFNPGN@Windows@ ; glfw3.lib(win32_joystick.obj) - __imp_free ; ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) - ??_C@_05BLPKENEJ@bad?5H@ ; stb_image.obj - GetDC ; user32.lib(USER32.dll) - ??_C@_0P@DEBOOHKH@eglSwapBuffers@ ; glfw3.lib(egl_context.obj) - ??_C@_0CE@FEGPCKPN@WGL?3?5Failed?5to?5make?5context?5cur@ ; glfw3.lib(wgl_context.obj) - ??_C@_07CKIELOEH@no?5PLTE@ ; stb_image.obj - _glfwGetMonitorContentScaleNull ; glfw3.lib(null_monitor.obj) - __imp_GetDC ; user32.lib(USER32.dll) - SetClipboardData ; user32.lib(USER32.dll) - __imp_ungetc ; ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ??_C@_0CO@CNHHHABN@Win32?3?5Failed?5to?5register?5helpe@ ; glfw3.lib(win32_init.obj) - ??_C@_0BN@HJHDCKKP@Win32?3?5Failed?5to?5create?5icon@ ; glfw3.lib(win32_window.obj) - ??_C@_0BBM@ENBFFJGN@03000000f0250000c28300000000000@ ; glfw3.lib(input.obj) - CreateBitmap ; gdi32.lib(GDI32.dll) - __raise_securityfailure ; MSVCRT.lib(gs_report.obj) - ??_C@_0BBJ@HBGMHFLL@0300000010080000030000000000000@ ; glfw3.lib(input.obj) - SetPropW ; user32.lib(USER32.dll) - ??_C@_0CC@MGDCJJKB@Win32?3?5Failed?5to?5create?5interfa@ ; glfw3.lib(win32_joystick.obj) - __xmm@80000000000000008000000000000000 ; glfw3.lib(win32_window.obj) - _glfwFreeMonitorWin32 ; glfw3.lib(win32_monitor.obj) - ??_C@_0BCB@CIAKNBHG@030000008305000031b000000000000@ ; glfw3.lib(input.obj) - ??_C@_0JL@GGABLAON@03000000a30c0000270000000000000@ ; glfw3.lib(input.obj) - fopen_s ; ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ??_C@_0OB@DNKPJMLF@0300000038100000121400000000000@ ; glfw3.lib(input.obj) - glfwSetWindowTitle ; glfw3.lib(window.obj) - MoveWindow ; user32.lib(USER32.dll) - _glfwCreateWideStringFromUTF8Win32 ; glfw3.lib(win32_init.obj) - ??_C@_0BE@OHIPHHMJ@GL_ARB_debug_output@ ; glfw3.lib(context.obj) - ??_C@_0DJ@KAONABFK@A?5wait?5operation?5has?5not?5comple@ ; glfw3.lib(vulkan.obj) - ??_C@_0EF@PCMNMHKP@The?5requested?5feature?5has?5not?5y@ ; glfw3.lib(init.obj) - ??_C@_0BEF@OFEGMHGG@030000006f0e0000800100000000000@ ; glfw3.lib(input.obj) - ??_C@_0BDG@HFKCDPDO@030000004f0400000ed000000000000@ ; glfw3.lib(input.obj) - glfwGetMouseButton ; glfw3.lib(input.obj) - __imp_IsProcessorFeaturePresent ; kernel32.lib(KERNEL32.dll) - ??_C@_0CJ@NBJEEEJD@EGL?3?5Failed?5to?5clear?5current?5co@ ; glfw3.lib(egl_context.obj) - __imp_GlobalLock ; kernel32.lib(KERNEL32.dll) - EnumDisplaySettingsW ; user32.lib(USER32.dll) - ??_C@_01DHDKHMHF@6@ ; glfw3.lib(null_window.obj) - ??_C@_06LDHPELJC@dpdown@ ; glfw3.lib(input.obj) - __imp_UnhandledExceptionFilter ; kernel32.lib(KERNEL32.dll) - ??_C@_0BCC@ICCBFEBO@030000000d0f0000ee0000000000000@ ; glfw3.lib(input.obj) - _glfwGetFramebufferSizeNull ; glfw3.lib(null_window.obj) - __xmm@e09ee565e09ee565e09ee565e09ee565 ; dllmain.obj - _RTC_Initialize ; MSVCRT.lib(initsect.obj) - ??_C@_0N@IECDHMDI@zlib?5corrupt@ ; stb_image.obj - ??_C@_0L@NCPEAJBD@?$CD?$DPRADIANCE@ ; stb_image.obj - ??_C@_0BM@OCGPLDNC@ChangeWindowMessageFilterEx@ ; glfw3.lib(win32_init.obj) - ??_C@_0BCG@DHLFHLM@03000000c82d0000026000000000000@ ; glfw3.lib(input.obj) - EnumDisplayDevicesW ; user32.lib(USER32.dll) - RegisterClassExW ; user32.lib(USER32.dll) - __imp_GetCurrentThreadId ; kernel32.lib(KERNEL32.dll) - DragFinish ; shell32.lib(SHELL32.dll) - ??_C@_0CM@IALNOPFK@Win32?3?5Failed?5to?5retrieve?5own?5m@ ; glfw3.lib(win32_init.obj) - ??_C@_0BBJ@PKNJJDLA@0300000025090000888800000000000@ ; glfw3.lib(input.obj) - ??_C@_0LO@EDCIDLIK@0300000079000000110000000000000@ ; glfw3.lib(input.obj) - __real@408f400000000000 ; glfw3.lib(win32_window.obj) - ??_C@_0OD@GOLNACF@030000000d0f0000270000000000000@ ; glfw3.lib(input.obj) - __imp_GetMonitorInfoW ; user32.lib(USER32.dll) - glfwGetWindowOpacity ; glfw3.lib(window.obj) - ??_C@_0BBL@EFBOJJAL@0300000066f70000050000000000000@ ; glfw3.lib(input.obj) - ??_C@_1BE@LDFMCOHA@?$AAG?$AAL?$AAF?$AAW?$AA_?$AAI?$AAC?$AAO?$AAN@ ; glfw3.lib(win32_window.obj) - _glfw_free ; glfw3.lib(init.obj) - ??_C@_0OM@HGBIMFGF@03000000300f0000161100000000000@ ; glfw3.lib(input.obj) - ??_C@_0L@DMAPJJO@bad?5format@ ; stb_image.obj - __guard_xfg_dispatch_icall_fptr ; MSVCRT.lib(guard_support.obj) - ??_C@_0PC@EBDFKGFN@0300000079000000441800000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCL@PCNFJELE@030000006e0500000a2000000000000@ ; glfw3.lib(input.obj) - QueryPerformanceCounter ; kernel32.lib(KERNEL32.dll) - _glfwGetWindowSizeNull ; glfw3.lib(null_window.obj) - ??_C@_0BCJ@NOGEFCJN@0300000032150000010400000000000@ ; glfw3.lib(input.obj) - glfwGetKey ; glfw3.lib(input.obj) - ??_C@_01KGKMHCOC@e@ ; glfw3.lib(null_window.obj) - ??_C@_0KI@EPMKBGDM@0300000000f00000f10000000000000@ ; glfw3.lib(input.obj) - ??_C@_0CA@KCGCFCEG@Invalid?5window?5attribute?50x?$CF08X@ ; glfw3.lib(window.obj) - ??_C@_0BCG@NCIHPENA@03000000c62400001b8900000000000@ ; glfw3.lib(input.obj) - malloc ; ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) - SetUnhandledExceptionFilter ; kernel32.lib(KERNEL32.dll) - DispatchMessageW ; user32.lib(USER32.dll) - GetKeyState ; user32.lib(USER32.dll) - FormatMessageW ; kernel32.lib(KERNEL32.dll) - ??_C@_0BBP@NMPDIJKG@78696e7075740800000000000000000@ ; glfw3.lib(input.obj) - GetRawInputDeviceInfoA ; user32.lib(USER32.dll) - ??_C@_0KL@BLLPLAOA@0300000079000000241800000000000@ ; glfw3.lib(input.obj) - ??_C@_0BD@KGLHBPN@WGL_EXT_colorspace@ ; glfw3.lib(wgl_context.obj) - ??_C@_02PCIJFNDE@?$AN?6@ ; glfw3.lib(input.obj) - ??_C@_0BCG@LIMAPBKF@03000000a30600000b0400000001000@ ; glfw3.lib(input.obj) - ?configure_argv@__scrt_narrow_argv_policy@@SAHXZ ; MSVCRT.lib(utility.obj) - ??_C@_0BA@EPLGABLH@Xbox?5Controller@ ; glfw3.lib(win32_joystick.obj) - __imp_TlsAlloc ; kernel32.lib(KERNEL32.dll) - ??_C@_0M@ILLOCNCO@bad?5palette@ ; stb_image.obj - glfwTerminate ; glfw3.lib(init.obj) - SetCursorPos ; user32.lib(USER32.dll) - ??_C@_0BB@FOKGPEKG@bad?5code?5lengths@ ; stb_image.obj - glfwGetInputMode ; glfw3.lib(input.obj) - ??_C@_0LI@CLAPJPEB@03000000c82d0000015100000000000@ ; glfw3.lib(input.obj) - _glfwSetWindowPosNull ; glfw3.lib(null_window.obj) - __imp_GetWindowPlacement ; user32.lib(USER32.dll) - _RTC_Terminate ; MSVCRT.lib(initsect.obj) - ??_C@_0BCA@MGCGIKLM@030000006b140000020300000000000@ ; glfw3.lib(input.obj) - __imp_SetThreadExecutionState ; kernel32.lib(KERNEL32.dll) - ??_C@_0BA@KLNDOKJD@expected?5marker@ ; stb_image.obj - __real@41cb3333 ; glfw3.lib(win32_monitor.obj) - glfwGetKeyName ; glfw3.lib(input.obj) - strtol ; ucrt.lib(api-ms-win-crt-convert-l1-1-0.dll) - ??_C@_0CO@KALOHMEN@WGL?3?5Unknown?5pixel?5format?5attri@ ; glfw3.lib(wgl_context.obj) - ??_C@_0CL@LJNEEKEI@Win32?3?5Failed?5to?5create?5Vulkan?5@ ; glfw3.lib(win32_window.obj) - EmptyClipboard ; user32.lib(USER32.dll) - glfwRequestWindowAttention ; glfw3.lib(window.obj) - ??_C@_0JK@EKFMIBLA@03000000c82d000021ab00000000000@ ; glfw3.lib(input.obj) - glfwGetGammaRamp ; glfw3.lib(monitor.obj) - __scrt_set_unhandled_exception_filter ; MSVCRT.lib(utility_desktop.obj) - ??_C@_0CL@JHIPHFAC@Win32?3?5Failed?5to?5query?5device?5c@ ; glfw3.lib(win32_joystick.obj) - _glfwWaitEventsTimeoutNull ; glfw3.lib(null_window.obj) - ??_C@_07IMHMNOIB@BMP?5RLE@ ; stb_image.obj - ??_C@_0DB@JJADGKIE@Raw?5mouse?5motion?5is?5not?5support@ ; glfw3.lib(input.obj) - qsort ; ucrt.lib(api-ms-win-crt-utility-l1-1-0.dll) - ??_C@_09OJDLMMBJ@too?5large@ ; stb_image.obj - ??_C@_07NCIOKENI@not?5HDR@ ; stb_image.obj - ??_C@_0CB@BIHPPBFK@03000000?$CF?44s0000?$CF?44s00000000000@ ; glfw3.lib(win32_joystick.obj) - ??_C@_0BCF@KHBKMEME@03000000c82d0000016100000000000@ ; glfw3.lib(input.obj) - glfwSetWindowIconifyCallback ; glfw3.lib(window.obj) - SetWindowPos ; user32.lib(USER32.dll) - ??_C@_0L@ELKKGGMD@libEGL?4dll@ ; glfw3.lib(egl_context.obj) - __current_exception_context ; vcruntime.lib(VCRUNTIME140.dll) - ??_C@_0CN@FGAGPCCP@Win32?3?5Failed?5to?5convert?5clipbo@ ; glfw3.lib(win32_window.obj) - ??_C@_0BBP@LNLJDDIF@030000004f04000003d000000000000@ ; glfw3.lib(input.obj) - _register_onexit_function ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - _execute_onexit_table ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ??_C@_0BBK@DBILHFPC@030000005509000000b400000000000@ ; glfw3.lib(input.obj) - ??_C@_07FLLKAONK@dpright@ ; glfw3.lib(input.obj) - __xmm@00002018000020170000201600002015 ; glfw3.lib(wgl_context.obj) - __imp_DragQueryPoint ; shell32.lib(SHELL32.dll) - ??_C@_0OC@FELEMKIB@03000000120c0000f60e00000000000@ ; glfw3.lib(input.obj) - ??_C@_0BBK@FBBILDLI@0300000038070000853200000000000@ ; glfw3.lib(input.obj) - ??_C@_0BF@OOKNCFMF@OSMesaDestroyContext@ ; glfw3.lib(osmesa_context.obj) - ??_C@_0BDF@FFJELFPB@030000006b140000020d00000000000@ ; glfw3.lib(input.obj) - _glfwWaitEventsTimeoutWin32 ; glfw3.lib(win32_window.obj) - glfwPostEmptyEvent ; glfw3.lib(window.obj) - __scrt_stub_for_acrt_thread_attach ; MSVCRT.lib(ucrt_stubs.obj) - UnregisterClassW ; user32.lib(USER32.dll) - ??_C@_0BBF@DJBNPOOL@0300000066660000670600000000000@ ; glfw3.lib(input.obj) - glfwGetOSMesaColorBuffer ; glfw3.lib(osmesa_context.obj) - __imp_MonitorFromWindow ; user32.lib(USER32.dll) - glfwDestroyWindow ; glfw3.lib(window.obj) - ??_C@_07IBAPPAHJ@glClear@ ; glfw3.lib(context.obj) - ??_C@_0FB@EPGEGHDL@An?5EGLSurface?5argument?5does?5not@ ; glfw3.lib(egl_context.obj) - _glfwDetectJoystickConnectionWin32 ; glfw3.lib(win32_joystick.obj) - ??_C@_0BF@DMNOCJMB@VK_EXT_metal_surface@ ; glfw3.lib(vulkan.obj) - ??_C@_06CLMBLEP@no?5SOI@ ; stb_image.obj - ??_C@_0CI@JNBCHAIF@WGL?3?5Failed?5to?5create?5OpenGL?5ES@ ; glfw3.lib(wgl_context.obj) - ??_C@_0JF@MFNKBEDG@03000000c82d0000095100000000000@ ; glfw3.lib(input.obj) - _glfwGetMonitorPosWin32 ; glfw3.lib(win32_monitor.obj) - ??_C@_0M@HOIDFNFN@?$CD?$DPRADIANCE?6@ ; stb_image.obj - ??_C@_0NN@EKBBEDOM@03000000c82d0000065000000000000@ ; glfw3.lib(input.obj) - MonitorFromWindow ; user32.lib(USER32.dll) - ??_C@_0BM@OMEGJAIK@ERROR?3?5UNKNOWN?5VULKAN?5ERROR@ ; glfw3.lib(vulkan.obj) - ??_C@_0OI@FJCLICAJ@03000000b5070000140300000000000@ ; glfw3.lib(input.obj) - ??_C@_0CE@OJFJMLEI@The?5specified?5window?5has?5no?5con@ ; glfw3.lib(init.obj) - __guard_check_icall_fptr ; MSVCRT.lib(guard_support.obj) - ??_C@_09MBBNGCKB@bad?5ctype@ ; stb_image.obj - _glfwSetWindowFloatingWin32 ; glfw3.lib(win32_window.obj) - _glfwInputWindowFocus ; glfw3.lib(window.obj) - GetSystemTimeAsFileTime ; kernel32.lib(KERNEL32.dll) - ??_C@_0PI@OKGGAFMJ@03000000341a0000010400000000000@ ; glfw3.lib(input.obj) - MultiByteToWideChar ; kernel32.lib(KERNEL32.dll) - ??_C@_0BD@CBEDEJPH@unknown?5image?5type@ ; stb_image.obj - ??_C@_0LC@FKHGODJA@03000000c82d0000129000000000000@ ; glfw3.lib(input.obj) - ??_C@_0CN@IHJGMBHI@The?5logical?5or?5physical?5device?5@ ; glfw3.lib(vulkan.obj) - ??_C@_0BCD@KNBJHBAH@030000005e0400000a0b00000000000@ ; glfw3.lib(input.obj) - _glfwRestoreWindowNull ; glfw3.lib(null_window.obj) - ??_C@_0JL@MEEFIFEH@03000000a30c0000280000000000000@ ; glfw3.lib(input.obj) - TranslateMessage ; user32.lib(USER32.dll) - ??_C@_0BF@HHLAJKBF@OSMesaGetColorBuffer@ ; glfw3.lib(osmesa_context.obj) - __imp__configure_narrow_argv ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - _glfwGetVulkanResultString ; glfw3.lib(vulkan.obj) - ??_C@_0BCP@ONIMJMJ@0300000066660000048800000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCE@HLGICLNK@030000008f0e00000d3100000000000@ ; glfw3.lib(input.obj) - SetCapture ; user32.lib(USER32.dll) - glfwSetWindowSize ; glfw3.lib(window.obj) - _glfwInputMonitorWindow ; glfw3.lib(monitor.obj) - ??_C@_0DF@FEPNJFGL@Vulkan?3?5Loader?5does?5not?5export?5@ ; glfw3.lib(vulkan.obj) - ??_C@_0BBH@LCHOLIJA@030000000d0f00005e0000000000000@ ; glfw3.lib(input.obj) - glfwSetFramebufferSizeCallback ; glfw3.lib(window.obj) - ??_C@_01FMEDJKGI@o@ ; glfw3.lib(null_window.obj) - ??_C@_0KB@CIFFNJNE@0300000000f00000030000000000000@ ; glfw3.lib(input.obj) - glfwInitVulkanLoader ; glfw3.lib(init.obj) - glfwPlatformSupported ; glfw3.lib(platform.obj) - __imp_GetProcAddress ; kernel32.lib(KERNEL32.dll) - ??_C@_0O@DHHDCCLF@glGetIntegerv@ ; glfw3.lib(context.obj) - _glfwInputMouseClick ; glfw3.lib(input.obj) - sscanf ; glfw3.lib(context.obj) - ??_C@_06FHABPINC@rightx@ ; glfw3.lib(input.obj) - ??_C@_0LK@DEPDOLNO@0300000028040000014000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BC@ICHKG@eglDestroySurface@ ; glfw3.lib(egl_context.obj) - ??_C@_0BCD@JLFNAMGI@030000006b140000030300000000000@ ; glfw3.lib(input.obj) - ??_C@_0BAE@KADGKHDN@030000000d0f0000700000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BDB@KNKJIBDH@030000006f0e0000320100000000000@ ; glfw3.lib(input.obj) - _glfwInputWindowDamage ; glfw3.lib(window.obj) - ??_C@_0CE@OJEBIEPE@OSMesa?3?5OpenGL?5profiles?5unavail@ ; glfw3.lib(osmesa_context.obj) - glfwSetCharCallback ; glfw3.lib(input.obj) - __imp_MsgWaitForMultipleObjects ; user32.lib(USER32.dll) - _glfwGetWindowPosWin32 ; glfw3.lib(win32_window.obj) - __imp_WideCharToMultiByte ; kernel32.lib(KERNEL32.dll) - ??_C@_0DF@NPMNAJFG@WGL?3?5Driver?5does?5not?5support?5Op@ ; glfw3.lib(wgl_context.obj) - ??_C@_0N@IGFNFAOP@eglTerminate@ ; glfw3.lib(egl_context.obj) - __imp_GetCurrentProcessId ; kernel32.lib(KERNEL32.dll) - _glfwPlatformDestroyTls ; glfw3.lib(win32_thread.obj) - ??_C@_0EN@CIIGDABJ@EGL?3?5The?5context?5must?5be?5curren@ ; glfw3.lib(egl_context.obj) - ReleaseCapture ; user32.lib(USER32.dll) - ??_C@_0BE@NAMJKDNF@missing?5color?5table@ ; stb_image.obj - ??_C@_0BBJ@FKANGOML@0300000025090000050000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BBN@HKPLBABN@78696e7075740600000000000000000@ ; glfw3.lib(input.obj) - __scrt_is_managed_app ; MSVCRT.lib(utility_desktop.obj) - glfwDefaultWindowHints ; glfw3.lib(window.obj) - __castguard_set_user_handler ; MSVCRT.lib(guard_support.obj) - feof ; ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ??_C@_0BCB@OOEANFEH@03000000300f0000100100000000000@ ; glfw3.lib(input.obj) - ??_C@_0CF@KMMHNOMI@Extension?5string?5retrieval?5is?5b@ ; glfw3.lib(context.obj) - ??_C@_0BCL@EMNJKCNM@030000004f04000023b300000000000@ ; glfw3.lib(input.obj) - ??_C@_08FOJKHHJA@?$CFd?4?$CFd?4?$CFd@ ; glfw3.lib(context.obj) - ??_C@_1CI@MPNNJFCJ@?$AAG?$AAL?$AAF?$AAW?$AA?5?$AAm?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?5?$AAw?$AAi@ ; glfw3.lib(win32_init.obj) - __real@3ff0000000000000 ; dllmain.obj - __security_init_cookie ; MSVCRT.lib(gs_support.obj) - ??_C@_0BBH@LKFOHLNE@030000000d0f00005f0000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BBJ@CMBLEBDK@03000000242f00008a0000000000000@ ; glfw3.lib(input.obj) - ??_C@_0NO@NNNFDMKP@030000006d0400001ac200000000000@ ; glfw3.lib(input.obj) - __castguard_slow_path_check_os_handled ; MSVCRT.lib(guard_support.obj) - __imp_PeekMessageW ; user32.lib(USER32.dll) - __guard_dispatch_icall_fptr ; MSVCRT.lib(guard_support.obj) - _glfw_fminf ; glfw3.lib(init.obj) - ??_C@_0BM@KPJJBADD@Graphics?5mode?5not?5supported@ ; glfw3.lib(win32_monitor.obj) - _glfwGetVideoModeNull ; glfw3.lib(null_monitor.obj) - ??_C@_0BEP@LJAOBMNM@030000006f0e0000840100000000000@ ; glfw3.lib(input.obj) - __imp_SetCursorPos ; user32.lib(USER32.dll) - __imp_SetPixelFormat ; gdi32.lib(GDI32.dll) - ??_C@_0CM@DGJKGOGD@WGL?3?5Failed?5to?5find?5a?5suitable?5@ ; glfw3.lib(wgl_context.obj) - __scrt_stub_for_acrt_initialize ; MSVCRT.lib(ucrt_stubs.obj) - glfwGetJoystickName ; glfw3.lib(input.obj) - ??_C@_0BBD@HKHEBCPH@030000006e050000052000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BJ@KEAIGPHD@eglGetPlatformDisplayEXT@ ; glfw3.lib(egl_context.obj) - ??_C@_0CD@IGHBCNOG@Win32?3?5Failed?5to?5query?5monitor?5@ ; glfw3.lib(win32_monitor.obj) - WideCharToMultiByte ; kernel32.lib(KERNEL32.dll) - __imp_DeleteDC ; gdi32.lib(GDI32.dll) - _glfwSetWindowMonitorNull ; glfw3.lib(null_window.obj) - ??_C@_0BCB@EPBJCJPK@030000000d050000030800000000000@ ; glfw3.lib(input.obj) - glfwGetJoystickAxes ; glfw3.lib(input.obj) - ??_C@_0BJ@ODLLHDDH@WGL_EXT_framebuffer_sRGB@ ; glfw3.lib(wgl_context.obj) - ??_C@_0FA@OHOPKHFK@WGL?3?5OpenGL?5profile?5requested?5b@ ; glfw3.lib(wgl_context.obj) - GetPropW ; user32.lib(USER32.dll) - glfwSetWindowCloseCallback ; glfw3.lib(window.obj) - __scrt_get_dyn_tls_init_callback ; MSVCRT.lib(dyn_tls_init.obj) - ?__scrt_uninitialize_type_info@@YAXXZ ; MSVCRT.lib(tncleanup.obj) - ??_C@_0BD@DKPJMBMG@VK_KHR_xcb_surface@ ; glfw3.lib(vulkan.obj) - ??_C@_0N@KDLCCKCH@bad?5tRNS?5len@ ; stb_image.obj - __CastGuardVftablesStart ; MSVCRT.lib(guard_support.obj) - __report_rangecheckfailure ; MSVCRT.lib(gs_report.obj) - ??_C@_0CH@PNNMGINB@Invalid?5context?5robustness?5mode@ ; glfw3.lib(context.obj) - ??_C@_06IFCEAHIA@no?5SOF@ ; stb_image.obj - ??_C@_0BO@LHMLBOLK@SetProcessDpiAwarenessContext@ ; glfw3.lib(win32_init.obj) - ??_C@_0BBN@FMDJFAID@0300000002200000009000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BE@HBNNGLHP@XInput?5Flight?5Stick@ ; glfw3.lib(win32_joystick.obj) - _glfwGetWindowContentScaleNull ; glfw3.lib(null_window.obj) - ChoosePixelFormat ; gdi32.lib(GDI32.dll) - _glfwSetWindowOpacityNull ; glfw3.lib(null_window.obj) - __xmm@eb1a08a9eb1a08a9eb1a08a9eb1a08a9 ; dllmain.obj - ??_C@_07MLPECBNA@no?5IDAT@ ; stb_image.obj - UnregisterDeviceNotification ; user32.lib(USER32.dll) - ??_C@_0BBF@GOLEDGAH@030000006d04000011c200000000000@ ; glfw3.lib(input.obj) - ??_C@_0OJ@NCDOGEIN@030000000d0f0000920000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCM@OALNNLEB@030000005e0400008e0200000000000@ ; glfw3.lib(input.obj) - ??_C@_0CI@KAHNKLLC@One?5or?5more?5argument?5values?5are@ ; glfw3.lib(egl_context.obj) - __imp_strspn ; ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - _guard_rf_checks_enforced ; MSVCRT.lib(guard_support.obj) - ??_C@_0BC@GHLIKKMD@bad?5filter?5method@ ; stb_image.obj - ??_C@_0BC@HONLJDPH@eglGetProcAddress@ ; glfw3.lib(egl_context.obj) - ??_C@_0CE@HKNBGEPI@A?5host?5memory?5allocation?5has?5fa@ ; glfw3.lib(vulkan.obj) - ??_C@_0P@HJKEKLKD@eglQueryString@ ; glfw3.lib(egl_context.obj) - ??_C@_0BCP@NIMGPLGA@0300000038070000638200000000000@ ; glfw3.lib(input.obj) - __xmm@0000202400002021000020200000201f ; glfw3.lib(wgl_context.obj) - ??_C@_0BDG@FAKOKHMO@030000004f04000000b300000000000@ ; glfw3.lib(input.obj) - __isa_available_default ; dllmain.obj - ??_C@_0BK@KJGCMOHN@Invalid?5window?5size?5?$CFix?$CFi@ ; glfw3.lib(window.obj) - __scrt_dllmain_uninitialize_critical ; MSVCRT.lib(utility.obj) - ??_C@_0ED@GAJEHCGA@An?5EGLContext?5argument?5does?5not@ ; glfw3.lib(egl_context.obj) - ??_C@_0BBC@LOLNAEDE@03000000ac0500002c0200000000000@ ; glfw3.lib(input.obj) - ??_C@_01OHGJGJJP@?$FL@ ; glfw3.lib(null_window.obj) - ??_C@_0BBL@BABJOOFG@03000000ffff0000000000000000000@ ; glfw3.lib(input.obj) - __imp_SetForegroundWindow ; user32.lib(USER32.dll) - __imp_pow ; ucrt.lib(api-ms-win-crt-math-l1-1-0.dll) - ??_C@_0BDN@CCAJAJCK@0300000079000000001800000000000@ ; glfw3.lib(input.obj) - glfwGetTimerFrequency ; glfw3.lib(input.obj) - __xmm@ffffffffffffffffffffffffffffffff ; MSVCRT.lib(utility.obj) - RtlCaptureContext ; kernel32.lib(KERNEL32.dll) - _glfwGetEGLNativeDisplayNull ; glfw3.lib(null_window.obj) - memset ; vcruntime.lib(VCRUNTIME140.dll) - ??_C@_0BJ@IIGAEGGE@Wireless?5Xbox?5Controller@ ; glfw3.lib(win32_joystick.obj) - ??_C@_0BCP@EHCNAHCG@03000000d62000009f3100000000000@ ; glfw3.lib(input.obj) - __real@42ff0000 ; glfw3.lib(win32_joystick.obj) - ??_C@_0BBF@CLNKBPGE@030000008f0e0000120000000000000@ ; glfw3.lib(input.obj) - ??_C@_0JO@HBLEAOAI@03000000c0110000135200000000000@ ; glfw3.lib(input.obj) - ??_C@_0CA@CJLAIOKE@WGL_ARB_create_context_no_error@ ; glfw3.lib(wgl_context.obj) - glfwGetWindowFrameSize ; glfw3.lib(window.obj) - __scrt_dllmain_crt_thread_attach ; MSVCRT.lib(utility.obj) - ??_C@_0NO@KCLNENJG@03000000c82d0000303200000000000@ ; glfw3.lib(input.obj) - ??_C@_0CJ@FFMMFAIL@Invalid?5image?5dimensions?5for?5wi@ ; glfw3.lib(window.obj) - glfwSetMonitorUserPointer ; glfw3.lib(monitor.obj) - __CastGuardVftablesEnd ; MSVCRT.lib(guard_support.obj) - __imp_QueryPerformanceCounter ; kernel32.lib(KERNEL32.dll) - GetClassLongPtrW ; user32.lib(USER32.dll) - _glfwPollJoystickWin32 ; glfw3.lib(win32_joystick.obj) - __imp__register_onexit_function ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - glfwFocusWindow ; glfw3.lib(window.obj) - _glfwIconifyWindowWin32 ; glfw3.lib(win32_window.obj) - _glfwGetWindowContentScaleWin32 ; glfw3.lib(win32_window.obj) - ??_C@_0OO@GFAPAFAG@0300000011010000191400000000000@ ; glfw3.lib(input.obj) - ??_C@_0BBO@IBHMMFFH@030000008f0e0000080000000000000@ ; glfw3.lib(input.obj) - ??_C@_0KC@KGMCONBG@03000000c82d0000302800000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCB@MKBJECLN@030000000d0f00009c0000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCC@CBIJNOOO@03000000a306000020f600000000000@ ; glfw3.lib(input.obj) - ??_C@_0BA@LCMKGGHA@XInput?5Drum?5Kit@ ; glfw3.lib(win32_joystick.obj) - glfwGetMonitorName ; glfw3.lib(monitor.obj) - ??_C@_0BCD@KBJOCLC@03000000c82d0000036000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCH@GKMNBEOK@03000000c0110000035500001101000@ ; glfw3.lib(input.obj) - ??_C@_04ELNJHLFH@PICT@ ; stb_image.obj - ??_C@_0BF@JCGDPBAA@bad?5interlace?5method@ ; stb_image.obj - ??_C@_01DICPFPGM@k@ ; glfw3.lib(null_window.obj) - ??_C@_0BCA@IDEGIHPL@030000006d04000018c200000000000@ ; glfw3.lib(input.obj) - ??_C@_0CB@LDOHHBIH@OSMesa?3?5Failed?5to?5create?5contex@ ; glfw3.lib(osmesa_context.obj) - __real@bf800000 ; glfw3.lib(input.obj) - TlsFree ; kernel32.lib(KERNEL32.dll) - glfwGetOSMesaContext ; glfw3.lib(osmesa_context.obj) - ??_C@_0N@MEFCLEJO@leftshoulder@ ; glfw3.lib(input.obj) - __imp__initterm_e ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - _glfwGetWindowFrameSizeNull ; glfw3.lib(null_window.obj) - powf ; ucrt.lib(api-ms-win-crt-math-l1-1-0.dll) - ??_C@_0N@IILPFLFM@vulkan?91?4dll@ ; glfw3.lib(vulkan.obj) - ??_C@_0BBB@PJOPHLEI@0300000036280000010000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BA@KMGHNAFM@Invalid?5time?5?$CFf@ ; glfw3.lib(window.obj) - fgetc ; ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ??_C@_0P@JEAFOMAF@first?5not?5IHDR@ ; stb_image.obj - _glfwInitGamepadMappings ; glfw3.lib(input.obj) - _glfwInputWindowCloseRequest ; glfw3.lib(window.obj) - ??_C@_0CA@HGIOILGO@EGL_ANGLE_platform_angle_vulkan@ ; glfw3.lib(egl_context.obj) - ??_C@_0BBD@LABNEKLL@0300000038070000188800000000000@ ; glfw3.lib(input.obj) - glfwCreateWindowSurface ; glfw3.lib(vulkan.obj) - __scrt_initialize_default_local_stdio_options ; MSVCRT.lib(default_local_stdio_options.obj) - ??_C@_0M@CICAFFCH@bad?5COM?5len@ ; stb_image.obj - __imp_GlobalUnlock ; kernel32.lib(KERNEL32.dll) - ??_C@_0MI@KAOJFFGI@030000007d040000054000000000000@ ; glfw3.lib(input.obj) - ??_C@_0DH@LCNJGHOP@05000000?$CF02x?$CF02x?$CF02x?$CF02x?$CF02x?$CF02@ ; glfw3.lib(win32_joystick.obj) - _glfwGetPhysicalDevicePresentationSupportNull ; glfw3.lib(null_window.obj) - ??_C@_0BJ@IHHANIOG@Allocation?5size?5overflow@ ; glfw3.lib(init.obj) - _glfwDestroyWindowWin32 ; glfw3.lib(win32_window.obj) - ??_C@_0BG@HBCIDECD@vkGetInstanceProcAddr@ ; glfw3.lib(vulkan.obj) - ??_C@_0BK@JOBLJGNA@wglGetExtensionsStringARB@ ; glfw3.lib(wgl_context.obj) - glfwJoystickIsGamepad ; glfw3.lib(input.obj) - __imp_CreateRectRgn ; gdi32.lib(GDI32.dll) - _load_config_used ; MSVCRT.lib(loadcfg.obj) - __xmm@000000ff000000ff000000ff000000ff ; dllmain.obj - ??_C@_0BCN@IMCBAJO@030000006f0e0000026300000000000@ ; glfw3.lib(input.obj) - _glfwSetWindowTitleWin32 ; glfw3.lib(win32_window.obj) - __imp_GetDeviceCaps ; gdi32.lib(GDI32.dll) - __crt_debugger_hook ; MSVCRT.lib(utility_desktop.obj) - ??_C@_00CNPNBAHC@@ ; stb_image.obj - ??_C@_0BCG@EICBBMKF@03000000c82d0000159000000000000@ ; glfw3.lib(input.obj) - ??_C@_07KMJLPAII@not?5GIF@ ; stb_image.obj - _glfwPlatformCreateMutex ; glfw3.lib(win32_thread.obj) - RtlLookupFunctionEntry ; kernel32.lib(KERNEL32.dll) - ??_C@_0EI@PJFDHBJK@Cannot?5swap?5buffers?5of?5a?5window@ ; glfw3.lib(context.obj) - ??_C@_0LK@IEAMBPJF@03000000a0050000323200000000000@ ; glfw3.lib(input.obj) - ??_C@_0BBI@BAKFEMPI@03000000a30600001af500000000000@ ; glfw3.lib(input.obj) - __imp_RegisterRawInputDevices ; user32.lib(USER32.dll) - ??_C@_0N@DJABBOOH@unknown?5code@ ; stb_image.obj - ??_C@_0DK@CDBDDLLM@WGL?3?5Driver?5does?5not?5support?5th@ ; glfw3.lib(wgl_context.obj) - ??_C@_0LN@ELDHBANA@0300000083050000602000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BH@BAPIEFAH@Invalid?5gamma?5value?5?$CFf@ ; glfw3.lib(monitor.obj) - ??_C@_0BCF@OCBMGCLB@030000004c050000680200000000000@ ; glfw3.lib(input.obj) - ??_C@_0L@DHLNGPDM@rightstick@ ; glfw3.lib(input.obj) - ??_C@_0BL@IDFNAMEG@Invalid?5window?5hint?50x?$CF08X@ ; glfw3.lib(window.obj) - ??_C@_01GLPGHMHM@z@ ; glfw3.lib(null_window.obj) - _glfwWindowMaximizedNull ; glfw3.lib(null_window.obj) - _glfwInitWGL ; glfw3.lib(wgl_context.obj) - __castguard_slow_path_check_debugbreak ; MSVCRT.lib(guard_support.obj) - __castguard_check_failure_nop ; MSVCRT.lib(guard_support.obj) - ??_C@_0M@OPOBFDCB@glGetString@ ; glfw3.lib(context.obj) - ??_C@_0BBB@MOEBBOIH@030000008305000009a000000000000@ ; glfw3.lib(input.obj) - TlsGetValue ; kernel32.lib(KERNEL32.dll) - LoadCursorW ; user32.lib(USER32.dll) - SystemParametersInfoW ; user32.lib(USER32.dll) - _glfwDestroyWindowNull ; glfw3.lib(null_window.obj) - _glfwTerminateNull ; glfw3.lib(null_init.obj) - __scrt_dllmain_after_initialize_c ; MSVCRT.lib(utility.obj) - ??_C@_0BAA@HNPCOCLG@030000000d0f0000110000000000000@ ; glfw3.lib(input.obj) - __xmm@00000002000000000000000400000000 ; dllmain.obj - ??_C@_0NF@EPHCAKNM@030000007d040000084000000000000@ ; glfw3.lib(input.obj) - ??_C@_0PI@JDIGFFDA@030000004b120000014d00000000000@ ; glfw3.lib(input.obj) - __xmm@80000000800000008000000080000000 ; dllmain.obj - _glfwSetWindowTitleNull ; glfw3.lib(null_window.obj) - ??_C@_0CH@NEGEBDM@A?5requested?5extension?5is?5not?5su@ ; glfw3.lib(vulkan.obj) - ??_C@_0BBJ@MEIBJIGF@0300000010080000010000000000000@ ; glfw3.lib(input.obj) - __imp_SetUnhandledExceptionFilter ; kernel32.lib(KERNEL32.dll) - ??_C@_08PEMNBIMD@DwmFlush@ ; glfw3.lib(win32_init.obj) - strncmp ; ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - ??_C@_0DH@EKEHMEFD@Too?5many?5objects?5of?5the?5type?5ha@ ; glfw3.lib(vulkan.obj) - __scrt_release_startup_lock ; MSVCRT.lib(utility.obj) - ??_C@_01EFFIKLCJ@n@ ; glfw3.lib(null_window.obj) - __imp_IsIconic ; user32.lib(USER32.dll) - ??_C@_0BBL@JKCMMIPG@0300000038070000388800000000000@ ; glfw3.lib(input.obj) - __imp__cexit ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ??_C@_0BF@NPDKPIKE@WGL_EXT_swap_control@ ; glfw3.lib(wgl_context.obj) - __imp_CreateIconIndirect ; user32.lib(USER32.dll) - __std_type_info_destroy_list ; vcruntime.lib(VCRUNTIME140.dll) - glfwGetMonitors ; glfw3.lib(monitor.obj) - ??_C@_0OB@DOLNAILH@0300000026090000262500000000000@ ; glfw3.lib(input.obj) - _glfwGetRequiredInstanceExtensionsNull ; glfw3.lib(null_window.obj) - ??_C@_0ME@GIJLHGEN@030000007e050000062000000100000@ ; glfw3.lib(input.obj) - __imp_GetCursorPos ; user32.lib(USER32.dll) - __isa_available_init ; MSVCRT.lib(cpu_disp.obj) - __real@3fe0000000000000 ; glfw3.lib(input.obj) - _glfwGetEGLPlatformNull ; glfw3.lib(null_window.obj) - __scrt_fastfail ; MSVCRT.lib(utility_desktop.obj) - _glfwFocusWindowNull ; glfw3.lib(null_window.obj) - ??_C@_0BO@FABLLHKK@WGL_ARB_context_flush_control@ ; glfw3.lib(wgl_context.obj) - glfwHideWindow ; glfw3.lib(window.obj) - __imp_TlsGetValue ; kernel32.lib(KERNEL32.dll) - ??_C@_0EL@BBAGGFOK@An?5EGLConfig?5argument?5does?5not?5@ ; glfw3.lib(egl_context.obj) - ??_C@_0O@ENGHJHNB@OpenGL?5ES?9CM?5@ ; glfw3.lib(context.obj) - _glfwSetCursorModeWin32 ; glfw3.lib(win32_window.obj) - ??_C@_0CB@EJFBPGFM@A?5surface?5is?5no?5longer?5availabl@ ; glfw3.lib(vulkan.obj) - __imp__initialize_narrow_environment ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ??_C@_0LL@KLNOPNHB@030000008f0e0000133000000000000@ ; glfw3.lib(input.obj) - ??_C@_0DD@JDDDNHLP@Null?3?5Gamma?5ramp?5size?5must?5matc@ ; glfw3.lib(null_monitor.obj) - __real@7f7fffff ; glfw3.lib(monitor.obj) - _glfwGetScancodeNameWin32 ; glfw3.lib(win32_window.obj) - _glfwGetFramebufferSizeWin32 ; glfw3.lib(win32_window.obj) - ??_C@_0O@CNHKKDIM@bad?5DQT?5table@ ; stb_image.obj - ??_C@_0BAK@PBDFELHA@030000000d0f0000220000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BP@PHOHHIJJ@EGL?3?5Failed?5to?5bind?5OpenGL?3?5?$CFs@ ; glfw3.lib(egl_context.obj) - ??_C@_0CD@CODEPNKE@EGL?3?5Failed?5to?5get?5EGL?5display?3@ ; glfw3.lib(egl_context.obj) - ??_C@_01HHGOMJKL@l@ ; glfw3.lib(null_window.obj) - ??_C@_01MIFGBAGJ@?$CL@ ; glfw3.lib(null_window.obj) - ??_C@_0BB@KEKMNHDF@eglCreateContext@ ; glfw3.lib(egl_context.obj) - ??_C@_0BP@BFHGHOIO@Win32?3?5Failed?5to?5create?5window@ ; glfw3.lib(win32_window.obj) - strcspn ; ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - _glfwGetWindowSizeWin32 ; glfw3.lib(win32_window.obj) - ??_C@_0BJ@PGPMJKGJ@Vulkan?3?5Loader?5not?5found@ ; glfw3.lib(vulkan.obj) - ??_C@_0PJ@FPHAKAJD@0300000079000000451800000000000@ ; glfw3.lib(input.obj) - _glfwCompareVideoModes ; glfw3.lib(monitor.obj) - ??_C@_0BM@PKHPFLOM@There?5is?5no?5current?5context@ ; glfw3.lib(init.obj) - ??_C@_0BBE@JFJIACOB@03000000ac0500004d0400000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCC@FJIJNHMA@03000000d62000006dca00000000000@ ; glfw3.lib(input.obj) - _glfwGetEGLPlatformWin32 ; glfw3.lib(win32_window.obj) - ??_C@_0M@FLKHLCCP@lefttrigger@ ; glfw3.lib(input.obj) - ??_C@_0O@DJDONBGH@libOSMesa?4dll@ ; glfw3.lib(osmesa_context.obj) - ??_C@_0O@BMJFLKOA@eglGetDisplay@ ; glfw3.lib(egl_context.obj) - ??_C@_0P@IENCOMCD@VK_KHR_surface@ ; glfw3.lib(vulkan.obj) - _initterm ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - NtCurrentTeb ; MSVCRT.lib(utility.obj) - ??_C@_0BI@INMBJMIJ@vkCreateWin32SurfaceKHR@ ; glfw3.lib(win32_window.obj) - ??_C@_0BBP@ECGIDGCJ@03000000120c0000210e00000000000@ ; glfw3.lib(input.obj) - ??_C@_0BBI@BKECFDAD@0300000079000000070000000000000@ ; glfw3.lib(input.obj) - __imp__initterm ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ??_C@_0OC@CPLNMNJF@030000004c050000da0c00000000000@ ; glfw3.lib(input.obj) - ??_C@_0BC@CLDFFND@GL_EXT_robustness@ ; glfw3.lib(context.obj) - ??_C@_0BCG@LJNCMOGI@03000000c62400002a8900000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCB@HKBKHEFP@0300000045130000083000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BK@PMMAHJAK@ERROR?3?5UNKNOWN?5GLFW?5ERROR@ ; glfw3.lib(init.obj) - ??_C@_0BCN@POFKMMNB@03000000d6200000955700000000000@ ; glfw3.lib(input.obj) - __imp_memcpy ; vcruntime.lib(VCRUNTIME140.dll) - _glfwWindowVisibleWin32 ; glfw3.lib(win32_window.obj) - __scrt_acquire_startup_lock ; MSVCRT.lib(utility.obj) - _glfwInputWindowMaximize ; glfw3.lib(window.obj) - __xmm@00002003000020130000200100002010 ; glfw3.lib(wgl_context.obj) - __imp_fread ; ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ??_C@_01FAMBOPH@4@ ; glfw3.lib(null_window.obj) - __xmm@e9cf12d0e9cf12d0e9cf12d0e9cf12d0 ; dllmain.obj - _glfwCenterCursorInContentArea ; glfw3.lib(input.obj) - _glfwFreeGammaArrays ; glfw3.lib(monitor.obj) - _glfwStringInExtensionString ; glfw3.lib(context.obj) - ??_C@_0CH@MMCOKIKC@EGL?5cannot?5access?5a?5requested?5r@ ; glfw3.lib(egl_context.obj) - ??_C@_0BBK@NKANFPJB@0300000045750000040100000000000@ ; glfw3.lib(input.obj) - __imp_IsWindowVisible ; user32.lib(USER32.dll) - ??_C@_0DM@FCAOPKO@WGL?3?5Failed?5to?5enable?5sharing?5w@ ; glfw3.lib(wgl_context.obj) - ??_C@_0LF@DNFJHMLL@0300000000050000289b00000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCN@BCBEDKCA@030000006f0e0000190100000000000@ ; glfw3.lib(input.obj) - ??_C@_0M@KHBIBJBG@unknown?5BMP@ ; stb_image.obj - ??_C@_0BJ@HDECIKCI@Invalid?5init?5hint?50x?$CF08X@ ; glfw3.lib(init.obj) - glfwMakeContextCurrent ; glfw3.lib(context.obj) - _glfwSetWindowResizableWin32 ; glfw3.lib(win32_window.obj) - ??_C@_0BE@EJHIPKNO@1?12?14?18?116?9bit?5only@ ; stb_image.obj - ??_C@_0N@BOFJCHAP@bad?5DQT?5type@ ; stb_image.obj - glfwSetTime ; glfw3.lib(input.obj) - ??_C@_01LKDEMHDF@s@ ; glfw3.lib(null_window.obj) - ??_C@_01KDCPPGHE@r@ ; glfw3.lib(null_window.obj) - ??_C@_0O@ONJGDDHG@xinput1_1?4dll@ ; glfw3.lib(win32_init.obj) - ??_C@_0L@HJOCIPHF@eglBindAPI@ ; glfw3.lib(egl_context.obj) - ??_C@_03HAFBONIK@IG_@ ; glfw3.lib(win32_joystick.obj) - ??_C@_0BCC@JCAIEANG@03000000a3060000210600000000000@ ; glfw3.lib(input.obj) - ??_C@_0BB@CEDNNLBG@tRNS?5before?5PLTE@ ; stb_image.obj - ??_C@_0BCN@NICPPBBL@0300000038070000625200000000000@ ; glfw3.lib(input.obj) - ??_C@_0BBD@DCBELLKM@03000000bd12000003c000000000000@ ; glfw3.lib(input.obj) - _glfwGetKeyScancodeNull ; glfw3.lib(null_window.obj) - __real@405e000000000000 ; glfw3.lib(win32_window.obj) - GlobalLock ; kernel32.lib(KERNEL32.dll) - ??_C@_0BCC@FCCEALDM@03000000450c0000204300000000000@ ; glfw3.lib(input.obj) - glfwGetProcAddress ; glfw3.lib(context.obj) - ShowWindow ; user32.lib(USER32.dll) - ??_C@_0M@NOCCBFAC@bad?5DC?5huff@ ; stb_image.obj - ??_C@_0LC@FALCBLOD@03000000c82d0000622800000000000@ ; glfw3.lib(input.obj) - __imp_FormatMessageW ; kernel32.lib(KERNEL32.dll) - ??_C@_0CH@EMJGILEP@EGL?3?5Failed?5to?5find?5support?5for@ ; glfw3.lib(egl_context.obj) - ??_C@_0BF@NOEEEFMF@bad?5bits_per_channel@ ; stb_image.obj - _glfwInputCursorPos ; glfw3.lib(input.obj) - ??_C@_0BBC@LKELPOKL@03000000ef050000030000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BE@IBFIPFO@output?5buffer?5limit@ ; stb_image.obj - _glfwCreateWindowWin32 ; glfw3.lib(win32_window.obj) - ??_C@_0MH@JBIEFOEI@03000000c82d0000031000000000000@ ; glfw3.lib(input.obj) - __imp_AdjustWindowRectEx ; user32.lib(USER32.dll) - glfwSwapInterval ; glfw3.lib(context.obj) - _glfwPlatformGetTls ; glfw3.lib(win32_thread.obj) - glfwGetKeyScancode ; glfw3.lib(input.obj) - __guard_xfg_check_icall_fptr ; MSVCRT.lib(guard_support.obj) - glfwSetWindowMaximizeCallback ; glfw3.lib(window.obj) - _glfwGetEGLNativeDisplayWin32 ; glfw3.lib(win32_window.obj) - ??_C@_01HIHLOKLC@1@ ; glfw3.lib(null_window.obj) - __imp_LeaveCriticalSection ; kernel32.lib(KERNEL32.dll) - glfwGetOSMesaDepthBuffer ; glfw3.lib(osmesa_context.obj) - ??_C@_0CC@NBPCCDGB@Invalid?5window?5hint?5string?50x?$CF0@ ; glfw3.lib(window.obj) - ??_C@_0CK@FKJPIIOF@Win32?3?5Failed?5to?5enumerate?5devi@ ; glfw3.lib(win32_joystick.obj) - ??_C@_0BBI@IMFOKND@03000000d9040000020000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BH@DGFLCCMF@SetProcessDpiAwareness@ ; glfw3.lib(win32_init.obj) - _glfwInitEGL ; glfw3.lib(egl_context.obj) - ??_C@_0BCB@PGBBGDNC@03000000c82d0000402800000000000@ ; glfw3.lib(input.obj) - ??_C@_0L@JDPIFELH@bad?5offset@ ; stb_image.obj - __imp_memmove ; vcruntime.lib(VCRUNTIME140.dll) - _glfwFocusWindowWin32 ; glfw3.lib(win32_window.obj) - DeleteDC ; gdi32.lib(GDI32.dll) - ??_C@_0BB@OGAIJNNO@wglDeleteContext@ ; glfw3.lib(wgl_context.obj) - __imp_MoveWindow ; user32.lib(USER32.dll) - __imp_ShowWindow ; user32.lib(USER32.dll) - ??_C@_0MI@LCKMPFJJ@03000000c82d0000510600000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCF@NLOPKJKL@03000000d62000002a7900000000000@ ; glfw3.lib(input.obj) - ??_C@_0BH@LOKBIIOJ@illegal?5code?5in?5raster@ ; stb_image.obj - ??_C@_0CI@HCGBBANC@The?5requested?5platform?5is?5not?5s@ ; glfw3.lib(platform.obj) - ??_C@_0BAK@EANFDDAF@030000009f000000adbb00000000000@ ; glfw3.lib(input.obj) - __imp_OpenClipboard ; user32.lib(USER32.dll) - ??_C@_0BP@EMCHFHHH@Invalid?5standard?5cursor?50x?$CF08X@ ; glfw3.lib(input.obj) - ??_C@_05HLIEEKJG@guide@ ; glfw3.lib(input.obj) - __real@3f000000 ; dllmain.obj - ??_C@_0BI@KJPLJBHH@DwmIsCompositionEnabled@ ; glfw3.lib(win32_init.obj) - glfwGetClipboardString ; glfw3.lib(input.obj) - ??_C@_0ON@KEJKIAHI@03000000222c0000002000000000000@ ; glfw3.lib(input.obj) - __imp_powf ; ucrt.lib(api-ms-win-crt-math-l1-1-0.dll) - IsWindowVisible ; user32.lib(USER32.dll) - ??_C@_01KBJDNOO@i@ ; glfw3.lib(null_window.obj) - ??_C@_0CJ@JPDPLHCM@EGL?3?5Failed?5to?5find?5a?5suitable?5@ ; glfw3.lib(egl_context.obj) - ??_C@_0BCC@NMJPCJOC@03000000b8050000021000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCA@BCGGNNCE@03000000c82d000011ab00000000000@ ; glfw3.lib(input.obj) - _glfwHideWindowWin32 ; glfw3.lib(win32_window.obj) - ??_C@_0BG@GOAKKGGB@EGL_KHR_gl_colorspace@ ; glfw3.lib(egl_context.obj) - _glfwSetWindowDecoratedWin32 ; glfw3.lib(win32_window.obj) - _glfwIsValidContextConfig ; glfw3.lib(context.obj) - ??_C@_0DO@OLPMIGEJ@The?5requested?5feature?5cannot?5be@ ; glfw3.lib(init.obj) - ??_C@_0HI@IJLNGEMH@0300000073070000040100000000000@ ; glfw3.lib(input.obj) - __castguard_check_failure_os_handled ; MSVCRT.lib(guard_support.obj) - _glfwSetWindowSizeNull ; glfw3.lib(null_window.obj) - _glfwEncodeUTF8 ; glfw3.lib(init.obj) - ??_C@_01IHBHIGKO@?0@ ; glfw3.lib(input.obj) - ??_C@_0ON@DOLMEDL@0300000079000000461800000000000@ ; glfw3.lib(input.obj) - __imp_SetWindowLongW ; user32.lib(USER32.dll) - ??_C@_0BBG@ODDFOEO@03000000ff110000413300000000000@ ; glfw3.lib(input.obj) - ??_C@_0CJ@JFEDIEDE@Win32?3?5Failed?5to?5remove?5raw?5inp@ ; glfw3.lib(win32_window.obj) - glfwSwapBuffers ; glfw3.lib(context.obj) - __imp_CreateBitmap ; gdi32.lib(GDI32.dll) - ??_C@_0PP@HNFBKAIN@030000006f0e0000070200000000000@ ; glfw3.lib(input.obj) - ??_C@_0BBL@JOPBPDPP@03000000d620000011a700000000000@ ; glfw3.lib(input.obj) - ??_C@_0CE@PKGOIGHB@Win32?3?5Failed?5to?5create?5mask?5bi@ ; glfw3.lib(win32_window.obj) - CloseClipboard ; user32.lib(USER32.dll) - ??_C@_0BK@OEGBAIFC@Computer?5restart?5required@ ; glfw3.lib(win32_monitor.obj) - ??_C@_0JJ@DHPDMCKL@03000000c82d0000003000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BDA@ENLICDAF@030000006b140000130d00000000000@ ; glfw3.lib(input.obj) - glfwSetWindowAspectRatio ; glfw3.lib(window.obj) - ??_C@_0BCF@OOFHHKMG@03000000c82d0000006100000000000@ ; glfw3.lib(input.obj) - _glfwWindowMaximizedWin32 ; glfw3.lib(win32_window.obj) - ??_C@_0BCJ@OFAKENFF@03000000242f00002d0000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BL@PDDHMPGF@wglCreateContextAttribsARB@ ; glfw3.lib(wgl_context.obj) - ??_C@_0EH@LGPPFAO@Cannot?5query?5entry?5point?5withou@ ; glfw3.lib(context.obj) - glfwGetFramebufferSize ; glfw3.lib(window.obj) - ??_C@_0BCB@KIGAAAPL@03000000f0250000c38300000000000@ ; glfw3.lib(input.obj) - glfwGetWindowPos ; glfw3.lib(window.obj) - __xmm@00080008000800080008000800080008 ; dllmain.obj - ??_C@_0CA@FNCFBEIG@Win32?3?5Failed?5to?5open?5clipboard@ ; glfw3.lib(win32_window.obj) - ??_C@_0BK@HGDBIG@wglGetExtensionsStringEXT@ ; glfw3.lib(wgl_context.obj) - ??_C@_0OA@BPMCGMAH@78696e7075740300000000000000000@ ; glfw3.lib(input.obj) - DefWindowProcW ; user32.lib(USER32.dll) - sprintf ; glfw3.lib(win32_joystick.obj) - UnhandledExceptionFilter ; kernel32.lib(KERNEL32.dll) - ??_C@_0DO@PGEACBCJ@Win32?3?5Vulkan?5instance?5missing?5@ ; glfw3.lib(win32_window.obj) - ??_C@_0BCE@CFNIKJCA@03000000c82d0000103800000000000@ ; glfw3.lib(input.obj) - __imp_strncpy ; ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - __imp_FlashWindow ; user32.lib(USER32.dll) - glfwGetGamepadState ; glfw3.lib(input.obj) - __imp_OffsetRect ; user32.lib(USER32.dll) - ??_C@_01PAPGNFGE@c@ ; glfw3.lib(null_window.obj) - ??_C@_0BA@BMKCDCKD@wglGetCurrentDC@ ; glfw3.lib(wgl_context.obj) - ??_C@_0CE@OHDHEPIL@Win32?3?5Failed?5to?5lock?5global?5ha@ ; glfw3.lib(win32_window.obj) - ??_C@_0BF@OGGDOHFN@WGL_ARB_pixel_format@ ; glfw3.lib(wgl_context.obj) - ??_C@_0BCA@PDBJCLJJ@030000006d04000019c200000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCJ@GDBCPJIF@030000000d0f0000840000000000000@ ; glfw3.lib(input.obj) - _glfwInputJoystickButton ; glfw3.lib(input.obj) - glfwSetCursorPosCallback ; glfw3.lib(input.obj) - ??_C@_0BCC@CJMNKOGI@03000000e3050000960500000000000@ ; glfw3.lib(input.obj) - ??_C@_0O@MGDACKOJ@no?5clear?5code@ ; stb_image.obj - ??_C@_0ME@PNFMJONN@030000007e050000062000000000000@ ; glfw3.lib(input.obj) - _glfwChooseVideoMode ; glfw3.lib(monitor.obj) - __imp_SetDeviceGammaRamp ; gdi32.lib(GDI32.dll) - ??_C@_0BD@NKJFFLKL@unsupported?5format@ ; stb_image.obj - ??_C@_01COCBENDE@7@ ; glfw3.lib(null_window.obj) - ??_C@_0BG@DGJLFNBN@Unknown?5XInput?5Device@ ; glfw3.lib(win32_joystick.obj) - glfwInit ; glfw3.lib(init.obj) - ??_C@_0BD@IINOPBDD@wglSwapIntervalEXT@ ; glfw3.lib(wgl_context.obj) - glfwSetWindowIcon ; glfw3.lib(window.obj) - infolog - pow ; ucrt.lib(api-ms-win-crt-math-l1-1-0.dll) - ??_C@_0CF@OGLFKBHA@WGL?3?5Failed?5to?5describe?5pixel?5f@ ; glfw3.lib(wgl_context.obj) - ??_C@_0JC@NGKIIHPA@03000000921200004b4600000000000@ ; glfw3.lib(input.obj) - TrackMouseEvent ; user32.lib(USER32.dll) - ??_C@_0FO@KAELFDNN@Vulkan?3?5Window?5surface?5creation@ ; glfw3.lib(vulkan.obj) - GetModuleHandleW ; kernel32.lib(KERNEL32.dll) - __imp_GetPropW ; user32.lib(USER32.dll) - ??_C@_07JNJHIMGH@bad?5bpp@ ; stb_image.obj - ??_C@_0BDH@LGMFPGNL@030000005e040000ea0200000000000@ ; glfw3.lib(input.obj) - ??_C@_0CN@JHECHMPF@OSMesa?3?5OpenGL?5ES?5is?5not?5availa@ ; glfw3.lib(osmesa_context.obj) - ??_C@_0O@OMNEJBKO@eglGetConfigs@ ; glfw3.lib(egl_context.obj) - _glfwGetMappingNameNull ; glfw3.lib(null_joystick.obj) - ??_C@_0M@DOFMJEMP@bad?5SOF?5len@ ; stb_image.obj - ??_C@_0P@PNCLKCLJ@bad?5DNL?5height@ ; stb_image.obj - __imp__initialize_onexit_table ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - _glfwGetEGLNativeWindowNull ; glfw3.lib(null_window.obj) - glfwGetVideoMode ; glfw3.lib(monitor.obj) - ??_C@_0BCH@BOPAENED@030000006e050000032000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BDA@LBDFNLMA@03000000c0110000014000000000000@ ; glfw3.lib(input.obj) - glfwSetKeyCallback ; glfw3.lib(input.obj) - ??_C@_0BCC@BGKKLNHG@030000005f140000c50100000000000@ ; glfw3.lib(input.obj) - __imp_EnumDisplaySettingsExW ; user32.lib(USER32.dll) - _glfwGetWindowOpacityNull ; glfw3.lib(null_window.obj) - _glfwRawMouseMotionSupportedWin32 ; glfw3.lib(win32_window.obj) - __imp_strcmp ; ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - ??_C@_0OJ@KFMPHKBC@0300000010000000820000000000000@ ; glfw3.lib(input.obj) - ??_C@_0O@IFDGNEHH@XInput?5Guitar@ ; glfw3.lib(win32_joystick.obj) - _glfwInputJoystickHat ; glfw3.lib(input.obj) - __imp_feof ; ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - EnumDisplayMonitors ; user32.lib(USER32.dll) - ??_C@_0DC@HFHALHIB@WGL?3?5The?5driver?5does?5not?5appear@ ; glfw3.lib(wgl_context.obj) - ??_C@_07PBILKAFL@Success@ ; glfw3.lib(vulkan.obj) - ??_C@_0CC@GOIKODMM@EGL?3?5Failed?5to?5create?5context?3?5@ ; glfw3.lib(egl_context.obj) - ??_C@_0CN@GOPDCGGI@OpenGL?5ES?5version?5string?5retrie@ ; glfw3.lib(context.obj) - SendMessageW ; user32.lib(USER32.dll) - ??_C@_0BCG@JCENNNEN@0300000063250000230500000000000@ ; glfw3.lib(input.obj) - ??_C@_0PI@JHAKKPHF@030000008f0e0000103000000000000@ ; glfw3.lib(input.obj) - ??_C@_0BJ@CIMJOHKL@WGL_ARB_framebuffer_sRGB@ ; glfw3.lib(wgl_context.obj) - ??_C@_0GC@KIFEGHB@03000000fa2d0000010000000000000@ ; glfw3.lib(input.obj) - _glfwSetCursorModeNull ; glfw3.lib(null_window.obj) - ??_C@_0BK@EIOPBJJH@Invalid?5client?5API?50x?$CF08X@ ; glfw3.lib(context.obj) - _glfwDestroyCursorWin32 ; glfw3.lib(win32_window.obj) - _glfwGetMonitorWorkareaWin32 ; glfw3.lib(win32_monitor.obj) - ??_C@_0BI@BFOJALMM@Invalid?5refresh?5rate?5?$CFi@ ; glfw3.lib(window.obj) - ??_C@_01OMGOGALD@u@ ; glfw3.lib(null_window.obj) - _glfwInitVulkan ; glfw3.lib(vulkan.obj) - __xmm@1c5a1c5a1c5a1c5a1c5a1c5a1c5a1c5a ; dllmain.obj - ??_C@_0BCO@ICLHBGLC@03000000d6200000600000000000000@ ; glfw3.lib(input.obj) - _glfwPlatformCreateTls ; glfw3.lib(win32_thread.obj) - _glfw_realloc ; glfw3.lib(init.obj) - ??_C@_0BCD@CGKCHHKM@78696e7075740400000000000000000@ ; glfw3.lib(input.obj) - __guard_memcpy_fptr ; vcruntime.lib(softmemtag.obj) - ??_C@_0P@GJNJCPDJ@too?5many?5codes@ ; stb_image.obj - ??_C@_0FN@NPOMMKHN@WGL?3?5A?5forward?5compatible?5OpenG@ ; glfw3.lib(wgl_context.obj) - _cexit ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - GetSystemMetrics ; user32.lib(USER32.dll) - ??_C@_0CC@NGDHIGBI@eglCreatePlatformWindowSurfaceE@ ; glfw3.lib(egl_context.obj) - ??_C@_0BCN@JADNPMFA@030000006f0e0000110100000000000@ ; glfw3.lib(input.obj) - __imp_DispatchMessageW ; user32.lib(USER32.dll) - ??_C@_0BP@NMKFFDCO@EGL_ANGLE_platform_angle_metal@ ; glfw3.lib(egl_context.obj) - glfwVulkanSupported ; glfw3.lib(vulkan.obj) - __imp__crt_atexit ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - _glfwCreateStandardCursorWin32 ; glfw3.lib(win32_window.obj) - glfwCreateWindow ; glfw3.lib(window.obj) - ??_C@_0BBE@BNPLHIOK@03000000ac0500003d0300000000000@ ; glfw3.lib(input.obj) - _glfwPostEmptyEventNull ; glfw3.lib(null_window.obj) - ??_C@_0BL@IKJGDNLO@Invalid?5cursor?5mode?50x?$CF08X@ ; glfw3.lib(input.obj) - ??_C@_0BDD@DODHFLKI@030000007e050000092000000000000@ ; glfw3.lib(input.obj) - ??_C@_0MJ@DMAMFLIE@030000001008000001e500000000000@ ; glfw3.lib(input.obj) - ??_C@_0PI@MHCFEKFM@03000000ff110000313300000000000@ ; glfw3.lib(input.obj) - ??_C@_0CH@GAPNPCHF@Win32?3?5Failed?5to?5register?5windo@ ; glfw3.lib(win32_window.obj) - ??_C@_0BBC@NNMIKKEI@03000000341a0000090800000000000@ ; glfw3.lib(input.obj) - _glfwInputFramebufferSize ; glfw3.lib(window.obj) - ??_C@_0EE@NKCAIGPH@A?5NativePixmapType?5argument?5doe@ ; glfw3.lib(egl_context.obj) - ??_C@_0BB@MAMHPNNC@GetDpiForMonitor@ ; glfw3.lib(win32_init.obj) - __imp_SendMessageW ; user32.lib(USER32.dll) - glfwWaitEventsTimeout ; glfw3.lib(window.obj) - glfwMaximizeWindow ; glfw3.lib(window.obj) - glfwSetCharModsCallback ; glfw3.lib(input.obj) - SetForegroundWindow ; user32.lib(USER32.dll) - __real@42c00000 ; glfw3.lib(win32_monitor.obj) - ??_C@_09DAEBACAB@bad?5masks@ ; stb_image.obj - ??_C@_0BCD@PNMMMGBA@030000008f0e0000143100000000000@ ; glfw3.lib(input.obj) - ??_C@_01INIBCBCB@f@ ; glfw3.lib(null_window.obj) - ??_C@_0BCA@JHGJKADI@03000000f0250000c18300000000000@ ; glfw3.lib(input.obj) - __imp_ReleaseCapture ; user32.lib(USER32.dll) - ??_C@_0MP@NNGGKFCK@0300000025090000001700000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCE@CONCKJMB@03000000c82d0000019000000000000@ ; glfw3.lib(input.obj) - ??_C@_0P@MADFBLIB@libGLES_CM?4dll@ ; glfw3.lib(egl_context.obj) - __imp_GetLastError ; kernel32.lib(KERNEL32.dll) - glfwGetWindowUserPointer ; glfw3.lib(window.obj) - ??_C@_0CG@DAAALEIC@The?5requested?5platform?5is?5unava@ ; glfw3.lib(init.obj) - _glfwSelectPlatform ; glfw3.lib(platform.obj) - ??_C@_0BCN@IFHHFAPH@030000006f0e00001a0100000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCP@LIBLBNIN@03000000d6200000c75700000000000@ ; glfw3.lib(input.obj) - _glfwHideWindowNull ; glfw3.lib(null_window.obj) - ??_C@_0BDA@PPKEBMHL@030000006d040000d2ca00000000000@ ; glfw3.lib(input.obj) - __imp_DeleteObject ; gdi32.lib(GDI32.dll) - _glfwGetGammaRampNull ; glfw3.lib(null_monitor.obj) - ??_C@_06DJHOIPC@?$CFs?3?5?$CFs@ ; glfw3.lib(win32_init.obj) - strstr ; vcruntime.lib(VCRUNTIME140.dll) - __scrt_initialize_mta ; MSVCRT.lib(utility_desktop.obj) - GetClientRect ; user32.lib(USER32.dll) - ??_C@_0OH@IPHKKKC@03000000790000001b1800000000000@ ; glfw3.lib(input.obj) - ??_C@_0BBJ@FKKMPNGK@03000000341a0000060800000000000@ ; glfw3.lib(input.obj) - _glfwMaximizeWindowWin32 ; glfw3.lib(win32_window.obj) - __imp_GetClientRect ; user32.lib(USER32.dll) - ??_C@_0BBD@GHNGPLFD@0300000038070000808400000000000@ ; glfw3.lib(input.obj) - ??_C@_0CL@GPJNIICL@Win32?3?5Failed?5to?5register?5raw?5i@ ; glfw3.lib(win32_window.obj) - __imp_CreateDCW ; gdi32.lib(GDI32.dll) - _glfwSetWindowMonitorWin32 ; glfw3.lib(win32_window.obj) - _glfwSetWindowSizeLimitsWin32 ; glfw3.lib(win32_window.obj) - BringWindowToTop ; user32.lib(USER32.dll) - glfwGetMonitorPhysicalSize ; glfw3.lib(monitor.obj) - ??_C@_0P@FCCEJHCC@XInputGetState@ ; glfw3.lib(win32_init.obj) - __imp_TlsFree ; kernel32.lib(KERNEL32.dll) - glfwSetWindowPosCallback ; glfw3.lib(window.obj) - ??_C@_0BBF@IGGJOAJN@03000000341a0000020800000000000@ ; glfw3.lib(input.obj) - ??_C@_0L@JLFHOCGA@OpenGL?5ES?5@ ; glfw3.lib(context.obj) - ??_C@_01ICJEACDI@?$DL@ ; glfw3.lib(null_window.obj) - ??_C@_0P@BBBFNDGG@wglMakeCurrent@ ; glfw3.lib(wgl_context.obj) - ??_C@_0FN@PJBCJBIL@The?5requested?5window?5is?5already@ ; glfw3.lib(vulkan.obj) - IsZoomed ; user32.lib(USER32.dll) - ??_C@_0BH@GIBFIFPN@EGL_KHR_create_context@ ; glfw3.lib(egl_context.obj) - _glfwTerminateWin32 ; glfw3.lib(win32_init.obj) - ??_C@_0BCA@NJAENDKN@03000000341a0000230800000000000@ ; glfw3.lib(input.obj) - ??_C@_0BB@LNEGOMA@no?5header?5height@ ; stb_image.obj - CreateRectRgn ; gdi32.lib(GDI32.dll) - _glfwGetPhysicalDevicePresentationSupportWin32 ; glfw3.lib(win32_window.obj) - ??_C@_0BO@IDEEMGNC@EGL_KHR_context_flush_control@ ; glfw3.lib(egl_context.obj) - ??_C@_0BP@OHJGLFIP@Win32?3?5Failed?5to?5create?5device@ ; glfw3.lib(win32_joystick.obj) - ??_C@_0BE@EFOBHOAB@VK_KHR_xlib_surface@ ; glfw3.lib(vulkan.obj) - __scrt_dllmain_exception_filter ; MSVCRT.lib(utility.obj) - ??_C@_0CF@EKIADPFB@WGL?3?5Failed?5to?5clear?5current?5co@ ; glfw3.lib(wgl_context.obj) - _glfwInputChar ; glfw3.lib(input.obj) - ??_C@_0BBG@IEDKEHBE@03000000790000000a0000000000000@ ; glfw3.lib(input.obj) - _glfwGetGammaRampWin32 ; glfw3.lib(win32_monitor.obj) - ??_C@_0BCK@MNABGIK@030000006b140000010300000000000@ ; glfw3.lib(input.obj) - ??_C@_19JBPKICJI@?$AAG?$AAL?$AAF?$AAW@ ; glfw3.lib(win32_window.obj) - __imp_GetWindowLongW ; user32.lib(USER32.dll) - ??_C@_0BH@PDIOJKKP@EGL?3?5API?5not?5available@ ; glfw3.lib(egl_context.obj) - glfwUpdateGamepadMappings ; glfw3.lib(input.obj) - _glfwInitWin32 ; glfw3.lib(win32_init.obj) - ??_C@_03LPIGJBNC@lib@ ; glfw3.lib(egl_context.obj) - ??_C@_06EBHLNDKL@dpleft@ ; glfw3.lib(input.obj) - ??_C@_01EANLCPLP@y@ ; glfw3.lib(input.obj) - __imp_ferror ; ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - __imp_GetLayeredWindowAttributes ; user32.lib(USER32.dll) - _glfwIconifyWindowNull ; glfw3.lib(null_window.obj) - ??_C@_0BDB@PPKHIPGK@0300000038070000813400000000000@ ; glfw3.lib(input.obj) - ??_C@_0BCB@GBOFCHI@03000000a30600000c0400000000000@ ; glfw3.lib(input.obj) - ??_C@_0KC@BDMHLJAH@0300000010280000090000000000000@ ; glfw3.lib(input.obj) - ??_C@_0N@DOKAJOHF@opengl32?4dll@ ; glfw3.lib(wgl_context.obj) - ??_C@_0BCG@JIGLIOKN@03000000d1180000009400000000000@ ; glfw3.lib(input.obj) - _glfwTerminateWGL ; glfw3.lib(wgl_context.obj) - _configure_narrow_argv ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - __imp_ScreenToClient ; user32.lib(USER32.dll) - __imp_fopen_s ; ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ??_C@_0DC@KKLJAJOK@OSMesa?3?5Forward?9compatible?5cont@ ; glfw3.lib(osmesa_context.obj) - ??_C@_0BG@IPJFJLIC@EGL_EXT_platform_base@ ; glfw3.lib(egl_context.obj) - __imp_GetClassLongPtrW ; user32.lib(USER32.dll) - __scrt_initialize_crt ; MSVCRT.lib(utility.obj) - ??_C@_0BC@DBAKKFEN@Invalid?5parameter@ ; glfw3.lib(win32_monitor.obj) - __imp_EnumDisplayDevicesW ; user32.lib(USER32.dll) - ??_C@_0CI@MMBFOOEA@Win32?3?5Failed?5to?5set?5device?5dat@ ; glfw3.lib(win32_joystick.obj) - glfwSetWindowOpacity ; glfw3.lib(window.obj) - glfwGetMonitorContentScale ; glfw3.lib(monitor.obj) - __xmm@11c8f9c311c8f9c311c8f9c311c8f9c3 ; dllmain.obj - __imp_GetMessageTime ; user32.lib(USER32.dll) - __imp_fseek ; ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - glfwGetWin32Monitor ; glfw3.lib(win32_monitor.obj) - ??_C@_01KJLJFBPL@8@ ; glfw3.lib(null_window.obj) - ??_C@_0O@EEJFKEKH@eglInitialize@ ; glfw3.lib(egl_context.obj) - _glfwInputWindowMonitor ; glfw3.lib(window.obj) - glfwGetEGLContext ; glfw3.lib(egl_context.obj) - glfwSetScrollCallback ; glfw3.lib(input.obj) - ??_C@_0BCD@BABDCDPH@030000004c050000cc0900000000000@ ; glfw3.lib(input.obj) - ??_C@_01GOHFPIOK@m@ ; glfw3.lib(null_window.obj) - GlobalAlloc ; kernel32.lib(KERNEL32.dll) - ??_C@_0BCB@FAGFKFBC@03000000c82d0000013000000000000@ ; glfw3.lib(input.obj) - __castguard_check_failure_fastfail ; MSVCRT.lib(guard_support.obj) - OpenClipboard ; user32.lib(USER32.dll) - __imp_GetModuleHandleW ; kernel32.lib(KERNEL32.dll) - ??_C@_0IN@KIPMJDI@03000000c82d0000045100000000000@ ; glfw3.lib(input.obj) - _glfwGetMonitorPosNull ; glfw3.lib(null_monitor.obj) - ??_C@_0BDE@NDAIINLM@0300000038070000843300000000000@ ; glfw3.lib(input.obj) - ??_C@_0BB@JDDMDGFO@XInput?5Dance?5Pad@ ; glfw3.lib(win32_joystick.obj) - ??_C@_0BBG@IKJMKIKH@03000000790000001c1800000000000@ ; glfw3.lib(input.obj) - _glfwInputWindowIconify ; glfw3.lib(window.obj) - glfwDestroyCursor ; glfw3.lib(input.obj) - glfwGetWindowContentScale ; glfw3.lib(window.obj) - ??_C@_0BCO@NNBOKIIL@030000006f0e00001e0100000000000@ ; glfw3.lib(input.obj) - ??_C@_0DI@GNLCAHHB@A?5requested?5layer?5is?5not?5presen@ ; glfw3.lib(vulkan.obj) - ??_C@_0L@BCINMEBJ@only?58?9bit@ ; stb_image.obj - ??_C@_0CJ@EFIFNOJC@Win32?3?5Failed?5to?5convert?5string@ ; glfw3.lib(win32_init.obj) - ??_C@_0N@POJLKMKK@bad?5IHDR?5len@ ; stb_image.obj - __imp_GlobalFree ; kernel32.lib(KERNEL32.dll) - __real@7fefffffffffffff ; glfw3.lib(window.obj) - ??_C@_0N@ODCBCBFN@BMP?5JPEG?1PNG@ ; stb_image.obj - ??_C@_05FAGFPHJG@start@ ; glfw3.lib(input.obj) - ??_C@_0BCH@HONEFEFO@030000000d0f00005c0000000000000@ ; glfw3.lib(input.obj) - _glfwCreateWindowSurfaceNull ; glfw3.lib(null_window.obj) - __scrt_get_show_window_mode ; MSVCRT.lib(utility_desktop.obj) - memmove ; vcruntime.lib(VCRUNTIME140.dll) - __imp_strstr ; vcruntime.lib(VCRUNTIME140.dll) - __scrt_dllmain_crt_thread_detach ; MSVCRT.lib(utility.obj) - __imp_EnumDisplaySettingsW ; user32.lib(USER32.dll) - ??_C@_0BN@OHLJPDPM@EGL_ANGLE_platform_angle_d3d@ ; glfw3.lib(egl_context.obj) - _initialize_onexit_table ; ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ??_C@_07BIDACDEF@0?5width@ ; stb_image.obj - ??_C@_0BBL@HCLFABAI@03000000bc200000641200000000000@ ; glfw3.lib(input.obj) - ??_C@_0OM@PAPEIDEH@030000000d0f0000400000000000000@ ; glfw3.lib(input.obj) - glfwShowWindow ; glfw3.lib(window.obj) - __real@437f0000 ; dllmain.obj - ??_C@_0CE@KDBKFLEE@Invalid?5argument?5for?5enum?5param@ ; glfw3.lib(init.obj) - __imp_RegisterClassExW ; user32.lib(USER32.dll) - __xmm@00000008000000080000000800000008 ; glfw3.lib(window.obj) - ??_C@_0CB@DDANHPKI@can?8t?5fopen?0?5Unable?5to?5open?5fil@ ; stb_image.obj - __imp_GetCurrentProcess ; kernel32.lib(KERNEL32.dll) - ??_C@_0BJ@MBAAGFCG@AdjustWindowRectExForDpi@ ; glfw3.lib(win32_init.obj) - _CRT_INIT ; MSVCRT.lib(dll_dllmain.obj) - __imp_ChoosePixelFormat ; gdi32.lib(GDI32.dll) - glfwGetEGLDisplay ; glfw3.lib(egl_context.obj) - _glfwInitNull ; glfw3.lib(null_init.obj) - EnterCriticalSection ; kernel32.lib(KERNEL32.dll) - glfwSetWindowPos ; glfw3.lib(window.obj) - __real@477fff00 ; dllmain.obj - ??_C@_0BDN@OKDOLNP@03000000222c0000002300000000000@ ; glfw3.lib(input.obj) - DescribePixelFormat ; gdi32.lib(GDI32.dll) - ??_C@_0FH@MCDKNJAI@Initialization?5of?5an?5object?5cou@ ; glfw3.lib(vulkan.obj) - __report_securityfailureEx ; MSVCRT.lib(gs_report.obj) - ??_C@_0M@MHDBFHD@unsupported@ ; stb_image.obj - ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA ; MSVCRT.lib(default_local_stdio_options.obj) - _glfwRawMouseMotionSupportedNull ; glfw3.lib(null_window.obj) - __scrt_dllmain_uninitialize_c ; MSVCRT.lib(utility.obj) - ??_C@_09IFDKCGFO@bad?5delta@ ; stb_image.obj - ??_C@_0BCJ@JCLGLLDN@03000000d620000013a700000000000@ ; glfw3.lib(input.obj) - PeekMessageW ; user32.lib(USER32.dll) - ??_C@_0BBO@FCIHICKG@03000000b5070000120300000000000@ ; glfw3.lib(input.obj) - GetStartupInfoW ; kernel32.lib(KERNEL32.dll) - glfwSetWindowAttrib ; glfw3.lib(window.obj) - ??_C@_0CA@OJFEOPKP@EGL_KHR_create_context_no_error@ ; glfw3.lib(egl_context.obj) - _glfwConnectNull ; glfw3.lib(null_init.obj) - ??_C@_0BK@NKEDGNNN@EnableNonClientDpiScaling@ ; glfw3.lib(win32_init.obj) - __imp___current_exception ; vcruntime.lib(VCRUNTIME140.dll) - ??_C@_04EDFFKKLO@dpup@ ; glfw3.lib(input.obj) - _glfwGetScancodeNameNull ; glfw3.lib(null_window.obj) - ??_C@_0BM@KHOPPJNJ@EGL?3?5No?5EGLConfigs?5returned@ ; glfw3.lib(egl_context.obj) - __imp_DragQueryFileW ; shell32.lib(SHELL32.dll) - TerminateProcess ; kernel32.lib(KERNEL32.dll) - ??_C@_0BE@PJBNGDBE@wrong?5channel?5count@ ; stb_image.obj - ??_C@_0BCG@NPOEDNBE@030000000d0f00008a0000000000000@ ; glfw3.lib(input.obj) - ??_C@_0CN@FALFGDO@No?5version?5found?5in?5OpenGL?5ES?5v@ ; glfw3.lib(context.obj) - ??_C@_0O@CHBCDKKC@wrong?5version@ ; stb_image.obj - strcmp ; ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - ??_C@_01PFHFFBPC@t@ ; glfw3.lib(null_window.obj) - ??_C@_0BCB@JPNPNPJC@0300000079000000220100000000000@ ; glfw3.lib(input.obj) - 已完成对 /ORDER 选项的处理 - 已丢弃 "`string'" (??_C@_07CAIJGPF@file?3?1?1@)(从 glfw3.lib(init.obj) 中) - 已丢弃 "`string'" (??_C@_0CB@DDANHPKI@can?8t?5fopen?0?5Unable?5to?5open?5fil@)(从 stb_image.obj 中) - 已丢弃 __CastGuardVftablesStart(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __CastGuardVftablesEnd(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 $unwind$stbi__cpuid3(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__sse2_available(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__start_callbacks(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__start_file(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__fopen(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__get8(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__at_eof(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__build_fast_ac(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__jpeg_huff_decode(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__extend_receive(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__jpeg_get_bits(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__jpeg_get_bit(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__skip_jpeg_junk_at_end(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__jpeg_load(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__jpeg_test(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__zreceive(从 stb_image.obj 中) - 已丢弃 $chain$0$stbi__zreceive(从 stb_image.obj 中) - 已丢弃 $chain$1$stbi__zreceive(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__zhuffman_decode(从 stb_image.obj 中) - 已丢弃 $unwind$stbi_zlib_decode_malloc_guesssize_headerflag(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__get_chunk_header(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__paeth(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__expand_png_palette(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__de_iphone(从 stb_image.obj 中) - 已丢弃 $chain$0$stbi__de_iphone(从 stb_image.obj 中) - 已丢弃 $chain$1$stbi__de_iphone(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__do_png(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__png_load(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__png_test(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__bmp_test_raw(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__bmp_test(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__psd_test(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__pic_test_core(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__pic_test(从 stb_image.obj 中) - 已丢弃 $chain$2$stbi__pic_test(从 stb_image.obj 中) - 已丢弃 $chain$3$stbi__pic_test(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__gif_test(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__hdr_test_core(从 stb_image.obj 中) - 已丢弃 $unwind$stbi__pnm_test(从 stb_image.obj 中) - 已丢弃 $unwind$_glfwParseUriList(从 glfw3.lib(init.obj) 中) - 已丢弃 $chain$1$_glfwParseUriList(从 glfw3.lib(init.obj) 中) - 已丢弃 $chain$2$_glfwParseUriList(从 glfw3.lib(init.obj) 中) - 已丢弃 $chain$3$_glfwParseUriList(从 glfw3.lib(init.obj) 中) - 已丢弃 $unwind$__report_securityfailure(从 MSVCRT.lib(gs_report.obj) 中) - 已丢弃 $unwind$__report_securityfailureEx(从 MSVCRT.lib(gs_report.obj) 中) - 已丢弃 $unwind$__report_rangecheckfailure(从 MSVCRT.lib(gs_report.obj) 中) - 已丢弃 $unwind$capture_current_context(从 MSVCRT.lib(gs_report.obj) 中) - 已丢弃 $unwind$__get_entropy(从 MSVCRT.lib(gs_support.obj) 中) - 已丢弃 $unwind$atexit(从 MSVCRT.lib(utility.obj) 中) - 已丢弃 $unwind$_onexit(从 MSVCRT.lib(utility.obj) 中) - 已丢弃 $unwind$?configure_argv@__scrt_narrow_argv_policy@@SAHXZ(从 MSVCRT.lib(utility.obj) 中) - 已丢弃 $unwind$__scrt_get_show_window_mode(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃 $unwind$__scrt_is_managed_app(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃 $unwind$__scrt_unhandled_exception_filter(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃 $unwind$__castguard_check_failure_os_handled_wrapper(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 $unwind$__castguard_check_failure_user_handled_wrapper(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 $unwind$__castguard_check_failure_os_handled(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 $unwind$__castguard_check_failure_user_handled(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 $unwind$__castguard_slow_path_check_os_handled(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 $unwind$__castguard_slow_path_check_user_handled(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 "unsigned __int64 `__local_stdio_printf_options'::`2'::_OptionsStorage" (?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA)(从 MSVCRT.lib(default_local_stdio_options.obj) 中) - 已丢弃 "unsigned __int64 `__local_stdio_scanf_options'::`2'::_OptionsStorage" (?_OptionsStorage@?1??__local_stdio_scanf_options@@9@4_KA)(从 MSVCRT.lib(default_local_stdio_options.obj) 中) - 已丢弃 __castguard_check_failure_user_handled_fptr(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __isa_available_default(从 dllmain.obj 中) - 已丢弃 $pdata$_glfwParseUriList(从 glfw3.lib(init.obj) 中) - 已丢弃 $pdata$1$_glfwParseUriList(从 glfw3.lib(init.obj) 中) - 已丢弃 $pdata$2$_glfwParseUriList(从 glfw3.lib(init.obj) 中) - 已丢弃 $pdata$3$_glfwParseUriList(从 glfw3.lib(init.obj) 中) - 已丢弃 $pdata$__report_securityfailure(从 MSVCRT.lib(gs_report.obj) 中) - 已丢弃 $pdata$__report_securityfailureEx(从 MSVCRT.lib(gs_report.obj) 中) - 已丢弃 $pdata$__report_rangecheckfailure(从 MSVCRT.lib(gs_report.obj) 中) - 已丢弃 $pdata$capture_current_context(从 MSVCRT.lib(gs_report.obj) 中) - 已丢弃 $pdata$__get_entropy(从 MSVCRT.lib(gs_support.obj) 中) - 已丢弃 $pdata$atexit(从 MSVCRT.lib(utility.obj) 中) - 已丢弃 $pdata$_onexit(从 MSVCRT.lib(utility.obj) 中) - 已丢弃 $pdata$?configure_argv@__scrt_narrow_argv_policy@@SAHXZ(从 MSVCRT.lib(utility.obj) 中) - 已丢弃 $pdata$__scrt_get_show_window_mode(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃 $pdata$__scrt_is_managed_app(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃 $pdata$__scrt_unhandled_exception_filter(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃 $pdata$__castguard_check_failure_os_handled_wrapper(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 $pdata$__castguard_check_failure_user_handled_wrapper(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 $pdata$__castguard_check_failure_os_handled(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 $pdata$__castguard_check_failure_user_handled(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 $pdata$__castguard_slow_path_check_os_handled(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 $pdata$__castguard_slow_path_check_user_handled(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 $pdata$stbi__pnm_test(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__hdr_test_core(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__gif_test(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__pic_test(从 stb_image.obj 中) - 已丢弃 $pdata$2$stbi__pic_test(从 stb_image.obj 中) - 已丢弃 $pdata$3$stbi__pic_test(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__pic_test_core(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__psd_test(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__bmp_test(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__bmp_test_raw(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__png_test(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__png_load(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__do_png(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__de_iphone(从 stb_image.obj 中) - 已丢弃 $pdata$0$stbi__de_iphone(从 stb_image.obj 中) - 已丢弃 $pdata$1$stbi__de_iphone(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__expand_png_palette(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__paeth(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__get_chunk_header(从 stb_image.obj 中) - 已丢弃 $pdata$stbi_zlib_decode_malloc_guesssize_headerflag(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__zhuffman_decode(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__zreceive(从 stb_image.obj 中) - 已丢弃 $pdata$0$stbi__zreceive(从 stb_image.obj 中) - 已丢弃 $pdata$1$stbi__zreceive(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__jpeg_test(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__jpeg_load(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__skip_jpeg_junk_at_end(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__jpeg_get_bit(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__jpeg_get_bits(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__extend_receive(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__jpeg_huff_decode(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__build_fast_ac(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__at_eof(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__get8(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__fopen(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__start_file(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__start_callbacks(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__sse2_available(从 stb_image.obj 中) - 已丢弃 $pdata$stbi__cpuid3(从 stb_image.obj 中) - 已丢弃“.idata$4”(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃“.idata$4”(从 vcruntime.lib(VCRUNTIME140.dll) 中) - 已丢弃“.idata$4”(从 vcruntime.lib(VCRUNTIME140.dll) 中) - 已丢弃“.idata$4”(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃“.idata$4”(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃“.idata$4”(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃“.idata$4”(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃“.idata$4”(从 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中) - 已丢弃“.idata$4”(从 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) 中) - 已丢弃 __imp_GetStartupInfoW(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 __imp___current_exception_context(从 vcruntime.lib(VCRUNTIME140.dll) 中) - 已丢弃 __imp___current_exception(从 vcruntime.lib(VCRUNTIME140.dll) 中) - 已丢弃 __imp__crt_atexit(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃 __imp__crt_at_quick_exit(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃 __imp_terminate(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃 __imp__register_onexit_function(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃 __imp_ftell(从 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中) - 已丢弃 __imp_strtok(从 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) 中) - 已丢弃“.idata$6”(从 vcruntime.lib(VCRUNTIME140.dll) 中) - 已丢弃“.idata$6”(从 vcruntime.lib(VCRUNTIME140.dll) 中) - 已丢弃“.idata$6”(从 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中) - 已丢弃“.idata$6”(从 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) 中) - 已丢弃“.idata$6”(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃“.idata$6”(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃“.idata$6”(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃“.idata$6”(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃“.idata$6”(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 __check_isa_support(从 intrinsic.obj 中) - 已丢弃 check_isa(从 intrinsic.obj 中) - 已丢弃 load_intrinsic_sse(从 intrinsic.obj 中) - 已丢弃 load_intrinsic_avx(从 intrinsic.obj 中) - 已丢弃 load_intrinsic_512(从 intrinsic.obj 中) - 已丢弃 stbi__cpuid3(从 stb_image.obj 中) - 已丢弃 stbi__sse2_available(从 stb_image.obj 中) - 已丢弃 stbi__start_callbacks(从 stb_image.obj 中) - 已丢弃 stbi__start_file(从 stb_image.obj 中) - 已丢弃 stbi__rewind(从 stb_image.obj 中) - 已丢弃 stbi__err(从 stb_image.obj 中) - 已丢弃 stbi__malloc(从 stb_image.obj 中) - 已丢弃 stbi__addsizes_valid(从 stb_image.obj 中) - 已丢弃 stbi__mul2sizes_valid(从 stb_image.obj 中) - 已丢弃 stbi__mad2sizes_valid(从 stb_image.obj 中) - 已丢弃 stbi__mad3sizes_valid(从 stb_image.obj 中) - 已丢弃 stbi__malloc_mad2(从 stb_image.obj 中) - 已丢弃 stbi__malloc_mad3(从 stb_image.obj 中) - 已丢弃 stbi__fopen(从 stb_image.obj 中) - 已丢弃 stbi__get8(从 stb_image.obj 中) - 已丢弃 stbi__at_eof(从 stb_image.obj 中) - 已丢弃 stbi__compute_y(从 stb_image.obj 中) - 已丢弃 stbi__compute_y_16(从 stb_image.obj 中) - 已丢弃 stbi__build_fast_ac(从 stb_image.obj 中) - 已丢弃 stbi__jpeg_huff_decode(从 stb_image.obj 中) - 已丢弃 stbi__extend_receive(从 stb_image.obj 中) - 已丢弃 stbi__jpeg_get_bits(从 stb_image.obj 中) - 已丢弃 stbi__jpeg_get_bit(从 stb_image.obj 中) - 已丢弃 stbi__clamp(从 stb_image.obj 中) - 已丢弃 stbi__jpeg_reset(从 stb_image.obj 中) - 已丢弃 stbi__jpeg_dequantize(从 stb_image.obj 中) - 已丢弃 stbi__skip_jpeg_junk_at_end(从 stb_image.obj 中) - 已丢弃 stbi__cleanup_jpeg(从 stb_image.obj 中) - 已丢弃 stbi__blinn_8x8(从 stb_image.obj 中) - 已丢弃 stbi__jpeg_load(从 stb_image.obj 中) - 已丢弃 stbi__jpeg_test(从 stb_image.obj 中) - 已丢弃 stbi__bitreverse16(从 stb_image.obj 中) - 已丢弃 stbi__bit_reverse(从 stb_image.obj 中) - 已丢弃 stbi__zeof(从 stb_image.obj 中) - 已丢弃 stbi__zget8(从 stb_image.obj 中) - 已丢弃 stbi__zreceive(从 stb_image.obj 中) - 已丢弃 stbi__zhuffman_decode(从 stb_image.obj 中) - 已丢弃 stbi__parse_zlib_header(从 stb_image.obj 中) - 已丢弃 stbi__do_zlib(从 stb_image.obj 中) - 已丢弃 stbi_zlib_decode_malloc_guesssize_headerflag(从 stb_image.obj 中) - 已丢弃 stbi__get_chunk_header(从 stb_image.obj 中) - 已丢弃 stbi__paeth(从 stb_image.obj 中) - 已丢弃 stbi__compute_transparency(从 stb_image.obj 中) - 已丢弃 stbi__compute_transparency16(从 stb_image.obj 中) - 已丢弃 stbi__expand_png_palette(从 stb_image.obj 中) - 已丢弃 stbi__de_iphone(从 stb_image.obj 中) - 已丢弃 stbi__do_png(从 stb_image.obj 中) - 已丢弃 stbi__png_load(从 stb_image.obj 中) - 已丢弃 stbi__png_test(从 stb_image.obj 中) - 已丢弃 stbi__bmp_test_raw(从 stb_image.obj 中) - 已丢弃 stbi__bmp_test(从 stb_image.obj 中) - 已丢弃 stbi__bitcount(从 stb_image.obj 中) - 已丢弃 stbi__shiftsigned(从 stb_image.obj 中) - 已丢弃 stbi__tga_get_comp(从 stb_image.obj 中) - 已丢弃 stbi__psd_test(从 stb_image.obj 中) - 已丢弃 stbi__pic_test_core(从 stb_image.obj 中) - 已丢弃 stbi__copyval(从 stb_image.obj 中) - 已丢弃 stbi__pic_test(从 stb_image.obj 中) - 已丢弃 stbi__gif_test(从 stb_image.obj 中) - 已丢弃 stbi__hdr_test_core(从 stb_image.obj 中) - 已丢弃 stbi__pnm_test(从 stb_image.obj 中) - 已丢弃 stbi__pnm_isspace(从 stb_image.obj 中) - 已丢弃 stbi__pnm_isdigit(从 stb_image.obj 中) - 已丢弃 _glfwEncodeUTF8(从 glfw3.lib(init.obj) 中) - 已丢弃 _glfwParseUriList(从 glfw3.lib(init.obj) 中) - 已丢弃 __report_rangecheckfailure(从 MSVCRT.lib(gs_report.obj) 中) - 已丢弃 __report_securityfailure(从 MSVCRT.lib(gs_report.obj) 中) - 已丢弃 __report_securityfailureEx(从 MSVCRT.lib(gs_report.obj) 中) - 已丢弃 capture_current_context(从 MSVCRT.lib(gs_report.obj) 中) - 已丢弃 "int __cdecl dllmain_raw(struct HINSTANCE__ * const,unsigned long,void * const)" (?dllmain_raw@@YAHQEAUHINSTANCE__@@KQEAX@Z)(从 MSVCRT.lib(dll_dllmain.obj) 中) - 已丢弃 _CRT_INIT(从 MSVCRT.lib(dll_dllmain.obj) 中) - 已丢弃 __get_entropy(从 MSVCRT.lib(gs_support.obj) 中) - 已丢弃 "public: static int __cdecl __scrt_narrow_argv_policy::configure_argv(void)" (?configure_argv@__scrt_narrow_argv_policy@@SAHXZ)(从 MSVCRT.lib(utility.obj) 中) - 已丢弃 "struct _IMAGE_SECTION_HEADER * __cdecl find_pe_section(unsigned char * const,unsigned __int64)" (?find_pe_section@@YAPEAU_IMAGE_SECTION_HEADER@@QEAE_K@Z)(从 MSVCRT.lib(utility.obj) 中) - 已丢弃 "public: static int __cdecl __scrt_narrow_environment_policy::initialize_environment(void)" (?initialize_environment@__scrt_narrow_environment_policy@@SAHXZ)(从 MSVCRT.lib(utility.obj) 中) - 已丢弃 "bool __cdecl is_potentially_valid_image_base(void * const)" (?is_potentially_valid_image_base@@YA_NQEAX@Z)(从 MSVCRT.lib(utility.obj) 中) - 已丢弃 NtCurrentTeb(从 MSVCRT.lib(utility.obj) 中) - 已丢弃 _onexit(从 MSVCRT.lib(utility.obj) 中) - 已丢弃 at_quick_exit(从 MSVCRT.lib(utility.obj) 中) - 已丢弃 atexit(从 MSVCRT.lib(utility.obj) 中) - 已丢弃 __scrt_get_show_window_mode(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃 __scrt_initialize_mta(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃 __scrt_initialize_winrt(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃 __scrt_is_managed_app(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃 __scrt_set_unhandled_exception_filter(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃 __scrt_stub_for_initialize_mta(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃 __scrt_unhandled_exception_filter(从 MSVCRT.lib(utility_desktop.obj) 中) - 已丢弃 ReadNoFence64(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 ReadPointerNoFence(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_check_failure_debugbreak(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_check_failure_fastfail(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_check_failure_nop(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_check_failure_os_handled(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_check_failure_os_handled_wrapper(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_check_failure_user_handled(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_check_failure_user_handled_wrapper(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_compat_check(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_set_user_handler(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_slow_path_check_debugbreak(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_slow_path_check_fastfail(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_slow_path_check_nop(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_slow_path_check_os_handled(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_slow_path_check_user_handled(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __castguard_slow_path_compat_check(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 _guard_icall_checks_enforced(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 _guard_rf_checks_enforced(从 MSVCRT.lib(guard_support.obj) 中) - 已丢弃 __current_exception(从 vcruntime.lib(VCRUNTIME140.dll) 中) - 已丢弃 __current_exception_context(从 vcruntime.lib(VCRUNTIME140.dll) 中) - 已丢弃 ftell(从 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中) - 已丢弃 ferror(从 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中) - 已丢弃 fclose(从 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中) - 已丢弃 realloc(从 ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) 中) - 已丢弃 fseek(从 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中) - 已丢弃 fgetc(从 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中) - 已丢弃 strncmp(从 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) 中) - 已丢弃 fopen_s(从 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中) - 已丢弃 strtol(从 ucrt.lib(api-ms-win-crt-convert-l1-1-0.dll) 中) - 已丢弃 ldexp(从 ucrt.lib(api-ms-win-crt-math-l1-1-0.dll) 中) - 已丢弃 free(从 ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) 中) - 已丢弃 ungetc(从 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中) - 已丢弃 feof(从 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中) - 已丢弃 fread(从 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中) - 已丢弃 malloc(从 ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) 中) - 已丢弃 strcpy_s(从 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) 中) - 已丢弃 strncpy(从 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) 中) - 已丢弃 __stdio_common_vsscanf(从 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中) - 已丢弃 strcspn(从 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) 中) - 已丢弃 strspn(从 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) 中) - 已丢弃 strtoul(从 ucrt.lib(api-ms-win-crt-convert-l1-1-0.dll) 中) - 已丢弃 strtok(从 ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) 中) - 已丢弃 __stdio_common_vsprintf(从 ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) 中) - 已丢弃 qsort(从 ucrt.lib(api-ms-win-crt-utility-l1-1-0.dll) 中) - 已丢弃 _register_onexit_function(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃 _crt_atexit(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃 _crt_at_quick_exit(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃 terminate(从 ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) 中) - 已丢弃 InitializeCriticalSection(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 EnterCriticalSection(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 LeaveCriticalSection(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 DeleteCriticalSection(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 TlsAlloc(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 TlsGetValue(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 TlsSetValue(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 TlsFree(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 QueryPerformanceCounter(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 QueryPerformanceFrequency(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 VerSetConditionMask(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 GetLastError(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 GetModuleHandleExW(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 FormatMessageW(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 MultiByteToWideChar(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 WideCharToMultiByte(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 FreeLibrary(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 GetProcAddress(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 LoadLibraryA(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 GetModuleHandleW(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 GlobalAlloc(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 GlobalUnlock(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 GlobalLock(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 GlobalFree(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 SetThreadExecutionState(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 RtlCaptureContext(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 RtlLookupFunctionEntry(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 RtlVirtualUnwind(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 UnhandledExceptionFilter(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 SetUnhandledExceptionFilter(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 GetCurrentProcess(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 TerminateProcess(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 IsProcessorFeaturePresent(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 GetCurrentProcessId(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 GetCurrentThreadId(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 GetSystemTimeAsFileTime(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 InitializeSListHead(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 IsDebuggerPresent(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 GetStartupInfoW(从 kernel32.lib(KERNEL32.dll) 中) - 已丢弃 TranslateMessage(从 user32.lib(USER32.dll) 中) - 已丢弃 DispatchMessageW(从 user32.lib(USER32.dll) 中) - 已丢弃 PeekMessageW(从 user32.lib(USER32.dll) 中) - 已丢弃 RegisterDeviceNotificationW(从 user32.lib(USER32.dll) 中) - 已丢弃 UnregisterDeviceNotification(从 user32.lib(USER32.dll) 中) - 已丢弃 DefWindowProcW(从 user32.lib(USER32.dll) 中) - 已丢弃 UnregisterClassW(从 user32.lib(USER32.dll) 中) - 已丢弃 RegisterClassExW(从 user32.lib(USER32.dll) 中) - 已丢弃 CreateWindowExW(从 user32.lib(USER32.dll) 中) - 已丢弃 DestroyWindow(从 user32.lib(USER32.dll) 中) - 已丢弃 ShowWindow(从 user32.lib(USER32.dll) 中) - 已丢弃 ToUnicode(从 user32.lib(USER32.dll) 中) - 已丢弃 MapVirtualKeyW(从 user32.lib(USER32.dll) 中) - 已丢弃 GetDC(从 user32.lib(USER32.dll) 中) - 已丢弃 ReleaseDC(从 user32.lib(USER32.dll) 中) - 已丢弃 ChangeDisplaySettingsExW(从 user32.lib(USER32.dll) 中) - 已丢弃 EnumDisplaySettingsW(从 user32.lib(USER32.dll) 中) - 已丢弃 EnumDisplaySettingsExW(从 user32.lib(USER32.dll) 中) - 已丢弃 EnumDisplayDevicesW(从 user32.lib(USER32.dll) 中) - 已丢弃 GetMonitorInfoW(从 user32.lib(USER32.dll) 中) - 已丢弃 EnumDisplayMonitors(从 user32.lib(USER32.dll) 中) - 已丢弃 TrackMouseEvent(从 user32.lib(USER32.dll) 中) - 已丢弃 GetMessageTime(从 user32.lib(USER32.dll) 中) - 已丢弃 SendMessageW(从 user32.lib(USER32.dll) 中) - 已丢弃 PostMessageW(从 user32.lib(USER32.dll) 中) - 已丢弃 WaitMessage(从 user32.lib(USER32.dll) 中) - 已丢弃 GetLayeredWindowAttributes(从 user32.lib(USER32.dll) 中) - 已丢弃 SetLayeredWindowAttributes(从 user32.lib(USER32.dll) 中) - 已丢弃 FlashWindow(从 user32.lib(USER32.dll) 中) - 已丢弃 MoveWindow(从 user32.lib(USER32.dll) 中) - 已丢弃 SetWindowPos(从 user32.lib(USER32.dll) 中) - 已丢弃 GetWindowPlacement(从 user32.lib(USER32.dll) 中) - 已丢弃 SetWindowPlacement(从 user32.lib(USER32.dll) 中) - 已丢弃 IsWindowVisible(从 user32.lib(USER32.dll) 中) - 已丢弃 IsIconic(从 user32.lib(USER32.dll) 中) - 已丢弃 BringWindowToTop(从 user32.lib(USER32.dll) 中) - 已丢弃 IsZoomed(从 user32.lib(USER32.dll) 中) - 已丢弃 OpenClipboard(从 user32.lib(USER32.dll) 中) - 已丢弃 CloseClipboard(从 user32.lib(USER32.dll) 中) - 已丢弃 SetClipboardData(从 user32.lib(USER32.dll) 中) - 已丢弃 GetClipboardData(从 user32.lib(USER32.dll) 中) - 已丢弃 EmptyClipboard(从 user32.lib(USER32.dll) 中) - 已丢弃 SetFocus(从 user32.lib(USER32.dll) 中) - 已丢弃 GetActiveWindow(从 user32.lib(USER32.dll) 中) - 已丢弃 GetKeyState(从 user32.lib(USER32.dll) 中) - 已丢弃 SetCapture(从 user32.lib(USER32.dll) 中) - 已丢弃 ReleaseCapture(从 user32.lib(USER32.dll) 中) - 已丢弃 MsgWaitForMultipleObjects(从 user32.lib(USER32.dll) 中) - 已丢弃 GetSystemMetrics(从 user32.lib(USER32.dll) 中) - 已丢弃 SetForegroundWindow(从 user32.lib(USER32.dll) 中) - 已丢弃 SetPropW(从 user32.lib(USER32.dll) 中) - 已丢弃 GetPropW(从 user32.lib(USER32.dll) 中) - 已丢弃 RemovePropW(从 user32.lib(USER32.dll) 中) - 已丢弃 SetWindowTextW(从 user32.lib(USER32.dll) 中) - 已丢弃 GetClientRect(从 user32.lib(USER32.dll) 中) - 已丢弃 GetWindowRect(从 user32.lib(USER32.dll) 中) - 已丢弃 AdjustWindowRectEx(从 user32.lib(USER32.dll) 中) - 已丢弃 SetCursorPos(从 user32.lib(USER32.dll) 中) - 已丢弃 SetCursor(从 user32.lib(USER32.dll) 中) - 已丢弃 GetCursorPos(从 user32.lib(USER32.dll) 中) - 已丢弃 ClientToScreen(从 user32.lib(USER32.dll) 中) - 已丢弃 ScreenToClient(从 user32.lib(USER32.dll) 中) - 已丢弃 WindowFromPoint(从 user32.lib(USER32.dll) 中) - 已丢弃 ClipCursor(从 user32.lib(USER32.dll) 中) - 已丢弃 SetRect(从 user32.lib(USER32.dll) 中) - 已丢弃 OffsetRect(从 user32.lib(USER32.dll) 中) - 已丢弃 PtInRect(从 user32.lib(USER32.dll) 中) - 已丢弃 GetWindowLongW(从 user32.lib(USER32.dll) 中) - 已丢弃 SetWindowLongW(从 user32.lib(USER32.dll) 中) - 已丢弃 GetClassLongPtrW(从 user32.lib(USER32.dll) 中) - 已丢弃 LoadCursorW(从 user32.lib(USER32.dll) 中) - 已丢弃 DestroyIcon(从 user32.lib(USER32.dll) 中) - 已丢弃 LoadImageW(从 user32.lib(USER32.dll) 中) - 已丢弃 CreateIconIndirect(从 user32.lib(USER32.dll) 中) - 已丢弃 SystemParametersInfoW(从 user32.lib(USER32.dll) 中) - 已丢弃 MonitorFromWindow(从 user32.lib(USER32.dll) 中) - 已丢弃 GetRawInputData(从 user32.lib(USER32.dll) 中) - 已丢弃 RegisterRawInputDevices(从 user32.lib(USER32.dll) 中) - 已丢弃 GetRawInputDeviceInfoA(从 user32.lib(USER32.dll) 中) - 已丢弃 GetRawInputDeviceList(从 user32.lib(USER32.dll) 中) - 已丢弃 CreateDCW(从 gdi32.lib(GDI32.dll) 中) - 已丢弃 DeleteDC(从 gdi32.lib(GDI32.dll) 中) - 已丢弃 GetDeviceCaps(从 gdi32.lib(GDI32.dll) 中) - 已丢弃 GetDeviceGammaRamp(从 gdi32.lib(GDI32.dll) 中) - 已丢弃 SetDeviceGammaRamp(从 gdi32.lib(GDI32.dll) 中) - 已丢弃 CreateBitmap(从 gdi32.lib(GDI32.dll) 中) - 已丢弃 CreateRectRgn(从 gdi32.lib(GDI32.dll) 中) - 已丢弃 DeleteObject(从 gdi32.lib(GDI32.dll) 中) - 已丢弃 CreateDIBSection(从 gdi32.lib(GDI32.dll) 中) - 已丢弃 ChoosePixelFormat(从 gdi32.lib(GDI32.dll) 中) - 已丢弃 DescribePixelFormat(从 gdi32.lib(GDI32.dll) 中) - 已丢弃 SetPixelFormat(从 gdi32.lib(GDI32.dll) 中) - 已丢弃 SwapBuffers(从 gdi32.lib(GDI32.dll) 中) - 已丢弃 DragQueryFileW(从 shell32.lib(SHELL32.dll) 中) - 已丢弃 DragQueryPoint(从 shell32.lib(SHELL32.dll) 中) - 已丢弃 DragFinish(从 shell32.lib(SHELL32.dll) 中) - 已丢弃 DragAcceptFiles(从 shell32.lib(SHELL32.dll) 中) - 已选择符号: - extensionSupportedOSMesa (在 glfw3.lib(osmesa_context.obj) 中) - 已替换符号: - __scrt_stub_for_is_c_termination_complete (在 MSVCRT.lib(ucrt_stubs.obj) 中) - _glfwGetPhysicalDevicePresentationSupportNull (在 glfw3.lib(null_window.obj) 中) - _glfwGetEGLPlatformNull (在 glfw3.lib(null_window.obj) 中) - _glfwGetEGLNativeWindowNull (在 glfw3.lib(null_window.obj) 中) - _glfwGetEGLNativeDisplayNull (在 glfw3.lib(null_window.obj) 中) - _glfwPollJoystickNull (在 glfw3.lib(null_joystick.obj) 中) - 已选择符号: - _glfwFreeMonitorWin32 (在 glfw3.lib(win32_monitor.obj) 中) - 已替换符号: - _glfwSetRawMouseMotionNull (在 glfw3.lib(null_window.obj) 中) - _glfwSetWindowMousePassthroughNull (在 glfw3.lib(null_window.obj) 中) - _glfwSetWindowIconNull (在 glfw3.lib(null_window.obj) 中) - _glfwWaitEventsTimeoutNull (在 glfw3.lib(null_window.obj) 中) - _glfwPollEventsNull (在 glfw3.lib(null_window.obj) 中) - _glfwRequestWindowAttentionNull (在 glfw3.lib(null_window.obj) 中) - _glfwSetCursorModeNull (在 glfw3.lib(null_window.obj) 中) - _glfwDestroyCursorNull (在 glfw3.lib(null_window.obj) 中) - _guard_check_icall_nop (在 MSVCRT.lib(guard_support.obj) 中) - _glfwUpdateGamepadGUIDNull (在 glfw3.lib(null_joystick.obj) 中) - _glfwTerminateJoysticksNull (在 glfw3.lib(null_joystick.obj) 中) - _glfwSetCursorNull (在 glfw3.lib(null_window.obj) 中) - swapIntervalOSMesa (在 glfw3.lib(osmesa_context.obj) 中) - _glfwGetRequiredInstanceExtensionsNull (在 glfw3.lib(null_window.obj) 中) - _glfwWaitEventsNull (在 glfw3.lib(null_window.obj) 中) - _glfwSetWindowTitleNull (在 glfw3.lib(null_window.obj) 中) - _glfwPostEmptyEventNull (在 glfw3.lib(null_window.obj) 中) - swapBuffersOSMesa (在 glfw3.lib(osmesa_context.obj) 中) - 已选择符号: - __scrt_stub_for_acrt_initialize (在 MSVCRT.lib(ucrt_stubs.obj) 中) - 已替换符号: - __scrt_stub_for_acrt_uninitialize_critical (在 MSVCRT.lib(ucrt_stubs.obj) 中) - __scrt_stub_for_acrt_thread_attach (在 MSVCRT.lib(ucrt_stubs.obj) 中) - __scrt_stub_for_acrt_thread_detach (在 MSVCRT.lib(ucrt_stubs.obj) 中) - __scrt_stub_for_acrt_uninitialize (在 MSVCRT.lib(ucrt_stubs.obj) 中) - 已选择符号: - DllMain (在 dllmain.obj 中) - 已替换符号: - _glfwCreateCursorNull (在 glfw3.lib(null_window.obj) 中) - _get_startup_argv_mode (在 MSVCRT.lib(argv_mode.obj) 中) - _glfwCreateStandardCursorNull (在 glfw3.lib(null_window.obj) 中) - _glfwRawMouseMotionSupportedNull (在 glfw3.lib(null_window.obj) 中) - _glfwInitJoysticksNull (在 glfw3.lib(null_joystick.obj) 中) - _glfwRawMouseMotionSupportedWin32 (在 glfw3.lib(win32_window.obj) 中) - 已选择符号: - _glfwGetMonitorContentScaleNull (在 glfw3.lib(null_monitor.obj) 中) - 已替换符号: - _glfwGetWindowContentScaleNull (在 glfw3.lib(null_window.obj) 中) - 已选择符号: - _glfwGetFramebufferSizeNull (在 glfw3.lib(null_window.obj) 中) - 已替换符号: - _glfwGetWindowSizeNull (在 glfw3.lib(null_window.obj) 中) - 已选择符号: - _glfwSetWindowDecoratedWin32 (在 glfw3.lib(win32_window.obj) 中) - 已替换符号: - _glfwSetWindowResizableWin32 (在 glfw3.lib(win32_window.obj) 中) - 已选择符号: - _glfwGetFramebufferSizeWin32 (在 glfw3.lib(win32_window.obj) 中) - 已替换符号: - _glfwGetWindowSizeWin32 (在 glfw3.lib(win32_window.obj) 中) - 已选择符号: - _glfwSetWindowAspectRatioNull (在 glfw3.lib(null_window.obj) 中) - 已替换符号: - _glfwSetWindowSizeLimitsNull (在 glfw3.lib(null_window.obj) 中) - 已选择符号: - $unwind$_glfwGetWindowSizeWin32 (在 glfw3.lib(win32_window.obj) 中) - 已替换符号: - $unwind$_glfwGetFramebufferSizeWin32 (在 glfw3.lib(win32_window.obj) 中) - 已选择符号: - $unwind$stbi__stdio_skip (在 stb_image.obj 中) - 已替换符号: - $unwind$destroyContextOSMesa (在 glfw3.lib(osmesa_context.obj) 中) - $unwind$glfwGetGamepadName (在 glfw3.lib(input.obj) 中) - $unwind$__scrt_uninitialize_crt (在 MSVCRT.lib(utility.obj) 中) - $unwind$_glfwGetVideoModesNull (在 glfw3.lib(null_monitor.obj) 中) - $unwind$_glfwDestroyWindowNull (在 glfw3.lib(null_window.obj) 中) - $unwind$_glfwIconifyWindowNull (在 glfw3.lib(null_window.obj) 中) - $unwind$glfwDestroyWindow (在 glfw3.lib(window.obj) 中) - $unwind$_glfwRestoreWindowNull (在 glfw3.lib(null_window.obj) 中) - $unwind$glfwSetJoystickCallback (在 glfw3.lib(input.obj) 中) - $unwind$glfwShowWindow (在 glfw3.lib(window.obj) 中) - $unwind$glfwJoystickIsGamepad (在 glfw3.lib(input.obj) 中) - $unwind$glfwGetJoystickGUID (在 glfw3.lib(input.obj) 中) - $unwind$glfwGetJoystickName (在 glfw3.lib(input.obj) 中) - $unwind$_glfwHideWindowNull (在 glfw3.lib(null_window.obj) 中) - $unwind$releaseMonitor (在 glfw3.lib(win32_window.obj) 中) - $unwind$acquireMonitor (在 glfw3.lib(win32_window.obj) 中) - $unwind$glfwJoystickPresent (在 glfw3.lib(input.obj) 中) - $unwind$_glfwSetClipboardStringNull (在 glfw3.lib(null_window.obj) 中) - $unwind$__raise_securityfailure (在 MSVCRT.lib(gs_report.obj) 中) - $unwind$_glfwPlatformDestroyMutex (在 glfw3.lib(win32_thread.obj) 中) - $unwind$_glfwPlatformCreateMutex (在 glfw3.lib(win32_thread.obj) 中) - $unwind$_glfwPlatformDestroyTls (在 glfw3.lib(win32_thread.obj) 中) - $unwind$__scrt_release_startup_lock (在 MSVCRT.lib(utility.obj) 中) - $unwind$_glfwPlatformCreateTls (在 glfw3.lib(win32_thread.obj) 中) - $unwind$_glfwInitNull (在 glfw3.lib(null_init.obj) 中) - $unwind$glfwMakeContextCurrent (在 glfw3.lib(context.obj) 中) - $unwind$glfwGetProcAddress (在 glfw3.lib(context.obj) 中) - $unwind$glfwSwapInterval (在 glfw3.lib(context.obj) 中) - $unwind$__scrt_initialize_onexit_tables (在 MSVCRT.lib(utility.obj) 中) - $unwind$_glfwGetWindowOpacityWin32 (在 glfw3.lib(win32_window.obj) 中) - $unwind$_glfwWindowFocusedWin32 (在 glfw3.lib(win32_window.obj) 中) - $unwind$_glfwFocusWindowWin32 (在 glfw3.lib(win32_window.obj) 中) - $unwind$stbi__stdio_eof (在 stb_image.obj 中) - $unwind$stbi__parse_uncompressed_block (在 stb_image.obj 中) - $unwind$initGL (在 StgSharpC.obj 中) - $unwind$_glfw_realloc (在 glfw3.lib(init.obj) 中) - $unwind$stbi__tga_read_rgb16 (在 stb_image.obj 中) - $unwind$_glfw_calloc (在 glfw3.lib(init.obj) 中) - $unwind$makeContextCurrentWGL (在 glfw3.lib(wgl_context.obj) 中) - $unwind$swapIntervalWGL (在 glfw3.lib(wgl_context.obj) 中) - $unwind$_glfwCreateCursorWin32 (在 glfw3.lib(win32_window.obj) 中) - $unwind$extensionSupportedWGL (在 glfw3.lib(wgl_context.obj) 中) - $unwind$getProcAddressWGL (在 glfw3.lib(wgl_context.obj) 中) - $unwind$_glfwSetCursorWin32 (在 glfw3.lib(win32_window.obj) 中) - $unwind$_glfwFreeGammaArrays (在 glfw3.lib(monitor.obj) 中) - $unwind$destroyContextWGL (在 glfw3.lib(wgl_context.obj) 中) - $unwind$refreshVideoModes (在 glfw3.lib(monitor.obj) 中) - $unwind$glfwGetError (在 glfw3.lib(init.obj) 中) - $unwind$closeJoystick (在 glfw3.lib(win32_joystick.obj) 中) - $unwind$makeContextCurrentEGL (在 glfw3.lib(egl_context.obj) 中) - $unwind$glfwGetRequiredInstanceExtensions (在 glfw3.lib(vulkan.obj) 中) - $unwind$_glfwInitVulkan (在 glfw3.lib(vulkan.obj) 中) - $unwind$swapBuffersEGL (在 glfw3.lib(egl_context.obj) 中) - $unwind$findValidMapping (在 glfw3.lib(input.obj) 中) - $unwind$_glfwCenterCursorInContentArea (在 glfw3.lib(input.obj) 中) - $unwind$_glfwFreeJoystick (在 glfw3.lib(input.obj) 中) - $unwind$extensionSupportedEGL (在 glfw3.lib(egl_context.obj) 中) - $unwind$getProcAddressEGL (在 glfw3.lib(egl_context.obj) 中) - $unwind$destroyContextEGL (在 glfw3.lib(egl_context.obj) 中) - $unwind$_glfwDestroyWindowWin32 (在 glfw3.lib(win32_window.obj) 中) - 已选择符号: - $unwind$glfwGetTime (在 glfw3.lib(input.obj) 中) - 已替换符号: - $unwind$enableRawMouseMotion (在 glfw3.lib(win32_window.obj) 中) - $unwind$_glfwWaitEventsTimeoutWin32 (在 glfw3.lib(win32_window.obj) 中) - $unwind$_glfwSetRawMouseMotionWin32 (在 glfw3.lib(win32_window.obj) 中) - $unwind$disableRawMouseMotion (在 glfw3.lib(win32_window.obj) 中) - 已选择符号: - $unwind$_glfwInputJoystickHat (在 glfw3.lib(input.obj) 中) - 已替换符号: - $unwind$compareVideoModes (在 glfw3.lib(monitor.obj) 中) - 已选择符号: - $unwind$loadImageData (在 StgSharpC.obj 中) - 已替换符号: - $unwind$enableCursor (在 glfw3.lib(win32_window.obj) 中) - $unwind$makeContextCurrentOSMesa (在 glfw3.lib(osmesa_context.obj) 中) - $unwind$_glfwRestoreVideoModeWin32 (在 glfw3.lib(win32_monitor.obj) 中) - $unwind$_glfwCreateStandardCursorWin32 (在 glfw3.lib(win32_window.obj) 中) - 已选择符号: - $unwind$?fin$0@?0??dllmain_crt_process_attach@@YAHQEAUHINSTANCE__@@QEAX@Z@4HA (在 MSVCRT.lib(dll_dllmain.obj) 中) - 已替换符号: - $unwind$?fin$0@?0??dllmain_crt_process_detach@@YAH_N@Z@4HA (在 MSVCRT.lib(dll_dllmain.obj) 中) - $unwind$?fin$1@?0??dllmain_crt_process_detach@@YAH_N@Z@4HA (在 MSVCRT.lib(dll_dllmain.obj) 中) - 已选择符号: - $unwind$stbi__get_marker (在 stb_image.obj 中) - 已替换符号: - $unwind$glfwExtensionSupported (在 glfw3.lib(context.obj) 中) - $unwind$glfwDestroyCursor (在 glfw3.lib(input.obj) 中) - $unwind$swapBuffersWGL (在 glfw3.lib(wgl_context.obj) 中) - $unwind$glfwCreateStandardCursor (在 glfw3.lib(input.obj) 中) - 已选择符号: - $unwind$stbi__resample_row_v_2 (在 stb_image.obj 中) - 已替换符号: - $unwind$__GSHandlerCheckCommon (在 MSVCRT.lib(gshandler.obj) 中) - $unwind$chooseImage (在 glfw3.lib(win32_window.obj) 中) - 已选择符号: - $unwind$glfwDefaultWindowHints (在 glfw3.lib(window.obj) 中) - 已替换符号: - $unwind$__scrt_initialize_default_local_stdio_options (在 MSVCRT.lib(default_local_stdio_options.obj) 中) - $unwind$__GSHandlerCheck (在 MSVCRT.lib(gshandler.obj) 中) - $unwind$glfwGetOSMesaContext (在 glfw3.lib(osmesa_context.obj) 中) - $unwind$glfwGetEGLContext (在 glfw3.lib(egl_context.obj) 中) - $unwind$?dllmain_crt_dispatch@@YAHQEAUHINSTANCE__@@KQEAX@Z (在 MSVCRT.lib(dll_dllmain.obj) 中) - $unwind$glfwGetEGLDisplay (在 glfw3.lib(egl_context.obj) 中) - $unwind$glfwGetTimerValue (在 glfw3.lib(input.obj) 中) - $unwind$__scrt_dllmain_before_initialize_c (在 MSVCRT.lib(utility.obj) 中) - $unwind$__scrt_acquire_startup_lock (在 MSVCRT.lib(utility.obj) 中) - $unwind$__scrt_dllmain_after_initialize_c (在 MSVCRT.lib(utility.obj) 中) - $unwind$glfwSetWindowContentScaleCallback (在 glfw3.lib(window.obj) 中) - $unwind$_glfwGetClipboardStringWin32 (在 glfw3.lib(win32_window.obj) 中) - $unwind$_glfwTerminateNull (在 glfw3.lib(null_init.obj) 中) - $unwind$glfwRawMouseMotionSupported (在 glfw3.lib(input.obj) 中) - $unwind$glfwGetKeyName (在 glfw3.lib(input.obj) 中) - $unwind$glfwGetKeyScancode (在 glfw3.lib(input.obj) 中) - $unwind$glfwGetKey (在 glfw3.lib(input.obj) 中) - $unwind$glfwGetMouseButton (在 glfw3.lib(input.obj) 中) - $unwind$__scrt_dllmain_crt_thread_attach (在 MSVCRT.lib(utility.obj) 中) - $unwind$glfwSetWindowMaximizeCallback (在 glfw3.lib(window.obj) 中) - $unwind$glfwVulkanSupported (在 glfw3.lib(vulkan.obj) 中) - $unwind$_glfwGetScancodeNameNull (在 glfw3.lib(null_window.obj) 中) - $unwind$__scrt_dllmain_crt_thread_detach (在 MSVCRT.lib(utility.obj) 中) - $unwind$glfwSetCharCallback (在 glfw3.lib(input.obj) 中) - $unwind$glfwSetCharModsCallback (在 glfw3.lib(input.obj) 中) - $unwind$glfwSetMouseButtonCallback (在 glfw3.lib(input.obj) 中) - $unwind$glfwSetCursorPosCallback (在 glfw3.lib(input.obj) 中) - $unwind$glfwSetCursorEnterCallback (在 glfw3.lib(input.obj) 中) - $unwind$glfwSetScrollCallback (在 glfw3.lib(input.obj) 中) - $unwind$glfwSetDropCallback (在 glfw3.lib(input.obj) 中) - $unwind$glfwSetWindowFocusCallback (在 glfw3.lib(window.obj) 中) - $unwind$glfwSetWindowRefreshCallback (在 glfw3.lib(window.obj) 中) - $unwind$glfwGetWGLContext (在 glfw3.lib(wgl_context.obj) 中) - $unwind$glfwSetWindowCloseCallback (在 glfw3.lib(window.obj) 中) - $unwind$glfwSetWindowPosCallback (在 glfw3.lib(window.obj) 中) - $unwind$glfwGetWindowUserPointer (在 glfw3.lib(window.obj) 中) - $unwind$__scrt_initialize_crt (在 MSVCRT.lib(utility.obj) 中) - $unwind$_glfwTerminateOSMesa (在 glfw3.lib(osmesa_context.obj) 中) - $unwind$glfwGetWin32Adapter (在 glfw3.lib(win32_monitor.obj) 中) - $unwind$glfwGetWin32Monitor (在 glfw3.lib(win32_monitor.obj) 中) - $unwind$glfwGetWin32Window (在 glfw3.lib(win32_window.obj) 中) - $unwind$glfwGetTimerFrequency (在 glfw3.lib(input.obj) 中) - $unwind$glfwGetEGLSurface (在 glfw3.lib(egl_context.obj) 中) - $unwind$_glfwSetCursorPosWin32 (在 glfw3.lib(win32_window.obj) 中) - $unwind$updateCursorImage (在 glfw3.lib(win32_window.obj) 中) - $unwind$_glfwIsValidContextConfig (在 glfw3.lib(context.obj) 中) - $unwind$glfwGetCurrentContext (在 glfw3.lib(context.obj) 中) - $unwind$_glfwPollMonitorsNull (在 glfw3.lib(null_monitor.obj) 中) - $unwind$glfwGetInputMode (在 glfw3.lib(input.obj) 中) - $unwind$__scrt_dllmain_uninitialize_c (在 MSVCRT.lib(utility.obj) 中) - $unwind$__scrt_dllmain_uninitialize_critical (在 MSVCRT.lib(utility.obj) 中) - $unwind$terminate (在 glfw3.lib(init.obj) 中) - $unwind$glfwSetWindowIconifyCallback (在 glfw3.lib(window.obj) 中) - $unwind$glfwSetKeyCallback (在 glfw3.lib(input.obj) 中) - $unwind$glfwGetWindowOpacity (在 glfw3.lib(window.obj) 中) - $unwind$glfwInit (在 glfw3.lib(init.obj) 中) - $unwind$_glfwTerminateWin32 (在 glfw3.lib(win32_init.obj) 中) - $unwind$_glfwTerminateEGL (在 glfw3.lib(egl_context.obj) 中) - $unwind$_glfwWaitEventsWin32 (在 glfw3.lib(win32_window.obj) 中) - $unwind$glfwGetJoystickUserPointer (在 glfw3.lib(input.obj) 中) - $unwind$_glfwGetScancodeNameWin32 (在 glfw3.lib(win32_window.obj) 中) - $unwind$glfwGetClipboardString (在 glfw3.lib(input.obj) 中) - $unwind$glfwSetWindowSizeCallback (在 glfw3.lib(window.obj) 中) - $unwind$glfwSetFramebufferSizeCallback (在 glfw3.lib(window.obj) 中) - $unwind$glfwGetWindowMonitor (在 glfw3.lib(window.obj) 中) - $unwind$_glfwPlatformGetTimerValue (在 glfw3.lib(win32_time.obj) 中) - $unwind$glfwGetPlatform (在 glfw3.lib(platform.obj) 中) - $unwind$glfwPlatformSupported (在 glfw3.lib(platform.obj) 中) - $unwind$_glfwSelectPlatform (在 glfw3.lib(platform.obj) 中) - $unwind$glfwGetMonitors (在 glfw3.lib(monitor.obj) 中) - $unwind$glfwGetPrimaryMonitor (在 glfw3.lib(monitor.obj) 中) - $unwind$glfwGetMonitorName (在 glfw3.lib(monitor.obj) 中) - $unwind$glfwGetMonitorUserPointer (在 glfw3.lib(monitor.obj) 中) - $unwind$glfwSetMonitorCallback (在 glfw3.lib(monitor.obj) 中) - $unwind$glfwGetWindowAttrib (在 glfw3.lib(window.obj) 中) - $unwind$glfwWindowShouldClose (在 glfw3.lib(window.obj) 中) - $unwind$_glfwFramebufferTransparentWin32 (在 glfw3.lib(win32_window.obj) 中) - 已选择符号: - $unwind$stbi__setup_jpeg (在 stb_image.obj 中) - 已替换符号: - $unwind$index_pair_sse (在 string.obj 中) - 已选择符号: - $unwind$_glfwSetWindowFloatingWin32 (在 glfw3.lib(win32_window.obj) 中) - 已替换符号: - $unwind$_glfwInitOSMesa (在 glfw3.lib(osmesa_context.obj) 中) - 已选择符号: - $unwind$_glfwCreateWideStringFromUTF8Win32 (在 glfw3.lib(win32_init.obj) 中) - 已替换符号: - $unwind$_glfwSetClipboardStringWin32 (在 glfw3.lib(win32_window.obj) 中) - 已选择符号: - $unwind$_glfwConnectWin32 (在 glfw3.lib(win32_init.obj) 中) - 已替换符号: - $unwind$_glfwConnectNull (在 glfw3.lib(null_init.obj) 中) - 已选择符号: - $unwind$stbi__refill_buffer (在 stb_image.obj 中) - 已替换符号: - $unwind$_glfwGetEGLPlatformWin32 (在 glfw3.lib(win32_window.obj) 中) - $unwind$_RTC_Terminate (在 MSVCRT.lib(initsect.obj) 中) - $unwind$_glfwFocusWindowNull (在 glfw3.lib(null_window.obj) 中) - $unwind$_glfwSetWindowTitleWin32 (在 glfw3.lib(win32_window.obj) 中) - $unwind$_RTC_Initialize (在 MSVCRT.lib(initsect.obj) 中) - $unwind$createKeyTables (在 glfw3.lib(win32_init.obj) 中) - $unwind$_glfwInitGamepadMappings (在 glfw3.lib(input.obj) 中) - $unwind$glfwGetInstanceProcAddress (在 glfw3.lib(vulkan.obj) 中) - $unwind$_glfwStringInExtensionString (在 glfw3.lib(context.obj) 中) - $unwind$_glfw_strdup (在 glfw3.lib(init.obj) 中) - $unwind$_glfwSetGammaRampNull (在 glfw3.lib(null_monitor.obj) 中) - $unwind$glfwGetVideoModes (在 glfw3.lib(monitor.obj) 中) - $unwind$glfwSetGammaRamp (在 glfw3.lib(monitor.obj) 中) - $unwind$glfwSetInputMode (在 glfw3.lib(input.obj) 中) - $unwind$loadGlfuncDefault (在 StgSharpC.obj 中) - $unwind$_glfwGetWindowContentScaleWin32 (在 glfw3.lib(win32_window.obj) 中) - $unwind$glfwGetJoystickButtons (在 glfw3.lib(input.obj) 中) - $unwind$glfwGetJoystickHats (在 glfw3.lib(input.obj) 中) - $unwind$_glfwGetPhysicalDevicePresentationSupportWin32 (在 glfw3.lib(win32_window.obj) 中) - $unwind$stbi__get16le (在 stb_image.obj 中) - $unwind$glfwGetJoystickAxes (在 glfw3.lib(input.obj) 中) - $unwind$stbi__get16be (在 stb_image.obj 中) - $unwind$stbi__out_gif_code (在 stb_image.obj 中) - $unwind$stbi__get32be (在 stb_image.obj 中) - $unwind$stbi__get32le (在 stb_image.obj 中) - $unwind$stbi__gif_test_raw (在 stb_image.obj 中) - $unwind$stbi__decode_jpeg_image (在 stb_image.obj 中) - 已选择符号: - $unwind$stbi__check_png_header (在 stb_image.obj 中) - 已替换符号: - $unwind$_glfwInputChar (在 glfw3.lib(input.obj) 中) - $unwind$_DllMainCRTStartup (在 MSVCRT.lib(dll_dllmain.obj) 中) - $unwind$getKeyMods (在 glfw3.lib(win32_window.obj) 中) - $unwind$stbi__pic_is4 (在 stb_image.obj 中) - $unwind$_glfwGetCursorPosWin32 (在 glfw3.lib(win32_window.obj) 中) - $unwind$_glfwSetWindowSizeLimitsNull (在 glfw3.lib(null_window.obj) 中) - $unwind$_glfwSetWindowSizeNull (在 glfw3.lib(null_window.obj) 中) - $unwind$glfwGetPhysicalDevicePresentationSupport (在 glfw3.lib(vulkan.obj) 中) - $unwind$stbi__hdr_convert (在 stb_image.obj 中) - $unwind$_glfwAllocGammaArrays (在 glfw3.lib(monitor.obj) 中) - $unwind$_glfwTerminateJoysticksWin32 (在 glfw3.lib(win32_joystick.obj) 中) - $unwind$_glfwSetWindowAspectRatioNull (在 glfw3.lib(null_window.obj) 中) - 已选择符号: - $unwind$sscanf (在 glfw3.lib(context.obj) 中) - 已替换符号: - $unwind$sprintf (在 glfw3.lib(win32_joystick.obj) 中) - 已选择符号: - $unwind$stbi__zexpand (在 stb_image.obj 中) - 已替换符号: - $unwind$_glfwSetCursorModeWin32 (在 glfw3.lib(win32_window.obj) 中) - $unwind$_glfwGetWindowPosWin32 (在 glfw3.lib(win32_window.obj) 中) - 已选择符号: - $unwind$stbi__getn (在 stb_image.obj 中) - 已替换符号: - $unwind$stbi__pnm_skip_whitespace (在 stb_image.obj 中) - $unwind$stbi__pnm_getinteger (在 stb_image.obj 中) - $unwind$stbi__psd_decode_rle (在 stb_image.obj 中) - 已选择符号: - $unwind$stbi__convert_16_to_8 (在 stb_image.obj 中) - 已替换符号: - $unwind$__scrt_dllmain_exception_filter (在 MSVCRT.lib(utility.obj) 中) - $unwind$_glfwSetWindowMonitorNull (在 glfw3.lib(null_window.obj) 中) - $unwind$helperWindowProc (在 glfw3.lib(win32_init.obj) 中) - $unwind$glfwCreateWindowSurface (在 glfw3.lib(vulkan.obj) 中) - $unwind$_glfwAllocMonitor (在 glfw3.lib(monitor.obj) 中) - $unwind$_glfwCreateWindowNull (在 glfw3.lib(null_window.obj) 中) - 已选择符号: - $unwind$stbi__decode_jpeg_header (在 stb_image.obj 中) - 已替换符号: - $unwind$glfwCreateCursor (在 glfw3.lib(input.obj) 中) - 已选择符号: - $unwind$glfwGetOSMesaColorBuffer (在 glfw3.lib(osmesa_context.obj) 中) - 已替换符号: - $unwind$glfwGetOSMesaDepthBuffer (在 glfw3.lib(osmesa_context.obj) 中) - 已选择符号: - $unwind$stbi__process_scan_header (在 stb_image.obj 中) - 已替换符号: - $unwind$_glfwGetMonitorContentScaleWin32 (在 glfw3.lib(win32_monitor.obj) 中) - 已选择符号: - $unwind$stbi__parse_zlib (在 stb_image.obj 中) - 已替换符号: - $unwind$stbi__readval (在 stb_image.obj 中) - $unwind$_glfwSetWindowIconWin32 (在 glfw3.lib(win32_window.obj) 中) - 已选择符号: - $unwind$createNativeWindow (在 glfw3.lib(win32_window.obj) 中) - 已替换符号: - $unwind$_glfwCreateContextEGL (在 glfw3.lib(egl_context.obj) 中) - 已选择符号: - $chain$1$stbi__hdr_load (在 stb_image.obj 中) - 已替换符号: - $chain$3$stbi__hdr_load (在 stb_image.obj 中) - 已选择符号: - $chain$6$load_jpeg_image (在 stb_image.obj 中) - 已替换符号: - $chain$10$load_jpeg_image (在 stb_image.obj 中) - $chain$12$load_jpeg_image (在 stb_image.obj 中) - 已选择符号: - $chain$1$stbi__gif_header (在 stb_image.obj 中) - 已替换符号: - $chain$3$stbi__gif_header (在 stb_image.obj 中) - 已选择符号: - $chain$1$stbi__zbuild_huffman (在 stb_image.obj 中) - 已替换符号: - $chain$3$stbi__zbuild_huffman (在 stb_image.obj 中) - 已选择符号: - $chain$2$stbi__get_marker (在 stb_image.obj 中) - 已替换符号: - $chain$4$stbi__get_marker (在 stb_image.obj 中) - 已选择符号: - $chain$7$load_jpeg_image (在 stb_image.obj 中) - 已替换符号: - $chain$9$load_jpeg_image (在 stb_image.obj 中) - 已选择符号: - $chain$8$load_jpeg_image (在 stb_image.obj 中) - 已替换符号: - $chain$11$load_jpeg_image (在 stb_image.obj 中) - 已选择符号: - $chain$3$chooseEGLConfig (在 glfw3.lib(egl_context.obj) 中) - 已替换符号: - $chain$5$chooseEGLConfig (在 glfw3.lib(egl_context.obj) 中) - 已选择符号: - $chain$1$glfwCreateWindow (在 glfw3.lib(window.obj) 中) - 已替换符号: - $chain$3$glfwCreateWindow (在 glfw3.lib(window.obj) 中) - 已选择符号: - $chain$3$_glfwAllocJoystick (在 glfw3.lib(input.obj) 中) - 已替换符号: - $chain$5$_glfwAllocJoystick (在 glfw3.lib(input.obj) 中) - 已选择符号: - $chain$2$_glfwSetClipboardStringWin32 (在 glfw3.lib(win32_window.obj) 中) - 已替换符号: - $chain$4$_glfwSetClipboardStringWin32 (在 glfw3.lib(win32_window.obj) 中) - 已选择符号: - $chain$3$_glfwInitEGL (在 glfw3.lib(egl_context.obj) 中) - 已替换符号: - $chain$9$_glfwInitEGL (在 glfw3.lib(egl_context.obj) 中) - $chain$7$_glfwInitEGL (在 glfw3.lib(egl_context.obj) 中) - $chain$5$_glfwInitEGL (在 glfw3.lib(egl_context.obj) 中) - 已选择符号: - $chain$7$glfwExtensionSupported (在 glfw3.lib(context.obj) 中) - 已替换符号: - $chain$9$glfwExtensionSupported (在 glfw3.lib(context.obj) 中) - 已选择符号: - $chain$3$_glfwInitVulkan (在 glfw3.lib(vulkan.obj) 中) - 已替换符号: - $chain$5$_glfwInitVulkan (在 glfw3.lib(vulkan.obj) 中) - 已选择符号: - $pdata$_glfwGetWindowSizeWin32 (在 glfw3.lib(win32_window.obj) 中) - 已替换符号: - $pdata$_glfwGetFramebufferSizeWin32 (在 glfw3.lib(win32_window.obj) 中) - 已选择符号: - $pdata$_glfwSetWindowSizeLimitsNull (在 glfw3.lib(null_window.obj) 中) - 已替换符号: - $pdata$_glfwSetWindowAspectRatioNull (在 glfw3.lib(null_window.obj) 中) - ICF 总节省量: 3048 字节 - 正在启动传递 2 - * CIL library *(* CIL module *) - StgSharp.C.exp - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - kernel32.lib(KERNEL32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - user32.lib(USER32.dll) - gdi32.lib(GDI32.dll) - gdi32.lib(GDI32.dll) - gdi32.lib(GDI32.dll) - gdi32.lib(GDI32.dll) - gdi32.lib(GDI32.dll) - gdi32.lib(GDI32.dll) - gdi32.lib(GDI32.dll) - gdi32.lib(GDI32.dll) - gdi32.lib(GDI32.dll) - gdi32.lib(GDI32.dll) - gdi32.lib(GDI32.dll) - gdi32.lib(GDI32.dll) - gdi32.lib(GDI32.dll) - gdi32.lib(GDI32.dll) - gdi32.lib(GDI32.dll) - shell32.lib(SHELL32.dll) - shell32.lib(SHELL32.dll) - shell32.lib(SHELL32.dll) - shell32.lib(SHELL32.dll) - shell32.lib(SHELL32.dll) - shell32.lib(SHELL32.dll) - glfw3.lib(context.obj) - glfw3.lib(init.obj) - glfw3.lib(input.obj) - glfw3.lib(monitor.obj) - glfw3.lib(platform.obj) - glfw3.lib(vulkan.obj) - glfw3.lib(window.obj) - glfw3.lib(egl_context.obj) - glfw3.lib(osmesa_context.obj) - glfw3.lib(null_init.obj) - glfw3.lib(null_monitor.obj) - glfw3.lib(null_window.obj) - glfw3.lib(null_joystick.obj) - glfw3.lib(win32_module.obj) - glfw3.lib(win32_time.obj) - glfw3.lib(win32_thread.obj) - glfw3.lib(win32_init.obj) - glfw3.lib(win32_joystick.obj) - glfw3.lib(win32_monitor.obj) - glfw3.lib(win32_window.obj) - glfw3.lib(wgl_context.obj) - MSVCRT.lib(argv_mode.obj) - MSVCRT.lib(default_local_stdio_options.obj) - MSVCRT.lib(fltused.obj) - MSVCRT.lib(tncleanup.obj) - MSVCRT.lib(dll_dllmain.obj) - MSVCRT.lib(tlssup.obj) - MSVCRT.lib(initializers.obj) - MSVCRT.lib(utility.obj) - MSVCRT.lib(ucrt_stubs.obj) - MSVCRT.lib(gs_cookie.obj) - MSVCRT.lib(gs_report.obj) - MSVCRT.lib(gs_support.obj) - MSVCRT.lib(guard_support.obj) - MSVCRT.lib(loadcfg.obj) - MSVCRT.lib(dyn_tls_init.obj) - MSVCRT.lib(ucrt_detection.obj) - MSVCRT.lib(cpu_disp.obj) - MSVCRT.lib(utility_desktop.obj) - MSVCRT.lib(initsect.obj) - MSVCRT.lib(gshandler.obj) - MSVCRT.lib(amdsecgs.obj) - MSVCRT.lib(chkstk.obj) - MSVCRT.lib(guard_dispatch.obj) - MSVCRT.lib(guard_xfg_dispatch.obj) - vcruntime.lib(VCRUNTIME140.dll) - vcruntime.lib(VCRUNTIME140.dll) - vcruntime.lib(VCRUNTIME140.dll) - vcruntime.lib(VCRUNTIME140.dll) - vcruntime.lib(VCRUNTIME140.dll) - vcruntime.lib(VCRUNTIME140.dll) - vcruntime.lib(VCRUNTIME140.dll) - vcruntime.lib(VCRUNTIME140.dll) - vcruntime.lib(VCRUNTIME140.dll) - vcruntime.lib(VCRUNTIME140.dll) - vcruntime.lib(VCRUNTIME140.dll) - vcruntime.lib(softmemtag.obj) - ucrt.lib(api-ms-win-crt-utility-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-utility-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-utility-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-string-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-stdio-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-runtime-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-math-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-math-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-math-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-math-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-math-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-heap-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-convert-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-convert-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-convert-l1-1-0.dll) - ucrt.lib(api-ms-win-crt-convert-l1-1-0.dll) - 已完成传递 2 - StgSharpC.vcxproj -> C:\Users\Youmu\OneDrive - MSFT\大学\毕业设计\GraduationProject\build\StgSharp.C.dll diff --git a/StgSharp.Native/x64/Release/StgSharpC.obj b/StgSharp.Native/x64/Release/StgSharpC.obj deleted file mode 100644 index 06aefe2a..00000000 Binary files a/StgSharp.Native/x64/Release/StgSharpC.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Release/dllmain.obj b/StgSharp.Native/x64/Release/dllmain.obj deleted file mode 100644 index b4388b00..00000000 Binary files a/StgSharp.Native/x64/Release/dllmain.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Release/hash.obj b/StgSharp.Native/x64/Release/hash.obj deleted file mode 100644 index fc921573..00000000 Binary files a/StgSharp.Native/x64/Release/hash.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Release/intrinsic.obj b/StgSharp.Native/x64/Release/intrinsic.obj deleted file mode 100644 index ca137483..00000000 Binary files a/StgSharp.Native/x64/Release/intrinsic.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Release/mat2.obj b/StgSharp.Native/x64/Release/mat2.obj deleted file mode 100644 index 020b666e..00000000 Binary files a/StgSharp.Native/x64/Release/mat2.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Release/mat3.obj b/StgSharp.Native/x64/Release/mat3.obj deleted file mode 100644 index 007c3c9c..00000000 Binary files a/StgSharp.Native/x64/Release/mat3.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Release/mat4.obj b/StgSharp.Native/x64/Release/mat4.obj deleted file mode 100644 index 03f59fb3..00000000 Binary files a/StgSharp.Native/x64/Release/mat4.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Release/stb_image.obj b/StgSharp.Native/x64/Release/stb_image.obj deleted file mode 100644 index 5c8f0ad8..00000000 Binary files a/StgSharp.Native/x64/Release/stb_image.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Release/string.obj b/StgSharp.Native/x64/Release/string.obj deleted file mode 100644 index 9cf17f3a..00000000 Binary files a/StgSharp.Native/x64/Release/string.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Release/vc143.pdb b/StgSharp.Native/x64/Release/vc143.pdb deleted file mode 100644 index 59e70c50..00000000 Binary files a/StgSharp.Native/x64/Release/vc143.pdb and /dev/null differ diff --git a/StgSharp.Native/x64/Release/vector.obj b/StgSharp.Native/x64/Release/vector.obj deleted file mode 100644 index 6f552daf..00000000 Binary files a/StgSharp.Native/x64/Release/vector.obj and /dev/null differ diff --git a/StgSharp.Native/x64/Release/vector_dot.obj b/StgSharp.Native/x64/Release/vector_dot.obj deleted file mode 100644 index 6f0240ce..00000000 Binary files a/StgSharp.Native/x64/Release/vector_dot.obj and /dev/null differ diff --git a/StgSharp.Script/StgSharp.Script.csproj b/StgSharp.Script/StgSharp.Script.csproj index e30223f4..ad60dd8b 100644 --- a/StgSharp.Script/StgSharp.Script.csproj +++ b/StgSharp.Script/StgSharp.Script.csproj @@ -5,7 +5,7 @@ enable preview True - AnyCPU;x64 + x64;ARM64 diff --git a/StgSharp.TerminalDialogue/StgSharp.TerminalDialogue.csproj b/StgSharp.TerminalDialogue/StgSharp.TerminalDialogue.csproj index 4c24308c..ef549bcd 100644 --- a/StgSharp.TerminalDialogue/StgSharp.TerminalDialogue.csproj +++ b/StgSharp.TerminalDialogue/StgSharp.TerminalDialogue.csproj @@ -13,13 +13,17 @@ True x64 none - AnyCPU;x64 + x64;ARM64 False + + False + + diff --git a/StgSharpDebug/Program.cs b/StgSharpDebug/Program.cs index ff4aa548..ad87b5be 100644 --- a/StgSharpDebug/Program.cs +++ b/StgSharpDebug/Program.cs @@ -57,174 +57,127 @@ namespace StgSharp internal static unsafe void Main(string[] args) { + /* try { - World.Init(); + /**/ + World.Init(); - // HLSF test arena - Console.WriteLine( + // HLSF test arena + Console.WriteLine( "=== HLSF (Hybrid Layer Segregated Fit Allocator) Single-threaded Stress Test ===\n"); - // 使用适中的内存池大小 - HybridLayerSegregatedFitAllocator hlsfAllocator = new HybridLayerSegregatedFitAllocator(16 * 1024 * 1024); + // 使用适中的内存池大小 + HybridLayerSegregatedFitAllocator hlsfAllocator = new HybridLayerSegregatedFitAllocator(16 * 1024 * 1024); - Console.WriteLine("开始单线程压力测试..."); + Console.WriteLine("开始单线程压力测试...\n"); - // 单线程压力测试:适度的分配和释放操作 - int totalCycles = 5; - int allocationsPerCycle = 1024 * 64; // 65536 次分配 + // 单线程压力测试:适度的分配和释放操作 + int totalCycles = 5; + int allocationsPerCycle = 1024 * 64; // 65536 次分配 - for (int cycle = 0; cycle < totalCycles; cycle++) - { - Console.WriteLine($"\n=== 第 {cycle + 1} 轮压力测试 ==="); + for (int cycle = 0; cycle < totalCycles; cycle++) + { + Console.WriteLine($"\n=== 第 {cycle + 1} 轮压力测试 ==="); - // 测试不同大小的分配 - List handles = new List(); - Random random = new Random(cycle); // 使用固定种子以确保可重现性 - - - // 分配阶段 - Console.WriteLine($"分配阶段:分配 {allocationsPerCycle} 个内存块..."); - Stopwatch stopwatch = System.Diagnostics.Stopwatch.StartNew(); - - for (int i = 0; i < allocationsPerCycle; i++) - { - // 随机大小:64字节到1KB - uint size = (uint)(64 + random.Next(1024 - 64 + 1)); - handles.Add(hlsfAllocator.Alloc(size)); - - if (i % 5000 == 0 && i > 0) { - Console.WriteLine($" 已分配 {i} 个块"); - } - } - - stopwatch.Stop(); - Console.WriteLine($"分配完成,总计分配 {handles.Count} 个块"); - Console.WriteLine($"分配耗时: {stopwatch.ElapsedMilliseconds} ms"); - if (stopwatch.ElapsedMilliseconds > 0) { - Console.WriteLine($"分配速度: {allocationsPerCycle * 1000 / stopwatch.ElapsedMilliseconds} allocs/sec"); - } - - - // 随机释放阶段 - Console.WriteLine("随机释放阶段..."); - stopwatch.Restart(); - - - // 随机打乱释放顺序 - for (int i = handles.Count - 1; i > 0; i--) - { - int j = random.Next(i + 1); - (handles[i], handles[j]) = (handles[j], handles[i]); - } - - for (int i = 0; i < handles.Count; i++) - { - hlsfAllocator.Free(handles[i]); - - if (i % 5000 == 0 && i > 0) { - Console.WriteLine($" 已释放 {i} 个块"); - } - } - - stopwatch.Stop(); - Console.WriteLine($"释放完成,总计释放 {handles.Count} 个块"); - Console.WriteLine($"释放耗时: {stopwatch.ElapsedMilliseconds} ms"); - if (stopwatch.ElapsedMilliseconds > 0) { - Console.WriteLine($"释放速度: {handles.Count * 1000 / stopwatch.ElapsedMilliseconds} frees/sec"); - } - - handles.Clear(); - - - // 碎片化测试 - Console.WriteLine("碎片化测试:交替分配释放..."); - List fragmentationHandles = new List(); - - for (int i = 0; i < 500; i++) // 减少碎片化测试次数 - { - // 分配5个块 - for (int j = 0; j < 5; j++) - { - uint size = (uint)(64 << (i % 4)); // 64, 128, 256, 512 - fragmentationHandles.Add(hlsfAllocator.Alloc(size)); - } - - - // 释放前3个块,保留后2个 - for (int j = 0; j < 3 && fragmentationHandles.Count > 0; j++) - { - hlsfAllocator.Free(fragmentationHandles[0]); - fragmentationHandles.RemoveAt(0); - } - } - - - // 释放剩余的块 - foreach (HybridLayerSegregatedFitAllocationHandle handle in fragmentationHandles) - { - hlsfAllocator.Free(handle); - } - - Console.WriteLine($"第 {cycle + 1} 轮测试完成"); + // 预生成随机数 + uint[] randomSizes = new uint[allocationsPerCycle]; + Random random = new Random(cycle); + for (int i = 0; i < allocationsPerCycle; i++) { + randomSizes[i] = (uint)(64 + random.Next(1024 - 64 + 1)); } - Console.WriteLine("\n=== 边界测试 ==="); + // 分配阶段 + List handles = new List(allocationsPerCycle); + Stopwatch stopwatch = Stopwatch.StartNew(); + + for (int i = 0; i < allocationsPerCycle; i++) { + handles.Add(hlsfAllocator.Alloc(randomSizes[i])); + } + + stopwatch.Stop(); + Console.WriteLine($"分配完成,总计分配 {handles.Count} 个块"); + Console.WriteLine($"分配耗时: {stopwatch.ElapsedMilliseconds} ms"); + if (stopwatch.ElapsedMilliseconds > 0) { + Console.WriteLine($"分配速度: {allocationsPerCycle * 1000 / stopwatch.ElapsedMilliseconds} allocs/sec"); + } - // 测试各种边界情况 - Console.WriteLine("测试最小分配 (64字节)..."); - List minHandles = new List(); - for (int i = 0; i < 1000; i++) { - minHandles.Add(hlsfAllocator.Alloc(64)); - } - foreach (HybridLayerSegregatedFitAllocationHandle handle in minHandles) { - hlsfAllocator.Free(handle); - } - Console.WriteLine("最小分配测试完成"); + // 随机释放阶段 + stopwatch.Restart(); - Console.WriteLine("测试最大分配 (1024字节)..."); - List maxHandles = new List(); - for (int i = 0; i < 1000; i++) { - maxHandles.Add(hlsfAllocator.Alloc(1024)); + for (int i = handles.Count - 1; i >= 0; i--) { + hlsfAllocator.Free(handles[i]); } - foreach (HybridLayerSegregatedFitAllocationHandle handle in maxHandles) { - hlsfAllocator.Free(handle); - } - Console.WriteLine("最大分配测试完成"); - Console.WriteLine("测试混合大小分配..."); - List mixedHandles = new List(); - uint[] testSizes = { - 64, 128, 256, 512, 1024 - }; - for (int i = 0; i < 2000; i++) - { - uint size = testSizes[i % testSizes.Length]; - mixedHandles.Add(hlsfAllocator.Alloc(size)); + stopwatch.Stop(); + Console.WriteLine($"释放完成,总计释放 {handles.Count} 个块"); + Console.WriteLine($"释放耗时: {stopwatch.ElapsedMilliseconds} ms"); + if (stopwatch.ElapsedMilliseconds > 0) { + Console.WriteLine($"释放速度: {handles.Count * 1000 / stopwatch.ElapsedMilliseconds} frees/sec"); } - foreach (HybridLayerSegregatedFitAllocationHandle handle in mixedHandles) { - hlsfAllocator.Free(handle); - } - Console.WriteLine("混合大小分配测试完成"); - Console.WriteLine("\n所有测试完成!HLSF分配器表现良好。"); - Console.WriteLine("按任意键退出..."); - Console.ReadKey(); + handles.Clear(); + } + + Console.WriteLine("\n=== 边界测试 ==="); + + + // 测试最小分配 + Console.WriteLine("测试最小分配 (64字节)..."); + List minHandles = new List(); + for (int i = 0; i < 1000; i++) { + minHandles.Add(hlsfAllocator.Alloc(64)); + } + foreach (HybridLayerSegregatedFitAllocationHandle handle in minHandles) { + hlsfAllocator.Free(handle); + } + Console.WriteLine("最小分配测试完成"); + + // 测试最大分配 + Console.WriteLine("测试最大分配 (1024字节)..."); + List maxHandles = new List(); + for (int i = 0; i < 1000; i++) { + maxHandles.Add(hlsfAllocator.Alloc(1024)); + } + foreach (HybridLayerSegregatedFitAllocationHandle handle in maxHandles) { + hlsfAllocator.Free(handle); + } + Console.WriteLine("最大分配测试完成"); + + // 测试混合大小分配 + Console.WriteLine("测试混合大小分配..."); + List mixedHandles = new List(); + uint[] testSizes = { + 64, 128, 256, 512, 1024 + }; + for (int i = 0; i < 2000; i++) + { + uint size = testSizes[i % testSizes.Length]; + mixedHandles.Add(hlsfAllocator.Alloc(size)); + } + foreach (HybridLayerSegregatedFitAllocationHandle handle in mixedHandles) { + hlsfAllocator.Free(handle); + } + Console.WriteLine("混合大小分配测试完成"); + + Console.WriteLine("\n所有测试完成!HLSF分配器表现良好。"); + Console.WriteLine("按任意键退出..."); + Console.ReadKey(); + /* } catch (Exception ex) { - Console.WriteLine($"测试过程中发生错误: {ex}"); - Console.WriteLine("按任意键退出..."); - Console.ReadKey(); + Console.WriteLine(ex); World.Terminate(-1); } finally { World.Terminate(0); } + /**/ } } diff --git a/StgSharpDebug/StgSharpDebug.csproj b/StgSharpDebug/StgSharpDebug.csproj index 5923bd01..abb6d35b 100644 --- a/StgSharpDebug/StgSharpDebug.csproj +++ b/StgSharpDebug/StgSharpDebug.csproj @@ -15,25 +15,21 @@ False MIT False - AnyCPU;x64 + x64;ARM64 Always Debug;Release; - - False - False - - False False - - True - False + + + False + False @@ -41,6 +37,11 @@ False + + True + False + + true true diff --git a/StgSharpDevelop.sln b/StgSharpDevelop.sln index 3ed0bc88..7b556540 100644 --- a/StgSharpDevelop.sln +++ b/StgSharpDevelop.sln @@ -30,57 +30,57 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StgSharp.Model", "StgSharp. EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU + Debug|ARM64 = Debug|ARM64 Debug|x64 = Debug|x64 - Release|Any CPU = Release|Any CPU + Release|ARM64 = Release|ARM64 Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}.Debug|ARM64.Build.0 = Debug|ARM64 {3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}.Debug|x64.ActiveCfg = Debug|x64 {3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}.Debug|x64.Build.0 = Debug|x64 - {3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}.Release|Any CPU.Build.0 = Release|Any CPU + {3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}.Release|ARM64.ActiveCfg = Release|ARM64 + {3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}.Release|ARM64.Build.0 = Release|ARM64 {3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}.Release|x64.ActiveCfg = Release|x64 {3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}.Release|x64.Build.0 = Release|x64 - {610B992B-BB34-49C3-9993-676C595FC12E}.Debug|Any CPU.ActiveCfg = Debug|x64 - {610B992B-BB34-49C3-9993-676C595FC12E}.Debug|Any CPU.Build.0 = Debug|x64 + {610B992B-BB34-49C3-9993-676C595FC12E}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {610B992B-BB34-49C3-9993-676C595FC12E}.Debug|ARM64.Build.0 = Debug|ARM64 {610B992B-BB34-49C3-9993-676C595FC12E}.Debug|x64.ActiveCfg = Debug|x64 {610B992B-BB34-49C3-9993-676C595FC12E}.Debug|x64.Build.0 = Debug|x64 - {610B992B-BB34-49C3-9993-676C595FC12E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {610B992B-BB34-49C3-9993-676C595FC12E}.Release|Any CPU.Build.0 = Release|Any CPU + {610B992B-BB34-49C3-9993-676C595FC12E}.Release|ARM64.ActiveCfg = Release|ARM64 + {610B992B-BB34-49C3-9993-676C595FC12E}.Release|ARM64.Build.0 = Release|ARM64 {610B992B-BB34-49C3-9993-676C595FC12E}.Release|x64.ActiveCfg = Release|x64 - {20CBFF26-6746-402E-992C-7B643E9423EB}.Debug|Any CPU.ActiveCfg = Release|x64 - {20CBFF26-6746-402E-992C-7B643E9423EB}.Debug|Any CPU.Build.0 = Release|x64 + {20CBFF26-6746-402E-992C-7B643E9423EB}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {20CBFF26-6746-402E-992C-7B643E9423EB}.Debug|ARM64.Build.0 = Debug|ARM64 {20CBFF26-6746-402E-992C-7B643E9423EB}.Debug|x64.ActiveCfg = Debug|x64 {20CBFF26-6746-402E-992C-7B643E9423EB}.Debug|x64.Build.0 = Debug|x64 - {20CBFF26-6746-402E-992C-7B643E9423EB}.Release|Any CPU.ActiveCfg = Release|x64 - {20CBFF26-6746-402E-992C-7B643E9423EB}.Release|Any CPU.Build.0 = Release|x64 + {20CBFF26-6746-402E-992C-7B643E9423EB}.Release|ARM64.ActiveCfg = Release|ARM64 + {20CBFF26-6746-402E-992C-7B643E9423EB}.Release|ARM64.Build.0 = Release|ARM64 {20CBFF26-6746-402E-992C-7B643E9423EB}.Release|x64.ActiveCfg = Release|x64 {20CBFF26-6746-402E-992C-7B643E9423EB}.Release|x64.Build.0 = Release|x64 - {10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Debug|ARM64.Build.0 = Debug|ARM64 {10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Debug|x64.ActiveCfg = Debug|x64 {10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Debug|x64.Build.0 = Debug|x64 - {10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Release|Any CPU.Build.0 = Release|Any CPU + {10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Release|ARM64.ActiveCfg = Release|ARM64 + {10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Release|ARM64.Build.0 = Release|ARM64 {10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Release|x64.ActiveCfg = Release|x64 {10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Release|x64.Build.0 = Release|x64 - {5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Debug|ARM64.Build.0 = Debug|ARM64 {5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Debug|x64.ActiveCfg = Debug|x64 {5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Debug|x64.Build.0 = Debug|x64 - {5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Release|Any CPU.Build.0 = Release|Any CPU + {5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Release|ARM64.ActiveCfg = Release|ARM64 + {5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Release|ARM64.Build.0 = Release|ARM64 {5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Release|x64.ActiveCfg = Release|x64 {5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Release|x64.Build.0 = Release|x64 - {D9538DE0-EE4C-4183-86D6-7DFC08A7BDFB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D9538DE0-EE4C-4183-86D6-7DFC08A7BDFB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D9538DE0-EE4C-4183-86D6-7DFC08A7BDFB}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {D9538DE0-EE4C-4183-86D6-7DFC08A7BDFB}.Debug|ARM64.Build.0 = Debug|ARM64 {D9538DE0-EE4C-4183-86D6-7DFC08A7BDFB}.Debug|x64.ActiveCfg = Debug|x64 {D9538DE0-EE4C-4183-86D6-7DFC08A7BDFB}.Debug|x64.Build.0 = Debug|x64 - {D9538DE0-EE4C-4183-86D6-7DFC08A7BDFB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D9538DE0-EE4C-4183-86D6-7DFC08A7BDFB}.Release|Any CPU.Build.0 = Release|Any CPU + {D9538DE0-EE4C-4183-86D6-7DFC08A7BDFB}.Release|ARM64.ActiveCfg = Release|ARM64 + {D9538DE0-EE4C-4183-86D6-7DFC08A7BDFB}.Release|ARM64.Build.0 = Release|ARM64 {D9538DE0-EE4C-4183-86D6-7DFC08A7BDFB}.Release|x64.ActiveCfg = Release|x64 {D9538DE0-EE4C-4183-86D6-7DFC08A7BDFB}.Release|x64.Build.0 = Release|x64 EndGlobalSection