Function at 0x8a7c1
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x480
push ebx
mov ebx, dword [ebp + 0xc]
push esi
lea eax, [ebx - 1]
push edi
lea esi, [ebp - 0x80]
cmp eax, 0xb
ja case.0x8a7df.8
jmp dword [eax*4 + 0x8ab51]
cmp byte [0x93668], 0
push dword [ebp + 0x10]
lea eax, [ebp - 0x80]
je 0x8a803
push str.ehlo__s_r_n
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
jmp 0x8a87a
push str.helo__s_r_n
jmp 0x8a7fa
push 0xd
push str.AUTH_LOGIN_r_n
jmp 0x8a871
mov eax, dword [ebp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x8a819
lea ecx, [ebp - 0x80]
push ecx
sub eax, edx
push eax
push dword [ebp + 0x10]
call fcn.0008a6ca
mov byte [ebp + eax - 0x80], 0
jmp 0x8a87a
mov eax, dword [ebp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x8a83c
jmp 0x8a820
push dword [ebp + 0x10]
push str.mail_from:__s__r_n
lea eax, [ebp - 0x80]
jmp 0x8a7fa
push dword [ebp + 0x10]
push str.rcpt_to:__s__r_n
jmp 0x8a84d
push 7
push str.data_r_n
jmp 0x8a871
mov esi, dword [ebp + 0x10]
jmp case.0x8a7df.8
push 7
push str.quit_r_n
lea eax, [ebp - 0x80]
push eax
call fcn.0008ee08
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0
mov edi, eax
push edi
push esi
push dword [ebp + 8]
mov esi, dword [sym.imp.WS2_32.dll_send]
call esi
cmp eax, edi
je 0x8a8bf
cmp ebx, 7
jne 0x8a8a5
push 2
jmp 0x8ab4a
push edi
push eax
push str.Error_sending_command__sent___d__d__n
push dword [ebp + 0x14]
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push 5
jmp 0x8ab4a
cmp ebx, 6
jne case.0x8a7df.1
push 0
push 5
pop edi
push edi
push str._r_n._r_n
push dword [ebp + 8]
call esi
cmp eax, edi
je case.0x8a7df.1
push edi
push eax
push str.Error_sending_command__sent___d__d__n
push dword [ebp + 0x14]
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov eax, edi
jmp 0x8ab4b
mov esi, dword [sym.imp.WS2_32.dll_recv]
xor ebx, ebx
push ebx
mov edi, 0x3f6
mov byte [ebp - 0x480], bl
mov byte [ebp - 0x80], bl
push edi
lea eax, [ebp - 0x480]
jmp 0x8a978
add ebx, eax
cmp ebx, 0x1f4
jg 0x8a9b0
cmp byte [ebp - 0x80], 0
mov byte [ebp + ebx - 0x480], 0
jne 0x8a954
cmp ebx, 3
jle 0x8a96a
push 4
lea eax, [ebp - 0x480]
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.0008ee08
add esp, 0xc
cmp byte [ebp - 0x80], 0
mov word [ebp - 0x7d], 0x20
je 0x8a96a
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x480]
push eax
call fcn.0008ee95
pop ecx
pop ecx
test eax, eax
jne 0x8a982
mov eax, edi
sub eax, ebx
push 0
push eax
lea eax, [ebp + ebx - 0x480]
push eax
push dword [ebp + 8]
call esi
test eax, eax
jg 0x8a912
mov edi, dword [ebp + 0xc]
cmp edi, 7
je 0x8a89e
cmp ebx, 5
jle 0x8a9c9
push 0x76
lea eax, [ebp - 0x480]
push eax
push dword [ebp + 0x14]
call fcn.0008ee08
mov eax, dword [ebp + 0x14]
add esp, 0xc
mov byte [eax + 0x76], 0
jmp 0x8a9d8
push ebx
push str.Too_big_smtp_respons___d_bytes__n
push dword [ebp + 0x14]
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 6
jmp 0x8ab4a
push str.Too_small_respons_n
push dword [ebp + 0x14]
call fcn.0008ef00
pop ecx
pop ecx
cmp ebx, 5
jl 0x8ab39
cmp byte [ebp + ebx - 0x481], 0xa
jne 0x8ab39
lea eax, [ebp - 0x480]
push eax
call fcn.0008edac
mov ebx, eax
pop ecx
cmp ebx, 0xdc
je 0x8aa32
cmp ebx, 0xfa
je 0x8aa32
cmp ebx, 0x162
je 0x8aa32
cmp ebx, 0xdd
je 0x8aa32
cmp ebx, 0x14e
je 0x8aa32
cmp ebx, 0xeb
je 0x8aa32
xor esi, esi
jmp 0x8aa54
lea eax, [ebp - 0x480]
push str.ESMTP
xor esi, esi
push eax
inc esi
call fcn.0008ee95
test eax, eax
pop ecx
setne al
pop ecx
mov byte [0x93668], al
mov edi, esi
cmp edi, 0xc
jne 0x8aa68
cmp ebx, 0x217
jne 0x8aa68
push 0xf
jmp 0x8ab4a
test esi, esi
jne 0x8a89e
mov eax, dword [0x93630]
test eax, eax
je 0x8ab35
cmp dword [0x93634], esi
je 0x8ab35
cmp dword [0x93638], esi
je 0x8ab35
cmp edi, 4
jne 0x8aab4
push eax
lea eax, [ebp - 0x480]
push eax
call fcn.0008a699
pop ecx
pop ecx
test al, al
je 0x8aab4
push 8
jmp 0x8ab4a
push dword [0x93634]
lea eax, [ebp - 0x480]
push eax
call fcn.0008a699
pop ecx
pop ecx
test al, al
je 0x8aad0
push 9
jmp 0x8ab4a
push dword [0x93638]
lea eax, [ebp - 0x480]
push eax
call fcn.0008a699
pop ecx
pop ecx
test al, al
je 0x8aaec
push 0xa
jmp 0x8ab4a
cmp edi, 3
je 0x8ab00
cmp edi, 4
je 0x8ab00
cmp edi, 5
je 0x8ab00
cmp edi, 6
jne 0x8ab35
call fcn.000830b5
push eax
push 0x90750
push str.localcfg
push 1
call fcn.0008e819
lea ecx, [ebp - 0x80]
push ecx
push eax
call fcn.0008a7a3
push eax
lea eax, [ebp - 0x480]
push eax
call fcn.0008ee95
add esp, 0x20
test eax, eax
jne 0x8aacc
push 0xb
jmp 0x8ab4a
push str.Incorrect_respons
push dword [ebp + 0x14]
call fcn.0008ef00
pop ecx
pop ecx
push 7
pop eax
pop edi
pop esi
pop ebx
leave
ret