Function at 0x403d00
Capabilities:
Delete file
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x220]
push ebx
lea ebx, [ebp - 0x428]
sub esp, 0x47c
mov dword [esp + 4], eax
mov dword [esp], 0x104
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryW]
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], 0x104
call dword [sym.imp.kernel32.dll_GetTempPathW]
sub esp, 8
mov dword [esp + 4], 0x494
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
mov eax, dword [sym.imp.kernel32.dll_SetCurrentDirectoryW]
mov dword [esp], ebx
mov dword [ebp - 0x464], eax
call eax
sub esp, 4
mov dword [esp], eax
mov dword [esp + 4], str.SetCurrentDirectoryW_to_temp_path_failed_n
call fcn.0040acd0
mov dword [esp], str.wine_test_dir
call dword [0x41003c]
mov dword [esp + 4], 0x497
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
mov ebx, eax
call fcn.0040aa60
xor eax, eax
cmp ebx, 1
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str._Make_dir___expect_1_got__d_n
mov dword [esp], eax
call fcn.0040acd0
mov eax, dword [sym.imp.kernel32.dll_CreateFileW]
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], 0x40d2a0
mov dword [ebp - 0x448], eax
call eax
sub esp, 0x1c
mov ebx, eax
mov dword [esp + 4], 0x49a
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
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.0040acd0
mov eax, dword [sym.imp.kernel32.dll_CloseHandle]
mov dword [esp], ebx
mov dword [ebp - 0x444], eax
call eax
sub esp, 4
mov dword [esp], 0x40d2a0
call dword [0x41004c]
mov dword [esp], 0x40d2a0
mov esi, eax
add eax, 0x3640e
mov edi, edx
adc edx, 0
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x43c], edx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call dword [0x410048]
mov dword [esp + 4], 0x4a0
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
test edi, edi
je 0x404741
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], str._lx_08lx
call fcn.00401490
mov ebx, eax
mov dword [esp], 0x40d2a0
call dword [0x41004c]
mov dword [esp + 8], ebx
xor edx, edi
xor eax, esi
mov dword [esp + 4], str.last_write_time_should_have_changed:__s_n
or eax, edx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.0040acd0
mov dword [esp + 0x18], 0
mov eax, dword [ebp - 0x448]
mov dword [esp + 0x14], 0x2000000
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 7
mov dword [esp + 4], 0
mov dword [esp], 0x40d2a0
call eax
sub esp, 0x1c
mov ebx, eax
mov dword [esp + 4], 0x4a7
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
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.0040acd0
mov dword [esp + 4], 0x4a8
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
lea eax, [ebp - 0x430]
mov dword [esp], ebx
mov dword [esp + 0xc], eax
mov eax, dword [sym.imp.kernel32.dll_GetFileTime]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [ebp - 0x44c], eax
call eax
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], str.GetFileTime_failed_n
call fcn.0040acd0
mov dword [esp], ebx
mov eax, dword [ebp - 0x444]
xor ebx, ebx
call eax
mov ecx, dword [ebp - 0x42c]
xor eax, eax
sub esp, 4
mov edx, ecx
mov ecx, dword [ebp - 0x430]
mov dword [esp + 4], 0x4ac
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
add eax, ecx
adc edx, ebx
add eax, 0x2ac18000
adc edx, 0xfe624e21
mov dword [ebp - 0x450], eax
mov ebx, edx
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x45c], edx
mov dword [ebp - 0x458], edx
call fcn.0040aa60
test ebx, ebx
mov eax, dword [ebp - 0x460]
je 0x404760
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp], str._lx_08lx
call fcn.00401490
mov ebx, dword [ebp - 0x43c]
mov ecx, dword [ebp - 0x440]
mov dword [ebp - 0x460], eax
test ebx, ebx
je 0x40478a
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov dword [esp], str._lx_08lx
call fcn.00401490
mov ecx, esi
mov edx, dword [ebp - 0x458]
mov ebx, edi
add ecx, 0xfa0d830e
adc ebx, 0xffffffff
cmp dword [ebp - 0x450], ecx
sbb edx, ebx
mov edx, 0
jl 0x404088
mov ecx, esi
mov ebx, edi
add ecx, 0x5f9450e
adc ebx, 0
cmp ecx, dword [ebp - 0x450]
mov edi, ebx
sbb edi, dword [ebp - 0x458]
setge dl
movzx edx, dl
mov edi, dword [ebp - 0x460]
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], str.dont_fit_the_formula__last_write_time_is__s_expected__s_n
call fcn.0040acd0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp], 0x40d2a0
call dword [0x410048]
mov dword [esp], 0x40d2a0
call dword [0x41004c]
mov dword [esp + 0x18], 0
mov dword [ebp - 0x43c], edx
mov dword [ebp - 0x440], eax
mov eax, dword [ebp - 0x448]
mov dword [esp + 0x14], 0x2000000
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 7
mov dword [esp + 4], 0
mov dword [esp], 0x40d2a0
call eax
sub esp, 0x1c
mov ebx, eax
mov dword [esp + 4], 0x4b5
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
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.0040acd0
mov dword [esp + 4], 0x4b6
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
lea eax, [ebp - 0x430]
mov dword [esp], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x44c]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call eax
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], str.GetFileTime_failed_n
call fcn.0040acd0
mov dword [esp], ebx
mov eax, dword [ebp - 0x444]
xor ebx, ebx
call eax
mov esi, dword [ebp - 0x42c]
mov ecx, dword [ebp - 0x430]
xor eax, eax
sub esp, 4
mov edx, esi
add eax, ecx
mov dword [esp + 4], 0x4ba
adc edx, ebx
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
add eax, 0x2ac18000
adc edx, 0xfe624e21
mov dword [ebp - 0x450], eax
mov esi, edx
mov dword [ebp - 0x458], eax
mov dword [ebp - 0x454], edx
call fcn.0040aa60
test esi, esi
mov eax, dword [ebp - 0x458]
je 0x4047a5
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], str._lx_08lx
call fcn.00401490
mov ebx, dword [ebp - 0x43c]
mov ecx, dword [ebp - 0x440]
mov edi, eax
test ebx, ebx
je 0x4047cb
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov dword [esp], str._lx_08lx
call fcn.00401490
mov ecx, dword [ebp - 0x440]
mov ebx, dword [ebp - 0x43c]
mov edx, esi
add ecx, 0xfa0a1f00
adc ebx, 0xffffffff
cmp dword [ebp - 0x450], ecx
sbb edx, ebx
mov edx, 0
jl 0x404286
mov ecx, dword [ebp - 0x440]
mov ebx, dword [ebp - 0x43c]
add ecx, 0x5f5e100
adc ebx, 0
cmp ecx, dword [ebp - 0x450]
mov edx, ebx
sbb edx, esi
setge dl
movzx edx, dl
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], str.dont_fit_the_formula__last_write_time_is__s_expected__s_n
call fcn.0040acd0
mov dword [esp + 4], 0x75bcd15
mov dword [esp + 8], 0
mov dword [esp], 0x40d2a0
call dword [0x410048]
mov dword [esp], 0x40d2a0
call dword [0x41004c]
mov dword [esp + 0x18], 0
mov dword [ebp - 0x43c], edx
mov dword [ebp - 0x440], eax
mov eax, dword [ebp - 0x448]
mov dword [esp + 0x14], 0x2000000
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 7
mov dword [esp + 4], 0
mov dword [esp], 0x40d2a0
call eax
sub esp, 0x1c
mov ebx, eax
mov dword [esp + 4], 0x4c3
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
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.0040acd0
mov dword [esp + 4], 0x4c4
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
lea eax, [ebp - 0x430]
mov dword [esp], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x44c]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call eax
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], str.GetFileTime_failed_n
call fcn.0040acd0
mov dword [esp], ebx
mov eax, dword [ebp - 0x444]
xor ebx, ebx
call eax
mov ecx, dword [ebp - 0x42c]
xor eax, eax
sub esp, 4
mov edx, ecx
mov ecx, dword [ebp - 0x430]
mov dword [esp + 4], 0x4c8
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
add eax, ecx
adc edx, ebx
add eax, 0x2ac18000
adc edx, 0xfe624e21
mov esi, eax
mov dword [ebp - 0x444], eax
mov edi, edx
mov ebx, edx
call fcn.0040aa60
test edi, edi
je 0x4047f0
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], str._lx_08lx
call fcn.00401490
mov edx, eax
mov edi, dword [ebp - 0x43c]
mov esi, dword [ebp - 0x440]
mov dword [ebp - 0x448], edx
mov eax, edi
test edi, edi
je 0x404720
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], str._lx_08lx
call fcn.00401490
mov edx, dword [ebp - 0x448]
mov esi, dword [ebp - 0x440]
mov edi, dword [ebp - 0x43c]
mov ecx, ebx
add esi, 0xfa0a1f00
adc edi, 0xffffffff
cmp dword [ebp - 0x444], esi
sbb ecx, edi
mov ecx, 0
jl 0x40447b
mov esi, dword [ebp - 0x440]
mov edi, dword [ebp - 0x43c]
add esi, 0x5f5e100
adc edi, 0
xor ecx, ecx
cmp esi, dword [ebp - 0x444]
sbb edi, ebx
setge cl
mov dword [esp], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], str.dont_fit_the_formula__last_write_time_is__s_expected__s_n
call fcn.0040acd0
mov ebx, dword [sym.imp.msvcrt.dll__errno]
call ebx
mov dword [eax], 0xdeadbeef
mov dword [esp], str.wine_test_dir_not_exist
call dword [0x41004c]
mov dword [esp + 4], 0x4ce
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
mov edi, edx
mov esi, eax
call fcn.0040aa60
call ebx
mov edx, dword [eax]
mov dword [ebp - 0x444], edx
call ebx
mov edx, dword [ebp - 0x444]
mov dword [esp + 4], str._Set_last_write_time__:_errno_expect_0xdeadbeef__got__d_n
mov dword [esp + 8], edx
cmp dword [eax], 0xdeadbeef
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040acd0
mov dword [esp + 4], 0x4cf
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
test edi, edi
je 0x404810
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], str._lx_08lx
call fcn.00401490
and esi, edi
mov dword [esp + 8], eax
xor eax, eax
cmp esi, 0xffffffff
mov dword [esp + 4], str.expect__1_got__s_n
sete al
mov dword [esp], eax
call fcn.0040acd0
mov dword [esp], 0
call dword [0x41004c]
mov dword [esp + 4], 0x4d1
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
mov edi, edx
mov esi, eax
call fcn.0040aa60
test edi, edi
je 0x404825
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], str._lx_08lx
call fcn.00401490
and esi, edi
mov dword [esp + 8], eax
xor eax, eax
cmp esi, 0xffffffff
mov dword [esp + 4], str.expect__1_got__s_n
sete al
mov dword [esp], eax
call fcn.0040acd0
call ebx
mov edx, dword [ebp - 0x43c]
mov dword [eax], 0xdeadbeef
mov eax, dword [ebp - 0x440]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], str.wine_test_dir_not_exist
call dword [0x410048]
mov dword [esp + 4], 0x4d5
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
call ebx
mov esi, dword [eax]
call ebx
mov dword [esp + 4], str._Set_last_write_time__:_errno_expect_0xdeadbeef__got__d_n
mov dword [esp + 8], esi
cmp dword [eax], 0xdeadbeef
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040acd0
mov edx, dword [ebp - 0x43c]
mov eax, dword [ebp - 0x440]
mov dword [esp], 0
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call dword [0x410048]
mov dword [esp + 4], 0x4d7
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
call ebx
mov esi, dword [eax]
call ebx
mov dword [esp + 4], str._Set_last_write_time__:_errno_expect_0xdeadbeef__got__d_n
mov dword [esp + 8], esi
cmp dword [eax], 0xdeadbeef
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040acd0
mov dword [esp + 4], 0x4d9
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
mov dword [esp], 0x40d2a0
call dword [sym.imp.kernel32.dll_DeleteFileW]
sub esp, 4
mov dword [esp], eax
mov dword [esp + 4], str.expect_wine_test_dir_f1_to_exist_n
call fcn.0040acd0
mov dword [esp], str.wine_test_dir
call dword [0x410030]
mov dword [esp + 4], 0x4db
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
movzx ebx, al
call fcn.0040aa60
xor eax, eax
cmp ebx, 1
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.p_Remove_dir__:_expect_1_got__d_n
mov dword [esp], eax
call fcn.0040acd0
mov dword [esp + 4], 0x4dc
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
lea eax, [ebp - 0x220]
mov dword [esp], eax
mov eax, dword [ebp - 0x464]
call eax
sub esp, 4
mov dword [esp + 4], str.SetCurrentDirectoryW_to_origin_path_failed_n
mov dword [esp], eax
call fcn.0040acd0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x440]
mov dword [esp], 0x40db72
mov dword [esp + 4], eax
call fcn.00401490
mov edx, dword [ebp - 0x448]
jmp 0x404433
mov dword [esp + 4], esi
mov dword [esp], 0x40db72
call fcn.00401490
mov ebx, eax
jmp 0x403eaa
mov dword [esp + 4], eax
mov dword [esp], 0x40db72
call fcn.00401490
mov ebx, dword [ebp - 0x43c]
mov ecx, dword [ebp - 0x440]
mov dword [ebp - 0x460], eax
test ebx, ebx
jne 0x404031
mov eax, dword [ebp - 0x440]
mov dword [esp], 0x40db72
mov dword [esp + 4], eax
call fcn.00401490
jmp 0x404045
mov dword [esp + 4], eax
mov dword [esp], 0x40db72
call fcn.00401490
mov ebx, dword [ebp - 0x43c]
mov ecx, dword [ebp - 0x440]
mov edi, eax
test ebx, ebx
jne 0x404227
mov eax, dword [ebp - 0x440]
mov dword [esp], 0x40db72
mov dword [esp + 4], eax
call fcn.00401490
jmp 0x40423b
mov dword [esp + 4], esi
mov dword [esp], 0x40db72
call fcn.00401490
mov edx, eax
jmp 0x4043fd
mov dword [esp + 4], esi
mov dword [esp], 0x40db72
call fcn.00401490
jmp 0x404528
mov dword [esp + 4], esi
mov dword [esp], 0x40db72
call fcn.00401490
jmp 0x404587