Function at 0x46b905
Capabilities:
Get hostname
Initialize winsock library

Disassembly:
push 0x29c
mov eax, 0x4713a7
call fcn.0046fc0c
lea edi, [esi + 4]
mov ecx, edi
mov dword [ebp - 0x2a8], esi
mov dword [esi], vtable.CSmtp.0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
xor ebx, ebx
lea ecx, [esi + 0x20]
mov dword [ebp - 4], ebx
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea ecx, [esi + 0x3c]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea ecx, [esi + 0x58]
mov byte [ebp - 4], 2
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea ecx, [esi + 0x74]
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea ecx, [esi + 0x90]
mov byte [ebp - 4], 4
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea ecx, [esi + 0xac]
mov byte [ebp - 4], 5
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea ecx, [esi + 0xcc]
mov byte [ebp - 4], 6
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea ecx, [esi + 0xe8]
mov byte [ebp - 4], 7
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea ecx, [esi + 0x104]
mov byte [ebp - 4], 8
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea ecx, [esi + 0x120]
mov byte [ebp - 4], 9
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea eax, [esi + 0x154]
push eax
mov byte [ebp - 4], 0xa
call fcn.00401829
lea eax, [esi + 0x16c]
push eax
mov byte [ebp - 4], 0xb
call fcn.00401829
lea eax, [esi + 0x184]
push eax
mov byte [ebp - 4], 0xc
call fcn.00401829
lea eax, [esi + 0x19c]
push eax
mov byte [ebp - 4], 0xd
call fcn.00401829
lea eax, [esi + 0x1b4]
push eax
mov byte [ebp - 4], 0xe
call fcn.00401829
mov byte [ebp - 4], 0xf
or dword [esi + 0x14c], 0xffffffff
xor eax, eax
mov word [esi + 0x13c], ax
lea eax, [ebp - 0x2a0]
mov byte [esi + 0x150], bl
mov dword [esi + 0x140], 3
mov byte [esi + 0x13e], 1
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x46ba6c
mov dword [ebp - 0x2a4], 0x64
push 0x49ab24
lea eax, [ebp - 0x2a4]
push eax
call sub.MSVCR90.dll__CxxThrowException
mov eax, dword [ebp - 0x2a0]
cmp al, 2
jne 0x46bb1e
shr eax, 8
cmp al, 2
jne 0x46bb1e
push 0xff
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.WS2_32.dll_gethostname]
cmp eax, 0xffffffff
jne 0x46baa8
mov dword [ebp - 0x2a4], 0x6b
jmp 0x46ba5b
lea eax, [ebp - 0x110]
push eax
mov ecx, edi
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
mov edi, 0x2800
push edi
call sub.mfc90.dll_Ordinal_265
pop ecx
mov dword [esi + 0x148], eax
cmp eax, ebx
jne 0x46bad9
mov dword [ebp - 0x2a4], 0x198
jmp 0x46ba5b
push edi
call sub.mfc90.dll_Ordinal_265
pop ecx
mov dword [esi + 0x144], eax
cmp eax, ebx
je 0x46bacd
push str.US_ASCII
lea ecx, [esi + 0x74]
mov dword [esi + 0x1d0], ebx
mov dword [esi + 0x1d4], ebx
mov dword [esi + 0x1d8], ebx
mov byte [esi + 0x1cc], bl
mov byte [esi + 0xc8], bl
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
mov eax, esi
call fcn.0046fc8f
ret
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov dword [ebp - 0x2a4], 0x65
jmp 0x46ba5b