Function at 0x470be1
Capabilities:
Delete file

Disassembly:
push 0xffffffffffffffff
push 0x4b1e4c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1a4
mov al, byte [esp + 3]
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov dword [esp + 0x1c], esi
mov byte [esp + 0x30], al
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov edi, dword [esp + 0x1c4]
lea ecx, [esp + 0x30]
push edi
push ecx
push str._error.html
mov ecx, esi
mov dword [esp + 0x1c8], ebx
call fcn.00470fc0
test al, al
jne 0x470c29
mov edx, dword [esp + 0x34]
push edx
jmp 0x470f11
mov eax, dword [0x4d5f90]
xor ebp, ebp
mov dword [esp + 0x14], eax
push str.errormsg
mov ecx, edi
mov byte [esp + 0x1c0], 1
call fcn.004991f0
cmp eax, ebx
je 0x470c4f
push eax
jmp 0x470cb5
push str.errorno
mov ecx, edi
call fcn.004991f0
cmp eax, ebx
je 0x470cae
push eax
call fcn.0047b825
mov ebp, eax
add esp, 4
lea eax, [ebp - 1]
cmp eax, 4
ja case.default.0x470c72
jmp dword [eax*4 + 0x470f34]
push str.Unable_to_delete_the_attachment__it_may_be_in_use.
jmp 0x470ca1
push str.Unable_to_add_the_attachment_to_this_email.
jmp 0x470ca1
push str.Unable_to_process_email__the_email_may_be_corrupt.
jmp 0x470ca1
push str.You_have_reached_your_maximum_composeid_limit_for_this_session.
jmp 0x470ca1
push 0x4d83ac
jmp 0x470ca1
push str.Unknown_Error
lea ecx, [esp + 0x18]
call fcn.004a371e
cmp ebp, ebx
jne 0x470cbe
xor ebp, ebp
push str.General_Error
lea ecx, [esp + 0x18]
call fcn.004a371e
mov cl, byte [0x4d83ac]
xor eax, eax
mov byte [esp + 0xac], cl
mov ecx, 0x41
lea edi, [esp + 0xad]
lea edx, [esp + 0xac]
rep stosd dword es:[edi], eax
push edx
mov ecx, esi
call fcn.004997e0
lea ecx, [esp + 0x20]
call fcn.00489cd0
push ebx
push 1
lea eax, [esp + 0xb4]
push 1
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x1cc], 2
call fcn.00489d20
test al, al
jne 0x470d4e
lea ecx, [esp + 0xac]
push ecx
call dword [sym.imp.kernel32.dll_DeleteFileA]
lea ecx, [esp + 0x20]
mov byte [esp + 0x1bc], 1
call fcn.00489d10
lea ecx, [esp + 0x14]
mov byte [esp + 0x1bc], bl
call fcn.004a3625
mov edx, dword [esp + 0x34]
push edx
jmp 0x470f11
mov eax, dword [0x4d5f90]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x1c8]
lea ecx, [esi + 0x44]
mov byte [esp + 0x1bc], 3
mov dword [esp + 0x44], ecx
jmp 0x470d77
mov esi, dword [esp + 0x1c]
lea edx, [esp + 0x40]
lea eax, [esp + 0x48]
push edx
push 0x64
lea ecx, [esp + 0x28]
push eax
lea edx, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x54]
push edx
call fcn.00499870
test al, al
je 0x470e8a
cmp byte [esp + 0x48], bl
je 0x470e95
lea eax, [esp + 0x13]
push ebx
lea ecx, [esp + 0x24]
push eax
lea edx, [esp + 0x50]
push ecx
push edx
push edi
mov ecx, esi
mov byte [esp + 0x27], bl
call fcn.00471310
test al, al
je 0x470e8a
cmp byte [esp + 0x13], bl
jne 0x470d77
mov esi, str.ERRORNO
lea eax, [esp + 0x48]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x470dff
cmp cl, bl
je 0x470dfb
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x470dff
add eax, 2
add esi, 2
cmp cl, bl
jne 0x470ddb
xor eax, eax
jmp 0x470e04
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x470e36
push ebp
lea eax, [esp + 0x1c]
push 0x4cb160
push eax
call fcn.004a0e91
mov eax, dword [esp + 0x24]
add esp, 0xc
mov ecx, dword [eax - 8]
push ecx
push eax
lea ecx, [esp + 0x28]
call fcn.00489f00
test al, al
je 0x470e8a
jmp 0x470d73
mov esi, str.ERRORDETAILS
lea eax, [esp + 0x48]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x470e63
cmp cl, bl
je 0x470e5f
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x470e63
add eax, 2
add esi, 2
cmp cl, bl
jne 0x470e3f
xor eax, eax
jmp 0x470e68
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x470d73
mov eax, dword [esp + 0x14]
mov ecx, dword [eax - 8]
push ecx
push eax
lea ecx, [esp + 0x28]
call fcn.00489f00
test al, al
jne 0x470d73
lea ecx, [esp + 0x20]
call fcn.00489e00
jmp 0x470ecc
lea ecx, [esp + 0x20]
call fcn.00489e00
mov esi, dword [esp + 0x1c4]
push str.html
push 1
lea edx, [esp + 0xb4]
push 0xc8
push edx
mov ecx, esi
call fcn.00495a70
test al, al
jne 0x470eda
push ebx
mov ecx, esi
call fcn.00497450
lea eax, [esp + 0xac]
push eax
call dword [sym.imp.kernel32.dll_DeleteFileA]
lea ecx, [esp + 0x18]
mov byte [esp + 0x1bc], 2
call fcn.004a3625
lea ecx, [esp + 0x20]
mov byte [esp + 0x1bc], 1
call fcn.00489d10
lea ecx, [esp + 0x14]
mov byte [esp + 0x1bc], bl
call fcn.004a3625
mov ecx, dword [esp + 0x34]
push ecx
call fcn.004a2a3d
mov ecx, dword [esp + 0x1b8]
add esp, 4
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b0
ret 8