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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x874
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x1c]
xor edx, edx
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov ebx, edx
push edi
mov dword [ebp - 0x848], ecx
lea edi, [ebp - 0x840]
mov ecx, dword [ebp + 8]
push 6
mov dword [ebp - 0x854], ecx
pop ecx
mov dword [ebp - 0x870], eax
xor eax, eax
mov dword [ebp - 0x844], edx
push 0x206
rep stosd dword es:[edi], eax
mov word [ebp - 0x828], ax
lea eax, [ebp - 0x826]
push edx
push eax
mov dword [ebp - 0x874], esi
mov dword [ebp - 0x858], edx
mov dword [ebp - 0x84c], edx
mov dword [ebp - 0x86c], edx
mov dword [ebp - 0x860], edx
mov dword [ebp - 0x85c], edx
mov dword [ebp - 0x868], edx
mov dword [ebp - 0x864], ebx
mov dword [ebp - 0x850], edx
call sub.msvcrt.dll_memset
mov eax, dword [esi]
lea ecx, [ebp - 0x858]
add esp, 0xc
push ecx
push esi
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x478f64]
call esi
mov edi, eax
test edi, edi
js 0x466c9b
mov eax, dword [ebp - 0x858]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x14]
mov ecx, esi
call dword [0x478f64]
call esi
mov edi, eax
test edi, edi
js 0x466c9b
mov eax, dword [ebp - 0x858]
lea ecx, [ebp - 0x86c]
push ecx
lea ecx, [ebp - 0x84c]
push ecx
mov esi, dword [eax]
push 1
push eax
mov ecx, dword [esi + 0xc]
call dword [0x478f64]
call dword [esi + 0xc]
mov edi, eax
test edi, edi
js 0x466c9b
push 0x40f15c
push dword [ebp - 0x84c]
lea eax, [ebp - 0x860]
push eax
call dword [sym.imp.ATL.DLL_AtlComQIPtrAssign]
cmp dword [ebp - 0x860], ebx
jne 0x46689e
mov edi, 0x80004002
jmp 0x466c9b
push 0x40f16c
push dword [ebp - 0x84c]
lea eax, [ebp - 0x85c]
push eax
call dword [sym.imp.ATL.DLL_AtlComQIPtrAssign]
mov ecx, dword [ebp - 0x85c]
test ecx, ecx
je 0x466894
push 0x80
mov edx, 0x100c
call fcn.00467a96
mov edi, eax
test edi, edi
js 0x466c9b
mov ecx, dword [ebp - 0x85c]
sub esp, 0x10
mov edi, esp
mov esi, 0x40f0d8
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00467af4
mov edi, eax
test edi, edi
js 0x466c9b
mov edx, dword [ebp - 0x84c]
push ecx
push ecx
push dword [ebp + 0x18]
mov ecx, dword [ebp - 0x874]
call fcn.004677ef
mov edi, 0x103
test eax, eax
jns 0x4669cd
xor eax, eax
mov esi, 0x206
push esi
push eax
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
xor eax, eax
mov word [ebp - 0x418], ax
push esi
push eax
lea eax, [ebp - 0x416]
push eax
call sub.msvcrt.dll_memset
mov esi, dword [ebp - 0x848]
lea eax, [ebp - 0x210]
add esp, 0xc
push edi
push eax
push 0x1b58
push dword [esi + 4]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x4669cd
push edi
lea eax, [ebp - 0x418]
push eax
push 0x1b5c
push dword [esi + 4]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x4669cd
mov edi, dword [esi + 8]
xor esi, esi
call fcn.0041b73a
test eax, eax
je 0x4669a5
mov esi, 0x180000
or esi, 1
lea eax, [ebp - 0x210]
push esi
push eax
lea eax, [ebp - 0x418]
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 2
jne 0x4669cd
mov edi, 0x80004004
jmp 0x466c9b
mov ecx, 0x40f04c
call fcn.0041e045
mov dword [ebp - 0x868], eax
test eax, eax
jne 0x4669eb
mov edi, 0x8007000e
jmp 0x466c9b
lea ecx, [ebp - 0x620]
push ecx
push 0
push 0x40f05c
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jle 0x466a17
movzx edi, di
or edi, 0x80070000
test esi, esi
je 0x466c9b
lea eax, [ebp - 0x620]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0x620]
push 0x2e
push eax
call sub.msvcrt.dll_wcsrchr
mov edi, dword [ebp - 0x854]
pop ecx
pop ecx
xor ecx, ecx
mov word [eax], cx
test edi, edi
je 0x466a94
mov eax, dword [edi]
push 1
mov esi, dword [eax + 0x20]
mov ecx, esi
call dword [0x478f64]
mov ecx, edi
call esi
mov eax, dword [edi]
push 0
mov esi, dword [eax + 0x28]
mov ecx, esi
call dword [0x478f64]
mov ecx, edi
call esi
mov eax, dword [edi]
push 0
mov esi, dword [eax + 0x24]
mov ecx, esi
call dword [0x478f64]
mov ecx, edi
call esi
mov eax, dword [edi]
mov esi, dword [eax]
mov ecx, esi
call dword [0x478f64]
mov ecx, edi
call esi
push 0x103
lea eax, [ebp - 0x828]
push eax
mov eax, dword [ebp - 0x848]
push 0x1b5d
push dword [eax + 4]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
jne 0x466ac2
mov edi, 0x80004005
jmp 0x466c9b
push 0x228
call dword [sym.imp.MFC42u.dll_operatornew]
mov ebx, eax
xor esi, esi
mov dword [ebp - 0x864], ebx
pop ecx
test ebx, ebx
je 0x466af4
inc esi
mov dword [ebx], 0x40795c
push ebx
mov dword [ebx + 4], esi
mov dword [ebx + 0x224], edi
call fcn.00467380
jmp 0x466afd
xor ebx, ebx
inc esi
mov dword [ebp - 0x864], ebx
test ebx, ebx
je 0x4669e1
and dword [ebp - 0x850], 0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push eax
mov dword [ebp - 0x844], 0x1c
mov dword [ebp - 0x83c], 0x4000
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x620]
push esi
push eax
push 0x40f138
lea eax, [ebp - 0x210]
push 0x104
push eax
call fcn.00416647
mov edi, eax
add esp, 0x14
test edi, edi
js 0x466c9b
mov dword [ebp - 0x848], esi
mov eax, dword [ebx]
lea ecx, [ebp - 0x210]
push ecx
push ebx
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x478f64]
call esi
mov edi, eax
test edi, edi
js 0x466c9b
push dword [ebp - 0x848]
lea eax, [ebp - 0x828]
push eax
lea eax, [ebp - 0x210]
push 0x104
push eax
call fcn.00416647
mov edi, eax
add esp, 0x10
test edi, edi
js 0x466c9b
mov edi, dword [ebp - 0x854]
test edi, edi
je 0x466bdd
mov eax, dword [edi]
lea ecx, [ebp - 0x210]
push ecx
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x478f64]
mov ecx, edi
call esi
mov eax, dword [ebp - 0x860]
lea ecx, [ebp - 0x844]
push ebx
push ecx
push eax
mov esi, dword [eax]
mov ecx, dword [esi + 0x10]
call dword [0x478f64]
call dword [esi + 0x10]
mov edi, eax
mov eax, dword [ebp - 0x854]
test eax, eax
je 0x466c23
mov eax, dword [eax]
mov esi, dword [eax + 0x2c]
mov ecx, esi
call dword [0x478f64]
mov ecx, dword [ebp - 0x854]
call esi
test eax, eax
jne 0x4669c3
cmp edi, 0x80210003
jne 0x466c31
cmp dword [ebp + 0x18], 0
jne 0x466c99
test edi, edi
js 0x466c9b
mov esi, dword [ebp - 0x848]
inc dword [ebp - 0x850]
inc esi
cmp dword [ebp + 0x18], 0
mov dword [ebp - 0x848], esi
je 0x466c9b
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x620]
push esi
push eax
push 0x40f138
lea eax, [ebp - 0x210]
push 0x104
push eax
call fcn.00416647
mov edi, eax
add esp, 0x14
test edi, edi
jns 0x466b6f
jmp 0x466c9b
xor edi, edi
mov eax, dword [ebp - 0x854]
test eax, eax
je 0x466cba
mov eax, dword [eax]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x478f64]
mov ecx, dword [ebp - 0x854]
call esi
test edi, edi
js 0x466ce4
mov esi, dword [ebp - 0x870]
lea eax, [ebp - 0x620]
push esi
push dword [ebp - 0x850]
push eax
call fcn.00466efa
mov edi, eax
test edi, edi
jns 0x466ce4
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
xor esi, esi
inc esi
cmp dword [ebp - 0x850], esi
jb 0x466d50
mov ebx, dword [ebp - 0x850]
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x418], ax
lea eax, [ebp - 0x416]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x620]
push esi
push eax
push 0x40f138
lea eax, [ebp - 0x418]
push 0x104
push eax
call fcn.00416647
add esp, 0x14
test eax, eax
js 0x466d45
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
inc esi
cmp esi, ebx
jbe 0x466cf5
mov ebx, dword [ebp - 0x864]
test ebx, ebx
je 0x466d64
mov eax, dword [ebx]
push ebx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x478f64]
call esi
mov ecx, dword [ebp - 0x868]
call fcn.0041c919
mov ecx, dword [ebp - 0x84c]
test ecx, ecx
je 0x466d90
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x478f64]
call esi
and dword [ebp - 0x84c], 0
mov ecx, dword [ebp - 0x858]
test ecx, ecx
je 0x466db1
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x478f64]
call esi
and dword [ebp - 0x858], 0
mov eax, dword [ebp - 0x85c]
test eax, eax
je 0x466dcb
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x478f64]
call esi
mov eax, dword [ebp - 0x860]
test eax, eax
je 0x466de5
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x478f64]
call esi
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00468ba0
mov esp, ebp
pop ebp
ret 0x18