Function at 0x100529c9
Capabilities:
Delete file

Disassembly:
push 0x98
mov eax, 0x101d45a7
call fcn.10096f31
mov edi, ecx
mov dword [ebp - 0x14], edi
and dword [ebp - 0x10], 0
push str.DecryptOrEncrypteMailAttach_____
mov esi, str.OnItemSend
push esi
push 0xffffffffffffffff
mov ebx, 0x10265fbc
push ebx
call fcn.10024fa4
add esp, 0x10
lea ecx, [ebp - 0x74]
call fcn.100d1fb0
and dword [ebp - 4], 0
lea ecx, [ebp - 0x64]
call fcn.100d1fb0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x54]
call fcn.100d1fb0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x3c]
call fcn.100d9ad0
mov byte [ebp - 4], 3
push dword [ebp + 0x20]
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x74]
push eax
push dword [ebp + 0x1c]
mov ecx, edi
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.1005177d
test eax, eax
jne 0x10052aa7
push str.No_Attach_DecryptOrEncrypt_
push esi
push 0xffffffffffffffff
push ebx
call fcn.10024fa4
add esp, 0x10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x3c]
call fcn.100d9ae0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x54]
call fcn.100d1fc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x64]
call fcn.100d1fc0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74]
call fcn.100d1fc0
xor eax, eax
call fcn.10097009
ret 0x1c
cmp dword [ebp + 0x18], 0
je 0x10052d10
call fcn.1003dea0
cmp eax, 1
je 0x10052c69
mov eax, dword [0x1020db10]
and dword [ebp + 0x14], 0
mov dword [ebp + 0x20], eax
mov byte [ebp - 4], 4
and dword [ebp + 0x1c], 0
push 1
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x1c]
push eax
push dword [ebp + 8]
mov ecx, edi
call fcn.100451a4
test eax, eax
je 0x10052cb8
cmp dword [ebp + 0x1c], 0
je 0x10052cb8
lea ecx, [ebp - 0x28]
call fcn.10060ff3
mov byte [ebp - 4], 5
push dword [ebp + 0x1c]
lea ecx, [ebp - 0x28]
call fcn.1006105d
call fcn.1003dea0
cmp eax, 2
jne 0x10052b6d
cmp dword [ebp - 0x18], 1
jne 0x10052b29
mov eax, dword [ebp - 0x24]
jmp 0x10052b32
cmp dword [ebp - 0x18], 2
jne 0x10052b3b
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xd8]
cmp dword [ebp - 0x18], 1
jne 0x10052b52
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1e8]
jmp 0x10052bfb
cmp dword [ebp - 0x18], 2
jne 0x10052bfb
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x168]
jmp 0x10052bfb
call fcn.1003dea0
cmp eax, 3
je 0x10052b81
call fcn.1003dea0
cmp eax, 4
jne 0x10052bfb
and dword [ebp + 0x18], 0
mov byte [ebp - 4], 7
mov eax, dword [edi + 0x150]
mov ecx, dword [eax]
lea edx, [ebp + 0x18]
push edx
push 5
push eax
call dword [ecx + 0x40]
xor ecx, ecx
cmp dword [ebp + 0x18], ecx
je 0x10052bef
cmp dword [ebp - 0x18], 1
jne 0x10052bad
mov eax, dword [ebp - 0x24]
jmp 0x10052bb6
cmp dword [ebp - 0x18], 2
jne 0x10052bc0
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0xb8]
lea eax, [ebp - 0x28]
push eax
mov ecx, edi
call fcn.10043165
cmp dword [ebp - 0x18], 1
jne 0x10052bd6
mov eax, dword [ebp - 0x24]
jmp 0x10052bdf
cmp dword [ebp - 0x18], 2
jne 0x10052bef
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
lea edx, [ebp + 0x10]
push edx
push dword [ebp + 0x18]
push eax
call dword [ecx + 0xd0]
mov byte [ebp - 4], 5
lea ecx, [ebp + 0x18]
call fcn.1003fdef
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 1
jne 0x10052c12
mov eax, dword [eax + 4]
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x10c]
cmp dword [ebp + 0x14], 0
je 0x10052c51
push 0xffffffffffffffff
lea ecx, [ebp - 0x44]
call fcn.1001159b
mov byte [ebp - 4], 8
push dword [ebp + 0x20]
mov ecx, edi
call fcn.1003e7ba
push dword [ebp + 0x20]
push eax
push str.DecryptOrEncrypteMailAttach_DelFile___d___s_
push esi
push 0xffffffffffffffff
push ebx
call fcn.10024fa4
add esp, 0x18
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x44]
call fcn.100115c7
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x28]
call fcn.10060f80
mov byte [ebp - 4], 3
lea ecx, [ebp + 0x20]
call fcn.100cc680
lea eax, [edi + 0x698]
push eax
push 1
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x64]
push eax
mov ecx, edi
call fcn.1004be50
lea eax, [edi + 0x6a8]
cmp dword [eax], 0
jne 0x1005310a
mov dword [eax], 1
push 0xffff
lea eax, [edi + 0x698]
push eax
push dword [ebp + 8]
mov ecx, edi
call fcn.1004e0bc
mov dword [ebp - 0x10], eax
jmp 0x1005310a
push 0
push str.DecryptOrEncrypteMailAttach_pIDispPatchOrg_Err__08x_
push esi
push 0xffffffffffffffff
push ebx
call fcn.10024fa4
add esp, 0x14
mov byte [ebp - 4], 3
lea ecx, [ebp + 0x20]
call fcn.100cc680
xor esi, esi
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x3c]
call fcn.100d9ae0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x54]
call fcn.100d1fc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x64]
call fcn.100d1fc0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74]
call fcn.100d1fc0
mov eax, esi
jmp 0x10052a9f
lea ecx, [ebp - 0x24]
call fcn.100d1fb0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x94]
call fcn.100d1fb0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x84]
call fcn.100d9ad0
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x38], 0
jle 0x10052fd7
call fcn.1003e12c
test eax, eax
je 0x10052fd7
mov esi, dword [ebp + 8]
cmp dword [esi + 0x10], 1
mov dword [ebp - 0x2c], 2
jne 0x10052d76
mov eax, dword [esi + 4]
mov ecx, dword [eax]
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x1f4]
mov dword [ebp + 0x18], eax
jmp 0x10052d7d
mov dword [ebp + 0x18], 0x80004005
cmp dword [ebp + 0x18], 0
jl 0x10052d8d
cmp dword [ebp - 0x2c], 3
je 0x10052fd7
and dword [ebp + 0x20], 0
mov byte [ebp - 4], 0xd
mov eax, dword [esi + 0x10]
cmp eax, 1
jne 0x10052da2
mov esi, dword [esi + 4]
jmp 0x10052daa
cmp eax, 2
jne 0x10052db7
mov esi, dword [esi + 8]
mov eax, dword [esi]
lea ecx, [ebp + 0x20]
push ecx
push esi
call dword [eax + 0x30]
mov dword [ebp + 0x18], eax
push dword [ebp + 0x20]
push dword [ebp + 0x18]
push str.DecryptOrEncrypteMailAttach_get_Attachments__lx___p_
push str.OnItemAdd
push 0xffffffffffffffff
push ebx
call fcn.10024fa4
add esp, 0x18
cmp dword [ebp + 0x18], 0
jl 0x10052fcb
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x10052fcb
and dword [ebp - 0x10], 0
mov ecx, dword [eax]
lea edx, [ebp - 0x10]
push edx
push eax
call dword [ecx + 0x2c]
test eax, eax
jl 0x10052fa9
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x38]
jle 0x10052fa9
xor ecx, ecx
inc ecx
cmp eax, ecx
mov dword [ebp + 0x1c], ecx
jl 0x10052fa9
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
xor eax, eax
cmp dword [ebp - 0x38], eax
jle 0x10052e36
mov edx, dword [ebp - 0x3c]
cmp ecx, dword [edx + eax*4]
je 0x10052f62
inc eax
cmp eax, dword [ebp - 0x38]
jl 0x10052e24
and dword [ebp + 0x18], 0
mov byte [ebp - 4], 0xf
push 3
pop eax
mov word [ebp - 0xa4], ax
xor eax, eax
inc eax
mov word [ebp - 0xa2], ax
xor eax, eax
lea edi, [ebp - 0xa0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp + 0x20]
lea edx, [ebp + 0x18]
push edx
mov dword [ebp - 0x9c], ecx
mov ecx, dword [eax]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0xa4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x30]
test eax, eax
jl 0x10052f95
and dword [ebp + 0xc], 0
mov byte [ebp - 4], 0x10
lea eax, [ebp + 0xc]
push eax
push ecx
lea eax, [ebp + 0x18]
mov ecx, esp
mov dword [ebp - 0x40], esp
push eax
call fcn.100439ff
mov byte [ebp - 4], 0x11
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x14]
call fcn.1004ba75
test eax, eax
jne 0x10052f4d
mov eax, dword [0x1020db10]
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 0x12
mov eax, dword [0x1020db10]
mov dword [ebp + 0x14], eax
mov byte [ebp - 4], 0x13
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x10]
push eax
push dword [ebp + 0x1c]
lea eax, [ebp + 0x18]
push ecx
mov ecx, esp
mov dword [ebp - 0x40], esp
push eax
call fcn.100439ff
mov byte [ebp - 4], 0x14
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x14]
call fcn.1004326f
test eax, eax
je 0x10052f74
lea eax, [ebp + 0x10]
push eax
push dword [ebp - 0x20]
lea ecx, [ebp - 0x24]
call fcn.100d25c0
lea eax, [ebp + 0x14]
push eax
push dword [ebp - 0x90]
lea ecx, [ebp - 0x94]
call fcn.100d25c0
push dword [ebp + 0x1c]
lea ecx, [ebp - 0x84]
push dword [ebp - 0x80]
call fcn.100d9d10
mov byte [ebp - 4], 0x12
lea ecx, [ebp + 0x14]
call fcn.100cc680
mov byte [ebp - 4], 0x10
lea ecx, [ebp + 0x10]
call fcn.100cc680
mov byte [ebp - 4], 0xf
push dword [ebp + 0xc]
call ebx
mov byte [ebp - 4], 0xd
lea ecx, [ebp + 0x18]
call fcn.1003fe39
mov ecx, dword [ebp + 0x1c]
inc ecx
cmp ecx, dword [ebp - 0x10]
mov dword [ebp + 0x1c], ecx
jle 0x10052e1d
jmp 0x10052fa1
mov byte [ebp - 4], 0x12
lea ecx, [ebp + 0x14]
call fcn.100cc680
mov byte [ebp - 4], 0x10
lea ecx, [ebp + 0x10]
call fcn.100cc680
mov byte [ebp - 4], 0xf
push dword [ebp + 0xc]
call ebx
mov byte [ebp - 4], 0xd
lea ecx, [ebp + 0x18]
call fcn.1003fe39
mov edi, dword [ebp - 0x14]
mov ebx, 0x10265fbc
lea eax, [edi + 0x6ac]
push eax
push 4
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x24]
push eax
mov ecx, edi
call fcn.1004be50
mov byte [ebp - 4], 0xb
lea ecx, [ebp + 0x20]
call fcn.1003fe14
lea esi, [edi + 0x6ac]
push esi
push 1
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x64]
push eax
mov ecx, edi
call fcn.1004be50
push 0xffff
push esi
push dword [ebp + 8]
mov ecx, edi
call fcn.1004e0bc
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x10], eax
jmp 0x10053032
mov eax, dword [ebp - 0x74]
push dword [eax + edi*4]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebp - 0x74]
push dword [eax + edi*4]
push str.delete_temp_file_1__s_
push str.OnItemSend
push 0xffffffffffffffff
push ebx
call fcn.10024fa4
add esp, 0x14
dec edi
jns 0x1005300b
mov ecx, esi
call fcn.1003f5b6
mov ebx, eax
dec ebx
js 0x100530cf
mov edi, 0x414
push ebx
mov ecx, esi
call fcn.10043da3
add eax, 4
push eax
call fcn.10097626
pop ecx
test eax, eax
jbe 0x10053072
push ebx
mov ecx, esi
call fcn.10043da3
add eax, 4
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push ebx
mov ecx, esi
call fcn.10043da3
add eax, edi
push eax
call fcn.10097626
pop ecx
test eax, eax
jbe 0x10053098
push ebx
mov ecx, esi
call fcn.10043da3
add eax, edi
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push ebx
mov ecx, esi
call fcn.10043da3
add eax, edi
push eax
push ebx
mov ecx, esi
call fcn.10043da3
add eax, 4
push eax
push str.delete_temp_file_2__s___s_
push str.OnItemSend
push 0xffffffffffffffff
push 0x10265fbc
call fcn.10024fa4
add esp, 0x18
dec ebx
jns 0x1005304a
mov ecx, esi
call fcn.1004918b
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x84]
call fcn.100d9ae0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x94]
call fcn.100d1fc0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x24]
call fcn.100d1fc0
mov ebx, 0x10265fbc
mov esi, str.OnItemSend
push dword [ebp - 0x10]
push str.RebuildMailAttach___d_
push esi
push 0xffffffffffffffff
push ebx
call fcn.10024fa4
mov esi, dword [ebp - 0x10]
add esp, 0x14
jmp 0x10052cd9