Function at 0x10012980
Capabilities:
Get file attributes

Disassembly:
push 0xffffffffffffffff
push 0x10258f98
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
push ebx
push ebp
push esi
mov esi, ecx
xor ebp, ebp
push edi
mov dword [esi + 4], ebp
mov eax, dword [0x1026c87c]
mov dword [esp + 0x10], eax
mov edi, dword [esp + 0x40]
mov dword [esp + 0x38], ebp
cmp dword [edi + 0x20], ebp
je 0x100129c4
cmp dword [edi + 0x1c], ebp
je 0x100129c4
lea ecx, [edi + 0x28]
push ecx
jmp 0x100129c8
lea edx, [edi + 0x24]
push edx
lea ecx, [esp + 0x14]
call fcn.1008ee20
mov eax, dword [esp + 0x10]
cmp dword [eax - 8], ebp
jne 0x10012a13
cmp dword [0x1030aa70], ebp
je 0x100129fb
push str.MailSender::SendMail:_mail_file_name_is_empty__r_n
push str.MailSender
push 4
push 0x1030a1dc
call fcn.100a4680
add esp, 0x10
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0xffffffff
call fcn.1008ec90
xor eax, eax
jmp 0x10012e2b
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
or ebx, 0xffffffff
cmp eax, ebx
jne 0x10012a4b
cmp dword [0x1030aa70], ebp
je 0x10012af6
push str.MailSender::SendMail:_mail_file_is_not_exist__r_n
push str.MailSender
push 4
push 0x1030a1dc
call fcn.100a4680
add esp, 0x10
jmp 0x10012af6
mov eax, dword [edi + 0x3c]
push str.AUTH_LOGIN
push eax
call fcn.10077619
add esp, 8
cmp eax, ebp
je 0x10012a8b
cmp dword [0x1030aa70], ebp
je 0x10012af6
mov ecx, dword [edi + 0x3c]
push ecx
push str.MailSender::SendMail:_Auth_type__s__can_not_handle__r_n
push str.MailSender
push 4
push 0x1030a1dc
call fcn.100a4680
add esp, 0x14
jmp 0x10012af6
lea ecx, [esp + 0x20]
call fcn.100945b0
mov eax, dword [edi + 4]
lea edx, [esp + 0x20]
push edx
push eax
mov ecx, esi
mov byte [esp + 0x40], 1
call fcn.10013630
test eax, eax
jne 0x10012ad4
cmp dword [0x1030aa70], ebp
je 0x10012ae8
mov eax, dword [edi + 4]
push eax
push str.MailSender::SendMail:_Parse_Recipient__s__failed__r_n
push str.MailSender
push 4
push 0x1030a1dc
call fcn.100a4680
add esp, 0x14
jmp 0x10012ae8
mov cx, word [edi + 0x30]
mov eax, dword [edi + 0x2c]
push ecx
push eax
mov ecx, esi
call fcn.10012e40
test eax, eax
jne 0x10012b0a
lea ecx, [esp + 0x20]
mov byte [esp + 0x38], 0
call fcn.100945c0
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], ebx
call fcn.1008ec90
xor eax, eax
jmp 0x10012e2b
push 0xdc
mov ecx, esi
mov dword [esp + 0x18], ebp
call fcn.10013240
test eax, eax
je 0x10012e01
mov edx, dword [0x1026c878]
mov dword [esp + 0x40], edx
mov eax, dword [edi + 0x40]
lea ecx, [esp + 0x18]
push eax
mov byte [esp + 0x3c], 2
call fcn.100891b0
mov eax, dword [eax]
lea ecx, [esp + 0x40]
push eax
push str.EHLO__s_r_n
push ecx
mov byte [esp + 0x44], 3
call fcn.1008c710
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], 2
call fcn.10089910
mov eax, dword [esp + 0x40]
mov ecx, dword [eax - 8]
push ecx
push eax
mov ecx, esi
call fcn.10013040
test eax, eax
je 0x10012df3
push 0xfa
mov ecx, esi
mov dword [esi + 4], 1
call fcn.10013240
test eax, eax
je 0x10012df3
mov dword [esi + 4], ebp
mov eax, dword [edi + 0x38]
push eax
lea ecx, [esp + 0x20]
call fcn.100891b0
mov ebx, dword [eax]
mov eax, dword [edi + 0x34]
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x3c], 4
call fcn.100891b0
mov eax, dword [eax]
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x40], 5
call fcn.10013780
test eax, eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], 4
sete bl
call fcn.10089910
lea ecx, [esp + 0x1c]
mov byte [esp + 0x38], 2
call fcn.10089910
test bl, bl
jne 0x10012dd2
mov edi, dword [edi]
lea ecx, [esp + 0x1c]
push edi
call fcn.100891b0
mov edx, dword [eax]
lea eax, [esp + 0x40]
push edx
push str.MAIL_FROM:___s__r_n
push eax
mov byte [esp + 0x44], 6
call fcn.1008c710
add esp, 0xc
lea ecx, [esp + 0x1c]
mov byte [esp + 0x38], 2
call fcn.10089910
mov eax, dword [esp + 0x40]
mov ecx, dword [eax - 8]
push ecx
push eax
mov ecx, esi
call fcn.10013040
test eax, eax
je 0x10012df3
push 0xfa
mov ecx, esi
call fcn.10013240
test eax, eax
je 0x10012df3
mov eax, dword [esp + 0x24]
xor edi, edi
cmp eax, ebp
jle 0x10012d1c
mov ebp, 0xfb
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + edi*4]
lea ecx, [esp + 0x1c]
push eax
call fcn.100891b0
mov edx, dword [eax]
lea eax, [esp + 0x40]
push edx
push str.RCPT_TO:___s__r_n
push eax
mov byte [esp + 0x44], 7
call fcn.1008c710
add esp, 0xc
lea ecx, [esp + 0x1c]
mov byte [esp + 0x38], 2
call fcn.10089910
mov eax, dword [esp + 0x40]
mov ecx, dword [eax - 8]
push ecx
push eax
mov ecx, esi
call fcn.10013040
test eax, eax
je 0x10012df3
push 0xfa
mov ecx, esi
call fcn.10013240
test eax, eax
jne 0x10012d0f
cmp dword [esi + 8], ebp
je 0x10012d0f
mov ecx, dword [esp + 0x20]
lea edx, [ecx + edi*4]
lea ecx, [esp + 0x18]
push edx
call fcn.1008e290
mov ecx, dword [esi + 8]
mov eax, dword [eax]
push ecx
push eax
mov byte [esp + 0x40], 8
call fcn.1002f3c0
add esp, 8
lea ecx, [esp + 0x18]
test eax, eax
sete bl
mov byte [esp + 0x38], 2
call fcn.1008ec90
test bl, bl
jne 0x10012df3
mov eax, dword [esp + 0x24]
inc edi
cmp edi, eax
jl 0x10012c69
mov edi, str.DATA_r_n
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.DATA_r_n
mov ecx, esi
call fcn.10013040
test eax, eax
je 0x10012df3
push 0x162
mov ecx, esi
call fcn.10013240
test eax, eax
je 0x10012df3
mov edx, dword [esp + 0x10]
mov ecx, esi
push edx
call fcn.10013090
test eax, eax
je 0x10012df3
mov edi, 0x102b87cc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x102b87cc
mov ecx, esi
call fcn.10013040
test eax, eax
je 0x10012df3
push 0xfa
mov ecx, esi
call fcn.10013240
test eax, eax
je 0x10012df3
mov edi, str.QUIT_r_n
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.QUIT_r_n
mov ecx, esi
call fcn.10013040
test eax, eax
je 0x10012df3
push 0xdd
mov ecx, esi
call fcn.10013240
test eax, eax
je 0x10012df3
mov dword [esp + 0x14], 1
jmp 0x10012df3
cmp dword [0x1030aa70], ebp
je 0x10012df3
push str.MailSender::SendMail:_AuthLogin_failed__r_n
push str.MailSender
push 4
push 0x1030a1dc
call fcn.100a4680
add esp, 0x10
lea ecx, [esp + 0x40]
mov byte [esp + 0x38], 1
call fcn.10089910
mov ecx, esi
call fcn.10012f90
lea ecx, [esp + 0x20]
mov byte [esp + 0x38], 0
call fcn.100945c0
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0xffffffff
call fcn.1008ec90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x2c
ret 4