Function at 0x9a7c1
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.0x9a7df.8
jmp dword [eax*4 + 0x9ab51]
cmp byte [0xa3668], 0
push dword [ebp + 0x10]
lea eax, [ebp - 0x80]
je 0x9a803
push str.ehlo__s_r_n
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
jmp 0x9a87a
push str.helo__s_r_n
jmp 0x9a7fa
push 0xd
push str.AUTH_LOGIN_r_n
jmp 0x9a871
mov eax, dword [ebp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x9a819
lea ecx, [ebp - 0x80]
push ecx
sub eax, edx
push eax
push dword [ebp + 0x10]
call fcn.0009a6ca
mov byte [ebp + eax - 0x80], 0
jmp 0x9a87a
mov eax, dword [ebp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x9a83c
jmp 0x9a820
push dword [ebp + 0x10]
push str.mail_from:__s__r_n
lea eax, [ebp - 0x80]
jmp 0x9a7fa
push dword [ebp + 0x10]
push str.rcpt_to:__s__r_n
jmp 0x9a84d
push 7
push str.data_r_n
jmp 0x9a871
mov esi, dword [ebp + 0x10]
jmp case.0x9a7df.8
push 7
push str.quit_r_n
lea eax, [ebp - 0x80]
push eax
call fcn.0009ee08
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 0x9a8bf
cmp ebx, 7
jne 0x9a8a5
push 2
jmp 0x9ab4a
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 0x9ab4a
cmp ebx, 6
jne case.0x9a7df.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.0x9a7df.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 0x9ab4b
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 0x9a978
add ebx, eax
cmp ebx, 0x1f4
jg 0x9a9b0
cmp byte [ebp - 0x80], 0
mov byte [ebp + ebx - 0x480], 0
jne 0x9a954
cmp ebx, 3
jle 0x9a96a
push 4
lea eax, [ebp - 0x480]
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.0009ee08
add esp, 0xc
cmp byte [ebp - 0x80], 0
mov word [ebp - 0x7d], 0x20
je 0x9a96a
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x480]
push eax
call fcn.0009ee95
pop ecx
pop ecx
test eax, eax
jne 0x9a982
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 0x9a912
mov edi, dword [ebp + 0xc]
cmp edi, 7
je 0x9a89e
cmp ebx, 5
jle 0x9a9c9
push 0x76
lea eax, [ebp - 0x480]
push eax
push dword [ebp + 0x14]
call fcn.0009ee08
mov eax, dword [ebp + 0x14]
add esp, 0xc
mov byte [eax + 0x76], 0
jmp 0x9a9d8
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 0x9ab4a
push str.Too_small_respons_n
push dword [ebp + 0x14]
call fcn.0009ef00
pop ecx
pop ecx
cmp ebx, 5
jl 0x9ab39
cmp byte [ebp + ebx - 0x481], 0xa
jne 0x9ab39
lea eax, [ebp - 0x480]
push eax
call fcn.0009edac
mov ebx, eax
pop ecx
cmp ebx, 0xdc
je 0x9aa32
cmp ebx, 0xfa
je 0x9aa32
cmp ebx, 0x162
je 0x9aa32
cmp ebx, 0xdd
je 0x9aa32
cmp ebx, 0x14e
je 0x9aa32
cmp ebx, 0xeb
je 0x9aa32
xor esi, esi
jmp 0x9aa54
lea eax, [ebp - 0x480]
push str.ESMTP
xor esi, esi
push eax
inc esi
call fcn.0009ee95
test eax, eax
pop ecx
setne al
pop ecx
mov byte [0xa3668], al
mov edi, esi
cmp edi, 0xc
jne 0x9aa68
cmp ebx, 0x217
jne 0x9aa68
push 0xf
jmp 0x9ab4a
test esi, esi
jne 0x9a89e
mov eax, dword [0xa3630]
test eax, eax
je 0x9ab35
cmp dword [0xa3634], esi
je 0x9ab35
cmp dword [0xa3638], esi
je 0x9ab35
cmp edi, 4
jne 0x9aab4
push eax
lea eax, [ebp - 0x480]
push eax
call fcn.0009a699
pop ecx
pop ecx
test al, al
je 0x9aab4
push 8
jmp 0x9ab4a
push dword [0xa3634]
lea eax, [ebp - 0x480]
push eax
call fcn.0009a699
pop ecx
pop ecx
test al, al
je 0x9aad0
push 9
jmp 0x9ab4a
push dword [0xa3638]
lea eax, [ebp - 0x480]
push eax
call fcn.0009a699
pop ecx
pop ecx
test al, al
je 0x9aaec
push 0xa
jmp 0x9ab4a
cmp edi, 3
je 0x9ab00
cmp edi, 4
je 0x9ab00
cmp edi, 5
je 0x9ab00
cmp edi, 6
jne 0x9ab35
call fcn.000930b5
push eax
push 0xa0750
push str.localcfg
push 1
call fcn.0009e819
lea ecx, [ebp - 0x80]
push ecx
push eax
call fcn.0009a7a3
push eax
lea eax, [ebp - 0x480]
push eax
call fcn.0009ee95
add esp, 0x20
test eax, eax
jne 0x9aacc
push 0xb
jmp 0x9ab4a
push str.Incorrect_respons
push dword [ebp + 0x14]
call fcn.0009ef00
pop ecx
pop ecx
push 7
pop eax
pop edi
pop esi
pop ebx
leave
ret