Function at 0x4efd90
Capabilities:
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea esi, [ebp - 0x41c]
push ebx
lea ebx, [ebp - 0x624]
sub esp, 0x750
mov eax, dword [sym.imp.kernel32.dll_GetWindowsDirectoryW]
mov dword [ebp - 0x72c], 0
mov dword [esp + 4], 0x104
mov dword [esp], ebx
mov dword [ebp - 0x738], eax
call eax
mov eax, dword [sym.imp.kernel32.dll_SearchPathW]
lea edx, [ebp - 0x72c]
sub esp, 8
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x104
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ebx
mov dword [ebp - 0x730], eax
call eax
sub esp, 0x18
mov edi, eax
mov eax, 0x75d
call fcn.004e7d80
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_failure__got__ld_n
mov dword [esp], eax
mov edi, dword fs:[0x18]
call fcn.004e88d0
mov eax, 0x75e
call fcn.004e7d80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], 0x5e956c
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.004e88d0
lea edx, [ebp - 0x72c]
mov dword [edi + 0x34], 0xdeadbeef
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x104
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5ea984
mov dword [esp], ebx
mov eax, dword [ebp - 0x730]
call eax
sub esp, 0x18
mov dword [ebp - 0x734], eax
mov eax, 0x764
call fcn.004e7d80
mov edx, dword [ebp - 0x734]
xor eax, eax
mov dword [esp + 4], str.Expected_failure__got__ld_n
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x765
call fcn.004e7d80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.Expected_ERROR_INVALID_PARAMETER__got__lx_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.004e88d0
mov dword [esp + 4], ebx
mov dword [esp], 0x104
call dword [sym.imp.kernel32.dll_GetTempPathW]
xor eax, eax
sub esp, 8
lea esi, [esi]
movzx edx, word [ebx + eax]
mov word [ebp + eax - 0x214], dx
add eax, 2
test dx, dx
jne 0x4eff10
cmp word [ebp - 0x214], 0
lea edx, [ebp - 0x214]
je 0x4eff41
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x4eff38
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [eax + str.testfile.ext.ext2]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x4eff48
lea eax, [ebp - 0x214]
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], eax
call dword [sym.imp.kernel32.dll_CreateFileW]
sub esp, 0x1c
mov edi, eax
mov eax, 0x76d
call fcn.004e7d80
xor eax, eax
cmp edi, 0xffffffff
mov dword [esp + 4], str.Failed_to_create_test_file._n
setne al
mov dword [esp], eax
call fcn.004e88d0
mov dword [esp], edi
xor edi, edi
call dword [sym.imp.kernel32.dll_CloseHandle]
mov word [ebp - 0x41c], di
sub esp, 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x104
mov dword [esp + 8], 0
mov dword [esp + 4], str.testfile.ext
mov dword [esp], ebx
mov eax, dword [ebp - 0x730]
call eax
sub esp, 0x18
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x5e82d4
mov dword [eax + 4], 0x772
xor eax, eax
test edi, edi
sete al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], 0x5e95e0
call fcn.004e88d0
xor eax, eax
mov word [ebp - 0x41c], ax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x104
mov dword [esp + 8], str..ext2
mov dword [esp + 4], str.testfile.ext
mov dword [esp], ebx
mov eax, dword [ebp - 0x730]
call eax
sub esp, 0x18
mov edi, eax
mov eax, 0x776
call fcn.004e7d80
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x5e95e0
mov dword [esp], eax
call fcn.004e88d0
xor eax, eax
mov word [ebp - 0x41c], ax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x104
mov dword [esp + 8], 0
mov dword [esp + 4], str.testfile.ext.ext2
mov dword [esp], ebx
mov eax, dword [ebp - 0x730]
call eax
sub esp, 0x18
mov edi, eax
mov eax, 0x77a
call fcn.004e7d80
xor eax, eax
test edi, edi
je 0x4f011b
cmp word [ebp - 0x214], 0
je 0x4f08b6
lea eax, [ebp - 0x214]
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x4f0100
lea ecx, [ebp - 0x214]
sub eax, ecx
sar eax, 1
cmp edi, eax
sete al
movzx eax, al
mov dword [esp + 8], edi
lea edi, [ebp - 0x728]
mov dword [esp], eax
mov dword [esp + 4], 0x5e95fe
call fcn.004e88d0
lea eax, [ebp - 0x214]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_DeleteFileW]
sub esp, 4
mov dword [esp + 4], 0x104
mov dword [esp], ebx
mov eax, dword [ebp - 0x738]
call eax
mov edx, str._assembly_xmlns_urn:schemas_microsoft_com:asm.v1__manifestVersion_1.0___assemblyIdentity_version_1.2.3.4___name_testdep1__type_win32__processorArchitecture_x86________file_name_testdep.dll_________file_name_ole32_________file_name_kernel32.dll______assembly_
mov eax, 0x5e9607
sub esp, 8
call fcn.004e9390
mov edx, 0x5eaa60
mov eax, 0x5e8772
call fcn.004e9390
call fcn.004eaa40
mov edx, dword [sym.imp.kernel32.dll_GetTempPathA]
mov dword [ebp - 0x734], eax
mov dword [esp + 4], edi
mov dword [esp], 0x104
mov dword [ebp - 0x740], edx
call edx
sub esp, 8
mov dword [esp], edi
call sub.msvcrt.dll_strlen
mov ecx, dword [sym.imp.kernel32.dll_DeleteFileA]
mov edx, 0x74
add eax, edi
mov word [eax + 0x10], dx
mov dword [eax], 0x74736574
mov dword [eax + 4], 0x31706564
mov dword [eax + 8], 0x6e616d2e
mov dword [eax + 0xc], 0x73656669
mov dword [esp], edi
mov dword [ebp - 0x73c], ecx
call ecx
sub esp, 4
mov dword [esp + 4], edi
mov dword [esp], 0x104
mov edx, dword [ebp - 0x740]
call edx
sub esp, 8
mov dword [esp], edi
call sub.msvcrt.dll_strlen
mov ecx, 0x74
add eax, edi
mov word [eax + 0xc], cx
mov dword [eax], 0x6e69616d
mov dword [eax + 4], 0x6e616d2e
mov dword [eax + 8], 0x73656669
mov dword [esp], edi
mov ecx, dword [ebp - 0x73c]
call ecx
sub esp, 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x104
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5ea918
mov dword [esp], 0
mov eax, dword [ebp - 0x730]
call eax
sub esp, 0x18
mov dword [ebp - 0x73c], eax
call fcn.0057d110
mov edx, dword [ebp - 0x73c]
mov dword [eax], 0x5e82d4
mov dword [eax + 4], 0x789
xor eax, eax
test edx, edx
sete al
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], 0x5e95fe
call fcn.004e88d0
lea ecx, [ebp - 0x214]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 0x104
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5ea8fc
mov dword [esp], 0
mov eax, dword [ebp - 0x730]
call eax
sub esp, 0x18
mov dword [ebp - 0x73c], eax
call fcn.0057d110
mov edx, dword [ebp - 0x73c]
mov dword [eax], 0x5e82d4
mov dword [eax + 4], 0x78c
xor eax, eax
test edx, edx
je 0x4f0333
cmp word [ebp - 0x214], 0
je 0x4f08bd
lea eax, [ebp - 0x214]
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x4f0318
lea ecx, [ebp - 0x214]
sub eax, ecx
sar eax, 1
cmp edx, eax
sete al
movzx eax, al
mov dword [esp + 8], edx
mov dword [esp + 4], 0x5e95fe
mov dword [esp], eax
call fcn.004e88d0
mov dword [esp + 4], 0x104
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_GetSystemDirectoryW]
lea eax, [ebp - 0x214]
sub esp, 8
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x104
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5ea8e8
mov dword [esp], ebx
mov eax, dword [ebp - 0x730]
call eax
sub esp, 0x18
mov dword [ebp - 0x73c], eax
mov eax, 0x791
call fcn.004e7d80
mov edx, dword [ebp - 0x73c]
xor eax, eax
mov dword [esp + 4], 0x5e95fe
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.004e88d0
mov dword [esp + 4], 0x104
mov dword [esp], ebx
mov ecx, dword [ebp - 0x738]
call ecx
sub esp, 8
mov dword [esp + 4], edi
mov ecx, dword [ebp - 0x734]
mov dword [esp], ecx
call dword [sym.imp.kernel32.dll_ActivateActCtx]
sub esp, 8
mov edi, eax
mov eax, 0x796
call fcn.004e7d80
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp], edi
mov dword [esp + 4], str.failed_to_activate_context___lu_n
mov dword [esp + 8], eax
call fcn.004e88d0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x104
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5ea918
mov dword [esp], 0
mov eax, dword [ebp - 0x730]
call eax
sub esp, 0x18
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x5e82d4
mov dword [eax + 4], 0x79a
xor eax, eax
test edi, edi
je 0x4f0495
cmp word [ebp - 0x41c], 0
je 0x4f089a
mov eax, esi
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x4f0480
sub eax, esi
sar eax, 1
cmp edi, eax
sete al
movzx eax, al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], 0x5e95fe
call fcn.004e88d0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x104
mov dword [esp + 8], str..ext
mov dword [esp + 4], 0x5ea918
mov dword [esp], 0
mov eax, dword [ebp - 0x730]
call eax
sub esp, 0x18
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x5e82d4
mov dword [eax + 4], 0x79d
xor eax, eax
test edi, edi
je 0x4f0525
cmp word [ebp - 0x41c], 0
je 0x4f08a1
mov eax, esi
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x4f0510
sub eax, esi
sar eax, 1
cmp edi, eax
sete al
movzx eax, al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], 0x5e95fe
call fcn.004e88d0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x104
mov dword [esp + 8], str..dll
mov dword [esp + 4], str.testdep
mov dword [esp], 0
mov eax, dword [ebp - 0x730]
call eax
sub esp, 0x18
mov edi, eax
mov eax, 0x7a0
call fcn.004e7d80
xor eax, eax
test edi, edi
je 0x4f05ad
cmp word [ebp - 0x41c], 0
je 0x4f08a8
mov eax, esi
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x4f0598
sub eax, esi
sar eax, 1
cmp edi, eax
sete al
movzx eax, al
mov dword [esp + 8], edi
mov dword [esp + 4], 0x5e95fe
mov dword [esp], eax
call fcn.004e88d0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x104
mov dword [esp + 8], str..ext
mov dword [esp + 4], str.testdep
mov dword [esp], 0
mov edi, dword [ebp - 0x730]
call edi
sub esp, 0x18
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x5e82d4
mov dword [eax + 4], 0x7a3
xor eax, eax
test edi, edi
sete al
mov dword [esp + 8], edi
mov dword [esp + 4], 0x5e95fe
mov dword [esp], eax
call fcn.004e88d0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x104
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5ea8a4
mov dword [esp], 0
mov edi, dword [ebp - 0x730]
call edi
sub esp, 0x18
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x5e82d4
mov dword [eax + 4], 0x7a7
xor eax, eax
test edi, edi
sete al
mov dword [esp + 8], edi
mov dword [esp + 4], 0x5e95fe
mov dword [esp], eax
call fcn.004e88d0
mov dword [esp], ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x104
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5ea918
mov edi, dword [ebp - 0x730]
call edi
sub esp, 0x18
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5e82d4
mov dword [eax + 4], 0x7ab
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x5e95fe
mov dword [esp], eax
call fcn.004e88d0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x104
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5ea8fc
mov dword [esp], 0
call edi
sub esp, 0x18
mov ebx, eax
mov eax, 0x7af
call fcn.004e7d80
xor eax, eax
test ebx, ebx
je 0x4f0755
cmp word [ebp - 0x41c], 0
je 0x4f08af
mov eax, esi
nop
add eax, 2
cmp word [eax], 0
jne 0x4f0740
sub eax, esi
sar eax, 1
cmp ebx, eax
sete al
movzx eax, al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], 0x5e95fe
call fcn.004e88d0
mov eax, 0x7b0
call fcn.004e7d80
lea eax, [ebp - 0x214]
call fcn.004e7de0
mov edi, eax
mov eax, esi
call fcn.004e7de0
mov dword [esp], esi
mov ebx, eax
lea eax, [ebp - 0x214]
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_lstrcmpW]
sub esp, 8
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 0xc], edi
mov dword [esp + 4], str.got_wrong_path__s___s_n
call fcn.004e88d0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x104
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5ea898
mov dword [esp], 0
mov eax, dword [ebp - 0x730]
call eax
sub esp, 0x18
mov ebx, eax
mov eax, 0x7b4
call fcn.004e7d80
xor eax, eax
test ebx, ebx
je 0x4f0825
cmp word [ebp - 0x41c], 0
je 0x4f0896
mov eax, esi
nop
add eax, 2
cmp word [eax], 0
jne 0x4f0810
sub eax, esi
sar eax, 1
cmp ebx, eax
sete al
movzx eax, al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], 0x5e95fe
call fcn.004e88d0
mov eax, dword [ebp - 0x728]
mov dword [esp], 0
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_DeactivateActCtx]
sub esp, 8
mov ebx, eax
mov eax, 0x7b7
call fcn.004e7d80
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.failed_to_deactivate_context___lu_n
mov dword [esp + 8], eax
call fcn.004e88d0
mov eax, dword [ebp - 0x734]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_ReleaseActCtx]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
xor eax, eax
jmp 0x4f081d
xor eax, eax
jmp 0x4f048d
xor eax, eax
jmp 0x4f051d
xor eax, eax
jmp 0x4f05a5
xor eax, eax
jmp 0x4f074d
xor eax, eax
jmp 0x4f0113
xor eax, eax
jmp 0x4f032b