Function at 0x10012d20
Capabilities:
Get file attributes

Disassembly:
push 0xffffffffffffffff
push 0x1025af18
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 [0x1026e87c]
mov dword [esp + 0x10], eax
mov edi, dword [esp + 0x40]
mov dword [esp + 0x38], ebp
cmp dword [edi + 0x20], ebp
je 0x10012d64
cmp dword [edi + 0x1c], ebp
je 0x10012d64
lea ecx, [edi + 0x28]
push ecx
jmp 0x10012d68
lea edx, [edi + 0x24]
push edx
lea ecx, [esp + 0x14]
call fcn.10090d80
mov eax, dword [esp + 0x10]
cmp dword [eax - 8], ebp
jne 0x10012db3
cmp dword [0x1030ceb0], ebp
je 0x10012d9b
push str.MailSender::SendMail:_mail_file_name_is_empty__r_n
push str.MailSender
push 4
push 0x1030c61c
call fcn.100a65e0
add esp, 0x10
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0xffffffff
call fcn.10090bf0
xor eax, eax
jmp 0x100131cb
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
or ebx, 0xffffffff
cmp eax, ebx
jne 0x10012deb
cmp dword [0x1030ceb0], ebp
je 0x10012e96
push str.MailSender::SendMail:_mail_file_is_not_exist__r_n
push str.MailSender
push 4
push 0x1030c61c
call fcn.100a65e0
add esp, 0x10
jmp 0x10012e96
mov eax, dword [edi + 0x3c]
push str.AUTH_LOGIN
push eax
call fcn.10079579
add esp, 8
cmp eax, ebp
je 0x10012e2b
cmp dword [0x1030ceb0], ebp
je 0x10012e96
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 0x1030c61c
call fcn.100a65e0
add esp, 0x14
jmp 0x10012e96
lea ecx, [esp + 0x20]
call fcn.10096510
mov eax, dword [edi + 4]
lea edx, [esp + 0x20]
push edx
push eax
mov ecx, esi
mov byte [esp + 0x40], 1
call fcn.100139d0
test eax, eax
jne 0x10012e74
cmp dword [0x1030ceb0], ebp
je 0x10012e88
mov eax, dword [edi + 4]
push eax
push str.MailSender::SendMail:_Parse_Recipient__s__failed__r_n
push str.MailSender
push 4
push 0x1030c61c
call fcn.100a65e0
add esp, 0x14
jmp 0x10012e88
mov cx, word [edi + 0x30]
mov eax, dword [edi + 0x2c]
push ecx
push eax
mov ecx, esi
call fcn.100131e0
test eax, eax
jne 0x10012eaa
lea ecx, [esp + 0x20]
mov byte [esp + 0x38], 0
call fcn.10096520
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], ebx
call fcn.10090bf0
xor eax, eax
jmp 0x100131cb
push 0xdc
mov ecx, esi
mov dword [esp + 0x18], ebp
call fcn.100135e0
test eax, eax
je 0x100131a1
mov edx, dword [0x1026e878]
mov dword [esp + 0x40], edx
mov eax, dword [edi + 0x40]
lea ecx, [esp + 0x18]
push eax
mov byte [esp + 0x3c], 2
call fcn.1008b110
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.1008e670
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], 2
call fcn.1008b870
mov eax, dword [esp + 0x40]
mov ecx, dword [eax - 8]
push ecx
push eax
mov ecx, esi
call fcn.100133e0
test eax, eax
je 0x10013193
push 0xfa
mov ecx, esi
mov dword [esi + 4], 1
call fcn.100135e0
test eax, eax
je 0x10013193
mov dword [esi + 4], ebp
mov eax, dword [edi + 0x38]
push eax
lea ecx, [esp + 0x20]
call fcn.1008b110
mov ebx, dword [eax]
mov eax, dword [edi + 0x34]
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x3c], 4
call fcn.1008b110
mov eax, dword [eax]
push ebx
push eax
mov ecx, esi
mov byte [esp + 0x40], 5
call fcn.10013b20
test eax, eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], 4
sete bl
call fcn.1008b870
lea ecx, [esp + 0x1c]
mov byte [esp + 0x38], 2
call fcn.1008b870
test bl, bl
jne 0x10013172
mov edi, dword [edi]
lea ecx, [esp + 0x1c]
push edi
call fcn.1008b110
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.1008e670
add esp, 0xc
lea ecx, [esp + 0x1c]
mov byte [esp + 0x38], 2
call fcn.1008b870
mov eax, dword [esp + 0x40]
mov ecx, dword [eax - 8]
push ecx
push eax
mov ecx, esi
call fcn.100133e0
test eax, eax
je 0x10013193
push 0xfa
mov ecx, esi
call fcn.100135e0
test eax, eax
je 0x10013193
mov eax, dword [esp + 0x24]
xor edi, edi
cmp eax, ebp
jle 0x100130bc
mov ebp, 0xfb
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + edi*4]
lea ecx, [esp + 0x1c]
push eax
call fcn.1008b110
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.1008e670
add esp, 0xc
lea ecx, [esp + 0x1c]
mov byte [esp + 0x38], 2
call fcn.1008b870
mov eax, dword [esp + 0x40]
mov ecx, dword [eax - 8]
push ecx
push eax
mov ecx, esi
call fcn.100133e0
test eax, eax
je 0x10013193
push 0xfa
mov ecx, esi
call fcn.100135e0
test eax, eax
jne 0x100130af
cmp dword [esi + 8], ebp
je 0x100130af
mov ecx, dword [esp + 0x20]
lea edx, [ecx + edi*4]
lea ecx, [esp + 0x18]
push edx
call fcn.100901f0
mov ecx, dword [esi + 8]
mov eax, dword [eax]
push ecx
push eax
mov byte [esp + 0x40], 8
call fcn.1002f770
add esp, 8
lea ecx, [esp + 0x18]
test eax, eax
sete bl
mov byte [esp + 0x38], 2
call fcn.10090bf0
test bl, bl
jne 0x10013193
mov eax, dword [esp + 0x24]
inc edi
cmp edi, eax
jl 0x10013009
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.100133e0
test eax, eax
je 0x10013193
push 0x162
mov ecx, esi
call fcn.100135e0
test eax, eax
je 0x10013193
mov edx, dword [esp + 0x10]
mov ecx, esi
push edx
call fcn.10013430
test eax, eax
je 0x10013193
mov edi, 0x102ba85c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x102ba85c
mov ecx, esi
call fcn.100133e0
test eax, eax
je 0x10013193
push 0xfa
mov ecx, esi
call fcn.100135e0
test eax, eax
je 0x10013193
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.100133e0
test eax, eax
je 0x10013193
push 0xdd
mov ecx, esi
call fcn.100135e0
test eax, eax
je 0x10013193
mov dword [esp + 0x14], 1
jmp 0x10013193
cmp dword [0x1030ceb0], ebp
je 0x10013193
push str.MailSender::SendMail:_AuthLogin_failed__r_n
push str.MailSender
push 4
push 0x1030c61c
call fcn.100a65e0
add esp, 0x10
lea ecx, [esp + 0x40]
mov byte [esp + 0x38], 1
call fcn.1008b870
mov ecx, esi
call fcn.10013330
lea ecx, [esp + 0x20]
mov byte [esp + 0x38], 0
call fcn.10096520
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0xffffffff
call fcn.10090bf0
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