Function at 0x10042ec0
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x33e8
call fcn.10140530
mov eax, dword [0x10189710]
xor eax, esp
mov dword [esp + 0x33e4], eax
push ebx
push ebp
mov ebp, dword [esp + 0x33f4]
push esi
push edi
xor ebx, ebx
push 0x3ff
lea eax, [esp + 0x23f5]
push ebx
push eax
mov byte [esp + 0x23fc], bl
call fcn.1012e060
add esp, 0xc
push 0x31
lea ecx, [esp + 0x4d]
push ebx
push ecx
mov byte [esp + 0x54], bl
call fcn.1012e060
add esp, 0xc
push 0x3ff
lea edx, [esp + 0x1f5]
push ebx
push edx
mov byte [esp + 0x1fc], bl
call fcn.1012e060
xor eax, eax
add esp, 0xc
push 0x7f
mov dword [esp + 0xb5], eax
mov dword [esp + 0xb9], eax
mov dword [esp + 0xbd], eax
mov word [esp + 0xc1], ax
mov byte [esp + 0xc3], al
lea eax, [esp + 0x83d]
push ebx
push eax
mov dword [esp + 0x1c], ebx
mov byte [esp + 0xbc], bl
mov byte [esp + 0x844], bl
call fcn.1012e060
add esp, 0xc
push 0x103
lea ecx, [esp + 0x8bd]
push ebx
push ecx
mov byte [esp + 0x8c4], bl
call fcn.1012e060
add esp, 0xc
push 0x103
lea edx, [esp + 0x22ed]
push ebx
push edx
mov byte [esp + 0x22f4], bl
call fcn.1012e060
add esp, 0xc
push 0x103
lea eax, [esp + 0x9c5]
push ebx
push eax
mov byte [esp + 0x9cc], bl
call fcn.1012e060
add esp, 0xc
push 0x3ff
lea ecx, [esp + 0x13d5]
push ebx
push ecx
mov byte [esp + 0x13dc], bl
call fcn.1012e060
add esp, 0xc
push 0x103
lea edx, [esp + 0x5f5]
push ebx
push edx
mov byte [esp + 0x5fc], bl
call fcn.1012e060
mov eax, dword [ebp + 0x47c]
add esp, 0xc
cmp dword [ebp + 0x470], ebx
mov dword [esp + 0x28], 1
mov dword [esp + 0x1c], eax
jne 0x10043087
push 0x74
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov esi, eax
cmp esi, ebx
je 0x10043064
push esi
mov dword [esi], 1
mov dword [esi + 8], 0xffffffff
call fcn.10096440
add esp, 4
cmp eax, ebx
jne 0x1004305c
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
xor esi, esi
mov dword [esp + 0x10], esi
cmp esi, ebx
jne 0x1004307d
push ebp
xor edi, edi
xor esi, esi
mov ebx, str.SMTPSender:AllocateContext_failed__n
call fcn.10042440
add esp, 4
xor eax, eax
jmp 0x10043231
mov ecx, dword [esi + 0x40]
push ebx
push esi
call ecx
add esp, 8
lea esi, [ebp + 0x2ab4]
push ebx
push esi
call fcn.10069e60
add esp, 8
test eax, eax
jne 0x100430f9
lea edx, [esp + 0x23f0]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x100430a6
lea esi, [ebp + 0x2ab4]
mov ecx, esi
call fcn.10041b30
lea eax, [ebp + 0x2cbc]
push eax
push esi
push eax
lea edx, [esp + 0x23fc]
push edx
lea eax, [esp + 0xbe0]
push str.Sending_SMTP_message_to__s:_s___s:_s_
push eax
call fcn.10127dc0
push ebp
xor edi, edi
lea esi, [esp + 0xbec]
mov ebx, 0x10158254
call fcn.10042440
add esp, 0x1c
jmp 0x10043113
lea edi, [ebp + 0x2cbc]
push ebp
lea esi, [ebp + 0x2ab4]
mov ebx, str.Sending_SMTP_message_to__s:_s_n
call fcn.10042440
add esp, 4
lea ebx, [ebp + 0x2ab4]
push ebx
lea ecx, [esp + 0x83c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea edx, [esp + 0x838]
push 0x3a
push edx
call fcn.10128490
xor edi, edi
add esp, 8
cmp eax, edi
je 0x10043143
mov byte [eax], 0
cmp dword [ebp + 0x470], edi
jne 0x1004316d
mov esi, dword [esp + 0x10]
cmp esi, edi
je 0x100431cb
mov ecx, dword [esi + 0x4c]
lea eax, [ebp + 0x2cbc]
push eax
lea eax, [esp + 0x83c]
push eax
push esi
call ecx
add esp, 0xc
jmp 0x100431cb
xor eax, eax
push ebx
lea edx, [esp + 0x38]
push 0x101632c8
push edx
mov byte [esp + 0x40], 0
mov dword [esp + 0x41], eax
mov dword [esp + 0x45], eax
mov dword [esp + 0x49], eax
mov dword [esp + 0x4d], eax
mov word [esp + 0x51], ax
mov byte [esp + 0x53], al
call fcn.10127dc0
add esp, 0xc
lea eax, [esp + 0x34]
lea esi, [ebp + 0x488]
push 1
push eax
mov ecx, esi
call fcn.100625d0
lea eax, [ebp + 0x2cbc]
push 1
push eax
mov ecx, esi
call fcn.100625d0
mov esi, dword [esp + 0x20]
add esp, 0x10
mov dword [esp + 0x30], edi
cmp dword [ebp + 0x470], edi
jne 0x1004324a
cmp esi, edi
je 0x100431f1
mov ecx, dword [esi + 0x58]
push esi
call ecx
mov edx, dword [esi + 0x50]
add esp, 4
push esi
call edx
add esp, 4
cmp eax, edi
jne 0x1004324a
push ebp
xor edi, edi
xor esi, esi
mov ebx, str.SMTPSender:_OpenPort_failed__n
call fcn.10042440
add esp, 4
mov esi, dword [esp + 0x10]
cmp dword [ebp + 0x470], 0
jne 0x1004322d
test esi, esi
je 0x1004322d
mov edx, dword [esi + 0x58]
push esi
call edx
mov eax, dword [esi + 0x70]
add esp, 4
push esi
call eax
add esp, 4
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x33f4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10127db1
add esp, 0x33e8
ret
push str.MWTSP.DLL
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
cmp eax, edi
je 0x10043273
push str.InformPvtSend
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, edi
je 0x10043273
push str.MWPVTSND
call eax
add esp, 4
cmp dword [ebp + 0x470], edi
jne 0x100432b4
cmp esi, edi
je 0x10043296
mov eax, dword [esi + 0x64]
push esi
call eax
add esp, 4
push 0x38
mov edi, eax
call dword [sym.imp.KERNEL32.dll_Sleep]
test edi, edi
jne 0x100432b2
push ebp
xor edi, edi
lea esi, [esp + 0x83c]
mov ebx, str.SMTPSender:EstablishConnection_with__s_failed__n
call fcn.10042440
add esp, 4
jmp 0x100462d9
xor edi, edi
mov dword [esp + 0x14], 1
mov dword [esp + 0x2c], edi
mov dword [esp + 0x24], edi
mov byte [esp + 0x838], 0
mov byte [esp + 0x13d0], 0
cmp dword [ebp + 0x470], edi
jne 0x1004350f
mov byte [esp + 0x838], 0
mov byte [esp + 0xb0], 0
test esi, esi
je 0x10043313
cmp dword [esi + 8], 0xffffffff
je 0x10043313
mov eax, dword [esi + 0x44]
lea ecx, [esp + 0xb0]
push ecx
lea edx, [esp + 0x83c]
push edx
push esi
call eax
add esp, 0xc
cmp dword [ebp + 0x480], 0x1d1
je 0x10043396
push ebp
push str.GetWelcomeString
mov ecx, esi
call fcn.100425f0
add esp, 8
test eax, eax
jne 0x10043396
cmp byte [esp + 0x23f0], 0
lea eax, [ebp + 0x2cbc]
push eax
push ebx
je 0x10043365
push eax
lea ecx, [esp + 0x23fc]
push ecx
lea edx, [esp + 0xbe0]
push str.Unable_to_Connect_to__s:_s___s:_s__
push edx
call fcn.10127dc0
add esp, 0x18
jmp 0x1004337a
lea eax, [esp + 0xbd8]
push str.Unable_to_Connect_to__s:_s_
push eax
call fcn.10127dc0
add esp, 0x10
push ebp
xor edi, edi
lea esi, [esp + 0xbd4]
mov ebx, 0x10158254
call fcn.10042440
add esp, 4
jmp 0x100462d9
cmp dword [ebp + 0x474], 0
je 0x1004350f
cmp dword [ebp + 0x480], 0x1d1
jne 0x1004350f
push 0x7ff
lea ecx, [esp + 0x17d5]
push 0
push ecx
mov byte [esp + 0x17dc], 0
call fcn.1012e060
add esp, 0xc
push 0x7ff
lea edx, [esp + 0x27f5]
push 0
push edx
mov byte [esp + 0x27fc], 0
call fcn.1012e060
mov ecx, dword [esi + 8]
add esp, 0xc
lea eax, [esp + 0x5f0]
push eax
lea edi, [ebp + 0x484]
push ecx
mov ecx, edi
call fcn.1011dc10
add esp, 8
cmp eax, 1
je 0x1004342e
push ebp
xor edi, edi
lea esi, [esp + 0x5f4]
mov ebx, str._SSL__SSL_Handshake_Unsuccessful__Error:__s_n
call fcn.10042440
add esp, 4
jmp 0x100462d9
mov ecx, dword [edi]
lea edx, [esp + 0x17d0]
push edx
lea eax, [esp + 0x5f4]
push eax
lea edx, [esp + 0x27f8]
call fcn.1011deb0
add esp, 8
cmp eax, 1
je 0x10043470
push ebp
xor edi, edi
lea esi, [esp + 0x5f4]
mov ebx, str._SSL__SSL_GetPeerCertificate_Failed__Error:__s_n
call fcn.10042440
add esp, 4
jmp 0x100462d9
cmp dword [ebp + 0x480], 0x1d1
jne 0x1004350f
push 0x400
lea esi, [ebp + 0x70]
push 0
push esi
call fcn.1012e060
mov ecx, dword [edi]
add esp, 0xc
push ecx
lea edx, [esp + 0x5f4]
mov ecx, esi
call fcn.1011d9b0
add esp, 4
test eax, eax
jg 0x100434c7
push ebp
xor edi, edi
lea esi, [esp + 0x5f4]
mov ebx, str._SSL__SSL_Read_Welcome_String_Failed__Error:__s_n
call fcn.10042440
add esp, 4
jmp 0x100462d9
lea edx, [esp + 0x17d0]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x100434d2
lea edx, [esp + 0x17d0]
push edx
call fcn.10061df0
add esp, 4
lea edi, [esp + 0x17d0]
call fcn.10064010
push ebp
xor edi, edi
lea esi, [esp + 0x17d4]
mov ebx, str._SSL__Reply_:__s_n
call fcn.10042440
add esp, 4
push 0x103
lea eax, [esp + 0xed]
push 0
push eax
mov byte [esp + 0xf4], 0
call fcn.1012e060
add esp, 0xc
push 0x103
lea ecx, [esp + 0x6fd]
push 0
push ecx
mov byte [esp + 0x704], 0
call fcn.1012e060
add esp, 0xc
push 0x103
lea edx, [esp + 0xacd]
push 0
push edx
mov byte [esp + 0xad4], 0
call fcn.1012e060
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
add esp, 0xc
lea esi, [ebp + 0x9a0]
push esi
push 0x104
lea eax, [esp + 0xad0]
push eax
push 0x1014d5e3
push str.ShowUserName
push 0x10156244
call edi
cmp byte [esp + 0xac8], 0x30
jne 0x100435a9
mov dword [esp + 0x28], 0
push esi
push 0x104
lea ecx, [esp + 0xad0]
push ecx
push 0x1014d5e3
push str.ShowPassword
push 0x10156244
call edi
xor edx, edx
cmp byte [esp + 0xac8], 0x31
lea ebx, [ebp + 0xcac]
sete dl
cmp byte [ebx], 0
mov dword [esp + 0x20], edx
je 0x100435fa
push str.null
push ebx
call fcn.10135887
add esp, 8
test eax, eax
jne 0x10043689
push esi
push 0x104
lea eax, [esp + 0xf0]
push eax
push 0x1014d5e3
push str.AuthUserName
lea eax, [ebp + 0x2ab4]
push eax
call edi
cmp byte [esp + 0xe8], 0
jne 0x1004367a
cmp byte [esp + 0x23f0], 0
je 0x1004365b
push esi
push 0x104
lea ecx, [esp + 0xf0]
push ecx
push 0x1014d5e3
push str.AuthUserName
lea edx, [esp + 0x2404]
push edx
call edi
cmp byte [esp + 0xe8], 0
jne 0x1004367a
push esi
push 0x104
lea eax, [esp + 0xf0]
push eax
push 0x1014d5e3
push str.UserName
push 0x10156244
call edi
lea ecx, [esp + 0xe8]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp byte [ebp + 0xdb0], 0
lea eax, [ebp + 0xdb0]
je 0x100436aa
push str.null
push eax
call fcn.10135887
add esp, 8
test eax, eax
jne 0x10043725
mov eax, esi
lea ecx, [esp + 0x6f8]
lea ebx, [ebp + 0x2ab4]
call fcn.1003fa60
cmp byte [esp + 0x6f8], 0
jne 0x10043710
cmp byte [esp + 0x23f0], 0
je 0x100436f1
mov eax, esi
lea ecx, [esp + 0x6f8]
lea ebx, [esp + 0x23f0]
call fcn.1003fa60
cmp byte [esp + 0x6f8], 0
jne 0x10043710
push esi
push 0x104
lea edx, [esp + 0x700]
push edx
push 0x1014d5e3
push str.Password
push 0x10156244
call edi
lea eax, [esp + 0x6f8]
push eax
lea eax, [ebp + 0xdb0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp byte [ebp + 0xdb0], 0
je 0x1004373e
cmp byte [ebp + 0xcac], 0
je 0x1004373e
mov dword [ebp + 4], 0
cmp dword [ebp + 4], 0
je 0x10043774
cmp dword [ebp + 0x480], 0x1d1
je 0x10043774
lea eax, [ebp + 0xeb4]
push eax
lea ecx, [esp + 0x13d4]
push str.HELO__s
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov dword [esp + 0x24], 0
jmp 0x10043796
lea eax, [ebp + 0xeb4]
push eax
lea edx, [esp + 0x13d4]
push str.EHLO__s
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov dword [esp + 0x24], 1
mov ecx, dword [esp + 0x1c]
add esp, 0xc
cmp dword [ebp + 0x480], 0x1d1
lea edx, [esp + 0x13d0]
jne 0x100437b4
push 1
jmp 0x100437b6
push 0
push ebp
call fcn.10042c50
add esp, 8
test eax, eax
je 0x100462ac
mov esi, 1
cmp dword [ebp + 0x478], esi
jne 0x10043807
lea eax, [ebp + 0x9a0]
push eax
push 0x104
lea eax, [esp + 0xbd8]
push eax
push 0x1015f288
push str.UseSSL
push 0x10156244
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [esp + 0xbd0], 0x30
jne 0x10043814
mov dword [esp + 0x14], 0
jmp 0x1004389b
cmp dword [0x101b5320], 0
jne 0x1004389b
cmp dword [ebp + 0x474], 0
jne 0x1004389b
push 0x103
lea ecx, [esp + 0xed]
push 0
push ecx
mov dword [ebp + 0x474], esi
mov byte [esp + 0xf4], 0
call fcn.1012e060
add esp, 0xc
lea ecx, [esp + 0xe8]
call fcn.1011d2c0
cmp eax, esi
je 0x1004389b
lea edx, [esp + 0xe8]
push edx
lea eax, [esp + 0xbd4]
push str._SSL__SSL_Fail_2_:__s
push eax
call fcn.10127dc0
add esp, 0xc
push ebp
xor edi, edi
lea esi, [esp + 0xbd4]
mov ebx, 0x10158254
call fcn.10042440
add esp, 4
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [ebp + 0x474], eax
cmp dword [ebp + 0x480], 0x24b
jne 0x100438b0
cmp dword [ebp + 0x478], 1
je 0x100438bb
cmp dword [esp + 0x14], 0
je 0x10043ae4
push 0x7ff
lea ecx, [esp + 0x17d5]
push 0
push ecx
mov byte [esp + 0x17dc], 0
call fcn.1012e060
add esp, 0xc
push 0x7ff
lea edx, [esp + 0x27f5]
push 0
push edx
mov byte [esp + 0x27fc], 0
call fcn.1012e060
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push 0
push ebp
mov edx, str.STARTTLS
call fcn.10042c50
add esp, 8
test eax, eax
je 0x100462ac
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 8]
lea eax, [esp + 0x5f0]
push eax
lea esi, [ebp + 0x484]
push edx
mov ecx, esi
call fcn.1011dc10
add esp, 8
cmp eax, 1
je 0x10043956
push ebp
xor edi, edi
lea esi, [esp + 0x5f4]
mov ebx, str._SSL__SSL_Handshake_Unsuccessful_B___Error:__s_n
call fcn.10042440
add esp, 4
jmp 0x100462d9
lea eax, [esp + 0x17d0]
push eax
lea ecx, [esp + 0x5f4]
push ecx
mov ecx, dword [esi]
lea edx, [esp + 0x27f8]
call fcn.1011deb0
add esp, 8
cmp eax, 1
je 0x10043998
push ebp
xor edi, edi
lea esi, [esp + 0x5f4]
mov ebx, str._SSL__SSL_GetPeerCertificate_Failed_B___Error:__s_n
call fcn.10042440
add esp, 4
jmp 0x100462d9
lea eax, [ebp + 0xeb4]
push eax
lea edx, [esp + 0xec]
push str.EHLO__s
push edx
call fcn.10127dc0
lea eax, [esp + 0xf4]
add esp, 0xc
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x100439c0
mov cx, word [0x10155f64]
mov dl, byte [0x10155f66]
mov word [eax], cx
mov byte [eax + 2], dl
lea eax, [esp + 0xe8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100439e5
sub eax, edx
mov edx, dword [ebp + 0x484]
lea ecx, [esp + 0x5f0]
push ecx
push edx
mov ecx, eax
lea edx, [esp + 0xf0]
call fcn.1011daf0
add esp, 8
xor edi, edi
push ebp
test eax, eax
jg 0x10043a2e
lea esi, [esp + 0x5f4]
mov ebx, str._SSL__SSL_Write__EHLO__Failed__Error:__s_n
call fcn.10042440
add esp, 4
jmp 0x100462d9
lea esi, [ebp + 0xeb4]
mov ebx, str._SSL__Command_:_EHLO__s_n
call fcn.10042440
add esp, 4
push 0x400
lea esi, [ebp + 0x70]
push 0
push esi
call fcn.1012e060
mov eax, dword [ebp + 0x484]
add esp, 0xc
push eax
lea edx, [esp + 0x5f4]
mov ecx, esi
call fcn.1011d9b0
add esp, 4
test eax, eax
jg 0x10043a8c
push ebp
xor edi, edi
lea esi, [esp + 0x5f4]
mov ebx, str._SSL__SSL_Read_Response_String__EHLO__Failed__Error:__s_n
call fcn.10042440
add esp, 4
jmp 0x100462d9
lea edx, [esp + 0x17d0]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10043a97
lea ecx, [esp + 0x17d0]
push ecx
call fcn.10061df0
add esp, 4
lea edi, [esp + 0x17d0]
call fcn.10064010
push ebp
xor edi, edi
xor esi, esi
mov ebx, str._SSL__Reply_from_EHLO..._n
call fcn.10042440
add esp, 4
push ebp
lea esi, [esp + 0x17d4]
mov ebx, str._SSL___s_n
call fcn.10042440
add esp, 4
push str.null
lea esi, [ebp + 0xcac]
push esi
call fcn.10135887
add esp, 8
test eax, eax
je 0x10043b14
lea eax, [ebp + 0xdb0]
push str.null
push eax
call fcn.10135887
add esp, 8
test eax, eax
jne 0x10043b18
xor ecx, ecx
jmp 0x10043b1c
mov ecx, dword [esp + 0x18]
test esi, esi
je 0x10043b4e
cmp byte [esi], 0
je 0x10043b4e
lea eax, [ebp + 0xdb0]
test eax, eax
je 0x10043b4e
cmp byte [eax], 0
je 0x10043b4e
cmp dword [ebp + 0x474], 0
je 0x10043b4e
mov dword [ebp], 1
mov dword [0x101b5310], 1
cmp ecx, 1
jne 0x1004429e
cmp dword [ebp], ecx
je 0x10043b68
cmp dword [ebp + 0x470], ecx
jne 0x10044297
push 0x103
lea edx, [esp + 0x6fd]
push 0
push edx
mov byte [esp + 0x704], 0
call fcn.1012e060
add esp, 0xc
push 0x103
lea eax, [esp + 0xed]
push 0
push eax
mov byte [esp + 0xf4], 0
call fcn.1012e060
lea esi, [ebp + 0xcac]
add esp, 0xc
cmp byte [esi], 0
jne 0x10043bdc
lea eax, [ebp + 0x9a0]
push eax
push 0x104
push esi
push 0x1014d5e3
push str.UserName
push 0x10156244
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [esi], 0
je 0x10043ca8
call fcn.10041df0
push 0x104
lea ecx, [esp + 0x6fc]
push 0
push ecx
call fcn.1012e060
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10043c00
sub eax, edx
push eax
lea eax, [ebp + 0xcac]
push eax
lea ecx, [esp + 0x700]
call fcn.10041e90
lea esi, [ebp + 0xdb0]
add esp, 8
cmp byte [esi], 0
mov byte [esp + eax + 0x6f8], 0
jne 0x10043c5a
lea eax, [ebp + 0x9a0]
push eax
push 0x104
push esi
push 0x1014d5e3
push str.Password
push 0x10156244
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [esi], 0
je 0x10043ca8
call fcn.10041df0
push 0x104
lea edx, [esp + 0xec]
push 0
push edx
call fcn.1012e060
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
jmp 0x10043c80
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10043c80
sub eax, edx
push eax
lea eax, [ebp + 0xdb0]
push eax
lea ecx, [esp + 0xf0]
call fcn.10041e90
add esp, 8
mov byte [esp + eax + 0xe8], 0
mov eax, dword [0x101b5310]
cmp eax, 1
jne 0x10044324
cmp byte [esp + 0x6f8], 0
je 0x10044297
cmp byte [esp + 0xe8], 0
je 0x10044297
cmp dword [ebp + 0x470], 0
jne 0x10043ce3
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp + 0x474], 0
je 0x100441ba
mov ecx, dword [ebp + 0x484]
lea eax, [esp + 0x5f0]
push eax
push ecx
mov ecx, 0xc
mov edx, str.AUTH_LOGIN_r_n
call fcn.1011daf0
add esp, 8
xor edi, edi
push ebp
test eax, eax
jg 0x10043d31
lea esi, [esp + 0x5f4]
mov ebx, str._SSL__SSL_Write__AUTH_LOGIN__Failed__Error:__s_n
call fcn.10042440
add esp, 4
jmp 0x100462d9
xor esi, esi
mov ebx, str._SSL__Command_:_AUTH_LOGIN_n
call fcn.10042440
add esp, 4
push 0x400
lea esi, [ebp + 0x70]
push 0
push esi
call fcn.1012e060
mov edx, dword [ebp + 0x484]
add esp, 0xc
push edx
lea edx, [esp + 0x5f4]
mov ecx, esi
call fcn.1011d9b0
add esp, 4
test eax, eax
jg 0x10043d8b
push ebp
xor edi, edi
lea esi, [esp + 0x5f4]
mov ebx, str._SSL__SSL_Read__AUTH_LOGIN__Failed__Error:__s_n
call fcn.10042440
add esp, 4
jmp 0x100462d9
lea eax, [ebp + 0x70]
lea edx, [esp + 0xfd0]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10043d97
lea eax, [esp + 0xfd0]
push eax
call fcn.10061df0
add esp, 4
lea edi, [esp + 0xfd0]
call fcn.10064010
mov eax, str.VXNlcm5hbWU6
lea ecx, [esp + 0xfd4]
call fcn.1005a140
xor edi, edi
push ebp
lea esi, [esp + 0xfd4]
mov ebx, str._SSL__Reply_:__s__Give_UserName__n
test eax, eax
je 0x10043de6
mov ebx, str._SSL__Reply_:__s_n
call fcn.10042440
add esp, 4
push 3
lea eax, [ebp + 0x70]
push 0x10159bb4
push eax
call fcn.1013661b
add esp, 0xc
test eax, eax
je 0x10043e1d
push ebp
xor edi, edi
lea esi, [ebp + 0x70]
mov ebx, str._SSL__SSL_Read_A__AUTH_LOGIN__Failed__Error:__s_n
call fcn.10042440
add esp, 4
jmp 0x100462d9
lea eax, [esp + 0x6f8]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x10043e25
mov cx, word [0x10155f64]
mov dl, byte [0x10155f66]
mov word [eax], cx
mov byte [eax + 2], dl
lea eax, [esp + 0x6f8]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10043e50
sub eax, edx
mov edx, dword [ebp + 0x484]
lea ecx, [esp + 0x5f0]
push ecx
push edx
mov ecx, eax
lea edx, [esp + 0x700]
call fcn.1011daf0
add esp, 8
test eax, eax
jg 0x10043e99
push ebp
xor edi, edi
lea esi, [esp + 0x5f4]
mov ebx, str._SSL__SSL_Write__AUTH_USER__Failed__Error:__s_n
call fcn.10042440
add esp, 4
jmp 0x100462d9
cmp dword [esp + 0x28], 0
je 0x10043ee1
lea eax, [ebp + 0xcac]
lea edx, [esp + 0x17d0]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10043eb0
lea eax, [esp + 0x17d0]
push eax
call fcn.10061df0
add esp, 4
push ebp
xor edi, edi
lea esi, [esp + 0x17d4]
mov ebx, str._SSL__Command__ENC_:__s_n
call fcn.10042440
add esp, 4
push 0x400
push 0
lea esi, [ebp + 0x70]
push esi
call fcn.1012e060
mov ecx, dword [ebp + 0x484]
add esp, 0xc
push ecx
lea edx, [esp + 0x5f4]
mov ecx, esi
call fcn.1011d9b0
add esp, 4
test eax, eax
jg 0x10043f2c
push ebp
xor edi, edi
lea esi, [esp + 0x5f4]
mov ebx, str._SSL__SSL_Read_B__AUTH_USER__Failed__Error:__s_n
call fcn.10042440
add esp, 4
jmp 0x100462d9
lea edx, [esp + 0xfd0]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10043f37
lea edx, [esp + 0xfd0]
push edx
call fcn.10061df0
add esp, 4
lea edi, [esp + 0xfd0]
call fcn.10064010
mov eax, str.UGFzc3dvcmQ6
lea ecx, [esp + 0xfd4]
call fcn.1005a140
xor edi, edi
push ebp
lea esi, [esp + 0xfd4]
mov ebx, str._SSL__Reply_:__s__Give_Password__n
test eax, eax
je 0x10043f86
mov ebx, str._SSL__Reply_:__s_n
call fcn.10042440
add esp, 4
push 3
lea eax, [ebp + 0x70]
push 0x10159bb4
push eax
call fcn.1013661b
add esp, 0xc
test eax, eax
je 0x10043fbd
push ebp
xor edi, edi
lea esi, [ebp + 0x70]
mov ebx, str._SSL__SSL_Read_C__AUTH_USER__Failed__Error:__s_n
call fcn.10042440
add esp, 4
jmp 0x100462d9
lea eax, [esp + 0xe8]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x10043fc5
mov cx, word [0x10155f64]
mov dl, byte [0x10155f66]
mov word [eax], cx
mov byte [eax + 2], dl
lea eax, [esp + 0xe8]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10043ff0
sub eax, edx
mov edx, dword [ebp + 0x484]
lea ecx, [esp + 0x5f0]
push ecx
push edx
mov ecx, eax
lea edx, [esp + 0xf0]
call fcn.1011daf0
add esp, 8
test eax, eax
jg 0x10044039
push ebp
xor edi, edi
lea esi, [esp + 0x5f4]
mov ebx, str._SSL__SSL_Write__AUTH_PWD__Failed__Error:__s_n
call fcn.10042440
add esp, 4
jmp 0x100462d9
lea eax, [ebp + 0xdb0]
lea edx, [esp + 0xfd0]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10044048
lea eax, [esp + 0xfd0]
push eax
call fcn.10061df0
lea eax, [esp + 0xfd4]
add esp, 4
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10044070
sub eax, edx
cmp eax, 2
jle 0x100440d0
cmp dword [esp + 0x20], 0
je 0x10044093
lea esi, [esp + 0xfd0]
mov ebx, str._SSL__Command__ENC_:__s_n
jmp 0x100440ec
movsx ecx, byte [esp + eax + 0xfcf]
movsx edx, byte [esp + 0xfd0]
push ecx
push edx
lea eax, [esp + 0xbd8]
push str._SSL__Command__ENC_:__c_c
push eax
call fcn.10127dc0
push ebp
xor edi, edi
lea esi, [esp + 0xbe4]
mov ebx, 0x10158254
call fcn.10042440
add esp, 0x14
jmp 0x100440f7
cmp dword [esp + 0x20], 0
je 0x100440e5
lea esi, [esp + 0xfd0]
mov ebx, str._SSL__Command__ENC_:__s_n
jmp 0x100440ec
xor esi, esi
mov ebx, str._SSL__Command__ENC_:__n
push ebp
xor edi, edi
call fcn.10042440
add esp, 4
push 0x400
push 0
lea esi, [ebp + 0x70]
push esi
call fcn.1012e060
mov ecx, dword [ebp + 0x484]
add esp, 0xc
push ecx
lea edx, [esp + 0x5f4]
mov ecx, esi
call fcn.1011d9b0
add esp, 4
test eax, eax
jg 0x10044142
push ebp
xor edi, edi
lea esi, [esp + 0x5f4]
mov ebx, str._SSL__SSL_Read_B__AUTH_PWD__Failed__Error:__s_n
call fcn.10042440
add esp, 4
jmp 0x100462d9
lea edx, [esp + 0x17d0]
mov eax, esi
sub edx, esi
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10044150
lea edx, [esp + 0x17d0]
push edx
call fcn.10061df0
add esp, 4
lea edi, [esp + 0x17d0]
call fcn.10064010
push ebp
xor edi, edi
lea esi, [esp + 0x17d4]
mov ebx, str._SSL__Reply_:__s_n
call fcn.10042440
add esp, 4
push 3
lea eax, [ebp + 0x70]
push 0x10159bc0
push eax
call fcn.1013661b
add esp, 0xc
test eax, eax
je 0x100441eb
push ebp
lea esi, [ebp + 0x70]
mov ebx, str._SSL__SSL_Read_C__AUTH_PWD__Failed__Error:__s_n
call fcn.10042440
add esp, 4
jmp 0x100462d9
lea eax, [esp + 0x13d0]
push str.AUTH_LOGIN
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [esp + 0x18]
push 0
push ebp
lea edx, [esp + 0x13e0]
call fcn.10042c50
add esp, 0x10
test eax, eax
je 0x100462ac
cmp dword [ebp + 0x470], 0
jne 0x100441fc
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp + 0x474], 0
jne 0x10044241
lea ecx, [esp + 0x6f8]
push ecx
lea edx, [esp + 0x13d4]
push 0x1014d8cc
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push 0
push ebp
lea edx, [esp + 0x13d8]
call fcn.10042c50
add esp, 8
test eax, eax
je 0x100462ac
cmp dword [ebp + 0x470], 0
jne 0x10044252
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp + 0x474], 0
jne 0x10044297
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0x13d4]
push 0x1014d8cc
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push 0
push ebp
lea edx, [esp + 0x13d8]
call fcn.10042c50
add esp, 8
test eax, eax
je 0x100462ac
mov dword [ebp], 0
push 0x32
lea edx, [esp + 0x4c]
push 0
push edx
call fcn.1012e060
add esp, 0xc
cmp dword [ebp + 0x470], 0
jne 0x100442da
xor eax, eax
lea ebx, [ebx]
mov cl, byte [eax + ebp + 0x70]
mov byte [esp + eax + 0x48], cl
test cl, cl
je 0x100442d2
inc eax
cmp eax, 0x32
jl 0x100442c0
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x400
lea eax, [esp + 0x13d4]
push 0
push eax
call fcn.1012e060
lea ebx, [ebp + 0x26b4]
add esp, 0xc
test ebx, ebx
je 0x10044673
cmp byte [ebx], 0
je 0x10044673
push ebx
lea ecx, [esp + 0x13d4]
push str.MAIL_FROM:__s_
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x10044689
cmp eax, 2
jne 0x10044297
cmp byte [ebp + 0xcac], 0
je 0x10044297
cmp byte [ebp + 0xdb0], 0
je 0x10044297
xor eax, eax
push 0x103
push eax
lea edx, [esp + 0x1fd9]
push edx
mov byte [esp + 0x88], 0
mov dword [esp + 0x89], eax
mov word [esp + 0x8d], ax
mov byte [esp + 0x8f], al
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov byte [esp + 0x1fdc], al
call fcn.1012e060
add esp, 0xc
push 0x7ff
lea eax, [esp + 0x17d5]
push 0
push eax
mov byte [esp + 0x17dc], 0
call fcn.1012e060
add esp, 0xc
push 0x103
lea ecx, [esp + 0x20dd]
push 0
push ecx
mov dword [esp + 0x24], 0
mov byte [esp + 0x20e4], 0
call fcn.1012e060
add esp, 0xc
push 0x103
lea edx, [esp + 0x21e5]
push 0
push edx
mov byte [esp + 0x21ec], 0
call fcn.1012e060
add esp, 0xc
push 0x103
lea eax, [esp + 0xbd5]
push 0
push eax
mov byte [esp + 0xbdc], 0
call fcn.1012e060
lea eax, [ebp + 0x2ab4]
lea edx, [esp + 0x21ec]
add esp, 0xc
sub edx, eax
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10044450
lea ebx, [esp + 0xbd0]
lea eax, [esp + 0x21e0]
lea esi, [esp + 0x7c]
call fcn.10041a30
cmp eax, 0xffffffff
je 0x100462ac
lea ecx, [esp + 0x18]
push ecx
mov edx, esi
push edx
mov edi, 0x28
call fcn.10041320
add esp, 8
cmp eax, 0xffffffff
je 0x10044659
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x100462ac
mov eax, dword [str.AUTH_NTLM]
mov dx, word [0x1016381c]
mov ecx, dword [0x10163818]
mov dword [esp + 0x17d0], eax
mov al, byte [0x1016381e]
mov byte [esp + 0x17da], al
mov eax, ebx
mov word [esp + 0x17d8], dx
mov dword [esp + 0x17d4], ecx
mov edx, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100444e0
lea edi, [esp + 0x17d0]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x100444f1
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0xa0]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
test eax, eax
je 0x1004451d
push eax
call fcn.10128243
add esp, 4
mov eax, dword [esp + 0x9c]
test eax, eax
je 0x10044531
push eax
call fcn.10128243
add esp, 4
push ebx
call fcn.10128243
add esp, 4
lea ecx, [esp + 0x17d0]
push ecx
lea edx, [esp + 0x13d4]
push 0x1014d8cc
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push 0
push ebp
lea edx, [esp + 0x13d8]
call fcn.10042c50
add esp, 8
test eax, eax
je 0x100462ac
push 0x7f
lea eax, [esp + 0xacd]
push 0
push eax
mov byte [esp + 0xad4], 0
call fcn.1012e060
add esp, 0xc
push 0x80
lea ecx, [esp + 0xb4c]
push 0
push ecx
call fcn.1012e060
lea eax, [ebp + 0x74]
lea edx, [esp + 0x1fdc]
add esp, 0xc
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x100445b5
lea eax, [ebp + 0xcac]
lea edx, [esp + 0xac8]
sub edx, eax
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x100445d0
lea eax, [ebp + 0xdb0]
lea edx, [esp + 0xb48]
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x100445f0
lea edx, [esp + 0x20d8]
push edx
lea edx, [esp + 0x1fd4]
lea ecx, [esp + 0xacc]
call fcn.100415a0
add esp, 4
lea eax, [esp + 0x20d8]
push eax
lea ecx, [esp + 0x13d4]
push 0x1014d8cc
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push 0
push ebp
lea edx, [esp + 0x13d8]
call fcn.10042c50
add esp, 8
test eax, eax
jne 0x10044297
jmp 0x100462ac
mov eax, dword [esp + 0x18]
test eax, eax
je 0x100462ac
push eax
call fcn.10128243
add esp, 4
jmp 0x100462ac
lea edx, [esp + 0x13d0]
push str.MAIL_FROM:__
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
mov eax, dword [ebp + 0x474]
mov ecx, dword [esp + 0x10]
push eax
push ebp
lea edx, [esp + 0x13d8]
call fcn.10042c50
add esp, 8
test eax, eax
je 0x100462ac
cmp dword [ebp + 0x470], 0
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
jne 0x100446bf
push 0x32
call edi
push 1
lea ecx, [esp + 0x18]
push 0x2c
push ecx
lea eax, [esp + 0x8c4]
lea edx, [ebp + 0x16b4]
push eax
mov cl, 0x3b
mov dword [esp + 0x24], 0
mov byte [esp + 0x8c8], 0
call fcn.10061f00
add esp, 0x10
cmp dword [esp + 0x14], 0xffffffff
je 0x1004479b
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push 0
lea ecx, [esp + 0x8bc]
push str.sample
push ecx
call fcn.10063340
add esp, 0xc
cmp eax, 0xffffffff
je 0x10044725
mov dword [esp + 0x1c], 1
lea edx, [esp + 0x8b8]
push edx
lea eax, [esp + 0x13d4]
push str.RCPT_TO:__s_
push eax
call esi
mov ecx, dword [ebp + 0x474]
add esp, 0xc
push ecx
mov ecx, dword [esp + 0x14]
push ebp
lea edx, [esp + 0x13d8]
call fcn.10042c50
add esp, 8
test eax, eax
je 0x10044c07
cmp dword [ebp + 0x470], 0
jne 0x1004476f
push 0x32
call edi
push 1
push 0x2c
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x8c4]
push eax
mov cl, 0x3b
lea edx, [ebp + 0x16b4]
call fcn.10061f00
add esp, 0x10
cmp dword [esp + 0x14], 0xffffffff
jne 0x10044701
cmp dword [ebp + 0x470], 0
jne 0x100448d9
push 0x31
lea ecx, [esp + 0x81]
push 0
push ecx
call fcn.1012e060
mov edx, dword [str.DATA]
mov al, byte [0x10163250]
add esp, 0xc
push 8
lea ecx, [esp + 0x50]
push str.MailScan
push ecx
mov dword [esp + 0x88], edx
mov byte [esp + 0x8c], al
call fcn.1013661b
add esp, 0xc
test eax, eax
jne 0x100448b6
push 0x31
push eax
lea edx, [esp + 0x80d]
push edx
mov byte [esp + 0x810], al
call fcn.1012e060
movzx eax, byte [esp + 0x61]
movzx ecx, byte [esp + 0x62]
movzx edx, byte [esp + 0x63]
mov byte [esp + 0x54], al
movzx eax, byte [esp + 0x64]
mov byte [esp + 0x55], cl
movzx ecx, byte [esp + 0x65]
mov byte [esp + 0x56], dl
movzx edx, byte [esp + 0x66]
mov byte [esp + 0x57], al
movzx eax, byte [esp + 0x67]
mov byte [esp + 0x58], cl
movzx ecx, byte [esp + 0x68]
mov byte [esp + 0x59], dl
movzx edx, byte [esp + 0x69]
mov byte [esp + 0x5a], al
movzx eax, byte [esp + 0x6a]
mov byte [esp + 0x5b], cl
movzx ecx, byte [esp + 0x6b]
mov byte [esp + 0x5c], dl
movzx edx, byte [esp + 0x6c]
mov byte [esp + 0x5d], al
movzx eax, byte [esp + 0x6d]
mov byte [esp + 0x5e], cl
lea ecx, [esp + 0x810]
add esp, 0xc
push ecx
lea edi, [esp + 0x4c]
mov byte [esp + 0x57], dl
mov byte [esp + 0x58], al
mov byte [esp + 0x59], 0
call fcn.10041c60
add esp, 4
lea edx, [esp + 0x804]
push edx
lea eax, [esp + 0x80]
push str.DATA__s
push eax
call fcn.10127dc0
add esp, 0xc
mov ecx, dword [ebp + 0x474]
push ecx
mov ecx, dword [esp + 0x14]
push ebp
lea edx, [esp + 0x84]
call fcn.10042c50
add esp, 8
test eax, eax
je 0x100462ac
cmp dword [0x101947e4], 0
je 0x10044931
lea edx, [esp + 0x1f0]
push str.X_Originator:_MailScan_r_n
push edx
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10044901
mov ecx, dword [ebp + 0x474]
sub eax, edx
push ecx
push eax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x1f8]
push edx
push eax
mov esi, ebp
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
cmp byte [ebp + 0xc], 0
lea eax, [ebp + 0xc]
je 0x10044990
push eax
lea ecx, [esp + 0x1f4]
push str.X_MailScan:__s_r_n
push ecx
call fcn.10127dc0
lea eax, [esp + 0x1fc]
add esp, 0xc
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10044960
mov ecx, dword [esp + 0x10]
sub eax, edx
mov edx, dword [ebp + 0x474]
push edx
push eax
lea eax, [esp + 0x1f8]
push eax
push ecx
mov esi, ebp
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
push 0x103
lea edx, [esp + 0xed]
push 0
push edx
mov byte [esp + 0xf4], 0
call fcn.1012e060
add esp, 0xc
lea eax, [ebp + 0x9a0]
push eax
push 0x104
lea eax, [esp + 0xf0]
push eax
push 0x1014d5e3
push str.SetNullReturnPath
push 0x10156244
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [esp + 0xe8], 0x31
jne 0x10044a31
lea ecx, [esp + 0x1f0]
push str.Return_Path:____r_n
push ecx
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10044a01
mov ecx, dword [esp + 0x10]
sub eax, edx
mov edx, dword [ebp + 0x474]
push edx
push eax
lea eax, [esp + 0x1f8]
push eax
push ecx
mov esi, ebp
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
lea eax, [ebp + 0x9a0]
push eax
push 0x104
lea edx, [esp + 0xf0]
push edx
push 0x1014d5e3
push str.SetNullReplyTo
push 0x10156244
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [esp + 0xe8], 0x31
jne 0x10044ab3
lea eax, [esp + 0x1f0]
push str.Reply_to:____r_n
push eax
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10044a83
mov ecx, dword [ebp + 0x474]
sub eax, edx
push ecx
push eax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x1f8]
push edx
push eax
mov esi, ebp
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
lea eax, [ebp + 0x9a0]
push eax
push 0x104
lea ecx, [esp + 0xf0]
push ecx
push 0x1014d980
push str.MaskFromAddress
push 0x10156244
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [esp + 0xe8], 0x31
je 0x10044b36
push ebx
lea edx, [esp + 0x1f4]
push str.From:__s_r_n
push edx
call fcn.10127dc0
lea eax, [esp + 0x1fc]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10044b06
mov ecx, dword [ebp + 0x474]
sub eax, edx
push ecx
push eax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x1f8]
push edx
push eax
mov esi, ebp
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
lea eax, [ebp + 0x16b4]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10044b40
sub eax, edx
cmp eax, 0x50
jb 0x10044dc6
push 0x2c
lea esi, [ebp + 0x16b4]
push esi
call fcn.10128490
add esp, 8
test eax, eax
jne 0x10044b7a
push 0x3b
push esi
call fcn.10128490
add esp, 8
test eax, eax
je 0x10044dc6
push 0x3ff
lea ecx, [esp + 0xbd5]
push 0
push ecx
mov byte [esp + 0xbdc], 0
call fcn.1012e060
add esp, 0xc
mov ebx, 1
push ebx
push 0x2c
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x8c4]
push eax
mov cl, 0x3b
mov edx, esi
mov dword [esp + 0x24], 0
mov byte [esp + 0x8c8], 0
call fcn.10061f00
add esp, 0x10
cmp dword [esp + 0x14], 0xffffffff
je 0x10044d6b
cmp byte [esp + 0xbd0], 0
jne 0x10044c38
test ebx, ebx
je 0x10044c19
lea ecx, [esp + 0x8b8]
push ecx
lea edx, [esp + 0xbd4]
push str.To:__s
push edx
call fcn.10127dc0
add esp, 0xc
xor ebx, ebx
jmp 0x10044c8d
cmp dword [ebp + 0x474], 0
je 0x100462ac
jmp 0x100462d9
lea eax, [esp + 0x8b8]
push eax
lea ecx, [esp + 0xbd4]
push 0x10163900
push ecx
call fcn.10127dc0
add esp, 0xc
jmp 0x10044c8d
lea eax, [esp + 0xbd0]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x10044c40
mov dx, word [0x10159810]
mov cl, byte [0x10159812]
mov word [eax], dx
mov byte [eax + 2], cl
lea eax, [esp + 0x8b8]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10044c64
lea edi, [esp + 0xbd0]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x10044c75
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 1
push 0x2c
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x8c4]
push eax
mov cl, 0x3b
lea edx, [ebp + 0x16b4]
call fcn.10061f00
lea eax, [esp + 0xbe0]
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10044cb8
sub eax, edx
cmp eax, 0x3c
jbe 0x10044d60
cmp byte [esp + 0x8b8], cl
je 0x10044cfb
lea eax, [esp + 0xbd0]
dec eax
jmp 0x10044ce0
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x10044ce0
mov cx, word [0x10159810]
mov dl, byte [0x10159812]
mov word [eax], cx
mov byte [eax + 2], dl
lea eax, [esp + 0xbd0]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x10044d03
mov cx, word [0x10155f64]
mov dl, byte [0x10155f66]
mov word [eax], cx
mov byte [eax + 2], dl
lea eax, [esp + 0xbd0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10044d28
mov ecx, dword [ebp + 0x474]
sub eax, edx
push ecx
push eax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0xbd8]
push edx
push eax
mov esi, ebp
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
mov byte [esp + 0xbd0], 0
cmp dword [esp + 0x14], 0xffffffff
jne 0x10044bd5
cmp byte [esp + 0xbd0], 0
je 0x10044e20
lea eax, [esp + 0xbd0]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x10044d81
mov cx, word [0x10155f64]
mov dl, byte [0x10155f66]
mov word [eax], cx
mov byte [eax + 2], dl
lea eax, [esp + 0xbd0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10044da6
mov ecx, dword [ebp + 0x474]
sub eax, edx
push ecx
push eax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0xbd8]
push edx
push eax
jmp 0x10044e0e
lea eax, [ebp + 0x16b4]
push eax
lea ecx, [esp + 0x1f4]
push str.To:__s_r_n
push ecx
call fcn.10127dc0
lea eax, [esp + 0x1fc]
add esp, 0xc
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10044df0
mov ecx, dword [esp + 0x10]
sub eax, edx
mov edx, dword [ebp + 0x474]
push edx
push eax
lea eax, [esp + 0x1f8]
push eax
push ecx
mov esi, ebp
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
xor eax, eax
lea edx, [esp + 0x7c]
push edx
mov byte [esp + 0x80], 0
mov dword [esp + 0x81], eax
mov dword [esp + 0x85], eax
mov dword [esp + 0x89], eax
mov dword [esp + 0x8d], eax
mov word [esp + 0x91], ax
mov byte [esp + 0x93], al
mov byte [esp + 0xd8], al
mov dword [esp + 0xd9], eax
mov dword [esp + 0xdd], eax
mov dword [esp + 0xe1], eax
mov dword [esp + 0xe5], eax
mov word [esp + 0xe9], ax
mov byte [esp + 0xeb], al
mov byte [esp + 0xc4], al
mov dword [esp + 0xc5], eax
mov dword [esp + 0xc9], eax
mov dword [esp + 0xcd], eax
mov dword [esp + 0xd1], eax
mov word [esp + 0xd5], ax
mov byte [esp + 0xd7], al
mov byte [esp + 0x38], al
mov dword [esp + 0x39], eax
mov dword [esp + 0x3d], eax
mov dword [esp + 0x41], eax
mov dword [esp + 0x45], eax
mov word [esp + 0x49], ax
mov byte [esp + 0x4b], al
call fcn.10042320
lea eax, [esp + 0xd8]
add esp, 4
push eax
call fcn.10042320
lea ecx, [esp + 0xc4]
add esp, 4
push ecx
call fcn.10042320
lea edx, [esp + 0x38]
add esp, 4
push edx
call fcn.10042320
add esp, 4
lea eax, [ebp + 0xeb4]
push eax
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0xc8]
push ecx
lea edx, [esp + 0xe0]
push edx
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x204]
push str.Message_id:___s_s_s_s__s__r_n
push ecx
call fcn.10127dc0
lea eax, [esp + 0x20c]
add esp, 0x1c
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10044f53
mov ecx, dword [esp + 0x10]
sub eax, edx
mov edx, dword [ebp + 0x474]
push edx
push eax
lea eax, [esp + 0x1f8]
push eax
push ecx
mov esi, ebp
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
lea esi, [esp + 0x22e8]
call fcn.100631b0
mov edx, esi
push edx
lea eax, [esp + 0x1f4]
push str.Date:__s_r_n
push eax
call fcn.10127dc0
lea eax, [esp + 0x1fc]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10044fb1
mov ecx, dword [ebp + 0x474]
sub eax, edx
push ecx
push eax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x1f8]
push edx
push eax
mov esi, ebp
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
lea ecx, [esp + 0x1f0]
push str.MIME_Version:_1.0_r_n
push ecx
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10045000
mov ecx, dword [esp + 0x10]
sub eax, edx
mov edx, dword [ebp + 0x474]
push edx
push eax
lea eax, [esp + 0x1f8]
push eax
push ecx
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
cmp dword [esp + 0x1c], 0
je 0x10045082
lea edx, [esp + 0x1f0]
push str.X_Priority:_1_r_n
push edx
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10045054
mov ecx, dword [ebp + 0x474]
sub eax, edx
push ecx
push eax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x1f8]
push edx
push eax
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
mov edi, dword [0x101a68cc]
cmp edi, 0x4e4
je 0x100451f6
mov ebx, dword [ebp + 0x2ec4]
mov al, byte [ebx]
test al, al
je 0x100451f6
cmp al, 0x3d
jne 0x100450b2
cmp byte [ebx + 1], 0x3f
je 0x100451f6
push 0x3ff
xor esi, esi
lea ecx, [esp + 0xfd5]
push esi
push ecx
mov byte [esp + 0xfdc], 0
call fcn.1012e060
add esp, 0xc
push 0x3ff
lea edx, [esp + 0xbd5]
push esi
push edx
mov byte [esp + 0xbdc], 0
call fcn.1012e060
add esp, 0xc
push edi
lea edi, [esp + 0x20]
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], esi
call fcn.1011fda0
mov ebx, dword [esp + 0x20]
add esp, 4
test eax, eax
je 0x10045174
mov ecx, ebx
call fcn.10074680
push esi
push esi
push esi
push esi
inc eax
push eax
push ebx
push esi
push 0xfde9
mov dword [esp + 0x3c], eax
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jle 0x10045174
lea edi, [eax + 1]
push 1
push edi
call fcn.1012a205
add esp, 8
push 0
push 0
push edi
mov esi, eax
mov eax, dword [esp + 0x28]
push esi
push eax
push ebx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp eax, 1
jle 0x10045174
push esi
lea ecx, [esp + 0xfd4]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esp + 0x20], 1
test ebx, ebx
je 0x10045181
push ebx
call fcn.10128243
add esp, 4
test esi, esi
je 0x1004518e
push esi
call fcn.10128243
add esp, 4
cmp dword [esp + 0x20], 0
je 0x100451e5
lea eax, [esp + 0xfd0]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100451a0
sub eax, edx
push eax
lea edx, [esp + 0xfd4]
push edx
lea ecx, [esp + 0xbd8]
call fcn.10041e90
mov byte [esp + eax + 0xbd8], 0
lea eax, [esp + 0xbd8]
push eax
lea ecx, [esp + 0x2ffc]
push str._utf_8_B__s_
push ecx
call fcn.10127dc0
add esp, 0x14
jmp 0x1004520b
mov edx, dword [ebp + 0x2ec4]
push edx
lea eax, [esp + 0x2ff4]
push eax
jmp 0x10045205
mov ecx, dword [ebp + 0x2ec4]
push ecx
lea edx, [esp + 0x2ff4]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [esp + 0x2ff0]
push eax
lea ecx, [esp + 0x1f4]
push str.Subject:__s_r_n
push ecx
call fcn.10127dc0
lea eax, [esp + 0x1fc]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10045232
mov ecx, dword [esp + 0x10]
sub eax, edx
mov edx, dword [ebp + 0x474]
push edx
push eax
lea eax, [esp + 0x1f8]
push eax
push ecx
mov esi, ebp
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
xor ebx, ebx
push 0x103
lea edx, [esp + 0x6fd]
push ebx
push edx
mov dword [esp + 0x24], ebx
mov byte [esp + 0x704], bl
call fcn.1012e060
add esp, 0xc
push 0x103
lea eax, [esp + 0xed]
push ebx
push eax
mov byte [esp + 0xf4], bl
call fcn.1012e060
add esp, 0xc
push 1
lea ecx, [esp + 0x1c]
push 0x2c
push ecx
lea edx, [esp + 0x704]
push edx
mov edx, dword [ebp + 0x2ec8]
xor cl, cl
call fcn.10061f00
add esp, 0x10
cmp dword [esp + 0x18], 0xffffffff
je 0x100452eb
mov edx, dword [ebp + 0x2ec8]
push 1
push 0x2c
lea eax, [esp + 0x20]
lea ecx, [esp + 0xf0]
push eax
push ecx
xor cl, cl
call fcn.10061f00
add esp, 0x10
cmp byte [esp + 0x6f8], 0
je 0x100453d6
cmp byte [esp + 0xe8], 0
je 0x100453d6
lea esi, [esp + 0x6f8]
call fcn.100736c0
lea esi, [esp + 0xe8]
mov edi, eax
call fcn.100736c0
mov esi, eax
cmp edi, ebx
je 0x100453d6
push str..html
push edi
call fcn.10135887
add esp, 8
test eax, eax
je 0x10045353
push str..htm
push edi
call fcn.10135887
add esp, 8
test eax, eax
jne 0x100453d6
cmp esi, ebx
je 0x100453d6
push str..jpeg
push esi
call fcn.10135887
add esp, 8
test eax, eax
je 0x10045391
push str..jpg
push esi
call fcn.10135887
add esp, 8
test eax, eax
je 0x10045391
push str..bmp
push esi
call fcn.10135887
add esp, 8
test eax, eax
jne 0x100453d6
lea edx, [esp + 0xe8]
push 0x5c
push edx
call fcn.10128490
push 3
lea eax, [esp + 0xf4]
push 0x10163978
push eax
call fcn.1013661b
add esp, 0x14
test eax, eax
jne 0x100453d2
push str.Content_Type:_multipart_related__boundary_MailScanBoundary0__r_n
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x30], 1
push ecx
jmp 0x100453e3
mov dword [esp + 0x2c], ebx
push str.Content_Type:_multipart_mixed__boundary_MailScanBoundary0__r_n
lea edx, [esp + 0x1f4]
push edx
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100453f5
mov ecx, dword [ebp + 0x474]
sub eax, edx
push ecx
push eax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x1f8]
push edx
push eax
mov esi, ebp
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
lea ecx, [esp + 0x1f0]
push str.Content_Transfer_Encoding:_7bit_r_n
push ecx
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10045444
mov ecx, dword [esp + 0x10]
sub eax, edx
mov edx, dword [ebp + 0x474]
push edx
push eax
lea eax, [esp + 0x1f8]
push eax
push ecx
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
lea edx, [esp + 0x1f0]
push 0x10155f64
push edx
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10045491
mov ecx, dword [ebp + 0x474]
sub eax, edx
push ecx
push eax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x1f8]
push edx
push eax
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
cmp dword [esp + 0x2c], 1
jne 0x1004566d
lea ecx, [esp + 0x1f0]
push str.This_is_a_multi_part_message_in_MIME_format._r_n
push ecx
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100454f0
mov ecx, dword [esp + 0x10]
sub eax, edx
mov edx, dword [ebp + 0x474]
push edx
push eax
lea eax, [esp + 0x1f8]
push eax
push ecx
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
lea edx, [esp + 0x1f0]
push 0x10155f64
push edx
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10045540
mov ecx, dword [ebp + 0x474]
sub eax, edx
push ecx
push eax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x1f8]
push edx
push eax
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
lea ecx, [esp + 0x1f0]
push str.__MailScanBoundary0_r_n
push ecx
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10045590
mov ecx, dword [esp + 0x10]
sub eax, edx
mov edx, dword [ebp + 0x474]
push edx
push eax
lea eax, [esp + 0x1f8]
push eax
push ecx
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
lea edx, [esp + 0x1f0]
push str.Content_Type:_multipart_alternative__r_n_tboundary_MailScanBoundary1__r_n
push edx
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100455e0
mov ecx, dword [ebp + 0x474]
sub eax, edx
push ecx
push eax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x1f8]
push edx
push eax
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
lea ecx, [esp + 0x1f0]
push 0x10155f64
push ecx
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10045630
mov ecx, dword [esp + 0x10]
sub eax, edx
mov edx, dword [ebp + 0x474]
push edx
push eax
lea eax, [esp + 0x1f8]
push eax
push ecx
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
push str.__MailScanBoundary1_r_n
lea edx, [esp + 0x1f4]
push edx
jmp 0x1004567a
push str.__MailScanBoundary0_r_n
lea eax, [esp + 0x1f4]
push eax
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10045690
mov ecx, dword [ebp + 0x474]
sub eax, edx
push ecx
push eax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x1f8]
push edx
push eax
mov esi, ebp
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
lea ecx, [esp + 0x1f0]
push str.Content_type:_text_plain__r_n
push ecx
call fcn.10127dc0
lea ebx, [ebp + 0x898]
add esp, 8
test ebx, ebx
je 0x1004573a
cmp byte [ebx], 0
je 0x1004573a
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100456f0
sub eax, edx
cmp eax, 4
jbe 0x1004573a
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10045703
sub eax, edx
lea edx, [eax + ebp + 0x894]
push str..HTM
push edx
call fcn.10135887
add esp, 8
test eax, eax
jne 0x1004573a
lea eax, [esp + 0x1f0]
push str.Content_type:_text_HTML__r_n
push eax
call fcn.10127dc0
add esp, 8
lea eax, [esp + 0x1f0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10045744
mov ecx, dword [ebp + 0x474]
sub eax, edx
push ecx
push eax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x1f8]
push edx
push eax
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
lea ecx, [esp + 0x1f0]
push str.Content_Transfer_Encoding:_7bit_r_n
push ecx
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10045791
mov ecx, dword [esp + 0x10]
sub eax, edx
mov edx, dword [ebp + 0x474]
push edx
push eax
lea eax, [esp + 0x1f8]
push eax
push ecx
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
lea edx, [esp + 0x1f0]
push 0x10155f64
push edx
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100457e0
mov ecx, dword [ebp + 0x474]
sub eax, edx
push ecx
push eax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x1f8]
push edx
push eax
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
cmp byte [ebx], 0
mov dword [ebp + 0x99c], 0
je 0x1004595d
push 1
push 0
xor edx, edx
mov ecx, ebx
call fcn.10060eb0
add esp, 8
test eax, eax
je 0x10045856
cmp byte [ebp + 0x899], 0x3a
jne 0x1004595d
mov esi, ebx
push ebp
xor edi, edi
mov ebx, str.Unable_to_open_body_file__s__n
call fcn.10042440
jmp 0x1004595a
mov cx, word [0x10163160]
mov dl, byte [0x10163162]
push 0x20
push 0x10163160
push ebx
mov word [esp + 0x20], cx
mov byte [esp + 0x22], dl
call fcn.10129766
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x10045894
mov esi, ebx
push ebp
mov ebx, str.Unable_to_open_body_file__s__n
call fcn.10042440
jmp 0x1004595a
push 0x3ff
lea eax, [esp + 0xfd5]
push 0
push eax
mov byte [esp + 0xfdc], 0
call fcn.1012e060
add esp, 0xc
push 0x3ff
mov eax, edi
lea ecx, [esp + 0xfd4]
call fcn.10062730
add esp, 4
test eax, eax
je 0x1004594a
lea esi, [esp + 0xfd0]
call fcn.100621d0
mov ecx, esi
push ecx
lea edx, [esp + 0x1f4]
push str._s_r_n
push edx
call fcn.10127dc0
lea eax, [esp + 0x1fc]
add esp, 0xc
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10045900
mov ecx, dword [ebp + 0x474]
sub eax, edx
push ecx
push eax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x1f8]
push edx
push eax
mov esi, ebp
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x10045b39
push 0x3ff
mov eax, edi
lea ecx, [esp + 0xfd4]
call fcn.10062730
add esp, 4
test eax, eax
jne 0x100458d1
push edi
call fcn.10129ad3
mov dword [ebp + 0x99c], 1
add esp, 4
cmp dword [ebp + 0x99c], 0
jne 0x100459b5
lea ecx, [esp + 0x1f0]
push 0x10155f64
push ecx
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10045985
mov ecx, dword [esp + 0x10]
sub eax, edx
mov edx, dword [ebp + 0x474]
push edx
push eax
lea eax, [esp + 0x1f8]
push eax
push ecx
mov esi, ebp
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
mov edx, dword [ebp + 0x2ec8]
test edx, edx
je 0x1004620d
push 1
push 0x2c
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x9c8]
push eax
push ecx
xor cl, cl
mov dword [esp + 0x24], 0
mov byte [esp + 0x9d0], 0
call fcn.10061f00
lea edx, [esp + 0x9d0]
push 0x25
push edx
call fcn.10128490
add esp, 0x18
test eax, eax
je 0x10045a10
push 1
lea eax, [esp + 0x9c4]
push eax
call fcn.100796e0
push 0x3ff
lea ecx, [esp + 0xfd5]
push 0
push ecx
mov byte [esp + 0xfdc], 0
call fcn.1012e060
add esp, 0xc
push 0
push 0
xor edx, edx
lea ecx, [esp + 0x9c8]
call fcn.10060eb0
add esp, 8
test eax, eax
jne 0x100461e1
push 0x207
push eax
lea edx, [esp + 0xbd9]
push edx
mov byte [esp + 0xbdc], al
call fcn.1012e060
add esp, 0xc
push 0
lea ecx, [esp + 0x9c4]
call fcn.100620f0
inc dword [esp + 0x28]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov esi, eax
add esp, 4
mov dword [esp + 0x28], esi
mov dword [esp + 0x18], 0
test esi, esi
je 0x10045b14
push esi
lea eax, [esp + 0xbd4]
push eax
call ebx
push 3
push 0x10163b28
push esi
call fcn.1013661b
add esp, 0xc
test eax, eax
jne 0x10045b14
mov al, 0x2e
mov edx, esi
call fcn.100770c0
cmp eax, 1
jle 0x10045b14
push 0x2e
push esi
call fcn.10128490
add esp, 8
test eax, eax
je 0x10045b14
lea edi, [eax + 1]
push 0x2e
push edi
mov dword [esp + 0x30], edi
call fcn.10129030
mov esi, eax
add esp, 8
test esi, esi
je 0x10045b14
push str..att
push esi
call fcn.10135887
add esp, 8
test eax, eax
jne 0x10045b14
push edi
lea ecx, [esp + 0xbd4]
push ecx
mov byte [esi], al
call ebx
mov byte [esi], 0x2e
mov edi, dword [0x101a68cc]
cmp edi, 0x4e4
jne 0x10045b47
lea edx, [esp + 0xbd0]
push edx
lea eax, [esp + 0xfd4]
push eax
call ebx
jmp 0x10045c9e
push edi
call fcn.10129ad3
add esp, 4
jmp 0x100462ac
push 0x3ff
xor esi, esi
lea ecx, [esp + 0x27f5]
push esi
push ecx
mov byte [esp + 0x27fc], 0
call fcn.1012e060
add esp, 0xc
push 0x3ff
lea edx, [esp + 0x17d5]
push esi
push edx
mov byte [esp + 0x17dc], 0
call fcn.1012e060
add esp, 0xc
push edi
lea edi, [esp + 0x20]
lea ebx, [esp + 0xbd4]
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], esi
call fcn.1011fda0
mov ebx, dword [esp + 0x20]
add esp, 4
test eax, eax
je 0x10045c14
mov ecx, ebx
call fcn.10074680
push esi
push esi
push esi
push esi
inc eax
push eax
push ebx
push esi
push 0xfde9
mov dword [esp + 0x3c], eax
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jle 0x10045c14
lea edi, [eax + 1]
push 1
push edi
call fcn.1012a205
add esp, 8
push 0
push 0
push edi
mov esi, eax
mov eax, dword [esp + 0x28]
push esi
push eax
push ebx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp eax, 1
jle 0x10045c14
push esi
lea ecx, [esp + 0x27f4]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esp + 0x20], 1
test ebx, ebx
je 0x10045c21
push ebx
call fcn.10128243
add esp, 4
test esi, esi
je 0x10045c2e
push esi
call fcn.10128243
add esp, 4
cmp dword [esp + 0x20], 0
je 0x10045c88
lea eax, [esp + 0x27f0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10045c43
sub eax, edx
push eax
lea edx, [esp + 0x27f4]
push edx
lea ecx, [esp + 0x17d8]
call fcn.10041e90
mov byte [esp + eax + 0x17d8], 0
lea eax, [esp + 0x17d8]
push eax
lea ecx, [esp + 0xfdc]
push str._utf_8_B__s_
push ecx
call fcn.10127dc0
add esp, 0x14
jmp 0x10045c9e
lea edx, [esp + 0xbd0]
push edx
lea eax, [esp + 0xfd4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push ebp
lea edi, [esp + 0xbd4]
lea esi, [esp + 0x9c4]
mov ebx, str.Sending_Attachment:__s___s__n
call fcn.10042440
mov ebx, dword [esp + 0x30]
add esp, 4
cmp dword [esp + 0x24], 1
jne 0x10045cd9
cmp ebx, 1
jne 0x10045cd9
push str.__MailScanBoundary1_r_n
lea ecx, [esp + 0x1f4]
push ecx
jmp 0x10045ce6
push str.__MailScanBoundary0_r_n
lea edx, [esp + 0x1f4]
push edx
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10045cf8
mov ecx, dword [ebp + 0x474]
mov edi, dword [esp + 0x10]
push ecx
sub eax, edx
push eax
lea edx, [esp + 0x1f8]
push edx
push edi
mov esi, ebp
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
lea esi, [esp + 0x9c0]
call fcn.100736c0
mov esi, eax
test esi, esi
je 0x10045e9c
push str..html
push esi
call fcn.10135887
add esp, 8
test eax, eax
je 0x10045d62
push str..htm
push esi
call fcn.10135887
add esp, 8
test eax, eax
jne 0x10045da4
test ebx, ebx
jne 0x10045d85
lea eax, [esp + 0x1f0]
push str.Content_type:_text_HTML__r_n
push eax
call fcn.10127dc0
mov dword [esp + 0x20], 1
jmp 0x10045eae
lea ecx, [esp + 0x1f0]
push str.Content_type:_text_HTML__r_n_tcharset_UTF_8__r_n
push ecx
call fcn.10127dc0
mov dword [esp + 0x20], 1
jmp 0x10045eae
push str..jpeg
push esi
call fcn.10135887
add esp, 8
test eax, eax
je 0x10045dc8
push str..jpg
push esi
call fcn.10135887
add esp, 8
test eax, eax
jne 0x10045dda
push str.Content_Type:_image_jpeg__r_n
lea edx, [esp + 0x1f4]
push edx
jmp 0x10045ea9
push str..gif
push esi
call fcn.10135887
add esp, 8
test eax, eax
jne 0x10045df6
push str.Content_Type:_image_gif__r_n
jmp 0x10045ea1
push str..bmp
push esi
call fcn.10135887
add esp, 8
test eax, eax
jne 0x10045e1a
push str.Content_Type:_image_bmp__r_n
lea ecx, [esp + 0x1f4]
push ecx
jmp 0x10045ea9
push str..ief
push esi
call fcn.10135887
add esp, 8
test eax, eax
jne 0x10045e3e
push str.Content_Type:_image_ief__r_n
lea edx, [esp + 0x1f4]
push edx
jmp 0x10045ea9
push str..png
push esi
call fcn.10135887
add esp, 8
test eax, eax
jne 0x10045e5a
push str.Content_Type:_image_png__r_n
jmp 0x10045ea1
push str..pcx
push esi
call fcn.10135887
add esp, 8
test eax, eax
jne 0x10045e7b
push str.Content_Type:_image_pcx__r_n
lea ecx, [esp + 0x1f4]
push ecx
jmp 0x10045ea9
push str..txt
push esi
call fcn.10135887
add esp, 8
test eax, eax
jne 0x10045e9c
push str.Content_Type:_text_plain__r_n
lea edx, [esp + 0x1f4]
push edx
jmp 0x10045ea9
push str.Content_Type:_application_octet_stream__r_n
lea eax, [esp + 0x1f4]
push eax
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
jmp 0x10045ec0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10045ec0
mov ecx, dword [ebp + 0x474]
push ecx
sub eax, edx
push eax
lea edx, [esp + 0x1f8]
push edx
push edi
mov esi, ebp
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
cmp dword [esp + 0x18], 0
jne 0x10045f59
lea eax, [esp + 0xfd0]
push eax
lea ecx, [esp + 0x1f4]
push str._tname__s__r_n
push ecx
call fcn.10127dc0
lea eax, [esp + 0x1fc]
add esp, 0xc
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10045f20
sub eax, edx
mov edx, dword [ebp + 0x474]
push edx
push eax
lea eax, [esp + 0x1f8]
push eax
push edi
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
push str.Content_Transfer_Encoding:_base64_r_n
lea ecx, [esp + 0x1f4]
push ecx
jmp 0x10045f66
push str.Content_Transfer_Encoding:_quoted_printable_r_n
lea edx, [esp + 0x1f4]
push edx
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10045f78
mov ecx, dword [ebp + 0x474]
push ecx
sub eax, edx
push eax
lea edx, [esp + 0x1f8]
push edx
push edi
mov esi, ebp
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
test ebx, ebx
jne 0x1004607f
mov eax, 1
cmp dword [esp + 0x18], eax
jne 0x10045fec
cmp dword [0x101b5314], eax
jne 0x10045fec
lea eax, [esp + 0x1f0]
push str.Content_Disposition:_inline__r_n
push eax
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10045fe0
jmp 0x100460ec
lea eax, [esp + 0x1f0]
push str.Content_Disposition:_attachment__r_n
push eax
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
jmp 0x10046010
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10046010
mov ecx, dword [ebp + 0x474]
push ecx
sub eax, edx
push eax
lea edx, [esp + 0x1f8]
push edx
push edi
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
lea eax, [esp + 0xfd0]
push eax
lea ecx, [esp + 0x1f4]
push str._tfilename__s__r_n
push ecx
call fcn.10127dc0
lea eax, [esp + 0x1fc]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10046061
sub eax, edx
mov edx, dword [ebp + 0x474]
push edx
push eax
lea eax, [esp + 0x1f8]
push eax
jmp 0x100460fe
cmp ebx, 1
jne 0x1004610f
cmp dword [esp + 0x24], ebx
jbe 0x1004610f
mov ecx, dword [esp + 0x28]
push ecx
lea edx, [esp + 0x17d4]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [esp + 0x17d0]
push 0x2e
push eax
call fcn.10128490
add esp, 8
test eax, eax
je 0x100460be
mov byte [eax], 0
lea ecx, [esp + 0x17d0]
push ecx
lea edx, [esp + 0x1f4]
push str.Content_ID:___s__r_n
push edx
call fcn.10127dc0
lea eax, [esp + 0x1fc]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100460e5
mov ecx, dword [ebp + 0x474]
push ecx
sub eax, edx
push eax
lea edx, [esp + 0x1f8]
push edx
push edi
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
lea eax, [esp + 0x1f0]
push 0x10155f64
push eax
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10046130
mov ecx, dword [ebp + 0x474]
push ecx
sub eax, edx
push eax
lea edx, [esp + 0x1f8]
push edx
push edi
mov esi, ebp
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
cmp dword [esp + 0x18], 0
push edi
mov edx, ebp
lea ecx, [esp + 0x9c4]
jne 0x10046174
call fcn.10041f70
jmp 0x10046179
call fcn.100420f0
add esp, 4
test eax, eax
je 0x100462ac
cmp dword [esp + 0x24], 1
jne 0x100461e1
cmp ebx, 1
jne 0x100461e1
lea eax, [esp + 0x1f0]
push str.__MailScanBoundary1___r_n_r_n
push eax
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100461b7
mov ecx, dword [ebp + 0x474]
push ecx
sub eax, edx
push eax
lea edx, [esp + 0x1f8]
push edx
push edi
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
mov edx, dword [ebp + 0x2ec8]
push 1
push 0x2c
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x9c8]
push eax
push ecx
xor cl, cl
call fcn.10061f00
add esp, 0x10
cmp dword [esp + 0x14], 0xffffffff
jne 0x10045a10
lea edx, [esp + 0x1f0]
push str.__MailScanBoundary0___r_n
push edx
call fcn.10127dc0
lea eax, [esp + 0x1f8]
add esp, 8
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10046230
mov ecx, dword [ebp + 0x474]
mov edi, dword [esp + 0x10]
push ecx
sub eax, edx
push eax
lea edx, [esp + 0x1f8]
push edx
push edi
mov esi, ebp
call fcn.10042b00
add esp, 0x10
test eax, eax
je 0x100462ac
cmp dword [ebp + 0x470], 0
jne 0x100462a4
mov eax, dword [ebp + 0x474]
push eax
push ebp
push edi
call fcn.100428f0
add esp, 0xc
test eax, eax
je 0x100462ac
mov ecx, dword [ebp + 0x474]
push ecx
push ebp
mov edx, 0x101630a0
mov ecx, edi
call fcn.10042c50
add esp, 8
test eax, eax
je 0x100462ac
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [esp + 0x30], 1
cmp dword [ebp + 0x470], 0
jne 0x100462d9
mov edx, dword [ebp + 0x474]
mov ecx, dword [esp + 0x10]
push edx
push ebp
mov edx, str.QUIT
call fcn.10042c50
add esp, 8
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp + 0x474], 0
je 0x100462fd
lea eax, [esp + 0x5f0]
push eax
lea ecx, [ebp + 0x484]
call fcn.1011d7a0
add esp, 4
call fcn.1011d710
cmp dword [ebp + 0x470], 0
jne 0x10043203
mov esi, dword [esp + 0x10]
test esi, esi
je 0x10043207
mov ecx, dword [esi + 0x58]
push esi
call ecx
add esp, 4
jmp 0x10043207