Function at 0x40e818
Capabilities:
Delete file

Disassembly:
push 0x2a8
mov eax, 0x46155c
call fcn.00449822
mov eax, dword [ebp + 8]
xor esi, esi
mov ebx, ecx
mov dword [eax], esi
mov dword [ebp - 0x2a4], ebx
mov dword [ebp - 0x2b4], eax
cmp dword [0x4821b0], esi
jne 0x40e857
cmp dword [0x4821ac], esi
je 0x40e857
mov dword [0x4821ac], esi
jmp 0x40eeb7
call fcn.00421f68
push eax
lea ecx, [ebp - 0x294]
call fcn.00401abe
mov dword [ebp - 4], esi
lea edi, [ebx + 0x78]
lea esi, [ebx + 0x74]
push edi
mov ecx, esi
mov dword [ebp - 0x2ac], edi
mov dword [ebp - 0x2a8], esi
call fcn.0040978c
and dword [ebp - 0x2b0], 0
cmp dword [0x4821d4], 0
je 0x40e939
mov edi, dword [edi]
mov eax, dword [esi]
push edi
push eax
call fcn.00442310
pop ecx
pop ecx
test eax, eax
jne 0x40e939
push dword [esi]
lea eax, [ebp - 0x294]
push str.Identical_file_names:__s
push eax
call fcn.0040190e
add esp, 0xc
call fcn.0042ac69
push dword [eax + 0x10]
lea ecx, [ebp - 0x298]
call fcn.00401a7a
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x298]
push dword [eax - 0xc]
lea ecx, [ebp - 0x298]
call fcn.00401c37
mov edi, eax
mov eax, dword [ebp - 0x294]
push dword [eax - 0xc]
lea ecx, [ebp - 0x294]
call fcn.00401c37
mov ecx, dword [ebx + 0x20]
push 0x32
push edi
push eax
push ecx
call fcn.0040ae26
add esp, 0x10
sub eax, 3
je 0x40e982
dec eax
je 0x40e966
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x298]
add ecx, 0xfffffff0
mov dword [ebp - 0x2b0], 1
call fcn.00401b3a
mov edi, 0x4820d0
call fcn.0040818d
push 0x174
call fcn.004213e6
pop ecx
mov dword [ebp - 0x29c], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x40e990
push eax
call fcn.0041f5b8
mov edi, eax
jmp 0x40e992
push 1
mov esi, ebx
call fcn.0040c8fc
mov ecx, dword [ebp - 0x298]
add ecx, 0xfffffff0
call fcn.00401b3a
jmp 0x40eea9
mov eax, dword [ebp - 0x2b4]
mov dword [eax], 1
jmp 0x40e96f
xor edi, edi
lea ecx, [edi + 0x11c]
push 0x46cf28
mov byte [ebp - 4], 0
call fcn.00401d0f
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call fcn.00426372
mov edx, dword [edi]
push eax
push 0x67
mov ecx, edi
call dword [edx + 0x13c]
mov ecx, ebx
call fcn.0042978b
cmp dword [0x4821a8], 0
je 0x40e9d8
and dword [ebp - 0x2a0], 0
jmp 0x40ea04
mov esi, dword [esi]
call fcn.00406b4f
mov dword [ebp - 0x2a0], eax
test eax, eax
jge 0x40e9fe
mov ecx, ebx
call fcn.004297a0
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax + 4]
jmp 0x40eea9
mov esi, dword [ebp - 0x2a8]
cmp dword [0x4821a8], 0
je 0x40ea16
and dword [ebp - 0x298], 0
jmp 0x40ea33
mov eax, dword [ebp - 0x2ac]
mov esi, dword [eax]
call fcn.00406b4f
mov dword [ebp - 0x298], eax
test eax, eax
jl 0x40e9e9
mov esi, dword [ebp - 0x2a8]
cmp dword [ebp - 0x2a0], 1
je 0x40ea49
cmp dword [ebp - 0x298], 1
jne 0x40ebe3
lea eax, [ebp - 0x150]
call fcn.0041e12f
lea eax, [ebp - 0x290]
call fcn.0041e12f
mov byte [ebp - 4], 4
push dword [esi]
lea ebx, [ebp - 0x150]
call fcn.0041e170
mov esi, dword [ebp - 0x2ac]
pop ecx
push dword [esi]
lea ebx, [ebp - 0x290]
call fcn.0041e170
mov edx, dword [ebp - 0x120]
pop ecx
cmp edx, dword [ebp - 0x260]
jne 0x40eaa1
mov ebx, dword [ebp - 0x11c]
cmp ebx, dword [ebp - 0x25c]
je 0x40eaf9
cmp dword [ebp - 0x2a0], 1
jne 0x40eac9
cmp dword [ebp - 0x298], 1
je 0x40eae3
mov eax, dword [ebp - 0x2a4]
push dword [eax + 0x80]
push dword [eax + 0x7c]
push str.File__s_is_binary__and_is_different_from_the_file__s.
jmp 0x40eb45
cmp dword [ebp - 0x298], 1
jne 0x40eae3
mov eax, dword [ebp - 0x2a4]
push dword [eax + 0x7c]
push dword [eax + 0x80]
jmp 0x40eac2
mov eax, dword [ebp - 0x2a4]
push dword [eax + 0x80]
push dword [eax + 0x7c]
push str.Binary_files__s_and__s_are_different.
jmp 0x40eb45
mov eax, dword [esi]
mov ecx, dword [ebp - 0x2a8]
mov ecx, dword [ecx]
push ebx
push edx
push eax
call fcn.00406c86
xor ecx, ecx
inc ecx
add esp, 0xc
cmp eax, ecx
jne 0x40eb2d
cmp dword [ebp - 0x2a0], ecx
jne 0x40eb25
cmp dword [ebp - 0x298], ecx
jmp 0x40eab1
cmp dword [ebp - 0x298], ecx
jmp 0x40ead0
test eax, eax
jne 0x40eb54
mov eax, dword [ebp - 0x2a4]
push dword [eax + 0x80]
push dword [eax + 0x7c]
push str.Binary_files__s_and__s_are_identical.
lea eax, [ebp - 0x294]
push eax
call fcn.0040190e
add esp, 0x10
mov ebx, dword [ebp - 0x2a4]
mov ecx, ebx
call fcn.004297a0
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax + 4]
call fcn.0042ac69
push dword [eax + 0x10]
lea ecx, [ebp - 0x29c]
call fcn.00401a7a
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x29c]
push dword [eax - 0xc]
lea ecx, [ebp - 0x29c]
call fcn.00401c37
mov esi, eax
mov eax, dword [ebp - 0x294]
push dword [eax - 0xc]
lea ecx, [ebp - 0x294]
call fcn.00401c37
mov ecx, dword [ebx + 0x20]
push 0x34
push esi
push eax
push ecx
call fcn.0040ae26
add esp, 0x10
sub eax, 6
je 0x40ee7e
dec eax
je 0x40ee73
mov ecx, dword [ebp - 0x29c]
add ecx, 0xfffffff0
call fcn.00401b3a
mov byte [ebp - 4], 0
mov esi, dword [ebp - 0x2a8]
call fcn.00421f68
push eax
lea ecx, [ebp - 0x298]
call fcn.00401abe
mov byte [ebp - 4], 6
call fcn.00421f68
push eax
lea ecx, [ebp - 0x2a0]
call fcn.00401abe
lea eax, [ebp - 0x2a0]
push eax
lea eax, [ebp - 0x29c]
push eax
lea eax, [ebp - 0x2a8]
push eax
lea ecx, [ebp - 0x298]
mov edx, ebx
mov byte [ebp - 4], 7
call fcn.0040fad8
test eax, eax
jne 0x40ec56
mov ecx, ebx
call fcn.004297a0
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax + 4]
mov ecx, dword [ebp - 0x2a0]
add ecx, 0xfffffff0
call fcn.00401b3a
jmp 0x40e96f
cmp dword [ebp - 0x2a8], 0
jne 0x40ec6b
push esi
lea ecx, [ebp - 0x298]
call fcn.004017c8
cmp dword [ebp - 0x29c], 0
jne 0x40ec85
push dword [ebp - 0x2ac]
lea ecx, [ebp - 0x2a0]
call fcn.004017c8
mov esi, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x298]
lea eax, [ebx + 0x564]
push eax
push dword [0x4821a8]
push dword [0x4821a4]
push dword [0x4821a0]
push dword [0x48219c]
push dword [0x482194]
push dword [0x482198]
push esi
call fcn.004049e6
add esp, 0x20
mov dword [ebp - 0x2ac], eax
test eax, eax
jge 0x40ece7
mov ecx, ebx
call fcn.004297a0
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax + 4]
lea ecx, [esi - 0x10]
jmp 0x40ec4c
cmp dword [ebp - 0x2a8], 0
je 0x40ecfc
push dword [ebp - 0x298]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp dword [ebp - 0x29c], 0
je 0x40ed0c
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor eax, eax
cmp dword [ebp - 0x2b0], eax
jne 0x40edce
cmp dword [0x4821d4], eax
je 0x40edce
cmp dword [ebp - 0x2ac], eax
jne 0x40edce
mov ecx, ebx
call fcn.004297a0
push dword [ebx + 0x80]
lea eax, [ebp - 0x294]
push dword [ebx + 0x7c]
push str.Files__s_and__s_are_identical.
push eax
call fcn.0040190e
add esp, 0x10
call fcn.0042ac69
push dword [eax + 0x10]
lea ecx, [ebp - 0x29c]
call fcn.00401a7a
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x29c]
push dword [eax - 0xc]
lea ecx, [ebp - 0x29c]
call fcn.00401c37
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x294]
push dword [eax - 0xc]
lea ecx, [ebp - 0x294]
call fcn.00401c37
mov ecx, dword [ebx + 0x20]
push 0x33
push dword [ebp - 0x2b0]
push eax
push ecx
call fcn.0040ae26
add esp, 0x10
sub eax, 6
je 0x40ee4d
dec eax
je 0x40ee28
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x29c]
add ecx, 0xfffffff0
call fcn.00401b3a
mov ecx, ebx
call fcn.004297a0
mov ecx, ebx
call fcn.0040b8f0
push ebx
call fcn.0040dc48
push edi
call fcn.00410c91
cmp dword [0x4821c8], 0
je 0x40edfc
mov ecx, dword [ebp - 0x2a4]
call fcn.00411f8a
lea ecx, [esi - 0x10]
call fcn.00401b3a
mov ecx, dword [ebp - 0x298]
add ecx, 0xfffffff0
call fcn.00401b3a
mov ecx, dword [ebp - 0x294]
add ecx, 0xfffffff0
call fcn.00401b3a
xor eax, eax
inc eax
jmp 0x40eeb9
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax + 4]
push 1
mov esi, ebx
call fcn.0040c8fc
mov ecx, dword [ebp - 0x29c]
add ecx, 0xfffffff0
call fcn.00401b3a
jmp 0x40ec43
mov ecx, dword [ebp - 0x2b4]
xor eax, eax
inc eax
mov dword [ecx], eax
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 4]
mov ecx, dword [ebp - 0x29c]
add ecx, 0xfffffff0
call fcn.00401b3a
jmp 0x40ecdf
push 1
mov esi, ebx
call fcn.0040c8fc
jmp 0x40ee8a
mov eax, dword [ebp - 0x2b4]
mov dword [eax], 1
mov ecx, dword [ebp - 0x29c]
add ecx, 0xfffffff0
call fcn.00401b3a
mov eax, vtable.COleFileStatus.0
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x290], eax
mov ecx, dword [ebp - 0x294]
add ecx, 0xfffffff0
call fcn.00401b3a
xor eax, eax
call fcn.004498a5
ret 4