Function at 0x46e347
Capabilities:
Delete file

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x4b1cad
push eax
mov eax, 0x3bd0
mov dword fs:[0], esp
call fcn.0047aff0
mov dl, byte [0x4d83ac]
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0xfd9]
mov byte [esp + 0xfd8], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0xbd9]
mov byte [esp + 0xbd8], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x7d9]
mov byte [esp + 0x7d8], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0xb5]
mov byte [esp + 0xb4], dl
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x3bf0]
xor ebx, ebx
push 0x4d3e14
mov ecx, edi
mov dword [esp + 0x2c], esi
mov byte [esp + 0x1b], bl
xor ebp, ebp
call fcn.004991f0
cmp eax, ebx
je 0x46e3f3
push eax
call fcn.0047b825
mov ecx, dword [esp + 0x3bf8]
add esp, 4
push eax
call fcn.00479e30
mov ebp, eax
cmp ebp, ebx
je 0x46eeb3
mov al, byte [esp + 0x15]
mov dword [esp + 0x30], ebx
mov byte [esp + 0x2c], al
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
lea ecx, [esp + 0x2c]
push edi
push ecx
push str._compose.html
mov ecx, esi
mov dword [esp + 0x3bf4], ebx
call fcn.00470fc0
test al, al
jne 0x46e42e
mov edx, dword [esp + 0x30]
push edx
jmp 0x46eeab
mov al, byte [0x4d83ac]
mov ecx, 0x41
mov byte [esp + 0x1b8], al
xor eax, eax
lea edi, [esp + 0x1b9]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x1b8]
push ecx
mov ecx, esi
call fcn.004997e0
lea ecx, [esp + 0x18]
call fcn.00489cd0
push ebx
push 1
lea edx, [esp + 0x1c0]
push 1
push edx
lea ecx, [esp + 0x28]
mov byte [esp + 0x3bf8], 1
call fcn.00489d20
test al, al
jne 0x46e497
lea eax, [esp + 0x1b8]
push eax
call dword [sym.imp.kernel32.dll_DeleteFileA]
jmp 0x46ee96
mov edx, dword [0x4d5f90]
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x15], bl
mov dword [esp + 0x10], edx
cmp ebp, ebx
mov byte [esp + 0x3be8], 2
je 0x46e5be
lea ecx, [esp + 0x2c0]
call fcn.004853d0
push ebx
push ebx
push ebx
mov ecx, ebp
mov byte [esp + 0x3bf4], 3
call fcn.00466920
push eax
lea ecx, [esp + 0x2d0]
call fcn.00485470
test al, al
je 0x46e5aa
push ebx
lea eax, [esp + 0xbdc]
push 0x400
push eax
lea ecx, [esp + 0x2cc]
call fcn.004855b0
test al, al
je 0x46e59e
push ebx
lea ecx, [esp + 0x7dc]
push 0x400
push ecx
lea ecx, [esp + 0x2cc]
call fcn.004855b0
test al, al
je 0x46e59e
push ebx
lea edx, [esp + 0xfdc]
push 0x400
push edx
lea ecx, [esp + 0x2cc]
call fcn.004855b0
test al, al
je 0x46e59e
push ebx
lea eax, [esp + 0xb8]
push 0x101
push eax
lea ecx, [esp + 0x2cc]
call fcn.004855b0
test al, al
je 0x46e59e
lea ecx, [esp + 0xb4]
push 0x4c8d9c
push ecx
call fcn.0047f7d0
add esp, 8
lea edx, [esp + 0xb4]
test eax, eax
push ebx
push 0x101
push edx
lea ecx, [esp + 0x2cc]
sete byte [esp + 0x23]
call fcn.004855b0
lea ecx, [esp + 0x2c0]
call fcn.004854c0
lea ecx, [esp + 0x2c0]
mov byte [esp + 0x3be8], 2
call fcn.00485420
mov esi, dword [esp + 0x28]
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x54]
push 0x64
lea edx, [esp + 0x20]
push ecx
lea eax, [esp + 0x38]
push edx
push eax
lea ecx, [esi + 0x44]
call fcn.00499870
test al, al
je 0x46ee35
cmp byte [esp + 0x50], bl
je 0x46ee40
mov edi, dword [esp + 0x3bf4]
lea ecx, [esp + 0x16]
push ebx
lea edx, [esp + 0x1c]
push ecx
lea eax, [esp + 0x58]
push edx
push eax
push edi
mov ecx, esi
mov byte [esp + 0x2a], bl
call fcn.00471310
test al, al
je 0x46ee35
cmp byte [esp + 0x16], bl
jne 0x46e5be
mov esi, str.PROCESSSENDMSGLINK
lea eax, [esp + 0x50]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x46e650
cmp cl, bl
je 0x46e64c
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x46e650
add eax, 2
add esi, 2
cmp cl, bl
jne 0x46e62c
xor eax, eax
jmp 0x46e655
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x46e6ba
cmp ebp, ebx
jne 0x46e679
mov ecx, edi
call fcn.00479da0
push eax
lea eax, [esp + 0x14]
push str._processsendmsg_id_s
push eax
call fcn.004a0e91
add esp, 0xc
jmp 0x46e69b
mov ecx, ebp
call fcn.00466520
push eax
mov ecx, edi
call fcn.00479da0
push eax
lea ecx, [esp + 0x18]
push str._processsendmsg_id_scomposeid_d
push ecx
call fcn.004a0e91
add esp, 0x10
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
push ecx
push eax
lea ecx, [esp + 0x20]
call fcn.00489f00
test al, al
je 0x46ee35
jmp 0x46e5be
mov esi, str.ATTACHMENTS
lea eax, [esp + 0x50]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x46e6e7
cmp cl, bl
je 0x46e6e3
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x46e6e7
add eax, 2
add esi, 2
cmp cl, bl
jne 0x46e6c3
xor eax, eax
jmp 0x46e6ec
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x46e795
cmp ebp, ebx
jne 0x46e715
push 4
push str.None
lea ecx, [esp + 0x20]
call fcn.00489f00
test al, al
je 0x46ee35
jmp 0x46e5be
mov ecx, ebp
call fcn.00466900
test eax, eax
je 0x46e6f8
mov ecx, ebp
xor esi, esi
call fcn.00466900
test eax, eax
jle 0x46e5be
mov ecx, ebp
call fcn.00466900
dec eax
push esi
cmp esi, eax
mov ecx, ebp
jl 0x46e752
call fcn.004668c0
push eax
lea eax, [esp + 0x14]
push 0x4d4840
push eax
jmp 0x46e762
call fcn.004668c0
push eax
lea ecx, [esp + 0x14]
push str._s_
push ecx
call fcn.004a0e91
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [eax - 8]
push ecx
push eax
lea ecx, [esp + 0x20]
call fcn.00489f00
test al, al
je 0x46ee35
mov ecx, ebp
inc esi
call fcn.00466900
cmp esi, eax
jl 0x46e731
jmp 0x46e5be
mov esi, 0x4d4220
lea eax, [esp + 0x50]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x46e7c2
cmp cl, bl
je 0x46e7be
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x46e7c2
add eax, 2
add esi, 2
cmp cl, bl
jne 0x46e79e
xor eax, eax
jmp 0x46e7c7
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x46e7e9
lea edi, [esp + 0xbd8]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0xbd8]
push ecx
jmp 0x46e6a3
mov esi, 0x4d4834
lea eax, [esp + 0x50]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x46e816
cmp cl, bl
je 0x46e812
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x46e816
add eax, 2
add esi, 2
cmp cl, bl
jne 0x46e7f2
xor eax, eax
jmp 0x46e81b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x46e83d
lea edi, [esp + 0x7d8]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x7d8]
push ecx
jmp 0x46e6a3
mov esi, str.SUBJECT
lea eax, [esp + 0x50]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x46e86a
cmp cl, bl
je 0x46e866
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x46e86a
add eax, 2
add esi, 2
cmp cl, bl
jne 0x46e846
xor eax, eax
jmp 0x46e86f
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x46e891
lea edi, [esp + 0xfd8]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0xfd8]
push ecx
jmp 0x46e6a3
mov esi, str.USECOPYTO
lea eax, [esp + 0x50]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x46e8be
cmp cl, bl
je 0x46e8ba
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x46e8be
add eax, 2
add esi, 2
cmp cl, bl
jne 0x46e89a
xor eax, eax
jmp 0x46e8c3
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x46e8f3
cmp byte [esp + 0x17], bl
je 0x46e8e0
push str._checked
lea ecx, [esp + 0x14]
call fcn.004a371e
jmp 0x46e69b
push 0x4d83ac
lea ecx, [esp + 0x14]
call fcn.004a371e
jmp 0x46e69b
mov esi, str.FOLDEROPTIONLIST
lea eax, [esp + 0x50]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x46e920
cmp cl, bl
je 0x46e91c
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x46e920
add eax, 2
add esi, 2
cmp cl, bl
jne 0x46e8fc
xor eax, eax
jmp 0x46e925
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x46ebcc
push ebx
lea ecx, [esp + 0x2c4]
call fcn.00413ea0
lea eax, [esp + 0x2c0]
push ebx
push eax
mov ecx, edi
mov byte [esp + 0x3bf0], 4
call fcn.0044bcd0
mov ecx, dword [esp + 0x30]
push eax
mov ecx, dword [ecx + 0x4c]
call fcn.00408c90
test al, al
jne 0x46e97c
lea ecx, [esp + 0x2c0]
mov byte [esp + 0x3be8], 2
call fcn.00414790
jmp 0x46e5be
lea ecx, [esp + 0x2c0]
call fcn.004164f0
cmp byte [esp + 0xb4], bl
je 0x46ea16
lea edx, [esp + 0xb4]
lea ecx, [esp + 0x2c0]
push edx
call fcn.00415640
test al, al
jne 0x46e9c6
lea eax, [esp + 0xb4]
push str.inbox
push eax
call fcn.0047f7d0
add esp, 8
test eax, eax
jne 0x46ea16
lea ecx, [esp + 0xb4]
push ecx
lea ecx, [esp + 0x2c4]
call fcn.00415db0
lea edx, [esp + 0xb4]
lea eax, [esp + 0xb4]
push edx
push eax
lea ecx, [esp + 0x18]
push str._option_value__s___s__option__r_n
push ecx
call fcn.004a0e91
mov eax, dword [esp + 0x20]
add esp, 0x10
mov ecx, dword [eax - 8]
push ecx
push eax
lea ecx, [esp + 0x20]
call fcn.00489f00
test al, al
je 0x46ede6
push str.Sent
lea ecx, [esp + 0x2c4]
call fcn.00415640
test al, al
je 0x46ea64
push str.Sent
lea ecx, [esp + 0x2c4]
call fcn.00415db0
push str._option_value_Sent__Sent__option__r_n
lea ecx, [esp + 0x14]
call fcn.004a371e
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
push ecx
push eax
lea ecx, [esp + 0x20]
call fcn.00489f00
test al, al
je 0x46ede6
push str.Sent_Items
lea ecx, [esp + 0x2c4]
call fcn.00415640
test al, al
je 0x46eab2
push str.Sent_Items
lea ecx, [esp + 0x2c4]
call fcn.00415db0
push str._option_value_Sent_Items__Sent_Items__option__r_n
lea ecx, [esp + 0x14]
call fcn.004a371e
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
push ecx
push eax
lea ecx, [esp + 0x20]
call fcn.00489f00
test al, al
je 0x46ede6
push str.Sent_Messages
lea ecx, [esp + 0x2c4]
call fcn.00415640
test al, al
je 0x46eb00
push str.Sent_Messages
lea ecx, [esp + 0x2c4]
call fcn.00415db0
push str._option_value_Sent_Messages__Sent_Messages__option__r_n
lea ecx, [esp + 0x14]
call fcn.004a371e
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
push ecx
push eax
lea ecx, [esp + 0x20]
call fcn.00489f00
test al, al
je 0x46ede6
lea ecx, [esp + 0x2c0]
xor esi, esi
call fcn.00415460
test eax, eax
jle 0x46eb7c
push esi
lea ecx, [esp + 0x2c4]
call fcn.00415480
mov ecx, eax
call fcn.0044bcd0
push eax
push esi
lea ecx, [esp + 0x2c8]
call fcn.00415480
mov ecx, eax
call fcn.0044bcd0
push eax
lea edx, [esp + 0x18]
push str._option_value__s___s__option__r_n
push edx
call fcn.004a0e91
mov eax, dword [esp + 0x20]
add esp, 0x10
mov ecx, dword [eax - 8]
push ecx
push eax
lea ecx, [esp + 0x20]
call fcn.00489f00
test al, al
je 0x46eb77
lea ecx, [esp + 0x2c0]
inc esi
call fcn.00415460
cmp esi, eax
jl 0x46eb12
jmp 0x46eb7c
mov byte [esp + 0x15], 1
lea eax, [esp + 0xb4]
push str.inbox
push eax
call fcn.0047f7d0
add esp, 8
test eax, eax
je 0x46ebbd
push str._option_value_Inbox__Inbox__option__r_n
lea ecx, [esp + 0x14]
call fcn.004a371e
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
push ecx
push eax
lea ecx, [esp + 0x20]
call fcn.00489f00
test al, al
je 0x46ede6
cmp byte [esp + 0x15], bl
jne 0x46ede6
jmp 0x46e963
cmp ebp, ebx
mov esi, str.BODY
lea eax, [esp + 0x50]
jne 0x46ecba
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x46ec01
cmp cl, bl
je 0x46ebfd
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x46ec01
add eax, 2
add esi, 2
cmp cl, bl
jne 0x46ebdd
xor eax, eax
jmp 0x46ec06
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x46e5be
lea ecx, [esp + 0x1bd8]
call fcn.00413b20
lea eax, [esp + 0x1bd8]
mov ecx, edi
push eax
mov byte [esp + 0x3bec], 5
call fcn.0044bcd0
mov ecx, dword [esp + 0x2c]
push eax
mov ecx, dword [ecx + 0x4c]
call fcn.0040f640
test al, al
je 0x46eca1
lea ecx, [esp + 0x1bd8]
call fcn.00413b90
test al, al
je 0x46eca1
push 2
push 0x4cb968
lea ecx, [esp + 0x20]
call fcn.00489f00
test al, al
je 0x46ee05
lea ecx, [esp + 0x1bd8]
call fcn.0044bcd0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x1bdc]
call fcn.0044bcd0
push eax
lea ecx, [esp + 0x20]
call fcn.00489f00
test al, al
je 0x46ee05
lea ecx, [esp + 0x1bd8]
mov byte [esp + 0x3be8], 2
call fcn.00413b60
jmp 0x46e5be
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x46ecde
cmp cl, bl
je 0x46ecda
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x46ecde
add eax, 2
add esi, 2
cmp cl, bl
jne 0x46ecba
xor eax, eax
jmp 0x46ece3
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x46e5be
lea ecx, [esp + 0x3c]
call fcn.00489cd0
push ebx
push ebx
push ebx
mov ecx, ebp
mov byte [esp + 0x3bf4], 6
call fcn.00466920
push eax
lea ecx, [esp + 0x4c]
call fcn.00489d20
test al, al
je 0x46edd0
lea edi, [esp + 0xb4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x7d8]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0xbd8]
add edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0xfd8]
add edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [edx + ecx + 0xb]
lea ecx, [esp + 0x3c]
push eax
call fcn.0048a280
test al, al
je 0x46edd0
push 2
push 0x4cb968
lea ecx, [esp + 0x20]
call fcn.00489f00
test al, al
je 0x46ee24
lea ecx, [esp + 0x3c]
call fcn.00489f70
test al, al
jne 0x46edd0
lea ecx, [esp + 0x13d8]
push 0x800
push ecx
lea ecx, [esp + 0x44]
call fcn.00489e20
cmp eax, ebx
jle 0x46edc3
lea edx, [esp + 0x13d8]
push eax
push edx
lea ecx, [esp + 0x20]
call fcn.00489f00
test al, al
je 0x46ee24
lea ecx, [esp + 0x3c]
call fcn.00489f70
test al, al
je 0x46ed93
lea ecx, [esp + 0x3c]
mov byte [esp + 0x3be8], 2
call fcn.00489d10
jmp 0x46e5be
lea ecx, [esp + 0x2c0]
mov byte [esp + 0x3be8], 2
call fcn.00414790
lea ecx, [esp + 0x18]
call fcn.00489e00
jmp 0x46ee77
lea ecx, [esp + 0x1bd8]
mov byte [esp + 0x3be8], 2
call fcn.00413b60
lea ecx, [esp + 0x18]
call fcn.00489e00
jmp 0x46ee77
lea ecx, [esp + 0x3c]
mov byte [esp + 0x3be8], 2
call fcn.00489d10
lea ecx, [esp + 0x18]
call fcn.00489e00
jmp 0x46ee77
lea ecx, [esp + 0x18]
call fcn.00489e00
mov esi, dword [esp + 0x3bf0]
push str.html
push 1
lea edx, [esp + 0x1c0]
push 0xc8
push edx
mov ecx, esi
call fcn.00495a70
test al, al
jne 0x46ee85
push ebx
mov ecx, esi
call fcn.00497450
lea eax, [esp + 0x1b8]
push eax
call dword [sym.imp.kernel32.dll_DeleteFileA]
lea ecx, [esp + 0x10]
mov byte [esp + 0x3be8], 1
call fcn.004a3625
lea ecx, [esp + 0x18]
mov byte [esp + 0x3be8], bl
call fcn.00489d10
mov ecx, dword [esp + 0x30]
push ecx
call fcn.004a2a3d
add esp, 4
mov ecx, dword [esp + 0x3be0]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x3bdc
ret 8