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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x624]
push ebx
mov ebx, dword fs:[0x18]
sub esp, 0x664
mov dword [esp + 4], eax
mov dword [esp], 0x104
call dword [sym.imp.kernel32.dll_GetTempPathA]
lea eax, [ebp - 0x520]
sub esp, 8
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x624]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5e70b9
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetTempFileNameA]
lea eax, [ebp - 0x520]
sub esp, 0x10
mov dword [esp], eax
mov eax, dword [sym.imp.kernel32.dll_DeleteFileA]
mov dword [ebp - 0x64c], eax
call eax
lea eax, [ebp - 0x520]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.kernel32.dll_CreateDirectoryA]
mov dword [esp + 4], 0
mov dword [ebp - 0x63c], eax
call eax
sub esp, 8
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x1f6
mov eax, dword [ebx + 0x34]
mov dword [esp], edi
mov edi, 1
mov dword [esp + 8], eax
mov dword [esp + 4], str.CreateDirectory_failed_err__lu_n
call fcn.004df840
lea eax, [ebp - 0x520]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll_strlen]
mov dword [ebp - 0x658], eax
call eax
lea edx, [ebp - 0x520]
add eax, edx
mov dword [ebp - 0x638], eax
lea esi, [esi]
nop
mov dword [esp + 8], edi
mov dword [esp + 4], 0x5e70e0
mov eax, dword [ebp - 0x638]
mov dword [esp], eax
call fcn.004dec70
lea ecx, [ebp - 0x520]
mov dword [esp + 4], 0
mov dword [esp], ecx
mov ecx, dword [ebp - 0x63c]
call ecx
sub esp, 8
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x1fc
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.CreateDirectory_failed_err__lu_n
mov dword [esp + 8], eax
mov dword [esp], esi
call fcn.004df840
cmp edi, 4
ja 0x4e43e8
mov dword [esp + 8], edi
add edi, 1
mov dword [esp + 4], str._uwinetestdll.dll
mov eax, dword [ebp - 0x638]
mov dword [esp], eax
call fcn.004dec70
lea eax, [ebp - 0x520]
call fcn.004dfcb0
jmp 0x4e4350
cmp edi, 6
je 0x4e4400
mov edi, 6
jmp 0x4e4350
lea eax, [ebp - 0x41c]
mov dword [esp], 0x104
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryA]
mov eax, dword [ebp - 0x638]
sub esp, 8
mov byte [eax], 0
lea eax, [ebp - 0x520]
mov dword [esp], eax
mov eax, dword [sym.imp.kernel32.dll_SetCurrentDirectoryA]
mov dword [ebp - 0x63c], eax
call eax
mov eax, dword [sym.imp.kernel32.dll_LoadLibraryA]
mov dword [ebx + 0x34], 0xdeadbeef
sub esp, 4
mov dword [esp], str.1winetestdll.dll
mov dword [ebp - 0x654], eax
call eax
sub esp, 4
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x208
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.LoadLibrary_failed_err__lu_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.004df840
mov edi, dword [sym.imp.kernel32.dll_FreeLibrary]
mov dword [esp], esi
call edi
movsx eax, byte [ebp - 0x520]
lea ecx, [ebp - 0x624]
mov dword [ebx + 0x34], 0xdeadbeef
sub esp, 4
mov dword [esp], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], str._c:1winetestdll.dll
call fcn.004dec70
lea edx, [ebp - 0x624]
mov dword [esp], edx
mov eax, dword [ebp - 0x654]
call eax
sub esp, 4
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x20e
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.LoadLibrary_failed_err__lu_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.004df840
mov dword [esp], esi
mov dword [ebp - 0x648], edi
call edi
mov esi, dword [0x7cf790]
sub esp, 4
test esi, esi
je 0x4e460f
mov dword [ebx + 0x34], 0xdeadbeef
mov esi, dword [sym.imp.kernel32.dll_LoadLibraryExA]
mov dword [esp + 8], 0x800
mov dword [esp + 4], 0
mov dword [esp], str.1winetestdll.dll
call esi
sub esp, 0xc
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x215
xor eax, eax
test edi, edi
sete al
mov dword [esp + 4], str.LoadLibrary_succeeded_n
mov dword [esp], eax
call fcn.004df840
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x216
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], 0x5e6856
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x7e
sete al
mov dword [esp], eax
call fcn.004df840
lea eax, [ebp - 0x624]
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 8], 0x800
mov dword [esp + 4], 0
mov dword [esp], eax
call esi
sub esp, 0xc
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x21a
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.LoadLibrary_failed_err__lu_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.004df840
mov dword [esp], esi
mov edi, dword [ebp - 0x648]
call edi
sub esp, 4
mov eax, dword [ebp - 0x638]
mov ecx, 0x315c
mov esi, dword fs:[0x18]
mov word [eax], cx
mov byte [eax + 2], 0
lea eax, [ebp - 0x520]
mov dword [esp], eax
mov eax, dword [ebp - 0x63c]
call eax
mov dword [esi + 0x34], 0xdeadbeef
sub esp, 4
mov dword [esp], str.winetestdll.dll
mov edi, dword [ebp - 0x654]
call edi
sub esp, 4
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x223
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.LoadLibrary_failed_err__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.004df840
mov dword [esp], ebx
mov eax, dword [ebp - 0x648]
call eax
movsx eax, byte [ebp - 0x520]
mov dword [esi + 0x34], 0xdeadbeef
sub esp, 4
mov dword [esp + 8], eax
lea eax, [ebp - 0x624]
mov dword [esp + 4], str._c:winetestdll.dll
mov dword [esp], eax
call fcn.004dec70
lea eax, [ebp - 0x624]
mov dword [esp], eax
call edi
sub esp, 4
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x229
mov eax, dword [esi + 0x34]
test ebx, ebx
je 0x4e5360
mov dword [esp + 8], eax
mov dword [esp + 4], str.LoadLibrary_failed_err__lu_n
mov dword [esp], 1
call fcn.004df840
mov dword [esp], ebx
mov eax, dword [ebp - 0x648]
call eax
sub esp, 4
lea eax, [ebp - 0x51e]
mov esi, dword fs:[0x18]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], eax
lea eax, [ebp - 0x624]
mov dword [esp + 4], str._swinetestdll.dll
mov dword [esp], eax
call fcn.004dec70
lea eax, [ebp - 0x624]
mov dword [esp], eax
mov eax, dword [ebp - 0x654]
call eax
sub esp, 4
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x231
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.LoadLibrary_failed_err__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.004df840
mov dword [esp], ebx
mov eax, dword [ebp - 0x648]
call eax
mov eax, dword [0x7cf790]
sub esp, 4
test eax, eax
je 0x4e4b8f
mov edi, dword [sym.imp.kernel32.dll_LoadLibraryExA]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], 0x800
mov dword [esp + 4], 0
mov dword [esp], str.winetestdll.dll
call edi
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x238
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], str.LoadLibrary_succeeded_n
mov dword [esp], eax
call fcn.004df840
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x239
mov eax, dword [esi + 0x34]
mov dword [esp + 4], 0x5e6856
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 0x7e
sete al
mov dword [esp], eax
call fcn.004df840
lea ecx, [ebp - 0x624]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp], ecx
mov dword [esp + 8], 0x800
mov dword [esp + 4], 0
call edi
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x23d
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.LoadLibrary_failed_err__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.004df840
mov dword [esp], ebx
mov eax, dword [ebp - 0x648]
call eax
lea ecx, [ebp - 0x624]
lea edx, [ebp - 0x51e]
mov dword [esi + 0x34], 0xdeadbeef
sub esp, 4
mov dword [esp], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], str._swinetestdll.dll
call fcn.004dec70
lea edx, [ebp - 0x624]
mov dword [esp + 8], 0x800
mov dword [esp], edx
mov dword [esp + 4], 0
call edi
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x243
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.LoadLibrary_failed_err__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.004df840
mov dword [esp], ebx
mov eax, dword [ebp - 0x648]
call eax
mov dword [esi + 0x34], 0xdeadbeef
sub esp, 4
mov dword [esp + 8], 0x208
mov dword [esp + 4], 0
mov dword [esp], str.winetestdll.dll
call edi
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x248
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], str.LoadLibrary_succeeded_n
mov dword [esp], eax
call fcn.004df840
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x249
mov eax, dword [esi + 0x34]
mov dword [esp + 4], 0x5e6856
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.004df840
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], 0x108
mov dword [esp + 4], 0
mov dword [esp], str.winetestdll.dll
call edi
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x24d
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], str.LoadLibrary_succeeded_n
mov dword [esp], eax
call fcn.004df840
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x24e
mov eax, dword [esi + 0x34]
mov dword [esp + 4], 0x5e6856
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.004df840
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], 0x808
mov dword [esp + 4], 0
mov dword [esp], str.winetestdll.dll
call edi
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x252
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], str.LoadLibrary_succeeded_n
mov dword [esp], eax
call fcn.004df840
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x253
mov eax, dword [esi + 0x34]
mov dword [esp + 4], 0x5e6856
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.004df840
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], 0x1008
mov dword [esp + 4], 0
mov dword [esp], str.winetestdll.dll
call edi
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x257
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], str.LoadLibrary_succeeded_n
mov dword [esp], eax
call fcn.004df840
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x258
mov eax, dword [esi + 0x34]
mov dword [esp + 4], 0x5e6856
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.004df840
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], 0x408
mov dword [esp + 4], 0
mov dword [esp], str.winetestdll.dll
call edi
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x25c
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], str.LoadLibrary_succeeded_n
mov dword [esp], eax
call fcn.004df840
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x25d
mov eax, dword [esi + 0x34]
mov dword [esp + 4], 0x5e6856
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.004df840
lea eax, [ebp - 0x41c]
mov dword [esp], eax
mov eax, dword [ebp - 0x63c]
call eax
mov eax, dword [0x7cf790]
sub esp, 4
test eax, eax
je 0x4e5208
mov edi, dword [0x7cf794]
test edi, edi
je 0x4e5208
mov edi, dword [sym.imp.kernel32.dll_LoadLibraryExA]
mov ebx, dword fs:[0x18]
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 8], 0x200
mov dword [esp + 4], 0
mov dword [esp], str.winetestdll.dll
mov dword [ebp - 0x650], edi
call edi
sub esp, 0xc
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x266
xor eax, eax
test esi, esi
sete al
mov dword [esp + 4], str.LoadLibrary_succeeded_n
mov dword [esp], eax
call fcn.004df840
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x267
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], 0x5e6856
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x7e
sete al
mov dword [esp], eax
call fcn.004df840
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 8], 0x800
mov dword [esp + 4], 0
mov dword [esp], str.winetestdll.dll
call edi
sub esp, 0xc
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x274
xor eax, eax
test esi, esi
sete al
mov dword [esp + 4], str.LoadLibrary_succeeded_n
mov dword [esp], eax
call fcn.004df840
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x275
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], 0x5e6856
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x7e
sete al
mov dword [esp], eax
call fcn.004df840
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 8], 0x100
mov dword [esp + 4], 0
mov dword [esp], str.winetestdll.dll
call edi
sub esp, 0xc
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x279
xor eax, eax
test esi, esi
sete al
mov dword [esp + 4], str.LoadLibrary_succeeded_n
mov dword [esp], eax
call fcn.004df840
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x27a
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], 0x5e6856
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.004df840
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 8], 0x900
mov dword [esp + 4], 0
mov dword [esp], str.winetestdll.dll
call edi
sub esp, 0xc
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x27e
xor eax, eax
test esi, esi
sete al
mov dword [esp + 4], str.LoadLibrary_succeeded_n
mov dword [esp], eax
call fcn.004df840
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x27f
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], 0x5e6856
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.004df840
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 8], 0x100
mov dword [esp + 4], 0
mov dword [esp], str.foowinetestdll.dll
call edi
sub esp, 0xc
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x283
xor eax, eax
test esi, esi
sete al
mov dword [esp + 4], str.LoadLibrary_succeeded_n
mov dword [esp], eax
call fcn.004df840
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x284
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], 0x5e6856
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.004df840
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 8], 0x100
mov dword [esp + 4], 0
mov dword [esp], str.windowswinetestdll.dll
call edi
sub esp, 0xc
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x288
xor eax, eax
test esi, esi
sete al
mov dword [esp + 4], str.LoadLibrary_succeeded_n
mov dword [esp], eax
call fcn.004df840
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x289
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], 0x5e6856
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x7e
sete al
mov dword [esp], eax
call fcn.004df840
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp], str.1winetestdll.dll
mov eax, dword [ebp - 0x654]
call eax
sub esp, 4
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x28d
xor eax, eax
test esi, esi
sete al
mov dword [esp + 4], str.LoadLibrary_succeeded_n
mov dword [esp], eax
call fcn.004df840
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x28e
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], 0x5e6856
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x7e
sete al
xor edi, edi
mov dword [esp], eax
call fcn.004df840
mov dword [ebp - 0x63c], 0
lea esi, [esi]
nop
mov eax, dword [edi + 0x5e7f60]
mov dword [ebp - 0x644], eax
test eax, eax
je 0x4e5038
lea esi, [ebp - 0x634]
mov eax, dword [ebp - 0x644]
xor ebx, ebx
mov dword [ebp - 0x640], esi
mov dword [esp + 8], eax
mov dword [esp + 4], 0x5e70e0
mov eax, dword [ebp - 0x638]
mov dword [esp], eax
call fcn.004dec70
lea eax, [ebp - 0x214]
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x520]
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_MultiByteToWideChar]
lea eax, [ebp - 0x214]
sub esp, 0x18
mov dword [esp], eax
call dword [0x7cf790]
mov esi, eax
mov eax, dword [ebp - 0x640]
sub esp, 4
mov dword [eax + ebx*4], esi
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x297
lea eax, [ebp - 0x520]
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
mov dword [esp + 4], str.failed_to_add__s_n
add ebx, 1
mov dword [esp], eax
call fcn.004df840
mov eax, dword [edi + ebx*4 + 0x5e7f60]
test eax, eax
jne 0x4e4f80
mov eax, dword [edi + 0x5e7f70]
test eax, eax
jne 0x4e5328
mov dword [esp], 0
call dword [0x7cf794]
sub esp, 4
mov esi, dword fs:[0x18]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], 0x400
mov dword [esp + 4], 0
mov dword [esp], str.winetestdll.dll
mov eax, dword [ebp - 0x650]
call eax
mov edx, dword [edi + 0x5e7f74]
sub esp, 0xc
mov ebx, eax
test edx, edx
mov dword [ebp - 0x640], edx
je 0x4e5298
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2a4
mov eax, dword [esi + 0x34]
mov dword [esp + 0xc], eax
xor eax, eax
mov esi, dword [ebp - 0x63c]
test ebx, ebx
setne al
mov dword [esp + 4], str._u:_LoadLibrary_failed_err__lu_n
mov dword [esp], eax
mov dword [esp + 8], esi
call fcn.004df840
lea eax, [ebp - 0x624]
mov dword [esp + 8], 0x104
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_GetModuleFileNameA]
mov edx, dword [ebp - 0x640]
sub esp, 0xc
mov dword [esp + 8], edx
mov dword [esp + 4], str._uwinetestdll.dll
mov eax, dword [ebp - 0x638]
mov dword [esp], eax
call fcn.004dec70
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2a7
lea eax, [ebp - 0x520]
mov dword [esp + 4], eax
lea eax, [ebp - 0x624]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_lstrcmpiA]
lea ecx, [ebp - 0x520]
lea edx, [ebp - 0x624]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0x10], ecx
movzx eax, al
mov dword [esp + 0xc], edx
mov dword [esp + 8], esi
mov dword [esp + 4], str._u:_wrong_module__s_expected__s_n
mov dword [esp], eax
call fcn.004df840
mov dword [esp], ebx
mov eax, dword [ebp - 0x648]
call eax
mov eax, dword [ebp - 0x644]
sub esp, 4
test eax, eax
je 0x4e51af
xor ebx, ebx
lea esi, [ebp - 0x634]
mov eax, dword [esi + ebx*4]
add ebx, 1
mov dword [esp], eax
call dword [0x7cf78c]
mov eax, dword [edi + ebx*4 + 0x5e7f60]
sub esp, 4
test eax, eax
jne 0x4e5192
add dword [ebp - 0x63c], 1
mov eax, dword [ebp - 0x63c]
add edi, 0x18
cmp eax, 9
jne 0x4e4f58
mov dword [esp], 0x5e7f20
mov esi, dword [sym.imp.kernel32.dll_GetModuleHandleA]
call esi
sub esp, 4
test eax, eax
je 0x4e53c4
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2b7
mov dword [esp + 4], 0x5e7f20
mov dword [esp], str._s_already_referenced__skipping_test._n
call fcn.004dfda0
mov ebx, dword [sym.imp.kernel32.dll_RemoveDirectoryA]
mov edi, dword [ebp - 0x638]
mov esi, 1
lea esi, [esi]
mov dword [esp + 8], esi
mov dword [esp + 4], str._uwinetestdll.dll
mov dword [esp], edi
call fcn.004dec70
lea eax, [ebp - 0x520]
mov dword [esp], eax
mov eax, dword [ebp - 0x64c]
call eax
sub esp, 4
mov dword [esp + 8], esi
add esi, 1
mov dword [esp + 4], 0x5e70e0
mov dword [esp], edi
call fcn.004dec70
lea eax, [ebp - 0x520]
mov dword [esp], eax
call ebx
sub esp, 4
cmp esi, 7
jne 0x4e5220
mov eax, dword [ebp - 0x638]
mov byte [eax], 0
lea eax, [ebp - 0x520]
mov dword [esp], eax
call ebx
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2ab
mov eax, dword [ebp - 0x63c]
mov dword [esp + 4], str._u:_LoadLibrary_succeeded_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
sete al
mov dword [esp], eax
call fcn.004df840
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2ac
mov edx, dword [esi + 0x34]
mov eax, 1
cmp edx, 0x7e
je 0x4e52ff
mov esi, dword [0x8f0770]
cmp edx, 8
sete cl
xor eax, eax
test esi, esi
sete al
and eax, ecx
mov dword [esp + 0xc], edx
mov ecx, dword [ebp - 0x63c]
mov dword [esp + 4], 0x5e7224
mov dword [esp + 8], ecx
mov dword [esp], eax
call fcn.004df840
jmp 0x4e5172
mov dword [esp + 8], eax
mov dword [esp + 4], 0x5e70e0
mov eax, dword [ebp - 0x638]
mov dword [esp], eax
call fcn.004dec70
lea eax, [ebp - 0x520]
mov dword [esp], eax
call dword [0x7cf794]
sub esp, 4
jmp 0x4e5056
mov edx, dword [0x8f0770]
mov dword [esp + 8], eax
mov dword [esp + 4], str.LoadLibrary_failed_err__lu_n
test edx, edx
je 0x4e5d2b
mov dword [esp], 0
call fcn.004df840
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x22b
mov eax, dword fs:[0x18]
mov edx, dword [eax + 0x34]
mov dword [esp + 4], 0x5e6856
mov dword [esp + 8], edx
cmp dword [eax + 0x34], 0x7e
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004df840
jmp 0x4e4710
mov dword [esp], str.ole32.dll
mov edi, dword [ebp - 0x654]
mov eax, edi
call eax
sub esp, 4
mov dword [esp], 0x5e7f20
call edi
sub esp, 4
test eax, eax
je 0x4e5d3c
mov dword [esp], eax
mov eax, dword [ebp - 0x648]
call eax
sub esp, 4
mov dword [esp + 8], 0x200
mov dword [esp + 4], 0
mov dword [esp], 0x5e7f20
mov ecx, dword [ebp - 0x650]
call ecx
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov edx, dword fs:[0x18]
mov dword [eax + 4], 0x2c4
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x63c], edx
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp + 4], str.Got_NULL_module__error__lu._n
mov dword [esp], eax
call fcn.004df840
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2c5
mov dword [esp], 0x5e7f20
call esi
sub esp, 4
test eax, eax
setne al
mov dword [esp + 4], str.Got_NULL_handle._n
movzx eax, al
mov dword [esp], eax
call fcn.004df840
mov dword [esp], str.shcore.dll
call esi
sub esp, 4
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2c7
xor eax, eax
cmp ebx, edi
sete al
mov dword [esp + 0xc], edi
lea edi, [ebp - 0x318]
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.wrong_module__p__p_n
call fcn.004df840
mov dword [esp], ebx
mov eax, dword [ebp - 0x648]
call eax
sub esp, 4
mov ebx, eax
call fcn.0057d110
mov edx, dword [ebp - 0x63c]
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2c9
mov eax, dword [edx + 0x34]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], str.FreeLibrary_failed__error__lu._n
call fcn.004df840
mov dword [esp], str.shcore.dll
call esi
sub esp, 4
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2cb
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], str.shcore_not_unloaded_n
mov dword [esp], eax
call fcn.004df840
mov edx, dword [0x5e7f20]
mov dword [ebp - 0x318], edx
mov edx, dword [0x5e7f24]
mov dword [ebp - 0x314], edx
mov edx, dword [0x5e7f28]
mov dword [ebp - 0x310], edx
mov edx, dword [0x5e7f2c]
mov dword [ebp - 0x30c], edx
mov edx, dword [0x5e7f30]
mov dword [ebp - 0x308], edx
mov edx, dword [0x5e7f34]
mov dword [ebp - 0x304], edx
mov edx, dword [0x5e7f38]
mov dword [ebp - 0x300], edx
mov edx, dword [0x5e7f3c]
mov dword [ebp - 0x2fc], edx
mov edx, dword [0x5e7f40]
mov dword [ebp - 0x2f8], edx
movzx edx, word [0x5e7f44]
mov byte [ebp - 0x2f7], 0
mov word [ebp - 0x2f4], dx
mov dword [esp + 8], 0x200
mov dword [esp + 4], 0
mov dword [esp], edi
mov ecx, dword [ebp - 0x650]
call ecx
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov edx, dword [ebp - 0x63c]
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2d1
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x640], edx
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp + 4], str.Got_NULL_module__error__lu._n
mov dword [esp], eax
call fcn.004df840
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2d2
mov dword [esp], 0x5e7f20
call esi
sub esp, 4
test eax, eax
setne al
mov dword [esp + 4], str.Got_NULL_handle._n
movzx eax, al
mov dword [esp], eax
call fcn.004df840
mov dword [esp], str.shcore.dll
call esi
sub esp, 4
mov dword [ebp - 0x63c], eax
call fcn.0057d110
mov ecx, dword [ebp - 0x63c]
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2d4
xor eax, eax
cmp ebx, ecx
sete al
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.wrong_module__p__p_n
call fcn.004df840
mov dword [esp], ebx
mov eax, dword [ebp - 0x648]
call eax
sub esp, 4
mov ebx, eax
call fcn.0057d110
mov edx, dword [ebp - 0x640]
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2d6
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x63c], edx
mov dword [esp], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], str.FreeLibrary_failed__error__lu._n
call fcn.004df840
mov dword [esp], str.shcore.dll
call esi
sub esp, 4
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2d8
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], str.shcore_not_unloaded_n
mov dword [esp], eax
call fcn.004df840
mov eax, dword [0x5e7f20]
mov dword [ebp - 0x318], eax
mov eax, dword [0x5e7f24]
mov dword [ebp - 0x314], eax
mov eax, dword [0x5e7f28]
mov dword [ebp - 0x310], eax
mov eax, dword [0x5e7f2c]
mov dword [ebp - 0x30c], eax
mov eax, dword [0x5e7f30]
mov dword [ebp - 0x308], eax
mov eax, dword [0x5e7f34]
mov dword [ebp - 0x304], eax
mov eax, dword [0x5e7f38]
mov dword [ebp - 0x300], eax
mov eax, dword [0x5e7f3c]
mov dword [ebp - 0x2fc], eax
mov eax, dword [0x5e7f40]
mov dword [ebp - 0x2f8], eax
movzx eax, word [0x5e7f44]
mov word [ebp - 0x2f4], ax
mov dword [esp], edi
mov eax, dword [ebp - 0x658]
call eax
mov byte [ebp + eax - 0x31d], 0x39
mov dword [esp + 8], 0x200
mov dword [esp + 4], 0
mov dword [esp], edi
mov ecx, dword [ebp - 0x650]
call ecx
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov edx, dword [ebp - 0x63c]
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2de
mov eax, dword [edx + 0x34]
test ebx, ebx
je 0x4e5ddd
mov dword [ebp - 0x640], edx
mov dword [esp + 8], eax
mov dword [esp + 4], str.Got_NULL_module__error__lu._n
mov dword [esp], 1
call fcn.004df840
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2e1
mov dword [esp], 0x5e7f20
call esi
sub esp, 4
test eax, eax
setne al
mov dword [esp + 4], str.Got_NULL_handle._n
movzx eax, al
mov dword [esp], eax
call fcn.004df840
mov dword [esp], str.shcore.dll
call esi
sub esp, 4
mov dword [ebp - 0x63c], eax
call fcn.0057d110
mov ecx, dword [ebp - 0x63c]
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2e3
xor eax, eax
cmp ebx, ecx
sete al
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.wrong_module__p__p_n
call fcn.004df840
mov dword [esp], ebx
mov eax, dword [ebp - 0x648]
call eax
sub esp, 4
mov ebx, eax
call fcn.0057d110
mov edx, dword [ebp - 0x640]
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2e5
mov eax, dword [edx + 0x34]
mov dword [esp + 4], str.FreeLibrary_failed__error__lu._n
mov dword [esp + 8], eax
mov dword [esp], ebx
call fcn.004df840
mov dword [esp], str.shcore.dll
call esi
sub esp, 4
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2e8
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], str.shcore_not_unloaded_n
mov dword [esp], eax
mov ebx, dword fs:[0x18]
call fcn.004df840
mov dword [esp + 4], 0x104
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_GetWindowsDirectoryA]
sub esp, 8
mov dword [esp], edi
call sub.msvcrt.dll_strlen
mov ecx, 0x5c
movzx edx, word [0x5e7f44]
mov word [edi + eax], cx
mov ecx, dword [0x5e7f20]
mov word [ebp + eax - 0x2f3], dx
mov dword [ebp + eax - 0x317], ecx
mov ecx, dword [0x5e7f24]
mov dword [ebp + eax - 0x313], ecx
mov ecx, dword [0x5e7f28]
mov dword [ebp + eax - 0x30f], ecx
mov ecx, dword [0x5e7f2c]
mov dword [ebp + eax - 0x30b], ecx
mov ecx, dword [0x5e7f30]
mov dword [ebp + eax - 0x307], ecx
mov ecx, dword [0x5e7f34]
mov dword [ebp + eax - 0x303], ecx
mov ecx, dword [0x5e7f38]
mov dword [ebp + eax - 0x2ff], ecx
mov ecx, dword [0x5e7f3c]
mov dword [ebp + eax - 0x2fb], ecx
mov ecx, dword [0x5e7f40]
mov dword [ebp + eax - 0x2f7], ecx
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 8], 0x200
mov dword [esp + 4], 0
mov dword [esp], edi
mov eax, dword [ebp - 0x650]
call eax
sub esp, 0xc
mov dword [ebp - 0x63c], eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2f0
mov eax, edi
call fcn.004df080
mov dword [esp + 4], str.Loaded__s_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x63c]
xor eax, eax
test edx, edx
sete al
mov dword [esp], eax
call fcn.004df840
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2f1
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], 0x5e6856
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x7e
sete al
mov dword [esp], eax
call fcn.004df840
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp], edi
mov eax, dword [ebp - 0x654]
call eax
sub esp, 4
mov dword [ebp - 0x63c], eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2f4
mov eax, edi
call fcn.004df080
mov dword [esp + 4], str.Loaded__s_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x63c]
xor eax, eax
test edx, edx
sete al
mov dword [esp], eax
call fcn.004df840
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2f5
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], 0x5e6856
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x7e
sete al
mov dword [esp], eax
call fcn.004df840
mov dword [esp], str.rasapi32.dll
call esi
sub esp, 4
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2fe
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], str.rasapi32_already_loaded_n
mov dword [esp], eax
mov edi, dword fs:[0x18]
call fcn.004df840
mov dword [esp], str.rasapi32.dll
mov eax, dword [ebp - 0x654]
call eax
sub esp, 4
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x300
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.rasapi32_not_found__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.004df840
mov dword [esp], ebx
mov eax, dword [ebp - 0x648]
call eax
mov dword [edi + 0x34], 0xdeadbeef
sub esp, 4
mov dword [esp + 8], 0x200
mov dword [esp + 4], 0
mov dword [esp], str.rasapi32.dll
mov eax, dword [ebp - 0x650]
call eax
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x304
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], str.rasapi32_loaded_n
mov dword [esp], eax
call fcn.004df840
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x305
mov eax, dword [edi + 0x34]
mov dword [esp + 4], 0x5e6856
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x7e
sete al
mov dword [esp], eax
call fcn.004df840
mov dword [edi + 0x34], 0xdeadbeef
mov dword [esp + 8], 0x200
mov dword [esp + 4], 0
mov dword [esp], str.ext_ms_win_ras_rasapi32_l1_1_0.dll
mov eax, dword [ebp - 0x650]
call eax
mov edi, dword [0x8f0770]
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
xor ecx, ecx
test edi, edi
setne cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x4e5c69
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x309
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], str.rasapi32_loaded_n
mov dword [esp], eax
call fcn.004df840
call fcn.0057d110
shr dword [eax + 0x10], 1
call fcn.0057d110
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x4e5c38
test ebx, ebx
je 0x4e5d8e
mov dword [esp], ebx
mov eax, dword [ebp - 0x648]
call eax
sub esp, 4
mov dword [esp], str.ext_ms_win_ras_rasapi32_l1_1_0.dll
mov eax, dword [ebp - 0x654]
call eax
sub esp, 4
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x30d
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
test ebx, ebx
je 0x4e5d67
mov dword [esp + 8], eax
mov dword [esp + 4], str.rasapi32_not_found__lu_n
mov dword [esp], 1
call fcn.004df840
mov dword [esp], ebx
mov eax, dword [ebp - 0x648]
call eax
sub esp, 4
mov dword [esp], str.rasapi32.dll
call esi
sub esp, 4
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x310
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], str.rasapi32_still_loaded_n
mov dword [esp], eax
call fcn.004df840
jmp 0x4e5208
mov dword [esp], 1
call fcn.004df840
jmp 0x4e5386
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x2f9
mov dword [esp + 4], 0x5e7f20
mov dword [esp], str._s_not_found__skipping_test._n
call fcn.004dfda0
jmp 0x4e5acc
mov edx, dword [0x8f0770]
mov dword [esp + 8], eax
mov dword [esp + 4], str.rasapi32_not_found__lu_n
test edx, edx
jne 0x4e5dcc
mov dword [esp], 1
call fcn.004df840
jmp 0x4e5cef
call fcn.0057d110
mov dword [eax], 0x5e6553
mov dword [eax + 4], 0x30b
mov eax, dword fs:[0x18]
mov edx, dword [eax + 0x34]
mov dword [esp + 4], 0x5e6856
mov dword [esp + 8], edx
cmp dword [eax + 0x34], 0x7e
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004df840
jmp 0x4e5c92
mov dword [esp], 0
call fcn.004df840
jmp 0x4e5cef
mov ebx, dword [0x8f0770]
mov dword [esp + 8], eax
mov dword [esp + 4], str.Got_NULL_module__error__lu._n
test ebx, ebx
je 0x4e5e04
mov dword [esp], 0
call fcn.004df840
jmp 0x4e58c7
mov dword [esp], 1
call fcn.004df840
jmp 0x4e58c7