daily update on 20240226 by nitload youmu

This commit is contained in:
YoumuLiu
2024-02-27 00:43:29 +08:00
parent a2241a5a58
commit 06e39f7a31
543 changed files with 230273 additions and 21423 deletions
+330 -396
View File
@@ -1,4 +1,4 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.38.33130.0
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.39.33519.0
include listing.inc
@@ -6,195 +6,18 @@ INCLUDELIB MSVCRTD
INCLUDELIB OLDNAMES
_DATA SEGMENT
COMM GLAD_WGL_VERSION_1_0:DWORD
COMM GLAD_WGL_3DFX_multisample:DWORD
COMM GLAD_WGL_3DL_stereo_control:DWORD
COMM GLAD_WGL_AMD_gpu_association:DWORD
COMM GLAD_WGL_ARB_buffer_region:DWORD
COMM GLAD_WGL_ARB_context_flush_control:DWORD
COMM GLAD_WGL_ARB_create_context:DWORD
COMM GLAD_WGL_ARB_create_context_no_error:DWORD
COMM GLAD_WGL_ARB_create_context_profile:DWORD
COMM GLAD_WGL_ARB_create_context_robustness:DWORD
COMM GLAD_WGL_ARB_extensions_string:DWORD
COMM GLAD_WGL_ARB_framebuffer_sRGB:DWORD
COMM GLAD_WGL_ARB_make_current_read:DWORD
COMM GLAD_WGL_ARB_multisample:DWORD
COMM GLAD_WGL_ARB_pbuffer:DWORD
COMM GLAD_WGL_ARB_pixel_format:DWORD
COMM GLAD_WGL_ARB_pixel_format_float:DWORD
COMM GLAD_WGL_ARB_render_texture:DWORD
COMM GLAD_WGL_ARB_robustness_application_isolation:DWORD
COMM GLAD_WGL_ARB_robustness_share_group_isolation:DWORD
COMM GLAD_WGL_ATI_pixel_format_float:DWORD
COMM GLAD_WGL_ATI_render_texture_rectangle:DWORD
COMM GLAD_WGL_EXT_colorspace:DWORD
COMM GLAD_WGL_EXT_create_context_es2_profile:DWORD
COMM GLAD_WGL_EXT_create_context_es_profile:DWORD
COMM GLAD_WGL_EXT_depth_float:DWORD
COMM GLAD_WGL_EXT_display_color_table:DWORD
COMM GLAD_WGL_EXT_extensions_string:DWORD
COMM GLAD_WGL_EXT_framebuffer_sRGB:DWORD
COMM GLAD_WGL_EXT_make_current_read:DWORD
COMM GLAD_WGL_EXT_multisample:DWORD
COMM GLAD_WGL_EXT_pbuffer:DWORD
COMM GLAD_WGL_EXT_pixel_format:DWORD
COMM GLAD_WGL_EXT_pixel_format_packed_float:DWORD
COMM GLAD_WGL_EXT_swap_control:DWORD
COMM GLAD_WGL_EXT_swap_control_tear:DWORD
COMM GLAD_WGL_I3D_digital_video_control:DWORD
COMM GLAD_WGL_I3D_gamma:DWORD
COMM GLAD_WGL_I3D_genlock:DWORD
COMM GLAD_WGL_I3D_image_buffer:DWORD
COMM GLAD_WGL_I3D_swap_frame_lock:DWORD
COMM GLAD_WGL_I3D_swap_frame_usage:DWORD
COMM GLAD_WGL_NV_DX_interop:DWORD
COMM GLAD_WGL_NV_DX_interop2:DWORD
COMM GLAD_WGL_NV_copy_image:DWORD
COMM GLAD_WGL_NV_delay_before_swap:DWORD
COMM GLAD_WGL_NV_float_buffer:DWORD
COMM GLAD_WGL_NV_gpu_affinity:DWORD
COMM GLAD_WGL_NV_multigpu_context:DWORD
COMM GLAD_WGL_NV_multisample_coverage:DWORD
COMM GLAD_WGL_NV_present_video:DWORD
COMM GLAD_WGL_NV_render_depth_texture:DWORD
COMM GLAD_WGL_NV_render_texture_rectangle:DWORD
COMM GLAD_WGL_NV_swap_group:DWORD
COMM GLAD_WGL_NV_vertex_array_range:DWORD
COMM GLAD_WGL_NV_video_capture:DWORD
COMM GLAD_WGL_NV_video_output:DWORD
COMM GLAD_WGL_OML_sync_control:DWORD
COMM glad_wglAllocateMemoryNV:QWORD
COMM glad_wglAssociateImageBufferEventsI3D:QWORD
COMM glad_wglBeginFrameTrackingI3D:QWORD
COMM glad_wglBindDisplayColorTableEXT:QWORD
COMM glad_wglBindSwapBarrierNV:QWORD
COMM glad_wglBindTexImageARB:QWORD
COMM glad_wglBindVideoCaptureDeviceNV:QWORD
COMM glad_wglBindVideoDeviceNV:QWORD
COMM glad_wglBindVideoImageNV:QWORD
COMM glad_wglBlitContextFramebufferAMD:QWORD
COMM glad_wglChoosePixelFormatARB:QWORD
COMM glad_wglChoosePixelFormatEXT:QWORD
COMM glad_wglCopyImageSubDataNV:QWORD
COMM glad_wglCreateAffinityDCNV:QWORD
COMM glad_wglCreateAssociatedContextAMD:QWORD
COMM glad_wglCreateAssociatedContextAttribsAMD:QWORD
COMM glad_wglCreateBufferRegionARB:QWORD
COMM glad_wglCreateContextAttribsARB:QWORD
COMM glad_wglCreateDisplayColorTableEXT:QWORD
COMM glad_wglCreateImageBufferI3D:QWORD
COMM glad_wglCreatePbufferARB:QWORD
COMM glad_wglCreatePbufferEXT:QWORD
COMM glad_wglDXCloseDeviceNV:QWORD
COMM glad_wglDXLockObjectsNV:QWORD
COMM glad_wglDXObjectAccessNV:QWORD
COMM glad_wglDXOpenDeviceNV:QWORD
COMM glad_wglDXRegisterObjectNV:QWORD
COMM glad_wglDXSetResourceShareHandleNV:QWORD
COMM glad_wglDXUnlockObjectsNV:QWORD
COMM glad_wglDXUnregisterObjectNV:QWORD
COMM glad_wglDelayBeforeSwapNV:QWORD
COMM glad_wglDeleteAssociatedContextAMD:QWORD
COMM glad_wglDeleteBufferRegionARB:QWORD
COMM glad_wglDeleteDCNV:QWORD
COMM glad_wglDestroyDisplayColorTableEXT:QWORD
COMM glad_wglDestroyImageBufferI3D:QWORD
COMM glad_wglDestroyPbufferARB:QWORD
COMM glad_wglDestroyPbufferEXT:QWORD
COMM glad_wglDisableFrameLockI3D:QWORD
COMM glad_wglDisableGenlockI3D:QWORD
COMM glad_wglEnableFrameLockI3D:QWORD
COMM glad_wglEnableGenlockI3D:QWORD
COMM glad_wglEndFrameTrackingI3D:QWORD
COMM glad_wglEnumGpuDevicesNV:QWORD
COMM glad_wglEnumGpusFromAffinityDCNV:QWORD
COMM glad_wglEnumGpusNV:QWORD
COMM glad_wglEnumerateVideoCaptureDevicesNV:QWORD
COMM glad_wglEnumerateVideoDevicesNV:QWORD
COMM glad_wglFreeMemoryNV:QWORD
COMM glad_wglGenlockSampleRateI3D:QWORD
COMM glad_wglGenlockSourceDelayI3D:QWORD
COMM glad_wglGenlockSourceEdgeI3D:QWORD
COMM glad_wglGenlockSourceI3D:QWORD
COMM glad_wglGetContextGPUIDAMD:QWORD
COMM glad_wglGetCurrentAssociatedContextAMD:QWORD
COMM glad_wglGetCurrentReadDCARB:QWORD
COMM glad_wglGetCurrentReadDCEXT:QWORD
COMM glad_wglGetDigitalVideoParametersI3D:QWORD
COMM glad_wglGetExtensionsStringARB:QWORD
COMM glad_wglGetExtensionsStringEXT:QWORD
COMM glad_wglGetFrameUsageI3D:QWORD
COMM glad_wglGetGPUIDsAMD:QWORD
COMM glad_wglGetGPUInfoAMD:QWORD
COMM glad_wglGetGammaTableI3D:QWORD
COMM glad_wglGetGammaTableParametersI3D:QWORD
COMM glad_wglGetGenlockSampleRateI3D:QWORD
COMM glad_wglGetGenlockSourceDelayI3D:QWORD
COMM glad_wglGetGenlockSourceEdgeI3D:QWORD
COMM glad_wglGetGenlockSourceI3D:QWORD
COMM glad_wglGetMscRateOML:QWORD
COMM glad_wglGetPbufferDCARB:QWORD
COMM glad_wglGetPbufferDCEXT:QWORD
COMM glad_wglGetPixelFormatAttribfvARB:QWORD
COMM glad_wglGetPixelFormatAttribfvEXT:QWORD
COMM glad_wglGetPixelFormatAttribivARB:QWORD
COMM glad_wglGetPixelFormatAttribivEXT:QWORD
COMM glad_wglGetSwapIntervalEXT:QWORD
COMM glad_wglGetSyncValuesOML:QWORD
COMM glad_wglGetVideoDeviceNV:QWORD
COMM glad_wglGetVideoInfoNV:QWORD
COMM glad_wglIsEnabledFrameLockI3D:QWORD
COMM glad_wglIsEnabledGenlockI3D:QWORD
COMM glad_wglJoinSwapGroupNV:QWORD
COMM glad_wglLoadDisplayColorTableEXT:QWORD
COMM glad_wglLockVideoCaptureDeviceNV:QWORD
COMM glad_wglMakeAssociatedContextCurrentAMD:QWORD
COMM glad_wglMakeContextCurrentARB:QWORD
COMM glad_wglMakeContextCurrentEXT:QWORD
COMM glad_wglQueryCurrentContextNV:QWORD
COMM glad_wglQueryFrameCountNV:QWORD
COMM glad_wglQueryFrameLockMasterI3D:QWORD
COMM glad_wglQueryFrameTrackingI3D:QWORD
COMM glad_wglQueryGenlockMaxSourceDelayI3D:QWORD
COMM glad_wglQueryMaxSwapGroupsNV:QWORD
COMM glad_wglQueryPbufferARB:QWORD
COMM glad_wglQueryPbufferEXT:QWORD
COMM glad_wglQuerySwapGroupNV:QWORD
COMM glad_wglQueryVideoCaptureDeviceNV:QWORD
COMM glad_wglReleaseImageBufferEventsI3D:QWORD
COMM glad_wglReleasePbufferDCARB:QWORD
COMM glad_wglReleasePbufferDCEXT:QWORD
COMM glad_wglReleaseTexImageARB:QWORD
COMM glad_wglReleaseVideoCaptureDeviceNV:QWORD
COMM glad_wglReleaseVideoDeviceNV:QWORD
COMM glad_wglReleaseVideoImageNV:QWORD
COMM glad_wglResetFrameCountNV:QWORD
COMM glad_wglRestoreBufferRegionARB:QWORD
COMM glad_wglSaveBufferRegionARB:QWORD
COMM glad_wglSendPbufferToVideoNV:QWORD
COMM glad_wglSetDigitalVideoParametersI3D:QWORD
COMM glad_wglSetGammaTableI3D:QWORD
COMM glad_wglSetGammaTableParametersI3D:QWORD
COMM glad_wglSetPbufferAttribARB:QWORD
COMM glad_wglSetStereoEmitterState3DL:QWORD
COMM glad_wglSwapBuffersMscOML:QWORD
COMM glad_wglSwapIntervalEXT:QWORD
COMM glad_wglSwapLayerBuffersMscOML:QWORD
COMM glad_wglWaitForMscOML:QWORD
COMM glad_wglWaitForSbcOML:QWORD
COMM infolog:QWORD:0200H
COMM infolog:BYTE:0200H
_DATA ENDS
msvcjmc SEGMENT
__0ED14FEE_winpackagefamily@h DB 01H
__F92EF742_winapifamily@h DB 01H
__22E515EB_sdkddkver@h DB 01H
__D359774B_concurrencysal@h DB 01H
__0E7B27E3_sal@h DB 01H
__C320D00B_vadefs@h DB 01H
__E4023321_vcruntime@h DB 01H
__045EB48A_excpt@h DB 01H
__8FF200A2_stdarg@h DB 01H
__4B783B3C_concurrencysal@h DB 01H
__137BB1BE_sal@h DB 01H
__805F4069_vadefs@h DB 01H
__1EAACA9B_vcruntime@h DB 01H
__1227BCE2_excpt@h DB 01H
__CC8D90C0_stdarg@h DB 01H
__29F49F40_specstrings_undef@h DB 01H
__D0F42932_specstrings_strict@h DB 01H
__F00405FD_sdv_driverspecs@h DB 01H
@@ -206,7 +29,7 @@ __1EC467ED_ctype@h DB 01H
__98517906_kernelspecs@h DB 01H
__D3497022_basetsd@h DB 01H
__61CC25A1_errno@h DB 01H
__1A10C8D2_vcruntime_string@h DB 01H
__0504B279_vcruntime_string@h DB 01H
__E4C945B4_corecrt_memcpy_s@h DB 01H
__8EAFF484_corecrt_memory@h DB 01H
__6490AEC5_corecrt_wstring@h DB 01H
@@ -281,35 +104,35 @@ __11C07376_mcx@h DB 01H
__577CE3E7_ime_cmodes@h DB 01H
__1E72C31E_imm@h DB 01H
__E15BF856_windows@h DB 01H
__CBBACB16_ssgc_framework@h DB 01H
__F0C66064_ssgc_internal@h DB 01H
__BB2DBE6D_stdint@h DB 01H
__0E25A6E3_khrplatform@h DB 01H
__4AFAC916_glad_gl@h DB 01H
__D52B075C_glad_wgl@h DB 01H
__13F5961F_stddef@h DB 01H
__94128AEC_glfw3@h DB 01H
__FC01764F_mmintrin@h DB 01H
__A19B9DB6_ssgc_framework@h DB 01H
__5BC5AF51_mmintrin@h DB 01H
__45DED006_corecrt_malloc@h DB 01H
__FA77ED4C_malloc@h DB 01H
__64D75F75_xmmintrin@h DB 01H
__01B5D6B9_emmintrin@h DB 01H
__DE14BE30_pmmintrin@h DB 01H
__6ECDCDB2_tmmintrin@h DB 01H
__47F6D831_smmintrin@h DB 01H
__229451FD_nmmintrin@h DB 01H
__F72FABB3_wmmintrin@h DB 01H
__3CBBE6B4_zmmintrin@h DB 01H
__0BAF447E_immintrin@h DB 01H
__9E7FA6CF_xmmintrin@h DB 01H
__61B03275_ssgc_internal@h DB 01H
__F8522E0F_stdint@h DB 01H
__874AB8BA_khrplatform@h DB 01H
__8DCB230D_gl@h DB 01H
__5F89FF5A_wgl@h DB 01H
__13F5961F_stddef@h DB 01H
__B47D1049_glfw3@h DB 01H
__FB1D2F03_emmintrin@h DB 01H
__24BC478A_pmmintrin@h DB 01H
__94653408_tmmintrin@h DB 01H
__BD5E218B_smmintrin@h DB 01H
__D83CA847_nmmintrin@h DB 01H
__0D875209_wmmintrin@h DB 01H
__C6131F0E_zmmintrin@h DB 01H
__F107BDC4_immintrin@h DB 01H
__44420885_corecrt_stdio_config@h DB 01H
__AB601D8D_corecrt_wstdio@h DB 01H
__C1EC35D3_stdio@h DB 01H
__FD6DBD68_corecrt_search@h DB 01H
__E2E33A61_corecrt_wstdlib@h DB 01H
__055B9052_limits@h DB 01H
__46240030_limits@h DB 01H
__6E5ACABA_stdlib@h DB 01H
__014E939F_stb_image@h DB 01H
__9D113FA1_StgSharpC@h DB 01H
__5274102E_stb_image@h DB 01H
__CE2BBC10_StgSharpC@h DB 01H
__54E5184D_mat2@c DB 01H
msvcjmc ENDS
PUBLIC transpose2to3
@@ -320,17 +143,20 @@ EXTRN __imp__aligned_free:PROC
EXTRN _RTC_InitBase:PROC
EXTRN _RTC_Shutdown:PROC
EXTRN __CheckForDebuggerJustMyCode:PROC
EXTRN defaultVecPtr:QWORD
EXTRN __GSHandlerCheck:PROC
EXTRN __security_check_cookie:PROC
EXTRN __security_cookie:QWORD
EXTRN _fltused:DWORD
; COMDAT pdata
pdata SEGMENT
$pdata$transpose2to3 DD imagerel $LN3
DD imagerel $LN3+321
DD imagerel $LN3+461
DD imagerel $unwind$transpose2to3
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$transpose2to4 DD imagerel $LN3
DD imagerel $LN3+356
DD imagerel $LN3+537
DD imagerel $unwind$transpose2to4
pdata ENDS
; COMDAT pdata
@@ -354,19 +180,33 @@ $unwind$deinit_mat2 DD 025051301H
DD 07007001dH
DD 05006H
xdata ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 022H
DW 0200H
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$transpose2to4 DD 025051801H
$unwind$transpose2to4 DD 025052919H
DD 01132318H
DD 0700c0029H
DD 0700c0041H
DD 0500bH
DD imagerel __GSHandlerCheck
DD 01f8H
xdata ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 022H
DW 01b4H
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$transpose2to3 DD 025051801H
$unwind$transpose2to3 DD 025052919H
DD 01132318H
DD 0700c0029H
DD 0700c003bH
DD 0500bH
DD imagerel __GSHandlerCheck
DD 01c8H
xdata ENDS
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
@@ -382,7 +222,7 @@ _TEXT SEGMENT
mat$ = 224
deinit_mat2 PROC ; COMDAT
; 28 : {
; 26 : {
$LN3:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
@@ -395,14 +235,14 @@ $LN3:
00 00 lea rcx, OFFSET FLAT:__54E5184D_mat2@c
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 29 : _aligned_free(mat);
; 27 : _aligned_free(mat);
0001f 48 8b 8d e0 00
00 00 mov rcx, QWORD PTR mat$[rbp]
00026 ff 15 00 00 00
00 call QWORD PTR __imp__aligned_free
; 30 : }
; 28 : }
0002c 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
@@ -417,132 +257,185 @@ _TEXT ENDS
_TEXT SEGMENT
t0$ = 16
t1$ = 64
source$ = 320
target$ = 328
$S4$ = 112
$S5$ = 160
$S6$ = 208
$S7$ = 256
__$ArrayPad$ = 472
source$ = 512
target$ = 520
transpose2to4 PROC ; COMDAT
; 17 : {
; 15 : {
$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
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
00018 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
0001f 48 33 c5 xor rax, rbp
00022 48 89 85 d8 01
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
00029 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__54E5184D_mat2@c
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00030 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 18 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
; 16 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
00024 b8 08 00 00 00 mov eax, 8
00029 48 6b c0 00 imul rax, rax, 0
0002d 48 8b 8d 40 01
00035 b8 08 00 00 00 mov eax, 8
0003a 48 6b c0 00 imul rax, rax, 0
0003e 48 8b 8d 00 02
00 00 mov rcx, QWORD PTR source$[rbp]
00034 48 03 c8 add rcx, rax
00037 48 8b c1 mov rax, rcx
0003a b9 04 00 00 00 mov ecx, 4
0003f 48 6b c9 01 imul rcx, rcx, 1
00043 48 03 c1 add rax, rcx
00046 0f 10 00 movups xmm0, XMMWORD PTR [rax]
00049 b8 08 00 00 00 mov eax, 8
0004e 48 6b c0 00 imul rax, rax, 0
00052 48 8b 8d 40 01
00045 48 03 c8 add rcx, rax
00048 48 8b c1 mov rax, rcx
0004b b9 04 00 00 00 mov ecx, 4
00050 48 6b c9 01 imul rcx, rcx, 1
00054 48 03 c1 add rax, rcx
00057 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0005a b8 08 00 00 00 mov eax, 8
0005f 48 6b c0 00 imul rax, rax, 0
00063 48 8b 8d 00 02
00 00 mov rcx, QWORD PTR source$[rbp]
00059 48 03 c8 add rcx, rax
0005c 48 8b c1 mov rax, rcx
0005f b9 04 00 00 00 mov ecx, 4
00064 48 6b c9 00 imul rcx, rcx, 0
00068 48 03 c1 add rax, rcx
0006b 0f 10 08 movups xmm1, XMMWORD PTR [rax]
0006e 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
00072 0f 28 c1 movaps xmm0, xmm1
00075 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
0006a 48 03 c8 add rcx, rax
0006d 48 8b c1 mov rax, rcx
00070 b9 04 00 00 00 mov ecx, 4
00075 48 6b c9 00 imul rcx, rcx, 0
00079 48 03 c1 add rax, rcx
0007c 0f 10 08 movups xmm1, XMMWORD PTR [rax]
0007f 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
00083 0f 28 c1 movaps xmm0, xmm1
00086 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
; 19 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2));
; 17 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2));
00079 b8 08 00 00 00 mov eax, 8
0007e 48 6b c0 00 imul rax, rax, 0
00082 48 8b 8d 40 01
0008a b8 08 00 00 00 mov eax, 8
0008f 48 6b c0 00 imul rax, rax, 0
00093 48 8b 8d 00 02
00 00 mov rcx, QWORD PTR source$[rbp]
00089 48 03 c8 add rcx, rax
0008c 48 8b c1 mov rax, rcx
0008f b9 04 00 00 00 mov ecx, 4
00094 48 6b c9 01 imul rcx, rcx, 1
00098 48 03 c1 add rax, rcx
0009b 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0009e b8 08 00 00 00 mov eax, 8
000a3 48 6b c0 00 imul rax, rax, 0
000a7 48 8b 8d 40 01
0009a 48 03 c8 add rcx, rax
0009d 48 8b c1 mov rax, rcx
000a0 b9 04 00 00 00 mov ecx, 4
000a5 48 6b c9 01 imul rcx, rcx, 1
000a9 48 03 c1 add rax, rcx
000ac 0f 10 00 movups xmm0, XMMWORD PTR [rax]
000af b8 08 00 00 00 mov eax, 8
000b4 48 6b c0 00 imul rax, rax, 0
000b8 48 8b 8d 00 02
00 00 mov rcx, QWORD PTR source$[rbp]
000ae 48 03 c8 add rcx, rax
000b1 48 8b c1 mov rax, rcx
000b4 b9 04 00 00 00 mov ecx, 4
000b9 48 6b c9 00 imul rcx, rcx, 0
000bd 48 03 c1 add rax, rcx
000c0 0f 10 08 movups xmm1, XMMWORD PTR [rax]
000c3 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
000c7 0f 28 c1 movaps xmm0, xmm1
000ca 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0
000bf 48 03 c8 add rcx, rax
000c2 48 8b c1 mov rax, rcx
000c5 b9 04 00 00 00 mov ecx, 4
000ca 48 6b c9 00 imul rcx, rcx, 0
000ce 48 03 c1 add rax, rcx
000d1 0f 10 08 movups xmm1, XMMWORD PTR [rax]
000d4 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
000d8 0f 28 c1 movaps xmm0, xmm1
000db 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0
; 20 :
; 21 : target->colum[0] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0));
; 18 :
; 19 : target->colum[0] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
000ce 48 8b 05 00 00
00 00 mov rax, QWORD PTR defaultVecPtr
000d5 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
000d9 0f c6 00 88 shufps xmm0, XMMWORD PTR [rax], 136 ; 00000088H
000dd b8 10 00 00 00 mov eax, 16
000e2 48 6b c0 00 imul rax, rax, 0
000e6 48 8b 8d 48 01
000df 0f 57 c0 xorps xmm0, xmm0
000e2 f3 0f 11 45 70 movss DWORD PTR $S4$[rbp], xmm0
000e7 0f 57 c0 xorps xmm0, xmm0
000ea f3 0f 11 45 74 movss DWORD PTR $S4$[rbp+4], xmm0
000ef 0f 57 c0 xorps xmm0, xmm0
000f2 f3 0f 11 45 78 movss DWORD PTR $S4$[rbp+8], xmm0
000f7 0f 57 c0 xorps xmm0, xmm0
000fa f3 0f 11 45 7c movss DWORD PTR $S4$[rbp+12], xmm0
000ff 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
00103 0f c6 45 70 88 shufps xmm0, XMMWORD PTR $S4$[rbp], 136 ; 00000088H
00108 b8 10 00 00 00 mov eax, 16
0010d 48 6b c0 00 imul rax, rax, 0
00111 48 8b 8d 08 02
00 00 mov rcx, QWORD PTR target$[rbp]
000ed 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
00118 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 22 : target->colum[1] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(3, 1, 3, 1));
; 20 : target->colum[1] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
000f1 48 8b 05 00 00
00 00 mov rax, QWORD PTR defaultVecPtr
000f8 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
000fc 0f c6 00 dd shufps xmm0, XMMWORD PTR [rax], 221 ; 000000ddH
00100 b8 10 00 00 00 mov eax, 16
00105 48 6b c0 01 imul rax, rax, 1
00109 48 8b 8d 48 01
0011c 0f 57 c0 xorps xmm0, xmm0
0011f f3 0f 11 85 a0
00 00 00 movss DWORD PTR $S5$[rbp], xmm0
00127 0f 57 c0 xorps xmm0, xmm0
0012a f3 0f 11 85 a4
00 00 00 movss DWORD PTR $S5$[rbp+4], xmm0
00132 0f 57 c0 xorps xmm0, xmm0
00135 f3 0f 11 85 a8
00 00 00 movss DWORD PTR $S5$[rbp+8], xmm0
0013d 0f 57 c0 xorps xmm0, xmm0
00140 f3 0f 11 85 ac
00 00 00 movss DWORD PTR $S5$[rbp+12], xmm0
00148 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
0014c 0f c6 85 a0 00
00 00 dd shufps xmm0, XMMWORD PTR $S5$[rbp], 221 ; 000000ddH
00154 b8 10 00 00 00 mov eax, 16
00159 48 6b c0 01 imul rax, rax, 1
0015d 48 8b 8d 08 02
00 00 mov rcx, QWORD PTR target$[rbp]
00110 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
00164 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 23 : target->colum[2] = _mm_shuffle_ps(t1, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0));
; 21 : target->colum[2] = _mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
00114 48 8b 05 00 00
00 00 mov rax, QWORD PTR defaultVecPtr
0011b 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
0011f 0f c6 00 88 shufps xmm0, XMMWORD PTR [rax], 136 ; 00000088H
00123 b8 10 00 00 00 mov eax, 16
00128 48 6b c0 02 imul rax, rax, 2
0012c 48 8b 8d 48 01
00168 0f 57 c0 xorps xmm0, xmm0
0016b f3 0f 11 85 d0
00 00 00 movss DWORD PTR $S6$[rbp], xmm0
00173 0f 57 c0 xorps xmm0, xmm0
00176 f3 0f 11 85 d4
00 00 00 movss DWORD PTR $S6$[rbp+4], xmm0
0017e 0f 57 c0 xorps xmm0, xmm0
00181 f3 0f 11 85 d8
00 00 00 movss DWORD PTR $S6$[rbp+8], xmm0
00189 0f 57 c0 xorps xmm0, xmm0
0018c f3 0f 11 85 dc
00 00 00 movss DWORD PTR $S6$[rbp+12], xmm0
00194 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
00198 0f c6 85 d0 00
00 00 88 shufps xmm0, XMMWORD PTR $S6$[rbp], 136 ; 00000088H
001a0 b8 10 00 00 00 mov eax, 16
001a5 48 6b c0 02 imul rax, rax, 2
001a9 48 8b 8d 08 02
00 00 mov rcx, QWORD PTR target$[rbp]
00133 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
001b0 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 24 : target->colum[3] = _mm_shuffle_ps(t1, *defaultVecPtr, _MM_SHUFFLE(3, 1, 3, 1));
; 22 : target->colum[3] = _mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
00137 48 8b 05 00 00
00 00 mov rax, QWORD PTR defaultVecPtr
0013e 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
00142 0f c6 00 dd shufps xmm0, XMMWORD PTR [rax], 221 ; 000000ddH
00146 b8 10 00 00 00 mov eax, 16
0014b 48 6b c0 03 imul rax, rax, 3
0014f 48 8b 8d 48 01
001b4 0f 57 c0 xorps xmm0, xmm0
001b7 f3 0f 11 85 00
01 00 00 movss DWORD PTR $S7$[rbp], xmm0
001bf 0f 57 c0 xorps xmm0, xmm0
001c2 f3 0f 11 85 04
01 00 00 movss DWORD PTR $S7$[rbp+4], xmm0
001ca 0f 57 c0 xorps xmm0, xmm0
001cd f3 0f 11 85 08
01 00 00 movss DWORD PTR $S7$[rbp+8], xmm0
001d5 0f 57 c0 xorps xmm0, xmm0
001d8 f3 0f 11 85 0c
01 00 00 movss DWORD PTR $S7$[rbp+12], xmm0
001e0 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
001e4 0f c6 85 00 01
00 00 dd shufps xmm0, XMMWORD PTR $S7$[rbp], 221 ; 000000ddH
001ec b8 10 00 00 00 mov eax, 16
001f1 48 6b c0 03 imul rax, rax, 3
001f5 48 8b 8d 08 02
00 00 mov rcx, QWORD PTR target$[rbp]
00156 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
001fc 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 25 : }
; 23 : }
0015a 48 8d a5 28 01
00 00 lea rsp, QWORD PTR [rbp+296]
00161 5f pop rdi
00162 5d pop rbp
00163 c3 ret 0
00200 48 8b 8d d8 01
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
00207 48 33 cd xor rcx, rbp
0020a e8 00 00 00 00 call __security_check_cookie
0020f 48 8d a5 e8 01
00 00 lea rsp, QWORD PTR [rbp+488]
00216 5f pop rdi
00217 5d pop rbp
00218 c3 ret 0
transpose2to4 ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
@@ -551,120 +444,161 @@ _TEXT ENDS
_TEXT SEGMENT
t0$ = 16
t1$ = 64
source$ = 320
target$ = 328
$S1$ = 112
$S2$ = 160
$S3$ = 208
__$ArrayPad$ = 424
source$ = 464
target$ = 472
transpose2to3 PROC ; COMDAT
; 7 : {
; 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
0000c 48 81 ec d8 01
00 00 sub rsp, 472 ; 000001d8H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 8d 0d 00 00
00018 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
0001f 48 33 c5 xor rax, rbp
00022 48 89 85 a8 01
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
00029 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__54E5184D_mat2@c
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00030 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 8 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
; 6 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
00024 b8 08 00 00 00 mov eax, 8
00029 48 6b c0 00 imul rax, rax, 0
0002d 48 8b 8d 40 01
00035 b8 08 00 00 00 mov eax, 8
0003a 48 6b c0 00 imul rax, rax, 0
0003e 48 8b 8d d0 01
00 00 mov rcx, QWORD PTR source$[rbp]
00034 48 03 c8 add rcx, rax
00037 48 8b c1 mov rax, rcx
0003a b9 04 00 00 00 mov ecx, 4
0003f 48 6b c9 01 imul rcx, rcx, 1
00043 48 03 c1 add rax, rcx
00046 0f 10 00 movups xmm0, XMMWORD PTR [rax]
00049 b8 08 00 00 00 mov eax, 8
0004e 48 6b c0 00 imul rax, rax, 0
00052 48 8b 8d 40 01
00045 48 03 c8 add rcx, rax
00048 48 8b c1 mov rax, rcx
0004b b9 04 00 00 00 mov ecx, 4
00050 48 6b c9 01 imul rcx, rcx, 1
00054 48 03 c1 add rax, rcx
00057 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0005a b8 08 00 00 00 mov eax, 8
0005f 48 6b c0 00 imul rax, rax, 0
00063 48 8b 8d d0 01
00 00 mov rcx, QWORD PTR source$[rbp]
00059 48 03 c8 add rcx, rax
0005c 48 8b c1 mov rax, rcx
0005f b9 04 00 00 00 mov ecx, 4
00064 48 6b c9 00 imul rcx, rcx, 0
00068 48 03 c1 add rax, rcx
0006b 0f 10 08 movups xmm1, XMMWORD PTR [rax]
0006e 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
00072 0f 28 c1 movaps xmm0, xmm1
00075 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
0006a 48 03 c8 add rcx, rax
0006d 48 8b c1 mov rax, rcx
00070 b9 04 00 00 00 mov ecx, 4
00075 48 6b c9 00 imul rcx, rcx, 0
00079 48 03 c1 add rax, rcx
0007c 0f 10 08 movups xmm1, XMMWORD PTR [rax]
0007f 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
00083 0f 28 c1 movaps xmm0, xmm1
00086 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
; 9 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2));
; 7 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2));
00079 b8 08 00 00 00 mov eax, 8
0007e 48 6b c0 00 imul rax, rax, 0
00082 48 8b 8d 40 01
0008a b8 08 00 00 00 mov eax, 8
0008f 48 6b c0 00 imul rax, rax, 0
00093 48 8b 8d d0 01
00 00 mov rcx, QWORD PTR source$[rbp]
00089 48 03 c8 add rcx, rax
0008c 48 8b c1 mov rax, rcx
0008f b9 04 00 00 00 mov ecx, 4
00094 48 6b c9 01 imul rcx, rcx, 1
00098 48 03 c1 add rax, rcx
0009b 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0009e b8 08 00 00 00 mov eax, 8
000a3 48 6b c0 00 imul rax, rax, 0
000a7 48 8b 8d 40 01
0009a 48 03 c8 add rcx, rax
0009d 48 8b c1 mov rax, rcx
000a0 b9 04 00 00 00 mov ecx, 4
000a5 48 6b c9 01 imul rcx, rcx, 1
000a9 48 03 c1 add rax, rcx
000ac 0f 10 00 movups xmm0, XMMWORD PTR [rax]
000af b8 08 00 00 00 mov eax, 8
000b4 48 6b c0 00 imul rax, rax, 0
000b8 48 8b 8d d0 01
00 00 mov rcx, QWORD PTR source$[rbp]
000ae 48 03 c8 add rcx, rax
000b1 48 8b c1 mov rax, rcx
000b4 b9 04 00 00 00 mov ecx, 4
000b9 48 6b c9 00 imul rcx, rcx, 0
000bd 48 03 c1 add rax, rcx
000c0 0f 10 08 movups xmm1, XMMWORD PTR [rax]
000c3 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
000c7 0f 28 c1 movaps xmm0, xmm1
000ca 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0
000bf 48 03 c8 add rcx, rax
000c2 48 8b c1 mov rax, rcx
000c5 b9 04 00 00 00 mov ecx, 4
000ca 48 6b c9 00 imul rcx, rcx, 0
000ce 48 03 c1 add rax, rcx
000d1 0f 10 08 movups xmm1, XMMWORD PTR [rax]
000d4 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
000d8 0f 28 c1 movaps xmm0, xmm1
000db 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0
; 10 :
; 11 : target->colum[0] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0));
; 8 :
; 9 : target->colum[0] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
000ce 48 8b 05 00 00
00 00 mov rax, QWORD PTR defaultVecPtr
000d5 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
000d9 0f c6 00 88 shufps xmm0, XMMWORD PTR [rax], 136 ; 00000088H
000dd b8 10 00 00 00 mov eax, 16
000e2 48 6b c0 00 imul rax, rax, 0
000e6 48 8b 8d 48 01
000df 0f 57 c0 xorps xmm0, xmm0
000e2 f3 0f 11 45 70 movss DWORD PTR $S1$[rbp], xmm0
000e7 0f 57 c0 xorps xmm0, xmm0
000ea f3 0f 11 45 74 movss DWORD PTR $S1$[rbp+4], xmm0
000ef 0f 57 c0 xorps xmm0, xmm0
000f2 f3 0f 11 45 78 movss DWORD PTR $S1$[rbp+8], xmm0
000f7 0f 57 c0 xorps xmm0, xmm0
000fa f3 0f 11 45 7c movss DWORD PTR $S1$[rbp+12], xmm0
000ff 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
00103 0f c6 45 70 88 shufps xmm0, XMMWORD PTR $S1$[rbp], 136 ; 00000088H
00108 b8 10 00 00 00 mov eax, 16
0010d 48 6b c0 00 imul rax, rax, 0
00111 48 8b 8d d8 01
00 00 mov rcx, QWORD PTR target$[rbp]
000ed 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
00118 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 12 : target->colum[1] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(3, 1, 3, 1));
; 10 : target->colum[1] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
000f1 48 8b 05 00 00
00 00 mov rax, QWORD PTR defaultVecPtr
000f8 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
000fc 0f c6 00 dd shufps xmm0, XMMWORD PTR [rax], 221 ; 000000ddH
00100 b8 10 00 00 00 mov eax, 16
00105 48 6b c0 01 imul rax, rax, 1
00109 48 8b 8d 48 01
0011c 0f 57 c0 xorps xmm0, xmm0
0011f f3 0f 11 85 a0
00 00 00 movss DWORD PTR $S2$[rbp], xmm0
00127 0f 57 c0 xorps xmm0, xmm0
0012a f3 0f 11 85 a4
00 00 00 movss DWORD PTR $S2$[rbp+4], xmm0
00132 0f 57 c0 xorps xmm0, xmm0
00135 f3 0f 11 85 a8
00 00 00 movss DWORD PTR $S2$[rbp+8], xmm0
0013d 0f 57 c0 xorps xmm0, xmm0
00140 f3 0f 11 85 ac
00 00 00 movss DWORD PTR $S2$[rbp+12], xmm0
00148 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
0014c 0f c6 85 a0 00
00 00 dd shufps xmm0, XMMWORD PTR $S2$[rbp], 221 ; 000000ddH
00154 b8 10 00 00 00 mov eax, 16
00159 48 6b c0 01 imul rax, rax, 1
0015d 48 8b 8d d8 01
00 00 mov rcx, QWORD PTR target$[rbp]
00110 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
00164 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 13 : target->colum[2] = _mm_shuffle_ps(t1, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0));
; 11 : target->colum[2] = _mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
00114 48 8b 05 00 00
00 00 mov rax, QWORD PTR defaultVecPtr
0011b 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
0011f 0f c6 00 88 shufps xmm0, XMMWORD PTR [rax], 136 ; 00000088H
00123 b8 10 00 00 00 mov eax, 16
00128 48 6b c0 02 imul rax, rax, 2
0012c 48 8b 8d 48 01
00168 0f 57 c0 xorps xmm0, xmm0
0016b f3 0f 11 85 d0
00 00 00 movss DWORD PTR $S3$[rbp], xmm0
00173 0f 57 c0 xorps xmm0, xmm0
00176 f3 0f 11 85 d4
00 00 00 movss DWORD PTR $S3$[rbp+4], xmm0
0017e 0f 57 c0 xorps xmm0, xmm0
00181 f3 0f 11 85 d8
00 00 00 movss DWORD PTR $S3$[rbp+8], xmm0
00189 0f 57 c0 xorps xmm0, xmm0
0018c f3 0f 11 85 dc
00 00 00 movss DWORD PTR $S3$[rbp+12], xmm0
00194 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
00198 0f c6 85 d0 00
00 00 88 shufps xmm0, XMMWORD PTR $S3$[rbp], 136 ; 00000088H
001a0 b8 10 00 00 00 mov eax, 16
001a5 48 6b c0 02 imul rax, rax, 2
001a9 48 8b 8d d8 01
00 00 mov rcx, QWORD PTR target$[rbp]
00133 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
001b0 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 14 : }
; 12 : }
00137 48 8d a5 28 01
00 00 lea rsp, QWORD PTR [rbp+296]
0013e 5f pop rdi
0013f 5d pop rbp
00140 c3 ret 0
001b4 48 8b 8d a8 01
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
001bb 48 33 cd xor rcx, rbp
001be e8 00 00 00 00 call __security_check_cookie
001c3 48 8d a5 b8 01
00 00 lea rsp, QWORD PTR [rbp+440]
001ca 5f pop rdi
001cb 5d pop rbp
001cc c3 ret 0
transpose2to3 ENDP
_TEXT ENDS
END