Function at 0x40b150
Capabilities:
Clear file content
Delete file
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x11c]
mov esi, str.tr2_test_dir_f1
push ebx
lea ebx, [ebp - 0x220]
sub esp, 0x2bc
mov dword [esp + 4], eax
mov dword [esp], 0x104
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryA]
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], 0x104
call dword [sym.imp.kernel32.dll_GetTempPathA]
sub esp, 8
mov dword [esp + 4], 0x5d2
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
call fcn.00413590
mov eax, dword [sym.imp.kernel32.dll_SetCurrentDirectoryA]
mov dword [esp], ebx
mov dword [ebp - 0x2a0], eax
call eax
sub esp, 4
mov dword [esp], eax
mov dword [esp + 4], str.SetCurrentDirectoryA_to_temp_path_failed_n
call fcn.00413800
mov dword [esp], 0x417196
call dword [0x41b14c]
mov dword [esp + 4], 0x5d5
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
mov ebx, eax
call fcn.00413590
xor eax, eax
cmp ebx, 1
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.test_tr2_sys__Make_dir__:_expect_1_got__d_n
mov dword [esp], eax
call fcn.00413800
mov eax, dword [sym.imp.kernel32.dll_CreateFileA]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x40000000
mov dword [esp], str.tr2_test_dir_f1
mov dword [ebp - 0x29c], eax
call eax
sub esp, 0x1c
mov ebx, eax
mov dword [esp + 4], 0x5d7
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
call fcn.00413590
xor eax, eax
cmp ebx, 0xffffffff
mov dword [esp + 4], str.create_file_failed:_INVALID_HANDLE_VALUE_n
setne al
mov dword [esp], eax
call fcn.00413800
mov eax, dword [sym.imp.kernel32.dll_CloseHandle]
mov dword [esp], ebx
mov dword [ebp - 0x294], eax
call eax
sub esp, 4
mov dword [esp + 4], str.tr2_test_dir_f1
mov dword [esp], str.tr2_test_dir_f1
call dword [0x41b134]
mov dword [esp + 4], 0x5db
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
mov ebx, eax
call fcn.00413590
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.test_tr2_sys__Rename__:_expect:_ERROR_SUCCESS__got__d_n
xor ebx, ebx
xor edi, edi
mov dword [esp], eax
call fcn.00413800
mov dword [ebp - str.tr2_test_dir_f1], 0x419f4c
mov dword [ebp - 0x28c], 0x418a05
jmp 0x40b3d1
mov eax, dword fs:[0x18]
mov dword [eax + 0x34], 0xdeadbeef
mov eax, dword [ebp - 0x28c]
add edi, 1
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [0x41b134]
mov dword [esp + 4], 0x5e7
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
mov esi, eax
call fcn.00413590
xor eax, eax
cmp ebx, esi
mov dword [esp + 0xc], ebx
sete al
mov dword [esp + 0x10], esi
mov dword [esp], eax
mov dword [esp + 8], edi
mov dword [esp + 4], str.test_tr2_sys__Rename__:_test__d_expect:__d__got__d_n
call fcn.00413800
mov dword [esp + 4], 0x5e8
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
call fcn.00413590
call dword [sym.imp.msvcrt.dll__errno]
mov ebx, dword [eax]
call dword [sym.imp.msvcrt.dll__errno]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 4], str.test_tr2_sys__Rename__:_test__d_errno_expect_0xdeadbeef__got__d_n
cmp dword [eax], 0xdeadbeef
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00413800
test esi, esi
je 0x40b4b2
cmp edi, 6
je 0x40b5bf
mov eax, dword [ebp - 0x290]
mov ecx, dword [eax + 4]
mov ebx, dword [eax + 8]
add eax, 0xc
mov esi, dword [eax - 0xc]
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x28c], ecx
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], 0xdeadbeef
test ebx, ebx
jne 0x40b300
mov dword [esp + 0x18], 0
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 7
mov dword [esp + 4], 0
mov dword [esp], esi
call eax
sub esp, 0x1c
mov dword [ebp - 0x298], eax
mov dword [esp + 4], 0x5e1
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
call fcn.00413590
xor eax, eax
cmp dword [ebp - 0x298], 0xffffffff
mov dword [esp + 4], str.create_file_failed:_INVALID_HANDLE_VALUE_n
setne al
mov dword [esp], eax
call fcn.00413800
mov dword [esp + 4], 0x5e2
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
call fcn.00413590
mov eax, dword [ebp - 0x298]
lea edx, [ebp - 0x288]
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetFileInformationByHandle]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], str.GetFileInformationByHandle_failed_n
call fcn.00413800
mov eax, dword [ebp - 0x298]
mov dword [esp], eax
mov eax, dword [ebp - 0x294]
call eax
sub esp, 4
jmp 0x40b300
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 7
mov dword [esp + 4], 0
call eax
sub esp, 0x1c
mov ebx, eax
mov dword [esp + 4], 0x5ec
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
call fcn.00413590
xor eax, eax
cmp ebx, 0xffffffff
mov dword [esp + 4], str.create_file_failed:_INVALID_HANDLE_VALUE_n
setne al
mov dword [esp], eax
call fcn.00413800
mov dword [esp + 4], 0x5ed
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
call fcn.00413590
lea eax, [ebp - 0x254]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_GetFileInformationByHandle]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], str.GetFileInformationByHandle_failed_n
call fcn.00413800
mov dword [esp], ebx
mov eax, dword [ebp - 0x294]
call eax
sub esp, 4
mov dword [esp + 4], 0x5ef
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
call fcn.00413590
mov eax, dword [ebp - 0x228]
cmp dword [ebp - 0x25c], eax
jne 0x40b5a2
mov eax, dword [ebp - 0x224]
cmp dword [ebp - 0x258], eax
sete al
movzx eax, al
mov esi, eax
mov dword [esp + 8], edi
mov dword [esp + 4], str.test_tr2_sys__Rename__:_test__d_expect_two_files_equivalent_n
mov dword [esp], esi
call fcn.00413800
cmp edi, 6
jne 0x40b3b3
mov dword [esp + 0x18], 0
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x40000000
mov dword [esp], str.tr2_test_dir_f1
call eax
sub esp, 0x1c
mov ebx, eax
mov dword [esp + 4], 0x5f6
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
call fcn.00413590
xor eax, eax
cmp ebx, 0xffffffff
mov dword [esp + 4], str.create_file_failed:_INVALID_HANDLE_VALUE_n
setne al
mov dword [esp], eax
call fcn.00413800
mov dword [esp + 4], 0x5f8
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
call fcn.00413590
mov dword [esp], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], 7
mov dword [esp + 8], 0
call dword [sym.imp.kernel32.dll_SetFilePointerEx]
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], str.SetFilePointerEx_failed_n
call fcn.00413800
mov dword [esp + 4], 0x5f9
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
call fcn.00413590
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_SetEndOfFile]
sub esp, 4
mov dword [esp], eax
mov dword [esp + 4], str.SetEndOfFile_failed_n
call fcn.00413800
mov dword [esp], ebx
mov eax, dword [ebp - 0x294]
call eax
sub esp, 4
mov dword [esp + 4], 0x418a05
mov dword [esp], str.tr2_test_dir_f1
call dword [0x41b134]
mov dword [esp + 4], 0x5fc
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
mov ebx, eax
call fcn.00413590
xor eax, eax
cmp ebx, 0xb7
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.test_tr2_sys__Rename__:_expect:_ERROR_ALREADY_EXISTS__got__d_n
mov dword [esp], eax
call fcn.00413800
mov dword [esp + 4], 0x5fd
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
call fcn.00413590
mov dword [esp], str.tr2_test_dir_f1
call dword [0x41b16c]
test edx, edx
je 0x40bbe0
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], str._lx_08lx
call fcn.00403d70
mov ebx, eax
mov dword [esp], str.tr2_test_dir_f1
call dword [0x41b16c]
mov dword [esp + 8], ebx
xor eax, 7
mov dword [esp + 4], str.test_tr2_sys__Rename__:_expect:_7__got__s_n
or eax, edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00413800
mov dword [esp + 4], 0x5fe
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
call fcn.00413590
mov dword [esp], 0x418a05
call dword [0x41b16c]
test edx, edx
je 0x40bbc0
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], str._lx_08lx
call fcn.00403d70
mov ebx, eax
mov dword [esp], 0x418a05
mov esi, 0x417230
call dword [0x41b16c]
mov dword [esp + 8], ebx
or eax, edx
mov dword [esp + 4], str.test_tr2_sys__Rename__:_expect:_0__got__s_n
sete al
xor ebx, ebx
xor edi, edi
movzx eax, al
mov dword [esp], eax
call fcn.00413800
mov dword [esp + 4], 0x600
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
call fcn.00413590
mov eax, dword [sym.imp.kernel32.dll_DeleteFileA]
mov dword [esp], 0x418a05
mov dword [ebp - 0x29c], eax
call eax
sub esp, 4
mov dword [esp + 4], str.expect_f1_rename_to_exist_n
mov dword [esp], eax
call fcn.00413800
mov dword [ebp - 0x290], 0x419e8c
mov dword [ebp - 0x28c], str.tr2_test_dir_f1_rename
jmp 0x40b911
mov eax, dword fs:[0x18]
mov dword [eax + 0x34], 0xdeadbeef
mov eax, dword [ebp - 0x28c]
add edi, 1
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [0x41b130]
mov dword [esp + 4], 0x60d
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
mov esi, eax
call fcn.00413590
xor eax, eax
cmp ebx, esi
mov dword [esp + 0xc], ebx
sete al
mov dword [esp + 0x10], esi
mov dword [esp], eax
mov dword [esp + 8], edi
mov dword [esp + 4], str.test_tr2_sys__Rename_wchar__:_test__d_expect:__d__got__d_n
call fcn.00413800
mov dword [esp + 4], 0x60e
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
call fcn.00413590
call dword [sym.imp.msvcrt.dll__errno]
mov ebx, dword [eax]
call dword [sym.imp.msvcrt.dll__errno]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 4], str.test_tr2_sys__Rename_wchar__:_test__d_errno_expect_0xdeadbeef__got__d_n
cmp dword [eax], 0xdeadbeef
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00413800
test esi, esi
je 0x40b9f0
cmp edi, 7
je 0x40bafb
mov eax, dword [ebp - 0x290]
mov ecx, dword [eax + 4]
mov ebx, dword [eax + 8]
add eax, 0xc
mov esi, dword [eax - 0xc]
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x28c], ecx
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], 0xdeadbeef
test ebx, ebx
jne 0x40b840
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 7
mov dword [esp + 4], 0
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_CreateFileW]
sub esp, 0x1c
mov dword [ebp - 0x298], eax
mov dword [esp + 4], 0x607
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
call fcn.00413590
xor eax, eax
cmp dword [ebp - 0x298], 0xffffffff
mov dword [esp + 4], str.create_file_failed:_INVALID_HANDLE_VALUE_n
setne al
mov dword [esp], eax
call fcn.00413800
mov dword [esp + 4], 0x608
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
call fcn.00413590
mov eax, dword [ebp - 0x298]
lea edx, [ebp - 0x288]
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetFileInformationByHandle]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], str.GetFileInformationByHandle_failed_n
call fcn.00413800
mov eax, dword [ebp - 0x298]
mov dword [esp], eax
mov eax, dword [ebp - 0x294]
call eax
sub esp, 4
jmp 0x40b840
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 7
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CreateFileW]
sub esp, 0x1c
mov ebx, eax
mov dword [esp + 4], 0x612
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
call fcn.00413590
xor eax, eax
cmp ebx, 0xffffffff
mov dword [esp + 4], str.create_file_failed:_INVALID_HANDLE_VALUE_n
setne al
mov dword [esp], eax
call fcn.00413800
mov dword [esp + 4], 0x613
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
call fcn.00413590
lea eax, [ebp - 0x254]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_GetFileInformationByHandle]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], str.GetFileInformationByHandle_failed_n
call fcn.00413800
mov dword [esp], ebx
mov eax, dword [ebp - 0x294]
call eax
sub esp, 4
mov dword [esp + 4], 0x615
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
call fcn.00413590
mov eax, dword [ebp - 0x228]
cmp dword [ebp - 0x25c], eax
jne 0x40bade
mov eax, dword [ebp - 0x224]
cmp dword [ebp - 0x258], eax
sete al
movzx eax, al
mov esi, eax
mov dword [esp + 8], edi
mov dword [esp + 4], str.test_tr2_sys__Rename_wchar__:_test__d_expect_two_files_equivalent_n
mov dword [esp], esi
call fcn.00413800
cmp edi, 7
jne 0x40b8f3
mov dword [esp + 4], 0x61b
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
call fcn.00413590
mov eax, dword [ebp - 0x29c]
mov dword [esp], 0x418a05
call eax
sub esp, 4
mov dword [esp], eax
mov dword [esp + 4], str.expect_f1_rename_to_exist_n
call fcn.00413800
mov dword [esp], 0x417196
call dword [0x41b144]
mov dword [esp + 4], 0x61d
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
movzx ebx, al
call fcn.00413590
xor eax, eax
cmp ebx, 1
mov dword [esp + 0xc], ebx
sete al
mov dword [esp + 8], 1
mov dword [esp], eax
mov dword [esp + 4], str.test_tr2_sys__Remove_dir__:_expect__d_got__d_n
call fcn.00413800
mov dword [esp + 4], 0x61e
mov dword [esp], str..._wine_dlls_msvcp120_tests_msvcp120.c
call fcn.00413590
lea eax, [ebp - 0x11c]
mov dword [esp], eax
mov eax, dword [ebp - 0x2a0]
call eax
sub esp, 4
mov dword [esp + 4], str.SetCurrentDirectoryA_failed_n
mov dword [esp], eax
call fcn.00413800
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], eax
mov dword [esp], 0x4184c9
call fcn.00403d70
mov ebx, eax
jmp 0x40b7b1
mov dword [esp + 4], eax
mov dword [esp], 0x4184c9
call fcn.00403d70
mov ebx, eax
jmp 0x40b746