Function at 0x457815
Capabilities:
Delete file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c
push ebx
push esi
mov ebx, ecx
lea eax, [esp + 0x1c]
xor esi, esi
mov dword [esp + 0x28], ebx
push edi
lea ecx, [esp + 0x28]
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], eax
call fcn.0043e6c6
push eax
push dword [ebp + 8]
call fcn.0045b047
mov edi, eax
test edi, edi
jns 0x457863
cmp dword [0x463f58], esi
je 0x457bf8
push esi
push 0x43617c
jmp 0x457891
cmp dword [ebp + 0xc], esi
jne 0x4578b0
push esi
push esi
push dword [esp + 0x28]
mov ecx, ebx
call fcn.0045a09d
mov edi, eax
test edi, edi
jns 0x457bf6
cmp dword [0x463f58], esi
je 0x457bf8
push esi
push 0x4361c0
mov edx, edi
mov cl, 1
call fcn.0043b847
cmp dword [0x463f58], esi
je 0x457bf8
call fcn.0043b9da
jmp 0x457bf8
lea eax, [esp + 0x1c]
xor ebx, ebx
push eax
push 0x41eb50
push 1
push ebx
push 0x41eb40
mov dword [esp + 0x30], ebx
call dword [sym.imp.OLE32.dll_CoCreateInstance]
mov edi, eax
test edi, edi
jns 0x4578f4
cmp dword [0x463f58], ebx
je 0x457c7b
push ebx
push 0x4347d0
mov edx, edi
mov cl, 1
call fcn.0043b847
jmp 0x457c7b
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x18]
mov dword [esp + 0x18], ebx
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], eax
mov edi, dword [esi]
call fcn.0043e6c6
mov ecx, dword [edi + 0x14]
push eax
push dword [ebp + 8]
push esi
call dword [0x464258]
call dword [edi + 0x14]
mov edi, eax
test edi, edi
jns 0x45793a
cmp dword [0x463f58], ebx
je 0x457c72
push ebx
push 0x424aa0
jmp 0x457963
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x28]
mov dword [esp + 0x28], ebx
call fcn.0045bd91
mov edi, eax
test edi, edi
jns 0x457982
cmp dword [0x463f58], ebx
je 0x457c72
push ebx
push 0x423668
mov edx, edi
mov cl, 1
call fcn.0043b847
cmp dword [0x463f58], ebx
je 0x457c72
call fcn.0043b9da
jmp 0x457c72
mov eax, dword [esp + 0x28]
mov esi, ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x24], esi
test eax, eax
je 0x457aab
mov ebx, dword [ebp + 0x10]
test ebx, ebx
je 0x457a9d
and dword [esp + 0x14], esi
lea eax, [esp + 0x10]
and dword [esp + 0x10], esi
lea ecx, [esp + 0x30]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x14]
mov dword [esp + 0x34], eax
call fcn.0043e6c6
push eax
lea ecx, [esp + 0x38]
call fcn.0043e6c6
mov edx, eax
mov ecx, ebx
call fcn.00457515
mov edi, eax
test edi, edi
jns 0x4579f2
cmp dword [0x463f58], esi
je 0x457a6c
push 0
push 0x436210
jmp 0x457a23
mov edi, dword [esp + 0x14]
lea eax, [esp + 0xc]
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], eax
call fcn.0043e6c6
push eax
push edi
call fcn.0045b047
mov edi, eax
test edi, edi
jns 0x457a2e
cmp dword [0x463f58], esi
je 0x457a6c
push 0
push 0x436288
mov edx, edi
mov cl, 1
call fcn.0043b847
jmp 0x457a6c
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x457a87
lea eax, [esp + 0x24]
mov edx, 0x434e68
push eax
push 0x41152c
call fcn.00455c7e
mov edi, eax
test edi, edi
jns 0x457a83
cmp dword [0x463f58], esi
je 0x457a68
push 0
push 0x4362e8
mov edx, edi
mov cl, 1
call fcn.0043b847
mov esi, dword [esp + 0x24]
lea ecx, [esp + 0x10]
call fcn.0043e6ea
lea ecx, [esp + 0x14]
call fcn.0043e6ea
jmp 0x457c57
mov esi, dword [esp + 0x24]
lea ecx, [esp + 0x10]
call fcn.0043e6ea
lea ecx, [esp + 0x14]
call fcn.0043e6ea
mov eax, dword [esp + 0x28]
test eax, eax
je 0x457aa9
test ebx, ebx
je 0x457bc7
xor ebx, ebx
push dword [ebp + 0x14]
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x4c]
neg eax
mov dword [esp + 0x4c], ebx
push ecx
sbb eax, eax
mov dword [esp + 0x54], ebx
and eax, esi
mov dword [esp + 0x58], ebx
push eax
xor ecx, ecx
mov byte [esp + 0x60], 1
call fcn.00457eac
mov edi, eax
test edi, edi
jns 0x457b0e
cmp dword [0x463f58], 0
je 0x457c4e
push ebx
push 0x436388
mov edx, edi
mov cl, 1
call fcn.0043b847
cmp dword [0x463f58], 0
je 0x457c4e
call fcn.0043b9da
jmp 0x457c4e
lea edx, [esp + 0x38]
mov dword [esp + 0x38], ebx
lea ecx, [esp + 0x48]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov byte [esp + 0x44], 1
call fcn.0045b176
mov edi, eax
test edi, edi
jns 0x457b4a
cmp dword [0x463f58], 0
je 0x457c45
push ebx
push 0x436420
jmp 0x457c2e
cmp dword [esp + 0x50], 0
jbe 0x457bb5
cmp ebx, dword [esp + 0x40]
jb 0x457b5b
xor eax, eax
jmp 0x457b62
mov eax, dword [esp + 0x38]
mov eax, dword [eax + ebx*4]
push dword [eax + 4]
mov ecx, dword [esp + 0x30]
push 0
push dword [esp + 0x28]
call fcn.0045a09d
mov edi, eax
test edi, edi
js 0x457c1e
cmp dword [esp + 0xc], 0
je 0x457bae
cmp ebx, dword [esp + 0x40]
jb 0x457b8f
xor eax, eax
jmp 0x457b96
mov eax, dword [esp + 0x38]
mov eax, dword [eax + ebx*4]
push dword [eax + 4]
mov ecx, dword [esp + 0x30]
push 0
push dword [esp + 0x14]
call fcn.0045a09d
mov edi, eax
test edi, edi
js 0x457c0c
inc ebx
cmp ebx, dword [esp + 0x50]
jb 0x457b51
lea ecx, [esp + 0x38]
call fcn.004492ec
lea ecx, [esp + 0x48]
call fcn.0044929d
test esi, esi
je 0x457bd2
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push esi
call dword [sym.imp.OLE32.dll_CoTaskMemFree]
lea ecx, [esp + 0xc]
call fcn.0043e6ea
lea ecx, [esp + 0x18]
call fcn.0043e6ea
lea ecx, [esp + 0x1c]
call fcn.0043e6ea
xor esi, esi
mov edi, esi
lea ecx, [esp + 0x20]
call fcn.0043e6ea
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [0x463f58], 0
je 0x457c45
push 0
push 0x4364d0
jmp 0x457c2e
cmp dword [0x463f58], 0
je 0x457c45
push 0
push 0x436460
mov edx, edi
mov cl, 1
call fcn.0043b847
cmp dword [0x463f58], 0
je 0x457c45
call fcn.0043b9da
lea ecx, [esp + 0x38]
call fcn.004492ec
lea ecx, [esp + 0x48]
call fcn.0044929d
test esi, esi
je 0x457c62
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push esi
call dword [sym.imp.OLE32.dll_CoTaskMemFree]
lea ecx, [esp + 0xc]
call fcn.0043e6ea
lea ecx, [esp + 0x18]
call fcn.0043e6ea
lea ecx, [esp + 0x1c]
call fcn.0043e6ea
jmp 0x457bf8