Function at 0x4b1148
Capabilities:
Connect socket
Get hostname
Resolve dns
Set socket configuration

Disassembly:
sub esp, 0xb34
mov eax, dword [0x514d34]
xor eax, esp
mov dword [esp + 0xb30], eax
push ebx
mov ebx, dword [esp + 0xb40]
push ebp
mov ebp, dword [esp + 0xb40]
push esi
push edi
push 0x625
xor edi, edi
mov dword [esp + 0x18], ebx
push edi
push ebx
call fcn.00443240
add esp, 0xc
call fcn.00465e13
test ax, ax
je 0x4b13aa
push 0x6e
push 0x4d2934
push str.smtp
call fcn.00463cce
add esp, 0xc
cmp al, 0x79
jne 0x4b13aa
lea eax, [esp + 0x624]
push edi
push eax
call fcn.0046b01e
lea eax, [esp + 0x62c]
push eax
call fcn.0040c454
add esp, 0xc
test ax, ax
jne 0x4b11de
lea eax, [esp + 0x624]
push eax
call fcn.0045cbdc
pop ecx
lea eax, [esp + 0x624]
push str.SMTP_
push eax
call fcn.00446fa0
lea eax, [esp + 0x62c]
push eax
call fcn.0040c454
add esp, 0xc
test ax, ax
jne 0x4b1213
lea eax, [esp + 0x624]
push eax
call fcn.0045cbdc
pop ecx
lea eax, [esp + 0x1c]
push eax
call fcn.0045c51b
mov esi, eax
lea edi, [esp + 0x9c]
pop ecx
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x62c]
push eax
push str._str__clock__3_dword__4.LOG
lea ecx, [esp + 0xc8]
call fcn.00408368
push eax
call fcn.00408abf
add esp, 0x14
lea ecx, [esp + 0xa0]
push eax
call fcn.00408271
xor edi, edi
lea ecx, [esp + 0xb8]
push edi
push 1
call fcn.0040758b
cmp dword [esp + 0xb0], 0x518
jae 0x4b12df
cmp dword [esp + 0xb4], 0x10
lea eax, [esp + 0xa0]
lea esi, [ebx + 0x10c]
cmovae eax, dword [esp + 0xa0]
push eax
push esi
call fcn.00446f90
pop ecx
pop ecx
push esi
lea ecx, [esp + 0xec]
call fcn.0040c5ac
push edi
lea ecx, [esp + 0xec]
call fcn.0040c808
lea ecx, [esp + 0xe8]
call fcn.0040c61c
lea ecx, [esp + 0xe8]
call fcn.0040c5fb
push 0x4b
lea eax, [esp + 0x28]
push edi
push eax
call fcn.00443240
lea eax, [esp + 0x30]
push eax
call fcn.004237ac
movzx eax, byte [esp + 0x67]
lea ecx, [esp + 0xe0]
add esp, 0x10
push eax
push 0xb
lea eax, [esp + 0x60]
push eax
push 0x23
lea eax, [esp + 0x34]
push eax
push str.Log_created_by__utxt____utxt__ep__byte__5_
call fcn.00408368
push eax
call fcn.00408abf
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x4b132f
mov eax, dword [eax]
push eax
lea ecx, [esp + 0xbc]
call fcn.004082c1
lea eax, [esp + 0xb8]
push eax
push ebx
call fcn.004b1d2a
pop ecx
pop ecx
push edi
push 1
lea ecx, [esp + 0xc0]
call fcn.0040758b
push edi
push 1
lea ecx, [esp + 0xd8]
call fcn.0040758b
push ebp
push str.Open_connection_to__str_
lea ecx, [esp + 0xd8]
call fcn.00408368
push eax
call fcn.00408abf
push eax
push ebx
call fcn.004b1d2a
add esp, 0x14
lea ecx, [esp + 0xd0]
push edi
push 1
call fcn.0040758b
push edi
push 1
lea ecx, [esp + 0xa8]
call fcn.0040758b
lea ecx, [esp + 0x70]
call fcn.00408368
mov al, byte [ebp]
test al, al
je 0x4b13d9
mov bl, al
cmp bl, 0x3a
je 0x4b13d5
push ebx
push 1
lea ecx, [esp + 0x78]
call fcn.004088be
inc ebp
mov bl, byte [ebp]
test bl, bl
jne 0x4b13bc
mov ebx, dword [esp + 0x14]
mov al, byte [ebp]
inc ebp
test al, al
je 0x4b141c
mov al, byte [ebp]
test al, al
je 0x4b141c
movsx eax, al
push eax
call fcn.004477be
pop ecx
test ax, ax
je 0x4b140a
push ebp
call fcn.0044d74b
pop ecx
push eax
call dword [sym.imp.WS2_32.dll_htons]
movzx eax, ax
jmp 0x4b143b
push 0x4f9950
push ebp
call dword [sym.imp.WS2_32.dll_getservbyname]
movsx eax, word [eax + 8]
jmp 0x4b143b
push 0x4f9950
push str.smtp
call dword [sym.imp.WS2_32.dll_getservbyname]
test eax, eax
jne 0x4b1437
mov eax, 0x5a0
jmp 0x4b147c
mov ax, word [eax + 8]
cmp dword [esp + 0x84], 0x10
mov word [ebx], ax
lea eax, [esp + 0x70]
cmovae eax, dword [esp + 0x70]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
cmp eax, 0xffffffff
jne 0x4b1488
cmp dword [esp + 0x84], 0x10
lea eax, [esp + 0x70]
cmovae eax, dword [esp + 0x70]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
jne 0x4b1481
mov eax, 0x5a1
movzx eax, ax
jmp 0x4b14ab
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
push edi
push 1
push 2
pop esi
push esi
mov dword [esp + 0x98], eax
call dword [sym.imp.WS2_32.dll_socket]
mov ecx, eax
mov dword [ebx + 2], ecx
cmp ecx, 0xffffffff
jne 0x4b14b0
mov eax, 0x5a2
movzx eax, ax
jmp 0x4b1502
mov ax, word [ebx]
push 4
mov word [esp + 0x8e], ax
lea eax, [esp + 0x1c]
push eax
push 0xffffff7f
push 0xffff
push ecx
mov word [esp + 0x9c], si
mov dword [esp + 0x2c], edi
call dword [sym.imp.WS2_32.dll_setsockopt]
push 0x10
lea eax, [esp + 0x8c]
push eax
push dword [ebx + 2]
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
je 0x4b1507
push ebx
call fcn.004b1584
pop ecx
mov eax, 0x5a3
movzx eax, ax
jmp 0x4b1526
push 0x100
lea eax, [ebx + 6]
push eax
call dword [sym.imp.WS2_32.dll_gethostname]
test eax, eax
je 0x4b152b
push ebx
call fcn.004b1584
pop ecx
mov eax, 0x5a4
movzx eax, ax
jmp 0x4b1559
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.004b15bc
movzx esi, ax
pop ecx
pop ecx
test si, si
jne 0x4b1550
mov eax, 0xdc
cmp word [esp + 0x10], ax
jne 0x4b1550
mov esi, edi
jmp 0x4b155c
push ebx
call fcn.004b1584
pop ecx
mov eax, esi
movzx esi, ax
push edi
push 1
lea ecx, [esp + 0x78]
call fcn.0040758b
mov ecx, dword [esp + 0xb40]
mov ax, si
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00441a5e
add esp, 0xb34
ret