Function at 0x405bb0
Capabilities:
Create directory
Create process on windows
Delete directory
Get common file path

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea esi, [ebp - 0x53a]
push ebx
mov ebx, eax
sub esp, 0x5cc
mov dword [esp + 4], 0xca
mov dword [esp], str..._wine_dlls_msvcrt_tests_data.c
call fcn.0044c860
mov dword [esp + 4], esi
mov dword [esp], 0x104
call dword [sym.imp.kernel32.dll_GetTempPathA]
sub esp, 8
test eax, eax
setne al
mov dword [esp + 4], 0x4585a1
movzx eax, al
mov dword [esp], eax
call fcn.0044cad0
lea eax, [ebp - 0x324]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
lea ebx, [ebp - 0x436]
mov dword [esp + 4], str._s_data__s__swine_test_
mov dword [esp], eax
call fcn.00405400
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 4], str._swine_test
call fcn.00405400
mov dword [esp], ebx
call dword [sym.imp.msvcrt.dll__mkdir]
mov dword [esp + 4], 0xcf
mov dword [esp], str..._wine_dlls_msvcrt_tests_data.c
mov edi, eax
call fcn.0044c860
mov eax, dword [sym.imp.msvcrt.dll__errno]
mov dword [ebp - 0x59c], eax
call eax
mov eax, dword [eax]
mov dword [esp + 4], str._mkdir_failed:__d_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
sete al
mov dword [esp], eax
call fcn.0044cad0
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 4], str._swine_test_a
call fcn.00405400
mov edx, dword [sym.imp.msvcrt.dll_fopen]
mov dword [esp], ebx
mov dword [esp + 4], 0x4586e7
mov dword [ebp - 0x5a4], edx
call edx
mov dword [esp + 4], 0xd2
mov dword [esp], str..._wine_dlls_msvcrt_tests_data.c
mov edi, eax
call fcn.0044c860
mov eax, dword [ebp - 0x59c]
call eax
mov eax, dword [eax]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.fopen__s__failed:__d_n
mov dword [esp + 0xc], eax
xor eax, eax
test edi, edi
setne al
mov dword [esp], eax
call fcn.0044cad0
mov ecx, dword [sym.imp.msvcrt.dll_fclose]
mov dword [esp], edi
mov dword [ebp - 0x5a0], ecx
call ecx
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 4], str._swine_test_test
call fcn.00405400
mov edx, dword [ebp - 0x5a4]
mov dword [esp], ebx
mov dword [esp + 4], 0x4586e7
call edx
mov dword [esp + 4], 0xd6
mov dword [esp], str..._wine_dlls_msvcrt_tests_data.c
mov edi, eax
call fcn.0044c860
mov eax, dword [ebp - 0x59c]
call eax
mov eax, dword [eax]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.fopen__s__failed:__d_n
mov dword [esp + 0xc], eax
xor eax, eax
test edi, edi
setne al
mov dword [esp], eax
call fcn.0044cad0
mov dword [esp], edi
mov ecx, dword [ebp - 0x5a0]
lea edi, [ebp - 0x57c]
call ecx
xor eax, eax
mov ecx, 0x10
lea edx, [ebp - 0x580]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x590]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
lea eax, [ebp - 0x324]
mov dword [ebp - 0x580], 0x44
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x4000020
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_CreateProcessA]
sub esp, 0x28
mov dword [esp + 4], 0xdc
mov dword [esp], str..._wine_dlls_msvcrt_tests_data.c
call fcn.0044c860
mov eax, dword [ebp - 0x590]
mov dword [esp], eax
call fcn.0044cdb0
mov dword [esp], ebx
mov edi, dword [sym.imp.msvcrt.dll__unlink]
call edi
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 4], str._swine_test_a
call fcn.00405400
mov dword [esp], ebx
call edi
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 4], str._swine_test
call fcn.00405400
mov dword [esp], ebx
call dword [sym.imp.msvcrt.dll__rmdir]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret