Function at 0x557190
Capabilities:
Get common file path
Get startup folder
Open clipboard
Write clipboard data
Write file on windows
Write file to startup folder

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x571145
mov eax, dword fs:[0]
push eax
sub esp, 0x738
mov eax, dword [0x5cf004]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x734], esi
call fcn.00407579
xor edx, edx
mov ecx, eax
test ecx, ecx
setne dl
test edx, edx
jne 0x5571e2
push 0x80004005
call fcn.004027b0
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x5571f7
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
jmp 0x5571f9
call edx
add eax, 0x10
mov dword [ebp - 0x724], eax
mov dword [ebp - 4], 0
call fcn.00407579
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x557225
push 0x80004005
call fcn.004027b0
mov eax, dword [edx]
mov edi, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x55723a
lock inc dword [edx + 0x14]
lea eax, [edx + 8]
jmp 0x55723e
mov ecx, edx
call edi
add eax, 0x10
mov dword [ebp - 0x728], eax
push 1
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.0040de0e
push 0x28f
push str.________________________________________________________________________r_n_PRODUCT___VERSION__EDITION___C___COPY_YEAR__hiyohiyo_r_n___________________________Crystal_Dew_World_:_http:__crystalmark.info__r_n________________________________________________________________________r_n_MB_s__1_000_000_bytes_s__SATA_600__600_000_000_bytes_s__r_n_KB__1000_bytes__KiB__1024_bytes_r_n_r_n_SequentialReadMultiQT__r_n_SequentialWriteMultiQT__r_n_RandomRead4KBMultiQT__r_n_RandomWrite4KBMultiQT__r_n_SequentialRead__r_n_SequentialWrite__r_n_RandomRead4KB__r_n_RandomWrite4KB__r_n_r_n__Test_:__TestSize___x_TestCount____TestMode____IntervalTime___r_n__Date_:__Date__r_n____OS_:__OS__r_n___Comment_
lea ecx, [ebp - 0x728]
call fcn.004025d0
push 0x5a8e48
push str._PRODUCT_
lea ecx, [ebp - 0x728]
call fcn.004028d0
push 0x5a8e7c
push str._VERSION_
lea ecx, [ebp - 0x728]
call fcn.004028d0
push 0
push 0x5a8e9c
lea ecx, [ebp - 0x724]
call fcn.004025d0
mov eax, dword [ebp - 0x724]
lea ecx, [ebp - 0x728]
cmp dword [eax - 0xc], 0
je 0x5572c3
push 0x5a8ea0
push 0x5a8ea4
jmp 0x5572cd
push 0x5a8eb8
push str._EDITION_
call fcn.004028d0
push str.2007_2015
push str._COPY_YEAR_
lea ecx, [ebp - 0x728]
call fcn.004028d0
movsd xmm0, qword [esi + 0x440]
lea eax, [ebp - 0x724]
sub esp, 8
movsd qword [esp], xmm0
push dword [esi + 0x478]
push dword [esi + 0x474]
push str.___Sequential_Read__Q_3d_T_2d__:__9.3f_MB_s
push eax
call fcn.00402f90
add esp, 0x18
lea ecx, [ebp - 0x728]
push dword [ebp - 0x724]
push str._SequentialReadMultiQT_
call fcn.004028d0
movsd xmm0, qword [esi + 0x448]
lea eax, [ebp - 0x724]
sub esp, 8
movsd qword [esp], xmm0
push dword [esi + 0x478]
push dword [esi + 0x474]
push str.__Sequential_Write__Q_3d_T_2d__:__9.3f_MB_s
push eax
call fcn.00402f90
add esp, 0x18
lea ecx, [ebp - 0x728]
push dword [ebp - 0x724]
push str._SequentialWriteMultiQT_
call fcn.004028d0
movsd xmm1, qword [esi + 0x430]
lea eax, [ebp - 0x724]
movaps xmm0, xmm1
sub esp, 0x10
mulsd xmm0, qword [0x5ae8e8]
mulsd xmm0, qword [0x5ae8e8]
mulsd xmm0, qword [0x5ae890]
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
push dword [esi + 0x480]
push dword [esi + 0x47c]
push str.__Random_Read_4KiB__Q_3d_T_2d__:__9.3f_MB_s___8.1f_IOPS_
push eax
call fcn.00402f90
add esp, 0x20
lea ecx, [ebp - 0x728]
push dword [ebp - 0x724]
push str._RandomRead4KBMultiQT_
call fcn.004028d0
movsd xmm1, qword [esi + 0x438]
lea eax, [ebp - 0x724]
movaps xmm0, xmm1
sub esp, 0x10
mulsd xmm0, qword [0x5ae8e8]
mulsd xmm0, qword [0x5ae8e8]
mulsd xmm0, qword [0x5ae890]
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
push dword [esi + 0x480]
push dword [esi + 0x47c]
push str._Random_Write_4KiB__Q_3d_T_2d__:__9.3f_MB_s___8.1f_IOPS_
push eax
call fcn.00402f90
add esp, 0x20
lea ecx, [ebp - 0x728]
push dword [ebp - 0x724]
push str._RandomWrite4KBMultiQT_
call fcn.004028d0
movsd xmm0, qword [esi + 0x410]
lea eax, [ebp - 0x724]
sub esp, 8
movsd qword [esp], xmm0
push str._________Sequential_Read__T_1__:__9.3f_MB_s
push eax
call fcn.00402f90
add esp, 0x10
push dword [ebp - 0x724]
push str._SequentialRead_
lea ecx, [ebp - 0x728]
call fcn.004028d0
movsd xmm0, qword [esi + 0x418]
lea eax, [ebp - 0x724]
sub esp, 8
movsd qword [esp], xmm0
push str.________Sequential_Write__T_1__:__9.3f_MB_s
push eax
call fcn.00402f90
add esp, 0x10
lea ecx, [ebp - 0x728]
push dword [ebp - 0x724]
push str._SequentialWrite_
call fcn.004028d0
movsd xmm1, qword [esi + 0x420]
lea eax, [ebp - 0x724]
movaps xmm0, xmm1
sub esp, 0x10
mulsd xmm0, qword [0x5ae8e8]
mulsd xmm0, qword [0x5ae8e8]
mulsd xmm0, qword [0x5ae890]
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
push str.___Random_Read_4KiB__Q_1_T_1__:__9.3f_MB_s___8.1f_IOPS_
push eax
call fcn.00402f90
add esp, 0x18
lea ecx, [ebp - 0x728]
push dword [ebp - 0x724]
push str._RandomRead4KB_
call fcn.004028d0
movsd xmm1, qword [esi + 0x428]
lea eax, [ebp - 0x724]
movaps xmm0, xmm1
sub esp, 0x10
mulsd xmm0, qword [0x5ae8e8]
mulsd xmm0, qword [0x5ae8e8]
mulsd xmm0, qword [0x5ae890]
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
push str.__Random_Write_4KiB__Q_1_T_1__:__9.3f_MB_s___8.1f_IOPS_
push eax
call fcn.00402f90
add esp, 0x18
lea ecx, [ebp - 0x728]
push dword [ebp - 0x724]
push str._RandomWrite4KB_
call fcn.004028d0
push dword [esi + 0x460]
push dword [esi + 0x45c]
call fcn.0053b03b
add esp, 4
push eax
lea eax, [ebp - 0x724]
push str._d_MiB___s_
push eax
call fcn.00402f90
add esp, 0x10
lea ecx, [ebp - 0x728]
push dword [ebp - 0x724]
push str._TestSize_
call fcn.004028d0
push dword [esi + 0x458]
call fcn.0053b03b
push eax
lea eax, [ebp - 0x724]
push 0x5a93dc
push eax
call fcn.00402f90
add esp, 0x10
lea ecx, [ebp - 0x728]
push dword [ebp - 0x724]
push str._TestCount_
call fcn.004028d0
mov eax, dword [esi + 0x4bc]
lea ecx, [esi + 0x4bc]
mov ebx, dword [sym.imp.KERNEL32.dll_HeapFree]
or edi, 0xffffffff
cmp dword [eax - 0xc], 0
jne 0x557615
push 0x5a92c4
push 0x5a933c
lea ecx, [ebp - 0x728]
call fcn.004028d0
jmp 0x55772a
push ecx
lea eax, [ebp - 0x73c]
push 0x5a9404
push eax
call fcn.00402fb0
push 0x5a93fc
push eax
lea eax, [ebp - 0x740]
mov byte [ebp - 4], 2
push eax
call fcn.00403c70
add esp, 0x18
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x728]
push dword [eax]
push str._Comment_
call fcn.004028d0
mov byte [ebp - 4], 2
mov eax, edi
mov ecx, dword [ebp - 0x740]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x5576c0
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
mov dword [ebp - 0x72c], esi
mov esi, dword [ebp - 0x734]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x5576b8
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
mov dword [ebp - 0x72c], esi
mov esi, dword [ebp - 0x734]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x5576ae
push 0
push dword [edx + 4]
call ebx
jmp 0x5576c0
mov ecx, edx
call dword [ebp - 0x72c]
jmp 0x5576c0
mov ecx, edx
call dword [ebp - 0x72c]
mov byte [ebp - 4], 1
mov eax, edi
mov ecx, dword [ebp - 0x73c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x55772a
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
mov dword [ebp - 0x72c], esi
mov esi, dword [ebp - 0x734]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x557722
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
mov dword [ebp - 0x72c], esi
mov esi, dword [ebp - 0x734]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x557718
push 0
push dword [edx + 4]
call ebx
jmp 0x55772a
mov ecx, edx
call dword [ebp - 0x72c]
jmp 0x55772a
mov ecx, edx
call dword [ebp - 0x72c]
cmp dword [esi + 0x48c], 1
lea ecx, [ebp - 0x728]
jne 0x557745
push 0x5a9420
push 0x5a9430
jmp 0x55774f
push 0x5a9448
push str._TestMode_
call fcn.004028d0
push dword [esi + 0x488]
lea eax, [ebp - 0x724]
push str.Interval_d_sec
push eax
call fcn.00402f90
add esp, 0xc
lea ecx, [ebp - 0x728]
push dword [ebp - 0x724]
push str._IntervalTime_
call fcn.004028d0
lea ecx, [ebp - 0x724]
call fcn.00561770
push dword [ebp - 0x724]
lea ecx, [ebp - 0x728]
push str._OS_
call fcn.004028d0
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp - 0x21c]
push eax
movzx eax, word [ebp - 0x21e]
push eax
movzx eax, word [ebp - 0x220]
push eax
movzx eax, word [ebp - 0x222]
push eax
movzx eax, word [ebp - 0x226]
push eax
movzx eax, word [ebp - 0x228]
push eax
lea eax, [ebp - 0x724]
push str._04d__02d__02d__d:_02d:_02d
push eax
call fcn.00402f90
mov ebx, dword [ebp - 0x724]
lea ecx, [ebp - 0x728]
add esp, 0x20
push ebx
push str._Date_
call fcn.004028d0
cmp dword [ebp + 8], 0
mov esi, dword [ebp - 0x728]
jne 0x557882
mov eax, dword [ebp - 0x734]
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x557c20
call dword [sym.imp.USER32.dll_EmptyClipboard]
mov eax, dword [esi - 0xc]
lea eax, [eax*2 + 2]
push eax
push 0x2000
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov edi, eax
push edi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, dword [esi - 0xc]
push esi
inc ecx
push ecx
push eax
call fcn.0053b334
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push edi
push 0xd
call dword [sym.imp.USER32.dll_SetClipboardData]
call dword [sym.imp.USER32.dll_CloseClipboard]
or edi, 0xffffffff
jmp 0x557c20
call fcn.00407579
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x55789e
push 0x80004005
call fcn.004027b0
mov eax, dword [edx]
mov edi, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x5578b3
lock inc dword [edx + 0x14]
lea eax, [edx + 8]
jmp 0x5578b7
mov ecx, edx
call edi
add eax, 0x10
mov dword [ebp - 0x72c], eax
mov byte [ebp - 4], 4
call fcn.00407579
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x5578e0
push 0x80004005
call fcn.004027b0
mov eax, dword [edx]
mov edi, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x5578f5
lock inc dword [edx + 0x14]
lea eax, [edx + 8]
jmp 0x5578f9
mov ecx, edx
call edi
add eax, 0x10
mov dword [ebp - 0x734], eax
mov byte [ebp - 4], 5
call fcn.00407579
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x557922
push 0x80004005
call fcn.004027b0
mov eax, dword [edx]
mov edi, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x557937
lock inc dword [edx + 0x14]
lea eax, [edx + 8]
jmp 0x55793b
mov ecx, edx
call edi
add eax, 0x10
mov dword [ebp - 0x740], eax
lea eax, [ebp - 0x238]
mov byte [ebp - 4], 6
push eax
mov word [ebp - 0x738], 0xfeff
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp - 0x22c]
push eax
movzx eax, word [ebp - 0x22e]
push eax
movzx eax, word [ebp - 0x230]
push eax
movzx eax, word [ebp - 0x232]
push eax
movzx eax, word [ebp - 0x236]
push eax
movzx eax, word [ebp - 0x238]
push eax
lea eax, [ebp - 0x734]
push str.CDM__04d_02d_02d_0d_02d_02d
push eax
call fcn.00402f90
add esp, 0x20
lea ecx, [ebp - 0x72c]
push 0x5a9530
call fcn.00403d70
push str..txt.txt
lea ecx, [ebp - 0x740]
call fcn.00403d70
mov edi, dword [ebp - 0x740]
lea ecx, [ebp - 0x720]
mov ebx, dword [ebp - 0x734]
push 1
push 0
push 0
push edi
push 6
push ebx
push dword [ebp - 0x72c]
push 0
call fcn.00415ee8
push 1
push 0
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 7
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea ecx, [ebp - 0x720]
call fcn.00416a27
lea ecx, [ebp - 0x218]
mov dword [eax + 0x2c], ecx
lea ecx, [ebp - 0x720]
call fcn.004168ad
cmp eax, 1
jne 0x557af2
lea eax, [ebp - 0x744]
push eax
lea ecx, [ebp - 0x720]
call fcn.00416a2e
push str.wb_ccsUNICODE
push dword [eax]
lea eax, [ebp - 0x73c]
push eax
call fcn.00539b1c
mov ecx, dword [ebp - 0x744]
add esp, 0xc
add ecx, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x557abd
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
mov dword [ebp - 0x730], esi
mov esi, dword [ebp - 0x728]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x557ab5
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov ebx, dword [eax + 4]
mov dword [ebp - 0x730], ebx
mov ebx, dword [ebp - 0x734]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x557aab
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x557abd
mov ecx, edx
call dword [ebp - 0x730]
jmp 0x557abd
mov ecx, edx
call dword [ebp - 0x730]
push dword [ebp - 0x73c]
lea eax, [ebp - 0x738]
push 2
push 1
push eax
call fcn.0053b5d0
push esi
push 0x5a9564
push dword [ebp - 0x73c]
call fcn.00402e60
push dword [ebp - 0x73c]
call fcn.00539dc0
add esp, 0x20
lea ecx, [ebp - 0x720]
call fcn.004161b4
lea ecx, [edi - 0x10]
mov byte [ebp - 4], 5
or edi, 0xffffffff
mov eax, edi
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x557b68
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov ebx, dword [eax + 4]
mov dword [ebp - 0x730], ebx
mov ebx, dword [ebp - 0x734]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x557b60
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
mov dword [ebp - 0x730], esi
mov esi, dword [ebp - 0x728]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x557b56
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x557b68
mov ecx, edx
call dword [ebp - 0x730]
jmp 0x557b68
mov ecx, edx
call dword [ebp - 0x730]
mov byte [ebp - 4], 4
add ebx, 0xfffffff0
mov eax, edi
lock xadd dword [ebx + 0xc], eax
dec eax
test eax, eax
jg 0x557baa
mov ecx, dword [ebx]
push ebx
mov eax, dword [ecx]
mov edx, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x557ba8
mov ecx, dword [ecx + 4]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x557ba8
mov ebx, dword [sym.imp.KERNEL32.dll_HeapFree]
push 0
push dword [ecx + 4]
call ebx
jmp 0x557bb0
call edx
mov ebx, dword [sym.imp.KERNEL32.dll_HeapFree]
mov byte [ebp - 4], 1
mov eax, edi
mov ecx, dword [ebp - 0x72c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x557c1a
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
mov dword [ebp - 0x730], esi
mov esi, dword [ebp - 0x728]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x557c12
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
mov dword [ebp - 0x730], esi
mov esi, dword [ebp - 0x728]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x557c08
push 0
push dword [edx + 4]
call ebx
jmp 0x557c1a
mov ecx, edx
call dword [ebp - 0x730]
jmp 0x557c1a
mov ecx, edx
call dword [ebp - 0x730]
mov ebx, dword [ebp - 0x724]
mov byte [ebp - 4], 0
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x557c62
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
mov edx, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x557c60
mov ecx, dword [ecx + 4]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x557c60
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
push 0
push dword [ecx + 4]
call esi
jmp 0x557c68
call edx
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [ebp - 4], 0xffffffff
add ebx, 0xfffffff0
lock xadd dword [ebx + 0xc], edi
dec edi
test edi, edi
jg 0x557ca5
mov ecx, dword [ebx]
push ebx
mov eax, dword [ecx]
mov edx, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x557ca3
mov ecx, dword [ecx + 4]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x557ca3
push 0
push dword [ecx + 4]
call esi
jmp 0x557ca5
call edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00531d62
mov esp, ebp
pop ebp
ret 4